aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-07-21 10:10:31 +0000
committerRichard Purdie <richard@openedhand.com>2006-07-21 10:10:31 +0000
commitb2f192faabe412adce79534e22efe9fb69ee40e2 (patch)
tree7076c49d4286f8a1733650bd8fbc7161af200d57 /meta
parent2cf0eadf9f730027833af802d7e6c90b44248f80 (diff)
downloadopenembedded-core-contrib-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.gz
Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/autotools.bbclass182
-rw-r--r--meta/classes/base.bbclass793
-rw-r--r--meta/classes/base_srpm.bbclass20
-rw-r--r--meta/classes/binconfig.bbclass36
-rw-r--r--meta/classes/ccache.inc11
-rw-r--r--meta/classes/ccdv.bbclass21
-rw-r--r--meta/classes/cml1.bbclass8
-rw-r--r--meta/classes/cpan.bbclass20
-rw-r--r--meta/classes/cross.bbclass55
-rw-r--r--meta/classes/debian.bbclass101
-rw-r--r--meta/classes/distutils-base.bbclass14
-rw-r--r--meta/classes/distutils.bbclass15
-rw-r--r--meta/classes/e.bbclass37
-rw-r--r--meta/classes/efl.bbclass49
-rw-r--r--meta/classes/flow-lossage.bbclass5
-rw-r--r--meta/classes/gconf.bbclass59
-rw-r--r--meta/classes/gettext.bbclass12
-rw-r--r--meta/classes/gnome.bbclass20
-rw-r--r--meta/classes/gpe.bbclass17
-rw-r--r--meta/classes/gtk-icon-cache.bbclass38
-rw-r--r--meta/classes/icecc.bbclass156
-rw-r--r--meta/classes/image_ipk.bbclass76
-rw-r--r--meta/classes/kernel-arch.bbclass26
-rw-r--r--meta/classes/kernel.bbclass435
-rw-r--r--meta/classes/lib_package.bbclass9
-rw-r--r--meta/classes/linux_modules.bbclass19
-rw-r--r--meta/classes/manifest.bbclass80
-rw-r--r--meta/classes/module-base.bbclass25
-rw-r--r--meta/classes/module.bbclass51
-rw-r--r--meta/classes/module_strip.bbclass18
-rw-r--r--meta/classes/mozilla.bbclass53
-rw-r--r--meta/classes/multimachine.bbclass22
-rw-r--r--meta/classes/native.bbclass95
-rw-r--r--meta/classes/nslu2-jffs2-image.bbclass18
-rw-r--r--meta/classes/nslu2-mirrors.bbclass4
-rw-r--r--meta/classes/nslu2-ramdisk-image.bbclass18
-rw-r--r--meta/classes/nylon-mirrors.bbclass6
-rw-r--r--meta/classes/oebuildstamp.bbclass16
-rw-r--r--meta/classes/oelint.bbclass174
-rw-r--r--meta/classes/opie.bbclass105
-rw-r--r--meta/classes/opie_i18n.bbclass163
-rw-r--r--meta/classes/package.bbclass729
-rw-r--r--meta/classes/package_ipk.bbclass234
-rw-r--r--meta/classes/package_rpm.bbclass133
-rw-r--r--meta/classes/package_tar.bbclass99
-rw-r--r--meta/classes/palmtop.bbclass20
-rw-r--r--meta/classes/patcher.bbclass7
-rw-r--r--meta/classes/pkg_distribute.bbclass29
-rw-r--r--meta/classes/pkg_metainfo.bbclass22
-rw-r--r--meta/classes/pkgconfig.bbclass28
-rw-r--r--meta/classes/poky.bbclass4
-rw-r--r--meta/classes/qmake-base.bbclass44
-rw-r--r--meta/classes/qmake.bbclass57
-rw-r--r--meta/classes/qpf.bbclass36
-rw-r--r--meta/classes/qt3e.bbclass11
-rw-r--r--meta/classes/qt3x11.bbclass15
-rw-r--r--meta/classes/qt4x11.bbclass17
-rw-r--r--meta/classes/rm_work.bbclass22
-rw-r--r--meta/classes/rootfs_ipk.bbclass145
-rw-r--r--meta/classes/rpm_core.bbclass16
-rw-r--r--meta/classes/sanity.bbclass112
-rw-r--r--meta/classes/scons.bbclass13
-rw-r--r--meta/classes/sdk.bbclass26
-rw-r--r--meta/classes/sdl.bbclass44
-rw-r--r--meta/classes/sip.bbclass58
-rw-r--r--meta/classes/sourcepkg.bbclass111
-rw-r--r--meta/classes/src_distribute.bbclass40
-rw-r--r--meta/classes/src_distribute_local.bbclass31
-rw-r--r--meta/classes/srec.bbclass28
-rw-r--r--meta/classes/tinderclient.bbclass332
-rw-r--r--meta/classes/tmake.bbclass77
-rw-r--r--meta/classes/update-alternatives.bbclass33
-rw-r--r--meta/classes/update-rc.d.bbclass69
-rw-r--r--meta/classes/wrt-image.bbclass33
-rw-r--r--meta/classes/xfce.bbclass19
-rw-r--r--meta/classes/xlibs.bbclass15
-rw-r--r--meta/conf/bitbake.conf414
-rw-r--r--meta/conf/distro/angstrom-2006.9.conf126
-rw-r--r--meta/conf/distro/angstrom.conf45
-rw-r--r--meta/conf/distro/familiar-unstable.conf77
-rw-r--r--meta/conf/distro/familiar.conf17
-rw-r--r--meta/conf/distro/maemo-1.0.conf40
-rw-r--r--meta/conf/distro/maemo-preferred.inc10
-rw-r--r--meta/conf/distro/openzaurus-unstable.conf71
-rw-r--r--meta/conf/distro/openzaurus.conf18
-rw-r--r--meta/conf/distro/poky-eabi.conf23
-rw-r--r--meta/conf/distro/poky-oabi.conf11
-rw-r--r--meta/conf/distro/poky.conf176
-rw-r--r--meta/conf/distro/preferred-e-versions.inc33
-rw-r--r--meta/conf/distro/preferred-gpe-versions-2.7.inc96
-rw-r--r--meta/conf/distro/preferred-opie-versions.inc206
-rw-r--r--meta/conf/documentation.conf104
-rw-r--r--meta/conf/licenses.conf5
-rw-r--r--meta/conf/machine/akita.conf8
-rw-r--r--meta/conf/machine/c7x0.conf9
-rw-r--r--meta/conf/machine/cmx270.conf31
-rw-r--r--meta/conf/machine/include/handheld-common.conf23
-rw-r--r--meta/conf/machine/include/ipaq-common.conf7
-rw-r--r--meta/conf/machine/include/ixp4xx.conf174
-rw-r--r--meta/conf/machine/include/poodle-2.6.conf43
-rw-r--r--meta/conf/machine/include/thinclient-common.conf19
-rw-r--r--meta/conf/machine/include/tosa-2.6.conf6
-rw-r--r--meta/conf/machine/include/tune-arm920t.conf2
-rw-r--r--meta/conf/machine/include/tune-arm926ejs.conf6
-rw-r--r--meta/conf/machine/include/tune-arm9tdmi.conf1
-rw-r--r--meta/conf/machine/include/tune-c3.conf3
-rw-r--r--meta/conf/machine/include/tune-ep9312.conf6
-rw-r--r--meta/conf/machine/include/tune-ppc603e.conf2
-rw-r--r--meta/conf/machine/include/tune-ppce500.conf2
-rw-r--r--meta/conf/machine/include/tune-sh3.conf1
-rw-r--r--meta/conf/machine/include/tune-sh4.conf1
-rw-r--r--meta/conf/machine/include/tune-strongarm.conf2
-rw-r--r--meta/conf/machine/include/tune-supersparc.conf2
-rw-r--r--meta/conf/machine/include/tune-xscale.conf3
-rw-r--r--meta/conf/machine/include/zaurus-clamshell-2.6.conf46
-rw-r--r--meta/conf/machine/include/zaurus-clamshell.conf29
-rw-r--r--meta/conf/machine/ipaq-pxa270.conf63
-rw-r--r--meta/conf/machine/jornada7xx.conf7
-rw-r--r--meta/conf/machine/nokia770.conf54
-rw-r--r--meta/conf/machine/qemuarm.conf46
-rw-r--r--meta/conf/machine/spitz.conf18
-rw-r--r--meta/conf/sanity.conf8
-rw-r--r--meta/files/device_table-minimal.txt20
-rw-r--r--meta/packages/alsa/alsa-lib_1.0.10.bb31
-rw-r--r--meta/packages/alsa/alsa-oss_1.0.10.bb18
-rw-r--r--meta/packages/alsa/alsa-tools_1.0.10.bb10
-rw-r--r--meta/packages/alsa/alsa-utils_1.0.10.bb55
-rw-r--r--meta/packages/alsa/files/alsa-utils-sys-siglist.patch15
-rw-r--r--meta/packages/apmd/apmd-3.2.2/apmd_proxy91
-rw-r--r--meta/packages/apmd/apmd-3.2.2/apmd_proxy.conf16
-rw-r--r--meta/packages/apmd/apmd-3.2.2/debian.patch54
-rw-r--r--meta/packages/apmd/apmd-3.2.2/default8
-rwxr-xr-xmeta/packages/apmd/apmd-3.2.2/init44
-rw-r--r--meta/packages/apmd/apmd-3.2.2/workaround.patch55
-rw-r--r--meta/packages/apmd/apmd-3.2.2/zaurus24.patch50
-rw-r--r--meta/packages/apmd/apmd_3.2.2.bb64
-rw-r--r--meta/packages/atk/atk_1.10.1.bb21
-rw-r--r--meta/packages/autoconf/autoconf-2.59/autoconf-x.patch36
-rw-r--r--meta/packages/autoconf/autoconf-2.59/autoconf259-update-configscripts.patch393
-rw-r--r--meta/packages/autoconf/autoconf-2.59/autoheader-nonfatal-warnings.patch13
-rw-r--r--meta/packages/autoconf/autoconf-2.59/autoreconf-exclude.patch125
-rw-r--r--meta/packages/autoconf/autoconf-2.59/autoreconf-foreign.patch11
-rw-r--r--meta/packages/autoconf/autoconf-2.59/autoreconf-gnuconfigize.patch47
-rw-r--r--meta/packages/autoconf/autoconf-2.59/autoreconf-include.patch10
-rw-r--r--meta/packages/autoconf/autoconf-2.59/path_prog_fixes.patch126
-rw-r--r--meta/packages/autoconf/autoconf-2.59/program_prefix.patch19
-rw-r--r--meta/packages/autoconf/autoconf-2.59/sizeof_types.patch59
-rw-r--r--meta/packages/autoconf/autoconf-native_2.59.bb10
-rw-r--r--meta/packages/autoconf/autoconf_2.59.bb22
-rw-r--r--meta/packages/automake/automake-1.9.3/automake182-update-configscripts.patch201
-rw-r--r--meta/packages/automake/automake-native.inc11
-rw-r--r--meta/packages/automake/automake-native_1.9.3.bb3
-rw-r--r--meta/packages/automake/automake.inc23
-rw-r--r--meta/packages/automake/automake_1.9.3.bb28
-rw-r--r--meta/packages/automake/files/path_prog_fixes.patch60
-rw-r--r--meta/packages/avahi/avahi_0.6.10.bb58
-rw-r--r--meta/packages/base-files/base-files/akita/fstab16
-rw-r--r--meta/packages/base-files/base-files/c7x0/fstab12
-rw-r--r--meta/packages/base-files/base-files/c7x0/usbd1
-rw-r--r--meta/packages/base-files/base-files/collie/fstab8
-rw-r--r--meta/packages/base-files/base-files/collie/usbd1
-rw-r--r--meta/packages/base-files/base-files/epia/fstab4
-rw-r--r--meta/packages/base-files/base-files/familiar/issue2
-rw-r--r--meta/packages/base-files/base-files/familiar/issue.net3
-rw-r--r--meta/packages/base-files/base-files/filesystems6
-rw-r--r--meta/packages/base-files/base-files/fstab12
-rw-r--r--meta/packages/base-files/base-files/h3600/fstab6
-rw-r--r--meta/packages/base-files/base-files/h3900/fstab8
-rw-r--r--meta/packages/base-files/base-files/host.conf2
-rw-r--r--meta/packages/base-files/base-files/inputrc61
-rw-r--r--meta/packages/base-files/base-files/ipaq-pxa270/fstab9
-rw-r--r--meta/packages/base-files/base-files/issue2
-rw-r--r--meta/packages/base-files/base-files/issue.net3
-rw-r--r--meta/packages/base-files/base-files/jornada56x/fstab6
-rw-r--r--meta/packages/base-files/base-files/jornada720/fstab6
-rw-r--r--meta/packages/base-files/base-files/licenses/Artistic131
-rw-r--r--meta/packages/base-files/base-files/licenses/BSD26
-rw-r--r--meta/packages/base-files/base-files/licenses/GPL-2340
-rw-r--r--meta/packages/base-files/base-files/licenses/LGPL-2481
-rw-r--r--meta/packages/base-files/base-files/licenses/LGPL-2.1510
-rw-r--r--meta/packages/base-files/base-files/motd0
-rw-r--r--meta/packages/base-files/base-files/mtx-1/fstab8
-rw-r--r--meta/packages/base-files/base-files/mtx-1/profile25
-rw-r--r--meta/packages/base-files/base-files/netvista/fstab5
-rw-r--r--meta/packages/base-files/base-files/nokia770/fstab6
-rw-r--r--meta/packages/base-files/base-files/nsswitch.conf19
-rw-r--r--meta/packages/base-files/base-files/nylon/issue2
-rw-r--r--meta/packages/base-files/base-files/nylon/issue.net3
-rw-r--r--meta/packages/base-files/base-files/openmn/fstab6
-rw-r--r--meta/packages/base-files/base-files/openmn/issue2
-rw-r--r--meta/packages/base-files/base-files/openmn/issue.net2
-rw-r--r--meta/packages/base-files/base-files/openmn/profile31
-rw-r--r--meta/packages/base-files/base-files/openmn/usbd1
-rw-r--r--meta/packages/base-files/base-files/opensimpad/issue2
-rw-r--r--meta/packages/base-files/base-files/opensimpad/issue.net2
-rw-r--r--meta/packages/base-files/base-files/openzaurus/issue2
-rw-r--r--meta/packages/base-files/base-files/openzaurus/issue.net2
-rw-r--r--meta/packages/base-files/base-files/poodle/fstab13
-rw-r--r--meta/packages/base-files/base-files/poodle/usbd1
-rw-r--r--meta/packages/base-files/base-files/profile32
-rw-r--r--meta/packages/base-files/base-files/share/dot.bashrc16
-rw-r--r--meta/packages/base-files/base-files/share/dot.profile10
-rw-r--r--meta/packages/base-files/base-files/simpad/fstab8
-rw-r--r--meta/packages/base-files/base-files/spitz/fstab28
-rw-r--r--meta/packages/base-files/base-files/tosa/fstab12
-rw-r--r--meta/packages/base-files/base-files/tosa/usbd1
-rw-r--r--meta/packages/base-files/base-files/usbd0
-rw-r--r--meta/packages/base-files/base-files/wrt54/fstab7
-rw-r--r--meta/packages/base-files/base-files/wrt54/profile25
-rw-r--r--meta/packages/base-files/base-files/xxs1500/fstab8
-rw-r--r--meta/packages/base-files/base-files_3.0.14.bb154
-rw-r--r--meta/packages/base-passwd/base-passwd-3.5.9/configure.patch23
-rw-r--r--meta/packages/base-passwd/base-passwd-3.5.9/mysql.patch8
-rw-r--r--meta/packages/base-passwd/base-passwd-3.5.9/nobash.patch13
-rw-r--r--meta/packages/base-passwd/base-passwd-3.5.9/root-home.patch8
-rw-r--r--meta/packages/base-passwd/base-passwd_3.5.9.bb59
-rw-r--r--meta/packages/binutils/binutils-2.15.94.0.1/binutils-100_cflags_for_build.patch91
-rw-r--r--meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.90.0.3-uclibc-200-build_modules.patch33
-rw-r--r--meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.90.0.3-uclibc-210-cflags.patch30
-rw-r--r--meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch604
-rw-r--r--meta/packages/binutils/binutils-2.16.91.0.7/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch31
-rw-r--r--meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-100-uclibc-conf.patch139
-rw-r--r--meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch26
-rw-r--r--meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-702-binutils-skip-comments.patch93
-rw-r--r--meta/packages/binutils/binutils-2.16/binutils-100_cflags_for_build.patch28
-rw-r--r--meta/packages/binutils/binutils-2.16/binutils-2.16-linux-uclibc.patch700
-rw-r--r--meta/packages/binutils/binutils-2.16/binutils-2.16-objcopy-rename-errorcode.patch29
-rw-r--r--meta/packages/binutils/binutils-2.16/binutils-2.16-thumb-glue.patch76
-rw-r--r--meta/packages/binutils/binutils-2.16/binutils-2.16-thumb-trampoline.patch292
-rw-r--r--meta/packages/binutils/binutils-cross.inc30
-rw-r--r--meta/packages/binutils/binutils-cross_2.15.94.0.1.bb32
-rw-r--r--meta/packages/binutils/binutils-cross_2.16.91.0.7.bb32
-rw-r--r--meta/packages/binutils/binutils-cross_2.16.bb3
-rw-r--r--meta/packages/binutils/binutils.inc117
-rw-r--r--meta/packages/binutils/binutils_2.15.94.0.1.bb124
-rw-r--r--meta/packages/binutils/binutils_2.16.91.0.7.bb123
-rw-r--r--meta/packages/binutils/binutils_2.16.bb26
-rw-r--r--meta/packages/binutils/files/better_file_error.patch17
-rw-r--r--meta/packages/binutils/files/ld_makefile.patch22
-rw-r--r--meta/packages/binutils/files/objdump_fix.patch134
-rw-r--r--meta/packages/binutils/files/plt32trunc.patch24
-rw-r--r--meta/packages/binutils/files/signed_char_fix.patch12
-rw-r--r--meta/packages/bison/bison-2.0/m4.patch589
-rw-r--r--meta/packages/bison/bison-native_2.0.bb21
-rw-r--r--meta/packages/bison/bison_2.0.bb10
-rw-r--r--meta/packages/busybox/busybox-1.01/add-getkey-applet.patch157
-rw-r--r--meta/packages/busybox/busybox-1.01/angstrom/defconfig475
-rw-r--r--meta/packages/busybox/busybox-1.01/below.patch49
-rw-r--r--meta/packages/busybox/busybox-1.01/defconfig476
-rw-r--r--meta/packages/busybox/busybox-1.01/dhcp-hostname.patch30
-rw-r--r--meta/packages/busybox/busybox-1.01/dhcpretrytime.patch81
-rw-r--r--meta/packages/busybox/busybox-1.01/familiar/defconfig470
-rw-r--r--meta/packages/busybox/busybox-1.01/fbset.patch24
-rw-r--r--meta/packages/busybox/busybox-1.01/hdparm_M.patch47
-rw-r--r--meta/packages/busybox/busybox-1.01/ifupdown-spurious-environ.patch12
-rw-r--r--meta/packages/busybox/busybox-1.01/iproute-flush-cache.patch23
-rw-r--r--meta/packages/busybox/busybox-1.01/mount-all-type.patch84
-rw-r--r--meta/packages/busybox/busybox-1.01/nylon/defconfig458
-rw-r--r--meta/packages/busybox/busybox-1.01/openmn/defconfig475
-rw-r--r--meta/packages/busybox/busybox-1.01/openzaurus/defconfig475
-rw-r--r--meta/packages/busybox/busybox-1.01/readlink.patch85
-rw-r--r--meta/packages/busybox/busybox-1.01/rmmod.patch44
-rw-r--r--meta/packages/busybox/busybox-1.01/slugos/defconfig444
-rw-r--r--meta/packages/busybox/busybox-1.01/slugos/sysctl.conf32
-rw-r--r--meta/packages/busybox/busybox-1.01/slugos/udhcpscript.patch162
-rw-r--r--meta/packages/busybox/busybox-1.01/sparc/defconfig467
-rw-r--r--meta/packages/busybox/busybox-1.01/thumb-bsdlabel.patch11
-rw-r--r--meta/packages/busybox/busybox-1.01/uclibc_posix.patch20
-rw-r--r--meta/packages/busybox/busybox-1.01/udhcppidfile-breakage.patch57
-rw-r--r--meta/packages/busybox/busybox-1.01/udhcppidfile.patch276
-rw-r--r--meta/packages/busybox/busybox-1.01/udhcpscript.patch17
-rw-r--r--meta/packages/busybox/busybox-1.01/wrt54/defconfig476
-rw-r--r--meta/packages/busybox/busybox_1.01.bb169
-rwxr-xr-xmeta/packages/busybox/files/busybox-cron39
-rwxr-xr-xmeta/packages/busybox/files/busybox-httpd44
-rwxr-xr-xmeta/packages/busybox/files/busybox-udhcpd43
-rw-r--r--meta/packages/busybox/files/default.script4
-rw-r--r--meta/packages/busybox/files/glibc2.4-icmp6.patch15
-rw-r--r--meta/packages/busybox/files/hwclock.sh74
-rwxr-xr-xmeta/packages/busybox/files/mount.busybox3
-rw-r--r--meta/packages/busybox/files/postinst25
-rw-r--r--meta/packages/busybox/files/prerm10
-rw-r--r--meta/packages/busybox/files/syslog69
-rw-r--r--meta/packages/busybox/files/syslog.conf9
-rwxr-xr-xmeta/packages/busybox/files/umount.busybox3
-rw-r--r--meta/packages/bzip2/bzip2-1.0.2/installpaths.patch103
-rw-r--r--meta/packages/bzip2/bzip2_1.0.2.bb41
-rw-r--r--meta/packages/cairo/cairo_1.0.0.bb15
-rw-r--r--meta/packages/cairo/cairo_1.0.4.bb13
-rw-r--r--meta/packages/cairo/cairo_1.2.0.bb15
-rwxr-xr-xmeta/packages/chkhinge26/chkhinge26_svn.bb20
-rwxr-xr-xmeta/packages/chkhinge26/files/hinge-handler47
-rw-r--r--meta/packages/compositeext/compositeext_cvs.bb20
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/codepage.patch16
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/compile.patch10
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/config/codeset.m417
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/config/gettext.m4370
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/config/glibc21.m426
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/config/iconv.m469
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/config/lcmessage.m424
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/config/progtest.m451
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/configure.patch46
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/kbdrate.patch73
-rw-r--r--meta/packages/console-tools/console-tools-0.3.2/uclibc-fileno.patch47
-rw-r--r--meta/packages/console-tools/console-tools_0.3.2.bb48
-rwxr-xr-xmeta/packages/contacts/contacts_0.1.bb24
-rwxr-xr-xmeta/packages/contacts/contacts_svn.bb30
-rw-r--r--meta/packages/contacts/files/stock_contact.pngbin0 -> 2311 bytes
-rw-r--r--meta/packages/contacts/files/stock_person.pngbin0 -> 2280 bytes
-rw-r--r--meta/packages/coreutils/coreutils-5.1.3/install-cross.patch27
-rw-r--r--meta/packages/coreutils/coreutils-5.1.3/man.patch42
-rw-r--r--meta/packages/coreutils/coreutils-native_5.1.3.bb7
-rw-r--r--meta/packages/coreutils/coreutils_5.1.3.bb85
-rw-r--r--meta/packages/curl/curl-native_7.14.0.bb13
-rw-r--r--meta/packages/curl/curl_7.14.0.bb38
-rw-r--r--meta/packages/damageext/damageext-1.0/autofoo.patch18
-rw-r--r--meta/packages/damageext/damageext_cvs.bb20
-rwxr-xr-xmeta/packages/dates/dates_0.1.bb19
-rwxr-xr-xmeta/packages/dates/dates_svn.bb19
-rw-r--r--meta/packages/db/db-native_4.2.52.bb13
-rw-r--r--meta/packages/db/db_4.1.25.bb87
-rw-r--r--meta/packages/db/db_4.2.52.bb97
-rw-r--r--meta/packages/db/db_4.3.29.bb100
-rw-r--r--meta/packages/db/files/arm-thumb-mutex.patch36
-rw-r--r--meta/packages/dbus/dbus-0.60/dbus-1.init86
-rw-r--r--meta/packages/dbus/dbus-0.60/no-bindings.patch12
-rw-r--r--meta/packages/dbus/dbus-0.60/no-introspect.patch14
-rw-r--r--meta/packages/dbus/dbus-native_0.50.bb19
-rw-r--r--meta/packages/dbus/dbus-native_0.60.bb19
-rw-r--r--meta/packages/dbus/dbus.inc65
-rw-r--r--meta/packages/dbus/dbus/0.23.1.diff308
-rw-r--r--meta/packages/dbus/dbus/config.diff17
-rw-r--r--meta/packages/dbus/dbus/cross.patch15
-rw-r--r--meta/packages/dbus/dbus/dbus-1.init86
-rw-r--r--meta/packages/dbus/dbus/dbus-monitor.patch150
-rw-r--r--meta/packages/dbus/dbus/dbus-quiesce-startup-errors.patch23
-rw-r--r--meta/packages/dbus/dbus/dbussend.patch399
-rw-r--r--meta/packages/dbus/dbus/gettext.patch164
-rw-r--r--meta/packages/dbus/dbus/no-bindings.patch12
-rw-r--r--meta/packages/dbus/dbus/no-examples.patch8
-rw-r--r--meta/packages/dbus/dbus/no-introspect.patch19
-rw-r--r--meta/packages/dbus/dbus/spawn-priority.diff17
-rw-r--r--meta/packages/dbus/dbus/tmpdir.patch30
-rw-r--r--meta/packages/dbus/dbus/tools.diff12
-rw-r--r--meta/packages/dbus/dbus_0.60.bb13
-rw-r--r--meta/packages/dbus/dbus_0.60.inc64
-rw-r--r--meta/packages/dropbear/dropbear.inc73
-rw-r--r--meta/packages/dropbear/dropbear/allow-nopw.patch37
-rw-r--r--meta/packages/dropbear/dropbear/chansession-security-fix.patch74
-rw-r--r--meta/packages/dropbear/dropbear/configure.patch27
-rw-r--r--meta/packages/dropbear/dropbear/fix-2kb-keys.patch11
-rwxr-xr-xmeta/packages/dropbear/dropbear/init98
-rw-r--r--meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch21
-rw-r--r--meta/packages/dropbear/dropbear_0.47.bb3
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs-1.38/no-hardlinks.patch82
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs/compile-subst.patch16
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs/configure.patch122
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs/e2fsprogs_1.34.bb18
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs/ldflags.patch27
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs/ln.patch58
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs/m4.patch2155
-rw-r--r--meta/packages/e2fsprogs/e2fsprogs_1.38.bb50
-rw-r--r--meta/packages/eds/eds-dbus/disable_orbit.patch13
-rw-r--r--meta/packages/eds/eds-dbus/fix_calendar.patch11
-rw-r--r--meta/packages/eds/eds-dbus/iconv-detect.h5
-rw-r--r--meta/packages/eds/eds-dbus/no_iconv_test.patch70
-rw-r--r--meta/packages/eds/eds-dbus/no_libdb.patch14
-rw-r--r--meta/packages/eds/eds-dbus/no_libedataserverui.patch13
-rw-r--r--meta/packages/eds/eds-dbus/no_libgnome.patch45
-rwxr-xr-xmeta/packages/eds/eds-dbus_svn.bb40
-rw-r--r--meta/packages/expat/expat-1.95.7/autotools.patch13
-rw-r--r--meta/packages/expat/expat-native_1.95.7.bb4
-rw-r--r--meta/packages/expat/expat_1.95.7.bb30
-rw-r--r--meta/packages/fakeroot/fakeroot-native_1.2.13.bb19
-rw-r--r--meta/packages/fakeroot/fakeroot_1.2.13.bb8
-rw-r--r--meta/packages/fakeroot/files/fix-prefix.patch18
-rw-r--r--meta/packages/file/file-native_4.16.bb8
-rw-r--r--meta/packages/file/file_4.16.bb18
-rw-r--r--meta/packages/file/files/native-fix.diff13
-rw-r--r--meta/packages/fixesext/fixesext_cvs.bb20
-rw-r--r--meta/packages/flex/files/fix-gen.patch17
-rw-r--r--meta/packages/flex/files/flex-lvalue.diff36
-rw-r--r--meta/packages/flex/flex-2.5.31/include.patch27
-rw-r--r--meta/packages/flex/flex-native_2.5.31.bb10
-rw-r--r--meta/packages/flex/flex.inc11
-rw-r--r--meta/packages/flex/flex_2.5.31.bb9
-rw-r--r--meta/packages/fontconfig/files/local.conf12
-rw-r--r--meta/packages/fontconfig/files/stop-fc-cache.patch8
-rw-r--r--meta/packages/fontconfig/fontconfig-2.2.95/fc-glyphname.patch19
-rw-r--r--meta/packages/fontconfig/fontconfig-2.2.95/fc-lang.patch18
-rw-r--r--meta/packages/fontconfig/fontconfig-native_2.2.95.bb15
-rw-r--r--meta/packages/fontconfig/fontconfig_2.2.95.bb36
-rw-r--r--meta/packages/freetype/files/configure.patch47
-rw-r--r--meta/packages/freetype/files/no-hardcode.patch11
-rw-r--r--meta/packages/freetype/freetype-native_2.1.10.bb21
-rw-r--r--meta/packages/freetype/freetype_2.1.10.bb32
-rw-r--r--meta/packages/galago/eds-feed/disable-bonobo.patch62
-rw-r--r--meta/packages/galago/eds-feed_0.3.2.bb14
-rw-r--r--meta/packages/galago/files/no-check.patch15
-rw-r--r--meta/packages/galago/galago-daemon_0.3.4.bb15
-rw-r--r--meta/packages/galago/libgalago_0.3.3.bb18
-rw-r--r--meta/packages/gcalctool/gcalctool/makefile-fix.diff18
-rw-r--r--meta/packages/gcalctool/gcalctool_5.7.32.bb13
-rw-r--r--meta/packages/gcc/gcc-3.3.4/arm-gotoff.dpatch135
-rw-r--r--meta/packages/gcc/gcc-3.3.4/arm-ldm-peephole.patch91
-rw-r--r--meta/packages/gcc/gcc-3.3.4/arm-ldm.dpatch148
-rw-r--r--meta/packages/gcc/gcc-3.3.4/arm-tune.patch9
-rw-r--r--meta/packages/gcc/gcc-3.3.4/bash3.patch20
-rw-r--r--meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-100-conf.patch1593
-rw-r--r--meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-110-conf.patch55
-rw-r--r--meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-120-softfloat.patch14
-rw-r--r--meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-200-code.patch3021
-rw-r--r--meta/packages/gcc/gcc-3.3.4/gcc34-15089.patch19
-rw-r--r--meta/packages/gcc/gcc-3.3.4/libibery-crosstool.patch683
-rw-r--r--meta/packages/gcc/gcc-3.3.4/reverse-compare.patch31
-rw-r--r--meta/packages/gcc/gcc-3.3.4/sdk-libstdc++-includes.patch48
-rw-r--r--meta/packages/gcc/gcc-3.4.3/15342.patch22
-rw-r--r--meta/packages/gcc/gcc-3.4.3/GCC3.4.0VisibilityPatch.diff1100
-rw-r--r--meta/packages/gcc/gcc-3.4.3/always-fixincperm.patch32
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-bigendian-uclibc.patch30
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-bigendian.patch70
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-lib1asm.patch24
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-nolibfloat.patch24
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-softfloat.patch256
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc-3.4.1-uclibc-100-conf.patch442
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc-3.4.1-uclibc-200-locale.patch3246
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc-uclibc-3.4.0-120-softfloat.patch14
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc34-arm-ldm-peephole.patch79
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc34-arm-ldm.patch119
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc34-arm-tune.patch9
-rw-r--r--meta/packages/gcc/gcc-3.4.3/gcc34-reverse-compare.patch32
-rw-r--r--meta/packages/gcc/gcc-3.4.3/sdk-libstdc++-includes.patch22
-rw-r--r--meta/packages/gcc/gcc-3.4.4/15342.patch22
-rw-r--r--meta/packages/gcc/gcc-3.4.4/GCC3.4.0VisibilityPatch.diff1100
-rw-r--r--meta/packages/gcc/gcc-3.4.4/always-fixincperm.patch32
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-bigendian-uclibc.patch30
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-bigendian.patch70
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-lib1asm.patch24
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-nolibfloat.patch24
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-softfloat.patch256
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch442
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-200-locale.patch3246
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-uclibc-3.4.0-120-softfloat.patch14
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc34-arm-ldm-peephole.patch79
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc34-arm-ldm.patch119
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc34-arm-tune.patch9
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc34-configure.in.patch22
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch32
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc34-thumb-support.patch156
-rw-r--r--meta/packages/gcc/gcc-3.4.4/sdk-libstdc++-includes.patch22
-rw-r--r--meta/packages/gcc/gcc-4.0.2/100-uclibc-conf.patch556
-rw-r--r--meta/packages/gcc/gcc-4.0.2/200-uclibc-locale.patch3240
-rw-r--r--meta/packages/gcc/gcc-4.0.2/301-missing-execinfo_h.patch14
-rw-r--r--meta/packages/gcc/gcc-4.0.2/302-c99-snprintf.patch14
-rw-r--r--meta/packages/gcc/gcc-4.0.2/303-c99-complex-ugly-hack.patch15
-rw-r--r--meta/packages/gcc/gcc-4.0.2/800-arm-bigendian.patch70
-rw-r--r--meta/packages/gcc/gcc-4.0.2/arm-nolibfloat.patch24
-rw-r--r--meta/packages/gcc/gcc-4.0.2/arm-softfloat.patch16
-rw-r--r--meta/packages/gcc/gcc-4.0.2/ldflags.patch22
-rw-r--r--meta/packages/gcc/gcc-4.0.2/zecke-host-cpp-ac-hack.patch140
-rw-r--r--meta/packages/gcc/gcc-cross-initial_3.3.4.bb28
-rw-r--r--meta/packages/gcc/gcc-cross-initial_3.4.3.bb28
-rw-r--r--meta/packages/gcc/gcc-cross-initial_3.4.4.bb28
-rw-r--r--meta/packages/gcc/gcc-cross-initial_4.0.2.bb29
-rw-r--r--meta/packages/gcc/gcc-cross-initial_csl-arm-2005q3.bb28
-rw-r--r--meta/packages/gcc/gcc-cross_3.3.4.bb13
-rw-r--r--meta/packages/gcc/gcc-cross_3.4.3.bb16
-rw-r--r--meta/packages/gcc/gcc-cross_3.4.4.bb16
-rw-r--r--meta/packages/gcc/gcc-cross_4.0.2.bb16
-rw-r--r--meta/packages/gcc/gcc-cross_csl-arm-2005q3.bb15
-rw-r--r--meta/packages/gcc/gcc-csl-arm/15342.patch22
-rw-r--r--meta/packages/gcc/gcc-csl-arm/gcc-3.4.0-arm-lib1asm.patch24
-rw-r--r--meta/packages/gcc/gcc-csl-arm/gcc34-arm-tune.patch9
-rw-r--r--meta/packages/gcc/gcc-csl-arm/gcc_optab_arm.patch95
-rw-r--r--meta/packages/gcc/gcc-csl-arm/no-libfloat.patch11
-rw-r--r--meta/packages/gcc/gcc-csl-arm/pic-without-sl.patch303
-rw-r--r--meta/packages/gcc/gcc-package-cross.inc77
-rw-r--r--meta/packages/gcc/gcc-package.inc111
-rw-r--r--meta/packages/gcc/gcc-paths-cross.inc7
-rw-r--r--meta/packages/gcc/gcc3-build-cross.inc47
-rw-r--r--meta/packages/gcc/gcc3-build.inc95
-rw-r--r--meta/packages/gcc/gcc4-build.inc6
-rw-r--r--meta/packages/gcc/gcc_3.3.4.bb176
-rw-r--r--meta/packages/gcc/gcc_3.4.3.bb27
-rw-r--r--meta/packages/gcc/gcc_3.4.4.bb30
-rw-r--r--meta/packages/gcc/gcc_4.0.2.bb28
-rw-r--r--meta/packages/gcc/gcc_csl-arm-2005q3.bb27
-rw-r--r--meta/packages/gdb/files/gdbserver-cflags-last.diff13
-rw-r--r--meta/packages/gdb/files/kill_arm_map_symbols.patch24
-rw-r--r--meta/packages/gdb/files/libiberty-cross.patch630
-rw-r--r--meta/packages/gdb/files/sim-install.patch34
-rw-r--r--meta/packages/gdb/files/uclibc.patch194
-rw-r--r--meta/packages/gdb/gdb-6.3/uclibc.patch194
-rw-r--r--meta/packages/gdb/gdb-cross_6.3.bb36
-rw-r--r--meta/packages/gdb/gdb_6.3.bb50
-rw-r--r--meta/packages/gdbm/gdbm-1.8.3/libtool-mode.patch20
-rw-r--r--meta/packages/gdbm/gdbm-1.8.3/makefile.patch59
-rw-r--r--meta/packages/gdbm/gdbm-native-1.8.3/makefile.patch59
-rw-r--r--meta/packages/gdbm/gdbm-native_1.8.3.bb17
-rw-r--r--meta/packages/gdbm/gdbm_1.8.3.bb17
-rw-r--r--meta/packages/genext2fs/genext2fs-1.3/autosize.patch339
-rw-r--r--meta/packages/genext2fs/genext2fs-1.3/misc.patch2143
-rw-r--r--meta/packages/genext2fs/genext2fs-native_1.3.bb11
-rw-r--r--meta/packages/genext2fs/genext2fs.inc4
-rw-r--r--meta/packages/genext2fs/genext2fs_1.3.bb15
-rw-r--r--meta/packages/gettext/gettext-0.14.1/fixchicken.patch26
-rw-r--r--meta/packages/gettext/gettext-0.14.1/gettext-vpath.patch11
-rw-r--r--meta/packages/gettext/gettext-native_0.14.1.bb53
-rw-r--r--meta/packages/gettext/gettext_0.14.1.bb33
-rw-r--r--meta/packages/glib-2.0/files/atomic_fix.patch16
-rw-r--r--meta/packages/glib-2.0/files/glib-gettextize-dir.patch11
-rw-r--r--meta/packages/glib-2.0/files/glibconfig-sysdefs.h6
-rw-r--r--meta/packages/glib-2.0/files/glibinclude.patch18
-rw-r--r--meta/packages/glib-2.0/glib-2.0-native-2.10.3/glib-gettextize-dir.patch11
-rw-r--r--meta/packages/glib-2.0/glib-2.0-native_2.10.3.bb55
-rw-r--r--meta/packages/glib-2.0/glib-2.0-native_2.12.0.bb54
-rw-r--r--meta/packages/glib-2.0/glib-2.0-native_2.6.5.bb49
-rw-r--r--meta/packages/glib-2.0/glib-2.0_2.10.3.bb48
-rw-r--r--meta/packages/glib-2.0/glib-2.0_2.12.0.bb47
-rw-r--r--meta/packages/glib-2.0/glib-2.0_2.6.4.bb49
-rw-r--r--meta/packages/glib-2.0/glib-2.0_2.8.6.bb49
-rw-r--r--meta/packages/glibc/files/5090_all_stubs-rule-fix.patch39
-rw-r--r--meta/packages/glibc/files/etc/ld.so.conf3
-rw-r--r--meta/packages/glibc/files/fhs-linux-paths.patch11
-rw-r--r--meta/packages/glibc/files/generate-supported.mk11
-rw-r--r--meta/packages/glibc/glibc-2.4/arm-longlong.patch58
-rw-r--r--meta/packages/glibc/glibc-2.4/arm-memcpy.patch758
-rw-r--r--meta/packages/glibc/glibc-2.4/dl-cache-libcmp.patch10
-rw-r--r--meta/packages/glibc/glibc-2.4/dyn-ldconfig-20041128.patch22
-rw-r--r--meta/packages/glibc/glibc-2.4/dyn-ldconfig.patch62
-rw-r--r--meta/packages/glibc/glibc-2.4/etc/ld.so.conf3
-rw-r--r--meta/packages/glibc/glibc-2.4/fixup-aeabi-syscalls.patch329
-rw-r--r--meta/packages/glibc/glibc-2.4/generic-bits_select.h35
-rw-r--r--meta/packages/glibc/glibc-2.4/generic-bits_time.h75
-rw-r--r--meta/packages/glibc/glibc-2.4/generic-bits_types.h200
-rw-r--r--meta/packages/glibc/glibc-2.4/generic-bits_typesizes.h66
-rw-r--r--meta/packages/glibc/glibc-2.4/glibc-2.4-compile.patch29
-rw-r--r--meta/packages/glibc/glibc-2.4/ldsocache-varrun.patch18
-rw-r--r--meta/packages/glibc/glibc-2.4/nptl-crosscompile.patch26
-rw-r--r--meta/packages/glibc/glibc-cvs-2.3.5/arm-audit.patch58
-rw-r--r--meta/packages/glibc/glibc-cvs-2.3.5/arm-audit2.patch18
-rw-r--r--meta/packages/glibc/glibc-cvs-2.3.5/arm-longlong.patch59
-rw-r--r--meta/packages/glibc/glibc-cvs-2.3.5/arm-memcpy.patch758
-rw-r--r--meta/packages/glibc/glibc-cvs-2.3.5/arm-no-hwcap.patch11
-rw-r--r--meta/packages/glibc/glibc-cvs-2.3.5/dl-cache-libcmp.patch10
-rw-r--r--meta/packages/glibc/glibc-cvs-2.3.5/dyn-ldconfig-20041128.patch22
-rw-r--r--meta/packages/glibc/glibc-cvs-2.3.5/ldsocache-varrun.patch18
-rw-r--r--meta/packages/glibc/glibc-cvs/arm-ioperm.patch13
-rw-r--r--meta/packages/glibc/glibc-cvs/arm-longlong.patch59
-rw-r--r--meta/packages/glibc/glibc-cvs/arm-machine-gmon.patch11
-rw-r--r--meta/packages/glibc/glibc-cvs/arm-memcpy.patch758
-rw-r--r--meta/packages/glibc/glibc-cvs/arm-no-hwcap.patch11
-rw-r--r--meta/packages/glibc/glibc-cvs/dyn-ldconfig-20041128.patch22
-rw-r--r--meta/packages/glibc/glibc-cvs/dyn-ldconfig.patch62
-rw-r--r--meta/packages/glibc/glibc-cvs/eabi-patch-188
-rw-r--r--meta/packages/glibc/glibc-cvs/eabi-patch-22446
-rw-r--r--meta/packages/glibc/glibc-cvs/eabi-patch-3430
-rw-r--r--meta/packages/glibc/glibc-cvs/eabi-patch-464
-rw-r--r--meta/packages/glibc/glibc-cvs/etc/ld.so.conf3
-rw-r--r--meta/packages/glibc/glibc-cvs/glibc-fp-byteorder.patch203
-rw-r--r--meta/packages/glibc/glibc-cvs/ldconfig.patch37
-rw-r--r--meta/packages/glibc/glibc-cvs/ldd.patch38
-rw-r--r--meta/packages/glibc/glibc-cvs/ldsocache-varrun.patch18
-rw-r--r--meta/packages/glibc/glibc-cvs/makeconfig.patch15
-rw-r--r--meta/packages/glibc/glibc-cvs/mips-no-throw.patch22
-rw-r--r--meta/packages/glibc/glibc-cvs/noinfo.patch52
-rw-r--r--meta/packages/glibc/glibc-cvs/trampoline.patch560
-rw-r--r--meta/packages/glibc/glibc-initial_2.4.bb46
-rw-r--r--meta/packages/glibc/glibc-intermediate_2.4.bb14
-rw-r--r--meta/packages/glibc/glibc-package.bbclass300
-rw-r--r--meta/packages/glibc/glibc_2.3.5+cvs20050627.bb175
-rw-r--r--meta/packages/glibc/glibc_2.4.bb201
-rw-r--r--meta/packages/gmp/gmp-4.1.2/amd64.patch16
-rw-r--r--meta/packages/gmp/gmp-4.1.2/configure.patch864
-rw-r--r--meta/packages/gmp/gmp-4.1.2/gcc-compile.patch72
-rw-r--r--meta/packages/gmp/gmp-4.1.4/amd64.patch14
-rw-r--r--meta/packages/gmp/gmp-4.1.4/configure.patch837
-rw-r--r--meta/packages/gmp/gmp-4.1.4/sh4-asmfix.patch26
-rw-r--r--meta/packages/gmp/gmp-native_4.1.2.bb7
-rw-r--r--meta/packages/gmp/gmp_4.1.2.bb18
-rw-r--r--meta/packages/gmp/gmp_4.1.4.bb19
-rw-r--r--meta/packages/gnome/files/gtk-doc.m453
-rw-r--r--meta/packages/gnome/files/gtk-doc.make148
-rw-r--r--meta/packages/gnome/gconf-2.6.1/backends.patch13
-rwxr-xr-xmeta/packages/gnome/gconf-dbus/69gconfd-dbus3
-rwxr-xr-xmeta/packages/gnome/gconf-dbus/gconf-dbus-update.patch31
-rw-r--r--meta/packages/gnome/gconf-dbus/no-deprecation.patch11
-rw-r--r--meta/packages/gnome/gconf-dbus/remove-old-translations.patch11
-rw-r--r--meta/packages/gnome/gconf-dbus/xml-backend-locks-compile-fix.patch16
-rw-r--r--meta/packages/gnome/gconf-dbus/xml-backend-oldxml-Makefile.patch11
-rwxr-xr-xmeta/packages/gnome/gconf-dbus_cvs.bb38
-rw-r--r--meta/packages/gnome/gconf-dbus_svn.bb49
-rw-r--r--meta/packages/gnome/gconf_2.6.1.bb33
-rw-r--r--meta/packages/gnome/gnome-common/omf.patch13
-rw-r--r--meta/packages/gnome/gnome-common_2.4.0.bb28
-rw-r--r--meta/packages/gnome/gnome-mime-data_2.4.2.bb7
-rw-r--r--meta/packages/gnome/gnome-vfs-dbus/gconftool-lossage.patch11
-rw-r--r--meta/packages/gnome/gnome-vfs-dbus/gssapi.patch13
-rw-r--r--meta/packages/gnome/gnome-vfs-dbus/no-gtk-doc.patch24
-rw-r--r--meta/packages/gnome/gnome-vfs-dbus/remove-old-translations.patch11
-rw-r--r--meta/packages/gnome/gnome-vfs-dbus_2.8.4.4.bb91
-rwxr-xr-xmeta/packages/gnome/gnome-vfs-dbus_cvs.bb102
-rw-r--r--meta/packages/gnome/libart-lgpl/Makefile.am.patch13
-rw-r--r--meta/packages/gnome/libart-lgpl/arm/art_config.h10
-rw-r--r--meta/packages/gnome/libart-lgpl/i386/art_config.h10
-rw-r--r--meta/packages/gnome/libart-lgpl/i586/art_config.h10
-rw-r--r--meta/packages/gnome/libart-lgpl/i686/art_config.h10
-rw-r--r--meta/packages/gnome/libart-lgpl_2.3.16.bb30
-rw-r--r--meta/packages/gnome/libgnomecanvas_2.6.1.1.bb16
-rw-r--r--meta/packages/gnome/libsoup_2.2.7.bb18
-rw-r--r--meta/packages/gnome/orbit2-2.10.2/configure-lossage.patch35
-rw-r--r--meta/packages/gnome/orbit2-native_2.10.2.bb21
-rw-r--r--meta/packages/gnome/orbit2_2.10.2.bb46
-rw-r--r--meta/packages/gnu-config/gnu-config-native_20050701.bb15
-rw-r--r--meta/packages/gnu-config/gnu-config/config-guess-uclibc.patch155
-rwxr-xr-xmeta/packages/gnu-config/gnu-config/gnu-configize.in267
-rw-r--r--meta/packages/gnu-config/gnu-config/uclibc.patch21
-rw-r--r--meta/packages/gnu-config/gnu-config_20050701.bb32
-rw-r--r--meta/packages/gnutls/gnutls-1.0.25/export-symbols.patch11
-rw-r--r--meta/packages/gnutls/gnutls-1.0.25/gnutls-openssl.patch126
-rw-r--r--meta/packages/gnutls/gnutls_1.0.25.bb29
-rw-r--r--meta/packages/gtk+/files/migration.patch619
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/automake-lossage.patch24
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/cellrenderer-cairo.patch32
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/disable-tooltips.patch11
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/entry-cairo.patch114
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/gtk+-handhelds.patch264
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/gtkbuiltincache.h31864
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/gtklabel-resize-patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/gtktreeview-316689.patch25
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/hardcoded_libtool.patch29
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/menu-deactivate.patch50
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/no-demos.patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/no-generate-builtincache.patch33
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/no-xwc.patch179
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/scroll-timings.patch15
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/single-click.patch36
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/small-gtkfilesel.patch267
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/spinbutton.patch128
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/style-cairo.patch2193
-rw-r--r--meta/packages/gtk+/gtk+-2.10.0/xsettings.patch16
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/000_gtk+-2.0.6-exportsymbols.patch26
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/000_gtk+-2.2.0-buildfix-immodule.patch33
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/002_xpmico.patch18
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/003_iconcache.patch11
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/automake-lossage.patch24
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/configure.diff1885
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/configure.in.diff53
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/disable-tooltips.patch11
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gdkwindow-x11.c.diff38
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk+-handhelds.patch236
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk.h.diff10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk_Makefile.am.diff27
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk_Makefile.in.diff292
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkalias.h.diff17
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkbutton.c.diff471
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkbutton.h.diff23
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcalendar.c.diff2464
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcalendar.h.diff12
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertext.c.diff66
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertoggle.c.diff11
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellview.c.diff19
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellview.h.diff10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcheckbutton.c.diff520
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcombobox.c.diff950
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcomboboxentry.c.diff24
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcontainer.c.diff284
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkdialog.c.diff451
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkdnd.c.diff12
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkentry.c.diff1308
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkenums.h.diff15
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkfilesystem.c.diff12
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkfilesystem.h.diff12
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkframe.c.diff82
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhashtable.c.diff102
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhashtable.h.diff64
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhbbox.c.diff344
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhseparator.c.diff40
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkiconfactory.c.diff69
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkicontheme.c.diff48
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimcontext.c.diff52
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimcontext.h.diff29
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimmulticontext.c.diff155
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel-resize-patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel.c.diff390
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel.h.diff29
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmain.c.diff35
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshal.c.diff266
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshal.h.diff284
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshalers.c.diff606
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshalers.h.diff622
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenu.c.diff1223
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenu.h.diff12
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenuitem.c.diff457
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenuitem.h.diff10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenushell.c.diff490
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenushell.h.diff12
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtknotebook.c.diff831
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkprogress.c.diff20
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkprogressbar.c.diff141
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkradiobutton.c.diff244
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrange.c.diff845
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrange.h.diff29
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrbtree.c.diff48
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff581
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.h.diff19
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkscrolledwindow.c.diff162
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkseparator.c.diff21
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkseparatortoolitem.c.diff90
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtksettings.c.diff66
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkspinbutton.c.diff50
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkstyle.c.diff250
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkstyle.h.diff13
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktable.c.diff95
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff443
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.h.diff17
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbufferserialize.c.diff1688
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbufferserialize.h.diff40
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff417
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff252
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbutton.c.diff65
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbutton.h.diff10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreemodelfilter.c.diff52
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreemodelsort.c.diff21
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeprivate.h.diff58
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeselection.c.diff91
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeview.c.diff2253
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeview.h.diff18
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeviewcolumn.c.diff51
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktypebuiltins.c.diff86
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktypebuiltins.h.diff24
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkvseparator.c.diff45
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwidget.c.diff1046
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwidget.h.diff59
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwindow.c.diff78
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwindow.h.diff13
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/hardcoded_libtool.patch29
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif-animation.c.diff108
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff37
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/menu-deactivate.patch50
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/no-demos.patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/no-xwc.patch151
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/scroll-timings.patch15
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/single-click.patch54
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/small-gtkfilesel.patch267
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/spinbutton.patch128
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/xsettings.patch16
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/automake-lossage.patch24
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/disable-tooltips.patch11
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/gtk+-handhelds.patch186
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/gtklabel-center.patch13
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/gtklabel-resize-patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/hardcoded_libtool.patch29
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/menu-deactivate.patch50
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/no-demos.patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/no-xwc.patch151
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/scroll-timings.patch15
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/single-click.patch54
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/small-gtkfilesel.patch267
-rw-r--r--meta/packages/gtk+/gtk+-2.6.7/spinbutton.patch128
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/automake-lossage.patch24
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/disable-tooltips.patch11
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch186
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/gtklabel-resize-patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/hardcoded_libtool.patch29
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/menu-deactivate.patch50
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/no-demos.patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/no-deprecation.patch334
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/no-xwc.patch151
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/scroll-timings.patch15
-rw-r--r--meta/packages/gtk+/gtk+-2.6.8/spinbutton.patch128
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/automake-lossage.patch24
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/disable-tooltips.patch11
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/gtk+-handhelds.patch264
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/gtklabel-resize-patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/gtktreeview-316689.patch25
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/hardcoded_libtool.patch29
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/menu-deactivate.patch50
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/no-demos.patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/no-xwc.patch179
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/scroll-timings.patch15
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/single-click.patch36
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/small-gtkfilesel.patch267
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/spinbutton.patch128
-rw-r--r--meta/packages/gtk+/gtk+-2.8.16/xsettings.patch16
-rw-r--r--meta/packages/gtk+/gtk+_2.10.0.bb97
-rw-r--r--meta/packages/gtk+/gtk+_2.6.4-1.osso7.bb167
-rw-r--r--meta/packages/gtk+/gtk+_2.6.7.bb83
-rw-r--r--meta/packages/gtk+/gtk+_2.6.8.bb80
-rw-r--r--meta/packages/gtk+/gtk+_2.8.16.bb86
-rw-r--r--meta/packages/gtk-doc/gtk-doc-native.bb3
-rw-r--r--meta/packages/gtk-doc/gtk-doc.bb8
-rw-r--r--meta/packages/gtk-doc/gtk-doc.m453
-rw-r--r--meta/packages/gtk-engines/gtk-clearlooks-engine_0.6.2.bb23
-rw-r--r--meta/packages/gtk-engines/gtk-engines_2.7.1.bb32
-rwxr-xr-xmeta/packages/gtkhtml2/gtkhtml2_cvs.bb29
-rw-r--r--meta/packages/hal/hal_0.5.4.bb33
-rw-r--r--meta/packages/hdparm/hdparm-6.3/bswap.patch36
-rw-r--r--meta/packages/hdparm/hdparm-6.3/uclibc.patch32
-rw-r--r--meta/packages/hdparm/hdparm_6.3.bb14
-rw-r--r--meta/packages/hostap/files/hostap-fw-load.patch20
-rw-r--r--meta/packages/hostap/files/hostap_cs.conf185
-rw-r--r--meta/packages/hostap/files/hostap_cs.conf-upstream191
-rw-r--r--meta/packages/hostap/hostap-conf_1.0.bb16
-rw-r--r--meta/packages/hostap/hostap-modules.inc39
-rw-r--r--meta/packages/hostap/hostap-modules/Makefile.patch11
-rw-r--r--meta/packages/hostap/hostap-modules/add_event.patch28
-rw-r--r--meta/packages/hostap/hostap-modules/hostap-utsname.patch77
-rw-r--r--meta/packages/hostap/hostap-modules/hostap_cardid.patch70
-rw-r--r--meta/packages/hostap/hostap-modules/ipaq_compat.patch11
-rw-r--r--meta/packages/hostap/hostap-modules/kernel_updates.patch192
-rw-r--r--meta/packages/hostap/hostap-modules/mtx_compat.diff20
-rw-r--r--meta/packages/hostap/hostap-modules/mtx_hostap_deferred_irq.diff81
-rw-r--r--meta/packages/hostap/hostap-modules_0.3.9.bb7
-rw-r--r--meta/packages/hostap/hostap-utils.inc24
-rw-r--r--meta/packages/hostap/hostap-utils_0.3.7.bb3
-rw-r--r--meta/packages/hostap/hostap-utils_0.4.0.bb3
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/akita/devices68
-rw-r--r--meta/packages/initscripts/initscripts-1.0/arm/alignment.sh6
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/banner15
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/bootmisc.sh71
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/c7x0/devices68
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/checkfs.sh46
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/checkroot.sh165
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/collie/devices67
-rw-r--r--meta/packages/initscripts/initscripts-1.0/device_table.txt179
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/devices66
-rw-r--r--meta/packages/initscripts/initscripts-1.0/devpts5
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/devpts.sh28
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/finish6
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/h3600/devices37
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/h3900/devices37
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/halt31
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/hostname.sh11
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/jornada56x/devices37
-rw-r--r--meta/packages/initscripts/initscripts-1.0/jornada6xx/devices70
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/jornada7xx/devices37
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/mountall.sh45
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/mountnfs.sh87
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/openmn/extractfs7
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/openmn/packages63
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/openmn/umountfs17
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/openzaurus/checkversion31
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/poodle/devices67
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/populate-volatile.sh138
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/ramdisk46
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/reboot17
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/rmnologin14
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/sendsigs17
-rw-r--r--meta/packages/initscripts/initscripts-1.0/simpad/devices37
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/single21
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/spitz/devices68
-rw-r--r--meta/packages/initscripts/initscripts-1.0/sysfs.sh11
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/tosa/devices72
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/uml/devices61
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/umountfs18
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/umountnfs.sh28
-rwxr-xr-xmeta/packages/initscripts/initscripts-1.0/urandom41
-rw-r--r--meta/packages/initscripts/initscripts-1.0/volatiles39
-rw-r--r--meta/packages/initscripts/initscripts_1.0.bb141
-rw-r--r--meta/packages/intltool/intltool-native_0.31.bb4
-rw-r--r--meta/packages/intltool/intltool_0.31.bb13
-rw-r--r--meta/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch34
-rw-r--r--meta/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb20
-rw-r--r--meta/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch17
-rw-r--r--meta/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb16
-rw-r--r--meta/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb33
-rw-r--r--meta/packages/ipkg/files/terse.patch18
-rw-r--r--meta/packages/ipkg/files/uclibc.patch13
-rw-r--r--meta/packages/ipkg/files/uninclude-replace.patch10
-rw-r--r--meta/packages/ipkg/ipkg-collateral.bb23
-rw-r--r--meta/packages/ipkg/ipkg-collateral/akita/dest4
-rw-r--r--meta/packages/ipkg/ipkg-collateral/akita/lists4
-rw-r--r--meta/packages/ipkg/ipkg-collateral/collie/dest4
-rw-r--r--meta/packages/ipkg/ipkg-collateral/dest1
-rw-r--r--meta/packages/ipkg/ipkg-collateral/ipkg.conf.comments23
-rw-r--r--meta/packages/ipkg/ipkg-collateral/jornada56x/dest4
-rw-r--r--meta/packages/ipkg/ipkg-collateral/lists2
-rw-r--r--meta/packages/ipkg/ipkg-collateral/openmn/src1
-rw-r--r--meta/packages/ipkg/ipkg-collateral/poodle/dest4
-rw-r--r--meta/packages/ipkg/ipkg-collateral/simpad/dest3
-rw-r--r--meta/packages/ipkg/ipkg-collateral/src0
-rw-r--r--meta/packages/ipkg/ipkg-collateral/tosa/dest4
-rw-r--r--meta/packages/ipkg/ipkg-native.inc12
-rw-r--r--meta/packages/ipkg/ipkg-native_0.99.154.bb2
-rw-r--r--meta/packages/ipkg/ipkg.inc56
-rw-r--r--meta/packages/ipkg/ipkg_0.99.154.bb2
-rwxr-xr-xmeta/packages/irda-utils/files/init72
-rw-r--r--meta/packages/irda-utils/irda-utils/configure.patch25
-rw-r--r--meta/packages/irda-utils/irda-utils/m4.patch204
-rw-r--r--meta/packages/irda-utils/irda-utils_0.9.16.bb32
-rw-r--r--meta/packages/jpeg/jpeg-6b/debian.patch10014
-rw-r--r--meta/packages/jpeg/jpeg-6b/ldflags.patch16
-rw-r--r--meta/packages/jpeg/jpeg-6b/paths.patch77
-rw-r--r--meta/packages/jpeg/jpeg-native_6b.bb14
-rw-r--r--meta/packages/jpeg/jpeg_6b.bb36
-rw-r--r--meta/packages/js/files/host-cc.patch16
-rw-r--r--meta/packages/js/files/jsautocfg.h52
-rw-r--r--meta/packages/js/js_1.5.bb36
-rw-r--r--meta/packages/keymaps/files/akita/keymap-2.4.map128
-rw-r--r--meta/packages/keymaps/files/akita/keymap-2.6.map228
-rwxr-xr-xmeta/packages/keymaps/files/c7x0/keymap-2.6.map213
-rw-r--r--meta/packages/keymaps/files/collie/keymap-2.4.map114
-rw-r--r--meta/packages/keymaps/files/collie/keymap-2.6.map262
-rwxr-xr-xmeta/packages/keymaps/files/keymap16
-rw-r--r--meta/packages/keymaps/files/poodle/keymap-2.6.map151
-rw-r--r--meta/packages/keymaps/files/spitz/keymap-2.4.map128
-rw-r--r--meta/packages/keymaps/files/spitz/keymap-2.6.map228
-rw-r--r--meta/packages/keymaps/files/tosa/keymap-2.4.map133
-rw-r--r--meta/packages/keymaps/files/tosa/keymap-2.6.map210
-rw-r--r--meta/packages/keymaps/keymaps_1.0.bb34
-rw-r--r--meta/packages/kf/files/fix-configure.patch25
-rw-r--r--meta/packages/kf/files/fix-desktop-file.patch22
-rwxr-xr-xmeta/packages/kf/kf_0.5.4.1.bb16
-rw-r--r--meta/packages/leafpad/files/leafpad.desktop11
-rw-r--r--meta/packages/leafpad/files/leafpad.pngbin0 -> 1950 bytes
-rw-r--r--meta/packages/leafpad/leafpad_0.8.4.bb21
-rw-r--r--meta/packages/leafpad/leafpad_0.8.9.bb21
-rw-r--r--meta/packages/less/less-382/configure.patch243
-rw-r--r--meta/packages/less/less_382.bb16
-rw-r--r--meta/packages/libdaemon/libdaemon_0.10.bb20
-rw-r--r--meta/packages/libfakekey/libfakekey_svn.bb23
-rw-r--r--meta/packages/libgcrypt/libgcrypt_1.2.1.bb28
-rw-r--r--meta/packages/libglade/libglade-2.5.1/glade-cruft.patch100
-rw-r--r--meta/packages/libglade/libglade-2.5.1/no-deprecation.patch10
-rw-r--r--meta/packages/libglade/libglade-2.5.1/no-xml2.patch499
-rw-r--r--meta/packages/libglade/libglade_2.5.1.bb34
-rw-r--r--meta/packages/libgpg-error/libgpg-error-1.0/pkgconfig.patch56
-rw-r--r--meta/packages/libgpg-error/libgpg-error_1.0.bb28
-rw-r--r--meta/packages/libgtkstylus/files/gtkstylus.sh5
-rw-r--r--meta/packages/libgtkstylus/libgtkstylus_0.5.bb17
-rw-r--r--meta/packages/libiconv/libiconv_1.9.2.bb29
-rw-r--r--meta/packages/libidl/libidl-native_0.8.3.bb5
-rw-r--r--meta/packages/libidl/libidl_0.8.3.bb23
-rw-r--r--meta/packages/libmatchbox/files/16bppfixes.patch36
-rw-r--r--meta/packages/libmatchbox/files/autofoo.patch19
-rw-r--r--meta/packages/libmatchbox/files/check.m4133
-rw-r--r--meta/packages/libmatchbox/files/fix-configure-for-1.9.patch14
-rw-r--r--meta/packages/libmatchbox/libmatchbox.inc23
-rw-r--r--meta/packages/libmatchbox/libmatchbox_1.7.bb8
-rw-r--r--meta/packages/libmatchbox/libmatchbox_svn.bb13
-rw-r--r--meta/packages/libnss-mdns/files/alignment-fix.patch11
-rw-r--r--meta/packages/libnss-mdns/libnss-mdns_0.7.bb29
-rw-r--r--meta/packages/libpcap/libpcap-0.9.3/shared.patch119
-rw-r--r--meta/packages/libpcap/libpcap_0.9.3.bb32
-rw-r--r--meta/packages/libpng/libpng-native_1.2.8.bb14
-rw-r--r--meta/packages/libpng/libpng_1.2.8.bb57
-rw-r--r--meta/packages/libtool/libtool-1.5.10/3figures.patch29
-rw-r--r--meta/packages/libtool/libtool-1.5.10/autotools.patch127
-rw-r--r--meta/packages/libtool/libtool-1.5.10/install-path-check.patch25
-rw-r--r--meta/packages/libtool/libtool-1.5.10/libdir-la.patch52
-rw-r--r--meta/packages/libtool/libtool-1.5.10/prefix.patch40
-rw-r--r--meta/packages/libtool/libtool-1.5.10/sedvar.patch16
-rw-r--r--meta/packages/libtool/libtool-1.5.10/tag.patch19
-rw-r--r--meta/packages/libtool/libtool-1.5.10/tag1.patch13
-rw-r--r--meta/packages/libtool/libtool-1.5.10/uclibc.patch19
-rw-r--r--meta/packages/libtool/libtool-cross_1.5.10.bb27
-rw-r--r--meta/packages/libtool/libtool-native_1.5.10.bb35
-rw-r--r--meta/packages/libtool/libtool_1.5.10.bb35
-rw-r--r--meta/packages/libusb/libusb-0.1.10a/ARMfix.patch20
-rw-r--r--meta/packages/libusb/libusb-0.1.10a/debian-changes.patch407
-rw-r--r--meta/packages/libusb/libusb_0.1.10a.bb28
-rw-r--r--meta/packages/libxml/files/no-testapi.patch51
-rw-r--r--meta/packages/libxml/libxml2_2.6.10.bb40
-rw-r--r--meta/packages/libxml/libxml2_2.6.22.bb39
-rw-r--r--meta/packages/libxml/libxml2_cvs.bb43
-rw-r--r--meta/packages/libxsettings-client/libxsettings-client_0.14.bb21
-rw-r--r--meta/packages/libxsettings-client/make_pkgconfig_x11.patch21
-rw-r--r--meta/packages/libxsettings/libxsettings_0.11.bb24
-rw-r--r--meta/packages/linux-hotplug/files/collie/usbd1
-rwxr-xr-xmeta/packages/linux-hotplug/files/mmc.agent52
-rwxr-xr-xmeta/packages/linux-hotplug/files/sleeve.agent120
-rwxr-xr-xmeta/packages/linux-hotplug/files/sleeve.rc60
-rw-r--r--meta/packages/linux-hotplug/files/soc.agent62
-rw-r--r--meta/packages/linux-hotplug/files/sysconfig-hotplug12
-rw-r--r--meta/packages/linux-hotplug/files/sysconfig-usb0
-rw-r--r--meta/packages/linux-hotplug/files/tosa/sysconfig-usb2
-rw-r--r--meta/packages/linux-hotplug/files/usbd2
-rwxr-xr-xmeta/packages/linux-hotplug/files/usbd.agent63
-rw-r--r--meta/packages/linux-hotplug/linux-hotplug-20040920/fix-net.agent29
-rw-r--r--meta/packages/linux-hotplug/linux-hotplug-20040920/hotplug-net-agent-usb.patch43
-rw-r--r--meta/packages/linux-hotplug/linux-hotplug-20040920/isapnp-exit.diff11
-rw-r--r--meta/packages/linux-hotplug/linux-hotplug-20040920/logcheck-ignore1
-rwxr-xr-xmeta/packages/linux-hotplug/linux-hotplug-20040920/update-usb.usermap37
-rw-r--r--meta/packages/linux-hotplug/linux-hotplug-20040920/usb-storage2
-rw-r--r--meta/packages/linux-hotplug/linux-hotplug-20040920/usbrc-busybox.patch13
-rw-r--r--meta/packages/linux-hotplug/linux-hotplug-20040920/userspecified_hcd.patch55
-rw-r--r--meta/packages/linux-hotplug/linux-hotplug_20040920.bb73
-rw-r--r--meta/packages/linux-libc-headers/files/keyboard.patch78
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/3477-1.patch43
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/asm-arch-irqs.patch19
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-netdevice.patch11
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-netfilter_ipv4.patch31
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-rtc.patch11
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-videodev2.patch45
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers_2.6.11.1.bb65
-rw-r--r--meta/packages/linux-libc-headers/linux-libc-headers_2.6.15.99.bb80
-rw-r--r--meta/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch126
-rw-r--r--meta/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch1566
-rw-r--r--meta/packages/linux/linux-cmx270-2.6.17/defconfig1169
-rw-r--r--meta/packages/linux/linux-cmx270-2.6.17/mach-types1112
-rw-r--r--meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch599
-rw-r--r--meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch15
-rw-r--r--meta/packages/linux/linux-cmx270-rp-2.6.17/defconfig1485
-rw-r--r--meta/packages/linux/linux-cmx270-rp-2.6.17/mach-types1095
-rw-r--r--meta/packages/linux/linux-cmx270-rp_2.6.17.bb42
-rw-r--r--meta/packages/linux/linux-cmx270_2.6.17.bb40
-rw-r--r--meta/packages/linux/linux-nokia770-2.6.12.3-osso14/nokia770/defconfig1297
-rw-r--r--meta/packages/linux/linux-nokia770_2.6.12.3-osso14.bb31
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/00-hostap.patch45
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/10-pcnet.patch27
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/add-oz-release-string.patch24
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/connectplus-remove-ide-HACK.patch12
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/defconfig-akita1565
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/defconfig-c7x01601
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/defconfig-collie1147
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/defconfig-ipaq-pxa2701021
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/defconfig-poodle1549
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/defconfig-qemuarm961
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/defconfig-spitz1565
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa1601
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/hrw-pcmcia-ids-r2.patch42
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/locomo-kbd-hotkeys.patch48
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/locomo-lcd-def-bightness.patch11
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch49
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/pxa-serial-hack.patch73
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch61
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch26
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch155
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.16/squashfs3.0-2.6.15.patch4173
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/00-hostap.patch45
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/10-pcnet.patch27
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/add-oz-release-string.patch24
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/connectplus-remove-ide-HACK.patch12
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/defconfig-akita1565
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/defconfig-c7x01601
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/defconfig-collie1147
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/defconfig-ipaq-pxa2701021
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/defconfig-poodle1549
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/defconfig-qemuarm934
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/defconfig-spitz1565
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/defconfig-tosa1601
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/hrw-pcmcia-ids-r2.patch42
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/pxa-serial-hack.patch73
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch155
-rw-r--r--meta/packages/linux/linux-openzaurus-2.6.17/squashfs3.0-2.6.15.patch4173
-rw-r--r--meta/packages/linux/linux-openzaurus.inc199
-rw-r--r--meta/packages/linux/linux-openzaurus_2.6.16.bb158
-rw-r--r--meta/packages/linux/linux-openzaurus_2.6.17.bb120
-rw-r--r--meta/packages/lirc/files/lirc_sir-sa1100.patch10
-rw-r--r--meta/packages/lirc/files/lircd.conf_nslu21886
-rwxr-xr-xmeta/packages/lirc/files/lircd.init39
-rwxr-xr-xmeta/packages/lirc/files/lircexec.init37
-rwxr-xr-xmeta/packages/lirc/files/lircmd.init38
-rw-r--r--meta/packages/lirc/files/lircrc_nslu2113
-rw-r--r--meta/packages/lirc/files/split-hauppauge.patch141
-rw-r--r--meta/packages/lirc/lirc-config.inc12
-rw-r--r--meta/packages/lirc/lirc-modules_0.7.1.bb34
-rw-r--r--meta/packages/lirc/lirc_0.7.1.bb38
-rwxr-xr-xmeta/packages/loudmouth/loudmouth_1.0.1.bb13
-rw-r--r--meta/packages/lrzsz/lrzsz-0.12.20/autotools.patch37
-rw-r--r--meta/packages/lrzsz/lrzsz-0.12.20/gettext.patch21882
-rw-r--r--meta/packages/lrzsz/lrzsz-0.12.20/makefile.patch20
-rw-r--r--meta/packages/lrzsz/lrzsz_0.12.20.bb24
-rw-r--r--meta/packages/lsof/lsof_4.75.bb38
-rw-r--r--meta/packages/lttng/lttng-control-0.10/lttctl_sti-r0.patch147
-rw-r--r--meta/packages/lttng/lttng-control-0.6/lttctl_sti-r0.patch134
-rw-r--r--meta/packages/lttng/lttng-control_0.10.bb17
-rw-r--r--meta/packages/lttng/lttng-control_0.6.bb16
-rw-r--r--meta/packages/lttng/lttng-viewer_0.8.41-20060512.bb20
-rw-r--r--meta/packages/m4/m4-native_1.4.2.bb19
-rw-r--r--meta/packages/m4/m4/make.patch41
-rw-r--r--meta/packages/m4/m4_1.4.2.bb12
-rw-r--r--meta/packages/maemo/nokia770-init/fixup-770.sh25
-rw-r--r--meta/packages/maemo/nokia770-init_1.0.bb42
-rw-r--r--meta/packages/maemo/xpext/auxdir.patch13
-rw-r--r--meta/packages/maemo/xpext_1.0-5.bb27
-rw-r--r--meta/packages/maemo/xsp_1.0.0-8.bb20
-rw-r--r--meta/packages/make/make-3.80/SCCS.patch16
-rw-r--r--meta/packages/make/make_3.80.bb9
-rw-r--r--meta/packages/makedevs/makedevs-1.0.0/makedevs.c338
-rw-r--r--meta/packages/makedevs/makedevs-native_1.0.0.bb10
-rw-r--r--meta/packages/makedevs/makedevs_1.0.0.bb20
-rw-r--r--meta/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb12
-rw-r--r--meta/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb12
-rw-r--r--meta/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb12
-rw-r--r--meta/packages/matchbox-common/matchbox-common_0.9.1.bb14
-rw-r--r--meta/packages/matchbox-common/matchbox-common_svn.bb17
-rw-r--r--meta/packages/matchbox-common/matchbox_0.9.1.bb7
-rw-r--r--meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb11
-rw-r--r--meta/packages/matchbox-desktop/matchbox-desktop_0.9.1.bb27
-rw-r--r--meta/packages/matchbox-desktop/matchbox-desktop_svn.bb31
-rw-r--r--meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb22
-rw-r--r--meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop7
-rwxr-xr-xmeta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home2
-rw-r--r--meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop7
-rwxr-xr-xmeta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh9
-rw-r--r--meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.pngbin0 -> 1651 bytes
-rw-r--r--meta/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb23
-rw-r--r--meta/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb12
-rw-r--r--meta/packages/matchbox-panel/matchbox-panel.inc22
-rw-r--r--meta/packages/matchbox-panel/matchbox-panel_0.9.2.bb6
-rw-r--r--meta/packages/matchbox-panel/matchbox-panel_svn.bb11
-rwxr-xr-xmeta/packages/matchbox-poky/matchbox-poky/etc/matchbox/session43
-rw-r--r--meta/packages/matchbox-poky/matchbox-poky_0.1.bb20
-rw-r--r--meta/packages/matchbox-stroke/matchbox-stroke_svn.bb19
-rw-r--r--meta/packages/matchbox-themes-extra/matchbox-themes-extra_0.3.bb25
-rw-r--r--meta/packages/matchbox-themes-extra/matchbox-themes-extra_svn.bb30
-rw-r--r--meta/packages/matchbox-themes-gtk/files/gtkrc1
-rw-r--r--meta/packages/matchbox-themes-gtk/matchbox-themes-gtk.bb17
-rw-r--r--meta/packages/matchbox-wm/matchbox-wm/collie/kbdconfig54
-rw-r--r--meta/packages/matchbox-wm/matchbox-wm/kbdconfig47
-rw-r--r--meta/packages/matchbox-wm/matchbox-wm/kbdconfig_keylaunch_simpad.patch12
-rw-r--r--meta/packages/matchbox-wm/matchbox-wm/simpad/kbdconfig48
-rw-r--r--meta/packages/matchbox-wm/matchbox-wm_0.9.5.bb33
-rw-r--r--meta/packages/matchbox-wm/matchbox-wm_svn.bb34
-rw-r--r--meta/packages/meta/bootstrap-image.bb17
-rw-r--r--meta/packages/meta/oh-image-devel.bb24
-rw-r--r--meta/packages/meta/oh-image-minimal.bb21
-rw-r--r--meta/packages/meta/oh-image-sdk.bb27
-rw-r--r--meta/packages/meta/oh-image.bb22
-rw-r--r--meta/packages/meta/package-index.bb34
-rw-r--r--meta/packages/meta/task-oh-sdk.bb188
-rw-r--r--meta/packages/meta/task-oh.bb124
-rw-r--r--meta/packages/misc-binary-only/prism3-firmware_1.8.4.bb27
-rw-r--r--meta/packages/module-init-tools/files/ignore_arch_directory24
-rw-r--r--meta/packages/module-init-tools/files/manpagesopt41
-rw-r--r--meta/packages/module-init-tools/files/modutils_extension55
-rw-r--r--meta/packages/module-init-tools/files/no_man_rebuild12
-rw-r--r--meta/packages/module-init-tools/module-init-tools-cross_3.2.2.bb16
-rw-r--r--meta/packages/module-init-tools/module-init-tools_3.2.2.bb63
-rw-r--r--meta/packages/modutils/files/armeb.patch14
-rw-r--r--meta/packages/modutils/files/configure.patch33
-rw-r--r--meta/packages/modutils/files/gcc4.patch66
-rw-r--r--meta/packages/modutils/files/ipaq-pxa-2.6/modules18
-rw-r--r--meta/packages/modutils/files/ipaq-pxa-2.6/modules.conf1
-rw-r--r--meta/packages/modutils/files/lex.l.diff33
-rw-r--r--meta/packages/modutils/files/mnci/modules1
-rw-r--r--meta/packages/modutils/files/mnci/modules-ramses1
-rw-r--r--meta/packages/modutils/files/mnci/modules.conf20
-rwxr-xr-xmeta/packages/modutils/files/mnci/modutils.sh10
-rw-r--r--meta/packages/modutils/files/modules0
-rw-r--r--meta/packages/modutils/files/modules.conf0
-rw-r--r--meta/packages/modutils/files/modutils-notest.patch14
-rwxr-xr-xmeta/packages/modutils/files/modutils.sh27
-rw-r--r--meta/packages/modutils/files/mtx-1/modules3
-rw-r--r--meta/packages/modutils/files/omap1610h2/modules0
-rw-r--r--meta/packages/modutils/files/omap1610h2/modules.conf0
-rw-r--r--meta/packages/modutils/files/poodle/modules3
-rw-r--r--meta/packages/modutils/files/poodle/modules.conf4
-rw-r--r--meta/packages/modutils/files/program_prefix.patch69
-rw-r--r--meta/packages/modutils/files/tosa/modules4
-rw-r--r--meta/packages/modutils/files/tosa/modules.conf4
-rw-r--r--meta/packages/modutils/files/wrt54/modules4
-rw-r--r--meta/packages/modutils/modutils-collateral.bb16
-rw-r--r--meta/packages/modutils/modutils-cross/module.h.diff33
-rw-r--r--meta/packages/modutils/modutils-cross_2.4.27.bb27
-rw-r--r--meta/packages/modutils/modutils-initscripts.bb18
-rw-r--r--meta/packages/modutils/modutils_2.4.27.bb88
-rw-r--r--meta/packages/mozilla/files/minimo.desktop9
-rw-r--r--meta/packages/mozilla/files/minimo.pngbin0 -> 4323 bytes
-rw-r--r--meta/packages/mozilla/files/mozilla-firefox.desktop11
-rw-r--r--meta/packages/mozilla/files/mozilla-firefox.pngbin0 -> 4323 bytes
-rw-r--r--meta/packages/mozilla/files/mozilla-thunderbird.desktop11
-rw-r--r--meta/packages/mozilla/files/mozilla-thunderbird.pngbin0 -> 6499 bytes
-rw-r--r--meta/packages/mozilla/files/no-xmb.patch18
-rw-r--r--meta/packages/mozilla/files/xptcstubs.patch19
-rw-r--r--meta/packages/mozilla/minimo/host_ldflags_fix.patch62
-rw-r--r--meta/packages/mozilla/minimo/mozconfig76
-rw-r--r--meta/packages/mozilla/minimo_cvs.bb54
-rw-r--r--meta/packages/mozilla/mozilla-cvs.inc12
-rw-r--r--meta/packages/mpfr/mpfr-native_2.1.1.bb4
-rw-r--r--meta/packages/mpfr/mpfr_2.1.1.bb20
-rw-r--r--meta/packages/mtd/mtd-utils-native_20060223.bb12
-rw-r--r--meta/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-20060131.patch100
-rw-r--r--meta/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2.patch103
-rw-r--r--meta/packages/mtd/mtd-utils/fix-ignoreerrors-20060131.patch20
-rw-r--r--meta/packages/mtd/mtd-utils/fix-ignoreerrors.patch20
-rw-r--r--meta/packages/mtd/mtd-utils/more-verbosity.patch17
-rw-r--r--meta/packages/mtd/mtd-utils_20060223.bb36
-rw-r--r--meta/packages/ncurses/ncurses-native_5.4.bb6
-rw-r--r--meta/packages/ncurses/ncurses.inc86
-rw-r--r--meta/packages/ncurses/ncurses/20030906.patch43248
-rw-r--r--meta/packages/ncurses/ncurses/configure.patch193
-rw-r--r--meta/packages/ncurses/ncurses/mk_shared_lib.patch27
-rw-r--r--meta/packages/ncurses/ncurses/run_tic.patch23
-rw-r--r--meta/packages/ncurses/ncurses/tic.patch19
-rw-r--r--meta/packages/ncurses/ncurses/visibility.patch4904
-rw-r--r--meta/packages/ncurses/ncurses_5.4.bb7
-rw-r--r--meta/packages/netbase/netbase/busybox.patch13
-rw-r--r--meta/packages/netbase/netbase/colinux/interfaces8
-rw-r--r--meta/packages/netbase/netbase/epia/interfaces10
-rw-r--r--meta/packages/netbase/netbase/hosts2
-rw-r--r--meta/packages/netbase/netbase/init102
-rw-r--r--meta/packages/netbase/netbase/interfaces43
-rw-r--r--meta/packages/netbase/netbase/mtx-1/interfaces29
-rw-r--r--meta/packages/netbase/netbase/openmn/hosts2
-rw-r--r--meta/packages/netbase/netbase/openmn/interfaces10
-rw-r--r--meta/packages/netbase/netbase/options3
-rw-r--r--meta/packages/netbase/netbase/tosa/interfaces24
-rw-r--r--meta/packages/netbase/netbase/wrt54/interfaces23
-rw-r--r--meta/packages/netbase/netbase/xxs1500/interfaces15
-rw-r--r--meta/packages/netbase/netbase_4.21.bb42
-rw-r--r--meta/packages/network-suspend-scripts/files/ifupdown26
-rw-r--r--meta/packages/network-suspend-scripts/files/usbnet16
-rw-r--r--meta/packages/network-suspend-scripts/network-suspend-scripts.bb22
-rw-r--r--meta/packages/oh/usbinit.bb19
-rwxr-xr-xmeta/packages/oh/usbinit/usb-gether19
-rw-r--r--meta/packages/openswan/openswan-2.2.0/gcc4-fixes.patch329
-rw-r--r--meta/packages/openswan/openswan-2.2.0/ld-library-path-breakage.patch26
-rw-r--r--meta/packages/openswan/openswan-2.2.0/makefile-whitespace-fix.patch11
-rw-r--r--meta/packages/openswan/openswan-2.2.0/openswan-2.2.0-gentoo.patch382
-rw-r--r--meta/packages/openswan/openswan_2.2.0.bb37
-rw-r--r--meta/packages/opensync/libopensync-plugin-evolution2-0.17/fix-warnings.patch11
-rw-r--r--meta/packages/opensync/libopensync-plugin-evolution2_0.17.bb17
-rw-r--r--meta/packages/opensync/libopensync-plugin-file_0.17.bb16
-rw-r--r--meta/packages/opensync/libopensync_0.17.bb24
-rw-r--r--meta/packages/opensync/multisync_0.90.17.bb6
-rw-r--r--meta/packages/oprofile/oprofile-0.9.1/acinclude.m4600
-rw-r--r--meta/packages/oprofile/oprofile-0.9.1/no_arm_mapping_syms.patch21
-rw-r--r--meta/packages/oprofile/oprofile/acinclude.m4600
-rw-r--r--meta/packages/oprofile/oprofile/no_arm_mapping_syms.patch21
-rw-r--r--meta/packages/oprofile/oprofile_0.9.1.bb39
-rw-r--r--meta/packages/oprofile/oprofile_cvs.bb41
-rw-r--r--meta/packages/orinoco/files/hermes.conf85
-rw-r--r--meta/packages/orinoco/files/orinoco_cs.conf2
-rw-r--r--meta/packages/orinoco/files/spectrum.conf18
-rw-r--r--meta/packages/orinoco/files/spectrum_fw.h4569
-rw-r--r--meta/packages/orinoco/orinoco-conf_1.0.bb19
-rw-r--r--meta/packages/orinoco/orinoco-modules-0.15rc2/add_event.patch56
-rw-r--r--meta/packages/orinoco/orinoco-modules-0.15rc2/add_utsname.patch21
-rw-r--r--meta/packages/orinoco/orinoco-modules-0.15rc2/catch-up-with-kernel-changes.patch48
-rw-r--r--meta/packages/orinoco/orinoco-modules-0.15rc2/list-move.patch22
-rw-r--r--meta/packages/orinoco/orinoco-modules-0.15rc2/makefile_fix.patch13
-rw-r--r--meta/packages/orinoco/orinoco-modules-0.15rc2/spectrum_cs_ids.patch101
-rw-r--r--meta/packages/orinoco/orinoco-modules_0.15rc2.bb38
-rw-r--r--meta/packages/orinoco/spectrum-fw.bb21
-rwxr-xr-xmeta/packages/orinoco/spectrum-fw/get_symbol_fw43
-rwxr-xr-xmeta/packages/orinoco/spectrum-fw/parse_symbol_fw129
-rw-r--r--meta/packages/pango/files/gtk-doc.patch59
-rw-r--r--meta/packages/pango/files/no-tests.patch15
-rw-r--r--meta/packages/pango/pango_1.10.0.bb49
-rw-r--r--meta/packages/pango/pango_1.12.0.bb49
-rw-r--r--meta/packages/pango/pango_1.13.3.bb49
-rw-r--r--meta/packages/pango/pango_1.9.1.bb49
-rw-r--r--meta/packages/pcmanfm/files/emblem-symbolic-link.pngbin0 -> 999 bytes
-rw-r--r--meta/packages/pcmanfm/files/gnome-fs-directory.pngbin0 -> 2044 bytes
-rw-r--r--meta/packages/pcmanfm/files/gnome-fs-regular.pngbin0 -> 3220 bytes
-rw-r--r--meta/packages/pcmanfm/files/gnome-mime-text-plain.pngbin0 -> 2855 bytes
-rw-r--r--meta/packages/pcmanfm/files/no-fam-gtk2.6.patch374
-rw-r--r--meta/packages/pcmanfm/files/pcmanfm.desktop11
-rw-r--r--meta/packages/pcmanfm/files/pcmanfm.pngbin0 -> 2281 bytes
-rw-r--r--meta/packages/pcmanfm/pcmanfm_0.1.9.8.bb29
-rw-r--r--meta/packages/pcmcia-cs/files/arm/pcmcia40
-rw-r--r--meta/packages/pcmcia-cs/files/gcc4_fixes.patch26
-rw-r--r--meta/packages/pcmcia-cs/files/network.conf13
-rw-r--r--meta/packages/pcmcia-cs/files/pcmcia1
-rw-r--r--meta/packages/pcmcia-cs/files/wnv.conf14
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/automount.patch19
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/busybox.patch20
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/ide.opts25
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/network.patch92
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/no-hostap-cards.patch124
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/nocleanup.patch11
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/pcic-extra.patch30
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/ratoc-cfu1u.patch23
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/spitz/ide.opts28
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/wireless.opts47
-rw-r--r--meta/packages/pcmcia-cs/pcmcia-cs_3.2.8.bb102
-rw-r--r--meta/packages/pcmciautils/pcmciautils-013/makefile_fix.patch20
-rw-r--r--meta/packages/pcmciautils/pcmciautils-013/version_workaround.patch16
-rw-r--r--meta/packages/pcmciautils/pcmciautils_010.bb31
-rw-r--r--meta/packages/pcmciautils/pcmciautils_013.bb33
-rw-r--r--meta/packages/perl/files/Configure-multilib.patch11
-rw-r--r--meta/packages/perl/files/Makefile.SH.patch298
-rw-r--r--meta/packages/perl/files/Makefile.patch23
-rw-r--r--meta/packages/perl/files/config.sh-arm-linux.patch46
-rw-r--r--meta/packages/perl/files/config.sh-i686-linux1024
-rw-r--r--meta/packages/perl/files/config.sh-mipsel-linux1026
-rw-r--r--meta/packages/perl/files/libperl-5.8.3-create-libperl-soname.patch11
-rw-r--r--meta/packages/perl/files/uclibc.patch26
-rw-r--r--meta/packages/perl/libxml-parser-perl-native_2.34.bb4
-rw-r--r--meta/packages/perl/libxml-parser-perl_2.34.bb6
-rw-r--r--meta/packages/perl/perl-5.8.7/Makefile.SH.patch206
-rw-r--r--meta/packages/perl/perl-5.8.7/Makefile.patch18
-rw-r--r--meta/packages/perl/perl-5.8.7/config.sh-arm-linux1029
-rw-r--r--meta/packages/perl/perl-5.8.7/config.sh-arm-linux.patch34
-rw-r--r--meta/packages/perl/perl-5.8.7/config.sh-armeb-linux1028
-rw-r--r--meta/packages/perl/perl-5.8.7/config.sh-i386-linux1028
-rw-r--r--meta/packages/perl/perl-5.8.7/config.sh-i686-linux1028
-rw-r--r--meta/packages/perl/perl-5.8.7/config.sh-mipsel-linux1031
-rw-r--r--meta/packages/perl/perl-5.8.7/libperl-5.8.3-create-libperl-soname.patch11
-rw-r--r--meta/packages/perl/perl-5.8.7/uclibc.patch0
-rw-r--r--meta/packages/perl/perl-native_5.8.7.bb38
-rw-r--r--meta/packages/perl/perl-rdepends_5.8.7.inc1137
-rw-r--r--meta/packages/perl/perl.inc73
-rw-r--r--meta/packages/perl/perl_5.8.7.bb101
-rw-r--r--meta/packages/pkgconfig/pkgconfig-0.15.0/configure.patch495
-rw-r--r--meta/packages/pkgconfig/pkgconfig-0.15.0/glibconfig-sysdefs.h6
-rw-r--r--meta/packages/pkgconfig/pkgconfig-0.15.0/pkg.m4156
-rw-r--r--meta/packages/pkgconfig/pkgconfig-native_0.15.0.bb7
-rw-r--r--meta/packages/pkgconfig/pkgconfig_0.15.0.bb26
-rw-r--r--meta/packages/popt/popt-1.7/intl.patch15
-rw-r--r--meta/packages/popt/popt-1.7/m4.patch2155
-rw-r--r--meta/packages/popt/popt-native_1.7.bb6
-rw-r--r--meta/packages/popt/popt_1.7.bb16
-rw-r--r--meta/packages/portmap/files/make.patch83
-rw-r--r--meta/packages/portmap/files/no-libwrap.patch26
-rwxr-xr-xmeta/packages/portmap/files/portmap.init50
-rw-r--r--meta/packages/portmap/portmap_5-9.bb33
-rw-r--r--meta/packages/ppp-dialin/files/host-peer11
-rw-r--r--meta/packages/ppp-dialin/files/ppp-dialin3
-rw-r--r--meta/packages/ppp-dialin/ppp-dialin_0.1.bb35
-rw-r--r--meta/packages/ppp/files/08setupdns12
-rw-r--r--meta/packages/ppp/files/92removedns5
-rwxr-xr-xmeta/packages/ppp/files/init50
-rwxr-xr-xmeta/packages/ppp/files/ip-down43
-rwxr-xr-xmeta/packages/ppp/files/ip-up44
-rw-r--r--meta/packages/ppp/files/poff26
-rw-r--r--meta/packages/ppp/files/pon9
-rw-r--r--meta/packages/ppp/ppp-2.4.3/cifdefroute.patch286
-rw-r--r--meta/packages/ppp/ppp-2.4.3/enable-ipv6.patch11
-rw-r--r--meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch19
-rw-r--r--meta/packages/ppp/ppp-2.4.3/makefile.patch89
-rw-r--r--meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch7
-rw-r--r--meta/packages/ppp/ppp-2.4.3/pppd-resolv-varrun.patch43
-rw-r--r--meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch7
-rw-r--r--meta/packages/ppp/ppp_2.4.3.bb70
-rw-r--r--meta/packages/prism3-support/files/hostap-fw-load20
-rw-r--r--meta/packages/prism3-support/prism3-support_1.0.0.bb16
-rw-r--r--meta/packages/psmisc/psmisc-20.2/gettext.patch18062
-rw-r--r--meta/packages/psmisc/psmisc_20.2.bb43
-rw-r--r--meta/packages/puzzles/puzzles/game.pngbin0 -> 2168 bytes
-rw-r--r--meta/packages/puzzles/puzzles_r6727.bb45
-rw-r--r--meta/packages/qemu/files/configure.patch13
-rw-r--r--meta/packages/qemu/files/mouse_fix-r0.patch25
-rw-r--r--meta/packages/qemu/files/nodocs_cvs.patch44
-rw-r--r--meta/packages/qemu/files/pl110_rgb-r0.patch219
-rw-r--r--meta/packages/qemu/qemu-native_cvs.bb14
-rw-r--r--meta/packages/qemu/qemu_cvs.bb13
-rw-r--r--meta/packages/quilt/files/install.patch19
-rw-r--r--meta/packages/quilt/files/non-gnu.patch13
-rw-r--r--meta/packages/quilt/files/nostrip.patch16
-rw-r--r--meta/packages/quilt/quilt-native_0.42.bb14
-rw-r--r--meta/packages/quilt/quilt-package.inc10
-rw-r--r--meta/packages/quilt/quilt.inc13
-rw-r--r--meta/packages/quilt/quilt_0.42.bb7
-rw-r--r--meta/packages/randrext/randrext_1.0.bb16
-rw-r--r--meta/packages/randrext/randrext_cvs.bb18
-rw-r--r--meta/packages/readline/readline-4.3/acinclude.m41815
-rw-r--r--meta/packages/readline/readline-4.3/shlink-termcap.patch45
-rw-r--r--meta/packages/readline/readline-native_4.3.bb4
-rw-r--r--meta/packages/readline/readline_4.3.bb34
-rw-r--r--meta/packages/recordext/recordext_cvs.bb18
-rw-r--r--meta/packages/renderext/renderext_0.8.bb16
-rw-r--r--meta/packages/renderext/renderext_cvs.bb19
-rw-r--r--meta/packages/resourceext/resourceext_1.0.bb17
-rw-r--r--meta/packages/resourceext/resourceext_cvs.bb19
-rw-r--r--meta/packages/rxvt-unicode/files/makefile.patch20
-rw-r--r--meta/packages/rxvt-unicode/files/rxvt.desktop10
-rw-r--r--meta/packages/rxvt-unicode/files/rxvt.pngbin0 -> 2847 bytes
-rw-r--r--meta/packages/rxvt-unicode/files/signedchar.patch11
-rw-r--r--meta/packages/rxvt-unicode/files/xwc.patch28
-rw-r--r--meta/packages/rxvt-unicode/rxvt-unicode-5.6/xwc.patch24
-rw-r--r--meta/packages/rxvt-unicode/rxvt-unicode_5.6.bb68
-rw-r--r--meta/packages/scap/files/scap.desktop9
-rw-r--r--meta/packages/scap/files/scap.pngbin0 -> 628 bytes
-rw-r--r--meta/packages/scap/files/scap.sh20
-rw-r--r--meta/packages/scap/scap_0.1.bb15
-rw-r--r--meta/packages/setserial/setserial_2.17.bb12
-rwxr-xr-xmeta/packages/settings-daemon/files/70settings-daemon3
-rw-r--r--meta/packages/settings-daemon/settings-daemon_svn.bb18
-rw-r--r--meta/packages/shared-mime-info/shared-mime-info_0.16.bb18
-rw-r--r--meta/packages/sharp-binary-only/sharp-flash-header-c700.bb8
-rw-r--r--meta/packages/sharp-binary-only/sharp-flash-header-c700/header-c700.binbin0 -> 16 bytes
-rw-r--r--meta/packages/startup-notification/startup-notification_0.8.bb19
-rw-r--r--meta/packages/strace/strace-4.5.12/quota.patch10
-rw-r--r--meta/packages/strace/strace/arm-syscallent.patch402
-rw-r--r--meta/packages/strace/strace_4.5.12.bb13
-rw-r--r--meta/packages/sysfsutils/sysfsutils_2.0.0.bb23
-rw-r--r--meta/packages/sysvinit/sysvinit-2.86/install.patch77
-rw-r--r--meta/packages/sysvinit/sysvinit-2.86/sysvinit-2.86.patch4880
-rwxr-xr-xmeta/packages/sysvinit/sysvinit/bootlogd.init85
-rw-r--r--meta/packages/sysvinit/sysvinit/inittab30
-rw-r--r--meta/packages/sysvinit/sysvinit/need6
-rw-r--r--meta/packages/sysvinit/sysvinit/postinst17
-rw-r--r--meta/packages/sysvinit/sysvinit/prerm9
-rw-r--r--meta/packages/sysvinit/sysvinit/provide6
-rwxr-xr-xmeta/packages/sysvinit/sysvinit/rc102
-rwxr-xr-xmeta/packages/sysvinit/sysvinit/rcS110
-rw-r--r--meta/packages/sysvinit/sysvinit/rcS-default21
-rw-r--r--meta/packages/sysvinit/sysvinit_2.86.bb130
-rw-r--r--meta/packages/tinylogin/tinylogin-1.4/add-system.patch115
-rw-r--r--meta/packages/tinylogin/tinylogin-1.4/adduser-empty_pwd.patch43
-rw-r--r--meta/packages/tinylogin/tinylogin-1.4/cvs-20040608.patch821
-rw-r--r--meta/packages/tinylogin/tinylogin_1.4.bb28
-rw-r--r--meta/packages/tslib/tslib-maemo/multievent.patch843
-rw-r--r--meta/packages/tslib/tslib-maemo/nokia770/ts.conf2
-rw-r--r--meta/packages/tslib/tslib-maemo/nokia770/tslib.sh5
-rw-r--r--meta/packages/tslib/tslib-maemo/ts.conf25
-rw-r--r--meta/packages/tslib/tslib-maemo_0.0.1-15.bb49
-rw-r--r--meta/packages/tslib/tslib/akita/tslib.sh16
-rw-r--r--meta/packages/tslib/tslib/c7x0/tslib.sh16
-rw-r--r--meta/packages/tslib/tslib/collie/ts.conf5
-rw-r--r--meta/packages/tslib/tslib/collie/tslib.sh16
-rw-r--r--meta/packages/tslib/tslib/devfs.patch18
-rw-r--r--meta/packages/tslib/tslib/event1.patch80
-rw-r--r--meta/packages/tslib/tslib/h1940/tslib.sh8
-rw-r--r--meta/packages/tslib/tslib/h3600/tslib.sh15
-rw-r--r--meta/packages/tslib/tslib/h3900/tslib.sh19
-rw-r--r--meta/packages/tslib/tslib/h6300/tslib.sh7
-rw-r--r--meta/packages/tslib/tslib/ipaq-pxa270/tslib.sh6
-rw-r--r--meta/packages/tslib/tslib/jornada56x/ts.conf5
-rw-r--r--meta/packages/tslib/tslib/jornada56x/tslib.sh6
-rw-r--r--meta/packages/tslib/tslib/jornada6xx/ts.conf5
-rw-r--r--meta/packages/tslib/tslib/jornada6xx/tslib.sh6
-rw-r--r--meta/packages/tslib/tslib/jornada7xx/ts.conf5
-rw-r--r--meta/packages/tslib/tslib/jornada7xx/tslib.sh6
-rw-r--r--meta/packages/tslib/tslib/mnci/ts.conf5
-rw-r--r--meta/packages/tslib/tslib/mnci/tslib.sh1
-rw-r--r--meta/packages/tslib/tslib/multievent.patch843
-rw-r--r--meta/packages/tslib/tslib/nokia770/ts.conf25
-rw-r--r--meta/packages/tslib/tslib/omap1610h2/ts.conf5
-rw-r--r--meta/packages/tslib/tslib/omap1610h2/tslib.sh5
-rw-r--r--meta/packages/tslib/tslib/omap5912osk/ts.conf6
-rw-r--r--meta/packages/tslib/tslib/omap5912osk/tslib.sh4
-rw-r--r--meta/packages/tslib/tslib/poodle/tslib.sh16
-rw-r--r--meta/packages/tslib/tslib/simpad/tslib.sh15
-rw-r--r--meta/packages/tslib/tslib/spitz/tslib.sh16
-rw-r--r--meta/packages/tslib/tslib/tosa/tslib.sh16
-rw-r--r--meta/packages/tslib/tslib/ts-2.6.conf5
-rw-r--r--meta/packages/tslib/tslib/ts.conf25
-rw-r--r--meta/packages/tslib/tslib/ts.conf-collie-2.45
-rw-r--r--meta/packages/tslib/tslib/ts.conf-corgi-2.45
-rw-r--r--meta/packages/tslib/tslib/ts.conf-h3600-2.45
-rw-r--r--meta/packages/tslib/tslib/ts.conf-simpad-2.45
-rw-r--r--meta/packages/tslib/tslib/tslib.sh0
-rw-r--r--meta/packages/tslib/tslib/usec_fix.patch26
-rw-r--r--meta/packages/tslib/tslib_cvs.bb81
-rw-r--r--meta/packages/udev/files/akita/mount.blacklist6
-rw-r--r--meta/packages/udev/files/c7x0/mount.blacklist6
-rw-r--r--meta/packages/udev/files/devfs-udev.rules108
-rw-r--r--meta/packages/udev/files/fix-alignment.patch24
-rwxr-xr-xmeta/packages/udev/files/init208
-rw-r--r--meta/packages/udev/files/links.conf21
-rw-r--r--meta/packages/udev/files/local.rules22
-rw-r--r--meta/packages/udev/files/mount.blacklist2
-rw-r--r--meta/packages/udev/files/mount.sh67
-rw-r--r--meta/packages/udev/files/network.sh55
-rw-r--r--meta/packages/udev/files/noasmlinkage.patch38
-rw-r--r--meta/packages/udev/files/permissions.rules81
-rw-r--r--meta/packages/udev/files/slugos/mount.blacklist4
-rw-r--r--meta/packages/udev/files/spitz/mount.blacklist7
-rw-r--r--meta/packages/udev/files/tmpfs.patch16
-rw-r--r--meta/packages/udev/files/tosa/mount.blacklist6
-rw-r--r--meta/packages/udev/files/udev.rules98
-rw-r--r--meta/packages/udev/files/udev_network_queue.sh35
-rw-r--r--meta/packages/udev/files/udevsynthesize.patch776
-rw-r--r--meta/packages/udev/files/udevsynthesize.sh51
-rw-r--r--meta/packages/udev/udev-084/flags.patch52
-rw-r--r--meta/packages/udev/udev-084/init227
-rw-r--r--meta/packages/udev/udev-084/local.rules28
-rw-r--r--meta/packages/udev/udev-084/udev.rules99
-rw-r--r--meta/packages/udev/udev-089/flags.patch51
-rw-r--r--meta/packages/udev/udev-089/init227
-rw-r--r--meta/packages/udev/udev-089/local.rules28
-rw-r--r--meta/packages/udev/udev-089/udev.rules98
-rw-r--r--meta/packages/udev/udev-092/flags.patch51
-rw-r--r--meta/packages/udev/udev-092/init227
-rw-r--r--meta/packages/udev/udev-092/local.rules31
-rw-r--r--meta/packages/udev/udev-092/permissions.rules109
-rw-r--r--meta/packages/udev/udev-092/udev.rules98
-rw-r--r--meta/packages/udev/udev.inc61
-rw-r--r--meta/packages/udev/udev_084.bb60
-rw-r--r--meta/packages/udev/udev_089.bb49
-rw-r--r--meta/packages/udev/udev_092.bb49
-rwxr-xr-xmeta/packages/update-modules/update-modules-1.0/openmn/update-modules3
-rwxr-xr-xmeta/packages/update-modules/update-modules-1.0/update-modules197
-rw-r--r--meta/packages/update-modules/update-modules_1.0.bb19
-rw-r--r--meta/packages/update-rc.d/update-rc.d-0.6/copyright.patch27
-rw-r--r--meta/packages/update-rc.d/update-rc.d_0.6.bb22
-rw-r--r--meta/packages/update-rc.d/update-rc.d_0.7.bb21
-rw-r--r--meta/packages/vera-fonts/ttf-bitstream-vera_1.10.bb34
-rwxr-xr-xmeta/packages/web/web_svn.bb12
-rw-r--r--meta/packages/wireless-tools/wireless-tools/fixheaders.patch34
-rw-r--r--meta/packages/wireless-tools/wireless-tools/man.patch13
-rwxr-xr-xmeta/packages/wireless-tools/wireless-tools/wireless-tools.if-pre-up122
-rw-r--r--meta/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up34
-rw-r--r--meta/packages/wireless-tools/wireless-tools_28-pre6.bb43
-rw-r--r--meta/packages/wireless-tools/wireless-tools_29-pre10.bb44
-rw-r--r--meta/packages/wpa-supplicant/files/defaults-sane8
-rw-r--r--meta/packages/wpa-supplicant/files/defconfig157
-rw-r--r--meta/packages/wpa-supplicant/files/defconfig-gnutls176
-rw-r--r--meta/packages/wpa-supplicant/files/driver-hermes.patch889
-rwxr-xr-xmeta/packages/wpa-supplicant/files/init.sh50
-rw-r--r--meta/packages/wpa-supplicant/files/madwifi-bsd-fix.diff12
-rw-r--r--meta/packages/wpa-supplicant/files/mtx-1/defconfig157
-rw-r--r--meta/packages/wpa-supplicant/files/openmn/defaults8
-rw-r--r--meta/packages/wpa-supplicant/files/slugos/defaults-sane8
-rw-r--r--meta/packages/wpa-supplicant/files/use-channel.patch32
-rw-r--r--meta/packages/wpa-supplicant/files/wpa_supplicant.conf502
-rw-r--r--meta/packages/wpa-supplicant/files/wpa_supplicant.conf-sane7
-rw-r--r--meta/packages/wpa-supplicant/files/wpa_supplicant_default.conf13
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/defconfig160
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/driver-hermes.patch884
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/driver-zd1211.patch535
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/madwifi-bsd-fix.diff12
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/wpa_supplicant.conf502
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-nossl/wpa-defconfig4
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-nossl_0.2.6.bb7
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-ssl/wpa-defconfig15
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant-ssl_0.2.6.bb9
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant_0.2.6.inc34
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant_0.3.6.bb34
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant_0.3.8.bb36
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant_0.4.7.bb38
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant_0.5.1.bb58
-rw-r--r--meta/packages/wpa-supplicant/wpa-supplicant_cvs.bb59
-rw-r--r--meta/packages/xauth/xauth/autofoo.patch148
-rw-r--r--meta/packages/xauth/xauth_cvs.bb13
-rw-r--r--meta/packages/xcalibrate/xcalibrate_cvs.bb15
-rw-r--r--meta/packages/xcalibrateext/xcalibrateext_cvs.bb13
-rw-r--r--meta/packages/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/fix_watch_cursor.patch24
-rw-r--r--meta/packages/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/use-relative-symlinks.patch11
-rw-r--r--meta/packages/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb11
-rw-r--r--meta/packages/xdpyinfo/xdpyinfo_cvs.bb12
-rw-r--r--meta/packages/xextensions/xextensions-native_1.0.1.bb4
-rw-r--r--meta/packages/xextensions/xextensions_1.0.1.bb13
-rw-r--r--meta/packages/xhost/xhost/autofoo.patch165
-rw-r--r--meta/packages/xhost/xhost_20040413.bb14
-rw-r--r--meta/packages/xlibs/diet-x11_6.2.1.bb10
-rw-r--r--meta/packages/xlibs/libice/autofoo.patch21
-rw-r--r--meta/packages/xlibs/libice_6.3.3.bb18
-rw-r--r--meta/packages/xlibs/libsm/autofoo.patch21
-rw-r--r--meta/packages/xlibs/libsm_6.0.3.bb17
-rw-r--r--meta/packages/xlibs/libx11-native_6.2.1.bb6
-rw-r--r--meta/packages/xlibs/libx11/autofoo.patch22
-rw-r--r--meta/packages/xlibs/libx11/errordb-keysymdb-path-fix.patch22
-rw-r--r--meta/packages/xlibs/libx11/fix-utf8-wrong-define.patch16
-rw-r--r--meta/packages/xlibs/libx11_6.2.1.bb40
-rw-r--r--meta/packages/xlibs/libxau-native_0.1.1.bb6
-rw-r--r--meta/packages/xlibs/libxau-native_cvs.bb6
-rw-r--r--meta/packages/xlibs/libxau/autofoo.patch21
-rw-r--r--meta/packages/xlibs/libxau_0.1.1.bb18
-rw-r--r--meta/packages/xlibs/libxau_cvs.bb18
-rw-r--r--meta/packages/xlibs/libxcomposite-1.0.1/autofoo.patch17
-rw-r--r--meta/packages/xlibs/libxcomposite_1.0.1.bb16
-rw-r--r--meta/packages/xlibs/libxcomposite_cvs.bb15
-rw-r--r--meta/packages/xlibs/libxcursor-1.1.2/autofoo.patch20
-rw-r--r--meta/packages/xlibs/libxcursor/autofoo.patch22
-rw-r--r--meta/packages/xlibs/libxcursor_1.1.2.bb18
-rw-r--r--meta/packages/xlibs/libxdamage-1.0.1/autofoo.patch17
-rw-r--r--meta/packages/xlibs/libxdamage/m4.patch65
-rw-r--r--meta/packages/xlibs/libxdamage_1.0.1.bb17
-rw-r--r--meta/packages/xlibs/libxdamage_cvs.bb16
-rw-r--r--meta/packages/xlibs/libxdmcp-native_0.1.3.bb6
-rw-r--r--meta/packages/xlibs/libxdmcp/autofoo.patch22
-rw-r--r--meta/packages/xlibs/libxdmcp_0.1.3.bb18
-rw-r--r--meta/packages/xlibs/libxext-native_cvs.bb6
-rw-r--r--meta/packages/xlibs/libxext/autofoo.patch18
-rw-r--r--meta/packages/xlibs/libxext_cvs.bb16
-rw-r--r--meta/packages/xlibs/libxfixes/autofoo.patch20
-rw-r--r--meta/packages/xlibs/libxfixes_2.0.1.bb15
-rw-r--r--meta/packages/xlibs/libxfixes_cvs.bb14
-rw-r--r--meta/packages/xlibs/libxfont/autofoo.patch18
-rw-r--r--meta/packages/xlibs/libxfont/scalable.patch27
-rw-r--r--meta/packages/xlibs/libxfont_1.4.2.bb19
-rw-r--r--meta/packages/xlibs/libxfont_cvs.bb18
-rw-r--r--meta/packages/xlibs/libxft/autofoo.patch21
-rw-r--r--meta/packages/xlibs/libxft_2.1.6.bb27
-rw-r--r--meta/packages/xlibs/libxft_cvs.bb26
-rw-r--r--meta/packages/xlibs/libxi/autofoo.patch12
-rw-r--r--meta/packages/xlibs/libxi_6.0.1.bb16
-rw-r--r--meta/packages/xlibs/libxmu_cvs.bb21
-rw-r--r--meta/packages/xlibs/libxpm/autofoo.patch18
-rw-r--r--meta/packages/xlibs/libxpm_3.5.1.bb19
-rw-r--r--meta/packages/xlibs/libxpm_cvs.bb19
-rw-r--r--meta/packages/xlibs/libxrandr-1.0.2/autofoo.patch20
-rw-r--r--meta/packages/xlibs/libxrandr/autofoo.patch30
-rw-r--r--meta/packages/xlibs/libxrandr_1.0.2.bb15
-rw-r--r--meta/packages/xlibs/libxrender/autofoo.patch20
-rw-r--r--meta/packages/xlibs/libxrender_cvs.bb15
-rw-r--r--meta/packages/xlibs/libxt/autofoo.patch20
-rw-r--r--meta/packages/xlibs/libxt_0.1.5.bb29
-rw-r--r--meta/packages/xlibs/libxtst_cvs.bb17
-rw-r--r--meta/packages/xlibs/xtrans-native_0.1.bb3
-rw-r--r--meta/packages/xlibs/xtrans_0.1.bb15
-rw-r--r--meta/packages/xlibs/xtrans_cvs.bb16
-rw-r--r--meta/packages/xmodmap/xmodmap/autofoo.patch109
-rw-r--r--meta/packages/xmodmap/xmodmap_cvs.bb14
-rw-r--r--meta/packages/xournal/files/no-printing.diff178
-rw-r--r--meta/packages/xournal/xournal_0.2.bb12
-rw-r--r--meta/packages/xproto/xproto-native_6.6.2.bb4
-rw-r--r--meta/packages/xproto/xproto-native_cvs.bb4
-rw-r--r--meta/packages/xproto/xproto_6.6.2+cvs20050226.bb13
-rw-r--r--meta/packages/xproto/xproto_6.6.2.bb13
-rw-r--r--meta/packages/xproto/xproto_cvs.bb15
-rw-r--r--meta/packages/xrandr/xrandr_cvs.bb10
-rw-r--r--meta/packages/xrdb/xrdb/autofoo.patch132
-rw-r--r--meta/packages/xrdb/xrdb_cvs.bb13
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xdefaults3
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit16
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/01xrandr4
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/11zaurus12
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/12keymap23
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/30xTs_Calibrate6
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/40xmodmap5
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/55xScreenSaver4
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/60xXDefaults3
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver75
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession47
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/60xXDefaults4
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/90xXWindowManager8
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/collie.xmodmap5
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/h2200.xmodmap5
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/shepherd.xmodmap49
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/simpad.xmodmap2
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb18
-rw-r--r--meta/packages/xserver-kdrive-common/xserver-nodm-init.bb21
-rwxr-xr-xmeta/packages/xserver-kdrive-common/xserver-nodm-init/xserver-nodm48
-rw-r--r--meta/packages/xserver/xserver-kdrive-omap/configure-tslib.patch13
-rw-r--r--meta/packages/xserver/xserver-kdrive-omap/fbdev-not-fix.patch14
-rw-r--r--meta/packages/xserver/xserver-kdrive-omap/kmode.patch19
-rw-r--r--meta/packages/xserver/xserver-kdrive-omap_6.6.3.bb26
-rw-r--r--meta/packages/xserver/xserver-kdrive/build-20050207-against-X11R7.diff464
-rw-r--r--meta/packages/xserver/xserver-kdrive/devfs.patch47
-rw-r--r--meta/packages/xserver/xserver-kdrive/disable-apm.patch20
-rw-r--r--meta/packages/xserver/xserver-kdrive/epson.patch11
-rw-r--r--meta/packages/xserver/xserver-kdrive/faster-rotated.patch241
-rw-r--r--meta/packages/xserver/xserver-kdrive/fbdev-not-fix.patch14
-rw-r--r--meta/packages/xserver/xserver-kdrive/kdrive-evdev.patch515
-rw-r--r--meta/packages/xserver/xserver-kdrive/kdrive-use-evdev.patch53
-rw-r--r--meta/packages/xserver/xserver-kdrive/kmode.patch28
-rw-r--r--meta/packages/xserver/xserver-kdrive/no-serial-probing.patch13
-rw-r--r--meta/packages/xserver/xserver-kdrive/onlyfb.patch21
-rw-r--r--meta/packages/xserver/xserver-kdrive/xserver-kdrive-poodle.patch44
-rw-r--r--meta/packages/xserver/xserver-kdrive_20050207.bb74
-rw-r--r--meta/packages/xserver/xserver-kdrive_20050624.bb49
-rw-r--r--meta/packages/xserver/xserver-kdrive_20060312.bb52
-rw-r--r--meta/packages/xserver/xserver-kdrive_cvs.bb47
-rw-r--r--meta/packages/xserver/xserver-xorg/dri.patch10
-rw-r--r--meta/packages/xserver/xserver-xorg/fontfile.patch11
-rw-r--r--meta/packages/xserver/xserver-xorg/freetype.patch22
-rw-r--r--meta/packages/xserver/xserver-xorg/imake-installed.patch11
-rw-r--r--meta/packages/xserver/xserver-xorg/imake-staging.patch38
-rw-r--r--meta/packages/xserver/xserver-xorg_6.8.99.10.bb65
-rw-r--r--meta/packages/xserver/xserver-xorg_6.8.99.11.bb65
-rw-r--r--meta/packages/xserver/xserver-xorg_cvs.bb61
-rw-r--r--meta/packages/xset/xset/autofoo.patch109
-rw-r--r--meta/packages/xset/xset/disable-xkb.patch18
-rw-r--r--meta/packages/xset/xset_20040817.bb18
-rw-r--r--meta/packages/xtscal/xtscal/xtscal-cxk.patch11
-rw-r--r--meta/packages/xtscal/xtscal/xtscal-poodle.patch12
-rw-r--r--meta/packages/xtscal/xtscal_0.6.3.bb13
-rw-r--r--meta/packages/zaurus-updater/akita/updater.sh252
-rw-r--r--meta/packages/zaurus-updater/c7x0/updater.sh242
-rw-r--r--meta/packages/zaurus-updater/encdec-updater-native.bb6
-rw-r--r--meta/packages/zaurus-updater/encdec-updater.bb16
-rw-r--r--meta/packages/zaurus-updater/files/encdec-updater.c80
-rw-r--r--meta/packages/zaurus-updater/files/gnu-tar.gzbin0 -> 242146 bytes
-rw-r--r--meta/packages/zaurus-updater/poodle/updater.sh231
-rwxr-xr-xmeta/packages/zaurus-updater/spitz/updater.sh280
-rw-r--r--meta/packages/zaurus-updater/tosa/updater.sh241
-rw-r--r--meta/packages/zaurus-updater/zaurus-updater.bb31
-rw-r--r--meta/packages/zaurusd/zaurusd_svn.bb18
-rw-r--r--meta/packages/zeroconf/files/debian-zeroconf51
-rw-r--r--meta/packages/zeroconf/files/zeroconf-default17
-rw-r--r--meta/packages/zeroconf/zeroconf_0.9.bb21
-rw-r--r--meta/packages/zile/files/for_build.patch64
-rw-r--r--meta/packages/zile/zile_1.7+2.0beta6.bb20
-rw-r--r--meta/packages/zip/zip-native_2.31.bb9
-rw-r--r--meta/packages/zip/zip_2.31.bb17
-rw-r--r--meta/packages/zlib/files/visibility.patch1022
-rw-r--r--meta/packages/zlib/files/zlib_1.2.2-8.diff.gzbin0 -> 15553 bytes
-rw-r--r--meta/packages/zlib/zlib-1.2.3/visibility.patch1034
-rw-r--r--meta/packages/zlib/zlib-native_1.1.4.bb4
-rw-r--r--meta/packages/zlib/zlib-native_1.2.2.bb4
-rw-r--r--meta/packages/zlib/zlib-native_1.2.3.bb5
-rw-r--r--meta/packages/zlib/zlib_1.1.4.bb34
-rw-r--r--meta/packages/zlib/zlib_1.2.2.bb38
-rw-r--r--meta/packages/zlib/zlib_1.2.3.bb37
-rw-r--r--meta/site/arm-linux301
-rw-r--r--meta/site/arm-linux-gnueabi307
-rw-r--r--meta/site/arm-linux-uclibc348
-rw-r--r--meta/site/armeb-linux282
-rw-r--r--meta/site/armeb-linux-uclibc276
-rw-r--r--meta/site/i386-linux98
-rw-r--r--meta/site/i386-linux-uclibc65
-rw-r--r--meta/site/i486-linux131
-rw-r--r--meta/site/i586-linux117
-rw-r--r--meta/site/i686-linux199
-rw-r--r--meta/site/i686-linux-uclibc192
-rw-r--r--meta/site/mipsel-linux116
-rw-r--r--meta/site/mipsel-linux-uclibc136
-rw-r--r--meta/site/powerpc-darwin7
-rw-r--r--meta/site/powerpc-linux236
-rw-r--r--meta/site/sh3-linux360
-rw-r--r--meta/site/sh4-linux289
-rw-r--r--meta/site/sh4-linux-uclibc19
-rw-r--r--meta/site/sparc-linux43
-rw-r--r--meta/site/x86_64-linux80
-rw-r--r--meta/site/x86_64-linux-uclibc80
1705 files changed, 341899 insertions, 0 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
new file mode 100644
index 0000000000..927e3432b7
--- /dev/null
+++ b/meta/classes/autotools.bbclass
@@ -0,0 +1,182 @@
+inherit base
+
+def autotools_dep_prepend(d):
+ import bb;
+
+ if bb.data.getVar('INHIBIT_AUTOTOOLS_DEPS', d, 1):
+ return ''
+
+ pn = bb.data.getVar('PN', d, 1)
+ deps = ''
+
+ if pn in ['autoconf-native', 'automake-native']:
+ return deps
+ deps += 'autoconf-native automake-native '
+
+ if not pn in ['libtool', 'libtool-native', 'libtool-cross']:
+ deps += 'libtool-native '
+
+ return deps + 'gnu-config-native '
+
+EXTRA_OEMAKE = ""
+DEPENDS_prepend = "${@autotools_dep_prepend(d)}"
+acpaths = "default"
+EXTRA_AUTORECONF = "--exclude=autopoint"
+
+def autotools_set_crosscompiling(d):
+ import bb
+ if not bb.data.inherits_class('native', d):
+ return " cross_compiling=yes"
+ return ""
+
+# EXTRA_OECONF_append = "${@autotools_set_crosscompiling(d)}"
+
+oe_runconf () {
+ if [ -x ${S}/configure ] ; then
+ cfgcmd="${S}/configure \
+ --build=${BUILD_SYS} \
+ --host=${HOST_SYS} \
+ --target=${TARGET_SYS} \
+ --prefix=${prefix} \
+ --exec_prefix=${exec_prefix} \
+ --bindir=${bindir} \
+ --sbindir=${sbindir} \
+ --libexecdir=${libexecdir} \
+ --datadir=${datadir} \
+ --sysconfdir=${sysconfdir} \
+ --sharedstatedir=${sharedstatedir} \
+ --localstatedir=${localstatedir} \
+ --libdir=${libdir} \
+ --includedir=${includedir} \
+ --oldincludedir=${oldincludedir} \
+ --infodir=${infodir} \
+ --mandir=${mandir} \
+ ${EXTRA_OECONF} \
+ $@"
+ oenote "Running $cfgcmd..."
+ $cfgcmd || oefatal "oe_runconf failed"
+ else
+ oefatal "no configure script found"
+ fi
+}
+
+autotools_do_configure() {
+ case ${PN} in
+ autoconf*)
+ ;;
+ automake*)
+ ;;
+ *)
+ # WARNING: gross hack follows:
+ # An autotools built package generally needs these scripts, however only
+ # automake or libtoolize actually install the current versions of them.
+ # This is a problem in builds that do not use libtool or automake, in the case
+ # where we -need- the latest version of these scripts. e.g. running a build
+ # for a package whose autotools are old, on an x86_64 machine, which the old
+ # config.sub does not support. Work around this by installing them manually
+ # regardless.
+ ( for ac in `find ${S} -name configure.in -o -name configure.ac`; do
+ rm -f `dirname $ac`/configure
+ done )
+ if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
+ olddir=`pwd`
+ cd ${S}
+ if [ x"${acpaths}" = xdefault ]; then
+ acpaths=
+ for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
+ grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
+ acpaths="$acpaths -I $i"
+ done
+ else
+ acpaths="${acpaths}"
+ fi
+ AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
+ automake --version
+ echo "AUTOV is $AUTOV"
+ install -d ${STAGING_DIR}/${HOST_SYS}/share/aclocal
+ install -d ${STAGING_DIR}/${HOST_SYS}/share/aclocal-$AUTOV
+ acpaths="$acpaths -I ${STAGING_DIR}/${HOST_SYS}/share/aclocal-$AUTOV -I ${STAGING_DIR}/${HOST_SYS}/share/aclocal"
+ # autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
+ # like it was auto-generated. Work around this by blowing it away
+ # by hand, unless the package specifically asked not to run aclocal.
+ if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; then
+ rm -f aclocal.m4
+ fi
+ if [ -e configure.in ]; then
+ CONFIGURE_AC=configure.in
+ else
+ CONFIGURE_AC=configure.ac
+ fi
+ if grep "^AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
+ if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
+ : do nothing -- we still have an old unmodified configure.ac
+ else
+ oenote Executing glib-gettextize --force --copy
+ echo "no" | glib-gettextize --force --copy
+ fi
+ fi
+ if grep "^AC_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
+ oenote Executing intltoolize --copy --force --automake
+ intltoolize --copy --force --automake
+ fi
+ oenote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
+ mkdir -p m4
+ autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || oefatal "autoreconf execution failed."
+ cd $olddir
+ fi
+ ;;
+ esac
+ if [ -e ${S}/configure ]; then
+ oe_runconf
+ else
+ oenote "nothing to configure"
+ fi
+}
+
+autotools_do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+STAGE_TEMP="${WORKDIR}/temp-staging"
+
+autotools_stage_includes() {
+ if [ "${INHIBIT_AUTO_STAGE_INCLUDES}" != "1" ]
+ then
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ make DESTDIR="${STAGE_TEMP}" install
+ cp -pPR ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}
+ rm -rf ${STAGE_TEMP}
+ fi
+}
+
+autotools_stage_all() {
+ if [ "${INHIBIT_AUTO_STAGE}" = "1" ]
+ then
+ return
+ fi
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ oe_runmake DESTDIR="${STAGE_TEMP}" install
+ if [ -d ${STAGE_TEMP}/${includedir} ]; then
+ cp -fpPR ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}
+ fi
+ if [ -d ${STAGE_TEMP}/${libdir} ]
+ then
+ for i in ${STAGE_TEMP}/${libdir}/*.la
+ do
+ if [ ! -f "$i" ]; then
+ cp -fpPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR}
+ break
+ fi
+ oe_libinstall -so $(basename $i .la) ${STAGING_LIBDIR}
+ done
+ fi
+ if [ -d ${STAGE_TEMP}/${datadir}/aclocal ]; then
+ install -d ${STAGING_DATADIR}/aclocal
+ cp -fpPR ${STAGE_TEMP}/${datadir}/aclocal/* ${STAGING_DATADIR}/aclocal
+ fi
+ rm -rf ${STAGE_TEMP}
+}
+
+EXPORT_FUNCTIONS do_configure do_install
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
new file mode 100644
index 0000000000..8467ebddc2
--- /dev/null
+++ b/meta/classes/base.bbclass
@@ -0,0 +1,793 @@
+PATCHES_DIR="${S}"
+
+def base_dep_prepend(d):
+ import bb;
+ #
+ # Ideally this will check a flag so we will operate properly in
+ # the case where host == build == target, for now we don't work in
+ # that case though.
+ #
+ deps = ""
+
+ # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not
+ # we need that built is the responsibility of the patch function / class, not
+ # the application.
+ patchdeps = bb.data.getVar("PATCH_DEPENDS", d, 1)
+ if patchdeps and not patchdeps in bb.data.getVar("PROVIDES", d, 1):
+ deps = patchdeps
+
+ if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d):
+ if (bb.data.getVar('HOST_SYS', d, 1) !=
+ bb.data.getVar('BUILD_SYS', d, 1)):
+ deps += " virtual/${TARGET_PREFIX}gcc virtual/libc "
+ return deps
+
+def base_read_file(filename):
+ import bb
+ try:
+ f = file( filename, "r" )
+ except IOError, reason:
+ return "" # WARNING: can't raise an error now because of the new RDEPENDS handling. This is a bit ugly. :M:
+ else:
+ return f.read().strip()
+ return None
+
+def base_conditional(variable, checkvalue, truevalue, falsevalue, d):
+ import bb
+ if bb.data.getVar(variable,d,1) == checkvalue:
+ return truevalue
+ else:
+ return falsevalue
+
+DEPENDS_prepend="${@base_dep_prepend(d)} "
+
+def base_set_filespath(path, d):
+ import os, bb
+ filespath = []
+ for p in path:
+ overrides = bb.data.getVar("OVERRIDES", d, 1) or ""
+ overrides = overrides + ":"
+ for o in overrides.split(":"):
+ filespath.append(os.path.join(p, o))
+ bb.data.setVar("FILESPATH", ":".join(filespath), d)
+
+FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)}"
+
+def oe_filter(f, str, d):
+ from re import match
+ return " ".join(filter(lambda x: match(f, x, 0), str.split()))
+
+def oe_filter_out(f, str, d):
+ from re import match
+ return " ".join(filter(lambda x: not match(f, x, 0), str.split()))
+
+die() {
+ oefatal "$*"
+}
+
+oenote() {
+ echo "NOTE:" "$*"
+}
+
+oewarn() {
+ echo "WARNING:" "$*"
+}
+
+oefatal() {
+ echo "FATAL:" "$*"
+ exit 1
+}
+
+oedebug() {
+ test $# -ge 2 || {
+ echo "Usage: oedebug level \"message\""
+ exit 1
+ }
+
+ test ${OEDEBUG:-0} -ge $1 && {
+ shift
+ echo "DEBUG:" $*
+ }
+}
+
+oe_runmake() {
+ if [ x"$MAKE" = x ]; then MAKE=make; fi
+ oenote ${MAKE} ${EXTRA_OEMAKE} "$@"
+ ${MAKE} ${EXTRA_OEMAKE} "$@" || die "oe_runmake failed"
+}
+
+oe_soinstall() {
+ # Purpose: Install shared library file and
+ # create the necessary links
+ # Example:
+ #
+ # oe_
+ #
+ #oenote installing shared library $1 to $2
+ #
+ libname=`basename $1`
+ install -m 755 $1 $2/$libname
+ sonamelink=`${HOST_PREFIX}readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
+ solink=`echo $libname | sed -e 's/\.so\..*/.so/'`
+ ln -sf $libname $2/$sonamelink
+ ln -sf $libname $2/$solink
+}
+
+oe_libinstall() {
+ # Purpose: Install a library, in all its forms
+ # Example
+ #
+ # oe_libinstall libltdl ${STAGING_LIBDIR}/
+ # oe_libinstall -C src/libblah libblah ${D}/${libdir}/
+ dir=""
+ libtool=""
+ silent=""
+ require_static=""
+ require_shared=""
+ staging_install=""
+ while [ "$#" -gt 0 ]; do
+ case "$1" in
+ -C)
+ shift
+ dir="$1"
+ ;;
+ -s)
+ silent=1
+ ;;
+ -a)
+ require_static=1
+ ;;
+ -so)
+ require_shared=1
+ ;;
+ -*)
+ oefatal "oe_libinstall: unknown option: $1"
+ ;;
+ *)
+ break;
+ ;;
+ esac
+ shift
+ done
+
+ libname="$1"
+ shift
+ destpath="$1"
+ if [ -z "$destpath" ]; then
+ oefatal "oe_libinstall: no destination path specified"
+ fi
+ if echo "$destpath/" | egrep '^${STAGING_LIBDIR}/' >/dev/null
+ then
+ staging_install=1
+ fi
+
+ __runcmd () {
+ if [ -z "$silent" ]; then
+ echo >&2 "oe_libinstall: $*"
+ fi
+ $*
+ }
+
+ if [ -z "$dir" ]; then
+ dir=`pwd`
+ fi
+ dotlai=$libname.lai
+ dir=$dir`(cd $dir; find -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"`
+ olddir=`pwd`
+ __runcmd cd $dir
+
+ lafile=$libname.la
+ if [ -f "$lafile" ]; then
+ # libtool archive
+ eval `cat $lafile|grep "^library_names="`
+ libtool=1
+ else
+ library_names="$libname.so* $libname.dll.a"
+ fi
+
+ __runcmd install -d $destpath/
+ dota=$libname.a
+ if [ -f "$dota" -o -n "$require_static" ]; then
+ __runcmd install -m 0644 $dota $destpath/
+ fi
+ if [ -f "$dotlai" -a -n "$libtool" ]; then
+ if test -n "$staging_install"
+ then
+ # stop libtool using the final directory name for libraries
+ # in staging:
+ __runcmd rm -f $destpath/$libname.la
+ __runcmd sed -e 's/^installed=yes$/installed=no/' -e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR}/\1,g' $dotlai >$destpath/$libname.la
+ else
+ __runcmd install -m 0644 $dotlai $destpath/$libname.la
+ fi
+ fi
+
+ for name in $library_names; do
+ files=`eval echo $name`
+ for f in $files; do
+ if [ ! -e "$f" ]; then
+ if [ -n "$libtool" ]; then
+ oefatal "oe_libinstall: $dir/$f not found."
+ fi
+ elif [ -L "$f" ]; then
+ __runcmd cp -P "$f" $destpath/
+ elif [ ! -L "$f" ]; then
+ libfile="$f"
+ __runcmd install -m 0755 $libfile $destpath/
+ fi
+ done
+ done
+
+ if [ -z "$libfile" ]; then
+ if [ -n "$require_shared" ]; then
+ oefatal "oe_libinstall: unable to locate shared library"
+ fi
+ elif [ -z "$libtool" ]; then
+ # special case hack for non-libtool .so.#.#.# links
+ baselibfile=`basename "$libfile"`
+ if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then
+ sonamelink=`${HOST_PREFIX}readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
+ solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'`
+ if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then
+ __runcmd ln -sf $baselibfile $destpath/$sonamelink
+ fi
+ __runcmd ln -sf $baselibfile $destpath/$solink
+ fi
+ fi
+
+ __runcmd cd "$olddir"
+}
+
+oe_machinstall() {
+ # Purpose: Install machine dependent files, if available
+ # If not available, check if there is a default
+ # If no default, just touch the destination
+ # Example:
+ # $1 $2 $3 $4
+ # oe_machinstall -m 0644 fstab ${D}/etc/fstab
+ #
+ # TODO: Check argument number?
+ #
+ filename=`basename $3`
+ dirname=`dirname $3`
+
+ for o in `echo ${OVERRIDES} | tr ':' ' '`; do
+ if [ -e $dirname/$o/$filename ]; then
+ oenote $dirname/$o/$filename present, installing to $4
+ install $1 $2 $dirname/$o/$filename $4
+ return
+ fi
+ done
+# oenote overrides specific file NOT present, trying default=$3...
+ if [ -e $3 ]; then
+ oenote $3 present, installing to $4
+ install $1 $2 $3 $4
+ else
+ oenote $3 NOT present, touching empty $4
+ touch $4
+ fi
+}
+
+addtask showdata
+do_showdata[nostamp] = "1"
+python do_showdata() {
+ import sys
+ # emit variables and shell functions
+ bb.data.emit_env(sys.__stdout__, d, True)
+ # emit the metadata which isnt valid shell
+ for e in d.keys():
+ if bb.data.getVarFlag(e, 'python', d):
+ sys.__stdout__.write("\npython %s () {\n%s}\n" % (e, bb.data.getVar(e, d, 1)))
+}
+
+addtask listtasks
+do_listtasks[nostamp] = "1"
+python do_listtasks() {
+ import sys
+ # emit variables and shell functions
+ #bb.data.emit_env(sys.__stdout__, d)
+ # emit the metadata which isnt valid shell
+ for e in d.keys():
+ if bb.data.getVarFlag(e, 'task', d):
+ sys.__stdout__.write("%s\n" % e)
+}
+
+addtask clean
+do_clean[dirs] = "${TOPDIR}"
+do_clean[nostamp] = "1"
+do_clean[bbdepcmd] = ""
+python base_do_clean() {
+ """clear the build and temp directories"""
+ dir = bb.data.expand("${WORKDIR}", d)
+ if dir == '//': raise bb.build.FuncFailed("wrong DATADIR")
+ bb.note("removing " + dir)
+ os.system('rm -rf ' + dir)
+
+ dir = "%s.*" % bb.data.expand(bb.data.getVar('STAMP', d), d)
+ bb.note("removing " + dir)
+ os.system('rm -f '+ dir)
+}
+
+addtask mrproper
+do_mrproper[dirs] = "${TOPDIR}"
+do_mrproper[nostamp] = "1"
+do_mrproper[bbdepcmd] = ""
+python base_do_mrproper() {
+ """clear downloaded sources, build and temp directories"""
+ dir = bb.data.expand("${DL_DIR}", d)
+ if dir == '/': bb.build.FuncFailed("wrong DATADIR")
+ bb.debug(2, "removing " + dir)
+ os.system('rm -rf ' + dir)
+ bb.build.exec_task('do_clean', d)
+}
+
+addtask fetch
+do_fetch[dirs] = "${DL_DIR}"
+do_fetch[nostamp] = "1"
+python base_do_fetch() {
+ import sys
+
+ localdata = bb.data.createCopy(d)
+ bb.data.update_data(localdata)
+
+ src_uri = bb.data.getVar('SRC_URI', localdata, 1)
+ if not src_uri:
+ return 1
+
+ try:
+ bb.fetch.init(src_uri.split(),d)
+ except bb.fetch.NoMethodError:
+ (type, value, traceback) = sys.exc_info()
+ raise bb.build.FuncFailed("No method: %s" % value)
+
+ try:
+ bb.fetch.go(localdata)
+ except bb.fetch.MissingParameterError:
+ (type, value, traceback) = sys.exc_info()
+ raise bb.build.FuncFailed("Missing parameters: %s" % value)
+ except bb.fetch.FetchError:
+ (type, value, traceback) = sys.exc_info()
+ raise bb.build.FuncFailed("Fetch failed: %s" % value)
+}
+
+def oe_unpack_file(file, data, url = None):
+ import bb, os
+ if not url:
+ url = "file://%s" % file
+ dots = file.split(".")
+ if dots[-1] in ['gz', 'bz2', 'Z']:
+ efile = os.path.join(bb.data.getVar('WORKDIR', data, 1),os.path.basename('.'.join(dots[0:-1])))
+ else:
+ efile = file
+ cmd = None
+ if file.endswith('.tar'):
+ cmd = 'tar x --no-same-owner -f %s' % file
+ elif file.endswith('.tgz') or file.endswith('.tar.gz'):
+ cmd = 'tar xz --no-same-owner -f %s' % file
+ elif file.endswith('.tbz') or file.endswith('.tar.bz2'):
+ cmd = 'bzip2 -dc %s | tar x --no-same-owner -f -' % file
+ elif file.endswith('.gz') or file.endswith('.Z') or file.endswith('.z'):
+ cmd = 'gzip -dc %s > %s' % (file, efile)
+ elif file.endswith('.bz2'):
+ cmd = 'bzip2 -dc %s > %s' % (file, efile)
+ elif file.endswith('.zip'):
+ cmd = 'unzip -q'
+ (type, host, path, user, pswd, parm) = bb.decodeurl(url)
+ if 'dos' in parm:
+ cmd = '%s -a' % cmd
+ cmd = '%s %s' % (cmd, file)
+ elif os.path.isdir(file):
+ filesdir = os.path.realpath(bb.data.getVar("FILESDIR", data, 1))
+ destdir = "."
+ if file[0:len(filesdir)] == filesdir:
+ destdir = file[len(filesdir):file.rfind('/')]
+ destdir = destdir.strip('/')
+ if len(destdir) < 1:
+ destdir = "."
+ elif not os.access("%s/%s" % (os.getcwd(), destdir), os.F_OK):
+ os.makedirs("%s/%s" % (os.getcwd(), destdir))
+ cmd = 'cp -pPR %s %s/%s/' % (file, os.getcwd(), destdir)
+ else:
+ (type, host, path, user, pswd, parm) = bb.decodeurl(url)
+ if not 'patch' in parm:
+ # The "destdir" handling was specifically done for FILESPATH
+ # items. So, only do so for file:// entries.
+ if type == "file":
+ destdir = bb.decodeurl(url)[1] or "."
+ else:
+ destdir = "."
+ bb.mkdirhier("%s/%s" % (os.getcwd(), destdir))
+ cmd = 'cp %s %s/%s/' % (file, os.getcwd(), destdir)
+ if not cmd:
+ return True
+
+
+ dest = os.path.join(os.getcwd(), os.path.basename(file))
+ if os.path.exists(dest):
+ if os.path.samefile(file, dest):
+ return True
+
+ cmd = "PATH=\"%s\" %s" % (bb.data.getVar('PATH', data, 1), cmd)
+ bb.note("Unpacking %s to %s/" % (file, os.getcwd()))
+ ret = os.system(cmd)
+ return ret == 0
+
+addtask unpack after do_fetch
+do_unpack[dirs] = "${WORKDIR}"
+python base_do_unpack() {
+ import re, os
+
+ localdata = bb.data.createCopy(d)
+ bb.data.update_data(localdata)
+
+ src_uri = bb.data.getVar('SRC_URI', localdata)
+ if not src_uri:
+ return
+ src_uri = bb.data.expand(src_uri, localdata)
+ for url in src_uri.split():
+ try:
+ local = bb.data.expand(bb.fetch.localpath(url, localdata), localdata)
+ except bb.MalformedUrl, e:
+ raise FuncFailed('Unable to generate local path for malformed uri: %s' % e)
+ # dont need any parameters for extraction, strip them off
+ local = re.sub(';.*$', '', local)
+ local = os.path.realpath(local)
+ ret = oe_unpack_file(local, localdata, url)
+ if not ret:
+ raise bb.build.FuncFailed()
+}
+
+addtask patch after do_unpack
+do_patch[dirs] = "${WORKDIR}"
+python base_do_patch() {
+ import re
+ import bb.fetch
+
+ src_uri = (bb.data.getVar('SRC_URI', d, 1) or '').split()
+ if not src_uri:
+ return
+
+ patchcleancmd = bb.data.getVar('PATCHCLEANCMD', d, 1)
+ if patchcleancmd:
+ bb.data.setVar("do_patchcleancmd", patchcleancmd, d)
+ bb.data.setVarFlag("do_patchcleancmd", "func", 1, d)
+ bb.build.exec_func("do_patchcleancmd", d)
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ for url in src_uri:
+
+ (type, host, path, user, pswd, parm) = bb.decodeurl(url)
+ if not "patch" in parm:
+ continue
+
+ bb.fetch.init([url],d)
+ url = bb.encodeurl((type, host, path, user, pswd, []))
+ local = os.path.join('/', bb.fetch.localpath(url, d))
+
+ # did it need to be unpacked?
+ dots = os.path.basename(local).split(".")
+ if dots[-1] in ['gz', 'bz2', 'Z']:
+ unpacked = os.path.join(bb.data.getVar('WORKDIR', d),'.'.join(dots[0:-1]))
+ else:
+ unpacked = local
+ unpacked = bb.data.expand(unpacked, d)
+
+ if "pnum" in parm:
+ pnum = parm["pnum"]
+ else:
+ pnum = "1"
+
+ if "pname" in parm:
+ pname = parm["pname"]
+ else:
+ pname = os.path.basename(unpacked)
+
+ if "mindate" in parm:
+ mindate = parm["mindate"]
+ else:
+ mindate = 0
+
+ if "maxdate" in parm:
+ maxdate = parm["maxdate"]
+ else:
+ maxdate = "20711226"
+
+ pn = bb.data.getVar('PN', d, 1)
+ srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1)
+
+ if not srcdate:
+ srcdate = bb.data.getVar('SRCDATE', d, 1)
+
+ if srcdate == "now":
+ srcdate = bb.data.getVar('DATE', d, 1)
+
+ if (maxdate < srcdate) or (mindate > srcdate):
+ if (maxdate < srcdate):
+ bb.note("Patch '%s' is outdated" % pname)
+
+ if (mindate > srcdate):
+ bb.note("Patch '%s' is predated" % pname)
+
+ continue
+
+ bb.note("Applying patch '%s'" % pname)
+ bb.data.setVar("do_patchcmd", bb.data.getVar("PATCHCMD", d, 1) % (pnum, pname, unpacked), d)
+ bb.data.setVarFlag("do_patchcmd", "func", 1, d)
+ bb.data.setVarFlag("do_patchcmd", "dirs", "${WORKDIR} ${S}", d)
+ bb.build.exec_func("do_patchcmd", d)
+}
+
+
+addhandler base_eventhandler
+python base_eventhandler() {
+ from bb import note, error, data
+ from bb.event import Handled, NotHandled, getName
+ import os
+
+ messages = {}
+ messages["Completed"] = "completed"
+ messages["Succeeded"] = "completed"
+ messages["Started"] = "started"
+ messages["Failed"] = "failed"
+
+ name = getName(e)
+ msg = ""
+ if name.startswith("Pkg"):
+ msg += "package %s: " % data.getVar("P", e.data, 1)
+ msg += messages.get(name[3:]) or name[3:]
+ elif name.startswith("Task"):
+ msg += "package %s: task %s: " % (data.getVar("PF", e.data, 1), e.task)
+ msg += messages.get(name[4:]) or name[4:]
+ elif name.startswith("Build"):
+ msg += "build %s: " % e.name
+ msg += messages.get(name[5:]) or name[5:]
+ elif name == "UnsatisfiedDep":
+ msg += "package %s: dependency %s %s" % (e.pkg, e.dep, name[:-3].lower())
+ note(msg)
+
+ if name.startswith("BuildStarted"):
+ bb.data.setVar( 'BB_VERSION', bb.__version__, e.data )
+ path_to_bbfiles = bb.data.getVar( 'BBFILES', e.data, 1 )
+ path_to_packages = path_to_bbfiles[:path_to_bbfiles.rindex( "packages" )]
+ monotone_revision = "<unknown>"
+ try:
+ monotone_revision = file( "%s/MT/revision" % path_to_packages ).read().strip()
+ except IOError:
+ pass
+ bb.data.setVar( 'OE_REVISION', monotone_revision, e.data )
+ statusvars = ['BB_VERSION', 'OE_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU']
+ statuslines = ["%-14s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars]
+ statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines)
+ print statusmsg
+
+ needed_vars = [ "TARGET_ARCH", "TARGET_OS" ]
+ pesteruser = []
+ for v in needed_vars:
+ val = bb.data.getVar(v, e.data, 1)
+ if not val or val == 'INVALID':
+ pesteruser.append(v)
+ if pesteruser:
+ bb.fatal('The following variable(s) were not set: %s\nPlease set them directly, or choose a MACHINE or DISTRO that sets them.' % ', '.join(pesteruser))
+
+ if not data in e.__dict__:
+ return NotHandled
+
+ log = data.getVar("EVENTLOG", e.data, 1)
+ if log:
+ logfile = file(log, "a")
+ logfile.write("%s\n" % msg)
+ logfile.close()
+
+ return NotHandled
+}
+
+addtask configure after do_unpack do_patch
+do_configure[dirs] = "${S} ${B}"
+do_configure[bbdepcmd] = "do_populate_staging"
+base_do_configure() {
+ :
+}
+
+addtask compile after do_configure
+do_compile[dirs] = "${S} ${B}"
+do_compile[bbdepcmd] = "do_populate_staging"
+base_do_compile() {
+ if [ -e Makefile -o -e makefile ]; then
+ oe_runmake || die "make failed"
+ else
+ oenote "nothing to compile"
+ fi
+}
+
+
+addtask stage after do_compile
+base_do_stage () {
+ :
+}
+
+do_populate_staging[dirs] = "${STAGING_DIR}/${TARGET_SYS}/bin ${STAGING_DIR}/${TARGET_SYS}/lib \
+ ${STAGING_DIR}/${TARGET_SYS}/include \
+ ${STAGING_DIR}/${BUILD_SYS}/bin ${STAGING_DIR}/${BUILD_SYS}/lib \
+ ${STAGING_DIR}/${BUILD_SYS}/include \
+ ${STAGING_DATADIR} \
+ ${S} ${B}"
+
+addtask populate_staging after do_compile
+
+python do_populate_staging () {
+ bb.build.exec_func('do_stage', d)
+}
+
+addtask install after do_compile
+do_install[dirs] = "${S} ${B}"
+
+base_do_install() {
+ :
+}
+
+base_do_package() {
+ :
+}
+
+addtask build after do_populate_staging
+do_build = ""
+do_build[func] = "1"
+
+# Functions that update metadata based on files outputted
+# during the build process.
+
+SHLIBS = ""
+RDEPENDS_prepend = " ${SHLIBS}"
+
+def explode_deps(s):
+ r = []
+ l = s.split()
+ flag = False
+ for i in l:
+ if i[0] == '(':
+ flag = True
+ j = []
+ if flag:
+ j.append(i)
+ if i.endswith(')'):
+ flag = False
+ r[-1] += ' ' + ' '.join(j)
+ else:
+ r.append(i)
+ return r
+
+python read_shlibdeps () {
+ packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
+ for pkg in packages:
+ rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 0) or bb.data.getVar('RDEPENDS', d, 0) or "")
+ shlibsfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".shlibdeps", d)
+ if os.access(shlibsfile, os.R_OK):
+ fd = file(shlibsfile)
+ lines = fd.readlines()
+ fd.close()
+ for l in lines:
+ rdepends.append(l.rstrip())
+ pcfile = bb.data.expand("${WORKDIR}/install/" + pkg + ".pcdeps", d)
+ if os.access(pcfile, os.R_OK):
+ fd = file(pcfile)
+ lines = fd.readlines()
+ fd.close()
+ for l in lines:
+ rdepends.append(l.rstrip())
+ bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
+}
+
+python read_subpackage_metadata () {
+ import re
+
+ def decode(str):
+ import codecs
+ c = codecs.getdecoder("string_escape")
+ return c(str)[0]
+
+ data_file = bb.data.expand("${WORKDIR}/install/${PN}.package", d)
+ if os.access(data_file, os.R_OK):
+ f = file(data_file, 'r')
+ lines = f.readlines()
+ f.close()
+ r = re.compile("([^:]+):\s*(.*)")
+ for l in lines:
+ m = r.match(l)
+ if m:
+ bb.data.setVar(m.group(1), decode(m.group(2)), d)
+}
+
+python __anonymous () {
+ import exceptions
+ need_host = bb.data.getVar('COMPATIBLE_HOST', d, 1)
+ if need_host:
+ import re
+ this_host = bb.data.getVar('HOST_SYS', d, 1)
+ if not re.match(need_host, this_host):
+ raise bb.parse.SkipPackage("incompatible with host %s" % this_host)
+
+ need_machine = bb.data.getVar('COMPATIBLE_MACHINE', d, 1)
+ if need_machine:
+ import re
+ this_machine = bb.data.getVar('MACHINE', d, 1)
+ if not re.match(need_machine, this_machine):
+ raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
+
+ pn = bb.data.getVar('PN', d, 1)
+
+ srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1)
+ if srcdate != None:
+ bb.data.setVar('SRCDATE', srcdate, d)
+
+ use_nls = bb.data.getVar('USE_NLS_%s' % pn, d, 1)
+ if use_nls != None:
+ bb.data.setVar('USE_NLS', use_nls, d)
+}
+
+python () {
+ import bb, os
+ mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
+ old_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
+ if (old_arch == mach_arch):
+ # Nothing to do
+ return
+ if (bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1) == '0'):
+ return
+ paths = []
+ for p in [ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ]:
+ paths.append(bb.data.expand(os.path.join(p, mach_arch), d))
+ for s in bb.data.getVar('SRC_URI', d, 1).split():
+ local = bb.data.expand(bb.fetch.localpath(s, d), d)
+ for mp in paths:
+ if local.startswith(mp):
+# bb.note("overriding PACKAGE_ARCH from %s to %s" % (old_arch, mach_arch))
+ bb.data.setVar('PACKAGE_ARCH', mach_arch, d)
+ return
+}
+
+EXPORT_FUNCTIONS do_clean do_mrproper do_fetch do_unpack do_configure do_compile do_install do_package do_patch do_populate_pkgs do_stage
+
+MIRRORS[func] = "0"
+MIRRORS () {
+${DEBIAN_MIRROR}/main http://snapshot.debian.net/archive/pool
+${DEBIAN_MIRROR} ftp://ftp.de.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.au.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.cl.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.hr.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.fi.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.hk.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.hu.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.ie.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.it.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.jp.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.no.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.pl.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.ro.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.si.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.es.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.se.debian.org/debian/pool
+${DEBIAN_MIRROR} ftp://ftp.tr.debian.org/debian/pool
+${GNU_MIRROR} ftp://mirrors.kernel.org/gnu
+${GNU_MIRROR} ftp://ftp.matrix.com.br/pub/gnu
+${GNU_MIRROR} ftp://ftp.cs.ubc.ca/mirror2/gnu
+${GNU_MIRROR} ftp://sunsite.ust.hk/pub/gnu
+${GNU_MIRROR} ftp://ftp.ayamura.org/pub/gnu
+ftp://ftp.kernel.org/pub http://www.kernel.org/pub
+ftp://ftp.kernel.org/pub ftp://ftp.us.kernel.org/pub
+ftp://ftp.kernel.org/pub ftp://ftp.uk.kernel.org/pub
+ftp://ftp.kernel.org/pub ftp://ftp.hk.kernel.org/pub
+ftp://ftp.kernel.org/pub ftp://ftp.au.kernel.org/pub
+ftp://ftp.kernel.org/pub ftp://ftp.jp.kernel.org/pub
+ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/
+ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.surfnet.nl/pub/security/gnupg/
+ftp://ftp.gnupg.org/gcrypt/ http://gulus.USherbrooke.ca/pub/appl/GnuPG/
+ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnutls.org/pub/gnutls/
+ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/
+ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/
+ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/
+ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/
+
+ftp://.*/.*/ http://www.oesources.org/source/current/
+http://.*/.*/ http://www.oesources.org/source/current/
+}
+
diff --git a/meta/classes/base_srpm.bbclass b/meta/classes/base_srpm.bbclass
new file mode 100644
index 0000000000..aea6335278
--- /dev/null
+++ b/meta/classes/base_srpm.bbclass
@@ -0,0 +1,20 @@
+inherit base package rpm_core
+
+SPECFILE="${RPMBUILDPATH}/SPECS/${PN}.spec"
+
+base_srpm_do_unpack() {
+ test -e ${SRPMFILE} || die "Source rpm \"${SRPMFILE}\"does not exist"
+ if ! test -e ${SPECFILE}; then
+ ${RPM} -i ${SRPMFILE}
+ fi
+ test -e ${SPECFILE} || die "Spec file \"${SPECFILE}\" does not exist"
+ ${RPMBUILD} -bp ${SPECFILE}
+}
+
+base_srpm_do_compile() {
+ ${RPMBUILD} -bc ${SPECFILE}
+}
+
+base_srpm_do_install() {
+ ${RPMBUILD} -bi ${SPECFILE}
+}
diff --git a/meta/classes/binconfig.bbclass b/meta/classes/binconfig.bbclass
new file mode 100644
index 0000000000..bf15ebcdf9
--- /dev/null
+++ b/meta/classes/binconfig.bbclass
@@ -0,0 +1,36 @@
+inherit base
+
+# The namespaces can clash here hence the two step replace
+def get_binconfig_mangle(d):
+ import bb.data
+ s = "-e ''"
+ if not bb.data.inherits_class('native', d):
+ s += " -e 's:=${libdir}:=OELIBDIR:;'"
+ s += " -e 's:=${includedir}:=OEINCDIR:;'"
+ s += " -e 's:=${datadir}:=OEDATADIR:'"
+ s += " -e 's:=${prefix}:=OEPREFIX:'"
+ s += " -e 's:=${exec_prefix}:=OEEXECPREFIX:'"
+ s += " -e 's:-L${libdir}:-LOELIBDIR:;'"
+ s += " -e 's:-I${includedir}:-IOEINCDIR:;'"
+ s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
+ s += " -e 's:OEINCDIR:${STAGING_INCDIR}:;'"
+ s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
+ s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'"
+ s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
+ return s
+
+# Native package configurations go in ${BINDIR}/<name>-config-native to prevent a collision with cross packages
+def is_native(d):
+ import bb.data
+ return ["","-native"][bb.data.inherits_class('native', d)]
+
+BINCONFIG_GLOB ?= "*-config"
+
+do_stage_append() {
+ for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do
+ configname=`basename $config`${@is_native(d)}
+ install -d ${STAGING_BINDIR}
+ cat $config | sed ${@get_binconfig_mangle(d)} > ${STAGING_BINDIR}/$configname
+ chmod u+x ${STAGING_BINDIR}/$configname
+ done
+}
diff --git a/meta/classes/ccache.inc b/meta/classes/ccache.inc
new file mode 100644
index 0000000000..5e9356104b
--- /dev/null
+++ b/meta/classes/ccache.inc
@@ -0,0 +1,11 @@
+# Make ccache use a TMPDIR specific ccache directory if using the crosscompiler,
+# since it isn't likely to be useful with any other toolchain than the one we just
+# built, and would otherwise push more useful things out of the default cache.
+
+CCACHE_DIR_TARGET = "${TMPDIR}/ccache"
+
+python () {
+ if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d):
+ bb.data.setVar('CCACHE_DIR', '${CCACHE_DIR_TARGET}', d)
+ bb.data.setVarFlag('CCACHE_DIR', 'export', '1', d)
+}
diff --git a/meta/classes/ccdv.bbclass b/meta/classes/ccdv.bbclass
new file mode 100644
index 0000000000..edd151ef8c
--- /dev/null
+++ b/meta/classes/ccdv.bbclass
@@ -0,0 +1,21 @@
+python () {
+ if bb.data.getVar('PN', d, 1) in ['ccdv-native']:
+ if not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, 1):
+ bb.data.setVar("DEPENDS", '%s %s' % ("ccdv-native", bb.data.getVar("DEPENDS", d, 1) or ""), d)
+ bb.data.setVar("CC", '%s %s' % ("ccdv", bb.data.getVar("CC", d, 1) or ""), d)
+ bb.data.setVar("BUILD_CC", '%s %s' % ("ccdv", bb.data.getVar("BUILD_CC", d, 1) or ""), d)
+ bb.data.setVar("CCLD", '%s %s' % ("ccdv", bb.data.getVar("CCLD", d, 1) or ""), d)
+}
+
+def quiet_libtool(bb,d):
+ deps = (bb.data.getVar('DEPENDS', d, 1) or "").split()
+ if 'libtool-cross' in deps:
+ return "'LIBTOOL=${STAGING_BINDIR}/${HOST_SYS}-libtool --silent'"
+ elif 'libtool-native' in deps:
+ return "'LIBTOOL=${B}/${HOST_SYS}-libtool --silent'"
+ else:
+ return ""
+
+CCDV = "ccdv"
+EXTRA_OEMAKE_append = " ${@quiet_libtool(bb,d)}"
+MAKE += "-s"
diff --git a/meta/classes/cml1.bbclass b/meta/classes/cml1.bbclass
new file mode 100644
index 0000000000..79218b4a12
--- /dev/null
+++ b/meta/classes/cml1.bbclass
@@ -0,0 +1,8 @@
+cml1_do_configure() {
+ set -e
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake oldconfig
+}
+
+EXPORT_FUNCTIONS do_configure
+addtask configure after do_unpack do_patch before do_compile
diff --git a/meta/classes/cpan.bbclass b/meta/classes/cpan.bbclass
new file mode 100644
index 0000000000..853abfd1b3
--- /dev/null
+++ b/meta/classes/cpan.bbclass
@@ -0,0 +1,20 @@
+FILES_${PN} += '${libdir}/perl5'
+
+cpan_do_configure () {
+ perl Makefile.PL
+ if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
+ . ${STAGING_DIR}/${TARGET_SYS}/perl/config.sh
+ sed -e "s:\(SITELIBEXP = \).*:\1${sitelibexp}:; s:\(SITEARCHEXP = \).*:\1${sitearchexp}:; s:\(INSTALLVENDORLIB = \).*:\1${D}${libdir}/perl5:; s:\(INSTALLVENDORARCH = \).*:\1${D}${libdir}/perl5:" < Makefile > Makefile.new
+ mv Makefile.new Makefile
+ fi
+}
+
+cpan_do_compile () {
+ oe_runmake PASTHRU_INC="${CFLAGS}"
+}
+
+cpan_do_install () {
+ oe_runmake install_vendor
+}
+
+EXPORT_FUNCTIONS do_configure do_compile do_install
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass
new file mode 100644
index 0000000000..09357acbe8
--- /dev/null
+++ b/meta/classes/cross.bbclass
@@ -0,0 +1,55 @@
+# Cross packages are built indirectly via dependency,
+# no need for them to be a direct target of 'world'
+EXCLUDE_FROM_WORLD = "1"
+
+PACKAGES = ""
+
+HOST_ARCH = "${BUILD_ARCH}"
+HOST_VENDOR = "${BUILD_VENDOR}"
+HOST_OS = "${BUILD_OS}"
+HOST_PREFIX = "${BUILD_PREFIX}"
+HOST_CC_ARCH = "${BUILD_CC_ARCH}"
+
+CPPFLAGS = "${BUILD_CPPFLAGS}"
+CFLAGS = "${BUILD_CFLAGS}"
+CXXFLAGS = "${BUILD_CFLAGS}"
+LDFLAGS = "${BUILD_LDFLAGS}"
+LDFLAGS_build-darwin = "-L${STAGING_DIR}/${BUILD_SYS}/lib "
+
+# Overrides for paths
+
+# Path prefixes
+base_prefix = "${exec_prefix}"
+prefix = "${CROSS_DIR}"
+exec_prefix = "${prefix}"
+
+# Base paths
+base_bindir = "${base_prefix}/bin"
+base_sbindir = "${base_prefix}/bin"
+base_libdir = "${base_prefix}/lib"
+
+# Architecture independent paths
+datadir = "${prefix}/share"
+sysconfdir = "${prefix}/etc"
+sharedstatedir = "${prefix}/com"
+localstatedir = "${prefix}/var"
+infodir = "${datadir}/info"
+mandir = "${datadir}/man"
+docdir = "${datadir}/doc"
+servicedir = "${prefix}/srv"
+
+# Architecture dependent paths
+bindir = "${exec_prefix}/bin"
+sbindir = "${exec_prefix}/bin"
+libexecdir = "${exec_prefix}/libexec"
+libdir = "${exec_prefix}/lib"
+includedir = "${exec_prefix}/include"
+oldincludedir = "${exec_prefix}/include"
+
+do_stage () {
+ oe_runmake install
+}
+
+do_install () {
+ :
+}
diff --git a/meta/classes/debian.bbclass b/meta/classes/debian.bbclass
new file mode 100644
index 0000000000..5688dad93b
--- /dev/null
+++ b/meta/classes/debian.bbclass
@@ -0,0 +1,101 @@
+STAGING_PKGMAPS_DIR = "${STAGING_DIR}/pkgmaps/debian"
+
+# Debain package renaming only occurs when a package is built
+# We therefore have to make sure we build all runtime packages
+# before building the current package to make the packages runtime
+# depends are correct
+BUILD_ALL_DEPS = "1"
+
+python debian_package_name_hook () {
+ import glob, copy, stat, errno, re
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ packages = bb.data.getVar('PACKAGES', d, 1)
+
+ def socrunch(s):
+ s = s.lower().replace('_', '-')
+ m = re.match("^(.*)(.)\.so\.(.*)$", s)
+ if m is None:
+ return None
+ if m.group(2) in '0123456789':
+ bin = '%s%s-%s' % (m.group(1), m.group(2), m.group(3))
+ else:
+ bin = m.group(1) + m.group(2) + m.group(3)
+ dev = m.group(1) + m.group(2)
+ return (bin, dev)
+
+ def isexec(path):
+ try:
+ s = os.stat(path)
+ except (os.error, AttributeError):
+ return 0
+ return (s[stat.ST_MODE] & stat.S_IEXEC)
+
+ def auto_libname(packages, orig_pkg):
+ bin_re = re.compile(".*/s?bin$")
+ lib_re = re.compile(".*/lib$")
+ so_re = re.compile("lib.*\.so")
+ sonames = []
+ has_bins = 0
+ has_libs = 0
+ pkg_dir = os.path.join(workdir, "install", orig_pkg)
+ for root, dirs, files in os.walk(pkg_dir):
+ if bin_re.match(root) and files:
+ has_bins = 1
+ if lib_re.match(root) and files:
+ has_libs = 1
+ for f in files:
+ if so_re.match(f):
+ fp = os.path.join(root, f)
+ cmd = (bb.data.getVar('BUILD_PREFIX', d, 1) or "") + "objdump -p " + fp + " 2>/dev/null"
+ fd = os.popen(cmd)
+ lines = fd.readlines()
+ fd.close()
+ for l in lines:
+ m = re.match("\s+SONAME\s+([^\s]*)", l)
+ if m and not m.group(1) in sonames:
+ sonames.append(m.group(1))
+
+ bb.debug(1, 'LIBNAMES: pkg %s libs %d bins %d sonames %s' % (orig_pkg, has_libs, has_bins, sonames))
+ soname = None
+ if len(sonames) == 1:
+ soname = sonames[0]
+ elif len(sonames) > 1:
+ lead = bb.data.getVar('LEAD_SONAME', d, 1)
+ if lead:
+ r = re.compile(lead)
+ filtered = []
+ for s in sonames:
+ if r.match(s):
+ filtered.append(s)
+ if len(filtered) == 1:
+ soname = filtered[0]
+ elif len(filtered) > 1:
+ bb.note("Multiple matches (%s) for LEAD_SONAME '%s'" % (", ".join(filtered), lead))
+ else:
+ bb.note("Multiple libraries (%s) found, but LEAD_SONAME '%s' doesn't match any of them" % (", ".join(sonames), lead))
+ else:
+ bb.note("Multiple libraries (%s) found and LEAD_SONAME not defined" % ", ".join(sonames))
+
+ if has_libs and not has_bins and soname:
+ soname_result = socrunch(soname)
+ if soname_result:
+ (pkgname, devname) = soname_result
+ for pkg in packages.split():
+ if (bb.data.getVar('PKG_' + pkg, d) or bb.data.getVar('DEBIAN_NOAUTONAME_' + pkg, d)):
+ continue
+ if pkg == orig_pkg:
+ newpkg = pkgname
+ else:
+ newpkg = pkg.replace(orig_pkg, devname, 1)
+ if newpkg != pkg:
+ bb.data.setVar('PKG_' + pkg, newpkg, d)
+
+ for pkg in (bb.data.getVar('AUTO_LIBNAME_PKGS', d, 1) or "").split():
+ auto_libname(packages, pkg)
+}
+
+EXPORT_FUNCTIONS package_name_hook
+
+DEBIAN_NAMES = 1
+
diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass
new file mode 100644
index 0000000000..68d7112166
--- /dev/null
+++ b/meta/classes/distutils-base.bbclass
@@ -0,0 +1,14 @@
+EXTRA_OEMAKE = ""
+DEPENDS += "${@["python-native python", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
+RDEPENDS += "python-core"
+
+def python_dir(d):
+ import os, bb
+ staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 )
+ if os.path.exists( "%s/python2.3" % staging_incdir ): return "python2.3"
+ if os.path.exists( "%s/python2.4" % staging_incdir ): return "python2.4"
+ raise "No Python in STAGING_INCDIR. Forgot to build python-native ?"
+
+PYTHON_DIR = "${@python_dir(d)}"
+FILES_${PN} = "${bindir} ${libdir} ${libdir}/${PYTHON_DIR}"
+
diff --git a/meta/classes/distutils.bbclass b/meta/classes/distutils.bbclass
new file mode 100644
index 0000000000..a2b0e2b770
--- /dev/null
+++ b/meta/classes/distutils.bbclass
@@ -0,0 +1,15 @@
+inherit distutils-base
+
+distutils_do_compile() {
+ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
+ ${STAGING_BINDIR}/python setup.py build || \
+ oefatal "python setup.py build execution failed."
+}
+
+distutils_do_install() {
+ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
+ ${STAGING_BINDIR}/python setup.py install --prefix=${D}/${prefix} --install-data=${D}/${datadir} || \
+ oefatal "python setup.py install execution failed."
+}
+
+EXPORT_FUNCTIONS do_compile do_install
diff --git a/meta/classes/e.bbclass b/meta/classes/e.bbclass
new file mode 100644
index 0000000000..afd9b6d2b3
--- /dev/null
+++ b/meta/classes/e.bbclass
@@ -0,0 +1,37 @@
+MAINTAINER = "Justin Patrin <papercrane@reversefold.com>"
+HOMEPAGE = "http://www.enlightenment.org"
+SECTION = "e/apps"
+
+inherit autotools pkgconfig binconfig
+
+do_prepsources () {
+ make clean distclean || true
+}
+addtask prepsources after do_fetch before do_unpack
+
+def binconfig_suffix(d):
+ import bb
+ return ["","-native"][bb.data.inherits_class('native', d)]
+
+export CURL_CONFIG = "${STAGING_BINDIR}/curl-config${@binconfig_suffix(d)}"
+export EDB_CONFIG = "${STAGING_BINDIR}/edb-config${@binconfig_suffix(d)}"
+export EET_CONFIG = "${STAGING_BINDIR}/eet-config${@binconfig_suffix(d)}"
+export EVAS_CONFIG = "${STAGING_BINDIR}/evas-config${@binconfig_suffix(d)}"
+export ECORE_CONFIG = "${STAGING_BINDIR}/ecore-config${@binconfig_suffix(d)}"
+export EMBRYO_CONFIG = "${STAGING_BINDIR}/embryo-config${@binconfig_suffix(d)}"
+export ENGRAVE_CONFIG = "${STAGING_BINDIR}/engrave-config${@binconfig_suffix(d)}"
+export ENLIGHTENMENT_CONFIG = "${STAGING_BINDIR}/enlightenment-config${@binconfig_suffix(d)}"
+export EPSILON_CONFIG = "${STAGING_BINDIR}/epsilon-config${@binconfig_suffix(d)}"
+export EPEG_CONFIG = "${STAGING_BINDIR}/epeg-config${@binconfig_suffix(d)}"
+export ESMART_CONFIG = "${STAGING_BINDIR}/esmart-config${@binconfig_suffix(d)}"
+export FREETYPE_CONFIG = "${STAGING_BINDIR}/freetype-config${@binconfig_suffix(d)}"
+export IMLIB2_CONFIG = "${STAGING_BINDIR}/imlib2-config${@binconfig_suffix(d)}"
+
+do_compile_prepend() {
+ find ${S} -name Makefile | xargs sed -i 's:/usr/include:${STAGING_INCDIR}:'
+ find ${S} -name Makefile | xargs sed -i 's:/usr/X11R6/include:${STAGING_INCDIR}:'
+}
+
+PACKAGES = "${PN} ${PN}-themes"
+FILES_${PN} = "${libdir}/lib*.so*"
+FILES_${PN}-themes = "${datadir}/${PN}/themes ${datadir}/${PN}/data ${datadir}/${PN}/fonts ${datadir}/${PN}/pointers ${datadir}/${PN}/images ${datadir}/${PN}/users ${datadir}/${PN}/images ${datadir}/${PN}/styles"
diff --git a/meta/classes/efl.bbclass b/meta/classes/efl.bbclass
new file mode 100644
index 0000000000..9c490284c2
--- /dev/null
+++ b/meta/classes/efl.bbclass
@@ -0,0 +1,49 @@
+inherit e
+
+SECTION = "e/libs"
+
+SRCNAME = "${@bb.data.getVar('PN', d, 1).replace('-native', '')}"
+SRC_URI = "${E_URI}/${SRCNAME}-${PV}.tar.gz"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+INHIBIT_AUTO_STAGE_INCLUDES = "1"
+INHIBIT_NATIVE_STAGE_INSTALL = "1"
+
+libdirectory = "src/lib"
+libraries = "lib${SRCNAME}"
+headers = "${@bb.data.getVar('SRCNAME',d,1).capitalize()}.h"
+
+do_stage_append () {
+ for i in ${libraries}
+ do
+ oe_libinstall -C ${libdirectory} $i ${STAGING_LIBDIR}
+ done
+ for i in ${headers}
+ do
+ install -m 0644 ${libdirectory}/$i ${STAGING_INCDIR}
+ done
+
+ # Install binaries automatically for native builds
+ if [ "${@binconfig_suffix(d)}" = "-native" ]
+ then
+
+ # Most EFL binaries start with the package name
+ for i in src/bin/${SRCNAME}*
+ do
+ if [ -x $i -a -f $i ]
+ then
+
+ # Don't install anything with an extension (.so, etc)
+ if echo $i | grep -v \\.
+ then
+ ${HOST_SYS}-libtool --mode=install install -m 0755 $i ${STAGING_BINDIR}
+ fi
+ fi
+ done
+ fi
+}
+
+PACKAGES = "${PN} ${PN}-themes ${PN}-dev ${PN}-examples"
+FILES_${PN}-dev = "${bindir}/${PN}-config ${libdir}/pkgconfig ${libdir}/lib*.?a ${libdir}/lib*.a"
+FILES_${PN}-examples = "${bindir} ${datadir}"
+
diff --git a/meta/classes/flow-lossage.bbclass b/meta/classes/flow-lossage.bbclass
new file mode 100644
index 0000000000..3e841e3cae
--- /dev/null
+++ b/meta/classes/flow-lossage.bbclass
@@ -0,0 +1,5 @@
+# gcc-3.4 blows up in gtktext with -frename-registers on arm-linux
+python () {
+ cflags = (bb.data.getVar('CFLAGS', d, 1) or '').replace('-frename-registers', '')
+ bb.data.setVar('CFLAGS', cflags, d)
+}
diff --git a/meta/classes/gconf.bbclass b/meta/classes/gconf.bbclass
new file mode 100644
index 0000000000..686f8e6596
--- /dev/null
+++ b/meta/classes/gconf.bbclass
@@ -0,0 +1,59 @@
+DEPENDS += "gconf"
+
+gconf_postinst() {
+if [ "$1" = configure ]; then
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+ SCHEMA_LOCATION=/etc/gconf/schemas
+ for SCHEMA in ${SCHEMA_FILES}; do
+ if [ -e $SCHEMA_LOCATION/$SCHEMA ]; then
+ HOME=/root GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` \
+ gconftool-2 \
+ --makefile-install-rule $SCHEMA_LOCATION/$SCHEMA > /dev/null
+ fi
+ done
+fi
+}
+
+gconf_prerm() {
+if [ "$1" = remove ] || [ "$1" = upgrade ]; then
+ SCHEMA_LOCATION=/etc/gconf/schemas
+ for SCHEMA in ${SCHEMA_FILES}; do
+ if [ -e $SCHEMA_LOCATION/$SCHEMA ]; then
+ HOME=/root GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` \
+ gconftool-2 \
+ --makefile-uninstall-rule $SCHEMA_LOCATION/$SCHEMA > /dev/null
+ fi
+ done
+fi
+}
+
+python populate_packages_append () {
+ import os.path, re
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+
+ for pkg in packages:
+ schema_dir = '%s/install/%s/etc/gconf/schemas' % (workdir, pkg)
+ schemas = []
+ schema_re = re.compile(".*\.schemas$")
+ if os.path.exists(schema_dir):
+ for f in os.listdir(schema_dir):
+ if schema_re.match(f):
+ schemas.append(f)
+ if schemas != []:
+ bb.note("adding gconf postinst and prerm scripts to %s" % pkg)
+ bb.data.setVar('SCHEMA_FILES', " ".join(schemas), d)
+ postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1)
+ if not postinst:
+ postinst = '#!/bin/sh\n'
+ postinst += bb.data.getVar('gconf_postinst', d, 1)
+ bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d)
+ prerm = bb.data.getVar('pkg_prerm_%s' % pkg, d, 1) or bb.data.getVar('pkg_prerm', d, 1)
+ if not prerm:
+ prerm = '#!/bin/sh\n'
+ prerm += bb.data.getVar('gconf_prerm', d, 1)
+ bb.data.setVar('pkg_prerm_%s' % pkg, prerm, d)
+
+}
diff --git a/meta/classes/gettext.bbclass b/meta/classes/gettext.bbclass
new file mode 100644
index 0000000000..3785f5acd3
--- /dev/null
+++ b/meta/classes/gettext.bbclass
@@ -0,0 +1,12 @@
+python () {
+ # Remove the NLS bits if USE_NLS is no.
+ if bb.data.getVar('USE_NLS', d, 1) == 'no':
+ cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
+ cfg += " --disable-nls"
+ depends = bb.data.getVar('DEPENDS', d, 1) or ""
+ bb.data.setVar('DEPENDS', oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d)
+ bb.data.setVar('EXTRA_OECONF', cfg, d)
+}
+
+DEPENDS =+ "gettext-native"
+EXTRA_OECONF += "--enable-nls"
diff --git a/meta/classes/gnome.bbclass b/meta/classes/gnome.bbclass
new file mode 100644
index 0000000000..8643989b73
--- /dev/null
+++ b/meta/classes/gnome.bbclass
@@ -0,0 +1,20 @@
+def gnome_verdir(v):
+ import re
+ m = re.match("([0-9]+)\.([0-9]+)\..*", v)
+ return "%s.%s" % (m.group(1), m.group(2))
+
+SECTION ?= "x11/gnome"
+SRC_URI = "${GNOME_MIRROR}/${PN}/${@gnome_verdir("${PV}")}/${PN}-${PV}.tar.bz2"
+
+DEPENDS += "gnome-common"
+
+FILES_${PN} += "${datadir}/application-registry ${datadir}/mime-info \
+ ${datadir}/gnome-2.0"
+
+inherit autotools pkgconfig gconf
+
+EXTRA_AUTORECONF += "-I ${STAGING_DIR}/${HOST_SYS}/share/aclocal/gnome2-macros"
+
+gnome_stage_includes() {
+ autotools_stage_includes
+}
diff --git a/meta/classes/gpe.bbclass b/meta/classes/gpe.bbclass
new file mode 100644
index 0000000000..861ec416a0
--- /dev/null
+++ b/meta/classes/gpe.bbclass
@@ -0,0 +1,17 @@
+DEPENDS_prepend = "coreutils-native virtual/libintl intltool-native "
+GPE_TARBALL_SUFFIX ?= "gz"
+SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}"
+FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry"
+MAINTAINER ?= "GPE Team <gpe@handhelds.org>"
+
+inherit gettext
+
+gpe_do_compile() {
+ oe_runmake PREFIX=${prefix}
+}
+
+gpe_do_install() {
+ oe_runmake PREFIX=${prefix} DESTDIR=${D} install
+}
+
+EXPORT_FUNCTIONS do_compile do_install
diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
new file mode 100644
index 0000000000..0f68e6812b
--- /dev/null
+++ b/meta/classes/gtk-icon-cache.bbclass
@@ -0,0 +1,38 @@
+FILES_${PN} += "${datadir}/icons/hicolor"
+
+gtk-icon-cache_postinst() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+gtk-update-icon-cache -q /usr/share/icons/hicolor
+}
+
+gtk-icon-cache_postrm() {
+gtk-update-icon-cache -q /usr/share/icons/hicolor
+}
+
+python populate_packages_append () {
+ import os.path
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+
+ for pkg in packages:
+ icon_dir = '%s/install/%s/%s/icons/hicolor' % (workdir, pkg, bb.data.getVar('datadir', d, 1))
+ if not os.path.exists(icon_dir):
+ continue
+
+ bb.note("adding gtk-icon-cache postinst and postrm scripts to %s" % pkg)
+
+ postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1)
+ if not postinst:
+ postinst = '#!/bin/sh\n'
+ postinst += bb.data.getVar('gtk-icon-cache_postinst', d, 1)
+ bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d)
+
+ postrm = bb.data.getVar('pkg_postrm_%s' % pkg, d, 1) or bb.data.getVar('pkg_postrm', d, 1)
+ if not postrm:
+ postrm = '#!/bin/sh\n'
+ postrm += bb.data.getVar('gtk-icon-cache_postrm', d, 1)
+ bb.data.setVar('pkg_postrm_%s' % pkg, postrm, d)
+}
+
diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
new file mode 100644
index 0000000000..7dfcfc29a4
--- /dev/null
+++ b/meta/classes/icecc.bbclass
@@ -0,0 +1,156 @@
+# IceCream distributed compiling support
+#
+# We need to create a tar.bz2 of our toolchain and set
+# ICECC_VERSION, ICECC_CXX and ICEC_CC
+#
+
+def create_env(bb,d):
+ """
+ Create a tar.bz of the current toolchain
+ """
+
+ # Constin native-native compilation no environment needed if
+ # host prefix is empty (let us duplicate the query for ease)
+ prefix = bb.data.expand('${HOST_PREFIX}', d)
+ if len(prefix) == 0:
+ return ""
+
+ import tarfile
+ import socket
+ import time
+ import os
+ ice_dir = bb.data.expand('${CROSS_DIR}', d)
+ prefix = bb.data.expand('${HOST_PREFIX}' , d)
+ distro = bb.data.expand('${DISTRO}', d)
+ target_sys = bb.data.expand('${TARGET_SYS}', d)
+ #float = bb.data.getVar('${TARGET_FPU}', d)
+ float = "anyfloat"
+ name = socket.gethostname()
+
+ try:
+ os.stat(ice_dir + '/' + target_sys + '/lib/ld-linux.so.2')
+ os.stat(ice_dir + '/' + target_sys + '/bin/g++')
+ except:
+ return ""
+
+ VERSION = '3.4.3'
+ cross_name = prefix + distro + target_sys + float +VERSION+ name
+ tar_file = ice_dir + '/ice/' + cross_name + '.tar.bz2'
+
+ try:
+ os.stat(tar_file)
+ return tar_file
+ except:
+ try:
+ os.makedirs(ice_dir+'/ice')
+ except:
+ pass
+
+ # FIXME find out the version of the compiler
+ tar = tarfile.open(tar_file, 'w:bz2')
+ tar.add(ice_dir + '/' + target_sys + '/lib/ld-linux.so.2',
+ target_sys + 'cross/lib/ld-linux.so.2')
+ tar.add(ice_dir + '/' + target_sys + '/lib/ld-linux.so.2',
+ target_sys + 'cross/lib/ld-2.3.3.so')
+ tar.add(ice_dir + '/' + target_sys + '/lib/libc-2.3.3.so',
+ target_sys + 'cross/lib/libc-2.3.3.so')
+ tar.add(ice_dir + '/' + target_sys + '/lib/libc.so.6',
+ target_sys + 'cross/lib/libc.so.6')
+ tar.add(ice_dir + '/' + target_sys + '/bin/gcc',
+ target_sys + 'cross/usr/bin/gcc')
+ tar.add(ice_dir + '/' + target_sys + '/bin/g++',
+ target_sys + 'cross/usr/bin/g++')
+ tar.add(ice_dir + '/' + target_sys + '/bin/as',
+ target_sys + 'cross/usr/bin/as')
+ tar.add(ice_dir + '/lib/gcc/' + target_sys +'/'+ VERSION + '/specs',
+ target_sys+'cross/usr/lib/gcc/'+target_sys+'/'+VERSION+'/lib/specs')
+ tar.add(ice_dir + '/libexec/gcc/'+target_sys+'/' + VERSION + '/cc1',
+ target_sys + 'cross/usr/lib/gcc/'+target_sys+'/'+VERSION+'/lib/cc1')
+ tar.add(ice_dir + '/libexec/gcc/arm-linux/' + VERSION + '/cc1plus',
+ target_sys+'cross/usr/lib/gcc/'+target_sys+'/'+VERSION+'/lib/cc1plus')
+ tar.close()
+ return tar_file
+
+
+def create_path(compilers, type, bb, d):
+ """
+ Create Symlinks for the icecc in the staging directory
+ """
+ import os
+
+ staging = bb.data.expand('${STAGING_DIR}', d) + "/ice/" + type
+ icecc = bb.data.getVar('ICECC_PATH', d)
+
+ # Create the dir if necessary
+ try:
+ os.stat(staging)
+ except:
+ os.makedirs(staging)
+
+
+ for compiler in compilers:
+ gcc_path = staging + "/" + compiler
+ try:
+ os.stat(gcc_path)
+ except:
+ os.symlink(icecc, gcc_path)
+
+ return staging + ":"
+
+
+def use_icc_version(bb,d):
+ # Constin native native
+ prefix = bb.data.expand('${HOST_PREFIX}', d)
+ if len(prefix) == 0:
+ return "no"
+
+
+ native = bb.data.expand('${PN}', d)
+ blacklist = [ "-cross", "-native" ]
+
+ for black in blacklist:
+ if black in native:
+ return "no"
+
+ return "yes"
+
+def icc_path(bb,d,compile):
+ native = bb.data.expand('${PN}', d)
+ blacklist = [ "ulibc", "glibc", "ncurses" ]
+ for black in blacklist:
+ if black in native:
+ return ""
+
+ if "-native" in native:
+ compile = False
+ if "-cross" in native:
+ compile = False
+
+ prefix = bb.data.expand('${HOST_PREFIX}', d)
+ if compile and len(prefix) != 0:
+ return create_path( [prefix+"gcc", prefix+"g++"], "cross", bb, d )
+ elif not compile or len(prefix) == 0:
+ return create_path( ["gcc", "g++"], "native", bb, d)
+
+
+def icc_version(bb,d):
+ return create_env(bb,d)
+
+
+#
+# set the IceCream environment variables
+do_configure_prepend() {
+ export PATH=${@icc_path(bb,d,False)}$PATH
+ export ICECC_CC="gcc"
+ export ICECC_CXX="g++"
+}
+
+do_compile_prepend() {
+ export PATH=${@icc_path(bb,d,True)}$PATH
+ export ICECC_CC="${HOST_PREFIX}gcc"
+ export ICECC_CXX="${HOST_PREFIX}g++"
+
+ if [ "${@use_icc_version(bb,d)}" = "yes" ]; then
+ export ICECC_VERSION="${@icc_version(bb,d)}"
+ fi
+}
diff --git a/meta/classes/image_ipk.bbclass b/meta/classes/image_ipk.bbclass
new file mode 100644
index 0000000000..c2f1c8d682
--- /dev/null
+++ b/meta/classes/image_ipk.bbclass
@@ -0,0 +1,76 @@
+inherit rootfs_ipk
+
+# We need to follow RDEPENDS and RRECOMMENDS for images
+BUILD_ALL_DEPS = "1"
+
+# Images are generally built explicitly, do not need to be part of world.
+EXCLUDE_FROM_WORLD = "1"
+
+USE_DEVFS ?= "0"
+
+DEPENDS += "makedevs-native"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+def get_image_deps(d):
+ import bb
+ str = ""
+ for type in (bb.data.getVar('IMAGE_FSTYPES', d, 1) or "").split():
+ deps = bb.data.getVar('IMAGE_DEPENDS_%s' % type, d) or ""
+ if deps:
+ str += " %s" % deps
+ return str
+
+DEPENDS += "${@get_image_deps(d)}"
+
+IMAGE_DEVICE_TABLE ?= "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'files/device_table-minimal.txt')}"
+IMAGE_POSTPROCESS_COMMAND ?= ""
+
+# Must call real_do_rootfs() from inside here, rather than as a separate
+# task, so that we have a single fakeroot context for the whole process.
+fakeroot do_rootfs () {
+ set -x
+ rm -rf ${IMAGE_ROOTFS}
+
+ if [ "${USE_DEVFS}" != "1" ]; then
+ mkdir -p ${IMAGE_ROOTFS}/dev
+ makedevs -r ${IMAGE_ROOTFS} -D ${IMAGE_DEVICE_TABLE}
+ fi
+
+ real_do_rootfs
+
+ insert_feed_uris
+
+ rm -f ${IMAGE_ROOTFS}${libdir}/ipkg/lists/oe
+
+ ${IMAGE_PREPROCESS_COMMAND}
+
+ export TOPDIR=${TOPDIR}
+
+ for type in ${IMAGE_FSTYPES}; do
+ if test -z "$FAKEROOTKEY"; then
+ fakeroot -i ${TMPDIR}/fakedb.image bbimage -t $type -e ${FILE}
+ else
+ bbimage -n "${IMAGE_NAME}" -t "$type" -e "${FILE}"
+ fi
+ done
+
+ ${IMAGE_POSTPROCESS_COMMAND}
+}
+
+insert_feed_uris () {
+
+ echo "Building feeds for [${DISTRO}].."
+
+ for line in ${FEED_URIS}
+ do
+ # strip leading and trailing spaces/tabs, then split into name and uri
+ line_clean="`echo "$line"|sed 's/^[ \t]*//;s/[ \t]*$//'`"
+ feed_name="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\1/p'`"
+ feed_uri="`echo "$line_clean" | sed -n 's/\(.*\)##\(.*\)/\2/p'`"
+
+ echo "Added $feed_name feed with URL $feed_uri"
+
+ # insert new feed-sources
+ echo "src/gz $feed_name $feed_uri" >> ${IMAGE_ROOTFS}/etc/ipkg/${feed_name}-feed.conf
+ done
+}
diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass
new file mode 100644
index 0000000000..92a6c982fb
--- /dev/null
+++ b/meta/classes/kernel-arch.bbclass
@@ -0,0 +1,26 @@
+#
+# set the ARCH environment variable for kernel compilation (including
+# modules). return value must match one of the architecture directories
+# in the kernel source "arch" directory
+#
+
+valid_archs = "alpha cris ia64 m68knommu ppc sh \
+ sparc64 x86_64 arm h8300 m32r mips \
+ ppc64 sh64 um arm26 i386 m68k \
+ parisc s390 sparc v850"
+
+def map_kernel_arch(a, d):
+ import bb, re
+
+ valid_archs = bb.data.getVar('valid_archs', d, 1).split()
+
+ if re.match('(i.86|athlon)$', a): return 'i386'
+ elif re.match('arm26$', a): return 'arm26'
+ elif re.match('armeb$', a): return 'arm'
+ elif re.match('powerpc$', a): return 'ppc'
+ elif re.match('mipsel$', a): return 'mips'
+ elif a in valid_archs: return a
+ else:
+ bb.error("cannot map '%s' to a linux kernel architecture" % a)
+
+export ARCH = "${@map_kernel_arch(bb.data.getVar('TARGET_ARCH', d, 1), d)}"
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
new file mode 100644
index 0000000000..ad51c4e035
--- /dev/null
+++ b/meta/classes/kernel.bbclass
@@ -0,0 +1,435 @@
+inherit module_strip
+
+PROVIDES += "virtual/kernel"
+DEPENDS += "virtual/${TARGET_PREFIX}depmod-${@get_kernelmajorversion('${PV}')} virtual/${TARGET_PREFIX}gcc${KERNEL_CCSUFFIX} update-modules"
+
+inherit kernel-arch
+
+PACKAGES_DYNAMIC += "kernel-module-*"
+PACKAGES_DYNAMIC += "kernel-image-*"
+
+export OS = "${TARGET_OS}"
+export CROSS_COMPILE = "${TARGET_PREFIX}"
+KERNEL_IMAGETYPE = "zImage"
+
+KERNEL_PRIORITY = "${@bb.data.getVar('PV',d,1).split('-')[0].split('.')[-1]}"
+
+# [jbowler 20051109] ${PV}${KERNEL_LOCALVERSION} is used throughout this
+# .bbclass to (apparently) find the full 'uname -r' kernel version, this
+# should be the same as UTS_RELEASE or (in this file) KERNEL_VERSION:
+# KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(LOCALVERSION)
+# but since this is not certain this overridable setting is used here:
+KERNEL_RELEASE ?= "${PV}${KERNEL_LOCALVERSION}"
+
+KERNEL_CCSUFFIX ?= ""
+KERNEL_LDSUFFIX ?= ""
+
+# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
+# specific options necessary for building the kernel and modules.
+#FIXME: should be this: TARGET_CC_KERNEL_ARCH ?= "${TARGET_CC_ARCH}"
+TARGET_CC_KERNEL_ARCH ?= ""
+HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
+TARGET_LD_KERNEL_ARCH ?= ""
+HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
+
+KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
+KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
+
+KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}"
+KERNEL_IMAGEDEST = "boot"
+
+#
+# configuration
+#
+export CMDLINE_CONSOLE = "console=${@bb.data.getVar("KERNEL_CONSOLE",d,1) or "ttyS0"}"
+
+# parse kernel ABI version out of <linux/version.h>
+def get_kernelversion(p):
+ import re
+ try:
+ f = open(p, 'r')
+ except IOError:
+ return None
+ l = f.readlines()
+ f.close()
+ r = re.compile("#define UTS_RELEASE \"(.*)\"")
+ for s in l:
+ m = r.match(s)
+ if m:
+ return m.group(1)
+ return None
+
+def get_kernelmajorversion(p):
+ import re
+ r = re.compile("([0-9]+\.[0-9]+).*")
+ m = r.match(p);
+ if m:
+ return m.group(1)
+ return None
+
+KERNEL_VERSION = "${@get_kernelversion('${S}/include/linux/version.h')}"
+KERNEL_MAJOR_VERSION = "${@get_kernelmajorversion('${KERNEL_VERSION}')}"
+
+KERNEL_LOCALVERSION ?= ""
+
+# kernels are generally machine specific
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+kernel_do_compile() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake include/linux/version.h CC="${KERNEL_CC}" LD="${KERNEL_LD}"
+ if [ "${KERNEL_MAJOR_VERSION}" != "2.6" ]; then
+ oe_runmake dep CC="${KERNEL_CC}" LD="${KERNEL_LD}"
+ fi
+ oe_runmake ${KERNEL_IMAGETYPE} CC="${KERNEL_CC}" LD="${KERNEL_LD}"
+ if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
+ oe_runmake modules CC="${KERNEL_CC}" LD="${KERNEL_LD}"
+ else
+ oenote "no modules to compile"
+ fi
+}
+
+kernel_do_stage() {
+ ASMDIR=`readlink include/asm`
+
+ mkdir -p ${STAGING_KERNEL_DIR}/include/$ASMDIR
+ cp -fR include/$ASMDIR/* ${STAGING_KERNEL_DIR}/include/$ASMDIR/
+ rm -f $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
+ ln -sf $ASMDIR ${STAGING_KERNEL_DIR}/include/asm
+
+ mkdir -p ${STAGING_KERNEL_DIR}/include/asm-generic
+ cp -fR include/asm-generic/* ${STAGING_KERNEL_DIR}/include/asm-generic/
+
+ mkdir -p ${STAGING_KERNEL_DIR}/include/linux
+ cp -fR include/linux/* ${STAGING_KERNEL_DIR}/include/linux/
+
+ mkdir -p ${STAGING_KERNEL_DIR}/include/net
+ cp -fR include/net/* ${STAGING_KERNEL_DIR}/include/net/
+
+ mkdir -p ${STAGING_KERNEL_DIR}/include/pcmcia
+ cp -fR include/pcmcia/* ${STAGING_KERNEL_DIR}/include/pcmcia/
+
+ if [ -d include/sound ]; then
+ mkdir -p ${STAGING_KERNEL_DIR}/include/sound
+ cp -fR include/sound/* ${STAGING_KERNEL_DIR}/include/sound/
+ fi
+
+ if [ -d drivers/sound ]; then
+ # 2.4 alsa needs some headers from this directory
+ mkdir -p ${STAGING_KERNEL_DIR}/include/drivers/sound
+ cp -fR drivers/sound/*.h ${STAGING_KERNEL_DIR}/include/drivers/sound/
+ fi
+
+ install -m 0644 .config ${STAGING_KERNEL_DIR}/config-${KERNEL_RELEASE}
+ ln -sf config-${KERNEL_RELEASE} ${STAGING_KERNEL_DIR}/.config
+ ln -sf config-${KERNEL_RELEASE} ${STAGING_KERNEL_DIR}/kernel-config
+ echo "${KERNEL_VERSION}" >${STAGING_KERNEL_DIR}/kernel-abiversion
+ echo "${S}" >${STAGING_KERNEL_DIR}/kernel-source
+ echo "${KERNEL_CCSUFFIX}" >${STAGING_KERNEL_DIR}/kernel-ccsuffix
+ echo "${KERNEL_LDSUFFIX}" >${STAGING_KERNEL_DIR}/kernel-ldsuffix
+ [ -e Rules.make ] && install -m 0644 Rules.make ${STAGING_KERNEL_DIR}/
+ [ -e Makefile ] && install -m 0644 Makefile ${STAGING_KERNEL_DIR}/
+
+ # Check if arch/${ARCH}/Makefile exists and install it
+ if [ -e arch/${ARCH}/Makefile ]; then
+ install -d ${STAGING_KERNEL_DIR}/arch/${ARCH}
+ install -m 0644 arch/${ARCH}/Makefile ${STAGING_KERNEL_DIR}/arch/${ARCH}
+ fi
+ cp -fR include/config* ${STAGING_KERNEL_DIR}/include/
+ install -m 0644 ${KERNEL_OUTPUT} ${STAGING_KERNEL_DIR}/${KERNEL_IMAGETYPE}
+ install -m 0644 System.map ${STAGING_KERNEL_DIR}/System.map-${KERNEL_RELEASE}
+ [ -e Module.symvers ] && install -m 0644 Module.symvers ${STAGING_KERNEL_DIR}/
+
+ cp -fR scripts ${STAGING_KERNEL_DIR}/
+}
+
+kernel_do_install() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
+ oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
+ else
+ oenote "no modules to install"
+ fi
+
+ install -d ${D}/${KERNEL_IMAGEDEST}
+ install -d ${D}/boot
+ install -m 0644 ${KERNEL_OUTPUT} ${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE}
+ install -m 0644 System.map ${D}/boot/System.map-${KERNEL_RELEASE}
+ install -m 0644 .config ${D}/boot/config-${KERNEL_RELEASE}
+ install -d ${D}/etc/modutils
+
+ # Check if scripts/genksyms exists and if so, build it
+ if [ -e scripts/genksyms/ ]; then
+ oe_runmake SUBDIRS="scripts/genksyms"
+ fi
+
+ install -d ${STAGING_KERNEL_DIR}
+ cp -fR scripts ${STAGING_KERNEL_DIR}/
+}
+
+kernel_do_configure() {
+ yes '' | oe_runmake oldconfig
+}
+
+pkg_postinst_kernel () {
+ update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE} ${KERNEL_PRIORITY} || true
+}
+
+pkg_postrm_kernel () {
+ update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_RELEASE} || true
+}
+
+inherit cml1
+
+EXPORT_FUNCTIONS do_compile do_install do_stage do_configure
+
+PACKAGES = "kernel kernel-image kernel-dev"
+FILES = ""
+FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
+FILES_kernel-dev = "/boot/System.map* /boot/config*"
+RDEPENDS_kernel = "kernel-image-${KERNEL_VERSION}"
+PKG_kernel-image = "kernel-image-${KERNEL_VERSION}"
+ALLOW_EMPTY_kernel = "1"
+ALLOW_EMPTY_kernel-image = "1"
+
+pkg_postinst_kernel-image () {
+if [ ! -e "$D/lib/modules/${KERNEL_RELEASE}" ]; then
+ mkdir -p $D/lib/modules/${KERNEL_RELEASE}
+fi
+if [ -n "$D" ]; then
+ ${HOST_PREFIX}depmod-${KERNEL_MAJOR_VERSION} -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_RELEASE} ${KERNEL_VERSION}
+else
+ depmod -A
+fi
+}
+
+pkg_postinst_modules () {
+if [ -n "$D" ]; then
+ ${HOST_PREFIX}depmod-${KERNEL_MAJOR_VERSION} -A -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_RELEASE} ${KERNEL_VERSION}
+else
+ depmod -A
+ update-modules || true
+fi
+}
+
+pkg_postrm_modules () {
+update-modules || true
+}
+
+autoload_postinst_fragment() {
+if [ x"$D" = "x" ]; then
+ modprobe %s || true
+fi
+}
+
+# autoload defaults (alphabetically sorted)
+module_autoload_hidp = "hidp"
+module_autoload_ipv6 = "ipv6"
+module_autoload_ipsec = "ipsec"
+module_autoload_ircomm-tty = "ircomm-tty"
+module_autoload_rfcomm = "rfcomm"
+module_autoload_sa1100-rtc = "sa1100-rtc"
+
+# alias defaults (alphabetically sorted)
+module_conf_af_packet = "alias net-pf-17 af_packet"
+module_conf_bluez = "alias net-pf-31 bluez"
+module_conf_bnep = "alias bt-proto-4 bnep"
+module_conf_hci_uart = "alias tty-ldisc-15 hci_uart"
+module_conf_l2cap = "alias bt-proto-0 l2cap"
+module_conf_sco = "alias bt-proto-2 sco"
+module_conf_rfcomm = "alias bt-proto-3 rfcomm"
+
+python populate_packages_prepend () {
+ def extract_modinfo(file):
+ import os, re
+ tmpfile = os.tmpnam()
+ cmd = "PATH=\"%s\" %sobjcopy -j .modinfo -O binary %s %s" % (bb.data.getVar("PATH", d, 1), bb.data.getVar("HOST_PREFIX", d, 1) or "", file, tmpfile)
+ os.system(cmd)
+ f = open(tmpfile)
+ l = f.read().split("\000")
+ f.close()
+ os.unlink(tmpfile)
+ exp = re.compile("([^=]+)=(.*)")
+ vals = {}
+ for i in l:
+ m = exp.match(i)
+ if not m:
+ continue
+ vals[m.group(1)] = m.group(2)
+ return vals
+
+ def parse_depmod():
+ import os, re
+
+ dvar = bb.data.getVar('D', d, 1)
+ if not dvar:
+ bb.error("D not defined")
+ return
+
+ kernelver = bb.data.getVar('KERNEL_RELEASE', d, 1)
+ kernelver_stripped = kernelver
+ m = re.match('^(.*-hh.*)[\.\+].*$', kernelver)
+ if m:
+ kernelver_stripped = m.group(1)
+ path = bb.data.getVar("PATH", d, 1)
+ host_prefix = bb.data.getVar("HOST_PREFIX", d, 1) or ""
+ major_version = bb.data.getVar('KERNEL_MAJOR_VERSION', d, 1)
+
+ cmd = "PATH=\"%s\" %sdepmod-%s -n -a -r -b %s -F %s/boot/System.map-%s %s" % (path, host_prefix, major_version, dvar, dvar, kernelver, kernelver_stripped)
+ f = os.popen(cmd, 'r')
+
+ deps = {}
+ pattern0 = "^(.*\.k?o):..*$"
+ pattern1 = "^(.*\.k?o):\s*(.*\.k?o)\s*$"
+ pattern2 = "^(.*\.k?o):\s*(.*\.k?o)\s*\\\$"
+ pattern3 = "^\t(.*\.k?o)\s*\\\$"
+ pattern4 = "^\t(.*\.k?o)\s*$"
+
+ line = f.readline()
+ while line:
+ if not re.match(pattern0, line):
+ line = f.readline()
+ continue
+ m1 = re.match(pattern1, line)
+ if m1:
+ deps[m1.group(1)] = m1.group(2).split()
+ else:
+ m2 = re.match(pattern2, line)
+ if m2:
+ deps[m2.group(1)] = m2.group(2).split()
+ line = f.readline()
+ m3 = re.match(pattern3, line)
+ while m3:
+ deps[m2.group(1)].extend(m3.group(1).split())
+ line = f.readline()
+ m3 = re.match(pattern3, line)
+ m4 = re.match(pattern4, line)
+ deps[m2.group(1)].extend(m4.group(1).split())
+ line = f.readline()
+ f.close()
+ return deps
+
+ def get_dependencies(file, pattern, format):
+ file = file.replace(bb.data.getVar('D', d, 1) or '', '', 1)
+
+ if module_deps.has_key(file):
+ import os.path, re
+ dependencies = []
+ for i in module_deps[file]:
+ m = re.match(pattern, os.path.basename(i))
+ if not m:
+ continue
+ on = legitimize_package_name(m.group(1))
+ dependency_pkg = format % on
+ v = bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) or "0"
+ if v == "1":
+ kv = bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1)
+ dependency_pkg = "%s-%s" % (dependency_pkg, kv)
+ dependencies.append(dependency_pkg)
+ return dependencies
+ return []
+
+ def frob_metadata(file, pkg, pattern, format, basename):
+ import re
+ vals = extract_modinfo(file)
+
+ dvar = bb.data.getVar('D', d, 1)
+
+ # If autoloading is requested, output /etc/modutils/<name> and append
+ # appropriate modprobe commands to the postinst
+ autoload = bb.data.getVar('module_autoload_%s' % basename, d, 1)
+ if autoload:
+ name = '%s/etc/modutils/%s' % (dvar, basename)
+ f = open(name, 'w')
+ for m in autoload.split():
+ f.write('%s\n' % m)
+ f.close()
+ postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1)
+ if not postinst:
+ bb.fatal("pkg_postinst_%s not defined" % pkg)
+ postinst += bb.data.getVar('autoload_postinst_fragment', d, 1) % autoload
+ bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d)
+
+ # Write out any modconf fragment
+ modconf = bb.data.getVar('module_conf_%s' % basename, d, 1)
+ if modconf:
+ name = '%s/etc/modutils/%s.conf' % (dvar, basename)
+ f = open(name, 'w')
+ f.write("%s\n" % modconf)
+ f.close()
+
+ files = bb.data.getVar('FILES_%s' % pkg, d, 1)
+ files = "%s /etc/modutils/%s /etc/modutils/%s.conf" % (files, basename, basename)
+ bb.data.setVar('FILES_%s' % pkg, files, d)
+
+ if vals.has_key("description"):
+ old_desc = bb.data.getVar('DESCRIPTION_' + pkg, d, 1) or ""
+ bb.data.setVar('DESCRIPTION_' + pkg, old_desc + "; " + vals["description"], d)
+
+ rdepends_str = bb.data.getVar('RDEPENDS_' + pkg, d, 1)
+ if rdepends_str:
+ rdepends = rdepends_str.split()
+ else:
+ rdepends = []
+ rdepends.extend(get_dependencies(file, pattern, format))
+ bb.data.setVar('RDEPENDS_' + pkg, ' '.join(rdepends), d)
+
+ module_deps = parse_depmod()
+ module_regex = '^(.*)\.k?o$'
+ module_pattern = 'kernel-module-%s'
+
+ postinst = bb.data.getVar('pkg_postinst_modules', d, 1)
+ postrm = bb.data.getVar('pkg_postrm_modules', d, 1)
+ do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-image-%s' % bb.data.getVar("KERNEL_VERSION", d, 1))
+
+ import re, os
+ metapkg = "kernel-modules"
+ bb.data.setVar('ALLOW_EMPTY_' + metapkg, "1", d)
+ bb.data.setVar('FILES_' + metapkg, "", d)
+ blacklist = [ 'kernel-dev', 'kernel-image' ]
+ for l in module_deps.values():
+ for i in l:
+ pkg = module_pattern % legitimize_package_name(re.match(module_regex, os.path.basename(i)).group(1))
+ blacklist.append(pkg)
+ metapkg_rdepends = []
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends:
+ metapkg_rdepends.append(pkg)
+ bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
+ bb.data.setVar('DESCRIPTION_' + metapkg, 'Kernel modules meta package', d)
+ packages.append(metapkg)
+ bb.data.setVar('PACKAGES', ' '.join(packages), d)
+
+ v = bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) or "0"
+ if v == "1":
+ kv = bb.data.getVar("KERNEL_MAJOR_VERSION", d, 1)
+ packages = bb.data.getVar("PACKAGES", d, 1).split()
+ module_re = re.compile("^kernel-module-")
+
+ newmetapkg = "kernel-modules-%s" % kv
+ bb.data.setVar('ALLOW_EMPTY_' + newmetapkg, "1", d)
+ bb.data.setVar('FILES_' + newmetapkg, "", d)
+
+ newmetapkg_rdepends = []
+
+ for p in packages:
+ if not module_re.match(p):
+ continue
+ pkg = bb.data.getVar("PKG_%s" % p, d, 1) or p
+ newpkg = "%s-%s" % (pkg, kv)
+ bb.data.setVar("PKG_%s" % p, newpkg, d)
+ rprovides = bb.data.getVar("RPROVIDES_%s" % p, d, 1)
+ if rprovides:
+ rprovides = "%s %s" % (rprovides, pkg)
+ else:
+ rprovides = pkg
+ bb.data.setVar("RPROVIDES_%s" % p, rprovides, d)
+ newmetapkg_rdepends.append(newpkg)
+
+ bb.data.setVar('RDEPENDS_' + newmetapkg, ' '.join(newmetapkg_rdepends), d)
+ bb.data.setVar('DESCRIPTION_' + newmetapkg, 'Kernel modules meta package', d)
+ packages.append(newmetapkg)
+ bb.data.setVar('PACKAGES', ' '.join(packages), d)
+
+}
diff --git a/meta/classes/lib_package.bbclass b/meta/classes/lib_package.bbclass
new file mode 100644
index 0000000000..e29d2659b0
--- /dev/null
+++ b/meta/classes/lib_package.bbclass
@@ -0,0 +1,9 @@
+PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-bin"
+
+FILES_${PN} = "${libexecdir} ${libdir}/lib*.so.* \
+ ${sysconfdir} ${sharedstatedir} ${localstatedir} \
+ /lib/*.so* ${datadir}/${PN} ${libdir}/${PN}"
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
+ ${libdir}/*.a ${libdir}/pkgconfig /lib/*.a /lib/*.o \
+ ${datadir}/aclocal ${bindir}/*-config"
+FILES_${PN}-bin = "${bindir} ${sbindir} /bin /sbin"
diff --git a/meta/classes/linux_modules.bbclass b/meta/classes/linux_modules.bbclass
new file mode 100644
index 0000000000..d5c4e74ca1
--- /dev/null
+++ b/meta/classes/linux_modules.bbclass
@@ -0,0 +1,19 @@
+def get_kernelmajorversion(p):
+ import re
+ r = re.compile("([0-9]+\.[0-9]+).*")
+ m = r.match(p);
+ if m:
+ return m.group(1)
+ return None
+
+def linux_module_packages(s, d):
+ import bb, os.path
+ suffix = ""
+ if (bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) == "1"):
+ file = bb.data.expand('${STAGING_KERNEL_DIR}/kernel-abiversion', d)
+ if (os.path.exists(file)):
+ suffix = "-%s" % (get_kernelmajorversion(base_read_file(file)))
+ return " ".join(map(lambda s: "kernel-module-%s%s" % (s.lower().replace('_', '-').replace('@', '+'), suffix), s.split()))
+
+# that's all
+
diff --git a/meta/classes/manifest.bbclass b/meta/classes/manifest.bbclass
new file mode 100644
index 0000000000..687f4b756e
--- /dev/null
+++ b/meta/classes/manifest.bbclass
@@ -0,0 +1,80 @@
+
+python read_manifest () {
+ import sys, bb.manifest
+ mfn = bb.data.getVar("MANIFEST", d, 1)
+ if os.access(mfn, os.R_OK):
+ # we have a manifest, so emit do_stage and do_populate_pkgs,
+ # and stuff some additional bits of data into the metadata store
+ mfile = file(mfn, "r")
+ manifest = bb.manifest.parse(mfile, d)
+ if not manifest:
+ return
+
+ bb.data.setVar('manifest', manifest, d)
+}
+
+python parse_manifest () {
+ manifest = bb.data.getVar("manifest", d)
+ if not manifest:
+ return
+ for func in ("do_populate_staging", "do_populate_pkgs"):
+ value = bb.manifest.emit(func, manifest, d)
+ if value:
+ bb.data.setVar("manifest_" + func, value, d)
+ bb.data.delVarFlag("manifest_" + func, "python", d)
+ bb.data.delVarFlag("manifest_" + func, "fakeroot", d)
+ bb.data.setVarFlag("manifest_" + func, "func", 1, d)
+ packages = []
+ for l in manifest:
+ if "pkg" in l and l["pkg"] is not None:
+ packages.append(l["pkg"])
+ bb.data.setVar("PACKAGES", " ".join(packages), d)
+}
+
+python __anonymous () {
+ try:
+ bb.build.exec_func('read_manifest', d)
+ bb.build.exec_func('parse_manifest', d)
+ except exceptions.KeyboardInterrupt:
+ raise
+ except Exception, e:
+ bb.error("anonymous function: %s" % e)
+ pass
+}
+
+#python do_populate_staging () {
+# if not bb.data.getVar('manifest', d):
+# bb.build.exec_func('do_emit_manifest', d)
+# if bb.data.getVar('do_stage', d):
+# bb.build.exec_func('do_stage', d)
+# else:
+# bb.build.exec_func('manifest_do_populate_staging', d)
+#}
+
+#addtask populate_pkgs after do_compile
+#python do_populate_pkgs () {
+# if not bb.data.getVar('manifest', d):
+# bb.build.exec_func('do_emit_manifest', d)
+# bb.build.exec_func('manifest_do_populate_pkgs', d)
+# bb.build.exec_func('package_do_shlibs', d)
+#}
+
+addtask emit_manifest
+python do_emit_manifest () {
+# FIXME: emit a manifest here
+# 1) adjust PATH to hit the wrapper scripts
+ wrappers = bb.which(bb.data.getVar("BBPATH", d, 1), 'build/install', 0)
+ path = (bb.data.getVar('PATH', d, 1) or '').split(':')
+ path.insert(0, os.path.dirname(wrappers))
+ bb.data.setVar('PATH', ':'.join(path), d)
+# 2) exec_func("do_install", d)
+ bb.build.exec_func('do_install', d)
+# 3) read in data collected by the wrappers
+ print("Got here2 213")
+ bb.build.exec_func('read_manifest', d)
+# 4) mangle the manifest we just generated, get paths back into
+# our variable form
+# 5) write it back out
+# 6) re-parse it to ensure the generated functions are proper
+ bb.build.exec_func('parse_manifest', d)
+}
diff --git a/meta/classes/module-base.bbclass b/meta/classes/module-base.bbclass
new file mode 100644
index 0000000000..da5bd01dae
--- /dev/null
+++ b/meta/classes/module-base.bbclass
@@ -0,0 +1,25 @@
+inherit module_strip
+
+inherit kernel-arch
+
+export OS = "${TARGET_OS}"
+export CROSS_COMPILE = "${TARGET_PREFIX}"
+
+export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion')}"
+export KERNEL_SOURCE = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-source')}"
+KERNEL_OBJECT_SUFFIX = "${@[".o", ".ko"][base_read_file('${STAGING_KERNEL_DIR}/kernel-abiversion') > "2.6.0"]}"
+KERNEL_CCSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ccsuffix')}"
+KERNEL_LDSUFFIX = "${@base_read_file('${STAGING_KERNEL_DIR}/kernel-ldsuffix')}"
+
+# Set TARGET_??_KERNEL_ARCH in the machine .conf to set architecture
+# specific options necessary for building the kernel and modules.
+TARGET_CC_KERNEL_ARCH ?= ""
+HOST_CC_KERNEL_ARCH ?= "${TARGET_CC_KERNEL_ARCH}"
+TARGET_LD_KERNEL_ARCH ?= ""
+HOST_LD_KERNEL_ARCH ?= "${TARGET_LD_KERNEL_ARCH}"
+
+KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc${KERNEL_CCSUFFIX} ${HOST_CC_KERNEL_ARCH}"
+KERNEL_LD = "${LD}${KERNEL_LDSUFFIX} ${HOST_LD_KERNEL_ARCH}"
+
+# kernel modules are generally machine specific
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
new file mode 100644
index 0000000000..8a13f1f858
--- /dev/null
+++ b/meta/classes/module.bbclass
@@ -0,0 +1,51 @@
+RDEPENDS += "kernel (${KERNEL_VERSION})"
+DEPENDS += "virtual/kernel"
+
+inherit module-base
+
+python populate_packages_prepend() {
+ v = bb.data.getVar("PARALLEL_INSTALL_MODULES", d, 1) or "0"
+ if v == "1":
+ kv = bb.data.getVar("KERNEL_VERSION", d, 1)
+ packages = bb.data.getVar("PACKAGES", d, 1)
+ for p in packages.split():
+ pkg = bb.data.getVar("PKG_%s" % p, d, 1) or p
+ newpkg = "%s-%s" % (pkg, kv)
+ bb.data.setVar("PKG_%s" % p, newpkg, d)
+ rprovides = bb.data.getVar("RPROVIDES_%s" % p, d, 1)
+ if rprovides:
+ rprovides = "%s %s" % (rprovides, pkg)
+ else:
+ rprovides = pkg
+ bb.data.setVar("RPROVIDES_%s" % p, rprovides, d)
+}
+
+module_do_compile() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
+ KERNEL_SRC=${STAGING_KERNEL_DIR} \
+ KERNEL_VERSION=${KERNEL_VERSION} \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ ${MAKE_TARGETS}
+}
+
+module_do_install() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" CC="${KERNEL_CC}" LD="${KERNEL_LD}" modules_install
+}
+
+pkg_postinst_append () {
+ if [ -n "$D" ]; then
+ exit 1
+ fi
+ depmod -A
+ update-modules || true
+}
+
+pkg_postrm_append () {
+ update-modules || true
+}
+
+EXPORT_FUNCTIONS do_compile do_install
+
+FILES_${PN} = "/etc /lib/modules"
diff --git a/meta/classes/module_strip.bbclass b/meta/classes/module_strip.bbclass
new file mode 100644
index 0000000000..116e8b902f
--- /dev/null
+++ b/meta/classes/module_strip.bbclass
@@ -0,0 +1,18 @@
+#DEPENDS_append = " module-strip"
+
+do_strip_modules () {
+ for p in ${PACKAGES}; do
+ if test -e ${WORKDIR}/install/$p/lib/modules; then
+ modules="`find ${WORKDIR}/install/$p/lib/modules -name \*${KERNEL_OBJECT_SUFFIX}`"
+ if [ -n "$modules" ]; then
+ ${STRIP} -v -g $modules
+# NM="${CROSS_DIR}/bin/${HOST_PREFIX}nm" OBJCOPY="${CROSS_DIR}/bin/${HOST_PREFIX}objcopy" strip_module $modules
+ fi
+ fi
+ done
+}
+
+python do_package_append () {
+ if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1'):
+ bb.build.exec_func('do_strip_modules', d)
+}
diff --git a/meta/classes/mozilla.bbclass b/meta/classes/mozilla.bbclass
new file mode 100644
index 0000000000..629f2531da
--- /dev/null
+++ b/meta/classes/mozilla.bbclass
@@ -0,0 +1,53 @@
+SECTION = "x11/utils"
+DEPENDS += "gnu-config-native virtual/libintl xt libxi \
+ zip-native gtk+ orbit2 libidl-native"
+LICENSE = "MPL NPL"
+SRC_URI += "file://mozconfig"
+
+inherit gettext
+
+EXTRA_OECONF = "--target=${TARGET_SYS} --host=${BUILD_SYS} \
+ --build=${BUILD_SYS} --prefix=${prefix}"
+EXTRA_OEMAKE = "'HOST_LIBIDL_LIBS=${HOST_LIBIDL_LIBS}' \
+ 'HOST_LIBIDL_CFLAGS=${HOST_LIBIDL_CFLAGS}'"
+SELECTED_OPTIMIZATION = "-Os -fsigned-char -fno-strict-aliasing"
+
+export CROSS_COMPILE = "1"
+export MOZCONFIG = "${WORKDIR}/mozconfig"
+export MOZ_OBJDIR = "${S}"
+
+export CONFIGURE_ARGS = "${EXTRA_OECONF}"
+export HOST_LIBIDL_CFLAGS = "`${HOST_LIBIDL_CONFIG} --cflags`"
+export HOST_LIBIDL_LIBS = "`${HOST_LIBIDL_CONFIG} --libs`"
+export HOST_LIBIDL_CONFIG = "PKG_CONFIG_PATH=${STAGING_BINDIR}/../share/pkgconfig pkg-config libIDL-2.0"
+export HOST_CC = "${BUILD_CC}"
+export HOST_CXX = "${BUILD_CXX}"
+export HOST_CFLAGS = "${BUILD_CFLAGS}"
+export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
+export HOST_LDFLAGS = "${BUILD_LDFLAGS}"
+export HOST_RANLIB = "${BUILD_RANLIB}"
+export HOST_AR = "${BUILD_AR}"
+
+mozilla_do_configure() {
+ (
+ set -e
+ for cg in `find ${S} -name config.guess`; do
+ install -m 0755 \
+ ${STAGING_BINDIR}/../share/gnu-config/config.guess \
+ ${STAGING_BINDIR}/../share/gnu-config/config.sub \
+ `dirname $cg`/
+ done
+ )
+ oe_runmake -f client.mk ${MOZ_OBJDIR}/Makefile \
+ ${MOZ_OBJDIR}/config.status
+}
+
+mozilla_do_compile() {
+ oe_runmake -f client.mk build_all
+}
+
+mozilla_do_install() {
+ oe_runmake DESTDIR="${D}" destdir="${D}" install
+}
+
+EXPORT_FUNCTIONS do_configure do_compile do_install
diff --git a/meta/classes/multimachine.bbclass b/meta/classes/multimachine.bbclass
new file mode 100644
index 0000000000..2248f326cc
--- /dev/null
+++ b/meta/classes/multimachine.bbclass
@@ -0,0 +1,22 @@
+STAMP = "${TMPDIR}/stamps/${MULTIMACH_ARCH}-${HOST_OS}/${PF}"
+WORKDIR = "${TMPDIR}/work/${MULTIMACH_ARCH}-${HOST_OS}/${PF}"
+STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_ARCH}-${HOST_OS}/kernel"
+
+# Find any machine specific sub packages and if present, mark the
+# whole package as machine specific for multimachine purposes.
+python __anonymous () {
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ macharch = bb.data.getVar('MACHINE_ARCH', d, 1)
+ multiarch = bb.data.getVar('PACKAGE_ARCH', d, 1)
+
+ for pkg in packages:
+ pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
+
+ # We could look for != PACKAGE_ARCH here but how to choose
+ # if multiple differences are present?
+ # Look through IPKG_ARCHS for the priority order?
+ if pkgarch and pkgarch == macharch:
+ multiarch = macharch
+
+ bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
+}
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
new file mode 100644
index 0000000000..04ff7d92d1
--- /dev/null
+++ b/meta/classes/native.bbclass
@@ -0,0 +1,95 @@
+inherit base
+
+# Native packages are built indirectly via dependency,
+# no need for them to be a direct target of 'world'
+EXCLUDE_FROM_WORLD = "1"
+
+PACKAGES = ""
+PACKAGE_ARCH = "${BUILD_ARCH}"
+
+# When this class has packaging enabled, setting
+# RPROVIDES becomes unnecessary.
+RPROVIDES = "${PN}"
+
+# Need to resolve package RDEPENDS as well as DEPENDS
+BUILD_ALL_DEPS = "1"
+
+# Break the circular dependency as a result of DEPENDS
+# in package.bbclass
+PACKAGE_DEPENDS = ""
+
+TARGET_ARCH = "${BUILD_ARCH}"
+TARGET_OS = "${BUILD_OS}"
+TARGET_VENDOR = "${BUILD_VENDOR}"
+TARGET_PREFIX = "${BUILD_PREFIX}"
+TARGET_CC_ARCH = "${BUILD_CC_ARCH}"
+
+HOST_ARCH = "${BUILD_ARCH}"
+HOST_OS = "${BUILD_OS}"
+HOST_VENDOR = "${BUILD_VENDOR}"
+HOST_PREFIX = "${BUILD_PREFIX}"
+HOST_CC_ARCH = "${BUILD_CC_ARCH}"
+
+CPPFLAGS = "${BUILD_CPPFLAGS}"
+CFLAGS = "${BUILD_CFLAGS}"
+CXXFLAGS = "${BUILD_CFLAGS}"
+LDFLAGS = "${BUILD_LDFLAGS}"
+LDFLAGS_build-darwin = "-L${STAGING_DIR}/${BUILD_SYS}/lib "
+
+
+# set the compiler as well. It could have been set to something else
+export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}"
+export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}"
+export CPP = "${HOST_PREFIX}gcc -E"
+export LD = "${HOST_PREFIX}ld"
+export CCLD = "${CC}"
+export AR = "${HOST_PREFIX}ar"
+export AS = "${HOST_PREFIX}as"
+export RANLIB = "${HOST_PREFIX}ranlib"
+export STRIP = "${HOST_PREFIX}strip"
+
+
+# Path prefixes
+base_prefix = "${exec_prefix}"
+prefix = "${STAGING_DIR}"
+exec_prefix = "${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}"
+
+# Base paths
+base_bindir = "${base_prefix}/bin"
+base_sbindir = "${base_prefix}/bin"
+base_libdir = "${base_prefix}/lib"
+
+# Architecture independent paths
+sysconfdir = "${prefix}/etc"
+sharedstatedir = "${prefix}/com"
+localstatedir = "${prefix}/var"
+infodir = "${datadir}/info"
+mandir = "${datadir}/man"
+docdir = "${datadir}/doc"
+servicedir = "${prefix}/srv"
+
+# Architecture dependent paths
+bindir = "${exec_prefix}/bin"
+sbindir = "${exec_prefix}/bin"
+libexecdir = "${exec_prefix}/libexec"
+libdir = "${exec_prefix}/lib"
+includedir = "${exec_prefix}/include"
+oldincludedir = "${exec_prefix}/include"
+
+# Datadir is made arch dependent here, primarily
+# for autoconf macros, and other things that
+# may be manipulated to handle crosscompilation
+# issues.
+datadir = "${exec_prefix}/share"
+
+do_stage () {
+ if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ]
+ then
+ oe_runmake install
+ fi
+}
+
+do_install () {
+ true
+}
diff --git a/meta/classes/nslu2-jffs2-image.bbclass b/meta/classes/nslu2-jffs2-image.bbclass
new file mode 100644
index 0000000000..56ad0f0659
--- /dev/null
+++ b/meta/classes/nslu2-jffs2-image.bbclass
@@ -0,0 +1,18 @@
+NSLU2_SLUGIMAGE_ARGS ?= ""
+
+nslu2_pack_image () {
+ install -d ${DEPLOY_DIR_IMAGE}/slug
+ install -m 0644 ${STAGING_LIBDIR}/nslu2-binaries/RedBoot \
+ ${STAGING_LIBDIR}/nslu2-binaries/Trailer \
+ ${STAGING_LIBDIR}/nslu2-binaries/SysConf \
+ ${DEPLOY_DIR_IMAGE}/slug/
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-${IMAGE_BASENAME} ${DEPLOY_DIR_IMAGE}/slug/vmlinuz
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${DEPLOY_DIR_IMAGE}/slug/flashdisk.jffs2
+ cd ${DEPLOY_DIR_IMAGE}/slug
+ slugimage -p -b RedBoot -s SysConf -r Ramdisk:1,Flashdisk:flashdisk.jffs2 -t Trailer \
+ -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.flashdisk.img ${NSLU2_SLUGIMAGE_ARGS}
+ rm -rf ${DEPLOY_DIR_IMAGE}/slug
+}
+
+EXTRA_IMAGEDEPENDS += 'slugimage-native nslu2-linksys-firmware'
+IMAGE_POSTPROCESS_COMMAND += "nslu2_pack_image; "
diff --git a/meta/classes/nslu2-mirrors.bbclass b/meta/classes/nslu2-mirrors.bbclass
new file mode 100644
index 0000000000..1181edc716
--- /dev/null
+++ b/meta/classes/nslu2-mirrors.bbclass
@@ -0,0 +1,4 @@
+MIRRORS_append () {
+ftp://.*/.*/ http://sources.nslu2-linux.org/sources/
+http://.*/.*/ http://sources.nslu2-linux.org/sources/
+}
diff --git a/meta/classes/nslu2-ramdisk-image.bbclass b/meta/classes/nslu2-ramdisk-image.bbclass
new file mode 100644
index 0000000000..0b545854fd
--- /dev/null
+++ b/meta/classes/nslu2-ramdisk-image.bbclass
@@ -0,0 +1,18 @@
+NSLU2_SLUGIMAGE_ARGS ?= ""
+
+nslu2_pack_image () {
+ install -d ${DEPLOY_DIR_IMAGE}/slug
+ install -m 0644 ${STAGING_LIBDIR}/nslu2-binaries/RedBoot \
+ ${STAGING_LIBDIR}/nslu2-binaries/Trailer \
+ ${STAGING_LIBDIR}/nslu2-binaries/SysConf \
+ ${DEPLOY_DIR_IMAGE}/slug/
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-${IMAGE_BASENAME} ${DEPLOY_DIR_IMAGE}/slug/vmlinuz
+ install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/slug/ramdisk.ext2.gz
+ cd ${DEPLOY_DIR_IMAGE}/slug
+ slugimage -p -b RedBoot -s SysConf -r Ramdisk:ramdisk.ext2.gz -t Trailer \
+ -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ramdisk.img ${NSLU2_SLUGIMAGE_ARGS}
+ rm -rf ${DEPLOY_DIR_IMAGE}/slug
+}
+
+EXTRA_IMAGEDEPENDS += 'slugimage-native nslu2-linksys-firmware'
+IMAGE_POSTPROCESS_COMMAND += "nslu2_pack_image; "
diff --git a/meta/classes/nylon-mirrors.bbclass b/meta/classes/nylon-mirrors.bbclass
new file mode 100644
index 0000000000..2986bd8f80
--- /dev/null
+++ b/meta/classes/nylon-mirrors.bbclass
@@ -0,0 +1,6 @@
+MIRRORS_append () {
+ftp://.*/.*/ http://meshcube.org/nylon/stable/sources/
+http://.*/.*/ http://meshcube.org/nylon/stable/sources/
+ftp://.*/.*/ http://meshcube.org/nylon/unstable/sources/
+http://.*/.*/ http://meshcube.org/nylon/unstable/sources/
+} \ No newline at end of file
diff --git a/meta/classes/oebuildstamp.bbclass b/meta/classes/oebuildstamp.bbclass
new file mode 100644
index 0000000000..1de1b95c2e
--- /dev/null
+++ b/meta/classes/oebuildstamp.bbclass
@@ -0,0 +1,16 @@
+#
+# Because base.oeclasses set the variable
+#
+# do_fetch[nostamp] = "1"
+# do_build[nostamp] = "1"
+#
+# for every build we're doing oemake calls all of the phases to check if
+# something new is to download. This class unset's this nostamp flag. This
+# makes a package "finished", once it's completely build.
+#
+# This means that the subsequent builds are faster, but when you change the
+# behaviour of the package, e.g. by adding INHERIT="package_ipk", you won't
+# get the ipk file except you delete the build stamp manually or all of them
+# with oebuild clean <oe-file>.
+
+do_build[nostamp] = ""
diff --git a/meta/classes/oelint.bbclass b/meta/classes/oelint.bbclass
new file mode 100644
index 0000000000..baa1c630b4
--- /dev/null
+++ b/meta/classes/oelint.bbclass
@@ -0,0 +1,174 @@
+addtask lint before do_fetch
+do_lint[nostamp] = 1
+python do_lint() {
+ def testVar(var, explain=None):
+ try:
+ s = d[var]
+ return s["content"]
+ except KeyError:
+ bb.error("%s is not set" % var)
+ if explain: bb.note(explain)
+ return None
+
+
+ ##############################
+ # Test that DESCRIPTION exists
+ #
+ testVar("DESCRIPTION")
+
+
+ ##############################
+ # Test that HOMEPAGE exists
+ #
+ s = testVar("HOMEPAGE")
+ if s=="unknown":
+ bb.error("HOMEPAGE is not set")
+ elif not s.startswith("http://"):
+ bb.error("HOMEPAGE doesn't start with http://")
+
+
+
+ ##############################
+ # Test for valid LICENSE
+ #
+ valid_licenses = {
+ "GPL-2" : "GPLv2",
+ "GPL LGPL FDL" : True,
+ "GPL PSF" : True,
+ "GPL/QPL" : True,
+ "GPL" : True,
+ "GPLv2" : True,
+ "IBM" : True,
+ "LGPL GPL" : True,
+ "LGPL" : True,
+ "MIT" : True,
+ "OSL" : True,
+ "Perl" : True,
+ "Public Domain" : True,
+ "QPL" : "GPL/QPL",
+ }
+ s = testVar("LICENSE")
+ if s=="unknown":
+ bb.error("LICENSE is not set")
+ elif s.startswith("Vendor"):
+ pass
+ else:
+ try:
+ newlic = valid_licenses[s]
+ if newlic == False:
+ bb.note("LICENSE '%s' is not recommended" % s)
+ elif newlic != True:
+ bb.note("LICENSE '%s' is not recommended, better use '%s'" % (s, newsect))
+ except:
+ bb.note("LICENSE '%s' is not recommended" % s)
+
+
+ ##############################
+ # Test for valid MAINTAINER
+ #
+ s = testVar("MAINTAINER")
+ if s=="OpenEmbedded Team <oe@handhelds.org>":
+ bb.error("explicit MAINTAINER is missing, using default")
+ elif s and s.find("@") == -1:
+ bb.error("You forgot to put an e-mail address into MAINTAINER")
+
+
+ ##############################
+ # Test for valid SECTION
+ #
+ # if Correct section: True section name is valid
+ # False section name is invalid, no suggestion
+ # string section name is invalid, better name suggested
+ #
+ valid_sections = {
+ # Current Section Correct section
+ "apps" : True,
+ "audio" : True,
+ "base" : True,
+ "console/games" : True,
+ "console/net" : "console/network",
+ "console/network" : True,
+ "console/utils" : True,
+ "devel" : True,
+ "developing" : "devel",
+ "devel/python" : True,
+ "fonts" : True,
+ "games" : True,
+ "games/libs" : True,
+ "gnome/base" : True,
+ "gnome/libs" : True,
+ "gpe" : True,
+ "gpe/libs" : True,
+ "gui" : False,
+ "libc" : "libs",
+ "libs" : True,
+ "libs/net" : True,
+ "multimedia" : True,
+ "net" : "network",
+ "NET" : "network",
+ "network" : True,
+ "opie/applets" : True,
+ "opie/applications" : True,
+ "opie/base" : True,
+ "opie/codecs" : True,
+ "opie/decorations" : True,
+ "opie/fontfactories" : True,
+ "opie/fonts" : True,
+ "opie/games" : True,
+ "opie/help" : True,
+ "opie/inputmethods" : True,
+ "opie/libs" : True,
+ "opie/multimedia" : True,
+ "opie/pim" : True,
+ "opie/setting" : "opie/settings",
+ "opie/settings" : True,
+ "opie/Shell" : False,
+ "opie/styles" : True,
+ "opie/today" : True,
+ "scientific" : True,
+ "utils" : True,
+ "x11" : True,
+ "x11/libs" : True,
+ "x11/wm" : True,
+ }
+ s = testVar("SECTION")
+ if s:
+ try:
+ newsect = valid_sections[s]
+ if newsect == False:
+ bb.note("SECTION '%s' is not recommended" % s)
+ elif newsect != True:
+ bb.note("SECTION '%s' is not recommended, better use '%s'" % (s, newsect))
+ except:
+ bb.note("SECTION '%s' is not recommended" % s)
+
+ if not s.islower():
+ bb.error("SECTION should only use lower case")
+
+
+
+
+ ##############################
+ # Test for valid PRIORITY
+ #
+ valid_priorities = {
+ "standard" : True,
+ "required" : True,
+ "optional" : True,
+ "extra" : True,
+ }
+ s = testVar("PRIORITY")
+ if s:
+ try:
+ newprio = valid_priorities[s]
+ if newprio == False:
+ bb.note("PRIORITY '%s' is not recommended" % s)
+ elif newprio != True:
+ bb.note("PRIORITY '%s' is not recommended, better use '%s'" % (s, newprio))
+ except:
+ bb.note("PRIORITY '%s' is not recommended" % s)
+
+ if not s.islower():
+ bb.error("PRIORITY should only use lower case")
+
+}
diff --git a/meta/classes/opie.bbclass b/meta/classes/opie.bbclass
new file mode 100644
index 0000000000..47f364a644
--- /dev/null
+++ b/meta/classes/opie.bbclass
@@ -0,0 +1,105 @@
+#
+# This oeclass takes care about some of the itchy details of installing parts
+# of Opie applications. Depending on quicklaunch or not, plugin or not, the
+# TARGET is either a shared object, a shared object with a link to quicklauncher,
+# or a usual binary.
+#
+# You have to provide two things: 1.) A proper SECTION field, and 2.) a proper APPNAME
+# Then opie.oeclass will:
+# * create the directory for the binary and install the binary file(s)
+# * for applications: create the directory for the .desktop and install the .desktop file
+# * for quicklauncher applications: create the startup symlink to the quicklauncher
+# You can override the automatic detection of APPTYPE, valid values are 'quicklaunch', 'binary', 'plugin'
+# You can override the default location of APPDESKTOP (<workdir>/apps/<section>/)
+#
+
+inherit palmtop
+
+# Note that when CVS changes to 1.2.2, the dash
+# should be removed from OPIE_CVS_PV to convert
+# to the standardised version format
+OPIE_CVS_PV = "1.2.1+cvs-${SRCDATE}"
+
+DEPENDS_prepend = "${@["libopie2 ", ""][(bb.data.getVar('PN', d, 1) == 'libopie2')]}"
+
+# to be consistent, put all targets into workdir
+# NOTE: leave one space at the end, other files are expecting that
+EXTRA_QMAKEVARS_POST += "DESTDIR=${S} "
+
+# Opie standard TAG value
+TAG = "${@'v' + bb.data.getVar('PV',d,1).replace('.', '_')}"
+
+# plan for later:
+# add common scopes for opie applications, see qmake-native/common.pro
+# qmake should care about all the details then. qmake can do that, i know it :)
+#
+
+python opie_do_opie_install() {
+ import os, shutil
+ section = bb.data.getVar( "SECTION", d ).split( '/' )[1] or "Applications"
+ section = section.title()
+ if section in ( "Base", "Libs" ):
+ bb.note( "Section = Base or Libs. Target won't be installed automatically." )
+ return
+
+ # SECTION : BINDIR DESKTOPDIR
+ dirmap = { "Applets" : ( "/plugins/applets", None ),
+ "Applications" : ( "<BINDIR>", "/apps/Applications" ),
+ "Multimedia" : ( "<BINDIR>", "/apps/Applications" ),
+ "Games" : ( "<BINDIR>", "/apps/Games" ),
+ "Settings" : ( "<BINDIR>", "/apps/Settings" ),
+ "Pim" : ( "<BINDIR>", "/apps/1Pim" ),
+ "Examples" : ( "<BINDIR>", "/apps/Examples" ),
+ "Shell" : ( "/bin", "/apps/Opie-SH" ),
+ "Codecs" : ( "/plugins/codecs", None ),
+ "Decorations" : ( "/plugins/decorations", None ),
+ "Inputmethods" : ( "/plugins/inputmethods", None ),
+ "Fontfactories" : ( "/plugins/fontfactories", None ),
+ "Security" : ( "/plugins/security", None ),
+ "Styles" : ( "/plugins/styles", None ),
+ "Today" : ( "/plugins/today", None ),
+ "Datebook" : ( "/plugins/holidays", None ),
+ "Networksettings" : ( "/plugins/networksettings", None ) }
+
+ if section not in dirmap:
+ raise ValueError, "Unknown section '%s'. Valid sections are: %s" % ( section, dirmap.keys() )
+
+ bindir, desktopdir = dirmap[section]
+ APPNAME = bb.data.getVar( "APPNAME", d, True ) or bb.data.getVar( "PN", d, True )
+ APPTYPE = bb.data.getVar( "APPTYPE", d, True )
+ if not APPTYPE:
+ if bindir == "<BINDIR>":
+ APPTYPE = "quicklaunch"
+ else:
+ APPTYPE = "plugin"
+
+ appmap = { "binary":"/bin", "quicklaunch":"/plugins/application" }
+ if bindir == "<BINDIR>": bindir = appmap[APPTYPE]
+
+ bb.note( "Section='%s', bindir='%s', desktopdir='%s', name='%s', type='%s'" %
+ ( section, bindir, desktopdir, APPNAME, APPTYPE ) )
+
+ S = bb.data.getVar( "S", d, 1 )
+ D = "%s/image" % bb.data.getVar( "WORKDIR", d, True )
+ WORKDIR = bb.data.getVar( "WORKDIR", d, True )
+ palmtopdir = bb.data.getVar( "palmtopdir", d )
+ APPDESKTOP = bb.data.getVar( "APPDESKTOP", d, True ) or "%s/%s" % ( WORKDIR, desktopdir )
+
+ if desktopdir is not None:
+ os.system( "install -d %s%s%s/" % ( D, palmtopdir, desktopdir ) )
+ os.system( "install -m 0644 %s/%s.desktop %s%s%s/" % ( APPDESKTOP, APPNAME, D, palmtopdir, desktopdir ) )
+
+ os.system( "install -d %s%s%s/" % ( D, palmtopdir, bindir ) )
+
+ if APPTYPE == "binary":
+ os.system( "install -m 0755 %s/%s %s%s%s/" % ( S, APPNAME, D, palmtopdir, bindir ) )
+ elif APPTYPE == "quicklaunch":
+ os.system( "install -m 0755 %s/lib%s.so %s%s%s/" % ( S, APPNAME, D, palmtopdir, bindir ) )
+ os.system( "install -d %s%s/bin/" % ( D, palmtopdir ) )
+ os.system( "ln -sf %s/bin/quicklauncher %s%s/bin/%s" % ( palmtopdir, D, palmtopdir, APPNAME ) )
+ elif APPTYPE == "plugin":
+ os.system( "install -m 0755 %s/lib%s.so %s%s%s/" % ( S, APPNAME, D, palmtopdir, bindir ) )
+}
+
+EXPORT_FUNCTIONS do_opie_install
+addtask opie_install after do_compile before do_populate_staging
diff --git a/meta/classes/opie_i18n.bbclass b/meta/classes/opie_i18n.bbclass
new file mode 100644
index 0000000000..cb3d07de75
--- /dev/null
+++ b/meta/classes/opie_i18n.bbclass
@@ -0,0 +1,163 @@
+# classes/opie_i18n.oeclass Matthias 'CoreDump' Hentges 16-10-2004
+#
+# Automatically builds i18n ipks for opie packages. It downloads opie-i18n from opie CVS
+# and tries to guess the name of the .ts file based on the package name:
+# ${PN}.ts, lib${PN}.ts and opie-${PN}.ts are all valid. The .ts "guessing" can be
+# disabled by setting I18N_FILES in the .oe file.
+#
+# Todo:
+#
+
+I18N_STATS = "1"
+SRC_URI += "${HANDHELDS_CVS};module=opie/i18n"
+DEPENDS += "opie-i18n"
+
+die () {
+ echo -e "opie_18n: ERROR: $1"
+ exit 1
+}
+
+python do_build_opie_i18n_data() {
+
+ import os, bb, re
+ workdir = bb.data.getVar("WORKDIR", d, 1)
+ packages = bb.data.getVar("PACKAGES", d, 1)
+ files = bb.data.getVar("FILES", d, 1)
+ section = bb.data.getVar("SECTION", d, 1)
+ pn = bb.data.getVar("PN", d, 1)
+ rdepends = bb.data.getVar("RDEPENDS", d, 1)
+
+ if os.path.exists(workdir + "/PACKAGES.tmp"):
+ fd = open(workdir + "/PACKAGES.tmp", 'r')
+ lines = fd.readlines()
+ fd.close()
+
+ bb.data.setVar('PACKAGES', " ".join(lines).lower() + " " + packages, d)
+
+ fd = open(workdir + "/FILES.tmp", 'r')
+ lines = fd.readlines()
+ fd.close()
+
+ for l in lines:
+ x = re.split("\#", l)
+ bb.data.setVar('FILES_%s' % x[0].lower(), " " + x[1].strip('\n'), d)
+ bb.data.setVar('SECTION_%s' % x[0].lower(), "opie/translations", d)
+ bb.data.setVar('RDEPENDS_%s' % x[0].lower(), pn, d)
+
+ bb.data.setVar('SECTION_%s' % pn, section, d)
+ bb.data.setVar('RDEPENDS', rdepends, d)
+ else:
+ bb.note("No translations found for package " + pn)
+}
+
+do_build_opie_i18n () {
+
+ cd "${WORKDIR}/i18n" || die "ERROR:\nCouldn't find Opies i18n sources in ${PN}/i18n\nMake sure that <inherit opie_i18n> or <inherit opie> is *below* <SRC_URIS =>!"
+
+ if test -z "${I18N_FILES}"
+ then
+ package_name="`echo "${PN}"| sed "s/^opie\-//"`"
+ package_name2="`echo "${PN}"| sed "s/^opie\-//;s/\-//"`"
+ test "$package_name" != "$package_name2" && I18N_FILES="${package_name}.ts lib${package_name}.ts opie-${package_name}.ts ${package_name2}.ts lib${package_name2}.ts opie-${package_name2}.ts"
+ test "$package_name" = "$package_name2" && I18N_FILES="${package_name}.ts lib${package_name}.ts opie-${package_name}.ts"
+ echo -e "I18N Datafiles: ${I18N_FILES} (auto-detected)\nYou can overide the auto-detection by setting I18N_FILES in your .oe file"
+ else
+ echo "I18N Datafiles: ${I18N_FILES} (provided by .bb)"
+ fi
+
+ rm -f "${WORKDIR}/FILES.tmp" "${WORKDIR}/PACKAGES.tmp"
+
+ echo -e "\nFILES is set to [${FILES}]\n"
+
+ for file in ${I18N_FILES}
+ do
+ echo "Working on [$file]"
+ for ts_file in `ls -1 */*.ts | egrep "/$file"`
+ do
+ echo -e "\tCompiling [$ts_file]"
+ cd "${WORKDIR}/i18n/`dirname $ts_file`" || die "[${WORKDIR}/i18n/`dirname $ts_file`] not found"
+ opie-lrelease "`basename $ts_file`" || die "lrelease failed! Make sure that <inherit opie_i18n> or <inherit opie> is *below* <DEPENDS =>!"
+
+ # $lang is the language as in de_DE, $lang_sane replaces "_" with "-"
+ # to allow packaging as "_" is not allowed in a package name
+ lang="`echo "$ts_file" | sed -n "s#\(.*\)/\(.*\)#\1#p"`"
+ lang_sane="`echo "$ts_file" | sed -n "s#\(.*\)/\(.*\)#\1#p"|sed s/\_/\-/`"
+ echo -e "\tPackaging [`basename $ts_file`] for language [$lang]"
+
+ install -d ${D}${palmtopdir}/i18n/$lang
+ install -m 0644 ${WORKDIR}/i18n/$lang/.directory ${D}${palmtopdir}/i18n/$lang/
+ install -m 0644 ${WORKDIR}/i18n/$lang/*.qm "${D}${palmtopdir}/i18n/$lang/"
+
+ # As it is not possible to modify OE vars from within a _shell_ function,
+ # some major hacking was needed. These two files will be read by the python
+ # function do_build_opie_i18n_data() which sets the variables FILES_* and
+ # PACKAGES as needed.
+ echo -n "${PN}-${lang_sane} " >> "${WORKDIR}/PACKAGES.tmp"
+ echo -e "${PN}-${lang_sane}#${palmtopdir}/i18n/$lang" >> "${WORKDIR}/FILES.tmp"
+
+ ts_found_something=1
+ done
+
+ if test "$ts_found_something" != 1
+ then
+ echo -e "\tNo translations found"
+ else
+ ts_found_something=""
+ ts_found="$ts_found $file"
+ fi
+
+ # Only used for debugging purposes
+ test "${I18N_STATS}" = 1 && cd "${WORKDIR}/i18n"
+
+ echo -e "Completed [$file]\n\n"
+ done
+
+ qt_dirs="apps bin etc lib pics plugins share sounds"
+
+ for dir in $qt_dirs
+ do
+ dir_="$dir_ ${palmtopdir}/$dir "
+ done
+
+
+ # If we don't adjust FILES to exclude the i18n directory, we will end up with
+ # _lots_ of empty i18n/$lang directories in the original .ipk.
+ if (echo "${FILES}" | egrep "${palmtopdir}/? |${palmtopdir}/?$") &>/dev/null
+ then
+ echo "NOTE: FILES was set to ${palmtopdir} which would include the i18n directory"
+ echo -e "\n\nI'll remove ${palmtopdir} from FILES and replace it with all directories"
+ echo "below QtPalmtop, except i18n ($qt_dirs). See classes/opie_i18n.oeclass for details"
+
+ # Removes /opt/QtPalmtop from FILES but keeps /opt/QtPalmtop/$some_dir
+ FILES="`echo "$FILES"| sed "s#${palmtopdir}[/]\?\$\|${palmtopdir}[/]\? ##"`"
+
+ echo "${PN}#$FILES $dir_" >> "${WORKDIR}/FILES.tmp"
+ fi
+
+ # This is the common case for OPIE apps which are installed by opie.oeclass magic
+ if test -z "${FILES}"
+ then
+ echo "NOTE:"
+ echo -e "Since FILES is empty, i'll add all directories below ${palmtopdir} to it,\nexcluding i18n: ( $qt_dirs )"
+ echo "${PN}#$FILES $dir_" >> "${WORKDIR}/FILES.tmp"
+ fi
+
+ if ! test -e "${WORKDIR}/PACKAGES.tmp" -a "${I18N_STATS}" = 1
+ then
+ echo "No translations for package [${PN}]" >> /tmp/oe-i18n-missing.log
+ else
+ echo "Using [$ts_found ] for package [${PN}]" >> /tmp/oe-i18n.log
+ fi
+
+ # While this might not be very elegant, it safes a _ton_ of space (~30Mb) for
+ # each opie package.
+ for file in $(ls */*.ts | egrep -v "`echo "$ts_found"| sed "s/^\ //;s/\ /\|/"`")
+ do
+ rm "$file"
+ done
+
+ return 0
+}
+
+addtask build_opie_i18n before do_compile
+addtask build_opie_i18n_data after do_build_opie_i18n before do_compile
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
new file mode 100644
index 0000000000..9edcc1e5ed
--- /dev/null
+++ b/meta/classes/package.bbclass
@@ -0,0 +1,729 @@
+def legitimize_package_name(s):
+ return s.lower().replace('_', '-').replace('@', '+').replace(',', '+').replace('/', '-')
+
+STAGING_PKGMAPS_DIR ?= "${STAGING_DIR}/pkgmaps"
+
+def add_package_mapping (pkg, new_name, d):
+ import bb, os
+
+ def encode(str):
+ import codecs
+ c = codecs.getencoder("string_escape")
+ return c(str)[0]
+
+ pmap_dir = bb.data.getVar('STAGING_PKGMAPS_DIR', d, 1)
+
+ bb.mkdirhier(pmap_dir)
+
+ data_file = os.path.join(pmap_dir, pkg)
+
+ f = open(data_file, 'w')
+ f.write("%s\n" % encode(new_name))
+ f.close()
+
+def get_package_mapping (pkg, d):
+ import bb, os
+
+ def decode(str):
+ import codecs
+ c = codecs.getdecoder("string_escape")
+ return c(str)[0]
+
+ data_file = bb.data.expand("${STAGING_PKGMAPS_DIR}/%s" % pkg, d)
+
+ if os.access(data_file, os.R_OK):
+ f = file(data_file, 'r')
+ lines = f.readlines()
+ f.close()
+ for l in lines:
+ return decode(l).strip()
+ return pkg
+
+def runtime_mapping_rename (varname, d):
+ import bb, os
+
+ #bb.note("%s before: %s" % (varname, bb.data.getVar(varname, d, 1)))
+
+ new_depends = []
+ for depend in explode_deps(bb.data.getVar(varname, d, 1) or ""):
+ # Have to be careful with any version component of the depend
+ split_depend = depend.split(' (')
+ new_depend = get_package_mapping(split_depend[0].strip(), d)
+ if len(split_depend) > 1:
+ new_depends.append("%s (%s" % (new_depend, split_depend[1]))
+ else:
+ new_depends.append(new_depend)
+
+ bb.data.setVar(varname, " ".join(new_depends) or None, d)
+
+ #bb.note("%s after: %s" % (varname, bb.data.getVar(varname, d, 1)))
+
+python package_mapping_rename_hook () {
+ runtime_mapping_rename("RDEPENDS", d)
+ runtime_mapping_rename("RRECOMMENDS", d)
+ runtime_mapping_rename("RSUGGESTS", d)
+ runtime_mapping_rename("RPROVIDES", d)
+ runtime_mapping_rename("RREPLACES", d)
+ runtime_mapping_rename("RCONFLICTS", d)
+}
+
+
+def do_split_packages(d, root, file_regex, output_pattern, description, postinst=None, recursive=False, hook=None, extra_depends=None, aux_files_pattern=None, postrm=None, allow_dirs=False, prepend=False, match_path=False, aux_files_pattern_verbatim=None):
+ import os, os.path, bb
+
+ dvar = bb.data.getVar('D', d, 1)
+ if not dvar:
+ bb.error("D not defined")
+ return
+
+ packages = bb.data.getVar('PACKAGES', d, 1).split()
+ if not packages:
+ # nothing to do
+ return
+
+ if postinst:
+ postinst = '#!/bin/sh\n' + postinst + '\n'
+ if postrm:
+ postrm = '#!/bin/sh\n' + postrm + '\n'
+ if not recursive:
+ objs = os.listdir(dvar + root)
+ else:
+ objs = []
+ for walkroot, dirs, files in os.walk(dvar + root):
+ for file in files:
+ relpath = os.path.join(walkroot, file).replace(dvar + root + '/', '', 1)
+ if relpath:
+ objs.append(relpath)
+
+ if extra_depends == None:
+ extra_depends = bb.data.getVar('PKG_' + packages[0], d, 1) or packages[0]
+
+ for o in objs:
+ import re, stat
+ if match_path:
+ m = re.match(file_regex, o)
+ else:
+ m = re.match(file_regex, os.path.basename(o))
+
+ if not m:
+ continue
+ f = os.path.join(dvar + root, o)
+ mode = os.lstat(f).st_mode
+ if not (stat.S_ISREG(mode) or (allow_dirs and stat.S_ISDIR(mode))):
+ continue
+ on = legitimize_package_name(m.group(1))
+ pkg = output_pattern % on
+ if not pkg in packages:
+ if prepend:
+ packages = [pkg] + packages
+ else:
+ packages.append(pkg)
+ the_files = [os.path.join(root, o)]
+ if aux_files_pattern:
+ if type(aux_files_pattern) is list:
+ for fp in aux_files_pattern:
+ the_files.append(fp % on)
+ else:
+ the_files.append(aux_files_pattern % on)
+ if aux_files_pattern_verbatim:
+ if type(aux_files_pattern_verbatim) is list:
+ for fp in aux_files_pattern_verbatim:
+ the_files.append(fp % m.group(1))
+ else:
+ the_files.append(aux_files_pattern_verbatim % m.group(1))
+ bb.data.setVar('FILES_' + pkg, " ".join(the_files), d)
+ if extra_depends != '':
+ the_depends = bb.data.getVar('RDEPENDS_' + pkg, d, 1)
+ if the_depends:
+ the_depends = '%s %s' % (the_depends, extra_depends)
+ else:
+ the_depends = extra_depends
+ bb.data.setVar('RDEPENDS_' + pkg, the_depends, d)
+ bb.data.setVar('DESCRIPTION_' + pkg, description % on, d)
+ if postinst:
+ bb.data.setVar('pkg_postinst_' + pkg, postinst, d)
+ if postrm:
+ bb.data.setVar('pkg_postrm_' + pkg, postrm, d)
+ else:
+ oldfiles = bb.data.getVar('FILES_' + pkg, d, 1)
+ if not oldfiles:
+ bb.fatal("Package '%s' exists but has no files" % pkg)
+ bb.data.setVar('FILES_' + pkg, oldfiles + " " + os.path.join(root, o), d)
+ if callable(hook):
+ hook(f, pkg, file_regex, output_pattern, m.group(1))
+
+ bb.data.setVar('PACKAGES', ' '.join(packages), d)
+
+# Function to strip a single file, called from RUNSTRIP below
+# A working 'file' (one which works on the target architecture)
+# is necessary for this stuff to work.
+#PACKAGE_DEPENDS ?= "file-native"
+#DEPENDS_prepend =+ "${PACKAGE_DEPENDS} "
+#FIXME: this should be "" when any errors are gone!
+IGNORE_STRIP_ERRORS ?= "1"
+
+runstrip() {
+ local ro st
+ st=0
+ if { file "$1" || {
+ oewarn "file $1: failed (forced strip)" >&2
+ echo 'not stripped'
+ }
+ } | grep -q 'not stripped'
+ then
+ oenote "${STRIP} $1"
+ ro=
+ test -w "$1" || {
+ ro=1
+ chmod +w "$1"
+ }
+ '${STRIP}' "$1"
+ st=$?
+ test -n "$ro" && chmod -w "$1"
+ if test $st -ne 0
+ then
+ oewarn "runstrip: ${STRIP} $1: strip failed" >&2
+ if [ x${IGNORE_STRIP_ERRORS} == x1 ]
+ then
+ #FIXME: remove this, it's for error detection
+ if file "$1" 2>/dev/null >&2
+ then
+ (oefatal "${STRIP} $1: command failed" >/dev/tty)
+ else
+ (oefatal "file $1: command failed" >/dev/tty)
+ fi
+ st=0
+ fi
+ fi
+ else
+ oenote "runstrip: skip $1"
+ fi
+ return $st
+}
+
+python populate_packages () {
+ import glob, stat, errno, re
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ if not workdir:
+ bb.error("WORKDIR not defined, unable to package")
+ return
+
+ import os # path manipulations
+ outdir = bb.data.getVar('DEPLOY_DIR', d, 1)
+ if not outdir:
+ bb.error("DEPLOY_DIR not defined, unable to package")
+ return
+ bb.mkdirhier(outdir)
+
+ dvar = bb.data.getVar('D', d, 1)
+ if not dvar:
+ bb.error("D not defined, unable to package")
+ return
+ bb.mkdirhier(dvar)
+
+ packages = bb.data.getVar('PACKAGES', d, 1)
+ if not packages:
+ bb.debug(1, "PACKAGES not defined, nothing to package")
+ return
+
+ pn = bb.data.getVar('PN', d, 1)
+ if not pn:
+ bb.error("PN not defined")
+ return
+
+ os.chdir(dvar)
+
+ def isexec(path):
+ try:
+ s = os.stat(path)
+ except (os.error, AttributeError):
+ return 0
+ return (s[stat.ST_MODE] & stat.S_IEXEC)
+
+ # Sanity check PACKAGES for duplicates - should be moved to
+ # sanity.bbclass once we have he infrastucture
+ pkgs = []
+ for pkg in packages.split():
+ if pkg in pkgs:
+ bb.error("%s is listed in PACKAGES mutliple times. Undefined behaviour will result." % pkg)
+ pkgs += pkg
+
+ for pkg in packages.split():
+ localdata = bb.data.createCopy(d)
+ root = os.path.join(workdir, "install", pkg)
+
+ os.system('rm -rf %s' % root)
+
+ bb.data.setVar('ROOT', '', localdata)
+ bb.data.setVar('ROOT_%s' % pkg, root, localdata)
+ pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1)
+ if not pkgname:
+ pkgname = pkg
+ bb.data.setVar('PKG', pkgname, localdata)
+
+ overrides = bb.data.getVar('OVERRIDES', localdata, 1)
+ if not overrides:
+ raise bb.build.FuncFailed('OVERRIDES not defined')
+ bb.data.setVar('OVERRIDES', overrides+':'+pkg, localdata)
+
+ bb.data.update_data(localdata)
+
+ root = bb.data.getVar('ROOT', localdata, 1)
+ bb.mkdirhier(root)
+ filesvar = bb.data.getVar('FILES', localdata, 1) or ""
+ files = filesvar.split()
+ stripfunc = ""
+ for file in files:
+ if os.path.isabs(file):
+ file = '.' + file
+ if not os.path.islink(file):
+ if os.path.isdir(file):
+ newfiles = [ os.path.join(file,x) for x in os.listdir(file) ]
+ if newfiles:
+ files += newfiles
+ continue
+ globbed = glob.glob(file)
+ if globbed:
+ if [ file ] != globbed:
+ files += globbed
+ continue
+ if (not os.path.islink(file)) and (not os.path.exists(file)):
+ continue
+ fpath = os.path.join(root,file)
+ dpath = os.path.dirname(fpath)
+ bb.mkdirhier(dpath)
+ if (bb.data.getVar('INHIBIT_PACKAGE_STRIP', d, 1) != '1') and not os.path.islink(file) and isexec(file):
+ stripfunc += "\trunstrip %s || st=1\n" % fpath
+ ret = bb.movefile(file,fpath)
+ if ret is None or ret == 0:
+ raise bb.build.FuncFailed("File population failed")
+ if not stripfunc == "":
+ from bb import build
+ # strip
+ bb.data.setVar('RUNSTRIP', '\tlocal st\n\tst=0\n%s\treturn $st' % stripfunc, localdata)
+ bb.data.setVarFlag('RUNSTRIP', 'func', 1, localdata)
+ bb.build.exec_func('RUNSTRIP', localdata)
+ del localdata
+ os.chdir(workdir)
+
+ unshipped = []
+ for root, dirs, files in os.walk(dvar):
+ for f in files:
+ path = os.path.join(root[len(dvar):], f)
+ unshipped.append(path)
+
+ if unshipped != []:
+ bb.note("the following files were installed but not shipped in any package:")
+ for f in unshipped:
+ bb.note(" " + f)
+
+ bb.build.exec_func("package_name_hook", d)
+
+ for pkg in packages.split():
+ pkgname = bb.data.getVar('PKG_%s' % pkg, d, 1)
+ if pkgname is None:
+ bb.data.setVar('PKG_%s' % pkg, pkg, d)
+ else:
+ add_package_mapping(pkg, pkgname, d)
+
+ dangling_links = {}
+ pkg_files = {}
+ for pkg in packages.split():
+ dangling_links[pkg] = []
+ pkg_files[pkg] = []
+ inst_root = os.path.join(workdir, "install", pkg)
+ for root, dirs, files in os.walk(inst_root):
+ for f in files:
+ path = os.path.join(root, f)
+ rpath = path[len(inst_root):]
+ pkg_files[pkg].append(rpath)
+ try:
+ s = os.stat(path)
+ except OSError, (err, strerror):
+ if err != errno.ENOENT:
+ raise
+ target = os.readlink(path)
+ if target[0] != '/':
+ target = os.path.join(root[len(inst_root):], target)
+ dangling_links[pkg].append(os.path.normpath(target))
+
+ for pkg in packages.split():
+ rdepends = explode_deps(bb.data.getVar('RDEPENDS_' + pkg, d, 1) or bb.data.getVar('RDEPENDS', d, 1) or "")
+ for l in dangling_links[pkg]:
+ found = False
+ bb.debug(1, "%s contains dangling link %s" % (pkg, l))
+ for p in packages.split():
+ for f in pkg_files[p]:
+ if f == l:
+ found = True
+ bb.debug(1, "target found in %s" % p)
+ if p == pkg:
+ break
+ dp = bb.data.getVar('PKG_' + p, d, 1) or p
+ if not dp in rdepends:
+ rdepends.append(dp)
+ break
+ if found == False:
+ bb.note("%s contains dangling symlink to %s" % (pkg, l))
+ bb.data.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends), d)
+
+ def write_if_exists(f, pkg, var):
+ def encode(str):
+ import codecs
+ c = codecs.getencoder("string_escape")
+ return c(str)[0]
+
+ val = bb.data.getVar('%s_%s' % (var, pkg), d, 1)
+ if val:
+ f.write('%s_%s: %s\n' % (var, pkg, encode(val)))
+
+ data_file = os.path.join(workdir, "install", pn + ".package")
+ f = open(data_file, 'w')
+ f.write("PACKAGES: %s\n" % packages)
+ for pkg in packages.split():
+ write_if_exists(f, pkg, 'DESCRIPTION')
+ write_if_exists(f, pkg, 'RDEPENDS')
+ write_if_exists(f, pkg, 'RPROVIDES')
+ write_if_exists(f, pkg, 'PKG')
+ write_if_exists(f, pkg, 'ALLOW_EMPTY')
+ write_if_exists(f, pkg, 'FILES')
+ write_if_exists(f, pkg, 'pkg_postinst')
+ write_if_exists(f, pkg, 'pkg_postrm')
+ write_if_exists(f, pkg, 'pkg_preinst')
+ write_if_exists(f, pkg, 'pkg_prerm')
+ f.close()
+ bb.build.exec_func("read_subpackage_metadata", d)
+}
+
+ldconfig_postinst_fragment() {
+if [ x"$D" = "x" ]; then
+ ldconfig
+fi
+}
+
+python package_do_shlibs() {
+ import os, re, os.path
+
+ exclude_shlibs = bb.data.getVar('EXCLUDE_FROM_SHLIBS', d, 0)
+ if exclude_shlibs:
+ bb.note("not generating shlibs")
+ return
+
+ lib_re = re.compile("^lib.*\.so")
+ libdir_re = re.compile(".*/lib$")
+
+ packages = bb.data.getVar('PACKAGES', d, 1)
+ if not packages:
+ bb.debug(1, "no packages to build; not calculating shlibs")
+ return
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ if not workdir:
+ bb.error("WORKDIR not defined")
+ return
+
+ staging = bb.data.getVar('STAGING_DIR', d, 1)
+ if not staging:
+ bb.error("STAGING_DIR not defined")
+ return
+
+ ver = bb.data.getVar('PV', d, 1)
+ if not ver:
+ bb.error("PV not defined")
+ return
+
+ target_sys = bb.data.getVar('TARGET_SYS', d, 1)
+ if not target_sys:
+ bb.error("TARGET_SYS not defined")
+ return
+
+ shlibs_dir = os.path.join(staging, target_sys, "shlibs")
+ old_shlibs_dir = os.path.join(staging, "shlibs")
+ bb.mkdirhier(shlibs_dir)
+
+ needed = {}
+ for pkg in packages.split():
+ needs_ldconfig = False
+ bb.debug(2, "calculating shlib provides for %s" % pkg)
+
+ pkgname = bb.data.getVar('PKG_%s' % pkg, d, 1)
+ if not pkgname:
+ pkgname = pkg
+
+ needed[pkg] = []
+ sonames = list()
+ top = os.path.join(workdir, "install", pkg)
+ for root, dirs, files in os.walk(top):
+ for file in files:
+ soname = None
+ path = os.path.join(root, file)
+ if os.access(path, os.X_OK) or lib_re.match(file):
+ cmd = (bb.data.getVar('BUILD_PREFIX', d, 1) or "") + "objdump -p " + path + " 2>/dev/null"
+ fd = os.popen(cmd)
+ lines = fd.readlines()
+ fd.close()
+ for l in lines:
+ m = re.match("\s+NEEDED\s+([^\s]*)", l)
+ if m:
+ needed[pkg].append(m.group(1))
+ m = re.match("\s+SONAME\s+([^\s]*)", l)
+ if m and not m.group(1) in sonames:
+ sonames.append(m.group(1))
+ if m and libdir_re.match(root):
+ needs_ldconfig = True
+ shlibs_file = os.path.join(shlibs_dir, pkgname + ".list")
+ if os.path.exists(shlibs_file):
+ os.remove(shlibs_file)
+ shver_file = os.path.join(shlibs_dir, pkgname + ".ver")
+ if os.path.exists(shver_file):
+ os.remove(shver_file)
+ if len(sonames):
+ fd = open(shlibs_file, 'w')
+ for s in sonames:
+ fd.write(s + '\n')
+ fd.close()
+ fd = open(shver_file, 'w')
+ fd.write(ver + '\n')
+ fd.close()
+ if needs_ldconfig:
+ bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg)
+ postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1)
+ if not postinst:
+ postinst = '#!/bin/sh\n'
+ postinst += bb.data.getVar('ldconfig_postinst_fragment', d, 1)
+ bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d)
+
+ shlib_provider = {}
+ list_re = re.compile('^(.*)\.list$')
+ for dir in [old_shlibs_dir, shlibs_dir]:
+ if not os.path.exists(dir):
+ continue
+ for file in os.listdir(dir):
+ m = list_re.match(file)
+ if m:
+ dep_pkg = m.group(1)
+ fd = open(os.path.join(dir, file))
+ lines = fd.readlines()
+ fd.close()
+ ver_file = os.path.join(dir, dep_pkg + '.ver')
+ lib_ver = None
+ if os.path.exists(ver_file):
+ fd = open(ver_file)
+ lib_ver = fd.readline().rstrip()
+ fd.close()
+ for l in lines:
+ shlib_provider[l.rstrip()] = (dep_pkg, lib_ver)
+
+
+ for pkg in packages.split():
+ bb.debug(2, "calculating shlib requirements for %s" % pkg)
+
+ p_pkg = bb.data.getVar("PKG_%s" % pkg, d, 1) or pkg
+
+ deps = list()
+ for n in needed[pkg]:
+ if n in shlib_provider.keys():
+ (dep_pkg, ver_needed) = shlib_provider[n]
+
+ if dep_pkg == p_pkg:
+ continue
+
+ if ver_needed:
+ dep = "%s (>= %s)" % (dep_pkg, ver_needed)
+ else:
+ dep = dep_pkg
+ if not dep in deps:
+ deps.append(dep)
+ else:
+ bb.note("Couldn't find shared library provider for %s" % n)
+
+
+ deps_file = os.path.join(workdir, "install", pkg + ".shlibdeps")
+ if os.path.exists(deps_file):
+ os.remove(deps_file)
+ if len(deps):
+ fd = open(deps_file, 'w')
+ for dep in deps:
+ fd.write(dep + '\n')
+ fd.close()
+}
+
+python package_do_pkgconfig () {
+ import re, os
+
+ packages = bb.data.getVar('PACKAGES', d, 1)
+ if not packages:
+ bb.debug(1, "no packages to build; not calculating pkgconfig dependencies")
+ return
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ if not workdir:
+ bb.error("WORKDIR not defined")
+ return
+
+ staging = bb.data.getVar('STAGING_DIR', d, 1)
+ if not staging:
+ bb.error("STAGING_DIR not defined")
+ return
+
+ target_sys = bb.data.getVar('TARGET_SYS', d, 1)
+ if not target_sys:
+ bb.error("TARGET_SYS not defined")
+ return
+
+ shlibs_dir = os.path.join(staging, target_sys, "shlibs")
+ old_shlibs_dir = os.path.join(staging, "shlibs")
+ bb.mkdirhier(shlibs_dir)
+
+ pc_re = re.compile('(.*)\.pc$')
+ var_re = re.compile('(.*)=(.*)')
+ field_re = re.compile('(.*): (.*)')
+
+ pkgconfig_provided = {}
+ pkgconfig_needed = {}
+ for pkg in packages.split():
+ pkgconfig_provided[pkg] = []
+ pkgconfig_needed[pkg] = []
+ top = os.path.join(workdir, "install", pkg)
+ for root, dirs, files in os.walk(top):
+ for file in files:
+ m = pc_re.match(file)
+ if m:
+ pd = bb.data.init()
+ name = m.group(1)
+ pkgconfig_provided[pkg].append(name)
+ path = os.path.join(root, file)
+ if not os.access(path, os.R_OK):
+ continue
+ f = open(path, 'r')
+ lines = f.readlines()
+ f.close()
+ for l in lines:
+ m = var_re.match(l)
+ if m:
+ name = m.group(1)
+ val = m.group(2)
+ bb.data.setVar(name, bb.data.expand(val, pd), pd)
+ continue
+ m = field_re.match(l)
+ if m:
+ hdr = m.group(1)
+ exp = bb.data.expand(m.group(2), pd)
+ if hdr == 'Requires':
+ pkgconfig_needed[pkg] += exp.replace(',', ' ').split()
+
+ for pkg in packages.split():
+ ppkg = bb.data.getVar("PKG_" + pkg, d, 1) or pkg
+ pkgs_file = os.path.join(shlibs_dir, ppkg + ".pclist")
+ if os.path.exists(pkgs_file):
+ os.remove(pkgs_file)
+ if pkgconfig_provided[pkg] != []:
+ f = open(pkgs_file, 'w')
+ for p in pkgconfig_provided[pkg]:
+ f.write('%s\n' % p)
+ f.close()
+
+ for dir in [old_shlibs_dir, shlibs_dir]:
+ if not os.path.exists(dir):
+ continue
+ for file in os.listdir(dir):
+ m = re.match('^(.*)\.pclist$', file)
+ if m:
+ pkg = m.group(1)
+ fd = open(os.path.join(dir, file))
+ lines = fd.readlines()
+ fd.close()
+ pkgconfig_provided[pkg] = []
+ for l in lines:
+ pkgconfig_provided[pkg].append(l.rstrip())
+
+ for pkg in packages.split():
+ deps = []
+ for n in pkgconfig_needed[pkg]:
+ found = False
+ for k in pkgconfig_provided.keys():
+ if n in pkgconfig_provided[k]:
+ if k != pkg and not (k in deps):
+ deps.append(k)
+ found = True
+ if found == False:
+ bb.note("couldn't find pkgconfig module '%s' in any package" % n)
+ deps_file = os.path.join(workdir, "install", pkg + ".pcdeps")
+ if os.path.exists(deps_file):
+ os.remove(deps_file)
+ if len(deps):
+ fd = open(deps_file, 'w')
+ for dep in deps:
+ fd.write(dep + '\n')
+ fd.close()
+}
+
+python package_do_split_locales() {
+ import os
+
+ if (bb.data.getVar('PACKAGE_NO_LOCALE', d, 1) == '1'):
+ bb.debug(1, "package requested not splitting locales")
+ return
+
+ packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
+ if not packages:
+ bb.debug(1, "no packages to build; not splitting locales")
+ return
+
+ datadir = bb.data.getVar('datadir', d, 1)
+ if not datadir:
+ bb.note("datadir not defined")
+ return
+
+ dvar = bb.data.getVar('D', d, 1)
+ if not dvar:
+ bb.error("D not defined")
+ return
+
+ pn = bb.data.getVar('PN', d, 1)
+ if not pn:
+ bb.error("PN not defined")
+ return
+
+ if pn + '-locale' in packages:
+ packages.remove(pn + '-locale')
+
+ localedir = os.path.join(dvar + datadir, 'locale')
+
+ if not os.path.isdir(localedir):
+ bb.debug(1, "No locale files in this package")
+ return
+
+ locales = os.listdir(localedir)
+
+ mainpkg = packages[0]
+
+ for l in locales:
+ ln = legitimize_package_name(l)
+ pkg = pn + '-locale-' + ln
+ packages.append(pkg)
+ bb.data.setVar('FILES_' + pkg, os.path.join(datadir, 'locale', l), d)
+ bb.data.setVar('RDEPENDS_' + pkg, '${PKG_%s} virtual-locale-%s' % (mainpkg, ln), d)
+ bb.data.setVar('RPROVIDES_' + pkg, '%s-locale %s-translation' % (pn, ln), d)
+ bb.data.setVar('DESCRIPTION_' + pkg, '%s translation for %s' % (l, pn), d)
+
+ bb.data.setVar('PACKAGES', ' '.join(packages), d)
+
+ rdep = (bb.data.getVar('RDEPENDS_%s' % mainpkg, d, 1) or bb.data.getVar('RDEPENDS', d, 1) or "").split()
+ rdep.append('%s-locale*' % pn)
+ bb.data.setVar('RDEPENDS_%s' % mainpkg, ' '.join(rdep), d)
+}
+
+PACKAGEFUNCS = "do_install package_do_split_locales \
+ populate_packages package_do_shlibs \
+ package_do_pkgconfig read_shlibdeps"
+python package_do_package () {
+ for f in (bb.data.getVar('PACKAGEFUNCS', d, 1) or '').split():
+ bb.build.exec_func(f, d)
+}
+
+do_package[dirs] = "${D}"
+populate_packages[dirs] = "${D}"
+EXPORT_FUNCTIONS do_package do_shlibs do_split_locales mapping_rename_hook
+addtask package before do_build after do_populate_staging
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
new file mode 100644
index 0000000000..9ae526bb3b
--- /dev/null
+++ b/meta/classes/package_ipk.bbclass
@@ -0,0 +1,234 @@
+inherit package
+DEPENDS_prepend="${@["ipkg-utils-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}"
+BOOTSTRAP_EXTRA_RDEPENDS += "ipkg-collateral ipkg ipkg-link"
+PACKAGEFUNCS += "do_package_ipk"
+
+python package_ipk_fn () {
+ from bb import data
+ bb.data.setVar('PKGFN', bb.data.getVar('PKG',d), d)
+}
+
+python package_ipk_install () {
+ import os, sys
+ pkg = bb.data.getVar('PKG', d, 1)
+ pkgfn = bb.data.getVar('PKGFN', d, 1)
+ rootfs = bb.data.getVar('IMAGE_ROOTFS', d, 1)
+ ipkdir = bb.data.getVar('DEPLOY_DIR_IPK', d, 1)
+ stagingdir = bb.data.getVar('STAGING_DIR', d, 1)
+ tmpdir = bb.data.getVar('TMPDIR', d, 1)
+
+ if None in (pkg,pkgfn,rootfs):
+ raise bb.build.FuncFailed("missing variables (one or more of PKG, PKGFN, IMAGEROOTFS)")
+ try:
+ bb.mkdirhier(rootfs)
+ os.chdir(rootfs)
+ except OSError:
+ (type, value, traceback) = sys.exc_info()
+ print value
+ raise bb.build.FuncFailed
+
+ # Generate ipk.conf if it or the stamp doesnt exist
+ conffile = os.path.join(stagingdir,"ipkg.conf")
+ if not os.access(conffile, os.R_OK):
+ ipkg_archs = bb.data.getVar('IPKG_ARCHS',d)
+ if ipkg_archs is None:
+ bb.error("IPKG_ARCHS missing")
+ raise FuncFailed
+ ipkg_archs = ipkg_archs.split()
+ arch_priority = 1
+
+ f = open(conffile,"w")
+ for arch in ipkg_archs:
+ f.write("arch %s %s\n" % ( arch, arch_priority ))
+ arch_priority += 1
+ f.write("src local file:%s" % ipkdir)
+ f.close()
+
+
+ if (not os.access(os.path.join(ipkdir,"Packages"), os.R_OK) or
+ not os.access(os.path.join(os.path.join(tmpdir, "stamps"),"do_packages"),os.R_OK)):
+ ret = os.system('ipkg-make-index -p %s %s ' % (os.path.join(ipkdir, "Packages"), ipkdir))
+ if (ret != 0 ):
+ raise bb.build.FuncFailed
+ f=open(os.path.join(os.path.join(tmpdir, "stamps"),"do_packages"),"w")
+ f.close()
+
+ ret = os.system('ipkg-cl -o %s -f %s update' % (rootfs, conffile))
+ ret = os.system('ipkg-cl -o %s -f %s install %s' % (rootfs, conffile, pkgfn))
+ if (ret != 0 ):
+ raise bb.build.FuncFailed
+}
+
+python do_package_ipk () {
+ import copy # to back up env data
+ import sys
+ import re
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ if not workdir:
+ bb.error("WORKDIR not defined, unable to package")
+ return
+
+ import os # path manipulations
+ outdir = bb.data.getVar('DEPLOY_DIR_IPK', d, 1)
+ if not outdir:
+ bb.error("DEPLOY_DIR_IPK not defined, unable to package")
+ return
+ bb.mkdirhier(outdir)
+
+ dvar = bb.data.getVar('D', d, 1)
+ if not dvar:
+ bb.error("D not defined, unable to package")
+ return
+ bb.mkdirhier(dvar)
+
+ packages = bb.data.getVar('PACKAGES', d, 1)
+ if not packages:
+ bb.debug(1, "PACKAGES not defined, nothing to package")
+ return
+
+ tmpdir = bb.data.getVar('TMPDIR', d, 1)
+ # Invalidate the packages file
+ if os.access(os.path.join(os.path.join(tmpdir, "stamps"),"do_packages"),os.R_OK):
+ os.unlink(os.path.join(os.path.join(tmpdir, "stamps"),"do_packages"))
+
+ if packages == []:
+ bb.debug(1, "No packages; nothing to do")
+ return
+
+ for pkg in packages.split():
+ localdata = bb.data.createCopy(d)
+ root = "%s/install/%s" % (workdir, pkg)
+
+ bb.data.setVar('ROOT', '', localdata)
+ bb.data.setVar('ROOT_%s' % pkg, root, localdata)
+ pkgname = bb.data.getVar('PKG_%s' % pkg, localdata, 1)
+ if not pkgname:
+ pkgname = pkg
+ bb.data.setVar('PKG', pkgname, localdata)
+
+ overrides = bb.data.getVar('OVERRIDES', localdata)
+ if not overrides:
+ raise bb.build.FuncFailed('OVERRIDES not defined')
+ overrides = bb.data.expand(overrides, localdata)
+ bb.data.setVar('OVERRIDES', overrides + ':' + pkg, localdata)
+
+ bb.data.update_data(localdata)
+ basedir = os.path.join(os.path.dirname(root))
+ pkgoutdir = outdir
+ bb.mkdirhier(pkgoutdir)
+ os.chdir(root)
+ from glob import glob
+ g = glob('*')
+ try:
+ del g[g.index('CONTROL')]
+ del g[g.index('./CONTROL')]
+ except ValueError:
+ pass
+ if not g and not bb.data.getVar('ALLOW_EMPTY', localdata):
+ from bb import note
+ note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
+ continue
+ controldir = os.path.join(root, 'CONTROL')
+ bb.mkdirhier(controldir)
+ try:
+ ctrlfile = file(os.path.join(controldir, 'control'), 'w')
+ except OSError:
+ raise bb.build.FuncFailed("unable to open control file for writing.")
+
+ fields = []
+ fields.append(["Version: %s-%s\n", ['PV', 'PR']])
+ fields.append(["Description: %s\n", ['DESCRIPTION']])
+ fields.append(["Section: %s\n", ['SECTION']])
+ fields.append(["Priority: %s\n", ['PRIORITY']])
+ fields.append(["Maintainer: %s\n", ['MAINTAINER']])
+ fields.append(["Architecture: %s\n", ['PACKAGE_ARCH']])
+ fields.append(["OE: %s\n", ['P']])
+ fields.append(["Homepage: %s\n", ['HOMEPAGE']])
+
+ def pullData(l, d):
+ l2 = []
+ for i in l:
+ l2.append(bb.data.getVar(i, d, 1))
+ return l2
+
+ ctrlfile.write("Package: %s\n" % pkgname)
+ # check for required fields
+ try:
+ for (c, fs) in fields:
+ for f in fs:
+ if bb.data.getVar(f, localdata) is None:
+ raise KeyError(f)
+ ctrlfile.write(c % tuple(pullData(fs, localdata)))
+ except KeyError:
+ (type, value, traceback) = sys.exc_info()
+ ctrlfile.close()
+ raise bb.build.FuncFailed("Missing field for ipk generation: %s" % value)
+ # more fields
+
+ bb.build.exec_func("mapping_rename_hook", localdata)
+
+ rdepends = explode_deps(bb.data.getVar("RDEPENDS", localdata, 1) or "")
+ rrecommends = explode_deps(bb.data.getVar("RRECOMMENDS", localdata, 1) or "")
+ rsuggests = (bb.data.getVar("RSUGGESTS", localdata, 1) or "").split()
+ rprovides = (bb.data.getVar("RPROVIDES", localdata, 1) or "").split()
+ rreplaces = (bb.data.getVar("RREPLACES", localdata, 1) or "").split()
+ rconflicts = (bb.data.getVar("RCONFLICTS", localdata, 1) or "").split()
+ if rdepends:
+ ctrlfile.write("Depends: %s\n" % ", ".join(rdepends))
+ if rsuggests:
+ ctrlfile.write("Suggests: %s\n" % ", ".join(rsuggests))
+ if rrecommends:
+ ctrlfile.write("Recommends: %s\n" % ", ".join(rrecommends))
+ if rprovides:
+ ctrlfile.write("Provides: %s\n" % ", ".join(rprovides))
+ if rreplaces:
+ ctrlfile.write("Replaces: %s\n" % ", ".join(rreplaces))
+ if rconflicts:
+ ctrlfile.write("Conflicts: %s\n" % ", ".join(rconflicts))
+ src_uri = bb.data.getVar("SRC_URI", localdata, 1)
+ if src_uri:
+ src_uri = re.sub("\s+", " ", src_uri)
+ ctrlfile.write("Source: %s\n" % " ".join(src_uri.split()))
+ ctrlfile.close()
+
+ for script in ["preinst", "postinst", "prerm", "postrm"]:
+ scriptvar = bb.data.getVar('pkg_%s' % script, localdata, 1)
+ if not scriptvar:
+ continue
+ try:
+ scriptfile = file(os.path.join(controldir, script), 'w')
+ except OSError:
+ raise bb.build.FuncFailed("unable to open %s script file for writing." % script)
+ scriptfile.write(scriptvar)
+ scriptfile.close()
+ os.chmod(os.path.join(controldir, script), 0755)
+
+ conffiles_str = bb.data.getVar("CONFFILES", localdata, 1)
+ if conffiles_str:
+ try:
+ conffiles = file(os.path.join(controldir, 'conffiles'), 'w')
+ except OSError:
+ raise bb.build.FuncFailed("unable to open conffiles for writing.")
+ for f in conffiles_str.split():
+ conffiles.write('%s\n' % f)
+ conffiles.close()
+
+ os.chdir(basedir)
+ ret = os.system("PATH=\"%s\" %s %s %s" % (bb.data.getVar("PATH", localdata, 1),
+ bb.data.getVar("IPKGBUILDCMD",d,1), pkg, pkgoutdir))
+ if ret != 0:
+ raise bb.build.FuncFailed("ipkg-build execution failed")
+
+ for script in ["preinst", "postinst", "prerm", "postrm", "control" ]:
+ scriptfile = os.path.join(controldir, script)
+ try:
+ os.remove(scriptfile)
+ except OSError:
+ pass
+ try:
+ os.rmdir(controldir)
+ except OSError:
+ pass
+ del localdata
+}
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
new file mode 100644
index 0000000000..c29ab5f423
--- /dev/null
+++ b/meta/classes/package_rpm.bbclass
@@ -0,0 +1,133 @@
+inherit package
+inherit rpm_core
+
+RPMBUILD="rpmbuild --short-circuit ${RPMOPTS}"
+PACKAGEFUNCS += "do_package_rpm"
+
+python write_specfile() {
+ from bb import data, build
+ import sys
+ out_vartranslate = {
+ "PKG": "Name",
+ "PV": "Version",
+ "PR": "Release",
+ "DESCRIPTION": "%description",
+ "ROOT": "BuildRoot",
+ "LICENSE": "License",
+ "SECTION": "Group",
+ }
+
+ root = bb.data.getVar('ROOT', d)
+
+ # get %files
+ filesvar = bb.data.expand(bb.data.getVar('FILES', d), d) or ""
+ from glob import glob
+ files = filesvar.split()
+ todelete = []
+ for file in files:
+ if file[0] == '.':
+ newfile = file[1:]
+ files[files.index(file)] = newfile
+ file = newfile
+ else:
+ newfile = file
+ realfile = os.path.join(root, './'+file)
+ if not glob(realfile):
+ todelete.append(files[files.index(newfile)])
+ for r in todelete:
+ try:
+ del files[files.index(r)]
+ except ValueError:
+ pass
+ if not files:
+ from bb import note
+ note("Not creating empty archive for %s-%s-%s" % (bb.data.getVar('PKG',d, 1), bb.data.getVar('PV', d, 1), bb.data.getVar('PR', d, 1)))
+ return
+
+ # output .spec using this metadata store
+ try:
+ from __builtin__ import file
+ if not bb.data.getVar('OUTSPECFILE', d):
+ raise OSError('eek!')
+ specfile = file(bb.data.getVar('OUTSPECFILE', d), 'w')
+ except OSError:
+ raise bb.build.FuncFailed("unable to open spec file for writing.")
+
+# fd = sys.__stdout__
+ fd = specfile
+ for var in out_vartranslate.keys():
+ if out_vartranslate[var][0] == "%":
+ continue
+ fd.write("%s\t: %s\n" % (out_vartranslate[var], bb.data.getVar(var, d)))
+ fd.write("Summary\t: .\n")
+
+ for var in out_vartranslate.keys():
+ if out_vartranslate[var][0] != "%":
+ continue
+ fd.write(out_vartranslate[var] + "\n")
+ fd.write(bb.data.getVar(var, d) + "\n\n")
+
+ fd.write("%files\n")
+ for file in files:
+ fd.write("%s\n" % file)
+
+ fd.close()
+
+ # call out rpm -bb on the .spec, thereby creating an rpm
+
+ bb.data.setVar('BUILDSPEC', "${RPMBUILD} -bb ${OUTSPECFILE}\n", d)
+ bb.data.setVarFlag('BUILDSPEC', 'func', '1', d)
+ bb.build.exec_func('BUILDSPEC', d)
+
+ # move the rpm into the pkgoutdir
+ rpm = bb.data.expand('${RPMBUILDPATH}/RPMS/${TARGET_ARCH}/${PKG}-${PV}-${PR}.${TARGET_ARCH}.rpm', d)
+ outrpm = bb.data.expand('${DEPLOY_DIR_RPM}/${PKG}-${PV}-${PR}.${TARGET_ARCH}.rpm', d)
+ bb.movefile(rpm, outrpm)
+}
+
+python do_package_rpm () {
+ workdir = bb.data.getVar('WORKDIR', d)
+ if not workdir:
+ raise bb.build.FuncFailed("WORKDIR not defined")
+ workdir = bb.data.expand(workdir, d)
+
+ import os # path manipulations
+ outdir = bb.data.getVar('DEPLOY_DIR_RPM', d)
+ if not outdir:
+ raise bb.build.FuncFailed("DEPLOY_DIR_RPM not defined")
+ outdir = bb.data.expand(outdir, d)
+ bb.mkdirhier(outdir)
+
+ packages = bb.data.getVar('PACKAGES', d)
+ if not packages:
+ packages = "${PN}"
+ bb.data.setVar('FILES', '', d)
+ ddir = bb.data.expand(bb.data.getVar('D', d), d)
+ bb.mkdirhier(ddir)
+ bb.data.setVar(bb.data.expand('FILES_${PN}', d), ''.join([ "./%s" % x for x in os.listdir(ddir)]), d)
+ packages = bb.data.expand(packages, d)
+
+ for pkg in packages.split():
+ localdata = bb.data.createCopy(d)
+ root = "%s/install/%s" % (workdir, pkg)
+
+ bb.data.setVar('ROOT', '', localdata)
+ bb.data.setVar('ROOT_%s' % pkg, root, localdata)
+ bb.data.setVar('PKG', pkg, localdata)
+
+ overrides = bb.data.getVar('OVERRIDES', localdata)
+ if not overrides:
+ raise bb.build.FuncFailed('OVERRIDES not defined')
+ overrides = bb.data.expand(overrides, localdata)
+ bb.data.setVar('OVERRIDES', '%s:%s' % (overrides, pkg), localdata)
+
+ bb.data.update_data(localdata)
+# stuff
+ root = bb.data.getVar('ROOT', localdata)
+ basedir = os.path.dirname(root)
+ pkgoutdir = outdir
+ bb.mkdirhier(pkgoutdir)
+ bb.data.setVar('OUTSPECFILE', os.path.join(workdir, "%s.spec" % pkg), localdata)
+ bb.build.exec_func('write_specfile', localdata)
+ del localdata
+}
diff --git a/meta/classes/package_tar.bbclass b/meta/classes/package_tar.bbclass
new file mode 100644
index 0000000000..359e35f113
--- /dev/null
+++ b/meta/classes/package_tar.bbclass
@@ -0,0 +1,99 @@
+inherit package
+
+PACKAGEFUNCS += "do_package_tar"
+
+python package_tar_fn () {
+ import os
+ from bb import data
+ fn = os.path.join(bb.data.getVar('DEPLOY_DIR_TAR', d), "%s-%s-%s.tar.gz" % (bb.data.getVar('PKG', d), bb.data.getVar('PV', d), bb.data.getVar('PR', d)))
+ fn = bb.data.expand(fn, d)
+ bb.data.setVar('PKGFN', fn, d)
+}
+
+python package_tar_install () {
+ import os, sys
+ pkg = bb.data.getVar('PKG', d, 1)
+ pkgfn = bb.data.getVar('PKGFN', d, 1)
+ rootfs = bb.data.getVar('IMAGE_ROOTFS', d, 1)
+
+ if None in (pkg,pkgfn,rootfs):
+ bb.error("missing variables (one or more of PKG, PKGFN, IMAGEROOTFS)")
+ raise bb.build.FuncFailed
+ try:
+ bb.mkdirhier(rootfs)
+ os.chdir(rootfs)
+ except OSError:
+ (type, value, traceback) = sys.exc_info()
+ print value
+ raise bb.build.FuncFailed
+
+ if not os.access(pkgfn, os.R_OK):
+ bb.debug(1, "%s does not exist, skipping" % pkgfn)
+ raise bb.build.FuncFailed
+
+ ret = os.system('zcat %s | tar -xf -' % pkgfn)
+ if ret != 0:
+ raise bb.build.FuncFailed
+}
+
+python do_package_tar () {
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ if not workdir:
+ bb.error("WORKDIR not defined, unable to package")
+ return
+
+ import os # path manipulations
+ outdir = bb.data.getVar('DEPLOY_DIR_TAR', d, 1)
+ if not outdir:
+ bb.error("DEPLOY_DIR_TAR not defined, unable to package")
+ return
+ bb.mkdirhier(outdir)
+
+ dvar = bb.data.getVar('D', d, 1)
+ if not dvar:
+ bb.error("D not defined, unable to package")
+ return
+ bb.mkdirhier(dvar)
+
+ packages = bb.data.getVar('PACKAGES', d, 1)
+ if not packages:
+ bb.debug(1, "PACKAGES not defined, nothing to package")
+ return
+
+ for pkg in packages.split():
+ localdata = bb.data.createCopy(d)
+ root = "%s/install/%s" % (workdir, pkg)
+
+ bb.data.setVar('ROOT', '', localdata)
+ bb.data.setVar('ROOT_%s' % pkg, root, localdata)
+ bb.data.setVar('PKG', pkg, localdata)
+
+ overrides = bb.data.getVar('OVERRIDES', localdata)
+ if not overrides:
+ raise bb.build.FuncFailed('OVERRIDES not defined')
+ overrides = bb.data.expand(overrides, localdata)
+ bb.data.setVar('OVERRIDES', '%s:%s' % (overrides, pkg), localdata)
+
+ bb.data.update_data(localdata)
+# stuff
+ root = bb.data.getVar('ROOT', localdata)
+ bb.mkdirhier(root)
+ basedir = os.path.dirname(root)
+ pkgoutdir = outdir
+ bb.mkdirhier(pkgoutdir)
+ bb.build.exec_func('package_tar_fn', localdata)
+ tarfn = bb.data.getVar('PKGFN', localdata, 1)
+# if os.path.exists(tarfn):
+# del localdata
+# continue
+ os.chdir(root)
+ from glob import glob
+ if not glob('*'):
+ bb.note("Not creating empty archive for %s-%s-%s" % (pkg, bb.data.getVar('PV', localdata, 1), bb.data.getVar('PR', localdata, 1)))
+ continue
+ ret = os.system("tar -czvf %s %s" % (tarfn, '.'))
+ if ret != 0:
+ bb.error("Creation of tar %s failed." % tarfn)
+# end stuff
+ del localdata
+}
diff --git a/meta/classes/palmtop.bbclass b/meta/classes/palmtop.bbclass
new file mode 100644
index 0000000000..9d54de8748
--- /dev/null
+++ b/meta/classes/palmtop.bbclass
@@ -0,0 +1,20 @@
+# this build class sets up qmake variables to
+# * build using the Qt Windowing System (QWS)
+# * use qt
+# * link against supc++ instead of stdc++
+# * use threads, if requested via PALMTOP_USE_MULTITHREADED_QT = "yes"
+# inherit this class to build programs against libqpe
+# inherit opie if you want to build programs against libopie2
+# don't override EXTRA_QMAKEVARS_POST, if you use inherit this class
+
+inherit qmake
+
+# special case for DISTRO = sharprom
+CPP_SUPPORT_LIB = "LIBS-=-lstdc++ LIBS+=-lsupc++"
+CPP_SUPPORT_LIB_sharprom = "LIBS-=-lstdc++"
+EXTRA_QMAKEVARS_POST += "DEFINES+=QWS CONFIG+=qt ${CPP_SUPPORT_LIB}"
+EXTRA_QMAKEVARS_POST += '${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "CONFIG+=thread", "CONFIG-=thread",d)}'
+EXTRA_QMAKEVARS_POST += "${@["LIBS+=-lqpe ", ""][(bb.data.getVar('PN', d, 1) == 'libqpe-opie')]}"
+DEPENDS_prepend = "${@["virtual/libqpe1 uicmoc-native ", ""][(bb.data.getVar('PN', d, 1) == 'libqpe-opie')]}"
+
+FILES_${PN} = "${palmtopdir}"
diff --git a/meta/classes/patcher.bbclass b/meta/classes/patcher.bbclass
new file mode 100644
index 0000000000..c8a1b0350f
--- /dev/null
+++ b/meta/classes/patcher.bbclass
@@ -0,0 +1,7 @@
+# Now that BitBake/OpenEmbedded uses Quilt by default, you can simply add an
+# inherit patcher
+# to one of your config files to let BB/OE use patcher again.
+
+PATCHCLEANCMD = "patcher -B"
+PATCHCMD = "patcher -R -p '%s' -n '%s' -i '%s'"
+PATCH_DEPENDS = "${@["patcher-native", ""][(bb.data.getVar('PN', d, 1) == 'patcher-native')]}"
diff --git a/meta/classes/pkg_distribute.bbclass b/meta/classes/pkg_distribute.bbclass
new file mode 100644
index 0000000000..81978e3e3b
--- /dev/null
+++ b/meta/classes/pkg_distribute.bbclass
@@ -0,0 +1,29 @@
+PKG_DISTRIBUTECOMMAND[func] = "1"
+python do_distribute_packages () {
+ cmd = bb.data.getVar('PKG_DISTRIBUTECOMMAND', d, 1)
+ if not cmd:
+ raise bb.build.FuncFailed("Unable to distribute packages, PKG_DISTRIBUTECOMMAND not defined")
+ bb.build.exec_func('PKG_DISTRIBUTECOMMAND', d)
+}
+
+addtask distribute_packages before do_build after do_fetch
+
+PKG_DIST_LOCAL ?= "symlink"
+PKG_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/packages"
+
+PKG_DISTRIBUTECOMMAND () {
+ p=`dirname ${FILE}`
+ d=`basename $p`
+ mkdir -p ${PKG_DISTRIBUTEDIR}
+ case "${PKG_DIST_LOCAL}" in
+ copy)
+ # use this weird tar command to copy because we want to
+ # exclude the BitKeeper directories
+ test -e ${PKG_DISTRIBUTEDIR}/${d} || mkdir ${PKG_DISTRIBUTEDIR}/${d};
+ (cd ${p}; tar -c --exclude SCCS -f - . ) | tar -C ${PKG_DISTRIBUTEDIR}/${d} -xpf -
+ ;;
+ symlink)
+ ln -sf $p ${PKG_DISTRIBUTEDIR}/
+ ;;
+ esac
+}
diff --git a/meta/classes/pkg_metainfo.bbclass b/meta/classes/pkg_metainfo.bbclass
new file mode 100644
index 0000000000..ac4f73c77b
--- /dev/null
+++ b/meta/classes/pkg_metainfo.bbclass
@@ -0,0 +1,22 @@
+python do_pkg_write_metainfo () {
+ deploydir = bb.data.getVar('DEPLOY_DIR', d, 1)
+ if not deploydir:
+ bb.error("DEPLOY_DIR not defined, unable to write package info")
+ return
+
+ try:
+ infofile = file(os.path.join(deploydir, 'package-metainfo'), 'a')
+ except OSError:
+ raise bb.build.FuncFailed("unable to open package-info file for writing.")
+
+ name = bb.data.getVar('PN', d, 1)
+ version = bb.data.getVar('PV', d, 1)
+ desc = bb.data.getVar('DESCRIPTION', d, 1)
+ page = bb.data.getVar('HOMEPAGE', d, 1)
+ lic = bb.data.getVar('LICENSE', d, 1)
+
+ infofile.write("|| "+ name +" || "+ version + " || "+ desc +" || "+ page +" || "+ lic + " ||\n" )
+ infofile.close()
+}
+
+addtask pkg_write_metainfo after do_package before do_build \ No newline at end of file
diff --git a/meta/classes/pkgconfig.bbclass b/meta/classes/pkgconfig.bbclass
new file mode 100644
index 0000000000..62f15f312d
--- /dev/null
+++ b/meta/classes/pkgconfig.bbclass
@@ -0,0 +1,28 @@
+inherit base
+
+DEPENDS_prepend = "pkgconfig-native "
+
+# The namespaces can clash here hence the two step replace
+def get_pkgconfig_mangle(d):
+ import bb.data
+ s = "-e ''"
+ if not bb.data.inherits_class('native', d):
+ s += " -e 's:=${libdir}:=OELIBDIR:;'"
+ s += " -e 's:=${includedir}:=OEINCDIR:;'"
+ s += " -e 's:=${datadir}:=OEDATADIR:'"
+ s += " -e 's:=${prefix}:=OEPREFIX:'"
+ s += " -e 's:=${exec_prefix}:=OEEXECPREFIX:'"
+ s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
+ s += " -e 's:OEINCDIR:${STAGING_INCDIR}:;'"
+ s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
+ s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'"
+ s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
+ return s
+
+do_stage_append () {
+ for pc in `find ${S} -name '*.pc' | grep -v -- '-uninstalled.pc$'`; do
+ pcname=`basename $pc`
+ install -d ${PKG_CONFIG_PATH}
+ cat $pc | sed ${@get_pkgconfig_mangle(d)} > ${PKG_CONFIG_PATH}/$pcname
+ done
+}
diff --git a/meta/classes/poky.bbclass b/meta/classes/poky.bbclass
new file mode 100644
index 0000000000..885fb77441
--- /dev/null
+++ b/meta/classes/poky.bbclass
@@ -0,0 +1,4 @@
+MIRRORS_append () {
+ftp://.*/.*/ http://www.o-hand.com/~richard/poky/sources/
+http://.*/.*/ http://www.o-hand.com/~richard/poky/sources/
+}
diff --git a/meta/classes/qmake-base.bbclass b/meta/classes/qmake-base.bbclass
new file mode 100644
index 0000000000..36ecfb622f
--- /dev/null
+++ b/meta/classes/qmake-base.bbclass
@@ -0,0 +1,44 @@
+DEPENDS_prepend = "qmake-native "
+
+OE_QMAKE_PLATFORM = "${TARGET_OS}-oe-g++"
+QMAKESPEC := "${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}"
+
+# We override this completely to eliminate the -e normally passed in
+EXTRA_OEMAKE = ' MAKEFLAGS= '
+
+export OE_QMAKE_CC="${CC}"
+export OE_QMAKE_CFLAGS="${CFLAGS}"
+export OE_QMAKE_CXX="${CXX}"
+export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}"
+export OE_QMAKE_LDFLAGS="${LDFLAGS}"
+export OE_QMAKE_LINK="${CCLD}"
+export OE_QMAKE_AR="${AR}"
+export OE_QMAKE_STRIP="${STRIP}"
+export OE_QMAKE_UIC="${STAGING_BINDIR}/uic"
+export OE_QMAKE_MOC="${STAGING_BINDIR}/moc"
+export OE_QMAKE_RCC="non-existant"
+export OE_QMAKE_QMAKE="${STAGING_BINDIR}/qmake"
+export OE_QMAKE_RPATH="-Wl,-rpath-link,"
+
+# default to qte2 via bb.conf, inherit qt3x11 to configure for qt3x11
+export OE_QMAKE_INCDIR_QT="${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib"
+export OE_QMAKE_LIBS_QT="qte"
+export OE_QMAKE_LIBS_X11=""
+
+oe_qmake_mkspecs () {
+ mkdir -p mkspecs/${OE_QMAKE_PLATFORM}
+ for f in ${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}/*; do
+ if [ -L $f ]; then
+ lnk=`readlink $f`
+ if [ -f mkspecs/${OE_QMAKE_PLATFORM}/$lnk ]; then
+ ln -s $lnk mkspecs/${OE_QMAKE_PLATFORM}/`basename $f`
+ else
+ cp $f mkspecs/${OE_QMAKE_PLATFORM}/
+ fi
+ else
+ cp $f mkspecs/${OE_QMAKE_PLATFORM}/
+ fi
+ done
+}
+
diff --git a/meta/classes/qmake.bbclass b/meta/classes/qmake.bbclass
new file mode 100644
index 0000000000..4f2fceff35
--- /dev/null
+++ b/meta/classes/qmake.bbclass
@@ -0,0 +1,57 @@
+inherit qmake-base
+
+qmake_do_configure() {
+ case ${QMAKESPEC} in
+ *linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++)
+ ;;
+ *-oe-g++)
+ die Unsupported target ${TARGET_OS} for oe-g++ qmake spec
+ ;;
+ *)
+ oenote Searching for qmake spec file
+ paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-${TARGET_ARCH}-g++"
+ paths="${QMAKE_MKSPEC_PATH}/${TARGET_OS}-g++ $paths"
+
+ if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then
+ paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-x86-g++ $paths"
+ fi
+ for i in $paths; do
+ if test -e $i; then
+ export QMAKESPEC=$i
+ break
+ fi
+ done
+ ;;
+ esac
+
+ oenote "using qmake spec in ${QMAKESPEC}, using profiles '${QMAKE_PROFILES}'"
+
+ if [ -z "${QMAKE_PROFILES}" ]; then
+ PROFILES="`ls *.pro`"
+ else
+ PROFILES="${QMAKE_PROFILES}"
+ fi
+
+ if [ -z "$PROFILES" ]; then
+ die "QMAKE_PROFILES not set and no profiles found in $PWD"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
+ AFTER="-after"
+ QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
+ oenote "qmake postvar substitution: ${EXTRA_QMAKEVARS_POST}"
+ fi
+
+ if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
+ QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
+ oenote "qmake prevar substitution: ${EXTRA_QMAKEVARS_PRE}"
+ fi
+
+#oenote "Calling '${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST'"
+ unset QMAKESPEC || true
+ ${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling ${OE_QMAKE_QMAKE} on $PROFILES"
+}
+
+EXPORT_FUNCTIONS do_configure
+
+addtask configure after do_unpack do_patch before do_compile
diff --git a/meta/classes/qpf.bbclass b/meta/classes/qpf.bbclass
new file mode 100644
index 0000000000..d6e58871d5
--- /dev/null
+++ b/meta/classes/qpf.bbclass
@@ -0,0 +1,36 @@
+PACKAGE_ARCH = "all"
+
+do_configure() {
+ :
+}
+
+do_compile() {
+ :
+}
+
+pkg_postinst_fonts() {
+#!/bin/sh
+set -e
+. /etc/profile
+${sbindir}/update-qtfontdir
+}
+
+pkg_postrm_fonts() {
+#!/bin/sh
+set -e
+. /etc/profile
+${sbindir}/update-qtfontdir -f
+}
+
+python populate_packages_prepend() {
+ postinst = bb.data.getVar('pkg_postinst_fonts', d, 1)
+ postrm = bb.data.getVar('pkg_postrm_fonts', d, 1)
+ fontdir = bb.data.getVar('palmtopdir', d, 1) + '/lib/fonts'
+ pkgregex = "^([a-z-]*_[0-9]*).*.qpf$"
+ pkgpattern = bb.data.getVar('QPF_PKGPATTERN', d, 1) or 'qpf-%s'
+ pkgdescription = bb.data.getVar('QPF_DESCRIPTION', d, 1) or 'QPF font %s'
+
+ do_split_packages(d, root=fontdir, file_regex=pkgregex, output_pattern=pkgpattern,
+ description=pkgdescription, postinst=postinst, postrm=postrm, recursive=True, hook=None,
+ extra_depends='qpf-font-common')
+}
diff --git a/meta/classes/qt3e.bbclass b/meta/classes/qt3e.bbclass
new file mode 100644
index 0000000000..c34d7c04f5
--- /dev/null
+++ b/meta/classes/qt3e.bbclass
@@ -0,0 +1,11 @@
+#
+# override variables set by qmake-base to compile Qt/X11 apps
+#
+export QTDIR="${STAGING_DIR}/${HOST_SYS}/qte3"
+export QTEDIR="${STAGING_DIR}/${HOST_SYS}/qte3"
+export OE_QMAKE_UIC="${STAGING_BINDIR}/uic3"
+export OE_QMAKE_MOC="${STAGING_BINDIR}/moc3"
+export OE_QMAKE_CXXFLAGS="${CXXFLAGS} "
+export OE_QMAKE_INCDIR_QT="${QTEDIR}/include"
+export OE_QMAKE_LIBDIR_QT="${QTEDIR}/lib"
+export OE_QMAKE_LIBS_QT="qte"
diff --git a/meta/classes/qt3x11.bbclass b/meta/classes/qt3x11.bbclass
new file mode 100644
index 0000000000..6e3d5f8ba2
--- /dev/null
+++ b/meta/classes/qt3x11.bbclass
@@ -0,0 +1,15 @@
+DEPENDS_prepend = "${@["qt3x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt-x11-free')]}"
+EXTRA_QMAKEVARS_POST += "CONFIG+=thread"
+#
+# override variables set by qmake-base to compile Qt/X11 apps
+#
+export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt3"
+export OE_QMAKE_UIC = "${STAGING_BINDIR}/uic3"
+export OE_QMAKE_MOC = "${STAGING_BINDIR}/moc3"
+export OE_QMAKE_CXXFLAGS = "${CXXFLAGS} -DQT_NO_XIM"
+export OE_QMAKE_INCDIR_QT = "${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib"
+export OE_QMAKE_LIBS_QT = "qt"
+export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
+
+
diff --git a/meta/classes/qt4x11.bbclass b/meta/classes/qt4x11.bbclass
new file mode 100644
index 0000000000..635fc67694
--- /dev/null
+++ b/meta/classes/qt4x11.bbclass
@@ -0,0 +1,17 @@
+DEPENDS_prepend = "qmake2-native "
+DEPENDS_prepend = "${@["qt4x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt4-x11-free')]}"
+#
+# override variables set by qmake-base to compile Qt4/X11 apps
+#
+export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt4"
+export QMAKESPEC = "${QTDIR}/mkspecs/${TARGET_OS}-oe-g++"
+export OE_QMAKE_UIC = "${STAGING_BINDIR}/uic4"
+export OE_QMAKE_MOC = "${STAGING_BINDIR}/moc4"
+export OE_QMAKE_RCC = "${STAGING_BINDIR}/rcc4"
+export OE_QMAKE_QMAKE = "${STAGING_BINDIR}/qmake2"
+export OE_QMAKE_LINK = "${CXX}"
+export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
+export OE_QMAKE_INCDIR_QT = "${QTDIR}/include"
+export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib"
+export OE_QMAKE_LIBS_QT = "qt"
+export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm"
diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
new file mode 100644
index 0000000000..340446917e
--- /dev/null
+++ b/meta/classes/rm_work.bbclass
@@ -0,0 +1,22 @@
+#
+# Removes source after build
+#
+# To use it add that line to conf/local.conf:
+#
+# INHERIT += "rm_work"
+#
+
+do_rm_work () {
+ cd ${WORKDIR}
+ for dir in *
+ do
+ if [ `basename ${S}` == $dir ]; then
+ rm -rf $dir/*
+ elif [ $dir != 'temp' ]; then
+ rm -rf $dir
+ fi
+ done
+}
+
+addtask rm_work before do_build
+addtask rm_work after do_package
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
new file mode 100644
index 0000000000..2729503507
--- /dev/null
+++ b/meta/classes/rootfs_ipk.bbclass
@@ -0,0 +1,145 @@
+#
+# Creates a root filesystem out of IPKs
+#
+# This rootfs can be mounted via root-nfs or it can be put into an cramfs/jffs etc.
+# See image_ipk.oeclass for a usage of this.
+#
+
+DEPENDS_prepend="ipkg-native ipkg-utils-native fakeroot-native "
+DEPENDS_append=" ${EXTRA_IMAGEDEPENDS}"
+
+PACKAGES = ""
+
+do_rootfs[nostamp] = 1
+do_rootfs[dirs] = ${TOPDIR}
+do_build[nostamp] = 1
+
+IPKG_ARGS = "-f ${T}/ipkg.conf -o ${IMAGE_ROOTFS}"
+
+ROOTFS_POSTPROCESS_COMMAND ?= ""
+
+PID = "${@os.getpid()}"
+
+# some default locales
+IMAGE_LINGUAS ?= "de-de fr-fr en-gb"
+
+LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVar('IMAGE_LINGUAS', d, 1).split()))}"
+
+real_do_rootfs () {
+ set -x
+
+ mkdir -p ${IMAGE_ROOTFS}/dev
+
+ if [ -z "${DEPLOY_KEEP_PACKAGES}" ]; then
+ rm -f ${DEPLOY_DIR_IPK}/Packages
+ touch ${DEPLOY_DIR_IPK}/Packages
+ ipkg-make-index -r ${DEPLOY_DIR_IPK}/Packages -p ${DEPLOY_DIR_IPK}/Packages -l ${DEPLOY_DIR_IPK}/Packages.filelist -m ${DEPLOY_DIR_IPK}
+ fi
+ mkdir -p ${T}
+ echo "src oe file:${DEPLOY_DIR_IPK}" > ${T}/ipkg.conf
+ ipkgarchs="${IPKG_ARCHS}"
+ priority=1
+ for arch in $ipkgarchs; do
+ echo "arch $arch $priority" >> ${T}/ipkg.conf
+ priority=$(expr $priority + 5)
+ done
+ ipkg-cl ${IPKG_ARGS} update
+ if [ ! -z "${LINGUAS_INSTALL}" ]; then
+ ipkg-cl ${IPKG_ARGS} install glibc-localedata-i18n
+ for i in ${LINGUAS_INSTALL}; do
+ ipkg-cl ${IPKG_ARGS} install $i
+ done
+ fi
+ if [ ! -z "${IPKG_INSTALL}" ]; then
+ ipkg-cl ${IPKG_ARGS} install ${IPKG_INSTALL}
+ fi
+
+ export D=${IMAGE_ROOTFS}
+ export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
+ mkdir -p ${IMAGE_ROOTFS}/etc/ipkg/
+ grep "^arch" ${T}/ipkg.conf >${IMAGE_ROOTFS}/etc/ipkg/arch.conf
+
+ for i in ${IMAGE_ROOTFS}${libdir}/ipkg/info/*.preinst; do
+ if [ -f $i ] && ! sh $i; then
+ ipkg-cl ${IPKG_ARGS} flag unpacked `basename $i .preinst`
+ fi
+ done
+ for i in ${IMAGE_ROOTFS}${libdir}/ipkg/info/*.postinst; do
+ if [ -f $i ] && ! sh $i configure; then
+ ipkg-cl ${IPKG_ARGS} flag unpacked `basename $i .postinst`
+ fi
+ done
+
+ install -d ${IMAGE_ROOTFS}/${sysconfdir}
+ echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
+
+ ${ROOTFS_POSTPROCESS_COMMAND}
+
+ log_check rootfs
+}
+
+log_check() {
+ set +x
+ for target in $*
+ do
+ lf_path="${WORKDIR}/temp/log.do_$target.${PID}"
+
+ echo "log_check: Using $lf_path as logfile"
+
+ if test -e "$lf_path"
+ then
+ lf_txt="`cat $lf_path`"
+
+ for keyword_die in "Cannot find package" "exit 1" ERR Fail
+ do
+
+ if (echo "$lf_txt" | grep -v log_check | grep "$keyword_die") &>/dev/null
+ then
+ echo "log_check: There were error messages in the logfile"
+ echo -e "log_check: Matched keyword: [$keyword_die]\n"
+ echo "$lf_txt" | grep -v log_check | grep -i "$keyword_die"
+ echo ""
+ do_exit=1
+ fi
+ done
+ test "$do_exit" = 1 && exit 1
+ else
+ echo "Cannot find logfile [$lf_path]"
+ fi
+ echo "Logfile is clean"
+ done
+
+ set -x
+
+}
+
+fakeroot do_rootfs () {
+ rm -rf ${IMAGE_ROOTFS}
+ real_do_rootfs
+}
+
+# set '*' as the rootpassword so the images
+# can decide if they want it or not
+
+zap_root_password () {
+ sed 's%^root:[^:]*:%root:*:%' < ${IMAGE_ROOTFS}/etc/passwd >${IMAGE_ROOTFS}/etc/passwd.new
+ mv ${IMAGE_ROOTFS}/etc/passwd.new ${IMAGE_ROOTFS}/etc/passwd
+}
+
+create_etc_timestamp() {
+ date +%2m%2d%2H%2M%Y >${IMAGE_ROOTFS}/etc/timestamp
+}
+
+# Turn any symbolic /sbin/init link into a file
+remove_init_link () {
+ if [ -h ${IMAGE_ROOTFS}/sbin/init ]; then
+ LINKFILE=${IMAGE_ROOTFS}`readlink ${IMAGE_ROOTFS}/sbin/init`
+ rm ${IMAGE_ROOTFS}/sbin/init
+ cp $LINKFILE ${IMAGE_ROOTFS}/sbin/init
+ fi
+}
+
+# export the zap_root_password, create_etc_timestamp and remote_init_link
+EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link
+
+addtask rootfs before do_build after do_install
diff --git a/meta/classes/rpm_core.bbclass b/meta/classes/rpm_core.bbclass
new file mode 100644
index 0000000000..f28abbb1c3
--- /dev/null
+++ b/meta/classes/rpm_core.bbclass
@@ -0,0 +1,16 @@
+RPMBUILDPATH="${WORKDIR}/rpm"
+
+RPMOPTS="--rcfile=${WORKDIR}/rpmrc"
+RPMOPTS="--rcfile=${WORKDIR}/rpmrc --target ${TARGET_SYS}"
+RPM="rpm ${RPMOPTS}"
+RPMBUILD="rpmbuild --buildroot ${D} --short-circuit ${RPMOPTS}"
+
+rpm_core_do_preprpm() {
+ mkdir -p ${RPMBUILDPATH}/{SPECS,RPMS/{i386,i586,i686,noarch,ppc,mips,mipsel,arm},SRPMS,SOURCES,BUILD}
+ echo 'macrofiles:/usr/lib/rpm/macros:${WORKDIR}/macros' > ${WORKDIR}/rpmrc
+ echo '%_topdir ${RPMBUILDPATH}' > ${WORKDIR}/macros
+ echo '%_repackage_dir ${WORKDIR}' >> ${WORKDIR}/macros
+}
+
+EXPORT_FUNCTIONS do_preprpm
+addtask preprpm before do_fetch
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
new file mode 100644
index 0000000000..a626162ffb
--- /dev/null
+++ b/meta/classes/sanity.bbclass
@@ -0,0 +1,112 @@
+#
+# Sanity check the users setup for common misconfigurations
+#
+
+def raise_sanity_error(msg):
+ import bb
+ bb.fatal(""" Openembedded's config sanity checker detected a potential misconfiguration.
+ Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
+ Following is the list of potential problems / advisories:
+
+ %s""" % msg)
+
+def check_conf_exists(fn, data):
+ import bb, os
+
+ bbpath = []
+ fn = bb.data.expand(fn, data)
+ vbbpath = bb.data.getVar("BBPATH", data)
+ if vbbpath:
+ bbpath += vbbpath.split(":")
+ for p in bbpath:
+ currname = os.path.join(bb.data.expand(p, data), fn)
+ if os.access(currname, os.R_OK):
+ return True
+ return False
+
+def check_app_exists(app, d):
+ from bb import which, data
+
+ app = data.expand(app, d)
+ path = data.getVar('PATH', d)
+ return len(which(path, app)) != 0
+
+
+def check_sanity(e):
+ from bb import note, error, data, __version__
+ from bb.event import Handled, NotHandled, getName
+ try:
+ from distutils.version import LooseVersion
+ except ImportError:
+ def LooseVersion(v): print "WARNING: sanity.bbclass can't compare versions without python-distutils"; return 1
+ import os
+
+ # Check the bitbake version meets minimum requirements
+ minversion = data.getVar('BB_MIN_VERSION', e.data , True)
+ if not minversion:
+ # Hack: BB_MIN_VERSION hasn't been parsed yet so return
+ # and wait for the next call
+ print "Foo %s" % minversion
+ return
+
+ if (LooseVersion(__version__) < LooseVersion(minversion)):
+ raise_sanity_error('Bitbake version %s is required and version %s was found' % (minversion, __version__))
+
+ # Check TARGET_ARCH is set
+ if data.getVar('TARGET_ARCH', e.data, True) == 'INVALID':
+ raise_sanity_error('Please set TARGET_ARCH directly, or choose a MACHINE or DISTRO that does so.')
+
+ # Check TARGET_OS is set
+ if data.getVar('TARGET_OS', e.data, True) == 'INVALID':
+ raise_sanity_error('Please set TARGET_OS directly, or choose a MACHINE or DISTRO that does so.')
+
+ # Check user doesn't have ASSUME_PROVIDED = instead of += in local.conf
+ if "diffstat-native" not in data.getVar('ASSUME_PROVIDED', e.data, True).split():
+ raise_sanity_error('Please use ASSUME_PROVIDED +=, not ASSUME_PROVIDED = in your local.conf')
+
+ # Check the MACHINE is valid
+ if not check_conf_exists("conf/machine/${MACHINE}.conf", e.data):
+ raise_sanity_error('Please set a valid MACHINE in your local.conf')
+
+ # Check the distro is valid
+ if not check_conf_exists("conf/distro/${DISTRO}.conf", e.data):
+ raise_sanity_error('Please set a valid DISTRO in your local.conf')
+
+ if not check_app_exists("${MAKE}", e.data):
+ raise_sanity_error('GNU make missing. Please install GNU make')
+
+ if not check_app_exists('${BUILD_PREFIX}gcc', e.data):
+ raise_sanity_error('C Host-Compiler is missing, please install one' )
+
+ if not check_app_exists('${BUILD_PREFIX}g++', e.data):
+ raise_sanity_error('C++ Host-Compiler is missing, please install one' )
+
+ if not check_app_exists('patch', e.data):
+ raise_sanity_error('Please install the patch utility, preferable GNU patch.')
+
+ if not check_app_exists('diffstat', e.data):
+ raise_sanity_error('Please install the diffstat utility')
+
+ if not check_app_exists('texi2html', e.data):
+ raise_sanity_error('Please install the texi2html binary')
+
+ if not check_app_exists('cvs', e.data):
+ raise_sanity_error('Please install the cvs utility')
+
+ if not check_app_exists('svn', e.data):
+ raise_sanity_error('Please install the svn utility')
+
+ oes_bb_conf = data.getVar( 'OES_BITBAKE_CONF', e.data, True )
+ if not oes_bb_conf:
+ raise_sanity_error('You do not include OpenEmbeddeds version of conf/bitbake.conf')
+
+addhandler check_sanity_eventhandler
+python check_sanity_eventhandler() {
+ from bb import note, error, data, __version__
+ from bb.event import getName
+
+ if getName(e) == "BuildStarted":
+ check_sanity(e)
+
+ return NotHandled
+}
diff --git a/meta/classes/scons.bbclass b/meta/classes/scons.bbclass
new file mode 100644
index 0000000000..3160eca69a
--- /dev/null
+++ b/meta/classes/scons.bbclass
@@ -0,0 +1,13 @@
+DEPENDS += "python-scons-native"
+
+scons_do_compile() {
+ ${STAGING_BINDIR}/scons || \
+ oefatal "scons build execution failed."
+}
+
+scons_do_install() {
+ ${STAGING_BINDIR}/scons install || \
+ oefatal "scons install execution failed."
+}
+
+EXPORT_FUNCTIONS do_compile do_install
diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass
new file mode 100644
index 0000000000..bcabbc79bd
--- /dev/null
+++ b/meta/classes/sdk.bbclass
@@ -0,0 +1,26 @@
+# SDK packages are built either explicitly by the user,
+# or indirectly via dependency. No need to be in 'world'.
+EXCLUDE_FROM_WORLD = "1"
+
+SDK_NAME = "${TARGET_ARCH}/oe"
+PACKAGE_ARCH = "${BUILD_ARCH}"
+
+HOST_ARCH = "${BUILD_ARCH}"
+HOST_VENDOR = "${BUILD_VENDOR}"
+HOST_OS = "${BUILD_OS}"
+HOST_PREFIX = "${BUILD_PREFIX}"
+HOST_CC_ARCH = "${BUILD_CC_ARCH}"
+
+CPPFLAGS = "${BUILD_CPPFLAGS}"
+CFLAGS = "${BUILD_CFLAGS}"
+CXXFLAGS = "${BUILD_CFLAGS}"
+LDFLAGS = "${BUILD_LDFLAGS}"
+
+prefix = "/usr/local/${SDK_NAME}"
+exec_prefix = "${prefix}"
+base_prefix = "${exec_prefix}"
+
+FILES_${PN} = "${prefix}"
+
+
+
diff --git a/meta/classes/sdl.bbclass b/meta/classes/sdl.bbclass
new file mode 100644
index 0000000000..c0b21427a4
--- /dev/null
+++ b/meta/classes/sdl.bbclass
@@ -0,0 +1,44 @@
+#
+# (C) Michael 'Mickey' Lauer <mickey@Vanille.de>
+#
+
+DEPENDS += "virtual/libsdl libsdl-mixer libsdl-image"
+
+APPDESKTOP ?= "${PN}.desktop"
+APPNAME ?= "${PN}"
+APPIMAGE ?= "${PN}.png"
+
+sdl_do_sdl_install() {
+ install -d ${D}${palmtopdir}/bin
+ install -d ${D}${palmtopdir}/pics
+ install -d ${D}${palmtopdir}/apps/Games
+ ln -sf ${bindir}/${APPNAME} ${D}${palmtopdir}/bin/${APPNAME}
+ install -m 0644 ${APPIMAGE} ${D}${palmtopdir}/pics/${PN}.png
+
+ if [ -e "${APPDESKTOP}" ]
+ then
+ echo ${APPDESKTOP} present, installing to palmtopdir...
+ install -m 0644 ${APPDESKTOP} ${D}${palmtopdir}/apps/Games/${PN}.desktop
+ else
+ echo ${APPDESKTOP} not present, creating one on-the-fly...
+ cat >${D}${palmtopdir}/apps/Games/${PN}.desktop <<EOF
+[Desktop Entry]
+Note=Auto Generated... this may be not what you want
+Comment=${DESCRIPTION}
+Exec=${APPNAME}
+Icon=${APPIMAGE}
+Type=Application
+Name=${PN}
+EOF
+ fi
+}
+
+EXPORT_FUNCTIONS do_sdl_install
+addtask sdl_install after do_compile before do_populate_staging
+
+SECTION = "x11/games"
+SECTION_${PN}-opie = "opie/games"
+
+PACKAGES += "${PN}-opie"
+RDEPENDS_${PN}-opie += "${PN}"
+FILES_${PN}-opie = "${palmtopdir}"
diff --git a/meta/classes/sip.bbclass b/meta/classes/sip.bbclass
new file mode 100644
index 0000000000..adf179b130
--- /dev/null
+++ b/meta/classes/sip.bbclass
@@ -0,0 +1,58 @@
+# Build Class for Sip based Python Bindings
+# (C) Michael 'Mickey' Lauer <mickey@Vanille.de>
+#
+
+DEPENDS =+ "sip-native python-sip"
+
+# default stuff, do not uncomment
+# EXTRA_SIPTAGS = "-tWS_QWS -tQtPE_1_6_0 -tQt_2_3_1"
+
+sip_do_generate() {
+ if [ -z "${SIP_MODULES}" ]; then
+ MODULES="`ls sip/*mod.sip`"
+ else
+ MODULES="${SIP_MODULES}"
+ fi
+
+ if [ -z "$MODULES" ]; then
+ die "SIP_MODULES not set and no modules found in $PWD"
+ else
+ oenote "using modules '${SIP_MODULES}' and tags '${EXTRA_SIPTAGS}'"
+ fi
+
+ if [ -z "${EXTRA_SIPTAGS}" ]; then
+ die "EXTRA_SIPTAGS needs to be set!"
+ else
+ SIPTAGS="${EXTRA_SIPTAGS}"
+ fi
+
+ if [ ! -z "${SIP_FEATURES}" ]; then
+ FEATURES="-z ${SIP_FEATURES}"
+ oenote "sip feature file: ${SIP_FEATURES}"
+ fi
+
+ for module in $MODULES
+ do
+ install -d ${module}/
+ oenote "calling 'sip -I sip -I ${STAGING_SIPDIR} ${SIPTAGS} ${FEATURES} -c ${module} -b ${module}/${module}.pro.in sip/${module}/${module}mod.sip'"
+ sip -I ${STAGING_SIPDIR} -I sip ${SIPTAGS} ${FEATURES} -c ${module} -b ${module}/${module}.sbf sip/${module}/${module}mod.sip \
+ || die "Error calling sip on ${module}"
+ cat ${module}/${module}.sbf | sed s,target,TARGET, \
+ | sed s,sources,SOURCES, \
+ | sed s,headers,HEADERS, \
+ | sed s,"moc_HEADERS =","HEADERS +=", \
+ >${module}/${module}.pro
+ echo "TEMPLATE=lib" >>${module}/${module}.pro
+ [ "${module}" = "qt" ] && echo "" >>${module}/${module}.pro
+ [ "${module}" = "qtcanvas" ] && echo "" >>${module}/${module}.pro
+ [ "${module}" = "qttable" ] && echo "" >>${module}/${module}.pro
+ [ "${module}" = "qwt" ] && echo "" >>${module}/${module}.pro
+ [ "${module}" = "qtpe" ] && echo "" >>${module}/${module}.pro
+ [ "${module}" = "qtpe" ] && echo "LIBS+=-lqpe" >>${module}/${module}.pro
+ true
+ done
+}
+
+EXPORT_FUNCTIONS do_generate
+
+addtask generate after do_unpack do_patch before do_configure
diff --git a/meta/classes/sourcepkg.bbclass b/meta/classes/sourcepkg.bbclass
new file mode 100644
index 0000000000..390d3684d4
--- /dev/null
+++ b/meta/classes/sourcepkg.bbclass
@@ -0,0 +1,111 @@
+DEPLOY_DIR_SRC ?= "${DEPLOY_DIR}/source"
+EXCLUDE_FROM ?= ".pc autom4te.cache"
+
+# used as part of a path. make sure it's set
+DISTRO ?= "openembedded"
+
+def get_src_tree(d):
+ import bb
+ import os, os.path
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ if not workdir:
+ bb.error("WORKDIR not defined, unable to find source tree.")
+ return
+
+ s = bb.data.getVar('S', d, 0)
+ if not s:
+ bb.error("S not defined, unable to find source tree.")
+ return
+
+ s_tree_raw = s.split('/')[1]
+ s_tree = bb.data.expand(s_tree_raw, d)
+
+ src_tree_path = os.path.join(workdir, s_tree)
+ try:
+ os.listdir(src_tree_path)
+ except OSError:
+ bb.fatal("Expected to find source tree in '%s' which doesn't exist." % src_tree_path)
+ bb.debug("Assuming source tree is '%s'" % src_tree_path)
+
+ return s_tree
+
+sourcepkg_do_create_orig_tgz(){
+
+ mkdir -p ${DEPLOY_DIR_SRC}
+ cd ${WORKDIR}
+ for i in ${EXCLUDE_FROM}; do
+ echo $i >> temp/exclude-from-file
+ done
+
+ src_tree=${@get_src_tree(d)}
+
+ echo $src_tree
+ oenote "Creating .orig.tar.gz in ${DEPLOY_DIR_SRC}/${P}.orig.tar.gz"
+ tar cvzf ${DEPLOY_DIR_SRC}/${P}.orig.tar.gz --exclude-from temp/exclude-from-file $src_tree
+ cp -pPR $src_tree $src_tree.orig
+}
+
+sourcepkg_do_archive_bb() {
+
+ src_tree=${@get_src_tree(d)}
+ dest=${WORKDIR}/$src_tree/${DISTRO}
+ mkdir -p $dest
+
+ cp ${FILE} $dest
+}
+
+python sourcepkg_do_dumpdata() {
+ import os
+ import os.path
+
+ workdir = bb.data.getVar('WORKDIR', d, 1)
+ distro = bb.data.getVar('DISTRO', d, 1)
+ s_tree = get_src_tree(d)
+ openembeddeddir = os.path.join(workdir, s_tree, distro)
+ dumpfile = os.path.join(openembeddeddir, bb.data.expand("${P}-${PR}.showdata.dump",d))
+
+ try:
+ os.mkdir(openembeddeddir)
+ except OSError:
+ # dir exists
+ pass
+
+ bb.note("Dumping metadata into '%s'" % dumpfile)
+ f = open(dumpfile, "w")
+ # emit variables and shell functions
+ bb.data.emit_env(f, d, True)
+ # emit the metadata which isnt valid shell
+ for e in d.keys():
+ if bb.data.getVarFlag(e, 'python', d):
+ f.write("\npython %s () {\n%s}\n" % (e, bb.data.getVar(e, d, 1)))
+ f.close()
+}
+
+sourcepkg_do_create_diff_gz(){
+
+ cd ${WORKDIR}
+ for i in ${EXCLUDE_FROM}; do
+ echo $i >> temp/exclude-from-file
+ done
+
+
+ src_tree=${@get_src_tree(d)}
+
+ for i in `find . -maxdepth 1 -type f`; do
+ mkdir -p $src_tree/${DISTRO}/files
+ cp $i $src_tree/${DISTRO}/files
+ done
+
+ oenote "Creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz"
+ LC_ALL=C TZ=UTC0 diff --exclude-from=temp/exclude-from-file -Naur $src_tree.orig $src_tree | gzip -c > ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz
+ rm -rf $src_tree.orig
+}
+
+EXPORT_FUNCTIONS do_create_orig_tgz do_archive_bb do_dumpdata do_create_diff_gz
+
+addtask create_orig_tgz after do_unpack before do_patch
+addtask archive_bb after do_patch before do_dumpdata
+addtask dumpdata after archive_bb before do_create_diff_gz
+addtask create_diff_gz after do_dump_data before do_configure
+
diff --git a/meta/classes/src_distribute.bbclass b/meta/classes/src_distribute.bbclass
new file mode 100644
index 0000000000..5daf526018
--- /dev/null
+++ b/meta/classes/src_distribute.bbclass
@@ -0,0 +1,40 @@
+include conf/licenses.conf
+
+SRC_DISTRIBUTECOMMAND[func] = "1"
+python do_distribute_sources () {
+ l = bb.data.createCopy(d)
+ bb.data.update_data(l)
+ licenses = (bb.data.getVar('LICENSE', d, 1) or "").split()
+ if not licenses:
+ bb.note("LICENSE not defined")
+ src_distribute_licenses = (bb.data.getVar('SRC_DISTRIBUTE_LICENSES', d, 1) or "").split()
+ # Explanation:
+ # Space seperated items in LICENSE must *all* be distributable
+ # Each space seperated item may be used under any number of | seperated licenses.
+ # If any of those | seperated licenses are distributable, then that component is.
+ # i.e. LICENSE = "GPL LGPL"
+ # In this case, both components are distributable.
+ # LICENSE = "GPL|QPL|Proprietary"
+ # In this case, GPL is distributable, so the component is.
+ valid = 1
+ for l in licenses:
+ lvalid = 0
+ for i in l.split("|"):
+ if i in src_distribute_licenses:
+ lvalid = 1
+ if lvalid != 1:
+ valid = 0
+ if valid == 0:
+ bb.note("Licenses (%s) are not all listed in SRC_DISTRIBUTE_LICENSES, skipping source distribution" % licenses)
+ return
+ import re
+ for s in (bb.data.getVar('A', d, 1) or "").split():
+ s = re.sub(';.*$', '', s)
+ cmd = bb.data.getVar('SRC_DISTRIBUTECOMMAND', d, 1)
+ if not cmd:
+ raise bb.build.FuncFailed("Unable to distribute sources, SRC_DISTRIBUTECOMMAND not defined")
+ bb.data.setVar('SRC', s, d)
+ bb.build.exec_func('SRC_DISTRIBUTECOMMAND', d)
+}
+
+addtask distribute_sources before do_build after do_fetch
diff --git a/meta/classes/src_distribute_local.bbclass b/meta/classes/src_distribute_local.bbclass
new file mode 100644
index 0000000000..5f0cef5bec
--- /dev/null
+++ b/meta/classes/src_distribute_local.bbclass
@@ -0,0 +1,31 @@
+inherit src_distribute
+
+# SRC_DIST_LOCAL possible values:
+# copy copies the files from ${A} to the distributedir
+# symlink symlinks the files from ${A} to the distributedir
+# move+symlink moves the files into distributedir, and symlinks them back
+SRC_DIST_LOCAL ?= "move+symlink"
+SRC_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/sources"
+SRC_DISTRIBUTECOMMAND () {
+ s="${SRC}"
+ if [ ! -L "$s" ] && (echo "$s"|grep "^${DL_DIR}"); then
+ :
+ else
+ exit 0;
+ fi
+ mkdir -p ${SRC_DISTRIBUTEDIR}
+ case "${SRC_DIST_LOCAL}" in
+ copy)
+ test -e $s.md5 && cp -f $s.md5 ${SRC_DISTRIBUTEDIR}/
+ cp -f $s ${SRC_DISTRIBUTEDIR}/
+ ;;
+ symlink)
+ test -e $s.md5 && ln -sf $s.md5 ${SRC_DISTRIBUTEDIR}/
+ ln -sf $s ${SRC_DISTRIBUTEDIR}/
+ ;;
+ move+symlink)
+ mv $s ${SRC_DISTRIBUTEDIR}/
+ ln -sf ${SRC_DISTRIBUTEDIR}/`basename $s` $s
+ ;;
+ esac
+}
diff --git a/meta/classes/srec.bbclass b/meta/classes/srec.bbclass
new file mode 100644
index 0000000000..e7bdc6c75d
--- /dev/null
+++ b/meta/classes/srec.bbclass
@@ -0,0 +1,28 @@
+#
+# Creates .srec files from images.
+#
+# Useful for loading with Yamon.
+
+# Define SREC_VMAADDR in your machine.conf.
+
+SREC_CMD = "${TARGET_PREFIX}objcopy -O srec -I binary --adjust-vma ${SREC_VMAADDR} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${type} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${type}.srec"
+
+# Do not build srec files for these types of images:
+SREC_SKIP = "tar"
+
+do_srec[nostamp] = 1
+
+do_srec () {
+ if [ ${SREC_VMAADDR} = "" ] ; then
+ oefatal Cannot do_srec without SREC_VMAADDR defined.
+ fi
+ for type in ${IMAGE_FSTYPES}; do
+ for skiptype in ${SREC_SKIP}; do
+ if [ $type = $skiptype ] ; then continue 2 ; fi
+ done
+ ${SREC_CMD}
+ done
+ return 0
+}
+
+addtask srec after do_rootfs before do_build
diff --git a/meta/classes/tinderclient.bbclass b/meta/classes/tinderclient.bbclass
new file mode 100644
index 0000000000..6e10d0f34b
--- /dev/null
+++ b/meta/classes/tinderclient.bbclass
@@ -0,0 +1,332 @@
+def tinder_http_post(server, selector, content_type, body):
+ import httplib
+ # now post it
+ for i in range(0,5):
+ try:
+ h = httplib.HTTP(server)
+ h.putrequest('POST', selector)
+ h.putheader('content-type', content_type)
+ h.putheader('content-length', str(len(body)))
+ h.endheaders()
+ h.send(body)
+ errcode, errmsg, headers = h.getreply()
+ #print errcode, errmsg, headers
+ return (errcode,errmsg, headers, h.file)
+ except:
+ # try again
+ pass
+
+def tinder_form_data(bound, dict, log):
+ output = []
+ #br
+ # for each key in the dictionary
+ for name in dict:
+ output.append( "--" + bound )
+ output.append( 'Content-Disposition: form-data; name="%s"' % name )
+ output.append( "" )
+ output.append( dict[name] )
+ if log:
+ output.append( "--" + bound )
+ output.append( 'Content-Disposition: form-data; name="log"; filename="log.txt"' )
+ output.append( '' )
+ output.append( log )
+ output.append( '--' + bound + '--' )
+ output.append( '' )
+
+ return "\r\n".join(output)
+
+def tinder_time_string():
+ """
+ Return the time as GMT
+ """
+ return ""
+
+def tinder_format_http_post(d,status,log):
+ """
+ Format the Tinderbox HTTP post with the data needed
+ for the tinderbox to be happy.
+ """
+
+ from bb import data, build
+ import os,random
+
+ # the variables we will need to send on this form post
+ variables = {
+ "tree" : data.getVar('TINDER_TREE', d, True),
+ "machine_name" : data.getVar('TINDER_MACHINE', d, True),
+ "os" : os.uname()[0],
+ "os_version" : os.uname()[2],
+ "compiler" : "gcc",
+ "clobber" : data.getVar('TINDER_CLOBBER', d, True)
+ }
+
+ # optionally add the status
+ if status:
+ variables["status"] = str(status)
+
+ # try to load the machine id
+ # we only need on build_status.pl but sending it
+ # always does not hurt
+ try:
+ f = file(data.getVar('TMPDIR',d,True)+'/tinder-machine.id', 'r')
+ id = f.read()
+ variables['machine_id'] = id
+ except:
+ pass
+
+ # the boundary we will need
+ boundary = "----------------------------------%d" % int(random.random()*1000000000000)
+
+ # now format the body
+ body = tinder_form_data( boundary, variables, log )
+
+ return ("multipart/form-data; boundary=%s" % boundary),body
+
+
+def tinder_build_start(d):
+ """
+ Inform the tinderbox that a build is starting. We do this
+ by posting our name and tree to the build_start.pl script
+ on the server.
+ """
+ from bb import data
+
+ # get the body and type
+ content_type, body = tinder_format_http_post(d,None,None)
+ server = data.getVar('TINDER_HOST', d, True )
+ url = data.getVar('TINDER_URL', d, True )
+
+ selector = url + "/xml/build_start.pl"
+
+ #print "selector %s and url %s" % (selector, url)
+
+ # now post it
+ errcode, errmsg, headers, h_file = tinder_http_post(server,selector,content_type, body)
+ #print errcode, errmsg, headers
+ report = h_file.read()
+
+ # now let us find the machine id that was assigned to us
+ search = "<machine id='"
+ report = report[report.find(search)+len(search):]
+ report = report[0:report.find("'")]
+
+ import bb
+ bb.note("Machine ID assigned by tinderbox: %s" % report )
+
+ # now we will need to save the machine number
+ # we will override any previous numbers
+ f = file(data.getVar('TMPDIR', d, True)+"/tinder-machine.id", 'w')
+ f.write(report)
+
+
+def tinder_send_http(d, status, log):
+ """
+ Send this log as build status
+ """
+ from bb import data
+
+
+ # get the body and type
+ content_type, body = tinder_format_http_post(d,status,log)
+ server = data.getVar('TINDER_HOST', d, True )
+ url = data.getVar('TINDER_URL', d, True )
+
+ selector = url + "/xml/build_status.pl"
+
+ # now post it
+ errcode, errmsg, headers, h_file = tinder_http_post(server,selector,content_type, body)
+ #print errcode, errmsg, headers
+ #print h.file.read()
+
+
+def tinder_print_info(d):
+ """
+ Print the TinderBox Info
+ Including informations of the BaseSystem and the Tree
+ we use.
+ """
+
+ from bb import data
+ import os
+ # get the local vars
+
+ time = tinder_time_string()
+ ops = os.uname()[0]
+ version = os.uname()[2]
+ url = data.getVar( 'TINDER_URL' , d, True )
+ tree = data.getVar( 'TINDER_TREE', d, True )
+ branch = data.getVar( 'TINDER_BRANCH', d, True )
+ srcdate = data.getVar( 'SRCDATE', d, True )
+ machine = data.getVar( 'MACHINE', d, True )
+ distro = data.getVar( 'DISTRO', d, True )
+ bbfiles = data.getVar( 'BBFILES', d, True )
+ tarch = data.getVar( 'TARGET_ARCH', d, True )
+ fpu = data.getVar( 'TARGET_FPU', d, True )
+ oerev = data.getVar( 'OE_REVISION', d, True ) or "unknown"
+
+ # there is a bug with tipple quoted strings
+ # i will work around but will fix the original
+ # bug as well
+ output = []
+ output.append("== Tinderbox Info" )
+ output.append("Time: %(time)s" )
+ output.append("OS: %(ops)s" )
+ output.append("%(version)s" )
+ output.append("Compiler: gcc" )
+ output.append("Tinderbox Client: 0.1" )
+ output.append("Tinderbox Client Last Modified: yesterday" )
+ output.append("Tinderbox Protocol: 0.1" )
+ output.append("URL: %(url)s" )
+ output.append("Tree: %(tree)s" )
+ output.append("Config:" )
+ output.append("branch = '%(branch)s'" )
+ output.append("TARGET_ARCH = '%(tarch)s'" )
+ output.append("TARGET_FPU = '%(fpu)s'" )
+ output.append("SRCDATE = '%(srcdate)s'" )
+ output.append("MACHINE = '%(machine)s'" )
+ output.append("DISTRO = '%(distro)s'" )
+ output.append("BBFILES = '%(bbfiles)s'" )
+ output.append("OEREV = '%(oerev)s'" )
+ output.append("== End Tinderbox Client Info" )
+
+ # now create the real output
+ return "\n".join(output) % vars()
+
+
+def tinder_print_env():
+ """
+ Print the environment variables of this build
+ """
+ from bb import data
+ import os
+
+ time_start = tinder_time_string()
+ time_end = tinder_time_string()
+
+ # build the environment
+ env = ""
+ for var in os.environ:
+ env += "%s=%s\n" % (var, os.environ[var])
+
+ output = []
+ output.append( "---> TINDERBOX RUNNING env %(time_start)s" )
+ output.append( env )
+ output.append( "<--- TINDERBOX FINISHED (SUCCESS) %(time_end)s" )
+
+ return "\n".join(output) % vars()
+
+def tinder_tinder_start(d, event):
+ """
+ PRINT the configuration of this build
+ """
+
+ time_start = tinder_time_string()
+ config = tinder_print_info(d)
+ #env = tinder_print_env()
+ time_end = tinder_time_string()
+ packages = " ".join( event.getPkgs() )
+
+ output = []
+ output.append( "---> TINDERBOX PRINTING CONFIGURATION %(time_start)s" )
+ output.append( config )
+ #output.append( env )
+ output.append( "<--- TINDERBOX FINISHED PRINTING CONFIGURATION %(time_end)s" )
+ output.append( "---> TINDERBOX BUILDING '%(packages)s'" )
+ output.append( "<--- TINDERBOX STARTING BUILD NOW" )
+
+ output.append( "" )
+
+ return "\n".join(output) % vars()
+
+def tinder_do_tinder_report(event):
+ """
+ Report to the tinderbox:
+ On the BuildStart we will inform the box directly
+ On the other events we will write to the TINDER_LOG and
+ when the Task is finished we will send the report.
+
+ The above is not yet fully implemented. Currently we send
+ information immediately. The caching/queuing needs to be
+ implemented. Also sending more or less information is not
+ implemented yet.
+ """
+ from bb.event import getName
+ from bb import data, mkdirhier, build
+ import os, glob
+
+ # variables
+ name = getName(event)
+ log = ""
+ status = 1
+ #print asd
+ # Check what we need to do Build* shows we start or are done
+ if name == "BuildStarted":
+ tinder_build_start(event.data)
+ log = tinder_tinder_start(event.data,event)
+
+ try:
+ # truncate the tinder log file
+ f = file(data.getVar('TINDER_LOG', event.data, True), 'rw+')
+ f.truncate(0)
+ f.close()
+ except IOError:
+ pass
+
+ # Append the Task-Log (compile,configure...) to the log file
+ # we will send to the server
+ if name == "TaskSucceeded" or name == "TaskFailed":
+ log_file = glob.glob("%s/log.%s.*" % (data.getVar('T', event.data, True), event.task))
+
+ if len(log_file) != 0:
+ to_file = data.getVar('TINDER_LOG', event.data, True)
+ log += "".join(open(log_file[0], 'r').readlines())
+
+ # set the right 'HEADER'/Summary for the TinderBox
+ if name == "TaskStarted":
+ log += "---> TINDERBOX Task %s started\n" % event.task
+ elif name == "TaskSucceeded":
+ log += "<--- TINDERBOX Task %s done (SUCCESS)\n" % event.task
+ elif name == "TaskFailed":
+ log += "<--- TINDERBOX Task %s failed (FAILURE)\n" % event.task
+ elif name == "PkgStarted":
+ log += "---> TINDERBOX Package %s started\n" % data.getVar('P', event.data, True)
+ elif name == "PkgSucceeded":
+ log += "<--- TINDERBOX Package %s done (SUCCESS)\n" % data.getVar('P', event.data, True)
+ elif name == "PkgFailed":
+ build.exec_task('do_clean', event.data)
+ log += "<--- TINDERBOX Package %s failed (FAILURE)\n" % data.getVar('P', event.data, True)
+ status = 200
+ elif name == "BuildCompleted":
+ log += "Build Completed\n"
+ status = 100
+ elif name == "MultipleProviders":
+ log += "---> TINDERBOX Multiple Providers\n"
+ log += "multiple providers are available (%s);\n" % ", ".join(event.getCandidates())
+ log += "consider defining PREFERRED_PROVIDER_%s\n" % event.getItem()
+ log += "is runtime: %d\n" % event.isRuntime()
+ log += "<--- TINDERBOX Multiple Providers\n"
+ elif name == "NoProvider":
+ log += "Error: No Provider for: %s\n" % event.getItem()
+ log += "Error:Was Runtime: %d\n" % event.isRuntime()
+ status = 200
+
+ # now post the log
+ if len(log) == 0:
+ return
+
+ # for now we will use the http post method as it is the only one
+ log_post_method = tinder_send_http
+ log_post_method(event.data, status, log)
+
+
+# we want to be an event handler
+addhandler tinderclient_eventhandler
+python tinderclient_eventhandler() {
+ from bb import note, error, data
+ from bb.event import NotHandled
+ do_tinder_report = data.getVar('TINDER_REPORT', e.data, True)
+ if do_tinder_report and do_tinder_report == "1":
+ tinder_do_tinder_report(e)
+
+ return NotHandled
+}
diff --git a/meta/classes/tmake.bbclass b/meta/classes/tmake.bbclass
new file mode 100644
index 0000000000..05b82e496d
--- /dev/null
+++ b/meta/classes/tmake.bbclass
@@ -0,0 +1,77 @@
+DEPENDS_prepend="tmake "
+
+python tmake_do_createpro() {
+ import glob, sys
+ from bb import note
+ out_vartranslate = {
+ "TMAKE_HEADERS": "HEADERS",
+ "TMAKE_INTERFACES": "INTERFACES",
+ "TMAKE_TEMPLATE": "TEMPLATE",
+ "TMAKE_CONFIG": "CONFIG",
+ "TMAKE_DESTDIR": "DESTDIR",
+ "TMAKE_SOURCES": "SOURCES",
+ "TMAKE_DEPENDPATH": "DEPENDPATH",
+ "TMAKE_INCLUDEPATH": "INCLUDEPATH",
+ "TMAKE_TARGET": "TARGET",
+ "TMAKE_LIBS": "LIBS",
+ }
+ s = data.getVar('S', d, 1) or ""
+ os.chdir(s)
+ profiles = (data.getVar('TMAKE_PROFILES', d, 1) or "").split()
+ if not profiles:
+ profiles = ["*.pro"]
+ for pro in profiles:
+ ppro = glob.glob(pro)
+ if ppro:
+ if ppro != [pro]:
+ del profiles[profiles.index(pro)]
+ profiles += ppro
+ continue
+ if ppro[0].find('*'):
+ del profiles[profiles.index(pro)]
+ continue
+ else:
+ del profiles[profiles.index(pro)]
+ if len(profiles) != 0:
+ return
+
+ # output .pro using this metadata store
+ try:
+ from __builtin__ import file
+ profile = file(data.expand('${PN}.pro', d), 'w')
+ except OSError:
+ raise FuncFailed("unable to open pro file for writing.")
+
+# fd = sys.__stdout__
+ fd = profile
+ for var in out_vartranslate.keys():
+ val = data.getVar(var, d, 1)
+ if val:
+ fd.write("%s\t: %s\n" % (out_vartranslate[var], val))
+
+# if fd is not sys.__stdout__:
+ fd.close()
+}
+
+tmake_do_configure() {
+ paths="${STAGING_DATADIR}/tmake/qws/${TARGET_OS}-${TARGET_ARCH}-g++ $STAGING_DIR/share/tmake/$OS-g++"
+ if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then
+ paths="${STAGING_DATADIR}/tmake/qws/${TARGET_OS}-x86-g++ $paths"
+ fi
+ for i in $paths; do
+ if test -e $i; then
+ export TMAKEPATH=$i
+ break
+ fi
+ done
+
+ if [ -z "${TMAKE_PROFILES}" ]; then
+ TMAKE_PROFILES="`ls *.pro`"
+ fi
+ tmake -o Makefile $TMAKE_PROFILES || die "Error calling tmake on ${TMAKE_PROFILES}"
+}
+
+EXPORT_FUNCTIONS do_configure do_createpro
+
+addtask configure after do_unpack do_patch before do_compile
+addtask createpro before do_configure after do_unpack do_patch
diff --git a/meta/classes/update-alternatives.bbclass b/meta/classes/update-alternatives.bbclass
new file mode 100644
index 0000000000..6b2b547d5f
--- /dev/null
+++ b/meta/classes/update-alternatives.bbclass
@@ -0,0 +1,33 @@
+# defaults
+ALTERNATIVE_PRIORITY = "10"
+ALTERNATIVE_LINK = "${bindir}/${ALTERNATIVE_NAME}"
+
+update_alternatives_postinst() {
+update-alternatives --install ${ALTERNATIVE_LINK} ${ALTERNATIVE_NAME} ${ALTERNATIVE_PATH} ${ALTERNATIVE_PRIORITY}
+}
+
+update_alternatives_postrm() {
+update-alternatives --remove ${ALTERNATIVE_NAME} ${ALTERNATIVE_PATH}
+}
+
+python __anonymous() {
+ if bb.data.getVar('ALTERNATIVE_NAME', d) == None:
+ raise bb.build.FuncFailed, "%s inherits update-alternatives but doesn't set ALTERNATIVE_NAME" % bb.data.getVar('FILE', d)
+ if bb.data.getVar('ALTERNATIVE_PATH', d) == None:
+ raise bb.build.FuncFailed, "%s inherits update-alternatives but doesn't set ALTERNATIVE_PATH" % bb.data.getVar('FILE', d)
+}
+
+python populate_packages_prepend () {
+ pkg = bb.data.getVar('PN', d, 1)
+ bb.note('adding update-alternatives calls to postinst/postrm for %s' % pkg)
+ postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1)
+ if not postinst:
+ postinst = '#!/bin/sh\n'
+ postinst += bb.data.getVar('update_alternatives_postinst', d, 1)
+ bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d)
+ postrm = bb.data.getVar('pkg_postrm_%s' % pkg, d, 1) or bb.data.getVar('pkg_postrm', d, 1)
+ if not postrm:
+ postrm = '#!/bin/sh\n'
+ postrm += bb.data.getVar('update_alternatives_postrm', d, 1)
+ bb.data.setVar('pkg_postrm_%s' % pkg, postrm, d)
+}
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
new file mode 100644
index 0000000000..0bfba467c1
--- /dev/null
+++ b/meta/classes/update-rc.d.bbclass
@@ -0,0 +1,69 @@
+DEPENDS_append = " update-rc.d"
+RDEPENDS_append = " update-rc.d"
+
+INITSCRIPT_PARAMS ?= "defaults"
+
+INIT_D_DIR = "${sysconfdir}/init.d"
+
+updatercd_postinst() {
+if test "x$D" != "x"; then
+ D="-r $D"
+else
+ D="-s"
+fi
+update-rc.d $D ${INITSCRIPT_NAME} ${INITSCRIPT_PARAMS}
+}
+
+updatercd_prerm() {
+if test "x$D" != "x"; then
+ D="-r $D"
+else
+ ${INIT_D_DIR}/${INITSCRIPT_NAME} stop
+fi
+}
+
+updatercd_postrm() {
+update-rc.d $D ${INITSCRIPT_NAME} remove
+}
+
+python __anonymous() {
+ if bb.data.getVar('INITSCRIPT_PACKAGES', d) == None:
+ if bb.data.getVar('INITSCRIPT_NAME', d) == None:
+ raise bb.build.FuncFailed, "%s inherits update-rc.d but doesn't set INITSCRIPT_NAME" % bb.data.getVar('FILE', d)
+ if bb.data.getVar('INITSCRIPT_PARAMS', d) == None:
+ raise bb.build.FuncFailed, "%s inherits update-rc.d but doesn't set INITSCRIPT_PARAMS" % bb.data.getVar('FILE', d)
+}
+
+python populate_packages_prepend () {
+ def update_rcd_package(pkg):
+ bb.debug(1, 'adding update-rc.d calls to postinst/postrm for %s' % pkg)
+ localdata = bb.data.createCopy(d)
+ overrides = bb.data.getVar("OVERRIDES", localdata, 1)
+ bb.data.setVar("OVERRIDES", "%s:%s" % (pkg, overrides), localdata)
+ bb.data.update_data(localdata)
+
+ postinst = bb.data.getVar('pkg_postinst', localdata, 1)
+ if not postinst:
+ postinst = '#!/bin/sh\n'
+ postinst += bb.data.getVar('updatercd_postinst', localdata, 1)
+ bb.data.setVar('pkg_postinst_%s' % pkg, postinst, d)
+ prerm = bb.data.getVar('pkg_prerm', localdata, 1)
+ if not prerm:
+ prerm = '#!/bin/sh\n'
+ prerm += bb.data.getVar('updatercd_prerm', localdata, 1)
+ bb.data.setVar('pkg_prerm_%s' % pkg, prerm, d)
+ postrm = bb.data.getVar('pkg_postrm', localdata, 1)
+ if not postrm:
+ postrm = '#!/bin/sh\n'
+ postrm += bb.data.getVar('updatercd_postrm', localdata, 1)
+ bb.data.setVar('pkg_postrm_%s' % pkg, postrm, d)
+
+ pkgs = bb.data.getVar('INITSCRIPT_PACKAGES', d, 1)
+ if pkgs == None:
+ pkgs = bb.data.getVar('PN', d, 1)
+ packages = (bb.data.getVar('PACKAGES', d, 1) or "").split()
+ if not pkgs in packages and packages != []:
+ pkgs = packages[0]
+ for pkg in pkgs.split():
+ update_rcd_package(pkg)
+}
diff --git a/meta/classes/wrt-image.bbclass b/meta/classes/wrt-image.bbclass
new file mode 100644
index 0000000000..ba1163a719
--- /dev/null
+++ b/meta/classes/wrt-image.bbclass
@@ -0,0 +1,33 @@
+# we dont need the kernel in the image
+ROOTFS_POSTPROCESS_COMMAND += "rm -f ${IMAGE_ROOTFS}/boot/zImage*"
+
+def wrt_get_kernel_version(d):
+ import bb
+ if bb.data.inherits_class('image_ipk', d):
+ skd = bb.data.getVar('STAGING_KERNEL_DIR', d, 1)
+ return base_read_file(skd+'/kernel-abiversion')
+ return "-no kernel version for available-"
+
+wrt_create_images() {
+ I=${DEPLOY_DIR}/images
+ KERNEL_VERSION="${@wrt_get_kernel_version(d)}"
+
+ for type in ${IMAGE_FSTYPES}; do
+ # generic
+ trx -o ${I}/wrt-generic-${type}.trx ${I}/loader.gz \
+ ${I}/wrt-kernel-${KERNEL_VERSION}.lzma -a 0x10000 ${I}/${IMAGE_NAME}.rootfs.${type}
+
+ # WRT54GS
+ addpattern -2 -i ${I}/wrt-generic-${type}.trx -o ${I}/wrt54gs-${type}.trx -g
+
+ # WRT54G
+ sed "1s,^W54S,W54G," ${I}/wrt54gs-${type}.trx > ${I}/wrt54g-${type}.trx
+
+ # motorola
+ motorola-bin ${I}/wrt-generic-${type}.trx ${I}/motorola-${type}.bin
+ done;
+}
+
+IMAGE_POSTPROCESS_COMMAND += "wrt_create_images;"
+
+DEPENDS_prepend = "${@["wrt-imagetools-native ", ""][(bb.data.getVar('PACKAGES', d, 1) == '')]}" \ No newline at end of file
diff --git a/meta/classes/xfce.bbclass b/meta/classes/xfce.bbclass
new file mode 100644
index 0000000000..793348597f
--- /dev/null
+++ b/meta/classes/xfce.bbclass
@@ -0,0 +1,19 @@
+# xfce.oeclass
+# Copyright (C) 2004, Advanced Micro Devices, Inc. All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+
+# Global class to make it easier to maintain XFCE packages
+
+HOMEPAGE = "http://www.xfce.org"
+LICENSE = "LGPL-2"
+
+SRC_URI = "http://www.us.xfce.org/archive/xfce-${PV}/src/${PN}-${PV}.tar.gz"
+
+inherit autotools
+
+EXTRA_OECONF += "--with-pluginsdir=${libdir}/xfce4/panel-plugins/"
+
+# FIXME: Put icons in their own package too?
+
+FILES_${PN} += "${datadir}/icons/* ${datadir}/applications/* ${libdir}/xfce4/modules/*.so*"
+FILES_${PN}-doc += "${datadir}/xfce4/doc"
diff --git a/meta/classes/xlibs.bbclass b/meta/classes/xlibs.bbclass
new file mode 100644
index 0000000000..e797748770
--- /dev/null
+++ b/meta/classes/xlibs.bbclass
@@ -0,0 +1,15 @@
+LICENSE= "BSD-X"
+SECTION = "x11/libs"
+
+XLIBS_CVS = "${FREEDESKTOP_CVS}/xlibs"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR} \
+ mandir=${STAGING_DATADIR}/man
+}
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
new file mode 100644
index 0000000000..529405a3eb
--- /dev/null
+++ b/meta/conf/bitbake.conf
@@ -0,0 +1,414 @@
+##################################################################
+# Standard target filesystem paths.
+##################################################################
+
+# Path prefixes
+export base_prefix = ""
+export prefix = "/usr"
+export exec_prefix = "${prefix}"
+
+# Base paths
+export base_bindir = "${base_prefix}/bin"
+export base_sbindir = "${base_prefix}/sbin"
+export base_libdir = "${base_prefix}/lib"
+
+# Architecture independent paths
+export datadir = "${prefix}/share"
+export sysconfdir = "/etc"
+export sharedstatedir = "${prefix}/com"
+export localstatedir = "/var"
+export infodir = "${datadir}/info"
+export mandir = "${datadir}/man"
+export docdir = "${datadir}/doc"
+export servicedir = "/srv"
+
+# Architecture dependent paths
+export bindir = "${exec_prefix}/bin"
+export sbindir = "${exec_prefix}/sbin"
+export libexecdir = "${exec_prefix}/libexec"
+export libdir = "${exec_prefix}/lib"
+export includedir = "${exec_prefix}/include"
+export oldincludedir = "${exec_prefix}/include"
+
+##################################################################
+# Architecture-dependent build variables.
+##################################################################
+
+BUILD_ARCH = "${@os.uname()[4]}"
+BUILD_OS = "${@os.uname()[0].lower()}"
+BUILD_VENDOR = ""
+BUILD_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
+BUILD_PREFIX = ""
+BUILD_CC_ARCH = ""
+
+HOST_ARCH = "${TARGET_ARCH}"
+HOST_OS = "${TARGET_OS}"
+HOST_VENDOR = "${TARGET_VENDOR}"
+HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
+HOST_PREFIX = "${TARGET_PREFIX}"
+HOST_CC_ARCH = "${TARGET_CC_ARCH}"
+
+TARGET_ARCH = "INVALID"
+TARGET_OS = "INVALID"
+TARGET_VENDOR = "${BUILD_VENDOR}"
+TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
+TARGET_PREFIX = "${TARGET_SYS}-"
+TARGET_CC_ARCH = ""
+
+PACKAGE_ARCH = "${HOST_ARCH}"
+MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
+IPKG_ARCHS = "all any noarch ${TARGET_ARCH} ${IPKG_EXTRA_ARCHS} ${MACHINE}"
+
+##################################################################
+# Date/time variables.
+##################################################################
+
+DATE := "${@time.strftime('%Y%m%d',time.gmtime())}"
+TIME := "${@time.strftime('%H%M%S',time.gmtime())}"
+DATETIME = "${DATE}${TIME}"
+
+##################################################################
+# Openembedded Software Prerequisites.
+##################################################################
+
+# python-native should be here but python relies on building
+# its own in staging
+ASSUME_PROVIDED = "cvs-native svn-native bzip2-native diffstat-native patch-native python-native-runtime perl-native-runtime texinfo-native"
+
+##################################################################
+# Package default variables.
+##################################################################
+
+PN = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[0] or 'defaultpkgname'}"
+PV = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[1] or '1.0'}"
+PR = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or 'r0'}"
+PF = "${PN}-${PV}-${PR}"
+P = "${PN}-${PV}"
+
+# Package info.
+
+SECTION = "base"
+PRIORITY = "optional"
+DESCRIPTION = "Version ${PV}-${PR} of package ${PN}"
+LICENSE = "unknown"
+MAINTAINER = "OpenEmbedded Team <oe@handhelds.org>"
+HOMEPAGE = "unknown"
+
+# Package dependencies and provides.
+
+DEPENDS = ""
+RDEPENDS = ""
+PROVIDES = ""
+PROVIDES_prepend = "${P} ${PF} ${PN} "
+RPROVIDES = ""
+
+PACKAGES = "${PN} ${PN}-doc ${PN}-dev ${PN}-locale"
+FILES = ""
+FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* \
+ ${sysconfdir} ${sharedstatedir} ${localstatedir} \
+ /bin /sbin /lib/*.so* ${datadir}/${PN} ${libdir}/${PN} \
+ ${datadir}/pixmaps ${datadir}/applications \
+ ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
+ ${libdir}/bonobo/servers"
+SECTION_${PN}-doc = "doc"
+FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
+ ${datadir}/gnome/help"
+SECTION_${PN}-dev = "devel"
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
+ ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
+ /lib/*.a /lib/*.o ${datadir}/aclocal"
+FILES_${PN}-locale = "${datadir}/locale"
+
+# File manifest
+
+export MANIFEST = "${FILESDIR}/manifest"
+
+FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}"
+FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
+FILESDIR = "${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')}"
+
+##################################################################
+# General work and output directories for the build system.
+##################################################################
+
+TMPDIR = "${TOPDIR}/tmp"
+CACHE = "${TMPDIR}/cache"
+DL_DIR = "${TMPDIR}/downloads"
+CVSDIR = "${DL_DIR}/cvs"
+GITDIR = "${DL_DIR}/git"
+
+STAMP = "${TMPDIR}/stamps/${PF}"
+WORKDIR = "${TMPDIR}/work/${PF}"
+T = "${WORKDIR}/temp"
+D = "${WORKDIR}/image"
+S = "${WORKDIR}/${P}"
+B = "${S}"
+
+STAGING_DIR = "${TMPDIR}/staging"
+STAGING_BINDIR = "${STAGING_DIR}/${BUILD_SYS}/bin"
+STAGING_LIBDIR = "${STAGING_DIR}/${HOST_SYS}/lib"
+STAGING_INCDIR = "${STAGING_DIR}/${HOST_SYS}/include"
+STAGING_DATADIR = "${STAGING_DIR}/${HOST_SYS}/share"
+STAGING_LOADER_DIR = "${STAGING_DIR}/${HOST_SYS}/loader"
+
+DEPLOY_DIR = "${TMPDIR}/deploy"
+DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
+DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
+DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
+
+##################################################################
+# Kernel info.
+##################################################################
+
+OLDEST_KERNEL = "2.4.0"
+STAGING_KERNEL_DIR = "${STAGING_DIR}/${HOST_SYS}/kernel"
+
+##################################################################
+# Specific image creation and rootfs population info.
+##################################################################
+
+DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images"
+IMAGE_ROOTFS = "${TMPDIR}/rootfs"
+IMAGE_BASENAME = "rootfs"
+IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
+IMAGE_CMD = ""
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${EXTRA_IMAGECMD}"
+IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}"
+IMAGE_CMD_ext2 = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}"
+IMAGE_CMD_ext2.gz = "mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz"
+IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend"
+IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
+IMAGE_CMD_tar.gz = "cd ${IMAGE_ROOTFS} && tar -zcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.gz ."
+IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
+EXTRA_IMAGECMD = ""
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000"
+EXTRA_IMAGECMD_squashfs = "-le -b 16384"
+IMAGE_FSTYPE = "jffs2"
+IMAGE_FSTYPES = "${IMAGE_FSTYPE}"
+IMAGE_ROOTFS_SIZE_ext2 = "65536"
+IMAGE_ROOTFS_SIZE_ext2.gz = "65536"
+
+IMAGE_DEPENDS = ""
+IMAGE_DEPENDS_jffs2 = "mtd-utils-native"
+IMAGE_DEPENDS_cramfs = "cramfs-native"
+IMAGE_DEPENDS_ext2 = "genext2fs-native"
+IMAGE_DEPENDS_ext2.gz = "genext2fs-native"
+IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
+EXTRA_IMAGEDEPENDS = ""
+
+##################################################################
+# Toolchain info.
+##################################################################
+
+CROSS_DIR = "${TMPDIR}/cross"
+CROSS_DATADIR = "${CROSS_DIR}/share"
+export PATH_prepend = "${STAGING_BINDIR}/${HOST_SYS}:${STAGING_BINDIR}:${CROSS_DIR}/bin:"
+
+##################################################################
+# Build utility info.
+##################################################################
+
+CCACHE = "${@bb.which(bb.data.getVar('PATH', d), 'ccache') and 'ccache '}"
+
+export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}"
+export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}"
+export CPP = "${HOST_PREFIX}gcc -E"
+export LD = "${HOST_PREFIX}ld"
+export CCLD = "${CC}"
+export AR = "${HOST_PREFIX}ar"
+export AS = "${HOST_PREFIX}as"
+export RANLIB = "${HOST_PREFIX}ranlib"
+export STRIP = "${HOST_PREFIX}strip"
+
+export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
+export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
+export BUILD_F77 = "${CCACHE}${BUILD_PREFIX}g77 ${BUILD_CC_ARCH}"
+export BUILD_CPP = "${BUILD_PREFIX}cpp"
+export BUILD_LD = "${BUILD_PREFIX}ld"
+export BUILD_CCLD = "${BUILD_PREFIX}gcc"
+export BUILD_AR = "${BUILD_PREFIX}ar"
+export BUILD_RANLIB = "${BUILD_PREFIX}ranlib"
+export BUILD_STRIP = "${BUILD_PREFIX}strip"
+
+export MAKE = "make"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+##################################################################
+# Build flags and options.
+##################################################################
+
+export BUILD_CPPFLAGS = "-isystem${STAGING_DIR}/${BUILD_SYS}/include"
+export CPPFLAGS = "${TARGET_CPPFLAGS}"
+export TARGET_CPPFLAGS = "-isystem${STAGING_DIR}/${TARGET_SYS}/include"
+
+export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
+export CFLAGS = "${TARGET_CFLAGS}"
+export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
+
+export BUILD_CXXFLAGS = "${BUILD_CFLAGS} -fpermissive"
+export CXXFLAGS = "${TARGET_CXXFLAGS}"
+export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive"
+
+export BUILD_LDFLAGS = "-L${STAGING_DIR}/${BUILD_SYS}/lib \
+ -Wl,-rpath-link,${STAGING_DIR}/${BUILD_SYS}/lib \
+ -Wl,-rpath,${STAGING_DIR}/${BUILD_SYS}/lib -Wl,-O1"
+export LDFLAGS = "${TARGET_LDFLAGS}"
+export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
+ -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib \
+ -Wl,-O1"
+
+# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
+ALLOWED_FLAGS = "-O -mcpu -march -pipe"
+
+# Pass parallel make options to the compile task only
+EXTRA_OEMAKE_prepend_task_do_compile = "${PARALLEL_MAKE} "
+
+##################################################################
+# Optimization flags.
+##################################################################
+
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+DEBUG_OPTIMIZATION = "-O -g"
+SELECTED_OPTIMIZATION = "${@bb.data.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][bb.data.getVar('DEBUG_BUILD', d, 1) == '1'], d, 1)}"
+BUILD_OPTIMIZATION = "-O2"
+
+##################################################################
+# Bootstrap stuff.
+##################################################################
+
+BOOTSTRAP_EXTRA_RDEPENDS = ""
+BOOTSTRAP_EXTRA_RRECOMMENDS = ""
+
+##################################################################
+# Palmtop stuff.
+##################################################################
+
+export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt2"
+export QPEDIR = "${STAGING_DIR}/${HOST_SYS}"
+export OPIEDIR = "${STAGING_DIR}/${HOST_SYS}"
+export palmtopdir = "/opt/QtPalmtop"
+export palmqtdir = "/opt/QtPalmtop"
+
+##################################################################
+# Download locations and utilities.
+##################################################################
+
+GNU_MIRROR = "ftp://ftp.gnu.org/gnu"
+DEBIAN_MIRROR = "ftp://ftp.debian.org/debian/pool"
+SOURCEFORGE_MIRROR = "http://heanet.dl.sourceforge.net/sourceforge"
+GPE_MIRROR = "http://handhelds.org/pub/projects/gpe/source"
+XLIBS_MIRROR = "http://xlibs.freedesktop.org/release"
+XORG_MIRROR = "http://xorg.freedesktop.org/releases"
+GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
+FREEBSD_MIRROR = "ftp://ftp.freebsd.org/pub/FreeBSD/"
+HANDHELDS_CVS = "cvs://anoncvs:anoncvs@anoncvs.handhelds.org/cvs"
+E_CVS = "cvs://anonymous@anoncvs.enlightenment.org/var/cvs/e"
+E_URI = "http://enlightenment.freedesktop.org/files"
+FREEDESKTOP_CVS = "cvs://anoncvs:anoncvs@anoncvs.freedesktop.org/cvs"
+GENTOO_MIRROR = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles"
+APACHE_MIRROR = "http://www.apache.org/dist"
+
+# You can use the mirror of your country to get faster downloads by putting
+# export DEBIAN_MIRROR = "ftp://ftp.de.debian.org/debian/pool"
+# export SOURCEFORGE_MIRROR = "http://belnet.dl.sourceforge.net/sourceforge"
+# into your local.conf
+
+FETCHCOMMAND = "ERROR, this must be a BitBake bug"
+FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
+FETCHCOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} co ${CVSCOOPTS} ${CVSMODULE}"
+RESUMECOMMAND = "ERROR, this must be a BitBake bug"
+RESUMECOMMAND_wget = "/usr/bin/env wget -c -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
+UPDATECOMMAND = "ERROR, this must be a BitBake bug"
+UPDATECOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} update -d -P ${CVSCOOPTS}"
+SRCDATE = "${DATE}"
+
+SRC_URI = "file://${FILE}"
+
+##################################################################
+# Miscellaneous utilities.
+##################################################################
+
+MKTEMPDIRCMD = "mktemp -d -q ${TMPBASE}"
+MKTEMPCMD = "mktemp -q ${TMPBASE}"
+
+# Program to be used to patch sources, use 'inherit patcher' to overwrite this:
+
+PATCHCLEANCMD = 'if [ -n "`quilt applied`" ]; then quilt pop -a -R -f || exit 1; fi'
+PATCHCMD = "pnum='%s'; name='%s'; patch='%s'; mkdir -p patches ; quilt upgrade >/dev/null 2>&1; quilt import -f -p $pnum -n $name $patch; chmod u+w patches/$name; quilt push"
+PATCH_DEPENDS = "quilt-native"
+
+# GNU patch tries to be intellgent about checking out read-only files from
+# a RCS, which freaks out those special folks with active Perforce clients
+# the following makes patch ignore RCS:
+
+export PATCH_GET=0
+
+# Program to be used to build ipkg packages
+
+IPKGBUILDCMD = "ipkg-build -o 0 -g 0"
+
+##################################################################
+# Not sure about the rest of this yet.
+##################################################################
+
+# slot - currently unused by OE. portage remnants
+SLOT = "0"
+
+# Other
+
+export PKG_CONFIG_PATH = "${STAGING_DATADIR}/pkgconfig"
+export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
+
+export QMAKE_MKSPEC_PATH = "${STAGING_DIR}/${BUILD_SYS}/share/qmake"
+export STAGING_SIPDIR = "${STAGING_DIR}/${BUILD_SYS}/share/sip"
+export STAGING_IDLDIR = "${STAGING_DATADIR}/idl"
+
+# default test results for autoconf
+# possible candidate for moving into autotools.oeclass -CL
+export CONFIG_SITE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'site/%s-%s' % (bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('HOST_OS', d, 1)))}"
+
+# library package naming
+AUTO_LIBNAME_PKGS = "${PACKAGES}"
+
+###
+### Config file processing
+###
+
+# This means that an envionment variable named '<foo>_arm' overrides an
+# environment variable '<foo>' (when ${TARGET_ARCH} is arm). And the same: an
+# environment variable '<foo>_ramses' overrides both '<foo>' and '<foo>_arm
+# when ${MACHINE} is 'ramses'. And finally '<foo>_local' overrides anything.
+#
+# This works for functions as well, they are really just environment variables.
+#OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}"
+# Alternative OVERRIDES to make compilation fail fast, we will enable it by default soon
+OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast:pn-${PN}"
+
+##################################################################
+# Include the rest of the config files.
+##################################################################
+
+include conf/site.conf
+include conf/auto.conf
+include conf/local.conf
+include conf/build/${BUILD_SYS}.conf
+include conf/target/${TARGET_SYS}.conf
+include conf/machine/${MACHINE}.conf
+include conf/distro/${DISTRO}.conf
+include conf/documentation.conf
+require conf/sanity.conf
+
+##################################################################
+# Weak variables (usually to retain backwards compatibility)
+##################################################################
+
+PCMCIA_MANAGER ?= "pcmcia-cs"
+
+
+##################################################################
+# Magic Cookie for SANITY CHECK
+##################################################################
+OES_BITBAKE_CONF = "1"
diff --git a/meta/conf/distro/angstrom-2006.9.conf b/meta/conf/distro/angstrom-2006.9.conf
new file mode 100644
index 0000000000..5c1ed1296d
--- /dev/null
+++ b/meta/conf/distro/angstrom-2006.9.conf
@@ -0,0 +1,126 @@
+#@--------------------------------------------------------------------
+#@TYPE: Distribution
+#@NAME: Angstrom <http://www.angstrom-distribution.org>
+#@DESCRIPTION: The Linux Distribution for Kernel 2.6 based devices
+#@MAINTAINER: Koen Kooi <koen@dominion.kabel.utwente.nl>
+#@MAINTAINER: Michael 'Mickey' Lauer <mickey@Vanille.de>
+#@--------------------------------------------------------------------
+
+#DISTRO_VERSION = "2006.9"
+DISTRO_VERSION = "test-${DATE}"
+
+include conf/distro/angstrom.conf
+
+DISTRO_TYPE = "debug"
+#DISTRO_TYPE = "release"
+#!!!!! DON'T FORGET TO ENABLE ZAPROOTPASSWD !!!!!
+
+
+FEED_URIS += " \
+ base##${ANGSTROM_URI}/unstable/feed/base/"
+# base##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/base \
+# ${MACHINE}##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/${MACHINE} \
+# updates##${ANGSTROM_URI}/releases/${DISTRO_VERSION}/feed/updates"
+
+SRCDATE = "20060518"
+#SRCDATE_handhelds-pxa-2.6 = "20060516"
+
+CVS_TARBALL_STASH = "\
+http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/ \
+http://www.oesources.org/source/current/"
+
+# Opie
+#use 1337 mt version of opie to have a webbrowser
+PALMTOP_USE_MULTITHREADED_QT = "yes"
+QTE_VERSION = "2.3.10"
+OPIE_VERSION = "1.2.2"
+include conf/distro/preferred-opie-versions.inc
+
+# GPE
+include conf/distro/preferred-gpe-versions-2.8.inc
+
+#zap extra stuff taking place in $MACHINE.conf
+GPE_EXTRA_INSTALL = ""
+
+# E
+include conf/distro/preferred-e-versions.inc
+
+PREFERRED_PROVIDERS += "virtual/xserver:xserver-kdrive"
+PREFERRED_PROVIDERS += "virtual/gconf:gconf-dbus"
+PREFERRED_PROVIDER_libx11 = "diet-x11"
+
+
+#Make sure we use 2.6 on machines with a 2.4/2.6 selector
+KERNEL = "kernel26"
+ZKERNEL_VERSION = "2.6"
+
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"
+
+PREFERRED_PROVIDER_virtual/libiconv = "glibc"
+PREFERRED_PROVIDER_virtual/libintl = "glibc"
+
+#EABI stuff
+PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
+
+
+#use EABI toolchain
+PREFERRED_VERSION_gcc ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross ?= "4.1.1"
+PREFERRED_VERSION_gcc-cross-initial ?= "4.1.1"
+PREFERRED_VERSION_binutils ?= "2.16.91.0.7"
+PREFERRED_VERSION_binutils-cross ?= "2.16.91.0.7"
+PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99"
+PREFERRED_VERSION_glibc ?= "2.4"
+PREFERRED_VERSION_glibc-intermediate ?= "2.4"
+
+# To use an EABI compatible version 3 series gcc, either uncomment
+# the lines below or set them in local.conf:
+#
+# PREFERRED_VERSION_gcc-cross = "3.4.4+csl-arm-2005q3"
+# PREFERRED_VERSION_gcc-cross-initial = "3.4.4+csl-arm-2005q3"
+
+
+PREFERRED_VERSION_orinoco-modules_h3600 = "0.13e"
+PREFERRED_VERSION_orinoco-modules_h3900 = "0.13e"
+PREFERRED_VERSION_dbus ?= "0.61"
+PREFERRED_VERSION_gstreamer ?= "0.10.6"
+
+PREFERRED_PROVIDER_hostap-conf ?= "hostap-conf"
+PREFERRED_PROVIDER_hostap-modules_h2200 ?= "hostap-modules"
+PREFERRED_PROVIDER_hostap-modules_hx4700 ?= "hostap-modules"
+PREFERRED_VERSION_hostap-modules ?= "0.4.7"
+
+#Down here we put stuff we want to install into machines without polluting conf/machine/ with distro stuff
+# c7x0, akita, spitz, nokia770, h2200, h6300, ipaq-pxa270, simpad
+
+#### Bootstrap options ####
+
+PCMCIA_MANAGER_c7x0 = "pcmciautils"
+PCMCIA_MANAGER_akita = "pcmciautils"
+PCMCIA_MANAGER_spitz = "pcmciautils"
+PCMCIA_MANAGER_nokia770 = "pcmciautils"
+PCMCIA_MANAGER_h2200 = "pcmciautils"
+PCMCIA_MANAGER_h6300 = "pcmciautils"
+PCMCIA_MANAGER_ipaq-pxa270 = "pcmciautils"
+
+
+
+#### GPE section ###
+
+#Install libgtkinput in devices without a keyboard
+GPE_EXTRA_INSTALL_append_ipaq-pxa270 = " libgtkinput"
+GPE_EXTRA_INSTALL_append_h2200 = " libgtkinput"
+GPE_EXTRA_INSTALL_append_h6300 = " libgtkinput"
+GPE_EXTRA_INSTALL_append_simpad = " libgtkinput"
+GPE_EXTRA_INSTALL_append_nokia770 = " libgtkinput"
+
+#As soon as a kill switch is in place we can add it to devices with a keyboard
+#GPE_EXTRA_INSTALL_append_c7x0 = " libgtkinput"
+#GPE_EXTRA_INSTALL_append_tosa = " libgtkinput"
+#GPE_EXTRA_INSTALL_append_akita = " libgtkinput"
+#GPE_EXTRA_INSTALL_append_spitz = " libgtkinput"
+
+
diff --git a/meta/conf/distro/angstrom.conf b/meta/conf/distro/angstrom.conf
new file mode 100644
index 0000000000..100017410d
--- /dev/null
+++ b/meta/conf/distro/angstrom.conf
@@ -0,0 +1,45 @@
+#@TYPE: Distribution
+#@NAME: Angstrom
+#@DESCRIPTION: Distribution configuration for Angstrom
+
+DISTRO = "angstrom"
+DISTRO_NAME = "Angstrom"
+
+#Use this variable in feeds and other parts that need a URI
+ANGSTROM_URI = "http://www.angstrom-distribution.org/"
+
+#Set the default maintainer to angstrom-dev
+MAINTAINER = "Angstrom Developers <angstrom-dev@handhelds.org>"
+
+#use ipkg package format with debian style naming
+#use multimachine buildrules
+INHERIT += "package_ipk debian multimachine"
+
+#Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable
+PREFERRED_PROVIDER_qemu-native = "qemu-qop-nogfx-native"
+ENABLE_BINARY_LOCALE_GENERATION ?= ""
+
+
+#Use the ARM EABI when building for an ARM cpu. We can't use overrides
+#here because this breaks all places where ":=" is used.
+TARGET_VENDOR = "${@['','-angstrom'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
+TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
+
+#mess with compiler flags to use -Os instead of -O2
+#Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os"
+BUILD_OPTIMIZATION = "-Os"
+
+#ARM EABI is softfloat by default, but let's make sure :)
+TARGET_FPU_arm = "soft"
+
+#Always ship these packages
+BOOTSTRAP_EXTRA_DEPENDS += "angstrom-version coreutils dropbear sysvinit"
+BOOTSTRAP_EXTRA_RDEPENDS += "angstrom-version coreutils dropbear sysvinit"
+
+#Name the generated images in a sane way
+IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${DISTRO_VERSION}-${MACHINE}"
+DEPLOY_DIR_IMAGE = ${DEPLOY_DIR}/images/${MACHINE}
+
+# Angstrom *always* has some form of release config, so error out if someone thinks he knows better
+DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}"
diff --git a/meta/conf/distro/familiar-unstable.conf b/meta/conf/distro/familiar-unstable.conf
new file mode 100644
index 0000000000..e42456672c
--- /dev/null
+++ b/meta/conf/distro/familiar-unstable.conf
@@ -0,0 +1,77 @@
+DISTRO = "familiar"
+DISTRO_NAME = "Familiar Linux"
+DISTRO_VERSION = "unstable-${DATE}"
+# Do not touch this file before notifying familiar-dev@handhelds.org
+
+include conf/distro/familiar.conf
+
+DISTRO_TYPE = "debug"
+#DISTRO_TYPE = "release"
+#!!!!! DON'T FORGET TO ENABLE ZAPROOTPASSWD !!!!!
+
+
+FEED_URIS += " \
+ base##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/base \
+ ${MACHINE}##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/machine/${MACHINE} \
+ updates##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/updates \
+ locale-en##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/locale/en \
+ locale-fr##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/locale/fr \
+ locale-de##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/locale/de"
+
+#SRCDATE = 20050331
+#SRCDATE = "now"
+
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"
+
+PREFERRED_PROVIDER_virtual/libiconv=glibc
+PREFERRED_PROVIDER_virtual/libintl=glibc
+
+PREFERRED_VERSION_hostap-modules ?= "0.3.9"
+
+#2.4 machines prefer 0.13e ones
+PREFERRED_VERSION_orinoco-modules ?= "0.13e"
+
+#but 0.13e doesn't build against 2.6
+PREFERRED_VERSION_orinoco-modules_h2200 ?= "0.15"
+PREFERRED_VERSION_orinoco-modules_ipaq-pxa270 ?= "0.15"
+
+
+# The CSL compiler is unusable because
+# 1) certain programs stop to compile
+# 2) more programs segfault
+PREFERRED_VERSION_gcc ?= "3.4.4"
+PREFERRED_VERSION_gcc-cross ?= "3.4.4"
+PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4"
+
+#
+# PIN the familiar build to a version
+#
+PREFERRED_VERSION_binutils-cross ?= "2.15.94.0.1"
+PREFERRED_VERSION_binutils ?= "2.15.94.0.1"
+
+#
+# Opie
+#
+
+OPIE_VERSION = "1.2.2"
+QTE_VERSION = "2.3.10"
+PALMTOP_USE_MULTITHREADED_QT = "yes"
+include conf/distro/preferred-opie-versions.inc
+
+#
+# GPE
+#
+
+PREFERRED_PROVIDERS += "virtual/xserver:xserver-kdrive"
+PREFERRED_PROVIDERS += "virtual/gconf:gconf-dbus"
+PREFERRED_PROVIDER_libx11 = "diet-x11"
+
+include conf/distro/preferred-gpe-versions-2.8.inc
+
+#
+# E
+#
+include conf/distro/preferred-e-versions.inc
+
diff --git a/meta/conf/distro/familiar.conf b/meta/conf/distro/familiar.conf
new file mode 100644
index 0000000000..2646fe78a6
--- /dev/null
+++ b/meta/conf/distro/familiar.conf
@@ -0,0 +1,17 @@
+#@TYPE: Distribution
+#@NAME: Familiar Linux
+#@DESCRIPTION: Distribution configuration for Familiar Linux (handhelds.org)
+
+MAINTAINER ?= "Familiar Developers <familiar-dev@handhelds.org>"
+
+INHERIT += "package_ipk debian multimachine"
+TARGET_OS = "linux"
+
+BOOTSTRAP_EXTRA_RDEPENDS += "familiar-version"
+IMAGE_NAME = "${IMAGE_BASENAME}-${DISTRO_VERSION}-${MACHINE}"
+
+ENABLE_BINARY_LOCALE_GENERATION ?= "1"
+PARALLEL_INSTALL_MODULES = "1"
+UDEV_DEVFS_RULES = "1"
+
+DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}"
diff --git a/meta/conf/distro/maemo-1.0.conf b/meta/conf/distro/maemo-1.0.conf
new file mode 100644
index 0000000000..d30ecc9084
--- /dev/null
+++ b/meta/conf/distro/maemo-1.0.conf
@@ -0,0 +1,40 @@
+include conf/distro/familiar.conf
+
+DISTRO = "maemo"
+DISTRO_NAME = "Maemo Linux"
+DISTRO_VERSION = "v1.0b-${DATE}"
+
+DISTRO_TYPE = "debug"
+#DISTRO_TYPE = "release"
+
+FEED_URIS += " \
+ base##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/base \
+ updates##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/updates"
+
+#SRCDATE = 20050331
+
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}g++:gcc-cross"
+
+#PREFERRED_VERSION_binutils-cross = "2.15.91.0.2"
+#PREFERRED_VERSION_gcc-cross = "3.4.4"
+#PREFERRED_VERSION_gcc-cross-initial = "3.4.4
+#PREFERRED_VERSION_libtool-native = "1.5.6"
+#PREFERRED_VERSION_libtool-cross= "1.5.6"
+
+#
+# GPE
+#
+
+PREFERRED_PROVIDERS += "virtual/xserver:xserver-kdrive"
+PREFERRED_PROVIDERS += "virtual/gconf:gconf-dbus"
+PREFERRED_PROVIDER_libx11 = "diet-x11"
+
+include conf/distro/preferred-gpe-versions.inc
+
+#
+# Maemo
+#
+
+include conf/distro/maemo-preferred.inc
diff --git a/meta/conf/distro/maemo-preferred.inc b/meta/conf/distro/maemo-preferred.inc
new file mode 100644
index 0000000000..943f244326
--- /dev/null
+++ b/meta/conf/distro/maemo-preferred.inc
@@ -0,0 +1,10 @@
+PREFERRED_PROVIDER_gconf = "gconf-osso"
+PREFERRED_PROVIDER_tslib = "tslib-maemo"
+PREFERRED_VERSION_dbus = "0.23.1-osso5"
+PREFERRED_VERSION_audiofile = "0.2.6-3osso4"
+PREFERRED_PROVIDER_esd = "osso-esd"
+PREFERRED_VERSION_gtk+ = "2.6.4-1.osso7"
+PREFERRED_VERSION_glib-2.0 = "2.6.4"
+PREFERRED_VERSION_pango = "1.8.1"
+PREFERRED_VERSION_atk = "1.9.0"
+PREFERRED_VERSION_diet-x11 ?= "6.2.1" \ No newline at end of file
diff --git a/meta/conf/distro/openzaurus-unstable.conf b/meta/conf/distro/openzaurus-unstable.conf
new file mode 100644
index 0000000000..9f79c32118
--- /dev/null
+++ b/meta/conf/distro/openzaurus-unstable.conf
@@ -0,0 +1,71 @@
+#@--------------------------------------------------------------------
+#@TYPE: Distribution
+#@NAME: OpenZaurus <http://www.openzaurus.org>
+#@DESCRIPTION: A Linux Distribution for the Sharp Zaurus family
+#@--------------------------------------------------------------------
+
+DISTRO_VERSION = ".dev-snapshot-${DATE}"
+
+CVS_TARBALL_STASH = "\
+http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4/sources/ \
+http://www.oesources.org/source/current/"
+
+
+include conf/distro/openzaurus.conf
+
+DISTRO_TYPE = "debug"
+# DISTRO_TYPE = "release"
+
+#FEED_URIS += " \
+# upgrades##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/upgrades/ \
+#upgrades-${MACHINE}##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/upgrades/${MACHINE} \
+# machine##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/machine/${MACHINE} \
+# base##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/base/ \
+# libs##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/libs/ \
+# console##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/console \
+# devel##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/devel"
+
+SRCDATE = "20060514"
+#
+# Zaurus
+#
+
+ASSUME_PROVIDED += "virtual/arm-linux-gcc-2.95"
+PREFERRED_PROVIDER_hostap-conf = "hostap-conf"
+
+KERNEL_CONSOLE = "ttyS0"
+#DEBUG_OPTIMIZATION = "-O -g3"
+#DEBUG_BUILD = "1"
+#INHIBIT_PACKAGE_STRIP = "1"
+
+# fix some iconv issues, needs to be adjusted when doing uclibc builds
+PREFERRED_PROVIDER_virtual/libiconv = "glibc"
+PREFERRED_PROVIDER_virtual/libintl = "glibc"
+
+#
+# Base
+#
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
+
+#
+# Opie
+#
+#QTE_VERSION = "2.3.10"
+#OPIE_VERSION = "1.2.2"
+#PALMTOP_USE_MULTITHREADED_QT = "yes"
+include conf/distro/preferred-opie-versions.inc
+
+#
+# GPE
+#
+PREFERRED_PROVIDERS += "virtual/xserver:xserver-kdrive"
+PREFERRED_PROVIDER_libx11 = "diet-x11"
+include conf/distro/preferred-gpe-versions-2.8.inc
+
+#
+# E
+#
+include conf/distro/preferred-e-versions.inc
+
diff --git a/meta/conf/distro/openzaurus.conf b/meta/conf/distro/openzaurus.conf
new file mode 100644
index 0000000000..b7f456320f
--- /dev/null
+++ b/meta/conf/distro/openzaurus.conf
@@ -0,0 +1,18 @@
+#@TYPE: Distribution
+#@NAME: OpenZaurus
+#@DESCRIPTION: Distribution configuration for OpenZaurus (http://www.openzaurus.org)
+
+DISTRO = "openzaurus"
+DISTRO_NAME = "OpenZaurus"
+
+INHERIT += " package_ipk debian multimachine"
+# For some reason, this doesn't work
+# TARGET_OS ?= "linux"
+TARGET_OS = "linux"
+TARGET_FPU = "soft"
+
+BOOTSTRAP_EXTRA_RDEPENDS += "openzaurus-version"
+
+PARALLEL_INSTALL_MODULES = "1"
+
+DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}"
diff --git a/meta/conf/distro/poky-eabi.conf b/meta/conf/distro/poky-eabi.conf
new file mode 100644
index 0000000000..d35ec8e441
--- /dev/null
+++ b/meta/conf/distro/poky-eabi.conf
@@ -0,0 +1,23 @@
+#
+# Poky configuration to use EABI
+#
+
+PREFERRED_PROVIDER_virtual/arm-poky-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
+
+PREFERRED_VERSION_gcc ?= "3.4.4+csl-arm-2005q3"
+PREFERRED_VERSION_gcc-cross ?= "3.4.4+csl-arm-2005q3"
+PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4+csl-arm-2005q3"
+#PREFERRED_VERSION_gcc ?= "4.1.0"
+#PREFERRED_VERSION_gcc-cross ?= "4.1.0"
+#PREFERRED_VERSION_gcc-cross-initial ?= "4.1.0"
+PREFERRED_VERSION_binutils ?= "2.16.91.0.7"
+PREFERRED_VERSION_binutils-cross ?= "2.16.91.0.7"
+PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99"
+PREFERRED_VERSION_glibc ?= "2.4"
+PREFERRED_VERSION_glibc-intermediate ?= "2.4"
+
+#Use the ARM EABI when building for an ARM cpu. We can't use overrides
+#here because this breaks all places where ":=" is used.
+TARGET_VENDOR = "${@['','-poky'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
+TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}" \ No newline at end of file
diff --git a/meta/conf/distro/poky-oabi.conf b/meta/conf/distro/poky-oabi.conf
new file mode 100644
index 0000000000..71d6092011
--- /dev/null
+++ b/meta/conf/distro/poky-oabi.conf
@@ -0,0 +1,11 @@
+#
+# Poky configuration to use its Original ABI
+#
+PREFERRED_VERSION_binutils ?= "2.16"
+PREFERRED_VERSION_binutils-cross ?= "2.15.94.0.1"
+PREFERRED_VERSION_gcc ?= "3.4.4"
+PREFERRED_VERSION_gcc-cross ?= "3.4.4"
+PREFERRED_VERSION_gcc-cross-initial ?= "3.4.4"
+PREFERRED_VERSION_linux-libc-headers ?= "2.6.11.1"
+PREFERRED_VERSION_glibc ?= "2.3.5+cvs20050627"
+PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc" \ No newline at end of file
diff --git a/meta/conf/distro/poky.conf b/meta/conf/distro/poky.conf
new file mode 100644
index 0000000000..b30bfda0ac
--- /dev/null
+++ b/meta/conf/distro/poky.conf
@@ -0,0 +1,176 @@
+#@TYPE: Distribution#@NAME: Poky
+#@DESCRIPTION: Distribution configuration for OpenedHand (Poky)
+
+DISTRO = "poky"
+DISTRO_NAME = "OpenedHand Linux (Poky)"
+DISTRO_VERSION = "0.0-snapshot-${DATE}"
+
+# DISTRO_VERSION = "3.5.4"
+DISTRO_TYPE = "debug"
+# DISTRO_TYPE = "release"
+
+
+INHERIT += " package_ipk debian multimachine poky "
+# For some reason, this doesn't work
+# TARGET_OS ?= "linux"
+TARGET_OS = "linux"
+TARGET_FPU ?= "soft"
+IMAGE_ROOTFS_SIZE_ext2 = 131072
+
+PARALLEL_INSTALL_MODULES = "1"
+
+#FEED_URIS += " \
+# upgrades##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/upgrades/ \
+#upgrades-${MACHINE}##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/upgrades/${MACHINE} \
+# machine##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/machine/${MACHINE} \
+# base##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/base/ \
+# libs##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/libs/ \
+# console##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/console \
+# devel##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/devel"
+
+ASSUME_PROVIDED += "virtual/arm-linux-gcc-2.95"
+OEINCLUDELOGS = "yes"
+KERNEL_CONSOLE = "ttyS0"
+#DEBUG_OPTIMIZATION = "-O -g3"
+#DEBUG_BUILD = "1"
+#INHIBIT_PACKAGE_STRIP = "1"
+
+POKYMODE ?= "oabi"
+
+include conf/distro/poky-${POKYMODE}.conf
+
+#
+# Preferred providers:
+#
+# Toolchain:
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
+
+# Libc/uclibc:
+#fix some iconv issues, needs to be adjusted when doing uclibc builds
+PREFERRED_PROVIDER_virtual/libiconv ?= glibc
+PREFERRED_PROVIDER_virtual/libintl ?= glibc
+
+# Virtuals:
+PREFERRED_PROVIDER_virtual/db ?= "db"
+PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
+PREFERRED_PROVIDER_virtual/xserver ?= xserver-kdrive
+
+# Others:
+PREFERRED_PROVIDER_libx11 ?= "diet-x11"
+PREFERRED_PROVIDER_gconf ?= gconf-dbus
+PREFERRED_PROVIDER_gnome-vfs ?= gnome-vfs-dbus
+PREFERRED_PROVIDER_tslib ?= tslib
+
+
+#
+# CVS Dates to use:
+#
+#SRCDATE_gnome-vfs-dbus ?= "20051215"
+SRCDATE_gconf-dbus ?= "20060119"
+SRCDATE_gnome-vfs-dbus ?= "20060119"
+SRCDATE_contacts ?= "20060707"
+SRCDATE_dates ?= "20060721"
+SRCDATE_gtkhtml2 ?= "20060323"
+SRCDATE_web ?= "20060613"
+SRCDATE_eds-dbus ?= "20060707"
+SRCDATE_minimo ?= "20050401"
+SRCDATE_ipkg-utils-native ?= "20050930"
+SRCDATE_ipkg-link-1 ?= "20050930"
+SRCDATE_ipkg-utils ?= "20050930"
+SRCDATE_ipkg-link ?= "20050930"
+SRCDATE_matchbox-common ?= "20060612"
+SRCDATE_matchbox-config-gtk ?= "20060612"
+SRCDATE_matchbox-desktop ?= "20060612"
+SRCDATE_matchbox-keyboard ?= "20060612"
+SRCDATE_matchbox-panel ?= "20060612"
+SRCDATE_matchbox-panel-manager ?= "20060612"
+SRCDATE_matchbox-stroke ?= "20060612"
+SRCDATE_matchbox-themes-extra ?= "20060612"
+SRCDATE_matchbox-wm ?= "20060612"
+SRCDATE_libmatchbox ?= "20060612"
+SRCDATE_tslib ?= "20051101"
+SRCDATE_libxext ?= "20051101"
+SRCDATE_renderext ?= "20051101"
+SRCDATE_libxrender ?= "20051101"
+SRCDATE_fixesext ?= "20051101"
+SRCDATE_damageext ?= "20051101"
+SRCDATE_compositeext ?= "20051101"
+SRCDATE_xcalibrateext ?= "20051101"
+SRCDATE_recordext ?= "20051101"
+SRCDATE_libfakekey ?= "20051101"
+SRCDATE_xmodmap ?= "20051101"
+SRCDATE_libxrandr ?= "20051101"
+SRCDATE_libxtst ?= "20051101"
+SRCDATE_xcalibrate ?= "20051101"
+SRCDATE_libxmu ?= "20051115"
+SRCDATE_xdpyinfo ?= "20051115"
+SRCDATE_xauth ?= "20060120"
+SRCDATE_xserver-kdrive = "20050207"
+SRCDATE_qemu-native ?= "20060526"
+SRCDATE_oprofile ?= "20060214"
+SRCDATE_zaurusd ?= "20060628"
+
+#
+# Preferred Versions:
+#
+PREFERRED_VERSION_matchbox ?= "0.9.1"
+PREFERRED_VERSION_matchbox-applet-inputmanager ?= "0.6"
+PREFERRED_VERSION_matchbox-applet-startup-monitor ?= "0.1"
+PREFERRED_VERSION_matchbox-common ?= "0.9.1+svn${SRCDATE}"
+PREFERRED_VERSION_matchbox-config-gtk ?= "0.0+svn${SRCDATE}"
+PREFERRED_VERSION_matchbox-desktop ?= "0.9.1+svn${SRCDATE}"
+PREFERRED_VERSION_matchbox-keyboard ?= "0.0+svn${SRCDATE}"
+PREFERRED_VERSION_matchbox-panel ?= "0.9.2+svn${SRCDATE}"
+PREFERRED_VERSION_matchbox-stroke ?= "0.0+svn${SRCDATE}"
+PREFERRED_VERSION_matchbox-themes-extra ?= "0.3+svn${SRCDATE}"
+PREFERRED_VERSION_matchbox-wm ?= "0.9.5+svn${SRCDATE}"
+PREFERRED_VERSION_libmatchbox ?= "1.7+svn${SRCDATE}"
+PREFERRED_VERSION_xserver-kdrive = "0.0+cvs${SRCDATE}"
+
+PREFERRED_VERSION_glib-2.0 ?= "2.10.3"
+PREFERRED_VERSION_glib-2.0-native ?= "2.10.3"
+PREFERRED_VERSION_atk ?= "1.10.1"
+PREFERRED_VERSION_cairo = "1.0.4"
+PREFERRED_VERSION_gtk+ ?= "2.6.8"
+#PREFERRED_VERSION_gtk+ ?= "2.8.16"
+PREFERRED_VERSION_pango ?= "1.10.0"
+
+PREFERRED_VERSION_dbus ?= "0.60"
+PREFERRED_VERSION_gnome-vfs-dbus ?= "2.12.0+cvs${SRCDATE}"
+
+PREFERRED_VERSION_diet-x11 ?= "6.2.1"
+PREFERRED_VERSION_dillo2 ?= "0.6.6"
+PREFERRED_VERSION_evince ?= "0.3.2"
+PREFERRED_VERSION_firefox ?= "1.0"
+PREFERRED_VERSION_gaim ?= "2.0.0-cvs-mco1-20050904"
+PREFERRED_VERSION_gtk2-theme-angelistic ?= "0.3"
+PREFERRED_VERSION_gsoko ?= "0.4.2-gpe6"
+PREFERRED_VERSION_keylaunch ?= "2.0.7"
+PREFERRED_VERSION_librsvg ?= "2.6.5"
+PREFERRED_VERSION_libgsm ?= "1.0.10"
+PREFERRED_VERSION_libschedule ?= "0.15"
+PREFERRED_VERSION_linphone-hh ?= "0.12.2.hh1"
+PREFERRED_VERSION_linphone ?= "0.12.2"
+PREFERRED_VERSION_minilite ?= "0.49"
+PREFERRED_VERSION_minimo ?= "0.0+cvs${SRCDATE_minimo}"
+PREFERRED_VERSION_poppler ?= "0.3.3"
+PREFERRED_VERSION_rosetta ?= "0.0+cvs${SRCDATE}"
+PREFERRED_VERSION_rxvt-unicode ?= "5.6"
+PREFERRED_VERSION_xcursor-transparent-theme ?= "0.1.1"
+PREFERRED_VERSION_xdemineur ?= "2.1.1"
+PREFERRED_VERSION_xextensions ?= "1.0.1"
+PREFERRED_VERSION_xhost ?= "0.0+cvs20040413"
+PREFERRED_VERSION_xmonobut ?= "0.4"
+PREFERRED_VERSION_xprop ?= "0.0+cvs${SRCDATE}"
+PREFERRED_VERSION_xproto ?= "6.6.2"
+PREFERRED_VERSION_xrdb ?= "0.0+cvs${SRCDATE}"
+PREFERRED_VERSION_xst ?= "0.15"
+PREFERRED_VERSION_oprofile ?= "0.9.1+cvs${SRCDATE}"
+
+PCMCIA_MANAGER ?= "pcmciautils"
+
+CVS_TARBALL_STASH += "http://www.o-hand.com/~richard/poky/sources/"
+
+IMAGE_LINGUAS = "en-gb"
diff --git a/meta/conf/distro/preferred-e-versions.inc b/meta/conf/distro/preferred-e-versions.inc
new file mode 100644
index 0000000000..607acad858
--- /dev/null
+++ b/meta/conf/distro/preferred-e-versions.inc
@@ -0,0 +1,33 @@
+#
+# Specify which versions of E-related libraries and applications to build
+#
+
+#PREFERRED_VERSION_e = "0.16.999.025"
+#PREFERRED_VERSION_ecore-x11 = "0.9.9.025"
+#PREFERRED_VERSION_ecore-native = "0.9.9.025"
+#PREFERRED_VERSION_edb = "1.0.5.006"
+#PREFERRED_VERSION_edb-native = "1.0.5.006"
+#PREFERRED_VERSION_edje = "0.5.0.025"
+#PREFERRED_VERSION_edje-native = "0.5.0.025"
+#PREFERRED_VERSION_eet = "0.9.10.025"
+#PREFERRED_VERSION_eet-native = "0.9.10.025"
+#PREFERRED_VERSION_embryo = "0.9.1.025"
+#PREFERRED_VERSION_embryo-native = "0.9.1.025"
+#PREFERRED_VERSION_emotion = "0.0.1.004"
+#PREFERRED_VERSION_emotion-native = "0.0.1.004"
+#PREFERRED_VERSION_epeg = "0.9.0.006"
+#PREFERRED_VERSION_epsilon = "0.3.0.006"
+#PREFERRED_VERSION_esmart-x11 = "0.9.0.006"
+#PREFERRED_VERSION_evas-x11 = "0.9.9.025"
+#PREFERRED_VERSION_evas-native = "0.9.9.025"
+#PREFERRED_VERSION_ewl = "0.0.4.006"
+#PREFERRED_VERSION_imlib2-x11 = "1.2.1.011"
+#PREFERRED_VERSION_imlib2-native = "1.2.1.011"
+#PREFERRED_VERSION_e-wm = "0.16.999.025"
+#PREFERRED_VERSION_entrance = "0.9.0.006"
+
+PREFERRED_PROVIDER_virtual/evas ?= "evas-x11"
+PREFERRED_PROVIDER_virtual/ecore ?= "ecore-x11"
+PREFERRED_PROVIDER_virtual/imlib2 ?= "imlib2-x11"
+PREFERRED_PROVIDER_virtual/esmart ?= "esmart-x11"
+
diff --git a/meta/conf/distro/preferred-gpe-versions-2.7.inc b/meta/conf/distro/preferred-gpe-versions-2.7.inc
new file mode 100644
index 0000000000..933195977d
--- /dev/null
+++ b/meta/conf/distro/preferred-gpe-versions-2.7.inc
@@ -0,0 +1,96 @@
+#
+# Specify which versions of GPE (and related) applications to build
+#
+
+#work around some breakages
+#SRCDATE_minimo=20050401
+
+#set some preferred providers:
+PREFERRED_PROVIDER_gconf=gconf-dbus
+PREFERRED_PROVIDER_gnome-vfs=gnome-vfs-dbus
+
+#specify versions, as the header says :)
+PREFERRED_VERSION_libmatchbox ?= "1.7"
+PREFERRED_VERSION_matchbox ?= "0.9.1"
+PREFERRED_VERSION_matchbox-common ?= "0.9.1"
+PREFERRED_VERSION_matchbox-desktop ?= "0.9.1"
+PREFERRED_VERSION_matchbox-wm ?= "0.9.5+svn${SRCDATE}"
+PREFERRED_VERSION_matchbox-panel ?= "0.9.2"
+PREFERRED_VERSION_matchbox-applet-inputmanager ?= "0.6"
+PREFERRED_VERSION_atk ?= "1.9.0"
+PREFERRED_VERSION_cairo ?= "0.5.2"
+PREFERRED_VERSION_glib-2.0 ?= "2.6.4"
+PREFERRED_VERSION_gtk+ ?= "2.6.10"
+PREFERRED_VERSION_pango ?= "1.8.1"
+PREFERRED_VERSION_librsvg ?= "2.6.5"
+PREFERRED_VERSION_libgpewidget ?= "0.109"
+PREFERRED_VERSION_libgpepimc ?= "0.5"
+PREFERRED_VERSION_libgpevtype ?= "0.14"
+PREFERRED_VERSION_libschedule ?= "0.15"
+PREFERRED_VERSION_libcontactsdb ?= "0.3"
+PREFERRED_VERSION_libtododb ?= "0.09"
+PREFERRED_VERSION_gpe-icons ?= "0.25"
+PREFERRED_VERSION_libgsm ?= "1.0.10"
+PREFERRED_VERSION_diet-x11 ?= "6.2.1"
+PREFERRED_VERSION_xproto ?= "6.6.2"
+PREFERRED_VERSION_xcursor-transparent-theme ?= "0.1.1"
+PREFERRED_VERSION_rxvt-unicode ?= "5.6"
+PREFERRED_VERSION_gtk2-theme-angelistic ?= "0.3"
+PREFERRED_VERSION_xst ?= "0.15"
+PREFERRED_VERSION_xextensions ?= "1.0.1"
+PREFERRED_VERSION_xserver-kdrive = "0.0+cvs20050207"
+PREFERRED_VERSION_xprop ?= "0.0+cvs${SRCDATE}"
+PREFERRED_VERSION_xhost ?= "0.0+cvs20040413"
+PREFERRED_VERSION_xrdb ?= "0.0+cvs${SRCDATE}"
+PREFERRED_VERSION_gpe-login ?= "0.83"
+PREFERRED_VERSION_gpe-session-scripts ?= "0.66"
+PREFERRED_VERSION_gpe-soundserver ?= "0.4-1"
+PREFERRED_VERSION_gpe-todo ?= "0.55"
+PREFERRED_VERSION_gpe-calendar ?= "0.70"
+PREFERRED_VERSION_gpe-sketchbook ?= "0.2.9"
+PREFERRED_VERSION_gpe-contacts ?= "0.43"
+PREFERRED_VERSION_gpe-today ?= "0.10"
+PREFERRED_VERSION_matchbox-panel-manager ?= "0.1"
+PREFERRED_VERSION_dbus ?= "0.23.4"
+PREFERRED_VERSION_gpe-beam ?= "0.2.8"
+PREFERRED_VERSION_gpe-bluetooth ?= "0.51"
+PREFERRED_VERSION_gpe-su ?= "0.19"
+PREFERRED_VERSION_gpe-conf ?= "0.1.29"
+PREFERRED_VERSION_gpe-clock ?= "0.23"
+PREFERRED_VERSION_gpe-mininet ?= "0.7"
+PREFERRED_VERSION_gpe-mixer ?= "0.42"
+PREFERRED_VERSION_gpe-shield ?= "0.8"
+PREFERRED_VERSION_gpe-wlancfg ?= "0.2.6"
+PREFERRED_VERSION_gpe-taskmanager ?= "0.19"
+PREFERRED_VERSION_keylaunch ?= "2.0.7"
+PREFERRED_VERSION_minilite ?= "0.49"
+PREFERRED_VERSION_xmonobut ?= "0.4"
+PREFERRED_VERSION_gpe-edit ?= "0.29"
+PREFERRED_VERSION_gpe-gallery ?= "0.96"
+PREFERRED_VERSION_gpe-calculator ?= "0.2"
+PREFERRED_VERSION_gpe-package ?= "0.3"
+PREFERRED_VERSION_gpe-soundbite ?= "1.0.6"
+PREFERRED_VERSION_gpe-terminal ?= "1.1"
+PREFERRED_VERSION_gpe-watch ?= "0.10"
+PREFERRED_VERSION_gpe-what ?= "0.42"
+PREFERRED_VERSION_gpe-filemanager ?= "0.23"
+PREFERRED_VERSION_gpe-go ?= "0.05"
+PREFERRED_VERSION_gpe-irc ?= "0.07"
+PREFERRED_VERSION_gpe-lights ?= "0.13"
+#PREFERRED_VERSION_gpe-nmf ?= "0.21"
+PREFERRED_VERSION_gpe-othello ?= "0.2-1"
+PREFERRED_VERSION_gpe-plucker ?= "0.2"
+PREFERRED_VERSION_gpe-tetris ?= "0.6-4"
+PREFERRED_VERSION_gsoko ?= "0.4.2-gpe6"
+PREFERRED_VERSION_xdemineur ?= "2.1.1"
+PREFERRED_VERSION_matchbox-panel-hacks ?= "0.3-1"
+PREFERRED_VERSION_rosetta ?= "0.0+cvs${SRCDATE}"
+PREFERRED_VERSION_dillo2 ?= "0.6.6"
+PREFERRED_VERSION_minimo ?= "0.0+cvs${SRCDATE}"
+PREFERRED_VERSION_linphone-hh ?= "0.12.2.hh1"
+PREFERRED_VERSION_linphone ?= "0.12.2"
+PREFERRED_VERSION_firefox ?= "1.0"
+PREFERRED_VERSION_gaim ?= "2.0.0+cvs20050904-mco1"
+PREFERRED_VERSION_poppler ?= "0.3.3"
+PREFERRED_VERSION_evince ?= "0.3.2"
+PREFERRED_VERSION_gpe_mini_browser ?= "0.19"
diff --git a/meta/conf/distro/preferred-opie-versions.inc b/meta/conf/distro/preferred-opie-versions.inc
new file mode 100644
index 0000000000..51c9937628
--- /dev/null
+++ b/meta/conf/distro/preferred-opie-versions.inc
@@ -0,0 +1,206 @@
+#
+# Default versions
+QTE_VERSION ?= "2.3.10"
+OPIE_VERSION ?= "1.2.2"
+PALMTOP_USE_MULTITHREADED_QT ?= "yes"
+
+#
+#
+# Opie libraries
+#
+PREFERRED_PROVIDER_virtual/libqte2 = '${@base_conditional("PALMTOP_USE_MULTITHREADED_QT", "yes", "qte-mt", "qte", d)}'
+PREFERRED_PROVIDER_virtual/libqpe1 = "libqpe-opie"
+PREFERRED_VERSION_qte-mt = "${QTE_VERSION}"
+PREFERRED_VERSION_qte = "${QTE_VERSION}"
+PREFERRED_VERSION_libopie2 = "${OPIE_VERSION}"
+PREFERRED_VERSION_libopieobex0 = "${OPIE_VERSION}"
+PREFERRED_VERSION_libopietooth1 = "${OPIE_VERSION}"
+PREFERRED_VERSION_libqpe-opie = "${OPIE_VERSION}"
+PREFERRED_VERSION_libqtaux2 = "${OPIE_VERSION}"
+PREFERRED_VERSION_libmailwrapper = "${OPIE_VERSION}"
+#
+# Opie applications
+#
+PREFERRED_VERSION_opie-aboutapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-addressbook = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-advancedfm = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-alarm = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-appearance = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-aqpkg = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-autorotateapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-backgammon = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-backup = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-bartender = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-batteryapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-bluepin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-bluetoothapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-bluetoothmanager = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-bounce = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-brightnessapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-button-settings = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-buzzword = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-calculator = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-calibrate = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-camera = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-cardmon = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-checkbook = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-citytime = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-clipboardapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-clockapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-clock = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-confeditor = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-console = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-dagger = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-dasher = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-datebook = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-datebook-chrisholidayplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-datebook-nationalholidayplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-datebook-birthdayplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-deco-flat = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-deco-liquid = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-deco-polished = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-doctab = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-drawpad = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-dvorak = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-embeddedkonsole = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-euroconv = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-examples-python = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-eye = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-fifteen = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-formatter = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-freetype = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-ftplib = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-ftp = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-go = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-gutenbrowser = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-handwriting = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-helpbrowser = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-help-en = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-homeapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-i18n = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-lrelease-native = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-lupdate-native = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-icon-reload = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-irc = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-irdaapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-jumpx = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-kbill = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-kcheckers = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-keyboard = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-keypebble = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-keytabs = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-keyview = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-kjumpx = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-kpacman = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-language = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-launcher-settings = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-libqrsync = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-light-and-power = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-lockapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-login = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-logoutapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mailapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mail = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer1-libmadplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer1-libmodplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer1-libtremorplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer1-libwavplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer1 = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer2 = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer2-skin-default = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer2-skin-default-landscape = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer2-skin-pod = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediaplayer2-skin-techno = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mediummount = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-memoryapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mindbreaker = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-minesweep = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-mobilemsg = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-multikeyapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-multikey = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-networkapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-networksettings = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-notesapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-odict = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-osearch = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-oxygen = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-oyatzee = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-packagemanager = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-parashoot = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-pcmciaapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-performance = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-pickboard = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-pics = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-pimconverter = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-powerchord = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-pyquicklaunchapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-qasteroids = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-qcop = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-quicklauncher = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-qss = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-rdesktop = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-reader = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-recorder = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-remote = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-restartapplet2 = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-restartapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-restartapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-rotateapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-screenshotapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-search = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-security = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-securityplugin-blueping = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-securityplugin-dummy = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-securityplugin-notice = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-securityplugin-pin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-sfcave = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-sheet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-sh = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-showimg = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-snake = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-solitaire = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-sshkeys = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-style-flat = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-style-fresh = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-style-liquid = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-style-metal = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-style-phase = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-style-web = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-sounds = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-suspendapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-symlinker = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-sysinfo = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-systemtime = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-tableviewer = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-tabmanager = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-taskbar = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-tetrix = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-textedit = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-theme = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-tictac = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-tinykate = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-today-addressbookplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-today-datebookplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-today-fortuneplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-today-mailplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-today = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-today-stocktickerplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-today-todolistplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-today-weatherplugin = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-todo = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-tonleiter = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-unikeyboard = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-usermanager = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-vmemo = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-vmemo-settings = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-volumeapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-vtapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-wellenreiter = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-wirelessapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-wordgame = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-write = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-zkbapplet = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-zlines = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-zsafe = "${OPIE_VERSION}"
+PREFERRED_VERSION_opie-zsame = "${OPIE_VERSION}"
+PREFERRED_VERSION_konqueror-embedded = "20060404"
diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
new file mode 100644
index 0000000000..c07c8fa68b
--- /dev/null
+++ b/meta/conf/documentation.conf
@@ -0,0 +1,104 @@
+# this file holds documentation for known keys, possible values and
+# their meaning. Please update, correct and extend this documentation.
+# Mail your changes to oe@handhelds.org
+
+# conf/bitbake.conf
+PREFERRED_VERSION[doc] = 'Normally use it as PREFERRED_VERSION_package-name = "" to set the preferred \
+version of more than one version for the package-name is available.'
+
+BUILD_ARCH[doc] = "The name of the building architecture. E.g. i686."
+BUILD_OS[doc] = "The operating system (in lower case) of the building architecture. E.g \
+linux."
+BUILD_VENDOR[doc] = "FIXME"
+BUILD_SYS[doc] = "FIXME"
+BUILD_PREFIX[doc] = "FIXME"
+BUILD_CC_ARCH[doc] = "FIXME"
+
+HOST_ARCH[doc] = "The name of the target architecture. Normally same as the TARGET_ARCH. @see TARGET_ARCH @group base"
+HOST_OS[doc] = "The name of the target operating system. Normally the same as the TARGET_OS. \
+@see TARGET_OS @group base"
+HOST_VENDOR[doc] = "The name of the vendor. Normally same as the TARGET_VENDOR. @see TARGET_VENDOR"
+HOST_SYS[doc] = "FIXME"
+HOST_PREFIX[doc] = "Normally same as the TARGET_PREFIX. @see TARGET_PREFIX @group base"
+HOST_CC_ARCH[doc] = "Normally same as the TARGET_CC_ARCH. @see TARGET_CC_ARCH @group base"
+HOST_NONSYSV[doc] = 'This flag can be set to "1" if the host system is not SysV compatible. E.g.\
+fakeroot-native will be build with tcp as IPC implementation.'
+
+TARGET_ARCH[doc] = "Build for which architecture. Examples are arm, i686, sh3, mips, powerpc."
+TARGET_OS[doc] = 'Build for which Operating System. Currently possible values are \
+linux and linux-uclibc. When using linux-uclibc you might want to set USE_NLS_gcc-cross to "no".'
+TARGET_VENDOR[doc] = "FIXME"
+TARGET_SYS[doc] = "The target system is composed out of TARGET_ARCH,TARGET_VENDOR and TARGET_OS."
+TARGET_PREFIX[doc] = "The prefix for the cross compile toolchain. E.g arm-linux- ."
+TARGET_CC_ARCH[doc] = "FIXME"
+TARGET_FPU[doc] = "Floating point option (mostly for FPU-less systems), can be 'soft' or empty \
+for hardware floating point instructions."
+
+PACKAGE_ARCH[doc] = 'The architecture needed for using a resulting package. If you have \
+machine dependant configuration options in your bitbake file add a \
+PACKAGE_ARCH = "${MACHINE_ARCH}" to the file.'
+
+IPKG_ARCHS[doc] = 'A list of architectures compatible with the given target in order of priority'
+IPKG_EXTRA_ARCHS[doc] = 'Set this variable to add extra architectures to the list of supported architectures'
+
+DATE[doc] = "The date the build was started Ymd"
+TIME[doc] = "The time the build was started HMS"
+DATETIME[doc] = "The date and time the build was started at"
+
+PN[doc] = "PN holds the name of the package (Package Name). It is gathered from the bitbake-file filename"
+PV[doc] = "PV holds the version of the package (Package Version). The default value is 1.0, it is \
+retrieved from the bitbake-file filename but can be changed."
+PR[doc] = "PR is the revision of the package (Package Revision). By default it is set to r0."
+PF[doc] = "Package name - Package version - Package revision (PN-PV-PR)"
+P[doc] = "Package name - Package version (PN-PF)"
+S[doc] = "Directory that holds the sources to build, WORKDIR/PN-PV by default. The 'make' or equivalent command is run from this directory."
+SECTION[doc] = "Section of the packages e.g. console/networking"
+PRIORITY[doc] = "Importance of package, default values are 'optional' or 'needed'."
+DESCRIPTION[doc] = "A small description of the package."
+LICENSE[doc] = "The license of the resulting package e.g. GPL"
+AUTHOR[doc] = "The author of the files installed."
+MAINTAINER[doc] = "Maintainer of the .bb file and the resulting package."
+HOMEPAGE[doc] = "Homepage of the package e.g. http://www.project.net."
+
+
+# dependencies
+GROUP_dependencies[doc] = "The keys in this group influence the dependency handling of BitBake \
+and the resulting packages."
+DEPENDS[doc] = "Build time dependencies, things needed to build the package. @group dependencies"
+RDEPENDS[doc] = "Run time dependencies, things needed for a given package to run. This is used to populate the ipkg:Depends field. @group dependencies"
+PROVIDES[doc] = "Names for additional build time dependencies that this package will provide. @group dependencies"
+RPROVIDES[doc] = "Names for additional run time dependencies that this package will provide. This is used to populate the ipkg:Provides field. @group dependencies"
+
+
+# packaging
+GROUP_packaging[doc] = "The keys in this group influence the package building process. They influence \
+which packages will be generated and which files will be present in the generated packages."
+PACKAGES[doc] = "Names of packages to be generated. @group packaging"
+FILES[doc] = "Files/Directories belonging to the package. @group packaging"
+
+
+
+TMPDIR[doc] = "The temporary directory of openembedded holding work-, deploy, staging- and other directories."
+CACHE[doc] = "The directory holding the cache of the metadata."
+
+GROUP_fetcher[doc] = "The key highly influence the fetcher implementations."
+DL_DIR[doc] = "The directory where tarballs will be stored. @group fetcher"
+CVSDIR[doc] = "The directory where cvs checkouts will be stored in. @group fetcher"
+GITDIR[doc] = "The directory where git clones will be stored. @group fetcher"
+
+STAMP[doc] = "The directory that holds files to keep track of what was built."
+WORKDIR[doc] = "The directory where a concrete package will be unpacked and built."
+T[doc] = "Temporary directory within the WORKDIR."
+
+GROUP_locale[doc] = "Locale generation of the GNU libc implementation"
+ENABLE_BINARY_LOCALE_GENERATION[doc] = "Enable the use of qemu to generate locale information during build time on the host instead of runtime on the target. If you have trouble with qemu-native you should make this an empty var. @group locale"
+
+PCMCIA_MANAGER[doc] = "Specify which package(s) to install to handle PCMCIA slots (usually pcmcia-cs or pcmciautils)."
+
+SYSVINIT_ENABLED_GETTYS[doc] = "Specify which VTs should be running a getty, the default is 1"
+
+# palmtop build class
+PALMTOP_USE_MULTITHREADED_QT[doc] = "Set to yes, if you want to build qt apps with CONFIG+=thread"
+
+COMPATIBLE_HOST[doc] = "A regular expression which matches the HOST_SYS names supported by the package/file. Failure to match will cause the file to be skipped by the parser."
+COMPATIBLE_MACHINE[doc] = "A regular expression which matches the MACHINES support by the package/file. Failure to match will cause the file to be skipped by the parser."
diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf
new file mode 100644
index 0000000000..e81434da8c
--- /dev/null
+++ b/meta/conf/licenses.conf
@@ -0,0 +1,5 @@
+SRC_DISTRIBUTE_LICENSES += "GPL GPLv2 BSD LGPL Apache-2.0 QPL AFL"
+SRC_DISTRIBUTE_LICENSES += "MIT Sleepycat Classpath Perl PSF PD Artistic"
+SRC_DISTRIBUTE_LICENSES += "bzip2 zlib ntp cron libpng netperf openssl"
+SRC_DISTRIBUTE_LICENSES += "Info-ZIP tcp-wrappers"
+
diff --git a/meta/conf/machine/akita.conf b/meta/conf/machine/akita.conf
new file mode 100644
index 0000000000..89c0d031ee
--- /dev/null
+++ b/meta/conf/machine/akita.conf
@@ -0,0 +1,8 @@
+#@TYPE: Machine
+#@NAME: Sharp Zaurus SL-C1000
+#@DESCRIPTION: Machine configuration for the Sharp Zaurus SL-C1000 device
+
+include conf/machine/include/zaurus-clamshell.conf
+include conf/machine/include/zaurus-clamshell-2.6.conf
+
+ROOT_FLASH_SIZE = "58"
diff --git a/meta/conf/machine/c7x0.conf b/meta/conf/machine/c7x0.conf
new file mode 100644
index 0000000000..0bd9623526
--- /dev/null
+++ b/meta/conf/machine/c7x0.conf
@@ -0,0 +1,9 @@
+#@TYPE: Machine
+#@NAME: Sharp Zaurus SL-C7x0
+#@DESCRIPTION: Machine configuration for the Sharp Zaurus SL-C700, Sharp Zaurus SL-C750, Sharp Zaurus SL-C760, Sharp Zaurus SL-C860 devices
+
+include conf/machine/include/zaurus-clamshell.conf
+include conf/machine/include/zaurus-clamshell-2.6.conf
+
+ROOT_FLASH_SIZE = "25"
+# yes, we are aware that the husky (c760,c860) has 54MB rootfs, but we don't make a special image for it.
diff --git a/meta/conf/machine/cmx270.conf b/meta/conf/machine/cmx270.conf
new file mode 100644
index 0000000000..fc281f3746
--- /dev/null
+++ b/meta/conf/machine/cmx270.conf
@@ -0,0 +1,31 @@
+#@TYPE: Machine
+#@NAME: Nokia 770 internet tablet
+#@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet
+TARGET_ARCH = "arm"
+IPKG_EXTRA_ARCHS = "armv4 armv5te"
+
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x4000 -n"
+
+IMAGE_CMD_jffs2 = "mkdir -p ${DEPLOY_DIR_IMAGE}; \
+ mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
+ --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.img ${EXTRA_IMAGECMD}; "
+
+PREFERRED_PROVIDER_virtual/bootloader = ""
+
+# 800x480 is big enough for me
+GUI_MACHINE_CLASS = "bigscreen"
+
+# Use tune-arm926 per default. Machine independent feeds should be built with tune-strongarm.
+include conf/machine/include/tune-xscale.conf
+
+#size of the root partition (yes, it is 123 MB)
+ROOT_FLASH_SIZE = "128"
+
+# serial console port on devboard rev. B3
+SERIAL_CONSOLE = "115200 ttyS0"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-cmx270"
+
+
+include conf/machine/include/handheld-common.conf
+
diff --git a/meta/conf/machine/include/handheld-common.conf b/meta/conf/machine/include/handheld-common.conf
new file mode 100644
index 0000000000..f8767d2ddf
--- /dev/null
+++ b/meta/conf/machine/include/handheld-common.conf
@@ -0,0 +1,23 @@
+HANDHELD_MODULES = "ipv6 \
+ipsec \
+nvrd \
+mip6-mn \
+tun \
+ide-cs ide-disk ide-probe-mod \
+loop \
+vfat ext2 \
+sunrpc nfs \
+btuart-cs dtl1-cs bt3c-cs rfcomm bnep l2cap sco hci_uart hidp \
+pcnet-cs serial-cs airo-cs \
+af_packet \
+ppp-async ppp-deflate ppp-mppe \
+ip-gre ip-tables ipip \
+irda irlan irnet irport irtty ircomm-tty \
+input uinput \
+"
+
+# Configuration bits for "generic handheld"
+BOOTSTRAP_EXTRA_RDEPENDS += "${PCMCIA_MANAGER} apm apmd network-suspend-scripts"
+BOOTSTRAP_EXTRA_RRECOMMENDS += "ppp wireless-tools irda-utils openswan wpa-supplicant-nossl lrzsz ppp-dialin ${@linux_module_packages('${HANDHELD_MODULES}', d)}"
+
+INHERIT += "linux_modules"
diff --git a/meta/conf/machine/include/ipaq-common.conf b/meta/conf/machine/include/ipaq-common.conf
new file mode 100644
index 0000000000..eb696cf9f9
--- /dev/null
+++ b/meta/conf/machine/include/ipaq-common.conf
@@ -0,0 +1,7 @@
+IPAQ_MODULES = "apm h3600_generic_sleeve ipaq-sleeve ipaq-mtd-asset nvrd atmelwlandriver sa1100-rtc ipaq-hal h3600_ts usb-eth wavelan_cs keybdev"
+
+BOOTSTRAP_EXTRA_RRECOMMENDS += "kbdd bl hostap-modules-cs orinoco-modules-cs atmelwlandriver ${@linux_module_packages('${IPAQ_MODULES}', d)}"
+BOOTSTRAP_EXTRA_RRECOMMENDS_append_kernel24 += "mipv6"
+
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
+
diff --git a/meta/conf/machine/include/ixp4xx.conf b/meta/conf/machine/include/ixp4xx.conf
new file mode 100644
index 0000000000..93befb92ce
--- /dev/null
+++ b/meta/conf/machine/include/ixp4xx.conf
@@ -0,0 +1,174 @@
+#@TYPE: Machine configuration
+#@NAME: ixp4xx
+#@DESCRIPTION: genric machine configuration for ixp4xx platforms
+
+#-------------------------------------------------------------------------------
+# INPUTS
+#-------------------------------------------------------------------------------
+# conf/${DISTRO}.conf is included after this file and should be used to modify
+# variables identified as 'INPUTS' to the required values for the DISTRO, this
+# will cause the board specific settings (which depend for the most part on the
+# exact CPU used) to be set correctly within this file. The results are the
+# variables identifies here as 'OUTPUTS'
+#
+#variable = "default"
+# <possible values>
+# description
+
+ARCH_BYTE_SEX = "be"
+# "be" "le"
+# The memory byte sex and (on correctly implemented hardware - the IXP4XX is
+# correct) the byte sex of the buses within the system. 'be' (big-endian)
+# means that the first byte is the most significant byte on a bus, 'le'
+# (little-endian) means that the first byte is the least significant byte.
+
+ARM_INSTRUCTION_SET = "arm"
+# "arm" "thumb"
+# The instruction set the compiler should use when generating application
+# code. The kernel is always compiled with arm code at present. arm code
+# is the original 32 bit ARM instruction set, thumb code is the 16 bit
+# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size)
+# but requires more instructions (140% for 70% smaller code) so may be
+# slower.
+
+THUMB_INTERWORK = "yes"
+# "yes" "no"
+# Whether to compile with code to allow interworking between the two
+# instruction sets. This allows thumb code to be executed on a primarily
+# arm system and vice versa. It is strongly recommended that DISTROs not
+# turn this off - the actual cost is very small.
+
+DISTRO_BASE = ""
+# "" ":<base>"
+# If given this must be the name of a 'distro' to add to the bitbake OVERRIDES
+# after ${DISTRO}, this allows different distros to share a common base of
+# overrides. The value given must include a leading ':' or chaos will result.
+
+IXP4XX_SUFFIX = "${MACHINE_ARCH}"
+# <string>
+# Kernel suffix - 'ixp4xxbe' or 'ixp4xxle' for a truely generic image, controls
+# the suffix on the name of the generated zImage, override in the DISTRO
+# configuration if patches or defconfig are changed for the DISTRO.
+
+#-------------------------------------------------------------------------------
+# OUTPUTS
+#-------------------------------------------------------------------------------
+
+#OVERRIDES
+# The standard ':' separated list of overrides used by bitbake - see the
+# basic setting in bitbake.conf. This list is based on that used for the
+# standard setting however :<base>, :thumb and :thumb-interwork will be
+# inserted at appropriate points if a base distro, default use of thumb or
+# arm/thumb interworking are enabled in the inputs.
+OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
+OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
+OVERRIDES = "local:${MACHINE}:ixp4xx:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}:build-${BUILD_OS}:fail-fast"
+
+# TARGET_CC_ARCH
+# TARGET_CC_KERNEL_ARCH
+# TARGET_LD_ARCH
+# TARGET_LD_KERNEL_ARCH
+# Compiler and linker options for application code and kernel code. These
+# options ensure that the compiler has the correct settings for the selected
+# instruction set and interworking.
+ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
+ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
+#
+TARGET_CC_ARCH = "-march=armv5te -mtune=xscale ${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}"
+TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale -mno-thumb-interwork -mno-thumb"
+TARGET_LD_ARCH = ""
+TARGET_LD_KERNEL_ARCH = ""
+
+# FULL_OPTIMIZATION
+# Optimization settings. Os works fine and is significantly better than O2.
+# The other settings are somewhat arbitrary. The optimisations chosen here
+# include the ones which 'break' symbolic debugging (because the compiler does
+# not include enough information to allow the debugger to know where given
+# values are.) The -fno options are an attempt to cancel explicit use of space
+# consuming options found in some packages (this isn't a complete list, this is
+# just the ones which package writers seem to know about and abuse).
+FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \
+ -fno-unroll-loops -fno-inline-functions \
+ -fweb -funit-at-a-time"
+
+# TARGET_ARCH
+# The correct setting for the system endianness (ARCH_BYTE_SEX). This will
+# be arm (le) or armeb (be) - it is difficult to be more precise in the
+# setting because of the large number of ways it is used within OpenEmbedded.
+TARGET_ARCH = "${@['armeb', 'arm'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}"
+
+# TARGET_PACKAGE_ARCH [not used]
+# The correct setting for the generated packages. This corresponds to the
+# -march flag passed to the compiler because that limits the architectures
+# on which the generated code will run.
+BYTE_SEX_CHAR = "${@['b', 'l'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}"
+TARGET_PACKAGE_ARCH_BASE = "${@['armv5te', 'thumbv5t'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
+TARGET_PACKAGE_ARCH = "${TARGET_PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}"
+
+# MACHINE_ARCH
+# The correct setting for packages which are specific to the machine, this
+# defaults to ${MACHINE} in bitbake.conf, however it is set to ixp4xx here
+# because everything built here is no more specific than that.
+MACHINE_ARCH = "ixp4xx${ARCH_BYTE_SEX}"
+
+# IPKG_EXTRA_ARCHS
+# The full list of package architectures which should run on the system.
+# This takes into account both the board level issues and the INPUTS set
+# by the distro. The arm list is derived from the architecture settings
+# known to gcc, the thumb list is then derived from that (only the 't'
+# architectures of course).
+#[not used]: TARGET_ARCH is handled below because it is also currently
+# used for thumb packages.
+#ARM_ARCHITECTURES = "${TARGET_ARCH} armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}"
+ARM_ARCHITECTURES = "armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}"
+THUMB_ARCHITECTURES = "thumbe${BYTE_SEX_CHAR} thumbv4t${BYTE_SEX_CHAR} thumbv5t${BYTE_SEX_CHAR}"
+
+# NOTE: this list contains just the things which rootfs_ipk.bbclass does
+# not add, rootfs_ipk.bbclass evaluates:
+#
+# ipkgarchs="all any noarch ${TARGET_ARCH} ${IPKG_EXTRA_ARCHS} ${MACHINE}"
+#
+# This is a priority ordered list - most desireable architecture at the end,
+# so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if
+# THUMB_INTERWORK precede this with the other architectures.
+IPKG_EXTRA_ARCHS = "ixp4xx ${MACHINE} \
+ ${@(lambda arch_thumb, arch_arm, is_arm, interwork: \
+ (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \
+ + '${TARGET_ARCH} ' + (is_arm and arch_arm or arch_thumb)) \
+ (bb.data.getVar('THUMB_ARCHITECTURES', d, 1), \
+ bb.data.getVar('ARM_ARCHITECTURES', d, 1), \
+ bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) != 'thumb', \
+ bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')} \
+ ${MACHINE_ARCH} ${MACHINE}${ARCH_BYTE_SEX}"
+
+# IPKG_ARCH_LIST [not used]
+# This is used to override the ipkgarchs settings in rootfs_ipk.bbclass, allowing
+# the removal of the raw "${MACHINE}" from the end of the list. ${MACHINE} and
+# ixp4xx are included at the start (lower priority) as the non-byte-sex specific
+# versions.
+IPKG_ARCH_LIST = "all any noarch ixp4xx ${MACHINE} ${IPKG_EXTRA_ARCHS}"
+
+#-------------------------------------------------------------------------------
+# Package versions
+#-------------------------------------------------------------------------------
+# Warning: these are shared across the different machine and distro
+# configurations but can be overridden therein if required.
+SRCDATE_ipkg-utils ?= "20060106"
+SRCDATE_ipkg-utils-native ?= "20060106"
+SRCDATE_ipkg-link ?= "20060106"
+SRCDATE_irssi ?= "20050930"
+
+CVS_TARBALL_STASH = "http://sources.nslu2-linux.org/sources/"
+INHERIT += "nslu2-mirrors"
+
+PREFERRED_VERSION_ipkg ?= "0.99.154"
+PREFERRED_VERSION_ipkg-native ?= "0.99.154"
+
+#-------------------------------------------------------------------------------
+# Board defaults
+#-------------------------------------------------------------------------------
+# These values are board specific but they seem to be common to a large number
+# of boards so are reasonable defaults.
+SERIAL_CONSOLE = "115200 ttyS0"
+KERNEL_CONSOLE = "ttyS0,115200n8"
+USE_VT = "0"
diff --git a/meta/conf/machine/include/poodle-2.6.conf b/meta/conf/machine/include/poodle-2.6.conf
new file mode 100644
index 0000000000..9076355522
--- /dev/null
+++ b/meta/conf/machine/include/poodle-2.6.conf
@@ -0,0 +1,43 @@
+PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
+
+PCMCIA_MANAGER ?= "pcmciautils"
+
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel udev sysfsutils spectrum-fw \
+${PCMCIA_MANAGER} apm wireless-tools irda-utils udev-utils keymaps hostap-utils prism3-firmware prism3-support \
+ppp ppp-dialin alsa-utils-alsactl alsa-utils-alsamixer module-init-tools alsa-conf zaurusd"
+
+# Ethernet modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pcnet-cs"
+# NFS Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-nfs kernel-module-lockd kernel-module-sunrpc"
+# Crypto Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-des kernel-module-md5"
+# SMB and CRAMFS
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-smbfs kernel-module-cramfs"
+# Serial Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-8250 kernel-module-serial-cs"
+# Bluetooth Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-bluetooth kernel-module-l2cap kernel-module-rfcomm kernel-module-hci-vhci \
+ kernel-module-bnep kernel-module-hidp kernel-module-hci-uart kernel-module-sco \
+ kernel-module-bt3c-cs kernel-module-bluecard-cs kernel-module-btuart-cs kernel-module-dtl1-cs"
+# Infrared Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pxaficp-ir kernel-module-irda kernel-module-ircomm \
+ kernel-module-ircomm-tty kernel-module-irlan kernel-module-irnet kernel-module-ir-usb"
+
+# USB Gadget Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-gadgetfs kernel-module-g-file-storage \
+ kernel-module-g-serial kernel-module-g-ether"
+
+# Wireless Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-hostap kernel-module-hostap-cs \
+ kernel-module-hermes kernel-module-orinoco \
+ kernel-module-orinoco-cs kernel-module-spectrum-cs \
+ hostap-conf orinoco-conf"
+
+# Sound Modules
+###BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-snd-mixer-oss kernel-module-snd-pcm-oss"
+BOOTSTRAP_EXTRA_SOUND = "kernel-module-soundcore kernel-module-snd kernel-module-snd-page-alloc kernel-module-snd-timer \
+ kernel-module-snd-pcm \
+ kernel-module-snd-soc-core kernel-module-snd-soc-pxa2xx kernel-module-snd-soc-pxa2xx-i2s"
+
+###BOOTSTRAP_EXTRA_RDEPENDS_append_poodle += "${BOOTSTRAP_EXTRA_SOUND} kernel-module-snd-soc-poodle kernel-module-snd-soc-wm8731 "
diff --git a/meta/conf/machine/include/thinclient-common.conf b/meta/conf/machine/include/thinclient-common.conf
new file mode 100644
index 0000000000..4a96b42525
--- /dev/null
+++ b/meta/conf/machine/include/thinclient-common.conf
@@ -0,0 +1,19 @@
+THINCLIENT_MODULES = "ipv6 \
+mip6-mn \
+tun \
+loop \
+vfat \
+sunrpc nfs \
+rfcomm bnep l2cap sco \
+af_packet \
+ppp-async ppp-deflate ppp-mppe \
+ip-gre ip-tables ipip \
+irda irlan irnet irport irtty \
+input uinput \
+"
+
+# Configuration bits for "generic thinclient"
+BOOTSTRAP_EXTRA_RDEPENDS += "apm"
+BOOTSTRAP_EXTRA_RRECOMMENDS += "ppp bluez-utils wireless-tools ${@linux_module_packages('${THINCLIENT_MODULES}', d)}"
+
+INHERIT += "linux_modules"
diff --git a/meta/conf/machine/include/tosa-2.6.conf b/meta/conf/machine/include/tosa-2.6.conf
new file mode 100644
index 0000000000..c7805c36fe
--- /dev/null
+++ b/meta/conf/machine/include/tosa-2.6.conf
@@ -0,0 +1,6 @@
+include conf/machine/include/zaurus-clamshell-2.6.conf
+# wlan-ng Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "wlan-ng-modules-usb"
+
+# WM97xx Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-wm97xx-core kernel-module-wm9705 kernel-module-pxa-wm97xx"
diff --git a/meta/conf/machine/include/tune-arm920t.conf b/meta/conf/machine/include/tune-arm920t.conf
new file mode 100644
index 0000000000..936b137517
--- /dev/null
+++ b/meta/conf/machine/include/tune-arm920t.conf
@@ -0,0 +1,2 @@
+TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t"
+
diff --git a/meta/conf/machine/include/tune-arm926ejs.conf b/meta/conf/machine/include/tune-arm926ejs.conf
new file mode 100644
index 0000000000..c1462ee148
--- /dev/null
+++ b/meta/conf/machine/include/tune-arm926ejs.conf
@@ -0,0 +1,6 @@
+#if gcc breaks change arm926ejs to arm926ej-s
+# For gcc 3.x you need:
+TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs"
+# For gcc 4.x you need:
+#TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ej-s"
+PACKAGE_ARCH = "armv5te"
diff --git a/meta/conf/machine/include/tune-arm9tdmi.conf b/meta/conf/machine/include/tune-arm9tdmi.conf
new file mode 100644
index 0000000000..cfc3bad1c1
--- /dev/null
+++ b/meta/conf/machine/include/tune-arm9tdmi.conf
@@ -0,0 +1 @@
+TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi"
diff --git a/meta/conf/machine/include/tune-c3.conf b/meta/conf/machine/include/tune-c3.conf
new file mode 100644
index 0000000000..e6a522af10
--- /dev/null
+++ b/meta/conf/machine/include/tune-c3.conf
@@ -0,0 +1,3 @@
+TARGET_CC_ARCH = "-march=c3 -mtune=c3"
+PACKAGE_ARCH = "i586"
+
diff --git a/meta/conf/machine/include/tune-ep9312.conf b/meta/conf/machine/include/tune-ep9312.conf
new file mode 100644
index 0000000000..f7a6fb845b
--- /dev/null
+++ b/meta/conf/machine/include/tune-ep9312.conf
@@ -0,0 +1,6 @@
+TARGET_CC_ARCH = "-march=ep9312 -mtune=ep9312"
+# add "-mfp=maverick" for newer gcc versions > 4.0
+
+#set arch to ep9312 for all generated packages
+PACKAGE_ARCH = "ep9312"
+
diff --git a/meta/conf/machine/include/tune-ppc603e.conf b/meta/conf/machine/include/tune-ppc603e.conf
new file mode 100644
index 0000000000..7c8714cfc2
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppc603e.conf
@@ -0,0 +1,2 @@
+TARGET_CC_ARCH = "-mcpu=603e"
+PACKAGE_ARCH = "ppc603e"
diff --git a/meta/conf/machine/include/tune-ppce500.conf b/meta/conf/machine/include/tune-ppce500.conf
new file mode 100644
index 0000000000..11717eba70
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppce500.conf
@@ -0,0 +1,2 @@
+TARGET_CC_ARCH = "-mcpu=8540"
+PACKAGE_ARCH = "ppce500"
diff --git a/meta/conf/machine/include/tune-sh3.conf b/meta/conf/machine/include/tune-sh3.conf
new file mode 100644
index 0000000000..192dd8fd22
--- /dev/null
+++ b/meta/conf/machine/include/tune-sh3.conf
@@ -0,0 +1 @@
+TARGET_CC_ARCH = "-ml -m3"
diff --git a/meta/conf/machine/include/tune-sh4.conf b/meta/conf/machine/include/tune-sh4.conf
new file mode 100644
index 0000000000..866f7f89d5
--- /dev/null
+++ b/meta/conf/machine/include/tune-sh4.conf
@@ -0,0 +1 @@
+TARGET_CC_ARCH = "-ml -m4"
diff --git a/meta/conf/machine/include/tune-strongarm.conf b/meta/conf/machine/include/tune-strongarm.conf
new file mode 100644
index 0000000000..8654c996ef
--- /dev/null
+++ b/meta/conf/machine/include/tune-strongarm.conf
@@ -0,0 +1,2 @@
+TARGET_CC_ARCH = "-march=armv4 -mtune=xscale"
+
diff --git a/meta/conf/machine/include/tune-supersparc.conf b/meta/conf/machine/include/tune-supersparc.conf
new file mode 100644
index 0000000000..1b1ec1207f
--- /dev/null
+++ b/meta/conf/machine/include/tune-supersparc.conf
@@ -0,0 +1,2 @@
+TARGET_CC_ARCH = "-mcpu=supersparc"
+PACKAGE_ARCH = "supersparc"
diff --git a/meta/conf/machine/include/tune-xscale.conf b/meta/conf/machine/include/tune-xscale.conf
new file mode 100644
index 0000000000..0b98f09fc8
--- /dev/null
+++ b/meta/conf/machine/include/tune-xscale.conf
@@ -0,0 +1,3 @@
+TARGET_CC_ARCH = "-march=armv5te -mtune=xscale"
+PACKAGE_ARCH = "armv5te"
+
diff --git a/meta/conf/machine/include/zaurus-clamshell-2.6.conf b/meta/conf/machine/include/zaurus-clamshell-2.6.conf
new file mode 100644
index 0000000000..3c19ef3da6
--- /dev/null
+++ b/meta/conf/machine/include/zaurus-clamshell-2.6.conf
@@ -0,0 +1,46 @@
+# Zaurus Clamshell specific configuration for kernel 2.6
+# Don't forget to include zaurus-clamshell.conf as well
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
+PREFERRED_VERSION_wpa_supplicant = "0.4.7"
+
+PCMCIA_MANAGER ?= "pcmciautils"
+
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel udev sysfsutils spectrum-fw \
+${PCMCIA_MANAGER} apm wireless-tools irda-utils udev-utils keymaps hostap-utils prism3-firmware prism3-support \
+ppp ppp-dialin openswan wpa-supplicant-nossl alsa-utils-alsactl alsa-utils-alsamixer module-init-tools alsa-conf zaurusd"
+
+# Ethernet modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pcnet-cs"
+# NFS Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-nfs kernel-module-lockd kernel-module-sunrpc"
+# Crypto Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-des kernel-module-md5"
+# SMB and CRAMFS
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-smbfs kernel-module-cramfs"
+# Serial Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-8250 kernel-module-serial-cs"
+# Bluetooth Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-bluetooth kernel-module-l2cap kernel-module-rfcomm kernel-module-hci-vhci \
+ kernel-module-bnep kernel-module-hidp kernel-module-hci-uart kernel-module-sco \
+ kernel-module-bt3c-cs kernel-module-bluecard-cs kernel-module-btuart-cs kernel-module-dtl1-cs"
+# Infrared Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pxaficp-ir kernel-module-irda kernel-module-ircomm \
+ kernel-module-ircomm-tty kernel-module-irlan kernel-module-irnet kernel-module-ir-usb"
+
+# USB Gadget Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-gadgetfs kernel-module-g-file-storage \
+ kernel-module-g-serial kernel-module-g-ether"
+
+# Wireless Modules
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-hostap kernel-module-hostap-cs \
+ kernel-module-hermes kernel-module-orinoco \
+ kernel-module-orinoco-cs kernel-module-spectrum-cs \
+ hostap-conf orinoco-conf"
+
+# Sound Modules
+BOOTSTRAP_EXTRA_RDEPENDS_append_c7x0 = " kernel-module-snd-soc-corgi "
+BOOTSTRAP_EXTRA_RDEPENDS_append_akita = " kernel-module-snd-soc-spitz "
+BOOTSTRAP_EXTRA_RDEPENDS_append_spitz = " kernel-module-snd-soc-spitz "
+# For OSS
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-snd-mixer-oss kernel-module-snd-pcm-oss" \ No newline at end of file
diff --git a/meta/conf/machine/include/zaurus-clamshell.conf b/meta/conf/machine/include/zaurus-clamshell.conf
new file mode 100644
index 0000000000..dfbbe5024e
--- /dev/null
+++ b/meta/conf/machine/include/zaurus-clamshell.conf
@@ -0,0 +1,29 @@
+TARGET_ARCH = "arm"
+IPKG_EXTRA_ARCHS = "armv4 armv5te"
+
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x4000 -n"
+EXTRA_IMAGEDEPENDS += "sharp-flash-header-c700 zaurus-updater"
+
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
+ --output=${T}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}; \
+ cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \
+ ${T}/${IMAGE_NAME}.rootfs.jffs2 > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.img"
+
+# add a summary to the jffs2 file to make it mount a lot faster
+#EXTRA_IMAGECMD_jffs2 += "&& sumtool -i ${T}/${IMAGE_NAME}.rootfs.jffs2 \
+# -o ${T}/${IMAGE_NAME}.rootfs.jffs2.summary \
+# --eraseblock=0x4000"
+#IMAGE_CMD_jffs2 += "; cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \
+# ${T}/${IMAGE_NAME}.rootfs.jffs2.summary > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.summary.img"
+
+GUI_MACHINE_CLASS = "bigscreen"
+GPE_EXTRA_INSTALL += "gaim sylpheed"
+
+include conf/machine/include/handheld-common.conf
+
+# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
+include conf/machine/include/tune-xscale.conf
+
+SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/meta/conf/machine/ipaq-pxa270.conf b/meta/conf/machine/ipaq-pxa270.conf
new file mode 100644
index 0000000000..f5cc893c9c
--- /dev/null
+++ b/meta/conf/machine/ipaq-pxa270.conf
@@ -0,0 +1,63 @@
+#@TYPE: Machine
+#@NAME: iPAQ hx47xx hx2xxx
+#@DESCRIPTION: Machine configuration for the iPAQ with a pxa27x CPU devices
+
+TARGET_ARCH = "arm"
+IPKG_EXTRA_ARCHS = "armv4 armv5te ipaqpxa hx4700"
+#use this for a hx47xx ipaq
+PREFERRED_PROVIDER_virtual/kernel = "handhelds-pxa-2.6"
+
+#use this for a hx2xxx ipaq
+#PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
+
+PREFERRED_VERSION_orinoco-modules = "0.15rc1"
+
+ROOT_FLASH_SIZE = "80"
+
+EXTRA_IMAGECMD_jffs2 = "; sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \
+ -e 256KiB -p"
+
+MODUTILS = "26"
+PCMCIA_MANAGER = "pcmciautils"
+BOOTSTRAP_EXTRA_RDEPENDS = "kernel ipaq-boot-params "
+BOOTSTRAP_EXTRA_RRECOMMENDS += "${@linux_module_packages('${PXA270_MODULES}', d)}"
+BOOTSTRAP_EXTRA_RDEPENDS_append = " udev module-init-tools"
+
+PXA270_MODULES = "g_ether g_file_storage g_serial gadgetfs pxa27x_udc \
+ snd_pcm_oss snd_mixer_oss evdev mmc_block pcmcia hidp \
+ nls_cp437 nls_iso8859-1 nls_utf8 af_key"
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+include conf/machine/include/handheld-common.conf
+
+GUI_MACHINE_CLASS = "bigscreen"
+
+# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
+include conf/machine/include/tune-xscale.conf
+
+# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
+#include conf/machine/include/tune-iwmmxt.conf
+
+BOOTSTRAP_EXTRA_RRECOMMENDS += "${@linux_module_packages('${HX4700_MODULES}', d)}"
+HX4700_MODULES = "i2c-pxa asic3_mmc hx4700_bt hx4700_leds hx4700_navpt hx4700_pcmcia \
+ hx4700_ts hx4700_wlan snd_hx4700_audio hx4700_power"
+
+
+module_autoload_evdev = "evdev"
+module_autoload_hx4700_power = "hx4700_power"
+module_autoload_pcmcia = "pcmcia"
+module_autoload_hx4700_pcmcia = "hx4700_pcmcia"
+module_autoload_asic3_mmc = "asic3_mmc"
+module_autoload_mmc_block = "mmc_block"
+module_autoload_hx4700_ts = "hx4700_ts"
+module_autoload_hx4700_navpt = "hx4700_navpt"
+module_autoload_hx4700_bt = "hx4700_bt"
+module_autoload_snd-hx4700_audio = "snd-hx4700_audio"
+module_autoload_snd-pcm-oss = "snd-pcm-oss"
+module_autoload_snd-mixer-oss = "snd-mixer-oss"
+module_autoload_pxa27x_udc = "pxa27x_udc"
+
+#FIXME: this should be controlled by a userspace utility later.
+module_autoload_g_ether = "g_ether"
diff --git a/meta/conf/machine/jornada7xx.conf b/meta/conf/machine/jornada7xx.conf
new file mode 100644
index 0000000000..e8218138d5
--- /dev/null
+++ b/meta/conf/machine/jornada7xx.conf
@@ -0,0 +1,7 @@
+#@TYPE: Machine
+#@NAME: HP Jornada 7xx
+#@DESCRIPTION: Machine configuration for the SA1100 based HP Jornada 7xx palmtop computer
+
+TARGET_ARCH = "arm"
+
+include conf/machine/include/tune-strongarm.conf \ No newline at end of file
diff --git a/meta/conf/machine/nokia770.conf b/meta/conf/machine/nokia770.conf
new file mode 100644
index 0000000000..bf893660d4
--- /dev/null
+++ b/meta/conf/machine/nokia770.conf
@@ -0,0 +1,54 @@
+#@TYPE: Machine
+#@NAME: Nokia 770 internet tablet
+#@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet
+TARGET_ARCH = "arm"
+IPKG_EXTRA_ARCHS = "armv4 armv5te"
+
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-omap"
+PREFERRED_PROVIDER_virtual/bootloader = ""
+PREFERRED_PROVIDER_tslib = "tslib-maemo"
+
+XSERVER = "xserver-kdrive-omap"
+
+# 800x480 is big enough for me
+GUI_MACHINE_CLASS = "bigscreen"
+GPE_EXTRA_INSTALL += "gaim sylpheed gpe-mini-browser tscalib"
+
+# Use tune-arm926 per default. Machine independent feeds should be built with tune-strongarm.
+include conf/machine/include/tune-arm926ejs.conf
+
+
+#size of the root partition (yes, it is 123 MB)
+ROOT_FLASH_SIZE = "123"
+EXTRA_IMAGECMD_jffs2_nokia770 = "--pad --little-endian --eraseblock=0x20000"
+
+# serial console port on devboard rev. B3
+SERIAL_CONSOLE = "115200 ttyS0"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-nokia770"
+
+BOOTSTRAP_EXTRA_RDEPENDS += "sysfsutils nokia770-init \
+${PCMCIA_MANAGER} apm ppp wireless-tools console-tools"
+
+# NFS Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-nfs kernel-module-lockd kernel-module-sunrpc"
+# Crypto Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-des kernel-module-md5"
+# SMB and CRAMFS
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-smbfs kernel-module-cramfs"
+# Serial Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-8250 "
+# Bluetooth Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-bluetooth kernel-module-l2cap kernel-module-rfcomm kernel-module-hci-vhci \
+# kernel-module-bnep kernel-module-hidp kernel-module-hci-uart kernel-module-sco"
+# PPP Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-ppp-generic kernel-module-ppp-async"
+
+#USB Gadget Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-gadgetfs kernel-module-g-file-storage kernel-module-g-serial \
+# kernel-module-g-ether"
+
+ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; "
+
+include conf/machine/include/handheld-common.conf
+
diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
new file mode 100644
index 0000000000..3341efd1a7
--- /dev/null
+++ b/meta/conf/machine/qemuarm.conf
@@ -0,0 +1,46 @@
+#@TYPE: Machine
+#@NAME: qemu ARM Emulator setup
+#@DESCRIPTION: Machine configuration for running an ARM system under qemu emulation
+
+TARGET_ARCH = "arm"
+IPKG_EXTRA_ARCHS = "armv4 armv5te"
+
+PCMCIA_MANAGER = "pcmciautils"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+GUI_MACHINE_CLASS = "bigscreen"
+GPE_EXTRA_INSTALL += "gaim sylpheed"
+
+include conf/machine/include/handheld-common.conf
+include conf/machine/include/tune-arm926ejs.conf
+
+SERIAL_CONSOLE = "115200 ttyAMA0"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-openzaurus"
+
+BOOTSTRAP_EXTRA_RDEPENDS += "kernel udev sysfsutils spectrum-fw \
+pcmciautils apm wireless-tools irda-utils udev-utils console-tools hostap-utils prism3-firmware prism3-support \
+ppp ppp-dialin openswan wpa-supplicant-nossl alsa-utils-alsactl alsa-utils-alsamixer module-init-tools alsa-conf"
+
+# Ethernet modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-pcnet-cs"
+# NFS Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-nfs kernel-module-lockd kernel-module-sunrpc"
+# Crypto Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-des kernel-module-md5"
+# SMB and CRAMFS
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-smbfs kernel-module-cramfs"
+# Serial Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-8250 kernel-module-serial-cs"
+# Bluetooth Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-bluetooth kernel-module-l2cap kernel-module-rfcomm kernel-module-hci-vhci \
+# kernel-module-bnep kernel-module-hidp kernel-module-hci-uart kernel-module-sco \
+# kernel-module-bt3c-cs kernel-module-bluecard-cs kernel-module-btuart-cs kernel-module-dtl1-cs"
+# Infrared Modules
+#BOOTSTRAP_EXTRA_RDEPENDS += "kernel-module-irda kernel-module-ircomm \
+# kernel-module-ircomm-tty kernel-module-irlan kernel-module-irnet kernel-module-ir-usb"
+
+IMAGE_FSTYPES = "tar.bz2"
+
+ROOT_FLASH_SIZE = "100"
+# actually that should really read ROOTFS_SIZE = "100", because with modern kernels,
+# we boot from the built-in harddisk in C3000. ROOT_FLASH_SIZE is really 5 MegaByte
diff --git a/meta/conf/machine/spitz.conf b/meta/conf/machine/spitz.conf
new file mode 100644
index 0000000000..f78dd7a3b9
--- /dev/null
+++ b/meta/conf/machine/spitz.conf
@@ -0,0 +1,18 @@
+#@TYPE: Machine
+#@NAME: Sharp Zaurus SL-C3000
+#@DESCRIPTION: Machine configuration for the Sharp Zaurus SL-C3000 device
+
+include conf/machine/include/zaurus-clamshell.conf
+include conf/machine/include/zaurus-clamshell-2.6.conf
+
+PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}"
+PIVOTBOOT_EXTRA_RRECOMMENDS += ""
+
+# Useful things for the built-in Harddisk
+BOOTSTRAP_EXTRA_RDEPENDS += "hdparm e2fsprogs e2fsprogs-e2fsck e2fsprogs-mke2fs"
+
+IMAGE_FSTYPES = "jffs2 tar.gz"
+
+ROOT_FLASH_SIZE = "100"
+# actually that should really read ROOTFS_SIZE = "100", because with modern kernels,
+# we boot from the built-in harddisk in C3000. ROOT_FLASH_SIZE is really 5 MegaByte
diff --git a/meta/conf/sanity.conf b/meta/conf/sanity.conf
new file mode 100644
index 0000000000..93700ef145
--- /dev/null
+++ b/meta/conf/sanity.conf
@@ -0,0 +1,8 @@
+# Sanity checks for common user misconfigurations
+#
+# See sanity.bbclass
+#
+# Expert users can confirm their sanity with "touch conf/sanity.conf"
+BB_MIN_VERSION = "1.3.3"
+INHERIT += "sanity"
+
diff --git a/meta/files/device_table-minimal.txt b/meta/files/device_table-minimal.txt
new file mode 100644
index 0000000000..66cafae8c5
--- /dev/null
+++ b/meta/files/device_table-minimal.txt
@@ -0,0 +1,20 @@
+/dev/initctl p 600 0 0 - - - -
+/dev/apm_bios c 660 0 46 10 134 - - -
+/dev/fb0 c 600 0 0 29 0 - - -
+/dev/hda b 660 0 6 3 0 - - -
+/dev/hda b 660 0 6 3 1 1 1 20
+/dev/kmem c 640 0 15 1 2 - - -
+/dev/mem c 640 0 15 1 1 - - -
+/dev/null c 666 0 0 1 3 - - -
+/dev/ram b 640 0 0 1 0 0 1 4
+/dev/tty c 662 0 5 5 0 - - -
+/dev/tty c 666 0 5 4 0 0 1 9
+/dev/ttyS c 640 0 5 4 64 0 1 1
+/dev/ttySA c 640 0 5 204 5 0 1 1
+/dev/zero c 644 0 0 1 5 - -
+/dev/mtd c 660 0 6 90 0 0 2 8
+/dev/mtdblock b 640 0 0 31 0 0 1 8
+/dev/console c 662 0 5 5 1 - -
+/bin/tinylogin f 4755 0 0 - - - -
+/bin/mount f 4755 0 0 - - - -
+/bin/umount f 4755 0 0 - - - -
diff --git a/meta/packages/alsa/alsa-lib_1.0.10.bb b/meta/packages/alsa/alsa-lib_1.0.10.bb
new file mode 100644
index 0000000000..a5d5426316
--- /dev/null
+++ b/meta/packages/alsa/alsa-lib_1.0.10.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Alsa sound library"
+MAINTAINER = "Lorn Potter <lpotter@trolltech.com>"
+SECTION = "libs/multimedia"
+LICENSE = "GPL"
+
+# configure.in sets -D__arm__ on the command line for any arm system
+# (not just those with the ARM instruction set), this should be removed,
+# (or replaced by a permitted #define).
+#FIXME: remove the following
+ARM_INSTRUCTION_SET = "arm"
+
+SRC_URI = "ftp://ftp.alsa-project.org/pub/lib/alsa-lib-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--with-cards=pdaudiocf --with-oss=yes"
+
+do_stage () {
+ oe_libinstall -so -C src libasound ${STAGING_LIBDIR}/
+ install -d ${STAGING_INCDIR}/alsa/sound
+ install -m 0644 include/*.h ${STAGING_INCDIR}/alsa/
+ install -m 0644 include/sound/ainstr*.h ${STAGING_INCDIR}/alsa/sound/
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 utils/alsa.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+PACKAGES = "libasound alsa-server alsa-conf alsa-doc alsa-dev"
+FILES_libasound = "${libdir}/libasound.so*"
+FILES_alsa-server = "${bindir}"
+FILES_alsa-conf = "${datadir}"
+FILES_alsa-dev = "${libdir}/pkgconfig/ /usr/include/"
diff --git a/meta/packages/alsa/alsa-oss_1.0.10.bb b/meta/packages/alsa/alsa-oss_1.0.10.bb
new file mode 100644
index 0000000000..acf2ba7505
--- /dev/null
+++ b/meta/packages/alsa/alsa-oss_1.0.10.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Alsa OSS Compatibility Package"
+MAINTAINER = "Lorn Potter <lpotter@trolltech.com>"
+SECTION = "libs/multimedia"
+LICENSE = "GPL"
+DEPENDS = "alsa-lib"
+
+SRC_URI = "ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-${PV}.tar.bz2"
+
+inherit autotools
+
+do_configure_prepend () {
+ touch NEWS README AUTHORS ChangeLog
+}
+
+do_stage () {
+ oe_libinstall -C alsa -a -so libaoss ${STAGING_LIBDIR}
+ oe_libinstall -C alsa -a -so libalsatoss ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/alsa/alsa-tools_1.0.10.bb b/meta/packages/alsa/alsa-tools_1.0.10.bb
new file mode 100644
index 0000000000..eed86e5dba
--- /dev/null
+++ b/meta/packages/alsa/alsa-tools_1.0.10.bb
@@ -0,0 +1,10 @@
+BROKEN = "1"
+
+DESCRIPTION = "Alsa Tools"
+SECTION = "console/utils"
+LICENSE = "GPL"
+DEPENDS = "alsa-lib"
+
+SRC_URI = "ftp://ftp.alsa-project.org/pub/tools/alsa-tools-${PV}.tar.bz2"
+
+inherit autotools
diff --git a/meta/packages/alsa/alsa-utils_1.0.10.bb b/meta/packages/alsa/alsa-utils_1.0.10.bb
new file mode 100644
index 0000000000..94e49ebf25
--- /dev/null
+++ b/meta/packages/alsa/alsa-utils_1.0.10.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "ALSA Utilities"
+MAINTAINER = "Lorn Potter <lpotter@trolltech.com>"
+SECTION = "console/utils"
+LICENSE = "GPL"
+DEPENDS = "alsa-lib ncurses"
+
+SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2"
+
+inherit autotools
+
+# This are all packages that we need to make. Also, the now empty alsa-utils
+# ipk depend on them.
+
+PACKAGES += "alsa-utils-alsamixer"
+PACKAGES += "alsa-utils-midi"
+PACKAGES += "alsa-utils-aplay"
+PACKAGES += "alsa-utils-amixer"
+PACKAGES += "alsa-utils-aconnect"
+PACKAGES += "alsa-utils-iecset"
+PACKAGES += "alsa-utils-speakertest"
+PACKAGES += "alsa-utils-aseqnet"
+PACKAGES += "alsa-utils-alsactl"
+
+
+# We omit alsaconf, because
+# a) this is a bash script
+# b) it creates config files for RedHat, Debian, Mandrake etc, but not
+# for Familiar, OpenZaurus etc
+
+
+FILES_${PN} = ""
+FILES_alsa-utils-aplay = "${bindir}/aplay ${bindir}/arecord"
+FILES_alsa-utils-amixer = "${bindir}/amixer"
+FILES_alsa-utils-alsamixer = "${bindir}/alsamixer"
+FILES_alsa-utils-speakertest = "${bindir}/speaker-test"
+FILES_alsa-utils-midi = "${bindir}/aplaymidi ${bindir}/arecordmidi ${bindir}/amidi"
+FILES_alsa-utils-aconnect = "${bindir}/aconnect"
+FILES_alsa-utils-aseqnet = "${bindir}/aseqnet"
+FILES_alsa-utils-iecset = "${bindir}/iecset"
+FILES_alsa-utils-alsactl = "${sbindir}/alsactl"
+
+DESCRIPTION_alsa-utils-aplay = "play (and record) sound files via ALSA"
+DESCRIPTION_alsa-utils-amixer = "command-line based control for ALSA mixer and settings"
+DESCRIPTION_alsa-utils-alsamixer = "ncurses based control for ALSA mixer and settings"
+#DESCRIPTION_alsa-utils-speaker-test= "??"
+DESCRIPTION_alsa-utils-midi = "miscalleanous MIDI utilities for ALSA"
+DESCRIPTION_alsa-utils-aconnect = "ALSA sequencer connection manager"
+DESCRIPTION_alsa-utils-aseqnet = "network client/server on ALSA sequencer"
+DESCRIPTION_alsa-utils-alsactl = "saves/restores ALSA-settings in /etc/asound.state"
+DESCRIPTION_alsa-utils-alsaconf = "a bash script that creates ALSA configuration files"
+
+RDEPENDS_alsa-utils-aplay += "alsa-conf"
+RDEPENDS_alsa-utils-amixer += "alsa-conf"
+
+ALLOW_EMPTY_alsa-utils = "1"
diff --git a/meta/packages/alsa/files/alsa-utils-sys-siglist.patch b/meta/packages/alsa/files/alsa-utils-sys-siglist.patch
new file mode 100644
index 0000000000..8c499e8d63
--- /dev/null
+++ b/meta/packages/alsa/files/alsa-utils-sys-siglist.patch
@@ -0,0 +1,15 @@
+sys_siglist is not supported by default on uclibc and is, in general,
+a bad thing for the same reasons as sys_errlist is a bad thing. GNU
+supports strsignal in the manner of strerror
+
+--- alsa-utils-1.0.8/alsamixer/alsamixer.c.orig 2005-09-06 12:44:41.415219126 -0700
++++ alsa-utils-1.0.8/alsamixer/alsamixer.c 2005-09-06 12:44:43.407344482 -0700
+@@ -2188,7 +2188,7 @@
+ mixer_signal_handler (int signal)
+ {
+ if (signal != SIGSEGV)
+- mixer_abort (ERR_SIGNAL, sys_siglist[signal], 0);
++ mixer_abort (ERR_SIGNAL, strsignal(signal), 0);
+ else
+ {
+ fprintf (stderr, "\nSegmentation fault.\n");
diff --git a/meta/packages/apmd/apmd-3.2.2/apmd_proxy b/meta/packages/apmd/apmd-3.2.2/apmd_proxy
new file mode 100644
index 0000000000..c48ee4e5d5
--- /dev/null
+++ b/meta/packages/apmd/apmd-3.2.2/apmd_proxy
@@ -0,0 +1,91 @@
+#!/bin/sh
+#
+# apmd_proxy - program dispatcher for APM daemon
+#
+# Written by Craig Markwardt (craigm@lheamail.gsfc.nasa.gov) 21 May 1999
+# Modified for Debian by Avery Pennarun
+#
+# This shell script is called by the APM daemon (apmd) when a power
+# management event occurs. Its first and second arguments describe the
+# event. For example, apmd will call "apmd_proxy suspend system" just
+# before the system is suspended.
+#
+# Here are the possible arguments:
+#
+# start - APM daemon has started
+# stop - APM daemon is shutting down
+# suspend critical - APM system indicates critical suspend (++)
+# suspend system - APM system has requested suspend mode
+# suspend user - User has requested suspend mode
+# standby system - APM system has requested standby mode
+# standby user - User has requested standby mode
+# resume suspend - System has resumed from suspend mode
+# resume standby - System has resumed from standby mode
+# resume critical - System has resumed from critical suspend
+# change battery - APM system reported low battery
+# change power - APM system reported AC/battery change
+# change time - APM system reported time change (*)
+# change capability - APM system reported config. change (+)
+#
+# (*) - APM daemon may be configured to not call these sequences
+# (+) - Available if APM kernel supports it.
+# (++) - "suspend critical" is never passed to apmd from the kernel,
+# so we will never see it here. Scripts that process "resume
+# critical" events need to take this into account.
+#
+# It is the proxy script's responsibility to examine the APM status
+# (via /proc/apm) or other status and to take appropriate actions.
+# For example, the script might unmount network drives before the
+# machine is suspended.
+#
+# In Debian, the usual way of adding functionality to the proxy is to
+# add a script to /etc/apm/event.d. This script will be called by
+# apmd_proxy (via run-parts) with the same arguments.
+#
+# If it is important that a certain set of script be run in a certain
+# order on suspend and in a different order on resume, then put all
+# the scripts in /etc/apm/scripts.d instead of /etc/apm/event.d and
+# symlink to these from /etc/apm/suspend.d, /etc/apm/resume.d and
+# /etc/apm/other.d using names whose lexicographical order is the same
+# as the desired order of execution.
+#
+# If the kernel's APM driver supports it, apmd_proxy can return a non-zero
+# exit status on suspend and standby events, indicating that the suspend
+# or standby event should be rejected.
+#
+# *******************************************************************
+
+set -e
+
+# The following doesn't yet work, because current kernels (up to at least
+# 2.4.20) do not support rejection of APM events. Supporting this would
+# require substantial modifications to the APM driver. We will re-enable
+# this feature if the driver is ever modified. -- cph@debian.org
+#
+#SUSPEND_ON_AC=false
+#[ -r /etc/apm/apmd_proxy.conf ] && . /etc/apm/apmd_proxy.conf
+#
+#if [ "${SUSPEND_ON_AC}" = "false" -a "${2}" = "system" ] \
+# && on_ac_power >/dev/null; then
+# # Reject system suspends and standbys if we are on AC power
+# exit 1 # Reject (NOTE kernel support must be enabled)
+#fi
+
+if [ "${1}" = "suspend" -o "${1}" = "standby" ]; then
+ run-parts -a "${1}" -a "${2}" /etc/apm/event.d
+ if [ -d /etc/apm/suspend.d ]; then
+ run-parts -a "${1}" -a "${2}" /etc/apm/suspend.d
+ fi
+elif [ "${1}" = "resume" ]; then
+ if [ -d /etc/apm/resume.d ]; then
+ run-parts -a "${1}" -a "${2}" /etc/apm/resume.d
+ fi
+ run-parts -a "${1}" -a "${2}" /etc/apm/event.d
+else
+ run-parts -a "${1}" -a "${2}" /etc/apm/event.d
+ if [ -d /etc/apm/other.d ]; then
+ run-parts -a "${1}" -a "${2}" /etc/apm/other.d
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/apmd/apmd-3.2.2/apmd_proxy.conf b/meta/packages/apmd/apmd-3.2.2/apmd_proxy.conf
new file mode 100644
index 0000000000..751145c522
--- /dev/null
+++ b/meta/packages/apmd/apmd-3.2.2/apmd_proxy.conf
@@ -0,0 +1,16 @@
+# /etc/apm/apmd_proxy.conf: configuration file for apmd.
+#
+# This file is managed by debconf when installing or reconfiguring the
+# package. It is generated by merging the answers gathered by debconf
+# into the template file "/usr/share/apmd/apmd_proxy.conf".
+
+# The following doesn't yet work, because current kernels (up to at least
+# 2.4.20) do not support rejection of APM events. Supporting this would
+# require substantial modifications to the APM driver. We will re-enable
+# this feature if the driver is ever modified. -- cph@debian.org
+#
+# Set the following to "false" if you want to reject system suspend or
+# system standby requests when the computer is running on AC power.
+# Otherwise set this to "true". Such requests are never rejected when
+# the computer is running on battery power.
+#SUSPEND_ON_AC=true
diff --git a/meta/packages/apmd/apmd-3.2.2/debian.patch b/meta/packages/apmd/apmd-3.2.2/debian.patch
new file mode 100644
index 0000000000..d49e524bbd
--- /dev/null
+++ b/meta/packages/apmd/apmd-3.2.2/debian.patch
@@ -0,0 +1,54 @@
+--- apmd-3.2.2.orig/apmd.c
++++ apmd-3.2.2/apmd.c
+@@ -343,7 +343,7 @@
+ /* parent */
+ int status, retval;
+ ssize_t len;
+- time_t time_limit;
++ time_t countdown;
+
+ if (pid < 0) {
+ /* Couldn't fork */
+@@ -356,8 +356,9 @@
+ /* Capture the child's output, if any, but only until it terminates */
+ close(fds[1]);
+ fcntl(fds[0], F_SETFL, O_RDONLY|O_NONBLOCK);
+- time_limit = time(0) + proxy_timeout;
++ countdown = proxy_timeout;
+ do {
++ countdown -= 1;
+ while ((len = read(fds[0], line, sizeof(line)-1)) > 0) {
+ line[len] = 0;
+ APMD_SYSLOG(LOG_INFO, "+ %s", line);
+@@ -372,16 +373,16 @@
+ goto proxy_done;
+ }
+
+- sleep(1);
++ while (sleep(1) > 0) ;
+ } while (
+- (time(0) < time_limit)
++ (countdown >= 0)
+ || (proxy_timeout < 0)
+ );
+
+ APMD_SYSLOG(LOG_NOTICE, "Proxy has been running more than %d seconds; killing it", proxy_timeout);
+
+ kill(pid, SIGTERM);
+- time_limit = time(0) + 5;
++ countdown = 5;
+ do {
+ retval = waitpid(pid, &status, WNOHANG);
+ if (retval == pid)
+@@ -392,9 +393,9 @@
+ goto proxy_done;
+ }
+
+- sleep(1);
++ while (sleep(1) > 0) ;
+
+- } while (time(0) < time_limit);
++ } while (countdown >= 0);
+
+ kill(pid, SIGKILL);
+ status = __W_EXITCODE(0, SIGKILL);
diff --git a/meta/packages/apmd/apmd-3.2.2/default b/meta/packages/apmd/apmd-3.2.2/default
new file mode 100644
index 0000000000..4b7965abf8
--- /dev/null
+++ b/meta/packages/apmd/apmd-3.2.2/default
@@ -0,0 +1,8 @@
+#
+# Default for /etc/init.d/apmd
+#
+
+# As apmd can be called with arguments, we use the following variable
+# to store them, e.g., APMD="-w 5 -p 2".
+# See the manual page apmd(8) for details.
+APMD="--proxy-timeout 30"
diff --git a/meta/packages/apmd/apmd-3.2.2/init b/meta/packages/apmd/apmd-3.2.2/init
new file mode 100755
index 0000000000..f1098a752d
--- /dev/null
+++ b/meta/packages/apmd/apmd-3.2.2/init
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# Start or stop the Advanced Power Management daemon.
+#
+# Written by Dirk Eddelbuettel <edd@debian.org>
+# Greatly modified by Avery Pennarun <apenwarr@debian.org>
+#
+# I think this script is now free of bashisms.
+# Please correct me if I'm wrong!
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+[ -f /etc/default/apmd ] && . /etc/default/apmd
+
+case "$1" in
+ start)
+ echo -n "Starting advanced power management daemon: "
+ start-stop-daemon -S -x /usr/sbin/apmd -- \
+ -P /etc/apm/apmd_proxy $APMD
+ if [ $? = 0 ]; then
+ echo "apmd."
+ else
+ echo "(failed.)"
+ fi
+ ;;
+ stop)
+ echo -n "Stopping advanced power management daemon: "
+ start-stop-daemon -K \
+ -x /usr/sbin/apmd
+ echo "apmd."
+ ;;
+ restart|force-reload)
+ $0 stop
+ $0 start
+ exit
+ ;;
+ *)
+ echo "Usage: /etc/init.d/apmd {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/apmd/apmd-3.2.2/workaround.patch b/meta/packages/apmd/apmd-3.2.2/workaround.patch
new file mode 100644
index 0000000000..19cf073115
--- /dev/null
+++ b/meta/packages/apmd/apmd-3.2.2/workaround.patch
@@ -0,0 +1,55 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- apmd-3.2.2.orig/apmd.c~workaround.patch
++++ apmd-3.2.2.orig/apmd.c
+@@ -158,6 +158,7 @@
+ static int quiet_bios_batlow; /* = 0 */
+ static int verbosity = DEFAULT_VERBOSITY;
+ static int warn_level = 10;
++static int sleep_now = 0; /* ntp */
+
+ static uid_t apmd_uid = 0;
+ static int apmd_fd = -1;
+@@ -942,6 +943,12 @@
+ exit(0);
+ }
+
++/* ntp */
++static void sig_usr1(int sig)
++{
++ sleep_now = 1;
++}
++
+ int main(int argc, char **argv)
+ {
+ int c;
+@@ -1151,6 +1158,8 @@
+ openlog("apmd", (verbosity>=LOG_DEBUG)?LOG_PERROR:0 | LOG_PID | LOG_CONS, LOG_DAEMON);
+
+ /* Set up signal handler */
++ if (signal(SIGUSR1, SIG_IGN) != SIG_IGN)
++ signal(SIGUSR1, sig_usr1); /* ntp */
+ if (signal(SIGINT, SIG_IGN) != SIG_IGN)
+ signal(SIGINT, sig_handler);
+ if (signal(SIGQUIT, SIG_IGN) != SIG_IGN)
+@@ -1230,9 +1239,16 @@
+
+ for (;;)
+ {
+- int num_events = apm_get_events(apmd_fd, check_interval, events, MAX_EVENTS);
++ int num_events;
+ int e, a;
+
++ /* ntp */
++ if (sleep_now) {
++ sleep_now = 0;
++ handle_event(APM_USER_SUSPEND, &apminfo);
++ }
++
++ num_events = apm_get_events(apmd_fd, check_interval, events, MAX_EVENTS);
+ apm_read(&apminfo);
+
+ if (num_events == 0) {
diff --git a/meta/packages/apmd/apmd-3.2.2/zaurus24.patch b/meta/packages/apmd/apmd-3.2.2/zaurus24.patch
new file mode 100644
index 0000000000..5df016ab77
--- /dev/null
+++ b/meta/packages/apmd/apmd-3.2.2/zaurus24.patch
@@ -0,0 +1,50 @@
+Index: apmd-3.2.2.orig/apm.c
+===================================================================
+--- apmd-3.2.2.orig.orig/apm.c 2006-01-26 15:15:27.000000000 +0100
++++ apmd-3.2.2.orig/apm.c 2006-01-26 17:50:14.000000000 +0100
+@@ -24,10 +24,12 @@
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/utsname.h>
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <time.h>
+ #include <getopt.h>
++#include <signal.h>
+ #include "apm.h"
+
+ static int verbose = 0;
+@@ -43,6 +45,9 @@
+ int fd;
+ time_t then, now;
+ int error;
++ FILE* pid_file;
++ int apmd_pid;
++ struct utsname uname_ver;
+
+ fd = open(APM_DEVICE, O_WRONLY);
+ if (fd < 0)
+@@ -54,6 +59,22 @@
+ switch (mode)
+ {
+ case SUSPEND:
++ if(0 == system("grep -i hardware /proc/cpuinfo|grep -i SHARP"))
++ {
++ uname(&uname_ver);
++
++ if(0 == strncmp("2.4", uname_ver.release, 3))
++ {
++ pid_file = fopen("/var/run/apmd.pid", "r");
++ if(pid_file)
++ {
++ fscanf(pid_file, "%d", &apmd_pid);
++ fclose(pid_file);
++ }
++
++ kill(apmd_pid, SIGKILL);
++ }
++ }
+ error = apm_suspend(fd);
+ break;
+ case STANDBY:
diff --git a/meta/packages/apmd/apmd_3.2.2.bb b/meta/packages/apmd/apmd_3.2.2.bb
new file mode 100644
index 0000000000..4a23f39590
--- /dev/null
+++ b/meta/packages/apmd/apmd_3.2.2.bb
@@ -0,0 +1,64 @@
+DESCRIPTION = "Set of tools for managing notebook power consumption."
+SECTION = "base"
+PRIORITY = "required"
+DEPENDS = "libtool-cross"
+LICENSE = "GPL"
+PR = "r7"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/a/apmd/apmd_${PV}.orig.tar.gz; \
+ file://debian.patch;patch=1 \
+ file://workaround.patch;patch=1 \
+ file://zaurus24.patch;patch=1 \
+ file://init \
+ file://default \
+ file://apmd_proxy \
+ file://apmd_proxy.conf"
+
+S = "${WORKDIR}/apmd-${PV}.orig"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "apmd"
+INITSCRIPT_PARAMS = "defaults"
+
+do_compile() {
+ oe_runmake "LIBTOOL=${STAGING_BINDIR}/${TARGET_PREFIX}libtool" apm apmd
+}
+
+do_stage() {
+ install -m 0644 apm.h ${STAGING_INCDIR}
+ oe_libinstall -so libapm ${STAGING_LIBDIR}
+}
+
+do_install() {
+ install -d ${D}${sysconfdir}
+ install -d ${D}${sysconfdir}/apm
+ install -d ${D}${sysconfdir}/apm/event.d
+ install -d ${D}${sysconfdir}/apm/other.d
+ install -d ${D}${sysconfdir}/apm/suspend.d
+ install -d ${D}${sysconfdir}/apm/resume.d
+ install -d ${D}${sysconfdir}/apm/scripts.d
+ install -d ${D}${sysconfdir}/default
+ install -d ${D}${sysconfdir}/init.d
+ install -d ${D}${sbindir}
+ install -d ${D}${bindir}
+ install -d ${D}${libdir}
+ install -d ${D}${datadir}/apmd
+
+ install -m 4755 ${S}/.libs/apm ${D}${bindir}/apm
+ install -m 0755 ${S}/.libs/apmd ${D}${sbindir}/apmd
+ install -m 0755 ${WORKDIR}/apmd_proxy ${D}${sysconfdir}/apm/
+ install -m 0644 ${WORKDIR}/apmd_proxy.conf ${D}${datadir}/apmd/
+ install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/apmd
+ oe_libinstall -so libapm ${D}${libdir}
+ install -m 0644 apm.h ${D}${includedir}
+
+ cat ${WORKDIR}/init | sed -e 's,/usr/sbin,${sbindir},g; s,/etc,${sysconfdir},g;' > ${D}${sysconfdir}/init.d/apmd
+ chmod 755 ${D}${sysconfdir}/init.d/apmd
+}
+
+PACKAGES =+ "libapm libapm-dev apm"
+
+FILES_libapm = "${libdir}/libapm.so.*"
+FILES_libapm-dev = "${libdir}/libapm.* ${includedir}"
+FILES_apm = "${bindir}/apm*"
diff --git a/meta/packages/atk/atk_1.10.1.bb b/meta/packages/atk/atk_1.10.1.bb
new file mode 100644
index 0000000000..6424167ca2
--- /dev/null
+++ b/meta/packages/atk/atk_1.10.1.bb
@@ -0,0 +1,21 @@
+DEPENDS = "glib-2.0 gtk-doc"
+DESCRIPTION = "An accessibility toolkit for GNOME."
+SECTION = "x11/libs"
+PRIORITY = "optional"
+MAINTAINER = "Philip Blundell <pb@handhelds.org>"
+LICENSE = "LGPL"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.8/atk-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-glibtest"
+
+CFLAGS_append = " -I${STAGING_INCDIR}/glib-2.0 \
+ -I${STAGING_INCDIR}/glib-2.0/glib \
+ -I${STAGING_INCDIR}/glib-2.0/gobject"
+
+do_stage () {
+ oe_libinstall -so -C atk libatk-1.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+}
diff --git a/meta/packages/autoconf/autoconf-2.59/autoconf-x.patch b/meta/packages/autoconf/autoconf-2.59/autoconf-x.patch
new file mode 100644
index 0000000000..596535b7d6
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/autoconf-x.patch
@@ -0,0 +1,36 @@
+Index: lib/autoconf/libs.m4
+===================================================================
+RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/libs.m4,v
+retrieving revision 1.13
+diff -p -u -r1.13 libs.m4
+--- autoconf-2.59/lib/autoconf/libs.m4 6 Sep 2005 15:34:06 -0000 1.13
++++ autoconf-2.59/lib/autoconf/libs.m4 18 Sep 2005 17:09:58 -0000
+@@ -265,13 +265,13 @@ ac_x_header_dirs='
+ /usr/openwin/share/include'
+
+ if test "$ac_x_includes" = no; then
+- # Guess where to find include files, by looking for Intrinsic.h.
++ # Guess where to find include files, by looking for Xlib.h.
+ # First, try using that file with no special directory specified.
+- AC_PREPROC_IFELSE([AC_LANG_SOURCE([@%:@include <X11/Intrinsic.h>])],
++ AC_PREPROC_IFELSE([AC_LANG_SOURCE([@%:@include <X11/Xlib.h>])],
+ [# We can compile using X headers with no special include directory.
+ ac_x_includes=],
+ [for ac_dir in $ac_x_header_dirs; do
+- if test -r "$ac_dir/X11/Intrinsic.h"; then
++ if test -r "$ac_dir/X11/Xlib.h"; then
+ ac_x_includes=$ac_dir
+ break
+ fi
+@@ -284,9 +284,9 @@ if test "$ac_x_libraries" = no; then
+ # Don't add to $LIBS permanently.
+ ac_save_LIBS=$LIBS
+- LIBS="-lXt $LIBS"
+- AC_LINK_IFELSE([AC_LANG_PROGRAM([@%:@include <X11/Intrinsic.h>],
+- [XtMalloc (0)])],
++ LIBS="-lX11 $LIBS"
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([@%:@include <X11/Xlib.h>],
++ [XrmInitialize ()])],
+ [LIBS=$ac_save_LIBS
+ # We can link X programs with no special library path.
+ ac_x_libraries=],
diff --git a/meta/packages/autoconf/autoconf-2.59/autoconf259-update-configscripts.patch b/meta/packages/autoconf/autoconf-2.59/autoconf259-update-configscripts.patch
new file mode 100644
index 0000000000..77be3c647c
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/autoconf259-update-configscripts.patch
@@ -0,0 +1,393 @@
+--- autoconf-2.59/config/config.guess.old 2003-10-23 10:28:51.000000000 -0400
++++ autoconf-2.59/config/config.guess 2004-04-24 22:36:28.000000000 -0400
+@@ -3,7 +3,7 @@
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ # 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+-timestamp='2003-10-03'
++timestamp='2004-03-12'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -197,12 +197,18 @@
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit 0 ;;
++ amd64:OpenBSD:*:*)
++ echo x86_64-unknown-openbsd${UNAME_RELEASE}
++ exit 0 ;;
+ amiga:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ arc:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
++ cats:OpenBSD:*:*)
++ echo arm-unknown-openbsd${UNAME_RELEASE}
++ exit 0 ;;
+ hp300:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+@@ -221,6 +227,9 @@
+ mvmeppc:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
++ pegasos:OpenBSD:*:*)
++ echo powerpc-unknown-openbsd${UNAME_RELEASE}
++ exit 0 ;;
+ pmax:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+@@ -236,10 +245,24 @@
+ *:OpenBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
++ *:ekkoBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++ exit 0 ;;
++ macppc:MirBSD:*:*)
++ echo powerppc-unknown-mirbsd${UNAME_RELEASE}
++ exit 0 ;;
++ *:MirBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++ exit 0 ;;
+ alpha:OSF1:*:*)
+- if test $UNAME_RELEASE = "V4.0"; then
++ case $UNAME_RELEASE in
++ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+- fi
++ ;;
++ *5.*)
++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++ ;;
++ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+@@ -277,11 +300,12 @@
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
++ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit 0 ;;
+ Alpha*:OpenVMS:*:*)
+ echo alpha-hp-vms
+@@ -307,6 +331,9 @@
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit 0 ;;
++ *:OS400:*:*)
++ echo powerpc-ibm-os400
++ exit 0 ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit 0;;
+@@ -399,6 +426,9 @@
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit 0 ;;
++ m68k:machten:*:*)
++ echo m68k-apple-machten${UNAME_RELEASE}
++ exit 0 ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
+@@ -742,6 +772,11 @@
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit 0 ;;
++ 5000:UNIX_System_V:4.*:*)
++ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ exit 0 ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+@@ -751,7 +786,7 @@
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+- *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
++ *:FreeBSD:*:*)
+ # Determine whether the default compiler uses glibc.
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -763,7 +798,7 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+- # GNU/FreeBSD systems have a "k" prefix to indicate we are using
++ # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
+ # FreeBSD's kernel, but not the complete OS.
+ case ${LIBC} in gnu) kernel_only='k' ;; esac
+ echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+@@ -799,8 +834,13 @@
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ *:GNU:*:*)
++ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit 0 ;;
++ *:GNU/*:*:*)
++ # other systems with GNU libc and userland
++ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
++ exit 0 ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit 0 ;;
+@@ -813,6 +853,9 @@
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
++ m32r*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit 0 ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+@@ -981,6 +1024,9 @@
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit 0 ;;
++ i*86:syllable:*:*)
++ echo ${UNAME_MACHINE}-pc-syllable
++ exit 0 ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+@@ -1052,7 +1098,7 @@
+ exit 0 ;;
+ M68*:*:R3V[567]*:*)
+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
++ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+@@ -1167,7 +1213,7 @@
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit 0 ;;
+- NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*)
++ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit 0 ;;
+ *:NonStop-UX:*:*)
+@@ -1211,6 +1257,9 @@
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit 0 ;;
++ *:DragonFly:*:*)
++ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++ exit 0 ;;
+ esac
+
+ #echo '(No uname command or uname output not recognized.)' 1>&2
+--- autoconf-2.59/config/config.sub.old 2003-10-23 10:28:51.000000000 -0400
++++ autoconf-2.59/config/config.sub 2004-04-24 22:36:28.000000000 -0400
+@@ -3,7 +3,7 @@
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ # 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+-timestamp='2003-08-18'
++timestamp='2004-03-12'
+
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -118,7 +118,8 @@
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+- nto-qnx* | linux-gnu* | linux-dietlibc | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
++ nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
++ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+@@ -236,7 +237,7 @@
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+- | m32r | m68000 | m68k | m88k | mcore \
++ | m32r | m32rle | m68000 | m68k | m88k | mcore \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+@@ -261,7 +262,7 @@
+ | pyramid \
+ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
++ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
+ | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+@@ -307,7 +308,7 @@
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+- | m32r-* \
++ | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | mcore-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+@@ -335,7 +336,7 @@
+ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
++ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tron-* \
+@@ -362,6 +363,9 @@
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
++ abacus)
++ basic_machine=abacus-unknown
++ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+@@ -379,6 +383,9 @@
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
++ amd64-*)
++ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+@@ -438,12 +445,20 @@
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
++ cr16c)
++ basic_machine=cr16c-unknown
++ os=-elf
++ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
++ crx)
++ basic_machine=crx-unknown
++ os=-elf
++ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+@@ -743,6 +758,10 @@
+ basic_machine=or32-unknown
+ os=-coff
+ ;;
++ os400)
++ basic_machine=powerpc-ibm
++ os=-os400
++ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+@@ -963,6 +982,10 @@
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
++ tpf)
++ basic_machine=s390x-ibm
++ os=-tpf
++ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+@@ -1058,7 +1081,7 @@
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+- sparc | sparcv9 | sparcv9b)
++ sparc | sparcv8 | sparcv9 | sparcv9b)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+@@ -1131,19 +1154,20 @@
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
+- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
++ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
++ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
++ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
++ | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+- | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
++ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+@@ -1182,6 +1206,9 @@
+ -opened*)
+ os=-openedition
+ ;;
++ -os400*)
++ os=-os400
++ ;;
+ -wince*)
+ os=-wince
+ ;;
+@@ -1203,6 +1230,9 @@
+ -atheos*)
+ os=-atheos
+ ;;
++ -syllable*)
++ os=-syllable
++ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+@@ -1225,6 +1255,9 @@
+ -sinix*)
+ os=-sysv4
+ ;;
++ -tpf*)
++ os=-tpf
++ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+@@ -1473,9 +1506,15 @@
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
++ -os400*)
++ vendor=ibm
++ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
++ -tpf*)
++ vendor=ibm
++ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
diff --git a/meta/packages/autoconf/autoconf-2.59/autoheader-nonfatal-warnings.patch b/meta/packages/autoconf/autoconf-2.59/autoheader-nonfatal-warnings.patch
new file mode 100644
index 0000000000..1f18e04bba
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/autoheader-nonfatal-warnings.patch
@@ -0,0 +1,13 @@
+--- autoconf-2.59/bin/autoheader.in~ 2003-10-10 14:52:56.000000000 +0100
++++ autoconf-2.59/bin/autoheader.in 2004-05-03 01:36:45.000000000 +0100
+@@ -272,8 +272,8 @@
+ }
+
+ }
+- exit 1
+- if keys %symbol;
++# exit 1
++# if keys %symbol;
+ }
+
+ update_file ("$tmp/config.hin", "$config_h_in");
diff --git a/meta/packages/autoconf/autoconf-2.59/autoreconf-exclude.patch b/meta/packages/autoconf/autoconf-2.59/autoreconf-exclude.patch
new file mode 100644
index 0000000000..7644955519
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/autoreconf-exclude.patch
@@ -0,0 +1,125 @@
+--- autoconf-2.59/bin/autoreconf.in 2004-05-06 00:27:34.000000000 -0400
++++ autoconf-2.59.new/bin/autoreconf.in 2004-05-06 00:27:46.000000000 -0400
+@@ -75,6 +75,7 @@
+ -f, --force consider all files obsolete
+ -i, --install copy missing auxiliary files
+ -s, --symlink with -i, install symbolic links instead of copies
++ -x, --exclude=STEPS steps we should not run
+ -m, --make when applicable, re-run ./configure && make
+ -W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax]
+
+@@ -127,6 +128,13 @@
+ # Rerun `./configure && make'?
+ my $make = 0;
+
++# Steps to exclude
++my @exclude;
++my @ex;
++
++my $uses_gettext;
++my $configure_ac;
++
+ ## ---------- ##
+ ## Routines. ##
+ ## ---------- ##
+@@ -144,6 +152,7 @@
+ 'B|prepend-include=s' => \@prepend_include,
+ 'i|install' => \$install,
+ 's|symlink' => \$symlink,
++ 'x|exclude=s' => \@exclude,
+ 'm|make' => \$make);
+
+ # Split the warnings as a list of elements instead of a list of
+@@ -152,6 +161,8 @@
+ parse_WARNINGS;
+ parse_warnings '--warnings', @warning;
+
++ @exclude = map { split /,/ } @exclude;
++
+ # Even if the user specified a configure.ac, trim to get the
+ # directory, and look for configure.ac again. Because (i) the code
+ # is simpler, and (ii) we are still able to diagnose simultaneous
+@@ -237,6 +249,11 @@
+ {
+ my ($aclocal, $flags) = @_;
+
++ @ex = grep (/^aclocal$/, @exclude);
++ if ($#ex != -1) {
++ return;
++ }
++
+ # aclocal 1.8+ does all this for free. It can be recognized by its
+ # --force support.
+ if ($aclocal_supports_force)
+@@ -348,7 +365,10 @@
+ }
+ else
+ {
+- xsystem "$autopoint";
++ @ex = grep (/^autopoint$/, @exclude);
++ if ($#ex == -1) {
++ xsystem ("$autopoint");
++ }
+ }
+
+
+@@ -501,7 +521,10 @@
+ }
+ elsif ($install)
+ {
+- xsystem ($libtoolize);
++ @ex = grep (/^libtoolize$/, @exclude);
++ if ($#ex == -1) {
++ xsystem ("$libtoolize");
++ }
+ $rerun_aclocal = 1;
+ }
+ else
+@@ -541,7 +564,10 @@
+ # latter runs the former, and (ii) autoconf is stricter than
+ # autoheader. So all in all, autoconf should give better error
+ # messages.
+- xsystem ($autoconf);
++ @ex = grep (/^autoconf$/, @exclude);
++ if ($#ex == -1) {
++ xsystem ("$autoconf");
++ }
+
+
+ # -------------------- #
+@@ -562,7 +588,10 @@
+ }
+ else
+ {
+- xsystem ($autoheader);
++ @ex = grep (/^autoheader$/, @exclude);
++ if ($#ex == -1) {
++ xsystem ("$autoheader");
++ }
+ }
+
+
+@@ -580,7 +609,10 @@
+ # We should always run automake, and let it decide whether it shall
+ # update the file or not. In fact, the effect of `$force' is already
+ # included in `$automake' via `--no-force'.
+- xsystem ($automake);
++ @ex = grep (/^automake$/, @exclude);
++ if ($#ex == -1) {
++ xsystem ("$automake");
++ }
+ }
+
+
+@@ -604,7 +636,10 @@
+ }
+ else
+ {
+- xsystem ("make");
++ @ex = grep (/^make$/, @exclude);
++ if ($#ex == -1) {
++ xsystem ("make");
++ }
+ }
+ }
+ }
diff --git a/meta/packages/autoconf/autoconf-2.59/autoreconf-foreign.patch b/meta/packages/autoconf/autoconf-2.59/autoreconf-foreign.patch
new file mode 100644
index 0000000000..587a823826
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/autoreconf-foreign.patch
@@ -0,0 +1,11 @@
+--- autoconf-2.59/bin/autoreconf.in~autoreconf-foreign 2004-05-09 20:55:06.000000000 -0400
++++ autoconf-2.59/bin/autoreconf.in 2004-05-09 20:55:55.000000000 -0400
+@@ -184,6 +184,8 @@
+
+ $aclocal_supports_force = `$aclocal --help` =~ /--force/;
+
++ $automake .= ' --foreign';
++
+ # Dispatch autoreconf's option to the tools.
+ # --include;
+ $autoconf .= join (' --include=', '', @include);
diff --git a/meta/packages/autoconf/autoconf-2.59/autoreconf-gnuconfigize.patch b/meta/packages/autoconf/autoconf-2.59/autoreconf-gnuconfigize.patch
new file mode 100644
index 0000000000..44709d550a
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/autoreconf-gnuconfigize.patch
@@ -0,0 +1,47 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- autoconf-2.59/bin/autoreconf.in~autoreconf-gnuconfigize 2004-05-14 19:04:35.000000000 -0500
++++ autoconf-2.59/bin/autoreconf.in 2004-05-14 19:07:34.000000000 -0500
+@@ -58,7 +58,7 @@
+ $help = "Usage: $0 [OPTION] ... [CONFIGURE-AC or DIRECTORY] ...
+
+ Run `autoconf' (and `autoheader', `aclocal', `automake', `autopoint'
+-(formerly `gettextize'), and `libtoolize' where appropriate)
++(formerly `gettextize'), `libtoolize', and `gnu-configize' where appropriate)
+ repeatedly to remake the GNU Build System files in the DIRECTORIES or
+ the directory trees driven by CONFIGURE-AC (defaulting to `.').
+
+@@ -105,12 +105,13 @@
+ ";
+
+ # Lib files.
+-my $autoconf = $ENV{'AUTOCONF'} || '@bindir@/@autoconf-name@';
+-my $autoheader = $ENV{'AUTOHEADER'} || '@bindir@/@autoheader-name@';
+-my $automake = $ENV{'AUTOMAKE'} || 'automake';
+-my $aclocal = $ENV{'ACLOCAL'} || 'aclocal';
+-my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
+-my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint';
++my $autoconf = $ENV{'AUTOCONF'} || '@bindir@/@autoconf-name@';
++my $autoheader = $ENV{'AUTOHEADER'} || '@bindir@/@autoheader-name@';
++my $automake = $ENV{'AUTOMAKE'} || 'automake';
++my $aclocal = $ENV{'ACLOCAL'} || 'aclocal';
++my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize';
++my $autopoint = $ENV{'AUTOPOINT'} || 'autopoint';
++my $gnuconfigize = $ENV{'GNUCONFIGIZE'} || 'gnu-configize';
+
+ # --install -- as --add-missing in other tools.
+ my $install = 0;
+@@ -617,6 +618,10 @@
+ }
+ }
+
++ @ex = grep (/^gnu-configize$/, @exclude);
++ if ($#ex == -1) {
++ xsystem ("$gnuconfigize");
++ }
+
+ # -------------- #
+ # Running make. #
diff --git a/meta/packages/autoconf/autoconf-2.59/autoreconf-include.patch b/meta/packages/autoconf/autoconf-2.59/autoreconf-include.patch
new file mode 100644
index 0000000000..5a7604b0fd
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/autoreconf-include.patch
@@ -0,0 +1,10 @@
+--- autoconf/bin/autoreconf.in~ 2004-04-06 23:36:10.000000000 +0100
++++ autoconf/bin/autoreconf.in 2004-04-08 20:51:57.000000000 +0100
+@@ -179,6 +179,7 @@
+ $autoconf .= join (' --prepend-include=', '', @prepend_include);
+ $autoheader .= join (' --include=', '', @include);
+ $autoheader .= join (' --prepend-include=', '', @prepend_include);
++ $aclocal .= join (' -I ', '', @include);
+
+ # --install and --symlink;
+ if ($install)
diff --git a/meta/packages/autoconf/autoconf-2.59/path_prog_fixes.patch b/meta/packages/autoconf/autoconf-2.59/path_prog_fixes.patch
new file mode 100644
index 0000000000..5f0d055a48
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/path_prog_fixes.patch
@@ -0,0 +1,126 @@
+Index: autoconf-2.59/bin/autoheader.in
+===================================================================
+--- autoconf-2.59.orig/bin/autoheader.in 2005-03-09 16:27:17.933878952 -0500
++++ autoconf-2.59/bin/autoheader.in 2005-03-09 16:29:57.360642400 -0500
+@@ -1,8 +1,8 @@
+-#! @PERL@
++#! @bindir@/env perl
+ # -*- Perl -*-
+ # @configure_input@
+
+-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
++eval 'case $# in 0) exec @bindir@/env perl -S "$0";; *) exec @bindir@/env perl -S "$0" "$@";; esac'
+ if 0;
+
+ # autoheader -- create `config.h.in' from `configure.ac'
+Index: autoconf-2.59/bin/autom4te.in
+===================================================================
+--- autoconf-2.59.orig/bin/autom4te.in 2003-10-28 03:48:36.000000000 -0500
++++ autoconf-2.59/bin/autom4te.in 2005-03-09 16:30:14.957967200 -0500
+@@ -1,8 +1,10 @@
+-#! @PERL@ -w
++#! @bindir@/env perl
+ # -*- perl -*-
+ # @configure_input@
+
+-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
++use warnings;
++
++eval 'case $# in 0) exec @bindir@/env perl -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+ if 0;
+
+ # autom4te - Wrapper around M4 libraries.
+@@ -87,7 +89,7 @@
+ my $freeze = 0;
+
+ # $M4.
+-my $m4 = $ENV{"M4"} || '@M4@';
++my $m4 = $ENV{"M4"} || '@bindir@/env m4';
+ # Some non-GNU m4's don't reject the --help option, so give them /dev/null.
+ fatal "need GNU m4 1.4 or later: $m4"
+ if system "$m4 --help </dev/null 2>&1 | grep reload-state >/dev/null";
+Index: autoconf-2.59/bin/autoreconf.in
+===================================================================
+--- autoconf-2.59.orig/bin/autoreconf.in 2005-03-09 16:27:17.354966960 -0500
++++ autoconf-2.59/bin/autoreconf.in 2005-03-09 16:31:19.572144352 -0500
+@@ -1,8 +1,10 @@
+-#! @PERL@ -w
++#! @bindir@/env perl
+ # -*- perl -*-
+ # @configure_input@
+
+-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
++use warnings;
++
++eval 'case $# in 0) exec @bindir@/env perl -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+ if 0;
+
+ # autoreconf - install the GNU Build System in a directory tree
+Index: autoconf-2.59/bin/autoscan.in
+===================================================================
+--- autoconf-2.59.orig/bin/autoscan.in 2003-09-26 08:57:49.000000000 -0400
++++ autoconf-2.59/bin/autoscan.in 2005-03-09 16:30:18.136483992 -0500
+@@ -1,4 +1,4 @@
+-#! @PERL@ -w
++#! @bindir@/env perl
+ # -*- perl -*-
+ # autoscan - Create configure.scan (a preliminary configure.ac) for a package.
+ # Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003
+@@ -21,7 +21,9 @@
+
+ # Written by David MacKenzie <djm@gnu.ai.mit.edu>.
+
+-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
++use warnings;
++
++eval 'case $# in 0) exec @bindir@/env perl -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+ if 0;
+
+ BEGIN
+Index: autoconf-2.59/bin/autoupdate.in
+===================================================================
+--- autoconf-2.59.orig/bin/autoupdate.in 2003-08-27 07:26:32.000000000 -0400
++++ autoconf-2.59/bin/autoupdate.in 2005-03-09 16:30:19.912214040 -0500
+@@ -1,4 +1,4 @@
+-#! @PERL@ -w
++#! @bindir@/env perl
+ # -*- perl -*-
+ # autoupdate - modernize an Autoconf file.
+ # Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003
+@@ -22,7 +22,9 @@
+ # Originally written by David MacKenzie <djm@gnu.ai.mit.edu>.
+ # Rewritten by Akim Demaille <akim@freefriends.org>.
+
+-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
++use warnings;
++
++eval 'case $# in 0) exec @bindir@/env perl -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+ if 0;
+
+ BEGIN
+@@ -54,7 +56,7 @@
+ my @include = ('@datadir@');
+ my $force = 0;
+ # m4.
+-my $m4 = $ENV{"M4"} || '@M4@';
++my $m4 = $ENV{"M4"} || '@bindir@/env m4';
+
+
+ # $HELP
+Index: autoconf-2.59/bin/ifnames.in
+===================================================================
+--- autoconf-2.59.orig/bin/ifnames.in 2003-10-10 09:52:56.000000000 -0400
++++ autoconf-2.59/bin/ifnames.in 2005-03-09 16:30:22.656796800 -0500
+@@ -1,8 +1,10 @@
+-#! @PERL@ -w
++#! @bindir@/env perl
+ # -*- perl -*-
+ # @configure_input@
+
+-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
++use warnings;
++
++eval 'case $# in 0) exec @bindir@/env perl -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+ if 0;
+
+ # ifnames - print the identifiers used in C preprocessor conditionals
diff --git a/meta/packages/autoconf/autoconf-2.59/program_prefix.patch b/meta/packages/autoconf/autoconf-2.59/program_prefix.patch
new file mode 100644
index 0000000000..e6f4096a97
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/program_prefix.patch
@@ -0,0 +1,19 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- autoconf-2.57/lib/autoconf/general.m4~program_prefix
++++ autoconf-2.57/lib/autoconf/general.m4
+@@ -1676,8 +1676,9 @@
+ # The aliases save the names the user supplied, while $host etc.
+ # will get canonicalized.
+ test -n "$target_alias" &&
+- test "$program_prefix$program_suffix$program_transform_name" = \
+- NONENONEs,x,x, &&
++ test "$target_alias" != "$host_alias" &&
++ test "$program_prefix$program_suffix$program_transform_name" = \
++ NONENONEs,x,x, &&
+ program_prefix=${target_alias}-[]dnl
+ ])# AC_CANONICAL_TARGET
+
diff --git a/meta/packages/autoconf/autoconf-2.59/sizeof_types.patch b/meta/packages/autoconf/autoconf-2.59/sizeof_types.patch
new file mode 100644
index 0000000000..9a6e47453e
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-2.59/sizeof_types.patch
@@ -0,0 +1,59 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- autoconf-2.59/lib/autoconf/types.m4~sizeof_types.patch 2003-05-22 08:05:14.000000000 -0400
++++ autoconf-2.59/lib/autoconf/types.m4 2004-05-29 01:31:24.828295015 -0400
+@@ -380,32 +380,38 @@
+ # Generic checks. #
+ # ---------------- #
+
++AC_DEFUN([AC_PROG_SIZE],
++[
++ AC_CHECK_TOOL(SIZE, size, :)
++])
+
+ # AC_CHECK_SIZEOF(TYPE, [IGNORED], [INCLUDES = DEFAULT-INCLUDES])
+ # ---------------------------------------------------------------
+ AC_DEFUN([AC_CHECK_SIZEOF],
+-[AS_LITERAL_IF([$1], [],
++[AC_REQUIRE([AC_PROG_SIZE])
++AC_REQUIRE([AC_PROG_AWK])
++ AS_LITERAL_IF([$1], [],
+ [AC_FATAL([$0: requires literal arguments])])dnl
+ AC_CHECK_TYPE([$1], [], [], [$3])
+ AC_CACHE_CHECK([size of $1], AS_TR_SH([ac_cv_sizeof_$1]),
+-[if test "$AS_TR_SH([ac_cv_type_$1])" = yes; then
+- # The cast to unsigned long works around a bug in the HP C Compiler
+- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+- # This bug is HP SR number 8606223364.
+- _AC_COMPUTE_INT([(long) (sizeof ($1))],
+- [AS_TR_SH([ac_cv_sizeof_$1])],
+- [AC_INCLUDES_DEFAULT([$3])],
+- [AC_MSG_FAILURE([cannot compute sizeof ($1), 77])])
++[
++if test "$AS_TR_SH([ac_cv_type_$1])" = yes; then
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT([$3])],
++ [static const $1 x[[256]];])],
++ [
++ AS_TR_SH([ac_cv_sizeof_$1])=`$SIZE conftest.$ac_objext | tail -n 1 | $AWK '{print [$]3/256}'`
++ ],
++ [
++ AS_TR_SH([ac_cv_sizeof_$1])=0
++ ])
+ else
+ AS_TR_SH([ac_cv_sizeof_$1])=0
+-fi])dnl
++fi
++])dnl
+ AC_DEFINE_UNQUOTED(AS_TR_CPP(sizeof_$1), $AS_TR_SH([ac_cv_sizeof_$1]),
+ [The size of a `$1', as computed by sizeof.])
+ ])# AC_CHECK_SIZEOF
+
+-
+-
+ # ---------------- #
+ # Generic checks. #
+ # ---------------- #
diff --git a/meta/packages/autoconf/autoconf-native_2.59.bb b/meta/packages/autoconf/autoconf-native_2.59.bb
new file mode 100644
index 0000000000..21a2002453
--- /dev/null
+++ b/meta/packages/autoconf/autoconf-native_2.59.bb
@@ -0,0 +1,10 @@
+SECTION = "devel"
+include autoconf_${PV}.bb
+DEPENDS = "m4-native gnu-config-native"
+RDEPENDS_${PN} = "m4-native gnu-config-native"
+RRECOMMENDS_${PN} = "automake-native"
+
+S = "${WORKDIR}/autoconf-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/autoconf-${PV}"
+
+inherit native
diff --git a/meta/packages/autoconf/autoconf_2.59.bb b/meta/packages/autoconf/autoconf_2.59.bb
new file mode 100644
index 0000000000..3cc962da01
--- /dev/null
+++ b/meta/packages/autoconf/autoconf_2.59.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A package of M4 macros to produce scripts to \
+automatically configure sourcecode."
+LICENSE = "GPL"
+HOMEPAGE = "http://www.gnu.org/software/autoconf/"
+SECTION = "devel"
+DEPENDS += "m4-native"
+RDEPENDS_${PN} = "m4 gnu-config"
+RRECOMMENDS_${PN} = "automake"
+PR = "r4"
+
+SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.bz2 \
+ file://program_prefix.patch;patch=1 \
+ file://autoreconf-include.patch;patch=1 \
+ file://autoreconf-exclude.patch;patch=1 \
+ file://autoreconf-foreign.patch;patch=1 \
+ file://autoreconf-gnuconfigize.patch;patch=1 \
+ file://autoconf259-update-configscripts.patch;patch=1 \
+ file://autoheader-nonfatal-warnings.patch;patch=1 \
+ file://sizeof_types.patch;patch=1 \
+ file://autoconf-x.patch;patch=1 \
+ ${@['file://path_prog_fixes.patch;patch=1', ''][bb.data.inherits_class('native', d)]}"
+inherit autotools
diff --git a/meta/packages/automake/automake-1.9.3/automake182-update-configscripts.patch b/meta/packages/automake/automake-1.9.3/automake182-update-configscripts.patch
new file mode 100644
index 0000000000..52992b3b26
--- /dev/null
+++ b/meta/packages/automake/automake-1.9.3/automake182-update-configscripts.patch
@@ -0,0 +1,201 @@
+--- automake-1.8.2/lib/config.guess.old 2004-01-11 15:33:12.000000000 -0500
++++ automake-1.8.2/lib/config.guess 2004-04-24 22:42:44.000000000 -0400
+@@ -3,7 +3,7 @@
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ # 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+-timestamp='2004-01-05'
++timestamp='2004-03-12'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -197,12 +197,18 @@
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit 0 ;;
++ amd64:OpenBSD:*:*)
++ echo x86_64-unknown-openbsd${UNAME_RELEASE}
++ exit 0 ;;
+ amiga:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ arc:OpenBSD:*:*)
+ echo mipsel-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
++ cats:OpenBSD:*:*)
++ echo arm-unknown-openbsd${UNAME_RELEASE}
++ exit 0 ;;
+ hp300:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+@@ -239,10 +245,24 @@
+ *:OpenBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
++ *:ekkoBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++ exit 0 ;;
++ macppc:MirBSD:*:*)
++ echo powerppc-unknown-mirbsd${UNAME_RELEASE}
++ exit 0 ;;
++ *:MirBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++ exit 0 ;;
+ alpha:OSF1:*:*)
+- if test $UNAME_RELEASE = "V4.0"; then
++ case $UNAME_RELEASE in
++ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+- fi
++ ;;
++ *5.*)
++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++ ;;
++ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+@@ -280,11 +300,12 @@
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
++ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
++ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit 0 ;;
+ Alpha*:OpenVMS:*:*)
+ echo alpha-hp-vms
+@@ -405,6 +426,9 @@
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit 0 ;;
++ m68k:machten:*:*)
++ echo m68k-apple-machten${UNAME_RELEASE}
++ exit 0 ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
+@@ -829,6 +853,9 @@
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
++ m32r*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit 0 ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+@@ -1230,8 +1257,8 @@
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit 0 ;;
+- *:DRAGONFLY:*:*)
+- echo ${UNAME_MACHINE}-unknown-dragonfly${UNAME_RELEASE}
++ *:DragonFly:*:*)
++ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit 0 ;;
+ esac
+
+--- automake-1.8.2/lib/config.sub.old 2004-01-11 15:33:12.000000000 -0500
++++ automake-1.8.2/lib/config.sub 2004-04-24 22:42:44.000000000 -0400
+@@ -3,7 +3,7 @@
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ # 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+-timestamp='2004-01-05'
++timestamp='2004-03-12'
+
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -237,7 +237,7 @@
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+- | m32r | m68000 | m68k | m88k | mcore \
++ | m32r | m32rle | m68000 | m68k | m88k | mcore \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+@@ -262,7 +262,7 @@
+ | pyramid \
+ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
++ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
+ | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+@@ -308,7 +308,7 @@
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+- | m32r-* \
++ | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | mcore-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+@@ -336,7 +336,7 @@
+ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
++ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tron-* \
+@@ -363,6 +363,9 @@
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
++ abacus)
++ basic_machine=abacus-unknown
++ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+@@ -442,12 +445,20 @@
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
++ cr16c)
++ basic_machine=cr16c-unknown
++ os=-elf
++ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
++ crx)
++ basic_machine=crx-unknown
++ os=-elf
++ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+@@ -1070,7 +1081,7 @@
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+- sparc | sparcv9 | sparcv9b)
++ sparc | sparcv8 | sparcv9 | sparcv9b)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+@@ -1143,8 +1154,9 @@
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+- | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
+- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
++ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
++ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
++ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
diff --git a/meta/packages/automake/automake-native.inc b/meta/packages/automake/automake-native.inc
new file mode 100644
index 0000000000..7b69252ff0
--- /dev/null
+++ b/meta/packages/automake/automake-native.inc
@@ -0,0 +1,11 @@
+SECTION = "devel"
+include automake_${PV}.bb
+DEPENDS = "autoconf-native"
+RDEPENDS_automake-native = "autoconf-native perl-native-runtime"
+
+inherit native
+
+do_stage () {
+ oe_runmake install
+ install -d ${datadir}/aclocal
+}
diff --git a/meta/packages/automake/automake-native_1.9.3.bb b/meta/packages/automake/automake-native_1.9.3.bb
new file mode 100644
index 0000000000..39544b7c1d
--- /dev/null
+++ b/meta/packages/automake/automake-native_1.9.3.bb
@@ -0,0 +1,3 @@
+PV := "${PV}"
+
+include automake-native.inc
diff --git a/meta/packages/automake/automake.inc b/meta/packages/automake/automake.inc
new file mode 100644
index 0000000000..fa59c1f5cc
--- /dev/null
+++ b/meta/packages/automake/automake.inc
@@ -0,0 +1,23 @@
+RDEPENDS_automake += "\
+ autoconf \
+ perl \
+ perl-module-bytes \
+ perl-module-constant \
+ perl-module-cwd \
+ perl-module-data-dumper \
+ perl-module-dynaloader \
+ perl-module-errno \
+ perl-module-exporter-heavy \
+ perl-module-file-basename \
+ perl-module-file-compare \
+ perl-module-file-copy \
+ perl-module-file-glob \
+ perl-module-file-spec-unix \
+ perl-module-file-stat \
+ perl-module-getopt-long \
+ perl-module-io \
+ perl-module-io-file \
+ perl-module-posix \
+ perl-module-strict \
+ perl-module-text-parsewords \
+ perl-module-vars "
diff --git a/meta/packages/automake/automake_1.9.3.bb b/meta/packages/automake/automake_1.9.3.bb
new file mode 100644
index 0000000000..fb75b83b68
--- /dev/null
+++ b/meta/packages/automake/automake_1.9.3.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "A tool for automatically generating Makefiles."
+LICENSE = "GPL"
+HOMEPAGE = "http://www.gnu.org/software/automake/"
+SECTION = "devel"
+PR = "r5"
+
+SRC_URI = "${GNU_MIRROR}/automake/automake-${PV}.tar.bz2 \
+ ${@['file://path_prog_fixes.patch;patch=1', ''][bb.data.inherits_class('native', d)]}"
+S = "${WORKDIR}/automake-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/automake-${PV}"
+
+inherit autotools
+
+export AUTOMAKE = "${@bb.which('automake', bb.data.getVar('PATH', d, 1))}"
+FILES_${PN} += "${datadir}/automake* ${datadir}/aclocal*"
+
+include automake.inc
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ install -d ${D}${datadir}
+ if [ ! -e ${D}${datadir}/aclocal ]; then
+ ln -sf aclocal-1.9 ${D}${datadir}/aclocal
+ fi
+ if [ ! -e ${D}${datadir}/automake ]; then
+ ln -sf automake-1.9 ${D}${datadir}/automake
+ fi
+}
diff --git a/meta/packages/automake/files/path_prog_fixes.patch b/meta/packages/automake/files/path_prog_fixes.patch
new file mode 100644
index 0000000000..a85b244205
--- /dev/null
+++ b/meta/packages/automake/files/path_prog_fixes.patch
@@ -0,0 +1,60 @@
+Index: automake-1.9.3/Makefile.am
+===================================================================
+--- automake-1.9.3.orig/Makefile.am 2004-10-25 14:57:30.000000000 -0400
++++ automake-1.9.3/Makefile.am 2005-03-09 16:47:38.241364016 -0500
+@@ -66,7 +66,8 @@
+ -e 's,[@]SHELL[@],$(SHELL),g' \
+ -e 's,[@]VERSION[@],$(VERSION),g' \
+ -e 's,[@]configure_input[@],Generated from $@.in; do not edit by hand.,g' \
+- -e 's,[@]datadir[@],$(datadir),g'
++ -e 's,[@]datadir[@],$(datadir),g' \
++ -e 's,[@]bindir[@],$(bindir),g'
+
+ ## These files depend on Makefile so they are rebuilt if $(VERSION),
+ ## $(datadir) or other do_subst'ituted variables change.
+Index: automake-1.9.3/Makefile.in
+===================================================================
+--- automake-1.9.3.orig/Makefile.in 2004-11-01 05:23:54.000000000 -0500
++++ automake-1.9.3/Makefile.in 2005-03-09 16:47:54.712859968 -0500
+@@ -161,7 +161,8 @@
+ -e 's,[@]SHELL[@],$(SHELL),g' \
+ -e 's,[@]VERSION[@],$(VERSION),g' \
+ -e 's,[@]configure_input[@],Generated from $@.in; do not edit by hand.,g' \
+- -e 's,[@]datadir[@],$(datadir),g'
++ -e 's,[@]datadir[@],$(datadir),g' \
++ -e 's,[@]bindir[@],$(bindir),g'
+
+ WGET = wget
+ WGETSGO = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
+Index: automake-1.9.3/aclocal.in
+===================================================================
+--- automake-1.9.3.orig/aclocal.in 2004-10-10 12:10:24.000000000 -0400
++++ automake-1.9.3/aclocal.in 2005-03-09 16:47:38.241364016 -0500
+@@ -1,8 +1,8 @@
+-#!@PERL@
++#!@bindir@/env perl
+ # -*- perl -*-
+ # @configure_input@
+
+-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
++eval 'case $# in 0) exec @bindir@/env perl -S "$0";; *) exec @bindir@/env perl -S "$0" "$@";; esac'
+ if 0;
+
+ # aclocal - create aclocal.m4 by scanning configure.ac
+Index: automake-1.9.3/automake.in
+===================================================================
+--- automake-1.9.3.orig/automake.in 2004-10-21 16:23:26.000000000 -0400
++++ automake-1.9.3/automake.in 2005-03-09 16:47:38.245363408 -0500
+@@ -1,8 +1,10 @@
+-#!@PERL@ -w
++#!@bindir@/env perl
+ # -*- perl -*-
+ # @configure_input@
+
+-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
++use warnings;
++
++eval 'case $# in 0) exec @bindir@/env perl -S "$0";; *) exec @bindir@/env perl -S "$0" "$@";; esac'
+ if 0;
+
+ # automake - create Makefile.in from Makefile.am
diff --git a/meta/packages/avahi/avahi_0.6.10.bb b/meta/packages/avahi/avahi_0.6.10.bb
new file mode 100644
index 0000000000..2b12d91c8d
--- /dev/null
+++ b/meta/packages/avahi/avahi_0.6.10.bb
@@ -0,0 +1,58 @@
+DESCRIPTION = "Avahi implements the DNS-SD over Multicast DNS"
+SECTION = "network"
+PRIORITY = "optional"
+AUTHOR = "Lennart Poettering <lennart@poettering.net>"
+HOMEPAGE = "http://avahi.org"
+MAINTAINER = "Philipp Zabel <philipp.zabel@gmail.com>"
+LICENSE= "GPL"
+
+DEPENDS = "expat libdaemon dbus"
+RRECOMMENDS = "libnss-mdns"
+
+SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz"
+
+PACKAGES = "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib avahi-dev avahi-doc avahi-utils"
+
+FILES_libavahi-common = "${libdir}/libavahi-common.so.*"
+FILES_libavahi-core= "${libdir}/libavahi-core.so.*"
+FILES_avahi-daemon = "${sbindir}/avahi-daemon \
+ ${sysconfdir}/avahi/avahi-daemon.conf \
+ ${sysconfdir}/avahi/hosts \
+ ${sysconfdir}/avahi/services \
+ ${sysconfdir}/dbus-1 \
+ ${sysconfdir}/init.d/avahi-daemon \
+ ${datadir}/avahi/introspection/*.introspect \
+ ${datadir}/avahi/avahi-service.dtd \
+ ${datadir}/avahi/service-types"
+FILES_libavahi-client = "${libdir}/libavahi-client.so.*"
+FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
+ ${sysconfdir}/avahi/avahi-dnsconfd.action \
+ ${sysconfdir}/init.d/avahi-dnsconfd"
+FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
+FILES_avahi-utils = "${bindir}/avahi-*"
+
+CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
+
+EXTRA_OECONF = "--with-distro=debian --disable-gdbm --disable-gtk --disable-mono --disable-monodoc --disable-qt3 --disable-qt4 --disable-python"
+inherit autotools pkgconfig update-rc.d
+
+INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
+INITSCRIPT_NAME_avahi-daemon = "avahi-daemon"
+INITSCRIPT_PARAMS_avahi-daemon = "defaults 21 19"
+INITSCRIPT_NAME_avahi-dnsconfd = "avahi-dnsconfd"
+INITSCRIPT_PARAMS_avahi-dnsconfd = "defaults 22 19"
+
+pkg_postinst_avahi-daemon () {
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+
+ grep avahi /etc/group || addgroup avahi
+ grep avahi /etc/passwd || adduser --disabled-password --system --home /var/run/avahi-daemon --no-create-home avahi --ingroup avahi -g Avahi
+ /etc/init.d/dbus-1 force-reload
+}
+
+pkg_postrm_avahi-daemon () {
+ deluser avahi || true
+ delgroup avahi || true
+}
diff --git a/meta/packages/base-files/base-files/akita/fstab b/meta/packages/base-files/base-files/akita/fstab
new file mode 100644
index 0000000000..754f140b34
--- /dev/null
+++ b/meta/packages/base-files/base-files/akita/fstab
@@ -0,0 +1,16 @@
+/dev/mtdblock2 / jffs2 rw,noatime 1 1
+/dev/mtdblock3 /home jffs2 defaults,noatime 1 2
+proc /proc proc defaults 0 0
+/dev/hda1 /media/cf auto defaults,sync,noauto 0 0
+
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
+
+# SD/MMC in kernel 2.4
+/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
+# SD/MMC in kernel 2.6
+/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
+
+# USB Storage
+/dev/sda1 /media/usbhdd vfat noauto,umask=000,noatime,iocharset=utf8,codepage=932 0 0
+
diff --git a/meta/packages/base-files/base-files/c7x0/fstab b/meta/packages/base-files/base-files/c7x0/fstab
new file mode 100644
index 0000000000..fb37e07aec
--- /dev/null
+++ b/meta/packages/base-files/base-files/c7x0/fstab
@@ -0,0 +1,12 @@
+/dev/mtdblock2 / jffs2 rw,noatime 1 1
+/dev/mtdblock3 /home jffs2 defaults,noatime 1 2
+proc /proc proc defaults 0 0
+/dev/hda1 /media/cf auto defaults,sync,noauto 0 0
+
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
+
+# SD/MMC in kernel 2.4
+/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
+# SD/MMC in kernel 2.6
+/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
diff --git a/meta/packages/base-files/base-files/c7x0/usbd b/meta/packages/base-files/base-files/c7x0/usbd
new file mode 100644
index 0000000000..40931ee8e9
--- /dev/null
+++ b/meta/packages/base-files/base-files/c7x0/usbd
@@ -0,0 +1 @@
+usbdmodule=pxa_bi
diff --git a/meta/packages/base-files/base-files/collie/fstab b/meta/packages/base-files/base-files/collie/fstab
new file mode 100644
index 0000000000..ce5bc3bac5
--- /dev/null
+++ b/meta/packages/base-files/base-files/collie/fstab
@@ -0,0 +1,8 @@
+/dev/mtdblock4 / jffs2 defaults 1 1
+proc /proc proc defaults 0 0
+/dev/hda1 /media/cf auto defaults,sync,noauto,noatime,user,exec,suid,gid=100,umask=0002 0 0
+/dev/mmcda1 /media/card auto defaults,sync,noauto,noatime,user,exec,suid 0 0
+tmpfs /var tmpfs defaults 0 0
+
+# we use a non-volatile ramdisk, see /etc/init.d/ramdisk
+#tmpfs /media/ram tmpfs defaults 0 0
diff --git a/meta/packages/base-files/base-files/collie/usbd b/meta/packages/base-files/base-files/collie/usbd
new file mode 100644
index 0000000000..4257614583
--- /dev/null
+++ b/meta/packages/base-files/base-files/collie/usbd
@@ -0,0 +1 @@
+usbdmodule=sa1100_bi
diff --git a/meta/packages/base-files/base-files/epia/fstab b/meta/packages/base-files/base-files/epia/fstab
new file mode 100644
index 0000000000..70f0b07353
--- /dev/null
+++ b/meta/packages/base-files/base-files/epia/fstab
@@ -0,0 +1,4 @@
+/dev/ram0 / ext2 rw 1 1
+tmpfs /var tmpfs defaults 0 0
+proc /proc proc defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
diff --git a/meta/packages/base-files/base-files/familiar/issue b/meta/packages/base-files/base-files/familiar/issue
new file mode 100644
index 0000000000..2224b6ce8d
--- /dev/null
+++ b/meta/packages/base-files/base-files/familiar/issue
@@ -0,0 +1,2 @@
+Familiar Linux Unofficial Snapshot \n \l
+
diff --git a/meta/packages/base-files/base-files/familiar/issue.net b/meta/packages/base-files/base-files/familiar/issue.net
new file mode 100644
index 0000000000..2539ffe3ad
--- /dev/null
+++ b/meta/packages/base-files/base-files/familiar/issue.net
@@ -0,0 +1,3 @@
+Familiar Linux Unofficial Snapshot %h
+
+
diff --git a/meta/packages/base-files/base-files/filesystems b/meta/packages/base-files/base-files/filesystems
new file mode 100644
index 0000000000..653593a432
--- /dev/null
+++ b/meta/packages/base-files/base-files/filesystems
@@ -0,0 +1,6 @@
+minix
+fat
+vfat
+ext2
+ext3
+*
diff --git a/meta/packages/base-files/base-files/fstab b/meta/packages/base-files/base-files/fstab
new file mode 100644
index 0000000000..8bfb08720f
--- /dev/null
+++ b/meta/packages/base-files/base-files/fstab
@@ -0,0 +1,12 @@
+# stock fstab - you probably want to override this with a machine specific one
+
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbdevfs noauto 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
+
+# uncomment this if your device has a SD/MMC/Transflash slot
+#/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
+
diff --git a/meta/packages/base-files/base-files/h3600/fstab b/meta/packages/base-files/base-files/h3600/fstab
new file mode 100644
index 0000000000..4228c15c00
--- /dev/null
+++ b/meta/packages/base-files/base-files/h3600/fstab
@@ -0,0 +1,6 @@
+/dev/mtdblock4 / jffs2 defaults 1 1
+proc /proc proc defaults 0 0
+/dev/hda1 /media/cf auto defaults,noauto,noatime,user,exec,suid 0 0
+/dev/mmc/part1 /media/card auto defaults,noauto,noatime,user,exec,suid 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
diff --git a/meta/packages/base-files/base-files/h3900/fstab b/meta/packages/base-files/base-files/h3900/fstab
new file mode 100644
index 0000000000..2a3929fd17
--- /dev/null
+++ b/meta/packages/base-files/base-files/h3900/fstab
@@ -0,0 +1,8 @@
+/dev/mtdblock/1 / jffs2 defaults 1 1
+#breaks h51xx
+#/dev/mtdblock/2 /home jffs2 defaults 1 1
+proc /proc proc defaults 0 0
+/dev/hda1 /media/cf auto defaults,noauto,noatime,user,exec,suid 0 0
+/dev/mmc/part1 /media/card auto defaults,noauto,noatime,user,exec,suid 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
diff --git a/meta/packages/base-files/base-files/host.conf b/meta/packages/base-files/base-files/host.conf
new file mode 100644
index 0000000000..1a8c1e1517
--- /dev/null
+++ b/meta/packages/base-files/base-files/host.conf
@@ -0,0 +1,2 @@
+order hosts,bind
+multi on
diff --git a/meta/packages/base-files/base-files/inputrc b/meta/packages/base-files/base-files/inputrc
new file mode 100644
index 0000000000..b5c4c8af24
--- /dev/null
+++ b/meta/packages/base-files/base-files/inputrc
@@ -0,0 +1,61 @@
+# /etc/inputrc - global inputrc for libreadline
+# See readline(3readline) and `info rluserman' for more information.
+
+# Be 8 bit clean.
+set input-meta on
+set output-meta on
+
+# To allow the use of 8bit-characters like the german umlauts, comment out
+# the line below. However this makes the meta key not work as a meta key,
+# which is annoying to those which don't need to type in 8-bit characters.
+
+# set convert-meta off
+
+# try to enable the application keypad when it is called. Some systems
+# need this to enable the arrow keys.
+# set enable-keypad on
+
+# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys
+
+# do not bell on tab-completion
+# set bell-style none
+
+# some defaults / modifications for the emacs mode
+$if mode=emacs
+
+# allow the use of the Home/End keys
+# "\e[1~": beginning-of-line
+# "\e[4~": end-of-line
+
+# allow the use of the Delete/Insert keys
+# "\e[3~": delete-char
+# "\e[2~": quoted-insert
+
+# mappings for "page up" and "page down" to step to the beginning/end
+# of the history
+# "\e[5~": beginning-of-history
+# "\e[6~": end-of-history
+
+# alternate mappings for "page up" and "page down" to search the history
+# "\e[5~": history-search-backward
+# "\e[6~": history-search-forward
+
+# # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
+# "\e[5C": forward-word
+# "\e[5D": backward-word
+# "\e\e[C": forward-word
+# "\e\e[D": backward-word
+
+# $if term=rxvt
+# "\e[8~": end-of-line
+# $endif
+
+# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
+# "\eOH": beginning-of-line
+# "\eOF": end-of-line
+
+# for freebsd console
+# "\e[H": beginning-of-line
+# "\e[F": end-of-line
+
+$endif
diff --git a/meta/packages/base-files/base-files/ipaq-pxa270/fstab b/meta/packages/base-files/base-files/ipaq-pxa270/fstab
new file mode 100644
index 0000000000..3dfde917e6
--- /dev/null
+++ b/meta/packages/base-files/base-files/ipaq-pxa270/fstab
@@ -0,0 +1,9 @@
+/dev/mtdblock2 / jffs2 defaults 1 1
+/dev/mtdblock3 /home jffs2 defaults 1 1
+
+proc /proc proc defaults 0 0
+sys /sys sysfs defaults 0 0
+
+/dev/hda1 /media/cf auto defaults,noauto,noatime,exec,suid 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
diff --git a/meta/packages/base-files/base-files/issue b/meta/packages/base-files/base-files/issue
new file mode 100644
index 0000000000..329af4665e
--- /dev/null
+++ b/meta/packages/base-files/base-files/issue
@@ -0,0 +1,2 @@
+OpenEmbedded Linux \n \l
+
diff --git a/meta/packages/base-files/base-files/issue.net b/meta/packages/base-files/base-files/issue.net
new file mode 100644
index 0000000000..6dc3588b4f
--- /dev/null
+++ b/meta/packages/base-files/base-files/issue.net
@@ -0,0 +1,3 @@
+OpenEmbedded Linux %h
+
+
diff --git a/meta/packages/base-files/base-files/jornada56x/fstab b/meta/packages/base-files/base-files/jornada56x/fstab
new file mode 100644
index 0000000000..07ccff0fe6
--- /dev/null
+++ b/meta/packages/base-files/base-files/jornada56x/fstab
@@ -0,0 +1,6 @@
+/dev/mtdblock1 / jffs2 rw,noatime 1 1
+proc /proc proc defaults 0 0
+/dev/hda1 /mnt/cf auto defaults,sync,noauto 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /mnt/ram tmpfs defaults 0 0
+devpts /dev/pts devpts defaults 0 0 \ No newline at end of file
diff --git a/meta/packages/base-files/base-files/jornada720/fstab b/meta/packages/base-files/base-files/jornada720/fstab
new file mode 100644
index 0000000000..07ccff0fe6
--- /dev/null
+++ b/meta/packages/base-files/base-files/jornada720/fstab
@@ -0,0 +1,6 @@
+/dev/mtdblock1 / jffs2 rw,noatime 1 1
+proc /proc proc defaults 0 0
+/dev/hda1 /mnt/cf auto defaults,sync,noauto 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /mnt/ram tmpfs defaults 0 0
+devpts /dev/pts devpts defaults 0 0 \ No newline at end of file
diff --git a/meta/packages/base-files/base-files/licenses/Artistic b/meta/packages/base-files/base-files/licenses/Artistic
new file mode 100644
index 0000000000..5f221241e8
--- /dev/null
+++ b/meta/packages/base-files/base-files/licenses/Artistic
@@ -0,0 +1,131 @@
+
+
+
+
+ The "Artistic License"
+
+ Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to make
+reasonable modifications.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the
+ Copyright Holder, and derivatives of that collection of files
+ created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been
+ modified, or has been modified in accordance with the wishes
+ of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or
+ copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing
+ this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the
+ basis of media cost, duplication charges, time of people involved,
+ and so on. (You will not be required to justify it to the
+ Copyright Holder, but only to the computing community at large
+ as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item
+ itself, though there may be fees involved in handling the item.
+ It also means that recipients of the item may redistribute it
+ under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+derived from the Public Domain or from the Copyright Holder. A Package
+modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided
+that you insert a prominent notice in each changed file stating how and
+when you changed that file, and provided that you do at least ONE of the
+following:
+
+ a) place your modifications in the Public Domain or otherwise make them
+ Freely Available, such as by posting said modifications to Usenet or
+ an equivalent medium, or placing the modifications on a major archive
+ site such as uunet.uu.net, or by allowing the Copyright Holder to include
+ your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided, and provide
+ a separate manual page for each non-standard executable that clearly
+ documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files,
+ together with instructions (in the manual page or equivalent) on where
+ to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of
+ the Package with your modifications.
+
+ c) give non-standard executables non-standard names, and clearly
+ document the differences in manual pages (or equivalent), together
+ with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package. You may charge any fee you choose for support of this
+Package. You may not charge a fee for this Package itself. However,
+you may distribute this Package in aggregate with other (possibly
+commercial) programs as part of a larger (possibly commercial) software
+distribution provided that you do not advertise this Package as a
+product of your own. You may embed this Package's interpreter within
+an executable of yours (by linking); this shall be construed as a mere
+form of aggregation, provided that the complete Standard Version of the
+interpreter is so embedded.
+
+6. The scripts and library files supplied as input to or produced as
+output from the programs of this Package do not automatically fall
+under the copyright of this Package, but belong to whoever generated
+them, and may be sold commercially, and may be aggregated with this
+Package. If such scripts or library files are aggregated with this
+Package via the so-called "undump" or "unexec" methods of producing a
+binary executable image, then distribution of such an image shall
+neither be construed as a distribution of this Package nor shall it
+fall under the restrictions of Paragraphs 3 and 4, provided that you do
+not represent such an executable image as a Standard Version of this
+Package.
+
+7. C subroutines (or comparably compiled subroutines in other
+languages) supplied by you and linked into this Package in order to
+emulate subroutines and variables of the language defined by this
+Package shall not be considered part of this Package, but are the
+equivalent of input as in Paragraph 6, provided these subroutines do
+not change the language in any way that would cause it to fail the
+regression tests for the language.
+
+8. Aggregation of this Package with a commercial distribution is always
+permitted provided that the use of this Package is embedded; that is,
+when no overt attempt is made to make this Package's interfaces visible
+to the end user of the commercial distribution. Such use shall not be
+construed as a distribution of this Package.
+
+9. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ The End
diff --git a/meta/packages/base-files/base-files/licenses/BSD b/meta/packages/base-files/base-files/licenses/BSD
new file mode 100644
index 0000000000..c7a0aa4f94
--- /dev/null
+++ b/meta/packages/base-files/base-files/licenses/BSD
@@ -0,0 +1,26 @@
+Copyright (c) The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
diff --git a/meta/packages/base-files/base-files/licenses/GPL-2 b/meta/packages/base-files/base-files/licenses/GPL-2
new file mode 100644
index 0000000000..d60c31a97a
--- /dev/null
+++ b/meta/packages/base-files/base-files/licenses/GPL-2
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/meta/packages/base-files/base-files/licenses/LGPL-2 b/meta/packages/base-files/base-files/licenses/LGPL-2
new file mode 100644
index 0000000000..f5030495bf
--- /dev/null
+++ b/meta/packages/base-files/base-files/licenses/LGPL-2
@@ -0,0 +1,481 @@
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it. You can use it for
+your libraries, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library. If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software. To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+ Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+ The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+ Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries. We
+concluded that weaker conditions might promote sharing better.
+
+ However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves. This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them. (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.) The hope is that this
+will lead to faster development of free libraries.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+ Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License"). Each licensee is
+addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ d) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/meta/packages/base-files/base-files/licenses/LGPL-2.1 b/meta/packages/base-files/base-files/licenses/LGPL-2.1
new file mode 100644
index 0000000000..b124cf5812
--- /dev/null
+++ b/meta/packages/base-files/base-files/licenses/LGPL-2.1
@@ -0,0 +1,510 @@
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations
+below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it
+becomes a de-facto standard. To achieve this, non-free programs must
+be allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control
+compilation and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at least
+ three years, to give the same user the materials specified in
+ Subsection 6a, above, for a charge no more than the cost of
+ performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply, and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License
+may add an explicit geographical distribution limitation excluding those
+countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms
+of the ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library.
+It is safest to attach them to the start of each source file to most
+effectively convey the exclusion of warranty; and each file should
+have at least the "copyright" line and a pointer to where the full
+notice is found.
+
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or
+your school, if any, to sign a "copyright disclaimer" for the library,
+if necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James
+ Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/meta/packages/base-files/base-files/motd b/meta/packages/base-files/base-files/motd
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/base-files/base-files/motd
diff --git a/meta/packages/base-files/base-files/mtx-1/fstab b/meta/packages/base-files/base-files/mtx-1/fstab
new file mode 100644
index 0000000000..ffab21cf68
--- /dev/null
+++ b/meta/packages/base-files/base-files/mtx-1/fstab
@@ -0,0 +1,8 @@
+# /etc/fstab: static file system information. mtx-1
+#
+# <file system> <mount pt> <type> <options> <dump> <pass>
+rootfs / auto defaults 1 1
+tmpfs /var tmpfs size=10m 0 0
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbdevfs noauto 0 0
diff --git a/meta/packages/base-files/base-files/mtx-1/profile b/meta/packages/base-files/base-files/mtx-1/profile
new file mode 100644
index 0000000000..bedf2fc7d8
--- /dev/null
+++ b/meta/packages/base-files/base-files/mtx-1/profile
@@ -0,0 +1,25 @@
+# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
+# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
+
+PATH="/usr/local/bin:/usr/bin:/bin"
+
+if [ "`id -u`" -eq 0 ]; then
+ PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
+fi
+if [ "$PS1" ]; then
+# works for bash and ash (no other shells known to be in use here)
+ PS1='\u@\h:\w\$ '
+fi
+
+if [ -d /etc/profile.d ]; then
+ for i in `ls /etc/profile.d/`; do
+ . /etc/profile.d/$i
+ done
+ unset i
+fi
+
+export PATH PS1
+
+umask 022
+
+alias ll="ls -lah" \ No newline at end of file
diff --git a/meta/packages/base-files/base-files/netvista/fstab b/meta/packages/base-files/base-files/netvista/fstab
new file mode 100644
index 0000000000..e235acaa27
--- /dev/null
+++ b/meta/packages/base-files/base-files/netvista/fstab
@@ -0,0 +1,5 @@
+/dev/hdc2 / ext2 rw,noatime 1 1
+tmpfs /var tmpfs defaults 0 0
+proc /proc proc defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
+devfs /dev/devfs devfs defaults 0 0
diff --git a/meta/packages/base-files/base-files/nokia770/fstab b/meta/packages/base-files/base-files/nokia770/fstab
new file mode 100644
index 0000000000..68b56b63e3
--- /dev/null
+++ b/meta/packages/base-files/base-files/nokia770/fstab
@@ -0,0 +1,6 @@
+rootfs / rootfs defaults,errors=remount-ro,noatime 0 0
+/dev/mmcblk0p1 /media/card auto defaults,noauto,noatime,exec,suid 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
+proc /proc proc defaults 0 0
+usbdevfs /proc/bus/usb usbdevfs noauto 0 0
diff --git a/meta/packages/base-files/base-files/nsswitch.conf b/meta/packages/base-files/base-files/nsswitch.conf
new file mode 100644
index 0000000000..06f03d22a6
--- /dev/null
+++ b/meta/packages/base-files/base-files/nsswitch.conf
@@ -0,0 +1,19 @@
+# /etc/nsswitch.conf
+#
+# Example configuration of GNU Name Service Switch functionality.
+# If you have the `glibc-doc' and `info' packages installed, try:
+# `info libc "Name Service Switch"' for information about this file.
+
+passwd: compat
+group: compat
+shadow: compat
+
+hosts: files dns
+networks: files
+
+protocols: db files
+services: db files
+ethers: db files
+rpc: db files
+
+netgroup: nis
diff --git a/meta/packages/base-files/base-files/nylon/issue b/meta/packages/base-files/base-files/nylon/issue
new file mode 100644
index 0000000000..15de9b8eb4
--- /dev/null
+++ b/meta/packages/base-files/base-files/nylon/issue
@@ -0,0 +1,2 @@
+Nylon Mesh Router Linux \n \l
+
diff --git a/meta/packages/base-files/base-files/nylon/issue.net b/meta/packages/base-files/base-files/nylon/issue.net
new file mode 100644
index 0000000000..93565c98c5
--- /dev/null
+++ b/meta/packages/base-files/base-files/nylon/issue.net
@@ -0,0 +1,3 @@
+Nylon Mesh Router Linux %h
+
+
diff --git a/meta/packages/base-files/base-files/openmn/fstab b/meta/packages/base-files/base-files/openmn/fstab
new file mode 100644
index 0000000000..a2e78a2011
--- /dev/null
+++ b/meta/packages/base-files/base-files/openmn/fstab
@@ -0,0 +1,6 @@
+devfs /dev devfs defaults 0 0
+proc /proc proc defaults 0 0
+none /sys sysfs defaults 0 0
+rootfs / rootfs rw 1 1
+tmpfs /var tmpfs defaults 0 0
+tmpfs /tmp tmpfs defaults 0 0
diff --git a/meta/packages/base-files/base-files/openmn/issue b/meta/packages/base-files/base-files/openmn/issue
new file mode 100644
index 0000000000..8c70d49b34
--- /dev/null
+++ b/meta/packages/base-files/base-files/openmn/issue
@@ -0,0 +1,2 @@
+M&N 5.4
+
diff --git a/meta/packages/base-files/base-files/openmn/issue.net b/meta/packages/base-files/base-files/openmn/issue.net
new file mode 100644
index 0000000000..8c70d49b34
--- /dev/null
+++ b/meta/packages/base-files/base-files/openmn/issue.net
@@ -0,0 +1,2 @@
+M&N 5.4
+
diff --git a/meta/packages/base-files/base-files/openmn/profile b/meta/packages/base-files/base-files/openmn/profile
new file mode 100644
index 0000000000..2b01071e15
--- /dev/null
+++ b/meta/packages/base-files/base-files/openmn/profile
@@ -0,0 +1,31 @@
+# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
+# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
+
+OPIEDIR=/opt/QtPalmtop
+QPEDIR=/opt/QtPalmtop
+QTDIR=/opt/QtPalmtop
+PATH="/opt/QtPalmtop/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
+
+PS1='$ '
+if [ "`id -u`" -eq 0 ]; then
+ PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
+ PS1='# '
+fi
+
+if [ -d /etc/profile.d ]; then
+ for i in `ls /etc/profile.d/`; do
+ . /etc/profile.d/$i
+ done
+ unset i
+fi
+
+case "`cat /proc/sys/board/lcd_type`" in
+ 2) export QWS_DISPLAY=Transformed:Rot90 ;;
+ 3) export QWS_DISPLAY=Transformed:Rot270 ;;
+ *) export QWS_DISPLAY=Transformed:Rot180 ;;
+esac
+alias ll="ls -lAF"
+
+export PATH PS1 OPIEDIR QPEDIR QTDIR
+
+umask 022
diff --git a/meta/packages/base-files/base-files/openmn/usbd b/meta/packages/base-files/base-files/openmn/usbd
new file mode 100644
index 0000000000..40931ee8e9
--- /dev/null
+++ b/meta/packages/base-files/base-files/openmn/usbd
@@ -0,0 +1 @@
+usbdmodule=pxa_bi
diff --git a/meta/packages/base-files/base-files/opensimpad/issue b/meta/packages/base-files/base-files/opensimpad/issue
new file mode 100644
index 0000000000..05a1eeaea6
--- /dev/null
+++ b/meta/packages/base-files/base-files/opensimpad/issue
@@ -0,0 +1,2 @@
+OpenSIMpad Unofficial Snapshot Version \n \l
+
diff --git a/meta/packages/base-files/base-files/opensimpad/issue.net b/meta/packages/base-files/base-files/opensimpad/issue.net
new file mode 100644
index 0000000000..6d524cc650
--- /dev/null
+++ b/meta/packages/base-files/base-files/opensimpad/issue.net
@@ -0,0 +1,2 @@
+OpenSIMpad Unofficial Snapshot %h
+
diff --git a/meta/packages/base-files/base-files/openzaurus/issue b/meta/packages/base-files/base-files/openzaurus/issue
new file mode 100644
index 0000000000..1983c15318
--- /dev/null
+++ b/meta/packages/base-files/base-files/openzaurus/issue
@@ -0,0 +1,2 @@
+OpenZaurus Unofficial Snapshot Version \n \l
+
diff --git a/meta/packages/base-files/base-files/openzaurus/issue.net b/meta/packages/base-files/base-files/openzaurus/issue.net
new file mode 100644
index 0000000000..17bc7423f9
--- /dev/null
+++ b/meta/packages/base-files/base-files/openzaurus/issue.net
@@ -0,0 +1,2 @@
+OpenZaurus Unofficial Snapshot %h
+
diff --git a/meta/packages/base-files/base-files/poodle/fstab b/meta/packages/base-files/base-files/poodle/fstab
new file mode 100644
index 0000000000..06b9672504
--- /dev/null
+++ b/meta/packages/base-files/base-files/poodle/fstab
@@ -0,0 +1,13 @@
+/dev/mtdblock2 / jffs2 rw,noatime 1 1
+/dev/mtdblock3 /home jffs2 defaults,noatime 1 2
+proc /proc proc defaults 0 0
+/dev/hda1 /media/cf auto defaults,sync,noauto 0 0
+
+# SD/MMC in kernel 2.6
+/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
+
+# SD/MMC in kernel 2.4
+/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
+
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
diff --git a/meta/packages/base-files/base-files/poodle/usbd b/meta/packages/base-files/base-files/poodle/usbd
new file mode 100644
index 0000000000..40931ee8e9
--- /dev/null
+++ b/meta/packages/base-files/base-files/poodle/usbd
@@ -0,0 +1 @@
+usbdmodule=pxa_bi
diff --git a/meta/packages/base-files/base-files/profile b/meta/packages/base-files/base-files/profile
new file mode 100644
index 0000000000..a4c16944b9
--- /dev/null
+++ b/meta/packages/base-files/base-files/profile
@@ -0,0 +1,32 @@
+# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
+# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
+
+PATH="/usr/local/bin:/usr/bin:/bin"
+EDITOR="/bin/vi" # needed for packages like cron
+TERM="vt100" # Basic terminal capab. For screen etc.
+
+if [ ! -e /etc/localtime ]; then
+ TZ="UTC" # Time Zone. Look at http://theory.uwinnipeg.ca/gnu/glibc/libc_303.html
+ # for an explanation of how to set this to your local timezone.
+ export TZ
+fi
+
+if [ "`id -u`" -eq 0 ]; then
+ PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
+fi
+if [ "$PS1" ]; then
+# works for bash and ash (no other shells known to be in use here)
+ PS1='\u@\h:\w\$ '
+fi
+
+if [ -d /etc/profile.d ]; then
+ for i in `ls /etc/profile.d/`; do
+ . /etc/profile.d/$i
+ done
+ unset i
+fi
+
+export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM
+
+umask 022
+
diff --git a/meta/packages/base-files/base-files/share/dot.bashrc b/meta/packages/base-files/base-files/share/dot.bashrc
new file mode 100644
index 0000000000..4be63686c2
--- /dev/null
+++ b/meta/packages/base-files/base-files/share/dot.bashrc
@@ -0,0 +1,16 @@
+# ~/.bashrc: executed by bash(1) for non-login shells.
+
+export PS1='\h:\w\$ '
+umask 022
+
+# You may uncomment the following lines if you want `ls' to be colorized:
+# export LS_OPTIONS='--color=auto'
+# eval `dircolors`
+# alias ls='ls $LS_OPTIONS'
+# alias ll='ls $LS_OPTIONS -l'
+# alias l='ls $LS_OPTIONS -lA'
+#
+# Some more alias to avoid making mistakes:
+# alias rm='rm -i'
+# alias cp='cp -i'
+# alias mv='mv -i'
diff --git a/meta/packages/base-files/base-files/share/dot.profile b/meta/packages/base-files/base-files/share/dot.profile
new file mode 100644
index 0000000000..979793e8b5
--- /dev/null
+++ b/meta/packages/base-files/base-files/share/dot.profile
@@ -0,0 +1,10 @@
+# ~/.profile: executed by Bourne-compatible login shells.
+
+if [ -f ~/.bashrc ]; then
+ . ~/.bashrc
+fi
+
+# path set by /etc/profile
+# export PATH
+
+mesg n
diff --git a/meta/packages/base-files/base-files/simpad/fstab b/meta/packages/base-files/base-files/simpad/fstab
new file mode 100644
index 0000000000..51aaaf9256
--- /dev/null
+++ b/meta/packages/base-files/base-files/simpad/fstab
@@ -0,0 +1,8 @@
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbdevfs noauto 0 0
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
+/dev/mtdblock/2 /home jffs2 defaults 1 1
+/dev/hda1 /media/cf auto noauto,owner 0 0
diff --git a/meta/packages/base-files/base-files/spitz/fstab b/meta/packages/base-files/base-files/spitz/fstab
new file mode 100644
index 0000000000..3d0e508dfd
--- /dev/null
+++ b/meta/packages/base-files/base-files/spitz/fstab
@@ -0,0 +1,28 @@
+# don't mount /dev/mtdblock2 since Spitz uses pivot_root
+# or 2.6 directly boots from the hdd
+# /dev/mtdblock2 / jffs2 rw,noatime 1 1
+rootfs / auto defaults 1 1
+proc /proc proc defaults 0 0
+# we can use a normal var filesystem with a microdrive
+# tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
+
+# Compact Flash memory cards
+/dev/hdc1 /media/cf auto defaults,sync,noauto 0 0
+# SD/MMC in kernel 2.4
+/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
+# SD/MMC in kernel 2.6
+/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
+
+#
+# USB
+#
+/dev/sda1 /media/usbhdd vfat noauto,umask=000,noatime,iocharset=utf8,codepage=932 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbfs /proc/bus/usb usbfs noauto 0 0
+
+#
+# Harddisk
+#
+/dev/hda2 /home ext3 defaults 0 0
+/dev/hda3 /media/hdd vfat defaults 0 0
diff --git a/meta/packages/base-files/base-files/tosa/fstab b/meta/packages/base-files/base-files/tosa/fstab
new file mode 100644
index 0000000000..fb37e07aec
--- /dev/null
+++ b/meta/packages/base-files/base-files/tosa/fstab
@@ -0,0 +1,12 @@
+/dev/mtdblock2 / jffs2 rw,noatime 1 1
+/dev/mtdblock3 /home jffs2 defaults,noatime 1 2
+proc /proc proc defaults 0 0
+/dev/hda1 /media/cf auto defaults,sync,noauto 0 0
+
+tmpfs /var tmpfs defaults 0 0
+tmpfs /media/ram tmpfs defaults 0 0
+
+# SD/MMC in kernel 2.4
+/dev/mmcda1 /media/card auto defaults,sync,noauto 0 0
+# SD/MMC in kernel 2.6
+/dev/mmcblk0p1 /media/card auto defaults,sync,noauto 0 0
diff --git a/meta/packages/base-files/base-files/tosa/usbd b/meta/packages/base-files/base-files/tosa/usbd
new file mode 100644
index 0000000000..40931ee8e9
--- /dev/null
+++ b/meta/packages/base-files/base-files/tosa/usbd
@@ -0,0 +1 @@
+usbdmodule=pxa_bi
diff --git a/meta/packages/base-files/base-files/usbd b/meta/packages/base-files/base-files/usbd
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/base-files/base-files/usbd
diff --git a/meta/packages/base-files/base-files/wrt54/fstab b/meta/packages/base-files/base-files/wrt54/fstab
new file mode 100644
index 0000000000..c1e52f8927
--- /dev/null
+++ b/meta/packages/base-files/base-files/wrt54/fstab
@@ -0,0 +1,7 @@
+# /etc/fstab: static file system information. wrt
+#
+# <file system> <mount pt> <type> <options> <dump> <pass>
+rootfs / auto defaults 1 1
+tmpfs /var tmpfs size=50% 0 0
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
diff --git a/meta/packages/base-files/base-files/wrt54/profile b/meta/packages/base-files/base-files/wrt54/profile
new file mode 100644
index 0000000000..bedf2fc7d8
--- /dev/null
+++ b/meta/packages/base-files/base-files/wrt54/profile
@@ -0,0 +1,25 @@
+# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
+# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
+
+PATH="/usr/local/bin:/usr/bin:/bin"
+
+if [ "`id -u`" -eq 0 ]; then
+ PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
+fi
+if [ "$PS1" ]; then
+# works for bash and ash (no other shells known to be in use here)
+ PS1='\u@\h:\w\$ '
+fi
+
+if [ -d /etc/profile.d ]; then
+ for i in `ls /etc/profile.d/`; do
+ . /etc/profile.d/$i
+ done
+ unset i
+fi
+
+export PATH PS1
+
+umask 022
+
+alias ll="ls -lah" \ No newline at end of file
diff --git a/meta/packages/base-files/base-files/xxs1500/fstab b/meta/packages/base-files/base-files/xxs1500/fstab
new file mode 100644
index 0000000000..7007ab021b
--- /dev/null
+++ b/meta/packages/base-files/base-files/xxs1500/fstab
@@ -0,0 +1,8 @@
+# /etc/fstab: static file system information.
+#
+# <file system> <mount pt> <type> <options> <dump> <pass>
+rootfs / auto defaults 1 1
+tmpfs /var tmpfs size=10m 0 0
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts mode=0620,gid=5 0 0
+usbdevfs /proc/bus/usb usbdevfs noauto 0 0
diff --git a/meta/packages/base-files/base-files_3.0.14.bb b/meta/packages/base-files/base-files_3.0.14.bb
new file mode 100644
index 0000000000..866c016965
--- /dev/null
+++ b/meta/packages/base-files/base-files_3.0.14.bb
@@ -0,0 +1,154 @@
+DESCRIPTION = "Miscellaneous files for the base system."
+SECTION = "base"
+PRIORITY = "required"
+PR = "r51"
+LICENSE = "GPL"
+
+SRC_URI = " \
+ file://nsswitch.conf \
+ file://motd \
+ file://inputrc \
+ file://host.conf \
+ file://profile \
+ file://fstab \
+ file://filesystems \
+ file://issue.net \
+ file://issue \
+ file://usbd \
+ file://share/dot.bashrc \
+ file://share/dot.profile \
+ file://licenses/BSD \
+ file://licenses/GPL-2 \
+ file://licenses/LGPL-2 \
+ file://licenses/LGPL-2.1 \
+ file://licenses/Artistic "
+S = "${WORKDIR}"
+
+docdir_append = "/${P}"
+dirs1777 = "/tmp ${localstatedir}/lock ${localstatedir}/tmp"
+dirs2775 = "/home ${prefix}/src ${localstatedir}/local"
+dirs755 = "/bin /boot /dev ${sysconfdir} ${sysconfdir}/default \
+ ${sysconfdir}/skel /lib /mnt /proc /home/root /sbin \
+ ${prefix} ${bindir} ${docdir} /usr/games ${includedir} \
+ ${libdir} ${sbindir} ${datadir} \
+ ${datadir}/common-licenses ${datadir}/dict ${infodir} \
+ ${mandir} ${datadir}/misc ${localstatedir} \
+ ${localstatedir}/backups ${localstatedir}/cache \
+ ${localstatedir}/lib /sys ${localstatedir}/lib/misc \
+ ${localstatedir}/lock/subsys ${localstatedir}/log \
+ ${localstatedir}/run ${localstatedir}/spool \
+ /mnt /media /media/card /media/cf /media/net /media/ram \
+ /media/union /media/realroot /media/hdd \
+ /media/mmc1"
+conffiles = "${sysconfdir}/debian_version ${sysconfdir}/host.conf \
+ ${sysconfdir}/inputrc ${sysconfdir}/issue /${sysconfdir}/issue.net \
+ ${sysconfdir}/nsswitch.conf ${sysconfdir}/profile \
+ ${sysconfdir}/default"
+
+#
+# set standard hostname, might be a candidate for a DISTRO variable? :M:
+#
+hostname = "openembedded"
+hostname_slugos = "nslu2"
+hostname_mnci = "MNCI"
+hostname_rt3000 = "MNRT"
+
+do_install () {
+ for d in ${dirs755}; do
+ install -m 0755 -d ${D}$d
+ done
+ for d in ${dirs1777}; do
+ install -m 1777 -d ${D}$d
+ done
+ for d in ${dirs2775}; do
+ install -m 2755 -d ${D}$d
+ done
+ for d in card cf net ram; do
+ ln -sf /media/$d ${D}/mnt/$d
+ done
+
+ if [ -n "${MACHINE}" -a "${hostname}" = "openembedded" ]; then
+ echo ${MACHINE} > ${D}${sysconfdir}/hostname
+ else
+ echo ${hostname} > ${D}${sysconfdir}/hostname
+ fi
+
+ if [ -n "${DISTRO_NAME}" ]; then
+ echo -n "${DISTRO_NAME} " > ${D}${sysconfdir}/issue
+ echo -n "${DISTRO_NAME} " > ${D}${sysconfdir}/issue.net
+ if [ -n "${DISTRO_VERSION}" ]; then
+ echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue
+ echo -n "${DISTRO_VERSION} " >> ${D}${sysconfdir}/issue.net
+ fi
+ echo "\n \l" >> ${D}${sysconfdir}/issue
+ echo >> ${D}${sysconfdir}/issue
+ echo "%h" >> ${D}${sysconfdir}/issue.net
+ echo >> ${D}${sysconfdir}/issue.net
+ else
+ install -m 0644 ${WORKDIR}/issue ${D}${sysconfdir}/issue
+ install -m 0644 ${WORKDIR}/issue.net ${D}${sysconfdir}/issue.net
+ fi
+
+ install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab
+ install -m 0644 ${WORKDIR}/filesystems ${D}${sysconfdir}/filesystems
+ install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
+ install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile
+ install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile
+ install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc
+ install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc
+ install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf
+ install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf
+ install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd
+
+ for license in BSD GPL-2 LGPL-2 LGPL-2.1 Artistic; do
+ install -m 0644 ${WORKDIR}/licenses/$license ${D}${datadir}/common-licenses/
+ done
+
+ ln -sf /proc/mounts ${D}${sysconfdir}/mtab
+}
+
+
+do_install_append_mnci () {
+ rmdir ${D}/tmp
+ mkdir -p ${D}${localstatedir}/tmp
+ ln -s var/tmp ${D}/tmp
+}
+
+do_install_append_nylon() {
+ printf "" "" >${D}${sysconfdir}/resolv.conf
+ rm -r ${D}/mnt/*
+ rm -r ${D}/media
+ rm -rf ${D}/tmp
+ ln -sf /var/tmp ${D}/tmp
+}
+
+do_install_append_slugos() {
+ printf "" "" >${D}${sysconfdir}/resolv.conf
+ rm -r ${D}/mnt/*
+ rmdir ${D}/home/root
+ install -m 0755 -d ${D}/root
+ ln -s ../root ${D}/home/root
+}
+
+PACKAGES = "${PN}-doc ${PN}"
+FILES_${PN} = "/"
+FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
+
+# M&N specific packaging
+PACKAGE_ARCH_mnci = "mnci"
+PACKAGE_ARCH_rt3000 = "rt3000"
+
+# Unslung distribution specific packaging
+
+PACKAGES_unslung = "${PN}-unslung"
+PACKAGE_ARCH_${PN}-unslung = "nslu2"
+MAINTAINER_${PN}-unslung = "NSLU2 Linux <www.nslu2-linux.org>"
+RDEPENDS_${PN}-unslung = "nslu2-linksys-ramdisk"
+RPROVIDES_${PN}-unslung = "${PN}"
+
+FILES_${PN}-unslung = ""
+
+CONFFILES_${PN} = "${sysconfdir}/fstab ${sysconfdir}/hostname"
+CONFFILES_${PN}_nylon = "${sysconfdir}/resolv.conf ${sysconfdir}/fstab ${sysconfdir}/hostname"
+CONFFILES_${PN}_slugos = "${sysconfdir}/resolv.conf ${sysconfdir}/fstab ${sysconfdir}/hostname"
+
diff --git a/meta/packages/base-passwd/base-passwd-3.5.9/configure.patch b/meta/packages/base-passwd/base-passwd-3.5.9/configure.patch
new file mode 100644
index 0000000000..a9adb1e9e2
--- /dev/null
+++ b/meta/packages/base-passwd/base-passwd-3.5.9/configure.patch
@@ -0,0 +1,23 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- base-passwd/configure.in~configure
++++ base-passwd/configure.in
+@@ -1,5 +1,6 @@
+ dnl Initialize the autoconf process
+-AC_INIT(update-passwd.c)
++AC_INIT
++AC_CONFIG_SRCDIR([update-passwd.c])
+ AC_CONFIG_HEADER(config.h)
+ AC_PREFIX_DEFAULT(/usr)
+
+@@ -12,5 +13,6 @@
+ AC_CHECK_FUNCS(putgrent)
+
+ dnl Finally output everything
+-AC_OUTPUT(Makefile)
++AC_CONFIG_FILES([Makefile])
++AC_OUTPUT
+
diff --git a/meta/packages/base-passwd/base-passwd-3.5.9/mysql.patch b/meta/packages/base-passwd/base-passwd-3.5.9/mysql.patch
new file mode 100644
index 0000000000..b641f41238
--- /dev/null
+++ b/meta/packages/base-passwd/base-passwd-3.5.9/mysql.patch
@@ -0,0 +1,8 @@
+--- base-passwd/group.master.orig 2005-07-08 06:36:07.717990112 +0200
++++ base-passwd/group.master 2005-07-08 06:36:32.000000000 +0200
+@@ -36,4 +36,5 @@
+ staff:*:50:
+ games:*:60:
+ users:*:100:
++mysql:*:64001:
+ nogroup:*:65534:
diff --git a/meta/packages/base-passwd/base-passwd-3.5.9/nobash.patch b/meta/packages/base-passwd/base-passwd-3.5.9/nobash.patch
new file mode 100644
index 0000000000..2bde9bf33b
--- /dev/null
+++ b/meta/packages/base-passwd/base-passwd-3.5.9/nobash.patch
@@ -0,0 +1,13 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- base-passwd/passwd.master~nobash
++++ base-passwd/passwd.master
+@@ -1,4 +1,4 @@
+-root::0:0:root:/root:/bin/bash
++root::0:0:root:/root:/bin/sh
+ daemon:*:1:1:daemon:/usr/sbin:/bin/sh
+ bin:*:2:2:bin:/bin:/bin/sh
+ sys:*:3:3:sys:/dev:/bin/sh
diff --git a/meta/packages/base-passwd/base-passwd-3.5.9/root-home.patch b/meta/packages/base-passwd/base-passwd-3.5.9/root-home.patch
new file mode 100644
index 0000000000..85d96b6185
--- /dev/null
+++ b/meta/packages/base-passwd/base-passwd-3.5.9/root-home.patch
@@ -0,0 +1,8 @@
+--- base-passwd/passwd.master.orig 2005-07-08 06:26:22.000000000 +0200
++++ base-passwd/passwd.master 2005-07-08 06:31:58.000000000 +0200
+@@ -1,4 +1,4 @@
+-root::0:0:root:/root:/bin/sh
++root::0:0:root:/home/root:/bin/sh
+ daemon:*:1:1:daemon:/usr/sbin:/bin/sh
+ bin:*:2:2:bin:/bin:/bin/sh
+ sys:*:3:3:sys:/dev:/bin/sh
diff --git a/meta/packages/base-passwd/base-passwd_3.5.9.bb b/meta/packages/base-passwd/base-passwd_3.5.9.bb
new file mode 100644
index 0000000000..6fcb211bda
--- /dev/null
+++ b/meta/packages/base-passwd/base-passwd_3.5.9.bb
@@ -0,0 +1,59 @@
+DESCRIPTION = "Base system password/group files."
+SECTION = "base"
+PR = "r2"
+LICENSE = "GPL"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/b/base-passwd/base-passwd_${PV}.tar.gz \
+ file://configure.patch;patch=1 \
+ file://nobash.patch;patch=1 \
+ file://root-home.patch;patch=1 \
+ file://mysql.patch;patch=1"
+
+S = "${WORKDIR}/base-passwd"
+
+inherit autotools
+
+FILES_${PN}-doc += "${docdir}"
+
+do_install () {
+ install -d -m 755 ${D}${sbindir}
+ install -p -m 755 update-passwd ${D}${sbindir}/
+ install -d -m 755 \
+ ${D}${mandir}/man8 ${D}${mandir}/pl/man8
+ install -p -m 644 man/update-passwd.8 \
+ ${D}${mandir}/man8/
+ install -p -m 644 man/update-passwd.pl.8 \
+ ${D}${mandir}/pl/man8/update-passwd.8
+ gzip -9 ${D}${mandir}/man8/* \
+ ${D}${mandir}/pl/man8/*
+ install -d -m 755 ${D}${datadir}/base-passwd
+ install -p -m 644 passwd.master \
+ ${D}${datadir}/base-passwd/
+ install -p -m 644 group.master \
+ ${D}${datadir}/base-passwd/
+
+ install -d -m 755 ${D}${docdir}/${PN}
+ install -p -m 644 debian/changelog ${D}${docdir}/${PN}/
+ gzip -9 ${D}${docdir}/${PN}/*
+ install -p -m 644 README ${D}${docdir}/${PN}/
+ install -p -m 644 debian/copyright ${D}${docdir}/${PN}/
+}
+
+
+do_install_append_openmn() {
+ echo "0:Jn6tcg/qjqvUE:0:0:root:/root:/bin/sh" >>${D}${datadir}/base-passwd/passwd.master
+}
+
+
+pkg_postinst () {
+ set -e
+
+ if [ ! -e $D${sysconfdir}/passwd ] ; then
+ cp $D${datadir}/base-passwd/passwd.master $D${sysconfdir}/passwd
+ fi
+
+ if [ ! -e $D${sysconfdir}/group ] ; then
+ cp $D${datadir}/base-passwd/group.master $D${sysconfdir}/group
+ fi
+ exit 0
+}
diff --git a/meta/packages/binutils/binutils-2.15.94.0.1/binutils-100_cflags_for_build.patch b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-100_cflags_for_build.patch
new file mode 100644
index 0000000000..468808bf59
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-100_cflags_for_build.patch
@@ -0,0 +1,91 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- src/bfd/doc/Makefile.am~binutils-100_cflags_for_build.patch
++++ src/bfd/doc/Makefile.am
+@@ -55,10 +55,10 @@
+ MKDOC = chew$(EXEEXT_FOR_BUILD)
+
+ $(MKDOC): chew.o
+- $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
++ $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS_FOR_BUILD)
+
+ chew.o: chew.c
+- $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
++ $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
+
+ protos: libbfd.h libcoff.h bfd.h
+
+--- src/binutils/Makefile.am~binutils-100_cflags_for_build.patch
++++ src/binutils/Makefile.am
+@@ -219,20 +219,20 @@
+ ./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h
+
+ sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
+- $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o $@ sysinfo.o syslex.o
++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ sysinfo.o syslex.o
+
+ syslex.o: syslex.c sysinfo.h
+ if [ -r syslex.c ]; then \
+- $(CC_FOR_BUILD) -c -I. $(CFLAGS) syslex.c ; \
++ $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD) syslex.c ; \
+ else \
+- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(CFLAGS) $(srcdir)/syslex.c ;\
++ $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c ;\
+ fi
+
+ sysinfo.o: sysinfo.c
+ if [ -r sysinfo.c ]; then \
+- $(CC_FOR_BUILD) -c -I. $(CFLAGS) sysinfo.c ; \
++ $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD) sysinfo.c ; \
+ else \
+- $(CC_FOR_BUILD) -c -I. $(CFLAGS) $(srcdir)/sysinfo.c ; \
++ $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c ; \
+ fi
+
+ # We need these for parallel make.
+--- src/bfd/doc/Makefile.in~binutils-100_cflags_for_build.patch
++++ src/bfd/doc/Makefile.in
+@@ -470,10 +470,10 @@
+
+
+ $(MKDOC): chew.o
+- $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
++ $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS_FOR_BUILD)
+
+ chew.o: chew.c
+- $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
++ $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
+
+ protos: libbfd.h libcoff.h bfd.h
+
+--- src/binutils/Makefile.in~binutils-100_cflags_for_build.patch
++++ src/binutils/Makefile.in
+@@ -978,20 +978,20 @@
+ ./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h
+
+ sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
+- $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o $@ sysinfo.o syslex.o
++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ sysinfo.o syslex.o
+
+ syslex.o: syslex.c sysinfo.h
+ if [ -r syslex.c ]; then \
+- $(CC_FOR_BUILD) -c -I. $(CFLAGS) syslex.c ; \
++ $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD) syslex.c ; \
+ else \
+- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(CFLAGS) $(srcdir)/syslex.c ;\
++ $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c ;\
+ fi
+
+ sysinfo.o: sysinfo.c
+ if [ -r sysinfo.c ]; then \
+- $(CC_FOR_BUILD) -c -I. $(CFLAGS) sysinfo.c ; \
++ $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD) sysinfo.c ; \
+ else \
+- $(CC_FOR_BUILD) -c -I. $(CFLAGS) $(srcdir)/sysinfo.c ; \
++ $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c ; \
+ fi
+
+ # We need these for parallel make.
diff --git a/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.90.0.3-uclibc-200-build_modules.patch b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.90.0.3-uclibc-200-build_modules.patch
new file mode 100644
index 0000000000..3560d2ca36
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.90.0.3-uclibc-200-build_modules.patch
@@ -0,0 +1,33 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- src/configure~binutils-2.15.90.0.3-uclibc-200-build_modules.patch
++++ src/configure
+@@ -940,6 +940,11 @@
+ build_configdirs=`echo ${build_libs} ${build_tools}`
+ fi
+
++case "$target" in
++ *-*-*-uclibc*)
++ build_modules=
++ ;;
++esac
+ ################################################################################
+
+ srcname="gnu development package"
+--- src/configure.in~binutils-2.15.90.0.3-uclibc-200-build_modules.patch
++++ src/configure.in
+@@ -189,6 +189,11 @@
+ build_configdirs=`echo ${build_libs} ${build_tools}`
+ fi
+
++case "$target" in
++ *-*-*-uclibc*)
++ build_modules=
++ ;;
++esac
+ ################################################################################
+
+ srcname="gnu development package"
diff --git a/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.90.0.3-uclibc-210-cflags.patch b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.90.0.3-uclibc-210-cflags.patch
new file mode 100644
index 0000000000..40a71c602a
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.90.0.3-uclibc-210-cflags.patch
@@ -0,0 +1,30 @@
+--- binutils-2.15.90.0.3/bfd/doc/Makefile.am.cflags 2004-01-14 16:07:44.000000000 -0500
++++ binutils-2.15.90.0.3/bfd/doc/Makefile.am 2004-04-22 22:06:35.000000000 -0400
+@@ -55,10 +55,10 @@
+ MKDOC = chew$(EXEEXT_FOR_BUILD)
+
+ $(MKDOC): chew.o
+- $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
++ $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS)
+
+ chew.o: chew.c
+- $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
++ $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
+
+ protos: libbfd.h libcoff.h bfd.h
+
+--- binutils-2.15.90.0.3/bfd/doc/Makefile.in.cflags 2004-04-12 15:56:34.000000000 -0400
++++ binutils-2.15.90.0.3/bfd/doc/Makefile.in 2004-04-22 22:06:35.000000000 -0400
+@@ -472,10 +472,10 @@
+
+
+ $(MKDOC): chew.o
+- $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
++ $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS)
+
+ chew.o: chew.c
+- $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
++ $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
+
+ protos: libbfd.h libcoff.h bfd.h
+
diff --git a/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch
new file mode 100644
index 0000000000..d650cdbc91
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch
@@ -0,0 +1,604 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- binutils-2.15.94.0.1/bfd/config.bfd~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/bfd/config.bfd
+@@ -140,7 +140,7 @@
+ targ_defvec=ecoffalpha_little_vec
+ targ_selvecs=bfd_elf64_alpha_vec
+ ;;
+- alpha*-*-linux-gnu* | alpha*-*-elf*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
+ targ_defvec=bfd_elf64_alpha_vec
+ targ_selvecs=ecoffalpha_little_vec
+ ;;
+@@ -150,7 +150,7 @@
+ alpha*-*-*)
+ targ_defvec=ecoffalpha_little_vec
+ ;;
+- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
++ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-linux-uclibc* | ia64*-*-kfreebsd*-gnu)
+ targ_defvec=bfd_elf64_ia64_little_vec
+ targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
+ ;;
+@@ -227,7 +227,7 @@
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+- armeb-*-elf | arm*b-*-linux-gnu*)
++ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_bigarm_vec
+ targ_selvecs=bfd_elf32_littlearm_vec
+ ;;
+@@ -237,7 +237,7 @@
+ ;;
+ arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
+ arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
+- arm*-*-eabi* )
++ arm*-*-eabi* | arm*-*-linux-uclibc* )
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+@@ -381,7 +381,7 @@
+ ;;
+
+ #ifdef BFD64
+- hppa*64*-*-linux-gnu*)
++ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_hppa_linux_vec
+ targ_selvecs=bfd_elf64_hppa_vec
+ ;;
+@@ -392,7 +392,7 @@
+ ;;
+ #endif
+
+- hppa*-*-linux-gnu*)
++ hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_hppa_linux_vec
+ targ_selvecs=bfd_elf32_hppa_vec
+ ;;
+@@ -525,7 +525,7 @@
+ targ_selvecs=bfd_elf32_i386_vec
+ targ_underscore=yes
+ ;;
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_i386_vec
+ targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
+ targ64_selvecs=bfd_elf64_x86_64_vec
+@@ -539,7 +539,7 @@
+ targ_defvec=bfd_elf64_x86_64_vec
+ targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
+ ;;
+- x86_64-*-linux-gnu*)
++ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_x86_64_vec
+ targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
+ ;;
+@@ -715,7 +715,7 @@
+ targ_selvecs=bfd_elf32_m68k_vec
+ targ_underscore=yes
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_m68k_vec
+ targ_selvecs=m68klinux_vec
+ ;;
+@@ -1001,7 +1001,8 @@
+ ;;
+ #endif
+ powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
+- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
++ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
++ powerpc-*-rtems* | \
+ powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
+ targ_defvec=bfd_elf32_powerpc_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
+@@ -1038,8 +1039,8 @@
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+ ;;
+ powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
+- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
+- powerpcle-*-rtems*)
++ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
++ powerpcle-*-vxworks* | powerpcle-*-rtems*)
+ targ_defvec=bfd_elf32_powerpcle_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+ targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
+@@ -1206,7 +1207,7 @@
+ targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
+ targ_underscore=yes
+ ;;
+- sparc-*-linux-gnu*)
++ sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_sparc_vec
+ targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
+ ;;
+@@ -1253,7 +1254,7 @@
+ targ_defvec=sunos_big_vec
+ targ_underscore=yes
+ ;;
+- sparc64-*-linux-gnu*)
++ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_sparc_vec
+ targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
+ ;;
+--- binutils-2.15.94.0.1/bfd/configure~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/bfd/configure
+@@ -3583,6 +3583,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+@@ -9914,7 +9919,7 @@
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ COREFILE=''
+ ;;
+- alpha*-*-linux-gnu*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/alphalinux.h"'
+ ;;
+@@ -9978,7 +9983,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+ ;;
+@@ -10016,7 +10021,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/hp300bsd.h"'
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/m68klinux.h"'
+ ;;
+--- binutils-2.15.94.0.1/bfd/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/bfd/configure.in
+@@ -163,7 +163,7 @@
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ COREFILE=''
+ ;;
+- alpha*-*-linux-gnu*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/alphalinux.h"'
+ ;;
+@@ -248,7 +248,7 @@
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+ changequote(,)dnl
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+@@ -289,7 +289,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/hp300bsd.h"'
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/m68klinux.h"'
+ ;;
+--- binutils-2.15.94.0.1/gas/configure~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/gas/configure
+@@ -3420,6 +3420,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+@@ -4256,6 +4261,7 @@
+ alpha*-*-osf*) fmt=ecoff ;;
+ alpha*-*-linuxecoff*) fmt=ecoff ;;
+ alpha*-*-linux-gnu*) fmt=elf em=linux ;;
++ alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
+ alpha*-*-netbsd*) fmt=elf em=nbsd ;;
+ alpha*-*-openbsd*) fmt=elf em=obsd ;;
+
+@@ -4271,6 +4277,7 @@
+ arm*-*-conix*) fmt=elf ;;
+ arm-*-linux*aout*) fmt=aout em=linux ;;
+ arm*-*-linux-gnu*) fmt=elf em=linux ;;
++ arm*-*-linux-uclibc*) fmt=elf em=linux ;;
+ arm*-*-uclinux*) fmt=elf em=linux ;;
+ arm-*-netbsdelf*) fmt=elf em=nbsd ;;
+ arm-*-*n*bsd*) fmt=aout em=nbsd ;;
+@@ -4284,6 +4291,7 @@
+
+ cris-*-linux-gnu* | crisv32-*-linux-gnu*)
+ fmt=multi bfd_gas=yes em=linux ;;
++ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
+ cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
+
+ crx-*-elf*) fmt=elf ;;
+@@ -4343,7 +4351,9 @@
+ i386-*-linux*oldld) fmt=aout em=linux ;;
+ i386-*-linux*coff*) fmt=coff em=linux ;;
+ i386-*-linux-gnu*) fmt=elf em=linux ;;
++ i386-*-linux-uclibc*) fmt=elf em=linux ;;
+ x86_64-*-linux-gnu*) fmt=elf em=linux ;;
++ x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
+ i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
+ i386-*-sysv[45]*) fmt=elf ;;
+ i386-*-solaris*) fmt=elf ;;
+@@ -4403,6 +4413,7 @@
+ ia64-*-elf*) fmt=elf ;;
+ ia64-*-aix*) fmt=elf em=ia64aix ;;
+ ia64-*-linux-gnu*) fmt=elf em=linux ;;
++ ia64-*-linux-uclibc*) fmt=elf em=linux ;;
+ ia64-*-hpux*) fmt=elf em=hpux ;;
+ ia64-*-netbsd*) fmt=elf em=nbsd ;;
+
+@@ -4430,6 +4441,7 @@
+ m68k-*-hpux*) fmt=hp300 em=hp300 ;;
+ m68k-*-linux*aout*) fmt=aout em=linux ;;
+ m68k-*-linux-gnu*) fmt=elf em=linux ;;
++ m68k-*-linux-uclibc*) fmt=elf em=linux ;;
+ m68k-*-uclinux*) fmt=elf ;;
+ m68k-*-gnu*) fmt=elf ;;
+ m68k-*-lynxos*) fmt=coff em=lynx ;;
+@@ -4504,7 +4516,7 @@
+ ppc-*-beos*) fmt=coff ;;
+ ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
+ ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
+- ppc-*-linux-gnu*) fmt=elf em=linux
++ ppc-*-linux-uclibc* | ppc-*-linux-gnu*) fmt=elf em=linux
+ case "$endian" in
+ big) ;;
+ *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5
+@@ -4531,7 +4543,9 @@
+ ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
+
+ s390x-*-linux-gnu*) fmt=elf em=linux ;;
++ s390x-*-linux-uclibc*) fmt=elf em=linux ;;
+ s390-*-linux-gnu*) fmt=elf em=linux ;;
++ s390-*-linux-uclibc*) fmt=elf em=linux ;;
+
+ sh*-*-linux*) fmt=elf em=linux
+ case ${cpu} in
+@@ -4566,6 +4580,7 @@
+ sparc-*-coff) fmt=coff ;;
+ sparc-*-linux*aout*) fmt=aout em=linux ;;
+ sparc-*-linux-gnu*) fmt=elf em=linux ;;
++ sparc-*-linux-uclibc*) fmt=elf em=linux ;;
+ sparc-*-lynxos*) fmt=coff em=lynx ;;
+ sparc-fujitsu-none) fmt=aout ;;
+ sparc-*-elf) fmt=elf ;;
+--- binutils-2.15.94.0.1/gas/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/gas/configure.in
+@@ -202,6 +202,7 @@
+ alpha*-*-osf*) fmt=ecoff ;;
+ alpha*-*-linuxecoff*) fmt=ecoff ;;
+ alpha*-*-linux-gnu*) fmt=elf em=linux ;;
++ alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
+ alpha*-*-netbsd*) fmt=elf em=nbsd ;;
+ alpha*-*-openbsd*) fmt=elf em=obsd ;;
+
+@@ -217,6 +218,7 @@
+ arm*-*-conix*) fmt=elf ;;
+ arm-*-linux*aout*) fmt=aout em=linux ;;
+ arm*-*-linux-gnu*) fmt=elf em=linux ;;
++ arm*-*-linux-uclibc*) fmt=elf em=linux ;;
+ arm*-*-uclinux*) fmt=elf em=linux ;;
+ arm-*-netbsdelf*) fmt=elf em=nbsd ;;
+ arm-*-*n*bsd*) fmt=aout em=nbsd ;;
+@@ -230,6 +232,7 @@
+
+ cris-*-linux-gnu* | crisv32-*-linux-gnu*)
+ fmt=multi bfd_gas=yes em=linux ;;
++ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
+ cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
+
+ crx-*-elf*) fmt=elf ;;
+@@ -289,7 +292,9 @@
+ i386-*-linux*oldld) fmt=aout em=linux ;;
+ i386-*-linux*coff*) fmt=coff em=linux ;;
+ i386-*-linux-gnu*) fmt=elf em=linux ;;
++ i386-*-linux-uclibc*) fmt=elf em=linux ;;
+ x86_64-*-linux-gnu*) fmt=elf em=linux ;;
++ x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
+ i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
+ changequote(,)dnl
+ i386-*-sysv[45]*) fmt=elf ;;
+@@ -342,6 +347,7 @@
+ ia64-*-elf*) fmt=elf ;;
+ ia64-*-aix*) fmt=elf em=ia64aix ;;
+ ia64-*-linux-gnu*) fmt=elf em=linux ;;
++ ia64-*-linux-uclibc*) fmt=elf em=linux ;;
+ ia64-*-hpux*) fmt=elf em=hpux ;;
+ ia64-*-netbsd*) fmt=elf em=nbsd ;;
+
+@@ -369,6 +375,7 @@
+ m68k-*-hpux*) fmt=hp300 em=hp300 ;;
+ m68k-*-linux*aout*) fmt=aout em=linux ;;
+ m68k-*-linux-gnu*) fmt=elf em=linux ;;
++ m68k-*-linux-uclibc*) fmt=elf em=linux ;;
+ m68k-*-uclinux*) fmt=elf ;;
+ m68k-*-gnu*) fmt=elf ;;
+ m68k-*-lynxos*) fmt=coff em=lynx ;;
+@@ -440,7 +447,7 @@
+ ppc-*-beos*) fmt=coff ;;
+ ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
+ ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
+- ppc-*-linux-gnu*) fmt=elf em=linux
++ ppc-*-linux-uclibc* | ppc-*-linux-gnu*) fmt=elf em=linux
+ case "$endian" in
+ big) ;;
+ *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
+@@ -460,7 +467,9 @@
+ ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
+
+ s390x-*-linux-gnu*) fmt=elf em=linux ;;
++ s390x-*-linux-uclibc*) fmt=elf em=linux ;;
+ s390-*-linux-gnu*) fmt=elf em=linux ;;
++ s390-*-linux-uclibc*) fmt=elf em=linux ;;
+
+ sh*-*-linux*) fmt=elf em=linux
+ case ${cpu} in
+@@ -491,6 +500,7 @@
+ sparc-*-coff) fmt=coff ;;
+ sparc-*-linux*aout*) fmt=aout em=linux ;;
+ sparc-*-linux-gnu*) fmt=elf em=linux ;;
++ sparc-*-linux-uclibc*) fmt=elf em=linux ;;
+ sparc-*-lynxos*) fmt=coff em=lynx ;;
+ sparc-fujitsu-none) fmt=aout ;;
+ sparc-*-elf) fmt=elf ;;
+--- binutils-2.15.94.0.1/ld/configure~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/ld/configure
+@@ -1579,6 +1579,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- binutils-2.15.94.0.1/ld/configure.tgt~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/ld/configure.tgt
+@@ -32,6 +32,7 @@
+ targ_extra_libpath=$targ_extra_emuls ;;
+ cris-*-linux-gnu* | cris-*-linux-gnu*)
+ targ_emul=crislinux ;;
++cris-*-linux-uclibc*) targ_emul=crislinux ;;
+ cris-*-* | crisv32-*-*) targ_emul=criself
+ targ_extra_emuls="crisaout crislinux"
+ targ_extra_libpath=$targ_extra_emuls ;;
+@@ -62,14 +63,16 @@
+ tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
+ tdir_sun4=sparc-sun-sunos4
+ ;;
+-sparc64-*-linux-gnu*) targ_emul=elf64_sparc
++sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \
++ targ_emul=elf64_sparc
+ targ_extra_emuls="elf32_sparc sparclinux sun4"
+ targ_extra_libpath=elf32_sparc
+ tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
+ tdir_sparclinux=${tdir_elf32_sparc}aout
+ tdir_sun4=sparc-sun-sunos4
+ ;;
+-sparc*-*-linux-gnu*) targ_emul=elf32_sparc
++sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \
++ targ_emul=elf32_sparc
+ targ_extra_emuls="sparclinux elf64_sparc sun4"
+ targ_extra_libpath=elf64_sparc
+ tdir_sparclinux=${targ_alias}aout
+@@ -132,7 +135,7 @@
+ m68*-apple-aux*) targ_emul=m68kaux ;;
+ maxq-*-coff) targ_emul=maxqcoff;;
+ *-tandem-none) targ_emul=st2000 ;;
+-i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
++i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
+ i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
+ i[3-7]86-*-vsta) targ_emul=vsta ;;
+ i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
+@@ -156,14 +159,16 @@
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
+ ;;
+ i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
+-i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
++i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \
++ targ_emul=elf_i386
+ targ_extra_emuls=i386linux
+ if test x${want64} = xtrue; then
+ targ_extra_emuls="$targ_extra_emuls elf_x86_64"
+ fi
+ tdir_i386linux=${targ_alias}aout
+ ;;
+-x86_64-*-linux-gnu*) targ_emul=elf_x86_64
++x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \
++ targ_emul=elf_x86_64
+ targ_extra_emuls="elf_i386 i386linux"
+ targ_extra_libpath=elf_i386
+ tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
+@@ -263,11 +268,14 @@
+ arm-*-kaos*) targ_emul=armelf ;;
+ arm9e-*-elf) targ_emul=armelf ;;
+ arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
++arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
+ arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;;
+ arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
++arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
+ arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
+ arm*-*-conix*) targ_emul=armelf ;;
+-thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
++thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*)
++ targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
+ strongarm-*-coff) targ_emul=armcoff ;;
+ strongarm-*-elf) targ_emul=armelf ;;
+ strongarm-*-kaos*) targ_emul=armelf ;;
+@@ -371,7 +379,8 @@
+ targ_extra_emuls=m68kelf
+ tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
+ ;;
+-m68k-*-linux-gnu*) targ_emul=m68kelf
++m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
++ targ_emul=m68kelf
+ targ_extra_emuls=m68klinux
+ tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
+ ;;
+@@ -388,9 +397,9 @@
+ m68*-*-psos*) targ_emul=m68kpsos ;;
+ m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
+ m68*-*-rtems*) targ_emul=m68kelf ;;
+-hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
++hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;;
+ hppa*64*-*) targ_emul=elf64hppa ;;
+-hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
++hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;;
+ hppa*-*-*elf*) targ_emul=hppaelf ;;
+ hppa*-*-lites*) targ_emul=hppaelf ;;
+ hppa*-*-netbsd*) targ_emul=hppanbsd ;;
+@@ -436,16 +445,20 @@
+ mips*-*-vxworks*) targ_emul=elf32ebmip
+ targ_extra_emuls="elf32elmip" ;;
+ mips*-*-windiss) targ_emul=elf32mipswindiss ;;
+-mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
++mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*)
++ targ_emul=elf32ltsmipn32
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+ ;;
+-mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
++mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*)
++ targ_emul=elf32btsmipn32
+ targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
+ ;;
+-mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
++mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*)
++ targ_emul=elf32ltsmip
+ targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
+ ;;
+-mips*-*-linux-gnu*) targ_emul=elf32btsmip
++mips*-*-linux-gnu* | mips*-*-linux-uclibc*)
++ targ_emul=elf32btsmip
+ targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
+ ;;
+ mips*-*-lnews*) targ_emul=mipslnews ;;
+@@ -468,6 +481,10 @@
+ alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
+ tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
+ ;;
++alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha
++ # The following needs to be checked...
++ tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
++ ;;
+ alpha*-*-osf*) targ_emul=alpha ;;
+ alpha*-*-gnu*) targ_emul=elf64alpha ;;
+ alpha*-*-netware*) targ_emul=alpha ;;
+--- binutils-2.15.94.0.1/configure~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/configure
+@@ -1341,6 +1341,18 @@
+ i[3456789]86-*-coff | i[3456789]86-*-elf)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
++ i[3456789]86-*-linux-uclibc)
++ # This section makes it possible to build newlib natively on linux.
++ # If we are using a cross compiler then don't configure newlib.
++ if test x${is_cross_compiler} != xno ; then
++ noconfigdirs="$noconfigdirs target-newlib"
++ fi
++ noconfigdirs="$noconfigdirs target-libgloss"
++ # If we are not using a cross compiler, do configure newlib.
++ # Note however, that newlib will only be configured in this situation
++ # if the --with-newlib option has been given, because otherwise
++ # 'target-newlib' will appear in skipdirs.
++ ;;
+ i[3456789]86-*-linux*)
+ # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
+ # not build java stuff by default.
+--- binutils-2.15.94.0.1/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/configure.in
+@@ -563,6 +563,19 @@
+ i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
+ noconfigdirs="$noconfigdirs ${libgcj}"
+ ;;
++ i[3456789]86-*-linux-uclibc)
++ # This section makes it possible to build newlib natively on linux.
++ # If we are using a cross compiler then don't configure newlib.
++ if test x${is_cross_compiler} != xno ; then
++ noconfigdirs="$noconfigdirs target-newlib"
++ fi
++ noconfigdirs="$noconfigdirs target-libgloss"
++ build_modules=
++ # If we are not using a cross compiler, do configure newlib.
++ # Note however, that newlib will only be configured in this situation
++ # if the --with-newlib option has been given, because otherwise
++ # 'target-newlib' will appear in skipdirs.
++ ;;
+ i[[3456789]]86-*-linux*)
+ # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
+ # not build java stuff by default.
+--- binutils-2.15.94.0.1/libtool.m4~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/libtool.m4
+@@ -645,6 +645,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
+--- binutils-2.15.94.0.1/ltconfig~binutils-2.15.91.0.1-uclibc-100-conf
++++ binutils-2.15.94.0.1/ltconfig
+@@ -603,6 +603,7 @@
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
+ linux-gnu*) ;;
++linux-uclibc*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+
+@@ -1270,6 +1271,24 @@
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
++linux-uclibc*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ # Note: copied from linux-gnu, and may not be appropriate.
++ hardcode_into_libs=yes
++ # Assume using the uClibc dynamic linker.
++ dynamic_linker="uClibc ld.so"
++ ;;
++
+ netbsd*)
+ need_lib_prefix=no
+ need_version=no
diff --git a/meta/packages/binutils/binutils-2.16.91.0.7/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644
index 0000000000..4461bedd4e
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
@@ -0,0 +1,31 @@
+# strip (and objcopy) fail to set the error code if there is no
+# output file name and the rename of the stripped (or copied) file
+# fails, yet the command fails to do anything. This fixes both
+# objcopy and strip.
+#
+# modification by bero: Ported to 2.16.91.0.6
+#
+#Signed-off-by: John Bowler <jbowler@acm.org>
+#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
+--- binutils-2.16.91.0.6/binutils/objcopy.c.ark 2006-03-11 15:59:07.000000000 +0100
++++ binutils-2.16.91.0.6/binutils/objcopy.c 2006-03-11 15:59:45.000000000 +0100
+@@ -2593,7 +2593,8 @@
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (output_file == NULL)
+- smart_rename (tmpname, argv[i], preserve_dates);
++ if(smart_rename (tmpname, argv[i], preserve_dates))
++ hold_status = 1;
+ status = hold_status;
+ }
+ else
+@@ -3184,7 +3185,8 @@
+ {
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+- smart_rename (tmpname, input_filename, preserve_dates);
++ if (smart_rename (tmpname, input_filename, preserve_dates))
++ status = 1;
+ }
+ else
+ unlink (tmpname);
diff --git a/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-100-uclibc-conf.patch b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644
index 0000000000..25222e5df2
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-100-uclibc-conf.patch
@@ -0,0 +1,139 @@
+--- binutils-2.16.91.0.7/bfd/configure
++++ binutils-2.16.91.0.7/bfd/configure
+@@ -3576,7 +3576,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/binutils/configure
++++ binutils-2.16.91.0.7/binutils/configure
+@@ -3411,7 +3411,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/configure
++++ binutils-2.16.91.0.7/configure
+@@ -1270,7 +1270,7 @@
+ am33_2.0-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh-*-linux*)
++ sh*-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -1578,7 +1578,7 @@
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+- sh-*-* | sh64-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${host}" in
+ i[3456789]86-*-vsta) ;; # don't add gprof back in
+ i[3456789]86-*-go32*) ;; # don't add gprof back in
+--- binutils-2.16.91.0.7/configure.in
++++ binutils-2.16.91.0.7/configure.in
+@@ -468,7 +468,7 @@
+ am33_2.0-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh-*-linux*)
++ sh*-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -776,7 +776,7 @@
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+- sh-*-* | sh64-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${host}" in
+ i[[3456789]]86-*-vsta) ;; # don't add gprof back in
+ i[[3456789]]86-*-go32*) ;; # don't add gprof back in
+--- binutils-2.16.91.0.7/gas/configure
++++ binutils-2.16.91.0.7/gas/configure
+@@ -3411,7 +3411,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/gprof/configure
++++ binutils-2.16.91.0.7/gprof/configure
+@@ -3419,6 +3419,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- binutils-2.16.91.0.7/ld/configure
++++ binutils-2.16.91.0.7/ld/configure
+@@ -3413,7 +3413,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/libtool.m4
++++ binutils-2.16.91.0.7/libtool.m4
+@@ -739,7 +739,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+--- binutils-2.16.91.0.7/ltconfig
++++ binutils-2.16.91.0.7/ltconfig
+@@ -602,6 +602,7 @@
+
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
++linux-uclibc*) ;;
+ linux-gnu*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+@@ -1247,7 +1248,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+--- binutils-2.16.91.0.7/opcodes/configure
++++ binutils-2.16.91.0.7/opcodes/configure
+@@ -3579,7 +3579,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu*|linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
diff --git a/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-001_ld_makefile_patch.patch b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000000..04a7e61e25
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-001_ld_makefile_patch.patch
@@ -0,0 +1,50 @@
+#!/bin/sh -e
+## 001_ld_makefile_patch.dpatch
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: correct where ld scripts are installed
+## DP: Author: Chris Chimelis <chris@debian.org>
+## DP: Upstream status: N/A
+## DP: Date: ??
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+--- binutils-2.16.91.0.1/ld/Makefile.am
++++ binutils-2.16.91.0.1/ld/Makefile.am
+@@ -20,7 +20,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+--- binutils-2.16.91.0.1/ld/Makefile.in
++++ binutils-2.16.91.0.1/ld/Makefile.in
+@@ -268,7 +268,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-006_better_file_error.patch b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644
index 0000000000..f337611edf
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-006_better_file_error.patch
@@ -0,0 +1,43 @@
+#!/bin/sh -e
+## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Specify which filename is causing an error if the filename is a
+## DP: directory. (#45832)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
+--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
+@@ -150,6 +150,13 @@
+ {
+ bfd *nbfd;
+ const bfd_target *target_vec;
++ struct stat s;
++
++ if (stat (filename, &s) == 0)
++ if (S_ISDIR(s.st_mode)) {
++ bfd_set_error (bfd_error_file_not_recognized);
++ return NULL;
++ }
+
+ nbfd = _bfd_new_bfd ();
+ if (nbfd == NULL)
diff --git a/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-012_check_ldrunpath_length.patch b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000000..498651a90c
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-300-012_check_ldrunpath_length.patch
@@ -0,0 +1,47 @@
+#!/bin/sh -e
+## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
+## DP: cases where -rpath isn't specified. (#151024)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
+--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
++++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
+@@ -692,6 +692,8 @@
+ && command_line.rpath == NULL)
+ {
+ lib_path = (const char *) getenv ("LD_RUN_PATH");
++ if ((lib_path) && (strlen (lib_path) == 0))
++ lib_path = NULL;
+ if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+ force))
+ break;
+@@ -871,6 +873,8 @@
+ rpath = command_line.rpath;
+ if (rpath == NULL)
+ rpath = (const char *) getenv ("LD_RUN_PATH");
++ if ((rpath) && (strlen (rpath) == 0))
++ rpath = NULL;
+ if (! (bfd_elf_size_dynamic_sections
+ (output_bfd, command_line.soname, rpath,
+ command_line.filter_shlib,
diff --git a/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch
new file mode 100644
index 0000000000..5959c718d2
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch
@@ -0,0 +1,26 @@
+--- binutils/bfd/elf32-mips.c~
++++ binutils/bfd/elf32-mips.c
+@@ -1613,7 +1613,9 @@
+
+ /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
+ page sizes of up to that limit, so we need to respect it. */
+-#define ELF_MAXPAGESIZE 0x10000
++/*#define ELF_MAXPAGESIZE 0x10000*/
++/* Use 4K to shrink the elf header. NOT for general use! */
++#define ELF_MAXPAGESIZE 0x1000
+ #define elf32_bed elf32_tradbed
+
+ /* Include the target file again for this target. */
+--- binutils/bfd/elfn32-mips.c~
++++ binutils/bfd/elfn32-mips.c
+@@ -2399,7 +2399,9 @@
+
+ /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
+ page sizes of up to that limit, so we need to respect it. */
+-#define ELF_MAXPAGESIZE 0x10000
++/*#define ELF_MAXPAGESIZE 0x10000*/
++/* Use 4K to shrink the elf header. NOT for general use! */
++#define ELF_MAXPAGESIZE 0x1000
+ #define elf32_bed elf32_tradbed
+
+ /* Include the target file again for this target. */
diff --git a/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-702-binutils-skip-comments.patch b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-702-binutils-skip-comments.patch
new file mode 100644
index 0000000000..9ef7a7c9ec
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16.91.0.7/binutils-uclibc-702-binutils-skip-comments.patch
@@ -0,0 +1,93 @@
+Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
+Fixes
+localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
+when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
+
+Paths adjusted to match crosstool's patcher.
+
+Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
+From: Andreas Schwab <schwab at suse dot de>
+To: Nathan Sidwell <nathan at codesourcery dot com>
+Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
+Date: Fri, 23 Apr 2004 22:27:19 +0200
+Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
+
+Nathan Sidwell <nathan@codesourcery.com> writes:
+
+> Index: read.c
+> ===================================================================
+> RCS file: /cvs/src/src/gas/read.c,v
+> retrieving revision 1.76
+> diff -c -3 -p -r1.76 read.c
+> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
+> --- read.c 18 Mar 2004 09:56:05 -0000
+> *************** read_a_source_file (char *name)
+> *** 1053,1059 ****
+> #endif
+> input_line_pointer--;
+> /* Report unknown char as ignored. */
+> ! ignore_rest_of_line ();
+> }
+>
+> #ifdef md_after_pass_hook
+> --- 1053,1059 ----
+> #endif
+> input_line_pointer--;
+> /* Report unknown char as ignored. */
+> ! demand_empty_rest_of_line ();
+> }
+>
+> #ifdef md_after_pass_hook
+
+This means that the unknown character is no longer ignored, despite the
+comment. As a side effect a line starting with a line comment character
+not followed by APP in NO_APP mode now triggers an error instead of just a
+warning, breaking builds of glibc on m68k-linux. Earlier in
+read_a_source_file where #APP is handled there is another comment that
+claims that unknown comments are ignored, when in fact they aren't (only
+the initial line comment character is skipped).
+
+Note that the presence of #APP will mess up the line counters, but
+that appears to be difficult to fix.
+
+Andreas.
+
+2004-04-23 Andreas Schwab <schwab@suse.de>
+
+ * read.c (read_a_source_file): Ignore unknown text after line
+ comment character. Fix misleading comment.
+
+--- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
++++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
+@@ -950,10 +950,14 @@ read_a_source_file (char *name)
+ unsigned int new_length;
+ char *tmp_buf = 0;
+
+- bump_line_counters ();
+ s = input_line_pointer;
+ if (strncmp (s, "APP\n", 4))
+- continue; /* We ignore it */
++ {
++ /* We ignore it */
++ ignore_rest_of_line ();
++ continue;
++ }
++ bump_line_counters ();
+ s += 4;
+
+ sb_new (&sbuf);
+@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
+ continue;
+ #endif
+ input_line_pointer--;
+- /* Report unknown char as ignored. */
++ /* Report unknown char as error. */
+ demand_empty_rest_of_line ();
+ }
+
+
+--
+Andreas Schwab, SuSE Labs, schwab@suse.de
+SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
+Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
+"And now for something completely different."
diff --git a/meta/packages/binutils/binutils-2.16/binutils-100_cflags_for_build.patch b/meta/packages/binutils/binutils-2.16/binutils-100_cflags_for_build.patch
new file mode 100644
index 0000000000..08e7049945
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16/binutils-100_cflags_for_build.patch
@@ -0,0 +1,28 @@
+--- binutils-2.16/binutils/Makefile.am.old 2005-06-05 16:59:47.000000000 +0100
++++ binutils-2.16/binutils/Makefile.am 2005-06-05 17:00:39.000000000 +0100
+@@ -219,20 +219,20 @@
+ ./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h
+
+ sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
+- $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o $@ sysinfo.o syslex.o
++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ sysinfo.o syslex.o
+
+ syslex.o:
+ if [ -r syslex.c ]; then \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS) syslex.c ; \
++ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) syslex.c ; \
+ else \
+- $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/syslex.c ;\
++ $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c ;\
+ fi
+
+ sysinfo.o:
+ if [ -r sysinfo.c ]; then \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS) sysinfo.c ; \
++ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) sysinfo.c ; \
+ else \
+- $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS) $(srcdir)/sysinfo.c ; \
++ $(CC_FOR_BUILD) -c -I. $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c ; \
+ fi
+
+ # We need these for parallel make.
diff --git a/meta/packages/binutils/binutils-2.16/binutils-2.16-linux-uclibc.patch b/meta/packages/binutils/binutils-2.16/binutils-2.16-linux-uclibc.patch
new file mode 100644
index 0000000000..2f727a5b5a
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16/binutils-2.16-linux-uclibc.patch
@@ -0,0 +1,700 @@
+# This patch adds 'linux-uclibc' to all cases which otherwise only
+# fire for 'linux' - most of the time the 'linux-gnu*' cases. This
+# ensures that by default *-*-linux-uclibc is handled in the same way
+# as *-*-linux-gnu
+#
+--- binutils-2.16/bfd/config.bfd.orig 2005-09-06 19:58:39.153670708 -0700
++++ binutils-2.16/bfd/config.bfd 2005-09-06 20:03:14.959026045 -0700
+@@ -140,7 +140,7 @@
+ targ_defvec=ecoffalpha_little_vec
+ targ_selvecs=bfd_elf64_alpha_vec
+ ;;
+- alpha*-*-linux-gnu* | alpha*-*-elf*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
+ targ_defvec=bfd_elf64_alpha_vec
+ targ_selvecs=ecoffalpha_little_vec
+ ;;
+@@ -150,7 +150,7 @@
+ alpha*-*-*)
+ targ_defvec=ecoffalpha_little_vec
+ ;;
+- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
++ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-linux-uclibc* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
+ targ_defvec=bfd_elf64_ia64_little_vec
+ targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
+ ;;
+@@ -227,7 +227,7 @@
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+- armeb-*-elf | arm*b-*-linux-gnu*)
++ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_bigarm_vec
+ targ_selvecs=bfd_elf32_littlearm_vec
+ ;;
+@@ -235,7 +235,7 @@
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
++ arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | arm*-*-conix* | \
+ arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
+ arm*-*-eabi* )
+ targ_defvec=bfd_elf32_littlearm_vec
+@@ -385,7 +385,7 @@
+ ;;
+
+ #ifdef BFD64
+- hppa*64*-*-linux-gnu*)
++ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_hppa_linux_vec
+ targ_selvecs=bfd_elf64_hppa_vec
+ ;;
+@@ -396,7 +396,7 @@
+ ;;
+ #endif
+
+- hppa*-*-linux-gnu*)
++ hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_hppa_linux_vec
+ targ_selvecs=bfd_elf32_hppa_vec
+ ;;
+@@ -529,7 +529,7 @@
+ targ_selvecs=bfd_elf32_i386_vec
+ targ_underscore=yes
+ ;;
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_i386_vec
+ targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
+ targ64_selvecs=bfd_elf64_x86_64_vec
+@@ -543,7 +543,7 @@
+ targ_defvec=bfd_elf64_x86_64_vec
+ targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
+ ;;
+- x86_64-*-linux-gnu*)
++ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_x86_64_vec
+ targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
+ ;;
+@@ -719,7 +719,7 @@
+ targ_selvecs=bfd_elf32_m68k_vec
+ targ_underscore=yes
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_m68k_vec
+ targ_selvecs=m68klinux_vec
+ ;;
+@@ -1005,7 +1005,7 @@
+ ;;
+ #endif
+ powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
+- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
++ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | powerpc-*-rtems* | \
+ powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
+ targ_defvec=bfd_elf32_powerpc_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
+@@ -1042,7 +1042,7 @@
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+ ;;
+ powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
+- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
++ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* | powerpcle-*-vxworks* |\
+ powerpcle-*-rtems*)
+ targ_defvec=bfd_elf32_powerpcle_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+@@ -1213,7 +1213,7 @@
+ targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
+ targ_underscore=yes
+ ;;
+- sparc-*-linux-gnu*)
++ sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_sparc_vec
+ targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
+ ;;
+@@ -1260,7 +1260,7 @@
+ targ_defvec=sunos_big_vec
+ targ_underscore=yes
+ ;;
+- sparc64-*-linux-gnu*)
++ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_sparc_vec
+ targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
+ ;;
+@@ -1329,7 +1329,7 @@
+ targ_underscore=yes
+ ;;
+
+- vax-*-linux-gnu*)
++ vax-*-linux-gnu* | vax-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_vax_vec
+ ;;
+
+--- binutils-2.16/bfd/configure.in.orig 2005-09-06 20:25:48.848220921 -0700
++++ binutils-2.16/bfd/configure.in 2005-09-06 20:26:58.628611924 -0700
+@@ -163,7 +163,7 @@
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ COREFILE=''
+ ;;
+- alpha*-*-linux-gnu*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/alphalinux.h"'
+ ;;
+@@ -248,7 +248,7 @@
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+ changequote(,)dnl
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+@@ -289,7 +289,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/hp300bsd.h"'
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/m68klinux.h"'
+ ;;
+@@ -375,7 +375,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/vaxult2.h"'
+ ;;
+- vax-*-linux-gnu*)
++ vax-*-linux-gnu* | vax-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/vaxlinux.h"'
+ ;;
+--- binutils-2.16/bfd/configure.orig 2005-09-06 20:03:14.991028059 -0700
++++ binutils-2.16/bfd/configure 2005-09-06 20:04:48.512913020 -0700
+@@ -3572,7 +3572,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu* | linux-uclibc*)
+ case $host_cpu in
+ alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+@@ -9918,7 +9918,7 @@
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ COREFILE=''
+ ;;
+- alpha*-*-linux-gnu*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/alphalinux.h"'
+ ;;
+@@ -9982,7 +9982,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+ ;;
+@@ -10020,7 +10020,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/hp300bsd.h"'
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/m68klinux.h"'
+ ;;
+@@ -10154,7 +10154,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/vaxult2.h"'
+ ;;
+- vax-*-linux-gnu*)
++ vax-*-linux-gnu* | vax-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/vaxlinux.h"'
+ ;;
+--- binutils-2.16/binutils/configure.orig 2005-09-06 20:26:58.676614945 -0700
++++ binutils-2.16/binutils/configure 2005-09-06 20:27:21.230034142 -0700
+@@ -1564,7 +1564,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu* | linux-uclibc*)
+ case $host_cpu in
+ alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+--- binutils-2.16/configure.in.orig 2005-09-06 20:31:11.872547560 -0700
++++ binutils-2.16/configure.in 2005-09-06 20:31:47.322778302 -0700
+@@ -346,7 +346,7 @@
+ ;;
+ "")
+ case "${target}" in
+- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
++ *-*-linux*-gnu | *-*-linux*-uclibc | *-*-gnu* | *-*-k*bsd*-gnu)
+ # Enable libmudflap by default in GNU and friends.
+ ;;
+ *-*-freebsd*)
+--- binutils-2.16/configure.orig 2005-09-06 20:30:00.120032459 -0700
++++ binutils-2.16/configure 2005-09-06 20:31:11.832545043 -0700
+@@ -1142,7 +1142,7 @@
+ ;;
+ "")
+ case "${target}" in
+- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
++ *-*-linux*-gnu | *-*-linux*-uclibc | *-*-gnu* | *-*-k*bsd*-gnu)
+ # Enable libmudflap by default in GNU and friends.
+ ;;
+ *-*-freebsd*)
+--- binutils-2.16/gas/configure.in.orig 2005-09-06 20:32:36.993903909 -0700
++++ binutils-2.16/gas/configure.in 2005-09-06 20:32:55.667078938 -0700
+@@ -161,7 +161,7 @@
+ AC_DEFINE(AIX_WEAK_SUPPORT, 1,
+ [Define if using AIX 5.2 value for C_WEAKEXT.])
+ ;;
+- ppc-*-linux-gnu*)
++ ppc-*-linux-gnu* | ppc-*-linux-uclibc*)
+ case "$endian" in
+ big) ;;
+ *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
+--- binutils-2.16/gas/configure.orig 2005-09-06 20:31:55.247276960 -0700
++++ binutils-2.16/gas/configure 2005-09-06 20:32:36.961901896 -0700
+@@ -3409,7 +3409,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu* | linux-uclibc*)
+ case $host_cpu in
+ alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+@@ -4462,7 +4462,7 @@
+ _ACEOF
+
+ ;;
+- ppc-*-linux-gnu*)
++ ppc-*-linux-gnu* | ppc-*-linux-uclibc*)
+ case "$endian" in
+ big) ;;
+ *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5
+--- binutils-2.16/gas/configure.tgt.orig 2005-09-06 20:32:55.695080700 -0700
++++ binutils-2.16/gas/configure.tgt 2005-09-06 20:35:59.482645723 -0700
+@@ -100,7 +100,7 @@
+ alpha-*-*vms*) fmt=evax ;;
+ alpha-*-osf*) fmt=ecoff ;;
+ alpha-*-linuxecoff*) fmt=ecoff ;;
+- alpha-*-linux-gnu*) fmt=elf em=linux ;;
++ alpha-*-linux-gnu* | alpha-*-linux-uclibc*) fmt=elf em=linux ;;
+ alpha-*-netbsd*) fmt=elf em=nbsd ;;
+ alpha-*-openbsd*) fmt=elf em=obsd ;;
+
+@@ -116,7 +116,7 @@
+ arm-*-conix*) fmt=elf ;;
+ arm-*-linux*aout*) fmt=aout em=linux ;;
+ arm-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;;
+- arm-*-linux-gnu*) fmt=elf em=linux ;;
++ arm-*-linux-gnu* | arm-*-linux-uclibc*) fmt=elf em=linux ;;
+ arm-*-uclinux*) fmt=elf em=linux ;;
+ arm-*-netbsdelf*) fmt=elf em=nbsd ;;
+ arm-*-*n*bsd*) fmt=aout em=nbsd ;;
+@@ -128,7 +128,7 @@
+
+ avr-*-*) fmt=elf ;;
+
+- cris-*-linux-gnu* | crisv32-*-linux-gnu*)
++ cris-*-linux-gnu* | crisv32-*-linux-gnu* | cris-*-linux-uclibc* | crisv32-*-linux-uclibc*)
+ fmt=multi bfd_gas=yes em=linux ;;
+ cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
+
+@@ -192,7 +192,7 @@
+ i386-*-linux*aout*) fmt=aout em=linux ;;
+ i386-*-linux*oldld) fmt=aout em=linux ;;
+ i386-*-linux*coff*) fmt=coff em=linux ;;
+- i386-*-linux-gnu*) fmt=elf em=linux ;;
++ i386-*-linux-gnu* | i386-*-linux-uclibc*) fmt=elf em=linux ;;
+ i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
+ i386-*-sysv[45]*) fmt=elf ;;
+ i386-*-solaris*) fmt=elf ;;
+@@ -238,7 +238,7 @@
+
+ ia64-*-elf*) fmt=elf ;;
+ ia64-*-aix*) fmt=elf em=ia64aix ;;
+- ia64-*-linux-gnu*) fmt=elf em=linux ;;
++ ia64-*-linux-gnu* | ia64-*-linux-uclibc*) fmt=elf em=linux ;;
+ ia64-*-hpux*) fmt=elf em=hpux ;;
+ ia64-*-netbsd*) fmt=elf em=nbsd ;;
+
+@@ -265,7 +265,7 @@
+ m68k-*-rtems*) fmt=elf ;;
+ m68k-*-hpux*) fmt=hp300 em=hp300 ;;
+ m68k-*-linux*aout*) fmt=aout em=linux ;;
+- m68k-*-linux-gnu*) fmt=elf em=linux ;;
++ m68k-*-linux-gnu* | m68k-*-linux-uclibc*) fmt=elf em=linux ;;
+ m68k-*-uclinux*) fmt=elf ;;
+ m68k-*-gnu*) fmt=elf ;;
+ m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
+@@ -332,7 +332,7 @@
+ ppc-*-beos*) fmt=coff ;;
+ ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
+ ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
+- ppc-*-linux-gnu*) fmt=elf em=linux ;;
++ ppc-*-linux-gnu* | ppc-*-linux-uclibc*) fmt=elf em=linux ;;
+ ppc-*-solaris*) fmt=elf ;;
+ ppc-*-rtems*) fmt=elf ;;
+ ppc-*-macos*) fmt=coff em=macos ;;
+@@ -340,7 +340,7 @@
+ ppc-*-kaos*) fmt=elf ;;
+ ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
+
+- s390-*-linux-gnu*) fmt=elf em=linux ;;
++ s390-*-linux-gnu* | s390-*-linux-uclibc*) fmt=elf em=linux ;;
+ s390-*-tpf*) fmt=elf ;;
+
+ sh*-*-linux*) fmt=elf em=linux
+@@ -369,7 +369,7 @@
+ sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;;
+ sparc-*-coff) fmt=coff ;;
+ sparc-*-linux*aout*) fmt=aout em=linux ;;
+- sparc-*-linux-gnu*) fmt=elf em=linux ;;
++ sparc-*-linux-gnu* | sparc-*-linux-uclibc*) fmt=elf em=linux ;;
+ sparc-fujitsu-none) fmt=aout ;;
+ sparc-*-elf) fmt=elf ;;
+ sparc-*-sysv4*) fmt=elf ;;
+@@ -398,7 +398,7 @@
+ vax-*-netbsdelf*) fmt=elf em=nbsd ;;
+ vax-*-netbsd*) fmt=aout em=nbsd ;;
+ vax-*-bsd* | vax-*-ultrix*) fmt=aout ;;
+- vax-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
++ vax-*-linux-gnu* | vax-*-linux-uclibc*) fmt=elf em=linux bfd_gas=yes ;;
+
+ w65-*-*) fmt=coff ;;
+
+--- binutils-2.16/gprof/configure.orig 2005-09-06 20:36:04.850983531 -0700
++++ binutils-2.16/gprof/configure 2005-09-06 20:36:26.344336022 -0700
+@@ -3407,7 +3407,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu* | linux-uclibc*)
+ case $host_cpu in
+ alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+--- binutils-2.16/ld/configure.host.orig 2005-09-06 20:37:46.085353808 -0700
++++ binutils-2.16/ld/configure.host 2005-09-06 20:40:03.381993341 -0700
+@@ -83,7 +83,7 @@
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"`
+ ;;
+
+-arm*-*-linux-gnu*)
++arm*-*-linux-gnu* | arm*-*-linux-uclibc*)
+ HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"`
+ ;;
+
+@@ -141,7 +141,7 @@
+ HOSTING_LIBS="$HOSTING_LIBS"' -lcygwin -L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`'
+ ;;
+
+-ia64-*-linux-gnu*)
++ia64-*-linux-gnu* | ia64-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"`
+ ;;
+
+@@ -155,11 +155,11 @@
+ HOSTING_LIBS='-L/usr/lib32 '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` /usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors'
+ ;;
+
+-mips*-*-linux-gnu*)
++mips*-*-linux-gnu* | mips*-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
+ ;;
+
+-m68*-*-linux-gnu*)
++m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
+ ;;
+
+@@ -183,19 +183,19 @@
+ HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
+ ;;
+
+-powerpc64*-*-linux-gnu*)
++powerpc64*-*-linux-gnu* | powerpc64*-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld64.so.1,"`
+ ;;
+
+-powerpc*-*-linux-gnu*)
++powerpc*-*-linux-gnu* | powerpc*-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
+ ;;
+
+-s390x-*-linux-gnu*)
++s390x-*-linux-gnu* | s390x-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld64.so.1,"`
+ ;;
+
+-s390-*-linux-gnu*)
++s390-*-linux-gnu* | s390-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
+ ;;
+
+@@ -209,15 +209,15 @@
+ HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
+ ;;
+
+-sparc-*-linux-gnu*)
++sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld-linux.so.2,"`
+ ;;
+
+-sparc64-*-linux-gnu*)
++sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux.so.2,"`
+ ;;
+
+-x86_64-*-linux-gnu*)
++x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
+ HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"`
+ ;;
+
+--- binutils-2.16/ld/configure.orig 2005-09-06 20:37:34.700637413 -0700
++++ binutils-2.16/ld/configure 2005-09-06 20:37:46.013349277 -0700
+@@ -1568,7 +1568,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu* | linux-uclibc*)
+ case $host_cpu in
+ alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+--- binutils-2.16/ld/configure.tgt.orig 2005-09-06 20:40:03.413995355 -0700
++++ binutils-2.16/ld/configure.tgt 2005-09-06 20:45:48.111685813 -0700
+@@ -30,7 +30,7 @@
+ cris-*-*aout*) targ_emul=crisaout
+ targ_extra_emuls="criself crislinux"
+ targ_extra_libpath=$targ_extra_emuls ;;
+-cris-*-linux-gnu* | cris-*-linux-gnu*)
++cris-*-linux-gnu* | cris-*-linux-gnu* | cris-*-linux-uclibc* | cris-*-linux-uclibc*)
+ targ_emul=crislinux ;;
+ cris-*-* | crisv32-*-*) targ_emul=criself
+ targ_extra_emuls="crisaout crislinux"
+@@ -62,14 +62,14 @@
+ tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
+ tdir_sun4=sparc-sun-sunos4
+ ;;
+-sparc64-*-linux-gnu*) targ_emul=elf64_sparc
++sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) targ_emul=elf64_sparc
+ targ_extra_emuls="elf32_sparc sparclinux sun4"
+ targ_extra_libpath=elf32_sparc
+ tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
+ tdir_sparclinux=${tdir_elf32_sparc}aout
+ tdir_sun4=sparc-sun-sunos4
+ ;;
+-sparc*-*-linux-gnu*) targ_emul=elf32_sparc
++sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) targ_emul=elf32_sparc
+ targ_extra_emuls="sparclinux elf64_sparc sun4"
+ targ_extra_libpath=elf64_sparc
+ tdir_sparclinux=${targ_alias}aout
+@@ -119,8 +119,8 @@
+ ia64-*-aix*) targ_emul=elf64_aix ;;
+ m32r*le-*-elf*) targ_emul=m32rlelf ;;
+ m32r*-*-elf*) targ_emul=m32relf ;;
+-m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;;
+-m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;;
++m32r*le-*-linux-gnu* | m32r*le-*-linux-uclibc*) targ_emul=m32rlelf_linux ;;
++m32r*-*-linux-gnu* | m32r*-*-linux-uclibc*) targ_emul=m32relf_linux ;;
+ m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf
+ targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
+ m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf
+@@ -131,7 +131,7 @@
+ m68*-apple-aux*) targ_emul=m68kaux ;;
+ maxq-*-coff) targ_emul=maxqcoff;;
+ *-tandem-none) targ_emul=st2000 ;;
+-i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
++i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
+ i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
+ i[3-7]86-*-vsta) targ_emul=vsta ;;
+ i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
+@@ -155,14 +155,14 @@
+ tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
+ ;;
+ i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
+-i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
++i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) targ_emul=elf_i386
+ targ_extra_emuls=i386linux
+ if test x${want64} = xtrue; then
+ targ_extra_emuls="$targ_extra_emuls elf_x86_64"
+ fi
+ tdir_i386linux=${targ_alias}aout
+ ;;
+-x86_64-*-linux-gnu*) targ_emul=elf_x86_64
++x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) targ_emul=elf_x86_64
+ targ_extra_emuls="elf_i386 i386linux"
+ targ_extra_libpath=elf_i386
+ tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
+@@ -262,13 +262,14 @@
+ arm-*-kaos*) targ_emul=armelf ;;
+ arm9e-*-elf) targ_emul=armelf ;;
+ arm*b-*-linux-gnueabi) targ_emul=armelfb_linux_eabi ;;
+-arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
++arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
+ arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;;
+-arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
++arm*-*-linux-gnu* | arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
+ arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
+ arm-*-vxworks) targ_emul=armelf_vxworks ;;
+ arm*-*-conix*) targ_emul=armelf ;;
+-thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
++thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
++thumbb-*-linux-gnu* | thumbb-*-linux-uclibc* | thumbb-*-uclinux*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
+ strongarm-*-coff) targ_emul=armcoff ;;
+ strongarm-*-elf) targ_emul=armelf ;;
+ strongarm-*-kaos*) targ_emul=armelf ;;
+@@ -372,7 +373,7 @@
+ targ_extra_emuls=m68kelf
+ tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
+ ;;
+-m68k-*-linux-gnu*) targ_emul=m68kelf
++m68k-*-linux-gnu* | m68k-*-linux-uclibc*) targ_emul=m68kelf
+ targ_extra_emuls=m68klinux
+ tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
+ ;;
+@@ -388,9 +389,9 @@
+ m68*-*-psos*) targ_emul=m68kpsos ;;
+ m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
+ m68*-*-rtems*) targ_emul=m68kelf ;;
+-hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
++hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;;
+ hppa*64*-*) targ_emul=elf64hppa ;;
+-hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
++hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;;
+ hppa*-*-*elf*) targ_emul=hppaelf ;;
+ hppa*-*-lites*) targ_emul=hppaelf ;;
+ hppa*-*-netbsd*) targ_emul=hppanbsd ;;
+@@ -402,7 +403,7 @@
+ vax-*-netbsdaout* | vax-*-netbsd*)
+ targ_emul=vaxnbsd
+ targ_extra_emuls=elf32vax ;;
+-vax-*-linux-gnu*) targ_emul=elf32vax ;;
++vax-*-linux-gnu* | vax-*-linux-uclibc*) targ_emul=elf32vax ;;
+ mips*-*-pe) targ_emul=mipspe ;
+ targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+ mips*-dec-ultrix*) targ_emul=mipslit ;;
+@@ -436,18 +437,18 @@
+ mips*-*-vxworks*) targ_emul=elf32ebmip
+ targ_extra_emuls="elf32elmip" ;;
+ mips*-*-windiss) targ_emul=elf32mipswindiss ;;
+-mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
++mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*) targ_emul=elf32ltsmipn32
+ targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
+ targ_extra_libpath="elf32ltsmip elf64ltsmip"
+ ;;
+-mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
++mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*) targ_emul=elf32btsmipn32
+ targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
+ targ_extra_libpath="elf32btsmip elf64btsmip"
+ ;;
+-mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
++mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*) targ_emul=elf32ltsmip
+ targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
+ ;;
+-mips*-*-linux-gnu*) targ_emul=elf32btsmip
++mips*-*-linux-gnu* | mips*-*-linux-uclibc*) targ_emul=elf32btsmip
+ targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
+ ;;
+ mips*-*-lnews*) targ_emul=mipslnews ;;
+@@ -467,7 +468,7 @@
+ alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha
+ tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'`
+ ;;
+-alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
++alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha
+ tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
+ ;;
+ alpha*-*-osf*) targ_emul=alpha ;;
+--- binutils-2.16/ld/emultempl/elf32.em.orig 2005-09-06 20:45:48.247694371 -0700
++++ binutils-2.16/ld/emultempl/elf32.em 2005-09-06 20:46:39.158898011 -0700
+@@ -65,7 +65,7 @@
+
+ if [ "x${USE_LIBPATH}" = xyes ] ; then
+ case ${target} in
+- *-*-linux-gnu*)
++ *-*-linux-gnu* | *-*-linux-uclibc*)
+ cat >>e${EMULATION_NAME}.c <<EOF
+ #ifdef HAVE_GLOB
+ #include <glob.h>
+@@ -350,7 +350,7 @@
+
+ EOF
+ case ${target} in
+- *-*-linux-gnu*)
++ *-*-linux-gnu* | *-*-linux-uclibc*)
+ cat >>e${EMULATION_NAME}.c <<EOF
+ {
+ struct bfd_link_needed_list *l;
+@@ -522,7 +522,7 @@
+
+ EOF
+ case ${target} in
+- *-*-linux-gnu*)
++ *-*-linux-gnu* | *-*-linux-uclibc*)
+ cat >>e${EMULATION_NAME}.c <<EOF
+ /* For a native linker, check the file /etc/ld.so.conf for directories
+ in which we may find shared libraries. /etc/ld.so.conf is really
+@@ -932,7 +932,7 @@
+ EOF
+ if [ "x${USE_LIBPATH}" = xyes ] ; then
+ case ${target} in
+- *-*-linux-gnu*)
++ *-*-linux-gnu* | *-*-linux-uclibc*)
+ cat >>e${EMULATION_NAME}.c <<EOF
+ if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
+ break;
+--- binutils-2.16/libtool.m4.orig 2005-09-06 20:46:55.131903129 -0700
++++ binutils-2.16/libtool.m4 2005-09-06 20:47:07.364672889 -0700
+@@ -634,7 +634,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu* | linux-uclibc*)
+ case $host_cpu in
+ alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* )
+ lt_cv_deplibs_check_method=pass_all ;;
+--- binutils-2.16/ltconfig.orig 2005-09-06 20:47:13.965088227 -0700
++++ binutils-2.16/ltconfig 2005-09-06 20:49:12.944575134 -0700
+@@ -1247,7 +1247,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu* | linux-uclibc*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+--- binutils-2.16/ltmain.sh.orig 2005-09-06 20:49:12.980577399 -0700
++++ binutils-2.16/ltmain.sh 2005-09-06 20:50:15.180491393 -0700
+@@ -2600,7 +2600,7 @@
+ versuffix="$major.$revision"
+ ;;
+
+- linux)
++ linux | linux-uclibc)
+ major=.`expr $current - $age`
+ versuffix="$major.$age.$revision"
+ ;;
+--- binutils-2.16/opcodes/configure.orig 2005-09-06 20:50:15.220493910 -0700
++++ binutils-2.16/opcodes/configure 2005-09-06 20:50:38.053930728 -0700
+@@ -3576,7 +3576,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux-gnu* | linux-uclibc*)
+ case $host_cpu in
+ alpha* | mips* | hppa* | i*86 | powerpc* | sparc* | ia64* )
+ lt_cv_deplibs_check_method=pass_all ;;
diff --git a/meta/packages/binutils/binutils-2.16/binutils-2.16-objcopy-rename-errorcode.patch b/meta/packages/binutils/binutils-2.16/binutils-2.16-objcopy-rename-errorcode.patch
new file mode 100644
index 0000000000..e4372de88f
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16/binutils-2.16-objcopy-rename-errorcode.patch
@@ -0,0 +1,29 @@
+# strip (and objcopy) fail to set the error code if there is no
+# output file name and the rename of the stripped (or copied) file
+# fails, yet the command fails to do anything. This fixes both
+# objcopy and strip.
+#
+#Signed-off-by: John Bowler <jbowler@acm.org>
+
+--- binutils-2.16/binutils/objcopy.c.orig 2006-01-31 11:15:38.797318519 -0800
++++ binutils-2.16/binutils/objcopy.c 2006-01-31 11:15:40.463318516 -0800
+@@ -2434,7 +2434,8 @@ strip_main (int argc, char *argv[])
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (output_file == NULL)
+- smart_rename (tmpname, argv[i], preserve_dates);
++ if (smart_rename (tmpname, argv[i], preserve_dates))
++ hold_status = 1;
+ status = hold_status;
+ }
+ else
+@@ -3013,7 +3014,8 @@ copy_main (int argc, char *argv[])
+ {
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+- smart_rename (tmpname, input_filename, preserve_dates);
++ if (smart_rename (tmpname, input_filename, preserve_dates))
++ status = 1;
+ }
+ else
+ unlink (tmpname);
diff --git a/meta/packages/binutils/binutils-2.16/binutils-2.16-thumb-glue.patch b/meta/packages/binutils/binutils-2.16/binutils-2.16-thumb-glue.patch
new file mode 100644
index 0000000000..59d8035f7d
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16/binutils-2.16-thumb-glue.patch
@@ -0,0 +1,76 @@
+# The ARM->Thumb glue uses an ldr of the target function address, this
+# simply doesn't work for PIC code, changed to use 4 word PIC glue
+#
+--- binutils-2.16/.pc/binutils-2.16-thumb-glue.patch/bfd/elf32-arm.c 2005-09-18 03:52:15.465165051 -0700
++++ binutils-2.16/bfd/elf32-arm.c 2005-09-18 03:52:33.546302825 -0700
+@@ -1493,19 +1493,20 @@
+ return myh;
+ }
+
+-/* ARM->Thumb glue:
++/* ARM->Thumb glue (PIC version):
+
+ .arm
+ __func_from_arm:
+ ldr r12, __func_addr
++ add r12, r12, pc @ pc is __func_addr, so r12 is func
+ bx r12
+ __func_addr:
+- .word func @ behave as if you saw a ARM_32 reloc. */
++ .word func-.+1 @ offset to actual function, low bit set */
+
+-#define ARM2THUMB_GLUE_SIZE 12
+-static const insn32 a2t1_ldr_insn = 0xe59fc000;
+-static const insn32 a2t2_bx_r12_insn = 0xe12fff1c;
+-static const insn32 a2t3_func_addr_insn = 0x00000001;
++#define ARM2THUMB_GLUE_SIZE 16
++static const insn32 a2t1_ldr_insn = 0xe59fc004;
++static const insn32 a2t2_add_r12_insn = 0xe08fc00c;
++static const insn32 a2t3_bx_r12_insn = 0xe12fff1c;
+
+ /* Thumb->ARM: Thumb->(non-interworking aware) ARM
+
+@@ -2187,6 +2188,8 @@
+
+ if ((my_offset & 0x01) == 0x01)
+ {
++ long int ret_offset;
++
+ if (sym_sec != NULL
+ && sym_sec->owner != NULL
+ && !INTERWORK_FLAG (sym_sec->owner))
+@@ -2203,12 +2206,31 @@
+ bfd_put_32 (output_bfd, (bfd_vma) a2t1_ldr_insn,
+ s->contents + my_offset);
+
+- bfd_put_32 (output_bfd, (bfd_vma) a2t2_bx_r12_insn,
++ bfd_put_32 (output_bfd, (bfd_vma) a2t2_add_r12_insn,
+ s->contents + my_offset + 4);
+
+- /* It's a thumb address. Add the low order bit. */
+- bfd_put_32 (output_bfd, val | a2t3_func_addr_insn,
++ bfd_put_32 (output_bfd, (bfd_vma) a2t3_bx_r12_insn,
+ s->contents + my_offset + 8);
++
++ /* Calculate the offset to the actual function. */
++ ret_offset =
++ /* Address of destination of the stub. */
++ ((bfd_signed_vma) val)
++ - ((bfd_signed_vma)
++ /* Offset from the start of the current section
++ to the start of the stubs. */
++ (s->output_offset
++ /* Offset of the start of this stub from the start of the stubs. */
++ + my_offset
++ /* Address of the start of the current section. */
++ + s->output_section->vma)
++ /* The word is 12 bytes into the stub. */
++ + 12
++ /* The destination is a thumb function so the bottom bit must be set. */
++ - 1);
++
++ bfd_put_32 (output_bfd, (bfd_vma) ret_offset,
++ s->contents + my_offset + 12);
+ }
+
+ BFD_ASSERT (my_offset <= globals->arm_glue_size);
diff --git a/meta/packages/binutils/binutils-2.16/binutils-2.16-thumb-trampoline.patch b/meta/packages/binutils/binutils-2.16/binutils-2.16-thumb-trampoline.patch
new file mode 100644
index 0000000000..a4f90a7254
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.16/binutils-2.16-thumb-trampoline.patch
@@ -0,0 +1,292 @@
+--- binutils-2.16/.pc/binutils-2.16-thumb-trampoline.patch/bfd/elf32-arm.c 2005-05-02 12:43:06.000000000 -0700
++++ binutils-2.16/bfd/elf32-arm.c 2005-09-19 22:58:49.834931044 -0700
+@@ -24,6 +24,8 @@
+ #include "libbfd.h"
+ #include "elf-bfd.h"
+
++#define NOTE_DEBUG 0
++
+ #ifndef NUM_ELEM
+ #define NUM_ELEM(a) (sizeof (a) / (sizeof (a)[0]))
+ #endif
+@@ -1127,6 +1129,10 @@
+ used, we need to record the index into .got.plt instead of
+ recomputing it from the PLT offset. */
+ bfd_signed_vma plt_got_offset;
++
++ /* This is used to sanity check that the Thumb trampoline space
++ really was allocated. */
++ int accomodate_trampoline;
+ };
+
+ /* Traverse an arm ELF linker hash table. */
+@@ -1219,9 +1225,15 @@
+ table, string));
+ if (ret != NULL)
+ {
++#if NOTE_DEBUG
++ _bfd_error_handler(
++ _("NOTE: %x(%s): New hash entry (plt refcount %d)"),
++ ret, string, ret->root.plt.refcount);
++#endif
+ ret->relocs_copied = NULL;
+ ret->plt_thumb_refcount = 0;
+ ret->plt_got_offset = -1;
++ ret->accomodate_trampoline = 0;
+ }
+
+ return (struct bfd_hash_entry *) ret;
+@@ -1335,16 +1347,38 @@
+ eind->relocs_copied = NULL;
+ }
+
+- /* If the direct symbol already has an associated PLT entry, the
+- indirect symbol should not. If it doesn't, swap refcount information
+- from the indirect symbol. */
+- if (edir->plt_thumb_refcount == 0)
++ if (ind->root.type == bfd_link_hash_indirect)
+ {
+- edir->plt_thumb_refcount = eind->plt_thumb_refcount;
+- eind->plt_thumb_refcount = 0;
++ bfd_signed_vma tmp;
++ bfd_signed_vma lowest_valid = bed->can_refcount;
++
++ /* If the direct symbol already has an associated PLT entry, the
++ indirect symbol should not. If it doesn't, swap refcount information
++ from the indirect symbol. */
++#if NOTE_DEBUG
++ _bfd_error_handler(_("NOTE: %x(%s,%d,%d) <== %x(%s,%d,%d)"),
++ dir, dir->root.root.string, dir->plt.refcount, edir->plt_thumb_refcount,
++ ind, ind->root.root.string, ind->plt.refcount, eind->plt_thumb_refcount);
++#endif
++
++ /* Copy over the global and procedure linkage table refcount entries.
++ These may have been already set up by a check_relocs routine. This
++ code duplicates that for the plt refcount in elf.c
++ _bfd_elf_link_hash_copy_indirect */
++ tmp = dir->plt.refcount;
++ /* this obfuscated test evaluates to bed->can_refcount && plt.refcount == 0
++ * || plt.refcount < 0.
++ */
++ if (tmp < lowest_valid)
++ {
++ tmp = edir->plt_thumb_refcount;
++ edir->plt_thumb_refcount = eind->plt_thumb_refcount;
++ eind->plt_thumb_refcount = tmp;
++ BFD_ASSERT(eind->accomodate_trampoline == 0);
++ }
++ else
++ BFD_ASSERT (eind->plt_thumb_refcount == 0);
+ }
+- else
+- BFD_ASSERT (eind->plt_thumb_refcount == 0);
+
+ _bfd_elf_link_hash_copy_indirect (bed, dir, ind);
+ }
+@@ -2060,7 +2094,7 @@
+ (*_bfd_error_handler)
+ (_("%B(%s): warning: interworking not enabled.\n"
+ " first occurrence: %B: thumb call to arm"),
+- sym_sec->owner, input_bfd, name);
++ sym_sec->owner, name, input_bfd);
+
+ return FALSE;
+ }
+@@ -2165,7 +2199,7 @@
+ (*_bfd_error_handler)
+ (_("%B(%s): warning: interworking not enabled.\n"
+ " first occurrence: %B: arm call to thumb"),
+- sym_sec->owner, input_bfd, name);
++ sym_sec->owner, name, input_bfd);
+ }
+
+ --my_offset;
+@@ -2481,7 +2515,7 @@
+ instruction instead ? */
+ if (sym_flags != STT_ARM_TFUNC)
+ (*_bfd_error_handler)
+- (_("\%B: Warning: Arm BLX instruction targets Arm function '%s'."),
++ (_("%B: Warning: Arm BLX instruction targets Arm function '%s'."),
+ input_bfd,
+ h ? h->root.root.string : "(local)");
+ }
+@@ -2697,6 +2731,20 @@
+ /* Handle calls via the PLT. */
+ if (h != NULL && splt != NULL && h->plt.offset != (bfd_vma) -1)
+ {
++ struct elf32_arm_link_hash_entry *eh;
++ eh = (struct elf32_arm_link_hash_entry *) h;
++ if (!eh->accomodate_trampoline)
++ {
++ /* %B of output_bfd crashes here, so %x is used instead */
++ _bfd_error_handler(
++ _("ERROR: %B: %x(%s): missing thumb trampoline, refcount(thumb %d, plt %d) in %x at %x+%x+%x"),
++ input_bfd, h, h->root.root.string, eh->plt_thumb_refcount,
++ h->plt.refcount, output_bfd, splt->output_section->vma,
++ splt->output_offset, h->plt.offset);
++ /* The relocation would point to garbage, it gets skipped... */
++ return bfd_reloc_dangerous;
++ }
++
+ value = (splt->output_section->vma
+ + splt->output_offset
+ + h->plt.offset);
+@@ -3525,8 +3573,9 @@
+ {
+ _bfd_error_handler
+ (_("ERROR: Source object %B has EABI version %d, but target %B has EABI version %d"),
+- ibfd, obfd,
++ ibfd,
+ (in_flags & EF_ARM_EABIMASK) >> 24,
++ obfd,
+ (out_flags & EF_ARM_EABIMASK) >> 24);
+ return FALSE;
+ }
+@@ -3538,8 +3587,9 @@
+ {
+ _bfd_error_handler
+ (_("ERROR: %B is compiled for APCS-%d, whereas target %B uses APCS-%d"),
+- ibfd, obfd,
++ ibfd,
+ in_flags & EF_ARM_APCS_26 ? 26 : 32,
++ obfd,
+ out_flags & EF_ARM_APCS_26 ? 26 : 32);
+ flags_compatible = FALSE;
+ }
+@@ -3903,10 +3953,18 @@
+ eh = (struct elf32_arm_link_hash_entry *) h;
+
+ if (h->plt.refcount > 0)
++ h->plt.refcount -= 1;
++
++ if (ELF32_R_TYPE (rel->r_info) == R_ARM_THM_PC22)
+ {
+- h->plt.refcount -= 1;
+- if (ELF32_R_TYPE (rel->r_info) == R_ARM_THM_PC22)
+- eh->plt_thumb_refcount--;
++ BFD_ASSERT (eh->plt_thumb_refcount > 0);
++ eh->plt_thumb_refcount--;
++ BFD_ASSERT (eh->accomodate_trampoline == 0);
++#if NOTE_DEBUG
++ _bfd_error_handler(
++ _("NOTE: %B: %x(%s): Thumb refcount decremented to %d (plt refcount %d)"),
++ abfd, h, h->root.root.string, eh->plt_thumb_refcount, h->plt.refcount);
++#endif
+ }
+
+ if (r_type == R_ARM_ABS32
+@@ -3994,6 +4052,10 @@
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+
+ eh = (struct elf32_arm_link_hash_entry *) h;
++#if NOTE_DEBUG
++ if (h != NULL)
++ _bfd_error_handler(_("NOTE: %B: %x(%s): verify relocation"), abfd, h, h->root.root.string);
++#endif
+
+ switch (r_type)
+ {
+@@ -4078,10 +4140,30 @@
+
+ /* If we create a PLT entry, this relocation will reference
+ it, even if it's an ABS32 relocation. */
+- h->plt.refcount += 1;
++ if (h->plt.refcount >= 0)
++ h->plt.refcount += 1;
++ else
++ {
++ /* This happens, I suspect it happens with glue code because,
++ * somehow, the backend data had can_refcount==0. Expert required...
++ */
++ _bfd_error_handler(
++ _("WARNING: %B: %x(%s): PLT refcount was %d (set to 1)"),
++ abfd, h, h->root.root.string, h->plt.refcount);
++ h->plt.refcount = 1;
++ }
+
+ if (r_type == R_ARM_THM_PC22)
+- eh->plt_thumb_refcount += 1;
++ {
++ eh->plt_thumb_refcount += 1;
++ BFD_ASSERT (eh->plt_thumb_refcount <= h->plt.refcount);
++ BFD_ASSERT (eh->accomodate_trampoline == 0);
++#if NOTE_DEBUG
++ _bfd_error_handler(
++ _("NOTE: %B: %x(%s): Thumb refcount incremented to %d (plt refcount %d)"),
++ abfd, h, h->root.root.string, eh->plt_thumb_refcount, h->plt.refcount);
++#endif
++ }
+ }
+
+ /* If we are creating a shared library or relocatable executable,
+@@ -4376,8 +4458,15 @@
+ object, or if all references were garbage collected. In
+ such a case, we don't actually need to build a procedure
+ linkage table, and we can just do a PC24 reloc instead. */
++#if NOTE_DEBUG
++ _bfd_error_handler(
++ _("NOTE: %x(%s): Thumb refcount zeroed (plt refcount %d, thumb %d) (%s)"),
++ h, h->root.root.string, h->plt.refcount, eh->plt_thumb_refcount,
++ SYMBOL_CALLS_LOCAL (info, h) ? "local call" : "invisible");
++#endif
+ h->plt.offset = (bfd_vma) -1;
+ eh->plt_thumb_refcount = 0;
++ BFD_ASSERT (eh->accomodate_trampoline == 0);
+ h->needs_plt = 0;
+ }
+
+@@ -4390,8 +4479,14 @@
+ in check_relocs. We can't decide accurately between function
+ and non-function syms in check-relocs; Objects loaded later in
+ the link may change h->type. So fix it now. */
++#if NOTE_DEBUG
++ _bfd_error_handler(
++ _("NOTE: %x(%s): Thumb refcount zeroed (%d, plt refcount %d)"),
++ h, h->root.root.string, eh->plt_thumb_refcount, h->plt.refcount);
++#endif
+ h->plt.offset = (bfd_vma) -1;
+ eh->plt_thumb_refcount = 0;
++ BFD_ASSERT (eh->accomodate_trampoline == 0);
+ }
+
+ /* If this is a weak symbol, and there is a real definition, the
+@@ -4521,8 +4616,14 @@
+ for it. */
+ if (!htab->symbian_p && eh->plt_thumb_refcount > 0)
+ {
++#if NOTE_DEBUG
++ _bfd_error_handler(_("NOTE: %x(%s): Thumb trampoline created at %x"),
++ h, h->root.root.string, h->plt.offset);
++#endif
+ h->plt.offset += PLT_THUMB_STUB_SIZE;
+ s->size += PLT_THUMB_STUB_SIZE;
++ BFD_ASSERT (eh->accomodate_trampoline == 0);
++ eh->accomodate_trampoline = 1;
+ }
+
+ /* If this symbol is not defined in a regular file, and we are
+@@ -5014,10 +5115,20 @@
+
+ if (eh->plt_thumb_refcount > 0)
+ {
+- bfd_put_16 (output_bfd, elf32_arm_plt_thumb_stub[0],
+- splt->contents + h->plt.offset - 4);
+- bfd_put_16 (output_bfd, elf32_arm_plt_thumb_stub[1],
+- splt->contents + h->plt.offset - 2);
++ if (eh->accomodate_trampoline == 1)
++ {
++ bfd_put_16 (output_bfd, elf32_arm_plt_thumb_stub[0],
++ splt->contents + h->plt.offset - 4);
++ bfd_put_16 (output_bfd, elf32_arm_plt_thumb_stub[1],
++ splt->contents + h->plt.offset - 2);
++ }
++ else
++ {
++ (*_bfd_error_handler) (
++ _("%B: no space for THUMB trampoline at %x[%x]"),
++ output_bfd, h->plt.offset, got_offset);
++ return FALSE;
++ }
+ }
+
+ bfd_put_32 (output_bfd, elf32_arm_plt_entry[0] | ((got_displacement & 0x0ff00000) >> 20),
diff --git a/meta/packages/binutils/binutils-cross.inc b/meta/packages/binutils/binutils-cross.inc
new file mode 100644
index 0000000000..c63ea687aa
--- /dev/null
+++ b/meta/packages/binutils/binutils-cross.inc
@@ -0,0 +1,30 @@
+SECTION = "devel"
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/binutils/binutils-cross_2.15.94.0.1.bb b/meta/packages/binutils/binutils-cross_2.15.94.0.1.bb
new file mode 100644
index 0000000000..7e165271d7
--- /dev/null
+++ b/meta/packages/binutils/binutils-cross_2.15.94.0.1.bb
@@ -0,0 +1,32 @@
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/binutils/binutils-cross_2.16.91.0.7.bb b/meta/packages/binutils/binutils-cross_2.16.91.0.7.bb
new file mode 100644
index 0000000000..7e165271d7
--- /dev/null
+++ b/meta/packages/binutils/binutils-cross_2.16.91.0.7.bb
@@ -0,0 +1,32 @@
+SECTION = "devel"
+include binutils_${PV}.bb
+inherit cross
+DEPENDS += "flex-native bison-native"
+PROVIDES = "virtual/${TARGET_PREFIX}binutils"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+PACKAGES = ""
+EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
+ --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${CROSS_DIR}/lib/ldscripts
+ rm -rf ${CROSS_DIR}/share/info
+ rm -rf ${CROSS_DIR}/share/locale
+ rm -rf ${CROSS_DIR}/share/man
+ rmdir ${CROSS_DIR}/share || :
+ rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
+ rmdir ${CROSS_DIR}/${libdir} || :
+ rmdir ${CROSS_DIR}/${prefix} || :
+
+ # We want to move this into the target specific location
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
+ mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
+ rmdir ${CROSS_DIR}/lib || :
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/binutils/binutils-cross_2.16.bb b/meta/packages/binutils/binutils-cross_2.16.bb
new file mode 100644
index 0000000000..df0f17b1ef
--- /dev/null
+++ b/meta/packages/binutils/binutils-cross_2.16.bb
@@ -0,0 +1,3 @@
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+include binutils_${PV}.bb
+include binutils-cross.inc
diff --git a/meta/packages/binutils/binutils.inc b/meta/packages/binutils/binutils.inc
new file mode 100644
index 0000000000..680e579a06
--- /dev/null
+++ b/meta/packages/binutils/binutils.inc
@@ -0,0 +1,117 @@
+inherit autotools gettext
+
+PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks"
+
+FILES_${PN} = " \
+ ${bindir}/${TARGET_PREFIX}* \
+ ${libdir}/lib*-*.so \
+ ${prefix}/${TARGET_SYS}/bin/*"
+
+FILES_${PN}-dev = " \
+ ${includedir} \
+ ${libdir}/*.a \
+ ${libdir}/*.la \
+ ${libdir}/libbfd.so \
+ ${libdir}/libopcodes.so"
+
+FILES_${PN}-symlinks = " \
+ ${bindir}/addr2line \
+ ${bindir}/as \
+ ${bindir}/c++filt \
+ ${bindir}/gprof \
+ ${bindir}/ld \
+ ${bindir}/nm \
+ ${bindir}/objcopy \
+ ${bindir}/objdump \
+ ${bindir}/ranlib \
+ ${bindir}/readelf \
+ ${bindir}/size \
+ ${bindir}/strip"
+
+EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
+ --enable-shared"
+
+# This is necessary due to a bug in the binutils Makefiles
+EXTRA_OEMAKE = "configure-build-libiberty all"
+
+export AR = "${HOST_PREFIX}ar"
+export AS = "${HOST_PREFIX}as"
+export LD = "${HOST_PREFIX}ld"
+export NM = "${HOST_PREFIX}nm"
+export RANLIB = "${HOST_PREFIX}ranlib"
+export OBJCOPY = "${HOST_PREFIX}objcopy"
+export OBJDUMP = "${HOST_PREFIX}objdump"
+
+export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
+export AS_FOR_TARGET = "${TARGET_PREFIX}as"
+export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
+export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
+export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
+
+export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CPP_FOR_BUILD = "${BUILD_CPP}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
+
+export CC = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+
+do_configure () {
+ (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
+ oe_runconf
+}
+
+do_stage () {
+ oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/
+ oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/
+ oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/
+ install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/
+}
+
+do_install () {
+ autotools_do_install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${D}${libdir}/ldscripts
+
+ # Fix the /usr/${TARGET_SYS}/bin/* links
+ for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
+ rm -f $l
+ ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
+ | tr -s / \
+ | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
+ done
+
+ # Install the libiberty header
+ install -d ${D}${includedir}
+ install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
+ install -m 644 ${S}/include/libiberty.h ${D}${includedir}
+
+ cd ${D}${bindir}
+
+ # Symlinks for ease of running these on the native target
+ for p in ${TARGET_SYS}-* ; do
+ ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
+ done
+
+ rm ${D}${bindir}/ar ${D}${bindir}/strings
+}
+
+
+pkg_postinst_${PN}-symlinks () {
+ update-alternatives --install ${bindir}/ar ar ${TARGET_SYS}-ar 100
+ update-alternatives --install ${bindir}/strings strings ${TARGET_SYS}-strings 100
+}
+
+
+pkg_prerm_${PN}-symlinks () {
+ update-alternatives --remove ar ${TARGET_SYS}-ar
+ update-alternatives --remove strings ${TARGET_SYS}-strings
+}
+
diff --git a/meta/packages/binutils/binutils_2.15.94.0.1.bb b/meta/packages/binutils/binutils_2.15.94.0.1.bb
new file mode 100644
index 0000000000..2b2996abe6
--- /dev/null
+++ b/meta/packages/binutils/binutils_2.15.94.0.1.bb
@@ -0,0 +1,124 @@
+DESCRIPTION = "A GNU collection of binary utilities"
+HOMEPAGE = "http://www.gnu.org/software/binutils/"
+SECTION = "devel"
+LICENSE = "GPL"
+MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+PR = "r2"
+
+inherit autotools gettext
+
+PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks"
+
+FILES_${PN} = " \
+ ${bindir}/${TARGET_PREFIX}* \
+ ${libdir}/lib*-*.so \
+ ${prefix}/${TARGET_SYS}/bin/*"
+
+FILES_${PN}-dev = " \
+ ${includedir} \
+ ${libdir}/*.a \
+ ${libdir}/*.la \
+ ${libdir}/libbfd.so \
+ ${libdir}/libopcodes.so"
+
+FILES_${PN}-symlinks = " \
+ ${bindir}/addr2line \
+ ${bindir}/ar \
+ ${bindir}/as \
+ ${bindir}/c++filt \
+ ${bindir}/gprof \
+ ${bindir}/ld \
+ ${bindir}/nm \
+ ${bindir}/objcopy \
+ ${bindir}/objdump \
+ ${bindir}/ranlib \
+ ${bindir}/readelf \
+ ${bindir}/size \
+ ${bindir}/strings \
+ ${bindir}/strip"
+
+SRC_URI = \
+ "http://ftp.kernel.org/pub/linux/devel/binutils/binutils-${PV}.tar.bz2 \
+ file://ld_makefile.patch;patch=1 \
+ file://better_file_error.patch;patch=1 \
+ file://signed_char_fix.patch;patch=1 \
+ file://objdump_fix.patch;patch=1 \
+ file://binutils-100_cflags_for_build.patch;patch=1 \
+ file://binutils-2.15.91.0.1-uclibc-100-conf.patch;patch=1 \
+ file://binutils-2.15.90.0.3-uclibc-200-build_modules.patch;patch=1"
+
+S = "${WORKDIR}/binutils-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
+ --enable-shared"
+
+# This is necessary due to a bug in the binutils Makefiles
+EXTRA_OEMAKE = "configure-build-libiberty all"
+
+export AR = "${HOST_PREFIX}ar"
+export AS = "${HOST_PREFIX}as"
+export LD = "${HOST_PREFIX}ld"
+export NM = "${HOST_PREFIX}nm"
+export RANLIB = "${HOST_PREFIX}ranlib"
+export OBJCOPY = "${HOST_PREFIX}objcopy"
+export OBJDUMP = "${HOST_PREFIX}objdump"
+
+export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
+export AS_FOR_TARGET = "${TARGET_PREFIX}as"
+export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
+export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
+export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
+
+export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CPP_FOR_BUILD = "${BUILD_CPP}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
+
+export CC = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+
+do_configure () {
+ (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
+ oe_runconf
+}
+
+do_stage () {
+ oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/
+ oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/
+ oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/
+ install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/
+}
+
+do_install () {
+ autotools_do_install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${D}${libdir}/ldscripts
+
+ # Fix the /usr/${TARGET_SYS}/bin/* links
+ for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
+ rm -f $l
+ ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
+ | tr -s / \
+ | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
+ done
+
+ # Install the libiberty header
+ install -d ${D}${includedir}
+ install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
+ install -m 644 ${S}/include/libiberty.h ${D}${includedir}
+
+ cd ${D}${bindir}
+
+ # Symlinks for ease of running these on the native target
+ for p in ${TARGET_SYS}-* ; do
+ ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
+ done
+}
diff --git a/meta/packages/binutils/binutils_2.16.91.0.7.bb b/meta/packages/binutils/binutils_2.16.91.0.7.bb
new file mode 100644
index 0000000000..664fce8cb7
--- /dev/null
+++ b/meta/packages/binutils/binutils_2.16.91.0.7.bb
@@ -0,0 +1,123 @@
+DESCRIPTION = "A GNU collection of binary utilities"
+HOMEPAGE = "http://www.gnu.org/software/binutils/"
+SECTION = "devel"
+LICENSE = "GPL"
+DEFAULT_PREFERENCE = "-1"
+
+inherit autotools gettext
+
+PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks"
+
+FILES_${PN} = " \
+ ${bindir}/${TARGET_PREFIX}* \
+ ${libdir}/lib*-*.so \
+ ${prefix}/${TARGET_SYS}/bin/*"
+
+FILES_${PN}-dev = " \
+ ${includedir} \
+ ${libdir}/*.a \
+ ${libdir}/*.la \
+ ${libdir}/libbfd.so \
+ ${libdir}/libopcodes.so"
+
+FILES_${PN}-symlinks = " \
+ ${bindir}/addr2line \
+ ${bindir}/ar \
+ ${bindir}/as \
+ ${bindir}/c++filt \
+ ${bindir}/gprof \
+ ${bindir}/ld \
+ ${bindir}/nm \
+ ${bindir}/objcopy \
+ ${bindir}/objdump \
+ ${bindir}/ranlib \
+ ${bindir}/readelf \
+ ${bindir}/size \
+ ${bindir}/strings \
+ ${bindir}/strip"
+
+SRC_URI = \
+ "http://ftp.kernel.org/pub/linux/devel/binutils/binutils-${PV}.tar.bz2 \
+ file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1 \
+ file://binutils-uclibc-100-uclibc-conf.patch;patch=1 \
+ file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \
+ file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \
+ file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1 \
+ file://binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch;patch=1 \
+ file://binutils-uclibc-702-binutils-skip-comments.patch;patch=1"
+
+S = "${WORKDIR}/binutils-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
+ --enable-shared"
+
+# This is necessary due to a bug in the binutils Makefiles
+EXTRA_OEMAKE = "configure-build-libiberty all"
+
+export AR = "${HOST_PREFIX}ar"
+export AS = "${HOST_PREFIX}as"
+export LD = "${HOST_PREFIX}ld"
+export NM = "${HOST_PREFIX}nm"
+export RANLIB = "${HOST_PREFIX}ranlib"
+export OBJCOPY = "${HOST_PREFIX}objcopy"
+export OBJDUMP = "${HOST_PREFIX}objdump"
+
+export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
+export AS_FOR_TARGET = "${TARGET_PREFIX}as"
+export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
+export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
+export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
+
+export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CPP_FOR_BUILD = "${BUILD_CPP}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
+
+export CC = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
+
+do_configure () {
+ (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
+ oe_runconf
+}
+
+do_stage () {
+ oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/
+ oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/
+ oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/
+ install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/
+ install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/
+ install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/
+}
+
+do_install () {
+ autotools_do_install
+
+ # We don't really need these, so we'll remove them...
+ rm -rf ${D}${libdir}/ldscripts
+
+ # Fix the /usr/${TARGET_SYS}/bin/* links
+ for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
+ rm -f $l
+ ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
+ | tr -s / \
+ | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
+ done
+
+ # Install the libiberty header
+ install -d ${D}${includedir}
+ install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
+ install -m 644 ${S}/include/libiberty.h ${D}${includedir}
+
+ cd ${D}${bindir}
+
+ # Symlinks for ease of running these on the native target
+ for p in ${TARGET_SYS}-* ; do
+ ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
+ done
+}
diff --git a/meta/packages/binutils/binutils_2.16.bb b/meta/packages/binutils/binutils_2.16.bb
new file mode 100644
index 0000000000..5b936dcc66
--- /dev/null
+++ b/meta/packages/binutils/binutils_2.16.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "A GNU collection of binary utilities"
+HOMEPAGE = "http://www.gnu.org/software/binutils/"
+SECTION = "devel"
+LICENSE = "GPL"
+MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+PR = "r7"
+
+SRC_URI = \
+ "http://ftp.gnu.org/gnu/binutils/binutils-${PV}.tar.bz2 \
+ file://ld_makefile.patch;patch=1 \
+ file://better_file_error.patch;patch=1 \
+ file://signed_char_fix.patch;patch=1 \
+ file://binutils-2.16-objcopy-rename-errorcode.patch;patch=1 \
+ file://binutils-100_cflags_for_build.patch;patch=1"
+
+# uclibc patches
+SRC_URI += "file://binutils-2.16-linux-uclibc.patch;patch=1"
+
+# thumb support patches
+SRC_URI += "file://binutils-2.16-thumb-trampoline.patch;patch=1"
+SRC_URI += "file://binutils-2.16-thumb-glue.patch;patch=1"
+
+S = "${WORKDIR}/binutils-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+include binutils.inc
diff --git a/meta/packages/binutils/files/better_file_error.patch b/meta/packages/binutils/files/better_file_error.patch
new file mode 100644
index 0000000000..38ef52966e
--- /dev/null
+++ b/meta/packages/binutils/files/better_file_error.patch
@@ -0,0 +1,17 @@
+diff -urN binutils-2.11.92.0.5/bfd/opncls.c binutils-2.11.92.0.5.new/bfd/opncls.c
+--- binutils-2.11.92.0.5/bfd/opncls.c Mon Oct 1 18:25:21 2001
++++ binutils-2.11.92.0.5.new/bfd/opncls.c Sat Oct 13 11:26:59 2001
+@@ -127,6 +127,13 @@
+ {
+ bfd *nbfd;
+ const bfd_target *target_vec;
++ struct stat s;
++
++ if (stat (filename, &s) == 0)
++ if (S_ISDIR(s.st_mode)) {
++ bfd_set_error (bfd_error_file_not_recognized);
++ return NULL;
++ }
+
+ nbfd = _bfd_new_bfd ();
+ if (nbfd == NULL)
diff --git a/meta/packages/binutils/files/ld_makefile.patch b/meta/packages/binutils/files/ld_makefile.patch
new file mode 100644
index 0000000000..c1d2ac1ece
--- /dev/null
+++ b/meta/packages/binutils/files/ld_makefile.patch
@@ -0,0 +1,22 @@
+--- binutils-2.11.90.0.19.orig/ld/Makefile.am
++++ binutils-2.11.90.0.19/ld/Makefile.am
+@@ -19,7 +19,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+--- binutils-2.11.90.0.19.orig/ld/Makefile.in
++++ binutils-2.11.90.0.19/ld/Makefile.in
+@@ -123,7 +123,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
diff --git a/meta/packages/binutils/files/objdump_fix.patch b/meta/packages/binutils/files/objdump_fix.patch
new file mode 100644
index 0000000000..90ad732c06
--- /dev/null
+++ b/meta/packages/binutils/files/objdump_fix.patch
@@ -0,0 +1,134 @@
+From binutils-return-38148-listarch-binutils=sources dot redhat dot com at sources dot redhat dot com Tue Feb 22 19:24:15 2005
+Return-Path: <binutils-return-38148-listarch-binutils=sources dot redhat dot com at sources dot redhat dot com>
+Delivered-To: listarch-binutils at sources dot redhat dot com
+Received: (qmail 4446 invoked by alias); 22 Feb 2005 19:24:15 -0000
+Mailing-List: contact binutils-help at sources dot redhat dot com; run by ezmlm
+Precedence: bulk
+List-Subscribe: <mailto:binutils-subscribe at sources dot redhat dot com>
+List-Archive: <http://sources.redhat.com/ml/binutils/>
+List-Post: <mailto:binutils at sources dot redhat dot com>
+List-Help: <mailto:binutils-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs>
+Sender: binutils-owner at sources dot redhat dot com
+Delivered-To: mailing list binutils at sources dot redhat dot com
+Received: (qmail 4401 invoked from network); 22 Feb 2005 19:24:08 -0000
+Received: from unknown (HELO bgo1smout1.broadpark.no) (217.13.4.94)
+ by sourceware dot org with SMTP; 22 Feb 2005 19:24:08 -0000
+Received: from bgo1sminn1.broadpark.no ([217.13.4.93])
+ by bgo1smout1 dot broadpark dot no
+ (Sun Java System Messaging Server 6 dot 1 HotFix 0 dot 05 (built Oct 21 2004))
+ with ESMTP id <0ICB007QZUZCC0C0 at bgo1smout1 dot broadpark dot no> for
+ binutils at sources dot redhat dot com; Tue, 22 Feb 2005 20:18:48 +0100 (CET)
+Received: from [127.0.0.1] ([80.202.165.9]) by bgo1sminn1.broadpark.no
+ (Sun Java System Messaging Server 6 dot 1 HotFix 0 dot 05 (built Oct 21 2004))
+ with ESMTP id <0ICB006NCVBVHE21 at bgo1sminn1 dot broadpark dot no> for
+ binutils at sources dot redhat dot com; Tue, 22 Feb 2005 20:26:20 +0100 (CET)
+Date: Tue, 22 Feb 2005 20:24:08 +0100
+From: =?ISO-8859-1?Q?Stig_Petter_Olsr=F8d?= <stigpo at users dot sourceforge dot net>
+Subject: [PATCH] objdump relocation fixes for ARM disassembly
+To: binutils at sources dot redhat dot com
+Message-id: <421B86D8.8080604@users.sourceforge.net>
+MIME-version: 1.0
+Content-type: text/plain; charset=ISO-8859-1; format=flowed
+Content-transfer-encoding: 7BIT
+User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)
+
+Hello,
+
+objdump disassembly did not relocate correctly for the ARM processor. It seems
+that the test for triggering the INSN_HAS_RELOC flag was void (one test killed the other,
+since octets would always be zero) and all relocations would thus fail. I changed the test
+so the flag is set when we are about to disassemble an insn that the current relocation
+entry points to. I also changed objdump_print_addr to use the current relocation entry if
+the insn has such an entry. This causes the symbol printed to be correct for both external
+symbols (from the undefined section) and local symbols.
+
+This has only been tested for the ARM processor, but I don't think it should break other
+DISASSEMBLER_NEEDS_RELOCS processors either.
+
+
+binutils/
+
+2005-02-22 Stig Petter Olsroed <stigpo@users.sourceforge.net>
+
+ * objdump.c (disassemble_bytes): Fixed relocation check for
+ DISASSEMBLER_NEEDS_RELOCS platforms to properly trigger the
+ INSN_HAS_RELOC flag. Set the current relocation entry in
+ objdump_disasm_info to allow printing the proper symbol.
+ (objdump_print_addr): Use the relocation entry in
+ objdump_disasm_info to lookup the correct symbol for
+ DISASSEMBLER_NEEDS_RELOCS platforms.
+
+--- 1/binutils/objdump.c 2005-02-22 01:50:06.000000000 +0100
++++ 2/binutils/objdump.c 2005-02-22 14:27:33.066960900 +0100
+@@ -128,6 +128,7 @@
+ arelent ** dynrelbuf;
+ long dynrelcount;
+ disassembler_ftype disassemble_fn;
++ arelent * reloc;
+ };
+
+ /* Architecture to disassemble for, or default if NULL. */
+@@ -852,6 +853,8 @@
+ {
+ struct objdump_disasm_info *aux;
+ asymbol *sym;
++ arelent *q;
++ int skip_find = 0;
+
+ if (sorted_symcount < 1)
+ {
+@@ -861,6 +864,22 @@
+ }
+
+ aux = (struct objdump_disasm_info *) info->application_data;
++
++ q = aux->reloc;
++ if (q != NULL)
++ {
++ if (q->sym_ptr_ptr != NULL && *q->sym_ptr_ptr != NULL)
++ {
++ /* Adjust the vma to the reloc */
++ vma += bfd_asymbol_value (*q->sym_ptr_ptr);
++ if (bfd_is_und_section (bfd_get_section (*q->sym_ptr_ptr)))
++ {
++ skip_find = 1;
++ sym = *q->sym_ptr_ptr;
++ }
++ }
++ }
++ if (!skip_find)
+ sym = find_symbol_for_address (vma, info, NULL);
+ objdump_print_addr_with_sym (aux->abfd, aux->sec, sym, vma, info,
+ skip_zeroes);
+@@ -1350,16 +1369,22 @@
+ info->bytes_per_chunk = 0;
+
+ #ifdef DISASSEMBLER_NEEDS_RELOCS
+- /* FIXME: This is wrong. It tests the number of octets
+- in the last instruction, not the current one. */
+- if (*relppp < relppend
+- && (**relppp)->address >= rel_offset + addr_offset
+- && ((**relppp)->address
+- < rel_offset + addr_offset + octets / opb))
++ /* Check if the current relocation entry applies to the
++ instruction we are about to disassemble.
++ This works for ARM at least.
++ */
++ if ((*relppp) < relppend
++ && ((**relppp)->address == rel_offset + addr_offset))
++ {
+ info->flags = INSN_HAS_RELOC;
++ aux->reloc = **relppp;
++ }
+ else
+ #endif
++ {
+ info->flags = 0;
++ aux->reloc = NULL;
++ }
+
+ octets = (*disassemble_fn) (section->vma + addr_offset, info);
+ info->fprintf_func = (fprintf_ftype) fprintf;
+
+
+
diff --git a/meta/packages/binutils/files/plt32trunc.patch b/meta/packages/binutils/files/plt32trunc.patch
new file mode 100644
index 0000000000..4990f5dbb6
--- /dev/null
+++ b/meta/packages/binutils/files/plt32trunc.patch
@@ -0,0 +1,24 @@
+--- binutils/bfd/elf32-arm.h.orig 2004-04-22 22:11:15.000000000 -0400
++++ binutils/bfd/elf32-arm.h 2004-04-22 22:28:37.000000000 -0400
+@@ -2229,6 +2229,8 @@ elf32_arm_relocate_section (output_bfd,
+ case R_ARM_PC24:
+ case R_ARM_ABS32:
+ case R_ARM_THM_PC22:
++ case R_ARM_PLT32:
++
+ if (info->shared
+ && (
+ (!info->symbolic && h->dynindx != -1)
+@@ -2262,11 +2264,6 @@ elf32_arm_relocate_section (output_bfd,
+ relocation = 0;
+ break;
+
+- case R_ARM_PLT32:
+- if (h->plt.offset != (bfd_vma)-1)
+- relocation = 0;
+- break;
+-
+ default:
+ if (unresolved_reloc)
+ _bfd_error_handler
+
diff --git a/meta/packages/binutils/files/signed_char_fix.patch b/meta/packages/binutils/files/signed_char_fix.patch
new file mode 100644
index 0000000000..b3709dabed
--- /dev/null
+++ b/meta/packages/binutils/files/signed_char_fix.patch
@@ -0,0 +1,12 @@
+diff -urN binutils-2.11.92.0.12.3/opcodes/i386-dis.c binutils-2.11.92.0.12.3.new/opcodes/i386-dis.c
+--- binutils-2.11.92.0.12.3/opcodes/i386-dis.c Fri Nov 16 17:05:55 2001
++++ binutils-2.11.92.0.12.3.new/opcodes/i386-dis.c Mon Dec 31 15:55:04 2001
+@@ -1830,7 +1830,7 @@
+ * The function returns the length of this instruction in bytes.
+ */
+
+-static char intel_syntax;
++static signed char intel_syntax;
+ static char open_char;
+ static char close_char;
+ static char separator_char;
diff --git a/meta/packages/bison/bison-2.0/m4.patch b/meta/packages/bison/bison-2.0/m4.patch
new file mode 100644
index 0000000000..b62fe89d04
--- /dev/null
+++ b/meta/packages/bison/bison-2.0/m4.patch
@@ -0,0 +1,589 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- /dev/null
++++ bison-1.875/m4/inttypes-pri.m4
+@@ -0,0 +1,32 @@
++# inttypes-pri.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
++# macros to non-string values. This is the case on AIX 4.3.3.
++
++AC_DEFUN([gt_INTTYPES_PRI],
++[
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
++ gt_cv_inttypes_pri_broken,
++ [
++ AC_TRY_COMPILE([#include <inttypes.h>
++#ifdef PRId32
++char *p = PRId32;
++#endif
++], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
++ ])
++ fi
++ if test "$gt_cv_inttypes_pri_broken" = yes; then
++ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
++ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
++ fi
++])
+--- /dev/null
++++ bison-1.875/m4/lcmessage.m4
+@@ -0,0 +1,32 @@
++# lcmessage.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
++
++# Check whether LC_MESSAGES is available in <locale.h>.
++
++AC_DEFUN([AM_LC_MESSAGES],
++[
++ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
++ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
++ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
++ if test $am_cv_val_LC_MESSAGES = yes; then
++ AC_DEFINE(HAVE_LC_MESSAGES, 1,
++ [Define if your <locale.h> file defines LC_MESSAGES.])
++ fi
++])
+--- /dev/null
++++ bison-1.875/m4/uintmax_t.m4
+@@ -0,0 +1,29 @@
++# uintmax_t.m4 serial 6 (gettext-0.11)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_PREREQ(2.13)
++
++# Define uintmax_t to `unsigned long' or `unsigned long long'
++# if <inttypes.h> does not exist.
++
++AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
++[
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
++ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
++ test $ac_cv_type_unsigned_long_long = yes \
++ && ac_type='unsigned long long' \
++ || ac_type='unsigned long'
++ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
++ [Define to unsigned long or unsigned long long
++ if <inttypes.h> and <stdint.h> don't define.])
++ fi
++])
+--- /dev/null
++++ bison-1.875/m4/glibc21.m4
+@@ -0,0 +1,32 @@
++# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# Test for the GNU C Library, version 2.1 or newer.
++# From Bruno Haible.
++
++AC_DEFUN([jm_GLIBC21],
++ [
++ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
++ ac_cv_gnu_library_2_1,
++ [AC_EGREP_CPP([Lucky GNU user],
++ [
++#include <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
++ Lucky GNU user
++ #endif
++#endif
++ ],
++ ac_cv_gnu_library_2_1=yes,
++ ac_cv_gnu_library_2_1=no)
++ ]
++ )
++ AC_SUBST(GLIBC21)
++ GLIBC21="$ac_cv_gnu_library_2_1"
++ ]
++)
+--- /dev/null
++++ bison-1.875/m4/stdint_h.m4
+@@ -0,0 +1,28 @@
++# stdint_h.m4 serial 2 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_STDINT_H],
++[
++ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <stdint.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_stdint_h=yes,
++ jm_ac_cv_header_stdint_h=no)])
++ if test $jm_ac_cv_header_stdint_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
++[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- /dev/null
++++ bison-1.875/m4/inttypes_h.m4
+@@ -0,0 +1,28 @@
++# inttypes_h.m4 serial 4 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_inttypes_h=yes,
++ jm_ac_cv_header_inttypes_h=no)])
++ if test $jm_ac_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
++[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- /dev/null
++++ bison-1.875/m4/ulonglong.m4
+@@ -0,0 +1,23 @@
++# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
++dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
++[
++ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
++ [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
++ [unsigned long long ullmax = (unsigned long long) -1;
++ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
++ ac_cv_type_unsigned_long_long=yes,
++ ac_cv_type_unsigned_long_long=no)])
++ if test $ac_cv_type_unsigned_long_long = yes; then
++ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
++ [Define if you have the unsigned long long type.])
++ fi
++])
+--- /dev/null
++++ bison-1.875/m4/codeset.m4
+@@ -0,0 +1,23 @@
++# codeset.m4 serial AM1 (gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_LANGINFO_CODESET],
++[
++ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
++ [AC_TRY_LINK([#include <langinfo.h>],
++ [char* cs = nl_langinfo(CODESET);],
++ am_cv_langinfo_codeset=yes,
++ am_cv_langinfo_codeset=no)
++ ])
++ if test $am_cv_langinfo_codeset = yes; then
++ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
++ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
++ fi
++])
+--- /dev/null
++++ bison-1.875/m4/intdiv0.m4
+@@ -0,0 +1,72 @@
++# intdiv0.m4 serial 1 (gettext-0.11.3)
++dnl Copyright (C) 2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([gt_INTDIV0],
++[
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
++ gt_cv_int_divbyzero_sigfpe,
++ [
++ AC_TRY_RUN([
++#include <stdlib.h>
++#include <signal.h>
++
++static void
++#ifdef __cplusplus
++sigfpe_handler (int sig)
++#else
++sigfpe_handler (sig) int sig;
++#endif
++{
++ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
++ exit (sig != SIGFPE);
++}
++
++int x = 1;
++int y = 0;
++int z;
++int nan;
++
++int main ()
++{
++ signal (SIGFPE, sigfpe_handler);
++/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
++#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
++ signal (SIGTRAP, sigfpe_handler);
++#endif
++/* Linux/SPARC yields signal SIGILL. */
++#if defined (__sparc__) && defined (__linux__)
++ signal (SIGILL, sigfpe_handler);
++#endif
++
++ z = x / y;
++ nan = y / y;
++ exit (1);
++}
++], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
++ [
++ # Guess based on the CPU.
++ case "$host_cpu" in
++ alpha* | i[34567]86 | m68k | s390*)
++ gt_cv_int_divbyzero_sigfpe="guessing yes";;
++ *)
++ gt_cv_int_divbyzero_sigfpe="guessing no";;
++ esac
++ ])
++ ])
++ case "$gt_cv_int_divbyzero_sigfpe" in
++ *yes) value=1;;
++ *) value=0;;
++ esac
++ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
++ [Define if integer division by zero raises signal SIGFPE.])
++])
+--- /dev/null
++++ bison-1.875/m4/glib.m4
+@@ -0,0 +1,196 @@
++# Configure paths for GLIB
++# Owen Taylor 97-11-3
++
++dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
++dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or
++dnl gthread is specified in MODULES, pass to glib-config
++dnl
++AC_DEFUN(AM_PATH_GLIB,
++[dnl
++dnl Get the cflags and libraries from the glib-config script
++dnl
++AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)],
++ glib_config_prefix="$withval", glib_config_prefix="")
++AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)],
++ glib_config_exec_prefix="$withval", glib_config_exec_prefix="")
++AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program],
++ , enable_glibtest=yes)
++
++ if test x$glib_config_exec_prefix != x ; then
++ glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config
++ fi
++ fi
++ if test x$glib_config_prefix != x ; then
++ glib_config_args="$glib_config_args --prefix=$glib_config_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_prefix/bin/glib-config
++ fi
++ fi
++
++ for module in . $4
++ do
++ case "$module" in
++ gmodule)
++ glib_config_args="$glib_config_args gmodule"
++ ;;
++ gthread)
++ glib_config_args="$glib_config_args gthread"
++ ;;
++ esac
++ done
++
++ AC_PATH_PROG(GLIB_CONFIG, glib-config, no)
++ min_glib_version=ifelse([$1], ,0.99.7,$1)
++ AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
++ no_glib=""
++ if test "$GLIB_CONFIG" = "no" ; then
++ no_glib=yes
++ else
++ GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags`
++ GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs`
++ glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
++ glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
++ glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
++ if test "x$enable_glibtest" = "xyes" ; then
++ ac_save_CFLAGS="$CFLAGS"
++ ac_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$GLIB_LIBS $LIBS"
++dnl
++dnl Now check if the installed GLIB is sufficiently new. (Also sanity
++dnl checks the results of glib-config to some extent
++dnl
++ rm -f conf.glibtest
++ AC_TRY_RUN([
++#include <glib.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++int
++main ()
++{
++ int major, minor, micro;
++ char *tmp_version;
++
++ system ("touch conf.glibtest");
++
++ /* HP/UX 9 (%@#!) writes to sscanf strings */
++ tmp_version = g_strdup("$min_glib_version");
++ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++ printf("%s, bad version string\n", "$min_glib_version");
++ exit(1);
++ }
++
++ if ((glib_major_version != $glib_config_major_version) ||
++ (glib_minor_version != $glib_config_minor_version) ||
++ (glib_micro_version != $glib_config_micro_version))
++ {
++ printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
++ $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf ("*** was found! If glib-config was correct, then it is best\n");
++ printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n");
++ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
++ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
++ printf("*** required on your system.\n");
++ printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n");
++ printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n");
++ printf("*** before re-running configure\n");
++ }
++ else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
++ (glib_minor_version != GLIB_MINOR_VERSION) ||
++ (glib_micro_version != GLIB_MICRO_VERSION))
++ {
++ printf("*** GLIB header files (version %d.%d.%d) do not match\n",
++ GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
++ printf("*** library (version %d.%d.%d)\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ }
++ else
++ {
++ if ((glib_major_version > major) ||
++ ((glib_major_version == major) && (glib_minor_version > minor)) ||
++ ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
++ {
++ return 0;
++ }
++ else
++ {
++ printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
++ major, minor, micro);
++ printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
++ printf("***\n");
++ printf("*** If you have already installed a sufficiently new version, this error\n");
++ printf("*** probably means that the wrong copy of the glib-config shell script is\n");
++ printf("*** being found. The easiest way to fix this is to remove the old version\n");
++ printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n");
++ printf("*** correct copy of glib-config. (In this case, you will have to\n");
++ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
++ printf("*** so that the correct libraries are found at run-time))\n");
++ }
++ }
++ return 1;
++}
++],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ if test "x$no_glib" = x ; then
++ AC_MSG_RESULT(yes)
++ ifelse([$2], , :, [$2])
++ else
++ AC_MSG_RESULT(no)
++ if test "$GLIB_CONFIG" = "no" ; then
++ echo "*** The glib-config script installed by GLIB could not be found"
++ echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in"
++ echo "*** your path, or set the GLIB_CONFIG environment variable to the"
++ echo "*** full path to glib-config."
++ else
++ if test -f conf.glibtest ; then
++ :
++ else
++ echo "*** Could not run GLIB test program, checking why..."
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$LIBS $GLIB_LIBS"
++ AC_TRY_LINK([
++#include <glib.h>
++#include <stdio.h>
++], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
++ [ echo "*** The test program compiled, but did not run. This usually means"
++ echo "*** that the run-time linker is not finding GLIB or finding the wrong"
++ echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
++ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
++ echo "*** to the installed location Also, make sure you have run ldconfig if that"
++ echo "*** is required on your system"
++ echo "***"
++ echo "*** If you have an old version installed, it is best to remove it, although"
++ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
++ echo "***"
++ echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
++ echo "*** came with the system with the command"
++ echo "***"
++ echo "*** rpm --erase --nodeps gtk gtk-devel" ],
++ [ echo "*** The test program failed to compile or link. See the file config.log for the"
++ echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
++ echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
++ echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ GLIB_CFLAGS=""
++ GLIB_LIBS=""
++ ifelse([$3], , :, [$3])
++ fi
++ AC_SUBST(GLIB_CFLAGS)
++ AC_SUBST(GLIB_LIBS)
++ rm -f conf.glibtest
++])
+--- /dev/null
++++ bison-1.875/m4/inttypes.m4
+@@ -0,0 +1,27 @@
++# inttypes.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
++# <sys/types.h>.
++
++AC_DEFUN([gt_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
++ [
++ AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
++ ])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
++ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
++ fi
++])
+--- /dev/null
++++ bison-1.875/m4/isc-posix.m4
+@@ -0,0 +1,26 @@
++# isc-posix.m4 serial 2 (gettext-0.11.2)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
++
++# This test replaces the one in autoconf.
++# Currently this macro should have the same name as the autoconf macro
++# because gettext's gettext.m4 (distributed in the automake package)
++# still uses it. Otherwise, the use in gettext.m4 makes autoheader
++# give these diagnostics:
++# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
++# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
++
++undefine([AC_ISC_POSIX])
++
++AC_DEFUN([AC_ISC_POSIX],
++ [
++ dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
++ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
++ ]
++)
diff --git a/meta/packages/bison/bison-native_2.0.bb b/meta/packages/bison/bison-native_2.0.bb
new file mode 100644
index 0000000000..57065cd502
--- /dev/null
+++ b/meta/packages/bison/bison-native_2.0.bb
@@ -0,0 +1,21 @@
+include bison_${PV}.bb
+SECTION = "devel"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/bison-${PV}"
+S = "${WORKDIR}/bison-${PV}"
+PR = "r2"
+
+inherit native autotools
+
+do_stage() {
+ rm -f ${STAGING_BINDIR}/yacc
+ rm -f ${STAGING_BINDIR}/bison
+ install -m 0755 src/bison ${STAGING_BINDIR}/
+ cat >${STAGING_BINDIR}/yacc <<EOF
+#!/bin/sh
+exec ${STAGING_BINDIR}/bison -y "\$@"
+EOF
+ chmod a+rx ${STAGING_BINDIR}/yacc
+ install -d ${STAGING_BINDIR}/../share/bison/m4sugar
+ install -m 0755 data/c.m4 data/glr.c data/lalr1.cc data/yacc.c ${STAGING_BINDIR}/../share/bison/
+ install -m 0755 data/m4sugar/m4sugar.m4 ${STAGING_BINDIR}/../share/bison/m4sugar/
+}
diff --git a/meta/packages/bison/bison_2.0.bb b/meta/packages/bison/bison_2.0.bb
new file mode 100644
index 0000000000..edf549f442
--- /dev/null
+++ b/meta/packages/bison/bison_2.0.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "GNU Project parser generator (yacc replacement)."
+HOMEPAGE = "http://www.gnu.org/software/bison/"
+LICENSE = "GPL"
+SECTION = "devel"
+PRIORITY = "optional"
+
+SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
+ file://m4.patch;patch=1"
+
+inherit autotools
diff --git a/meta/packages/busybox/busybox-1.01/add-getkey-applet.patch b/meta/packages/busybox/busybox-1.01/add-getkey-applet.patch
new file mode 100644
index 0000000000..6ce0df21bd
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/add-getkey-applet.patch
@@ -0,0 +1,157 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- /dev/null
++++ busybox-1.00/console-tools/getkey.c
+@@ -0,0 +1,94 @@
++/* vi: set sw=4 ts=4: */
++/*
++ * getkey.c - Michael 'Mickey' Lauer
++ *
++ * Version 0.1
++ *
++ * A simple keygrapper. Displays a configurable message and waits a dedicated number
++ * of seconds for a keypress. Sets the exit code accordingly (SUCCESS on keypress).
++ */
++#include <stdio.h>
++#include <fcntl.h>
++#include <memory.h>
++#include <stdlib.h>
++#include <unistd.h>
++#include <sys/types.h>
++#include <errno.h>
++#include <sys/ioctl.h>
++#include <sys/kd.h>
++#include "busybox.h"
++
++extern int getkey_main(int argc, char **argv)
++{
++ int status = EXIT_FAILURE;
++
++ if ( argc < 2 )
++ {
++ bb_show_usage();
++ }
++
++ /*
++ * If no terminal is attached it is quite useless
++ * to treat it like one.
++ */
++ if( !isatty(STDIN_FILENO) )
++ {
++ goto error_hard;
++ }
++
++ //bb_printf( "DEBUG: time = '%s'\n", argv[1] );
++ //bb_printf( "DEBUG: mesg = '%s'\n", argv[2] );
++
++ struct termios orig;
++ struct termios attr;
++
++ if ( tcgetattr(STDIN_FILENO, &orig) == -1 )
++ {
++ goto error_hard;
++ }
++
++ attr = orig;
++ attr.c_cc[VMIN] = 0;
++ attr.c_cc[VTIME] = 0;
++ attr.c_iflag |= INLCR;
++ attr.c_oflag |= OPOST|ONLCR;
++ attr.c_cflag &= ~PARENB;
++ attr.c_lflag &= ~(ICANON/*|ECHO*/);
++ if ( tcsetattr(STDIN_FILENO,TCSANOW,&attr) == -1 )
++ {
++ goto error_hard;
++ }
++
++ fd_set rfds;
++ struct timeval tv;
++ int retval;
++
++ FD_ZERO(&rfds);
++ FD_SET(0, &rfds);
++
++ tv.tv_sec = atoi( argv[1] );
++ tv.tv_usec = 0;
++
++ if ( argc == 3 )
++ {
++ bb_printf( argv[2], tv.tv_sec );
++ bb_printf( "\n" );
++ fflush(stdout);
++ }
++ retval = select(1, &rfds, NULL, NULL, &tv);
++ if (retval > 0)
++ {
++ status = EXIT_SUCCESS;
++ }
++
++ if (tcsetattr(STDIN_FILENO,TCSANOW,&orig) == -1 )
++ {
++ goto error_hard;
++ }
++
++ return status;
++
++error_hard :
++ return EXIT_FAILURE;
++};
++
+--- busybox-1.00/console-tools/Makefile.in~add-getkey-applet.patch
++++ busybox-1.00/console-tools/Makefile.in
+@@ -28,6 +28,7 @@
+ CONSOLETOOLS_DIR-$(CONFIG_CLEAR) += clear.o
+ CONSOLETOOLS_DIR-$(CONFIG_DEALLOCVT) += deallocvt.o
+ CONSOLETOOLS_DIR-$(CONFIG_DUMPKMAP) += dumpkmap.o
++CONSOLETOOLS_DIR-$(CONFIG_GETKEY) += getkey.o
+ CONSOLETOOLS_DIR-$(CONFIG_LOADFONT) += loadfont.o
+ CONSOLETOOLS_DIR-$(CONFIG_LOADKMAP) += loadkmap.o
+ CONSOLETOOLS_DIR-$(CONFIG_OPENVT) += openvt.o
+--- busybox-1.00/console-tools/Config.in~add-getkey-applet.patch
++++ busybox-1.00/console-tools/Config.in
+@@ -31,6 +31,14 @@
+ This program dumps the kernel's keyboard translation table to
+ stdout, in binary format. You can then use loadkmap to load it.
+
++config CONFIG_GETKEY
++ bool "getkey"
++ default n
++ help
++ This program displays a configurable message and waits
++ a dedicated number of seconds for a keypress. It sets
++ the exit code accordingly, i.e. SUCCESS if there was a keypress.
++
+ config CONFIG_LOADFONT
+ bool "loadfont"
+ default n
+--- busybox-1.00/include/applets.h~add-getkey-applet.patch
++++ busybox-1.00/include/applets.h
+@@ -223,6 +223,9 @@
+ #ifdef CONFIG_FTPPUT
+ APPLET(ftpput, ftpgetput_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)
+ #endif
++#ifdef CONFIG_GETKEY
++ APPLET(getkey, getkey_main, _BB_DIR_SBIN, _BB_SUID_NEVER)
++#endif
+ #ifdef CONFIG_GETOPT
+ APPLET(getopt, getopt_main, _BB_DIR_BIN, _BB_SUID_NEVER)
+ #endif
+--- busybox-1.00/include/usage.h~add-getkey-applet.patch
++++ busybox-1.00/include/usage.h
+@@ -734,6 +734,13 @@
+ "\t-p, --password Password to be used\n" \
+ "\t-P, --port Port number to be used"
+
++#define getkey_trivial_usage \
++ "time [message]"
++#define getkey_full_usage \
++ "Display a message and wait for a keypress."
++#define getkey_example_usage \
++ "$ getkey 5 'Press a key within %d seconds to interrupt autoboot.'"
++
+ #define getopt_trivial_usage \
+ "[OPTIONS]..."
+ #define getopt_full_usage \
diff --git a/meta/packages/busybox/busybox-1.01/angstrom/defconfig b/meta/packages/busybox/busybox-1.01/angstrom/defconfig
new file mode 100644
index 0000000000..34a5804a4d
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/angstrom/defconfig
@@ -0,0 +1,475 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+# CONFIG_FEATURE_DEVFS is not set
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+CONFIG_LFS=y
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNZIP is not set
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+# CONFIG_FEATURE_LS_RECURSIVE is not set
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+# CONFIG_DUMPKMAP is not set
+CONFIG_GETKEY=y
+# CONFIG_LOADFONT is not set
+# CONFIG_LOADKMAP is not set
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_U_W_TMP=y
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_TIME is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+CONFIG_FEATURE_2_4_MODULES=y
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+CONFIG_FEATURE_INSMOD_LOAD_MAP=y
+CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL=y
+CONFIG_LSMOD=y
+CONFIG_MODPROBE=y
+CONFIG_RMMOD=y
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_INETD is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_IPCALC is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_DEBUG is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+CONFIG_UDHCPC=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_PIDOF is not set
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+# CONFIG_SYSCTL is not set
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
+CONFIG_LOSETUP=y
+CONFIG_MKSWAP=y
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_SWAPONOFF=y
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox-1.01/below.patch b/meta/packages/busybox/busybox-1.01/below.patch
new file mode 100644
index 0000000000..ec97b29962
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/below.patch
@@ -0,0 +1,49 @@
+Index: modutils/modprobe.c
+===================================================================
+RCS file: /var/cvs/busybox/modutils/modprobe.c,v
+retrieving revision 1.41
+diff -u -r1.41 modprobe.c
+--- busybox/modutils/modprobe.c 24 Sep 2004 09:18:55 -0000 1.41
++++ busybox/modutils/modprobe.c 29 Dec 2004 11:56:07 -0000
+@@ -357,6 +357,41 @@
+ }
+ }
+ }
++ else if ((strncmp (buffer, "below", 5) == 0) && isspace (buffer[5])) {
++ char *mod, *deps;
++ if (parse_tag_value (buffer + 6, &mod, &deps)) {
++ struct dep_t *dt;
++
++ for (dt = first; dt; dt = dt->m_next) {
++ if (strcmp (dt->m_name, mod) == 0)
++ break;
++ }
++ if (dt) {
++ char *pp;
++ char *name;
++
++ pp = name = deps;
++
++ for (;;) {
++ while (*pp != 0 && !isspace (*pp))
++ pp++;
++ if (isspace (*pp))
++ *(pp++) = 0;
++
++ dt->m_depcnt++;
++ dt->m_deparr = (char **) xrealloc (dt->m_deparr,
++ sizeof (char *) * dt->m_depcnt);
++ dt->m_deparr[dt->m_depcnt - 1] = bb_xstrdup (name);
++
++ while (isspace (*pp))
++ pp++;
++ name = pp;
++ if (*pp == 0)
++ break;
++ }
++ }
++ }
++ }
+ }
+ }
+ close ( fd );
diff --git a/meta/packages/busybox/busybox-1.01/defconfig b/meta/packages/busybox/busybox-1.01/defconfig
new file mode 100644
index 0000000000..8b8212c54a
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/defconfig
@@ -0,0 +1,476 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_FEATURE_DEVFS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+CONFIG_LFS=y
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+# CONFIG_FEATURE_LS_RECURSIVE is not set
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_GETKEY=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_U_W_TMP=y
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_TIME is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+CONFIG_FEATURE_2_4_MODULES=y
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+CONFIG_FEATURE_INSMOD_LOAD_MAP=y
+CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL=y
+CONFIG_LSMOD=y
+CONFIG_MODPROBE=y
+CONFIG_RMMOD=y
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_INETD is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_IPCALC is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+CONFIG_TFTP=y
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+CONFIG_UDHCPD=y
+CONFIG_UDHCPC=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_PIDOF is not set
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+# CONFIG_SYSCTL is not set
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+CONFIG_FSCK_MINIX=y
+CONFIG_MKFS_MINIX=y
+
+#
+# Minix filesystem support
+#
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
+CONFIG_LOSETUP=y
+CONFIG_MKSWAP=y
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_SWAPONOFF=y
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox-1.01/dhcp-hostname.patch b/meta/packages/busybox/busybox-1.01/dhcp-hostname.patch
new file mode 100644
index 0000000000..e0adea662e
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/dhcp-hostname.patch
@@ -0,0 +1,30 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- busybox-1.01/networking/udhcp/dhcpc.c~dhcp-hostname
++++ busybox-1.01/networking/udhcp/dhcpc.c
+@@ -193,6 +193,7 @@
+ int max_fd;
+ int sig;
+ int no_clientid = 0;
++ char hostbuf[256]; /* SUSv2: hostnames are <= 255 bytes */
+
+ static const struct option arg_options[] = {
+ {"clientid", required_argument, 0, 'c'},
+@@ -211,6 +212,14 @@
+ {0, 0, 0, 0}
+ };
+
++ if (gethostname (hostbuf, sizeof (hostbuf)) == 0) {
++ len = strlen (hostbuf);
++ client_config.hostname = xmalloc (len + 2);
++ client_config.hostname[OPT_CODE] = DHCP_HOST_NAME;
++ client_config.hostname[OPT_LEN] = len;
++ strncpy(client_config.hostname + 2, hostbuf, len);
++ }
++
+ /* get options */
+ while (1) {
+ int option_index = 0;
diff --git a/meta/packages/busybox/busybox-1.01/dhcpretrytime.patch b/meta/packages/busybox/busybox-1.01/dhcpretrytime.patch
new file mode 100644
index 0000000000..e41ea9de55
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/dhcpretrytime.patch
@@ -0,0 +1,81 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- busybox-1.01/networking/udhcp/dhcpc.c~dhcpretrytime
++++ busybox-1.01/networking/udhcp/dhcpc.c
+@@ -48,6 +48,7 @@
+ static unsigned long requested_ip; /* = 0 */
+ static unsigned long server_addr;
+ static unsigned long timeout;
++static unsigned long retrytime = 60;
+ static int packet_num; /* = 0 */
+ static int fd = -1;
+
+@@ -91,6 +92,7 @@
+ " -r, --request=IP IP address to request (default: none)\n"
+ " -s, --script=file Run file at dhcp events (default:\n"
+ " " DEFAULT_SCRIPT ")\n"
++" -t, --retrytime time to retry DHCP request (default 60s)\n")
+ " -v, --version Display version\n"
+ );
+ exit(0);
+@@ -208,6 +210,7 @@
+ {"quit", no_argument, 0, 'q'},
+ {"request", required_argument, 0, 'r'},
+ {"script", required_argument, 0, 's'},
++ {"retrytime", required_argument, 0, 't'},
+ {"version", no_argument, 0, 'v'},
+ {0, 0, 0, 0}
+ };
+@@ -223,7 +226,7 @@
+ /* get options */
+ while (1) {
+ int option_index = 0;
+- c = getopt_long(argc, argv, "c:CfbH:h:i:np:qr:s:v", arg_options, &option_index);
++ c = getopt_long(argc, argv, "c:fbH:h:i:np:qr:s:t:v", arg_options, &option_index);
+ if (c == -1) break;
+
+ switch (c) {
+@@ -274,6 +277,9 @@
+ case 's':
+ client_config.script = optarg;
+ break;
++ case 't':
++ retrytime = atol(optarg);
++ break;
+ case 'v':
+ printf("udhcpcd, version %s\n\n", VERSION);
+ return 0;
+@@ -353,7 +359,7 @@
+ }
+ /* wait to try again */
+ packet_num = 0;
+- timeout = now + 60;
++ timeout = now + retrytime;
+ }
+ break;
+ case RENEW_REQUESTED:
+--- busybox-1.01/networking/ifupdown.c~dhcpretrytime
++++ busybox-1.01/networking/ifupdown.c
+@@ -541,7 +541,7 @@
+ static int dhcp_up(struct interface_defn_t *ifd, execfn *exec)
+ {
+ if (execable("/sbin/udhcpc")) {
+- return( execute("udhcpc -n -p /var/run/udhcpc.%iface%.pid -i "
++ return( execute("udhcpc -b -p /var/run/udhcpc.%iface%.pid -i "
+ "%iface% [[-H %hostname%]] [[-c %clientid%]]", ifd, exec));
+ } else if (execable("/sbin/pump")) {
+ return( execute("pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]]", ifd, exec));
+@@ -561,8 +561,8 @@
+ /* SIGUSR2 forces udhcpc to release the current lease and go inactive,
+ * and SIGTERM causes udhcpc to exit. Signals are queued and processed
+ * sequentially so we don't need to sleep */
+- result = execute("kill -USR2 `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", ifd, exec);
+- result += execute("kill -TERM `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", ifd, exec);
++ result = execute("kill -USR2 `cat /var/run/udhcpc.%iface%.pid 2>/dev/null` 2>/dev/null", ifd, exec);
++ result += execute("kill -TERM `cat /var/run/udhcpc.%iface%.pid 2>/dev/null` 2>/dev/null", ifd, exec);
+ } else if (execable("/sbin/pump")) {
+ result = execute("pump -i %iface% -k", ifd, exec);
+ } else if (execable("/sbin/dhclient")) {
diff --git a/meta/packages/busybox/busybox-1.01/familiar/defconfig b/meta/packages/busybox/busybox-1.01/familiar/defconfig
new file mode 100644
index 0000000000..49dd403eb5
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/familiar/defconfig
@@ -0,0 +1,470 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_FEATURE_DEVFS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+CONFIG_LFS=y
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNZIP is not set
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+# CONFIG_FEATURE_LS_RECURSIVE is not set
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_GETKEY=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_UTMP=y
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_TIME is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+CONFIG_FEATURE_2_4_MODULES=y
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+CONFIG_FEATURE_INSMOD_LOAD_MAP=y
+CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL=y
+CONFIG_LSMOD=y
+CONFIG_MODPROBE=y
+CONFIG_RMMOD=y
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_INETD is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_IPCALC is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_DEBUG is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+CONFIG_UDHCPC=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_PIDOF is not set
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+# CONFIG_SYSCTL is not set
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+# CONFIG_FDISK is not set
+FDISK_SUPPORT_LARGE_DISKS=y
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
+CONFIG_LOSETUP=y
+CONFIG_MKSWAP=y
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_SWAPONOFF=y
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox-1.01/fbset.patch b/meta/packages/busybox/busybox-1.01/fbset.patch
new file mode 100644
index 0000000000..d0609ce6f7
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/fbset.patch
@@ -0,0 +1,24 @@
+--- busybox/util-linux/fbset.c~ 2004-07-03 16:24:23.000000000 +0100
++++ busybox/util-linux/fbset.c 2004-12-30 20:09:26.000000000 +0000
+@@ -337,7 +337,7 @@
+ {
+ struct fb_var_screeninfo var, varset;
+ int fh, i;
+- char *fbdev = DEFAULTFBDEV;
++ char *fbdev = NULL;
+ char *modefile = DEFAULTFBMODE;
+ char *thisarg, *mode = NULL;
+
+@@ -404,7 +404,12 @@
+ }
+ }
+
++ if (fbdev == NULL)
++ fbdev = DEFAULTFBDEV;
+ if ((fh = open(fbdev, O_RDONLY)) < 0)
++#ifdef CONFIG_FEATURE_DEVFS
++ if ((fh = open("/dev/fb0", O_RDONLY)) < 0)
++#endif
+ bb_perror_msg_and_die("fbset(open)");
+ if (ioctl(fh, FBIOGET_VSCREENINFO, &var))
+ bb_perror_msg_and_die("fbset(ioctl)");
diff --git a/meta/packages/busybox/busybox-1.01/hdparm_M.patch b/meta/packages/busybox/busybox-1.01/hdparm_M.patch
new file mode 100644
index 0000000000..170906535e
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/hdparm_M.patch
@@ -0,0 +1,47 @@
+diff -Naur busybox-1.00/miscutils/hdparm.c busybox-1.00-patched/miscutils/hdparm.c
+--- busybox-1.00/miscutils/hdparm.c 2004-07-21 00:53:59.000000000 +0200
++++ busybox-1.00-patched/miscutils/hdparm.c 2004-10-21 15:17:13.000000000 +0200
+@@ -1254,6 +1254,7 @@
+ static unsigned long set_sleepnow = 0, get_sleepnow = 0;
+ static unsigned long get_powermode = 0;
+ static unsigned long set_apmmode = 0, get_apmmode= 0, apmmode = 0;
++static unsigned long set_acoustic = 0, get_acoustic = 0, acoustic = 0;
+ #endif
+ #ifdef CONFIG_FEATURE_HDPARM_GET_IDENTITY
+ static int get_IDentity = 0;
+@@ -2123,6 +2124,20 @@
+ }
+ bb_ioctl(fd, HDIO_DRIVE_CMD, &args,"HDIO_DRIVE_CMD");
+ }
++ if (set_acoustic)
++ {
++ no_scsi();
++ acoustic=check_if_min_and_set_val(acoustic,0);
++ acoustic=check_if_maj_and_set_val(acoustic,254);
++ if_printf(get_acoustic," setting AAM level to 0x%02lX (%ld)\n", acoustic, acoustic);
++ bb_ioctl(fd, HDIO_SET_ACOUSTIC, (int*)acoustic,"HDIO_SET_ACOUSTIC");
++ }
++ if (get_acoustic)
++ {
++ no_scsi();
++ bb_ioctl(fd, HDIO_GET_ACOUSTIC, (unsigned long*)&parm,"HDIO_GET_ACOUSTIC");
++ printf(" acoustic = %2ld (128=quiet ... 254=fast)\n", parm);
++ }
+ if (set_wcache)
+ {
+ #ifdef DO_FLUSHCACHE
+@@ -2831,6 +2846,13 @@
+ p = *argv++, --argc;
+ p=GET_NUMBER(p,&set_readahead,&Xreadahead);
+ break;
++ case 'M':
++ get_acoustic = noisy;
++ noisy = 1;
++ if (!*p && argc && isalnum(**argv))
++ p = *argv++, --argc;
++ p=GET_NUMBER(p,&set_acoustic,&acoustic);
++ break;
+ case 'B':
+ get_apmmode = noisy;
+ noisy = 1;
+
diff --git a/meta/packages/busybox/busybox-1.01/ifupdown-spurious-environ.patch b/meta/packages/busybox/busybox-1.01/ifupdown-spurious-environ.patch
new file mode 100644
index 0000000000..8753315f2c
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/ifupdown-spurious-environ.patch
@@ -0,0 +1,12 @@
+--- busybox-1.00/networking/ifupdown.c.old 2005-06-11 19:51:59.000000000 +0100
++++ busybox-1.00/networking/ifupdown.c 2005-06-11 19:52:19.000000000 +0100
+@@ -148,6 +148,9 @@
+ struct mapping_defn_t *mappings;
+ };
+
++/* XXX */
++#define environ local_environ
++
+ static char no_act = 0;
+ static char verbose = 0;
+ static char **environ = NULL;
diff --git a/meta/packages/busybox/busybox-1.01/iproute-flush-cache.patch b/meta/packages/busybox/busybox-1.01/iproute-flush-cache.patch
new file mode 100644
index 0000000000..f8becc3390
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/iproute-flush-cache.patch
@@ -0,0 +1,23 @@
+Index: networking/libiproute/iproute.c
+===================================================================
+RCS file: /var/cvs/busybox/networking/libiproute/iproute.c,v
+retrieving revision 1.14
+diff -u -r1.14 iproute.c
+--- networking/libiproute/iproute.c 11 Aug 2004 08:10:58 -0000 1.14
++++ networking/libiproute/iproute.c 30 Nov 2004 20:43:44 -0000
+@@ -537,6 +537,15 @@
+ } else if (matches(*argv, "match") == 0) {
+ NEXT_ARG();
+ get_prefix(&filter.mdst, *argv, do_ipv6);
++ } else if (matches(*argv, "table") == 0) {
++ NEXT_ARG();
++ if (matches(*argv, "cache") == 0) {
++ filter.tb = -1;
++ } else if (matches(*argv, "main") != 0) {
++ invarg("invalid \"table\"", *argv);
++ }
++ } else if (matches(*argv, "cache") == 0) {
++ filter.tb = -1;
+ } else {
+ if (matches(*argv, "exact") == 0) {
+ NEXT_ARG();
diff --git a/meta/packages/busybox/busybox-1.01/mount-all-type.patch b/meta/packages/busybox/busybox-1.01/mount-all-type.patch
new file mode 100644
index 0000000000..476094a804
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/mount-all-type.patch
@@ -0,0 +1,84 @@
+--- busybox-1.00/.pc/mount-all-type.patch/util-linux/mount.c 2004-08-02 17:14:02.000000000 -0700
++++ busybox-1.00/util-linux/mount.c 2005-05-13 00:17:19.054232796 -0700
+@@ -364,6 +364,56 @@
+ exit(EXIT_SUCCESS);
+ }
+
++/* Does this file system type, from /etc/fstab, match the given
++ * -t option value?
++ */
++static int match_fs(const char *option, const char *type)
++{
++ const int len = strlen(type);
++ const int no = option[0] == 'n' && option[1] == 'o';
++ const char *optp = option;
++
++ if (len > 0) do {
++ const char *match = strstr(optp, type);
++
++ if (match == NULL) {
++ /* No match, but if the option string starts 'no' no match
++ * means yes.
++ */
++ return no;
++ }
++
++ /* Match, may be partial, check for end-of-type in option string. */
++ if (match[len] == 0 || match[len] == ',') {
++ /* Ok, check for type or notype. */
++ if (match == option) {
++ /* Exact match at start (can't be 'no') */
++ return 1;
++ }
++ if (match > option+1) {
++ if (match[-1] == ',') {
++ /* Exact match in middle, might be 'no' */
++ return !no;
++ }
++ if (match == option+2 && no) {
++ /* Exact match to 'notype' at start. */
++ return 0;
++ }
++ if (match > option+2 && match[-3] == ',' &&
++ match[-2] == 'n' && match[-1] == 'o') {
++ return 0;
++ }
++ }
++ }
++
++ /* Look for another match. */
++ optp = match+1;
++ } while (1);
++
++ /* zero length type in fstab (impossible?), don't match it. */
++ return 0;
++}
++
+ extern int mount_main(int argc, char **argv)
+ {
+ struct stat statbuf;
+@@ -371,6 +421,7 @@
+ char *extra_opts;
+ int flags = 0;
+ char *filesystemType = "auto";
++ char *filesystemOption = 0;
+ int got_filesystemType = 0;
+ char *device = xmalloc(PATH_MAX);
+ char *directory = xmalloc(PATH_MAX);
+@@ -393,6 +444,7 @@
+ break;
+ case 't':
+ filesystemType = optarg;
++ filesystemOption = optarg;
+ got_filesystemType = 1;
+ break;
+ case 'w':
+@@ -460,6 +512,8 @@
+
+ strcpy(device, m->mnt_fsname);
+ strcpy(directory, m->mnt_dir);
++ if (all && filesystemOption != 0 && !match_fs(filesystemOption, m->mnt_type))
++ continue;
+ filesystemType = bb_xstrdup(m->mnt_type);
+ singlemount:
+ extra_opts = string_flags;
diff --git a/meta/packages/busybox/busybox-1.01/nylon/defconfig b/meta/packages/busybox/busybox-1.01/nylon/defconfig
new file mode 100644
index 0000000000..599051bafb
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/nylon/defconfig
@@ -0,0 +1,458 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_FEATURE_VERBOSE_USAGE=y
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_FEATURE_DEVFS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_SUID=y
+CONFIG_FEATURE_SUID_CONFIG=y
+CONFIG_FEATURE_SUID_CONFIG_QUIET=y
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_LFS is not set
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+CONFIG_FEATURE_AR_LONG_FILENAMES=y
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+CONFIG_DPKG=y
+CONFIG_DPKG_DEB=y
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+CONFIG_GUNZIP=y
+CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+CONFIG_FEATURE_TAR_COMPRESS=y
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+CONFIG_FEATURE_TAR_LONG_OPTIONS=y
+CONFIG_UNCOMPRESS=y
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Common options for dpkg and dpkg_deb
+#
+CONFIG_FEATURE_DEB_TAR_GZ=y
+CONFIG_FEATURE_DEB_TAR_BZ2=y
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+CONFIG_CAL=y
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+CONFIG_CMP=y
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+CONFIG_FEATURE_DATE_ISOFMT=y
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+CONFIG_DOS2UNIX=y
+CONFIG_UNIX2DOS=y
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+CONFIG_FOLD=y
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+CONFIG_HOSTID=y
+CONFIG_ID=y
+CONFIG_INSTALL=y
+CONFIG_LENGTH=y
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+CONFIG_REALPATH=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+CONFIG_SHA1SUM=y
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
+# CONFIG_TEST is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+CONFIG_UUDECODE=y
+CONFIG_UUENCODE=y
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+# CONFIG_CHVT is not set
+CONFIG_CLEAR=y
+# CONFIG_DEALLOCVT is not set
+CONFIG_DUMPKMAP=y
+CONFIG_GETKEY=y
+# CONFIG_LOADFONT is not set
+CONFIG_LOADKMAP=y
+# CONFIG_OPENVT is not set
+CONFIG_RESET=y
+CONFIG_SETKEYCODES=y
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+CONFIG_PIPE_PROGRESS=y
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+CONFIG_PATCH=y
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+CONFIG_FEATURE_FIND_INUM=y
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
+CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
+CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_U_W_TMP=y
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+CONFIG_CROND=y
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_CRONTAB=y
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+CONFIG_TIME=y
+CONFIG_WATCHDOG=y
+
+#
+# Linux Module Utilities
+#
+# CONFIG_INSMOD is not set
+# CONFIG_LSMOD is not set
+# CONFIG_MODPROBE is not set
+# CONFIG_RMMOD is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+CONFIG_ARPING=y
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_HOSTNAME=y
+CONFIG_HTTPD=y
+# CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY is not set
+CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
+CONFIG_FEATURE_HTTPD_AUTH_MD5=y
+CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP=y
+CONFIG_FEATURE_HTTPD_SETUID=y
+CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES=y
+CONFIG_FEATURE_HTTPD_CGI=y
+CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
+CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+CONFIG_INETD=y
+CONFIG_FEATURE_INETD_SUPPORT_BILTIN_ECHO=y
+CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DISCARD=y
+CONFIG_FEATURE_INETD_SUPPORT_BILTIN_TIME=y
+CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DAYTIME=y
+CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN=y
+# CONFIG_IP is not set
+CONFIG_IPCALC=y
+CONFIG_FEATURE_IPCALC_FANCY=y
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+CONFIG_NAMEIF=y
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+CONFIG_FEATURE_TELNET_TTYPE=y
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+CONFIG_FEATURE_TFTP_BLOCKSIZE=y
+# CONFIG_FEATURE_TFTP_DEBUG is not set
+CONFIG_TRACEROUTE=y
+CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
+CONFIG_VCONFIG=y
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+CONFIG_UDHCPD=y
+CONFIG_UDHCPC=y
+CONFIG_DUMPLEASES=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_PIDOF=y
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+CONFIG_SYSCTL=y
+
+#
+# Another Bourne-like Shell
+#
+# CONFIG_FEATURE_SH_IS_ASH is not set
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+CONFIG_FEATURE_SH_IS_NONE=y
+# CONFIG_ASH is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+CONFIG_FEATURE_FBSET_READMODE=y
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+CONFIG_FREERAMDISK=y
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+# CONFIG_HWCLOCK is not set
+CONFIG_LOSETUP=y
+CONFIG_MKSWAP=y
+# CONFIG_MORE is not set
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_SWAPONOFF=y
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox-1.01/openmn/defconfig b/meta/packages/busybox/busybox-1.01/openmn/defconfig
new file mode 100644
index 0000000000..f98af91853
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/openmn/defconfig
@@ -0,0 +1,475 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_FEATURE_DEVFS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_LFS is not set
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+CONFIG_CMP=y
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+CONFIG_FEATURE_DATE_ISOFMT=y
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+# CONFIG_FEATURE_LS_COLOR is not set
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+# CONFIG_FEATURE_FANCY_TAIL is not set
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+CONFIG_USLEEP=y
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_GETKEY=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+CONFIG_SETKEYCODES=y
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+CONFIG_ADDGROUP=y
+CONFIG_DELGROUP=y
+CONFIG_ADDUSER=y
+CONFIG_DELUSER=y
+CONFIG_GETTY=y
+CONFIG_FEATURE_U_W_TMP=y
+CONFIG_LOGIN=y
+# CONFIG_FEATURE_SECURETTY is not set
+CONFIG_PASSWD=y
+CONFIG_SU=y
+CONFIG_SULOGIN=y
+CONFIG_VLOCK=y
+
+#
+# Common options for adduser, deluser, login, su
+#
+CONFIG_FEATURE_SHADOWPASSWDS=y
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+CONFIG_TIME=y
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+CONFIG_FEATURE_2_4_MODULES=y
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+CONFIG_FEATURE_INSMOD_LOAD_MAP=y
+CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL=y
+CONFIG_LSMOD=y
+CONFIG_MODPROBE=y
+CONFIG_RMMOD=y
+# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
+
+#
+# Networking Utilities
+#
+# CONFIG_FEATURE_IPV6 is not set
+CONFIG_ARPING=y
+# CONFIG_FTPGET is not set
+CONFIG_FTPPUT=y
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_INETD is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+# CONFIG_FEATURE_IP_TUNNEL is not set
+# CONFIG_IPCALC is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
+# CONFIG_TELNETD is not set
+# CONFIG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+# CONFIG_FEATURE_WGET_STATUSBAR is not set
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+# CONFIG_FEATURE_WGET_IP6_LITERAL is not set
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+CONFIG_UDHCPC=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_PIDOF is not set
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+# CONFIG_SYSCTL is not set
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=31
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+# CONFIG_FEATURE_REMOTE_LOG is not set
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+# CONFIG_FBSET is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+# FDISK_SUPPORT_LARGE_DISKS is not set
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+CONFIG_GETOPT=y
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
+CONFIG_LOSETUP=y
+CONFIG_MKSWAP=y
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+# CONFIG_SWAPONOFF is not set
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox-1.01/openzaurus/defconfig b/meta/packages/busybox/busybox-1.01/openzaurus/defconfig
new file mode 100644
index 0000000000..34a5804a4d
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/openzaurus/defconfig
@@ -0,0 +1,475 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+# CONFIG_FEATURE_DEVFS is not set
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+CONFIG_LFS=y
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNZIP is not set
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+# CONFIG_FEATURE_LS_RECURSIVE is not set
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+# CONFIG_DUMPKMAP is not set
+CONFIG_GETKEY=y
+# CONFIG_LOADFONT is not set
+# CONFIG_LOADKMAP is not set
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_U_W_TMP=y
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_TIME is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+CONFIG_FEATURE_2_4_MODULES=y
+CONFIG_FEATURE_2_6_MODULES=y
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+CONFIG_FEATURE_INSMOD_LOAD_MAP=y
+CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL=y
+CONFIG_LSMOD=y
+CONFIG_MODPROBE=y
+CONFIG_RMMOD=y
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+CONFIG_FEATURE_IFUPDOWN_MAPPING=y
+# CONFIG_INETD is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_IPCALC is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_DEBUG is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+CONFIG_UDHCPC=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+# CONFIG_PIDOF is not set
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+# CONFIG_SYSCTL is not set
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
+CONFIG_LOSETUP=y
+CONFIG_MKSWAP=y
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_SWAPONOFF=y
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox-1.01/readlink.patch b/meta/packages/busybox/busybox-1.01/readlink.patch
new file mode 100644
index 0000000000..0c5431085a
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/readlink.patch
@@ -0,0 +1,85 @@
+diff -p -u -r1.7 Config.in
+--- busybox-1.00/debianutils/Config.in 15 Mar 2004 08:28:24 -0000 1.7
++++ busybox-1.00-patched/debianutils/Config.in 16 Nov 2004 11:46:41 -0000
+@@ -24,6 +24,13 @@ config CONFIG_READLINK
+ This program reads a symbolic link and returns the name
+ of the file it points to
+
++config CONFIG_FEATURE_READLINK_FOLLOW
++ bool " Enable canonicalization by following all symlinks (-f)"
++ default n
++ depends on CONFIG_READLINK
++ help
++ Enable the readlink option (-f).
++
+ config CONFIG_RUN_PARTS
+ bool "run-parts"
+ default n
+diff -p -u -r1.2 readlink.c
+--- busybox-1.00/debianutils/readlink.c 19 Mar 2003 09:11:41 -0000 1.2
++++ busybox-1.00-patched/debianutils/readlink.c 16 Nov 2004 11:46:41 -0000
+@@ -23,18 +23,38 @@
+ #include <errno.h>
+ #include <unistd.h>
+ #include <stdlib.h>
++#include <getopt.h>
+ #include "busybox.h"
+
++#ifdef CONFIG_FEATURE_READLINK_FOLLOW
++# define READLINK_FOLLOW "f"
++# define READLINK_FLAG_f (1 << 0)
++#else
++# define READLINK_FOLLOW ""
++#endif
++
++static const char readlink_options[] = READLINK_FOLLOW;
++
+ int readlink_main(int argc, char **argv)
+ {
+ char *buf = NULL;
++ unsigned long opt = bb_getopt_ulflags(argc, argv, readlink_options);
++#ifdef CONFIG_FEATURE_READLINK_FOLLOW
++ RESERVE_CONFIG_BUFFER(resolved_path, PATH_MAX);
++#endif
+
+ /* no options, no getopt */
+
+- if (argc != 2)
++ if (optind + 1 != argc)
+ bb_show_usage();
+
+- buf = xreadlink(argv[1]);
++#ifdef CONFIG_FEATURE_READLINK_FOLLOW
++ if (opt & READLINK_FLAG_f) {
++ buf = realpath(argv[optind], resolved_path);
++ } else
++#endif
++ buf = xreadlink(argv[optind]);
++
+ if (!buf)
+ return EXIT_FAILURE;
+ puts(buf);
+diff -p -u -r1.222 usage.h
+--- busybox-1.00/include/usage.h 14 Sep 2004 16:23:56 -0000 1.222
++++ busybox-1.00-patched/include/usage.h 16 Nov 2004 11:46:42 -0000
+@@ -1985,10 +1985,18 @@
+ "\t-s\tSet the system date and time (default).\n" \
+ "\t-p\tPrint the date and time."
+
++#ifdef CONFIG_FEATURE_READLINK_FOLLOW
++#define USAGE_READLINK_FOLLOW(a) a
++#else
++#define USAGE_READLINK_FOLLOW(a)
++#endif
++
+ #define readlink_trivial_usage \
+- ""
++ USAGE_READLINK_FOLLOW("[-f] ") "FILE"
+ #define readlink_full_usage \
+- "Displays the value of a symbolic link."
++ "Displays the value of a symbolic link." \
++ USAGE_READLINK_FOLLOW("\n\nOptions:\n" \
++ "\t-f\tcanonicalize by following all symlinks")
+
+ #define realpath_trivial_usage \
+ "pathname ..."
diff --git a/meta/packages/busybox/busybox-1.01/rmmod.patch b/meta/packages/busybox/busybox-1.01/rmmod.patch
new file mode 100644
index 0000000000..5a557ef35d
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/rmmod.patch
@@ -0,0 +1,44 @@
+Index: modutils/rmmod.c
+===================================================================
+RCS file: /var/cvs/busybox/modutils/rmmod.c,v
+retrieving revision 1.31
+diff -u -r1.31 rmmod.c
+--- busybox/modutils/rmmod.c 20 Jul 2004 18:36:51 -0000 1.31
++++ busybox/modutils/rmmod.c 10 Dec 2004 22:56:36 -0000
+@@ -28,6 +28,7 @@
+ #include <fcntl.h>
+ #include <string.h>
+ #include <sys/syscall.h>
++#include <sys/utsname.h>
+ #include "busybox.h"
+
+ #ifdef CONFIG_FEATURE_2_6_MODULES
+@@ -63,6 +64,16 @@
+ void *buf; /* hold the module names which we ignore but must get */
+ size_t bufsize = 0;
+ #endif
++#ifdef CONFIG_FEATURE_2_6_MODULES
++ int k_version = 0;
++ struct utsname myuname;
++
++ if (uname(&myuname) == 0) {
++ if (myuname.release[0] == '2') {
++ k_version = myuname.release[2] - '0';
++ }
++ }
++#endif
+
+ /* Parse command line. */
+ while ((n = getopt(argc, argv, "a")) != EOF) {
+@@ -109,7 +120,10 @@
+ for (n = optind; n < argc; n++) {
+ #ifdef CONFIG_FEATURE_2_6_MODULES
+ char module_name[strlen(argv[n]) + 1];
+- filename2modname(module_name, argv[n]);
++ if (k_version != 4)
++ filename2modname(module_name, argv[n]);
++ else
++ strcpy(module_name, argv[n]);
+ #else
+ #define module_name argv[n]
+ #endif
diff --git a/meta/packages/busybox/busybox-1.01/slugos/defconfig b/meta/packages/busybox/busybox-1.01/slugos/defconfig
new file mode 100644
index 0000000000..55aa5f3b5e
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/slugos/defconfig
@@ -0,0 +1,444 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_FEATURE_VERBOSE_USAGE=y
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+# CONFIG_FEATURE_DEVFS is not set
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+CONFIG_LFS=y
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+# CONFIG_CPIO is not set
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+# CONFIG_CHVT is not set
+CONFIG_CLEAR=y
+# CONFIG_DEALLOCVT is not set
+# CONFIG_DUMPKMAP is not set
+CONFIG_GETKEY=y
+# CONFIG_LOADFONT is not set
+# CONFIG_LOADKMAP is not set
+# CONFIG_OPENVT is not set
+CONFIG_RESET=y
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_FEATURE_READLINK_FOLLOW=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+# CONFIG_FIND is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+# CONFIG_XARGS is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_UTMP=y
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+# CONFIG_DC is not set
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+CONFIG_TIME=y
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+# CONFIG_INSMOD is not set
+# CONFIG_LSMOD is not set
+# CONFIG_MODPROBE is not set
+# CONFIG_RMMOD is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_INETD is not set
+# CONFIG_IP is not set
+# CONFIG_IPCALC is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+CONFIG_FEATURE_TELNET_TTYPE=y
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+CONFIG_TFTP=y
+CONFIG_FEATURE_TFTP_GET=y
+CONFIG_FEATURE_TFTP_PUT=y
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_DEBUG is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+CONFIG_UDHCPC=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_PIDOF=y
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+CONFIG_SYSCTL=y
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+# CONFIG_FBSET is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+CONFIG_FEATURE_OSF_LABEL=y
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
+# CONFIG_LOSETUP is not set
+CONFIG_MKSWAP=y
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+# CONFIG_SWAPONOFF is not set
+# CONFIG_MOUNT is not set
+# CONFIG_UMOUNT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox-1.01/slugos/sysctl.conf b/meta/packages/busybox/busybox-1.01/slugos/sysctl.conf
new file mode 100644
index 0000000000..cfaa3c7f92
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/slugos/sysctl.conf
@@ -0,0 +1,32 @@
+#
+# /etc/sysctl.conf - Configuration file for setting system variables
+# See sysctl.conf (5) for information.
+#
+
+#kernel.domainname = example.com
+
+# This flag allows the machine to respond to broadcast pings.
+# Very useful on embedded machines
+net/ipv4/icmp_echo_ignore_broadcasts=0
+
+# Uncomment the following to stop low-level messages on console
+#kernel/printk = 4 4 1 7
+
+##############################################################3
+# Functions previously found in netbase
+#
+
+# Uncomment the next line to enable Spoof protection (reverse-path filter)
+#net/ipv4/conf/all/rp_filter=1
+
+# Uncomment the next line to enable TCP/IP SYN cookies
+#net/ipv4/tcp_syncookies=1
+
+# Uncomment the next line to enable packet forwarding for IPv4
+#net/ipv4/ip_forward=1
+
+# Uncomment the next line to enable packet forwarding for IPv6
+#net/ipv6/ip_forward=1
+
+# This sets the app to run on a hotplug event
+kernel/hotplug=/sbin/udevsend
diff --git a/meta/packages/busybox/busybox-1.01/slugos/udhcpscript.patch b/meta/packages/busybox/busybox-1.01/slugos/udhcpscript.patch
new file mode 100644
index 0000000000..277a22cddb
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/slugos/udhcpscript.patch
@@ -0,0 +1,162 @@
+diff -rup busybox-1.01/.pc/udhcpscript.patch/examples/udhcp/simple.script busybox-1.01/examples/udhcp/simple.script
+--- busybox-1.01/examples/udhcp/simple.script 1970-01-01 00:00:00.000000000 +0000
++++ busybox-1.01/examples/udhcp/simple.script 1970-01-01 00:00:00.000000000 +0000
+@@ -1,40 +1,129 @@
+ #!/bin/sh
++# slugos UDHCP client script
++#
++. /etc/default/functions
++
++echodns(){
++ local dns
++ if test $# -gt 0
++ then
++ for dns in "$@"
++ do
++ echo "nameserver $dns #dhcp:$interface"
++ done
++ fi
++}
+
+-# udhcpc script edited by Tim Riker <Tim@Rikers.org>
++# Output the correct contents for resolv.conf based on
++# the current one and any new information
++mkresolv() {
++ local rmdomain
++ rmdomain=
++ # last search takes precedence, so a user
++ # specified search in resolv.conf is retained
++ test -n "$domain" && {
++ echo "search $domain #dhcp"
++ rmdomain='|search [^ ]* #dhcp'
++ }
++ # first nameserver takes precedence, use a user
++ # specified nameserver in preference then the
++ # new ones
++ egrep -v '^(nameserver [^ ]* #dhcp:.*'"$rmdomain"')$' "$1"
++ echodns $dns
++ egrep '^nameserver [^ ]* #dhcp:.*$' "$1" | egrep -v :"$interface"'$'
++}
++
++# checksum of a file (or stdin if -)
++md5strm() {
++ md5sum $1 2>/dev/null | sed -n 's/^\([0-9A-Za-z]*\).*$/\1/p'
++}
++
++# update resolv.conf for $interface using $domain and $dns
++updresolv() {
++ local md5old md5new resolv
++ md5old="$(md5strm /etc/resolv.conf)"
++ resolv="$(mkresolv /etc/resolv.conf)"
++ md5new="$(echo "$resolv" | md5strm -)"
++ test "$md5old" != "$md5new" && echo "$resolv" >/etc/resolv.conf
++}
++
++unroute() {
++ # called to deconfig the interface
++ while route del default gw 0.0.0.0 dev $interface 2>/dev/null
++ do
++ :
++ done
++}
++
++bind() {
++ local B N metric i olddomain resolv
++ B=
++ test -n "$broadcast" && B="broadcast $broadcast"
++ N=
++ test -n "$subnet" && N="netmask $subnet"
++ ifconfig "$interface" "$ip" $B $N up
++
++ # If given router information delete the old information and
++ # enter new stuff, routers get metrics incremented by 1
++ # between each (this is somewhat arbitrary)
++ if test -n "$router"
++ then
++ unroute
++ metric=0
++ for i in $router
++ do
++ route add default gw "$i" dev "$interface" metric $((metric++))
++ done
++ fi
+
+-[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
++ olddomain=
++ test -r /etc/defaultdomain && olddomain="$(cat /etc/defaultdomain)"
++ if test -n "$domain" -a "$domain" != "$olddomain"
++ then
++ echo "$domain" >/etc/defaultdomain
++ # and update the kernel view too
++ echo "$domain" >/proc/sys/kernel/domainname
++ fi
+
+-RESOLV_CONF="/etc/resolv.conf"
+-[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
+-[ -n "$subnet" ] && NETMASK="netmask $subnet"
++ updresolv
++}
+
+ case "$1" in
+- deconfig)
+- /sbin/ifconfig $interface 0.0.0.0
+- ;;
+-
+- renew|bound)
+- /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
+-
+- if [ -n "$router" ] ; then
+- echo "deleting routers"
+- while route del default gw 0.0.0.0 dev $interface ; do
+- :
+- done
+-
+- metric=0
+- for i in $router ; do
+- route add default gw $i dev $interface metric $((metric++))
+- done
++deconfig)
++ # Bring the interface up (without inet at this point)
++ # Remove the resolver information because deconfig is called
++ # on leasefail and we need to remove this interface at that
++ # point to ensure the machine remains visible on another
++ # interface!
++ domain=
++ dns=
++ unroute
++ updresolv
++ ifconfig "$interface" up;;
++
++renew|bound)
++ bind;;
++
++leasefail)
++ # Pull the values from the config data if (only only if) this
++ # is the config interface
++ if test "$interface" = "$(config iface)"
++ then
++ ip="$(config ip)"
++ if test -n "$ip"
++ then
++ router="$(config gateway)"
++ subnet="$(config netmask)"
++ broadcast="$(config broadcast)"
++ domain="$(config domain)"
++ dns="$(config dns)"
++
++ bind
+ fi
++ fi;;
+
+- echo -n > $RESOLV_CONF
+- [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
+- for i in $dns ; do
+- echo adding dns $i
+- echo nameserver $i >> $RESOLV_CONF
+- done
+- ;;
++*) echo "udhcpc: $*: unknown command" >&2
++ exit 1;;
+ esac
+
+ exit 0
diff --git a/meta/packages/busybox/busybox-1.01/sparc/defconfig b/meta/packages/busybox/busybox-1.01/sparc/defconfig
new file mode 100644
index 0000000000..8b8cbfc839
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/sparc/defconfig
@@ -0,0 +1,467 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_FEATURE_DEVFS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+# CONFIG_FEATURE_SUID is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_LFS is not set
+# USING_CROSS_COMPILER is not set
+EXTRA_CFLAGS_OPTIONS=""
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+CONFIG_AR=y
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+CONFIG_BUNZIP2=y
+CONFIG_CPIO=y
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+CONFIG_UNZIP=y
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+
+#
+# date (forced enabled for use with watch)
+#
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+CONFIG_LOGNAME=y
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+# CONFIG_FEATURE_LS_RECURSIVE is not set
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_MKNOD=y
+CONFIG_MV=y
+CONFIG_OD=y
+CONFIG_PRINTF=y
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SEQ=y
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+CONFIG_SORT=y
+CONFIG_STTY=y
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+CONFIG_WATCH=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_WHOAMI=y
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_DEALLOCVT=y
+CONFIG_DUMPKMAP=y
+CONFIG_GETKEY=y
+CONFIG_LOADFONT=y
+CONFIG_LOADKMAP=y
+CONFIG_OPENVT=y
+CONFIG_RESET=y
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+CONFIG_READLINK=y
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+# CONFIG_FEATURE_VI_DOT_CMD is not set
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+CONFIG_FEATURE_FIND_MTIME=y
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+CONFIG_FEATURE_FIND_NEWER=y
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_REBOOT is not set
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+CONFIG_FEATURE_U_W_TMP=y
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_CROND is not set
+# CONFIG_CRONTAB is not set
+CONFIG_DC=y
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+CONFIG_MAKEDEVS=y
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+# CONFIG_TIME is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+# CONFIG_INSMOD is not set
+# CONFIG_LSMOD is not set
+# CONFIG_MODPROBE is not set
+# CONFIG_RMMOD is not set
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+# CONFIG_ARPING is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+CONFIG_HOSTNAME=y
+# CONFIG_HTTPD is not set
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+CONFIG_FEATURE_IFUPDOWN_IPV6=y
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_INETD is not set
+CONFIG_IP=y
+CONFIG_FEATURE_IP_ADDRESS=y
+CONFIG_FEATURE_IP_LINK=y
+CONFIG_FEATURE_IP_ROUTE=y
+CONFIG_FEATURE_IP_TUNNEL=y
+# CONFIG_IPCALC is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+CONFIG_TELNET=y
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+CONFIG_FEATURE_TELNET_AUTOLOGIN=y
+# CONFIG_TELNETD is not set
+# CONFIG_TFTP is not set
+CONFIG_TRACEROUTE=y
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_VCONFIG is not set
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+CONFIG_UDHCPC=y
+CONFIG_FEATURE_UDHCP_SYSLOG=y
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_PIDOF=y
+CONFIG_PS=y
+CONFIG_RENICE=y
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+# CONFIG_SYSCTL is not set
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_JOB_CONTROL=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=63
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+CONFIG_FDISK=y
+FDISK_SUPPORT_LARGE_DISKS=y
+CONFIG_FEATURE_FDISK_WRITABLE=y
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+CONFIG_FSCK_MINIX=y
+CONFIG_MKFS_MINIX=y
+
+#
+# Minix filesystem support
+#
+CONFIG_FEATURE_MINIX2=y
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+CONFIG_HWCLOCK=y
+CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
+# CONFIG_LOSETUP is not set
+CONFIG_MKSWAP=y
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+# CONFIG_RDATE is not set
+CONFIG_SWAPONOFF=y
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+# CONFIG_FEATURE_MOUNT_LOOP is not set
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox-1.01/thumb-bsdlabel.patch b/meta/packages/busybox/busybox-1.01/thumb-bsdlabel.patch
new file mode 100644
index 0000000000..dc3eb7c552
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/thumb-bsdlabel.patch
@@ -0,0 +1,11 @@
+--- busybox-1.01/util-linux/fdisk.c 1970-01-01 00:00:00.000000000 +0000
++++ busybox-1.01/util-linux/fdisk.c 1970-01-01 00:00:00.000000000 +0000
+@@ -507,7 +507,7 @@ check_aix_label( void )
+
+ #define BSD_LINUX_BOOTDIR "/usr/ucb/mdec"
+
+-#if defined (i386) || defined (__sparc__) || defined (__arm__) || defined (__mips__) || defined (__s390__) || defined (__sh__) || defined(__x86_64__)
++#if defined (i386) || defined (__sparc__) || defined (__arm__) || defined (__thumb__) || defined (__mips__) || defined (__s390__) || defined (__sh__) || defined(__x86_64__)
+ #define BSD_LABELSECTOR 1
+ #define BSD_LABELOFFSET 0
+ #elif defined (__alpha__) || defined (__powerpc__) || defined (__ia64__) || defined (__hppa__)
diff --git a/meta/packages/busybox/busybox-1.01/uclibc_posix.patch b/meta/packages/busybox/busybox-1.01/uclibc_posix.patch
new file mode 100644
index 0000000000..aefb994068
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/uclibc_posix.patch
@@ -0,0 +1,20 @@
+see http://www.busybox.net/lists/busybox/2004-December/013276.html
+
+--- busybox-old/libbb/loop.c 2004-08-16 04:36:28.000000000 -0400
++++ busybox/libbb/loop.c 2004-12-04 23:45:58.000000000 -0500
+@@ -19,6 +19,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#include <asm/posix_types.h>
+ #include <stdio.h>
+ #include <errno.h>
+ #include <fcntl.h>
+@@ -30,7 +31,6 @@
+ /* Grumble... The 2.6.x kernel breaks asm/posix_types.h
+ * so we get to try and cope as best we can... */
+ #include <linux/version.h>
+-#include <asm/posix_types.h>
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+ #define __bb_kernel_dev_t __kernel_old_dev_t
diff --git a/meta/packages/busybox/busybox-1.01/udhcppidfile-breakage.patch b/meta/packages/busybox/busybox-1.01/udhcppidfile-breakage.patch
new file mode 100644
index 0000000000..031274908b
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/udhcppidfile-breakage.patch
@@ -0,0 +1,57 @@
+--- busybox-1.00/networking/udhcp/common.c~udhcppidfile2
++++ busybox-1.00/networking/udhcp/common.c
+@@ -74,7 +74,7 @@
+
+ if (pid > 0) {
+ /* parent */
+- if (pidfile_reassign(pidfile, pid) < 0) {
++ if (pidfile != NULL && pidfile_reassign(pidfile, pid) < 0) {
+ (void)kill(pid, SIGKILL);
+ exit(1);
+ } else
+@@ -119,7 +119,7 @@
+ sanitize_fds();
+
+ /* do some other misc startup stuff while we are here to save bytes */
+- if (pidfile_acquire(pidfile) < 0)
++ if (pidfile != NULL && pidfile_acquire(pidfile) < 0)
+ exit(1);
+
+ /* equivelent of doing a fflush after every \n */
+@@ -166,7 +166,7 @@
+ sanitize_fds();
+
+ /* do some other misc startup stuff while we are here to save bytes */
+- if (pidfile_acquire(pidfile) < 0)
++ if (pidfile != NULL && pidfile_acquire(pidfile) < 0)
+ exit(1);
+
+ /* equivelent of doing a fflush after every \n */
+--- busybox-1.00/networking/udhcp/pidfile.c~udhcppidfile2
++++ busybox-1.00/networking/udhcp/pidfile.c
+@@ -141,7 +141,11 @@
+ int pidfile_acquire(const char *pidfile)
+ {
+ int fd, result;
+- if (!pidfile) return (-1);
++
++ if (pidfile == NULL) {
++ LOG(LOG_ERR, "pidfile_acquire: filename is NULL\n");
++ return (-1);
++ }
+
+ if ((fd = pidfile_open(pidfile)) < 0)
+ return (-1);
+@@ -170,7 +174,11 @@
+ int pidfile_reassign(const char *pidfile, int pid)
+ {
+ int fd, result;
+- if (!pidfile) return (-1);
++
++ if (pidfile == NULL) {
++ LOG(LOG_ERR, "pidfile_reassign: filename is NULL\n");
++ return (-1);
++ }
+
+ if ((fd = pidfile_open(pidfile)) < 0)
+ return (-1);
diff --git a/meta/packages/busybox/busybox-1.01/udhcppidfile.patch b/meta/packages/busybox/busybox-1.01/udhcppidfile.patch
new file mode 100644
index 0000000000..fb2b2ec19a
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/udhcppidfile.patch
@@ -0,0 +1,276 @@
+--- busybox-1.00/networking/udhcp/pidfile.h-dist 2004-04-15 03:51:26.000000000 +1000
++++ busybox-1.00/networking/udhcp/pidfile.h 2004-10-27 15:46:38.000000000 +1000
+@@ -21,5 +21,5 @@
+
+
+ int pidfile_acquire(const char *pidfile);
+-void pidfile_write_release(int pid_fd);
++int pidfile_reassign(const char *pidfile, int newpid);
+
+--- busybox-1.00/networking/udhcp/pidfile.c-dist 2004-04-15 03:51:25.000000000 +1000
++++ busybox-1.00/networking/udhcp/pidfile.c 2004-10-27 19:43:40.000000000 +1000
+@@ -25,6 +25,7 @@
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <errno.h>
+
+ #include "pidfile.h"
+ #include "common.h"
+@@ -37,39 +38,146 @@
+ }
+
+
+-int pidfile_acquire(const char *pidfile)
++static int pidfile_open(const char *pidfile)
+ {
+- int pid_fd;
+- if (!pidfile) return -1;
++ int fd;
+
+- pid_fd = open(pidfile, O_CREAT | O_WRONLY, 0644);
+- if (pid_fd < 0) {
+- LOG(LOG_ERR, "Unable to open pidfile %s: %m\n", pidfile);
+- } else {
+- lockf(pid_fd, F_LOCK, 0);
+- if (!saved_pidfile)
+- atexit(pidfile_delete);
+- saved_pidfile = (char *) pidfile;
++ if ((fd = open(pidfile, O_CREAT | O_RDWR, 0644)) < 0) {
++ LOG(LOG_ERR, "pidfile_open: open %s failed: %m\n", pidfile);
++ return (-1);
++ }
++
++ /* NOTE: lockf is not inherited by child after fork */
++ if (lockf(fd, F_LOCK, 0) < 0) {
++ LOG(LOG_ERR, "pidfile_open: lock %s failed: %m\n", pidfile);
++ close(fd);
++ return (-1);
++ }
++
++ return (fd);
++}
++
++
++static int pidfile_check(int fd, const char *pidfile)
++{
++ int len, pid;
++ char buf[20];
++
++ if (lseek(fd, 0L, SEEK_SET) < 0) {
++ LOG(LOG_ERR, "pidfile_check: lseek %s failed: %m\n", pidfile);
++ return (-1);
++ }
++
++ if ((len = read(fd, buf, sizeof buf - 1)) < 0) {
++ LOG(LOG_ERR, "pidfile_check: read %s failed: %m\n", pidfile);
++ return (-1);
++ }
++
++ if (len == 0)
++ return (0);
++
++ buf[len] = '\0';
++
++ if ((pid = atoi(buf)) <= 1) {
++ LOG(LOG_WARNING,
++ "pidfile_check: ignoring bogus pid (%s) in %s\n",
++ buf, pidfile);
++ return (0);
++ }
++
++ if (kill((pid_t)pid, 0) == 0) {
++ LOG(LOG_ERR, "pidfile_check: process %d exists (%s)\n",
++ pid, pidfile);
++ return (-1);
++ }
++
++ if (errno != ESRCH) {
++ LOG(LOG_ERR, "pidfile_check: kill %d failed (%s): %m\n",
++ pid, pidfile);
++ return (-1);
++ }
++
++ return (0);
++}
++
++
++static int pidfile_store(int fd, const char *pidfile, int pid)
++{
++ int len;
++ char buf[20];
++
++ if (lseek(fd, 0L, SEEK_SET) < 0) {
++ LOG(LOG_ERR, "pidfile_store: lseek %s failed: %m\n", pidfile);
++ return (-1);
++ }
++
++ len = snprintf(buf, sizeof buf - 1, "%d\n", pid);
++ buf[len] = '\0';
++
++ if (write(fd, buf, len) < 0) {
++ LOG(LOG_ERR, "pidfile_store: write %s failed: %m\n",
++ pidfile);
++ return (-1);
++ }
++
++ if (ftruncate(fd, len) < 0) {
++ LOG(LOG_ERR, "pidfile_store: ftruncate %d failed (%s): %m\n",
++ len, pidfile);
++ return (-1);
+ }
+
+- return pid_fd;
++ return (0);
+ }
+
+
+-void pidfile_write_release(int pid_fd)
++static void pidfile_close(int fd)
+ {
+- FILE *out;
++ (void)lseek(fd, 0L, SEEK_SET);
++ (void)lockf(fd, F_ULOCK, 0);
++ (void)close(fd);
++}
+
+- if (pid_fd < 0) return;
+
+- if ((out = fdopen(pid_fd, "w")) != NULL) {
+- fprintf(out, "%d\n", getpid());
+- fclose(out);
++int pidfile_acquire(const char *pidfile)
++{
++ int fd, result;
++ if (!pidfile) return (-1);
++
++ if ((fd = pidfile_open(pidfile)) < 0)
++ return (-1);
++
++ if ((result = pidfile_check(fd, pidfile)) == 0)
++ result = pidfile_store(fd, pidfile, getpid());
++
++ pidfile_close(fd);
++
++ if (result == 0) {
++ saved_pidfile = (char *) pidfile;
++ atexit(pidfile_delete);
+ }
+- lockf(pid_fd, F_UNLCK, 0);
+- close(pid_fd);
++
++ return (result);
+ }
+
+
++/*
++ * reassign the pid in a pidfile - used just after a fork so a parent
++ * can store the pid of its child into the file without any window
++ * where the pid in the file is a dead process (which might let another
++ * instance of the program start). Note the parent must use _exit() to
++ * avoid triggering the unlink scheduled above in pidfile_acquire()
++ */
++int pidfile_reassign(const char *pidfile, int pid)
++{
++ int fd, result;
++ if (!pidfile) return (-1);
++
++ if ((fd = pidfile_open(pidfile)) < 0)
++ return (-1);
+
++ result = pidfile_store(fd, pidfile, pid);
+
++ pidfile_close(fd);
++
++ return (result);
++}
+--- busybox-1.00/networking/udhcp/common.c-dist 2004-05-19 19:18:04.000000000 +1000
++++ busybox-1.00/networking/udhcp/common.c 2004-10-27 19:58:10.000000000 +1000
+@@ -64,16 +64,34 @@
+ #ifdef __uClinux__
+ LOG(LOG_ERR, "Cannot background in uclinux (yet)");
+ #else /* __uClinux__ */
+- int pid_fd;
++ int pid, fd;
+
+- /* hold lock during fork. */
+- pid_fd = pidfile_acquire(pidfile);
+- if (daemon(0, 0) == -1) {
++ /* NOTE: lockf is not inherited by the child after fork */
++ if ((pid = fork()) < 0) {
+ perror("fork");
+ exit(1);
+ }
++
++ if (pid > 0) {
++ /* parent */
++ if (pidfile_reassign(pidfile, pid) < 0) {
++ (void)kill(pid, SIGKILL);
++ exit(1);
++ } else
++ _exit(0);
++ }
++
++ /* child */
++ (void)chdir("/");
++ if ((fd = open("/dev/null", O_RDWR)) >= 0) {
++ (void)dup2(fd, 0);
++ (void)dup2(fd, 1);
++ (void)dup2(fd, 2);
++ (void)close(fd);
++ }
++ (void)setsid();
++
+ daemonized++;
+- pidfile_write_release(pid_fd);
+ #endif /* __uClinux__ */
+ }
+
+@@ -97,14 +115,12 @@
+
+ void start_log_and_pid(const char *client_server, const char *pidfile)
+ {
+- int pid_fd;
+-
+ /* Make sure our syslog fd isn't overwritten */
+ sanitize_fds();
+
+ /* do some other misc startup stuff while we are here to save bytes */
+- pid_fd = pidfile_acquire(pidfile);
+- pidfile_write_release(pid_fd);
++ if (pidfile_acquire(pidfile) < 0)
++ exit(1);
+
+ /* equivelent of doing a fflush after every \n */
+ setlinebuf(stdout);
+@@ -150,8 +166,8 @@
+ sanitize_fds();
+
+ /* do some other misc startup stuff while we are here to save bytes */
+- pid_fd = pidfile_acquire(pidfile);
+- pidfile_write_release(pid_fd);
++ if (pidfile_acquire(pidfile) < 0)
++ exit(1);
+
+ /* equivelent of doing a fflush after every \n */
+ setlinebuf(stdout);
+--- busybox-1.00/networking/udhcp/common.h-dist 2004-05-19 18:29:05.000000000 +1000
++++ busybox-1.00/networking/udhcp/common.h 2004-10-27 15:10:16.000000000 +1000
+@@ -42,7 +42,6 @@
+ long uptime(void);
+ void background(const char *pidfile);
+ void start_log_and_pid(const char *client_server, const char *pidfile);
+-void background(const char *pidfile);
+ void udhcp_logging(int level, const char *fmt, ...);
+
+ #define LOG(level, str, args...) udhcp_logging(level, str, ## args)
+--- busybox-1.00/networking/udhcp/script.c-dist 2004-05-19 17:45:47.000000000 +1000
++++ busybox-1.00/networking/udhcp/script.c 2004-10-27 15:54:04.000000000 +1000
+@@ -228,6 +228,6 @@
+ execle(client_config.script, client_config.script,
+ name, NULL, envp);
+ LOG(LOG_ERR, "script %s failed: %m", client_config.script);
+- exit(1);
++ _exit(1);
+ }
+ }
diff --git a/meta/packages/busybox/busybox-1.01/udhcpscript.patch b/meta/packages/busybox/busybox-1.01/udhcpscript.patch
new file mode 100644
index 0000000000..fc21d440cd
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/udhcpscript.patch
@@ -0,0 +1,17 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- busybox-1.00-rc3/examples/udhcp/simple.script~udhcpscript
++++ busybox-1.00-rc3/examples/udhcp/simple.script
+@@ -17,8 +17,7 @@
+ /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
+
+ if [ -n "$router" ] ; then
+- echo "deleting routers"
+- while route del default gw 0.0.0.0 dev $interface ; do
++ while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do
+ :
+ done
+
diff --git a/meta/packages/busybox/busybox-1.01/wrt54/defconfig b/meta/packages/busybox/busybox-1.01/wrt54/defconfig
new file mode 100644
index 0000000000..7f1aef4ef9
--- /dev/null
+++ b/meta/packages/busybox/busybox-1.01/wrt54/defconfig
@@ -0,0 +1,476 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# General Configuration
+#
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+CONFIG_FEATURE_VERBOSE_USAGE=y
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+CONFIG_FEATURE_DEVFS=y
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+CONFIG_LFS=y
+USING_CROSS_COMPILER=y
+CROSS_COMPILER_PREFIX="mipsel-uclibc-"
+EXTRA_CFLAGS_OPTIONS="-Os "
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+PREFIX="./_install"
+
+#
+# Archival Utilities
+#
+# CONFIG_AR is not set
+CONFIG_BUNZIP2=y
+# CONFIG_CPIO is not set
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+CONFIG_GUNZIP=y
+CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
+CONFIG_GZIP=y
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+CONFIG_TAR=y
+CONFIG_FEATURE_TAR_CREATE=y
+CONFIG_FEATURE_TAR_BZIP2=y
+CONFIG_FEATURE_TAR_FROM=y
+CONFIG_FEATURE_TAR_GZIP=y
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY is not set
+CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNZIP is not set
+
+#
+# Common options for cpio and tar
+#
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+CONFIG_CP=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_FEATURE_DATE_ISOFMT=y
+CONFIG_DD=y
+CONFIG_DF=y
+CONFIG_DIRNAME=y
+# CONFIG_DOS2UNIX is not set
+CONFIG_DU=y
+CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPR=y
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+CONFIG_HEAD=y
+CONFIG_FEATURE_FANCY_HEAD=y
+CONFIG_HOSTID=y
+CONFIG_ID=y
+# CONFIG_INSTALL is not set
+CONFIG_LENGTH=y
+CONFIG_LN=y
+# CONFIG_LOGNAME is not set
+CONFIG_LS=y
+CONFIG_FEATURE_LS_FILETYPES=y
+CONFIG_FEATURE_LS_FOLLOWLINKS=y
+CONFIG_FEATURE_LS_RECURSIVE=y
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+CONFIG_FEATURE_LS_COLOR=y
+CONFIG_MD5SUM=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+# CONFIG_MKNOD is not set
+CONFIG_MV=y
+# CONFIG_OD is not set
+# CONFIG_PRINTF is not set
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+CONFIG_RMDIR=y
+# CONFIG_SEQ is not set
+# CONFIG_SHA1SUM is not set
+CONFIG_SLEEP=y
+CONFIG_FEATURE_FANCY_SLEEP=y
+CONFIG_SORT=y
+# CONFIG_STTY is not set
+CONFIG_SYNC=y
+CONFIG_TAIL=y
+CONFIG_FEATURE_FANCY_TAIL=y
+CONFIG_TEE=y
+CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
+CONFIG_TEST=y
+
+#
+# test (forced enabled for use with shell)
+#
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
+CONFIG_TRUE=y
+# CONFIG_TTY is not set
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+# CONFIG_USLEEP is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+# CONFIG_WATCH is not set
+CONFIG_WC=y
+# CONFIG_WHO is not set
+# CONFIG_WHOAMI is not set
+CONFIG_YES=y
+
+#
+# Common options for cp and mv
+#
+CONFIG_FEATURE_PRESERVE_HARDLINKS=y
+
+#
+# Common options for ls and more
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+CONFIG_FEATURE_HUMAN_READABLE=y
+
+#
+# Common options for md5sum, sha1sum
+#
+CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
+
+#
+# Console Utilities
+#
+# CONFIG_CHVT is not set
+CONFIG_CLEAR=y
+# CONFIG_DEALLOCVT is not set
+# CONFIG_DUMPKMAP is not set
+# CONFIG_GETKEY is not set
+# CONFIG_LOADFONT is not set
+# CONFIG_LOADKMAP is not set
+# CONFIG_OPENVT is not set
+CONFIG_RESET=y
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+CONFIG_MKTEMP=y
+# CONFIG_PIPE_PROGRESS is not set
+# CONFIG_READLINK is not set
+CONFIG_RUN_PARTS=y
+CONFIG_START_STOP_DAEMON=y
+CONFIG_WHICH=y
+
+#
+# Editors
+#
+CONFIG_AWK=y
+CONFIG_FEATURE_AWK_MATH=y
+# CONFIG_PATCH is not set
+CONFIG_SED=y
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+CONFIG_FIND=y
+# CONFIG_FEATURE_FIND_MTIME is not set
+CONFIG_FEATURE_FIND_PERM=y
+CONFIG_FEATURE_FIND_TYPE=y
+CONFIG_FEATURE_FIND_XDEV=y
+# CONFIG_FEATURE_FIND_NEWER is not set
+# CONFIG_FEATURE_FIND_INUM is not set
+CONFIG_GREP=y
+CONFIG_FEATURE_GREP_EGREP_ALIAS=y
+CONFIG_FEATURE_GREP_FGREP_ALIAS=y
+CONFIG_FEATURE_GREP_CONTEXT=y
+CONFIG_XARGS=y
+CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
+CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
+CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
+CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
+
+#
+# Init Utilities
+#
+CONFIG_INIT=y
+CONFIG_FEATURE_USE_INITTAB=y
+# CONFIG_FEATURE_INITRD is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+CONFIG_REBOOT=y
+CONFIG_MESG=y
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+# CONFIG_FEATURE_U_W_TMP is not set
+CONFIG_LOGIN=y
+CONFIG_FEATURE_SECURETTY=y
+CONFIG_PASSWD=y
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Common options for adduser, deluser, login, su
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+CONFIG_CROND=y
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+CONFIG_CRONTAB=y
+# CONFIG_DC is not set
+# CONFIG_DEVFSD is not set
+# CONFIG_LAST is not set
+# CONFIG_HDPARM is not set
+# CONFIG_MAKEDEVS is not set
+# CONFIG_MT is not set
+# CONFIG_RX is not set
+CONFIG_STRINGS=y
+CONFIG_TIME=y
+# CONFIG_WATCHDOG is not set
+
+#
+# Linux Module Utilities
+#
+CONFIG_INSMOD=y
+CONFIG_FEATURE_2_4_MODULES=y
+# CONFIG_FEATURE_2_6_MODULES is not set
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+CONFIG_LSMOD=y
+CONFIG_FEATURE_QUERY_MODULE_INTERFACE=y
+# CONFIG_MODPROBE is not set
+CONFIG_RMMOD=y
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+
+#
+# Networking Utilities
+#
+CONFIG_FEATURE_IPV6=y
+CONFIG_ARPING=y
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_HOSTNAME is not set
+CONFIG_HTTPD=y
+# CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY is not set
+CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
+CONFIG_FEATURE_HTTPD_AUTH_MD5=y
+CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP=y
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES=y
+CONFIG_FEATURE_HTTPD_CGI=y
+CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
+CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
+CONFIG_IFCONFIG=y
+CONFIG_FEATURE_IFCONFIG_STATUS=y
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+CONFIG_FEATURE_IFCONFIG_HW=y
+CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
+CONFIG_IFUPDOWN=y
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
+CONFIG_FEATURE_IFUPDOWN_IPV4=y
+# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_INETD is not set
+# CONFIG_IP is not set
+CONFIG_IPCALC=y
+CONFIG_FEATURE_IPCALC_FANCY=y
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+CONFIG_NC=y
+CONFIG_NETSTAT=y
+CONFIG_NSLOOKUP=y
+CONFIG_PING=y
+CONFIG_FEATURE_FANCY_PING=y
+CONFIG_PING6=y
+CONFIG_FEATURE_FANCY_PING6=y
+CONFIG_ROUTE=y
+# CONFIG_TELNET is not set
+# CONFIG_TELNETD is not set
+# CONFIG_TFTP is not set
+CONFIG_TRACEROUTE=y
+CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
+CONFIG_VCONFIG=y
+CONFIG_WGET=y
+CONFIG_FEATURE_WGET_STATUSBAR=y
+CONFIG_FEATURE_WGET_AUTHENTICATION=y
+CONFIG_FEATURE_WGET_IP6_LITERAL=y
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+CONFIG_UDHCPC=y
+# CONFIG_FEATURE_UDHCP_SYSLOG is not set
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+
+#
+# Process Utilities
+#
+CONFIG_FREE=y
+CONFIG_KILL=y
+CONFIG_KILLALL=y
+CONFIG_PIDOF=y
+CONFIG_PS=y
+# CONFIG_RENICE is not set
+CONFIG_TOP=y
+FEATURE_CPU_USAGE_PERCENTAGE=y
+CONFIG_UPTIME=y
+CONFIG_SYSCTL=y
+
+#
+# Another Bourne-like Shell
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+CONFIG_ASH_PIPE_OPTIMIZATION=y
+CONFIG_FEATURE_BUILTIN_TEST=y
+CONFIG_FEATURE_BUILTIN_ECHO=y
+CONFIG_FEATURE_BUILTIN_PIDOF=y
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+# CONFIG_ASH_CMDCMD is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
+# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
+CONFIG_FEATURE_COMMAND_EDITING=y
+CONFIG_FEATURE_COMMAND_HISTORY=15
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+CONFIG_FEATURE_SH_FANCY_PROMPT=y
+
+#
+# System Logging Utilities
+#
+CONFIG_SYSLOGD=y
+CONFIG_FEATURE_ROTATE_LOGFILE=y
+CONFIG_FEATURE_REMOTE_LOG=y
+CONFIG_FEATURE_IPC_SYSLOG=y
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
+CONFIG_LOGREAD=y
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+CONFIG_KLOGD=y
+CONFIG_LOGGER=y
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+# CONFIG_FBSET is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+# CONFIG_FDISK is not set
+FDISK_SUPPORT_LARGE_DISKS=y
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_GETOPT is not set
+CONFIG_HEXDUMP=y
+# CONFIG_HWCLOCK is not set
+# CONFIG_LOSETUP is not set
+# CONFIG_MKSWAP is not set
+CONFIG_MORE=y
+CONFIG_FEATURE_USE_TERMIOS=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_RDATE=y
+# CONFIG_SWAPONOFF is not set
+CONFIG_MOUNT=y
+CONFIG_NFSMOUNT=y
+CONFIG_UMOUNT=y
+CONFIG_FEATURE_MOUNT_FORCE=y
+
+#
+# Common options for mount/umount
+#
+CONFIG_FEATURE_MOUNT_LOOP=y
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
diff --git a/meta/packages/busybox/busybox_1.01.bb b/meta/packages/busybox/busybox_1.01.bb
new file mode 100644
index 0000000000..996b5418a4
--- /dev/null
+++ b/meta/packages/busybox/busybox_1.01.bb
@@ -0,0 +1,169 @@
+DESCRIPTION = "BusyBox combines tiny versions of many common UNIX utilities into a single \
+small executable. It provides minimalist replacements for most of the \
+utilities you usually find in GNU fileutils, shellutils, etc. The utilities \
+in BusyBox generally have fewer options than their full-featured GNU \
+cousins; however, the options that are included provide the expected \
+functionality and behave very much like their GNU counterparts. BusyBox \
+provides a fairly complete POSIX environment for any small or embedded \
+system."
+HOMEPAGE = "http://www.busybox.net"
+LICENSE = "GPL"
+SECTION = "base"
+PRIORITY = "required"
+PR = "r11"
+
+SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.gz \
+ file://udhcppidfile.patch;patch=1 \
+ file://udhcppidfile-breakage.patch;patch=1 \
+ file://add-getkey-applet.patch;patch=1 \
+ file://below.patch;patch=1 \
+ file://dhcp-hostname.patch;patch=1 \
+ file://dhcpretrytime.patch;patch=1 \
+ file://fbset.patch;patch=1 \
+ file://hdparm_M.patch;patch=1 \
+ file://ifupdown-spurious-environ.patch;patch=1 \
+ file://iproute-flush-cache.patch;patch=1;pnum=0 \
+ file://mount-all-type.patch;patch=1 \
+ file://readlink.patch;patch=1 \
+ file://rmmod.patch;patch=1 \
+ file://udhcpscript.patch;patch=1 \
+ file://thumb-bsdlabel.patch;patch=1 \
+ file://uclibc_posix.patch;patch=1 \
+ file://glibc2.4-icmp6.patch;patch=1 \
+ file://defconfig \
+ file://busybox-cron \
+ file://busybox-httpd \
+ file://busybox-udhcpd \
+ file://syslog \
+ file://hwclock.sh \
+ file://default.script \
+ file://syslog.conf \
+ file://mount.busybox \
+ file://umount.busybox"
+SRC_URI_append_slugos += " file://sysctl.conf "
+
+S = "${WORKDIR}/busybox-${PV}"
+
+export EXTRA_CFLAGS = "${CFLAGS}"
+EXTRA_OEMAKE_append = " CROSS=${HOST_PREFIX}"
+PACKAGES =+ "${PN}-httpd ${PN}-udhcpd"
+
+FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
+FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
+
+FILES_${PN} += " ${datadir}/udhcpc"
+
+INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd"
+INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
+INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"
+INITSCRIPT_NAME_${PN} = "syslog"
+CONFFILES_${PN} = "${sysconfdir}/syslog.conf"
+
+# This disables the syslog startup links in slugos (see slugos-init)
+INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ."
+
+inherit cml1 update-rc.d
+
+do_configure () {
+ install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+ cml1_do_configure
+}
+
+do_compile () {
+ unset CFLAGS
+ base_do_compile
+}
+
+do_install () {
+ install -d ${D}${sysconfdir}/init.d
+ oe_runmake 'PREFIX=${D}' install
+
+ # Move everything to /busybox (not supposed to end up in any package)
+ install -d ${D}/busybox
+ mv ${D}${base_bindir} ${D}${base_sbindir} ${D}${prefix} ${D}/busybox/
+ # Move the busybox binary back to /bin
+ install -d ${D}${base_bindir}
+ mv ${D}/busybox${base_bindir}/busybox ${D}${base_bindir}/
+ # Move back the sh symlink
+ mv ${D}/busybox${base_bindir}/sh ${D}${base_bindir}/
+
+ install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/
+ install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/
+ if grep "CONFIG_CROND=y" ${WORKDIR}/defconfig; then
+ # Move crond back to /usr/sbin/crond
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/crond ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_HTTPD=y" ${WORKDIR}/defconfig; then
+ # Move httpd back to /usr/sbin/httpd
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/httpd ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/
+ install -d ${D}/srv/www
+ fi
+ if grep "CONFIG_UDHCPD=y" ${WORKDIR}/defconfig; then
+ # Move udhcpd back to /usr/sbin/udhcpd
+ install -d ${D}${sbindir}
+ mv ${D}/busybox${sbindir}/udhcpd ${D}${sbindir}/
+
+ install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_HWCLOCK=y" ${WORKDIR}/defconfig; then
+ # Move hwclock back to /sbin/hwclock
+ install -d ${D}${base_sbindir}
+ mv ${D}/busybox${base_sbindir}/hwclock ${D}${base_sbindir}/
+
+ install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/
+ fi
+ if grep "CONFIG_UDHCPC=y" ${WORKDIR}/defconfig; then
+ # Move dhcpc back to /usr/sbin/udhcpc
+ install -d ${D}${base_sbindir}
+ mv ${D}/busybox${base_sbindir}/udhcpc ${D}${base_sbindir}/
+
+ install -d ${D}${sysconfdir}/udhcpc.d
+ install -d ${D}${datadir}/udhcpc
+ install -m 0755 ${S}/examples/udhcp/simple.script ${D}${sysconfdir}/udhcpc.d/50default
+ install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script
+ fi
+
+ install -m 0644 ${S}/busybox.links ${D}${sysconfdir}
+}
+
+do_install_append_slugos() {
+ install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}
+}
+
+pkg_postinst_${PN} () {
+ # If we are not making an image we create links for the utilities that doesn't exist
+ # so the update-alternatives script will get the utilities it needs
+ # (update-alternatives have no problem replacing links later anyway)
+ test -n 2> /dev/null || alias test='busybox test'
+ if test "x$D" = "x"; then while read link; do if test ! -h "$link"; then case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; busybox ln -s $to $link; fi; done </etc/busybox.links; fi
+
+ # This adds the links, remember that this has to work when building an image too, hence the $D
+ while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; update-alternatives --install $link $bn $to 50; done <$D/etc/busybox.links
+}
+
+pkg_prerm_${PN} () {
+ # This is so you can make busybox commit suicide - removing busybox with no other packages
+ # providing its files, this will make update-alternatives work, but the update-rc.d part
+ # for syslog, httpd and/or udhcpd will fail if there is no other package providing sh
+ tmpdir=`mktemp -d /tmp/busyboxrm-XXXXXX`
+ ln -s /bin/busybox $tmpdir/[
+ ln -s /bin/busybox $tmpdir/test
+ ln -s /bin/busybox $tmpdir/head
+ ln -s /bin/busybox $tmpdir/sh
+ ln -s /bin/busybox $tmpdir/basename
+ ln -s /bin/busybox $tmpdir/echo
+ ln -s /bin/busybox $tmpdir/mv
+ ln -s /bin/busybox $tmpdir/ln
+ ln -s /bin/busybox $tmpdir/dirname
+ ln -s /bin/busybox $tmpdir/rm
+ ln -s /bin/busybox $tmpdir/sed
+ ln -s /bin/busybox $tmpdir/sort
+ export PATH=$PATH:$tmpdir
+ while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; sh /usr/bin/update-alternatives --remove $bn $to; done </etc/busybox.links
+}
diff --git a/meta/packages/busybox/files/busybox-cron b/meta/packages/busybox/files/busybox-cron
new file mode 100755
index 0000000000..f0e6b15629
--- /dev/null
+++ b/meta/packages/busybox/files/busybox-cron
@@ -0,0 +1,39 @@
+#!/bin/sh
+DAEMON=/usr/sbin/crond
+NAME=crond
+DESC="Busybox Periodic Command Scheduler"
+ARGS="-c /etc/cron/crontabs"
+
+test -f $DAEMON || exit 0
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "starting $DESC: $NAME... "
+ start-stop-daemon -S -b -n $NAME -a $DAEMON -- $ARGS
+ echo "done."
+ ;;
+ stop)
+ echo -n "stopping $DESC: $NAME... "
+ start-stop-daemon -K -n $NAME
+ echo "done."
+ ;;
+ restart)
+ echo -n "restarting $DESC: $NAME... "
+ $0 stop
+ $0 start
+ echo "done."
+ ;;
+ reload)
+ echo -n "reloading $DESC: $NAME... "
+ killall -HUP $(basename ${DAEMON})
+ echo "done."
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/busybox/files/busybox-httpd b/meta/packages/busybox/files/busybox-httpd
new file mode 100755
index 0000000000..c8348e54a7
--- /dev/null
+++ b/meta/packages/busybox/files/busybox-httpd
@@ -0,0 +1,44 @@
+#!/bin/sh
+DAEMON=/usr/sbin/httpd
+NAME=httpd
+DESC="Busybox HTTP Daemon"
+HTTPROOT="/srv/www"
+ARGS="-h $HTTPROOT"
+
+test -f $DAEMON || exit 0
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "starting $DESC: $NAME... "
+ if [ ! -d $HTTPROOT ]; then
+ echo "$HTTPROOT is missing."
+ exit 1
+ fi
+ start-stop-daemon -S -b -n $NAME -a $DAEMON -- $ARGS
+ echo "done."
+ ;;
+ stop)
+ echo -n "stopping $DESC: $NAME... "
+ start-stop-daemon -K -n $NAME
+ echo "done."
+ ;;
+ restart)
+ echo "restarting $DESC: $NAME... "
+ $0 stop
+ $0 start
+ echo "done."
+ ;;
+ reload)
+ echo -n "reloading $DESC: $NAME... "
+ killall -HUP $(basename ${DAEMON})
+ echo "done."
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/busybox/files/busybox-udhcpd b/meta/packages/busybox/files/busybox-udhcpd
new file mode 100755
index 0000000000..c43903e8dc
--- /dev/null
+++ b/meta/packages/busybox/files/busybox-udhcpd
@@ -0,0 +1,43 @@
+#!/bin/sh
+DAEMON=/usr/sbin/udhcpd
+NAME=udhcpd
+DESC="Busybox UDHCP Server"
+ARGS="/etc/udhcpd.conf"
+
+test -f $DAEMON || exit 1
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "starting $DESC: $NAME... "
+ if [ ! -f /etc/udhcpd.conf ]; then
+ echo "error: /etc/udhcpd.conf is missing."
+ exit 1
+ fi
+ /sbin/start-stop-daemon -S -b -n $NAME -a $DAEMON -- $ARGS
+ echo "done."
+ ;;
+ stop)
+ echo -n "stopping $DESC: $NAME... "
+ /sbin/start-stop-daemon -K -n $NAME
+ echo "done."
+ ;;
+ restart)
+ echo "restarting $DESC: $NAME... "
+ $0 stop
+ $0 start
+ echo "done."
+ ;;
+ reload)
+ echo -n "reloading $DESC: $NAME... "
+ killall -HUP $(basename ${DAEMON})
+ echo "done."
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/busybox/files/default.script b/meta/packages/busybox/files/default.script
new file mode 100644
index 0000000000..f2ac987a27
--- /dev/null
+++ b/meta/packages/busybox/files/default.script
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+exec run-parts -a "$1" /etc/udhcpc.d
+
diff --git a/meta/packages/busybox/files/glibc2.4-icmp6.patch b/meta/packages/busybox/files/glibc2.4-icmp6.patch
new file mode 100644
index 0000000000..3cec1dd31a
--- /dev/null
+++ b/meta/packages/busybox/files/glibc2.4-icmp6.patch
@@ -0,0 +1,15 @@
+--- busybox-1.01/networking/ping6.c.orig 2006-03-15 15:43:21.000000000 +0100
++++ busybox-1.01/networking/ping6.c 2006-03-15 15:49:29.000000000 +0100
+@@ -56,6 +56,12 @@
+ #include <stddef.h> /* offsetof */
+ #include "busybox.h"
+
++#ifndef ICMP6_MEMBERSHIP_QUERY /* glibc >= 2.4 */
++#define ICMP6_MEMBERSHIP_QUERY MLD_LISTENER_QUERY
++#define ICMP6_MEMBERSHIP_REPORT MLD_LISTENER_REPORT
++#define ICMP6_MEMBERSHIP_REDUCTION MLD_LISTENER_REDUCTION
++#endif
++
+ static const int DEFDATALEN = 56;
+ static const int MAXIPLEN = 60;
+ static const int MAXICMPLEN = 76;
diff --git a/meta/packages/busybox/files/hwclock.sh b/meta/packages/busybox/files/hwclock.sh
new file mode 100644
index 0000000000..5acfb9fb24
--- /dev/null
+++ b/meta/packages/busybox/files/hwclock.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+# hwclock.sh Set system clock to hardware clock, according to the UTC
+# setting in /etc/default/rcS (see also rcS(5)).
+#
+# WARNING: If your hardware clock is not in UTC/GMT, this script
+# must know the local time zone. This information is
+# stored in /etc/localtime. This might be a problem if
+# your /etc/localtime is a symlink to something in
+# /usr/share/zoneinfo AND /usr isn't in the root
+# partition! The workaround is to define TZ either
+# in /etc/default/rcS, or in the proper place below.
+
+[ ! -x /sbin/hwclock ] && exit 0
+
+. /etc/default/rcS
+
+case "$1" in
+ start)
+ if [ "$VERBOSE" != no ]
+ then
+ echo "System time was `date`."
+ echo "Setting the System Clock using the Hardware Clock as reference..."
+ fi
+
+ if [ "$HWCLOCKACCESS" != no ]
+ then
+ if [ -z "$TZ" ]
+ then
+ hwclock --hctosys
+ else
+ TZ="$TZ" hwclock --hctosys
+ fi
+ fi
+
+ if [ "$VERBOSE" != no ]
+ then
+ echo "System Clock set. System local time is now `date`."
+ fi
+ ;;
+ stop|restart|reload|force-reload)
+ #
+ # Updates the Hardware Clock with the System Clock time.
+ # This will *override* any changes made to the Hardware Clock.
+ #
+ # WARNING: If you disable this, any changes to the system
+ # clock will not be carried across reboots.
+ #
+ if [ "$VERBOSE" != no ]
+ then
+ echo "Saving the System Clock time to the Hardware Clock..."
+ fi
+ if [ "$HWCLOCKACCESS" != no ]
+ then
+ hwclock --systohc
+ fi
+ if [ "$VERBOSE" != no ]
+ then
+ echo "Hardware Clock updated to `date`."
+ fi
+ exit 0
+ ;;
+ show)
+ if [ "$HWCLOCKACCESS" != no ]
+ then
+ hwclock --show
+ fi
+ ;;
+ *)
+ echo "Usage: hwclock.sh {start|stop|show|reload|restart}" >&2
+ echo " start sets kernel (system) clock from hardware (RTC) clock" >&2
+ echo " stop and reload set hardware (RTC) clock from kernel (system) clock" >&2
+ exit 1
+ ;;
+esac
diff --git a/meta/packages/busybox/files/mount.busybox b/meta/packages/busybox/files/mount.busybox
new file mode 100755
index 0000000000..fef945b7b2
--- /dev/null
+++ b/meta/packages/busybox/files/mount.busybox
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /bin/busybox mount $@
diff --git a/meta/packages/busybox/files/postinst b/meta/packages/busybox/files/postinst
new file mode 100644
index 0000000000..36d8190f80
--- /dev/null
+++ b/meta/packages/busybox/files/postinst
@@ -0,0 +1,25 @@
+#!/bin/busybox ash
+
+action="$1"
+oldversion="$2"
+
+umask 022
+
+if /bin/busybox [ "$action" != configure ]
+then
+ exit 0
+fi
+
+. /etc/default/functions
+
+setup_init_hwclock() {
+ updatercd hwclock.sh start 50 S . stop 25 0 1 6 .
+ /etc/init.d/hwclock.sh restart
+}
+
+/bin/busybox ash /usr/bin/update-alternatives --install /bin/vi vi /bin/busybox 100
+/bin/busybox ash /usr/bin/update-alternatives --install /bin/sh sh /bin/busybox 100
+
+setup_init_hwclock
+
+exit 0
diff --git a/meta/packages/busybox/files/prerm b/meta/packages/busybox/files/prerm
new file mode 100644
index 0000000000..7ade4b1dec
--- /dev/null
+++ b/meta/packages/busybox/files/prerm
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ "$1" != "upgrade" ]; then
+ update-alternatives --remove sh /bin/busybox
+ update-alternatives --remove vi /bin/busybox
+ find /etc -name [SK][0-9][0-9]hwclock.sh | xargs rm -f
+ find /etc -name [SK][0-9][0-9]syslog | xargs rm -f
+fi
+
+exit 0
diff --git a/meta/packages/busybox/files/syslog b/meta/packages/busybox/files/syslog
new file mode 100644
index 0000000000..a999565e84
--- /dev/null
+++ b/meta/packages/busybox/files/syslog
@@ -0,0 +1,69 @@
+#! /bin/sh
+#
+# syslog init.d script for busybox syslogd/klogd
+# Written by Robert Griebl <sandman@handhelds.org>
+# Configuration file added by <bruno.randolf@4g-systems.biz>
+set -e
+
+if [ -f /etc/syslog.conf ]; then
+ . /etc/syslog.conf
+ LOG_LOCAL=0
+ LOG_REMOTE=0
+ for D in $DESTINATION; do
+ if [ "$D" = "buffer" ]; then
+ SYSLOG_ARGS="$SYSLOG_ARGS -C $BUFFERSIZE"
+ LOG_LOCAL=1
+ elif [ "$D" = "file" ]; then
+ if [ -n "$LOGFILE" ]; then
+ SYSLOG_ARGS="$SYSLOG_ARGS -O $LOGFILE"
+ fi
+ if [ -n "$ROTATESIZE" ]; then
+ SYSLOG_ARGS="$SYSLOG_ARGS -s $ROTATESIZE"
+ fi
+ if [ -n "$ROTATEGENS" ]; then
+ SYSLOG_ARGS="$SYSLOG_ARGS -b $ROTATEGENS"
+ fi
+ LOCAL=0
+ elif [ "$D" = "remote" ]; then
+ SYSLOG_ARGS="$SYSLOG_ARGS -R $REMOTE"
+ LOG_REMOTE=1
+ fi
+ done
+ if [ "$LOG_LOCAL" = "1" -a "$LOG_REMOTE" = "1" ]; then
+ SYSLOG_ARGS="$SYSLOG_ARGS -L"
+ fi
+ if [ -n "$MARKINT" ]; then
+ SYSLOG_ARGS="$SYSLOG_ARGS -m $MARKINT"
+ fi
+ if [ "$REDUCE" = "yes" ]; then
+ SYSLOG_ARGS="$SYSLOG_ARGS -S"
+ fi
+else
+ # default: log to 16K shm circular buffer
+ SYSLOG_ARGS="-C"
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting syslogd/klogd: "
+ start-stop-daemon -S -b -n syslogd -a /sbin/syslogd -- -n $SYSLOG_ARGS
+ start-stop-daemon -S -b -n klogd -a /sbin/klogd -- -n
+ echo "done"
+ ;;
+ stop)
+ echo -n "Stopping syslogd/klogd: "
+ start-stop-daemon -K -n syslogd
+ start-stop-daemon -K -n klogd
+ echo "done"
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "Usage: syslog { start | stop | restart }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/busybox/files/syslog.conf b/meta/packages/busybox/files/syslog.conf
new file mode 100644
index 0000000000..d4a0e02f5b
--- /dev/null
+++ b/meta/packages/busybox/files/syslog.conf
@@ -0,0 +1,9 @@
+DESTINATION="buffer" # log destinations (buffer file remote)
+MARKINT=20 # intervall between --mark-- entries
+LOGFILE=/var/log/messages # where to log (file)
+REMOTE=loghost:514 # where to log (syslog remote)
+REDUCE=no # reduce-size logging
+#ROTATESIZE=0 # rotate log if grown beyond X [kByte] (incompatible with busybox)
+#ROTATEGENS=3 # keep X generations of rotated logs (incompatible with busybox)
+BUFFERSIZE=64 # size of circular buffer [kByte]
+FOREGROUND=no # run in foreground (don't use!)
diff --git a/meta/packages/busybox/files/umount.busybox b/meta/packages/busybox/files/umount.busybox
new file mode 100755
index 0000000000..f3731626e6
--- /dev/null
+++ b/meta/packages/busybox/files/umount.busybox
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /bin/busybox umount $@
diff --git a/meta/packages/bzip2/bzip2-1.0.2/installpaths.patch b/meta/packages/bzip2/bzip2-1.0.2/installpaths.patch
new file mode 100644
index 0000000000..e7d09a71c5
--- /dev/null
+++ b/meta/packages/bzip2/bzip2-1.0.2/installpaths.patch
@@ -0,0 +1,103 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- bzip2-1.0.2/Makefile~installpaths
++++ bzip2-1.0.2/Makefile
+@@ -12,8 +12,12 @@
+ CFLAGS=-Wall -Winline -O2 -fomit-frame-pointer -fno-strength-reduce $(BIGFILES)
+
+ # Where you want it installed when you do 'make install'
+-PREFIX=/usr
+-
++DESTDIR=
++prefix=/usr
++bindir=$(prefix)/bin
++mandir=$(prefix)/man
++includedir=$(prefix)/include
++libdir=$(prefix)/lib
+
+ OBJS= blocksort.o \
+ huffman.o \
+@@ -58,43 +62,43 @@
+ @cat words3
+
+ install: bzip2 bzip2recover
+- if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
+- if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
+- if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi
+- if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi
+- if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
+- cp -f bzip2 $(PREFIX)/bin/bzip2
+- cp -f bzip2 $(PREFIX)/bin/bunzip2
+- cp -f bzip2 $(PREFIX)/bin/bzcat
+- cp -f bzip2recover $(PREFIX)/bin/bzip2recover
+- chmod a+x $(PREFIX)/bin/bzip2
+- chmod a+x $(PREFIX)/bin/bunzip2
+- chmod a+x $(PREFIX)/bin/bzcat
+- chmod a+x $(PREFIX)/bin/bzip2recover
+- cp -f bzip2.1 $(PREFIX)/man/man1
+- chmod a+r $(PREFIX)/man/man1/bzip2.1
+- cp -f bzlib.h $(PREFIX)/include
+- chmod a+r $(PREFIX)/include/bzlib.h
+- cp -f libbz2.a $(PREFIX)/lib
+- chmod a+r $(PREFIX)/lib/libbz2.a
+- cp -f bzgrep $(PREFIX)/bin/bzgrep
+- ln $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
+- ln $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
+- chmod a+x $(PREFIX)/bin/bzgrep
+- cp -f bzmore $(PREFIX)/bin/bzmore
+- ln $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
+- chmod a+x $(PREFIX)/bin/bzmore
+- cp -f bzdiff $(PREFIX)/bin/bzdiff
+- ln $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
+- chmod a+x $(PREFIX)/bin/bzdiff
+- cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
+- chmod a+r $(PREFIX)/man/man1/bzgrep.1
+- chmod a+r $(PREFIX)/man/man1/bzmore.1
+- chmod a+r $(PREFIX)/man/man1/bzdiff.1
+- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1
+- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1
+- echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1
+- echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
++ if ( test ! -d $(DESTDIR)$(bindir) ) ; then mkdir -p $(DESTDIR)$(bindir) ; fi
++ if ( test ! -d $(DESTDIR)$(libdir) ) ; then mkdir -p $(DESTDIR)$(libdir) ; fi
++ if ( test ! -d $(DESTDIR)$(mandir) ) ; then mkdir -p $(DESTDIR)$(mandir) ; fi
++ if ( test ! -d $(DESTDIR)$(mandir)/man1 ) ; then mkdir -p $(DESTDIR)$(mandir)/man1 ; fi
++ if ( test ! -d $(DESTDIR)$(includedir) ) ; then mkdir -p $(DESTDIR)$(includedir) ; fi
++ cp -f bzip2 $(DESTDIR)$(bindir)/bzip2
++ cp -f bzip2 $(DESTDIR)$(bindir)/bunzip2
++ cp -f bzip2 $(DESTDIR)$(bindir)/bzcat
++ cp -f bzip2recover $(DESTDIR)$(bindir)/bzip2recover
++ chmod a+x $(DESTDIR)$(bindir)/bzip2
++ chmod a+x $(DESTDIR)$(bindir)/bunzip2
++ chmod a+x $(DESTDIR)$(bindir)/bzcat
++ chmod a+x $(DESTDIR)$(bindir)/bzip2recover
++ cp -f bzip2.1 $(DESTDIR)$(mandir)/man1
++ chmod a+r $(DESTDIR)$(mandir)/man1/bzip2.1
++ cp -f bzlib.h $(DESTDIR)$(includedir)
++ chmod a+r $(DESTDIR)$(includedir)/bzlib.h
++ cp -f libbz2.a $(DESTDIR)$(libdir)
++ chmod a+r $(DESTDIR)$(libdir)/libbz2.a
++ cp -f bzgrep $(DESTDIR)$(bindir)/bzgrep
++ ln $(DESTDIR)$(bindir)/bzgrep $(DESTDIR)$(bindir)/bzegrep
++ ln $(DESTDIR)$(bindir)/bzgrep $(DESTDIR)$(bindir)/bzfgrep
++ chmod a+x $(DESTDIR)$(bindir)/bzgrep
++ cp -f bzmore $(DESTDIR)$(bindir)/bzmore
++ ln $(DESTDIR)$(bindir)/bzmore $(DESTDIR)$(bindir)/bzless
++ chmod a+x $(DESTDIR)$(bindir)/bzmore
++ cp -f bzdiff $(DESTDIR)$(bindir)/bzdiff
++ ln $(DESTDIR)$(bindir)/bzdiff $(DESTDIR)$(bindir)/bzcmp
++ chmod a+x $(DESTDIR)$(bindir)/bzdiff
++ cp -f bzgrep.1 bzmore.1 bzdiff.1 $(DESTDIR)$(mandir)/man1
++ chmod a+r $(DESTDIR)$(mandir)/man1/bzgrep.1
++ chmod a+r $(DESTDIR)$(mandir)/man1/bzmore.1
++ chmod a+r $(DESTDIR)$(mandir)/man1/bzdiff.1
++ echo ".so man1/bzgrep.1" > $(DESTDIR)$(mandir)/man1/bzegrep.1
++ echo ".so man1/bzgrep.1" > $(DESTDIR)$(mandir)/man1/bzfgrep.1
++ echo ".so man1/bzmore.1" > $(DESTDIR)$(mandir)/man1/bzless.1
++ echo ".so man1/bzdiff.1" > $(DESTDIR)$(mandir)/man1/bzcmp.1
+
+ distclean: clean
+ clean:
diff --git a/meta/packages/bzip2/bzip2_1.0.2.bb b/meta/packages/bzip2/bzip2_1.0.2.bb
new file mode 100644
index 0000000000..1e1cb8e539
--- /dev/null
+++ b/meta/packages/bzip2/bzip2_1.0.2.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Very high-quality data compression program."
+SECTION = "console/utils"
+PR = "r1"
+
+LICENSE = "bzip2"
+SRC_URI = "ftp://sources.redhat.com/pub/bzip2/v102/bzip2-${PV}.tar.gz \
+ file://installpaths.patch;patch=1"
+
+CFLAGS_append = " -fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
+
+do_compile () {
+ oe_runmake -f Makefile-libbz2_so
+ ln -sf libbz2.so.1.0.2 libbz2.so.1.0
+ ln -sf libbz2.so.1.0.2 libbz2.so.1
+ ln -sf libbz2.so.1.0.2 libbz2.so
+ oe_runmake libbz2.a bzip2 bzip2recover
+}
+
+do_stage () {
+ install -m 0644 bzlib.h ${STAGING_INCDIR}/
+ oe_libinstall -a -so libbz2 ${STAGING_LIBDIR}
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ oe_libinstall -a -so libbz2 ${D}${libdir}
+ mv ${D}${bindir}/bunzip2 ${D}${bindir}/bunzip2.${PN}
+ mv ${D}${bindir}/bzcat ${D}${bindir}/bzcat.${PN}
+}
+
+
+pkg_postinst_${PN} () {
+ update-alternatives --install ${bindir}/bunzip2 bunzip2 bunzip2.${PN} 100
+ update-alternatives --install ${bindir}/bzcat bzcat bzcat.${PN} 100
+}
+
+
+pkg_prerm_${PN} () {
+ update-alternatives --remove bunzip2 bunzip2.${PN}
+ update-alternatives --remove bzcat bzcat.${PN}
+}
diff --git a/meta/packages/cairo/cairo_1.0.0.bb b/meta/packages/cairo/cairo_1.0.0.bb
new file mode 100644
index 0000000000..10603e3f2f
--- /dev/null
+++ b/meta/packages/cairo/cairo_1.0.0.bb
@@ -0,0 +1,15 @@
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@debian.org>"
+DEPENDS = "libx11 libpng fontconfig libxrender"
+DESCRIPTION = "Cairo graphics library"
+LICENSE = "MPL LGPL"
+PR = "r1"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/meta/packages/cairo/cairo_1.0.4.bb b/meta/packages/cairo/cairo_1.0.4.bb
new file mode 100644
index 0000000000..61aefa91f5
--- /dev/null
+++ b/meta/packages/cairo/cairo_1.0.4.bb
@@ -0,0 +1,13 @@
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS = "libx11 libpng fontconfig libxrender"
+DESCRIPTION = "Cairo graphics library"
+LICENSE = "MPL LGPL"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+do_stage () {
+autotools_stage_all
+}
diff --git a/meta/packages/cairo/cairo_1.2.0.bb b/meta/packages/cairo/cairo_1.2.0.bb
new file mode 100644
index 0000000000..10603e3f2f
--- /dev/null
+++ b/meta/packages/cairo/cairo_1.2.0.bb
@@ -0,0 +1,15 @@
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@debian.org>"
+DEPENDS = "libx11 libpng fontconfig libxrender"
+DESCRIPTION = "Cairo graphics library"
+LICENSE = "MPL LGPL"
+PR = "r1"
+
+SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/meta/packages/chkhinge26/chkhinge26_svn.bb b/meta/packages/chkhinge26/chkhinge26_svn.bb
new file mode 100755
index 0000000000..5313401b50
--- /dev/null
+++ b/meta/packages/chkhinge26/chkhinge26_svn.bb
@@ -0,0 +1,20 @@
+LICENSE = "LGPL"
+SECTION = "x11"
+MAINTAINER = "Matthew Allum <mallum@openedhand.com>"
+DESCRIPTION = "Chkhinge26 fires off cmds on cXXXX Zs."
+PR = "r2"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=chkhinge26;proto=http \
+ file://hinge-handler"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ install -m 0755 ${WORKDIR}/hinge-handler ${D}/${bindir}/
+}
+
+FILES_${PN} += "${bindir}/hinge-handler"
+
+
diff --git a/meta/packages/chkhinge26/files/hinge-handler b/meta/packages/chkhinge26/files/hinge-handler
new file mode 100755
index 0000000000..5d5f62e305
--- /dev/null
+++ b/meta/packages/chkhinge26/files/hinge-handler
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# Quick handler for chkhinge26 and X.
+#
+
+killproc() { # kill the named process(es)
+ pid=`/bin/ps -e x |
+ /bin/grep $1 |
+ /bin/grep -v grep |
+ /bin/sed -e 's/^ *//' -e 's/ .*//'`
+ [ "$pid" != "" ] && kill $pid
+}
+
+export DISPLAY=:0
+
+if [ -z "$1" ]; then
+ echo "Usage: hinge-handler <state> ( 3 = closed, 0 = landscape, 2 = portrait )"
+ exit 1
+fi
+
+STATE=$1
+
+if [ $STATE = "3" ]; then
+ echo "sleeping"
+ apm -s
+ exit 0
+fi
+
+if [ $STATE = "0" ]; then
+ echo "lanscape"
+ killproc /usr/bin/mbinputmgr
+# urg mbinputmgr should kill below
+ killproc /usr/bin/matchbox-keyboard
+ killproc /usr/bin/matchbox-stroke
+ xrandr -o normal
+ exit 0
+fi
+
+if [ $STATE = "2" ]; then
+ echo "portrait"
+ xrandr -o left
+# just to be extra safe
+ sleep 1
+ /usr/bin/mbinputmgr &
+ exit 0
+fi
+
diff --git a/meta/packages/compositeext/compositeext_cvs.bb b/meta/packages/compositeext/compositeext_cvs.bb
new file mode 100644
index 0000000000..94160746e6
--- /dev/null
+++ b/meta/packages/compositeext/compositeext_cvs.bb
@@ -0,0 +1,20 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "BSD-X"
+SECTION = "libs"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xextensions fixesext"
+DESCRIPTION = "X Composite extension headers and specification"
+DEFAULT_PREFERENCE = "1"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=CompositeExt"
+S = "${WORKDIR}/CompositeExt"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/console-tools/console-tools-0.3.2/codepage.patch b/meta/packages/console-tools/console-tools-0.3.2/codepage.patch
new file mode 100644
index 0000000000..f6bd91e3e0
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/codepage.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- console-tools-0.3.2/contrib/codepage.c~codepage
++++ console-tools-0.3.2/contrib/codepage.c
+@@ -229,7 +229,7 @@
+ return 0;
+
+ fprintf(stderr, "\
+-Warning: CP format is a hack!\n
++Warning: CP format is a hack!\n\
+ The files produced may or may not be usable!\n");
+
+ sprintf(outfile, "%d.cp", CPEntryHeader.codepage);
diff --git a/meta/packages/console-tools/console-tools-0.3.2/compile.patch b/meta/packages/console-tools/console-tools-0.3.2/compile.patch
new file mode 100644
index 0000000000..29012fe884
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/compile.patch
@@ -0,0 +1,10 @@
+--- console-tools-0.3.2/kbdtools/showkey.c~compile 1999-08-25 17:20:08.000000000 -0400
++++ console-tools-0.3.2/kbdtools/showkey.c 2004-05-09 03:03:23.000000000 -0400
+@@ -264,7 +264,6 @@
+ break;
+ case cmd_keymap:
+ printf(")\n");
+- default:
+ }
+ }
+
diff --git a/meta/packages/console-tools/console-tools-0.3.2/config/codeset.m4 b/meta/packages/console-tools/console-tools-0.3.2/config/codeset.m4
new file mode 100644
index 0000000000..863c9cfa7e
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/config/codeset.m4
@@ -0,0 +1,17 @@
+#serial AM1
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
+ [AC_TRY_LINK([#include <langinfo.h>],
+ [char* cs = nl_langinfo(CODESET);],
+ am_cv_langinfo_codeset=yes,
+ am_cv_langinfo_codeset=no)
+ ])
+ if test $am_cv_langinfo_codeset = yes; then
+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+ fi
+])
diff --git a/meta/packages/console-tools/console-tools-0.3.2/config/gettext.m4 b/meta/packages/console-tools/console-tools-0.3.2/config/gettext.m4
new file mode 100644
index 0000000000..e4d524cf0f
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/config/gettext.m4
@@ -0,0 +1,370 @@
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU General Public
+# License or the GNU Library General Public License but which still want
+# to provide support for the GNU gettext functionality.
+# Please note that the actual code of the GNU gettext library is covered
+# by the GNU Library General Public License, and the rest of the GNU
+# gettext package package is covered by the GNU General Public License.
+# They are *not* in the public domain.
+
+# serial 10
+
+dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
+dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
+dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl depending on --{enable,disable}-{shared,static} and on the presence of
+dnl AM-DISABLE-SHARED). Otherwise, a static library
+dnl $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl implementations (in libc or libintl) without the ngettext() function
+dnl will be ignored.
+dnl LIBDIR is used to find the intl libraries. If empty,
+dnl the value `$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl and used.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl Catalog format: none
+dnl Catalog extension: none
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_WITH_NLS],
+ [AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT($USE_NLS)
+ AC_SUBST(USE_NLS)
+
+ BUILD_INCLUDED_LIBINTL=no
+ USE_INCLUDED_LIBINTL=no
+ INTLLIBS=
+
+ dnl If we use NLS figure out what method
+ if test "$USE_NLS" = "yes"; then
+ AC_DEFINE(ENABLE_NLS, 1,
+ [Define to 1 if translation of program messages to the user's native language
+ is requested.])
+ AC_MSG_CHECKING([whether included gettext is requested])
+ AC_ARG_WITH(included-gettext,
+ [ --with-included-gettext use the GNU gettext library included here],
+ nls_cv_force_use_gnu_gettext=$withval,
+ nls_cv_force_use_gnu_gettext=no)
+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+ dnl User does not insist on using GNU NLS library. Figure out what
+ dnl to use. If GNU gettext is available we use this. Else we have
+ dnl to fall back to GNU NLS library.
+ CATOBJEXT=NONE
+
+ dnl Add a version number to the cache macros.
+ define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
+ define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
+
+ AC_CHECK_HEADER(libintl.h,
+ [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
+ [AC_TRY_LINK([#include <libintl.h>
+extern int _nl_msg_cat_cntr;],
+ [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+ gt_cv_func_gnugettext_libc=yes,
+ gt_cv_func_gnugettext_libc=no)])
+
+ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+ AC_CACHE_CHECK([for GNU gettext in libintl],
+ gt_cv_func_gnugettext_libintl,
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -lintl $LIBICONV"
+ AC_TRY_LINK([#include <libintl.h>
+extern int _nl_msg_cat_cntr;],
+ [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+ gt_cv_func_gnugettext_libintl=yes,
+ gt_cv_func_gnugettext_libintl=no)
+ LIBS="$gt_save_LIBS"])
+ fi
+
+ dnl If an already present or preinstalled GNU gettext() is found,
+ dnl use it. But if this macro is used in GNU gettext, and GNU
+ dnl gettext is already preinstalled in libintl, we update this
+ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
+ if test "$gt_cv_func_gnugettext_libc" = "yes" \
+ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+ && test "$PACKAGE" != gettext; }; then
+ AC_DEFINE(HAVE_GETTEXT, 1,
+ [Define if the GNU gettext() function is already present or preinstalled.])
+
+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+ dnl If iconv() is in a separate libiconv library, then anyone
+ dnl linking with libintl{.a,.so} also needs to link with
+ dnl libiconv.
+ INTLLIBS="-lintl $LIBICONV"
+ fi
+
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $INTLLIBS"
+ AC_CHECK_FUNCS(dcgettext)
+ LIBS="$gt_save_LIBS"
+
+ dnl Search for GNU msgfmt in the PATH.
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+ dnl Search for GNU xgettext in the PATH.
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
+
+ CATOBJEXT=.gmo
+ fi
+ ])
+
+ if test "$CATOBJEXT" = "NONE"; then
+ dnl GNU gettext is not found in the C library.
+ dnl Fall back on GNU gettext library.
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions used to generate GNU NLS library.
+ INTLOBJS="\$(GETTOBJS)"
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
+ AC_SUBST(MSGFMT)
+ BUILD_INCLUDED_LIBINTL=yes
+ USE_INCLUDED_LIBINTL=yes
+ CATOBJEXT=.gmo
+ INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+ fi
+
+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+ dnl Test whether we really found GNU msgfmt.
+ if test "$GMSGFMT" != ":"; then
+ dnl If it is no GNU msgfmt we define it as : so that the
+ dnl Makefiles still can work.
+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found msgfmt program is not GNU msgfmt; ignore it])
+ GMSGFMT=":"
+ fi
+ fi
+
+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is no GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext program is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ fi
+
+ dnl We need to process the po/ directory.
+ POSUB=po
+ fi
+ AC_OUTPUT_COMMANDS(
+ [for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ fi
+ ;;
+ esac
+ done])
+
+
+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+ dnl to 'yes' because some of the testsuite requires it.
+ if test "$PACKAGE" = gettext; then
+ BUILD_INCLUDED_LIBINTL=yes
+ fi
+
+ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+ dnl because plural.y uses bison specific features. It requires at least
+ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+ dnl compile.
+ dnl bison is only needed for the maintainer (who touches plural.y). But in
+ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+ dnl the rule in general Makefile. Now, some people carelessly touch the
+ dnl files or have a broken "make" program, hence the plural.c rule will
+ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+ dnl present or too old.
+ AC_CHECK_PROGS([INTLBISON], [bison])
+ if test -z "$INTLBISON"; then
+ ac_verc_fail=yes
+ else
+ dnl Found it, now check the version.
+ AC_MSG_CHECKING([version of bison])
+changequote(<<,>>)dnl
+ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+changequote([,])dnl
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+ esac
+ AC_MSG_RESULT([$ac_prog_version])
+ fi
+ if test $ac_verc_fail = yes; then
+ INTLBISON=:
+ fi
+
+ dnl These rules are solely for the distribution goal. While doing this
+ dnl we only have to keep exactly one list of the available catalogs
+ dnl in configure.in.
+ for lang in $ALL_LINGUAS; do
+ GMOFILES="$GMOFILES $lang.gmo"
+ POFILES="$POFILES $lang.po"
+ done
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST(BUILD_INCLUDED_LIBINTL)
+ AC_SUBST(USE_INCLUDED_LIBINTL)
+ AC_SUBST(CATALOGS)
+ AC_SUBST(CATOBJEXT)
+ AC_SUBST(GMOFILES)
+ AC_SUBST(INTLLIBS)
+ AC_SUBST(INTLOBJS)
+ AC_SUBST(POFILES)
+ AC_SUBST(POSUB)
+
+ dnl For backward compatibility. Some configure.ins may be using this.
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ DATADIRNAME=share
+ AC_SUBST(DATADIRNAME)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INSTOBJEXT=.mo
+ AC_SUBST(INSTOBJEXT)
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ GENCAT=gencat
+ AC_SUBST(GENCAT)
+ ])
+
+dnl Usage: Just like AM_WITH_NLS, which see.
+AC_DEFUN([AM_GNU_GETTEXT],
+ [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_CC])dnl
+ AC_REQUIRE([AC_CANONICAL_HOST])dnl
+ AC_REQUIRE([AC_PROG_RANLIB])dnl
+ AC_REQUIRE([AC_ISC_POSIX])dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_REQUIRE([AC_C_CONST])dnl
+ AC_REQUIRE([AC_C_INLINE])dnl
+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+ AC_REQUIRE([AC_FUNC_MMAP])dnl
+ AC_REQUIRE([jm_GLIBC21])dnl
+
+ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+ AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
+getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
+strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
+
+ AM_ICONV
+ AM_LANGINFO_CODESET
+ AM_LC_MESSAGES
+ AM_WITH_NLS([$1],[$2],[$3])
+
+ if test "x$CATOBJEXT" != "x"; then
+ if test "x$ALL_LINGUAS" = "x"; then
+ LINGUAS=
+ else
+ AC_MSG_CHECKING(for catalogs to be installed)
+ NEW_LINGUAS=
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+ fi
+ done
+ LINGUAS=$NEW_LINGUAS
+ AC_MSG_RESULT($LINGUAS)
+ fi
+
+ dnl Construct list of names of catalog files to be constructed.
+ if test -n "$LINGUAS"; then
+ for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+ fi
+ fi
+
+ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
+ dnl Try to locate is.
+ MKINSTALLDIRS=
+ if test -n "$ac_aux_dir"; then
+ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+ fi
+ if test -z "$MKINSTALLDIRS"; then
+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+ fi
+ AC_SUBST(MKINSTALLDIRS)
+
+ dnl Enable libtool support if the surrounding package wishes it.
+ INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
+ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
+ ])
diff --git a/meta/packages/console-tools/console-tools-0.3.2/config/glibc21.m4 b/meta/packages/console-tools/console-tools-0.3.2/config/glibc21.m4
new file mode 100644
index 0000000000..5b88ef231c
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/config/glibc21.m4
@@ -0,0 +1,26 @@
+#serial 2
+
+# Test for the GNU C Library, version 2.1 or newer.
+# From Bruno Haible.
+
+AC_DEFUN([jm_GLIBC21],
+ [
+ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
+ ac_cv_gnu_library_2_1,
+ [AC_EGREP_CPP([Lucky GNU user],
+ [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+ Lucky GNU user
+ #endif
+#endif
+ ],
+ ac_cv_gnu_library_2_1=yes,
+ ac_cv_gnu_library_2_1=no)
+ ]
+ )
+ AC_SUBST(GLIBC21)
+ GLIBC21="$ac_cv_gnu_library_2_1"
+ ]
+)
diff --git a/meta/packages/console-tools/console-tools-0.3.2/config/iconv.m4 b/meta/packages/console-tools/console-tools-0.3.2/config/iconv.m4
new file mode 100644
index 0000000000..17237344af
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/config/iconv.m4
@@ -0,0 +1,69 @@
+#serial AM2
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV],
+[
+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+ dnl those with the standalone portable GNU libiconv installed).
+
+ AC_ARG_WITH([libiconv-prefix],
+[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
+ for dir in `echo "$withval" | tr : ' '`; do
+ if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
+ if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
+ done
+ ])
+
+ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ am_cv_func_iconv=yes)
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS -liconv"
+ AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes)
+ LIBS="$am_save_LIBS"
+ fi
+ ])
+ if test "$am_cv_func_iconv" = yes; then
+ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+ AC_MSG_CHECKING([for iconv declaration])
+ AC_CACHE_VAL(am_cv_proto_iconv, [
+ AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ AC_MSG_RESULT([$]{ac_t:-
+ }[$]am_cv_proto_iconv)
+ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
+ [Define as const if the declaration of iconv() needs const.])
+ fi
+ LIBICONV=
+ if test "$am_cv_lib_iconv" = yes; then
+ LIBICONV="-liconv"
+ fi
+ AC_SUBST(LIBICONV)
+])
diff --git a/meta/packages/console-tools/console-tools-0.3.2/config/lcmessage.m4 b/meta/packages/console-tools/console-tools-0.3.2/config/lcmessage.m4
new file mode 100644
index 0000000000..18d47a94f7
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/config/lcmessage.m4
@@ -0,0 +1,24 @@
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU General Public
+# License or the GNU Library General Public License but which still want
+# to provide support for the GNU gettext functionality.
+# Please note that the actual code of the GNU gettext library is covered
+# by the GNU Library General Public License, and the rest of the GNU
+# gettext package package is covered by the GNU General Public License.
+# They are *not* in the public domain.
+
+# serial 2
+
+AC_DEFUN([AM_LC_MESSAGES],
+ [if test $ac_cv_header_locale_h = yes; then
+ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+ if test $am_cv_val_LC_MESSAGES = yes; then
+ AC_DEFINE(HAVE_LC_MESSAGES, 1,
+ [Define if your <locale.h> file defines LC_MESSAGES.])
+ fi
+ fi])
diff --git a/meta/packages/console-tools/console-tools-0.3.2/config/progtest.m4 b/meta/packages/console-tools/console-tools-0.3.2/config/progtest.m4
new file mode 100644
index 0000000000..35dc3da1f7
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/config/progtest.m4
@@ -0,0 +1,51 @@
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper@cygnus.com>, 1996.
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU General Public
+# License or the GNU Library General Public License but which still want
+# to provide support for the GNU gettext functionality.
+# Please note that the actual code of the GNU gettext library is covered
+# by the GNU Library General Public License, and the rest of the GNU
+# gettext package package is covered by the GNU General Public License.
+# They are *not* in the public domain.
+
+# serial 2
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ /*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word"
+ break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
diff --git a/meta/packages/console-tools/console-tools-0.3.2/configure.patch b/meta/packages/console-tools/console-tools-0.3.2/configure.patch
new file mode 100644
index 0000000000..f5b75327e9
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/configure.patch
@@ -0,0 +1,46 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- console-tools-0.3.2/configure.in~configure
++++ console-tools-0.3.2/configure.in
+@@ -2,13 +2,14 @@
+ dnl Process this file with autoconf to produce a configure script.
+
+ # Initialize
+-AC_INIT(kbdtools/loadkeys.y)
++AC_INIT
++AC_CONFIG_SRCDIR([kbdtools/loadkeys.y])
+
+ define(ct_unicodedata_default,/usr/share/unidata/UnicodeData-2.txt)
+ ct_localdatadir_default=/usr/local/share # iff --enable-localdatadir without specific dir
+
+ #AC_CONFIG_AUX_DIR(autoconf)
+-AC_CANONICAL_SYSTEM
++AC_CANONICAL_TARGET([])
+ AM_INIT_AUTOMAKE(console-tools, 0.3.2)
+
+ # Defaults
+@@ -25,7 +26,7 @@
+ # i18n stuff
+ ALL_LINGUAS="cs de ru ga fr"
+ AM_GNU_GETTEXT
+-AC_OUTPUT_COMMANDS([sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
++AC_CONFIG_COMMANDS([default-1],[[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile]],[[]])
+
+ AC_DEFINE_UNQUOTED(LOCALEDIR, "/usr/share/locale")
+
+@@ -172,10 +173,11 @@
+ AC_SUBST(CHARMAPDIR)
+
+ # Output
+-AC_OUTPUT([Makefile lib/Makefile lib/console/Makefile lib/cfont/Makefile
++AC_CONFIG_FILES([Makefile lib/Makefile lib/console/Makefile lib/cfont/Makefile
+ lib/ctutils/Makefile lib/ctlocal/Makefile lib/generic/Makefile
+ fontfiletools/Makefile vttools/Makefile
+ kbdtools/Makefile screenfonttools/Makefile contrib/Makefile
+ include/Makefile include/lct/Makefile compat/Makefile
+ doc/Makefile doc/man/Makefile examples/Makefile
+ po/Makefile.in intl/Makefile])
++AC_OUTPUT
diff --git a/meta/packages/console-tools/console-tools-0.3.2/kbdrate.patch b/meta/packages/console-tools/console-tools-0.3.2/kbdrate.patch
new file mode 100644
index 0000000000..47d7ea54b9
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/kbdrate.patch
@@ -0,0 +1,73 @@
+Patch from Matthias Goebl <oe@m.goebl.net>
+Added via OE bugtracker: bug #478
+
+--- console-tools-0.3.2/kbdtools/kbd_mode.c.orig
++++ console-tools-0.3.2/kbdtools/kbd_mode.c
+@@ -29,11 +29,16 @@
+ OPT("-u --unicode ", _("UTF-8 mode (UNICODE)"));
+ OPT("-s --scancode ", _("scancode mode (RAW)"));
+ OPT(" --mode={8bit,keycode,unicode,scancode} ", _("set mode"));
++ OPT("-r --rate=RATE ", _("set repeat rate (default: 33)"));
++ OPT("-d --delay=DELAY ", _("set repeat delay (default: 250)"));
+
+ OPT("-h --help ", HELPDESC);
+ OPT("-V --version ", VERSIONDESC);
+ }
+
++int rate=-1;
++int delay=-1;
++
+ static int parse_cmdline (int argc, char *argv[])
+ {
+ int mode = -1;
+@@ -46,11 +51,13 @@
+ { "mode" , required_argument, NULL, 'm' },
+ { "scancode" , no_argument, NULL, 's' },
+ { "unicode" , no_argument, NULL, 'u' },
++ { "rate" , required_argument, NULL, 'r' },
++ { "delay" , required_argument, NULL, 'd' },
+ { NULL, 0, NULL, 0 }
+ };
+ int c;
+
+- while ( (c = getopt_long (argc, argv, "Vhaksu", long_opts, NULL)) != EOF)
++ while ( (c = getopt_long (argc, argv, "Vhaksur:d:", long_opts, NULL)) != EOF)
+ switch (c) {
+ case 'h':
+ usage ();
+@@ -58,6 +65,14 @@
+ case 'V':
+ version ();
+ exit(0);
++ case 'r':
++ rate = atoi(optarg);
++ mode = -2;
++ break;
++ case 'd':
++ delay = atoi(optarg);
++ mode = -2;
++ break;
+ case 'a':
+ mode = K_XLATE;
+ break;
+@@ -129,6 +144,20 @@
+ exit(0);
+ }
+
++ if ( rate != -1 || delay != -1 )
++ {
++ struct kbd_repeat kbd_rep;
++ kbd_rep.delay = delay;
++ kbd_rep.period = rate;
++ if (ioctl(fd, KDKBDREP, &kbd_rep))
++ {
++ fprintf(stderr, progname);
++ perror(_(": error setting keyboard repeat mode\n"));
++ exit(1);
++ }
++ if(mode==-2) exit(0);
++ }
++
+ if (ioctl(fd, KDSKBMODE, mode))
+ {
+ fprintf(stderr, progname);
diff --git a/meta/packages/console-tools/console-tools-0.3.2/uclibc-fileno.patch b/meta/packages/console-tools/console-tools-0.3.2/uclibc-fileno.patch
new file mode 100644
index 0000000000..c73d8a3d9e
--- /dev/null
+++ b/meta/packages/console-tools/console-tools-0.3.2/uclibc-fileno.patch
@@ -0,0 +1,47 @@
+Fixing the locale issues isn't enough, console-tools also does a couple of
+other pretty stupid things (like FILE *f; f->_fileno instead of fileno(f)),
+
+--- console-tools-0.3.2/lib/cfont/fontstruct.c.ark 2005-05-22 19:12:38.000000000 +0000
++++ console-tools-0.3.2/lib/cfont/fontstruct.c 2005-05-22 19:13:23.000000000 +0000
+@@ -50,8 +50,7 @@
+ * get filesize
+ */
+
+- /* FIXME: should not use _fileno ! */
+- if (fstat(fontfile->_fileno, &stbuf) == -1)
++ if (fstat(fileno(fontfile), &stbuf) == -1)
+ goto rsf_return_error;
+
+ if (S_ISREG(stbuf.st_mode))
+@@ -211,8 +210,7 @@
+ * get filesize
+ */
+
+- /* FIXME: should not use _fileno ! */
+- if (fstat(fontfile->_fileno, &stbuf) == -1)
++ if (fstat(fileno(fontfile), &stbuf) == -1)
+ goto rfg_return_error;
+
+ if (S_ISREG(stbuf.st_mode))
+--- console-tools-0.3.2/lib/console/acm.c.ark 2005-05-22 19:17:15.000000000 +0000
++++ console-tools-0.3.2/lib/console/acm.c 2005-05-22 19:17:23.000000000 +0000
+@@ -30,7 +30,7 @@
+ lct_boolean parse_failed = False;
+ lct_boolean is_unicode;
+
+- if (fstat(fp->_fileno, &stbuf))
++ if (fstat(fileno(fp), &stbuf))
+ perror(_("Cannot stat ACM file")), exit(1);
+
+ /* first try a wg15-charmap (glibc) file format */
+--- console-tools-0.3.2/include/lct/local.h.ark 2005-05-22 19:08:54.000000000 +0000
++++ console-tools-0.3.2/include/lct/local.h 2005-05-22 19:09:12.000000000 +0000
+@@ -8,7 +8,7 @@
+ #include <locale.h>
+
+
+-#ifdef HAVE_LOCALE_H
++#if defined(HAVE_LOCALE_H) && defined(HAVE_LIBINTL_H)
+ # include <libintl.h>
+ # define _(String) gettext (String)
+ # ifdef gettext_noop
diff --git a/meta/packages/console-tools/console-tools_0.3.2.bb b/meta/packages/console-tools/console-tools_0.3.2.bb
new file mode 100644
index 0000000000..01c2e42a31
--- /dev/null
+++ b/meta/packages/console-tools/console-tools_0.3.2.bb
@@ -0,0 +1,48 @@
+SECTION = "base"
+LICENSE = "GPL"
+DESCRIPTION = "Allows you to set-up and manipulate the Linux console."
+PR = "r2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lct/console-tools-${PV}.tar.gz \
+ file://codepage.patch;patch=1 \
+ file://configure.patch;patch=1 \
+ file://compile.patch;patch=1 \
+ file://kbdrate.patch;patch=1 \
+ file://uclibc-fileno.patch;patch=1 \
+ file://config/*.m4"
+
+export SUBDIRS = "fontfiletools vttools kbdtools screenfonttools contrib \
+ examples po intl compat"
+
+acpaths = "-I config"
+do_configure_prepend () {
+ mkdir -p config
+ cp ${WORKDIR}/config/*.m4 config/
+}
+
+do_compile () {
+ oe_runmake -C lib
+ oe_runmake 'SUBDIRS=${SUBDIRS}'
+}
+
+inherit autotools
+
+do_install () {
+ autotools_do_install
+ mv ${D}${bindir}/chvt ${D}${bindir}/chvt.${PN}
+ mv ${D}${bindir}/deallocvt ${D}${bindir}/deallocvt.${PN}
+ mv ${D}${bindir}/openvt ${D}${bindir}/openvt.${PN}
+}
+
+pkg_postinst_${PN} () {
+ update-alternatives --install ${bindir}/chvt chvt chvt.${PN} 100
+ update-alternatives --install ${bindir}/deallocvt deallocvt deallocvt.${PN} 100
+ update-alternatives --install ${bindir}/openvt openvt openvt.${PN} 100
+}
+
+pkg_prerm_${PN} () {
+ update-alternatives --remove chvt chvt.${PN}
+ update-alternatives --remove deallocvt deallocvt.${PN}
+ update-alternatives --remove openvt openvt.${PN}
+}
+
diff --git a/meta/packages/contacts/contacts_0.1.bb b/meta/packages/contacts/contacts_0.1.bb
new file mode 100755
index 0000000000..cf025259f2
--- /dev/null
+++ b/meta/packages/contacts/contacts_0.1.bb
@@ -0,0 +1,24 @@
+LICENSE = "LGPL"
+SECTION = "x11"
+DEPENDS = "glib-2.0 gtk+ libglade eds-dbus"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DESCRIPTION = "Contacts is an address-book application."
+PR = "r1"
+
+SRC_URI = "svn://svn.o-hand.com/repos/${PN}/tags;module=release-0.1;proto=http \
+ file://stock_contact.png \
+ file://stock_person.png"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/release-0.1"
+
+do_install_append () {
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_contact.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_person.png ${D}/${datadir}/pixmaps
+}
+
+FILES_${PN} += "${datadir}/pixmaps/stock_contact.png \
+ ${datadir}/pixmaps/stock_person.png"
+
diff --git a/meta/packages/contacts/contacts_svn.bb b/meta/packages/contacts/contacts_svn.bb
new file mode 100755
index 0000000000..cd4f6a7836
--- /dev/null
+++ b/meta/packages/contacts/contacts_svn.bb
@@ -0,0 +1,30 @@
+LICENSE = "LGPL"
+SECTION = "x11"
+DEPENDS = "glib-2.0 gtk+ libglade eds-dbus gnome-vfs"
+RDEPENDS = "gnome-vfs-plugin-file"
+RRECOMMENDS = "gnome-vfs-plugin-http"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DESCRIPTION = "Contacts is an address-book application."
+PR = "r5"
+
+PV = "0.1+svn${SRCDATE}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \
+ file://stock_contact.png \
+ file://stock_person.png"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/trunk"
+
+EXTRA_OECONF = "--enable-gnome-vfs"
+
+do_install_append () {
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_contact.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/stock_person.png ${D}/${datadir}/pixmaps
+}
+
+FILES_${PN} += "${datadir}/pixmaps/stock_contact.png \
+ ${datadir}/pixmaps/stock_person.png"
+
diff --git a/meta/packages/contacts/files/stock_contact.png b/meta/packages/contacts/files/stock_contact.png
new file mode 100644
index 0000000000..123b4485ac
--- /dev/null
+++ b/meta/packages/contacts/files/stock_contact.png
Binary files differ
diff --git a/meta/packages/contacts/files/stock_person.png b/meta/packages/contacts/files/stock_person.png
new file mode 100644
index 0000000000..2b1328b4e2
--- /dev/null
+++ b/meta/packages/contacts/files/stock_person.png
Binary files differ
diff --git a/meta/packages/coreutils/coreutils-5.1.3/install-cross.patch b/meta/packages/coreutils/coreutils-5.1.3/install-cross.patch
new file mode 100644
index 0000000000..98ba3d916c
--- /dev/null
+++ b/meta/packages/coreutils/coreutils-5.1.3/install-cross.patch
@@ -0,0 +1,27 @@
+--- src/install.c~ 2003-08-09 18:46:45.000000000 +0100
++++ src/install.c 2004-03-27 18:38:45.000000000 +0000
+@@ -516,7 +516,14 @@
+ strip (const char *path)
+ {
+ int status;
+- pid_t pid = fork ();
++ pid_t pid;
++ char *strip_name;
++
++ strip_name = getenv ("STRIP");
++ if (strip_name == NULL)
++ strip_name = "strip";
++
++ pid = fork ();
+
+ switch (pid)
+ {
+@@ -524,7 +531,7 @@
+ error (EXIT_FAILURE, errno, _("fork system call failed"));
+ break;
+ case 0: /* Child. */
+- execlp ("strip", "strip", path, NULL);
++ execlp (strip_name, "strip", path, NULL);
+ error (EXIT_FAILURE, errno, _("cannot run strip"));
+ break;
+ default: /* Parent. */
diff --git a/meta/packages/coreutils/coreutils-5.1.3/man.patch b/meta/packages/coreutils/coreutils-5.1.3/man.patch
new file mode 100644
index 0000000000..b067c380e2
--- /dev/null
+++ b/meta/packages/coreutils/coreutils-5.1.3/man.patch
@@ -0,0 +1,42 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- coreutils-5.1.3/configure.ac~man 2004-01-25 16:57:15.000000000 -0600
++++ coreutils-5.1.3/configure.ac 2004-06-29 14:22:10.000000000 -0500
+@@ -232,6 +232,20 @@
+ AM_GNU_GETTEXT([external], [need-ngettext])
+ AM_GNU_GETTEXT_VERSION(0.13.1)
+
++AC_MSG_CHECKING([whether to build man pages])
++AC_ARG_WITH(manpages,
++ AS_HELP_STRING([--with-manpages],
++ [Enable building of manpages (default=yes)]),
++ [cu_cv_build_manpages=$enableval],
++ [cu_cv_build_manpages=yes])
++# help2man doesn't work when crosscompiling, as it needs to run the
++# binary that was built.
++if test x"$cross_compiling" = x"yes"; then
++ cu_cv_build_manpages=no
++fi
++AC_MSG_RESULT($cu_cv_build_manpages)
++AM_CONDITIONAL(ENABLE_MANPAGES, test x"$cu_cv_build_manpages" = x"yes")
++
+ AC_CONFIG_FILES(
+ Makefile
+ doc/Makefile
+--- coreutils-5.1.3/Makefile.am~man 2003-11-09 14:23:02.000000000 -0600
++++ coreutils-5.1.3/Makefile.am 2004-06-29 14:18:14.000000000 -0500
+@@ -1,6 +1,11 @@
+ ## Process this file with automake to produce Makefile.in -*-Makefile-*-
+
++if ENABLE_MANPAGES
+ SUBDIRS = lib src doc man m4 po tests
++else
++SUBDIRS = lib src doc m4 po tests
++endif
++
+ EXTRA_DIST = Makefile.cfg Makefile.maint GNUmakefile \
+ .kludge-stamp .prev-version THANKS-to-translators THANKStt.in \
+ .x-sc_space_tab .x-sc_sun_os_names \
diff --git a/meta/packages/coreutils/coreutils-native_5.1.3.bb b/meta/packages/coreutils/coreutils-native_5.1.3.bb
new file mode 100644
index 0000000000..74b39541fa
--- /dev/null
+++ b/meta/packages/coreutils/coreutils-native_5.1.3.bb
@@ -0,0 +1,7 @@
+SECTION = "base"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/coreutils-${PV}"
+S = "${WORKDIR}/coreutils-${PV}"
+
+include coreutils_${PV}.bb
+inherit native
diff --git a/meta/packages/coreutils/coreutils_5.1.3.bb b/meta/packages/coreutils/coreutils_5.1.3.bb
new file mode 100644
index 0000000000..31af80907d
--- /dev/null
+++ b/meta/packages/coreutils/coreutils_5.1.3.bb
@@ -0,0 +1,85 @@
+LICENSE = "GPL"
+SECTION = "base"
+DESCRIPTION = "A collection of core GNU utilities."
+RREPLACES = "textutils shellutils fileutils"
+RPROVIDES = "textutils shellutils fileutils"
+PR = "r7"
+
+SRC_URI = "ftp://alpha.gnu.org/gnu/coreutils/coreutils-${PV}.tar.bz2 \
+ file://install-cross.patch;patch=1;pnum=0 \
+ file://man.patch;patch=1"
+
+inherit autotools
+
+# [ gets a special treatment and is not included in this
+bindir_progs = "basename cksum comm csplit cut dir dircolors dirname du \
+ env expand expr factor fmt fold groups head hostid id install \
+ join link logname md5sum mkfifo nice nl nohup od paste pathchk \
+ pinky pr printenv printf ptx readlink seq sha1sum shred sort \
+ split stat sum tac tail tee test tr tsort tty unexpand uniq \
+ unlink users vdir wc who whoami yes \
+ "
+
+# hostname gets a special treatment and is not included in this
+base_bindir_progs = "cat chgrp chmod chown cp date dd echo false kill \
+ ln ls mkdir mknod mv pwd rm rmdir sleep stty sync touch \
+ true uname \
+ "
+
+sbindir_progs= "chroot"
+
+do_install () {
+ autotools_do_install
+
+ # Renaming the utilities that should go in /usr/bin
+ for i in ${bindir_progs}; do mv ${D}${bindir}/$i ${D}${bindir}/$i.${PN}; done
+
+ # Renaming and moving the utilities that should go in /bin (FHS)
+ install -d ${D}${base_bindir}
+ for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i.${PN}; done
+
+ # Renaming and moving the utilities that should go in /usr/sbin (FHS)
+ install -d ${D}${sbindir}
+ for i in ${sbindir_progs}; do mv ${D}${bindir}/$i ${D}${sbindir}/$i.${PN}; done
+
+ # [ requires special handling because [.coreutils will cause the sed stuff
+ # in update-alternatives to fail, therefore use lbracket - the name used
+ # for the actual source file.
+ mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${PN}
+ # hostname and uptime separated. busybox's versions are preferred
+ mv ${D}${bindir}/hostname ${D}${base_bindir}/hostname.${PN}
+ mv ${D}${bindir}/uptime ${D}${bindir}/uptime.${PN}
+
+}
+
+pkg_postinst_${PN} () {
+ # The utilities in /usr/bin
+ for i in ${bindir_progs}; do update-alternatives --install ${bindir}/$i $i $i.${PN} 100; done
+
+ # The utilities in /bin
+ for i in ${base_bindir_progs}; do update-alternatives --install ${base_bindir}/$i $i $i.${PN} 100; done
+
+ # The utilities in /usr/sbin
+ for i in ${sbindir_progs}; do update-alternatives --install ${sbindir}/$i $i $i.${PN} 100; done
+
+ # Special cases. uptime and hostname is broken, prefer busybox's version. [ needs to be treated separately.
+ update-alternatives --install ${bindir}/uptime uptime uptime.${PN} 10
+ update-alternatives --install ${base_bindir}/hostname hostname hostname.${PN} 10
+ update-alternatives --install '${bindir}/[' '[' 'lbracket.${PN}' 100
+}
+
+pkg_prerm_${PN} () {
+ # The utilities in /usr/bin
+ for i in ${bindir_progs}; do update-alternatives --remove $i $i.${PN}; done
+
+ # The utilities in /bin
+ for i in ${base_bindir_progs}; do update-alternatives --remove $i $i.${PN}; done
+
+ # The utilities in /usr/sbin
+ for i in ${sbindir_progs}; do update-alternatives --remove $i $i.${PN}; done
+
+ # The special cases
+ update-alternatives --remove hostname hostname.${PN}
+ update-alternatives --remove uptime uptime.${PN}
+ update-alternatives --remove '[' 'lbracket.${PN}'
+}
diff --git a/meta/packages/curl/curl-native_7.14.0.bb b/meta/packages/curl/curl-native_7.14.0.bb
new file mode 100644
index 0000000000..59af4ef32e
--- /dev/null
+++ b/meta/packages/curl/curl-native_7.14.0.bb
@@ -0,0 +1,13 @@
+include curl_${PV}.bb
+inherit native
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/curl
+ install -m 0644 ${S}/include/curl/*.h ${STAGING_INCDIR}/curl/
+ oe_libinstall -so -a -C lib libcurl ${STAGING_LIBDIR}
+}
+
+do_install() {
+ :
+}
+
diff --git a/meta/packages/curl/curl_7.14.0.bb b/meta/packages/curl/curl_7.14.0.bb
new file mode 100644
index 0000000000..b163e955ff
--- /dev/null
+++ b/meta/packages/curl/curl_7.14.0.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Command line tool and library for client-side URL transfers."
+LICENSE = "MIT"
+DEPENDS = "zlib"
+SECTION = "console/network"
+RPROVIDES_lib${PN} += "libcurl"
+
+SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2"
+S = "${WORKDIR}/curl-${PV}"
+
+inherit autotools pkgconfig binconfig
+
+EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \
+ --without-ssl \
+ --with-random=/dev/urandom \
+ --without-idn \
+ --enable-http \
+ --enable-file"
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/curl
+ install -m 0644 ${S}/include/curl/*.h ${STAGING_INCDIR}/curl/
+ oe_libinstall -so -a -C lib libcurl ${STAGING_LIBDIR}
+}
+
+PACKAGES = "curl curl-doc libcurl libcurl-dev libcurl-doc"
+FILES_${PN} = "${bindir}/curl"
+FILES_${PN}-doc = "${mandir}/man1/curl.1"
+FILES_lib${PN} = "${libdir}/lib*.so.*"
+FILES_lib${PN}-dev = "${includedir} \
+ ${libdir}/lib*.so \
+ ${libdir}/lib*.a \
+ ${libdir}/lib*.la \
+ ${libdir}/pkgconfig \
+ ${datadir}/aclocal \
+ ${bindir}/*-config"
+FILES_lib${PN}-doc = "${mandir}/man3 \
+ ${mandir}/man1/curl-config.1"
+
diff --git a/meta/packages/damageext/damageext-1.0/autofoo.patch b/meta/packages/damageext/damageext-1.0/autofoo.patch
new file mode 100644
index 0000000000..e36fb1d74b
--- /dev/null
+++ b/meta/packages/damageext/damageext-1.0/autofoo.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- damageext-1.0/configure.ac~autofoo 2003-11-25 22:47:58.000000000 -0500
++++ damageext-1.0/configure.ac 2005-01-16 11:47:08.123775952 -0500
+@@ -25,9 +25,9 @@
+
+ AC_PREREQ([2.57])
+ AC_INIT([damageext], [1.0], [keithp@keithp.com], damageext)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+-AC_CONFIG_AUX_DIR(.)
+
+ PKG_CHECK_MODULES(FIXESEXT, fixesext)
+
diff --git a/meta/packages/damageext/damageext_cvs.bb b/meta/packages/damageext/damageext_cvs.bb
new file mode 100644
index 0000000000..86a6032b29
--- /dev/null
+++ b/meta/packages/damageext/damageext_cvs.bb
@@ -0,0 +1,20 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "MIT-X"
+SECTION = "libs"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xextensions fixesext"
+DESCRIPTION = "X Damage extension headers and specification"
+PR = "r1"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=DamageExt"
+S = "${WORKDIR}/DamageExt"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/dates/dates_0.1.bb b/meta/packages/dates/dates_0.1.bb
new file mode 100755
index 0000000000..b13fb01905
--- /dev/null
+++ b/meta/packages/dates/dates_0.1.bb
@@ -0,0 +1,19 @@
+LICENSE = "LGPL"
+SECTION = "x11"
+DEPENDS = "glib-2.0 gtk+ libglade eds-dbus"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DESCRIPTION = "Dates is a calendar application."
+
+SRC_URI = "http://projects.o-hand.com/sources/dates/dates-0.1.tar.gz"
+
+inherit autotools pkgconfig gtk-icon-cache
+
+# EXTRA_OECONF = "--disable-debug"
+
+FILES_${PN} += "${datadir}/pixmaps/dates.png"
+
+do_install_append () {
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/dates.png ${D}/${datadir}/pixmaps/
+}
+
diff --git a/meta/packages/dates/dates_svn.bb b/meta/packages/dates/dates_svn.bb
new file mode 100755
index 0000000000..408ba5da51
--- /dev/null
+++ b/meta/packages/dates/dates_svn.bb
@@ -0,0 +1,19 @@
+LICENSE = "LGPL"
+SECTION = "x11"
+DEPENDS = "glib-2.0 gtk+ libglade eds-dbus"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DESCRIPTION = "Dates is a calendar application."
+
+PV = "0.1+svn${SRCDATE}"
+S = "${WORKDIR}/trunk"
+
+SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http"
+
+inherit autotools pkgconfig gtk-icon-cache
+
+FILES_${PN} += "${datadir}/pixmaps/dates.png"
+
+do_install_append () {
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/dates.png ${D}/${datadir}/pixmaps/
+}
diff --git a/meta/packages/db/db-native_4.2.52.bb b/meta/packages/db/db-native_4.2.52.bb
new file mode 100644
index 0000000000..5aaeb4329e
--- /dev/null
+++ b/meta/packages/db/db-native_4.2.52.bb
@@ -0,0 +1,13 @@
+# This wrapper builds a native version of the SleepyCat
+# Berkeley DB for those packages which need it (e.g.
+# perl).
+SECTION = "libs"
+VIRTUAL_NAME = "virtual/db-native"
+CONFLICTS = "db3-native"
+#PR tracks the non-native package
+
+inherit native
+
+include db_${PV}.bb
+
+PACKAGES = ""
diff --git a/meta/packages/db/db_4.1.25.bb b/meta/packages/db/db_4.1.25.bb
new file mode 100644
index 0000000000..381c69a616
--- /dev/null
+++ b/meta/packages/db/db_4.1.25.bb
@@ -0,0 +1,87 @@
+# Version 4 of the Berkeley DB from Sleepycat
+#
+# At present this package only installs the DB code
+# itself (shared libraries, .a in the dev package),
+# documentation and headers.
+#
+# The headers have the same names as those as v3
+# of the DB, only one version can be used *for dev*
+# at once - DB3 and DB4 can both be installed on the
+# same system at the same time if really necessary.
+SECTION = "libs"
+DESCRIPTION = "Berkeley DB v4."
+HOMEPAGE = "http://www.sleepycat.com"
+LICENSE = "BSD Sleepycat"
+PR = "r2"
+
+SRC_URI = "http://downloads.sleepycat.com/${P}.tar.gz"
+
+inherit autotools
+
+# At present virtual/db is only in the db4 file, but it
+# should probably be in the other candidates (db3, gdbm)
+# because it doesn't make any sense to have multiple
+# relational databases on an embedded machine...
+PROVIDES += " db4 virtual/db"
+
+# bitbake isn't quite clever enough to deal with sleepycat,
+# the distribution sits in the expected directory, but all
+# the builds must occur from a sub-directory. The following
+# persuades bitbake to go to the right place
+S = "${WORKDIR}/${P}/build_unix"
+
+# The executables go in a separate package - typically there
+# is no need to install these unless doing real database
+# management on the system.
+PACKAGES += " ${PN}-bin"
+
+# Package contents
+FILES_${PN} = "${libdir}/libdb*so*"
+FILES_${PN}-bin = "${bindir}"
+# The dev package has the .so link (as in db3) and the .a's -
+# it is therefore incompatible (cannot be installed at the
+# same time) as the db3 package
+FILES_${PN}-dev = "${includedir} ${libdir}"
+
+#configuration - set in local.conf to override
+DB4_CONFIG ?= "--enable-o_direct --enable-smallbuild"
+# Override the MUTEX setting here, the POSIX library is
+# the default - "POSIX/pthreads/library".
+# Don't ignore the nice SWP instruction on the ARM:
+EXTRA_OECONF = "${DB4_CONFIG}"
+# These enable the ARM assembler mutex code, this won't
+# work with thumb compilation...
+ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
+ARM_MUTEX_thumb = ""
+# NOTE: only tested on nslu2, should probably be _armeb
+EXTRA_OECONF_nslu2 = "${DB4_CONFIG} ${ARM_MUTEX}"
+
+# Cancel the site stuff - it's set for db3 and destroys the
+# configure.
+CONFIG_SITE = ""
+do_configure() {
+ echo '#!/bin/sh' >${S}/configure
+ echo 'rm ${S}/configure' >>${S}/configure
+ echo 'exec ../dist/configure "$@"' >>${S}/configure
+ chmod a+x ${S}/configure
+ oe_runconf
+}
+
+do_stage() {
+ oe_runmake DESTDIR="${STAGING_DIR}/${BUILD_SYS}" includedir="${STAGING_INCDIR}" install_include
+ oe_libinstall -so -C .libs libdb-4.1 ${STAGING_LIBDIR}
+ ln -s ${STAGING_LIBDIR}/libdb-4.1.so ${STAGING_LIBDIR}/libdb-4.so
+ ln -s ${STAGING_LIBDIR}/libdb-4.so ${STAGING_LIBDIR}/libdb.so
+}
+
+do_install() {
+ oe_runmake includedir="${D}${includedir}" libdir="${D}${libdir}" bindir="${D}${bindir}" docdir="${D}${docdir}" install
+
+ # The docs end up in /usr/docs - not right.
+ if test -d "${D}/${prefix}/docs"
+ then
+ mkdir -p "${D}/${datadir}"
+ test ! -d "${D}/${docdir}" || rmdir "${D}/${docdir}"
+ mv "${D}/${prefix}/docs" "${D}/${docdir}"
+ fi
+}
diff --git a/meta/packages/db/db_4.2.52.bb b/meta/packages/db/db_4.2.52.bb
new file mode 100644
index 0000000000..9e5978fe16
--- /dev/null
+++ b/meta/packages/db/db_4.2.52.bb
@@ -0,0 +1,97 @@
+# Version 4 of the Berkeley DB from Sleepycat
+#
+# At present this package only installs the DB code
+# itself (shared libraries, .a in the dev package),
+# documentation and headers.
+#
+# The headers have the same names as those as v3
+# of the DB, only one version can be used *for dev*
+# at once - DB3 and DB4 can both be installed on the
+# same system at the same time if really necessary.
+SECTION = "libs"
+DESCRIPTION = "Berkeley DB v4."
+HOMEPAGE = "http://www.sleepycat.com"
+LICENSE = "BSD Sleepycat"
+VIRTUAL_NAME ?= "virtual/db"
+CONFLICTS = "db3"
+PR = "r3"
+
+SRC_URI = "http://downloads.sleepycat.com/db-${PV}.tar.gz"
+#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
+#TODO SRC_URI += "file://arm-thumb-mutex.patch;patch=1"
+
+inherit autotools
+
+# Put virtual/db in any appropriate provider of a
+# relational database, use it as a dependency in
+# place of a specific db and use:
+#
+# PREFERRED_PROVIDER_virtual/db
+#
+# to select the correct db in the build (distro) .conf
+PROVIDES += "${VIRTUAL_NAME}"
+
+# bitbake isn't quite clever enough to deal with sleepycat,
+# the distribution sits in the expected directory, but all
+# the builds must occur from a sub-directory. The following
+# persuades bitbake to go to the right place
+S = "${WORKDIR}/db-${PV}/dist"
+B = "${WORKDIR}/db-${PV}/build_unix"
+
+# The executables go in a separate package - typically there
+# is no need to install these unless doing real database
+# management on the system.
+PACKAGES += " ${PN}-bin"
+
+# Package contents
+FILES_${PN} = "${libdir}/libdb-4*so*"
+FILES_${PN}-bin = "${bindir}"
+# The dev package has the .so link (as in db3) and the .a's -
+# it is therefore incompatible (cannot be installed at the
+# same time) as the db3 package
+FILES_${PN}-dev = "${includedir} ${libdir}"
+
+#configuration - set in local.conf to override
+DB4_CONFIG ?= " --disable-cryptography --disable-queue --disable-replication --disable-verify --enable-hash"
+EXTRA_OECONF = "${DB4_CONFIG}"
+
+# Override the MUTEX setting here, the POSIX library is
+# the default - "POSIX/pthreads/library".
+# Don't ignore the nice SWP instruction on the ARM:
+# These enable the ARM assembler mutex code, this won't
+# work with thumb compilation...
+ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
+MUTEX = ""
+MUTEX_arm = "${ARM_MUTEX}"
+MUTEX_armeb = "${ARM_MUTEX}"
+EXTRA_OECONF += "${MUTEX}"
+
+# Cancel the site stuff - it's set for db3 and destroys the
+# configure.
+CONFIG_SITE = ""
+do_configure() {
+ oe_runconf
+}
+
+do_stage() {
+ # The .h files get installed read-only, the autostage
+ # function just uses cp -pPR, so do this by hand
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ oe_runmake DESTDIR="${STAGE_TEMP}" install_include
+ cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/.
+ rm -rf ${STAGE_TEMP}
+ oe_libinstall -so -C .libs libdb-4.2 ${STAGING_LIBDIR}
+ ln -sf libdb-4.2.so ${STAGING_LIBDIR}/libdb.so
+ ln -sf libdb-4.2.a ${STAGING_LIBDIR}/libdb.a
+}
+
+do_install_append() {
+ # The docs end up in /usr/docs - not right.
+ if test -d "${D}/${prefix}/docs"
+ then
+ mkdir -p "${D}/${datadir}"
+ test ! -d "${D}/${docdir}" || rmdir "${D}/${docdir}"
+ mv "${D}/${prefix}/docs" "${D}/${docdir}"
+ fi
+}
diff --git a/meta/packages/db/db_4.3.29.bb b/meta/packages/db/db_4.3.29.bb
new file mode 100644
index 0000000000..a4059aac60
--- /dev/null
+++ b/meta/packages/db/db_4.3.29.bb
@@ -0,0 +1,100 @@
+# Has issues with eds
+DEFAULT_PREFERENCE = "-1"
+
+# Version 4 of the Berkeley DB from Sleepycat
+#
+# At present this package only installs the DB code
+# itself (shared libraries, .a in the dev package),
+# documentation and headers.
+#
+# The headers have the same names as those as v3
+# of the DB, only one version can be used *for dev*
+# at once - DB3 and DB4 can both be installed on the
+# same system at the same time if really necessary.
+SECTION = "libs"
+DESCRIPTION = "Berkeley DB v4."
+HOMEPAGE = "http://www.sleepycat.com"
+LICENSE = "BSD Sleepycat"
+VIRTUAL_NAME ?= "virtual/db"
+CONFLICTS = "db3"
+PR = "r3"
+
+SRC_URI = "http://downloads.sleepycat.com/db-${PV}.tar.gz"
+#SRC_URI_MD5 = "http://downloads.sleepycat.com/db-${PV}.tar.gz.md5"
+SRC_URI += "file://arm-thumb-mutex.patch;patch=1"
+
+inherit autotools
+
+# Put virtual/db in any appropriate provider of a
+# relational database, use it as a dependency in
+# place of a specific db and use:
+#
+# PREFERRED_PROVIDER_virtual/db
+#
+# to select the correct db in the build (distro) .conf
+PROVIDES += "${VIRTUAL_NAME}"
+
+# bitbake isn't quite clever enough to deal with sleepycat,
+# the distribution sits in the expected directory, but all
+# the builds must occur from a sub-directory. The following
+# persuades bitbake to go to the right place
+S = "${WORKDIR}/db-${PV}/dist"
+B = "${WORKDIR}/db-${PV}/build_unix"
+
+# The executables go in a separate package - typically there
+# is no need to install these unless doing real database
+# management on the system.
+PACKAGES += " ${PN}-bin"
+
+# Package contents
+FILES_${PN} = "${libdir}/libdb-4*so*"
+FILES_${PN}-bin = "${bindir}"
+# The dev package has the .so link (as in db3) and the .a's -
+# it is therefore incompatible (cannot be installed at the
+# same time) as the db3 package
+FILES_${PN}-dev = "${includedir} ${libdir}"
+
+#configuration - set in local.conf to override
+DB4_CONFIG ?= "--enable-o_direct --enable-smallbuild --enable-compat185"
+EXTRA_OECONF = "${DB4_CONFIG}"
+
+# Override the MUTEX setting here, the POSIX library is
+# the default - "POSIX/pthreads/library".
+# Don't ignore the nice SWP instruction on the ARM:
+# These enable the ARM assembler mutex code, this won't
+# work with thumb compilation...
+ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
+MUTEX = ""
+MUTEX_arm = "${ARM_MUTEX}"
+MUTEX_armeb = "${ARM_MUTEX}"
+EXTRA_OECONF += "${MUTEX}"
+
+# Cancel the site stuff - it's set for db3 and destroys the
+# configure.
+CONFIG_SITE = ""
+do_configure() {
+ oe_runconf
+}
+
+do_stage() {
+ # The .h files get installed read-only, the autostage
+ # function just uses cp -pPR, so do this by hand
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ oe_runmake DESTDIR="${STAGE_TEMP}" install_include
+ cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/.
+ rm -rf ${STAGE_TEMP}
+ oe_libinstall -so -C .libs libdb-4.3 ${STAGING_LIBDIR}
+ ln -sf libdb-4.3.so ${STAGING_LIBDIR}/libdb.so
+ ln -sf libdb-4.3.a ${STAGING_LIBDIR}/libdb.a
+}
+
+do_install_append() {
+ # The docs end up in /usr/docs - not right.
+ if test -d "${D}/${prefix}/docs"
+ then
+ mkdir -p "${D}/${datadir}"
+ test ! -d "${D}/${docdir}" || rmdir "${D}/${docdir}"
+ mv "${D}/${prefix}/docs" "${D}/${docdir}"
+ fi
+}
diff --git a/meta/packages/db/files/arm-thumb-mutex.patch b/meta/packages/db/files/arm-thumb-mutex.patch
new file mode 100644
index 0000000000..acd446fcd8
--- /dev/null
+++ b/meta/packages/db/files/arm-thumb-mutex.patch
@@ -0,0 +1,36 @@
+--- db-4.3.29-dist/../dbinc/mutex.h 2005-11-15 07:33:27.761042518 -0800
++++ db-4.3.29-dist/../dbinc/mutex.h 2005-11-15 07:55:24.823920060 -0800
+@@ -470,6 +470,25 @@
+ #ifdef LOAD_ACTUAL_MUTEX_CODE
+ #define MUTEX_SET_TEST 1 /* gcc/arm: 0 is clear, 1 is set. */
+
++#if defined __thumb__
++#define MUTEX_SET(tsl) ({ \
++ int __r, __p; \
++ asm volatile( \
++ ".align 2\n\t" \
++ "bx pc\n\t" \
++ "nop\n\t" \
++ ".arm\n\t" \
++ "swpb %0, %2, [%3]\n\t" \
++ "eor %0, %0, #1\n\t" \
++ "orr %1, pc, #1\n\t" \
++ "bx %1\n\t" \
++ ".force_thumb" \
++ : "=&r" (__r), "=r" (__p) \
++ : "r" (1), "r" (tsl) \
++ ); \
++ __r & 1; \
++})
++#else
+ #define MUTEX_SET(tsl) ({ \
+ int __r; \
+ asm volatile( \
+@@ -480,6 +499,7 @@
+ ); \
+ __r & 1; \
+ })
++#endif
+
+ #define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)
+ #define MUTEX_INIT(tsl) MUTEX_UNSET(tsl)
diff --git a/meta/packages/dbus/dbus-0.60/dbus-1.init b/meta/packages/dbus/dbus-0.60/dbus-1.init
new file mode 100644
index 0000000000..60440b7223
--- /dev/null
+++ b/meta/packages/dbus/dbus-0.60/dbus-1.init
@@ -0,0 +1,86 @@
+#! /bin/sh
+# -*- coding: utf-8 -*-
+# Debian init.d script for D-BUS
+# Copyright © 2003 Colin Walters <walters@debian.org>
+
+set -e
+
+DAEMON=/usr/bin/dbus-daemon
+NAME=dbus-1
+DAEMONUSER=messagebus
+PIDDIR=/var/run/dbus
+PIDFILE=$PIDDIR/pid
+DESC="system message bus"
+EVENTDIR=/etc/dbus-1/event.d
+
+test -x $DAEMON || exit 0
+
+# Source defaults file; edit that file to configure this script.
+ENABLED=1
+PARAMS=""
+if [ -e /etc/default/dbus-1 ]; then
+ . /etc/default/dbus-1
+fi
+
+test "$ENABLED" != "0" || exit 0
+
+start_it_up()
+{
+ if [ ! -d $PIDDIR ]; then
+ mkdir -p $PIDDIR
+ chown $DAEMONUSER $PIDDIR
+ chgrp $DAEMONUSER $PIDDIR
+ fi
+ if [ -e $PIDFILE ]; then
+ PIDDIR=/proc/$(cat $PIDFILE)
+ if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
+ echo "$DESC already started; not starting."
+ else
+ echo "Removing stale PID file $PIDFILE."
+ rm -f $PIDFILE
+ fi
+ fi
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER --exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ if [ -d $EVENTDIR ]; then
+ run-parts --arg=start $EVENTDIR
+ fi
+}
+
+shut_it_down()
+{
+ if [ -d $EVENTDIR ]; then
+ run-parts --reverse --arg=stop $EVENTDIR
+ fi
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER
+ # We no longer include these arguments so that start-stop-daemon
+ # can do its job even given that we may have been upgraded.
+ # We rely on the pidfile being sanely managed
+ # --exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ rm -f $PIDFILE
+}
+
+case "$1" in
+ start)
+ start_it_up
+ ;;
+ stop)
+ shut_it_down
+ ;;
+ restart|force-reload)
+ shut_it_down
+ sleep 1
+ start_it_up
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/dbus/dbus-0.60/no-bindings.patch b/meta/packages/dbus/dbus-0.60/no-bindings.patch
new file mode 100644
index 0000000000..ccfc3f88b2
--- /dev/null
+++ b/meta/packages/dbus/dbus-0.60/no-bindings.patch
@@ -0,0 +1,12 @@
+--- dbus-0.50/tools/Makefile.am.orig 2005-09-07 10:05:38 +0200
++++ dbus-0.50/tools/Makefile.am 2005-09-07 10:06:30 +0200
+@@ -6,9 +6,6 @@
+ nodist_libdbus_glib_HEADERS = dbus-glib-bindings.h
+ libdbus_glibdir = $(includedir)/dbus-1.0/dbus
+
+-dbus-glib-bindings.h: dbus-bus-introspect.xml $(top_builddir)/glib/dbus-binding-tool$(EXEEXT)
+- $(top_builddir)/glib/dbus-binding-tool --mode=glib-client --output=dbus-glib-bindings.h dbus-bus-introspect.xml
+-
+ BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml
+
+ else
diff --git a/meta/packages/dbus/dbus-0.60/no-introspect.patch b/meta/packages/dbus/dbus-0.60/no-introspect.patch
new file mode 100644
index 0000000000..1e43dd121b
--- /dev/null
+++ b/meta/packages/dbus/dbus-0.60/no-introspect.patch
@@ -0,0 +1,14 @@
+--- dbus-0.50/tools/Makefile.am.orig 2005-09-07 10:03:49 +0200
++++ dbus-0.50/tools/Makefile.am 2005-09-07 10:04:28 +0200
+@@ -21,11 +21,6 @@
+ GTK_TOOLS=
+ endif
+
+-if HAVE_GLIB
+-dbus-bus-introspect.xml: $(top_builddir)/bus/dbus-daemon$(EXEEXT) dbus-launch$(EXEEXT) dbus-send$(EXEEXT) $(top_builddir)/bus/dbus-daemon$(EXEEXT) Makefile
+- DBUS_TOP_BUILDDIR=$(top_builddir) $(srcdir)/run-with-tmp-session-bus.sh ./dbus-send --print-reply=literal --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.Introspectable.Introspect > dbus-bus-introspect.xml.tmp && mv dbus-bus-introspect.xml.tmp dbus-bus-introspect.xml
+-endif
+-
+ bin_PROGRAMS=dbus-send $(GLIB_TOOLS) dbus-launch dbus-cleanup-sockets $(GTK_TOOLS)
+
+ dbus_send_SOURCES= \
diff --git a/meta/packages/dbus/dbus-native_0.50.bb b/meta/packages/dbus/dbus-native_0.50.bb
new file mode 100644
index 0000000000..9e661dbccf
--- /dev/null
+++ b/meta/packages/dbus/dbus-native_0.50.bb
@@ -0,0 +1,19 @@
+include dbus_${PV}.inc
+
+SRC_URI_EXTRA=""
+
+inherit native
+
+S = "${WORKDIR}/dbus-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus"
+DEPENDS = "glib-2.0-native"
+
+PR = "r1"
+
+do_stage() {
+ oe_runmake install
+ install -d ${STAGING_DATADIR}/dbus
+ install -m 0644 tools/dbus-bus-introspect.xml ${STAGING_DATADIR}/dbus
+ install -m 0644 tools/dbus-glib-bindings.h ${STAGING_DATADIR}/dbus
+}
+
diff --git a/meta/packages/dbus/dbus-native_0.60.bb b/meta/packages/dbus/dbus-native_0.60.bb
new file mode 100644
index 0000000000..9e661dbccf
--- /dev/null
+++ b/meta/packages/dbus/dbus-native_0.60.bb
@@ -0,0 +1,19 @@
+include dbus_${PV}.inc
+
+SRC_URI_EXTRA=""
+
+inherit native
+
+S = "${WORKDIR}/dbus-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus"
+DEPENDS = "glib-2.0-native"
+
+PR = "r1"
+
+do_stage() {
+ oe_runmake install
+ install -d ${STAGING_DATADIR}/dbus
+ install -m 0644 tools/dbus-bus-introspect.xml ${STAGING_DATADIR}/dbus
+ install -m 0644 tools/dbus-glib-bindings.h ${STAGING_DATADIR}/dbus
+}
+
diff --git a/meta/packages/dbus/dbus.inc b/meta/packages/dbus/dbus.inc
new file mode 100644
index 0000000000..1c63c37fdf
--- /dev/null
+++ b/meta/packages/dbus/dbus.inc
@@ -0,0 +1,65 @@
+SECTION = "base"
+PR = "r0"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+DESCRIPTION = "message bus system for applications to talk to one another"
+LICENSE = "GPL"
+DEPENDS = "expat glib-2.0 virtual/libintl"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://freedesktop.org/software/dbus/releases/dbus-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://tmpdir.patch;patch=1 \
+ file://dbus-1.init \
+ ${SRC_URI_EXTRA}"
+
+
+inherit autotools pkgconfig update-rc.d gettext
+
+INITSCRIPT_NAME = "dbus-1"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
+
+FILES_${PN} = "${bindir}/dbus-daemon-1 ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${sysconfdir} ${datadir}/dbus-1/services ${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+
+pkg_postinst_dbus() {
+#!/bin/sh
+
+# can't do adduser stuff offline
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+MESSAGEUSER=messagebus
+MESSAGEHOME=/var/run/dbus
+
+mkdir -p $MESSAGEHOME || true
+chgrp "$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || addgroup "$MESSAGEUSER"
+chown "$MESSAGEUSER"."$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password --ingroup "$MESSAGEUSER" "$MESSAGEUSER"
+}
+
+EXTRA_OECONF = "--disable-qt --disable-gtk --disable-tests \
+ --disable-checks --disable-xml-docs --disable-doxygen-docs \
+ --with-xml=expat --without-x"
+
+
+do_stage () {
+ oe_libinstall -so -C dbus libdbus-1 ${STAGING_LIBDIR}
+ oe_libinstall -so -C glib libdbus-glib-1 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/dbus-1.0/include/dbus/
+ install -m 0644 dbus/dbus-arch-deps.h ${STAGING_LIBDIR}/dbus-1.0/include/dbus/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
+}
+
+python populate_packages_prepend () {
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_dbus', 'dbus-1', d)
+}
diff --git a/meta/packages/dbus/dbus/0.23.1.diff b/meta/packages/dbus/dbus/0.23.1.diff
new file mode 100644
index 0000000000..d56e1afc9c
--- /dev/null
+++ b/meta/packages/dbus/dbus/0.23.1.diff
@@ -0,0 +1,308 @@
+diff -ur dbus-0.23/ChangeLog dbus-0.23.1/ChangeLog
+--- dbus-0.23/ChangeLog 2005-01-13 00:48:43.000000000 +0200
++++ dbus-0.23.1/ChangeLog 2005-02-11 20:25:48.000000000 +0200
+@@ -1,3 +1,33 @@
++2005-02-11 Joe Shaw <joeshaw@novell.com>
++
++ * NEWS: Update for 0.23.1
++
++ * configure.in: Release 0.23.1
++
++2005-02-10 Joe Shaw <joeshaw@novell.com>
++
++ * dbus/dbus-connection.c
++ (_dbus_connection_queue_received_message_link,
++ _dbus_connection_message_sent): Add the path to
++ the verbose output.
++ (_dbus_connection_send_preallocated_and_unlock): Added. Calls
++ _dbus_connection_send_preallocated_unlocked(), updated the
++ dispatch status, and unlocks. Fixes a bug where certain
++ situations (like a broken pipe) could cause a Disconnect message
++ to not be sent, tricking the bus into thinking a service was still
++ there when the process had quit.
++ (_dbus_connection_send_preallocated): Call
++ _dbus_connection_send_preallocated_and_unlock().
++ (_dbus_connection_send_and_unlock): Added. Calls
++ _dbus_connection_send_preallocated_and_unlock().
++ (dbus_connection_send): Call _dbus_connection_send_and_unlock().
++ (dbus_connection_send_with_reply): Update the dispatch status and
++ unlock.
++
++ * mono/Service.cs (~Service): Added. Removes the filter so that
++ we don't get unmanaged code calling back into a GCed delegate.
++ (RemoveFilter); Added.
++
+ 2005-01-12 Joe Shaw <joeshaw@novell.com>
+
+ * NEWS: Update for 0.23.
+diff -ur dbus-0.23/NEWS dbus-0.23.1/NEWS
+--- dbus-0.23/NEWS 2005-01-13 00:20:40.000000000 +0200
++++ dbus-0.23.1/NEWS 2005-02-11 20:25:16.000000000 +0200
+@@ -1,3 +1,11 @@
++D-BUS 0.23.1 (11 Feb 2005)
++===
++- fix a bug in which the bus daemon wouldn't recognize that a service
++ owner quit
++- fix a bug in the mono bindings that would cause unmanaged code to
++ call back into a delegate that had been garbage collected and
++ crashed.
++
+ D-BUS 0.23 (11 Jan 2005)
+ ===
+
+diff -ur dbus-0.23/configure dbus-0.23.1/configure
+--- dbus-0.23/configure 2005-01-13 00:21:25.000000000 +0200
++++ dbus-0.23.1/configure 2005-02-11 19:53:33.000000000 +0200
+@@ -1826,7 +1826,7 @@
+
+ # Define the identity of the package.
+ PACKAGE=dbus
+- VERSION=0.23
++ VERSION=0.23.1
+
+
+ cat >>confdefs.h <<_ACEOF
+diff -ur dbus-0.23/configure.in dbus-0.23.1/configure.in
+--- dbus-0.23/configure.in 2005-01-13 00:20:40.000000000 +0200
++++ dbus-0.23.1/configure.in 2005-02-11 19:53:09.000000000 +0200
+@@ -3,7 +3,7 @@
+
+ AC_INIT(dbus/dbus.h)
+
+-AM_INIT_AUTOMAKE(dbus, 0.23)
++AM_INIT_AUTOMAKE(dbus, 0.23.1)
+
+ AM_CONFIG_HEADER(config.h)
+
+diff -ur dbus-0.23/dbus/dbus-connection.c dbus-0.23.1/dbus/dbus-connection.c
+--- dbus-0.23/dbus/dbus-connection.c 2005-01-11 21:31:56.000000000 +0200
++++ dbus-0.23.1/dbus/dbus-connection.c 2005-02-11 19:52:47.000000000 +0200
+@@ -358,9 +358,10 @@
+
+ _dbus_connection_wakeup_mainloop (connection);
+
+- _dbus_verbose ("Message %p (%d %s %s '%s') added to incoming queue %p, %d incoming\n",
++ _dbus_verbose ("Message %p (%d %s %s %s '%s') added to incoming queue %p, %d incoming\n",
+ message,
+ dbus_message_get_type (message),
++ dbus_message_get_path (message),
+ dbus_message_get_interface (message) ?
+ dbus_message_get_interface (message) :
+ "no interface",
+@@ -473,9 +474,10 @@
+
+ connection->n_outgoing -= 1;
+
+- _dbus_verbose ("Message %p (%d %s %s '%s') removed from outgoing queue %p, %d left to send\n",
++ _dbus_verbose ("Message %p (%d %s %s %s '%s') removed from outgoing queue %p, %d left to send\n",
+ message,
+ dbus_message_get_type (message),
++ dbus_message_get_path (message),
+ dbus_message_get_interface (message) ?
+ dbus_message_get_interface (message) :
+ "no interface",
+@@ -1572,9 +1574,10 @@
+ }
+ #endif
+
+- _dbus_verbose ("Message %p (%d %s %s '%s') added to outgoing queue %p, %d pending to send\n",
++ _dbus_verbose ("Message %p (%d %s %s %s '%s') added to outgoing queue %p, %d pending to send\n",
+ message,
+ dbus_message_get_type (message),
++ dbus_message_get_path (message),
+ dbus_message_get_interface (message) ?
+ dbus_message_get_interface (message) :
+ "no interface",
+@@ -1606,12 +1609,30 @@
+ _dbus_connection_do_iteration (connection,
+ DBUS_ITERATION_DO_WRITING,
+ -1);
+-
++
+ /* If stuff is still queued up, be sure we wake up the main loop */
+ if (connection->n_outgoing > 0)
+ _dbus_connection_wakeup_mainloop (connection);
+ }
+
++static void
++_dbus_connection_send_preallocated_and_unlock (DBusConnection *connection,
++ DBusPreallocatedSend *preallocated,
++ DBusMessage *message,
++ dbus_uint32_t *client_serial)
++{
++ DBusDispatchStatus status;
++
++ _dbus_connection_send_preallocated_unlocked (connection,
++ preallocated,
++ message, client_serial);
++
++ status = _dbus_connection_get_dispatch_status_unlocked (connection);
++
++ /* this calls out to user code */
++ _dbus_connection_update_dispatch_status_and_unlock (connection, status);
++}
++
+ /**
+ * Sends a message using preallocated resources. This function cannot fail.
+ * It works identically to dbus_connection_send() in other respects.
+@@ -1642,10 +1663,9 @@
+ dbus_message_get_member (message) != NULL));
+
+ CONNECTION_LOCK (connection);
+- _dbus_connection_send_preallocated_unlocked (connection,
+- preallocated,
+- message, client_serial);
+- CONNECTION_UNLOCK (connection);
++ _dbus_connection_send_preallocated_and_unlock (connection,
++ preallocated,
++ message, client_serial);
+ }
+
+ static dbus_bool_t
+@@ -1670,6 +1690,27 @@
+ return TRUE;
+ }
+
++static dbus_bool_t
++_dbus_connection_send_and_unlock (DBusConnection *connection,
++ DBusMessage *message,
++ dbus_uint32_t *client_serial)
++{
++ DBusPreallocatedSend *preallocated;
++
++ _dbus_assert (connection != NULL);
++ _dbus_assert (message != NULL);
++
++ preallocated = _dbus_connection_preallocate_send_unlocked (connection);
++ if (preallocated == NULL)
++ return FALSE;
++
++ _dbus_connection_send_preallocated_and_unlock (connection,
++ preallocated,
++ message,
++ client_serial);
++ return TRUE;
++}
++
+ /**
+ * Adds a message to the outgoing message queue. Does not block to
+ * write the message to the network; that happens asynchronously. To
+@@ -1698,14 +1739,9 @@
+
+ CONNECTION_LOCK (connection);
+
+- if (!_dbus_connection_send_unlocked (connection, message, client_serial))
+- {
+- CONNECTION_UNLOCK (connection);
+- return FALSE;
+- }
+-
+- CONNECTION_UNLOCK (connection);
+- return TRUE;
++ return _dbus_connection_send_and_unlock (connection,
++ message,
++ client_serial);
+ }
+
+ static dbus_bool_t
+@@ -1784,6 +1820,7 @@
+ DBusMessage *reply;
+ DBusList *reply_link;
+ dbus_int32_t serial = -1;
++ DBusDispatchStatus status;
+
+ _dbus_return_val_if_fail (connection != NULL, FALSE);
+ _dbus_return_val_if_fail (message != NULL, FALSE);
+@@ -1845,8 +1882,11 @@
+ else
+ dbus_pending_call_unref (pending);
+
+- CONNECTION_UNLOCK (connection);
+-
++ status = _dbus_connection_get_dispatch_status_unlocked (connection);
++
++ /* this calls out to user code */
++ _dbus_connection_update_dispatch_status_and_unlock (connection, status);
++
+ return TRUE;
+
+ error:
+@@ -2256,9 +2296,10 @@
+ link = _dbus_list_pop_first_link (&connection->incoming_messages);
+ connection->n_incoming -= 1;
+
+- _dbus_verbose ("Message %p (%d %s %s '%s') removed from incoming queue %p, %d incoming\n",
++ _dbus_verbose ("Message %p (%d %s %s %s '%s') removed from incoming queue %p, %d incoming\n",
+ link->data,
+ dbus_message_get_type (link->data),
++ dbus_message_get_path (link->data),
+ dbus_message_get_interface (link->data) ?
+ dbus_message_get_interface (link->data) :
+ "no interface",
+diff -ur dbus-0.23/mono/Service.cs dbus-0.23.1/mono/Service.cs
+--- dbus-0.23/mono/Service.cs 2004-08-31 06:59:14.000000000 +0300
++++ dbus-0.23.1/mono/Service.cs 2005-02-11 19:52:47.000000000 +0200
+@@ -23,6 +23,9 @@
+ private static AssemblyBuilder proxyAssembly;
+ private ModuleBuilder module = null;
+
++ // Add a match for signals. FIXME: Can we filter the service?
++ private const string MatchRule = "type='signal'";
++
+ internal Service(string name, Connection connection)
+ {
+ this.name = name;
+@@ -47,6 +50,12 @@
+ this.local = true;
+ }
+
++ ~Service ()
++ {
++ if (this.filterCalled != null)
++ RemoveFilter ();
++ }
++
+ public static bool Exists(Connection connection, string name)
+ {
+ Error error = new Error();
+@@ -113,9 +122,17 @@
+ IntPtr.Zero))
+ throw new OutOfMemoryException();
+
+- // Add a match for signals. FIXME: Can we filter the service?
+- string rule = "type='signal'";
+- dbus_bus_add_match(connection.RawConnection, rule, IntPtr.Zero);
++ dbus_bus_add_match(connection.RawConnection, MatchRule, IntPtr.Zero);
++ }
++
++ private void RemoveFilter()
++ {
++ dbus_connection_remove_filter (Connection.RawConnection,
++ this.filterCalled,
++ IntPtr.Zero);
++ this.filterCalled = null;
++
++ dbus_bus_remove_match (connection.RawConnection, MatchRule, IntPtr.Zero);
+ }
+
+ private int Service_FilterCalled(IntPtr rawConnection,
+@@ -200,9 +217,19 @@
+ IntPtr freeData);
+
+ [DllImport("dbus-1")]
++ private extern static void dbus_connection_remove_filter(IntPtr rawConnection,
++ DBusHandleMessageFunction filter,
++ IntPtr userData);
++
++ [DllImport("dbus-1")]
+ private extern static void dbus_bus_add_match(IntPtr rawConnection,
+ string rule,
+ IntPtr erro);
+
++ [DllImport("dbus-1")]
++ private extern static void dbus_bus_remove_match(IntPtr rawConnection,
++ string rule,
++ IntPtr erro);
++
+ }
+ }
diff --git a/meta/packages/dbus/dbus/config.diff b/meta/packages/dbus/dbus/config.diff
new file mode 100644
index 0000000000..b67c8d72fe
--- /dev/null
+++ b/meta/packages/dbus/dbus/config.diff
@@ -0,0 +1,17 @@
+Only in /home/kihamala/svn/dbus/bus: .svn
+diff -ur bus/session.conf.in /home/kihamala/svn/dbus/bus/session.conf.in
+--- bus/session.conf.in 2004-10-25 21:48:58.000000000 +0300
++++ /home/kihamala/svn/dbus/bus/session.conf.in 2005-02-15 11:03:26.000000000 +0200
+@@ -8,9 +8,10 @@
+ <!-- Our well-known bus type, don't change this -->
+ <type>session</type>
+
+- <listen>unix:tmpdir=@DBUS_SESSION_SOCKET_DIR@</listen>
++ <listen>unix:path=/tmp/session_bus_socket</listen>
+
+- <servicedir>@EXPANDED_DATADIR@/dbus-1/services</servicedir>
++ <servicedir>@EXPANDED_LIBDIR@/dbus-1.0/services</servicedir>
++ <!-- <servicedir>/var/lib/install/usr/lib/dbus-1.0/services</servicedir> -->
+
+ <policy context="default">
+ <!-- Allow everything to be sent -->
diff --git a/meta/packages/dbus/dbus/cross.patch b/meta/packages/dbus/dbus/cross.patch
new file mode 100644
index 0000000000..6d1d9d8e7e
--- /dev/null
+++ b/meta/packages/dbus/dbus/cross.patch
@@ -0,0 +1,15 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- dbus-0.20/configure.in~cross
++++ dbus-0.20/configure.in
+@@ -466,6 +466,7 @@
+ exit (0);
+ ]])],
+ [have_abstract_sockets=yes],
++ [have_abstract_sockets=no],
+ [have_abstract_sockets=no])
+ AC_LANG_POP(C)
+ AC_MSG_RESULT($have_abstract_sockets)
diff --git a/meta/packages/dbus/dbus/dbus-1.init b/meta/packages/dbus/dbus/dbus-1.init
new file mode 100644
index 0000000000..adefe7c5b1
--- /dev/null
+++ b/meta/packages/dbus/dbus/dbus-1.init
@@ -0,0 +1,86 @@
+#! /bin/sh
+# -*- coding: utf-8 -*-
+# Debian init.d script for D-BUS
+# Copyright © 2003 Colin Walters <walters@debian.org>
+
+set -e
+
+DAEMON=/usr/bin/dbus-daemon-1
+NAME=dbus-1
+DAEMONUSER=messagebus
+PIDDIR=/var/run/dbus
+PIDFILE=$PIDDIR/pid
+DESC="system message bus"
+EVENTDIR=/etc/dbus-1/event.d
+
+test -x $DAEMON || exit 0
+
+# Source defaults file; edit that file to configure this script.
+ENABLED=1
+PARAMS=""
+if [ -e /etc/default/dbus-1 ]; then
+ . /etc/default/dbus-1
+fi
+
+test "$ENABLED" != "0" || exit 0
+
+start_it_up()
+{
+ if [ ! -d $PIDDIR ]; then
+ mkdir -p $PIDDIR
+ chown $DAEMONUSER $PIDDIR
+ chgrp $DAEMONUSER $PIDDIR
+ fi
+ if [ -e $PIDFILE ]; then
+ PIDDIR=/proc/$(cat $PIDFILE)
+ if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
+ echo "$DESC already started; not starting."
+ else
+ echo "Removing stale PID file $PIDFILE."
+ rm -f $PIDFILE
+ fi
+ fi
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER --exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ if [ -d $EVENTDIR ]; then
+ run-parts --arg=start $EVENTDIR
+ fi
+}
+
+shut_it_down()
+{
+ if [ -d $EVENTDIR ]; then
+ run-parts --reverse --arg=stop $EVENTDIR
+ fi
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --user $DAEMONUSER
+ # We no longer include these arguments so that start-stop-daemon
+ # can do its job even given that we may have been upgraded.
+ # We rely on the pidfile being sanely managed
+ # --exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ rm -f $PIDFILE
+}
+
+case "$1" in
+ start)
+ start_it_up
+ ;;
+ stop)
+ shut_it_down
+ ;;
+ restart|force-reload)
+ shut_it_down
+ sleep 1
+ start_it_up
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/dbus/dbus/dbus-monitor.patch b/meta/packages/dbus/dbus/dbus-monitor.patch
new file mode 100644
index 0000000000..c2f90c885b
--- /dev/null
+++ b/meta/packages/dbus/dbus/dbus-monitor.patch
@@ -0,0 +1,150 @@
+diff -urN dbus-0.22.orig/tools/dbus-monitor.1 dbus-0.22/tools/dbus-monitor.1
+--- dbus-0.22.orig/tools/dbus-monitor.1 2004-10-10 20:47:19.906823680 +1000
++++ dbus-0.22/tools/dbus-monitor.1 2004-10-10 20:47:27.791625008 +1000
+@@ -9,6 +9,7 @@
+ .PP
+ .B dbus-monitor
+ [\-\-system | \-\-session]
++[watch expressions]
+
+ .SH DESCRIPTION
+
+@@ -25,6 +26,11 @@
+ monitor the system or session buses respectively. If neither is
+ specified, \fIdbus-monitor\fP monitors the session bus.
+
++.PP
++In order to get \fIdbus-monitor\fP to see the messages you are interested
++in, you should specify a set of watch expressions as you would expect to
++be passed to the \fIdbus_bus_add_watch\fP function.
++
+ .PP
+ The message bus configuration may keep \fIdbus-monitor\fP from seeing
+ all messages, especially if you run the monitor as a non-root user.
+@@ -37,6 +43,15 @@
+ .I "--session"
+ Monitor the session message bus. (This is the default.)
+
++.SH EXAMPLE
++Here is an example of using dbus-monitor to watch for the gnome typing
++monitor to say things
++.nf
++
++ dbus-monitor "type='signal',sender='org.gnome.TypingMonitor',interface='org.gnome.TypingMonitor'"
++
++.fi
++
+ .SH AUTHOR
+ dbus-monitor was written by Philip Blundell.
+
+--- dbus-0.22-1ubuntu1/tools/dbus-monitor.c 2004-08-10 13:03:37.000000000 +1000
++++ dbus-0.22/tools/dbus-monitor.c 2004-10-10 21:38:08.532362152 +1000
+@@ -45,7 +45,7 @@
+ static void
+ usage (char *name, int ecode)
+ {
+- fprintf (stderr, "Usage: %s [--system | --session]\n", name);
++ fprintf (stderr, "Usage: %s [--system | --session] [watch expressions]\n", name);
+ exit (ecode);
+ }
+
+@@ -56,8 +56,8 @@
+ DBusError error;
+ DBusBusType type = DBUS_BUS_SESSION;
+ GMainLoop *loop;
+- int i;
+-
++ int i = 0, j = 0, numFilters = 0;
++ char **filters = NULL;
+ for (i = 1; i < argc; i++)
+ {
+ char *arg = argv[i];
+@@ -69,14 +69,18 @@
+ else if (!strcmp (arg, "--help"))
+ usage (argv[0], 0);
+ else if (!strcmp (arg, "--"))
+- break;
++ continue;
+ else if (arg[0] == '-')
+ usage (argv[0], 1);
++ else {
++ numFilters++;
++ filters = (char **)realloc(filters, numFilters * sizeof(char *));
++ filters[j] = (char *)malloc((strlen(arg) + 1) * sizeof(char *));
++ snprintf(filters[j], strlen(arg) + 1, "%s", arg);
++ j++;
++ }
+ }
+
+- if (argc > 2)
+- usage (argv[0], 1);
+-
+ loop = g_main_loop_new (NULL, FALSE);
+
+ dbus_error_init (&error);
+@@ -92,26 +102,45 @@
+
+ dbus_connection_setup_with_g_main (connection, NULL);
+
+- dbus_bus_add_match (connection,
+- "type='signal'",
+- &error);
+- if (dbus_error_is_set (&error))
+- goto lose;
+- dbus_bus_add_match (connection,
+- "type='method_call'",
+- &error);
+- if (dbus_error_is_set (&error))
+- goto lose;
+- dbus_bus_add_match (connection,
+- "type='method_return'",
+- &error);
+- if (dbus_error_is_set (&error))
+- goto lose;
+- dbus_bus_add_match (connection,
+- "type='error'",
+- &error);
+- if (dbus_error_is_set (&error))
+- goto lose;
++ if (numFilters)
++ {
++ for (i = 0; i < j; i++)
++ {
++ dbus_bus_add_match (connection, filters[i], &error);
++ if (dbus_error_is_set (&error))
++ {
++ fprintf (stderr, "Failed to setup match \"%s\": %s\n",
++ filters[i], error.message);
++ dbus_error_free (&error);
++ exit (1);
++ }
++ free(filters[i]);
++ }
++ }
++ else
++ {
++ dbus_bus_add_match (connection,
++ "type='signal'",
++ &error);
++ if (dbus_error_is_set (&error))
++ goto lose;
++ dbus_bus_add_match (connection,
++ "type='method_call'",
++ &error);
++ if (dbus_error_is_set (&error))
++ goto lose;
++ dbus_bus_add_match (connection,
++ "type='method_return'",
++ &error);
++ if (dbus_error_is_set (&error))
++ goto lose;
++ dbus_bus_add_match (connection,
++ "type='error'",
++ &error);
++ if (dbus_error_is_set (&error))
++ goto lose;
++ }
++
+ if (!dbus_connection_add_filter (connection, filter_func, NULL, NULL)) {
+ fprintf (stderr, "Couldn't add filter!\n");
+ exit (1);
diff --git a/meta/packages/dbus/dbus/dbus-quiesce-startup-errors.patch b/meta/packages/dbus/dbus/dbus-quiesce-startup-errors.patch
new file mode 100644
index 0000000000..ba5142af2f
--- /dev/null
+++ b/meta/packages/dbus/dbus/dbus-quiesce-startup-errors.patch
@@ -0,0 +1,23 @@
+--- dbus-0.20-virgin-patches/bus/config-parser.c 2003-10-14 21:30:21.000000000 +0100
++++ dbus-0.20/bus/config-parser.c 2004-02-10 00:40:05.000000000 +0000
+@@ -1710,8 +1710,18 @@
+ {
+ if (!include_file (parser, &full_path, TRUE, error))
+ {
+- _dbus_string_free (&full_path);
+- goto failed;
++ /* Debian patch to skip malformed /etc/dbus-1/system.d entries */
++ /*
++ * _dbus_string_free (&full_path);
++ * goto failed;
++ */
++ if (dbus_error_is_set (error))
++ {
++ _dbus_warn("\nEncountered error '%s' while parsing '%s'\n",
++ error->message,
++ _dbus_string_get_const_data(&full_path));
++ dbus_error_free (error);
++ }
+ }
+ }
+
diff --git a/meta/packages/dbus/dbus/dbussend.patch b/meta/packages/dbus/dbus/dbussend.patch
new file mode 100644
index 0000000000..49a251bbb0
--- /dev/null
+++ b/meta/packages/dbus/dbus/dbussend.patch
@@ -0,0 +1,399 @@
+Index: dbus-send.1
+===================================================================
+--- tools/dbus-send.1 (revision 691)
++++ tools/dbus-send.1 (working copy)
+@@ -36,8 +36,8 @@
+ specified. Following arguments, if any, are the message contents
+ (message arguments). These are given as a type name, a colon, and
+ then the value of the argument. The possible type names are: string,
+-int32, uint32, double, byte, boolean. (D-BUS supports more types than
+-these, but \fIdbus-send\fP currently does not.)
++int32, uint32, double, byte, boolean, array. (D-BUS supports more types
++than these, but \fIdbus-send\fP currently does not.)
+
+ .PP
+ Here is an example invocation:
+@@ -46,7 +46,8 @@
+ dbus-send \-\-dest='org.freedesktop.ExampleService' \\
+ /org/freedesktop/sample/object/name \\
+ org.freedesktop.ExampleInterface.ExampleMethod \\
+- int32:47 string:'hello world' double:65.32
++ int32:47 string:'hello world' double:65.32 \\
++ array:byte[0,1,2]
+
+ .fi
+
+Index: dbus-print-message.c
+===================================================================
+--- tools/dbus-print-message.c (revision 691)
++++ tools/dbus-print-message.c (working copy)
+@@ -39,6 +39,78 @@
+ }
+ }
+
++static void
++iterate (DBusMessageIter* iter, int entry_type)
++{
++ do
++ {
++ char *str;
++ dbus_uint32_t uint32;
++ dbus_int32_t int32;
++ double d;
++ unsigned char byte;
++ dbus_bool_t boolean;
++ int type = dbus_message_iter_get_arg_type (iter);
++
++ DBusMessageIter array_iter;
++ int array_type = DBUS_TYPE_INVALID;
++
++ if (type == DBUS_TYPE_INVALID)
++ {
++ if (entry_type == DBUS_TYPE_INVALID)
++ break;
++ else
++ type == entry_type;
++ }
++
++ switch (type)
++ {
++ case DBUS_TYPE_STRING:
++ str = dbus_message_iter_get_string (iter);
++ printf ("string:%s\n", str);
++ break;
++
++ case DBUS_TYPE_INT32:
++ int32 = dbus_message_iter_get_int32 (iter);
++ printf ("int32:%d\n", int32);
++ break;
++
++ case DBUS_TYPE_UINT32:
++ uint32 = dbus_message_iter_get_uint32 (iter);
++ printf ("int32:%u\n", uint32);
++ break;
++
++ case DBUS_TYPE_DOUBLE:
++ d = dbus_message_iter_get_double (iter);
++ printf ("double:%f\n", d);
++ break;
++
++ case DBUS_TYPE_BYTE:
++ byte = dbus_message_iter_get_byte (iter);
++ printf ("byte:%d\n", byte);
++ break;
++
++ case DBUS_TYPE_BOOLEAN:
++ boolean = dbus_message_iter_get_boolean (iter);
++ printf ("boolean:%s\n", boolean ? "true" : "false");
++ break;
++
++ case DBUS_TYPE_ARRAY:
++ dbus_message_iter_init_array_iterator (iter,
++ &array_iter,
++ &array_type);
++ printf ("array[\n");
++ iterate (&array_iter, array_type);
++ printf ("]\n");
++ break;
++
++ default:
++ printf ("(unknown arg type %d)\n", type);
++ break;
++ }
++ } while (dbus_message_iter_next (iter));
++}
++
+ void
+ print_message (DBusMessage *message)
+ {
+@@ -81,55 +153,6 @@
+
+ dbus_message_iter_init (message, &iter);
+
+- do
+- {
+- int type = dbus_message_iter_get_arg_type (&iter);
+- char *str;
+- dbus_uint32_t uint32;
+- dbus_int32_t int32;
+- double d;
+- unsigned char byte;
+- dbus_bool_t boolean;
+-
+- if (type == DBUS_TYPE_INVALID)
+- break;
+-
+- switch (type)
+- {
+- case DBUS_TYPE_STRING:
+- str = dbus_message_iter_get_string (&iter);
+- printf ("string:%s\n", str);
+- break;
+-
+- case DBUS_TYPE_INT32:
+- int32 = dbus_message_iter_get_int32 (&iter);
+- printf ("int32:%d\n", int32);
+- break;
+-
+- case DBUS_TYPE_UINT32:
+- uint32 = dbus_message_iter_get_uint32 (&iter);
+- printf ("int32:%u\n", uint32);
+- break;
+-
+- case DBUS_TYPE_DOUBLE:
+- d = dbus_message_iter_get_double (&iter);
+- printf ("double:%f\n", d);
+- break;
+-
+- case DBUS_TYPE_BYTE:
+- byte = dbus_message_iter_get_byte (&iter);
+- printf ("byte:%d\n", byte);
+- break;
+-
+- case DBUS_TYPE_BOOLEAN:
+- boolean = dbus_message_iter_get_boolean (&iter);
+- printf ("boolean:%s\n", boolean ? "true" : "false");
+- break;
+-
+- default:
+- printf ("(unknown arg type %d)\n", type);
+- break;
+- }
+- } while (dbus_message_iter_next (&iter));
++ iterate (&iter, DBUS_TYPE_INVALID);
+ }
+
+Index: dbus-send.c
+===================================================================
+--- tools/dbus-send.c (revision 691)
++++ tools/dbus-send.c (working copy)
+@@ -34,6 +34,146 @@
+ exit (ecode);
+ }
+
++
++static int
++get_type (char **argv, char *arg)
++{
++ int type;
++
++ if (arg[0] == 0 || !strcmp (arg, "string"))
++ type = DBUS_TYPE_STRING;
++ else if (!strcmp (arg, "int32"))
++ type = DBUS_TYPE_INT32;
++ else if (!strcmp (arg, "uint32"))
++ type = DBUS_TYPE_UINT32;
++ else if (!strcmp (arg, "double"))
++ type = DBUS_TYPE_DOUBLE;
++ else if (!strcmp (arg, "byte"))
++ type = DBUS_TYPE_BYTE;
++ else if (!strcmp (arg, "boolean"))
++ type = DBUS_TYPE_BOOLEAN;
++ else if (!strcmp (arg, "array"))
++ type = DBUS_TYPE_ARRAY;
++ else
++ {
++ fprintf (stderr, "%s: Unknown type \"%s\"\n", argv[0], arg);
++ exit (1);
++ }
++
++ return type;
++}
++
++
++static void
++append (char **argv, char *arg, char *c, DBusMessageIter *iter)
++{
++ int type, atype = 0;
++ dbus_uint32_t uint32;
++ dbus_int32_t int32;
++ double d;
++ unsigned char byte;
++ DBusMessageIter array_iter;
++ int end_found = 0;
++ char *next;
++
++ /* FIXME - we are ignoring OOM returns on all these functions */
++
++ type = get_type(argv, arg);
++ if (type == DBUS_TYPE_ARRAY)
++ {
++ arg = c;
++ c = strchr (c, '[');
++ if (c == NULL)
++ {
++ fprintf (stderr, "%s: Data item \"%s\" is badly formed\n", argv[0], arg);
++ exit (1);
++ }
++
++ if (strchr(c, ']') == NULL)
++ {
++ fprintf (stderr, "%s: Data item \"%s\" is badly formed\n", argv[0], arg);
++ exit (1);
++ }
++
++ *(c++) = 0;
++
++ atype = get_type(argv, arg);
++ }
++
++
++ switch (type)
++ {
++ case DBUS_TYPE_BYTE:
++ byte = strtoul (c, NULL, 0);
++ dbus_message_iter_append_byte (iter, byte);
++ break;
++
++ case DBUS_TYPE_DOUBLE:
++ d = strtod (c, NULL);
++ dbus_message_iter_append_double (iter, d);
++ break;
++
++ case DBUS_TYPE_INT32:
++ int32 = strtol (c, NULL, 0);
++ dbus_message_iter_append_int32 (iter, int32);
++ break;
++
++ case DBUS_TYPE_UINT32:
++ uint32 = strtoul (c, NULL, 0);
++ dbus_message_iter_append_uint32 (iter, uint32);
++ break;
++
++ case DBUS_TYPE_STRING:
++ dbus_message_iter_append_string (iter, c);
++ break;
++
++ case DBUS_TYPE_BOOLEAN:
++ if (strcmp(c, "true") == 0)
++ dbus_message_iter_append_boolean (iter, TRUE);
++ else if (strcmp(c, "false") == 0)
++ dbus_message_iter_append_boolean (iter, FALSE);
++ else
++ {
++ fprintf (stderr, "%s: Expected \"true\" or \"false\" instead of \"%s\"\n", argv[0], c);
++ exit (1);
++ }
++ break;
++
++ case DBUS_TYPE_ARRAY:
++ /* Decompose parameters and put it as array */
++ dbus_message_iter_append_array(iter, &array_iter, atype);
++
++ while(!end_found)
++ {
++ next = strchr(c, ',');
++ if (next == NULL)
++ {
++ next = strchr(c, ']');
++
++ if (next != NULL)
++ next[0] = 0;
++ else
++ break;
++
++ end_found = 1;
++ }
++ else
++ {
++ next[0] = 0;
++ next++;
++ }
++
++ append (argv, arg, c, &array_iter);
++ c = next;
++ }
++ break;
++
++ default:
++ fprintf (stderr, "%s: Unsupported data type\n", argv[0]);
++ exit (1);
++ }
++}
++
+ int
+ main (int argc, char *argv[])
+ {
+@@ -174,12 +314,7 @@
+ {
+ char *arg;
+ char *c;
+- int type;
+- dbus_uint32_t uint32;
+- dbus_int32_t int32;
+- double d;
+- unsigned char byte;
+-
++
+ type = DBUS_TYPE_INVALID;
+ arg = argv[i++];
+ c = strchr (arg, ':');
+@@ -192,67 +327,7 @@
+
+ *(c++) = 0;
+
+- if (arg[0] == 0 || !strcmp (arg, "string"))
+- type = DBUS_TYPE_STRING;
+- else if (!strcmp (arg, "int32"))
+- type = DBUS_TYPE_INT32;
+- else if (!strcmp (arg, "uint32"))
+- type = DBUS_TYPE_UINT32;
+- else if (!strcmp (arg, "double"))
+- type = DBUS_TYPE_DOUBLE;
+- else if (!strcmp (arg, "byte"))
+- type = DBUS_TYPE_BYTE;
+- else if (!strcmp (arg, "boolean"))
+- type = DBUS_TYPE_BOOLEAN;
+- else
+- {
+- fprintf (stderr, "%s: Unknown type \"%s\"\n", argv[0], arg);
+- exit (1);
+- }
+-
+- /* FIXME - we are ignoring OOM returns on all these functions */
+- switch (type)
+- {
+- case DBUS_TYPE_BYTE:
+- byte = strtoul (c, NULL, 0);
+- dbus_message_iter_append_byte (&iter, byte);
+- break;
+-
+- case DBUS_TYPE_DOUBLE:
+- d = strtod (c, NULL);
+- dbus_message_iter_append_double (&iter, d);
+- break;
+-
+- case DBUS_TYPE_INT32:
+- int32 = strtol (c, NULL, 0);
+- dbus_message_iter_append_int32 (&iter, int32);
+- break;
+-
+- case DBUS_TYPE_UINT32:
+- uint32 = strtoul (c, NULL, 0);
+- dbus_message_iter_append_uint32 (&iter, uint32);
+- break;
+-
+- case DBUS_TYPE_STRING:
+- dbus_message_iter_append_string (&iter, c);
+- break;
+-
+- case DBUS_TYPE_BOOLEAN:
+- if (strcmp(c, "true") == 0)
+- dbus_message_iter_append_boolean (&iter, TRUE);
+- else if (strcmp(c, "false") == 0)
+- dbus_message_iter_append_boolean (&iter, FALSE);
+- else
+- {
+- fprintf (stderr, "%s: Expected \"true\" or \"false\" instead of \"%s\"\n", argv[0], c);
+- exit (1);
+- }
+- break;
+-
+- default:
+- fprintf (stderr, "%s: Unsupported data type\n", argv[0]);
+- exit (1);
+- }
++ append (argv, arg, c, &iter);
+ }
+
+ if (print_reply)
diff --git a/meta/packages/dbus/dbus/gettext.patch b/meta/packages/dbus/dbus/gettext.patch
new file mode 100644
index 0000000000..7042bd0903
--- /dev/null
+++ b/meta/packages/dbus/dbus/gettext.patch
@@ -0,0 +1,164 @@
+Index: dbus-0.23/configure.in
+===================================================================
+--- dbus-0.23.orig/configure.in 2005-04-02 17:14:37.780040976 -0500
++++ dbus-0.23/configure.in 2005-04-02 17:14:38.024003888 -0500
+@@ -22,6 +22,9 @@
+ AC_ISC_POSIX
+ AC_HEADER_STDC
+
++AM_GNU_GETTEXT_VERSION(0.11.5)
++AM_GNU_GETTEXT([external], [need-ngettext])
++
+ AC_ARG_ENABLE(qt, [ --enable-qt enable Qt-friendly client library],enable_qt=$enableval,enable_qt=auto)
+ AC_ARG_ENABLE(glib, [ --enable-glib enable GLib-friendly client library],enable_glib=$enableval,enable_glib=auto)
+ AC_ARG_ENABLE(gtk, [ --enable-gtk enable GTK-requiring executables],enable_gtk=$enableval,enable_gtk=auto)
+Index: dbus-0.23/glib/Makefile.am
+===================================================================
+--- dbus-0.23.orig/glib/Makefile.am 2004-07-29 04:00:45.000000000 -0400
++++ dbus-0.23/glib/Makefile.am 2005-04-02 17:22:27.302662688 -0500
+@@ -15,7 +15,7 @@
+ dbus-gvalue.c \
+ dbus-gvalue.h
+
+-libdbus_glib_1_la_LIBADD= $(DBUS_GLIB_LIBS) $(top_builddir)/dbus/libdbus-1.la
++libdbus_glib_1_la_LIBADD= $(DBUS_GLIB_LIBS) $(LIBINTL) $(top_builddir)/dbus/libdbus-1.la
+ ## don't export symbols that start with "_" (we use this
+ ## convention for internal symbols)
+ libdbus_glib_1_la_LDFLAGS= -export-symbols-regex "^[^_].*"
+Index: dbus-0.23/glib/dbus-glib-tool.c
+===================================================================
+--- dbus-0.23.orig/glib/dbus-glib-tool.c 2004-08-09 23:07:00.000000000 -0400
++++ dbus-0.23/glib/dbus-glib-tool.c 2005-04-02 17:14:38.024003888 -0500
+@@ -26,8 +26,13 @@
+ #include "dbus-gparser.h"
+ #include "dbus-gutils.h"
+ #include <locale.h>
++
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+ #include <stdio.h>
+ #include <stdlib.h>
+Index: dbus-0.23/glib/dbus-glib.c
+===================================================================
+--- dbus-0.23.orig/glib/dbus-glib.c 2004-08-09 23:07:00.000000000 -0400
++++ dbus-0.23/glib/dbus-glib.c 2005-04-02 17:14:38.024003888 -0500
+@@ -27,8 +27,12 @@
+ #include "dbus-gtest.h"
+ #include "dbus-gutils.h"
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ /**
+Index: dbus-0.23/glib/dbus-gmain.c
+===================================================================
+--- dbus-0.23.orig/glib/dbus-gmain.c 2004-11-13 02:07:47.000000000 -0500
++++ dbus-0.23/glib/dbus-gmain.c 2005-04-02 17:14:38.025003736 -0500
+@@ -27,8 +27,12 @@
+ #include "dbus-gtest.h"
+ #include "dbus-gutils.h"
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ /**
+Index: dbus-0.23/glib/dbus-gparser.c
+===================================================================
+--- dbus-0.23.orig/glib/dbus-gparser.c 2004-08-09 23:07:00.000000000 -0400
++++ dbus-0.23/glib/dbus-gparser.c 2005-04-02 17:14:38.025003736 -0500
+@@ -20,12 +20,18 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
++
++#include <config.h>
+ #include "dbus-gparser.h"
+ #include "dbus-gidl.h"
+ #include <string.h>
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) gettext ((x))
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ #ifndef DOXYGEN_SHOULD_SKIP_THIS
+Index: dbus-0.23/tools/Makefile.am
+===================================================================
+--- dbus-0.23.orig/tools/Makefile.am 2004-04-21 17:29:07.000000000 -0400
++++ dbus-0.23/tools/Makefile.am 2005-04-02 17:22:00.712704976 -0500
+@@ -37,8 +37,8 @@
+
+ dbus_send_LDADD= $(top_builddir)/dbus/libdbus-1.la
+ dbus_monitor_LDADD= $(top_builddir)/glib/libdbus-glib-1.la
+-dbus_launch_LDADD= $(DBUS_X_LIBS)
+-dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
++dbus_launch_LDADD= $(DBUS_X_LIBS) $(LIBINTL)
++dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(LIBINTL) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
+
+ man_MANS = dbus-send.1 dbus-monitor.1 dbus-launch.1 dbus-cleanup-sockets.1
+ EXTRA_DIST = $(man_MANS)
+Index: dbus-0.23/tools/dbus-launch.c
+===================================================================
+--- dbus-0.23.orig/tools/dbus-launch.c 2004-08-09 23:07:01.000000000 -0400
++++ dbus-0.23/tools/dbus-launch.c 2005-04-02 17:14:38.026003584 -0500
+@@ -22,6 +22,8 @@
+ */
+ #include <config.h>
+ #include <stdlib.h>
++#include <sys/time.h>
++#include <sys/types.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <signal.h>
+Index: dbus-0.23/tools/dbus-tree-view.c
+===================================================================
+--- dbus-0.23.orig/tools/dbus-tree-view.c 2004-08-09 23:07:01.000000000 -0400
++++ dbus-0.23/tools/dbus-tree-view.c 2005-04-02 17:14:38.026003584 -0500
+@@ -24,8 +24,12 @@
+ #include <config.h>
+ #include "dbus-tree-view.h"
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ enum
+Index: dbus-0.23/tools/dbus-viewer.c
+===================================================================
+--- dbus-0.23.orig/tools/dbus-viewer.c 2004-08-09 23:07:01.000000000 -0400
++++ dbus-0.23/tools/dbus-viewer.c 2005-04-02 17:14:38.027003432 -0500
+@@ -30,8 +30,12 @@
+ #include <glib/dbus-gparser.h>
+ #include <glib/dbus-gutils.h>
+
++#ifdef HAVE_GETTEXT
+ #include <libintl.h>
+ #define _(x) dgettext (GETTEXT_PACKAGE, x)
++#else
++#define _(x) x
++#endif
+ #define N_(x) x
+
+ typedef struct
diff --git a/meta/packages/dbus/dbus/no-bindings.patch b/meta/packages/dbus/dbus/no-bindings.patch
new file mode 100644
index 0000000000..12ba00ff70
--- /dev/null
+++ b/meta/packages/dbus/dbus/no-bindings.patch
@@ -0,0 +1,12 @@
+--- dbus-0.34/tools/Makefile.am.old 2005-06-27 21:48:44.000000000 +0100
++++ dbus-0.34/tools/Makefile.am 2005-06-27 21:49:04.000000000 +0100
+@@ -6,9 +6,6 @@
+ nodist_libdbus_glib_HEADERS = dbus-glib-bindings.h
+ libdbus_glibdir = $(includedir)/dbus-1.0/dbus
+
+-dbus-glib-bindings.h: dbus-bus-introspect.xml $(top_builddir)/glib/dbus-binding-tool
+- $(top_builddir)/glib/dbus-binding-tool --mode=glib-client --output=dbus-glib-bindings.h dbus-bus-introspect.xml
+-
+ BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml
+
+ else
diff --git a/meta/packages/dbus/dbus/no-examples.patch b/meta/packages/dbus/dbus/no-examples.patch
new file mode 100644
index 0000000000..8767705cee
--- /dev/null
+++ b/meta/packages/dbus/dbus/no-examples.patch
@@ -0,0 +1,8 @@
+--- dbus-0.36.2/glib/Makefile.am.orig 2005-09-06 17:30:26 +0200
++++ dbus-0.36.2/glib/Makefile.am 2005-09-06 17:30:34 +0200
+@@ -1,4 +1,4 @@
+-SUBDIRS = . examples
++SUBDIRS = .
+
+ INCLUDES=-I$(top_srcdir) $(DBUS_CLIENT_CFLAGS) $(DBUS_GLIB_CFLAGS) $(DBUS_GLIB_TOOL_CFLAGS) -DDBUS_COMPILATION=1 -DDBUS_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\"
+
diff --git a/meta/packages/dbus/dbus/no-introspect.patch b/meta/packages/dbus/dbus/no-introspect.patch
new file mode 100644
index 0000000000..d7ae8e4cad
--- /dev/null
+++ b/meta/packages/dbus/dbus/no-introspect.patch
@@ -0,0 +1,19 @@
+--- dbus-0.34/tools/Makefile.am.old 2005-06-27 20:54:36.000000000 +0100
++++ dbus-0.34/tools/Makefile.am 2005-06-27 20:54:43.000000000 +0100
+@@ -21,16 +21,6 @@
+ GTK_TOOLS=
+ endif
+
+-if HAVE_GLIB
+-noinst_PROGRAMS = print-introspect
+-
+-print_introspect_SOURCES = print-introspect.c
+-print_introspect_LDADD = $(top_builddir)/glib/libdbus-glib-1.la
+-
+-dbus-bus-introspect.xml: $(top_builddir)/bus/dbus-daemon dbus-launch print-introspect $(top_builddir)/bus/dbus-daemon
+- DBUS_TOP_BUILDDIR=$(top_builddir) $(srcdir)/run-with-tmp-session-bus.sh ./print-introspect org.freedesktop.DBus /org/freedesktop/DBus > dbus-bus-introspect.xml.tmp && mv dbus-bus-introspect.xml.tmp dbus-bus-introspect.xml
+-endif
+-
+ bin_PROGRAMS=dbus-send $(GLIB_TOOLS) dbus-launch dbus-cleanup-sockets $(GTK_TOOLS)
+
+ dbus_send_SOURCES= \
diff --git a/meta/packages/dbus/dbus/spawn-priority.diff b/meta/packages/dbus/dbus/spawn-priority.diff
new file mode 100644
index 0000000000..954d2512fa
--- /dev/null
+++ b/meta/packages/dbus/dbus/spawn-priority.diff
@@ -0,0 +1,17 @@
+diff -ur dbus/dbus/dbus-spawn.c dbus.work/dbus/dbus-spawn.c
+--- dbus/dbus/dbus-spawn.c 2005-03-14 14:25:02.849823496 +0200
++++ dbus.work/dbus/dbus-spawn.c 2005-03-14 14:34:43.947483224 +0200
+@@ -1117,6 +1117,12 @@
+ }
+ else if (grandchild_pid == 0)
+ {
++ int p;
++ errno = 0;
++ p = getpriority(PRIO_PROCESS, 0);
++ if (!errno && p < 0) {
++ setpriority(PRIO_PROCESS, 0, 0);
++ }
+ do_exec (child_err_report_pipe[WRITE_END],
+ argv,
+ child_setup, user_data);
+Only in dbus.work/dbus: dbus-spawn.c~
diff --git a/meta/packages/dbus/dbus/tmpdir.patch b/meta/packages/dbus/dbus/tmpdir.patch
new file mode 100644
index 0000000000..838b903f0a
--- /dev/null
+++ b/meta/packages/dbus/dbus/tmpdir.patch
@@ -0,0 +1,30 @@
+--- dbus-0.22/configure.in.orig 2004-08-13 00:57:16.000000000 +0200
++++ dbus-0.22/configure.in 2004-12-30 21:15:57.000000000 +0100
+@@ -1047,15 +1048,18 @@
+ AC_SUBST(ABSOLUTE_TOP_BUILDDIR)
+
+ #### Find socket directories
+-if ! test -z "$TMPDIR" ; then
+- DEFAULT_SOCKET_DIR=$TMPDIR
+-elif ! test -z "$TEMP" ; then
+- DEFAULT_SOCKET_DIR=$TEMP
+-elif ! test -z "$TMP" ; then
+- DEFAULT_SOCKET_DIR=$TMP
+-else
+- DEFAULT_SOCKET_DIR=/tmp
+-fi
++#if ! test -z "$TMPDIR" ; then
++# DEFAULT_SOCKET_DIR=$TMPDIR
++#elif ! test -z "$TEMP" ; then
++# DEFAULT_SOCKET_DIR=$TEMP
++#elif ! test -z "$TMP" ; then
++# DEFAULT_SOCKET_DIR=$TMP
++#else
++# DEFAULT_SOCKET_DIR=/tmp
++#fi
++
++# checks disabled to avoid expanding this at build time
++DEFAULT_SOCKET_DIR=/tmp
+
+ if ! test -z "$with_test_socket_dir" ; then
+ TEST_SOCKET_DIR="$with_test_socket_dir"
diff --git a/meta/packages/dbus/dbus/tools.diff b/meta/packages/dbus/dbus/tools.diff
new file mode 100644
index 0000000000..d9e8712983
--- /dev/null
+++ b/meta/packages/dbus/dbus/tools.diff
@@ -0,0 +1,12 @@
+Only in /home/kihamala/svn/dbus/tools: .svn
+diff -ur tools/dbus-launch.c /home/kihamala/svn/dbus/tools/dbus-launch.c
+--- tools/dbus-launch.c 2004-08-10 06:07:01.000000000 +0300
++++ /home/kihamala/svn/dbus/tools/dbus-launch.c 2005-02-09 17:59:05.000000000 +0200
+@@ -20,6 +20,7 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
++#include <sys/select.h>
+ #include <config.h>
+ #include <stdlib.h>
+ #include <unistd.h>
diff --git a/meta/packages/dbus/dbus_0.60.bb b/meta/packages/dbus/dbus_0.60.bb
new file mode 100644
index 0000000000..e827457371
--- /dev/null
+++ b/meta/packages/dbus/dbus_0.60.bb
@@ -0,0 +1,13 @@
+include dbus_${PV}.inc
+
+
+DEPENDS = "expat glib-2.0 virtual/libintl dbus-native"
+SRC_URI_EXTRA = "file://no-introspect.patch;patch=1 file://no-bindings.patch;patch=1"
+
+FILES_${PN} += "${bindir}/dbus-daemon"
+FILES_${PN}-dev += "${bindir}/dbus-binding-tool"
+
+do_configure_prepend() {
+ install -m 0644 ${STAGING_DIR}/${BUILD_SYS}/share/dbus/dbus-bus-introspect.xml ${S}/tools/
+ install -m 0644 ${STAGING_DIR}/${BUILD_SYS}/share/dbus/dbus-glib-bindings.h ${S}/tools/
+}
diff --git a/meta/packages/dbus/dbus_0.60.inc b/meta/packages/dbus/dbus_0.60.inc
new file mode 100644
index 0000000000..70546ed5b1
--- /dev/null
+++ b/meta/packages/dbus/dbus_0.60.inc
@@ -0,0 +1,64 @@
+SECTION = "base"
+PR = "r0"
+HOMEPAGE = "http://www.freedesktop.org/Software/dbus"
+DESCRIPTION = "message bus system for applications to talk to one another"
+LICENSE = "GPL"
+DEPENDS = "expat glib-2.0 virtual/libintl"
+
+SRC_URI = "http://freedesktop.org/software/dbus/releases/dbus-${PV}.tar.gz \
+ file://cross.patch;patch=1 \
+ file://tmpdir.patch;patch=1 \
+ file://dbus-1.init \
+ file://no-examples.patch;patch=1 \
+ ${SRC_URI_EXTRA}"
+
+inherit autotools pkgconfig update-rc.d gettext
+
+INITSCRIPT_NAME = "dbus-1"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session.conf"
+
+FILES_${PN} = "${bindir}/dbus-daemon ${bindir}/dbus-launch ${bindir}/dbus-cleanup-sockets ${bindir}/dbus-send ${bindir}/dbus-monitor ${sysconfdir} ${datadir}/dbus-1/services ${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool"
+
+pkg_postinst_dbus() {
+#!/bin/sh
+
+# can't do adduser stuff offline
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+MESSAGEUSER=messagebus
+MESSAGEHOME=/var/run/dbus
+
+mkdir -p $MESSAGEHOME || true
+chgrp "$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || addgroup "$MESSAGEUSER"
+chown "$MESSAGEUSER"."$MESSAGEUSER" "$MESSAGEHOME" 2>/dev/null || adduser --system --home "$MESSAGEHOME" --no-create-home --disabled-password --ingroup "$MESSAGEUSER" "$MESSAGEUSER"
+}
+
+EXTRA_OECONF = "--disable-qt --disable-gtk --disable-tests \
+ --disable-checks --disable-xml-docs --disable-doxygen-docs \
+ --with-xml=expat --without-x"
+
+
+do_stage () {
+ oe_libinstall -so -C dbus libdbus-1 ${STAGING_LIBDIR}
+ oe_libinstall -so -C glib libdbus-glib-1 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/dbus-1.0/include/dbus/
+ install -m 0644 dbus/dbus-arch-deps.h ${STAGING_LIBDIR}/dbus-1.0/include/dbus/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/dbus-1.init ${D}${sysconfdir}/init.d/dbus-1
+}
+
+python populate_packages_prepend () {
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_dbus', 'dbus-1', d)
+}
diff --git a/meta/packages/dropbear/dropbear.inc b/meta/packages/dropbear/dropbear.inc
new file mode 100644
index 0000000000..301ac24cb2
--- /dev/null
+++ b/meta/packages/dropbear/dropbear.inc
@@ -0,0 +1,73 @@
+DESCRIPTION = "Dropbear is a lightweight SSH and SCP Implementation"
+HOMEPAGE = "http://matt.ucc.asn.au/dropbear/dropbear.html"
+SECTION = "console/network"
+LICENSE = "MIT"
+DEPENDS = "zlib"
+PROVIDES = "ssh sshd"
+RPROVIDES = "ssh sshd"
+
+SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.gz \
+ file://urandom-xauth-changes-to-options.h.patch;patch=1 \
+ file://configure.patch;patch=1 \
+ file://fix-2kb-keys.patch;patch=1 \
+ file://allow-nopw.patch \
+ file://init"
+
+inherit autotools update-rc.d
+
+INITSCRIPT_NAME = "dropbear"
+INITSCRIPT_PARAMS = "defaults 10"
+
+CFLAGS_prepend = " -I. "
+LD = "${CC}"
+
+SBINCOMMANDS = "dropbear dropbearkey dropbearconvert"
+BINCOMMANDS = "dbclient ssh scp"
+EXTRA_OEMAKE = 'MULTI=1 SCPPROGRESS=1 PROGRAMS="${SBINCOMMANDS} ${BINCOMMANDS}"'
+
+do_configure_prepend() {
+ if [ "x${DISTRO}" != "xfamiliar" -a "${DISTRO_TYPE}" == "debug" ]; then
+ oenote "WARNING: applying allow-nopw.patch which allows password-less logins!"
+ patch -p1 < ${WORKDIR}/allow-nopw.patch
+ fi
+}
+
+do_install() {
+ install -d ${D}${sysconfdir} \
+ ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/default \
+ ${D}${sysconfdir}/dropbear \
+ ${D}${bindir} \
+ ${D}${sbindir} \
+ ${D}${localstatedir}
+
+ install -m 0755 dropbearmulti ${D}${sbindir}/
+ ln -s ${sbindir}/dropbearmulti ${D}${bindir}/dbclient
+
+ for i in ${SBINCOMMANDS}
+ do
+ ln -s ./dropbearmulti ${D}${sbindir}/$i
+ done
+ cat ${WORKDIR}/init | sed -e 's,/etc,${sysconfdir},g' \
+ -e 's,/usr/sbin,${sbindir},g' \
+ -e 's,/var,${localstatedir},g' \
+ -e 's,/usr/bin,${bindir},g' \
+ -e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/dropbear
+ chmod 755 ${D}${sysconfdir}/init.d/dropbear
+}
+
+pkg_postinst () {
+ update-alternatives --install ${bindir}/scp scp ${sbindir}/dropbearmulti 20
+ update-alternatives --install ${bindir}/ssh ssh ${sbindir}/dropbearmulti 20
+}
+
+pkg_postrm_append () {
+ if [ -f "${sysconfdir}/dropbear/dropbear_rsa_host_key" ]; then
+ rm ${sysconfdir}/dropbear/dropbear_rsa_host_key
+ fi
+ if [ -f "${sysconfdir}/dropbear/dropbear_dss_host_key" ]; then
+ rm ${sysconfdir}/dropbear/dropbear_dss_host_key
+ fi
+ update-alternatives --remove ssh ${bindir}/dropbearmulti
+ update-alternatives --remove scp ${bindir}/dropbearmulti
+}
diff --git a/meta/packages/dropbear/dropbear/allow-nopw.patch b/meta/packages/dropbear/dropbear/allow-nopw.patch
new file mode 100644
index 0000000000..1a709b8da0
--- /dev/null
+++ b/meta/packages/dropbear/dropbear/allow-nopw.patch
@@ -0,0 +1,37 @@
+diff -Nurd dropbear-0.45/svr-auth.c dropbear-0.45.patched/svr-auth.c
+--- dropbear-0.45/svr-auth.c 2005-03-06 20:27:02.000000000 -0800
++++ dropbear-0.45.patched/svr-auth.c 2005-03-08 15:22:43.998592744 -0800
+@@ -237,6 +237,7 @@
+ }
+
+ /* check for an empty password */
++#ifdef DISALLOW_EMPTY_PW
+ if (ses.authstate.pw->pw_passwd[0] == '\0') {
+ TRACE(("leave checkusername: empty pword"))
+ dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected",
+@@ -244,7 +245,7 @@
+ send_msg_userauth_failure(0, 1);
+ return DROPBEAR_FAILURE;
+ }
+-
++#endif
+ TRACE(("shell is %s", ses.authstate.pw->pw_shell))
+
+ /* check that the shell is set */
+diff -Nurd dropbear-0.45/svr-authpasswd.c dropbear-0.45.patched/svr-authpasswd.c
+--- dropbear-0.45/svr-authpasswd.c 2005-03-06 20:27:02.000000000 -0800
++++ dropbear-0.45.patched/svr-authpasswd.c 2005-03-08 15:22:44.010591023 -0800
+@@ -64,9 +64,13 @@
+ * since the shadow password may differ to that tested
+ * in auth.c */
+ if (passwdcrypt[0] == '\0') {
++#ifdef DISALLOW_EMPTY_PASSWD
+ dropbear_log(LOG_WARNING, "user '%s' has blank password, rejected",
+ ses.authstate.printableuser);
+ send_msg_userauth_failure(0, 1);
++#else
++ send_msg_userauth_success();
++#endif
+ return;
+ }
+
diff --git a/meta/packages/dropbear/dropbear/chansession-security-fix.patch b/meta/packages/dropbear/dropbear/chansession-security-fix.patch
new file mode 100644
index 0000000000..bc4c461fee
--- /dev/null
+++ b/meta/packages/dropbear/dropbear/chansession-security-fix.patch
@@ -0,0 +1,74 @@
+Date: Sun, 11 Dec 2005 23:30:02 +0800
+From: Matt Johnston <matt@ucc.asn.au>
+To: dropbear@ucc.gu.uwa.edu.au
+Subject: Dropbear 0.47 (and security fix)
+Message-ID: <20051211153002.GH28839@ucc.gu.uwa.edu.au>
+
+Hi all.
+
+I've put up a new release 0.47 of Dropbear, which has
+various fixes and new features - see the change summary
+below.
+http://matt.ucc.asn.au/dropbear/dropbear.html is the
+url as usual or directly at
+http://matt.ucc.asn.au/dropbear/dropbear-0.47.tar.bz2
+
+This release also fixes a potential security issue, which
+may allow authenticated users to run arbitrary code as the
+server user. I'm unsure exactly how likely it is to be
+exploitable, but anyone who's running a multi-user server is
+advised to upgrade. For older releases, the patch is:
+(against chanesssion.c for 0.43 and earlier).
+
+--- dropbear/svr-chansession.c
++++ dropbear/svr-chansession.c
+@@ -810,7 +810,7 @@
+ /* need to increase size */
+ if (i == svr_ses.childpidsize) {
+ svr_ses.childpids = (struct ChildPid*)m_realloc(svr_ses.childpids,
+- sizeof(struct ChildPid) * svr_ses.childpidsize+1);
++ sizeof(struct ChildPid) * (svr_ses.childpidsize+1));
+ svr_ses.childpidsize++;
+ }
+
+
+Matt
+
+
+0.47 - Thurs Dec 8 2005
+
+- SECURITY: fix for buffer allocation error in server code, could potentially
+ allow authenticated users to gain elevated privileges. All multi-user systems
+ running the server should upgrade (or apply the patch available on the
+ Dropbear webpage).
+
+- Fix channel handling code so that redirecting to /dev/null doesn't use
+ 100% CPU.
+
+- Turn on zlib compression for dbclient.
+
+- Set "low delay" TOS bit, can significantly improve interactivity
+ over some links.
+
+- Added client keyboard-interactive mode support, allows operation with
+ newer OpenSSH servers in default config.
+
+- Log when pubkey auth fails because of bad ~/.ssh/authorized_keys permissions
+
+- Improve logging of assertions
+
+- Added aes-256 cipher and sha1-96 hmac.
+
+- Fix twofish so that it actually works.
+
+- Improve PAM prompt comparison.
+
+- Added -g (dbclient) and -a (dropbear server) options to allow
+ connections to listening forwarded ports from remote machines.
+
+- Various other minor fixes
+
+- Compile fixes for glibc 2.1 (ss_family vs __ss_family) and NetBSD
+ (netinet/in_systm.h needs to be included).
+
+
diff --git a/meta/packages/dropbear/dropbear/configure.patch b/meta/packages/dropbear/dropbear/configure.patch
new file mode 100644
index 0000000000..9ae84b2604
--- /dev/null
+++ b/meta/packages/dropbear/dropbear/configure.patch
@@ -0,0 +1,27 @@
+diff -Nurd dropbear-0.45/configure.in dropbear-0.45.patched/configure.in
+--- dropbear-0.45/configure.in 2005-03-06 20:27:02.000000000 -0800
++++ dropbear-0.45.patched/configure.in 2005-03-08 15:22:44.040586721 -0800
+@@ -161,15 +161,20 @@
+ AC_MSG_RESULT(Not using openpty)
+ else
+ AC_MSG_RESULT(Using openpty if available)
+- AC_SEARCH_LIBS(openpty, util, [AC_DEFINE(HAVE_OPENPTY,,Have openpty() function)])
++ AC_SEARCH_LIBS(openpty, util, [dropbear_cv_func_have_openpty=yes])
+ fi
+ ],
+ [
+ AC_MSG_RESULT(Using openpty if available)
+- AC_SEARCH_LIBS(openpty, util, [AC_DEFINE(HAVE_OPENPTY)])
++ AC_SEARCH_LIBS(openpty, util, [dropbear_cv_func_have_openpty=yes])
+ ]
+ )
+-
++
++if test "x$dropbear_cv_func_have_openpty" = "xyes"; then
++ AC_DEFINE(HAVE_OPENPTY,,Have openpty() function)
++ no_ptc_check=yes
++ no_ptmx_check=yes
++fi
+
+ AC_ARG_ENABLE(syslog,
+ [ --disable-syslog Don't include syslog support],
diff --git a/meta/packages/dropbear/dropbear/fix-2kb-keys.patch b/meta/packages/dropbear/dropbear/fix-2kb-keys.patch
new file mode 100644
index 0000000000..ba2b19d44a
--- /dev/null
+++ b/meta/packages/dropbear/dropbear/fix-2kb-keys.patch
@@ -0,0 +1,11 @@
+diff -Nurd dropbear-0.45/kex.h dropbear-0.45.patched/kex.h
+--- dropbear-0.45/kex.h 2005-03-06 20:27:02.000000000 -0800
++++ dropbear-0.45.patched/kex.h 2005-03-08 15:22:44.064583279 -0800
+@@ -64,6 +64,6 @@
+
+ };
+
+-#define MAX_KEXHASHBUF 2000
++#define MAX_KEXHASHBUF 3000
+
+ #endif /* _KEX_H_ */
diff --git a/meta/packages/dropbear/dropbear/init b/meta/packages/dropbear/dropbear/init
new file mode 100755
index 0000000000..d019bdb4ba
--- /dev/null
+++ b/meta/packages/dropbear/dropbear/init
@@ -0,0 +1,98 @@
+#!/bin/sh
+#
+# Do not configure this file. Edit /etc/default/dropbear instead!
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/dropbear
+NAME=dropbear
+DESC="Dropbear SSH server"
+
+DROPBEAR_PORT=22
+DROPBEAR_EXTRA_ARGS=
+NO_START=0
+
+set -e
+
+test ! -r /etc/default/dropbear || . /etc/default/dropbear
+test "$NO_START" = "0" || exit 0
+test -x "$DAEMON" || exit 0
+test ! -h /var/service/dropbear || exit 0
+
+readonly_rootfs=0
+for flag in `awk '{ if ($2 == "/") { split($4,FLAGS,",") } }; END { for (f in FLAGS) print FLAGS[f] }' </proc/mounts`; do
+ case $flag in
+ ro)
+ readonly_rootfs=1
+ ;;
+ esac
+done
+
+if [ $readonly_rootfs = "1" ]; then
+ mkdir -p /var/lib/dropbear
+ DROPBEAR_RSAKEY_DEFAULT="/var/lib/dropbear/dropbear_rsa_host_key"
+ DROPBEAR_DSSKEY_DEFAULT="/var/lib/dropbear/dropbear_dss_host_key"
+else
+ DROPBEAR_RSAKEY_DEFAULT="/etc/dropbear/dropbear_rsa_host_key"
+ DROPBEAR_DSSKEY_DEFAULT="/etc/dropbear/dropbear_dss_host_key"
+fi
+
+test -z "$DROPBEAR_BANNER" || \
+ DROPBEAR_EXTRA_ARGS="$DROPBEAR_EXTRA_ARGS -b $DROPBEAR_BANNER"
+test -n "$DROPBEAR_RSAKEY" || \
+ DROPBEAR_RSAKEY=$DROPBEAR_RSAKEY_DEFAULT
+test -n "$DROPBEAR_DSSKEY" || \
+ DROPBEAR_DSSKEY=$DROPBEAR_DSSKEY_DEFAULT
+test -n "$DROPBEAR_KEYTYPES" || \
+ DROPBEAR_KEYTYPES="rsa"
+
+gen_keys() {
+for t in $DROPBEAR_KEYTYPES; do
+ case $t in
+ rsa)
+ test -f $DROPBEAR_RSAKEY || dropbearkey -t rsa -f $DROPBEAR_RSAKEY
+ ;;
+ dsa)
+ test -f $DROPBEAR_DSSKEY || dropbearkey -t dss -f $DROPBEAR_DSSKEY
+ ;;
+ esac
+done
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ gen_keys
+ KEY_ARGS=""
+ test -f $DROPBEAR_DSSKEY && KEY_ARGS="$KEY_ARGS -d $DROPBEAR_DSSKEY"
+ test -f $DROPBEAR_RSAKEY && KEY_ARGS="$KEY_ARGS -r $DROPBEAR_RSAKEY"
+ start-stop-daemon -S \
+ -x "$DAEMON" -- $KEY_ARGS \
+ -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon -K -x "$DAEMON"
+ echo "$NAME."
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC: "
+ start-stop-daemon -K -x "$DAEMON"
+ sleep 1
+ KEY_ARGS=""
+ test -f $DROPBEAR_DSSKEY && KEY_ARGS="$KEY_ARGS -d $DROPBEAR_DSSKEY"
+ test -f $DROPBEAR_RSAKEY && KEY_ARGS="$KEY_ARGS -r $DROPBEAR_RSAKEY"
+ start-stop-daemon -S \
+ -x "$DAEMON" -- $KEY_ARGS \
+ -p "$DROPBEAR_PORT" $DROPBEAR_EXTRA_ARGS
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch b/meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch
new file mode 100644
index 0000000000..e2b1dd5da5
--- /dev/null
+++ b/meta/packages/dropbear/dropbear/urandom-xauth-changes-to-options.h.patch
@@ -0,0 +1,21 @@
+diff -Nurd dropbear-0.45/options.h dropbear-0.45.patched/options.h
+--- dropbear-0.45/options.h 2005-03-06 20:27:02.000000000 -0800
++++ dropbear-0.45.patched/options.h 2005-03-08 15:25:09.368742090 -0800
+@@ -143,7 +143,7 @@
+ * however significantly reduce the security of your ssh connections
+ * if the PRNG state becomes guessable - make sure you know what you are
+ * doing if you change this. */
+-#define DROPBEAR_RANDOM_DEV "/dev/random"
++#define DROPBEAR_RANDOM_DEV "/dev/urandom"
+
+ /* prngd must be manually set up to produce output */
+ /*#define DROPBEAR_PRNGD_SOCKET "/var/run/dropbear-rng"*/
+@@ -167,7 +167,7 @@
+ /* The command to invoke for xauth when using X11 forwarding.
+ * "-q" for quiet */
+ #ifndef XAUTH_COMMAND
+-#define XAUTH_COMMAND "/usr/X11R6/bin/xauth -q"
++#define XAUTH_COMMAND "xauth -q"
+ #endif
+
+ /* if you want to enable running an sftp server (such as the one included with
diff --git a/meta/packages/dropbear/dropbear_0.47.bb b/meta/packages/dropbear/dropbear_0.47.bb
new file mode 100644
index 0000000000..5990260b87
--- /dev/null
+++ b/meta/packages/dropbear/dropbear_0.47.bb
@@ -0,0 +1,3 @@
+include dropbear.inc
+
+PR = "r2"
diff --git a/meta/packages/e2fsprogs/e2fsprogs-1.38/no-hardlinks.patch b/meta/packages/e2fsprogs/e2fsprogs-1.38/no-hardlinks.patch
new file mode 100644
index 0000000000..979f0d1f08
--- /dev/null
+++ b/meta/packages/e2fsprogs/e2fsprogs-1.38/no-hardlinks.patch
@@ -0,0 +1,82 @@
+--- e2fsprogs-1.38/misc/Makefile.in.orig 2005-11-08 23:56:06.000000000 +0100
++++ e2fsprogs-1.38/misc/Makefile.in 2005-11-08 23:59:15.000000000 +0100
+@@ -230,17 +230,13 @@
+ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir)/$$i; \
+ done
+ @echo " LINK $(root_sbindir)/mkfs.ext2"
+- @$(LN) -f $(DESTDIR)$(root_sbindir)/mke2fs \
+- $(DESTDIR)$(root_sbindir)/mkfs.ext2
++ @(cd $(DESTDIR)$(root_sbindir) && $(LN_S) -f mke2fs mkfs.ext2)
+ @echo " LINK $(root_sbindir)/mkfs.ext3"
+- @$(LN) -f $(DESTDIR)$(root_sbindir)/mke2fs \
+- $(DESTDIR)$(root_sbindir)/mkfs.ext3
++ @(cd $(DESTDIR)$(root_sbindir) && $(LN_S) -f mke2fs mkfs.ext3)
+ @echo " LINK $(root_sbindir)/e2label"
+- @$(LN) -f $(DESTDIR)$(root_sbindir)/tune2fs \
+- $(DESTDIR)$(root_sbindir)/e2label
++ @(cd $(DESTDIR)$(root_sbindir) && $(LN_S) -f tune2fs e2label)
+ @echo " LINK $(root_sbindir)/findfs"
+- @$(LN) -f $(DESTDIR)$(root_sbindir)/tune2fs \
+- $(DESTDIR)$(root_sbindir)/findfs
++ @(cd $(DESTDIR)$(root_sbindir) && $(LN_S) -f tune2fs findfs)
+ @for i in $(UPROGS); do \
+ echo " INSTALL $(bindir)/$$i"; \
+ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir)/$$i; \
+@@ -259,11 +255,9 @@
+ @$(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8.gz \
+ $(DESTDIR)$(man8dir)/mkfs.ext3.8.gz
+ @echo " LINK mkfs.ext2.8"
+- @$(LN) -f $(DESTDIR)$(man8dir)/mke2fs.8 \
+- $(DESTDIR)$(man8dir)/mkfs.ext2.8
++ @(cd $(DESTDIR)$(man8dir) && $(LN_S) -f mke2fs.8 mkfs.ext2.8)
+ @echo " LINK mkfs.ext3.8"
+- @$(LN) -f $(DESTDIR)$(man8dir)/mke2fs.8 \
+- $(DESTDIR)$(man8dir)/mkfs.ext3.8
++ @(cd $(DESTDIR)$(man8dir) && $(LN_S) -f mke2fs.8 mkfs.ext3.8)
+ @for i in $(UMANPAGES); do \
+ $(RM) -f $(DESTDIR)$(man1dir)/$$i.gz; \
+ echo " INSTALL_DATA $(man1dir)/$$i"; \
+--- e2fsprogs-1.38/lib/uuid/Makefile.in.orig 2005-11-08 23:54:17.000000000 +0100
++++ e2fsprogs-1.38/lib/uuid/Makefile.in 2005-11-08 23:55:51.000000000 +0100
+@@ -146,9 +146,9 @@
+ @$(RM) -f $(DESTDIR)$(man3dir)/uuid_generate_random.3.gz \
+ $(DESTDIR)$(man3dir)/uuid_generate_time.3.gz
+ @echo " LINK $(man3dir)/uuid_generate_random.3"
+- @$(LN) -f $(DESTDIR)$(man3dir)/uuid_generate.3 $(DESTDIR)$(man3dir)/uuid_generate_random.3
++ @(cd $(DESTDIR)$(man3dir) && $(LN_S) -f uuid_generate.3 uuid_generate_random.3)
+ @echo " LINK $(man3dir)/uuid_generate_time.3"
+- @$(LN) -f $(DESTDIR)$(man3dir)/uuid_generate.3 $(DESTDIR)$(man3dir)/uuid_generate_time.3
++ @(cd $(DESTDIR)$(man3dir) && $(LN_S) -f uuid_generate.3 uuid_generate_time.3)
+ @echo " INSTALL_DATA $(libdir)/pkgconfig/uuid.pc"
+ @$(INSTALL_DATA) uuid.pc $(DESTDIR)$(libdir)/pkgconfig/uuid.pc
+
+--- e2fsprogs-1.38/e2fsck/Makefile.in.orig 2005-11-08 23:53:07.000000000 +0100
++++ e2fsprogs-1.38/e2fsck/Makefile.in 2005-11-08 23:53:43.000000000 +0100
+@@ -161,11 +161,9 @@
+ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(root_sbindir)/$$i; \
+ done
+ @echo " LINK $(root_sbindir)/fsck.ext2"
+- @$(LN) -f $(DESTDIR)$(root_sbindir)/e2fsck \
+- $(DESTDIR)$(root_sbindir)/fsck.ext2
++ @(cd $(DESTDIR)$(root_sbindir) && $(LN_S) -f e2fsck fsck.ext2)
+ @echo " LINK $(root_sbindir)/fsck.ext3"
+- @$(LN) -f $(DESTDIR)$(root_sbindir)/e2fsck \
+- $(DESTDIR)$(root_sbindir)/fsck.ext3
++ @(cd $(DESTDIR)$(root_sbindir) && $(LN_S) -f e2fsck fsck.ext3)
+ @for i in $(MANPAGES); do \
+ for j in $(COMPRESS_EXT); do \
+ $(RM) -f $(DESTDIR)$(man8dir)/$$i.$$j; \
+@@ -174,11 +172,9 @@
+ $(INSTALL_DATA) $$i $(DESTDIR)$(man8dir)/$$i; \
+ done
+ @echo " LINK $(man8dir)/fsck.ext2.8"
+- @$(LN) -f $(DESTDIR)$(man8dir)/e2fsck.8 \
+- $(DESTDIR)$(man8dir)/fsck.ext2.8
++ @(cd $(DESTDIR)$(man8dir) && $(LN_S) -f e2fsck.8 fsck.ext2.8)
+ @echo " LINK $(man8dir)/fsck.ext3.8"
+- @$(LN) -f $(DESTDIR)$(man8dir)/e2fsck.8 \
+- $(DESTDIR)$(man8dir)/fsck.ext3.8
++ @(cd $(DESTDIR)$(man8dir) && $(LN_S) -f e2fsck.8 fsck.ext3.8)
+
+ install-strip: install
+ @for i in $(PROGS); do \
diff --git a/meta/packages/e2fsprogs/e2fsprogs/compile-subst.patch b/meta/packages/e2fsprogs/e2fsprogs/compile-subst.patch
new file mode 100644
index 0000000000..ccac8ea062
--- /dev/null
+++ b/meta/packages/e2fsprogs/e2fsprogs/compile-subst.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- e2fsprogs-1.33/util/subst.c~compile-subst
++++ e2fsprogs-1.33/util/subst.c
+@@ -10,7 +10,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
+-#include <ctype.h>
++//#include <ctype.h>
+
+ #ifdef HAVE_GETOPT_H
+ #include <getopt.h>
diff --git a/meta/packages/e2fsprogs/e2fsprogs/configure.patch b/meta/packages/e2fsprogs/e2fsprogs/configure.patch
new file mode 100644
index 0000000000..b00e5ea702
--- /dev/null
+++ b/meta/packages/e2fsprogs/e2fsprogs/configure.patch
@@ -0,0 +1,122 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- e2fsprogs-1.33/./lib/uuid/configure.in~configure
++++ e2fsprogs-1.33/./lib/uuid/configure.in
+@@ -2,9 +2,11 @@
+ dnl Not used now, for the future when uuid is separated out into its
+ dnl own package.
+ dnl
+-AC_INIT(gen_uuid.c)
+-AC_PREREQ(2.12)
++AC_INIT
++AC_CONFIG_SRCDIR([gen_uuid.c])
++AC_PREREQ(2.57)
+
+ AC_CHECK_HEADERS(stdlib.h unistd.h sys/sockio.h net/if.h netinet/in.h)
+ AC_CHECK_FUNCS(srandom)
+-AC_OUTPUT(Makefile)
++AC_CONFIG_FILES([Makefile])
++AC_OUTPUT
+--- e2fsprogs-1.33/./configure.in~configure
++++ e2fsprogs-1.33/./configure.in
+@@ -1,5 +1,6 @@
+-AC_INIT(version.h)
+-AC_PREREQ(2.12)
++AC_INIT
++AC_CONFIG_SRCDIR([version.h])
++AC_PREREQ(2.57)
+ MCONFIG=./MCONFIG
+ AC_SUBST_FILE(MCONFIG)
+ BINARY_TYPE=bin
+@@ -537,10 +538,7 @@
+ dnl is not decleared.
+ AC_MSG_CHECKING(whether d_reclen declared in dirent)
+ AC_CACHE_VAL(e2fsprogs_cv_have_d_reclen_dirent,
+- AC_TRY_COMPILE(
+-[#include <dirent.h>], [struct dirent de; de.d_reclen = 0; ],
+- [e2fsprogs_cv_have_d_reclen_dirent=yes],
+- [e2fsprogs_cv_have_d_reclen_dirent=no]))
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <dirent.h>]], [[struct dirent de; de.d_reclen = 0; ]])],[e2fsprogs_cv_have_d_reclen_dirent=yes],[e2fsprogs_cv_have_d_reclen_dirent=no]))
+ AC_MSG_RESULT($e2fsprogs_cv_have_d_reclen_dirent)
+ if test "$e2fsprogs_cv_have_d_reclen_dirent" = yes; then
+ AC_DEFINE(HAVE_RECLEN_DIRENT)
+@@ -548,10 +546,7 @@
+ dnl Check to see if ssize_t was decleared
+ AC_MSG_CHECKING(whether ssize_t declared)
+ AC_CACHE_VAL(e2fsprogs_cv_have_ssize_t,
+- AC_TRY_COMPILE(
+-[#include <sys/types.h>], [ssize_t a = 0; ],
+- [e2fsprogs_cv_have_ssize_t=yes],
+- [e2fsprogs_cv_have_ssize_t=no]))
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]], [[ssize_t a = 0; ]])],[e2fsprogs_cv_have_ssize_t=yes],[e2fsprogs_cv_have_ssize_t=no]))
+ AC_MSG_RESULT($e2fsprogs_cv_have_ssize_t)
+ if test "$e2fsprogs_cv_have_ssize_t" = yes; then
+ AC_DEFINE(HAVE_TYPE_SSIZE_T)
+@@ -565,10 +560,7 @@
+ dnl
+ AC_MSG_CHECKING(whether llseek declared in unistd.h)
+ AC_CACHE_VAL(e2fsprogs_cv_have_llseek_prototype,
+- AC_TRY_COMPILE(
+-[#include <unistd.h>], [extern int llseek(int);],
+- [e2fsprogs_cv_have_llseek_prototype=no],
+- [e2fsprogs_cv_have_llseek_prototype=yes]))
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>]], [[extern int llseek(int);]])],[e2fsprogs_cv_have_llseek_prototype=no],[e2fsprogs_cv_have_llseek_prototype=yes]))
+ AC_MSG_RESULT($e2fsprogs_cv_have_llseek_prototype)
+ if test "$e2fsprogs_cv_have_llseek_prototype" = yes; then
+ AC_DEFINE(HAVE_LLSEEK_PROTOTYPE)
+@@ -584,12 +576,9 @@
+ dnl
+ AC_MSG_CHECKING(whether lseek64 declared in unistd.h)
+ AC_CACHE_VAL(e2fsprogs_cv_have_lseek64_prototype,
+- AC_TRY_COMPILE(
+-[#define _LARGEFILE_SOURCE
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#define _LARGEFILE_SOURCE
+ #define _LARGEFILE64_SOURCE
+-#include <unistd.h>], [extern int lseek64(int);],
+- [e2fsprogs_cv_have_lseek64_prototype=no],
+- [e2fsprogs_cv_have_lseek64_prototype=yes]))
++#include <unistd.h>]], [[extern int lseek64(int);]])],[e2fsprogs_cv_have_lseek64_prototype=no],[e2fsprogs_cv_have_lseek64_prototype=yes]))
+ AC_MSG_RESULT($e2fsprogs_cv_have_lseek64_prototype)
+ if test "$e2fsprogs_cv_have_lseek64_prototype" = yes; then
+ AC_DEFINE(HAVE_LSEEK64_PROTOTYPE)
+@@ -624,18 +613,12 @@
+ dnl
+ AC_MSG_CHECKING(whether struct stat has a st_flags field)
+ AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
+- AC_TRY_COMPILE([#include <sys/stat.h>],
+- [struct stat stat; stat.st_flags = 0;],
+- [e2fsprogs_cv_struct_st_flags=yes],
+- [e2fsprogs_cv_struct_st_flags=no]))
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[struct stat stat; stat.st_flags = 0;]])],[e2fsprogs_cv_struct_st_flags=yes],[e2fsprogs_cv_struct_st_flags=no]))
+ AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
+ if test "$e2fsprogs_cv_struct_st_flags" = yes; then
+ AC_MSG_CHECKING(whether st_flags field is useful)
+ AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
+- AC_TRY_COMPILE([#include <sys/stat.h>],
+- [struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
+- [e2fsprogs_cv_struct_st_flags_immut=yes],
+- [e2fsprogs_cv_struct_st_flags_immut=no]))
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/stat.h>]], [[struct stat stat; stat.st_flags |= UF_IMMUTABLE;]])],[e2fsprogs_cv_struct_st_flags_immut=yes],[e2fsprogs_cv_struct_st_flags_immut=no]))
+ AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
+ if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
+ AC_DEFINE(HAVE_STAT_FLAGS)
+@@ -747,8 +730,7 @@
+ AC_MSG_CHECKING([whether linker accepts -static])
+ AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
+ [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
+-AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
+- ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]], [[fflush(stdout);]])],[ac_cv_e2fsprogs_use_static=yes],[ac_cv_e2fsprogs_use_static=no])
+ LDFLAGS=$SAVE_LDFLAGS])
+ dnl
+ dnl Regardless of how the test turns out, Solaris doesn't handle -static
+@@ -804,4 +786,5 @@
+ outlist="$outlist $i"
+ fi
+ done
+-AC_OUTPUT($outlist)
++AC_CONFIG_FILES([$outlist])
++AC_OUTPUT
diff --git a/meta/packages/e2fsprogs/e2fsprogs/e2fsprogs_1.34.bb b/meta/packages/e2fsprogs/e2fsprogs/e2fsprogs_1.34.bb
new file mode 100644
index 0000000000..a9576b6860
--- /dev/null
+++ b/meta/packages/e2fsprogs/e2fsprogs/e2fsprogs_1.34.bb
@@ -0,0 +1,18 @@
+DESCRIPTION="EXT2 Filesystem Utilities"
+SECTION="base"
+PRIORITY="optional"
+MAINTAINER="Greg Gilbert <greg@treke.net>"
+RDEPENDS="libc6"
+DEPENDS=virtual/libc
+
+SRC_URI=${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz \
+ file://${FILESDIR}/ln.patch;patch=1 \
+ file://${FILESDIR}/configure.patch;patch=1 \
+ file://${FILESDIR}/compile-subst.patch;patch=1 \
+ file://${FILESDIR}/m4.patch;patch=1
+
+inherit autotools
+
+do_compile_prepend () {
+ find ./ -print|xargs chmod u=rwX
+}
diff --git a/meta/packages/e2fsprogs/e2fsprogs/ldflags.patch b/meta/packages/e2fsprogs/e2fsprogs/ldflags.patch
new file mode 100644
index 0000000000..0a7ed4ed74
--- /dev/null
+++ b/meta/packages/e2fsprogs/e2fsprogs/ldflags.patch
@@ -0,0 +1,27 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- e2fsprogs-1.34/lib/uuid/Makefile.in~ldflags
++++ e2fsprogs-1.34/lib/uuid/Makefile.in
+@@ -94,7 +94,7 @@
+ $(CC) $(ALL_LDFLAGS) -o tst_uuid tst_uuid.o $(STATIC_LIBUUID)
+
+ uuid_time: $(srcdir)/uuid_time.c $(DEPLIBUUID)
+- $(CC) $(ALL_CFLAGS) -DDEBUG -o uuid_time $(srcdir)/uuid_time.c \
++ $(CC) $(ALL_CFLAGS) -DDEBUG $(ALL_LDFLAGS) -o uuid_time $(srcdir)/uuid_time.c \
+ $(LIBUUID)
+
+ libuuid.3: $(DEP_SUBSTITUTE) $(srcdir)/libuuid.3.in
+--- e2fsprogs-1.34/lib/evms/Makefile.in~ldflags
++++ e2fsprogs-1.34/lib/evms/Makefile.in
+@@ -36,7 +36,7 @@
+
+ $(ELF_LIB): $(OBJS)
+ $(CC) --shared -o $(ELF_LIB) -Wl,-soname,$(ELF_SONAME) \
+- $(OBJS) $(ELF_OTHER_LIBS)
++ $(OBJS) $(ELF_OTHER_LIBS) $(ALL_LDFLAGS)
+
+ installdirs::
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(ELF_INSTALL_DIR)
diff --git a/meta/packages/e2fsprogs/e2fsprogs/ln.patch b/meta/packages/e2fsprogs/e2fsprogs/ln.patch
new file mode 100644
index 0000000000..247def8b36
--- /dev/null
+++ b/meta/packages/e2fsprogs/e2fsprogs/ln.patch
@@ -0,0 +1,58 @@
+diff -urNd e2fsprogs-1.32/e2fsck/Makefile.in e2fsprogs-1.32-new/e2fsck/Makefile.in
+--- e2fsprogs-1.32/e2fsck/Makefile.in 2002-10-31 02:49:21.000000000 -0600
++++ e2fsprogs-1.32-new/e2fsck/Makefile.in 2002-11-29 11:06:39.000000000 -0600
+@@ -145,9 +145,9 @@
+ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(root_sbindir)/$$i; \
+ $(STRIP) $(DESTDIR)$(root_sbindir)/$$i; \
+ done
+- $(LN) -f $(DESTDIR)$(root_sbindir)/e2fsck \
++ $(LN_S) -f ./e2fsck \
+ $(DESTDIR)$(root_sbindir)/fsck.ext2
+- $(LN) -f $(DESTDIR)$(root_sbindir)/e2fsck \
++ $(LN_S) -f ./e2fsck \
+ $(DESTDIR)$(root_sbindir)/fsck.ext3
+ for i in $(MANPAGES); do \
+ for j in $(COMPRESS_EXT); do \
+@@ -155,8 +155,8 @@
+ done; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(man8dir)/$$i; \
+ done
+- $(LN) -f $(DESTDIR)$(man8dir)/e2fsck.8 $(DESTDIR)$(man8dir)/fsck.ext2.8
+- $(LN) -f $(DESTDIR)$(man8dir)/e2fsck.8 $(DESTDIR)$(man8dir)/fsck.ext3.8
++ $(LN_S) -f ./e2fsck.8 $(DESTDIR)$(man8dir)/fsck.ext2.8
++ $(LN_S) -f ./e2fsck.8 $(DESTDIR)$(man8dir)/fsck.ext3.8
+
+ uninstall:
+ for i in $(PROGS); do \
+diff -urNd e2fsprogs-1.32/misc/Makefile.in e2fsprogs-1.32-new/misc/Makefile.in
+--- e2fsprogs-1.32/misc/Makefile.in 2002-10-31 02:49:21.000000000 -0600
++++ e2fsprogs-1.32-new/misc/Makefile.in 2002-11-29 11:05:25.000000000 -0600
+@@ -154,13 +154,13 @@
+ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir)/$$i; \
+ $(STRIP) $(DESTDIR)$(sbindir)/$$i; \
+ done
+- $(LN) -f $(DESTDIR)$(root_sbindir)/mke2fs \
++ $(LN_S) -f ./mke2fs \
+ $(DESTDIR)$(root_sbindir)/mkfs.ext2
+- $(LN) -f $(DESTDIR)$(root_sbindir)/mke2fs \
++ $(LN_S) -f ./mke2fs \
+ $(DESTDIR)$(root_sbindir)/mkfs.ext3
+- $(LN) -f $(DESTDIR)$(root_sbindir)/tune2fs \
++ $(LN_S) -f ./tune2fs \
+ $(DESTDIR)$(root_sbindir)/e2label
+- $(LN) -f $(DESTDIR)$(root_sbindir)/tune2fs \
++ $(LN_S) -f ./tune2fs \
+ $(DESTDIR)$(root_sbindir)/findfs
+ for i in $(UPROGS); do \
+ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir)/$$i; \
+@@ -174,8 +174,8 @@
+ done
+ $(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8.gz \
+ $(DESTDIR)$(man8dir)/mkfs.ext3.8.gz
+- $(LN) -f $(DESTDIR)$(man8dir)/mke2fs.8 $(DESTDIR)$(man8dir)/mkfs.ext2.8
+- $(LN) -f $(DESTDIR)$(man8dir)/mke2fs.8 $(DESTDIR)$(man8dir)/mkfs.ext3.8
++ $(LN_S) -f ./mke2fs.8 $(DESTDIR)$(man8dir)/mkfs.ext2.8
++ $(LN_S) -f ./mke2fs.8 $(DESTDIR)$(man8dir)/mkfs.ext3.8
+ for i in $(UMANPAGES); do \
+ $(RM) -f $(DESTDIR)$(man1dir)/$$i.gz; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$i; \
diff --git a/meta/packages/e2fsprogs/e2fsprogs/m4.patch b/meta/packages/e2fsprogs/e2fsprogs/m4.patch
new file mode 100644
index 0000000000..2a9b2a64f1
--- /dev/null
+++ b/meta/packages/e2fsprogs/e2fsprogs/m4.patch
@@ -0,0 +1,2155 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/codeset.m4
+@@ -0,0 +1,23 @@
++# codeset.m4 serial AM1 (gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_LANGINFO_CODESET],
++[
++ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
++ [AC_TRY_LINK([#include <langinfo.h>],
++ [char* cs = nl_langinfo(CODESET);],
++ am_cv_langinfo_codeset=yes,
++ am_cv_langinfo_codeset=no)
++ ])
++ if test $am_cv_langinfo_codeset = yes; then
++ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
++ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/gettext.m4
+@@ -0,0 +1,587 @@
++# gettext.m4 serial 17 (gettext-0.11.5)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
++
++dnl Macro to add for using GNU gettext.
++
++dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
++dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
++dnl default (if it is not specified or empty) is 'no-libtool'.
++dnl INTLSYMBOL should be 'external' for packages with no intl directory,
++dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
++dnl If INTLSYMBOL is 'use-libtool', then a libtool library
++dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
++dnl depending on --{enable,disable}-{shared,static} and on the presence of
++dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
++dnl $(top_builddir)/intl/libintl.a will be created.
++dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
++dnl implementations (in libc or libintl) without the ngettext() function
++dnl will be ignored. If NEEDSYMBOL is specified and is
++dnl 'need-formatstring-macros', then GNU gettext implementations that don't
++dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
++dnl INTLDIR is used to find the intl libraries. If empty,
++dnl the value `$(top_builddir)/intl/' is used.
++dnl
++dnl The result of the configuration is one of three cases:
++dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
++dnl and used.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 2) GNU gettext has been found in the system's C library.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 3) No internationalization, always use English msgid.
++dnl Catalog format: none
++dnl Catalog extension: none
++dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
++dnl The use of .gmo is historical (it was needed to avoid overwriting the
++dnl GNU format catalogs when building on a platform with an X/Open gettext),
++dnl but we keep it in order not to force irrelevant filename changes on the
++dnl maintainers.
++dnl
++AC_DEFUN([AM_GNU_GETTEXT],
++[
++ dnl Argument checking.
++ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
++ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
++])])])])])
++ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
++ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
++])])])])
++ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
++ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
++
++ AC_REQUIRE([AM_PO_SUBDIRS])dnl
++ ifelse(gt_included_intl, yes, [
++ AC_REQUIRE([AM_INTL_SUBDIR])dnl
++ ])
++
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ dnl Ideally we would do this search only after the
++ dnl if test "$USE_NLS" = "yes"; then
++ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
++ dnl the configure script would need to contain the same shell code
++ dnl again, outside any 'if'. There are two solutions:
++ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
++ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
++ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
++ dnl documented, we avoid it.
++ ifelse(gt_included_intl, yes, , [
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++ ])
++
++ AC_MSG_CHECKING([whether NLS is requested])
++ dnl Default is enabled NLS
++ AC_ARG_ENABLE(nls,
++ [ --disable-nls do not use Native Language Support],
++ USE_NLS=$enableval, USE_NLS=yes)
++ AC_MSG_RESULT($USE_NLS)
++ AC_SUBST(USE_NLS)
++
++ ifelse(gt_included_intl, yes, [
++ BUILD_INCLUDED_LIBINTL=no
++ USE_INCLUDED_LIBINTL=no
++ ])
++ LIBINTL=
++ LTLIBINTL=
++ POSUB=
++
++ dnl If we use NLS figure out what method
++ if test "$USE_NLS" = "yes"; then
++ gt_use_preinstalled_gnugettext=no
++ ifelse(gt_included_intl, yes, [
++ AC_MSG_CHECKING([whether included gettext is requested])
++ AC_ARG_WITH(included-gettext,
++ [ --with-included-gettext use the GNU gettext library included here],
++ nls_cv_force_use_gnu_gettext=$withval,
++ nls_cv_force_use_gnu_gettext=no)
++ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
++
++ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
++ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
++ ])
++ dnl User does not insist on using GNU NLS library. Figure out what
++ dnl to use. If GNU gettext is available we use this. Else we have
++ dnl to fall back to GNU NLS library.
++
++ dnl Add a version number to the cache macros.
++ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
++ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
++ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
++
++ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
++ [AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern int *_nl_domain_bindings;],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
++ gt_cv_func_gnugettext_libc=yes,
++ gt_cv_func_gnugettext_libc=no)])
++
++ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ ifelse(gt_included_intl, yes, , [
++ AM_ICONV_LINK
++ ])
++ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
++ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
++ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
++ dnl even if libiconv doesn't exist.
++ AC_LIB_LINKFLAGS_BODY([intl])
++ AC_CACHE_CHECK([for GNU gettext in libintl],
++ gt_cv_func_gnugettext_libintl,
++ [gt_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $INCINTL"
++ gt_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBINTL"
++ dnl Now see whether libintl exists and does not depend on libiconv.
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ gt_cv_func_gnugettext_libintl=yes,
++ gt_cv_func_gnugettext_libintl=no)
++ dnl Now see whether libintl exists and depends on libiconv.
++ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ [LIBINTL="$LIBINTL $LIBICONV"
++ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
++ gt_cv_func_gnugettext_libintl=yes
++ ])
++ fi
++ CPPFLAGS="$gt_save_CPPFLAGS"
++ LIBS="$gt_save_LIBS"])
++ fi
++
++ dnl If an already present or preinstalled GNU gettext() is found,
++ dnl use it. But if this macro is used in GNU gettext, and GNU
++ dnl gettext is already preinstalled in libintl, we update this
++ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
++ if test "$gt_cv_func_gnugettext_libc" = "yes" \
++ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
++ && test "$PACKAGE" != gettext; }; then
++ gt_use_preinstalled_gnugettext=yes
++ else
++ dnl Reset the values set by searching for libintl.
++ LIBINTL=
++ LTLIBINTL=
++ INCINTL=
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
++ dnl GNU gettext is not found in the C library.
++ dnl Fall back on included GNU gettext library.
++ nls_cv_use_gnu_gettext=yes
++ fi
++ fi
++
++ if test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions used to generate GNU NLS library.
++ INTLOBJS="\$(GETTOBJS)"
++ BUILD_INCLUDED_LIBINTL=yes
++ USE_INCLUDED_LIBINTL=yes
++ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
++ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
++ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
++ fi
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions to use GNU gettext tools.
++ CATOBJEXT=.gmo
++ fi
++ ])
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ AC_DEFINE(ENABLE_NLS, 1,
++ [Define to 1 if translation of program messages to the user's native language
++ is requested.])
++ else
++ USE_NLS=no
++ fi
++ fi
++
++ if test "$USE_NLS" = "yes"; then
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
++ AC_MSG_CHECKING([how to link with libintl])
++ AC_MSG_RESULT([$LIBINTL])
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
++ fi
++
++ dnl For backward compatibility. Some packages may be using this.
++ AC_DEFINE(HAVE_GETTEXT, 1,
++ [Define if the GNU gettext() function is already present or preinstalled.])
++ AC_DEFINE(HAVE_DCGETTEXT, 1,
++ [Define if the GNU dcgettext() function is already present or preinstalled.])
++ fi
++
++ dnl We need to process the po/ directory.
++ POSUB=po
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
++ dnl to 'yes' because some of the testsuite requires it.
++ if test "$PACKAGE" = gettext; then
++ BUILD_INCLUDED_LIBINTL=yes
++ fi
++
++ dnl Make all variables we use known to autoconf.
++ AC_SUBST(BUILD_INCLUDED_LIBINTL)
++ AC_SUBST(USE_INCLUDED_LIBINTL)
++ AC_SUBST(CATOBJEXT)
++ AC_SUBST(INTLOBJS)
++
++ dnl For backward compatibility. Some configure.ins may be using this.
++ nls_cv_header_intl=
++ nls_cv_header_libgt=
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ DATADIRNAME=share
++ AC_SUBST(DATADIRNAME)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INSTOBJEXT=.mo
++ AC_SUBST(INSTOBJEXT)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ GENCAT=gencat
++ AC_SUBST(GENCAT)
++
++ dnl Enable libtool support if the surrounding package wishes it.
++ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
++ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
++ ])
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INTLLIBS="$LIBINTL"
++ AC_SUBST(INTLLIBS)
++
++ dnl Make all documented variables known to autoconf.
++ AC_SUBST(LIBINTL)
++ AC_SUBST(LTLIBINTL)
++ AC_SUBST(POSUB)
++])
++
++
++dnl Checks for all prerequisites of the po subdirectory,
++dnl except for USE_NLS.
++AC_DEFUN([AM_PO_SUBDIRS],
++[
++ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++
++ dnl Perform the following tests also if --disable-nls has been given,
++ dnl because they are needed for "make dist" to work.
++
++ dnl Search for GNU msgfmt in the PATH.
++ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
++ dnl The second test excludes FreeBSD msgfmt.
++ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
++ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
++
++ dnl Search for GNU xgettext 0.11 or newer in the PATH.
++ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
++ dnl The second test excludes FreeBSD xgettext.
++ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
++ [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++
++ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
++ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
++ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU msgfmt.
++ if test "$GMSGFMT" != ":"; then
++ dnl If it is no GNU msgfmt we define it as : so that the
++ dnl Makefiles still can work.
++ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
++ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
++ AC_MSG_RESULT(
++ [found $GMSGFMT program is not GNU msgfmt; ignore it])
++ GMSGFMT=":"
++ fi
++ fi
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU xgettext.
++ if test "$XGETTEXT" != ":"; then
++ dnl If it is no GNU xgettext we define it as : so that the
++ dnl Makefiles still can work.
++ if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
++ (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ AC_MSG_RESULT(
++ [found xgettext program is not GNU xgettext; ignore it])
++ XGETTEXT=":"
++ fi
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++ fi
++
++ AC_OUTPUT_COMMANDS([
++ for ac_file in $CONFIG_FILES; do
++ # Support "outfile[:infile[:infile...]]"
++ case "$ac_file" in
++ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++ esac
++ # PO directories have a Makefile.in generated from Makefile.in.in.
++ case "$ac_file" in */Makefile.in)
++ # Adjust a relative srcdir.
++ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++ # In autoconf-2.13 it is called $ac_given_srcdir.
++ # In autoconf-2.50 it is called $srcdir.
++ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++ case "$ac_given_srcdir" in
++ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++ /*) top_srcdir="$ac_given_srcdir" ;;
++ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
++ esac
++ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
++ rm -f "$ac_dir/POTFILES"
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
++ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
++ # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
++ # on $ac_dir but don't depend on user-specified configuration
++ # parameters.
++ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++ # The LINGUAS file contains the set of available languages.
++ if test -n "$ALL_LINGUAS"; then
++ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++ fi
++ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++ # Hide the ALL_LINGUAS assigment from automake.
++ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++ fi
++ case "$ac_given_srcdir" in
++ .) srcdirpre= ;;
++ *) srcdirpre='$(srcdir)/' ;;
++ esac
++ POFILES=
++ GMOFILES=
++ UPDATEPOFILES=
++ DUMMYPOFILES=
++ for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++ done
++ # CATALOGS depends on both $ac_dir and the user's LINGUAS
++ # environment variable.
++ INST_LINGUAS=
++ if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test "%UNSET%" != "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ # Use the presentlang catalog if desiredlang is
++ # a. equal to presentlang, or
++ # b. a variant of presentlang (because in this case,
++ # presentlang can be used as a fallback for messages
++ # which are not translated in the desiredlang catalog).
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++ fi
++ CATALOGS=
++ if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ done
++ fi
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
++ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
++ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
++ if test -f "$f"; then
++ case "$f" in
++ *.orig | *.bak | *~) ;;
++ *) cat "$f" >> "$ac_dir/Makefile" ;;
++ esac
++ fi
++ done
++ fi
++ ;;
++ esac
++ done],
++ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
++ # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
++ # from automake.
++ eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
++ # Capture the value of LINGUAS because we need it to compute CATALOGS.
++ LINGUAS="${LINGUAS-%UNSET%}"
++ ])
++])
++
++
++dnl Checks for all prerequisites of the intl subdirectory,
++dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
++dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
++AC_DEFUN([AM_INTL_SUBDIR],
++[
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++ AC_REQUIRE([AC_PROG_RANLIB])dnl
++ AC_REQUIRE([AC_ISC_POSIX])dnl
++ AC_REQUIRE([AC_HEADER_STDC])dnl
++ AC_REQUIRE([AC_C_CONST])dnl
++ AC_REQUIRE([AC_C_INLINE])dnl
++ AC_REQUIRE([AC_TYPE_OFF_T])dnl
++ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
++ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
++ AC_REQUIRE([AC_FUNC_MMAP])dnl
++ AC_REQUIRE([jm_GLIBC21])dnl
++ AC_REQUIRE([gt_INTDIV0])dnl
++ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
++ AC_REQUIRE([gt_INTTYPES_PRI])dnl
++
++ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
++stdlib.h string.h unistd.h sys/param.h])
++ AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
++geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
++strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
++
++ AM_ICONV
++ AM_LANGINFO_CODESET
++ if test $ac_cv_header_locale_h = yes; then
++ AM_LC_MESSAGES
++ fi
++
++ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
++ dnl because plural.y uses bison specific features. It requires at least
++ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
++ dnl compile.
++ dnl bison is only needed for the maintainer (who touches plural.y). But in
++ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
++ dnl the rule in general Makefile. Now, some people carelessly touch the
++ dnl files or have a broken "make" program, hence the plural.c rule will
++ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
++ dnl present or too old.
++ AC_CHECK_PROGS([INTLBISON], [bison])
++ if test -z "$INTLBISON"; then
++ ac_verc_fail=yes
++ else
++ dnl Found it, now check the version.
++ AC_MSG_CHECKING([version of bison])
++changequote(<<,>>)dnl
++ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
++ case $ac_prog_version in
++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
++ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
++changequote([,])dnl
++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
++ esac
++ AC_MSG_RESULT([$ac_prog_version])
++ fi
++ if test $ac_verc_fail = yes; then
++ INTLBISON=:
++ fi
++])
++
++
++AC_DEFUN([AM_MKINSTALLDIRS],
++[
++ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
++ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
++ dnl Try to locate is.
++ MKINSTALLDIRS=
++ if test -n "$ac_aux_dir"; then
++ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
++ fi
++ if test -z "$MKINSTALLDIRS"; then
++ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
++ fi
++ AC_SUBST(MKINSTALLDIRS)
++])
++
++
++dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
++AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/glibc21.m4
+@@ -0,0 +1,32 @@
++# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# Test for the GNU C Library, version 2.1 or newer.
++# From Bruno Haible.
++
++AC_DEFUN([jm_GLIBC21],
++ [
++ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
++ ac_cv_gnu_library_2_1,
++ [AC_EGREP_CPP([Lucky GNU user],
++ [
++#include <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
++ Lucky GNU user
++ #endif
++#endif
++ ],
++ ac_cv_gnu_library_2_1=yes,
++ ac_cv_gnu_library_2_1=no)
++ ]
++ )
++ AC_SUBST(GLIBC21)
++ GLIBC21="$ac_cv_gnu_library_2_1"
++ ]
++)
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/glib.m4
+@@ -0,0 +1,196 @@
++# Configure paths for GLIB
++# Owen Taylor 97-11-3
++
++dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
++dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or
++dnl gthread is specified in MODULES, pass to glib-config
++dnl
++AC_DEFUN(AM_PATH_GLIB,
++[dnl
++dnl Get the cflags and libraries from the glib-config script
++dnl
++AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)],
++ glib_config_prefix="$withval", glib_config_prefix="")
++AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)],
++ glib_config_exec_prefix="$withval", glib_config_exec_prefix="")
++AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program],
++ , enable_glibtest=yes)
++
++ if test x$glib_config_exec_prefix != x ; then
++ glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config
++ fi
++ fi
++ if test x$glib_config_prefix != x ; then
++ glib_config_args="$glib_config_args --prefix=$glib_config_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_prefix/bin/glib-config
++ fi
++ fi
++
++ for module in . $4
++ do
++ case "$module" in
++ gmodule)
++ glib_config_args="$glib_config_args gmodule"
++ ;;
++ gthread)
++ glib_config_args="$glib_config_args gthread"
++ ;;
++ esac
++ done
++
++ AC_PATH_PROG(GLIB_CONFIG, glib-config, no)
++ min_glib_version=ifelse([$1], ,0.99.7,$1)
++ AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
++ no_glib=""
++ if test "$GLIB_CONFIG" = "no" ; then
++ no_glib=yes
++ else
++ GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags`
++ GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs`
++ glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
++ glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
++ glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
++ if test "x$enable_glibtest" = "xyes" ; then
++ ac_save_CFLAGS="$CFLAGS"
++ ac_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$GLIB_LIBS $LIBS"
++dnl
++dnl Now check if the installed GLIB is sufficiently new. (Also sanity
++dnl checks the results of glib-config to some extent
++dnl
++ rm -f conf.glibtest
++ AC_TRY_RUN([
++#include <glib.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++int
++main ()
++{
++ int major, minor, micro;
++ char *tmp_version;
++
++ system ("touch conf.glibtest");
++
++ /* HP/UX 9 (%@#!) writes to sscanf strings */
++ tmp_version = g_strdup("$min_glib_version");
++ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++ printf("%s, bad version string\n", "$min_glib_version");
++ exit(1);
++ }
++
++ if ((glib_major_version != $glib_config_major_version) ||
++ (glib_minor_version != $glib_config_minor_version) ||
++ (glib_micro_version != $glib_config_micro_version))
++ {
++ printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
++ $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf ("*** was found! If glib-config was correct, then it is best\n");
++ printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n");
++ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
++ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
++ printf("*** required on your system.\n");
++ printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n");
++ printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n");
++ printf("*** before re-running configure\n");
++ }
++ else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
++ (glib_minor_version != GLIB_MINOR_VERSION) ||
++ (glib_micro_version != GLIB_MICRO_VERSION))
++ {
++ printf("*** GLIB header files (version %d.%d.%d) do not match\n",
++ GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
++ printf("*** library (version %d.%d.%d)\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ }
++ else
++ {
++ if ((glib_major_version > major) ||
++ ((glib_major_version == major) && (glib_minor_version > minor)) ||
++ ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
++ {
++ return 0;
++ }
++ else
++ {
++ printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
++ major, minor, micro);
++ printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
++ printf("***\n");
++ printf("*** If you have already installed a sufficiently new version, this error\n");
++ printf("*** probably means that the wrong copy of the glib-config shell script is\n");
++ printf("*** being found. The easiest way to fix this is to remove the old version\n");
++ printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n");
++ printf("*** correct copy of glib-config. (In this case, you will have to\n");
++ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
++ printf("*** so that the correct libraries are found at run-time))\n");
++ }
++ }
++ return 1;
++}
++],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ if test "x$no_glib" = x ; then
++ AC_MSG_RESULT(yes)
++ ifelse([$2], , :, [$2])
++ else
++ AC_MSG_RESULT(no)
++ if test "$GLIB_CONFIG" = "no" ; then
++ echo "*** The glib-config script installed by GLIB could not be found"
++ echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in"
++ echo "*** your path, or set the GLIB_CONFIG environment variable to the"
++ echo "*** full path to glib-config."
++ else
++ if test -f conf.glibtest ; then
++ :
++ else
++ echo "*** Could not run GLIB test program, checking why..."
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$LIBS $GLIB_LIBS"
++ AC_TRY_LINK([
++#include <glib.h>
++#include <stdio.h>
++], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
++ [ echo "*** The test program compiled, but did not run. This usually means"
++ echo "*** that the run-time linker is not finding GLIB or finding the wrong"
++ echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
++ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
++ echo "*** to the installed location Also, make sure you have run ldconfig if that"
++ echo "*** is required on your system"
++ echo "***"
++ echo "*** If you have an old version installed, it is best to remove it, although"
++ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
++ echo "***"
++ echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
++ echo "*** came with the system with the command"
++ echo "***"
++ echo "*** rpm --erase --nodeps gtk gtk-devel" ],
++ [ echo "*** The test program failed to compile or link. See the file config.log for the"
++ echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
++ echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
++ echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ GLIB_CFLAGS=""
++ GLIB_LIBS=""
++ ifelse([$3], , :, [$3])
++ fi
++ AC_SUBST(GLIB_CFLAGS)
++ AC_SUBST(GLIB_LIBS)
++ rm -f conf.glibtest
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/iconv.m4
+@@ -0,0 +1,103 @@
++# iconv.m4 serial AM4 (gettext-0.11.3)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
++[
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([iconv])
++])
++
++AC_DEFUN([AM_ICONV_LINK],
++[
++ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
++ dnl those with the standalone portable GNU libiconv installed).
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++
++ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed libiconv and not disabled its use
++ dnl via --without-libiconv-prefix, he wants to use it. The first
++ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
++ am_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
++
++ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
++ am_cv_func_iconv="no, consider installing GNU libiconv"
++ am_cv_lib_iconv=no
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_func_iconv=yes)
++ if test "$am_cv_func_iconv" != yes; then
++ am_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_lib_iconv=yes
++ am_cv_func_iconv=yes)
++ LIBS="$am_save_LIBS"
++ fi
++ ])
++ if test "$am_cv_func_iconv" = yes; then
++ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
++ fi
++ if test "$am_cv_lib_iconv" = yes; then
++ AC_MSG_CHECKING([how to link with libiconv])
++ AC_MSG_RESULT([$LIBICONV])
++ else
++ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
++ dnl either.
++ CPPFLAGS="$am_save_CPPFLAGS"
++ LIBICONV=
++ LTLIBICONV=
++ fi
++ AC_SUBST(LIBICONV)
++ AC_SUBST(LTLIBICONV)
++])
++
++AC_DEFUN([AM_ICONV],
++[
++ AM_ICONV_LINK
++ if test "$am_cv_func_iconv" = yes; then
++ AC_MSG_CHECKING([for iconv declaration])
++ AC_CACHE_VAL(am_cv_proto_iconv, [
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <iconv.h>
++extern
++#ifdef __cplusplus
++"C"
++#endif
++#if defined(__STDC__) || defined(__cplusplus)
++size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
++#else
++size_t iconv();
++#endif
++], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
++ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
++ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
++ AC_MSG_RESULT([$]{ac_t:-
++ }[$]am_cv_proto_iconv)
++ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
++ [Define as const if the declaration of iconv() needs const.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/intdiv0.m4
+@@ -0,0 +1,72 @@
++# intdiv0.m4 serial 1 (gettext-0.11.3)
++dnl Copyright (C) 2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([gt_INTDIV0],
++[
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
++ gt_cv_int_divbyzero_sigfpe,
++ [
++ AC_TRY_RUN([
++#include <stdlib.h>
++#include <signal.h>
++
++static void
++#ifdef __cplusplus
++sigfpe_handler (int sig)
++#else
++sigfpe_handler (sig) int sig;
++#endif
++{
++ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
++ exit (sig != SIGFPE);
++}
++
++int x = 1;
++int y = 0;
++int z;
++int nan;
++
++int main ()
++{
++ signal (SIGFPE, sigfpe_handler);
++/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
++#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
++ signal (SIGTRAP, sigfpe_handler);
++#endif
++/* Linux/SPARC yields signal SIGILL. */
++#if defined (__sparc__) && defined (__linux__)
++ signal (SIGILL, sigfpe_handler);
++#endif
++
++ z = x / y;
++ nan = y / y;
++ exit (1);
++}
++], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
++ [
++ # Guess based on the CPU.
++ case "$host_cpu" in
++ alpha* | i[34567]86 | m68k | s390*)
++ gt_cv_int_divbyzero_sigfpe="guessing yes";;
++ *)
++ gt_cv_int_divbyzero_sigfpe="guessing no";;
++ esac
++ ])
++ ])
++ case "$gt_cv_int_divbyzero_sigfpe" in
++ *yes) value=1;;
++ *) value=0;;
++ esac
++ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
++ [Define if integer division by zero raises signal SIGFPE.])
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/inttypes_h.m4
+@@ -0,0 +1,28 @@
++# inttypes_h.m4 serial 4 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_inttypes_h=yes,
++ jm_ac_cv_header_inttypes_h=no)])
++ if test $jm_ac_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
++[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/inttypes.m4
+@@ -0,0 +1,27 @@
++# inttypes.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
++# <sys/types.h>.
++
++AC_DEFUN([gt_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
++ [
++ AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
++ ])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
++ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/inttypes-pri.m4
+@@ -0,0 +1,32 @@
++# inttypes-pri.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
++# macros to non-string values. This is the case on AIX 4.3.3.
++
++AC_DEFUN([gt_INTTYPES_PRI],
++[
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
++ gt_cv_inttypes_pri_broken,
++ [
++ AC_TRY_COMPILE([#include <inttypes.h>
++#ifdef PRId32
++char *p = PRId32;
++#endif
++], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
++ ])
++ fi
++ if test "$gt_cv_inttypes_pri_broken" = yes; then
++ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
++ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/isc-posix.m4
+@@ -0,0 +1,26 @@
++# isc-posix.m4 serial 2 (gettext-0.11.2)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
++
++# This test replaces the one in autoconf.
++# Currently this macro should have the same name as the autoconf macro
++# because gettext's gettext.m4 (distributed in the automake package)
++# still uses it. Otherwise, the use in gettext.m4 makes autoheader
++# give these diagnostics:
++# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
++# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
++
++undefine([AC_ISC_POSIX])
++
++AC_DEFUN([AC_ISC_POSIX],
++ [
++ dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
++ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
++ ]
++)
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/lcmessage.m4
+@@ -0,0 +1,32 @@
++# lcmessage.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
++
++# Check whether LC_MESSAGES is available in <locale.h>.
++
++AC_DEFUN([AM_LC_MESSAGES],
++[
++ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
++ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
++ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
++ if test $am_cv_val_LC_MESSAGES = yes; then
++ AC_DEFINE(HAVE_LC_MESSAGES, 1,
++ [Define if your <locale.h> file defines LC_MESSAGES.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/lib-ld.m4
+@@ -0,0 +1,97 @@
++# lib-ld.m4 serial 1 (gettext-0.11)
++dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl Subroutines of libtool.m4,
++dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
++dnl with libtool.m4.
++
++dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
++AC_DEFUN([AC_LIB_PROG_LD_GNU],
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
++[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
++if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
++ acl_cv_prog_gnu_ld=yes
++else
++ acl_cv_prog_gnu_ld=no
++fi])
++with_gnu_ld=$acl_cv_prog_gnu_ld
++])
++
++dnl From libtool-1.4. Sets the variable LD.
++AC_DEFUN([AC_LIB_PROG_LD],
++[AC_ARG_WITH(gnu-ld,
++[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
++test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ AC_MSG_CHECKING([for ld used by GCC])
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [[\\/]* | [A-Za-z]:[\\/]*)]
++ [re_direlt='/[^/][^/]*/\.\./']
++ # Canonicalize the path of ld
++ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
++ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ AC_MSG_CHECKING([for GNU ld])
++else
++ AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(acl_cv_path_LD,
++[if test -z "$LD"; then
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
++ for ac_dir in $PATH; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ acl_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some GNU ld's only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
++ test "$with_gnu_ld" != no && break
++ else
++ test "$with_gnu_ld" != yes && break
++ fi
++ fi
++ done
++ IFS="$ac_save_ifs"
++else
++ acl_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$acl_cv_path_LD"
++if test -n "$LD"; then
++ AC_MSG_RESULT($LD)
++else
++ AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++AC_LIB_PROG_LD_GNU
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/lib-link.m4
+@@ -0,0 +1,554 @@
++# lib-link.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
++dnl augments the CPPFLAGS variable.
++AC_DEFUN([AC_LIB_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
++ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
++ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
++ ])
++ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
++ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
++ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
++ dnl results of this search when this library appears as a dependency.
++ HAVE_LIB[]NAME=yes
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
++dnl searches for libname and the libraries corresponding to explicit and
++dnl implicit dependencies, together with the specified include files and
++dnl the ability to compile and link the specified testcode. If found, it
++dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
++dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
++dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
++dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
++AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++
++ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++
++ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed lib[]Name and not disabled its use
++ dnl via --without-lib[]Name-prefix, he wants to use it.
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++
++ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
++ ac_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIB[]NAME"
++ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
++ LIBS="$ac_save_LIBS"
++ ])
++ if test "$ac_cv_lib[]Name" = yes; then
++ HAVE_LIB[]NAME=yes
++ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
++ AC_MSG_CHECKING([how to link with lib[]$1])
++ AC_MSG_RESULT([$LIB[]NAME])
++ else
++ HAVE_LIB[]NAME=no
++ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
++ dnl $INC[]NAME either.
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ LIB[]NAME=
++ LTLIB[]NAME=
++ fi
++ AC_SUBST([HAVE_LIB]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl Determine the platform dependent parameters needed to use rpath:
++dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
++dnl hardcode_direct, hardcode_minus_L,
++dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
++AC_DEFUN([AC_LIB_RPATH],
++[
++ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
++ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
++ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
++ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
++ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
++ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
++ . ./conftest.sh
++ rm -f ./conftest.sh
++ acl_cv_rpath=done
++ ])
++ wl="$acl_cv_wl"
++ libext="$acl_cv_libext"
++ shlibext="$acl_cv_shlibext"
++ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
++ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
++ hardcode_direct="$acl_cv_hardcode_direct"
++ hardcode_minus_L="$acl_cv_hardcode_minus_L"
++ sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
++ sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
++ dnl Determine whether the user wants rpath handling at all.
++ AC_ARG_ENABLE(rpath,
++ [ --disable-rpath do not hardcode runtime library paths],
++ :, enable_rpath=yes)
++])
++
++dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
++AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
++[
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_ARG_WITH([lib$1-prefix],
++[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
++ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ dnl Search the library and its dependencies in $additional_libdir and
++ dnl $LDFLAGS. Using breadth-first-seach.
++ LIB[]NAME=
++ LTLIB[]NAME=
++ INC[]NAME=
++ rpathdirs=
++ ltrpathdirs=
++ names_already_handled=
++ names_next_round='$1 $2'
++ while test -n "$names_next_round"; do
++ names_this_round="$names_next_round"
++ names_next_round=
++ for name in $names_this_round; do
++ already_handled=
++ for n in $names_already_handled; do
++ if test "$n" = "$name"; then
++ already_handled=yes
++ break
++ fi
++ done
++ if test -z "$already_handled"; then
++ names_already_handled="$names_already_handled $name"
++ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
++ dnl or AC_LIB_HAVE_LINKFLAGS call.
++ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++ eval value=\"\$HAVE_LIB$uppername\"
++ if test -n "$value"; then
++ if test "$value" = yes; then
++ eval value=\"\$LIB$uppername\"
++ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
++ eval value=\"\$LTLIB$uppername\"
++ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
++ else
++ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
++ dnl that this library doesn't exist. So just drop it.
++ :
++ fi
++ else
++ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
++ dnl and the already constructed $LIBNAME/$LTLIBNAME.
++ found_dir=
++ found_la=
++ found_so=
++ found_a=
++ if test $use_additional = yes; then
++ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
++ found_dir="$additional_libdir"
++ found_so="$additional_libdir/lib$name.$shlibext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ else
++ if test -f "$additional_libdir/lib$name.$libext"; then
++ found_dir="$additional_libdir"
++ found_a="$additional_libdir/lib$name.$libext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ fi
++ fi
++ fi
++ if test "X$found_dir" = "X"; then
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ case "$x" in
++ -L*)
++ dir=`echo "X$x" | sed -e 's/^X-L//'`
++ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
++ found_dir="$dir"
++ found_so="$dir/lib$name.$shlibext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ else
++ if test -f "$dir/lib$name.$libext"; then
++ found_dir="$dir"
++ found_a="$dir/lib$name.$libext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ fi
++ fi
++ ;;
++ esac
++ if test "X$found_dir" != "X"; then
++ break
++ fi
++ done
++ fi
++ if test "X$found_dir" != "X"; then
++ dnl Found the library.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
++ if test "X$found_so" != "X"; then
++ dnl Linking with a shared library. We attempt to hardcode its
++ dnl directory into the executable's runpath, unless it's the
++ dnl standard /usr/lib.
++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
++ dnl No hardcoding is needed.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $found_dir"
++ fi
++ dnl The hardcoding into $LIBNAME is system dependent.
++ if test "$hardcode_direct" = yes; then
++ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
++ dnl resulting binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $found_dir"
++ fi
++ else
++ dnl Rely on "-L$found_dir".
++ dnl But don't add it if it's already contained in the LDFLAGS
++ dnl or the already constructed $LIBNAME
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
++ fi
++ if test "$hardcode_minus_L" != no; then
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
++ dnl here, because this doesn't fit in flags passed to the
++ dnl compiler. So give up. No hardcoding. This affects only
++ dnl very old systems.
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ fi
++ else
++ if test "X$found_a" != "X"; then
++ dnl Linking with a static library.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
++ else
++ dnl We shouldn't come here, but anyway it's good to have a
++ dnl fallback.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
++ fi
++ fi
++ dnl Assume the include files are nearby.
++ additional_includedir=
++ case "$found_dir" in
++ */lib | */lib/)
++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
++ additional_includedir="$basedir/include"
++ ;;
++ esac
++ if test "X$additional_includedir" != "X"; then
++ dnl Potentially add $additional_includedir to $INCNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 3. if it's already present in $CPPFLAGS or the already
++ dnl constructed $INCNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ for x in $CPPFLAGS $INC[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $INCNAME.
++ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ fi
++ dnl Look for dependencies.
++ if test -n "$found_la"; then
++ dnl Read the .la file. It defines the variables
++ dnl dlname, library_names, old_library, dependency_libs, current,
++ dnl age, revision, installed, dlopen, dlpreopen, libdir.
++ save_libdir="$libdir"
++ case "$found_la" in
++ */* | *\\*) . "$found_la" ;;
++ *) . "./$found_la" ;;
++ esac
++ libdir="$save_libdir"
++ dnl We use only dependency_libs.
++ for dep in $dependency_libs; do
++ case "$dep" in
++ -L*)
++ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 3. if it's already present in $LDFLAGS or the already
++ dnl constructed $LIBNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LIBNAME.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ haveit=
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LTLIBNAME.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ ;;
++ -R*)
++ dir=`echo "X$dep" | sed -e 's/^X-R//'`
++ if test "$enable_rpath" != no; then
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $dir"
++ fi
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $dir"
++ fi
++ fi
++ ;;
++ -l*)
++ dnl Handle this in the next round.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++ ;;
++ *.la)
++ dnl Handle this in the next round. Throw away the .la's
++ dnl directory; it is already contained in a preceding -L
++ dnl option.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++ ;;
++ *)
++ dnl Most likely an immediate library name.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
++ ;;
++ esac
++ done
++ fi
++ else
++ dnl Didn't find the library; assume it is in the system directories
++ dnl known to the linker and runtime loader. (All the system
++ dnl directories known to the linker should also be known to the
++ dnl runtime loader, otherwise the system is severely misconfigured.)
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ done
++ done
++ if test "X$rpathdirs" != "X"; then
++ if test -n "$hardcode_libdir_separator"; then
++ dnl Weird platform: only the last -rpath option counts, the user must
++ dnl pass all path elements in one option. We can arrange that for a
++ dnl single library, but not when more than one $LIBNAMEs are used.
++ alldirs=
++ for found_dir in $rpathdirs; do
++ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++ done
++ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
++ acl_save_libdir="$libdir"
++ libdir="$alldirs"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ else
++ dnl The -rpath options are cumulative.
++ for found_dir in $rpathdirs; do
++ acl_save_libdir="$libdir"
++ libdir="$found_dir"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ done
++ fi
++ fi
++ if test "X$ltrpathdirs" != "X"; then
++ dnl When using libtool, the option that works for both libraries and
++ dnl executables is -R. The -R options are cumulative.
++ for found_dir in $ltrpathdirs; do
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
++ done
++ fi
++])
++
++dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
++dnl unless already present in VAR.
++dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
++dnl contains two or three consecutive elements that belong together.
++AC_DEFUN([AC_LIB_APPENDTOVAR],
++[
++ for element in [$2]; do
++ haveit=
++ for x in $[$1]; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X$element"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ [$1]="${[$1]}${[$1]:+ }$element"
++ fi
++ done
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/lib-prefix.m4
+@@ -0,0 +1,148 @@
++# lib-prefix.m4 serial 1 (gettext-0.11)
++dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
++dnl to access previously installed libraries. The basic assumption is that
++dnl a user will want packages to use other packages he previously installed
++dnl with the same --prefix option.
++dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
++dnl libraries, but is otherwise very convenient.
++AC_DEFUN([AC_LIB_PREFIX],
++[
++ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
++ AC_REQUIRE([AC_PROG_CC])
++ AC_REQUIRE([AC_CANONICAL_HOST])
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_ARG_WITH([lib-prefix],
++[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
++ --without-lib-prefix don't search for libraries in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ if test $use_additional = yes; then
++ dnl Potentially add $additional_includedir to $CPPFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's already present in $CPPFLAGS,
++ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ for x in $CPPFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $CPPFLAGS.
++ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ dnl Potentially add $additional_libdir to $LDFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's already present in $LDFLAGS,
++ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ for x in $LDFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LDFLAGS.
++ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ fi
++])
++
++dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
++dnl acl_final_exec_prefix, containing the values to which $prefix and
++dnl $exec_prefix will expand at the end of the configure script.
++AC_DEFUN([AC_LIB_PREPARE_PREFIX],
++[
++ dnl Unfortunately, prefix and exec_prefix get only finally determined
++ dnl at the end of configure.
++ if test "X$prefix" = "XNONE"; then
++ acl_final_prefix="$ac_default_prefix"
++ else
++ acl_final_prefix="$prefix"
++ fi
++ if test "X$exec_prefix" = "XNONE"; then
++ acl_final_exec_prefix='${prefix}'
++ else
++ acl_final_exec_prefix="$exec_prefix"
++ fi
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
++ prefix="$acl_save_prefix"
++])
++
++dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
++dnl variables prefix and exec_prefix bound to the values they will have
++dnl at the end of the configure script.
++AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
++[
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ $1
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/progtest.m4
+@@ -0,0 +1,59 @@
++# progtest.m4 serial 2 (gettext-0.10.40)
++dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
++
++# Search path for a program which passes the given test.
++
++dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
++dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
++AC_DEFUN([AM_PATH_PROG_WITH_TEST],
++[# Extract the first word of "$2", so it can be a program name with args.
++set dummy $2; ac_word=[$]2
++AC_MSG_CHECKING([for $ac_word])
++AC_CACHE_VAL(ac_cv_path_$1,
++[case "[$]$1" in
++ /*)
++ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
++ ;;
++ *)
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
++ for ac_dir in ifelse([$5], , $PATH, [$5]); do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/$ac_word; then
++ if [$3]; then
++ ac_cv_path_$1="$ac_dir/$ac_word"
++ break
++ fi
++ fi
++ done
++ IFS="$ac_save_ifs"
++dnl If no 4th arg is given, leave the cache variable unset,
++dnl so AC_PATH_PROGS will keep looking.
++ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
++])dnl
++ ;;
++esac])dnl
++$1="$ac_cv_path_$1"
++if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
++ AC_MSG_RESULT([$]$1)
++else
++ AC_MSG_RESULT(no)
++fi
++AC_SUBST($1)dnl
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/stdint_h.m4
+@@ -0,0 +1,28 @@
++# stdint_h.m4 serial 2 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_STDINT_H],
++[
++ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <stdint.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_stdint_h=yes,
++ jm_ac_cv_header_stdint_h=no)])
++ if test $jm_ac_cv_header_stdint_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
++[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/uintmax_t.m4
+@@ -0,0 +1,29 @@
++# uintmax_t.m4 serial 6 (gettext-0.11)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_PREREQ(2.13)
++
++# Define uintmax_t to `unsigned long' or `unsigned long long'
++# if <inttypes.h> does not exist.
++
++AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
++[
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
++ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
++ test $ac_cv_type_unsigned_long_long = yes \
++ && ac_type='unsigned long long' \
++ || ac_type='unsigned long'
++ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
++ [Define to unsigned long or unsigned long long
++ if <inttypes.h> and <stdint.h> don't define.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/ulonglong.m4
+@@ -0,0 +1,23 @@
++# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
++dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
++[
++ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
++ [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
++ [unsigned long long ullmax = (unsigned long long) -1;
++ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
++ ac_cv_type_unsigned_long_long=yes,
++ ac_cv_type_unsigned_long_long=no)])
++ if test $ac_cv_type_unsigned_long_long = yes; then
++ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
++ [Define if you have the unsigned long long type.])
++ fi
++])
diff --git a/meta/packages/e2fsprogs/e2fsprogs_1.38.bb b/meta/packages/e2fsprogs/e2fsprogs_1.38.bb
new file mode 100644
index 0000000000..c27cf4c3fa
--- /dev/null
+++ b/meta/packages/e2fsprogs/e2fsprogs_1.38.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "EXT2 Filesystem Utilities"
+HOMEPAGE = "http://e2fsprogs.sourceforge.net"
+LICENSE = "GPL"
+SECTION = "base"
+PR = "r6"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz \
+ file://no-hardlinks.patch;patch=1"
+S = "${WORKDIR}/e2fsprogs-${PV}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-dynamic-e2fsck --sbindir=${base_sbindir}"
+
+do_compile_prepend () {
+ find ./ -print|xargs chmod u=rwX
+ ( cd util; ${BUILD_CC} subst.c -o subst )
+}
+
+ext2fsheaders = "ext2_ext_attr.h bitops.h ext2_err.h \
+ ext2_types.h ext2_fs.h ext2_io.h \
+ ext2fs.h"
+e2pheaders = "e2p.h"
+
+do_stage () {
+ oe_libinstall -a -C lib libe2p ${STAGING_LIBDIR}/
+ oe_libinstall -a -C lib libext2fs ${STAGING_LIBDIR}/
+ install -d ${STAGING_INCDIR}/e2p
+ for h in ${e2pheaders}; do
+ install -m 0644 lib/e2p/$h ${STAGING_INCDIR}/e2p/ || die "failed to install $h"
+ done
+ install -d ${STAGING_INCDIR}/ext2fs
+ for h in ${ext2fsheaders}; do
+ install -m 0644 lib/ext2fs/$h ${STAGING_INCDIR}/ext2fs/ || die "failed to install $h"
+ done
+}
+
+# blkid used to be part of e2fsprogs but is useful outside, add it
+# as an RDEPENDS so that anything relying on it being in e2fsprogs
+# still works
+RDEPENDS_e2fsprogs = "e2fsprogs-blkid e2fsprogs-uuidgen e2fsprogs-badblocks"
+
+PACKAGES =+ "e2fsprogs-blkid e2fsprogs-uuidgen e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-fsck e2fsprogs-tune2fs e2fsprogs-badblocks"
+FILES_e2fsprogs-blkid = "${base_sbindir}/blkid"
+FILES_e2fsprogs-uuidgen = "${bindir}/uuidgen"
+FILES_e2fsprogs-fsck = "${base_sbindir}/fsck"
+FILES_e2fsprogs-e2fsck = "${base_sbindir}/e2fsck ${base_sbindir}/fsck.ext*"
+FILES_e2fsprogs-mke2fs = "${base_sbindir}/mke2fs ${base_sbindir}/mkfs.ext*"
+FILES_e2fsprogs-tune2fs = "${base_sbindir}/tune2fs ${base_sbindir}/e2label ${base_sbindir}/findfs"
+FILES_e2fsprogs-badblocks = "${base_sbindir}/badblocks" \ No newline at end of file
diff --git a/meta/packages/eds/eds-dbus/disable_orbit.patch b/meta/packages/eds/eds-dbus/disable_orbit.patch
new file mode 100644
index 0000000000..8757666e9d
--- /dev/null
+++ b/meta/packages/eds/eds-dbus/disable_orbit.patch
@@ -0,0 +1,13 @@
+Index: trunk/configure.in
+===================================================================
+--- trunk.orig/configure.in 2006-01-20 02:08:42.555073776 +0000
++++ trunk/configure.in 2006-01-20 10:19:13.631870024 +0000
+@@ -1114,7 +1114,7 @@
+ AC_MSG_RESULT($with_bug_buddy)
+
+ if test "x${with_dbus}" = "xno"; then
+- AM_PATH_ORBIT2(2.9.8)
++dnl AM_PATH_ORBIT2(2.9.8)
+
+ AC_MSG_CHECKING(for CORBA include paths)
+ IDL_INCLUDES="-I "`pkg-config --variable=idldir libbonobo-2.0`" -I "`pkg-config --variable=idldir bonobo-activation-2.0`
diff --git a/meta/packages/eds/eds-dbus/fix_calendar.patch b/meta/packages/eds/eds-dbus/fix_calendar.patch
new file mode 100644
index 0000000000..dab40a822a
--- /dev/null
+++ b/meta/packages/eds/eds-dbus/fix_calendar.patch
@@ -0,0 +1,11 @@
+--- trunk/calendar/libecal-dbus/e-cal.c.old 2006-07-05 12:23:17.000000000 +0100
++++ trunk/calendar/libecal-dbus/e-cal.c 2006-07-05 12:24:17.000000000 +0100
+@@ -2930,7 +2930,7 @@
+ E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_CORBA_EXCEPTION, error);
+ }
+
+- if (uid)
++ if (!uid)
+ E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OTHER_ERROR, error);
+ else
+ E_CALENDAR_CHECK_STATUS (E_CALENDAR_STATUS_OK, error);
diff --git a/meta/packages/eds/eds-dbus/iconv-detect.h b/meta/packages/eds/eds-dbus/iconv-detect.h
new file mode 100644
index 0000000000..46f476d5bc
--- /dev/null
+++ b/meta/packages/eds/eds-dbus/iconv-detect.h
@@ -0,0 +1,5 @@
+/* This is an auto-generated header, DO NOT EDIT! */
+
+#define ICONV_ISO_D_FORMAT "iso-%d-%d"
+#define ICONV_ISO_S_FORMAT "iso-%d-%s"
+#define ICONV_10646 "iso-10646"
diff --git a/meta/packages/eds/eds-dbus/no_iconv_test.patch b/meta/packages/eds/eds-dbus/no_iconv_test.patch
new file mode 100644
index 0000000000..6e33c7889e
--- /dev/null
+++ b/meta/packages/eds/eds-dbus/no_iconv_test.patch
@@ -0,0 +1,70 @@
+Index: trunk/configure.in
+===================================================================
+--- trunk.orig/configure.in 2005-09-28 17:34:08.000000000 +0000
++++ trunk/configure.in 2005-09-28 19:13:22.000000000 +0000
+@@ -213,39 +213,6 @@
+ if test $ac_cv_libiconv = no; then
+ AC_CHECK_FUNCS(gnu_get_libc_version)
+ fi
+- AC_CACHE_CHECK([if iconv() handles UTF-8], ac_cv_libiconv_utf8, AC_TRY_RUN([
+-#include <iconv.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#ifdef HAVE_GNU_GET_LIBC_VERSION
+-#include <gnu/libc-version.h>
+-#endif
+-
+-int main (int argc, char **argv)
+-{
+- const char *from = "Some Text \xA4";
+- const char *utf8 = "Some Text \xC2\xA4";
+- char *transbuf = malloc (20), *trans = transbuf;
+- iconv_t cd;
+- size_t from_len = strlen (from), utf8_len = 20;
+- size_t utf8_real_len = strlen (utf8);
+-
+-#ifdef HAVE_GNU_GET_LIBC_VERSION
+- /* glibc 2.1.2's iconv is broken in hard to test ways. */
+- if (!strcmp (gnu_get_libc_version (), "2.1.2"))
+- exit (1);
+-#endif
+-
+- cd = iconv_open ("UTF-8", "ISO_8859-1");
+- if (cd == (iconv_t) -1)
+- exit (1);
+- if (iconv (cd, &from, &from_len, &trans, &utf8_len) == -1 || from_len != 0)
+- exit (1);
+- if (memcmp (utf8, transbuf, utf8_real_len) != 0)
+- exit (1);
+-
+- exit (0);
+-}], ac_cv_libiconv_utf8=yes, [ac_cv_libiconv_utf8=no; have_iconv=no], [ac_cv_libiconv_utf8=no; have_iconv=no]))
+ fi
+
+ if test "$have_iconv" = no; then
+@@ -254,25 +221,6 @@
+ AC_SUBST(ICONV_CFLAGS)
+ AC_SUBST(ICONV_LIBS)
+
+-CFLAGS="$CFLAGS -I$srcdir"
+-
+-AC_MSG_CHECKING(preferred charset formats for system iconv)
+-AC_TRY_RUN([
+-#define CONFIGURE_IN
+-#include "iconv-detect.c"
+-],[
+- AC_MSG_RESULT(found)
+-],[
+- AC_MSG_RESULT(not found)
+- AC_WARN([
+- *** The iconv-detect program was unable to determine the
+- *** preferred charset formats recognized by your system
+- *** iconv library. It is suggested that you install a
+- *** working iconv library such as the one found at
+- *** ftp://ftp.gnu.org/pub/gnu/libiconv
+- ])
+-])
+-
+ CFLAGS="$save_CFLAGS"
+ LIBS="$save_LIBS"
+
diff --git a/meta/packages/eds/eds-dbus/no_libdb.patch b/meta/packages/eds/eds-dbus/no_libdb.patch
new file mode 100644
index 0000000000..ae9a66deac
--- /dev/null
+++ b/meta/packages/eds/eds-dbus/no_libdb.patch
@@ -0,0 +1,14 @@
+Index: configure.in
+===================================================================
+--- trunk/configure.in (revision 306)
++++ trunk/configure.in (working copy)
+@@ -1353,9 +1353,6 @@
+ if test $enable_calendar = yes; then
+ AC_CONFIG_SUBDIRS(calendar/libical)
+ fi
+-if test $dynamic_libdb = no; then
+- AC_CONFIG_SUBDIRS(libdb/dist)
+-fi
+
+ AC_OUTPUT([
+ Makefile
diff --git a/meta/packages/eds/eds-dbus/no_libedataserverui.patch b/meta/packages/eds/eds-dbus/no_libedataserverui.patch
new file mode 100644
index 0000000000..bb6f78d9f7
--- /dev/null
+++ b/meta/packages/eds/eds-dbus/no_libedataserverui.patch
@@ -0,0 +1,13 @@
+Index: Makefile.am
+===================================================================
+--- trunk/Makefile.am (revision 306)
++++ trunk/Makefile.am (working copy)
+@@ -16,7 +16,7 @@
+ endif
+
+ if ENABLE_DBUS
+-SUBDIRS = $(LIBDB) libedataserver $(CAMEL_DIR) addressbook $(CALENDAR_DIR) libedataserverui docs art po
++SUBDIRS = $(LIBDB) libedataserver $(CAMEL_DIR) addressbook $(CALENDAR_DIR) docs art po
+ else
+ SUBDIRS = $(LIBDB) libedataserver servers $(CAMEL_DIR) addressbook $(CALENDAR_DIR) libedataserverui src docs art po
+ endif
diff --git a/meta/packages/eds/eds-dbus/no_libgnome.patch b/meta/packages/eds/eds-dbus/no_libgnome.patch
new file mode 100644
index 0000000000..a8bae50d03
--- /dev/null
+++ b/meta/packages/eds/eds-dbus/no_libgnome.patch
@@ -0,0 +1,45 @@
+Index: trunk/configure.in
+===================================================================
+--- trunk.orig/configure.in 2005-09-28 20:01:02.000000000 +0000
++++ trunk/configure.in 2005-09-28 21:02:35.000000000 +0000
+@@ -1120,7 +1120,12 @@
+ AC_SUBST(E_DATA_SERVER_CFLAGS)
+ AC_SUBST(E_DATA_SERVER_LIBS)
+
+-E_DATA_SERVER_UI_DEPS="gtk+-2.0 libglade-2.0 gconf-2.0 libgnome-2.0"
++if test "x${with_libgnome}" != "xno"; then
++ E_DATA_SERVER_UI_DEPS="gtk+-2.0 libglade-2.0 gconf-2.0 libgnome-2.0"
++else
++ E_DATA_SERVER_UI_DEPS="gtk+-2.0 libglade-2.0 gconf-2.0"
++fi
++
+
+ EVO_SET_COMPILE_FLAGS(E_DATA_SERVER_UI, $E_DATA_SERVER_UI_DEPS, $THREADS_CFLAGS, $THREADS_LIBS)
+ AC_SUBST(E_DATA_SERVER_UI_CFLAGS)
+@@ -1128,7 +1133,7 @@
+
+ dnl --- evolution-addressbook flags
+
+-EVOLUTION_ADDRESSBOOK_DEPS="libxml-2.0 gobject-2.0 gconf-2.0 $IPC_DEPS gnome-vfs-2.0 "
++EVOLUTION_ADDRESSBOOK_DEPS="libxml-2.0 gobject-2.0 gconf-2.0 $IPC_DEPS "
+
+ EVO_SET_COMPILE_FLAGS(EVOLUTION_ADDRESSBOOK, $EVOLUTION_ADDRESSBOOK_DEPS)
+ AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
+@@ -1136,7 +1141,7 @@
+
+ dnl --- evolution-calendar flags
+
+-EVOLUTION_CALENDAR_DEPS="libxml-2.0 gobject-2.0 gconf-2.0 gnome-vfs-2.0 dbus-glib-1"
++EVOLUTION_CALENDAR_DEPS="libxml-2.0 gobject-2.0 gconf-2.0 dbus-glib-1"
+
+ EVO_SET_COMPILE_FLAGS(EVOLUTION_CALENDAR, $EVOLUTION_CALENDAR_DEPS)
+ AC_SUBST(EVOLUTION_CALENDAR_CFLAGS)
+@@ -1145,7 +1150,7 @@
+ if test "x${with_dbus}" = "xno"; then
+ dnl --- factory flags
+
+- E_FACTORY_DEPS="gobject-2.0 >= $GLIB_REQUIRED $IPC_DEPS gconf-2.0 gnome-vfs-2.0 libgnome-2.0 $mozilla_nspr"
++ E_FACTORY_DEPS="gobject-2.0 >= $GLIB_REQUIRED $IPC_DEPS gconf-2.0 $mozilla_nspr"
+
+ EVO_SET_COMPILE_FLAGS(E_FACTORY, $E_FACTORY_DEPS, $THREADS_CFLAGS $MANUAL_NSPR_CFLAGS, $THREADS_LIBS $MANUAL_NSPR_LIBS)
+ AC_SUBST(E_FACTORY_CFLAGS)
diff --git a/meta/packages/eds/eds-dbus_svn.bb b/meta/packages/eds/eds-dbus_svn.bb
new file mode 100755
index 0000000000..6a6162da83
--- /dev/null
+++ b/meta/packages/eds/eds-dbus_svn.bb
@@ -0,0 +1,40 @@
+LICENSE = "LGPL"
+DEPENDS = "glib-2.0 gtk+ gconf dbus db gnome-common libglade virtual/libiconv"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DESCRIPTION = "Evolution database backend server"
+PV = "1.4.0+svn${SRCDATE}"
+PR = "r19"
+
+SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http \
+ file://no_libdb.patch;patch=1 \
+ file://no_iconv_test.patch;patch=1 \
+ file://no_libedataserverui.patch;patch=1 \
+ file://disable_orbit.patch;patch=1;maxdate=20060126 \
+ file://fix_calendar.patch;patch=1;maxdate=20060619 \
+ file://iconv-detect.h"
+
+S = "${WORKDIR}/trunk"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--without-openldap --with-dbus --without-bug-buddy --without-soup --with-libdb=${STAGING_DIR}/${HOST_SYS} --disable-smime --disable-nss --disable-nntp --disable-gtk-doc"
+
+acpaths = " -I ${STAGING_DATADIR}/aclocal/gnome-macros "
+
+FILES_${PN} += "${libdir}/evolution-data-server-1.2/extensions/*.so \
+ ${libdir}/evolution-data-server-1.2/camel-providers/*.so \
+ ${libdir}/evolution-data-server-1.2/camel-providers/*.urls \
+ ${datadir}/evolution-data-server-1.4/zoneinfo/zones.tab \
+ ${datadir}/evolution-data-server-1.4/zoneinfo/*/*.ics \
+ ${datadir}/evolution-data-server-1.4/zoneinfo/*/*/*.ics \
+ ${datadir}/dbus-1/services/*.service"
+FILES_${PN}-dev += "${libdir}/evolution-data-server-1.2/extensions/*.la \
+ ${libdir}/evolution-data-server-1.2/camel-providers/*.la"
+
+
+do_configure_append = " cp ${WORKDIR}/iconv-detect.h ${S} "
+
+do_stage () {
+ autotools_stage_all
+}
+
diff --git a/meta/packages/expat/expat-1.95.7/autotools.patch b/meta/packages/expat/expat-1.95.7/autotools.patch
new file mode 100644
index 0000000000..f22b2401c8
--- /dev/null
+++ b/meta/packages/expat/expat-1.95.7/autotools.patch
@@ -0,0 +1,13 @@
+--- expat-1.95.7/configure.in~autotools 2004-05-13 22:46:28.000000000 -0400
++++ expat-1.95.7/configure.in 2004-05-13 22:46:39.000000000 -0400
+@@ -50,9 +50,7 @@
+
+ AC_CONFIG_HEADER(expat_config.h)
+
+-sinclude(conftools/libtool.m4)
+-sinclude(conftools/ac_c_bigendian_cross.m4)
+-
++
+ AC_LIBTOOL_WIN32_DLL
+ AC_PROG_LIBTOOL
+
diff --git a/meta/packages/expat/expat-native_1.95.7.bb b/meta/packages/expat/expat-native_1.95.7.bb
new file mode 100644
index 0000000000..2c40ba8488
--- /dev/null
+++ b/meta/packages/expat/expat-native_1.95.7.bb
@@ -0,0 +1,4 @@
+SECTION = "libs"
+include expat_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/expat-${PV}"
diff --git a/meta/packages/expat/expat_1.95.7.bb b/meta/packages/expat/expat_1.95.7.bb
new file mode 100644
index 0000000000..c3bbb8981b
--- /dev/null
+++ b/meta/packages/expat/expat_1.95.7.bb
@@ -0,0 +1,30 @@
+SECTION = "libs"
+DESCRIPTION = "Jim Clarkes XML parser library."
+HOMEPAGE = "http://expat.sourceforge.net/"
+LICENSE = "MIT"
+PR = "r1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/expat/expat-${PV}.tar.gz \
+ file://autotools.patch;patch=1"
+S = "${WORKDIR}/expat-${PV}"
+
+inherit autotools lib_package
+export LTCC = "${CC}"
+
+do_configure () {
+ rm -f ${S}/conftools/libtool.m4
+ autotools_do_configure
+}
+
+do_stage () {
+ install -m 0644 ${S}/lib/expat.h ${STAGING_INCDIR}/
+ oe_libinstall -so libexpat ${STAGING_LIBDIR}
+}
+
+do_install () {
+ oe_runmake prefix="${D}${prefix}" \
+ bindir="${D}${bindir}" \
+ libdir="${D}${libdir}" \
+ includedir="${D}${includedir}" \
+ install
+}
diff --git a/meta/packages/fakeroot/fakeroot-native_1.2.13.bb b/meta/packages/fakeroot/fakeroot-native_1.2.13.bb
new file mode 100644
index 0000000000..cc3dfd2231
--- /dev/null
+++ b/meta/packages/fakeroot/fakeroot-native_1.2.13.bb
@@ -0,0 +1,19 @@
+SECTION = "base"
+PR = "r0"
+include fakeroot_${PV}.bb
+inherit native
+
+SRC_URI += "file://fix-prefix.patch;patch=1"
+S = "${WORKDIR}/fakeroot-${PV}"
+
+EXTRA_OECONF = " --program-prefix="
+
+# Compatability for the rare systems not using or having SYSV
+python () {
+ if bb.data.getVar('HOST_NONSYSV', d, True) and bb.data.getVar('HOST_NONSYSV', d, True) != '0':
+ bb.data.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ', d)
+}
+
+do_stage_append () {
+ oe_libinstall -so libfakeroot ${STAGING_LIBDIR}/libfakeroot/
+}
diff --git a/meta/packages/fakeroot/fakeroot_1.2.13.bb b/meta/packages/fakeroot/fakeroot_1.2.13.bb
new file mode 100644
index 0000000000..8ae7ca38be
--- /dev/null
+++ b/meta/packages/fakeroot/fakeroot_1.2.13.bb
@@ -0,0 +1,8 @@
+DESCRIPTION = "Gives a fake root environment"
+SECTION = "base"
+HOMEPAGE = "http://joostje.op.het.net/fakeroot/index.html"
+LICENSE = "GPL"
+
+SRC_URI = "http://openzaurus.org/mirror/fakeroot_${PV}.tar.gz"
+
+inherit autotools
diff --git a/meta/packages/fakeroot/files/fix-prefix.patch b/meta/packages/fakeroot/files/fix-prefix.patch
new file mode 100644
index 0000000000..3884aca01c
--- /dev/null
+++ b/meta/packages/fakeroot/files/fix-prefix.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- fakeroot-1.2.13/scripts/fakeroot.in~fix-prefix
++++ fakeroot-1.2.13/scripts/fakeroot.in
+@@ -15,8 +15,8 @@
+ }
+
+ # strip /bin/fakeroot to find install prefix
+-PREFIX=@prefix@
+-BINDIR=@bindir@
++BINDIR=`dirname $0`
++PREFIX=`dirname ${BINDIR}`
+
+ LIB=lib@fakeroot_transformed@.so.0
+ PATHS=@libdir@:${PREFIX}/lib64/libfakeroot:${PREFIX}/lib32/libfakeroot
diff --git a/meta/packages/file/file-native_4.16.bb b/meta/packages/file/file-native_4.16.bb
new file mode 100644
index 0000000000..3228ed683c
--- /dev/null
+++ b/meta/packages/file/file-native_4.16.bb
@@ -0,0 +1,8 @@
+include file_${PV}.bb
+inherit native
+
+# avoid dependency loop
+DEPENDS = ""
+PR = "r1"
+
+SRC_URI += "file://native-fix.diff;patch=1"
diff --git a/meta/packages/file/file_4.16.bb b/meta/packages/file/file_4.16.bb
new file mode 100644
index 0000000000..3e579c5ef4
--- /dev/null
+++ b/meta/packages/file/file_4.16.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "File attempts to classify files depending \
+on their contents and prints a description if a match is found."
+SECTION = "console/utils"
+LICENSE = "BSD-ADV"
+DEPENDS = "file-native"
+
+SRC_URI = "ftp://ftp.astron.com/pub/file/file-${PV}.tar.gz"
+S = "${WORKDIR}/file-${PV}"
+
+inherit autotools
+
+do_configure_prepend() {
+ sed -i -e 's,$(top_builddir)/src/file,file,' ${S}/magic/Makefile.am
+}
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/file/files/native-fix.diff b/meta/packages/file/files/native-fix.diff
new file mode 100644
index 0000000000..d17215a1b4
--- /dev/null
+++ b/meta/packages/file/files/native-fix.diff
@@ -0,0 +1,13 @@
+Index: file-4.16/magic/Makefile.am
+===================================================================
+--- file-4.16.orig/magic/Makefile.am 2005-08-18 17:20:49.000000000 +0200
++++ file-4.16/magic/Makefile.am 2006-03-08 17:01:13.000000000 +0100
+@@ -18,7 +18,7 @@
+ if IS_CROSS_COMPILE
+ FILE_COMPILE = file
+ else
+-FILE_COMPILE = $(top_builddir)/src/file
++FILE_COMPILE = ../src/file
+ endif
+
+ magic.mgc: magic
diff --git a/meta/packages/fixesext/fixesext_cvs.bb b/meta/packages/fixesext/fixesext_cvs.bb
new file mode 100644
index 0000000000..30b9460138
--- /dev/null
+++ b/meta/packages/fixesext/fixesext_cvs.bb
@@ -0,0 +1,20 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "BSD-X"
+SECTION = "libs"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xextensions"
+DESCRIPTION = "X Fixes extension headers and specification."
+DEFAULT_PREFERENCE = "1"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=FixesExt"
+S = "${WORKDIR}/FixesExt"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/flex/files/fix-gen.patch b/meta/packages/flex/files/fix-gen.patch
new file mode 100644
index 0000000000..55f4f6fdf5
--- /dev/null
+++ b/meta/packages/flex/files/fix-gen.patch
@@ -0,0 +1,17 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- flex-2.5.31/gen.c~fix-gen
++++ flex-2.5.31/gen.c
+@@ -1812,8 +1812,7 @@
+ if (yytext_is_array) {
+ if (!reentrant){
+ indent_puts ("static int yy_more_offset = 0;");
+- }else{
+- indent_puts ("static int yy_prev_more_offset = 0;");
++ indent_puts ("static int yy_prev_more_offset = 0;");
+ }
+ }
+ else if (!reentrant) {
diff --git a/meta/packages/flex/files/flex-lvalue.diff b/meta/packages/flex/files/flex-lvalue.diff
new file mode 100644
index 0000000000..56ae539a6c
--- /dev/null
+++ b/meta/packages/flex/files/flex-lvalue.diff
@@ -0,0 +1,36 @@
+Patch from http://bugs.debian.org/cgi-bin/bugreport.cgi/flex-lvalue.diff?bug=194844;msg=10;att=1
+
+according to posix 0,1,2 are already setup and this avoids
+the issues with
+| filter.c: In function 'filter_apply_chain':
+| filter.c:161: error: invalid lvalue in assignment
+| filter.c:163: error: invalid lvalue in assignment
+| filter.c:184: error: invalid lvalue in assignment
+
+
+diff -ur flex-2.5.31.ORIG/filter.c flex-2.5.31/filter.c
+--- flex-2.5.31.ORIG/filter.c 2003-03-25 16:39:08.000000000 +0000
++++ flex-2.5.31/filter.c 2003-05-27 17:00:26.000000000 +0000
+@@ -157,11 +157,8 @@
+ if (chain->filter_func) {
+ int r;
+
+- /* setup streams again */
+- if ((stdin = fdopen (0, "r")) == NULL)
+- flexfatal (_("fdopen(0) failed"));
+- if ((stdout = fdopen (1, "w")) == NULL)
+- flexfatal (_("fdopen(1) failed"));
++ /* POSIX says we inherit fd[0-2], so we don't need
++ to do anything to them here */
+
+ if ((r = chain->filter_func (chain)) == -1)
+ flexfatal (_("filter_func failed"));
+@@ -181,8 +178,6 @@
+ if (dup2 (pipes[1], 1) == -1)
+ flexfatal (_("dup2(pipes[1],1)"));
+ close (pipes[1]);
+- if ((stdout = fdopen (1, "w")) == NULL)
+- flexfatal (_("fdopen(1) failed"));
+
+ return true;
+ }
diff --git a/meta/packages/flex/flex-2.5.31/include.patch b/meta/packages/flex/flex-2.5.31/include.patch
new file mode 100644
index 0000000000..b60dcb29de
--- /dev/null
+++ b/meta/packages/flex/flex-2.5.31/include.patch
@@ -0,0 +1,27 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- flex-2.5.31/Makefile.am~include
++++ flex-2.5.31/Makefile.am
+@@ -141,7 +141,7 @@
+ tests
+
+ localedir = $(datadir)/locale
+-AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I@includedir@ -I$(top_srcdir)/intl
++AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl
+ LIBS = @LIBINTL@ @LIBS@
+
+ skel.c: flex.skl mkskel.sh flexint.h tables_shared.h
+--- flex-2.5.31/Makefile.in~include
++++ flex-2.5.31/Makefile.in
+@@ -292,7 +292,7 @@
+
+
+ localedir = $(datadir)/locale
+-AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I@includedir@ -I$(top_srcdir)/intl
++AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl
+
+ # Run GNU indent on sources. Don't run this unless all the sources compile cleanly.
+ #
diff --git a/meta/packages/flex/flex-native_2.5.31.bb b/meta/packages/flex/flex-native_2.5.31.bb
new file mode 100644
index 0000000000..ff8a42772b
--- /dev/null
+++ b/meta/packages/flex/flex-native_2.5.31.bb
@@ -0,0 +1,10 @@
+include flex.inc
+inherit native
+PR = "r2"
+
+do_stage () {
+ install -m 0755 flex ${STAGING_BINDIR}
+ oe_libinstall -a libfl ${STAGING_LIBDIR}
+ ln -sf ./flex ${STAGING_BINDIR}/flex++
+ ln -sf ./flex ${STAGING_BINDIR}/lex
+}
diff --git a/meta/packages/flex/flex.inc b/meta/packages/flex/flex.inc
new file mode 100644
index 0000000000..d6affad226
--- /dev/null
+++ b/meta/packages/flex/flex.inc
@@ -0,0 +1,11 @@
+DESCRIPTION = "Flex is a tool for generating programs that recognize lexical patterns in text."
+SECTION = "devel"
+LICENSE = "BSD"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lex/flex-2.5.31.tar.bz2 \
+ file://flex-lvalue.diff;patch=1 \
+ file://fix-gen.patch;patch=1"
+S = "${WORKDIR}/flex-${PV}"
+
+inherit autotools
+
diff --git a/meta/packages/flex/flex_2.5.31.bb b/meta/packages/flex/flex_2.5.31.bb
new file mode 100644
index 0000000000..b96c645136
--- /dev/null
+++ b/meta/packages/flex/flex_2.5.31.bb
@@ -0,0 +1,9 @@
+include flex.inc
+PR = "r4"
+
+SRC_URI += "file://include.patch;patch=1"
+
+do_stage() {
+ oe_libinstall -a libfl ${STAGING_LIBDIR}
+}
+
diff --git a/meta/packages/fontconfig/files/local.conf b/meta/packages/fontconfig/files/local.conf
new file mode 100644
index 0000000000..ddd7cf9d03
--- /dev/null
+++ b/meta/packages/fontconfig/files/local.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- /etc/fonts/local.conf file for local customizations -->
+<fontconfig>
+<!-- Enable sub-pixel rendering -->
+ <match target="font">
+ <test qual="all" name="rgba">
+ <const>unknown</const>
+ </test>
+ <edit name="rgba" mode="assign"><const>rgb</const></edit>
+ </match>
+</fontconfig>
diff --git a/meta/packages/fontconfig/files/stop-fc-cache.patch b/meta/packages/fontconfig/files/stop-fc-cache.patch
new file mode 100644
index 0000000000..7b549118f9
--- /dev/null
+++ b/meta/packages/fontconfig/files/stop-fc-cache.patch
@@ -0,0 +1,8 @@
+--- fontconfig-2.2.95/Makefile.am.old 2006-02-07 01:01:01.000000000 +0000
++++ fontconfig-2.2.95/Makefile.am 2006-02-07 01:01:15.000000000 +0000
+@@ -50,4 +50,4 @@
+ echo " $(INSTALL_DATA) local.conf $(DESTDIR)$(configdir)/local.conf"; \
+ $(INSTALL_DATA) local.conf $(DESTDIR)$(configdir)/local.conf; \
+ fi; fi; fi
+- if [ x$(DESTDIR) = x ]; then fc-cache/fc-cache -f -v; fi
++# if [ x$(DESTDIR) = x ]; then fc-cache/fc-cache -f -v; fi
diff --git a/meta/packages/fontconfig/fontconfig-2.2.95/fc-glyphname.patch b/meta/packages/fontconfig/fontconfig-2.2.95/fc-glyphname.patch
new file mode 100644
index 0000000000..1afd9324ff
--- /dev/null
+++ b/meta/packages/fontconfig/fontconfig-2.2.95/fc-glyphname.patch
@@ -0,0 +1,19 @@
+--- fontconfig/fc-glyphname/Makefile.am~ 2004-04-14 17:06:35.000000000 +0100
++++ fontconfig/fc-glyphname/Makefile.am 2004-05-15 11:41:35.000000000 +0100
+@@ -27,6 +27,7 @@
+ TMPL=fcglyphname.tmpl.h
+ STMPL=${top_srcdir}/fc-glyphname/${TMPL}
+ TARG=fcglyphname.h
++FC_GLYPHNAME=./fc-glyphname
+
+ noinst_PROGRAMS=fc-glyphname
+
+@@ -41,7 +42,7 @@
+
+ $(TARG): $(STMPL) fc-glyphname $(SGLYPHNAME)
+ rm -f $(TARG)
+- ./fc-glyphname $(SGLYPHNAME) < $(STMPL) > $(TARG)
++ $(FC_GLYPHNAME) $(SGLYPHNAME) < $(STMPL) > $(TARG)
+
+ CLEANFILES=$(TARG)
+
diff --git a/meta/packages/fontconfig/fontconfig-2.2.95/fc-lang.patch b/meta/packages/fontconfig/fontconfig-2.2.95/fc-lang.patch
new file mode 100644
index 0000000000..d08242a377
--- /dev/null
+++ b/meta/packages/fontconfig/fontconfig-2.2.95/fc-lang.patch
@@ -0,0 +1,18 @@
+--- fontconfig/fc-lang/Makefile.am~ 2004-04-14 17:06:36.000000000 +0100
++++ fontconfig/fc-lang/Makefile.am 2004-05-15 11:22:44.000000000 +0100
+@@ -27,6 +27,7 @@
+ TMPL=fclang.tmpl.h
+ STMPL=${top_srcdir}/fc-lang/fclang.tmpl.h
+ TARG=fclang.h
++FC_LANG=./fc-lang
+
+ noinst_PROGRAMS=fc-lang
+
+@@ -40,6 +41,6 @@
+
+ $(TARG):$(ORTH) fc-lang $(STMPL)
+ rm -f $(TARG)
+- ./fc-lang -d ${srcdir} $(ORTH) < $(STMPL) > $(TARG)
++ $(FC_LANG) -d ${srcdir} $(ORTH) < $(STMPL) > $(TARG)
+
+ CLEANFILES=$(TARG)
diff --git a/meta/packages/fontconfig/fontconfig-native_2.2.95.bb b/meta/packages/fontconfig/fontconfig-native_2.2.95.bb
new file mode 100644
index 0000000000..6872db92f1
--- /dev/null
+++ b/meta/packages/fontconfig/fontconfig-native_2.2.95.bb
@@ -0,0 +1,15 @@
+SECTION = "base"
+LICENSE = "BSD"
+include fontconfig_${PV}.bb
+inherit native
+DEPENDS = "freetype-native expat-native zlib-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/fontconfig-${PV}"
+SRC_URI += " file://stop-fc-cache.patch;patch=1"
+
+EXTRA_OEMAKE = ""
+
+do_stage () {
+ oe_runmake install
+ install fc-lang/fc-lang ${STAGING_BINDIR}
+ install fc-glyphname/fc-glyphname ${STAGING_BINDIR}
+}
diff --git a/meta/packages/fontconfig/fontconfig_2.2.95.bb b/meta/packages/fontconfig/fontconfig_2.2.95.bb
new file mode 100644
index 0000000000..78b35b1793
--- /dev/null
+++ b/meta/packages/fontconfig/fontconfig_2.2.95.bb
@@ -0,0 +1,36 @@
+SECTION = "libs"
+LICENSE = "BSD"
+DESCRIPTION = "A library for configuring and customizing font access."
+DEPENDS = "expat freetype freetype-native zlib fontconfig-native"
+
+SRC_URI = "http://pdx.freedesktop.org/fontconfig/release/fontconfig-${PV}.tar.gz \
+ file://fc-glyphname.patch;patch=1 \
+ file://fc-lang.patch;patch=1 \
+ file://local.conf"
+PR = "r2"
+
+PACKAGES =+ "fontconfig-utils "
+FILES_fontconfig-utils = "${bindir}/*"
+
+PKG_fontconfig-utils=fontconfig-utils
+
+S = "${WORKDIR}/fontconfig-${PV}"
+
+inherit autotools pkgconfig
+
+export HASDOCBOOK="no"
+
+EXTRA_OECONF = " --disable-docs "
+EXTRA_OEMAKE = "FC_LANG=fc-lang FC_GLYPHNAME=fc-glyphname"
+
+do_stage () {
+ oe_libinstall -so -a -C src libfontconfig ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/fontconfig
+ for i in ${S}/fontconfig/*.h; do install -m 0644 $i ${STAGING_INCDIR}/fontconfig/; done
+}
+
+do_install () {
+ autotools_do_install
+ install -m 0644 ${WORKDIR}/local.conf ${D}${sysconfdir}/fonts/local.conf
+}
+
diff --git a/meta/packages/freetype/files/configure.patch b/meta/packages/freetype/files/configure.patch
new file mode 100644
index 0000000000..f11cf96be0
--- /dev/null
+++ b/meta/packages/freetype/files/configure.patch
@@ -0,0 +1,47 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: freetype-2.1.8/builds/unix/configure.ac
+===================================================================
+--- freetype-2.1.8.orig/builds/unix/configure.ac 2004-04-14 04:49:11.000000000 -0400
++++ freetype-2.1.8/builds/unix/configure.ac 2005-03-12 03:14:23.000000000 -0500
+@@ -111,8 +111,8 @@
+ # Check for system zlib
+
+ AC_ARG_WITH([zlib],
+- dnl don't quote AS_HELP_STRING!
+- AS_HELP_STRING([--without-zlib],
++ dnl don't quote AC_HELP_STRING!
++ AC_HELP_STRING([--without-zlib],
+ [use internal zlib instead of system-wide]))
+ if test x$with_zlib != xno && test -z "$LIBZ"; then
+ AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
+@@ -127,7 +127,7 @@
+ # Whether to use Mac OS resource-based fonts or not
+
+ AC_ARG_WITH([old-mac-fonts],
+- dnl don't quote AS_HELP_STRING!
+- AS_HELP_STRING([--with-old-mac-fonts],
++ dnl don't quote AC_HELP_STRING!
++ AC_HELP_STRING([--with-old-mac-fonts],
+ [allow Mac resource-based fonts to be used]))
+ if test x$with_old_mac_fonts = xyes; then
+Index: freetype-2.1.8/builds/unix/unix-cc.in
+===================================================================
+--- freetype-2.1.8.orig/builds/unix/unix-cc.in 2003-11-09 03:37:13.000000000 -0500
++++ freetype-2.1.8/builds/unix/unix-cc.in 2005-03-12 18:37:24.613693760 -0500
+@@ -14,9 +14,11 @@
+
+ CC := @CC@
+ COMPILER_SEP := $(SEP)
++SHELL := @SHELL@
++top_builddir := $(BUILD_DIR)
+
+ ifndef LIBTOOL
+- LIBTOOL := $(BUILD_DIR)/libtool
++ LIBTOOL := @LIBTOOL@
+ endif
+
+
diff --git a/meta/packages/freetype/files/no-hardcode.patch b/meta/packages/freetype/files/no-hardcode.patch
new file mode 100644
index 0000000000..44ae450a14
--- /dev/null
+++ b/meta/packages/freetype/files/no-hardcode.patch
@@ -0,0 +1,11 @@
+--- freetype-2.1.10/builds/unix/freetype-config.in.old 2006-05-01 12:39:20.000000000 +0100
++++ freetype-2.1.10/builds/unix/freetype-config.in 2006-05-01 12:39:34.000000000 +0100
+@@ -16,7 +16,7 @@
+ libdir=@libdir@
+ enable_shared=@enable_shared@
+ wl=@wl@
+-hardcode_libdir_flag_spec='@hardcode_libdir_flag_spec@'
++hardcode_libdir_flag_spec=''
+
+ usage()
+ {
diff --git a/meta/packages/freetype/freetype-native_2.1.10.bb b/meta/packages/freetype/freetype-native_2.1.10.bb
new file mode 100644
index 0000000000..64fac71cbe
--- /dev/null
+++ b/meta/packages/freetype/freetype-native_2.1.10.bb
@@ -0,0 +1,21 @@
+include freetype_${PV}.bb
+inherit native
+DEPENDS = ""
+FILESPATH = "${FILE_DIRNAME}/freetype-${PV}:${FILE_DIRNAME}/freetype:${FILE_DIRNAME}/files"
+
+EXTRA_OEMAKE=
+
+do_configure() {
+ (cd builds/unix && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
+
+do_stage() {
+ autotools_stage_includes
+ oe_libinstall -so -a -C objs libfreetype ${STAGING_LIBDIR}
+}
+
+do_install() {
+ :
+}
+
diff --git a/meta/packages/freetype/freetype_2.1.10.bb b/meta/packages/freetype/freetype_2.1.10.bb
new file mode 100644
index 0000000000..35c0d0cbd6
--- /dev/null
+++ b/meta/packages/freetype/freetype_2.1.10.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Freetype font rendering library"
+HOMEPAGE = "http://www.freetype.org"
+SECTION = "libs"
+LICENSE = "freetype"
+PR = "r1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \
+ file://configure.patch;patch=1 \
+ file://no-hardcode.patch;patch=1"
+S = "${WORKDIR}/freetype-${PV}"
+
+inherit autotools pkgconfig binconfig
+
+LIBTOOL = "${S}/builds/unix/${HOST_SYS}-libtool"
+EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
+
+do_configure() {
+ cd builds/unix
+ gnu-configize
+ aclocal -I .
+ autoconf
+ cd ${S}
+ oe_runconf
+}
+
+do_stage() {
+ autotools_stage_includes
+ oe_libinstall -so -a -C objs libfreetype ${STAGING_LIBDIR}
+}
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${bindir}"
diff --git a/meta/packages/galago/eds-feed/disable-bonobo.patch b/meta/packages/galago/eds-feed/disable-bonobo.patch
new file mode 100644
index 0000000000..3a2097877a
--- /dev/null
+++ b/meta/packages/galago/eds-feed/disable-bonobo.patch
@@ -0,0 +1,62 @@
+Index: eds-feed-0.3.2/configure.ac
+===================================================================
+--- eds-feed-0.3.2.orig/configure.ac 2005-08-28 19:11:39.000000000 +0000
++++ eds-feed-0.3.2/configure.ac 2005-12-16 09:22:10.000000000 +0000
+@@ -65,7 +65,7 @@
+ libxml-2.0)
+
+ # Check which version of eds we're using
+-PKG_CHECK_MODULES(EDS, libebook-1.2 >= 1.1.4 libedata-book-1.2 >= 1.1.4)
++PKG_CHECK_MODULES(EDS, libebook-1.2 >= 1.1.4)
+
+ PACKAGE_CFLAGS="$PACKAGE_CFLAGS $EDS_CFLAGS"
+ PACKAGE_LIBS="$PACKAGE_LIBS $EDS_LIBS"
+Index: eds-feed-0.3.2/src/main.c
+===================================================================
+--- eds-feed-0.3.2.orig/src/main.c 2005-08-21 07:26:02.000000000 +0000
++++ eds-feed-0.3.2/src/main.c 2005-12-16 09:24:38.000000000 +0000
+@@ -20,17 +20,11 @@
+ */
+ #include <glib.h>
+ #include <libgalago/galago.h>
+-#include <libedata-book/Evolution-DataServer-Addressbook.h>
+
+ #include <libebook/e-book.h>
+-#include <libedata-book/e-data-book-factory.h>
+-#include <bonobo/bonobo-main.h>
+
+ #include <string.h>
+
+-#define E_DATA_BOOK_FACTORY_OAF_ID \
+- "OAFIID:GNOME_Evolution_DataServer_BookFactory"
+-
+ static EBookView *book_view = NULL;
+ static EBook *book = NULL;
+ static gulong book_view_tag = 0;
+@@ -157,8 +151,8 @@
+ galago_person_set_photo(person, NULL);
+ else
+ {
+- galago_photo_new(person, (unsigned char *)ephoto->data,
+- ephoto->length);
++// galago_photo_new(person, (unsigned char *)ephoto->data,
++// ephoto->length);
+ }
+ }
+
+@@ -294,15 +288,6 @@
+
+ galago_core_set_exit_with_daemon(TRUE);
+
+- if (!bonobo_init_full(NULL, NULL, bonobo_activation_orb_get(),
+- CORBA_OBJECT_NIL, CORBA_OBJECT_NIL))
+- {
+- fprintf(stderr, "Unable to initialize bonobo.\n");
+- exit(1);
+- }
+-
+- bonobo_activate();
+-
+ setup_book_view();
+ setup_services();
+
diff --git a/meta/packages/galago/eds-feed_0.3.2.bb b/meta/packages/galago/eds-feed_0.3.2.bb
new file mode 100644
index 0000000000..5ad9a822a6
--- /dev/null
+++ b/meta/packages/galago/eds-feed_0.3.2.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Galago linkage to the Evolution Data Server."
+HOMEPAGE = "http://www.galago-project.org/"
+LICENSE = "GPL"
+DEPENDS = "gettext libgalago dbus glib-2.0 eds-dbus"
+
+SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \
+ file://disable-bonobo.patch;patch=1"
+# file://no-check.patch;patch=1"
+#EXTRA_OECONF = "--disable-binreloc"
+
+FILES_${PN} += "${libdir}/galago/eds-feed"
+
+inherit autotools pkgconfig
+
diff --git a/meta/packages/galago/files/no-check.patch b/meta/packages/galago/files/no-check.patch
new file mode 100644
index 0000000000..89b0eafac7
--- /dev/null
+++ b/meta/packages/galago/files/no-check.patch
@@ -0,0 +1,15 @@
+--- /tmp/configure.ac 2005-09-08 21:38:49.316449440 +0200
++++ libgalago-0.3.3/configure.ac 2005-09-08 21:39:32.697854464 +0200
+@@ -198,11 +198,8 @@
+ dnl #
+ dnl # Check for Check
+ dnl #
+-AM_PATH_CHECK(, [have_check="yes"],
+-[
+- AC_MSG_WARN([Check not found; cannot run some unit tests])
+ have_check="no"
+-])
++
+
+ AM_CONDITIONAL(HAVE_CHECK, test "$have_check" = "yes")
+
diff --git a/meta/packages/galago/galago-daemon_0.3.4.bb b/meta/packages/galago/galago-daemon_0.3.4.bb
new file mode 100644
index 0000000000..22257b6f44
--- /dev/null
+++ b/meta/packages/galago/galago-daemon_0.3.4.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Galago is a desktop presence framework, designed to transmit presence information between programs."
+HOMEPAGE = "http://www.galago-project.org/"
+MAINTAINER = "Koen Kooi <koen@handhelds.org>"
+LICENSE = "GPL"
+DEPENDS = "gettext libgalago dbus glib-2.0"
+PR = "r1"
+
+SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \
+ file://no-check.patch;patch=1"
+EXTRA_OECONF = "--disable-binreloc"
+
+FILES_${PN} += "${datadir}/dbus-1/services/"
+
+inherit autotools pkgconfig
+
diff --git a/meta/packages/galago/libgalago_0.3.3.bb b/meta/packages/galago/libgalago_0.3.3.bb
new file mode 100644
index 0000000000..85f4097806
--- /dev/null
+++ b/meta/packages/galago/libgalago_0.3.3.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Galago is a desktop presence framework, designed to transmit presence information between programs."
+HOMEPAGE = "http://www.galago-project.org/"
+MAINTAINER = "Koen Kooi <koen@handhelds.org>"
+LICENSE = "LGPL"
+DEPENDS = "gettext dbus glib-2.0"
+PR = "r1"
+
+
+SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \
+ file://no-check.patch;patch=1"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_includes
+ install -d ${STAGING_LIBDIR}
+ install -m 755 libgalago/.libs/libgalago.so.1.0.0 ${STAGING_LIBDIR}/libgalago.so
+}
diff --git a/meta/packages/gcalctool/gcalctool/makefile-fix.diff b/meta/packages/gcalctool/gcalctool/makefile-fix.diff
new file mode 100644
index 0000000000..48a546271f
--- /dev/null
+++ b/meta/packages/gcalctool/gcalctool/makefile-fix.diff
@@ -0,0 +1,18 @@
+--- gcalctool/Makefile.am~ 2005-03-23 16:50:10.000000000 +0000
++++ gcalctool/Makefile.am 2006-03-20 13:59:17.000000000 +0000
+@@ -30,15 +30,8 @@
+
+ SCHEMAS_FILE = gcalctool.schemas
+
+-### Install the schemas file in /etc if GNOME support is not compiled in,
+-### and do not install the schemas at all
+-if DISABLE_GNOME
+-schemasdir = $(sysconfdir)/gcalctool
+-schemas_DATA = $(SCHEMAS_FILE)
+-else
+ schemadir = $(GCONF_SCHEMA_FILE_DIR)
+ schema_DATA = $(SCHEMAS_FILE)
+-endif
+
+ EXTRA_DIST = \
+ autogen.sh \
diff --git a/meta/packages/gcalctool/gcalctool_5.7.32.bb b/meta/packages/gcalctool/gcalctool_5.7.32.bb
new file mode 100644
index 0000000000..cb416235a3
--- /dev/null
+++ b/meta/packages/gcalctool/gcalctool_5.7.32.bb
@@ -0,0 +1,13 @@
+LICENSE = "GPL"
+SECTION = "x11"
+DEPENDS = "gtk+"
+MAINTAINER = "Ross Burton <ross@openedhand.com>"
+DESCRIPTION = "gcalctool is a powerful calculator
+PR = "r1"
+
+SRC_URI = "http://download.gnome.org/sources/${PN}/5.7/${PN}-${PV}.tar.gz \
+ file://makefile-fix.diff;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-gnome"
diff --git a/meta/packages/gcc/gcc-3.3.4/arm-gotoff.dpatch b/meta/packages/gcc/gcc-3.3.4/arm-gotoff.dpatch
new file mode 100644
index 0000000000..610f9430e0
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/arm-gotoff.dpatch
@@ -0,0 +1,135 @@
+#! /bin/sh -e
+
+src=gcc
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ src=$3/gcc
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 --fuzz 10 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 --fuzz 10 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: use GOTOFF not GOT relocs for .LCn and other local symbols;
+# DP: don't use gotoff for non-static functions, even if defined locally
+
+--- gcc/config/arm/arm.c 2003-06-14 15:20:53.000000000 +0100
++++ gcc/config/arm/arm.c 2004-03-06 15:15:32.000000000 +0000
+@@ -2364,6 +2394,40 @@
+ return 1;
+ }
+
++/* Return true if OP is a symbolic operand that resolves locally. */
++
++static int
++local_symbolic_operand (op, mode)
++ rtx op;
++ enum machine_mode mode ATTRIBUTE_UNUSED;
++{
++ if (GET_CODE (op) == CONST
++ && GET_CODE (XEXP (op, 0)) == PLUS
++ && GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST_INT)
++ op = XEXP (XEXP (op, 0), 0);
++
++ if (GET_CODE (op) == LABEL_REF)
++ return 1;
++
++ if (GET_CODE (op) != SYMBOL_REF)
++ return 0;
++
++ /* These we've been told are local by varasm and encode_section_info
++ respectively. */
++ if (CONSTANT_POOL_ADDRESS_P (op) || ENCODED_LOCAL_BINDING_ATTR_P (XSTR (op, 0)))
++ return 1;
++
++ /* There is, however, a not insubstantial body of code in the rest of
++ the compiler that assumes it can just stick the results of
++ ASM_GENERATE_INTERNAL_LABEL in a symbol_ref and have done. */
++ /* ??? This is a hack. Should update the body of the compiler to
++ always create a DECL an invoke targetm.encode_section_info. */
++ if (strncmp (arm_strip_name_encoding (XSTR (op, 0)), ".L", 2) == 0)
++ return 1;
++
++ return 0;
++}
++
+ rtx
+ legitimize_pic_address (orig, mode, reg)
+ rtx orig;
+@@ -2404,10 +2468,7 @@
+ else
+ emit_insn (gen_pic_load_addr_thumb (address, orig));
+
+- if ((GET_CODE (orig) == LABEL_REF
+- || (GET_CODE (orig) == SYMBOL_REF &&
+- ENCODED_SHORT_CALL_ATTR_P (XSTR (orig, 0))))
+- && NEED_GOT_RELOC)
++ if (local_symbolic_operand (orig, Pmode) && NEED_GOT_RELOC)
+ pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, address);
+ else
+ {
+@@ -8804,11 +8911,7 @@
+ if (NEED_GOT_RELOC && flag_pic && making_const_table &&
+ (GET_CODE (x) == SYMBOL_REF || GET_CODE (x) == LABEL_REF))
+ {
+- if (GET_CODE (x) == SYMBOL_REF
+- && (CONSTANT_POOL_ADDRESS_P (x)
+- || ENCODED_SHORT_CALL_ATTR_P (XSTR (x, 0))))
+- fputs ("(GOTOFF)", asm_out_file);
+- else if (GET_CODE (x) == LABEL_REF)
++ if (local_symbolic_operand (x, Pmode))
+ fputs ("(GOTOFF)", asm_out_file);
+ else
+ fputs ("(GOT)", asm_out_file);
+@@ -11335,6 +11418,11 @@
+ else if (! TREE_PUBLIC (decl))
+ arm_encode_call_attribute (decl, SHORT_CALL_FLAG_CHAR);
+ }
++
++ if (TREE_CODE_CLASS (TREE_CODE (decl)) == 'd'
++ && flag_pic
++ && (*targetm.binds_local_p) (decl))
++ arm_encode_call_attribute (decl, LOCAL_BINDING_FLAG_CHAR);
+ }
+ #endif /* !ARM_PE */
+
+
+--- gcc/config/arm/arm.h Fri Mar 5 18:49:44 2004
++++ gcc/config/arm/arm.h Fri Mar 5 15:04:31 2004
+@@ -1870,6 +1870,7 @@
+ Note, '@' and '*' have already been taken. */
+ #define SHORT_CALL_FLAG_CHAR '^'
+ #define LONG_CALL_FLAG_CHAR '#'
++#define LOCAL_BINDING_FLAG_CHAR '%'
+
+ #define ENCODED_SHORT_CALL_ATTR_P(SYMBOL_NAME) \
+ (*(SYMBOL_NAME) == SHORT_CALL_FLAG_CHAR)
+@@ -1877,6 +1878,9 @@
+ #define ENCODED_LONG_CALL_ATTR_P(SYMBOL_NAME) \
+ (*(SYMBOL_NAME) == LONG_CALL_FLAG_CHAR)
+
++#define ENCODED_LOCAL_BINDING_ATTR_P(SYMBOL_NAME) \
++ (*(SYMBOL_NAME) == LOCAL_BINDING_FLAG_CHAR)
++
+ #ifndef SUBTARGET_NAME_ENCODING_LENGTHS
+ #define SUBTARGET_NAME_ENCODING_LENGTHS
+ #endif
+@@ -1888,6 +1892,7 @@
+ #define ARM_NAME_ENCODING_LENGTHS \
+ case SHORT_CALL_FLAG_CHAR: return 1; \
+ case LONG_CALL_FLAG_CHAR: return 1; \
++ case LOCAL_BINDING_FLAG_CHAR: return 1; \
+ case '*': return 1; \
+ SUBTARGET_NAME_ENCODING_LENGTHS
+
diff --git a/meta/packages/gcc/gcc-3.3.4/arm-ldm-peephole.patch b/meta/packages/gcc/gcc-3.3.4/arm-ldm-peephole.patch
new file mode 100644
index 0000000000..83b07e0343
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/arm-ldm-peephole.patch
@@ -0,0 +1,91 @@
+2004-03-19 Philip Blundell <philb@gnu.org>
+
+ * config/arm/arm.c (adjacent_mem_locations): Reject location pairs
+ where both offsets are nonzero if target is Harvard architecture.
+ (load_multiple_sequence, store_multiple_sequence): Avoid two-word
+ LDM/STM on XScale unless -Os.
+ * config/arm/arm.md (arith_adjacentmem): Inhibit if tuning for
+ XScale and not -Os.
+ * genpeep.c: Have generated code include flags.h.
+
+--- gcc/genpeep.c~ 2001-12-02 00:04:19.000000000 +0000
++++ gcc/genpeep.c 2004-03-19 11:17:18.000000000 +0000
+@@ -402,6 +402,7 @@
+ printf ("#include \"recog.h\"\n");
+ printf ("#include \"except.h\"\n\n");
+ printf ("#include \"function.h\"\n\n");
++ printf ("#include \"flags.h\"\n\n");
+
+ printf ("#ifdef HAVE_peephole\n");
+ printf ("extern rtx peep_operand[];\n\n");
+
+--- gcc/config/arm/arm.md~ 2004-03-11 15:28:01.000000000 +0000
++++ gcc/config/arm/arm.md 2004-03-19 13:00:03.000000000 +0000
+@@ -7958,13 +7958,16 @@
+ (set_attr "length" "4,8,8")]
+ )
+
++; Try to convert LDR+LDR+arith into [add+]LDM+arith
++; On XScale, LDM is always slower than two LDRs, so only do this if
++; optimising for size.
+ (define_insn "*arith_adjacentmem"
+ [(set (match_operand:SI 0 "s_register_operand" "=r")
+ (match_operator:SI 1 "shiftable_operator"
+ [(match_operand:SI 2 "memory_operand" "m")
+ (match_operand:SI 3 "memory_operand" "m")]))
+ (clobber (match_scratch:SI 4 "=r"))]
+- "TARGET_ARM && adjacent_mem_locations (operands[2], operands[3])"
++ "TARGET_ARM && (!arm_tune_xscale || optimize_size) && adjacent_mem_locations (operands[2], operands[3])"
+ "*
+ {
+ rtx ldm[3];
+@@ -7999,7 +8002,9 @@
+ }
+ if (val1 && val2)
+ {
++ /* This would be a loss on a Harvard core, but adjacent_mem_locations()
++ will prevent it from happening. */
+ rtx ops[3];
+ ldm[0] = ops[0] = operands[4];
+ ops[1] = XEXP (XEXP (operands[2], 0), 0);
+
+--- gcc/config/arm/arm.c~ 2004-03-11 15:28:01.000000000 +0000
++++ gcc/config/arm/arm.c 2004-03-19 15:36:03.000000000 +0000
+@@ -3818,8 +3818,11 @@
+ sequence. */
+ if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1))
+ return 0;
+-
+- return (reg0 == reg1) && ((val1 - val0) == 4 || (val0 - val1) == 4);
++
++ /* For Harvard cores, only accept pairs where one offset is zero.
++ See comment in load_multiple_sequence. */
++ return (reg0 == reg1) && ((val1 - val0) == 4 || (val0 - val1) == 4)
++ && (!arm_ld_sched || val0 == 0 || val1 == 0);
+ }
+ return 0;
+ }
+@@ -4075,6 +4078,11 @@
+ *load_offset = unsorted_offsets[order[0]];
+ }
+
++ /* For XScale a two-word LDM is a performance loss, so only do this if
++ size is more important. See comments in arm_gen_load_multiple. */
++ if (nops == 2 && arm_tune_xscale && !optimize_size)
++ return 0;
++
+ if (unsorted_offsets[order[0]] == 0)
+ return 1; /* ldmia */
+
+@@ -4307,6 +4315,11 @@
+ *load_offset = unsorted_offsets[order[0]];
+ }
+
++ /* For XScale a two-word LDM is a performance loss, so only do this if
++ size is more important. See comments in arm_gen_load_multiple. */
++ if (nops == 2 && arm_tune_xscale && !optimize_size)
++ return 0;
++
+ if (unsorted_offsets[order[0]] == 0)
+ return 1; /* stmia */
+
diff --git a/meta/packages/gcc/gcc-3.3.4/arm-ldm.dpatch b/meta/packages/gcc/gcc-3.3.4/arm-ldm.dpatch
new file mode 100644
index 0000000000..561624f39c
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/arm-ldm.dpatch
@@ -0,0 +1,148 @@
+#! /bin/sh -e
+
+src=gcc
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ src=$3/gcc
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 --fuzz 10 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 --fuzz 10 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: try harder to avoid ldm in function epilogues
+
+--- gcc/config/arm/arm.c Fri Mar 5 18:49:42 2004
++++ gcc/config/arm/arm.c Fri Mar 5 16:00:21 2004
+@@ -7598,6 +7629,26 @@
+ return_used_this_function = 0;
+ }
+
++/* Return the number (counting from 0) of
++ the least significant set bit in MASK. */
++
++#ifdef __GNUC__
++inline
++#endif
++static int
++number_of_first_bit_set (mask)
++ int mask;
++{
++ int bit;
++
++ for (bit = 0;
++ (mask & (1 << bit)) == 0;
++ ++bit)
++ continue;
++
++ return bit;
++}
++
+ const char *
+ arm_output_epilogue (really_return)
+ int really_return;
+@@ -7788,27 +7839,47 @@
+ saved_regs_mask |= (1 << PC_REGNUM);
+ }
+
+- /* Load the registers off the stack. If we only have one register
+- to load use the LDR instruction - it is faster. */
+- if (saved_regs_mask == (1 << LR_REGNUM))
+- {
+- /* The exception handler ignores the LR, so we do
+- not really need to load it off the stack. */
+- if (eh_ofs)
+- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
+- else
+- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM);
+- }
+- else if (saved_regs_mask)
++ if (saved_regs_mask)
+ {
+- if (saved_regs_mask & (1 << SP_REGNUM))
+- /* Note - write back to the stack register is not enabled
+- (ie "ldmfd sp!..."). We know that the stack pointer is
+- in the list of registers and if we add writeback the
+- instruction becomes UNPREDICTABLE. */
+- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
++ /* Load the registers off the stack. If we only have one register
++ to load use the LDR instruction - it is faster. */
++ if (bit_count (saved_regs_mask) == 1)
++ {
++ int reg = number_of_first_bit_set (saved_regs_mask);
++
++ switch (reg)
++ {
++ case SP_REGNUM:
++ /* Mustn't use base writeback when loading SP. */
++ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM);
++ break;
++
++ case LR_REGNUM:
++ if (eh_ofs)
++ {
++ /* The exception handler ignores the LR, so we do
++ not really need to load it off the stack. */
++ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
++ break;
++ }
++ /* else fall through */
++
++ default:
++ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM);
++ break;
++ }
++ }
+ else
+- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
++ {
++ if (saved_regs_mask & (1 << SP_REGNUM))
++ /* Note - write back to the stack register is not enabled
++ (ie "ldmfd sp!..."). We know that the stack pointer is
++ in the list of registers and if we add writeback the
++ instruction becomes UNPREDICTABLE. */
++ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
++ else
++ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
++ }
+ }
+
+ if (current_function_pretend_args_size)
+@@ -9610,26 +9677,6 @@
+ }
+ }
+
+-/* Return the number (counting from 0) of
+- the least significant set bit in MASK. */
+-
+-#ifdef __GNUC__
+-inline
+-#endif
+-static int
+-number_of_first_bit_set (mask)
+- int mask;
+-{
+- int bit;
+-
+- for (bit = 0;
+- (mask & (1 << bit)) == 0;
+- ++bit)
+- continue;
+-
+- return bit;
+-}
+-
+ /* Generate code to return from a thumb function.
+ If 'reg_containing_return_addr' is -1, then the return address is
+ actually on the stack, at the stack pointer. */
diff --git a/meta/packages/gcc/gcc-3.3.4/arm-tune.patch b/meta/packages/gcc/gcc-3.3.4/arm-tune.patch
new file mode 100644
index 0000000000..701c99b87c
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/arm-tune.patch
@@ -0,0 +1,9 @@
+--- gcc/config/arm/linux-elf.h.orig 2004-03-11 14:46:33.000000000 +0000
++++ gcc/config/arm/linux-elf.h 2004-03-11 14:48:23.000000000 +0000
+@@ -128,3 +128,6 @@
+
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
++
++/* Tune for XScale. */
++#define TARGET_TUNE_DEFAULT TARGET_CPU_xscale
diff --git a/meta/packages/gcc/gcc-3.3.4/bash3.patch b/meta/packages/gcc/gcc-3.3.4/bash3.patch
new file mode 100644
index 0000000000..614ba50eec
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/bash3.patch
@@ -0,0 +1,20 @@
+--- gcc-3.3.4/configure.orig 2002-09-29 18:11:24.000000000 +0200
++++ gcc-3.3.4/configure 2005-01-28 12:26:40.000000000 +0100
+@@ -697,7 +697,7 @@
+ if test -f skip-this-dir; then
+ # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
+ # and reset the trap handler.
+- trap 0
++ trap '' 0
+ rm -rf Makefile* ${tmpdir}
+ # Execute the final clean-up actions
+ ${config_shell} skip-this-dir
+@@ -1596,7 +1596,7 @@
+ # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
+ # and reset the trap handler.
+ rm -rf ${tmpdir}
+-trap 0
++trap '' 0
+
+ exit 0
+
diff --git a/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-100-conf.patch b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-100-conf.patch
new file mode 100644
index 0000000000..213b4fbbd6
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-100-conf.patch
@@ -0,0 +1,1593 @@
+diff -urN gcc-3.3.3/boehm-gc/config.sub gcc-3.3.3-new/boehm-gc/config.sub
+--- gcc-3.3.3/boehm-gc/config.sub 2002-02-11 22:37:53.000000000 -0600
++++ gcc-3.3.3-new/boehm-gc/config.sub 2004-02-16 21:12:16.000000000 -0600
+@@ -118,7 +118,7 @@
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+- nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
++ nto-qnx* | linux-gnu* | linux-uclibc* | storm-chaos* | os2-emx* | windows32-*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+@@ -1089,7 +1089,8 @@
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
++ | -mingw32* | -linux-gnu* | -linux-uclibc* \
++ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+diff -urN gcc-3.3.3/config.sub gcc-3.3.3-new/config.sub
+--- gcc-3.3.3/config.sub 2003-01-30 17:25:36.000000000 -0600
++++ gcc-3.3.3-new/config.sub 2004-02-16 21:12:16.000000000 -0600
+@@ -118,7 +118,7 @@
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+- nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
++ nto-qnx* | linux-gnu* | linux-uclibc* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+@@ -1112,7 +1112,8 @@
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
++ | -mingw32* | -linux-gnu* | -linux-uclibc* \
++ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+diff -urN gcc-3.3.3/gcc/config/arm/linux-elf.h gcc-3.3.3-new/gcc/config/arm/linux-elf.h
+--- gcc-3.3.3/gcc/config/arm/linux-elf.h 2003-09-16 10:39:23.000000000 -0500
++++ gcc-3.3.3-new/gcc/config/arm/linux-elf.h 2004-02-16 21:12:16.000000000 -0600
+@@ -78,6 +78,18 @@
+ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+
+ #undef LINK_SPEC
++#ifdef USE_UCLIBC
++#define LINK_SPEC "%{h*} %{version:-v} \
++ %{b} %{Wl,*:%*} \
++ %{static:-Bstatic} \
++ %{shared:-shared} \
++ %{symbolic:-Bsymbolic} \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
++ -X \
++ %{mbig-endian:-EB}" \
++ SUBTARGET_EXTRA_LINK_SPEC
++#else
+ #define LINK_SPEC "%{h*} %{version:-v} \
+ %{b} %{Wl,*:%*} \
+ %{static:-Bstatic} \
+@@ -88,6 +100,7 @@
+ -X \
+ %{mbig-endian:-EB}" \
+ SUBTARGET_EXTRA_LINK_SPEC
++#endif
+
+ #define TARGET_OS_CPP_BUILTINS() \
+ do { \
+diff -urN gcc-3.3.3/gcc/config/cris/linux.h gcc-3.3.3-new/gcc/config/cris/linux.h
+--- gcc-3.3.3/gcc/config/cris/linux.h 2003-03-10 21:01:35.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/cris/linux.h 2004-02-16 21:12:16.000000000 -0600
+@@ -81,6 +81,25 @@
+ #undef CRIS_DEFAULT_CPU_VERSION
+ #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
+
++#ifdef USE_UCLIBC
++
++#undef CRIS_SUBTARGET_VERSION
++#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
++
++#undef CRIS_LINK_SUBTARGET_SPEC
++#define CRIS_LINK_SUBTARGET_SPEC \
++ "-mcrislinux\
++ -rpath-link include/asm/../..%s\
++ %{shared} %{static}\
++ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
++ %{!shared: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
++ %{!r:%{O2|O3: --gc-sections}}"
++
++#else /* USE_UCLIBC */
++
+ #undef CRIS_SUBTARGET_VERSION
+ #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
+
+@@ -95,6 +114,8 @@
+ %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
+ %{!r:%{O2|O3: --gc-sections}}"
+
++#endif /* USE_UCLIBC */
++
+
+ /* Node: Run-time Target */
+
+diff -urN gcc-3.3.3/gcc/config/cris/t-linux-uclibc gcc-3.3.3-new/gcc/config/cris/t-linux-uclibc
+--- gcc-3.3.3/gcc/config/cris/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/cris/t-linux-uclibc 2004-02-16 21:12:16.000000000 -0600
+@@ -0,0 +1,3 @@
++T_CFLAGS = -DUSE_UCLIBC
++TARGET_LIBGCC2_CFLAGS += -fPIC
++CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
+diff -urN gcc-3.3.3/gcc/config/i386/linux.h gcc-3.3.3-new/gcc/config/i386/linux.h
+--- gcc-3.3.3/gcc/config/i386/linux.h 2003-11-14 00:46:12.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/i386/linux.h 2004-02-16 21:12:16.000000000 -0600
+@@ -136,6 +136,15 @@
+ %{static:-static}}}"
+ #endif
+ #else
++#if defined USE_UCLIBC
++#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
++ %{!shared: \
++ %{!ibcs: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}}}"
++#else
+ #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+@@ -144,6 +153,7 @@
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{static:-static}}}"
+ #endif
++#endif
+
+ /* A C statement (sans semicolon) to output to the stdio stream
+ FILE the assembler definition of uninitialized global DECL named
+diff -urN gcc-3.3.3/gcc/config/mips/linux.h gcc-3.3.3-new/gcc/config/mips/linux.h
+--- gcc-3.3.3/gcc/config/mips/linux.h 2003-12-23 02:58:00.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/mips/linux.h 2004-02-16 21:12:16.000000000 -0600
+@@ -175,6 +175,17 @@
+
+ /* Borrowed from sparc/linux.h */
+ #undef LINK_SPEC
++#ifdef USE_UCLIBC
++#define LINK_SPEC \
++ "%(endian_spec) \
++ %{shared:-shared} \
++ %{!shared: \
++ %{!ibcs: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}}}"
++#else
+ #define LINK_SPEC \
+ "%(endian_spec) \
+ %{shared:-shared} \
+@@ -184,6 +195,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+ %{static:-static}}}"
++#endif
+
+ #undef SUBTARGET_ASM_SPEC
+ #define SUBTARGET_ASM_SPEC "\
+diff -urN gcc-3.3.3/gcc/config/sh/linux.h gcc-3.3.3-new/gcc/config/sh/linux.h
+--- gcc-3.3.3/gcc/config/sh/linux.h 2003-11-06 17:13:33.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/sh/linux.h 2004-02-16 21:12:16.000000000 -0600
+@@ -44,12 +44,21 @@
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
+ #undef SUBTARGET_LINK_SPEC
++#ifdef USE_UCLIBC
++#define SUBTARGET_LINK_SPEC \
++ "%{shared:-shared} \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}"
++#else
+ #define SUBTARGET_LINK_SPEC \
+ "%{shared:-shared} \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{static:-static}"
++#endif
+
+ /* The GNU C++ standard library requires that these macros be defined. */
+ #undef CPLUSPLUS_CPP_SPEC
+diff -urN gcc-3.3.3/gcc/config/sh/t-linux-uclibc gcc-3.3.3-new/gcc/config/sh/t-linux-uclibc
+--- gcc-3.3.3/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/sh/t-linux-uclibc 2004-02-16 21:12:16.000000000 -0600
+@@ -0,0 +1,16 @@
++T_CFLAGS = -DUSE_UCLIBC
++
++# Don't run fixproto
++STMP_FIXPROTO =
++
++TARGET_LIBGCC2_CFLAGS = -fpic
++LIB1ASMFUNCS_CACHE = _ic_invalidate
++
++LIB2FUNCS_EXTRA=
++
++MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4
++MULTILIB_DIRNAMES=
++MULTILIB_MATCHES =
++MULTILIB_EXCEPTIONS=
++
++EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o
+diff -urN gcc-3.3.3/gcc/config/sh/t-sh64-uclibc gcc-3.3.3-new/gcc/config/sh/t-sh64-uclibc
+--- gcc-3.3.3/gcc/config/sh/t-sh64-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/sh/t-sh64-uclibc 2004-02-16 21:12:16.000000000 -0600
+@@ -0,0 +1,13 @@
++EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o
++
++LIB1ASMFUNCS = \
++ _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
++ _shcompact_call_trampoline _shcompact_return_trampoline \
++ _shcompact_incoming_args _ic_invalidate _nested_trampoline \
++ _push_pop_shmedia_regs \
++ _udivdi3 _divdi3 _umoddi3 _moddi3
++
++MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu
++MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64
++MULTILIB_MATCHES=
++MULTILIB_EXCEPTIONS=
+diff -urN gcc-3.3.3/gcc/config/t-linux-uclibc gcc-3.3.3-new/gcc/config/t-linux-uclibc
+--- gcc-3.3.3/gcc/config/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/t-linux-uclibc 2004-02-16 21:12:16.000000000 -0600
+@@ -0,0 +1,23 @@
++T_CFLAGS = -DUSE_UCLIBC
++
++# Don't run fixproto
++STMP_FIXPROTO =
++
++# Compile crtbeginS.o and crtendS.o with pic.
++CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
++# Compile libgcc2.a with pic.
++TARGET_LIBGCC2_CFLAGS = -fPIC
++
++# Override t-slibgcc-elf-ver to export some libgcc symbols with
++# the symbol versions that glibc used.
++SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
++
++# Use unwind-dw2-fde-glibc
++#LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
++# $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
++#LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
++
++# Use unwind-dw2-fde
++LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
++ $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
++LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
+diff -urN gcc-3.3.3/gcc/config.gcc gcc-3.3.3-new/gcc/config.gcc
+--- gcc-3.3.3/gcc/config.gcc 2004-01-21 00:06:00.000000000 -0600
++++ gcc-3.3.3-new/gcc/config.gcc 2004-02-16 21:12:16.000000000 -0600
+@@ -697,6 +697,17 @@
+ extra_parts=""
+ use_collect2=yes
+ ;;
++arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
++ tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h"
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
++ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
++ gnu_ld=yes
++ case x${enable_threads} in
++ x | xyes | xpthreads | xposix)
++ thread_file='posix'
++ ;;
++ esac
++ ;;
+ arm*-*-linux*) # ARM GNU/Linux with ELF
+ tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h"
+ tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
+@@ -772,6 +783,10 @@
+ tmake_file="cris/t-cris cris/t-elfmulti"
+ gas=yes
+ ;;
++cris-*-linux-uclibc*)
++ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
++ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc"
++ ;;
+ cris-*-linux*)
+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
+ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
+@@ -1173,6 +1188,11 @@
+ thread_file='single'
+ fi
+ ;;
++i[34567]86-*-linux*uclibc*) # Intel 80386's running GNU/Linux
++ # with ELF format using uClibc
++ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc i386/t-crtstuff"
++ ;;
+ i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
+ # with ELF format using glibc 2
+ # aka GNU/Linux C library 6
+@@ -1883,6 +1903,16 @@
+ tm_file="elfos.h ${tm_file} mips/netbsd.h"
+ tmake_file="${tmake_file} mips/t-netbsd"
+ ;;
++mips*-*-linux-uclibc*) # Linux MIPS, either endian. uClibc
++ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
++ case $machine in
++ mipsisa32*-*)
++ target_cpu_default="MASK_SOFT_FLOAT"
++ tm_defines="MIPS_ISA_DEFAULT=32"
++ ;;
++ esac
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc mips/t-linux"
++ ;;
+ mips*-*-linux*) # Linux MIPS, either endian.
+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
+ case $machine in
+@@ -2129,6 +2159,11 @@
+ out_file=rs6000/rs6000.c
+ tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
+ ;;
++powerpc-*-linux-uclibc*)
++ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
++ out_file=rs6000/rs6000.c
++ tmake_file="rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm"
++ ;;
+ powerpc-*-linux*)
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
+ out_file=rs6000/rs6000.c
+@@ -2313,10 +2348,18 @@
+ tmake_file="${tmake_file} sh/t-le"
+ ;;
+ esac
+- tmake_file="${tmake_file} sh/t-linux"
++ case $machine in
++ *-*-linux-uclibc*) tmake_file="${tmake_file} sh/t-linux-uclibc" ;;
++ *) tmake_file="${tmake_file} sh/t-linux" ;;
++ esac
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
+ gas=yes gnu_ld=yes
+ case $machine in
++ sh64*-*-linux-uclibc*)
++ tmake_file="${tmake_file} sh/t-sh64-uclibc"
++ tm_file="${tm_file} sh/sh64.h"
++ extra_headers="shmedia.h ushmedia.h sshmedia.h"
++ ;;
+ sh64*)
+ tmake_file="${tmake_file} sh/t-sh64"
+ tm_file="${tm_file} sh/sh64.h"
+diff -urN gcc-3.3.3/libstdc++-v3/aclocal.m4 gcc-3.3.3-new/libstdc++-v3/aclocal.m4
+--- gcc-3.3.3/libstdc++-v3/aclocal.m4 2004-01-12 10:18:44.000000000 -0600
++++ gcc-3.3.3-new/libstdc++-v3/aclocal.m4 2004-02-16 21:12:16.000000000 -0600
+@@ -1216,6 +1216,9 @@
+ dnl Default to "generic"
+ if test x$enable_clocale_flag = xno; then
+ case x${target_os} in
++ xlinux-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ xlinux* | xgnu*)
+ AC_EGREP_CPP([_GLIBCPP_ok], [
+ #include <features.h>
+@@ -1339,6 +1342,41 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ xuclibc)
++ AC_MSG_RESULT(uclibc)
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcpp_MOFILES="$glibcpp_MOFILES $ling.mo"; \
++ glibcpp_POFILES="$glibcpp_POFILES $ling.po"; \
++ done
++ AC_SUBST(glibcpp_MOFILES)
++ AC_SUBST(glibcpp_POFILES)
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_H=config/locale/uclibc/codecvt_specializations.h
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ *)
+ echo "$enable_clocale is an unknown locale package" 1>&2
+ exit 1
+diff -urN gcc-3.3.3/libstdc++-v3/configure gcc-3.3.3-new/libstdc++-v3/configure
+--- gcc-3.3.3/libstdc++-v3/configure 2004-01-12 10:18:45.000000000 -0600
++++ gcc-3.3.3-new/libstdc++-v3/configure 2004-02-17 00:21:12.000000000 -0600
+@@ -2996,6 +2996,9 @@
+
+ if test x$enable_clocale_flag = xno; then
+ case x${target_os} in
++ xlinux-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ xlinux* | xgnu*)
+ cat > conftest.$ac_ext <<EOF
+ #line 3002 "configure"
+@@ -3182,6 +3185,70 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ xuclibc)
++ echo "$ac_t""uclibc" 1>&6
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
++echo "configure:3117: checking for $ac_word" >&5
++if eval "test \"`echo '$''{'ac_cv_prog_check_msgfmt'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ if test -n "$check_msgfmt"; then
++ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
++else
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
++ ac_dummy="$PATH"
++ for ac_dir in $ac_dummy; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/$ac_word; then
++ ac_cv_prog_check_msgfmt="yes"
++ break
++ fi
++ done
++ IFS="$ac_save_ifs"
++ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
++fi
++fi
++check_msgfmt="$ac_cv_prog_check_msgfmt"
++if test -n "$check_msgfmt"; then
++ echo "$ac_t""$check_msgfmt" 1>&6
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcpp_MOFILES="$glibcpp_MOFILES $ling.mo"; \
++ glibcpp_POFILES="$glibcpp_POFILES $ling.po"; \
++ done
++
++
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_H=config/locale/uclibc/codecvt_specializations.h
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ *)
+ echo "$enable_clocale is an unknown locale package" 1>&2
+ exit 1
+@@ -4212,6 +4279,968 @@
+ # GLIBCPP_CHECK_MATH_SUPPORT
+
+ case "$target" in
++ *-uclibc*)
++ os_include_dir="os/uclibc"
++ for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \
++ machine/endian.h machine/param.h sys/machine.h sys/types.h \
++ fp.h locale.h float.h inttypes.h
++do
++ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++echo "configure:4224: checking for $ac_hdr" >&5
++if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4229 "configure"
++#include "confdefs.h"
++#include <$ac_hdr>
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:4234: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++fi
++rm -f conftest*
++fi
++if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_hdr 1
++EOF
++
++else
++ echo "$ac_t""no" 1>&6
++fi
++done
++
++ SECTION_FLAGS='-ffunction-sections -fdata-sections'
++
++
++ # If we're not using GNU ld, then there's no point in even trying these
++ # tests. Check for that first. We should have already tested for gld
++ # by now (in libtool), but require it now just to be safe...
++ test -z "$SECTION_LDFLAGS" && SECTION_LDFLAGS=''
++ test -z "$OPT_LDFLAGS" && OPT_LDFLAGS=''
++
++
++ # The name set by libtool depends on the version of libtool. Shame on us
++ # for depending on an impl detail, but c'est la vie. Older versions used
++ # ac_cv_prog_gnu_ld, but now it's lt_cv_prog_gnu_ld, and is copied back on
++ # top of with_gnu_ld (which is also set by --with-gnu-ld, so that actually
++ # makes sense). We'll test with_gnu_ld everywhere else, so if that isn't
++ # set (hence we're using an older libtool), then set it.
++ if test x${with_gnu_ld+set} != xset; then
++ if test x${ac_cv_prog_gnu_ld+set} != xset; then
++ # We got through "ac_require(ac_prog_ld)" and still not set? Huh?
++ with_gnu_ld=no
++ else
++ with_gnu_ld=$ac_cv_prog_gnu_ld
++ fi
++ fi
++
++ # Start by getting the version number. I think the libtool test already
++ # does some of this, but throws away the result.
++
++ ldver=`$LD --version 2>/dev/null | head -1 | \
++ sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
++
++ glibcpp_gnu_ld_version=`echo $ldver | \
++ $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
++
++ # Set --gc-sections.
++ if test "$with_gnu_ld" = "notbroken"; then
++ # GNU ld it is! Joy and bunny rabbits!
++
++ # All these tests are for C++; save the language and the compiler flags.
++ # Need to do this so that g++ won't try to link in libstdc++
++ ac_test_CFLAGS="${CFLAGS+set}"
++ ac_save_CFLAGS="$CFLAGS"
++ CFLAGS='-x c++ -Wl,--gc-sections'
++
++ # Check for -Wl,--gc-sections
++ # XXX This test is broken at the moment, as symbols required for
++ # linking are now in libsupc++ (not built yet.....). In addition,
++ # this test has cored on solaris in the past. In addition,
++ # --gc-sections doesn't really work at the moment (keeps on discarding
++ # used sections, first .eh_frame and now some of the glibc sections for
++ # iconv). Bzzzzt. Thanks for playing, maybe next time.
++ echo $ac_n "checking for ld that supports -Wl,--gc-sections""... $ac_c" 1>&6
++echo "configure:4312: checking for ld that supports -Wl,--gc-sections" >&5
++ if test "$cross_compiling" = yes; then
++ ac_sectionLDflags=yes
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4317 "configure"
++#include "confdefs.h"
++
++ int main(void)
++ {
++ try { throw 1; }
++ catch (...) { };
++ return 0;
++ }
++
++EOF
++if { (eval echo configure:4328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++then
++ ac_sectionLDflags=yes
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -fr conftest*
++ ac_sectionLDflags=no
++fi
++rm -fr conftest*
++fi
++
++ if test "$ac_test_CFLAGS" = set; then
++ CFLAGS="$ac_save_CFLAGS"
++ else
++ # this is the suspicious part
++ CFLAGS=''
++ fi
++ if test "$ac_sectionLDflags" = "yes"; then
++ SECTION_LDFLAGS="-Wl,--gc-sections $SECTION_LDFLAGS"
++ fi
++ echo "$ac_t""$ac_sectionLDflags" 1>&6
++ fi
++
++ # Set linker optimization flags.
++ if test x"$with_gnu_ld" = x"yes"; then
++ OPT_LDFLAGS="-Wl,-O1 $OPT_LDFLAGS"
++ fi
++
++
++
++
++
++ echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
++echo "configure:4362: checking for main in -lm" >&5
++ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lm $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 4370 "configure"
++#include "confdefs.h"
++
++int main() {
++main()
++; return 0; }
++EOF
++if { (eval echo configure:4377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_lib 1
++EOF
++
++ LIBS="-lm $LIBS"
++
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++ for ac_func in nan copysignf
++do
++echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++echo "configure:4407: checking for $ac_func" >&5
++if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4412 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++$ac_func();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo configure:4435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=no"
++fi
++rm -f conftest*
++fi
++
++if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_func 1
++EOF
++
++else
++ echo "$ac_t""no" 1>&6
++LIBMATHOBJS="$LIBMATHOBJS ${ac_func}.lo"
++fi
++done
++
++
++ for ac_func in __signbit
++do
++echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++echo "configure:4464: checking for $ac_func" >&5
++if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4469 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++$ac_func();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo configure:4492: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=no"
++fi
++rm -f conftest*
++fi
++
++if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_func 1
++EOF
++
++else
++ echo "$ac_t""no" 1>&6
++LIBMATHOBJS="$LIBMATHOBJS signbit.lo"
++fi
++done
++
++ for ac_func in __signbitf
++do
++echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++echo "configure:4520: checking for $ac_func" >&5
++if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4525 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++$ac_func();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo configure:4548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=no"
++fi
++rm -f conftest*
++fi
++
++if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_func 1
++EOF
++
++else
++ echo "$ac_t""no" 1>&6
++LIBMATHOBJS="$LIBMATHOBJS signbitf.lo"
++fi
++done
++
++
++ if test x$ac_cv_func_copysignl = x"yes"; then
++ for ac_func in __signbitl
++do
++echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++echo "configure:4578: checking for $ac_func" >&5
++if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4583 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++$ac_func();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo configure:4606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=no"
++fi
++rm -f conftest*
++fi
++
++if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_func 1
++EOF
++
++else
++ echo "$ac_t""no" 1>&6
++LIBMATHOBJS="$LIBMATHOBJS signbitl.lo"
++fi
++done
++
++ fi
++
++ if test -n "$LIBMATHOBJS"; then
++ need_libmath=yes
++ fi
++
++
++
++if test "$need_libmath" = yes; then
++ GLIBCPP_BUILD_LIBMATH_TRUE=
++ GLIBCPP_BUILD_LIBMATH_FALSE='#'
++else
++ GLIBCPP_BUILD_LIBMATH_TRUE='#'
++ GLIBCPP_BUILD_LIBMATH_FALSE=
++fi
++
++
++ enable_wchar_t=no
++
++ echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
++echo "configure:4651: checking for mbstate_t" >&5
++ cat > conftest.$ac_ext <<EOF
++#line 4653 "configure"
++#include "confdefs.h"
++#include <wchar.h>
++int main() {
++mbstate_t teststate;
++; return 0; }
++EOF
++if { (eval echo configure:4660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ have_mbstate_t=yes
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ have_mbstate_t=no
++fi
++rm -f conftest*
++ echo "$ac_t""$have_mbstate_t" 1>&6
++ if test x"$have_mbstate_t" = xyes; then
++ cat >> confdefs.h <<\EOF
++#define HAVE_MBSTATE_T 1
++EOF
++
++ fi
++
++ for ac_hdr in wchar.h
++do
++ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++echo "configure:4682: checking for $ac_hdr" >&5
++if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4687 "configure"
++#include "confdefs.h"
++#include <$ac_hdr>
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:4692: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++fi
++rm -f conftest*
++fi
++if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_hdr 1
++EOF
++ ac_has_wchar_h=yes
++else
++ echo "$ac_t""no" 1>&6
++ac_has_wchar_h=no
++fi
++done
++
++ for ac_hdr in wctype.h
++do
++ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++echo "configure:4723: checking for $ac_hdr" >&5
++if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4728 "configure"
++#include "confdefs.h"
++#include <$ac_hdr>
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:4733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++fi
++rm -f conftest*
++fi
++if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_hdr 1
++EOF
++ ac_has_wctype_h=yes
++else
++ echo "$ac_t""no" 1>&6
++ac_has_wctype_h=no
++fi
++done
++
++
++ if test x"$ac_has_wchar_h" = xyes &&
++ test x"$ac_has_wctype_h" = xyes &&
++ test x"$enable_c_mbchar" != xno; then
++
++ echo $ac_n "checking for WCHAR_MIN and WCHAR_MAX""... $ac_c" 1>&6
++echo "configure:4766: checking for WCHAR_MIN and WCHAR_MAX" >&5
++ cat > conftest.$ac_ext <<EOF
++#line 4768 "configure"
++#include "confdefs.h"
++#include <wchar.h>
++int main() {
++int i = WCHAR_MIN; int j = WCHAR_MAX;
++; return 0; }
++EOF
++if { (eval echo configure:4775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ has_wchar_minmax=yes
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ has_wchar_minmax=no
++fi
++rm -f conftest*
++ echo "$ac_t""$has_wchar_minmax" 1>&6
++
++ echo $ac_n "checking for WEOF""... $ac_c" 1>&6
++echo "configure:4788: checking for WEOF" >&5
++ cat > conftest.$ac_ext <<EOF
++#line 4790 "configure"
++#include "confdefs.h"
++
++ #include <wchar.h>
++ #include <stddef.h>
++int main() {
++wint_t i = WEOF;
++; return 0; }
++EOF
++if { (eval echo configure:4799: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ has_weof=yes
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ has_weof=no
++fi
++rm -f conftest*
++ echo "$ac_t""$has_weof" 1>&6
++
++ ac_wfuncs=yes
++ for ac_func in wcslen wmemchr wmemcmp wmemcpy wmemmove wmemset
++do
++echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++echo "configure:4815: checking for $ac_func" >&5
++if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4820 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++$ac_func();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo configure:4843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=no"
++fi
++rm -f conftest*
++fi
++
++if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_func 1
++EOF
++
++else
++ echo "$ac_t""no" 1>&6
++\
++ ac_wfuncs=no
++fi
++done
++
++
++ for ac_func in btowc wctob fgetwc fgetws fputwc fputws fwide \
++ fwprintf fwscanf swprintf swscanf vfwprintf vfwscanf vswprintf vswscanf \
++ vwprintf vwscanf wprintf wscanf getwc getwchar mbsinit mbrlen mbrtowc \
++ mbsrtowcs wcsrtombs putwc putwchar ungetwc wcrtomb wcstod wcstof wcstol \
++ wcstoul wcscpy wcsncpy wcscat wcsncat wcscmp wcscoll wcsncmp wcsxfrm \
++ wcscspn wcsspn wcstok wcsftime wcschr wcspbrk wcsrchr wcsstr
++do
++echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++echo "configure:4878: checking for $ac_func" >&5
++if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4883 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++$ac_func();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo configure:4906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=no"
++fi
++rm -f conftest*
++fi
++
++if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_func 1
++EOF
++
++else
++ echo "$ac_t""no" 1>&6
++\
++ ac_wfuncs=no
++fi
++done
++
++
++ echo $ac_n "checking for ISO C99 wchar_t support""... $ac_c" 1>&6
++echo "configure:4934: checking for ISO C99 wchar_t support" >&5
++ if test x"$has_weof" = xyes &&
++ test x"$has_wchar_minmax" = xyes &&
++ test x"$ac_wfuncs" = xyes; then
++ ac_isoC99_wchar_t=yes
++ else
++ ac_isoC99_wchar_t=no
++ fi
++ echo "$ac_t""$ac_isoC99_wchar_t" 1>&6
++
++ ac_safe=`echo "iconv.h" | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for iconv.h""... $ac_c" 1>&6
++echo "configure:4946: checking for iconv.h" >&5
++if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4951 "configure"
++#include "confdefs.h"
++#include <iconv.h>
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:4956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++fi
++rm -f conftest*
++fi
++if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_has_iconv_h=yes
++else
++ echo "$ac_t""no" 1>&6
++ac_has_iconv_h=no
++fi
++
++ ac_safe=`echo "langinfo.h" | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for langinfo.h""... $ac_c" 1>&6
++echo "configure:4980: checking for langinfo.h" >&5
++if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 4985 "configure"
++#include "confdefs.h"
++#include <langinfo.h>
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:4990: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++fi
++rm -f conftest*
++fi
++if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_has_langinfo_h=yes
++else
++ echo "$ac_t""no" 1>&6
++ac_has_langinfo_h=no
++fi
++
++
++ echo $ac_n "checking for iconv in -liconv""... $ac_c" 1>&6
++echo "configure:5014: checking for iconv in -liconv" >&5
++ac_lib_var=`echo iconv'_'iconv | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-liconv $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 5022 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char iconv();
++
++int main() {
++iconv()
++; return 0; }
++EOF
++if { (eval echo configure:5033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ libiconv="-liconv"
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++ ac_save_LIBS="$LIBS"
++ LIBS="$LIBS $libiconv"
++
++ for ac_func in iconv_open iconv_close iconv nl_langinfo
++do
++echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
++echo "configure:5059: checking for $ac_func" >&5
++if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 5064 "configure"
++#include "confdefs.h"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++$ac_func();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo configure:5087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_$ac_func=no"
++fi
++rm -f conftest*
++fi
++
++if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_func 1
++EOF
++ \
++ ac_XPG2funcs=yes
++else
++ echo "$ac_t""no" 1>&6
++ac_XPG2funcs=no
++fi
++done
++
++
++ LIBS="$ac_save_LIBS"
++
++ echo $ac_n "checking for XPG2 wchar_t support""... $ac_c" 1>&6
++echo "configure:5117: checking for XPG2 wchar_t support" >&5
++ if test x"$ac_has_iconv_h" = xyes &&
++ test x"$ac_has_langinfo_h" = xyes &&
++ test x"$ac_XPG2funcs" = xyes; then
++ ac_XPG2_wchar_t=yes
++ else
++ ac_XPG2_wchar_t=no
++ fi
++ echo "$ac_t""$ac_XPG2_wchar_t" 1>&6
++
++ if test x"$ac_isoC99_wchar_t" = xyes &&
++ test x"$ac_XPG2_wchar_t" = xyes; then
++ cat >> confdefs.h <<\EOF
++#define _GLIBCPP_USE_WCHAR_T 1
++EOF
++
++ enable_wchar_t=yes
++ fi
++ fi
++ echo $ac_n "checking for enabled wchar_t specializations""... $ac_c" 1>&6
++echo "configure:5137: checking for enabled wchar_t specializations" >&5
++ echo "$ac_t""$enable_wchar_t" 1>&6
++
++
++if test "$enable_wchar_t" = yes; then
++ GLIBCPP_TEST_WCHAR_T_TRUE=
++ GLIBCPP_TEST_WCHAR_T_FALSE='#'
++else
++ GLIBCPP_TEST_WCHAR_T_TRUE='#'
++ GLIBCPP_TEST_WCHAR_T_FALSE=
++fi
++
++
++ cat >> confdefs.h <<\EOF
++#define HAVE_COPYSIGN 1
++EOF
++
++ cat >> confdefs.h <<\EOF
++#define HAVE_FINITE 1
++EOF
++
++ cat >> confdefs.h <<\EOF
++#define HAVE_FINITEF 1
++EOF
++
++ cat >> confdefs.h <<\EOF
++#define HAVE_ISINF 1
++EOF
++
++ cat >> confdefs.h <<\EOF
++#define HAVE_ISINFF 1
++EOF
++
++ cat >> confdefs.h <<\EOF
++#define HAVE_ISNAN 1
++EOF
++
++ cat >> confdefs.h <<\EOF
++#define HAVE_ISNANF 1
++EOF
++ ;;
+ *-linux*)
+ os_include_dir="os/gnu-linux"
+ for ac_hdr in nan.h ieeefp.h endian.h sys/isa_defs.h \
+diff -urN gcc-3.3.3/libstdc++-v3/configure.in gcc-3.3.3-new/libstdc++-v3/configure.in
+--- gcc-3.3.3/libstdc++-v3/configure.in 2004-01-12 10:19:22.000000000 -0600
++++ gcc-3.3.3-new/libstdc++-v3/configure.in 2004-02-16 23:13:45.000000000 -0600
+@@ -117,6 +117,36 @@
+ # GLIBCPP_CHECK_MATH_SUPPORT
+
+ case "$target" in
++ *-uclibc*)
++ os_include_dir="os/uclibc"
++ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
++ machine/endian.h machine/param.h sys/machine.h sys/types.h \
++ fp.h locale.h float.h inttypes.h])
++ SECTION_FLAGS='-ffunction-sections -fdata-sections'
++ AC_SUBST(SECTION_FLAGS)
++ GLIBCPP_CHECK_LINKER_FEATURES
++ GLIBCPP_CHECK_COMPLEX_MATH_SUPPORT
++ GLIBCPP_CHECK_WCHAR_T_SUPPORT
++
++ AC_DEFINE(HAVE_COPYSIGN)
++ #AC_DEFINE(HAVE_COPYSIGNF)
++ AC_DEFINE(HAVE_FINITE)
++ AC_DEFINE(HAVE_FINITEF)
++ #AC_DEFINE(HAVE_FREXPF)
++ #AC_DEFINE(HAVE_HYPOTF)
++ AC_DEFINE(HAVE_ISINF)
++ AC_DEFINE(HAVE_ISINFF)
++ AC_DEFINE(HAVE_ISNAN)
++ AC_DEFINE(HAVE_ISNANF)
++ #AC_DEFINE(HAVE_SINCOS)
++ #AC_DEFINE(HAVE_SINCOSF)
++ #if test x"long_double_math_on_this_cpu" = x"yes"; then
++ #AC_DEFINE(HAVE_FINITEL)
++ #AC_DEFINE(HAVE_HYPOTL)
++ #AC_DEFINE(HAVE_ISINFL)
++ #AC_DEFINE(HAVE_ISNANL)
++ #fi
++ ;;
+ *-linux*)
+ os_include_dir="os/gnu-linux"
+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
+diff -urN gcc-3.3.3/libstdc++-v3/configure.target gcc-3.3.3-new/libstdc++-v3/configure.target
+--- gcc-3.3.3/libstdc++-v3/configure.target 2003-10-01 14:07:07.000000000 -0500
++++ gcc-3.3.3-new/libstdc++-v3/configure.target 2004-02-16 21:12:16.000000000 -0600
+@@ -133,6 +133,9 @@
+ freebsd*)
+ os_include_dir="os/bsd/freebsd"
+ ;;
++ linux-uclibc*)
++ os_include_dir="os/uclibc"
++ ;;
+ gnu* | linux*)
+ os_include_dir="os/gnu-linux"
+ ;;
+diff -urN gcc-3.3.3/libstdc++-v3/include/c_std/std_cstdlib.h gcc-3.3.3-new/libstdc++-v3/include/c_std/std_cstdlib.h
+--- gcc-3.3.3/libstdc++-v3/include/c_std/std_cstdlib.h 2003-04-18 05:08:05.000000000 -0500
++++ gcc-3.3.3-new/libstdc++-v3/include/c_std/std_cstdlib.h 2004-02-16 21:12:16.000000000 -0600
+@@ -101,9 +101,11 @@
+ using ::labs;
+ using ::ldiv;
+ using ::malloc;
++#if _GLIBCPP_USE_WCHAR_T
+ using ::mblen;
+ using ::mbstowcs;
+ using ::mbtowc;
++#endif
+ using ::qsort;
+ using ::rand;
+ using ::realloc;
+@@ -112,8 +114,10 @@
+ using ::strtol;
+ using ::strtoul;
+ using ::system;
++#if _GLIBCPP_USE_WCHAR_T
+ using ::wcstombs;
+ using ::wctomb;
++#endif
+
+ inline long
+ abs(long __i) { return labs(__i); }
+diff -urN gcc-3.3.3/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.3.3-new/libstdc++-v3/include/c_std/std_cwchar.h
+--- gcc-3.3.3/libstdc++-v3/include/c_std/std_cwchar.h 2003-04-18 05:08:05.000000000 -0500
++++ gcc-3.3.3-new/libstdc++-v3/include/c_std/std_cwchar.h 2004-02-16 21:12:16.000000000 -0600
+@@ -165,7 +165,9 @@
+ using ::wcscoll;
+ using ::wcscpy;
+ using ::wcscspn;
++#ifdef HAVE_WCSFTIME
+ using ::wcsftime;
++#endif
+ using ::wcslen;
+ using ::wcsncat;
+ using ::wcsncmp;
+diff -urN gcc-3.3.3/ltconfig gcc-3.3.3-new/ltconfig
+--- gcc-3.3.3/ltconfig 2003-02-19 20:10:02.000000000 -0600
++++ gcc-3.3.3-new/ltconfig 2004-02-16 21:12:16.000000000 -0600
+@@ -603,6 +603,7 @@
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
+ linux-gnu*) ;;
++linux-uclibc*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+
+@@ -1247,6 +1248,24 @@
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
++linux-uclibc*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ # Note: copied from linux-gnu, and may not be appropriate.
++ hardcode_into_libs=yes
++ # Assume using the uClibc dynamic linker.
++ dynamic_linker="uClibc ld.so"
++ ;;
++
+ netbsd*)
+ need_lib_prefix=no
+ need_version=no
diff --git a/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-110-conf.patch b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-110-conf.patch
new file mode 100644
index 0000000000..f297c3283f
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-110-conf.patch
@@ -0,0 +1,55 @@
+Use the patch by Carl Miller <chaz@energoncube.net> for powerpc, with
+some minor modifications. Changed *os_uclibc to *os_linux_uclibc since
+at some point we might support other platforms. Also updated to 3.3.3.
+diff -urN gcc-3.3.3/gcc/config/rs6000/linux.h gcc-3.3.3-new/gcc/config/rs6000/linux.h
+--- gcc-3.3.3/gcc/config/rs6000/linux.h 2003-11-14 00:46:10.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/rs6000/linux.h 2004-02-16 21:13:40.000000000 -0600
+@@ -64,7 +64,11 @@
+ #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
+
+ #undef LINK_OS_DEFAULT_SPEC
++#ifdef USE_UCLIBC
++#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
++#else
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
++#endif
+
+ #undef TARGET_VERSION
+ #define TARGET_VERSION fprintf (stderr, " (PowerPC GNU/Linux)");
+diff -urN gcc-3.3.3/gcc/config/rs6000/sysv4.h gcc-3.3.3-new/gcc/config/rs6000/sysv4.h
+--- gcc-3.3.3/gcc/config/rs6000/sysv4.h 2003-10-28 13:55:41.000000000 -0600
++++ gcc-3.3.3-new/gcc/config/rs6000/sysv4.h 2004-02-16 21:13:40.000000000 -0600
+@@ -968,9 +968,11 @@
+ %{mcall-linux: %(link_os_linux) } \
+ %{mcall-gnu: %(link_os_gnu) } \
+ %{mcall-netbsd: %(link_os_netbsd) } \
++%{mcall-uclibc: %(link_os_linux_uclibc) } \
+ %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
+ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
+- %{!mcall-netbsd: %(link_os_default) }}}}}}}}}"
++ %{!mcall-netbsd: %{!mcall-uclibc: \
++ %(link_os_default) }}}}}}}}}}"
+
+ #define LINK_OS_DEFAULT_SPEC ""
+
+@@ -1307,6 +1309,12 @@
+
+ #define LINK_OS_WINDISS_SPEC ""
+
++/* uClibc support for Linux. */
++
++#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
++
+ /* Define any extra SPECS that the compiler needs to generate. */
+ /* Override rs6000.h definition. */
+ #undef SUBTARGET_EXTRA_SPECS
+@@ -1372,6 +1380,7 @@
+ { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
+ { "link_os_vxworks", LINK_OS_VXWORKS_SPEC }, \
+ { "link_os_windiss", LINK_OS_WINDISS_SPEC }, \
++ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
+ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \
+ { "cc1_endian_big", CC1_ENDIAN_BIG_SPEC }, \
+ { "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
diff --git a/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-120-softfloat.patch b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-120-softfloat.patch
new file mode 100644
index 0000000000..f2431896cf
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-120-softfloat.patch
@@ -0,0 +1,14 @@
+--- gcc-3.3.2-old/configure.in 2003-08-09 01:57:21.000000000 -0500
++++ gcc-3.3.2/configure.in 2004-01-15 12:46:29.000000000 -0600
+@@ -1418,6 +1418,11 @@
+ fi
+
+ FLAGS_FOR_TARGET=
++case " $targargs " in
++ *" --nfp "* | *" --without-float "*)
++ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -msoft-float'
++ ;;
++esac
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $targargs " in
diff --git a/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-200-code.patch b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-200-code.patch
new file mode 100644
index 0000000000..5880d834b4
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/gcc-uclibc-3.3-200-code.patch
@@ -0,0 +1,3021 @@
+Warning! This patch is not finished. The wide char time-related stuff
+is broken or non-functional. But it serves as a starting point to get
+things building while I continue to work on the uClibc locale internals.
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2004-01-09 07:55:02.000000000 -0600
+@@ -0,0 +1,63 @@
++// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
++
++// Copyright (C) 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++// Written by Jakub Jelinek <jakub@redhat.com>
++
++#include <clocale>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning clean this up
++#endif
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++
++extern "C" __typeof(iswctype_l) __iswctype_l;
++extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
++extern "C" __typeof(strcoll_l) __strcoll_l;
++extern "C" __typeof(strftime_l) __strftime_l;
++extern "C" __typeof(strtod_l) __strtod_l;
++extern "C" __typeof(strtof_l) __strtof_l;
++extern "C" __typeof(strtold_l) __strtold_l;
++extern "C" __typeof(strtol_l) __strtol_l;
++extern "C" __typeof(strtoll_l) __strtoll_l;
++extern "C" __typeof(strtoul_l) __strtoul_l;
++extern "C" __typeof(strtoull_l) __strtoull_l;
++extern "C" __typeof(strxfrm_l) __strxfrm_l;
++extern "C" __typeof(towlower_l) __towlower_l;
++extern "C" __typeof(towupper_l) __towupper_l;
++extern "C" __typeof(wcscoll_l) __wcscoll_l;
++extern "C" __typeof(wcsftime_l) __wcsftime_l;
++extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
++extern "C" __typeof(wctype_l) __wctype_l;
++extern "C" __typeof(newlocale) __newlocale;
++extern "C" __typeof(freelocale) __freelocale;
++extern "C" __typeof(duplocale) __duplocale;
++extern "C" __typeof(uselocale) __uselocale;
++
++#endif // GLIBC 2.3 and later
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/c_locale.cc
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/c_locale.cc 2004-01-09 08:37:55.000000000 -0600
+@@ -0,0 +1,231 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <stdexcept>
++#include <langinfo.h>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
++#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
++#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
++#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
++#define __strtof_l(S, E, L) strtof((S), (E))
++#define __strtod_l(S, E, L) strtod((S), (E))
++#define __strtold_l(S, E, L) strtold((S), (E))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __convert_to_v(const char* __s, long& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc, int __base)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ long __l = __strtol_l(__s, &__sanity, __base, __cloc);
++ if (__sanity != __s && *__sanity == '\0' && errno != ERANGE)
++ __v = __l;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, unsigned long& __v,
++ ios_base::iostate& __err, const __c_locale& __cloc,
++ int __base)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ unsigned long __ul = __strtoul_l(__s, &__sanity, __base, __cloc);
++ if (__sanity != __s && *__sanity == '\0' && errno != ERANGE)
++ __v = __ul;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++#ifdef _GLIBCPP_USE_LONG_LONG
++ template<>
++ void
++ __convert_to_v(const char* __s, long long& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc, int __base)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ long long __ll = __strtoll_l(__s, &__sanity, __base, __cloc);
++ if (__sanity != __s && *__sanity == '\0' && errno != ERANGE)
++ __v = __ll;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, unsigned long long& __v,
++ ios_base::iostate& __err, const __c_locale& __cloc,
++ int __base)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ unsigned long long __ull = __strtoull_l(__s, &__sanity, __base,
++ __cloc);
++ if (__sanity != __s && *__sanity == '\0' && errno != ERANGE)
++ __v = __ull;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++#endif
++
++ template<>
++ void
++ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc, int)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ float __f = __strtof_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && *__sanity == '\0' && errno != ERANGE)
++ __v = __f;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc, int)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ double __d = __strtod_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && *__sanity == '\0' && errno != ERANGE)
++ __v = __d;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc, int)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ long double __ld = __strtold_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && *__sanity == '\0' && errno != ERANGE)
++ __v = __ld;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ void
++ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
++ __c_locale __old)
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __cloc = __newlocale(1 << LC_ALL, __s, __old);
++ if (!__cloc)
++ {
++ // This named locale is not supported by the underlying OS.
++ __throw_runtime_error("attempt to create locale from unknown name");
++ }
++#else
++ __cloc = NULL;
++#endif
++ }
++
++ void
++ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ if (_S_c_locale != __cloc)
++ __freelocale(__cloc);
++#else
++ __cloc = NULL;
++#endif
++ }
++
++ __c_locale
++ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
++#ifdef __UCLIBC_HAS_XLOCALE__
++ { return __duplocale(__cloc); }
++#else
++ { return __c_locale(); }
++#endif
++
++ const char* locale::_S_categories[_S_categories_size
++ + _S_extra_categories_size] =
++ {
++ "LC_CTYPE",
++ "LC_NUMERIC",
++ "LC_TIME",
++ "LC_COLLATE",
++ "LC_MONETARY",
++ "LC_MESSAGES"
++#if _GLIBCPP_NUM_CATEGORIES != 0
++ ,
++ "LC_PAPER",
++ "LC_NAME",
++ "LC_ADDRESS",
++ "LC_TELEPHONE",
++ "LC_MEASUREMENT",
++ "LC_IDENTIFICATION"
++#endif
++ };
++} // namespace std
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/c_locale.h
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/c_locale.h 2004-01-09 07:51:06.000000000 -0600
+@@ -0,0 +1,118 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifndef _CPP_BITS_C_LOCALE_H
++#define _CPP_BITS_C_LOCALE_H 1
++
++#pragma GCC system_header
++
++#include <clocale>
++#include <langinfo.h> // For codecvt
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC_HAS_LOCALE__
++#include <iconv.h> // For codecvt using iconv, iconv_t
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#include <libintl.h> // For messages
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning what is _GLIBCPP_C_LOCALE_GNU for
++#endif
++#define _GLIBCPP_C_LOCALE_GNU 1
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix categories
++#endif
++// #define _GLIBCPP_NUM_CATEGORIES 6
++#define _GLIBCPP_NUM_CATEGORIES 0
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++namespace __gnu_cxx
++{
++ extern "C" __typeof(uselocale) __uselocale;
++}
++#endif
++
++namespace std
++{
++#ifdef __UCLIBC_HAS_XLOCALE__
++ typedef __locale_t __c_locale;
++#else
++ typedef int* __c_locale;
++#endif
++
++ // Convert numeric value of type _Tv to string and return length of
++ // string. If snprintf is available use it, otherwise fall back to
++ // the unsafe sprintf which, in general, can be dangerous and should
++ // be avoided.
++ template<typename _Tv>
++ int
++ __convert_from_v(char* __out, const int __size, const char* __fmt,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ _Tv __v, const __c_locale& __cloc, int __prec = -1)
++ {
++ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
++#else
++ _Tv __v, const __c_locale&, int __prec = -1)
++ {
++# ifdef __UCLIBC_HAS_LOCALE__
++ char* __old = setlocale(LC_ALL, NULL);
++ char* __sav = static_cast<char*>(malloc(strlen(__old) + 1));
++ if (__sav)
++ strcpy(__sav, __old);
++ setlocale(LC_ALL, "C");
++# endif
++#endif
++
++ int __ret;
++ if (__prec >= 0)
++ __ret = snprintf(__out, __size, __fmt, __prec, __v);
++ else
++ __ret = snprintf(__out, __size, __fmt, __v);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __gnu_cxx::__uselocale(__old);
++#elif defined __UCLIBC_HAS_LOCALE__
++ setlocale(LC_ALL, __sav);
++ free(__sav);
++#endif
++ return __ret;
++ }
++}
++
++#endif
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2004-01-09 04:04:34.000000000 -0600
+@@ -0,0 +1,113 @@
++// std::codecvt implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.5 - Template class codecvt
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++namespace std
++{
++ // Specializations.
++#ifdef _GLIBCPP_USE_WCHAR_T
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_out(state_type& __state, const intern_type* __from,
++ const intern_type* __from_end, const intern_type*& __from_next,
++ extern_type* __to, extern_type* __to_end,
++ extern_type*& __to_next) const
++ {
++ result __ret = error;
++ size_t __len = min(__from_end - __from, __to_end - __to);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_S_c_locale);
++#endif
++ size_t __conv = wcsrtombs(__to, &__from, __len, &__state);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ if (__conv == __len)
++ {
++ __from_next = __from;
++ __to_next = __to + __conv;
++ __ret = ok;
++ }
++ else if (__conv > 0 && __conv < __len)
++ {
++ __from_next = __from;
++ __to_next = __to + __conv;
++ __ret = partial;
++ }
++ else
++ __ret = error;
++
++ return __ret;
++ }
++
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_in(state_type& __state, const extern_type* __from,
++ const extern_type* __from_end, const extern_type*& __from_next,
++ intern_type* __to, intern_type* __to_end,
++ intern_type*& __to_next) const
++ {
++ result __ret = error;
++ size_t __len = min(__from_end - __from, __to_end - __to);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_S_c_locale);
++#endif
++ size_t __conv = mbsrtowcs(__to, &__from, __len, &__state);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ if (__conv == __len)
++ {
++ __from_next = __from;
++ __to_next = __to + __conv;
++ __ret = ok;
++ }
++ else if (__conv > 0 && __conv < __len)
++ {
++ __from_next = __from;
++ __to_next = __to + __conv;
++ __ret = partial;
++ }
++ else
++ __ret = error;
++
++ return __ret;
++ }
++#endif
++}
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/codecvt_specializations.h gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/codecvt_specializations.h
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/codecvt_specializations.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/codecvt_specializations.h 2004-01-09 01:53:51.000000000 -0600
+@@ -0,0 +1,461 @@
++// Locale support (codecvt) -*- C++ -*-
++
++// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.5 Template class codecvt
++//
++
++// Warning: this file is not meant for user inclusion. Use <locale>.
++
++// Written by Benjamin Kosnik <bkoz@cygnus.com>
++
++ // XXX
++ // Define this here to codecvt.cc can have _S_max_size definition.
++#define _GLIBCPP_USE___ENC_TRAITS 1
++
++ // Extension to use icov for dealing with character encodings,
++ // including conversions and comparisons between various character
++ // sets. This object encapsulates data that may need to be shared between
++ // char_traits, codecvt and ctype.
++ class __enc_traits
++ {
++ public:
++ // Types:
++ // NB: A conversion descriptor subsumes and enhances the
++ // functionality of a simple state type such as mbstate_t.
++ typedef iconv_t __desc_type;
++
++ protected:
++ // Data Members:
++ // Max size of charset encoding name
++ static const int _S_max_size = 32;
++ // Name of internal character set encoding.
++ char _M_int_enc[_S_max_size];
++ // Name of external character set encoding.
++ char _M_ext_enc[_S_max_size];
++
++ // Conversion descriptor between external encoding to internal encoding.
++ __desc_type _M_in_desc;
++ // Conversion descriptor between internal encoding to external encoding.
++ __desc_type _M_out_desc;
++
++ // Details the byte-order marker for the external encoding, if necessary.
++ int _M_ext_bom;
++
++ // Details the byte-order marker for the internal encoding, if necessary.
++ int _M_int_bom;
++
++ public:
++ explicit __enc_traits()
++ : _M_in_desc(0), _M_out_desc(0), _M_ext_bom(0), _M_int_bom(0)
++ {
++ memset(_M_int_enc, 0, _S_max_size);
++ memset(_M_ext_enc, 0, _S_max_size);
++ }
++
++ explicit __enc_traits(const char* __int, const char* __ext,
++ int __ibom = 0, int __ebom = 0)
++ : _M_in_desc(0), _M_out_desc(0), _M_ext_bom(0), _M_int_bom(0)
++ {
++ strncpy(_M_int_enc, __int, _S_max_size);
++ strncpy(_M_ext_enc, __ext, _S_max_size);
++ }
++
++ // 21.1.2 traits typedefs
++ // p4
++ // typedef STATE_T state_type
++ // requires: state_type shall meet the requirements of
++ // CopyConstructible types (20.1.3)
++ __enc_traits(const __enc_traits& __obj): _M_in_desc(0), _M_out_desc(0)
++ {
++ strncpy(_M_int_enc, __obj._M_int_enc, _S_max_size);
++ strncpy(_M_ext_enc, __obj._M_ext_enc, _S_max_size);
++ _M_ext_bom = __obj._M_ext_bom;
++ _M_int_bom = __obj._M_int_bom;
++ }
++
++ // Need assignment operator as well.
++ __enc_traits&
++ operator=(const __enc_traits& __obj)
++ {
++ strncpy(_M_int_enc, __obj._M_int_enc, _S_max_size);
++ strncpy(_M_ext_enc, __obj._M_ext_enc, _S_max_size);
++ _M_in_desc = 0;
++ _M_out_desc = 0;
++ _M_ext_bom = __obj._M_ext_bom;
++ _M_int_bom = __obj._M_int_bom;
++ return *this;
++ }
++
++ ~__enc_traits()
++ {
++ __desc_type __err = reinterpret_cast<iconv_t>(-1);
++ if (_M_in_desc && _M_in_desc != __err)
++ iconv_close(_M_in_desc);
++ if (_M_out_desc && _M_out_desc != __err)
++ iconv_close(_M_out_desc);
++ }
++
++ void
++ _M_init()
++ {
++ const __desc_type __err = reinterpret_cast<iconv_t>(-1);
++ if (!_M_in_desc)
++ {
++ _M_in_desc = iconv_open(_M_int_enc, _M_ext_enc);
++ if (_M_in_desc == __err)
++ __throw_runtime_error("creating iconv input descriptor failed.");
++ }
++ if (!_M_out_desc)
++ {
++ _M_out_desc = iconv_open(_M_ext_enc, _M_int_enc);
++ if (_M_out_desc == __err)
++ __throw_runtime_error("creating iconv output descriptor failed.");
++ }
++ }
++
++ bool
++ _M_good()
++ {
++ const __desc_type __err = reinterpret_cast<iconv_t>(-1);
++ bool __test = _M_in_desc && _M_in_desc != __err;
++ __test &= _M_out_desc && _M_out_desc != __err;
++ return __test;
++ }
++
++ const __desc_type*
++ _M_get_in_descriptor()
++ { return &_M_in_desc; }
++
++ const __desc_type*
++ _M_get_out_descriptor()
++ { return &_M_out_desc; }
++
++ int
++ _M_get_external_bom()
++ { return _M_ext_bom; }
++
++ int
++ _M_get_internal_bom()
++ { return _M_int_bom; }
++
++ const char*
++ _M_get_internal_enc()
++ { return _M_int_enc; }
++
++ const char*
++ _M_get_external_enc()
++ { return _M_ext_enc; }
++ };
++
++ // Partial specialization
++ // This specialization takes advantage of iconv to provide code
++ // conversions between a large number of character encodings.
++ template<typename _InternT, typename _ExternT>
++ class codecvt<_InternT, _ExternT, __enc_traits>
++ : public __codecvt_abstract_base<_InternT, _ExternT, __enc_traits>
++ {
++ public:
++ // Types:
++ typedef codecvt_base::result result;
++ typedef _InternT intern_type;
++ typedef _ExternT extern_type;
++ typedef __enc_traits state_type;
++ typedef __enc_traits::__desc_type __desc_type;
++ typedef __enc_traits __enc_type;
++
++ // Data Members:
++ static locale::id id;
++
++ explicit
++ codecvt(size_t __refs = 0)
++ : __codecvt_abstract_base<intern_type, extern_type, state_type>(__refs)
++ { }
++
++ explicit
++ codecvt(__enc_type* __enc, size_t __refs = 0)
++ : __codecvt_abstract_base<intern_type, extern_type, state_type>(__refs)
++ { }
++
++ protected:
++ virtual
++ ~codecvt() { }
++
++ virtual result
++ do_out(state_type& __state, const intern_type* __from,
++ const intern_type* __from_end, const intern_type*& __from_next,
++ extern_type* __to, extern_type* __to_end,
++ extern_type*& __to_next) const;
++
++ virtual result
++ do_unshift(state_type& __state, extern_type* __to,
++ extern_type* __to_end, extern_type*& __to_next) const;
++
++ virtual result
++ do_in(state_type& __state, const extern_type* __from,
++ const extern_type* __from_end, const extern_type*& __from_next,
++ intern_type* __to, intern_type* __to_end,
++ intern_type*& __to_next) const;
++
++ virtual int
++ do_encoding() const throw();
++
++ virtual bool
++ do_always_noconv() const throw();
++
++ virtual int
++ do_length(const state_type&, const extern_type* __from,
++ const extern_type* __end, size_t __max) const;
++
++ virtual int
++ do_max_length() const throw();
++ };
++
++ template<typename _InternT, typename _ExternT>
++ locale::id
++ codecvt<_InternT, _ExternT, __enc_traits>::id;
++
++ // This adaptor works around the signature problems of the second
++ // argument to iconv(): SUSv2 and others use 'const char**', but glibc 2.2
++ // uses 'char**', which matches the POSIX 1003.1-2001 standard.
++ // Using this adaptor, g++ will do the work for us.
++ template<typename _T>
++ inline size_t
++ __iconv_adaptor(size_t(*__func)(iconv_t, _T, size_t*, char**, size_t*),
++ iconv_t __cd, char** __inbuf, size_t* __inbytes,
++ char** __outbuf, size_t* __outbytes)
++ { return __func(__cd, (_T)__inbuf, __inbytes, __outbuf, __outbytes); }
++
++ template<typename _InternT, typename _ExternT>
++ codecvt_base::result
++ codecvt<_InternT, _ExternT, __enc_traits>::
++ do_out(state_type& __state, const intern_type* __from,
++ const intern_type* __from_end, const intern_type*& __from_next,
++ extern_type* __to, extern_type* __to_end,
++ extern_type*& __to_next) const
++ {
++ result __ret = codecvt_base::error;
++ if (__state._M_good())
++ {
++ typedef state_type::__desc_type __desc_type;
++ const __desc_type* __desc = __state._M_get_out_descriptor();
++ const size_t __fmultiple = sizeof(intern_type);
++ size_t __fbytes = __fmultiple * (__from_end - __from);
++ const size_t __tmultiple = sizeof(extern_type);
++ size_t __tbytes = __tmultiple * (__to_end - __to);
++
++ // Argument list for iconv specifies a byte sequence. Thus,
++ // all to/from arrays must be brutally casted to char*.
++ char* __cto = reinterpret_cast<char*>(__to);
++ char* __cfrom;
++ size_t __conv;
++
++ // Some encodings need a byte order marker as the first item
++ // in the byte stream, to designate endian-ness. The default
++ // value for the byte order marker is NULL, so if this is
++ // the case, it's not necessary and we can just go on our
++ // merry way.
++ int __int_bom = __state._M_get_internal_bom();
++ if (__int_bom)
++ {
++ size_t __size = __from_end - __from;
++ intern_type* __cfixed = static_cast<intern_type*>(__builtin_alloca(sizeof(intern_type) * (__size + 1)));
++ __cfixed[0] = static_cast<intern_type>(__int_bom);
++ char_traits<intern_type>::copy(__cfixed + 1, __from, __size);
++ __cfrom = reinterpret_cast<char*>(__cfixed);
++ __conv = __iconv_adaptor(iconv, *__desc, &__cfrom,
++ &__fbytes, &__cto, &__tbytes);
++ }
++ else
++ {
++ intern_type* __cfixed = const_cast<intern_type*>(__from);
++ __cfrom = reinterpret_cast<char*>(__cfixed);
++ __conv = __iconv_adaptor(iconv, *__desc, &__cfrom, &__fbytes,
++ &__cto, &__tbytes);
++ }
++
++ if (__conv != size_t(-1))
++ {
++ __from_next = reinterpret_cast<const intern_type*>(__cfrom);
++ __to_next = reinterpret_cast<extern_type*>(__cto);
++ __ret = codecvt_base::ok;
++ }
++ else
++ {
++ if (__fbytes < __fmultiple * (__from_end - __from))
++ {
++ __from_next = reinterpret_cast<const intern_type*>(__cfrom);
++ __to_next = reinterpret_cast<extern_type*>(__cto);
++ __ret = codecvt_base::partial;
++ }
++ else
++ __ret = codecvt_base::error;
++ }
++ }
++ return __ret;
++ }
++
++ template<typename _InternT, typename _ExternT>
++ codecvt_base::result
++ codecvt<_InternT, _ExternT, __enc_traits>::
++ do_unshift(state_type& __state, extern_type* __to,
++ extern_type* __to_end, extern_type*& __to_next) const
++ {
++ result __ret = codecvt_base::error;
++ if (__state._M_good())
++ {
++ typedef state_type::__desc_type __desc_type;
++ const __desc_type* __desc = __state._M_get_in_descriptor();
++ const size_t __tmultiple = sizeof(intern_type);
++ size_t __tlen = __tmultiple * (__to_end - __to);
++
++ // Argument list for iconv specifies a byte sequence. Thus,
++ // all to/from arrays must be brutally casted to char*.
++ char* __cto = reinterpret_cast<char*>(__to);
++ size_t __conv = __iconv_adaptor(iconv,*__desc, NULL, NULL,
++ &__cto, &__tlen);
++
++ if (__conv != size_t(-1))
++ {
++ __to_next = reinterpret_cast<extern_type*>(__cto);
++ if (__tlen == __tmultiple * (__to_end - __to))
++ __ret = codecvt_base::noconv;
++ else if (__tlen == 0)
++ __ret = codecvt_base::ok;
++ else
++ __ret = codecvt_base::partial;
++ }
++ else
++ __ret = codecvt_base::error;
++ }
++ return __ret;
++ }
++
++ template<typename _InternT, typename _ExternT>
++ codecvt_base::result
++ codecvt<_InternT, _ExternT, __enc_traits>::
++ do_in(state_type& __state, const extern_type* __from,
++ const extern_type* __from_end, const extern_type*& __from_next,
++ intern_type* __to, intern_type* __to_end,
++ intern_type*& __to_next) const
++ {
++ result __ret = codecvt_base::error;
++ if (__state._M_good())
++ {
++ typedef state_type::__desc_type __desc_type;
++ const __desc_type* __desc = __state._M_get_in_descriptor();
++ const size_t __fmultiple = sizeof(extern_type);
++ size_t __flen = __fmultiple * (__from_end - __from);
++ const size_t __tmultiple = sizeof(intern_type);
++ size_t __tlen = __tmultiple * (__to_end - __to);
++
++ // Argument list for iconv specifies a byte sequence. Thus,
++ // all to/from arrays must be brutally casted to char*.
++ char* __cto = reinterpret_cast<char*>(__to);
++ char* __cfrom;
++ size_t __conv;
++
++ // Some encodings need a byte order marker as the first item
++ // in the byte stream, to designate endian-ness. The default
++ // value for the byte order marker is NULL, so if this is
++ // the case, it's not necessary and we can just go on our
++ // merry way.
++ int __ext_bom = __state._M_get_external_bom();
++ if (__ext_bom)
++ {
++ size_t __size = __from_end - __from;
++ extern_type* __cfixed = static_cast<extern_type*>(__builtin_alloca(sizeof(extern_type) * (__size + 1)));
++ __cfixed[0] = static_cast<extern_type>(__ext_bom);
++ char_traits<extern_type>::copy(__cfixed + 1, __from, __size);
++ __cfrom = reinterpret_cast<char*>(__cfixed);
++ __conv = __iconv_adaptor(iconv, *__desc, &__cfrom,
++ &__flen, &__cto, &__tlen);
++ }
++ else
++ {
++ extern_type* __cfixed = const_cast<extern_type*>(__from);
++ __cfrom = reinterpret_cast<char*>(__cfixed);
++ __conv = __iconv_adaptor(iconv, *__desc, &__cfrom,
++ &__flen, &__cto, &__tlen);
++ }
++
++
++ if (__conv != size_t(-1))
++ {
++ __from_next = reinterpret_cast<const extern_type*>(__cfrom);
++ __to_next = reinterpret_cast<intern_type*>(__cto);
++ __ret = codecvt_base::ok;
++ }
++ else
++ {
++ if (__flen < static_cast<size_t>(__from_end - __from))
++ {
++ __from_next = reinterpret_cast<const extern_type*>(__cfrom);
++ __to_next = reinterpret_cast<intern_type*>(__cto);
++ __ret = codecvt_base::partial;
++ }
++ else
++ __ret = codecvt_base::error;
++ }
++ }
++ return __ret;
++ }
++
++ template<typename _InternT, typename _ExternT>
++ int
++ codecvt<_InternT, _ExternT, __enc_traits>::
++ do_encoding() const throw()
++ {
++ int __ret = 0;
++ if (sizeof(_ExternT) <= sizeof(_InternT))
++ __ret = sizeof(_InternT)/sizeof(_ExternT);
++ return __ret;
++ }
++
++ template<typename _InternT, typename _ExternT>
++ bool
++ codecvt<_InternT, _ExternT, __enc_traits>::
++ do_always_noconv() const throw()
++ { return false; }
++
++ template<typename _InternT, typename _ExternT>
++ int
++ codecvt<_InternT, _ExternT, __enc_traits>::
++ do_length(const state_type&, const extern_type* __from,
++ const extern_type* __end, size_t __max) const
++ { return min(__max, static_cast<size_t>(__end - __from)); }
++
++#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
++// 74. Garbled text for codecvt::do_max_length
++ template<typename _InternT, typename _ExternT>
++ int
++ codecvt<_InternT, _ExternT, __enc_traits>::
++ do_max_length() const throw()
++ { return 1; }
++#endif
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/collate_members.cc
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/collate_members.cc 2004-01-09 08:06:24.000000000 -0600
+@@ -0,0 +1,80 @@
++// std::collate implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
++#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
++#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
++#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
++#endif
++
++namespace std
++{
++ // These are basically extensions to char_traits, and perhaps should
++ // be put there instead of here.
++ template<>
++ int
++ collate<char>::_M_compare(const char* __one, const char* __two) const
++ {
++ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<char>::_M_transform(char* __to, const char* __from,
++ size_t __n) const
++ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++
++#ifdef _GLIBCPP_USE_WCHAR_T
++ template<>
++ int
++ collate<wchar_t>::_M_compare(const wchar_t* __one,
++ const wchar_t* __two) const
++ {
++ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
++ size_t __n) const
++ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++#endif
++}
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2004-01-09 08:15:41.000000000 -0600
+@@ -0,0 +1,274 @@
++// std::ctype implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __wctype_l(S, L) wctype((S))
++#define __towupper_l(C, L) towupper((C))
++#define __towlower_l(C, L) towlower((C))
++#define __iswctype_l(C, M, L) iswctype((C), (M))
++#endif
++
++namespace std
++{
++ // NB: The other ctype<char> specializations are in src/locale.cc and
++ // various /config/os/* files.
++ template<>
++ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
++ : ctype<char>(0, false, __refs)
++ {
++ _S_destroy_c_locale(_M_c_locale_ctype);
++ _S_create_c_locale(_M_c_locale_ctype, __s);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ _M_toupper = _M_c_locale_ctype->__ctype_toupper;
++ _M_tolower = _M_c_locale_ctype->__ctype_tolower;
++ _M_table = _M_c_locale_ctype->__ctype_b;
++#endif
++ }
++
++#ifdef _GLIBCPP_USE_WCHAR_T
++ ctype<wchar_t>::__wmask_type
++ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
++ {
++ __wmask_type __ret;
++ switch (__m)
++ {
++ case space:
++ __ret = __wctype_l("space", _M_c_locale_ctype);
++ break;
++ case print:
++ __ret = __wctype_l("print", _M_c_locale_ctype);
++ break;
++ case cntrl:
++ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
++ break;
++ case upper:
++ __ret = __wctype_l("upper", _M_c_locale_ctype);
++ break;
++ case lower:
++ __ret = __wctype_l("lower", _M_c_locale_ctype);
++ break;
++ case alpha:
++ __ret = __wctype_l("alpha", _M_c_locale_ctype);
++ break;
++ case digit:
++ __ret = __wctype_l("digit", _M_c_locale_ctype);
++ break;
++ case punct:
++ __ret = __wctype_l("punct", _M_c_locale_ctype);
++ break;
++ case xdigit:
++ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
++ break;
++ case alnum:
++ __ret = __wctype_l("alnum", _M_c_locale_ctype);
++ break;
++ case graph:
++ __ret = __wctype_l("graph", _M_c_locale_ctype);
++ break;
++ default:
++ __ret = 0;
++ }
++ return __ret;
++ };
++
++ wchar_t
++ ctype<wchar_t>::do_toupper(wchar_t __c) const
++ { return __towupper_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_tolower(wchar_t __c) const
++ { return __towlower_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ bool
++ ctype<wchar_t>::
++ do_is(mask __m, wchar_t __c) const
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ bool __ret = false;
++ const size_t __bitmasksize = 11;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ {
++ const mask __bit = static_cast<mask>(_ISbit(__bitcur));
++ if (__m & __bit)
++ __ret |= __iswctype_l(__c, _M_convert_to_wmask(__bit),
++ _M_c_locale_ctype);
++ }
++ return __ret;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
++ {
++ for (;__lo < __hi; ++__vec, ++__lo)
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ const size_t __bitmasksize = 11;
++ mask __m = 0;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ {
++ const mask __bit = static_cast<mask>(_ISbit(__bitcur));
++ if (__iswctype_l(*__lo, _M_convert_to_wmask(__bit),
++ _M_c_locale_ctype))
++ __m |= __bit;
++ }
++ *__vec = __m;
++ }
++ return __hi;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi && !this->do_is(__m, *__lo))
++ ++__lo;
++ return __lo;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
++ {
++ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
++ ++__lo;
++ return __lo;
++ }
++
++ wchar_t
++ ctype<wchar_t>::
++ do_widen(char __c) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ wchar_t __ret = btowc(__c);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ const char*
++ ctype<wchar_t>::
++ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ mbstate_t __state;
++ memset(static_cast<void*>(&__state), 0, sizeof(mbstate_t));
++ mbsrtowcs(__dest, &__lo, __hi - __lo, &__state);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __hi;
++ }
++
++ char
++ ctype<wchar_t>::
++ do_narrow(wchar_t __wc, char __dfault) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ int __c = wctob(__wc);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
++ char* __dest) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ size_t __offset = 0;
++ while (true)
++ {
++ const wchar_t* __start = __lo + __offset;
++ size_t __len = __hi - __start;
++
++ mbstate_t __state;
++ memset(static_cast<void*>(&__state), 0, sizeof(mbstate_t));
++ size_t __con = wcsrtombs(__dest + __offset, &__start, __len, &__state);
++ if (__con != __len && __start != 0)
++ {
++ __offset = __start - __lo;
++ __dest[__offset++] = __dfault;
++ }
++ else
++ break;
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __hi;
++ }
++#endif // _GLIBCPP_USE_WCHAR_T
++}
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/messages_members.cc
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/messages_members.cc 2004-01-09 08:46:16.000000000 -0600
+@@ -0,0 +1,100 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix gettext stuff
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__dcgettext(const char *domainname,
++ const char *msgid, int category);
++#undef gettext
++#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#else
++#undef gettext
++#define gettext(msgid) (msgid)
++#endif
++
++namespace std
++{
++ // Specializations.
++ template<>
++ string
++ messages<char>::do_get(catalog, int, int, const string& __dfault) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
++ __uselocale(__old);
++ return string(__msg);
++#elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ const char* __msg = gettext(__dfault.c_str());
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return string(__msg);
++#else
++ const char* __msg = gettext(__dfault.c_str());
++ return string(__msg);
++#endif
++ }
++
++#ifdef _GLIBCPP_USE_WCHAR_T
++ template<>
++ wstring
++ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ __uselocale(__old);
++ return _M_convert_from_char(__msg);
++#elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return _M_convert_from_char(__msg);
++# else
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ return _M_convert_from_char(__msg);
++# endif
++ }
++#endif
++}
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/messages_members.h
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/messages_members.h 2004-01-09 08:52:48.000000000 -0600
+@@ -0,0 +1,122 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix prototypes for *textdomain funcs
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__textdomain(const char *domainname);
++extern "C" char *__bindtextdomain(const char *domainname,
++ const char *dirname);
++#else
++#undef __textdomain
++#undef __bindtextdomain
++#define __textdomain(D) ((void)0)
++#define __bindtextdomain(D,P) ((void)0)
++#endif
++
++ // Non-virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::messages(size_t __refs)
++ : locale::facet(__refs)
++ {
++#ifndef __UCLIBC_HAS_XLOCALE__
++ _M_name_messages = _S_c_name;
++#endif
++ _M_c_locale_messages = _S_c_locale;
++ }
++
++ template<typename _CharT>
++ messages<_CharT>::messages(__c_locale __cloc,
++ const char* __s, size_t __refs)
++ : locale::facet(__refs)
++ {
++#ifndef __UCLIBC_HAS_XLOCALE__
++ _M_name_messages = new char[strlen(__s) + 1];
++ strcpy(_M_name_messages, __s);
++#endif
++ _M_c_locale_messages = _S_clone_c_locale(__cloc);
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
++ const char* __dir) const
++ {
++ __bindtextdomain(__s.c_str(), __dir);
++ return this->do_open(__s, __loc);
++ }
++
++ // Virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::~messages()
++ {
++#ifndef __UCLIBC_HAS_XLOCALE__
++ if (_S_c_name != _M_name_messages)
++ delete [] _M_name_messages;
++#endif
++ _S_destroy_c_locale(_M_c_locale_messages);
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::do_open(const basic_string<char>& __s,
++ const locale&) const
++ {
++ // No error checking is done, assume the catalog exists and can
++ // be used.
++ __textdomain(__s.c_str());
++ return 0;
++ }
++
++ template<typename _CharT>
++ void
++ messages<_CharT>::do_close(catalog) const
++ { }
++
++ // messages_byname
++ template<typename _CharT>
++ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
++ : messages<_CharT>(__refs)
++ {
++#ifndef __UCLIBC_HAS_XLOCALE__
++ if (_S_c_name != _M_name_messages)
++ delete [] _M_name_messages;
++ _M_name_messages = new char[strlen(__s) + 1];
++ strcpy(_M_name_messages, __s);
++#endif
++ _S_destroy_c_locale(_M_c_locale_messages);
++ _S_create_c_locale(_M_c_locale_messages, __s);
++ }
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2004-01-09 18:20:23.000000000 -0600
+@@ -0,0 +1,578 @@
++// std::moneypunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning optimize this for uclibc
++#warning tailor for stub locale support
++#endif
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ // Construct and return valid pattern consisting of some combination of:
++ // space none symbol sign value
++ money_base::pattern
++ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
++ {
++ pattern __ret;
++
++ // This insanely complicated routine attempts to construct a valid
++ // pattern for use with monyepunct. A couple of invariants:
++
++ // if (__precedes) symbol -> value
++ // else value -> symbol
++
++ // if (__space) space
++ // else none
++
++ // none == never first
++ // space never first or last
++
++ // Any elegant implementations of this are welcome.
++ switch (__posn)
++ {
++ case 0:
++ case 1:
++ // 1 The sign precedes the value and symbol.
++ if (__space)
++ {
++ // Pattern starts with sign.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[2] = space;
++ __ret.field[3] = symbol;
++ }
++ __ret.field[0] = sign;
++ }
++ else
++ {
++ // Pattern starts with sign and ends with none.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[0] = sign;
++ __ret.field[3] = none;
++ }
++ break;
++ case 2:
++ // 2 The sign follows the value and symbol.
++ if (__space)
++ {
++ // Pattern either ends with sign.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = space;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = space;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ // Pattern ends with sign then none.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = symbol;
++ }
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ break;
++ case 3:
++ // 3 The sign immediately precedes the symbol.
++ if (__space)
++ {
++ // Have space.
++ if (__precedes)
++ {
++ __ret.field[0] = sign;
++ __ret.field[1] = symbol;
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = space;
++ __ret.field[2] = sign;
++ __ret.field[3] = symbol;
++ }
++ }
++ else
++ {
++ // Have none.
++ if (__precedes)
++ {
++ __ret.field[0] = sign;
++ __ret.field[1] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = sign;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[3] = none;
++ }
++ break;
++ case 4:
++ // 4 The sign immediately follows the symbol.
++ if (__space)
++ {
++ // Have space.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = sign;
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = space;
++ __ret.field[2] = symbol;
++ __ret.field[3] = sign;
++ }
++ }
++ else
++ {
++ // Have none.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = sign;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = symbol;
++ __ret.field[2] = sign;
++ }
++ __ret.field[3] = none;
++ }
++ break;
++ default:
++ ;
++ }
++ return __ret;
++ }
++
++ template<>
++ void
++ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_decimal_point = '.';
++ _M_thousands_sep = ',';
++ _M_grouping = "";
++ _M_curr_symbol = "";
++ _M_positive_sign = "";
++ _M_negative_sign = "";
++ _M_frac_digits = 0;
++ _M_pos_format = money_base::_S_default_pattern;
++ _M_neg_format = money_base::_S_default_pattern;
++ }
++ else
++ {
++ // Named locale.
++ _M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT, __cloc));
++ _M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP, __cloc));
++ _M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++
++ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_negative_sign = "()";
++ else
++ _M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++
++ // _Intl == true
++ _M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++ _M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_pos_format = _S_construct_pattern(__pprecedes, __pspace, __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn);
++ }
++ }
++
++ template<>
++ void
++ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_decimal_point = '.';
++ _M_thousands_sep = ',';
++ _M_grouping = "";
++ _M_curr_symbol = "";
++ _M_positive_sign = "";
++ _M_negative_sign = "";
++ _M_frac_digits = 0;
++ _M_pos_format = money_base::_S_default_pattern;
++ _M_neg_format = money_base::_S_default_pattern;
++ }
++ else
++ {
++ // Named locale.
++ _M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT, __cloc));
++ _M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP, __cloc));
++ _M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++
++ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_negative_sign = "()";
++ else
++ _M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++
++ // _Intl == false
++ _M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++ _M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_pos_format = _S_construct_pattern(__pprecedes, __pspace, __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn);
++ }
++ }
++
++ template<>
++ moneypunct<char, true>::~moneypunct()
++ { }
++
++ template<>
++ moneypunct<char, false>::~moneypunct()
++ { }
++
++#ifdef _GLIBCPP_USE_WCHAR_T
++ template<>
++ void
++ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_decimal_point = L'.';
++ _M_thousands_sep = L',';
++ _M_grouping = "";
++ _M_curr_symbol = L"";
++ _M_positive_sign = L"";
++ _M_negative_sign = L"";
++ _M_frac_digits = 0;
++ _M_pos_format = money_base::_S_default_pattern;
++ _M_neg_format = money_base::_S_default_pattern;
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_decimal_point = __cloc->decimal_point_wc;
++ _M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_decimal_point = __global_locale->decimal_point_wc;
++ _M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w);
++
++ _M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w);
++#endif
++ _M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++
++ mbstate_t __state;
++ size_t __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__cpossign, __len, &__state);
++ _M_positive_sign = __wcs;
++ }
++ else
++ _M_positive_sign = L"";
++
++ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__cnegsign, __len, &__state);
++ _M_negative_sign = __wcs;
++ }
++ else
++ _M_negative_sign = L"";
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_curr_symbol = __wcs;
++ }
++ else
++ _M_curr_symbol = L"";
++
++ _M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_pos_format = _S_construct_pattern(__pprecedes, __pspace, __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ void
++ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_decimal_point = L'.';
++ _M_thousands_sep = L',';
++ _M_grouping = "";
++ _M_curr_symbol = L"";
++ _M_positive_sign = L"";
++ _M_negative_sign = L"";
++ _M_frac_digits = 0;
++ _M_pos_format = money_base::_S_default_pattern;
++ _M_neg_format = money_base::_S_default_pattern;
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_decimal_point = __cloc->decimal_point_wc;
++ _M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_decimal_point = __global_locale->decimal_point_wc;
++ _M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w);
++ _M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w);
++#endif
++ _M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++
++ mbstate_t __state;
++ size_t __len;
++ __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__cpossign, __len, &__state);
++ _M_positive_sign = __wcs;
++ }
++ else
++ _M_positive_sign = L"";
++
++ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__cnegsign, __len, &__state);
++ _M_negative_sign = __wcs;
++ }
++ else
++ _M_negative_sign = L"";
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_curr_symbol = __wcs;
++ }
++ else
++ _M_curr_symbol = L"";
++
++ _M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_pos_format = _S_construct_pattern(__pprecedes, __pspace, __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ moneypunct<wchar_t, true>::~moneypunct()
++ {
++ if (wcslen(_M_positive_sign))
++ delete [] _M_positive_sign;
++ if (wcslen(_M_negative_sign) && (wcscmp(_M_negative_sign, L"()") != 0))
++ delete [] _M_negative_sign;
++ if (wcslen(_M_curr_symbol))
++ delete [] _M_curr_symbol;
++ }
++
++ template<>
++ moneypunct<wchar_t, false>::~moneypunct()
++ {
++ if (wcslen(_M_positive_sign))
++ delete [] _M_positive_sign;
++ if (wcslen(_M_negative_sign) && (wcscmp(_M_negative_sign, L"()") != 0))
++ delete [] _M_negative_sign;
++ if (wcslen(_M_curr_symbol))
++ delete [] _M_curr_symbol;
++ }
++#endif
++}
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2004-01-09 18:20:59.000000000 -0600
+@@ -0,0 +1,129 @@
++// std::numpunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_decimal_point = '.';
++ _M_thousands_sep = ',';
++ _M_grouping = "";
++ }
++ else
++ {
++ // Named locale.
++ _M_decimal_point = *(__nl_langinfo_l(RADIXCHAR, __cloc));
++ _M_thousands_sep = *(__nl_langinfo_l(THOUSEP, __cloc));
++ // Check for NUL, which implies no grouping.
++ if (_M_thousands_sep == '\0')
++ _M_grouping = "";
++ else
++ _M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ }
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_truename = "true";
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_falsename = "false";
++ }
++
++ template<>
++ numpunct<char>::~numpunct()
++ { }
++
++#ifdef _GLIBCPP_USE_WCHAR_T
++ template<>
++ void
++ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_decimal_point = L'.';
++ _M_thousands_sep = L',';
++ _M_grouping = "";
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_decimal_point = __cloc->decimal_point_wc;
++ _M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_decimal_point = __global_locale->decimal_point_wc;
++ _M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w);
++ _M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w);
++#endif
++ if (_M_thousands_sep == L'\0')
++ _M_grouping = "";
++ else
++ _M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ }
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_truename = L"true";
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_falsename = L"false";
++ }
++
++ template<>
++ numpunct<wchar_t>::~numpunct()
++ { }
++ #endif
++}
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/time_members.cc
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/time_members.cc 2004-01-09 08:25:03.000000000 -0600
+@@ -0,0 +1,341 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __timepunct<char>::
++ _M_put(char* __s, size_t __maxlen, const char* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __strftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ strftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++
++ template<>
++ void
++ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_c_locale;
++
++ _M_date_format = "%m/%d/%y";
++ _M_date_era_format = "%m/%d/%y";
++ _M_time_format = "%H:%M:%S";
++ _M_time_era_format = "%H:%M:%S";
++ _M_date_time_format = "";
++ _M_date_time_era_format = "";
++ _M_am = "AM";
++ _M_pm = "PM";
++ _M_am_pm_format = "";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_day1 = "Sunday";
++ _M_day2 = "Monday";
++ _M_day3 = "Tuesday";
++ _M_day4 = "Wednesday";
++ _M_day5 = "Thursday";
++ _M_day6 = "Friday";
++ _M_day7 = "Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_day_a1 = "Sun";
++ _M_day_a2 = "Mon";
++ _M_day_a3 = "Tue";
++ _M_day_a4 = "Wed";
++ _M_day_a5 = "Thu";
++ _M_day_a6 = "Fri";
++ _M_day_a7 = "Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_month01 = "January";
++ _M_month02 = "February";
++ _M_month03 = "March";
++ _M_month04 = "April";
++ _M_month05 = "May";
++ _M_month06 = "June";
++ _M_month07 = "July";
++ _M_month08 = "August";
++ _M_month09 = "September";
++ _M_month10 = "October";
++ _M_month11 = "November";
++ _M_month12 = "December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_month_a01 = "Jan";
++ _M_month_a02 = "Feb";
++ _M_month_a03 = "Mar";
++ _M_month_a04 = "Apr";
++ _M_month_a05 = "May";
++ _M_month_a06 = "Jun";
++ _M_month_a07 = "July";
++ _M_month_a08 = "Aug";
++ _M_month_a09 = "Sep";
++ _M_month_a10 = "Oct";
++ _M_month_a11 = "Nov";
++ _M_month_a12 = "Dec";
++ }
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ _M_date_format = __nl_langinfo_l(D_FMT, __cloc);
++ _M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
++ _M_time_format = __nl_langinfo_l(T_FMT, __cloc);
++ _M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
++ _M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
++ _M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
++ _M_am = __nl_langinfo_l(AM_STR, __cloc);
++ _M_pm = __nl_langinfo_l(PM_STR, __cloc);
++ _M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
++
++ // Day names, starting with "C"'s Sunday.
++ _M_day1 = __nl_langinfo_l(DAY_1, __cloc);
++ _M_day2 = __nl_langinfo_l(DAY_2, __cloc);
++ _M_day3 = __nl_langinfo_l(DAY_3, __cloc);
++ _M_day4 = __nl_langinfo_l(DAY_4, __cloc);
++ _M_day5 = __nl_langinfo_l(DAY_5, __cloc);
++ _M_day6 = __nl_langinfo_l(DAY_6, __cloc);
++ _M_day7 = __nl_langinfo_l(DAY_7, __cloc);
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_day_a1 = __nl_langinfo_l(ABDAY_1, __cloc);
++ _M_day_a2 = __nl_langinfo_l(ABDAY_2, __cloc);
++ _M_day_a3 = __nl_langinfo_l(ABDAY_3, __cloc);
++ _M_day_a4 = __nl_langinfo_l(ABDAY_4, __cloc);
++ _M_day_a5 = __nl_langinfo_l(ABDAY_5, __cloc);
++ _M_day_a6 = __nl_langinfo_l(ABDAY_6, __cloc);
++ _M_day_a7 = __nl_langinfo_l(ABDAY_7, __cloc);
++
++ // Month names, starting with "C"'s January.
++ _M_month01 = __nl_langinfo_l(MON_1, __cloc);
++ _M_month02 = __nl_langinfo_l(MON_2, __cloc);
++ _M_month03 = __nl_langinfo_l(MON_3, __cloc);
++ _M_month04 = __nl_langinfo_l(MON_4, __cloc);
++ _M_month05 = __nl_langinfo_l(MON_5, __cloc);
++ _M_month06 = __nl_langinfo_l(MON_6, __cloc);
++ _M_month07 = __nl_langinfo_l(MON_7, __cloc);
++ _M_month08 = __nl_langinfo_l(MON_8, __cloc);
++ _M_month09 = __nl_langinfo_l(MON_9, __cloc);
++ _M_month10 = __nl_langinfo_l(MON_10, __cloc);
++ _M_month11 = __nl_langinfo_l(MON_11, __cloc);
++ _M_month12 = __nl_langinfo_l(MON_12, __cloc);
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_month_a01 = __nl_langinfo_l(ABMON_1, __cloc);
++ _M_month_a02 = __nl_langinfo_l(ABMON_2, __cloc);
++ _M_month_a03 = __nl_langinfo_l(ABMON_3, __cloc);
++ _M_month_a04 = __nl_langinfo_l(ABMON_4, __cloc);
++ _M_month_a05 = __nl_langinfo_l(ABMON_5, __cloc);
++ _M_month_a06 = __nl_langinfo_l(ABMON_6, __cloc);
++ _M_month_a07 = __nl_langinfo_l(ABMON_7, __cloc);
++ _M_month_a08 = __nl_langinfo_l(ABMON_8, __cloc);
++ _M_month_a09 = __nl_langinfo_l(ABMON_9, __cloc);
++ _M_month_a10 = __nl_langinfo_l(ABMON_10, __cloc);
++ _M_month_a11 = __nl_langinfo_l(ABMON_11, __cloc);
++ _M_month_a12 = __nl_langinfo_l(ABMON_12, __cloc);
++ }
++ }
++
++#ifdef _GLIBCPP_USE_WCHAR_T
++ template<>
++ void
++ __timepunct<wchar_t>::
++ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ wcsftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++
++ template<>
++ void
++ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++#warning wide time stuff
++// if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_c_locale;
++
++ _M_date_format = L"%m/%d/%y";
++ _M_date_era_format = L"%m/%d/%y";
++ _M_time_format = L"%H:%M:%S";
++ _M_time_era_format = L"%H:%M:%S";
++ _M_date_time_format = L"";
++ _M_date_time_era_format = L"";
++ _M_am = L"AM";
++ _M_pm = L"PM";
++ _M_am_pm_format = L"";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_day1 = L"Sunday";
++ _M_day2 = L"Monday";
++ _M_day3 = L"Tuesday";
++ _M_day4 = L"Wednesday";
++ _M_day5 = L"Thursday";
++ _M_day6 = L"Friday";
++ _M_day7 = L"Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_day_a1 = L"Sun";
++ _M_day_a2 = L"Mon";
++ _M_day_a3 = L"Tue";
++ _M_day_a4 = L"Wed";
++ _M_day_a5 = L"Thu";
++ _M_day_a6 = L"Fri";
++ _M_day_a7 = L"Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_month01 = L"January";
++ _M_month02 = L"February";
++ _M_month03 = L"March";
++ _M_month04 = L"April";
++ _M_month05 = L"May";
++ _M_month06 = L"June";
++ _M_month07 = L"July";
++ _M_month08 = L"August";
++ _M_month09 = L"September";
++ _M_month10 = L"October";
++ _M_month11 = L"November";
++ _M_month12 = L"December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_month_a01 = L"Jan";
++ _M_month_a02 = L"Feb";
++ _M_month_a03 = L"Mar";
++ _M_month_a04 = L"Apr";
++ _M_month_a05 = L"May";
++ _M_month_a06 = L"Jun";
++ _M_month_a07 = L"July";
++ _M_month_a08 = L"Aug";
++ _M_month_a09 = L"Sep";
++ _M_month_a10 = L"Oct";
++ _M_month_a11 = L"Nov";
++ _M_month_a12 = L"Dec";
++ }
++#if 0
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ _M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
++ _M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
++ _M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
++ _M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
++ _M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
++ _M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
++ _M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
++ _M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
++ _M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
++
++ // Day names, starting with "C"'s Sunday.
++ _M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
++ _M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
++ _M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
++ _M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
++ _M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
++ _M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
++ _M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_day_a1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
++ _M_day_a2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
++ _M_day_a3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
++ _M_day_a4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
++ _M_day_a5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
++ _M_day_a6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
++ _M_day_a7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
++
++ // Month names, starting with "C"'s January.
++ _M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
++ _M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
++ _M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
++ _M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
++ _M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
++ _M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
++ _M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
++ _M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
++ _M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
++ _M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
++ _M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
++ _M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_month_a01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
++ _M_month_a02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
++ _M_month_a03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
++ _M_month_a04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
++ _M_month_a05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
++ _M_month_a06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
++ _M_month_a07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
++ _M_month_a08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
++ _M_month_a09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
++ _M_month_a10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
++ _M_month_a11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
++ _M_month_a12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
++ }
++#endif // 0
++ }
++#endif
++}
+diff -urN gcc-3.3.2/libstdc++-v3/config/locale/uclibc/time_members.h gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/time_members.h
+--- gcc-3.3.2/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/locale/uclibc/time_members.h 2004-01-09 04:26:21.000000000 -0600
+@@ -0,0 +1,68 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(size_t __refs)
++ : locale::facet(__refs)
++ {
++#ifndef __UCLIBC_HAS_XLOCALE__
++ _M_name_timepunct = _S_c_name;
++#endif
++ _M_initialize_timepunct();
++ }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__c_locale __cloc,
++ const char* __s,
++ size_t __refs)
++ : locale::facet(__refs)
++ {
++#ifndef __UCLIBC_HAS_XLOCALE__
++ _M_name_timepunct = new char[strlen(__s) + 1];
++ strcpy(_M_name_timepunct, __s);
++#endif
++ _M_initialize_timepunct(__cloc);
++ }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::~__timepunct()
++ {
++#ifndef __UCLIBC_HAS_XLOCALE__
++ if (_S_c_name != _M_name_timepunct)
++ delete [] _M_name_timepunct;
++#endif
++ _S_destroy_c_locale(_M_c_locale_timepunct);
++ }
+diff -urN gcc-3.3.2/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-3.3.2-uClibc/libstdc++-v3/config/os/uclibc/ctype_base.h
+--- gcc-3.3.2/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/os/uclibc/ctype_base.h 2004-01-09 02:54:54.000000000 -0600
+@@ -0,0 +1,57 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// Information as gleaned from /usr/include/ctype.h
++
++ struct ctype_base
++ {
++ // Note: In uClibc, the following two types depend on configuration.
++
++ // Non-standard typedefs.
++ typedef const __ctype_touplow_t* __to_type;
++ // NB: Offsets into ctype<char>::_M_table force a particular size
++ // on the mask type. Because of this, we don't use an enum.
++ typedef __ctype_mask_t mask;
++
++ static const mask upper = _ISupper;
++ static const mask lower = _ISlower;
++ static const mask alpha = _ISalpha;
++ static const mask digit = _ISdigit;
++ static const mask xdigit = _ISxdigit;
++ static const mask space = _ISspace;
++ static const mask print = _ISprint;
++ static const mask graph = _ISgraph;
++ static const mask cntrl = _IScntrl;
++ static const mask punct = _ISpunct;
++ static const mask alnum = _ISalnum;
++ };
+diff -urN gcc-3.3.2/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-3.3.2-uClibc/libstdc++-v3/config/os/uclibc/ctype_inline.h
+--- gcc-3.3.2/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/os/uclibc/ctype_inline.h 2002-06-24 00:49:19.000000000 -0500
+@@ -0,0 +1,69 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
++// functions go in ctype.cc
++
++ bool
++ ctype<char>::
++ is(mask __m, char __c) const
++ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
++
++ const char*
++ ctype<char>::
++ is(const char* __low, const char* __high, mask* __vec) const
++ {
++ while (__low < __high)
++ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
++ return __high;
++ }
++
++ const char*
++ ctype<char>::
++ scan_is(mask __m, const char* __low, const char* __high) const
++ {
++ while (__low < __high
++ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
++ ++__low;
++ return __low;
++ }
++
++ const char*
++ ctype<char>::
++ scan_not(mask __m, const char* __low, const char* __high) const
++ {
++ while (__low < __high
++ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
++ ++__low;
++ return __low;
++ }
+diff -urN gcc-3.3.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-3.3.2-uClibc/libstdc++-v3/config/os/uclibc/ctype_noninline.h
+--- gcc-3.3.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2004-01-09 03:34:53.000000000 -0600
+@@ -0,0 +1,90 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
++// Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// Information as gleaned from /usr/include/ctype.h
++
++ const ctype_base::mask*
++ ctype<char>::classic_table() throw()
++ {
++ return __C_ctype_b;
++ }
++
++ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
++ size_t __refs)
++ : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
++ {
++ _M_toupper = __C_ctype_toupper;
++ _M_tolower = __C_ctype_tolower;
++ _M_table = __table ? __table : __C_ctype_b;
++ _M_c_locale_ctype = _S_c_locale;
++ }
++
++ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) :
++ __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
++ {
++ _M_toupper = __C_ctype_toupper;
++ _M_tolower = __C_ctype_tolower;
++ _M_table = __table ? __table : __C_ctype_b;
++ _M_c_locale_ctype = _S_c_locale;
++ }
++
++ char
++ ctype<char>::do_toupper(char __c) const
++ { return _M_toupper[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<char>::do_toupper(char* __low, const char* __high) const
++ {
++ while (__low < __high)
++ {
++ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
++ ++__low;
++ }
++ return __high;
++ }
++
++ char
++ ctype<char>::do_tolower(char __c) const
++ { return _M_tolower[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<char>::do_tolower(char* __low, const char* __high) const
++ {
++ while (__low < __high)
++ {
++ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
++ ++__low;
++ }
++ return __high;
++ }
+diff -urN gcc-3.3.2/libstdc++-v3/config/os/uclibc/os_defines.h gcc-3.3.2-uClibc/libstdc++-v3/config/os/uclibc/os_defines.h
+--- gcc-3.3.2/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.3.2-uClibc/libstdc++-v3/config/os/uclibc/os_defines.h 2004-01-09 04:56:13.000000000 -0600
+@@ -0,0 +1,56 @@
++// Specific definitions for GNU/Linux -*- C++ -*-
++
++// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++#ifndef _GLIBCPP_OS_DEFINES
++#define _GLIBCPP_OS_DEFINES 1
++
++// System-specific #define, typedefs, corrections, etc, go here. This
++// file will come before all others.
++
++// This keeps isanum, et al from being propagated as macros.
++#define __NO_CTYPE 1
++
++#include <features.h>
++
++// These systems have declarations mismatching those in libio.h by
++// omitting throw qualifiers. Cleanest way out is to not provide
++// throw-qualifiers at all. Defining it as empty here will make libio.h
++// not define it.
++#undef __THROW
++#define __THROW
++
++// Tell Glibc not to try to provide its own inline versions of
++// some math functions. Those cause assembly-time clashes with
++// our definitions.
++#define __NO_MATH_INLINES
++
++// We must not see the optimized string functions GNU libc defines.
++#define __NO_STRING_INLINES
++
++#endif
diff --git a/meta/packages/gcc/gcc-3.3.4/gcc34-15089.patch b/meta/packages/gcc/gcc-3.3.4/gcc34-15089.patch
new file mode 100644
index 0000000000..3b7a056e63
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/gcc34-15089.patch
@@ -0,0 +1,19 @@
+2004-04-29 Philip Blundell <philb@gnu.org>
+
+ * loop.c (scan_loop): Don't delete SET of a hard register.
+
+Index: loop.c
+===================================================================
+RCS file: /cvs/gcc/gcc/gcc/loop.c,v
+retrieving revision 1.488.2.3
+diff -u -r1.488.2.3 loop.c
+--- gcc/gcc/loop.c 14 Feb 2004 14:46:03 -0000 1.488.2.3
++++ gcc/gcc/loop.c 28 Apr 2004 22:02:53 -0000
+@@ -929,6 +929,7 @@
+ || (! (GET_CODE (SET_SRC (set)) == REG
+ && (REGNO (SET_SRC (set))
+ < FIRST_PSEUDO_REGISTER))))
++ && regno >= FIRST_PSEUDO_REGISTER
+ /* This test is not redundant; SET_SRC (set) might be
+ a call-clobbered register and the life of REGNO
+ might span a call. */
diff --git a/meta/packages/gcc/gcc-3.3.4/libibery-crosstool.patch b/meta/packages/gcc/gcc-3.3.4/libibery-crosstool.patch
new file mode 100644
index 0000000000..2898cf18ff
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/libibery-crosstool.patch
@@ -0,0 +1,683 @@
+diff -urN gcc-3.3.3.orig/libiberty/configure gcc-3.3.3/libiberty/configure
+--- gcc-3.3.3.orig/libiberty/configure 2003-11-12 12:32:29.000000000 -0500
++++ gcc-3.3.3/libiberty/configure 2004-04-09 23:04:23.000000000 -0400
+@@ -1000,13 +1000,60 @@
+ fi
+
+
++echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
++echo "configure:1005: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++
++ac_ext=c
++# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
++ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
++cross_compiling=$ac_cv_prog_cc_cross
++
++cat > conftest.$ac_ext << EOF
++
++#line 1016 "configure"
++#include "confdefs.h"
++
++main(){return(0);}
++EOF
++if { (eval echo configure:1021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ ac_cv_prog_cc_works=yes
++ # If we can't run a trivial program, we are probably using a cross compiler.
++ if (./conftest; exit) 2>/dev/null; then
++ ac_cv_prog_cc_cross=no
++ else
++ ac_cv_prog_cc_cross=yes
++ fi
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_prog_cc_works=no
++fi
++rm -fr conftest*
++ac_ext=c
++# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
++ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
++cross_compiling=$ac_cv_prog_cc_cross
++
++echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
++if test $ac_cv_prog_cc_works = no; then
++ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
++fi
++echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
++echo "configure:1047: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
++cross_compiling=$ac_cv_prog_cc_cross
++
+
+ if test "x$CC" != xcc; then
+ echo $ac_n "checking whether $CC and cc understand -c and -o together""... $ac_c" 1>&6
+-echo "configure:1007: checking whether $CC and cc understand -c and -o together" >&5
++echo "configure:1054: checking whether $CC and cc understand -c and -o together" >&5
+ else
+ echo $ac_n "checking whether cc understands -c and -o together""... $ac_c" 1>&6
+-echo "configure:1010: checking whether cc understands -c and -o together" >&5
++echo "configure:1057: checking whether cc understands -c and -o together" >&5
+ fi
+ set dummy $CC; ac_cc="`echo $2 |
+ sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
+@@ -1018,16 +1065,16 @@
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+ ac_try='${CC-cc} -c conftest.c -o conftest.o 1>&5'
+-if { (eval echo configure:1022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+- test -f conftest.o && { (eval echo configure:1023: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
++if { (eval echo configure:1069: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
++ test -f conftest.o && { (eval echo configure:1070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+ then
+ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+ if test "x$CC" != xcc; then
+ # Test first that cc exists at all.
+- if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
++ if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ ac_try='cc -c conftest.c -o conftest.o 1>&5'
+- if { (eval echo configure:1030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+- test -f conftest.o && { (eval echo configure:1031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
++ if { (eval echo configure:1077: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
++ test -f conftest.o && { (eval echo configure:1078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+ then
+ # cc works too.
+ :
+@@ -1063,7 +1110,7 @@
+
+
+ echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
+-echo "configure:1067: checking for POSIXized ISC" >&5
++echo "configure:1114: checking for POSIXized ISC" >&5
+ if test -d /etc/conf/kconfig.d &&
+ grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+ then
+@@ -1084,12 +1131,12 @@
+ fi
+
+ echo $ac_n "checking for working const""... $ac_c" 1>&6
+-echo "configure:1088: checking for working const" >&5
++echo "configure:1135: checking for working const" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1093 "configure"
++#line 1140 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -1138,7 +1185,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+ else
+@@ -1159,21 +1206,21 @@
+ fi
+
+ echo $ac_n "checking for inline""... $ac_c" 1>&6
+-echo "configure:1163: checking for inline" >&5
++echo "configure:1210: checking for inline" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+ cat > conftest.$ac_ext <<EOF
+-#line 1170 "configure"
++#line 1217 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ } $ac_kw foo() {
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_inline=$ac_kw; break
+ else
+@@ -1216,7 +1263,7 @@
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+ echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+-echo "configure:1220: checking for a BSD compatible install" >&5
++echo "configure:1267: checking for a BSD compatible install" >&5
+ if test -z "$INSTALL"; then
+ if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1277,7 +1324,7 @@
+ # able to link anything, it had better be able to at least compile
+ # something.
+ echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+-echo "configure:1281: checking how to run the C preprocessor" >&5
++echo "configure:1328: checking how to run the C preprocessor" >&5
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+@@ -1292,13 +1339,13 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+-#line 1296 "configure"
++#line 1343 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1309,13 +1356,13 @@
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+-#line 1313 "configure"
++#line 1360 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1319: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1366: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1326,13 +1373,13 @@
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+-#line 1330 "configure"
++#line 1377 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1336: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1383: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1360,17 +1407,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:1364: checking for $ac_hdr" >&5
++echo "configure:1411: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1369 "configure"
++#line 1416 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1374: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1421: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1397,12 +1444,12 @@
+ done
+
+ echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
+-echo "configure:1401: checking for sys/wait.h that is POSIX.1 compatible" >&5
++echo "configure:1448: checking for sys/wait.h that is POSIX.1 compatible" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1406 "configure"
++#line 1453 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/wait.h>
+@@ -1418,7 +1465,7 @@
+ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1422: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1469: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_sys_wait_h=yes
+ else
+@@ -1439,12 +1486,12 @@
+ fi
+
+ echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+-echo "configure:1443: checking whether time.h and sys/time.h may both be included" >&5
++echo "configure:1490: checking whether time.h and sys/time.h may both be included" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1448 "configure"
++#line 1495 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -1453,7 +1500,7 @@
+ struct tm *tp;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1457: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_time=yes
+ else
+@@ -1475,19 +1522,19 @@
+
+
+ echo $ac_n "checking whether errno must be declared""... $ac_c" 1>&6
+-echo "configure:1479: checking whether errno must be declared" >&5
++echo "configure:1526: checking whether errno must be declared" >&5
+ if eval "test \"`echo '$''{'libiberty_cv_declare_errno'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1484 "configure"
++#line 1531 "configure"
+ #include "confdefs.h"
+ #include <errno.h>
+ int main() {
+ int x = errno;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1538: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ libiberty_cv_declare_errno=no
+ else
+@@ -1509,12 +1556,12 @@
+
+
+ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+-echo "configure:1513: checking for ANSI C header files" >&5
++echo "configure:1560: checking for ANSI C header files" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1518 "configure"
++#line 1565 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -1522,7 +1569,7 @@
+ #include <float.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1526: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1573: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1539,7 +1586,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1543 "configure"
++#line 1590 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ EOF
+@@ -1557,7 +1604,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1561 "configure"
++#line 1608 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -1578,7 +1625,7 @@
+ :
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1582 "configure"
++#line 1629 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+@@ -1589,7 +1636,7 @@
+ exit (0); }
+
+ EOF
+-if { (eval echo configure:1593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:1640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ :
+ else
+@@ -1613,12 +1660,12 @@
+ fi
+
+ echo $ac_n "checking for uintptr_t""... $ac_c" 1>&6
+-echo "configure:1617: checking for uintptr_t" >&5
++echo "configure:1664: checking for uintptr_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_uintptr_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1622 "configure"
++#line 1669 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -1654,12 +1701,12 @@
+
+
+ echo $ac_n "checking for pid_t""... $ac_c" 1>&6
+-echo "configure:1658: checking for pid_t" >&5
++echo "configure:1705: checking for pid_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1663 "configure"
++#line 1710 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -1746,12 +1793,12 @@
+ for ac_func in asprintf atexit basename bcmp bcopy bsearch bzero calloc clock
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1750: checking for $ac_func" >&5
++echo "configure:1797: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1755 "configure"
++#line 1802 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -1774,7 +1821,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -1801,12 +1848,12 @@
+ for ac_func in getcwd getpagesize index insque mkstemps memchr memcmp memcpy
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1805: checking for $ac_func" >&5
++echo "configure:1852: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1810 "configure"
++#line 1857 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -1829,7 +1876,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -1856,12 +1903,12 @@
+ for ac_func in memmove memset putenv random rename rindex sigsetmask
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1860: checking for $ac_func" >&5
++echo "configure:1907: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1865 "configure"
++#line 1912 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -1884,7 +1931,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -1911,12 +1958,12 @@
+ for ac_func in strcasecmp setenv strchr strdup strncasecmp strrchr strstr
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1915: checking for $ac_func" >&5
++echo "configure:1962: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1920 "configure"
++#line 1967 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -1939,7 +1986,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -1966,12 +2013,12 @@
+ for ac_func in strtod strtol strtoul tmpnam vasprintf vfprintf vprintf
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1970: checking for $ac_func" >&5
++echo "configure:2017: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1975 "configure"
++#line 2022 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -1994,7 +2041,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2021,12 +2068,12 @@
+ for ac_func in vsprintf waitpid getrusage on_exit psignal strerror strsignal
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2025: checking for $ac_func" >&5
++echo "configure:2072: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2030 "configure"
++#line 2077 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2049,7 +2096,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2076,12 +2123,12 @@
+ for ac_func in sysconf times sbrk gettimeofday ffs
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2080: checking for $ac_func" >&5
++echo "configure:2127: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2085 "configure"
++#line 2132 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2104,7 +2151,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2131,12 +2178,12 @@
+ for ac_func in realpath canonicalize_file_name
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2135: checking for $ac_func" >&5
++echo "configure:2182: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2140 "configure"
++#line 2187 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2159,7 +2206,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2186,12 +2233,12 @@
+ for ac_func in pstat_getstatic pstat_getdynamic sysmp getsysinfo table sysctl
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:2190: checking for $ac_func" >&5
++echo "configure:2237: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 2195 "configure"
++#line 2242 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -2214,7 +2261,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:2218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2443,53 +2490,6 @@
+
+ # We haven't set the list of objects yet. Use the standard autoconf
+ # tests. This will only work if the compiler works.
+- echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:2448: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+-
+-ac_ext=c
+-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+-cross_compiling=$ac_cv_prog_cc_cross
+-
+-cat > conftest.$ac_ext << EOF
+-
+-#line 2459 "configure"
+-#include "confdefs.h"
+-
+-main(){return(0);}
+-EOF
+-if { (eval echo configure:2464: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- ac_cv_prog_cc_works=yes
+- # If we can't run a trivial program, we are probably using a cross compiler.
+- if (./conftest; exit) 2>/dev/null; then
+- ac_cv_prog_cc_cross=no
+- else
+- ac_cv_prog_cc_cross=yes
+- fi
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_prog_cc_works=no
+-fi
+-rm -fr conftest*
+-ac_ext=c
+-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+-cross_compiling=$ac_cv_prog_cc_cross
+-
+-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+-if test $ac_cv_prog_cc_works = no; then
+- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+-fi
+-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:2490: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+-cross_compiling=$ac_cv_prog_cc_cross
+-
+ for ac_func in $funcs
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+diff -urN gcc-3.3.3.orig/libiberty/configure.in gcc-3.3.3/libiberty/configure.in
+--- gcc-3.3.3.orig/libiberty/configure.in 2003-11-12 12:32:30.000000000 -0500
++++ gcc-3.3.3/libiberty/configure.in 2004-04-09 23:04:05.000000000 -0400
+@@ -100,6 +100,7 @@
+ AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+ LIB_AC_PROG_CC
++AC_PROG_CC_WORKS
+
+ AC_PROG_CC_C_O
+ # autoconf is lame and doesn't give us any substitution variable for this.
+@@ -396,7 +397,6 @@
+
+ # We haven't set the list of objects yet. Use the standard autoconf
+ # tests. This will only work if the compiler works.
+- AC_PROG_CC_WORKS
+ AC_REPLACE_FUNCS($funcs)
+ libiberty_AC_FUNC_C_ALLOCA
+ AC_FUNC_VFORK
diff --git a/meta/packages/gcc/gcc-3.3.4/reverse-compare.patch b/meta/packages/gcc/gcc-3.3.4/reverse-compare.patch
new file mode 100644
index 0000000000..7b6c1b6425
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/reverse-compare.patch
@@ -0,0 +1,31 @@
+--- gcc-3.3.3/gcc/flow.c~ 2003-07-30 01:57:24.000000000 +0100
++++ gcc-3.3.3/gcc/flow.c 2004-04-23 19:23:43.000000000 +0100
+@@ -1904,6 +1904,7 @@
+ regset diff = INITIALIZE_REG_SET (diff_head);
+ basic_block bb_true, bb_false;
+ rtx cond_true, cond_false, set_src;
++ enum rtx_code reversed_code;
+ int i;
+
+ /* Identify the successor blocks. */
+@@ -1934,7 +1935,11 @@
+ /* Extract the condition from the branch. */
+ set_src = SET_SRC (pc_set (bb->end));
+ cond_true = XEXP (set_src, 0);
+- cond_false = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
++ reversed_code = reverse_condition (GET_CODE (cond_true));
++ if (reversed_code == UNKNOWN)
++ goto skip;
++
++ cond_false = gen_rtx_fmt_ee (reversed_code,
+ GET_MODE (cond_true), XEXP (cond_true, 0),
+ XEXP (cond_true, 1));
+ if (GET_CODE (XEXP (set_src, 1)) == PC)
+@@ -1980,6 +1985,7 @@
+ });
+ }
+
++ skip:
+ FREE_REG_SET (diff);
+ }
+ #endif
diff --git a/meta/packages/gcc/gcc-3.3.4/sdk-libstdc++-includes.patch b/meta/packages/gcc/gcc-3.3.4/sdk-libstdc++-includes.patch
new file mode 100644
index 0000000000..9eb7d01fce
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.3.4/sdk-libstdc++-includes.patch
@@ -0,0 +1,48 @@
+--- gcc-3.3.4/libstdc++-v3/testsuite/Makefile.am~ 2003-12-10 21:53:55.000000000 +0000
++++ gcc-3.3.4/libstdc++-v3/testsuite/Makefile.am 2004-08-22 11:43:54.676189984 +0100
+@@ -53,7 +53,8 @@
+
+ INCLUDES = \
+ -nostdinc++ \
+- @GLIBCPP_INCLUDES@ @LIBSUPCXX_INCLUDES@ @TOPLEVEL_INCLUDES@
++ @GLIBCPP_INCLUDES@ @LIBSUPCXX_INCLUDES@ @TOPLEVEL_INCLUDES@ \
++ -I$(toplevel_srcdir)/include
+
+ ## Build support library.
+ noinst_LIBRARIES = libv3test.a
+--- gcc-3.3.4/libstdc++-v3/src/Makefile.am~ 2004-01-12 23:00:30.000000000 +0000
++++ gcc-3.3.4/libstdc++-v3/src/Makefile.am 2004-08-22 11:12:34.838968680 +0100
+@@ -191,7 +191,8 @@
+ $(LIBSUPCXX_CXXFLAGS) \
+ $(WARN_CXXFLAGS) \
+ $(OPTIMIZE_CXXFLAGS) \
+- $(CONFIG_CXXFLAGS)
++ $(CONFIG_CXXFLAGS) \
++ -I$(toplevel_srcdir)/include
+
+
+ # libstdc++ libtool notes
+--- gcc-3.3.4/libstdc++-v3/testsuite/Makefile.in~ 2003-12-10 21:53:55.000000000 +0000
++++ gcc-3.3.4/libstdc++-v3/testsuite/Makefile.in 2004-08-22 11:44:09.634915912 +0100
+@@ -175,7 +175,8 @@
+
+ INCLUDES = \
+ -nostdinc++ \
+- @GLIBCPP_INCLUDES@ @LIBSUPCXX_INCLUDES@ @TOPLEVEL_INCLUDES@
++ @GLIBCPP_INCLUDES@ @LIBSUPCXX_INCLUDES@ @TOPLEVEL_INCLUDES@ \
++ -I$(toplevel_srcdir)/include
+
+
+ noinst_LIBRARIES = libv3test.a
+--- gcc-3.3.4/libstdc++-v3/src/Makefile.in~ 2004-01-12 23:00:29.000000000 +0000
++++ gcc-3.3.4/libstdc++-v3/src/Makefile.in 2004-08-22 11:27:29.380977624 +0100
+@@ -263,7 +263,8 @@
+ $(LIBSUPCXX_CXXFLAGS) \
+ $(WARN_CXXFLAGS) \
+ $(OPTIMIZE_CXXFLAGS) \
+- $(CONFIG_CXXFLAGS)
++ $(CONFIG_CXXFLAGS) \
++ -I$(toplevel_srcdir)/include
+
+
+ # libstdc++ libtool notes
diff --git a/meta/packages/gcc/gcc-3.4.3/15342.patch b/meta/packages/gcc/gcc-3.4.3/15342.patch
new file mode 100644
index 0000000000..d0f3e72d47
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/15342.patch
@@ -0,0 +1,22 @@
+--- gcc/gcc/regrename.c~ 2004-01-14 17:55:20.000000000 +0000
++++ gcc/gcc/regrename.c 2005-02-28 07:24:25.893015200 +0000
+@@ -671,7 +671,8 @@
+
+ case SET:
+ scan_rtx (insn, &SET_SRC (x), class, action, OP_IN, 0);
+- scan_rtx (insn, &SET_DEST (x), class, action, OP_OUT, 0);
++ scan_rtx (insn, &SET_DEST (x), class, action,
++ GET_CODE (PATTERN (insn)) == COND_EXEC ? OP_INOUT : OP_OUT, 0);
+ return;
+
+ case STRICT_LOW_PART:
+@@ -696,7 +697,8 @@
+ abort ();
+
+ case CLOBBER:
+- scan_rtx (insn, &SET_DEST (x), class, action, OP_OUT, 1);
++ scan_rtx (insn, &SET_DEST (x), class, action,
++ GET_CODE (PATTERN (insn)) == COND_EXEC ? OP_INOUT : OP_OUT, 0);
+ return;
+
+ case EXPR_LIST:
diff --git a/meta/packages/gcc/gcc-3.4.3/GCC3.4.0VisibilityPatch.diff b/meta/packages/gcc/gcc-3.4.3/GCC3.4.0VisibilityPatch.diff
new file mode 100644
index 0000000000..d51da7157d
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/GCC3.4.0VisibilityPatch.diff
@@ -0,0 +1,1100 @@
+
+diff -aur gcc-3.4.0orig/gcc/c-common.c gcc-3.4.0/gcc/c-common.c
+--- gcc-3.4.0orig/gcc/c-common.c 2004-03-19 01:32:59.000000000 +0000
++++ gcc-3.4.0/gcc/c-common.c 2004-05-10 21:05:33.000000000 +0100
+@@ -833,7 +833,7 @@
+ handle_deprecated_attribute },
+ { "vector_size", 1, 1, false, true, false,
+ handle_vector_size_attribute },
+- { "visibility", 1, 1, true, false, false,
++ { "visibility", 1, 1, false, false, false,
+ handle_visibility_attribute },
+ { "tls_model", 1, 1, true, false, false,
+ handle_tls_model_attribute },
+@@ -4886,7 +4886,16 @@
+
+ *no_add_attrs = true;
+
+- if (decl_function_context (decl) != 0 || ! TREE_PUBLIC (decl))
++ if (TYPE_P (*node))
++ {
++ if (TREE_CODE (*node) != RECORD_TYPE && TREE_CODE (*node) != UNION_TYPE)
++ {
++ warning ("`%s' attribute ignored on non-class types",
++ IDENTIFIER_POINTER (name));
++ return NULL_TREE;
++ }
++ }
++ else if (decl_function_context (decl) != 0 || ! TREE_PUBLIC (decl))
+ {
+ warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ return NULL_TREE;
+@@ -4897,6 +4906,14 @@
+ error ("visibility arg not a string");
+ return NULL_TREE;
+ }
++
++ /* If this is a type, set the visibility on the type decl. */
++ if (TYPE_P (decl))
++ {
++ decl = TYPE_NAME (decl);
++ if (! decl)
++ return NULL_TREE;
++ }
+
+ if (strcmp (TREE_STRING_POINTER (id), "default") == 0)
+ DECL_VISIBILITY (decl) = VISIBILITY_DEFAULT;
+@@ -4908,6 +4925,14 @@
+ DECL_VISIBILITY (decl) = VISIBILITY_PROTECTED;
+ else
+ error ("visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\"");
++ DECL_VISIBILITYSPECIFIED (decl) = 1;
++
++ /* For decls only, go ahead and attach the attribute to the node as well.
++ This is needed so we can determine whether we have VISIBILITY_DEFAULT
++ because the visibility was not specified, or because it was explicitly
++ overridden from the class visibility. */
++ if (DECL_P (*node))
++ *no_add_attrs = false;
+
+ return NULL_TREE;
+ }
+
+diff -aur gcc-3.4.0orig/gcc/c-decl.c gcc-3.4.0/gcc/c-decl.c
+--- gcc-3.4.0orig/gcc/c-decl.c 2004-03-22 17:58:18.000000000 +0000
++++ gcc-3.4.0/gcc/c-decl.c 2004-05-10 15:16:27.000000000 +0100
+@@ -1164,9 +1164,8 @@
+ }
+
+ /* warnings */
+- /* All decls must agree on a non-default visibility. */
+- if (DECL_VISIBILITY (newdecl) != VISIBILITY_DEFAULT
+- && DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT
++ /* All decls must agree on a visibility. */
++ if (DECL_VISIBILITYSPECIFIED (newdecl) && DECL_VISIBILITYSPECIFIED (olddecl)
+ && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
+ {
+ warning ("%Jredeclaration of '%D' with different visibility "
+@@ -1361,9 +1360,12 @@
+ Currently, it can only be defined in the prototype. */
+ COPY_DECL_ASSEMBLER_NAME (olddecl, newdecl);
+
+- /* If either declaration has a nondefault visibility, use it. */
+- if (DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT)
+- DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
++ /* Use visibility of whichever declaration had it specified */
++ if (DECL_VISIBILITYSPECIFIED (olddecl))
++ {
++ DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
++ DECL_VISIBILITYSPECIFIED (newdecl) = 1;
++ }
+
+ if (TREE_CODE (newdecl) == FUNCTION_DECL)
+ {
+
+diff -aur gcc-3.4.0orig/gcc/common.opt gcc-3.4.0/gcc/common.opt
+--- gcc-3.4.0orig/gcc/common.opt 2004-02-18 00:09:04.000000000 +0000
++++ gcc-3.4.0/gcc/common.opt 2004-05-09 08:10:50.000000000 +0100
+@@ -718,6 +718,11 @@
+ Common
+ Add extra commentary to assembler output
+
++fvisibility=
++Common Joined RejectNegative
++-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
++
++
+ fvpt
+ Common
+ Use expression value profiles in optimizations
+
+diff -aur gcc-3.4.0orig/gcc/c.opt gcc-3.4.0/gcc/c.opt
+--- gcc-3.4.0orig/gcc/c.opt 2004-02-18 00:09:03.000000000 +0000
++++ gcc-3.4.0/gcc/c.opt 2004-05-09 08:10:50.000000000 +0100
+@@ -656,6 +656,10 @@
+ C++ ObjC++
+ Use __cxa_atexit to register destructors
+
++fvisibility-inlines-hidden
++C++
++Marks all inlined methods as having hidden visibility
++
+ fvtable-gc
+ C++ ObjC++
+ Discard unused virtual functions
+diff -aur gcc-3.4.0orig/gcc/c-opts.c gcc-3.4.0/gcc/c-opts.c
+--- gcc-3.4.0orig/gcc/c-opts.c 2004-02-18 00:09:03.000000000 +0000
++++ gcc-3.4.0/gcc/c-opts.c 2004-05-09 08:10:50.000000000 +0100
+@@ -912,6 +912,10 @@
+ case OPT_fuse_cxa_atexit:
+ flag_use_cxa_atexit = value;
+ break;
++
++ case OPT_fvisibility_inlines_hidden:
++ visibility_options.inlineshidden = value;
++ break;
+
+ case OPT_fweak:
+ flag_weak = value;
+
+diff -aur gcc-3.4.0orig/gcc/cp/class.c gcc-3.4.0/gcc/cp/class.c
+--- gcc-3.4.0orig/gcc/cp/class.c 2004-03-09 07:27:23.000000000 +0000
++++ gcc-3.4.0/gcc/cp/class.c 2004-05-10 21:06:50.000000000 +0100
+@@ -524,6 +524,10 @@
+ DECL_ALIGN (decl) = MAX (TYPE_ALIGN (double_type_node),
+ DECL_ALIGN (decl));
+
++ /* The vtable's visibility is the class visibility. There is no way
++ to override the visibility for just the vtable. */
++ DECL_VISIBILITY (decl) = CLASSTYPE_VISIBILITY (class_type);
++ DECL_VISIBILITYSPECIFIED (decl) = CLASSTYPE_VISIBILITYSPECIFIED (class_type);
+ import_export_vtable (decl, class_type, 0);
+
+ return decl;
+@@ -2971,7 +2975,25 @@
+ continue;
+
+ if (TREE_CODE (x) == CONST_DECL || TREE_CODE (x) == VAR_DECL)
+- continue;
++ {
++ /* Apply the class's visibility attribute to static members
++ which do not have a visibility attribute. */
++ if (! lookup_attribute ("visibility", DECL_ATTRIBUTES (x)))
++ {
++ if (visibility_options.inlineshidden && DECL_INLINE (x))
++ {
++ DECL_VISIBILITY (x) = VISIBILITY_HIDDEN;
++ DECL_VISIBILITYSPECIFIED (x) = 1;
++ }
++ else
++ {
++ DECL_VISIBILITY (x) = CLASSTYPE_VISIBILITY (current_class_type);
++ DECL_VISIBILITYSPECIFIED (x) = CLASSTYPE_VISIBILITYSPECIFIED (current_class_type);
++ }
++ }
++
++ continue;
++ }
+
+ /* Now it can only be a FIELD_DECL. */
+
+@@ -3708,6 +3730,22 @@
+ check_for_override (x, t);
+ if (DECL_PURE_VIRTUAL_P (x) && ! DECL_VINDEX (x))
+ cp_error_at ("initializer specified for non-virtual method `%D'", x);
++
++ /* Apply the class's visibility attribute to methods which do
++ not have a visibility attribute. */
++ if (! lookup_attribute ("visibility", DECL_ATTRIBUTES (x)))
++ {
++ if (visibility_options.inlineshidden && DECL_INLINE (x))
++ {
++ DECL_VISIBILITY (x) = VISIBILITY_HIDDEN;
++ DECL_VISIBILITYSPECIFIED (x) = 1;
++ }
++ else
++ {
++ DECL_VISIBILITY (x) = CLASSTYPE_VISIBILITY (current_class_type);
++ DECL_VISIBILITYSPECIFIED (x) = CLASSTYPE_VISIBILITYSPECIFIED (current_class_type);
++ }
++ }
+
+ /* The name of the field is the original field name
+ Save this in auxiliary field for later overloading. */
+@@ -7830,3 +7868,4 @@
+ *vid->last_init = build_tree_list (NULL_TREE, init);
+ vid->last_init = &TREE_CHAIN (*vid->last_init);
+ }
++
+
+diff -aur gcc-3.4.0orig/gcc/cp/cp-tree.h gcc-3.4.0/gcc/cp/cp-tree.h
+--- gcc-3.4.0orig/gcc/cp/cp-tree.h 2004-03-20 00:13:08.000000000 +0000
++++ gcc-3.4.0/gcc/cp/cp-tree.h 2004-05-10 20:56:56.000000000 +0100
+@@ -1008,7 +1008,12 @@
+ #define PUBLICLY_UNIQUELY_DERIVED_P(PARENT, TYPE) \
+ (lookup_base ((TYPE), (PARENT), ba_not_special | ba_quiet, NULL) \
+ != NULL_TREE)
+-
++
++/* Gives the visibility specification for a class type. */
++#define CLASSTYPE_VISIBILITY(TYPE) DECL_VISIBILITY (TYPE_NAME (TYPE))
++#define CLASSTYPE_VISIBILITYSPECIFIED(TYPE) DECL_VISIBILITYSPECIFIED (TYPE_NAME (TYPE))
++
++
+ /* This is a few header flags for 'struct lang_type'. Actually,
+ all but the first are used only for lang_type_class; they
+ are put in this structure to save space. */
+
+diff -aur gcc-3.4.0orig/gcc/cp/decl.c gcc-3.4.0/gcc/cp/decl.c
+--- gcc-3.4.0orig/gcc/cp/decl.c 2004-04-01 21:47:21.000000000 +0100
++++ gcc-3.4.0/gcc/cp/decl.c 2004-05-28 21:16:11.000000000 +0100
+@@ -1869,17 +1869,34 @@
+ DECL_COMMON (newdecl) = DECL_COMMON (olddecl);
+ COPY_DECL_ASSEMBLER_NAME (olddecl, newdecl);
+
+- /* If either declaration has a nondefault visibility, use it. */
+- if (DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT)
++ /* Warn about conflicting visibility specifications. */
++ if (DECL_VISIBILITYSPECIFIED (olddecl) && DECL_VISIBILITYSPECIFIED (newdecl)
++ && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
++ {
++ warning ("%J'%D': visibility attribute ignored because it",
++ newdecl, newdecl);
++ warning ("%Jconflicts with previous declaration here", olddecl);
++ }
++ /* Choose the declaration which specified visibility. */
++ if (DECL_VISIBILITYSPECIFIED (olddecl))
+ {
+- if (DECL_VISIBILITY (newdecl) != VISIBILITY_DEFAULT
+- && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
+- {
+- warning ("%J'%D': visibility attribute ignored because it",
+- newdecl, newdecl);
+- warning ("%Jconflicts with previous declaration here", olddecl);
+- }
+ DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
++ DECL_VISIBILITYSPECIFIED (newdecl) = 1;
++ }
++ /* If it's a definition of a global operator new or operator
++ delete, it must be default visibility. */
++ if (NEW_DELETE_OPNAME_P (DECL_NAME (newdecl)) && DECL_INITIAL (newdecl) != NULL_TREE)
++ {
++ if (!DECL_FUNCTION_MEMBER_P (newdecl) && VISIBILITY_DEFAULT != DECL_VISIBILITY (newdecl))
++ {
++ warning ("%J`%D': ignoring non-default symbol",
++ newdecl, newdecl);
++ warning ("%Jvisibility on global operator new or delete", newdecl);
++ DECL_VISIBILITY (olddecl) = VISIBILITY_DEFAULT;
++ DECL_VISIBILITYSPECIFIED (olddecl) = 1;
++ DECL_VISIBILITY (newdecl) = VISIBILITY_DEFAULT;
++ DECL_VISIBILITYSPECIFIED (newdecl) = 1;
++ }
+ }
+
+ if (TREE_CODE (newdecl) == FUNCTION_DECL)
+
+diff -aur gcc-3.4.0orig/gcc/cp/method.c gcc-3.4.0/gcc/cp/method.c
+--- gcc-3.4.0orig/gcc/cp/method.c 2004-04-08 23:15:58.000000000 +0100
++++ gcc-3.4.0/gcc/cp/method.c 2004-05-09 08:10:52.000000000 +0100
+@@ -394,6 +394,7 @@
+ rewrite. */
+ TREE_PUBLIC (thunk_fndecl) = TREE_PUBLIC (function);
+ DECL_VISIBILITY (thunk_fndecl) = DECL_VISIBILITY (function);
++ DECL_VISIBILITYSPECIFIED (thunk_fndecl) = DECL_VISIBILITYSPECIFIED (function);
+
+ if (flag_syntax_only)
+ {
+
+diff -aur gcc-3.4.0orig/gcc/cp/optimize.c gcc-3.4.0/gcc/cp/optimize.c
+--- gcc-3.4.0orig/gcc/cp/optimize.c 2004-02-08 01:52:50.000000000 +0000
++++ gcc-3.4.0/gcc/cp/optimize.c 2004-05-09 08:10:52.000000000 +0100
+@@ -155,6 +155,7 @@
+ DECL_NOT_REALLY_EXTERN (clone) = DECL_NOT_REALLY_EXTERN (fn);
+ TREE_PUBLIC (clone) = TREE_PUBLIC (fn);
+ DECL_VISIBILITY (clone) = DECL_VISIBILITY (fn);
++ DECL_VISIBILITYSPECIFIED (clone) = DECL_VISIBILITYSPECIFIED (fn);
+
+ /* Adjust the parameter names and locations. */
+ parm = DECL_ARGUMENTS (fn);
+
+diff -aur gcc-3.4.0orig/gcc/cp/rtti.c gcc-3.4.0/gcc/cp/rtti.c
+--- gcc-3.4.0orig/gcc/cp/rtti.c 2004-03-08 23:00:26.000000000 +0000
++++ gcc-3.4.0/gcc/cp/rtti.c 2004-05-10 21:09:21.000000000 +0100
+@@ -361,7 +361,11 @@
+ pushdecl_top_level_and_finish (d, NULL_TREE);
+
+ if (CLASS_TYPE_P (type))
+- CLASSTYPE_TYPEINFO_VAR (TYPE_MAIN_VARIANT (type)) = d;
++ {
++ CLASSTYPE_TYPEINFO_VAR (TYPE_MAIN_VARIANT (type)) = d;
++ DECL_VISIBILITY (d) = CLASSTYPE_VISIBILITY (type);
++ DECL_VISIBILITYSPECIFIED (d) = CLASSTYPE_VISIBILITYSPECIFIED (type);
++ }
+
+ /* Remember the type it is for. */
+ TREE_TYPE (name) = type;
+@@ -759,6 +763,11 @@
+ TREE_STATIC (name_decl) = 1;
+ DECL_EXTERNAL (name_decl) = 0;
+ TREE_PUBLIC (name_decl) = 1;
++ if (CLASS_TYPE_P (target))
++ {
++ DECL_VISIBILITY (name_decl) = CLASSTYPE_VISIBILITY (target);
++ DECL_VISIBILITYSPECIFIED (name_decl) = CLASSTYPE_VISIBILITYSPECIFIED (target);
++ }
+ import_export_tinfo (name_decl, target, typeinfo_in_lib_p (target));
+ /* External name of the string containing the type's name has a
+ special name. */
+
+diff -aur gcc-3.4.0orig/gcc/c-pragma.c gcc-3.4.0/gcc/c-pragma.c
+--- gcc-3.4.0orig/gcc/c-pragma.c 2004-01-23 23:35:53.000000000 +0000
++++ gcc-3.4.0/gcc/c-pragma.c 2004-05-09 08:10:52.000000000 +0100
+@@ -480,6 +480,86 @@
+ return asmname;
+ }
+
++
++#ifdef HANDLE_PRAGMA_VISIBILITY
++static void handle_pragma_visibility (cpp_reader *);
++
++/* Sets the default visibility for symbols to something other than that
++ specified on the command line. */
++static void
++handle_pragma_visibility (cpp_reader *dummy ATTRIBUTE_UNUSED)
++{ /* Form is #pragma GCC visibility push(hidden)|pop */
++ static int visstack [16], visidx;
++ tree x;
++ enum cpp_ttype token;
++ enum { bad, push, pop } action = bad;
++
++ token = c_lex (&x);
++ if (token == CPP_NAME)
++ {
++ const char *op = IDENTIFIER_POINTER (x);
++ if (!strcmp (op, "push"))
++ action = push;
++ else if (!strcmp (op, "pop"))
++ action = pop;
++ }
++ if (bad == action)
++ GCC_BAD ("#pragma GCC visibility must be followed by push or pop");
++ else
++ {
++ if (pop == action)
++ {
++ if (!visidx)
++ {
++ GCC_BAD ("No matching push for '#pragma GCC visibility pop'");
++ }
++ else
++ {
++ default_visibility = visstack[--visidx];
++ visibility_options.inpragma = (visidx>0);
++ }
++ }
++ else
++ {
++ if (c_lex (&x) != CPP_OPEN_PAREN)
++ GCC_BAD ("missing '(' after '#pragma GCC visibility push' - ignored");
++ token = c_lex (&x);
++ if (token != CPP_NAME)
++ {
++ GCC_BAD ("malformed #pragma GCC visibility push");
++ }
++ else if (visidx >= 16)
++ {
++ GCC_BAD ("No more than sixteen #pragma GCC visibility pushes allowed at once");
++ }
++ else
++ {
++ const char *str = IDENTIFIER_POINTER (x);
++ visstack[visidx++] = default_visibility;
++ if (!strcmp (str, "default"))
++ default_visibility = VISIBILITY_DEFAULT;
++ else if (!strcmp (str, "internal"))
++ default_visibility = VISIBILITY_INTERNAL;
++ else if (!strcmp (str, "hidden"))
++ default_visibility = VISIBILITY_HIDDEN;
++ else if (!strcmp (str, "protected"))
++ default_visibility = VISIBILITY_PROTECTED;
++ else
++ {
++ GCC_BAD ("#pragma GCC visibility push() must specify default, internal, hidden or protected");
++ }
++ visibility_options.inpragma = 1;
++ }
++ if (c_lex (&x) != CPP_CLOSE_PAREN)
++ GCC_BAD ("missing '(' after '#pragma GCC visibility push' - ignored");
++ }
++ }
++ if (c_lex (&x) != CPP_EOF)
++ warning ("junk at end of '#pragma GCC visibility'");
++}
++
++#endif
++
+ /* Front-end wrapper for pragma registration to avoid dragging
+ cpplib.h in almost everywhere. */
+ void
+@@ -505,6 +585,9 @@
+ #ifdef HANDLE_PRAGMA_EXTERN_PREFIX
+ c_register_pragma (0, "extern_prefix", handle_pragma_extern_prefix);
+ #endif
++#ifdef HANDLE_PRAGMA_VISIBILITY
++ c_register_pragma ("GCC", "visibility", handle_pragma_visibility);
++#endif
+
+ #ifdef REGISTER_TARGET_PRAGMAS
+ REGISTER_TARGET_PRAGMAS ();
+diff -aur gcc-3.4.0orig/gcc/c-pragma.h gcc-3.4.0/gcc/c-pragma.h
+--- gcc-3.4.0orig/gcc/c-pragma.h 2004-01-31 06:18:05.000000000 +0000
++++ gcc-3.4.0/gcc/c-pragma.h 2004-05-09 08:10:53.000000000 +0100
+@@ -44,6 +44,11 @@
+ #define HANDLE_PRAGMA_PACK 1
+ #endif /* HANDLE_PRAGMA_PACK_PUSH_POP */
+
++/* It's safe to always leave visibility pragma enabled as if
++ visibility is not supported on the host OS platform the
++ statements are ignored. */
++#define HANDLE_PRAGMA_VISIBILITY 1
++
+ extern void init_pragma (void);
+
+ /* Front-end wrapper for pragma registration to avoid dragging
+
+
+diff -aur gcc-3.4.0orig/gcc/doc/invoke.texi gcc-3.4.0/gcc/doc/invoke.texi
+--- gcc-3.4.0orig/gcc/doc/invoke.texi 2004-04-19 00:05:36.000000000 +0100
++++ gcc-3.4.0/gcc/doc/invoke.texi 2004-05-28 21:29:36.000000000 +0100
+@@ -183,7 +183,8 @@
+ -fno-optional-diags -fpermissive @gol
+ -frepo -fno-rtti -fstats -ftemplate-depth-@var{n} @gol
+ -fuse-cxa-atexit -fno-weak -nostdinc++ @gol
+--fno-default-inline -Wabi -Wctor-dtor-privacy @gol
++-fno-default-inline -fvisibility-inlines-hidden @gol
++-Wabi -Wctor-dtor-privacy @gol
+ -Wnon-virtual-dtor -Wreorder @gol
+ -Weffc++ -Wno-deprecated @gol
+ -Wno-non-template-friend -Wold-style-cast @gol
+@@ -674,7 +675,8 @@
+ -fargument-alias -fargument-noalias @gol
+ -fargument-noalias-global -fleading-underscore @gol
+ -ftls-model=@var{model} @gol
+--ftrapv -fwrapv -fbounds-check}
++-ftrapv -fwrapv -fbounds-check @gol
++-fvisibility}
+ @end table
+
+ @menu
+@@ -1433,6 +1435,20 @@
+ destructors, but will only work if your C library supports
+ @code{__cxa_atexit}.
+
++@item -fvisibility-inlines-hidden
++@opindex fvisibility-inlines-hidden
++Causes all inlined methods to be marked with
++@code{__attribute__ ((visibility ("hidden")))} so that they do not
++appear in the export table of a DSO and do not require a PLT indirection
++when used within the DSO. Enabling this option can have a dramatic effect
++on load and link times of a DSO as it massively reduces the size of the
++dynamic export table when the library makes heavy use of templates. While
++it can cause bloating through duplication of code within each DSO where
++it is used, often the wastage is less than the considerable space occupied
++by a long symbol name in the export table which is typical when using
++templates and namespaces. For even more savings, combine with the
++@code{-fvisibility=hidden} switch.
++
+ @item -fno-weak
+ @opindex fno-weak
+ Do not use weak symbol support, even if it is provided by the linker.
+@@ -11198,6 +11214,54 @@
+
+ The default without @option{-fpic} is @code{initial-exec}; with
+ @option{-fpic} the default is @code{global-dynamic}.
++
++@item -fvisibility=@var{default|internal|hidden|protected}
++@opindex fvisibility
++Set the default ELF image symbol visibility to the specified option - all
++symbols will be marked with this unless overrided within the code.
++Using this feature can very substantially improve linking and
++load times of shared object libraries, produce more optimised
++code, provide near-perfect API export and prevent symbol clashes.
++It is @strong{strongly} recommended that you use this in any shared objects
++you distribute.
++
++Despite the nomenclature, @code{default} always means public ie;
++available to be linked against from outside the shared object.
++@code{protected} and @code{internal} are pretty useless in real-world
++usage so the only other commonly used option will be @code{hidden}.
++The default if -fvisibility isn't specified is @code{default} ie; make every
++symbol public - this causes the same behaviour as previous versions of
++GCC.
++
++A good explanation of the benefits offered by ensuring ELF
++symbols have the correct visibility is given by ``How To Write
++Shared Libraries'' by Ulrich Drepper (which can be found at
++@w{@uref{http://people.redhat.com/~drepper/}}) - however a superior
++solution made possible by this option to marking things hidden when
++the default is public is to make the default hidden and mark things
++public. This is the norm with DLL's on Windows and with @option{-fvisibility=hidden}
++and @code{__attribute__ ((visibility("default")))} instead of
++@code{__declspec(dllexport)} you get almost identical semantics with
++identical syntax. This is a great boon to those working with
++cross-platform projects.
++
++For those adding visibility support to existing code, you may find
++@samp{#pragma GCC visibility} of use. This works by you enclosing
++the declarations you wish to set visibility for with (for example)
++@samp{#pragma GCC visibility push(hidden)} and
++@samp{#pragma GCC visibility pop}. These can be nested up to sixteen
++times. Bear in mind that symbol visibility should be viewed @strong{as
++part of the API interface contract} and thus all new code should
++always specify visibility when it is not the default ie; declarations
++only for use within the local DSO should @strong{always} be marked explicitly
++as hidden as so to avoid PLT indirection overheads - making this
++abundantly clear also aids readability and self-documentation of the code.
++Note that due to ISO C++ specification requirements, operator new and
++operator delete must always be of default visibility.
++
++An overview of these techniques, their benefits and how to use them
++is at @w{@uref{http://www.nedprod.com/programs/gccvisibility.html}}.
++
+ @end table
+
+ @c man end
+
+diff -aur gcc-3.4.0orig/gcc/flags.h gcc-3.4.0/gcc/flags.h
+--- gcc-3.4.0orig/gcc/flags.h 2004-02-18 00:09:04.000000000 +0000
++++ gcc-3.4.0/gcc/flags.h 2004-05-09 08:10:53.000000000 +0100
+@@ -60,6 +60,30 @@
+ /* Nonzero means emit debugging information only for symbols which are used. */
+ extern int flag_debug_only_used_symbols;
+
++/* Enumerate visibility settings. */
++#ifndef SYMBOL_VISIBILITY_DEFINED
++#define SYMBOL_VISIBILITY_DEFINED
++enum symbol_visibility
++{
++ VISIBILITY_DEFAULT,
++ VISIBILITY_INTERNAL,
++ VISIBILITY_HIDDEN,
++ VISIBILITY_PROTECTED
++};
++#endif
++
++/* The default visibility for all symbols (unless overridden). */
++extern enum symbol_visibility default_visibility;
++
++struct visibility_flags
++{
++ unsigned inpragma : 1; /* True when in #pragma GCC visibility. */
++ unsigned inlineshidden : 1; /* True when -finlineshidden in effect. */
++};
++
++/* Global visibility options. */
++extern struct visibility_flags visibility_options;
++
+ /* Nonzero means do optimizations. -opt. */
+
+ extern int optimize;
+
+diff -aur gcc-3.4.0orig/gcc/opts.c gcc-3.4.0/gcc/opts.c
+--- gcc-3.4.0orig/gcc/opts.c 2004-02-18 00:09:04.000000000 +0000
++++ gcc-3.4.0/gcc/opts.c 2004-05-09 08:10:53.000000000 +0100
+@@ -142,6 +142,12 @@
+ write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG. */
+ bool use_gnu_debug_info_extensions;
+
++/* The default visibility for all symbols (unless overridden) */
++enum symbol_visibility default_visibility = VISIBILITY_DEFAULT;
++
++/* Global visibility options. */
++struct visibility_flags visibility_options;
++
+ /* Columns of --help display. */
+ static unsigned int columns = 80;
+
+@@ -1440,6 +1446,21 @@
+ flag_verbose_asm = value;
+ break;
+
++ case OPT_fvisibility_:
++ {
++ if(!strcmp(arg, "default"))
++ default_visibility=VISIBILITY_DEFAULT;
++ else if(!strcmp(arg, "internal"))
++ default_visibility=VISIBILITY_INTERNAL;
++ else if(!strcmp(arg, "hidden"))
++ default_visibility=VISIBILITY_HIDDEN;
++ else if(!strcmp(arg, "protected"))
++ default_visibility=VISIBILITY_PROTECTED;
++ else
++ error("unrecognised visibility value \"%s\"", arg);
++ }
++ break;
++
+ case OPT_fweb:
+ flag_web = value;
+ break;
+
+diff -aur gcc-3.4.0orig/gcc/tree.c gcc-3.4.0/gcc/tree.c
+--- gcc-3.4.0orig/gcc/tree.c 2004-02-05 22:01:35.000000000 +0000
++++ gcc-3.4.0/gcc/tree.c 2004-05-10 15:22:52.000000000 +0100
+@@ -2563,6 +2563,11 @@
+ layout_decl (t, 0);
+ else if (code == FUNCTION_DECL)
+ DECL_MODE (t) = FUNCTION_MODE;
++
++ /* Set default visibility to whatever the user supplied with
++ visibility_specified depending on #pragma GCC visibility. */
++ DECL_VISIBILITY (t) = default_visibility;
++ DECL_VISIBILITYSPECIFIED (t) = visibility_options.inpragma;
+
+ return t;
+ }
+
+diff -aur gcc-3.4.0orig/gcc/tree.h gcc-3.4.0/gcc/tree.h
+--- gcc-3.4.0orig/gcc/tree.h 2004-02-08 01:52:43.000000000 +0000
++++ gcc-3.4.0/gcc/tree.h 2004-05-09 08:10:54.000000000 +0100
+@@ -1499,6 +1499,10 @@
+ /* Value of the decls's visibility attribute */
+ #define DECL_VISIBILITY(NODE) (DECL_CHECK (NODE)->decl.visibility)
+
++/* Nonzero means that the decl had its visibility specified rather than
++ being inferred. */
++#define DECL_VISIBILITYSPECIFIED(NODE) (DECL_CHECK (NODE)->decl.visibility_specified)
++
+ /* In a FUNCTION_DECL, nonzero if the function cannot be inlined. */
+ #define DECL_UNINLINABLE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.uninlinable)
+
+@@ -1633,7 +1637,8 @@
+ || TREE_CODE (DECL_CONTEXT (EXP)) == TRANSLATION_UNIT_DECL)
+
+ /* Enumerate visibility settings. */
+-
++#ifndef SYMBOL_VISIBILITY_DEFINED
++#define SYMBOL_VISIBILITY_DEFINED
+ enum symbol_visibility
+ {
+ VISIBILITY_DEFAULT,
+@@ -1641,6 +1646,7 @@
+ VISIBILITY_HIDDEN,
+ VISIBILITY_PROTECTED
+ };
++#endif
+
+ struct function;
+
+@@ -1684,8 +1690,7 @@
+ unsigned thread_local_flag : 1;
+ unsigned declared_inline_flag : 1;
+ ENUM_BITFIELD(symbol_visibility) visibility : 2;
+- unsigned unused : 1;
+- /* one unused bit. */
++ unsigned visibility_specified : 1;
+
+ unsigned lang_flag_0 : 1;
+ unsigned lang_flag_1 : 1;
+
+diff -aur gcc-3.4.0orig/gcc/varasm.c gcc-3.4.0/gcc/varasm.c
+--- gcc-3.4.0orig/gcc/varasm.c 2004-04-14 22:14:08.000000000 +0100
++++ gcc-3.4.0/gcc/varasm.c 2004-05-09 08:10:54.000000000 +0100
+@@ -5150,8 +5150,8 @@
+ /* Static variables are always local. */
+ else if (! TREE_PUBLIC (exp))
+ local_p = true;
+- /* A variable is local if the user tells us so. */
+- else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
++ /* A variable is local if the user explicitly tells us so. */
++ else if (DECL_VISIBILITYSPECIFIED (exp) && DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
+ local_p = true;
+ /* Otherwise, variables defined outside this object may not be local. */
+ else if (DECL_EXTERNAL (exp))
+@@ -5159,6 +5159,9 @@
+ /* Linkonce and weak data are never local. */
+ else if (DECL_ONE_ONLY (exp) || DECL_WEAK (exp))
+ local_p = false;
++ /* If none of the above and visibility is not default, make local. */
++ else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
++ local_p = true;
+ /* If PIC, then assume that any global name can be overridden by
+ symbols resolved from other modules. */
+ else if (shlib)
+
+diff -Naur gcc-3.4.0orig/gcc/testsuite/gcc.dg/visibility-9.c gcc-3.4.0/gcc/testsuite/gcc.dg/visibility-9.c
+--- gcc-3.4.0orig/gcc/testsuite/gcc.dg/visibility-9.c 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/gcc.dg/visibility-9.c 2004-05-09 12:40:39.000000000 +0100
+@@ -0,0 +1,9 @@
++/* Test that -fvisibility works. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility=hidden" } */
++/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
++
++void foo();
++
++void foo() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/gcc.dg/visibility-a.c gcc-3.4.0/gcc/testsuite/gcc.dg/visibility-a.c
+--- gcc-3.4.0orig/gcc/testsuite/gcc.dg/visibility-a.c 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/gcc.dg/visibility-a.c 2004-05-09 12:55:04.000000000 +0100
+@@ -0,0 +1,10 @@
++/* Test that #pragma GCC visibility works. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
++
++#pragma GCC visibility push(hidden)
++void foo();
++#pragma GCC visibility pop
++
++void foo() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C 2004-05-09 19:17:13.000000000 +0100
+@@ -0,0 +1,12 @@
++/* Test that -fvisibility affects class members. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility=hidden" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++class Foo
++{
++ void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C 2004-05-09 19:17:59.000000000 +0100
+@@ -0,0 +1,18 @@
++/* Test that -fvisibility-inlines-hidden affects class members. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility-inlines-hidden" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++class Foo
++{
++public:
++ void method() { }
++};
++
++int main(void)
++{
++ Foo f;
++ f.method();
++ return 0;
++}
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C 2004-05-09 19:18:06.000000000 +0100
+@@ -0,0 +1,12 @@
++/* Test that -fvisibility does not override class member specific settings. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility=hidden" } */
++/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
++
++class __attribute__ ((visibility ("internal"))) Foo
++{
++ void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C 2004-05-09 19:18:12.000000000 +0100
+@@ -0,0 +1,12 @@
++/* Test that -fvisibility does not override class member specific settings. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility=hidden" } */
++/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
++
++class Foo
++{
++ __attribute__ ((visibility ("internal"))) void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C 2004-05-09 19:18:19.000000000 +0100
+@@ -0,0 +1,11 @@
++/* Test that setting visibility for class member functions works. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++class __attribute__ ((visibility ("hidden"))) Foo
++{
++ void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/noPLT.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/noPLT.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/noPLT.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/noPLT.C 2004-05-09 19:21:49.000000000 +0100
+@@ -0,0 +1,20 @@
++/* Test that -fvisibility=hidden prevents PLT. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fPIC -fvisibility=hidden" } */
++/* { dg-final { scan-assembler-not "methodEv@PLT" } } */
++
++class Foo
++{
++public:
++ void method();
++};
++
++void Foo::method() { }
++
++int main(void)
++{
++ Foo f;
++ f.method();
++ return 0;
++}
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma.C 2004-05-09 19:18:30.000000000 +0100
+@@ -0,0 +1,13 @@
++/* Test that #pragma GCC visibility affects class members. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++#pragma GCC visibility push(hidden)
++class Foo
++{
++ void method();
++};
++#pragma GCC visibility pop
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C 2004-05-09 19:18:36.000000000 +0100
+@@ -0,0 +1,13 @@
++/* Test that #pragma GCC visibility does not override class member specific settings. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
++
++#pragma GCC visibility push(hidden)
++class __attribute__ ((visibility ("internal"))) Foo
++{
++ void method();
++};
++#pragma GCC visibility pop
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C 2004-05-09 19:18:44.000000000 +0100
+@@ -0,0 +1,13 @@
++/* Test that #pragma GCC visibility does not override class member specific settings. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
++
++#pragma GCC visibility push(hidden)
++class Foo
++{
++ __attribute__ ((visibility ("internal"))) void method();
++};
++#pragma GCC visibility pop
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C 2004-05-09 19:18:50.000000000 +0100
+@@ -0,0 +1,11 @@
++/* Test that setting visibility for static class member functions works. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++class __attribute__ ((visibility ("hidden"))) Foo
++{
++ static void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/virtual.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/virtual.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/virtual.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/virtual.C 2004-05-09 13:24:06.000000000 +0100
+@@ -0,0 +1,11 @@
++/* Test that setting visibility for class affects virtual table. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*ZTV3Foo" } } */
++
++class __attribute__ ((visibility ("hidden"))) Foo
++{
++ virtual void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C 2003-12-10 06:34:44.000000000 +0000
+@@ -0,0 +1,8 @@
++/* Test visibility attribute on function definition. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
++
++void
++__attribute__((visibility ("hidden")))
++foo()
++{ }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C 2003-12-10 06:34:44.000000000 +0000
+@@ -0,0 +1,7 @@
++/* Test that visibility attribute on declaration extends to definition. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
++
++void __attribute__((visibility ("hidden"))) foo();
++
++void foo() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,7 @@
++/* Test visibility attribute on forward declaration of global variable */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
++
++int
++__attribute__((visibility ("hidden")))
++xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,8 @@
++/* Test visibility attribute on forward declaration of global variable */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
++
++extern int __attribute__ ((visibility ("hidden")))
++xyzzy;
++
++int xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,11 @@
++/* Test visibility attribute on definition of a function that has
++ already had a forward declaration. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
++
++void foo();
++
++void
++ __attribute__((visibility ("hidden")))
++foo()
++{ }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,10 @@
++/* Test visibility attribute on definition of global variable that has
++ already had a forward declaration. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
++
++extern int xyzzy;
++
++int
++__attribute__((visibility ("hidden")))
++xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,11 @@
++/* Test warning from conflicting visibility specifications. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
++
++extern int
++__attribute__((visibility ("hidden")))
++xyzzy; /* { dg-warning "previous declaration here" "" } */
++
++int
++__attribute__((visibility ("protected")))
++xyzzy = 5; /* { dg-warning "visibility attribute ignored" "" } */
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-1.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-1.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-1.C 2003-12-10 06:34:44.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-1.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,8 +0,0 @@
+-/* Test visibility attribute on function definition. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
+-
+-void
+-__attribute__((visibility ("hidden")))
+-foo()
+-{ }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-2.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-2.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-2.C 2003-12-10 06:34:44.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-2.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-/* Test that visibility attribute on declaration extends to definition. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
+-
+-void __attribute__((visibility ("hidden"))) foo();
+-
+-void foo() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-3.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-3.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-3.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-3.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-/* Test visibility attribute on forward declaration of global variable */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+-
+-int
+-__attribute__((visibility ("hidden")))
+-xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-4.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-4.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-4.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-4.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,8 +0,0 @@
+-/* Test visibility attribute on forward declaration of global variable */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+-
+-extern int __attribute__ ((visibility ("hidden")))
+-xyzzy;
+-
+-int xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-5.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-5.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-5.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-5.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-/* Test visibility attribute on definition of a function that has
+- already had a forward declaration. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
+-
+-void foo();
+-
+-void
+- __attribute__((visibility ("hidden")))
+-foo()
+-{ }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-6.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-6.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-6.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-6.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,10 +0,0 @@
+-/* Test visibility attribute on definition of global variable that has
+- already had a forward declaration. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+-
+-extern int xyzzy;
+-
+-int
+-__attribute__((visibility ("hidden")))
+-xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-7.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-7.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-7.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-7.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-/* Test warning from conflicting visibility specifications. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+-
+-extern int
+-__attribute__((visibility ("hidden")))
+-xyzzy; /* { dg-warning "previous declaration here" "" } */
+-
+-int
+-__attribute__((visibility ("protected")))
+-xyzzy = 5; /* { dg-warning "visibility attribute ignored" "" } */
diff --git a/meta/packages/gcc/gcc-3.4.3/always-fixincperm.patch b/meta/packages/gcc/gcc-3.4.3/always-fixincperm.patch
new file mode 100644
index 0000000000..59e5e2edeb
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/always-fixincperm.patch
@@ -0,0 +1,32 @@
+Index: gcc-3.4.3/gcc/configure
+===================================================================
+--- gcc-3.4.3.orig/gcc/configure 2004-11-04 23:14:05.000000000 -0500
++++ gcc-3.4.3/gcc/configure 2005-03-11 14:41:06.373910320 -0500
+@@ -9916,11 +9916,6 @@
+ BUILD_PREFIX=build-
+ BUILD_PREFIX_1=build-
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
+-
+- if test "x$TARGET_SYSTEM_ROOT" = x; then
+- STMP_FIXINC=
+- STMP_FIXPROTO=
+- fi
+ fi
+
+ # Expand extra_headers to include complete path.
+Index: gcc-3.4.3/gcc/configure.ac
+===================================================================
+--- gcc-3.4.3.orig/gcc/configure.ac 2004-09-23 20:43:53.000000000 -0400
++++ gcc-3.4.3/gcc/configure.ac 2005-03-11 14:40:55.256600408 -0500
+@@ -1524,11 +1524,6 @@
+ BUILD_PREFIX=build-
+ BUILD_PREFIX_1=build-
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
+-
+- if test "x$TARGET_SYSTEM_ROOT" = x; then
+- STMP_FIXINC=
+- STMP_FIXPROTO=
+- fi
+ fi
+
+ # Expand extra_headers to include complete path.
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-bigendian-uclibc.patch b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-bigendian-uclibc.patch
new file mode 100644
index 0000000000..8fa9af880a
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-bigendian-uclibc.patch
@@ -0,0 +1,30 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- gcc-3.4.1/gcc/config.gcc~gcc-3.4.0-arm-bigendian-uclibc
++++ gcc-3.4.1/gcc/config.gcc
+@@ -666,6 +666,11 @@
+ ;;
+ arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
++ case $target in
++ arm*b-*)
++ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
++ ;;
++ esac
+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
+--- gcc-3.4.1/gcc/config/arm/linux-elf.h~gcc-3.4.0-arm-bigendian-uclibc
++++ gcc-3.4.1/gcc/config/arm/linux-elf.h
+@@ -120,7 +120,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
+ -X \
+- %{mbig-endian:-EB}" \
++ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+ #endif
+
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-bigendian.patch b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-bigendian.patch
new file mode 100644
index 0000000000..c9288c6c15
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-bigendian.patch
@@ -0,0 +1,70 @@
+By Lennert Buytenhek <buytenh@wantstofly.org>
+Adds support for arm*b-linux* big-endian ARM targets
+
+See http://gcc.gnu.org/PR16350
+
+diff -urN gcc-3.4.0.orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
+--- gcc-3.4.0.orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-07-02 14:46:29.225443757 +0200
+@@ -30,17 +30,34 @@
+ /* Do not assume anything about header files. */
+ #define NO_IMPLICIT_EXTERN_C
+
++/*
++ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
++ * (big endian) configurations.
++ */
++#if TARGET_BIG_ENDIAN_DEFAULT
++#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
++#define TARGET_ENDIAN_OPTION "mbig-endian"
++#define TARGET_LINKER_EMULATION "armelfb_linux"
++#else
++#define TARGET_ENDIAN_DEFAULT 0
++#define TARGET_ENDIAN_OPTION "mlittle-endian"
++#define TARGET_LINKER_EMULATION "armelf_linux"
++#endif
++
+ /* Default is to use APCS-32 mode. */
+ #undef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_APCS_32 | \
++ ARM_FLAG_MMU_TRAPS | \
++ TARGET_ENDIAN_DEFAULT )
+
+ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
+
+-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
++#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
+
+ #undef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
++ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
+
+ #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
+
+@@ -89,7 +106,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
+ -X \
+- %{mbig-endian:-EB}" \
++ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+
+ #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
+diff -urN gcc-3.4.0.orig/gcc/config.gcc gcc-3.4.0/gcc/config.gcc
+--- gcc-3.4.0.orig/gcc/config.gcc 2004-04-17 04:28:24.000000000 +0200
++++ gcc-3.4.0/gcc/config.gcc 2004-07-02 14:44:40.045822542 +0200
+@@ -666,6 +666,11 @@
+ ;;
+ arm*-*-linux*) # ARM GNU/Linux with ELF
+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
++ case $target in
++ arm*b-*)
++ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
++ ;;
++ esac
+ tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-lib1asm.patch b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-lib1asm.patch
new file mode 100644
index 0000000000..ca42bfbc0a
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-lib1asm.patch
@@ -0,0 +1,24 @@
+# Fixes errors like the following when building glibc (or any other executable
+# or shared library) when using gcc 3.4.0 for ARM with softfloat:
+#
+# .../libc_pic.os(.text+0x15834): In function `__modf': undefined reference to `__subdf3'
+# .../libc_pic.os(.text+0x158b8): In function `__modf': undefined reference to `__subdf3'
+# .../libc_pic.os(.text+0x1590c): In function `scalbn': undefined reference to `__muldf3'
+# .../libc_pic.os(.text+0x15e94): In function `__ldexpf': undefined reference to `__eqsf2'
+# .../libc_pic.os(.text+0xcee4c): In function `monstartup': undefined reference to `__fixsfsi'
+
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
+--- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
++++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-nolibfloat.patch b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-nolibfloat.patch
new file mode 100644
index 0000000000..43eed3ef28
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-nolibfloat.patch
@@ -0,0 +1,24 @@
+# Dimitry Andric <dimitry@andric.com>, 2004-05-01
+#
+# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
+# anymore. (The required functions are now in libgcc.)
+#
+# Fixes errors like
+# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
+# collect2: ld returned 1 exit status
+# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
+# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
+
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
+@@ -55,7 +73,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
+
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-softfloat.patch b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-softfloat.patch
new file mode 100644
index 0000000000..f53d64b374
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.0-arm-softfloat.patch
@@ -0,0 +1,256 @@
+#
+# Submitted:
+#
+# Dimitry Andric <dimitry@andric.com>, 2004-05-01
+#
+# Description:
+#
+# Nicholas Pitre released this patch for gcc soft-float support here:
+# http://lists.arm.linux.org.uk/pipermail/linux-arm/2003-October/006436.html
+#
+# This version has been adapted to work with gcc 3.4.0.
+#
+# The original patch doesn't distinguish between softfpa and softvfp modes
+# in the way Nicholas Pitre probably meant. His description is:
+#
+# "Default is to use APCS-32 mode with soft-vfp. The old Linux default for
+# floats can be achieved with -mhard-float or with the configure
+# --with-float=hard option. If -msoft-float or --with-float=soft is used then
+# software float support will be used just like the default but with the legacy
+# big endian word ordering for double float representation instead."
+#
+# Which means the following:
+#
+# * If you compile without -mhard-float or -msoft-float, you should get
+# software floating point, using the VFP format. The produced object file
+# should have these flags in its header:
+#
+# private flags = 600: [APCS-32] [VFP float format] [software FP]
+#
+# * If you compile with -mhard-float, you should get hardware floating point,
+# which always uses the FPA format. Object file header flags should be:
+#
+# private flags = 0: [APCS-32] [FPA float format]
+#
+# * If you compile with -msoft-float, you should get software floating point,
+# using the FPA format. This is done for compatibility reasons with many
+# existing distributions. Object file header flags should be:
+#
+# private flags = 200: [APCS-32] [FPA float format] [software FP]
+#
+# The original patch from Nicholas Pitre contained the following constructs:
+#
+# #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
+# %{mhard-float:-mfpu=fpa} \
+# %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
+#
+# However, gcc doesn't accept this ";:" notation, used in the 3rd line. This
+# is probably the reason Robert Schwebel modified it to:
+#
+# #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
+# %{mhard-float:-mfpu=fpa} \
+# %{!mhard-float: %{msoft-float:-mfpu=softfpa -mfpu=softvfp}}"
+#
+# But this causes the following behaviour:
+#
+# * If you compile without -mhard-float or -msoft-float, the compiler generates
+# software floating point instructions, but *nothing* is passed to the
+# assembler, which results in an object file which has flags:
+#
+# private flags = 0: [APCS-32] [FPA float format]
+#
+# This is not correct!
+#
+# * If you compile with -mhard-float, the compiler generates hardware floating
+# point instructions, and passes "-mfpu=fpa" to the assembler, which results
+# in an object file which has the same flags as in the previous item, but now
+# those *are* correct.
+#
+# * If you compile with -msoft-float, the compiler generates software floating
+# point instructions, and passes "-mfpu=softfpa -mfpu=softvfp" (in that
+# order) to the assembler, which results in an object file with flags:
+#
+# private flags = 600: [APCS-32] [VFP float format] [software FP]
+#
+# This is not correct, because the last "-mfpu=" option on the assembler
+# command line determines the actual FPU convention used (which should be FPA
+# in this case).
+#
+# Therefore, I modified this patch to get the desired behaviour. Every
+# instance of the notation:
+#
+# %{msoft-float:-mfpu=softfpa -mfpu=softvfp}
+#
+# was changed to:
+#
+# %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}
+#
+# I also did the following:
+#
+# * Modified all TARGET_DEFAULT macros I could find to include ARM_FLAG_VFP, to
+# be consistent with Nicholas' original patch.
+# * Removed any "msoft-float" or "mhard-float" from all MULTILIB_DEFAULTS
+# macros I could find. I think that if you compile without any options, you
+# would like to get the defaults. :)
+# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
+# anymore. (The required functions are now in libgcc.)
+
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/coff.h gcc-3.4.0/gcc/config/arm/coff.h
+--- gcc-3.4.0-orig/gcc/config/arm/coff.h 2004-02-24 15:25:22.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/coff.h 2004-05-01 19:07:06.059409600 +0200
+@@ -31,11 +31,16 @@
+ #define TARGET_VERSION fputs (" (ARM/coff)", stderr)
+
+ #undef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_SOFT_FLOAT \
++ | ARM_FLAG_VFP \
++ | ARM_FLAG_APCS_32 \
++ | ARM_FLAG_APCS_FRAME \
++ | ARM_FLAG_MMU_TRAPS )
+
+ #ifndef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
++ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork" }
+ #endif
+
+ /* This is COFF, but prefer stabs. */
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/elf.h gcc-3.4.0/gcc/config/arm/elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/elf.h 2004-02-24 15:25:22.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/elf.h 2004-05-01 19:12:16.976486400 +0200
+@@ -46,7 +46,9 @@
+
+ #ifndef SUBTARGET_ASM_FLOAT_SPEC
+ #define SUBTARGET_ASM_FLOAT_SPEC "\
+-%{mapcs-float:-mfloat} %{msoft-float:-mfpu=softfpa}"
++%{mapcs-float:-mfloat} \
++%{mhard-float:-mfpu=fpa} \
++%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
+ #endif
+
+ #ifndef ASM_SPEC
+@@ -106,12 +108,17 @@
+ #endif
+
+ #ifndef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_SOFT_FLOAT \
++ | ARM_FLAG_VFP \
++ | ARM_FLAG_APCS_32 \
++ | ARM_FLAG_APCS_FRAME \
++ | ARM_FLAG_MMU_TRAPS )
+ #endif
+
+ #ifndef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork", "fno-leading-underscore" }
++ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork", "fno-leading-underscore" }
+ #endif
+
+ #define TARGET_ASM_FILE_START_APP_OFF true
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
+@@ -30,9 +30,27 @@
+ /* Do not assume anything about header files. */
+ #define NO_IMPLICIT_EXTERN_C
+
+-/* Default is to use APCS-32 mode. */
++/*
++ * Default is to use APCS-32 mode with soft-vfp.
++ * The old Linux default for floats can be achieved with -mhard-float
++ * or with the configure --with-float=hard option.
++ * If -msoft-float or --with-float=soft is used then software float
++ * support will be used just like the default but with the legacy
++ * big endian word ordering for double float representation instead.
++ */
++
+ #undef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_APCS_32 \
++ | ARM_FLAG_SOFT_FLOAT \
++ | ARM_FLAG_VFP \
++ | ARM_FLAG_MMU_TRAPS )
++
++#undef SUBTARGET_EXTRA_ASM_SPEC
++#define SUBTARGET_EXTRA_ASM_SPEC "\
++%{!mcpu=*:-mcpu=xscale} \
++%{mhard-float:-mfpu=fpa} \
++%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
+
+ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
+
+@@ -40,7 +58,7 @@
+
+ #undef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
++ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork" }
+
+ #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
+
+@@ -55,7 +73,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
+--- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
++++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/unknown-elf.h gcc-3.4.0/gcc/config/arm/unknown-elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/unknown-elf.h 2004-02-24 15:25:22.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/unknown-elf.h 2004-05-01 19:09:09.016212800 +0200
+@@ -30,7 +30,12 @@
+
+ /* Default to using APCS-32 and software floating point. */
+ #ifndef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_SOFT_FLOAT \
++ | ARM_FLAG_VFP \
++ | ARM_FLAG_APCS_32 \
++ | ARM_FLAG_APCS_FRAME \
++ | ARM_FLAG_MMU_TRAPS )
+ #endif
+
+ /* Now we define the strings used to build the spec file. */
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/xscale-elf.h gcc-3.4.0/gcc/config/arm/xscale-elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/xscale-elf.h 2003-07-02 01:26:43.000000000 +0200
++++ gcc-3.4.0/gcc/config/arm/xscale-elf.h 2004-05-01 20:15:36.620105600 +0200
+@@ -49,11 +49,12 @@
+ endian, regardless of the endian-ness of the memory
+ system. */
+
+-#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
+- %{mhard-float:-mfpu=fpa} \
+- %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
++#define SUBTARGET_EXTRA_ASM_SPEC "\
++%{!mcpu=*:-mcpu=xscale} \
++%{mhard-float:-mfpu=fpa} \
++%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
+
+ #ifndef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "mlittle-endian", "mno-thumb-interwork", "marm", "msoft-float" }
++ { "mlittle-endian", "mno-thumb-interwork", "marm" }
+ #endif
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc-3.4.1-uclibc-100-conf.patch b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.1-uclibc-100-conf.patch
new file mode 100644
index 0000000000..29e4c802e2
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.1-uclibc-100-conf.patch
@@ -0,0 +1,442 @@
+diff -urN gcc-3.4.1-dist/boehm-gc/configure gcc-3.4.1/boehm-gc/configure
+--- gcc-3.4.1-dist/boehm-gc/configure 2004-07-01 14:14:03.000000000 -0500
++++ gcc-3.4.1/boehm-gc/configure 2004-08-12 16:22:57.000000000 -0500
+@@ -1947,6 +1947,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+diff -urN gcc-3.4.1-dist/boehm-gc/ltconfig gcc-3.4.1/boehm-gc/ltconfig
+--- gcc-3.4.1-dist/boehm-gc/ltconfig 2002-11-20 09:59:06.000000000 -0600
++++ gcc-3.4.1/boehm-gc/ltconfig 2004-08-12 15:54:42.000000000 -0500
+@@ -1981,6 +1981,23 @@
+ fi
+ ;;
+
++linux-uclibc*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=`echo /lib/libuClibc-*.so`
++
++ # Assume using the uClibc dynamic linker.
++ dynamic_linker="uClibc ld.so"
++ ;;
++
+ netbsd*)
+ version_type=sunos
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
+--- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-01-31 00:18:11.000000000 -0600
++++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-12 15:54:42.000000000 -0500
+@@ -81,6 +81,18 @@
+ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+
+ #undef LINK_SPEC
++#ifdef USE_UCLIBC
++#define LINK_SPEC "%{h*} %{version:-v} \
++ %{b} %{Wl,*:%*} \
++ %{static:-Bstatic} \
++ %{shared:-shared} \
++ %{symbolic:-Bsymbolic} \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
++ -X \
++ %{mbig-endian:-EB}" \
++ SUBTARGET_EXTRA_LINK_SPEC
++#else
+ #define LINK_SPEC "%{h*} %{version:-v} \
+ %{b} %{Wl,*:%*} \
+ %{static:-Bstatic} \
+@@ -91,6 +103,7 @@
+ -X \
+ %{mbig-endian:-EB}" \
+ SUBTARGET_EXTRA_LINK_SPEC
++#endif
+
+ #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
+
+diff -urN gcc-3.4.1-dist/gcc/config/cris/linux.h gcc-3.4.1/gcc/config/cris/linux.h
+--- gcc-3.4.1-dist/gcc/config/cris/linux.h 2003-11-28 21:08:09.000000000 -0600
++++ gcc-3.4.1/gcc/config/cris/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -79,6 +79,25 @@
+ #undef CRIS_DEFAULT_CPU_VERSION
+ #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
+
++#ifdef USE_UCLIBC
++
++#undef CRIS_SUBTARGET_VERSION
++#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
++
++#undef CRIS_LINK_SUBTARGET_SPEC
++#define CRIS_LINK_SUBTARGET_SPEC \
++ "-mcrislinux\
++ -rpath-link include/asm/../..%s\
++ %{shared} %{static}\
++ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
++ %{!shared: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
++ %{!r:%{O2|O3: --gc-sections}}"
++
++#else /* USE_UCLIBC */
++
+ #undef CRIS_SUBTARGET_VERSION
+ #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
+
+@@ -93,6 +112,8 @@
+ %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
+ %{!r:%{O2|O3: --gc-sections}}"
+
++#endif /* USE_UCLIBC */
++
+
+ /* Node: Run-time Target */
+
+diff -urN gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc gcc-3.4.1/gcc/config/cris/t-linux-uclibc
+--- gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.1/gcc/config/cris/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
+@@ -0,0 +1,3 @@
++T_CFLAGS = -DUSE_UCLIBC
++TARGET_LIBGCC2_CFLAGS += -fPIC
++CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
+diff -urN gcc-3.4.1-dist/gcc/config/i386/linux.h gcc-3.4.1/gcc/config/i386/linux.h
+--- gcc-3.4.1-dist/gcc/config/i386/linux.h 2003-11-28 21:08:10.000000000 -0600
++++ gcc-3.4.1/gcc/config/i386/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -118,6 +118,15 @@
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
+ %{static:-static}}}"
+ #else
++#if defined USE_UCLIBC
++#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
++ %{!shared: \
++ %{!ibcs: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}}}"
++#else
+ #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+@@ -126,6 +135,7 @@
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{static:-static}}}"
+ #endif
++#endif
+
+ /* A C statement (sans semicolon) to output to the stdio stream
+ FILE the assembler definition of uninitialized global DECL named
+diff -urN gcc-3.4.1-dist/gcc/config/mips/linux.h gcc-3.4.1/gcc/config/mips/linux.h
+--- gcc-3.4.1-dist/gcc/config/mips/linux.h 2004-06-15 20:42:24.000000000 -0500
++++ gcc-3.4.1/gcc/config/mips/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -109,6 +109,17 @@
+
+ /* Borrowed from sparc/linux.h */
+ #undef LINK_SPEC
++#ifdef USE_UCLIBC
++#define LINK_SPEC \
++ "%(endian_spec) \
++ %{shared:-shared} \
++ %{!shared: \
++ %{!ibcs: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}}}"
++#else
+ #define LINK_SPEC \
+ "%(endian_spec) \
+ %{shared:-shared} \
+@@ -118,6 +129,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+ %{static:-static}}}"
++#endif
+
+ #undef SUBTARGET_ASM_SPEC
+ #define SUBTARGET_ASM_SPEC "\
+diff -urN gcc-3.4.1-dist/gcc/config/rs6000/linux.h gcc-3.4.1/gcc/config/rs6000/linux.h
+--- gcc-3.4.1-dist/gcc/config/rs6000/linux.h 2004-02-25 09:11:19.000000000 -0600
++++ gcc-3.4.1/gcc/config/rs6000/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -61,7 +61,11 @@
+ #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
+
+ #undef LINK_OS_DEFAULT_SPEC
++#ifdef USE_UCLIBC
++#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
++#else
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
++#endif
+
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
+diff -urN gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h gcc-3.4.1/gcc/config/rs6000/sysv4.h
+--- gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h 2004-06-10 01:39:50.000000000 -0500
++++ gcc-3.4.1/gcc/config/rs6000/sysv4.h 2004-08-12 15:54:43.000000000 -0500
+@@ -947,6 +947,7 @@
+ mcall-linux : %(link_os_linux) ; \
+ mcall-gnu : %(link_os_gnu) ; \
+ mcall-netbsd : %(link_os_netbsd) ; \
++ mcall-linux-uclibc : %(link_os_linux_uclibc); \
+ mcall-openbsd: %(link_os_openbsd) ; \
+ : %(link_os_default) }"
+
+@@ -1124,6 +1125,10 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+
++#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
++
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+ # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+ #endif
+@@ -1290,6 +1295,7 @@
+ { "link_os_sim", LINK_OS_SIM_SPEC }, \
+ { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
+ { "link_os_linux", LINK_OS_LINUX_SPEC }, \
++ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
+ { "link_os_gnu", LINK_OS_GNU_SPEC }, \
+ { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
+ { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
+diff -urN gcc-3.4.1-dist/gcc/config/sh/linux.h gcc-3.4.1/gcc/config/sh/linux.h
+--- gcc-3.4.1-dist/gcc/config/sh/linux.h 2004-01-11 20:29:13.000000000 -0600
++++ gcc-3.4.1/gcc/config/sh/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -73,12 +73,21 @@
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
+ #undef SUBTARGET_LINK_SPEC
++#ifdef USE_UCLIBC
++#define SUBTARGET_LINK_SPEC \
++ "%{shared:-shared} \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}"
++#else
+ #define SUBTARGET_LINK_SPEC \
+ "%{shared:-shared} \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{static:-static}"
++#endif
+
+ #undef LIB_SPEC
+ #define LIB_SPEC \
+diff -urN gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc gcc-3.4.1/gcc/config/sh/t-linux-uclibc
+--- gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.1/gcc/config/sh/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
+@@ -0,0 +1,13 @@
++T_CFLAGS = -DUSE_UCLIBC
++
++TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES
++LIB1ASMFUNCS_CACHE = _ic_invalidate
++
++LIB2FUNCS_EXTRA=
++
++MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4
++MULTILIB_DIRNAMES=
++MULTILIB_MATCHES =
++MULTILIB_EXCEPTIONS=
++
++EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+diff -urN gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc gcc-3.4.1/gcc/config/sh/t-sh64-uclibc
+--- gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.1/gcc/config/sh/t-sh64-uclibc 2004-08-12 15:54:43.000000000 -0500
+@@ -0,0 +1,13 @@
++EXTRA_MULTILIB_PARTS= crt1.o crti.o crtn.o crtbegin.o crtend.o
++
++LIB1ASMFUNCS = \
++ _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
++ _shcompact_call_trampoline _shcompact_return_trampoline \
++ _shcompact_incoming_args _ic_invalidate _nested_trampoline \
++ _push_pop_shmedia_regs \
++ _udivdi3 _divdi3 _umoddi3 _moddi3
++
++MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu
++MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64
++MULTILIB_MATCHES=
++MULTILIB_EXCEPTIONS=
+diff -urN gcc-3.4.1-dist/gcc/config/t-linux-uclibc gcc-3.4.1/gcc/config/t-linux-uclibc
+--- gcc-3.4.1-dist/gcc/config/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.1/gcc/config/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
+@@ -0,0 +1,15 @@
++T_CFLAGS = -DUSE_UCLIBC
++
++# Compile crtbeginS.o and crtendS.o with pic.
++CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
++# Compile libgcc2.a with pic.
++TARGET_LIBGCC2_CFLAGS = -fPIC
++
++# Override t-slibgcc-elf-ver to export some libgcc symbols with
++# the symbol versions that glibc used.
++#SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
++
++# Use unwind-dw2-fde
++LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
++ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
++LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
+diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
+--- gcc-3.4.1-dist/gcc/config.gcc 2004-04-21 10:12:35.000000000 -0500
++++ gcc-3.4.1/gcc/config.gcc 2004-08-12 15:59:46.000000000 -0500
+@@ -664,6 +664,12 @@
+ extra_parts=""
+ use_collect2=yes
+ ;;
++arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
++ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
++ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
++ gnu_ld=yes
++ ;;
+ arm*-*-linux*) # ARM GNU/Linux with ELF
+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
+ tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
+@@ -725,6 +731,10 @@
+ tmake_file="cris/t-cris cris/t-elfmulti"
+ gas=yes
+ ;;
++cris-*-linux-uclibc*)
++ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
++ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc"
++ ;;
+ cris-*-linux*)
+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
+ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
+@@ -988,6 +998,11 @@
+ thread_file='single'
+ fi
+ ;;
++i[34567]86-*-linux*uclibc*) # Intel 80386's running GNU/Linux
++ # with ELF format using uClibc
++ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc i386/t-crtstuff"
++ ;;
+ i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
+ # with ELF format using glibc 2
+ # aka GNU/Linux C library 6
+@@ -1547,6 +1562,16 @@
+ gnu_ld=yes
+ gas=yes
+ ;;
++mips*-*-linux-uclibc*) # Linux MIPS, either endian. uClibc
++ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
++ case ${target} in
++ mipsisa32*-*)
++ target_cpu_default="MASK_SOFT_FLOAT"
++ tm_defines="MIPS_ISA_DEFAULT=32"
++ ;;
++ esac
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc"
++ ;;
+ mips*-*-linux*) # Linux MIPS, either endian.
+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
+ case ${target} in
+@@ -1764,6 +1789,10 @@
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
+ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
+ ;;
++powerpc-*-linux-uclibc*)
++ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
++ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm"
++ ;;
+ powerpc-*-linux*)
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
+ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
+@@ -1916,7 +1945,7 @@
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
+ ;;
+ sh-*-linux* | sh[2346lbe]*-*-linux*)
+- tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux"
++ tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver"
+ case ${target} in
+ sh*be-*-* | sh*eb-*-*) ;;
+ *)
+@@ -1924,9 +1953,17 @@
+ tmake_file="${tmake_file} sh/t-le"
+ ;;
+ esac
+- tmake_file="${tmake_file} sh/t-linux"
++ case ${target} in
++ *-*-linux-uclibc*) tmake_file="${tmake_file} t-linux-uclibc sh/t-linux-uclibc" ;;
++ *) tmake_file="${tmake_file} t-linux sh/t-linux" ;;
++ esac
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
+ case ${target} in
++ sh64*-*-linux-uclibc*)
++ tmake_file="${tmake_file} sh/t-sh64-uclibc"
++ tm_file="${tm_file} sh/sh64.h"
++ extra_headers="shmedia.h ushmedia.h sshmedia.h"
++ ;;
+ sh64*)
+ tmake_file="${tmake_file} sh/t-sh64"
+ tm_file="${tm_file} sh/sh64.h"
+diff -urN gcc-3.4.1-dist/libtool.m4 gcc-3.4.1/libtool.m4
+--- gcc-3.4.1-dist/libtool.m4 2004-05-18 04:08:37.000000000 -0500
++++ gcc-3.4.1/libtool.m4 2004-08-12 15:54:43.000000000 -0500
+@@ -689,6 +689,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
+diff -urN gcc-3.4.1-dist/ltconfig gcc-3.4.1/ltconfig
+--- gcc-3.4.1-dist/ltconfig 2004-03-05 15:05:41.000000000 -0600
++++ gcc-3.4.1/ltconfig 2004-08-12 15:55:48.000000000 -0500
+@@ -602,6 +602,7 @@
+
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
++linux-uclibc*) ;;
+ linux-gnu*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+@@ -1262,6 +1263,24 @@
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
++linux-uclibc*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ # Note: copied from linux-gnu, and may not be appropriate.
++ hardcode_into_libs=yes
++ # Assume using the uClibc dynamic linker.
++ dynamic_linker="uClibc ld.so"
++ ;;
++
+ netbsd*)
+ need_lib_prefix=no
+ need_version=no
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc-3.4.1-uclibc-200-locale.patch b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.1-uclibc-200-locale.patch
new file mode 100644
index 0000000000..3fc4900b06
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc-3.4.1-uclibc-200-locale.patch
@@ -0,0 +1,3246 @@
+diff -urN gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 gcc-3.4.2/libstdc++-v3/acinclude.m4
+--- gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 2004-07-15 12:42:45.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/acinclude.m4 2004-09-10 10:47:40.000000000 -0500
+@@ -996,7 +996,7 @@
+ AC_MSG_CHECKING([for C locale to use])
+ GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
+ [use MODEL for target locale package],
+- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
++ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
+
+ # If they didn't use this option switch, or if they specified --enable
+ # with no specific model, we'll have to look for one. If they
+@@ -1012,6 +1012,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case x${target_os} in
++ x*-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
+ AC_EGREP_CPP([_GLIBCXX_ok], [
+ #include <features.h>
+@@ -1138,6 +1141,41 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ AC_MSG_RESULT(uclibc)
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++ AC_SUBST(glibcxx_MOFILES)
++ AC_SUBST(glibcxx_POFILES)
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+diff -urN gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 gcc-3.4.2/libstdc++-v3/aclocal.m4
+--- gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 2004-08-13 15:44:03.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/aclocal.m4 2004-09-10 10:47:40.000000000 -0500
+@@ -1025,6 +1025,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case x${target_os} in
++ x*-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
+ AC_EGREP_CPP([_GLIBCXX_ok], [
+ #include <features.h>
+@@ -1151,6 +1154,41 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ AC_MSG_RESULT(uclibc)
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++ AC_SUBST(glibcxx_MOFILES)
++ AC_SUBST(glibcxx_POFILES)
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,59 @@
++// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
++
++// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++// Written by Jakub Jelinek <jakub@redhat.com>
++
++#include <clocale>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning clean this up
++#endif
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++
++extern "C" __typeof(iswctype_l) __iswctype_l;
++extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
++extern "C" __typeof(strcoll_l) __strcoll_l;
++extern "C" __typeof(strftime_l) __strftime_l;
++extern "C" __typeof(strtod_l) __strtod_l;
++extern "C" __typeof(strtof_l) __strtof_l;
++extern "C" __typeof(strtold_l) __strtold_l;
++extern "C" __typeof(strxfrm_l) __strxfrm_l;
++extern "C" __typeof(towlower_l) __towlower_l;
++extern "C" __typeof(towupper_l) __towupper_l;
++extern "C" __typeof(wcscoll_l) __wcscoll_l;
++extern "C" __typeof(wcsftime_l) __wcsftime_l;
++extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
++extern "C" __typeof(wctype_l) __wctype_l;
++extern "C" __typeof(newlocale) __newlocale;
++extern "C" __typeof(freelocale) __freelocale;
++extern "C" __typeof(duplocale) __duplocale;
++extern "C" __typeof(uselocale) __uselocale;
++
++#endif // GLIBC 2.3 and later
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,160 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <cerrno> // For errno
++#include <locale>
++#include <stdexcept>
++#include <langinfo.h>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
++#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
++#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
++#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
++#define __strtof_l(S, E, L) strtof((S), (E))
++#define __strtod_l(S, E, L) strtod((S), (E))
++#define __strtold_l(S, E, L) strtold((S), (E))
++#warning should dummy __newlocale check for C|POSIX ?
++#define __newlocale(a, b, c) NULL
++#define __freelocale(a) ((void)0)
++#define __duplocale(a) __c_locale()
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ float __f = __strtof_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __f;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ double __d = __strtod_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __d;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ long double __ld = __strtold_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __ld;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ void
++ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
++ __c_locale __old)
++ {
++ __cloc = __newlocale(1 << LC_ALL, __s, __old);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ if (!__cloc)
++ {
++ // This named locale is not supported by the underlying OS.
++ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
++ "name not valid"));
++ }
++#endif
++ }
++
++ void
++ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
++ {
++ if (_S_get_c_locale() != __cloc)
++ __freelocale(__cloc);
++ }
++
++ __c_locale
++ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
++ { return __duplocale(__cloc); }
++} // namespace std
++
++namespace __gnu_cxx
++{
++ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
++ {
++ "LC_CTYPE",
++ "LC_NUMERIC",
++ "LC_TIME",
++ "LC_COLLATE",
++ "LC_MONETARY",
++ "LC_MESSAGES",
++#if _GLIBCXX_NUM_CATEGORIES != 0
++ "LC_PAPER",
++ "LC_NAME",
++ "LC_ADDRESS",
++ "LC_TELEPHONE",
++ "LC_MEASUREMENT",
++ "LC_IDENTIFICATION"
++#endif
++ };
++}
++
++namespace std
++{
++ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
++} // namespace std
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2004-09-10 10:48:08.000000000 -0500
+@@ -0,0 +1,115 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifndef _C_LOCALE_H
++#define _C_LOCALE_H 1
++
++#pragma GCC system_header
++
++#include <cstring> // get std::strlen
++#include <cstdio> // get std::snprintf or std::sprintf
++#include <clocale>
++#include <langinfo.h> // For codecvt
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC_HAS_LOCALE__
++#include <iconv.h> // For codecvt using iconv, iconv_t
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#include <libintl.h> // For messages
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning what is _GLIBCXX_C_LOCALE_GNU for
++#endif
++#define _GLIBCXX_C_LOCALE_GNU 1
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix categories
++#endif
++// #define _GLIBCXX_NUM_CATEGORIES 6
++#define _GLIBCXX_NUM_CATEGORIES 0
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++namespace __gnu_cxx
++{
++ extern "C" __typeof(uselocale) __uselocale;
++}
++#endif
++
++namespace std
++{
++#ifdef __UCLIBC_HAS_XLOCALE__
++ typedef __locale_t __c_locale;
++#else
++ typedef int* __c_locale;
++#endif
++
++ // Convert numeric value of type _Tv to string and return length of
++ // string. If snprintf is available use it, otherwise fall back to
++ // the unsafe sprintf which, in general, can be dangerous and should
++ // be avoided.
++ template<typename _Tv>
++ int
++ __convert_from_v(char* __out, const int __size, const char* __fmt,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ _Tv __v, const __c_locale& __cloc, int __prec)
++ {
++ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
++#else
++ _Tv __v, const __c_locale&, int __prec)
++ {
++# ifdef __UCLIBC_HAS_LOCALE__
++ char* __old = std::setlocale(LC_ALL, NULL);
++ char* __sav = new char[std::strlen(__old) + 1];
++ std::strcpy(__sav, __old);
++ std::setlocale(LC_ALL, "C");
++# endif
++#endif
++
++ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __gnu_cxx::__uselocale(__old);
++#elif defined __UCLIBC_HAS_LOCALE__
++ std::setlocale(LC_ALL, __sav);
++ delete [] __sav;
++#endif
++ return __ret;
++ }
++}
++
++#endif
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,306 @@
++// std::codecvt implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.5 - Template class codecvt
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++namespace std
++{
++ // Specializations.
++#ifdef _GLIBCXX_USE_WCHAR_T
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_out(state_type& __state, const intern_type* __from,
++ const intern_type* __from_end, const intern_type*& __from_next,
++ extern_type* __to, extern_type* __to_end,
++ extern_type*& __to_next) const
++ {
++ result __ret = ok;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
++ // in case we fall back to wcrtomb and then continue, in a loop.
++ // NB: wcsnrtombs is a GNU extension
++ for (__from_next = __from, __to_next = __to;
++ __from_next < __from_end && __to_next < __to_end
++ && __ret == ok;)
++ {
++ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
++ __from_end - __from_next);
++ if (!__from_chunk_end)
++ __from_chunk_end = __from_end;
++
++ __from = __from_next;
++ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
++ __from_chunk_end - __from_next,
++ __to_end - __to_next, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // wcrtomb.
++ for (; __from < __from_next; ++__from)
++ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
++ __state = __tmp_state;
++ __ret = error;
++ }
++ else if (__from_next && __from_next < __from_chunk_end)
++ {
++ __to_next += __conv;
++ __ret = partial;
++ }
++ else
++ {
++ __from_next = __from_chunk_end;
++ __to_next += __conv;
++ }
++
++ if (__from_next < __from_end && __ret == ok)
++ {
++ extern_type __buf[MB_LEN_MAX];
++ __tmp_state = __state;
++ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
++ if (__conv > static_cast<size_t>(__to_end - __to_next))
++ __ret = partial;
++ else
++ {
++ memcpy(__to_next, __buf, __conv);
++ __state = __tmp_state;
++ __to_next += __conv;
++ ++__from_next;
++ }
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_in(state_type& __state, const extern_type* __from,
++ const extern_type* __from_end, const extern_type*& __from_next,
++ intern_type* __to, intern_type* __to_end,
++ intern_type*& __to_next) const
++ {
++ result __ret = ok;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++ // in case we store a L'\0' and then continue, in a loop.
++ // NB: mbsnrtowcs is a GNU extension
++ for (__from_next = __from, __to_next = __to;
++ __from_next < __from_end && __to_next < __to_end
++ && __ret == ok;)
++ {
++ const extern_type* __from_chunk_end;
++ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
++ __from_end
++ - __from_next));
++ if (!__from_chunk_end)
++ __from_chunk_end = __from_end;
++
++ __from = __from_next;
++ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
++ __from_chunk_end - __from_next,
++ __to_end - __to_next, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // mbrtowc.
++ for (;; ++__to_next, __from += __conv)
++ {
++ __conv = mbrtowc(__to_next, __from, __from_end - __from,
++ &__tmp_state);
++ if (__conv == static_cast<size_t>(-1)
++ || __conv == static_cast<size_t>(-2))
++ break;
++ }
++ __from_next = __from;
++ __state = __tmp_state;
++ __ret = error;
++ }
++ else if (__from_next && __from_next < __from_chunk_end)
++ {
++ // It is unclear what to return in this case (see DR 382).
++ __to_next += __conv;
++ __ret = partial;
++ }
++ else
++ {
++ __from_next = __from_chunk_end;
++ __to_next += __conv;
++ }
++
++ if (__from_next < __from_end && __ret == ok)
++ {
++ if (__to_next < __to_end)
++ {
++ // XXX Probably wrong for stateful encodings
++ __tmp_state = __state;
++ ++__from_next;
++ *__to_next++ = L'\0';
++ }
++ else
++ __ret = partial;
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_encoding() const throw()
++ {
++ // XXX This implementation assumes that the encoding is
++ // stateless and is either single-byte or variable-width.
++ int __ret = 0;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++ if (MB_CUR_MAX == 1)
++ __ret = 1;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_max_length() const throw()
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++ // XXX Probably wrong for stateful encodings.
++ int __ret = MB_CUR_MAX;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_length(state_type& __state, const extern_type* __from,
++ const extern_type* __end, size_t __max) const
++ {
++ int __ret = 0;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++ // in case we advance past it and then continue, in a loop.
++ // NB: mbsnrtowcs is a GNU extension
++
++ // A dummy internal buffer is needed in order for mbsnrtocws to consider
++ // its fourth parameter (it wouldn't with NULL as first parameter).
++ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
++ * __max));
++ while (__from < __end && __max)
++ {
++ const extern_type* __from_chunk_end;
++ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
++ __end
++ - __from));
++ if (!__from_chunk_end)
++ __from_chunk_end = __end;
++
++ const extern_type* __tmp_from = __from;
++ size_t __conv = mbsnrtowcs(__to, &__from,
++ __from_chunk_end - __from,
++ __max, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // mbrtowc.
++ for (__from = __tmp_from;; __from += __conv)
++ {
++ __conv = mbrtowc(NULL, __from, __end - __from,
++ &__tmp_state);
++ if (__conv == static_cast<size_t>(-1)
++ || __conv == static_cast<size_t>(-2))
++ break;
++ }
++ __state = __tmp_state;
++ __ret += __from - __tmp_from;
++ break;
++ }
++ if (!__from)
++ __from = __from_chunk_end;
++
++ __ret += __from - __tmp_from;
++ __max -= __conv;
++
++ if (__from < __end && __max)
++ {
++ // XXX Probably wrong for stateful encodings
++ __tmp_state = __state;
++ ++__from;
++ ++__ret;
++ --__max;
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,80 @@
++// std::collate implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
++#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
++#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
++#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
++#endif
++
++namespace std
++{
++ // These are basically extensions to char_traits, and perhaps should
++ // be put there instead of here.
++ template<>
++ int
++ collate<char>::_M_compare(const char* __one, const char* __two) const
++ {
++ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<char>::_M_transform(char* __to, const char* __from,
++ size_t __n) const
++ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ int
++ collate<wchar_t>::_M_compare(const wchar_t* __one,
++ const wchar_t* __two) const
++ {
++ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
++ size_t __n) const
++ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,300 @@
++// std::ctype implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __wctype_l(S, L) wctype((S))
++#define __towupper_l(C, L) towupper((C))
++#define __towlower_l(C, L) towlower((C))
++#define __iswctype_l(C, M, L) iswctype((C), (M))
++#endif
++
++namespace std
++{
++ // NB: The other ctype<char> specializations are in src/locale.cc and
++ // various /config/os/* files.
++ template<>
++ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
++ : ctype<char>(0, false, __refs)
++ {
++ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++ {
++ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
++ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
++ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
++ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
++#endif
++ }
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ ctype<wchar_t>::__wmask_type
++ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
++ {
++ __wmask_type __ret;
++ switch (__m)
++ {
++ case space:
++ __ret = __wctype_l("space", _M_c_locale_ctype);
++ break;
++ case print:
++ __ret = __wctype_l("print", _M_c_locale_ctype);
++ break;
++ case cntrl:
++ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
++ break;
++ case upper:
++ __ret = __wctype_l("upper", _M_c_locale_ctype);
++ break;
++ case lower:
++ __ret = __wctype_l("lower", _M_c_locale_ctype);
++ break;
++ case alpha:
++ __ret = __wctype_l("alpha", _M_c_locale_ctype);
++ break;
++ case digit:
++ __ret = __wctype_l("digit", _M_c_locale_ctype);
++ break;
++ case punct:
++ __ret = __wctype_l("punct", _M_c_locale_ctype);
++ break;
++ case xdigit:
++ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
++ break;
++ case alnum:
++ __ret = __wctype_l("alnum", _M_c_locale_ctype);
++ break;
++ case graph:
++ __ret = __wctype_l("graph", _M_c_locale_ctype);
++ break;
++ default:
++ __ret = 0;
++ }
++ return __ret;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_toupper(wchar_t __c) const
++ { return __towupper_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_tolower(wchar_t __c) const
++ { return __towlower_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ bool
++ ctype<wchar_t>::
++ do_is(mask __m, wchar_t __c) const
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ bool __ret = false;
++ const size_t __bitmasksize = 11;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__m & _M_bit[__bitcur]
++ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
++ {
++ __ret = true;
++ break;
++ }
++ return __ret;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
++ {
++ for (; __lo < __hi; ++__vec, ++__lo)
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ const size_t __bitmasksize = 11;
++ mask __m = 0;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
++ __m |= _M_bit[__bitcur];
++ *__vec = __m;
++ }
++ return __hi;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi && !this->do_is(__m, *__lo))
++ ++__lo;
++ return __lo;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
++ {
++ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
++ ++__lo;
++ return __lo;
++ }
++
++ wchar_t
++ ctype<wchar_t>::
++ do_widen(char __c) const
++ { return _M_widen[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<wchar_t>::
++ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
++ {
++ while (__lo < __hi)
++ {
++ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
++ ++__lo;
++ ++__dest;
++ }
++ return __hi;
++ }
++
++ char
++ ctype<wchar_t>::
++ do_narrow(wchar_t __wc, char __dfault) const
++ {
++ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
++ return _M_narrow[__wc];
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ const int __c = wctob(__wc);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
++ char* __dest) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ if (_M_narrow_ok)
++ while (__lo < __hi)
++ {
++ if (*__lo >= 0 && *__lo < 128)
++ *__dest = _M_narrow[*__lo];
++ else
++ {
++ const int __c = wctob(*__lo);
++ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++ ++__lo;
++ ++__dest;
++ }
++ else
++ while (__lo < __hi)
++ {
++ const int __c = wctob(*__lo);
++ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++ ++__lo;
++ ++__dest;
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __hi;
++ }
++
++ void
++ ctype<wchar_t>::_M_initialize_ctype()
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ wint_t __i;
++ for (__i = 0; __i < 128; ++__i)
++ {
++ const int __c = wctob(__i);
++ if (__c == EOF)
++ break;
++ else
++ _M_narrow[__i] = static_cast<char>(__c);
++ }
++ if (__i == 128)
++ _M_narrow_ok = true;
++ else
++ _M_narrow_ok = false;
++ for (size_t __j = 0;
++ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
++ _M_widen[__j] = btowc(__j);
++
++ for (size_t __k = 0; __k <= 11; ++__k)
++ {
++ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
++ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ }
++#endif // _GLIBCXX_USE_WCHAR_T
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,100 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix gettext stuff
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__dcgettext(const char *domainname,
++ const char *msgid, int category);
++#undef gettext
++#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#else
++#undef gettext
++#define gettext(msgid) (msgid)
++#endif
++
++namespace std
++{
++ // Specializations.
++ template<>
++ string
++ messages<char>::do_get(catalog, int, int, const string& __dfault) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
++ __uselocale(__old);
++ return string(__msg);
++#elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ const char* __msg = gettext(__dfault.c_str());
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return string(__msg);
++#else
++ const char* __msg = gettext(__dfault.c_str());
++ return string(__msg);
++#endif
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ wstring
++ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
++ {
++# ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ __uselocale(__old);
++ return _M_convert_from_char(__msg);
++# elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return _M_convert_from_char(__msg);
++# else
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ return _M_convert_from_char(__msg);
++# endif
++ }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,118 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix prototypes for *textdomain funcs
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__textdomain(const char *domainname);
++extern "C" char *__bindtextdomain(const char *domainname,
++ const char *dirname);
++#else
++#undef __textdomain
++#undef __bindtextdomain
++#define __textdomain(D) ((void)0)
++#define __bindtextdomain(D,P) ((void)0)
++#endif
++
++ // Non-virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::messages(size_t __refs)
++ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
++ _M_name_messages(_S_get_c_name())
++ { }
++
++ template<typename _CharT>
++ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
++ size_t __refs)
++ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
++ _M_name_messages(__s)
++ {
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ _M_name_messages = __tmp;
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
++ const char* __dir) const
++ {
++ __bindtextdomain(__s.c_str(), __dir);
++ return this->do_open(__s, __loc);
++ }
++
++ // Virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::~messages()
++ {
++ if (_M_name_messages != _S_get_c_name())
++ delete [] _M_name_messages;
++ _S_destroy_c_locale(_M_c_locale_messages);
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::do_open(const basic_string<char>& __s,
++ const locale&) const
++ {
++ // No error checking is done, assume the catalog exists and can
++ // be used.
++ __textdomain(__s.c_str());
++ return 0;
++ }
++
++ template<typename _CharT>
++ void
++ messages<_CharT>::do_close(catalog) const
++ { }
++
++ // messages_byname
++ template<typename _CharT>
++ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
++ : messages<_CharT>(__refs)
++ {
++ if (this->_M_name_messages != locale::facet::_S_get_c_name())
++ delete [] this->_M_name_messages;
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ this->_M_name_messages = __tmp;
++
++ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++ {
++ this->_S_destroy_c_locale(this->_M_c_locale_messages);
++ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
++ }
++ }
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,698 @@
++// std::moneypunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning optimize this for uclibc
++#warning tailor for stub locale support
++#endif
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ // Construct and return valid pattern consisting of some combination of:
++ // space none symbol sign value
++ money_base::pattern
++ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
++ {
++ pattern __ret;
++
++ // This insanely complicated routine attempts to construct a valid
++ // pattern for use with monyepunct. A couple of invariants:
++
++ // if (__precedes) symbol -> value
++ // else value -> symbol
++
++ // if (__space) space
++ // else none
++
++ // none == never first
++ // space never first or last
++
++ // Any elegant implementations of this are welcome.
++ switch (__posn)
++ {
++ case 0:
++ case 1:
++ // 1 The sign precedes the value and symbol.
++ __ret.field[0] = sign;
++ if (__space)
++ {
++ // Pattern starts with sign.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[3] = symbol;
++ }
++ __ret.field[2] = space;
++ }
++ else
++ {
++ // Pattern starts with sign and ends with none.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[3] = none;
++ }
++ break;
++ case 2:
++ // 2 The sign follows the value and symbol.
++ if (__space)
++ {
++ // Pattern either ends with sign.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[1] = space;
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ // Pattern ends with sign then none.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = symbol;
++ }
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ break;
++ case 3:
++ // 3 The sign immediately precedes the symbol.
++ if (__precedes)
++ {
++ __ret.field[0] = sign;
++ __ret.field[1] = symbol;
++ if (__space)
++ {
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[2] = value;
++ __ret.field[3] = none;
++ }
++ }
++ else
++ {
++ __ret.field[0] = value;
++ if (__space)
++ {
++ __ret.field[1] = space;
++ __ret.field[2] = sign;
++ __ret.field[3] = symbol;
++ }
++ else
++ {
++ __ret.field[1] = sign;
++ __ret.field[2] = symbol;
++ __ret.field[3] = none;
++ }
++ }
++ break;
++ case 4:
++ // 4 The sign immediately follows the symbol.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = sign;
++ if (__space)
++ {
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[2] = value;
++ __ret.field[3] = none;
++ }
++ }
++ else
++ {
++ __ret.field[0] = value;
++ if (__space)
++ {
++ __ret.field[1] = space;
++ __ret.field[2] = symbol;
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ }
++ break;
++ default:
++ ;
++ }
++ return __ret;
++ }
++
++ template<>
++ void
++ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<char, true>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = "";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = "";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = "";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++ __cloc));
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_data->_M_negative_sign = "()";
++ else
++ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++ __cloc);
++ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++ // _Intl == true
++ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++ __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++ }
++ }
++
++ template<>
++ void
++ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<char, false>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = "";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = "";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = "";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++ __cloc));
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_data->_M_negative_sign = "()";
++ else
++ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++ __cloc);
++ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++ // _Intl == false
++ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++ }
++ }
++
++ template<>
++ moneypunct<char, true>::~moneypunct()
++ { delete _M_data; }
++
++ template<>
++ moneypunct<char, false>::~moneypunct()
++ { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<wchar_t, true>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ // Use ctype::widen code without the facet...
++ unsigned char uc;
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ {
++ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
++ _M_data->_M_atoms[__i] = btowc(uc);
++ }
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union __s_and_w { const char *__s; unsigned int __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
++
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
++#endif
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++
++ wchar_t* __wcs_ps = 0;
++ wchar_t* __wcs_ns = 0;
++ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ try
++ {
++ mbstate_t __state;
++ size_t __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ps = new wchar_t[__len];
++ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++ _M_data->_M_positive_sign = __wcs_ps;
++ }
++ else
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_data->_M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ns = new wchar_t[__len];
++ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++ _M_data->_M_negative_sign = __wcs_ns;
++ }
++ else
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_data->_M_curr_symbol = __wcs;
++ }
++ else
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++ }
++ catch (...)
++ {
++ delete _M_data;
++ _M_data = 0;
++ delete __wcs_ps;
++ delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ __throw_exception_again;
++ }
++
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++ __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ void
++ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<wchar_t, false>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ // Use ctype::widen code without the facet...
++ unsigned char uc;
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ {
++ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
++ _M_data->_M_atoms[__i] = btowc(uc);
++ }
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union __s_and_w { const char *__s; unsigned int __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
++
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
++#endif
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++
++ wchar_t* __wcs_ps = 0;
++ wchar_t* __wcs_ns = 0;
++ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ try
++ {
++ mbstate_t __state;
++ size_t __len;
++ __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ps = new wchar_t[__len];
++ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++ _M_data->_M_positive_sign = __wcs_ps;
++ }
++ else
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_data->_M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ns = new wchar_t[__len];
++ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++ _M_data->_M_negative_sign = __wcs_ns;
++ }
++ else
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_data->_M_curr_symbol = __wcs;
++ }
++ else
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++ }
++ catch (...)
++ {
++ delete _M_data;
++ _M_data = 0;
++ delete __wcs_ps;
++ delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ __throw_exception_again;
++ }
++
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ moneypunct<wchar_t, true>::~moneypunct()
++ {
++ if (_M_data->_M_positive_sign_size)
++ delete [] _M_data->_M_positive_sign;
++ if (_M_data->_M_negative_sign_size
++ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++ delete [] _M_data->_M_negative_sign;
++ if (_M_data->_M_curr_symbol_size)
++ delete [] _M_data->_M_curr_symbol;
++ delete _M_data;
++ }
++
++ template<>
++ moneypunct<wchar_t, false>::~moneypunct()
++ {
++ if (_M_data->_M_positive_sign_size)
++ delete [] _M_data->_M_positive_sign;
++ if (_M_data->_M_negative_sign_size
++ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++ delete [] _M_data->_M_negative_sign;
++ if (_M_data->_M_curr_symbol_size)
++ delete [] _M_data->_M_curr_symbol;
++ delete _M_data;
++ }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,183 @@
++// std::numpunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __numpunct_cache<char>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_use_grouping = false;
++
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++
++ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
++
++ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
++ __cloc));
++
++ // Check for NULL, which implies no grouping.
++ if (_M_data->_M_thousands_sep == '\0')
++ _M_data->_M_grouping = "";
++ else
++ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ }
++
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_data->_M_truename = "true";
++ _M_data->_M_truename_size = strlen(_M_data->_M_truename);
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_data->_M_falsename = "false";
++ _M_data->_M_falsename_size = strlen(_M_data->_M_falsename);
++ }
++
++ template<>
++ numpunct<char>::~numpunct()
++ { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __numpunct_cache<wchar_t>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_use_grouping = false;
++
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_S_get_c_locale());
++#endif
++ // Use ctype::widen code without the facet...
++ unsigned char uc;
++ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++ {
++ uc = static_cast<unsigned char>(__num_base::_S_atoms_out[__i]);
++ _M_data->_M_atoms_out[__i] = btowc(uc);
++ }
++
++ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++ {
++ uc = static_cast<unsigned char>(__num_base::_S_atoms_in[__j]);
++ _M_data->_M_atoms_in[__j] = btowc(uc);
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union __s_and_w { const char *__s; unsigned int __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
++
++ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
++#endif
++
++ if (_M_data->_M_thousands_sep == L'\0')
++ _M_data->_M_grouping = "";
++ else
++ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ }
++
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_data->_M_truename = L"true";
++ _M_data->_M_truename_size = wcslen(_M_data->_M_truename);
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_data->_M_falsename = L"false";
++ _M_data->_M_falsename_size = wcslen(_M_data->_M_falsename);
++ }
++
++ template<>
++ numpunct<wchar_t>::~numpunct()
++ { delete _M_data; }
++ #endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2004-09-10 10:48:00.000000000 -0500
+@@ -0,0 +1,356 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __timepunct<char>::
++ _M_put(char* __s, size_t __maxlen, const char* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
++ _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ const size_t __len = strftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ // Make sure __s is null terminated.
++ if (__len == 0)
++ __s[0] = '\0';
++ }
++
++ template<>
++ void
++ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __timepunct_cache<char>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_get_c_locale();
++
++ _M_data->_M_date_format = "%m/%d/%y";
++ _M_data->_M_date_era_format = "%m/%d/%y";
++ _M_data->_M_time_format = "%H:%M:%S";
++ _M_data->_M_time_era_format = "%H:%M:%S";
++ _M_data->_M_date_time_format = "";
++ _M_data->_M_date_time_era_format = "";
++ _M_data->_M_am = "AM";
++ _M_data->_M_pm = "PM";
++ _M_data->_M_am_pm_format = "";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = "Sunday";
++ _M_data->_M_day2 = "Monday";
++ _M_data->_M_day3 = "Tuesday";
++ _M_data->_M_day4 = "Wednesday";
++ _M_data->_M_day5 = "Thursday";
++ _M_data->_M_day6 = "Friday";
++ _M_data->_M_day7 = "Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = "Sun";
++ _M_data->_M_aday2 = "Mon";
++ _M_data->_M_aday3 = "Tue";
++ _M_data->_M_aday4 = "Wed";
++ _M_data->_M_aday5 = "Thu";
++ _M_data->_M_aday6 = "Fri";
++ _M_data->_M_aday7 = "Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = "January";
++ _M_data->_M_month02 = "February";
++ _M_data->_M_month03 = "March";
++ _M_data->_M_month04 = "April";
++ _M_data->_M_month05 = "May";
++ _M_data->_M_month06 = "June";
++ _M_data->_M_month07 = "July";
++ _M_data->_M_month08 = "August";
++ _M_data->_M_month09 = "September";
++ _M_data->_M_month10 = "October";
++ _M_data->_M_month11 = "November";
++ _M_data->_M_month12 = "December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = "Jan";
++ _M_data->_M_amonth02 = "Feb";
++ _M_data->_M_amonth03 = "Mar";
++ _M_data->_M_amonth04 = "Apr";
++ _M_data->_M_amonth05 = "May";
++ _M_data->_M_amonth06 = "Jun";
++ _M_data->_M_amonth07 = "Jul";
++ _M_data->_M_amonth08 = "Aug";
++ _M_data->_M_amonth09 = "Sep";
++ _M_data->_M_amonth10 = "Oct";
++ _M_data->_M_amonth11 = "Nov";
++ _M_data->_M_amonth12 = "Dec";
++ }
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
++ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
++ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
++ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
++ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
++ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
++ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
++ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
++ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
++ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
++ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
++ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
++ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
++ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
++ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
++ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
++ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
++ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
++ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
++ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
++ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
++ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
++ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
++ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
++ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
++ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
++ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
++ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
++ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
++ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
++ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
++ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
++ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
++ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
++ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
++ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
++ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
++ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
++ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
++ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
++ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
++ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
++ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
++ }
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ __timepunct<wchar_t>::
++ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
++ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
++ _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ // Make sure __s is null terminated.
++ if (__len == 0)
++ __s[0] = L'\0';
++ }
++
++ template<>
++ void
++ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __timepunct_cache<wchar_t>;
++
++#warning wide time stuff
++// if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_get_c_locale();
++
++ _M_data->_M_date_format = L"%m/%d/%y";
++ _M_data->_M_date_era_format = L"%m/%d/%y";
++ _M_data->_M_time_format = L"%H:%M:%S";
++ _M_data->_M_time_era_format = L"%H:%M:%S";
++ _M_data->_M_date_time_format = L"";
++ _M_data->_M_date_time_era_format = L"";
++ _M_data->_M_am = L"AM";
++ _M_data->_M_pm = L"PM";
++ _M_data->_M_am_pm_format = L"";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = L"Sunday";
++ _M_data->_M_day2 = L"Monday";
++ _M_data->_M_day3 = L"Tuesday";
++ _M_data->_M_day4 = L"Wednesday";
++ _M_data->_M_day5 = L"Thursday";
++ _M_data->_M_day6 = L"Friday";
++ _M_data->_M_day7 = L"Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = L"Sun";
++ _M_data->_M_aday2 = L"Mon";
++ _M_data->_M_aday3 = L"Tue";
++ _M_data->_M_aday4 = L"Wed";
++ _M_data->_M_aday5 = L"Thu";
++ _M_data->_M_aday6 = L"Fri";
++ _M_data->_M_aday7 = L"Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = L"January";
++ _M_data->_M_month02 = L"February";
++ _M_data->_M_month03 = L"March";
++ _M_data->_M_month04 = L"April";
++ _M_data->_M_month05 = L"May";
++ _M_data->_M_month06 = L"June";
++ _M_data->_M_month07 = L"July";
++ _M_data->_M_month08 = L"August";
++ _M_data->_M_month09 = L"September";
++ _M_data->_M_month10 = L"October";
++ _M_data->_M_month11 = L"November";
++ _M_data->_M_month12 = L"December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = L"Jan";
++ _M_data->_M_amonth02 = L"Feb";
++ _M_data->_M_amonth03 = L"Mar";
++ _M_data->_M_amonth04 = L"Apr";
++ _M_data->_M_amonth05 = L"May";
++ _M_data->_M_amonth06 = L"Jun";
++ _M_data->_M_amonth07 = L"Jul";
++ _M_data->_M_amonth08 = L"Aug";
++ _M_data->_M_amonth09 = L"Sep";
++ _M_data->_M_amonth10 = L"Oct";
++ _M_data->_M_amonth11 = L"Nov";
++ _M_data->_M_amonth12 = L"Dec";
++ }
++#if 0
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ _M_data->_M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
++ _M_data->_M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
++ _M_data->_M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
++ _M_data->_M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
++ _M_data->_M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
++ _M_data->_M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
++ _M_data->_M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
++ _M_data->_M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
++ _M_data->_M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
++ _M_data->_M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
++ _M_data->_M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
++ _M_data->_M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
++ _M_data->_M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
++ _M_data->_M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
++ _M_data->_M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
++ _M_data->_M_aday2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
++ _M_data->_M_aday3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
++ _M_data->_M_aday4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
++ _M_data->_M_aday5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
++ _M_data->_M_aday6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
++ _M_data->_M_aday7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
++ _M_data->_M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
++ _M_data->_M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
++ _M_data->_M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
++ _M_data->_M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
++ _M_data->_M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
++ _M_data->_M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
++ _M_data->_M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
++ _M_data->_M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
++ _M_data->_M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
++ _M_data->_M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
++ _M_data->_M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
++ _M_data->_M_amonth02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
++ _M_data->_M_amonth03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
++ _M_data->_M_amonth04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
++ _M_data->_M_amonth05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
++ _M_data->_M_amonth06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
++ _M_data->_M_amonth07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
++ _M_data->_M_amonth08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
++ _M_data->_M_amonth09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
++ _M_data->_M_amonth10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
++ _M_data->_M_amonth11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
++ _M_data->_M_amonth12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
++ }
++#endif // 0
++ }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,68 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(size_t __refs)
++ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(_S_get_c_name())
++ { _M_initialize_timepunct(); }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
++ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(_S_get_c_name())
++ { _M_initialize_timepunct(); }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
++ size_t __refs)
++ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(__s)
++ {
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ _M_name_timepunct = __tmp;
++ _M_initialize_timepunct(__cloc);
++ }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::~__timepunct()
++ {
++ if (_M_name_timepunct != _S_get_c_name())
++ delete [] _M_name_timepunct;
++ delete _M_data;
++ _S_destroy_c_locale(_M_c_locale_timepunct);
++ }
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,58 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
++// Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// Information as gleaned from /usr/include/ctype.h
++
++ struct ctype_base
++ {
++ // Note: In uClibc, the following two types depend on configuration.
++
++ // Non-standard typedefs.
++ typedef const __ctype_touplow_t* __to_type;
++
++ // NB: Offsets into ctype<char>::_M_table force a particular size
++ // on the mask type. Because of this, we don't use an enum.
++ typedef __ctype_mask_t mask;
++ static const mask upper = _ISupper;
++ static const mask lower = _ISlower;
++ static const mask alpha = _ISalpha;
++ static const mask digit = _ISdigit;
++ static const mask xdigit = _ISxdigit;
++ static const mask space = _ISspace;
++ static const mask print = _ISprint;
++ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
++ static const mask cntrl = _IScntrl;
++ static const mask punct = _ISpunct;
++ static const mask alnum = _ISalpha | _ISdigit;
++ };
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,69 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
++// functions go in ctype.cc
++
++ bool
++ ctype<char>::
++ is(mask __m, char __c) const
++ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
++
++ const char*
++ ctype<char>::
++ is(const char* __low, const char* __high, mask* __vec) const
++ {
++ while (__low < __high)
++ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
++ return __high;
++ }
++
++ const char*
++ ctype<char>::
++ scan_is(mask __m, const char* __low, const char* __high) const
++ {
++ while (__low < __high
++ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
++ ++__low;
++ return __low;
++ }
++
++ const char*
++ ctype<char>::
++ scan_not(mask __m, const char* __low, const char* __high) const
++ {
++ while (__low < __high
++ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
++ ++__low;
++ return __low;
++ }
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,92 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
++// Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// Information as gleaned from /usr/include/ctype.h
++
++ const ctype_base::mask*
++ ctype<char>::classic_table() throw()
++ { return __C_ctype_b; }
++
++ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
++ size_t __refs)
++ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
++ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
++ {
++ _M_toupper = __C_ctype_toupper;
++ _M_tolower = __C_ctype_tolower;
++ _M_table = __table ? __table : __C_ctype_b;
++ memset(_M_widen, 0, sizeof(_M_widen));
++ memset(_M_narrow, 0, sizeof(_M_narrow));
++ }
++
++ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
++ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
++ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
++ {
++ _M_toupper = __C_ctype_toupper;
++ _M_tolower = __C_ctype_tolower;
++ _M_table = __table ? __table : __C_ctype_b;
++ memset(_M_widen, 0, sizeof(_M_widen));
++ memset(_M_narrow, 0, sizeof(_M_narrow));
++ }
++
++ char
++ ctype<char>::do_toupper(char __c) const
++ { return _M_toupper[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<char>::do_toupper(char* __low, const char* __high) const
++ {
++ while (__low < __high)
++ {
++ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
++ ++__low;
++ }
++ return __high;
++ }
++
++ char
++ ctype<char>::do_tolower(char __c) const
++ { return _M_tolower[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<char>::do_tolower(char* __low, const char* __high) const
++ {
++ while (__low < __high)
++ {
++ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
++ ++__low;
++ }
++ return __high;
++ }
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,44 @@
++// Specific definitions for GNU/Linux -*- C++ -*-
++
++// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++#ifndef _GLIBCXX_OS_DEFINES
++#define _GLIBCXX_OS_DEFINES 1
++
++// System-specific #define, typedefs, corrections, etc, go here. This
++// file will come before all others.
++
++// This keeps isanum, et al from being propagated as macros.
++#define __NO_CTYPE 1
++
++#include <features.h>
++
++// We must not see the optimized string functions GNU libc defines.
++#define __NO_STRING_INLINES
++
++#endif
+diff -urN gcc-3.4.2-dist/libstdc++-v3/configure gcc-3.4.2/libstdc++-v3/configure
+--- gcc-3.4.2-dist/libstdc++-v3/configure 2004-08-13 15:44:04.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/configure 2004-09-10 10:47:40.000000000 -0500
+@@ -3878,6 +3878,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+@@ -5545,6 +5550,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case x${target_os} in
++ xlinux-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -5759,6 +5767,77 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ echo "$as_me:$LINENO: result: uclibc" >&5
++echo "${ECHO_T}uclibc" >&6
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_check_msgfmt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$check_msgfmt"; then
++ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_check_msgfmt="yes"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
++ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
++fi
++fi
++check_msgfmt=$ac_cv_prog_check_msgfmt
++if test -n "$check_msgfmt"; then
++ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
++echo "${ECHO_T}$check_msgfmt" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++
++
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+diff -urN gcc-3.4.2-dist/libstdc++-v3/configure.host gcc-3.4.2/libstdc++-v3/configure.host
+--- gcc-3.4.2-dist/libstdc++-v3/configure.host 2004-08-27 14:52:30.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/configure.host 2004-09-10 10:47:40.000000000 -0500
+@@ -217,6 +217,12 @@
+ ;;
+ esac
+
++# Override for uClibc since linux-uclibc gets mishandled above.
++case "${host_os}" in
++ *-uclibc*)
++ os_include_dir="os/uclibc"
++ ;;
++esac
+
+ # Set any OS-dependent and CPU-dependent bits.
+ # THIS TABLE IS SORTED. KEEP IT THAT WAY.
+diff -urN gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 gcc-3.4.2/libstdc++-v3/crossconfig.m4
+--- gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 2004-07-06 20:23:49.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/crossconfig.m4 2004-09-10 10:47:40.000000000 -0500
+@@ -138,6 +138,99 @@
+ ;;
+ esac
+ ;;
++ *-uclibc*)
++# Temporary hack until we implement the float versions of the libm funcs
++ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
++ machine/endian.h machine/param.h sys/machine.h sys/types.h \
++ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
++ SECTION_FLAGS='-ffunction-sections -fdata-sections'
++ AC_SUBST(SECTION_FLAGS)
++ GLIBCXX_CHECK_LINKER_FEATURES
++ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
++ GLIBCXX_CHECK_WCHAR_T_SUPPORT
++
++ # For LFS.
++ AC_DEFINE(HAVE_INT64_T)
++ case "$target" in
++ *-uclinux*)
++ # Don't enable LFS with uClinux
++ ;;
++ *)
++ AC_DEFINE(_GLIBCXX_USE_LFS)
++ esac
++
++ # For showmanyc_helper().
++ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
++ GLIBCXX_CHECK_POLL
++ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
++
++ # For xsputn_2().
++ AC_CHECK_HEADERS(sys/uio.h)
++ GLIBCXX_CHECK_WRITEV
++
++# AC_DEFINE(HAVE_ACOSF)
++# AC_DEFINE(HAVE_ASINF)
++# AC_DEFINE(HAVE_ATANF)
++# AC_DEFINE(HAVE_ATAN2F)
++ AC_DEFINE(HAVE_CEILF)
++ AC_DEFINE(HAVE_COPYSIGN)
++# AC_DEFINE(HAVE_COPYSIGNF)
++# AC_DEFINE(HAVE_COSF)
++# AC_DEFINE(HAVE_COSHF)
++# AC_DEFINE(HAVE_EXPF)
++# AC_DEFINE(HAVE_FABSF)
++ AC_DEFINE(HAVE_FINITE)
++ AC_DEFINE(HAVE_FINITEF)
++ AC_DEFINE(HAVE_FLOORF)
++# AC_DEFINE(HAVE_FMODF)
++# AC_DEFINE(HAVE_FREXPF)
++ AC_DEFINE(HAVE_HYPOT)
++# AC_DEFINE(HAVE_HYPOTF)
++ AC_DEFINE(HAVE_ISINF)
++ AC_DEFINE(HAVE_ISINFF)
++ AC_DEFINE(HAVE_ISNAN)
++ AC_DEFINE(HAVE_ISNANF)
++# AC_DEFINE(HAVE_LOGF)
++# AC_DEFINE(HAVE_LOG10F)
++# AC_DEFINE(HAVE_MODFF)
++# AC_DEFINE(HAVE_SINF)
++# AC_DEFINE(HAVE_SINHF)
++# AC_DEFINE(HAVE_SINCOS)
++# AC_DEFINE(HAVE_SINCOSF)
++ AC_DEFINE(HAVE_SQRTF)
++# AC_DEFINE(HAVE_TANF)
++# AC_DEFINE(HAVE_TANHF)
++ if test x"long_double_math_on_this_cpu" = x"yes"; then
++ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
++# AC_DEFINE(HAVE_ACOSL)
++# AC_DEFINE(HAVE_ASINL)
++# AC_DEFINE(HAVE_ATANL)
++# AC_DEFINE(HAVE_ATAN2L)
++# AC_DEFINE(HAVE_CEILL)
++# AC_DEFINE(HAVE_COPYSIGNL)
++# AC_DEFINE(HAVE_COSL)
++# AC_DEFINE(HAVE_COSHL)
++# AC_DEFINE(HAVE_EXPL)
++# AC_DEFINE(HAVE_FABSL)
++# AC_DEFINE(HAVE_FINITEL)
++# AC_DEFINE(HAVE_FLOORL)
++# AC_DEFINE(HAVE_FMODL)
++# AC_DEFINE(HAVE_FREXPL)
++# AC_DEFINE(HAVE_HYPOTL)
++# AC_DEFINE(HAVE_ISINFL)
++# AC_DEFINE(HAVE_ISNANL)
++# AC_DEFINE(HAVE_LOGL)
++# AC_DEFINE(HAVE_LOG10L)
++# AC_DEFINE(HAVE_MODFL)
++# AC_DEFINE(HAVE_POWL)
++# AC_DEFINE(HAVE_SINL)
++# AC_DEFINE(HAVE_SINHL)
++# AC_DEFINE(HAVE_SINCOSL)
++# AC_DEFINE(HAVE_SQRTL)
++# AC_DEFINE(HAVE_TANL)
++# AC_DEFINE(HAVE_TANHL)
++ fi
++ ;;
+ *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
+@@ -152,7 +245,7 @@
+ AC_DEFINE(HAVE_INT64_T)
+ case "$target" in
+ *-uclinux*)
+- # Don't enable LFS with uClibc
++ # Don't enable LFS with uClinux
+ ;;
+ *)
+ AC_DEFINE(_GLIBCXX_USE_LFS)
+diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h
+--- gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h 2003-12-08 21:51:45.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h 2004-09-10 10:47:40.000000000 -0500
+@@ -101,7 +101,9 @@
+ using std::wmemcpy;
+ using std::wmemmove;
+ using std::wmemset;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using std::wcsftime;
++#endif
+
+ #if _GLIBCXX_USE_C99
+ using std::wcstold;
+diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h
+--- gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h 2004-07-20 03:52:12.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h 2004-09-10 10:47:40.000000000 -0500
+@@ -179,7 +179,9 @@
+ using ::wcscoll;
+ using ::wcscpy;
+ using ::wcscspn;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using ::wcsftime;
++#endif
+ using ::wcslen;
+ using ::wcsncat;
+ using ::wcsncmp;
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc-uclibc-3.4.0-120-softfloat.patch b/meta/packages/gcc/gcc-3.4.3/gcc-uclibc-3.4.0-120-softfloat.patch
new file mode 100644
index 0000000000..f2431896cf
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc-uclibc-3.4.0-120-softfloat.patch
@@ -0,0 +1,14 @@
+--- gcc-3.3.2-old/configure.in 2003-08-09 01:57:21.000000000 -0500
++++ gcc-3.3.2/configure.in 2004-01-15 12:46:29.000000000 -0600
+@@ -1418,6 +1418,11 @@
+ fi
+
+ FLAGS_FOR_TARGET=
++case " $targargs " in
++ *" --nfp "* | *" --without-float "*)
++ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -msoft-float'
++ ;;
++esac
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $targargs " in
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc34-arm-ldm-peephole.patch b/meta/packages/gcc/gcc-3.4.3/gcc34-arm-ldm-peephole.patch
new file mode 100644
index 0000000000..fb317e1537
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc34-arm-ldm-peephole.patch
@@ -0,0 +1,79 @@
+--- gcc-3.4.0/gcc/config/arm/arm.md.arm-ldm-peephole 2004-01-13 08:24:37.000000000 -0500
++++ gcc-3.4.0/gcc/config/arm/arm.md 2004-04-24 18:18:04.000000000 -0400
+@@ -8810,13 +8810,16 @@
+ (set_attr "length" "4,8,8")]
+ )
+
++; Try to convert LDR+LDR+arith into [add+]LDM+arith
++; On XScale, LDM is always slower than two LDRs, so only do this if
++; optimising for size.
+ (define_insn "*arith_adjacentmem"
+ [(set (match_operand:SI 0 "s_register_operand" "=r")
+ (match_operator:SI 1 "shiftable_operator"
+ [(match_operand:SI 2 "memory_operand" "m")
+ (match_operand:SI 3 "memory_operand" "m")]))
+ (clobber (match_scratch:SI 4 "=r"))]
+- "TARGET_ARM && adjacent_mem_locations (operands[2], operands[3])"
++ "TARGET_ARM && (!arm_tune_xscale || optimize_size) && adjacent_mem_locations (operands[2], operands[3])"
+ "*
+ {
+ rtx ldm[3];
+@@ -8851,6 +8854,8 @@
+ }
+ if (val1 && val2)
+ {
++ /* This would be a loss on a Harvard core, but adjacent_mem_locations()
++ will prevent it from happening. */
+ rtx ops[3];
+ ldm[0] = ops[0] = operands[4];
+ ops[1] = XEXP (XEXP (operands[2], 0), 0);
+--- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm-peephole 2004-04-24 18:16:25.000000000 -0400
++++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:18:04.000000000 -0400
+@@ -4593,8 +4593,11 @@
+ arith_adjacentmem pattern to output an overlong sequence. */
+ if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1))
+ return 0;
+-
+- return (reg0 == reg1) && ((val1 - val0) == 4 || (val0 - val1) == 4);
++
++ /* For Harvard cores, only accept pairs where one offset is zero.
++ See comment in load_multiple_sequence. */
++ return (reg0 == reg1) && ((val1 - val0) == 4 || (val0 - val1) == 4)
++ && (!arm_ld_sched || val0 == 0 || val1 == 0);
+ }
+ return 0;
+ }
+@@ -4838,6 +4841,11 @@
+ *load_offset = unsorted_offsets[order[0]];
+ }
+
++ /* For XScale a two-word LDM is a performance loss, so only do this if
++ size is more important. See comments in arm_gen_load_multiple. */
++ if (nops == 2 && arm_tune_xscale && !optimize_size)
++ return 0;
++
+ if (unsorted_offsets[order[0]] == 0)
+ return 1; /* ldmia */
+
+@@ -5064,6 +5072,11 @@
+ *load_offset = unsorted_offsets[order[0]];
+ }
+
++ /* For XScale a two-word LDM is a performance loss, so only do this if
++ size is more important. See comments in arm_gen_load_multiple. */
++ if (nops == 2 && arm_tune_xscale && !optimize_size)
++ return 0;
++
+ if (unsorted_offsets[order[0]] == 0)
+ return 1; /* stmia */
+
+--- gcc-3.4.0/gcc/genpeep.c.arm-ldm-peephole 2003-07-05 01:27:22.000000000 -0400
++++ gcc-3.4.0/gcc/genpeep.c 2004-04-24 18:18:04.000000000 -0400
+@@ -381,6 +381,7 @@
+ printf ("#include \"recog.h\"\n");
+ printf ("#include \"except.h\"\n\n");
+ printf ("#include \"function.h\"\n\n");
++ printf ("#include \"flags.h\"\n\n");
+
+ printf ("#ifdef HAVE_peephole\n");
+ printf ("extern rtx peep_operand[];\n\n");
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc34-arm-ldm.patch b/meta/packages/gcc/gcc-3.4.3/gcc34-arm-ldm.patch
new file mode 100644
index 0000000000..142052fdf0
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc34-arm-ldm.patch
@@ -0,0 +1,119 @@
+--- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm 2004-02-27 09:51:05.000000000 -0500
++++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:16:25.000000000 -0400
+@@ -8520,6 +8520,26 @@
+ return_used_this_function = 0;
+ }
+
++/* Return the number (counting from 0) of
++ the least significant set bit in MASK. */
++
++#ifdef __GNUC__
++inline
++#endif
++static int
++number_of_first_bit_set (mask)
++ int mask;
++{
++ int bit;
++
++ for (bit = 0;
++ (mask & (1 << bit)) == 0;
++ ++bit)
++ continue;
++
++ return bit;
++}
++
+ const char *
+ arm_output_epilogue (rtx sibling)
+ {
+@@ -8753,27 +8773,47 @@
+ saved_regs_mask |= (1 << PC_REGNUM);
+ }
+
+- /* Load the registers off the stack. If we only have one register
+- to load use the LDR instruction - it is faster. */
+- if (saved_regs_mask == (1 << LR_REGNUM))
+- {
+- /* The exception handler ignores the LR, so we do
+- not really need to load it off the stack. */
+- if (eh_ofs)
+- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
+- else
+- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM);
+- }
+- else if (saved_regs_mask)
++ if (saved_regs_mask)
+ {
+- if (saved_regs_mask & (1 << SP_REGNUM))
+- /* Note - write back to the stack register is not enabled
+- (ie "ldmfd sp!..."). We know that the stack pointer is
+- in the list of registers and if we add writeback the
+- instruction becomes UNPREDICTABLE. */
+- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
++ /* Load the registers off the stack. If we only have one register
++ to load use the LDR instruction - it is faster. */
++ if (bit_count (saved_regs_mask) == 1)
++ {
++ int reg = number_of_first_bit_set (saved_regs_mask);
++
++ switch (reg)
++ {
++ case SP_REGNUM:
++ /* Mustn't use base writeback when loading SP. */
++ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM);
++ break;
++
++ case LR_REGNUM:
++ if (eh_ofs)
++ {
++ /* The exception handler ignores the LR, so we do
++ not really need to load it off the stack. */
++ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
++ break;
++ }
++ /* else fall through */
++
++ default:
++ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM);
++ break;
++ }
++ }
+ else
+- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
++ {
++ if (saved_regs_mask & (1 << SP_REGNUM))
++ /* Note - write back to the stack register is not enabled
++ (ie "ldmfd sp!..."). We know that the stack pointer is
++ in the list of registers and if we add writeback the
++ instruction becomes UNPREDICTABLE. */
++ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
++ else
++ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
++ }
+ }
+
+ if (current_function_pretend_args_size)
+@@ -11401,22 +11441,6 @@
+ }
+ }
+
+-/* Return the number (counting from 0) of
+- the least significant set bit in MASK. */
+-
+-inline static int
+-number_of_first_bit_set (int mask)
+-{
+- int bit;
+-
+- for (bit = 0;
+- (mask & (1 << bit)) == 0;
+- ++bit)
+- continue;
+-
+- return bit;
+-}
+-
+ /* Generate code to return from a thumb function.
+ If 'reg_containing_return_addr' is -1, then the return address is
+ actually on the stack, at the stack pointer. */
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc34-arm-tune.patch b/meta/packages/gcc/gcc-3.4.3/gcc34-arm-tune.patch
new file mode 100644
index 0000000000..cdb20bef9b
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc34-arm-tune.patch
@@ -0,0 +1,9 @@
+--- gcc-3.4.0/gcc/config/arm/linux-elf.h.arm-tune 2004-01-31 01:18:11.000000000 -0500
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-04-24 18:19:10.000000000 -0400
+@@ -126,3 +126,6 @@
+
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
++
++/* Tune for XScale. */
++#define TARGET_TUNE_DEFAULT TARGET_CPU_xscale
diff --git a/meta/packages/gcc/gcc-3.4.3/gcc34-reverse-compare.patch b/meta/packages/gcc/gcc-3.4.3/gcc34-reverse-compare.patch
new file mode 100644
index 0000000000..c3c40dd183
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/gcc34-reverse-compare.patch
@@ -0,0 +1,32 @@
+--- gcc-3.4.0/gcc/flow.c.reverse-compare 2004-02-27 22:39:19.000000000 -0500
++++ gcc-3.4.0/gcc/flow.c 2004-04-24 16:36:00.000000000 -0400
+@@ -1843,6 +1843,7 @@
+ regset_head diff_head;
+ regset diff = INITIALIZE_REG_SET (diff_head);
+ basic_block bb_true, bb_false;
++ enum rtx_code reversed_code;
+ int i;
+
+ /* Identify the successor blocks. */
+@@ -1889,8 +1890,11 @@
+ if (GET_CODE (reg) == REG
+ && XEXP (cond_true, 1) == const0_rtx)
+ {
+- rtx cond_false
+- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
++ rtx cond_false;
++ reversed_code = reverse_condition (GET_CODE (cond_true));
++ if (reversed_code == UNKNOWN)
++ goto skip;
++ cond_false = gen_rtx_fmt_ee (reversed_code,
+ GET_MODE (cond_true), XEXP (cond_true, 0),
+ XEXP (cond_true, 1));
+ if (GET_CODE (XEXP (set_src, 1)) == PC)
+@@ -1925,6 +1929,7 @@
+ }
+ }
+
++ skip:
+ FREE_REG_SET (diff);
+ }
+ #endif
diff --git a/meta/packages/gcc/gcc-3.4.3/sdk-libstdc++-includes.patch b/meta/packages/gcc/gcc-3.4.3/sdk-libstdc++-includes.patch
new file mode 100644
index 0000000000..4377c2143b
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.3/sdk-libstdc++-includes.patch
@@ -0,0 +1,22 @@
+--- gcc-3.4.1/libstdc++-v3/libmath/Makefile.am~ 2003-08-27 22:29:42.000000000 +0100
++++ gcc-3.4.1/libstdc++-v3/libmath/Makefile.am 2004-07-22 16:41:45.152130128 +0100
+@@ -32,7 +32,7 @@
+
+ libmath_la_SOURCES = stubs.c
+
+-AM_CPPFLAGS = $(CANADIAN_INCLUDES)
++AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
+
+ # Only compiling "C" sources in this directory.
+ LIBTOOL = @LIBTOOL@ --tag CC
+--- gcc-3.4.1/libstdc++-v3/fragment.am.old 2004-07-22 18:24:58.024083656 +0100
++++ gcc-3.4.1/libstdc++-v3/fragment.am 2004-07-22 18:24:59.019932264 +0100
+@@ -18,7 +18,7 @@
+ $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
+
+ # -I/-D flags to pass when compiling.
+-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
+
+
+
diff --git a/meta/packages/gcc/gcc-3.4.4/15342.patch b/meta/packages/gcc/gcc-3.4.4/15342.patch
new file mode 100644
index 0000000000..d0f3e72d47
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/15342.patch
@@ -0,0 +1,22 @@
+--- gcc/gcc/regrename.c~ 2004-01-14 17:55:20.000000000 +0000
++++ gcc/gcc/regrename.c 2005-02-28 07:24:25.893015200 +0000
+@@ -671,7 +671,8 @@
+
+ case SET:
+ scan_rtx (insn, &SET_SRC (x), class, action, OP_IN, 0);
+- scan_rtx (insn, &SET_DEST (x), class, action, OP_OUT, 0);
++ scan_rtx (insn, &SET_DEST (x), class, action,
++ GET_CODE (PATTERN (insn)) == COND_EXEC ? OP_INOUT : OP_OUT, 0);
+ return;
+
+ case STRICT_LOW_PART:
+@@ -696,7 +697,8 @@
+ abort ();
+
+ case CLOBBER:
+- scan_rtx (insn, &SET_DEST (x), class, action, OP_OUT, 1);
++ scan_rtx (insn, &SET_DEST (x), class, action,
++ GET_CODE (PATTERN (insn)) == COND_EXEC ? OP_INOUT : OP_OUT, 0);
+ return;
+
+ case EXPR_LIST:
diff --git a/meta/packages/gcc/gcc-3.4.4/GCC3.4.0VisibilityPatch.diff b/meta/packages/gcc/gcc-3.4.4/GCC3.4.0VisibilityPatch.diff
new file mode 100644
index 0000000000..d51da7157d
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/GCC3.4.0VisibilityPatch.diff
@@ -0,0 +1,1100 @@
+
+diff -aur gcc-3.4.0orig/gcc/c-common.c gcc-3.4.0/gcc/c-common.c
+--- gcc-3.4.0orig/gcc/c-common.c 2004-03-19 01:32:59.000000000 +0000
++++ gcc-3.4.0/gcc/c-common.c 2004-05-10 21:05:33.000000000 +0100
+@@ -833,7 +833,7 @@
+ handle_deprecated_attribute },
+ { "vector_size", 1, 1, false, true, false,
+ handle_vector_size_attribute },
+- { "visibility", 1, 1, true, false, false,
++ { "visibility", 1, 1, false, false, false,
+ handle_visibility_attribute },
+ { "tls_model", 1, 1, true, false, false,
+ handle_tls_model_attribute },
+@@ -4886,7 +4886,16 @@
+
+ *no_add_attrs = true;
+
+- if (decl_function_context (decl) != 0 || ! TREE_PUBLIC (decl))
++ if (TYPE_P (*node))
++ {
++ if (TREE_CODE (*node) != RECORD_TYPE && TREE_CODE (*node) != UNION_TYPE)
++ {
++ warning ("`%s' attribute ignored on non-class types",
++ IDENTIFIER_POINTER (name));
++ return NULL_TREE;
++ }
++ }
++ else if (decl_function_context (decl) != 0 || ! TREE_PUBLIC (decl))
+ {
+ warning ("`%s' attribute ignored", IDENTIFIER_POINTER (name));
+ return NULL_TREE;
+@@ -4897,6 +4906,14 @@
+ error ("visibility arg not a string");
+ return NULL_TREE;
+ }
++
++ /* If this is a type, set the visibility on the type decl. */
++ if (TYPE_P (decl))
++ {
++ decl = TYPE_NAME (decl);
++ if (! decl)
++ return NULL_TREE;
++ }
+
+ if (strcmp (TREE_STRING_POINTER (id), "default") == 0)
+ DECL_VISIBILITY (decl) = VISIBILITY_DEFAULT;
+@@ -4908,6 +4925,14 @@
+ DECL_VISIBILITY (decl) = VISIBILITY_PROTECTED;
+ else
+ error ("visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\"");
++ DECL_VISIBILITYSPECIFIED (decl) = 1;
++
++ /* For decls only, go ahead and attach the attribute to the node as well.
++ This is needed so we can determine whether we have VISIBILITY_DEFAULT
++ because the visibility was not specified, or because it was explicitly
++ overridden from the class visibility. */
++ if (DECL_P (*node))
++ *no_add_attrs = false;
+
+ return NULL_TREE;
+ }
+
+diff -aur gcc-3.4.0orig/gcc/c-decl.c gcc-3.4.0/gcc/c-decl.c
+--- gcc-3.4.0orig/gcc/c-decl.c 2004-03-22 17:58:18.000000000 +0000
++++ gcc-3.4.0/gcc/c-decl.c 2004-05-10 15:16:27.000000000 +0100
+@@ -1164,9 +1164,8 @@
+ }
+
+ /* warnings */
+- /* All decls must agree on a non-default visibility. */
+- if (DECL_VISIBILITY (newdecl) != VISIBILITY_DEFAULT
+- && DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT
++ /* All decls must agree on a visibility. */
++ if (DECL_VISIBILITYSPECIFIED (newdecl) && DECL_VISIBILITYSPECIFIED (olddecl)
+ && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
+ {
+ warning ("%Jredeclaration of '%D' with different visibility "
+@@ -1361,9 +1360,12 @@
+ Currently, it can only be defined in the prototype. */
+ COPY_DECL_ASSEMBLER_NAME (olddecl, newdecl);
+
+- /* If either declaration has a nondefault visibility, use it. */
+- if (DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT)
+- DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
++ /* Use visibility of whichever declaration had it specified */
++ if (DECL_VISIBILITYSPECIFIED (olddecl))
++ {
++ DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
++ DECL_VISIBILITYSPECIFIED (newdecl) = 1;
++ }
+
+ if (TREE_CODE (newdecl) == FUNCTION_DECL)
+ {
+
+diff -aur gcc-3.4.0orig/gcc/common.opt gcc-3.4.0/gcc/common.opt
+--- gcc-3.4.0orig/gcc/common.opt 2004-02-18 00:09:04.000000000 +0000
++++ gcc-3.4.0/gcc/common.opt 2004-05-09 08:10:50.000000000 +0100
+@@ -718,6 +718,11 @@
+ Common
+ Add extra commentary to assembler output
+
++fvisibility=
++Common Joined RejectNegative
++-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
++
++
+ fvpt
+ Common
+ Use expression value profiles in optimizations
+
+diff -aur gcc-3.4.0orig/gcc/c.opt gcc-3.4.0/gcc/c.opt
+--- gcc-3.4.0orig/gcc/c.opt 2004-02-18 00:09:03.000000000 +0000
++++ gcc-3.4.0/gcc/c.opt 2004-05-09 08:10:50.000000000 +0100
+@@ -656,6 +656,10 @@
+ C++ ObjC++
+ Use __cxa_atexit to register destructors
+
++fvisibility-inlines-hidden
++C++
++Marks all inlined methods as having hidden visibility
++
+ fvtable-gc
+ C++ ObjC++
+ Discard unused virtual functions
+diff -aur gcc-3.4.0orig/gcc/c-opts.c gcc-3.4.0/gcc/c-opts.c
+--- gcc-3.4.0orig/gcc/c-opts.c 2004-02-18 00:09:03.000000000 +0000
++++ gcc-3.4.0/gcc/c-opts.c 2004-05-09 08:10:50.000000000 +0100
+@@ -912,6 +912,10 @@
+ case OPT_fuse_cxa_atexit:
+ flag_use_cxa_atexit = value;
+ break;
++
++ case OPT_fvisibility_inlines_hidden:
++ visibility_options.inlineshidden = value;
++ break;
+
+ case OPT_fweak:
+ flag_weak = value;
+
+diff -aur gcc-3.4.0orig/gcc/cp/class.c gcc-3.4.0/gcc/cp/class.c
+--- gcc-3.4.0orig/gcc/cp/class.c 2004-03-09 07:27:23.000000000 +0000
++++ gcc-3.4.0/gcc/cp/class.c 2004-05-10 21:06:50.000000000 +0100
+@@ -524,6 +524,10 @@
+ DECL_ALIGN (decl) = MAX (TYPE_ALIGN (double_type_node),
+ DECL_ALIGN (decl));
+
++ /* The vtable's visibility is the class visibility. There is no way
++ to override the visibility for just the vtable. */
++ DECL_VISIBILITY (decl) = CLASSTYPE_VISIBILITY (class_type);
++ DECL_VISIBILITYSPECIFIED (decl) = CLASSTYPE_VISIBILITYSPECIFIED (class_type);
+ import_export_vtable (decl, class_type, 0);
+
+ return decl;
+@@ -2971,7 +2975,25 @@
+ continue;
+
+ if (TREE_CODE (x) == CONST_DECL || TREE_CODE (x) == VAR_DECL)
+- continue;
++ {
++ /* Apply the class's visibility attribute to static members
++ which do not have a visibility attribute. */
++ if (! lookup_attribute ("visibility", DECL_ATTRIBUTES (x)))
++ {
++ if (visibility_options.inlineshidden && DECL_INLINE (x))
++ {
++ DECL_VISIBILITY (x) = VISIBILITY_HIDDEN;
++ DECL_VISIBILITYSPECIFIED (x) = 1;
++ }
++ else
++ {
++ DECL_VISIBILITY (x) = CLASSTYPE_VISIBILITY (current_class_type);
++ DECL_VISIBILITYSPECIFIED (x) = CLASSTYPE_VISIBILITYSPECIFIED (current_class_type);
++ }
++ }
++
++ continue;
++ }
+
+ /* Now it can only be a FIELD_DECL. */
+
+@@ -3708,6 +3730,22 @@
+ check_for_override (x, t);
+ if (DECL_PURE_VIRTUAL_P (x) && ! DECL_VINDEX (x))
+ cp_error_at ("initializer specified for non-virtual method `%D'", x);
++
++ /* Apply the class's visibility attribute to methods which do
++ not have a visibility attribute. */
++ if (! lookup_attribute ("visibility", DECL_ATTRIBUTES (x)))
++ {
++ if (visibility_options.inlineshidden && DECL_INLINE (x))
++ {
++ DECL_VISIBILITY (x) = VISIBILITY_HIDDEN;
++ DECL_VISIBILITYSPECIFIED (x) = 1;
++ }
++ else
++ {
++ DECL_VISIBILITY (x) = CLASSTYPE_VISIBILITY (current_class_type);
++ DECL_VISIBILITYSPECIFIED (x) = CLASSTYPE_VISIBILITYSPECIFIED (current_class_type);
++ }
++ }
+
+ /* The name of the field is the original field name
+ Save this in auxiliary field for later overloading. */
+@@ -7830,3 +7868,4 @@
+ *vid->last_init = build_tree_list (NULL_TREE, init);
+ vid->last_init = &TREE_CHAIN (*vid->last_init);
+ }
++
+
+diff -aur gcc-3.4.0orig/gcc/cp/cp-tree.h gcc-3.4.0/gcc/cp/cp-tree.h
+--- gcc-3.4.0orig/gcc/cp/cp-tree.h 2004-03-20 00:13:08.000000000 +0000
++++ gcc-3.4.0/gcc/cp/cp-tree.h 2004-05-10 20:56:56.000000000 +0100
+@@ -1008,7 +1008,12 @@
+ #define PUBLICLY_UNIQUELY_DERIVED_P(PARENT, TYPE) \
+ (lookup_base ((TYPE), (PARENT), ba_not_special | ba_quiet, NULL) \
+ != NULL_TREE)
+-
++
++/* Gives the visibility specification for a class type. */
++#define CLASSTYPE_VISIBILITY(TYPE) DECL_VISIBILITY (TYPE_NAME (TYPE))
++#define CLASSTYPE_VISIBILITYSPECIFIED(TYPE) DECL_VISIBILITYSPECIFIED (TYPE_NAME (TYPE))
++
++
+ /* This is a few header flags for 'struct lang_type'. Actually,
+ all but the first are used only for lang_type_class; they
+ are put in this structure to save space. */
+
+diff -aur gcc-3.4.0orig/gcc/cp/decl.c gcc-3.4.0/gcc/cp/decl.c
+--- gcc-3.4.0orig/gcc/cp/decl.c 2004-04-01 21:47:21.000000000 +0100
++++ gcc-3.4.0/gcc/cp/decl.c 2004-05-28 21:16:11.000000000 +0100
+@@ -1869,17 +1869,34 @@
+ DECL_COMMON (newdecl) = DECL_COMMON (olddecl);
+ COPY_DECL_ASSEMBLER_NAME (olddecl, newdecl);
+
+- /* If either declaration has a nondefault visibility, use it. */
+- if (DECL_VISIBILITY (olddecl) != VISIBILITY_DEFAULT)
++ /* Warn about conflicting visibility specifications. */
++ if (DECL_VISIBILITYSPECIFIED (olddecl) && DECL_VISIBILITYSPECIFIED (newdecl)
++ && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
++ {
++ warning ("%J'%D': visibility attribute ignored because it",
++ newdecl, newdecl);
++ warning ("%Jconflicts with previous declaration here", olddecl);
++ }
++ /* Choose the declaration which specified visibility. */
++ if (DECL_VISIBILITYSPECIFIED (olddecl))
+ {
+- if (DECL_VISIBILITY (newdecl) != VISIBILITY_DEFAULT
+- && DECL_VISIBILITY (newdecl) != DECL_VISIBILITY (olddecl))
+- {
+- warning ("%J'%D': visibility attribute ignored because it",
+- newdecl, newdecl);
+- warning ("%Jconflicts with previous declaration here", olddecl);
+- }
+ DECL_VISIBILITY (newdecl) = DECL_VISIBILITY (olddecl);
++ DECL_VISIBILITYSPECIFIED (newdecl) = 1;
++ }
++ /* If it's a definition of a global operator new or operator
++ delete, it must be default visibility. */
++ if (NEW_DELETE_OPNAME_P (DECL_NAME (newdecl)) && DECL_INITIAL (newdecl) != NULL_TREE)
++ {
++ if (!DECL_FUNCTION_MEMBER_P (newdecl) && VISIBILITY_DEFAULT != DECL_VISIBILITY (newdecl))
++ {
++ warning ("%J`%D': ignoring non-default symbol",
++ newdecl, newdecl);
++ warning ("%Jvisibility on global operator new or delete", newdecl);
++ DECL_VISIBILITY (olddecl) = VISIBILITY_DEFAULT;
++ DECL_VISIBILITYSPECIFIED (olddecl) = 1;
++ DECL_VISIBILITY (newdecl) = VISIBILITY_DEFAULT;
++ DECL_VISIBILITYSPECIFIED (newdecl) = 1;
++ }
+ }
+
+ if (TREE_CODE (newdecl) == FUNCTION_DECL)
+
+diff -aur gcc-3.4.0orig/gcc/cp/method.c gcc-3.4.0/gcc/cp/method.c
+--- gcc-3.4.0orig/gcc/cp/method.c 2004-04-08 23:15:58.000000000 +0100
++++ gcc-3.4.0/gcc/cp/method.c 2004-05-09 08:10:52.000000000 +0100
+@@ -394,6 +394,7 @@
+ rewrite. */
+ TREE_PUBLIC (thunk_fndecl) = TREE_PUBLIC (function);
+ DECL_VISIBILITY (thunk_fndecl) = DECL_VISIBILITY (function);
++ DECL_VISIBILITYSPECIFIED (thunk_fndecl) = DECL_VISIBILITYSPECIFIED (function);
+
+ if (flag_syntax_only)
+ {
+
+diff -aur gcc-3.4.0orig/gcc/cp/optimize.c gcc-3.4.0/gcc/cp/optimize.c
+--- gcc-3.4.0orig/gcc/cp/optimize.c 2004-02-08 01:52:50.000000000 +0000
++++ gcc-3.4.0/gcc/cp/optimize.c 2004-05-09 08:10:52.000000000 +0100
+@@ -155,6 +155,7 @@
+ DECL_NOT_REALLY_EXTERN (clone) = DECL_NOT_REALLY_EXTERN (fn);
+ TREE_PUBLIC (clone) = TREE_PUBLIC (fn);
+ DECL_VISIBILITY (clone) = DECL_VISIBILITY (fn);
++ DECL_VISIBILITYSPECIFIED (clone) = DECL_VISIBILITYSPECIFIED (fn);
+
+ /* Adjust the parameter names and locations. */
+ parm = DECL_ARGUMENTS (fn);
+
+diff -aur gcc-3.4.0orig/gcc/cp/rtti.c gcc-3.4.0/gcc/cp/rtti.c
+--- gcc-3.4.0orig/gcc/cp/rtti.c 2004-03-08 23:00:26.000000000 +0000
++++ gcc-3.4.0/gcc/cp/rtti.c 2004-05-10 21:09:21.000000000 +0100
+@@ -361,7 +361,11 @@
+ pushdecl_top_level_and_finish (d, NULL_TREE);
+
+ if (CLASS_TYPE_P (type))
+- CLASSTYPE_TYPEINFO_VAR (TYPE_MAIN_VARIANT (type)) = d;
++ {
++ CLASSTYPE_TYPEINFO_VAR (TYPE_MAIN_VARIANT (type)) = d;
++ DECL_VISIBILITY (d) = CLASSTYPE_VISIBILITY (type);
++ DECL_VISIBILITYSPECIFIED (d) = CLASSTYPE_VISIBILITYSPECIFIED (type);
++ }
+
+ /* Remember the type it is for. */
+ TREE_TYPE (name) = type;
+@@ -759,6 +763,11 @@
+ TREE_STATIC (name_decl) = 1;
+ DECL_EXTERNAL (name_decl) = 0;
+ TREE_PUBLIC (name_decl) = 1;
++ if (CLASS_TYPE_P (target))
++ {
++ DECL_VISIBILITY (name_decl) = CLASSTYPE_VISIBILITY (target);
++ DECL_VISIBILITYSPECIFIED (name_decl) = CLASSTYPE_VISIBILITYSPECIFIED (target);
++ }
+ import_export_tinfo (name_decl, target, typeinfo_in_lib_p (target));
+ /* External name of the string containing the type's name has a
+ special name. */
+
+diff -aur gcc-3.4.0orig/gcc/c-pragma.c gcc-3.4.0/gcc/c-pragma.c
+--- gcc-3.4.0orig/gcc/c-pragma.c 2004-01-23 23:35:53.000000000 +0000
++++ gcc-3.4.0/gcc/c-pragma.c 2004-05-09 08:10:52.000000000 +0100
+@@ -480,6 +480,86 @@
+ return asmname;
+ }
+
++
++#ifdef HANDLE_PRAGMA_VISIBILITY
++static void handle_pragma_visibility (cpp_reader *);
++
++/* Sets the default visibility for symbols to something other than that
++ specified on the command line. */
++static void
++handle_pragma_visibility (cpp_reader *dummy ATTRIBUTE_UNUSED)
++{ /* Form is #pragma GCC visibility push(hidden)|pop */
++ static int visstack [16], visidx;
++ tree x;
++ enum cpp_ttype token;
++ enum { bad, push, pop } action = bad;
++
++ token = c_lex (&x);
++ if (token == CPP_NAME)
++ {
++ const char *op = IDENTIFIER_POINTER (x);
++ if (!strcmp (op, "push"))
++ action = push;
++ else if (!strcmp (op, "pop"))
++ action = pop;
++ }
++ if (bad == action)
++ GCC_BAD ("#pragma GCC visibility must be followed by push or pop");
++ else
++ {
++ if (pop == action)
++ {
++ if (!visidx)
++ {
++ GCC_BAD ("No matching push for '#pragma GCC visibility pop'");
++ }
++ else
++ {
++ default_visibility = visstack[--visidx];
++ visibility_options.inpragma = (visidx>0);
++ }
++ }
++ else
++ {
++ if (c_lex (&x) != CPP_OPEN_PAREN)
++ GCC_BAD ("missing '(' after '#pragma GCC visibility push' - ignored");
++ token = c_lex (&x);
++ if (token != CPP_NAME)
++ {
++ GCC_BAD ("malformed #pragma GCC visibility push");
++ }
++ else if (visidx >= 16)
++ {
++ GCC_BAD ("No more than sixteen #pragma GCC visibility pushes allowed at once");
++ }
++ else
++ {
++ const char *str = IDENTIFIER_POINTER (x);
++ visstack[visidx++] = default_visibility;
++ if (!strcmp (str, "default"))
++ default_visibility = VISIBILITY_DEFAULT;
++ else if (!strcmp (str, "internal"))
++ default_visibility = VISIBILITY_INTERNAL;
++ else if (!strcmp (str, "hidden"))
++ default_visibility = VISIBILITY_HIDDEN;
++ else if (!strcmp (str, "protected"))
++ default_visibility = VISIBILITY_PROTECTED;
++ else
++ {
++ GCC_BAD ("#pragma GCC visibility push() must specify default, internal, hidden or protected");
++ }
++ visibility_options.inpragma = 1;
++ }
++ if (c_lex (&x) != CPP_CLOSE_PAREN)
++ GCC_BAD ("missing '(' after '#pragma GCC visibility push' - ignored");
++ }
++ }
++ if (c_lex (&x) != CPP_EOF)
++ warning ("junk at end of '#pragma GCC visibility'");
++}
++
++#endif
++
+ /* Front-end wrapper for pragma registration to avoid dragging
+ cpplib.h in almost everywhere. */
+ void
+@@ -505,6 +585,9 @@
+ #ifdef HANDLE_PRAGMA_EXTERN_PREFIX
+ c_register_pragma (0, "extern_prefix", handle_pragma_extern_prefix);
+ #endif
++#ifdef HANDLE_PRAGMA_VISIBILITY
++ c_register_pragma ("GCC", "visibility", handle_pragma_visibility);
++#endif
+
+ #ifdef REGISTER_TARGET_PRAGMAS
+ REGISTER_TARGET_PRAGMAS ();
+diff -aur gcc-3.4.0orig/gcc/c-pragma.h gcc-3.4.0/gcc/c-pragma.h
+--- gcc-3.4.0orig/gcc/c-pragma.h 2004-01-31 06:18:05.000000000 +0000
++++ gcc-3.4.0/gcc/c-pragma.h 2004-05-09 08:10:53.000000000 +0100
+@@ -44,6 +44,11 @@
+ #define HANDLE_PRAGMA_PACK 1
+ #endif /* HANDLE_PRAGMA_PACK_PUSH_POP */
+
++/* It's safe to always leave visibility pragma enabled as if
++ visibility is not supported on the host OS platform the
++ statements are ignored. */
++#define HANDLE_PRAGMA_VISIBILITY 1
++
+ extern void init_pragma (void);
+
+ /* Front-end wrapper for pragma registration to avoid dragging
+
+
+diff -aur gcc-3.4.0orig/gcc/doc/invoke.texi gcc-3.4.0/gcc/doc/invoke.texi
+--- gcc-3.4.0orig/gcc/doc/invoke.texi 2004-04-19 00:05:36.000000000 +0100
++++ gcc-3.4.0/gcc/doc/invoke.texi 2004-05-28 21:29:36.000000000 +0100
+@@ -183,7 +183,8 @@
+ -fno-optional-diags -fpermissive @gol
+ -frepo -fno-rtti -fstats -ftemplate-depth-@var{n} @gol
+ -fuse-cxa-atexit -fno-weak -nostdinc++ @gol
+--fno-default-inline -Wabi -Wctor-dtor-privacy @gol
++-fno-default-inline -fvisibility-inlines-hidden @gol
++-Wabi -Wctor-dtor-privacy @gol
+ -Wnon-virtual-dtor -Wreorder @gol
+ -Weffc++ -Wno-deprecated @gol
+ -Wno-non-template-friend -Wold-style-cast @gol
+@@ -674,7 +675,8 @@
+ -fargument-alias -fargument-noalias @gol
+ -fargument-noalias-global -fleading-underscore @gol
+ -ftls-model=@var{model} @gol
+--ftrapv -fwrapv -fbounds-check}
++-ftrapv -fwrapv -fbounds-check @gol
++-fvisibility}
+ @end table
+
+ @menu
+@@ -1433,6 +1435,20 @@
+ destructors, but will only work if your C library supports
+ @code{__cxa_atexit}.
+
++@item -fvisibility-inlines-hidden
++@opindex fvisibility-inlines-hidden
++Causes all inlined methods to be marked with
++@code{__attribute__ ((visibility ("hidden")))} so that they do not
++appear in the export table of a DSO and do not require a PLT indirection
++when used within the DSO. Enabling this option can have a dramatic effect
++on load and link times of a DSO as it massively reduces the size of the
++dynamic export table when the library makes heavy use of templates. While
++it can cause bloating through duplication of code within each DSO where
++it is used, often the wastage is less than the considerable space occupied
++by a long symbol name in the export table which is typical when using
++templates and namespaces. For even more savings, combine with the
++@code{-fvisibility=hidden} switch.
++
+ @item -fno-weak
+ @opindex fno-weak
+ Do not use weak symbol support, even if it is provided by the linker.
+@@ -11198,6 +11214,54 @@
+
+ The default without @option{-fpic} is @code{initial-exec}; with
+ @option{-fpic} the default is @code{global-dynamic}.
++
++@item -fvisibility=@var{default|internal|hidden|protected}
++@opindex fvisibility
++Set the default ELF image symbol visibility to the specified option - all
++symbols will be marked with this unless overrided within the code.
++Using this feature can very substantially improve linking and
++load times of shared object libraries, produce more optimised
++code, provide near-perfect API export and prevent symbol clashes.
++It is @strong{strongly} recommended that you use this in any shared objects
++you distribute.
++
++Despite the nomenclature, @code{default} always means public ie;
++available to be linked against from outside the shared object.
++@code{protected} and @code{internal} are pretty useless in real-world
++usage so the only other commonly used option will be @code{hidden}.
++The default if -fvisibility isn't specified is @code{default} ie; make every
++symbol public - this causes the same behaviour as previous versions of
++GCC.
++
++A good explanation of the benefits offered by ensuring ELF
++symbols have the correct visibility is given by ``How To Write
++Shared Libraries'' by Ulrich Drepper (which can be found at
++@w{@uref{http://people.redhat.com/~drepper/}}) - however a superior
++solution made possible by this option to marking things hidden when
++the default is public is to make the default hidden and mark things
++public. This is the norm with DLL's on Windows and with @option{-fvisibility=hidden}
++and @code{__attribute__ ((visibility("default")))} instead of
++@code{__declspec(dllexport)} you get almost identical semantics with
++identical syntax. This is a great boon to those working with
++cross-platform projects.
++
++For those adding visibility support to existing code, you may find
++@samp{#pragma GCC visibility} of use. This works by you enclosing
++the declarations you wish to set visibility for with (for example)
++@samp{#pragma GCC visibility push(hidden)} and
++@samp{#pragma GCC visibility pop}. These can be nested up to sixteen
++times. Bear in mind that symbol visibility should be viewed @strong{as
++part of the API interface contract} and thus all new code should
++always specify visibility when it is not the default ie; declarations
++only for use within the local DSO should @strong{always} be marked explicitly
++as hidden as so to avoid PLT indirection overheads - making this
++abundantly clear also aids readability and self-documentation of the code.
++Note that due to ISO C++ specification requirements, operator new and
++operator delete must always be of default visibility.
++
++An overview of these techniques, their benefits and how to use them
++is at @w{@uref{http://www.nedprod.com/programs/gccvisibility.html}}.
++
+ @end table
+
+ @c man end
+
+diff -aur gcc-3.4.0orig/gcc/flags.h gcc-3.4.0/gcc/flags.h
+--- gcc-3.4.0orig/gcc/flags.h 2004-02-18 00:09:04.000000000 +0000
++++ gcc-3.4.0/gcc/flags.h 2004-05-09 08:10:53.000000000 +0100
+@@ -60,6 +60,30 @@
+ /* Nonzero means emit debugging information only for symbols which are used. */
+ extern int flag_debug_only_used_symbols;
+
++/* Enumerate visibility settings. */
++#ifndef SYMBOL_VISIBILITY_DEFINED
++#define SYMBOL_VISIBILITY_DEFINED
++enum symbol_visibility
++{
++ VISIBILITY_DEFAULT,
++ VISIBILITY_INTERNAL,
++ VISIBILITY_HIDDEN,
++ VISIBILITY_PROTECTED
++};
++#endif
++
++/* The default visibility for all symbols (unless overridden). */
++extern enum symbol_visibility default_visibility;
++
++struct visibility_flags
++{
++ unsigned inpragma : 1; /* True when in #pragma GCC visibility. */
++ unsigned inlineshidden : 1; /* True when -finlineshidden in effect. */
++};
++
++/* Global visibility options. */
++extern struct visibility_flags visibility_options;
++
+ /* Nonzero means do optimizations. -opt. */
+
+ extern int optimize;
+
+diff -aur gcc-3.4.0orig/gcc/opts.c gcc-3.4.0/gcc/opts.c
+--- gcc-3.4.0orig/gcc/opts.c 2004-02-18 00:09:04.000000000 +0000
++++ gcc-3.4.0/gcc/opts.c 2004-05-09 08:10:53.000000000 +0100
+@@ -142,6 +142,12 @@
+ write_symbols is set to DBX_DEBUG, XCOFF_DEBUG, or DWARF_DEBUG. */
+ bool use_gnu_debug_info_extensions;
+
++/* The default visibility for all symbols (unless overridden) */
++enum symbol_visibility default_visibility = VISIBILITY_DEFAULT;
++
++/* Global visibility options. */
++struct visibility_flags visibility_options;
++
+ /* Columns of --help display. */
+ static unsigned int columns = 80;
+
+@@ -1440,6 +1446,21 @@
+ flag_verbose_asm = value;
+ break;
+
++ case OPT_fvisibility_:
++ {
++ if(!strcmp(arg, "default"))
++ default_visibility=VISIBILITY_DEFAULT;
++ else if(!strcmp(arg, "internal"))
++ default_visibility=VISIBILITY_INTERNAL;
++ else if(!strcmp(arg, "hidden"))
++ default_visibility=VISIBILITY_HIDDEN;
++ else if(!strcmp(arg, "protected"))
++ default_visibility=VISIBILITY_PROTECTED;
++ else
++ error("unrecognised visibility value \"%s\"", arg);
++ }
++ break;
++
+ case OPT_fweb:
+ flag_web = value;
+ break;
+
+diff -aur gcc-3.4.0orig/gcc/tree.c gcc-3.4.0/gcc/tree.c
+--- gcc-3.4.0orig/gcc/tree.c 2004-02-05 22:01:35.000000000 +0000
++++ gcc-3.4.0/gcc/tree.c 2004-05-10 15:22:52.000000000 +0100
+@@ -2563,6 +2563,11 @@
+ layout_decl (t, 0);
+ else if (code == FUNCTION_DECL)
+ DECL_MODE (t) = FUNCTION_MODE;
++
++ /* Set default visibility to whatever the user supplied with
++ visibility_specified depending on #pragma GCC visibility. */
++ DECL_VISIBILITY (t) = default_visibility;
++ DECL_VISIBILITYSPECIFIED (t) = visibility_options.inpragma;
+
+ return t;
+ }
+
+diff -aur gcc-3.4.0orig/gcc/tree.h gcc-3.4.0/gcc/tree.h
+--- gcc-3.4.0orig/gcc/tree.h 2004-02-08 01:52:43.000000000 +0000
++++ gcc-3.4.0/gcc/tree.h 2004-05-09 08:10:54.000000000 +0100
+@@ -1499,6 +1499,10 @@
+ /* Value of the decls's visibility attribute */
+ #define DECL_VISIBILITY(NODE) (DECL_CHECK (NODE)->decl.visibility)
+
++/* Nonzero means that the decl had its visibility specified rather than
++ being inferred. */
++#define DECL_VISIBILITYSPECIFIED(NODE) (DECL_CHECK (NODE)->decl.visibility_specified)
++
+ /* In a FUNCTION_DECL, nonzero if the function cannot be inlined. */
+ #define DECL_UNINLINABLE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.uninlinable)
+
+@@ -1633,7 +1637,8 @@
+ || TREE_CODE (DECL_CONTEXT (EXP)) == TRANSLATION_UNIT_DECL)
+
+ /* Enumerate visibility settings. */
+-
++#ifndef SYMBOL_VISIBILITY_DEFINED
++#define SYMBOL_VISIBILITY_DEFINED
+ enum symbol_visibility
+ {
+ VISIBILITY_DEFAULT,
+@@ -1641,6 +1646,7 @@
+ VISIBILITY_HIDDEN,
+ VISIBILITY_PROTECTED
+ };
++#endif
+
+ struct function;
+
+@@ -1684,8 +1690,7 @@
+ unsigned thread_local_flag : 1;
+ unsigned declared_inline_flag : 1;
+ ENUM_BITFIELD(symbol_visibility) visibility : 2;
+- unsigned unused : 1;
+- /* one unused bit. */
++ unsigned visibility_specified : 1;
+
+ unsigned lang_flag_0 : 1;
+ unsigned lang_flag_1 : 1;
+
+diff -aur gcc-3.4.0orig/gcc/varasm.c gcc-3.4.0/gcc/varasm.c
+--- gcc-3.4.0orig/gcc/varasm.c 2004-04-14 22:14:08.000000000 +0100
++++ gcc-3.4.0/gcc/varasm.c 2004-05-09 08:10:54.000000000 +0100
+@@ -5150,8 +5150,8 @@
+ /* Static variables are always local. */
+ else if (! TREE_PUBLIC (exp))
+ local_p = true;
+- /* A variable is local if the user tells us so. */
+- else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
++ /* A variable is local if the user explicitly tells us so. */
++ else if (DECL_VISIBILITYSPECIFIED (exp) && DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
+ local_p = true;
+ /* Otherwise, variables defined outside this object may not be local. */
+ else if (DECL_EXTERNAL (exp))
+@@ -5159,6 +5159,9 @@
+ /* Linkonce and weak data are never local. */
+ else if (DECL_ONE_ONLY (exp) || DECL_WEAK (exp))
+ local_p = false;
++ /* If none of the above and visibility is not default, make local. */
++ else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT)
++ local_p = true;
+ /* If PIC, then assume that any global name can be overridden by
+ symbols resolved from other modules. */
+ else if (shlib)
+
+diff -Naur gcc-3.4.0orig/gcc/testsuite/gcc.dg/visibility-9.c gcc-3.4.0/gcc/testsuite/gcc.dg/visibility-9.c
+--- gcc-3.4.0orig/gcc/testsuite/gcc.dg/visibility-9.c 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/gcc.dg/visibility-9.c 2004-05-09 12:40:39.000000000 +0100
+@@ -0,0 +1,9 @@
++/* Test that -fvisibility works. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility=hidden" } */
++/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
++
++void foo();
++
++void foo() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/gcc.dg/visibility-a.c gcc-3.4.0/gcc/testsuite/gcc.dg/visibility-a.c
+--- gcc-3.4.0orig/gcc/testsuite/gcc.dg/visibility-a.c 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/gcc.dg/visibility-a.c 2004-05-09 12:55:04.000000000 +0100
+@@ -0,0 +1,10 @@
++/* Test that #pragma GCC visibility works. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*foo" } } */
++
++#pragma GCC visibility push(hidden)
++void foo();
++#pragma GCC visibility pop
++
++void foo() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility.C 2004-05-09 19:17:13.000000000 +0100
+@@ -0,0 +1,12 @@
++/* Test that -fvisibility affects class members. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility=hidden" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++class Foo
++{
++ void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C 2004-05-09 19:17:59.000000000 +0100
+@@ -0,0 +1,18 @@
++/* Test that -fvisibility-inlines-hidden affects class members. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility-inlines-hidden" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++class Foo
++{
++public:
++ void method() { }
++};
++
++int main(void)
++{
++ Foo f;
++ f.method();
++ return 0;
++}
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C 2004-05-09 19:18:06.000000000 +0100
+@@ -0,0 +1,12 @@
++/* Test that -fvisibility does not override class member specific settings. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility=hidden" } */
++/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
++
++class __attribute__ ((visibility ("internal"))) Foo
++{
++ void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/fvisibility-override2.C 2004-05-09 19:18:12.000000000 +0100
+@@ -0,0 +1,12 @@
++/* Test that -fvisibility does not override class member specific settings. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fvisibility=hidden" } */
++/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
++
++class Foo
++{
++ __attribute__ ((visibility ("internal"))) void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/memfuncts.C 2004-05-09 19:18:19.000000000 +0100
+@@ -0,0 +1,11 @@
++/* Test that setting visibility for class member functions works. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++class __attribute__ ((visibility ("hidden"))) Foo
++{
++ void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/noPLT.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/noPLT.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/noPLT.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/noPLT.C 2004-05-09 19:21:49.000000000 +0100
+@@ -0,0 +1,20 @@
++/* Test that -fvisibility=hidden prevents PLT. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-options "-fPIC -fvisibility=hidden" } */
++/* { dg-final { scan-assembler-not "methodEv@PLT" } } */
++
++class Foo
++{
++public:
++ void method();
++};
++
++void Foo::method() { }
++
++int main(void)
++{
++ Foo f;
++ f.method();
++ return 0;
++}
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma.C 2004-05-09 19:18:30.000000000 +0100
+@@ -0,0 +1,13 @@
++/* Test that #pragma GCC visibility affects class members. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++#pragma GCC visibility push(hidden)
++class Foo
++{
++ void method();
++};
++#pragma GCC visibility pop
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C 2004-05-09 19:18:36.000000000 +0100
+@@ -0,0 +1,13 @@
++/* Test that #pragma GCC visibility does not override class member specific settings. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
++
++#pragma GCC visibility push(hidden)
++class __attribute__ ((visibility ("internal"))) Foo
++{
++ void method();
++};
++#pragma GCC visibility pop
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C 2004-05-09 19:18:44.000000000 +0100
+@@ -0,0 +1,13 @@
++/* Test that #pragma GCC visibility does not override class member specific settings. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.internal.*Foo.methodEv" } } */
++
++#pragma GCC visibility push(hidden)
++class Foo
++{
++ __attribute__ ((visibility ("internal"))) void method();
++};
++#pragma GCC visibility pop
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C 2004-05-09 19:18:50.000000000 +0100
+@@ -0,0 +1,11 @@
++/* Test that setting visibility for static class member functions works. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*Foo.methodEv" } } */
++
++class __attribute__ ((visibility ("hidden"))) Foo
++{
++ static void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/virtual.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/virtual.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/virtual.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/virtual.C 2004-05-09 13:24:06.000000000 +0100
+@@ -0,0 +1,11 @@
++/* Test that setting visibility for class affects virtual table. */
++/* { dg-do compile } */
++/* { dg-require-visibility "" } */
++/* { dg-final { scan-assembler "\\.hidden.*ZTV3Foo" } } */
++
++class __attribute__ ((visibility ("hidden"))) Foo
++{
++ virtual void method();
++};
++
++void Foo::method() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-1.C 2003-12-10 06:34:44.000000000 +0000
+@@ -0,0 +1,8 @@
++/* Test visibility attribute on function definition. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
++
++void
++__attribute__((visibility ("hidden")))
++foo()
++{ }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-2.C 2003-12-10 06:34:44.000000000 +0000
+@@ -0,0 +1,7 @@
++/* Test that visibility attribute on declaration extends to definition. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
++
++void __attribute__((visibility ("hidden"))) foo();
++
++void foo() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-3.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,7 @@
++/* Test visibility attribute on forward declaration of global variable */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
++
++int
++__attribute__((visibility ("hidden")))
++xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-4.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,8 @@
++/* Test visibility attribute on forward declaration of global variable */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
++
++extern int __attribute__ ((visibility ("hidden")))
++xyzzy;
++
++int xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-5.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,11 @@
++/* Test visibility attribute on definition of a function that has
++ already had a forward declaration. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
++
++void foo();
++
++void
++ __attribute__((visibility ("hidden")))
++foo()
++{ }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-6.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,10 @@
++/* Test visibility attribute on definition of global variable that has
++ already had a forward declaration. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
++
++extern int xyzzy;
++
++int
++__attribute__((visibility ("hidden")))
++xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C 1970-01-01 01:00:00.000000000 +0100
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility/visibility-7.C 2003-12-10 06:34:45.000000000 +0000
+@@ -0,0 +1,11 @@
++/* Test warning from conflicting visibility specifications. */
++/* { dg-do compile { target *86-*-linux* } } */
++/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
++
++extern int
++__attribute__((visibility ("hidden")))
++xyzzy; /* { dg-warning "previous declaration here" "" } */
++
++int
++__attribute__((visibility ("protected")))
++xyzzy = 5; /* { dg-warning "visibility attribute ignored" "" } */
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-1.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-1.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-1.C 2003-12-10 06:34:44.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-1.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,8 +0,0 @@
+-/* Test visibility attribute on function definition. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
+-
+-void
+-__attribute__((visibility ("hidden")))
+-foo()
+-{ }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-2.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-2.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-2.C 2003-12-10 06:34:44.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-2.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-/* Test that visibility attribute on declaration extends to definition. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
+-
+-void __attribute__((visibility ("hidden"))) foo();
+-
+-void foo() { }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-3.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-3.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-3.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-3.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-/* Test visibility attribute on forward declaration of global variable */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+-
+-int
+-__attribute__((visibility ("hidden")))
+-xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-4.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-4.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-4.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-4.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,8 +0,0 @@
+-/* Test visibility attribute on forward declaration of global variable */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+-
+-extern int __attribute__ ((visibility ("hidden")))
+-xyzzy;
+-
+-int xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-5.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-5.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-5.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-5.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-/* Test visibility attribute on definition of a function that has
+- already had a forward declaration. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*_Z3foov" } } */
+-
+-void foo();
+-
+-void
+- __attribute__((visibility ("hidden")))
+-foo()
+-{ }
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-6.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-6.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-6.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-6.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,10 +0,0 @@
+-/* Test visibility attribute on definition of global variable that has
+- already had a forward declaration. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+-
+-extern int xyzzy;
+-
+-int
+-__attribute__((visibility ("hidden")))
+-xyzzy = 5;
+diff -Naur gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-7.C gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-7.C
+--- gcc-3.4.0orig/gcc/testsuite/g++.dg/ext/visibility-7.C 2003-12-10 06:34:45.000000000 +0000
++++ gcc-3.4.0/gcc/testsuite/g++.dg/ext/visibility-7.C 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-/* Test warning from conflicting visibility specifications. */
+-/* { dg-do compile { target *86-*-linux* } } */
+-/* { dg-final { scan-assembler "\\.hidden.*xyzzy" } } */
+-
+-extern int
+-__attribute__((visibility ("hidden")))
+-xyzzy; /* { dg-warning "previous declaration here" "" } */
+-
+-int
+-__attribute__((visibility ("protected")))
+-xyzzy = 5; /* { dg-warning "visibility attribute ignored" "" } */
diff --git a/meta/packages/gcc/gcc-3.4.4/always-fixincperm.patch b/meta/packages/gcc/gcc-3.4.4/always-fixincperm.patch
new file mode 100644
index 0000000000..59e5e2edeb
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/always-fixincperm.patch
@@ -0,0 +1,32 @@
+Index: gcc-3.4.3/gcc/configure
+===================================================================
+--- gcc-3.4.3.orig/gcc/configure 2004-11-04 23:14:05.000000000 -0500
++++ gcc-3.4.3/gcc/configure 2005-03-11 14:41:06.373910320 -0500
+@@ -9916,11 +9916,6 @@
+ BUILD_PREFIX=build-
+ BUILD_PREFIX_1=build-
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
+-
+- if test "x$TARGET_SYSTEM_ROOT" = x; then
+- STMP_FIXINC=
+- STMP_FIXPROTO=
+- fi
+ fi
+
+ # Expand extra_headers to include complete path.
+Index: gcc-3.4.3/gcc/configure.ac
+===================================================================
+--- gcc-3.4.3.orig/gcc/configure.ac 2004-09-23 20:43:53.000000000 -0400
++++ gcc-3.4.3/gcc/configure.ac 2005-03-11 14:40:55.256600408 -0500
+@@ -1524,11 +1524,6 @@
+ BUILD_PREFIX=build-
+ BUILD_PREFIX_1=build-
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
+-
+- if test "x$TARGET_SYSTEM_ROOT" = x; then
+- STMP_FIXINC=
+- STMP_FIXPROTO=
+- fi
+ fi
+
+ # Expand extra_headers to include complete path.
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-bigendian-uclibc.patch b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-bigendian-uclibc.patch
new file mode 100644
index 0000000000..8fa9af880a
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-bigendian-uclibc.patch
@@ -0,0 +1,30 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- gcc-3.4.1/gcc/config.gcc~gcc-3.4.0-arm-bigendian-uclibc
++++ gcc-3.4.1/gcc/config.gcc
+@@ -666,6 +666,11 @@
+ ;;
+ arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
++ case $target in
++ arm*b-*)
++ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
++ ;;
++ esac
+ tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
+--- gcc-3.4.1/gcc/config/arm/linux-elf.h~gcc-3.4.0-arm-bigendian-uclibc
++++ gcc-3.4.1/gcc/config/arm/linux-elf.h
+@@ -120,7 +120,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
+ -X \
+- %{mbig-endian:-EB}" \
++ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+ #endif
+
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-bigendian.patch b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-bigendian.patch
new file mode 100644
index 0000000000..c9288c6c15
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-bigendian.patch
@@ -0,0 +1,70 @@
+By Lennert Buytenhek <buytenh@wantstofly.org>
+Adds support for arm*b-linux* big-endian ARM targets
+
+See http://gcc.gnu.org/PR16350
+
+diff -urN gcc-3.4.0.orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
+--- gcc-3.4.0.orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-07-02 14:46:29.225443757 +0200
+@@ -30,17 +30,34 @@
+ /* Do not assume anything about header files. */
+ #define NO_IMPLICIT_EXTERN_C
+
++/*
++ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
++ * (big endian) configurations.
++ */
++#if TARGET_BIG_ENDIAN_DEFAULT
++#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
++#define TARGET_ENDIAN_OPTION "mbig-endian"
++#define TARGET_LINKER_EMULATION "armelfb_linux"
++#else
++#define TARGET_ENDIAN_DEFAULT 0
++#define TARGET_ENDIAN_OPTION "mlittle-endian"
++#define TARGET_LINKER_EMULATION "armelf_linux"
++#endif
++
+ /* Default is to use APCS-32 mode. */
+ #undef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_APCS_32 | \
++ ARM_FLAG_MMU_TRAPS | \
++ TARGET_ENDIAN_DEFAULT )
+
+ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
+
+-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
++#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
+
+ #undef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
++ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mapcs-32", "mno-thumb-interwork" }
+
+ #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
+
+@@ -89,7 +106,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
+ -X \
+- %{mbig-endian:-EB}" \
++ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+
+ #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
+diff -urN gcc-3.4.0.orig/gcc/config.gcc gcc-3.4.0/gcc/config.gcc
+--- gcc-3.4.0.orig/gcc/config.gcc 2004-04-17 04:28:24.000000000 +0200
++++ gcc-3.4.0/gcc/config.gcc 2004-07-02 14:44:40.045822542 +0200
+@@ -666,6 +666,11 @@
+ ;;
+ arm*-*-linux*) # ARM GNU/Linux with ELF
+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
++ case $target in
++ arm*b-*)
++ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
++ ;;
++ esac
+ tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-lib1asm.patch b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-lib1asm.patch
new file mode 100644
index 0000000000..ca42bfbc0a
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-lib1asm.patch
@@ -0,0 +1,24 @@
+# Fixes errors like the following when building glibc (or any other executable
+# or shared library) when using gcc 3.4.0 for ARM with softfloat:
+#
+# .../libc_pic.os(.text+0x15834): In function `__modf': undefined reference to `__subdf3'
+# .../libc_pic.os(.text+0x158b8): In function `__modf': undefined reference to `__subdf3'
+# .../libc_pic.os(.text+0x1590c): In function `scalbn': undefined reference to `__muldf3'
+# .../libc_pic.os(.text+0x15e94): In function `__ldexpf': undefined reference to `__eqsf2'
+# .../libc_pic.os(.text+0xcee4c): In function `monstartup': undefined reference to `__fixsfsi'
+
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
+--- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
++++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-nolibfloat.patch b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-nolibfloat.patch
new file mode 100644
index 0000000000..43eed3ef28
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-nolibfloat.patch
@@ -0,0 +1,24 @@
+# Dimitry Andric <dimitry@andric.com>, 2004-05-01
+#
+# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
+# anymore. (The required functions are now in libgcc.)
+#
+# Fixes errors like
+# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
+# collect2: ld returned 1 exit status
+# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
+# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
+
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
+@@ -55,7 +73,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
+
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-softfloat.patch b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-softfloat.patch
new file mode 100644
index 0000000000..f53d64b374
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.0-arm-softfloat.patch
@@ -0,0 +1,256 @@
+#
+# Submitted:
+#
+# Dimitry Andric <dimitry@andric.com>, 2004-05-01
+#
+# Description:
+#
+# Nicholas Pitre released this patch for gcc soft-float support here:
+# http://lists.arm.linux.org.uk/pipermail/linux-arm/2003-October/006436.html
+#
+# This version has been adapted to work with gcc 3.4.0.
+#
+# The original patch doesn't distinguish between softfpa and softvfp modes
+# in the way Nicholas Pitre probably meant. His description is:
+#
+# "Default is to use APCS-32 mode with soft-vfp. The old Linux default for
+# floats can be achieved with -mhard-float or with the configure
+# --with-float=hard option. If -msoft-float or --with-float=soft is used then
+# software float support will be used just like the default but with the legacy
+# big endian word ordering for double float representation instead."
+#
+# Which means the following:
+#
+# * If you compile without -mhard-float or -msoft-float, you should get
+# software floating point, using the VFP format. The produced object file
+# should have these flags in its header:
+#
+# private flags = 600: [APCS-32] [VFP float format] [software FP]
+#
+# * If you compile with -mhard-float, you should get hardware floating point,
+# which always uses the FPA format. Object file header flags should be:
+#
+# private flags = 0: [APCS-32] [FPA float format]
+#
+# * If you compile with -msoft-float, you should get software floating point,
+# using the FPA format. This is done for compatibility reasons with many
+# existing distributions. Object file header flags should be:
+#
+# private flags = 200: [APCS-32] [FPA float format] [software FP]
+#
+# The original patch from Nicholas Pitre contained the following constructs:
+#
+# #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
+# %{mhard-float:-mfpu=fpa} \
+# %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
+#
+# However, gcc doesn't accept this ";:" notation, used in the 3rd line. This
+# is probably the reason Robert Schwebel modified it to:
+#
+# #define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
+# %{mhard-float:-mfpu=fpa} \
+# %{!mhard-float: %{msoft-float:-mfpu=softfpa -mfpu=softvfp}}"
+#
+# But this causes the following behaviour:
+#
+# * If you compile without -mhard-float or -msoft-float, the compiler generates
+# software floating point instructions, but *nothing* is passed to the
+# assembler, which results in an object file which has flags:
+#
+# private flags = 0: [APCS-32] [FPA float format]
+#
+# This is not correct!
+#
+# * If you compile with -mhard-float, the compiler generates hardware floating
+# point instructions, and passes "-mfpu=fpa" to the assembler, which results
+# in an object file which has the same flags as in the previous item, but now
+# those *are* correct.
+#
+# * If you compile with -msoft-float, the compiler generates software floating
+# point instructions, and passes "-mfpu=softfpa -mfpu=softvfp" (in that
+# order) to the assembler, which results in an object file with flags:
+#
+# private flags = 600: [APCS-32] [VFP float format] [software FP]
+#
+# This is not correct, because the last "-mfpu=" option on the assembler
+# command line determines the actual FPU convention used (which should be FPA
+# in this case).
+#
+# Therefore, I modified this patch to get the desired behaviour. Every
+# instance of the notation:
+#
+# %{msoft-float:-mfpu=softfpa -mfpu=softvfp}
+#
+# was changed to:
+#
+# %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}
+#
+# I also did the following:
+#
+# * Modified all TARGET_DEFAULT macros I could find to include ARM_FLAG_VFP, to
+# be consistent with Nicholas' original patch.
+# * Removed any "msoft-float" or "mhard-float" from all MULTILIB_DEFAULTS
+# macros I could find. I think that if you compile without any options, you
+# would like to get the defaults. :)
+# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
+# anymore. (The required functions are now in libgcc.)
+
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/coff.h gcc-3.4.0/gcc/config/arm/coff.h
+--- gcc-3.4.0-orig/gcc/config/arm/coff.h 2004-02-24 15:25:22.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/coff.h 2004-05-01 19:07:06.059409600 +0200
+@@ -31,11 +31,16 @@
+ #define TARGET_VERSION fputs (" (ARM/coff)", stderr)
+
+ #undef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_SOFT_FLOAT \
++ | ARM_FLAG_VFP \
++ | ARM_FLAG_APCS_32 \
++ | ARM_FLAG_APCS_FRAME \
++ | ARM_FLAG_MMU_TRAPS )
+
+ #ifndef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
++ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork" }
+ #endif
+
+ /* This is COFF, but prefer stabs. */
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/elf.h gcc-3.4.0/gcc/config/arm/elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/elf.h 2004-02-24 15:25:22.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/elf.h 2004-05-01 19:12:16.976486400 +0200
+@@ -46,7 +46,9 @@
+
+ #ifndef SUBTARGET_ASM_FLOAT_SPEC
+ #define SUBTARGET_ASM_FLOAT_SPEC "\
+-%{mapcs-float:-mfloat} %{msoft-float:-mfpu=softfpa}"
++%{mapcs-float:-mfloat} \
++%{mhard-float:-mfpu=fpa} \
++%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
+ #endif
+
+ #ifndef ASM_SPEC
+@@ -106,12 +108,17 @@
+ #endif
+
+ #ifndef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_SOFT_FLOAT \
++ | ARM_FLAG_VFP \
++ | ARM_FLAG_APCS_32 \
++ | ARM_FLAG_APCS_FRAME \
++ | ARM_FLAG_MMU_TRAPS )
+ #endif
+
+ #ifndef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork", "fno-leading-underscore" }
++ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork", "fno-leading-underscore" }
+ #endif
+
+ #define TARGET_ASM_FILE_START_APP_OFF true
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/linux-elf.h gcc-3.4.0/gcc/config/arm/linux-elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/linux-elf.h 2004-01-31 07:18:11.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-05-01 19:19:06.935979200 +0200
+@@ -30,9 +30,27 @@
+ /* Do not assume anything about header files. */
+ #define NO_IMPLICIT_EXTERN_C
+
+-/* Default is to use APCS-32 mode. */
++/*
++ * Default is to use APCS-32 mode with soft-vfp.
++ * The old Linux default for floats can be achieved with -mhard-float
++ * or with the configure --with-float=hard option.
++ * If -msoft-float or --with-float=soft is used then software float
++ * support will be used just like the default but with the legacy
++ * big endian word ordering for double float representation instead.
++ */
++
+ #undef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_APCS_32 \
++ | ARM_FLAG_SOFT_FLOAT \
++ | ARM_FLAG_VFP \
++ | ARM_FLAG_MMU_TRAPS )
++
++#undef SUBTARGET_EXTRA_ASM_SPEC
++#define SUBTARGET_EXTRA_ASM_SPEC "\
++%{!mcpu=*:-mcpu=xscale} \
++%{mhard-float:-mfpu=fpa} \
++%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
+
+ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
+
+@@ -40,7 +58,7 @@
+
+ #undef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "mhard-float", "mapcs-32", "mno-thumb-interwork" }
++ { "marm", "mlittle-endian", "mapcs-32", "mno-thumb-interwork" }
+
+ #define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
+
+@@ -55,7 +73,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
+--- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
++++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/unknown-elf.h gcc-3.4.0/gcc/config/arm/unknown-elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/unknown-elf.h 2004-02-24 15:25:22.000000000 +0100
++++ gcc-3.4.0/gcc/config/arm/unknown-elf.h 2004-05-01 19:09:09.016212800 +0200
+@@ -30,7 +30,12 @@
+
+ /* Default to using APCS-32 and software floating point. */
+ #ifndef TARGET_DEFAULT
+-#define TARGET_DEFAULT (ARM_FLAG_SOFT_FLOAT | ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME | ARM_FLAG_MMU_TRAPS)
++#define TARGET_DEFAULT \
++ ( ARM_FLAG_SOFT_FLOAT \
++ | ARM_FLAG_VFP \
++ | ARM_FLAG_APCS_32 \
++ | ARM_FLAG_APCS_FRAME \
++ | ARM_FLAG_MMU_TRAPS )
+ #endif
+
+ /* Now we define the strings used to build the spec file. */
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/xscale-elf.h gcc-3.4.0/gcc/config/arm/xscale-elf.h
+--- gcc-3.4.0-orig/gcc/config/arm/xscale-elf.h 2003-07-02 01:26:43.000000000 +0200
++++ gcc-3.4.0/gcc/config/arm/xscale-elf.h 2004-05-01 20:15:36.620105600 +0200
+@@ -49,11 +49,12 @@
+ endian, regardless of the endian-ness of the memory
+ system. */
+
+-#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
+- %{mhard-float:-mfpu=fpa} \
+- %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
++#define SUBTARGET_EXTRA_ASM_SPEC "\
++%{!mcpu=*:-mcpu=xscale} \
++%{mhard-float:-mfpu=fpa} \
++%{!mhard-float: %{msoft-float:-mfpu=softfpa} %{!msoft-float:-mfpu=softvfp}}"
+
+ #ifndef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "mlittle-endian", "mno-thumb-interwork", "marm", "msoft-float" }
++ { "mlittle-endian", "mno-thumb-interwork", "marm" }
+ #endif
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch
new file mode 100644
index 0000000000..29e4c802e2
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch
@@ -0,0 +1,442 @@
+diff -urN gcc-3.4.1-dist/boehm-gc/configure gcc-3.4.1/boehm-gc/configure
+--- gcc-3.4.1-dist/boehm-gc/configure 2004-07-01 14:14:03.000000000 -0500
++++ gcc-3.4.1/boehm-gc/configure 2004-08-12 16:22:57.000000000 -0500
+@@ -1947,6 +1947,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+diff -urN gcc-3.4.1-dist/boehm-gc/ltconfig gcc-3.4.1/boehm-gc/ltconfig
+--- gcc-3.4.1-dist/boehm-gc/ltconfig 2002-11-20 09:59:06.000000000 -0600
++++ gcc-3.4.1/boehm-gc/ltconfig 2004-08-12 15:54:42.000000000 -0500
+@@ -1981,6 +1981,23 @@
+ fi
+ ;;
+
++linux-uclibc*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=`echo /lib/libuClibc-*.so`
++
++ # Assume using the uClibc dynamic linker.
++ dynamic_linker="uClibc ld.so"
++ ;;
++
+ netbsd*)
+ version_type=sunos
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
+--- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h 2004-01-31 00:18:11.000000000 -0600
++++ gcc-3.4.1/gcc/config/arm/linux-elf.h 2004-08-12 15:54:42.000000000 -0500
+@@ -81,6 +81,18 @@
+ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+
+ #undef LINK_SPEC
++#ifdef USE_UCLIBC
++#define LINK_SPEC "%{h*} %{version:-v} \
++ %{b} %{Wl,*:%*} \
++ %{static:-Bstatic} \
++ %{shared:-shared} \
++ %{symbolic:-Bsymbolic} \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
++ -X \
++ %{mbig-endian:-EB}" \
++ SUBTARGET_EXTRA_LINK_SPEC
++#else
+ #define LINK_SPEC "%{h*} %{version:-v} \
+ %{b} %{Wl,*:%*} \
+ %{static:-Bstatic} \
+@@ -91,6 +103,7 @@
+ -X \
+ %{mbig-endian:-EB}" \
+ SUBTARGET_EXTRA_LINK_SPEC
++#endif
+
+ #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
+
+diff -urN gcc-3.4.1-dist/gcc/config/cris/linux.h gcc-3.4.1/gcc/config/cris/linux.h
+--- gcc-3.4.1-dist/gcc/config/cris/linux.h 2003-11-28 21:08:09.000000000 -0600
++++ gcc-3.4.1/gcc/config/cris/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -79,6 +79,25 @@
+ #undef CRIS_DEFAULT_CPU_VERSION
+ #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
+
++#ifdef USE_UCLIBC
++
++#undef CRIS_SUBTARGET_VERSION
++#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
++
++#undef CRIS_LINK_SUBTARGET_SPEC
++#define CRIS_LINK_SUBTARGET_SPEC \
++ "-mcrislinux\
++ -rpath-link include/asm/../..%s\
++ %{shared} %{static}\
++ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
++ %{!shared: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
++ %{!r:%{O2|O3: --gc-sections}}"
++
++#else /* USE_UCLIBC */
++
+ #undef CRIS_SUBTARGET_VERSION
+ #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
+
+@@ -93,6 +112,8 @@
+ %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
+ %{!r:%{O2|O3: --gc-sections}}"
+
++#endif /* USE_UCLIBC */
++
+
+ /* Node: Run-time Target */
+
+diff -urN gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc gcc-3.4.1/gcc/config/cris/t-linux-uclibc
+--- gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.1/gcc/config/cris/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
+@@ -0,0 +1,3 @@
++T_CFLAGS = -DUSE_UCLIBC
++TARGET_LIBGCC2_CFLAGS += -fPIC
++CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
+diff -urN gcc-3.4.1-dist/gcc/config/i386/linux.h gcc-3.4.1/gcc/config/i386/linux.h
+--- gcc-3.4.1-dist/gcc/config/i386/linux.h 2003-11-28 21:08:10.000000000 -0600
++++ gcc-3.4.1/gcc/config/i386/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -118,6 +118,15 @@
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
+ %{static:-static}}}"
+ #else
++#if defined USE_UCLIBC
++#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
++ %{!shared: \
++ %{!ibcs: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}}}"
++#else
+ #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+@@ -126,6 +135,7 @@
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{static:-static}}}"
+ #endif
++#endif
+
+ /* A C statement (sans semicolon) to output to the stdio stream
+ FILE the assembler definition of uninitialized global DECL named
+diff -urN gcc-3.4.1-dist/gcc/config/mips/linux.h gcc-3.4.1/gcc/config/mips/linux.h
+--- gcc-3.4.1-dist/gcc/config/mips/linux.h 2004-06-15 20:42:24.000000000 -0500
++++ gcc-3.4.1/gcc/config/mips/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -109,6 +109,17 @@
+
+ /* Borrowed from sparc/linux.h */
+ #undef LINK_SPEC
++#ifdef USE_UCLIBC
++#define LINK_SPEC \
++ "%(endian_spec) \
++ %{shared:-shared} \
++ %{!shared: \
++ %{!ibcs: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}}}"
++#else
+ #define LINK_SPEC \
+ "%(endian_spec) \
+ %{shared:-shared} \
+@@ -118,6 +129,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+ %{static:-static}}}"
++#endif
+
+ #undef SUBTARGET_ASM_SPEC
+ #define SUBTARGET_ASM_SPEC "\
+diff -urN gcc-3.4.1-dist/gcc/config/rs6000/linux.h gcc-3.4.1/gcc/config/rs6000/linux.h
+--- gcc-3.4.1-dist/gcc/config/rs6000/linux.h 2004-02-25 09:11:19.000000000 -0600
++++ gcc-3.4.1/gcc/config/rs6000/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -61,7 +61,11 @@
+ #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
+
+ #undef LINK_OS_DEFAULT_SPEC
++#ifdef USE_UCLIBC
++#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
++#else
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
++#endif
+
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
+diff -urN gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h gcc-3.4.1/gcc/config/rs6000/sysv4.h
+--- gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h 2004-06-10 01:39:50.000000000 -0500
++++ gcc-3.4.1/gcc/config/rs6000/sysv4.h 2004-08-12 15:54:43.000000000 -0500
+@@ -947,6 +947,7 @@
+ mcall-linux : %(link_os_linux) ; \
+ mcall-gnu : %(link_os_gnu) ; \
+ mcall-netbsd : %(link_os_netbsd) ; \
++ mcall-linux-uclibc : %(link_os_linux_uclibc); \
+ mcall-openbsd: %(link_os_openbsd) ; \
+ : %(link_os_default) }"
+
+@@ -1124,6 +1125,10 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+
++#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
++
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+ # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+ #endif
+@@ -1290,6 +1295,7 @@
+ { "link_os_sim", LINK_OS_SIM_SPEC }, \
+ { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
+ { "link_os_linux", LINK_OS_LINUX_SPEC }, \
++ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
+ { "link_os_gnu", LINK_OS_GNU_SPEC }, \
+ { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
+ { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
+diff -urN gcc-3.4.1-dist/gcc/config/sh/linux.h gcc-3.4.1/gcc/config/sh/linux.h
+--- gcc-3.4.1-dist/gcc/config/sh/linux.h 2004-01-11 20:29:13.000000000 -0600
++++ gcc-3.4.1/gcc/config/sh/linux.h 2004-08-12 15:54:43.000000000 -0500
+@@ -73,12 +73,21 @@
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
+ #undef SUBTARGET_LINK_SPEC
++#ifdef USE_UCLIBC
++#define SUBTARGET_LINK_SPEC \
++ "%{shared:-shared} \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
++ %{static:-static}"
++#else
+ #define SUBTARGET_LINK_SPEC \
+ "%{shared:-shared} \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{static:-static}"
++#endif
+
+ #undef LIB_SPEC
+ #define LIB_SPEC \
+diff -urN gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc gcc-3.4.1/gcc/config/sh/t-linux-uclibc
+--- gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.1/gcc/config/sh/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
+@@ -0,0 +1,13 @@
++T_CFLAGS = -DUSE_UCLIBC
++
++TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES
++LIB1ASMFUNCS_CACHE = _ic_invalidate
++
++LIB2FUNCS_EXTRA=
++
++MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4
++MULTILIB_DIRNAMES=
++MULTILIB_MATCHES =
++MULTILIB_EXCEPTIONS=
++
++EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+diff -urN gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc gcc-3.4.1/gcc/config/sh/t-sh64-uclibc
+--- gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.1/gcc/config/sh/t-sh64-uclibc 2004-08-12 15:54:43.000000000 -0500
+@@ -0,0 +1,13 @@
++EXTRA_MULTILIB_PARTS= crt1.o crti.o crtn.o crtbegin.o crtend.o
++
++LIB1ASMFUNCS = \
++ _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
++ _shcompact_call_trampoline _shcompact_return_trampoline \
++ _shcompact_incoming_args _ic_invalidate _nested_trampoline \
++ _push_pop_shmedia_regs \
++ _udivdi3 _divdi3 _umoddi3 _moddi3
++
++MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu
++MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64
++MULTILIB_MATCHES=
++MULTILIB_EXCEPTIONS=
+diff -urN gcc-3.4.1-dist/gcc/config/t-linux-uclibc gcc-3.4.1/gcc/config/t-linux-uclibc
+--- gcc-3.4.1-dist/gcc/config/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.1/gcc/config/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
+@@ -0,0 +1,15 @@
++T_CFLAGS = -DUSE_UCLIBC
++
++# Compile crtbeginS.o and crtendS.o with pic.
++CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
++# Compile libgcc2.a with pic.
++TARGET_LIBGCC2_CFLAGS = -fPIC
++
++# Override t-slibgcc-elf-ver to export some libgcc symbols with
++# the symbol versions that glibc used.
++#SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
++
++# Use unwind-dw2-fde
++LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
++ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
++LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
+diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
+--- gcc-3.4.1-dist/gcc/config.gcc 2004-04-21 10:12:35.000000000 -0500
++++ gcc-3.4.1/gcc/config.gcc 2004-08-12 15:59:46.000000000 -0500
+@@ -664,6 +664,12 @@
+ extra_parts=""
+ use_collect2=yes
+ ;;
++arm*-*-linux-uclibc*) # ARM GNU/Linux with ELF - uClibc
++ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
++ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
++ gnu_ld=yes
++ ;;
+ arm*-*-linux*) # ARM GNU/Linux with ELF
+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
+ tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
+@@ -725,6 +731,10 @@
+ tmake_file="cris/t-cris cris/t-elfmulti"
+ gas=yes
+ ;;
++cris-*-linux-uclibc*)
++ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
++ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc"
++ ;;
+ cris-*-linux*)
+ tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
+ tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
+@@ -988,6 +998,11 @@
+ thread_file='single'
+ fi
+ ;;
++i[34567]86-*-linux*uclibc*) # Intel 80386's running GNU/Linux
++ # with ELF format using uClibc
++ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc i386/t-crtstuff"
++ ;;
+ i[34567]86-*-linux*) # Intel 80386's running GNU/Linux
+ # with ELF format using glibc 2
+ # aka GNU/Linux C library 6
+@@ -1547,6 +1562,16 @@
+ gnu_ld=yes
+ gas=yes
+ ;;
++mips*-*-linux-uclibc*) # Linux MIPS, either endian. uClibc
++ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
++ case ${target} in
++ mipsisa32*-*)
++ target_cpu_default="MASK_SOFT_FLOAT"
++ tm_defines="MIPS_ISA_DEFAULT=32"
++ ;;
++ esac
++ tmake_file="t-slibgcc-elf-ver t-linux-uclibc"
++ ;;
+ mips*-*-linux*) # Linux MIPS, either endian.
+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
+ case ${target} in
+@@ -1764,6 +1789,10 @@
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
+ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
+ ;;
++powerpc-*-linux-uclibc*)
++ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
++ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm"
++ ;;
+ powerpc-*-linux*)
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
+ tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
+@@ -1916,7 +1945,7 @@
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
+ ;;
+ sh-*-linux* | sh[2346lbe]*-*-linux*)
+- tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux"
++ tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver"
+ case ${target} in
+ sh*be-*-* | sh*eb-*-*) ;;
+ *)
+@@ -1924,9 +1953,17 @@
+ tmake_file="${tmake_file} sh/t-le"
+ ;;
+ esac
+- tmake_file="${tmake_file} sh/t-linux"
++ case ${target} in
++ *-*-linux-uclibc*) tmake_file="${tmake_file} t-linux-uclibc sh/t-linux-uclibc" ;;
++ *) tmake_file="${tmake_file} t-linux sh/t-linux" ;;
++ esac
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
+ case ${target} in
++ sh64*-*-linux-uclibc*)
++ tmake_file="${tmake_file} sh/t-sh64-uclibc"
++ tm_file="${tm_file} sh/sh64.h"
++ extra_headers="shmedia.h ushmedia.h sshmedia.h"
++ ;;
+ sh64*)
+ tmake_file="${tmake_file} sh/t-sh64"
+ tm_file="${tm_file} sh/sh64.h"
+diff -urN gcc-3.4.1-dist/libtool.m4 gcc-3.4.1/libtool.m4
+--- gcc-3.4.1-dist/libtool.m4 2004-05-18 04:08:37.000000000 -0500
++++ gcc-3.4.1/libtool.m4 2004-08-12 15:54:43.000000000 -0500
+@@ -689,6 +689,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
+diff -urN gcc-3.4.1-dist/ltconfig gcc-3.4.1/ltconfig
+--- gcc-3.4.1-dist/ltconfig 2004-03-05 15:05:41.000000000 -0600
++++ gcc-3.4.1/ltconfig 2004-08-12 15:55:48.000000000 -0500
+@@ -602,6 +602,7 @@
+
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
++linux-uclibc*) ;;
+ linux-gnu*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+@@ -1262,6 +1263,24 @@
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
++linux-uclibc*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ # Note: copied from linux-gnu, and may not be appropriate.
++ hardcode_into_libs=yes
++ # Assume using the uClibc dynamic linker.
++ dynamic_linker="uClibc ld.so"
++ ;;
++
+ netbsd*)
+ need_lib_prefix=no
+ need_version=no
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-200-locale.patch b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-200-locale.patch
new file mode 100644
index 0000000000..3fc4900b06
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-200-locale.patch
@@ -0,0 +1,3246 @@
+diff -urN gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 gcc-3.4.2/libstdc++-v3/acinclude.m4
+--- gcc-3.4.2-dist/libstdc++-v3/acinclude.m4 2004-07-15 12:42:45.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/acinclude.m4 2004-09-10 10:47:40.000000000 -0500
+@@ -996,7 +996,7 @@
+ AC_MSG_CHECKING([for C locale to use])
+ GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
+ [use MODEL for target locale package],
+- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
++ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
+
+ # If they didn't use this option switch, or if they specified --enable
+ # with no specific model, we'll have to look for one. If they
+@@ -1012,6 +1012,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case x${target_os} in
++ x*-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
+ AC_EGREP_CPP([_GLIBCXX_ok], [
+ #include <features.h>
+@@ -1138,6 +1141,41 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ AC_MSG_RESULT(uclibc)
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++ AC_SUBST(glibcxx_MOFILES)
++ AC_SUBST(glibcxx_POFILES)
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+diff -urN gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 gcc-3.4.2/libstdc++-v3/aclocal.m4
+--- gcc-3.4.2-dist/libstdc++-v3/aclocal.m4 2004-08-13 15:44:03.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/aclocal.m4 2004-09-10 10:47:40.000000000 -0500
+@@ -1025,6 +1025,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case x${target_os} in
++ x*-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
+ AC_EGREP_CPP([_GLIBCXX_ok], [
+ #include <features.h>
+@@ -1151,6 +1154,41 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ AC_MSG_RESULT(uclibc)
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++ AC_SUBST(glibcxx_MOFILES)
++ AC_SUBST(glibcxx_POFILES)
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,59 @@
++// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
++
++// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++// Written by Jakub Jelinek <jakub@redhat.com>
++
++#include <clocale>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning clean this up
++#endif
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++
++extern "C" __typeof(iswctype_l) __iswctype_l;
++extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
++extern "C" __typeof(strcoll_l) __strcoll_l;
++extern "C" __typeof(strftime_l) __strftime_l;
++extern "C" __typeof(strtod_l) __strtod_l;
++extern "C" __typeof(strtof_l) __strtof_l;
++extern "C" __typeof(strtold_l) __strtold_l;
++extern "C" __typeof(strxfrm_l) __strxfrm_l;
++extern "C" __typeof(towlower_l) __towlower_l;
++extern "C" __typeof(towupper_l) __towupper_l;
++extern "C" __typeof(wcscoll_l) __wcscoll_l;
++extern "C" __typeof(wcsftime_l) __wcsftime_l;
++extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
++extern "C" __typeof(wctype_l) __wctype_l;
++extern "C" __typeof(newlocale) __newlocale;
++extern "C" __typeof(freelocale) __freelocale;
++extern "C" __typeof(duplocale) __duplocale;
++extern "C" __typeof(uselocale) __uselocale;
++
++#endif // GLIBC 2.3 and later
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,160 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <cerrno> // For errno
++#include <locale>
++#include <stdexcept>
++#include <langinfo.h>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
++#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
++#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
++#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
++#define __strtof_l(S, E, L) strtof((S), (E))
++#define __strtod_l(S, E, L) strtod((S), (E))
++#define __strtold_l(S, E, L) strtold((S), (E))
++#warning should dummy __newlocale check for C|POSIX ?
++#define __newlocale(a, b, c) NULL
++#define __freelocale(a) ((void)0)
++#define __duplocale(a) __c_locale()
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ float __f = __strtof_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __f;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ double __d = __strtod_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __d;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ long double __ld = __strtold_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __ld;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ void
++ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
++ __c_locale __old)
++ {
++ __cloc = __newlocale(1 << LC_ALL, __s, __old);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ if (!__cloc)
++ {
++ // This named locale is not supported by the underlying OS.
++ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
++ "name not valid"));
++ }
++#endif
++ }
++
++ void
++ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
++ {
++ if (_S_get_c_locale() != __cloc)
++ __freelocale(__cloc);
++ }
++
++ __c_locale
++ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
++ { return __duplocale(__cloc); }
++} // namespace std
++
++namespace __gnu_cxx
++{
++ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
++ {
++ "LC_CTYPE",
++ "LC_NUMERIC",
++ "LC_TIME",
++ "LC_COLLATE",
++ "LC_MONETARY",
++ "LC_MESSAGES",
++#if _GLIBCXX_NUM_CATEGORIES != 0
++ "LC_PAPER",
++ "LC_NAME",
++ "LC_ADDRESS",
++ "LC_TELEPHONE",
++ "LC_MEASUREMENT",
++ "LC_IDENTIFICATION"
++#endif
++ };
++}
++
++namespace std
++{
++ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
++} // namespace std
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2004-09-10 10:48:08.000000000 -0500
+@@ -0,0 +1,115 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifndef _C_LOCALE_H
++#define _C_LOCALE_H 1
++
++#pragma GCC system_header
++
++#include <cstring> // get std::strlen
++#include <cstdio> // get std::snprintf or std::sprintf
++#include <clocale>
++#include <langinfo.h> // For codecvt
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC_HAS_LOCALE__
++#include <iconv.h> // For codecvt using iconv, iconv_t
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#include <libintl.h> // For messages
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning what is _GLIBCXX_C_LOCALE_GNU for
++#endif
++#define _GLIBCXX_C_LOCALE_GNU 1
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix categories
++#endif
++// #define _GLIBCXX_NUM_CATEGORIES 6
++#define _GLIBCXX_NUM_CATEGORIES 0
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++namespace __gnu_cxx
++{
++ extern "C" __typeof(uselocale) __uselocale;
++}
++#endif
++
++namespace std
++{
++#ifdef __UCLIBC_HAS_XLOCALE__
++ typedef __locale_t __c_locale;
++#else
++ typedef int* __c_locale;
++#endif
++
++ // Convert numeric value of type _Tv to string and return length of
++ // string. If snprintf is available use it, otherwise fall back to
++ // the unsafe sprintf which, in general, can be dangerous and should
++ // be avoided.
++ template<typename _Tv>
++ int
++ __convert_from_v(char* __out, const int __size, const char* __fmt,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ _Tv __v, const __c_locale& __cloc, int __prec)
++ {
++ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
++#else
++ _Tv __v, const __c_locale&, int __prec)
++ {
++# ifdef __UCLIBC_HAS_LOCALE__
++ char* __old = std::setlocale(LC_ALL, NULL);
++ char* __sav = new char[std::strlen(__old) + 1];
++ std::strcpy(__sav, __old);
++ std::setlocale(LC_ALL, "C");
++# endif
++#endif
++
++ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __gnu_cxx::__uselocale(__old);
++#elif defined __UCLIBC_HAS_LOCALE__
++ std::setlocale(LC_ALL, __sav);
++ delete [] __sav;
++#endif
++ return __ret;
++ }
++}
++
++#endif
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,306 @@
++// std::codecvt implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.5 - Template class codecvt
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++namespace std
++{
++ // Specializations.
++#ifdef _GLIBCXX_USE_WCHAR_T
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_out(state_type& __state, const intern_type* __from,
++ const intern_type* __from_end, const intern_type*& __from_next,
++ extern_type* __to, extern_type* __to_end,
++ extern_type*& __to_next) const
++ {
++ result __ret = ok;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
++ // in case we fall back to wcrtomb and then continue, in a loop.
++ // NB: wcsnrtombs is a GNU extension
++ for (__from_next = __from, __to_next = __to;
++ __from_next < __from_end && __to_next < __to_end
++ && __ret == ok;)
++ {
++ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
++ __from_end - __from_next);
++ if (!__from_chunk_end)
++ __from_chunk_end = __from_end;
++
++ __from = __from_next;
++ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
++ __from_chunk_end - __from_next,
++ __to_end - __to_next, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // wcrtomb.
++ for (; __from < __from_next; ++__from)
++ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
++ __state = __tmp_state;
++ __ret = error;
++ }
++ else if (__from_next && __from_next < __from_chunk_end)
++ {
++ __to_next += __conv;
++ __ret = partial;
++ }
++ else
++ {
++ __from_next = __from_chunk_end;
++ __to_next += __conv;
++ }
++
++ if (__from_next < __from_end && __ret == ok)
++ {
++ extern_type __buf[MB_LEN_MAX];
++ __tmp_state = __state;
++ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
++ if (__conv > static_cast<size_t>(__to_end - __to_next))
++ __ret = partial;
++ else
++ {
++ memcpy(__to_next, __buf, __conv);
++ __state = __tmp_state;
++ __to_next += __conv;
++ ++__from_next;
++ }
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_in(state_type& __state, const extern_type* __from,
++ const extern_type* __from_end, const extern_type*& __from_next,
++ intern_type* __to, intern_type* __to_end,
++ intern_type*& __to_next) const
++ {
++ result __ret = ok;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++ // in case we store a L'\0' and then continue, in a loop.
++ // NB: mbsnrtowcs is a GNU extension
++ for (__from_next = __from, __to_next = __to;
++ __from_next < __from_end && __to_next < __to_end
++ && __ret == ok;)
++ {
++ const extern_type* __from_chunk_end;
++ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
++ __from_end
++ - __from_next));
++ if (!__from_chunk_end)
++ __from_chunk_end = __from_end;
++
++ __from = __from_next;
++ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
++ __from_chunk_end - __from_next,
++ __to_end - __to_next, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // mbrtowc.
++ for (;; ++__to_next, __from += __conv)
++ {
++ __conv = mbrtowc(__to_next, __from, __from_end - __from,
++ &__tmp_state);
++ if (__conv == static_cast<size_t>(-1)
++ || __conv == static_cast<size_t>(-2))
++ break;
++ }
++ __from_next = __from;
++ __state = __tmp_state;
++ __ret = error;
++ }
++ else if (__from_next && __from_next < __from_chunk_end)
++ {
++ // It is unclear what to return in this case (see DR 382).
++ __to_next += __conv;
++ __ret = partial;
++ }
++ else
++ {
++ __from_next = __from_chunk_end;
++ __to_next += __conv;
++ }
++
++ if (__from_next < __from_end && __ret == ok)
++ {
++ if (__to_next < __to_end)
++ {
++ // XXX Probably wrong for stateful encodings
++ __tmp_state = __state;
++ ++__from_next;
++ *__to_next++ = L'\0';
++ }
++ else
++ __ret = partial;
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_encoding() const throw()
++ {
++ // XXX This implementation assumes that the encoding is
++ // stateless and is either single-byte or variable-width.
++ int __ret = 0;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++ if (MB_CUR_MAX == 1)
++ __ret = 1;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_max_length() const throw()
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++ // XXX Probably wrong for stateful encodings.
++ int __ret = MB_CUR_MAX;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_length(state_type& __state, const extern_type* __from,
++ const extern_type* __end, size_t __max) const
++ {
++ int __ret = 0;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++ // in case we advance past it and then continue, in a loop.
++ // NB: mbsnrtowcs is a GNU extension
++
++ // A dummy internal buffer is needed in order for mbsnrtocws to consider
++ // its fourth parameter (it wouldn't with NULL as first parameter).
++ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
++ * __max));
++ while (__from < __end && __max)
++ {
++ const extern_type* __from_chunk_end;
++ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
++ __end
++ - __from));
++ if (!__from_chunk_end)
++ __from_chunk_end = __end;
++
++ const extern_type* __tmp_from = __from;
++ size_t __conv = mbsnrtowcs(__to, &__from,
++ __from_chunk_end - __from,
++ __max, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // mbrtowc.
++ for (__from = __tmp_from;; __from += __conv)
++ {
++ __conv = mbrtowc(NULL, __from, __end - __from,
++ &__tmp_state);
++ if (__conv == static_cast<size_t>(-1)
++ || __conv == static_cast<size_t>(-2))
++ break;
++ }
++ __state = __tmp_state;
++ __ret += __from - __tmp_from;
++ break;
++ }
++ if (!__from)
++ __from = __from_chunk_end;
++
++ __ret += __from - __tmp_from;
++ __max -= __conv;
++
++ if (__from < __end && __max)
++ {
++ // XXX Probably wrong for stateful encodings
++ __tmp_state = __state;
++ ++__from;
++ ++__ret;
++ --__max;
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/collate_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,80 @@
++// std::collate implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
++#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
++#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
++#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
++#endif
++
++namespace std
++{
++ // These are basically extensions to char_traits, and perhaps should
++ // be put there instead of here.
++ template<>
++ int
++ collate<char>::_M_compare(const char* __one, const char* __two) const
++ {
++ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<char>::_M_transform(char* __to, const char* __from,
++ size_t __n) const
++ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ int
++ collate<wchar_t>::_M_compare(const wchar_t* __one,
++ const wchar_t* __two) const
++ {
++ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
++ size_t __n) const
++ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,300 @@
++// std::ctype implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __wctype_l(S, L) wctype((S))
++#define __towupper_l(C, L) towupper((C))
++#define __towlower_l(C, L) towlower((C))
++#define __iswctype_l(C, M, L) iswctype((C), (M))
++#endif
++
++namespace std
++{
++ // NB: The other ctype<char> specializations are in src/locale.cc and
++ // various /config/os/* files.
++ template<>
++ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
++ : ctype<char>(0, false, __refs)
++ {
++ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++ {
++ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
++ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
++ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
++ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
++#endif
++ }
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ ctype<wchar_t>::__wmask_type
++ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
++ {
++ __wmask_type __ret;
++ switch (__m)
++ {
++ case space:
++ __ret = __wctype_l("space", _M_c_locale_ctype);
++ break;
++ case print:
++ __ret = __wctype_l("print", _M_c_locale_ctype);
++ break;
++ case cntrl:
++ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
++ break;
++ case upper:
++ __ret = __wctype_l("upper", _M_c_locale_ctype);
++ break;
++ case lower:
++ __ret = __wctype_l("lower", _M_c_locale_ctype);
++ break;
++ case alpha:
++ __ret = __wctype_l("alpha", _M_c_locale_ctype);
++ break;
++ case digit:
++ __ret = __wctype_l("digit", _M_c_locale_ctype);
++ break;
++ case punct:
++ __ret = __wctype_l("punct", _M_c_locale_ctype);
++ break;
++ case xdigit:
++ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
++ break;
++ case alnum:
++ __ret = __wctype_l("alnum", _M_c_locale_ctype);
++ break;
++ case graph:
++ __ret = __wctype_l("graph", _M_c_locale_ctype);
++ break;
++ default:
++ __ret = 0;
++ }
++ return __ret;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_toupper(wchar_t __c) const
++ { return __towupper_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_tolower(wchar_t __c) const
++ { return __towlower_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ bool
++ ctype<wchar_t>::
++ do_is(mask __m, wchar_t __c) const
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ bool __ret = false;
++ const size_t __bitmasksize = 11;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__m & _M_bit[__bitcur]
++ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
++ {
++ __ret = true;
++ break;
++ }
++ return __ret;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
++ {
++ for (; __lo < __hi; ++__vec, ++__lo)
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ const size_t __bitmasksize = 11;
++ mask __m = 0;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
++ __m |= _M_bit[__bitcur];
++ *__vec = __m;
++ }
++ return __hi;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi && !this->do_is(__m, *__lo))
++ ++__lo;
++ return __lo;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
++ {
++ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
++ ++__lo;
++ return __lo;
++ }
++
++ wchar_t
++ ctype<wchar_t>::
++ do_widen(char __c) const
++ { return _M_widen[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<wchar_t>::
++ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
++ {
++ while (__lo < __hi)
++ {
++ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
++ ++__lo;
++ ++__dest;
++ }
++ return __hi;
++ }
++
++ char
++ ctype<wchar_t>::
++ do_narrow(wchar_t __wc, char __dfault) const
++ {
++ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
++ return _M_narrow[__wc];
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ const int __c = wctob(__wc);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
++ char* __dest) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ if (_M_narrow_ok)
++ while (__lo < __hi)
++ {
++ if (*__lo >= 0 && *__lo < 128)
++ *__dest = _M_narrow[*__lo];
++ else
++ {
++ const int __c = wctob(*__lo);
++ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++ ++__lo;
++ ++__dest;
++ }
++ else
++ while (__lo < __hi)
++ {
++ const int __c = wctob(*__lo);
++ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++ ++__lo;
++ ++__dest;
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __hi;
++ }
++
++ void
++ ctype<wchar_t>::_M_initialize_ctype()
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ wint_t __i;
++ for (__i = 0; __i < 128; ++__i)
++ {
++ const int __c = wctob(__i);
++ if (__c == EOF)
++ break;
++ else
++ _M_narrow[__i] = static_cast<char>(__c);
++ }
++ if (__i == 128)
++ _M_narrow_ok = true;
++ else
++ _M_narrow_ok = false;
++ for (size_t __j = 0;
++ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
++ _M_widen[__j] = btowc(__j);
++
++ for (size_t __k = 0; __k <= 11; ++__k)
++ {
++ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
++ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ }
++#endif // _GLIBCXX_USE_WCHAR_T
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,100 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix gettext stuff
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__dcgettext(const char *domainname,
++ const char *msgid, int category);
++#undef gettext
++#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#else
++#undef gettext
++#define gettext(msgid) (msgid)
++#endif
++
++namespace std
++{
++ // Specializations.
++ template<>
++ string
++ messages<char>::do_get(catalog, int, int, const string& __dfault) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
++ __uselocale(__old);
++ return string(__msg);
++#elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ const char* __msg = gettext(__dfault.c_str());
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return string(__msg);
++#else
++ const char* __msg = gettext(__dfault.c_str());
++ return string(__msg);
++#endif
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ wstring
++ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
++ {
++# ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ __uselocale(__old);
++ return _M_convert_from_char(__msg);
++# elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return _M_convert_from_char(__msg);
++# else
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ return _M_convert_from_char(__msg);
++# endif
++ }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,118 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix prototypes for *textdomain funcs
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__textdomain(const char *domainname);
++extern "C" char *__bindtextdomain(const char *domainname,
++ const char *dirname);
++#else
++#undef __textdomain
++#undef __bindtextdomain
++#define __textdomain(D) ((void)0)
++#define __bindtextdomain(D,P) ((void)0)
++#endif
++
++ // Non-virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::messages(size_t __refs)
++ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
++ _M_name_messages(_S_get_c_name())
++ { }
++
++ template<typename _CharT>
++ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
++ size_t __refs)
++ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
++ _M_name_messages(__s)
++ {
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ _M_name_messages = __tmp;
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
++ const char* __dir) const
++ {
++ __bindtextdomain(__s.c_str(), __dir);
++ return this->do_open(__s, __loc);
++ }
++
++ // Virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::~messages()
++ {
++ if (_M_name_messages != _S_get_c_name())
++ delete [] _M_name_messages;
++ _S_destroy_c_locale(_M_c_locale_messages);
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::do_open(const basic_string<char>& __s,
++ const locale&) const
++ {
++ // No error checking is done, assume the catalog exists and can
++ // be used.
++ __textdomain(__s.c_str());
++ return 0;
++ }
++
++ template<typename _CharT>
++ void
++ messages<_CharT>::do_close(catalog) const
++ { }
++
++ // messages_byname
++ template<typename _CharT>
++ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
++ : messages<_CharT>(__refs)
++ {
++ if (this->_M_name_messages != locale::facet::_S_get_c_name())
++ delete [] this->_M_name_messages;
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ this->_M_name_messages = __tmp;
++
++ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++ {
++ this->_S_destroy_c_locale(this->_M_c_locale_messages);
++ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
++ }
++ }
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,698 @@
++// std::moneypunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning optimize this for uclibc
++#warning tailor for stub locale support
++#endif
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ // Construct and return valid pattern consisting of some combination of:
++ // space none symbol sign value
++ money_base::pattern
++ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
++ {
++ pattern __ret;
++
++ // This insanely complicated routine attempts to construct a valid
++ // pattern for use with monyepunct. A couple of invariants:
++
++ // if (__precedes) symbol -> value
++ // else value -> symbol
++
++ // if (__space) space
++ // else none
++
++ // none == never first
++ // space never first or last
++
++ // Any elegant implementations of this are welcome.
++ switch (__posn)
++ {
++ case 0:
++ case 1:
++ // 1 The sign precedes the value and symbol.
++ __ret.field[0] = sign;
++ if (__space)
++ {
++ // Pattern starts with sign.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[3] = symbol;
++ }
++ __ret.field[2] = space;
++ }
++ else
++ {
++ // Pattern starts with sign and ends with none.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[3] = none;
++ }
++ break;
++ case 2:
++ // 2 The sign follows the value and symbol.
++ if (__space)
++ {
++ // Pattern either ends with sign.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[1] = space;
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ // Pattern ends with sign then none.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = symbol;
++ }
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ break;
++ case 3:
++ // 3 The sign immediately precedes the symbol.
++ if (__precedes)
++ {
++ __ret.field[0] = sign;
++ __ret.field[1] = symbol;
++ if (__space)
++ {
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[2] = value;
++ __ret.field[3] = none;
++ }
++ }
++ else
++ {
++ __ret.field[0] = value;
++ if (__space)
++ {
++ __ret.field[1] = space;
++ __ret.field[2] = sign;
++ __ret.field[3] = symbol;
++ }
++ else
++ {
++ __ret.field[1] = sign;
++ __ret.field[2] = symbol;
++ __ret.field[3] = none;
++ }
++ }
++ break;
++ case 4:
++ // 4 The sign immediately follows the symbol.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = sign;
++ if (__space)
++ {
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[2] = value;
++ __ret.field[3] = none;
++ }
++ }
++ else
++ {
++ __ret.field[0] = value;
++ if (__space)
++ {
++ __ret.field[1] = space;
++ __ret.field[2] = symbol;
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ }
++ break;
++ default:
++ ;
++ }
++ return __ret;
++ }
++
++ template<>
++ void
++ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<char, true>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = "";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = "";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = "";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++ __cloc));
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_data->_M_negative_sign = "()";
++ else
++ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++ __cloc);
++ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++ // _Intl == true
++ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++ __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++ }
++ }
++
++ template<>
++ void
++ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<char, false>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = "";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = "";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = "";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++ __cloc));
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_data->_M_negative_sign = "()";
++ else
++ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++ __cloc);
++ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++ // _Intl == false
++ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++ }
++ }
++
++ template<>
++ moneypunct<char, true>::~moneypunct()
++ { delete _M_data; }
++
++ template<>
++ moneypunct<char, false>::~moneypunct()
++ { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<wchar_t, true>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ // Use ctype::widen code without the facet...
++ unsigned char uc;
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ {
++ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
++ _M_data->_M_atoms[__i] = btowc(uc);
++ }
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union __s_and_w { const char *__s; unsigned int __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
++
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
++#endif
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++
++ wchar_t* __wcs_ps = 0;
++ wchar_t* __wcs_ns = 0;
++ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ try
++ {
++ mbstate_t __state;
++ size_t __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ps = new wchar_t[__len];
++ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++ _M_data->_M_positive_sign = __wcs_ps;
++ }
++ else
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_data->_M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ns = new wchar_t[__len];
++ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++ _M_data->_M_negative_sign = __wcs_ns;
++ }
++ else
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_data->_M_curr_symbol = __wcs;
++ }
++ else
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++ }
++ catch (...)
++ {
++ delete _M_data;
++ _M_data = 0;
++ delete __wcs_ps;
++ delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ __throw_exception_again;
++ }
++
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++ __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ void
++ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<wchar_t, false>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ // Use ctype::widen code without the facet...
++ unsigned char uc;
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ {
++ uc = static_cast<unsigned char>(money_base::_S_atoms[__i]);
++ _M_data->_M_atoms[__i] = btowc(uc);
++ }
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union __s_and_w { const char *__s; unsigned int __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
++
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
++#endif
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++
++ wchar_t* __wcs_ps = 0;
++ wchar_t* __wcs_ns = 0;
++ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ try
++ {
++ mbstate_t __state;
++ size_t __len;
++ __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ps = new wchar_t[__len];
++ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++ _M_data->_M_positive_sign = __wcs_ps;
++ }
++ else
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_data->_M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ns = new wchar_t[__len];
++ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++ _M_data->_M_negative_sign = __wcs_ns;
++ }
++ else
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_data->_M_curr_symbol = __wcs;
++ }
++ else
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++ }
++ catch (...)
++ {
++ delete _M_data;
++ _M_data = 0;
++ delete __wcs_ps;
++ delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ __throw_exception_again;
++ }
++
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ moneypunct<wchar_t, true>::~moneypunct()
++ {
++ if (_M_data->_M_positive_sign_size)
++ delete [] _M_data->_M_positive_sign;
++ if (_M_data->_M_negative_sign_size
++ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++ delete [] _M_data->_M_negative_sign;
++ if (_M_data->_M_curr_symbol_size)
++ delete [] _M_data->_M_curr_symbol;
++ delete _M_data;
++ }
++
++ template<>
++ moneypunct<wchar_t, false>::~moneypunct()
++ {
++ if (_M_data->_M_positive_sign_size)
++ delete [] _M_data->_M_positive_sign;
++ if (_M_data->_M_negative_sign_size
++ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++ delete [] _M_data->_M_negative_sign;
++ if (_M_data->_M_curr_symbol_size)
++ delete [] _M_data->_M_curr_symbol;
++ delete _M_data;
++ }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,183 @@
++// std::numpunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __numpunct_cache<char>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_use_grouping = false;
++
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++
++ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
++
++ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
++ __cloc));
++
++ // Check for NULL, which implies no grouping.
++ if (_M_data->_M_thousands_sep == '\0')
++ _M_data->_M_grouping = "";
++ else
++ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ }
++
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_data->_M_truename = "true";
++ _M_data->_M_truename_size = strlen(_M_data->_M_truename);
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_data->_M_falsename = "false";
++ _M_data->_M_falsename_size = strlen(_M_data->_M_falsename);
++ }
++
++ template<>
++ numpunct<char>::~numpunct()
++ { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __numpunct_cache<wchar_t>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_use_grouping = false;
++
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_S_get_c_locale());
++#endif
++ // Use ctype::widen code without the facet...
++ unsigned char uc;
++ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++ {
++ uc = static_cast<unsigned char>(__num_base::_S_atoms_out[__i]);
++ _M_data->_M_atoms_out[__i] = btowc(uc);
++ }
++
++ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++ {
++ uc = static_cast<unsigned char>(__num_base::_S_atoms_in[__j]);
++ _M_data->_M_atoms_in[__j] = btowc(uc);
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union __s_and_w { const char *__s; unsigned int __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = static_cast<wchar_t>(__u.__w);
++
++ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = static_cast<wchar_t>(__u.__w);
++#endif
++
++ if (_M_data->_M_thousands_sep == L'\0')
++ _M_data->_M_grouping = "";
++ else
++ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ }
++
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_data->_M_truename = L"true";
++ _M_data->_M_truename_size = wcslen(_M_data->_M_truename);
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_data->_M_falsename = L"false";
++ _M_data->_M_falsename_size = wcslen(_M_data->_M_falsename);
++ }
++
++ template<>
++ numpunct<wchar_t>::~numpunct()
++ { delete _M_data; }
++ #endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2004-09-10 10:48:00.000000000 -0500
+@@ -0,0 +1,356 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __timepunct<char>::
++ _M_put(char* __s, size_t __maxlen, const char* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
++ _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ const size_t __len = strftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ // Make sure __s is null terminated.
++ if (__len == 0)
++ __s[0] = '\0';
++ }
++
++ template<>
++ void
++ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __timepunct_cache<char>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_get_c_locale();
++
++ _M_data->_M_date_format = "%m/%d/%y";
++ _M_data->_M_date_era_format = "%m/%d/%y";
++ _M_data->_M_time_format = "%H:%M:%S";
++ _M_data->_M_time_era_format = "%H:%M:%S";
++ _M_data->_M_date_time_format = "";
++ _M_data->_M_date_time_era_format = "";
++ _M_data->_M_am = "AM";
++ _M_data->_M_pm = "PM";
++ _M_data->_M_am_pm_format = "";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = "Sunday";
++ _M_data->_M_day2 = "Monday";
++ _M_data->_M_day3 = "Tuesday";
++ _M_data->_M_day4 = "Wednesday";
++ _M_data->_M_day5 = "Thursday";
++ _M_data->_M_day6 = "Friday";
++ _M_data->_M_day7 = "Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = "Sun";
++ _M_data->_M_aday2 = "Mon";
++ _M_data->_M_aday3 = "Tue";
++ _M_data->_M_aday4 = "Wed";
++ _M_data->_M_aday5 = "Thu";
++ _M_data->_M_aday6 = "Fri";
++ _M_data->_M_aday7 = "Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = "January";
++ _M_data->_M_month02 = "February";
++ _M_data->_M_month03 = "March";
++ _M_data->_M_month04 = "April";
++ _M_data->_M_month05 = "May";
++ _M_data->_M_month06 = "June";
++ _M_data->_M_month07 = "July";
++ _M_data->_M_month08 = "August";
++ _M_data->_M_month09 = "September";
++ _M_data->_M_month10 = "October";
++ _M_data->_M_month11 = "November";
++ _M_data->_M_month12 = "December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = "Jan";
++ _M_data->_M_amonth02 = "Feb";
++ _M_data->_M_amonth03 = "Mar";
++ _M_data->_M_amonth04 = "Apr";
++ _M_data->_M_amonth05 = "May";
++ _M_data->_M_amonth06 = "Jun";
++ _M_data->_M_amonth07 = "Jul";
++ _M_data->_M_amonth08 = "Aug";
++ _M_data->_M_amonth09 = "Sep";
++ _M_data->_M_amonth10 = "Oct";
++ _M_data->_M_amonth11 = "Nov";
++ _M_data->_M_amonth12 = "Dec";
++ }
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
++ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
++ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
++ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
++ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
++ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT, __cloc);
++ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
++ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
++ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
++ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
++ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
++ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
++ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
++ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
++ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
++ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
++ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
++ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
++ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
++ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
++ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
++ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
++ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
++ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
++ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
++ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
++ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
++ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
++ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
++ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
++ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
++ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
++ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
++ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
++ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
++ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
++ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
++ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
++ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
++ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
++ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
++ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
++ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
++ }
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ __timepunct<wchar_t>::
++ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
++ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
++ _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ // Make sure __s is null terminated.
++ if (__len == 0)
++ __s[0] = L'\0';
++ }
++
++ template<>
++ void
++ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __timepunct_cache<wchar_t>;
++
++#warning wide time stuff
++// if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_get_c_locale();
++
++ _M_data->_M_date_format = L"%m/%d/%y";
++ _M_data->_M_date_era_format = L"%m/%d/%y";
++ _M_data->_M_time_format = L"%H:%M:%S";
++ _M_data->_M_time_era_format = L"%H:%M:%S";
++ _M_data->_M_date_time_format = L"";
++ _M_data->_M_date_time_era_format = L"";
++ _M_data->_M_am = L"AM";
++ _M_data->_M_pm = L"PM";
++ _M_data->_M_am_pm_format = L"";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = L"Sunday";
++ _M_data->_M_day2 = L"Monday";
++ _M_data->_M_day3 = L"Tuesday";
++ _M_data->_M_day4 = L"Wednesday";
++ _M_data->_M_day5 = L"Thursday";
++ _M_data->_M_day6 = L"Friday";
++ _M_data->_M_day7 = L"Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = L"Sun";
++ _M_data->_M_aday2 = L"Mon";
++ _M_data->_M_aday3 = L"Tue";
++ _M_data->_M_aday4 = L"Wed";
++ _M_data->_M_aday5 = L"Thu";
++ _M_data->_M_aday6 = L"Fri";
++ _M_data->_M_aday7 = L"Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = L"January";
++ _M_data->_M_month02 = L"February";
++ _M_data->_M_month03 = L"March";
++ _M_data->_M_month04 = L"April";
++ _M_data->_M_month05 = L"May";
++ _M_data->_M_month06 = L"June";
++ _M_data->_M_month07 = L"July";
++ _M_data->_M_month08 = L"August";
++ _M_data->_M_month09 = L"September";
++ _M_data->_M_month10 = L"October";
++ _M_data->_M_month11 = L"November";
++ _M_data->_M_month12 = L"December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = L"Jan";
++ _M_data->_M_amonth02 = L"Feb";
++ _M_data->_M_amonth03 = L"Mar";
++ _M_data->_M_amonth04 = L"Apr";
++ _M_data->_M_amonth05 = L"May";
++ _M_data->_M_amonth06 = L"Jun";
++ _M_data->_M_amonth07 = L"Jul";
++ _M_data->_M_amonth08 = L"Aug";
++ _M_data->_M_amonth09 = L"Sep";
++ _M_data->_M_amonth10 = L"Oct";
++ _M_data->_M_amonth11 = L"Nov";
++ _M_data->_M_amonth12 = L"Dec";
++ }
++#if 0
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ _M_data->_M_date_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_FMT, __cloc));
++ _M_data->_M_date_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_FMT, __cloc));
++ _M_data->_M_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT, __cloc));
++ _M_data->_M_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_T_FMT, __cloc));
++ _M_data->_M_date_time_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WD_T_FMT, __cloc));
++ _M_data->_M_date_time_era_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc));
++ _M_data->_M_am = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WAM_STR, __cloc));
++ _M_data->_M_pm = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WPM_STR, __cloc));
++ _M_data->_M_am_pm_format = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc));
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_1, __cloc));
++ _M_data->_M_day2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_2, __cloc));
++ _M_data->_M_day3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_3, __cloc));
++ _M_data->_M_day4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_4, __cloc));
++ _M_data->_M_day5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_5, __cloc));
++ _M_data->_M_day6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_6, __cloc));
++ _M_data->_M_day7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WDAY_7, __cloc));
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_1, __cloc));
++ _M_data->_M_aday2 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_2, __cloc));
++ _M_data->_M_aday3 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_3, __cloc));
++ _M_data->_M_aday4 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_4, __cloc));
++ _M_data->_M_aday5 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_5, __cloc));
++ _M_data->_M_aday6 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_6, __cloc));
++ _M_data->_M_aday7 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABDAY_7, __cloc));
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_1, __cloc));
++ _M_data->_M_month02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_2, __cloc));
++ _M_data->_M_month03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_3, __cloc));
++ _M_data->_M_month04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_4, __cloc));
++ _M_data->_M_month05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_5, __cloc));
++ _M_data->_M_month06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_6, __cloc));
++ _M_data->_M_month07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_7, __cloc));
++ _M_data->_M_month08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_8, __cloc));
++ _M_data->_M_month09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_9, __cloc));
++ _M_data->_M_month10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_10, __cloc));
++ _M_data->_M_month11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_11, __cloc));
++ _M_data->_M_month12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WMON_12, __cloc));
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_1, __cloc));
++ _M_data->_M_amonth02 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_2, __cloc));
++ _M_data->_M_amonth03 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_3, __cloc));
++ _M_data->_M_amonth04 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_4, __cloc));
++ _M_data->_M_amonth05 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_5, __cloc));
++ _M_data->_M_amonth06 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_6, __cloc));
++ _M_data->_M_amonth07 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_7, __cloc));
++ _M_data->_M_amonth08 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_8, __cloc));
++ _M_data->_M_amonth09 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_9, __cloc));
++ _M_data->_M_amonth10 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_10, __cloc));
++ _M_data->_M_amonth11 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_11, __cloc));
++ _M_data->_M_amonth12 = reinterpret_cast<wchar_t*>(__nl_langinfo_l(_NL_WABMON_12, __cloc));
++ }
++#endif // 0
++ }
++#endif
++}
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,68 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(size_t __refs)
++ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(_S_get_c_name())
++ { _M_initialize_timepunct(); }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
++ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(_S_get_c_name())
++ { _M_initialize_timepunct(); }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
++ size_t __refs)
++ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(__s)
++ {
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ _M_name_timepunct = __tmp;
++ _M_initialize_timepunct(__cloc);
++ }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::~__timepunct()
++ {
++ if (_M_name_timepunct != _S_get_c_name())
++ delete [] _M_name_timepunct;
++ delete _M_data;
++ _S_destroy_c_locale(_M_c_locale_timepunct);
++ }
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_base.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,58 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003
++// Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// Information as gleaned from /usr/include/ctype.h
++
++ struct ctype_base
++ {
++ // Note: In uClibc, the following two types depend on configuration.
++
++ // Non-standard typedefs.
++ typedef const __ctype_touplow_t* __to_type;
++
++ // NB: Offsets into ctype<char>::_M_table force a particular size
++ // on the mask type. Because of this, we don't use an enum.
++ typedef __ctype_mask_t mask;
++ static const mask upper = _ISupper;
++ static const mask lower = _ISlower;
++ static const mask alpha = _ISalpha;
++ static const mask digit = _ISdigit;
++ static const mask xdigit = _ISxdigit;
++ static const mask space = _ISspace;
++ static const mask print = _ISprint;
++ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
++ static const mask cntrl = _IScntrl;
++ static const mask punct = _ISpunct;
++ static const mask alnum = _ISalpha | _ISdigit;
++ };
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_inline.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,69 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
++// functions go in ctype.cc
++
++ bool
++ ctype<char>::
++ is(mask __m, char __c) const
++ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
++
++ const char*
++ ctype<char>::
++ is(const char* __low, const char* __high, mask* __vec) const
++ {
++ while (__low < __high)
++ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
++ return __high;
++ }
++
++ const char*
++ ctype<char>::
++ scan_is(mask __m, const char* __low, const char* __high) const
++ {
++ while (__low < __high
++ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
++ ++__low;
++ return __low;
++ }
++
++ const char*
++ ctype<char>::
++ scan_not(mask __m, const char* __low, const char* __high) const
++ {
++ while (__low < __high
++ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
++ ++__low;
++ return __low;
++ }
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,92 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
++// Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// Information as gleaned from /usr/include/ctype.h
++
++ const ctype_base::mask*
++ ctype<char>::classic_table() throw()
++ { return __C_ctype_b; }
++
++ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
++ size_t __refs)
++ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
++ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
++ {
++ _M_toupper = __C_ctype_toupper;
++ _M_tolower = __C_ctype_tolower;
++ _M_table = __table ? __table : __C_ctype_b;
++ memset(_M_widen, 0, sizeof(_M_widen));
++ memset(_M_narrow, 0, sizeof(_M_narrow));
++ }
++
++ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
++ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
++ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
++ {
++ _M_toupper = __C_ctype_toupper;
++ _M_tolower = __C_ctype_tolower;
++ _M_table = __table ? __table : __C_ctype_b;
++ memset(_M_widen, 0, sizeof(_M_widen));
++ memset(_M_narrow, 0, sizeof(_M_narrow));
++ }
++
++ char
++ ctype<char>::do_toupper(char __c) const
++ { return _M_toupper[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<char>::do_toupper(char* __low, const char* __high) const
++ {
++ while (__low < __high)
++ {
++ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
++ ++__low;
++ }
++ return __high;
++ }
++
++ char
++ ctype<char>::do_tolower(char __c) const
++ { return _M_tolower[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<char>::do_tolower(char* __low, const char* __high) const
++ {
++ while (__low < __high)
++ {
++ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
++ ++__low;
++ }
++ return __high;
++ }
+diff -urN gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h
+--- gcc-3.4.2-dist/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/config/os/uclibc/os_defines.h 2004-09-10 10:47:40.000000000 -0500
+@@ -0,0 +1,44 @@
++// Specific definitions for GNU/Linux -*- C++ -*-
++
++// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++#ifndef _GLIBCXX_OS_DEFINES
++#define _GLIBCXX_OS_DEFINES 1
++
++// System-specific #define, typedefs, corrections, etc, go here. This
++// file will come before all others.
++
++// This keeps isanum, et al from being propagated as macros.
++#define __NO_CTYPE 1
++
++#include <features.h>
++
++// We must not see the optimized string functions GNU libc defines.
++#define __NO_STRING_INLINES
++
++#endif
+diff -urN gcc-3.4.2-dist/libstdc++-v3/configure gcc-3.4.2/libstdc++-v3/configure
+--- gcc-3.4.2-dist/libstdc++-v3/configure 2004-08-13 15:44:04.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/configure 2004-09-10 10:47:40.000000000 -0500
+@@ -3878,6 +3878,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+@@ -5545,6 +5550,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case x${target_os} in
++ xlinux-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ xlinux* | xgnu* | xkfreebsd*-gnu | xknetbsd*-gnu)
+ cat >conftest.$ac_ext <<_ACEOF
+ #line $LINENO "configure"
+@@ -5759,6 +5767,77 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ echo "$as_me:$LINENO: result: uclibc" >&5
++echo "${ECHO_T}uclibc" >&6
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_check_msgfmt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$check_msgfmt"; then
++ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_check_msgfmt="yes"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
++ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
++fi
++fi
++check_msgfmt=$ac_cv_prog_check_msgfmt
++if test -n "$check_msgfmt"; then
++ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
++echo "${ECHO_T}$check_msgfmt" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++
++
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_H=config/locale/ieee_1003.1-2001/codecvt_specializations.h
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+diff -urN gcc-3.4.2-dist/libstdc++-v3/configure.host gcc-3.4.2/libstdc++-v3/configure.host
+--- gcc-3.4.2-dist/libstdc++-v3/configure.host 2004-08-27 14:52:30.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/configure.host 2004-09-10 10:47:40.000000000 -0500
+@@ -217,6 +217,12 @@
+ ;;
+ esac
+
++# Override for uClibc since linux-uclibc gets mishandled above.
++case "${host_os}" in
++ *-uclibc*)
++ os_include_dir="os/uclibc"
++ ;;
++esac
+
+ # Set any OS-dependent and CPU-dependent bits.
+ # THIS TABLE IS SORTED. KEEP IT THAT WAY.
+diff -urN gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 gcc-3.4.2/libstdc++-v3/crossconfig.m4
+--- gcc-3.4.2-dist/libstdc++-v3/crossconfig.m4 2004-07-06 20:23:49.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/crossconfig.m4 2004-09-10 10:47:40.000000000 -0500
+@@ -138,6 +138,99 @@
+ ;;
+ esac
+ ;;
++ *-uclibc*)
++# Temporary hack until we implement the float versions of the libm funcs
++ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
++ machine/endian.h machine/param.h sys/machine.h sys/types.h \
++ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
++ SECTION_FLAGS='-ffunction-sections -fdata-sections'
++ AC_SUBST(SECTION_FLAGS)
++ GLIBCXX_CHECK_LINKER_FEATURES
++ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
++ GLIBCXX_CHECK_WCHAR_T_SUPPORT
++
++ # For LFS.
++ AC_DEFINE(HAVE_INT64_T)
++ case "$target" in
++ *-uclinux*)
++ # Don't enable LFS with uClinux
++ ;;
++ *)
++ AC_DEFINE(_GLIBCXX_USE_LFS)
++ esac
++
++ # For showmanyc_helper().
++ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
++ GLIBCXX_CHECK_POLL
++ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
++
++ # For xsputn_2().
++ AC_CHECK_HEADERS(sys/uio.h)
++ GLIBCXX_CHECK_WRITEV
++
++# AC_DEFINE(HAVE_ACOSF)
++# AC_DEFINE(HAVE_ASINF)
++# AC_DEFINE(HAVE_ATANF)
++# AC_DEFINE(HAVE_ATAN2F)
++ AC_DEFINE(HAVE_CEILF)
++ AC_DEFINE(HAVE_COPYSIGN)
++# AC_DEFINE(HAVE_COPYSIGNF)
++# AC_DEFINE(HAVE_COSF)
++# AC_DEFINE(HAVE_COSHF)
++# AC_DEFINE(HAVE_EXPF)
++# AC_DEFINE(HAVE_FABSF)
++ AC_DEFINE(HAVE_FINITE)
++ AC_DEFINE(HAVE_FINITEF)
++ AC_DEFINE(HAVE_FLOORF)
++# AC_DEFINE(HAVE_FMODF)
++# AC_DEFINE(HAVE_FREXPF)
++ AC_DEFINE(HAVE_HYPOT)
++# AC_DEFINE(HAVE_HYPOTF)
++ AC_DEFINE(HAVE_ISINF)
++ AC_DEFINE(HAVE_ISINFF)
++ AC_DEFINE(HAVE_ISNAN)
++ AC_DEFINE(HAVE_ISNANF)
++# AC_DEFINE(HAVE_LOGF)
++# AC_DEFINE(HAVE_LOG10F)
++# AC_DEFINE(HAVE_MODFF)
++# AC_DEFINE(HAVE_SINF)
++# AC_DEFINE(HAVE_SINHF)
++# AC_DEFINE(HAVE_SINCOS)
++# AC_DEFINE(HAVE_SINCOSF)
++ AC_DEFINE(HAVE_SQRTF)
++# AC_DEFINE(HAVE_TANF)
++# AC_DEFINE(HAVE_TANHF)
++ if test x"long_double_math_on_this_cpu" = x"yes"; then
++ AC_MSG_ERROR([long_double_math_on_this_cpu is yes!])
++# AC_DEFINE(HAVE_ACOSL)
++# AC_DEFINE(HAVE_ASINL)
++# AC_DEFINE(HAVE_ATANL)
++# AC_DEFINE(HAVE_ATAN2L)
++# AC_DEFINE(HAVE_CEILL)
++# AC_DEFINE(HAVE_COPYSIGNL)
++# AC_DEFINE(HAVE_COSL)
++# AC_DEFINE(HAVE_COSHL)
++# AC_DEFINE(HAVE_EXPL)
++# AC_DEFINE(HAVE_FABSL)
++# AC_DEFINE(HAVE_FINITEL)
++# AC_DEFINE(HAVE_FLOORL)
++# AC_DEFINE(HAVE_FMODL)
++# AC_DEFINE(HAVE_FREXPL)
++# AC_DEFINE(HAVE_HYPOTL)
++# AC_DEFINE(HAVE_ISINFL)
++# AC_DEFINE(HAVE_ISNANL)
++# AC_DEFINE(HAVE_LOGL)
++# AC_DEFINE(HAVE_LOG10L)
++# AC_DEFINE(HAVE_MODFL)
++# AC_DEFINE(HAVE_POWL)
++# AC_DEFINE(HAVE_SINL)
++# AC_DEFINE(HAVE_SINHL)
++# AC_DEFINE(HAVE_SINCOSL)
++# AC_DEFINE(HAVE_SQRTL)
++# AC_DEFINE(HAVE_TANL)
++# AC_DEFINE(HAVE_TANHL)
++ fi
++ ;;
+ *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
+@@ -152,7 +245,7 @@
+ AC_DEFINE(HAVE_INT64_T)
+ case "$target" in
+ *-uclinux*)
+- # Don't enable LFS with uClibc
++ # Don't enable LFS with uClinux
+ ;;
+ *)
+ AC_DEFINE(_GLIBCXX_USE_LFS)
+diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h
+--- gcc-3.4.2-dist/libstdc++-v3/include/c_compatibility/wchar.h 2003-12-08 21:51:45.000000000 -0600
++++ gcc-3.4.2/libstdc++-v3/include/c_compatibility/wchar.h 2004-09-10 10:47:40.000000000 -0500
+@@ -101,7 +101,9 @@
+ using std::wmemcpy;
+ using std::wmemmove;
+ using std::wmemset;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using std::wcsftime;
++#endif
+
+ #if _GLIBCXX_USE_C99
+ using std::wcstold;
+diff -urN gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h
+--- gcc-3.4.2-dist/libstdc++-v3/include/c_std/std_cwchar.h 2004-07-20 03:52:12.000000000 -0500
++++ gcc-3.4.2/libstdc++-v3/include/c_std/std_cwchar.h 2004-09-10 10:47:40.000000000 -0500
+@@ -179,7 +179,9 @@
+ using ::wcscoll;
+ using ::wcscpy;
+ using ::wcscspn;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using ::wcsftime;
++#endif
+ using ::wcslen;
+ using ::wcsncat;
+ using ::wcsncmp;
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-uclibc-3.4.0-120-softfloat.patch b/meta/packages/gcc/gcc-3.4.4/gcc-uclibc-3.4.0-120-softfloat.patch
new file mode 100644
index 0000000000..f2431896cf
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-uclibc-3.4.0-120-softfloat.patch
@@ -0,0 +1,14 @@
+--- gcc-3.3.2-old/configure.in 2003-08-09 01:57:21.000000000 -0500
++++ gcc-3.3.2/configure.in 2004-01-15 12:46:29.000000000 -0600
+@@ -1418,6 +1418,11 @@
+ fi
+
+ FLAGS_FOR_TARGET=
++case " $targargs " in
++ *" --nfp "* | *" --without-float "*)
++ FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -msoft-float'
++ ;;
++esac
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $targargs " in
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc34-arm-ldm-peephole.patch b/meta/packages/gcc/gcc-3.4.4/gcc34-arm-ldm-peephole.patch
new file mode 100644
index 0000000000..92ad25d09c
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc34-arm-ldm-peephole.patch
@@ -0,0 +1,79 @@
+--- gcc-3.4.0/gcc/config/arm/arm.md.arm-ldm-peephole 2004-01-13 08:24:37.000000000 -0500
++++ gcc-3.4.0/gcc/config/arm/arm.md 2004-04-24 18:18:04.000000000 -0400
+@@ -8810,13 +8810,16 @@
+ (set_attr "length" "4,8,8")]
+ )
+
++; Try to convert LDR+LDR+arith into [add+]LDM+arith
++; On XScale, LDM is always slower than two LDRs, so only do this if
++; optimising for size.
+ (define_insn "*arith_adjacentmem"
+ [(set (match_operand:SI 0 "s_register_operand" "=r")
+ (match_operator:SI 1 "shiftable_operator"
+ [(match_operand:SI 2 "memory_operand" "m")
+ (match_operand:SI 3 "memory_operand" "m")]))
+ (clobber (match_scratch:SI 4 "=r"))]
+- "TARGET_ARM && adjacent_mem_locations (operands[2], operands[3])"
++ "TARGET_ARM && (!arm_tune_xscale || optimize_size) && adjacent_mem_locations (operands[2], operands[3])"
+ "*
+ {
+ rtx ldm[3];
+@@ -8851,6 +8854,8 @@
+ }
+ if (val1 && val2)
+ {
++ /* This would be a loss on a Harvard core, but adjacent_mem_locations()
++ will prevent it from happening. */
+ rtx ops[3];
+ ldm[0] = ops[0] = operands[4];
+ ops[1] = XEXP (XEXP (operands[2], 0), 0);
+--- gcc-3.4.0/gcc/genpeep.c.arm-ldm-peephole 2003-07-05 01:27:22.000000000 -0400
++++ gcc-3.4.0/gcc/genpeep.c 2004-04-24 18:18:04.000000000 -0400
+@@ -381,6 +381,7 @@
+ printf ("#include \"recog.h\"\n");
+ printf ("#include \"except.h\"\n\n");
+ printf ("#include \"function.h\"\n\n");
++ printf ("#include \"flags.h\"\n\n");
+
+ printf ("#ifdef HAVE_peephole\n");
+ printf ("extern rtx peep_operand[];\n\n");
+--- gcc/gcc/config/arm/arm.c.orig 2005-06-02 22:40:40.000000000 +0100
++++ gcc/gcc/config/arm/arm.c 2005-06-02 22:45:45.000000000 +0100
+@@ -4610,9 +4610,12 @@
+ if (arm_eliminable_register (reg0))
+ return 0;
+
++ /* For Harvard cores, only accept pairs where one offset is zero.
++ See comment in load_multiple_sequence. */
+ val_diff = val1 - val0;
+ return ((REGNO (reg0) == REGNO (reg1))
+- && (val_diff == 4 || val_diff == -4));
++ && (val_diff == 4 || val_diff == -4))
++ && (!arm_ld_sched || val0 == 0 || val1 == 0);
+ }
+
+ return 0;
+@@ -4857,6 +4860,11 @@
+ *load_offset = unsorted_offsets[order[0]];
+ }
+
++ /* For XScale a two-word LDM is a performance loss, so only do this if
++ size is more important. See comments in arm_gen_load_multiple. */
++ if (nops == 2 && arm_tune_xscale && !optimize_size)
++ return 0;
++
+ if (unsorted_offsets[order[0]] == 0)
+ return 1; /* ldmia */
+
+@@ -5083,6 +5091,11 @@
+ *load_offset = unsorted_offsets[order[0]];
+ }
+
++ /* For XScale a two-word LDM is a performance loss, so only do this if
++ size is more important. See comments in arm_gen_load_multiple. */
++ if (nops == 2 && arm_tune_xscale && !optimize_size)
++ return 0;
++
+ if (unsorted_offsets[order[0]] == 0)
+ return 1; /* stmia */
+
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc34-arm-ldm.patch b/meta/packages/gcc/gcc-3.4.4/gcc34-arm-ldm.patch
new file mode 100644
index 0000000000..142052fdf0
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc34-arm-ldm.patch
@@ -0,0 +1,119 @@
+--- gcc-3.4.0/gcc/config/arm/arm.c.arm-ldm 2004-02-27 09:51:05.000000000 -0500
++++ gcc-3.4.0/gcc/config/arm/arm.c 2004-04-24 18:16:25.000000000 -0400
+@@ -8520,6 +8520,26 @@
+ return_used_this_function = 0;
+ }
+
++/* Return the number (counting from 0) of
++ the least significant set bit in MASK. */
++
++#ifdef __GNUC__
++inline
++#endif
++static int
++number_of_first_bit_set (mask)
++ int mask;
++{
++ int bit;
++
++ for (bit = 0;
++ (mask & (1 << bit)) == 0;
++ ++bit)
++ continue;
++
++ return bit;
++}
++
+ const char *
+ arm_output_epilogue (rtx sibling)
+ {
+@@ -8753,27 +8773,47 @@
+ saved_regs_mask |= (1 << PC_REGNUM);
+ }
+
+- /* Load the registers off the stack. If we only have one register
+- to load use the LDR instruction - it is faster. */
+- if (saved_regs_mask == (1 << LR_REGNUM))
+- {
+- /* The exception handler ignores the LR, so we do
+- not really need to load it off the stack. */
+- if (eh_ofs)
+- asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
+- else
+- asm_fprintf (f, "\tldr\t%r, [%r], #4\n", LR_REGNUM, SP_REGNUM);
+- }
+- else if (saved_regs_mask)
++ if (saved_regs_mask)
+ {
+- if (saved_regs_mask & (1 << SP_REGNUM))
+- /* Note - write back to the stack register is not enabled
+- (ie "ldmfd sp!..."). We know that the stack pointer is
+- in the list of registers and if we add writeback the
+- instruction becomes UNPREDICTABLE. */
+- print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
++ /* Load the registers off the stack. If we only have one register
++ to load use the LDR instruction - it is faster. */
++ if (bit_count (saved_regs_mask) == 1)
++ {
++ int reg = number_of_first_bit_set (saved_regs_mask);
++
++ switch (reg)
++ {
++ case SP_REGNUM:
++ /* Mustn't use base writeback when loading SP. */
++ asm_fprintf (f, "\tldr\t%r, [%r]\n", SP_REGNUM, SP_REGNUM);
++ break;
++
++ case LR_REGNUM:
++ if (eh_ofs)
++ {
++ /* The exception handler ignores the LR, so we do
++ not really need to load it off the stack. */
++ asm_fprintf (f, "\tadd\t%r, %r, #4\n", SP_REGNUM, SP_REGNUM);
++ break;
++ }
++ /* else fall through */
++
++ default:
++ asm_fprintf (f, "\tldr\t%r, [%r], #4\n", reg, SP_REGNUM);
++ break;
++ }
++ }
+ else
+- print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
++ {
++ if (saved_regs_mask & (1 << SP_REGNUM))
++ /* Note - write back to the stack register is not enabled
++ (ie "ldmfd sp!..."). We know that the stack pointer is
++ in the list of registers and if we add writeback the
++ instruction becomes UNPREDICTABLE. */
++ print_multi_reg (f, "ldmfd\t%r", SP_REGNUM, saved_regs_mask);
++ else
++ print_multi_reg (f, "ldmfd\t%r!", SP_REGNUM, saved_regs_mask);
++ }
+ }
+
+ if (current_function_pretend_args_size)
+@@ -11401,22 +11441,6 @@
+ }
+ }
+
+-/* Return the number (counting from 0) of
+- the least significant set bit in MASK. */
+-
+-inline static int
+-number_of_first_bit_set (int mask)
+-{
+- int bit;
+-
+- for (bit = 0;
+- (mask & (1 << bit)) == 0;
+- ++bit)
+- continue;
+-
+- return bit;
+-}
+-
+ /* Generate code to return from a thumb function.
+ If 'reg_containing_return_addr' is -1, then the return address is
+ actually on the stack, at the stack pointer. */
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc34-arm-tune.patch b/meta/packages/gcc/gcc-3.4.4/gcc34-arm-tune.patch
new file mode 100644
index 0000000000..cdb20bef9b
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc34-arm-tune.patch
@@ -0,0 +1,9 @@
+--- gcc-3.4.0/gcc/config/arm/linux-elf.h.arm-tune 2004-01-31 01:18:11.000000000 -0500
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-04-24 18:19:10.000000000 -0400
+@@ -126,3 +126,6 @@
+
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
++
++/* Tune for XScale. */
++#define TARGET_TUNE_DEFAULT TARGET_CPU_xscale
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc34-configure.in.patch b/meta/packages/gcc/gcc-3.4.4/gcc34-configure.in.patch
new file mode 100644
index 0000000000..3d33bcb978
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc34-configure.in.patch
@@ -0,0 +1,22 @@
+--- gcc-3.4.4/configure.in.orig 2005-08-09 19:57:51.504323183 -0700
++++ gcc-3.4.4/configure.in 2005-08-09 20:00:12.073168623 -0700
+@@ -1907,7 +1907,7 @@
+ *) gxx_include_dir=${with_gxx_include_dir} ;;
+ esac
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+--- gcc-3.4.4/configure.orig 2005-08-09 21:02:29.668360660 -0700
++++ gcc-3.4.4/configure 2005-08-09 21:02:50.157649970 -0700
+@@ -2669,7 +2669,7 @@
+ *) gxx_include_dir=${with_gxx_include_dir} ;;
+ esac
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch b/meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch
new file mode 100644
index 0000000000..c3c40dd183
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch
@@ -0,0 +1,32 @@
+--- gcc-3.4.0/gcc/flow.c.reverse-compare 2004-02-27 22:39:19.000000000 -0500
++++ gcc-3.4.0/gcc/flow.c 2004-04-24 16:36:00.000000000 -0400
+@@ -1843,6 +1843,7 @@
+ regset_head diff_head;
+ regset diff = INITIALIZE_REG_SET (diff_head);
+ basic_block bb_true, bb_false;
++ enum rtx_code reversed_code;
+ int i;
+
+ /* Identify the successor blocks. */
+@@ -1889,8 +1890,11 @@
+ if (GET_CODE (reg) == REG
+ && XEXP (cond_true, 1) == const0_rtx)
+ {
+- rtx cond_false
+- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
++ rtx cond_false;
++ reversed_code = reverse_condition (GET_CODE (cond_true));
++ if (reversed_code == UNKNOWN)
++ goto skip;
++ cond_false = gen_rtx_fmt_ee (reversed_code,
+ GET_MODE (cond_true), XEXP (cond_true, 0),
+ XEXP (cond_true, 1));
+ if (GET_CODE (XEXP (set_src, 1)) == PC)
+@@ -1925,6 +1929,7 @@
+ }
+ }
+
++ skip:
+ FREE_REG_SET (diff);
+ }
+ #endif
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc34-thumb-support.patch b/meta/packages/gcc/gcc-3.4.4/gcc34-thumb-support.patch
new file mode 100644
index 0000000000..a4f156f8db
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc34-thumb-support.patch
@@ -0,0 +1,156 @@
+# This patch contains various fixes for the thumb code handling in GCC 3.4.4
+#
+# Most of these are minor fixes to code which is either missing (Linux thumb
+# div0, thumb clear instruction cache) or uses the wrong return mechanism
+# (libffi)
+#
+# There is also a significant design problem with the _call_via_rx code -
+# it cannot be in a shared library because a call via PLT simply won't
+# work (for _call_via_ip) and is very inefficient anyway.
+#
+# This is fixed in uclibc simply by incorporating the code into crti.S
+# (an extra 30 bytes for the 15 functions) even though not all link units
+# require all the code - there is so little of it. That doesn't work with
+# the crti.asm here because it is linked with libgcc.a which already defines
+# these symbols
+#
+--- gcc-3.4.4/gcc/config/arm/t-linux.orig 2005-08-09 08:55:02.181797492 -0700
++++ gcc-3.4.4/gcc/config/arm/t-linux 2005-08-09 08:58:22.766419486 -0700
+@@ -7,6 +7,7 @@
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _call_via_rX \
+ _fixsfsi _fixunssfsi
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+--- gcc-3.4.4/.pc/gcc34-thumb-support.patch/gcc/config/arm/lib1funcs.asm 2004-01-15 08:56:34.000000000 -0800
++++ gcc-3.4.4/gcc/config/arm/lib1funcs.asm 2005-09-21 21:32:03.376927755 -0700
+@@ -811,13 +811,18 @@
+
+ /* Constants taken from <asm/unistd.h> and <asm/signal.h> */
+ #define SIGFPE 8
++#if !defined __thumb__
+ #define __NR_SYSCALL_BASE 0x900000
++#else
++#define __NR_SYSCALL_BASE 0
++#endif
+ #define __NR_getpid (__NR_SYSCALL_BASE+ 20)
+ #define __NR_kill (__NR_SYSCALL_BASE+ 37)
+
+ .code 32
+ FUNC_START div0
+
++#if ! defined __thumb__
+ stmfd sp!, {r1, lr}
+ swi __NR_getpid
+ cmn r0, #1000
+@@ -825,6 +830,28 @@
+ mov r1, #SIGFPE
+ swi __NR_kill
+ RETLDM r1
++#else
++ push {r1, r7, lr}
++ mov r7, #__NR_getpid
++ swi 0
++ @ above the compare is with -1000, but the standard syscall
++ @ macro checks for -1..-125
++ add r0, #125
++ bcs 90f
++ sub r0, #125
++ mov r1, #SIGFPE
++ mov r7, #__NR_kill
++ swi 0
++90:
++#if __ARM_ARCH__ > 4
++ pop {r1, r7, pc}
++#else
++ @ on 4T that won't work
++ pop {r1, r7}
++ pop {r3}
++ bx r3
++#endif
++#endif
+
+ FUNC_END div0
+
+@@ -845,14 +872,14 @@
+ code here switches to the correct mode before executing the function. */
+
+ .text
+- .align 0
++ .align 1
+ .force_thumb
+
+ .macro call_via register
+ THUMB_FUNC_START _call_via_\register
++ .hidden SYM (_call_via_\register)
+
+ bx \register
+- nop
+
+ SIZE (_call_via_\register)
+ .endm
+@@ -903,6 +930,7 @@
+ .code 16
+
+ THUMB_FUNC_START _interwork_call_via_\register
++ .hidden SYM (_interwork_call_via_\register)
+
+ bx pc
+ nop
+--- gcc-3.4.4/.pc/gcc34-thumb-support.patch/gcc/config/arm/linux-gas.h 2003-06-19 14:47:06.000000000 -0700
++++ gcc-3.4.4/gcc/config/arm/linux-gas.h 2005-09-20 16:09:55.027862200 -0700
+@@ -56,6 +56,7 @@
+
+ /* Clear the instruction cache from `beg' to `end'. This makes an
+ inline system call to SYS_cacheflush. */
++#if !defined(__thumb__)
+ #define CLEAR_INSN_CACHE(BEG, END) \
+ { \
+ register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
+@@ -65,3 +66,18 @@
+ : "=r" (_beg) \
+ : "0" (_beg), "r" (_end), "r" (_flg)); \
+ }
++#else
++#define CLEAR_INSN_CACHE(BEG, END) \
++{ \
++ register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
++ register unsigned long _end __asm ("a2") = (unsigned long) (END); \
++ register unsigned long _flg __asm ("a3") = 0; \
++ register unsigned long _swi __asm ("a4") = 0xf0002; \
++ __asm __volatile ("push {r7}\n" \
++ " mov r7,a4\n" \
++ " swi 0 @ sys_cacheflush\n" \
++ " pop {r7}\n" \
++ : "=r" (_beg) \
++ : "0" (_beg), "r" (_end), "r" (_flg), "r" (_swi)); \
++}
++#endif
+--- gcc-3.4.4/.pc/gcc34-thumb-support.patch/libffi/src/arm/sysv.S 2003-10-21 12:01:55.000000000 -0700
++++ gcc-3.4.4/libffi/src/arm/sysv.S 2005-09-20 16:09:55.027862200 -0700
+@@ -41,6 +41,14 @@
+ #define ENTRY(x) .globl CNAME(x); .type CNAME(x),%function; CNAME(x):
+ #endif
+
++/* Get the correct return instruction */
++#if defined(__ARM_ARCH_4T__) || defined(__ARM_ARCH_5__) \
++ || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
++#define RET bx r
++#else
++#define RET mov pc,
++#endif
++
+ .text
+
+ # a1: ffi_prep_args
+@@ -66,7 +74,7 @@
+
+ # And call
+ mov lr, pc
+- mov pc, ip
++ RET ip
+
+ # move first 4 parameters in registers
+ ldr a1, [sp, #0]
diff --git a/meta/packages/gcc/gcc-3.4.4/sdk-libstdc++-includes.patch b/meta/packages/gcc/gcc-3.4.4/sdk-libstdc++-includes.patch
new file mode 100644
index 0000000000..4377c2143b
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/sdk-libstdc++-includes.patch
@@ -0,0 +1,22 @@
+--- gcc-3.4.1/libstdc++-v3/libmath/Makefile.am~ 2003-08-27 22:29:42.000000000 +0100
++++ gcc-3.4.1/libstdc++-v3/libmath/Makefile.am 2004-07-22 16:41:45.152130128 +0100
+@@ -32,7 +32,7 @@
+
+ libmath_la_SOURCES = stubs.c
+
+-AM_CPPFLAGS = $(CANADIAN_INCLUDES)
++AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
+
+ # Only compiling "C" sources in this directory.
+ LIBTOOL = @LIBTOOL@ --tag CC
+--- gcc-3.4.1/libstdc++-v3/fragment.am.old 2004-07-22 18:24:58.024083656 +0100
++++ gcc-3.4.1/libstdc++-v3/fragment.am 2004-07-22 18:24:59.019932264 +0100
+@@ -18,7 +18,7 @@
+ $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
+
+ # -I/-D flags to pass when compiling.
+-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
+
+
+
diff --git a/meta/packages/gcc/gcc-4.0.2/100-uclibc-conf.patch b/meta/packages/gcc/gcc-4.0.2/100-uclibc-conf.patch
new file mode 100644
index 0000000000..35445522f8
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/100-uclibc-conf.patch
@@ -0,0 +1,556 @@
+From:
+http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/100-uclibc-conf.patch?rev=13898
+
+--- gcc-4.0.2/gcc/config/t-linux-uclibc
++++ gcc-4.0.2/gcc/config/t-linux-uclibc
+@@ -0,0 +1,5 @@
++# Remove glibc specific files added in t-linux
++SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
++
++# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
++LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
+--- gcc-4.0.2/gcc/config.gcc
++++ gcc-4.0.2/gcc/config.gcc
+@@ -1778,7 +1778,7 @@
+ ;;
+ sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
+ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
+- sh-*-linux* | sh[346lbe]*-*-linux* | \
++ sh*-*-linux* | sh[346lbe]*-*-linux* | \
+ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
+ sh64-*-netbsd* | sh64l*-*-netbsd*)
+ tmake_file="${tmake_file} sh/t-sh sh/t-elf"
+@@ -2234,10 +2234,16 @@
+ *)
+ echo "*** Configuration ${target} not supported" 1>&2
+ exit 1
+ ;;
+ esac
++
++# Rather than hook into each target, just do it after all the linux
++# targets have been processed
++case ${target} in
++*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
++esac
+
+ case ${target} in
+ i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
+ tmake_file="${tmake_file} i386/t-gmm_malloc"
+ ;;
+--- gcc-4.0.2/gcc/config/alpha/linux-elf.h
++++ gcc-4.0.2/gcc/config/alpha/linux-elf.h
+@@ -27,7 +27,11 @@
+ #define SUBTARGET_EXTRA_SPECS \
+ { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
+
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
+ #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#endif
+
+ #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+--- gcc-4.0.2/gcc/config/arm/linux-elf.h
++++ gcc-4.0.2/gcc/config/arm/linux-elf.h
+@@ -81,14 +81,19 @@
+ #define ENDFILE_SPEC \
+ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
+
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
++#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#endif
+ #undef LINK_SPEC
+ #define LINK_SPEC "%{h*} %{version:-v} \
+ %{b} %{Wl,*:%*} \
+ %{static:-Bstatic} \
+ %{shared:-shared} \
+ %{symbolic:-Bsymbolic} \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
++ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "} \
+ -X \
+ %{mbig-endian:-EB}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+--- gcc-4.0.2/gcc/config/cris/linux.h
++++ gcc-4.0.2/gcc/config/cris/linux.h
+@@ -79,6 +79,25 @@
+ #undef CRIS_DEFAULT_CPU_VERSION
+ #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
+
++#ifdef USE_UCLIBC
++
++#undef CRIS_SUBTARGET_VERSION
++#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
++
++#undef CRIS_LINK_SUBTARGET_SPEC
++#define CRIS_LINK_SUBTARGET_SPEC \
++ "-mcrislinux\
++ -rpath-link include/asm/../..%s\
++ %{shared} %{static}\
++ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
++ %{!shared: \
++ %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
++ %{!r:%{O2|O3: --gc-sections}}"
++
++#else /* USE_UCLIBC */
++
+ #undef CRIS_SUBTARGET_VERSION
+ #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
+
+@@ -93,6 +112,8 @@
+ %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
+ %{!r:%{O2|O3: --gc-sections}}"
+
++#endif /* USE_UCLIBC */
++
+
+ /* Node: Run-time Target */
+
+--- gcc-4.0.2/gcc/config/i386/linux.h
++++ gcc-4.0.2/gcc/config/i386/linux.h
+@@ -107,6 +107,11 @@
+ #define LINK_EMULATION "elf_i386"
+ #define DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
++#ifdef USE_UCLIBC
++#undef DYNAMIC_LINKER
++#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#endif
++
+ #undef SUBTARGET_EXTRA_SPECS
+ #define SUBTARGET_EXTRA_SPECS \
+ { "link_emulation", LINK_EMULATION },\
+--- gcc-4.0.2/gcc/config/i386/linux64.h
++++ gcc-4.0.2/gcc/config/i386/linux64.h
+@@ -54,14 +54,21 @@
+ When the -shared link option is used a final link is not being
+ done. */
+
++#ifdef USE_UCLIBC
++#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
++#else
++#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
++#endif
+ #undef LINK_SPEC
+ #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
++ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
++ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
+ %{static:-static}}"
+
+ #define MULTILIB_DEFAULTS { "m64" }
+--- gcc-4.0.2/gcc/config/ia64/linux.h
++++ gcc-4.0.2/gcc/config/ia64/linux.h
+@@ -37,13 +37,18 @@
+ /* Define this for shared library support because it isn't in the main
+ linux.h file. */
+
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
++#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
++#endif
+ #undef LINK_SPEC
+ #define LINK_SPEC "\
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
++ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
+ %{static:-static}}"
+
+
+--- gcc-4.0.2/gcc/config/m68k/linux.h
++++ gcc-4.0.2/gcc/config/m68k/linux.h
+@@ -127,12 +127,17 @@
+
+ /* If ELF is the default format, we should not use /lib/elf. */
+
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
++#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
++#endif
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m m68kelf %{shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
++ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
+ %{static}}"
+
+ /* For compatibility with linux/a.out */
+--- gcc-4.0.2/gcc/config/mips/linux.h
++++ gcc-4.0.2/gcc/config/mips/linux.h
+@@ -108,14 +108,19 @@
+
+ /* Borrowed from sparc/linux.h */
+ #undef LINK_SPEC
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
++#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
++#endif
+ #define LINK_SPEC \
+ "%(endian_spec) \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
++ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
+ %{static:-static}}}"
+
+ #undef SUBTARGET_ASM_SPEC
+--- gcc-4.0.2/gcc/config/pa/pa-linux.h
++++ gcc-4.0.2/gcc/config/pa/pa-linux.h
+@@ -82,13 +82,18 @@
+ /* Define this for shared library support because it isn't in the main
+ linux.h file. */
+
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
++#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
++#endif
+ #undef LINK_SPEC
+ #define LINK_SPEC "\
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
++ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
+ %{static:-static}}"
+
+ /* glibc's profiling functions don't need gcc to allocate counters. */
+--- gcc-4.0.2/gcc/config/rs6000/linux.h
++++ gcc-4.0.2/gcc/config/rs6000/linux.h
+@@ -69,7 +69,11 @@
+ #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
+
+ #undef LINK_OS_DEFAULT_SPEC
++#ifdef USE_UCLIBC
++#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
++#else
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
++#endif
+
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
+--- gcc-4.0.2/gcc/config/rs6000/sysv4.h
++++ gcc-4.0.2/gcc/config/rs6000/sysv4.h
+@@ -949,6 +949,7 @@
+ mcall-linux : %(link_os_linux) ; \
+ mcall-gnu : %(link_os_gnu) ; \
+ mcall-netbsd : %(link_os_netbsd) ; \
++ mcall-linux-uclibc : %(link_os_linux_uclibc); \
+ mcall-openbsd: %(link_os_openbsd) ; \
+ : %(link_os_default) }"
+
+@@ -1127,6 +1128,10 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+
++#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
++
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+ # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
+ #endif
+@@ -1293,6 +1298,7 @@
+ { "link_os_sim", LINK_OS_SIM_SPEC }, \
+ { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
+ { "link_os_linux", LINK_OS_LINUX_SPEC }, \
++ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
+ { "link_os_gnu", LINK_OS_GNU_SPEC }, \
+ { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
+ { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
+--- gcc-4.0.2/gcc/config/s390/linux.h
++++ gcc-4.0.2/gcc/config/s390/linux.h
+@@ -77,6 +77,13 @@
+ #define MULTILIB_DEFAULTS { "m31" }
+ #endif
+
++#ifdef USE_UCLIBC
++#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
++#else
++#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
++#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
++#endif
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+@@ -86,8 +93,8 @@
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker: \
+- %{m31:-dynamic-linker /lib/ld.so.1} \
+- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
++ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
++ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
+
+
+ #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+--- gcc-4.0.2/gcc/config/sh/linux.h
++++ gcc-4.0.2/gcc/config/sh/linux.h
+@@ -67,11 +67,16 @@
+ #undef SUBTARGET_LINK_EMUL_SUFFIX
+ #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
+ #undef SUBTARGET_LINK_SPEC
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
++#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#endif
+ #define SUBTARGET_LINK_SPEC \
+ "%{shared:-shared} \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
++ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
+ %{static:-static}"
+
+ #undef LIB_SPEC
+--- gcc-4.0.2/gcc/config/sparc/linux.h
++++ gcc-4.0.2/gcc/config/sparc/linux.h
+@@ -130,14 +130,19 @@
+
+ /* If ELF is the default format, we should not use /lib/elf. */
+
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
++#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#endif
+ #undef LINK_SPEC
+ #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
++ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
+ %{static:-static}}}"
+
+ /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
+--- gcc-4.0.2/gcc/config/sparc/linux64.h
++++ gcc-4.0.2/gcc/config/sparc/linux64.h
+@@ -167,12 +166,17 @@
+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
+ { "link_arch", LINK_ARCH_SPEC },
+
++#ifdef USE_UCLIBC
++#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
++#else
++#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++#endif
+ #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
++ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
+ %{static:-static}}} \
+ "
+
+--- gcc-4.0.2/libtool.m4
++++ gcc-4.0.2/libtool.m4
+@@ -682,6 +682,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
+--- gcc-4.0.2/ltconfig
++++ gcc-4.0.2/ltconfig
+@@ -603,6 +603,7 @@
+
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
++linux-uclibc*) ;;
+ linux-gnu*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+@@ -1274,6 +1275,23 @@
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
++linux-uclibc*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ # This implies no fast_install, which is unacceptable.
++ # Some rework will be needed to allow for fast_install
++ # before this can be enabled.
++ hardcode_into_libs=yes
++ # Assume using the uClibc dynamic linker.
++ dynamic_linker="uClibc ld.so"
++ ;;
++
+ netbsd*)
+ need_lib_prefix=no
+ need_version=no
+--- gcc-4.0.2/libffi/configure
++++ gcc-4.0.2/libffi/configure
+@@ -3457,6 +3457,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- gcc-4.0.2/libgfortran/configure
++++ gcc-4.0.2/libgfortran/configure
+@@ -3681,6 +3681,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- gcc-4.0.2/libjava/configure
++++ gcc-4.0.2/libjava/configure
+@@ -4351,6 +4351,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- gcc-4.0.2/libmudflap/configure
++++ gcc-4.0.2/libmudflap/configure
+@@ -5380,6 +5380,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- gcc-4.0.2/libobjc/configure
++++ gcc-4.0.2/libobjc/configure
+@@ -3283,6 +3283,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- gcc-4.0.2/boehm-gc/configure
++++ gcc-4.0.2/boehm-gc/configure
+@@ -4320,6 +4320,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+--- gcc-4.0.2/configure
++++ gcc-4.0.2/configure
+@@ -1141,7 +1141,7 @@
+ ;;
+ "")
+ case "${target}" in
+- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
+ # Enable libmudflap by default in GNU and friends.
+ ;;
+ *-*-freebsd*)
+--- gcc-4.0.2/configure.in
++++ gcc-4.0.2/configure.in
+@@ -350,7 +350,7 @@
+ ;;
+ "")
+ case "${target}" in
+- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
+ # Enable libmudflap by default in GNU and friends.
+ ;;
+ *-*-freebsd*)
+--- gcc-4.0.2/contrib/regression/objs-gcc.sh
++++ gcc-4.0.2/contrib/regression/objs-gcc.sh
+@@ -105,6 +105,10 @@
+ then
+ make all-gdb all-dejagnu all-ld || exit 1
+ make install-gdb install-dejagnu install-ld || exit 1
++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
++ then
++ make all-gdb all-dejagnu all-ld || exit 1
++ make install-gdb install-dejagnu install-ld || exit 1
+ elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
+ make bootstrap || exit 1
+ make install || exit 1
+--- gcc-4.0.2/zlib/configure
++++ gcc-4.0.2/zlib/configure
+@@ -3426,6 +3426,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
diff --git a/meta/packages/gcc/gcc-4.0.2/200-uclibc-locale.patch b/meta/packages/gcc/gcc-4.0.2/200-uclibc-locale.patch
new file mode 100644
index 0000000000..8be03a5446
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/200-uclibc-locale.patch
@@ -0,0 +1,3240 @@
+From:
+http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/200-uclibc-locale.patch?rev=11715
+
+diff -urN gcc-4.0.0-100/libstdc++-v3/acinclude.m4 gcc-4.0.0/libstdc++-v3/acinclude.m4
+--- gcc-4.0.0-100/libstdc++-v3/acinclude.m4 2005-04-30 13:06:53.000000000 -0500
++++ gcc-4.0.0/libstdc++-v3/acinclude.m4 2005-04-28 20:19:01.000000000 -0500
+@@ -1104,7 +1104,7 @@
+ AC_MSG_CHECKING([for C locale to use])
+ GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
+ [use MODEL for target locale package],
+- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
++ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
+
+ # If they didn't use this option switch, or if they specified --enable
+ # with no specific model, we'll have to look for one. If they
+@@ -1120,6 +1120,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case ${target_os} in
++ *-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
+ AC_EGREP_CPP([_GLIBCXX_ok], [
+ #include <features.h>
+@@ -1263,6 +1266,40 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ AC_MSG_RESULT(uclibc)
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++ AC_SUBST(glibcxx_MOFILES)
++ AC_SUBST(glibcxx_POFILES)
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,59 @@
++// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
++
++// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++// Written by Jakub Jelinek <jakub@redhat.com>
++
++#include <clocale>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning clean this up
++#endif
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++
++extern "C" __typeof(iswctype_l) __iswctype_l;
++extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
++extern "C" __typeof(strcoll_l) __strcoll_l;
++extern "C" __typeof(strftime_l) __strftime_l;
++extern "C" __typeof(strtod_l) __strtod_l;
++extern "C" __typeof(strtof_l) __strtof_l;
++extern "C" __typeof(strtold_l) __strtold_l;
++extern "C" __typeof(strxfrm_l) __strxfrm_l;
++extern "C" __typeof(towlower_l) __towlower_l;
++extern "C" __typeof(towupper_l) __towupper_l;
++extern "C" __typeof(wcscoll_l) __wcscoll_l;
++extern "C" __typeof(wcsftime_l) __wcsftime_l;
++extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
++extern "C" __typeof(wctype_l) __wctype_l;
++extern "C" __typeof(newlocale) __newlocale;
++extern "C" __typeof(freelocale) __freelocale;
++extern "C" __typeof(duplocale) __duplocale;
++extern "C" __typeof(uselocale) __uselocale;
++
++#endif // GLIBC 2.3 and later
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.cc 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,160 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <cerrno> // For errno
++#include <locale>
++#include <stdexcept>
++#include <langinfo.h>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
++#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
++#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
++#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
++#define __strtof_l(S, E, L) strtof((S), (E))
++#define __strtod_l(S, E, L) strtod((S), (E))
++#define __strtold_l(S, E, L) strtold((S), (E))
++#warning should dummy __newlocale check for C|POSIX ?
++#define __newlocale(a, b, c) NULL
++#define __freelocale(a) ((void)0)
++#define __duplocale(a) __c_locale()
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ float __f = __strtof_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __f;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ double __d = __strtod_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __d;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ long double __ld = __strtold_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __ld;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ void
++ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
++ __c_locale __old)
++ {
++ __cloc = __newlocale(1 << LC_ALL, __s, __old);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ if (!__cloc)
++ {
++ // This named locale is not supported by the underlying OS.
++ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
++ "name not valid"));
++ }
++#endif
++ }
++
++ void
++ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
++ {
++ if (_S_get_c_locale() != __cloc)
++ __freelocale(__cloc);
++ }
++
++ __c_locale
++ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
++ { return __duplocale(__cloc); }
++} // namespace std
++
++namespace __gnu_cxx
++{
++ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
++ {
++ "LC_CTYPE",
++ "LC_NUMERIC",
++ "LC_TIME",
++ "LC_COLLATE",
++ "LC_MONETARY",
++ "LC_MESSAGES",
++#if _GLIBCXX_NUM_CATEGORIES != 0
++ "LC_PAPER",
++ "LC_NAME",
++ "LC_ADDRESS",
++ "LC_TELEPHONE",
++ "LC_MEASUREMENT",
++ "LC_IDENTIFICATION"
++#endif
++ };
++}
++
++namespace std
++{
++ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
++} // namespace std
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.h
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.h 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,115 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifndef _C_LOCALE_H
++#define _C_LOCALE_H 1
++
++#pragma GCC system_header
++
++#include <cstring> // get std::strlen
++#include <cstdio> // get std::snprintf or std::sprintf
++#include <clocale>
++#include <langinfo.h> // For codecvt
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC_HAS_LOCALE__
++#include <iconv.h> // For codecvt using iconv, iconv_t
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#include <libintl.h> // For messages
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning what is _GLIBCXX_C_LOCALE_GNU for
++#endif
++#define _GLIBCXX_C_LOCALE_GNU 1
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix categories
++#endif
++// #define _GLIBCXX_NUM_CATEGORIES 6
++#define _GLIBCXX_NUM_CATEGORIES 0
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++namespace __gnu_cxx
++{
++ extern "C" __typeof(uselocale) __uselocale;
++}
++#endif
++
++namespace std
++{
++#ifdef __UCLIBC_HAS_XLOCALE__
++ typedef __locale_t __c_locale;
++#else
++ typedef int* __c_locale;
++#endif
++
++ // Convert numeric value of type _Tv to string and return length of
++ // string. If snprintf is available use it, otherwise fall back to
++ // the unsafe sprintf which, in general, can be dangerous and should
++ // be avoided.
++ template<typename _Tv>
++ int
++ __convert_from_v(char* __out, const int __size, const char* __fmt,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ _Tv __v, const __c_locale& __cloc, int __prec)
++ {
++ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
++#else
++ _Tv __v, const __c_locale&, int __prec)
++ {
++# ifdef __UCLIBC_HAS_LOCALE__
++ char* __old = std::setlocale(LC_ALL, NULL);
++ char* __sav = new char[std::strlen(__old) + 1];
++ std::strcpy(__sav, __old);
++ std::setlocale(LC_ALL, "C");
++# endif
++#endif
++
++ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __gnu_cxx::__uselocale(__old);
++#elif defined __UCLIBC_HAS_LOCALE__
++ std::setlocale(LC_ALL, __sav);
++ delete [] __sav;
++#endif
++ return __ret;
++ }
++}
++
++#endif
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,306 @@
++// std::codecvt implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.5 - Template class codecvt
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++namespace std
++{
++ // Specializations.
++#ifdef _GLIBCXX_USE_WCHAR_T
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_out(state_type& __state, const intern_type* __from,
++ const intern_type* __from_end, const intern_type*& __from_next,
++ extern_type* __to, extern_type* __to_end,
++ extern_type*& __to_next) const
++ {
++ result __ret = ok;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
++ // in case we fall back to wcrtomb and then continue, in a loop.
++ // NB: wcsnrtombs is a GNU extension
++ for (__from_next = __from, __to_next = __to;
++ __from_next < __from_end && __to_next < __to_end
++ && __ret == ok;)
++ {
++ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
++ __from_end - __from_next);
++ if (!__from_chunk_end)
++ __from_chunk_end = __from_end;
++
++ __from = __from_next;
++ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
++ __from_chunk_end - __from_next,
++ __to_end - __to_next, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // wcrtomb.
++ for (; __from < __from_next; ++__from)
++ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
++ __state = __tmp_state;
++ __ret = error;
++ }
++ else if (__from_next && __from_next < __from_chunk_end)
++ {
++ __to_next += __conv;
++ __ret = partial;
++ }
++ else
++ {
++ __from_next = __from_chunk_end;
++ __to_next += __conv;
++ }
++
++ if (__from_next < __from_end && __ret == ok)
++ {
++ extern_type __buf[MB_LEN_MAX];
++ __tmp_state = __state;
++ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
++ if (__conv > static_cast<size_t>(__to_end - __to_next))
++ __ret = partial;
++ else
++ {
++ memcpy(__to_next, __buf, __conv);
++ __state = __tmp_state;
++ __to_next += __conv;
++ ++__from_next;
++ }
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_in(state_type& __state, const extern_type* __from,
++ const extern_type* __from_end, const extern_type*& __from_next,
++ intern_type* __to, intern_type* __to_end,
++ intern_type*& __to_next) const
++ {
++ result __ret = ok;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++ // in case we store a L'\0' and then continue, in a loop.
++ // NB: mbsnrtowcs is a GNU extension
++ for (__from_next = __from, __to_next = __to;
++ __from_next < __from_end && __to_next < __to_end
++ && __ret == ok;)
++ {
++ const extern_type* __from_chunk_end;
++ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
++ __from_end
++ - __from_next));
++ if (!__from_chunk_end)
++ __from_chunk_end = __from_end;
++
++ __from = __from_next;
++ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
++ __from_chunk_end - __from_next,
++ __to_end - __to_next, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // mbrtowc.
++ for (;; ++__to_next, __from += __conv)
++ {
++ __conv = mbrtowc(__to_next, __from, __from_end - __from,
++ &__tmp_state);
++ if (__conv == static_cast<size_t>(-1)
++ || __conv == static_cast<size_t>(-2))
++ break;
++ }
++ __from_next = __from;
++ __state = __tmp_state;
++ __ret = error;
++ }
++ else if (__from_next && __from_next < __from_chunk_end)
++ {
++ // It is unclear what to return in this case (see DR 382).
++ __to_next += __conv;
++ __ret = partial;
++ }
++ else
++ {
++ __from_next = __from_chunk_end;
++ __to_next += __conv;
++ }
++
++ if (__from_next < __from_end && __ret == ok)
++ {
++ if (__to_next < __to_end)
++ {
++ // XXX Probably wrong for stateful encodings
++ __tmp_state = __state;
++ ++__from_next;
++ *__to_next++ = L'\0';
++ }
++ else
++ __ret = partial;
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_encoding() const throw()
++ {
++ // XXX This implementation assumes that the encoding is
++ // stateless and is either single-byte or variable-width.
++ int __ret = 0;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++ if (MB_CUR_MAX == 1)
++ __ret = 1;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_max_length() const throw()
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++ // XXX Probably wrong for stateful encodings.
++ int __ret = MB_CUR_MAX;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_length(state_type& __state, const extern_type* __from,
++ const extern_type* __end, size_t __max) const
++ {
++ int __ret = 0;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++ // in case we advance past it and then continue, in a loop.
++ // NB: mbsnrtowcs is a GNU extension
++
++ // A dummy internal buffer is needed in order for mbsnrtocws to consider
++ // its fourth parameter (it wouldn't with NULL as first parameter).
++ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
++ * __max));
++ while (__from < __end && __max)
++ {
++ const extern_type* __from_chunk_end;
++ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
++ __end
++ - __from));
++ if (!__from_chunk_end)
++ __from_chunk_end = __end;
++
++ const extern_type* __tmp_from = __from;
++ size_t __conv = mbsnrtowcs(__to, &__from,
++ __from_chunk_end - __from,
++ __max, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // mbrtowc.
++ for (__from = __tmp_from;; __from += __conv)
++ {
++ __conv = mbrtowc(NULL, __from, __end - __from,
++ &__tmp_state);
++ if (__conv == static_cast<size_t>(-1)
++ || __conv == static_cast<size_t>(-2))
++ break;
++ }
++ __state = __tmp_state;
++ __ret += __from - __tmp_from;
++ break;
++ }
++ if (!__from)
++ __from = __from_chunk_end;
++
++ __ret += __from - __tmp_from;
++ __max -= __conv;
++
++ if (__from < __end && __max)
++ {
++ // XXX Probably wrong for stateful encodings
++ __tmp_state = __state;
++ ++__from;
++ ++__ret;
++ --__max;
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++#endif
++}
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/collate_members.cc
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/collate_members.cc 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,80 @@
++// std::collate implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
++#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
++#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
++#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
++#endif
++
++namespace std
++{
++ // These are basically extensions to char_traits, and perhaps should
++ // be put there instead of here.
++ template<>
++ int
++ collate<char>::_M_compare(const char* __one, const char* __two) const
++ {
++ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<char>::_M_transform(char* __to, const char* __from,
++ size_t __n) const
++ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ int
++ collate<wchar_t>::_M_compare(const wchar_t* __one,
++ const wchar_t* __two) const
++ {
++ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
++ size_t __n) const
++ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++#endif
++}
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,300 @@
++// std::ctype implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __wctype_l(S, L) wctype((S))
++#define __towupper_l(C, L) towupper((C))
++#define __towlower_l(C, L) towlower((C))
++#define __iswctype_l(C, M, L) iswctype((C), (M))
++#endif
++
++namespace std
++{
++ // NB: The other ctype<char> specializations are in src/locale.cc and
++ // various /config/os/* files.
++ template<>
++ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
++ : ctype<char>(0, false, __refs)
++ {
++ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++ {
++ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
++ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
++ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
++ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
++#endif
++ }
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ ctype<wchar_t>::__wmask_type
++ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
++ {
++ __wmask_type __ret;
++ switch (__m)
++ {
++ case space:
++ __ret = __wctype_l("space", _M_c_locale_ctype);
++ break;
++ case print:
++ __ret = __wctype_l("print", _M_c_locale_ctype);
++ break;
++ case cntrl:
++ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
++ break;
++ case upper:
++ __ret = __wctype_l("upper", _M_c_locale_ctype);
++ break;
++ case lower:
++ __ret = __wctype_l("lower", _M_c_locale_ctype);
++ break;
++ case alpha:
++ __ret = __wctype_l("alpha", _M_c_locale_ctype);
++ break;
++ case digit:
++ __ret = __wctype_l("digit", _M_c_locale_ctype);
++ break;
++ case punct:
++ __ret = __wctype_l("punct", _M_c_locale_ctype);
++ break;
++ case xdigit:
++ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
++ break;
++ case alnum:
++ __ret = __wctype_l("alnum", _M_c_locale_ctype);
++ break;
++ case graph:
++ __ret = __wctype_l("graph", _M_c_locale_ctype);
++ break;
++ default:
++ __ret = __wmask_type();
++ }
++ return __ret;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_toupper(wchar_t __c) const
++ { return __towupper_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_tolower(wchar_t __c) const
++ { return __towlower_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ bool
++ ctype<wchar_t>::
++ do_is(mask __m, wchar_t __c) const
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ bool __ret = false;
++ const size_t __bitmasksize = 11;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__m & _M_bit[__bitcur]
++ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
++ {
++ __ret = true;
++ break;
++ }
++ return __ret;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
++ {
++ for (; __lo < __hi; ++__vec, ++__lo)
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ const size_t __bitmasksize = 11;
++ mask __m = 0;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
++ __m |= _M_bit[__bitcur];
++ *__vec = __m;
++ }
++ return __hi;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi && !this->do_is(__m, *__lo))
++ ++__lo;
++ return __lo;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
++ {
++ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
++ ++__lo;
++ return __lo;
++ }
++
++ wchar_t
++ ctype<wchar_t>::
++ do_widen(char __c) const
++ { return _M_widen[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<wchar_t>::
++ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
++ {
++ while (__lo < __hi)
++ {
++ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
++ ++__lo;
++ ++__dest;
++ }
++ return __hi;
++ }
++
++ char
++ ctype<wchar_t>::
++ do_narrow(wchar_t __wc, char __dfault) const
++ {
++ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
++ return _M_narrow[__wc];
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ const int __c = wctob(__wc);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
++ char* __dest) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ if (_M_narrow_ok)
++ while (__lo < __hi)
++ {
++ if (*__lo >= 0 && *__lo < 128)
++ *__dest = _M_narrow[*__lo];
++ else
++ {
++ const int __c = wctob(*__lo);
++ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++ ++__lo;
++ ++__dest;
++ }
++ else
++ while (__lo < __hi)
++ {
++ const int __c = wctob(*__lo);
++ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++ ++__lo;
++ ++__dest;
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __hi;
++ }
++
++ void
++ ctype<wchar_t>::_M_initialize_ctype()
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ wint_t __i;
++ for (__i = 0; __i < 128; ++__i)
++ {
++ const int __c = wctob(__i);
++ if (__c == EOF)
++ break;
++ else
++ _M_narrow[__i] = static_cast<char>(__c);
++ }
++ if (__i == 128)
++ _M_narrow_ok = true;
++ else
++ _M_narrow_ok = false;
++ for (size_t __j = 0;
++ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
++ _M_widen[__j] = btowc(__j);
++
++ for (size_t __k = 0; __k <= 11; ++__k)
++ {
++ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
++ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ }
++#endif // _GLIBCXX_USE_WCHAR_T
++}
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.cc
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.cc 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,100 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix gettext stuff
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__dcgettext(const char *domainname,
++ const char *msgid, int category);
++#undef gettext
++#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#else
++#undef gettext
++#define gettext(msgid) (msgid)
++#endif
++
++namespace std
++{
++ // Specializations.
++ template<>
++ string
++ messages<char>::do_get(catalog, int, int, const string& __dfault) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
++ __uselocale(__old);
++ return string(__msg);
++#elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ const char* __msg = gettext(__dfault.c_str());
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return string(__msg);
++#else
++ const char* __msg = gettext(__dfault.c_str());
++ return string(__msg);
++#endif
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ wstring
++ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
++ {
++# ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ __uselocale(__old);
++ return _M_convert_from_char(__msg);
++# elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return _M_convert_from_char(__msg);
++# else
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ return _M_convert_from_char(__msg);
++# endif
++ }
++#endif
++}
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.h
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.h 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,118 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix prototypes for *textdomain funcs
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__textdomain(const char *domainname);
++extern "C" char *__bindtextdomain(const char *domainname,
++ const char *dirname);
++#else
++#undef __textdomain
++#undef __bindtextdomain
++#define __textdomain(D) ((void)0)
++#define __bindtextdomain(D,P) ((void)0)
++#endif
++
++ // Non-virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::messages(size_t __refs)
++ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
++ _M_name_messages(_S_get_c_name())
++ { }
++
++ template<typename _CharT>
++ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
++ size_t __refs)
++ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
++ _M_name_messages(__s)
++ {
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ _M_name_messages = __tmp;
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
++ const char* __dir) const
++ {
++ __bindtextdomain(__s.c_str(), __dir);
++ return this->do_open(__s, __loc);
++ }
++
++ // Virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::~messages()
++ {
++ if (_M_name_messages != _S_get_c_name())
++ delete [] _M_name_messages;
++ _S_destroy_c_locale(_M_c_locale_messages);
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::do_open(const basic_string<char>& __s,
++ const locale&) const
++ {
++ // No error checking is done, assume the catalog exists and can
++ // be used.
++ __textdomain(__s.c_str());
++ return 0;
++ }
++
++ template<typename _CharT>
++ void
++ messages<_CharT>::do_close(catalog) const
++ { }
++
++ // messages_byname
++ template<typename _CharT>
++ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
++ : messages<_CharT>(__refs)
++ {
++ if (this->_M_name_messages != locale::facet::_S_get_c_name())
++ delete [] this->_M_name_messages;
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ this->_M_name_messages = __tmp;
++
++ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++ {
++ this->_S_destroy_c_locale(this->_M_c_locale_messages);
++ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
++ }
++ }
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2005-04-28 01:23:02.000000000 -0500
+@@ -0,0 +1,692 @@
++// std::moneypunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning optimize this for uclibc
++#warning tailor for stub locale support
++#endif
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ // Construct and return valid pattern consisting of some combination of:
++ // space none symbol sign value
++ money_base::pattern
++ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
++ {
++ pattern __ret;
++
++ // This insanely complicated routine attempts to construct a valid
++ // pattern for use with monyepunct. A couple of invariants:
++
++ // if (__precedes) symbol -> value
++ // else value -> symbol
++
++ // if (__space) space
++ // else none
++
++ // none == never first
++ // space never first or last
++
++ // Any elegant implementations of this are welcome.
++ switch (__posn)
++ {
++ case 0:
++ case 1:
++ // 1 The sign precedes the value and symbol.
++ __ret.field[0] = sign;
++ if (__space)
++ {
++ // Pattern starts with sign.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[3] = symbol;
++ }
++ __ret.field[2] = space;
++ }
++ else
++ {
++ // Pattern starts with sign and ends with none.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[3] = none;
++ }
++ break;
++ case 2:
++ // 2 The sign follows the value and symbol.
++ if (__space)
++ {
++ // Pattern either ends with sign.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[1] = space;
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ // Pattern ends with sign then none.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = symbol;
++ }
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ break;
++ case 3:
++ // 3 The sign immediately precedes the symbol.
++ if (__precedes)
++ {
++ __ret.field[0] = sign;
++ __ret.field[1] = symbol;
++ if (__space)
++ {
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[2] = value;
++ __ret.field[3] = none;
++ }
++ }
++ else
++ {
++ __ret.field[0] = value;
++ if (__space)
++ {
++ __ret.field[1] = space;
++ __ret.field[2] = sign;
++ __ret.field[3] = symbol;
++ }
++ else
++ {
++ __ret.field[1] = sign;
++ __ret.field[2] = symbol;
++ __ret.field[3] = none;
++ }
++ }
++ break;
++ case 4:
++ // 4 The sign immediately follows the symbol.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = sign;
++ if (__space)
++ {
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[2] = value;
++ __ret.field[3] = none;
++ }
++ }
++ else
++ {
++ __ret.field[0] = value;
++ if (__space)
++ {
++ __ret.field[1] = space;
++ __ret.field[2] = symbol;
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ }
++ break;
++ default:
++ __ret = pattern();
++ }
++ return __ret;
++ }
++
++ template<>
++ void
++ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<char, true>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = "";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = "";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = "";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++ __cloc));
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_data->_M_negative_sign = "()";
++ else
++ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++ __cloc);
++ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++ // _Intl == true
++ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++ __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++ }
++ }
++
++ template<>
++ void
++ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<char, false>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = "";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = "";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = "";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++ __cloc));
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_data->_M_negative_sign = "()";
++ else
++ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++ __cloc);
++ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++ // _Intl == false
++ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++ }
++ }
++
++ template<>
++ moneypunct<char, true>::~moneypunct()
++ { delete _M_data; }
++
++ template<>
++ moneypunct<char, false>::~moneypunct()
++ { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<wchar_t, true>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ // Use ctype::widen code without the facet...
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] =
++ static_cast<wchar_t>(money_base::_S_atoms[__i]);
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union { char *__s; wchar_t __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = __u.__w;
++
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = __u.__w;
++#endif
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++
++ wchar_t* __wcs_ps = 0;
++ wchar_t* __wcs_ns = 0;
++ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ try
++ {
++ mbstate_t __state;
++ size_t __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ps = new wchar_t[__len];
++ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++ _M_data->_M_positive_sign = __wcs_ps;
++ }
++ else
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_data->_M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ns = new wchar_t[__len];
++ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++ _M_data->_M_negative_sign = __wcs_ns;
++ }
++ else
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_data->_M_curr_symbol = __wcs;
++ }
++ else
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++ }
++ catch (...)
++ {
++ delete _M_data;
++ _M_data = 0;
++ delete __wcs_ps;
++ delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ __throw_exception_again;
++ }
++
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++ __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ void
++ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<wchar_t, false>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ // Use ctype::widen code without the facet...
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] =
++ static_cast<wchar_t>(money_base::_S_atoms[__i]);
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union { char *__s; wchar_t __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = __u.__w;
++
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = __u.__w;
++#endif
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++
++ wchar_t* __wcs_ps = 0;
++ wchar_t* __wcs_ns = 0;
++ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ try
++ {
++ mbstate_t __state;
++ size_t __len;
++ __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ps = new wchar_t[__len];
++ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++ _M_data->_M_positive_sign = __wcs_ps;
++ }
++ else
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_data->_M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ns = new wchar_t[__len];
++ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++ _M_data->_M_negative_sign = __wcs_ns;
++ }
++ else
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_data->_M_curr_symbol = __wcs;
++ }
++ else
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++ }
++ catch (...)
++ {
++ delete _M_data;
++ _M_data = 0;
++ delete __wcs_ps;
++ delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ __throw_exception_again;
++ }
++
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ moneypunct<wchar_t, true>::~moneypunct()
++ {
++ if (_M_data->_M_positive_sign_size)
++ delete [] _M_data->_M_positive_sign;
++ if (_M_data->_M_negative_sign_size
++ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++ delete [] _M_data->_M_negative_sign;
++ if (_M_data->_M_curr_symbol_size)
++ delete [] _M_data->_M_curr_symbol;
++ delete _M_data;
++ }
++
++ template<>
++ moneypunct<wchar_t, false>::~moneypunct()
++ {
++ if (_M_data->_M_positive_sign_size)
++ delete [] _M_data->_M_positive_sign;
++ if (_M_data->_M_negative_sign_size
++ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++ delete [] _M_data->_M_negative_sign;
++ if (_M_data->_M_curr_symbol_size)
++ delete [] _M_data->_M_curr_symbol;
++ delete _M_data;
++ }
++#endif
++}
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2005-04-28 01:20:20.000000000 -0500
+@@ -0,0 +1,173 @@
++// std::numpunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __numpunct_cache<char>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_use_grouping = false;
++
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++
++ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
++
++ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
++ __cloc));
++
++ // Check for NULL, which implies no grouping.
++ if (_M_data->_M_thousands_sep == '\0')
++ _M_data->_M_grouping = "";
++ else
++ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ }
++
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_data->_M_truename = "true";
++ _M_data->_M_truename_size = 4;
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_data->_M_falsename = "false";
++ _M_data->_M_falsename_size = 5;
++ }
++
++ template<>
++ numpunct<char>::~numpunct()
++ { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __numpunct_cache<wchar_t>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_use_grouping = false;
++
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++
++ // Use ctype::widen code without the facet...
++ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++ _M_data->_M_atoms_out[__i] =
++ static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
++
++ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++ _M_data->_M_atoms_in[__j] =
++ static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
++ }
++ else
++ {
++ // Named locale.
++ // NB: In the GNU model wchar_t is always 32 bit wide.
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union { char *__s; wchar_t __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = __u.__w;
++
++ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = __u.__w;
++#endif
++
++ if (_M_data->_M_thousands_sep == L'\0')
++ _M_data->_M_grouping = "";
++ else
++ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ }
++
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_data->_M_truename = L"true";
++ _M_data->_M_truename_size = 4;
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_data->_M_falsename = L"false";
++ _M_data->_M_falsename_size = 5;
++ }
++
++ template<>
++ numpunct<wchar_t>::~numpunct()
++ { delete _M_data; }
++ #endif
++}
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.cc
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.cc 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.cc 2005-04-28 01:13:15.000000000 -0500
+@@ -0,0 +1,406 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __timepunct<char>::
++ _M_put(char* __s, size_t __maxlen, const char* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
++ _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ const size_t __len = strftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ // Make sure __s is null terminated.
++ if (__len == 0)
++ __s[0] = '\0';
++ }
++
++ template<>
++ void
++ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __timepunct_cache<char>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_get_c_locale();
++
++ _M_data->_M_date_format = "%m/%d/%y";
++ _M_data->_M_date_era_format = "%m/%d/%y";
++ _M_data->_M_time_format = "%H:%M:%S";
++ _M_data->_M_time_era_format = "%H:%M:%S";
++ _M_data->_M_date_time_format = "";
++ _M_data->_M_date_time_era_format = "";
++ _M_data->_M_am = "AM";
++ _M_data->_M_pm = "PM";
++ _M_data->_M_am_pm_format = "";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = "Sunday";
++ _M_data->_M_day2 = "Monday";
++ _M_data->_M_day3 = "Tuesday";
++ _M_data->_M_day4 = "Wednesday";
++ _M_data->_M_day5 = "Thursday";
++ _M_data->_M_day6 = "Friday";
++ _M_data->_M_day7 = "Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = "Sun";
++ _M_data->_M_aday2 = "Mon";
++ _M_data->_M_aday3 = "Tue";
++ _M_data->_M_aday4 = "Wed";
++ _M_data->_M_aday5 = "Thu";
++ _M_data->_M_aday6 = "Fri";
++ _M_data->_M_aday7 = "Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = "January";
++ _M_data->_M_month02 = "February";
++ _M_data->_M_month03 = "March";
++ _M_data->_M_month04 = "April";
++ _M_data->_M_month05 = "May";
++ _M_data->_M_month06 = "June";
++ _M_data->_M_month07 = "July";
++ _M_data->_M_month08 = "August";
++ _M_data->_M_month09 = "September";
++ _M_data->_M_month10 = "October";
++ _M_data->_M_month11 = "November";
++ _M_data->_M_month12 = "December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = "Jan";
++ _M_data->_M_amonth02 = "Feb";
++ _M_data->_M_amonth03 = "Mar";
++ _M_data->_M_amonth04 = "Apr";
++ _M_data->_M_amonth05 = "May";
++ _M_data->_M_amonth06 = "Jun";
++ _M_data->_M_amonth07 = "Jul";
++ _M_data->_M_amonth08 = "Aug";
++ _M_data->_M_amonth09 = "Sep";
++ _M_data->_M_amonth10 = "Oct";
++ _M_data->_M_amonth11 = "Nov";
++ _M_data->_M_amonth12 = "Dec";
++ }
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
++ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
++ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
++ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
++ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
++ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
++ __cloc);
++ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
++ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
++ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
++ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
++ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
++ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
++ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
++ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
++ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
++ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
++ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
++ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
++ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
++ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
++ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
++ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
++ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
++ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
++ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
++ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
++ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
++ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
++ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
++ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
++ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
++ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
++ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
++ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
++ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
++ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
++ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
++ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
++ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
++ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
++ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
++ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
++ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
++ }
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ __timepunct<wchar_t>::
++ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
++ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
++ _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ // Make sure __s is null terminated.
++ if (__len == 0)
++ __s[0] = L'\0';
++ }
++
++ template<>
++ void
++ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __timepunct_cache<wchar_t>;
++
++#warning wide time stuff
++// if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_get_c_locale();
++
++ _M_data->_M_date_format = L"%m/%d/%y";
++ _M_data->_M_date_era_format = L"%m/%d/%y";
++ _M_data->_M_time_format = L"%H:%M:%S";
++ _M_data->_M_time_era_format = L"%H:%M:%S";
++ _M_data->_M_date_time_format = L"";
++ _M_data->_M_date_time_era_format = L"";
++ _M_data->_M_am = L"AM";
++ _M_data->_M_pm = L"PM";
++ _M_data->_M_am_pm_format = L"";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = L"Sunday";
++ _M_data->_M_day2 = L"Monday";
++ _M_data->_M_day3 = L"Tuesday";
++ _M_data->_M_day4 = L"Wednesday";
++ _M_data->_M_day5 = L"Thursday";
++ _M_data->_M_day6 = L"Friday";
++ _M_data->_M_day7 = L"Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = L"Sun";
++ _M_data->_M_aday2 = L"Mon";
++ _M_data->_M_aday3 = L"Tue";
++ _M_data->_M_aday4 = L"Wed";
++ _M_data->_M_aday5 = L"Thu";
++ _M_data->_M_aday6 = L"Fri";
++ _M_data->_M_aday7 = L"Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = L"January";
++ _M_data->_M_month02 = L"February";
++ _M_data->_M_month03 = L"March";
++ _M_data->_M_month04 = L"April";
++ _M_data->_M_month05 = L"May";
++ _M_data->_M_month06 = L"June";
++ _M_data->_M_month07 = L"July";
++ _M_data->_M_month08 = L"August";
++ _M_data->_M_month09 = L"September";
++ _M_data->_M_month10 = L"October";
++ _M_data->_M_month11 = L"November";
++ _M_data->_M_month12 = L"December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = L"Jan";
++ _M_data->_M_amonth02 = L"Feb";
++ _M_data->_M_amonth03 = L"Mar";
++ _M_data->_M_amonth04 = L"Apr";
++ _M_data->_M_amonth05 = L"May";
++ _M_data->_M_amonth06 = L"Jun";
++ _M_data->_M_amonth07 = L"Jul";
++ _M_data->_M_amonth08 = L"Aug";
++ _M_data->_M_amonth09 = L"Sep";
++ _M_data->_M_amonth10 = L"Oct";
++ _M_data->_M_amonth11 = L"Nov";
++ _M_data->_M_amonth12 = L"Dec";
++ }
++#if 0
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ union { char *__s; wchar_t *__w; } __u;
++
++ __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
++ _M_data->_M_date_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
++ _M_data->_M_date_era_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
++ _M_data->_M_time_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
++ _M_data->_M_time_era_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
++ _M_data->_M_date_time_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
++ _M_data->_M_date_time_era_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
++ _M_data->_M_am = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
++ _M_data->_M_pm = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
++ _M_data->_M_am_pm_format = __u.__w;
++
++ // Day names, starting with "C"'s Sunday.
++ __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
++ _M_data->_M_day1 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
++ _M_data->_M_day2 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
++ _M_data->_M_day3 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
++ _M_data->_M_day4 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
++ _M_data->_M_day5 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
++ _M_data->_M_day6 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
++ _M_data->_M_day7 = __u.__w;
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
++ _M_data->_M_aday1 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
++ _M_data->_M_aday2 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
++ _M_data->_M_aday3 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
++ _M_data->_M_aday4 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
++ _M_data->_M_aday5 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
++ _M_data->_M_aday6 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
++ _M_data->_M_aday7 = __u.__w;
++
++ // Month names, starting with "C"'s January.
++ __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
++ _M_data->_M_month01 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
++ _M_data->_M_month02 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
++ _M_data->_M_month03 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
++ _M_data->_M_month04 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
++ _M_data->_M_month05 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
++ _M_data->_M_month06 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
++ _M_data->_M_month07 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
++ _M_data->_M_month08 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
++ _M_data->_M_month09 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
++ _M_data->_M_month10 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
++ _M_data->_M_month11 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
++ _M_data->_M_month12 = __u.__w;
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
++ _M_data->_M_amonth01 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
++ _M_data->_M_amonth02 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
++ _M_data->_M_amonth03 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
++ _M_data->_M_amonth04 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
++ _M_data->_M_amonth05 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
++ _M_data->_M_amonth06 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
++ _M_data->_M_amonth07 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
++ _M_data->_M_amonth08 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
++ _M_data->_M_amonth09 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
++ _M_data->_M_amonth10 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
++ _M_data->_M_amonth11 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
++ _M_data->_M_amonth12 = __u.__w;
++ }
++#endif // 0
++ }
++#endif
++}
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.h
+--- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.h 2004-05-22 18:46:31.000000000 -0500
+@@ -0,0 +1,68 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(size_t __refs)
++ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(_S_get_c_name())
++ { _M_initialize_timepunct(); }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
++ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(_S_get_c_name())
++ { _M_initialize_timepunct(); }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
++ size_t __refs)
++ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(__s)
++ {
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ _M_name_timepunct = __tmp;
++ _M_initialize_timepunct(__cloc);
++ }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::~__timepunct()
++ {
++ if (_M_name_timepunct != _S_get_c_name())
++ delete [] _M_name_timepunct;
++ delete _M_data;
++ _S_destroy_c_locale(_M_c_locale_timepunct);
++ }
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_base.h
+--- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_base.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_base.h 2005-04-28 01:10:27.000000000 -0500
+@@ -0,0 +1,64 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
++// Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++/** @file ctype_base.h
++ * This is an internal header file, included by other library headers.
++ * You should not attempt to use it directly.
++ */
++
++// Information as gleaned from /usr/include/ctype.h
++
++ /// @brief Base class for ctype.
++ struct ctype_base
++ {
++ // Note: In uClibc, the following two types depend on configuration.
++
++ // Non-standard typedefs.
++ typedef const __ctype_touplow_t* __to_type;
++
++ // NB: Offsets into ctype<char>::_M_table force a particular size
++ // on the mask type. Because of this, we don't use an enum.
++ typedef __ctype_mask_t mask;
++ static const mask upper = _ISupper;
++ static const mask lower = _ISlower;
++ static const mask alpha = _ISalpha;
++ static const mask digit = _ISdigit;
++ static const mask xdigit = _ISxdigit;
++ static const mask space = _ISspace;
++ static const mask print = _ISprint;
++ static const mask graph = _ISalpha | _ISdigit | _ISpunct;
++ static const mask cntrl = _IScntrl;
++ static const mask punct = _ISpunct;
++ static const mask alnum = _ISalpha | _ISdigit;
++ };
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_inline.h
+--- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_inline.h 2002-06-24 00:49:19.000000000 -0500
+@@ -0,0 +1,69 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
++// functions go in ctype.cc
++
++ bool
++ ctype<char>::
++ is(mask __m, char __c) const
++ { return _M_table[static_cast<unsigned char>(__c)] & __m; }
++
++ const char*
++ ctype<char>::
++ is(const char* __low, const char* __high, mask* __vec) const
++ {
++ while (__low < __high)
++ *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
++ return __high;
++ }
++
++ const char*
++ ctype<char>::
++ scan_is(mask __m, const char* __low, const char* __high) const
++ {
++ while (__low < __high
++ && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
++ ++__low;
++ return __low;
++ }
++
++ const char*
++ ctype<char>::
++ scan_not(mask __m, const char* __low, const char* __high) const
++ {
++ while (__low < __high
++ && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
++ ++__low;
++ return __low;
++ }
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h
+--- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_noninline.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h 2005-04-28 01:10:27.000000000 -0500
+@@ -0,0 +1,92 @@
++// Locale support -*- C++ -*-
++
++// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
++// Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.1 Locales
++//
++
++// Information as gleaned from /usr/include/ctype.h
++
++ const ctype_base::mask*
++ ctype<char>::classic_table() throw()
++ { return __C_ctype_b; }
++
++ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
++ size_t __refs)
++ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
++ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
++ {
++ _M_toupper = __C_ctype_toupper;
++ _M_tolower = __C_ctype_tolower;
++ _M_table = __table ? __table : __C_ctype_b;
++ memset(_M_widen, 0, sizeof(_M_widen));
++ memset(_M_narrow, 0, sizeof(_M_narrow));
++ }
++
++ ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
++ : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()),
++ _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
++ {
++ _M_toupper = __C_ctype_toupper;
++ _M_tolower = __C_ctype_tolower;
++ _M_table = __table ? __table : __C_ctype_b;
++ memset(_M_widen, 0, sizeof(_M_widen));
++ memset(_M_narrow, 0, sizeof(_M_narrow));
++ }
++
++ char
++ ctype<char>::do_toupper(char __c) const
++ { return _M_toupper[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<char>::do_toupper(char* __low, const char* __high) const
++ {
++ while (__low < __high)
++ {
++ *__low = _M_toupper[static_cast<unsigned char>(*__low)];
++ ++__low;
++ }
++ return __high;
++ }
++
++ char
++ ctype<char>::do_tolower(char __c) const
++ { return _M_tolower[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<char>::do_tolower(char* __low, const char* __high) const
++ {
++ while (__low < __high)
++ {
++ *__low = _M_tolower[static_cast<unsigned char>(*__low)];
++ ++__low;
++ }
++ return __high;
++ }
+diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/os_defines.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/os_defines.h
+--- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/os_defines.h 1969-12-31 18:00:00.000000000 -0600
++++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/os_defines.h 2005-04-28 01:10:27.000000000 -0500
+@@ -0,0 +1,44 @@
++// Specific definitions for GNU/Linux -*- C++ -*-
++
++// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++#ifndef _GLIBCXX_OS_DEFINES
++#define _GLIBCXX_OS_DEFINES 1
++
++// System-specific #define, typedefs, corrections, etc, go here. This
++// file will come before all others.
++
++// This keeps isanum, et al from being propagated as macros.
++#define __NO_CTYPE 1
++
++#include <features.h>
++
++// We must not see the optimized string functions GNU libc defines.
++#define __NO_STRING_INLINES
++
++#endif
+diff -urN gcc-4.0.0-100/libstdc++-v3/configure gcc-4.0.0/libstdc++-v3/configure
+--- gcc-4.0.0-100/libstdc++-v3/configure 2005-04-30 13:06:53.683055232 -0500
++++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 12:24:24.000000000 -0500
+@@ -3998,6 +3998,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+@@ -5672,7 +5677,7 @@
+ enableval="$enable_clocale"
+
+ case "$enableval" in
+- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
++ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
+ *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
+ echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
+ { (exit 1); exit 1; }; } ;;
+@@ -5697,6 +5702,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case ${target_os} in
++ linux-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+@@ -5927,6 +5935,76 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ echo "$as_me:$LINENO: result: uclibc" >&5
++echo "${ECHO_T}uclibc" >&6
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_check_msgfmt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$check_msgfmt"; then
++ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_check_msgfmt="yes"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
++ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
++fi
++fi
++check_msgfmt=$ac_cv_prog_check_msgfmt
++if test -n "$check_msgfmt"; then
++ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
++echo "${ECHO_T}$check_msgfmt" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++
++
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+diff -urN gcc-4.0.0-100/libstdc++-v3/configure.host gcc-4.0.0/libstdc++-v3/configure.host
+--- gcc-4.0.0-100/libstdc++-v3/configure.host 2005-04-30 13:06:53.688054472 -0500
++++ gcc-4.0.0/libstdc++-v3/configure.host 2005-04-28 20:20:32.000000000 -0500
+@@ -249,6 +249,12 @@
+ ;;
+ esac
+
++# Override for uClibc since linux-uclibc gets mishandled above.
++case "${host_os}" in
++ *-uclibc*)
++ os_include_dir="os/uclibc"
++ ;;
++esac
+
+ # Set any OS-dependent and CPU-dependent bits.
+ # THIS TABLE IS SORTED. KEEP IT THAT WAY.
+diff -urN gcc-4.0.0-100/libstdc++-v3/crossconfig.m4 gcc-4.0.0/libstdc++-v3/crossconfig.m4
+--- gcc-4.0.0-100/libstdc++-v3/crossconfig.m4 2005-04-30 13:06:53.689054320 -0500
++++ gcc-4.0.0/libstdc++-v3/crossconfig.m4 2005-04-28 20:27:15.000000000 -0500
+@@ -142,6 +142,98 @@
+ ;;
+ esac
+ ;;
++ *-uclibc*)
++# Temporary hack until we implement the float versions of the libm funcs
++ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
++ machine/endian.h machine/param.h sys/machine.h sys/types.h \
++ fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
++ SECTION_FLAGS='-ffunction-sections -fdata-sections'
++ AC_SUBST(SECTION_FLAGS)
++ GLIBCXX_CHECK_LINKER_FEATURES
++ GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
++ GLIBCXX_CHECK_WCHAR_T_SUPPORT
++
++ # For LFS.
++ AC_DEFINE(HAVE_INT64_T)
++ case "$target" in
++ *-uclinux*)
++ # Don't enable LFS with uClinux
++ ;;
++ *)
++ AC_DEFINE(_GLIBCXX_USE_LFS)
++ esac
++
++ # For showmanyc_helper().
++ AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
++ GLIBCXX_CHECK_POLL
++ GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
++
++ # For xsputn_2().
++ AC_CHECK_HEADERS(sys/uio.h)
++ GLIBCXX_CHECK_WRITEV
++
++# AC_DEFINE(HAVE_ACOSF)
++# AC_DEFINE(HAVE_ASINF)
++# AC_DEFINE(HAVE_ATANF)
++# AC_DEFINE(HAVE_ATAN2F)
++ AC_DEFINE(HAVE_CEILF)
++ AC_DEFINE(HAVE_COPYSIGN)
++# AC_DEFINE(HAVE_COPYSIGNF)
++# AC_DEFINE(HAVE_COSF)
++# AC_DEFINE(HAVE_COSHF)
++# AC_DEFINE(HAVE_EXPF)
++# AC_DEFINE(HAVE_FABSF)
++ AC_DEFINE(HAVE_FINITE)
++ AC_DEFINE(HAVE_FINITEF)
++ AC_DEFINE(HAVE_FLOORF)
++# AC_DEFINE(HAVE_FMODF)
++# AC_DEFINE(HAVE_FREXPF)
++ AC_DEFINE(HAVE_HYPOT)
++# AC_DEFINE(HAVE_HYPOTF)
++ AC_DEFINE(HAVE_ISINF)
++ AC_DEFINE(HAVE_ISINFF)
++ AC_DEFINE(HAVE_ISNAN)
++ AC_DEFINE(HAVE_ISNANF)
++# AC_DEFINE(HAVE_LOGF)
++# AC_DEFINE(HAVE_LOG10F)
++# AC_DEFINE(HAVE_MODFF)
++# AC_DEFINE(HAVE_SINF)
++# AC_DEFINE(HAVE_SINHF)
++# AC_DEFINE(HAVE_SINCOS)
++# AC_DEFINE(HAVE_SINCOSF)
++ AC_DEFINE(HAVE_SQRTF)
++# AC_DEFINE(HAVE_TANF)
++# AC_DEFINE(HAVE_TANHF)
++ if test x"long_double_math_on_this_cpu" = x"yes"; then
++# AC_DEFINE(HAVE_ACOSL)
++# AC_DEFINE(HAVE_ASINL)
++# AC_DEFINE(HAVE_ATANL)
++# AC_DEFINE(HAVE_ATAN2L)
++# AC_DEFINE(HAVE_CEILL)
++# AC_DEFINE(HAVE_COPYSIGNL)
++# AC_DEFINE(HAVE_COSL)
++# AC_DEFINE(HAVE_COSHL)
++# AC_DEFINE(HAVE_EXPL)
++# AC_DEFINE(HAVE_FABSL)
++# AC_DEFINE(HAVE_FINITEL)
++# AC_DEFINE(HAVE_FLOORL)
++# AC_DEFINE(HAVE_FMODL)
++# AC_DEFINE(HAVE_FREXPL)
++# AC_DEFINE(HAVE_HYPOTL)
++# AC_DEFINE(HAVE_ISINFL)
++# AC_DEFINE(HAVE_ISNANL)
++# AC_DEFINE(HAVE_LOGL)
++# AC_DEFINE(HAVE_LOG10L)
++# AC_DEFINE(HAVE_MODFL)
++# AC_DEFINE(HAVE_POWL)
++# AC_DEFINE(HAVE_SINL)
++# AC_DEFINE(HAVE_SINHL)
++# AC_DEFINE(HAVE_SINCOSL)
++# AC_DEFINE(HAVE_SQRTL)
++# AC_DEFINE(HAVE_TANL)
++# AC_DEFINE(HAVE_TANHL)
++ fi
++ ;;
+ *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
+ AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
+ machine/endian.h machine/param.h sys/machine.h sys/types.h \
+@@ -156,7 +248,7 @@
+ AC_DEFINE(HAVE_INT64_T)
+ case "$target" in
+ *-uclinux*)
+- # Don't enable LFS with uClibc
++ # Don't enable LFS with uClinux
+ ;;
+ *)
+ AC_DEFINE(_GLIBCXX_USE_LFS)
+diff -urN gcc-4.0.0-100/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.0.0/libstdc++-v3/include/c_compatibility/wchar.h
+--- gcc-4.0.0-100/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-30 13:06:53.690054168 -0500
++++ gcc-4.0.0/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-28 20:15:56.000000000 -0500
+@@ -101,7 +101,9 @@
+ using std::wmemcpy;
+ using std::wmemmove;
+ using std::wmemset;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using std::wcsftime;
++#endif
+
+ #if _GLIBCXX_USE_C99
+ using std::wcstold;
+diff -urN gcc-4.0.0-100/libstdc++-v3/include/c_std/std_cwchar.h gcc-4.0.0/libstdc++-v3/include/c_std/std_cwchar.h
+--- gcc-4.0.0-100/libstdc++-v3/include/c_std/std_cwchar.h 2005-04-30 13:06:53.691054016 -0500
++++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cwchar.h 2005-04-28 20:15:56.000000000 -0500
+@@ -179,7 +179,9 @@
+ using ::wcscoll;
+ using ::wcscpy;
+ using ::wcscspn;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using ::wcsftime;
++#endif
+ using ::wcslen;
+ using ::wcsncat;
+ using ::wcsncmp;
diff --git a/meta/packages/gcc/gcc-4.0.2/301-missing-execinfo_h.patch b/meta/packages/gcc/gcc-4.0.2/301-missing-execinfo_h.patch
new file mode 100644
index 0000000000..8867593819
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/301-missing-execinfo_h.patch
@@ -0,0 +1,14 @@
+From:
+http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/301-missing-execinfo_h.patch?rev=11715
+
+--- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
++++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
+@@ -500,7 +500,7 @@
+ #ifdef __linux__
+ # include <features.h>
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+- && !defined(__ia64__)
++ && !defined(__ia64__) && !defined(__UCLIBC__)
+ # ifndef GC_HAVE_BUILTIN_BACKTRACE
+ # define GC_HAVE_BUILTIN_BACKTRACE
+ # endif
diff --git a/meta/packages/gcc/gcc-4.0.2/302-c99-snprintf.patch b/meta/packages/gcc/gcc-4.0.2/302-c99-snprintf.patch
new file mode 100644
index 0000000000..5159a52cd7
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/302-c99-snprintf.patch
@@ -0,0 +1,14 @@
+From:
+http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/302-c99-snprintf.patch?rev=11715
+
+--- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500
++++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500
+@@ -142,7 +142,7 @@
+ using ::vsprintf;
+ }
+
+-#if _GLIBCXX_USE_C99
++#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
+
+ #undef snprintf
+ #undef vfscanf
diff --git a/meta/packages/gcc/gcc-4.0.2/303-c99-complex-ugly-hack.patch b/meta/packages/gcc/gcc-4.0.2/303-c99-complex-ugly-hack.patch
new file mode 100644
index 0000000000..0ba0a89b4f
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/303-c99-complex-ugly-hack.patch
@@ -0,0 +1,15 @@
+From:
+http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/*checkout*/trunk/buildroot/toolchain/gcc/4.0.2/303-c99-complex-ugly-hack.patch?rev=11715
+
+--- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
++++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
+@@ -7194,6 +7194,9 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ #include <complex.h>
++#ifdef __UCLIBC__
++#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
++#endif
+ int
+ main ()
+ {
diff --git a/meta/packages/gcc/gcc-4.0.2/800-arm-bigendian.patch b/meta/packages/gcc/gcc-4.0.2/800-arm-bigendian.patch
new file mode 100644
index 0000000000..e5fc413485
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/800-arm-bigendian.patch
@@ -0,0 +1,70 @@
+From:
+http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/gcc/4.0.2/800-arm-bigendian.patch?rev=14828&view=markup
+
+By Lennert Buytenhek <buytenh@wantstofly.org>
+Adds support for arm*b-linux* big-endian ARM targets
+
+See http://gcc.gnu.org/PR16350
+
+--- gcc-4.0.3/gcc/config/arm/linux-elf.h
++++ gcc-4.0.3/gcc/config/arm/linux-elf.h
+@@ -31,19 +31,33 @@
+ /* Do not assume anything about header files. */
+ #define NO_IMPLICIT_EXTERN_C
+
++/*
++ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
++ * (big endian) configurations.
++ */
++#if TARGET_BIG_ENDIAN_DEFAULT
++#define TARGET_ENDIAN_DEFAULT ARM_FLAG_BIG_END
++#define TARGET_ENDIAN_OPTION "mbig-endian"
++#define TARGET_LINKER_EMULATION "armelfb_linux"
++#else
++#define TARGET_ENDIAN_DEFAULT 0
++#define TARGET_ENDIAN_OPTION "mlittle-endian"
++#define TARGET_LINKER_EMULATION "armelf_linux"
++#endif
++
+ #undef TARGET_DEFAULT_FLOAT_ABI
+ #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
+
+ #undef TARGET_DEFAULT
+-#define TARGET_DEFAULT (0)
++#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
+
+ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
+
+-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
++#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
+
+ #undef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
++ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
+
+ /* The GNU C++ standard library requires that these macros be defined. */
+ #undef CPLUSPLUS_CPP_SPEC
+@@ -90,7 +104,7 @@
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
+ -X \
+- %{mbig-endian:-EB}" \
++ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
+ SUBTARGET_EXTRA_LINK_SPEC
+
+ #define TARGET_OS_CPP_BUILTINS() \
+--- gcc-4.0.3/gcc/config.gcc
++++ gcc-4.0.3/gcc/config.gcc
+@@ -672,6 +672,11 @@
+ ;;
+ arm*-*-linux*) # ARM GNU/Linux with ELF
+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
++ case $target in
++ arm*b-*)
++ tm_defines="TARGET_BIG_ENDIAN_DEFAULT=1 $tm_defines"
++ ;;
++ esac
+ tmake_file="${tmake_file} arm/t-arm arm/t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+ gnu_ld=yes
diff --git a/meta/packages/gcc/gcc-4.0.2/arm-nolibfloat.patch b/meta/packages/gcc/gcc-4.0.2/arm-nolibfloat.patch
new file mode 100644
index 0000000000..c4897c0330
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/arm-nolibfloat.patch
@@ -0,0 +1,24 @@
+# Dimitry Andric <dimitry@andric.com>, 2004-05-01
+#
+# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
+# anymore. (The required functions are now in libgcc.)
+#
+# Fixes errors like
+# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
+# collect2: ld returned 1 exit status
+# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
+# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
+
+Index: gcc-4.0.2/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.0.2.orig/gcc/config/arm/linux-elf.h 2005-03-04 16:14:01.000000000 +0000
++++ gcc-4.0.2/gcc/config/arm/linux-elf.h 2005-11-11 18:02:54.000000000 +0000
+@@ -56,7 +56,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
diff --git a/meta/packages/gcc/gcc-4.0.2/arm-softfloat.patch b/meta/packages/gcc/gcc-4.0.2/arm-softfloat.patch
new file mode 100644
index 0000000000..c86c83ed15
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/arm-softfloat.patch
@@ -0,0 +1,16 @@
+Index: gcc-4.0.2/gcc/config/arm/t-linux
+===================================================================
+--- gcc-4.0.2.orig/gcc/config/arm/t-linux 2004-05-15 12:41:35.000000000 +0000
++++ gcc-4.0.2/gcc/config/arm/t-linux 2005-11-11 16:07:53.000000000 +0000
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi _floatdidf _floatdisf
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/meta/packages/gcc/gcc-4.0.2/ldflags.patch b/meta/packages/gcc/gcc-4.0.2/ldflags.patch
new file mode 100644
index 0000000000..1196bf0c8e
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/ldflags.patch
@@ -0,0 +1,22 @@
+--- gcc-4.0.0/Makefile.tpl.old 2005-06-10 13:05:09.000000000 +0100
++++ gcc-4.0.0/Makefile.tpl 2005-06-10 13:05:10.000000000 +0100
+@@ -339,7 +339,7 @@
+ NM = @NM@
+
+ LD = @LD@
+-LDFLAGS =
++LDFLAGS = @LDFLAGS@
+
+ RANLIB = @RANLIB@
+
+--- gcc-4.0.0/Makefile.in.old 2005-06-10 17:13:12.000000000 +0100
++++ gcc-4.0.0/Makefile.in 2005-06-10 17:13:22.000000000 +0100
+@@ -336,7 +336,7 @@
+ NM = @NM@
+
+ LD = @LD@
+-LDFLAGS =
++LDFLAGS = @LDFLAGS@
+
+ RANLIB = @RANLIB@
+
diff --git a/meta/packages/gcc/gcc-4.0.2/zecke-host-cpp-ac-hack.patch b/meta/packages/gcc/gcc-4.0.2/zecke-host-cpp-ac-hack.patch
new file mode 100644
index 0000000000..3f26dce71f
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.0.2/zecke-host-cpp-ac-hack.patch
@@ -0,0 +1,140 @@
+gcc (AC_CHECK_HEADERS) is using $CPP to check if the header pass
+the precompiler, if compiling with $CC failed.
+Sadly $CC is xgcc of gcc, and $CPP is 'gcc -E'. And as you build
+on a glibc machine, precompiling of the headers (execinfo.h and
+iconv.h will succeed). As a dirty hack we will handle this case
+as failure.
+This fixes the libmudflap build for uclibc which lacks execinfo.h
+but has HAVE_EXECINFO_H defined
+
+Index: gcc-4.0.2/libmudflap/configure
+===================================================================
+--- gcc-4.0.2.orig/libmudflap/configure 2006-04-30 16:57:47.000000000 +0200
++++ gcc-4.0.2/libmudflap/configure 2006-04-30 17:00:59.000000000 +0200
+@@ -3719,6 +3719,8 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ # hack, hack, hack
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+@@ -3731,6 +3733,8 @@
+ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+ echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: Zecke says do not trust the wrong cpp! Ignoring." >&5
++echo "$as_me: WARNING: $ac_header: Zecke says do not trust the wrong cpp! Ignoring." >&2;}
+ (
+ cat <<\_ASBOX
+ ## ------------------------------------- ##
+Index: gcc-4.0.2/libstdc++-v3/configure
+===================================================================
+--- gcc-4.0.2.orig/libstdc++-v3/configure 2006-04-30 16:57:53.000000000 +0200
++++ gcc-4.0.2/libstdc++-v3/configure 2006-04-30 22:59:00.000000000 +0200
+@@ -30513,6 +30513,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -30525,6 +30526,8 @@
+ echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5
+ echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: Zecke says do not trust the wrong cpp! Ignoring." >&5
++echo "$as_me: WARNING: $ac_header: Zecke says do not trust the wrong cpp! Ignoring." >&2;}
+ (
+ cat <<\_ASBOX
+ ## ----------------------------------------- ##
+@@ -53622,6 +53625,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -75885,6 +75889,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -78600,6 +78605,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -80969,6 +80975,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -83214,6 +83221,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -86227,6 +86235,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -88425,6 +88434,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -90672,6 +90682,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -93280,6 +93291,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -94996,6 +95008,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
+@@ -97337,6 +97350,7 @@
+ ac_header_preproc=yes
+ ;;
+ no:yes:* )
++ ac_header_preproc=no
+ { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5
+ echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;}
+ { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5
diff --git a/meta/packages/gcc/gcc-cross-initial_3.3.4.bb b/meta/packages/gcc/gcc-cross-initial_3.3.4.bb
new file mode 100644
index 0000000000..e3b365da18
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-initial_3.3.4.bb
@@ -0,0 +1,28 @@
+SECTION = "devel"
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc-lib/${TARGET_SYS}/${PV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/gcc/gcc-cross-initial_3.4.3.bb b/meta/packages/gcc/gcc-cross-initial_3.4.3.bb
new file mode 100644
index 0000000000..48c80864e2
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-initial_3.4.3.bb
@@ -0,0 +1,28 @@
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/gcc/gcc-cross-initial_3.4.4.bb b/meta/packages/gcc/gcc-cross-initial_3.4.4.bb
new file mode 100644
index 0000000000..48c80864e2
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-initial_3.4.4.bb
@@ -0,0 +1,28 @@
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/gcc/gcc-cross-initial_4.0.2.bb b/meta/packages/gcc/gcc-cross-initial_4.0.2.bb
new file mode 100644
index 0000000000..68dafe3f1a
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-initial_4.0.2.bb
@@ -0,0 +1,29 @@
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --disable-libmudflap \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/gcc/gcc-cross-initial_csl-arm-2005q3.bb b/meta/packages/gcc/gcc-cross-initial_csl-arm-2005q3.bb
new file mode 100644
index 0000000000..48c80864e2
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-initial_csl-arm-2005q3.bb
@@ -0,0 +1,28 @@
+include gcc-cross_${PV}.bb
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils"
+DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
+PACKAGES = ""
+
+# This is intended to be a -very- basic config
+EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-newlib \
+ --disable-shared \
+ --disable-threads \
+ --disable-multilib \
+ --disable-__cxa_atexit \
+ --enable-languages=c \
+ --enable-target-optspace \
+ --program-prefix=${TARGET_PREFIX} \
+ ${@get_gcc_fpu_setting(bb, d)}"
+
+do_stage_prepend () {
+ mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
+ ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
+
+# Override the method from gcc-cross so we don't try to install libgcc
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/gcc/gcc-cross_3.3.4.bb b/meta/packages/gcc/gcc-cross_3.3.4.bb
new file mode 100644
index 0000000000..597b47fba8
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross_3.3.4.bb
@@ -0,0 +1,13 @@
+SECTION = "devel"
+include gcc_${PV}.bb
+include gcc-paths-cross.inc
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+
+PR="r3"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+include gcc3-build-cross.inc
+include gcc-package-cross.inc \ No newline at end of file
diff --git a/meta/packages/gcc/gcc-cross_3.4.3.bb b/meta/packages/gcc/gcc-cross_3.4.3.bb
new file mode 100644
index 0000000000..a5d1bda170
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross_3.4.3.bb
@@ -0,0 +1,16 @@
+include gcc_${PV}.bb
+# path mangling, needed by the cross packaging
+include gcc-paths-cross.inc
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r10"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# cross build
+include gcc3-build-cross.inc
+# cross packaging
+include gcc-package-cross.inc
diff --git a/meta/packages/gcc/gcc-cross_3.4.4.bb b/meta/packages/gcc/gcc-cross_3.4.4.bb
new file mode 100644
index 0000000000..d965e5b399
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross_3.4.4.bb
@@ -0,0 +1,16 @@
+include gcc_${PV}.bb
+# path mangling, needed by the cross packaging
+include gcc-paths-cross.inc
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r3"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# cross build
+include gcc3-build-cross.inc
+# cross packaging
+include gcc-package-cross.inc
diff --git a/meta/packages/gcc/gcc-cross_4.0.2.bb b/meta/packages/gcc/gcc-cross_4.0.2.bb
new file mode 100644
index 0000000000..6e299e8299
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross_4.0.2.bb
@@ -0,0 +1,16 @@
+include gcc_${PV}.bb
+# path mangling, needed by the cross packaging
+include gcc-paths-cross.inc
+inherit cross
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r1"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# cross build
+include gcc3-build-cross.inc
+# cross packaging
+include gcc-package-cross.inc
diff --git a/meta/packages/gcc/gcc-cross_csl-arm-2005q3.bb b/meta/packages/gcc/gcc-cross_csl-arm-2005q3.bb
new file mode 100644
index 0000000000..93c58aca53
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross_csl-arm-2005q3.bb
@@ -0,0 +1,15 @@
+include gcc_csl-arm-2005q3.bb
+# path mangling, needed by the cross packaging
+include gcc-paths-cross.inc
+inherit cross
+# NOTE: split PR. If the main .oe changes something that affects its *build*
+# remember to increment this one too.
+PR = "r0"
+
+DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
+PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
+
+# cross build
+include gcc3-cross-build.inc
+# cross packaging
+include gcc-package-cross.inc
diff --git a/meta/packages/gcc/gcc-csl-arm/15342.patch b/meta/packages/gcc/gcc-csl-arm/15342.patch
new file mode 100644
index 0000000000..d0f3e72d47
--- /dev/null
+++ b/meta/packages/gcc/gcc-csl-arm/15342.patch
@@ -0,0 +1,22 @@
+--- gcc/gcc/regrename.c~ 2004-01-14 17:55:20.000000000 +0000
++++ gcc/gcc/regrename.c 2005-02-28 07:24:25.893015200 +0000
+@@ -671,7 +671,8 @@
+
+ case SET:
+ scan_rtx (insn, &SET_SRC (x), class, action, OP_IN, 0);
+- scan_rtx (insn, &SET_DEST (x), class, action, OP_OUT, 0);
++ scan_rtx (insn, &SET_DEST (x), class, action,
++ GET_CODE (PATTERN (insn)) == COND_EXEC ? OP_INOUT : OP_OUT, 0);
+ return;
+
+ case STRICT_LOW_PART:
+@@ -696,7 +697,8 @@
+ abort ();
+
+ case CLOBBER:
+- scan_rtx (insn, &SET_DEST (x), class, action, OP_OUT, 1);
++ scan_rtx (insn, &SET_DEST (x), class, action,
++ GET_CODE (PATTERN (insn)) == COND_EXEC ? OP_INOUT : OP_OUT, 0);
+ return;
+
+ case EXPR_LIST:
diff --git a/meta/packages/gcc/gcc-csl-arm/gcc-3.4.0-arm-lib1asm.patch b/meta/packages/gcc/gcc-csl-arm/gcc-3.4.0-arm-lib1asm.patch
new file mode 100644
index 0000000000..cf17da6a02
--- /dev/null
+++ b/meta/packages/gcc/gcc-csl-arm/gcc-3.4.0-arm-lib1asm.patch
@@ -0,0 +1,24 @@
+# Fixes errors like the following when building glibc (or any other executable
+# or shared library) when using gcc 3.4.0 for ARM with softfloat:
+#
+# .../libc_pic.os(.text+0x15834): In function `__modf': undefined reference to `__subdf3'
+# .../libc_pic.os(.text+0x158b8): In function `__modf': undefined reference to `__subdf3'
+# .../libc_pic.os(.text+0x1590c): In function `scalbn': undefined reference to `__muldf3'
+# .../libc_pic.os(.text+0x15e94): In function `__ldexpf': undefined reference to `__eqsf2'
+# .../libc_pic.os(.text+0xcee4c): In function `monstartup': undefined reference to `__fixsfsi'
+
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
+--- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
++++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi _floatdidf _floatdisf
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/meta/packages/gcc/gcc-csl-arm/gcc34-arm-tune.patch b/meta/packages/gcc/gcc-csl-arm/gcc34-arm-tune.patch
new file mode 100644
index 0000000000..cdb20bef9b
--- /dev/null
+++ b/meta/packages/gcc/gcc-csl-arm/gcc34-arm-tune.patch
@@ -0,0 +1,9 @@
+--- gcc-3.4.0/gcc/config/arm/linux-elf.h.arm-tune 2004-01-31 01:18:11.000000000 -0500
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-04-24 18:19:10.000000000 -0400
+@@ -126,3 +126,6 @@
+
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
++
++/* Tune for XScale. */
++#define TARGET_TUNE_DEFAULT TARGET_CPU_xscale
diff --git a/meta/packages/gcc/gcc-csl-arm/gcc_optab_arm.patch b/meta/packages/gcc/gcc-csl-arm/gcc_optab_arm.patch
new file mode 100644
index 0000000000..fa21b26554
--- /dev/null
+++ b/meta/packages/gcc/gcc-csl-arm/gcc_optab_arm.patch
@@ -0,0 +1,95 @@
+ARM is the only architecture that has a helper function that returns
+an unbiased result. This fix is trivial enough that we can show it
+doesn't effect any of the other arches. Can we consider this a
+regression fix since it used to work until the helper was added :}
+
+Tested with no regressions on x86_64-pc-linux-gnu and arm-none-eabi.
+
+Cheers,
+Carlos.
+--
+Carlos O'Donell
+CodeSourcery
+carlos@codesourcery.com
+(650) 331-3385 x716
+
+gcc/
+
+2006-01-27 Carlos O'Donell <carlos@codesourcery.com>
+
+ * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias
+ the comparison routine return.
+
+gcc/testsuite/
+
+2006-01-27 Carlos O'Donell <carlos@codesourcery.com>
+
+ * gcc.dg/unsigned-long-compare.c: New test.
+
+Index: gcc/optabs.c
+===================================================================
+--- 1/gcc/optabs.c (revision 110300)
++++ 2/gcc/optabs.c (working copy)
+@@ -3711,18 +3711,24 @@
+ result = emit_library_call_value (libfunc, NULL_RTX, LCT_CONST_MAKE_BLOCK,
+ word_mode, 2, x, mode, y, mode);
+
++ /* There are two kinds of comparison routines. Biased routines
++ return 0/1/2, and unbiased routines return -1/0/1. Other parts
++ of gcc expect that the comparison operation is equivalent
++ to the modified comparison. For signed comparisons compare the
++ result against 1 in the unbiased case, and zero in the biased
++ case. For unsigned comparisons always compare against 1 after
++ biasing the unbased result by adding 1. This gives us a way to
++ represent LTU. */
+ *px = result;
+ *pmode = word_mode;
+- if (TARGET_LIB_INT_CMP_BIASED)
+- /* Integer comparison returns a result that must be compared
+- against 1, so that even if we do an unsigned compare
+- afterward, there is still a value that can represent the
+- result "less than". */
+- *py = const1_rtx;
+- else
++ *py = const1_rtx;
++
++ if (!TARGET_LIB_INT_CMP_BIASED)
+ {
+- *py = const0_rtx;
+- *punsignedp = 1;
++ if (*punsignedp)
++ *px = plus_constant (result, 1);
++ else
++ *py = const0_rtx;
+ }
+ return;
+ }
+Index: gcc/testsuite/gcc.dg/unsigned-long-compare.c
+===================================================================
+--- 1/gcc/testsuite/gcc.dg/unsigned-long-compare.c (revision 0)
++++ 2/gcc/testsuite/gcc.dg/unsigned-long-compare.c (revision 0)
+@@ -0,0 +1,24 @@
++/* Copyright (C) 2006 Free Software Foundation, Inc. */
++/* Contributed by Carlos O'Donell on 2006-01-27 */
++
++/* Test a division corner case where the expression simplifies
++ to a comparison, and the optab expansion is wrong. The optab
++ expansion emits a function whose return is unbiased and needs
++ adjustment. */
++/* Origin: Carlos O'Donell <carlos@codesourcery.com> */
++/* { dg-do run { target arm-*-*eabi* } } */
++/* { dg-options "" } */
++#include <stdlib.h>
++
++#define BIG_CONSTANT 0xFFFFFFFF80000000ULL
++
++int main (void)
++{
++ unsigned long long OneULL = 1ULL;
++ unsigned long long result;
++
++ result = OneULL / BIG_CONSTANT;
++ if (result)
++ abort ();
++ exit (0);
++}
diff --git a/meta/packages/gcc/gcc-csl-arm/no-libfloat.patch b/meta/packages/gcc/gcc-csl-arm/no-libfloat.patch
new file mode 100644
index 0000000000..e5d12cfb4f
--- /dev/null
+++ b/meta/packages/gcc/gcc-csl-arm/no-libfloat.patch
@@ -0,0 +1,11 @@
+--- gcc/gcc/config/arm/linux-elf.h.old 2005-04-20 00:46:28.923375320 +0100
++++ gcc/gcc/config/arm/linux-elf.h 2005-04-20 00:46:34.181575952 +0100
+@@ -56,7 +56,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
diff --git a/meta/packages/gcc/gcc-csl-arm/pic-without-sl.patch b/meta/packages/gcc/gcc-csl-arm/pic-without-sl.patch
new file mode 100644
index 0000000000..9a49794da4
--- /dev/null
+++ b/meta/packages/gcc/gcc-csl-arm/pic-without-sl.patch
@@ -0,0 +1,303 @@
+Index: gcc/config/arm/arm-protos.h
+===================================================================
+RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm-protos.h,v
+retrieving revision 1.60.4.20
+diff -u -r1.60.4.20 arm-protos.h
+--- gcc/config/arm/arm-protos.h 29 Mar 2005 03:00:11 -0000 1.60.4.20
++++ gcc/config/arm/arm-protos.h 23 Apr 2005 04:41:06 -0000
+@@ -64,6 +64,7 @@
+ extern enum reg_class vfp_secondary_reload_class (enum machine_mode, rtx);
+ extern int tls_symbolic_operand (rtx, enum machine_mode);
+ extern bool arm_tls_operand_p (rtx x);
++extern bool arm_pc_pic_operand_p (rtx x);
+
+ /* Predicates. */
+ extern int s_register_operand (rtx, enum machine_mode);
+Index: gcc/config/arm/arm.c
+===================================================================
+RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm.c,v
+retrieving revision 1.303.2.79
+diff -u -r1.303.2.79 arm.c
+--- gcc/config/arm/arm.c 12 Apr 2005 06:17:07 -0000 1.303.2.79
++++ gcc/config/arm/arm.c 23 Apr 2005 04:41:09 -0000
+@@ -1003,7 +1003,7 @@
+
+ /* If stack checking is disabled, we can use r10 as the PIC register,
+ which keeps r9 available. */
+- if (flag_pic)
++ if (0 && flag_pic)
+ arm_pic_register = TARGET_APCS_STACK ? 9 : 10;
+
+ if (TARGET_APCS_FLOAT)
+@@ -3120,6 +3120,10 @@
+ rtx
+ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
+ {
++ if (GET_CODE (orig) == UNSPEC
++ && XINT (orig, 1) == UNSPEC_GOTSLOTPC)
++ abort ();
++
+ if (GET_CODE (orig) == SYMBOL_REF
+ || GET_CODE (orig) == LABEL_REF)
+ {
+@@ -3149,27 +3153,80 @@
+ else
+ address = reg;
+
+- if (TARGET_ARM)
+- emit_insn (gen_pic_load_addr_arm (address, orig));
+- else
+- emit_insn (gen_pic_load_addr_thumb (address, orig));
++ if (arm_pic_register != INVALID_REGNUM)
++ {
++ /* Using GP-based PIC addressing. */
++ if (TARGET_ARM)
++ emit_insn (gen_pic_load_addr_arm (address, orig));
++ else
++ emit_insn (gen_pic_load_addr_thumb (address, orig));
++
++ if ((GET_CODE (orig) == LABEL_REF
++ || (GET_CODE (orig) == SYMBOL_REF &&
++ SYMBOL_REF_LOCAL_P (orig)))
++ && NEED_GOT_RELOC)
++ pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, address);
++ else
++ {
++ pic_ref = gen_rtx_MEM (Pmode,
++ gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
++ address));
++ RTX_UNCHANGING_P (pic_ref) = 1;
++ }
+
+- if ((GET_CODE (orig) == LABEL_REF
+- || (GET_CODE (orig) == SYMBOL_REF &&
+- SYMBOL_REF_LOCAL_P (orig)))
+- && NEED_GOT_RELOC)
+- pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, address);
++ current_function_uses_pic_offset_table = 1;
++ }
+ else
+ {
+- pic_ref = gen_rtx_MEM (Pmode,
+- gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
+- address));
+- RTX_UNCHANGING_P (pic_ref) = 1;
++ /* Using PC-based PIC addressing. */
++ rtx label, tmp;
++ int offset;
++
++ label = gen_label_rtx ();
++ offset = TARGET_ARM ? 8 : 4;
++
++ if (GET_CODE (orig) == LABEL_REF
++ || (GET_CODE (orig) == SYMBOL_REF && SYMBOL_REF_LOCAL_P (orig)))
++ {
++ /* This symbol is defined locally. We don't need a GOT entry. */
++ tmp = gen_rtx_MINUS (Pmode, gen_rtx_UNSPEC (Pmode, gen_rtvec (1, orig), UNSPEC_PIC_SYM), gen_rtx_PLUS (Pmode,
++ gen_rtx_LABEL_REF (Pmode, label),
++ GEN_INT (offset)));
++
++ load_tls_operand (tmp, address);
++
++ if (TARGET_ARM)
++ emit_insn (gen_pic_add_dot_plus_eight (address, label));
++ else
++ emit_insn (gen_pic_add_dot_plus_four (address, label));
++ }
++ else
++ {
++ rtx x = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, orig), UNSPEC_GOTSLOTPC);
++ rtx dummy_label;
++
++ dummy_label = gen_label_rtx ();
++ LABEL_PRESERVE_P (dummy_label) = 1;
++ LABEL_NUSES (dummy_label) = 1;
++
++ tmp = gen_rtx_MINUS (Pmode, x, gen_rtx_PLUS (Pmode,
++ gen_rtx_LABEL_REF (Pmode, label),
++ GEN_INT (offset)));
++
++ load_tls_operand (tmp, address);
++
++ if (TARGET_ARM)
++ emit_insn (gen_tls_load_dot_plus_eight (address, address, label, dummy_label));
++ else
++ emit_insn (gen_tls_load_dot_plus_four (address, address, label, dummy_label));
++ }
++
++ pic_ref = address;
+ }
+
+ insn = emit_move_insn (reg, pic_ref);
+ #endif
+- current_function_uses_pic_offset_table = 1;
++
+ /* Put a REG_EQUAL note on this insn, so that it can be optimized
+ by loop. */
+ REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, orig,
+@@ -3179,11 +3236,17 @@
+ else if (GET_CODE (orig) == CONST)
+ {
+ rtx base, offset;
++ bool minus = FALSE;
+
+ if (GET_CODE (XEXP (orig, 0)) == PLUS
+ && XEXP (XEXP (orig, 0), 0) == pic_offset_table_rtx)
+ return orig;
+
++ if (GET_CODE (XEXP (orig, 0)) == MINUS
++ && GET_CODE (XEXP (XEXP (orig, 0), 0)) == UNSPEC
++ && XINT (XEXP (XEXP (orig, 0), 0), 1) == UNSPEC_GOTSLOTPC)
++ return orig;
++
+ if (GET_CODE (XEXP (orig, 0)) == UNSPEC)
+ return orig;
+
+@@ -3201,6 +3264,13 @@
+ offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode,
+ base == reg ? 0 : reg);
+ }
++ else if (GET_CODE (XEXP (orig, 0)) == MINUS)
++ {
++ minus = TRUE;
++ base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg);
++ offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode,
++ base == reg ? 0 : reg);
++ }
+ else
+ abort ();
+
+@@ -3228,7 +3298,7 @@
+ return reg;
+ }
+
+- return gen_rtx_PLUS (Pmode, base, offset);
++ return minus ? gen_rtx_MINUS (Pmode, base, offset) : gen_rtx_PLUS (Pmode, base, offset);
+ }
+
+ return orig;
+@@ -3267,7 +3337,7 @@
+ rtx l1, pic_tmp, pic_tmp2, pic_rtx;
+ rtx global_offset_table;
+
+- if (current_function_uses_pic_offset_table == 0 || TARGET_SINGLE_PIC_BASE)
++ if (current_function_uses_pic_offset_table == 0 || TARGET_SINGLE_PIC_BASE || arm_pic_register == INVALID_REGNUM)
+ return;
+
+ if (!flag_pic)
+@@ -3341,8 +3411,11 @@
+ static int
+ pcrel_constant_p (rtx x)
+ {
++ if (GET_CODE (x) == CONST)
++ return pcrel_constant_p (XEXP (x, 0));
++
+ if (GET_CODE (x) == MINUS)
+- return symbol_mentioned_p (XEXP (x, 0)) && label_mentioned_p (XEXP (x, 1));
++ return (((GET_CODE (XEXP (x, 0)) == UNSPEC && XINT (XEXP (x, 0), 1) == UNSPEC_PIC_SYM)) || symbol_mentioned_p (XEXP (x, 0))) && label_mentioned_p (XEXP (x, 1));
+
+ if (GET_CODE (x) == UNSPEC
+ && XINT (x, 1) == UNSPEC_TLS
+@@ -3946,12 +4019,32 @@
+ return SYMBOL_REF_TLS_MODEL (op);
+ }
+
++bool
++arm_pc_pic_operand_p (rtx op)
++{
++ if (GET_CODE (op) == CONST
++ && GET_CODE (XEXP (op, 0)) == MINUS
++ && GET_CODE (XEXP (XEXP (op, 0), 0)) == UNSPEC
++ && XINT (XEXP (XEXP (op, 0), 0), 1) == UNSPEC_GOTSLOTPC)
++ return 1;
++
++ if (GET_CODE (op) == CONST
++ && GET_CODE (XEXP (op, 0)) == MINUS
++ && GET_CODE (XEXP (XEXP (op, 0), 0)) == UNSPEC
++ && XINT (XEXP (XEXP (op, 0), 0), 1) == UNSPEC_PIC_SYM)
++ return 1;
++
++ return 0;
++}
++
+ /* Valid input to a move instruction. */
+ int
+ move_input_operand (rtx op, enum machine_mode mode)
+ {
+ if (tls_symbolic_operand (op, mode))
+ return 0;
++ if (pcrel_constant_p (op))
++ return 1;
+ return general_operand (op, mode);
+ }
+
+@@ -15634,11 +15727,34 @@
+ return TRUE;
+ }
+
++static bool
++arm_emit_got_decoration (FILE *fp, rtx x)
++{
++ rtx val;
++
++ val = XVECEXP (x, 0, 0);
++
++ fputs ("_gotslotpc_(", fp);
++
++ output_addr_const (fp, val);
++
++ fputc (')', fp);
++
++ return TRUE;
++}
++
+ bool
+ arm_output_addr_const_extra (FILE *fp, rtx x)
+ {
+ if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_TLS)
+ return arm_emit_tls_decoration (fp, x);
++ else if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_GOTSLOTPC)
++ return arm_emit_got_decoration (fp, x);
++ else if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_PIC_SYM)
++ {
++ output_addr_const (fp, XVECEXP (x, 0, 0));
++ return TRUE;
++ }
+ else if (GET_CODE (x) == CONST_VECTOR)
+ return arm_emit_vector_const (fp, x);
+
+Index: gcc/config/arm/arm.md
+===================================================================
+RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm.md,v
+retrieving revision 1.145.2.31
+diff -u -r1.145.2.31 arm.md
+--- gcc/config/arm/arm.md 28 Mar 2005 19:04:37 -0000 1.145.2.31
++++ gcc/config/arm/arm.md 23 Apr 2005 04:41:11 -0000
+@@ -88,6 +88,7 @@
+ (UNSPEC_WMADDS 18) ; Used by the intrinsic form of the iWMMXt WMADDS instruction.
+ (UNSPEC_WMADDU 19) ; Used by the intrinsic form of the iWMMXt WMADDU instruction.
+ (UNSPEC_TLS 20) ; A symbol that has been treated properly for TLS usage.
++ (UNSPEC_GOTSLOTPC 21)
+ ]
+ )
+
+@@ -4179,7 +4180,8 @@
+ && (CONSTANT_P (operands[1])
+ || symbol_mentioned_p (operands[1])
+ || label_mentioned_p (operands[1]))
+- && ! tls_mentioned_p (operands[1]))
++ && ! tls_mentioned_p (operands[1])
++ && ! arm_pc_pic_operand_p (operands[1]))
+ operands[1] = legitimize_pic_address (operands[1], SImode,
+ (no_new_pseudos ? operands[0] : 0));
+ }
+@@ -4412,7 +4414,8 @@
+ (mem:SI (unspec:SI [(plus:SI (match_dup 0)
+ (const (plus:SI (pc) (const_int 8))))]
+ UNSPEC_PIC_BASE)))
+- (use (label_ref (match_operand 1 "" "")))])]
++ (use (label_ref (match_operand 1 "" "")))
++ (use (label_ref (match_operand 1 "" "")))])]
+ ""
+ )
+
diff --git a/meta/packages/gcc/gcc-package-cross.inc b/meta/packages/gcc/gcc-package-cross.inc
new file mode 100644
index 0000000000..4b1f8f68e8
--- /dev/null
+++ b/meta/packages/gcc/gcc-package-cross.inc
@@ -0,0 +1,77 @@
+# Packages emitted by our gcc-cross builds.
+#
+INHIBIT_PACKAGE_STRIP ?= ""
+HAS_G2C ?= "yes"
+HAS_GFORTRAN ?= "no"
+OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
+INHIBIT_PACKAGE_STRIP = "1"
+
+PACKAGES = "libgcc libstdc++ libg2c libg2c-dev libgfortran libgfortran-dev"
+
+PACKAGE_ARCH_libg2c = "${TARGET_ARCH}"
+PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}"
+PACKAGE_ARCH_libgfortran = "${TARGET_ARCH}"
+PACKAGE_ARCH_libgfortran-dev = "${TARGET_ARCH}"
+
+# Called from within gcc-cross, so libdir is set wrong
+FILES_libg2c = "${target_libdir}/libg2c.so.*"
+FILES_libg2c-dev = "${target_libdir}/libg2c.so \
+ ${target_libdir}/libg2c.a \
+ ${target_libdir}/libfrtbegin.a"
+
+FILES_libgfortran = "${target_libdir}/libgfortran.so.*"
+FILES_libgfortran-dev = "${target_libdir}/libgfortran.a \
+ ${target_libdir}/libgfortran.so \
+ ${target_libdir}/libgfortranbegin.a"
+
+PACKAGE_ARCH_libgcc = "${TARGET_ARCH}"
+FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
+
+PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}"
+PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
+FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
+FILES_libstdc++-dev = "${target_includedir}/c++/${PV} \
+ ${target_libdir}/libstdc++.so \
+ ${target_libdir}/libstdc++.la \
+ ${target_libdir}/libstdc++.a \
+ ${target_libdir}/libsupc++.la \
+ ${target_libdir}/libsupc++.a"
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libgcc', 'libgcc1', d)
+ bb.build.exec_func('package_do_package', d)
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}${target_base_libdir}
+ if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then
+ # Already in the right location
+ :
+ elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then
+ mv -f ${D}${prefix}/lib/libgcc_s.so.* ${D}${target_base_libdir}
+ else
+ mv -f ${D}${prefix}/*/lib/libgcc_s.so.* ${D}${target_base_libdir}
+ fi
+
+ # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
+ mkdir -p ${D}${target_libdir}
+ mv -f ${D}${prefix}/*/lib/libstdc++.so.* ${D}${target_libdir}
+ if [ "${HAS_G2C}" = "yes" ]; then
+ mv -f ${D}${prefix}/*/lib/libg2c.so.* ${D}${target_libdir}
+ fi
+ if [ "${HAS_GFORTRAN}" = "yes" ]; then
+ mv -f ${D}${prefix}/*/lib/libgfortran*.so.* ${D}${target_libdir}
+ fi
+
+ # Manually run the target stripper since we won't get it run by
+ # the packaging.
+ if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
+ ${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.*
+ ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.*
+ ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.*
+ fi
+}
diff --git a/meta/packages/gcc/gcc-package.inc b/meta/packages/gcc/gcc-package.inc
new file mode 100644
index 0000000000..4dcc72e879
--- /dev/null
+++ b/meta/packages/gcc/gcc-package.inc
@@ -0,0 +1,111 @@
+gcclibdir ?= "${libdir}/gcc"
+BINV ?= "${PV}"
+
+# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
+# packaged in the respective cross packages.
+PACKAGES = "${PN} ${PN}-symlinks \
+ g++ g++-symlinks \
+ cpp cpp-symlinks \
+ g77 g77-symlinks \
+ gcov gcov-symlinks \
+ libstdc++-dev libg2c-dev \
+ ${PN}-doc"
+
+FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
+ ${bindir}/${TARGET_PREFIX}gccbug \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/include"
+FILES_${PN}-symlinks = "${bindir}/cc \
+ ${bindir}/gcc \
+ ${bindir}/gccbug"
+
+FILES_g77 = "${bindir}/${TARGET_PREFIX}g77 \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/f771"
+FILES_g77-symlinks = "${bindir}/g77 \
+ ${bindir}/f77"
+
+FILES_cpp = "${bindir}/${TARGET_PREFIX}cpp \
+ ${base_libdir}/cpp"
+FILES_cpp-symlinks = "${bindir}/cpp"
+
+FILES_gcov = "${bindir}/${TARGET_PREFIX}gcov"
+FILES_gcov-symlinks = "${bindir}/gcov"
+
+PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}"
+# Called from within gcc-cross, so libdir is set wrong
+FILES_libg2c-dev = "${libdir}/libg2c.so \
+ ${libdir}/libg2c.a \
+ ${libdir}/libfrtbegin.a"
+
+FILES_g++ = "${bindir}/${TARGET_PREFIX}g++ \
+ ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus"
+FILES_g++-symlinks = "${bindir}/c++ \
+ ${bindir}/g++"
+
+PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
+FILES_libstdc++-dev = "${includedir}/c++/${BINV} \
+ ${libdir}/libstdc++.so \
+ ${libdir}/libstdc++.la \
+ ${libdir}/libstdc++.a \
+ ${libdir}/libsupc++.la \
+ ${libdir}/libsupc++.a"
+
+FILES_${PN}-doc = "${infodir} \
+ ${mandir} \
+ ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README"
+
+
+do_install () {
+ autotools_do_install
+
+ # Cleanup some of the ${libdir}{,exec}/gcc stuff ...
+ rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
+ rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
+
+ # Hack around specs file assumptions
+ sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs &>/dev/null || true
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}${base_libdir}
+ mv ${D}${libdir}/libgcc_s.so.* ${D}${base_libdir}
+ rm ${D}${libdir}/libgcc_s.so
+ ln -sf `echo ${libdir}/gcc/${TARGET_SYS}/${BINV} \
+ | tr -s / \
+ | sed -e 's,^/,,' -e 's,[^/]*,..,g'`/lib/libgcc_s.so.1 \
+ ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/libgcc_s.so
+
+ # We don't need libtool libraries
+ rm ${D}${libdir}/libg2c.la &>/dev/null || true
+
+
+ # Cleanup manpages..
+ rm -r ${D}${mandir}/man7
+
+ # We use libiberty from binutils
+ rm ${D}${libdir}/libiberty.a
+
+ cd ${D}${bindir}
+
+ # We care about g++ not c++
+ rm *c++
+
+ # We don't care about the gcc-<version> ones for this
+ rm *gcc-?.?*
+
+ # These sometimes show up, they are strange, we remove them
+ rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
+
+ # Symlinks so we can use these trivially on the target
+ ln -sf ${TARGET_SYS}-g77 g77
+ ln -sf ${TARGET_SYS}-g++ g++
+ ln -sf ${TARGET_SYS}-gcc gcc
+ ln -sf g77 f77
+ ln -sf g++ c++
+ ln -sf gcc cc
+ ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${base_libdir}/cpp
+ ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${bindir}/cpp
+}
diff --git a/meta/packages/gcc/gcc-paths-cross.inc b/meta/packages/gcc/gcc-paths-cross.inc
new file mode 100644
index 0000000000..3c08b1805d
--- /dev/null
+++ b/meta/packages/gcc/gcc-paths-cross.inc
@@ -0,0 +1,7 @@
+# Note that we use := here, and require that this
+# is included at the correct point (before inheriting
+# cross) to ensure that libdir and includedir are
+# target paths, not CROSS_DIR paths.
+target_libdir := "${libdir}"
+target_includedir := "${includedir}"
+target_base_libdir := "${base_libdir}"
diff --git a/meta/packages/gcc/gcc3-build-cross.inc b/meta/packages/gcc/gcc3-build-cross.inc
new file mode 100644
index 0000000000..384886c76e
--- /dev/null
+++ b/meta/packages/gcc/gcc3-build-cross.inc
@@ -0,0 +1,47 @@
+USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
+
+EXTRA_OECONF_PATHS = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
+ --with-gxx-include-dir=${CROSS_DIR}/${TARGET_SYS}/include/c++"
+
+do_configure_prepend () {
+ rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
+}
+
+do_compile_prepend () {
+ export CC="${BUILD_CC}"
+ export AR_FOR_TARGET="${TARGET_SYS}-ar"
+ export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
+ export LD_FOR_TARGET="${TARGET_SYS}-ld"
+ export NM_FOR_TARGET="${TARGET_SYS}-nm"
+ export CC_FOR_TARGET="${CCACHE} ${TARGET_SYS}-gcc ${TARGET_CC_ARCH}"
+}
+
+do_stage_append () {
+ for d in info man share/doc share/locale ; do
+ rm -rf ${CROSS_DIR}/$d
+ done
+
+ # These aren't useful on the cross toolchain
+ rm -f ${CROSS_DIR}/bin/*gcov
+ rm -f ${CROSS_DIR}/bin/*gccbug
+
+ # Fix a few include links so cross builds are happier
+ if [ ! -e ${STAGING_INCDIR}/c++ ]; then
+ mkdir -p ${STAGING_INCDIR}
+ ln -sf ${CROSS_DIR}/${TARGET_SYS}/include/c++ \
+ ${STAGING_INCDIR}/
+ fi
+
+ # We use libiberty from binutils
+ rm -f ${CROSS_DIR}/lib/libiberty.a
+
+ # We probably don't need these
+ rmdir ${CROSS_DIR}/include || :
+
+ # We don't really need to keep this around
+ # rm -rf ${CROSS_DIR}/share but leave java there
+ for d in share/man share/info;
+ do
+ rm -rf ${CROSS_DIR}/$d
+ done
+}
diff --git a/meta/packages/gcc/gcc3-build.inc b/meta/packages/gcc/gcc3-build.inc
new file mode 100644
index 0000000000..8048b45fba
--- /dev/null
+++ b/meta/packages/gcc/gcc3-build.inc
@@ -0,0 +1,95 @@
+MIRRORS_prepend () {
+${GNU_MIRROR}/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
+${GNU_MIRROR}/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
+${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
+${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/
+}
+
+gcclibdir ?= "${libdir}/gcc"
+S = "${WORKDIR}/gcc-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+BINV ?= "${PV}"
+
+# gcj doesn't work on some architectures
+JAVA = ",java"
+JAVA_arm = ""
+JAVA_armeb = ""
+JAVA_mipsel = ""
+JAVA_sh3 = ""
+# gcc4-build sets this to f95
+FORTRAN ?= "f77"
+LANGUAGES ?= "c,c++,${FORTRAN}${JAVA}"
+
+EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
+ --with-gnu-ld \
+ --enable-shared \
+ --enable-target-optspace \
+ --enable-languages=${LANGUAGES} \
+ --enable-threads=posix \
+ --enable-multilib \
+ --enable-c99 \
+ --enable-long-long \
+ --enable-symvers=gnu \
+ --enable-libstdcxx-pch \
+ --program-prefix=${TARGET_PREFIX} \
+ ${EXTRA_OECONF_PATHS} \
+ ${EXTRA_OECONF_DEP}"
+
+EXTRA_OECONF_PATHS = " \
+ --with-local-prefix=${prefix}/local \
+ --with-gxx-include-dir=${includedir}/c++/${BINV}"
+
+EXTRA_OECONF_DEP = ""
+EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
+EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
+EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
+CPPFLAGS = ""
+
+# Used by configure to define additional values for FLAGS_FOR_TARGET -
+# passed to all the compilers.
+ARCH_FLAGS_FOR_TARGET = ""
+#NOTE: not tested on other platforms, the following is probably correct
+# everywhere!
+ARCH_FLAGS_FOR_TARGET_slugos = "${TARGET_CC_ARCH}"
+ARCH_FLAGS_FOR_TARGET_unslung = "${TARGET_CC_ARCH}"
+EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'"
+
+def get_gcc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--with-float=soft"
+ return ""
+
+python __anonymous () {
+ import bb, re
+ if (re.match('linux-uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_uclibc}', d)
+ elif (re.match('linux$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_glibc}', d)
+}
+
+do_configure () {
+ # Setup these vars for cross building only
+ # ... because foo_FOR_TARGET apparently gets misinterpreted inside the
+ # gcc build stuff when the build is producing a cross compiler - i.e.
+ # when the 'current' target is the 'host' system, and the host is not
+ # the target (because the build is actually making a cross compiler!)
+ if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
+ export CC_FOR_TARGET="${CC}"
+ export GCC_FOR_TARGET="${CC}"
+ export CXX_FOR_TARGET="${CXX}"
+ export AS_FOR_TARGET="${HOST_PREFIX}as"
+ export LD_FOR_TARGET="${HOST_PREFIX}ld"
+ export NM_FOR_TARGET="${HOST_PREFIX}nm"
+ export AR_FOR_TARGET="${HOST_PREFIX}ar"
+ export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
+ fi
+ export CC_FOR_BUILD="${BUILD_CC}"
+ export CXX_FOR_BUILD="${BUILD_CXX}"
+ export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
+ export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
+ export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
+ export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
+ export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
diff --git a/meta/packages/gcc/gcc4-build.inc b/meta/packages/gcc/gcc4-build.inc
new file mode 100644
index 0000000000..8b80f4820a
--- /dev/null
+++ b/meta/packages/gcc/gcc4-build.inc
@@ -0,0 +1,6 @@
+FORTRAN = "f95"
+HAS_GFORTRAN = "yes"
+HAS_G2C = "no"
+
+include gcc3-build.inc
+
diff --git a/meta/packages/gcc/gcc_3.3.4.bb b/meta/packages/gcc/gcc_3.3.4.bb
new file mode 100644
index 0000000000..dc3a66cd29
--- /dev/null
+++ b/meta/packages/gcc/gcc_3.3.4.bb
@@ -0,0 +1,176 @@
+SECTION = "devel"
+PR = "r2"
+inherit autotools gettext
+
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+LICENSE = "GPL"
+MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+
+# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
+# packaged in the respective cross packages.
+PACKAGES = "${PN} ${PN}-symlinks \
+ ${PN}-c++ ${PN}-c++-symlinks \
+ ${PN}-f77 ${PN}-f77-symlinks \
+ libstdc++-dev libg2c-dev \
+ ${PN}-doc"
+
+FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
+ ${bindir}/${TARGET_PREFIX}cpp \
+ ${bindir}/${TARGET_PREFIX}gcov \
+ ${bindir}/${TARGET_PREFIX}gccbug \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1 \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/collect2 \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/crt* \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/specs \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/lib* \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include"
+
+FILES_${PN}-symlinks = "${bindir}/cc \
+ ${bindir}/gcc \
+ ${bindir}/cpp \
+ ${bindir}/gcov \
+ ${bindir}/gccbug"
+
+FILES_${PN}-c++ = "${bindir}/${TARGET_PREFIX}g++ \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/cc1plus"
+
+FILES_${PN}-c++-symlinks = "${bindir}/c++ \
+ ${bindir}/g++"
+
+PACKAGE_ARCH_libgcc = "${TARGET_ARCH}"
+FILES_libgcc = "/lib/libgcc_s.so.*"
+
+PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}"
+PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
+# Called from within gcc-cross, so libdir is set wrong
+#FILES_libstdc++ = "${libdir}/libstdc++.so.*"
+FILES_libstdc++ = "${libdir}/libstdc++.so.*"
+
+FILES_libstdc++-dev = "${includedir}/c++/${PV} \
+ ${libdir}/libstdc++.so \
+ ${libdir}/libstdc++.la \
+ ${libdir}/libstdc++.a \
+ ${libdir}/libsupc++.la \
+ ${libdir}/libsupc++.a"
+
+FILES_${PN}-doc = "${infodir} \
+ ${mandir} \
+ ${libdir}/gcc-lib/${TARGET_SYS}/${PV}/include/README"
+
+SRC_URI = "${GNU_MIRROR}/gcc/releases/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://arm-gotoff.dpatch;patch=1;pnum=0 \
+ file://arm-ldm.dpatch;patch=1;pnum=0 \
+ file://arm-tune.patch;patch=1;pnum=0 \
+ file://arm-ldm-peephole.patch;patch=1;pnum=0 \
+ file://libibery-crosstool.patch;patch=1;pnum=1 \
+ file://reverse-compare.patch;patch=1 \
+ file://gcc34-15089.patch;patch=1 \
+ file://gcc-uclibc-3.3-100-conf.patch;patch=1 \
+ file://gcc-uclibc-3.3-110-conf.patch;patch=1 \
+ file://gcc-uclibc-3.3-120-softfloat.patch;patch=1 \
+ file://gcc-uclibc-3.3-200-code.patch;patch=1 \
+ file://bash3.patch;patch=1"
+
+PREMIRRORS_prepend () {
+${GNU_MIRROR}/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
+${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
+}
+
+S = "${WORKDIR}/gcc-${PV}"
+B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
+
+EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
+ --with-gnu-ld \
+ --enable-shared \
+ --enable-multilib \
+ --enable-target-optspace \
+ --enable-languages=c,c++,f77 \
+ --enable-threads=posix \
+ --enable-c99 \
+ --enable-long-long \
+ --enable-symvers=gnu \
+ --program-prefix=${TARGET_PREFIX} \
+ ${EXTRA_OECONF_PATHS} \
+ ${EXTRA_OECONF_DEP}"
+
+EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
+ --with-gxx-include-dir=${includedir}/c++/${PV}"
+
+EXTRA_OECONF_DEP = ""
+EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
+EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
+EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
+
+def get_gcc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--with-float=soft"
+ return ""
+
+python __anonymous () {
+ import bb, re
+ if (re.match('linux-uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_uclibc}', d)
+ elif (re.match('linux$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_glibc}', d)
+}
+
+do_configure () {
+ # Setup these vars for cross building only
+ if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
+ export CC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
+ export GCC_FOR_TARGET="${CCACHE} ${HOST_PREFIX}gcc"
+ export CXX_FOR_TARGET="${CCACHE} ${HOST_PREFIX}g++"
+ export AS_FOR_TARGET="${HOST_PREFIX}as"
+ export LD_FOR_TARGET="${HOST_PREFIX}ld"
+ export NM_FOR_TARGET="${HOST_PREFIX}nm"
+ export AR_FOR_TARGET="${HOST_PREFIX}ar"
+ export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
+ fi
+ (cd ${S} && gnu-configize) || die "failure running gnu-configize"
+ oe_runconf
+}
+
+do_install () {
+ autotools_do_install
+
+ # Cleanup some of the gcc-lib stuff
+ rm -rf ${D}${libdir}/gcc-lib/${TARGET_SYS}/${PV}/install-tools
+
+ # Move libgcc_s into /lib
+ mkdir -p ${D}${base_libdir}
+ mv -f ${D}${libdir}/libgcc_s.so.* ${D}${base_libdir}
+ rm -f ${D}${libdir}/libgcc_s.so
+ ln -sf `echo ${libdir}/gcc-lib/${TARGET_SYS}/${PV} | tr -s / |
+ sed -e 's,^/,,' -e 's,[^/]*,..,g'`/lib/libgcc_s.so.? \
+ ${D}${libdir}/gcc-lib/${TARGET_SYS}/${PV}/libgcc_s.so
+
+ # Cleanup manpages..
+ rm -rf ${D}${mandir}/man7
+ mv ${D}${mandir}/man1/cpp.1 \
+ ${D}${mandir}/man1/${TARGET_SYS}-cpp.1
+ mv ${D}${mandir}/man1/gcov.1 \
+ ${D}${mandir}/man1/${TARGET_SYS}-gcov.1
+
+ # We use libiberty from binutils
+ rm -f ${D}${libdir}/libiberty.a
+
+ cd ${D}${bindir}
+
+ # We care about g++ not c++
+ rm -f *c++
+
+ # We don't care about the gcc-<version> ones for this
+ rm -f *gcc-?.?*
+
+ # These sometimes show up, they are strange, we remove them
+ rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
+
+ # Symlinks so we can use these trivially on the target
+ ln -sf ${TARGET_SYS}-g77 g77
+ ln -sf ${TARGET_SYS}-g++ g++
+ ln -sf ${TARGET_SYS}-gcc gcc
+ ln -sf g77 f77
+ ln -sf g++ c++
+ ln -sf gcc cc
+}
diff --git a/meta/packages/gcc/gcc_3.4.3.bb b/meta/packages/gcc/gcc_3.4.3.bb
new file mode 100644
index 0000000000..c92746be58
--- /dev/null
+++ b/meta/packages/gcc/gcc_3.4.3.bb
@@ -0,0 +1,27 @@
+PR = "r11"
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+SECTION = "devel"
+LICENSE = "GPL"
+MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+
+inherit autotools gettext
+
+include gcc-package.inc
+
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://gcc34-reverse-compare.patch;patch=1 \
+ file://gcc34-arm-ldm.patch;patch=1 \
+ file://gcc34-arm-ldm-peephole.patch;patch=1 \
+ file://gcc34-arm-tune.patch;patch=1 \
+ file://gcc-3.4.1-uclibc-100-conf.patch;patch=1 \
+ file://gcc-3.4.1-uclibc-200-locale.patch;patch=1 \
+ file://gcc-3.4.0-arm-lib1asm.patch;patch=1 \
+ file://gcc-3.4.0-arm-nolibfloat.patch;patch=1 \
+ file://gcc-3.4.0-arm-bigendian.patch;patch=1 \
+ file://gcc-3.4.0-arm-bigendian-uclibc.patch;patch=1 \
+ file://GCC3.4.0VisibilityPatch.diff;patch=1 \
+ file://15342.patch;patch=1 \
+ file://always-fixincperm.patch;patch=1"
+
+include gcc3-build.inc
diff --git a/meta/packages/gcc/gcc_3.4.4.bb b/meta/packages/gcc/gcc_3.4.4.bb
new file mode 100644
index 0000000000..5be603f2ca
--- /dev/null
+++ b/meta/packages/gcc/gcc_3.4.4.bb
@@ -0,0 +1,30 @@
+PR = "r5"
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+SECTION = "devel"
+LICENSE = "GPL"
+MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+
+inherit autotools gettext
+
+include gcc-package.inc
+
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://gcc34-reverse-compare.patch;patch=1 \
+ file://gcc34-arm-ldm.patch;patch=1 \
+ file://gcc34-arm-ldm-peephole.patch;patch=1 \
+ file://gcc34-arm-tune.patch;patch=1 \
+ file://gcc-3.4.1-uclibc-100-conf.patch;patch=1 \
+ file://gcc-3.4.1-uclibc-200-locale.patch;patch=1 \
+ file://gcc-3.4.0-arm-lib1asm.patch;patch=1 \
+ file://gcc-3.4.0-arm-nolibfloat.patch;patch=1 \
+ file://gcc-3.4.0-arm-bigendian.patch;patch=1 \
+ file://gcc-3.4.0-arm-bigendian-uclibc.patch;patch=1 \
+ file://GCC3.4.0VisibilityPatch.diff;patch=1 \
+ file://15342.patch;patch=1 \
+ file://always-fixincperm.patch;patch=1"
+
+SRC_URI += "file://gcc34-configure.in.patch;patch=1"
+SRC_URI += "file://gcc34-thumb-support.patch;patch=1"
+
+include gcc3-build.inc
diff --git a/meta/packages/gcc/gcc_4.0.2.bb b/meta/packages/gcc/gcc_4.0.2.bb
new file mode 100644
index 0000000000..f4eeb9bdef
--- /dev/null
+++ b/meta/packages/gcc/gcc_4.0.2.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+SECTION = "devel"
+LICENSE = "GPL"
+MAINTAINER = "Gerald Britton <gbritton@doomcom.org>"
+DEPENDS = "mpfr gmp"
+PR = "r1"
+
+inherit autotools gettext
+
+include gcc-package.inc
+
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://arm-nolibfloat.patch;patch=1 \
+ file://arm-softfloat.patch;patch=1 \
+ file://ldflags.patch;patch=1"
+
+# uclibc patches below
+SRC_URI_append = " file://100-uclibc-conf.patch;patch=1 \
+ file://200-uclibc-locale.patch;patch=1 \
+ file://301-missing-execinfo_h.patch;patch=1 \
+ file://302-c99-snprintf.patch;patch=1 \
+ file://303-c99-complex-ugly-hack.patch;patch=1 \
+ file://800-arm-bigendian.patch;patch=1 \
+ file://zecke-host-cpp-ac-hack.patch;patch=1 "
+
+
+include gcc4-build.inc
diff --git a/meta/packages/gcc/gcc_csl-arm-2005q3.bb b/meta/packages/gcc/gcc_csl-arm-2005q3.bb
new file mode 100644
index 0000000000..62bacda147
--- /dev/null
+++ b/meta/packages/gcc/gcc_csl-arm-2005q3.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "The GNU cc and gcc C compilers."
+HOMEPAGE = "http://www.gnu.org/software/gcc/"
+SECTION = "devel"
+LICENSE = "GPL"
+BINV = "3.4.4"
+PV = "3.4.4+csl-arm-2005q3"
+PR = "r1"
+
+FILESDIR = "${FILE_DIRNAME}/gcc-csl-arm"
+
+inherit autotools gettext
+
+include gcc-package.inc
+
+SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm/2005q3-2/arm-2005q3-2-arm-none-linux-gnueabi.src.tar.bz2 \
+ file://gcc_optab_arm.patch;patch=1"
+
+do_unpack2() {
+ cd ${WORKDIR}
+ tar -xvjf ./arm-2005q3-2-arm-none-linux-gnueabi/gcc-2005q3-2.tar.bz2
+}
+
+addtask unpack2 after do_unpack before do_patch
+
+include gcc3-build.inc
+
+S = "${WORKDIR}/gcc-2005q3"
diff --git a/meta/packages/gdb/files/gdbserver-cflags-last.diff b/meta/packages/gdb/files/gdbserver-cflags-last.diff
new file mode 100644
index 0000000000..42bd740a7c
--- /dev/null
+++ b/meta/packages/gdb/files/gdbserver-cflags-last.diff
@@ -0,0 +1,13 @@
+--- gdb/gdbserver/Makefile.in.orig 2004-10-05 18:52:56.298419032 +0200
++++ gdb/gdbserver/Makefile.in 2004-10-05 18:53:10.442268840 +0200
+@@ -97,8 +97,8 @@
+ CFLAGS = @CFLAGS@
+
+ # INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
+-INTERNAL_CFLAGS = $(WARN_CFLAGS) ${CFLAGS} ${GLOBAL_CFLAGS} \
+- ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${BFD_CFLAGS}
++INTERNAL_CFLAGS = $(WARN_CFLAGS) ${GLOBAL_CFLAGS} \
++ ${PROFILE_CFLAGS} ${INCLUDE_CFLAGS} ${BFD_CFLAGS} ${CFLAGS}
+
+ # LDFLAGS is specifically reserved for setting from the command line
+ # when running make.
diff --git a/meta/packages/gdb/files/kill_arm_map_symbols.patch b/meta/packages/gdb/files/kill_arm_map_symbols.patch
new file mode 100644
index 0000000000..177142192d
--- /dev/null
+++ b/meta/packages/gdb/files/kill_arm_map_symbols.patch
@@ -0,0 +1,24 @@
+Index: gdb-6.3/gdb/arm-tdep.c
+===================================================================
+--- gdb-6.3.orig/gdb/arm-tdep.c 2004-08-03 02:02:20.000000000 +0000
++++ gdb-6.3/gdb/arm-tdep.c 2005-11-09 15:13:29.000000000 +0000
+@@ -2491,6 +2491,19 @@
+ static void
+ arm_elf_make_msymbol_special(asymbol *sym, struct minimal_symbol *msym)
+ {
++
++ /* FIXME: We want gdb to ignore the ARM ELF mapping symbols when
++ displaying disassembly so we use this horrible hack here to
++ artifically set their address to the highest possible value.
++ This is wrong of course, and it prevents the symbols from being
++ used for their intended purpose - to distinguish between ARM
++ and THUMB code. So we ought to find a better way to do this. */
++ if (bfd_asymbol_name (sym)
++ && bfd_asymbol_name (sym)[0] == '$'
++ && bfd_asymbol_name (sym)[1] != 0
++ && bfd_asymbol_name (sym)[2] == 0)
++ SYMBOL_VALUE_ADDRESS(msym) = (CORE_ADDR) 0x7ffffffc;
++
+ /* Thumb symbols are of type STT_LOPROC, (synonymous with
+ STT_ARM_TFUNC). */
+ if (ELF_ST_TYPE (((elf_symbol_type *)sym)->internal_elf_sym.st_info)
diff --git a/meta/packages/gdb/files/libiberty-cross.patch b/meta/packages/gdb/files/libiberty-cross.patch
new file mode 100644
index 0000000000..0d1897f9e0
--- /dev/null
+++ b/meta/packages/gdb/files/libiberty-cross.patch
@@ -0,0 +1,630 @@
+--- libiberty/configure.in.old 2004-03-31 21:25:25.000000000 +0100
++++ libiberty/configure.in 2004-03-31 21:18:02.000000000 +0100
+@@ -100,6 +100,7 @@
+ AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+ LIB_AC_PROG_CC
++AC_PROG_CC_WORKS
+
+ AC_PROG_CC_C_O
+ # autoconf is lame and doesn't give us any substitution variable for this.
+@@ -402,7 +403,6 @@
+
+ # We haven't set the list of objects yet. Use the standard autoconf
+ # tests. This will only work if the compiler works.
+- AC_PROG_CC_WORKS
+ AC_REPLACE_FUNCS($funcs)
+ libiberty_AC_FUNC_C_ALLOCA
+ AC_FUNC_VFORK
+
+--- libiberty/configure.old 2003-06-19 21:05:35.000000000 +0100
++++ libiberty/configure 2004-03-31 21:35:12.000000000 +0100
+@@ -1000,13 +1000,60 @@
+ fi
+
+
++echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
++echo "configure:1005: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++
++ac_ext=c
++# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
++ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
++cross_compiling=$ac_cv_prog_cc_cross
++
++cat > conftest.$ac_ext << EOF
++
++#line 1016 "configure"
++#include "confdefs.h"
++
++main(){return(0);}
++EOF
++if { (eval echo configure:1021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ ac_cv_prog_cc_works=yes
++ # If we can't run a trivial program, we are probably using a cross compiler.
++ if (./conftest; exit) 2>/dev/null; then
++ ac_cv_prog_cc_cross=no
++ else
++ ac_cv_prog_cc_cross=yes
++ fi
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ ac_cv_prog_cc_works=no
++fi
++rm -fr conftest*
++ac_ext=c
++# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
++ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
++cross_compiling=$ac_cv_prog_cc_cross
++
++echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
++if test $ac_cv_prog_cc_works = no; then
++ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
++fi
++echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
++echo "configure:1047: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
++cross_compiling=$ac_cv_prog_cc_cross
++
+
+ if test "x$CC" != xcc; then
+ echo $ac_n "checking whether $CC and cc understand -c and -o together""... $ac_c" 1>&6
+-echo "configure:1007: checking whether $CC and cc understand -c and -o together" >&5
++echo "configure:1054: checking whether $CC and cc understand -c and -o together" >&5
+ else
+ echo $ac_n "checking whether cc understands -c and -o together""... $ac_c" 1>&6
+-echo "configure:1010: checking whether cc understands -c and -o together" >&5
++echo "configure:1057: checking whether cc understands -c and -o together" >&5
+ fi
+ set dummy $CC; ac_cc="`echo $2 |
+ sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
+@@ -1018,16 +1065,16 @@
+ # We do the test twice because some compilers refuse to overwrite an
+ # existing .o file with -o, though they will create one.
+ ac_try='${CC-cc} -c conftest.c -o conftest.o 1>&5'
+-if { (eval echo configure:1022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+- test -f conftest.o && { (eval echo configure:1023: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
++if { (eval echo configure:1069: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
++ test -f conftest.o && { (eval echo configure:1070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+ then
+ eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+ if test "x$CC" != xcc; then
+ # Test first that cc exists at all.
+- if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1028: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
++ if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ ac_try='cc -c conftest.c -o conftest.o 1>&5'
+- if { (eval echo configure:1030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+- test -f conftest.o && { (eval echo configure:1031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
++ if { (eval echo configure:1077: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
++ test -f conftest.o && { (eval echo configure:1078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+ then
+ # cc works too.
+ :
+@@ -1063,7 +1110,7 @@
+
+
+ echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
+-echo "configure:1067: checking for POSIXized ISC" >&5
++echo "configure:1114: checking for POSIXized ISC" >&5
+ if test -d /etc/conf/kconfig.d &&
+ grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+ then
+@@ -1084,12 +1131,12 @@
+ fi
+
+ echo $ac_n "checking for working const""... $ac_c" 1>&6
+-echo "configure:1088: checking for working const" >&5
++echo "configure:1135: checking for working const" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1093 "configure"
++#line 1140 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -1138,7 +1185,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+ else
+@@ -1159,21 +1206,21 @@
+ fi
+
+ echo $ac_n "checking for inline""... $ac_c" 1>&6
+-echo "configure:1163: checking for inline" >&5
++echo "configure:1210: checking for inline" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+ cat > conftest.$ac_ext <<EOF
+-#line 1170 "configure"
++#line 1217 "configure"
+ #include "confdefs.h"
+
+ int main() {
+ } $ac_kw foo() {
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_inline=$ac_kw; break
+ else
+@@ -1199,14 +1246,14 @@
+ esac
+
+ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
+-echo "configure:1203: checking whether byte ordering is bigendian" >&5
++echo "configure:1250: checking whether byte ordering is bigendian" >&5
+ if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_cv_c_bigendian=unknown
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat > conftest.$ac_ext <<EOF
+-#line 1210 "configure"
++#line 1257 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/param.h>
+@@ -1217,11 +1264,11 @@
+ #endif
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1221: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1268: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat > conftest.$ac_ext <<EOF
+-#line 1225 "configure"
++#line 1272 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/param.h>
+@@ -1232,7 +1279,7 @@
+ #endif
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_c_bigendian=yes
+ else
+@@ -1252,7 +1299,7 @@
+ echo $ac_n "cross-compiling... " 2>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1256 "configure"
++#line 1303 "configure"
+ #include "confdefs.h"
+ main () {
+ /* Are we little or big endian? From Harbison&Steele. */
+@@ -1265,7 +1312,7 @@
+ exit (u.c[sizeof (long) - 1] == 1);
+ }
+ EOF
+-if { (eval echo configure:1269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:1316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_c_bigendian=no
+ else
+@@ -1283,7 +1330,7 @@
+ echo "$ac_t""$ac_cv_c_bigendian" 1>&6
+ if test $ac_cv_c_bigendian = unknown; then
+ echo $ac_n "checking to probe for byte ordering""... $ac_c" 1>&6
+-echo "configure:1287: checking to probe for byte ordering" >&5
++echo "configure:1334: checking to probe for byte ordering" >&5
+
+ cat >conftest.c <<EOF
+ short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+@@ -1352,7 +1399,7 @@
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+ echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+-echo "configure:1356: checking for a BSD compatible install" >&5
++echo "configure:1403: checking for a BSD compatible install" >&5
+ if test -z "$INSTALL"; then
+ if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1413,7 +1460,7 @@
+ # able to link anything, it had better be able to at least compile
+ # something.
+ echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+-echo "configure:1417: checking how to run the C preprocessor" >&5
++echo "configure:1464: checking how to run the C preprocessor" >&5
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+@@ -1428,13 +1475,13 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+-#line 1432 "configure"
++#line 1479 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1485: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1445,13 +1492,13 @@
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+-#line 1449 "configure"
++#line 1496 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1502: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1462,13 +1509,13 @@
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+-#line 1466 "configure"
++#line 1513 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax Error
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1519: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ :
+@@ -1496,17 +1543,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:1500: checking for $ac_hdr" >&5
++echo "configure:1547: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1505 "configure"
++#line 1552 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1510: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1557: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1533,12 +1580,12 @@
+ done
+
+ echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
+-echo "configure:1537: checking for sys/wait.h that is POSIX.1 compatible" >&5
++echo "configure:1584: checking for sys/wait.h that is POSIX.1 compatible" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1542 "configure"
++#line 1589 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/wait.h>
+@@ -1554,7 +1601,7 @@
+ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1558: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_sys_wait_h=yes
+ else
+@@ -1575,12 +1622,12 @@
+ fi
+
+ echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+-echo "configure:1579: checking whether time.h and sys/time.h may both be included" >&5
++echo "configure:1626: checking whether time.h and sys/time.h may both be included" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1584 "configure"
++#line 1631 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -1589,7 +1636,7 @@
+ struct tm *tp;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1640: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_time=yes
+ else
+@@ -1611,19 +1658,19 @@
+
+
+ echo $ac_n "checking whether errno must be declared""... $ac_c" 1>&6
+-echo "configure:1615: checking whether errno must be declared" >&5
++echo "configure:1662: checking whether errno must be declared" >&5
+ if eval "test \"`echo '$''{'libiberty_cv_declare_errno'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1620 "configure"
++#line 1667 "configure"
+ #include "confdefs.h"
+ #include <errno.h>
+ int main() {
+ int x = errno;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1627: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:1674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ libiberty_cv_declare_errno=no
+ else
+@@ -1645,12 +1692,12 @@
+
+
+ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+-echo "configure:1649: checking for ANSI C header files" >&5
++echo "configure:1696: checking for ANSI C header files" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1654 "configure"
++#line 1701 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -1658,7 +1705,7 @@
+ #include <float.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:1709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1675,7 +1722,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1679 "configure"
++#line 1726 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ EOF
+@@ -1693,7 +1740,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1697 "configure"
++#line 1744 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -1714,7 +1761,7 @@
+ :
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1718 "configure"
++#line 1765 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+@@ -1725,7 +1772,7 @@
+ exit (0); }
+
+ EOF
+-if { (eval echo configure:1729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:1776: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ :
+ else
+@@ -1749,12 +1796,12 @@
+ fi
+
+ echo $ac_n "checking for uintptr_t""... $ac_c" 1>&6
+-echo "configure:1753: checking for uintptr_t" >&5
++echo "configure:1800: checking for uintptr_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_uintptr_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1758 "configure"
++#line 1805 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -1790,12 +1837,12 @@
+
+
+ echo $ac_n "checking for pid_t""... $ac_c" 1>&6
+-echo "configure:1794: checking for pid_t" >&5
++echo "configure:1841: checking for pid_t" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1799 "configure"
++#line 1846 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #if STDC_HEADERS
+@@ -1895,12 +1942,12 @@
+ realpath canonicalize_file_name
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1899: checking for $ac_func" >&5
++echo "configure:1946: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1904 "configure"
++#line 1951 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -1923,7 +1970,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -2152,53 +2199,6 @@
+
+ # We haven't set the list of objects yet. Use the standard autoconf
+ # tests. This will only work if the compiler works.
+- echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:2157: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+-
+-ac_ext=c
+-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+-cross_compiling=$ac_cv_prog_cc_cross
+-
+-cat > conftest.$ac_ext << EOF
+-
+-#line 2168 "configure"
+-#include "confdefs.h"
+-
+-main(){return(0);}
+-EOF
+-if { (eval echo configure:2173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- ac_cv_prog_cc_works=yes
+- # If we can't run a trivial program, we are probably using a cross compiler.
+- if (./conftest; exit) 2>/dev/null; then
+- ac_cv_prog_cc_cross=no
+- else
+- ac_cv_prog_cc_cross=yes
+- fi
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- ac_cv_prog_cc_works=no
+-fi
+-rm -fr conftest*
+-ac_ext=c
+-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+-ac_cpp='$CPP $CPPFLAGS'
+-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+-cross_compiling=$ac_cv_prog_cc_cross
+-
+-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+-if test $ac_cv_prog_cc_works = no; then
+- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+-fi
+-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:2199: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+-cross_compiling=$ac_cv_prog_cc_cross
+-
+ for ac_func in $funcs
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+@@ -2900,7 +2900,7 @@
+ esac
+
+
+-for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
++for ac_hdr in unistd.h
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+@@ -3032,24 +3032,11 @@
+ #include <fcntl.h>
+ #include <sys/mman.h>
+
+-#if HAVE_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
+-
+-#if HAVE_STDLIB_H
+-# include <stdlib.h>
+-#endif
+-
+-#if HAVE_SYS_STAT_H
+-# include <sys/stat.h>
+-#endif
+-
+-#if HAVE_UNISTD_H
+-# include <unistd.h>
+-#endif
+-
+ /* This mess was copied from the GNU getpagesize.h. */
+ #ifndef HAVE_GETPAGESIZE
++# ifdef HAVE_UNISTD_H
++# include <unistd.h>
++# endif
+
+ /* Assume that all systems that can run configure have sys/param.h. */
+ # ifndef HAVE_SYS_PARAM_H
+@@ -3157,7 +3144,7 @@
+ }
+
+ EOF
+-if { (eval echo configure:3161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:3148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_func_mmap_fixed_mapped=yes
+ else
+@@ -3181,7 +3168,7 @@
+
+
+ echo $ac_n "checking for working strncmp""... $ac_c" 1>&6
+-echo "configure:3185: checking for working strncmp" >&5
++echo "configure:3172: checking for working strncmp" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_strncmp_works'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -3189,7 +3176,7 @@
+ ac_cv_func_strncmp_works=no
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 3193 "configure"
++#line 3180 "configure"
+ #include "confdefs.h"
+
+ /* Test by Jim Wilson and Kaveh Ghazi.
+@@ -3253,7 +3240,7 @@
+ }
+
+ EOF
+-if { (eval echo configure:3257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:3244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ ac_cv_func_strncmp_works=yes
+ else
diff --git a/meta/packages/gdb/files/sim-install.patch b/meta/packages/gdb/files/sim-install.patch
new file mode 100644
index 0000000000..3c88c4c059
--- /dev/null
+++ b/meta/packages/gdb/files/sim-install.patch
@@ -0,0 +1,34 @@
+--- gdb-6.1/sim/common/Makefile.in~ 2004-01-15 21:25:06.000000000 +0000
++++ gdb-6.1/sim/common/Makefile.in 2004-07-22 17:07:46.237809032 +0100
+@@ -34,7 +34,7 @@
+
+ datadir = @datadir@
+ mandir = @mandir@
+-man1dir = $(mandir)/man1
++man1dir = $(DESTDIR)$(mandir)/man1
+ infodir = @infodir@
+ includedir = @includedir@
+
+
+--- gdb-6.1/sim/common/Make-common.in~sim-install.patch 2003-09-08 18:24:59.000000000 +0100
++++ gdb-6.1/sim/common/Make-common.in 2004-07-22 17:56:18.947423032 +0100
+@@ -581,14 +581,14 @@
+
+ install-common: installdirs
+ n=`echo run | sed '$(program_transform_name)'`; \
+- $(INSTALL_PROGRAM) run$(EXEEXT) $(bindir)/$$n$(EXEEXT)
++ $(INSTALL_PROGRAM) run$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
+ n=`echo libsim.a | sed s/libsim.a/lib$(target_alias)-sim.a/`; \
+- $(INSTALL_DATA) libsim.a $(libdir)/$$n ; \
+- ( cd $(libdir) ; $(RANLIB) $$n )
++ $(INSTALL_DATA) libsim.a $(DESTDIR)$(libdir)/$$n ; \
++ ( cd $(DESTDIR)$(libdir) ; $(RANLIB) $$n )
+
+ installdirs:
+- $(SHELL) $(srcdir)/../../mkinstalldirs $(bindir)
+- $(SHELL) $(srcdir)/../../mkinstalldirs $(libdir)
++ $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(bindir)
++ $(SHELL) $(srcdir)/../../mkinstalldirs $(DESTDIR)$(libdir)
+
+ check:
+ cd ../testsuite && $(MAKE) check RUNTESTFLAGS="$(RUNTESTFLAGS)"
diff --git a/meta/packages/gdb/files/uclibc.patch b/meta/packages/gdb/files/uclibc.patch
new file mode 100644
index 0000000000..3d6b7ba187
--- /dev/null
+++ b/meta/packages/gdb/files/uclibc.patch
@@ -0,0 +1,194 @@
+--- binutils-2.15.91.0.1/bfd/config.bfd~binutils-2.15.90.0.3-uclibc-100-conf
++++ binutils-2.15.91.0.1/bfd/config.bfd
+@@ -128,7 +128,7 @@
+ targ_defvec=ecoffalpha_little_vec
+ targ_selvecs=bfd_elf64_alpha_vec
+ ;;
+- alpha*-*-linux-gnu* | alpha*-*-elf*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
+ targ_defvec=bfd_elf64_alpha_vec
+ targ_selvecs=ecoffalpha_little_vec
+ ;;
+@@ -138,7 +138,7 @@
+ alpha*-*-*)
+ targ_defvec=ecoffalpha_little_vec
+ ;;
+- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
++ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-linux-uclibc* | ia64*-*-kfreebsd*-gnu)
+ targ_defvec=bfd_elf64_ia64_little_vec
+ targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
+ ;;
+@@ -215,7 +215,7 @@
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+- armeb-*-elf | arm*b-*-linux-gnu*)
++ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_bigarm_vec
+ targ_selvecs=bfd_elf32_littlearm_vec
+ ;;
+@@ -223,8 +223,8 @@
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
+- arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks)
++ arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | \
++ arm*-*-conix* | arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks)
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+@@ -367,7 +367,7 @@
+ ;;
+
+ #ifdef BFD64
+- hppa*64*-*-linux-gnu*)
++ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_hppa_linux_vec
+ targ_selvecs=bfd_elf64_hppa_vec
+ ;;
+@@ -378,7 +378,7 @@
+ ;;
+ #endif
+
+- hppa*-*-linux-gnu* | hppa*-*-netbsd*)
++ hppa*-*-linux-gnu* | hppa*-*-netbsd* | hppa*-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_hppa_linux_vec
+ targ_selvecs=bfd_elf32_hppa_vec
+ ;;
+@@ -501,7 +501,7 @@
+ targ_selvecs=bfd_elf32_i386_vec
+ targ_underscore=yes
+ ;;
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_i386_vec
+ targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
+ targ64_selvecs=bfd_elf64_x86_64_vec
+@@ -515,7 +515,7 @@
+ targ_defvec=bfd_elf64_x86_64_vec
+ targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
+ ;;
+- x86_64-*-linux-gnu*)
++ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_x86_64_vec
+ targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
+ ;;
+@@ -690,7 +690,7 @@
+ targ_selvecs=bfd_elf32_m68k_vec
+ targ_underscore=yes
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_m68k_vec
+ targ_selvecs=m68klinux_vec
+ ;;
+@@ -966,7 +966,8 @@
+ ;;
+ #endif
+ powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
+- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
++ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
++ powerpc-*-rtems* | \
+ powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
+ targ_defvec=bfd_elf32_powerpc_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
+@@ -1003,8 +1004,8 @@
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+ ;;
+ powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
+- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
+- powerpcle-*-rtems*)
++ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
++ powerpcle-*-vxworks* | powerpcle-*-rtems*)
+ targ_defvec=bfd_elf32_powerpcle_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+ targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
+@@ -1165,7 +1166,7 @@
+ targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
+ targ_underscore=yes
+ ;;
+- sparc-*-linux-gnu*)
++ sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_sparc_vec
+ targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
+ ;;
+@@ -1212,7 +1213,7 @@
+ targ_defvec=sunos_big_vec
+ targ_underscore=yes
+ ;;
+- sparc64-*-linux-gnu*)
++ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_sparc_vec
+ targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
+ ;;
+--- binutils-2.15.91.0.1/bfd/configure~binutils-2.15.90.0.3-uclibc-100-conf
++++ binutils-2.15.91.0.1/bfd/configure
+@@ -1687,6 +1687,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+@@ -5266,7 +5271,7 @@
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ COREFILE=''
+ ;;
+- alpha*-*-linux-gnu*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/alphalinux.h"'
+ ;;
+@@ -5326,7 +5331,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+ ;;
+@@ -5364,7 +5369,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/hp300bsd.h"'
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/m68klinux.h"'
+ ;;
+--- binutils-2.15.91.0.1/bfd/configure.in~binutils-2.15.90.0.3-uclibc-100-conf
++++ binutils-2.15.91.0.1/bfd/configure.in
+@@ -164,7 +164,7 @@
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ COREFILE=''
+ ;;
+- alpha*-*-linux-gnu*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/alphalinux.h"'
+ ;;
+@@ -245,7 +245,7 @@
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+ changequote(,)dnl
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+@@ -286,7 +286,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/hp300bsd.h"'
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/m68klinux.h"'
+ ;;
diff --git a/meta/packages/gdb/gdb-6.3/uclibc.patch b/meta/packages/gdb/gdb-6.3/uclibc.patch
new file mode 100644
index 0000000000..b3981202ff
--- /dev/null
+++ b/meta/packages/gdb/gdb-6.3/uclibc.patch
@@ -0,0 +1,194 @@
+--- gdb-6.3/bfd/config.bfd.orig 2004-10-15 06:47:11.000000000 +0100
++++ gdb-6.3/bfd/config.bfd 2005-01-05 19:30:32.000000000 +0000
+@@ -129,7 +129,7 @@
+ targ_defvec=ecoffalpha_little_vec
+ targ_selvecs=bfd_elf64_alpha_vec
+ ;;
+- alpha*-*-linux-gnu* | alpha*-*-elf*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
+ targ_defvec=bfd_elf64_alpha_vec
+ targ_selvecs=ecoffalpha_little_vec
+ ;;
+@@ -139,7 +139,7 @@
+ alpha*-*-*)
+ targ_defvec=ecoffalpha_little_vec
+ ;;
+- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
++ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-linux-uclibc* | ia64*-*-kfreebsd*-gnu)
+ targ_defvec=bfd_elf64_ia64_little_vec
+ targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
+ ;;
+@@ -216,7 +216,7 @@
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+- armeb-*-elf | arm*b-*-linux-gnu*)
++ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_bigarm_vec
+ targ_selvecs=bfd_elf32_littlearm_vec
+ ;;
+@@ -224,8 +224,8 @@
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+ ;;
+- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
+- arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
++ arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | \
++ arm*-*-conix* | arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
+ arm*-*-eabi* )
+ targ_defvec=bfd_elf32_littlearm_vec
+ targ_selvecs=bfd_elf32_bigarm_vec
+@@ -378,7 +378,7 @@
+ ;;
+
+ #ifdef BFD64
+- hppa*64*-*-linux-gnu*)
++ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_hppa_linux_vec
+ targ_selvecs=bfd_elf64_hppa_vec
+ ;;
+@@ -389,7 +389,7 @@
+ ;;
+ #endif
+
+- hppa*-*-linux-gnu*)
++ hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_hppa_linux_vec
+ targ_selvecs=bfd_elf32_hppa_vec
+ ;;
+@@ -522,7 +522,7 @@
+ targ_selvecs=bfd_elf32_i386_vec
+ targ_underscore=yes
+ ;;
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_i386_vec
+ targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
+ targ64_selvecs=bfd_elf64_x86_64_vec
+@@ -536,7 +536,7 @@
+ targ_defvec=bfd_elf64_x86_64_vec
+ targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
+ ;;
+- x86_64-*-linux-gnu*)
++ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_x86_64_vec
+ targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
+ ;;
+@@ -711,7 +711,7 @@
+ targ_selvecs=bfd_elf32_m68k_vec
+ targ_underscore=yes
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_m68k_vec
+ targ_selvecs=m68klinux_vec
+ ;;
+@@ -987,7 +987,8 @@
+ ;;
+ #endif
+ powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
+- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
++ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
++ powerpc-*-rtems* | \
+ powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
+ targ_defvec=bfd_elf32_powerpc_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
+@@ -1024,8 +1025,8 @@
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+ ;;
+ powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
+- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
+- powerpcle-*-rtems*)
++ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
++ powerpcle-*-vxworks* | powerpcle-*-rtems*)
+ targ_defvec=bfd_elf32_powerpcle_vec
+ targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+ targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
+@@ -1192,7 +1193,7 @@
+ targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
+ targ_underscore=yes
+ ;;
+- sparc-*-linux-gnu*)
++ sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
+ targ_defvec=bfd_elf32_sparc_vec
+ targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
+ ;;
+@@ -1239,7 +1240,7 @@
+ targ_defvec=sunos_big_vec
+ targ_underscore=yes
+ ;;
+- sparc64-*-linux-gnu*)
++ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
+ targ_defvec=bfd_elf64_sparc_vec
+ targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
+ ;;
+--- gdb-6.3/bfd/configure.in.orig 2004-10-08 15:53:59.000000000 +0100
++++ gdb-6.3/bfd/configure.in 2005-01-05 19:28:50.000000000 +0000
+@@ -163,7 +163,7 @@
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ COREFILE=''
+ ;;
+- alpha*-*-linux-gnu*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/alphalinux.h"'
+ ;;
+@@ -248,7 +248,7 @@
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+ changequote(,)dnl
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ changequote([,])dnl
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+@@ -289,7 +289,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/hp300bsd.h"'
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/m68klinux.h"'
+ ;;
+--- gdb-6.3/bfd/configure.orig 2004-10-08 15:53:56.000000000 +0100
++++ gdb-6.3/bfd/configure 2005-01-05 19:29:27.000000000 +0000
+@@ -3583,6 +3583,11 @@
+ lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd* | knetbsd*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+@@ -9914,7 +9919,7 @@
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ COREFILE=''
+ ;;
+- alpha*-*-linux-gnu*)
++ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/alphalinux.h"'
+ ;;
+@@ -9978,7 +9983,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386mach3.h"'
+ ;;
+- i[3-7]86-*-linux-gnu*)
++ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/i386linux.h"'
+ ;;
+@@ -10016,7 +10021,7 @@
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/hp300bsd.h"'
+ ;;
+- m68*-*-linux-gnu*)
++ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
+ COREFILE=trad-core.lo
+ TRAD_HEADER='"hosts/m68klinux.h"'
+ ;;
diff --git a/meta/packages/gdb/gdb-cross_6.3.bb b/meta/packages/gdb/gdb-cross_6.3.bb
new file mode 100644
index 0000000000..a6823b6373
--- /dev/null
+++ b/meta/packages/gdb/gdb-cross_6.3.bb
@@ -0,0 +1,36 @@
+LICENSE = "GPL"
+DESCRIPTION = "gdb - GNU debugger"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@nexus.co.uk>"
+DEPENDS = "ncurses-native"
+
+inherit autotools sdk
+
+S = "${WORKDIR}/gdb-${PV}"
+SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
+ file://sim-install.patch;patch=1"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gdb-${PV}"
+
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CXX_FOR_BUILD = "${BUILD_CXX}"
+export CPP_FOR_BUILD = "${BUILD_CPP}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
+export CXXFLAGS_FOR_BUILD = "${BUILD_CXXFLAGS}"
+export CPPFLAGS_FOR_BUILD = "${BUILD_CPPFLAGS}"
+
+EXTRA_OEMAKE = "'SUBDIRS=intl mmalloc libiberty opcodes bfd sim gdb etc utils' LDFLAGS='${BUILD_LDFLAGS}'"
+
+EXTRA_OECONF = "--with-curses --with-readline"
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+ gnu-configize
+ oe_runconf
+}
+
+do_stage() {
+ :
+}
diff --git a/meta/packages/gdb/gdb_6.3.bb b/meta/packages/gdb/gdb_6.3.bb
new file mode 100644
index 0000000000..3e755cee67
--- /dev/null
+++ b/meta/packages/gdb/gdb_6.3.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "gdb - GNU debugger"
+HOMEPAGE = "http://www.gnu.org/software/gdb/"
+LICENSE="GPL"
+SECTION = "devel"
+PRIORITY = "optional"
+MAINTAINER = "Pawel Osiczko <p.osiczko@tetrapyloctomy.org>"
+DEPENDS = "ncurses readline"
+RDEPENDS_openmn = "libthread-db1"
+PR = "r2"
+
+PACKAGES =+ 'gdbserver '
+FILES_gdbserver = '${bindir}/gdbserver'
+
+inherit autotools gettext
+
+SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
+ file://uclibc.patch;patch=1 \
+ file://kill_arm_map_symbols.patch;patch=1 \
+ file://gdbserver-cflags-last.diff;patch=1;pnum=0"
+
+LDFLAGS_append = " -s"
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CXX_FOR_BUILD = "${BUILD_CXX}"
+export CPP_FOR_BUILD = "${BUILD_CPP}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
+export CXXFLAGS_FOR_BUILD = "${BUILD_CXXFLAGS}"
+export CPPFLAGS_FOR_BUILD = "${BUILD_CPPFLAGS}"
+export CFLAGS_append=" -L${STAGING_LIBDIR}"
+EXTRA_OEMAKE = "'SUBDIRS=intl mmalloc libiberty opcodes bfd sim gdb etc utils'"
+
+EXTRA_OECONF = "--disable-gdbtk --disable-tui --disable-x \
+ --with-curses --disable-multilib --with-readline --disable-sim \
+ --program-prefix=''"
+
+S = "${WORKDIR}/gdb-${PV}"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+do_install () {
+ make -C bfd/doc chew LDFLAGS= CFLAGS=-O2
+ oe_runmake DESTDIR='${D}' install
+ install -d ${D}${bindir}
+ install -m 0755 gdb/gdbserver/gdbserver ${D}${bindir}
+}
diff --git a/meta/packages/gdbm/gdbm-1.8.3/libtool-mode.patch b/meta/packages/gdbm/gdbm-1.8.3/libtool-mode.patch
new file mode 100644
index 0000000000..c56bac2ca9
--- /dev/null
+++ b/meta/packages/gdbm/gdbm-1.8.3/libtool-mode.patch
@@ -0,0 +1,20 @@
+--- gdbm-1.8.3/Makefile.in.orig 2006-02-16 15:17:25.000000000 +0000
++++ gdbm-1.8.3/Makefile.in 2006-02-16 15:18:08.000000000 +0000
+@@ -131,7 +131,7 @@
+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
+ $(DESTDIR)$(includedir) $(DESTDIR)$(man3dir) \
+ $(DESTDIR)$(infodir)
+- $(LIBTOOL) $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la
++ $(LIBTOOL) --mode=install $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la
+ $(INSTALL_DATA) gdbm.h \
+ $(DESTDIR)$(includedir)/gdbm.h
+ $(INSTALL_DATA) $(srcdir)/gdbm.3 \
+@@ -142,7 +142,7 @@
+ install-compat:
+ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
+ $(DESTDIR)$(includedir)
+- $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \
++ $(LIBTOOL) --mode=install $(INSTALL) -c libgdbm_compat.la \
+ $(DESTDIR)$(libdir)/libgdbm_compat.la
+ $(INSTALL_DATA) $(srcdir)/dbm.h \
+ $(DESTDIR)$(includedir)/dbm.h
diff --git a/meta/packages/gdbm/gdbm-1.8.3/makefile.patch b/meta/packages/gdbm/gdbm-1.8.3/makefile.patch
new file mode 100644
index 0000000000..5350c53729
--- /dev/null
+++ b/meta/packages/gdbm/gdbm-1.8.3/makefile.patch
@@ -0,0 +1,59 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- gdbm-1.8.3/Makefile.in~makefile
++++ gdbm-1.8.3/Makefile.in
+@@ -22,6 +22,7 @@
+ TEXI2DVI = texi2dvi
+
+ DEFS =
++DESTDIR =
+
+ # Where the system [n]dbm routines are...
+ LIBS = @LIBS@ -lc
+@@ -127,26 +128,26 @@
+ progs: $(PROGS)
+
+ install: libgdbm.la gdbm.h gdbm.info
+- $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \
+- $(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \
+- $(INSTALL_ROOT)$(infodir)
+- $(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \
+- $(INSTALL_ROOT)$(includedir)/gdbm.h
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \
+- $(INSTALL_ROOT)$(man3dir)/gdbm.3
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \
+- $(INSTALL_ROOT)$(infodir)/gdbm.info
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
++ $(DESTDIR)$(includedir) $(DESTDIR)$(man3dir) \
++ $(DESTDIR)$(infodir)
++ $(LIBTOOL) $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la
++ $(INSTALL_DATA) gdbm.h \
++ $(DESTDIR)$(includedir)/gdbm.h
++ $(INSTALL_DATA) $(srcdir)/gdbm.3 \
++ $(DESTDIR)$(man3dir)/gdbm.3
++ $(INSTALL_DATA) $(srcdir)/gdbm.info \
++ $(DESTDIR)$(infodir)/gdbm.info
+
+ install-compat:
+- $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \
+- $(INSTALL_ROOT)$(includedir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
++ $(DESTDIR)$(includedir)
+ $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \
+- $(INSTALL_ROOT)$(libdir)/libgdbm_compat.la
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \
+- $(INSTALL_ROOT)$(includedir)/dbm.h
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \
+- $(INSTALL_ROOT)$(includedir)/ndbm.h
++ $(DESTDIR)$(libdir)/libgdbm_compat.la
++ $(INSTALL_DATA) $(srcdir)/dbm.h \
++ $(DESTDIR)$(includedir)/dbm.h
++ $(INSTALL_DATA) $(srcdir)/ndbm.h \
++ $(DESTDIR)$(includedir)/ndbm.h
+
+ #libgdbm.a: $(OBJS) gdbm.h
+ # rm -f libgdbm.a
diff --git a/meta/packages/gdbm/gdbm-native-1.8.3/makefile.patch b/meta/packages/gdbm/gdbm-native-1.8.3/makefile.patch
new file mode 100644
index 0000000000..5350c53729
--- /dev/null
+++ b/meta/packages/gdbm/gdbm-native-1.8.3/makefile.patch
@@ -0,0 +1,59 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- gdbm-1.8.3/Makefile.in~makefile
++++ gdbm-1.8.3/Makefile.in
+@@ -22,6 +22,7 @@
+ TEXI2DVI = texi2dvi
+
+ DEFS =
++DESTDIR =
+
+ # Where the system [n]dbm routines are...
+ LIBS = @LIBS@ -lc
+@@ -127,26 +128,26 @@
+ progs: $(PROGS)
+
+ install: libgdbm.la gdbm.h gdbm.info
+- $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \
+- $(INSTALL_ROOT)$(includedir) $(INSTALL_ROOT)$(man3dir) \
+- $(INSTALL_ROOT)$(infodir)
+- $(LIBTOOL) $(INSTALL) -c libgdbm.la $(INSTALL_ROOT)$(libdir)/libgdbm.la
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) gdbm.h \
+- $(INSTALL_ROOT)$(includedir)/gdbm.h
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.3 \
+- $(INSTALL_ROOT)$(man3dir)/gdbm.3
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/gdbm.info \
+- $(INSTALL_ROOT)$(infodir)/gdbm.info
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
++ $(DESTDIR)$(includedir) $(DESTDIR)$(man3dir) \
++ $(DESTDIR)$(infodir)
++ $(LIBTOOL) $(INSTALL) -c libgdbm.la $(DESTDIR)$(libdir)/libgdbm.la
++ $(INSTALL_DATA) gdbm.h \
++ $(DESTDIR)$(includedir)/gdbm.h
++ $(INSTALL_DATA) $(srcdir)/gdbm.3 \
++ $(DESTDIR)$(man3dir)/gdbm.3
++ $(INSTALL_DATA) $(srcdir)/gdbm.info \
++ $(DESTDIR)$(infodir)/gdbm.info
+
+ install-compat:
+- $(srcdir)/mkinstalldirs $(INSTALL_ROOT)$(libdir) \
+- $(INSTALL_ROOT)$(includedir)
++ $(srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
++ $(DESTDIR)$(includedir)
+ $(LIBTOOL) $(INSTALL) -c libgdbm_compat.la \
+- $(INSTALL_ROOT)$(libdir)/libgdbm_compat.la
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/dbm.h \
+- $(INSTALL_ROOT)$(includedir)/dbm.h
+- $(INSTALL_DATA) -o $(BINOWN) -g $(BINGRP) $(srcdir)/ndbm.h \
+- $(INSTALL_ROOT)$(includedir)/ndbm.h
++ $(DESTDIR)$(libdir)/libgdbm_compat.la
++ $(INSTALL_DATA) $(srcdir)/dbm.h \
++ $(DESTDIR)$(includedir)/dbm.h
++ $(INSTALL_DATA) $(srcdir)/ndbm.h \
++ $(DESTDIR)$(includedir)/ndbm.h
+
+ #libgdbm.a: $(OBJS) gdbm.h
+ # rm -f libgdbm.a
diff --git a/meta/packages/gdbm/gdbm-native_1.8.3.bb b/meta/packages/gdbm/gdbm-native_1.8.3.bb
new file mode 100644
index 0000000000..adfc0459c2
--- /dev/null
+++ b/meta/packages/gdbm/gdbm-native_1.8.3.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "GNU dbm is a set of database routines that use extensible hashing."
+HOMEPAGE = "http://www.gnu.org/software/gdbm/gdbm.html"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL"
+PR = "r2"
+
+SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \
+ file://makefile.patch;patch=1"
+S = "${WORKDIR}/gdbm-${PV}"
+
+inherit autotools native
+
+do_stage () {
+ oe_libinstall -so -a libgdbm ${STAGING_LIBDIR}
+ install -m 0644 ${S}/gdbm.h ${STAGING_INCDIR}/
+}
diff --git a/meta/packages/gdbm/gdbm_1.8.3.bb b/meta/packages/gdbm/gdbm_1.8.3.bb
new file mode 100644
index 0000000000..ecef5fc414
--- /dev/null
+++ b/meta/packages/gdbm/gdbm_1.8.3.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "GNU dbm is a set of database routines that use extensible hashing."
+HOMEPAGE = "http://www.gnu.org/software/gdbm/gdbm.html"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL"
+PR = "r2"
+
+SRC_URI = "${GNU_MIRROR}/gdbm/gdbm-${PV}.tar.gz \
+ file://makefile.patch;patch=1 \
+ file://libtool-mode.patch;patch=1"
+
+inherit autotools
+
+do_stage () {
+ oe_libinstall -so -a libgdbm ${STAGING_LIBDIR}
+ install -m 0644 ${S}/gdbm.h ${STAGING_INCDIR}/
+}
diff --git a/meta/packages/genext2fs/genext2fs-1.3/autosize.patch b/meta/packages/genext2fs/genext2fs-1.3/autosize.patch
new file mode 100644
index 0000000000..a4318a6eee
--- /dev/null
+++ b/meta/packages/genext2fs/genext2fs-1.3/autosize.patch
@@ -0,0 +1,339 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- genext2fs-1.3.orig/genext2fs.c~autosize.patch
++++ genext2fs-1.3.orig/genext2fs.c
+@@ -4,6 +4,11 @@
+ // ext2 filesystem generator for embedded systems
+ // Copyright (C) 2000 Xavier Bestel <xavier.bestel@free.fr>
+ //
++// 'du' portions taken from coreutils/du.c in busybox:
++// Copyright (C) 1999,2000 by Lineo, inc. and John Beppu
++// Copyright (C) 1999,2000,2001 by John Beppu <beppu@codepoet.org>
++// Copyright (C) 2002 Edward Betts <edward@debian.org>
++//
+ // 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; version
+@@ -79,9 +84,93 @@
+ #include <ctype.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <sys/types.h>
++#include <getopt.h>
++
++#define HASH_SIZE 311 /* Should be prime */
++#define hash_inode(i) ((i) % HASH_SIZE)
++
++typedef struct ino_dev_hash_bucket_struct {
++ struct ino_dev_hash_bucket_struct *next;
++ ino_t ino;
++ dev_t dev;
++ char name[1];
++} ino_dev_hashtable_bucket_t;
++
++static ino_dev_hashtable_bucket_t *ino_dev_hashtable[HASH_SIZE];
++
++struct stats {
++ unsigned long nblocks;
++ unsigned long ninodes;
++};
++
++int is_in_ino_dev_hashtable(const struct stat *statbuf, char **name)
++{
++ ino_dev_hashtable_bucket_t *bucket;
++
++ bucket = ino_dev_hashtable[hash_inode(statbuf->st_ino)];
++ while (bucket != NULL) {
++ if ((bucket->ino == statbuf->st_ino) &&
++ (bucket->dev == statbuf->st_dev))
++ {
++ if (name) *name = bucket->name;
++ return 1;
++ }
++ bucket = bucket->next;
++ }
++ return 0;
++}
++
++/* Add statbuf to statbuf hash table */
++void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name)
++{
++ int i;
++ size_t s;
++ ino_dev_hashtable_bucket_t *bucket;
++
++ i = hash_inode(statbuf->st_ino);
++ s = name ? strlen(name) : 0;
++ bucket = malloc(sizeof(ino_dev_hashtable_bucket_t) + s);
++ bucket->ino = statbuf->st_ino;
++ bucket->dev = statbuf->st_dev;
++ if (name)
++ strcpy(bucket->name, name);
++ else
++ bucket->name[0] = '\0';
++ bucket->next = ino_dev_hashtable[i];
++ ino_dev_hashtable[i] = bucket;
++}
++
++/* Clear statbuf hash table */
++void reset_ino_dev_hashtable(void)
++{
++ int i;
++ ino_dev_hashtable_bucket_t *bucket;
++
++ for (i = 0; i < HASH_SIZE; i++) {
++ while (ino_dev_hashtable[i] != NULL) {
++ bucket = ino_dev_hashtable[i]->next;
++ free(ino_dev_hashtable[i]);
++ ino_dev_hashtable[i] = bucket;
++ }
++ }
++}
+
++static int count_ino_in_hashtable(void)
++{
++ long count = 0;
++ int i;
+
++ for (i = 0; i < HASH_SIZE; i++) {
++ ino_dev_hashtable_bucket_t *bucket = ino_dev_hashtable[i];
++ while (bucket != NULL) {
++ count++;
++ bucket = bucket->next;
++ }
++ }
+
++ return count;
++}
+
+ // block size
+
+@@ -1178,6 +1267,38 @@
+ return n;
+ }
+
++void stats_from_dir(struct stats *stats)
++{
++ DIR *dh;
++ struct dirent *dent;
++ struct stat st;
++ if(!(dh = opendir(".")))
++ perror_msg_and_die(".");
++ while((dent = readdir(dh)))
++ {
++ if((!strcmp(dent->d_name, ".")) || (!strcmp(dent->d_name, "..")))
++ continue;
++ lstat(dent->d_name, &st);
++ if (S_ISLNK(st.st_mode)) {
++ stats->ninodes++;
++ } else if (S_ISDIR(st.st_mode)) {
++ if(chdir(dent->d_name) < 0)
++ perror_msg_and_die(dent->d_name);
++ stats->ninodes++;
++ stats_from_dir(stats);
++ chdir("..");
++ } else {
++ if (!is_in_ino_dev_hashtable(&st, NULL)) {
++ add_to_ino_dev_hashtable(&st, NULL);
++ stats->nblocks += (st.st_blocks >> 1);
++ stats->ninodes++;
++ }
++ }
++ }
++ closedir(dh);
++ reset_ino_dev_hashtable();
++}
++
+ // adds a tree of entries to the filesystem from current dir
+ void add2fs_from_dir(filesystem *fs, uint32 this_nod)
+ {
+@@ -1436,7 +1557,6 @@
+ free_blocks_per_group = nbblocks_per_group - overhead_per_group;
+ }
+ nbblocks = nbblocks_per_group * nbgroups + 1;
+-
+
+ if(!(fs = (filesystem*)calloc(nbblocks, BLOCKSIZE)))
+ error_msg_and_die("not enough memory for filesystem");
+@@ -1891,6 +2011,7 @@
+ Regular files must exist in the target root directory. If a char,
+ block, fifo, or directory does not exist, it will be created.
+ */
++
+ static int interpret_table_entry(filesystem *fs, char *line)
+ {
+ char type, *name = NULL, *tmp, *dir, *bname;
+@@ -2026,6 +2147,52 @@
+ return 0;
+ }
+
++static int stats_from_table_entry(char *line, struct stats *stats)
++{
++ char type, *name = NULL, *tmp, *dir, *bname;
++ unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
++ unsigned long start = 0, increment = 1, count = 0;
++ inode *entry;
++
++ if (sscanf (line, "%" SCANF_PREFIX "s %c %lo %lu %lu %lu %lu %lu %lu %lu",
++ SCANF_STRING(name), &type, &mode, &uid, &gid, &major, &minor,
++ &start, &increment, &count) < 0)
++ {
++ return 1;
++ }
++
++ if (!strcmp(name, "/")) {
++ error_msg_and_die("Device table entries require absolute paths");
++ }
++
++ tmp = xstrdup(name);
++ bname = xstrdup(basename(tmp));
++ free(tmp);
++ switch (type) {
++ case 'd':
++ stats->ninodes++;
++ break;
++ case 'c':
++ case 'b':
++ if (count > 0) {
++ dev_t rdev;
++ char *dname;
++ unsigned long i;
++ for (i = start; i < count; i++) {
++ asprintf(&dname, "%s%lu", bname, i);
++ stats->ninodes++;
++ free(dname);
++ }
++ } else {
++ stats->ninodes++;
++ }
++ break;
++ }
++ free(bname);
++ free(name);
++ return 0;
++}
++
+ static int parse_device_table(filesystem *root, FILE * file)
+ {
+ char *line;
+@@ -2070,6 +2237,45 @@
+ return status;
+ }
+
++static int stats_from_dev_table(FILE *file, struct stats *stats)
++{
++ char *line;
++ int status = 0;
++ size_t length = 0;
++
++ /* Looks ok so far. The general plan now is to read in one
++ * line at a time, check for leading comment delimiters ('#'),
++ * then try and parse the line as a device table. If we fail
++ * to parse things, try and help the poor fool to fix their
++ * device table with a useful error msg... */
++ line = NULL;
++ while (getline(&line, &length, file) != -1) {
++ /* First trim off any whitespace */
++ int len = strlen(line);
++
++ /* trim trailing whitespace */
++ while (len > 0 && isspace(line[len - 1]))
++ line[--len] = '\0';
++ /* trim leading whitespace */
++ memmove(line, &line[strspn(line, " \n\r\t\v")], len);
++
++ /* How long are we after trimming? */
++ len = strlen(line);
++
++ /* If this is NOT a comment line, try to interpret it */
++ if (len && *line != '#') {
++ if (stats_from_table_entry(line, stats))
++ status = 1;
++ }
++
++ free(line);
++ line = NULL;
++ }
++ fclose(file);
++
++ return status;
++}
++
+ /*
+ Local Variables:
+ c-file-style: "linux"
+@@ -2112,6 +2318,8 @@
+ int nbblocks = -1;
+ int nbinodes = -1;
+ int nbresrvd = -1;
++ int tmp_nbblocks = -1;
++ int tmp_nbinodes = -1;
+ char * fsout = "-";
+ char * fsin = 0;
+ char * dopt[MAX_DOPT];
+@@ -2128,6 +2336,7 @@
+ int c;
+ struct stat sb;
+ FILE *devtable = NULL;
++ struct stats stats;
+
+ app_name = argv[0];
+ while((c = getopt(argc, argv, "x:d:b:i:r:g:e:zvhD:f:qUP")) != EOF)
+@@ -2184,6 +2393,7 @@
+ default:
+ exit(1);
+ }
++
+ if(optind < (argc - 1))
+ error_msg_and_die("too many arguments");
+ if(optind == (argc - 1))
+@@ -2201,6 +2411,46 @@
+ }
+ else
+ {
++ stats.ninodes = 0;
++ stats.nblocks = 0;
++ for(i = 0; i < didx; i++)
++ {
++ struct stat st;
++ char *pdir;
++ stat(dopt[i], &st);
++ switch(st.st_mode & S_IFMT)
++ {
++ case S_IFDIR:
++ if(!(pdir = getcwd(0, GETCWD_SIZE)))
++ perror_msg_and_die(dopt[i]);
++ if(chdir(dopt[i]) < 0)
++ perror_msg_and_die(dopt[i]);
++ stats_from_dir(&stats);
++ if(chdir(pdir) < 0)
++ perror_msg_and_die(pdir);
++ free(pdir);
++ break;
++ default:
++ error_msg_and_die("%s is neither a file nor a directory", dopt[i]);
++ }
++ }
++
++ if(devtable)
++ stats_from_dev_table(devtable, &stats);
++
++ tmp_nbinodes = stats.ninodes + EXT2_FIRST_INO + 1;
++ tmp_nbblocks = stats.nblocks;
++
++ if(tmp_nbblocks > nbblocks)
++ {
++ printf("Number of blocks too low, increasing to %d\n",tmp_nbblocks);
++ nbblocks = tmp_nbblocks;
++ }
++ if(tmp_nbinodes > nbinodes)
++ {
++ printf("Number of inodes too low, increasing to %d\n",tmp_nbinodes);
++ nbinodes = tmp_nbinodes;
++ }
+ if(nbblocks == -1)
+ error_msg_and_die("filesystem size unspecified");
+ if(nbinodes == -1)
diff --git a/meta/packages/genext2fs/genext2fs-1.3/misc.patch b/meta/packages/genext2fs/genext2fs-1.3/misc.patch
new file mode 100644
index 0000000000..e5849eb797
--- /dev/null
+++ b/meta/packages/genext2fs/genext2fs-1.3/misc.patch
@@ -0,0 +1,2143 @@
+--- genext2fs-1.3.orig/Makefile
++++ genext2fs-1.3/Makefile
+@@ -0,0 +1,25 @@
++all: genext2fs
++INSTALL=install
++
++install:
++ $(INSTALL) -d $(DESTDIR)/usr/bin/
++ $(INSTALL) -m 755 genext2fs $(DESTDIR)/usr/bin/
++ $(INSTALL) -d $(DESTDIR)/usr/share/man/man8/
++ $(INSTALL) -m 644 genext2fs.8 $(DESTDIR)/usr/share/man/man8/
++
++clean:
++ -rm genext2fs
++ rm -rf test ext2.img
++
++check: all
++ mkdir -p test
++ dd if=/dev/zero of=test/zero count=1
++ ./genext2fs -b 4096 -d test ext2.img
++
++ md5=`md5sum ext2.img | cut -f 1 -d " "`; \
++ if [ "$$md5" != "a736fce6d45ea3631b01fd7b8f623131" ] ; then \
++ echo "test failed."; \
++ else \
++ echo "test succeeded."; \
++ fi
++
+diff -urN genext2fs-1.3.orig/dev.txt genext2fs-1.3/dev.txt
+--- genext2fs-1.3.orig/dev.txt 2000-09-28 09:03:19.000000000 -0600
++++ genext2fs-1.3/dev.txt 1969-12-31 17:00:00.000000000 -0700
+@@ -1,94 +0,0 @@
+-drwx /dev
+-crw- 10,190 /dev/lcd
+-crw- 10,191 /dev/splc781
+-crw- 4,0 /dev/console
+-crw- 5,64 /dev/cua0
+-crw- 5,65 /dev/cua1
+-crw- 5,66 /dev/cua2
+-crw- 5,70 /dev/cua6
+-crw- 5,71 /dev/cua7
+-crw- 5,72 /dev/cua8
+-crw- 5,73 /dev/cua9
+-crw- 29,0 /dev/fb0
+-crw- 29,32 /dev/fb1
+-crw- 1,2 /dev/kmem
+-crw- 1,1 /dev/mem
+-crw- 1,3 /dev/null
+-crw- 2,2 /dev/ptyp2
+-crw- 2,3 /dev/ptyp3
+-crw- 2,5 /dev/ptyp5
+-crw- 2,4 /dev/ptyp4
+-crw- 10,178 /dev/triokb
+-crw- 2,0 /dev/ptyp0
+-crw- 2,6 /dev/ptyp6
+-crw- 2,7 /dev/ptyp7
+-crw- 2,8 /dev/ptyp8
+-crw- 2,9 /dev/ptyp9
+-crw- 2,10 /dev/ptypa
+-crw- 2,11 /dev/ptypb
+-crw- 2,12 /dev/ptypc
+-crw- 2,13 /dev/ptypd
+-crw- 2,14 /dev/ptype
+-crw- 2,15 /dev/ptypf
+-brw- 1,0 /dev/ram0
+-brw- 1,1 /dev/ram1
+-brw- 1,2 /dev/ram2
+-brw- 1,3 /dev/ram3
+-br-- 31,0 /dev/rom0
+-brw- 31,1 /dev/rom1
+-brw- 31,2 /dev/rom2
+-brw- 31,3 /dev/rom3
+-crw- 5,0 /dev/tty
+-crw- 4,0 /dev/tty0
+-crwx 4,1 /dev/tty1
+-crwx 4,2 /dev/tty2
+-crwx 4,3 /dev/tty3
+-crwx 4,4 /dev/tty4
+-crw- 4,5 /dev/tty5
+-crwx 4,6 /dev/tty6
+-crw- 4,7 /dev/tty7
+-crw- 4,8 /dev/tty8
+-crw- 4,9 /dev/tty9
+-crw- 4,64 /dev/ttyS0
+-crw- 4,65 /dev/ttyS1
+-crw- 4,66 /dev/ttyS2
+-crw- 4,67 /dev/ttyS3
+-crw- 4,68 /dev/ttyS4
+-crw- 4,69 /dev/ttyS5
+-crw- 4,70 /dev/ttyS6
+-crw- 4,71 /dev/ttyS7
+-crw- 4,72 /dev/ttyS8
+-crw- 4,73 /dev/ttyS9
+-crw- 3,0 /dev/ttyp0
+-crw- 3,1 /dev/ttyp1
+-crw- 3,2 /dev/ttyp2
+-crw- 3,3 /dev/ttyp3
+-crw- 3,4 /dev/ttyp4
+-crw- 3,5 /dev/ttyp5
+-crw- 3,6 /dev/ttyp6
+-crw- 3,7 /dev/ttyp7
+-crw- 3,8 /dev/ttyp8
+-crw- 3,9 /dev/ttyp9
+-crw- 3,10 /dev/ttypa
+-crw- 3,11 /dev/ttypb
+-crw- 3,12 /dev/ttypc
+-crw- 3,13 /dev/ttypd
+-crw- 3,14 /dev/ttype
+-crw- 3,15 /dev/ttypf
+-crw- 1,5 /dev/zero
+-crwx 10,111 /dev/dtedrv
+-crwx 4,110 /dev/ttyM
+-crw- 77,1 /dev/tssnd
+-crw- 77,2 /dev/tstone
+-crw- 2,1 /dev/ptyp1
+-crwx 10,180 /dev/triohook
+-crw- 90,0 /dev/mtd0
+-brw- 44,0 /dev/ftl0
+-crw- 10,175 /dev/tporta
+-crw- 10,176 /dev/tportb
+-crwx 10,100 /dev/softmodem
+-crwx 10,101 /dev/softmodem_signals
+-crwx 10,181 /dev/triovoice
+-crw- 5,67 /dev/cua3
+-crw- 5,68 /dev/cua4
+-crw- 5,69 /dev/cua5
+diff -urN genext2fs-1.3.orig/device_table.txt genext2fs-1.3/device_table.txt
+--- genext2fs-1.3.orig/device_table.txt 1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/device_table.txt 2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,129 @@
++# When building a target filesystem, it is desirable to not have to
++# become root and then run 'mknod' a thousand times. Using a device
++# table you can create device nodes and directories "on the fly".
++#
++# This is a sample device table file for use with genext2fs. You can
++# do all sorts of interesting things with a device table file. For
++# example, if you want to adjust the permissions on a particular file
++# you can just add an entry like:
++# /sbin/foobar f 2755 0 0 - - - - -
++# and (assuming the file /sbin/foobar exists) it will be made setuid
++# root (regardless of what its permissions are on the host filesystem.
++# Furthermore, you can use a single table entry to create a many device
++# minors. For example, if I wanted to create /dev/hda and /dev/hda[0-15]
++# I could just use the following two table entries:
++# /dev/hda b 640 0 0 3 0 0 0 -
++# /dev/hda b 640 0 0 3 1 1 1 15
++#
++# Device table entries take the form of:
++# <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
++# where name is the file name, type can be one of:
++# f A regular file
++# d Directory
++# c Character special device file
++# b Block special device file
++# p Fifo (named pipe)
++# uid is the user id for the target file, gid is the group id for the
++# target file. The rest of the entries (major, minor, etc) apply only
++# to device special files.
++
++# Have fun
++# -Erik Andersen <andersen@codepoet.org>
++#
++
++#<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
++/dev d 755 0 0 - - - - -
++/dev/mem c 640 0 0 1 1 0 0 -
++/dev/kmem c 640 0 0 1 2 0 0 -
++/dev/null c 640 0 0 1 3 0 0 -
++/dev/zero c 640 0 0 1 5 0 0 -
++/dev/random c 640 0 0 1 8 0 0 -
++/dev/urandom c 640 0 0 1 9 0 0 -
++/dev/tty c 666 0 0 5 0 0 0 -
++/dev/tty c 666 0 0 4 0 0 1 6
++/dev/console c 640 0 0 5 1 0 0 -
++/dev/ram b 640 0 0 1 1 0 0 -
++/dev/ram b 640 0 0 1 0 0 1 4
++/dev/loop b 640 0 0 7 0 0 1 2
++/dev/ptmx c 666 0 0 5 2 0 0 -
++#/dev/ttyS c 640 0 0 4 64 0 1 4
++#/dev/psaux c 640 0 0 10 1 0 0 -
++#/dev/rtc c 640 0 0 10 135 0 0 -
++
++# Adjust permissions on some normal files
++#/etc/shadow f 600 0 0 - - - - -
++#/bin/tinylogin f 4755 0 0 - - - - -
++
++# User-mode Linux stuff
++/dev/ubda b 640 0 0 98 0 0 0 -
++/dev/ubda b 640 0 0 98 1 1 1 15
++
++# IDE Devices
++/dev/hda b 640 0 0 3 0 0 0 -
++/dev/hda b 640 0 0 3 1 1 1 15
++/dev/hdb b 640 0 0 3 64 0 0 -
++/dev/hdb b 640 0 0 3 65 1 1 15
++#/dev/hdc b 640 0 0 22 0 0 0 -
++#/dev/hdc b 640 0 0 22 1 1 1 15
++#/dev/hdd b 640 0 0 22 64 0 0 -
++#/dev/hdd b 640 0 0 22 65 1 1 15
++#/dev/hde b 640 0 0 33 0 0 0 -
++#/dev/hde b 640 0 0 33 1 1 1 15
++#/dev/hdf b 640 0 0 33 64 0 0 -
++#/dev/hdf b 640 0 0 33 65 1 1 15
++#/dev/hdg b 640 0 0 34 0 0 0 -
++#/dev/hdg b 640 0 0 34 1 1 1 15
++#/dev/hdh b 640 0 0 34 64 0 0 -
++#/dev/hdh b 640 0 0 34 65 1 1 15
++
++# SCSI Devices
++#/dev/sda b 640 0 0 8 0 0 0 -
++#/dev/sda b 640 0 0 8 1 1 1 15
++#/dev/sdb b 640 0 0 8 16 0 0 -
++#/dev/sdb b 640 0 0 8 17 1 1 15
++#/dev/sdc b 640 0 0 8 32 0 0 -
++#/dev/sdc b 640 0 0 8 33 1 1 15
++#/dev/sdd b 640 0 0 8 48 0 0 -
++#/dev/sdd b 640 0 0 8 49 1 1 15
++#/dev/sde b 640 0 0 8 64 0 0 -
++#/dev/sde b 640 0 0 8 65 1 1 15
++#/dev/sdf b 640 0 0 8 80 0 0 -
++#/dev/sdf b 640 0 0 8 81 1 1 15
++#/dev/sdg b 640 0 0 8 96 0 0 -
++#/dev/sdg b 640 0 0 8 97 1 1 15
++#/dev/sdh b 640 0 0 8 112 0 0 -
++#/dev/sdh b 640 0 0 8 113 1 1 15
++#/dev/sg c 640 0 0 21 0 0 1 15
++#/dev/scd b 640 0 0 11 0 0 1 15
++#/dev/st c 640 0 0 9 0 0 1 8
++#/dev/nst c 640 0 0 9 128 0 1 8
++#/dev/st c 640 0 0 9 32 1 1 4
++#/dev/st c 640 0 0 9 64 1 1 4
++#/dev/st c 640 0 0 9 96 1 1 4
++
++# Floppy disk devices
++#/dev/fd b 640 0 0 2 0 0 1 2
++#/dev/fd0d360 b 640 0 0 2 4 0 0 -
++#/dev/fd1d360 b 640 0 0 2 5 0 0 -
++#/dev/fd0h1200 b 640 0 0 2 8 0 0 -
++#/dev/fd1h1200 b 640 0 0 2 9 0 0 -
++#/dev/fd0u1440 b 640 0 0 2 28 0 0 -
++#/dev/fd1u1440 b 640 0 0 2 29 0 0 -
++#/dev/fd0u2880 b 640 0 0 2 32 0 0 -
++#/dev/fd1u2880 b 640 0 0 2 33 0 0 -
++
++# All the proprietary cdrom devices in the world
++#/dev/aztcd b 640 0 0 29 0 0 0 -
++#/dev/bpcd b 640 0 0 41 0 0 0 -
++#/dev/capi20 c 640 0 0 68 0 0 1 2
++#/dev/cdu31a b 640 0 0 15 0 0 0 -
++#/dev/cdu535 b 640 0 0 24 0 0 0 -
++#/dev/cm206cd b 640 0 0 32 0 0 0 -
++#/dev/sjcd b 640 0 0 18 0 0 0 -
++#/dev/sonycd b 640 0 0 15 0 0 0 -
++#/dev/gscd b 640 0 0 16 0 0 0 -
++#/dev/sbpcd b 640 0 0 25 0 0 0 -
++#/dev/sbpcd b 640 0 0 25 0 0 1 4
++#/dev/mcd b 640 0 0 23 0 0 0 -
++#/dev/optcd b 640 0 0 17 0 0 0 -
++
+diff -urN genext2fs-1.3.orig/genext2fs.8 genext2fs-1.3/genext2fs.8
+--- genext2fs-1.3.orig/genext2fs.8 1969-12-31 17:00:00.000000000 -0700
++++ genext2fs-1.3/genext2fs.8 2003-04-21 01:41:42.000000000 -0600
+@@ -0,0 +1,125 @@
++.\" Hey, EMACS: -*- nroff -*-
++.\" First parameter, NAME, should be all caps
++.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
++.\" other parameters are allowed: see man(7), man(1)
++.TH GENEXT2FS 8 "July 14, 2001"
++.\" Please adjust this date whenever revising the manpage.
++.\"
++.\" Some roff macros, for reference:
++.\" .nh disable hyphenation
++.\" .hy enable hyphenation
++.\" .ad l left justify
++.\" .ad b justify to both left and right margins
++.\" .nf disable filling
++.\" .fi enable filling
++.\" .br insert line break
++.\" .sp <n> insert n+1 empty lines
++.\" for manpage-specific macros, see man(7)
++.SH NAME
++genext2fs \- ext2 filesystem generator for embedded systems
++.SH SYNOPSIS
++.B genext2fs
++.RI [ options ] " image"
++.SH DESCRIPTION
++\fBgenext2fs\fP generates an ext2 filesystem
++as a normal (non-root) user. It doesn't require you to mount
++the image file to copy files on it. It doesn't even require
++you to be the superuser to make device nodes.
++.SH OPTIONS
++.TP
++.BI -x \ image
++Use this image as a starting point
++.TP
++.BI -d \ directory
++Add this directory as source
++.TP
++.BI -f \ FILE
++.TP
++.BI -D \ FILE
++Uses the named FILE as a device table file, to create device
++nodes and directories "on the fly".
++.TP
++.BI -b \ blocks
++Size in blocks
++.TP
++.BI -i \ inodes
++Number of inodes
++.TP
++.BI -r \ reserved
++Number of reserved blocks
++.TP
++.BI -g \ path
++Generate a block map file for this path
++.TP
++.BI -e \ value
++Fill unallocated blocks with value
++.TP
++.BI -z
++Make files with holes
++.TP
++.BI -U
++Squash owners making all files be owned by root
++.TP
++.BI -P
++Squash permissions on all files
++.TP
++.BI -q
++Squash permissions and owners (same as -P -U)
++.TP
++.BI -v
++Print resulting filesystem structure
++.TP
++.BI -h
++Display help
++.TP
++.SH EXAMPLES
++
++.EX
++.B
++ genext2fs -b 1440 -d src /dev/fd0
++.EE
++
++All files in the
++.I src
++directory will be written to
++.B /dev/fd0
++as a new ext2 filesystem image. You can then mount the floppy as
++usual.
++
++.EX
++.B
++ genext2fs -b 1024 -d src -D device_table.txt flashdisk.img
++.EE
++
++This example builds a filesystem from all the files in
++.I src
++, then device nodes are created based on the content the device_table file
++.I dev.txt.
++An example device file follows:
++
++.EX
++ #<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
++ /dev d 755 0 0 - - - - -
++ /dev/mem c 640 0 0 1 1 0 0 -
++ /dev/tty c 666 0 0 5 0 0 0 -
++ /dev/tty c 666 0 0 4 0 0 1 6
++ /dev/loop b 640 0 0 7 0 0 1 2
++ /dev/hda b 640 0 0 3 0 0 0 -
++ /dev/hda b 640 0 0 3 1 1 1 16
++.EE
++
++This device table creates the /dev directory, a character device
++node /dev/mem (major 1, minor 1), it also creates /dev/tty,
++/dev/tty[0-5], /dev/loop[0-1], /dev/hda, and /dev/hda0 to /dev/hda15
++.SH BUGS
++\fBgenext2fs\fP does not support hard links. Hard links present in the input
++tree will be represented as separate files in the ext2 image.
++
++.SH SEE ALSO
++.BR mkfs (8),
++.BR genromfs (8),
++.BR mkisofs (8).
++.br
++.SH AUTHOR
++This manual page was written by David Kimdon <dwhedon@debian.org>,
++for the Debian GNU/Linux system (but may be used by others).
+diff -urN genext2fs-1.3.orig/genext2fs.c genext2fs-1.3/genext2fs.c
+--- genext2fs-1.3.orig/genext2fs.c 2001-06-18 02:11:32.000000000 -0600
++++ genext2fs-1.3/genext2fs.c 2003-04-21 01:48:35.000000000 -0600
+@@ -1,3 +1,4 @@
++/* vi: set sw=8 ts=8: */
+ // genext2fs.c
+ //
+ // ext2 filesystem generator for embedded systems
+@@ -26,6 +27,22 @@
+ // Bugfix: getcwd values for Solaris xavier.gueguen@col.bsf.alcatel.fr
+ // Bugfix: ANSI scanf for non-GNU C xavier.gueguen@col.bsf.alcatel.fr
+ // 28 Jun 2001 Bugfix: getcwd differs for Solaris/GNU mike@sowbug.com
++// 23 Mar 2002 Bugfix: test for IFCHR or IFBLK was flawed
++// 10 Oct 2002 Added comments,makefile targets, vsundar@ixiacom.com
++// endianess swap assert check.
++// Copyright (C) 2002 Ixia communications
++// 12 Oct 2002 Added support for triple indirection vsundar@ixiacom.com
++// Copyright (C) 2002 Ixia communications
++// 14 Oct 2002 Added support for groups vsundar@ixiacom.com
++// Copyright (C) 2002 Ixia communications
++// 5 Jan 2003 Bugfixes: reserved inodes should be set vsundar@usc.edu
++// only in the first group; directory names
++// need to be null padded at the end; and
++// number of blocks per group should be a
++// multiple of 8. Updated md5 values.
++// 6 Jan 2003 Erik Andersen <andersee@debian.org> added
++// mkfs.jffs2 compatible device table support,
++// along with -q, -P, -U
+
+
+ // `genext2fs' is a mean to generate an ext2 filesystem
+@@ -33,10 +50,6 @@
+ // the image file to copy files on it. It doesn't even require
+ // you to be the superuser to make device nodes.
+ //
+-// Warning ! `genext2fs' has been designed for embedded
+-// systems. As such, it will generate a filesystem for single-user
+-// usage: all files/directories/etc... will belong to UID/GID 0
+-//
+ // Example usage:
+ //
+ // # genext2fs -b 1440 -d srcdir /dev/fd0
+@@ -45,21 +58,15 @@
+ // a new ext2 filesystem image. You can then mount the floppy as
+ // usual.
+ //
+-// # genext2fs -b 1024 -d builddir -f devices.txt flashdisk.img
++// # genext2fs -b 1024 -d builddir -D device_table.txt flashdisk.img
+ //
+ // This one would build a filesystem from all the files in builddir,
+-// then would read a devices list and make apropriate nodes. The
+-// format for the device list is:
+-//
+-// drwx /dev
+-// crw- 10,190 /dev/lcd
+-// brw- 1,0 /dev/ram0
+-//
+-// This device list builds the /dev directory, a character device
+-// node /dev/lcd (major 10, minor 190) and a block device node
+-// /dev/ram0 (major 1, minor 0)
++// then would read the device_table.txt file and make apropriate nodes.
++// The format for the device table file is covered in detail in the sample
++// device_table.txt file provided with the genext2fs source.
+
+
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -67,6 +74,11 @@
+ #include <stdarg.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
++#include <assert.h>
++#include <time.h>
++#include <ctype.h>
++#include <errno.h>
++#include <fcntl.h>
+
+
+
+@@ -76,10 +88,14 @@
+ #define BLOCKSIZE 1024
+ #define BLOCKS_PER_GROUP 8192
+ #define BYTES_PER_INODE (8*BLOCKSIZE)
++/* Percentage of blocks that are reserved.*/
+ #define RESERVED_INODES 5/100
+
+
+ // inode block size (why is it != BLOCKSIZE ?!?)
++/* The field i_blocks in the ext2 inode stores the number of data blocks
++ but in terms of 512 bytes. That is what INODE_BLOCKSIZE represents.
++ INOBLK is the number of such blocks in an actual disk block */
+
+ #define INODE_BLOCKSIZE 512
+ #define INOBLK (BLOCKSIZE / INODE_BLOCKSIZE)
+@@ -147,6 +163,39 @@
+
+ #define OP_HOLES 0x01 // make files with holes
+
++/* Defines for accessing group details */
++
++// Number of groups in the filesystem
++#define GRP_NBGROUPS(fs) ( ((fs)->sb.s_blocks_count-1)/(fs)->sb.s_blocks_per_group )
++
++// Get group block bitmap (bbm) given the group number
++#define GRP_GET_GROUP_BBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_block_bitmap) )
++
++// Get group inode bitmap (ibm) given the group number
++#define GRP_GET_GROUP_IBM(fs,grp) ( get_blk((fs),(fs)->gd[(grp)].bg_inode_bitmap) )
++
++// Given an inode number find the group it belongs to
++#define GRP_GROUP_OF_INODE(fs,nod) ( ((nod)-1) / (fs)->sb.s_inodes_per_group)
++
++//Given an inode number get the inode bitmap that covers it
++#define GRP_GET_INODE_BITMAP(fs,nod) \
++ ( GRP_GET_GROUP_IBM((fs),GRP_GROUP_OF_INODE((fs),(nod))) )
++
++//Given an inode number find its offset within the inode bitmap that covers it
++#define GRP_IBM_OFFSET(fs,nod) \
++ ( (nod) - GRP_GROUP_OF_INODE((fs),(nod))*(fs)->sb.s_inodes_per_group )
++
++// Given a block number find the group it belongs to
++#define GRP_GROUP_OF_BLOCK(fs,blk) ( ((blk)-1) / (fs)->sb.s_blocks_per_group)
++
++//Given a block number get the block bitmap that covers it
++#define GRP_GET_BLOCK_BITMAP(fs,blk) \
++ ( GRP_GET_GROUP_BBM((fs),GRP_GROUP_OF_BLOCK((fs),(blk))) )
++
++//Given a block number find its offset within the block bitmap that covers it
++#define GRP_BBM_OFFSET(fs,blk) \
++ ( (blk) - GRP_GROUP_OF_BLOCK((fs),(blk))*(fs)->sb.s_blocks_per_group )
++
+
+ // used types
+
+@@ -287,7 +336,6 @@
+ {
+ groupdescriptor_decl
+ uint32 bg_reserved[3];
+- uint32 bg_pad_to_bk[(BLOCKSIZE-32)/sizeof(uint32)];
+ } groupdescriptor;
+
+ typedef struct
+@@ -304,6 +352,32 @@
+
+ typedef uint8 block[BLOCKSIZE];
+
++/* blockwalker fields:
++ The blockwalker is used to access all the blocks of a file (including
++ the indirection blocks) through repeated calls to walk_bw.
++
++ bpdir -> index into the inode->i_block[]. Indicates level of indirection.
++ bnum -> total number of blocks so far accessed. including indirection
++ blocks.
++ bpind,bpdind,bptind -> index into indirection blocks.
++
++ bpind, bpdind, bptind do *NOT* index into single, double and triple
++ indirect blocks resp. as you might expect from their names. Instead
++ they are in order the 1st, 2nd & 3rd index to be used
++
++ As an example..
++ To access data block number 70000:
++ bpdir: 15 (we are doing triple indirection)
++ bpind: 0 ( index into the triple indirection block)
++ bpdind: 16 ( index into the double indirection block)
++ bptind: 99 ( index into the single indirection block)
++ 70000 = 12 + 256 + 256*256 + 16*256 + 100 (indexing starts from zero)
++
++ So,for double indirection bpind will index into the double indirection
++ block and bpdind into the single indirection block. For single indirection
++ only bpind will be used.
++*/
++
+ typedef struct
+ {
+ uint32 bnum;
+@@ -313,15 +387,14 @@
+ uint32 bptind;
+ } blockwalker;
+
++
++/* Filesystem structure that support groups */
+ #if BLOCKSIZE == 1024
+ typedef struct
+ {
+ block zero; // The famous block 0
+ superblock sb; // The superblock
+- groupdescriptor gd; // The group desciptor
+- block bbm; // The block bitmap
+- block ibm; // The inode bitmap
+- inode itab[0]; // The inode table
++ groupdescriptor gd[0]; // The group descriptors
+ } filesystem;
+ #else
+ #error UNHANDLED BLOCKSIZE
+@@ -389,25 +462,113 @@
+ #undef udecl32
+ #undef utdecl32
+
+-char * argv0;
++static char * app_name;
++static int squash_uids = 0;
++static int squash_perms = 0;
++static const char *const memory_exhausted = "memory exhausted";
+
+ // error (un)handling
+-inline void errexit(const char *fmt, ...)
++static void verror_msg(const char *s, va_list p)
+ {
+- va_list ap;
+- fprintf(stderr, "%s: ", argv0);
+- va_start(ap, fmt);
+- vfprintf(stderr, fmt, ap);
+- va_end(ap);
+- fprintf(stderr, "\n");
+- exit(1);
++ fflush(stdout);
++ fprintf(stderr, "%s: ", app_name);
++ vfprintf(stderr, s, p);
++}
++static void error_msg(const char *s, ...)
++{
++ va_list p;
++ va_start(p, s);
++ verror_msg(s, p);
++ va_end(p);
++ putc('\n', stderr);
++}
++
++static void error_msg_and_die(const char *s, ...)
++{
++ va_list p;
++ va_start(p, s);
++ verror_msg(s, p);
++ va_end(p);
++ putc('\n', stderr);
++ exit(EXIT_FAILURE);
++}
++
++static void vperror_msg(const char *s, va_list p)
++{
++ int err = errno;
++ if (s == 0)
++ s = "";
++ verror_msg(s, p);
++ if (*s)
++ s = ": ";
++ fprintf(stderr, "%s%s\n", s, strerror(err));
++}
++
++#if 0
++static void perror_msg(const char *s, ...)
++{
++ va_list p;
++ va_start(p, s);
++ vperror_msg(s, p);
++ va_end(p);
++}
++#endif
++static void perror_msg_and_die(const char *s, ...)
++{
++ va_list p;
++ va_start(p, s);
++ vperror_msg(s, p);
++ va_end(p);
++ exit(EXIT_FAILURE);
+ }
+
+-inline void pexit(const char * fname)
++static FILE *xfopen(const char *path, const char *mode)
+ {
+- fprintf(stderr, "%s: ", argv0);
+- perror(fname);
+- exit(1);
++ FILE *fp;
++ if ((fp = fopen(path, mode)) == NULL)
++ perror_msg_and_die("%s", path);
++ return fp;
++}
++
++static char *xstrdup(const char *s)
++{
++ char *t;
++
++ if (s == NULL)
++ return NULL;
++ t = strdup(s);
++ if (t == NULL)
++ error_msg_and_die(memory_exhausted);
++ return t;
++}
++
++extern void *xrealloc(void *ptr, size_t size)
++{
++ ptr = realloc(ptr, size);
++ if (ptr == NULL && size != 0)
++ error_msg_and_die(memory_exhausted);
++ return ptr;
++}
++
++static char *xreadlink(const char *path)
++{
++ static const int GROWBY = 80; /* how large we will grow strings by */
++
++ char *buf = NULL;
++ int bufsize = 0, readsize = 0;
++
++ do {
++ buf = xrealloc(buf, bufsize += GROWBY);
++ readsize = readlink(path, buf, bufsize); /* 1st try */
++ if (readsize == -1) {
++ perror_msg_and_die("%s:%s", app_name, path);
++ }
++ }
++ while (bufsize < readsize + 1);
++
++ buf[readsize] = '\0';
++
++ return buf;
+ }
+
+ // printf helper macro
+@@ -423,7 +584,7 @@
+ {
+ }
+
+-// rounds a quantity up to a blocksize
++/* Rounds qty upto a multiple of siz. siz should be a power of 2 */
+ uint32 rndup(uint32 qty, uint32 siz)
+ {
+ return (qty + (siz - 1)) & ~(siz - 1);
+@@ -444,7 +605,13 @@
+ // return a given inode from a filesystem
+ inline inode * get_nod(filesystem *fs, uint32 nod)
+ {
+- return &fs->itab[nod-1];
++ int grp,offset;
++ inode *itab;
++
++ offset = GRP_IBM_OFFSET(fs,nod);
++ grp = GRP_GROUP_OF_INODE(fs,nod);
++ itab = (inode *)get_blk(fs, fs->gd[grp].bg_inode_table);
++ return itab+offset-1;
+ }
+
+ // allocate a given block/inode in the bitmap
+@@ -479,29 +646,57 @@
+ }
+
+ // allocate a block
+-uint32 alloc_blk(filesystem *fs)
++uint32 alloc_blk(filesystem *fs, uint32 nod)
+ {
+- uint32 bk;
+- if(!(bk = allocate(fs->bbm, 0)))
+- errexit("couldn't allocate a block (no free space)");
+- if(!(fs->gd.bg_free_blocks_count--))
+- errexit("group descr. free blocks count == 0 (corrupted fs?)");
++ uint32 bk=0;
++ uint32 grp,nbgroups;
++
++ grp = nod/fs->sb.s_inodes_per_group;
++ nbgroups = ( fs->sb.s_blocks_count - fs->sb.s_first_data_block + fs->sb.s_blocks_per_group -1 ) /
++ fs->sb.s_blocks_per_group;
++ if(!(bk = allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap), 0))) {
++ for(grp=0;grp<nbgroups && !bk;grp++)
++ bk=allocate(get_blk(fs,fs->gd[grp].bg_block_bitmap),0);
++ grp--;
++ }
++ if (!bk)
++ error_msg_and_die("couldn't allocate a block (no free space)");
++ if(!(fs->gd[grp].bg_free_blocks_count--))
++ error_msg_and_die("group descr %d. free blocks count == 0 (corrupted fs?)",grp);
+ if(!(fs->sb.s_free_blocks_count--))
+- errexit("superblock free blocks count == 0 (corrupted fs?)");
+- return bk;
++ error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)");
++ return fs->sb.s_blocks_per_group*grp + bk;
+ }
+
+ // allocate an inode
+ uint32 alloc_nod(filesystem *fs)
+ {
+- uint32 nod;
+- if(!(nod = allocate(fs->ibm, 0)))
+- errexit("couldn't allocate an inode (no free inode)");
+- if(!(fs->gd.bg_free_inodes_count--))
+- errexit("group descr. free blocks count == 0 (corrupted fs?)");
++ uint32 nod=0,best_group=0;
++ uint32 grp,nbgroups,avefreei;
++
++ nbgroups = ( fs->sb.s_blocks_count - fs->sb.s_first_data_block + fs->sb.s_blocks_per_group -1 ) /
++ fs->sb.s_blocks_per_group;
++
++ /* Distribute inodes amongst all the blocks */
++ /* For every block group with more than average number of free inodes */
++ /* find the one with the most free blocks and allocate node there */
++ /* Idea from find_group_dir in fs/ext2/ialloc.c in 2.4.19 kernel */
++ /* We do it for all inodes. */
++ avefreei = fs->sb.s_free_inodes_count / nbgroups;
++ for(grp=0;grp<nbgroups && !nod;grp++) {
++ if (fs->gd[grp].bg_free_inodes_count < avefreei)
++ continue;
++ if (!best_group ||
++ fs->gd[grp].bg_free_blocks_count > fs->gd[best_group].bg_free_blocks_count)
++ best_group = grp;
++ }
++ if (!(nod = allocate(get_blk(fs,fs->gd[best_group].bg_inode_bitmap),0)))
++ error_msg_and_die("couldn't allocate an inode (no free inode)");
++ if(!(fs->gd[best_group].bg_free_inodes_count--))
++ error_msg_and_die("group descr. free blocks count == 0 (corrupted fs?)");
+ if(!(fs->sb.s_free_inodes_count--))
+- errexit("superblock free blocks count == 0 (corrupted fs?)");
+- return nod;
++ error_msg_and_die("superblock free blocks count == 0 (corrupted fs?)");
++ return fs->sb.s_inodes_per_group*best_group+nod;
+ }
+
+ // print a bitmap allocation
+@@ -546,14 +741,14 @@
+ {
+ bkref = &get_nod(fs, nod)->i_block[bw->bpdir = 0];
+ if(extend) // allocate first block
+- *bkref = hole ? 0 : alloc_blk(fs);
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
+ }
+ // direct block
+ else if(bw->bpdir < EXT2_NDIR_BLOCKS)
+ {
+ bkref = &get_nod(fs, nod)->i_block[++bw->bpdir];
+ if(extend) // allocate block
+- *bkref = hole ? 0 : alloc_blk(fs);
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
+ }
+ // first block in indirect block
+ else if(bw->bpdir == EXT2_NDIR_BLOCKS)
+@@ -562,11 +757,11 @@
+ bw->bpdir = EXT2_IND_BLOCK;
+ bw->bpind = 0;
+ if(extend) // allocate indirect block
+- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs);
++ get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
+ b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
+ bkref = &b[bw->bpind];
+ if(extend) // allocate first block
+- *bkref = hole ? 0 : alloc_blk(fs);
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
+ }
+ // block in indirect block
+ else if((bw->bpdir == EXT2_IND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1))
+@@ -575,7 +770,7 @@
+ b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
+ bkref = &b[bw->bpind];
+ if(extend) // allocate block
+- *bkref = hole ? 0 : alloc_blk(fs);
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
+ }
+ // first block in first indirect block in first double indirect block
+ else if(bw->bpdir == EXT2_IND_BLOCK)
+@@ -585,14 +780,14 @@
+ bw->bpind = 0;
+ bw->bpdind = 0;
+ if(extend) // allocate double indirect block
+- get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs);
++ get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
+ b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
+ if(extend) // allocate first indirect block
+- b[bw->bpind] = alloc_blk(fs);
++ b[bw->bpind] = alloc_blk(fs,nod);
+ b = (uint32*)get_blk(fs, b[bw->bpind]);
+ bkref = &b[bw->bpdind];
+ if(extend) // allocate first block
+- *bkref = hole ? 0 : alloc_blk(fs);
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
+ }
+ // block in indirect block in double indirect block
+ else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpdind < BLOCKSIZE/4 - 1))
+@@ -602,7 +797,7 @@
+ b = (uint32*)get_blk(fs, b[bw->bpind]);
+ bkref = &b[bw->bpdind];
+ if(extend) // allocate block
+- *bkref = hole ? 0 : alloc_blk(fs);
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
+ }
+ // first block in indirect block in double indirect block
+ else if((bw->bpdir == EXT2_DIND_BLOCK) && (bw->bpind < BLOCKSIZE/4 - 1))
+@@ -612,20 +807,100 @@
+ bw->bpind++;
+ b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
+ if(extend) // allocate indirect block
+- b[bw->bpind] = alloc_blk(fs);
++ b[bw->bpind] = alloc_blk(fs,nod);
+ b = (uint32*)get_blk(fs, b[bw->bpind]);
+ bkref = &b[bw->bpdind];
+ if(extend) // allocate first block
+- *bkref = hole ? 0 : alloc_blk(fs);
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
++ }
++
++ /* Adding support for triple indirection */
++ /* Just starting triple indirection. Allocate the indirection
++ blocks and the first data block
++ */
++ else if (bw->bpdir == EXT2_DIND_BLOCK)
++ {
++ bw->bnum += 3;
++ bw->bpdir = EXT2_TIND_BLOCK;
++ bw->bpind = 0;
++ bw->bpdind = 0;
++ bw->bptind = 0;
++ if(extend) // allocate triple indirect block
++ get_nod(fs, nod)->i_block[bw->bpdir] = alloc_blk(fs,nod);
++ b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
++ if(extend) // allocate first double indirect block
++ b[bw->bpind] = alloc_blk(fs,nod);
++ b = (uint32*)get_blk(fs, b[bw->bpind]);
++ if(extend) // allocate first indirect block
++ b[bw->bpdind] = alloc_blk(fs,nod);
++ b = (uint32*)get_blk(fs, b[bw->bpdind]);
++ bkref = &b[bw->bptind];
++ if(extend) // allocate first data block
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
++ }
++ /* Still processing a single indirect block down the indirection
++ chain.Allocate a data block for it
++ */
++ else if ( (bw->bpdir == EXT2_TIND_BLOCK) &&
++ (bw->bptind < BLOCKSIZE/4 -1) )
++ {
++ bw->bptind++;
++ b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
++ b = (uint32*)get_blk(fs, b[bw->bpind]);
++ b = (uint32*)get_blk(fs, b[bw->bpdind]);
++ bkref = &b[bw->bptind];
++ if(extend) // allocate data block
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
++ }
++ /* Finished processing a single indirect block. But still in the
++ same double indirect block. Allocate new single indirect block
++ for it and a data block
++ */
++ else if ( (bw->bpdir == EXT2_TIND_BLOCK) &&
++ (bw->bpdind < BLOCKSIZE/4 -1) )
++ {
++ bw->bnum++;
++ bw->bptind = 0;
++ bw->bpdind++;
++ b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
++ b = (uint32*)get_blk(fs, b[bw->bpind]);
++ if (extend) // allocate single indirect block
++ b[bw->bpdind] = alloc_blk(fs,nod);
++ b = (uint32*)get_blk(fs, b[bw->bpdind]);
++ bkref = &b[bw->bptind];
++ if(extend) // allocate first data block
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
++ }
++ /* Finished processing a double indirect block. Allocate the next
++ double indirect block and the single,data blocks for it
++ */
++ else if ( (bw->bpdir == EXT2_TIND_BLOCK) &&
++ (bw->bpind < BLOCKSIZE/4 - 1) )
++ {
++ bw->bnum += 2;
++ bw->bpdind = 0;
++ bw->bptind = 0;
++ bw->bpind++;
++ b = (uint32*)get_blk(fs, get_nod(fs, nod)->i_block[bw->bpdir]);
++ if(extend) // allocate double indirect block
++ b[bw->bpind] = alloc_blk(fs,nod);
++ b = (uint32*)get_blk(fs, b[bw->bpind]);
++ if(extend) // allocate single indirect block
++ b[bw->bpdind] = alloc_blk(fs,nod);
++ b = (uint32*)get_blk(fs, b[bw->bpdind]);
++ bkref = &b[bw->bptind];
++ if(extend) // allocate first block
++ *bkref = hole ? 0 : alloc_blk(fs,nod);
+ }
+- // I don't do triple indirect - it's such a small filesystem ...
+ else
+- errexit("file too big ! blocks list for inode %d extends past double indirect blocks!", nod);
++ error_msg_and_die("file too big !");
++ /* End change for walking triple indirection */
++
+ if(*bkref)
+ {
+ bw->bnum++;
+- if(!allocated(fs->bbm, *bkref))
+- errexit("[block %d of inode %d is unallocated !]", *bkref, nod);
++ if(!allocated(GRP_GET_BLOCK_BITMAP(fs,*bkref), GRP_BBM_OFFSET(fs,*bkref)))
++ error_msg_and_die("[block %d of inode %d is unallocated !]", *bkref, nod);
+ }
+ if(extend)
+ get_nod(fs, nod)->i_blocks = bw->bnum * INOBLK;
+@@ -663,23 +938,40 @@
+ }
+
+ // link an entry (inode #) to a directory
+-void add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name)
++void add2dir(filesystem *fs, uint32 dnod, uint32 nod, const char* name, uint32 mode, uid_t uid, gid_t gid, time_t ctime)
+ {
+ blockwalker bw;
+ uint32 bk;
+ uint8 *b;
+ directory *d;
+ int reclen, nlen;
+- if((get_nod(fs, dnod)->i_mode & FM_IFMT) != FM_IFDIR)
+- errexit("can't add '%s' to a non-directory", name);
++ inode *node;
++ inode *pnode;
++
++ /* Squash all permissions so files are owned by root
++ * and file permissions have group/other perms removed */
++ if (squash_uids) {
++ uid = gid = 0;
++ }
++ if (squash_perms) {
++ if (!S_ISLNK(mode)) {
++ mode &= ~(S_IWGRP | S_IWOTH);
++ mode &= ~(S_ISUID | S_ISGID);
++ }
++ }
++
++ pnode = get_nod(fs, dnod);
++
++ if(!S_ISDIR(pnode->i_mode))
++ error_msg_and_die("can't add '%s' to a non-directory", name);
+ if(!*name)
+- errexit("bad name '%s' (not meaningful)", name);
++ error_msg_and_die("bad name '%s' (not meaningful)", name);
+ if(strchr(name, '/'))
+- errexit("bad name '%s' (contains a slash)", name);
++ error_msg_and_die("bad name '%s' (contains a slash)", name);
+ nlen = strlen(name);
+ reclen = sizeof(directory) + rndup(nlen, 4);
+ if(reclen > BLOCKSIZE)
+- errexit("bad name '%s' (too long)", name);
++ error_msg_and_die("bad name '%s' (too long)", name);
+ init_bw(fs, dnod, &bw);
+ while((bk = walk_bw(fs, dnod, &bw, 0, 0)) != WALK_END) // for all blocks in dir
+ {
+@@ -691,9 +983,16 @@
+ if((!d->d_inode) && (d->d_rec_len >= reclen))
+ {
+ d->d_inode = nod;
+- get_nod(fs, nod)->i_links_count++;
++ node = get_nod(fs, nod);
++ node->i_links_count++;
+ d->d_name_len = nlen;
+- strncpy(d->d_name, name, nlen);
++ strncpy(d->d_name, name, rndup(nlen,4));
++ node->i_mode = mode;
++ node->i_uid = uid;
++ node->i_gid = gid;
++ node->i_atime = ctime;
++ node->i_ctime = ctime;
++ node->i_mtime = ctime;
+ return;
+ }
+ // if entry with enough room (last one?), shrink it & use it
+@@ -705,9 +1004,16 @@
+ d = (directory*) (((int8*)d) + d->d_rec_len);
+ d->d_rec_len = reclen;
+ d->d_inode = nod;
+- get_nod(fs, nod)->i_links_count++;
++ node = get_nod(fs, nod);
++ node->i_links_count++;
+ d->d_name_len = nlen;
+- strncpy(d->d_name, name, nlen);
++ strncpy(d->d_name, name, rndup(nlen,4));
++ node->i_mode = mode;
++ node->i_uid = uid;
++ node->i_gid = gid;
++ node->i_atime = ctime;
++ node->i_ctime = ctime;
++ node->i_mtime = ctime;
+ return;
+ }
+ }
+@@ -716,10 +1022,17 @@
+ b = get_workblk();
+ d = (directory*)b;
+ d->d_inode = nod;
+- get_nod(fs, nod)->i_links_count++;
++ node = get_nod(fs, nod);
++ node->i_links_count++;
+ d->d_rec_len = BLOCKSIZE;
+ d->d_name_len = nlen;
+- strncpy(d->d_name, name, nlen);
++ strncpy(d->d_name, name, rndup(nlen,4));
++ node->i_mode = mode;
++ node->i_uid = uid;
++ node->i_gid = gid;
++ node->i_atime = ctime;
++ node->i_ctime = ctime;
++ node->i_mtime = ctime;
+ extend_blk(fs, dnod, b, 1);
+ get_nod(fs, dnod)->i_size += BLOCKSIZE;
+ free_workblk(b);
+@@ -747,7 +1060,7 @@
+ // find the inode of a full path
+ uint32 find_path(filesystem *fs, uint32 nod, const char * name)
+ {
+- char *p, *n, *n2 = strdup(name);
++ char *p, *n, *n2 = xstrdup(name);
+ n = n2;
+ while(*n == '/')
+ {
+@@ -770,27 +1083,32 @@
+ }
+
+ // make a full-fledged directory (i.e. with "." & "..")
+-uint32 mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode)
++uint32 mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode,
++ uid_t uid, gid_t gid, time_t ctime)
+ {
+ uint32 nod;
+ if((nod = find_dir(fs, parent_nod, name)))
+ return nod;
+ nod = alloc_nod(fs);
+- get_nod(fs, nod)->i_mode = FM_IFDIR | mode;
+- add2dir(fs, parent_nod, nod, name);
+- add2dir(fs, nod, nod, ".");
+- add2dir(fs, nod, parent_nod, "..");
+- fs->gd.bg_used_dirs_count++;
++ if (!(mode & FM_IFDIR))
++ mode |= FM_IFDIR;
++ add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
++ add2dir(fs, nod, nod, ".", mode, uid, gid, ctime);
++ add2dir(fs, nod, parent_nod, "..", mode, uid, gid, ctime);
++ fs->gd[GRP_GROUP_OF_INODE(fs,nod)].bg_used_dirs_count++;
+ return nod;
+ }
+
+ // make a symlink
+-uint32 mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint8 * b)
++uint32 mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size,
++ uint8 * b, uid_t uid, gid_t gid, time_t ctime)
+ {
++ uint32 mode;
+ uint32 nod = alloc_nod(fs);
++ mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO;
+ get_nod(fs, nod)->i_mode = FM_IFLNK | FM_IRWXU | FM_IRWXG | FM_IRWXO;
+ get_nod(fs, nod)->i_size = size;
+- add2dir(fs, parent_nod, nod, name);
++ add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
+ if(size <= 4 * (EXT2_TIND_BLOCK+1))
+ {
+ strncpy((char*)get_nod(fs, nod)->i_block, (char*)b, size);
+@@ -801,15 +1119,15 @@
+ }
+
+ // make a file from a FILE*
+-uint32 mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f)
++uint32 mkfile_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode, size_t size, FILE *f, uid_t uid, gid_t gid, time_t ctime)
+ {
+ uint8 * b;
+ uint32 nod = alloc_nod(fs);
+- get_nod(fs, nod)->i_mode = FM_IFREG | mode;
++ mode |= FM_IFREG;
+ get_nod(fs, nod)->i_size = size;
+- add2dir(fs, parent_nod, nod, name);
++ add2dir(fs, parent_nod, nod, name, mode, uid, gid, ctime);
+ if(!(b = (uint8*)malloc(rndup(size, BLOCKSIZE))))
+- errexit("not enough mem to read file '%s'", name);
++ error_msg_and_die("not enough mem to read file '%s'", name);
+ memset(b, 0,rndup(size, BLOCKSIZE));
+ if(f)
+ fread(b, size, 1, f);
+@@ -824,6 +1142,15 @@
+ uint32 get_mode(struct stat *st)
+ {
+ uint32 mode = 0;
++
++ /* Squash file permissions as needed */
++ if (squash_perms) {
++ if (!S_ISLNK(mode)) {
++ st->st_mode &= ~(S_IWGRP | S_IWOTH);
++ st->st_mode &= ~(S_ISUID | S_ISGID);
++ }
++ }
++
+ if(st->st_mode & S_IRUSR)
+ mode |= FM_IRUSR | FM_IRGRP | FM_IROTH;
+ if(st->st_mode & S_IWUSR)
+@@ -833,30 +1160,17 @@
+ return mode;
+ }
+
+-// retrieves a mode info from a string
+-uint32 get_modestr(const char *p)
+-{
+- uint32 mode = 0;
+- if(p[0] == 'r')
+- mode |= FM_IRUSR | FM_IRGRP | FM_IROTH;
+- if(p[1] == 'w')
+- mode |= FM_IWUSR | FM_IWGRP | FM_IWOTH;
+- if(p[2] == 'x' || p[2] == 's')
+- mode |= FM_IXUSR | FM_IXGRP | FM_IXOTH;
+- return mode;
+-}
+-
+ // basename of a path - free me
+ char * basename(const char * fullpath)
+ {
+ char * p = strrchr(fullpath, '/');
+- return strdup(p ? p + 1 : fullpath);
++ return xstrdup(p ? p + 1 : fullpath);
+ }
+
+ // dirname of a path - free me
+ char * dirname(const char * fullpath)
+ {
+- char * p, * n = strdup(fullpath);
++ char * p, * n = xstrdup(fullpath);
+ if((p = strrchr(n, '/')))
+ *(p+1) = 0;
+ else
+@@ -864,66 +1178,6 @@
+ return n;
+ }
+
+-// adds entries to the filesystem from a text file
+-void add2fs_from_file(filesystem *fs, uint32 this_nod, FILE * fh)
+-{
+- uint32 mode;
+- uint32 nod, nod2;
+- char cmod[11], *path, *name, *dir;
+- int major, minor;
+- while(fscanf(fh, "%10s", cmod))
+- {
+- if(feof(fh))
+- break;
+- mode = get_modestr(cmod + 1);
+- switch(*cmod)
+- {
+- case 'd':
+- fscanf(fh, "%" SCANF_PREFIX "s\n", SCANF_STRING(path));
+- break;
+- case 'c':
+- mode |= FM_IFCHR;
+- fscanf(fh, "%i, %i %" SCANF_PREFIX "s\n", &major, &minor, SCANF_STRING(path));
+- break;
+- case 'b':
+- mode |= FM_IFBLK;
+- fscanf(fh, "%i, %i %" SCANF_PREFIX "s\n", &major, &minor, SCANF_STRING(path));
+- break;
+- case '#':
+- while(fgetc(fh) != '\n');
+- continue;
+- default:
+- errexit("malformed text input file");
+- }
+- name = basename(path);
+- dir = dirname(path);
+- free(path);
+- if(!(nod = find_path(fs, this_nod, dir)))
+- errexit("can't find directory '%s' to create '%s''", dir, name);
+- free(dir);
+- if((!strcmp(name, ".")) || (!strcmp(name, "..")))
+- {
+- free(name);
+- continue;
+- }
+- switch(*cmod)
+- {
+- case 'd':
+- mkdir_fs(fs, nod, name, mode);
+- break;
+- case 'c':
+- case 'b':
+- nod2 = alloc_nod(fs);
+- get_nod(fs, nod2)->i_mode = mode;
+- ((uint8*)get_nod(fs, nod2)->i_block)[0] = minor;
+- ((uint8*)get_nod(fs, nod2)->i_block)[1] = major;
+- add2dir(fs, nod, nod2, name);
+- break;
+- }
+- free(name);
+- }
+-}
+-
+ // adds a tree of entries to the filesystem from current dir
+ void add2fs_from_dir(filesystem *fs, uint32 this_nod)
+ {
+@@ -934,7 +1188,7 @@
+ struct stat st;
+ uint8 *b;
+ if(!(dh = opendir(".")))
+- pexit(".");
++ perror_msg_and_die(".");
+ while((dent = readdir(dh)))
+ {
+ if((!strcmp(dent->d_name, ".")) || (!strcmp(dent->d_name, "..")))
+@@ -948,31 +1202,27 @@
+ get_nod(fs, nod)->i_mode = (((st.st_mode & S_IFMT) == S_IFCHR) ? FM_IFCHR : FM_IFBLK) | get_mode(&st);
+ ((uint8*)get_nod(fs, nod)->i_block)[0] = (st.st_rdev & 0xff);
+ ((uint8*)get_nod(fs, nod)->i_block)[1] = (st.st_rdev >> 8);
+- add2dir(fs, this_nod, nod, dent->d_name);
++ add2dir(fs, this_nod, nod, dent->d_name, st.st_mode, st.st_uid, st.st_gid, st.st_ctime);
+ break;
+ case S_IFLNK:
+- if(!(b = (uint8*)malloc(rndup(st.st_size, BLOCKSIZE))))
+- errexit("out of memory");
+- if(readlink(dent->d_name, (char*)b, st.st_size) < 0)
+- pexit(dent->d_name);
+- mklink_fs(fs, this_nod, dent->d_name, st.st_size, b);
++ b = xreadlink(dent->d_name);
++ mklink_fs(fs, this_nod, dent->d_name, st.st_size, b, st.st_uid, st.st_gid, st.st_ctime);
+ free(b);
+ break;
+ case S_IFREG:
+- if(!(fh = fopen(dent->d_name, "r")))
+- pexit(dent->d_name);
+- mkfile_fs(fs, this_nod, dent->d_name, get_mode(&st), st.st_size, fh);
++ fh = xfopen(dent->d_name, "r");
++ mkfile_fs(fs, this_nod, dent->d_name, st.st_mode, st.st_size, fh, st.st_uid, st.st_gid, st.st_ctime);
+ fclose(fh);
+ break;
+ case S_IFDIR:
+- nod = mkdir_fs(fs, this_nod, dent->d_name, get_mode(&st));
++ nod = mkdir_fs(fs, this_nod, dent->d_name, st.st_mode, st.st_uid, st.st_gid, st.st_ctime);
+ if(chdir(dent->d_name) < 0)
+- pexit(dent->d_name);
++ perror_msg_and_die(dent->d_name);
+ add2fs_from_dir(fs, nod);
+ chdir("..");
+ break;
+ default:
+- fprintf(stderr, "ignoring entry %s", dent->d_name);
++ error_msg("ignoring entry %s", dent->d_name);
+ }
+ }
+ closedir(dh);
+@@ -981,9 +1231,11 @@
+ // endianness swap of x-indirect blocks
+ void swap_goodblocks(filesystem *fs, inode *nod)
+ {
+- int i;
++ int i,j,done=0;
++ uint32 *b,*b2;
++
+ int nblk = nod->i_blocks / INOBLK;
+- if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR)))
++ if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR))
+ for(i = 0; i <= EXT2_TIND_BLOCK; i++)
+ nod->i_block[i] = swab32(nod->i_block[i]);
+ if(nblk <= EXT2_IND_BLOCK)
+@@ -991,20 +1243,55 @@
+ swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK]));
+ if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4)
+ return;
++ /* Currently this will fail b'cos the number of blocks as stored
++ in i_blocks also includes the indirection blocks (see
++ walk_bw). But this function assumes that i_blocks only
++ stores the count of data blocks ( Actually according to
++ "Understanding the Linux Kernel" (Table 17-3 p502 1st Ed)
++ i_blocks IS supposed to store the count of data blocks). so
++ with a file of size 268K nblk would be 269.The above check
++ will be false even though double indirection hasn't been
++ started.This is benign as 0 means block 0 which has been
++ zeroed out and therefore points back to itself from any offset
++ */
++ assert(nod->i_block[EXT2_DIND_BLOCK] != 0);
+ for(i = 0; i < BLOCKSIZE/4; i++)
++ /* Should this be...
++ if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + (BLOCKSIZE/4)*i )
++ */
+ if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + i)
+ swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i]));
+ swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]));
+ if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4)
+ return;
+- errexit("too big file on the filesystem");
++ /* Adding support for triple indirection */
++ b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]);
++ for(i=0;i < BLOCKSIZE/4 && !done ; i++) {
++ b2 = (uint32*)get_blk(fs,b[i]);
++ for(j=0; j<BLOCKSIZE/4;j++) {
++ if (nblk > ( EXT2_IND_BLOCK + BLOCKSIZE/4 +
++ (BLOCKSIZE/4)*(BLOCKSIZE/4) +
++ i*(BLOCKSIZE/4)*(BLOCKSIZE/4) +
++ j*(BLOCKSIZE/4)) )
++ swap_block(get_blk(fs,b2[j]));
++ else {
++ done = 1;
++ break;
++ }
++ }
++ swap_block((uint8 *)b2);
++ }
++ swap_block((uint8 *)b);
++ return;
+ }
+
+ void swap_badblocks(filesystem *fs, inode *nod)
+ {
+- int i;
++ int i,j,done=0;
++ uint32 *b,*b2;
++
+ int nblk = nod->i_blocks / INOBLK;
+- if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR)))
++ if((nod->i_size && !nblk) || ((nod->i_mode & FM_IFBLK) == FM_IFBLK) || ((nod->i_mode & FM_IFCHR) == FM_IFCHR))
+ for(i = 0; i <= EXT2_TIND_BLOCK; i++)
+ nod->i_block[i] = swab32(nod->i_block[i]);
+ if(nblk <= EXT2_IND_BLOCK)
+@@ -1012,13 +1299,34 @@
+ swap_block(get_blk(fs, nod->i_block[EXT2_IND_BLOCK]));
+ if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4)
+ return;
++ /* See comment in swap_goodblocks */
++ assert(nod->i_block[EXT2_DIND_BLOCK] != 0);
+ swap_block(get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]));
+ for(i = 0; i < BLOCKSIZE/4; i++)
++ /* See comment in swap_goodblocks */
+ if(nblk > EXT2_IND_BLOCK + BLOCKSIZE/4 + i)
+ swap_block(get_blk(fs, ((uint32*)get_blk(fs, nod->i_block[EXT2_DIND_BLOCK]))[i]));
+ if(nblk <= EXT2_IND_BLOCK + BLOCKSIZE/4 + BLOCKSIZE/4 * BLOCKSIZE/4)
+ return;
+- errexit("too big file on the filesystem");
++ /* Adding support for triple indirection */
++ b = (uint32*)get_blk(fs,nod->i_block[EXT2_TIND_BLOCK]);
++ swap_block((uint8 *)b);
++ for(i=0;i < BLOCKSIZE/4 && !done ; i++) {
++ b2 = (uint32*)get_blk(fs,b[i]);
++ swap_block((uint8 *)b2);
++ for(j=0; j<BLOCKSIZE/4;j++) {
++ if (nblk > ( EXT2_IND_BLOCK + BLOCKSIZE/4 +
++ (BLOCKSIZE/4)*(BLOCKSIZE/4) +
++ i*(BLOCKSIZE/4)*(BLOCKSIZE/4) +
++ j*(BLOCKSIZE/4)) )
++ swap_block(get_blk(fs,b2[j]));
++ else {
++ done = 1;
++ break;
++ }
++ }
++ }
++ return;
+ }
+
+ // endianness swap of the whole filesystem
+@@ -1045,7 +1353,8 @@
+ swap_goodblocks(fs, nod);
+ swap_nod(nod);
+ }
+- swap_gd(&fs->gd);
++ for(i=0;i<GRP_NBGROUPS(fs);i++)
++ swap_gd(&(fs->gd[i]));
+ swap_sb(&fs->sb);
+ }
+
+@@ -1053,7 +1362,8 @@
+ {
+ int i;
+ swap_sb(&fs->sb);
+- swap_gd(&fs->gd);
++ for(i=0;i<GRP_NBGROUPS(fs);i++)
++ swap_gd(&(fs->gd[i]));
+ for(i = 1; i < fs->sb.s_inodes_count; i++)
+ {
+ inode *nod = get_nod(fs, i);
+@@ -1084,53 +1394,118 @@
+ directory *d;
+ uint8 * b;
+ uint32 nod;
++ uint32 nbgroups,nbinodes_per_group,overhead_per_group,free_blocks,
++ free_blocks_per_group,nbblocks_per_group;
++ uint32 gd,itbl,ibmpos,bbmpos,itblpos;
++ int j;
++ uint8 *bbm,*ibm;
++ inode *itab0;
+
+ if(nbblocks < 16) // totally arbitrary
+- errexit("too small filesystem");
+- if(nbblocks >BLOCKS_PER_GROUP) // I build only one group
+- errexit("too big filesystem");
++ error_msg_and_die("too small filesystem");
++
++ /* nbblocks is the total number of blocks in the system. First
++ * calculate how much overhead blocks - inode table blocks,bitmap
++ * blocks,group descriptor blocks etc. - are needed assuming each
++ * group has BLOCKS_PER_GROUP blocks.Then recalculate nbblocks with
++ * this figure. Each group has the same number of blocks. So the fs
++ * has a size atleast the given value but usually rounded off to a i
++ * higher number.
++ */
++ nbgroups = rndup(nbblocks,BLOCKS_PER_GROUP)/ BLOCKS_PER_GROUP;
++ nbinodes_per_group = nbinodes/nbgroups +1;
++ nbinodes_per_group = rndup(nbinodes_per_group, BLOCKSIZE/sizeof(inode));
++ if (nbinodes_per_group < 16)
++ nbinodes_per_group = 16; //minimum number b'cos the first 10 are reserved
++ overhead_per_group = 3 /*super block,ibm,bbm*/
++ + /* No. of blocks that the inodes occupy */
++ nbinodes_per_group *sizeof(inode)/BLOCKSIZE
++ + /* No. of blocks that group descriptors occupy */
++ rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE;
++ free_blocks = nbblocks - overhead_per_group * nbgroups - 1 /*boot block */;
++ free_blocks_per_group = free_blocks/nbgroups;
++ if (free_blocks > free_blocks_per_group * nbgroups)
++ free_blocks_per_group++;
++ nbblocks_per_group = free_blocks_per_group + overhead_per_group;
++ /* e2fsck complains if nbblocks_per_group is not a multiple of 8 */
++ nbblocks_per_group = rndup(nbblocks_per_group,8);
++ free_blocks_per_group = nbblocks_per_group - overhead_per_group;
++ if (nbblocks_per_group > BLOCKS_PER_GROUP) {
++ /* Can this happen ? */
++ nbblocks_per_group = BLOCKS_PER_GROUP;
++ free_blocks_per_group = nbblocks_per_group - overhead_per_group;
++ }
++ nbblocks = nbblocks_per_group * nbgroups + 1;
++
++
+ if(!(fs = (filesystem*)calloc(nbblocks, BLOCKSIZE)))
+- errexit("not enough memory for filesystem");
++ error_msg_and_die("not enough memory for filesystem");
+
+ // create the superblock for an empty filesystem
+- fs->sb.s_inodes_count = rndup(nbinodes, BLOCKSIZE/sizeof(inode));
++ fs->sb.s_inodes_count = nbinodes_per_group * nbgroups;
+ fs->sb.s_blocks_count = nbblocks;
+ fs->sb.s_r_blocks_count = nbresrvd;
+- fs->sb.s_free_blocks_count = nbblocks;
++ fs->sb.s_free_blocks_count = free_blocks_per_group*nbgroups;
+ fs->sb.s_free_inodes_count = fs->sb.s_inodes_count - EXT2_FIRST_INO + 1;
+ fs->sb.s_first_data_block = (BLOCKSIZE == 1024);
+ fs->sb.s_log_block_size = BLOCKSIZE >> 11;
+ fs->sb.s_log_frag_size = BLOCKSIZE >> 11;
+- fs->sb.s_blocks_per_group = BLOCKS_PER_GROUP;
+- fs->sb.s_frags_per_group = BLOCKS_PER_GROUP;
+- fs->sb.s_inodes_per_group = fs->sb.s_inodes_count;
++ fs->sb.s_blocks_per_group = nbblocks_per_group;
++ fs->sb.s_frags_per_group = nbblocks_per_group;
++ fs->sb.s_inodes_per_group = nbinodes_per_group;
+ fs->sb.s_magic = EXT2_MAGIC_NUMBER;
+
+ // set up groupdescriptors
+- fs->sb.s_free_blocks_count -= 5 + fs->sb.s_inodes_count * sizeof(inode) / BLOCKSIZE;
+- fs->gd.bg_free_blocks_count = fs->sb.s_free_blocks_count;
+- fs->gd.bg_free_inodes_count = fs->sb.s_free_inodes_count;
+- fs->gd.bg_used_dirs_count = 1;
+- fs->gd.bg_block_bitmap = 3;
+- fs->gd.bg_inode_bitmap = 4;
+- fs->gd.bg_inode_table = 5;
+-
+- // mark non-filesystem blocks and inodes as allocated
+- for(i = fs->sb.s_blocks_count; i <= BLOCKSIZE * 8; i++)
+- allocate(fs->bbm, i);
+- for(i = fs->sb.s_inodes_count + 1; i <= BLOCKSIZE * 8; i++)
+- allocate(fs->ibm, i);
+-
+- // mark system blocsk and inodes as allocated
+- for(i = 1; i <= 4 + fs->sb.s_inodes_count * sizeof(inode) / BLOCKSIZE; i++)
+- allocate(fs->bbm, i);
+- for(i = 1; i < EXT2_FIRST_INO; i++)
+- allocate(fs->ibm, i);
+-
+- // make root inode and directory
+- fs->itab[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRWXG | FM_IRWXO;
+- fs->itab[EXT2_ROOT_INO-1].i_size = BLOCKSIZE;
+- fs->itab[EXT2_ROOT_INO-1].i_links_count = 2;
++ gd = rndup(nbgroups*sizeof(groupdescriptor),BLOCKSIZE)/BLOCKSIZE;
++ itbl = nbinodes_per_group*sizeof(inode)/BLOCKSIZE;
++ for(i = 0,bbmpos=2+gd,ibmpos=3+gd,itblpos =4+gd;
++ i<nbgroups;
++ i++, bbmpos += nbblocks_per_group,ibmpos += nbblocks_per_group,
++ itblpos += nbblocks_per_group) {
++
++ fs->gd[i].bg_free_blocks_count = free_blocks_per_group;
++ fs->gd[i].bg_free_inodes_count = nbinodes_per_group;
++ fs->gd[i].bg_used_dirs_count = 0;
++ fs->gd[i].bg_block_bitmap = bbmpos;
++ fs->gd[i].bg_inode_bitmap = ibmpos;
++ fs->gd[i].bg_inode_table = itblpos;
++ }
++
++ /* Mark non-filesystem blocks and inodes as allocated */
++ /* Mark system blocks and inodes as allocated */
++ for(i = 0; i<nbgroups;i++) {
++
++ /* Block bitmap */
++ bbm = get_blk(fs,fs->gd[i].bg_block_bitmap);
++ //non-filesystem blocks.
++ for(j=fs->sb.s_blocks_per_group + 1; j <= BLOCKSIZE * 8; j++)
++ allocate(bbm, j);
++ //system blocks
++ for(j = 1; j <= 3+gd+itbl; j++)
++ allocate(bbm, j);
++
++ /* Inode bitmap */
++ ibm = get_blk(fs,fs->gd[i].bg_inode_bitmap);
++ //non-filesystem inodes
++ for(j = fs->sb.s_inodes_per_group+1; j <= BLOCKSIZE * 8; j++)
++ allocate(ibm, j);
++ }
++
++ /* We have groups now. Add the root filesystem in group 0 */
++ /* Also allocate the system inodes in group 0 and update */
++ /* directory count and inode count for group 0 */
++
++ ibm = get_blk(fs,fs->gd[0].bg_inode_bitmap);
++ for(j = 1; j < EXT2_FIRST_INO; j++) {
++ allocate(ibm, j);
++ fs->gd[0].bg_free_inodes_count--;
++ }
++ fs->gd[0].bg_used_dirs_count = 1;
++ itab0 = (inode *)get_blk(fs,fs->gd[0].bg_inode_table);
++ itab0[EXT2_ROOT_INO-1].i_mode = FM_IFDIR | FM_IRWXU | FM_IRWXG | FM_IRWXO;
++ itab0[EXT2_ROOT_INO-1].i_size = BLOCKSIZE;
++ itab0[EXT2_ROOT_INO-1].i_links_count = 2;
++
+ b = get_workblk();
+ d = (directory*)b;
+ d->d_inode = EXT2_ROOT_INO;
+@@ -1147,9 +1522,14 @@
+ // make lost+found directory and reserve blocks
+ if(fs->sb.s_r_blocks_count)
+ {
+- nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", FM_IRWXU | FM_IRWXG | FM_IRWXO);
++ nod = mkdir_fs(fs, EXT2_ROOT_INO, "lost+found", S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, 0, 0, time(NULL));
+ memset(b, 0, BLOCKSIZE);
+ ((directory*)b)->d_rec_len = BLOCKSIZE;
++ /* We run into problems with e2fsck if directory lost+found grows
++ * bigger than this. Need to find out why this happens - sundar
++ */
++ if (fs->sb.s_r_blocks_count > 2049 )
++ fs->sb.s_r_blocks_count=2049;
+ for(i = 1; i < fs->sb.s_r_blocks_count; i++)
+ extend_blk(fs, nod, b, 1);
+ get_nod(fs, nod)->i_size = fs->sb.s_r_blocks_count * BLOCKSIZE;
+@@ -1170,24 +1550,24 @@
+ // loads a filesystem from disk
+ filesystem * load_fs(FILE * fh, int swapit)
+ {
+- size_t fssize;
++ size_t fssize = 0;
+ filesystem *fs;
+ if((fseek(fh, 0, SEEK_END) < 0) || ((fssize = ftell(fh)) < 0))
+- pexit("input filesystem image");
++ perror_msg_and_die("input filesystem image");
+ rewind(fh);
+ fssize = (fssize + BLOCKSIZE - 1) / BLOCKSIZE;
+ if(fssize < 16) // totally arbitrary
+- errexit("too small filesystem");
+- if(fssize > BLOCKS_PER_GROUP) // I build only one group
+- errexit("too big filesystem");
++ error_msg_and_die("too small filesystem");
++/* if(fssize > BLOCKS_PER_GROUP) // I build only one group
++ error_msg_and_die("too big filesystem"); */
+ if(!(fs = (filesystem*)calloc(fssize, BLOCKSIZE)))
+- errexit("not enough memory for filesystem");
++ error_msg_and_die("not enough memory for filesystem");
+ if(fread(fs, BLOCKSIZE, fssize, fh) != fssize)
+- pexit("input filesystem image");
++ perror_msg_and_die("input filesystem image");
+ if(swapit)
+ swap_badfs(fs);
+ if(fs->sb.s_rev_level || (fs->sb.s_magic != EXT2_MAGIC_NUMBER))
+- errexit("not a suitable ext2 filesystem");
++ error_msg_and_die("not a suitable ext2 filesystem");
+ return fs;
+ }
+
+@@ -1230,9 +1610,9 @@
+ while((bk = walk_bw(fs, nod, &bw, 0, 0)) != WALK_END)
+ {
+ if(fsize <= 0)
+- errexit("wrong size while saving inode %d", nod);
++ error_msg_and_die("wrong size while saving inode %d", nod);
+ if(fwrite(get_blk(fs, bk), (fsize > BLOCKSIZE) ? BLOCKSIZE : fsize, 1, f) != 1)
+- errexit("error while saving inode %d", nod);
++ error_msg_and_die("error while saving inode %d", nod);
+ fsize -= BLOCKSIZE;
+ }
+ }
+@@ -1250,7 +1630,7 @@
+ {
+ int i, j;
+ if(fsize <= 0)
+- errexit("wrong size while saving inode %d", nod);
++ error_msg_and_die("wrong size while saving inode %d", nod);
+ b = get_blk(fs, bk);
+ for(i = 0; i < 64; i++)
+ {
+@@ -1406,7 +1786,7 @@
+ s = (nod >= EXT2_FIRST_INO) ? "normal" : "unknown reserved";
+ }
+ printf("inode %d (%s, %d links): ", nod, s, get_nod(fs, nod)->i_links_count);
+- if(!allocated(fs->ibm, nod))
++ if(!allocated(GRP_GET_INODE_BITMAP(fs,nod), GRP_IBM_OFFSET(fs,nod)))
+ {
+ printf("unallocated\n");
+ return;
+@@ -1440,24 +1820,46 @@
+ default:
+ list_blocks(fs, nod);
+ }
++ printf("Done with inode %d\n",nod);
+ }
+
+ // describes various fields in a filesystem
+ void print_fs(filesystem *fs)
+ {
+- int i;
+- printf("%d blocks (%d free, %d reserved), first data block: %d\n", fs->sb.s_blocks_count, fs->sb.s_free_blocks_count, fs->sb.s_r_blocks_count, fs->sb.s_first_data_block);
+- printf("%d inodes (%d free)\n", fs->sb.s_inodes_count, fs->sb.s_free_inodes_count);
+- printf("block size = %d, frag size = %d\n", fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024, fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024);
+- printf("%d blocks per group, %d frags per group, %d inodes per group\n", fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group, fs->sb.s_inodes_per_group);
+- printf("block bitmap: block %d, inode bitmap: block %d, inode table: block %d\n", fs->gd.bg_block_bitmap, fs->gd.bg_inode_bitmap, fs->gd.bg_inode_table);
+- printf("block bitmap allocation:\n");
+- print_bm(fs->bbm, fs->sb.s_blocks_count);
+- printf("inode bitmap allocation:\n");
+- print_bm(fs->ibm, fs->sb.s_inodes_count);
+- for(i=1; i<=fs->sb.s_inodes_count; i++)
+- if(allocated(fs->ibm, i))
+- print_inode(fs, i);
++ int i,j;
++ uint8 *ibm;
++
++ printf("%d blocks (%d free, %d reserved), first data block: %d\n",
++ fs->sb.s_blocks_count, fs->sb.s_free_blocks_count,
++ fs->sb.s_r_blocks_count, fs->sb.s_first_data_block);
++ printf("%d inodes (%d free)\n", fs->sb.s_inodes_count,
++ fs->sb.s_free_inodes_count);
++ printf("block size = %d, frag size = %d\n",
++ fs->sb.s_log_block_size ? (fs->sb.s_log_block_size << 11) : 1024,
++ fs->sb.s_log_frag_size ? (fs->sb.s_log_frag_size << 11) : 1024);
++ printf("Number of groups: %d\n",GRP_NBGROUPS(fs));
++ printf("%d blocks per group,%d frags per group,%d inodes per group\n",
++ fs->sb.s_blocks_per_group, fs->sb.s_frags_per_group,
++ fs->sb.s_inodes_per_group);
++ printf("Size of inode table: %d blocks\n",
++ fs->sb.s_inodes_per_group * sizeof(inode)/BLOCKSIZE);
++ for (i = 0; i < GRP_NBGROUPS(fs); i++) {
++ printf("Group No: %d\n", i);
++ printf("block bitmap: block %d,inode bitmap: block %d, inode table: block %d\n",
++ fs->gd[i].bg_block_bitmap, fs->gd[i].bg_inode_bitmap,
++ fs->gd[i].bg_inode_table);
++ printf("Free blocks count: %d\n",fs->gd[i].bg_free_blocks_count);
++ printf("Free inodes count: %d\n",fs->gd[i].bg_free_inodes_count);
++ printf("Used dir count: %d\n",fs->gd[i].bg_used_dirs_count);
++ printf("block bitmap allocation:\n");
++ print_bm(GRP_GET_GROUP_BBM(fs, i),fs->sb.s_blocks_per_group);
++ printf("inode bitmap allocation:\n");
++ ibm = GRP_GET_GROUP_IBM(fs, i);
++ print_bm(ibm, fs->sb.s_inodes_per_group);
++ for (j = 1; j <= fs->sb.s_inodes_per_group; j++)
++ if (allocated(ibm, j))
++ print_inode(fs, i*fs->sb.s_inodes_per_group + j);
++ }
+ }
+
+ void dump_fs(filesystem *fs, FILE * fh, int swapit)
+@@ -1467,31 +1869,234 @@
+ if(swapit)
+ swap_goodfs(fs);
+ if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks)
+- pexit("output filesystem image");
++ perror_msg_and_die("output filesystem image");
+ if(swapit)
+ swap_badfs(fs);
+ }
+
++/* device table entries take the form of:
++ <path> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
++ /dev/mem c 640 0 0 1 1 0 0 -
++
++ type can be one of:
++ f A regular file
++ d Directory
++ c Character special device file
++ b Block special device file
++ p Fifo (named pipe)
++
++ I don't bother with symlinks (permissions are irrelevant), hard
++ links (special cases of regular files), or sockets (why bother).
++
++ Regular files must exist in the target root directory. If a char,
++ block, fifo, or directory does not exist, it will be created.
++*/
++static int interpret_table_entry(filesystem *fs, char *line)
++{
++ char type, *name = NULL, *tmp, *dir, *bname;
++ unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
++ unsigned long start = 0, increment = 1, count = 0;
++ inode *entry;
++ uint32 nod, parent;
++
++ if (sscanf (line, "%" SCANF_PREFIX "s %c %lo %lu %lu %lu %lu %lu %lu %lu",
++ SCANF_STRING(name), &type, &mode, &uid, &gid, &major, &minor,
++ &start, &increment, &count) < 0)
++ {
++ return 1;
++ }
++
++ if (!strcmp(name, "/")) {
++ error_msg_and_die("Device table entries require absolute paths");
++ }
++
++ /* Check if this file already exists... */
++ switch (type) {
++ case 'd':
++ mode |= S_IFDIR;
++ break;
++ case 'f':
++ mode |= S_IFREG;
++ break;
++ case 'p':
++ mode |= S_IFIFO;
++ break;
++ case 'c':
++ mode |= S_IFCHR;
++ break;
++ case 'b':
++ mode |= S_IFBLK;
++ break;
++ default:
++ error_msg_and_die("Unsupported file type");
++ }
++ nod = 0;
++ if (count==0)
++ nod = find_path(fs, EXT2_ROOT_INO, name);
++ if (nod) {
++ /* Ok, we just need to fixup an existing entry
++ * and we will be all done... */
++ entry = get_nod(fs, nod);
++ entry->i_uid = uid;
++ entry->i_gid = gid;
++ entry->i_mode = mode;
++ if (major) {
++ dev_t rdev = makedev(major, minor);
++ ((uint8*)entry->i_block)[0] = (rdev & 0xff);
++ ((uint8*)entry->i_block)[1] = (rdev >> 8);
++ }
++ } else {
++ /* Try and find our parent now */
++ tmp = xstrdup(name);
++ dir = dirname(tmp);
++ parent = find_path(fs, EXT2_ROOT_INO, dir);
++ free(tmp);
++ if (!parent) {
++ error_msg ("skipping device_table entry '%s': no parent directory!", name);
++ free(name);
++ return 1;
++ }
++
++ tmp = xstrdup(name);
++ bname = xstrdup(basename(tmp));
++ free(tmp);
++ switch (type) {
++ case 'd':
++ mkdir_fs(fs, parent, bname, mode|FM_IFDIR, uid, gid, time(NULL));
++ break;
++ case 'f':
++#if 0
++ {
++ // This is a bit odd.. This will try to include
++ // the file of the same name from your _build_
++ // system... Probably a very bad idea....
++ struct stat st;
++ FILE *fh = xfopen(name, "r");
++ lstat(name, &st);
++ mkfile_fs(fs, parent, bname, mode|FM_IFREG, st.st_size, fh, uid, gid, st.st_ctime);
++ fclose(fh);
++ }
++#else
++ error_msg("ignoring entry %s", name);
++#endif
++ break;
++ case 'p':
++ error_msg("ignoring entry %s", name);
++ break;
++ case 'c':
++ case 'b':
++ if (count > 0) {
++ dev_t rdev;
++ char *dname;
++ unsigned long i;
++ for (i = start; i < count; i++) {
++ asprintf(&dname, "%s%lu", bname, i);
++ nod = find_path(fs, EXT2_ROOT_INO, dname);
++ if (nod) {
++ /* We just need to fixup an existing entry */
++ entry = get_nod(fs, nod);
++ } else {
++ nod = alloc_nod(fs);
++ add2dir(fs, parent, nod, dname, mode, uid, gid, time(NULL));
++ entry = get_nod(fs, nod);
++ }
++ entry->i_uid = uid;
++ entry->i_gid = gid;
++ entry->i_mode = mode;
++ rdev = makedev(major, minor + (i * increment - start));
++ ((uint8*)entry->i_block)[0] = (rdev & 0xff);
++ ((uint8*)entry->i_block)[1] = (rdev >> 8);
++ free(dname);
++ }
++ } else {
++ dev_t rdev = makedev(major, minor);
++ nod = alloc_nod(fs);
++ add2dir(fs, parent, nod, bname, mode, uid, gid, time(NULL));
++ entry = get_nod(fs, nod);
++ ((uint8*)entry->i_block)[0] = (rdev & 0xff);
++ ((uint8*)entry->i_block)[1] = (rdev >> 8);
++ }
++ break;
++ default:
++ error_msg_and_die("Unsupported file type");
++ }
++ free(bname);
++ }
++ free(name);
++ return 0;
++}
++
++static int parse_device_table(filesystem *root, FILE * file)
++{
++ char *line;
++ int status = 0;
++ size_t length = 0;
++
++ /* Turn off squash, since we must ensure that values
++ * entered via the device table are not squashed */
++ squash_uids = 0;
++ squash_perms = 0;
++
++ /* Looks ok so far. The general plan now is to read in one
++ * line at a time, check for leading comment delimiters ('#'),
++ * then try and parse the line as a device table. If we fail
++ * to parse things, try and help the poor fool to fix their
++ * device table with a useful error msg... */
++ line = NULL;
++ while (getline(&line, &length, file) != -1) {
++ /* First trim off any whitespace */
++ int len = strlen(line);
++
++ /* trim trailing whitespace */
++ while (len > 0 && isspace(line[len - 1]))
++ line[--len] = '\0';
++ /* trim leading whitespace */
++ memmove(line, &line[strspn(line, " \n\r\t\v")], len);
++
++ /* How long are we after trimming? */
++ len = strlen(line);
++
++ /* If this is NOT a comment line, try to interpret it */
++ if (len && *line != '#') {
++ if (interpret_table_entry(root, line))
++ status = 1;
++ }
++
++ free(line);
++ line = NULL;
++ }
++ fclose(file);
++
++ return status;
++}
++
++/*
++Local Variables:
++c-file-style: "linux"
++c-basic-offset: 4
++tab-width: 4
++End:
++*/
++
+ void showhelp(void)
+ {
+ fprintf(stderr, "Usage: %s [options] image\n"
+ "Create an ext2 filesystem image from directories/files\n\n"
+- " -x image Use this image as a starting point\n"
+- " -d directory Add this directory as source\n"
+- " -f file Add nodes (e.g. devices) from this spec file\n"
+- " -b blocks Size in blocks\n"
+- " -i inodes Number of inodes\n"
+- " -r reserved Number of reserved blocks\n"
+- " -g path Generate a block map file for this path\n"
+- " -e value Fill unallocated blocks with value\n"
+- " -z Make files with holes\n"
+- " -v Print resulting filesystem structure\n"
+- " -h Show this help\n\n"
+- "Example of spec file:\n"
+- "drwx /dev\n"
+- "crw- 10,190 /dev/lcd\n"
+- "brw- 1,0 /dev/ram0\n\n"
+- "Report bugs to xavier.bestel@free.fr\n", argv0);
++ " -x image Use this image as a starting point\n"
++ " -d directory Add this directory as source\n"
++ " -b blocks Size in blocks\n"
++ " -i inodes Number of inodes\n"
++ " -r reserved Number of reserved blocks\n"
++ " -g path Generate a block map file for this path\n"
++ " -e value Fill unallocated blocks with value\n"
++ " -z Make files with holes\n"
++ " -D,-f Use the named FILE as a device table file\n"
++ " -q Squash permissions and owners making all files be owned by root\n"
++ " -U Squash owners making all files be owned by root\n"
++ " -P Squash permissions on all files\n"
++ " -v Print resulting filesystem structure\n"
++ " -h Show this help\n\n"
++ "Report bugs to xavier.bestel@free.fr\n", app_name);
+ }
+
+ #define MAX_DOPT 128
+@@ -1521,21 +2126,17 @@
+ filesystem *fs;
+ int i;
+ int c;
++ struct stat sb;
++ FILE *devtable = NULL;
+
+- argv0 = argv[0];
+- if(argc <= 1)
+- {
+- showhelp();
+- exit(1);
+- }
+- while((c = getopt(argc, argv, "x:f:d:b:i:r:g:e:zvh")) != EOF)
++ app_name = argv[0];
++ while((c = getopt(argc, argv, "x:d:b:i:r:g:e:zvhD:f:qUP")) != EOF)
+ switch(c)
+ {
+ case 'x':
+ fsin = optarg;
+ break;
+ case 'd':
+- case 'f':
+ dopt[didx++] = optarg;
+ break;
+ case 'b':
+@@ -1556,6 +2157,24 @@
+ case 'z':
+ holes = 1;
+ break;
++ case 'f':
++ case 'D':
++ devtable = xfopen(optarg, "r");
++ if (fstat(fileno(devtable), &sb) < 0)
++ perror_msg_and_die(optarg);
++ if (sb.st_size < 10)
++ error_msg_and_die("%s: not a proper device table file", optarg);
++ break;
++ case 'q':
++ squash_uids = 1;
++ squash_perms = 1;
++ break;
++ case 'U':
++ squash_uids = 1;
++ break;
++ case 'P':
++ squash_perms = 1;
++ break;
+ case 'v':
+ verbose = 1;
+ break;
+@@ -1566,16 +2185,14 @@
+ exit(1);
+ }
+ if(optind < (argc - 1))
+- errexit("too many arguments");
++ error_msg_and_die("too many arguments");
+ if(optind == (argc - 1))
+ fsout = argv[optind];
+ if(fsin)
+ {
+ if(strcmp(fsin, "-"))
+ {
+- FILE * fh = fopen(fsin, "r");
+- if(!fh)
+- pexit(fsin);
++ FILE * fh = xfopen(fsin, "r");
+ fs = load_fs(fh, bigendian);
+ fclose(fh);
+ }
+@@ -1585,7 +2202,7 @@
+ else
+ {
+ if(nbblocks == -1)
+- errexit("filesystem size unspecified");
++ error_msg_and_die("filesystem size unspecified");
+ if(nbinodes == -1)
+ nbinodes = nbblocks * BLOCKSIZE / rndup(BYTES_PER_INODE, BLOCKSIZE);
+ if(nbresrvd == -1)
+@@ -1595,35 +2212,30 @@
+ for(i = 0; i < didx; i++)
+ {
+ struct stat st;
+- FILE *fh;
+ char *pdir;
+ stat(dopt[i], &st);
+ switch(st.st_mode & S_IFMT)
+ {
+- case S_IFREG:
+- if(!(fh = fopen(dopt[i], "r")))
+- pexit(dopt[i]);
+- add2fs_from_file(fs, EXT2_ROOT_INO, fh);
+- fclose(fh);
+- break;
+ case S_IFDIR:
+ if(!(pdir = getcwd(0, GETCWD_SIZE)))
+- pexit(dopt[i]);
++ perror_msg_and_die(dopt[i]);
+ if(chdir(dopt[i]) < 0)
+- pexit(dopt[i]);
++ perror_msg_and_die(dopt[i]);
+ add2fs_from_dir(fs, EXT2_ROOT_INO);
+ if(chdir(pdir) < 0)
+- pexit(pdir);
++ perror_msg_and_die(pdir);
+ free(pdir);
+ break;
+ default:
+- errexit("%s in neither a file nor a directory", dopt[i]);
++ error_msg_and_die("%s is neither a file nor a directory", dopt[i]);
+ }
+ }
+ if(emptyval)
+ for(i = 1; i < fs->sb.s_blocks_count; i++)
+- if(!allocated(fs->bbm, i))
++ if(!allocated(GRP_GET_BLOCK_BITMAP(fs,i),GRP_BBM_OFFSET(fs,i)))
+ memset(get_blk(fs, i), emptyval, BLOCKSIZE);
++ if(devtable)
++ parse_device_table(fs, devtable);
+ if(verbose)
+ print_fs(fs);
+ for(i = 0; i < gidx; i++)
+@@ -1633,21 +2245,18 @@
+ char *p;
+ FILE *fh;
+ if(!(nod = find_path(fs, EXT2_ROOT_INO, gopt[i])))
+- errexit("path %s not found in filesystem", gopt[i]);
++ error_msg_and_die("path %s not found in filesystem", gopt[i]);
+ while((p = strchr(gopt[i], '/')))
+ *p = '_';
+ snprintf(fname, MAX_FILENAME-1, "%s.blk", gopt[i]);
+- if(!(fh = fopen(fname, "w")))
+- pexit(fname);
++ fh = xfopen(fname, "w");
+ fprintf(fh, "%d:", get_nod(fs, nod)->i_size);
+ flist_blocks(fs, nod, fh);
+ fclose(fh);
+ }
+ if(strcmp(fsout, "-"))
+ {
+- FILE * fh = fopen(fsout, "w");
+- if(!fh)
+- pexit(fsout);
++ FILE * fh = xfopen(fsout, "w");
+ dump_fs(fs, fh, bigendian);
+ fclose(fh);
+ }
+diff -urN genext2fs-1.3.orig/test-mount.sh genext2fs-1.3/test-mount.sh
+diff -urN genext2fs-1.3.orig/test.sh genext2fs-1.3/test.sh
diff --git a/meta/packages/genext2fs/genext2fs-native_1.3.bb b/meta/packages/genext2fs/genext2fs-native_1.3.bb
new file mode 100644
index 0000000000..b840a30104
--- /dev/null
+++ b/meta/packages/genext2fs/genext2fs-native_1.3.bb
@@ -0,0 +1,11 @@
+include genext2fs_${PV}.bb
+inherit native
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/genext2fs-${PV}', '${FILE_DIRNAME}/genext2fs', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+do_stage () {
+ install -m 0755 genext2fs ${STAGING_BINDIR}/
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/genext2fs/genext2fs.inc b/meta/packages/genext2fs/genext2fs.inc
new file mode 100644
index 0000000000..c2984bccdd
--- /dev/null
+++ b/meta/packages/genext2fs/genext2fs.inc
@@ -0,0 +1,4 @@
+LICENSE = "GPL"
+DESCRIPTION = "A tool to generate an ext2 filesystem \
+as a normal (non-root) user."
+SECTION = "console/utils"
diff --git a/meta/packages/genext2fs/genext2fs_1.3.bb b/meta/packages/genext2fs/genext2fs_1.3.bb
new file mode 100644
index 0000000000..d32d17ae08
--- /dev/null
+++ b/meta/packages/genext2fs/genext2fs_1.3.bb
@@ -0,0 +1,15 @@
+include genext2fs.inc
+
+PR = "r3"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/g/genext2fs/genext2fs_${PV}.orig.tar.gz \
+ file://misc.patch;patch=1"
+S = "${WORKDIR}/genext2fs-${PV}.orig"
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/gettext/gettext-0.14.1/fixchicken.patch b/meta/packages/gettext/gettext-0.14.1/fixchicken.patch
new file mode 100644
index 0000000000..4174f6d747
--- /dev/null
+++ b/meta/packages/gettext/gettext-0.14.1/fixchicken.patch
@@ -0,0 +1,26 @@
+Index: gettext-tools/m4/csharpcomp.m4
+===================================================================
+RCS file: /cvs/gettext/gettext/gettext-tools/m4/csharpcomp.m4,v
+retrieving revision 1.4
+retrieving revision 1.6
+diff -u -r1.4 -r1.6
+--- a/gettext-tools/m4/csharpcomp.m4 30 Jan 2004 11:01:18 -0000 1.4
++++ a/gettext-tools/m4/csharpcomp.m4 26 May 2004 12:15:23 -0000 1.6
+@@ -1,4 +1,4 @@
+-# csharpcomp.m4 serial 2 (gettext-0.14.1)
++# csharpcomp.m4 serial 4 (gettext-0.15)
+ dnl Copyright (C) 2003-2004 Free Software Foundation, Inc.
+ dnl This file is free software, distributed under the terms of the GNU
+ dnl General Public License. As a special exception to the GNU General
+@@ -43,7 +43,8 @@
+ ;;
+ sscli)
+ if test -n "$HAVE_CSC_IN_PATH" \
+- && csc -help >/dev/null 2>/dev/null; then
++ && csc -help >/dev/null 2>/dev/null \
++ && { if csc -help 2>/dev/null | grep -i chicken > /dev/null; then false; else true; fi; }; then
+ HAVE_CSC=1
+ ac_result="csc"
+ break
+
+
diff --git a/meta/packages/gettext/gettext-0.14.1/gettext-vpath.patch b/meta/packages/gettext/gettext-0.14.1/gettext-vpath.patch
new file mode 100644
index 0000000000..8251ac0e73
--- /dev/null
+++ b/meta/packages/gettext/gettext-0.14.1/gettext-vpath.patch
@@ -0,0 +1,11 @@
+--- gettext-0.14.1/gettext-runtime/intl/Makefile.in~ 2004-04-09 13:23:40.000000000 +0100
++++ gettext-0.14.1/gettext-runtime/intl/Makefile.in 2004-04-09 13:22:05.000000000 +0100
+@@ -24,7 +24,7 @@
+ srcdir = $(top_srcdir)/../gettext-runtime/intl
+ top_srcdir = /var/tmp/oe-tmp.pb/base/gettext-0.14.1-r0/gettext-0.14.1/gettext-tools
+ top_builddir = ..
+-VPATH = $(srcdir)
++#VPATH = $(srcdir)
+
+ prefix = /usr
+ exec_prefix = /usr
diff --git a/meta/packages/gettext/gettext-native_0.14.1.bb b/meta/packages/gettext/gettext-native_0.14.1.bb
new file mode 100644
index 0000000000..07c9361a19
--- /dev/null
+++ b/meta/packages/gettext/gettext-native_0.14.1.bb
@@ -0,0 +1,53 @@
+include gettext_${PV}.bb
+S = "${WORKDIR}/gettext-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gettext-${PV}"
+inherit native
+PROVIDES = ""
+
+M4 = "\
+lib-ld.m4 \
+lib-link.m4 \
+lib-prefix.m4 \
+codeset.m4 \
+gettext.m4 \
+glibc21.m4 \
+iconv.m4 \
+intdiv0.m4 \
+intmax.m4 \
+inttypes.m4 \
+inttypes_h.m4 \
+inttypes-pri.m4 \
+isc-posix.m4 \
+lcmessage.m4 \
+longdouble.m4 \
+longlong.m4 \
+nls.m4 \
+po.m4 \
+printf-posix.m4 \
+progtest.m4 \
+signed.m4 \
+size_max.m4 \
+stdint_h.m4 \
+uintmax_t.m4 \
+ulonglong.m4 \
+wchar_t.m4 \
+wint_t.m4 \
+xsize.m4 \
+"
+
+do_stage_append() {
+ for i in ${M4}; do
+ src="gettext-runtime/m4/$i"
+ if [ ! -f $src ]; then
+ src="gettext-tools/m4/$i"
+ fi
+ if [ ! -f $src ]; then
+ src="autoconf-lib-link/m4/$i"
+ fi
+ if [ ! -f $src ]; then
+ echo "can't find $i" >&2
+ exit 1
+ fi
+ install -m 0644 $src ${STAGING_DATADIR}/aclocal/$i
+ done
+}
diff --git a/meta/packages/gettext/gettext_0.14.1.bb b/meta/packages/gettext/gettext_0.14.1.bb
new file mode 100644
index 0000000000..9e2222aa0e
--- /dev/null
+++ b/meta/packages/gettext/gettext_0.14.1.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "The GNU internationalization library."
+HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
+SECTION = "libs"
+LICENSE = "GPL"
+PR = "r3"
+PROVIDES = "virtual/libintl"
+
+SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
+ file://gettext-vpath.patch;patch=1;pnum=1 \
+ file://fixchicken.patch;patch=1;pnum=1"
+
+PARALLEL_MAKE = ""
+
+inherit autotools
+
+EXTRA_OECONF += "--without-lisp"
+acpaths = '-I ${S}/autoconf-lib-link/m4/ \
+ -I ${S}/gettext-runtime/m4 \
+ -I ${S}/gettext-tools/m4'
+
+do_configure_prepend() {
+ rm -f ${S}/config/m4/libtool.m4
+ install -m 0644 ${STAGING_DATADIR}/aclocal/libtool.m4 ${S}/config/m4/
+}
+
+do_stage () {
+ autotools_stage_includes
+ oe_libinstall -so -C gettext-tools/lib libgettextlib ${STAGING_LIBDIR}/
+ oe_libinstall -so -C gettext-tools/src libgettextpo ${STAGING_LIBDIR}/
+ oe_libinstall -so -C gettext-tools/src libgettextsrc ${STAGING_LIBDIR}/
+ oe_libinstall -so -C gettext-tools/intl libintl ${STAGING_LIBDIR}/
+ oe_libinstall -so -C gettext-runtime/lib libasprintf ${STAGING_LIBDIR}/
+}
diff --git a/meta/packages/glib-2.0/files/atomic_fix.patch b/meta/packages/glib-2.0/files/atomic_fix.patch
new file mode 100644
index 0000000000..ddc7ada778
--- /dev/null
+++ b/meta/packages/glib-2.0/files/atomic_fix.patch
@@ -0,0 +1,16 @@
+Index: glib-2.10.3/glib/gthread.c
+===================================================================
+--- glib-2.10.3.orig/glib/gthread.c 2005-12-01 16:34:26.000000000 +0000
++++ glib-2.10.3/glib/gthread.c 2006-07-06 08:17:18.000000000 +0100
+@@ -164,10 +164,10 @@
+ _g_messages_thread_init_nomessage ();
+
+ /* we may run full-fledged initializers from here */
++ _g_atomic_thread_init ();
+ _g_convert_thread_init ();
+ _g_rand_thread_init ();
+ _g_main_thread_init ();
+- _g_atomic_thread_init ();
+ _g_utils_thread_init ();
+ #ifdef G_OS_WIN32
+ _g_win32_thread_init ();
diff --git a/meta/packages/glib-2.0/files/glib-gettextize-dir.patch b/meta/packages/glib-2.0/files/glib-gettextize-dir.patch
new file mode 100644
index 0000000000..989211c927
--- /dev/null
+++ b/meta/packages/glib-2.0/files/glib-gettextize-dir.patch
@@ -0,0 +1,11 @@
+--- glib-2.6.2/glib-gettextize.in.old 2005-02-15 02:43:17.000000000 +0000
++++ glib-2.6.2/glib-gettextize.in 2005-02-15 02:43:18.000000000 +0000
+@@ -43,7 +43,7 @@
+
+ # Directory where the sources are stored.
+ prefix=@prefix@
+-gettext_dir=@prefix@/share/glib-2.0/gettext
++gettext_dir=@datadir@/glib-2.0/gettext
+
+ while test $# -gt 0; do
+ case "$1" in
diff --git a/meta/packages/glib-2.0/files/glibconfig-sysdefs.h b/meta/packages/glib-2.0/files/glibconfig-sysdefs.h
new file mode 100644
index 0000000000..1329e7f21c
--- /dev/null
+++ b/meta/packages/glib-2.0/files/glibconfig-sysdefs.h
@@ -0,0 +1,6 @@
+#define GLIB_SYSDEF_POLLIN =1
+#define GLIB_SYSDEF_POLLOUT =4
+#define GLIB_SYSDEF_POLLPRI =2
+#define GLIB_SYSDEF_POLLERR =8
+#define GLIB_SYSDEF_POLLHUP =16
+#define GLIB_SYSDEF_POLLNVAL =32
diff --git a/meta/packages/glib-2.0/files/glibinclude.patch b/meta/packages/glib-2.0/files/glibinclude.patch
new file mode 100644
index 0000000000..5413e50e00
--- /dev/null
+++ b/meta/packages/glib-2.0/files/glibinclude.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- glib-2.0-2.4.6-r1/glib-2.4.6/glib/Makefile.am~glibinclude.patch
++++ glib-2.0-2.4.6-r1/glib-2.4.6/glib/Makefile.am
+@@ -157,8 +157,8 @@
+ gprintf.h
+
+ install-data-local: install-ms-lib install-libtool-import-lib
+- @if test -f $(glibincludedir)/glist.h ; then \
+- echo "*** Old headers found in $(glibincludedir). You should remove the" ; \
++ @if test -f $(DESTDIR)$(glibincludedir)/glist.h ; then \
++ echo "*** Old headers found in $(DESTDIR)$(glibincludedir). You should remove the" ; \
+ echo "*** contents of this directory and type 'make install' again." ; \
+ false ; \
+ fi
diff --git a/meta/packages/glib-2.0/glib-2.0-native-2.10.3/glib-gettextize-dir.patch b/meta/packages/glib-2.0/glib-2.0-native-2.10.3/glib-gettextize-dir.patch
new file mode 100644
index 0000000000..efe3325578
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-native-2.10.3/glib-gettextize-dir.patch
@@ -0,0 +1,11 @@
+--- glib-2.10.3/glib-gettextize.in.old 2006-06-21 12:46:45.000000000 +0100
++++ glib-2.10.3/glib-gettextize.in 2006-06-21 12:48:14.000000000 +0100
+@@ -49,7 +49,7 @@
+ ;;
+ esac
+
+-gettext_dir=$prefix/share/glib-2.0/gettext
++gettext_dir=@datadir@/glib-2.0/gettext
+
+ while test $# -gt 0; do
+ case "$1" in
diff --git a/meta/packages/glib-2.0/glib-2.0-native_2.10.3.bb b/meta/packages/glib-2.0/glib-2.0-native_2.10.3.bb
new file mode 100644
index 0000000000..402ec2d390
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-native_2.10.3.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS += "gtk-doc-native"
+PR="r1"
+
+EXTRA_OECONF = "--disable-debug"
+
+SRC_URI = "http://download.gnome.org/sources/glib/2.10//glib-${PV}.tar.bz2 \
+ file://glib-gettextize-dir.patch;patch=1 \
+ file://atomic_fix.patch;patch=1 \
+ file://glibconfig-sysdefs.h"
+
+S = "${WORKDIR}/glib-${PV}"
+
+inherit autotools pkgconfig native gettext
+
+python () {
+ if bb.data.getVar("USE_NLS", d, 1) == "no":
+ raise bb.parse.SkipPackage("${PN} requires native language support.")
+}
+
+acpaths = ""
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
+}
+
+do_stage () {
+ install -m 0755 gobject/glib-mkenums ${STAGING_BINDIR}/
+ install -m 0755 gobject/.libs/glib-genmarshal ${STAGING_BINDIR}/
+ install -m 0755 glib-gettextize ${STAGING_BINDIR}/
+ oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+ install -d ${STAGING_INCDIR}/glib-2.0/glib
+ install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
+ install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
+ install -d ${STAGING_DATADIR}/glib-2.0/gettext/po
+ install -m 0755 mkinstalldirs ${STAGING_DATADIR}/glib-2.0/gettext/
+ install -m 0644 po/Makefile.in.in ${STAGING_DATADIR}/glib-2.0/gettext/po/
+}
+
+do_install () {
+ :
+}
+
diff --git a/meta/packages/glib-2.0/glib-2.0-native_2.12.0.bb b/meta/packages/glib-2.0/glib-2.0-native_2.12.0.bb
new file mode 100644
index 0000000000..768f2777d8
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-native_2.12.0.bb
@@ -0,0 +1,54 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS += "gtk-doc-native"
+PR="r1"
+
+EXTRA_OECONF = "--disable-debug"
+
+SRC_URI = "http://download.gnome.org/sources/glib/2.12/glib-${PV}.tar.bz2 \
+ file://glib-gettextize-dir.patch;patch=1 \
+ file://glibconfig-sysdefs.h"
+
+S = "${WORKDIR}/glib-${PV}"
+
+inherit autotools pkgconfig native gettext
+
+python () {
+ if bb.data.getVar("USE_NLS", d, 1) == "no":
+ raise bb.parse.SkipPackage("${PN} requires native language support.")
+}
+
+acpaths = ""
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
+}
+
+do_stage () {
+ install -m 0755 gobject/glib-mkenums ${STAGING_BINDIR}/
+ install -m 0755 gobject/.libs/glib-genmarshal ${STAGING_BINDIR}/
+ install -m 0755 glib-gettextize ${STAGING_BINDIR}/
+ oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+ install -d ${STAGING_INCDIR}/glib-2.0/glib
+ install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
+ install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
+ install -d ${STAGING_DATADIR}/glib-2.0/gettext/po
+ install -m 0755 mkinstalldirs ${STAGING_DATADIR}/glib-2.0/gettext/
+ install -m 0644 po/Makefile.in.in ${STAGING_DATADIR}/glib-2.0/gettext/po/
+}
+
+do_install () {
+ :
+}
+
diff --git a/meta/packages/glib-2.0/glib-2.0-native_2.6.5.bb b/meta/packages/glib-2.0/glib-2.0-native_2.6.5.bb
new file mode 100644
index 0000000000..785261e7cf
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-native_2.6.5.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Philip Blundell <pb@handhelds.org>"
+DEPENDS = "gtk-doc-native"
+PR = "r3"
+
+EXTRA_OECONF = "--disable-debug"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/glib-${PV}.tar.bz2 \
+ file://glib-gettextize-dir.patch;patch=1 \
+ file://glibconfig-sysdefs.h"
+
+S = "${WORKDIR}/glib-${PV}"
+
+inherit autotools pkgconfig native gettext
+
+acpaths = ""
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
+}
+
+do_stage () {
+ install -m 0755 gobject/glib-mkenums ${STAGING_BINDIR}/
+ install -m 0755 gobject/.libs/glib-genmarshal ${STAGING_BINDIR}/
+ install -m 0755 glib-gettextize ${STAGING_BINDIR}/
+ oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+ install -d ${STAGING_INCDIR}/glib-2.0/glib
+ install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
+ install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
+ install -d ${STAGING_DATADIR}/glib-2.0/gettext/po
+ install -m 0755 mkinstalldirs ${STAGING_DATADIR}/glib-2.0/gettext/
+ install -m 0644 po/Makefile.in.in ${STAGING_DATADIR}/glib-2.0/gettext/po/
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/glib-2.0/glib-2.0_2.10.3.bb b/meta/packages/glib-2.0/glib-2.0_2.10.3.bb
new file mode 100644
index 0000000000..df0f3bd82c
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0_2.10.3.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS += "glib-2.0-native gtk-doc"
+DEPENDS += "virtual/libiconv virtual/libintl"
+PACKAGES =+ "glib-2.0-utils "
+PR = "r3"
+
+LEAD_SONAME = "libglib-2.0.*"
+FILES_glib-2.0-utils = "${bindir}/*"
+
+EXTRA_OECONF = "--disable-debug"
+
+SRC_URI = "http://download.gnome.org/sources/glib/2.10//glib-${PV}.tar.bz2 \
+ file://atomic_fix.patch;patch=1 \
+ file://glibconfig-sysdefs.h"
+
+S = "${WORKDIR}/glib-${PV}"
+
+inherit autotools pkgconfig gettext
+
+python () {
+ if bb.data.getVar("USE_NLS", d, 1) == "no":
+ raise bb.parse.SkipPackage("${PN} requires native language support.")
+}
+
+acpaths = ""
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
+}
+
+do_stage () {
+ oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+ install -d ${STAGING_INCDIR}/glib-2.0/glib
+ install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
+ install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
+}
diff --git a/meta/packages/glib-2.0/glib-2.0_2.12.0.bb b/meta/packages/glib-2.0/glib-2.0_2.12.0.bb
new file mode 100644
index 0000000000..31d7347a06
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0_2.12.0.bb
@@ -0,0 +1,47 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS += "glib-2.0-native gtk-doc"
+DEPENDS += "virtual/libiconv virtual/libintl"
+PACKAGES =+ "glib-2.0-utils "
+PR = "r1"
+
+LEAD_SONAME = "libglib-2.0.*"
+FILES_glib-2.0-utils = "${bindir}/*"
+
+EXTRA_OECONF = "--disable-debug"
+
+SRC_URI = "http://download.gnome.org/sources/glib/2.12/glib-${PV}.tar.bz2 \
+ file://glibconfig-sysdefs.h"
+
+S = "${WORKDIR}/glib-${PV}"
+
+inherit autotools pkgconfig gettext
+
+python () {
+ if bb.data.getVar("USE_NLS", d, 1) == "no":
+ raise bb.parse.SkipPackage("${PN} requires native language support.")
+}
+
+acpaths = ""
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
+}
+
+do_stage () {
+ oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+ install -d ${STAGING_INCDIR}/glib-2.0/glib
+ install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
+ install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
+}
diff --git a/meta/packages/glib-2.0/glib-2.0_2.6.4.bb b/meta/packages/glib-2.0/glib-2.0_2.6.4.bb
new file mode 100644
index 0000000000..2765cc0a63
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0_2.6.4.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Philip Blundell <pb@handhelds.org>"
+DEPENDS += "glib-2.0-native gtk-doc"
+DEPENDS += "virtual/libiconv virtual/libintl"
+PACKAGES =+ "glib-2.0-utils "
+PR = "r0"
+
+LEAD_SONAME = "libglib-2.0.*"
+FILES_glib-2.0-utils = "${bindir}/*"
+
+EXTRA_OECONF = "--disable-debug"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/glib-${PV}.tar.bz2 \
+ file://glibinclude.patch;patch=1;pnum=2 \
+ file://glibconfig-sysdefs.h"
+
+S = "${WORKDIR}/glib-${PV}"
+
+inherit autotools pkgconfig gettext
+
+python () {
+ if bb.data.getVar("USE_NLS", d, 1) == "no":
+ raise bb.parse.SkipPackage("${PN} requires native language support.")
+}
+
+acpaths = ""
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
+}
+
+do_stage () {
+ oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+ install -d ${STAGING_INCDIR}/glib-2.0/glib
+ install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
+ install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
+}
diff --git a/meta/packages/glib-2.0/glib-2.0_2.8.6.bb b/meta/packages/glib-2.0/glib-2.0_2.8.6.bb
new file mode 100644
index 0000000000..e0f171ea4a
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0_2.8.6.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Philip Blundell <pb@handhelds.org>"
+DEPENDS += "glib-2.0-native gtk-doc"
+DEPENDS += "virtual/libiconv virtual/libintl"
+PACKAGES =+ "glib-2.0-utils "
+PR = "r1"
+
+LEAD_SONAME = "libglib-2.0.*"
+FILES_glib-2.0-utils = "${bindir}/*"
+
+EXTRA_OECONF = "--disable-debug"
+# --with-libiconv=gnu"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.8/glib-${PV}.tar.bz2 \
+ file://glibconfig-sysdefs.h"
+
+S = "${WORKDIR}/glib-${PV}"
+
+inherit autotools pkgconfig gettext
+
+python () {
+ if bb.data.getVar("USE_NLS", d, 1) == "no":
+ raise bb.parse.SkipPackage("${PN} requires native language support.")
+}
+
+acpaths = ""
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
+}
+
+do_stage () {
+ oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+ install -d ${STAGING_INCDIR}/glib-2.0/glib
+ install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
+ install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
+}
diff --git a/meta/packages/glibc/files/5090_all_stubs-rule-fix.patch b/meta/packages/glibc/files/5090_all_stubs-rule-fix.patch
new file mode 100644
index 0000000000..c445a5296e
--- /dev/null
+++ b/meta/packages/glibc/files/5090_all_stubs-rule-fix.patch
@@ -0,0 +1,39 @@
+Index: Makerules
+===================================================================
+RCS file: /cvs/glibc/libc/Makerules,v
+retrieving revision 1.430
+diff -u -r1.430 Makerules
+--- libc/Makerules 5 Mar 2005 19:24:32 -0000 1.430
++++ libc/Makerules 22 Apr 2005 18:31:27 -0000
+@@ -1390,15 +1390,26 @@
+ $(addprefix $(objpfx),$(extra-objs))
+ $(objpfx)stubs: $(objs-for-stubs)
+ ifneq (,$(strip $(objs-for-stubs)))
+- $(OBJDUMP) -h $^ | \
+- $(AWK) '/\.gnu\.glibc-stub\./ { \
+- sub(/\.gnu\.glibc-stub\./, "", $$2); \
+- stubs[$$2] = 1; } \
+- END { for (s in stubs) print "#define __stub_" s }' > $@T
++ $(stub-obj-list)
++ cat $@L | xargs \
++ $(OBJDUMP) -h | \
++ $(AWK) '/\.gnu\.glibc-stub\./ { \
++ sub(/\.gnu\.glibc-stub\./, "", $$2); \
++ stubs[$$2] = 1; } \
++ END { for (s in stubs) print "#define __stub_" s }' \
++ > $@T
++ -rm -f $@L
+ mv -f $@T $@
+ else
+ > $@
+ endif
++
++define stub-obj-list
++-@rm -f $@L
++-@echo "Generating stub obj list..."
++$(foreach file,$^,
++@echo >> $@L '$(file)')
++endef
+
+ # This information is not used for making distributions any more.
+ # But it's used by MakeTAGS for making TAGS files and the .pot files.
diff --git a/meta/packages/glibc/files/etc/ld.so.conf b/meta/packages/glibc/files/etc/ld.so.conf
new file mode 100644
index 0000000000..fb1aab516d
--- /dev/null
+++ b/meta/packages/glibc/files/etc/ld.so.conf
@@ -0,0 +1,3 @@
+/usr/local/lib
+/opt/QtPalmtop/lib
+/usr/X11R6/lib
diff --git a/meta/packages/glibc/files/fhs-linux-paths.patch b/meta/packages/glibc/files/fhs-linux-paths.patch
new file mode 100644
index 0000000000..1f32f6d7f2
--- /dev/null
+++ b/meta/packages/glibc/files/fhs-linux-paths.patch
@@ -0,0 +1,11 @@
+--- glibc-2.1.1/sysdeps/unix/sysv/linux/paths.h~ Thu May 27 13:16:33 1999
++++ glibc-2.1.1/sysdeps/unix/sysv/linux/paths.h Thu May 27 13:17:55 1999
+@@ -71,7 +71,7 @@
+ /* Provide trailing slash, since mostly used for building pathnames. */
+ #define _PATH_DEV "/dev/"
+ #define _PATH_TMP "/tmp/"
+-#define _PATH_VARDB "/var/db/"
++#define _PATH_VARDB "/var/lib/misc/"
+ #define _PATH_VARRUN "/var/run/"
+ #define _PATH_VARTMP "/var/tmp/"
+
diff --git a/meta/packages/glibc/files/generate-supported.mk b/meta/packages/glibc/files/generate-supported.mk
new file mode 100644
index 0000000000..d2a28c2dc6
--- /dev/null
+++ b/meta/packages/glibc/files/generate-supported.mk
@@ -0,0 +1,11 @@
+#!/usr/bin/make
+
+include $(IN)
+
+all:
+ rm -f $(OUT)
+ touch $(OUT)
+ for locale in $(SUPPORTED-LOCALES); do \
+ [ $$locale = true ] && continue; \
+ echo $$locale | sed 's,/, ,' >> $(OUT); \
+ done
diff --git a/meta/packages/glibc/glibc-2.4/arm-longlong.patch b/meta/packages/glibc/glibc-2.4/arm-longlong.patch
new file mode 100644
index 0000000000..320a55524c
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/arm-longlong.patch
@@ -0,0 +1,58 @@
+--- glibc-2.4/stdlib/longlong.h.ark 2006-03-11 22:49:27.000000000 +0100
++++ glibc-2.4/stdlib/longlong.h 2006-03-11 22:55:12.000000000 +0100
+@@ -206,6 +206,14 @@
+ "rI" ((USItype) (bh)), \
+ "r" ((USItype) (al)), \
+ "rI" ((USItype) (bl)) __CLOBBER_CC)
++/* v3m and all higher arches have long multiply support. */
++#if !defined(__ARM_ARCH_2__) && !defined(__ARM_ARCH_3__)
++#define umul_ppmm(xh, xl, a, b) \
++ __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
++#define UMUL_TIME 5
++#define smul_ppmm(xh, xl, a, b) \
++ __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
++#else
+ #define umul_ppmm(xh, xl, a, b) \
+ {register USItype __t0, __t1, __t2; \
+ __asm__ ("%@ Inlined umul_ppmm\n" \
+@@ -227,7 +235,13 @@
+ : "r" ((USItype) (a)), \
+ "r" ((USItype) (b)) __CLOBBER_CC );}
+ #define UMUL_TIME 20
++#endif
+ #define UDIV_TIME 100
++#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
++#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X))
++#define COUNT_LEADING_ZEROS_0 32
++#endif
++
+ #endif /* __arm__ */
+
+ #if defined (__hppa) && W_TYPE_SIZE == 32
+--- glibc-2.4/ports/sysdeps/arm/mp_clz_tab.c.ark 2006-03-11 22:56:43.000000000 +0100
++++ glibc-2.4/ports/sysdeps/arm/mp_clz_tab.c 2006-03-11 22:58:19.000000000 +0100
+@@ -0,0 +1,24 @@
++/* __clz_tab -- support for longlong.h
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
++/* Nothing required. */
++#else
++#include <sysdeps/generic/mp_clz_tab.c>
++#endif
diff --git a/meta/packages/glibc/glibc-2.4/arm-memcpy.patch b/meta/packages/glibc/glibc-2.4/arm-memcpy.patch
new file mode 100644
index 0000000000..bc2b3dab84
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/arm-memcpy.patch
@@ -0,0 +1,758 @@
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ sysdeps/arm/memmove.S 2004-03-20 18:37:23.000000000 +0000
+@@ -0,0 +1,251 @@
++/*
++ * Optimized memmove implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++
++/* char * memmove (char *dst, const char *src) */
++ENTRY(memmove)
++ subs ip, r0, r1
++ cmphi r2, ip
++ bls memcpy(PLT)
++
++ stmfd sp!, {r0, r4, lr}
++ add r1, r1, r2
++ add r0, r0, r2
++ subs r2, r2, #4
++ blt 25f
++ ands ip, r0, #3
++ PLD( pld [r1, #-4] )
++ bne 26f
++ ands ip, r1, #3
++ bne 27f
++
++19: subs r2, r2, #4
++ blt 24f
++ subs r2, r2, #8
++ blt 23f
++ subs r2, r2, #16
++ blt 22f
++
++ PLD( pld [r1, #-32] )
++ PLD( subs r2, r2, #96 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 21f )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #-64] )
++ PLD( beq 20f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #-96] )
++ PLD( blt 20f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgedb r1!, {r3 - r6} )
++ PLD( stmgedb r0!, {r3 - r6} )
++ PLD( beq 20f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [r1, #-4]! )
++ PLD( ldrge r4, [r1, #-4]! )
++ PLD( ldrgt r5, [r1, #-4]! )
++ PLD( str r3, [r0, #-4]! )
++ PLD( strge r4, [r0, #-4]! )
++ PLD( strgt r5, [r0, #-4]! )
++
++20: PLD( pld [r1, #-96] )
++ PLD( pld [r1, #-128] )
++21: ldmdb r1!, {r3, r4, ip, lr}
++ subs r2, r2, #32
++ stmdb r0!, {r3, r4, ip, lr}
++ ldmdb r1!, {r3, r4, ip, lr}
++ stmgedb r0!, {r3, r4, ip, lr}
++ ldmgedb r1!, {r3, r4, ip, lr}
++ stmgedb r0!, {r3, r4, ip, lr}
++ ldmgedb r1!, {r3, r4, ip, lr}
++ subges r2, r2, #32
++ stmdb r0!, {r3, r4, ip, lr}
++ bge 20b
++ PLD( cmn r2, #96 )
++ PLD( bge 21b )
++ PLD( add r2, r2, #96 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r0, r4, pc}
++
++ tst r2, #16
++22: ldmnedb r1!, {r3, r4, ip, lr}
++ stmnedb r0!, {r3, r4, ip, lr}
++
++ tst r2, #8
++23: ldmnedb r1!, {r3, r4}
++ stmnedb r0!, {r3, r4}
++
++ tst r2, #4
++24: ldrne r3, [r1, #-4]!
++ strne r3, [r0, #-4]!
++
++25: ands r2, r2, #3
++ ldmeqfd sp!, {r0, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [r1, #-1]
++ ldrgeb r4, [r1, #-2]
++ ldrgtb ip, [r1, #-3]
++ strb r3, [r0, #-1]
++ strgeb r4, [r0, #-2]
++ strgtb ip, [r0, #-3]
++ ldmfd sp!, {r0, r4, pc}
++
++26: cmp ip, #2
++ ldrb r3, [r1, #-1]!
++ ldrgeb r4, [r1, #-1]!
++ ldrgtb lr, [r1, #-1]!
++ strb r3, [r0, #-1]!
++ strgeb r4, [r0, #-1]!
++ strgtb lr, [r0, #-1]!
++ subs r2, r2, ip
++ blt 25b
++ ands ip, r1, #3
++ beq 19b
++
++27: bic r1, r1, #3
++ cmp ip, #2
++ ldr r3, [r1]
++ beq 35f
++ blt 36f
++
++
++ .macro backward_copy_shift push pull
++
++ cmp r2, #12
++ PLD( pld [r1, #-4] )
++ blt 33f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 31f
++
++ PLD( subs r2, r2, #96 )
++ PLD( pld [r1, #-32] )
++ PLD( blt 30f )
++ PLD( pld [r1, #-64] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #-96] )
++ PLD( beq 29f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #-128] )
++ PLD( blt 29f )
++ PLD( sub r2, r2, ip )
++28: PLD( mov r4, r3, push #\push )
++ PLD( ldr r3, [r1, #-4]! )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r4, r4, r3, pull #\pull )
++ PLD( str r4, [r0, #-4]! )
++ PLD( bgt 28b )
++
++29: PLD( pld [r1, #-128] )
++30: mov lr, r3, push #\push
++ ldmdb r1!, {r3 - r9, ip}
++ subs r2, r2, #32
++ orr lr, lr, ip, pull #\pull
++ mov ip, ip, push #\push
++ orr ip, ip, r9, pull #\pull
++ mov r9, r9, push #\push
++ orr r9, r9, r8, pull #\pull
++ mov r8, r8, push #\push
++ orr r8, r8, r7, pull #\pull
++ mov r7, r7, push #\push
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb r0!, {r4 - r9, ip, lr}
++ bge 29b
++ PLD( cmn r2, #96 )
++ PLD( bge 30b )
++ PLD( add r2, r2, #96 )
++ cmn r2, #16
++ blt 32f
++31: mov r7, r3, push #\push
++ ldmdb r1!, {r3 - r6}
++ sub r2, r2, #16
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb r0!, {r4 - r7}
++32: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 34f
++33: mov r4, r3, push #\push
++ ldr r3, [r1, #-4]!
++ subs r2, r2, #4
++ orr r4, r4, r3, pull #\pull
++ str r4, [r0, #-4]!
++ bge 33b
++34:
++ .endm
++
++
++ backward_copy_shift push=8 pull=24
++ add r1, r1, #3
++ b 25b
++
++35: backward_copy_shift push=16 pull=16
++ add r1, r1, #2
++ b 25b
++
++36: backward_copy_shift push=24 pull=8
++ add r1, r1, #1
++ b 25b
++
++ .size memmove, . - memmove
++END(memmove)
++libc_hidden_builtin_def (memmove)
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ sysdeps/arm/bcopy.S 2004-03-20 18:37:48.000000000 +0000
+@@ -0,0 +1,255 @@
++/*
++ * Optimized memmove implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++dst .req r1
++src .req r0
++
++/* void *bcopy (const char *src, char *dst, size_t size) */
++ENTRY(bcopy)
++ subs ip, dst, src
++ cmphi r2, ip
++ movls r3, r0
++ movls r0, r1
++ movls r1, r3
++ bls memcpy(PLT)
++
++ stmfd sp!, {r4, lr}
++ add src, src, r2
++ add dst, dst, r2
++ subs r2, r2, #4
++ blt 25f
++ ands ip, dst, #3
++ PLD( pld [src, #-4] )
++ bne 26f
++ ands ip, src, #3
++ bne 27f
++
++19: subs r2, r2, #4
++ blt 24f
++ subs r2, r2, #8
++ blt 23f
++ subs r2, r2, #16
++ blt 22f
++
++ PLD( pld [src, #-32] )
++ PLD( subs r2, r2, #96 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 21f )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, src, #31 )
++ PLD( pld [src, #-64] )
++ PLD( beq 20f )
++ PLD( cmp r2, ip )
++ PLD( pld [src, #-96] )
++ PLD( blt 20f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgedb src!, {r3 - r6} )
++ PLD( stmgedb dst!, {r3 - r6} )
++ PLD( beq 20f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [src, #-4]! )
++ PLD( ldrge r4, [src, #-4]! )
++ PLD( ldrgt r5, [src, #-4]! )
++ PLD( str r3, [dst, #-4]! )
++ PLD( strge r4, [dst, #-4]! )
++ PLD( strgt r5, [dst, #-4]! )
++
++20: PLD( pld [src, #-96] )
++ PLD( pld [src, #-128] )
++21: ldmdb src!, {r3, r4, ip, lr}
++ subs r2, r2, #32
++ stmdb dst!, {r3, r4, ip, lr}
++ ldmdb src!, {r3, r4, ip, lr}
++ stmgedb dst!, {r3, r4, ip, lr}
++ ldmgedb src!, {r3, r4, ip, lr}
++ stmgedb dst!, {r3, r4, ip, lr}
++ ldmgedb src!, {r3, r4, ip, lr}
++ subges r2, r2, #32
++ stmdb dst!, {r3, r4, ip, lr}
++ bge 20b
++ PLD( cmn r2, #96 )
++ PLD( bge 21b )
++ PLD( add r2, r2, #96 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r4, pc}
++
++ tst r2, #16
++22: ldmnedb src!, {r3, r4, ip, lr}
++ stmnedb dst!, {r3, r4, ip, lr}
++
++ tst r2, #8
++23: ldmnedb src!, {r3, r4}
++ stmnedb dst!, {r3, r4}
++
++ tst r2, #4
++24: ldrne r3, [src, #-4]!
++ strne r3, [dst, #-4]!
++
++25: ands r2, r2, #3
++ ldmeqfd sp!, {dst, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [src, #-1]
++ ldrgeb r4, [src, #-2]
++ ldrgtb ip, [src, #-3]
++ strb r3, [dst, #-1]
++ strgeb r4, [dst, #-2]
++ strgtb ip, [dst, #-3]
++ ldmfd sp!, {dst, r4, pc}
++
++26: cmp ip, #2
++ ldrb r3, [src, #-1]!
++ ldrgeb r4, [src, #-1]!
++ ldrgtb lr, [src, #-1]!
++ strb r3, [dst, #-1]!
++ strgeb r4, [dst, #-1]!
++ strgtb lr, [dst, #-1]!
++ subs r2, r2, ip
++ blt 25b
++ ands ip, src, #3
++ beq 19b
++
++27: bic src, src, #3
++ cmp ip, #2
++ ldr r3, [src]
++ beq 35f
++ blt 36f
++
++
++ .macro backward_copy_shift push pull
++
++ cmp r2, #12
++ PLD( pld [src, #-4] )
++ blt 33f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 31f
++
++ PLD( subs r2, r2, #96 )
++ PLD( pld [src, #-32] )
++ PLD( blt 30f )
++ PLD( pld [src, #-64] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, src, #31 )
++ PLD( pld [src, #-96] )
++ PLD( beq 29f )
++ PLD( cmp r2, ip )
++ PLD( pld [src, #-128] )
++ PLD( blt 29f )
++ PLD( sub r2, r2, ip )
++28: PLD( mov r4, r3, push #\push )
++ PLD( ldr r3, [src, #-4]! )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r4, r4, r3, pull #\pull )
++ PLD( str r4, [dst, #-4]! )
++ PLD( bgt 28b )
++
++29: PLD( pld [src, #-128] )
++30: mov lr, r3, push #\push
++ ldmdb src!, {r3 - r9, ip}
++ subs r2, r2, #32
++ orr lr, lr, ip, pull #\pull
++ mov ip, ip, push #\push
++ orr ip, ip, r9, pull #\pull
++ mov r9, r9, push #\push
++ orr r9, r9, r8, pull #\pull
++ mov r8, r8, push #\push
++ orr r8, r8, r7, pull #\pull
++ mov r7, r7, push #\push
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb dst!, {r4 - r9, ip, lr}
++ bge 29b
++ PLD( cmn r2, #96 )
++ PLD( bge 30b )
++ PLD( add r2, r2, #96 )
++ cmn r2, #16
++ blt 32f
++31: mov r7, r3, push #\push
++ ldmdb src!, {r3 - r6}
++ sub r2, r2, #16
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb dst!, {r4 - r7}
++32: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 34f
++33: mov r4, r3, push #\push
++ ldr r3, [src, #-4]!
++ subs r2, r2, #4
++ orr r4, r4, r3, pull #\pull
++ str r4, [dst, #-4]!
++ bge 33b
++34:
++ .endm
++
++
++ backward_copy_shift push=8 pull=24
++ add src, src, #3
++ b 25b
++
++35: backward_copy_shift push=16 pull=16
++ add src, src, #2
++ b 25b
++
++36: backward_copy_shift push=24 pull=8
++ add src, src, #1
++ b 25b
++
++ .size bcopy, . - bcopy
++END(bcopy)
+
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ sysdeps/arm/memcpy.S 2004-05-02 14:33:22.000000000 +0100
+@@ -0,0 +1,242 @@
++/*
++ * Optimized memcpy implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++
++/* char * memcpy (char *dst, const char *src) */
++
++ENTRY(memcpy)
++ subs r2, r2, #4
++ stmfd sp!, {r0, r4, lr}
++ blt 7f
++ ands ip, r0, #3
++ PLD( pld [r1, #0] )
++ bne 8f
++ ands ip, r1, #3
++ bne 9f
++
++1: subs r2, r2, #4
++ blt 6f
++ subs r2, r2, #8
++ blt 5f
++ subs r2, r2, #16
++ blt 4f
++
++ PLD( subs r2, r2, #65 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 3f )
++ PLD( pld [r1, #32] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #64] )
++ PLD( beq 2f )
++ PLD( rsb ip, ip, #32 )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #96] )
++ PLD( blt 2f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgeia r1!, {r3 - r6} )
++ PLD( stmgeia r0!, {r3 - r6} )
++ PLD( beq 2f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [r1], #4 )
++ PLD( ldrge r4, [r1], #4 )
++ PLD( ldrgt r5, [r1], #4 )
++ PLD( str r3, [r0], #4 )
++ PLD( strge r4, [r0], #4 )
++ PLD( strgt r5, [r0], #4 )
++
++2: PLD( pld [r1, #96] )
++3: ldmia r1!, {r3 - r8, ip, lr}
++ subs r2, r2, #32
++ stmia r0!, {r3 - r8, ip, lr}
++ bge 2b
++ PLD( cmn r2, #65 )
++ PLD( bge 3b )
++ PLD( add r2, r2, #65 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r0, r4, pc}
++
++ tst r2, #16
++4: ldmneia r1!, {r3, r4, ip, lr}
++ stmneia r0!, {r3, r4, ip, lr}
++
++ tst r2, #8
++5: ldmneia r1!, {r3, r4}
++ stmneia r0!, {r3, r4}
++
++ tst r2, #4
++6: ldrne r3, [r1], #4
++ strne r3, [r0], #4
++
++7: ands r2, r2, #3
++ ldmeqfd sp!, {r0, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [r1], #1
++ ldrgeb r4, [r1], #1
++ ldrgtb ip, [r1]
++ strb r3, [r0], #1
++ strgeb r4, [r0], #1
++ strgtb ip, [r0]
++ ldmfd sp!, {r0, r4, pc}
++
++8: rsb ip, ip, #4
++ cmp ip, #2
++ ldrb r3, [r1], #1
++ ldrgeb r4, [r1], #1
++ ldrgtb lr, [r1], #1
++ strb r3, [r0], #1
++ strgeb r4, [r0], #1
++ strgtb lr, [r0], #1
++ subs r2, r2, ip
++ blt 7b
++ ands ip, r1, #3
++ beq 1b
++
++9: bic r1, r1, #3
++ cmp ip, #2
++ ldr lr, [r1], #4
++ beq 17f
++ bgt 18f
++
++
++ .macro forward_copy_shift pull push
++
++ cmp r2, #12
++ PLD( pld [r1, #0] )
++ blt 15f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 13f
++
++ PLD( subs r2, r2, #97 )
++ PLD( blt 12f )
++ PLD( pld [r1, #32] )
++
++ PLD( @ cache alignment )
++ PLD( rsb ip, r1, #36 )
++ PLD( pld [r1, #64] )
++ PLD( ands ip, ip, #31 )
++ PLD( pld [r1, #96] )
++ PLD( beq 11f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #128] )
++ PLD( blt 11f )
++ PLD( sub r2, r2, ip )
++10: PLD( mov r3, lr, pull #\pull )
++ PLD( ldr lr, [r1], #4 )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r3, r3, lr, push #\push )
++ PLD( str r3, [r0], #4 )
++ PLD( bgt 10b )
++
++11: PLD( pld [r1, #128] )
++12: mov r3, lr, pull #\pull
++ ldmia r1!, {r4 - r9, ip, lr}
++ subs r2, r2, #32
++ orr r3, r3, r4, push #\push
++ mov r4, r4, pull #\pull
++ orr r4, r4, r5, push #\push
++ mov r5, r5, pull #\pull
++ orr r5, r5, r6, push #\push
++ mov r6, r6, pull #\pull
++ orr r6, r6, r7, push #\push
++ mov r7, r7, pull #\pull
++ orr r7, r7, r8, push #\push
++ mov r8, r8, pull #\pull
++ orr r8, r8, r9, push #\push
++ mov r9, r9, pull #\pull
++ orr r9, r9, ip, push #\push
++ mov ip, ip, pull #\pull
++ orr ip, ip, lr, push #\push
++ stmia r0!, {r3 - r9, ip}
++ bge 11b
++ PLD( cmn r2, #97 )
++ PLD( bge 12b )
++ PLD( add r2, r2, #97 )
++ cmn r2, #16
++ blt 14f
++13: mov r3, lr, pull #\pull
++ ldmia r1!, {r4 - r6, lr}
++ sub r2, r2, #16
++ orr r3, r3, r4, push #\push
++ mov r4, r4, pull #\pull
++ orr r4, r4, r5, push #\push
++ mov r5, r5, pull #\pull
++ orr r5, r5, r6, push #\push
++ mov r6, r6, pull #\pull
++ orr r6, r6, lr, push #\push
++ stmia r0!, {r3 - r6}
++14: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 16f
++15: mov r3, lr, pull #\pull
++ ldr lr, [r1], #4
++ subs r2, r2, #4
++ orr r3, r3, lr, push #\push
++ str r3, [r0], #4
++ bge 15b
++16:
++ .endm
++
++
++ forward_copy_shift pull=8 push=24
++ sub r1, r1, #3
++ b 7b
++
++17: forward_copy_shift pull=16 push=16
++ sub r1, r1, #2
++ b 7b
++
++18: forward_copy_shift pull=24 push=8
++ sub r1, r1, #1
++ b 7b
++
++ .size memcpy, . - memcpy
++END(memcpy)
++libc_hidden_builtin_def (memcpy)
++
diff --git a/meta/packages/glibc/glibc-2.4/dl-cache-libcmp.patch b/meta/packages/glibc/glibc-2.4/dl-cache-libcmp.patch
new file mode 100644
index 0000000000..2fedfa6db0
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/dl-cache-libcmp.patch
@@ -0,0 +1,10 @@
+--- glibc-2.4/elf/Versions.ark 2006-03-11 23:30:09.000000000 +0100
++++ glibc-2.4/elf/Versions 2006-03-11 23:31:44.000000000 +0100
+@@ -63,5 +63,7 @@
+ _dl_debug_state;
+ # Pointer protection.
+ __pointer_chk_guard;
++ # for ldconfig
++ _dl_cache_libcmp;
+ }
+ }
diff --git a/meta/packages/glibc/glibc-2.4/dyn-ldconfig-20041128.patch b/meta/packages/glibc/glibc-2.4/dyn-ldconfig-20041128.patch
new file mode 100644
index 0000000000..451b6d4afc
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/dyn-ldconfig-20041128.patch
@@ -0,0 +1,22 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libc/elf/Makefile~dyn-ldconfig-20041128
++++ libc/elf/Makefile
+@@ -118,12 +118,13 @@
+
+ ifeq (yes,$(use-ldconfig))
+ ifeq (yes,$(build-shared))
+-others-static += ldconfig
++#others-static += ldconfig
+ others += ldconfig
+ install-rootsbin += ldconfig
+
+ ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon
+ extra-objs += $(ldconfig-modules:=.o)
++CPPFLAGS-readlib.c = -DNOT_IN_libc=1
+
+ # To find xmalloc.c and xstrdup.c
+ vpath %.c ../locale/programs
diff --git a/meta/packages/glibc/glibc-2.4/dyn-ldconfig.patch b/meta/packages/glibc/glibc-2.4/dyn-ldconfig.patch
new file mode 100644
index 0000000000..1041965d05
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/dyn-ldconfig.patch
@@ -0,0 +1,62 @@
+--- elf/Makefile 13 Mar 2003 21:50:57 -0000 1.258
++++ elf/Makefile 27 Mar 2003 20:36:07 -0000
+@@ -109,12 +109,13 @@
+
+ ifeq (yes,$(use-ldconfig))
+ ifeq (yes,$(build-shared))
+-others-static += ldconfig
++#others-static += ldconfig
+ others += ldconfig
+ install-rootsbin += ldconfig
+
+ ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon
+ extra-objs += $(ldconfig-modules:=.o)
++CPPFLAGS-readlib.c = -DNOT_IN_libc=1
+
+ # To find xmalloc.c and xstrdup.c
+ vpath %.c ../locale/programs
+--- elf/ldconfig.c 13 Jan 2003 08:53:14 -0000 1.31
++++ elf/ldconfig.c 27 Mar 2003 20:36:09 -0000
+@@ -149,6 +149,9 @@
+ static int
+ is_hwcap_platform (const char *name)
+ {
++#if 1
++ return 0;
++#else
+ int hwcap_idx = _dl_string_hwcap (name);
+
+ if (hwcap_idx != -1 && ((1 << hwcap_idx) & hwcap_mask))
+@@ -164,6 +167,7 @@
+ #endif
+
+ return 0;
++#endif
+ }
+
+ /* Get hwcap (including platform) encoding of path. */
+@@ -175,6 +179,7 @@
+ uint64_t hwcap = 0;
+ uint64_t h;
+
++#if 0
+ size_t len;
+
+ len = strlen (str);
+@@ -210,6 +215,7 @@
+ *ptr = '\0';
+ }
+
++#endif
+ free (str);
+ return hwcap;
+ }
+--- elf/Versions.old 2004-06-26 13:18:35.000000000 +0100
++++ elf/Versions 2004-06-26 14:41:09.000000000 +0100
+@@ -54,5 +54,6 @@
+ _dl_get_tls_static_info; _dl_allocate_tls_init;
+ _dl_tls_setup; _dl_rtld_di_serinfo;
+ _dl_make_stack_executable;
++ _dl_cache_libcmp;
+ }
+ }
diff --git a/meta/packages/glibc/glibc-2.4/etc/ld.so.conf b/meta/packages/glibc/glibc-2.4/etc/ld.so.conf
new file mode 100644
index 0000000000..3f9b41aabb
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/etc/ld.so.conf
@@ -0,0 +1,3 @@
+/usr/local/lib
+/opt/QtPalmtop/lib
+
diff --git a/meta/packages/glibc/glibc-2.4/fixup-aeabi-syscalls.patch b/meta/packages/glibc/glibc-2.4/fixup-aeabi-syscalls.patch
new file mode 100644
index 0000000000..fb733b9194
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/fixup-aeabi-syscalls.patch
@@ -0,0 +1,329 @@
+Fix up ARM EABI for removed syscalls
+http://sourceware.org/ml/libc-ports/2006-03/msg00029.html
+
+Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/socket.S
+===================================================================
+--- glibc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/socket.S 2006-03-21 15:58:10.000000000 -0500
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+@@ -1,131 +0,0 @@
+-/* Copyright (C) 1995, 1996, 1997, 1998, 2003, 2005
+- Free Software Foundation, Inc.
+- This file is part of the GNU C Library.
+-
+- The GNU C 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.
+-
+- The GNU C Library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, write to the Free
+- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+- 02111-1307 USA. */
+-
+-#include <sysdep-cancel.h>
+-#include <socketcall.h>
+-
+-#define P(a, b) P2(a, b)
+-#define P2(a, b) a##b
+-
+- .text
+-/* The socket-oriented system calls are handled unusally in Linux.
+- They are all gated through the single `socketcall' system call number.
+- `socketcall' takes two arguments: the first is the subcode, specifying
+- which socket function is being called; and the second is a pointer to
+- the arguments to the specific function.
+-
+- The .S files for the other calls just #define socket and #include this. */
+-
+-#ifndef __socket
+-# ifndef NO_WEAK_ALIAS
+-# define __socket P(__,socket)
+-# else
+-# define __socket socket
+-# endif
+-#endif
+-
+-#define PUSHARGS_1 str a1, [sp, $-8]!; .pad #8
+-#define PUSHARGS_2 stmfd sp!, {a1, a2}; .pad #8
+-#define PUSHARGS_3 stmfd sp!, {a1, a2, a3, a4}; .pad #16 /* a4 pushed for padding */
+-#define PUSHARGS_4 stmfd sp!, {a1, a2, a3, a4}; .pad #16
+-#define PUSHARGS_5 stmfd sp!, {a1, a2, a3, a4}; .pad #16 /* Caller has already pushed arg 5 */
+-#define PUSHARGS_6 stmfd sp!, {a1, a2, a3, a4}; .pad #16
+-
+-#define POPARGS_1 add sp, sp, #8
+-#define POPARGS_2 add sp, sp, #8
+-#define POPARGS_3 add sp, sp, #16
+-#define POPARGS_4 add sp, sp, #16
+-#define POPARGS_5 add sp, sp, #16
+-#define POPARGS_6 add sp, sp, #16
+-
+-#ifndef NARGS
+-#define NARGS 3 /* If we were called with no wrapper, this is really socket() */
+-#endif
+-
+-#if defined NEED_CANCELLATION && defined CENABLE
+- PSEUDO_PROLOGUE
+-#endif
+-
+-.globl __socket
+-ENTRY (__socket)
+- .fnstart
+-
+- /* This code previously moved sp into ip and stored the args using
+- stmdb ip!, {a1-a4}. It did not modify sp, so the stack never had
+- to be restored after the syscall completed. It saved an
+- instruction and meant no stack cleanup work was required.
+-
+- This will not work in the case of a socket call being interrupted
+- by a signal. If the signal handler uses any stack the arguments
+- to socket will be trashed. The results of a restart of any
+- socket call are then unpredictable. */
+-
+- /* Push args onto the stack. */
+- P(PUSHARGS_,NARGS)
+-
+-#if defined NEED_CANCELLATION && defined CENABLE
+- SINGLE_THREAD_P
+- bne 1f
+-#endif
+-
+- /* Do the system call trap. */
+- mov a1, $P(SOCKOP_,socket)
+- mov a2, sp
+- DO_CALL (socketcall, 0)
+-
+- /* Pop args off the stack */
+- P(POPARGS_,NARGS)
+-
+- /* r0 is < 0 if there was an error. */
+- cmn r0, $124
+- RETINSTR(cc, r14)
+- b PLTJMP(SYSCALL_ERROR)
+-
+-#if defined NEED_CANCELLATION && defined CENABLE
+-1:
+- stmfd sp!, {r7, lr}
+- .save {r7, lr}
+- CENABLE
+- mov ip, r0
+-
+- mov r0, #P(SOCKOP_,socket)
+- add r1, sp, #8
+- mov r7, #SYS_ify(socketcall)
+- swi 0x0
+-
+- mov r7, r0
+- mov r0, ip
+- CDISABLE
+- mov r0, r7
+- ldmfd sp!, {r7, lr}
+-
+- P(POPARGS_,NARGS)
+-
+- /* r0 is < 0 if there was an error. */
+- cmn r0, $124
+- RETINSTR(cc, r14)
+- b PLTJMP(SYSCALL_ERROR)
+-#endif
+-
+- .fnend
+-PSEUDO_END (__socket)
+-
+-#ifndef NO_WEAK_ALIAS
+-weak_alias (__socket, socket)
+-#endif
+Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/syscalls.list 2006-03-21 15:58:46.000000000 -0500
+@@ -0,0 +1,34 @@
++# File name Caller Syscall name # args Strong name Weak names
++
++# semaphore and shm system calls
++msgctl - msgctl i:iip __msgctl msgctl
++msgget - msgget i:ii __msgget msgget
++msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv
++msgsnd - msgsnd Ci:ibni __msgsnd msgsnd
++shmat - shmat i:ipi __shmat shmat
++shmctl - shmctl i:iip __shmctl shmctl
++shmdt - shmdt i:s __shmdt shmdt
++shmget - shmget i:iii __shmget shmget
++semop - semop i:ipi __semop semop
++semtimedop - semtimedop i:ipip semtimedop
++semget - semget i:iii __semget semget
++semctl - semctl i:iiii __semctl semctl
++
++# proper socket implementations:
++accept - accept Ci:iBN __libc_accept __accept accept
++bind - bind i:ipi __bind bind
++connect - connect Ci:ipi __libc_connect __connect_internal __connect connect
++getpeername - getpeername i:ipp __getpeername getpeername
++getsockname - getsockname i:ipp __getsockname getsockname
++getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
++listen - listen i:ii __listen listen
++recv - recv Ci:ibni __libc_recv __recv recv
++recvfrom - recvfrom Ci:ibniBN __libc_recvfrom __recvfrom recvfrom
++recvmsg - recvmsg Ci:ipi __libc_recvmsg __recvmsg recvmsg
++send - send Ci:ibni __libc_send __send send
++sendmsg - sendmsg Ci:ipi __libc_sendmsg __sendmsg sendmsg
++sendto - sendto Ci:ibnibn __libc_sendto __sendto sendto
++setsockopt - setsockopt i:iiibn __setsockopt setsockopt
++shutdown - shutdown i:ii __shutdown shutdown
++socket - socket i:iii __socket socket
++socketpair - socketpair i:iiif __socketpair socketpair
+Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/linuxthreads/sysdep-cancel.h
+===================================================================
+--- glibc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/linuxthreads/sysdep-cancel.h 2006-03-21 15:58:10.000000000 -0500
++++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/linuxthreads/sysdep-cancel.h 2006-03-21 15:58:46.000000000 -0500
+@@ -53,9 +53,9 @@
+ UNDOARGS_##args; \
+ cmn r0, $4096;
+
+-/* DOARGS pushes four bytes on the stack for five arguments, and nothing
+- otherwise. In order to preserve doubleword alignment, sometimes we must
+- save an extra register. */
++/* DOARGS pushes four bytes on the stack for five arguments, eight bytes for
++ six arguments, and nothing for fewer. In order to preserve doubleword
++ alignment, sometimes we must save an extra register. */
+
+ # define DOCARGS_0 stmfd sp!, {r7, lr}
+ # define UNDOCARGS_0
+@@ -81,6 +81,10 @@
+ # define UNDOCARGS_5 ldmfd sp!, {r0, r1, r2, r3}
+ # define RESTORE_LR_5 ldmfd sp!, {r4, r7, lr}
+
++# define DOCARGS_6 stmfd sp!, {r0, r1, r2, r3, r7, lr}
++# define UNDOCARGS_6 ldmfd sp!, {r0, r1, r2, r3}
++# define RESTORE_LR_6 RESTORE_LR_0
++
+ # ifdef IS_IN_libpthread
+ # define CENABLE bl PLTJMP(__pthread_enable_asynccancel)
+ # define CDISABLE bl PLTJMP(__pthread_disable_asynccancel)
+Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h
+===================================================================
+--- glibc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h 2006-03-21 15:58:10.000000000 -0500
++++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/sysdep-cancel.h 2006-03-21 15:58:46.000000000 -0500
+@@ -64,9 +64,9 @@
+ UNDOARGS_##args; \
+ cmn r0, $4096;
+
+-/* DOARGS pushes four bytes on the stack for five arguments, and nothing
+- otherwise. In order to preserve doubleword alignment, sometimes we must
+- save an extra register. */
++/* DOARGS pushes four bytes on the stack for five arguments, eight bytes for
++ six arguments, and nothing for fewer. In order to preserve doubleword
++ alignment, sometimes we must save an extra register. */
+
+ # define RESTART_UNWIND .fnend; .fnstart; .save {r7, lr}
+
+@@ -94,6 +94,10 @@
+ # define UNDOCARGS_5 ldmfd sp!, {r0, r1, r2, r3}; .fnend; .fnstart; .save {r4}; .save {r7, lr}; .pad #4
+ # define RESTORE_LR_5 ldmfd sp!, {r4, r7, lr}
+
++# define DOCARGS_6 .save {r4, r5}; stmfd sp!, {r0, r1, r2, r3, r7, lr}; .save {r7, lr}; .pad #20
++# define UNDOCARGS_6 ldmfd sp!, {r0, r1, r2, r3}; .fnend; .fnstart; .save {r4, r5}; .save {r7, lr}
++# define RESTORE_LR_6 RESTORE_LR_0
++
+ # ifdef IS_IN_libpthread
+ # define CENABLE bl PLTJMP(__pthread_enable_asynccancel)
+ # define CDISABLE bl PLTJMP(__pthread_disable_asynccancel)
+Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h
+===================================================================
+--- glibc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h 2006-03-21 15:58:10.000000000 -0500
++++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h 2006-03-21 15:58:46.000000000 -0500
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005
++/* Copyright (C) 2005, 2006
+ Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+@@ -29,6 +29,12 @@
+ # error Kernel headers are too old
+ #endif
+
++/* Don't use stime, even if the kernel headers define it. We have
++ settimeofday, and some EABI kernels have removed stime. Similarly
++ use setitimer to implement alarm. */
++#undef __NR_stime
++#undef __NR_alarm
++
+ /* The ARM EABI user interface passes the syscall number in r7, instead
+ of in the swi. This is more efficient, because the kernel does not need
+ to fetch the swi from memory to find out the number; which can be painful
+Index: glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/umount.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/ports/sysdeps/unix/sysv/linux/arm/eabi/umount.c 2006-03-21 15:58:46.000000000 -0500
+@@ -0,0 +1,31 @@
++/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by David Huggins-Daines <dhd@debian.org>, 2000.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++/* Since we don't have an oldumount system call, do what the kernel
++ does down here. */
++
++extern long int __umount2 (const char *name, int flags);
++
++long int
++__umount (const char *name)
++{
++ return __umount2 (name, 0);
++}
++
++weak_alias (__umount, umount);
+Index: glibc/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/ports/sysdeps/unix/sysv/linux/arm/kernel-features.h 2006-03-20 17:26:58.000000000 -0500
+@@ -0,0 +1,31 @@
++/* Set flags signalling availability of kernel features based on given
++ kernel version number.
++ Copyright (C) 2006 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++/* The utimes syscall was added before 2.6.1. */
++#if __LINUX_KERNEL_VERSION >= 132609
++# define __ASSUME_UTIMES 1
++#endif
++
++/* The new getrlimit syscall was added sometime before 2.4.6. */
++#if __LINUX_KERNEL_VERSION >= 132102
++#define __ASSUME_NEW_GETRLIMIT_SYSCALL 1
++#endif
++
++#include_next <kernel-features.h>
diff --git a/meta/packages/glibc/glibc-2.4/generic-bits_select.h b/meta/packages/glibc/glibc-2.4/generic-bits_select.h
new file mode 100644
index 0000000000..47e7dedc30
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/generic-bits_select.h
@@ -0,0 +1,35 @@
+/* Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C 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.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _SYS_SELECT_H
+# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
+#endif
+
+
+/* We don't use `memset' because this would require a prototype and
+ the array isn't too big. */
+#define __FD_ZERO(s) \
+ do { \
+ unsigned int __i; \
+ fd_set *__arr = (s); \
+ for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
+ __FDS_BITS (__arr)[__i] = 0; \
+ } while (0)
+#define __FD_SET(d, s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
+#define __FD_CLR(d, s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
+#define __FD_ISSET(d, s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0)
diff --git a/meta/packages/glibc/glibc-2.4/generic-bits_time.h b/meta/packages/glibc/glibc-2.4/generic-bits_time.h
new file mode 100644
index 0000000000..b3184d1de9
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/generic-bits_time.h
@@ -0,0 +1,75 @@
+/* System-dependent timing definitions. Generic version.
+ Copyright (C) 1996,1997,1999-2002,2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C 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.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/*
+ * Never include this file directly; use <time.h> instead.
+ */
+
+#ifndef __need_timeval
+# ifndef _BITS_TIME_H
+# define _BITS_TIME_H 1
+
+/* ISO/IEC 9899:1990 7.12.1: <time.h>
+ The macro `CLOCKS_PER_SEC' is the number per second of the value
+ returned by the `clock' function. */
+/* CAE XSH, Issue 4, Version 2: <time.h>
+ The value of CLOCKS_PER_SEC is required to be 1 million on all
+ XSI-conformant systems. */
+# define CLOCKS_PER_SEC 1000000l
+
+# if !defined __STRICT_ANSI__ && !defined __USE_XOPEN2K
+/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK
+ presents the real value for clock ticks per second for the system. */
+# include <bits/types.h>
+extern long int __sysconf (int);
+# define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */
+# endif
+
+# ifdef __USE_POSIX199309
+/* Identifier for system-wide realtime clock. */
+# define CLOCK_REALTIME 0
+/* Monotonic system-wide clock. */
+# define CLOCK_MONOTONIC 1
+/* High-resolution timer from the CPU. */
+# define CLOCK_PROCESS_CPUTIME_ID 2
+/* Thread-specific CPU-time clock. */
+# define CLOCK_THREAD_CPUTIME_ID 3
+
+/* Flag to indicate time is absolute. */
+# define TIMER_ABSTIME 1
+# endif
+
+# endif /* bits/time.h */
+#endif
+
+#ifdef __need_timeval
+# undef __need_timeval
+# ifndef _STRUCT_TIMEVAL
+# define _STRUCT_TIMEVAL 1
+# include <bits/types.h>
+
+/* A time value that is accurate to the nearest
+ microsecond but also has a range of years. */
+struct timeval
+ {
+ __time_t tv_sec; /* Seconds. */
+ __suseconds_t tv_usec; /* Microseconds. */
+ };
+# endif /* struct timeval */
+#endif /* need timeval */
diff --git a/meta/packages/glibc/glibc-2.4/generic-bits_types.h b/meta/packages/glibc/glibc-2.4/generic-bits_types.h
new file mode 100644
index 0000000000..65c8a9fe90
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/generic-bits_types.h
@@ -0,0 +1,200 @@
+/* bits/types.h -- definitions of __*_t types underlying *_t types.
+ Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C 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.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/*
+ * Never include this file directly; use <sys/types.h> instead.
+ */
+
+#ifndef _BITS_TYPES_H
+#define _BITS_TYPES_H 1
+
+#include <features.h>
+#include <bits/wordsize.h>
+
+#define __need_size_t
+#include <stddef.h>
+
+/* Convenience types. */
+typedef unsigned char __u_char;
+typedef unsigned short int __u_short;
+typedef unsigned int __u_int;
+typedef unsigned long int __u_long;
+
+/* Fixed-size types, underlying types depend on word size and compiler. */
+typedef signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef signed short int __int16_t;
+typedef unsigned short int __uint16_t;
+typedef signed int __int32_t;
+typedef unsigned int __uint32_t;
+#if __WORDSIZE == 64
+typedef signed long int __int64_t;
+typedef unsigned long int __uint64_t;
+#elif defined __GLIBC_HAVE_LONG_LONG
+__extension__ typedef signed long long int __int64_t;
+__extension__ typedef unsigned long long int __uint64_t;
+#endif
+
+/* quad_t is also 64 bits. */
+#if __WORDSIZE == 64
+typedef long int __quad_t;
+typedef unsigned long int __u_quad_t;
+#elif defined __GLIBC_HAVE_LONG_LONG
+__extension__ typedef long long int __quad_t;
+__extension__ typedef unsigned long long int __u_quad_t;
+#else
+typedef struct
+{
+ long __val[2];
+} __quad_t;
+typedef struct
+{
+ __u_long __val[2];
+} __u_quad_t;
+#endif
+
+
+/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
+ macros for each of the OS types we define below. The definitions
+ of those macros must use the following macros for underlying types.
+ We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
+ variants of each of the following integer types on this machine.
+
+ 16 -- "natural" 16-bit type (always short)
+ 32 -- "natural" 32-bit type (always int)
+ 64 -- "natural" 64-bit type (long or long long)
+ LONG32 -- 32-bit type, traditionally long
+ QUAD -- 64-bit type, always long long
+ WORD -- natural type of __WORDSIZE bits (int or long)
+ LONGWORD -- type of __WORDSIZE bits, traditionally long
+
+ We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+ conventional uses of `long' or `long long' type modifiers match the
+ types we define, even when a less-adorned type would be the same size.
+ This matters for (somewhat) portably writing printf/scanf formats for
+ these types, where using the appropriate l or ll format modifiers can
+ make the typedefs and the formats match up across all GNU platforms. If
+ we used `long' when it's 64 bits where `long long' is expected, then the
+ compiler would warn about the formats not matching the argument types,
+ and the programmer changing them to shut up the compiler would break the
+ program's portability.
+
+ Here we assume what is presently the case in all the GCC configurations
+ we support: long long is always 64 bits, long is always word/address size,
+ and int is always 32 bits. */
+
+#define __S16_TYPE short int
+#define __U16_TYPE unsigned short int
+#define __S32_TYPE int
+#define __U32_TYPE unsigned int
+#define __SLONGWORD_TYPE long int
+#define __ULONGWORD_TYPE unsigned long int
+#if __WORDSIZE == 32
+# define __SQUAD_TYPE __quad_t
+# define __UQUAD_TYPE __u_quad_t
+# define __SWORD_TYPE int
+# define __UWORD_TYPE unsigned int
+# define __SLONG32_TYPE long int
+# define __ULONG32_TYPE unsigned long int
+# define __S64_TYPE __quad_t
+# define __U64_TYPE __u_quad_t
+/* We want __extension__ before typedef's that use nonstandard base types
+ such as `long long' in C89 mode. */
+# define __STD_TYPE __extension__ typedef
+#elif __WORDSIZE == 64
+# define __SQUAD_TYPE long int
+# define __UQUAD_TYPE unsigned long int
+# define __SWORD_TYPE long int
+# define __UWORD_TYPE unsigned long int
+# define __SLONG32_TYPE int
+# define __ULONG32_TYPE unsigned int
+# define __S64_TYPE long int
+# define __U64_TYPE unsigned long int
+/* No need to mark the typedef with __extension__. */
+# define __STD_TYPE typedef
+#else
+# error
+#endif
+#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */
+
+
+__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
+__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */
+__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */
+__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */
+__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/
+__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */
+__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */
+__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */
+__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */
+__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */
+__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */
+__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */
+__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */
+__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */
+__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
+__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
+__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
+__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
+
+__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
+__STD_TYPE __SWBLK_T_TYPE __swblk_t; /* Type of a swap block maybe? */
+__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
+
+/* Clock ID used in clock and timer functions. */
+__STD_TYPE __CLOCKID_T_TYPE __clockid_t;
+
+/* Timer ID returned by `timer_create'. */
+__STD_TYPE __TIMER_T_TYPE __timer_t;
+
+/* Type to represent block size. */
+__STD_TYPE __BLKSIZE_T_TYPE __blksize_t;
+
+/* Types from the Large File Support interface. */
+
+/* Type to count number of disk blocks. */
+__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t;
+__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t;
+
+/* Type to count file system blocks. */
+__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t;
+__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
+
+/* Type to count file system nodes. */
+__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
+__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
+
+__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */
+
+/* These few don't really vary by system, they always correspond
+ to one of the other defined types. */
+typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */
+typedef __quad_t *__qaddr_t;
+typedef char *__caddr_t;
+
+/* Duplicates info from stdint.h but this is used in unistd.h. */
+__STD_TYPE __SWORD_TYPE __intptr_t;
+
+/* Duplicate info from sys/socket.h. */
+__STD_TYPE __U32_TYPE __socklen_t;
+
+
+#undef __STD_TYPE
+
+#endif /* bits/types.h */
diff --git a/meta/packages/glibc/glibc-2.4/generic-bits_typesizes.h b/meta/packages/glibc/glibc-2.4/generic-bits_typesizes.h
new file mode 100644
index 0000000000..e9226c4174
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/generic-bits_typesizes.h
@@ -0,0 +1,66 @@
+/* bits/typesizes.h -- underlying types for *_t. Generic version.
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C 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.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef _BITS_TYPESIZES_H
+#define _BITS_TYPESIZES_H 1
+
+/* See <bits/types.h> for the meaning of these macros. This file exists so
+ that <bits/types.h> need not vary across different GNU platforms. */
+
+#define __DEV_T_TYPE __UQUAD_TYPE
+#define __UID_T_TYPE __U32_TYPE
+#define __GID_T_TYPE __U32_TYPE
+#define __INO_T_TYPE __ULONGWORD_TYPE
+#define __INO64_T_TYPE __UQUAD_TYPE
+#define __MODE_T_TYPE __U32_TYPE
+#define __NLINK_T_TYPE __UWORD_TYPE
+#define __OFF_T_TYPE __SLONGWORD_TYPE
+#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __PID_T_TYPE __S32_TYPE
+#define __RLIM_T_TYPE __ULONGWORD_TYPE
+#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
+#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
+#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
+#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __ID_T_TYPE __U32_TYPE
+#define __CLOCK_T_TYPE __SLONGWORD_TYPE
+#define __TIME_T_TYPE __SLONGWORD_TYPE
+#define __USECONDS_T_TYPE __U32_TYPE
+#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
+#define __DADDR_T_TYPE __S32_TYPE
+#define __SWBLK_T_TYPE __SLONGWORD_TYPE
+#define __KEY_T_TYPE __S32_TYPE
+#define __CLOCKID_T_TYPE __S32_TYPE
+#define __TIMER_T_TYPE void *
+#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
+#define __FSID_T_TYPE struct { int __val[2]; }
+#define __SSIZE_T_TYPE __SWORD_TYPE
+
+/* Number of descriptors that can fit in an `fd_set'. */
+#define __FD_SETSIZE 1024
+
+
+#endif /* bits/typesizes.h */
diff --git a/meta/packages/glibc/glibc-2.4/glibc-2.4-compile.patch b/meta/packages/glibc/glibc-2.4/glibc-2.4-compile.patch
new file mode 100644
index 0000000000..ea9f55ae7f
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/glibc-2.4-compile.patch
@@ -0,0 +1,29 @@
+--- glibc-2.4/csu/libc-start.c.ark 2006-03-13 03:07:15.000000000 +0100
++++ glibc-2.4/csu/libc-start.c 2006-03-13 03:08:51.000000000 +0100
+@@ -59,6 +59,11 @@
+ # define LIBC_START_MAIN BP_SYM (__libc_start_main)
+ #endif
+
++#ifdef SHARED
++#include <pthread-functions.h>
++extern struct pthread_functions __libc_pthread_functions;
++#endif
++
+ #ifdef MAIN_AUXVEC_ARG
+ /* main gets passed a pointer to the auxiliary. */
+ # define MAIN_AUXVEC_DECL , void *
+--- glibc-2.4/nscd/Makefile.ark 2006-03-13 14:05:47.000000000 +0100
++++ glibc-2.4/nscd/Makefile 2006-03-13 14:06:12.000000000 +0100
+@@ -67,8 +67,10 @@
+ # contains only the basic kernel interface headers, not something like
+ # libselinux. So the simplest thing is to presume that the standard
+ # system headers will be ok for this file.
+-$(objpfx)nscd_stat.o: sysincludes = # nothing
+-$(objpfx)selinux.o: sysincludes = # nothing
++# Except, of course, this breaks crosscompiling with kernel headers in
++# a nonstandard location...
++#$(objpfx)nscd_stat.o: sysincludes = # nothing
++#$(objpfx)selinux.o: sysincludes = # nothing
+
+ distribute := nscd.h nscd-client.h dbg_log.h \
+ $(addsuffix .c, $(filter-out xmalloc,$(all-nscd-modules))) \
diff --git a/meta/packages/glibc/glibc-2.4/ldsocache-varrun.patch b/meta/packages/glibc/glibc-2.4/ldsocache-varrun.patch
new file mode 100644
index 0000000000..9994d4f879
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/ldsocache-varrun.patch
@@ -0,0 +1,18 @@
+This patch moves ld.so.cache from /etc to /var/run. This is for devices
+where /etc is JFFS2 or CRAMFS but /var is a ramdisk.
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libc/sysdeps/generic/dl-cache.h~ldsocache-varrun
++++ libc/sysdeps/generic/dl-cache.h
+@@ -29,7 +29,7 @@
+ #endif
+
+ #ifndef LD_SO_CACHE
+-# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
++# define LD_SO_CACHE "/var/run/ld.so.cache"
+ #endif
+
+ #ifndef add_system_dir
diff --git a/meta/packages/glibc/glibc-2.4/nptl-crosscompile.patch b/meta/packages/glibc/glibc-2.4/nptl-crosscompile.patch
new file mode 100644
index 0000000000..18a46ad4f1
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/nptl-crosscompile.patch
@@ -0,0 +1,26 @@
+--- glibc-2.4/nptl/sysdeps/pthread/configure.in.ark 2006-03-12 00:41:40.000000000 +0100
++++ glibc-2.4/nptl/sysdeps/pthread/configure.in 2006-03-12 00:44:08.000000000 +0100
+@@ -45,5 +45,6 @@
+ AC_MSG_ERROR([the compiler must support C cleanup handling])
+ fi
+ else
+- AC_MSG_ERROR(forced unwind support is required)
++ AC_MSG_WARN([forced unwind support is required, can't be verified while crosscompiling])
++ AC_DEFINE(HAVE_FORCED_UNWIND)
+ fi
+--- glibc-2.4/nptl/sysdeps/pthread/configure.ark 2006-03-12 00:42:47.000000000 +0100
++++ glibc-2.4/nptl/sysdeps/pthread/configure 2006-03-12 00:44:08.000000000 +0100
+@@ -153,7 +153,10 @@
+ { (exit 1); exit 1; }; }
+ fi
+ else
+- { { echo "$as_me:$LINENO: error: forced unwind support is required" >&5
+-echo "$as_me: error: forced unwind support is required" >&2;}
+- { (exit 1); exit 1; }; }
++ { echo "$as_me:$LINENO: WARNING: forced unwind support is required, can't be verified while crosscompiling" >&5
++echo "$as_me: WARNING: forced unwind support is required, can't be verified while crosscompiling" >&2;}
++ cat >>confdefs.h <<\_ACEOF
++#define HAVE_FORCED_UNWIND 1
++_ACEOF
++
+ fi
diff --git a/meta/packages/glibc/glibc-cvs-2.3.5/arm-audit.patch b/meta/packages/glibc/glibc-cvs-2.3.5/arm-audit.patch
new file mode 100644
index 0000000000..2404f755e7
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs-2.3.5/arm-audit.patch
@@ -0,0 +1,58 @@
+2005-05-09 Daniel Jacobowitz <dan@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
+
+ * sysdeps/generic/ldsodefs.h (struct audit_ifaces): Add ARM entries.
+ * elf/tst-auditmod1.c: Add ARM definitions.
+
+Index: glibc/sysdeps/generic/ldsodefs.h
+===================================================================
+--- glibc.orig/sysdeps/generic/ldsodefs.h 2005-04-05 17:36:52.000000000 -0400
++++ glibc/sysdeps/generic/ldsodefs.h 2005-05-06 15:54:44.000000000 -0400
+@@ -203,6 +203,8 @@ struct La_sparc32_regs;
+ struct La_sparc32_retval;
+ struct La_sparc64_regs;
+ struct La_sparc64_retval;
++struct La_arm_regs;
++struct La_arm_retval;
+
+ struct audit_ifaces
+ {
+@@ -284,6 +286,10 @@ struct audit_ifaces
+ const struct La_sparc64_regs *,
+ unsigned int *, const char *name,
+ long int *framesizep);
++ Elf32_Addr (*arm_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
++ uintptr_t *, struct La_arm_regs *,
++ unsigned int *, const char *name,
++ long int *framesizep);
+ };
+ union
+ {
+@@ -352,6 +358,9 @@ struct audit_ifaces
+ const struct La_sparc32_regs *,
+ struct La_sparc32_retval *,
+ const char *);
++ unsigned int (*arm_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
++ uintptr_t *, const struct La_arm_regs *,
++ struct La_arm_retval *, const char *);
+ };
+ unsigned int (*objclose) (uintptr_t *);
+
+Index: glibc/elf/tst-auditmod1.c
+===================================================================
+--- glibc.orig/elf/tst-auditmod1.c 2005-04-05 17:36:53.000000000 -0400
++++ glibc/elf/tst-auditmod1.c 2005-05-06 15:53:28.000000000 -0400
+@@ -192,6 +192,12 @@ la_symbind64 (Elf64_Sym *sym, unsigned i
+ # define La_regs La_sparc64_regs
+ # define La_retval La_sparc64_retval
+ # define int_retval lrv_reg[0]
++#elif __arm__
++# define pltenter la_arm_gnu_pltenter
++# define pltext la_arm_gnu_pltexit
++# define La_regs La_arm_regs
++# define La_retval La_arm_retval
++# define int_retval lrv_reg[0]
+ #else
+ # error "architecture specific code needed"
+ #endif
+
diff --git a/meta/packages/glibc/glibc-cvs-2.3.5/arm-audit2.patch b/meta/packages/glibc/glibc-cvs-2.3.5/arm-audit2.patch
new file mode 100644
index 0000000000..855632c53e
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs-2.3.5/arm-audit2.patch
@@ -0,0 +1,18 @@
+Index: ports/sysdeps/arm/dl-machine.h
+===================================================================
+RCS file: /cvs/glibc/ports/sysdeps/arm/dl-machine.h,v
+retrieving revision 1.53
+diff -u -r1.53 dl-machine.h
+--- libc/ports/sysdeps/arm/dl-machine.h 10 Jun 2005 11:33:52 -0000 1.53
++++ libc/ports/sysdeps/arm/dl-machine.h 11 Jun 2005 08:58:04 -0000
+@@ -243,6 +243,10 @@
+ Prelinked libraries may use Elf32_Rela though. */
+ #define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
+
++/* Names of the architecture-specific auditing callback functions. */
++#define ARCH_LA_PLTENTER arm_gnu_pltenter
++#define ARCH_LA_PLTEXIT arm_gnu_pltexit
++
+ #ifdef RESOLVE_MAP
+
+ /* Deal with an out-of-range PC24 reloc. */
diff --git a/meta/packages/glibc/glibc-cvs-2.3.5/arm-longlong.patch b/meta/packages/glibc/glibc-cvs-2.3.5/arm-longlong.patch
new file mode 100644
index 0000000000..a0b2ed0039
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs-2.3.5/arm-longlong.patch
@@ -0,0 +1,59 @@
+--- stdlib/longlong.h~ 2002-09-29 18:45:58.000000000 +0100
++++ stdlib/longlong.h 2004-03-20 19:16:44.000000000 +0000
+@@ -210,6 +210,14 @@
+ "rI" ((USItype) (bh)), \
+ "r" ((USItype) (al)), \
+ "rI" ((USItype) (bl)))
++/* v3m and all higher arches have long multiply support. */
++#if !defined(__ARM_ARCH_2__) && !defined(__ARM_ARCH_3__)
++#define umul_ppmm(xh, xl, a, b) \
++ __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
++#define UMUL_TIME 5
++#define smul_ppmm(xh, xl, a, b) \
++ __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
++#else
+ #define umul_ppmm(xh, xl, a, b) \
+ {register USItype __t0, __t1, __t2; \
+ __asm__ ("%@ Inlined umul_ppmm\n" \
+@@ -231,7 +239,14 @@
+ : "r" ((USItype) (a)), \
+ "r" ((USItype) (b)));}
+ #define UMUL_TIME 20
++#endif
+ #define UDIV_TIME 100
++
++#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
++#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X))
++#define COUNT_LEADING_ZEROS_0 32
++#endif
++
+ #endif /* __arm__ */
+
+ #if defined (__hppa) && W_TYPE_SIZE == 32
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ ports/sysdeps/arm/mp_clz_tab.c 2004-03-20 19:24:26.000000000 +0000
+@@ -0,0 +1,24 @@
++/* __clz_tab -- support for longlong.h
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
++/* Nothing required. */
++#else
++#include <sysdeps/generic/mp_clz_tab.c>
++#endif
diff --git a/meta/packages/glibc/glibc-cvs-2.3.5/arm-memcpy.patch b/meta/packages/glibc/glibc-cvs-2.3.5/arm-memcpy.patch
new file mode 100644
index 0000000000..db1120058b
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs-2.3.5/arm-memcpy.patch
@@ -0,0 +1,758 @@
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ libc/ports/sysdeps/arm/memmove.S 2004-03-20 18:37:23.000000000 +0000
+@@ -0,0 +1,251 @@
++/*
++ * Optimized memmove implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++
++/* char * memmove (char *dst, const char *src) */
++ENTRY(memmove)
++ subs ip, r0, r1
++ cmphi r2, ip
++ bls memcpy(PLT)
++
++ stmfd sp!, {r0, r4, lr}
++ add r1, r1, r2
++ add r0, r0, r2
++ subs r2, r2, #4
++ blt 25f
++ ands ip, r0, #3
++ PLD( pld [r1, #-4] )
++ bne 26f
++ ands ip, r1, #3
++ bne 27f
++
++19: subs r2, r2, #4
++ blt 24f
++ subs r2, r2, #8
++ blt 23f
++ subs r2, r2, #16
++ blt 22f
++
++ PLD( pld [r1, #-32] )
++ PLD( subs r2, r2, #96 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 21f )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #-64] )
++ PLD( beq 20f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #-96] )
++ PLD( blt 20f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgedb r1!, {r3 - r6} )
++ PLD( stmgedb r0!, {r3 - r6} )
++ PLD( beq 20f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [r1, #-4]! )
++ PLD( ldrge r4, [r1, #-4]! )
++ PLD( ldrgt r5, [r1, #-4]! )
++ PLD( str r3, [r0, #-4]! )
++ PLD( strge r4, [r0, #-4]! )
++ PLD( strgt r5, [r0, #-4]! )
++
++20: PLD( pld [r1, #-96] )
++ PLD( pld [r1, #-128] )
++21: ldmdb r1!, {r3, r4, ip, lr}
++ subs r2, r2, #32
++ stmdb r0!, {r3, r4, ip, lr}
++ ldmdb r1!, {r3, r4, ip, lr}
++ stmgedb r0!, {r3, r4, ip, lr}
++ ldmgedb r1!, {r3, r4, ip, lr}
++ stmgedb r0!, {r3, r4, ip, lr}
++ ldmgedb r1!, {r3, r4, ip, lr}
++ subges r2, r2, #32
++ stmdb r0!, {r3, r4, ip, lr}
++ bge 20b
++ PLD( cmn r2, #96 )
++ PLD( bge 21b )
++ PLD( add r2, r2, #96 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r0, r4, pc}
++
++ tst r2, #16
++22: ldmnedb r1!, {r3, r4, ip, lr}
++ stmnedb r0!, {r3, r4, ip, lr}
++
++ tst r2, #8
++23: ldmnedb r1!, {r3, r4}
++ stmnedb r0!, {r3, r4}
++
++ tst r2, #4
++24: ldrne r3, [r1, #-4]!
++ strne r3, [r0, #-4]!
++
++25: ands r2, r2, #3
++ ldmeqfd sp!, {r0, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [r1, #-1]
++ ldrgeb r4, [r1, #-2]
++ ldrgtb ip, [r1, #-3]
++ strb r3, [r0, #-1]
++ strgeb r4, [r0, #-2]
++ strgtb ip, [r0, #-3]
++ ldmfd sp!, {r0, r4, pc}
++
++26: cmp ip, #2
++ ldrb r3, [r1, #-1]!
++ ldrgeb r4, [r1, #-1]!
++ ldrgtb lr, [r1, #-1]!
++ strb r3, [r0, #-1]!
++ strgeb r4, [r0, #-1]!
++ strgtb lr, [r0, #-1]!
++ subs r2, r2, ip
++ blt 25b
++ ands ip, r1, #3
++ beq 19b
++
++27: bic r1, r1, #3
++ cmp ip, #2
++ ldr r3, [r1]
++ beq 35f
++ blt 36f
++
++
++ .macro backward_copy_shift push pull
++
++ cmp r2, #12
++ PLD( pld [r1, #-4] )
++ blt 33f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 31f
++
++ PLD( subs r2, r2, #96 )
++ PLD( pld [r1, #-32] )
++ PLD( blt 30f )
++ PLD( pld [r1, #-64] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #-96] )
++ PLD( beq 29f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #-128] )
++ PLD( blt 29f )
++ PLD( sub r2, r2, ip )
++28: PLD( mov r4, r3, push #\push )
++ PLD( ldr r3, [r1, #-4]! )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r4, r4, r3, pull #\pull )
++ PLD( str r4, [r0, #-4]! )
++ PLD( bgt 28b )
++
++29: PLD( pld [r1, #-128] )
++30: mov lr, r3, push #\push
++ ldmdb r1!, {r3 - r9, ip}
++ subs r2, r2, #32
++ orr lr, lr, ip, pull #\pull
++ mov ip, ip, push #\push
++ orr ip, ip, r9, pull #\pull
++ mov r9, r9, push #\push
++ orr r9, r9, r8, pull #\pull
++ mov r8, r8, push #\push
++ orr r8, r8, r7, pull #\pull
++ mov r7, r7, push #\push
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb r0!, {r4 - r9, ip, lr}
++ bge 29b
++ PLD( cmn r2, #96 )
++ PLD( bge 30b )
++ PLD( add r2, r2, #96 )
++ cmn r2, #16
++ blt 32f
++31: mov r7, r3, push #\push
++ ldmdb r1!, {r3 - r6}
++ sub r2, r2, #16
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb r0!, {r4 - r7}
++32: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 34f
++33: mov r4, r3, push #\push
++ ldr r3, [r1, #-4]!
++ subs r2, r2, #4
++ orr r4, r4, r3, pull #\pull
++ str r4, [r0, #-4]!
++ bge 33b
++34:
++ .endm
++
++
++ backward_copy_shift push=8 pull=24
++ add r1, r1, #3
++ b 25b
++
++35: backward_copy_shift push=16 pull=16
++ add r1, r1, #2
++ b 25b
++
++36: backward_copy_shift push=24 pull=8
++ add r1, r1, #1
++ b 25b
++
++ .size memmove, . - memmove
++END(memmove)
++libc_hidden_builtin_def (memmove)
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ libc/ports/sysdeps/arm/bcopy.S 2004-03-20 18:37:48.000000000 +0000
+@@ -0,0 +1,255 @@
++/*
++ * Optimized memmove implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++dst .req r1
++src .req r0
++
++/* void *bcopy (const char *src, char *dst, size_t size) */
++ENTRY(bcopy)
++ subs ip, dst, src
++ cmphi r2, ip
++ movls r3, r0
++ movls r0, r1
++ movls r1, r3
++ bls memcpy(PLT)
++
++ stmfd sp!, {r4, lr}
++ add src, src, r2
++ add dst, dst, r2
++ subs r2, r2, #4
++ blt 25f
++ ands ip, dst, #3
++ PLD( pld [src, #-4] )
++ bne 26f
++ ands ip, src, #3
++ bne 27f
++
++19: subs r2, r2, #4
++ blt 24f
++ subs r2, r2, #8
++ blt 23f
++ subs r2, r2, #16
++ blt 22f
++
++ PLD( pld [src, #-32] )
++ PLD( subs r2, r2, #96 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 21f )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, src, #31 )
++ PLD( pld [src, #-64] )
++ PLD( beq 20f )
++ PLD( cmp r2, ip )
++ PLD( pld [src, #-96] )
++ PLD( blt 20f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgedb src!, {r3 - r6} )
++ PLD( stmgedb dst!, {r3 - r6} )
++ PLD( beq 20f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [src, #-4]! )
++ PLD( ldrge r4, [src, #-4]! )
++ PLD( ldrgt r5, [src, #-4]! )
++ PLD( str r3, [dst, #-4]! )
++ PLD( strge r4, [dst, #-4]! )
++ PLD( strgt r5, [dst, #-4]! )
++
++20: PLD( pld [src, #-96] )
++ PLD( pld [src, #-128] )
++21: ldmdb src!, {r3, r4, ip, lr}
++ subs r2, r2, #32
++ stmdb dst!, {r3, r4, ip, lr}
++ ldmdb src!, {r3, r4, ip, lr}
++ stmgedb dst!, {r3, r4, ip, lr}
++ ldmgedb src!, {r3, r4, ip, lr}
++ stmgedb dst!, {r3, r4, ip, lr}
++ ldmgedb src!, {r3, r4, ip, lr}
++ subges r2, r2, #32
++ stmdb dst!, {r3, r4, ip, lr}
++ bge 20b
++ PLD( cmn r2, #96 )
++ PLD( bge 21b )
++ PLD( add r2, r2, #96 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r4, pc}
++
++ tst r2, #16
++22: ldmnedb src!, {r3, r4, ip, lr}
++ stmnedb dst!, {r3, r4, ip, lr}
++
++ tst r2, #8
++23: ldmnedb src!, {r3, r4}
++ stmnedb dst!, {r3, r4}
++
++ tst r2, #4
++24: ldrne r3, [src, #-4]!
++ strne r3, [dst, #-4]!
++
++25: ands r2, r2, #3
++ ldmeqfd sp!, {dst, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [src, #-1]
++ ldrgeb r4, [src, #-2]
++ ldrgtb ip, [src, #-3]
++ strb r3, [dst, #-1]
++ strgeb r4, [dst, #-2]
++ strgtb ip, [dst, #-3]
++ ldmfd sp!, {dst, r4, pc}
++
++26: cmp ip, #2
++ ldrb r3, [src, #-1]!
++ ldrgeb r4, [src, #-1]!
++ ldrgtb lr, [src, #-1]!
++ strb r3, [dst, #-1]!
++ strgeb r4, [dst, #-1]!
++ strgtb lr, [dst, #-1]!
++ subs r2, r2, ip
++ blt 25b
++ ands ip, src, #3
++ beq 19b
++
++27: bic src, src, #3
++ cmp ip, #2
++ ldr r3, [src]
++ beq 35f
++ blt 36f
++
++
++ .macro backward_copy_shift push pull
++
++ cmp r2, #12
++ PLD( pld [src, #-4] )
++ blt 33f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 31f
++
++ PLD( subs r2, r2, #96 )
++ PLD( pld [src, #-32] )
++ PLD( blt 30f )
++ PLD( pld [src, #-64] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, src, #31 )
++ PLD( pld [src, #-96] )
++ PLD( beq 29f )
++ PLD( cmp r2, ip )
++ PLD( pld [src, #-128] )
++ PLD( blt 29f )
++ PLD( sub r2, r2, ip )
++28: PLD( mov r4, r3, push #\push )
++ PLD( ldr r3, [src, #-4]! )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r4, r4, r3, pull #\pull )
++ PLD( str r4, [dst, #-4]! )
++ PLD( bgt 28b )
++
++29: PLD( pld [src, #-128] )
++30: mov lr, r3, push #\push
++ ldmdb src!, {r3 - r9, ip}
++ subs r2, r2, #32
++ orr lr, lr, ip, pull #\pull
++ mov ip, ip, push #\push
++ orr ip, ip, r9, pull #\pull
++ mov r9, r9, push #\push
++ orr r9, r9, r8, pull #\pull
++ mov r8, r8, push #\push
++ orr r8, r8, r7, pull #\pull
++ mov r7, r7, push #\push
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb dst!, {r4 - r9, ip, lr}
++ bge 29b
++ PLD( cmn r2, #96 )
++ PLD( bge 30b )
++ PLD( add r2, r2, #96 )
++ cmn r2, #16
++ blt 32f
++31: mov r7, r3, push #\push
++ ldmdb src!, {r3 - r6}
++ sub r2, r2, #16
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb dst!, {r4 - r7}
++32: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 34f
++33: mov r4, r3, push #\push
++ ldr r3, [src, #-4]!
++ subs r2, r2, #4
++ orr r4, r4, r3, pull #\pull
++ str r4, [dst, #-4]!
++ bge 33b
++34:
++ .endm
++
++
++ backward_copy_shift push=8 pull=24
++ add src, src, #3
++ b 25b
++
++35: backward_copy_shift push=16 pull=16
++ add src, src, #2
++ b 25b
++
++36: backward_copy_shift push=24 pull=8
++ add src, src, #1
++ b 25b
++
++ .size bcopy, . - bcopy
++END(bcopy)
+
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ libc/ports/sysdeps/arm/memcpy.S 2004-05-02 14:33:22.000000000 +0100
+@@ -0,0 +1,242 @@
++/*
++ * Optimized memcpy implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++
++/* char * memcpy (char *dst, const char *src) */
++
++ENTRY(memcpy)
++ subs r2, r2, #4
++ stmfd sp!, {r0, r4, lr}
++ blt 7f
++ ands ip, r0, #3
++ PLD( pld [r1, #0] )
++ bne 8f
++ ands ip, r1, #3
++ bne 9f
++
++1: subs r2, r2, #4
++ blt 6f
++ subs r2, r2, #8
++ blt 5f
++ subs r2, r2, #16
++ blt 4f
++
++ PLD( subs r2, r2, #65 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 3f )
++ PLD( pld [r1, #32] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #64] )
++ PLD( beq 2f )
++ PLD( rsb ip, ip, #32 )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #96] )
++ PLD( blt 2f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgeia r1!, {r3 - r6} )
++ PLD( stmgeia r0!, {r3 - r6} )
++ PLD( beq 2f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [r1], #4 )
++ PLD( ldrge r4, [r1], #4 )
++ PLD( ldrgt r5, [r1], #4 )
++ PLD( str r3, [r0], #4 )
++ PLD( strge r4, [r0], #4 )
++ PLD( strgt r5, [r0], #4 )
++
++2: PLD( pld [r1, #96] )
++3: ldmia r1!, {r3 - r8, ip, lr}
++ subs r2, r2, #32
++ stmia r0!, {r3 - r8, ip, lr}
++ bge 2b
++ PLD( cmn r2, #65 )
++ PLD( bge 3b )
++ PLD( add r2, r2, #65 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r0, r4, pc}
++
++ tst r2, #16
++4: ldmneia r1!, {r3, r4, ip, lr}
++ stmneia r0!, {r3, r4, ip, lr}
++
++ tst r2, #8
++5: ldmneia r1!, {r3, r4}
++ stmneia r0!, {r3, r4}
++
++ tst r2, #4
++6: ldrne r3, [r1], #4
++ strne r3, [r0], #4
++
++7: ands r2, r2, #3
++ ldmeqfd sp!, {r0, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [r1], #1
++ ldrgeb r4, [r1], #1
++ ldrgtb ip, [r1]
++ strb r3, [r0], #1
++ strgeb r4, [r0], #1
++ strgtb ip, [r0]
++ ldmfd sp!, {r0, r4, pc}
++
++8: rsb ip, ip, #4
++ cmp ip, #2
++ ldrb r3, [r1], #1
++ ldrgeb r4, [r1], #1
++ ldrgtb lr, [r1], #1
++ strb r3, [r0], #1
++ strgeb r4, [r0], #1
++ strgtb lr, [r0], #1
++ subs r2, r2, ip
++ blt 7b
++ ands ip, r1, #3
++ beq 1b
++
++9: bic r1, r1, #3
++ cmp ip, #2
++ ldr lr, [r1], #4
++ beq 17f
++ bgt 18f
++
++
++ .macro forward_copy_shift pull push
++
++ cmp r2, #12
++ PLD( pld [r1, #0] )
++ blt 15f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 13f
++
++ PLD( subs r2, r2, #97 )
++ PLD( blt 12f )
++ PLD( pld [r1, #32] )
++
++ PLD( @ cache alignment )
++ PLD( rsb ip, r1, #36 )
++ PLD( pld [r1, #64] )
++ PLD( ands ip, ip, #31 )
++ PLD( pld [r1, #96] )
++ PLD( beq 11f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #128] )
++ PLD( blt 11f )
++ PLD( sub r2, r2, ip )
++10: PLD( mov r3, lr, pull #\pull )
++ PLD( ldr lr, [r1], #4 )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r3, r3, lr, push #\push )
++ PLD( str r3, [r0], #4 )
++ PLD( bgt 10b )
++
++11: PLD( pld [r1, #128] )
++12: mov r3, lr, pull #\pull
++ ldmia r1!, {r4 - r9, ip, lr}
++ subs r2, r2, #32
++ orr r3, r3, r4, push #\push
++ mov r4, r4, pull #\pull
++ orr r4, r4, r5, push #\push
++ mov r5, r5, pull #\pull
++ orr r5, r5, r6, push #\push
++ mov r6, r6, pull #\pull
++ orr r6, r6, r7, push #\push
++ mov r7, r7, pull #\pull
++ orr r7, r7, r8, push #\push
++ mov r8, r8, pull #\pull
++ orr r8, r8, r9, push #\push
++ mov r9, r9, pull #\pull
++ orr r9, r9, ip, push #\push
++ mov ip, ip, pull #\pull
++ orr ip, ip, lr, push #\push
++ stmia r0!, {r3 - r9, ip}
++ bge 11b
++ PLD( cmn r2, #97 )
++ PLD( bge 12b )
++ PLD( add r2, r2, #97 )
++ cmn r2, #16
++ blt 14f
++13: mov r3, lr, pull #\pull
++ ldmia r1!, {r4 - r6, lr}
++ sub r2, r2, #16
++ orr r3, r3, r4, push #\push
++ mov r4, r4, pull #\pull
++ orr r4, r4, r5, push #\push
++ mov r5, r5, pull #\pull
++ orr r5, r5, r6, push #\push
++ mov r6, r6, pull #\pull
++ orr r6, r6, lr, push #\push
++ stmia r0!, {r3 - r6}
++14: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 16f
++15: mov r3, lr, pull #\pull
++ ldr lr, [r1], #4
++ subs r2, r2, #4
++ orr r3, r3, lr, push #\push
++ str r3, [r0], #4
++ bge 15b
++16:
++ .endm
++
++
++ forward_copy_shift pull=8 push=24
++ sub r1, r1, #3
++ b 7b
++
++17: forward_copy_shift pull=16 push=16
++ sub r1, r1, #2
++ b 7b
++
++18: forward_copy_shift pull=24 push=8
++ sub r1, r1, #1
++ b 7b
++
++ .size memcpy, . - memcpy
++END(memcpy)
++libc_hidden_builtin_def (memcpy)
++
diff --git a/meta/packages/glibc/glibc-cvs-2.3.5/arm-no-hwcap.patch b/meta/packages/glibc/glibc-cvs-2.3.5/arm-no-hwcap.patch
new file mode 100644
index 0000000000..d3263a7dc6
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs-2.3.5/arm-no-hwcap.patch
@@ -0,0 +1,11 @@
+--- libc/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h.orig 2005-12-11 14:49:51 +0100
++++ libc/ports/sysdeps/unix/sysv/linux/arm/dl-procinfo.h 2005-12-11 14:51:28 +0100
+@@ -64,7 +64,7 @@
+ HWCAP_ARM_VFP = 1 << 6,
+ HWCAP_ARM_EDSP = 1 << 7,
+
+- HWCAP_IMPORTANT = (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT)
++ HWCAP_IMPORTANT = HWCAP_ARM_FAST_MULT
+ };
+
+ static inline int
diff --git a/meta/packages/glibc/glibc-cvs-2.3.5/dl-cache-libcmp.patch b/meta/packages/glibc/glibc-cvs-2.3.5/dl-cache-libcmp.patch
new file mode 100644
index 0000000000..c74ebf6c09
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs-2.3.5/dl-cache-libcmp.patch
@@ -0,0 +1,10 @@
+--- libc/elf/Versions.old 2005-06-27 13:38:25.000000000 +0100
++++ libc/elf/Versions 2005-06-27 14:03:54.000000000 +0100
+@@ -56,5 +56,7 @@
+ _dl_make_stack_executable;
+ # Only here for gdb while a better method is developed.
+ _dl_debug_state;
++ # for ldconfig
++ _dl_cache_libcmp;
+ }
+ }
diff --git a/meta/packages/glibc/glibc-cvs-2.3.5/dyn-ldconfig-20041128.patch b/meta/packages/glibc/glibc-cvs-2.3.5/dyn-ldconfig-20041128.patch
new file mode 100644
index 0000000000..451b6d4afc
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs-2.3.5/dyn-ldconfig-20041128.patch
@@ -0,0 +1,22 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libc/elf/Makefile~dyn-ldconfig-20041128
++++ libc/elf/Makefile
+@@ -118,12 +118,13 @@
+
+ ifeq (yes,$(use-ldconfig))
+ ifeq (yes,$(build-shared))
+-others-static += ldconfig
++#others-static += ldconfig
+ others += ldconfig
+ install-rootsbin += ldconfig
+
+ ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon
+ extra-objs += $(ldconfig-modules:=.o)
++CPPFLAGS-readlib.c = -DNOT_IN_libc=1
+
+ # To find xmalloc.c and xstrdup.c
+ vpath %.c ../locale/programs
diff --git a/meta/packages/glibc/glibc-cvs-2.3.5/ldsocache-varrun.patch b/meta/packages/glibc/glibc-cvs-2.3.5/ldsocache-varrun.patch
new file mode 100644
index 0000000000..9994d4f879
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs-2.3.5/ldsocache-varrun.patch
@@ -0,0 +1,18 @@
+This patch moves ld.so.cache from /etc to /var/run. This is for devices
+where /etc is JFFS2 or CRAMFS but /var is a ramdisk.
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libc/sysdeps/generic/dl-cache.h~ldsocache-varrun
++++ libc/sysdeps/generic/dl-cache.h
+@@ -29,7 +29,7 @@
+ #endif
+
+ #ifndef LD_SO_CACHE
+-# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
++# define LD_SO_CACHE "/var/run/ld.so.cache"
+ #endif
+
+ #ifndef add_system_dir
diff --git a/meta/packages/glibc/glibc-cvs/arm-ioperm.patch b/meta/packages/glibc/glibc-cvs/arm-ioperm.patch
new file mode 100644
index 0000000000..ae9423ef55
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/arm-ioperm.patch
@@ -0,0 +1,13 @@
+--- sysdeps/unix/sysv/linux/arm/ioperm.c 20 Feb 2003 22:22:35 -0000 1.6
++++ sysdeps/unix/sysv/linux/arm/ioperm.c 24 Oct 2003 20:59:38 -0000
+@@ -100,8 +100,8 @@
+ {
+ char systype[256];
+ int i, n;
+- static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE };
+- static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT };
++ static int iobase_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_BASE };
++ static int ioshift_name[] = { CTL_BUS, CTL_BUS_ISA, BUS_ISA_PORT_SHIFT };
+ size_t len = sizeof(io.base);
+
+ if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
diff --git a/meta/packages/glibc/glibc-cvs/arm-longlong.patch b/meta/packages/glibc/glibc-cvs/arm-longlong.patch
new file mode 100644
index 0000000000..dfb9309b7b
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/arm-longlong.patch
@@ -0,0 +1,59 @@
+--- stdlib/longlong.h~ 2002-09-29 18:45:58.000000000 +0100
++++ stdlib/longlong.h 2004-03-20 19:16:44.000000000 +0000
+@@ -210,6 +210,14 @@
+ "rI" ((USItype) (bh)), \
+ "r" ((USItype) (al)), \
+ "rI" ((USItype) (bl)))
++/* v3m and all higher arches have long multiply support. */
++#if !defined(__ARM_ARCH_2__) && !defined(__ARM_ARCH_3__)
++#define umul_ppmm(xh, xl, a, b) \
++ __asm__ ("umull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
++#define UMUL_TIME 5
++#define smul_ppmm(xh, xl, a, b) \
++ __asm__ ("smull %0,%1,%2,%3" : "=&r" (xl), "=&r" (xh) : "r" (a), "r" (b))
++#else
+ #define umul_ppmm(xh, xl, a, b) \
+ {register USItype __t0, __t1, __t2; \
+ __asm__ ("%@ Inlined umul_ppmm\n" \
+@@ -231,7 +239,14 @@
+ : "r" ((USItype) (a)), \
+ "r" ((USItype) (b)));}
+ #define UMUL_TIME 20
++#endif
+ #define UDIV_TIME 100
++
++#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
++#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X))
++#define COUNT_LEADING_ZEROS_0 32
++#endif
++
+ #endif /* __arm__ */
+
+ #if defined (__hppa) && W_TYPE_SIZE == 32
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ sysdeps/arm/mp_clz_tab.c 2004-03-20 19:24:26.000000000 +0000
+@@ -0,0 +1,24 @@
++/* __clz_tab -- support for longlong.h
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#if defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__)
++/* Nothing required. */
++#else
++#include <sysdeps/generic/mp_clz_tab.c>
++#endif
diff --git a/meta/packages/glibc/glibc-cvs/arm-machine-gmon.patch b/meta/packages/glibc/glibc-cvs/arm-machine-gmon.patch
new file mode 100644
index 0000000000..0fa789d86b
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/arm-machine-gmon.patch
@@ -0,0 +1,11 @@
+--- sysdeps/arm/machine-gmon.h~ 2001-07-06 00:55:48.000000000 -0400
++++ sysdeps/arm/machine-gmon.h 2004-04-25 03:56:20.000000000 -0400
+@@ -35,7 +35,7 @@
+ static void mcount_internal (u_long frompc, u_long selfpc);
+
+ #define _MCOUNT_DECL(frompc, selfpc) \
+-static void mcount_internal (u_long frompc, u_long selfpc)
++static __attribute__((used)) void mcount_internal (u_long frompc, u_long selfpc)
+
+ /* This macro/func MUST save r0, r1 because the compiler inserts
+ blind calls to _mount(), ignoring the fact that _mcount may
diff --git a/meta/packages/glibc/glibc-cvs/arm-memcpy.patch b/meta/packages/glibc/glibc-cvs/arm-memcpy.patch
new file mode 100644
index 0000000000..bc2b3dab84
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/arm-memcpy.patch
@@ -0,0 +1,758 @@
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ sysdeps/arm/memmove.S 2004-03-20 18:37:23.000000000 +0000
+@@ -0,0 +1,251 @@
++/*
++ * Optimized memmove implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++
++/* char * memmove (char *dst, const char *src) */
++ENTRY(memmove)
++ subs ip, r0, r1
++ cmphi r2, ip
++ bls memcpy(PLT)
++
++ stmfd sp!, {r0, r4, lr}
++ add r1, r1, r2
++ add r0, r0, r2
++ subs r2, r2, #4
++ blt 25f
++ ands ip, r0, #3
++ PLD( pld [r1, #-4] )
++ bne 26f
++ ands ip, r1, #3
++ bne 27f
++
++19: subs r2, r2, #4
++ blt 24f
++ subs r2, r2, #8
++ blt 23f
++ subs r2, r2, #16
++ blt 22f
++
++ PLD( pld [r1, #-32] )
++ PLD( subs r2, r2, #96 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 21f )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #-64] )
++ PLD( beq 20f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #-96] )
++ PLD( blt 20f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgedb r1!, {r3 - r6} )
++ PLD( stmgedb r0!, {r3 - r6} )
++ PLD( beq 20f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [r1, #-4]! )
++ PLD( ldrge r4, [r1, #-4]! )
++ PLD( ldrgt r5, [r1, #-4]! )
++ PLD( str r3, [r0, #-4]! )
++ PLD( strge r4, [r0, #-4]! )
++ PLD( strgt r5, [r0, #-4]! )
++
++20: PLD( pld [r1, #-96] )
++ PLD( pld [r1, #-128] )
++21: ldmdb r1!, {r3, r4, ip, lr}
++ subs r2, r2, #32
++ stmdb r0!, {r3, r4, ip, lr}
++ ldmdb r1!, {r3, r4, ip, lr}
++ stmgedb r0!, {r3, r4, ip, lr}
++ ldmgedb r1!, {r3, r4, ip, lr}
++ stmgedb r0!, {r3, r4, ip, lr}
++ ldmgedb r1!, {r3, r4, ip, lr}
++ subges r2, r2, #32
++ stmdb r0!, {r3, r4, ip, lr}
++ bge 20b
++ PLD( cmn r2, #96 )
++ PLD( bge 21b )
++ PLD( add r2, r2, #96 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r0, r4, pc}
++
++ tst r2, #16
++22: ldmnedb r1!, {r3, r4, ip, lr}
++ stmnedb r0!, {r3, r4, ip, lr}
++
++ tst r2, #8
++23: ldmnedb r1!, {r3, r4}
++ stmnedb r0!, {r3, r4}
++
++ tst r2, #4
++24: ldrne r3, [r1, #-4]!
++ strne r3, [r0, #-4]!
++
++25: ands r2, r2, #3
++ ldmeqfd sp!, {r0, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [r1, #-1]
++ ldrgeb r4, [r1, #-2]
++ ldrgtb ip, [r1, #-3]
++ strb r3, [r0, #-1]
++ strgeb r4, [r0, #-2]
++ strgtb ip, [r0, #-3]
++ ldmfd sp!, {r0, r4, pc}
++
++26: cmp ip, #2
++ ldrb r3, [r1, #-1]!
++ ldrgeb r4, [r1, #-1]!
++ ldrgtb lr, [r1, #-1]!
++ strb r3, [r0, #-1]!
++ strgeb r4, [r0, #-1]!
++ strgtb lr, [r0, #-1]!
++ subs r2, r2, ip
++ blt 25b
++ ands ip, r1, #3
++ beq 19b
++
++27: bic r1, r1, #3
++ cmp ip, #2
++ ldr r3, [r1]
++ beq 35f
++ blt 36f
++
++
++ .macro backward_copy_shift push pull
++
++ cmp r2, #12
++ PLD( pld [r1, #-4] )
++ blt 33f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 31f
++
++ PLD( subs r2, r2, #96 )
++ PLD( pld [r1, #-32] )
++ PLD( blt 30f )
++ PLD( pld [r1, #-64] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #-96] )
++ PLD( beq 29f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #-128] )
++ PLD( blt 29f )
++ PLD( sub r2, r2, ip )
++28: PLD( mov r4, r3, push #\push )
++ PLD( ldr r3, [r1, #-4]! )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r4, r4, r3, pull #\pull )
++ PLD( str r4, [r0, #-4]! )
++ PLD( bgt 28b )
++
++29: PLD( pld [r1, #-128] )
++30: mov lr, r3, push #\push
++ ldmdb r1!, {r3 - r9, ip}
++ subs r2, r2, #32
++ orr lr, lr, ip, pull #\pull
++ mov ip, ip, push #\push
++ orr ip, ip, r9, pull #\pull
++ mov r9, r9, push #\push
++ orr r9, r9, r8, pull #\pull
++ mov r8, r8, push #\push
++ orr r8, r8, r7, pull #\pull
++ mov r7, r7, push #\push
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb r0!, {r4 - r9, ip, lr}
++ bge 29b
++ PLD( cmn r2, #96 )
++ PLD( bge 30b )
++ PLD( add r2, r2, #96 )
++ cmn r2, #16
++ blt 32f
++31: mov r7, r3, push #\push
++ ldmdb r1!, {r3 - r6}
++ sub r2, r2, #16
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb r0!, {r4 - r7}
++32: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 34f
++33: mov r4, r3, push #\push
++ ldr r3, [r1, #-4]!
++ subs r2, r2, #4
++ orr r4, r4, r3, pull #\pull
++ str r4, [r0, #-4]!
++ bge 33b
++34:
++ .endm
++
++
++ backward_copy_shift push=8 pull=24
++ add r1, r1, #3
++ b 25b
++
++35: backward_copy_shift push=16 pull=16
++ add r1, r1, #2
++ b 25b
++
++36: backward_copy_shift push=24 pull=8
++ add r1, r1, #1
++ b 25b
++
++ .size memmove, . - memmove
++END(memmove)
++libc_hidden_builtin_def (memmove)
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ sysdeps/arm/bcopy.S 2004-03-20 18:37:48.000000000 +0000
+@@ -0,0 +1,255 @@
++/*
++ * Optimized memmove implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++dst .req r1
++src .req r0
++
++/* void *bcopy (const char *src, char *dst, size_t size) */
++ENTRY(bcopy)
++ subs ip, dst, src
++ cmphi r2, ip
++ movls r3, r0
++ movls r0, r1
++ movls r1, r3
++ bls memcpy(PLT)
++
++ stmfd sp!, {r4, lr}
++ add src, src, r2
++ add dst, dst, r2
++ subs r2, r2, #4
++ blt 25f
++ ands ip, dst, #3
++ PLD( pld [src, #-4] )
++ bne 26f
++ ands ip, src, #3
++ bne 27f
++
++19: subs r2, r2, #4
++ blt 24f
++ subs r2, r2, #8
++ blt 23f
++ subs r2, r2, #16
++ blt 22f
++
++ PLD( pld [src, #-32] )
++ PLD( subs r2, r2, #96 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 21f )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, src, #31 )
++ PLD( pld [src, #-64] )
++ PLD( beq 20f )
++ PLD( cmp r2, ip )
++ PLD( pld [src, #-96] )
++ PLD( blt 20f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgedb src!, {r3 - r6} )
++ PLD( stmgedb dst!, {r3 - r6} )
++ PLD( beq 20f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [src, #-4]! )
++ PLD( ldrge r4, [src, #-4]! )
++ PLD( ldrgt r5, [src, #-4]! )
++ PLD( str r3, [dst, #-4]! )
++ PLD( strge r4, [dst, #-4]! )
++ PLD( strgt r5, [dst, #-4]! )
++
++20: PLD( pld [src, #-96] )
++ PLD( pld [src, #-128] )
++21: ldmdb src!, {r3, r4, ip, lr}
++ subs r2, r2, #32
++ stmdb dst!, {r3, r4, ip, lr}
++ ldmdb src!, {r3, r4, ip, lr}
++ stmgedb dst!, {r3, r4, ip, lr}
++ ldmgedb src!, {r3, r4, ip, lr}
++ stmgedb dst!, {r3, r4, ip, lr}
++ ldmgedb src!, {r3, r4, ip, lr}
++ subges r2, r2, #32
++ stmdb dst!, {r3, r4, ip, lr}
++ bge 20b
++ PLD( cmn r2, #96 )
++ PLD( bge 21b )
++ PLD( add r2, r2, #96 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r4, pc}
++
++ tst r2, #16
++22: ldmnedb src!, {r3, r4, ip, lr}
++ stmnedb dst!, {r3, r4, ip, lr}
++
++ tst r2, #8
++23: ldmnedb src!, {r3, r4}
++ stmnedb dst!, {r3, r4}
++
++ tst r2, #4
++24: ldrne r3, [src, #-4]!
++ strne r3, [dst, #-4]!
++
++25: ands r2, r2, #3
++ ldmeqfd sp!, {dst, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [src, #-1]
++ ldrgeb r4, [src, #-2]
++ ldrgtb ip, [src, #-3]
++ strb r3, [dst, #-1]
++ strgeb r4, [dst, #-2]
++ strgtb ip, [dst, #-3]
++ ldmfd sp!, {dst, r4, pc}
++
++26: cmp ip, #2
++ ldrb r3, [src, #-1]!
++ ldrgeb r4, [src, #-1]!
++ ldrgtb lr, [src, #-1]!
++ strb r3, [dst, #-1]!
++ strgeb r4, [dst, #-1]!
++ strgtb lr, [dst, #-1]!
++ subs r2, r2, ip
++ blt 25b
++ ands ip, src, #3
++ beq 19b
++
++27: bic src, src, #3
++ cmp ip, #2
++ ldr r3, [src]
++ beq 35f
++ blt 36f
++
++
++ .macro backward_copy_shift push pull
++
++ cmp r2, #12
++ PLD( pld [src, #-4] )
++ blt 33f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 31f
++
++ PLD( subs r2, r2, #96 )
++ PLD( pld [src, #-32] )
++ PLD( blt 30f )
++ PLD( pld [src, #-64] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, src, #31 )
++ PLD( pld [src, #-96] )
++ PLD( beq 29f )
++ PLD( cmp r2, ip )
++ PLD( pld [src, #-128] )
++ PLD( blt 29f )
++ PLD( sub r2, r2, ip )
++28: PLD( mov r4, r3, push #\push )
++ PLD( ldr r3, [src, #-4]! )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r4, r4, r3, pull #\pull )
++ PLD( str r4, [dst, #-4]! )
++ PLD( bgt 28b )
++
++29: PLD( pld [src, #-128] )
++30: mov lr, r3, push #\push
++ ldmdb src!, {r3 - r9, ip}
++ subs r2, r2, #32
++ orr lr, lr, ip, pull #\pull
++ mov ip, ip, push #\push
++ orr ip, ip, r9, pull #\pull
++ mov r9, r9, push #\push
++ orr r9, r9, r8, pull #\pull
++ mov r8, r8, push #\push
++ orr r8, r8, r7, pull #\pull
++ mov r7, r7, push #\push
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb dst!, {r4 - r9, ip, lr}
++ bge 29b
++ PLD( cmn r2, #96 )
++ PLD( bge 30b )
++ PLD( add r2, r2, #96 )
++ cmn r2, #16
++ blt 32f
++31: mov r7, r3, push #\push
++ ldmdb src!, {r3 - r6}
++ sub r2, r2, #16
++ orr r7, r7, r6, pull #\pull
++ mov r6, r6, push #\push
++ orr r6, r6, r5, pull #\pull
++ mov r5, r5, push #\push
++ orr r5, r5, r4, pull #\pull
++ mov r4, r4, push #\push
++ orr r4, r4, r3, pull #\pull
++ stmdb dst!, {r4 - r7}
++32: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 34f
++33: mov r4, r3, push #\push
++ ldr r3, [src, #-4]!
++ subs r2, r2, #4
++ orr r4, r4, r3, pull #\pull
++ str r4, [dst, #-4]!
++ bge 33b
++34:
++ .endm
++
++
++ backward_copy_shift push=8 pull=24
++ add src, src, #3
++ b 25b
++
++35: backward_copy_shift push=16 pull=16
++ add src, src, #2
++ b 25b
++
++36: backward_copy_shift push=24 pull=8
++ add src, src, #1
++ b 25b
++
++ .size bcopy, . - bcopy
++END(bcopy)
+
+--- /dev/null 2004-02-02 20:32:13.000000000 +0000
++++ sysdeps/arm/memcpy.S 2004-05-02 14:33:22.000000000 +0100
+@@ -0,0 +1,242 @@
++/*
++ * Optimized memcpy implementation for ARM processors
++ *
++ * Author: Nicolas Pitre
++ * Created: Dec 23, 2003
++ * Copyright: (C) MontaVista Software, Inc.
++ *
++ * This file 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 file 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.
++ */
++
++#include <sysdep.h>
++
++
++/*
++ * Endian independent macros for shifting bytes within registers.
++ */
++#ifndef __ARMEB__
++#define pull lsr
++#define push lsl
++#else
++#define pull lsl
++#define push lsr
++#endif
++
++/*
++ * Enable data preload for architectures that support it (ARMv5 and above)
++ */
++#if defined(__ARM_ARCH_5__) || \
++ defined(__ARM_ARCH_5T__) || \
++ defined(__ARM_ARCH_5TE__)
++#define PLD(code...) code
++#else
++#define PLD(code...)
++#endif
++
++
++/* char * memcpy (char *dst, const char *src) */
++
++ENTRY(memcpy)
++ subs r2, r2, #4
++ stmfd sp!, {r0, r4, lr}
++ blt 7f
++ ands ip, r0, #3
++ PLD( pld [r1, #0] )
++ bne 8f
++ ands ip, r1, #3
++ bne 9f
++
++1: subs r2, r2, #4
++ blt 6f
++ subs r2, r2, #8
++ blt 5f
++ subs r2, r2, #16
++ blt 4f
++
++ PLD( subs r2, r2, #65 )
++ stmfd sp!, {r5 - r8}
++ PLD( blt 3f )
++ PLD( pld [r1, #32] )
++
++ PLD( @ cache alignment )
++ PLD( ands ip, r1, #31 )
++ PLD( pld [r1, #64] )
++ PLD( beq 2f )
++ PLD( rsb ip, ip, #32 )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #96] )
++ PLD( blt 2f )
++ PLD( cmp ip, #16 )
++ PLD( sub r2, r2, ip )
++ PLD( ldmgeia r1!, {r3 - r6} )
++ PLD( stmgeia r0!, {r3 - r6} )
++ PLD( beq 2f )
++ PLD( and ip, ip, #15 )
++ PLD( cmp ip, #8 )
++ PLD( ldr r3, [r1], #4 )
++ PLD( ldrge r4, [r1], #4 )
++ PLD( ldrgt r5, [r1], #4 )
++ PLD( str r3, [r0], #4 )
++ PLD( strge r4, [r0], #4 )
++ PLD( strgt r5, [r0], #4 )
++
++2: PLD( pld [r1, #96] )
++3: ldmia r1!, {r3 - r8, ip, lr}
++ subs r2, r2, #32
++ stmia r0!, {r3 - r8, ip, lr}
++ bge 2b
++ PLD( cmn r2, #65 )
++ PLD( bge 3b )
++ PLD( add r2, r2, #65 )
++ tst r2, #31
++ ldmfd sp!, {r5 - r8}
++ ldmeqfd sp!, {r0, r4, pc}
++
++ tst r2, #16
++4: ldmneia r1!, {r3, r4, ip, lr}
++ stmneia r0!, {r3, r4, ip, lr}
++
++ tst r2, #8
++5: ldmneia r1!, {r3, r4}
++ stmneia r0!, {r3, r4}
++
++ tst r2, #4
++6: ldrne r3, [r1], #4
++ strne r3, [r0], #4
++
++7: ands r2, r2, #3
++ ldmeqfd sp!, {r0, r4, pc}
++
++ cmp r2, #2
++ ldrb r3, [r1], #1
++ ldrgeb r4, [r1], #1
++ ldrgtb ip, [r1]
++ strb r3, [r0], #1
++ strgeb r4, [r0], #1
++ strgtb ip, [r0]
++ ldmfd sp!, {r0, r4, pc}
++
++8: rsb ip, ip, #4
++ cmp ip, #2
++ ldrb r3, [r1], #1
++ ldrgeb r4, [r1], #1
++ ldrgtb lr, [r1], #1
++ strb r3, [r0], #1
++ strgeb r4, [r0], #1
++ strgtb lr, [r0], #1
++ subs r2, r2, ip
++ blt 7b
++ ands ip, r1, #3
++ beq 1b
++
++9: bic r1, r1, #3
++ cmp ip, #2
++ ldr lr, [r1], #4
++ beq 17f
++ bgt 18f
++
++
++ .macro forward_copy_shift pull push
++
++ cmp r2, #12
++ PLD( pld [r1, #0] )
++ blt 15f
++ subs r2, r2, #28
++ stmfd sp!, {r5 - r9}
++ blt 13f
++
++ PLD( subs r2, r2, #97 )
++ PLD( blt 12f )
++ PLD( pld [r1, #32] )
++
++ PLD( @ cache alignment )
++ PLD( rsb ip, r1, #36 )
++ PLD( pld [r1, #64] )
++ PLD( ands ip, ip, #31 )
++ PLD( pld [r1, #96] )
++ PLD( beq 11f )
++ PLD( cmp r2, ip )
++ PLD( pld [r1, #128] )
++ PLD( blt 11f )
++ PLD( sub r2, r2, ip )
++10: PLD( mov r3, lr, pull #\pull )
++ PLD( ldr lr, [r1], #4 )
++ PLD( subs ip, ip, #4 )
++ PLD( orr r3, r3, lr, push #\push )
++ PLD( str r3, [r0], #4 )
++ PLD( bgt 10b )
++
++11: PLD( pld [r1, #128] )
++12: mov r3, lr, pull #\pull
++ ldmia r1!, {r4 - r9, ip, lr}
++ subs r2, r2, #32
++ orr r3, r3, r4, push #\push
++ mov r4, r4, pull #\pull
++ orr r4, r4, r5, push #\push
++ mov r5, r5, pull #\pull
++ orr r5, r5, r6, push #\push
++ mov r6, r6, pull #\pull
++ orr r6, r6, r7, push #\push
++ mov r7, r7, pull #\pull
++ orr r7, r7, r8, push #\push
++ mov r8, r8, pull #\pull
++ orr r8, r8, r9, push #\push
++ mov r9, r9, pull #\pull
++ orr r9, r9, ip, push #\push
++ mov ip, ip, pull #\pull
++ orr ip, ip, lr, push #\push
++ stmia r0!, {r3 - r9, ip}
++ bge 11b
++ PLD( cmn r2, #97 )
++ PLD( bge 12b )
++ PLD( add r2, r2, #97 )
++ cmn r2, #16
++ blt 14f
++13: mov r3, lr, pull #\pull
++ ldmia r1!, {r4 - r6, lr}
++ sub r2, r2, #16
++ orr r3, r3, r4, push #\push
++ mov r4, r4, pull #\pull
++ orr r4, r4, r5, push #\push
++ mov r5, r5, pull #\pull
++ orr r5, r5, r6, push #\push
++ mov r6, r6, pull #\pull
++ orr r6, r6, lr, push #\push
++ stmia r0!, {r3 - r6}
++14: adds r2, r2, #28
++ ldmfd sp!, {r5 - r9}
++ blt 16f
++15: mov r3, lr, pull #\pull
++ ldr lr, [r1], #4
++ subs r2, r2, #4
++ orr r3, r3, lr, push #\push
++ str r3, [r0], #4
++ bge 15b
++16:
++ .endm
++
++
++ forward_copy_shift pull=8 push=24
++ sub r1, r1, #3
++ b 7b
++
++17: forward_copy_shift pull=16 push=16
++ sub r1, r1, #2
++ b 7b
++
++18: forward_copy_shift pull=24 push=8
++ sub r1, r1, #1
++ b 7b
++
++ .size memcpy, . - memcpy
++END(memcpy)
++libc_hidden_builtin_def (memcpy)
++
diff --git a/meta/packages/glibc/glibc-cvs/arm-no-hwcap.patch b/meta/packages/glibc/glibc-cvs/arm-no-hwcap.patch
new file mode 100644
index 0000000000..17bfdcd125
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/arm-no-hwcap.patch
@@ -0,0 +1,11 @@
+--- sysdeps/unix/sysv/linux/arm/dl-procinfo.h Mon Jul 23 12:57:23 2001
++++ sysdeps/unix/sysv/linux/arm/dl-procinfo.h Sun Feb 10 06:37:00 2002
+@@ -67,7 +67,7 @@
+ HWCAP_ARM_VFP = 1 << 6,
+ HWCAP_ARM_EDSP = 1 << 7,
+
+- HWCAP_IMPORTANT = (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT)
++ HWCAP_IMPORTANT = HWCAP_ARM_FAST_MULT
+ };
+
+ static inline int
diff --git a/meta/packages/glibc/glibc-cvs/dyn-ldconfig-20041128.patch b/meta/packages/glibc/glibc-cvs/dyn-ldconfig-20041128.patch
new file mode 100644
index 0000000000..451b6d4afc
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/dyn-ldconfig-20041128.patch
@@ -0,0 +1,22 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libc/elf/Makefile~dyn-ldconfig-20041128
++++ libc/elf/Makefile
+@@ -118,12 +118,13 @@
+
+ ifeq (yes,$(use-ldconfig))
+ ifeq (yes,$(build-shared))
+-others-static += ldconfig
++#others-static += ldconfig
+ others += ldconfig
+ install-rootsbin += ldconfig
+
+ ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon
+ extra-objs += $(ldconfig-modules:=.o)
++CPPFLAGS-readlib.c = -DNOT_IN_libc=1
+
+ # To find xmalloc.c and xstrdup.c
+ vpath %.c ../locale/programs
diff --git a/meta/packages/glibc/glibc-cvs/dyn-ldconfig.patch b/meta/packages/glibc/glibc-cvs/dyn-ldconfig.patch
new file mode 100644
index 0000000000..1041965d05
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/dyn-ldconfig.patch
@@ -0,0 +1,62 @@
+--- elf/Makefile 13 Mar 2003 21:50:57 -0000 1.258
++++ elf/Makefile 27 Mar 2003 20:36:07 -0000
+@@ -109,12 +109,13 @@
+
+ ifeq (yes,$(use-ldconfig))
+ ifeq (yes,$(build-shared))
+-others-static += ldconfig
++#others-static += ldconfig
+ others += ldconfig
+ install-rootsbin += ldconfig
+
+ ldconfig-modules := cache readlib xmalloc xstrdup chroot_canon
+ extra-objs += $(ldconfig-modules:=.o)
++CPPFLAGS-readlib.c = -DNOT_IN_libc=1
+
+ # To find xmalloc.c and xstrdup.c
+ vpath %.c ../locale/programs
+--- elf/ldconfig.c 13 Jan 2003 08:53:14 -0000 1.31
++++ elf/ldconfig.c 27 Mar 2003 20:36:09 -0000
+@@ -149,6 +149,9 @@
+ static int
+ is_hwcap_platform (const char *name)
+ {
++#if 1
++ return 0;
++#else
+ int hwcap_idx = _dl_string_hwcap (name);
+
+ if (hwcap_idx != -1 && ((1 << hwcap_idx) & hwcap_mask))
+@@ -164,6 +167,7 @@
+ #endif
+
+ return 0;
++#endif
+ }
+
+ /* Get hwcap (including platform) encoding of path. */
+@@ -175,6 +179,7 @@
+ uint64_t hwcap = 0;
+ uint64_t h;
+
++#if 0
+ size_t len;
+
+ len = strlen (str);
+@@ -210,6 +215,7 @@
+ *ptr = '\0';
+ }
+
++#endif
+ free (str);
+ return hwcap;
+ }
+--- elf/Versions.old 2004-06-26 13:18:35.000000000 +0100
++++ elf/Versions 2004-06-26 14:41:09.000000000 +0100
+@@ -54,5 +54,6 @@
+ _dl_get_tls_static_info; _dl_allocate_tls_init;
+ _dl_tls_setup; _dl_rtld_di_serinfo;
+ _dl_make_stack_executable;
++ _dl_cache_libcmp;
+ }
+ }
diff --git a/meta/packages/glibc/glibc-cvs/eabi-patch-1 b/meta/packages/glibc/glibc-cvs/eabi-patch-1
new file mode 100644
index 0000000000..9b1fd408da
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/eabi-patch-1
@@ -0,0 +1,88 @@
+From libc-alpha-return-17227-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com Tue Mar 22 15:57:25 2005
+Return-Path: <libc-alpha-return-17227-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 12343 invoked by alias); 22 Mar 2005 15:57:24 -0000
+Mailing-List: contact libc-alpha-help at sources dot redhat dot com; run by ezmlm
+Precedence: bulk
+List-Subscribe: <mailto:libc-alpha-subscribe at sources dot redhat dot com>
+List-Archive: <http://sources.redhat.com/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sources dot redhat dot com>
+List-Help: <mailto:libc-alpha-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs>
+Sender: libc-alpha-owner at sources dot redhat dot com
+Delivered-To: mailing list libc-alpha at sources dot redhat dot com
+Received: (qmail 12264 invoked from network); 22 Mar 2005 15:57:19 -0000
+Received: from unknown (HELO nevyn.them.org) (66.93.172.17)
+ by sourceware dot org with SMTP; 22 Mar 2005 15:57:19 -0000
+Received: from drow by nevyn.them.org with local (Exim 4.50 #1 (Debian))
+ id 1DDll5-0006ip-R3; Tue, 22 Mar 2005 10:57:31 -0500
+Date: Tue, 22 Mar 2005 10:57:31 -0500
+From: Daniel Jacobowitz <drow at false dot org>
+To: libc-alpha at sources dot redhat dot com
+Cc: Phil Blundell <pb at reciva dot com>
+Subject: Common bits for the ARM EABI port
+Message-ID: <20050322155731.GA25613@nevyn.them.org>
+Mail-Followup-To: libc-alpha at sources dot redhat dot com,
+ Phil Blundell <pb at reciva dot com>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+User-Agent: Mutt/1.5.6+20040907i
+
+The changes to common files for the ARM EABI port; search the new directory,
+use GLIBC_2.4 as a base version, and generate ld-linux.so.3 (so that old and
+new ABI libraries can be installed on the same system, in case someone needs
+to do that). Generic ARM changes coming up next.
+
+I noticed that the "configure: Regenerated" messages are often left out of
+glibc changelogs; should I skip them?
+
+--
+Daniel Jacobowitz
+CodeSourcery, LLC
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * configure.in: Add arm*-*-linux-gnueabi support. Remove
+ unused arm32 entry from $machine.
+ * configure: Regenerated.
+ * shlib-versions: Add arm*-*-linux-gnueabi.
+
+Index: glibc/configure.in
+===================================================================
+--- glibc.orig/configure.in 2005-03-18 17:10:34.000000000 -0500
++++ glibc/configure.in 2005-03-21 10:04:41.000000000 -0500
+@@ -423,7 +423,12 @@ changequote(,)dnl
+ test -n "$base_machine" || case "$machine" in
+ a29k | am29000) base_machine=a29k machine=a29k ;;
+ alpha*) base_machine=alpha machine=alpha/$machine ;;
+-arm*) base_machine=arm machine=arm/arm32/$machine ;;
++arm*) base_machine=arm
++ case $config_os in
++ linux-gnueabi) machine=arm/eabi/$machine ;;
++ *) machine=arm/$machine ;;
++ esac
++ ;;
+ c3[012]) base_machine=cx0 machine=cx0/c30 ;;
+ c4[04]) base_machine=cx0 machine=cx0/c40 ;;
+ hppa*64*) base_machine=hppa machine=hppa/hppa64 ;;
+Index: glibc/shlib-versions
+===================================================================
+--- glibc.orig/shlib-versions 2005-02-13 21:53:05.000000000 -0500
++++ glibc/shlib-versions 2005-03-21 10:06:54.000000000 -0500
+@@ -31,6 +31,7 @@ cris-.*-linux.* DEFAULT GLIBC_2.2
+ x86_64-.*-linux.* DEFAULT GLIBC_2.2.5
+ powerpc64-.*-linux.* DEFAULT GLIBC_2.3
+ .*-.*-gnu-gnu.* DEFAULT GLIBC_2.2.6
++arm.*-.*-linux-gnueabi DEFAULT GLIBC_2.4
+
+ # Configuration WORDSIZE[32|64] Alternate configuration
+ # ------------- ---------- -----------------------
+@@ -80,6 +81,7 @@ i.86-.*-linux.* ld=ld-linux.so.2
+ sparc64-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2
+ sparc.*-.*-linux.* ld=ld-linux.so.2
+ alpha.*-.*-linux.* ld=ld-linux.so.2
++arm.*-.*-linux-gnueabi ld=ld-linux.so.3
+ arm.*-.*-linux.* ld=ld-linux.so.2
+ sh.*-.*-linux.* ld=ld-linux.so.2 GLIBC_2.2
+ ia64-.*-linux.* ld=ld-linux-ia64.so.2 GLIBC_2.2
+
diff --git a/meta/packages/glibc/glibc-cvs/eabi-patch-2 b/meta/packages/glibc/glibc-cvs/eabi-patch-2
new file mode 100644
index 0000000000..955a9bb51f
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/eabi-patch-2
@@ -0,0 +1,2446 @@
+From libc-alpha-return-17231-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com Tue Mar 22 17:39:38 2005
+Return-Path: <libc-alpha-return-17231-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 15063 invoked by alias); 22 Mar 2005 17:39:38 -0000
+Mailing-List: contact libc-alpha-help at sources dot redhat dot com; run by ezmlm
+Precedence: bulk
+List-Subscribe: <mailto:libc-alpha-subscribe at sources dot redhat dot com>
+List-Archive: <http://sources.redhat.com/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sources dot redhat dot com>
+List-Help: <mailto:libc-alpha-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs>
+Sender: libc-alpha-owner at sources dot redhat dot com
+Delivered-To: mailing list libc-alpha at sources dot redhat dot com
+Received: (qmail 13714 invoked from network); 22 Mar 2005 17:38:53 -0000
+Received: from unknown (HELO nevyn.them.org) (66.93.172.17)
+ by sourceware dot org with SMTP; 22 Mar 2005 17:38:53 -0000
+Received: from drow by nevyn.them.org with local (Exim 4.50 #1 (Debian))
+ id 1DDnLP-00007R-0B; Tue, 22 Mar 2005 12:39:07 -0500
+Date: Tue, 22 Mar 2005 12:39:06 -0500
+From: Daniel Jacobowitz <drow at false dot org>
+To: libc-alpha at sources dot redhat dot com, Phil Blundell <pb at reciva dot com>
+Subject: Re: Remainder of ARM EABI support
+Message-ID: <20050322173906.GA316@nevyn.them.org>
+Mail-Followup-To: libc-alpha at sources dot redhat dot com,
+ Phil Blundell <pb at reciva dot com>
+References: <20050322162137.GA26662@nevyn.them.org>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+In-Reply-To: <20050322162137 dot GA26662 at nevyn dot them dot org>
+User-Agent: Mutt/1.5.6+20040907i
+
+On Tue, Mar 22, 2005 at 11:21:37AM -0500, Daniel Jacobowitz wrote:
+> This patch is the remaining pieces of ARM EABI support, the
+> arm*-*-linux-gnueabi target.
+>
+> Highlights of the new ABI compared to the old one:
+> - Eight byte stack alignment instead of four.
+> - VFP floating point support instead of FPA; there's actually hardware
+> which supports VFP...
+> - More standard structure layout. The old ABI (APCS) always rounded
+> structures up to 32-bit alignment even if they contained only chars;
+> it also aligned 64-bit fields to four bytes.
+> - Some types have been grown to accomodate modern ARM cores, particularly
+> jmp_buf.
+>
+> The EABI also defines some additional symbols that a C library has to
+> define, which allow "portable" ARM objects to be linked to multiple C
+> libraries even if certain implementation-defined constants differ.
+> They're added to ARM-specific files in libc_nonshared.a.
+>
+> Most of the contents of sysdeps/unix/sysv/linux/arm/eabi are wrappers for
+> syscalls whose types have changed between the old and new ABI. The kernel
+> developers are discussing an EABI syscall interface, but for now the swi
+> based syscalls take the same argument types they used to for APCS. Only
+> a handful of syscalls are affected.
+
+My track record is not very good this morning; I apologize. I sent the
+wrong version of the patch. This one includes a couple of VFP fixes
+left out of the last posting, and a complete changelog.
+
+--
+Daniel Jacobowitz
+CodeSourcery, LLC
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ * sysdeps/arm/eabi/Makefile, sysdeps/arm/eabi/Versions,
+ sysdeps/arm/eabi/aeabi_assert.c, sysdeps/arm/eabi/aeabi_atexit.c,
+ sysdeps/arm/eabi/aeabi_errno_addr.c, sysdeps/arm/eabi/aeabi_lcsts.c,
+ sysdeps/arm/eabi/aeabi_localeconv.c, sysdeps/arm/eabi/aeabi_math.c,
+ sysdeps/arm/eabi/aeabi_mb_cur_max.c,
+ sysdeps/arm/eabi/aeabi_sighandlers.S,
+ sysdeps/arm/eabi/aeabi_unwind_cpp_pr1.c,
+ sysdeps/arm/eabi/bits/huge_val.h, sysdeps/arm/eabi/bits/setjmp.h,
+ sysdeps/arm/eabi/find_exidx.c, sysdeps/arm/eabi/fpu/__longjmp.S,
+ sysdeps/arm/eabi/fpu/bits/fenv.h, sysdeps/arm/eabi/fpu/fclrexcpt.c,
+ sysdeps/arm/eabi/fpu/fegetround.c, sysdeps/arm/eabi/fpu/fesetenv.c,
+ sysdeps/arm/eabi/fpu/fesetround.c, sysdeps/arm/eabi/fpu/fpu_control.h,
+ sysdeps/arm/eabi/fpu/feholdexcpt.c,
+ sysdeps/arm/eabi/fpu/fraiseexcpt.c,
+ sysdeps/arm/eabi/fpu/setjmp.S,
+ sysdeps/unix/sysv/linux/arm/eabi/configure,
+ sysdeps/unix/sysv/linux/arm/eabi/configure.in,
+ sysdeps/unix/sysv/linux/arm/eabi/epoll_ctl.c,
+ sysdeps/unix/sysv/linux/arm/eabi/epoll_wait.c,
+ sysdeps/unix/sysv/linux/arm/eabi/fstatfs64.c,
+ sysdeps/unix/sysv/linux/arm/eabi/fxstat64.c,
+ sysdeps/unix/sysv/linux/arm/eabi/kernel_stat.h,
+ sysdeps/unix/sysv/linux/arm/eabi/lxstat64.c,
+ sysdeps/unix/sysv/linux/arm/eabi/oldgetrlimit.c,
+ sysdeps/unix/sysv/linux/arm/eabi/oldsetrlimit.c,
+ sysdeps/unix/sysv/linux/arm/eabi/semop.c,
+ sysdeps/unix/sysv/linux/arm/eabi/semtimedop.c,
+ sysdeps/unix/sysv/linux/arm/eabi/statfs64.c,
+ sysdeps/unix/sysv/linux/arm/eabi/uname.c,
+ sysdeps/unix/sysv/linux/arm/eabi/xstat64.c,
+ sysdeps/unix/sysv/linux/arm/eabi/xstatconv.c,
+ sysdeps/unix/sysv/linux/arm/eabi/xstatconv.h: New files.
+
+
+Index: glibc/sysdeps/arm/eabi/Makefile
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/Makefile 2005-03-22 11:53:10.049703870 -0500
+@@ -0,0 +1,15 @@
++ifeq ($(subdir),csu)
++aeabi_constants = aeabi_lcsts aeabi_sighandlers aeabi_math
++aeabi_routines = aeabi_assert aeabi_localeconv aeabi_errno_addr \
++ aeabi_mb_cur_max aeabi_atexit
++
++sysdep_routines += $(aeabi_constants) $(aeabi_routines)
++static-only-routines += $(aeabi_constants) $(aeabi_routines)
++endif
++
++ifeq ($(subdir),elf)
++sysdep_routines += aeabi_unwind_cpp_pr1 find_exidx
++shared-only-routines += aeabi_unwind_cpp_pr1
++sysdep-rtld-routines += aeabi_unwind_cpp_pr1
++endif
++
+Index: glibc/sysdeps/arm/eabi/Versions
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/Versions 2005-03-22 11:53:10.049703870 -0500
+@@ -0,0 +1,6 @@
++libc {
++ GLIBC_2.4 {
++ # Helper routines
++ __gnu_Unwind_Find_exidx;
++ }
++}
+Index: glibc/sysdeps/arm/eabi/aeabi_assert.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_assert.c 2005-03-22 11:53:10.049703870 -0500
+@@ -0,0 +1,27 @@
++/* Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <assert.h>
++#include <stdlib.h>
++
++void attribute_hidden
++__aeabi_assert (const char *assertion, const char *file,
++ unsigned int line)
++{
++ __assert_fail (assertion, file, line, NULL);
++}
+Index: glibc/sysdeps/arm/eabi/aeabi_atexit.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_atexit.c 2005-03-22 11:53:10.050703627 -0500
+@@ -0,0 +1,28 @@
++/* Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <stdlib.h>
++
++/* Register a function to be called by exit or when a shared library
++ is unloaded. This routine is like __cxa_atexit, but uses the
++ calling sequence required by the ARM EABI. */
++int attribute_hidden
++__aeabi_atexit (void *arg, void (*func) (void *), void *d)
++{
++ return __cxa_atexit (func, arg, d);
++}
+Index: glibc/sysdeps/arm/eabi/aeabi_errno_addr.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_errno_addr.c 2005-03-22 11:53:10.050703627 -0500
+@@ -0,0 +1,26 @@
++/* Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++
++attribute_hidden
++volatile int *
++__aeabi_errno_addr (void)
++{
++ return &errno;
++}
+Index: glibc/sysdeps/arm/eabi/aeabi_lcsts.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_lcsts.c 2005-03-22 11:53:10.050703627 -0500
+@@ -0,0 +1,67 @@
++/* Link-time constants for ARM EABI.
++ Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++/* The ARM EABI requires that we provide ISO compile-time constants as
++ link-time constants. Some portable applications may reference these. */
++
++#include <errno.h>
++#include <limits.h>
++#include <locale.h>
++#include <setjmp.h>
++#include <signal.h>
++#include <stdio.h>
++#include <time.h>
++
++#define eabi_constant2(X,Y) const int __aeabi_##X attribute_hidden = Y
++#define eabi_constant(X) const int __aeabi_##X attribute_hidden = X
++
++eabi_constant (EDOM);
++eabi_constant (ERANGE);
++eabi_constant (EILSEQ);
++
++eabi_constant (MB_LEN_MAX);
++
++eabi_constant (LC_COLLATE);
++eabi_constant (LC_CTYPE);
++eabi_constant (LC_MONETARY);
++eabi_constant (LC_NUMERIC);
++eabi_constant (LC_TIME);
++eabi_constant (LC_ALL);
++
++/* The value of __aeabi_JMP_BUF_SIZE is the number of doublewords in a
++ jmp_buf. */
++eabi_constant2 (JMP_BUF_SIZE, sizeof (jmp_buf) / 8);
++
++eabi_constant (SIGABRT);
++eabi_constant (SIGFPE);
++eabi_constant (SIGILL);
++eabi_constant (SIGINT);
++eabi_constant (SIGSEGV);
++eabi_constant (SIGTERM);
++
++eabi_constant2 (IOFBF, _IOFBF);
++eabi_constant2 (IOLBF, _IOLBF);
++eabi_constant2 (IONBF, _IONBF);
++eabi_constant (BUFSIZ);
++eabi_constant (FOPEN_MAX);
++eabi_constant (TMP_MAX);
++eabi_constant (FILENAME_MAX);
++eabi_constant (L_tmpnam);
++
++eabi_constant (CLOCKS_PER_SEC);
+Index: glibc/sysdeps/arm/eabi/aeabi_localeconv.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_localeconv.c 2005-03-22 11:53:10.050703627 -0500
+@@ -0,0 +1,26 @@
++/* Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <locale.h>
++
++attribute_hidden
++struct lconv *
++__aeabi_localeconv (void)
++{
++ return localeconv ();
++}
+Index: glibc/sysdeps/arm/eabi/aeabi_math.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_math.c 2005-03-22 11:53:10.050703627 -0500
+@@ -0,0 +1,25 @@
++/* Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <math.h>
++
++const double __aeabi_HUGE_VAL attribute_hidden = HUGE_VAL;
++const long double __aeabi_HUGE_VALL attribute_hidden = HUGE_VALL;
++const float __aeabi_HUGE_VALF attribute_hidden = HUGE_VALF;
++const float __aeabi_INFINITY attribute_hidden = INFINITY;
++const float __aeabi_NAN attribute_hidden = NAN;
+Index: glibc/sysdeps/arm/eabi/aeabi_mb_cur_max.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_mb_cur_max.c 2005-03-22 11:53:10.051703385 -0500
+@@ -0,0 +1,28 @@
++/* Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <langinfo.h>
++#include <locale.h>
++#include <stdlib.h>
++#include <locale/localeinfo.h>
++
++int attribute_hidden
++__aeabi_MB_CUR_MAX (void)
++{
++ return MB_CUR_MAX;
++}
+Index: glibc/sysdeps/arm/eabi/aeabi_sighandlers.S
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_sighandlers.S 2005-03-22 11:53:10.051703385 -0500
+@@ -0,0 +1,37 @@
++/* Link-time constants for ARM EABI - signal handlers.
++ Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++/* The ARM EABI defines these as "functions". */
++
++#include <sysdep.h>
++
++ .global __aeabi_SIG_DFL
++ .hidden __aeabi_SIG_DFL
++ .type __aeabi_SIG_DFL, %function
++ .set __aeabi_SIG_DFL, 0
++
++ .global __aeabi_SIG_IGN
++ .hidden __aeabi_SIG_IGN
++ .type __aeabi_SIG_IGN, %function
++ .set __aeabi_SIG_IGN, 1
++
++ .global __aeabi_SIG_ERR
++ .hidden __aeabi_SIG_ERR
++ .type __aeabi_SIG_ERR, %function
++ .set __aeabi_SIG_ERR, -1
+Index: glibc/sysdeps/arm/eabi/aeabi_unwind_cpp_pr1.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/aeabi_unwind_cpp_pr1.c 2005-03-22 11:53:10.051703385 -0500
+@@ -0,0 +1,28 @@
++/* Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++/* Because some objects in ld.so and libc.so are built with
++ -fexceptions, we end up with references to this personality
++ routine. However, these libraries are not linked against
++ libgcc_eh.a, so we need a dummy definition. This routine will
++ never actually be called. */
++
++void
++__aeabi_unwind_cpp_pr1 (void)
++{
++}
+Index: glibc/sysdeps/arm/eabi/bits/huge_val.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/bits/huge_val.h 2005-03-22 11:53:10.051703385 -0500
+@@ -0,0 +1,55 @@
++/* `HUGE_VAL' constant for IEEE 754 machines (where it is infinity).
++ Used by <stdlib.h> and <math.h> functions for overflow.
++ Copyright (C) 1992, 1995, 1996, 1997, 1999, 2000, 2004
++ Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _MATH_H
++# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
++#endif
++
++/* IEEE positive infinity (-HUGE_VAL is negative infinity). */
++
++#if __GNUC_PREREQ(3,3)
++# define HUGE_VAL (__builtin_huge_val())
++#elif __GNUC_PREREQ(2,96)
++# define HUGE_VAL (__extension__ 0x1.0p2047)
++#elif defined __GNUC__
++
++# define HUGE_VAL \
++ (__extension__ \
++ ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; }) \
++ { __l: 0x7ff0000000000000ULL }).__d)
++
++#else /* not GCC */
++
++# include <endian.h>
++
++typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
++
++# if __BYTE_ORDER == __BIG_ENDIAN
++# define __HUGE_VAL_bytes { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }
++# endif
++# if __BYTE_ORDER == __LITTLE_ENDIAN
++# define __HUGE_VAL_bytes { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }
++# endif
++
++static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
++# define HUGE_VAL (__huge_val.__d)
++
++#endif /* GCC. */
+Index: glibc/sysdeps/arm/eabi/bits/setjmp.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/bits/setjmp.h 2005-03-22 11:53:10.052703143 -0500
+@@ -0,0 +1,45 @@
++/* Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */
++
++#ifndef _BITS_SETJMP_H
++#define _BITS_SETJMP_H 1
++
++#if !defined _SETJMP_H && !defined _PTHREAD_H
++# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
++#endif
++
++#ifndef _ASM
++/* The exact set of registers saved may depend on the particular core
++ in use, as some coprocessor registers may need to be saved. The C
++ Library ABI requires that the buffer be 8-byte aligned, and
++ recommends that the buffer contain 64 words. The first 28 words
++ are occupied by v1-v6, sl, fp, sp, pc, d8-d15, and fpscr. (Note
++ that d8-15 require 17 words, due to the use of fstmx.) */
++typedef int __jmp_buf[64] __attribute__((aligned (8)));
++#endif
++
++#define __JMP_BUF_SP 8
++
++/* Test if longjmp to JMPBUF would unwind the frame
++ containing a local variable at ADDRESS. */
++#define _JMPBUF_UNWINDS(jmpbuf, address) \
++ ((void *) (address) < (void *) (jmpbuf[__JMP_BUF_SP]))
++
++#endif
+Index: glibc/sysdeps/arm/eabi/find_exidx.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/find_exidx.c 2005-03-22 11:53:10.052703143 -0500
+@@ -0,0 +1,80 @@
++/* Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <link.h>
++#include <unwind.h>
++
++struct unw_eh_callback_data
++{
++ _Unwind_Ptr pc;
++ _Unwind_Ptr exidx_start;
++ int exidx_len;
++};
++
++
++/* Callback to determins if the PC lies within an object, and remember the
++ location of the exception index table if it does. */
++
++static int
++find_exidx_callback (struct dl_phdr_info * info, size_t size, void * ptr)
++{
++ struct unw_eh_callback_data * data;
++ const ElfW(Phdr) *phdr;
++ int i;
++ int match;
++ _Unwind_Ptr load_base;
++
++ data = (struct unw_eh_callback_data *) ptr;
++ load_base = info->dlpi_addr;
++ phdr = info->dlpi_phdr;
++
++ match = 0;
++ for (i = info->dlpi_phnum; i > 0; i--, phdr++)
++ {
++ if (phdr->p_type == PT_LOAD)
++ {
++ _Unwind_Ptr vaddr = phdr->p_vaddr + load_base;
++ if (data->pc >= vaddr && data->pc < vaddr + phdr->p_memsz)
++ match = 1;
++ }
++ else if (phdr->p_type == PT_ARM_EXIDX)
++ {
++ data->exidx_start = (_Unwind_Ptr) (phdr->p_vaddr + load_base);
++ data->exidx_len = phdr->p_memsz;
++ }
++ }
++
++ return match;
++}
++
++
++/* Find the exception index table containing PC. */
++
++_Unwind_Ptr
++__gnu_Unwind_Find_exidx (_Unwind_Ptr pc, int * pcount)
++{
++ struct unw_eh_callback_data data;
++
++ data.pc = pc;
++ data.exidx_start = 0;
++ if (dl_iterate_phdr (find_exidx_callback, &data) <= 0)
++ return 0;
++
++ *pcount = data.exidx_len / 8;
++ return data.exidx_start;
++}
+Index: glibc/sysdeps/arm/eabi/fpu/__longjmp.S
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/__longjmp.S 2005-03-22 11:53:10.052703143 -0500
+@@ -0,0 +1,43 @@
++/* longjmp for ARM.
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <sysdep.h>
++#define _SETJMP_H
++#define _ASM
++#include <bits/setjmp.h>
++
++/* __longjmp(jmpbuf, val) */
++
++ENTRY (__longjmp)
++ mov ip, r0 /* save jmp_buf pointer */
++
++ movs r0, r1 /* get the return value in place */
++ moveq r0, #1 /* can't let setjmp() return zero! */
++
++ /* Restore the integer registers. */
++ LOADREGS(ia, ip!, {v1-v6, sl, fp, sp, lr})
++
++ /* Restore the VFP registers. */
++ fldmiax ip!, {d8-d15}
++ /* Restore the floating-point status register. */
++ ldr r1, [ip], #4
++ fmxr fpscr, r1
++
++ DO_RET(lr)
++END (__longjmp)
+Index: glibc/sysdeps/arm/eabi/fpu/bits/fenv.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/bits/fenv.h 2005-03-22 12:34:55.511467536 -0500
+@@ -0,0 +1,74 @@
++/* Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _FENV_H
++# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
++#endif
++
++/* Define bits representing exceptions in the FPU status word. */
++enum
++ {
++ FE_INVALID = 1,
++#define FE_INVALID FE_INVALID
++ FE_DIVBYZERO = 2,
++#define FE_DIVBYZERO FE_DIVBYZERO
++ FE_OVERFLOW = 4,
++#define FE_OVERFLOW FE_OVERFLOW
++ FE_UNDERFLOW = 8,
++#define FE_UNDERFLOW FE_UNDERFLOW
++ FE_INEXACT = 16,
++#define FE_INEXACT FE_INEXACT
++ };
++
++/* Amount to shift by to convert an exception to a mask bit. */
++#define FE_EXCEPT_SHIFT 8
++
++/* All supported exceptions. */
++#define FE_ALL_EXCEPT \
++ (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT)
++
++/* VFP supports all of the four defined rounding modes. */
++enum
++ {
++ FE_TONEAREST = 0,
++#define FE_TONEAREST FE_TONEAREST
++ FE_UPWARD = 0x400000,
++#define FE_UPWARD FE_UPWARD
++ FE_DOWNWARD = 0x800000,
++#define FE_DOWNWARD FE_DOWNWARD
++ FE_TOWARDZERO = 0xc00000
++#define FE_TOWARDZERO FE_TOWARDZERO
++ };
++
++/* Type representing exception flags. */
++typedef unsigned int fexcept_t;
++
++/* Type representing floating-point environment. */
++typedef struct
++ {
++ unsigned int __cw;
++ }
++fenv_t;
++
++/* If the default argument is used we use this value. */
++#define FE_DFL_ENV ((fenv_t *) -1l)
++
++#ifdef __USE_GNU
++/* Floating-point environment where none of the exceptions are masked. */
++# define FE_NOMASK_ENV ((__const fenv_t *) -2)
++#endif
+Index: glibc/sysdeps/arm/eabi/fpu/fclrexcpt.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/fclrexcpt.c 2005-03-22 11:53:10.053702900 -0500
+@@ -0,0 +1,50 @@
++/* Clear given exceptions in current floating-point environment.
++ Copyright (C) 1997,98,99,2000,01 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <fenv.h>
++#include <fpu_control.h>
++
++int
++__feclearexcept (int excepts)
++{
++ unsigned long int temp;
++
++ /* Mask out unsupported bits/exceptions. */
++ excepts &= FE_ALL_EXCEPT;
++
++ /* Get the current floating point status. */
++ _FPU_GETCW (temp);
++
++ /* Clear the relevant bits. */
++ temp = (temp & ~FE_ALL_EXCEPT) | (temp & FE_ALL_EXCEPT & ~excepts);
++
++ /* Put the new data in effect. */
++ _FPU_SETCW (temp);
++
++ /* Success. */
++ return 0;
++}
++
++#include <shlib-compat.h>
++#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
++strong_alias (__feclearexcept, __old_feclearexcept)
++compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
++#endif
++
++versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
+Index: glibc/sysdeps/arm/eabi/fpu/fegetround.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/fegetround.c 2005-03-22 11:53:10.053702900 -0500
+@@ -0,0 +1,32 @@
++/* Return current rounding direction.
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <fenv.h>
++#include <fpu_control.h>
++
++int
++fegetround (void)
++{
++ unsigned int temp;
++
++ /* Get the current environment. */
++ _FPU_GETCW (temp);
++
++ return temp & FE_TOWARDZERO;
++}
+Index: glibc/sysdeps/arm/eabi/fpu/fesetenv.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/fesetenv.c 2005-03-22 12:34:55.521465156 -0500
+@@ -0,0 +1,46 @@
++/* Install given floating-point environment.
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <fenv.h>
++#include <fpu_control.h>
++
++int
++__fesetenv (const fenv_t *envp)
++{
++ unsigned int temp;
++
++ _FPU_GETCW (temp);
++ temp &= _FPU_RESERVED;
++
++ if (envp == FE_DFL_ENV)
++ temp |= _FPU_DEFAULT;
++ else if (envp == FE_NOMASK_ENV)
++ temp |= _FPU_IEEE;
++ else
++ temp |= envp->__cw & ~_FPU_RESERVED;
++
++ _FPU_SETCW (temp);
++
++ /* Success. */
++ return 0;
++}
++
++#include <shlib-compat.h>
++libm_hidden_ver (__fesetenv, fesetenv)
++versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
+Index: glibc/sysdeps/arm/eabi/fpu/fesetround.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/fesetround.c 2005-03-22 11:53:10.053702900 -0500
+@@ -0,0 +1,41 @@
++/* Set current rounding direction.
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <fenv.h>
++#include <fpu_control.h>
++
++int
++fesetround (int round)
++{
++ fpu_control_t temp;
++
++ switch (round)
++ {
++ case FE_TONEAREST:
++ case FE_UPWARD:
++ case FE_DOWNWARD:
++ case FE_TOWARDZERO:
++ _FPU_GETCW (temp);
++ temp = (temp & ~FE_TOWARDZERO) | round;
++ _FPU_SETCW (temp);
++ return 0;
++ default:
++ return 1;
++ }
++}
+Index: glibc/sysdeps/arm/eabi/fpu/fpu_control.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/fpu_control.h 2005-03-22 12:34:55.521465156 -0500
+@@ -0,0 +1,47 @@
++/* FPU control word definitions. ARM VFP version.
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _FPU_CONTROL_H
++#define _FPU_CONTROL_H
++
++/* masking of interrupts */
++#define _FPU_MASK_IM 0x00000100 /* invalid operation */
++#define _FPU_MASK_ZM 0x00000200 /* divide by zero */
++#define _FPU_MASK_OM 0x00000400 /* overflow */
++#define _FPU_MASK_UM 0x00000800 /* underflow */
++#define _FPU_MASK_PM 0x00001000 /* inexact */
++
++/* Some bits in the FPSCR are not yet defined. They must be preserved when
++ modifying the contents. */
++#define _FPU_RESERVED 0x0e08e0e0
++#define _FPU_DEFAULT 0x00000000
++/* Default + exceptions enabled. */
++#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00)
++
++/* Type of the control word. */
++typedef unsigned int fpu_control_t;
++
++/* Macros for accessing the hardware control word. */
++#define _FPU_GETCW(cw) __asm__ __volatile__ ("fmrx %0, fpscr" : "=r" (cw))
++#define _FPU_SETCW(cw) __asm__ __volatile__ ("fmxr fpscr, %0" : : "r" (cw))
++
++/* Default control word set at startup. */
++extern fpu_control_t __fpu_control;
++
++#endif /* _FPU_CONTROL_H */
+Index: glibc/sysdeps/arm/eabi/fpu/setjmp.S
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/setjmp.S 2005-03-22 11:53:10.054702658 -0500
+@@ -0,0 +1,39 @@
++/* setjmp for ARM.
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <sysdep.h>
++#define _SETJMP_H
++#define _ASM
++#include <bits/setjmp.h>
++
++ENTRY (__sigsetjmp)
++ mov ip, r0
++
++ /* Store the integer registers. */
++ stmia ip!, {v1-v6, sl, fp, sp, lr}
++
++ /* Store the VFP registers. */
++ fstmiax ip!, {d8-d15}
++ /* Store the floating-point status register. */
++ fmrx r2, fpscr
++ str r2, [ip], #4
++
++ /* Make a tail call to __sigjmp_save; it takes the same args. */
++ B PLTJMP(C_SYMBOL_NAME(__sigjmp_save))
++END (__sigsetjmp)
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/configure
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/configure 2005-03-22 11:53:10.054702658 -0500
+@@ -0,0 +1,5 @@
++# This file is generated from configure.in by Autoconf. DO NOT EDIT!
++ # Local configure fragment for sysdeps/unix/sysv/linux/arm/eabi.
++
++arch_minimum_kernel=2.4.17
++libc_cv_gcc_unwind_find_fde=no
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/configure.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/configure.in 2005-03-22 11:53:10.054702658 -0500
+@@ -0,0 +1,5 @@
++GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
++# Local configure fragment for sysdeps/unix/sysv/linux/arm/eabi.
++
++arch_minimum_kernel=2.4.17
++libc_cv_gcc_unwind_find_fde=no
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/epoll_ctl.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/epoll_ctl.c 2005-03-22 11:53:10.054702658 -0500
+@@ -0,0 +1,37 @@
++/* epoll_ctl wrapper for ARM EABI.
++ Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <sysdep.h>
++#include <errno.h>
++#include <sys/epoll.h>
++
++#include <kernel_epoll.h>
++
++int
++epoll_ctl (int __epfd, int __op, int __fd, struct epoll_event *__event)
++{
++ struct kernel_epoll_event k_event;
++
++ k_event.events = __event->events;
++ memcpy (&k_event.data, &__event->data, sizeof (k_event.data));
++
++ return INLINE_SYSCALL (epoll_ctl, 4, __epfd, __op, __fd, &k_event);
++}
++
++libc_hidden_def (epoll_ctl)
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/epoll_wait.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/epoll_wait.c 2005-03-22 11:53:10.055702416 -0500
+@@ -0,0 +1,54 @@
++/* epoll_ctl wrapper for ARM EABI.
++ Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <sysdep.h>
++#include <errno.h>
++#include <sys/epoll.h>
++#include <stdlib.h>
++
++#include <kernel_epoll.h>
++
++int
++epoll_wait (int __epfd, struct epoll_event *__events,
++ int __maxevents, int __timeout);
++{
++ struct kernel_epoll_event *k_events;
++ int result;
++
++ k_events = malloc (sizeof (struct kernel_epoll_event) * __maxevents);
++ if (k_events == NULL)
++ {
++ __set_errno (ENOMEM);
++ return -1;
++ }
++
++ result = INLINE_SYSCALL (epoll_wait, 4, __epfd, __events, k_events,
++ __timeout);
++
++ for (i = 0; i < result; i++)
++ {
++ __events[i].events = k_events[i].events;
++ memcpy (&__events[i].data, &k_events[i].data, sizeof (k_events[i].data));
++ }
++
++ free (k_events);
++ return result;
++}
++
++libc_hidden_def (epoll_wait)
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/fstatfs64.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/fstatfs64.c 2005-03-22 11:53:10.055702416 -0500
+@@ -0,0 +1,76 @@
++/* Return information about the filesystem on which FD resides.
++ Copyright (C) 1996,1997,1998,1999,2000,2003,2005
++ Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <string.h>
++#include <sys/statfs.h>
++#include <stddef.h>
++#include <sysdep.h>
++
++/* Defined in statfs64.c. */
++extern int __no_statfs64 attribute_hidden;
++
++/* Return information about the filesystem on which FD resides. */
++int
++__fstatfs64 (int fd, struct statfs64 *buf)
++{
++#ifdef __NR_fstatfs64
++# if __ASSUME_STATFS64 == 0
++ if (! __no_statfs64)
++# endif
++ {
++ /* The EABI structure is the same as the old ABI structure, except
++ that it has four additional bytes of padding - at the end. We can
++ ignore them. */
++ int result = INLINE_SYSCALL (fstatfs64, 3, fd, sizeof (*buf) - 4, buf);
++
++# if __ASSUME_STATFS64 == 0
++ if (result == 0 || errno != ENOSYS)
++# endif
++ return result;
++
++# if __ASSUME_STATFS64 == 0
++ __no_statfs64 = 1;
++# endif
++ }
++#endif
++
++#if __ASSUME_STATFS64 == 0
++ struct statfs buf32;
++
++ if (__fstatfs (fd, &buf32) < 0)
++ return -1;
++
++ buf->f_type = buf32.f_type;
++ buf->f_bsize = buf32.f_bsize;
++ buf->f_blocks = buf32.f_blocks;
++ buf->f_bfree = buf32.f_bfree;
++ buf->f_bavail = buf32.f_bavail;
++ buf->f_files = buf32.f_files;
++ buf->f_ffree = buf32.f_ffree;
++ buf->f_fsid = buf32.f_fsid;
++ buf->f_namelen = buf32.f_namelen;
++ buf->f_frsize = buf32.f_frsize;
++ memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
++
++ return 0;
++#endif
++}
++weak_alias (__fstatfs64, fstatfs64)
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/fxstat64.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/fxstat64.c 2005-03-22 11:53:10.055702416 -0500
+@@ -0,0 +1,100 @@
++/* fxstat64 using old-style Unix fstat system call.
++ Copyright (C) 1997-2002, 2003, 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <stddef.h>
++#include <sys/stat.h>
++#include <kernel_stat.h>
++
++#include <sysdep.h>
++#include <sys/syscall.h>
++#include <bp-checks.h>
++
++#include "kernel-features.h"
++
++#if __ASSUME_STAT64_SYSCALL == 0
++# include <xstatconv.h>
++#endif
++
++#ifdef __NR_fstat64
++# if __ASSUME_STAT64_SYSCALL == 0
++/* The variable is shared between all wrappers around *stat64 calls. */
++extern int __have_no_stat64;
++# endif
++#endif
++
++/* Get information about the file FD in BUF. */
++
++int
++___fxstat64 (int vers, int fd, struct stat64 *buf)
++{
++ int result;
++ struct kernel_stat64 kbuf64;
++
++#if __ASSUME_STAT64_SYSCALL > 0
++ result = INLINE_SYSCALL (fstat64, 2, fd, CHECK_1 (&kbuf64));
++ if (result == 0)
++ result = __xstat64_kernel64_conv (vers, &kbuf64, buf);
++# if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
++ if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
++ buf->st_ino = buf->__st_ino;
++# endif
++ return result;
++#else
++ struct kernel_stat kbuf;
++# if defined __NR_fstat64
++ if (! __have_no_stat64)
++ {
++ int saved_errno = errno;
++ result = INLINE_SYSCALL (fstat64, 2, fd, CHECK_1 (&kbuf64));
++
++ if (result != -1 || errno != ENOSYS)
++ {
++ if (result == 0)
++ result = __xstat64_kernel64_conv (vers, &kbuf64, buf);
++# if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
++ if (!result && buf->__st_ino != (__ino_t)buf->st_ino)
++ buf->st_ino = buf->__st_ino;
++# endif
++ return result;
++ }
++
++ __set_errno (saved_errno);
++ __have_no_stat64 = 1;
++ }
++# endif
++ result = INLINE_SYSCALL (fstat, 2, fd, __ptrvalue (&kbuf));
++ if (result == 0)
++ result = __xstat64_conv (vers, &kbuf, buf);
++
++ return result;
++#endif
++}
++
++#include <shlib-compat.h>
++
++#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
++versioned_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
++strong_alias (___fxstat64, __old__fxstat64)
++compat_symbol (libc, __old__fxstat64, __fxstat64, GLIBC_2_1);
++hidden_ver (___fxstat64, __fxstat64)
++#else
++strong_alias (___fxstat64, __fxstat64)
++hidden_def (__fxstat64)
++#endif
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/kernel_stat.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/kernel_stat.h 2005-03-22 11:53:10.056702174 -0500
+@@ -0,0 +1,59 @@
++/* Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <sysdeps/unix/sysv/linux/kernel_stat.h>
++
++/* kernel_stat64 is just like stat64, except packed. The EABI aligns
++ st_size to an eight byte boundary but the old ABI only aligns it to
++ four. Similarly st_blocks. */
++struct kernel_stat64
++ {
++ __dev_t st_dev; /* Device. */
++ unsigned int __pad1;
++
++ __ino_t __st_ino; /* 32bit file serial number. */
++ __mode_t st_mode; /* File mode. */
++ __nlink_t st_nlink; /* Link count. */
++ __uid_t st_uid; /* User ID of the file's owner. */
++ __gid_t st_gid; /* Group ID of the file's group.*/
++ __dev_t st_rdev; /* Device number, if device. */
++ unsigned int __pad2;
++ __off64_t st_size; /* Size of file, in bytes. */
++ __blksize_t st_blksize; /* Optimal block size for I/O. */
++
++ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
++#ifdef __USE_MISC
++ /* Nanosecond resolution timestamps are stored in a format
++ equivalent to 'struct timespec'. This is the type used
++ whenever possible but the Unix namespace rules do not allow the
++ identifier 'timespec' to appear in the <sys/stat.h> header.
++ Therefore we have to handle the use of this header in strictly
++ standard-compliant sources special. */
++ struct timespec st_atim; /* Time of last access. */
++ struct timespec st_mtim; /* Time of last modification. */
++ struct timespec st_ctim; /* Time of last status change. */
++#else
++ __time_t st_atime; /* Time of last access. */
++ unsigned long int st_atimensec; /* Nscecs of last access. */
++ __time_t st_mtime; /* Time of last modification. */
++ unsigned long int st_mtimensec; /* Nsecs of last modification. */
++ __time_t st_ctime; /* Time of last status change. */
++ unsigned long int st_ctimensec; /* Nsecs of last status change. */
++#endif
++ __ino64_t st_ino; /* File serial number. */
++ } __attribute__ ((packed,aligned(4)));
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/lxstat64.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/lxstat64.c 2005-03-22 11:53:10.056702174 -0500
+@@ -0,0 +1,99 @@
++/* lxstat64 using old-style Unix lstat system call.
++ Copyright (C) 1997-2002, 2003, 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <stddef.h>
++#include <sys/stat.h>
++#include <kernel_stat.h>
++
++#include <sysdep.h>
++#include <sys/syscall.h>
++#include <bp-checks.h>
++
++#include "kernel-features.h"
++
++#if __ASSUME_STAT64_SYSCALL == 0
++# include <xstatconv.h>
++#endif
++
++#ifdef __NR_lstat64
++# if __ASSUME_STAT64_SYSCALL == 0
++/* The variable is shared between all wrappers around *stat64 calls. */
++extern int __have_no_stat64;
++# endif
++#endif
++
++/* Get information about the file NAME in BUF. */
++int
++___lxstat64 (int vers, const char *name, struct stat64 *buf)
++{
++ int result;
++ struct kernel_stat64 kbuf64;
++
++#ifdef __ASSUME_STAT64_SYSCALL
++ result = INLINE_SYSCALL (lstat64, 2, CHECK_STRING (name), CHECK_1 (&kbuf64));
++ if (result == 0)
++ result = __xstat64_kernel64_conv (vers, &kbuf64, buf);
++# if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
++ if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
++ buf->st_ino = buf->__st_ino;
++# endif
++ return result;
++#else
++ struct kernel_stat kbuf;
++# ifdef __NR_lstat64
++ if (! __have_no_stat64)
++ {
++ int saved_errno = errno;
++ result = INLINE_SYSCALL (lstat64, 2, CHECK_STRING (name), CHECK_1 (&kbuf64));
++
++ if (result != -1 || errno != ENOSYS)
++ {
++ if (result == 0)
++ result = __xstat64_kernel64_conv (vers, &kbuf64, buf);
++# if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
++ if (!result && buf->__st_ino != (__ino_t) buf->st_ino)
++ buf->st_ino = buf->__st_ino;
++# endif
++ return result;
++ }
++
++ __set_errno (saved_errno);
++ __have_no_stat64 = 1;
++ }
++# endif
++ result = INLINE_SYSCALL (lstat, 2, CHECK_STRING (name), __ptrvalue (&kbuf));
++ if (result == 0)
++ result = __xstat64_conv (vers, &kbuf, buf);
++
++ return result;
++#endif
++}
++
++#include <shlib-compat.h>
++
++#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
++versioned_symbol (libc, ___lxstat64, __lxstat64, GLIBC_2_2);
++strong_alias (___lxstat64, __old__lxstat64)
++compat_symbol (libc, __old__lxstat64, __lxstat64, GLIBC_2_1);
++hidden_ver (___lxstat64, __lxstat64)
++#else
++strong_alias (___lxstat64, __lxstat64);
++hidden_def (__lxstat64)
++#endif
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/oldgetrlimit.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/oldgetrlimit.c 2005-03-22 11:53:10.056702174 -0500
+@@ -0,0 +1 @@
++/* Empty. */
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/oldsetrlimit.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/oldsetrlimit.c 2005-03-22 11:53:10.056702174 -0500
+@@ -0,0 +1 @@
++/* Empty. */
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/semop.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/semop.c 2005-03-22 11:53:10.056702174 -0500
+@@ -0,0 +1,67 @@
++/* Copyright (C) 1995, 1997, 1998, 1999, 2000, 2005
++ Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <sys/sem.h>
++#include <ipc_priv.h>
++#include <alloca.h>
++#include <sysdep.h>
++#include <sys/syscall.h>
++#include <bp-checks.h>
++
++struct kernel_sembuf
++{
++ unsigned short int sem_num; /* semaphore number */
++ short int sem_op; /* semaphore operation */
++ short int sem_flg; /* operation flag */
++ short int __pad1;
++};
++
++/* Perform user-defined atomical operation of array of semaphores. */
++
++int
++semop (semid, sops, nsops)
++ int semid;
++ struct sembuf *sops;
++ size_t nsops;
++{
++ struct kernel_sembuf *ksops = alloca (sizeof (sops[0]) * nsops);
++ size_t i;
++ int result;
++
++ for (i = 0; i < nsops; i++)
++ {
++ ksops[i].sem_num = sops[i].sem_num;
++ ksops[i].sem_op = sops[i].sem_op;
++ ksops[i].sem_flg = sops[i].sem_flg;
++ }
++
++ result = INLINE_SYSCALL (ipc, 5, IPCOP_semop,
++ semid, (int) nsops, 0, CHECK_N (ksops, nsops));
++
++ for (i = 0; i < nsops; i++)
++ {
++ sops[i].sem_num = ksops[i].sem_num;
++ sops[i].sem_op = ksops[i].sem_op;
++ sops[i].sem_flg = ksops[i].sem_flg;
++ }
++
++ return result;
++}
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/semtimedop.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/semtimedop.c 2005-03-22 11:53:10.057701931 -0500
+@@ -0,0 +1,69 @@
++/* Copyright (C) 1995, 1997, 1998, 1999, 2000, 2005
++ Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <sys/sem.h>
++#include <ipc_priv.h>
++#include <alloca.h>
++#include <sysdep.h>
++#include <sys/syscall.h>
++#include <bp-checks.h>
++
++struct kernel_sembuf
++{
++ unsigned short int sem_num; /* semaphore number */
++ short int sem_op; /* semaphore operation */
++ short int sem_flg; /* operation flag */
++ short int __pad1;
++};
++
++/* Perform user-defined atomical operation of array of semaphores. */
++
++int
++semtimedop (semid, sops, nsops, timeout)
++ int semid;
++ struct sembuf *sops;
++ size_t nsops;
++ const struct timespec *timeout;
++{
++ struct kernel_sembuf *ksops = alloca (sizeof (sops[0]) * nsops);
++ size_t i;
++ int result;
++
++ for (i = 0; i < nsops; i++)
++ {
++ ksops[i].sem_num = sops[i].sem_num;
++ ksops[i].sem_op = sops[i].sem_op;
++ ksops[i].sem_flg = sops[i].sem_flg;
++ }
++
++ result = INLINE_SYSCALL (ipc, 6, IPCOP_semtimedop,
++ semid, (int) nsops, 0, CHECK_N (sops, nsops),
++ timeout);
++
++ for (i = 0; i < nsops; i++)
++ {
++ sops[i].sem_num = ksops[i].sem_num;
++ sops[i].sem_op = ksops[i].sem_op;
++ sops[i].sem_flg = ksops[i].sem_flg;
++ }
++
++ return result;
++}
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/statfs64.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/statfs64.c 2005-03-22 11:53:10.057701931 -0500
+@@ -0,0 +1,77 @@
++/* Return information about the filesystem on which FILE resides.
++ Copyright (C) 1996-2000,2003,2004,2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <string.h>
++#include <sys/statfs.h>
++#include <stddef.h>
++#include <sysdep.h>
++
++
++# if __ASSUME_STATFS64 == 0
++int __no_statfs64 attribute_hidden;
++#endif
++
++/* Return information about the filesystem on which FILE resides. */
++int
++__statfs64 (const char *file, struct statfs64 *buf)
++{
++#ifdef __NR_statfs64
++# if __ASSUME_STATFS64 == 0
++ if (! __no_statfs64)
++# endif
++ {
++ /* The EABI structure is the same as the old ABI structure, except
++ that it has four additional bytes of padding - at the end. We can
++ ignore them. */
++ int result = INLINE_SYSCALL (statfs64, 3, file, sizeof (*buf) - 4, buf);
++
++# if __ASSUME_STATFS64 == 0
++ if (result == 0 || errno != ENOSYS)
++# endif
++ return result;
++
++# if __ASSUME_STATFS64 == 0
++ __no_statfs64 = 1;
++# endif
++ }
++#endif
++
++#if __ASSUME_STATFS64 == 0
++ struct statfs buf32;
++
++ if (__statfs (file, &buf32) < 0)
++ return -1;
++
++ buf->f_type = buf32.f_type;
++ buf->f_bsize = buf32.f_bsize;
++ buf->f_blocks = buf32.f_blocks;
++ buf->f_bfree = buf32.f_bfree;
++ buf->f_bavail = buf32.f_bavail;
++ buf->f_files = buf32.f_files;
++ buf->f_ffree = buf32.f_ffree;
++ buf->f_fsid = buf32.f_fsid;
++ buf->f_namelen = buf32.f_namelen;
++ buf->f_frsize = buf32.f_frsize;
++ memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
++
++ return 0;
++#endif
++}
++weak_alias (__statfs64, statfs64)
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/uname.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/uname.c 2005-03-22 11:53:10.057701931 -0500
+@@ -0,0 +1,43 @@
++/* Copyright (C) 2005
++ Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <sysdep.h>
++#include <sys/syscall.h>
++#include <string.h>
++#include <sys/utsname.h>
++
++/* The kernel's struct utsname is two bytes larger than a userland struct
++ utsname due to the APCS structure size boundary. */
++
++int
++__uname (struct utsname *__name)
++{
++ char buf[sizeof (struct utsname) + 2];
++ int result = INLINE_SYSCALL (uname, 1, buf);
++
++ if (result == 0)
++ memcpy (__name, buf, sizeof (struct utsname));
++
++ return result;
++}
++
++libc_hidden_def (__uname)
++strong_alias (__uname, uname)
++libc_hidden_weak (uname)
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/xstat64.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/xstat64.c 2005-03-22 11:53:10.058701689 -0500
+@@ -0,0 +1,103 @@
++/* xstat64 using old-style Unix stat system call.
++ Copyright (C) 1991, 1995-2002, 2003, 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <stddef.h>
++#include <sys/stat.h>
++#include <kernel_stat.h>
++
++#include <sysdep.h>
++#include <sys/syscall.h>
++#include <bp-checks.h>
++
++#include "kernel-features.h"
++
++#if __ASSUME_STAT64_SYSCALL == 0
++# include <xstatconv.h>
++#endif
++
++#ifdef __NR_stat64
++# if __ASSUME_STAT64_SYSCALL == 0
++/* The variable is shared between all wrappers around *stat64 calls.
++ This is the definition. */
++int __have_no_stat64;
++# endif
++#endif
++
++/* Get information about the file NAME in BUF. */
++
++int
++___xstat64 (int vers, const char *name, struct stat64 *buf)
++{
++ int result;
++ struct kernel_stat64 kbuf64;
++
++#if __ASSUME_STAT64_SYSCALL > 0
++ result = INLINE_SYSCALL (stat64, 2, CHECK_STRING (name), CHECK_1 (&kbuf64));
++ if (result == 0)
++ result = __xstat64_kernel64_conv (vers, &kbuf64, buf);
++# if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
++ if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
++ buf->st_ino = buf->__st_ino;
++# endif
++ return result;
++#else
++ struct kernel_stat kbuf;
++# if defined __NR_stat64
++ if (! __have_no_stat64)
++ {
++ int saved_errno = errno;
++ result = INLINE_SYSCALL (stat64, 2, CHECK_STRING (name), CHECK_1 (&kbuf64));
++
++ if (result != -1 || errno != ENOSYS)
++ {
++ if (result == 0)
++ result = __xstat64_kernel64_conv (vers, &kbuf64, buf);
++# if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
++ if (!result && buf->__st_ino != (__ino_t) buf->st_ino)
++ buf->st_ino = buf->__st_ino;
++# endif
++ return result;
++ }
++
++ __set_errno (saved_errno);
++ __have_no_stat64 = 1;
++ }
++# endif
++
++ result = INLINE_SYSCALL (stat, 2, CHECK_STRING (name), __ptrvalue (&kbuf));
++ if (result == 0)
++ result = __xstat64_conv (vers, &kbuf, buf);
++
++ return result;
++#endif
++}
++
++
++#include <shlib-compat.h>
++
++#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
++versioned_symbol (libc, ___xstat64, __xstat64, GLIBC_2_2);
++strong_alias (___xstat64, __old__xstat64)
++compat_symbol (libc, __old__xstat64, __xstat64, GLIBC_2_1);
++hidden_ver (___xstat64, __xstat64)
++#else
++strong_alias (___xstat64, __xstat64)
++hidden_def (__xstat64)
++#endif
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/xstatconv.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/xstatconv.c 2005-03-22 11:53:10.058701689 -0500
+@@ -0,0 +1,341 @@
++/* Convert between the kernel's `struct stat' format, and libc's.
++ Copyright (C) 1991,1995-1997,2000,2002,2003 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <errno.h>
++#include <sys/stat.h>
++#include <kernel_stat.h>
++
++#ifdef STAT_IS_KERNEL_STAT
++
++/* Dummy. */
++struct kernel_stat;
++
++#else
++
++#include <string.h>
++
++
++#if !defined __ASSUME_STAT64_SYSCALL || defined XSTAT_IS_XSTAT64
++int
++__xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
++{
++ switch (vers)
++ {
++ case _STAT_VER_KERNEL:
++ /* Nothing to do. The struct is in the form the kernel expects.
++ We should have short-circuted before we got here, but for
++ completeness... */
++ *(struct kernel_stat *) ubuf = *kbuf;
++ break;
++
++ case _STAT_VER_LINUX:
++ {
++ struct stat *buf = ubuf;
++
++ /* Convert to current kernel version of `struct stat'. */
++ buf->st_dev = kbuf->st_dev;
++#ifdef _HAVE_STAT___PAD1
++ buf->__pad1 = 0;
++#endif
++ buf->st_ino = kbuf->st_ino;
++ buf->st_mode = kbuf->st_mode;
++ buf->st_nlink = kbuf->st_nlink;
++ buf->st_uid = kbuf->st_uid;
++ buf->st_gid = kbuf->st_gid;
++ buf->st_rdev = kbuf->st_rdev;
++#ifdef _HAVE_STAT___PAD2
++ buf->__pad2 = 0;
++#endif
++ buf->st_size = kbuf->st_size;
++ buf->st_blksize = kbuf->st_blksize;
++ buf->st_blocks = kbuf->st_blocks;
++#ifdef _HAVE_STAT_NSEC
++ buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
++ buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
++ buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
++ buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
++ buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
++ buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
++#else
++ buf->st_atime = kbuf->st_atime;
++ buf->st_mtime = kbuf->st_mtime;
++ buf->st_ctime = kbuf->st_ctime;
++#endif
++#ifdef _HAVE_STAT___UNUSED1
++ buf->__unused1 = 0;
++#endif
++#ifdef _HAVE_STAT___UNUSED2
++ buf->__unused2 = 0;
++#endif
++#ifdef _HAVE_STAT___UNUSED3
++ buf->__unused3 = 0;
++#endif
++#ifdef _HAVE_STAT___UNUSED4
++ buf->__unused4 = 0;
++#endif
++#ifdef _HAVE_STAT___UNUSED5
++ buf->__unused5 = 0;
++#endif
++ }
++ break;
++
++ default:
++ __set_errno (EINVAL);
++ return -1;
++ }
++
++ return 0;
++}
++#endif
++
++int
++__xstat64_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
++{
++#ifdef XSTAT_IS_XSTAT64
++ return __xstat_conv (vers, kbuf, ubuf);
++#else
++ switch (vers)
++ {
++ case _STAT_VER_LINUX:
++ {
++ struct stat64 *buf = ubuf;
++
++ /* Convert to current kernel version of `struct stat64'. */
++ buf->st_dev = kbuf->st_dev;
++#ifdef _HAVE_STAT64___PAD1
++ buf->__pad1 = 0;
++#endif
++ buf->st_ino = kbuf->st_ino;
++#ifdef _HAVE_STAT64___ST_INO
++ buf->__st_ino = kbuf->st_ino;
++#endif
++ buf->st_mode = kbuf->st_mode;
++ buf->st_nlink = kbuf->st_nlink;
++ buf->st_uid = kbuf->st_uid;
++ buf->st_gid = kbuf->st_gid;
++ buf->st_rdev = kbuf->st_rdev;
++#ifdef _HAVE_STAT64___PAD2
++ buf->__pad2 = 0;
++#endif
++ buf->st_size = kbuf->st_size;
++ buf->st_blksize = kbuf->st_blksize;
++ buf->st_blocks = kbuf->st_blocks;
++#ifdef _HAVE_STAT64_NSEC
++ buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
++ buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
++ buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
++ buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
++ buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
++ buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
++#else
++ buf->st_atime = kbuf->st_atime;
++ buf->st_mtime = kbuf->st_mtime;
++ buf->st_ctime = kbuf->st_ctime;
++#endif
++#ifdef _HAVE_STAT64___UNUSED1
++ buf->__unused1 = 0;
++#endif
++#ifdef _HAVE_STAT64___UNUSED2
++ buf->__unused2 = 0;
++#endif
++#ifdef _HAVE_STAT64___UNUSED3
++ buf->__unused3 = 0;
++#endif
++#ifdef _HAVE_STAT64___UNUSED4
++ buf->__unused4 = 0;
++#endif
++#ifdef _HAVE_STAT64___UNUSED5
++ buf->__unused5 = 0;
++#endif
++ }
++ break;
++
++ /* If struct stat64 is different from struct stat then
++ _STAT_VER_KERNEL does not make sense. */
++ case _STAT_VER_KERNEL:
++ default:
++ __set_errno (EINVAL);
++ return -1;
++ }
++
++ return 0;
++#endif
++}
++
++int
++__xstat32_conv (int vers, void *kbuf_, struct stat *buf)
++{
++ struct kernel_stat64 *kbuf = kbuf_;
++
++ switch (vers)
++ {
++ case _STAT_VER_LINUX:
++ {
++ /* Convert current kernel version of `struct stat64' to
++ `struct stat'. */
++ buf->st_dev = kbuf->st_dev;
++#ifdef _HAVE_STAT___PAD1
++ buf->__pad1 = 0;
++#endif
++#ifdef _HAVE_STAT64___ST_INO
++# if __ASSUME_ST_INO_64_BIT == 0
++ if (kbuf->st_ino == 0)
++ buf->st_ino = kbuf->__st_ino;
++ else
++# endif
++ {
++ buf->st_ino = kbuf->st_ino;
++ if (sizeof (buf->st_ino) != sizeof (kbuf->st_ino)
++ && buf->st_ino != kbuf->st_ino)
++ {
++ __set_errno (EOVERFLOW);
++ return -1;
++ }
++ }
++#else
++ buf->st_ino = kbuf->st_ino;
++ if (sizeof (buf->st_ino) != sizeof (kbuf->st_ino)
++ && buf->st_ino != kbuf->st_ino)
++ {
++ __set_errno (EOVERFLOW);
++ return -1;
++ }
++#endif
++ buf->st_mode = kbuf->st_mode;
++ buf->st_nlink = kbuf->st_nlink;
++ buf->st_uid = kbuf->st_uid;
++ buf->st_gid = kbuf->st_gid;
++ buf->st_rdev = kbuf->st_rdev;
++#ifdef _HAVE_STAT___PAD2
++ buf->__pad2 = 0;
++#endif
++ buf->st_size = kbuf->st_size;
++ /* Check for overflow. */
++ if (sizeof (buf->st_size) != sizeof (kbuf->st_size)
++ && buf->st_size != kbuf->st_size)
++ {
++ __set_errno (EOVERFLOW);
++ return -1;
++ }
++ buf->st_blksize = kbuf->st_blksize;
++ buf->st_blocks = kbuf->st_blocks;
++ /* Check for overflow. */
++ if (sizeof (buf->st_blocks) != sizeof (kbuf->st_blocks)
++ && buf->st_blocks != kbuf->st_blocks)
++ {
++ __set_errno (EOVERFLOW);
++ return -1;
++ }
++#ifdef _HAVE_STAT_NSEC
++ buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
++ buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
++ buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
++ buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
++ buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
++ buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
++#else
++ buf->st_atime = kbuf->st_atime;
++ buf->st_mtime = kbuf->st_mtime;
++ buf->st_ctime = kbuf->st_ctime;
++#endif
++
++#ifdef _HAVE_STAT___UNUSED1
++ buf->__unused1 = 0;
++#endif
++#ifdef _HAVE_STAT___UNUSED2
++ buf->__unused2 = 0;
++#endif
++#ifdef _HAVE_STAT___UNUSED3
++ buf->__unused3 = 0;
++#endif
++#ifdef _HAVE_STAT___UNUSED4
++ buf->__unused4 = 0;
++#endif
++#ifdef _HAVE_STAT___UNUSED5
++ buf->__unused5 = 0;
++#endif
++ }
++ break;
++
++ /* If struct stat64 is different from struct stat then
++ _STAT_VER_KERNEL does not make sense. */
++ case _STAT_VER_KERNEL:
++ default:
++ __set_errno (EINVAL);
++ return -1;
++ }
++
++ return 0;
++}
++
++int
++__xstat64_kernel64_conv (int vers, void *kbuf_, struct stat64 *buf)
++{
++ struct kernel_stat64 *kbuf = kbuf_;
++
++ switch (vers)
++ {
++ case _STAT_VER_LINUX:
++ {
++ /* Convert current kernel version of `struct stat64' to
++ user version of `struct stat64'. */
++ buf->st_dev = kbuf->st_dev;
++#ifdef _HAVE_STAT64___PAD1
++ buf->__pad1 = kbuf->__pad1;
++#endif
++#ifdef _HAVE_STAT64___ST_INO
++ buf->__st_ino = kbuf->__st_ino;
++#endif
++ buf->st_mode = kbuf->st_mode;
++ buf->st_nlink = kbuf->st_nlink;
++ buf->st_uid = kbuf->st_uid;
++ buf->st_gid = kbuf->st_gid;
++ buf->st_rdev = kbuf->st_rdev;
++#ifdef _HAVE_STAT64___PAD2
++ buf->__pad2 = kbuf->__pad2;
++#endif
++ buf->st_size = kbuf->st_size;
++ buf->st_blksize = kbuf->st_blksize;
++ buf->st_blocks = kbuf->st_blocks;
++#ifdef _HAVE_STAT64_NSEC
++ buf->st_atim.tv_sec = kbuf->st_atim.tv_sec;
++ buf->st_atim.tv_nsec = kbuf->st_atim.tv_nsec;
++ buf->st_mtim.tv_sec = kbuf->st_mtim.tv_sec;
++ buf->st_mtim.tv_nsec = kbuf->st_mtim.tv_nsec;
++ buf->st_ctim.tv_sec = kbuf->st_ctim.tv_sec;
++ buf->st_ctim.tv_nsec = kbuf->st_ctim.tv_nsec;
++#else
++ buf->st_atime = kbuf->st_atime;
++ buf->st_mtime = kbuf->st_mtime;
++ buf->st_ctime = kbuf->st_ctime;
++#endif
++ buf->st_ino = kbuf->st_ino;
++ }
++ break;
++
++ case _STAT_VER_KERNEL:
++ default:
++ __set_errno (EINVAL);
++ return -1;
++ }
++
++ return 0;
++}
++
++#endif
+Index: glibc/sysdeps/unix/sysv/linux/arm/eabi/xstatconv.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/unix/sysv/linux/arm/eabi/xstatconv.h 2005-03-22 11:53:10.058701689 -0500
+@@ -0,0 +1,28 @@
++/* Convert between the kernel's `struct stat' format, and libc's.
++ Copyright (C) 1991,1995-1997,2000,2002,2003 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include "kernel-features.h"
++
++#ifndef STAT_IS_KERNEL_STAT
++extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf);
++extern int __xstat64_conv (int vers, struct kernel_stat *kbuf, void *ubuf);
++#endif
++extern int __xstat32_conv (int vers, void *kbuf, struct stat *buf);
++extern int __xstat64_kernel64_conv (int vers, struct kernel_stat64 *kbuf,
++ struct stat64 *buf);
+Index: glibc/sysdeps/arm/eabi/fpu/fraiseexcpt.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/fraiseexcpt.c 2005-03-22 12:34:55.522464918 -0500
+@@ -0,0 +1,67 @@
++/* Raise given exceptions.
++ Copyright (C) 2004 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <fpu_control.h>
++#include <fenv.h>
++#include <float.h>
++
++int
++feraiseexcept (int excepts)
++{
++ float dummy;
++ int fpscr;
++
++ /* Raise exceptions represented by EXPECTS. But we must raise only
++ one signal at a time. It is important that if the overflow/underflow
++ exception and the inexact exception are given at the same time,
++ the overflow/underflow exception follows the inexact exception. After
++ each exception we read from the fpscr, to force the exception to be
++ raised immediately. */
++
++ /* First: invalid exception. */
++ if (FE_INVALID & excepts)
++ __asm__ __volatile__ ("fdivs %0,%2,%3\n\tfmrx %1, fpscr"
++ : "=w" (dummy), "=r" (fpscr) : "w" (0.0f), "w" (0.0f) );
++
++ /* Next: division by zero. */
++ if (FE_DIVBYZERO & excepts)
++ __asm__ __volatile__ ("fdivs %0,%2,%3\n\tfmrx %1, fpscr"
++ : "=w" (dummy), "=r" (fpscr) : "w" (1.0f), "w" (0.0f) );
++
++ /* Next: overflow. */
++ if (FE_OVERFLOW & excepts)
++ /* There's no way to raise overflow without also raising inexact. */
++ __asm__ __volatile__ ("fadds %0,%2,%3\n\tfmrx %1, fpscr"
++ : "=w" (dummy), "=r" (fpscr) : "w" (FLT_MAX), "w" (1.0e32f) );
++
++ /* Next: underflow. */
++ if (FE_UNDERFLOW & excepts)
++ __asm__ __volatile__ ("fdivs %0,%2,%3\n\tfmrx %1, fpscr"
++ : "=w" (dummy), "=r" (fpscr) : "w" (FLT_MIN), "w" (3.0f) );
++
++ /* Last: inexact. */
++ if (FE_INEXACT & excepts)
++ __asm__ __volatile__ ("fdivs %0,%2,%3\n\tfmrx %1, fpscr"
++ : "=w" (dummy), "=r" (fpscr) : "w" (2.0f), "w" (3.0f) );
++
++ /* Success. */
++ return 0;
++}
++
++libm_hidden_def (feraiseexcept)
+Index: glibc/sysdeps/arm/eabi/fpu/feholdexcpt.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/eabi/fpu/feholdexcpt.c 2005-03-22 12:34:55.521465156 -0500
+@@ -0,0 +1,41 @@
++/* Store current floating-point environment and clear exceptions.
++ Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#include <fenv.h>
++#include <fpu_control.h>
++
++int
++feholdexcept (fenv_t *envp)
++{
++ unsigned long int temp;
++
++ /* Store the environment. */
++ _FPU_GETCW(temp);
++ envp->__cw = temp;
++
++ /* Now set all exceptions to non-stop. */
++ temp &= ~(FE_ALL_EXCEPT << FE_EXCEPT_SHIFT);
++
++ /* And clear all exception flags. */
++ temp &= ~FE_ALL_EXCEPT;
++
++ _FPU_SETCW(temp);
++
++ return 0;
++}
+
diff --git a/meta/packages/glibc/glibc-cvs/eabi-patch-3 b/meta/packages/glibc/glibc-cvs/eabi-patch-3
new file mode 100644
index 0000000000..9bd549ec2b
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/eabi-patch-3
@@ -0,0 +1,430 @@
+From libc-alpha-return-17228-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com Tue Mar 22 16:08:31 2005
+Return-Path: <libc-alpha-return-17228-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 20972 invoked by alias); 22 Mar 2005 16:08:29 -0000
+Mailing-List: contact libc-alpha-help at sources dot redhat dot com; run by ezmlm
+Precedence: bulk
+List-Subscribe: <mailto:libc-alpha-subscribe at sources dot redhat dot com>
+List-Archive: <http://sources.redhat.com/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sources dot redhat dot com>
+List-Help: <mailto:libc-alpha-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs>
+Sender: libc-alpha-owner at sources dot redhat dot com
+Delivered-To: mailing list libc-alpha at sources dot redhat dot com
+Received: (qmail 20165 invoked from network); 22 Mar 2005 16:08:06 -0000
+Received: from unknown (HELO nevyn.them.org) (66.93.172.17)
+ by sourceware dot org with SMTP; 22 Mar 2005 16:08:06 -0000
+Received: from drow by nevyn.them.org with local (Exim 4.50 #1 (Debian))
+ id 1DDlvX-0006tE-Bh; Tue, 22 Mar 2005 11:08:19 -0500
+Date: Tue, 22 Mar 2005 11:08:19 -0500
+From: Daniel Jacobowitz <drow at false dot org>
+To: libc-alpha at sources dot redhat dot com
+Cc: Phil Blundell <pb at reciva dot com>
+Subject: ARM EABI support - changes to existing ARM code
+Message-ID: <20050322160819.GA26216@nevyn.them.org>
+Mail-Followup-To: libc-alpha at sources dot redhat dot com,
+ Phil Blundell <pb at reciva dot com>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+User-Agent: Mutt/1.5.6+20040907i
+
+This patch updates the common ARM files for EABI support. The changes are:
+ - Old ARM ABI targets always use FPA (mixed-endian) byte ordering. EABI
+ targets always use VFP byte ordering for doubles, which is standard
+ ieee754 layout. Removing the arm-specific ieee754.h doesn't break FPA;
+ it was a specialized version of the common header, which handles FPA
+ but also handles VFP.
+ - The stack needs to be aligned to eight bytes instead of just four,
+ including in mmap2 and when shifting _dl_argv.
+ - We need some markers around _start to indicate end-of-stack for the
+ unwinder - ARM EABI does not use either SJLJ exceptions or DWARF-2
+ exceptions. It uses a table based format which seems to be not
+ quite completely unlike DWARF-2.
+
+Do these changes look OK?
+
+--
+Daniel Jacobowitz
+CodeSourcery, LLC
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Handle VFP.
+ * sysdeps/arm/gmp-mparam.h (IEEE_DOUBLE_BIG_ENDIAN,
+ IEEE_DOUBLE_MIXED_ENDIAN): Handle big-endian and VFP.
+ * sysdeps/arm/ieee754.h: Remove.
+
+ * sysdeps/arm/dl-machine.h (_dl_start_user): Align the stack to eight
+ bytes even when shifting arguments.
+ * sysdeps/arm/dl-sysdep.h: New file.
+
+ * sysdeps/arm/elf/start.S (_start): If not using SJLJ exceptions, include
+ EABI unwind markers to terminate unwinding.
+
+ * sysdeps/unix/sysv/linux/arm/mmap64.S: Handle big-endian byte ordering
+ and EABI stack layout.
+
+Index: glibc/sysdeps/arm/bits/endian.h
+===================================================================
+--- glibc.orig/sysdeps/arm/bits/endian.h 2005-03-22 10:26:27.092978200 -0500
++++ glibc/sysdeps/arm/bits/endian.h 2005-03-22 10:27:39.457490903 -0500
+@@ -9,4 +9,9 @@
+ #else
+ #define __BYTE_ORDER __LITTLE_ENDIAN
+ #endif
++
++#ifdef __VFP_FP__
++#define __FLOAT_WORD_ORDER __BYTE_ORDER
++#else
+ #define __FLOAT_WORD_ORDER __BIG_ENDIAN
++#endif
+Index: glibc/sysdeps/arm/dl-machine.h
+===================================================================
+--- glibc.orig/sysdeps/arm/dl-machine.h 2005-03-22 10:26:27.092978200 -0500
++++ glibc/sysdeps/arm/dl-machine.h 2005-03-22 10:27:39.457490903 -0500
+@@ -156,22 +156,19 @@ _dl_start_user:\n\
+ add sl, pc, sl\n\
+ .L_GOT_GOT:\n\
+ ldr r4, [sl, r4]\n\
+- @ get the original arg count\n\
+- ldr r1, [sp]\n\
+ @ save the entry point in another register\n\
+ mov r6, r0\n\
+- @ adjust the stack pointer to skip the extra args\n\
+- add sp, sp, r4, lsl #2\n\
+- @ subtract _dl_skip_args from original arg count\n\
+- sub r1, r1, r4\n\
++ @ get the original arg count\n\
++ ldr r1, [sp]\n\
+ @ get the argv address\n\
+ add r2, sp, #4\n\
+- @ store the new argc in the new stack location\n\
+- str r1, [sp]\n\
++ @ Fix up the stack if necessary.\n\
++ cmp r4, #0\n\
++ bne .L_fixup_stack\n\
++.L_done_fixup:\n\
+ @ compute envp\n\
+ add r3, r2, r1, lsl #2\n\
+ add r3, r3, #4\n\
+-\n\
+ @ now we call _dl_init\n\
+ ldr r0, .L_LOADED\n\
+ ldr r0, [sl, r0]\n\
+@@ -182,12 +179,45 @@ _dl_start_user:\n\
+ add r0, sl, r0\n\
+ @ jump to the user_s entry point\n\
+ " BX(r6) "\n\
++\n\
++ @ iWMMXt and EABI targets require the stack to be eight byte\n\
++ @ aligned - shuffle arguments etc.\n\
++.L_fixup_stack:\n\
++ @ subtract _dl_skip_args from original arg count\n\
++ sub r1, r1, r4\n\
++ @ store the new argc in the new stack location\n\
++ str r1, [sp]\n\
++ @ find the first unskipped argument\n\
++ mov r3, r2\n\
++ add r4, r2, r4, lsl #2\n\
++ @ shuffle argv down\n\
++1: ldr r5, [r4], #4\n\
++ str r5, [r3], #4\n\
++ cmp r5, #0\n\
++ bne 1b\n\
++ @ shuffle envp down\n\
++1: ldr r5, [r4], #4\n\
++ str r5, [r3], #4\n\
++ cmp r5, #0\n\
++ bne 1b\n\
++ @ shuffle auxv down\n\
++1: ldmia r4!, {r0, r5}\n\
++ stmia r3!, {r0, r5}\n\
++ cmp r0, #0\n\
++ bne 1b\n\
++ @ Update _dl_argv\n\
++ ldr r3, .L_ARGV\n\
++ str r2, [sl, r3]\n\
++ b .L_done_fixup\n\
++\n\
+ .L_GET_GOT:\n\
+ .word _GLOBAL_OFFSET_TABLE_ - .L_GOT_GOT - 4\n\
+ .L_SKIP_ARGS:\n\
+ .word _dl_skip_args(GOTOFF)\n\
+ .L_FINI_PROC:\n\
+ .word _dl_fini(GOTOFF)\n\
++.L_ARGV:\n\
++ .word _dl_argv(GOTOFF)\n\
+ .L_LOADED:\n\
+ .word _rtld_local(GOTOFF)\n\
+ .previous\n\
+Index: glibc/sysdeps/arm/dl-sysdep.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ glibc/sysdeps/arm/dl-sysdep.h 2005-03-22 10:27:39.458490675 -0500
+@@ -0,0 +1,41 @@
++/* System-specific settings for dynamic linker code. ARM version.
++ Copyright (C) 2004, 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++#ifndef _DL_SYSDEP_H
++#define _DL_SYSDEP_H 1
++
++/* This macro must be defined to either 0 or 1.
++
++ If 1, then an errno global variable hidden in ld.so will work right with
++ all the errno-using libc code compiled for ld.so, and there is never a
++ need to share the errno location with libc. This is appropriate only if
++ all the libc functions that ld.so uses are called without PLT and always
++ get the versions linked into ld.so rather than the libc ones. */
++
++#ifdef IS_IN_rtld
++# define RTLD_PRIVATE_ERRNO 1
++#else
++# define RTLD_PRIVATE_ERRNO 0
++#endif
++
++/* _dl_argv cannot be attribute_relro, because _dl_start_user
++ might write into it after _dl_start returns. */
++#define DL_ARGV_NOT_RELRO 1
++
++#endif /* dl-sysdep.h */
+Index: glibc/sysdeps/arm/elf/start.S
+===================================================================
+--- glibc.orig/sysdeps/arm/elf/start.S 2005-03-22 10:26:27.096977288 -0500
++++ glibc/sysdeps/arm/elf/start.S 2005-03-22 11:00:35.178522707 -0500
+@@ -1,5 +1,6 @@
+ /* Startup code for ARM & ELF
+- Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software Foundation, Inc.
++ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002, 2005
++ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -62,6 +63,10 @@
+ .globl _start
+ .type _start,#function
+ _start:
++#if !defined(__USING_SJLJ_EXCEPTIONS__)
++ /* Protect against unhandled exceptions. */
++ .fnstart
++#endif
+ /* Fetch address of fini */
+ ldr ip, =__libc_csu_fini
+
+@@ -93,6 +98,11 @@ _start:
+ /* should never get here....*/
+ bl abort
+
++#if !defined(__USING_SJLJ_EXCEPTIONS__)
++ .cantunwind
++ .fnend
++#endif
++
+ /* Define a symbol for the first piece of initialized data. */
+ .data
+ .globl __data_start
+Index: glibc/sysdeps/arm/gmp-mparam.h
+===================================================================
+--- glibc.orig/sysdeps/arm/gmp-mparam.h 2005-03-22 10:26:27.092978200 -0500
++++ glibc/sysdeps/arm/gmp-mparam.h 2005-03-22 11:00:42.795683773 -0500
+@@ -1,6 +1,6 @@
+ /* gmp-mparam.h -- Compiler/machine parameter header file.
+
+-Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
++Copyright (C) 1991, 1993, 1994, 1995, 2005 Free Software Foundation, Inc.
+
+ This file is part of the GNU MP Library.
+
+@@ -26,5 +26,13 @@ MA 02111-1307, USA. */
+ #define BITS_PER_SHORTINT 16
+ #define BITS_PER_CHAR 8
+
+-#define IEEE_DOUBLE_BIG_ENDIAN 0
+-#define IEEE_DOUBLE_MIXED_ENDIAN 1
++#if defined(__ARMEB__)
++# define IEEE_DOUBLE_MIXED_ENDIAN 0
++# define IEEE_DOUBLE_BIG_ENDIAN 1
++#elif defined(__VFP_FP__)
++# define IEEE_DOUBLE_MIXED_ENDIAN 0
++# define IEEE_DOUBLE_BIG_ENDIAN 0
++#else
++# define IEEE_DOUBLE_BIG_ENDIAN 0
++# define IEEE_DOUBLE_MIXED_ENDIAN 1
++#endif
+Index: glibc/sysdeps/arm/ieee754.h
+===================================================================
+--- glibc.orig/sysdeps/arm/ieee754.h 2005-03-22 10:26:27.092978200 -0500
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+@@ -1,115 +0,0 @@
+-/* Copyright (C) 1992, 1995, 1996, 1998 Free Software Foundation, Inc.
+- This file is part of the GNU C Library.
+-
+- The GNU C 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.
+-
+- The GNU C Library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, write to the Free
+- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+- 02111-1307 USA. */
+-
+-#ifndef _IEEE754_H
+-
+-#define _IEEE754_H 1
+-#include <features.h>
+-
+-#include <endian.h>
+-
+-__BEGIN_DECLS
+-
+-union ieee754_float
+- {
+- float f;
+-
+- /* This is the IEEE 754 single-precision format. */
+- struct
+- {
+- unsigned int mantissa:23;
+- unsigned int exponent:8;
+- unsigned int negative:1;
+- } ieee;
+-
+- /* This format makes it easier to see if a NaN is a signalling NaN. */
+- struct
+- {
+- unsigned int mantissa:22;
+- unsigned int quiet_nan:1;
+- unsigned int exponent:8;
+- unsigned int negative:1;
+- } ieee_nan;
+- };
+-
+-#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
+-
+-
+-union ieee754_double
+- {
+- double d;
+-
+- /* This is the IEEE 754 double-precision format. */
+- struct
+- {
+- unsigned int mantissa0:20;
+- unsigned int exponent:11;
+- unsigned int negative:1;
+- unsigned int mantissa1:32;
+- } ieee;
+-
+- /* This format makes it easier to see if a NaN is a signalling NaN. */
+- struct
+- {
+- unsigned int mantissa0:19;
+- unsigned int quiet_nan:1;
+- unsigned int exponent:11;
+- unsigned int negative:1;
+- unsigned int mantissa1:32;
+- } ieee_nan;
+- };
+-
+-#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
+-
+-
+-/* The following two structures are correct for `new' floating point systems but
+- wrong for the old FPPC. The only solution seems to be to avoid their use on
+- old hardware. */
+-
+-union ieee854_long_double
+- {
+- long double d;
+-
+- /* This is the IEEE 854 double-extended-precision format. */
+- struct
+- {
+- unsigned int exponent:15;
+- unsigned int empty:16;
+- unsigned int negative:1;
+- unsigned int mantissa1:32;
+- unsigned int mantissa0:32;
+- } ieee;
+-
+- /* This is for NaNs in the IEEE 854 double-extended-precision format. */
+- struct
+- {
+- unsigned int exponent:15;
+- unsigned int empty:16;
+- unsigned int negative:1;
+- unsigned int mantissa1:32;
+- unsigned int mantissa0:30;
+- unsigned int quiet_nan:1;
+- unsigned int one:1;
+- } ieee_nan;
+- };
+-
+-#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
+-
+-__END_DECLS
+-
+-#endif /* ieee754.h */
+Index: glibc/sysdeps/unix/sysv/linux/arm/mmap64.S
+===================================================================
+--- glibc.orig/sysdeps/unix/sysv/linux/arm/mmap64.S 2005-03-22 10:26:27.097977060 -0500
++++ glibc/sysdeps/unix/sysv/linux/arm/mmap64.S 2005-03-22 11:00:53.051209928 -0500
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
++/* Copyright (C) 2000, 2003, 2005 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -23,13 +23,28 @@
+
+ #include "kernel-features.h"
+
++#ifdef __ARM_EABI__
++# define INITIAL_OFFSET 8
++#else
++# define INITIAL_OFFSET 4
++#endif
++
++#ifdef __ARMEB__
++# define LOW_OFFSET INITIAL_OFFSET + 4
++/* The initial + 4 is for the stack postdecrement. */
++# define HIGH_OFFSET 4 + INITIAL_OFFSET + 0
++#else
++# define LOW_OFFSET INITIAL_OFFSET + 0
++# define HIGH_OFFSET 4 + INITIAL_OFFSET + 4
++#endif
++
+ /* The mmap2 system call takes six arguments, all in registers. */
+ .text
+ ENTRY (__mmap64)
+ #ifdef __NR_mmap2
+- ldr ip, [sp, $4] @ offset low part
++ ldr ip, [sp, $LOW_OFFSET] @ offset low part
+ str r5, [sp, #-4]!
+- ldr r5, [sp, $12] @ offset high part
++ ldr r5, [sp, $HIGH_OFFSET] @ offset high part
+ str r4, [sp, #-4]!
+ movs r4, ip, lsl $20 @ check that offset is page-aligned
+ mov ip, ip, lsr $12
+
diff --git a/meta/packages/glibc/glibc-cvs/eabi-patch-4 b/meta/packages/glibc/glibc-cvs/eabi-patch-4
new file mode 100644
index 0000000000..45166ef960
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/eabi-patch-4
@@ -0,0 +1,64 @@
+From libc-alpha-return-17230-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com Tue Mar 22 16:25:01 2005
+Return-Path: <libc-alpha-return-17230-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 7764 invoked by alias); 22 Mar 2005 16:24:20 -0000
+Mailing-List: contact libc-alpha-help at sources dot redhat dot com; run by ezmlm
+Precedence: bulk
+List-Subscribe: <mailto:libc-alpha-subscribe at sources dot redhat dot com>
+List-Archive: <http://sources.redhat.com/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sources dot redhat dot com>
+List-Help: <mailto:libc-alpha-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs>
+Sender: libc-alpha-owner at sources dot redhat dot com
+Delivered-To: mailing list libc-alpha at sources dot redhat dot com
+Received: (qmail 7316 invoked from network); 22 Mar 2005 16:23:45 -0000
+Received: from unknown (HELO nevyn.them.org) (66.93.172.17)
+ by sourceware dot org with SMTP; 22 Mar 2005 16:23:45 -0000
+Received: from drow by nevyn.them.org with local (Exim 4.50 #1 (Debian))
+ id 1DDmAg-000798-P7
+ for <libc-alpha at sources dot redhat dot com>; Tue, 22 Mar 2005 11:23:58 -0500
+Date: Tue, 22 Mar 2005 11:23:58 -0500
+From: Daniel Jacobowitz <drow at false dot org>
+To: libc-alpha at sources dot redhat dot com
+Subject: Re: Define PT_ARM_EXIDX
+Message-ID: <20050322162358.GA27424@nevyn.them.org>
+Mail-Followup-To: libc-alpha at sources dot redhat dot com
+References: <20050322155140.GA25312@nevyn.them.org>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+In-Reply-To: <20050322155140 dot GA25312 at nevyn dot them dot org>
+User-Agent: Mutt/1.5.6+20040907i
+
+On Tue, Mar 22, 2005 at 10:51:40AM -0500, Daniel Jacobowitz wrote:
+> The ARM EABI uses a program header to locate exception tables for shared
+> objects, just like PT_GNU_EH_FRAME. But the format is a little different,
+> and the header is above PT_LOPROC because it was assigned by a processor
+> vendor. This just adds the constant to elf/elf.h.
+
+Oops, Ulrich pointed out that I put the constant in the wrong place.
+
+--
+Daniel Jacobowitz
+CodeSourcery, LLC
+
+2005-03-22 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * elf/elf.h (PT_ARM_EXIDX): Define.
+
+Index: glibc/elf/elf.h
+===================================================================
+--- glibc.orig/elf/elf.h 2005-03-22 11:21:34.961464117 -0500
++++ glibc/elf/elf.h 2005-03-22 11:22:49.872172922 -0500
+@@ -2138,7 +2138,11 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define PF_ARM_SB 0x10000000 /* Segment contains the location
+ addressed by the static base */
+
++/* Processor specific values for the Phdr p_type field. */
++#define PT_ARM_EXIDX 0x70000001 /* .ARM.exidx segment */
++
+ /* ARM relocs. */
++
+ #define R_ARM_NONE 0 /* No reloc */
+ #define R_ARM_PC24 1 /* PC relative 26 bit branch */
+ #define R_ARM_ABS32 2 /* Direct 32 bit */
+
diff --git a/meta/packages/glibc/glibc-cvs/etc/ld.so.conf b/meta/packages/glibc/glibc-cvs/etc/ld.so.conf
new file mode 100644
index 0000000000..3f9b41aabb
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/etc/ld.so.conf
@@ -0,0 +1,3 @@
+/usr/local/lib
+/opt/QtPalmtop/lib
+
diff --git a/meta/packages/glibc/glibc-cvs/glibc-fp-byteorder.patch b/meta/packages/glibc/glibc-cvs/glibc-fp-byteorder.patch
new file mode 100644
index 0000000000..f20432ea8b
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/glibc-fp-byteorder.patch
@@ -0,0 +1,203 @@
+Taken from http://sources.redhat.com/ml/crossgcc/2004-02/msg00104.html
+Author: addsub@eyou.com
+Target: ARM
+
+Fixes http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.c-torture/execute/920501-8.c
+and makes printf("%f", 1.0) work.
+
+Lennert Buytenhek wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00115.html :
+ It ... fixes the 'printf("%f\n", 0.5); prints 0.000000' and general 'floating point
+ is broken' on my big-endian hardfloat FPA ARM platform. ...
+ It's definitely needed for hardfloat. So I'd think it's needed for
+ big-endian systems in any case, and for VFP on little-endian systems
+ too. Someone would have to verify that though.
+
+Lennert Buytenhek wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00123.html
+ I just had a look at glibc-20040830, and [this patch] is still needed and useful
+ for this version. glibc-20040830 out-of-the-box still contains the
+ following wrong assumptions:
+ - sysdeps/arm/bits/endian.h: float word order is big endian (which it is
+ not on vfp systems)
+ - sysdeps/arm/gmp-mparam.h: IEEE doubles are mixed endian (which they
+ are not on big endian systems, neither on vfp systems)
+ - sysdeps/arm/ieee754.h: IEEE doubles are in little endian byte order
+ (which they are not on big endian systems)
+ [This patch] seems the right solution for all of these issues.
+
+Dimitry Andric wrote in http://sources.redhat.com/ml/crossgcc/2004-09/msg00132.html :
+ It's even needed for glibc CVS, AFAICS.
+ The patch hunk which modifies glibc.new/sysdeps/arm/bits/endian.h
+ (currently at version 1.4) is only needed for proper VFP operation.
+ But the hunk which modifies sysdeps/arm/gmp-mparam.h, and the hunk
+ that deletes sysdeps/arm/ieee754.h (yes, this IS correct), are needed
+ for proper operation of *any* FP model on big endian ARM.
+
+See also discussion in followups to
+http://sources.redhat.com/ml/crossgcc/2004-05/msg00245.html)
+
+Message-ID: <276985760.37584@eyou.com>
+Received: from unknown (HELO eyou.com) (172.16.2.2)
+ by 0.0.0.0 with SMTP; Tue, 17 Feb 2004 10:42:40 +0800
+Received: (qmail 8238 invoked by uid 65534); 17 Feb 2004 10:42:38 +0800
+Date: 17 Feb 2004 10:42:38 +0800
+Message-ID: <20040217104238.8237.qmail@eyou.com>
+From: "add" <addsub@eyou.com>
+To: dank@kegel.com
+Reply-To: "add" <addsub@eyou.com>
+Subject: Re:&nbsp;&nbsp;&nbsp;problem&nbsp;while&nbsp;building&nbsp;arm&nbsp;vfp&nbsp;softfloat&nbsp;gcc&nbsp;`
+
+Hi, Dan, This is a patch I applied to my glibc-2.3.2, then my softfloat
+toolchain can printf("%f\n",1.0). So you may have a try of this
+
+
+diff -uNrp glibc.old/sysdeps/arm/bits/endian.h glibc.new/sysdeps/arm/bits/endian.h
+--- glibc.old/sysdeps/arm/bits/endian.h 1999-04-12 11:59:13.000000000 -0400
++++ glibc.new/sysdeps/arm/bits/endian.h 2004-02-12 09:15:13.000000000 -0500
+@@ -9,4 +9,9 @@
+ #else
+ #define __BYTE_ORDER __LITTLE_ENDIAN
+ #endif
++
++#ifdef __VFP_FP__
++#define __FLOAT_WORD_ORDER __BYTE_ORDER
++#else
+ #define __FLOAT_WORD_ORDER __BIG_ENDIAN
++#endif
+diff -uNrp glibc.old/sysdeps/arm/gmp-mparam.h glibc.new/sysdeps/arm/gmp-mparam.h
+--- glibc.old/sysdeps/arm/gmp-mparam.h 2001-07-07 15:21:19.000000000 -0400
++++ glibc.new/sysdeps/arm/gmp-mparam.h 2004-02-12 09:15:13.000000000 -0500
+@@ -26,5 +26,13 @@ MA 02111-1307, USA. */
+ #define BITS_PER_SHORTINT 16
+ #define BITS_PER_CHAR 8
+
+-#define IEEE_DOUBLE_BIG_ENDIAN 0
+-#define IEEE_DOUBLE_MIXED_ENDIAN 1
++#if defined(__ARMEB__)
++# define IEEE_DOUBLE_MIXED_ENDIAN 0
++# define IEEE_DOUBLE_BIG_ENDIAN 1
++#elif defined(__VFP_FP__)
++# define IEEE_DOUBLE_MIXED_ENDIAN 0
++# define IEEE_DOUBLE_BIG_ENDIAN 0
++#else
++# define IEEE_DOUBLE_BIG_ENDIAN 0
++# define IEEE_DOUBLE_MIXED_ENDIAN 1
++#endif
+diff -uNrp glibc.old/sysdeps/arm/ieee754.h glibc.new/sysdeps/arm/ieee754.h
+--- glibc.old/sysdeps/arm/ieee754.h 2001-07-07 15:21:19.000000000 -0400
++++ glibc.new/sysdeps/arm/ieee754.h 1969-12-31 19:00:00.000000000 -0500
+@@ -1,115 +0,0 @@
+-/* Copyright (C) 1992, 1995, 1996, 1998 Free Software Foundation, Inc.
+- This file is part of the GNU C Library.
+-
+- The GNU C 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.
+-
+- The GNU C Library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, write to the Free
+- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+- 02111-1307 USA. */
+-
+-#ifndef _IEEE754_H
+-
+-#define _IEEE754_H 1
+-#include <features.h>
+-
+-#include <endian.h>
+-
+-__BEGIN_DECLS
+-
+-union ieee754_float
+- {
+- float f;
+-
+- /* This is the IEEE 754 single-precision format. */
+- struct
+- {
+- unsigned int mantissa:23;
+- unsigned int exponent:8;
+- unsigned int negative:1;
+- } ieee;
+-
+- /* This format makes it easier to see if a NaN is a signalling NaN. */
+- struct
+- {
+- unsigned int mantissa:22;
+- unsigned int quiet_nan:1;
+- unsigned int exponent:8;
+- unsigned int negative:1;
+- } ieee_nan;
+- };
+-
+-#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */
+-
+-
+-union ieee754_double
+- {
+- double d;
+-
+- /* This is the IEEE 754 double-precision format. */
+- struct
+- {
+- unsigned int mantissa0:20;
+- unsigned int exponent:11;
+- unsigned int negative:1;
+- unsigned int mantissa1:32;
+- } ieee;
+-
+- /* This format makes it easier to see if a NaN is a signalling NaN. */
+- struct
+- {
+- unsigned int mantissa0:19;
+- unsigned int quiet_nan:1;
+- unsigned int exponent:11;
+- unsigned int negative:1;
+- unsigned int mantissa1:32;
+- } ieee_nan;
+- };
+-
+-#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */
+-
+-
+-/* The following two structures are correct for `new' floating point systems but
+- wrong for the old FPPC. The only solution seems to be to avoid their use on
+- old hardware. */
+-
+-union ieee854_long_double
+- {
+- long double d;
+-
+- /* This is the IEEE 854 double-extended-precision format. */
+- struct
+- {
+- unsigned int exponent:15;
+- unsigned int empty:16;
+- unsigned int negative:1;
+- unsigned int mantissa1:32;
+- unsigned int mantissa0:32;
+- } ieee;
+-
+- /* This is for NaNs in the IEEE 854 double-extended-precision format. */
+- struct
+- {
+- unsigned int exponent:15;
+- unsigned int empty:16;
+- unsigned int negative:1;
+- unsigned int mantissa1:32;
+- unsigned int mantissa0:30;
+- unsigned int quiet_nan:1;
+- unsigned int one:1;
+- } ieee_nan;
+- };
+-
+-#define IEEE854_LONG_DOUBLE_BIAS 0x3fff
+-
+-__END_DECLS
+-
+-#endif /* ieee754.h */
diff --git a/meta/packages/glibc/glibc-cvs/ldconfig.patch b/meta/packages/glibc/glibc-cvs/ldconfig.patch
new file mode 100644
index 0000000000..c60b9b1432
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/ldconfig.patch
@@ -0,0 +1,37 @@
+--- elf/ldconfig.c 2003-07-08 23:26:27.000000000 +0900
++++ elf/ldconfig.c.debian 2003-07-08 23:29:43.000000000 +0900
+@@ -920,26 +920,24 @@
+ {
+ FILE *file = NULL;
+ char *line = NULL;
+- const char *canon;
++ const char *canon = filename;
+ size_t len = 0;
++ int file_fd;
+
+ if (opt_chroot)
+ {
+ canon = chroot_canon (opt_chroot, filename);
+- if (canon)
+- file = fopen (canon, "r");
+- else
++ if (!canon)
+ canon = filename;
+ }
+- else
+- {
+- canon = filename;
+- file = fopen (filename, "r");
+- }
++
++ if ((file_fd = open(canon, O_RDONLY | O_EXCL, 0022)) != -1)
++ file = fdopen (file_fd, "r");
+
+ if (file == NULL)
+ {
+- error (0, errno, _("Can't open configuration file %s"), canon);
++ if (opt_verbose)
++ error (0, errno, _("Can't open configuration file %s"), canon);
+ if (canon != filename)
+ free ((char *) canon);
+ return;
diff --git a/meta/packages/glibc/glibc-cvs/ldd.patch b/meta/packages/glibc/glibc-cvs/ldd.patch
new file mode 100644
index 0000000000..01719dbe08
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/ldd.patch
@@ -0,0 +1,38 @@
+--- elf/ldd.bash.in~ Tue Apr 3 21:43:31 2001
++++ elf/ldd.bash.in Tue Apr 3 21:54:15 2001
+@@ -32,6 +32,7 @@
+ warn=
+ bind_now=
+ verbose=
++filename_magic_regex="((^|/)lib|.so$)"
+
+ while test $# -gt 0; do
+ case "$1" in
+@@ -123,8 +124,11 @@
+ echo "ldd: ${file}:" $"No such file or directory" >&2
+ result=1
+ elif test -r "$file"; then
+- test -x "$file" || echo 'ldd:' $"\
+-warning: you do not have execution permission for" "\`$file'" >&2
++ if test ! -x "$file" && eval echo "$file" \
++ | egrep -v "$filename_magic_regex" > /dev/null; then
++ echo 'ldd:' $"warning: you do not have execution permission for"\
++ "\`$file'" >&2
++ fi
+ RTLD=
+ for rtld in ${RTLDLIST}; do
+ if test -x $rtld; then
+@@ -143,7 +147,12 @@
+ fi
+ case $ret in
+ 0)
+- eval $add_env '"$file"' || result=1
++ if [ ! -x "$file" ] && eval file -L "$file" 2>/dev/null \
++ | sed 10q | egrep "$file_magic_regex" > /dev/null; then
++ eval $add_env ${RTLD} '"$file"' || result=1
++ else
++ eval $add_env '"$file"' || result=1
++ fi
+ ;;
+ 1)
+ # This can be a non-ELF binary or no binary at all.
diff --git a/meta/packages/glibc/glibc-cvs/ldsocache-varrun.patch b/meta/packages/glibc/glibc-cvs/ldsocache-varrun.patch
new file mode 100644
index 0000000000..9994d4f879
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/ldsocache-varrun.patch
@@ -0,0 +1,18 @@
+This patch moves ld.so.cache from /etc to /var/run. This is for devices
+where /etc is JFFS2 or CRAMFS but /var is a ramdisk.
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libc/sysdeps/generic/dl-cache.h~ldsocache-varrun
++++ libc/sysdeps/generic/dl-cache.h
+@@ -29,7 +29,7 @@
+ #endif
+
+ #ifndef LD_SO_CACHE
+-# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
++# define LD_SO_CACHE "/var/run/ld.so.cache"
+ #endif
+
+ #ifndef add_system_dir
diff --git a/meta/packages/glibc/glibc-cvs/makeconfig.patch b/meta/packages/glibc/glibc-cvs/makeconfig.patch
new file mode 100644
index 0000000000..4365878e95
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/makeconfig.patch
@@ -0,0 +1,15 @@
+--- Makeconfig~ 2001/09/12 18:49:45 1.265
++++ Makeconfig 2001/10/07 20:56:17
+@@ -532,10 +532,11 @@
+ $(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\
+ $(filter -Wl$(comma)-rpath-link=%,\
+ $(sysdep-LDFLAGS)))))
++ld_envlib_path = $(shell test x$$LD_LIBRARY_PATH = x || echo -n :$$LD_LIBRARY_PATH)
+ run-program-prefix = $(if $(filter $(notdir $(built-program-file)),\
+ $(tests-static)),, \
+ $(elf-objpfx)$(rtld-installed-name) \
+- --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)))
++ --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path))$(ld_envlib_path))
+ else
+ run-program-prefix =
+ endif
diff --git a/meta/packages/glibc/glibc-cvs/mips-no-throw.patch b/meta/packages/glibc/glibc-cvs/mips-no-throw.patch
new file mode 100644
index 0000000000..99a316eeac
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/mips-no-throw.patch
@@ -0,0 +1,22 @@
+--- sysdeps/unix/sysv/linux/mips/bits/socket.h.orig 2004-09-15 14:27:06.342572280 +0200
++++ sysdeps/unix/sysv/linux/mips/bits/socket.h 2004-09-15 14:27:28.162255184 +0200
+@@ -261,7 +261,7 @@
+ # define _EXTERN_INLINE extern __inline
+ # endif
+ _EXTERN_INLINE struct cmsghdr *
+-__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW
++__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
+ {
+ if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
+ /* The kernel header does this so there may be a reason. */
+--- sysdeps/unix/sysv/linux/mips/sys/tas.h.orig 2004-09-15 14:27:41.809180536 +0200
++++ sysdeps/unix/sysv/linux/mips/sys/tas.h 2004-09-15 14:27:53.245441960 +0200
+@@ -35,7 +35,7 @@
+ # endif
+
+ _EXTERN_INLINE int
+-_test_and_set (int *p, int v) __THROW
++_test_and_set (int *p, int v)
+ {
+ int r, t;
+
diff --git a/meta/packages/glibc/glibc-cvs/noinfo.patch b/meta/packages/glibc/glibc-cvs/noinfo.patch
new file mode 100644
index 0000000000..6aa0e64d96
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/noinfo.patch
@@ -0,0 +1,52 @@
+--- glibc-2.3.2/manual/Makefile~noinfo
++++ glibc-2.3.2/manual/Makefile
+@@ -25,7 +25,7 @@
+ INSTALL_INFO = install-info
+
+ .PHONY: all dvi pdf info html
+-all: dvi
++all:
+ dvi: libc.dvi
+ pdf: libc.pdf
+
+@@ -41,7 +41,7 @@
+ TEXI2PDF = texi2dvi --pdf
+
+ ifneq ($(strip $(MAKEINFO)),:)
+-all: info
++all:
+ info: libc.info dir-add.info
+ endif
+
+@@ -176,28 +176,14 @@
+ -rm -f top-menu.texi chapters.texi
+
+ .PHONY: install subdir_install installdirs install-data
+-install-data subdir_install: install
++install-data subdir_install:
+ ifneq ($(strip $(MAKEINFO)),:)
+ # There are two variants of install-info out there. The GNU version
+ # knows about the INFO-DIR-SECTION tag, the Debian version doesn't.
+ ifneq ($(OLD_DEBIAN_INSTALL_INFO),yes)
+-install: $(inst_infodir)/libc.info dir-add.info
+- @if $(SHELL) -c '$(INSTALL_INFO) --version' >/dev/null 2>&1; then \
+- test -f $(inst_infodir)/dir || $(INSTALL_DATA) dir $(inst_infodir);\
+- $(INSTALL_INFO) --info-dir=$(inst_infodir) $(inst_infodir)/libc.info;\
+- $(INSTALL_INFO) --info-dir=$(inst_infodir) dir-add.info;\
+- else : ; fi
++install:
+ else
+-install: $(inst_infodir)/libc.info dir-add.info
+- @if $(SHELL) -c '$(INSTALL_INFO) --version' >/dev/null 2>&1; then \
+- test -f $(inst_infodir)/dir || $(INSTALL_DATA) dir $(inst_infodir);\
+- $(INSTALL_INFO) --info-dir=$(inst_infodir) \
+- --section '^GNU Libraries:' 'GNU Libraries:' \
+- $(inst_infodir)/libc.info;\
+- $(INSTALL_INFO) --info-dir=$(inst_infodir) \
+- --section '^GNU C Library functions:' 'GNU C Library functions:' \
+- dir-add.info;\
+- else : ; fi
++install:
+ endif
+ endif
+ # Catchall implicit rule for other installation targets from the parent.
diff --git a/meta/packages/glibc/glibc-cvs/trampoline.patch b/meta/packages/glibc/glibc-cvs/trampoline.patch
new file mode 100644
index 0000000000..86cfc0a539
--- /dev/null
+++ b/meta/packages/glibc/glibc-cvs/trampoline.patch
@@ -0,0 +1,560 @@
+From libc-alpha-return-16890-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com Wed Jan 19 18:02:53 2005
+Return-Path: <libc-alpha-return-16890-listarch-libc-alpha=sources dot redhat dot com at sources dot redhat dot com>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 26073 invoked by alias); 19 Jan 2005 18:02:41 -0000
+Mailing-List: contact libc-alpha-help at sources dot redhat dot com; run by ezmlm
+Precedence: bulk
+List-Subscribe: <mailto:libc-alpha-subscribe at sources dot redhat dot com>
+List-Archive: <http://sources.redhat.com/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sources dot redhat dot com>
+List-Help: <mailto:libc-alpha-help at sources dot redhat dot com>, <http://sources dot redhat dot com/ml/#faqs>
+Sender: libc-alpha-owner at sources dot redhat dot com
+Delivered-To: mailing list libc-alpha at sources dot redhat dot com
+Received: (qmail 25420 invoked from network); 19 Jan 2005 18:01:47 -0000
+Received: from unknown (HELO mail.codesourcery.com) (65.74.133.9)
+ by sourceware dot org with SMTP; 19 Jan 2005 18:01:47 -0000
+Received: (qmail 7456 invoked from network); 19 Jan 2005 18:01:44 -0000
+Received: from localhost (HELO ?192.168.0.100?) (mitchell@127.0.0.1)
+ by mail dot codesourcery dot com with SMTP; 19 Jan 2005 18:01:44 -0000
+Message-ID: <41EEA082.1020000@codesourcery.com>
+Date: Wed, 19 Jan 2005 10:01:38 -0800
+From: Mark Mitchell <mark at codesourcery dot com>
+Organization: CodeSourcery, LLC
+User-Agent: Mozilla Thunderbird 0.9 (Windows/20041103)
+MIME-Version: 1.0
+To: Daniel Jacobowitz <drow at false dot org>
+CC: libc-alpha at sources dot redhat dot com
+Subject: Re: PATCH: ARM dl-trampoline.S
+References: <200501191631.j0JGVVRA002591@sirius.codesourcery.com> <20050119170217.GA3137@nevyn.them.org>
+In-Reply-To: <20050119170217 dot GA3137 at nevyn dot them dot org>
+Content-Type: multipart/mixed;
+ boundary="------------050601050507020101060100"
+
+This is a multi-part message in MIME format.
+--------------050601050507020101060100
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+
+Daniel Jacobowitz wrote:
+> On Wed, Jan 19, 2005 at 08:31:31AM -0800, Mark Mitchell wrote:
+>
+>>This patch updates the ARM port for the recent dl-trampoline.S and
+>>link.h changes. OK to apply?
+>
+>
+> Did you test this? I'm pretty sure that RESOLVE_MAP returns a link
+> map, unlike RESOLVE.
+
+No, I didn't test -- except by building glibc. (There are other
+problems at the moment, AFAICT, with actually running the library on ARM.)
+
+However, you're definitely correct -- good catch! -- and, in fact, in
+looking at my logs I see compiler warnings about the mismatched type
+assignment. Here is a more plausible version. How about this one?
+
+Thanks,
+
+--
+Mark Mitchell
+CodeSourcery, LLC
+mark@codesourcery.com
+(916) 791-8304
+
+--------------050601050507020101060100
+Content-Type: text/plain;
+ name="glibc.patch"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: inline;
+ filename="glibc.patch"
+
+2005-01-19 Mark Mitchell <mark@codesourcery.com>
+
+ * elf/tst-auditmod1.c: Add ARM support.
+ * sysdeps/arm/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
+ Remove.
+ (RESOLVE): Do not use it; use ...
+ (RESOLVE_MAP): ... instead.
+ (ARCH_LA_PLTENTER): Define.
+ (ARCH_LA_PLTEXIT): Likewise.
+ (elf_machine_rel): Use RESOLVE_MAP, not RESOLVE.
+ (elf_machine_rela): Likewise.
+ * sysdeps/arm/dl-trampoline.S: New file.
+ * sysdeps/arm/bits/link.h: Likewise.
+ * sysdeps/generic/ldsodefs.h (struct La_arm_regs): Declare.
+ (struct audit_ifaces): Add ARM functions.
+
+Index: elf/tst-auditmod1.c
+===================================================================
+RCS file: /cvs/glibc/libc/elf/tst-auditmod1.c,v
+retrieving revision 1.7
+diff -c -5 -p -r1.7 tst-auditmod1.c
+*** elf/tst-auditmod1.c 16 Jan 2005 06:24:59 -0000 1.7
+--- elf/tst-auditmod1.c 19 Jan 2005 17:54:32 -0000
+*************** la_symbind64 (Elf64_Sym *sym, unsigned i
+*** 100,110 ****
+ symname, (long int) sym->st_value, ndx, *flags);
+
+ return sym->st_value;
+ }
+
+! #ifdef __i386__
+ # define pltenter la_i86_gnu_pltenter
+ # define pltexit la_i86_gnu_pltexit
+ # define La_regs La_i86_regs
+ # define La_retval La_i86_retval
+ # define int_retval lrv_eax
+--- 100,116 ----
+ symname, (long int) sym->st_value, ndx, *flags);
+
+ return sym->st_value;
+ }
+
+! #ifdef __arm__
+! # define pltenter la_arm_gnu_plteneter
+! # define pltext la_arm_gnu_pltexit
+! # define La_regs La_arm_regs
+! # define La_retval La_arm_retval
+! # define int_retval lvr_r0
+! #elif defined __i386__
+ # define pltenter la_i86_gnu_pltenter
+ # define pltexit la_i86_gnu_pltexit
+ # define La_regs La_i86_regs
+ # define La_retval La_i86_retval
+ # define int_retval lrv_eax
+Index: sysdeps/arm/dl-trampoline.S
+===================================================================
+RCS file: sysdeps/arm/dl-trampoline.S
+diff -N sysdeps/arm/dl-trampoline.S
+*** /dev/null 1 Jan 1970 00:00:00 -0000
+--- sysdeps/arm/dl-trampoline.S 19 Jan 2005 17:54:32 -0000
+***************
+*** 0 ****
+--- 1,135 ----
++ /* PLT trampolines. ARM version.
++ Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++ #include <sysdep.h>
++
++ #if defined(__USE_BX__)
++ #define BX(x) bx x
++ #else
++ #define BX(x) mov pc, x
++ #endif
++
++ #ifndef PROF
++ .text
++ .globl _dl_runtime_resolve
++ .type _dl_runtime_resolve, #function
++ .align 2
++ _dl_runtime_resolve:
++ @ we get called with
++ @ stack[0] contains the return address from this call
++ @ ip contains &GOT[n+3] (pointer to function)
++ @ lr points to &GOT[2]
++
++ @ stack arguments
++ stmdb sp!,{r0-r3}
++
++ @ get pointer to linker struct
++ ldr r0, [lr, #-4]
++
++ @ prepare to call _dl_fixup()
++ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each
++ sub r1, ip, lr
++ sub r1, r1, #4
++ add r1, r1, r1
++
++ @ call fixup routine
++ bl _dl_fixup
++
++ @ save the return
++ mov ip, r0
++
++ @ get arguments and return address back
++ ldmia sp!, {r0-r3,lr}
++
++ @ jump to the newly found address
++ BX(ip)
++
++ .size _dl_runtime_resolve, .-_dl_runtime_resolve
++
++ .globl _dl_runtime_profile
++ .type _dl_runtime_profile, #function
++ .align 2
++ _dl_runtime_profile:
++ @ stack arguments
++ stmdb sp!, {r0-r3}
++
++ @ get pointer to linker struct
++ ldr r0, [lr, #-4]
++
++ @ prepare to call _dl_profile_fixup()
++ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each
++ sub r1, ip, lr
++ sub r1, r1, #4
++ add r1, r1, r1
++
++ @ call profiling fixup routine
++ bl _dl_profile_fixup
++
++ @ save the return
++ mov ip, r0
++
++ @ get arguments and return address back
++ ldmia sp!, {r0-r3,lr}
++
++ @ jump to the newly found address
++ BX(ip)
++
++ .size _dl_runtime_resolve, .-_dl_runtime_resolve
++ .previous
++ #else
++ .text
++ .globl _dl_runtime_resolve
++ .globl _dl_runtime_profile
++ .type _dl_runtime_resolve, #function
++ .type _dl_runtime_profile, #function
++ .align 2
++ _dl_runtime_resolve:
++ _dl_runtime_profile:
++ @ we get called with
++ @ stack[0] contains the return address from this call
++ @ ip contains &GOT[n+3] (pointer to function)
++ @ lr points to &GOT[2]
++
++ @ stack arguments
++ stmdb sp!, {r0-r3}
++
++ @ get pointer to linker struct
++ ldr r0, [lr, #-4]
++
++ @ prepare to call _dl_fixup()
++ @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each
++ sub r1, ip, lr
++ sub r1, r1, #4
++ add r1, r1, r1
++
++ @ call profiling fixup routine
++ bl _dl_fixup
++
++ @ save the return
++ mov ip, r0
++
++ @ get arguments and return address back
++ ldmia sp!, {r0-r3,lr}
++
++ @ jump to the newly found address
++ BX(ip)
++
++ .size _dl_runtime_profile, .-_dl_runtime_profile
++ .previous
++ #endif
+Index: sysdeps/arm/bits/link.h
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/arm/bits/link.h,v
+retrieving revision 1.2
+diff -c -5 -p -r1.2 link.h
+*** sysdeps/arm/bits/link.h 6 Jan 2005 22:40:20 -0000 1.2
+--- sysdeps/arm/bits/link.h 19 Jan 2005 17:54:32 -0000
+***************
+*** 0 ****
+--- 1,57 ----
++ /* Copyright (C) 2005 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C 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.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, write to the Free
++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++ 02111-1307 USA. */
++
++ #ifndef _LINK_H
++ # error "Never include <bits/link.h> directly; use <link.h> instead."
++ #endif
++
++
++ /* Registers for entry into PLT on ARM. */
++ typedef struct La_arm_regs
++ {
++ uint32_t lvr_r0;
++ uint32_t lvr_r1;
++ uint32_t lvr_r2;
++ uint32_t lvr_r3;
++ } La_arm_regs;
++
++ /* Return values for calls from PLT on ARM. */
++ typedef struct La_arm_retval
++ {
++ uint32_t lvr_r0;
++ uint32_t lvr_r1;
++ } La_arm_retval;
++
++
++ __BEGIN_DECLS
++
++ extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
++ uintptr_t *__refcook,
++ uintptr_t *__defcook,
++ La_arm_regs *__regs,
++ unsigned int *__flags,
++ const char *__symname,
++ long int *__framesizep);
++ extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
++ uintptr_t *__refcook,
++ uintptr_t *__defcook,
++ const La_arm_regs *__inregs,
++ La_arm_retval *__outregs,
++ const char *symname);
++
++ __END_DECLS
+Index: sysdeps/generic/ldsodefs.h
+===================================================================
+RCS file: /cvs/glibc/libc/sysdeps/generic/ldsodefs.h,v
+retrieving revision 1.112
+diff -c -5 -p -r1.112 ldsodefs.h
+*** sysdeps/generic/ldsodefs.h 16 Jan 2005 02:07:29 -0000 1.112
+--- sysdeps/generic/ldsodefs.h 19 Jan 2005 17:54:32 -0000
+*************** enum allowmask
+*** 173,182 ****
+--- 173,183 ----
+ allow_ldso = 8
+ };
+
+
+ /* Type for list of auditing interfaces. */
++ struct La_arm_regs;
+ struct La_i86_regs;
+ struct La_i86_retval;
+ struct La_x86_64_regs;
+ struct La_x86_64_retval;
+ struct La_ppc32_regs;
+*************** struct audit_ifaces
+*** 202,211 ****
+--- 203,216 ----
+ uintptr_t (*symbind64) (Elf64_Sym *, unsigned int, uintptr_t *,
+ uintptr_t *, unsigned int *, const char *);
+ };
+ union
+ {
++ Elf32_Addr (*arm_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
++ uintptr_t *, struct La_arm_regs *,
++ unsigned int *, const char *name,
++ long int *framesizep);
+ Elf32_Addr (*i86_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
+ uintptr_t *, struct La_i86_regs *,
+ unsigned int *, const char *name,
+ long int *framesizep);
+ Elf64_Addr (*x86_64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
+*************** struct audit_ifaces
+*** 229,238 ****
+--- 234,246 ----
+ unsigned int *, const char *name,
+ long int *framesizep);
+ };
+ union
+ {
++ unsigned int (*arm_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
++ uintptr_t *, const struct La_arm_regs *,
++ struct La_i86_retval *, const char *);
+ unsigned int (*i86_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
+ uintptr_t *, const struct La_i86_regs *,
+ struct La_i86_retval *, const char *);
+ unsigned int (*x86_64_gnu_pltexit) (Elf64_Sym *, unsigned int, uintptr_t *,
+ uintptr_t *,
+
+--------------050601050507020101060100--
+
+diff -u -r1.52 dl-machine.h
+--- sysdeps/arm/dl-machine.h 15 Mar 2005 22:57:26 -0000 1.52
++++ sysdeps/arm/dl-machine.h 22 Apr 2005 03:38:15 -0000
+@@ -129,119 +129,6 @@
+ #define BX(x) "mov\tpc, " #x
+ #endif
+
+-#ifndef PROF
+-# define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\
+- .text\n\
+- .globl _dl_runtime_resolve\n\
+- .type _dl_runtime_resolve, #function\n\
+- .align 2\n\
+-_dl_runtime_resolve:\n\
+- @ we get called with\n\
+- @ stack[0] contains the return address from this call\n\
+- @ ip contains &GOT[n+3] (pointer to function)\n\
+- @ lr points to &GOT[2]\n\
+-\n\
+- @ stack arguments\n\
+- stmdb sp!,{r0-r3}\n\
+-\n\
+- @ get pointer to linker struct\n\
+- ldr r0, [lr, #-4]\n\
+-\n\
+- @ prepare to call fixup()\n\
+- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\
+- sub r1, ip, lr\n\
+- sub r1, r1, #4\n\
+- add r1, r1, r1\n\
+-\n\
+- @ call fixup routine\n\
+- bl fixup\n\
+-\n\
+- @ save the return\n\
+- mov ip, r0\n\
+-\n\
+- @ get arguments and return address back\n\
+- ldmia sp!, {r0-r3,lr}\n\
+-\n\
+- @ jump to the newly found address\n\
+- " BX(ip) "\n\
+-\n\
+- .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\
+-\n\
+- .globl _dl_runtime_profile\n\
+- .type _dl_runtime_profile, #function\n\
+- .align 2\n\
+-_dl_runtime_profile:\n\
+- @ stack arguments\n\
+- stmdb sp!, {r0-r3}\n\
+-\n\
+- @ get pointer to linker struct\n\
+- ldr r0, [lr, #-4]\n\
+-\n\
+- @ prepare to call fixup()\n\
+- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\
+- sub r1, ip, lr\n\
+- sub r1, r1, #4\n\
+- add r1, r1, r1\n\
+-\n\
+- @ call profiling fixup routine\n\
+- bl profile_fixup\n\
+-\n\
+- @ save the return\n\
+- mov ip, r0\n\
+-\n\
+- @ get arguments and return address back\n\
+- ldmia sp!, {r0-r3,lr}\n\
+-\n\
+- @ jump to the newly found address\n\
+- " BX(ip) "\n\
+-\n\
+- .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\
+- .previous\n\
+-");
+-#else // PROF
+-# define ELF_MACHINE_RUNTIME_TRAMPOLINE asm ("\
+- .text\n\
+- .globl _dl_runtime_resolve\n\
+- .globl _dl_runtime_profile\n\
+- .type _dl_runtime_resolve, #function\n\
+- .type _dl_runtime_profile, #function\n\
+- .align 2\n\
+-_dl_runtime_resolve:\n\
+-_dl_runtime_profile:\n\
+- @ we get called with\n\
+- @ stack[0] contains the return address from this call\n\
+- @ ip contains &GOT[n+3] (pointer to function)\n\
+- @ lr points to &GOT[2]\n\
+-\n\
+- @ stack arguments\n\
+- stmdb sp!, {r0-r3}\n\
+-\n\
+- @ get pointer to linker struct\n\
+- ldr r0, [lr, #-4]\n\
+-\n\
+- @ prepare to call fixup()\n\
+- @ change &GOT[n+3] into 8*n NOTE: reloc are 8 bytes each\n\
+- sub r1, ip, lr\n\
+- sub r1, r1, #4\n\
+- add r1, r1, r1\n\
+-\n\
+- @ call profiling fixup routine\n\
+- bl fixup\n\
+-\n\
+- @ save the return\n\
+- mov ip, r0\n\
+-\n\
+- @ get arguments and return address back\n\
+- ldmia sp!, {r0-r3,lr}\n\
+-\n\
+- @ jump to the newly found address\n\
+- " BX(ip) "\n\
+-\n\
+- .size _dl_runtime_profile, .-_dl_runtime_profile\n\
+- .previous\n\
+-");
+-#endif //PROF
+-
+ /* Mask identifying addresses reserved for the user program,
+ where the dynamic linker should not map anything. */
+ #define ELF_MACHINE_USER_ADDRESS_MASK 0xf8000000UL
+@@ -348,6 +235,10 @@
+ return value;
+ }
+
++/* Names of the architecture-specific auditing callback functions. */
++#define ARCH_LA_PLTENTER arm_gnu_pltenter
++#define ARCH_LA_PLTEXIT arm_gnu_pltexit
++
+ #endif /* !dl_machine_h */
+
+
+@@ -355,7 +246,7 @@
+ Prelinked libraries may use Elf32_Rela though. */
+ #define ELF_MACHINE_NO_RELA defined RTLD_BOOTSTRAP
+
+-#ifdef RESOLVE
++#ifdef RESOLVE_MAP
+
+ /* Deal with an out-of-range PC24 reloc. */
+ static Elf32_Addr
+@@ -425,7 +316,8 @@
+ #endif
+ {
+ const Elf32_Sym *const refsym = sym;
+- Elf32_Addr value = RESOLVE (&sym, version, r_type);
++ struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
++ Elf32_Addr value = sym == NULL ? 0 : sym_map->l_addr + sym->st_value;
+ if (sym)
+ value += sym->st_value;
+
+@@ -535,7 +427,8 @@
+ # ifndef RESOLVE_CONFLICT_FIND_MAP
+ const Elf32_Sym *const refsym = sym;
+ # endif
+- Elf32_Addr value = RESOLVE (&sym, version, r_type);
++ struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
++ Elf32_Addr value = sym == NULL ? 0 : sym_map->l_addr + sym->st_value;
+ if (sym)
+ value += sym->st_value;
+
+@@ -637,4 +530,4 @@
+ _dl_reloc_bad_type (map, r_type, 1);
+ }
+
+-#endif /* RESOLVE */
++#endif /* RESOLVE_MAP */
diff --git a/meta/packages/glibc/glibc-initial_2.4.bb b/meta/packages/glibc/glibc-initial_2.4.bb
new file mode 100644
index 0000000000..422e8b7110
--- /dev/null
+++ b/meta/packages/glibc/glibc-initial_2.4.bb
@@ -0,0 +1,46 @@
+SECTION = "libs"
+include glibc_${PV}.bb
+
+DEPENDS = "linux-libc-headers"
+PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-cvs', '${FILE_DIRNAME}/glibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+PACKAGES = ""
+
+do_configure () {
+ sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
+ chmod +x ${S}/configure
+ CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
+ --without-cvs --disable-sanity-checks \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ --enable-hacker-mode
+ if grep -q GLIBC_2.3 ${S}/ChangeLog; then
+ # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
+ # Fortunately, we don't need errlist-compat.c, since we just need .h files,
+ # so work around this by creating a fake errlist-compat.c and satisfying its dependencies.
+ # Another workaround might be to tell configure to not use any cross options to $(CC).
+ # The real fix would be to get install-headers to not generate errlist-compat.c.
+ make sysdeps/gnu/errlist.c
+ mkdir -p stdio-common
+ touch stdio-common/errlist-compat.c
+ fi
+}
+
+do_compile () {
+ :
+}
+
+do_stage () {
+ oe_runmake cross-compiling=yes install_root=${CROSS_DIR}/${TARGET_SYS} prefix="" install-headers
+
+ # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
+ # so do them by hand. We can tolerate an empty stubs.h for the moment.
+ # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
+ mkdir -p ${CROSS_DIR}/${TARGET_SYS}/include/gnu
+ touch ${CROSS_DIR}/${TARGET_SYS}/include/gnu/stubs.h
+ cp ${S}/include/features.h ${CROSS_DIR}/${TARGET_SYS}/include/features.h
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/glibc/glibc-intermediate_2.4.bb b/meta/packages/glibc/glibc-intermediate_2.4.bb
new file mode 100644
index 0000000000..819cd0950f
--- /dev/null
+++ b/meta/packages/glibc/glibc-intermediate_2.4.bb
@@ -0,0 +1,14 @@
+SECTION = "libs"
+include glibc_${PV}.bb
+
+DEFAULT_PREFERENCE = "-1"
+
+do_install () {
+ :
+}
+
+PACKAGES = ""
+PROVIDES = "virtual/${TARGET_PREFIX}libc-for-gcc"
+DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers"
+GLIBC_ADDONS = "nptl,ports"
+GLIBC_EXTRA_OECONF = ""
diff --git a/meta/packages/glibc/glibc-package.bbclass b/meta/packages/glibc/glibc-package.bbclass
new file mode 100644
index 0000000000..d6decfb709
--- /dev/null
+++ b/meta/packages/glibc/glibc-package.bbclass
@@ -0,0 +1,300 @@
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
+# is set. The idea is to avoid running localedef on the target (at first boot)
+# to decrease initial boot time and avoid localedef being killed by the OOM
+# killer which used to effectively break i18n on machines with < 128MB RAM.
+
+# default to disabled until qemu works for everyone
+ENABLE_BINARY_LOCALE_GENERATION ?= "0"
+
+# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
+BINARY_LOCALE_ARCHES ?= "arm.*"
+
+PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
+PACKAGES_DYNAMIC = "glibc-gconv-* glibc-charmap-* glibc-localedata-*"
+
+libc_baselibs = "/lib/libc* /lib/libm* /lib/ld* /lib/libpthread* /lib/libresolv* /lib/librt* /lib/libutil* /lib/libnsl* /lib/libnss_files* /lib/libnss_compat* /lib/libnss_dns* /lib/libdl* /lib/libanl* /lib/libBrokenLocale*"
+
+FILES_${PN} = "${sysconfdir} ${libc_baselibs} /sbin/ldconfig ${libexecdir} ${datadir}/zoneinfo"
+FILES_ldd = "${bindir}/ldd"
+FILES_libsegfault = "/lib/libSegFault*"
+FILES_glibc-extra-nss = "/lib/libnss*"
+FILES_sln = "/sbin/sln"
+FILES_glibc-dev_append = " ${libdir}/*.o ${bindir}/rpcgen"
+FILES_nscd = "${sbindir}/nscd*"
+FILES_glibc-utils = "${bindir} ${sbindir}"
+FILES_glibc-gconv = "${libdir}/gconv"
+FILES_catchsegv = "${bindir}/catchsegv"
+RDEPENDS_catchsegv = "libsegfault"
+FILES_glibc-pcprofile = "/lib/libpcprofile.so"
+FILES_glibc-thread-db = "/lib/libthread_db*"
+FILES_localedef = "${bindir}/localedef"
+RPROVIDES_glibc-dev += "libc-dev"
+
+DESCRIPTION_sln = "glibc: create symbolic links between files"
+DESCRIPTION_nscd = "glibc: name service cache daemon for passwd, group, and hosts"
+DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services"
+DESCRIPTION_ldd = "glibc: print shared library dependencies"
+DESCRIPTION_localedef = "glibc: compile locale definition files"
+DESCRIPTION_glibc-utils = "glibc: misc utilities like iconf, local, gencat, tzselect, rpcinfo, ..."
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
+EXTRA_OECONF_append_arm-linuxeabi = " --without-fp"
+
+do_install() {
+ oe_runmake install_root=${D} install
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/
+ done
+ install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/
+ install -d ${D}${libdir}/locale
+ make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
+ # get rid of some broken files...
+ for i in ${GLIBC_BROKEN_LOCALES}; do
+ grep -v $i ${WORKDIR}/SUPPORTED > ${WORKDIR}/SUPPORTED.tmp
+ mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
+ done
+ rm -f ${D}/etc/rpc
+}
+
+TMP_LOCALE="/tmp/locale/${libdir}/locale"
+
+locale_base_postinst() {
+#!/bin/sh
+
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+rm -rf ${TMP_LOCALE}
+mkdir -p ${TMP_LOCALE}
+if [ -f ${libdir}/locale/locale-archive ]; then
+ cp ${libdir}/locale/locale-archive ${TMP_LOCALE}/
+fi
+localedef --inputfile=${datadir}/i18n/locales/%s --charmap=%s --prefix=/tmp/locale %s
+mv ${TMP_LOCALE}/locale-archive ${libdir}/locale/
+rm -rf ${TMP_LOCALE}
+}
+
+locale_base_postrm() {
+#!/bin/sh
+
+rm -rf ${TMP_LOCALE}
+mkdir -p ${TMP_LOCALE}
+if [ -f ${libdir}/locale/locale-archive ]; then
+ cp ${libdir}/locale/locale-archive ${TMP_LOCALE}/
+fi
+localedef --delete-from-archive --inputfile=${datadir}/locales/%s --charmap=%s --prefix=/tmp/locale %s
+mv ${TMP_LOCALE}/locale-archive ${libdir}/locale/
+rm -rf ${TMP_LOCALE}
+}
+
+python __anonymous () {
+ enabled = bb.data.getVar("ENABLE_BINARY_LOCALE_GENERATION", d, 1)
+
+ if enabled and int(enabled):
+ import re
+
+ target_arch = bb.data.getVar("TARGET_ARCH", d, 1)
+ binary_arches = bb.data.getVar("BINARY_LOCALE_ARCHES", d, 1) or ""
+
+ for regexp in binary_arches.split(" "):
+ r = re.compile(regexp)
+
+ if r.match(target_arch):
+ depends = bb.data.getVar("DEPENDS", d, 1)
+ depends = "%s qemu-native" % depends
+ bb.data.setVar("DEPENDS", depends, d)
+ bb.data.setVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", "1", d)
+ break
+}
+
+do_prep_locale_tree() {
+ treedir=${WORKDIR}/locale-tree
+ rm -rf $treedir
+ mkdir -p $treedir/bin $treedir/lib $treedir/${datadir} $treedir/${libdir}/locale
+ cp -a ${D}${datadir}/i18n $treedir/${datadir}/i18n
+ # unzip to avoid parsing errors
+ for i in $treedir/${datadir}/i18n/charmaps/*gz; do
+ gunzip $i
+ done
+ cp -a ${STAGING_LIBDIR}/* $treedir/lib
+ if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* ]; then
+ cp -a ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* $treedir/lib
+ fi
+ install -m 0755 ${D}${bindir}/localedef $treedir/bin
+}
+
+do_collect_bins_from_locale_tree() {
+ treedir=${WORKDIR}/locale-tree
+
+ mkdir -p ${D}${libdir}
+ cp -a $treedir/${libdir}/locale ${D}${libdir}
+}
+
+python package_do_split_gconvs () {
+ import os, re
+ if (bb.data.getVar('PACKAGE_NO_GCONV', d, 1) == '1'):
+ bb.note("package requested not splitting gconvs")
+ return
+
+ if not bb.data.getVar('PACKAGES', d, 1):
+ return
+
+ libdir = bb.data.getVar('libdir', d, 1)
+ if not libdir:
+ bb.error("libdir not defined")
+ return
+ datadir = bb.data.getVar('datadir', d, 1)
+ if not datadir:
+ bb.error("datadir not defined")
+ return
+
+ gconv_libdir = os.path.join(libdir, "gconv")
+ charmap_dir = os.path.join(datadir, "i18n", "charmaps")
+ locales_dir = os.path.join(datadir, "i18n", "locales")
+ binary_locales_dir = os.path.join(libdir, "locale")
+
+ do_split_packages(d, gconv_libdir, file_regex='^(.*)\.so$', output_pattern='glibc-gconv-%s', description='gconv module for character set %s', extra_depends='glibc-gconv')
+
+ do_split_packages(d, charmap_dir, file_regex='^(.*)\.gz$', output_pattern='glibc-charmap-%s', description='character map for %s encoding', extra_depends='')
+
+ def calc_locale_deps(fn, pkg, file_regex, output_pattern, group):
+ deps = []
+ f = open(fn, "r")
+ c_re = re.compile('^copy "(.*)"')
+ i_re = re.compile('^include "(\w+)".*')
+ for l in f.readlines():
+ m = c_re.match(l) or i_re.match(l)
+ if m:
+ dp = legitimize_package_name('glibc-localedata-%s' % m.group(1))
+ if not dp in deps:
+ deps.append(dp)
+ f.close()
+ if deps != []:
+ bb.data.setVar('RDEPENDS_%s' % pkg, " ".join(deps), d)
+
+ use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1)
+ if use_bin:
+ do_split_packages(d, locales_dir, file_regex='(.*)', output_pattern='glibc-localedata-%s', description='locale definition for %s', hook=calc_locale_deps, extra_depends='', aux_files_pattern_verbatim=binary_locales_dir + '/%s')
+ else:
+ do_split_packages(d, locales_dir, file_regex='(.*)', output_pattern='glibc-localedata-%s', description='locale definition for %s', hook=calc_locale_deps, extra_depends='')
+ bb.note("generation of binary locales disabled. this may break i18n!")
+ bb.data.setVar('PACKAGES', bb.data.getVar('PACKAGES', d) + ' glibc-gconv', d)
+
+ f = open(os.path.join(bb.data.getVar('WORKDIR', d, 1), "SUPPORTED"), "r")
+ supported = f.readlines()
+ f.close()
+
+ dot_re = re.compile("(.*)\.(.*)")
+
+ # Collate the locales by base and encoding
+ encodings = {}
+ for l in supported:
+ l = l[:-1]
+ (locale, charset) = l.split(" ")
+ m = dot_re.match(locale)
+ if m:
+ locale = m.group(1)
+ if not encodings.has_key(locale):
+ encodings[locale] = []
+ encodings[locale].append(charset)
+
+ def output_locale_source(name, locale, encoding):
+ pkgname = 'locale-base-' + legitimize_package_name(name)
+
+ bb.data.setVar('RDEPENDS_%s' % pkgname, 'localedef glibc-localedata-%s glibc-charmap-%s' % (legitimize_package_name(locale), legitimize_package_name(encoding)), d)
+ rprovides = 'virtual-locale-%s' % legitimize_package_name(name)
+ m = re.match("(.*)_(.*)", name)
+ if m:
+ rprovides += ' virtual-locale-%s' % m.group(1)
+ bb.data.setVar('RPROVIDES_%s' % pkgname, rprovides, d)
+ bb.data.setVar('PACKAGES', '%s %s' % (pkgname, bb.data.getVar('PACKAGES', d, 1)), d)
+ bb.data.setVar('ALLOW_EMPTY_%s' % pkgname, '1', d)
+ bb.data.setVar('pkg_postinst_%s' % pkgname, bb.data.getVar('locale_base_postinst', d, 1) % (locale, encoding, locale), d)
+ bb.data.setVar('pkg_postrm_%s' % pkgname, bb.data.getVar('locale_base_postrm', d, 1) % (locale, encoding, locale), d)
+
+ def output_locale_binary(name, locale, encoding):
+ target_arch = bb.data.getVar("TARGET_ARCH", d, 1)
+ qemu = "qemu-%s" % target_arch
+ pkgname = 'locale-base-' + legitimize_package_name(name)
+
+ bb.data.setVar('RDEPENDS_%s' % pkgname, 'glibc-localedata-%s glibc-charmap-%s' % (legitimize_package_name(locale), legitimize_package_name(encoding)), d)
+ rprovides = 'virtual-locale-%s' % legitimize_package_name(name)
+ m = re.match("(.*)_(.*)", name)
+ if m:
+ rprovides += ' virtual-locale-%s' % m.group(1)
+ bb.data.setVar('RPROVIDES_%s' % pkgname, rprovides, d)
+ bb.data.setVar('ALLOW_EMPTY_%s' % pkgname, '1', d)
+ bb.data.setVar('PACKAGES', '%s %s' % (pkgname, bb.data.getVar('PACKAGES', d, 1)), d)
+
+ treedir = os.path.join(bb.data.getVar("WORKDIR", d, 1), "locale-tree")
+ path = bb.data.getVar("PATH", d, 1)
+ i18npath = os.path.join(treedir, datadir, "i18n")
+
+ localedef_opts = "--force --old-style --no-archive --prefix=%s --inputfile=%s/i18n/locales/%s --charmap=%s %s" % (treedir, datadir, locale, encoding, locale)
+ cmd = "PATH=\"%s\" I18NPATH=\"%s\" %s -L %s %s/bin/localedef %s" % (path, i18npath, qemu, treedir, treedir, localedef_opts)
+ bb.note("generating locale %s (%s)" % (locale, encoding))
+ if os.system(cmd):
+ raise bb.build.FuncFailed("localedef returned an error.")
+
+ def output_locale(name, locale, encoding):
+ use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1)
+ if use_bin:
+ output_locale_binary(name, locale, encoding)
+ else:
+ output_locale_source(name, locale, encoding)
+
+ use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1)
+ if use_bin:
+ bb.note("preparing tree for binary locale generation")
+ bb.build.exec_func("do_prep_locale_tree", d)
+
+ # Reshuffle names so that UTF-8 is preferred over other encodings
+ for l in encodings.keys():
+ if len(encodings[l]) == 1:
+ output_locale(l, l, encodings[l][0])
+ else:
+ if "UTF-8" in encodings[l]:
+ output_locale(l, l, "UTF-8")
+ encodings[l].remove("UTF-8")
+ for e in encodings[l]:
+ output_locale('%s-%s' % (l, e), l, e)
+
+ use_bin = bb.data.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", d, 1)
+ if use_bin:
+ bb.note("collecting binary locales from locale tree")
+ bb.build.exec_func("do_collect_bins_from_locale_tree", d)
+}
+
+# We want to do this indirection so that we can safely 'return'
+# from the called function even though we're prepending
+python populate_packages_prepend () {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_glibc', 'libc6', d)
+ bb.data.setVar('PKG_glibc-dev', 'libc6-dev', d)
+ bb.build.exec_func('package_do_split_gconvs', d)
+}
diff --git a/meta/packages/glibc/glibc_2.3.5+cvs20050627.bb b/meta/packages/glibc/glibc_2.3.5+cvs20050627.bb
new file mode 100644
index 0000000000..c8f1d56841
--- /dev/null
+++ b/meta/packages/glibc/glibc_2.3.5+cvs20050627.bb
@@ -0,0 +1,175 @@
+DESCRIPTION = "GNU C Library"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-cvs-2.3.5"
+SRCDATE = "20050627"
+PR = "r3"
+
+GLIBC_ADDONS ?= "ports,linuxthreads"
+GLIBC_EXTRA_OECONF ?= ""
+
+GLIBC_BROKEN_LOCALES = "sid_ET tr_TR mn_MN"
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+# nptl needs unwind support in gcc, which can't be built without glibc.
+PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES += "virtual/libintl virtual/libiconv"
+DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
+INHIBIT_DEFAULT_DEPS = "1"
+
+# file://noinfo.patch;patch=1
+# file://ldconfig.patch;patch=1;pnum=0
+# file://arm-machine-gmon.patch;patch=1;pnum=0 \
+# \
+# file://arm-ioperm.patch;patch=1;pnum=0 \
+# file://ldd.patch;patch=1;pnum=0 \
+SRC_URI = "http://familiar.handhelds.org/source/v0.8.3/stash_libc_sources.redhat.com__20050627.tar.gz \
+ http://familiar.handhelds.org/source/v0.8.3/stash_ports_sources.redhat.com__20050627.tar.gz \
+ file://arm-audit.patch;patch=1 \
+ file://arm-audit2.patch;patch=1 \
+ file://arm-no-hwcap.patch;patch=1 \
+ file://arm-memcpy.patch;patch=1 \
+ file://arm-longlong.patch;patch=1;pnum=0 \
+ file://fhs-linux-paths.patch;patch=1 \
+ file://dl-cache-libcmp.patch;patch=1 \
+ file://ldsocache-varrun.patch;patch=1 \
+ file://5090_all_stubs-rule-fix.patch;patch=1 \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk"
+
+# seems to fail on tls platforms
+SRC_URI_append_arm = " file://dyn-ldconfig-20041128.patch;patch=1"
+
+S = "${WORKDIR}/libc"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
+ --without-selinux \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+do_munge() {
+ # Integrate ports into tree
+ mv ${WORKDIR}/ports ${S}
+
+ # http://www.handhelds.org/hypermail/oe/51/5135.html
+ # Some files were moved around between directories on
+ # 2005-12-21, which means that any attempt to check out
+ # from CVS using a datestamp older than that will be doomed.
+ #
+ # This is a workaround for that problem.
+ rm -rf ${S}/bits
+}
+
+addtask munge before do_patch after do_unpack
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+do_stage() {
+ rm -f ${STAGING_LIBDIR}/libc.so.6
+ oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${STAGING_LIBDIR}/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${STAGING_INCDIR}/gnu \
+ ${STAGING_INCDIR}/bits \
+ ${STAGING_INCDIR}/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
+ done
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
+
+ rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
+ oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
+ ${CROSS_DIR}/${TARGET_SYS}/include/bits \
+ ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/
+ done
+
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
+}
+
+include glibc-package.bbclass
diff --git a/meta/packages/glibc/glibc_2.4.bb b/meta/packages/glibc/glibc_2.4.bb
new file mode 100644
index 0000000000..faaf27ced3
--- /dev/null
+++ b/meta/packages/glibc/glibc_2.4.bb
@@ -0,0 +1,201 @@
+DESCRIPTION = "GNU C Library"
+HOMEPAGE = "http://www.gnu.org/software/libc/libc.html"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "required"
+DEFAULT_PREFERENCE = "-1"
+PR = "r4"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glibc-2.4"
+
+GLIBC_ADDONS ?= "ports,nptl,libidn"
+GLIBC_EXTRA_OECONF ?= ""
+
+GLIBC_BROKEN_LOCALES = "sid_ET tr_TR mn_MN"
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+# nptl needs unwind support in gcc, which can't be built without glibc.
+PROVIDES = "virtual/libc ${@['virtual/${TARGET_PREFIX}libc-for-gcc', '']['nptl' in '${GLIBC_ADDONS}']}"
+PROVIDES += "virtual/libintl virtual/libiconv"
+DEPENDS = "${@['virtual/${TARGET_PREFIX}gcc-initial', 'virtual/${TARGET_PREFIX}gcc']['nptl' in '${GLIBC_ADDONS}']} linux-libc-headers"
+RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
+INHIBIT_DEFAULT_DEPS = "1"
+
+# file://noinfo.patch;patch=1
+# file://ldconfig.patch;patch=1;pnum=0
+# file://arm-machine-gmon.patch;patch=1;pnum=0 \
+# \
+# file://arm-ioperm.patch;patch=1;pnum=0 \
+# file://ldd.patch;patch=1;pnum=0 \
+SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.4.tar.bz2 \
+ ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-2.4.tar.bz2 \
+ ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-2.4.tar.bz2 \
+ file://arm-memcpy.patch;patch=1 \
+ file://arm-longlong.patch;patch=1 \
+ file://fhs-linux-paths.patch;patch=1 \
+ file://dl-cache-libcmp.patch;patch=1 \
+ file://ldsocache-varrun.patch;patch=1 \
+ file://nptl-crosscompile.patch;patch=1 \
+ file://glibc-2.4-compile.patch;patch=1 \
+ file://fixup-aeabi-syscalls.patch;patch=1 \
+ file://generic-bits_select.h \
+ file://generic-bits_types.h \
+ file://generic-bits_typesizes.h \
+ file://generic-bits_time.h \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk"
+
+S = "${WORKDIR}/glibc-2.4"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+inherit autotools
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${STAGING_INCDIR} \
+ --without-selinux \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+def get_glibc_fpu_setting(bb, d):
+ if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
+ return "--without-fp"
+ return ""
+
+do_munge() {
+ # Integrate ports and libidn into tree
+ mv ${WORKDIR}/glibc-ports-${PV} ${S}/ports
+ mv ${WORKDIR}/glibc-libidn-${PV} ${S}/libidn
+
+ # Ports isn't really working... Fix it
+ # Some of this is rather dirty, but it seems to be the only
+ # quick way to get this cruft to compile
+ rm -rf ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads
+ ln -s nptl ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads
+ cp ${S}/sysdeps/unix/sysv/linux/i386/bits/wchar.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
+ cp ${S}/sysdeps/wordsize-32/bits/wordsize.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
+ cp ${WORKDIR}/generic-bits_select.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/select.h
+ cp ${WORKDIR}/generic-bits_types.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/types.h
+ cp ${WORKDIR}/generic-bits_typesizes.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/typesizes.h
+ cp ${WORKDIR}/generic-bits_time.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/time.h
+ # Copy in generic stuff for not yet implemented headers
+ for i in ${S}/bits/*.h; do
+ F=`basename $i`
+ [ "$F" = "local_lim.h" ] && continue
+ [ "$F" = "errno.h" ] && continue
+ test -e ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/$F || test -e ${S}/ports/sysdeps/arm/bits/$F || test -e ${S}/sysdeps/unix/sysv/linux/bits/$F || test -e ${S}/sysdeps/ieee754/bits/$F || cp $i ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
+ done
+ # This is harmful; we need to get the one from nptl/sysdeps/pthreads
+ rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/libc-lock.h
+ # Obsoleted by sysdeps/arm/{fpu,eabi}/bits/fenv.h
+ rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/fenv.h
+ # Obsoleted by sysdeps/gnu/bits/utmp.h
+ rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/utmp.h
+
+ # http://www.handhelds.org/hypermail/oe/51/5135.html
+ # Some files were moved around between directories on
+ # 2005-12-21, which means that any attempt to check out
+ # from CVS using a datestamp older than that will be doomed.
+ #
+ # This is a workaround for that problem.
+ rm -rf ${S}/bits
+}
+
+addtask munge before do_patch after do_unpack
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+do_stage() {
+ rm -f ${STAGING_LIBDIR}/libc.so.6
+ oe_runmake 'install_root=${STAGING_DIR}/${HOST_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${STAGING_LIBDIR}/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${STAGING_INCDIR}/gnu \
+ ${STAGING_INCDIR}/bits \
+ ${STAGING_INCDIR}/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${STAGING_INCDIR}/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${STAGING_INCDIR}/bits/
+ install -m 0644 misc/syscall-list.h ${STAGING_INCDIR}/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${STAGING_INCDIR}/rpcsvc/
+ done
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${STAGING_LIBDIR}/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${STAGING_LIBDIR}/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${STAGING_LIBDIR}/libc.so
+
+ rm -f ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6
+ oe_runmake 'install_root=${CROSS_DIR}/${TARGET_SYS}' \
+ 'includedir=/include' 'libdir=/lib' 'slibdir=/lib' \
+ '${CROSS_DIR}/${TARGET_SYS}/lib/libc.so.6' \
+ install-headers install-lib
+
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include/gnu \
+ ${CROSS_DIR}/${TARGET_SYS}/include/bits \
+ ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc
+ install -m 0644 ${S}/include/gnu/stubs.h ${CROSS_DIR}/${TARGET_SYS}/include/gnu/
+ install -m 0644 ${B}/bits/stdio_lim.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/
+ install -m 0644 misc/syscall-list.h ${CROSS_DIR}/${TARGET_SYS}/include/bits/syscall.h
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ install -m 0644 ${S}/sunrpc/rpcsvc/$h ${CROSS_DIR}/${TARGET_SYS}/include/rpcsvc/
+ done
+
+ for i in libc.a libc_pic.a libc_nonshared.a; do
+ install -m 0644 ${B}/$i ${CROSS_DIR}/${TARGET_SYS}/lib/ || die "failed to install $i"
+ done
+ echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libpthread.so
+ echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${CROSS_DIR}/${TARGET_SYS}/lib/libc.so
+}
+
+include glibc-package.bbclass
diff --git a/meta/packages/gmp/gmp-4.1.2/amd64.patch b/meta/packages/gmp/gmp-4.1.2/amd64.patch
new file mode 100644
index 0000000000..bbede7fcc7
--- /dev/null
+++ b/meta/packages/gmp/gmp-4.1.2/amd64.patch
@@ -0,0 +1,16 @@
+Index: gmp-4.1.2/longlong.h
+===================================================================
+--- gmp-4.1.2.orig/longlong.h 2005-06-24 13:38:06.787570452 -0700
++++ gmp-4.1.2/longlong.h 2005-06-24 13:38:31.539556496 -0700
+@@ -715,8 +715,10 @@
+ } while (0)
+ #define count_trailing_zeros(count, x) \
+ do { \
++ UDItype __cbtmp; \
+ ASSERT ((x) != 0); \
+- __asm__ ("bsfq %1,%0" : "=r" (count) : "rm" ((UDItype)(x))); \
++ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
++ (count) = __cbtmp; \
+ } while (0)
+ #endif /* x86_64 */
+
diff --git a/meta/packages/gmp/gmp-4.1.2/configure.patch b/meta/packages/gmp/gmp-4.1.2/configure.patch
new file mode 100644
index 0000000000..94ad97e919
--- /dev/null
+++ b/meta/packages/gmp/gmp-4.1.2/configure.patch
@@ -0,0 +1,864 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- gmp-4.1.2/mpfr/Makefile.am~configure 2002-05-15 20:27:52.000000000 -0400
++++ gmp-4.1.2/mpfr/Makefile.am 2004-01-25 12:53:19.000000000 -0500
+@@ -28,7 +28,7 @@
+ SUBDIRS = tests
+
+ INCLUDES = -I$(top_srcdir)
+-CFLAGS = @MPFR_CFLAGS@
++AM_CFLAGS = @MPFR_CFLAGS@
+ LIBS = @MPFR_LIBS@
+
+ if WANT_MPFR
+--- gmp-4.1.2/mpfr/tests/Makefile.am~configure 2002-11-24 17:00:42.000000000 -0500
++++ gmp-4.1.2/mpfr/tests/Makefile.am 2004-01-25 12:53:19.000000000 -0500
+@@ -22,7 +22,7 @@
+ AUTOMAKE_OPTIONS = gnu no-dependencies $(top_builddir)/ansi2knr
+
+ INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/mpfr
+-CFLAGS = @MPFR_CFLAGS@
++AM_CFLAGS = @MPFR_CFLAGS@
+ LIBS = @MPFR_LIBS@
+
+ LDADD = ../libmpfr.a $(top_builddir)/libgmp.la
+--- gmp-4.1.2/configure.in~configure 2002-12-23 15:52:09.000000000 -0500
++++ gmp-4.1.2/configure.in 2004-01-25 12:53:19.000000000 -0500
+@@ -26,15 +26,16 @@
+
+
+ AC_REVISION($Revision: 1.425.2.17 $)
+-AC_PREREQ(2.52)
+-AC_INIT(gmp-impl.h)
+-m4_pattern_forbid([^[ \t]*GMP_])
+-m4_pattern_forbid([^[ \t]*MPFR_CONFIGS])
+-m4_pattern_allow(GMP_LDFLAGS)
+-m4_pattern_allow(GMP_LIMB_BITS)
+-m4_pattern_allow(GMP_MPARAM_H_SUGGEST)
+-m4_pattern_allow(GMP_NAIL_BITS)
+-m4_pattern_allow(GMP_NUMB_BITS)
++AC_PREREQ(2.57)
++AC_INIT
++AC_CONFIG_SRCDIR([gmp-impl.h])
++
++
++
++
++
++
++
+
+ # If --target is not used then $target_alias is empty, but if say
+ # "./configure athlon-pc-freebsd3.5" is used, then all three of
+@@ -56,7 +57,7 @@
+ GMP_DEFINE_RAW("define_not_for_expansion(\`HAVE_HOST_CPU_$tmp_host')", POST)
+
+ AM_INIT_AUTOMAKE(gmp, GMP_VERSION)
+-AM_CONFIG_HEADER(config.h:config.in)
++AC_CONFIG_HEADERS([config.h:config.in])
+ AM_MAINTAINER_MODE
+
+
+@@ -201,7 +202,7 @@
+ # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is
+ # called. User selections of CC etc are respected.
+ #
+-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP
++# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP
+ # pre-testing, since they of course depend on AC_PROG_CC, and also some of
+ # them cache their results, which is not wanted.
+ #
+@@ -288,7 +289,7 @@
+ # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring
+ # c89 over cc here. But note that on HP-UX c89 provides a castrated
+ # environment, and would want to be excluded somehow. Maybe
+-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and
++# already does enough to stick cc into ANSI mode and
+ # we don't need to worry.
+ #
+ cclist="gcc cc"
+@@ -1010,7 +1011,7 @@
+ CFLAGS_or_unset=${CFLAGS-'(unset)'}
+ CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
+
+-cat >&AC_FD_CC <<EOF
++cat >&AS_MESSAGE_LOG_FD() <<EOF
+ configure:__line__: User:
+ ABI=$ABI
+ CC=$CC
+@@ -1322,18 +1323,18 @@
+
+ # The C compiler and preprocessor, put into ANSI mode if possible.
+ AC_PROG_CC
+-AC_PROG_CC_STDC
++
+ AC_PROG_CPP
+ GMP_H_ANSI
+
+
+ # The C++ compiler, if desired.
+ want_cxx=no
++AC_PROG_CXX
+ if test $enable_cxx != no; then
+ test_CXXFLAGS=${CXXFLAGS+set}
+- AC_PROG_CXX
+
+- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
++ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
+ cxxflags_ac_prog_cxx=$CXXFLAGS
+ cxxflags_list=ac_prog_cxx
+
+@@ -1409,7 +1410,7 @@
+ fi
+
+
+-cat >&AC_FD_CC <<EOF
++cat >&AS_MESSAGE_LOG_FD() <<EOF
+ configure:__line__: Decided:
+ ABI=$ABI
+ CC=$CC
+@@ -1651,9 +1652,9 @@
+
+ # FIXME: Autoconf 2.52 AC_C_BIGENDIAN bombs when cross compiling, but in the
+ # future the probes will be better and this override can be removed.
+-if test "$cross_compiling" = yes; then
+- ac_cv_c_bigendian=unknown
+-fi
++#if test "$cross_compiling" = yes; then
++# ac_cv_c_bigendian=unknown
++#fi
+ AC_C_BIGENDIAN
+ # Enhancement: In the future AC_C_BIGENDIAN will accept these actions as
+ # parameters.
+@@ -2094,7 +2095,7 @@
+
+ # Configs for demos/calc directory
+ #
+-# AC_SUBST is used here since with AM_CONFIG_HEADER automake would put
++# AC_SUBST is used here since with AC_CONFIG_HEADERS([]) automake would put
+ # demos/calc in the default $(DEFAULT_INCLUDES) for every directory,
+ # which would look very strange. Likewise demos/expr below.
+ #
+@@ -2133,7 +2134,7 @@
+ # FIXME: Upcoming version of autoconf/automake may not like broken lines.
+ # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
+
+-AC_OUTPUT(Makefile \
++AC_CONFIG_FILES([Makefile \
+ mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile \
+ mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile \
+ tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile \
+@@ -2143,4 +2144,5 @@
+ mpfr/Makefile mpfr/tests/Makefile \
+ tune/Makefile \
+ demos/Makefile demos/calc/Makefile demos/expr/Makefile \
+- gmp.h:gmp-h.in mp.h:mp-h.in)
++ gmp.h:gmp-h.in mp.h:mp-h.in])
++AC_OUTPUT
+--- gmp-4.1.2/acinclude.m4~configure 2002-09-07 20:02:19.000000000 -0400
++++ gmp-4.1.2/acinclude.m4 2004-01-25 12:54:39.000000000 -0500
+@@ -21,10 +21,10 @@
+ dnl MA 02111-1307, USA.
+
+
+-define(X86_PATTERN,
++define([X86_PATTERN],
+ [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-*]])
+
+-define(POWERPC64_PATTERN,
++define([POWERPC64_PATTERN],
+ [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-*]])
+
+
+@@ -32,7 +32,7 @@
+ dnl ----------------------
+ dnl Strip entries */subdir from $path.
+
+-define(GMP_STRIP_PATH,
++define([GMP_STRIP_PATH],
+ [tmp_path=
+ for i in $path; do
+ case $i in
+@@ -53,7 +53,7 @@
+ dnl GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB starts as a dummy, but gets
+ dnl redefined in GMP_C_SIZES when the right value is known.
+
+-define(GMP_INCLUDE_GMP_H,
++define([GMP_INCLUDE_GMP_H],
+ [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */
+ #define GMP_NAIL_BITS $GMP_NAIL_BITS]
+ GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB
+@@ -61,7 +61,7 @@
+ #include "$srcdir/gmp-h.in"]
+ ])
+
+-define(GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB,
++define([GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB],
+ [[#define __GMP_BITS_PER_MP_LIMB 123 /* dummy for GMP_NUMB_BITS etc */
+ #define GMP_LIMB_BITS 123]])
+
+@@ -72,7 +72,7 @@
+ dnl FILE. The regexps here aren't very rugged, but are enough for gmp.
+ dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
+
+-define(GMP_HEADER_GETVAL,
++define([GMP_HEADER_GETVAL],
+ [patsubst(patsubst(
+ esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
+ [^.*$1[ ]+],[]),
+@@ -86,7 +86,7 @@
+ dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits
+ dnl like 3.0.1 if patchlevel > 0.
+
+-define(GMP_VERSION,
++define([GMP_VERSION],
+ [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
+ .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
+ ifelse(m4_eval(GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in) > 0),1,
+@@ -97,13 +97,13 @@
+ dnl ------------------------------
+ dnl Setup an AC_SUBST of HAVE_FUNC_01 for each argument.
+
+-AC_DEFUN(GMP_SUBST_CHECK_FUNCS,
++AC_DEFUN([GMP_SUBST_CHECK_FUNCS],
+ [m4_if([$1],,,
+ [_GMP_SUBST_CHECK_FUNCS(ac_cv_func_[$1],HAVE_[]m4_translit([$1],[a-z],[A-Z])_01)
+ GMP_SUBST_CHECK_FUNCS(m4_shift($@))])])
+
+ dnl Called: _GMP_SUBST_CHECK_FUNCS(cachvar,substvar)
+-AC_DEFUN(_GMP_SUBST_CHECK_FUNCS,
++AC_DEFUN([_GMP_SUBST_CHECK_FUNCS],
+ [case $[$1] in
+ yes) AC_SUBST([$2],1) ;;
+ no) [$2]=0 ;;
+@@ -115,14 +115,14 @@
+ dnl ----------------------------------
+ dnl Setup an AC_SUBST of HAVE_FOO_H_01 for each argument.
+
+-AC_DEFUN(GMP_SUBST_CHECK_HEADERS,
++AC_DEFUN([GMP_SUBST_CHECK_HEADERS],
+ [m4_if([$1],,,
+ [_GMP_SUBST_CHECK_HEADERS(ac_cv_header_[]m4_translit([$1],[./],[__]),
+ HAVE_[]m4_translit([$1],[a-z./],[A-Z__])_01)
+ GMP_SUBST_CHECK_HEADERS(m4_shift($@))])])
+
+ dnl Called: _GMP_SUBST_CHECK_HEADERS(cachvar,substvar)
+-AC_DEFUN(_GMP_SUBST_CHECK_HEADERS,
++AC_DEFUN([_GMP_SUBST_CHECK_HEADERS],
+ [case $[$1] in
+ yes) AC_SUBST([$2],1) ;;
+ no) [$2]=0 ;;
+@@ -145,12 +145,12 @@
+ dnl would test whether $major.$minor.$subminor is greater than or equal to
+ dnl 10.3.1.
+
+-AC_DEFUN(GMP_COMPARE_GE,
++AC_DEFUN([GMP_COMPARE_GE],
+ [gmp_compare_ge=no
+ GMP_COMPARE_GE_INTERNAL($@)
+ ])
+
+-AC_DEFUN(GMP_COMPARE_GE_INTERNAL,
++AC_DEFUN([GMP_COMPARE_GE_INTERNAL],
+ [ifelse(len([$3]),0,
+ [if test -n "$1" && test "$1" -ge $2; then
+ gmp_compare_ge=yes
+@@ -184,7 +184,7 @@
+ dnl for instance to random.o (and others) on vax-dec-ultrix4.5. Naturally
+ dnl a user-selected $AR_FLAGS is left unchanged.
+
+-AC_DEFUN(GMP_PROG_AR,
++AC_DEFUN([GMP_PROG_AR],
+ [dnl Want to establish $AR before libtool initialization.
+ AC_BEFORE([$0],[AC_PROG_LIBTOOL])
+ gmp_user_AR=$AR
+@@ -212,7 +212,7 @@
+ dnl CC_FOR_BUILD is used without testing. CC_FOR_BUILD is the new name for
+ dnl a build system compiler, see configfsf.guess.
+
+-AC_DEFUN(GMP_PROG_HOST_CC,
++AC_DEFUN([GMP_PROG_HOST_CC],
+ [AC_BEFORE([$0],[AC_PROG_LIBTOOL])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_CACHE_CHECK([for HOST_CC build system compiler],
+@@ -255,7 +255,7 @@
+ dnl FIXME: This can be removed and just AM_PROG_LEX used, one that macro
+ dnl works properly.
+
+-AC_DEFUN(GMP_PROG_LEX,
++AC_DEFUN([GMP_PROG_LEX],
+ [AC_REQUIRE([AC_PROG_LEX])
+ if test "$LEX" = :; then
+ LEX=${am_missing_run}flex
+@@ -273,7 +273,7 @@
+ dnl
+ dnl See mpn/asm-defs.m4 for details on the known bad m4s.
+
+-AC_DEFUN(GMP_PROG_M4,
++AC_DEFUN([GMP_PROG_M4],
+ [AC_ARG_VAR(M4,[m4 macro processor])
+ AC_CACHE_CHECK([for suitable m4],
+ gmp_cv_prog_m4,
+@@ -340,7 +340,7 @@
+ dnl Enhancement: Maybe this could be in GMP_PROG_M4, and attempt to prefer
+ dnl an m4 with a working m4wrap, if it can be found.
+
+-AC_DEFUN(GMP_M4_M4WRAP_SPURIOUS,
++AC_DEFUN([GMP_M4_M4WRAP_SPURIOUS],
+ [AC_REQUIRE([GMP_PROG_M4])
+ AC_CACHE_CHECK([if m4wrap produces spurious output],
+ gmp_cv_m4_m4wrap_spurious,
+@@ -374,7 +374,7 @@
+ dnl A user-selected $NM is always left unchanged. AC_PROG_NM is still run
+ dnl to get the "checking" message printed though.
+
+-AC_DEFUN(GMP_PROG_NM,
++AC_DEFUN([GMP_PROG_NM],
+ [dnl Make sure we're the first to call AC_PROG_NM, so our extra flags are
+ dnl used by everyone.
+ AC_BEFORE([$0],[AC_PROG_NM])
+@@ -426,7 +426,7 @@
+ dnl will run is that a plain native "./configure" falls back on ABI=32, but
+ dnl ABI=64 is still available as a cross-compile.
+
+-AC_DEFUN(GMP_PROG_CC_WORKS,
++AC_DEFUN([GMP_PROG_CC_WORKS],
+ [AC_MSG_CHECKING([compiler $1])
+ cat >conftest.c <<EOF
+
+@@ -481,7 +481,7 @@
+ dnl cache the result. The same "ifndef" style test is used, to avoid
+ dnl problems with syntax checking cpp's used on NeXT and Apple systems.
+
+-AC_DEFUN(GMP_PROG_CC_IS_GNU,
++AC_DEFUN([GMP_PROG_CC_IS_GNU],
+ [cat >conftest.c <<EOF
+ #ifndef __GNUC__
+ choke me
+@@ -508,7 +508,7 @@
+ dnl there is one then it's well hidden in xlc 3.1 on AIX 4.3, so just grep
+ dnl the man page printed when xlc is invoked with no arguments.
+
+-AC_DEFUN(GMP_PROG_CC_IS_XLC,
++AC_DEFUN([GMP_PROG_CC_IS_XLC],
+ [gmp_command="$1 2>&1 | grep xlc >/dev/null"
+ if AC_TRY_EVAL(gmp_command); then
+ AC_MSG_CHECKING([whether $1 is xlc])
+@@ -527,7 +527,7 @@
+ dnl This test might be repeated for different compilers, so the result is
+ dnl not cached.
+
+-AC_DEFUN(GMP_HPC_HPPA_2_0,
++AC_DEFUN([GMP_HPC_HPPA_2_0],
+ [AC_MSG_CHECKING([whether HP compiler $1 is good for 64-bits])
+ # Bad compiler output:
+ # ccom: HP92453-01 G.10.32.05 HP C Compiler
+@@ -571,7 +571,7 @@
+ dnl
+ dnl There's no caching here, so that different CC's can be tested.
+
+-AC_DEFUN(GMP_GCC_VERSION_GE,
++AC_DEFUN([GMP_GCC_VERSION_GE],
+ [tmp_version=`($1 --version) 2>&AC_FD_CC`
+ echo "$1 --version '$tmp_version'" >&AC_FD_CC
+
+@@ -608,7 +608,7 @@
+ dnl size==1 case in mpn/generic/mode1o.c, and this shows up in
+ dnl tests/mpz/t-jac.c as a wrong result from mpz_kronecker_ui.
+
+-AC_DEFUN(GMP_GCC_ARM_UMODSI,
++AC_DEFUN([GMP_GCC_ARM_UMODSI],
+ [AC_MSG_CHECKING([whether ARM gcc unsigned division works])
+ tmp_version=`$1 --version`
+ echo "$tmp_version" >&AC_FD_CC
+@@ -635,7 +635,7 @@
+ dnl This macro is used only once, after finalizing a choice of CC, so the
+ dnl result is cached.
+
+-AC_DEFUN(GMP_GCC_MARCH_PENTIUMPRO,
++AC_DEFUN([GMP_GCC_MARCH_PENTIUMPRO],
+ [AC_CACHE_CHECK([whether gcc -march=pentiumpro is good],
+ gmp_cv_gcc_march_pentiumpro,
+ [GMP_GCC_VERSION_GE([$1], 2,95,4)
+@@ -659,7 +659,7 @@
+ dnl gets rearranged or rewritten so the ICE doesn't happen then this can be
+ dnl removed.
+
+-AC_DEFUN(GMP_GCC_M68K_OPTIMIZE,
++AC_DEFUN([GMP_GCC_M68K_OPTIMIZE],
+ [case $host in
+ m68*-*-*)
+ if test $1 = gcc; then
+@@ -681,7 +681,7 @@
+ dnl gcc 2.95 accepts -mabi=32 but it only works on irix5, on irix6 it gives
+ dnl "cc1: The -mabi=32 support does not work yet".
+
+-AC_DEFUN(GMP_GCC_MIPS_O32,
++AC_DEFUN([GMP_GCC_MIPS_O32],
+ [AC_MSG_CHECKING([whether gcc supports o32])
+ echo 'int x;' >conftest.c
+ echo "$1 -mabi=32 -c conftest.c" >&AC_FD_CC
+@@ -716,7 +716,7 @@
+ dnl watch for that and decide against the option in that case, to avoid
+ dnl confusing the user.
+
+-AC_DEFUN(GMP_GCC_NO_CPP_PRECOMP,
++AC_DEFUN([GMP_GCC_NO_CPP_PRECOMP],
+ [if test "$ccbase" = gcc; then
+ AC_MSG_CHECKING([compiler $2 $3 -no-cpp-precomp])
+ result=no
+@@ -752,7 +752,7 @@
+ dnl This is intended for use on alpha, since only recent versions of gas
+ dnl accept -mev67, but there's nothing here that's alpha specific.
+
+-AC_DEFUN(GMP_GCC_WA_MCPU,
++AC_DEFUN([GMP_GCC_WA_MCPU],
+ [AC_MSG_CHECKING([assembler $1 $2])
+ result=no
+ cat >conftest.c <<EOF
+@@ -783,7 +783,7 @@
+ dnl This test is designed to be run repeatedly with different cxx/cxxflags
+ dnl selections, so the result is not cached.
+
+-AC_DEFUN(GMP_PROG_CXX_WORKS,
++AC_DEFUN([GMP_PROG_CXX_WORKS],
+ [AC_MSG_CHECKING([C++ compiler $1])
+ cat >conftest.cc <<EOF
+ #include <iostream>
+@@ -817,7 +817,7 @@
+ dnl FIXME: The generated config.m4 doesn't get recreated by config.status.
+ dnl Maybe the relevant "echo"s should go through AC_CONFIG_COMMANDS.
+
+-AC_DEFUN(GMP_INIT,
++AC_DEFUN([GMP_INIT],
+ [ifelse([$1], , gmp_configm4=config.m4, gmp_configm4="[$1]")
+ gmp_tmpconfigm4=cnfm4.tmp
+ gmp_tmpconfigm4i=cnfm4i.tmp
+@@ -834,7 +834,9 @@
+ echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
+
+ # All CPUs use asm-defs.m4
+-echo ["include(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
++echo -n ["include("] >>$gmp_tmpconfigm4i
++echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i
++echo [")"] >>$gmp_tmpconfigm4i
+ ])
+
+
+@@ -855,7 +857,7 @@
+ dnl having a whole file as a macro argument would overflow the string space
+ dnl on BSD m4.
+
+-AC_DEFUN(GMP_FINISH,
++AC_DEFUN([GMP_FINISH],
+ [AC_REQUIRE([GMP_INIT])
+ echo "creating $gmp_configm4"
+ echo ["d""nl $gmp_configm4. Generated automatically by configure."] > $gmp_configm4
+@@ -889,7 +891,7 @@
+ dnl GMP_INCLUDE_MPN(`x86/x86-defs.m4')
+ dnl
+
+-AC_DEFUN(GMP_INCLUDE_MPN,
++AC_DEFUN([GMP_INCLUDE_MPN],
+ [AC_REQUIRE([GMP_INIT])
+ echo ["include_mpn(\`$1')"] >> $gmp_tmpconfigm4i
+ ])
+@@ -905,7 +907,7 @@
+ dnl create file config.m4. config.m4 uses `<' and '>' as quote characters
+ dnl for all defines.
+
+-AC_DEFUN(GMP_DEFINE,
++AC_DEFUN([GMP_DEFINE],
+ [AC_REQUIRE([GMP_INIT])
+ echo ['define(<$1>, <$2>)'] >>ifelse([$3], [POST],
+ $gmp_tmpconfigm4p, $gmp_tmpconfigm4)
+@@ -920,7 +922,7 @@
+ dnl directives inserted by GMP_INCLUDE. Don't forget to invoke GMP_FINISH
+ dnl to create file config.m4.
+
+-AC_DEFUN(GMP_DEFINE_RAW,
++AC_DEFUN([GMP_DEFINE_RAW],
+ [AC_REQUIRE([GMP_INIT])
+ echo [$1] >> ifelse([$2], [POST], $gmp_tmpconfigm4p, $gmp_tmpconfigm4)
+ ])
+@@ -938,7 +940,7 @@
+ dnl This is not unlike AC_TRY_COMPILE, but there's no default includes or
+ dnl anything in "asm-code", everything wanted must be given explicitly.
+
+-AC_DEFUN(GMP_TRY_ASSEMBLE,
++AC_DEFUN([GMP_TRY_ASSEMBLE],
+ [cat >conftest.s <<EOF
+ [$1]
+ EOF
+@@ -960,7 +962,7 @@
+ dnl --------------------
+ dnl Should a label have a colon or not?
+
+-AC_DEFUN(GMP_ASM_LABEL_SUFFIX,
++AC_DEFUN([GMP_ASM_LABEL_SUFFIX],
+ [AC_CACHE_CHECK([what assembly label suffix to use],
+ gmp_cv_asm_label_suffix,
+ [case $host in
+@@ -984,7 +986,7 @@
+ dnl in particular that grepping doesn't work with SunOS 4 native grep since
+ dnl that grep seems to have trouble with '\0's in files.
+
+-AC_DEFUN(GMP_ASM_UNDERSCORE,
++AC_DEFUN([GMP_ASM_UNDERSCORE],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_REQUIRE([GMP_ASM_GLOBL])
+ AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+@@ -1045,7 +1047,7 @@
+ dnl -----------------
+ dnl Is parameter to `.align' logarithmic?
+
+-AC_DEFUN(GMP_ASM_ALIGN_LOG,
++AC_DEFUN([GMP_ASM_ALIGN_LOG],
+ [AC_REQUIRE([GMP_ASM_GLOBL])
+ AC_REQUIRE([GMP_ASM_DATA])
+ AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+@@ -1103,7 +1105,7 @@
+ dnl The warning from solaris 2.8 is supressed to stop anyone worrying that
+ dnl something might be wrong.
+
+-AC_DEFUN(GMP_ASM_ALIGN_FILL_0x90,
++AC_DEFUN([GMP_ASM_ALIGN_FILL_0x90],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([if the .align directive accepts an 0x90 fill in .text],
+ gmp_cv_asm_align_fill_0x90,
+@@ -1127,7 +1129,7 @@
+ dnl GMP_ASM_TEXT
+ dnl ------------
+
+-AC_DEFUN(GMP_ASM_TEXT,
++AC_DEFUN([GMP_ASM_TEXT],
+ [AC_CACHE_CHECK([how to switch to text section],
+ gmp_cv_asm_text,
+ [case $host in
+@@ -1144,7 +1146,7 @@
+ dnl ------------
+ dnl Can we say `.data'?
+
+-AC_DEFUN(GMP_ASM_DATA,
++AC_DEFUN([GMP_ASM_DATA],
+ [AC_CACHE_CHECK([how to switch to data section],
+ gmp_cv_asm_data,
+ [case $host in
+@@ -1172,7 +1174,7 @@
+ dnl where foo is the object file. Might need to check for that if we use
+ dnl RODATA there.
+
+-AC_DEFUN(GMP_ASM_RODATA,
++AC_DEFUN([GMP_ASM_RODATA],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_REQUIRE([GMP_ASM_DATA])
+ AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+@@ -1229,7 +1231,7 @@
+ dnl -------------
+ dnl Can we say `.global'?
+
+-AC_DEFUN(GMP_ASM_GLOBL,
++AC_DEFUN([GMP_ASM_GLOBL],
+ [AC_CACHE_CHECK([how to export a symbol],
+ gmp_cv_asm_globl,
+ [case $host in
+@@ -1245,7 +1247,7 @@
+ dnl ------------------
+ dnl Do we need something after `.global symbol'?
+
+-AC_DEFUN(GMP_ASM_GLOBL_ATTR,
++AC_DEFUN([GMP_ASM_GLOBL_ATTR],
+ [AC_CACHE_CHECK([if the export directive needs an attribute],
+ gmp_cv_asm_globl_attr,
+ [case $host in
+@@ -1276,7 +1278,7 @@
+ dnl letting the problem go unnoticed. tests/mpn/t-asmtype.c aims to check
+ dnl for it.
+
+-AC_DEFUN(GMP_ASM_TYPE,
++AC_DEFUN([GMP_ASM_TYPE],
+ [AC_CACHE_CHECK([for assembler .type directive],
+ gmp_cv_asm_type,
+ [gmp_cv_asm_type=
+@@ -1298,7 +1300,7 @@
+ dnl ------------
+ dnl Can we say `.size'?
+
+-AC_DEFUN(GMP_ASM_SIZE,
++AC_DEFUN([GMP_ASM_SIZE],
+ [AC_CACHE_CHECK([for assembler .size directive],
+ gmp_cv_asm_size,
+ [gmp_cv_asm_size=
+@@ -1341,7 +1343,7 @@
+ dnl HP-UX nm prints an error message (though seems to give a 0 exit) if
+ dnl there's no symbols at all in an object file, hence the use of "dummy".
+
+-AC_DEFUN(GMP_ASM_LSYM_PREFIX,
++AC_DEFUN([GMP_ASM_LSYM_PREFIX],
+ [AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+ AC_REQUIRE([GMP_PROG_NM])
+ AC_CACHE_CHECK([what prefix to use for a local label],
+@@ -1386,7 +1388,7 @@
+ dnl -----------
+ dnl How to define a 32-bit word.
+
+-AC_DEFUN(GMP_ASM_W32,
++AC_DEFUN([GMP_ASM_W32],
+ [AC_REQUIRE([GMP_ASM_DATA])
+ AC_REQUIRE([GMP_ASM_GLOBL])
+ AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+@@ -1443,7 +1445,7 @@
+ dnl %mm1, %mm0"). It seems more trouble than it's worth to work around
+ dnl this in the code, so just detect and reject.
+
+-AC_DEFUN(GMP_ASM_X86_MMX,
++AC_DEFUN([GMP_ASM_X86_MMX],
+ [AC_CACHE_CHECK([if the assembler knows about MMX instructions],
+ gmp_cv_asm_x86_mmx,
+ [GMP_TRY_ASSEMBLE(
+@@ -1495,7 +1497,7 @@
+ dnl GMP_ASM_X86_SHLDL_CL
+ dnl --------------------
+
+-AC_DEFUN(GMP_ASM_X86_SHLDL_CL,
++AC_DEFUN([GMP_ASM_X86_SHLDL_CL],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([if the assembler takes cl with shldl],
+ gmp_cv_asm_x86_shldl_cl,
+@@ -1522,7 +1524,7 @@
+ dnl it's all GMP_ASM_TEXT gives currently. Actually ".text" probably isn't
+ dnl needed at all, at least for just checking instruction syntax.
+
+-AC_DEFUN(GMP_ASM_X86_SSE2,
++AC_DEFUN([GMP_ASM_X86_SSE2],
+ [AC_CACHE_CHECK([if the assembler knows about SSE2 instructions],
+ gmp_cv_asm_x86_sse2,
+ [GMP_TRY_ASSEMBLE(
+@@ -1585,7 +1587,7 @@
+ dnl to get two variables (mcount_nonpic_reg and mcount_nonpic_call say) set
+ dnl from one block of commands?
+
+-AC_DEFUN(GMP_ASM_X86_MCOUNT,
++AC_DEFUN([GMP_ASM_X86_MCOUNT],
+ [AC_REQUIRE([AC_ENABLE_SHARED])
+ AC_REQUIRE([AC_PROG_LIBTOOL])
+ AC_MSG_CHECKING([how to call x86 mcount])
+@@ -1655,7 +1657,7 @@
+ dnl instruction. It takes registers without "%", but a single operand
+ dnl "clrl %d0" only gives a warning, not an error.
+
+-AC_DEFUN(GMP_ASM_M68K_INSTRUCTION,
++AC_DEFUN([GMP_ASM_M68K_INSTRUCTION],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([assembler instruction and register style],
+ gmp_cv_asm_m68k_instruction,
+@@ -1684,7 +1686,7 @@
+ dnl GMP_ASM_M68K_ADDRESSING
+ dnl -----------------------
+
+-AC_DEFUN(GMP_ASM_M68K_ADDRESSING,
++AC_DEFUN([GMP_ASM_M68K_ADDRESSING],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_REQUIRE([GMP_ASM_M68K_INSTRUCTION])
+ AC_CACHE_CHECK([assembler addressing style],
+@@ -1721,7 +1723,7 @@
+ dnl 16-bits. This applies to the conditional branches "bcc" etc too.
+ dnl However "dbcc" etc on gas are already only as big as they need to be.
+
+-AC_DEFUN(GMP_ASM_M68K_BRANCHES,
++AC_DEFUN([GMP_ASM_M68K_BRANCHES],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([assembler shortest branches],
+ gmp_cv_asm_m68k_branches,
+@@ -1752,7 +1754,7 @@
+ dnl See also mpn/powerpc32/powerpc-defs.m4 which uses the result of this
+ dnl test.
+
+-AC_DEFUN(GMP_ASM_POWERPC_R_REGISTERS,
++AC_DEFUN([GMP_ASM_POWERPC_R_REGISTERS],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([if the assembler needs r on registers],
+ gmp_cv_asm_powerpc_r_registers,
+@@ -1777,7 +1779,7 @@
+ dnl
+ dnl See also mpn/sparc32/sparc-defs.m4 which uses the result of this test.
+
+-AC_DEFUN(GMP_ASM_SPARC_REGISTER,
++AC_DEFUN([GMP_ASM_SPARC_REGISTER],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([if the assembler accepts ".register"],
+ gmp_cv_asm_sparc_register,
+@@ -1795,7 +1797,7 @@
+ dnl GMP_C_ATTRIBUTE_CONST
+ dnl ---------------------
+
+-AC_DEFUN(GMP_C_ATTRIBUTE_CONST,
++AC_DEFUN([GMP_C_ATTRIBUTE_CONST],
+ [AC_CACHE_CHECK([whether gcc __attribute__ ((const)) works],
+ gmp_cv_c_attribute_const,
+ [AC_TRY_COMPILE([int foo (int x) __attribute__ ((const));], ,
+@@ -1814,7 +1816,7 @@
+ dnl it's ignored. Pretend it doesn't exist in this case, to avoid that
+ dnl warning.
+
+-AC_DEFUN(GMP_C_ATTRIBUTE_MALLOC,
++AC_DEFUN([GMP_C_ATTRIBUTE_MALLOC],
+ [AC_CACHE_CHECK([whether gcc __attribute__ ((malloc)) works],
+ gmp_cv_c_attribute_malloc,
+ [cat >conftest.c <<EOF
+@@ -1844,7 +1846,7 @@
+ dnl --------------------
+ dnl Introduced in gcc 2.2, but perhaps not in all Apple derived versions.
+
+-AC_DEFUN(GMP_C_ATTRIBUTE_MODE,
++AC_DEFUN([GMP_C_ATTRIBUTE_MODE],
+ [AC_CACHE_CHECK([whether gcc __attribute__ ((mode (XX))) works],
+ gmp_cv_c_attribute_mode,
+ [AC_TRY_COMPILE([typedef int SItype __attribute__ ((mode (SI)));], ,
+@@ -1860,7 +1862,7 @@
+ dnl GMP_C_ATTRIBUTE_NORETURN
+ dnl ------------------------
+
+-AC_DEFUN(GMP_C_ATTRIBUTE_NORETURN,
++AC_DEFUN([GMP_C_ATTRIBUTE_NORETURN],
+ [AC_CACHE_CHECK([whether gcc __attribute__ ((noreturn)) works],
+ gmp_cv_c_attribute_noreturn,
+ [AC_TRY_COMPILE([void foo (int x) __attribute__ ((noreturn));], ,
+@@ -1887,7 +1889,7 @@
+ dnl used doesn't have functions or anything, so even an "old" awk should
+ dnl suffice.
+
+-AC_DEFUN(GMP_C_DOUBLE_FORMAT,
++AC_DEFUN([GMP_C_DOUBLE_FORMAT],
+ [AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_PROG_AWK])
+ AC_CACHE_CHECK([format of `double' floating point],
+@@ -2089,7 +2091,7 @@
+ dnl
+ dnl FIXME: Hopefully autoconf will do this extra itself one day.
+
+-AC_DEFUN(GMP_C_INLINE,
++AC_DEFUN([GMP_C_INLINE],
+ [AC_CACHE_CHECK([for inline], gmp_cv_c_inline,
+ [gmp_cv_c_inline=no
+ for i in inline __inline__ __inline; do
+@@ -2129,7 +2131,7 @@
+ dnl "yes" is used in the cache variable if plain "restrict" works, to make
+ dnl the configure message look nicer.
+
+-AC_DEFUN(GMP_C_RESTRICT,
++AC_DEFUN([GMP_C_RESTRICT],
+ [AC_CACHE_CHECK([for restrict], gmp_cv_c_restrict,
+ [gmp_cv_c_restrict=no
+ for r in restrict __restrict__ __restrict; do
+@@ -2178,7 +2180,7 @@
+ dnl ulongs with bits=8*sizeof, so it's academic. Strange systems can
+ dnl always have the right values put in gmp-mparam.h explicitly.
+
+-AC_DEFUN(GMP_C_SIZES,
++AC_DEFUN([GMP_C_SIZES],
+ [BITS_PER_MP_LIMB=[`sed -n 's/^#define BITS_PER_MP_LIMB[ ][ ]*\([0-9]*\).*$/\1/p' $gmp_mparam_source`]
+ if test -n "$BITS_PER_MP_LIMB" \
+ && grep "^#define BYTES_PER_MP_LIMB" $gmp_mparam_source >/dev/null; then : ;
+@@ -2199,7 +2201,7 @@
+ fi
+ fi
+ AC_SUBST(BITS_PER_MP_LIMB)
+-define([GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB],
++define([[GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB]],
+ [[#define __GMP_BITS_PER_MP_LIMB $BITS_PER_MP_LIMB
+ #define GMP_LIMB_BITS $BITS_PER_MP_LIMB]])
+
+@@ -2232,7 +2234,7 @@
+ dnl or very likely by the setups for _PROTO in gmp.h. On the other hand
+ dnl this test is nice and direct, being what we're going to actually use.
+
+-AC_DEFUN(GMP_C_STDARG,
++AC_DEFUN([GMP_C_STDARG],
+ [AC_CACHE_CHECK([whether <stdarg.h> exists and works],
+ gmp_cv_c_stdarg,
+ [AC_TRY_COMPILE(
+@@ -2261,7 +2263,7 @@
+ dnl available, and also to use gmp-impl.h for the conditionals detecting
+ dnl compiler builtin alloca's.
+
+-AC_DEFUN(GMP_FUNC_ALLOCA,
++AC_DEFUN([GMP_FUNC_ALLOCA],
+ [AC_REQUIRE([GMP_HEADER_ALLOCA])
+ AC_CACHE_CHECK([for alloca (via gmp-impl.h)],
+ gmp_cv_func_alloca,
+@@ -2278,7 +2280,7 @@
+ fi
+ ])
+
+-AC_DEFUN(GMP_HEADER_ALLOCA,
++AC_DEFUN([GMP_HEADER_ALLOCA],
+ [# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+ # for constant arguments. Useless!
+ AC_CACHE_CHECK([for working alloca.h],
+@@ -2299,7 +2301,7 @@
+ dnl Decide what to do about --enable-alloca from the user.
+ dnl This is a macro so it can require GMP_FUNC_ALLOCA.
+
+-AC_DEFUN(GMP_OPTION_ALLOCA,
++AC_DEFUN([GMP_OPTION_ALLOCA],
+ [AC_REQUIRE([GMP_FUNC_ALLOCA])
+ AC_CACHE_CHECK([how to allocate temporary memory],
+ gmp_cv_option_alloca,
+@@ -2355,7 +2357,7 @@
+ dnl
+ dnl FIXME: Run a program to try this, when doing a native build.
+
+-AC_DEFUN(GMP_FUNC_SSCANF_WRITABLE_INPUT,
++AC_DEFUN([GMP_FUNC_SSCANF_WRITABLE_INPUT],
+ [AC_CACHE_CHECK([whether sscanf needs writable input],
+ gmp_cv_func_sscanf_writable_input,
+ [case $host in
+@@ -2391,7 +2393,7 @@
+ dnl not sure which 2.0.x does which), but still puts the correct null
+ dnl terminated result into the buffer.
+
+-AC_DEFUN(GMP_FUNC_VSNPRINTF,
++AC_DEFUN([GMP_FUNC_VSNPRINTF],
+ [AC_REQUIRE([GMP_C_STDARG])
+ AC_CHECK_FUNC(vsnprintf,
+ [gmp_vsnprintf_exists=yes],
+@@ -2472,7 +2474,7 @@
+ dnl ----------
+ dnl Check whether gmp.h recognises the compiler as ANSI capable.
+
+-AC_DEFUN(GMP_H_ANSI,
++AC_DEFUN([GMP_H_ANSI],
+ [AC_REQUIRE([AC_PROG_CC_STDC])
+ case $ac_cv_prog_cc_stdc in
+ no)
+@@ -2495,7 +2497,7 @@
+ dnl If the compiler has an "inline" of some sort, check whether the
+ dnl #ifdef's in gmp.h recognise it.
+
+-AC_DEFUN(GMP_H_EXTERN_INLINE,
++AC_DEFUN([GMP_H_EXTERN_INLINE],
+ [AC_REQUIRE([GMP_C_INLINE])
+ case $gmp_cv_c_inline in
+ no) ;;
+@@ -2522,7 +2524,7 @@
+ dnl Check whether the #ifdef's in gmp.h recognise when stdio.h has been
+ dnl included to get FILE.
+
+-AC_DEFUN(GMP_H_HAVE_FILE,
++AC_DEFUN([GMP_H_HAVE_FILE],
+ [AC_TRY_COMPILE(
+ [#include <stdio.h>]
+ GMP_INCLUDE_GMP_H
+@@ -2539,7 +2541,7 @@
+ dnl Check whether the #ifdef's in gmp-impl.h recognise IEEE format and
+ dnl endianness.
+
+-AC_DEFUN(GMP_IMPL_H_IEEE_FLOATS,
++AC_DEFUN([GMP_IMPL_H_IEEE_FLOATS],
+ [case $host in
+ vax*-*-*)
+ # not IEEE (neither D nor G formats are IEEE)
diff --git a/meta/packages/gmp/gmp-4.1.2/gcc-compile.patch b/meta/packages/gmp/gmp-4.1.2/gcc-compile.patch
new file mode 100644
index 0000000000..4d880123e9
--- /dev/null
+++ b/meta/packages/gmp/gmp-4.1.2/gcc-compile.patch
@@ -0,0 +1,72 @@
+ diff -Naur gmp-4.1.2.orig/mpf/ceilfloor.c gmp-4.1.2/mpf/ceilfloor.c
+ --- gmp-4.1.2.orig/mpf/ceilfloor.c 2001-05-10 22:31:13.000000000 +0000
+ +++ gmp-4.1.2/mpf/ceilfloor.c 2004-04-25 03:48:20.823016075 +0000
+ @@ -31,7 +31,7 @@
+ static void __gmpf_ceil_or_floor _PROTO ((REGPARM_2_1 (mpf_ptr r, mpf_srcptr u, int dir))) REGPARM_ATTR (1);
+ #define mpf_ceil_or_floor(r,u,dir) __gmpf_ceil_or_floor (REGPARM_2_1 (r, u, dir))
+
+ -static void
+ +REGPARM_ATTR (1) static void
+ mpf_ceil_or_floor (mpf_ptr r, mpf_srcptr u, int dir)
+ {
+ mp_ptr rp, up, p;
+ diff -Naur gmp-4.1.2.orig/mpq/aors.c gmp-4.1.2/mpq/aors.c
+ --- gmp-4.1.2.orig/mpq/aors.c 2001-09-01 22:41:02.000000000 +0000
+ +++ gmp-4.1.2/mpq/aors.c 2004-04-25 03:48:20.826015531 +0000
+ @@ -27,7 +27,7 @@
+ static void __gmpq_aors _PROTO ((REGPARM_3_1 (mpq_ptr w, mpq_srcptr x, mpq_srcptr y, void (*fun) _PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr))))) REGPARM_ATTR (1);
+ #define mpq_aors(w,x,y,fun) __gmpq_aors (REGPARM_3_1 (w, x, y, fun))
+
+ -static void
+ +REGPARM_ATTR (1) static void
+ mpq_aors (mpq_ptr rop, mpq_srcptr op1, mpq_srcptr op2,
+ void (*fun) _PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)))
+ {
+ diff -Naur gmp-4.1.2.orig/mpz/aorsmul.c gmp-4.1.2/mpz/aorsmul.c
+ --- gmp-4.1.2.orig/mpz/aorsmul.c 2001-05-02 22:30:07.000000000 +0000
+ +++ gmp-4.1.2/mpz/aorsmul.c 2004-04-25 03:48:20.828015169 +0000
+ @@ -39,7 +39,7 @@
+ static void __gmpz_aorsmul _PROTO ((REGPARM_3_1 (mpz_ptr w, mpz_srcptr x, mpz_srcptr y, mp_size_t sub))) REGPARM_ATTR (1);
+ #define mpz_aorsmul(w,x,y,sub) __gmpz_aorsmul (REGPARM_3_1 (w, x, y, sub))
+
+ -static void
+ +REGPARM_ATTR (1) static void
+ mpz_aorsmul (mpz_ptr w, mpz_srcptr x, mpz_srcptr y, mp_size_t sub)
+ {
+ mp_size_t xsize, ysize, tsize, wsize, wsize_signed;
+ diff -Naur gmp-4.1.2.orig/mpz/aorsmul_i.c gmp-4.1.2/mpz/aorsmul_i.c
+ --- gmp-4.1.2.orig/mpz/aorsmul_i.c 2002-05-14 16:59:49.000000000 +0000
+ +++ gmp-4.1.2/mpz/aorsmul_i.c 2004-04-25 03:49:07.962471904 +0000
+ @@ -57,7 +57,7 @@
+ twos-complement negative y doesn't work, because it effectively adds an
+ extra x * 2^BITS_PER_MP_LIMB. */
+
+ -void
+ +REGPARM_ATTR (1) void
+ mpz_aorsmul_1 (mpz_ptr w, mpz_srcptr x, mp_limb_t y, mp_size_t sub)
+ {
+ mp_size_t xsize, wsize, wsize_signed, new_wsize, min_size, dsize;
+ diff -Naur gmp-4.1.2.orig/mpz/cfdiv_q_2exp.c gmp-4.1.2/mpz/cfdiv_q_2exp.c
+ --- gmp-4.1.2.orig/mpz/cfdiv_q_2exp.c 2002-02-08 21:55:17.000000000 +0000
+ +++ gmp-4.1.2/mpz/cfdiv_q_2exp.c 2004-04-25 03:48:20.830014806 +0000
+ @@ -29,7 +29,7 @@
+ static void __gmpz_cfdiv_q_2exp _PROTO ((REGPARM_3_1 (mpz_ptr w, mpz_srcptr u, unsigned long cnt, int dir))) REGPARM_ATTR (1);
+ #define cfdiv_q_2exp(w,u,cnt,dir) __gmpz_cfdiv_q_2exp (REGPARM_3_1 (w,u,cnt,dir))
+
+ -static void
+ +REGPARM_ATTR (1) static void
+ cfdiv_q_2exp (mpz_ptr w, mpz_srcptr u, unsigned long cnt, int dir)
+ {
+ mp_size_t wsize, usize, abs_usize, limb_cnt, i;
+ diff -Naur gmp-4.1.2.orig/mpz/cfdiv_r_2exp.c gmp-4.1.2/mpz/cfdiv_r_2exp.c
+ --- gmp-4.1.2.orig/mpz/cfdiv_r_2exp.c 2002-04-18 16:48:25.000000000 +0000
+ +++ gmp-4.1.2/mpz/cfdiv_r_2exp.c 2004-04-25 03:48:20.832014444 +0000
+ @@ -32,7 +32,7 @@
+ static void __gmpz_cfdiv_r_2exp _PROTO ((REGPARM_3_1 (mpz_ptr w, mpz_srcptr u, unsigned long cnt, int dir))) REGPARM_ATTR (1);
+ #define cfdiv_r_2exp(w,u,cnt,dir) __gmpz_cfdiv_r_2exp (REGPARM_3_1 (w, u, cnt, dir))
+
+ -static void
+ +REGPARM_ATTR (1) static void
+ cfdiv_r_2exp (mpz_ptr w, mpz_srcptr u, unsigned long cnt, int dir)
+ {
+ mp_size_t usize, abs_usize, limb_cnt, i;
diff --git a/meta/packages/gmp/gmp-4.1.4/amd64.patch b/meta/packages/gmp/gmp-4.1.4/amd64.patch
new file mode 100644
index 0000000000..67be9dd350
--- /dev/null
+++ b/meta/packages/gmp/gmp-4.1.4/amd64.patch
@@ -0,0 +1,14 @@
+--- gmp-4.1.4/longlong.h.orig 2004-04-22 00:34:28.000000000 +0200
++++ gmp-4.1.4/longlong.h 2005-07-18 01:13:06.000000000 +0200
+@@ -738,8 +738,10 @@
+ count is only an int. */
+ #define count_trailing_zeros(count, x) \
+ do { \
++ UDItype __cbtmp; \
+ ASSERT ((x) != 0); \
+- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \
++ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
++ (count) = __cbtmp; \
+ } while (0)
+ #endif /* x86_64 */
+
diff --git a/meta/packages/gmp/gmp-4.1.4/configure.patch b/meta/packages/gmp/gmp-4.1.4/configure.patch
new file mode 100644
index 0000000000..4b6c4ec636
--- /dev/null
+++ b/meta/packages/gmp/gmp-4.1.4/configure.patch
@@ -0,0 +1,837 @@
+--- gmp-1.4.4/acinclude.m4.orig 2004-09-21 15:03:09.000000000 +0200
++++ gmp-1.4.4/acinclude.m4 2005-07-18 01:09:00.000000000 +0200
+@@ -21,10 +21,10 @@
+ dnl MA 02111-1307, USA.
+
+
+-define(X86_PATTERN,
++define([X86_PATTERN],
+ [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-*]])
+
+-define(POWERPC64_PATTERN,
++define([POWERPC64_PATTERN],
+ [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-*]])
+
+
+@@ -32,7 +32,7 @@
+ dnl ----------------------
+ dnl Strip entries */subdir from $path.
+
+-define(GMP_STRIP_PATH,
++define([GMP_STRIP_PATH],
+ [tmp_path=
+ for i in $path; do
+ case $i in
+@@ -53,7 +53,7 @@
+ dnl GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB starts as a dummy, but gets
+ dnl redefined in GMP_C_SIZES when the right value is known.
+
+-define(GMP_INCLUDE_GMP_H,
++define([GMP_INCLUDE_GMP_H],
+ [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */
+ #define GMP_NAIL_BITS $GMP_NAIL_BITS]
+ GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB
+@@ -61,7 +61,7 @@
+ #include "$srcdir/gmp-h.in"]
+ ])
+
+-define(GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB,
++define([GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB],
+ [[#define __GMP_BITS_PER_MP_LIMB 123 /* dummy for GMP_NUMB_BITS etc */
+ #define GMP_LIMB_BITS 123]])
+
+@@ -72,7 +72,7 @@
+ dnl FILE. The regexps here aren't very rugged, but are enough for gmp.
+ dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
+
+-define(GMP_HEADER_GETVAL,
++define([GMP_HEADER_GETVAL],
+ [patsubst(patsubst(
+ esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
+ [^.*$1[ ]+],[]),
+@@ -86,7 +86,7 @@
+ dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits
+ dnl like 3.0.1 if patchlevel > 0.
+
+-define(GMP_VERSION,
++define([GMP_VERSION],
+ [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
+ .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
+ ifelse(m4_eval(GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in) > 0),1,
+@@ -97,13 +97,13 @@
+ dnl ------------------------------
+ dnl Setup an AC_SUBST of HAVE_FUNC_01 for each argument.
+
+-AC_DEFUN(GMP_SUBST_CHECK_FUNCS,
++AC_DEFUN([GMP_SUBST_CHECK_FUNCS],
+ [m4_if([$1],,,
+ [_GMP_SUBST_CHECK_FUNCS(ac_cv_func_[$1],HAVE_[]m4_translit([$1],[a-z],[A-Z])_01)
+ GMP_SUBST_CHECK_FUNCS(m4_shift($@))])])
+
+ dnl Called: _GMP_SUBST_CHECK_FUNCS(cachvar,substvar)
+-AC_DEFUN(_GMP_SUBST_CHECK_FUNCS,
++AC_DEFUN([_GMP_SUBST_CHECK_FUNCS],
+ [case $[$1] in
+ yes) AC_SUBST([$2],1) ;;
+ no) [$2]=0 ;;
+@@ -115,14 +115,14 @@
+ dnl ----------------------------------
+ dnl Setup an AC_SUBST of HAVE_FOO_H_01 for each argument.
+
+-AC_DEFUN(GMP_SUBST_CHECK_HEADERS,
++AC_DEFUN([GMP_SUBST_CHECK_HEADERS],
+ [m4_if([$1],,,
+ [_GMP_SUBST_CHECK_HEADERS(ac_cv_header_[]m4_translit([$1],[./],[__]),
+ HAVE_[]m4_translit([$1],[a-z./],[A-Z__])_01)
+ GMP_SUBST_CHECK_HEADERS(m4_shift($@))])])
+
+ dnl Called: _GMP_SUBST_CHECK_HEADERS(cachvar,substvar)
+-AC_DEFUN(_GMP_SUBST_CHECK_HEADERS,
++AC_DEFUN([_GMP_SUBST_CHECK_HEADERS],
+ [case $[$1] in
+ yes) AC_SUBST([$2],1) ;;
+ no) [$2]=0 ;;
+@@ -145,12 +145,12 @@
+ dnl would test whether $major.$minor.$subminor is greater than or equal to
+ dnl 10.3.1.
+
+-AC_DEFUN(GMP_COMPARE_GE,
++AC_DEFUN([GMP_COMPARE_GE],
+ [gmp_compare_ge=no
+ GMP_COMPARE_GE_INTERNAL($@)
+ ])
+
+-AC_DEFUN(GMP_COMPARE_GE_INTERNAL,
++AC_DEFUN([GMP_COMPARE_GE_INTERNAL],
+ [ifelse(len([$3]),0,
+ [if test -n "$1" && test "$1" -ge $2; then
+ gmp_compare_ge=yes
+@@ -184,7 +184,7 @@
+ dnl for instance to random.o (and others) on vax-dec-ultrix4.5. Naturally
+ dnl a user-selected $AR_FLAGS is left unchanged.
+
+-AC_DEFUN(GMP_PROG_AR,
++AC_DEFUN([GMP_PROG_AR],
+ [dnl Want to establish $AR before libtool initialization.
+ AC_BEFORE([$0],[AC_PROG_LIBTOOL])
+ gmp_user_AR=$AR
+@@ -212,7 +212,7 @@
+ dnl CC_FOR_BUILD is used without testing. CC_FOR_BUILD is the new name for
+ dnl a build system compiler, see configfsf.guess.
+
+-AC_DEFUN(GMP_PROG_HOST_CC,
++AC_DEFUN([GMP_PROG_HOST_CC],
+ [AC_BEFORE([$0],[AC_PROG_LIBTOOL])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_CACHE_CHECK([for HOST_CC build system compiler],
+@@ -255,7 +255,7 @@
+ dnl FIXME: This can be removed and just AM_PROG_LEX used, one that macro
+ dnl works properly.
+
+-AC_DEFUN(GMP_PROG_LEX,
++AC_DEFUN([GMP_PROG_LEX],
+ [AC_REQUIRE([AC_PROG_LEX])
+ if test "$LEX" = :; then
+ LEX=${am_missing_run}flex
+@@ -273,7 +273,7 @@
+ dnl
+ dnl See mpn/asm-defs.m4 for details on the known bad m4s.
+
+-AC_DEFUN(GMP_PROG_M4,
++AC_DEFUN([GMP_PROG_M4],
+ [AC_ARG_VAR(M4,[m4 macro processor])
+ AC_CACHE_CHECK([for suitable m4],
+ gmp_cv_prog_m4,
+@@ -340,7 +340,7 @@
+ dnl Enhancement: Maybe this could be in GMP_PROG_M4, and attempt to prefer
+ dnl an m4 with a working m4wrap, if it can be found.
+
+-AC_DEFUN(GMP_M4_M4WRAP_SPURIOUS,
++AC_DEFUN([GMP_M4_M4WRAP_SPURIOUS],
+ [AC_REQUIRE([GMP_PROG_M4])
+ AC_CACHE_CHECK([if m4wrap produces spurious output],
+ gmp_cv_m4_m4wrap_spurious,
+@@ -374,7 +374,7 @@
+ dnl A user-selected $NM is always left unchanged. AC_PROG_NM is still run
+ dnl to get the "checking" message printed though.
+
+-AC_DEFUN(GMP_PROG_NM,
++AC_DEFUN([GMP_PROG_NM],
+ [dnl Make sure we're the first to call AC_PROG_NM, so our extra flags are
+ dnl used by everyone.
+ AC_BEFORE([$0],[AC_PROG_NM])
+@@ -426,7 +426,7 @@
+ dnl will run is that a plain native "./configure" falls back on ABI=32, but
+ dnl ABI=64 is still available as a cross-compile.
+
+-AC_DEFUN(GMP_PROG_CC_WORKS,
++AC_DEFUN([GMP_PROG_CC_WORKS],
+ [AC_MSG_CHECKING([compiler $1])
+ cat >conftest.c <<EOF
+
+@@ -481,7 +481,7 @@
+ dnl cache the result. The same "ifndef" style test is used, to avoid
+ dnl problems with syntax checking cpp's used on NeXT and Apple systems.
+
+-AC_DEFUN(GMP_PROG_CC_IS_GNU,
++AC_DEFUN([GMP_PROG_CC_IS_GNU],
+ [cat >conftest.c <<EOF
+ #ifndef __GNUC__
+ choke me
+@@ -508,7 +508,7 @@
+ dnl there is one then it's well hidden in xlc 3.1 on AIX 4.3, so just grep
+ dnl the man page printed when xlc is invoked with no arguments.
+
+-AC_DEFUN(GMP_PROG_CC_IS_XLC,
++AC_DEFUN([GMP_PROG_CC_IS_XLC],
+ [gmp_command="$1 2>&1 | grep xlc >/dev/null"
+ if AC_TRY_EVAL(gmp_command); then
+ AC_MSG_CHECKING([whether $1 is xlc])
+@@ -527,7 +527,7 @@
+ dnl This test might be repeated for different compilers, so the result is
+ dnl not cached.
+
+-AC_DEFUN(GMP_HPC_HPPA_2_0,
++AC_DEFUN([GMP_HPC_HPPA_2_0],
+ [AC_MSG_CHECKING([whether HP compiler $1 is good for 64-bits])
+ # Bad compiler output:
+ # ccom: HP92453-01 G.10.32.05 HP C Compiler
+@@ -571,7 +571,7 @@
+ dnl
+ dnl There's no caching here, so that different CC's can be tested.
+
+-AC_DEFUN(GMP_GCC_VERSION_GE,
++AC_DEFUN([GMP_GCC_VERSION_GE],
+ [tmp_version=`($1 --version) 2>&AC_FD_CC`
+ echo "$1 --version '$tmp_version'" >&AC_FD_CC
+
+@@ -608,7 +608,7 @@
+ dnl size==1 case in mpn/generic/mode1o.c, and this shows up in
+ dnl tests/mpz/t-jac.c as a wrong result from mpz_kronecker_ui.
+
+-AC_DEFUN(GMP_GCC_ARM_UMODSI,
++AC_DEFUN([GMP_GCC_ARM_UMODSI],
+ [AC_MSG_CHECKING([whether ARM gcc unsigned division works])
+ tmp_version=`$1 --version`
+ echo "$tmp_version" >&AC_FD_CC
+@@ -635,7 +635,7 @@
+ dnl This macro is used only once, after finalizing a choice of CC, so the
+ dnl result is cached.
+
+-AC_DEFUN(GMP_GCC_MARCH_PENTIUMPRO,
++AC_DEFUN([GMP_GCC_MARCH_PENTIUMPRO],
+ [AC_CACHE_CHECK([whether gcc -march=pentiumpro is good],
+ gmp_cv_gcc_march_pentiumpro,
+ [GMP_GCC_VERSION_GE([$1], 2,95,4)
+@@ -659,7 +659,7 @@
+ dnl gets rearranged or rewritten so the ICE doesn't happen then this can be
+ dnl removed.
+
+-AC_DEFUN(GMP_GCC_M68K_OPTIMIZE,
++AC_DEFUN([GMP_GCC_M68K_OPTIMIZE],
+ [case $host in
+ m68*-*-*)
+ if test $1 = gcc; then
+@@ -681,7 +681,7 @@
+ dnl gcc 2.95 accepts -mabi=32 but it only works on irix5, on irix6 it gives
+ dnl "cc1: The -mabi=32 support does not work yet".
+
+-AC_DEFUN(GMP_GCC_MIPS_O32,
++AC_DEFUN([GMP_GCC_MIPS_O32],
+ [AC_MSG_CHECKING([whether gcc supports o32])
+ echo 'int x;' >conftest.c
+ echo "$1 -mabi=32 -c conftest.c" >&AC_FD_CC
+@@ -716,7 +716,7 @@
+ dnl watch for that and decide against the option in that case, to avoid
+ dnl confusing the user.
+
+-AC_DEFUN(GMP_GCC_NO_CPP_PRECOMP,
++AC_DEFUN([GMP_GCC_NO_CPP_PRECOMP],
+ [if test "$ccbase" = gcc; then
+ AC_MSG_CHECKING([compiler $2 $3 -no-cpp-precomp])
+ result=no
+@@ -752,7 +752,7 @@
+ dnl This is intended for use on alpha, since only recent versions of gas
+ dnl accept -mev67, but there's nothing here that's alpha specific.
+
+-AC_DEFUN(GMP_GCC_WA_MCPU,
++AC_DEFUN([GMP_GCC_WA_MCPU],
+ [AC_MSG_CHECKING([assembler $1 $2])
+ result=no
+ cat >conftest.c <<EOF
+@@ -783,7 +783,7 @@
+ dnl This test is designed to be run repeatedly with different cxx/cxxflags
+ dnl selections, so the result is not cached.
+
+-AC_DEFUN(GMP_PROG_CXX_WORKS,
++AC_DEFUN([GMP_PROG_CXX_WORKS],
+ [AC_MSG_CHECKING([C++ compiler $1])
+ cat >conftest.cc <<EOF
+ #include <iostream>
+@@ -817,7 +817,7 @@
+ dnl FIXME: The generated config.m4 doesn't get recreated by config.status.
+ dnl Maybe the relevant "echo"s should go through AC_CONFIG_COMMANDS.
+
+-AC_DEFUN(GMP_INIT,
++AC_DEFUN([GMP_INIT],
+ [ifelse([$1], , gmp_configm4=config.m4, gmp_configm4="[$1]")
+ gmp_tmpconfigm4=cnfm4.tmp
+ gmp_tmpconfigm4i=cnfm4i.tmp
+@@ -834,7 +834,9 @@
+ echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
+
+ # All CPUs use asm-defs.m4
+-echo ["include(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
++echo -n ["include("] >>$gmp_tmpconfigm4i
++echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i
++echo [")"] >>$gmp_tmpconfigm4i
+ ])
+
+
+@@ -855,7 +857,7 @@
+ dnl having a whole file as a macro argument would overflow the string space
+ dnl on BSD m4.
+
+-AC_DEFUN(GMP_FINISH,
++AC_DEFUN([GMP_FINISH],
+ [AC_REQUIRE([GMP_INIT])
+ echo "creating $gmp_configm4"
+ echo ["d""nl $gmp_configm4. Generated automatically by configure."] > $gmp_configm4
+@@ -889,7 +891,7 @@
+ dnl GMP_INCLUDE_MPN(`x86/x86-defs.m4')
+ dnl
+
+-AC_DEFUN(GMP_INCLUDE_MPN,
++AC_DEFUN([GMP_INCLUDE_MPN],
+ [AC_REQUIRE([GMP_INIT])
+ echo ["include_mpn(\`$1')"] >> $gmp_tmpconfigm4i
+ ])
+@@ -905,7 +907,7 @@
+ dnl create file config.m4. config.m4 uses `<' and '>' as quote characters
+ dnl for all defines.
+
+-AC_DEFUN(GMP_DEFINE,
++AC_DEFUN([GMP_DEFINE],
+ [AC_REQUIRE([GMP_INIT])
+ echo ['define(<$1>, <$2>)'] >>ifelse([$3], [POST],
+ $gmp_tmpconfigm4p, $gmp_tmpconfigm4)
+@@ -920,7 +922,7 @@
+ dnl directives inserted by GMP_INCLUDE. Don't forget to invoke GMP_FINISH
+ dnl to create file config.m4.
+
+-AC_DEFUN(GMP_DEFINE_RAW,
++AC_DEFUN([GMP_DEFINE_RAW],
+ [AC_REQUIRE([GMP_INIT])
+ echo [$1] >> ifelse([$2], [POST], $gmp_tmpconfigm4p, $gmp_tmpconfigm4)
+ ])
+@@ -938,7 +940,7 @@
+ dnl This is not unlike AC_TRY_COMPILE, but there's no default includes or
+ dnl anything in "asm-code", everything wanted must be given explicitly.
+
+-AC_DEFUN(GMP_TRY_ASSEMBLE,
++AC_DEFUN([GMP_TRY_ASSEMBLE],
+ [cat >conftest.s <<EOF
+ [$1]
+ EOF
+@@ -960,7 +962,7 @@
+ dnl --------------------
+ dnl Should a label have a colon or not?
+
+-AC_DEFUN(GMP_ASM_LABEL_SUFFIX,
++AC_DEFUN([GMP_ASM_LABEL_SUFFIX],
+ [AC_CACHE_CHECK([what assembly label suffix to use],
+ gmp_cv_asm_label_suffix,
+ [case $host in
+@@ -984,7 +986,7 @@
+ dnl in particular that grepping doesn't work with SunOS 4 native grep since
+ dnl that grep seems to have trouble with '\0's in files.
+
+-AC_DEFUN(GMP_ASM_UNDERSCORE,
++AC_DEFUN([GMP_ASM_UNDERSCORE],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_REQUIRE([GMP_ASM_GLOBL])
+ AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+@@ -1045,7 +1047,7 @@
+ dnl -----------------
+ dnl Is parameter to `.align' logarithmic?
+
+-AC_DEFUN(GMP_ASM_ALIGN_LOG,
++AC_DEFUN([GMP_ASM_ALIGN_LOG],
+ [AC_REQUIRE([GMP_ASM_GLOBL])
+ AC_REQUIRE([GMP_ASM_DATA])
+ AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+@@ -1103,7 +1105,7 @@
+ dnl The warning from solaris 2.8 is supressed to stop anyone worrying that
+ dnl something might be wrong.
+
+-AC_DEFUN(GMP_ASM_ALIGN_FILL_0x90,
++AC_DEFUN([GMP_ASM_ALIGN_FILL_0x90],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([if the .align directive accepts an 0x90 fill in .text],
+ gmp_cv_asm_align_fill_0x90,
+@@ -1127,7 +1129,7 @@
+ dnl GMP_ASM_TEXT
+ dnl ------------
+
+-AC_DEFUN(GMP_ASM_TEXT,
++AC_DEFUN([GMP_ASM_TEXT],
+ [AC_CACHE_CHECK([how to switch to text section],
+ gmp_cv_asm_text,
+ [case $host in
+@@ -1144,7 +1146,7 @@
+ dnl ------------
+ dnl Can we say `.data'?
+
+-AC_DEFUN(GMP_ASM_DATA,
++AC_DEFUN([GMP_ASM_DATA],
+ [AC_CACHE_CHECK([how to switch to data section],
+ gmp_cv_asm_data,
+ [case $host in
+@@ -1172,7 +1174,7 @@
+ dnl where foo is the object file. Might need to check for that if we use
+ dnl RODATA there.
+
+-AC_DEFUN(GMP_ASM_RODATA,
++AC_DEFUN([GMP_ASM_RODATA],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_REQUIRE([GMP_ASM_DATA])
+ AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+@@ -1229,7 +1231,7 @@
+ dnl -------------
+ dnl Can we say `.global'?
+
+-AC_DEFUN(GMP_ASM_GLOBL,
++AC_DEFUN([GMP_ASM_GLOBL],
+ [AC_CACHE_CHECK([how to export a symbol],
+ gmp_cv_asm_globl,
+ [case $host in
+@@ -1245,7 +1247,7 @@
+ dnl ------------------
+ dnl Do we need something after `.global symbol'?
+
+-AC_DEFUN(GMP_ASM_GLOBL_ATTR,
++AC_DEFUN([GMP_ASM_GLOBL_ATTR],
+ [AC_CACHE_CHECK([if the export directive needs an attribute],
+ gmp_cv_asm_globl_attr,
+ [case $host in
+@@ -1276,7 +1278,7 @@
+ dnl letting the problem go unnoticed. tests/mpn/t-asmtype.c aims to check
+ dnl for it.
+
+-AC_DEFUN(GMP_ASM_TYPE,
++AC_DEFUN([GMP_ASM_TYPE],
+ [AC_CACHE_CHECK([for assembler .type directive],
+ gmp_cv_asm_type,
+ [gmp_cv_asm_type=
+@@ -1298,7 +1300,7 @@
+ dnl ------------
+ dnl Can we say `.size'?
+
+-AC_DEFUN(GMP_ASM_SIZE,
++AC_DEFUN([GMP_ASM_SIZE],
+ [AC_CACHE_CHECK([for assembler .size directive],
+ gmp_cv_asm_size,
+ [gmp_cv_asm_size=
+@@ -1341,7 +1343,7 @@
+ dnl HP-UX nm prints an error message (though seems to give a 0 exit) if
+ dnl there's no symbols at all in an object file, hence the use of "dummy".
+
+-AC_DEFUN(GMP_ASM_LSYM_PREFIX,
++AC_DEFUN([GMP_ASM_LSYM_PREFIX],
+ [AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+ AC_REQUIRE([GMP_PROG_NM])
+ AC_CACHE_CHECK([what prefix to use for a local label],
+@@ -1386,7 +1388,7 @@
+ dnl -----------
+ dnl How to define a 32-bit word.
+
+-AC_DEFUN(GMP_ASM_W32,
++AC_DEFUN([GMP_ASM_W32],
+ [AC_REQUIRE([GMP_ASM_DATA])
+ AC_REQUIRE([GMP_ASM_GLOBL])
+ AC_REQUIRE([GMP_ASM_LABEL_SUFFIX])
+@@ -1443,7 +1445,7 @@
+ dnl %mm1, %mm0"). It seems more trouble than it's worth to work around
+ dnl this in the code, so just detect and reject.
+
+-AC_DEFUN(GMP_ASM_X86_MMX,
++AC_DEFUN([GMP_ASM_X86_MMX],
+ [AC_CACHE_CHECK([if the assembler knows about MMX instructions],
+ gmp_cv_asm_x86_mmx,
+ [GMP_TRY_ASSEMBLE(
+@@ -1495,7 +1497,7 @@
+ dnl GMP_ASM_X86_SHLDL_CL
+ dnl --------------------
+
+-AC_DEFUN(GMP_ASM_X86_SHLDL_CL,
++AC_DEFUN([GMP_ASM_X86_SHLDL_CL],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([if the assembler takes cl with shldl],
+ gmp_cv_asm_x86_shldl_cl,
+@@ -1522,7 +1524,7 @@
+ dnl it's all GMP_ASM_TEXT gives currently. Actually ".text" probably isn't
+ dnl needed at all, at least for just checking instruction syntax.
+
+-AC_DEFUN(GMP_ASM_X86_SSE2,
++AC_DEFUN([GMP_ASM_X86_SSE2],
+ [AC_CACHE_CHECK([if the assembler knows about SSE2 instructions],
+ gmp_cv_asm_x86_sse2,
+ [GMP_TRY_ASSEMBLE(
+@@ -1585,7 +1587,7 @@
+ dnl to get two variables (mcount_nonpic_reg and mcount_nonpic_call say) set
+ dnl from one block of commands?
+
+-AC_DEFUN(GMP_ASM_X86_MCOUNT,
++AC_DEFUN([GMP_ASM_X86_MCOUNT],
+ [AC_REQUIRE([AC_ENABLE_SHARED])
+ AC_REQUIRE([AC_PROG_LIBTOOL])
+ AC_MSG_CHECKING([how to call x86 mcount])
+@@ -1655,7 +1657,7 @@
+ dnl instruction. It takes registers without "%", but a single operand
+ dnl "clrl %d0" only gives a warning, not an error.
+
+-AC_DEFUN(GMP_ASM_M68K_INSTRUCTION,
++AC_DEFUN([GMP_ASM_M68K_INSTRUCTION],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([assembler instruction and register style],
+ gmp_cv_asm_m68k_instruction,
+@@ -1684,7 +1686,7 @@
+ dnl GMP_ASM_M68K_ADDRESSING
+ dnl -----------------------
+
+-AC_DEFUN(GMP_ASM_M68K_ADDRESSING,
++AC_DEFUN([GMP_ASM_M68K_ADDRESSING],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_REQUIRE([GMP_ASM_M68K_INSTRUCTION])
+ AC_CACHE_CHECK([assembler addressing style],
+@@ -1721,7 +1723,7 @@
+ dnl 16-bits. This applies to the conditional branches "bcc" etc too.
+ dnl However "dbcc" etc on gas are already only as big as they need to be.
+
+-AC_DEFUN(GMP_ASM_M68K_BRANCHES,
++AC_DEFUN([GMP_ASM_M68K_BRANCHES],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([assembler shortest branches],
+ gmp_cv_asm_m68k_branches,
+@@ -1752,7 +1754,7 @@
+ dnl See also mpn/powerpc32/powerpc-defs.m4 which uses the result of this
+ dnl test.
+
+-AC_DEFUN(GMP_ASM_POWERPC_R_REGISTERS,
++AC_DEFUN([GMP_ASM_POWERPC_R_REGISTERS],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([if the assembler needs r on registers],
+ gmp_cv_asm_powerpc_r_registers,
+@@ -1777,7 +1779,7 @@
+ dnl
+ dnl See also mpn/sparc32/sparc-defs.m4 which uses the result of this test.
+
+-AC_DEFUN(GMP_ASM_SPARC_REGISTER,
++AC_DEFUN([GMP_ASM_SPARC_REGISTER],
+ [AC_REQUIRE([GMP_ASM_TEXT])
+ AC_CACHE_CHECK([if the assembler accepts ".register"],
+ gmp_cv_asm_sparc_register,
+@@ -1795,7 +1797,7 @@
+ dnl GMP_C_ATTRIBUTE_CONST
+ dnl ---------------------
+
+-AC_DEFUN(GMP_C_ATTRIBUTE_CONST,
++AC_DEFUN([GMP_C_ATTRIBUTE_CONST],
+ [AC_CACHE_CHECK([whether gcc __attribute__ ((const)) works],
+ gmp_cv_c_attribute_const,
+ [AC_TRY_COMPILE([int foo (int x) __attribute__ ((const));], ,
+@@ -1814,7 +1816,7 @@
+ dnl it's ignored. Pretend it doesn't exist in this case, to avoid that
+ dnl warning.
+
+-AC_DEFUN(GMP_C_ATTRIBUTE_MALLOC,
++AC_DEFUN([GMP_C_ATTRIBUTE_MALLOC],
+ [AC_CACHE_CHECK([whether gcc __attribute__ ((malloc)) works],
+ gmp_cv_c_attribute_malloc,
+ [cat >conftest.c <<EOF
+@@ -1844,7 +1846,7 @@
+ dnl --------------------
+ dnl Introduced in gcc 2.2, but perhaps not in all Apple derived versions.
+
+-AC_DEFUN(GMP_C_ATTRIBUTE_MODE,
++AC_DEFUN([GMP_C_ATTRIBUTE_MODE],
+ [AC_CACHE_CHECK([whether gcc __attribute__ ((mode (XX))) works],
+ gmp_cv_c_attribute_mode,
+ [AC_TRY_COMPILE([typedef int SItype __attribute__ ((mode (SI)));], ,
+@@ -1860,7 +1862,7 @@
+ dnl GMP_C_ATTRIBUTE_NORETURN
+ dnl ------------------------
+
+-AC_DEFUN(GMP_C_ATTRIBUTE_NORETURN,
++AC_DEFUN([GMP_C_ATTRIBUTE_NORETURN],
+ [AC_CACHE_CHECK([whether gcc __attribute__ ((noreturn)) works],
+ gmp_cv_c_attribute_noreturn,
+ [AC_TRY_COMPILE([void foo (int x) __attribute__ ((noreturn));], ,
+@@ -1887,7 +1889,7 @@
+ dnl used doesn't have functions or anything, so even an "old" awk should
+ dnl suffice.
+
+-AC_DEFUN(GMP_C_DOUBLE_FORMAT,
++AC_DEFUN([GMP_C_DOUBLE_FORMAT],
+ [AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_PROG_AWK])
+ AC_CACHE_CHECK([format of `double' floating point],
+@@ -2089,7 +2091,7 @@
+ dnl
+ dnl FIXME: Hopefully autoconf will do this extra itself one day.
+
+-AC_DEFUN(GMP_C_INLINE,
++AC_DEFUN([GMP_C_INLINE],
+ [AC_CACHE_CHECK([for inline], gmp_cv_c_inline,
+ [gmp_cv_c_inline=no
+ for i in inline __inline__ __inline; do
+@@ -2129,7 +2131,7 @@
+ dnl "yes" is used in the cache variable if plain "restrict" works, to make
+ dnl the configure message look nicer.
+
+-AC_DEFUN(GMP_C_RESTRICT,
++AC_DEFUN([GMP_C_RESTRICT],
+ [AC_CACHE_CHECK([for restrict], gmp_cv_c_restrict,
+ [gmp_cv_c_restrict=no
+ for r in restrict __restrict__ __restrict; do
+@@ -2178,7 +2180,7 @@
+ dnl ulongs with bits=8*sizeof, so it's academic. Strange systems can
+ dnl always have the right values put in gmp-mparam.h explicitly.
+
+-AC_DEFUN(GMP_C_SIZES,
++AC_DEFUN([GMP_C_SIZES],
+ [BITS_PER_MP_LIMB=[`sed -n 's/^#define BITS_PER_MP_LIMB[ ][ ]*\([0-9]*\).*$/\1/p' $gmp_mparam_source`]
+ if test -n "$BITS_PER_MP_LIMB" \
+ && grep "^#define BYTES_PER_MP_LIMB" $gmp_mparam_source >/dev/null; then : ;
+@@ -2199,7 +2201,7 @@
+ fi
+ fi
+ AC_SUBST(BITS_PER_MP_LIMB)
+-define([GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB],
++define([[GMP_INCLUDE_GMP_H_BITS_PER_MP_LIMB]],
+ [[#define __GMP_BITS_PER_MP_LIMB $BITS_PER_MP_LIMB
+ #define GMP_LIMB_BITS $BITS_PER_MP_LIMB]])
+
+@@ -2232,7 +2234,7 @@
+ dnl or very likely by the setups for _PROTO in gmp.h. On the other hand
+ dnl this test is nice and direct, being what we're going to actually use.
+
+-AC_DEFUN(GMP_C_STDARG,
++AC_DEFUN([GMP_C_STDARG],
+ [AC_CACHE_CHECK([whether <stdarg.h> exists and works],
+ gmp_cv_c_stdarg,
+ [AC_TRY_COMPILE(
+@@ -2261,7 +2263,7 @@
+ dnl available, and also to use gmp-impl.h for the conditionals detecting
+ dnl compiler builtin alloca's.
+
+-AC_DEFUN(GMP_FUNC_ALLOCA,
++AC_DEFUN([GMP_FUNC_ALLOCA],
+ [AC_REQUIRE([GMP_HEADER_ALLOCA])
+ AC_CACHE_CHECK([for alloca (via gmp-impl.h)],
+ gmp_cv_func_alloca,
+@@ -2278,7 +2280,7 @@
+ fi
+ ])
+
+-AC_DEFUN(GMP_HEADER_ALLOCA,
++AC_DEFUN([GMP_HEADER_ALLOCA],
+ [# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+ # for constant arguments. Useless!
+ AC_CACHE_CHECK([for working alloca.h],
+@@ -2299,7 +2301,7 @@
+ dnl Decide what to do about --enable-alloca from the user.
+ dnl This is a macro so it can require GMP_FUNC_ALLOCA.
+
+-AC_DEFUN(GMP_OPTION_ALLOCA,
++AC_DEFUN([GMP_OPTION_ALLOCA],
+ [AC_REQUIRE([GMP_FUNC_ALLOCA])
+ AC_CACHE_CHECK([how to allocate temporary memory],
+ gmp_cv_option_alloca,
+@@ -2355,7 +2357,7 @@
+ dnl
+ dnl FIXME: Run a program to try this, when doing a native build.
+
+-AC_DEFUN(GMP_FUNC_SSCANF_WRITABLE_INPUT,
++AC_DEFUN([GMP_FUNC_SSCANF_WRITABLE_INPUT],
+ [AC_CACHE_CHECK([whether sscanf needs writable input],
+ gmp_cv_func_sscanf_writable_input,
+ [case $host in
+@@ -2391,7 +2393,7 @@
+ dnl not sure which 2.0.x does which), but still puts the correct null
+ dnl terminated result into the buffer.
+
+-AC_DEFUN(GMP_FUNC_VSNPRINTF,
++AC_DEFUN([GMP_FUNC_VSNPRINTF],
+ [AC_REQUIRE([GMP_C_STDARG])
+ AC_CHECK_FUNC(vsnprintf,
+ [gmp_vsnprintf_exists=yes],
+@@ -2472,7 +2474,7 @@
+ dnl ----------
+ dnl Check whether gmp.h recognises the compiler as ANSI capable.
+
+-AC_DEFUN(GMP_H_ANSI,
++AC_DEFUN([GMP_H_ANSI],
+ [AC_REQUIRE([AC_PROG_CC_STDC])
+ case $ac_cv_prog_cc_stdc in
+ no)
+@@ -2495,7 +2497,7 @@
+ dnl If the compiler has an "inline" of some sort, check whether the
+ dnl #ifdef's in gmp.h recognise it.
+
+-AC_DEFUN(GMP_H_EXTERN_INLINE,
++AC_DEFUN([GMP_H_EXTERN_INLINE],
+ [AC_REQUIRE([GMP_C_INLINE])
+ case $gmp_cv_c_inline in
+ no) ;;
+@@ -2522,7 +2524,7 @@
+ dnl Check whether the #ifdef's in gmp.h recognise when stdio.h has been
+ dnl included to get FILE.
+
+-AC_DEFUN(GMP_H_HAVE_FILE,
++AC_DEFUN([GMP_H_HAVE_FILE],
+ [AC_TRY_COMPILE(
+ [#include <stdio.h>]
+ GMP_INCLUDE_GMP_H
+@@ -2539,7 +2541,7 @@
+ dnl Check whether the #ifdef's in gmp-impl.h recognise IEEE format and
+ dnl endianness.
+
+-AC_DEFUN(GMP_IMPL_H_IEEE_FLOATS,
++AC_DEFUN([GMP_IMPL_H_IEEE_FLOATS],
+ [case $host in
+ vax*-*-*)
+ # not IEEE (neither D nor G formats are IEEE)
+--- gmp-1.4.4/configure.in.orig 2004-09-21 15:02:43.000000000 +0200
++++ gmp-1.4.4/configure.in 2005-07-18 01:08:34.000000000 +0200
+@@ -26,15 +26,16 @@
+
+
+ AC_REVISION($Revision: 1.425.2.25 $)
+-AC_PREREQ(2.52)
+-AC_INIT(gmp-impl.h)
+-m4_pattern_forbid([^[ \t]*GMP_])
+-m4_pattern_forbid([^[ \t]*MPFR_CONFIGS])
+-m4_pattern_allow(GMP_LDFLAGS)
+-m4_pattern_allow(GMP_LIMB_BITS)
+-m4_pattern_allow(GMP_MPARAM_H_SUGGEST)
+-m4_pattern_allow(GMP_NAIL_BITS)
+-m4_pattern_allow(GMP_NUMB_BITS)
++AC_PREREQ(2.57)
++AC_INIT
++AC_CONFIG_SRCDIR([gmp-impl.h])
++
++
++
++
++
++
++
+
+ # If --target is not used then $target_alias is empty, but if say
+ # "./configure athlon-pc-freebsd3.5" is used, then all three of
+@@ -56,7 +57,7 @@
+ GMP_DEFINE_RAW("define_not_for_expansion(\`HAVE_HOST_CPU_$tmp_host')", POST)
+
+ AM_INIT_AUTOMAKE(gmp, GMP_VERSION)
+-AM_CONFIG_HEADER(config.h:config.in)
++AC_CONFIG_HEADERS([config.h:config.in])
+ AM_MAINTAINER_MODE
+
+
+@@ -212,7 +213,7 @@
+ # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is
+ # called. User selections of CC etc are respected.
+ #
+-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP
++# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP
+ # pre-testing, since they of course depend on AC_PROG_CC, and also some of
+ # them cache their results, which is not wanted.
+ #
+@@ -299,7 +300,7 @@
+ # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring
+ # c89 over cc here. But note that on HP-UX c89 provides a castrated
+ # environment, and would want to be excluded somehow. Maybe
+-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and
++# already does enough to stick cc into ANSI mode and
+ # we don't need to worry.
+ #
+ cclist="gcc cc"
+@@ -1079,7 +1080,7 @@
+ CFLAGS_or_unset=${CFLAGS-'(unset)'}
+ CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
+
+-cat >&AC_FD_CC <<EOF
++cat >&AS_MESSAGE_LOG_FD() <<EOF
+ configure:__line__: User:
+ ABI=$ABI
+ CC=$CC
+@@ -1391,18 +1392,18 @@
+
+ # The C compiler and preprocessor, put into ANSI mode if possible.
+ AC_PROG_CC
+-AC_PROG_CC_STDC
++
+ AC_PROG_CPP
+ GMP_H_ANSI
+
+
+ # The C++ compiler, if desired.
+ want_cxx=no
++AC_PROG_CXX
+ if test $enable_cxx != no; then
+ test_CXXFLAGS=${CXXFLAGS+set}
+- AC_PROG_CXX
+
+- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
++ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
+ cxxflags_ac_prog_cxx=$CXXFLAGS
+ cxxflags_list=ac_prog_cxx
+
+@@ -1478,7 +1479,7 @@
+ fi
+
+
+-cat >&AC_FD_CC <<EOF
++cat >&AS_MESSAGE_LOG_FD() <<EOF
+ configure:__line__: Decided:
+ ABI=$ABI
+ CC=$CC
+@@ -1720,9 +1721,9 @@
+
+ # FIXME: Autoconf 2.52 AC_C_BIGENDIAN bombs when cross compiling, but in the
+ # future the probes will be better and this override can be removed.
+-if test "$cross_compiling" = yes; then
+- ac_cv_c_bigendian=unknown
+-fi
++#if test "$cross_compiling" = yes; then
++# ac_cv_c_bigendian=unknown
++#fi
+ AC_C_BIGENDIAN
+ # Enhancement: In the future AC_C_BIGENDIAN will accept these actions as
+ # parameters.
+@@ -2168,7 +2169,7 @@
+
+ # Configs for demos/calc directory
+ #
+-# AC_SUBST is used here since with AM_CONFIG_HEADER automake would put
++# AC_SUBST is used here since with AC_CONFIG_HEADERS([]) automake would put
+ # demos/calc in the default $(DEFAULT_INCLUDES) for every directory,
+ # which would look very strange. Likewise demos/expr below.
+ #
+@@ -2207,7 +2208,7 @@
+ # FIXME: Upcoming version of autoconf/automake may not like broken lines.
+ # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
+
+-AC_OUTPUT(Makefile \
++AC_CONFIG_FILES([Makefile \
+ mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile \
+ mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile \
+ tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile \
+@@ -2217,4 +2218,5 @@
+ mpfr/Makefile mpfr/tests/Makefile \
+ tune/Makefile \
+ demos/Makefile demos/calc/Makefile demos/expr/Makefile \
+- gmp.h:gmp-h.in mp.h:mp-h.in)
++ gmp.h:gmp-h.in mp.h:mp-h.in])
++AC_OUTPUT
diff --git a/meta/packages/gmp/gmp-4.1.4/sh4-asmfix.patch b/meta/packages/gmp/gmp-4.1.4/sh4-asmfix.patch
new file mode 100644
index 0000000000..1a01f61533
--- /dev/null
+++ b/meta/packages/gmp/gmp-4.1.4/sh4-asmfix.patch
@@ -0,0 +1,26 @@
+--- gmp-4.1.4/mpn/sh/add_n.s 2005/11/17 08:44:00 1.1
++++ gmp-4.1.4/mpn/sh/add_n.s 2005/11/17 08:18:57
+@@ -29,8 +29,8 @@
+
+ .text
+ .align 2
+- .global ___gmpn_add_n
+-___gmpn_add_n:
++ .global __gmpn_add_n
++__gmpn_add_n:
+ mov #0,r3 ! clear cy save reg
+
+ Loop: mov.l @r5+,r1
+--- gmp-4.1.4/mpn/sh/sub_n.s 2005/11/17 08:44:04 1.1
++++ gmp-4.1.4/mpn/sh/sub_n.s 2005/11/17 08:18:59
+@@ -29,8 +29,8 @@
+
+ .text
+ .align 2
+- .global ___gmpn_sub_n
+-___gmpn_sub_n:
++ .global __gmpn_sub_n
++__gmpn_sub_n:
+ mov #0,r3 ! clear cy save reg
+
+ Loop: mov.l @r5+,r1
diff --git a/meta/packages/gmp/gmp-native_4.1.2.bb b/meta/packages/gmp/gmp-native_4.1.2.bb
new file mode 100644
index 0000000000..9a35da292b
--- /dev/null
+++ b/meta/packages/gmp/gmp-native_4.1.2.bb
@@ -0,0 +1,7 @@
+include gmp_${PV}.bb
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gmp-${PV}"
+S = "${WORKDIR}/gmp-${PV}"
+
+inherit native
+
diff --git a/meta/packages/gmp/gmp_4.1.2.bb b/meta/packages/gmp/gmp_4.1.2.bb
new file mode 100644
index 0000000000..d7456175a1
--- /dev/null
+++ b/meta/packages/gmp/gmp_4.1.2.bb
@@ -0,0 +1,18 @@
+SECTION = "libs"
+DESCRIPTION = "GNU multiprecision arithmetic library"
+HOMEPAGE = "http://www.swox.com/gmp/"
+LICENSE = "GPL LGPL"
+
+SRC_URI = "ftp://mirrors.kernel.org/gnu/gmp/gmp-${PV}.tar.gz \
+ file://configure.patch;patch=1 \
+ file://amd64.patch;patch=1 \
+ file://gcc-compile.patch;patch=1 "
+
+inherit autotools
+
+acpaths = ""
+
+do_stage () {
+ oe_libinstall -so libgmp ${STAGING_LIBDIR}
+ install -m 0644 ${S}/gmp.h ${STAGING_INCDIR}/gmp.h
+}
diff --git a/meta/packages/gmp/gmp_4.1.4.bb b/meta/packages/gmp/gmp_4.1.4.bb
new file mode 100644
index 0000000000..d80e728dc4
--- /dev/null
+++ b/meta/packages/gmp/gmp_4.1.4.bb
@@ -0,0 +1,19 @@
+SECTION = "libs"
+DESCRIPTION = "GNU multiprecision arithmetic library"
+HOMEPAGE = "http://www.swox.com/gmp/"
+LICENSE = "GPL LGPL"
+
+PR = "r1"
+
+SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/gmp-${PV}.tar.bz2 \
+ file://configure.patch;patch=1 \
+ file://amd64.patch;patch=1 \
+ file://sh4-asmfix.patch;patch=1"
+
+inherit autotools
+
+acpaths = ""
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/meta/packages/gnome/files/gtk-doc.m4 b/meta/packages/gnome/files/gtk-doc.m4
new file mode 100644
index 0000000000..3ec41666b2
--- /dev/null
+++ b/meta/packages/gnome/files/gtk-doc.m4
@@ -0,0 +1,53 @@
+dnl -*- mode: autoconf -*-
+
+# serial 1
+
+dnl Usage:
+dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ dnl for overriding the documentation installation directory
+ AC_ARG_WITH(html-dir,
+ AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+ [with_html_dir='${datadir}/gtk-doc/html'])
+ HTML_DIR="$with_html_dir"
+ AC_SUBST(HTML_DIR)
+
+ dnl enable/disable documentation building
+ AC_ARG_ENABLE(gtk-doc,
+ AC_HELP_STRING([--enable-gtk-doc],
+ [use gtk-doc to build documentation [default=no]]),,
+ enable_gtk_doc=no)
+
+ have_gtk_doc=no
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+ if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
+ have_gtk_doc=yes
+ fi
+
+ dnl do we want to do a version check?
+ifelse([$1],[],,
+ [gtk_doc_min_version=$1
+ if test "$have_gtk_doc" = yes; then
+ AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
+ if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ have_gtk_doc=no
+ fi
+ fi
+])
+ if test x$enable_gtk_doc = xyes; then
+ if test "$have_gtk_doc" != yes; then
+ enable_gtk_doc=no
+ fi
+ fi
+
+ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
+ AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
+])
diff --git a/meta/packages/gnome/files/gtk-doc.make b/meta/packages/gnome/files/gtk-doc.make
new file mode 100644
index 0000000000..c319e7ad7c
--- /dev/null
+++ b/meta/packages/gnome/files/gtk-doc.make
@@ -0,0 +1,148 @@
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+
+if GTK_DOC_USE_LIBTOOL
+GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
+else
+GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
+GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
+endif
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+EXTRA_DIST = \
+ $(content_files) \
+ $(HTML_IMAGES) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE).types \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
+ $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
+
+if ENABLE_GTK_DOC
+all-local: html-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB)
+ @echo '*** Scanning header files ***'
+ @-chmod -R u+w $(srcdir)
+ if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+ else \
+ cd $(srcdir) ; \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ cd $(srcdir) && \
+ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
+ @true
+
+#### templates ####
+
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo '*** Rebuilding template files ***'
+ @-chmod -R u+w $(srcdir)
+ cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+ touch tmpl-build.stamp
+
+tmpl.stamp: tmpl-build.stamp
+ @true
+
+#### xml ####
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
+ @echo '*** Building XML ***'
+ @-chmod -R u+w $(srcdir)
+ cd $(srcdir) && \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
+ touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+ @echo '*** Building HTML ***'
+ @-chmod -R u+w $(srcdir)
+ rm -rf $(srcdir)/html
+ mkdir $(srcdir)/html
+ cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
+ @echo '-- Fixing Crossreferences'
+ cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ touch html-build.stamp
+endif
+
+##############
+
+clean-local:
+ rm -f *~ *.bak
+
+maintainer-clean-local: clean
+ cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
+ (installfiles=`echo $(srcdir)/html/*`; \
+ if test "$$installfiles" = '$(srcdir)/html/*'; \
+ then echo '-- Nothing to install' ; \
+ else \
+ for i in $$installfiles; do \
+ echo '-- Installing '$$i ; \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+ done; \
+ echo '-- Installing $(srcdir)/html/index.sgml' ; \
+ $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
+ fi)
+
+uninstall-local:
+ rm -f $(DESTDIR)$(TARGET_DIR)/*
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+ @echo "*** gtk-doc must be installed and enabled in order to make dist"
+ @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+ mkdir $(distdir)/tmpl
+ mkdir $(distdir)/xml
+ mkdir $(distdir)/html
+ -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+ -cp $(srcdir)/xml/*.xml $(distdir)/xml
+ -cp $(srcdir)/html/* $(distdir)/html
+
+.PHONY : dist-hook-local
diff --git a/meta/packages/gnome/gconf-2.6.1/backends.patch b/meta/packages/gnome/gconf-2.6.1/backends.patch
new file mode 100644
index 0000000000..8d6099b41f
--- /dev/null
+++ b/meta/packages/gnome/gconf-2.6.1/backends.patch
@@ -0,0 +1,13 @@
+--- gconf/backends/Makefile.am~ 2003-11-03 00:19:33.000000000 +0000
++++ gconf/backends/Makefile.am 2004-05-15 19:01:38.000000000 +0100
+@@ -28,8 +28,8 @@
+
+ noinst_PROGRAMS = xml-test
+
+-xml_test_SOURCES= $(libgconfbackend_oldxml_la_SOURCES) xml-test.c
+-xml_test_LDADD = $(DEPENDENT_WITH_XML_LIBS) $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la
++#xml_test_SOURCES= $(libgconfbackend_oldxml_la_SOURCES) xml-test.c
++xml_test_LDADD = $(DEPENDENT_WITH_XML_LIBS) $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la libgconfbackend-oldxml.la
+
+ bin_PROGRAMS = gconf-merge-tree
+ gconf_merge_tree_SOURCES = gconf-merge-tree.c
diff --git a/meta/packages/gnome/gconf-dbus/69gconfd-dbus b/meta/packages/gnome/gconf-dbus/69gconfd-dbus
new file mode 100755
index 0000000000..c2add042f6
--- /dev/null
+++ b/meta/packages/gnome/gconf-dbus/69gconfd-dbus
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/libexec/gconfd-2 &
diff --git a/meta/packages/gnome/gconf-dbus/gconf-dbus-update.patch b/meta/packages/gnome/gconf-dbus/gconf-dbus-update.patch
new file mode 100755
index 0000000000..9870078b86
--- /dev/null
+++ b/meta/packages/gnome/gconf-dbus/gconf-dbus-update.patch
@@ -0,0 +1,31 @@
+? gconf/gconf.service
+Index: gconf/Makefile.am
+===================================================================
+RCS file: /cvs/gnome/gconf/gconf/Makefile.am,v
+retrieving revision 1.78.4.8
+diff -u -r1.78.4.8 Makefile.am
+--- gconf/Makefile.am 21 Dec 2003 14:21:15 -0000 1.78.4.8
++++ gconf/Makefile.am 22 Jan 2005 00:30:13 -0000
+@@ -155,6 +155,7 @@
+
+ libgconf_2_la_LDFLAGS = -version-info $(GCONF_CURRENT):$(GCONF_REVISION):$(GCONF_AGE) -no-undefined
+ libgconf_2_la_LIBADD = $(INTLLIBS) $(DEPENDENT_LIBS) $(GCONF_IPC_LIBS)
++libgconf_2_la_CFLAGS = $(AM_CFLAGS)
+
+ if HAVE_DBUS
+ servicedir = $(DBUS_SERVICE_DIR)
+Index: backends/Makefile.am
+===================================================================
+RCS file: /cvs/gnome/gconf/backends/Makefile.am,v
+retrieving revision 1.30
+diff -u -r1.30 Makefile.am
+--- backends/Makefile.am 3 Nov 2003 00:19:33 -0000 1.30
++++ backends/Makefile.am 22 Jan 2005 00:30:14 -0000
+@@ -17,6 +17,7 @@
+
+ libgconfbackend_oldxml_la_LDFLAGS = -avoid-version -module -no-undefined
+ libgconfbackend_oldxml_la_LIBADD = $(DEPENDENT_WITH_XML_LIBS) $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la
++libgconfbackend_oldxml_la_CFLAGS = $(AM_CFLAGS)
+
+ libgconfbackend_xml_la_SOURCES = \
+ markup-backend.c \
diff --git a/meta/packages/gnome/gconf-dbus/no-deprecation.patch b/meta/packages/gnome/gconf-dbus/no-deprecation.patch
new file mode 100644
index 0000000000..133ea550ee
--- /dev/null
+++ b/meta/packages/gnome/gconf-dbus/no-deprecation.patch
@@ -0,0 +1,11 @@
+--- trunk/examples/basic-gconf-app.c.old 2006-04-25 20:39:48.000000000 +0100
++++ trunk/examples/basic-gconf-app.c 2006-04-25 20:40:11.000000000 +0100
+@@ -80,7 +80,7 @@
+
+ /* Be clean and pure */
+ #define GTK_DISABLE_DEPRECATED
+-#define G_DISABLE_DEPRECATED
++/*#define G_DISABLE_DEPRECATED*/
+
+ #include <gconf/gconf-client.h>
+ #include <gtk/gtk.h>
diff --git a/meta/packages/gnome/gconf-dbus/remove-old-translations.patch b/meta/packages/gnome/gconf-dbus/remove-old-translations.patch
new file mode 100644
index 0000000000..486570040f
--- /dev/null
+++ b/meta/packages/gnome/gconf-dbus/remove-old-translations.patch
@@ -0,0 +1,11 @@
+--- trunk/configure.in.old 2006-06-21 13:49:59.000000000 +0100
++++ trunk/configure.in 2006-06-21 13:50:21.000000000 +0100
+@@ -189,7 +189,7 @@
+
+ AC_CHECK_FUNCS(flockfile)
+
+-ALL_LINGUAS="am ar az be bg bn ca cs cy da de el en_GB es eu fa fi fr ga gl hi hr hu id it ja ko lt lv mk ml mn ms nl nn no pl pt pt_BR ro ru sk sl sq sr sr@Latn sv tr uk vi yi zh_CN zh_TW ta"
++ALL_LINGUAS="am ar az be bg bn ca cs cy da de el en_GB es eu fa fi fr ga gl hi hr hu id it ja ko lt lv mk ml ms nl nn no pl pt pt_BR ro ru sk sl sq sr sr@Latn sv tr uk vi yi zh_CN zh_TW ta"
+
+ AM_GLIB_GNU_GETTEXT
+
diff --git a/meta/packages/gnome/gconf-dbus/xml-backend-locks-compile-fix.patch b/meta/packages/gnome/gconf-dbus/xml-backend-locks-compile-fix.patch
new file mode 100644
index 0000000000..c195aad639
--- /dev/null
+++ b/meta/packages/gnome/gconf-dbus/xml-backend-locks-compile-fix.patch
@@ -0,0 +1,16 @@
+--- trunk/backends/xml-backend.c~ 2006-01-18 09:57:39.000000000 -0800
++++ trunk/backends/xml-backend.c 2006-01-19 11:38:37.000000000 -0800
+@@ -115,6 +115,13 @@
+
+ typedef struct _XMLSource XMLSource;
+
++extern GConfLock*
++gconf_get_lock (const gchar *lock_directory,
++ GError **err);
++extern gboolean
++gconf_release_lock (GConfLock *lock,
++ GError **err);
++
+ /* XMLSource **/
+
+ struct _XMLSource {
diff --git a/meta/packages/gnome/gconf-dbus/xml-backend-oldxml-Makefile.patch b/meta/packages/gnome/gconf-dbus/xml-backend-oldxml-Makefile.patch
new file mode 100644
index 0000000000..312a356c84
--- /dev/null
+++ b/meta/packages/gnome/gconf-dbus/xml-backend-oldxml-Makefile.patch
@@ -0,0 +1,11 @@
+--- trunk/backends/Makefile~ 2006-01-19 09:52:22.000000000 -0800
++++ trunk/backends/Makefile 2006-01-19 13:13:23.000000000 -0800
+@@ -84,7 +84,7 @@
+ xml_test_OBJECTS = $(am_xml_test_OBJECTS)
+ xml_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(top_builddir)/gconf/libgconf-$(MAJOR_VERSION).la \
+- $(top_builddir)/backends/libgconfbackend-oldxml.la
++ libgconfbackend-oldxml.la
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
+ depcomp = $(SHELL) $(top_srcdir)/depcomp
+ am__depfiles_maybe = depfiles
diff --git a/meta/packages/gnome/gconf-dbus_cvs.bb b/meta/packages/gnome/gconf-dbus_cvs.bb
new file mode 100755
index 0000000000..f8be0c4eee
--- /dev/null
+++ b/meta/packages/gnome/gconf-dbus_cvs.bb
@@ -0,0 +1,38 @@
+SECTION = "x11/utils"
+DEPENDS = "gtk+ glib-2.0 dbus libxml2 popt"
+DESCRIPTION = "Settings daemon using DBUS for communication."
+LICENSE = "GPL"
+MAINTAINER = "Florian Boor <florian@kernelconcepts.de>"
+PROVIDES = "gconf"
+RPROVIDES_${PN} = "gconf"
+RPROVIDES_${PN}-dev = "gconf-dev"
+
+PV = "0.0+cvs${SRCDATE}"
+PR = "r8"
+
+SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=gconf;tag=gconf-dbus-2-6 \
+ file://gconf-dbus-update.patch;patch=1;pnum=0 \
+ file://69gconfd-dbus"
+
+inherit pkgconfig autotools
+S = "${WORKDIR}/gconf"
+
+FILES_${PN} += " ${libdir}/GConf/2/*.so ${libdir}/dbus-1.0 ${sysconfdir} ${datadir}/dbus*"
+
+EXTRA_OECONF = " --with-ipc=dbus --disable-gtk-doc --enable-gtk --host=${HOST_SYS} --enable-shared --disable-static"
+
+HEADERS = "gconf.h gconf-changeset.h gconf-listeners.h gconf-schema.h gconf-value.h gconf-error.h gconf-engine.h gconf-client.h gconf-enum-types.h"
+
+do_stage() {
+ oe_libinstall -so -C gconf libgconf-2 ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gconf/2/gconf/
+ ( cd gconf; for i in ${HEADERS}; do install -m 0644 $i ${STAGING_INCDIR}/gconf/2/gconf/$i; done )
+ install -m 0644 gconf.m4 ${STAGING_DATADIR}/aclocal/gconf-2.m4
+}
+
+do_install_append () {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d
+ install -m 755 ${WORKDIR}/69gconfd-dbus ${D}/${sysconfdir}/X11/Xsession.d/
+ install -d ${D}/${datadir}/dbus-1.0/services/
+ install -m 644 gconf/gconf.service ${D}${datadir}/dbus-1.0/services/
+}
diff --git a/meta/packages/gnome/gconf-dbus_svn.bb b/meta/packages/gnome/gconf-dbus_svn.bb
new file mode 100644
index 0000000000..1aba51c56c
--- /dev/null
+++ b/meta/packages/gnome/gconf-dbus_svn.bb
@@ -0,0 +1,49 @@
+SECTION = "x11/utils"
+DEPENDS = "gtk+ glib-2.0 dbus libxml2 popt"
+DESCRIPTION = "Settings daemon using DBUS for communication."
+LICENSE = "GPL"
+MAINTAINER = "Florian Boor <florian@kernelconcepts.de>"
+PROVIDES = "gconf"
+RPROVIDES_${PN} = "gconf"
+RPROVIDES_${PN}-dev = "gconf-dev"
+
+PV = "2.10.0+svn${SRCDATE}"
+PR = "r2"
+
+SRC_URI = "svn://developer.imendio.com/svn/gconf-dbus;module=trunk;proto=http \
+ file://gconf-dbus-update.patch;patch=1;pnum=0 \
+ file://xml-backend-locks-compile-fix.patch;patch=1 \
+ file://no-deprecation.patch;patch=1 \
+ file://remove-old-translations.patch;patch=1 \
+ file://xml-backend-oldxml-Makefile.patch \
+ file://69gconfd-dbus"
+
+inherit pkgconfig autotools
+S = "${WORKDIR}/trunk"
+
+PARALLEL_MAKE = ""
+
+FILES_${PN} += " ${libdir}/GConf/2/*.so ${libdir}/dbus-1.0 ${sysconfdir} ${datadir}/dbus*"
+
+EXTRA_OECONF = " --with-ipc=dbus --disable-gtk-doc --enable-gtk --host=${HOST_SYS} --enable-shared --disable-static"
+
+HEADERS = "gconf.h gconf-changeset.h gconf-listeners.h gconf-schema.h gconf-value.h gconf-error.h gconf-engine.h gconf-client.h gconf-enum-types.h"
+
+do_compile_prepend() {
+ cd ${S}
+ patch -p1 < ../xml-backend-oldxml-Makefile.patch
+}
+
+do_stage() {
+ oe_libinstall -so -C gconf libgconf-2 ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gconf/2/gconf/
+ ( cd gconf; for i in ${HEADERS}; do install -m 0644 $i ${STAGING_INCDIR}/gconf/2/gconf/$i; done )
+ install -m 0644 gconf.m4 ${STAGING_DATADIR}/aclocal/gconf-2.m4
+}
+
+do_install_append () {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d
+ install -m 755 ${WORKDIR}/69gconfd-dbus ${D}/${sysconfdir}/X11/Xsession.d/
+ install -d ${D}/${datadir}/dbus-1.0/services/
+ install -m 644 gconf/gconf.service ${D}${datadir}/dbus-1.0/services/
+}
diff --git a/meta/packages/gnome/gconf_2.6.1.bb b/meta/packages/gnome/gconf_2.6.1.bb
new file mode 100644
index 0000000000..7a2ef334e4
--- /dev/null
+++ b/meta/packages/gnome/gconf_2.6.1.bb
@@ -0,0 +1,33 @@
+LICENSE = "LGPL"
+SECTION = "x11/gnome"
+DESCRIPTION = "GNOME configuration database system"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/GConf/2.6/GConf-${PV}.tar.bz2 \
+ file://backends.patch;patch=1"
+DEPENDS = "orbit2 glib-2.0 libxml2 gtk+"
+ORBIT_IDL_SRC = "${STAGING_BINDIR}/orbit-idl-2"
+
+FILES_${PN} += " ${libdir}/GConf/*"
+PR = "r1"
+
+S = "${WORKDIR}/GConf-${PV}"
+
+EXTRA_OECONF = "--disable-gtk-doc --enable-gtk"
+
+inherit autotools pkgconfig gettext
+
+HEADERS = "gconf.h gconf-changeset.h gconf-listeners.h gconf-schema.h gconf-value.h gconf-error.h gconf-engine.h gconf-client.h gconf-enum-types.h"
+
+do_compile() {
+ oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}"
+}
+
+do_stage() {
+ oe_libinstall -so -C gconf libgconf-2 ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gconf/2/gconf/
+ ( cd gconf; for i in ${HEADERS}; do install -m 0644 $i ${STAGING_INCDIR}/gconf/$i; done )
+ install -m 0644 gconf.m4 ${STAGING_DATADIR}/aclocal/gconf-2.m4
+}
+
+do_install() {
+ oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" DESTDIR="${D}" install
+}
diff --git a/meta/packages/gnome/gnome-common/omf.patch b/meta/packages/gnome/gnome-common/omf.patch
new file mode 100644
index 0000000000..334425e4b2
--- /dev/null
+++ b/meta/packages/gnome/gnome-common/omf.patch
@@ -0,0 +1,13 @@
+--- gnome-common-2.4.0/doc-build/omf.make 2003-05-24 08:16:25.000000000 -0700
++++ gnome-common-2.4.0.new/doc-build/omf.make 2004-11-15 14:01:12.185155192 -0700
+@@ -43,7 +43,9 @@
+ install-data-hook-omf:
+ $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir)
+ for file in $(omffile); do \
+- $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \
++ if [ -f $$file.out ]; then \
++ $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \
++ fi; \
+ done
+ -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir)
+
diff --git a/meta/packages/gnome/gnome-common_2.4.0.bb b/meta/packages/gnome/gnome-common_2.4.0.bb
new file mode 100644
index 0000000000..2991db81c7
--- /dev/null
+++ b/meta/packages/gnome/gnome-common_2.4.0.bb
@@ -0,0 +1,28 @@
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+PR = "r0"
+DESCRIPTION = "Common macros for building GNOME applications"
+inherit gnome
+
+# The omf.make file failed if scrollkeeper doesn't happen to be
+# installed
+
+SRC_URI += "file://omf.patch;patch=1"
+
+EXTRA_AUTORECONF = ""
+DEPENDS = ""
+
+FILES_${PN} += "${datadir}/aclocal"
+FILES_${PN}-dev = ""
+
+do_stage () {
+ rm -rf ${STAGE_TEMP}
+ mkdir -p ${STAGE_TEMP}
+ make DESTDIR="${STAGE_TEMP}" install
+ cp -pPR ${STAGE_TEMP}${bindir}/* ${STAGING_DIR}/${BUILD_SYS}/bin
+ install -d ${STAGING_DATADIR}/gnome-common
+ install -d ${STAGING_DATADIR}/aclocal
+ cp -pPR ${STAGE_TEMP}${datadir}/gnome-common/* ${STAGING_DATADIR}/gnome-common
+ cp -pPR ${STAGE_TEMP}${datadir}/aclocal/* ${STAGING_DATADIR}/aclocal
+ rm -rf ${STAGE_TEMP}
+}
diff --git a/meta/packages/gnome/gnome-mime-data_2.4.2.bb b/meta/packages/gnome/gnome-mime-data_2.4.2.bb
new file mode 100644
index 0000000000..c71f21c9d8
--- /dev/null
+++ b/meta/packages/gnome/gnome-mime-data_2.4.2.bb
@@ -0,0 +1,7 @@
+LICENSE = "GPL"
+inherit gnome
+
+DEPENDS += "shared-mime-info intltool-native"
+RDEPENDS = "shared-mime-info"
+
+PR = "r2"
diff --git a/meta/packages/gnome/gnome-vfs-dbus/gconftool-lossage.patch b/meta/packages/gnome/gnome-vfs-dbus/gconftool-lossage.patch
new file mode 100644
index 0000000000..3dbc130ddc
--- /dev/null
+++ b/meta/packages/gnome/gnome-vfs-dbus/gconftool-lossage.patch
@@ -0,0 +1,11 @@
+--- gnome-vfs-2.6.0/configure.in~ 2004-03-22 12:36:23.000000000 +0000
++++ gnome-vfs-2.6.0/configure.in 2004-06-07 16:04:34.000000000 +0100
+@@ -154,7 +154,7 @@
+ AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
+
+ if test x"$GCONFTOOL" = xno; then
+- AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
++ AC_MSG_WARN([gconftool-2 executable not found in your path - should be installed with GConf])
+ fi
+
+ AM_GCONF_SOURCE_2
diff --git a/meta/packages/gnome/gnome-vfs-dbus/gssapi.patch b/meta/packages/gnome/gnome-vfs-dbus/gssapi.patch
new file mode 100644
index 0000000000..bcf46176b2
--- /dev/null
+++ b/meta/packages/gnome/gnome-vfs-dbus/gssapi.patch
@@ -0,0 +1,13 @@
+--- trunk/configure.in.old 2005-10-28 17:18:36.000000000 +0100
++++ trunk/configure.in 2005-10-28 17:20:34.000000000 +0100
+@@ -444,6 +444,10 @@
+ ])
+ LIBS="$saved_LIBS"
+ CPPFLAGS="$saved_CPPFLAGS"
++ if test "x$have_gssapi" != "xyes"; then
++ GSSAPI_LIBS=
++ GSSAPI_CFLAGS=
++ fi
+ fi
+ AC_SUBST(GSSAPI_LIBS)
+ AC_SUBST(GSSAPI_CFLAGS)
diff --git a/meta/packages/gnome/gnome-vfs-dbus/no-gtk-doc.patch b/meta/packages/gnome/gnome-vfs-dbus/no-gtk-doc.patch
new file mode 100644
index 0000000000..331889b639
--- /dev/null
+++ b/meta/packages/gnome/gnome-vfs-dbus/no-gtk-doc.patch
@@ -0,0 +1,24 @@
+diff -urNd ../gnome-vfs-dbus-2.12.0cvs20051004-r0/trunk/doc/Makefile.am trunk/doc/Makefile.am
+--- ../gnome-vfs-dbus-2.12.0cvs20051004-r0/trunk/doc/Makefile.am 2005-10-28 15:48:43.000000000 +0100
++++ trunk/doc/Makefile.am 2005-10-28 16:17:15.000000000 +0100
+@@ -81,7 +81,7 @@
+ GTKDOC_LIBS = $(LIBGNOMEVFS_LIBS) \
+ $(top_builddir)/libgnomevfs/libgnomevfs-2.la
+
+-include $(top_srcdir)/gtk-doc.make
++#include $(top_srcdir)/gtk-doc.make
+
+ dist-hook-local:
+ # mkdir $(distdir)/TEXT; \
+diff -urNd ../gnome-vfs-dbus-2.12.0cvs20051004-r0/trunk/Makefile.am trunk/Makefile.am
+--- ../gnome-vfs-dbus-2.12.0cvs20051004-r0/trunk/Makefile.am 2005-10-28 15:49:03.000000000 +0100
++++ trunk/Makefile.am 2005-10-28 16:17:07.000000000 +0100
+@@ -21,7 +21,7 @@
+ gnome-vfs-zip.in \
+ gnome-vfs-2.0.pc.in \
+ gnome-vfs-module-2.0.pc.in \
+- gtk-doc.make \
++# gtk-doc.make \
+ intltool-extract.in \
+ intltool-merge.in \
+ intltool-update.in
diff --git a/meta/packages/gnome/gnome-vfs-dbus/remove-old-translations.patch b/meta/packages/gnome/gnome-vfs-dbus/remove-old-translations.patch
new file mode 100644
index 0000000000..a5a13f73c3
--- /dev/null
+++ b/meta/packages/gnome/gnome-vfs-dbus/remove-old-translations.patch
@@ -0,0 +1,11 @@
+--- trunk/configure.in.old 2006-06-21 14:15:24.000000000 +0100
++++ trunk/configure.in 2006-06-21 14:19:35.000000000 +0100
+@@ -127,7 +127,7 @@
+ AC_SUBST(GETTEXT_PACKAGE)
+ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Name of the gettext package])
+
+-ALL_LINGUAS="af am ar az be bg bn bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu id is it ja ko li lt lv mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tr uk vi wa xh yi zh_CN zh_TW zu"
++ALL_LINGUAS="af am az bg bn bs ca cs cy da de el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu id is it ja ko li lt lv mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tr uk vi wa xh yi zh_CN zh_TW zu"
+ AM_GLIB_GNU_GETTEXT
+
+
diff --git a/meta/packages/gnome/gnome-vfs-dbus_2.8.4.4.bb b/meta/packages/gnome/gnome-vfs-dbus_2.8.4.4.bb
new file mode 100644
index 0000000000..8133be73e0
--- /dev/null
+++ b/meta/packages/gnome/gnome-vfs-dbus_2.8.4.4.bb
@@ -0,0 +1,91 @@
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+PR = "r1"
+PROVIDES = "gnome-vfs"
+RPROVIDES = "gnome-vfs"
+
+inherit gnome pkgconfig
+
+DEPENDS = "libxml2 gconf-dbus dbus bzip2 gnome-mime-data zlib"
+RRECOMMENDS = "gnome-vfs-plugin-file shared-mime-info"
+
+
+SRC_URI = "http://ftp.imendio.com/pub/extra/${PN}/${PN}-${PV}.tar.gz \
+ file://gssapi.patch;patch=1;pnum=1 \
+ file://gconftool-lossage.patch;patch=1;pnum=1"
+
+EXTRA_OECONF = "--with-ipc=dbus"
+
+FILES_${PN} += " ${libdir}/vfs"
+FILES_${PN}-dev += " ${libdir}/gnome-vfs-2.0/modules/*.a ${libdir}/gnome-vfs-2.0/modules/*.la ${libdir}/gnome-vfs-2.0/include"
+FILES_${PN}-doc += " ${datadir}/gtk-doc"
+
+GNOME_VFS_HEADERS = " \
+gnome-vfs-utils.h \
+gnome-vfs-application-registry.h \
+gnome-vfs-async-ops.h \
+gnome-vfs-ops.h \
+gnome-vfs-uri.h \
+gnome-vfs-standard-callbacks.h \
+gnome-vfs-module-callback.h \
+gnome-vfs-context.h \
+gnome-vfs-file-info.h \
+gnome-vfs-directory.h \
+gnome-vfs-mime-monitor.h \
+gnome-vfs-mime-handlers.h \
+gnome-vfs-result.h \
+gnome-vfs-job-limit.h \
+gnome-vfs-file-size.h \
+gnome-vfs-mime-utils.h \
+gnome-vfs-find-directory.h \
+gnome-vfs-init.h \
+gnome-vfs-handle.h \
+gnome-vfs.h \
+gnome-vfs-cancellation.h \
+gnome-vfs-xfer.h \
+gnome-vfs-monitor.h \
+gnome-vfs-types.h \
+gnome-vfs-volume-monitor.h \
+gnome-vfs-drive.h \
+gnome-vfs-volume.h \
+gnome-vfs-enum-types.h \
+gnome-vfs-address.h \
+gnome-vfs-dns-sd.h \
+gnome-vfs-mime-info-cache.h \
+gnome-vfs-resolve.h"
+
+GNOME_VFS_MODULE_HEADERS = " \
+gnome-vfs-mime-info.h \
+gnome-vfs-transform.h \
+gnome-vfs-ssl.h \
+gnome-vfs-inet-connection.h \
+gnome-vfs-socket.h \
+gnome-vfs-parse-ls.h \
+gnome-vfs-method.h \
+gnome-vfs-cancellable-ops.h \
+gnome-vfs-module.h \
+gnome-vfs-module-shared.h \
+gnome-vfs-module-callback-module-api.h \
+gnome-vfs-mime.h \
+gnome-vfs-socket-buffer.h"
+
+do_stage() {
+ oe_libinstall -so -C libgnomevfs libgnomevfs-2 ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gnome-vfs-2.0/libgnomevfs
+ for i in ${GNOME_VFS_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/gnome-vfs-2.0/libgnomevfs/; done
+ install -d ${STAGING_INCDIR}/gnome-vfs-module-2.0/libgnomevfs
+ for i in ${GNOME_VFS_MODULE_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/gnome-vfs-module-2.0/libgnomevfs/; done
+}
+
+do_install() {
+ oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" DESTDIR="${D}" install
+}
+
+PACKAGES_DYNAMIC = "gnome-vfs-plugin-*"
+
+python populate_packages_prepend () {
+ print bb.data.getVar('FILES_gnome-vfs', d, 1)
+
+ plugindir = bb.data.expand('${libdir}/gnome-vfs-2.0/modules/', d)
+ do_split_packages(d, plugindir, '^lib(.*)\.so$', 'gnome-vfs-plugin-%s', 'GNOME VFS plugin for %s')
+}
diff --git a/meta/packages/gnome/gnome-vfs-dbus_cvs.bb b/meta/packages/gnome/gnome-vfs-dbus_cvs.bb
new file mode 100755
index 0000000000..9ccd23e414
--- /dev/null
+++ b/meta/packages/gnome/gnome-vfs-dbus_cvs.bb
@@ -0,0 +1,102 @@
+SECTION = "x11/utils"
+DEPENDS = "gtk+ glib-2.0 gconf dbus libxml2 zlib bzip2 gnome-mime-data"
+DESCRIPTION = "Virtual file system library using DBUS for communication."
+LICENSE = "GPLv2"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+PROVIDES = "gnome-vfs"
+RPROVIDES_${PN} = "gnome-vfs"
+RPROVIDES_${PN}-dev = "gnome-vfs-dev"
+RRECOMMENDS_${PN} = "gnome-vfs-plugin-file shared-mime-info"
+
+PV = "2.12.0+cvs${SRCDATE}"
+PR = "r6"
+
+SRC_URI = "svn://anonymous@developer.imendio.com/svn/gnome-vfs-dbus;module=trunk;proto=http \
+ file://no-gtk-doc.patch;patch=1 \
+ file://gconftool-lossage.patch;patch=1 \
+ file://gssapi.patch;patch=1 \
+ file://remove-old-translations.patch;patch=1"
+S = "${WORKDIR}/trunk"
+
+inherit pkgconfig autotools
+
+EXTRA_OECONF = "--with-ipc=dbus --disable-hal --disable-gtk-doc --disable-more-warnings --disable-howl"
+
+FILES_${PN} += " ${libdir}/vfs ${datadir}/dbus-1/services/dbus-vfs-daemon.service"
+FILES_${PN}-dev += " ${libdir}/gnome-vfs-2.0/modules/*.a ${libdir}/gnome-vfs-2.0/modules/*.la ${libdir}/gnome-vfs-2.0/include"
+FILES_${PN}-doc += " ${datadir}/gtk-doc"
+
+# These header lists have been copy-pasted from trunk/libgnomevfs/Makefile.am
+GNOME_VFS_PLATFORM_HEADERS = " \
+ gnome-vfs-file-size.h"
+
+GNOME_VFS_MODULE_HEADERS = " \
+ gnome-vfs-cancellable-ops.h \
+ gnome-vfs-inet-connection.h \
+ gnome-vfs-method.h \
+ gnome-vfs-mime.h \
+ gnome-vfs-mime-info.h \
+ gnome-vfs-module-callback-module-api.h \
+ gnome-vfs-module-shared.h \
+ gnome-vfs-module.h \
+ gnome-vfs-parse-ls.h \
+ gnome-vfs-ssl.h \
+ gnome-vfs-transform.h \
+ gnome-vfs-socket-buffer.h \
+ gnome-vfs-socket.h"
+
+GNOME_VFS_HEADERS = " \
+ gnome-vfs-application-registry.h \
+ gnome-vfs-address.h \
+ gnome-vfs-async-ops.h \
+ gnome-vfs-cancellation.h \
+ gnome-vfs-context.h \
+ gnome-vfs-directory.h \
+ gnome-vfs-dns-sd.h \
+ gnome-vfs-drive.h \
+ gnome-vfs-enum-types.h \
+ gnome-vfs-file-info.h \
+ gnome-vfs-file-size.h \
+ gnome-vfs-find-directory.h \
+ gnome-vfs-handle.h \
+ gnome-vfs-init.h \
+ gnome-vfs-job-limit.h \
+ gnome-vfs-mime-deprecated.h \
+ gnome-vfs-mime-handlers.h \
+ gnome-vfs-mime-info-cache.h \
+ gnome-vfs-mime-monitor.h \
+ gnome-vfs-mime-utils.h \
+ gnome-vfs-module-callback.h \
+ gnome-vfs-monitor.h \
+ gnome-vfs-ops.h \
+ gnome-vfs-resolve.h \
+ gnome-vfs-result.h \
+ gnome-vfs-standard-callbacks.h \
+ gnome-vfs-types.h \
+ gnome-vfs-uri.h \
+ gnome-vfs-utils.h \
+ gnome-vfs-volume-monitor.h \
+ gnome-vfs-volume.h \
+ gnome-vfs-xfer.h \
+ gnome-vfs.h"
+
+do_stage() {
+ oe_libinstall -so -C libgnomevfs libgnomevfs-2 ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gnome-vfs-2.0/libgnomevfs
+ for i in ${GNOME_VFS_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/gnome-vfs-2.0/libgnomevfs/; done
+ install -d ${STAGING_INCDIR}/gnome-vfs-module-2.0/libgnomevfs
+ for i in ${GNOME_VFS_MODULE_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/gnome-vfs-module-2.0/libgnomevfs/; done
+ install -d ${STAGING_INCDIR}/include/libgnomevfs
+ for i in ${GNOME_VFS_PLATFORM_HEADERS}; do install -m 0644 libgnomevfs/$i ${STAGING_INCDIR}/include/libgnomevfs/; done
+}
+
+PACKAGES_DYNAMIC = "gnome-vfs-plugin-*"
+
+python populate_packages_prepend () {
+ print bb.data.getVar('FILES_gnome-vfs', d, 1)
+
+ plugindir = bb.data.expand('${libdir}/gnome-vfs-2.0/modules/', d)
+ do_split_packages(d, plugindir, '^lib(.*)\.so$', 'gnome-vfs-plugin-%s',
+'GNOME VFS plugin for %s')
+}
+
diff --git a/meta/packages/gnome/libart-lgpl/Makefile.am.patch b/meta/packages/gnome/libart-lgpl/Makefile.am.patch
new file mode 100644
index 0000000000..749de32e2a
--- /dev/null
+++ b/meta/packages/gnome/libart-lgpl/Makefile.am.patch
@@ -0,0 +1,13 @@
+--- libart_lgpl-2.3.16/Makefile.am.old 2004-06-26 18:57:07.000000000 +0100
++++ libart_lgpl-2.3.16/Makefile.am 2004-06-26 18:57:12.000000000 +0100
+@@ -5,8 +5,8 @@
+
+ BUILT_SOURCES = art_config.h
+
+-art_config.h: gen_art_config
+- ./gen_art_config > art_config.h
++#art_config.h: gen_art_config
++# ./gen_art_config > art_config.h
+
+ EXTRA_DIST = \
+ libart-config.in \
diff --git a/meta/packages/gnome/libart-lgpl/arm/art_config.h b/meta/packages/gnome/libart-lgpl/arm/art_config.h
new file mode 100644
index 0000000000..b0e74ad6ae
--- /dev/null
+++ b/meta/packages/gnome/libart-lgpl/arm/art_config.h
@@ -0,0 +1,10 @@
+/* Automatically generated by gen_art_config.c */
+
+#define ART_SIZEOF_CHAR 1
+#define ART_SIZEOF_SHORT 2
+#define ART_SIZEOF_INT 4
+#define ART_SIZEOF_LONG 4
+
+typedef unsigned char art_u8;
+typedef unsigned short art_u16;
+typedef unsigned int art_u32;
diff --git a/meta/packages/gnome/libart-lgpl/i386/art_config.h b/meta/packages/gnome/libart-lgpl/i386/art_config.h
new file mode 100644
index 0000000000..b0e74ad6ae
--- /dev/null
+++ b/meta/packages/gnome/libart-lgpl/i386/art_config.h
@@ -0,0 +1,10 @@
+/* Automatically generated by gen_art_config.c */
+
+#define ART_SIZEOF_CHAR 1
+#define ART_SIZEOF_SHORT 2
+#define ART_SIZEOF_INT 4
+#define ART_SIZEOF_LONG 4
+
+typedef unsigned char art_u8;
+typedef unsigned short art_u16;
+typedef unsigned int art_u32;
diff --git a/meta/packages/gnome/libart-lgpl/i586/art_config.h b/meta/packages/gnome/libart-lgpl/i586/art_config.h
new file mode 100644
index 0000000000..b0e74ad6ae
--- /dev/null
+++ b/meta/packages/gnome/libart-lgpl/i586/art_config.h
@@ -0,0 +1,10 @@
+/* Automatically generated by gen_art_config.c */
+
+#define ART_SIZEOF_CHAR 1
+#define ART_SIZEOF_SHORT 2
+#define ART_SIZEOF_INT 4
+#define ART_SIZEOF_LONG 4
+
+typedef unsigned char art_u8;
+typedef unsigned short art_u16;
+typedef unsigned int art_u32;
diff --git a/meta/packages/gnome/libart-lgpl/i686/art_config.h b/meta/packages/gnome/libart-lgpl/i686/art_config.h
new file mode 100644
index 0000000000..b0e74ad6ae
--- /dev/null
+++ b/meta/packages/gnome/libart-lgpl/i686/art_config.h
@@ -0,0 +1,10 @@
+/* Automatically generated by gen_art_config.c */
+
+#define ART_SIZEOF_CHAR 1
+#define ART_SIZEOF_SHORT 2
+#define ART_SIZEOF_INT 4
+#define ART_SIZEOF_LONG 4
+
+typedef unsigned char art_u8;
+typedef unsigned short art_u16;
+typedef unsigned int art_u32;
diff --git a/meta/packages/gnome/libart-lgpl_2.3.16.bb b/meta/packages/gnome/libart-lgpl_2.3.16.bb
new file mode 100644
index 0000000000..8028c8ef3f
--- /dev/null
+++ b/meta/packages/gnome/libart-lgpl_2.3.16.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "Library of functions for 2D graphics"
+SECTION = "x11/gnome"
+LICENSE = "LGPL"
+PR = "r2"
+ART_CONFIG = "${HOST_ARCH}/art_config.h"
+
+# can't use gnome.oeclass due to _ in filename
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libart_lgpl/2.3/libart_lgpl-${PV}.tar.bz2 \
+ file://${ART_CONFIG} \
+ file://Makefile.am.patch;patch=1"
+
+inherit autotools pkgconfig
+
+DEPENDS = ""
+
+FILES_${PN} = "${libdir}/*.so.*"
+FILES_${PN}-dev += "${bindir}/libart2-config"
+
+S = "${WORKDIR}/libart_lgpl-${PV}"
+
+do_configure_prepend() {
+ cp ${WORKDIR}/${ART_CONFIG} ${S}/art_config.h
+}
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+do_stage() {
+ autotools_stage_includes
+ oe_libinstall -a -so libart_lgpl_2 ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/gnome/libgnomecanvas_2.6.1.1.bb b/meta/packages/gnome/libgnomecanvas_2.6.1.1.bb
new file mode 100644
index 0000000000..5c716855e7
--- /dev/null
+++ b/meta/packages/gnome/libgnomecanvas_2.6.1.1.bb
@@ -0,0 +1,16 @@
+LICENSE = "GPL"
+SECTION = "x11/gnome/libs"
+PR = "r1"
+DESCRIPTION = "A powerful object-oriented display"
+inherit gnome
+
+DEPENDS = "libglade libart-lgpl"
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+FILES_${PN} += "${libdir}/libglade/*/libcanvas.so"
+
+do_stage() {
+ gnome_stage_includes
+ oe_libinstall -C libgnomecanvas -a -so libgnomecanvas-2 ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/gnome/libsoup_2.2.7.bb b/meta/packages/gnome/libsoup_2.2.7.bb
new file mode 100644
index 0000000000..e97a11cc96
--- /dev/null
+++ b/meta/packages/gnome/libsoup_2.2.7.bb
@@ -0,0 +1,18 @@
+LICENSE = "GPL"
+DESCRIPTION = "An HTTP library implementation in C"
+SECTION = "x11/gnome/libs"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${PN}/2.2/${PN}-${PV}.tar.bz2"
+DEPENDS = "glib-2.0 gnutls libxml2"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev = "${includedir} ${libdir}"
+FILES_${PN}-doc = "${datadir}"
+
+do_stage() {
+ autotools_stage_all
+ install -d ${STAGING_DATADIR}/pkgconfig
+ install -m 0644 ${D}${libdir}/pkgconfig/* ${STAGING_DATADIR}/pkgconfig/
+}
diff --git a/meta/packages/gnome/orbit2-2.10.2/configure-lossage.patch b/meta/packages/gnome/orbit2-2.10.2/configure-lossage.patch
new file mode 100644
index 0000000000..7485a0ce0c
--- /dev/null
+++ b/meta/packages/gnome/orbit2-2.10.2/configure-lossage.patch
@@ -0,0 +1,35 @@
+--- orbit/configure.in~ 2004-05-07 09:31:32.000000000 +0100
++++ orbit/configure.in 2004-05-08 19:27:35.000000000 +0100
+@@ -193,19 +193,19 @@
+ dnl So many people with broken linking setups asked about this
+ dnl it turned out to be necessary to check for this.
+ dnl
+-dofus_save_libs="$LIBS"
+-LIBS="$ORBIT_LIBS $LIBS"
+-AC_TRY_RUN([ #include <stdio.h>
+- main ()
+- {
+- return 0;
+- } ],,
+- AC_MSG_ERROR([
+-Linking is badly borked on your system. Please ensure your library path is correct
+-Check config.log for details - check near the end of the log above 'failed program was'
+-Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
+-prefix you're compiling on: '${prefix}' ]))
+-LIBS="$dofus_save_libs"
++dnl dofus_save_libs="$LIBS"
++dnl LIBS="$ORBIT_LIBS $LIBS"
++dnl AC_TRY_RUN([ #include <stdio.h>
++dnl main ()
++dnl {
++dnl return 0;
++dnl } ],,
++dnl AC_MSG_ERROR([
++dnl Linking is badly borked on your system. Please ensure your library path is correct
++dnl Check config.log for details - check near the end of the log above 'failed program was'
++dnl Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the
++dnl prefix you're compiling on: '${prefix}' ]))
++dnl LIBS="$dofus_save_libs"
+
+ orig_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $ORBIT_CFLAGS"
diff --git a/meta/packages/gnome/orbit2-native_2.10.2.bb b/meta/packages/gnome/orbit2-native_2.10.2.bb
new file mode 100644
index 0000000000..69fb3ded32
--- /dev/null
+++ b/meta/packages/gnome/orbit2-native_2.10.2.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "CORBA ORB"
+LICENSE = "LGPL GPL"
+SECTION = "x11/gnome/libs"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.10/ORBit2-${PV}.tar.bz2 \
+ file://configure-lossage.patch;patch=1;pnum=1 \
+ file://gtk-doc.m4 \
+ file://gtk-doc.make"
+DEPENDS = "libidl-native popt-native gtk-doc"
+
+S = "${WORKDIR}/ORBit2-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/orbit2-${PV}"
+
+inherit autotools native pkgconfig
+
+EXTRA_OECONF = "--disable-gtk-doc"
+
+do_configure_prepend() {
+ mkdir -p m4
+ install ${WORKDIR}/gtk-doc.m4 ./m4/
+ install ${WORKDIR}/gtk-doc.make ./
+}
diff --git a/meta/packages/gnome/orbit2_2.10.2.bb b/meta/packages/gnome/orbit2_2.10.2.bb
new file mode 100644
index 0000000000..83d6f0ec15
--- /dev/null
+++ b/meta/packages/gnome/orbit2_2.10.2.bb
@@ -0,0 +1,46 @@
+LICENSE = "GPL"
+PR = "r2"
+DESCRIPTION = "CORBA ORB"
+SECTION = "x11/gnome/libs"
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.10/ORBit2-${PV}.tar.bz2 \
+ file://configure-lossage.patch;patch=1;pnum=1 \
+ file://gtk-doc.m4 \
+ file://gtk-doc.make"
+DEPENDS = "libidl popt orbit2-native gtk-doc"
+
+FILES_${PN} += "${libdir}/orbit-2.0/*.so"
+
+S = "${WORKDIR}/ORBit2-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-gtk-doc"
+EXTRA_OEMAKE = "IDL_COMPILER='${STAGING_BINDIR}/orbit-idl-2'"
+
+do_configure_prepend() {
+ mkdir -p m4
+ install ${WORKDIR}/gtk-doc.m4 ./m4/
+ install ${WORKDIR}/gtk-doc.make ./
+}
+
+do_compile_append () {
+ sed 's:^orbit_idl=.*/:orbit_idl=${STAGING_BINDIR}/:' < ORBit-2.0.pc > ORBit-2.0.pc.new
+ mv ORBit-2.0.pc.new ORBit-2.0.pc
+}
+
+do_stage() {
+ oe_libinstall -so -C src/orb libORBit-2 ${STAGING_LIBDIR}
+ oe_libinstall -so -C src/services/name libORBitCosNaming-2 ${STAGING_LIBDIR}
+ oe_libinstall -so -C src/services/imodule libORBit-imodule-2 ${STAGING_LIBDIR}
+ install -m 0644 src/services/name/libname-server-2.a ${STAGING_LIBDIR}/
+
+ for dir in orbit orbit/poa orbit/orb-core orbit/util orbit/dynamic; do
+ install -d ${STAGING_INCDIR}/orbit-2.0/$dir
+ ( cd include/$dir; for i in *.h; do install -m 0644 $i ${STAGING_INCDIR}/orbit-2.0/$dir/$i; done )
+ done
+
+ install -d ${STAGING_INCDIR}/orbit-2.0/ORBitservices
+ install -m 0644 src/services/name/CosNaming.h ${STAGING_INCDIR}/orbit-2.0/ORBitservices/
+ install -m 0644 src/services/name/CosNaming_impl.h ${STAGING_INCDIR}/orbit-2.0/ORBitservices/
+ install -m 0644 src/services/imodule/orbit-imodule.h ${STAGING_INCDIR}/orbit-2.0/ORBitservices/
+}
diff --git a/meta/packages/gnu-config/gnu-config-native_20050701.bb b/meta/packages/gnu-config/gnu-config-native_20050701.bb
new file mode 100644
index 0000000000..7ee47fe5d5
--- /dev/null
+++ b/meta/packages/gnu-config/gnu-config-native_20050701.bb
@@ -0,0 +1,15 @@
+SECTION = "base"
+include gnu-config_${PV}.bb
+
+inherit native
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gnu-config"
+
+do_stage () {
+ install -d ${STAGING_DATADIR}/gnu-config
+ cat ${WORKDIR}/gnu-configize.in | \
+ sed -e 's,@gnu-configdir@,${STAGING_DATADIR}/gnu-config,' \
+ -e 's,@autom4te_perllibdir@,${STAGING_DATADIR}/autoconf,' > ${STAGING_BINDIR}/gnu-configize
+ chmod 755 ${STAGING_BINDIR}/gnu-configize
+ install -m 0644 config.guess config.sub ${STAGING_DATADIR}/gnu-config/
+}
diff --git a/meta/packages/gnu-config/gnu-config/config-guess-uclibc.patch b/meta/packages/gnu-config/gnu-config/config-guess-uclibc.patch
new file mode 100644
index 0000000000..b322157e9b
--- /dev/null
+++ b/meta/packages/gnu-config/gnu-config/config-guess-uclibc.patch
@@ -0,0 +1,155 @@
+Patch courtesy gentoo-portage/sys-devel/gnuconfig/files/automake-1.8.5-config-guess-uclibc.patch.
+
+updated to 20050516 by Marcin 'Hrw' Juszkiewicz (by hand)
+
+Index: config/config.guess
+===================================================================
+--- config.guess.original 2005-05-16 13:43:19 +0200
++++ config.guess 2005-05-16 13:45:26 +0200
+@@ -138,6 +138,19 @@
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
++# Detect uclibc systems.
++
++LIBC="gnu"
++if [ -f /usr/include/bits/uClibc_config.h ]
++then
++ LIBC=uclibc
++ if [ -n `grep "#define __UCLIBC_CONFIG_VERSION__" /usr/include/bits/uClibc_config.h` ]
++ then
++ UCLIBC_SUBVER=`sed -n "/#define __UCLIBC_CONFIG_VERSION__ /s///p" /usr/include/bits/uClibc_config.h`
++ LIBC=$LIBC$UCLIBC_SUBVER
++ fi
++fi
++
+ # Note: order is significant - the case branches are not exclusive.
+
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+@@ -847,7 +860,7 @@
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ arm*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+@@ -856,16 +869,16 @@
+ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+- echo frv-unknown-linux-gnu
++ echo frv-unknown-linux-${LIBC}
+ exit ;;
+ ia64:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m32r*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m68*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+@@ -884,7 +897,7 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ mips64:Linux:*:*)
+ eval $set_cc_for_build
+@@ -903,13 +916,13 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ ppc:Linux:*:*)
+- echo powerpc-unknown-linux-gnu
++ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64:Linux:*:*)
+- echo powerpc64-unknown-linux-gnu
++ echo powerpc64-unknown-linux-${LIBC}
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+@@ -922,34 +935,34 @@
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
++ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+- PA7*) echo hppa1.1-unknown-linux-gnu ;;
+- PA8*) echo hppa2.0-unknown-linux-gnu ;;
+- *) echo hppa-unknown-linux-gnu ;;
++ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
++ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
++ *) echo hppa-unknown-linux-${LIBC} ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+- echo hppa64-unknown-linux-gnu
++ echo hppa64-unknown-linux-${LIBC}
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sh*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-gnu
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ x86_64:Linux:*:*)
+- echo x86_64-unknown-linux-gnu
++ echo x86_64-unknown-linux-${LIBC}
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+@@ -964,20 +977,21 @@
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
++ TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
+ ;;
+ a.out-i386-linux)
+- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout"
+ exit ;;
+ coff-i386)
+- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff"
+ exit ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
++ echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld"
+ exit ;;
+ esac
++ if [ $LIBC != "gnu" -o $LIBC != "gnulibc1" ];then echo "$TENTATIVE" && exit; fi
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
diff --git a/meta/packages/gnu-config/gnu-config/gnu-configize.in b/meta/packages/gnu-config/gnu-config/gnu-configize.in
new file mode 100755
index 0000000000..be8580c8e6
--- /dev/null
+++ b/meta/packages/gnu-config/gnu-config/gnu-configize.in
@@ -0,0 +1,267 @@
+#! /usr/bin/perl -w
+# -*- perl -*-
+
+eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac'
+ if 0;
+
+# gnu-configize - install the GNU config.guess / config.sub in a directory tree
+# Based on autoreconf:
+# Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003
+# 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 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+BEGIN
+{
+ my $datadir = $ENV{'autom4te_perllibdir'} || '@autom4te_perllibdir@';
+# '/home/kergoth/code/build-arm/tmp/staging/share/autoconf';
+ unshift @INC, $datadir;
+
+ # Override SHELL. On DJGPP SHELL may not be set to a shell
+ # that can handle redirection and quote arguments correctly,
+ # e.g.: COMMAND.COM. For DJGPP always use the shell that configure
+ # has detected.
+ $ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos');
+}
+
+use Autom4te::ChannelDefs;
+use Autom4te::Channels;
+use Autom4te::Configure_ac;
+use Autom4te::FileUtils;
+use Autom4te::General;
+use Autom4te::XFile;
+# Do not use Cwd::chdir, since it might hang.
+use Cwd 'cwd';
+use strict;
+
+## ----------- ##
+## Variables. ##
+## ----------- ##
+
+# $HELP
+# -----
+$help = "Usage: $0 [OPTION] ... [CONFIGURE-AC or DIRECTORY] ...
+
+Install the GNU config.sub and config.guess scripts in the
+DIRECTORIES or the directory trees driven by CONFIGURE-AC
+(defaulting to `.').
+
+Operation modes:
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -v, --verbose verbosely report processing
+ -f, --force consider all files obsolete
+ -s, --symlink install symbolic links instead of copies
+ -W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax]
+
+" . Autom4te::ChannelDefs::usage . "
+
+The environment variable \`WARNINGS\' is honored. Some subtools might
+support other warning types, using \`all' is encouraged.
+";
+
+# $VERSION
+# --------
+$version = "gnu-configize 1.0
+
+Copyright (C) 2004 Chris Larson
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+";
+
+my $configdir = '@gnu-configdir@';
+#'/home/kergoth/code/build-arm/tmp/staging/i686-linux/share/gnu-config';
+my $autoconf = $ENV{'AUTOCONF'} || 'autoconf';
+
+# use symlinks instead.
+my $symlink = 0;
+
+my $configure_ac;
+
+my $rm = "rm -f";
+my $ln_s = "ln -sf";
+my $cp = "cp -f";
+my $mkdir = "mkdir";
+my $chmod = "chmod";
+
+## ---------- ##
+## Routines. ##
+## ---------- ##
+
+
+# parse_args ()
+# -------------
+# Process any command line arguments.
+sub parse_args ()
+{
+ my $srcdir;
+
+ getopt ('s|symlink' => \$symlink);
+
+ # Even if the user specified a configure.ac, trim to get the
+ # directory, and look for configure.ac again. Because (i) the code
+ # is simpler, and (ii) we are still able to diagnose simultaneous
+ # presence of configure.ac and configure.in.
+ @ARGV = map { /configure\.(ac|in)$/ ? dirname ($_) : $_ } @ARGV;
+ push @ARGV, '.' unless @ARGV;
+}
+
+
+# &gnu_configize_current_directory
+# -----------------------------
+sub gnu_configize_current_directory ()
+{
+ my $configure_ac = require_configure_ac;
+
+ # ---------------------- #
+ # Is it using Autoconf? #
+ # ---------------------- #
+
+ my $uses_autoconf;
+ my $uses_gettext;
+ my $configure_ac_file = new Autom4te::XFile $configure_ac;
+ while ($_ = $configure_ac_file->getline)
+ {
+ s/#.*//;
+ s/dnl.*//;
+ $uses_autoconf = 1 if /AC_INIT/;
+ }
+
+ if (!$uses_autoconf)
+ {
+ verb "$configure_ac: not using Autoconf";
+ return;
+ }
+
+ my $aux_dir;
+ my @subdir;
+ my $cmd;
+ my $dest;
+
+ verb "$configure_ac: tracing";
+ my $traces = new Autom4te::XFile
+ ("$autoconf"
+ . join (' --trace=', '',
+ # If you change this list, update the
+ # `Autoreconf-preselections' section of autom4te.in.
+ 'AC_CONFIG_AUX_DIR:AC_CONFIG_AUX_DIR:\$1',
+ 'AC_CONFIG_SUBDIRS:AC_CONFIG_SUBDIRS:\$1',
+ 'AC_INIT',
+ )
+ . ' |');
+ while ($_ = $traces->getline)
+ {
+ $aux_dir = $1 if /AC_CONFIG_AUX_DIR:(.*)/;
+ $uses_autoconf = 1 if /AC_INIT/;
+ push @subdir, split (' ', $1) if /AC_CONFIG_SUBDIRS:(.*)/;
+ }
+
+ # The subdirs are *optional*, they may not exist.
+ foreach (@subdir)
+ {
+ if (-d)
+ {
+ verb "$configure_ac: subdirectory $_ to gnu-configize";
+ gnu_configize ($_);
+ }
+ else
+ {
+ verb "$configure_ac: subdirectory $_ not present";
+ }
+ }
+
+ $dest = ".";
+
+ if (defined $aux_dir)
+ {
+ $dest = $aux_dir;
+ if (! -d $aux_dir)
+ {
+ verb "$configure_ac: creating directory $aux_dir";
+ mkdir $aux_dir
+ or error "cannot create $aux_dir: $!";
+ }
+ }
+
+ if (!$symlink)
+ {
+ $cmd = $cp;
+ }
+ else
+ {
+ $cmd = $ln_s;
+ }
+
+ xsystem ("$cmd $configdir/config.guess $dest/");
+ xsystem ("$chmod u+x $dest/config.guess");
+ xsystem ("$cmd $configdir/config.sub $dest/");
+ xsystem ("$chmod u+x $dest/config.sub");
+}
+
+
+# &gnu_configize ($DIRECTORY)
+# ------------------------
+# Reconf the $DIRECTORY.
+sub gnu_configize ($)
+{
+ my ($directory) = @_;
+ my $cwd = cwd;
+
+ # The format for this message is not free: taken from Emacs, itself
+ # using GNU Make's format.
+ verb "Entering directory `$directory'";
+ chdir $directory
+ or error "cannot chdir to $directory: $!";
+
+ gnu_configize_current_directory;
+
+ # The format is not free: taken from Emacs, itself using GNU Make's
+ # format.
+ verb "Leaving directory `$directory'";
+ chdir $cwd
+ or error "cannot chdir to $cwd: $!";
+}
+
+
+## ------ ##
+## Main. ##
+## ------ ##
+
+parse_args;
+
+# Autoreconf all the given configure.ac. A while loop, not a for,
+# since the list can change at runtime because of AC_CONFIG_SUBDIRS.
+for my $directory (@ARGV)
+ {
+ gnu_configize ($directory);
+ }
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
diff --git a/meta/packages/gnu-config/gnu-config/uclibc.patch b/meta/packages/gnu-config/gnu-config/uclibc.patch
new file mode 100644
index 0000000000..20a3b11f2f
--- /dev/null
+++ b/meta/packages/gnu-config/gnu-config/uclibc.patch
@@ -0,0 +1,21 @@
+--- config.sub.orig 2004-05-14 19:38:36.000000000 -0500
++++ config.sub 2004-05-14 19:39:17.000000000 -0500
+@@ -118,7 +118,7 @@
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+- nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
++ nto-qnx* | linux-gnu* | linux-uclibc* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+@@ -1135,7 +1135,8 @@
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
++ | -mingw32* | -linux-gnu* | -linux-uclibc* \
++ | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
diff --git a/meta/packages/gnu-config/gnu-config_20050701.bb b/meta/packages/gnu-config/gnu-config_20050701.bb
new file mode 100644
index 0000000000..2066014adf
--- /dev/null
+++ b/meta/packages/gnu-config/gnu-config_20050701.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "gnu-configize"
+SECTION = "base"
+LICENSE = "GPL"
+DEPENDS = ""
+INHIBIT_DEFAULT_DEPS = "1"
+
+FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
+PV = "0.1+cvs${FIXEDSRCDATE}"
+PR = "r4"
+
+SRC_URI = "cvs://anonymous@cvs.sv.gnu.org/cvsroot/config;module=config;method=pserver;date=${FIXEDSRCDATE} \
+ file://config-guess-uclibc.patch;patch=1 \
+ file://gnu-configize.in"
+S = "${WORKDIR}/config"
+
+do_compile() {
+ :
+}
+
+do_install () {
+ install -d ${D}${datadir}/gnu-config \
+ ${D}${bindir}
+ cat ${WORKDIR}/gnu-configize.in | \
+ sed -e 's,@gnu-configdir@,${datadir}/gnu-config,g' \
+ -e 's,@autom4te_perllibdir@,${datadir}/autoconf,g' \
+ -e 's,/usr/bin/perl,${bindir}/perl,g' > ${D}${bindir}/gnu-configize
+ chmod 755 ${D}${bindir}/gnu-configize
+ install -m 0644 config.guess config.sub ${D}${datadir}/gnu-config/
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} = "${bindir} ${datadir}/gnu-config"
diff --git a/meta/packages/gnutls/gnutls-1.0.25/export-symbols.patch b/meta/packages/gnutls/gnutls-1.0.25/export-symbols.patch
new file mode 100644
index 0000000000..22a1373944
--- /dev/null
+++ b/meta/packages/gnutls/gnutls-1.0.25/export-symbols.patch
@@ -0,0 +1,11 @@
+--- gnutls-1.0.23/lib/Makefile.am.orig 2005-06-04 13:46:26.000000000 +0200
++++ gnutls-1.0.23/lib/Makefile.am 2005-06-04 13:48:38.000000000 +0200
+@@ -9,7 +9,7 @@
+ pkgconfig_DATA = gnutls.pc
+ DISTCLEANFILES = $(pkgconfig_DATA)
+
+-LIBGNUTLS_EXPORTS = -export-symbols-regex '^(_gnutls|gnutls|_E_).*'
++LIBGNUTLS_EXPORTS = -export-symbols-regex '^(asn1_|_gnutls|gnutls|_E_).*'
+
+ DIST_SUBDIRS = minitasn1 x509
+ if ENABLE_MINITASN1
diff --git a/meta/packages/gnutls/gnutls-1.0.25/gnutls-openssl.patch b/meta/packages/gnutls/gnutls-1.0.25/gnutls-openssl.patch
new file mode 100644
index 0000000000..3ddd8b3a18
--- /dev/null
+++ b/meta/packages/gnutls/gnutls-1.0.25/gnutls-openssl.patch
@@ -0,0 +1,126 @@
+--- clean/gnutls-1.0.23/libextra/gnutls_openssl.c 2004-08-04 22:36:03.000000000 +0100
++++ gnutls-1.0.23/libextra/gnutls_openssl.c 2005-01-02 19:50:49.000000000 +0000
+@@ -31,7 +31,6 @@
+
+ static int last_error = 0;
+
+-
+ /* Library initialisation functions */
+
+ int SSL_library_init(void)
+@@ -219,12 +218,17 @@
+
+ ssl->rfd = (gnutls_transport_ptr)-1;
+ ssl->wfd = (gnutls_transport_ptr)-1;
++
++ ssl->ssl_peek_buffer = NULL;
++ ssl->ssl_peek_buffer_size = ssl->ssl_peek_avail = 0;
+
+ return ssl;
+ }
+
+ void SSL_free(SSL *ssl)
+ {
++ if (ssl->ssl_peek_buffer)
++ free(ssl->ssl_peek_buffer);
+ gnutls_certificate_free_credentials(ssl->gnutls_cred);
+ gnutls_deinit(ssl->gnutls_state);
+ free(ssl);
+@@ -245,6 +249,7 @@
+ int SSL_set_fd(SSL *ssl, int fd)
+ {
+ gnutls_transport_set_ptr (ssl->gnutls_state, (gnutls_transport_ptr)fd);
++ ssl->rfd = ssl->wfd = fd;
+ return 1;
+ }
+
+@@ -268,6 +273,16 @@
+ return 1;
+ }
+
++int SSL_get_rfd(SSL *ssl)
++{
++ return ssl->rfd;
++}
++
++int SSL_get_wfd(SSL *ssl)
++{
++ return ssl->wfd;
++}
++
+ void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio)
+ {
+ gnutls_transport_set_ptr2 (ssl->gnutls_state, rbio->fd, wbio->fd);
+@@ -280,6 +295,9 @@
+
+ int SSL_pending(SSL *ssl)
+ {
++ if (ssl->ssl_peek_avail)
++ return ssl->ssl_peek_avail;
++
+ return gnutls_record_check_pending(ssl->gnutls_state);
+ }
+
+@@ -430,10 +448,49 @@
+ return 1;
+ }
+
++int SSL_peek(SSL *ssl, void *buf, int len)
++{
++ if (len > ssl->ssl_peek_buffer_size) {
++ ssl->ssl_peek_buffer = realloc (ssl->ssl_peek_buffer, len);
++ ssl->ssl_peek_buffer_size = len;
++ }
++
++ if (ssl->ssl_peek_avail == 0) {
++
++ int ret;
++
++ ret = gnutls_record_recv(ssl->gnutls_state, ssl->ssl_peek_buffer, len);
++ ssl->last_error = ret;
++
++ if (ret > 0)
++ ssl->ssl_peek_avail += ret;
++ }
++
++ if (len > ssl->ssl_peek_avail)
++ len = ssl->ssl_peek_avail;
++
++ memcpy (buf, ssl->ssl_peek_buffer, len);
++
++ return len;
++}
++
+ int SSL_read(SSL *ssl, void *buf, int len)
+ {
+ int ret;
+
++ if (ssl->ssl_peek_avail) {
++ int n = (ssl->ssl_peek_avail > len) ? len : ssl->ssl_peek_avail;
++
++ memcpy (buf, ssl->ssl_peek_buffer, n);
++
++ if (ssl->ssl_peek_avail > n)
++ memmove (ssl->ssl_peek_buffer, ssl->ssl_peek_buffer + n, ssl->ssl_peek_avail - n);
++
++ ssl->ssl_peek_avail -= n;
++
++ return n;
++ }
++
+ ret = gnutls_record_recv(ssl->gnutls_state, buf, len);
+ ssl->last_error = ret;
+
+--- clean/gnutls-1.0.23/includes/gnutls/openssl.h 2004-08-04 22:36:02.000000000 +0100
++++ gnutls-1.0.23/includes/gnutls/openssl.h 2005-01-02 19:48:35.000000000 +0000
+@@ -139,6 +139,10 @@
+
+ gnutls_transport_ptr rfd;
+ gnutls_transport_ptr wfd;
++
++ char *ssl_peek_buffer;
++ size_t ssl_peek_buffer_size;
++ size_t ssl_peek_avail;
+ } SSL;
+
+ typedef struct
diff --git a/meta/packages/gnutls/gnutls_1.0.25.bb b/meta/packages/gnutls/gnutls_1.0.25.bb
new file mode 100644
index 0000000000..3b169317de
--- /dev/null
+++ b/meta/packages/gnutls/gnutls_1.0.25.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "GNU Transport Layer Security Library"
+DEPENDS = "zlib libgcrypt"
+
+LICENSE = "LGPL"
+
+SRC_URI = "ftp://ftp.gnutls.org/pub/gnutls/gnutls-${PV}.tar.gz \
+ file://gnutls-openssl.patch;patch=1 \
+ file://export-symbols.patch;patch=1"
+
+inherit autotools
+inherit binconfig
+
+PACKAGES =+ "${PN}-openssl ${PN}-extra ${PN}-bin"
+FILES_${PN}-openssl = "${libdir}/libgnutls-openssl.so.*"
+FILES_${PN}-extra = "${libdir}/libgnutls-extra.so.*"
+FILES_${PN} = "${libdir}/libgnutls.so.*"
+FILES_${PN}-bin = "${bindir}/gnutls-serv ${bindir}/gnutls-cli \
+ ${bindir}/srptool ${bindir}/certtool ${bindir}/gnutls-srpcrypt"
+FILES_${PN}-dev += "${bindir}/*-config ${bindir}/gnutls-cli-debug"
+
+EXTRA_OECONF="--with-included-opencdk --with-included-libtasn1"
+
+do_stage() {
+ oe_libinstall -C lib/.libs -so -a libgnutls ${STAGING_LIBDIR}
+ oe_libinstall -C libextra/.libs -so -a libgnutls-extra ${STAGING_LIBDIR}
+ oe_libinstall -C libextra/.libs -so -a libgnutls-openssl ${STAGING_LIBDIR}
+ autotools_stage_includes
+}
+
diff --git a/meta/packages/gtk+/files/migration.patch b/meta/packages/gtk+/files/migration.patch
new file mode 100644
index 0000000000..f4c7f853ad
--- /dev/null
+++ b/meta/packages/gtk+/files/migration.patch
@@ -0,0 +1,619 @@
+Index: configure.in
+===================================================================
+RCS file: /cvs/gnome/gtk+/configure.in,v
+retrieving revision 1.419.2.4
+diff -u -r1.419.2.4 configure.in
+--- configure.in 8 Feb 2005 21:39:42 -0000 1.419.2.4
++++ configure.in 27 Feb 2005 13:10:16 -0000
+@@ -1495,6 +1495,16 @@
+ GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+ GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+
++AC_ARG_ENABLE(display-migration,
++ [AC_HELP_STRING([--enable-display-migration],
++ [include support for GPE_CHANGE_DISPLAY protocol])],
++ enable_migration=yes, enable_migration=no)
++if test "$enable_migration" = "yes"; then
++ AC_DEFINE([ENABLE_MIGRATION], 1, [Define if display migration is enabled])
++ GTK_DEP_LIBS="$GTK_DEP_LIBS -lgcrypt"
++fi
++AM_CONDITIONAL(ENABLE_MIGRATION, test $enable_migration = "yes")
++
+ AC_SUBST(GTK_PACKAGES)
+ AC_SUBST(GTK_EXTRA_LIBS)
+ AC_SUBST(GTK_EXTRA_CFLAGS)
+Index: gtk/Makefile.am
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/Makefile.am,v
+retrieving revision 1.266.2.1
+diff -u -r1.266.2.1 Makefile.am
+--- gtk/Makefile.am 13 Jan 2005 15:18:21 -0000 1.266.2.1
++++ gtk/Makefile.am 27 Feb 2005 13:10:17 -0000
+@@ -520,6 +520,10 @@
+ gtkwindow.c \
+ xembed.h
+
++if ENABLE_MIGRATION
++gtk_c_sources += gtkmigration.c
++endif
++
+ if OS_UNIX
+ gtk_private_h_sources += gtkfilesystemunix.h
+ gtk_c_sources += gtkfilesystemunix.c
+Index: gtk/gtkmain.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkmain.c,v
+retrieving revision 1.255
+diff -u -r1.255 gtkmain.c
+--- gtk/gtkmain.c 27 Dec 2004 05:25:15 -0000 1.255
++++ gtk/gtkmain.c 27 Feb 2005 13:10:19 -0000
+@@ -491,6 +491,10 @@
+ _gtk_accel_map_init ();
+ _gtk_rc_init ();
+
++#ifdef ENABLE_MIGRATION
++ gtk_migration_init ();
++#endif
++
+ /* Set the 'initialized' flag.
+ */
+ gtk_initialized = TRUE;
+Index: gtk/gtkwindow.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkwindow.c,v
+retrieving revision 1.281.2.4
+diff -u -r1.281.2.4 gtkwindow.c
+--- gtk/gtkwindow.c 21 Feb 2005 04:21:49 -0000 1.281.2.4
++++ gtk/gtkwindow.c 27 Feb 2005 13:10:56 -0000
+@@ -731,6 +731,8 @@
+ add_tab_bindings (binding_set, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_DIR_TAB_BACKWARD);
+ }
+
++extern void gtk_migration_mark_window (GtkWidget *w);
++
+ static void
+ gtk_window_init (GtkWindow *window)
+ {
+@@ -790,6 +792,10 @@
+ "event",
+ G_CALLBACK (gtk_window_event),
+ NULL);
++
++#ifdef ENABLE_MIGRATION
++ gtk_migration_mark_window (window);
++#endif
+ }
+
+ static void
+--- /dev/null 2005-02-20 01:07:50.714416160 +0000
++++ gtk/gtkmigration.c 2005-02-27 15:05:04.052757352 +0000
+@@ -0,0 +1,529 @@
++/*
++ * Copyright (C) 2003, 2005 Philip Blundell <philb@gnu.org>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version
++ * 2 of the License, or (at your option) any later version.
++ */
++
++#include <stdlib.h>
++#include <ctype.h>
++#include <libintl.h>
++#include <string.h>
++#include <assert.h>
++
++#include <X11/X.h>
++#include <X11/Xlib.h>
++#include <X11/Xatom.h>
++
++#include <gcrypt.h>
++
++#include "gtk.h"
++#include "gdk.h"
++#include "x11/gdkx.h"
++
++#define _(x) gettext(x)
++
++static GdkAtom string_gdkatom, display_change_gdkatom;
++static GdkAtom rsa_challenge_gdkatom;
++
++#define DISPLAY_CHANGE_SUCCESS 0
++#define DISPLAY_CHANGE_UNABLE_TO_CONNECT 1
++#define DISPLAY_CHANGE_NO_SUCH_SCREEN 2
++#define DISPLAY_CHANGE_AUTHENTICATION_BAD 3
++#define DISPLAY_CHANGE_INDETERMINATE_ERROR 4
++
++static gboolean no_auth;
++
++static GSList *all_widgets;
++
++static gboolean gtk_migration_initialised;
++
++#define CHALLENGE_LEN 64
++
++gchar *gtk_migration_auth_challenge_string;
++
++static unsigned char challenge_bytes[CHALLENGE_LEN];
++static unsigned long challenge_seq;
++
++#define hexbyte(x) ((x) >= 10 ? (x) + 'a' - 10 : (x) + '0')
++
++struct rsa_key
++{
++ gcry_mpi_t n, e, d, p, q, u;
++};
++
++static gcry_mpi_t
++mpi_from_sexp (gcry_sexp_t r, char *tag)
++{
++ gcry_sexp_t s = gcry_sexp_find_token (r, tag, 0);
++ return gcry_sexp_nth_mpi (s, 1, GCRYMPI_FMT_USG);
++}
++
++static char *
++hex_from_mpi (gcry_mpi_t m)
++{
++ char *buf;
++ gcry_mpi_aprint (GCRYMPI_FMT_HEX, (void *)&buf, NULL, m);
++ return buf;
++}
++
++static void
++gtk_migration_crypt_create_hash (char *display, char *challenge, size_t len, char *result)
++{
++ size_t dlen = strlen (display);
++ gchar *buf = g_malloc (dlen + 1 + len);
++ strcpy (buf, display);
++ memcpy (buf + dlen + 1, challenge, len);
++ gcry_md_hash_buffer (GCRY_MD_SHA1, result, buf, len + dlen + 1);
++ g_free (buf);
++}
++
++static int
++do_encode_md (const unsigned char *digest, size_t digestlen, int algo,
++ unsigned int nbits, gcry_mpi_t *r_val)
++{
++ int nframe = (nbits+7) / 8;
++ unsigned char *frame;
++ int i, n;
++ unsigned char asn[100];
++ size_t asnlen;
++
++ asnlen = sizeof(asn);
++ if (gcry_md_algo_info (algo, GCRYCTL_GET_ASNOID, asn, &asnlen))
++ return -1;
++
++ if (digestlen + asnlen + 4 > nframe )
++ return -1;
++
++ /* We encode the MD in this way:
++ *
++ * 0 1 PAD(n bytes) 0 ASN(asnlen bytes) MD(len bytes)
++ *
++ * PAD consists of FF bytes.
++ */
++ frame = g_malloc (nframe);
++ n = 0;
++ frame[n++] = 0;
++ frame[n++] = 1; /* block type */
++ i = nframe - digestlen - asnlen -3 ;
++ assert ( i > 1 );
++ memset ( frame+n, 0xff, i ); n += i;
++ frame[n++] = 0;
++ memcpy ( frame+n, asn, asnlen ); n += asnlen;
++ memcpy ( frame+n, digest, digestlen ); n += digestlen;
++ assert ( n == nframe );
++
++ gcry_mpi_scan (r_val, GCRYMPI_FMT_USG, frame, nframe, &nframe);
++ g_free (frame);
++ return 0;
++}
++
++static gboolean
++gtk_migration_crypt_check_signature (struct rsa_key *k, char *hash, char *sigbuf)
++{
++ gcry_mpi_t mpi, mpi2;
++ gcry_sexp_t data, sig, key;
++ int rc;
++
++ do_encode_md (hash, 20, GCRY_MD_SHA1, 1024, &mpi);
++
++ gcry_sexp_build (&data, NULL, "(data (value %m))", mpi);
++
++ gcry_mpi_release (mpi);
++
++ gcry_sexp_build (&key, NULL, "(public-key (rsa (n %m) (e %m)))", k->n, k->e);
++
++ if (gcry_mpi_scan (&mpi2, GCRYMPI_FMT_HEX, sigbuf, 0, NULL))
++ {
++ gcry_sexp_release (data);
++ return FALSE;
++ }
++
++ gcry_sexp_build (&sig, NULL, "(sig-val (rsa (s %m)))", mpi2);
++
++ rc = gcry_pk_verify (sig, data, key);
++
++ gcry_sexp_release (data);
++ gcry_sexp_release (key);
++ gcry_sexp_release (sig);
++ gcry_mpi_release (mpi2);
++
++ if (rc)
++ return FALSE;
++
++ return TRUE;
++}
++
++static void
++gtk_migration_auth_update_challenge (void)
++{
++ int i;
++ unsigned char *p;
++
++ if (gtk_migration_auth_challenge_string == NULL)
++ gtk_migration_auth_challenge_string = g_malloc ((CHALLENGE_LEN * 2) + 9);
++
++ p = gtk_migration_auth_challenge_string;
++
++ for (i = 0; i < CHALLENGE_LEN; i++)
++ {
++ *p++ = hexbyte (challenge_bytes[i] >> 4);
++ *p++ = hexbyte (challenge_bytes[i] & 15);
++ }
++
++ sprintf (p, "%08lx", challenge_seq++);
++}
++
++static void
++gtk_migration_auth_generate_challenge (void)
++{
++ gcry_randomize (challenge_bytes, sizeof (challenge_bytes), GCRY_STRONG_RANDOM);
++ gtk_migration_auth_update_challenge ();
++}
++
++static struct rsa_key *
++parse_pubkey (char *s)
++{
++ struct rsa_key *r;
++ gcry_mpi_t n, e;
++ gchar *sp;
++
++ sp = strtok (s, " \n");
++ gcry_mpi_scan (&e, GCRYMPI_FMT_HEX, sp, 0, NULL);
++ sp = strtok (NULL, " \n");
++ gcry_mpi_scan (&n, GCRYMPI_FMT_HEX, sp, 0, NULL);
++
++ r = g_malloc0 (sizeof (struct rsa_key));
++ r->e = e;
++ r->n = n;
++ return r;
++}
++
++static struct rsa_key *
++lookup_pubkey (u_int32_t id)
++{
++ const gchar *home_dir = g_get_home_dir ();
++ gchar *filename = g_strdup_printf ("%s/.gpe/migrate/public", home_dir);
++ FILE *fp = fopen (filename, "r");
++ struct rsa_key *r = NULL;
++
++ if (fp)
++ {
++ while (!feof (fp))
++ {
++ char buffer[4096];
++ if (fgets (buffer, 4096, fp))
++ {
++ char *p;
++ u_int32_t this_id = strtoul (buffer, &p, 16);
++ if (p != buffer && *p == ' ')
++ {
++#ifdef DEBUG
++ fprintf (stderr, "found id %x\n", this_id);
++#endif
++ if (this_id == id)
++ {
++ r = parse_pubkey (++p);
++ break;
++ }
++ }
++ }
++ }
++ fclose (fp);
++ }
++
++ g_free (filename);
++ return r;
++}
++
++static void
++free_pubkey (struct rsa_key *k)
++{
++ gcry_mpi_release (k->n);
++ gcry_mpi_release (k->e);
++
++ g_free (k);
++}
++
++static gboolean
++gtk_migration_auth_validate_request (char *display, char *data)
++{
++ u_int32_t key_id;
++ char *ep;
++ char *p;
++ struct rsa_key *k;
++ char hash[20];
++ gboolean rc;
++
++ p = strchr (data, ' ');
++ if (p == NULL)
++ return FALSE;
++ *p++ = 0;
++
++ key_id = strtoul (data, &ep, 16);
++ if (*ep)
++ return FALSE;
++
++ k = lookup_pubkey (key_id);
++ if (k == NULL)
++ return FALSE;
++
++ gtk_migration_crypt_create_hash (display, gtk_migration_auth_challenge_string,
++ strlen (gtk_migration_auth_challenge_string), hash);
++
++ rc = gtk_migration_crypt_check_signature (k, hash, p);
++
++ free_pubkey (k);
++
++ return rc;
++}
++
++static int
++do_change_display (GtkWidget *w, char *display_name)
++{
++ GdkDisplay *newdisplay;
++ guint screen_nr = 1;
++ guint i;
++
++ if (display_name[0] == 0)
++ return DISPLAY_CHANGE_INDETERMINATE_ERROR;
++
++ i = strlen (display_name) - 1;
++ while (i > 0 && isdigit (display_name[i]))
++ i--;
++
++ if (display_name[i] == '.')
++ {
++ screen_nr = atoi (display_name + i + 1);
++ display_name[i] = 0;
++ }
++
++ newdisplay = gdk_display_open (display_name);
++ if (newdisplay)
++ {
++ GdkScreen *screen = gdk_display_get_screen (newdisplay, screen_nr);
++ if (screen)
++ {
++ gtk_window_set_screen (GTK_WINDOW (w), screen);
++ gdk_display_manager_set_default_display (gdk_display_manager_get (),
++ newdisplay);
++ return DISPLAY_CHANGE_SUCCESS;
++ }
++ else
++ return DISPLAY_CHANGE_NO_SUCH_SCREEN;
++ }
++
++ return DISPLAY_CHANGE_UNABLE_TO_CONNECT;
++}
++
++static void
++set_challenge_on_window (GdkWindow *window)
++{
++ gdk_property_change (window, rsa_challenge_gdkatom, string_gdkatom,
++ 8, GDK_PROP_MODE_REPLACE, gtk_migration_auth_challenge_string,
++ strlen (gtk_migration_auth_challenge_string));
++}
++
++static void
++update_challenge_on_windows (void)
++{
++ GSList *i;
++
++ gtk_migration_auth_update_challenge ();
++
++ for (i = all_widgets; i; i = i->next)
++ {
++ GtkWidget *w = GTK_WIDGET (i->data);
++ if (w->window)
++ set_challenge_on_window (w->window);
++ }
++}
++
++static void
++reset_state (GdkWindow *window)
++{
++ gdk_property_change (window, display_change_gdkatom, string_gdkatom,
++ 8, GDK_PROP_MODE_REPLACE, NULL, 0);
++}
++
++static void
++generate_response (GdkDisplay *gdisplay, Display *dpy, Window window, int code)
++{
++ XClientMessageEvent ev;
++ Atom atom = gdk_x11_atom_to_xatom_for_display (gdisplay,
++ display_change_gdkatom);
++
++ memset (&ev, 0, sizeof (ev));
++
++ ev.type = ClientMessage;
++ ev.window = window;
++ ev.message_type = atom;
++ ev.format = 32;
++
++ ev.data.l[0] = window;
++ ev.data.l[1] = code;
++
++ XSendEvent (dpy, DefaultRootWindow (dpy), False, SubstructureNotifyMask, (XEvent *)&ev);
++}
++
++static int
++handle_request (GdkWindow *gwindow, char *prop)
++{
++ GtkWidget *widget;
++ char *target, *auth_method, *auth_data;
++ char *p;
++
++ target = prop;
++ auth_method = "NULL";
++ auth_data = NULL;
++
++ p = strchr (prop, ' ');
++ if (p)
++ {
++ *p = 0;
++ auth_method = ++p;
++
++ p = strchr (p, ' ');
++ if (p)
++ {
++ *p = 0;
++ auth_data = ++p;
++ }
++ }
++
++ if (no_auth == FALSE)
++ {
++ if (!strcasecmp (auth_method, "null"))
++ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
++ else if (!strcasecmp (auth_method, "rsa-sig"))
++ {
++ if (gtk_migration_auth_validate_request (target, auth_data) == FALSE)
++ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
++ }
++ else
++ return DISPLAY_CHANGE_AUTHENTICATION_BAD;
++ }
++
++ gdk_window_get_user_data (gwindow, (gpointer*) &widget);
++
++ if (widget)
++ return do_change_display (widget, target);
++
++ return DISPLAY_CHANGE_INDETERMINATE_ERROR;
++}
++
++static GdkFilterReturn
++filter_func (GdkXEvent *xevp, GdkEvent *ev, gpointer p)
++{
++ XPropertyEvent *xev = (XPropertyEvent *)xevp;
++
++ if (xev->type == PropertyNotify)
++ {
++ GdkDisplay *gdisplay;
++ Atom atom;
++
++ gdisplay = gdk_x11_lookup_xdisplay (xev->display);
++ if (gdisplay)
++ {
++ atom = gdk_x11_atom_to_xatom_for_display (gdisplay, display_change_gdkatom);
++
++ if (xev->atom == atom)
++ {
++ GdkWindow *gwindow;
++
++ gwindow = gdk_window_lookup_for_display (gdisplay, xev->window);
++
++ if (gwindow)
++ {
++ GdkAtom actual_type;
++ gint actual_format;
++ gint actual_length;
++ unsigned char *prop = NULL;
++
++ if (gdk_property_get (gwindow, display_change_gdkatom, string_gdkatom,
++ 0, G_MAXLONG, FALSE, &actual_type, &actual_format,
++ &actual_length, &prop))
++ {
++ if (actual_length != 0)
++ {
++ if (actual_type == string_gdkatom && actual_length > 8)
++ {
++ gchar *buf = g_malloc (actual_length + 1);
++ int rc;
++
++ memcpy (buf, prop, actual_length);
++ buf[actual_length] = 0;
++
++ rc = handle_request (gwindow, buf);
++
++ g_free (buf);
++ generate_response (gdisplay, xev->display, xev->window, rc);
++
++ if (rc == DISPLAY_CHANGE_SUCCESS)
++ update_challenge_on_windows ();
++ }
++
++ reset_state (gwindow);
++ }
++ }
++
++ if (prop)
++ g_free (prop);
++ }
++ }
++
++ return GDK_FILTER_REMOVE;
++ }
++ }
++
++ return GDK_FILTER_CONTINUE;
++}
++
++static void
++unrealize_window (GtkWidget *w)
++{
++ all_widgets = g_slist_remove (all_widgets, w);
++}
++
++void
++gtk_migration_mark_window (GtkWidget *w)
++{
++ if (! gtk_migration_initialised)
++ {
++ g_warning ("gtk_migration not initialised yet");
++ return;
++ }
++
++ if (GTK_WIDGET_REALIZED (w))
++ {
++ GdkWindow *window = w->window;
++
++ gdk_window_add_filter (window, filter_func, NULL);
++
++ reset_state (window);
++ set_challenge_on_window (window);
++
++ all_widgets = g_slist_append (all_widgets, w);
++
++ g_signal_connect (G_OBJECT (w), "unrealize", G_CALLBACK (unrealize_window), NULL);
++ }
++ else
++ g_signal_connect (G_OBJECT (w), "realize", G_CALLBACK (gtk_migration_mark_window), NULL);
++}
++
++void
++gtk_migration_init (void)
++{
++ if (getenv ("GPE_DISPLAY_MIGRATION_NO_AUTH") != NULL)
++ no_auth = TRUE;
++
++ string_gdkatom = gdk_atom_intern ("STRING", FALSE);
++ display_change_gdkatom = gdk_atom_intern ("_GPE_DISPLAY_CHANGE", FALSE);
++ rsa_challenge_gdkatom = gdk_atom_intern ("_GPE_DISPLAY_CHANGE_RSA_CHALLENGE", FALSE);
++
++ gtk_migration_auth_generate_challenge ();
++
++ gtk_migration_initialised = TRUE;
++}
diff --git a/meta/packages/gtk+/gtk+-2.10.0/automake-lossage.patch b/meta/packages/gtk+/gtk+-2.10.0/automake-lossage.patch
new file mode 100644
index 0000000000..0d423ddbb9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/automake-lossage.patch
@@ -0,0 +1,24 @@
+--- gtk+-2.4.1/docs/tutorial/Makefile.am~ 2003-05-06 22:54:20.000000000 +0100
++++ gtk+-2.4.1/docs/tutorial/Makefile.am 2004-05-08 12:31:41.000000000 +0100
+@@ -52,21 +52,5 @@
+
+ dist-hook: html
+ cp -Rp $(srcdir)/html $(distdir)
+-else
+-html:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-pdf:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-dist-hook:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "*** DISTRIBUTION IS INCOMPLETE"
+- echo "***"
+ endif
+
diff --git a/meta/packages/gtk+/gtk+-2.10.0/cellrenderer-cairo.patch b/meta/packages/gtk+/gtk+-2.10.0/cellrenderer-cairo.patch
new file mode 100644
index 0000000000..020f35bb85
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/cellrenderer-cairo.patch
@@ -0,0 +1,32 @@
+Index: gtkcellrenderer.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkcellrenderer.c,v
+retrieving revision 1.55
+diff -u -r1.55 gtk+-2.10.0/gtk/gtkcellrenderer.c
+--- gtk+-2.10.0/gtk/gtkcellrenderer.c 14 May 2006 04:25:28 -0000 1.55
++++ gtk+-2.10.0/gtk/gtkcellrenderer.c 30 Jun 2006 10:57:43 -0000
+@@ -551,6 +551,7 @@
+
+ if (cell->cell_background_set && !selected)
+ {
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_t *cr = gdk_cairo_create (window);
+
+ gdk_cairo_rectangle (cr, background_area);
+@@ -558,6 +559,16 @@
+ cairo_fill (cr);
+
+ cairo_destroy (cr);
++#else
++ GdkGC *gc;
++
++ gc = gdk_gc_new (window);
++ gdk_gc_set_rgb_fg_color (gc, &priv->cell_background);
++ gdk_draw_rectangle (window, gc, TRUE,
++ background_area->x, background_area->y,
++ background_area->width, background_area->height);
++ g_object_unref (gc);
++#endif
+ }
+
+ GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell,
diff --git a/meta/packages/gtk+/gtk+-2.10.0/disable-tooltips.patch b/meta/packages/gtk+/gtk+-2.10.0/disable-tooltips.patch
new file mode 100644
index 0000000000..d71d839c3c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/disable-tooltips.patch
@@ -0,0 +1,11 @@
+--- gtk+-2.4.3/gtk/gtktooltips.c.old 2004-07-04 18:52:04.000000000 +0100
++++ gtk+-2.4.3/gtk/gtktooltips.c 2004-07-04 18:52:08.000000000 +0100
+@@ -118,7 +118,7 @@
+ tooltips->tips_data_list = NULL;
+
+ tooltips->delay = DEFAULT_DELAY;
+- tooltips->enabled = TRUE;
++ tooltips->enabled = FALSE;
+ tooltips->timer_tag = 0;
+ tooltips->use_sticky_delay = FALSE;
+ tooltips->last_popdown.tv_sec = -1;
diff --git a/meta/packages/gtk+/gtk+-2.10.0/entry-cairo.patch b/meta/packages/gtk+/gtk+-2.10.0/entry-cairo.patch
new file mode 100644
index 0000000000..506b617d8e
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/entry-cairo.patch
@@ -0,0 +1,114 @@
+Index: gtkentry.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkentry.c,v
+retrieving revision 1.317
+diff -u -r1.317 gtk+-2.10.0/gtk/gtkentry.c
+--- gtk+-2.10.0/gtk/gtkentry.c 29 Jun 2006 09:18:05 -0000 1.317
++++ gtk+-2.10.0/gtk/gtkentry.c 2 Jul 2006 14:14:24 -0000
+@@ -3337,7 +3337,9 @@
+ if (GTK_WIDGET_DRAWABLE (entry))
+ {
+ PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE);
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_t *cr;
++#endif
+ gint x, y;
+ gint start_pos, end_pos;
+
+@@ -3345,23 +3347,37 @@
+
+ get_layout_position (entry, &x, &y);
+
++#ifdef USE_CAIRO_INTERNALLY
+ cr = gdk_cairo_create (entry->text_area);
+
+ cairo_move_to (cr, x, y);
+ gdk_cairo_set_source_color (cr, &widget->style->text [widget->state]);
+ pango_cairo_show_layout (cr, layout);
++#else
++ gdk_draw_layout (entry->text_area, widget->style->text_gc [widget->state],
++ x, y,
++ layout);
++#endif
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos))
+ {
+ gint *ranges;
+ gint n_ranges, i;
+ PangoRectangle logical_rect;
+- GdkColor *selection_color, *text_color;
+ GtkBorder inner_border;
++#ifdef USE_CAIRO_INTERNALLY
++ GdkColor *selection_color, *text_color;
++#else
++ GdkGC *selection_gc, *text_gc;
++ GdkRegion *clip_region;
++#endif
+
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+ gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges);
+
++ get_inner_border (entry, &inner_border);
++
++#ifdef USE_CAIRO_INTERNALLY
+ if (GTK_WIDGET_HAS_FOCUS (entry))
+ {
+ selection_color = &widget->style->base [GTK_STATE_SELECTED];
+@@ -3373,8 +3389,6 @@
+ text_color = &widget->style->text [GTK_STATE_ACTIVE];
+ }
+
+- get_inner_border (entry, &inner_border);
+-
+ for (i = 0; i < n_ranges; ++i)
+ cairo_rectangle (cr,
+ inner_border.left - entry->scroll_offset + ranges[2 * i],
+@@ -3390,11 +3404,46 @@
+ cairo_move_to (cr, x, y);
+ gdk_cairo_set_source_color (cr, text_color);
+ pango_cairo_show_layout (cr, layout);
+-
++#else
++ if (GTK_WIDGET_HAS_FOCUS (entry))
++ {
++ selection_gc = widget->style->base_gc [GTK_STATE_SELECTED];
++ text_gc = widget->style->text_gc [GTK_STATE_SELECTED];
++ }
++ else
++ {
++ selection_gc = widget->style->base_gc [GTK_STATE_ACTIVE];
++ text_gc = widget->style->text_gc [GTK_STATE_ACTIVE];
++ }
++
++ clip_region = gdk_region_new ();
++ for (i = 0; i < n_ranges; ++i)
++ {
++ GdkRectangle rect;
++
++ rect.x = inner_border.left - entry->scroll_offset + ranges[2 * i];
++ rect.y = y;
++ rect.width = ranges[2 * i + 1];
++ rect.height = logical_rect.height;
++
++ gdk_draw_rectangle (entry->text_area, selection_gc, TRUE,
++ rect.x, rect.y, rect.width, rect.height);
++
++ gdk_region_union_with_rect (clip_region, &rect);
++ }
++
++ gdk_gc_set_clip_region (text_gc, clip_region);
++ gdk_draw_layout (entry->text_area, text_gc,
++ x, y,
++ layout);
++ gdk_gc_set_clip_region (text_gc, NULL);
++ gdk_region_destroy (clip_region);
++#endif
+ g_free (ranges);
+ }
+-
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_destroy (cr);
++#endif
+ }
+ }
+
diff --git a/meta/packages/gtk+/gtk+-2.10.0/gtk+-handhelds.patch b/meta/packages/gtk+/gtk+-2.10.0/gtk+-handhelds.patch
new file mode 100644
index 0000000000..4b97373f32
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/gtk+-handhelds.patch
@@ -0,0 +1,264 @@
+--- gtk+-2.8.6/gtk/gtkrange.c.orig 2005-12-07 21:13:33 +0100
++++ gtk+-2.8.6/gtk/gtkrange.c 2005-12-07 21:21:12 +0100
+@@ -186,6 +186,7 @@
+ static GtkWidgetClass *parent_class = NULL;
+ static guint signals[LAST_SIGNAL];
+
++static GdkAtom recognize_protocols_atom, atom_atom;
+
+ GType
+ gtk_range_get_type (void)
+@@ -226,6 +227,9 @@
+ object_class = (GtkObjectClass*) class;
+ widget_class = (GtkWidgetClass*) class;
+
++ recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE);
++ atom_atom = gdk_atom_intern ("ATOM", FALSE);
++
+ parent_class = g_type_class_peek_parent (class);
+
+ gobject_class->set_property = gtk_range_set_property;
+@@ -860,6 +864,12 @@
+ &attributes, attributes_mask);
+ gdk_window_set_user_data (range->event_window, range);
+
++ gdk_property_change (range->event_window,
++ recognize_protocols_atom,
++ atom_atom,
++ 32, GDK_PROP_MODE_REPLACE,
++ NULL, 0);
++
+ widget->style = gtk_style_attach (widget->style, widget->window);
+ }
+
+@@ -1229,7 +1239,7 @@
+
+ /* ignore presses when we're already doing something else. */
+ if (range->layout->grab_location != MOUSE_OUTSIDE)
+- return FALSE;
++ return TRUE;
+
+ range->layout->mouse_x = event->x;
+ range->layout->mouse_y = event->y;
+@@ -1429,7 +1439,7 @@
+ return TRUE;
+ }
+
+- return FALSE;
++ return TRUE;
+ }
+
+ /**
+--- gtk+-2.8.6/gtk/gtkentry.c.orig 2005-09-02 21:51:06 +0200
++++ gtk+-2.8.6/gtk/gtkentry.c 2005-12-07 21:21:12 +0100
+@@ -597,6 +597,15 @@
+ 0.0,
+ GTK_PARAM_READWRITE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("min_width",
++ _("Minimum width"),
++ _("Minimum width of the entry field"),
++ 0,
++ G_MAXINT,
++ MIN_ENTRY_WIDTH,
++ G_PARAM_READABLE));
++
+ signals[POPULATE_POPUP] =
+ g_signal_new ("populate_popup",
+ G_OBJECT_CLASS_TYPE (gobject_class),
+@@ -1227,7 +1236,7 @@
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
+ PangoFontMetrics *metrics;
+- gint xborder, yborder;
++ gint xborder, yborder, min_width;
+ PangoContext *context;
+
+ gtk_widget_ensure_style (widget);
+@@ -1243,9 +1252,11 @@
+
+ xborder += INNER_BORDER;
+ yborder += INNER_BORDER;
+-
++
++ gtk_widget_style_get (widget, "min_width", &min_width, NULL);
++
+ if (entry->width_chars < 0)
+- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
++ requisition->width = min_width + xborder * 2;
+ else
+ {
+ gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
+--- gtk+-2.8.6/gtk/gtkarrow.c.orig 2005-06-21 17:38:39 +0200
++++ gtk+-2.8.6/gtk/gtkarrow.c 2005-12-07 21:21:12 +0100
+@@ -31,7 +31,7 @@
+ #include "gtkintl.h"
+ #include "gtkalias.h"
+
+-#define MIN_ARROW_SIZE 15
++#define MIN_ARROW_SIZE 7
+
+ enum {
+ PROP_0,
+@@ -55,6 +55,8 @@
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec);
++static void gtk_arrow_size_request (GtkWidget *arrow,
++ GtkRequisition *requisition);
+
+ GType
+ gtk_arrow_get_type (void)
+@@ -113,6 +115,7 @@
+ GTK_PARAM_READWRITE));
+
+ widget_class->expose_event = gtk_arrow_expose;
++ widget_class->size_request = gtk_arrow_size_request;
+ }
+
+ static void
+@@ -168,13 +171,18 @@
+ }
+
+ static void
++gtk_arrow_size_request (GtkWidget *arrow,
++ GtkRequisition *requisition)
++{
++ requisition->width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
++ requisition->height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
++}
++
++static void
+ gtk_arrow_init (GtkArrow *arrow)
+ {
+ GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW);
+
+- GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
+- GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
+-
+ arrow->arrow_type = GTK_ARROW_RIGHT;
+ arrow->shadow_type = GTK_SHADOW_OUT;
+ }
+--- gtk+-2.8.6/gtk/gtkcalendar.c.orig 2005-12-07 21:36:14 +0100
++++ gtk+-2.8.6/gtk/gtkcalendar.c 2005-12-07 21:49:21 +0100
+@@ -692,6 +692,35 @@
+ ****************************************/
+
+ static void
++calendar_select_day (GtkCalendar *calendar, guint day)
++{
++ g_return_if_fail (GTK_IS_CALENDAR (calendar));
++ g_return_if_fail (day <= 31);
++
++ /* Deselect the old day */
++ if (calendar->selected_day > 0)
++ {
++ gint selected_day;
++
++ selected_day = calendar->selected_day;
++ calendar->selected_day = 0;
++ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
++ calendar_invalidate_day_num (calendar, selected_day);
++ }
++
++ calendar->selected_day = day;
++
++ /* Select the new day */
++ if (day != 0)
++ {
++ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
++ calendar_invalidate_day_num (calendar, day);
++ }
++
++ g_object_notify (G_OBJECT (calendar), "day");
++}
++
++static void
+ calendar_set_month_next (GtkCalendar *calendar)
+ {
+ gint month_len;
+@@ -723,10 +752,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ calendar_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ calendar_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ }
+@@ -752,10 +781,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ calendar_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ calendar_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ }
+@@ -784,10 +813,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ calendar_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ calendar_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ }
+@@ -1088,13 +1117,13 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ calendar_select_day (calendar, month_len);
+ }
+ else
+ {
+ if (calendar->selected_day < 0)
+ calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1];
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ calendar_select_day (calendar, calendar->selected_day);
+ }
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+@@ -3285,27 +3314,7 @@
+ g_return_if_fail (GTK_IS_CALENDAR (calendar));
+ g_return_if_fail (day <= 31);
+
+- /* Deselect the old day */
+- if (calendar->selected_day > 0)
+- {
+- gint selected_day;
+-
+- selected_day = calendar->selected_day;
+- calendar->selected_day = 0;
+- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+- calendar_invalidate_day_num (calendar, selected_day);
+- }
+-
+- calendar->selected_day = day;
+-
+- /* Select the new day */
+- if (day != 0)
+- {
+- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+- calendar_invalidate_day_num (calendar, day);
+- }
+-
+- g_object_notify (G_OBJECT (calendar), "day");
++ calendar_select_day (calendar, day);
+
+ g_signal_emit (calendar,
+ gtk_calendar_signals[DAY_SELECTED_SIGNAL],
diff --git a/meta/packages/gtk+/gtk+-2.10.0/gtkbuiltincache.h b/meta/packages/gtk+/gtk+-2.10.0/gtkbuiltincache.h
new file mode 100644
index 0000000000..d7e4a751b3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/gtkbuiltincache.h
@@ -0,0 +1,31864 @@
+#ifdef __SUNPRO_C
+#pragma align 4 (builtin_icons)
+#endif
+#ifdef __GNUC__
+static const guint8 builtin_icons[] __attribute__ ((__aligned__ (4))) =
+#else
+static const guint8 builtin_icons[] =
+#endif
+{
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x05, 0xd4, 0xf8,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x01, 0x34, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x29, 0xb4, 0x00, 0x00, 0x44, 0xb4, 0x00, 0x00, 0x7f, 0xd8,
+ 0x00, 0x00, 0x9a, 0xd8, 0x00, 0x00, 0xb5, 0xd4, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0xc3, 0x54, 0x00, 0x00, 0xeb, 0xe0, 0x00, 0x00, 0xf9, 0x5c,
+ 0x00, 0x01, 0x2f, 0xd0, 0x00, 0x01, 0x3d, 0x4c, 0x00, 0x01, 0x73, 0x48,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x80, 0xc8, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x01, 0xa9, 0x5c, 0x00, 0x01, 0xbd, 0x68, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x01, 0xef, 0x3c, 0x00, 0x02, 0x0a, 0x3c, 0x00, 0x02, 0x40, 0x3c,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0x76, 0x3c, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0x83, 0xc4,
+ 0x00, 0x02, 0xac, 0x4c, 0x00, 0x02, 0xe2, 0x5c, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0x21, 0xbc, 0x00, 0x03, 0x3b, 0x6c, 0x00, 0x03, 0x48, 0xe8,
+ 0x00, 0x03, 0x56, 0x64, 0x00, 0x03, 0x88, 0x3c, 0x00, 0x03, 0xa3, 0x40,
+ 0x00, 0x03, 0xbe, 0x40, 0x00, 0x03, 0xc7, 0xcc, 0x00, 0x03, 0xdb, 0xd4,
+ 0x00, 0x03, 0xe9, 0x54, 0x00, 0x04, 0x28, 0xa8, 0x00, 0x04, 0x36, 0x28,
+ 0x00, 0x04, 0x43, 0xa4, 0x00, 0x04, 0x4a, 0x2c, 0x00, 0x04, 0x65, 0x68,
+ 0x00, 0x04, 0x75, 0xa4, 0x00, 0x04, 0x8f, 0xb0, 0x00, 0x04, 0x8f, 0xf8,
+ 0x00, 0x04, 0x9d, 0x78, 0x00, 0x04, 0xcb, 0x24, 0x00, 0x04, 0xd8, 0xa8,
+ 0x00, 0x04, 0xec, 0xb4, 0x00, 0x04, 0xec, 0xf8, 0x00, 0x04, 0xfa, 0x80,
+ 0x00, 0x04, 0xfa, 0xc8, 0x00, 0x05, 0x08, 0x44, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x05, 0x15, 0xc0, 0x00, 0x05, 0x23, 0x40, 0x00, 0x05, 0x30, 0xbc,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0x37, 0x48,
+ 0x00, 0x05, 0x47, 0x90, 0x00, 0x05, 0x51, 0xec, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x05, 0x7a, 0x68, 0x00, 0x05, 0x9e, 0xc8, 0x00, 0x05, 0xac, 0x44,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0xc7, 0x38, 0x00, 0x00, 0x0e, 0xb0,
+ 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x4c, 0x67, 0x74, 0x6b, 0x2d,
+ 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x01, 0x60, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x0a, 0x88, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x12, 0x0f, 0x0f, 0x0d, 0x4d,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0d, 0x22,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0d, 0x49,
+ 0x0f, 0x0f, 0x0d, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x0b,
+ 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xff,
+ 0x98, 0x93, 0x89, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xc2, 0xba, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x6c, 0x0f, 0x0f, 0x0d, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x6c,
+ 0x34, 0x33, 0x2d, 0xff, 0xb7, 0xb3, 0xaa, 0xff, 0xc4, 0xc2, 0xbd, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x9c, 0x97, 0x8d, 0xff,
+ 0xbc, 0xb9, 0xb2, 0xff, 0x36, 0x34, 0x33, 0xff, 0x00, 0x00, 0x00, 0x7d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x12, 0x00, 0x00, 0x00, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff, 0xaa, 0xa7, 0xa0, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xee, 0xeb, 0xff, 0x80, 0x7d, 0x74, 0xff, 0xb2, 0xb0, 0xab, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xc5, 0xc3, 0xbd, 0xff, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x0f, 0x0f, 0x0d, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff, 0xaa, 0xa7, 0xa0, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xee, 0xeb, 0xff, 0x80, 0x7d, 0x74, 0xff, 0xb2, 0xb0, 0xab, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xc5, 0xc3, 0xbd, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xf2, 0xf0, 0xed, 0xff, 0xeb, 0xea, 0xe6, 0xff, 0x8a, 0x85, 0x7b, 0xff,
+ 0xec, 0xeb, 0xe8, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xee, 0xec, 0xea, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x9f, 0x9c, 0x93, 0xff,
+ 0xf3, 0xf2, 0xf0, 0xff, 0xe8, 0xe7, 0xe4, 0xff, 0xe3, 0xe1, 0xdd, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x78, 0x75, 0x6b, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0xbe, 0xbb, 0xb5, 0xff, 0xb3, 0xb1, 0xaa, 0xff, 0x7d, 0x78, 0x6e, 0xff,
+ 0xe1, 0xdf, 0xdb, 0xff, 0x78, 0x75, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd1, 0xd0, 0xcc, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x93, 0x8e, 0x84, 0xff,
+ 0xc8, 0xc5, 0xbf, 0xff, 0xa7, 0xa2, 0x98, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0x8c, 0x89, 0x81, 0xff, 0xa6, 0xa2, 0x9b, 0xff, 0x72, 0x6d, 0x63, 0xff,
+ 0xce, 0xca, 0xc3, 0xff, 0x78, 0x75, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xa4, 0x9e, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x7e, 0x7a, 0x70, 0xff,
+ 0xa0, 0x9d, 0x94, 0xff, 0x81, 0x7d, 0x73, 0xff, 0x6c, 0x68, 0x5e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x33, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x8c, 0x89, 0x81, 0xff, 0xa6, 0xa2, 0x9b, 0xff, 0x72, 0x6d, 0x63, 0xff,
+ 0xce, 0xca, 0xc3, 0xff, 0x78, 0x75, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xa4, 0x9e, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x7e, 0x7a, 0x70, 0xff,
+ 0xa0, 0x9d, 0x94, 0xff, 0x81, 0x7d, 0x73, 0xff, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x0f, 0x0f, 0x0d, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x90,
+ 0x3c, 0x39, 0x33, 0xff, 0x8b, 0x87, 0x7e, 0xff, 0x70, 0x6c, 0x62, 0xff,
+ 0xb1, 0xad, 0xa4, 0xff, 0x6c, 0x68, 0x5e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x97, 0x93, 0x8a, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x62, 0x5e, 0x54, 0xff,
+ 0x6a, 0x65, 0x5b, 0xff, 0x37, 0x34, 0x2d, 0xff, 0x00, 0x00, 0x00, 0x90,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x09,
+ 0x00, 0x00, 0x00, 0x5e, 0x0f, 0x0f, 0x0d, 0xc0, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x98, 0x93, 0x89, 0xff, 0x64, 0x60, 0x56, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x8b, 0x87, 0x7d, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x5e, 0x0f, 0x0f, 0x0d, 0x0e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x1b, 0x0f, 0x0f, 0x0d, 0x33,
+ 0x0f, 0x0f, 0x0d, 0xff, 0x0f, 0x0f, 0x0d, 0xff, 0x0f, 0x0f, 0x0d, 0x32,
+ 0x0f, 0x0f, 0x0d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0d, 0x5c,
+ 0x0f, 0x0f, 0x0d, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x90,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x12,
+ 0x0f, 0x0f, 0x0d, 0x4d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x0f, 0x0f, 0x0d, 0x22, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x0b, 0x00, 0x00, 0x00, 0x6c,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xff, 0x98, 0x93, 0x89, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc6, 0xc2, 0xba, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x6c,
+ 0x34, 0x33, 0x2d, 0xff, 0xb7, 0xb3, 0xaa, 0xff, 0xc4, 0xc2, 0xbd, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x12,
+ 0x00, 0x00, 0x00, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff,
+ 0xaa, 0xa7, 0xa0, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xee, 0xeb, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x80, 0x7d, 0x74, 0xff, 0xe2, 0xe1, 0xdd, 0xff,
+ 0xf0, 0xef, 0xec, 0xff, 0xaa, 0xa7, 0xa0, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xee, 0xeb, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xf2, 0xf0, 0xed, 0xff, 0xeb, 0xea, 0xe6, 0xff, 0x8a, 0x85, 0x7b, 0xff,
+ 0xec, 0xeb, 0xe8, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xee, 0xec, 0xea, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0x78, 0x75, 0x6b, 0xff, 0xbe, 0xbb, 0xb5, 0xff, 0xb3, 0xb1, 0xaa, 0xff,
+ 0x7d, 0x78, 0x6e, 0xff, 0xe1, 0xdf, 0xdb, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd0, 0xcc, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0x78, 0x75, 0x6b, 0xff, 0x8c, 0x89, 0x81, 0xff,
+ 0xa6, 0xa2, 0x9b, 0xff, 0x72, 0x6d, 0x63, 0xff, 0xce, 0xca, 0xc3, 0xff,
+ 0x78, 0x75, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa4, 0x9e, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x33, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x8c, 0x89, 0x81, 0xff, 0xa6, 0xa2, 0x9b, 0xff, 0x72, 0x6d, 0x63, 0xff,
+ 0xce, 0xca, 0xc3, 0xff, 0x78, 0x75, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xa4, 0x9e, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x90, 0x3c, 0x39, 0x33, 0xff, 0x8b, 0x87, 0x7e, 0xff,
+ 0x70, 0x6c, 0x62, 0xff, 0xb1, 0xad, 0xa4, 0xff, 0x6c, 0x68, 0x5e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x97, 0x93, 0x8a, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x5e,
+ 0x0f, 0x0f, 0x0d, 0xc0, 0x0f, 0x0f, 0x0d, 0xff, 0x98, 0x93, 0x89, 0xff,
+ 0x64, 0x60, 0x56, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8b, 0x87, 0x7d, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x1b, 0x0f, 0x0f, 0x0d, 0x33,
+ 0x0f, 0x0f, 0x0d, 0xff, 0x0f, 0x0f, 0x0d, 0xff, 0x0f, 0x0f, 0x0d, 0x32,
+ 0x0f, 0x0f, 0x0d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x30, 0x00, 0x00, 0x0e, 0xbc,
+ 0x00, 0x00, 0x0e, 0xcc, 0x67, 0x74, 0x6b, 0x2d, 0x66, 0x75, 0x6c, 0x6c,
+ 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x0e, 0xe0, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x18, 0x08, 0x00, 0x00, 0x0e, 0xe8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0x15, 0x15, 0x15, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0x80, 0x80, 0x80, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xdd, 0xdd, 0xdd, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0x69, 0x69, 0x69, 0xff, 0x49, 0x49, 0x49, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0xda, 0xda, 0xda, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb9, 0xc3, 0xcd, 0xff, 0x67, 0x7c, 0x92, 0xff,
+ 0x67, 0x7c, 0x92, 0xff, 0x66, 0x7b, 0x91, 0xff, 0x66, 0x7c, 0x91, 0xff,
+ 0x66, 0x7b, 0x91, 0xff, 0x5f, 0x73, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb2, 0xbd, 0xc8, 0xff, 0x62, 0x77, 0x8d, 0xff,
+ 0x62, 0x77, 0x8d, 0xff, 0x61, 0x76, 0x8c, 0xff, 0x60, 0x75, 0x8b, 0xff,
+ 0x5f, 0x74, 0x8a, 0xff, 0x59, 0x6d, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0x96, 0x96, 0x96, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x7f, 0x7f, 0x7f, 0xff, 0x22, 0x22, 0x22, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x31, 0x31, 0x31, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0x6e, 0x6e, 0x6e, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xac, 0xac, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0xac, 0xac, 0xac, 0xff,
+ 0xa9, 0xa9, 0xa9, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xda, 0xda, 0xda, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xce, 0xce, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0xde, 0xde, 0xde, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xed, 0xed, 0xed, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xce, 0xce, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0x83, 0x83, 0x83, 0xff, 0x38, 0x38, 0x38, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x89, 0x89, 0x89, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xcb, 0xcb, 0xcb, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xa6, 0xa6, 0xa6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x18, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0xd1, 0xd1, 0xd1, 0x00, 0xd1, 0xd1, 0xd1, 0x00, 0xd1, 0xd1, 0xd1, 0x00,
+ 0xd2, 0xd2, 0xd2, 0x00, 0xd3, 0xd3, 0xd3, 0x00, 0xd4, 0xd4, 0xd4, 0x00,
+ 0xd6, 0xd6, 0xd6, 0x00, 0xd7, 0xd7, 0xd7, 0x00, 0xd8, 0xd8, 0xd8, 0x00,
+ 0xd9, 0xd9, 0xd9, 0x00, 0xdb, 0xdb, 0xdb, 0x00, 0xdc, 0xdc, 0xdc, 0x00,
+ 0xdd, 0xdd, 0xdd, 0x00, 0xde, 0xde, 0xde, 0x00, 0xe0, 0xe0, 0xe0, 0x00,
+ 0xe1, 0xe1, 0xe1, 0x00, 0xd1, 0xd1, 0xd1, 0x00, 0xd1, 0xd1, 0xd1, 0x00,
+ 0xd2, 0xd2, 0xd2, 0x00, 0xd3, 0xd3, 0xd3, 0x00, 0xd4, 0xd4, 0xd4, 0x00,
+ 0xd5, 0xd5, 0xd5, 0x00, 0xd7, 0xd7, 0xd7, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xda, 0xda, 0xda, 0x00, 0xdc, 0xdc, 0xdc, 0x00,
+ 0xdd, 0xdd, 0xdd, 0x00, 0xde, 0xde, 0xde, 0x00, 0xdf, 0xdf, 0xdf, 0x00,
+ 0xe1, 0xe1, 0xe1, 0x00, 0xe2, 0xe2, 0xe2, 0x00, 0xd1, 0xd1, 0xd1, 0x00,
+ 0xd2, 0xd2, 0xd2, 0x00, 0xd3, 0xd3, 0xd3, 0x00, 0xd3, 0xd3, 0xd3, 0x00,
+ 0xd2, 0xd2, 0xd2, 0x00, 0xd3, 0xd3, 0xd3, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xd8, 0xd8, 0xd8, 0x00, 0xda, 0xda, 0xda, 0x00, 0xdc, 0xdc, 0xdc, 0x00,
+ 0xe0, 0xe0, 0xe0, 0x00, 0xe2, 0xe2, 0xe2, 0x00, 0xe3, 0xe3, 0xe3, 0x00,
+ 0xd2, 0xd2, 0xd2, 0x00, 0xd3, 0xd3, 0xd3, 0x00, 0xd3, 0xd3, 0xd3, 0x00,
+ 0xcc, 0xcc, 0xcc, 0x00, 0xc0, 0xc0, 0xc0, 0x00, 0xb8, 0xb8, 0xb8, 0x00,
+ 0xb8, 0xb8, 0xb8, 0x00, 0xb9, 0xb9, 0xb9, 0x00, 0xbb, 0xbb, 0xbb, 0x00,
+ 0xbc, 0xbc, 0xbc, 0x00, 0xbc, 0xbc, 0xbc, 0x00, 0xbe, 0xbe, 0xbe, 0x00,
+ 0xc9, 0xc9, 0xc9, 0x00, 0xd9, 0xd9, 0xd9, 0x00, 0xe2, 0xe2, 0xe2, 0x00,
+ 0xe4, 0xe4, 0xe4, 0x00, 0xd3, 0xd3, 0xd3, 0x00, 0xd4, 0xd4, 0xd4, 0x00,
+ 0xd2, 0xd2, 0xd2, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0x00,
+ 0xe0, 0xe0, 0xe0, 0x00, 0xe5, 0xe5, 0xe5, 0x00, 0xd4, 0xd4, 0xd4, 0x00,
+ 0xd5, 0xd5, 0xd5, 0x00, 0xd2, 0xd2, 0xd2, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xc3, 0xcd, 0xff, 0x67, 0x7c, 0x92, 0xff, 0x67, 0x7c, 0x92, 0xff,
+ 0x66, 0x7b, 0x91, 0xff, 0x66, 0x7c, 0x91, 0xff, 0x66, 0x7b, 0x91, 0xff,
+ 0x5f, 0x73, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xc2, 0xc2, 0xc2, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0xe7, 0xe7, 0xe7, 0x00,
+ 0xd5, 0xd5, 0xd5, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb2, 0xbd, 0xc8, 0xff, 0x62, 0x77, 0x8d, 0xff,
+ 0x62, 0x77, 0x8d, 0xff, 0x61, 0x76, 0x8c, 0xff, 0x60, 0x75, 0x8b, 0xff,
+ 0x5f, 0x74, 0x8a, 0xff, 0x59, 0x6d, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xe8, 0xe8, 0xe8, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xd7, 0xd7, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xea, 0xea, 0xea, 0x00,
+ 0xd9, 0xd9, 0xd9, 0x00, 0xda, 0xda, 0xda, 0x00, 0xd6, 0xd6, 0xd6, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0x00, 0xe5, 0xe5, 0xe5, 0x00,
+ 0xeb, 0xeb, 0xeb, 0x00, 0xda, 0xda, 0xda, 0x00, 0xdb, 0xdb, 0xdb, 0x00,
+ 0xd8, 0xd8, 0xd8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xc8, 0xc8, 0x00,
+ 0xe6, 0xe6, 0xe6, 0x00, 0xec, 0xec, 0xec, 0x00, 0xdb, 0xdb, 0xdb, 0x00,
+ 0xdc, 0xdc, 0xdc, 0x00, 0xda, 0xda, 0xda, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xd1, 0xd1, 0xd1, 0x00, 0xe8, 0xe8, 0xe8, 0x00, 0xee, 0xee, 0xee, 0x00,
+ 0xdc, 0xdc, 0xdc, 0x00, 0xdd, 0xdd, 0xdd, 0x00, 0xde, 0xde, 0xde, 0x00,
+ 0xd7, 0xd7, 0xd7, 0x00, 0xc9, 0xc9, 0xc9, 0x00, 0xc1, 0xc1, 0xc1, 0x00,
+ 0xc2, 0xc2, 0xc2, 0x00, 0xc2, 0xc2, 0xc2, 0x00, 0xc3, 0xc3, 0xc3, 0x00,
+ 0xc4, 0xc4, 0xc4, 0x00, 0xc6, 0xc6, 0xc6, 0x00, 0xc8, 0xc8, 0xc8, 0x00,
+ 0xd2, 0xd2, 0xd2, 0x00, 0xe2, 0xe2, 0xe2, 0x00, 0xed, 0xed, 0xed, 0x00,
+ 0xef, 0xef, 0xef, 0x00, 0xdd, 0xdd, 0xdd, 0x00, 0xde, 0xde, 0xde, 0x00,
+ 0xe0, 0xe0, 0xe0, 0x00, 0xe0, 0xe0, 0xe0, 0x00, 0xdf, 0xdf, 0xdf, 0x00,
+ 0xdf, 0xdf, 0xdf, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xe5, 0xe5, 0xe5, 0x00,
+ 0xe7, 0xe7, 0xe7, 0x00, 0xe9, 0xe9, 0xe9, 0x00, 0xec, 0xec, 0xec, 0x00,
+ 0xef, 0xef, 0xef, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0xde, 0xde, 0xde, 0x00,
+ 0xe0, 0xe0, 0xe0, 0x00, 0xe1, 0xe1, 0xe1, 0x00, 0xe2, 0xe2, 0xe2, 0x00,
+ 0xe3, 0xe3, 0xe3, 0x00, 0xe5, 0xe5, 0xe5, 0x00, 0xe6, 0xe6, 0xe6, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xea, 0xea, 0xea, 0x00,
+ 0xeb, 0xeb, 0xeb, 0x00, 0xec, 0xec, 0xec, 0x00, 0xed, 0xed, 0xed, 0x00,
+ 0xef, 0xef, 0xef, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0xf1, 0xf1, 0xf1, 0x00,
+ 0xe0, 0xe0, 0xe0, 0x00, 0xe1, 0xe1, 0xe1, 0x00, 0xe2, 0xe2, 0xe2, 0x00,
+ 0xe3, 0xe3, 0xe3, 0x00, 0xe5, 0xe5, 0xe5, 0x00, 0xe6, 0xe6, 0xe6, 0x00,
+ 0xe7, 0xe7, 0xe7, 0x00, 0xe8, 0xe8, 0xe8, 0x00, 0xea, 0xea, 0xea, 0x00,
+ 0xeb, 0xeb, 0xeb, 0x00, 0xec, 0xec, 0xec, 0x00, 0xed, 0xed, 0xed, 0x00,
+ 0xef, 0xef, 0xef, 0x00, 0xf0, 0xf0, 0xf0, 0x00, 0xf1, 0xf1, 0xf1, 0x00,
+ 0xf2, 0xf2, 0xf2, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1c, 0x3c,
+ 0x00, 0x00, 0x1c, 0x50, 0x67, 0x74, 0x6b, 0x2d, 0x75, 0x6e, 0x69, 0x6e,
+ 0x64, 0x65, 0x6e, 0x74, 0x2d, 0x6c, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x1c, 0x64,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x25, 0x8c, 0x00, 0x00, 0x1c, 0x6c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x94, 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xac, 0xac, 0xac, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0xae, 0xae, 0xae, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xb0, 0xb0, 0xb0, 0xff, 0xb1, 0xb1, 0xb1, 0xff, 0xb2, 0xb2, 0xb2, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0xb6, 0xb6, 0xb6, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0x75, 0x75, 0x75, 0xff, 0x76, 0x76, 0x76, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xaa, 0xaa, 0xaa, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0x00, 0x00, 0x00, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xab, 0xab, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7b, 0x7b, 0x7b, 0xff, 0x7b, 0x7b, 0x7b, 0xff,
+ 0x7c, 0x7c, 0x7c, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xad, 0xad, 0xad, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0xb8, 0xb8, 0xb8, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x9a, 0xc9, 0xc9, 0xc9, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x25, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a,
+ 0xbf, 0xbf, 0xbf, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0xa5, 0xa5, 0xa5, 0xff, 0xa6, 0xa6, 0xa6, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0xa9, 0xa9, 0xa9, 0xff,
+ 0xa9, 0xa9, 0xa9, 0xff, 0xaa, 0xaa, 0xaa, 0xff, 0xab, 0xab, 0xab, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x75, 0x75, 0x75, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xac, 0xac, 0xac, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xb1, 0xb1, 0xb1, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x30,
+ 0x00, 0x00, 0x29, 0xc0, 0x00, 0x00, 0x29, 0xcc, 0x67, 0x74, 0x6b, 0x2d,
+ 0x69, 0x74, 0x61, 0x6c, 0x69, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x29, 0xe0, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x33, 0x08, 0x00, 0x00, 0x29, 0xe8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0x07, 0x07, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x52, 0x52, 0x52, 0xff, 0x10, 0x10, 0x10, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa6, 0xa6, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x09, 0x09, 0x09, 0xff, 0x84, 0x84, 0x84, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x3b, 0x3b, 0x3b, 0xff, 0x0c, 0x0c, 0x0c, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
+ 0x1d, 0x1d, 0x1d, 0xff, 0x60, 0x60, 0x60, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xa4, 0xa4, 0xa4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x76, 0x76, 0x76, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x39, 0x39, 0x39, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0x26, 0x26, 0x26, 0xff,
+ 0x14, 0x14, 0x14, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x5b, 0x5b, 0x5b, 0xff, 0x19, 0x19, 0x19, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x7f, 0x7f, 0x7f, 0xff, 0x00, 0x00, 0x00, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0x15, 0x15, 0x15, 0xff, 0x1f, 0x1f, 0x1f, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xa3, 0xa3, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x74, 0x74, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa4, 0xa4, 0xa4, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0x09, 0x09, 0x09, 0xff, 0x56, 0x56, 0x56, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x04, 0x04, 0x04, 0xff, 0x7f, 0x7f, 0x7f, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x5b, 0x5b, 0x5b, 0xff,
+ 0x02, 0x02, 0x02, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x23, 0x23, 0x23, 0xff, 0x5b, 0x5b, 0x5b, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x5b, 0x5b, 0x5b, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x46, 0x46, 0x46, 0xff, 0x36, 0x36, 0x36, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x42, 0x42, 0x42, 0xff, 0x03, 0x03, 0x03, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x11, 0x11, 0x11, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x31, 0x31, 0x31, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x96, 0x96, 0x96, 0xff, 0x41, 0x41, 0x41, 0xff, 0x11, 0x11, 0x11, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0x1b, 0x1b, 0x1b, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0x1e, 0x1e, 0x1e, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0x0e, 0x0e, 0x0e, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xef, 0xef, 0xef, 0xff, 0x64, 0x64, 0x64, 0xff,
+ 0x87, 0x87, 0x87, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x5e, 0x5e, 0x5e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x61, 0x61, 0x61, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0x0a, 0x0a, 0x0a, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xae, 0xae, 0xae, 0xff, 0x3a, 0x3a, 0x3a, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x42, 0x42, 0x42, 0xff, 0x7d, 0x7d, 0x7d, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
+ 0x13, 0x13, 0x13, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x37, 0x3c,
+ 0x00, 0x00, 0x37, 0x50, 0x67, 0x74, 0x6b, 0x2d, 0x70, 0x72, 0x69, 0x6e,
+ 0x74, 0x2d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x37, 0x64,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x8c, 0x00, 0x00, 0x37, 0x6c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0xa6, 0xa6, 0xa6, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x82, 0x82, 0x82, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0xda, 0xda, 0xda, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x5c, 0x5c, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0x47, 0x47, 0x3f, 0xff, 0x0a, 0x0a, 0x09, 0xff,
+ 0x0a, 0x0a, 0x09, 0xff, 0x4b, 0x4b, 0x43, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0x7c, 0x7c, 0x7c, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x34, 0x34, 0x2e, 0xff, 0x9d, 0x9d, 0x8d, 0xff, 0xcf, 0xcf, 0xb9, 0xff,
+ 0xc4, 0xc4, 0xaf, 0xff, 0x8d, 0x8d, 0x7f, 0xff, 0x35, 0x35, 0x30, 0xff,
+ 0x9f, 0x9f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0x46, 0x46, 0x3f, 0xff,
+ 0x9c, 0x9c, 0x8c, 0xff, 0xe2, 0xe2, 0xd0, 0xff, 0xed, 0xed, 0xe7, 0xff,
+ 0xc0, 0xc0, 0xac, 0xff, 0xb2, 0xb2, 0x9f, 0xff, 0x82, 0x82, 0x74, 0xff,
+ 0x4c, 0x4c, 0x44, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0x74, 0x74, 0x74, 0xff, 0x09, 0x09, 0x08, 0xff,
+ 0xd5, 0xd5, 0xbf, 0xff, 0xfb, 0xfb, 0xfa, 0xff, 0xc3, 0xc3, 0xae, 0xff,
+ 0xb5, 0xb5, 0xa2, 0xff, 0xa6, 0xa6, 0x95, 0xff, 0x9c, 0x9c, 0x8f, 0xff,
+ 0x08, 0x08, 0x07, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5b,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa6, 0xa6, 0xa6, 0xff, 0x9d, 0x9d, 0x9d, 0xff, 0x09, 0x09, 0x09, 0xff,
+ 0xca, 0xca, 0xb5, 0xff, 0xdd, 0xdd, 0xd0, 0xff, 0xb7, 0xb7, 0xa4, 0xff,
+ 0xaa, 0xaa, 0x98, 0xff, 0x9b, 0x9b, 0x8b, 0xff, 0xae, 0xae, 0xa3, 0xff,
+ 0x0a, 0x0a, 0x09, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x87, 0x84, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0x84, 0x80, 0x79, 0xff,
+ 0x45, 0x44, 0x3f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x47, 0x47, 0x40, 0xff,
+ 0x92, 0x92, 0x83, 0xff, 0xba, 0xba, 0xa7, 0xff, 0xad, 0xad, 0x9b, 0xff,
+ 0x9f, 0x9f, 0x8e, 0xff, 0xac, 0xac, 0xa1, 0xff, 0xcf, 0xcf, 0xcb, 0xff,
+ 0x4c, 0x4c, 0x45, 0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x87, 0x84, 0x7c, 0xff, 0xaa, 0xa9, 0xa5, 0xff, 0xba, 0xb5, 0xab, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0x83, 0x83, 0x83, 0xff,
+ 0x34, 0x34, 0x2f, 0xff, 0x87, 0x87, 0x79, 0xff, 0xa0, 0xa0, 0x90, 0xff,
+ 0xae, 0xae, 0xa2, 0xff, 0xc3, 0xc3, 0xbe, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc3, 0xc1, 0xbd, 0xff,
+ 0x8b, 0x8b, 0x89, 0xff, 0xe6, 0xe5, 0xe1, 0xff, 0xf4, 0xf4, 0xf3, 0xff,
+ 0xe6, 0xe6, 0xe5, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xc4, 0xc4, 0xc2, 0xff,
+ 0x8b, 0x8b, 0x8a, 0xff, 0x4b, 0x4b, 0x43, 0xff, 0x0a, 0x0a, 0x09, 0xff,
+ 0x0a, 0x0a, 0x09, 0xff, 0x41, 0x41, 0x41, 0xff, 0xa0, 0x9f, 0x9d, 0xff,
+ 0x40, 0x40, 0x40, 0xff, 0x01, 0x01, 0x01, 0xff, 0xb5, 0xb5, 0xb4, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x9f, 0x9f, 0x9f, 0xff, 0xdf, 0xde, 0xd9, 0xff,
+ 0xba, 0xb5, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa4, 0xa3, 0xa1, 0xff,
+ 0x6c, 0x6b, 0x6a, 0xff, 0xf5, 0xf4, 0xf3, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xcf, 0xcf, 0xcf, 0xff, 0xa7, 0xa7, 0xa7, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0xb0, 0xb0, 0xaf, 0xff, 0x9b, 0x9b, 0x9b, 0xff,
+ 0xb6, 0xb6, 0xb6, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0x40, 0x40, 0x40, 0xff, 0x17, 0x17, 0x17, 0xff,
+ 0xae, 0xac, 0xa7, 0xff, 0x6a, 0x6a, 0x69, 0xff, 0x99, 0x98, 0x96, 0xff,
+ 0x91, 0x8f, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x95, 0xff,
+ 0x6b, 0x6b, 0x6a, 0xff, 0xe6, 0xe4, 0xe1, 0xff, 0xf0, 0xee, 0xec, 0xff,
+ 0xf6, 0xf5, 0xf4, 0xff, 0xf4, 0xf4, 0xf3, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xea, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe8, 0xff, 0xeb, 0xea, 0xe9, 0xff,
+ 0xe6, 0xe5, 0xe4, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xca, 0xca, 0xc9, 0xff,
+ 0x97, 0x96, 0x96, 0xff, 0x9c, 0x9c, 0x9c, 0xff, 0x54, 0x54, 0x54, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0x50, 0x50, 0x4f, 0xff, 0x85, 0x84, 0x82, 0xff,
+ 0x91, 0x8f, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9c, 0x9b, 0x99, 0xff,
+ 0x6b, 0x6a, 0x68, 0xff, 0x58, 0x58, 0x58, 0xff, 0x5e, 0x5c, 0x57, 0xff,
+ 0x52, 0x4f, 0x4b, 0xff, 0x49, 0x47, 0x44, 0xff, 0x4a, 0x49, 0x45, 0xff,
+ 0x4a, 0x48, 0x45, 0xff, 0x4a, 0x48, 0x45, 0xff, 0x4a, 0x48, 0x45, 0xff,
+ 0x48, 0x46, 0x42, 0xff, 0x43, 0x41, 0x3d, 0xff, 0x3d, 0x3b, 0x38, 0xff,
+ 0x39, 0x38, 0x34, 0xff, 0x39, 0x38, 0x36, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x7b, 0x7a, 0x77, 0xff,
+ 0x79, 0x77, 0x71, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x94, 0x93, 0x91, 0xff,
+ 0x98, 0x96, 0x94, 0xff, 0x86, 0x84, 0x80, 0xff, 0x6e, 0x6c, 0x66, 0xff,
+ 0x70, 0x6d, 0x67, 0xff, 0x5c, 0x59, 0x55, 0xff, 0x67, 0x64, 0x5f, 0xff,
+ 0x5b, 0x59, 0x54, 0xff, 0x58, 0x56, 0x51, 0xff, 0x5b, 0x59, 0x54, 0xff,
+ 0x5c, 0x5a, 0x55, 0xff, 0x56, 0x53, 0x4f, 0xff, 0x4c, 0x49, 0x45, 0xff,
+ 0x4a, 0x47, 0x44, 0xff, 0x48, 0x47, 0x43, 0xff, 0x4b, 0x4a, 0x48, 0xff,
+ 0x84, 0x84, 0x84, 0xff, 0x7d, 0x7d, 0x7d, 0xff, 0x69, 0x68, 0x61, 0xff,
+ 0x77, 0x75, 0x6f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7b, 0x77, 0xff,
+ 0x97, 0x96, 0x90, 0xff, 0x96, 0x93, 0x8d, 0xff, 0x91, 0x8f, 0x87, 0xff,
+ 0x80, 0x7e, 0x77, 0xff, 0x7d, 0x7a, 0x74, 0xff, 0x78, 0x77, 0x70, 0xff,
+ 0x77, 0x75, 0x6f, 0xff, 0x71, 0x6f, 0x6a, 0xff, 0x77, 0x75, 0x6f, 0xff,
+ 0x71, 0x6f, 0x6a, 0xff, 0x6d, 0x6b, 0x66, 0xff, 0x56, 0x54, 0x50, 0xff,
+ 0x5a, 0x59, 0x54, 0xff, 0x58, 0x57, 0x52, 0xff, 0x60, 0x5f, 0x5a, 0xff,
+ 0x67, 0x66, 0x60, 0xff, 0x72, 0x71, 0x6b, 0xff, 0x76, 0x74, 0x6f, 0xff,
+ 0x6a, 0x69, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x8b, 0x88, 0x80, 0xff, 0xb2, 0xaf, 0xa8, 0xff, 0xb6, 0xb3, 0xad, 0xff,
+ 0xbf, 0xbd, 0xb6, 0xff, 0xbf, 0xbd, 0xb6, 0xff, 0xbf, 0xbd, 0xb6, 0xff,
+ 0xbf, 0xbd, 0xb6, 0xff, 0xbf, 0xbd, 0xb6, 0xff, 0xbd, 0xbb, 0xb4, 0xff,
+ 0xb0, 0xae, 0xa6, 0xff, 0xb2, 0xaf, 0xa8, 0xff, 0xab, 0xa8, 0xa2, 0xff,
+ 0xb0, 0xae, 0xa6, 0xff, 0x9c, 0x99, 0x91, 0xff, 0x9c, 0x99, 0x91, 0xff,
+ 0x9c, 0x99, 0x91, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x40, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9d, 0x8d, 0xff,
+ 0xcf, 0xcf, 0xb9, 0xff, 0xc4, 0xc4, 0xaf, 0xff, 0x8d, 0x8d, 0x7f, 0xff,
+ 0x35, 0x35, 0x30, 0xff, 0x82, 0x82, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9c, 0x9c, 0x8c, 0xff,
+ 0xe2, 0xe2, 0xd0, 0xff, 0xed, 0xed, 0xe7, 0xff, 0xc0, 0xc0, 0xac, 0xff,
+ 0xb2, 0xb2, 0x9f, 0xff, 0x82, 0x82, 0x74, 0xff, 0x4c, 0x4c, 0x44, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x08, 0xff,
+ 0xd5, 0xd5, 0xbf, 0xff, 0xfb, 0xfb, 0xfa, 0xff, 0xc3, 0xc3, 0xae, 0xff,
+ 0xb5, 0xb5, 0xa2, 0xff, 0xa6, 0xa6, 0x95, 0xff, 0x95, 0x95, 0x86, 0xff,
+ 0x08, 0x08, 0x07, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x09, 0x09, 0xff, 0xca, 0xca, 0xb5, 0xff, 0xdd, 0xdd, 0xd0, 0xff,
+ 0xb7, 0xb7, 0xa4, 0xff, 0xaa, 0xaa, 0x98, 0xff, 0x9b, 0x9b, 0x8b, 0xff,
+ 0x8c, 0x8c, 0x7d, 0xff, 0x0a, 0x0a, 0x09, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x83, 0xff,
+ 0xba, 0xba, 0xa7, 0xff, 0xad, 0xad, 0x9b, 0xff, 0x9f, 0x9f, 0x8e, 0xff,
+ 0x90, 0x90, 0x81, 0xff, 0x72, 0x72, 0x66, 0xff, 0x52, 0x52, 0x4c, 0xfd,
+ 0x00, 0x00, 0x00, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x34, 0x34, 0x2f, 0xff, 0x87, 0x87, 0x79, 0xff, 0xa0, 0xa0, 0x90, 0xff,
+ 0x92, 0x92, 0x83, 0xff, 0x73, 0x73, 0x67, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x57, 0x57, 0x57, 0xff, 0xa6, 0xa6, 0xa6, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4b, 0x4b, 0x43, 0xff,
+ 0x0a, 0x0a, 0x09, 0xff, 0x0a, 0x0a, 0x09, 0xff, 0x41, 0x41, 0x41, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbc, 0xbb, 0xbb, 0xff, 0xd4, 0xd4, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0x32, 0x32, 0x32, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xd0, 0xd0, 0xcf, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0x99, 0x99, 0x99, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x36, 0x36, 0x36, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0xec, 0xec, 0xeb, 0xff,
+ 0xae, 0xad, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe5, 0xe5, 0xe4, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xd9, 0xd9, 0xd8, 0xff,
+ 0x89, 0x89, 0x88, 0xff, 0x0c, 0x0c, 0x0c, 0xff, 0x30, 0x2f, 0x2f, 0xff,
+ 0xa4, 0xa3, 0xa1, 0xff, 0xcc, 0xca, 0xc6, 0xff, 0x1b, 0x1b, 0x1b, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x96, 0x95, 0x94, 0xff,
+ 0xd6, 0xd4, 0xd2, 0xff, 0xdd, 0xdb, 0xda, 0xff, 0xdc, 0xdc, 0xdb, 0xff,
+ 0xde, 0xdd, 0xdd, 0xff, 0xdf, 0xde, 0xdd, 0xff, 0xdd, 0xdc, 0xdb, 0xff,
+ 0xd9, 0xd9, 0xd8, 0xff, 0xdb, 0xdb, 0xd9, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0x38, 0x38, 0x38, 0xff, 0x55, 0x54, 0x53, 0xff, 0x9f, 0x9e, 0x9a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xa7, 0xa6, 0xff, 0x9e, 0x9d, 0x9c, 0xff, 0x61, 0x5e, 0x59, 0xff,
+ 0x54, 0x51, 0x4e, 0xff, 0x54, 0x52, 0x4e, 0xff, 0x51, 0x4f, 0x4b, 0xff,
+ 0x52, 0x50, 0x4c, 0xff, 0x50, 0x4d, 0x49, 0xff, 0x4d, 0x4b, 0x47, 0xff,
+ 0x4f, 0x4d, 0x49, 0xff, 0x51, 0x4f, 0x4c, 0xff, 0x53, 0x52, 0x51, 0xff,
+ 0x8e, 0x8d, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb4, 0xb3, 0xb1, 0xff, 0xc0, 0xbf, 0xbc, 0xff,
+ 0xb9, 0xb8, 0xb5, 0xff, 0xb3, 0xb1, 0xaf, 0xff, 0xb1, 0xb1, 0xae, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xb0, 0xae, 0xac, 0xff, 0xac, 0xac, 0xa9, 0xff,
+ 0xa6, 0xa6, 0xa4, 0xff, 0xab, 0xaa, 0xa7, 0xff, 0xae, 0xad, 0xaa, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xaa, 0xa9, 0xa6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x20, 0x1f, 0x1e, 0xff,
+ 0x40, 0x3f, 0x3d, 0xff, 0x44, 0x43, 0x41, 0xff, 0x45, 0x45, 0x42, 0xff,
+ 0x45, 0x45, 0x42, 0xff, 0x45, 0x45, 0x42, 0xff, 0x42, 0x42, 0x3f, 0xff,
+ 0x40, 0x3f, 0x3d, 0xff, 0x3f, 0x3e, 0x3c, 0xff, 0x3a, 0x39, 0x36, 0xff,
+ 0x39, 0x38, 0x35, 0xff, 0x31, 0x30, 0x2d, 0xff, 0x1e, 0x1d, 0x1b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x08,
+ 0x00, 0x00, 0x44, 0xc0, 0x00, 0x00, 0x44, 0xd4, 0x67, 0x74, 0x6b, 0x2d,
+ 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x2d, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04,
+ 0x00, 0x00, 0x44, 0xe0, 0x00, 0x00, 0x44, 0xe8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x24, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0xc0,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x73, 0x39, 0x2b, 0x4b, 0x61, 0x30, 0x24, 0x76, 0x5c, 0x2d, 0x22, 0xb1,
+ 0x57, 0x2b, 0x20, 0xcb, 0x57, 0x2b, 0x21, 0xcb, 0x55, 0x2c, 0x22, 0xf0,
+ 0x55, 0x2d, 0x23, 0xff, 0x58, 0x30, 0x27, 0xff, 0x58, 0x31, 0x28, 0xff,
+ 0x5a, 0x35, 0x2c, 0xff, 0x5b, 0x36, 0x2e, 0xff, 0x59, 0x34, 0x2b, 0xff,
+ 0x5a, 0x32, 0x28, 0xff, 0x5a, 0x2f, 0x25, 0xff, 0x55, 0x2d, 0x23, 0xff,
+ 0x52, 0x2c, 0x24, 0xd2, 0x57, 0x2b, 0x21, 0xcb, 0x53, 0x29, 0x1f, 0xcd,
+ 0x51, 0x28, 0x1e, 0x82, 0x5d, 0x2e, 0x23, 0x7a, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x3b, 0x2d, 0x4f,
+ 0x69, 0x39, 0x2e, 0xb8, 0x5a, 0x31, 0x27, 0xe1, 0x5e, 0x36, 0x2c, 0xff,
+ 0x70, 0x4c, 0x43, 0xff, 0x7f, 0x57, 0x4f, 0xff, 0x81, 0x56, 0x4c, 0xff,
+ 0x8d, 0x59, 0x4d, 0xff, 0x96, 0x5f, 0x53, 0xff, 0x99, 0x61, 0x54, 0xff,
+ 0xb2, 0x6f, 0x5f, 0xff, 0xb9, 0x73, 0x63, 0xff, 0xb8, 0x70, 0x60, 0xff,
+ 0xb5, 0x6a, 0x58, 0xff, 0xb0, 0x61, 0x4e, 0xff, 0xae, 0x5c, 0x49, 0xff,
+ 0xae, 0x5c, 0x49, 0xff, 0xad, 0x5b, 0x48, 0xff, 0xa5, 0x56, 0x44, 0xff,
+ 0x8e, 0x49, 0x39, 0xff, 0x8e, 0x45, 0x35, 0xff, 0x8a, 0x43, 0x32, 0xff,
+ 0x75, 0x39, 0x2b, 0xff, 0x61, 0x30, 0x24, 0xff, 0x4e, 0x26, 0x1c, 0xff,
+ 0x50, 0x27, 0x1e, 0xf0, 0x4e, 0x26, 0x1d, 0xcf, 0x4e, 0x26, 0x1d, 0x84,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x3f, 0x30, 0x24,
+ 0x65, 0x32, 0x26, 0x92, 0x5d, 0x31, 0x26, 0xf2, 0x70, 0x45, 0x3c, 0xff,
+ 0x81, 0x4e, 0x43, 0xff, 0x9e, 0x6a, 0x5e, 0xff, 0xb3, 0x79, 0x6c, 0xff,
+ 0xbb, 0x77, 0x68, 0xff, 0xb4, 0x68, 0x57, 0xff, 0xae, 0x5c, 0x49, 0xff,
+ 0xae, 0x5c, 0x49, 0xff, 0xae, 0x5c, 0x49, 0xff, 0xad, 0x5c, 0x49, 0xff,
+ 0xae, 0x5d, 0x4a, 0xff, 0xa9, 0x53, 0x3f, 0xff, 0xa9, 0x53, 0x3f, 0xff,
+ 0xa9, 0x53, 0x3f, 0xff, 0xa9, 0x53, 0x3f, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xa9, 0x53, 0x3f, 0xff,
+ 0xa6, 0x52, 0x3e, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xa3, 0x4f, 0x3c, 0xff,
+ 0x92, 0x47, 0x36, 0xff, 0x7e, 0x3e, 0x2f, 0xff, 0x64, 0x30, 0x25, 0xff,
+ 0x4d, 0x26, 0x1d, 0xff, 0x49, 0x24, 0x1b, 0xd2, 0x4a, 0x24, 0x1c, 0x64,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x65, 0x32, 0x26, 0xac, 0x5b, 0x38, 0x30, 0xff,
+ 0x7a, 0x4e, 0x44, 0xff, 0x98, 0x64, 0x58, 0xff, 0xb8, 0x78, 0x68, 0xff,
+ 0xc0, 0x80, 0x72, 0xff, 0xb7, 0x6f, 0x5e, 0xff, 0xad, 0x5c, 0x49, 0xff,
+ 0xa0, 0x55, 0x44, 0xff, 0x91, 0x4c, 0x3c, 0xff, 0x80, 0x3f, 0x30, 0xff,
+ 0x7c, 0x3d, 0x2e, 0xff, 0x7c, 0x3d, 0x2e, 0xff, 0x7e, 0x3e, 0x2f, 0xff,
+ 0x7f, 0x3e, 0x2f, 0xff, 0x86, 0x42, 0x32, 0xff, 0x86, 0x42, 0x32, 0xff,
+ 0x8d, 0x45, 0x35, 0xff, 0x8d, 0x45, 0x35, 0xff, 0x94, 0x49, 0x37, 0xff,
+ 0x98, 0x4b, 0x39, 0xff, 0x9b, 0x4c, 0x3a, 0xff, 0x9b, 0x4c, 0x3a, 0xff,
+ 0xa5, 0x51, 0x3e, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x9d, 0x4d, 0x3a, 0xff,
+ 0x97, 0x4a, 0x38, 0xff, 0x73, 0x38, 0x2a, 0xff, 0x56, 0x2a, 0x20, 0xff,
+ 0x47, 0x23, 0x1a, 0xe4, 0x46, 0x22, 0x1a, 0x68, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x40, 0x31, 0x23,
+ 0x62, 0x39, 0x31, 0xf1, 0x6e, 0x46, 0x3e, 0xff, 0x9f, 0x60, 0x52, 0xff,
+ 0xb9, 0x73, 0x63, 0xff, 0xb5, 0x6b, 0x59, 0xff, 0xae, 0x5e, 0x4c, 0xff,
+ 0x98, 0x4b, 0x39, 0xff, 0x86, 0x42, 0x32, 0xff, 0x7c, 0x3d, 0x2e, 0xff,
+ 0x7b, 0x3c, 0x2e, 0xff, 0x86, 0x42, 0x32, 0xff, 0x98, 0x60, 0x53, 0xff,
+ 0x9a, 0x69, 0x5d, 0xff, 0xa7, 0x86, 0x7e, 0xff, 0xb3, 0x9a, 0x94, 0xff,
+ 0xbb, 0xa2, 0x9c, 0xff, 0xc1, 0xb8, 0xb7, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xbb, 0xa1, 0x9a, 0xff, 0xc8, 0xad, 0xa7, 0xff,
+ 0xda, 0xbe, 0xb7, 0xff, 0xc3, 0x8a, 0x7c, 0xff, 0xc3, 0x8a, 0x7c, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xa4, 0x50, 0x3d, 0xff, 0x96, 0x4a, 0x38, 0xff,
+ 0x7d, 0x3d, 0x2e, 0xff, 0x4e, 0x26, 0x1d, 0xff, 0x40, 0x1f, 0x18, 0x91,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x83, 0x40, 0x31, 0x23, 0x61, 0x39, 0x30, 0xf2,
+ 0x83, 0x50, 0x43, 0xff, 0xb5, 0x6f, 0x60, 0xff, 0xb7, 0x6f, 0x5e, 0xff,
+ 0xab, 0x58, 0x44, 0xff, 0x9a, 0x4c, 0x3a, 0xff, 0x86, 0x42, 0x32, 0xff,
+ 0x7c, 0x3d, 0x2e, 0xff, 0x8e, 0x5a, 0x4e, 0xff, 0x8a, 0x6c, 0x65, 0xff,
+ 0x9c, 0x8d, 0x89, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xea, 0xe0, 0xde, 0xff, 0xda, 0xbe, 0xb7, 0xff,
+ 0xc2, 0x89, 0x7b, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x9d, 0x4d, 0x3a, 0xff, 0x95, 0x49, 0x37, 0xff, 0x4d, 0x26, 0x1c, 0xff,
+ 0x3c, 0x1d, 0x16, 0x95, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x64, 0x3a, 0x30, 0xdf, 0x80, 0x4e, 0x42, 0xff,
+ 0xb4, 0x71, 0x62, 0xff, 0xb3, 0x67, 0x55, 0xff, 0xa4, 0x51, 0x3d, 0xff,
+ 0x81, 0x3f, 0x30, 0xff, 0x83, 0x4c, 0x3f, 0xff, 0x8d, 0x69, 0x61, 0xff,
+ 0xa7, 0x9f, 0x9d, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xd9, 0xbc, 0xb6, 0xff,
+ 0xb9, 0x76, 0x66, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xa7, 0x52, 0x3e, 0xff, 0x9b, 0x4c, 0x3a, 0xff, 0x94, 0x49, 0x37, 0xff,
+ 0x44, 0x21, 0x19, 0xff, 0x27, 0x13, 0x0e, 0x57, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x73, 0x39, 0x2b, 0x4b, 0x63, 0x41, 0x39, 0xff, 0xab, 0x6a, 0x5a, 0xff,
+ 0xb0, 0x60, 0x4e, 0xff, 0xa0, 0x4f, 0x3c, 0xff, 0x75, 0x39, 0x2c, 0xff,
+ 0x8d, 0x71, 0x6a, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xde, 0xcb, 0xc7, 0xff, 0xb8, 0x75, 0x66, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xa5, 0x51, 0x3e, 0xff, 0x99, 0x4b, 0x39, 0xff,
+ 0x7a, 0x3b, 0x2d, 0xff, 0x37, 0x1b, 0x14, 0xb5, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x2f, 0x24, 0x95, 0x7e, 0x59, 0x51, 0xff, 0xaf, 0x5e, 0x4b, 0xff,
+ 0xa2, 0x50, 0x3c, 0xff, 0x77, 0x3a, 0x2c, 0xff, 0x80, 0x72, 0x6f, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xb1, 0x64, 0x52, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xa3, 0x50, 0x3d, 0xff,
+ 0x87, 0x42, 0x32, 0xff, 0x44, 0x22, 0x19, 0xd4, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x57, 0x2b, 0x21, 0xcb, 0x9e, 0x79, 0x71, 0xff, 0xae, 0x5c, 0x49, 0xff,
+ 0x86, 0x42, 0x32, 0xff, 0x94, 0x5f, 0x53, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0x55, 0x55, 0x55, 0xff, 0x24, 0x24, 0x24, 0xff,
+ 0x1b, 0x1b, 0x1b, 0xff, 0x19, 0x19, 0x19, 0xff, 0x18, 0x18, 0x18, 0xff,
+ 0x2c, 0x2c, 0x2c, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xc6, 0x96, 0x8b, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x86, 0x42, 0x32, 0xff, 0x4c, 0x25, 0x1c, 0xe3, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5a, 0x2f, 0x25, 0xcc, 0xab, 0x7e, 0x73, 0xff, 0xae, 0x5c, 0x49, 0xff,
+ 0x7c, 0x3d, 0x2e, 0xff, 0x9d, 0x73, 0x69, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x83, 0x83, 0x83, 0xff,
+ 0x1f, 0x1f, 0x1f, 0xff, 0x18, 0x18, 0x18, 0xff, 0x19, 0x19, 0x19, 0xff,
+ 0x24, 0x24, 0x24, 0xff, 0x35, 0x35, 0x35, 0xff, 0x2a, 0x2a, 0x2a, 0xff,
+ 0x18, 0x18, 0x18, 0xff, 0x1b, 0x1b, 0x1b, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xd4, 0xb7, 0xb0, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x92, 0x47, 0x37, 0xff, 0x4f, 0x26, 0x1d, 0xff, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6b, 0x44, 0x3b, 0xd0, 0xa4, 0x73, 0x69, 0xff, 0xae, 0x5c, 0x49, 0xff,
+ 0x7e, 0x3e, 0x2f, 0xff, 0xb8, 0x9e, 0x98, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x36, 0x36, 0x36, 0xff,
+ 0x18, 0x18, 0x18, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x5a, 0x5a, 0x5a, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x62, 0x62, 0x62, 0xff, 0x3b, 0x3b, 0x3b, 0xff,
+ 0x35, 0x35, 0x35, 0xff, 0x1a, 0x1a, 0x1a, 0xff, 0x29, 0x29, 0x29, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xed, 0xed, 0xed, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xd5, 0xbb, 0xb5, 0xff, 0xab, 0x56, 0x42, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xa1, 0x4f, 0x3c, 0xff, 0x49, 0x23, 0x1b, 0xf2, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6b, 0x44, 0x3b, 0xd0, 0xa3, 0x73, 0x67, 0xff, 0xae, 0x5d, 0x4a, 0xff,
+ 0x78, 0x3b, 0x2d, 0xff, 0xb7, 0x96, 0x8e, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x66, 0x66, 0x66, 0xff, 0x1c, 0x1c, 0x1c, 0xff,
+ 0x1c, 0x1c, 0x1c, 0xff, 0x62, 0x62, 0x62, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0x3d, 0x3d, 0x3d, 0xff, 0x1a, 0x1a, 0x1a, 0xff, 0x1d, 0x1d, 0x1d, 0xff,
+ 0x62, 0x62, 0x62, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xc8, 0x9b, 0x91, 0xff, 0xaf, 0x5e, 0x4b, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x8e, 0x46, 0x35, 0xff, 0x48, 0x23, 0x1b, 0xd5, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6a, 0x43, 0x3b, 0xd0, 0x9d, 0x6b, 0x60, 0xff, 0xaf, 0x5e, 0x4b, 0xff,
+ 0x7a, 0x3c, 0x2d, 0xff, 0xa9, 0x78, 0x6d, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x1c, 0x1c, 0x1c, 0xff,
+ 0x18, 0x18, 0x18, 0xff, 0x73, 0x73, 0x73, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x5e, 0x5e, 0x5e, 0xff, 0x1a, 0x1a, 0x1a, 0xff, 0x1c, 0x1c, 0x1c, 0xff,
+ 0x59, 0x59, 0x59, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xc1, 0x8c, 0x7f, 0xff, 0xac, 0x58, 0x45, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x87, 0x42, 0x32, 0xff, 0x4a, 0x25, 0x1b, 0xd7, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x65, 0x3f, 0x36, 0xbc, 0x88, 0x58, 0x4c, 0xff, 0xb1, 0x62, 0x50, 0xff,
+ 0x7f, 0x3e, 0x2f, 0xff, 0x8d, 0x52, 0x44, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x37, 0x37, 0x37, 0xff,
+ 0x17, 0x17, 0x17, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xec, 0xec, 0xec, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x6f, 0x6f, 0x6f, 0xff, 0x1a, 0x1a, 0x1a, 0xff, 0x1b, 0x1b, 0x1b, 0xff,
+ 0x61, 0x61, 0x61, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xb2, 0x64, 0x52, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x77, 0x3a, 0x2c, 0xff, 0x3d, 0x1e, 0x17, 0xb9, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5c, 0x34, 0x2b, 0x84, 0x73, 0x49, 0x40, 0xff, 0xb2, 0x64, 0x52, 0xff,
+ 0x97, 0x4a, 0x38, 0xff, 0x79, 0x3b, 0x2d, 0xff, 0xaf, 0xa7, 0xa5, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0x4b, 0x4b, 0x4b, 0xff,
+ 0x19, 0x19, 0x19, 0xff, 0x53, 0x53, 0x53, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0x4e, 0x4e, 0x4e, 0xff, 0x17, 0x17, 0x17, 0xff, 0x1e, 0x1e, 0x1e, 0xff,
+ 0x7c, 0x7c, 0x7c, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xd6, 0xbe, 0xb8, 0xff,
+ 0xb3, 0x66, 0x54, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x73, 0x38, 0x2b, 0xff, 0x36, 0x1a, 0x14, 0xaa, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x56, 0x2a, 0x20, 0x31, 0x5a, 0x32, 0x29, 0xff, 0xb6, 0x6f, 0x5f, 0xff,
+ 0xa7, 0x52, 0x3e, 0xff, 0x80, 0x3f, 0x30, 0xff, 0xa8, 0x89, 0x81, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xec, 0xec, 0xec, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x75, 0x75, 0x75, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x28, 0x28, 0x28, 0xff, 0x17, 0x17, 0x17, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xbf, 0x89, 0x7c, 0xff,
+ 0xb5, 0x6a, 0x59, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xa1, 0x4f, 0x3c, 0xff,
+ 0x65, 0x31, 0x25, 0xff, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x4d, 0x27, 0x1e, 0xf1, 0xa4, 0x67, 0x59, 0xff,
+ 0xad, 0x5a, 0x47, 0xff, 0x82, 0x40, 0x31, 0xff, 0x9f, 0x67, 0x59, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x94, 0x94, 0x94, 0xff, 0x4c, 0x4c, 0x4c, 0xff,
+ 0x17, 0x17, 0x17, 0xff, 0x1d, 0x1d, 0x1d, 0xff, 0x67, 0x67, 0x67, 0xff,
+ 0xa3, 0xa3, 0xa3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xb5, 0x6a, 0x58, 0xff,
+ 0xac, 0x58, 0x45, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x89, 0x43, 0x32, 0xff,
+ 0x47, 0x21, 0x1a, 0xdf, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x4c, 0x25, 0x1c, 0xbb, 0x78, 0x4a, 0x3e, 0xff,
+ 0xb1, 0x62, 0x50, 0xff, 0x95, 0x49, 0x38, 0xff, 0x7d, 0x3d, 0x2f, 0xff,
+ 0xa4, 0x9c, 0x9a, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0x54, 0x54, 0x54, 0xff, 0x1b, 0x1b, 0x1b, 0xff,
+ 0x17, 0x17, 0x17, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x9b, 0x9b, 0x9b, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xd5, 0xbe, 0xb9, 0xff, 0xb7, 0x6e, 0x5d, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xa7, 0x52, 0x3e, 0xff, 0x76, 0x39, 0x2b, 0xff,
+ 0x30, 0x17, 0x11, 0xb4, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x50, 0x27, 0x1e, 0x5f, 0x59, 0x31, 0x28, 0xff,
+ 0xb6, 0x70, 0x5f, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x7c, 0x3d, 0x2e, 0xff,
+ 0xa6, 0x7f, 0x76, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xdf, 0xdf, 0xdf, 0xff,
+ 0x60, 0x60, 0x60, 0xff, 0x30, 0x30, 0x30, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0x34, 0x34, 0x34, 0xff, 0x90, 0x90, 0x90, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xbb, 0x7f, 0x71, 0xff, 0xb2, 0x64, 0x52, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0x9a, 0x4c, 0x39, 0xff, 0x5d, 0x2d, 0x22, 0xff,
+ 0x07, 0x03, 0x02, 0x59, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x4a, 0x25, 0x1d, 0xf1,
+ 0xa2, 0x67, 0x5a, 0xff, 0xad, 0x5a, 0x47, 0xff, 0x92, 0x48, 0x37, 0xff,
+ 0x86, 0x4e, 0x41, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0x43, 0x43, 0x43, 0xff, 0x16, 0x16, 0x16, 0xff, 0x19, 0x19, 0x19, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xde, 0xd1, 0xce, 0xff, 0xb5, 0x6a, 0x59, 0xff, 0xab, 0x56, 0x42, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0x82, 0x40, 0x30, 0xff, 0x39, 0x1c, 0x15, 0xe3,
+ 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0x24, 0x1b, 0xa5,
+ 0x6b, 0x3f, 0x35, 0xff, 0xb5, 0x6a, 0x58, 0xff, 0xa5, 0x51, 0x3e, 0xff,
+ 0x7a, 0x3c, 0x2d, 0xff, 0xb6, 0x94, 0x8c, 0xff, 0xab, 0xab, 0xab, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x2a, 0x2a, 0x2a, 0xff, 0x16, 0x16, 0x16, 0xff, 0x4d, 0x4d, 0x4d, 0xff,
+ 0x80, 0x80, 0x80, 0xff, 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xbe, 0x85, 0x78, 0xff, 0xb5, 0x6a, 0x59, 0xff, 0xa9, 0x53, 0x3f, 0xff,
+ 0x98, 0x4b, 0x39, 0xff, 0x63, 0x30, 0x24, 0xff, 0x1d, 0x0e, 0x0b, 0xa4,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x27, 0x1e, 0x35,
+ 0x4f, 0x2a, 0x21, 0xff, 0xaf, 0x6f, 0x60, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x8c, 0x45, 0x34, 0xff, 0x8b, 0x51, 0x43, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xed, 0xed, 0xed, 0xff, 0x80, 0x80, 0x80, 0xff,
+ 0x1e, 0x1e, 0x1e, 0xff, 0x18, 0x18, 0x18, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0x87, 0x87, 0x87, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xde, 0xde, 0xde, 0xff, 0xdf, 0xd2, 0xcf, 0xff,
+ 0xb9, 0x72, 0x61, 0xff, 0xb2, 0x64, 0x52, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x80, 0x3e, 0x2f, 0xff, 0x40, 0x1e, 0x17, 0xf0, 0x00, 0x00, 0x00, 0x63,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x46, 0x22, 0x1a, 0xbf, 0x77, 0x4d, 0x42, 0xff, 0xac, 0x59, 0x45, 0xff,
+ 0xa7, 0x52, 0x3e, 0xff, 0x7a, 0x3c, 0x2e, 0xff, 0xb1, 0x91, 0x8a, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0x6f, 0x6f, 0x6f, 0xff, 0x28, 0x28, 0x28, 0xff, 0x2e, 0x2e, 0x2e, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xbf, 0x88, 0x7b, 0xff,
+ 0xbb, 0x76, 0x66, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x9f, 0x4e, 0x3b, 0xff,
+ 0x67, 0x32, 0x26, 0xff, 0x19, 0x0c, 0x09, 0xb8, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x46, 0x22, 0x1a, 0x3a, 0x4f, 0x2b, 0x23, 0xff, 0xad, 0x6a, 0x5b, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0x96, 0x4a, 0x38, 0xff, 0x89, 0x4f, 0x42, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0x9a, 0x9a, 0x9a, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xdc, 0xd0, 0xcd, 0xff, 0xbe, 0x7c, 0x6d, 0xff,
+ 0xb0, 0x60, 0x4e, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x7f, 0x3e, 0x2f, 0xff,
+ 0x40, 0x1f, 0x17, 0xf3, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x49, 0x27, 0x20, 0xc1, 0x77, 0x4e, 0x44, 0xff,
+ 0xb0, 0x60, 0x4d, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x7c, 0x3d, 0x2e, 0xff,
+ 0xa9, 0x81, 0x77, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xbe, 0x81, 0x72, 0xff, 0xb3, 0x66, 0x54, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0x99, 0x4b, 0x39, 0xff, 0x72, 0x37, 0x2a, 0xff,
+ 0x16, 0x0a, 0x08, 0xc8, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x46, 0x22, 0x1a, 0x3a, 0x4f, 0x2e, 0x26, 0xff,
+ 0xad, 0x6f, 0x62, 0xff, 0xa9, 0x53, 0x3f, 0xff, 0xa2, 0x50, 0x3d, 0xff,
+ 0x77, 0x3a, 0x2c, 0xff, 0x9e, 0x96, 0x94, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x49, 0x49, 0x49, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xcc, 0xaa, 0xa2, 0xff, 0xb2, 0x65, 0x53, 0xff, 0xab, 0x56, 0x42, 0xff,
+ 0xa5, 0x51, 0x3e, 0xff, 0x87, 0x41, 0x31, 0xff, 0x3b, 0x1c, 0x15, 0xf6,
+ 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb6, 0xb6, 0xb6, 0x07, 0x48, 0x28, 0x20, 0xad,
+ 0x68, 0x41, 0x38, 0xff, 0xb4, 0x69, 0x57, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x8a, 0x44, 0x34, 0xff, 0x8f, 0x5c, 0x51, 0xff, 0xa0, 0xa0, 0xa0, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xed, 0xed, 0xed, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x15, 0x15, 0x15, 0xff, 0x14, 0x14, 0x14, 0xff, 0x26, 0x26, 0x26, 0xff,
+ 0x60, 0x60, 0x60, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xd8, 0xcc, 0xc9, 0xff,
+ 0xb6, 0x6c, 0x5a, 0xff, 0xad, 0x5a, 0x47, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x94, 0x49, 0x37, 0xff, 0x64, 0x30, 0x24, 0xff, 0x0c, 0x05, 0x04, 0xc5,
+ 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x13,
+ 0x45, 0x23, 0x1b, 0xf2, 0x98, 0x5f, 0x52, 0xff, 0xac, 0x58, 0x45, 0xff,
+ 0xa5, 0x51, 0x3e, 0xff, 0x80, 0x3f, 0x30, 0xff, 0x98, 0x7b, 0x74, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x9b, 0x9b, 0x9b, 0xff,
+ 0x14, 0x14, 0x14, 0xff, 0x14, 0x14, 0x14, 0xff, 0x18, 0x18, 0x18, 0xff,
+ 0x5d, 0x5d, 0x5d, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xdd, 0xd7, 0xd5, 0xff, 0xbe, 0x82, 0x74, 0xff,
+ 0xae, 0x5c, 0x49, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x9c, 0x4d, 0x3a, 0xff,
+ 0x74, 0x38, 0x2a, 0xff, 0x26, 0x12, 0x0d, 0xea, 0x00, 0x00, 0x00, 0x9c,
+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x41, 0x20, 0x18, 0x6d, 0x4f, 0x29, 0x20, 0xff, 0xb0, 0x6f, 0x60, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xa7, 0x52, 0x3e, 0xff, 0x76, 0x3a, 0x2c, 0xff,
+ 0x90, 0x7b, 0x76, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x55, 0x55, 0x55, 0xff, 0x22, 0x22, 0x22, 0xff, 0x3b, 0x3b, 0x3b, 0xff,
+ 0x7f, 0x7f, 0x7f, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xc2, 0x94, 0x8a, 0xff, 0xb3, 0x66, 0x54, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xa9, 0x53, 0x3f, 0xff, 0x79, 0x3a, 0x2c, 0xff,
+ 0x4b, 0x24, 0x1b, 0xf9, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x8c,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x44, 0x21, 0x19, 0xc0, 0x67, 0x39, 0x2e, 0xff,
+ 0xaf, 0x69, 0x59, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xa7, 0x52, 0x3e, 0xff,
+ 0x84, 0x4c, 0x3f, 0xff, 0x8e, 0x87, 0x86, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xc7, 0xc7, 0xc7, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0x94, 0x94, 0x94, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xd0, 0xd0, 0xd0, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xc5, 0x9f, 0x95, 0xff, 0xb6, 0x6d, 0x5c, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0x85, 0x41, 0x31, 0xff, 0x5c, 0x2c, 0x21, 0xfd,
+ 0x0f, 0x07, 0x05, 0xcf, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x85,
+ 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x41, 0x20, 0x18, 0xd6,
+ 0x79, 0x45, 0x39, 0xff, 0xb2, 0x64, 0x52, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xa2, 0x50, 0x3d, 0xff, 0x84, 0x4c, 0x3e, 0xff, 0x91, 0x8a, 0x88, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xce, 0xce, 0xce, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xc8, 0xb1, 0xab, 0xff,
+ 0xbc, 0x78, 0x68, 0xff, 0xac, 0x58, 0x45, 0xff, 0xa8, 0x53, 0x3f, 0xff,
+ 0x8f, 0x46, 0x35, 0xff, 0x68, 0x33, 0x25, 0xff, 0x22, 0x0f, 0x0b, 0xe6,
+ 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x7f,
+ 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x18, 0x3f,
+ 0x43, 0x21, 0x19, 0xf3, 0x8c, 0x4e, 0x3f, 0xff, 0xaf, 0x5e, 0x4b, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xa6, 0x52, 0x3e, 0xff, 0x8b, 0x4f, 0x40, 0xff,
+ 0x93, 0x84, 0x81, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0xd0, 0xd0, 0xd0, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xb8, 0x81, 0x75, 0xff, 0xbf, 0x7e, 0x6f, 0xff,
+ 0xad, 0x5b, 0x48, 0xff, 0xa9, 0x53, 0x3f, 0xff, 0x97, 0x4a, 0x38, 0xff,
+ 0x6e, 0x35, 0x28, 0xff, 0x28, 0x12, 0x0d, 0xec, 0x00, 0x00, 0x00, 0xab,
+ 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x31, 0x18, 0x12, 0x4c, 0x40, 0x1f, 0x18, 0xf3, 0x8b, 0x4d, 0x3f, 0xff,
+ 0xae, 0x5c, 0x49, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0x8d, 0x45, 0x35, 0xff, 0x9b, 0x77, 0x6f, 0xff, 0xa9, 0xa9, 0xa9, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xd0, 0xd0, 0xd0, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xde, 0xde, 0xde, 0xff, 0xce, 0xc5, 0xc3, 0xff,
+ 0xb6, 0x79, 0x6a, 0xff, 0xbd, 0x7a, 0x6a, 0xff, 0xad, 0x5b, 0x48, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0x9b, 0x4c, 0x39, 0xff, 0x72, 0x37, 0x29, 0xff,
+ 0x37, 0x1a, 0x13, 0xf5, 0x00, 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x91,
+ 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x31, 0x18, 0x12, 0x4b, 0x40, 0x20, 0x19, 0xf3,
+ 0x8b, 0x4d, 0x3f, 0xff, 0xad, 0x5a, 0x47, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xa8, 0x53, 0x3f, 0xff, 0x9a, 0x4c, 0x39, 0xff, 0x92, 0x53, 0x45, 0xff,
+ 0x9e, 0x80, 0x79, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xd4, 0xcd, 0xcb, 0xff, 0xbc, 0x91, 0x87, 0xff, 0xb4, 0x68, 0x57, 0xff,
+ 0xb7, 0x6f, 0x5e, 0xff, 0xac, 0x58, 0x45, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xa0, 0x4e, 0x3b, 0xff, 0x72, 0x37, 0x2a, 0xff, 0x3e, 0x1e, 0x16, 0xf5,
+ 0x00, 0x00, 0x00, 0xb7, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x7a,
+ 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x45,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x18, 0x12, 0x4b,
+ 0x40, 0x20, 0x19, 0xf3, 0x88, 0x4a, 0x3b, 0xff, 0xa8, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xa0, 0x4f, 0x3c, 0xff,
+ 0x98, 0x4b, 0x39, 0xff, 0xa5, 0x5b, 0x49, 0xff, 0xb2, 0x85, 0x7a, 0xff,
+ 0xc9, 0xb1, 0xab, 0xff, 0xc6, 0xac, 0xa7, 0xff, 0xb6, 0x7f, 0x72, 0xff,
+ 0xb5, 0x6a, 0x59, 0xff, 0xb1, 0x63, 0x51, 0xff, 0xae, 0x5c, 0x49, 0xff,
+ 0xab, 0x56, 0x42, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x9c, 0x4d, 0x3a, 0xff,
+ 0x6a, 0x34, 0x27, 0xff, 0x3d, 0x1d, 0x16, 0xf5, 0x03, 0x01, 0x01, 0xb3,
+ 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x31, 0x18, 0x12, 0x4c, 0x3f, 0x1f, 0x17, 0xe6, 0x72, 0x38, 0x2a, 0xff,
+ 0x9c, 0x4d, 0x3a, 0xff, 0xa9, 0x53, 0x3f, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0x95, 0x49, 0x37, 0xff, 0x68, 0x31, 0x26, 0xff,
+ 0x30, 0x17, 0x11, 0xe4, 0x03, 0x01, 0x01, 0xa2, 0x00, 0x00, 0x00, 0x7b,
+ 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x3c, 0x1d, 0x16, 0xb2,
+ 0x54, 0x29, 0x1f, 0xff, 0x8a, 0x44, 0x33, 0xff, 0xa0, 0x4f, 0x3c, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0x9d, 0x4d, 0x3a, 0xff,
+ 0x7a, 0x3b, 0x2c, 0xff, 0x52, 0x27, 0x1e, 0xfb, 0x24, 0x10, 0x0c, 0xd3,
+ 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13,
+ 0x26, 0x12, 0x0e, 0x5d, 0x3c, 0x1d, 0x16, 0xc9, 0x5c, 0x2d, 0x22, 0xff,
+ 0x89, 0x43, 0x33, 0xff, 0x97, 0x4a, 0x38, 0xff, 0xa3, 0x50, 0x3d, 0xff,
+ 0xaa, 0x54, 0x40, 0xff, 0xaa, 0x54, 0x40, 0xff, 0xa5, 0x51, 0x3d, 0xff,
+ 0x91, 0x47, 0x35, 0xff, 0x80, 0x3e, 0x2f, 0xff, 0x5b, 0x2c, 0x21, 0xfa,
+ 0x32, 0x18, 0x11, 0xdf, 0x10, 0x08, 0x05, 0x9a, 0x06, 0x02, 0x02, 0x6d,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1f, 0x21, 0x10, 0x0c, 0x68,
+ 0x34, 0x19, 0x13, 0xbd, 0x42, 0x20, 0x18, 0xda, 0x57, 0x2a, 0x20, 0xff,
+ 0x6e, 0x36, 0x29, 0xff, 0x5d, 0x2d, 0x22, 0xff, 0x44, 0x21, 0x19, 0xf6,
+ 0x3a, 0x1c, 0x15, 0xe7, 0x26, 0x12, 0x0d, 0xc6, 0x00, 0x00, 0x00, 0x7b,
+ 0x15, 0x0a, 0x07, 0x67, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x51,
+ 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x5c,
+ 0x00, 0x00, 0x69, 0x14, 0x00, 0x00, 0x69, 0x28, 0x67, 0x74, 0x6b, 0x2d,
+ 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x00, 0x69, 0x34, 0x00, 0x00, 0x69, 0x3c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfd, 0xfd, 0xff, 0xfa, 0xe2, 0xdd, 0xff,
+ 0xfa, 0xe2, 0xdd, 0xff, 0xfa, 0xe2, 0xdd, 0xff, 0xfa, 0xe2, 0xdd, 0xff,
+ 0xf2, 0xae, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x27, 0x4a, 0xff, 0xff,
+ 0x5f, 0x79, 0xff, 0xff, 0x60, 0x7b, 0xff, 0xff, 0x60, 0x7b, 0xff, 0xff,
+ 0x63, 0x7c, 0xff, 0xff, 0x7b, 0x90, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfc, 0xf8, 0xe9, 0xff, 0xfa, 0xf4, 0xdf, 0xff, 0xfa, 0xf5, 0xe1, 0xff,
+ 0xfa, 0xf5, 0xe1, 0xff, 0xfa, 0xf5, 0xe1, 0xff, 0xf6, 0xeb, 0xc5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfa, 0xe2, 0xdd, 0xff, 0xf4, 0xbb, 0xaf, 0xff,
+ 0xf4, 0xbb, 0xaf, 0xff, 0xf4, 0xbb, 0xaf, 0xff, 0xf4, 0xbb, 0xaf, 0xff,
+ 0xeb, 0x86, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5f, 0x79, 0xff, 0xff,
+ 0xa7, 0xb5, 0xff, 0xff, 0xa7, 0xb5, 0xff, 0xff, 0xa8, 0xb7, 0xff, 0xff,
+ 0xa8, 0xb7, 0xff, 0xff, 0xaa, 0xb8, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xf4, 0xdf, 0xff, 0xf5, 0xe7, 0xb8, 0xff, 0xf5, 0xe7, 0xb8, 0xff,
+ 0xf5, 0xe8, 0xba, 0xff, 0xf5, 0xe8, 0xbc, 0xff, 0xed, 0xd3, 0x7c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfa, 0xe2, 0xdd, 0xff, 0xf4, 0xbb, 0xaf, 0xff,
+ 0xf4, 0xbb, 0xaf, 0xff, 0xf4, 0xbb, 0xaf, 0xff, 0xf4, 0xbb, 0xaf, 0xff,
+ 0xeb, 0x86, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5f, 0x79, 0xff, 0xff,
+ 0xa7, 0xb5, 0xff, 0xff, 0xa8, 0xb7, 0xff, 0xff, 0xaa, 0xb8, 0xff, 0xff,
+ 0xaa, 0xb8, 0xff, 0xff, 0xad, 0xba, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xf5, 0xe1, 0xff, 0xf5, 0xe7, 0xb8, 0xff, 0xf5, 0xe8, 0xba, 0xff,
+ 0xf5, 0xe8, 0xbc, 0xff, 0xf5, 0xe8, 0xbc, 0xff, 0xed, 0xd4, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfa, 0xe2, 0xdd, 0xff, 0xf4, 0xbb, 0xaf, 0xff,
+ 0xf4, 0xbb, 0xaf, 0xff, 0xf4, 0xbb, 0xaf, 0xff, 0xf4, 0xbb, 0xaf, 0xff,
+ 0xe8, 0x89, 0x75, 0xff, 0x00, 0x00, 0x00, 0xff, 0x60, 0x7b, 0xff, 0xff,
+ 0xa8, 0xb7, 0xff, 0xff, 0x85, 0x90, 0xc8, 0xff, 0x09, 0x06, 0x00, 0xff,
+ 0x87, 0x91, 0xc8, 0xff, 0xa4, 0xb0, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf4, 0xe0, 0xff, 0xf2, 0xe6, 0xbb, 0xff, 0xf1, 0xe5, 0xbb, 0xff,
+ 0xf5, 0xe8, 0xbd, 0xff, 0xf6, 0xe9, 0xbd, 0xff, 0xed, 0xd4, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfa, 0xe2, 0xdd, 0xff, 0xf4, 0xbb, 0xaf, 0xff,
+ 0xf4, 0xbb, 0xaf, 0xff, 0xf4, 0xbb, 0xaf, 0xff, 0xf4, 0xbb, 0xaf, 0xff,
+ 0xeb, 0x87, 0x73, 0xff, 0x00, 0x00, 0x00, 0xff, 0x63, 0x7c, 0xff, 0xff,
+ 0xa6, 0xb3, 0xf9, 0xff, 0x57, 0x4f, 0x4f, 0xff, 0xfd, 0xfd, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x87, 0x91, 0xc6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe3, 0xdf, 0xd3, 0xff, 0xf5, 0xe8, 0xbc, 0xff, 0xf5, 0xe8, 0xbc, 0xff,
+ 0xf5, 0xe8, 0xbd, 0xff, 0xf6, 0xea, 0xbf, 0xff, 0xed, 0xd4, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xa8, 0x9a, 0xff, 0xeb, 0x86, 0x72, 0xff,
+ 0xeb, 0x86, 0x72, 0xff, 0xeb, 0x86, 0x72, 0xff, 0xec, 0x87, 0x73, 0xff,
+ 0xd8, 0x3c, 0x1d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x77, 0x8d, 0xff, 0xff,
+ 0x96, 0xa2, 0xe0, 0xff, 0x57, 0x50, 0x50, 0xff, 0xfd, 0xfa, 0xf8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x7a, 0x83, 0xb1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd8, 0xce, 0xae, 0xff, 0xed, 0xd3, 0x7c, 0xff, 0xed, 0xd4, 0x7e, 0xff,
+ 0xec, 0xd4, 0x7f, 0xff, 0xed, 0xd4, 0x7e, 0xff, 0xe7, 0xc6, 0x52, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6d, 0x67, 0x67, 0xff, 0xf9, 0xf1, 0xea, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfc, 0xff, 0xf6, 0xf2, 0xed, 0xff,
+ 0xf2, 0xec, 0xe5, 0xff, 0xf2, 0xec, 0xe5, 0xff, 0xf2, 0xed, 0xe7, 0xff,
+ 0xd7, 0xc5, 0xb2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0x62, 0x5c, 0x5b, 0xff, 0xf9, 0xee, 0xe4, 0xff,
+ 0x4f, 0x4d, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x86, 0x80, 0x77, 0xff, 0xb6, 0xae, 0xa3, 0xff,
+ 0xed, 0xe2, 0xd3, 0xff, 0xfb, 0xf0, 0xe0, 0xff, 0xf8, 0xd3, 0x9f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xec, 0xe5, 0xff, 0xe1, 0xd3, 0xc4, 0xff,
+ 0xe1, 0xd4, 0xc6, 0xff, 0xe1, 0xd4, 0xc6, 0xff, 0xe2, 0xd5, 0xc7, 0xff,
+ 0xca, 0xb1, 0x97, 0xff, 0x00, 0x00, 0x00, 0xff, 0x9c, 0x9c, 0x9c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x61, 0x5c, 0x5b, 0xff, 0xf9, 0xf0, 0xe4, 0xff,
+ 0x74, 0x6c, 0x67, 0xff, 0xfe, 0xfd, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xfe, 0xfd, 0xff, 0x13, 0x12, 0x10, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x89, 0x7c, 0x69, 0xff, 0xd8, 0xc3, 0xa5, 0xff, 0xf5, 0xc2, 0x7a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xec, 0xe5, 0xff, 0xe1, 0xd4, 0xc6, 0xff,
+ 0xe1, 0xd4, 0xc6, 0xff, 0xe2, 0xd5, 0xc7, 0xff, 0xe2, 0xd5, 0xc7, 0xff,
+ 0xcb, 0xb2, 0x98, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf2, 0xf2, 0xff, 0x98, 0x94, 0x8f, 0xff, 0xf9, 0xef, 0xe3, 0xff,
+ 0xa0, 0x94, 0x89, 0xff, 0xfe, 0xfd, 0xfd, 0xff, 0x76, 0x6d, 0x68, 0xff,
+ 0xfe, 0xfd, 0xfc, 0xff, 0x73, 0x69, 0x61, 0xff, 0xa3, 0xa3, 0xa2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb3, 0xa1, 0x88, 0xff, 0xda, 0xac, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xed, 0xe7, 0xff, 0xe1, 0xd4, 0xc6, 0xff,
+ 0xe2, 0xd5, 0xc7, 0xff, 0xe2, 0xd5, 0xc7, 0xff, 0xe3, 0xd6, 0xc8, 0xff,
+ 0xcb, 0xb2, 0x98, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe8, 0xe5, 0xe2, 0xff, 0x97, 0x93, 0x8e, 0xff, 0xf6, 0xe9, 0xd8, 0xff,
+ 0x84, 0x81, 0x7a, 0xff, 0xfb, 0xf3, 0xea, 0xff, 0x90, 0x8c, 0x86, 0xff,
+ 0xf1, 0xed, 0xe7, 0xff, 0x7b, 0x79, 0x75, 0xff, 0x87, 0x87, 0x86, 0xff,
+ 0x07, 0x00, 0x00, 0xff, 0x92, 0x84, 0x70, 0xff, 0xce, 0xa4, 0x68, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xed, 0xe7, 0xff, 0xe2, 0xd5, 0xc7, 0xff,
+ 0xe2, 0xd5, 0xc7, 0xff, 0xe3, 0xd6, 0xc8, 0xff, 0xe4, 0xd7, 0xc9, 0xff,
+ 0xcb, 0xb3, 0x9a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe2, 0xdf, 0xdc, 0xff, 0xa8, 0xa1, 0x99, 0xff, 0xf0, 0xe0, 0xce, 0xff,
+ 0xc8, 0xbf, 0xb4, 0xff, 0xd5, 0xcc, 0xbf, 0xff, 0xdf, 0xd7, 0xcd, 0xff,
+ 0xda, 0xd3, 0xc9, 0xff, 0xdd, 0xcf, 0xc4, 0xff, 0x92, 0x8c, 0x84, 0xff,
+ 0x07, 0x00, 0x00, 0xff, 0x8f, 0x81, 0x6e, 0xff, 0xcf, 0xa5, 0x6a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xdb, 0xca, 0xb8, 0xff, 0xcb, 0xb2, 0x98, 0xff,
+ 0xcb, 0xb2, 0x98, 0xff, 0xcb, 0xb3, 0x9a, 0xff, 0xcb, 0xb3, 0x9a, 0xff,
+ 0xaf, 0x8a, 0x62, 0xff, 0x00, 0x00, 0x00, 0xff, 0x04, 0x00, 0x00, 0xff,
+ 0xd9, 0xd5, 0xd2, 0xff, 0xd9, 0xca, 0xbb, 0xff, 0xd7, 0xc8, 0xb8, 0xff,
+ 0xde, 0xcf, 0xbf, 0xff, 0xd8, 0xc9, 0xb9, 0xff, 0xe3, 0xd3, 0xc2, 0xff,
+ 0xc9, 0xbb, 0xac, 0xff, 0xd9, 0xce, 0xc2, 0xff, 0x7f, 0x76, 0x6d, 0xff,
+ 0x07, 0x00, 0x00, 0xff, 0x88, 0x7c, 0x6a, 0xff, 0xd3, 0x9b, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x01, 0x00, 0xff,
+ 0xc0, 0xbd, 0xba, 0xff, 0x8c, 0x87, 0x82, 0xff, 0xc2, 0xb5, 0xa7, 0xff,
+ 0xbf, 0xb4, 0xa6, 0xff, 0xb8, 0xab, 0x9d, 0xff, 0xba, 0xad, 0x9e, 0xff,
+ 0xbe, 0xb0, 0xa2, 0xff, 0x94, 0x8a, 0x7f, 0xff, 0x71, 0x68, 0x60, 0xff,
+ 0x07, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfc, 0xfc, 0xff, 0xf5, 0xe7, 0xe6, 0xff,
+ 0xf5, 0xe7, 0xe6, 0xff, 0xf5, 0xe7, 0xe6, 0xff, 0xf5, 0xe7, 0xe6, 0xff,
+ 0xe0, 0xb2, 0xad, 0xff, 0x00, 0x00, 0x00, 0xff, 0x93, 0xb4, 0x8e, 0xff,
+ 0x33, 0x2c, 0x2b, 0xff, 0x5d, 0x59, 0x54, 0xff, 0x79, 0x73, 0x6c, 0xff,
+ 0x95, 0x8c, 0x80, 0xff, 0x8d, 0x83, 0x79, 0xff, 0x94, 0x8a, 0x7f, 0xff,
+ 0x98, 0x8d, 0x82, 0xff, 0x70, 0x67, 0x60, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x55, 0x56, 0x5d, 0xff, 0xad, 0xb0, 0xbc, 0xff, 0x94, 0xa0, 0xeb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xe7, 0xe6, 0xff, 0xe9, 0xc8, 0xc4, 0xff,
+ 0xe9, 0xc9, 0xc6, 0xff, 0xea, 0xcb, 0xc7, 0xff, 0xea, 0xcb, 0xc7, 0xff,
+ 0xd6, 0x9b, 0x95, 0xff, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xcf, 0xa4, 0xff,
+ 0x6a, 0x81, 0x66, 0xff, 0x20, 0x1a, 0x1a, 0xff, 0x57, 0x51, 0x4f, 0xff,
+ 0x62, 0x5c, 0x59, 0xff, 0x62, 0x5a, 0x53, 0xff, 0x6b, 0x62, 0x5a, 0xff,
+ 0x58, 0x52, 0x51, 0xff, 0x69, 0x67, 0x64, 0xff, 0x08, 0x00, 0x00, 0xff,
+ 0x54, 0x56, 0x66, 0xff, 0xbc, 0xc1, 0xe1, 0xff, 0x8d, 0x9a, 0xea, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xe7, 0xe6, 0xff, 0xe9, 0xc9, 0xc6, 0xff,
+ 0xea, 0xcb, 0xc7, 0xff, 0xea, 0xcb, 0xc7, 0xff, 0xea, 0xcc, 0xc9, 0xff,
+ 0xd6, 0x9b, 0x95, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc4, 0xef, 0xbd, 0xff,
+ 0xab, 0xd0, 0xa5, 0xff, 0xa3, 0xab, 0x9c, 0xff, 0x05, 0x00, 0x00, 0xff,
+ 0x0c, 0x03, 0x03, 0xff, 0x08, 0x00, 0x00, 0xff, 0x08, 0x01, 0x00, 0xff,
+ 0x03, 0x00, 0x00, 0xff, 0x2c, 0x2a, 0x30, 0xff, 0x54, 0x56, 0x65, 0xff,
+ 0x6b, 0x6e, 0x80, 0xff, 0xc5, 0xcb, 0xed, 0xff, 0x8e, 0x9b, 0xeb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xe9, 0xe7, 0xff, 0xea, 0xcc, 0xc9, 0xff,
+ 0xeb, 0xcd, 0xca, 0xff, 0xeb, 0xcd, 0xca, 0xff, 0xeb, 0xcf, 0xcc, 0xff,
+ 0xd7, 0x9c, 0x96, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcb, 0xf5, 0xc4, 0xff,
+ 0xba, 0xdf, 0xb4, 0xff, 0x04, 0x00, 0x00, 0xff, 0xec, 0xe4, 0xe2, 0xff,
+ 0xde, 0xd7, 0xd5, 0xff, 0xd8, 0xd1, 0xd0, 0xff, 0xe0, 0xdb, 0xd7, 0xff,
+ 0xe9, 0xe6, 0xe3, 0xff, 0xfc, 0xfb, 0xfa, 0xff, 0x03, 0x05, 0x00, 0xff,
+ 0x7e, 0x81, 0x95, 0xff, 0xca, 0xcf, 0xee, 0xff, 0x92, 0x9e, 0xeb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xe9, 0xe7, 0xff, 0xeb, 0xcd, 0xca, 0xff,
+ 0xeb, 0xcd, 0xca, 0xff, 0xeb, 0xcf, 0xcc, 0xff, 0xeb, 0xcf, 0xcc, 0xff,
+ 0xd8, 0x9e, 0x97, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcc, 0xf5, 0xc6, 0xff,
+ 0xc8, 0xef, 0xc1, 0xff, 0x04, 0x00, 0x00, 0xff, 0x0b, 0x05, 0x05, 0xff,
+ 0x05, 0x00, 0x00, 0xff, 0x14, 0x10, 0x0f, 0xff, 0x03, 0x00, 0x00, 0xff,
+ 0x09, 0x08, 0x06, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0xff,
+ 0x8b, 0x8e, 0xa3, 0xff, 0xce, 0xd3, 0xf3, 0xff, 0x7d, 0x8c, 0xe8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xda, 0xd7, 0xff, 0xd6, 0x9b, 0x95, 0xff,
+ 0xd7, 0x9c, 0x96, 0xff, 0xd7, 0x9c, 0x96, 0xff, 0xd8, 0x9e, 0x97, 0xff,
+ 0xba, 0x55, 0x4b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x96, 0xeb, 0x88, 0xff,
+ 0x97, 0xec, 0x89, 0xff, 0x97, 0xec, 0x89, 0xff, 0x97, 0xec, 0x89, 0xff,
+ 0x8f, 0xdf, 0x82, 0xff, 0x74, 0xb3, 0x69, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x6a, 0x74, 0xb0, 0xff, 0x6a, 0x74, 0xb0, 0xff, 0x5e, 0x67, 0x9a, 0xff,
+ 0x69, 0x71, 0xa9, 0xff, 0x94, 0xa0, 0xeb, 0xff, 0x5b, 0x6e, 0xe2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x72, 0x68, 0x00, 0x00, 0x72, 0x74, 0x67, 0x74, 0x6b, 0x2d,
+ 0x62, 0x6f, 0x6c, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x72, 0x88, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x7b, 0xb0, 0x00, 0x00, 0x72, 0x90, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0x93, 0x93, 0x93, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x3d, 0x3d, 0x3d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x40, 0x40, 0x40, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x02, 0x02, 0x02, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7f, 0x7f, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0x23, 0x23, 0x23, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x39, 0x39, 0x39, 0xff, 0x23, 0x23, 0x23, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x25, 0x25, 0x25, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x64, 0x64, 0x64, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x61, 0x61, 0x61, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xa6, 0xa6, 0xa6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x65, 0x65, 0x65, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0x0f, 0x0f, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0f, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x03, 0x03, 0x03, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x11, 0x11, 0x11, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x4c, 0x4c, 0x4c, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x39, 0x39, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa6, 0xa6, 0xa6, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4a, 0x4a, 0x4a, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0x03, 0x03, 0x03, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x03, 0x03, 0x03, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x85, 0x85, 0x85, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x71, 0x71, 0x71, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x59, 0x59, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x2c, 0x2c, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0xb8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x83, 0x83, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x85, 0x85, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0x27, 0x27, 0x27, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x28, 0x28, 0x28, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x20, 0x20, 0x20, 0xff, 0x14, 0x14, 0x14, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xba, 0xba, 0xba, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x59, 0x59, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x62, 0x62, 0x62, 0xff,
+ 0x54, 0x54, 0x54, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5c, 0x5c, 0x5c, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0x0a, 0x0a, 0x0a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0x98, 0x98, 0x98, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x0a, 0x0a, 0x0a, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x8b, 0x8b, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x2e, 0x2e, 0x2e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x77, 0x77, 0x77, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x30, 0x30, 0x30, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8d, 0x54, 0x00, 0x00, 0x7f, 0xe4,
+ 0x00, 0x00, 0x7f, 0xf0, 0x67, 0x74, 0x6b, 0x2d, 0x68, 0x6f, 0x6d, 0x65,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x89, 0x2c,
+ 0x00, 0x00, 0x80, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x21, 0x21, 0x21, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc1, 0x66, 0x5a, 0xff, 0x92, 0x4b, 0x37, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2a, 0x2a, 0x2a, 0xff,
+ 0x33, 0x33, 0x33, 0xff, 0x34, 0x34, 0x34, 0xff, 0x24, 0x24, 0x24, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x94, 0x4d, 0x3a, 0xff, 0xa0, 0x54, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0xff, 0x47, 0x47, 0x47, 0xff,
+ 0x55, 0x55, 0x55, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x38, 0x38, 0x38, 0xff,
+ 0x19, 0x19, 0x19, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x97, 0x4f, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x22, 0x22, 0x22, 0xff, 0x31, 0x31, 0x31, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0x67, 0x67, 0x67, 0xff, 0xac, 0xac, 0xac, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0x58, 0x58, 0x58, 0xff, 0x14, 0x14, 0x14, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x1c, 0x1c, 0x1c, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0x66, 0x66, 0x66, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x7e, 0x7e, 0x7e, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0x26, 0x26, 0x26, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x23, 0x23, 0x23, 0xff, 0x50, 0x50, 0x50, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0x90, 0x90, 0x90, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0x9a, 0x9a, 0x9a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0x83, 0x83, 0x83, 0xff,
+ 0x17, 0x17, 0x17, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x20, 0x20, 0x20, 0xff, 0x71, 0x71, 0x71, 0xff, 0xa6, 0xa6, 0xa6, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0x9a, 0x9a, 0x9a, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x61, 0x61, 0x61, 0xff, 0x1d, 0x1d, 0x1d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x1f, 0x1f, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xae, 0xae, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0x7c, 0x7c, 0x7c, 0xff, 0x1c, 0x1c, 0x1c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x23, 0x23, 0x23, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x90, 0x90, 0x90, 0xff, 0x6c, 0x6c, 0x6c, 0xff,
+ 0x24, 0x24, 0x24, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x94, 0x94, 0x94, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x7d, 0x7d, 0x7d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6e, 0x6e, 0x6e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa9, 0xa9, 0xa9, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe9, 0x9e, 0x8f, 0xff, 0xdd, 0x80, 0x6d, 0xff, 0x9b, 0x53, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x62, 0x62, 0x62, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x85, 0x85, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xec, 0xa2, 0x92, 0xff, 0xd0, 0x53, 0x3a, 0xff, 0x93, 0x4f, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6d, 0x6d, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xec, 0xa2, 0x91, 0xff, 0xcf, 0x54, 0x3c, 0xff, 0x37, 0x1d, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0x94, 0x94, 0x94, 0xff,
+ 0x5d, 0x5d, 0x5d, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x86, 0x86, 0x86, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xee, 0xee, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xec, 0xa6, 0x96, 0xff, 0xc9, 0x5c, 0x49, 0xff, 0x93, 0x4f, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0xff, 0xba, 0xba, 0xba, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe1, 0x7c, 0x66, 0xff, 0xc1, 0x66, 0x5a, 0xff, 0x92, 0x4e, 0x3d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0x3d, 0x12, 0x08, 0xff,
+ 0xd1, 0x51, 0x37, 0xff, 0xc1, 0x66, 0x5a, 0xff, 0x9b, 0x53, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x35, 0x1c, 0x1c, 0x1c, 0xff,
+ 0x87, 0x99, 0x81, 0xff, 0x82, 0x94, 0x7c, 0xff, 0x8a, 0x9b, 0x85, 0xff,
+ 0x87, 0x99, 0x81, 0xff, 0x6e, 0x84, 0x67, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x4c, 0x60, 0x42, 0xff, 0x3f, 0x4f, 0x37, 0xff, 0x30, 0x3d, 0x2a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x82, 0x94, 0x7c, 0xff, 0x7f, 0x8f, 0x7a, 0xff,
+ 0x64, 0x78, 0x5e, 0xff, 0x44, 0x56, 0x3e, 0xff, 0x65, 0x74, 0x60, 0xff,
+ 0x40, 0x50, 0x3a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x34, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xe8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa9, 0x58, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x65, 0x65, 0x65, 0xff,
+ 0x5b, 0x5b, 0x5b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x76, 0x3e, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x60, 0x60, 0x60, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x66, 0x66, 0x66, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x11, 0x11, 0x11, 0xff, 0x39, 0x39, 0x39, 0xff,
+ 0x8b, 0x8b, 0x8b, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0x9b, 0x9b, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x4a, 0x4a, 0x4a, 0xff,
+ 0x9b, 0x9b, 0x9b, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x85, 0x85, 0x85, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x4a, 0x4a, 0x4a, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xce, 0xce, 0xce, 0xff, 0x9b, 0x9b, 0x9b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x19, 0x19, 0x19, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xea, 0xea, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x2e, 0x2e, 0x2e, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x34, 0x34, 0x34, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x14, 0x14, 0x14, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0xff, 0xdf, 0xdf, 0xdf, 0xff,
+ 0x50, 0x23, 0x1a, 0xff, 0x57, 0x26, 0x1d, 0xff, 0x3d, 0x1b, 0x14, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x39, 0x39, 0x39, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x32, 0x32, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xaa, 0xaa, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0x53, 0x25, 0x1b, 0xff, 0xa5, 0x49, 0x37, 0xff,
+ 0x53, 0x25, 0x1b, 0xff, 0xed, 0xed, 0xed, 0xff, 0x2e, 0x2e, 0x2e, 0xff,
+ 0x39, 0x39, 0x39, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0x53, 0x25, 0x1b, 0xff,
+ 0xa5, 0x49, 0x37, 0xff, 0x53, 0x25, 0x1b, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0x53, 0x25, 0x1b, 0xff, 0xa5, 0x49, 0x37, 0xff, 0x53, 0x25, 0x1b, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xb6, 0xb6, 0xb6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x61, 0x2b, 0x20, 0xff, 0x53, 0x25, 0x1b, 0xff,
+ 0x43, 0x1d, 0x15, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0x42, 0x4a, 0x40, 0xff,
+ 0x42, 0x4a, 0x40, 0xff, 0x58, 0x64, 0x55, 0xff, 0x5b, 0x66, 0x57, 0xff,
+ 0x46, 0x55, 0x41, 0xff, 0x36, 0x45, 0x30, 0xff, 0x27, 0x31, 0x22, 0xff,
+ 0x0b, 0x0e, 0x09, 0xff, 0x56, 0x62, 0x52, 0xff, 0x49, 0x55, 0x45, 0xff,
+ 0x35, 0x40, 0x31, 0xff, 0x33, 0x3d, 0x2f, 0xff, 0x49, 0x55, 0x45, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4a, 0x40, 0xff,
+ 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x87, 0x49, 0x55, 0x45, 0xff,
+ 0x49, 0x55, 0x45, 0xff, 0x49, 0x55, 0x45, 0xff, 0x49, 0x55, 0x45, 0xff,
+ 0x49, 0x55, 0x45, 0xff, 0x00, 0x00, 0x00, 0x68, 0x49, 0x55, 0x45, 0xff,
+ 0x49, 0x55, 0x45, 0xff, 0x49, 0x55, 0x45, 0xff, 0x49, 0x55, 0x45, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x8d, 0x60, 0x00, 0x00, 0x8d, 0x74,
+ 0x67, 0x74, 0x6b, 0x2d, 0x73, 0x74, 0x72, 0x69, 0x6b, 0x65, 0x74, 0x68,
+ 0x72, 0x6f, 0x75, 0x67, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x8d, 0x88, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x96, 0xb0, 0x00, 0x00, 0x8d, 0x90, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x11, 0x11, 0x11, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0x52, 0x52, 0x52, 0xff,
+ 0x13, 0x13, 0x13, 0xff, 0x00, 0x00, 0x00, 0xff, 0x98, 0x98, 0x98, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x08, 0x08, 0x08, 0xff,
+ 0x6a, 0x6a, 0x6a, 0xff, 0x1b, 0x1b, 0x1b, 0xff, 0x38, 0x38, 0x38, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x8b, 0x8b, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0x6a, 0x6a, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x32, 0x32, 0x32, 0xff, 0x14, 0x14, 0x14, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x68, 0x68, 0x68, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x64, 0x64, 0x64, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x25, 0x25, 0x25, 0xff,
+ 0x10, 0x10, 0x10, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0x16, 0x16, 0x16, 0xff, 0x1d, 0x1d, 0x1d, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x35, 0x35, 0x35, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xa7, 0xa7, 0xa7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0x4c, 0x4c, 0x4c, 0xff,
+ 0x07, 0x07, 0x07, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x66, 0x66, 0x66, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0x04, 0x04, 0x04, 0xff,
+ 0x4d, 0x4d, 0x4d, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x21, 0x21, 0x21, 0xff, 0x0d, 0x0d, 0x0d, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x87, 0x87, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa3, 0xa3, 0xa3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x7d, 0x7d, 0x7d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x0d, 0x0d, 0x0d, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x32, 0x32, 0x32, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0xb8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0x02, 0x02, 0x02, 0xff,
+ 0x0a, 0x0a, 0x0a, 0xff, 0xde, 0xde, 0xde, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x21, 0x21, 0x21, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x20, 0x20, 0x20, 0xff,
+ 0x2d, 0x2d, 0x2d, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x53, 0x53, 0x53, 0xff, 0x06, 0x06, 0x06, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x5e, 0x5e, 0x5e, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0x07, 0x07, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x0b, 0x0b, 0x0b, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x2d, 0x2d, 0x2d, 0xff, 0x20, 0x20, 0x20, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x15, 0x15, 0x15, 0xff, 0x30, 0x30, 0x30, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x58, 0x00, 0x00, 0x9a, 0xe4,
+ 0x00, 0x00, 0x9a, 0xf4, 0x67, 0x74, 0x6b, 0x2d, 0x75, 0x6e, 0x64, 0x6f,
+ 0x2d, 0x72, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x9b, 0x08, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0xa4, 0x30, 0x00, 0x00, 0x9b, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0xff, 0xef, 0xe5, 0xba, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xef, 0xe7, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xff,
+ 0xb2, 0x95, 0x44, 0xff, 0xd5, 0xb7, 0x5d, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xef, 0xe4, 0xb6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0xff, 0xd1, 0xb0, 0x51, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xef, 0xe5, 0xba, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0xa0, 0x48, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xc0, 0xaf, 0x73, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0xff, 0xd9, 0xc3, 0x74, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xe0, 0xb7, 0x4c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0x98, 0x6b, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xff,
+ 0xb1, 0x93, 0x3f, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xd5, 0x9d, 0x1c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0x8f, 0x64, 0x06, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xff,
+ 0xcc, 0xb7, 0x6d, 0xff, 0xdf, 0xb7, 0x4a, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0x98, 0x6b, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0x8f, 0x64, 0x06, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xd9, 0xa7, 0x2e, 0xff, 0xb8, 0x82, 0x0a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0xff, 0x98, 0x6b, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0xff,
+ 0xc7, 0xb2, 0x6a, 0xff, 0xd7, 0xa6, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x9d,
+ 0xa3, 0x92, 0x56, 0xff, 0xd4, 0xb1, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0xff, 0xe2, 0xcb, 0x79, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0xff, 0x8d, 0x7e, 0x4a, 0xff, 0xc9, 0xb4, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0xff, 0x96, 0x86, 0x4f, 0xff,
+ 0xae, 0x9c, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x38,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xef, 0xe5, 0xba, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf3, 0xdf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49,
+ 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xf9, 0xf6, 0xea, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83,
+ 0x00, 0x00, 0x00, 0xff, 0x94, 0x8a, 0x6f, 0xff, 0xef, 0xe4, 0xc2, 0xff,
+ 0xf7, 0xee, 0xcc, 0xff, 0xf4, 0xe4, 0xad, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xf9, 0xf5, 0xe4, 0xff, 0x30, 0x30, 0x30, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x96, 0x86, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x83,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0xb0, 0x51, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xf1, 0xdd, 0x97, 0xff,
+ 0xf9, 0xf5, 0xe6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc0, 0xa0, 0x48, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xf1, 0xdd, 0x97, 0xff, 0xf2, 0xef, 0xe4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x93, 0x57, 0x00,
+ 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0xff, 0xd9, 0xc3, 0x74, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xe0, 0xb7, 0x4c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xc3, 0xa9, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xcc, 0xb7, 0x6d, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb1, 0x93, 0x3f, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xd5, 0x9d, 0x1c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xbc, 0xa3, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xee, 0xd6, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcc, 0xb7, 0x6d, 0xff, 0xdf, 0xb7, 0x4a, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0x98, 0x6b, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xbe, 0xa5, 0x6f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0xd6, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xd9, 0xa7, 0x2e, 0xff,
+ 0xb8, 0x82, 0x0a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xbc, 0x9f, 0x5f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc0, 0xac, 0x66, 0x00, 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x84, 0x76, 0x45, 0x00, 0x00, 0x00, 0x00, 0x86,
+ 0xa3, 0x92, 0x56, 0xff, 0xd4, 0xb1, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0xff, 0xe2, 0xcb, 0x79, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x8d, 0x7e, 0x4a, 0xff, 0xc9, 0xb4, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xa8, 0x64,
+ 0x00, 0x00, 0xa8, 0x70, 0x67, 0x74, 0x6b, 0x2d, 0x66, 0x6c, 0x6f, 0x70,
+ 0x70, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x00, 0xa8, 0x84, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xb1, 0xac,
+ 0x00, 0x00, 0xa8, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc3, 0xd7, 0xf4, 0xff, 0xa9, 0xcd, 0xe5, 0xff, 0x75, 0x75, 0x7a, 0xff,
+ 0xef, 0xc5, 0xbb, 0xff, 0xf1, 0xc8, 0xbe, 0xff, 0xf0, 0xc6, 0xbc, 0xff,
+ 0xee, 0xbc, 0xb2, 0xff, 0xee, 0xbe, 0xb5, 0xff, 0xee, 0xc1, 0xb8, 0xff,
+ 0xed, 0xbf, 0xb6, 0xff, 0xe9, 0xb7, 0xad, 0xff, 0xe9, 0xb8, 0xaf, 0xff,
+ 0xe9, 0xb7, 0xad, 0xff, 0xe9, 0xb8, 0xaf, 0xff, 0xe9, 0xb9, 0xb1, 0xff,
+ 0xe5, 0xbf, 0xba, 0xff, 0x73, 0x72, 0x77, 0xff, 0xb3, 0xcd, 0xe3, 0xff,
+ 0xa1, 0xbe, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbb, 0xd6, 0xe8, 0xff, 0x8a, 0xaa, 0xc5, 0xff, 0x60, 0x5f, 0x68, 0xff,
+ 0xe0, 0x8d, 0x7e, 0xff, 0xe0, 0x82, 0x6e, 0xff, 0xe0, 0x80, 0x6e, 0xff,
+ 0xdc, 0x7a, 0x68, 0xff, 0xdc, 0x81, 0x71, 0xff, 0xda, 0x78, 0x68, 0xff,
+ 0xd4, 0x81, 0x73, 0xff, 0xd4, 0x7d, 0x6e, 0xff, 0xce, 0x72, 0x65, 0xff,
+ 0xcf, 0x72, 0x64, 0xff, 0xce, 0x75, 0x67, 0xff, 0xc4, 0x67, 0x5b, 0xff,
+ 0xc3, 0x65, 0x58, 0xff, 0x62, 0x61, 0x69, 0xff, 0x87, 0xa3, 0xb7, 0xff,
+ 0x56, 0x71, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xd5, 0xe9, 0xff, 0x88, 0xa7, 0xc3, 0xff, 0x68, 0x66, 0x70, 0xff,
+ 0xc8, 0x81, 0x7b, 0xff, 0xcb, 0x7c, 0x74, 0xff, 0xcb, 0x7a, 0x73, 0xff,
+ 0xcb, 0x7b, 0x73, 0xff, 0xcc, 0x7c, 0x72, 0xff, 0xcb, 0x7d, 0x73, 0xff,
+ 0xbf, 0x6b, 0x64, 0xff, 0xcc, 0x7a, 0x70, 0xff, 0xc1, 0x6a, 0x62, 0xff,
+ 0xcc, 0x7c, 0x73, 0xff, 0xc2, 0x65, 0x5b, 0xff, 0xc3, 0x64, 0x59, 0xff,
+ 0xba, 0x6c, 0x6a, 0xff, 0x68, 0x66, 0x70, 0xff, 0x81, 0x9e, 0xb6, 0xff,
+ 0x54, 0x70, 0x86, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb6, 0xd3, 0xe7, 0xff, 0x87, 0xab, 0xc1, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x73, 0x73, 0x73, 0xff, 0x83, 0xa0, 0xb8, 0xff,
+ 0x52, 0x6c, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xd3, 0xe7, 0xff, 0x85, 0xa4, 0xbf, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x73, 0x73, 0x73, 0xff, 0x83, 0xa0, 0xb8, 0xff,
+ 0x4f, 0x69, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xd3, 0xe6, 0xff, 0x84, 0xa3, 0xbf, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x73, 0x73, 0x73, 0xff, 0x88, 0xa4, 0xbb, 0xff,
+ 0x48, 0x62, 0x76, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb7, 0xd2, 0xe7, 0xff, 0x82, 0xa0, 0xbb, 0xff, 0x63, 0x63, 0x63, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x73, 0x73, 0x73, 0xff, 0x88, 0xa4, 0xbb, 0xff,
+ 0x46, 0x5e, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0xca, 0xe5, 0xff, 0x7f, 0xa2, 0xb9, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x73, 0x73, 0x73, 0xff, 0x87, 0xa3, 0xba, 0xff,
+ 0x45, 0x5c, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0xcc, 0xe5, 0xff, 0x7d, 0xa0, 0xb6, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0x73, 0x73, 0x73, 0xff, 0x87, 0xa3, 0xba, 0xff,
+ 0x54, 0x60, 0x69, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb0, 0xd1, 0xe4, 0xff, 0x83, 0xa1, 0xb6, 0xff, 0x73, 0x5b, 0x5b, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x73, 0x73, 0x73, 0xff, 0x83, 0xa0, 0xb8, 0xff,
+ 0x51, 0x5c, 0x64, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xce, 0xe3, 0xff, 0x7b, 0x9b, 0xb2, 0xff, 0x7a, 0x8e, 0x9a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x6b, 0x6f, 0x72, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x69, 0x69, 0x69, 0xff, 0x6f, 0x77, 0x7e, 0xff, 0x86, 0xa2, 0xb9, 0xff,
+ 0x3a, 0x51, 0x5d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa9, 0xc9, 0xe2, 0xff, 0x74, 0x94, 0xaf, 0xff, 0x81, 0x9e, 0xb6, 0xff,
+ 0x83, 0xa0, 0xb8, 0xff, 0x86, 0xa2, 0xb9, 0xff, 0x82, 0x9f, 0xb7, 0xff,
+ 0x7f, 0x9d, 0xb6, 0xff, 0x7e, 0x9c, 0xb5, 0xff, 0x82, 0x9f, 0xb7, 0xff,
+ 0x79, 0x98, 0xb2, 0xff, 0x86, 0xa2, 0xb9, 0xff, 0x85, 0xa1, 0xb8, 0xff,
+ 0x85, 0xa1, 0xb8, 0xff, 0x87, 0xa3, 0xba, 0xff, 0x82, 0x9f, 0xb7, 0xff,
+ 0x8c, 0xa7, 0xbd, 0xff, 0x83, 0xa0, 0xb8, 0xff, 0x8a, 0xa5, 0xbb, 0xff,
+ 0x36, 0x4a, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xab, 0xc4, 0xe2, 0xff, 0x72, 0x94, 0xad, 0xff, 0x6f, 0x90, 0xac, 0xff,
+ 0x71, 0x92, 0xae, 0xff, 0x41, 0x4a, 0x4e, 0xff, 0x42, 0x4a, 0x51, 0xff,
+ 0x52, 0x5b, 0x63, 0xff, 0x62, 0x6f, 0x79, 0xff, 0x5f, 0x6c, 0x76, 0xff,
+ 0x5c, 0x69, 0x71, 0xff, 0x5a, 0x66, 0x6f, 0xff, 0x58, 0x63, 0x6b, 0xff,
+ 0x57, 0x63, 0x6a, 0xff, 0x52, 0x5b, 0x63, 0xff, 0x3b, 0x53, 0x60, 0xff,
+ 0x39, 0x42, 0x4b, 0xff, 0x78, 0x97, 0xb3, 0xff, 0xa4, 0xb9, 0xcb, 0xff,
+ 0x36, 0x48, 0x53, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xc9, 0xe2, 0xff, 0x70, 0x91, 0xaa, 0xff, 0x6f, 0x8f, 0xa7, 0xff,
+ 0x4a, 0x53, 0x59, 0xff, 0x97, 0x93, 0x8c, 0xff, 0xdf, 0xdd, 0xda, 0xff,
+ 0xe3, 0xe1, 0xde, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xea, 0xe9, 0xe7, 0xff, 0xdf, 0xdd, 0xda, 0xff, 0xcf, 0xce, 0xc9, 0xff,
+ 0xc9, 0xc6, 0xc0, 0xff, 0x9b, 0x96, 0x8e, 0xff, 0x56, 0x61, 0x68, 0xff,
+ 0x4b, 0x65, 0x7a, 0xff, 0x54, 0x73, 0x8c, 0xff, 0xaa, 0xc6, 0xdd, 0xff,
+ 0x34, 0x46, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xc9, 0xe1, 0xff, 0x6c, 0x8e, 0xa6, 0xff, 0x6c, 0x8c, 0xa4, 0xff,
+ 0x40, 0x47, 0x4d, 0xff, 0xda, 0xd8, 0xd3, 0xff, 0xe7, 0xe6, 0xe2, 0xff,
+ 0x67, 0x65, 0x5e, 0xff, 0x52, 0x4f, 0x47, 0xff, 0x52, 0x4f, 0x47, 0xff,
+ 0xd9, 0xd7, 0xd4, 0xff, 0xc7, 0xc5, 0xbf, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xb8, 0xb3, 0xab, 0xff, 0xcf, 0xce, 0xc9, 0xff, 0x43, 0x4c, 0x54, 0xff,
+ 0x4d, 0x69, 0x7f, 0xff, 0x4f, 0x6f, 0x84, 0xff, 0xb3, 0xca, 0xdc, 0xff,
+ 0x31, 0x3e, 0x49, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xc8, 0xe1, 0xff, 0x6b, 0x8d, 0xa6, 0xff, 0x72, 0x8f, 0xa4, 0xff,
+ 0x40, 0x47, 0x4d, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff,
+ 0x67, 0x65, 0x5e, 0xff, 0x52, 0x4f, 0x47, 0xff, 0x52, 0x4f, 0x47, 0xff,
+ 0xcd, 0xca, 0xc6, 0xff, 0xc2, 0xbf, 0xb9, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xca, 0xc6, 0xc0, 0xff, 0xdc, 0xda, 0xd7, 0xff, 0x4b, 0x55, 0x5d, 0xff,
+ 0x4e, 0x69, 0x7f, 0xff, 0x4f, 0x6f, 0x84, 0xff, 0xba, 0xcc, 0xdc, 0xff,
+ 0x31, 0x3e, 0x49, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa4, 0xc4, 0xde, 0xff, 0x69, 0x8b, 0xa3, 0xff, 0x70, 0x8a, 0xa1, 0xff,
+ 0x38, 0x3e, 0x43, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0x51, 0x4e, 0x46, 0xff, 0x4f, 0x4c, 0x44, 0xff, 0x4f, 0x4c, 0x44, 0xff,
+ 0xc7, 0xc4, 0xbe, 0xff, 0xc0, 0xbc, 0xb5, 0xff, 0xcb, 0xc8, 0xc2, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0x47, 0x51, 0x58, 0xff,
+ 0x4e, 0x68, 0x79, 0xff, 0x4d, 0x6c, 0x80, 0xff, 0xa3, 0xc3, 0xdb, 0xff,
+ 0x38, 0x3f, 0x43, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x77, 0x89, 0x99, 0xff, 0x6e, 0x89, 0x9e, 0xff, 0x65, 0x85, 0x9c, 0xff,
+ 0x33, 0x38, 0x3c, 0xff, 0xd7, 0xd4, 0xd0, 0xff, 0xd6, 0xd4, 0xd0, 0xff,
+ 0x4e, 0x4a, 0x43, 0xff, 0x4d, 0x49, 0x42, 0xff, 0x4d, 0x49, 0x42, 0xff,
+ 0xc0, 0xbc, 0xb5, 0xff, 0xd1, 0xce, 0xc9, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0x45, 0x4f, 0x55, 0xff,
+ 0x48, 0x61, 0x73, 0xff, 0x4d, 0x66, 0x78, 0xff, 0xa1, 0xc1, 0xda, 0xff,
+ 0x37, 0x3c, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35,
+ 0x0c, 0x0d, 0x0f, 0xff, 0x4e, 0x5e, 0x6a, 0xff, 0x5b, 0x6e, 0x7c, 0xff,
+ 0x4f, 0x5b, 0x62, 0xff, 0xa4, 0xa0, 0x99, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xb8, 0xb3, 0xab, 0xff, 0xcc, 0xc9, 0xc3, 0xff, 0xcc, 0xc9, 0xc3, 0xff,
+ 0xd7, 0xd5, 0xd1, 0xff, 0xe4, 0xe2, 0xe0, 0xff, 0xea, 0xe9, 0xe7, 0xff,
+ 0xdd, 0xdb, 0xd7, 0xff, 0xb8, 0xb5, 0xb0, 0xff, 0x3e, 0x47, 0x4d, 0xff,
+ 0x4a, 0x61, 0x76, 0xff, 0x4a, 0x60, 0x70, 0xff, 0x9b, 0xc3, 0xd8, 0xff,
+ 0x36, 0x3c, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x28, 0x32, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xb1, 0xb4, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf8, 0xfa, 0xff, 0xcb, 0xdd, 0xeb, 0xff,
+ 0xc8, 0x8a, 0x80, 0xff, 0xd1, 0x8f, 0x84, 0xff, 0xd1, 0x8f, 0x84, 0xff,
+ 0xd1, 0x8f, 0x84, 0xff, 0xd1, 0x8f, 0x84, 0xff, 0xd1, 0x8f, 0x84, 0xff,
+ 0xd1, 0x8f, 0x84, 0xff, 0xd1, 0x90, 0x84, 0xff, 0xd1, 0x8f, 0x84, 0xff,
+ 0xd3, 0x91, 0x86, 0xff, 0xbf, 0xd5, 0xe8, 0xff, 0xbf, 0xd5, 0xe8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xdb, 0xe7, 0xf1, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0xb7, 0x87, 0x7e, 0xff, 0xc7, 0x75, 0x68, 0xff,
+ 0xc7, 0x74, 0x67, 0xff, 0xc7, 0x74, 0x67, 0xff, 0xc7, 0x74, 0x67, 0xff,
+ 0xc7, 0x74, 0x67, 0xff, 0xc7, 0x74, 0x66, 0xff, 0xc7, 0x74, 0x67, 0xff,
+ 0xc8, 0x76, 0x68, 0xff, 0xcd, 0x86, 0x7a, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0x54, 0x69, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0x84, 0xa0, 0xb5, 0xff, 0x4f, 0x64, 0x75, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0xae, 0xbf, 0xcd, 0xff, 0xca, 0xd6, 0xdf, 0xff,
+ 0xc7, 0xcf, 0xda, 0xff, 0xbf, 0xcb, 0xd6, 0xff, 0xbf, 0xcb, 0xd6, 0xff,
+ 0xbf, 0xcb, 0xd6, 0xff, 0xbf, 0xcb, 0xd6, 0xff, 0xbf, 0xcb, 0xd6, 0xff,
+ 0xbf, 0xcb, 0xd6, 0xff, 0xa1, 0xb6, 0xc4, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0x89, 0xa6, 0xbc, 0xff, 0x7f, 0x9a, 0xae, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x7e, 0x99, 0xad, 0xff, 0x7d, 0x97, 0xac, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0x8c, 0xa8, 0xbd, 0xff, 0xa8, 0xb1, 0xbd, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xce, 0xce, 0xce, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0x9c, 0x9d, 0x9d, 0xff, 0x2f, 0x46, 0x56, 0xff,
+ 0x80, 0x86, 0x8c, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0x84, 0xa0, 0xb5, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0x18, 0x30, 0x42, 0xff, 0x33, 0x49, 0x5a, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0x13, 0x2d, 0x3c, 0xff, 0x58, 0x6d, 0x80, 0xff, 0x97, 0xa5, 0xb0, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x86, 0xa4, 0xb9, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0x2e, 0x43, 0x53, 0xff,
+ 0x5a, 0x70, 0x82, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x11, 0x28, 0x35, 0xff, 0x5a, 0x70, 0x82, 0xff,
+ 0x9d, 0xa9, 0xb0, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6b, 0x78, 0x82, 0xff, 0x83, 0x9e, 0xb2, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0x21, 0x36, 0x48, 0xff, 0x5f, 0x79, 0x89, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0x11, 0x2c, 0x3a, 0xff,
+ 0x5a, 0x70, 0x82, 0xff, 0x9f, 0xa9, 0xb0, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xff,
+ 0x59, 0x63, 0x6d, 0xff, 0x4f, 0x64, 0x75, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0x90, 0x90, 0x90, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x86, 0x86, 0x86, 0xff, 0x6e, 0x6e, 0x6e, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x2d, 0x39, 0x49, 0xff, 0x3e, 0x4f, 0x5c, 0xff, 0x80, 0x87, 0x8f, 0xff,
+ 0x1a, 0x31, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd3,
+ 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0xe1,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x47,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xb5, 0xe0, 0x00, 0x00, 0xb5, 0xf0,
+ 0x67, 0x74, 0x6b, 0x2d, 0x7a, 0x6f, 0x6f, 0x6d, 0x2d, 0x31, 0x30, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x00, 0xb6, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xbf, 0x2c,
+ 0x00, 0x00, 0xb6, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x4e, 0x34, 0x34, 0x34, 0xa3,
+ 0x2d, 0x2d, 0x2d, 0xdd, 0x29, 0x29, 0x29, 0xfb, 0x26, 0x26, 0x26, 0xfb,
+ 0x26, 0x26, 0x26, 0xdd, 0x26, 0x26, 0x26, 0xa3, 0x35, 0x35, 0x35, 0x4e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x5d, 0x5d, 0x32,
+ 0x2e, 0x2e, 0x2e, 0xc0, 0x30, 0x30, 0x30, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xb2, 0xb2, 0xb2, 0xff,
+ 0x9d, 0x9d, 0x9d, 0xff, 0x67, 0x67, 0x67, 0xff, 0x20, 0x20, 0x20, 0xff,
+ 0x1c, 0x1c, 0x1c, 0xc0, 0x37, 0x37, 0x37, 0x32, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x4e, 0x27, 0x27, 0x27, 0xfb,
+ 0x61, 0x61, 0x61, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xcf, 0xcf, 0xcf, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xa7, 0xa7, 0xa7, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0x13, 0x13, 0x13, 0xfb, 0x23, 0x23, 0x23, 0x4e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4f, 0x4f, 0x4f, 0x32, 0x22, 0x22, 0x22, 0xfb, 0x75, 0x75, 0x75, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x10, 0x10, 0x10, 0xfb,
+ 0x24, 0x24, 0x24, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x21, 0x21, 0x21, 0xc0, 0x5b, 0x5b, 0x5b, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0x43, 0x43, 0x43, 0xff,
+ 0x0f, 0x0f, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x4e,
+ 0x1f, 0x1f, 0x1f, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xab, 0xab, 0xab, 0xff,
+ 0x0e, 0x0e, 0x0e, 0xff, 0x12, 0x12, 0x12, 0x4e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x1b, 0x1b, 0xa3,
+ 0x6d, 0x6d, 0x6d, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0x49, 0x49, 0x49, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x4b, 0x4b, 0x4b, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x49, 0x49, 0x49, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x57, 0x57, 0x57, 0xff, 0x09, 0x09, 0x09, 0xa3, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x14, 0x14, 0xdd,
+ 0xa8, 0xa8, 0xa8, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x49, 0x49, 0x49, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x4b, 0x4b, 0x4b, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0x49, 0x49, 0x49, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0x9b, 0x9b, 0x9b, 0xff, 0x06, 0x06, 0x06, 0xdd, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0xfb,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x49, 0x49, 0x49, 0xff, 0x49, 0x49, 0x49, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x06, 0x06, 0x06, 0xfb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0xfb,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x49, 0x49, 0x49, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x47, 0x47, 0x47, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0x05, 0x05, 0x05, 0xfb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0xdd,
+ 0xa5, 0xa5, 0xa5, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0x47, 0x47, 0x47, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x49, 0x49, 0x49, 0xff, 0x49, 0x49, 0x49, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xef, 0xef, 0xef, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x43, 0x43, 0x43, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x02, 0x02, 0x02, 0xdd, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0xa3,
+ 0x5f, 0x5f, 0x5f, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0x44, 0x44, 0x44, 0xff, 0x46, 0x46, 0x46, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x47, 0x47, 0x47, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x43, 0x43, 0x43, 0xff,
+ 0x41, 0x41, 0x41, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x4e,
+ 0x0a, 0x0a, 0x0a, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0x41, 0x41, 0x41, 0xff, 0x43, 0x43, 0x43, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0x40, 0x40, 0x40, 0xff,
+ 0x3f, 0x3f, 0x3f, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0x02, 0x02, 0x02, 0xff, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x06, 0x06, 0x06, 0xc0, 0x3b, 0x3b, 0x3b, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xda, 0xda, 0xda, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x2e, 0x2e, 0x2e, 0xff,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x05, 0x05, 0x32, 0x05, 0x05, 0x05, 0xfb, 0x51, 0x51, 0x51, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xcb, 0xcb, 0xcb, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xb8, 0xb8, 0xb8, 0xff, 0x45, 0x45, 0x45, 0xff, 0x00, 0x00, 0x00, 0xfb,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x03, 0x03, 0x03, 0x4e, 0x03, 0x03, 0x03, 0xfb,
+ 0x31, 0x31, 0x31, 0xff, 0x99, 0x99, 0x99, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x2b, 0x2b, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0xf1,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x32,
+ 0x01, 0x01, 0x01, 0xc0, 0x03, 0x03, 0x03, 0xff, 0x41, 0x41, 0x41, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x9a, 0x9a, 0x9a, 0xff, 0x9a, 0x9a, 0x9a, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xdf,
+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xdf,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0xfb,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x4e,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x20, 0x20, 0x20, 0xf3, 0x20, 0x20, 0x20, 0xf4, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xec, 0x68, 0x68, 0x68, 0xfb, 0x34, 0x34, 0x34, 0xf7,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf3, 0x79, 0x79, 0x79, 0xfd,
+ 0x3a, 0x3a, 0x3a, 0xfc, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xf4,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf8,
+ 0x68, 0x68, 0x68, 0xfb, 0x1f, 0x1f, 0x1f, 0xfb, 0x00, 0x00, 0x00, 0xf4,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x3f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x34, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xf9,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xcb,
+ 0x26, 0x26, 0x26, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xab, 0xab, 0xab, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb,
+ 0x87, 0x87, 0x87, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x70, 0x70, 0x70, 0xff, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74,
+ 0x46, 0x46, 0x46, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xcb, 0xb0, 0xb0, 0xb0, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x43, 0x43, 0x43, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0xee, 0xee, 0xee, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9,
+ 0xed, 0xed, 0xed, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xcb, 0xab, 0xab, 0xab, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xba, 0xba, 0xba, 0xff, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x46, 0x46, 0x46, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xcb, 0x85, 0x85, 0x85, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x6d, 0x6d, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xcb,
+ 0x46, 0x46, 0x46, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf3,
+ 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x1f, 0x20, 0x20, 0x20, 0xf3,
+ 0x20, 0x20, 0x20, 0xf4, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0xf1,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xec, 0x68, 0x68, 0x68, 0xfb, 0x34, 0x34, 0x34, 0xf7,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf3,
+ 0x79, 0x79, 0x79, 0xfd, 0x3a, 0x3a, 0x3a, 0xfc, 0x00, 0x00, 0x00, 0xf3,
+ 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf8, 0x68, 0x68, 0x68, 0xfb,
+ 0x1f, 0x1f, 0x1f, 0xfb, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x3f,
+ 0x00, 0x00, 0xd0, 0xd8, 0x00, 0x00, 0xc3, 0x60, 0x00, 0x00, 0xc3, 0x74,
+ 0x67, 0x74, 0x6b, 0x2d, 0x73, 0x6f, 0x72, 0x74, 0x2d, 0x64, 0x65, 0x73,
+ 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0xc3, 0x88, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0xcc, 0xb0, 0x00, 0x00, 0xc3, 0x90, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf0, 0xee, 0xff,
+ 0xe5, 0xb9, 0xbb, 0xff, 0x89, 0x5f, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xc1, 0x4b, 0x35, 0xff, 0x92, 0x2b, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xbf, 0xbe, 0xff,
+ 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xc2, 0xbf, 0xff,
+ 0xc3, 0x4e, 0x3b, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xc2, 0x4f, 0x3a, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xc2, 0x4d, 0x38, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe5, 0xb8, 0xb9, 0xff,
+ 0xc2, 0x4f, 0x38, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe2, 0xb1, 0xaa, 0xff,
+ 0xcc, 0x6b, 0x5a, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x64, 0x3c, 0x3e, 0xff, 0xe3, 0xb5, 0xac, 0xff, 0xe3, 0xb3, 0xa9, 0xff,
+ 0xd0, 0x78, 0x68, 0xff, 0x98, 0x2e, 0x19, 0xff, 0x7e, 0x26, 0x1f, 0xff,
+ 0x12, 0x0c, 0x0f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x2b, 0x1d, 0x1f, 0xff, 0xdf, 0xaa, 0x9e, 0xff,
+ 0xd2, 0x85, 0x75, 0xff, 0x7d, 0x26, 0x17, 0xff, 0x32, 0x1c, 0x23, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x3b, 0x26, 0x2e, 0xff,
+ 0xd6, 0x8a, 0x7a, 0xff, 0x32, 0x1c, 0x21, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x3f, 0x2a, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xb8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xe5, 0xb9, 0xbb, 0xff, 0x89, 0x5f, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0xbd, 0xbc, 0xff, 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff, 0xc2, 0x4f, 0x3c, 0xff,
+ 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0xbd, 0xbc, 0xff, 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff, 0xc2, 0x4f, 0x3c, 0xff,
+ 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff,
+ 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0xbd, 0xbc, 0xff, 0xc2, 0x4f, 0x3c, 0xff, 0x94, 0x2b, 0x32, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xbd, 0xbc, 0xff, 0xc2, 0x4f, 0x3c, 0xff,
+ 0x94, 0x2b, 0x32, 0xff, 0x05, 0x06, 0x04, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x64, 0x3c, 0x3e, 0xff, 0xe3, 0xb3, 0xa9, 0xff,
+ 0xc2, 0x4f, 0x3c, 0xff, 0x98, 0x2e, 0x19, 0xff, 0x7e, 0x26, 0x1f, 0xff,
+ 0x11, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x3b, 0x26, 0x2e, 0xff, 0xc2, 0x4f, 0x3c, 0xff, 0x7d, 0x26, 0x17, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x3b, 0x26, 0x2e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, 0x58, 0x00, 0x00, 0xd0, 0xe4,
+ 0x00, 0x00, 0xd0, 0xf4, 0x67, 0x74, 0x6b, 0x2d, 0x67, 0x6f, 0x74, 0x6f,
+ 0x2d, 0x74, 0x6f, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0xd1, 0x08, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0xda, 0x30, 0x00, 0x00, 0xd1, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xc9, 0xdb, 0xc7, 0xff, 0xc9, 0xdb, 0xc7, 0xff,
+ 0xc9, 0xdb, 0xc7, 0xff, 0xc9, 0xdb, 0xc7, 0xff, 0xc9, 0xdb, 0xc7, 0xff,
+ 0xc9, 0xdb, 0xc7, 0xff, 0x9f, 0xb7, 0x9b, 0xff, 0x95, 0xa8, 0x8f, 0xff,
+ 0x95, 0xa8, 0x8f, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x95, 0xa8, 0x8f, 0xff,
+ 0x95, 0xa8, 0x8f, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x88, 0x9d, 0x7f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc7, 0xd3, 0xc6, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0xac, 0xc8, 0xa9, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0xac, 0xc8, 0xa9, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x47, 0x5e, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+ 0x2d, 0x2d, 0x2d, 0xff, 0x9e, 0xac, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff,
+ 0xd6, 0xe1, 0xd5, 0xff, 0x8a, 0xaa, 0x87, 0xff, 0x3e, 0x4f, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0xd8, 0xe3, 0xd7, 0xff,
+ 0xb9, 0xcb, 0xb8, 0xff, 0x8b, 0xab, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x3e, 0x4f, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0xff, 0xd8, 0xe3, 0xd7, 0xff, 0xbb, 0xcd, 0xba, 0xff,
+ 0x9f, 0xb8, 0x9e, 0xff, 0x8b, 0xab, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x3e, 0x4f, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff,
+ 0xd9, 0xe3, 0xd8, 0xff, 0xb8, 0xcb, 0xb7, 0xff, 0xa3, 0xbb, 0xa2, 0xff,
+ 0x9f, 0xb8, 0x9e, 0xff, 0x8b, 0xab, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x5d, 0x75, 0x55, 0xff, 0x3e, 0x4f, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0xda, 0xe4, 0xd9, 0xff,
+ 0xb3, 0xc7, 0xb2, 0xff, 0xa6, 0xbd, 0xa5, 0xff, 0x9d, 0xb7, 0x9c, 0xff,
+ 0x9f, 0xb8, 0x9e, 0xff, 0x8b, 0xab, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x5d, 0x75, 0x55, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x3e, 0x4f, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0xff, 0xc8, 0xd6, 0xc8, 0xff, 0xb5, 0xc4, 0xb5, 0xff,
+ 0xa5, 0xb7, 0xa5, 0xff, 0x9f, 0xb8, 0x9e, 0xff, 0x9e, 0xb8, 0x9d, 0xff,
+ 0x9e, 0xb8, 0x9d, 0xff, 0x8b, 0xab, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x4c, 0x60, 0x46, 0xff, 0x4c, 0x60, 0x46, 0xff,
+ 0x4c, 0x60, 0x46, 0xff, 0x4c, 0x60, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xab, 0xc1, 0xaa, 0xff, 0x9c, 0xb6, 0x9b, 0xff,
+ 0x9c, 0xb6, 0x9b, 0xff, 0x8c, 0xac, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x3d, 0x4e, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbc, 0xcd, 0xbc, 0xff, 0x9c, 0xb6, 0x9b, 0xff,
+ 0x9c, 0xb6, 0x9b, 0xff, 0x8c, 0xab, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x3d, 0x4e, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc8, 0xd7, 0xc8, 0xff, 0x9c, 0xb6, 0x9b, 0xff,
+ 0x9c, 0xb6, 0x9b, 0xff, 0x8b, 0xab, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x3d, 0x4e, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd4, 0xdf, 0xd4, 0xff, 0x9c, 0xb6, 0x9b, 0xff,
+ 0x9d, 0xb7, 0x9c, 0xff, 0x8c, 0xac, 0x89, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x3d, 0x4e, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xdf, 0xd3, 0xff, 0x9c, 0xb6, 0x9b, 0xff,
+ 0x9c, 0xb6, 0x9b, 0xff, 0x8c, 0xac, 0x8a, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x3d, 0x4e, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xdf, 0xd3, 0xff, 0x9c, 0xb6, 0x9b, 0xff,
+ 0x9e, 0xb8, 0x9d, 0xff, 0x8a, 0xab, 0x87, 0xff, 0x5d, 0x75, 0x55, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x3d, 0x4e, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xac, 0xc3, 0xa9, 0xff, 0x6c, 0x80, 0x6a, 0xff,
+ 0x6b, 0x88, 0x68, 0xff, 0x57, 0x6e, 0x54, 0xff, 0x4c, 0x60, 0x46, 0xff,
+ 0x4c, 0x60, 0x46, 0xff, 0x43, 0x54, 0x3d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x38,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xda, 0xc6, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0xa8, 0xc7, 0xa8, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0x83, 0xa2, 0x7e, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x62, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2d, 0x2d, 0x2d, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xdf, 0xcc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff,
+ 0xad, 0xc8, 0xab, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0xb0, 0xc7, 0xae, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff,
+ 0xb4, 0xcb, 0xb2, 0xff, 0xb3, 0xca, 0xb1, 0xff, 0xad, 0xc6, 0xab, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x3c, 0x52, 0x35, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff,
+ 0xb1, 0xc9, 0xb0, 0xff, 0xb5, 0xce, 0xb5, 0xff, 0xb0, 0xc9, 0xb0, 0xff,
+ 0xad, 0xc6, 0xab, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb9, 0xce, 0xb7, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xd1, 0xba, 0xff, 0xaa, 0xc5, 0xa8, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb9, 0xce, 0xb7, 0xff, 0xaa, 0xc5, 0xa8, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xbb, 0xd0, 0xb9, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0xae, 0xc7, 0xac, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb2, 0xc9, 0xb0, 0xff, 0xa9, 0xc4, 0xa7, 0xff, 0xad, 0xc8, 0xab, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x7e, 0xab, 0x78, 0xff, 0x69, 0x82, 0x67, 0xff,
+ 0x67, 0x8c, 0x63, 0xff, 0x4a, 0x63, 0x42, 0xff, 0x41, 0x56, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xde, 0x64,
+ 0x00, 0x00, 0xde, 0x7c, 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x65, 0x64, 0x69,
+ 0x61, 0x2d, 0x72, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x2d, 0x72, 0x74, 0x6c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x00, 0xde, 0x90, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xe7, 0xb8,
+ 0x00, 0x00, 0xde, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x73, 0x73, 0x72, 0x00,
+ 0x88, 0x88, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x72, 0x71, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x72, 0x71, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0xa4, 0xa4, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x7b, 0x7b, 0x7a, 0xff, 0x6c, 0x6b, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x7b, 0x7b, 0x7a, 0xff, 0x6c, 0x6b, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x7f, 0x7e, 0x7d, 0xff, 0x99, 0x99, 0x96, 0xff, 0x7d, 0x7c, 0x7b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x7f, 0x7e, 0x7d, 0xff, 0x99, 0x99, 0x96, 0xff, 0x7d, 0x7c, 0x7b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x82, 0x81, 0x80, 0xff, 0x9d, 0x9c, 0x9a, 0xff, 0xb0, 0xaf, 0xac, 0xff,
+ 0x90, 0x8f, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x82, 0x81, 0x80, 0xff, 0x9d, 0x9c, 0x9a, 0xff, 0xb0, 0xaf, 0xac, 0xff,
+ 0x90, 0x8f, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x86, 0x85, 0x83, 0xff, 0xa1, 0xa0, 0x9e, 0xff, 0xb4, 0xb3, 0xb1, 0xff,
+ 0xb6, 0xb4, 0xb2, 0xff, 0xa5, 0xa4, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x86, 0x85, 0x83, 0xff, 0xa1, 0xa0, 0x9e, 0xff, 0xb4, 0xb3, 0xb1, 0xff,
+ 0xb6, 0xb4, 0xb2, 0xff, 0xa5, 0xa4, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x89, 0x88, 0x86, 0xff, 0xa5, 0xa4, 0xa1, 0xff, 0xb9, 0xb7, 0xb4, 0xff,
+ 0xba, 0xb9, 0xb6, 0xff, 0xbc, 0xba, 0xb7, 0xff, 0xc3, 0xc2, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x73, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x89, 0x88, 0x86, 0xff, 0xa5, 0xa4, 0xa1, 0xff, 0xb9, 0xb7, 0xb4, 0xff,
+ 0xba, 0xb9, 0xb6, 0xff, 0xbc, 0xba, 0xb7, 0xff, 0xc3, 0xc2, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x8c, 0x8b, 0x89, 0xff, 0xa9, 0xa8, 0xa5, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc5, 0xc3, 0xc0, 0xff, 0xd0, 0xce, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x8c, 0x8b, 0x89, 0xff, 0xa9, 0xa8, 0xa5, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc5, 0xc3, 0xc0, 0xff, 0xd0, 0xce, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x8e, 0x8c, 0xff, 0xb5, 0xb3, 0xb1, 0xff, 0xc7, 0xc6, 0xc3, 0xff,
+ 0xd2, 0xd1, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x8e, 0x8c, 0xff, 0xb5, 0xb3, 0xb1, 0xff, 0xc7, 0xc6, 0xc3, 0xff,
+ 0xd2, 0xd1, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x9d, 0x9c, 0x9a, 0xff, 0xb9, 0xb6, 0xb4, 0xff, 0xd8, 0xd7, 0xd5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x9d, 0x9c, 0x9a, 0xff, 0xb9, 0xb6, 0xb4, 0xff, 0xd8, 0xd7, 0xd5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0xa1, 0x9f, 0x9d, 0xff, 0xc7, 0xc6, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0xa1, 0x9f, 0x9d, 0xff, 0xc7, 0xc6, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xa6, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xa6, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xd9, 0xd8, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xb8, 0xb5, 0x00,
+ 0xde, 0xdd, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x4f,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x7b, 0x7b, 0x7a, 0xff,
+ 0x6c, 0x6b, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x7b, 0x7b, 0x7a, 0xff, 0x6c, 0x6b, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x7f, 0x7e, 0x7d, 0xff, 0x99, 0x99, 0x96, 0xff, 0x7d, 0x7c, 0x7b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7e, 0x7d, 0xff, 0x99, 0x99, 0x96, 0xff,
+ 0x7d, 0x7c, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x82, 0x81, 0x80, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0xb0, 0xaf, 0xac, 0xff, 0x90, 0x8f, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0xff, 0x82, 0x81, 0x80, 0xff,
+ 0x9d, 0x9c, 0x9a, 0xff, 0xb0, 0xaf, 0xac, 0xff, 0x90, 0x8f, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x8c, 0x8b, 0x89, 0xff,
+ 0xa9, 0xa8, 0xa5, 0xff, 0xbd, 0xbc, 0xb9, 0xff, 0xc5, 0xc3, 0xc0, 0xff,
+ 0xd0, 0xce, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x8c, 0x8b, 0x89, 0xff, 0xa9, 0xa8, 0xa5, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc5, 0xc3, 0xc0, 0xff, 0xd0, 0xce, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x8e, 0x8c, 0xff, 0xb5, 0xb3, 0xb1, 0xff, 0xc7, 0xc6, 0xc3, 0xff,
+ 0xd2, 0xd1, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff, 0x98, 0x98, 0x98, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x8f, 0x8e, 0x8c, 0xff, 0xb5, 0xb3, 0xb1, 0xff,
+ 0xc7, 0xc6, 0xc3, 0xff, 0xd2, 0xd1, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9c, 0x9a, 0xff, 0xb9, 0xb6, 0xb4, 0xff,
+ 0xd8, 0xd7, 0xd5, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0xb9, 0xb6, 0xb4, 0xff, 0xd8, 0xd7, 0xd5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0xa1, 0x9f, 0x9d, 0xff,
+ 0xc7, 0xc6, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0xa1, 0x9f, 0x9d, 0xff, 0xc7, 0xc6, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xa6, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa6, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xeb, 0xec, 0x00, 0x00, 0xeb, 0xf8,
+ 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x6f, 0x70, 0x79, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0xec, 0x0c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xf5, 0x34, 0x00, 0x00, 0xec, 0x14,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7c,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0x82, 0x82, 0x82, 0xff, 0x82, 0x82, 0x82, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0x82, 0x82, 0x82, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x82, 0x82, 0x82, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0x63, 0x63, 0x63, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x6b, 0x6b, 0x6b, 0xff, 0x82, 0x82, 0x82, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0x82, 0x82, 0x82, 0xff, 0x82, 0x82, 0x82, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x82, 0x82, 0x82, 0xff, 0x81, 0x81, 0x81, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0xa7, 0xa7, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x98, 0x98, 0x98, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0x63, 0x63, 0x63, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x5a, 0x5a, 0x5a, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x80, 0x80, 0x80, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0x6d, 0x6d, 0xff,
+ 0x63, 0x63, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0x82, 0x82, 0x82, 0xff, 0x82, 0x82, 0x82, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x82, 0x82, 0x82, 0xff, 0x81, 0x81, 0x81, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0xa7, 0xa7, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x98, 0x98, 0x98, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0x6d, 0x6d, 0xff,
+ 0x63, 0x63, 0x63, 0xff, 0x63, 0x63, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0xa7, 0xa7, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x98, 0x98, 0x98, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xf5, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb3, 0xb3, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x64, 0x64, 0x64, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0x50, 0x50, 0x50, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x69, 0x69, 0x69, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x50, 0x50, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x50, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0x5a, 0x5a, 0x5a, 0xff, 0x53, 0x53, 0x53, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x64, 0x64, 0x64, 0xff, 0x4d, 0x4d, 0x4d, 0xff,
+ 0x50, 0x50, 0x50, 0xff, 0xff, 0xff, 0xff, 0xff, 0x69, 0x69, 0x69, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x50, 0x50, 0x50, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0x69, 0x69, 0x69, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x5a, 0x5a, 0x5a, 0xff,
+ 0x53, 0x53, 0x53, 0xff, 0x91, 0x91, 0x91, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x5c, 0x5c, 0x5c, 0xff, 0x66, 0x66, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x60,
+ 0x00, 0x00, 0xf9, 0x68, 0x00, 0x00, 0xf9, 0x7c, 0x67, 0x74, 0x6b, 0x2d,
+ 0x67, 0x6f, 0x74, 0x6f, 0x2d, 0x6c, 0x61, 0x73, 0x74, 0x2d, 0x72, 0x74,
+ 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x00, 0xf9, 0x90, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x02, 0xb8,
+ 0x00, 0x00, 0xf9, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xcb, 0xd6, 0xca, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0xc9, 0xdb, 0xc9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0xe6, 0xee, 0xe5, 0xff, 0xbf, 0xce, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0xef, 0xe6, 0xff, 0xbb, 0xcf, 0xba, 0xff, 0xb3, 0xc4, 0xb3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0xe6, 0xee, 0xe6, 0xff,
+ 0xb9, 0xce, 0xb7, 0xff, 0xb5, 0xce, 0xb5, 0xff, 0xb7, 0xcc, 0xb5, 0xff,
+ 0xb9, 0xce, 0xb7, 0xff, 0xbf, 0xd4, 0xbf, 0xff, 0xc7, 0xd7, 0xc5, 0xff,
+ 0xdb, 0xe5, 0xdb, 0xff, 0xda, 0xe5, 0xd9, 0xff, 0xcb, 0xda, 0xc9, 0xff,
+ 0x7e, 0xab, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0xe6, 0xee, 0xe6, 0xff, 0xba, 0xd1, 0xb9, 0xff,
+ 0xb3, 0xca, 0xb1, 0xff, 0xb0, 0xc9, 0xb0, 0xff, 0xb0, 0xc9, 0xae, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0xaa, 0xc5, 0xa8, 0xff, 0xaa, 0xc5, 0xa8, 0xff,
+ 0xaa, 0xc5, 0xa8, 0xff, 0xae, 0xc7, 0xac, 0xff, 0xa9, 0xc4, 0xa7, 0xff,
+ 0x69, 0x82, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe4, 0xec, 0xe3, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x2d, 0x2d, 0x2d, 0xff,
+ 0xe0, 0xea, 0xde, 0xff, 0xb3, 0xcc, 0xb1, 0xff, 0xb0, 0xc7, 0xae, 0xff,
+ 0xad, 0xc6, 0xab, 0xff, 0xad, 0xc6, 0xab, 0xff, 0xad, 0xc8, 0xab, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0xae, 0xc7, 0xac, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0xb0, 0xc7, 0xae, 0xff, 0xae, 0xc7, 0xac, 0xff, 0xad, 0xc8, 0xab, 0xff,
+ 0x67, 0x8c, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x9f, 0xb7, 0x9b, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xcd, 0xc2, 0xff,
+ 0x8e, 0xb4, 0x8a, 0xff, 0x87, 0xaf, 0x84, 0xff, 0x87, 0xaf, 0x84, 0xff,
+ 0x87, 0xaf, 0x84, 0xff, 0x87, 0xaf, 0x84, 0xff, 0x87, 0xaf, 0x84, 0xff,
+ 0x87, 0xb0, 0x83, 0xff, 0x88, 0xaf, 0x84, 0xff, 0x87, 0xaf, 0x84, 0xff,
+ 0x87, 0xb0, 0x83, 0xff, 0x88, 0xb0, 0x85, 0xff, 0x86, 0xaf, 0x82, 0xff,
+ 0x54, 0x71, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x4a, 0x63, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x4a, 0x63, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x63, 0x42, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x41, 0x56, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x63, 0x42, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x4a, 0x63, 0x42, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0x4a, 0x63, 0x42, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x88, 0x9d, 0x7f, 0xff, 0x47, 0x5e, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x98, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x98, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xda, 0xc6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0xde, 0xcb, 0xff, 0xb1, 0xc9, 0xb0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff,
+ 0xb4, 0xcb, 0xb2, 0xff, 0xb5, 0xce, 0xb5, 0xff, 0xb9, 0xce, 0xb7, 0xff,
+ 0xba, 0xd1, 0xba, 0xff, 0xb9, 0xce, 0xb7, 0xff, 0xbb, 0xd0, 0xb9, 0xff,
+ 0xb2, 0xc9, 0xb0, 0xff, 0x7e, 0xab, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0xb3, 0xca, 0xb1, 0xff, 0xb0, 0xc9, 0xb0, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0xaa, 0xc5, 0xa8, 0xff, 0xaa, 0xc5, 0xa8, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0xa9, 0xc4, 0xa7, 0xff, 0x69, 0x82, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x83, 0xa2, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2d, 0x2d, 0x2d, 0xff,
+ 0xcf, 0xdf, 0xcc, 0xff, 0xad, 0xc8, 0xab, 0xff, 0xb0, 0xc7, 0xae, 0xff,
+ 0xad, 0xc6, 0xab, 0xff, 0xad, 0xc6, 0xab, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0xae, 0xc7, 0xac, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0xad, 0xc8, 0xab, 0xff, 0x67, 0x8c, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x63, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x41, 0x56, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x4a, 0x62, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x14, 0xdc,
+ 0x00, 0x01, 0x07, 0x6c, 0x00, 0x01, 0x07, 0x78, 0x67, 0x74, 0x6b, 0x2d,
+ 0x68, 0x65, 0x6c, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x07, 0x8c, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x01, 0x10, 0xb4, 0x00, 0x01, 0x07, 0x94, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xaf, 0x00, 0x00, 0x00, 0xa7,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x85, 0x83, 0x7f, 0x15,
+ 0x6d, 0x6c, 0x69, 0x70, 0x45, 0x44, 0x42, 0xb6, 0x1d, 0x1d, 0x1c, 0xe4,
+ 0x04, 0x04, 0x04, 0xfb, 0x04, 0x04, 0x04, 0xfb, 0x1b, 0x1b, 0x1b, 0xe5,
+ 0x3d, 0x3c, 0x3a, 0xb8, 0x5d, 0x5b, 0x59, 0x75, 0x63, 0x62, 0x60, 0x1a,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xeb, 0x4d, 0x4c, 0x4b, 0x97, 0x04, 0x04, 0x04, 0xfb,
+ 0x2f, 0x2f, 0x2d, 0xff, 0xc1, 0xbf, 0xbb, 0xff, 0xec, 0xea, 0xe7, 0xff,
+ 0xf5, 0xf3, 0xf0, 0xff, 0xf2, 0xf0, 0xec, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0xaf, 0xad, 0xaa, 0xff, 0x27, 0x27, 0x26, 0xff, 0x02, 0x02, 0x02, 0xfb,
+ 0x3f, 0x3e, 0x3e, 0x97, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xe0,
+ 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x87, 0x85, 0x81, 0x2b,
+ 0x36, 0x30, 0x2d, 0xcf, 0x18, 0x18, 0x18, 0xff, 0xfb, 0xf8, 0xf5, 0xff,
+ 0xfe, 0xfc, 0xf8, 0xff, 0xfa, 0xf8, 0xf5, 0xff, 0xf5, 0xf4, 0xf1, 0xff,
+ 0xf2, 0xf1, 0xed, 0xff, 0xf2, 0xf0, 0xec, 0xff, 0xf1, 0xef, 0xeb, 0xff,
+ 0xf1, 0xee, 0xeb, 0xff, 0xea, 0xe9, 0xe6, 0xff, 0xda, 0xd8, 0xd4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x10, 0x0e, 0x0e, 0xe6, 0x43, 0x43, 0x3f, 0x3c,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x83,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x73,
+ 0x00, 0x00, 0x00, 0x9b, 0x86, 0x82, 0x7e, 0x2b, 0x1f, 0x10, 0x0e, 0xe4,
+ 0xaf, 0x3a, 0x1e, 0xff, 0xfb, 0xab, 0x93, 0xff, 0xfa, 0xe9, 0xe3, 0xff,
+ 0xf0, 0xef, 0xeb, 0xff, 0xec, 0xea, 0xe7, 0xff, 0xe9, 0xe8, 0xe5, 0xff,
+ 0xea, 0xe8, 0xe6, 0xff, 0xec, 0xea, 0xe8, 0xff, 0xed, 0xeb, 0xe9, 0xff,
+ 0xed, 0xeb, 0xe9, 0xff, 0xed, 0xeb, 0xe8, 0xff, 0xea, 0xcf, 0xc6, 0xff,
+ 0xd5, 0x34, 0x0a, 0xff, 0x75, 0x19, 0x04, 0xff, 0x10, 0x08, 0x06, 0xe7,
+ 0x3b, 0x3b, 0x37, 0x3b, 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xcf,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x97, 0x34, 0x16, 0x0d, 0xcc, 0xaf, 0x3c, 0x20, 0xff,
+ 0xfc, 0xcc, 0xbd, 0xff, 0xf7, 0xbe, 0xad, 0xff, 0xe6, 0x75, 0x54, 0xff,
+ 0xdf, 0xdd, 0xdb, 0xff, 0xdb, 0xd9, 0xd6, 0xff, 0xd8, 0xd7, 0xd3, 0xff,
+ 0xdb, 0xda, 0xd6, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xea, 0xe9, 0xe6, 0xff,
+ 0xec, 0xeb, 0xe8, 0xff, 0xed, 0xeb, 0xe8, 0xff, 0xe5, 0x57, 0x2d, 0xff,
+ 0xe3, 0x3a, 0x0b, 0xff, 0xd4, 0x34, 0x0a, 0xff, 0x69, 0x15, 0x04, 0xff,
+ 0x10, 0x05, 0x04, 0xd4, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0xc1,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x58, 0x2c, 0x22, 0x8c, 0x0f, 0x0f, 0x0f, 0xff, 0xfd, 0xd4, 0xc8, 0xff,
+ 0xf7, 0xbf, 0xaf, 0xff, 0xe8, 0x75, 0x54, 0xff, 0xd5, 0x51, 0x2b, 0xff,
+ 0xc6, 0x82, 0x70, 0xff, 0xbe, 0xbd, 0xba, 0xff, 0xa5, 0xa3, 0xa0, 0xff,
+ 0x9c, 0x9a, 0x95, 0xff, 0xb9, 0xb7, 0xb2, 0xff, 0xd7, 0xd6, 0xd2, 0xff,
+ 0xe7, 0xe5, 0xe2, 0xff, 0xe7, 0x9a, 0x85, 0xff, 0xe5, 0x3c, 0x0b, 0xff,
+ 0xe4, 0x3c, 0x0b, 0xff, 0xe2, 0x3a, 0x0b, 0xff, 0xc9, 0x30, 0x09, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x84, 0x73, 0x6e, 0x15,
+ 0x04, 0x01, 0x00, 0xfb, 0xfa, 0xb1, 0x9c, 0xff, 0xfa, 0xcc, 0xbe, 0xff,
+ 0xeb, 0x82, 0x64, 0xff, 0xd8, 0x53, 0x2d, 0xff, 0xc0, 0x34, 0x0f, 0xff,
+ 0x93, 0x20, 0x06, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x14, 0x14, 0x12, 0xff,
+ 0x85, 0x79, 0x74, 0xff, 0xda, 0x37, 0x0b, 0xff, 0xec, 0x7c, 0x5b, 0xff,
+ 0xe9, 0x5b, 0x32, 0xff, 0xe4, 0x3c, 0x0b, 0xff, 0xde, 0x38, 0x0b, 0xff,
+ 0x9d, 0x23, 0x06, 0xff, 0x00, 0x00, 0x00, 0xfc, 0x04, 0x02, 0x02, 0x31,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x02, 0x6d, 0x6c, 0x6a, 0x70,
+ 0x62, 0x62, 0x61, 0xff, 0xfe, 0xf1, 0xed, 0xff, 0xf0, 0x94, 0x79, 0xff,
+ 0xdc, 0x53, 0x2b, 0xff, 0xc0, 0x35, 0x0f, 0xff, 0x94, 0x20, 0x06, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x62,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0xff, 0x62, 0x14, 0x04, 0xff, 0xe2, 0x52, 0x2b, 0xff,
+ 0xf2, 0xa6, 0x90, 0xff, 0xe7, 0x4e, 0x21, 0xff, 0xe2, 0x3b, 0x0b, 0xff,
+ 0xc9, 0x91, 0x81, 0xff, 0x02, 0x02, 0x02, 0xff, 0x00, 0x00, 0x00, 0x88,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x45, 0x43, 0x42, 0xb7,
+ 0xe5, 0xe4, 0xe2, 0xff, 0xfc, 0xfb, 0xfa, 0xff, 0xe2, 0xd8, 0xd3, 0xff,
+ 0xc3, 0x4c, 0x2a, 0xff, 0xb0, 0x2b, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x14,
+ 0x22, 0x20, 0x20, 0x26, 0x00, 0x00, 0x00, 0xff, 0x9e, 0x2d, 0x12, 0xff,
+ 0xef, 0x8d, 0x71, 0xff, 0xf0, 0x9b, 0x83, 0xff, 0xea, 0xdd, 0xd7, 0xff,
+ 0xdb, 0xda, 0xd6, 0xff, 0x27, 0x27, 0x24, 0xff, 0x00, 0x00, 0x00, 0xc4,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x09, 0x1d, 0x1d, 0x1c, 0xe4,
+ 0xf0, 0xee, 0xec, 0xff, 0xf3, 0xf2, 0xef, 0xff, 0xd7, 0xd6, 0xd3, 0xff,
+ 0xbf, 0xbe, 0xbb, 0xff, 0x9e, 0x61, 0x53, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x09, 0x59, 0x59, 0x56, 0x42, 0x3f, 0x0d, 0x02, 0xff,
+ 0xf0, 0xb9, 0xa9, 0xff, 0xf6, 0xf5, 0xf4, 0xff, 0xe8, 0xe7, 0xe4, 0xff,
+ 0xda, 0xd8, 0xd5, 0xff, 0x58, 0x56, 0x52, 0xff, 0x00, 0x00, 0x00, 0xe9,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0d, 0x04, 0x04, 0x04, 0xfb,
+ 0xf6, 0xf4, 0xf0, 0xff, 0xf0, 0xef, 0xeb, 0xff, 0xda, 0xd8, 0xd6, 0xff,
+ 0xc2, 0xc1, 0xbe, 0xff, 0x98, 0x96, 0x91, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x19, 0x18, 0x18, 0x0a, 0x0a, 0x0a, 0x08, 0xff,
+ 0xf6, 0xf4, 0xf2, 0xff, 0xf4, 0xf3, 0xf1, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xd3, 0xd2, 0xce, 0xff, 0x63, 0x62, 0x5d, 0xff, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x10, 0x04, 0x04, 0x04, 0xfb,
+ 0xf2, 0xf0, 0xec, 0xff, 0xf1, 0xef, 0xeb, 0xff, 0xdc, 0xda, 0xd8, 0xff,
+ 0xc7, 0xc6, 0xc2, 0xff, 0xab, 0xaa, 0xa5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x2f, 0x2e, 0x05, 0x0a, 0x0a, 0x0a, 0xff,
+ 0xfa, 0xf8, 0xf6, 0xff, 0xef, 0xed, 0xea, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xc6, 0xc4, 0xc2, 0xff, 0x3e, 0x3e, 0x39, 0xff, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11, 0x1b, 0x1b, 0x19, 0xe5,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xf0, 0xee, 0xea, 0xff, 0xe0, 0xdf, 0xdd, 0xff,
+ 0xcc, 0xcb, 0xc9, 0xff, 0xc0, 0xbf, 0xbb, 0xff, 0x13, 0x13, 0x11, 0xff,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x89, 0x87, 0x86, 0x34, 0x67, 0x66, 0x63, 0xff,
+ 0xfc, 0xfa, 0xf8, 0xff, 0xec, 0xea, 0xe8, 0xff, 0xd6, 0xd4, 0xd2, 0xff,
+ 0xbc, 0xba, 0xb7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xea,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11, 0x3c, 0x3c, 0x3a, 0xb9,
+ 0xaf, 0xad, 0xaa, 0xff, 0xf1, 0xee, 0xeb, 0xff, 0xe9, 0xe8, 0xe5, 0xff,
+ 0xde, 0xdc, 0xd9, 0xff, 0xd7, 0xd6, 0xd3, 0xff, 0x7e, 0x4b, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x23, 0x22, 0x22, 0x26, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xb1, 0xb1, 0xaf, 0x13, 0x23, 0x23, 0x23, 0xff, 0xcc, 0x93, 0x85, 0xff,
+ 0xfa, 0xfa, 0xf7, 0xff, 0xe6, 0xe6, 0xe2, 0xff, 0xcd, 0xcc, 0xca, 0xff,
+ 0xb0, 0xb0, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xc6,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x10, 0x5d, 0x5b, 0x59, 0x75,
+ 0x27, 0x27, 0x26, 0xff, 0xea, 0xe9, 0xe6, 0xff, 0xed, 0xeb, 0xe9, 0xff,
+ 0xed, 0xe3, 0xdf, 0xff, 0xe7, 0x84, 0x68, 0xff, 0xdf, 0x5d, 0x3a, 0xff,
+ 0x63, 0x19, 0x09, 0xff, 0x00, 0x00, 0x00, 0xff, 0x58, 0x58, 0x55, 0x42,
+ 0x19, 0x18, 0x18, 0x0a, 0x30, 0x2f, 0x2e, 0x05, 0x97, 0x94, 0x93, 0x3a,
+ 0x28, 0x28, 0x28, 0xff, 0xb4, 0x6e, 0x5e, 0xff, 0xfc, 0xc3, 0xb2, 0xff,
+ 0xf1, 0xa6, 0x91, 0xff, 0xdc, 0xd2, 0xcc, 0xff, 0xc8, 0xc6, 0xc3, 0xff,
+ 0x7e, 0x7c, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x8e,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0d, 0x61, 0x60, 0x5e, 0x1b,
+ 0x02, 0x02, 0x02, 0xfb, 0xda, 0xd8, 0xd4, 0xff, 0xe8, 0xad, 0x9c, 0xff,
+ 0xe9, 0x61, 0x39, 0xff, 0xeb, 0x74, 0x52, 0xff, 0xef, 0x8e, 0x72, 0xff,
+ 0xea, 0x80, 0x63, 0xff, 0x9e, 0x2e, 0x13, 0xff, 0x3f, 0x18, 0x11, 0xff,
+ 0x0a, 0x0a, 0x08, 0xff, 0x12, 0x12, 0x12, 0xff, 0x6b, 0x43, 0x3b, 0xff,
+ 0xe0, 0xa1, 0x91, 0xff, 0xfd, 0xd3, 0xc7, 0xff, 0xf4, 0xad, 0x98, 0xff,
+ 0xde, 0x53, 0x2b, 0xff, 0xc8, 0x34, 0x09, 0xff, 0xb4, 0x82, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04,
+ 0x38, 0x35, 0x34, 0x9e, 0x00, 0x00, 0x00, 0xff, 0xd6, 0x34, 0x0a, 0xff,
+ 0xe4, 0x3d, 0x0f, 0xff, 0xe8, 0x58, 0x2e, 0xff, 0xed, 0x79, 0x57, 0xff,
+ 0xf4, 0xb6, 0xa4, 0xff, 0xf4, 0xb0, 0x9d, 0xff, 0xf0, 0xe5, 0xe0, 0xff,
+ 0xf4, 0xf3, 0xef, 0xff, 0xfa, 0xf8, 0xf6, 0xff, 0xfd, 0xf8, 0xf6, 0xff,
+ 0xfb, 0xce, 0xc1, 0xff, 0xf2, 0x8b, 0x6e, 0xff, 0xe4, 0x4e, 0x23, 0xff,
+ 0xd3, 0x37, 0x0a, 0xff, 0xbf, 0x2f, 0x09, 0xff, 0x26, 0x08, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x90, 0x19, 0x0f, 0x0b, 0xda, 0x75, 0x19, 0x04, 0xff,
+ 0xd5, 0x35, 0x0a, 0xff, 0xe2, 0x3a, 0x0b, 0xff, 0xe4, 0x3d, 0x0c, 0xff,
+ 0xe7, 0x4c, 0x1f, 0xff, 0xef, 0xbb, 0xab, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xef, 0xed, 0xea, 0xff, 0xf5, 0xf3, 0xf1, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xea, 0xb1, 0xa0, 0xff, 0xde, 0x43, 0x16, 0xff, 0xd3, 0x37, 0x0a, 0xff,
+ 0xc5, 0x31, 0x0a, 0xff, 0x59, 0x12, 0x02, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3b,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0xb0, 0x4a, 0x4a, 0x47, 0x37, 0x0e, 0x05, 0x04, 0xe7,
+ 0x69, 0x15, 0x04, 0xff, 0xc8, 0x30, 0x09, 0xff, 0xde, 0x38, 0x0b, 0xff,
+ 0xe0, 0x53, 0x2b, 0xff, 0xe7, 0xe6, 0xe3, 0xff, 0xe7, 0xe6, 0xe2, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xdd, 0xdc, 0xd9, 0xff, 0xd7, 0xd6, 0xd3, 0xff,
+ 0xcf, 0xce, 0xca, 0xff, 0xc1, 0x47, 0x24, 0xff, 0xae, 0x29, 0x07, 0xff,
+ 0x29, 0x08, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xea,
+ 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, 0x0a, 0x3b, 0x3b, 0x37, 0x3b,
+ 0x0f, 0x07, 0x05, 0xd5, 0x00, 0x00, 0x00, 0xff, 0x9b, 0x22, 0x05, 0xff,
+ 0xc1, 0xa8, 0x9f, 0xff, 0xd1, 0xd0, 0xcc, 0xff, 0xcf, 0xcd, 0xca, 0xff,
+ 0xc7, 0xc6, 0xc3, 0xff, 0xbb, 0xba, 0xb7, 0xff, 0xb5, 0xb4, 0xb1, 0xff,
+ 0xa7, 0xa6, 0xa2, 0xff, 0x66, 0x56, 0x4f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0xa2,
+ 0x00, 0x00, 0x00, 0xab, 0x0b, 0x09, 0x08, 0x98, 0x00, 0x00, 0x00, 0xfc,
+ 0x01, 0x01, 0x00, 0xff, 0x22, 0x22, 0x21, 0xff, 0x51, 0x50, 0x4b, 0xff,
+ 0x5d, 0x5c, 0x57, 0xff, 0x3b, 0x3b, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xfd,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x11, 0x02, 0x02, 0x02, 0x31,
+ 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, 0xe9,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xeb,
+ 0x00, 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xbc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x21, 0x20, 0x20, 0x4c, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x0c, 0x0c, 0x0c, 0x84, 0x0e, 0x0d, 0x0d, 0x49,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5b,
+ 0x27, 0x25, 0x22, 0x7f, 0x00, 0x00, 0x00, 0xff, 0x76, 0x73, 0x71, 0xff,
+ 0xd8, 0xd5, 0xd1, 0xff, 0xf2, 0xf1, 0xed, 0xff, 0xf2, 0xf1, 0xeb, 0xff,
+ 0xe7, 0xe4, 0xde, 0xff, 0xba, 0xb7, 0xb5, 0xff, 0x64, 0x63, 0x61, 0xff,
+ 0x0b, 0x0a, 0x0a, 0xe1, 0x10, 0x10, 0x0f, 0x6b, 0x00, 0x00, 0x00, 0x6c,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x28, 0x1e, 0x1b, 0x74, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xa2, 0x91, 0xff,
+ 0xf0, 0xd2, 0xc7, 0xff, 0xe8, 0xe5, 0xe1, 0xff, 0xe4, 0xe3, 0xdf, 0xff,
+ 0xe8, 0xe5, 0xe1, 0xff, 0xec, 0xeb, 0xe7, 0xff, 0xed, 0xea, 0xe6, 0xff,
+ 0xe3, 0x8c, 0x74, 0xff, 0xa8, 0x34, 0x19, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x09, 0x07, 0x06, 0x76, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x2d, 0x1a, 0x14, 0x39, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xb1, 0xa5, 0xff,
+ 0xf0, 0xaa, 0x97, 0xff, 0xd6, 0x7d, 0x69, 0xff, 0xc9, 0xbb, 0xb4, 0xff,
+ 0xb4, 0xb3, 0xad, 0xff, 0xc0, 0xbe, 0xb7, 0xff, 0xe1, 0xe0, 0xda, 0xff,
+ 0xe8, 0xc9, 0xbf, 0xff, 0xe4, 0x51, 0x2f, 0xff, 0xdf, 0x49, 0x26, 0xff,
+ 0x6f, 0x23, 0x12, 0xfa, 0x01, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x00, 0x00, 0x01, 0x1d, 0x1d, 0x1c, 0x9b, 0x51, 0x50, 0x4e, 0xff,
+ 0xf1, 0xa9, 0x98, 0xff, 0xd7, 0x63, 0x48, 0xff, 0x94, 0x30, 0x19, 0xff,
+ 0x64, 0x55, 0x51, 0xff, 0x1f, 0x1e, 0x1e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x51, 0x50, 0x4e, 0xff, 0x90, 0x3f, 0x2d, 0xff, 0xea, 0x7b, 0x61, 0xff,
+ 0xe8, 0x61, 0x41, 0xff, 0xcc, 0x4b, 0x2d, 0xff, 0x64, 0x4e, 0x47, 0xfe,
+ 0x2e, 0x2c, 0x2b, 0xa6, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xa3,
+ 0xe6, 0xe2, 0xe1, 0xff, 0xde, 0xa1, 0x91, 0xff, 0xba, 0x44, 0x29, 0xff,
+ 0x3b, 0x39, 0x38, 0xff, 0x00, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x21, 0x04, 0x04, 0x04, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0x62, 0x4b, 0xff, 0xed, 0x91, 0x7c, 0xff, 0xe1, 0xb3, 0xa6, 0xff,
+ 0x65, 0x61, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf1, 0xed, 0xff, 0xd0, 0xcf, 0xcb, 0xff,
+ 0xa6, 0x8e, 0x85, 0xff, 0x3b, 0x39, 0x38, 0xff, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
+ 0x4e, 0x4e, 0x4b, 0x22, 0x3b, 0x39, 0x38, 0xff, 0xf4, 0xe9, 0xe3, 0xff,
+ 0xe2, 0xdf, 0xdb, 0xff, 0x86, 0x83, 0x7d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf0, 0xea, 0xff,
+ 0xd4, 0xd1, 0xcf, 0xff, 0xb1, 0xae, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x23, 0x21, 0x20, 0x05, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf2, 0xee, 0xff, 0xd8, 0xd7, 0xd3, 0xff, 0x75, 0x73, 0x6e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0xe2, 0xde, 0xff, 0xdd, 0xdb, 0xd8, 0xff, 0xcb, 0xca, 0xc6, 0xff,
+ 0x3b, 0x39, 0x38, 0xff, 0x04, 0x03, 0x03, 0x41, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0xb1, 0xb1, 0xae, 0x02, 0x43, 0x43, 0x43, 0x52,
+ 0x3b, 0x39, 0x38, 0xff, 0xf0, 0xed, 0xeb, 0xff, 0xca, 0xc7, 0xc5, 0xff,
+ 0x75, 0x73, 0x6e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0xa3, 0xba, 0xb7, 0xb5, 0xff, 0xea, 0xe6, 0xe3, 0xff,
+ 0xe3, 0xba, 0xae, 0xff, 0x9b, 0x5b, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4e, 0x4e, 0x49, 0x22, 0x23, 0x21, 0x20, 0x05, 0x4c, 0x4b, 0x4b, 0x55,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0x93, 0x82, 0xff, 0xd9, 0xb9, 0xb0, 0xff,
+ 0xb6, 0xb3, 0xaf, 0xff, 0x3c, 0x3c, 0x3b, 0xcc, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x16, 0x0b, 0x0a, 0x0a, 0x84, 0x51, 0x50, 0x4e, 0xff,
+ 0xe3, 0x81, 0x66, 0xff, 0xe9, 0x74, 0x54, 0xff, 0xee, 0x97, 0x7f, 0xff,
+ 0xc8, 0x75, 0x61, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd6, 0x93, 0x83, 0xff, 0xd3, 0x6e, 0x56, 0xff,
+ 0xcc, 0x48, 0x29, 0xff, 0x93, 0x5d, 0x4e, 0xf6, 0x45, 0x42, 0x42, 0xff,
+ 0x0c, 0x0c, 0x0c, 0xab, 0x00, 0x00, 0x00, 0x0e, 0x12, 0x11, 0x11, 0x33,
+ 0x00, 0x00, 0x00, 0xff, 0xa8, 0x35, 0x1b, 0xff, 0xdf, 0x51, 0x30, 0xff,
+ 0xe9, 0x6c, 0x4a, 0xff, 0xee, 0xa8, 0x95, 0xff, 0xf2, 0xee, 0xeb, 0xff,
+ 0xf5, 0xf2, 0xee, 0xff, 0xf4, 0xe3, 0xdd, 0xff, 0xd0, 0x6b, 0x53, 0xff,
+ 0xd4, 0x49, 0x29, 0xff, 0x91, 0x2d, 0x16, 0xff, 0x91, 0x2d, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0xff, 0x15, 0x15, 0x14, 0x52, 0x00, 0x00, 0x00, 0xff,
+ 0x6f, 0x23, 0x12, 0xfa, 0xca, 0x55, 0x35, 0xff, 0xdc, 0xbc, 0xb1, 0xff,
+ 0xdd, 0xdc, 0xd6, 0xff, 0xd4, 0xd3, 0xcf, 0xff, 0xc8, 0xc7, 0xc3, 0xff,
+ 0xad, 0x78, 0x68, 0xff, 0x91, 0x2d, 0x16, 0xff, 0x91, 0x2d, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0xf0,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6b,
+ 0x08, 0x06, 0x05, 0x93, 0x00, 0x00, 0x00, 0xff, 0x51, 0x50, 0x4e, 0xff,
+ 0x84, 0x81, 0x7d, 0xff, 0x7e, 0x7c, 0x75, 0xff, 0x7e, 0x7d, 0x77, 0xff,
+ 0x76, 0x73, 0x71, 0xff, 0x59, 0x55, 0x52, 0xff, 0x00, 0x00, 0x00, 0xf4,
+ 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0b,
+ 0x01, 0x01, 0x01, 0x39, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0xe6,
+ 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0xac,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xe1,
+ 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x58, 0x00, 0x01, 0x14, 0xe8,
+ 0x00, 0x01, 0x14, 0xf4, 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x6f, 0x6e, 0x76,
+ 0x65, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0x15, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x1e, 0x30,
+ 0x00, 0x01, 0x15, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, 0xce,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x0c, 0x0a, 0x06, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0a, 0x0a, 0x0a, 0x99,
+ 0xb3, 0xb1, 0xb0, 0xff, 0xee, 0xec, 0xeb, 0xff, 0xf0, 0xdc, 0xaa, 0xff,
+ 0xe5, 0xc4, 0x70, 0xff, 0xdf, 0xb8, 0x4f, 0xff, 0x8a, 0x68, 0x1f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x10, 0x0e, 0x09, 0xbd, 0x10, 0x0e, 0x08, 0x1f,
+ 0x18, 0x18, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x39, 0x20, 0x20, 0x20, 0xdb, 0xee, 0xec, 0xe9, 0xff,
+ 0xe6, 0xd4, 0x98, 0xff, 0xee, 0xd6, 0x82, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xe3, 0xc1, 0x5e, 0xff, 0xd2, 0x98, 0x15, 0xff,
+ 0x97, 0x6e, 0x15, 0xff, 0x7f, 0x5b, 0x0a, 0xff, 0x1c, 0x19, 0x0f, 0xa3,
+ 0x1f, 0x1b, 0x0f, 0x11, 0x1e, 0x0f, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xb1, 0xeb, 0xe9, 0xe5, 0xff, 0xcb, 0xb7, 0x71, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x73, 0x58, 0x17, 0xff, 0xc6, 0xa5, 0x46, 0xff, 0xe3, 0xc0, 0x5d, 0xff,
+ 0xbc, 0x87, 0x10, 0xff, 0xad, 0x7c, 0x10, 0xff, 0x1c, 0x19, 0x0f, 0xd9,
+ 0x22, 0x1b, 0x11, 0x20, 0x20, 0x1a, 0x0d, 0x0a, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x49, 0x54, 0x6a,
+ 0x25, 0x2c, 0x33, 0xff, 0x3a, 0x43, 0x4c, 0x48, 0x1d, 0x15, 0x07, 0x09,
+ 0x00, 0x00, 0x00, 0xff, 0xae, 0x9c, 0x5c, 0xff, 0x01, 0x01, 0x00, 0xcf,
+ 0x21, 0x1c, 0x10, 0x38, 0x20, 0x1c, 0x10, 0x33, 0x20, 0x1c, 0x11, 0x31,
+ 0x0b, 0x09, 0x05, 0x69, 0x9c, 0x7e, 0x2b, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xab, 0x7c, 0x12, 0xff, 0x24, 0x20, 0x12, 0xf1,
+ 0x20, 0x1d, 0x10, 0x29, 0x1f, 0x1b, 0x12, 0x0f, 0x24, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x38, 0x41, 0x4c, 0xff,
+ 0xa5, 0xbd, 0xd1, 0xff, 0x2b, 0x33, 0x3b, 0xff, 0x39, 0x41, 0x49, 0x6b,
+ 0x1f, 0x1c, 0x11, 0x18, 0x00, 0x00, 0x00, 0xff, 0x20, 0x1c, 0x11, 0x31,
+ 0x21, 0x1c, 0x10, 0x28, 0x21, 0x1c, 0x0f, 0x1a, 0x1f, 0x1c, 0x0f, 0x15,
+ 0x1e, 0x1b, 0x0d, 0x18, 0x3d, 0x35, 0x1f, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xa3, 0x78, 0x19, 0xff, 0x23, 0x1f, 0x13, 0xff,
+ 0x21, 0x1c, 0x0f, 0x2e, 0x20, 0x1c, 0x0e, 0x13, 0x11, 0x11, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3e, 0x49, 0x54, 0x88, 0x55, 0x65, 0x73, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x3f, 0x56, 0x6c, 0xff, 0x2b, 0x33, 0x3b, 0xff,
+ 0x30, 0x34, 0x34, 0x40, 0x20, 0x1c, 0x0f, 0x1f, 0x1f, 0x1b, 0x11, 0x20,
+ 0x1d, 0x1a, 0x10, 0x14, 0x0b, 0x0b, 0x06, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xa9, 0x7c, 0x1a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x1a, 0x0d, 0x0f,
+ 0x1a, 0x1a, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x3f, 0x4a, 0x56, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x41, 0x5b, 0x71, 0xff,
+ 0x2b, 0x34, 0x3c, 0xff, 0x30, 0x35, 0x36, 0x3e, 0x20, 0x1c, 0x0e, 0x13,
+ 0x1e, 0x1e, 0x0f, 0x09, 0x22, 0x1e, 0x11, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xc5, 0x8f, 0x13, 0xff, 0xb6, 0x84, 0x11, 0xff,
+ 0x82, 0x63, 0x21, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x21, 0x1d, 0x0f, 0x22,
+ 0x1f, 0x1a, 0x0f, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3e, 0x49, 0x55, 0xa0, 0x5a, 0x6a, 0x79, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x41, 0x5b, 0x71, 0xff, 0x25, 0x2c, 0x33, 0xff, 0x32, 0x37, 0x39, 0x39,
+ 0x1c, 0x1c, 0x0b, 0x0c, 0x1e, 0x1a, 0x0d, 0x0f, 0x36, 0x32, 0x20, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff, 0x91, 0x6f, 0x25, 0xff,
+ 0x32, 0x2f, 0x1e, 0xff, 0x20, 0x1c, 0x10, 0x39, 0x20, 0x1c, 0x10, 0x26,
+ 0x1e, 0x19, 0x0f, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x45, 0x51, 0x24,
+ 0x3f, 0x4a, 0x56, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x4b, 0x69, 0x83, 0xff, 0x3f, 0x56, 0x6c, 0xff, 0x2c, 0x33, 0x3c, 0xff,
+ 0x31, 0x37, 0x39, 0x39, 0x1e, 0x19, 0x0c, 0x10, 0x1e, 0x1b, 0x10, 0x18,
+ 0x2b, 0x27, 0x19, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0x91, 0x6f, 0x25, 0xff, 0x35, 0x31, 0x20, 0xff,
+ 0x20, 0x1d, 0x10, 0x3c, 0x20, 0x1d, 0x10, 0x2c, 0x1e, 0x1b, 0x0f, 0x16,
+ 0x21, 0x16, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x49, 0x55, 0xa8,
+ 0x68, 0x7a, 0x8b, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x39, 0x4e, 0x62, 0xff,
+ 0x2b, 0x33, 0x3b, 0xff, 0x32, 0x37, 0x39, 0x39, 0x1c, 0x1c, 0x0c, 0x11,
+ 0x20, 0x1b, 0x10, 0x19, 0x30, 0x2c, 0x19, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0x93, 0x70, 0x25, 0xff, 0x32, 0x2f, 0x1e, 0xff, 0x57, 0x4e, 0x2d, 0x4b,
+ 0x21, 0x1c, 0x10, 0x2c, 0x1f, 0x1c, 0x0e, 0x17, 0x1b, 0x1b, 0x09, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x11, 0x14, 0x18, 0xff,
+ 0x9d, 0xb8, 0xd2, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x36, 0x4a, 0x5d, 0xff, 0x18, 0x1c, 0x21, 0xff, 0x20, 0x1b, 0x10, 0x19,
+ 0x1c, 0x1c, 0x0e, 0x0e, 0x1f, 0x1c, 0x11, 0x17, 0x30, 0x2c, 0x19, 0xff,
+ 0x2f, 0x2c, 0x19, 0xff, 0x20, 0x1c, 0x11, 0x3a, 0x21, 0x1c, 0x10, 0x2c,
+ 0x1f, 0x1c, 0x0e, 0x18, 0x19, 0x19, 0x08, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x02, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x1e, 0x2b, 0x36, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x0d, 0x0b, 0x06, 0x68, 0x20, 0x1c, 0x10, 0x21,
+ 0x20, 0x1b, 0x0a, 0x0c, 0x1d, 0x1d, 0x0e, 0x09, 0x1f, 0x1c, 0x0e, 0x17,
+ 0x1f, 0x1c, 0x10, 0x28, 0x1f, 0x1c, 0x10, 0x28, 0x1e, 0x1b, 0x10, 0x18,
+ 0x1d, 0x15, 0x0e, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x1a, 0x08, 0x08,
+ 0x08, 0x07, 0x04, 0x4b, 0x00, 0x00, 0x00, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x20, 0x2f, 0x3b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x08, 0x07, 0x04, 0x8d,
+ 0x12, 0x10, 0x09, 0x52, 0x20, 0x1d, 0x10, 0x2c, 0x20, 0x1a, 0x10, 0x19,
+ 0x1c, 0x0d, 0x0a, 0x5d, 0x00, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0xde,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x00, 0xb7,
+ 0x43, 0x1d, 0x12, 0x2c, 0x14, 0x14, 0x0a, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x1a, 0x1a, 0x0d, 0x0a, 0x08, 0x07, 0x03, 0x4c, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0xcf, 0xe5, 0xff, 0x26, 0x36, 0x44, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x06, 0x05, 0x03, 0xa1, 0x12, 0x10, 0x09, 0x53, 0x21, 0x1c, 0x11, 0x2f,
+ 0x1f, 0x1b, 0x0f, 0x22, 0x1f, 0x1c, 0x0c, 0x15, 0x3b, 0x1c, 0x15, 0x8b,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0x54, 0x46, 0xff, 0xcf, 0x57, 0x49, 0xff,
+ 0xcd, 0x54, 0x46, 0xff, 0xc7, 0x4b, 0x3f, 0xff, 0xc0, 0x3f, 0x35, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x46, 0x1c, 0x13, 0x73, 0x1d, 0x17, 0x0b, 0x0b,
+ 0x15, 0x15, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x19, 0x19, 0x0c, 0x0b, 0x0c, 0x0a, 0x06, 0x39,
+ 0x00, 0x00, 0x00, 0xff, 0x03, 0x03, 0x01, 0xb9, 0x13, 0x10, 0x09, 0x53,
+ 0x20, 0x1d, 0x10, 0x30, 0x20, 0x1c, 0x0f, 0x23, 0x1e, 0x1b, 0x0f, 0x16,
+ 0x1c, 0x1c, 0x0b, 0x0c, 0x28, 0x13, 0x0d, 0x49, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0x54, 0x46, 0xff, 0xd4, 0x60, 0x51, 0xff, 0xdd, 0x7c, 0x6f, 0xff,
+ 0xd4, 0x60, 0x51, 0xff, 0xcd, 0x54, 0x46, 0xff, 0xc4, 0x46, 0x3a, 0xff,
+ 0x99, 0x2c, 0x25, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2b, 0x18, 0x0f, 0x32,
+ 0x1c, 0x17, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1b, 0x1b, 0x0d, 0x0a,
+ 0x1e, 0x1b, 0x0d, 0x18, 0x20, 0x1d, 0x10, 0x25, 0x20, 0x1c, 0x11, 0x23,
+ 0x1f, 0x1c, 0x0e, 0x17, 0x1f, 0x1a, 0x0a, 0x0d, 0x18, 0x18, 0x0c, 0x06,
+ 0x19, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xb0, 0xc5, 0x48, 0x3c, 0xff,
+ 0xcf, 0x57, 0x49, 0xff, 0xdf, 0x84, 0x77, 0xff, 0xed, 0xc5, 0xbe, 0xff,
+ 0xdc, 0x7b, 0x6d, 0xff, 0xcf, 0x57, 0x49, 0xff, 0xc5, 0x48, 0x3c, 0xff,
+ 0xc2, 0x4d, 0x45, 0xff, 0x6b, 0x18, 0x13, 0xff, 0x07, 0x06, 0x04, 0x79,
+ 0x1e, 0x1b, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x1d, 0x13, 0x09, 0x07, 0x20, 0x1b, 0x10, 0x0c, 0x1d, 0x17, 0x0b, 0x0b,
+ 0x16, 0x16, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xc4, 0x46, 0x3a, 0xff,
+ 0xcd, 0x54, 0x46, 0xff, 0xd8, 0x6e, 0x61, 0xff, 0xdf, 0x82, 0x75, 0xff,
+ 0xd4, 0x60, 0x51, 0xff, 0xcd, 0x54, 0x46, 0xff, 0xc4, 0x46, 0x3a, 0xff,
+ 0xcb, 0x6a, 0x63, 0xff, 0x6e, 0x18, 0x13, 0xff, 0x03, 0x03, 0x01, 0xb5,
+ 0x20, 0x1c, 0x11, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x24, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x3f, 0x35, 0xff,
+ 0xc7, 0x4b, 0x3f, 0xff, 0xcd, 0x54, 0x46, 0xff, 0xcf, 0x57, 0x49, 0xff,
+ 0xcd, 0x54, 0x46, 0xff, 0xc7, 0x4b, 0x3f, 0xff, 0xc0, 0x3f, 0x35, 0xff,
+ 0xcb, 0x6a, 0x64, 0xff, 0x82, 0x1a, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x20, 0x1d, 0x10, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xba, 0x35, 0x2d, 0xff,
+ 0xc0, 0x3f, 0x35, 0xff, 0xc4, 0x46, 0x3a, 0xff, 0xc5, 0x48, 0x3c, 0xff,
+ 0xc4, 0x46, 0x3a, 0xff, 0xc0, 0x3f, 0x35, 0xff, 0xba, 0x35, 0x2d, 0xff,
+ 0xc2, 0x55, 0x50, 0xff, 0x6b, 0x11, 0x0e, 0xff, 0x01, 0x01, 0x00, 0xd8,
+ 0x21, 0x1c, 0x10, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xba, 0x98, 0x23, 0x1d, 0xff,
+ 0xa6, 0x2d, 0x26, 0xff, 0xc1, 0x4b, 0x43, 0xff, 0xbc, 0x39, 0x30, 0xff,
+ 0xbb, 0x37, 0x2e, 0xff, 0xb8, 0x32, 0x2a, 0xff, 0xc3, 0x5c, 0x57, 0xff,
+ 0xb5, 0x37, 0x32, 0xff, 0x47, 0x07, 0x05, 0xff, 0x09, 0x08, 0x05, 0x82,
+ 0x21, 0x1e, 0x11, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x1a, 0x0a, 0x07, 0x54, 0x18, 0x18, 0x18, 0xff,
+ 0x94, 0x1e, 0x19, 0xff, 0xaa, 0x3f, 0x3a, 0xff, 0xc7, 0x64, 0x5f, 0xff,
+ 0xc6, 0x63, 0x5e, 0xff, 0xc0, 0x53, 0x50, 0xff, 0xb3, 0x34, 0x30, 0xff,
+ 0x52, 0x09, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff, 0x32, 0x1d, 0x11, 0x3a,
+ 0x20, 0x1c, 0x11, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x1f, 0x15, 0x0a, 0x06, 0x37, 0x16, 0x0f, 0x86,
+ 0x0e, 0x0e, 0x0e, 0xff, 0x7f, 0x12, 0x0e, 0xff, 0x96, 0x17, 0x12, 0xff,
+ 0x8f, 0x16, 0x11, 0xff, 0x6f, 0x0e, 0x0b, 0xff, 0x49, 0x05, 0x04, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x35, 0x17, 0x0f, 0x93, 0x20, 0x1d, 0x10, 0x0b,
+ 0x1e, 0x1b, 0x10, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x02, 0x1c, 0x1c, 0x11, 0x0c,
+ 0x39, 0x1d, 0x13, 0x3b, 0x03, 0x02, 0x01, 0xb2, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x03, 0x02, 0x01, 0xc4,
+ 0x38, 0x1d, 0x13, 0x41, 0x20, 0x1b, 0x10, 0x09, 0x1e, 0x1c, 0x11, 0x07,
+ 0x1c, 0x1c, 0x11, 0x07, 0x00, 0x01, 0x1e, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x9d, 0xb8, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39,
+ 0x2e, 0x3b, 0x46, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x7d, 0x98, 0xb6, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x36, 0x32, 0x3b, 0x4a, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x9d, 0xb8, 0xd2, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x4b, 0x69, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7d, 0x98, 0xb4, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x20, 0x2a, 0x34, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x9d, 0xb8, 0xd2, 0xff, 0x4b, 0x69, 0x83, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x4b, 0x69, 0x83, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xeb, 0xb4, 0xa6, 0xff, 0xe4, 0x7b, 0x63, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0x7c, 0x64, 0xff,
+ 0xe3, 0x7b, 0x63, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xaa, 0x31, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x22, 0x64, 0x00, 0x01, 0x22, 0x6c,
+ 0x67, 0x74, 0x6b, 0x2d, 0x61, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x22, 0x80, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x01, 0x2b, 0xa8, 0x00, 0x01, 0x22, 0x88, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xd0, 0xd9, 0xe3, 0xff, 0xb9, 0xc6, 0xd5, 0xff, 0x90, 0x9d, 0xac, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xc6, 0xd5, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xc6, 0xd5, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xc6, 0xd5, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xc6, 0xd5, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xc6, 0xd5, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5a, 0x6f, 0x86, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xad, 0xbc, 0xce, 0xff, 0x9d, 0xb0, 0xc5, 0xff, 0x9d, 0xb0, 0xc5, 0xff,
+ 0x9d, 0xb0, 0xc5, 0xff, 0x9d, 0xb0, 0xc5, 0xff, 0x9d, 0xb0, 0xc5, 0xff,
+ 0x93, 0xa6, 0xbd, 0xff, 0x75, 0x90, 0xae, 0xff, 0x83, 0x9b, 0xb5, 0xff,
+ 0xa5, 0xb6, 0xc9, 0xff, 0xb8, 0xc5, 0xd4, 0xff, 0xb6, 0xc4, 0xd3, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff, 0x93, 0xa0, 0xad, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0xce, 0xdc, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x61, 0x78, 0x91, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0x75, 0x89, 0xa0, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x68, 0x83, 0xa1, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x54,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x86, 0x9d, 0xb8, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xff,
+ 0xa2, 0xb3, 0xc7, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x51,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0xa5, 0xb2, 0xc0, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x4e, 0x60, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x54,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2b, 0xb0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd0, 0xd9, 0xe3, 0xff, 0xb9, 0xc6, 0xd5, 0xff,
+ 0x90, 0x9d, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb9, 0xc6, 0xd5, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xc6, 0xd5, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb9, 0xc6, 0xd5, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb9, 0xc6, 0xd5, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x5a, 0x6f, 0x86, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xad, 0xbc, 0xce, 0xff, 0x9d, 0xb0, 0xc5, 0xff,
+ 0x9d, 0xb0, 0xc5, 0xff, 0x9d, 0xb0, 0xc5, 0xff, 0x9d, 0xb0, 0xc5, 0xff,
+ 0x93, 0xa6, 0xbd, 0xff, 0x75, 0x90, 0xae, 0xff, 0x83, 0x9b, 0xb5, 0xff,
+ 0xa5, 0xb6, 0xc9, 0xff, 0xb8, 0xc5, 0xd4, 0xff, 0xb6, 0xc4, 0xd3, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0x93, 0xa0, 0xad, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc4, 0xce, 0xdc, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x61, 0x78, 0x91, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x75, 0x89, 0xa0, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x68, 0x83, 0xa1, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x86, 0x9d, 0xb8, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb6, 0xc4, 0xd3, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb6, 0xc4, 0xd3, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xa5, 0xb2, 0xc0, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x4e, 0x60, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x2f, 0xdc,
+ 0x00, 0x01, 0x2f, 0xe8, 0x67, 0x74, 0x6b, 0x2d, 0x69, 0x6e, 0x66, 0x6f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0x2f, 0xfc, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x39, 0x24,
+ 0x00, 0x01, 0x30, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x15, 0x16, 0x17, 0x50,
+ 0x22, 0x24, 0x27, 0xb1, 0x1b, 0x1e, 0x22, 0xe8, 0x18, 0x1c, 0x20, 0xfc,
+ 0x18, 0x1c, 0x20, 0xff, 0x18, 0x1c, 0x1f, 0xfb, 0x18, 0x1c, 0x20, 0xe9,
+ 0x17, 0x19, 0x1b, 0xb7, 0x06, 0x07, 0x08, 0x52, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1c, 0x29, 0x2d, 0x30, 0xca, 0x55, 0x5b, 0x61, 0xff,
+ 0x90, 0x9e, 0xac, 0xff, 0x8e, 0xa2, 0xb9, 0xff, 0x8b, 0xa2, 0xba, 0xff,
+ 0x8c, 0xa2, 0xbb, 0xff, 0x8a, 0xa1, 0xba, 0xff, 0x85, 0x9a, 0xb2, 0xff,
+ 0x6b, 0x7a, 0x8b, 0xff, 0x39, 0x40, 0x48, 0xff, 0x14, 0x15, 0x18, 0xc6,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48,
+ 0x30, 0x36, 0x3c, 0xea, 0x86, 0x92, 0x9f, 0xff, 0x92, 0xa6, 0xbd, 0xff,
+ 0x81, 0x9a, 0xb5, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x82, 0x9a, 0xb3, 0xff, 0x60, 0x6b, 0x77, 0xff,
+ 0x21, 0x24, 0x28, 0xea, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x41, 0x46, 0x4c, 0xee,
+ 0x92, 0xa0, 0xad, 0xff, 0x8e, 0xa3, 0xbc, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x81, 0x99, 0xb2, 0xff,
+ 0x6e, 0x7c, 0x8b, 0xff, 0x23, 0x28, 0x2c, 0xeb, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x1e, 0x21, 0x26, 0xd0, 0x87, 0x91, 0x9d, 0xff,
+ 0x88, 0x9f, 0xb8, 0xff, 0x77, 0x92, 0xaf, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x76, 0x91, 0xaf, 0xff,
+ 0x81, 0x98, 0xb3, 0xff, 0x6a, 0x76, 0x83, 0xff, 0x1c, 0x1f, 0x21, 0xce,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x0f, 0x0f, 0x10, 0x31, 0x62, 0x69, 0x71, 0xff, 0x89, 0xa0, 0xb8, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x80, 0x97, 0xb1, 0xff, 0x33, 0x3b, 0x43, 0xff,
+ 0x02, 0x03, 0x04, 0x6e, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
+ 0x20, 0x23, 0x25, 0x84, 0x71, 0x7d, 0x89, 0xff, 0x81, 0x9a, 0xb5, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x50, 0x63, 0x78, 0xff,
+ 0x0b, 0x0e, 0x11, 0xa8, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
+ 0x27, 0x29, 0x2d, 0xa7, 0x90, 0xa5, 0xbb, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x68, 0x80, 0x9b, 0xff,
+ 0x0f, 0x12, 0x15, 0xbb, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
+ 0x39, 0x3e, 0x44, 0xcb, 0x93, 0xa8, 0xbf, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x67, 0x7f, 0x9a, 0xff,
+ 0x0e, 0x10, 0x15, 0xcf, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
+ 0x39, 0x3f, 0x44, 0xf0, 0x93, 0xa8, 0xbf, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x68, 0x81, 0x9b, 0xff,
+ 0x0f, 0x14, 0x18, 0xff, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x3a, 0x3e, 0x44, 0xd0, 0x93, 0xa8, 0xc0, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x6c, 0x85, 0xa1, 0xff,
+ 0x0f, 0x12, 0x17, 0xd3, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
+ 0x3c, 0x40, 0x46, 0xc8, 0x91, 0xa5, 0xbb, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x60, 0x76, 0x8f, 0xff,
+ 0x0c, 0x0f, 0x13, 0xbc, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x27, 0x29, 0x2b, 0xa7, 0x8f, 0x9f, 0xb0, 0xff, 0x7d, 0x96, 0xb2, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x72, 0x8c, 0xa9, 0xff, 0x44, 0x54, 0x66, 0xff,
+ 0x08, 0x0a, 0x0c, 0x9f, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x1c, 0x1d, 0x1f, 0x55, 0x6b, 0x74, 0x7c, 0xff, 0x8e, 0xa4, 0xbb, 0xff,
+ 0x77, 0x91, 0xaf, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x74, 0x8f, 0xad, 0xff, 0x63, 0x7a, 0x94, 0xff, 0x21, 0x29, 0x33, 0xff,
+ 0x02, 0x02, 0x03, 0x6e, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x1c, 0x23, 0x27, 0x2d, 0xdf, 0x8a, 0x97, 0xa6, 0xff,
+ 0x7f, 0x98, 0xb4, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x70, 0x8a, 0xa7, 0xff, 0x47, 0x57, 0x69, 0xff, 0x0f, 0x12, 0x17, 0xd8,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x46, 0x43, 0x4a, 0x51, 0xf3,
+ 0x9a, 0xa7, 0xb6, 0xff, 0x7f, 0x98, 0xb4, 0xff, 0x78, 0x92, 0xb0, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x74, 0x8f, 0xad, 0xff, 0x6a, 0x83, 0x9e, 0xff,
+ 0x4c, 0x5d, 0x71, 0xff, 0x19, 0x1f, 0x26, 0xf0, 0x00, 0x00, 0x00, 0x61,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x62,
+ 0x35, 0x3d, 0x45, 0xf1, 0x88, 0x96, 0xa4, 0xff, 0x91, 0xa6, 0xbd, 0xff,
+ 0x7c, 0x96, 0xb2, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x72, 0x8c, 0xa9, 0xff, 0x69, 0x82, 0x9d, 0xff, 0x41, 0x50, 0x61, 0xff,
+ 0x19, 0x1e, 0x25, 0xef, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x47, 0x1f, 0x23, 0x2a, 0xdd, 0x5e, 0x67, 0x72, 0xff,
+ 0x78, 0x8a, 0x9e, 0xff, 0x83, 0x9a, 0xb3, 0xff, 0x7c, 0x93, 0xad, 0xff,
+ 0x6f, 0x89, 0xa6, 0xff, 0x6d, 0x86, 0xa3, 0xff, 0x64, 0x7b, 0x95, 0xff,
+ 0x4d, 0x5f, 0x73, 0xff, 0x2e, 0x39, 0x45, 0xff, 0x0d, 0x10, 0x14, 0xd8,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x38, 0x0d, 0x0f, 0x11, 0x87,
+ 0x28, 0x2d, 0x33, 0xd2, 0x32, 0x39, 0x40, 0xf2, 0x2a, 0x31, 0x39, 0xfd,
+ 0x22, 0x2b, 0x34, 0xff, 0x20, 0x29, 0x32, 0xfc, 0x1d, 0x23, 0x2b, 0xf0,
+ 0x12, 0x16, 0x1c, 0xd2, 0x03, 0x04, 0x05, 0x8c, 0x00, 0x00, 0x00, 0x54,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x39, 0x2c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfa,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xfa,
+ 0x77, 0x86, 0x96, 0xff, 0x98, 0xaa, 0xbd, 0xff, 0x99, 0xac, 0xc0, 0xff,
+ 0x96, 0xa8, 0xbd, 0xff, 0x81, 0x96, 0xad, 0xff, 0x44, 0x58, 0x6c, 0xff,
+ 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x1c, 0x23, 0x2b, 0xff,
+ 0xa6, 0xb5, 0xc8, 0xff, 0x80, 0x98, 0xb3, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x15, 0x1b, 0x23, 0xff,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xfa,
+ 0xb0, 0xbd, 0xce, 0xff, 0x80, 0x98, 0xb3, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88,
+ 0x65, 0x76, 0x89, 0xff, 0x80, 0x98, 0xb3, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x32, 0x46, 0x5c, 0xff,
+ 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xd3, 0x98, 0xaa, 0xbd, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0xa5, 0xb4, 0xc6, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x00, 0x00, 0x00, 0xfa,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa,
+ 0xa2, 0xb2, 0xc3, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xd3, 0x9c, 0xac, 0xbd, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x7d, 0x8a, 0x98, 0xff,
+ 0x6e, 0x87, 0xa1, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x4a, 0x5a, 0x6d, 0xff, 0x00, 0x00, 0x00, 0x88,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0xfa, 0x87, 0x9b, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x00, 0x00, 0x00, 0xfa,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x14, 0x1b, 0x23, 0xff,
+ 0x60, 0x78, 0x91, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x0c, 0x13, 0x1a, 0xff,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xfa, 0x4a, 0x5a, 0x6d, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x4a, 0x5a, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xfa,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0xfa,
+ 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x88,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x4a, 0xd0, 0x00, 0x01, 0x3d, 0x58, 0x00, 0x01, 0x3d, 0x6c,
+ 0x67, 0x74, 0x6b, 0x2d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, 0x2d,
+ 0x66, 0x69, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x3d, 0x80, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x01, 0x46, 0xa8, 0x00, 0x01, 0x3d, 0x88, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0x86, 0x86, 0x86, 0xff,
+ 0x86, 0x86, 0x86, 0xff, 0x87, 0x87, 0x87, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0x89, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x93, 0x93, 0x93, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x94, 0x94, 0x94, 0xff, 0x95, 0x95, 0x95, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff, 0x8e, 0x8e, 0x8e, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x93, 0x93, 0x93, 0xff, 0x94, 0x94, 0x94, 0xff,
+ 0x95, 0x95, 0x95, 0xff, 0x95, 0x95, 0x95, 0xff, 0x96, 0x96, 0x96, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x94, 0x94, 0x94, 0xff, 0x95, 0x95, 0x95, 0xff,
+ 0x95, 0x95, 0x95, 0xff, 0x96, 0x96, 0x96, 0xff, 0x96, 0x96, 0x96, 0xff,
+ 0x96, 0x96, 0x96, 0xff, 0x97, 0x97, 0x97, 0xff, 0x98, 0x98, 0x98, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x46, 0xb0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0x6d, 0x6d, 0x6d, 0xff, 0x6d, 0x6d, 0x6d, 0xff, 0x6e, 0x6e, 0x6e, 0xff,
+ 0x6f, 0x6f, 0x6f, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6e, 0x6e, 0x6e, 0xff,
+ 0x6f, 0x6f, 0x6f, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x74, 0x74, 0x74, 0xff, 0x75, 0x75, 0x75, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x74, 0x74, 0x74, 0xff, 0x75, 0x75, 0x75, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xed, 0xed, 0xed, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff, 0x74, 0x74, 0x74, 0xff,
+ 0x75, 0x75, 0x75, 0xff, 0x75, 0x75, 0x75, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x58, 0x4c, 0x00, 0x01, 0x4a, 0xdc,
+ 0x00, 0x01, 0x4a, 0xe8, 0x67, 0x74, 0x6b, 0x2d, 0x73, 0x61, 0x76, 0x65,
+ 0x2d, 0x61, 0x73, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0x4a, 0xfc, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x54, 0x24,
+ 0x00, 0x01, 0x4b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xfb, 0xe7, 0x3b, 0xff,
+ 0xf2, 0xb6, 0x4d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0xeb, 0x3d, 0xff, 0xf7, 0xb5, 0x44, 0xff,
+ 0x5d, 0x50, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc3, 0xd7, 0xf4, 0xff, 0xa9, 0xcd, 0xe5, 0xff, 0x75, 0x75, 0x7a, 0xff,
+ 0xef, 0xc5, 0xbb, 0xff, 0xf1, 0xc8, 0xbe, 0xff, 0xf0, 0xc6, 0xbc, 0xff,
+ 0xee, 0xbc, 0xb2, 0xff, 0xee, 0xbe, 0xb5, 0xff, 0xee, 0xc1, 0xb8, 0xff,
+ 0xed, 0xbf, 0xb6, 0xff, 0xe8, 0xb6, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfc, 0xe9, 0x3b, 0xff, 0xf7, 0xb5, 0x45, 0xff, 0x6c, 0x5f, 0x34, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x43, 0x43, 0x45, 0xff, 0x92, 0xa7, 0xb9, 0xff,
+ 0x96, 0xb1, 0xc7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbb, 0xd6, 0xe8, 0xff, 0x8a, 0xaa, 0xc5, 0xff, 0x60, 0x5f, 0x68, 0xff,
+ 0xe0, 0x8d, 0x7e, 0xff, 0xe0, 0x82, 0x6e, 0xff, 0xe0, 0x80, 0x6e, 0xff,
+ 0xdc, 0x7a, 0x68, 0xff, 0xdc, 0x81, 0x71, 0xff, 0xda, 0x78, 0x68, 0xff,
+ 0xd3, 0x80, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfa, 0xe4, 0x3a, 0xff,
+ 0xf4, 0xb2, 0x44, 0xff, 0x61, 0x50, 0x30, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x78, 0x3e, 0x35, 0xff, 0x4d, 0x4c, 0x52, 0xff, 0x77, 0x90, 0xa2, 0xff,
+ 0x52, 0x6d, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xd5, 0xe9, 0xff, 0x88, 0xa7, 0xc3, 0xff, 0x68, 0x66, 0x70, 0xff,
+ 0xc8, 0x81, 0x7b, 0xff, 0xcb, 0x7c, 0x74, 0xff, 0xcb, 0x7a, 0x73, 0xff,
+ 0xcb, 0x7b, 0x73, 0xff, 0xcc, 0x7c, 0x72, 0xff, 0xca, 0x7c, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xdf, 0x39, 0xff, 0xf3, 0xaf, 0x42, 0xff,
+ 0x61, 0x4f, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8f, 0x49, 0x41, 0xff,
+ 0x94, 0x55, 0x54, 0xff, 0x5b, 0x5a, 0x62, 0xff, 0x7b, 0x97, 0xae, 0xff,
+ 0x53, 0x6f, 0x84, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb6, 0xd3, 0xe7, 0xff, 0x87, 0xab, 0xc1, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xdc, 0x38, 0xff, 0xef, 0xb4, 0x4d, 0xff, 0x66, 0x5a, 0x32, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0x6e, 0x6e, 0x6e, 0xff, 0x81, 0x9e, 0xb6, 0xff,
+ 0x52, 0x6c, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xd3, 0xe7, 0xff, 0x85, 0xa4, 0xbf, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xd8, 0x37, 0xff,
+ 0xf0, 0xa9, 0x3f, 0xff, 0x65, 0x59, 0x30, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x72, 0x72, 0x72, 0xff, 0x83, 0xa0, 0xb8, 0xff,
+ 0x4f, 0x69, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xd3, 0xe6, 0xff, 0x84, 0xa3, 0xbf, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xd2, 0x36, 0xff, 0xed, 0xa4, 0x3e, 0xff,
+ 0x5c, 0x51, 0x30, 0xff, 0x00, 0x00, 0x00, 0xff, 0x94, 0x94, 0x94, 0xff,
+ 0xa3, 0xa3, 0xa3, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0x73, 0x73, 0x73, 0xff, 0x88, 0xa4, 0xbb, 0xff,
+ 0x48, 0x62, 0x76, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb7, 0xd2, 0xe7, 0xff, 0x82, 0xa0, 0xbb, 0xff, 0x63, 0x63, 0x63, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd7, 0xae, 0x74, 0xff, 0x61, 0x56, 0x2f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xba, 0xba, 0xba, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x73, 0x73, 0x73, 0xff, 0x88, 0xa4, 0xbb, 0xff,
+ 0x46, 0x5e, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0xca, 0xe5, 0xff, 0x7f, 0xa2, 0xb9, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4f, 0x41, 0x15, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x73, 0x73, 0x73, 0xff, 0x87, 0xa3, 0xba, 0xff,
+ 0x45, 0x5c, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0xcc, 0xe5, 0xff, 0x7d, 0xa0, 0xb6, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x9b, 0x9b, 0x9b, 0xff, 0x9c, 0x9c, 0x9c, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xcb, 0xcb, 0xcb, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0x73, 0x73, 0x73, 0xff, 0x87, 0xa3, 0xba, 0xff,
+ 0x54, 0x60, 0x69, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb0, 0xd1, 0xe4, 0xff, 0x83, 0xa1, 0xb6, 0xff, 0x73, 0x5b, 0x5b, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x73, 0x73, 0x73, 0xff, 0x83, 0xa0, 0xb8, 0xff,
+ 0x51, 0x5c, 0x64, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xce, 0xe3, 0xff, 0x7b, 0x9b, 0xb2, 0xff, 0x7a, 0x8e, 0x9a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x72, 0x72, 0x72, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x6c, 0x6c, 0x6c, 0xff, 0x6c, 0x6c, 0x6c, 0xff, 0x6f, 0x6f, 0x6f, 0xff,
+ 0x6a, 0x6e, 0x71, 0xff, 0x6e, 0x6e, 0x6e, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x69, 0x69, 0x69, 0xff, 0x6f, 0x77, 0x7e, 0xff, 0x86, 0xa2, 0xb9, 0xff,
+ 0x3a, 0x51, 0x5d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa9, 0xc9, 0xe2, 0xff, 0x74, 0x94, 0xaf, 0xff, 0x81, 0x9e, 0xb6, 0xff,
+ 0x83, 0xa0, 0xb8, 0xff, 0x86, 0xa2, 0xb9, 0xff, 0x81, 0x9e, 0xb6, 0xff,
+ 0x7e, 0x9b, 0xb4, 0xff, 0x7d, 0x9a, 0xb3, 0xff, 0x81, 0x9e, 0xb6, 0xff,
+ 0x79, 0x98, 0xb2, 0xff, 0x86, 0xa2, 0xb9, 0xff, 0x85, 0xa1, 0xb8, 0xff,
+ 0x85, 0xa1, 0xb8, 0xff, 0x87, 0xa3, 0xba, 0xff, 0x82, 0x9f, 0xb7, 0xff,
+ 0x8c, 0xa7, 0xbd, 0xff, 0x83, 0xa0, 0xb8, 0xff, 0x8a, 0xa5, 0xbb, 0xff,
+ 0x36, 0x4a, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xab, 0xc4, 0xe2, 0xff, 0x72, 0x94, 0xad, 0xff, 0x6f, 0x90, 0xac, 0xff,
+ 0x71, 0x92, 0xae, 0xff, 0x41, 0x4a, 0x4e, 0xff, 0x42, 0x4a, 0x51, 0xff,
+ 0x52, 0x5b, 0x63, 0xff, 0x62, 0x6f, 0x79, 0xff, 0x5f, 0x6c, 0x76, 0xff,
+ 0x5c, 0x69, 0x71, 0xff, 0x5a, 0x66, 0x6f, 0xff, 0x58, 0x63, 0x6b, 0xff,
+ 0x57, 0x63, 0x6a, 0xff, 0x52, 0x5b, 0x63, 0xff, 0x3b, 0x53, 0x60, 0xff,
+ 0x39, 0x42, 0x4b, 0xff, 0x78, 0x97, 0xb3, 0xff, 0xa4, 0xb9, 0xcb, 0xff,
+ 0x36, 0x48, 0x53, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xc9, 0xe2, 0xff, 0x70, 0x91, 0xaa, 0xff, 0x6f, 0x8f, 0xa7, 0xff,
+ 0x4a, 0x53, 0x59, 0xff, 0x97, 0x93, 0x8c, 0xff, 0xdf, 0xdd, 0xda, 0xff,
+ 0xe3, 0xe1, 0xde, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xea, 0xe9, 0xe7, 0xff, 0xdf, 0xdd, 0xda, 0xff, 0xcf, 0xce, 0xc9, 0xff,
+ 0xc9, 0xc6, 0xc0, 0xff, 0x9b, 0x96, 0x8e, 0xff, 0x56, 0x61, 0x68, 0xff,
+ 0x4b, 0x65, 0x7a, 0xff, 0x54, 0x73, 0x8c, 0xff, 0xaa, 0xc6, 0xdd, 0xff,
+ 0x34, 0x46, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xc9, 0xe1, 0xff, 0x6c, 0x8e, 0xa6, 0xff, 0x6c, 0x8c, 0xa4, 0xff,
+ 0x40, 0x47, 0x4d, 0xff, 0xda, 0xd8, 0xd3, 0xff, 0xe7, 0xe6, 0xe2, 0xff,
+ 0x67, 0x65, 0x5e, 0xff, 0x52, 0x4f, 0x47, 0xff, 0x52, 0x4f, 0x47, 0xff,
+ 0xd9, 0xd7, 0xd4, 0xff, 0xc7, 0xc5, 0xbf, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xb8, 0xb3, 0xab, 0xff, 0xcf, 0xce, 0xc9, 0xff, 0x43, 0x4c, 0x54, 0xff,
+ 0x4d, 0x69, 0x7f, 0xff, 0x4f, 0x6f, 0x84, 0xff, 0xb3, 0xca, 0xdc, 0xff,
+ 0x31, 0x3e, 0x49, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xc8, 0xe1, 0xff, 0x6b, 0x8d, 0xa6, 0xff, 0x72, 0x8f, 0xa4, 0xff,
+ 0x40, 0x47, 0x4d, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff,
+ 0x67, 0x65, 0x5e, 0xff, 0x52, 0x4f, 0x47, 0xff, 0x52, 0x4f, 0x47, 0xff,
+ 0xcd, 0xca, 0xc6, 0xff, 0xc2, 0xbf, 0xb9, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xca, 0xc6, 0xc0, 0xff, 0xdc, 0xda, 0xd7, 0xff, 0x4b, 0x55, 0x5d, 0xff,
+ 0x4e, 0x69, 0x7f, 0xff, 0x4f, 0x6f, 0x84, 0xff, 0xba, 0xcc, 0xdc, 0xff,
+ 0x31, 0x3e, 0x49, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa4, 0xc4, 0xde, 0xff, 0x69, 0x8b, 0xa3, 0xff, 0x70, 0x8a, 0xa1, 0xff,
+ 0x38, 0x3e, 0x43, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0x51, 0x4e, 0x46, 0xff, 0x4f, 0x4c, 0x44, 0xff, 0x4f, 0x4c, 0x44, 0xff,
+ 0xc7, 0xc4, 0xbe, 0xff, 0xc0, 0xbc, 0xb5, 0xff, 0xcb, 0xc8, 0xc2, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0x47, 0x51, 0x58, 0xff,
+ 0x4e, 0x68, 0x79, 0xff, 0x4d, 0x6c, 0x80, 0xff, 0xa3, 0xc3, 0xdb, 0xff,
+ 0x38, 0x3f, 0x43, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x77, 0x89, 0x99, 0xff, 0x6e, 0x89, 0x9e, 0xff, 0x65, 0x85, 0x9c, 0xff,
+ 0x33, 0x38, 0x3c, 0xff, 0xd7, 0xd4, 0xd0, 0xff, 0xd6, 0xd4, 0xd0, 0xff,
+ 0x4e, 0x4a, 0x43, 0xff, 0x4d, 0x49, 0x42, 0xff, 0x4d, 0x49, 0x42, 0xff,
+ 0xc0, 0xbc, 0xb5, 0xff, 0xd1, 0xce, 0xc9, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0x45, 0x4f, 0x55, 0xff,
+ 0x48, 0x61, 0x73, 0xff, 0x4d, 0x66, 0x78, 0xff, 0xa1, 0xc1, 0xda, 0xff,
+ 0x37, 0x3c, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35,
+ 0x0c, 0x0d, 0x0f, 0xff, 0x4e, 0x5e, 0x6a, 0xff, 0x5b, 0x6e, 0x7c, 0xff,
+ 0x4f, 0x5b, 0x62, 0xff, 0xa4, 0xa0, 0x99, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xb8, 0xb3, 0xab, 0xff, 0xcc, 0xc9, 0xc3, 0xff, 0xcc, 0xc9, 0xc3, 0xff,
+ 0xd7, 0xd5, 0xd1, 0xff, 0xe4, 0xe2, 0xe0, 0xff, 0xea, 0xe9, 0xe7, 0xff,
+ 0xdd, 0xdb, 0xd7, 0xff, 0xb8, 0xb5, 0xb0, 0xff, 0x3e, 0x47, 0x4d, 0xff,
+ 0x4a, 0x61, 0x76, 0xff, 0x4a, 0x60, 0x70, 0xff, 0x9b, 0xc3, 0xd8, 0xff,
+ 0x36, 0x3c, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x28, 0x32, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x54, 0x2c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf8, 0xfa, 0xff, 0xcb, 0xdd, 0xeb, 0xff,
+ 0xc8, 0x8a, 0x80, 0xff, 0xd1, 0x8f, 0x84, 0xff, 0xd1, 0x8f, 0x84, 0xff,
+ 0xd1, 0x8f, 0x84, 0xff, 0xd1, 0x8f, 0x84, 0xff, 0xcf, 0x8d, 0x82, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa4, 0x96, 0x26, 0xff, 0x63, 0x4a, 0x1e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa8, 0xbb, 0xcc, 0xff, 0xbf, 0xd5, 0xe8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xdb, 0xe7, 0xf1, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0xb7, 0x87, 0x7e, 0xff, 0xc7, 0x75, 0x68, 0xff,
+ 0xc7, 0x74, 0x67, 0xff, 0xc7, 0x74, 0x67, 0xff, 0xc5, 0x73, 0x66, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0xeb, 0x3d, 0xff, 0xf7, 0xb5, 0x44, 0xff,
+ 0x61, 0x52, 0x2e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x72, 0x89, 0x9a, 0xff,
+ 0x54, 0x69, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xdf, 0x39, 0xff, 0xf7, 0xb5, 0x45, 0xff,
+ 0x6c, 0x5f, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0x84, 0xa0, 0xb5, 0xff, 0x4f, 0x64, 0x75, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xd8, 0x37, 0xff, 0xef, 0xb4, 0x4d, 0xff,
+ 0x58, 0x4d, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xd2, 0x36, 0xff, 0xed, 0xa4, 0x3e, 0xff,
+ 0x58, 0x4e, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x48, 0x5f, 0x71, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd7, 0xae, 0x74, 0xff,
+ 0x61, 0x56, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xb0, 0xb0, 0xb0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x7f, 0x98, 0xac, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0x4f, 0x41, 0x15, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0xac, 0xbd, 0xcb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6f, 0x76, 0x7d, 0xff, 0x9a, 0xa3, 0xac, 0xff,
+ 0xbf, 0xcb, 0xd6, 0xff, 0xbf, 0xcb, 0xd6, 0xff, 0xbf, 0xcb, 0xd6, 0xff,
+ 0xbd, 0xc9, 0xd4, 0xff, 0xa1, 0xb6, 0xc4, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff, 0x8b, 0xa7, 0xbc, 0xff,
+ 0x80, 0x9c, 0xb0, 0xff, 0x6c, 0x83, 0x94, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x7d, 0x97, 0xab, 0xff, 0x7d, 0x97, 0xac, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0x8b, 0xa7, 0xbc, 0xff, 0xa4, 0xac, 0xb8, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0x9c, 0x9d, 0x9d, 0xff, 0x2f, 0x46, 0x56, 0xff,
+ 0x80, 0x86, 0x8c, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0x84, 0xa0, 0xb5, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0x18, 0x30, 0x42, 0xff, 0x33, 0x49, 0x5a, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0x13, 0x2d, 0x3c, 0xff, 0x58, 0x6d, 0x80, 0xff, 0x97, 0xa5, 0xb0, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x86, 0xa4, 0xb9, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0x2e, 0x43, 0x53, 0xff,
+ 0x5a, 0x70, 0x82, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x11, 0x28, 0x35, 0xff, 0x5a, 0x70, 0x82, 0xff,
+ 0x9d, 0xa9, 0xb0, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6b, 0x78, 0x82, 0xff, 0x82, 0x9d, 0xb1, 0xff,
+ 0x7f, 0x98, 0xac, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0x21, 0x36, 0x48, 0xff, 0x5f, 0x79, 0x89, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0x11, 0x2c, 0x3a, 0xff,
+ 0x5a, 0x70, 0x82, 0xff, 0x9f, 0xa9, 0xb0, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0xff,
+ 0x59, 0x63, 0x6d, 0xff, 0x4f, 0x64, 0x75, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0x90, 0x90, 0x90, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x86, 0x86, 0x86, 0xff, 0x6e, 0x6e, 0x6e, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x2d, 0x39, 0x49, 0xff, 0x3e, 0x4f, 0x5c, 0xff, 0x80, 0x87, 0x8f, 0xff,
+ 0x1a, 0x31, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd3,
+ 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0xe1,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x01, 0x65, 0xcc, 0x00, 0x01, 0x58, 0x58, 0x00, 0x01, 0x58, 0x68,
+ 0x67, 0x74, 0x6b, 0x2d, 0x75, 0x6e, 0x64, 0x6f, 0x2d, 0x6c, 0x74, 0x72,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0x58, 0x7c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x61, 0xa4,
+ 0x00, 0x01, 0x58, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0xff, 0xef, 0xe5, 0xba, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xe7, 0xc1, 0xff, 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x92,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff, 0xef, 0xe4, 0xb6, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xd5, 0xb7, 0x5d, 0xff, 0xb2, 0x95, 0x44, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0xff, 0xef, 0xe5, 0xba, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xd1, 0xb0, 0x51, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7b,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0xc0, 0xaf, 0x73, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xc0, 0xa0, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0xff, 0x98, 0x6b, 0x07, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xe0, 0xb7, 0x4c, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xd9, 0xc3, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0x8f, 0x64, 0x06, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd5, 0x9d, 0x1c, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xb1, 0x93, 0x3f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x64, 0x06, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x98, 0x6b, 0x07, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xdf, 0xb7, 0x4a, 0xff, 0xcc, 0xb7, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0xff, 0x98, 0x6b, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0xff,
+ 0xb8, 0x82, 0x0a, 0xff, 0xd9, 0xa7, 0x2e, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x83,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xff, 0xd7, 0xa6, 0x2c, 0xff, 0xc7, 0xb2, 0x6a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0xff, 0xd4, 0xb1, 0x50, 0xff, 0xa3, 0x92, 0x56, 0xff,
+ 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0xff, 0xe2, 0xcb, 0x79, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xff,
+ 0xc9, 0xb4, 0x6b, 0xff, 0x8d, 0x7e, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xae, 0x9c, 0x5c, 0xff,
+ 0x96, 0x86, 0x4f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x61, 0xac, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xef, 0xe5, 0xba, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf3, 0xdf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf6, 0xea, 0xff, 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0xff,
+ 0xf9, 0xf5, 0xe4, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xf4, 0xe4, 0xad, 0xff, 0xf7, 0xee, 0xcc, 0xff, 0xef, 0xe4, 0xc2, 0xff,
+ 0x94, 0x8a, 0x6f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x83,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf5, 0xe6, 0xff, 0xf1, 0xdd, 0x97, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xd1, 0xb0, 0x51, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x83, 0x96, 0x86, 0x4f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xef, 0xe4, 0xff, 0xf1, 0xdd, 0x97, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xc0, 0xa0, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc3, 0xa9, 0x70, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xe0, 0xb7, 0x4c, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xd9, 0xc3, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6a, 0xa4, 0x93, 0x57, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbc, 0xa3, 0x6b, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd5, 0x9d, 0x1c, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xb1, 0x93, 0x3f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcc, 0xb7, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbe, 0xa5, 0x6f, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x98, 0x6b, 0x07, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xdf, 0xb7, 0x4a, 0xff, 0xcc, 0xb7, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xbc, 0x9f, 0x5f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a,
+ 0x00, 0x00, 0x00, 0xff, 0xb8, 0x82, 0x0a, 0xff, 0xd9, 0xa7, 0x2e, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc0, 0xac, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd4, 0xb1, 0x50, 0xff, 0xa3, 0x92, 0x56, 0xff,
+ 0x00, 0x00, 0x00, 0x86, 0x84, 0x76, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xff, 0xe2, 0xcb, 0x79, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc9, 0xb4, 0x6b, 0xff,
+ 0x8d, 0x7e, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0x65, 0xd8, 0x00, 0x01, 0x65, 0xe4,
+ 0x67, 0x74, 0x6b, 0x2d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x65, 0xf8,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x6f, 0x20, 0x00, 0x01, 0x66, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xc8, 0xc8, 0xc8, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xc8, 0xc8, 0xc8, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xca, 0xca, 0xca, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xca, 0xca, 0xca, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x87, 0x87, 0x87, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0x87, 0x87, 0x87, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x91, 0x91, 0x91, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x91, 0x91, 0x91, 0xff, 0x5c, 0x5c, 0x5c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xca, 0xca, 0xca, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xce, 0xce, 0xce, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xd0, 0xd0, 0xd0, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0x97, 0x97, 0x97, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xce, 0xce, 0xce, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0x09, 0x06, 0x00, 0xff, 0xa3, 0xa3, 0xa3, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xd2, 0xd2, 0xd1, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0x9a, 0x9a, 0x9a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x94, 0x94, 0x94, 0xff, 0x94, 0x94, 0x94, 0xff,
+ 0x94, 0x94, 0x94, 0xff, 0x97, 0x97, 0x97, 0xff, 0x97, 0x97, 0x97, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0x93, 0x93, 0x93, 0xff, 0x57, 0x4f, 0x4f, 0xff,
+ 0xfd, 0xfd, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x7e, 0x7e, 0x7e, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x9d, 0x9d, 0x9d, 0xff,
+ 0x9d, 0x9d, 0x9d, 0xff, 0x9d, 0x9d, 0x9d, 0xff, 0x6b, 0x6b, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0x57, 0x50, 0x50, 0xff,
+ 0xfd, 0xfa, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xed, 0xed, 0xed, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xba, 0xba, 0xba, 0xff, 0x6d, 0x67, 0x67, 0xff,
+ 0xf9, 0xf1, 0xea, 0xff, 0x00, 0x00, 0x00, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xa3, 0xa3, 0xa3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0x62, 0x5c, 0x5b, 0xff,
+ 0xf9, 0xee, 0xe4, 0xff, 0x4f, 0x4d, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x64, 0x64, 0x64, 0xff, 0x00, 0x00, 0x00, 0xff, 0x74, 0x74, 0x74, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0xd6, 0xd6, 0xd5, 0xff, 0xa3, 0xa3, 0xa3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0xa0, 0xa0, 0xa0, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0xa3, 0xa3, 0xa3, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x00, 0x00, 0x00, 0xff, 0x61, 0x5c, 0x5b, 0xff,
+ 0xf9, 0xf0, 0xe4, 0xff, 0x74, 0x6c, 0x67, 0xff, 0xfe, 0xfd, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xfd, 0xff, 0x13, 0x12, 0x10, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x63, 0x63, 0x63, 0xff, 0x7c, 0x7c, 0x7c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf2, 0xf2, 0xff, 0x98, 0x94, 0x8f, 0xff,
+ 0xf9, 0xef, 0xe3, 0xff, 0xa0, 0x94, 0x89, 0xff, 0xfe, 0xfd, 0xfd, 0xff,
+ 0x76, 0x6d, 0x68, 0xff, 0xfe, 0xfd, 0xfc, 0xff, 0x73, 0x69, 0x61, 0xff,
+ 0xa3, 0xa3, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa6, 0xa6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe8, 0xe5, 0xe2, 0xff, 0x97, 0x93, 0x8e, 0xff,
+ 0xf6, 0xe9, 0xd8, 0xff, 0x84, 0x81, 0x7a, 0xff, 0xfb, 0xf3, 0xea, 0xff,
+ 0x90, 0x8c, 0x86, 0xff, 0xf1, 0xed, 0xe7, 0xff, 0x7b, 0x79, 0x75, 0xff,
+ 0x87, 0x87, 0x86, 0xff, 0x07, 0x00, 0x00, 0xff, 0xa3, 0xa3, 0xa3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xdd, 0xdd, 0xdd, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0xdd, 0xdd, 0xdd, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe2, 0xdf, 0xdc, 0xff, 0xa8, 0xa1, 0x99, 0xff,
+ 0xf0, 0xe0, 0xce, 0xff, 0xc8, 0xbf, 0xb4, 0xff, 0xd5, 0xcc, 0xbf, 0xff,
+ 0xdf, 0xd7, 0xcd, 0xff, 0xda, 0xd3, 0xc9, 0xff, 0xdd, 0xcf, 0xc4, 0xff,
+ 0x92, 0x8c, 0x84, 0xff, 0x07, 0x00, 0x00, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0x95, 0x95, 0x95, 0xff,
+ 0x04, 0x00, 0x00, 0xff, 0xd9, 0xd5, 0xd2, 0xff, 0xd9, 0xca, 0xbb, 0xff,
+ 0xd7, 0xc8, 0xb8, 0xff, 0xde, 0xcf, 0xbf, 0xff, 0xd8, 0xc9, 0xb9, 0xff,
+ 0xe3, 0xd3, 0xc2, 0xff, 0xc9, 0xbb, 0xac, 0xff, 0xd9, 0xce, 0xc2, 0xff,
+ 0x7f, 0x76, 0x6d, 0xff, 0x07, 0x00, 0x00, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0x06, 0x01, 0x00, 0xff, 0xc0, 0xbd, 0xba, 0xff, 0x8c, 0x87, 0x82, 0xff,
+ 0xc2, 0xb5, 0xa7, 0xff, 0xbf, 0xb4, 0xa6, 0xff, 0xb8, 0xab, 0x9d, 0xff,
+ 0xba, 0xad, 0x9e, 0xff, 0xbe, 0xb0, 0xa2, 0xff, 0x94, 0x8a, 0x7f, 0xff,
+ 0x71, 0x68, 0x60, 0xff, 0x07, 0x00, 0x00, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xa9, 0xa9, 0xa8, 0xff, 0x33, 0x2c, 0x2b, 0xff, 0x5d, 0x59, 0x54, 0xff,
+ 0x79, 0x73, 0x6c, 0xff, 0x95, 0x8c, 0x80, 0xff, 0x8d, 0x83, 0x79, 0xff,
+ 0x94, 0x8a, 0x7f, 0xff, 0x98, 0x8d, 0x82, 0xff, 0x70, 0x67, 0x60, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x78, 0x78, 0x78, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0x78, 0x78, 0x78, 0xff, 0x20, 0x1a, 0x1a, 0xff,
+ 0x57, 0x51, 0x4f, 0xff, 0x62, 0x5c, 0x59, 0xff, 0x62, 0x5a, 0x53, 0xff,
+ 0x6b, 0x62, 0x5a, 0xff, 0x58, 0x52, 0x51, 0xff, 0x69, 0x67, 0x64, 0xff,
+ 0x08, 0x00, 0x00, 0xff, 0x98, 0x98, 0x98, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xb0, 0xb0, 0xb0, 0xff, 0xb0, 0xb0, 0xb0, 0xff,
+ 0xb0, 0xb0, 0xb0, 0xff, 0xb0, 0xb0, 0xb0, 0xff, 0xb0, 0xb0, 0xb0, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0x99, 0x99, 0x99, 0xff, 0x9d, 0x98, 0x97, 0xff,
+ 0x05, 0x00, 0x00, 0xff, 0x0c, 0x03, 0x03, 0xff, 0x08, 0x00, 0x00, 0xff,
+ 0x08, 0x01, 0x00, 0xff, 0x03, 0x00, 0x00, 0xff, 0x28, 0x25, 0x23, 0xff,
+ 0x5a, 0x5a, 0x5a, 0xff, 0x86, 0x86, 0x86, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x04, 0x00, 0x00, 0xff,
+ 0xec, 0xe4, 0xe2, 0xff, 0xde, 0xd7, 0xd5, 0xff, 0xd8, 0xd1, 0xd0, 0xff,
+ 0xe0, 0xdb, 0xd7, 0xff, 0xe9, 0xe6, 0xe3, 0xff, 0xfc, 0xfb, 0xfa, 0xff,
+ 0x03, 0x05, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0xff,
+ 0x0b, 0x05, 0x05, 0xff, 0x05, 0x00, 0x00, 0xff, 0x14, 0x10, 0x0f, 0xff,
+ 0x03, 0x00, 0x00, 0xff, 0x09, 0x08, 0x06, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x6f, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xda, 0xda, 0xda, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x07, 0x04, 0x00, 0xff,
+ 0xa5, 0xa5, 0xa5, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0x3a, 0x35, 0x35, 0xff,
+ 0xfd, 0xfd, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0x2d, 0x29, 0x29, 0xff, 0xfd, 0xfa, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0x3a, 0x36, 0x36, 0xff, 0xf9, 0xf1, 0xea, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0x35, 0x31, 0x31, 0xff,
+ 0xf9, 0xee, 0xe4, 0xff, 0x4f, 0x4d, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xa3, 0xa3, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4e, 0x4a, 0x4a, 0xff, 0xf9, 0xf0, 0xe4, 0xff, 0x74, 0x6c, 0x67, 0xff,
+ 0xfe, 0xfd, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xea, 0xe9, 0xe8, 0xff,
+ 0x0b, 0x0a, 0x09, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x51,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf2, 0xf2, 0xff, 0x98, 0x94, 0x8f, 0xff, 0xf9, 0xef, 0xe3, 0xff,
+ 0xa0, 0x94, 0x89, 0xff, 0xfe, 0xfd, 0xfd, 0xff, 0x76, 0x6d, 0x68, 0xff,
+ 0xfe, 0xfd, 0xfc, 0xff, 0x73, 0x69, 0x61, 0xff, 0xa3, 0xa3, 0xa2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe8, 0xe5, 0xe2, 0xff, 0x97, 0x93, 0x8e, 0xff,
+ 0xf6, 0xe9, 0xd8, 0xff, 0x84, 0x81, 0x7a, 0xff, 0xfb, 0xf3, 0xea, 0xff,
+ 0x90, 0x8c, 0x86, 0xff, 0xf1, 0xed, 0xe7, 0xff, 0x7b, 0x79, 0x75, 0xff,
+ 0x87, 0x87, 0x86, 0xff, 0x06, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe2, 0xdf, 0xdc, 0xff,
+ 0xa8, 0xa1, 0x99, 0xff, 0xf0, 0xe0, 0xce, 0xff, 0xc8, 0xbf, 0xb4, 0xff,
+ 0xd5, 0xcc, 0xbf, 0xff, 0xdf, 0xd7, 0xcd, 0xff, 0xda, 0xd3, 0xc9, 0xff,
+ 0xdd, 0xcf, 0xc4, 0xff, 0x92, 0x8c, 0x84, 0xff, 0x05, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0xff,
+ 0xd9, 0xd5, 0xd2, 0xff, 0xd9, 0xca, 0xbb, 0xff, 0xd7, 0xc8, 0xb8, 0xff,
+ 0xde, 0xcf, 0xbf, 0xff, 0xd8, 0xc9, 0xb9, 0xff, 0xe3, 0xd3, 0xc2, 0xff,
+ 0xc9, 0xbb, 0xac, 0xff, 0xd9, 0xce, 0xc2, 0xff, 0x7b, 0x72, 0x69, 0xff,
+ 0x05, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0xff, 0xb9, 0xb7, 0xb4, 0xff, 0x8c, 0x87, 0x82, 0xff,
+ 0xc2, 0xb5, 0xa7, 0xff, 0xbf, 0xb4, 0xa6, 0xff, 0xb8, 0xab, 0x9d, 0xff,
+ 0xba, 0xad, 0x9e, 0xff, 0xbe, 0xb0, 0xa2, 0xff, 0x94, 0x8a, 0x7f, 0xff,
+ 0x56, 0x50, 0x4a, 0xff, 0x01, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x22, 0x1d, 0x1c, 0xff,
+ 0x5d, 0x59, 0x54, 0xff, 0x79, 0x73, 0x6c, 0xff, 0x95, 0x8c, 0x80, 0xff,
+ 0x8d, 0x83, 0x79, 0xff, 0x94, 0x8a, 0x7f, 0xff, 0x98, 0x8d, 0x82, 0xff,
+ 0x62, 0x5b, 0x55, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x68,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4f, 0x12, 0x0f, 0x0f, 0xff, 0x49, 0x44, 0x42, 0xff,
+ 0x62, 0x5c, 0x59, 0xff, 0x62, 0x5a, 0x53, 0xff, 0x6b, 0x62, 0x5a, 0xff,
+ 0x4f, 0x4a, 0x49, 0xff, 0x21, 0x21, 0x20, 0xff, 0x03, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x01, 0x73, 0x54, 0x00, 0x01, 0x73, 0x64, 0x67, 0x74, 0x6b, 0x2d,
+ 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x2d, 0x72, 0x74, 0x6c, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x73, 0x78,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x7c, 0xa0, 0x00, 0x01, 0x73, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x94, 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xac, 0xac, 0xac, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0xae, 0xae, 0xae, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xb0, 0xb0, 0xb0, 0xff, 0xb1, 0xb1, 0xb1, 0xff, 0xb2, 0xb2, 0xb2, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0xb6, 0xb6, 0xb6, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x76, 0x76, 0x76, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x75, 0x75, 0x75, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x7c, 0x7c, 0x7c, 0xff, 0x7b, 0x7b, 0x7b, 0xff, 0x7b, 0x7b, 0x7b, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xb6, 0xb6, 0xb6, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0xb8, 0xb8, 0xb8, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x9a, 0xc9, 0xc9, 0xc9, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x7c, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a,
+ 0xbf, 0xbf, 0xbf, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0xa5, 0xa5, 0xa5, 0xff, 0xa6, 0xa6, 0xa6, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0xa9, 0xa9, 0xa9, 0xff,
+ 0xa9, 0xa9, 0xa9, 0xff, 0xaa, 0xaa, 0xaa, 0xff, 0xab, 0xab, 0xab, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x75, 0x75, 0x75, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x76, 0x76, 0x76, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xac, 0xac, 0xac, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xb1, 0xb1, 0xb1, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xb1, 0xb1, 0xb1, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0x4c,
+ 0x00, 0x01, 0x80, 0xd4, 0x00, 0x01, 0x80, 0xe8, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x72,
+ 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0x80, 0xfc, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x8a, 0x24,
+ 0x00, 0x01, 0x81, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0xff, 0x6c, 0x6b, 0x6a, 0xff, 0x7b, 0x7b, 0x7a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff,
+ 0x7d, 0x7c, 0x7b, 0xff, 0x99, 0x99, 0x96, 0xff, 0x7f, 0x7e, 0x7d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff, 0x90, 0x8f, 0x8d, 0xff,
+ 0xb0, 0xaf, 0xac, 0xff, 0x9d, 0x9c, 0x9a, 0xff, 0x82, 0x81, 0x80, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0xff, 0xa5, 0xa4, 0xa1, 0xff, 0xb6, 0xb4, 0xb2, 0xff,
+ 0xb4, 0xb3, 0xb1, 0xff, 0xa1, 0xa0, 0x9e, 0xff, 0x86, 0x85, 0x83, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc3, 0xc2, 0xbf, 0xff, 0xbc, 0xba, 0xb7, 0xff, 0xba, 0xb9, 0xb6, 0xff,
+ 0xb9, 0xb7, 0xb4, 0xff, 0xa5, 0xa4, 0xa1, 0xff, 0x89, 0x88, 0x86, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd0, 0xce, 0xcc, 0xff, 0xc5, 0xc3, 0xc0, 0xff,
+ 0xbd, 0xbc, 0xb9, 0xff, 0xa9, 0xa8, 0xa5, 0xff, 0x8c, 0x8b, 0x89, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0xc7, 0xc6, 0xc3, 0xff, 0xb5, 0xb3, 0xb1, 0xff, 0x8f, 0x8e, 0x8c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd8, 0xd7, 0xd5, 0xff, 0xb9, 0xb6, 0xb4, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc7, 0xc6, 0xc4, 0xff, 0xa1, 0x9f, 0x9d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa6, 0xa3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8a, 0x2c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff, 0x6c, 0x6b, 0x6a, 0xff,
+ 0x7b, 0x7b, 0x7a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff, 0x7d, 0x7c, 0x7b, 0xff,
+ 0x99, 0x99, 0x96, 0xff, 0x7f, 0x7e, 0x7d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff, 0x90, 0x8f, 0x8d, 0xff,
+ 0xb0, 0xaf, 0xac, 0xff, 0x9d, 0x9c, 0x9a, 0xff, 0x82, 0x81, 0x80, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd0, 0xce, 0xcc, 0xff,
+ 0xc5, 0xc3, 0xc0, 0xff, 0xbd, 0xbc, 0xb9, 0xff, 0xa9, 0xa8, 0xa5, 0xff,
+ 0x8c, 0x8b, 0x89, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd2, 0xd1, 0xce, 0xff, 0xc7, 0xc6, 0xc3, 0xff,
+ 0xb5, 0xb3, 0xb1, 0xff, 0x8f, 0x8e, 0x8c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd8, 0xd7, 0xd5, 0xff, 0xb9, 0xb6, 0xb4, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc7, 0xc6, 0xc4, 0xff,
+ 0xa1, 0x9f, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa6, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x72,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x9b, 0xd4, 0x00, 0x01, 0x8e, 0x58, 0x00, 0x01, 0x8e, 0x70,
+ 0x67, 0x74, 0x6b, 0x2d, 0x66, 0x69, 0x6e, 0x64, 0x2d, 0x61, 0x6e, 0x64,
+ 0x2d, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x8e, 0x84,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x97, 0xac, 0x00, 0x01, 0x8e, 0x8c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0x58, 0x58, 0x58, 0xff, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0x4b, 0x4b, 0x43, 0xff, 0x0a, 0x0a, 0x09, 0xff,
+ 0x0a, 0x0a, 0x09, 0xff, 0x47, 0x47, 0x3f, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x9b, 0x9b, 0x9b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0x35, 0x35, 0x30, 0xff, 0x8d, 0x8d, 0x7f, 0xff, 0xc4, 0xc4, 0xaf, 0xff,
+ 0xcf, 0xcf, 0xb9, 0xff, 0x9d, 0x9d, 0x8d, 0xff, 0x34, 0x34, 0x2e, 0xff,
+ 0xa3, 0xa3, 0xa2, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xaf, 0xaf, 0xae, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xdf, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4c, 0x4c, 0x44, 0xff,
+ 0x82, 0x82, 0x74, 0xff, 0xb2, 0xb2, 0x9f, 0xff, 0xc0, 0xc0, 0xac, 0xff,
+ 0xed, 0xed, 0xe7, 0xff, 0xe2, 0xe2, 0xd0, 0xff, 0x9c, 0x9c, 0x8c, 0xff,
+ 0x46, 0x46, 0x3f, 0xff, 0xea, 0xea, 0xe9, 0xff, 0xa2, 0xa2, 0xa1, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xcf, 0xcf, 0xcf, 0xff, 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xb4,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x08, 0x08, 0x07, 0xff,
+ 0x9c, 0x9c, 0x8f, 0xff, 0xa6, 0xa6, 0x95, 0xff, 0xb5, 0xb5, 0xa2, 0xff,
+ 0xc3, 0xc3, 0xae, 0xff, 0xfb, 0xfb, 0xfa, 0xff, 0xd5, 0xd5, 0xbf, 0xff,
+ 0x09, 0x09, 0x08, 0xff, 0xd5, 0xd5, 0xd4, 0xff, 0x97, 0x97, 0x97, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0x0a, 0x0a, 0x09, 0xff,
+ 0xae, 0xae, 0xa3, 0xff, 0x9b, 0x9b, 0x8b, 0xff, 0xaa, 0xaa, 0x98, 0xff,
+ 0xb7, 0xb7, 0xa4, 0xff, 0xdd, 0xdd, 0xd0, 0xff, 0xca, 0xca, 0xb5, 0xff,
+ 0x09, 0x09, 0x09, 0xff, 0xc1, 0xc1, 0xc0, 0xff, 0xe1, 0xe0, 0xdf, 0xff,
+ 0xdc, 0xdb, 0xda, 0xff, 0xd3, 0xd2, 0xd0, 0xff, 0xb7, 0xb7, 0xb5, 0xff,
+ 0x9e, 0x9d, 0x9c, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfb, 0xe7, 0x3b, 0xff,
+ 0xf2, 0xb6, 0x4d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf6, 0xff, 0x4c, 0x4c, 0x45, 0xff,
+ 0xcf, 0xcf, 0xcb, 0xff, 0xac, 0xac, 0xa1, 0xff, 0x9f, 0x9f, 0x8e, 0xff,
+ 0xad, 0xad, 0x9b, 0xff, 0xba, 0xba, 0xa7, 0xff, 0x92, 0x92, 0x83, 0xff,
+ 0x47, 0x47, 0x40, 0xff, 0xb9, 0xb8, 0xb8, 0xff, 0xdc, 0xdc, 0xda, 0xff,
+ 0xe1, 0xe1, 0xdf, 0xff, 0xda, 0xd9, 0xd7, 0xff, 0xd7, 0xd7, 0xd5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0xeb, 0x3d, 0xff, 0xf7, 0xb5, 0x44, 0xff,
+ 0x5d, 0x50, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf4, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0xc3, 0xc3, 0xbe, 0xff, 0xae, 0xae, 0xa2, 0xff,
+ 0xa0, 0xa0, 0x90, 0xff, 0x87, 0x87, 0x79, 0xff, 0x34, 0x34, 0x2f, 0xff,
+ 0x6d, 0x6d, 0x6d, 0xff, 0xb8, 0xb8, 0xb6, 0xff, 0xd9, 0xd9, 0xd7, 0xff,
+ 0xeb, 0xea, 0xe8, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfc, 0xe9, 0x3b, 0xff, 0xf7, 0xb5, 0x45, 0xff, 0x6c, 0x5f, 0x34, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x86, 0x85, 0x85, 0xff, 0x41, 0x41, 0x41, 0xff, 0x0a, 0x0a, 0x09, 0xff,
+ 0x0a, 0x0a, 0x09, 0xff, 0x4b, 0x4b, 0x43, 0xff, 0x75, 0x75, 0x74, 0xff,
+ 0xa7, 0xa7, 0xa5, 0xff, 0xbd, 0xbd, 0xbb, 0xff, 0xdc, 0xdb, 0xd9, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfa, 0xe4, 0x3a, 0xff,
+ 0xf4, 0xb2, 0x44, 0xff, 0x60, 0x57, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0xb5, 0xb5, 0xb3, 0xff, 0xa9, 0xa9, 0xa8, 0xff, 0xa4, 0xa4, 0xa2, 0xff,
+ 0xa2, 0xa1, 0xa0, 0xff, 0xa1, 0xa1, 0x9f, 0xff, 0xa7, 0xa6, 0xa5, 0xff,
+ 0xb5, 0xb4, 0xb3, 0xff, 0xce, 0xcd, 0xcb, 0xff, 0xe0, 0xdf, 0xdd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xdf, 0x39, 0xff, 0xf3, 0xaf, 0x42, 0xff,
+ 0x62, 0x56, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x66, 0x63, 0x5c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x01, 0x01, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0xb5, 0xb5, 0xb3, 0xff, 0xbc, 0xbc, 0xba, 0xff, 0xb9, 0xb9, 0xb8, 0xff,
+ 0xb7, 0xb6, 0xb5, 0xff, 0xb6, 0xb5, 0xb4, 0xff, 0xbd, 0xbd, 0xbb, 0xff,
+ 0xcf, 0xce, 0xcc, 0xff, 0xdf, 0xdf, 0xdd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xdc, 0x38, 0xff, 0xef, 0xb4, 0x4d, 0xff, 0x66, 0x5a, 0x32, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x9b, 0x99, 0x97, 0xff, 0x7c, 0x78, 0x6f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0xac, 0xac, 0xab, 0xff,
+ 0xba, 0xba, 0xb8, 0xff, 0xd2, 0xd2, 0xd0, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0xd7, 0xd6, 0xd4, 0xff, 0xd7, 0xd6, 0xd4, 0xff, 0xdb, 0xda, 0xd8, 0xff,
+ 0xe1, 0xe0, 0xde, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xd8, 0x37, 0xff,
+ 0xf0, 0xa9, 0x3f, 0xff, 0x65, 0x59, 0x30, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x9b, 0x9a, 0x97, 0xff, 0xad, 0xac, 0xa9, 0xff, 0x8d, 0x89, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xaa, 0xaa, 0xa8, 0xff, 0xb3, 0xb2, 0xb1, 0xff,
+ 0xc9, 0xc8, 0xc7, 0xff, 0xdf, 0xdf, 0xdd, 0xff, 0xe8, 0xe7, 0xe5, 0xff,
+ 0xe8, 0xe7, 0xe5, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe8, 0xe7, 0xe5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xd2, 0x36, 0xff, 0xed, 0xa4, 0x3e, 0xff,
+ 0x5c, 0x51, 0x30, 0xff, 0x00, 0x00, 0x00, 0xff, 0x98, 0x97, 0x94, 0xff,
+ 0xaa, 0xa9, 0xa6, 0xff, 0xc3, 0xc2, 0xbe, 0xff, 0x9a, 0x94, 0x8a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xb1, 0xb1, 0xaf, 0xff, 0xc5, 0xc4, 0xc2, 0xff,
+ 0xda, 0xd9, 0xd7, 0xff, 0xe4, 0xe3, 0xe1, 0xff, 0xe8, 0xe7, 0xe4, 0xff,
+ 0xe8, 0xe7, 0xe4, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe0, 0xdf, 0xdc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd7, 0xae, 0x74, 0xff, 0x61, 0x56, 0x2f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x98, 0x98, 0x95, 0xff, 0xa9, 0xa9, 0xa5, 0xff,
+ 0xc2, 0xc1, 0xbd, 0xff, 0xd3, 0xd2, 0xce, 0xff, 0x9f, 0x99, 0x8e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xc7, 0xc6, 0xc3, 0xff, 0xd7, 0xd6, 0xd3, 0xff,
+ 0xe2, 0xe1, 0xde, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe5, 0xe4, 0xe1, 0xff,
+ 0xe6, 0xe4, 0xe1, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4f, 0x41, 0x15, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x98, 0x98, 0x95, 0xff, 0xa9, 0xa9, 0xa5, 0xff, 0xc1, 0xc0, 0xbc, 0xff,
+ 0xd2, 0xd0, 0xcc, 0xff, 0xd7, 0xd5, 0xd1, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xda, 0xd9, 0xd6, 0xff, 0xe0, 0xdf, 0xdc, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xe4, 0xe2, 0xdf, 0xff, 0xe4, 0xe3, 0xdf, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xda, 0xda, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x96, 0x95, 0x92, 0xff, 0x9a, 0x99, 0x96, 0xff,
+ 0xa9, 0xa9, 0xa5, 0xff, 0xc2, 0xc0, 0xbc, 0xff, 0xd3, 0xd1, 0xcd, 0xff,
+ 0xd7, 0xd5, 0xd1, 0xff, 0xd8, 0xd6, 0xd2, 0xff, 0x9e, 0x98, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xe0, 0xdf, 0xdc, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe2, 0xe1, 0xdd, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xd1, 0xd0, 0xcc, 0xff, 0xb2, 0xb1, 0xae, 0xff,
+ 0xa0, 0x9f, 0x9d, 0xff, 0xa1, 0xa1, 0x9e, 0xff, 0xaf, 0xae, 0xaa, 0xff,
+ 0xc3, 0xc1, 0xbd, 0xff, 0xd3, 0xd1, 0xcd, 0xff, 0xd7, 0xd5, 0xd1, 0xff,
+ 0xd8, 0xd6, 0xd1, 0xff, 0xd7, 0xd5, 0xd1, 0xff, 0x9d, 0x97, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xe1, 0xdf, 0xdb, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xd1, 0xcf, 0xcb, 0xff, 0xb6, 0xb6, 0xb2, 0xff,
+ 0xb2, 0xb0, 0xad, 0xff, 0xbf, 0xbd, 0xba, 0xff, 0xcb, 0xc9, 0xc6, 0xff,
+ 0xd5, 0xd3, 0xcf, 0xff, 0xdb, 0xd9, 0xd5, 0xff, 0xd8, 0xd6, 0xd2, 0xff,
+ 0xd7, 0xd6, 0xd1, 0xff, 0xd5, 0xd3, 0xce, 0xff, 0x9b, 0x95, 0x8a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x99, 0x98, 0x91, 0xff, 0xa3, 0x9e, 0x92, 0xff, 0xa4, 0x9e, 0x93, 0xff,
+ 0xa3, 0x9d, 0x92, 0xff, 0xa3, 0x9d, 0x91, 0xff, 0xa3, 0x9d, 0x92, 0xff,
+ 0xa0, 0x9b, 0x8f, 0xff, 0x9d, 0x97, 0x8c, 0xff, 0x96, 0x91, 0x86, 0xff,
+ 0x96, 0x90, 0x85, 0xff, 0x9b, 0x95, 0x89, 0xff, 0x9f, 0x99, 0x8e, 0xff,
+ 0x9e, 0x98, 0x8c, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x9d, 0x97, 0x8c, 0xff,
+ 0x9d, 0x97, 0x8c, 0xff, 0x9b, 0x96, 0x8a, 0xff, 0x67, 0x63, 0x59, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x97, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xad, 0xad, 0xad, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x5d, 0x5d, 0x5d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x6c, 0x6c, 0x6c, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0x6c, 0x6c, 0x6c, 0xff, 0x89, 0x89, 0x89, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xca, 0xca, 0xca, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa4, 0x96, 0x26, 0xff,
+ 0x63, 0x4a, 0x1e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x6b, 0x6b, 0x6b, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0x66, 0x66, 0x66, 0xff, 0x84, 0x84, 0x84, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfc, 0xeb, 0x3d, 0xff,
+ 0xf7, 0xb5, 0x44, 0xff, 0x5f, 0x52, 0x2d, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x86, 0x86, 0x86, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xdf, 0x39, 0xff,
+ 0xf7, 0xb5, 0x45, 0xff, 0x6c, 0x5f, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x86, 0x86, 0x86, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xd8, 0x37, 0xff,
+ 0xef, 0xb4, 0x4d, 0xff, 0x58, 0x4d, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0xcf, 0xcf, 0xcf, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xd2, 0x36, 0xff,
+ 0xed, 0xa4, 0x3e, 0xff, 0x58, 0x4e, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd7, 0xae, 0x74, 0xff, 0x61, 0x56, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x6f, 0x6f, 0x6f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4f, 0x41, 0x15, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x84, 0x84, 0x84, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xb0, 0xb0, 0xb0, 0xff, 0x9f, 0x9f, 0x9f, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x01, 0x9b, 0xe0, 0x00, 0x01, 0x9b, 0xf8, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x72, 0x65, 0x77, 0x69, 0x6e, 0x64,
+ 0x2d, 0x6c, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x9c, 0x0c, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x01, 0xa5, 0x34, 0x00, 0x01, 0x9c, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x69, 0x68, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x69, 0x68, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x5a, 0x59, 0xff, 0x9c, 0x9c, 0x9a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x5a, 0x59, 0xff, 0x9c, 0x9c, 0x9a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x63, 0x62, 0x61, 0xff,
+ 0x90, 0x8f, 0x8d, 0xff, 0xc5, 0xc4, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x63, 0x62, 0x61, 0xff,
+ 0x90, 0x8f, 0x8d, 0xff, 0xc5, 0xc4, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x6f, 0x6e, 0x6c, 0xff, 0x95, 0x94, 0x91, 0xff,
+ 0xc0, 0xbf, 0xbd, 0xff, 0xd3, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x6f, 0x6e, 0x6c, 0xff, 0x95, 0x94, 0x91, 0xff,
+ 0xc0, 0xbf, 0xbd, 0xff, 0xd3, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x63, 0x62, 0x60, 0xff, 0x8d, 0x8c, 0x8b, 0xff, 0xb4, 0xb3, 0xb1, 0xff,
+ 0xc0, 0xbf, 0xbd, 0xff, 0xd3, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x63, 0x62, 0x60, 0xff, 0x8d, 0x8c, 0x8b, 0xff, 0xb4, 0xb3, 0xb1, 0xff,
+ 0xc0, 0xbf, 0xbd, 0xff, 0xd3, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x75, 0x75, 0x74, 0xff,
+ 0x86, 0x84, 0x81, 0xff, 0xba, 0xb9, 0xb6, 0xff, 0xb9, 0xb7, 0xb4, 0xff,
+ 0xc5, 0xc4, 0xc2, 0xff, 0xd4, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0xff, 0x75, 0x75, 0x74, 0xff,
+ 0x86, 0x84, 0x81, 0xff, 0xba, 0xb9, 0xb6, 0xff, 0xb9, 0xb7, 0xb4, 0xff,
+ 0xc5, 0xc4, 0xc2, 0xff, 0xd4, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xc4, 0xc4, 0xc4, 0x00, 0xc4, 0xc4, 0xc4, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xa2, 0xa0, 0x9f, 0xff, 0xa6, 0xa4, 0xa2, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc6, 0xc5, 0xc3, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0xc4, 0xc4, 0xc4, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xa2, 0xa0, 0x9f, 0xff, 0xa6, 0xa4, 0xa2, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc6, 0xc5, 0xc3, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x5b,
+ 0x00, 0x00, 0x00, 0xff, 0xa3, 0xa2, 0xa0, 0xff, 0xb7, 0xb6, 0xb3, 0xff,
+ 0xd0, 0xcf, 0xcd, 0xff, 0xd4, 0xd4, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x5b,
+ 0x00, 0x00, 0x00, 0xff, 0xa3, 0xa2, 0xa0, 0xff, 0xb7, 0xb6, 0xb3, 0xff,
+ 0xd0, 0xcf, 0xcd, 0xff, 0xd4, 0xd4, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x5b, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xa7, 0xa5, 0xff,
+ 0xd5, 0xd5, 0xd3, 0xff, 0xdf, 0xdf, 0xdd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x5b, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xa7, 0xa5, 0xff,
+ 0xd5, 0xd5, 0xd3, 0xff, 0xdf, 0xdf, 0xdd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0xc4, 0xc2, 0xff, 0xdf, 0xdf, 0xde, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0xc4, 0xc2, 0xff, 0xdf, 0xdf, 0xde, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x85,
+ 0x00, 0x00, 0x00, 0xff, 0xd4, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x85,
+ 0x00, 0x00, 0x00, 0xff, 0xd4, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x72, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x72, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x85, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x85, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x5b,
+ 0xff, 0xff, 0xff, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x5b,
+ 0xff, 0xff, 0xff, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xa5, 0x3c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0xd9, 0xd9, 0xd9, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0x69, 0x68, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x69, 0x68, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x5a, 0x59, 0xff, 0x9c, 0x9c, 0x9a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x5a, 0x59, 0xff, 0x9c, 0x9c, 0x9a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0x63, 0x62, 0x61, 0xff, 0x90, 0x8f, 0x8d, 0xff, 0xc5, 0xc4, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x63, 0x62, 0x61, 0xff, 0x90, 0x8f, 0x8d, 0xff,
+ 0xc5, 0xc4, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0x6f, 0x6e, 0x6c, 0xff, 0x95, 0x94, 0x91, 0xff, 0xc0, 0xbf, 0xbd, 0xff,
+ 0xd3, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff, 0xbb, 0xbb, 0xbb, 0x90,
+ 0x00, 0x00, 0x00, 0xff, 0x6f, 0x6e, 0x6c, 0xff, 0x95, 0x94, 0x91, 0xff,
+ 0xc0, 0xbf, 0xbd, 0xff, 0xd3, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0xc4, 0xc4, 0xc4, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xa2, 0xa0, 0x9f, 0xff, 0xa6, 0xa4, 0xa2, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc6, 0xc5, 0xc3, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa2, 0xa0, 0x9f, 0xff, 0xa6, 0xa4, 0xa2, 0xff,
+ 0xbd, 0xbc, 0xb9, 0xff, 0xc6, 0xc5, 0xc3, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x5b, 0x00, 0x00, 0x00, 0xff, 0xa3, 0xa2, 0xa0, 0xff,
+ 0xb7, 0xb6, 0xb3, 0xff, 0xd0, 0xcf, 0xcd, 0xff, 0xd4, 0xd4, 0xd3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x00, 0x00, 0x00, 0xff,
+ 0xa3, 0xa2, 0xa0, 0xff, 0xb7, 0xb6, 0xb3, 0xff, 0xd0, 0xcf, 0xcd, 0xff,
+ 0xd4, 0xd4, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x5b,
+ 0x00, 0x00, 0x00, 0xff, 0xa8, 0xa7, 0xa5, 0xff, 0xd5, 0xd5, 0xd3, 0xff,
+ 0xdf, 0xdf, 0xdd, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0xff, 0xff, 0xff, 0x5b, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xa7, 0xa5, 0xff,
+ 0xd5, 0xd5, 0xd3, 0xff, 0xdf, 0xdf, 0xdd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0xc4, 0xc2, 0xff, 0xdf, 0xdf, 0xde, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x91,
+ 0x00, 0x00, 0x00, 0xff, 0xc4, 0xc4, 0xc2, 0xff, 0xdf, 0xdf, 0xde, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x85, 0x00, 0x00, 0x00, 0xff, 0xd4, 0xd3, 0xd1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x85, 0x00, 0x00, 0x00, 0xff,
+ 0xd4, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x72,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x72, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x85, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x85,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xca, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x5b, 0xff, 0xff, 0xff, 0x23, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x5b, 0xff, 0xff, 0xff, 0x23,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xe4, 0x00, 0x01, 0xa9, 0x68,
+ 0x00, 0x01, 0xa9, 0x70, 0x67, 0x74, 0x6b, 0x2d, 0x6e, 0x6f, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x04, 0x00, 0x01, 0xa9, 0x7c,
+ 0x00, 0x01, 0xa9, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x06, 0x58, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x06, 0x58,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x01, 0x03, 0x03, 0x03, 0xff, 0x0c, 0x07, 0x07, 0xff,
+ 0x59, 0x29, 0x24, 0xff, 0x88, 0x44, 0x3b, 0xff, 0xa0, 0x4e, 0x43, 0xff,
+ 0x7e, 0x35, 0x2b, 0xff, 0x4b, 0x1a, 0x14, 0xff, 0x07, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x08, 0x08, 0x08, 0xff,
+ 0x5d, 0x37, 0x32, 0xff, 0xb6, 0x75, 0x6d, 0xff, 0xbf, 0x7d, 0x74, 0xff,
+ 0xb9, 0x75, 0x6c, 0xff, 0xad, 0x60, 0x56, 0xff, 0xa4, 0x50, 0x45, 0xff,
+ 0x9a, 0x40, 0x37, 0xff, 0x88, 0x38, 0x2d, 0xff, 0x3d, 0x13, 0x0e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0a, 0x0a, 0x0a, 0xc3, 0x78, 0x4c, 0x47, 0xff, 0xca, 0x90, 0x89, 0xff,
+ 0xd1, 0xa2, 0x9e, 0xff, 0xd0, 0xa0, 0x99, 0xff, 0xc6, 0x8d, 0x87, 0xff,
+ 0xb6, 0x70, 0x67, 0xff, 0xa8, 0x56, 0x4b, 0xff, 0x9a, 0x40, 0x37, 0xff,
+ 0x8e, 0x3a, 0x2f, 0xff, 0x85, 0x31, 0x28, 0xff, 0x4a, 0x16, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0xff, 0x5b, 0x38, 0x32, 0xff,
+ 0xca, 0x92, 0x8b, 0xff, 0xd9, 0xb3, 0xae, 0xff, 0xdf, 0xbf, 0xbc, 0xff,
+ 0xda, 0xb4, 0xb1, 0xff, 0xcd, 0x98, 0x92, 0xff, 0xbc, 0x79, 0x71, 0xff,
+ 0xa8, 0x53, 0x47, 0xff, 0x9b, 0x40, 0x34, 0xff, 0x92, 0x37, 0x2b, 0xff,
+ 0x88, 0x31, 0x25, 0xff, 0x80, 0x2b, 0x1f, 0xff, 0x38, 0x0c, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x12, 0x0b, 0x0b, 0xff, 0xb9, 0x79, 0x70, 0xff, 0xd6, 0xab, 0xa5, 0xff,
+ 0xe2, 0xc7, 0xc3, 0xff, 0xec, 0xd9, 0xd7, 0xff, 0xe2, 0xc4, 0xc1, 0xff,
+ 0xd1, 0xa2, 0x9c, 0xff, 0xbc, 0x77, 0x6d, 0xff, 0xa9, 0x51, 0x46, 0xff,
+ 0x9b, 0x3b, 0x2e, 0xff, 0x94, 0x33, 0x27, 0xff, 0x8b, 0x2e, 0x22, 0xff,
+ 0x7e, 0x28, 0x1d, 0xff, 0x72, 0x22, 0x17, 0xff, 0x05, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x5f, 0x34, 0x2e, 0xff,
+ 0xc6, 0x8a, 0x83, 0xff, 0xda, 0xb3, 0xaf, 0xff, 0xe5, 0xcb, 0xc8, 0xff,
+ 0xef, 0xe2, 0xe0, 0xff, 0xe5, 0xcb, 0xc8, 0xff, 0xcf, 0x9e, 0x98, 0xff,
+ 0xbc, 0x73, 0x69, 0xff, 0xa7, 0x4e, 0x42, 0xff, 0x9b, 0x36, 0x28, 0xff,
+ 0x95, 0x2d, 0x22, 0xff, 0x8b, 0x28, 0x1e, 0xff, 0x80, 0x25, 0x19, 0xff,
+ 0x79, 0x1f, 0x16, 0xff, 0x3d, 0x0d, 0x08, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x92, 0x52, 0x4b, 0xff, 0xc7, 0x8e, 0x86, 0xff,
+ 0xd5, 0xaa, 0xa6, 0xff, 0xdb, 0xb6, 0xb2, 0xff, 0xdf, 0xbc, 0xb8, 0xff,
+ 0xd5, 0xa9, 0xa4, 0xff, 0xc4, 0x84, 0x7d, 0xff, 0xb5, 0x64, 0x5c, 0xff,
+ 0xa4, 0x45, 0x39, 0xff, 0x9a, 0x33, 0x25, 0xff, 0x93, 0x2c, 0x1e, 0xff,
+ 0x8c, 0x29, 0x1b, 0xff, 0x80, 0x23, 0x17, 0xff, 0x78, 0x24, 0x19, 0xff,
+ 0x63, 0x1f, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa9, 0x5e, 0x54, 0xff, 0xbf, 0x80, 0x78, 0xff, 0xc9, 0x95, 0x8e, 0xff,
+ 0xcb, 0x97, 0x90, 0xff, 0xc9, 0x90, 0x8a, 0xff, 0xc2, 0x83, 0x7b, 0xff,
+ 0xb8, 0x6b, 0x63, 0xff, 0xab, 0x52, 0x46, 0xff, 0x9e, 0x3b, 0x2d, 0xff,
+ 0x96, 0x2f, 0x21, 0xff, 0x91, 0x2a, 0x1c, 0xff, 0x88, 0x24, 0x19, 0xff,
+ 0x82, 0x2a, 0x21, 0xff, 0x87, 0x3e, 0x34, 0xff, 0x83, 0x42, 0x3a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x87, 0x47, 0x3e, 0xff,
+ 0xb5, 0x71, 0x68, 0xff, 0xbb, 0x7c, 0x76, 0xff, 0xbb, 0x79, 0x72, 0xff,
+ 0xb6, 0x70, 0x67, 0xff, 0xb1, 0x64, 0x5a, 0xff, 0xa9, 0x53, 0x48, 0xff,
+ 0x9e, 0x3d, 0x33, 0xff, 0x97, 0x31, 0x24, 0xff, 0x90, 0x29, 0x1b, 0xff,
+ 0x8a, 0x26, 0x19, 0xff, 0x88, 0x2b, 0x1f, 0xff, 0x8e, 0x47, 0x3d, 0xff,
+ 0x9c, 0x61, 0x5b, 0xff, 0x80, 0x4c, 0x47, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x56, 0x26, 0x21, 0xff, 0xa6, 0x60, 0x57, 0xff,
+ 0xac, 0x66, 0x5f, 0xff, 0xab, 0x62, 0x58, 0xff, 0xa7, 0x56, 0x4e, 0xff,
+ 0xa0, 0x4a, 0x3f, 0xff, 0x9b, 0x3d, 0x34, 0xff, 0x96, 0x34, 0x27, 0xff,
+ 0x8f, 0x2b, 0x1e, 0xff, 0x8b, 0x27, 0x1a, 0xff, 0x8a, 0x2c, 0x1f, 0xff,
+ 0x8e, 0x41, 0x37, 0xff, 0x9d, 0x67, 0x60, 0xff, 0xa5, 0x78, 0x72, 0xff,
+ 0x5a, 0x32, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x01, 0xff, 0x92, 0x4b, 0x41, 0xff, 0x9d, 0x54, 0x4c, 0xff,
+ 0x9c, 0x51, 0x47, 0xff, 0x9b, 0x49, 0x3e, 0xff, 0x98, 0x40, 0x37, 0xff,
+ 0x93, 0x38, 0x2c, 0xff, 0x8f, 0x31, 0x24, 0xff, 0x8a, 0x28, 0x1d, 0xff,
+ 0x88, 0x2d, 0x21, 0xff, 0x91, 0x44, 0x3a, 0xff, 0x9b, 0x61, 0x5a, 0xff,
+ 0xa8, 0x7d, 0x77, 0xff, 0x9a, 0x6b, 0x65, 0xff, 0x08, 0x03, 0x03, 0xff,
+ 0x5a, 0x32, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x45, 0x1d, 0x16, 0xff, 0x8d, 0x44, 0x3a, 0xff, 0x90, 0x45, 0x3d, 0xff,
+ 0x90, 0x43, 0x39, 0xff, 0x8e, 0x3c, 0x31, 0xff, 0x8a, 0x36, 0x2b, 0xff,
+ 0x88, 0x2f, 0x23, 0xff, 0x86, 0x30, 0x27, 0xff, 0x93, 0x4a, 0x40, 0xff,
+ 0xa2, 0x69, 0x61, 0xff, 0xa9, 0x7a, 0x74, 0xff, 0xa2, 0x73, 0x6f, 0xff,
+ 0x4b, 0x27, 0x22, 0xff, 0x00, 0x00, 0x00, 0xff, 0x08, 0x03, 0x03, 0x00,
+ 0x08, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x54, 0x24, 0x1d, 0xff, 0x80, 0x3b, 0x31, 0xff, 0x80, 0x3a, 0x31, 0xff,
+ 0x82, 0x3a, 0x31, 0xff, 0x82, 0x37, 0x2f, 0xff, 0x85, 0x3a, 0x30, 0xff,
+ 0x91, 0x51, 0x48, 0xff, 0xa0, 0x6a, 0x63, 0xff, 0xa8, 0x7d, 0x77, 0xff,
+ 0xa1, 0x71, 0x6c, 0xff, 0x5c, 0x31, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4b, 0x27, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x3d, 0x17, 0x12, 0xff, 0x71, 0x33, 0x2c, 0xff, 0x7d, 0x3d, 0x36, 0xff,
+ 0x87, 0x4a, 0x42, 0xff, 0x91, 0x5a, 0x54, 0xff, 0x9b, 0x6b, 0x64, 0xff,
+ 0xa2, 0x77, 0x71, 0xff, 0x96, 0x67, 0x61, 0xff, 0x48, 0x24, 0x1f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5c, 0x31, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x06, 0x01, 0x01, 0xff, 0x4a, 0x21, 0x1d, 0xff, 0x73, 0x44, 0x3e, 0xff,
+ 0x8e, 0x5f, 0x59, 0xff, 0x80, 0x52, 0x4d, 0xff, 0x53, 0x2c, 0x28, 0xff,
+ 0x08, 0x03, 0x03, 0xff, 0x00, 0x00, 0x00, 0xff, 0x48, 0x24, 0x1f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x53, 0x2c, 0x28, 0x00,
+ 0x08, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x01, 0xaf, 0xf0, 0x00, 0x01, 0xb0, 0x04, 0x67, 0x74, 0x6b, 0x2d,
+ 0x67, 0x6f, 0x74, 0x6f, 0x2d, 0x6c, 0x61, 0x73, 0x74, 0x2d, 0x6c, 0x74,
+ 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0xb0, 0x18, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0xb9, 0x40,
+ 0x00, 0x01, 0xb0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xcb, 0xd6, 0xca, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbe, 0xce, 0xba, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xeb, 0xf2, 0xea, 0xff, 0x77, 0xa1, 0x6e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe3, 0xeb, 0xe2, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x70, 0x98, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xf1, 0xf5, 0xf0, 0xff, 0xec, 0xf2, 0xeb, 0xff,
+ 0xe5, 0xee, 0xe3, 0xff, 0xe0, 0xeb, 0xdf, 0xff, 0xd8, 0xe6, 0xd6, 0xff,
+ 0xc6, 0xd9, 0xc2, 0xff, 0xc5, 0xd7, 0xc3, 0xff, 0xb2, 0xcb, 0xb0, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0x70, 0x98, 0x67, 0xff, 0x0f, 0x13, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xdd, 0xe6, 0xdb, 0xff, 0xae, 0xc8, 0xad, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xab, 0xc7, 0xa8, 0xff, 0xaa, 0xc6, 0xa7, 0xff,
+ 0xa8, 0xc6, 0xa5, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0xad, 0xc8, 0xad, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0xa5, 0xc4, 0xa3, 0xff, 0x7f, 0x9f, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xef, 0xe7, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd6, 0xe1, 0xd4, 0xff, 0xab, 0xc7, 0xaa, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0xa7, 0xc5, 0xa4, 0xff, 0xa8, 0xc6, 0xa5, 0xff, 0xa9, 0xc7, 0xa6, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xaf, 0xc8, 0xad, 0xff, 0xa4, 0xc3, 0xa2, 0xff,
+ 0x6b, 0x90, 0x60, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0xe4, 0xec, 0xe3, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xb6, 0xa2, 0xff, 0x69, 0x8d, 0x60, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x69, 0x8d, 0x60, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x9f, 0xb7, 0x9b, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0xb1, 0x99, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0xaf, 0x99, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x78, 0x91, 0x71, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x88, 0x9d, 0x7f, 0xff, 0x47, 0x5e, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xb9, 0x48, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xda, 0xc6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x77, 0xa1, 0x6e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0x70, 0x98, 0x67, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xc7, 0xa8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc1, 0xd6, 0xbd, 0xff,
+ 0xbd, 0xd3, 0xb8, 0xff, 0xbf, 0xd4, 0xbb, 0xff, 0xc2, 0xd7, 0xbe, 0xff,
+ 0xc2, 0xd7, 0xbe, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xb2, 0xcb, 0xb0, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0x70, 0x98, 0x67, 0xff, 0x0f, 0x13, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0xc5, 0xa8, 0xff, 0xae, 0xc8, 0xad, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xaa, 0xc6, 0xa7, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0xad, 0xc8, 0xad, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0xa5, 0xc4, 0xa3, 0xff,
+ 0x7f, 0x9f, 0x76, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa6, 0xbf, 0xa0, 0xff, 0xab, 0xc7, 0xaa, 0xff,
+ 0xa8, 0xc6, 0xa5, 0xff, 0xa8, 0xc6, 0xa5, 0xff, 0xa9, 0xc7, 0xa6, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xaf, 0xc8, 0xad, 0xff, 0xa4, 0xc3, 0xa2, 0xff, 0x6b, 0x90, 0x60, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x83, 0xa2, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6c, 0x85, 0x62, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x65, 0x81, 0x5c, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x4a, 0x62, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8d, 0xb3, 0x89, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x61, 0x46, 0x00,
+ 0x43, 0x54, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xca, 0xe8, 0x00, 0x01, 0xbd, 0x74, 0x00, 0x01, 0xbd, 0x84,
+ 0x67, 0x74, 0x6b, 0x2d, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e,
+ 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0xbd, 0x98, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0xc6, 0xc0,
+ 0x00, 0x01, 0xbd, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x11, 0x11, 0x11, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x51, 0x51, 0x51, 0xff, 0x13, 0x13, 0x13, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x98, 0x98, 0x98, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0x08, 0x08, 0x08, 0xff, 0x6a, 0x6a, 0x6a, 0xff,
+ 0x1b, 0x1b, 0x1b, 0xff, 0x38, 0x38, 0x38, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0x6a, 0x6a, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x32, 0x32, 0x32, 0xff, 0x14, 0x14, 0x14, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x68, 0x68, 0x68, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x63, 0x63, 0x63, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x25, 0x25, 0x25, 0xff, 0x10, 0x10, 0x10, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x6c, 0x6c, 0x6c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x7b, 0x7b, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0x1d, 0x1d, 0x1d, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x35, 0x35, 0x35, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xa6, 0xa6, 0xa6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x07, 0x07, 0x07, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x66, 0x66, 0x66, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x04, 0x04, 0x04, 0xff, 0x4d, 0x4d, 0x4d, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x21, 0x21, 0x21, 0xff, 0x0d, 0x0d, 0x0d, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x86, 0x86, 0x86, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x7c, 0x7c, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x97, 0x97, 0x97, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x2c, 0x2c, 0x2c, 0xff, 0x0d, 0x0d, 0x0d, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x32, 0x32, 0x32, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0x9f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc6, 0xc8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0x02, 0x02, 0x02, 0xff, 0x0a, 0x0a, 0x0a, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x20, 0x20, 0x20, 0xff, 0x3c, 0x3c, 0x3c, 0xff,
+ 0x20, 0x20, 0x20, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xae, 0xae, 0xae, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x75, 0x75, 0x75, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x53, 0x53, 0x53, 0xff,
+ 0x06, 0x06, 0x06, 0xff, 0xde, 0xde, 0xde, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x07, 0x07, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x0b, 0x0b, 0x0b, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x91, 0x91, 0x91, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x1f, 0x1f, 0x1f, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x15, 0x15, 0x15, 0xff, 0x30, 0x30, 0x30, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xca, 0xf4, 0x00, 0x01, 0xcb, 0x08,
+ 0x67, 0x74, 0x6b, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x2d, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, 0xcb, 0x14, 0x00, 0x01, 0xcb, 0x1c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x24, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x69, 0x55, 0x0b,
+ 0xa5, 0x61, 0x52, 0x84, 0x8b, 0x54, 0x47, 0xc9, 0x7d, 0x4c, 0x41, 0xe7,
+ 0x77, 0x49, 0x3f, 0xf6, 0x74, 0x47, 0x3e, 0xfc, 0x73, 0x44, 0x3a, 0xff,
+ 0x71, 0x42, 0x38, 0xfd, 0x70, 0x41, 0x37, 0xf5, 0x72, 0x3f, 0x35, 0xe6,
+ 0x75, 0x3d, 0x32, 0xc8, 0x79, 0x3d, 0x31, 0x8c, 0x53, 0x27, 0x1e, 0x15,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xb3, 0x6b, 0x5a, 0x5d, 0x8d, 0x5a, 0x4d, 0xd3, 0x73, 0x4e, 0x45, 0xfd,
+ 0x72, 0x4c, 0x43, 0xff, 0x91, 0x5e, 0x52, 0xff, 0xaf, 0x6b, 0x5b, 0xff,
+ 0xc9, 0x77, 0x65, 0xff, 0xdd, 0x82, 0x6f, 0xff, 0xe3, 0x7e, 0x6a, 0xff,
+ 0xde, 0x7a, 0x66, 0xff, 0xd0, 0x73, 0x61, 0xff, 0xb7, 0x63, 0x53, 0xff,
+ 0x99, 0x52, 0x44, 0xff, 0x79, 0x40, 0x35, 0xff, 0x64, 0x33, 0x2a, 0xfc,
+ 0x64, 0x30, 0x26, 0xd2, 0x6d, 0x30, 0x25, 0x67, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xbf, 0x72, 0x60, 0x3b, 0x8f, 0x5d, 0x51, 0xd9,
+ 0x6e, 0x4d, 0x45, 0xff, 0x86, 0x5c, 0x51, 0xff, 0xc0, 0x7d, 0x6c, 0xff,
+ 0xe9, 0x8a, 0x75, 0xff, 0xe5, 0x72, 0x59, 0xff, 0xe0, 0x5c, 0x3f, 0xff,
+ 0xdd, 0x4d, 0x2e, 0xff, 0xd9, 0x41, 0x23, 0xff, 0xd7, 0x3b, 0x1b, 0xff,
+ 0xd5, 0x39, 0x1a, 0xff, 0xd4, 0x39, 0x1a, 0xff, 0xd4, 0x3c, 0x1f, 0xff,
+ 0xd4, 0x42, 0x27, 0xff, 0xd5, 0x4b, 0x31, 0xff, 0xc7, 0x4d, 0x38, 0xff,
+ 0x91, 0x40, 0x31, 0xff, 0x67, 0x2b, 0x21, 0xff, 0x59, 0x22, 0x19, 0xd4,
+ 0x59, 0x1f, 0x15, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xa7, 0x69, 0x5a, 0xa0, 0x6f, 0x50, 0x48, 0xfd, 0x7e, 0x56, 0x4c, 0xff,
+ 0xc5, 0x80, 0x6f, 0xff, 0xea, 0x86, 0x6e, 0xff, 0xe2, 0x5d, 0x3e, 0xff,
+ 0xdc, 0x41, 0x1f, 0xff, 0xdb, 0x3e, 0x1c, 0xff, 0xd9, 0x3d, 0x1b, 0xff,
+ 0xd8, 0x3b, 0x1b, 0xff, 0xd7, 0x3a, 0x1a, 0xff, 0xd5, 0x39, 0x1a, 0xff,
+ 0xd4, 0x37, 0x19, 0xff, 0xd2, 0x36, 0x18, 0xff, 0xd1, 0x35, 0x18, 0xff,
+ 0xd0, 0x33, 0x17, 0xff, 0xce, 0x32, 0x17, 0xff, 0xcd, 0x31, 0x16, 0xff,
+ 0xcb, 0x30, 0x15, 0xff, 0xc3, 0x36, 0x1f, 0xff, 0x8a, 0x2a, 0x1c, 0xff,
+ 0x58, 0x1c, 0x12, 0xfc, 0x55, 0x19, 0x11, 0xa2, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x65, 0x59, 0xc9,
+ 0x6b, 0x4d, 0x46, 0xff, 0xa6, 0x73, 0x67, 0xff, 0xe9, 0x8a, 0x74, 0xff,
+ 0xe3, 0x5d, 0x3d, 0xff, 0xdd, 0x41, 0x1d, 0xff, 0xdc, 0x3f, 0x1c, 0xff,
+ 0xdb, 0x3e, 0x1c, 0xff, 0xd9, 0x3d, 0x1b, 0xff, 0xd8, 0x3b, 0x1b, 0xff,
+ 0xd6, 0x3a, 0x1a, 0xff, 0xd5, 0x39, 0x19, 0xff, 0xd4, 0x37, 0x19, 0xff,
+ 0xd2, 0x36, 0x18, 0xff, 0xd1, 0x35, 0x18, 0xff, 0xd0, 0x33, 0x17, 0xff,
+ 0xce, 0x32, 0x16, 0xff, 0xcd, 0x31, 0x16, 0xff, 0xcb, 0x2f, 0x15, 0xff,
+ 0xca, 0x2e, 0x15, 0xff, 0xc9, 0x2d, 0x14, 0xff, 0xc7, 0x2b, 0x13, 0xff,
+ 0xb2, 0x29, 0x14, 0xff, 0x65, 0x19, 0x0d, 0xff, 0x4e, 0x13, 0x0a, 0xc5,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x98, 0x65, 0x5a, 0xd4, 0x6b, 0x4e, 0x47, 0xff,
+ 0xbd, 0x83, 0x75, 0xff, 0xe7, 0x76, 0x5b, 0xff, 0xdf, 0x44, 0x1f, 0xff,
+ 0xdd, 0x40, 0x1d, 0xff, 0xdc, 0x3f, 0x1c, 0xff, 0xdb, 0x3e, 0x1c, 0xff,
+ 0xd9, 0x3c, 0x1b, 0xff, 0xd8, 0x3b, 0x1b, 0xff, 0xd6, 0x3a, 0x1a, 0xff,
+ 0xd5, 0x39, 0x19, 0xff, 0xd4, 0x37, 0x19, 0xff, 0xd2, 0x36, 0x18, 0xff,
+ 0xd1, 0x35, 0x18, 0xff, 0xcf, 0x33, 0x17, 0xff, 0xce, 0x32, 0x16, 0xff,
+ 0xcd, 0x31, 0x16, 0xff, 0xcb, 0x2f, 0x15, 0xff, 0xca, 0x2e, 0x15, 0xff,
+ 0xc8, 0x2d, 0x14, 0xff, 0xc7, 0x2b, 0x13, 0xff, 0xc6, 0x2a, 0x13, 0xff,
+ 0xc4, 0x29, 0x12, 0xff, 0xb8, 0x24, 0x11, 0xff, 0x70, 0x16, 0x0a, 0xff,
+ 0x48, 0x0e, 0x07, 0xce, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x9b, 0x68, 0x5c, 0xcb, 0x6b, 0x4f, 0x47, 0xff, 0xc4, 0x8a, 0x7c, 0xff,
+ 0xe5, 0x65, 0x47, 0xff, 0xdf, 0x42, 0x1d, 0xff, 0xdd, 0x40, 0x1d, 0xff,
+ 0xdc, 0x3f, 0x1c, 0xff, 0xda, 0x3e, 0x1c, 0xff, 0xd9, 0x3c, 0x1b, 0xff,
+ 0xd8, 0x3b, 0x1b, 0xff, 0xd6, 0x3a, 0x1a, 0xff, 0xd5, 0x38, 0x19, 0xff,
+ 0xd3, 0x37, 0x19, 0xff, 0xd2, 0x36, 0x18, 0xff, 0xd1, 0x34, 0x18, 0xff,
+ 0xcf, 0x33, 0x17, 0xff, 0xce, 0x32, 0x16, 0xff, 0xcc, 0x31, 0x16, 0xff,
+ 0xcb, 0x2f, 0x15, 0xff, 0xca, 0x2e, 0x15, 0xff, 0xc8, 0x2d, 0x14, 0xff,
+ 0xc7, 0x2b, 0x13, 0xff, 0xc6, 0x2a, 0x13, 0xff, 0xc4, 0x29, 0x12, 0xff,
+ 0xc3, 0x27, 0x12, 0xff, 0xc1, 0x26, 0x11, 0xff, 0xb6, 0x23, 0x0f, 0xff,
+ 0x73, 0x15, 0x09, 0xff, 0x46, 0x0c, 0x05, 0xc5, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0x6e, 0x60, 0xa2,
+ 0x6c, 0x50, 0x4a, 0xff, 0xbe, 0x85, 0x78, 0xff, 0xe5, 0x65, 0x47, 0xff,
+ 0xdf, 0x42, 0x1d, 0xff, 0xdd, 0x40, 0x1d, 0xff, 0xdc, 0x3f, 0x1c, 0xff,
+ 0xda, 0x3e, 0x1c, 0xff, 0xd9, 0x3c, 0x1b, 0xff, 0xd8, 0x3b, 0x1b, 0xff,
+ 0xd6, 0x3a, 0x1a, 0xff, 0xd5, 0x38, 0x19, 0xff, 0xd3, 0x37, 0x19, 0xff,
+ 0xd2, 0x36, 0x18, 0xff, 0xd1, 0x34, 0x18, 0xff, 0xcf, 0x33, 0x17, 0xff,
+ 0xce, 0x32, 0x16, 0xff, 0xcc, 0x30, 0x16, 0xff, 0xcb, 0x2f, 0x15, 0xff,
+ 0xca, 0x2e, 0x15, 0xff, 0xc8, 0x2c, 0x14, 0xff, 0xc7, 0x2b, 0x13, 0xff,
+ 0xc5, 0x2a, 0x13, 0xff, 0xc4, 0x29, 0x12, 0xff, 0xc3, 0x27, 0x12, 0xff,
+ 0xc1, 0x26, 0x11, 0xff, 0xc0, 0x25, 0x10, 0xff, 0xbe, 0x23, 0x10, 0xff,
+ 0xb2, 0x20, 0x0e, 0xff, 0x6a, 0x12, 0x08, 0xff, 0x44, 0x0b, 0x05, 0xa4,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc3, 0x7b, 0x6a, 0x3f, 0x72, 0x59, 0x52, 0xfe,
+ 0xa8, 0x7b, 0x70, 0xff, 0xe6, 0x6c, 0x50, 0xff, 0xde, 0x41, 0x1d, 0xff,
+ 0xdd, 0x40, 0x1d, 0xff, 0xdc, 0x3f, 0x1c, 0xff, 0xda, 0x3d, 0x1c, 0xff,
+ 0xd9, 0x3c, 0x1b, 0xff, 0xd7, 0x3b, 0x1a, 0xff, 0xd6, 0x39, 0x1a, 0xff,
+ 0xd5, 0x38, 0x19, 0xff, 0xd3, 0x37, 0x19, 0xff, 0xd2, 0x36, 0x18, 0xff,
+ 0xd0, 0x34, 0x17, 0xff, 0xcf, 0x33, 0x17, 0xff, 0xce, 0x32, 0x16, 0xff,
+ 0xcc, 0x30, 0x16, 0xff, 0xcb, 0x2f, 0x15, 0xff, 0xc9, 0x2e, 0x14, 0xff,
+ 0xc8, 0x2c, 0x14, 0xff, 0xc7, 0x2b, 0x13, 0xff, 0xc5, 0x2a, 0x13, 0xff,
+ 0xc4, 0x28, 0x12, 0xff, 0xc2, 0x27, 0x11, 0xff, 0xc1, 0x26, 0x11, 0xff,
+ 0xc0, 0x24, 0x10, 0xff, 0xbe, 0x23, 0x10, 0xff, 0xbd, 0x22, 0x0f, 0xff,
+ 0xbc, 0x21, 0x0e, 0xff, 0xa8, 0x1c, 0x0c, 0xff, 0x57, 0x0e, 0x06, 0xfb,
+ 0x30, 0x07, 0x03, 0x5b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x93, 0x69, 0x5f, 0xde, 0x80, 0x60, 0x59, 0xff,
+ 0xe7, 0x7f, 0x67, 0xff, 0xde, 0x41, 0x1d, 0xff, 0xdd, 0x40, 0x1d, 0xff,
+ 0xdb, 0x3f, 0x1c, 0xff, 0xda, 0x3d, 0x1c, 0xff, 0xd9, 0x3c, 0x1b, 0xff,
+ 0xd7, 0x3b, 0x1a, 0xff, 0xd6, 0x39, 0x1a, 0xff, 0xd4, 0x38, 0x19, 0xff,
+ 0xd3, 0x37, 0x19, 0xff, 0xd2, 0x35, 0x18, 0xff, 0xd0, 0x34, 0x17, 0xff,
+ 0xcf, 0x33, 0x17, 0xff, 0xce, 0x31, 0x16, 0xff, 0xcc, 0x30, 0x16, 0xff,
+ 0xcb, 0x2f, 0x15, 0xff, 0xc9, 0x2e, 0x14, 0xff, 0xc8, 0x2c, 0x14, 0xff,
+ 0xc7, 0x2b, 0x13, 0xff, 0xc5, 0x2a, 0x13, 0xff, 0xc4, 0x28, 0x12, 0xff,
+ 0xc2, 0x27, 0x11, 0xff, 0xc1, 0x26, 0x11, 0xff, 0xc0, 0x24, 0x10, 0xff,
+ 0xbe, 0x23, 0x10, 0xff, 0xbd, 0x22, 0x0f, 0xff, 0xbb, 0x20, 0x0e, 0xff,
+ 0xba, 0x1f, 0x0e, 0xff, 0xb9, 0x1e, 0x0d, 0xff, 0x94, 0x16, 0x0a, 0xff,
+ 0x43, 0x09, 0x04, 0xd3, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xb8, 0x77, 0x67, 0x63, 0x6f, 0x58, 0x53, 0xff, 0xc7, 0x86, 0x77, 0xff,
+ 0xde, 0x43, 0x20, 0xff, 0xdd, 0x40, 0x1d, 0xff, 0xdb, 0x3f, 0x1c, 0xff,
+ 0xda, 0x3d, 0x1c, 0xff, 0xd9, 0x3c, 0x1b, 0xff, 0xd7, 0x3b, 0x1a, 0xff,
+ 0xd6, 0x39, 0x1a, 0xff, 0xd4, 0x38, 0x19, 0xff, 0xd3, 0x37, 0x19, 0xff,
+ 0xd2, 0x35, 0x18, 0xff, 0xd0, 0x34, 0x17, 0xff, 0xcf, 0x33, 0x17, 0xff,
+ 0xcd, 0x31, 0x16, 0xff, 0xcc, 0x30, 0x16, 0xff, 0xcb, 0x2f, 0x15, 0xff,
+ 0xc9, 0x2d, 0x14, 0xff, 0xc8, 0x2c, 0x14, 0xff, 0xc6, 0x2b, 0x13, 0xff,
+ 0xc5, 0x29, 0x13, 0xff, 0xc4, 0x28, 0x12, 0xff, 0xc2, 0x27, 0x11, 0xff,
+ 0xc1, 0x26, 0x11, 0xff, 0xbf, 0x24, 0x10, 0xff, 0xbe, 0x23, 0x10, 0xff,
+ 0xbd, 0x22, 0x0f, 0xff, 0xbb, 0x20, 0x0e, 0xff, 0xba, 0x1f, 0x0e, 0xff,
+ 0xb8, 0x1e, 0x0d, 0xff, 0xb7, 0x1c, 0x0d, 0xff, 0xae, 0x19, 0x0b, 0xff,
+ 0x6a, 0x0f, 0x06, 0xff, 0x35, 0x07, 0x03, 0x78, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x93, 0x69, 0x5f, 0xda, 0x89, 0x6a, 0x63, 0xff, 0xe4, 0x68, 0x4b, 0xff,
+ 0xdd, 0x40, 0x1d, 0xff, 0xdb, 0x3e, 0x1c, 0xff, 0xda, 0x3d, 0x1b, 0xff,
+ 0xd8, 0x3c, 0x1b, 0xff, 0xd7, 0x3a, 0x1a, 0xff, 0xd6, 0x39, 0x1a, 0xff,
+ 0xd4, 0x38, 0x19, 0xff, 0xd3, 0x37, 0x19, 0xff, 0xd1, 0x35, 0x18, 0xff,
+ 0xd0, 0x34, 0x17, 0xff, 0xcf, 0x33, 0x17, 0xff, 0xcd, 0x31, 0x16, 0xff,
+ 0xcc, 0x30, 0x16, 0xff, 0xca, 0x2f, 0x15, 0xff, 0xc9, 0x2d, 0x14, 0xff,
+ 0xc8, 0x2c, 0x14, 0xff, 0xc6, 0x2b, 0x13, 0xff, 0xc5, 0x29, 0x13, 0xff,
+ 0xc4, 0x28, 0x12, 0xff, 0xc2, 0x27, 0x11, 0xff, 0xc1, 0x25, 0x11, 0xff,
+ 0xbf, 0x24, 0x10, 0xff, 0xbe, 0x23, 0x10, 0xff, 0xbd, 0x21, 0x0f, 0xff,
+ 0xbb, 0x20, 0x0e, 0xff, 0xba, 0x1f, 0x0e, 0xff, 0xb8, 0x1e, 0x0d, 0xff,
+ 0xb7, 0x1c, 0x0d, 0xff, 0xb6, 0x1b, 0x0c, 0xff, 0xb4, 0x1a, 0x0b, 0xff,
+ 0x96, 0x14, 0x09, 0xff, 0x44, 0x08, 0x03, 0xcd, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x75, 0x63, 0x0c,
+ 0x76, 0x5f, 0x59, 0xfe, 0xc1, 0x81, 0x73, 0xff, 0xdc, 0x40, 0x1d, 0xff,
+ 0xdb, 0x3e, 0x1c, 0xff, 0xda, 0x3d, 0x1b, 0xff, 0xd8, 0x3c, 0x1b, 0xff,
+ 0xd7, 0x3a, 0x1a, 0xff, 0xd6, 0x39, 0x1a, 0xff, 0xd4, 0x38, 0x19, 0xff,
+ 0xd3, 0x36, 0x18, 0xff, 0xd1, 0x35, 0x18, 0xff, 0xd0, 0x34, 0x17, 0xff,
+ 0xcf, 0x32, 0x17, 0xff, 0xcd, 0x31, 0x16, 0xff, 0xcc, 0x30, 0x15, 0xff,
+ 0xca, 0x2f, 0x15, 0xff, 0xc9, 0x2d, 0x14, 0xff, 0xc8, 0x2c, 0x14, 0xff,
+ 0xc6, 0x2b, 0x13, 0xff, 0xc5, 0x29, 0x12, 0xff, 0xc3, 0x28, 0x12, 0xff,
+ 0xc2, 0x27, 0x11, 0xff, 0xc1, 0x25, 0x11, 0xff, 0xbf, 0x24, 0x10, 0xff,
+ 0xbe, 0x23, 0x0f, 0xff, 0xbc, 0x21, 0x0f, 0xff, 0xbb, 0x20, 0x0e, 0xff,
+ 0xba, 0x1f, 0x0e, 0xff, 0xb8, 0x1d, 0x0d, 0xff, 0xb7, 0x1c, 0x0c, 0xff,
+ 0xb5, 0x1b, 0x0c, 0xff, 0xb4, 0x19, 0x0b, 0xff, 0xb3, 0x18, 0x0b, 0xff,
+ 0xa7, 0x15, 0x09, 0xff, 0x62, 0x0c, 0x05, 0xfa, 0x0d, 0x01, 0x00, 0x3f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x70, 0x63, 0x8d,
+ 0x75, 0x5d, 0x58, 0xff, 0xe2, 0x6b, 0x51, 0xff, 0xdb, 0x3e, 0x1c, 0xff,
+ 0xda, 0x3d, 0x1b, 0xff, 0xd8, 0x3c, 0x1b, 0xff, 0xd7, 0x3a, 0x1a, 0xff,
+ 0xd5, 0x39, 0x1a, 0xff, 0xd4, 0x38, 0x19, 0xff, 0xd3, 0x36, 0x18, 0xff,
+ 0xd1, 0x35, 0x18, 0xff, 0xd0, 0x34, 0x17, 0xff, 0xce, 0x32, 0x17, 0xff,
+ 0xcd, 0x31, 0x16, 0xff, 0xcc, 0x30, 0x15, 0xff, 0xca, 0x2e, 0x15, 0xff,
+ 0xc9, 0x2d, 0x14, 0xff, 0xc7, 0x2c, 0x14, 0xff, 0xc6, 0x2a, 0x13, 0xff,
+ 0xc5, 0x29, 0x12, 0xff, 0xc3, 0x28, 0x12, 0xff, 0xc2, 0x27, 0x11, 0xff,
+ 0xc0, 0x25, 0x11, 0xff, 0xbf, 0x24, 0x10, 0xff, 0xbe, 0x23, 0x0f, 0xff,
+ 0xbc, 0x21, 0x0f, 0xff, 0xbb, 0x20, 0x0e, 0xff, 0xb9, 0x1f, 0x0e, 0xff,
+ 0xb8, 0x1d, 0x0d, 0xff, 0xb7, 0x1c, 0x0c, 0xff, 0xb5, 0x1b, 0x0c, 0xff,
+ 0xb4, 0x19, 0x0b, 0xff, 0xb3, 0x18, 0x0b, 0xff, 0xb1, 0x17, 0x0a, 0xff,
+ 0xb0, 0x15, 0x09, 0xff, 0x85, 0x0f, 0x06, 0xff, 0x36, 0x06, 0x02, 0x97,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x66, 0x5c, 0xd2,
+ 0x94, 0x71, 0x6a, 0xff, 0xdb, 0x41, 0x20, 0xff, 0xd9, 0x3d, 0x1b, 0xff,
+ 0xd8, 0x3b, 0x1b, 0xff, 0xd7, 0x3a, 0x1a, 0xff, 0xcb, 0x36, 0x18, 0xff,
+ 0xb9, 0x30, 0x15, 0xff, 0xbf, 0x31, 0x15, 0xff, 0xbe, 0x30, 0x15, 0xff,
+ 0xbe, 0x2f, 0x15, 0xff, 0xbc, 0x2d, 0x15, 0xff, 0xbb, 0x2c, 0x14, 0xff,
+ 0xba, 0x2b, 0x13, 0xff, 0xb8, 0x2a, 0x13, 0xff, 0xb7, 0x29, 0x12, 0xff,
+ 0xb5, 0x28, 0x12, 0xff, 0xb4, 0x26, 0x11, 0xff, 0xb4, 0x25, 0x10, 0xff,
+ 0xb2, 0x24, 0x10, 0xff, 0xb1, 0x22, 0x0f, 0xff, 0xaf, 0x21, 0x0f, 0xff,
+ 0xae, 0x20, 0x0e, 0xff, 0xad, 0x1f, 0x0d, 0xff, 0xab, 0x1e, 0x0d, 0xff,
+ 0xaa, 0x1d, 0x0c, 0xff, 0xa9, 0x1b, 0x0c, 0xff, 0xa8, 0x1a, 0x0b, 0xff,
+ 0xa7, 0x19, 0x0a, 0xff, 0xa9, 0x20, 0x13, 0xff, 0xaf, 0x18, 0x0a, 0xff,
+ 0xb2, 0x18, 0x0b, 0xff, 0xb1, 0x17, 0x0a, 0xff, 0xb0, 0x15, 0x09, 0xff,
+ 0xae, 0x14, 0x09, 0xff, 0x93, 0x0f, 0x06, 0xff, 0x43, 0x06, 0x02, 0xc2,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x61, 0x5a, 0xee,
+ 0xaf, 0x6e, 0x5f, 0xff, 0xd9, 0x3d, 0x1b, 0xff, 0xd8, 0x3b, 0x1b, 0xff,
+ 0xd7, 0x3a, 0x1a, 0xff, 0xd5, 0x39, 0x19, 0xff, 0xc1, 0x32, 0x16, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xdf, 0xdf, 0xdf, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0xdd, 0xdd, 0xdd, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xb1, 0x23, 0x18, 0xff,
+ 0xb1, 0x16, 0x0a, 0xff, 0xaf, 0x15, 0x09, 0xff, 0xae, 0x14, 0x09, 0xff,
+ 0xad, 0x13, 0x08, 0xff, 0x9c, 0x0e, 0x06, 0xff, 0x54, 0x07, 0x03, 0xda,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0x5e, 0x57, 0xf9,
+ 0xc4, 0x63, 0x4e, 0xff, 0xd8, 0x3b, 0x1b, 0xff, 0xd6, 0x3a, 0x1a, 0xff,
+ 0xd5, 0x39, 0x19, 0xff, 0xd4, 0x37, 0x19, 0xff, 0xcb, 0x34, 0x17, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xc3, 0x4e, 0x45, 0xff,
+ 0xaf, 0x15, 0x09, 0xff, 0xae, 0x14, 0x09, 0xff, 0xad, 0x12, 0x08, 0xff,
+ 0xab, 0x11, 0x08, 0xff, 0xa2, 0x0e, 0x05, 0xff, 0x63, 0x07, 0x03, 0xed,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x5a, 0x54, 0xfd,
+ 0xd2, 0x53, 0x3a, 0xff, 0xd6, 0x3a, 0x1a, 0xff, 0xd5, 0x38, 0x19, 0xff,
+ 0xd4, 0x37, 0x19, 0xff, 0xd2, 0x36, 0x18, 0xff, 0xca, 0x33, 0x17, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xc6, 0x5a, 0x52, 0xff,
+ 0xae, 0x14, 0x09, 0xff, 0xac, 0x12, 0x08, 0xff, 0xab, 0x11, 0x07, 0xff,
+ 0xaa, 0x10, 0x07, 0xff, 0xa2, 0x0d, 0x05, 0xff, 0x6e, 0x08, 0x03, 0xf9,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x5c, 0x56, 0xff,
+ 0xd6, 0x46, 0x28, 0xff, 0xd5, 0x38, 0x19, 0xff, 0xd3, 0x37, 0x19, 0xff,
+ 0xd2, 0x36, 0x18, 0xff, 0xd1, 0x34, 0x18, 0xff, 0xc8, 0x31, 0x16, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xc6, 0x5b, 0x54, 0xff,
+ 0xac, 0x12, 0x08, 0xff, 0xab, 0x11, 0x07, 0xff, 0xaa, 0x10, 0x07, 0xff,
+ 0xa8, 0x0e, 0x06, 0xff, 0x9f, 0x0c, 0x05, 0xff, 0x72, 0x08, 0x02, 0xff,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x58, 0x51, 0xfe,
+ 0xcf, 0x39, 0x1c, 0xff, 0xd3, 0x37, 0x19, 0xff, 0xd2, 0x36, 0x18, 0xff,
+ 0xd0, 0x34, 0x17, 0xff, 0xcf, 0x33, 0x17, 0xff, 0xc7, 0x30, 0x15, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xc4, 0x58, 0x51, 0xff,
+ 0xab, 0x11, 0x07, 0xff, 0xa9, 0x0f, 0x07, 0xff, 0xa8, 0x0e, 0x06, 0xff,
+ 0xa5, 0x0c, 0x05, 0xff, 0x97, 0x0b, 0x04, 0xff, 0x6a, 0x06, 0x02, 0xfa,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x51, 0x4a, 0xf8,
+ 0xc1, 0x32, 0x16, 0xff, 0xd2, 0x35, 0x18, 0xff, 0xd0, 0x34, 0x17, 0xff,
+ 0xcf, 0x33, 0x17, 0xff, 0xce, 0x32, 0x16, 0xff, 0xc5, 0x2e, 0x15, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xc3, 0x57, 0x4f, 0xff,
+ 0xa9, 0x0f, 0x07, 0xff, 0xa8, 0x0e, 0x06, 0xff, 0xa7, 0x0d, 0x06, 0xff,
+ 0xa0, 0x0a, 0x04, 0xff, 0x8f, 0x07, 0x02, 0xff, 0x5a, 0x04, 0x01, 0xf0,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x4f, 0x47, 0xeb,
+ 0xaa, 0x2d, 0x15, 0xff, 0xd0, 0x34, 0x17, 0xff, 0xcf, 0x33, 0x17, 0xff,
+ 0xcd, 0x31, 0x16, 0xff, 0xcc, 0x30, 0x16, 0xff, 0xc8, 0x39, 0x21, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xba, 0x40, 0x3a, 0xff,
+ 0xa8, 0x0e, 0x06, 0xff, 0xa6, 0x0d, 0x05, 0xff, 0xa5, 0x0b, 0x05, 0xff,
+ 0x9a, 0x09, 0x03, 0xff, 0x83, 0x06, 0x02, 0xff, 0x48, 0x02, 0x00, 0xe2,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0x4a, 0x41, 0xce,
+ 0x8f, 0x2a, 0x18, 0xff, 0xcf, 0x33, 0x17, 0xff, 0xcd, 0x31, 0x16, 0xff,
+ 0xcc, 0x30, 0x16, 0xff, 0xcb, 0x2f, 0x15, 0xff, 0xcb, 0x35, 0x1d, 0xff,
+ 0xd0, 0x52, 0x3f, 0xff, 0xd6, 0x68, 0x57, 0xff, 0xdb, 0x7a, 0x6c, 0xff,
+ 0xd9, 0x78, 0x6a, 0xff, 0xd8, 0x77, 0x69, 0xff, 0xd8, 0x76, 0x69, 0xff,
+ 0xd6, 0x75, 0x69, 0xff, 0xd6, 0x76, 0x6a, 0xff, 0xd4, 0x71, 0x65, 0xff,
+ 0xd1, 0x6b, 0x5f, 0xff, 0xd1, 0x6a, 0x5f, 0xff, 0xcf, 0x69, 0x5e, 0xff,
+ 0xcf, 0x68, 0x5e, 0xff, 0xce, 0x67, 0x5d, 0xff, 0xcd, 0x67, 0x5d, 0xff,
+ 0xcc, 0x65, 0x5d, 0xff, 0xcb, 0x64, 0x5b, 0xff, 0xc8, 0x5e, 0x55, 0xff,
+ 0xc7, 0x5b, 0x54, 0xff, 0xc5, 0x5a, 0x52, 0xff, 0xc3, 0x55, 0x4e, 0xff,
+ 0xc1, 0x51, 0x4b, 0xff, 0xb7, 0x38, 0x31, 0xff, 0xa8, 0x0f, 0x07, 0xff,
+ 0xa6, 0x0c, 0x05, 0xff, 0xa5, 0x0b, 0x05, 0xff, 0xa3, 0x0a, 0x04, 0xff,
+ 0x90, 0x08, 0x03, 0xff, 0x79, 0x04, 0x01, 0xff, 0x36, 0x01, 0x00, 0xd2,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x47, 0x3d, 0x92,
+ 0x73, 0x28, 0x1b, 0xff, 0xcd, 0x31, 0x16, 0xff, 0xcc, 0x30, 0x15, 0xff,
+ 0xca, 0x2f, 0x15, 0xff, 0xc9, 0x2d, 0x14, 0xff, 0xc8, 0x2c, 0x14, 0xff,
+ 0xc6, 0x2b, 0x13, 0xff, 0xc5, 0x29, 0x13, 0xff, 0xc3, 0x28, 0x12, 0xff,
+ 0xc2, 0x27, 0x11, 0xff, 0xc1, 0x25, 0x11, 0xff, 0xbf, 0x24, 0x10, 0xff,
+ 0xbe, 0x23, 0x10, 0xff, 0xbc, 0x21, 0x0f, 0xff, 0xbb, 0x20, 0x0e, 0xff,
+ 0xba, 0x1f, 0x0e, 0xff, 0xb8, 0x1d, 0x0d, 0xff, 0xb7, 0x1c, 0x0d, 0xff,
+ 0xb5, 0x1b, 0x0c, 0xff, 0xb4, 0x1a, 0x0b, 0xff, 0xb3, 0x18, 0x0b, 0xff,
+ 0xb1, 0x17, 0x0a, 0xff, 0xb0, 0x16, 0x0a, 0xff, 0xaf, 0x14, 0x09, 0xff,
+ 0xad, 0x13, 0x08, 0xff, 0xac, 0x12, 0x08, 0xff, 0xaa, 0x10, 0x07, 0xff,
+ 0xa9, 0x0f, 0x07, 0xff, 0xa8, 0x0e, 0x06, 0xff, 0xa6, 0x0c, 0x05, 0xff,
+ 0xa5, 0x0b, 0x05, 0xff, 0xa3, 0x0a, 0x04, 0xff, 0xa1, 0x07, 0x03, 0xff,
+ 0x85, 0x05, 0x02, 0xff, 0x6c, 0x03, 0x00, 0xff, 0x23, 0x00, 0x00, 0xbc,
+ 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x30, 0x28, 0x16,
+ 0x60, 0x28, 0x1e, 0xfc, 0xbe, 0x2c, 0x13, 0xff, 0xca, 0x2e, 0x15, 0xff,
+ 0xc9, 0x2d, 0x14, 0xff, 0xc8, 0x2c, 0x14, 0xff, 0xc6, 0x2b, 0x13, 0xff,
+ 0xc5, 0x29, 0x12, 0xff, 0xc3, 0x28, 0x12, 0xff, 0xc2, 0x27, 0x11, 0xff,
+ 0xc1, 0x25, 0x11, 0xff, 0xbf, 0x24, 0x10, 0xff, 0xbe, 0x23, 0x0f, 0xff,
+ 0xbc, 0x21, 0x0f, 0xff, 0xbb, 0x20, 0x0e, 0xff, 0xba, 0x1f, 0x0e, 0xff,
+ 0xb8, 0x1d, 0x0d, 0xff, 0xb7, 0x1c, 0x0c, 0xff, 0xb5, 0x1b, 0x0c, 0xff,
+ 0xb4, 0x19, 0x0b, 0xff, 0xb3, 0x18, 0x0b, 0xff, 0xb1, 0x17, 0x0a, 0xff,
+ 0xb0, 0x15, 0x09, 0xff, 0xae, 0x14, 0x09, 0xff, 0xad, 0x13, 0x08, 0xff,
+ 0xac, 0x12, 0x08, 0xff, 0xaa, 0x10, 0x07, 0xff, 0xa9, 0x0f, 0x06, 0xff,
+ 0xa7, 0x0e, 0x06, 0xff, 0xa6, 0x0c, 0x05, 0xff, 0xa5, 0x0b, 0x05, 0xff,
+ 0xa3, 0x0a, 0x04, 0xff, 0xa2, 0x08, 0x04, 0xff, 0x94, 0x06, 0x02, 0xff,
+ 0x80, 0x03, 0x00, 0xff, 0x56, 0x01, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x91,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x64, 0x31, 0x28, 0xd2, 0x88, 0x1f, 0x0e, 0xff, 0xc9, 0x2d, 0x14, 0xff,
+ 0xc7, 0x2c, 0x14, 0xff, 0xc6, 0x2a, 0x13, 0xff, 0xc5, 0x29, 0x12, 0xff,
+ 0xc3, 0x28, 0x12, 0xff, 0xc2, 0x26, 0x11, 0xff, 0xc0, 0x25, 0x11, 0xff,
+ 0xbf, 0x24, 0x10, 0xff, 0xbe, 0x23, 0x0f, 0xff, 0xbc, 0x21, 0x0f, 0xff,
+ 0xbb, 0x20, 0x0e, 0xff, 0xb9, 0x1f, 0x0e, 0xff, 0xb8, 0x1d, 0x0d, 0xff,
+ 0xb7, 0x1c, 0x0c, 0xff, 0xb5, 0x1b, 0x0c, 0xff, 0xb4, 0x19, 0x0b, 0xff,
+ 0xb2, 0x18, 0x0b, 0xff, 0xb1, 0x17, 0x0a, 0xff, 0xb0, 0x15, 0x09, 0xff,
+ 0xae, 0x14, 0x09, 0xff, 0xad, 0x13, 0x08, 0xff, 0xab, 0x11, 0x08, 0xff,
+ 0xaa, 0x10, 0x07, 0xff, 0xa9, 0x0f, 0x06, 0xff, 0xa7, 0x0d, 0x06, 0xff,
+ 0xa6, 0x0c, 0x05, 0xff, 0xa5, 0x0b, 0x05, 0xff, 0xa3, 0x0a, 0x04, 0xff,
+ 0xa2, 0x08, 0x03, 0xff, 0xa0, 0x07, 0x03, 0xff, 0x87, 0x05, 0x01, 0xff,
+ 0x74, 0x02, 0x00, 0xff, 0x30, 0x00, 0x00, 0xe5, 0x00, 0x00, 0x00, 0x7f,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x73, 0x3b, 0x32, 0x6c, 0x60, 0x16, 0x0a, 0xff, 0xbe, 0x2a, 0x13, 0xff,
+ 0xc6, 0x2a, 0x13, 0xff, 0xc4, 0x29, 0x12, 0xff, 0xc3, 0x28, 0x12, 0xff,
+ 0xc2, 0x26, 0x11, 0xff, 0xc0, 0x25, 0x11, 0xff, 0xbf, 0x24, 0x10, 0xff,
+ 0xbe, 0x22, 0x0f, 0xff, 0xbc, 0x21, 0x0f, 0xff, 0xbb, 0x20, 0x0e, 0xff,
+ 0xb9, 0x1e, 0x0e, 0xff, 0xb8, 0x1d, 0x0d, 0xff, 0xb7, 0x1c, 0x0c, 0xff,
+ 0xb5, 0x1a, 0x0c, 0xff, 0xb4, 0x19, 0x0b, 0xff, 0xb2, 0x18, 0x0b, 0xff,
+ 0xb1, 0x17, 0x0a, 0xff, 0xb0, 0x15, 0x09, 0xff, 0xae, 0x14, 0x09, 0xff,
+ 0xad, 0x13, 0x08, 0xff, 0xab, 0x11, 0x08, 0xff, 0xaa, 0x10, 0x07, 0xff,
+ 0xa9, 0x0f, 0x06, 0xff, 0xa7, 0x0d, 0x06, 0xff, 0xa6, 0x0c, 0x05, 0xff,
+ 0xa4, 0x0b, 0x05, 0xff, 0xa3, 0x09, 0x04, 0xff, 0xa2, 0x08, 0x03, 0xff,
+ 0xa0, 0x07, 0x03, 0xff, 0x94, 0x04, 0x01, 0xff, 0x80, 0x02, 0x00, 0xff,
+ 0x61, 0x01, 0x00, 0xff, 0x16, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, 0x75,
+ 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x57, 0x1f, 0x16, 0xd4, 0x84, 0x1c, 0x0c, 0xff,
+ 0xc4, 0x29, 0x12, 0xff, 0xc3, 0x28, 0x12, 0xff, 0xc2, 0x26, 0x11, 0xff,
+ 0xc0, 0x25, 0x11, 0xff, 0xbf, 0x24, 0x10, 0xff, 0xbd, 0x22, 0x0f, 0xff,
+ 0xbc, 0x21, 0x0f, 0xff, 0xbb, 0x20, 0x0e, 0xff, 0xb9, 0x1e, 0x0e, 0xff,
+ 0xb8, 0x1d, 0x0d, 0xff, 0xb6, 0x1c, 0x0c, 0xff, 0xb5, 0x1a, 0x0c, 0xff,
+ 0xb4, 0x19, 0x0b, 0xff, 0xb2, 0x18, 0x0b, 0xff, 0xb1, 0x16, 0x0a, 0xff,
+ 0xaf, 0x15, 0x09, 0xff, 0xae, 0x14, 0x09, 0xff, 0xad, 0x12, 0x08, 0xff,
+ 0xab, 0x11, 0x08, 0xff, 0xaa, 0x10, 0x07, 0xff, 0xa8, 0x0f, 0x06, 0xff,
+ 0xa7, 0x0d, 0x06, 0xff, 0xa6, 0x0c, 0x05, 0xff, 0xa4, 0x0b, 0x05, 0xff,
+ 0xa3, 0x09, 0x04, 0xff, 0xa1, 0x08, 0x03, 0xff, 0xa0, 0x07, 0x03, 0xff,
+ 0x9e, 0x04, 0x01, 0xff, 0x84, 0x03, 0x01, 0xff, 0x76, 0x01, 0x00, 0xff,
+ 0x2f, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0x9d, 0x00, 0x00, 0x00, 0x75,
+ 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x63, 0x2c, 0x24, 0x4d, 0x54, 0x11, 0x07, 0xfb,
+ 0xaf, 0x23, 0x10, 0xff, 0xc1, 0x26, 0x11, 0xff, 0xc0, 0x25, 0x10, 0xff,
+ 0xbf, 0x23, 0x10, 0xff, 0xbd, 0x22, 0x0f, 0xff, 0xbc, 0x21, 0x0f, 0xff,
+ 0xba, 0x20, 0x0e, 0xff, 0xb9, 0x1e, 0x0d, 0xff, 0xb8, 0x1d, 0x0d, 0xff,
+ 0xb6, 0x1c, 0x0c, 0xff, 0xb5, 0x1a, 0x0c, 0xff, 0xb3, 0x19, 0x0b, 0xff,
+ 0xb2, 0x18, 0x0a, 0xff, 0xb1, 0x16, 0x0a, 0xff, 0xaf, 0x15, 0x09, 0xff,
+ 0xae, 0x14, 0x09, 0xff, 0xad, 0x12, 0x08, 0xff, 0xab, 0x11, 0x07, 0xff,
+ 0xaa, 0x10, 0x07, 0xff, 0xa8, 0x0e, 0x06, 0xff, 0xa7, 0x0d, 0x06, 0xff,
+ 0xa6, 0x0c, 0x05, 0xff, 0xa4, 0x0a, 0x04, 0xff, 0xa3, 0x09, 0x04, 0xff,
+ 0xa1, 0x08, 0x03, 0xff, 0xa0, 0x07, 0x03, 0xff, 0x9f, 0x05, 0x02, 0xff,
+ 0x8b, 0x03, 0x01, 0xff, 0x7e, 0x01, 0x00, 0xff, 0x54, 0x00, 0x00, 0xfd,
+ 0x0e, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x79,
+ 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x42,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x55, 0x1b, 0x13, 0xa3,
+ 0x63, 0x13, 0x08, 0xff, 0xb5, 0x22, 0x0f, 0xff, 0xbf, 0x23, 0x10, 0xff,
+ 0xbd, 0x22, 0x0f, 0xff, 0xbc, 0x21, 0x0f, 0xff, 0xba, 0x1f, 0x0e, 0xff,
+ 0xb9, 0x1e, 0x0d, 0xff, 0xb8, 0x1d, 0x0d, 0xff, 0xb6, 0x1b, 0x0c, 0xff,
+ 0xb5, 0x1a, 0x0c, 0xff, 0xb3, 0x19, 0x0b, 0xff, 0xb2, 0x18, 0x0a, 0xff,
+ 0xb1, 0x16, 0x0a, 0xff, 0xaf, 0x15, 0x09, 0xff, 0xae, 0x14, 0x09, 0xff,
+ 0xac, 0x12, 0x08, 0xff, 0xab, 0x11, 0x07, 0xff, 0xaa, 0x10, 0x07, 0xff,
+ 0xa8, 0x0e, 0x06, 0xff, 0xa7, 0x0d, 0x06, 0xff, 0xa5, 0x0c, 0x05, 0xff,
+ 0xa4, 0x0a, 0x04, 0xff, 0xa3, 0x09, 0x04, 0xff, 0xa1, 0x08, 0x03, 0xff,
+ 0xa0, 0x06, 0x03, 0xff, 0x9e, 0x05, 0x02, 0xff, 0x90, 0x03, 0x00, 0xff,
+ 0x7e, 0x00, 0x00, 0xff, 0x63, 0x00, 0x00, 0xff, 0x1d, 0x00, 0x00, 0xe5,
+ 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x79,
+ 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
+ 0x4a, 0x0e, 0x06, 0xc3, 0x6f, 0x14, 0x09, 0xff, 0xb4, 0x20, 0x0e, 0xff,
+ 0xbc, 0x21, 0x0f, 0xff, 0xba, 0x1f, 0x0e, 0xff, 0xb9, 0x1e, 0x0d, 0xff,
+ 0xb7, 0x1d, 0x0d, 0xff, 0xb6, 0x1b, 0x0c, 0xff, 0xb5, 0x1a, 0x0c, 0xff,
+ 0xb3, 0x19, 0x0b, 0xff, 0xb2, 0x17, 0x0a, 0xff, 0xb0, 0x16, 0x0a, 0xff,
+ 0xaf, 0x15, 0x09, 0xff, 0xae, 0x13, 0x09, 0xff, 0xac, 0x12, 0x08, 0xff,
+ 0xab, 0x11, 0x07, 0xff, 0xa9, 0x10, 0x07, 0xff, 0xa8, 0x0e, 0x06, 0xff,
+ 0xa7, 0x0d, 0x06, 0xff, 0xa5, 0x0c, 0x05, 0xff, 0xa4, 0x0a, 0x04, 0xff,
+ 0xa3, 0x09, 0x04, 0xff, 0xa1, 0x08, 0x03, 0xff, 0xa0, 0x06, 0x03, 0xff,
+ 0x9e, 0x05, 0x02, 0xff, 0x90, 0x03, 0x00, 0xff, 0x7d, 0x00, 0x00, 0xff,
+ 0x67, 0x00, 0x00, 0xff, 0x26, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0xb1,
+ 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x75,
+ 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x15, 0x47, 0x0c, 0x05, 0xce, 0x71, 0x13, 0x08, 0xff,
+ 0xaf, 0x1d, 0x0d, 0xff, 0xb9, 0x1e, 0x0d, 0xff, 0xb7, 0x1d, 0x0d, 0xff,
+ 0xb6, 0x1b, 0x0c, 0xff, 0xb5, 0x1a, 0x0c, 0xff, 0xb3, 0x19, 0x0b, 0xff,
+ 0xb2, 0x17, 0x0a, 0xff, 0xb0, 0x16, 0x0a, 0xff, 0xaf, 0x15, 0x09, 0xff,
+ 0xae, 0x13, 0x09, 0xff, 0xac, 0x12, 0x08, 0xff, 0xab, 0x11, 0x07, 0xff,
+ 0xa9, 0x0f, 0x07, 0xff, 0xa8, 0x0e, 0x06, 0xff, 0xa7, 0x0d, 0x06, 0xff,
+ 0xa5, 0x0b, 0x05, 0xff, 0xa4, 0x0a, 0x04, 0xff, 0xa2, 0x09, 0x04, 0xff,
+ 0xa1, 0x08, 0x03, 0xff, 0xa0, 0x06, 0x03, 0xff, 0x9e, 0x05, 0x02, 0xff,
+ 0x8d, 0x03, 0x00, 0xff, 0x7b, 0x00, 0x00, 0xff, 0x65, 0x00, 0x00, 0xff,
+ 0x29, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x98,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x6c,
+ 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x45, 0x0b, 0x05, 0xc5,
+ 0x69, 0x11, 0x07, 0xff, 0xa5, 0x19, 0x0b, 0xff, 0xb6, 0x1b, 0x0c, 0xff,
+ 0xb4, 0x1a, 0x0b, 0xff, 0xb3, 0x18, 0x0b, 0xff, 0xb2, 0x17, 0x0a, 0xff,
+ 0xb0, 0x16, 0x0a, 0xff, 0xaf, 0x15, 0x09, 0xff, 0xad, 0x13, 0x08, 0xff,
+ 0xac, 0x12, 0x08, 0xff, 0xab, 0x11, 0x07, 0xff, 0xa9, 0x0f, 0x07, 0xff,
+ 0xa8, 0x0e, 0x06, 0xff, 0xa6, 0x0d, 0x05, 0xff, 0xa5, 0x0b, 0x05, 0xff,
+ 0xa4, 0x0a, 0x04, 0xff, 0xa2, 0x09, 0x04, 0xff, 0xa1, 0x07, 0x03, 0xff,
+ 0x9f, 0x06, 0x02, 0xff, 0x9c, 0x04, 0x01, 0xff, 0x86, 0x02, 0x00, 0xff,
+ 0x77, 0x00, 0x00, 0xff, 0x5d, 0x00, 0x00, 0xff, 0x25, 0x00, 0x00, 0xed,
+ 0x00, 0x00, 0x00, 0xb6, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x8d,
+ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15,
+ 0x41, 0x09, 0x04, 0xa4, 0x56, 0x0c, 0x05, 0xfb, 0x92, 0x15, 0x08, 0xff,
+ 0xab, 0x17, 0x0a, 0xff, 0xb1, 0x17, 0x0a, 0xff, 0xb0, 0x16, 0x0a, 0xff,
+ 0xaf, 0x14, 0x09, 0xff, 0xad, 0x13, 0x08, 0xff, 0xac, 0x12, 0x08, 0xff,
+ 0xab, 0x10, 0x07, 0xff, 0xa9, 0x0f, 0x07, 0xff, 0xa8, 0x0e, 0x06, 0xff,
+ 0xa6, 0x0d, 0x05, 0xff, 0xa5, 0x0b, 0x05, 0xff, 0xa4, 0x0a, 0x04, 0xff,
+ 0xa2, 0x09, 0x04, 0xff, 0xa1, 0x07, 0x03, 0xff, 0x9f, 0x06, 0x02, 0xff,
+ 0x8f, 0x04, 0x01, 0xff, 0x7c, 0x01, 0x00, 0xff, 0x6b, 0x00, 0x00, 0xff,
+ 0x4d, 0x00, 0x00, 0xfe, 0x1c, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0xad,
+ 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x7d,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x51,
+ 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0c, 0x2f, 0x06, 0x02, 0x5e, 0x40, 0x08, 0x03, 0xd4,
+ 0x68, 0x0d, 0x05, 0xff, 0x93, 0x12, 0x08, 0xff, 0xa6, 0x12, 0x08, 0xff,
+ 0xad, 0x13, 0x08, 0xff, 0xac, 0x12, 0x08, 0xff, 0xaa, 0x10, 0x07, 0xff,
+ 0xa9, 0x0f, 0x07, 0xff, 0xa8, 0x0e, 0x06, 0xff, 0xa6, 0x0c, 0x05, 0xff,
+ 0xa5, 0x0b, 0x05, 0xff, 0xa3, 0x0a, 0x04, 0xff, 0xa2, 0x08, 0x04, 0xff,
+ 0x9f, 0x06, 0x02, 0xff, 0x8f, 0x05, 0x01, 0xff, 0x7d, 0x03, 0x00, 0xff,
+ 0x6a, 0x01, 0x00, 0xff, 0x58, 0x00, 0x00, 0xff, 0x2c, 0x00, 0x00, 0xee,
+ 0x0d, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x86,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1c,
+ 0x31, 0x06, 0x02, 0x7b, 0x3e, 0x06, 0x02, 0xd0, 0x5a, 0x09, 0x03, 0xfa,
+ 0x7e, 0x0d, 0x05, 0xff, 0x8e, 0x0c, 0x05, 0xff, 0x99, 0x0c, 0x05, 0xff,
+ 0xa2, 0x0d, 0x05, 0xff, 0xa4, 0x0b, 0x04, 0xff, 0xa0, 0x0a, 0x04, 0xff,
+ 0x98, 0x09, 0x03, 0xff, 0x8d, 0x06, 0x02, 0xff, 0x7e, 0x04, 0x01, 0xff,
+ 0x6a, 0x03, 0x00, 0xff, 0x62, 0x02, 0x00, 0xff, 0x4f, 0x00, 0x00, 0xfd,
+ 0x2d, 0x00, 0x00, 0xea, 0x15, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0x97,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x6f,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x54,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1c, 0x0c, 0x01, 0x00, 0x42,
+ 0x31, 0x04, 0x01, 0xa0, 0x3a, 0x04, 0x01, 0xcb, 0x43, 0x05, 0x02, 0xe4,
+ 0x4e, 0x04, 0x01, 0xf3, 0x57, 0x04, 0x02, 0xfc, 0x5a, 0x05, 0x02, 0xff,
+ 0x56, 0x03, 0x00, 0xfc, 0x4d, 0x02, 0x00, 0xf5, 0x40, 0x02, 0x00, 0xec,
+ 0x30, 0x00, 0x00, 0xdf, 0x1f, 0x00, 0x00, 0xca, 0x03, 0x00, 0x00, 0x9c,
+ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x62,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x3b,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x62,
+ 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x66,
+ 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x4b,
+ 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x3b,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xfc, 0xbc, 0x00, 0x01, 0xef, 0x48, 0x00, 0x01, 0xef, 0x58,
+ 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x70, 0x61,
+ 0x75, 0x73, 0x65, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0xef, 0x6c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0xf8, 0x94,
+ 0x00, 0x01, 0xef, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x21,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x72, 0xff,
+ 0x84, 0x84, 0x83, 0xff, 0x88, 0x88, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x72, 0xff,
+ 0x84, 0x84, 0x83, 0xff, 0x88, 0x88, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa8, 0xa7, 0xa6, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa8, 0xa7, 0xa6, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa6, 0xa5, 0xa4, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa6, 0xa5, 0xa4, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x85, 0x84, 0x83, 0xff,
+ 0xaa, 0xa9, 0xa7, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x85, 0x84, 0x83, 0xff,
+ 0xaa, 0xa9, 0xa7, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xae, 0xad, 0xa9, 0xff,
+ 0xbf, 0xbd, 0xba, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xae, 0xad, 0xa9, 0xff,
+ 0xbf, 0xbd, 0xba, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xff, 0xb2, 0xb0, 0xad, 0xff,
+ 0xc3, 0xc1, 0xbe, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb2, 0xb0, 0xad, 0xff,
+ 0xc3, 0xc1, 0xbe, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb3, 0xb0, 0xff,
+ 0xd1, 0xcf, 0xcc, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb3, 0xb0, 0xff,
+ 0xd1, 0xcf, 0xcc, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf3, 0xf3, 0xf3, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x9c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x72, 0xff, 0x84, 0x84, 0x83, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x72, 0xff, 0x84, 0x84, 0x83, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa8, 0xa7, 0xa6, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa8, 0xa7, 0xa6, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff,
+ 0x7e, 0x7e, 0x7d, 0xff, 0xa6, 0xa5, 0xa4, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7e, 0x7e, 0x7d, 0xff, 0xa6, 0xa5, 0xa4, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x84, 0x83, 0xff, 0xaa, 0xa9, 0xa7, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x84, 0x83, 0xff, 0xaa, 0xa9, 0xa7, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff,
+ 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0xad, 0xa9, 0xff, 0xbf, 0xbd, 0xba, 0xff, 0xd7, 0xd5, 0xd3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0xad, 0xa9, 0xff, 0xbf, 0xbd, 0xba, 0xff, 0xd7, 0xd5, 0xd3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0xff, 0xb2, 0xb0, 0xad, 0xff, 0xc3, 0xc1, 0xbe, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb2, 0xb0, 0xad, 0xff, 0xc3, 0xc1, 0xbe, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb3, 0xb0, 0xff,
+ 0xd1, 0xcf, 0xcc, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb3, 0xb0, 0xff,
+ 0xd1, 0xcf, 0xcc, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0x9f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x01, 0xfc, 0xc8, 0x00, 0x01, 0xfc, 0xd8,
+ 0x67, 0x74, 0x6b, 0x2d, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x2d, 0x6c,
+ 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0xfc, 0xec, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x06, 0x14,
+ 0x00, 0x01, 0xfc, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xae, 0xae, 0xae, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xac, 0xac, 0xac, 0xff, 0xac, 0xac, 0xac, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xb0, 0xb0, 0xb0, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xb3, 0xb3, 0xb3, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x75, 0x75, 0x75, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xac, 0xac, 0xac, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xad, 0xad, 0xad, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x7b, 0x7b, 0x7b, 0xff,
+ 0x7b, 0x7b, 0x7b, 0xff, 0x7c, 0x7c, 0x7c, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0xb8, 0xb8, 0xb8, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0xee, 0xee, 0xee, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x1c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xa6, 0xa6, 0xa6, 0xff, 0xa7, 0xa7, 0xa7, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xa9, 0xa9, 0xa9, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0xab, 0xab, 0xab, 0xff, 0xac, 0xac, 0xac, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0x75, 0x75, 0x75, 0xff, 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xba, 0xba, 0xba, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0xb1, 0xb1, 0xb1, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xb6, 0xb6, 0xb6, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xb1, 0xb1, 0xb1, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x17, 0xc0, 0x00, 0x02, 0x0a, 0x48, 0x00, 0x02, 0x0a, 0x5c,
+ 0x67, 0x74, 0x6b, 0x2d, 0x67, 0x6f, 0x2d, 0x66, 0x6f, 0x72, 0x77, 0x61,
+ 0x72, 0x64, 0x2d, 0x72, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0x0a, 0x70, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x02, 0x13, 0x98, 0x00, 0x02, 0x0a, 0x78, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xb9, 0xd0, 0xb9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0xde, 0xcb, 0xff, 0xb6, 0xc7, 0xb6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff,
+ 0xb1, 0xc9, 0xb0, 0xff, 0xb3, 0xc4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff, 0xb4, 0xcb, 0xb2, 0xff,
+ 0xb5, 0xce, 0xb5, 0xff, 0xb7, 0xcc, 0xb5, 0xff, 0xb9, 0xce, 0xb7, 0xff,
+ 0xba, 0xd1, 0xba, 0xff, 0xb9, 0xce, 0xb7, 0xff, 0xbb, 0xcf, 0xba, 0xff,
+ 0xbb, 0xd0, 0xb9, 0xff, 0xb2, 0xc9, 0xb0, 0xff, 0x7e, 0xab, 0x78, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0xde, 0xcb, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0xb3, 0xca, 0xb1, 0xff,
+ 0xb0, 0xc9, 0xb0, 0xff, 0xb0, 0xc9, 0xae, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0xaa, 0xc5, 0xa8, 0xff, 0xaa, 0xc5, 0xa8, 0xff, 0xaa, 0xc5, 0xa8, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0xa9, 0xc4, 0xa7, 0xff, 0x69, 0x82, 0x67, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x2d, 0x2d, 0x2d, 0xff, 0xcf, 0xdf, 0xcc, 0xff,
+ 0xad, 0xc8, 0xab, 0xff, 0xb0, 0xc7, 0xae, 0xff, 0xad, 0xc6, 0xab, 0xff,
+ 0xad, 0xc6, 0xab, 0xff, 0xad, 0xc8, 0xab, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0xae, 0xc7, 0xac, 0xff, 0xb0, 0xc7, 0xae, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0xad, 0xc8, 0xab, 0xff, 0x67, 0x8c, 0x63, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x9b, 0xad, 0x9a, 0xff, 0x85, 0xae, 0x81, 0xff,
+ 0x87, 0xaf, 0x84, 0xff, 0x87, 0xaf, 0x84, 0xff, 0x87, 0xaf, 0x84, 0xff,
+ 0x87, 0xaf, 0x84, 0xff, 0x87, 0xaf, 0x84, 0xff, 0x87, 0xb0, 0x83, 0xff,
+ 0x88, 0xaf, 0x84, 0xff, 0x87, 0xaf, 0x84, 0xff, 0x87, 0xb0, 0x83, 0xff,
+ 0x88, 0xb0, 0x85, 0xff, 0x86, 0xaf, 0x82, 0xff, 0x54, 0x71, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x63, 0x42, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x63, 0x42, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x63, 0x42, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x41, 0x56, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x63, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x4a, 0x63, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0xff, 0x4a, 0x63, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xa0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0xde, 0xcb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0xde, 0xcb, 0xff, 0xb1, 0xc9, 0xb0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0xde, 0xcb, 0xff, 0xb4, 0xcb, 0xb2, 0xff, 0xb5, 0xce, 0xb5, 0xff,
+ 0xb9, 0xce, 0xb7, 0xff, 0xba, 0xd1, 0xba, 0xff, 0xb9, 0xce, 0xb7, 0xff,
+ 0xbb, 0xd0, 0xb9, 0xff, 0xb2, 0xc9, 0xb0, 0xff, 0x7e, 0xab, 0x78, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0xde, 0xcb, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0xb3, 0xca, 0xb1, 0xff,
+ 0xb0, 0xc9, 0xb0, 0xff, 0xae, 0xc7, 0xac, 0xff, 0xaa, 0xc5, 0xa8, 0xff,
+ 0xaa, 0xc5, 0xa8, 0xff, 0xae, 0xc7, 0xac, 0xff, 0xa9, 0xc4, 0xa7, 0xff,
+ 0x69, 0x82, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2d, 0x2d, 0x2d, 0x00, 0x2d, 0x2d, 0x2d, 0xff,
+ 0xcf, 0xdf, 0xcc, 0xff, 0xad, 0xc8, 0xab, 0xff, 0xb0, 0xc7, 0xae, 0xff,
+ 0xad, 0xc6, 0xab, 0xff, 0xad, 0xc6, 0xab, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0xae, 0xc7, 0xac, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0xad, 0xc8, 0xab, 0xff, 0x67, 0x8c, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x2d, 0x2d, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x63, 0x42, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x41, 0x56, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xcd, 0xde, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x3c, 0x52, 0x35, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x25, 0x44, 0x00, 0x02, 0x17, 0xcc,
+ 0x00, 0x02, 0x17, 0xe0, 0x67, 0x74, 0x6b, 0x2d, 0x75, 0x6e, 0x64, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x2d, 0x72, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0x17, 0xf4,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x21, 0x1c, 0x00, 0x02, 0x17, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x8a, 0x3c, 0x3c, 0x3c, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0x67, 0x67, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x59, 0x58, 0x4c, 0xff, 0xba, 0xb7, 0xa2, 0xff, 0xe5, 0xe4, 0xdc, 0xff,
+ 0xf4, 0xf3, 0xec, 0xff, 0xed, 0xec, 0xe4, 0xff, 0xf8, 0xf7, 0xed, 0xff,
+ 0xf2, 0xf0, 0xe6, 0xff, 0xc1, 0xc0, 0xb3, 0xff, 0x5e, 0x5d, 0x50, 0xff,
+ 0x65, 0x64, 0x56, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xa6, 0x8f, 0xff, 0xbd, 0xbb, 0xa1, 0xff, 0xc0, 0xbe, 0xa3, 0xff,
+ 0xa3, 0xa1, 0x8a, 0xff, 0x6d, 0x6c, 0x5c, 0xff, 0x7c, 0x7a, 0x6a, 0xff,
+ 0x4c, 0x4b, 0x41, 0xff, 0x45, 0x44, 0x3b, 0xff, 0x44, 0x43, 0x3a, 0xff,
+ 0x6f, 0x6e, 0x5e, 0xff, 0xc9, 0xc7, 0xb8, 0xff, 0xb6, 0xb5, 0x9b, 0xff,
+ 0x6d, 0x6c, 0x5d, 0xff, 0xb3, 0xb1, 0x98, 0xff, 0xa7, 0xa6, 0x8e, 0xff,
+ 0x90, 0x8f, 0x7a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xa8, 0x90, 0xff,
+ 0xd4, 0xd2, 0xba, 0xff, 0xda, 0xd7, 0xc1, 0xff, 0xe0, 0xde, 0xc9, 0xff,
+ 0xae, 0xab, 0x9b, 0xff, 0x94, 0x92, 0x7d, 0xff, 0x45, 0x44, 0x3a, 0xff,
+ 0x23, 0x22, 0x1d, 0xff, 0x35, 0x33, 0x2c, 0xff, 0x29, 0x27, 0x22, 0xff,
+ 0x1e, 0x1e, 0x1a, 0xff, 0x53, 0x52, 0x46, 0xff, 0xad, 0xac, 0x93, 0xff,
+ 0x92, 0x90, 0x7c, 0xff, 0xaa, 0xa9, 0x98, 0xff, 0x26, 0x26, 0x20, 0xff,
+ 0x9e, 0x9c, 0x86, 0xff, 0x93, 0x92, 0x7d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x93, 0x92, 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x5b, 0x5b, 0x5b, 0xff, 0xd9, 0xd7, 0xc5, 0xff,
+ 0xd4, 0xd2, 0xba, 0xff, 0xe2, 0xe0, 0xcb, 0xff, 0xec, 0xea, 0xd9, 0xff,
+ 0xd3, 0xd1, 0xc1, 0xff, 0xac, 0xaa, 0xa0, 0xff, 0x90, 0x8e, 0x80, 0xff,
+ 0x7e, 0x7c, 0x6b, 0xff, 0x5c, 0x5b, 0x4e, 0xff, 0x47, 0x45, 0x3b, 0xff,
+ 0x65, 0x64, 0x56, 0xff, 0x77, 0x76, 0x65, 0xff, 0x80, 0x7e, 0x6c, 0xff,
+ 0xbe, 0xbc, 0xa6, 0xff, 0x9e, 0x9c, 0x86, 0xff, 0x0f, 0x0f, 0x0e, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0x8c, 0x8b, 0x76, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa1, 0x9f, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe2, 0xe0, 0xd0, 0xff,
+ 0xfc, 0xfb, 0xf1, 0xff, 0xe3, 0xe2, 0xd3, 0xff, 0xe3, 0xe1, 0xd2, 0xff,
+ 0xf1, 0xf0, 0xdf, 0xff, 0xd5, 0xd4, 0xc5, 0xff, 0xd9, 0xd8, 0xca, 0xff,
+ 0xce, 0xcd, 0xbd, 0xff, 0xb7, 0xb5, 0xa0, 0xff, 0xb8, 0xb6, 0x9c, 0xff,
+ 0xb0, 0xaf, 0x96, 0xff, 0x96, 0x94, 0x7e, 0xff, 0x94, 0x93, 0x7e, 0xff,
+ 0x76, 0x75, 0x64, 0xff, 0x64, 0x63, 0x55, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0xbb, 0xb4, 0x96, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x8b, 0x89, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xa8, 0x90, 0xff,
+ 0xb6, 0xb4, 0xad, 0xff, 0xfb, 0xfa, 0xf3, 0xff, 0xfd, 0xfc, 0xf5, 0xff,
+ 0xfb, 0xfa, 0xf0, 0xff, 0xe9, 0xe8, 0xdc, 0xff, 0xe1, 0xe0, 0xd1, 0xff,
+ 0xe3, 0xe2, 0xd3, 0xff, 0xe0, 0xde, 0xc9, 0xff, 0xde, 0xdb, 0xc6, 0xff,
+ 0xad, 0xab, 0x95, 0xff, 0x60, 0x5f, 0x51, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x97, 0x8b, 0x61, 0xff,
+ 0xf0, 0xdc, 0x94, 0xff, 0xb8, 0xb0, 0x94, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x30, 0x30, 0x30, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x82, 0xff,
+ 0xaf, 0xad, 0x94, 0xff, 0xbd, 0xbc, 0xb3, 0xff, 0xd8, 0xd7, 0xd0, 0xff,
+ 0xe5, 0xe5, 0xde, 0xff, 0xfb, 0xfb, 0xf4, 0xff, 0xfe, 0xfd, 0xf7, 0xff,
+ 0xfe, 0xfd, 0xf7, 0xff, 0xfe, 0xfd, 0xf6, 0xff, 0xdc, 0xdb, 0xd5, 0xff,
+ 0x6a, 0x6a, 0x66, 0xff, 0x30, 0x2c, 0x19, 0xff, 0xba, 0xa7, 0x68, 0xff,
+ 0xea, 0xd7, 0x95, 0xff, 0xf1, 0xdf, 0x9b, 0xff, 0xf0, 0xda, 0x8d, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xf1, 0xde, 0x9a, 0xff, 0xc8, 0xc1, 0xa9, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x76, 0x75, 0x64, 0xff,
+ 0x93, 0x92, 0x7d, 0xff, 0xa3, 0xa1, 0x8a, 0xff, 0xb6, 0xb4, 0x9e, 0xff,
+ 0xc4, 0xc3, 0xb4, 0xff, 0xcf, 0xce, 0xc1, 0xff, 0xd8, 0xd6, 0xca, 0xff,
+ 0xca, 0xc9, 0xc0, 0xff, 0xc7, 0xc6, 0xbb, 0xff, 0x7e, 0x7d, 0x72, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0xc6, 0xad, 0x5d, 0xff, 0xec, 0xd4, 0x7d, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd7, 0x83, 0xff, 0xf1, 0xdf, 0x9d, 0xff,
+ 0xc5, 0xbf, 0xab, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x98, 0x96, 0x81, 0xff, 0xbb, 0xb9, 0xae, 0xff,
+ 0xc2, 0xc1, 0xb1, 0xff, 0xd0, 0xcf, 0xbe, 0xff, 0xd1, 0xcf, 0xbf, 0xff,
+ 0xd8, 0xd7, 0xc6, 0xff, 0xb4, 0xb2, 0xa4, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x6b, 0x5f, 0x37, 0xff, 0xe5, 0xcd, 0x79, 0xff, 0xe5, 0xc2, 0x5e, 0xff,
+ 0xd6, 0xa0, 0x22, 0xff, 0xd5, 0x9c, 0x1b, 0xff, 0xd5, 0x9c, 0x1b, 0xff,
+ 0xd5, 0x9c, 0x1b, 0xff, 0xd5, 0x9c, 0x1b, 0xff, 0xcd, 0xa8, 0x53, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0x10, 0x10, 0x0f, 0x3c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x54, 0x54, 0x45, 0xff, 0x3e, 0x3e, 0x3e, 0xff, 0x2b, 0x2b, 0x2b, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xa5, 0xa3, 0x8f, 0xff, 0xaa, 0xa8, 0x90, 0xff,
+ 0xb3, 0xb1, 0x9e, 0xff, 0x7f, 0x7d, 0x6f, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0xd0, 0xb5, 0x5f, 0xff, 0xdd, 0xb0, 0x3e, 0xff, 0xcd, 0x92, 0x0f, 0xff,
+ 0xb9, 0x83, 0x0b, 0xff, 0xb7, 0x82, 0x0b, 0xff, 0xbd, 0x86, 0x0b, 0xff,
+ 0xd0, 0x95, 0x11, 0xff, 0xba, 0x92, 0x3b, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x71, 0x71, 0x5d, 0xff, 0x57, 0x56, 0x47, 0xff, 0x5a, 0x5a, 0x4a, 0xff,
+ 0x3f, 0x3f, 0x34, 0xff, 0x47, 0x47, 0x47, 0xff, 0x47, 0x47, 0x47, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x44, 0x44, 0x44, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0xd9, 0xb9, 0x5a, 0xff, 0xd2, 0x9d, 0x20, 0xff, 0x88, 0x60, 0x07, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x33, 0x26, 0x08, 0xff,
+ 0xb5, 0x8d, 0x34, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x7a, 0x7a, 0x65, 0xff, 0x5b, 0x5b, 0x4b, 0xff, 0x85, 0x85, 0x74, 0xff,
+ 0x62, 0x62, 0x51, 0xff, 0x83, 0x83, 0x73, 0xff, 0x75, 0x74, 0x64, 0xff,
+ 0x51, 0x50, 0x42, 0xff, 0x5f, 0x5e, 0x53, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0xe2, 0xbb, 0x51, 0xff, 0x98, 0x6f, 0x10, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x29, 0x29, 0x22, 0xff, 0x4a, 0x4a, 0x3d, 0xff, 0x1d, 0x19, 0x0f, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0x00, 0x00, 0x00, 0xff, 0x51, 0x51, 0x43, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x85, 0x6e, 0xff, 0x5d, 0x5c, 0x4c, 0xff, 0x97, 0x96, 0x85, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0x97, 0x97, 0x8a, 0xff, 0x7a, 0x79, 0x6c, 0xff,
+ 0x4e, 0x4d, 0x40, 0xff, 0x71, 0x71, 0x66, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0xce, 0xab, 0x4c, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x35, 0x35, 0x2b, 0xff,
+ 0x3a, 0x3a, 0x30, 0xff, 0x44, 0x44, 0x38, 0xff, 0x06, 0x06, 0x05, 0xff,
+ 0x39, 0x39, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x85, 0x6e, 0xff, 0x5b, 0x5b, 0x4b, 0xff, 0xc2, 0xc1, 0xac, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xb5, 0xb4, 0xa5, 0xff, 0xad, 0xad, 0x9f, 0xff,
+ 0x54, 0x53, 0x45, 0xff, 0x8b, 0x8b, 0x7f, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x8d, 0x7c, 0x45, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x3f, 0x3f, 0x34, 0xff,
+ 0x3f, 0x3f, 0x34, 0xff, 0x65, 0x65, 0x53, 0xff, 0x30, 0x30, 0x27, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x85, 0x6e, 0xff, 0x5b, 0x5b, 0x4b, 0xff, 0xb7, 0xb7, 0xa1, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0xc8, 0xc7, 0xb2, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc5, 0xc4, 0xaf, 0xff, 0x67, 0x67, 0x5a, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x3c, 0x3c, 0x31, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x85, 0x6e, 0xff, 0x5b, 0x5b, 0x4b, 0xff, 0xb8, 0xb7, 0xa1, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc9, 0xc9, 0xb5, 0xff, 0xc8, 0xc7, 0xb2, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0x9a, 0x9a, 0x85, 0xff,
+ 0x2d, 0x2c, 0x22, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x46, 0x45, 0x38, 0xff,
+ 0x40, 0x40, 0x35, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x85, 0x6e, 0xff, 0x5b, 0x5b, 0x4b, 0xff, 0xad, 0xad, 0x96, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0xc8, 0xc7, 0xb2, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0xad, 0xad, 0x96, 0xff,
+ 0x54, 0x54, 0x45, 0xff, 0x84, 0x84, 0x6f, 0xff, 0x71, 0x71, 0x5e, 0xff,
+ 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x42,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0xff,
+ 0x7b, 0x7b, 0x65, 0xff, 0x5b, 0x5b, 0x4b, 0xff, 0xb7, 0xb7, 0xa1, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0xc8, 0xc7, 0xb2, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0xad, 0xad, 0x96, 0xff,
+ 0x54, 0x54, 0x45, 0xff, 0x84, 0x84, 0x6f, 0xff, 0x71, 0x71, 0x5e, 0xff,
+ 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x5f, 0x5f, 0x4f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x56,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff,
+ 0x66, 0x66, 0x54, 0xff, 0x5b, 0x5b, 0x4b, 0xff, 0xb7, 0xb7, 0xa1, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0xc8, 0xc7, 0xb2, 0xff,
+ 0x6b, 0x6a, 0x58, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0xad, 0xad, 0x96, 0xff,
+ 0x54, 0x54, 0x45, 0xff, 0x84, 0x84, 0x6f, 0xff, 0x71, 0x71, 0x5e, 0xff,
+ 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x49, 0x49, 0x3c, 0xff,
+ 0x57, 0x57, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0xff, 0x57, 0x56, 0x47, 0xff, 0x7d, 0x7d, 0x68, 0xff,
+ 0x68, 0x68, 0x56, 0xff, 0xab, 0xab, 0x99, 0xff, 0xaf, 0xaf, 0x9d, 0xff,
+ 0x6d, 0x6d, 0x5a, 0xff, 0xcb, 0xcb, 0xb5, 0xff, 0xad, 0xad, 0x96, 0xff,
+ 0x54, 0x54, 0x45, 0xff, 0x84, 0x84, 0x6f, 0xff, 0x69, 0x69, 0x57, 0xff,
+ 0x41, 0x41, 0x35, 0xff, 0x56, 0x56, 0x47, 0xff, 0x44, 0x44, 0x38, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x4f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x4a, 0x4a, 0x3d, 0xff, 0x58, 0x58, 0x49, 0xff,
+ 0x4e, 0x4e, 0x40, 0xff, 0x74, 0x74, 0x60, 0xff, 0x61, 0x61, 0x50, 0xff,
+ 0x4e, 0x4e, 0x41, 0xff, 0x49, 0x49, 0x3c, 0xff, 0x49, 0x49, 0x3c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x21, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x11, 0x06, 0x06, 0x06, 0x4b,
+ 0x0e, 0x0e, 0x0e, 0xff, 0x42, 0x42, 0x42, 0xff, 0x4a, 0x4a, 0x4a, 0xff,
+ 0x3e, 0x3e, 0x3e, 0xff, 0x2c, 0x2c, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x06, 0x06, 0x06, 0x3e, 0x06, 0x06, 0x06, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x3a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x83, 0x71, 0xff, 0xf0, 0xed, 0xd8, 0xff,
+ 0xf2, 0xf1, 0xe9, 0xff, 0xee, 0xed, 0xe4, 0xff, 0xc7, 0xc6, 0xba, 0xff,
+ 0x53, 0x52, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x06, 0x06, 0x06, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x3e, 0x10, 0x10, 0x10, 0xff,
+ 0xc2, 0xc0, 0xa5, 0xff, 0xc1, 0xbf, 0xa5, 0xff, 0x7a, 0x79, 0x67, 0xff,
+ 0x48, 0x47, 0x40, 0xff, 0x27, 0x27, 0x25, 0xff, 0x36, 0x35, 0x2e, 0xff,
+ 0x87, 0x85, 0x72, 0xff, 0x95, 0x94, 0x7f, 0xff, 0x3d, 0x3a, 0x2d, 0xff,
+ 0x7f, 0x7d, 0x69, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x21,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x2b, 0xff,
+ 0xd3, 0xd1, 0xbc, 0xff, 0xdc, 0xda, 0xc4, 0xff, 0xe2, 0xe0, 0xcf, 0xff,
+ 0xb9, 0xb7, 0xa2, 0xff, 0x64, 0x62, 0x5b, 0xff, 0x39, 0x38, 0x36, 0xff,
+ 0x3a, 0x3a, 0x31, 0xff, 0x57, 0x56, 0x4a, 0xff, 0x79, 0x78, 0x67, 0xff,
+ 0x3a, 0x39, 0x2d, 0xff, 0x3d, 0x3a, 0x2d, 0xff, 0x78, 0x76, 0x61, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe8, 0xe4, 0xd3, 0xff, 0xf4, 0xf1, 0xe9, 0xff,
+ 0xf2, 0xf1, 0xe4, 0xff, 0xea, 0xe9, 0xda, 0xff, 0xe5, 0xe2, 0xd2, 0xff,
+ 0xc9, 0xc6, 0xb3, 0xff, 0x84, 0x82, 0x70, 0xff, 0x4d, 0x4b, 0x38, 0xff,
+ 0x47, 0x44, 0x32, 0xff, 0x65, 0x5d, 0x41, 0xff, 0xc9, 0xbc, 0x89, 0xff,
+ 0x3d, 0x3a, 0x2d, 0xff, 0x0f, 0x0e, 0x09, 0xff, 0x30, 0x30, 0x30, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x8a, 0x89, 0x75, 0xff,
+ 0xf1, 0xed, 0xd2, 0xff, 0xfb, 0xf8, 0xe9, 0xff, 0xf9, 0xf5, 0xed, 0xff,
+ 0xeb, 0xea, 0xe1, 0xff, 0x9a, 0x99, 0x91, 0xff, 0x53, 0x4d, 0x37, 0xff,
+ 0xb5, 0xa3, 0x68, 0xff, 0xd2, 0xc2, 0x84, 0xff, 0xdf, 0xcc, 0x86, 0xff,
+ 0xed, 0xd6, 0x86, 0xff, 0xd6, 0xc8, 0x96, 0xff, 0x3d, 0x3a, 0x2d, 0xff,
+ 0x30, 0x2c, 0x1d, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82,
+ 0x52, 0x51, 0x46, 0xff, 0x73, 0x71, 0x65, 0xff, 0x9f, 0x9d, 0x91, 0xff,
+ 0xe3, 0xe0, 0xc7, 0xff, 0xb7, 0xb3, 0xa0, 0xff, 0x55, 0x50, 0x3b, 0xff,
+ 0xbd, 0xa6, 0x5c, 0xff, 0xe9, 0xcc, 0x70, 0xff, 0xe7, 0xc6, 0x64, 0xff,
+ 0xe7, 0xc5, 0x63, 0xff, 0xe7, 0xc6, 0x63, 0xff, 0xe7, 0xc9, 0x72, 0xff,
+ 0xbb, 0xae, 0x84, 0xff, 0x3d, 0x3a, 0x2d, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x1b, 0xff, 0x34, 0x34, 0x30, 0xff,
+ 0x4b, 0x49, 0x44, 0xff, 0x64, 0x63, 0x5e, 0xff, 0x49, 0x47, 0x3a, 0xff,
+ 0x76, 0x68, 0x39, 0xff, 0xd7, 0xb6, 0x56, 0xff, 0xd4, 0xa3, 0x2d, 0xff,
+ 0xc7, 0x90, 0x15, 0xff, 0xc8, 0x90, 0x13, 0xff, 0xd0, 0x98, 0x19, 0xff,
+ 0xad, 0x87, 0x2f, 0xff, 0x3d, 0x3a, 0x2d, 0xff, 0x1e, 0x1c, 0x12, 0x39,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x2a, 0x23, 0xff,
+ 0xa0, 0xa0, 0x95, 0xff, 0x4d, 0x4d, 0x40, 0xff, 0x33, 0x33, 0x2d, 0xff,
+ 0x26, 0x24, 0x1b, 0xff, 0x9b, 0x86, 0x44, 0xff, 0xd1, 0xa2, 0x2e, 0xff,
+ 0x88, 0x62, 0x0d, 0xff, 0x57, 0x45, 0x15, 0xff, 0x59, 0x42, 0x0c, 0xff,
+ 0xa7, 0x80, 0x27, 0xff, 0x3d, 0x3a, 0x2d, 0xff, 0x18, 0x16, 0x0d, 0x3e,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2b, 0x2b, 0x24, 0xff, 0xa5, 0xa4, 0x99, 0xff, 0xb7, 0xb6, 0xae, 0xff,
+ 0x6b, 0x6a, 0x61, 0xff, 0x59, 0x58, 0x49, 0xff, 0xa0, 0x86, 0x3d, 0xff,
+ 0x92, 0x6f, 0x1c, 0xff, 0x3d, 0x39, 0x25, 0xff, 0x2d, 0x2d, 0x24, 0xff,
+ 0x2d, 0x2a, 0x20, 0xff, 0x3d, 0x3a, 0x2d, 0xff, 0x20, 0x20, 0x1a, 0xff,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2c, 0x2c, 0x25, 0xff, 0xad, 0xad, 0xa3, 0xff,
+ 0xd9, 0xd9, 0xd2, 0xff, 0x86, 0x86, 0x7b, 0xff, 0x7c, 0x7a, 0x6e, 0xff,
+ 0x87, 0x73, 0x38, 0xff, 0x43, 0x3c, 0x21, 0xff, 0x67, 0x67, 0x5f, 0xff,
+ 0x45, 0x45, 0x39, 0xff, 0x3b, 0x3b, 0x35, 0xff, 0x3f, 0x3f, 0x34, 0xff,
+ 0x29, 0x29, 0x22, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x2c, 0x25, 0xff,
+ 0xad, 0xad, 0xa3, 0xff, 0xda, 0xda, 0xd3, 0xff, 0x8d, 0x8c, 0x7f, 0xff,
+ 0xa3, 0xa2, 0x98, 0xff, 0x55, 0x4d, 0x32, 0xff, 0x35, 0x30, 0x1c, 0xff,
+ 0x5b, 0x5a, 0x4c, 0xff, 0x49, 0x49, 0x3d, 0xff, 0x6d, 0x6d, 0x61, 0xff,
+ 0x4f, 0x4f, 0x41, 0xff, 0x29, 0x29, 0x22, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2b, 0x2b, 0x24, 0xff, 0x7e, 0x7e, 0x75, 0xff, 0xd8, 0xd8, 0xd1, 0xff,
+ 0x8d, 0x8d, 0x80, 0xff, 0xcc, 0xcc, 0xc3, 0xff, 0x64, 0x62, 0x54, 0xff,
+ 0x30, 0x2d, 0x1b, 0xff, 0x69, 0x68, 0x5c, 0xff, 0x4b, 0x4b, 0x3e, 0xff,
+ 0x78, 0x78, 0x6b, 0xff, 0x44, 0x44, 0x38, 0xff, 0x28, 0x28, 0x22, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x27, 0x27, 0x21, 0xff, 0x43, 0x43, 0x3d, 0xff,
+ 0x8e, 0x8e, 0x86, 0xff, 0x5e, 0x5e, 0x55, 0xff, 0xda, 0xda, 0xd0, 0xff,
+ 0xac, 0xab, 0x99, 0xff, 0x5d, 0x5d, 0x52, 0xff, 0x94, 0x94, 0x84, 0xff,
+ 0x4d, 0x4d, 0x40, 0xff, 0x5d, 0x5d, 0x53, 0xff, 0x28, 0x28, 0x22, 0xff,
+ 0x23, 0x23, 0x1d, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x4b,
+ 0x06, 0x06, 0x06, 0xff, 0x06, 0x06, 0x06, 0xff, 0x42, 0x41, 0x3a, 0xff,
+ 0x8f, 0x8f, 0x7b, 0xff, 0x7a, 0x7a, 0x6c, 0xff, 0x44, 0x44, 0x3c, 0xff,
+ 0x6c, 0x6c, 0x5e, 0xff, 0x35, 0x35, 0x2c, 0xff, 0x2e, 0x2e, 0x29, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x3e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x57,
+ 0x06, 0x06, 0x06, 0xff, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0f, 0xff,
+ 0x05, 0x05, 0x05, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x06, 0x06, 0x06, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0xc0,
+ 0x00, 0x02, 0x25, 0x50, 0x00, 0x02, 0x25, 0x5c, 0x67, 0x74, 0x6b, 0x2d,
+ 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0x25, 0x70, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x02, 0x2e, 0x98, 0x00, 0x02, 0x25, 0x78, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x8a,
+ 0x3c, 0x3c, 0x3c, 0xff, 0x89, 0x89, 0x89, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x67, 0x67, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x8a,
+ 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x7b,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x59, 0x58, 0x4c, 0xff,
+ 0xba, 0xb7, 0xa2, 0xff, 0xe5, 0xe4, 0xdc, 0xff, 0xf4, 0xf3, 0xec, 0xff,
+ 0xed, 0xec, 0xe4, 0xff, 0xf8, 0xf7, 0xed, 0xff, 0xf2, 0xf0, 0xe6, 0xff,
+ 0xc1, 0xc0, 0xb3, 0xff, 0x5e, 0x5d, 0x50, 0xff, 0x65, 0x64, 0x56, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x97,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xa6, 0x8f, 0xff,
+ 0xbd, 0xbb, 0xa1, 0xff, 0xc0, 0xbe, 0xa3, 0xff, 0xa3, 0xa1, 0x8a, 0xff,
+ 0x6d, 0x6c, 0x5c, 0xff, 0x7c, 0x7a, 0x6a, 0xff, 0x4c, 0x4b, 0x41, 0xff,
+ 0x45, 0x44, 0x3b, 0xff, 0x44, 0x43, 0x3a, 0xff, 0x6f, 0x6e, 0x5e, 0xff,
+ 0xc9, 0xc7, 0xb8, 0xff, 0xb6, 0xb5, 0x9b, 0xff, 0x6d, 0x6c, 0x5d, 0xff,
+ 0xb3, 0xb1, 0x98, 0xff, 0xa7, 0xa6, 0x8e, 0xff, 0x90, 0x8f, 0x7a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xaa, 0xa8, 0x90, 0xff, 0xd4, 0xd2, 0xba, 0xff,
+ 0xda, 0xd7, 0xc1, 0xff, 0xe0, 0xde, 0xc9, 0xff, 0xae, 0xab, 0x9b, 0xff,
+ 0x94, 0x92, 0x7d, 0xff, 0x45, 0x44, 0x3a, 0xff, 0x23, 0x22, 0x1d, 0xff,
+ 0x35, 0x33, 0x2c, 0xff, 0x29, 0x27, 0x22, 0xff, 0x1e, 0x1e, 0x1a, 0xff,
+ 0x53, 0x52, 0x46, 0xff, 0xad, 0xac, 0x93, 0xff, 0x92, 0x90, 0x7c, 0xff,
+ 0xc3, 0xc2, 0xae, 0xff, 0xb1, 0xaf, 0x96, 0xff, 0xac, 0xaa, 0x92, 0xff,
+ 0x93, 0x92, 0x7d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5b, 0x5b, 0x5b, 0xff, 0xd9, 0xd7, 0xc5, 0xff, 0xd4, 0xd2, 0xba, 0xff,
+ 0xe2, 0xe0, 0xcb, 0xff, 0xec, 0xea, 0xd9, 0xff, 0xd3, 0xd1, 0xc1, 0xff,
+ 0xac, 0xaa, 0xa0, 0xff, 0x90, 0x8e, 0x80, 0xff, 0x7e, 0x7c, 0x6b, 0xff,
+ 0x5c, 0x5b, 0x4e, 0xff, 0x47, 0x45, 0x3b, 0xff, 0x65, 0x64, 0x56, 0xff,
+ 0x77, 0x76, 0x65, 0xff, 0x80, 0x7e, 0x6c, 0xff, 0xbe, 0xbc, 0xa6, 0xff,
+ 0xb5, 0xb3, 0x9a, 0xff, 0xb6, 0xb5, 0x9b, 0xff, 0xb5, 0xb3, 0x9a, 0xff,
+ 0xa1, 0x9f, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe2, 0xe0, 0xd0, 0xff, 0xfc, 0xfb, 0xf1, 0xff,
+ 0xe3, 0xe2, 0xd3, 0xff, 0xe3, 0xe1, 0xd2, 0xff, 0xf1, 0xf0, 0xdf, 0xff,
+ 0xd5, 0xd4, 0xc5, 0xff, 0xd9, 0xd8, 0xca, 0xff, 0xce, 0xcd, 0xbd, 0xff,
+ 0xb7, 0xb5, 0xa0, 0xff, 0xb8, 0xb6, 0x9c, 0xff, 0xb0, 0xaf, 0x96, 0xff,
+ 0xa1, 0x9f, 0x88, 0xff, 0xb9, 0xb8, 0x9d, 0xff, 0xb9, 0xb7, 0x9d, 0xff,
+ 0xb8, 0xb6, 0x9c, 0xff, 0xc7, 0xc5, 0xac, 0xff, 0xaf, 0xad, 0x94, 0xff,
+ 0x8b, 0x89, 0x76, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xaa, 0xa8, 0x90, 0xff, 0xb6, 0xb4, 0xad, 0xff,
+ 0xfb, 0xfa, 0xf3, 0xff, 0xfd, 0xfc, 0xf5, 0xff, 0xfb, 0xfa, 0xf0, 0xff,
+ 0xe9, 0xe8, 0xdc, 0xff, 0xe1, 0xe0, 0xd1, 0xff, 0xe3, 0xe2, 0xd3, 0xff,
+ 0xe0, 0xde, 0xc9, 0xff, 0xde, 0xdb, 0xc6, 0xff, 0xc7, 0xc5, 0xac, 0xff,
+ 0xc0, 0xbe, 0xa3, 0xff, 0xc9, 0xc7, 0xae, 0xff, 0xe2, 0xdf, 0xcb, 0xff,
+ 0xd2, 0xd0, 0xc0, 0xff, 0xbb, 0xb8, 0xa8, 0xff, 0x7c, 0x7a, 0x69, 0xff,
+ 0x71, 0x70, 0x60, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x82, 0xff, 0xaf, 0xad, 0x94, 0xff,
+ 0xbd, 0xbc, 0xb3, 0xff, 0xd8, 0xd7, 0xd0, 0xff, 0xe5, 0xe5, 0xde, 0xff,
+ 0xfb, 0xfb, 0xf4, 0xff, 0xfe, 0xfd, 0xf7, 0xff, 0xfe, 0xfd, 0xf7, 0xff,
+ 0xfe, 0xfd, 0xf6, 0xff, 0xfb, 0xfa, 0xf3, 0xff, 0xf7, 0xf6, 0xed, 0xff,
+ 0xf2, 0xf0, 0xe4, 0xff, 0xe3, 0xe1, 0xd3, 0xff, 0xc0, 0xbf, 0xae, 0xff,
+ 0x95, 0x93, 0x7e, 0xff, 0x78, 0x77, 0x66, 0xff, 0x6e, 0x6d, 0x5d, 0xff,
+ 0x6d, 0x6c, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x76, 0x75, 0x64, 0xff, 0x93, 0x92, 0x7d, 0xff,
+ 0xa3, 0xa1, 0x8a, 0xff, 0xb6, 0xb4, 0x9e, 0xff, 0xc4, 0xc3, 0xb4, 0xff,
+ 0xcf, 0xce, 0xc1, 0xff, 0xd8, 0xd6, 0xca, 0xff, 0xca, 0xc9, 0xc0, 0xff,
+ 0xc7, 0xc6, 0xbb, 0xff, 0xbd, 0xbb, 0xaa, 0xff, 0xba, 0xb7, 0xa3, 0xff,
+ 0x9f, 0x9d, 0x87, 0xff, 0x8e, 0x8c, 0x78, 0xff, 0x8c, 0x8b, 0x77, 0xff,
+ 0x8e, 0x8c, 0x78, 0xff, 0x7a, 0x79, 0x68, 0xff, 0x65, 0x64, 0x56, 0xff,
+ 0x60, 0x5e, 0x51, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x98, 0x96, 0x81, 0xff, 0xbb, 0xb9, 0xae, 0xff, 0xc2, 0xc1, 0xb1, 0xff,
+ 0xd0, 0xcf, 0xbe, 0xff, 0xd1, 0xcf, 0xbf, 0xff, 0xd8, 0xd7, 0xc6, 0xff,
+ 0xc6, 0xc4, 0xb5, 0xff, 0xb1, 0xaf, 0x96, 0xff, 0xb1, 0xaf, 0x96, 0xff,
+ 0xb1, 0xaf, 0x96, 0xff, 0x9a, 0x98, 0x83, 0xff, 0x80, 0x7f, 0x6d, 0xff,
+ 0x73, 0x72, 0x61, 0xff, 0x51, 0x50, 0x45, 0xff, 0x50, 0x50, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x54, 0x54, 0x45, 0xff,
+ 0x3e, 0x3e, 0x3e, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xa5, 0xa3, 0x8f, 0xff, 0xaa, 0xa8, 0x90, 0xff, 0xb3, 0xb1, 0x9e, 0xff,
+ 0xaa, 0xa8, 0x95, 0xff, 0xa3, 0xa1, 0x8a, 0xff, 0x87, 0x86, 0x73, 0xff,
+ 0x8f, 0x8d, 0x79, 0xff, 0x6d, 0x6c, 0x5d, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x3d, 0x3d, 0x32, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x71, 0x71, 0x5d, 0xff,
+ 0x57, 0x56, 0x47, 0xff, 0x5a, 0x5a, 0x4a, 0xff, 0x3f, 0x3f, 0x34, 0xff,
+ 0x47, 0x47, 0x47, 0xff, 0x47, 0x47, 0x47, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x5b, 0x5b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x32, 0x32, 0x29, 0xff,
+ 0x4d, 0x4d, 0x3f, 0xff, 0x37, 0x37, 0x2d, 0xff, 0x3f, 0x3f, 0x34, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7a, 0x7a, 0x65, 0xff,
+ 0x5b, 0x5b, 0x4b, 0xff, 0x85, 0x85, 0x74, 0xff, 0x62, 0x62, 0x51, 0xff,
+ 0x83, 0x83, 0x73, 0xff, 0x75, 0x74, 0x64, 0xff, 0x51, 0x50, 0x42, 0xff,
+ 0x7f, 0x7e, 0x70, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x40, 0x40, 0x35, 0xff,
+ 0x62, 0x62, 0x51, 0xff, 0x54, 0x54, 0x45, 0xff, 0x3e, 0x3e, 0x33, 0xff,
+ 0x55, 0x55, 0x46, 0xff, 0x34, 0x34, 0x2b, 0xff, 0x51, 0x51, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x85, 0x85, 0x6e, 0xff,
+ 0x5d, 0x5c, 0x4c, 0xff, 0x97, 0x96, 0x85, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0x97, 0x97, 0x8a, 0xff, 0x7a, 0x79, 0x6c, 0xff, 0x4e, 0x4d, 0x40, 0xff,
+ 0x8c, 0x8c, 0x7f, 0xff, 0x7c, 0x7b, 0x68, 0xff, 0x42, 0x42, 0x37, 0xff,
+ 0x60, 0x60, 0x4f, 0xff, 0x5a, 0x5a, 0x4a, 0xff, 0x3c, 0x3c, 0x32, 0xff,
+ 0x4e, 0x4e, 0x41, 0xff, 0x35, 0x35, 0x2c, 0xff, 0x54, 0x54, 0x45, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x85, 0x85, 0x6e, 0xff,
+ 0x5b, 0x5b, 0x4b, 0xff, 0xc2, 0xc1, 0xac, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xb5, 0xb4, 0xa5, 0xff, 0xad, 0xad, 0x9f, 0xff, 0x54, 0x53, 0x45, 0xff,
+ 0x97, 0x97, 0x8a, 0xff, 0x96, 0x95, 0x86, 0xff, 0x42, 0x42, 0x37, 0xff,
+ 0x60, 0x60, 0x4f, 0xff, 0x68, 0x68, 0x56, 0xff, 0x41, 0x41, 0x36, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0x85, 0x85, 0x6e, 0xff,
+ 0x5b, 0x5b, 0x4b, 0xff, 0xb7, 0xb7, 0xa1, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xad, 0xad, 0x96, 0xff, 0x54, 0x54, 0x45, 0xff,
+ 0x84, 0x84, 0x6f, 0xff, 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0x85, 0x85, 0x6e, 0xff,
+ 0x5b, 0x5b, 0x4b, 0xff, 0xb8, 0xb7, 0xa1, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc9, 0xc9, 0xb5, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xad, 0xad, 0x96, 0xff, 0x54, 0x54, 0x45, 0xff,
+ 0x84, 0x84, 0x6f, 0xff, 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff, 0x85, 0x85, 0x6e, 0xff,
+ 0x5b, 0x5b, 0x4b, 0xff, 0xad, 0xad, 0x96, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xad, 0xad, 0x96, 0xff, 0x54, 0x54, 0x45, 0xff,
+ 0x84, 0x84, 0x6f, 0xff, 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0xff, 0x7b, 0x7b, 0x65, 0xff,
+ 0x5b, 0x5b, 0x4b, 0xff, 0xb7, 0xb7, 0xa1, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xad, 0xad, 0x96, 0xff, 0x54, 0x54, 0x45, 0xff,
+ 0x84, 0x84, 0x6f, 0xff, 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x43, 0x43, 0x37, 0xff, 0x5f, 0x5f, 0x4f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0x66, 0x66, 0x54, 0xff,
+ 0x5b, 0x5b, 0x4b, 0xff, 0xb7, 0xb7, 0xa1, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xc8, 0xc7, 0xb2, 0xff, 0x6b, 0x6a, 0x58, 0xff,
+ 0xc8, 0xc7, 0xb2, 0xff, 0xad, 0xad, 0x96, 0xff, 0x54, 0x54, 0x45, 0xff,
+ 0x84, 0x84, 0x6f, 0xff, 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff,
+ 0x6a, 0x6a, 0x58, 0xff, 0x49, 0x49, 0x3c, 0xff, 0x57, 0x57, 0x48, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xff,
+ 0x57, 0x56, 0x47, 0xff, 0x7d, 0x7d, 0x68, 0xff, 0x68, 0x68, 0x56, 0xff,
+ 0xab, 0xab, 0x99, 0xff, 0xaf, 0xaf, 0x9d, 0xff, 0x6d, 0x6d, 0x5a, 0xff,
+ 0xcb, 0xcb, 0xb5, 0xff, 0xad, 0xad, 0x96, 0xff, 0x54, 0x54, 0x45, 0xff,
+ 0x84, 0x84, 0x6f, 0xff, 0x69, 0x69, 0x57, 0xff, 0x41, 0x41, 0x35, 0xff,
+ 0x56, 0x56, 0x47, 0xff, 0x44, 0x44, 0x38, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4a, 0x4a, 0x3d, 0xff, 0x58, 0x58, 0x49, 0xff, 0x4e, 0x4e, 0x40, 0xff,
+ 0x74, 0x74, 0x60, 0xff, 0x61, 0x61, 0x50, 0xff, 0x4e, 0x4e, 0x41, 0xff,
+ 0x49, 0x49, 0x3c, 0xff, 0x49, 0x49, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x57,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x76,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x87,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2e, 0xa0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x06, 0x06, 0x11, 0x06, 0x06, 0x06, 0x4b, 0x0e, 0x0e, 0x0e, 0xff,
+ 0x42, 0x42, 0x42, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3e, 0x3e, 0x3e, 0xff,
+ 0x2c, 0x2c, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x3e,
+ 0x06, 0x06, 0x06, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x06, 0x06, 0x3a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x83, 0x71, 0xff, 0xf0, 0xed, 0xd8, 0xff, 0xf2, 0xf1, 0xe9, 0xff,
+ 0xee, 0xed, 0xe4, 0xff, 0xc7, 0xc6, 0xba, 0xff, 0x53, 0x52, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x4b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x06, 0x06, 0x3e, 0x10, 0x10, 0x10, 0xff, 0xc2, 0xc0, 0xa5, 0xff,
+ 0xc1, 0xbf, 0xa5, 0xff, 0x7a, 0x79, 0x67, 0xff, 0x48, 0x47, 0x40, 0xff,
+ 0x27, 0x27, 0x25, 0xff, 0x36, 0x35, 0x2e, 0xff, 0x87, 0x85, 0x72, 0xff,
+ 0xa0, 0x9e, 0x88, 0xff, 0xa3, 0xa1, 0x8a, 0xff, 0xa5, 0xa3, 0x8c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x2b, 0xff, 0xd3, 0xd1, 0xbc, 0xff,
+ 0xdc, 0xda, 0xc4, 0xff, 0xe2, 0xe0, 0xcf, 0xff, 0xb9, 0xb7, 0xa2, 0xff,
+ 0x64, 0x62, 0x5b, 0xff, 0x39, 0x38, 0x36, 0xff, 0x3c, 0x3c, 0x33, 0xff,
+ 0x61, 0x60, 0x53, 0xff, 0x9a, 0x98, 0x83, 0xff, 0xb7, 0xb5, 0x9b, 0xff,
+ 0xb3, 0xb2, 0x98, 0xff, 0xa4, 0xa2, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe8, 0xe4, 0xd3, 0xff, 0xf4, 0xf1, 0xe9, 0xff, 0xf2, 0xf1, 0xe4, 0xff,
+ 0xea, 0xe9, 0xda, 0xff, 0xe5, 0xe2, 0xd2, 0xff, 0xd5, 0xd2, 0xbe, 0xff,
+ 0xc3, 0xc1, 0xa7, 0xff, 0xaf, 0xad, 0x94, 0xff, 0xc0, 0xbe, 0xa4, 0xff,
+ 0xc6, 0xc4, 0xac, 0xff, 0xb8, 0xb6, 0x9c, 0xff, 0x79, 0x77, 0x66, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x8a, 0x89, 0x75, 0xff, 0xf1, 0xed, 0xd2, 0xff,
+ 0xfb, 0xf8, 0xe9, 0xff, 0xf9, 0xf5, 0xed, 0xff, 0xf8, 0xf7, 0xee, 0xff,
+ 0xf8, 0xf7, 0xec, 0xff, 0xf5, 0xf3, 0xe6, 0xff, 0xec, 0xea, 0xd9, 0xff,
+ 0xde, 0xdd, 0xcb, 0xff, 0x9d, 0x9b, 0x89, 0xff, 0x63, 0x62, 0x54, 0xff,
+ 0x58, 0x57, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x52, 0x51, 0x46, 0xff,
+ 0x73, 0x71, 0x65, 0xff, 0x9f, 0x9d, 0x91, 0xff, 0xe4, 0xe1, 0xc8, 0xff,
+ 0xe9, 0xe5, 0xcf, 0xff, 0xe2, 0xe0, 0xcb, 0xff, 0xd1, 0xd1, 0xcb, 0xff,
+ 0x8e, 0x8d, 0x7f, 0xff, 0x76, 0x75, 0x64, 0xff, 0x68, 0x67, 0x58, 0xff,
+ 0x43, 0x42, 0x38, 0xff, 0x29, 0x28, 0x22, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0x1f, 0x1b, 0xff, 0x34, 0x34, 0x30, 0xff, 0x4b, 0x49, 0x44, 0xff,
+ 0x68, 0x67, 0x62, 0xff, 0x70, 0x6f, 0x66, 0xff, 0x6b, 0x6b, 0x64, 0xff,
+ 0x6e, 0x6c, 0x5d, 0xff, 0x58, 0x57, 0x4b, 0xff, 0x39, 0x39, 0x31, 0xff,
+ 0x17, 0x16, 0x15, 0xff, 0x1a, 0x1a, 0x16, 0xff, 0x1f, 0x1e, 0x19, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2a, 0x2a, 0x23, 0xff, 0xa0, 0xa0, 0x95, 0xff,
+ 0x4d, 0x4d, 0x40, 0xff, 0x36, 0x36, 0x30, 0xff, 0x2a, 0x2a, 0x26, 0xff,
+ 0x2f, 0x2f, 0x2a, 0xff, 0x0f, 0x0f, 0x0d, 0xff, 0x0b, 0x0b, 0x09, 0xff,
+ 0x10, 0x10, 0x0d, 0xff, 0x3e, 0x3e, 0x38, 0xff, 0x34, 0x34, 0x2b, 0xff,
+ 0x24, 0x24, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x24, 0xff,
+ 0xa5, 0xa4, 0x99, 0xff, 0xb7, 0xb6, 0xae, 0xff, 0x71, 0x70, 0x67, 0xff,
+ 0xa1, 0xa1, 0x92, 0xff, 0x74, 0x73, 0x63, 0xff, 0x40, 0x40, 0x35, 0xff,
+ 0x69, 0x69, 0x5b, 0xff, 0x39, 0x39, 0x2f, 0xff, 0x69, 0x69, 0x5f, 0xff,
+ 0x3f, 0x3f, 0x34, 0xff, 0x26, 0x26, 0x20, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2c, 0x2c, 0x25, 0xff, 0xad, 0xad, 0xa3, 0xff, 0xd9, 0xd9, 0xd2, 0xff,
+ 0x8b, 0x8b, 0x7f, 0xff, 0xd6, 0xd5, 0xce, 0xff, 0x88, 0x88, 0x7b, 0xff,
+ 0x58, 0x57, 0x4f, 0xff, 0x93, 0x93, 0x87, 0xff, 0x4a, 0x4a, 0x3d, 0xff,
+ 0x78, 0x78, 0x6b, 0xff, 0x50, 0x50, 0x42, 0xff, 0x29, 0x29, 0x22, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2c, 0x2c, 0x25, 0xff, 0xad, 0xad, 0xa3, 0xff,
+ 0xda, 0xda, 0xd3, 0xff, 0x8f, 0x8e, 0x81, 0xff, 0xdd, 0xdd, 0xd4, 0xff,
+ 0xac, 0xab, 0x99, 0xff, 0x5d, 0x5d, 0x52, 0xff, 0xa0, 0xa0, 0x93, 0xff,
+ 0x4d, 0x4d, 0x40, 0xff, 0x79, 0x79, 0x6c, 0xff, 0x50, 0x50, 0x42, 0xff,
+ 0x29, 0x29, 0x22, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x24, 0xff,
+ 0x7e, 0x7e, 0x75, 0xff, 0xd8, 0xd8, 0xd1, 0xff, 0x8d, 0x8d, 0x80, 0xff,
+ 0xdd, 0xdd, 0xd3, 0xff, 0xac, 0xab, 0x99, 0xff, 0x5d, 0x5d, 0x52, 0xff,
+ 0xa0, 0xa0, 0x93, 0xff, 0x4d, 0x4d, 0x40, 0xff, 0x78, 0x78, 0x6b, 0xff,
+ 0x44, 0x44, 0x38, 0xff, 0x28, 0x28, 0x22, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x27, 0x27, 0x21, 0xff, 0x43, 0x43, 0x3d, 0xff, 0x8e, 0x8e, 0x86, 0xff,
+ 0x5e, 0x5e, 0x55, 0xff, 0xda, 0xda, 0xd0, 0xff, 0xac, 0xab, 0x99, 0xff,
+ 0x5d, 0x5d, 0x52, 0xff, 0x94, 0x94, 0x84, 0xff, 0x4d, 0x4d, 0x40, 0xff,
+ 0x5d, 0x5d, 0x53, 0xff, 0x28, 0x28, 0x22, 0xff, 0x23, 0x23, 0x1d, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x4b, 0x06, 0x06, 0x06, 0xff,
+ 0x06, 0x06, 0x06, 0xff, 0x42, 0x41, 0x3a, 0xff, 0x8f, 0x8f, 0x7b, 0xff,
+ 0x7a, 0x7a, 0x6c, 0xff, 0x44, 0x44, 0x3c, 0xff, 0x6c, 0x6c, 0x5e, 0xff,
+ 0x35, 0x35, 0x2c, 0xff, 0x2e, 0x2e, 0x29, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x06, 0x06, 0x06, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x57, 0x06, 0x06, 0x06, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0f, 0xff, 0x05, 0x05, 0x05, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x4b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0x32, 0xcc,
+ 0x00, 0x02, 0x32, 0xd8, 0x67, 0x74, 0x6b, 0x2d, 0x66, 0x69, 0x6e, 0x64,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x02, 0x32, 0xec, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x3c, 0x14,
+ 0x00, 0x02, 0x32, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0x58, 0x58, 0x58, 0xff, 0x00, 0x00, 0x00, 0xc1,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc7, 0xc7, 0xc7, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x9b, 0x9b, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xaf, 0xaf, 0xae, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0x47, 0x47, 0x3f, 0xff, 0x0a, 0x0a, 0x09, 0xff, 0x0a, 0x0a, 0x09, 0xff,
+ 0x4b, 0x4b, 0x43, 0xff, 0xb4, 0xb4, 0xb3, 0xff, 0xf7, 0xf6, 0xf5, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xa9, 0xa9, 0xa8, 0xff, 0x34, 0x34, 0x2e, 0xff,
+ 0x9d, 0x9d, 0x8d, 0xff, 0xcf, 0xcf, 0xb9, 0xff, 0xc4, 0xc4, 0xaf, 0xff,
+ 0x8d, 0x8d, 0x7f, 0xff, 0x35, 0x35, 0x30, 0xff, 0xac, 0xac, 0xaa, 0xff,
+ 0xf1, 0xf0, 0xef, 0xff, 0xde, 0xdd, 0xdc, 0xff, 0xd3, 0xd2, 0xd0, 0xff,
+ 0xb7, 0xb7, 0xb5, 0xff, 0x9f, 0x9e, 0x9d, 0xff, 0x70, 0x6f, 0x6f, 0xff,
+ 0x65, 0x62, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0x46, 0x46, 0x3f, 0xff, 0x9c, 0x9c, 0x8c, 0xff,
+ 0xe2, 0xe2, 0xd0, 0xff, 0xed, 0xed, 0xe7, 0xff, 0xc0, 0xc0, 0xac, 0xff,
+ 0xb2, 0xb2, 0x9f, 0xff, 0x82, 0x82, 0x74, 0xff, 0x4c, 0x4c, 0x44, 0xff,
+ 0xe4, 0xe4, 0xe2, 0xff, 0xe1, 0xe1, 0xdf, 0xff, 0xda, 0xd9, 0xd7, 0xff,
+ 0xd8, 0xd8, 0xd6, 0xff, 0xcd, 0xcc, 0xca, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0x88, 0x84, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf7, 0xf6, 0xf5, 0xff, 0x09, 0x09, 0x08, 0xff, 0xd5, 0xd5, 0xbf, 0xff,
+ 0xfb, 0xfb, 0xfa, 0xff, 0xc3, 0xc3, 0xae, 0xff, 0xb5, 0xb5, 0xa2, 0xff,
+ 0xa6, 0xa6, 0x95, 0xff, 0x9c, 0x9c, 0x8f, 0xff, 0x08, 0x08, 0x07, 0xff,
+ 0xcf, 0xcf, 0xcd, 0xff, 0xe3, 0xe2, 0xe0, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xd5, 0xd4, 0xd3, 0xff, 0xc4, 0xc3, 0xc2, 0xff,
+ 0x8f, 0x8a, 0x81, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf4, 0xff,
+ 0xf3, 0xf3, 0xf1, 0xff, 0x09, 0x09, 0x09, 0xff, 0xca, 0xca, 0xb5, 0xff,
+ 0xdd, 0xdd, 0xd0, 0xff, 0xb7, 0xb7, 0xa4, 0xff, 0xaa, 0xaa, 0x98, 0xff,
+ 0x9b, 0x9b, 0x8b, 0xff, 0xae, 0xae, 0xa3, 0xff, 0x0a, 0x0a, 0x09, 0xff,
+ 0xbb, 0xba, 0xb9, 0xff, 0xda, 0xd9, 0xd7, 0xff, 0xe8, 0xe7, 0xe5, 0xff,
+ 0xe5, 0xe4, 0xe2, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0x8d, 0x88, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf0, 0xef, 0xee, 0xff, 0x47, 0x47, 0x40, 0xff, 0x92, 0x92, 0x83, 0xff,
+ 0xba, 0xba, 0xa7, 0xff, 0xad, 0xad, 0x9b, 0xff, 0x9f, 0x9f, 0x8e, 0xff,
+ 0xac, 0xac, 0xa1, 0xff, 0xcf, 0xcf, 0xcb, 0xff, 0x4c, 0x4c, 0x45, 0xff,
+ 0xb3, 0xb2, 0xb1, 0xff, 0xd3, 0xd2, 0xd0, 0xff, 0xe2, 0xe1, 0xde, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xe2, 0xe1, 0xde, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0x97, 0x92, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf0, 0xef, 0xee, 0xff, 0x94, 0x94, 0x93, 0xff, 0x34, 0x34, 0x2f, 0xff,
+ 0x87, 0x87, 0x79, 0xff, 0xa0, 0xa0, 0x90, 0xff, 0xae, 0xae, 0xa2, 0xff,
+ 0xc3, 0xc3, 0xbe, 0xff, 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0xb1, 0xb0, 0xaf, 0xff, 0xd2, 0xd1, 0xcf, 0xff, 0xe2, 0xe1, 0xde, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xe2, 0xe1, 0xde, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xed, 0xed, 0xeb, 0xff, 0xdd, 0xdd, 0xdb, 0xff, 0x89, 0x89, 0x88, 0xff,
+ 0x4b, 0x4b, 0x43, 0xff, 0x0a, 0x0a, 0x09, 0xff, 0x0a, 0x0a, 0x09, 0xff,
+ 0x41, 0x41, 0x41, 0xff, 0x73, 0x72, 0x71, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0xa4, 0xa3, 0xa1, 0xff, 0xdf, 0xde, 0xdb, 0xff,
+ 0xe2, 0xe0, 0xdd, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xeb, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xe1, 0xe0, 0xde, 0xff, 0xcb, 0xca, 0xc9, 0xff,
+ 0xb2, 0xb1, 0xb0, 0xff, 0xa3, 0xa2, 0xa1, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0x9e, 0x9d, 0x9c, 0xff, 0x9f, 0x9f, 0x9d, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff, 0xab, 0xaa, 0xa7, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xe6, 0xe5, 0xe3, 0xff, 0xda, 0xd9, 0xd7, 0xff,
+ 0xc8, 0xc7, 0xc4, 0xff, 0xb6, 0xb6, 0xb3, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0xb0, 0xaf, 0xad, 0xff, 0xb3, 0xb2, 0xb0, 0xff, 0x74, 0x73, 0x71, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x9d, 0x9c, 0x99, 0xff, 0xda, 0xd9, 0xd5, 0xff, 0xdc, 0xdb, 0xd7, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe3, 0xe2, 0xdf, 0xff,
+ 0xdb, 0xda, 0xd7, 0xff, 0xd4, 0xd3, 0xd0, 0xff, 0xd0, 0xcf, 0xcb, 0xff,
+ 0xd1, 0xcf, 0xcc, 0xff, 0xd1, 0xd0, 0xcc, 0xff, 0xc9, 0xc8, 0xc4, 0xff,
+ 0x6b, 0x6b, 0x69, 0xff, 0x01, 0x01, 0x01, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0xce, 0xcd, 0xc9, 0xff, 0xd6, 0xd4, 0xd0, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xe3, 0xe2, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xe4, 0xe2, 0xdf, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xd5, 0xd4, 0xd0, 0xff,
+ 0xc0, 0xbf, 0xbc, 0xff, 0x7b, 0x7a, 0x78, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0xbc, 0xba, 0xb6, 0xff, 0xce, 0xcc, 0xc8, 0xff,
+ 0x9d, 0x97, 0x8c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff, 0xe1, 0xe0, 0xdd, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xdb, 0xda, 0xd6, 0xff,
+ 0xd1, 0xd0, 0xcc, 0xff, 0xbb, 0xb9, 0xb6, 0xff, 0xa6, 0xa4, 0xa1, 0xff,
+ 0x9e, 0x9c, 0x99, 0xff, 0xac, 0xab, 0xa7, 0xff, 0xc7, 0xc5, 0xc2, 0xff,
+ 0x9b, 0x95, 0x89, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xe1, 0xdf, 0xdb, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdc, 0xd8, 0xff,
+ 0xda, 0xd8, 0xd4, 0xff, 0xce, 0xcc, 0xc8, 0xff, 0xbd, 0xbc, 0xb8, 0xff,
+ 0xac, 0xab, 0xa8, 0xff, 0xb2, 0xb1, 0xad, 0xff, 0xc6, 0xc4, 0xc0, 0xff,
+ 0x99, 0x93, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x91, 0xff, 0xa3, 0x9e, 0x92, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0xa3, 0x9d, 0x92, 0xff, 0xa3, 0x9d, 0x91, 0xff,
+ 0xa3, 0x9d, 0x92, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9b, 0x8f, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x9d, 0x97, 0x8b, 0xff, 0x98, 0x92, 0x86, 0xff,
+ 0x91, 0x8c, 0x82, 0xff, 0x93, 0x8d, 0x83, 0xff, 0x97, 0x92, 0x86, 0xff,
+ 0x66, 0x62, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3c, 0x1c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x40, 0x40, 0x40, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff,
+ 0x16, 0x16, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x88, 0x88, 0x88, 0xff,
+ 0x6c, 0x6c, 0x6c, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x6c, 0x6c, 0x6c, 0xff, 0x88, 0x88, 0x88, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xca, 0xca, 0xca, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xec, 0xec, 0xec, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xed, 0xed, 0xed, 0xff, 0x83, 0x83, 0x83, 0xff,
+ 0x66, 0x66, 0x66, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x6b, 0x6b, 0x6b, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x84, 0x84, 0x84, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x5b, 0x5b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa9, 0xa9, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xb2, 0xb2, 0xb2, 0xff,
+ 0xa5, 0xa5, 0xa5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x4d, 0xb8, 0x00, 0x02, 0x40, 0x48, 0x00, 0x02, 0x40, 0x54,
+ 0x67, 0x74, 0x6b, 0x2d, 0x70, 0x61, 0x73, 0x74, 0x65, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0x40, 0x68,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x49, 0x90, 0x00, 0x02, 0x40, 0x70,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00, 0xe6,
+ 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x75, 0x75, 0x75, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xf5, 0xf5, 0xe8, 0xff,
+ 0xf5, 0xf5, 0xe8, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xf5, 0xf5, 0xe8, 0xff,
+ 0x56, 0x56, 0x51, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0xa0, 0xa0, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x7c, 0x7c, 0x7c, 0xff, 0x56, 0x56, 0x51, 0xff,
+ 0xc5, 0xc5, 0xbb, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xf5, 0xf5, 0xe8, 0xff,
+ 0xf5, 0xf5, 0xe8, 0xff, 0xcf, 0xc6, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff, 0xad, 0xa6, 0x89, 0xff,
+ 0x4b, 0x48, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0x6d, 0x6d, 0xff,
+ 0x6c, 0x6c, 0x6c, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x3d, 0x3a, 0x30, 0xff,
+ 0x97, 0x91, 0x78, 0xff, 0xc1, 0xb8, 0x98, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x8a, 0x79, 0x3d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xc3, 0xbb, 0x9a, 0xff,
+ 0xc3, 0xbb, 0x9a, 0xff, 0xaf, 0xa7, 0x8a, 0xff, 0x44, 0x42, 0x36, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xef, 0xef, 0xef, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0x7b, 0x7b, 0x7b, 0xff,
+ 0x30, 0x2e, 0x26, 0xff, 0x89, 0x84, 0x6c, 0xff, 0xaf, 0xa7, 0x8a, 0xff,
+ 0xc4, 0xbc, 0x9a, 0xff, 0x84, 0x72, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x4b, 0x48, 0x3c, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0xa7, 0xa7, 0xa7, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0x9a, 0x9a, 0x9a, 0xff, 0x9b, 0x9b, 0x9b, 0xff, 0x86, 0x86, 0x86, 0xff,
+ 0x42, 0x42, 0x42, 0xff, 0x4b, 0x48, 0x3c, 0xff, 0xad, 0xa6, 0x89, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x84, 0x70, 0x33, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xc9, 0xc0, 0x9e, 0xff,
+ 0xc3, 0xbb, 0x9a, 0xff, 0x89, 0x84, 0x6c, 0xff, 0x46, 0x43, 0x37, 0xff,
+ 0x35, 0x33, 0x2a, 0xff, 0x2d, 0x2b, 0x23, 0xff, 0x2d, 0x2b, 0x23, 0xff,
+ 0x2d, 0x2b, 0x23, 0xff, 0x2d, 0x2b, 0x23, 0xff, 0x2d, 0x2b, 0x23, 0xff,
+ 0x30, 0x2e, 0x26, 0xff, 0x89, 0x84, 0x6c, 0xff, 0xaf, 0xa7, 0x8a, 0xff,
+ 0xc6, 0xbe, 0x9d, 0xff, 0x82, 0x6f, 0x33, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff, 0x97, 0x91, 0x78, 0xff,
+ 0x97, 0x91, 0x78, 0xff, 0x97, 0x91, 0x78, 0xff, 0x97, 0x91, 0x78, 0xff,
+ 0x97, 0x91, 0x78, 0xff, 0x97, 0x91, 0x78, 0xff, 0x97, 0x91, 0x78, 0xff,
+ 0x97, 0x91, 0x78, 0xff, 0xc1, 0xb8, 0x98, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x82, 0x6f, 0x33, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xc9, 0xc0, 0x9e, 0xff,
+ 0xc3, 0xbb, 0x9a, 0xff, 0xc3, 0xbb, 0x9a, 0xff, 0xc3, 0xbb, 0x9a, 0xff,
+ 0xc3, 0xbb, 0x9a, 0xff, 0x7f, 0x79, 0x64, 0xff, 0x4c, 0x49, 0x3c, 0xff,
+ 0x17, 0x16, 0x12, 0xff, 0x13, 0x12, 0x0f, 0xff, 0x13, 0x12, 0x0f, 0xff,
+ 0x13, 0x12, 0x0f, 0xff, 0x13, 0x12, 0x0f, 0xff, 0x3d, 0x3a, 0x30, 0xff,
+ 0x3e, 0x3b, 0x31, 0xff, 0x28, 0x22, 0x10, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x47, 0x44, 0x38, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xb7, 0xae, 0x90, 0xff,
+ 0xb1, 0xaa, 0x8c, 0xff, 0xb1, 0xaa, 0x8c, 0xff, 0xb1, 0xaa, 0x8c, 0xff,
+ 0xb1, 0xaa, 0x8c, 0xff, 0x37, 0x35, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x15, 0x14, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xb9, 0xb2, 0x93, 0xff,
+ 0xb1, 0xaa, 0x8c, 0xff, 0xb1, 0xaa, 0x8c, 0xff, 0xb1, 0xaa, 0x8c, 0xff,
+ 0xb1, 0xaa, 0x8c, 0xff, 0x11, 0x10, 0x0d, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x43, 0x40, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x6d, 0x6d, 0x6d, 0xff, 0x63, 0x63, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xaa, 0xa4, 0x8b, 0xff,
+ 0xa5, 0xa0, 0x86, 0xff, 0xa1, 0x9a, 0x7f, 0xff, 0xa1, 0x9a, 0x7f, 0xff,
+ 0xa1, 0x9a, 0x7f, 0xff, 0x31, 0x2f, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x43, 0x40, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xaf, 0xa8, 0x8c, 0xff,
+ 0xa5, 0xa0, 0x86, 0xff, 0xa1, 0x9a, 0x7f, 0xff, 0xa1, 0x9a, 0x7f, 0xff,
+ 0xa1, 0x9a, 0x7f, 0xff, 0x05, 0x04, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x12, 0x11, 0x0e, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x6d, 0x6d, 0x6d, 0xff, 0x63, 0x63, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xe8, 0xff, 0xa9, 0xa4, 0x89, 0xff,
+ 0xa3, 0x9e, 0x85, 0xff, 0xa1, 0x9a, 0x7f, 0xff, 0xa1, 0x9a, 0x7f, 0xff,
+ 0xa1, 0x9a, 0x7f, 0xff, 0x31, 0x2f, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xeb, 0xe7, 0xd0, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff, 0xd7, 0xce, 0xaa, 0xff,
+ 0xd7, 0xce, 0xaa, 0xff, 0x43, 0x40, 0x35, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xc6, 0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xd2, 0xc9, 0xa5, 0xff, 0xa2, 0x90, 0x53, 0xff,
+ 0x8e, 0x7c, 0x3d, 0xff, 0x88, 0x79, 0x3b, 0xff, 0x80, 0x6c, 0x2f, 0xff,
+ 0x78, 0x65, 0x2b, 0xff, 0x25, 0x1f, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xc2,
+ 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0xec,
+ 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xdd,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xdd,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x02, 0x49, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x8e, 0x8e, 0x8e, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0x69, 0x69, 0x69, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x57,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf0, 0xe1, 0xff, 0xec, 0xe9, 0xd5, 0xff,
+ 0xed, 0xeb, 0xd8, 0xff, 0x2e, 0x2d, 0x29, 0xff, 0x7e, 0x7d, 0x76, 0xff,
+ 0x5d, 0x5c, 0x58, 0xff, 0x53, 0x53, 0x4f, 0xff, 0x21, 0x21, 0x1e, 0xff,
+ 0x79, 0x77, 0x6c, 0xff, 0x97, 0x94, 0x87, 0xff, 0x8c, 0x86, 0x6c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xeb, 0xe7, 0xd3, 0xff,
+ 0xc1, 0xb4, 0x85, 0xff, 0x34, 0x31, 0x24, 0xff, 0xab, 0xa8, 0x9e, 0xff,
+ 0xef, 0xec, 0xe0, 0xff, 0xef, 0xec, 0xe0, 0xff, 0xae, 0xab, 0xa3, 0xff,
+ 0x6c, 0x6a, 0x66, 0xff, 0x26, 0x24, 0x1a, 0xff, 0x8f, 0x86, 0x63, 0xff,
+ 0x7a, 0x72, 0x51, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xec, 0xe9, 0xd5, 0xff, 0xc1, 0xb4, 0x85, 0xff, 0x98, 0x8e, 0x69, 0xff,
+ 0x35, 0x32, 0x25, 0xff, 0x26, 0x23, 0x1a, 0xff, 0x30, 0x2d, 0x21, 0xff,
+ 0x26, 0x23, 0x1a, 0xff, 0x33, 0x30, 0x23, 0xff, 0x6e, 0x67, 0x4c, 0xff,
+ 0xa6, 0x9b, 0x72, 0xff, 0x7a, 0x70, 0x51, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xeb, 0xe8, 0xd4, 0xff, 0xc1, 0xb4, 0x85, 0xff,
+ 0xc1, 0xb4, 0x85, 0xff, 0xd8, 0xd0, 0xb3, 0xff, 0x58, 0x52, 0x3d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0xff, 0xe9, 0xe6, 0xd2, 0xff,
+ 0xc1, 0xb4, 0x85, 0xff, 0x98, 0x8e, 0x69, 0xff, 0xc1, 0xb4, 0x85, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe9, 0xe6, 0xd2, 0xff, 0xc1, 0xb4, 0x85, 0xff, 0xc1, 0xb4, 0x85, 0xff,
+ 0xd8, 0xd0, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe9, 0xe6, 0xd1, 0xff, 0xc1, 0xb4, 0x85, 0xff,
+ 0x98, 0x8e, 0x69, 0xff, 0xc1, 0xb4, 0x85, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe9, 0xe6, 0xd0, 0xff,
+ 0xc1, 0xb4, 0x85, 0xff, 0xc1, 0xb4, 0x85, 0xff, 0xd8, 0xd0, 0xb3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe8, 0xe5, 0xd0, 0xff, 0xc1, 0xb4, 0x85, 0xff, 0xa3, 0x98, 0x70, 0xff,
+ 0xc1, 0xb4, 0x85, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe8, 0xe5, 0xd0, 0xff, 0xc1, 0xb4, 0x85, 0xff,
+ 0xc1, 0xb4, 0x85, 0xff, 0xd8, 0xd0, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xed, 0xea, 0xd7, 0xff,
+ 0xc1, 0xb4, 0x85, 0xff, 0xa3, 0x98, 0x70, 0xff, 0xc1, 0xb4, 0x85, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe9, 0xe5, 0xce, 0xff, 0xc1, 0xb4, 0x85, 0xff, 0xc1, 0xb4, 0x85, 0xff,
+ 0xc1, 0xb4, 0x85, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x89, 0x82, 0x67, 0xff, 0x74, 0x6a, 0x45, 0xff,
+ 0x6b, 0x62, 0x3d, 0xff, 0x65, 0x5a, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x57, 0x00, 0x02, 0x5b, 0x3c,
+ 0x00, 0x02, 0x4d, 0xc4, 0x00, 0x02, 0x4d, 0xd8, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x6c,
+ 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x02, 0x4d, 0xec, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x57, 0x14,
+ 0x00, 0x02, 0x4d, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x7b, 0x7b, 0x7a, 0xff,
+ 0x6c, 0x6b, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7e, 0x7d, 0xff,
+ 0x99, 0x99, 0x96, 0xff, 0x7d, 0x7c, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x82, 0x81, 0x80, 0xff,
+ 0x9d, 0x9c, 0x9a, 0xff, 0xb0, 0xaf, 0xac, 0xff, 0x90, 0x8f, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x86, 0x85, 0x83, 0xff,
+ 0xa1, 0xa0, 0x9e, 0xff, 0xb4, 0xb3, 0xb1, 0xff, 0xb6, 0xb4, 0xb2, 0xff,
+ 0xa5, 0xa4, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x89, 0x88, 0x86, 0xff,
+ 0xa5, 0xa4, 0xa1, 0xff, 0xb9, 0xb7, 0xb4, 0xff, 0xba, 0xb9, 0xb6, 0xff,
+ 0xbc, 0xba, 0xb7, 0xff, 0xc3, 0xc2, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x8c, 0x8b, 0x89, 0xff,
+ 0xa9, 0xa8, 0xa5, 0xff, 0xbd, 0xbc, 0xb9, 0xff, 0xc5, 0xc3, 0xc0, 0xff,
+ 0xd0, 0xce, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x8f, 0x8e, 0x8c, 0xff,
+ 0xb5, 0xb3, 0xb1, 0xff, 0xc7, 0xc6, 0xc3, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0xb9, 0xb6, 0xb4, 0xff, 0xd8, 0xd7, 0xd5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0xa1, 0x9f, 0x9d, 0xff,
+ 0xc7, 0xc6, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa6, 0xa3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x57, 0x1c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x7b, 0x7b, 0x7a, 0xff, 0x6c, 0x6b, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7e, 0x7d, 0xff, 0x99, 0x99, 0x96, 0xff,
+ 0x7d, 0x7c, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x82, 0x81, 0x80, 0xff,
+ 0x9d, 0x9c, 0x9a, 0xff, 0xb0, 0xaf, 0xac, 0xff, 0x90, 0x8f, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x8c, 0x8b, 0x89, 0xff, 0xa9, 0xa8, 0xa5, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc5, 0xc3, 0xc0, 0xff, 0xd0, 0xce, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x8f, 0x8e, 0x8c, 0xff, 0xb5, 0xb3, 0xb1, 0xff,
+ 0xc7, 0xc6, 0xc3, 0xff, 0xd2, 0xd1, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0xb9, 0xb6, 0xb4, 0xff, 0xd8, 0xd7, 0xd5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0xa1, 0x9f, 0x9d, 0xff, 0xc7, 0xc6, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa6, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x68, 0xbc, 0x00, 0x02, 0x5b, 0x48, 0x00, 0x02, 0x5b, 0x58,
+ 0x67, 0x74, 0x6b, 0x2d, 0x68, 0x61, 0x72, 0x64, 0x64, 0x69, 0x73, 0x6b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x02, 0x5b, 0x6c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x64, 0x94,
+ 0x00, 0x02, 0x5b, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0x9c, 0x95, 0x40,
+ 0x94, 0x92, 0x8a, 0x80, 0x94, 0x92, 0x8a, 0x80, 0x94, 0x92, 0x8a, 0x80,
+ 0x94, 0x92, 0x8a, 0x80, 0x93, 0x91, 0x89, 0x80, 0x92, 0x90, 0x88, 0x82,
+ 0x6c, 0x69, 0x61, 0x83, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0d, 0x0d, 0x85, 0x6e, 0x6d, 0x6b, 0xff,
+ 0x6c, 0x69, 0x62, 0xff, 0x68, 0x65, 0x5e, 0xff, 0x68, 0x65, 0x5e, 0xff,
+ 0x67, 0x65, 0x5e, 0xff, 0x6b, 0x68, 0x61, 0xff, 0x6b, 0x68, 0x61, 0xff,
+ 0x48, 0x46, 0x3f, 0xff, 0x28, 0x28, 0x28, 0xff, 0x30, 0x30, 0x30, 0xff,
+ 0x34, 0x34, 0x34, 0xff, 0x34, 0x34, 0x34, 0xff, 0x32, 0x32, 0x32, 0xff,
+ 0x2f, 0x2f, 0x2f, 0xff, 0x24, 0x24, 0x24, 0xdd, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x28, 0x28, 0x28, 0xff, 0xb0, 0xc5, 0xab, 0xff,
+ 0x91, 0xab, 0x8a, 0xff, 0x92, 0xa9, 0x8b, 0xff, 0x88, 0xa3, 0x82, 0xff,
+ 0x7f, 0x99, 0x79, 0xff, 0x7d, 0x98, 0x78, 0xff, 0x7c, 0x95, 0x77, 0xff,
+ 0x78, 0x8f, 0x72, 0xff, 0x62, 0x75, 0x5c, 0xff, 0x56, 0x59, 0x56, 0xff,
+ 0x6c, 0x6c, 0x6c, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x7c, 0x7c, 0x7c, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x59, 0x59, 0x59, 0xff, 0x00, 0x00, 0x00, 0x9b,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x2d, 0x2d, 0x2d, 0xff, 0xb8, 0xcc, 0xb2, 0xff,
+ 0x8c, 0x7f, 0x70, 0xff, 0xb6, 0xc8, 0xb0, 0xff, 0xbb, 0xb8, 0xb2, 0xff,
+ 0x40, 0x4d, 0x3e, 0xff, 0x84, 0x66, 0x37, 0xff, 0x46, 0x59, 0x43, 0xff,
+ 0x68, 0x83, 0x63, 0xff, 0x5b, 0x5f, 0x5a, 0xff, 0x58, 0x58, 0x58, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0xb0, 0xaf, 0xac, 0xff, 0x9a, 0x99, 0x98, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0x45, 0x45, 0x45, 0xff, 0x00, 0x00, 0x00, 0xb4,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x30, 0x30, 0x30, 0xff, 0xa9, 0xbf, 0xa4, 0xff,
+ 0x61, 0x70, 0x5d, 0xff, 0x9c, 0xb1, 0x97, 0xff, 0x63, 0x67, 0x5c, 0xff,
+ 0x4c, 0x61, 0x47, 0xff, 0x5e, 0x78, 0x59, 0xff, 0x59, 0x70, 0x54, 0xff,
+ 0x3d, 0x44, 0x3c, 0xff, 0x46, 0x46, 0x46, 0xff, 0x86, 0x85, 0x85, 0xff,
+ 0xc7, 0xc3, 0xb7, 0xff, 0xce, 0xc7, 0xae, 0xff, 0x4c, 0x49, 0x3f, 0xff,
+ 0x21, 0x21, 0x21, 0xff, 0x2d, 0x2d, 0x2d, 0xff, 0x00, 0x00, 0x00, 0xbe,
+ 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x30, 0x30, 0x30, 0xff, 0x7d, 0x92, 0x77, 0xff,
+ 0x68, 0x83, 0x62, 0xff, 0x61, 0x7b, 0x5d, 0xff, 0x48, 0x55, 0x46, 0xff,
+ 0x44, 0x49, 0x43, 0xff, 0x4e, 0x4e, 0x4e, 0xff, 0x55, 0x55, 0x55, 0xff,
+ 0x5f, 0x5f, 0x5f, 0xff, 0x6f, 0x6e, 0x6c, 0xff, 0xcd, 0xc9, 0xbb, 0xff,
+ 0xd0, 0xc4, 0x9a, 0xff, 0x93, 0x88, 0x61, 0xff, 0x47, 0x45, 0x3d, 0xff,
+ 0x2c, 0x2c, 0x2c, 0xff, 0x3f, 0x3f, 0x3f, 0xff, 0x00, 0x00, 0x00, 0xbd,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x09, 0x30, 0x30, 0x30, 0xff, 0x83, 0x83, 0x83, 0xff,
+ 0x4f, 0x4f, 0x4f, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x4c, 0x4c, 0x4c, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0xc9, 0xc9, 0xc8, 0xff, 0xc6, 0xc6, 0xc4, 0xff,
+ 0xc9, 0xc7, 0xc2, 0xff, 0xe1, 0xdc, 0xcc, 0xff, 0xb1, 0xa6, 0x80, 0xff,
+ 0x6a, 0x64, 0x4d, 0xff, 0x3b, 0x3a, 0x38, 0xff, 0x37, 0x37, 0x37, 0xff,
+ 0x58, 0x58, 0x58, 0xff, 0x60, 0x60, 0x60, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x0c, 0x32, 0x32, 0x32, 0xff, 0x7b, 0x7b, 0x7b, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x81, 0x81, 0x81, 0xff, 0xd2, 0xd1, 0xd2, 0xff,
+ 0xb3, 0xb1, 0xb2, 0xff, 0x9d, 0x9c, 0x9c, 0xff, 0xa5, 0xa3, 0x9a, 0xff,
+ 0xca, 0xc3, 0xaa, 0xff, 0x86, 0x7e, 0x60, 0xff, 0x5a, 0x58, 0x53, 0xff,
+ 0x57, 0x57, 0x57, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x43, 0x43, 0x43, 0xff,
+ 0x53, 0x53, 0x53, 0xff, 0x67, 0x67, 0x67, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x0a, 0x37, 0x37, 0x37, 0xff, 0x67, 0x67, 0x67, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0xe0, 0xdf, 0xe0, 0xff, 0xcc, 0xc8, 0xcb, 0xff,
+ 0xac, 0xa9, 0xab, 0xff, 0xa1, 0x9d, 0x91, 0xff, 0xb7, 0xa6, 0x68, 0xff,
+ 0x5b, 0x57, 0x4b, 0xff, 0x62, 0x63, 0x62, 0xff, 0x98, 0x97, 0x97, 0xff,
+ 0xc6, 0xc6, 0xc7, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0x7e, 0x7e, 0x7e, 0xff,
+ 0x7c, 0x7c, 0x7c, 0xff, 0x95, 0x95, 0x95, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x3e, 0x3e, 0x3e, 0xff, 0x7c, 0x7c, 0x7c, 0xff,
+ 0xc3, 0xc2, 0xc2, 0xff, 0xb5, 0xb3, 0xb5, 0xff, 0xd0, 0xcb, 0xce, 0xff,
+ 0xc3, 0xc0, 0xc2, 0xff, 0xa8, 0xa2, 0x93, 0xff, 0x8d, 0x8c, 0x87, 0xff,
+ 0x92, 0x92, 0x91, 0xff, 0xd6, 0xd6, 0xd5, 0xff, 0xf3, 0xf2, 0xf3, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xde, 0xde, 0xdb, 0xff,
+ 0x76, 0x76, 0x75, 0xff, 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x43, 0x43, 0x43, 0xff, 0x99, 0x99, 0x99, 0xff,
+ 0xbb, 0xb9, 0xba, 0xff, 0xa2, 0x9f, 0xa0, 0xff, 0xb2, 0xb0, 0xb1, 0xff,
+ 0xd2, 0xce, 0xd2, 0xff, 0xe3, 0xe1, 0xe1, 0xff, 0xdd, 0xdc, 0xdb, 0xff,
+ 0xea, 0xe9, 0xe5, 0xff, 0xe3, 0xe2, 0xe0, 0xff, 0xeb, 0xeb, 0xea, 0xff,
+ 0xf7, 0xf7, 0xf6, 0xff, 0xf4, 0xf4, 0xf3, 0xff, 0xe9, 0xe9, 0xe6, 0xff,
+ 0x8e, 0x8e, 0x8d, 0xff, 0x88, 0x88, 0x88, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0xff, 0xa7, 0xa7, 0xa7, 0xff,
+ 0xa6, 0xa5, 0xa5, 0xff, 0xa1, 0x9f, 0x9f, 0xff, 0xa5, 0xa2, 0xa3, 0xff,
+ 0xce, 0xcc, 0xcc, 0xff, 0xde, 0xdd, 0xdc, 0xff, 0xc1, 0xc0, 0xbe, 0xff,
+ 0xa3, 0xa1, 0x9d, 0xff, 0xa0, 0x9f, 0x9a, 0xff, 0x8c, 0x8b, 0x87, 0xff,
+ 0xcb, 0xcb, 0xc9, 0xff, 0xdd, 0xdd, 0xdc, 0xff, 0xdc, 0xdc, 0xdb, 0xff,
+ 0x97, 0x98, 0x97, 0xff, 0x7b, 0x7b, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x43, 0x43, 0x43, 0xff, 0xa5, 0xa5, 0xa4, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa2, 0xff, 0xa6, 0xa6, 0xa4, 0xff,
+ 0xd1, 0xd0, 0xce, 0xff, 0xf6, 0xf4, 0xf2, 0xff, 0x6b, 0x6a, 0x67, 0xff,
+ 0x3d, 0x3c, 0x3a, 0xff, 0x77, 0x75, 0x71, 0xff, 0x63, 0x62, 0x5f, 0xff,
+ 0xb2, 0xb2, 0xb0, 0xff, 0xcd, 0xce, 0xcb, 0xff, 0xd5, 0xd6, 0xd3, 0xff,
+ 0x9f, 0xa0, 0x9d, 0xff, 0x75, 0x75, 0x75, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x41, 0x41, 0x41, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xad, 0xad, 0xac, 0xff, 0xb0, 0xb1, 0xaf, 0xff, 0xb7, 0xb9, 0xb6, 0xff,
+ 0xc0, 0xc0, 0xbc, 0xff, 0xb3, 0xb1, 0xad, 0xff, 0x99, 0x97, 0x91, 0xff,
+ 0x59, 0x58, 0x55, 0xff, 0x88, 0x86, 0x80, 0xff, 0x5f, 0x5d, 0x59, 0xff,
+ 0xa4, 0xa5, 0xa1, 0xff, 0xc5, 0xc6, 0xc2, 0xff, 0xd0, 0xd1, 0xce, 0xff,
+ 0x9b, 0x9c, 0x9a, 0xff, 0x76, 0x76, 0x76, 0xff, 0x00, 0x00, 0x00, 0xbc,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x40, 0x40, 0x40, 0xff, 0x9c, 0x9d, 0x9c, 0xff,
+ 0xc6, 0xc8, 0xc5, 0xff, 0xd0, 0xd1, 0xcf, 0xff, 0xd3, 0xd3, 0xd1, 0xff,
+ 0xce, 0xce, 0xcd, 0xff, 0x8e, 0x8d, 0x89, 0xff, 0x8e, 0x8c, 0x87, 0xff,
+ 0x78, 0x75, 0x70, 0xff, 0x5e, 0x5d, 0x57, 0xff, 0x68, 0x69, 0x65, 0xff,
+ 0x9b, 0x9c, 0x98, 0xff, 0xb4, 0xb6, 0xb1, 0xff, 0xbf, 0xc0, 0xbc, 0xff,
+ 0x78, 0x79, 0x76, 0xff, 0x7e, 0x7e, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x41, 0x41, 0xff, 0x7d, 0x7d, 0x7d, 0xff,
+ 0xde, 0xde, 0xdd, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf2, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xc7, 0xc7, 0xc5, 0xff, 0x80, 0x80, 0x7d, 0xff,
+ 0x64, 0x64, 0x62, 0xff, 0x76, 0x76, 0x73, 0xff, 0x84, 0x86, 0x81, 0xff,
+ 0x95, 0x97, 0x92, 0xff, 0xa8, 0xaa, 0xa5, 0xff, 0xa2, 0xa3, 0x9f, 0xff,
+ 0x5e, 0x5e, 0x5d, 0xff, 0x85, 0x85, 0x85, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x42, 0x42, 0x42, 0xff, 0x81, 0x81, 0x81, 0xff,
+ 0xa1, 0xa1, 0xa2, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf2, 0xf2, 0xf1, 0xff, 0xd9, 0xd8, 0xd5, 0xff, 0xc2, 0xc2, 0xc1, 0xff,
+ 0xae, 0xaf, 0xac, 0xff, 0xa3, 0xa4, 0xa1, 0xff, 0xa0, 0xa2, 0x9d, 0xff,
+ 0x9a, 0x9c, 0x96, 0xff, 0x98, 0x9a, 0x94, 0xff, 0x62, 0x64, 0x61, 0xff,
+ 0x6a, 0x6a, 0x6a, 0xff, 0x91, 0x91, 0x91, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x41, 0x41, 0x41, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0x7c, 0x7c, 0x7c, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xed, 0xed, 0xec, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xe1, 0xe1, 0xdf, 0xff, 0xd4, 0xd5, 0xd3, 0xff,
+ 0xc7, 0xc9, 0xc5, 0xff, 0xbc, 0xbd, 0xb9, 0xff, 0xae, 0xaf, 0xab, 0xff,
+ 0xa0, 0xa2, 0x9d, 0xff, 0x5d, 0x5e, 0x5b, 0xff, 0x57, 0x57, 0x57, 0xff,
+ 0x86, 0x86, 0x86, 0xff, 0x97, 0x97, 0x97, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x3e, 0x3e, 0x3e, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x7b, 0x7b, 0x7b, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0xa9, 0xa9, 0xa6, 0xff, 0xd0, 0xd1, 0xcf, 0xff, 0xd4, 0xd4, 0xd2, 0xff,
+ 0xcb, 0xcd, 0xc9, 0xff, 0xb7, 0xb8, 0xb5, 0xff, 0x82, 0x84, 0x80, 0xff,
+ 0x51, 0x52, 0x50, 0xff, 0x62, 0x62, 0x61, 0xff, 0x82, 0x82, 0x82, 0xff,
+ 0xa5, 0xa5, 0xa5, 0xff, 0x75, 0x75, 0x75, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x2d, 0x2d, 0x2d, 0xe2, 0x64, 0x64, 0x64, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x86, 0x86, 0x86, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x6a, 0x6a, 0x69, 0xff, 0x6a, 0x6a, 0x6a, 0xff,
+ 0x67, 0x67, 0x67, 0xff, 0x5e, 0x5e, 0x5d, 0xff, 0x63, 0x63, 0x63, 0xff,
+ 0x7b, 0x7b, 0x7b, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x95, 0x95, 0x95, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x00, 0x00, 0x00, 0xac,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x9b,
+ 0x00, 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, 0xbd,
+ 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0xbc,
+ 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0xbb, 0x00, 0x00, 0x00, 0xad, 0x00, 0x00, 0x00, 0x7a,
+ 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x56,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x64, 0x9c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x19, 0x19, 0x74,
+ 0x8b, 0x89, 0x82, 0xff, 0x75, 0x73, 0x6b, 0xff, 0x78, 0x76, 0x6e, 0xff,
+ 0x76, 0x74, 0x6c, 0xff, 0x63, 0x61, 0x59, 0xff, 0x29, 0x29, 0x29, 0xb0,
+ 0x32, 0x32, 0x32, 0xac, 0x33, 0x33, 0x33, 0xaa, 0x30, 0x30, 0x30, 0xaa,
+ 0x1f, 0x1f, 0x1f, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5d, 0x63, 0x5c, 0xff, 0x94, 0xab, 0x8f, 0xff, 0xa0, 0xb4, 0x9a, 0xff,
+ 0x7c, 0x90, 0x77, 0xff, 0x80, 0x81, 0x5b, 0xff, 0x77, 0x92, 0x72, 0xff,
+ 0x51, 0x5c, 0x4e, 0xff, 0x6a, 0x6a, 0x6a, 0xff, 0x7d, 0x7d, 0x7d, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x59, 0x60, 0x58, 0xff, 0x85, 0x8a, 0x74, 0xff,
+ 0x96, 0xa3, 0x8f, 0xff, 0x57, 0x65, 0x51, 0xff, 0x54, 0x6a, 0x4f, 0xff,
+ 0x4d, 0x5d, 0x4a, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x8d, 0x8c, 0x86, 0xff,
+ 0xa6, 0xa1, 0x90, 0xff, 0x41, 0x41, 0x40, 0xff, 0x1f, 0x1f, 0x1f, 0xff,
+ 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x4b, 0x4f, 0x4a, 0xff,
+ 0x5c, 0x6e, 0x58, 0xff, 0x5a, 0x69, 0x58, 0xff, 0x49, 0x4d, 0x48, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x89, 0x89, 0x89, 0xff, 0xa4, 0xa2, 0x99, 0xff,
+ 0xc4, 0xb9, 0x94, 0xff, 0x68, 0x62, 0x4d, 0xff, 0x33, 0x33, 0x32, 0xff,
+ 0x30, 0x30, 0x30, 0xff, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x53, 0x53, 0x53, 0xff, 0x60, 0x60, 0x60, 0xff, 0x88, 0x88, 0x88, 0xff,
+ 0xba, 0xb9, 0xba, 0xff, 0xa8, 0xa7, 0xa7, 0xff, 0xbc, 0xb7, 0xa6, 0xff,
+ 0x95, 0x8e, 0x75, 0xff, 0x57, 0x55, 0x51, 0xff, 0x4b, 0x4b, 0x4b, 0xff,
+ 0x54, 0x54, 0x54, 0xff, 0x44, 0x44, 0x44, 0xff, 0x00, 0x00, 0x00, 0x65,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x06, 0x4b, 0x4b, 0x4b, 0xff, 0x81, 0x81, 0x81, 0xff,
+ 0xd5, 0xd2, 0xd4, 0xff, 0xba, 0xb7, 0xb9, 0xff, 0xa7, 0x9d, 0x80, 0xff,
+ 0x71, 0x6c, 0x5b, 0xff, 0x90, 0x90, 0x8f, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xd7, 0xd7, 0xd6, 0xff, 0x7b, 0x7b, 0x7b, 0xff, 0x63, 0x63, 0x63, 0xff,
+ 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x58, 0x58, 0x58, 0xff,
+ 0xb5, 0xb4, 0xb4, 0xff, 0xa9, 0xa7, 0xa8, 0xff, 0xca, 0xc7, 0xc9, 0xff,
+ 0xd4, 0xd2, 0xd2, 0xff, 0xce, 0xce, 0xcb, 0xff, 0xe4, 0xe4, 0xe3, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf4, 0xf4, 0xf2, 0xff, 0xa5, 0xa5, 0xa4, 0xff,
+ 0x5c, 0x5c, 0x5c, 0xff, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x5a, 0x5a, 0x5a, 0xff, 0xb0, 0xb0, 0xaf, 0xff, 0xa1, 0xa0, 0x9f, 0xff,
+ 0xc2, 0xc0, 0xc0, 0xff, 0xdb, 0xda, 0xd8, 0xff, 0x80, 0x7f, 0x7c, 0xff,
+ 0x97, 0x95, 0x90, 0xff, 0xa9, 0xa9, 0xa7, 0xff, 0xda, 0xda, 0xd8, 0xff,
+ 0xae, 0xaf, 0xad, 0xff, 0x51, 0x51, 0x51, 0xff, 0x00, 0x00, 0x00, 0x65,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x57, 0x57, 0x57, 0xff, 0xb3, 0xb4, 0xb2, 0xff,
+ 0xae, 0xae, 0xac, 0xff, 0xbf, 0xbf, 0xbc, 0xff, 0xbe, 0xbc, 0xb8, 0xff,
+ 0x5a, 0x59, 0x56, 0xff, 0x77, 0x75, 0x71, 0xff, 0x88, 0x88, 0x85, 0xff,
+ 0xca, 0xcb, 0xc8, 0xff, 0xae, 0xaf, 0xad, 0xff, 0x4e, 0x4e, 0x4e, 0xff,
+ 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x54, 0x54, 0x54, 0xff,
+ 0xc2, 0xc3, 0xc1, 0xff, 0xdc, 0xdd, 0xdb, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0x96, 0x95, 0x91, 0xff, 0x67, 0x65, 0x61, 0xff, 0x60, 0x5f, 0x5a, 0xff,
+ 0x90, 0x92, 0x8d, 0xff, 0xb4, 0xb5, 0xb1, 0xff, 0x88, 0x89, 0x86, 0xff,
+ 0x55, 0x55, 0x55, 0xff, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x57, 0x57, 0x57, 0xff, 0xa2, 0xa2, 0xa2, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xf5, 0xf5, 0xf4, 0xff, 0xce, 0xce, 0xcc, 0xff, 0xa9, 0xaa, 0xa8, 0xff,
+ 0x9a, 0x9b, 0x97, 0xff, 0x98, 0x9a, 0x94, 0xff, 0x95, 0x98, 0x92, 0xff,
+ 0x62, 0x63, 0x62, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x00, 0x00, 0x00, 0x65,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x5b, 0x5b, 0x5b, 0xff, 0x86, 0x86, 0x86, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0xdf, 0xdf, 0xdc, 0xff, 0xde, 0xde, 0xdd, 0xff,
+ 0xcc, 0xcd, 0xca, 0xff, 0xb9, 0xbb, 0xb7, 0xff, 0x93, 0x95, 0x90, 0xff,
+ 0x58, 0x58, 0x56, 0xff, 0x87, 0x87, 0x87, 0xff, 0x60, 0x60, 0x60, 0xff,
+ 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x4f, 0xf2,
+ 0x70, 0x70, 0x70, 0xff, 0x85, 0x85, 0x85, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x88, 0x89, 0x88, 0xff, 0x89, 0x8a, 0x88, 0xff, 0x71, 0x72, 0x70, 0xff,
+ 0x65, 0x65, 0x65, 0xff, 0x88, 0x88, 0x88, 0xff, 0x88, 0x88, 0x88, 0xff,
+ 0x41, 0x41, 0x41, 0xf8, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x9f,
+ 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0xa2,
+ 0x00, 0x00, 0x00, 0xa1, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xa0,
+ 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0x68, 0xc8, 0x00, 0x02, 0x68, 0xd8,
+ 0x67, 0x74, 0x6b, 0x2d, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
+ 0x63, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x02, 0x68, 0xec, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x72, 0x14,
+ 0x00, 0x02, 0x68, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x12,
+ 0x0f, 0x0f, 0x0d, 0x4d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x0f, 0x0f, 0x0d, 0x22, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x98, 0x93, 0x89, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x93, 0x89, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc2, 0xba, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc6, 0xc2, 0xba, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x6c, 0x43, 0x42, 0x3c, 0xff, 0xb7, 0xb3, 0xaa, 0xff,
+ 0xc4, 0xc2, 0xbd, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x12,
+ 0x00, 0x00, 0x00, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff,
+ 0xaa, 0xa7, 0xa0, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc5, 0xd2, 0xc8, 0xff, 0xc5, 0xd2, 0xc8, 0xff,
+ 0xe9, 0xee, 0xea, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe9, 0xee, 0xea, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xee, 0xeb, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xee, 0xeb, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff,
+ 0xaa, 0xa7, 0xa0, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xee, 0xeb, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xee, 0xeb, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0xf2, 0xf0, 0xed, 0xff, 0xeb, 0xea, 0xe6, 0xff,
+ 0x8a, 0x85, 0x7b, 0xff, 0xec, 0xeb, 0xe8, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xeb, 0xea, 0xe6, 0x00, 0x8a, 0x85, 0x7b, 0x00, 0xec, 0xeb, 0xe8, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0xec, 0xea, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xee, 0xec, 0xea, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0x78, 0x75, 0x6b, 0xff, 0xbe, 0xbb, 0xb5, 0xff, 0xb3, 0xb1, 0xaa, 0xff,
+ 0x7d, 0x78, 0x6e, 0xff, 0xe1, 0xdf, 0xdb, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x78, 0x75, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xb3, 0xb1, 0xaa, 0x00, 0x7d, 0x78, 0x6e, 0x00, 0xe1, 0xdf, 0xdb, 0x00,
+ 0x78, 0x75, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd1, 0xd0, 0xcc, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd0, 0xcc, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x78, 0x75, 0x6b, 0xff, 0x8c, 0x89, 0x81, 0xff, 0xa6, 0xa2, 0x9b, 0xff,
+ 0x72, 0x6d, 0x63, 0xff, 0xce, 0xca, 0xc3, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0xa4, 0x9e, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa4, 0x9e, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x33,
+ 0x0f, 0x0f, 0x0d, 0xff, 0x8c, 0x89, 0x81, 0xff, 0xa6, 0xa2, 0x9b, 0xff,
+ 0x72, 0x6d, 0x63, 0xff, 0xce, 0xca, 0xc3, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc5, 0xd2, 0xc8, 0xff, 0xc5, 0xd2, 0xc8, 0xff,
+ 0xf0, 0xf3, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf3, 0xf1, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0xa4, 0x9e, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa4, 0x9e, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x62, 0x27, 0x26, 0x22, 0xff, 0x8b, 0x87, 0x7e, 0xff,
+ 0x70, 0x6c, 0x62, 0xff, 0xb1, 0xad, 0xa4, 0xff, 0x6c, 0x68, 0x5e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x93, 0x8a, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0x97, 0x93, 0x8a, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x12, 0x00, 0x00, 0x00, 0x55, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x0f, 0x0f, 0x0d, 0xff, 0x98, 0x93, 0x89, 0xff, 0x64, 0x60, 0x56, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x64, 0x60, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00, 0x98, 0x93, 0x89, 0x00,
+ 0x64, 0x60, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8b, 0x87, 0x7d, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0x8b, 0x87, 0x7d, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x1b,
+ 0x0f, 0x0f, 0x0d, 0x33, 0x0f, 0x0f, 0x0d, 0xff, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x0f, 0x0f, 0x0d, 0x32, 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x72, 0x1c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x4d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0d, 0x22, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x98, 0x93, 0x89, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x98, 0x93, 0x89, 0x00, 0x80, 0x7d, 0x74, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc2, 0xba, 0x00, 0x80, 0x7d, 0x74, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc6, 0xc2, 0xba, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0xc4, 0xc2, 0xbd, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0xaa, 0xa7, 0xa0, 0xff, 0xea, 0xe8, 0xe3, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc5, 0xd2, 0xc8, 0xff,
+ 0xc5, 0xd2, 0xc8, 0xff, 0xe9, 0xee, 0xea, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe9, 0xee, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xf0, 0xee, 0xeb, 0x00, 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xee, 0xeb, 0xff, 0x80, 0x7d, 0x74, 0xff, 0xaa, 0xa7, 0xa0, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0xee, 0xeb, 0x00, 0x80, 0x7d, 0x74, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xee, 0xeb, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x8a, 0x85, 0x7b, 0xff, 0xec, 0xeb, 0xe8, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xeb, 0xea, 0xe6, 0x00, 0x8a, 0x85, 0x7b, 0x00, 0xec, 0xeb, 0xe8, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0xec, 0xea, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xee, 0xec, 0xea, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x7d, 0x78, 0x6e, 0xff, 0xe1, 0xdf, 0xdb, 0xff,
+ 0x78, 0x75, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x78, 0x75, 0x6b, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb3, 0xb1, 0xaa, 0x00, 0x7d, 0x78, 0x6e, 0x00,
+ 0xe1, 0xdf, 0xdb, 0x00, 0x78, 0x75, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xd1, 0xd0, 0xcc, 0x00, 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd1, 0xd0, 0xcc, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x72, 0x6d, 0x63, 0xff,
+ 0xce, 0xca, 0xc3, 0xff, 0x78, 0x75, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa7, 0xa4, 0x9e, 0x00, 0x80, 0x7d, 0x74, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa4, 0x9e, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x72, 0x6d, 0x63, 0xff, 0xce, 0xca, 0xc3, 0xff, 0x78, 0x75, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc5, 0xd2, 0xc8, 0xff, 0xc5, 0xd2, 0xc8, 0xff,
+ 0xf0, 0xf3, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf3, 0xf1, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0xa4, 0x9e, 0x00,
+ 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa4, 0x9e, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x70, 0x6c, 0x62, 0xff, 0xb1, 0xad, 0xa4, 0xff,
+ 0x6c, 0x68, 0x5e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x97, 0x93, 0x8a, 0x00, 0x80, 0x7d, 0x74, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x97, 0x93, 0x8a, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x98, 0x93, 0x89, 0xff, 0x64, 0x60, 0x56, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x64, 0x60, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x00, 0x98, 0x93, 0x89, 0x00, 0x64, 0x60, 0x56, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x8b, 0x87, 0x7d, 0x00, 0x80, 0x7d, 0x74, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x8b, 0x87, 0x7d, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x0f, 0x0f, 0x0d, 0x33, 0x0f, 0x0f, 0x0d, 0xff, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x0f, 0x0f, 0x0d, 0x32, 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00, 0x0f, 0x0f, 0x0d, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x0f, 0x0f, 0x0d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0x76, 0x48, 0x00, 0x02, 0x76, 0x60,
+ 0x67, 0x74, 0x6b, 0x2d, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x2d, 0x66, 0x75,
+ 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0x76, 0x74,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x7f, 0x9c, 0x00, 0x02, 0x76, 0x7c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x56,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xb9, 0xc3, 0xcd, 0xff,
+ 0x67, 0x7c, 0x92, 0xff, 0x67, 0x7c, 0x92, 0xff, 0x66, 0x7b, 0x91, 0xff,
+ 0x66, 0x7c, 0x91, 0xff, 0x66, 0x7b, 0x91, 0xff, 0x5f, 0x73, 0x87, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0xb2, 0xbd, 0xc8, 0xff,
+ 0x62, 0x77, 0x8d, 0xff, 0x62, 0x77, 0x8d, 0xff, 0x61, 0x76, 0x8c, 0xff,
+ 0x60, 0x75, 0x8b, 0xff, 0x5f, 0x74, 0x8a, 0xff, 0x59, 0x6d, 0x82, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xac, 0xac, 0xac, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xa9, 0xa9, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x66, 0x7c, 0x91, 0xff, 0x66, 0x7b, 0x91, 0xff,
+ 0x5f, 0x73, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x60, 0x75, 0x8b, 0xff, 0x5f, 0x74, 0x8a, 0xff,
+ 0x59, 0x6d, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xa9, 0xa9, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xcf, 0xcf, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xb2, 0xb2, 0xb2, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xac, 0xac, 0xac, 0xff, 0xa9, 0xa9, 0xa9, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x7f, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x56,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x56,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb9, 0xc3, 0xcd, 0xff, 0x67, 0x7c, 0x92, 0xff,
+ 0x67, 0x7c, 0x92, 0xff, 0x66, 0x7b, 0x91, 0xff, 0x66, 0x7c, 0x91, 0xff,
+ 0x66, 0x7b, 0x91, 0xff, 0x5f, 0x73, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb2, 0xbd, 0xc8, 0xff,
+ 0x62, 0x77, 0x8d, 0xff, 0x62, 0x77, 0x8d, 0xff, 0x61, 0x76, 0x8c, 0xff,
+ 0x60, 0x75, 0x8b, 0xff, 0x5f, 0x74, 0x8a, 0xff, 0x59, 0x6d, 0x82, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xac, 0xac, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xa9, 0xa9, 0xa9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x66, 0x7c, 0x91, 0xff, 0x66, 0x7b, 0x91, 0xff,
+ 0x5f, 0x73, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xcf, 0xcf, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xb2, 0xb2, 0xb2, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xac, 0xac, 0xac, 0xff, 0xa9, 0xa9, 0xa9, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x60, 0x75, 0x8b, 0xff,
+ 0x5f, 0x74, 0x8a, 0xff, 0x59, 0x6d, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x91, 0x48,
+ 0x00, 0x02, 0x83, 0xd0, 0x00, 0x02, 0x83, 0xe4, 0x67, 0x74, 0x6b, 0x2d,
+ 0x67, 0x6f, 0x2d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x2d, 0x6c,
+ 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x02, 0x83, 0xf8, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x8d, 0x20,
+ 0x00, 0x02, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0x8c, 0xa7, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0xff, 0xb1, 0xcd, 0xae, 0xff, 0x77, 0xa1, 0x6e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb4, 0xce, 0xb1, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x70, 0x98, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0xc1, 0xd6, 0xbd, 0xff, 0xbd, 0xd3, 0xb8, 0xff, 0xbf, 0xd4, 0xbb, 0xff,
+ 0xc2, 0xd7, 0xbe, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xc2, 0xd7, 0xbe, 0xff,
+ 0xc2, 0xd7, 0xbe, 0xff, 0xb0, 0xca, 0xad, 0xff, 0xb2, 0xcb, 0xb0, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0x70, 0x98, 0x67, 0xff, 0x0f, 0x13, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0xc5, 0xa8, 0xff, 0xae, 0xc8, 0xad, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xab, 0xc7, 0xa8, 0xff, 0xaa, 0xc6, 0xa7, 0xff,
+ 0xa8, 0xc6, 0xa5, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0xad, 0xc8, 0xad, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0xa5, 0xc4, 0xa3, 0xff, 0x7f, 0x9f, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0xa6, 0xbf, 0xa0, 0xff, 0xab, 0xc7, 0xaa, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0xa7, 0xc5, 0xa4, 0xff, 0xa8, 0xc6, 0xa5, 0xff, 0xa9, 0xc7, 0xa6, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xaf, 0xc8, 0xad, 0xff, 0xa4, 0xc3, 0xa2, 0xff,
+ 0x6b, 0x90, 0x60, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x77, 0x8e, 0x6f, 0xff, 0x69, 0x8d, 0x60, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x6b, 0x90, 0x63, 0xff,
+ 0x69, 0x8d, 0x60, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x6b, 0x86, 0x61, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x6c, 0x85, 0x62, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x65, 0x81, 0x5c, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8d, 0x28, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x77, 0xa1, 0x6e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xac, 0xc8, 0xa9, 0xff, 0x70, 0x98, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc1, 0xd6, 0xbd, 0xff, 0xbd, 0xd3, 0xb8, 0xff,
+ 0xbf, 0xd4, 0xbb, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xc2, 0xd7, 0xbe, 0xff,
+ 0xc2, 0xd7, 0xbe, 0xff, 0xb2, 0xcb, 0xb0, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0x70, 0x98, 0x67, 0xff, 0x0f, 0x13, 0x08, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xae, 0xc5, 0xa8, 0xff,
+ 0xae, 0xc8, 0xad, 0xff, 0xab, 0xc7, 0xa8, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xaa, 0xc6, 0xa7, 0xff, 0xa8, 0xc6, 0xa5, 0xff, 0xad, 0xc8, 0xad, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0xa5, 0xc4, 0xa3, 0xff, 0x7f, 0x9f, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa6, 0xbf, 0xa0, 0xff, 0xab, 0xc7, 0xaa, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0xa8, 0xc6, 0xa5, 0xff, 0xa9, 0xc7, 0xa6, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0xab, 0xc7, 0xa8, 0xff, 0xaf, 0xc8, 0xad, 0xff,
+ 0xa4, 0xc3, 0xa2, 0xff, 0x6b, 0x90, 0x60, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x6c, 0x85, 0x62, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x65, 0x81, 0x5c, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x8d, 0xb3, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x4d, 0x61, 0x46, 0x00, 0x43, 0x54, 0x3d, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x9e, 0xcc, 0x00, 0x02, 0x91, 0x54, 0x00, 0x02, 0x91, 0x68,
+ 0x67, 0x74, 0x6b, 0x2d, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x2d, 0x6c, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0x91, 0x7c, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x02, 0x9a, 0xa4, 0x00, 0x02, 0x91, 0x84, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x90, 0x1c, 0x1c, 0x1c, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x90, 0x90, 0x90, 0xff, 0x49, 0x49, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x48, 0x47, 0x3d, 0xff, 0xba, 0xb8, 0xa6, 0xff,
+ 0xe2, 0xe2, 0xdf, 0xff, 0xf1, 0xf1, 0xf0, 0xff, 0xea, 0xe9, 0xe6, 0xff,
+ 0xf2, 0xf2, 0xee, 0xff, 0xeb, 0xea, 0xe5, 0xff, 0xc1, 0xc0, 0xb5, 0xff,
+ 0x57, 0x56, 0x4a, 0xff, 0x52, 0x51, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54,
+ 0x00, 0x00, 0x00, 0xff, 0xa8, 0xa6, 0x8f, 0xff, 0xbd, 0xbb, 0xa1, 0xff,
+ 0xc0, 0xbe, 0xa3, 0xff, 0xa3, 0xa1, 0x8a, 0xff, 0x6d, 0x6c, 0x5c, 0xff,
+ 0x7c, 0x7c, 0x72, 0xff, 0x4c, 0x4c, 0x49, 0xff, 0x45, 0x45, 0x3f, 0xff,
+ 0x44, 0x43, 0x3a, 0xff, 0x6f, 0x6f, 0x67, 0xff, 0xc6, 0xc5, 0xb9, 0xff,
+ 0xb6, 0xb5, 0x9b, 0xff, 0x6d, 0x6c, 0x5d, 0xff, 0xb3, 0xb1, 0x9b, 0xff,
+ 0xa7, 0xa6, 0x8e, 0xff, 0x90, 0x8f, 0x7a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xa9, 0x93, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd5, 0xd3, 0xc1, 0xff, 0xae, 0xad, 0xa3, 0xff, 0x94, 0x93, 0x8a, 0xff,
+ 0x45, 0x44, 0x42, 0xff, 0x23, 0x23, 0x21, 0xff, 0x35, 0x34, 0x31, 0xff,
+ 0x29, 0x28, 0x23, 0xff, 0x1e, 0x1e, 0x1a, 0xff, 0x53, 0x52, 0x46, 0xff,
+ 0xad, 0xac, 0x93, 0xff, 0x92, 0x91, 0x89, 0xff, 0xc2, 0xc1, 0xaf, 0xff,
+ 0xb1, 0xaf, 0x96, 0xff, 0xac, 0xaa, 0x92, 0xff, 0x93, 0x92, 0x7d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0xff,
+ 0x36, 0x32, 0x20, 0xff, 0xef, 0xe5, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x64, 0x64, 0x5e, 0xff, 0xbf, 0xbe, 0xb2, 0xff, 0xa8, 0xa8, 0xa2, 0xff,
+ 0x8e, 0x8d, 0x88, 0xff, 0x7d, 0x7c, 0x76, 0xff, 0x5c, 0x5c, 0x55, 0xff,
+ 0x47, 0x46, 0x3e, 0xff, 0x65, 0x64, 0x56, 0xff, 0x77, 0x76, 0x65, 0xff,
+ 0x80, 0x7e, 0x6f, 0xff, 0xbe, 0xbd, 0xa7, 0xff, 0xb5, 0xb3, 0x9a, 0xff,
+ 0xb6, 0xb5, 0x9b, 0xff, 0xb5, 0xb3, 0x9a, 0xff, 0xa1, 0x9f, 0x88, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xe2, 0xcb, 0x79, 0x15, 0x38, 0x34, 0x22, 0xff,
+ 0xee, 0xe7, 0xc4, 0xff, 0xee, 0xd6, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x23, 0x1f, 0x13, 0xff, 0x2a, 0x25, 0x16, 0xff, 0x12, 0x10, 0x0a, 0xff,
+ 0x79, 0x79, 0x73, 0xff, 0xb5, 0xb4, 0xa8, 0xff, 0xb4, 0xb3, 0xa4, 0xff,
+ 0xb7, 0xb5, 0xa0, 0xff, 0xb0, 0xaf, 0x96, 0xff, 0xa1, 0x9f, 0x88, 0xff,
+ 0xb9, 0xb8, 0x9d, 0xff, 0xb9, 0xb7, 0x9d, 0xff, 0xb8, 0xb6, 0x9c, 0xff,
+ 0xc4, 0xc2, 0xa9, 0xff, 0xaf, 0xad, 0x97, 0xff, 0x8b, 0x89, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x36, 0x32, 0x20, 0xff, 0xef, 0xe7, 0xc1, 0xff,
+ 0xee, 0xd6, 0x81, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xcc, 0xb7, 0x6d, 0xff, 0x96, 0x86, 0x4f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x4e, 0x4d, 0x49, 0xff, 0xca, 0xc9, 0xb7, 0xff,
+ 0xcf, 0xcd, 0xbb, 0xff, 0xc4, 0xc2, 0xa9, 0xff, 0xc0, 0xbe, 0xa3, 0xff,
+ 0xc5, 0xc4, 0xac, 0xff, 0xd6, 0xd5, 0xc3, 0xff, 0xcd, 0xcc, 0xbf, 0xff,
+ 0xbb, 0xba, 0xad, 0xff, 0x7c, 0x7a, 0x69, 0xff, 0x71, 0x70, 0x60, 0xff,
+ 0x00, 0x00, 0x00, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x32, 0x2e, 0x1b, 0xff, 0xee, 0xe4, 0xc0, 0xff, 0xee, 0xe0, 0xa4, 0xff,
+ 0xee, 0xe0, 0xa7, 0xff, 0xee, 0xe0, 0xa6, 0xff, 0xee, 0xe0, 0xa5, 0xff,
+ 0xee, 0xe0, 0xa5, 0xff, 0xee, 0xd7, 0x8e, 0xff, 0xee, 0xd7, 0x84, 0xff,
+ 0xaf, 0x9e, 0x5e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x97, 0xff,
+ 0xee, 0xee, 0xec, 0xff, 0xef, 0xef, 0xec, 0xff, 0xea, 0xe9, 0xe3, 0xff,
+ 0xdb, 0xda, 0xd1, 0xff, 0xc0, 0xbf, 0xb1, 0xff, 0x95, 0x94, 0x84, 0xff,
+ 0x78, 0x77, 0x66, 0xff, 0x6e, 0x6d, 0x5d, 0xff, 0x5b, 0x5b, 0x4d, 0xff,
+ 0x00, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x30, 0x2c, 0x19, 0xff, 0xa2, 0x7d, 0x31, 0xff, 0xd2, 0x98, 0x15, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xd7, 0xa4, 0x2a, 0xff, 0xde, 0xb4, 0x46, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xa4, 0x93, 0x57, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x94, 0x94, 0x88, 0xff, 0xb4, 0xb2, 0xa2, 0xff, 0x9e, 0x9d, 0x8a, 0xff,
+ 0x8e, 0x8c, 0x78, 0xff, 0x8c, 0x8b, 0x77, 0xff, 0x8e, 0x8c, 0x78, 0xff,
+ 0x7a, 0x79, 0x68, 0xff, 0x6c, 0x6b, 0x5d, 0xff, 0x4e, 0x4d, 0x45, 0xff,
+ 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x2c, 0x19, 0xff, 0x9d, 0x78, 0x28, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x76, 0x52, 0x04, 0xff, 0x9e, 0x70, 0x09, 0xff,
+ 0xd9, 0xaa, 0x35, 0xff, 0xcc, 0xb7, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x5c, 0x5b, 0x4e, 0xff, 0xa6, 0xa4, 0x8d, 0xff, 0xae, 0xac, 0x93, 0xff,
+ 0x9a, 0x98, 0x83, 0xff, 0x80, 0x7f, 0x6d, 0xff, 0x7d, 0x7c, 0x6b, 0xff,
+ 0x6a, 0x69, 0x5e, 0xff, 0x40, 0x40, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x2b, 0x27, 0x19, 0xff,
+ 0xa3, 0x7c, 0x25, 0xff, 0xd1, 0x95, 0x0e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x15, 0x15, 0x14, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5c, 0x40, 0x03, 0xff,
+ 0xb0, 0x7d, 0x0a, 0xff, 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x44, 0x43, 0x39, 0xff, 0x7b, 0x7a, 0x69, 0xff, 0x8b, 0x89, 0x76, 0xff,
+ 0x61, 0x60, 0x54, 0xff, 0x54, 0x54, 0x51, 0xff, 0x31, 0x31, 0x2e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x2b, 0x2b, 0x23, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11,
+ 0x36, 0x32, 0x20, 0xff, 0x8d, 0x6a, 0x19, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x1d, 0x1d, 0x19, 0xff, 0x0e, 0x0e, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x98, 0x6b, 0x08, 0xff, 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x16, 0x16, 0x13, 0xff, 0x2a, 0x2a, 0x22, 0xff,
+ 0x30, 0x30, 0x27, 0xff, 0x3f, 0x3f, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0xff, 0x22, 0x1e, 0x11, 0xff, 0x0b, 0x0b, 0x06, 0xff,
+ 0x4b, 0x4b, 0x43, 0xff, 0x67, 0x67, 0x5d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0x91, 0x41, 0xff, 0x84, 0x76, 0x45, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x58, 0x58, 0x49, 0xff, 0x3a, 0x3a, 0x30, 0xff, 0x5f, 0x5f, 0x4f, 0xff,
+ 0x53, 0x53, 0x44, 0xff, 0x3e, 0x3e, 0x33, 0xff, 0x55, 0x55, 0x46, 0xff,
+ 0x34, 0x34, 0x2b, 0xff, 0x51, 0x51, 0x43, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0x69, 0x69, 0x57, 0xff, 0x28, 0x28, 0x24, 0xff,
+ 0x7e, 0x7e, 0x71, 0xff, 0x76, 0x76, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe0, 0xc9, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2f, 0x2f, 0x2c, 0xff,
+ 0x6a, 0x6a, 0x5e, 0xff, 0x3e, 0x3e, 0x33, 0xff, 0x5e, 0x5e, 0x51, 0xff,
+ 0x5a, 0x5a, 0x4a, 0xff, 0x3c, 0x3c, 0x32, 0xff, 0x4e, 0x4e, 0x41, 0xff,
+ 0x35, 0x35, 0x2c, 0xff, 0x54, 0x54, 0x45, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0x81, 0x81, 0x6b, 0xff, 0x56, 0x56, 0x4c, 0xff,
+ 0x9f, 0x9f, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc9, 0xb4, 0x6b, 0xff,
+ 0x81, 0x74, 0x44, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5c, 0x5c, 0x57, 0xff,
+ 0x81, 0x81, 0x76, 0xff, 0x3f, 0x3f, 0x35, 0xff, 0x5f, 0x5f, 0x51, 0xff,
+ 0x68, 0x68, 0x56, 0xff, 0x41, 0x41, 0x36, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0xff, 0x84, 0x84, 0x6d, 0xff, 0x59, 0x59, 0x4f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xae, 0x9c, 0x5c, 0xff, 0x96, 0x86, 0x4f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x2c, 0x2c, 0x27, 0xff, 0x97, 0x97, 0x8a, 0xff,
+ 0x91, 0x91, 0x80, 0xff, 0x52, 0x52, 0x43, 0xff, 0x83, 0x83, 0x6f, 0xff,
+ 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x85, 0x6e, 0xff, 0x5a, 0x5a, 0x50, 0xff,
+ 0x9f, 0x9f, 0x8f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x4d, 0x4d, 0x46, 0xff, 0x48, 0x48, 0x40, 0xff, 0x9f, 0x9f, 0x92, 0xff,
+ 0x96, 0x96, 0x85, 0xff, 0x53, 0x53, 0x44, 0xff, 0x84, 0x84, 0x70, 0xff,
+ 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x85, 0x6e, 0xff, 0x5b, 0x5b, 0x51, 0xff,
+ 0x9a, 0x9a, 0x88, 0xff, 0x7c, 0x7c, 0x73, 0xff, 0xab, 0xab, 0xa1, 0xff,
+ 0x9a, 0x9a, 0x8d, 0xff, 0x60, 0x60, 0x56, 0xff, 0xa7, 0xa7, 0x99, 0xff,
+ 0x9a, 0x9a, 0x88, 0xff, 0x54, 0x54, 0x45, 0xff, 0x84, 0x84, 0x70, 0xff,
+ 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x49,
+ 0x00, 0x00, 0x00, 0xff, 0x7b, 0x7b, 0x65, 0xff, 0x5b, 0x5b, 0x51, 0xff,
+ 0xa3, 0xa3, 0x92, 0xff, 0x82, 0x82, 0x78, 0xff, 0xb9, 0xb9, 0xae, 0xff,
+ 0xa8, 0xa8, 0x9a, 0xff, 0x67, 0x67, 0x5c, 0xff, 0xae, 0xae, 0x9f, 0xff,
+ 0x9c, 0x9c, 0x8a, 0xff, 0x54, 0x54, 0x45, 0xff, 0x84, 0x84, 0x70, 0xff,
+ 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x43, 0x43, 0x37, 0xff, 0x5f, 0x5f, 0x4f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0xff, 0x66, 0x66, 0x54, 0xff, 0x5b, 0x5b, 0x51, 0xff,
+ 0xa4, 0xa4, 0x93, 0xff, 0x82, 0x82, 0x78, 0xff, 0xc0, 0xc0, 0xb5, 0xff,
+ 0xb0, 0xb0, 0xa1, 0xff, 0x6a, 0x6a, 0x5e, 0xff, 0xb1, 0xb1, 0xa2, 0xff,
+ 0x9d, 0x9d, 0x8b, 0xff, 0x54, 0x54, 0x45, 0xff, 0x84, 0x84, 0x70, 0xff,
+ 0x71, 0x71, 0x5e, 0xff, 0x43, 0x43, 0x37, 0xff, 0x6a, 0x6a, 0x58, 0xff,
+ 0x49, 0x49, 0x3c, 0xff, 0x57, 0x57, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x43,
+ 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff, 0x57, 0x57, 0x4a, 0xff,
+ 0x7d, 0x7d, 0x6d, 0xff, 0x76, 0x76, 0x69, 0xff, 0xb3, 0xb3, 0xa8, 0xff,
+ 0xa1, 0xa1, 0x94, 0xff, 0x6d, 0x6d, 0x61, 0xff, 0xb3, 0xb3, 0xa5, 0xff,
+ 0x9d, 0x9d, 0x8b, 0xff, 0x54, 0x54, 0x45, 0xff, 0x84, 0x84, 0x70, 0xff,
+ 0x69, 0x69, 0x57, 0xff, 0x41, 0x41, 0x35, 0xff, 0x56, 0x56, 0x47, 0xff,
+ 0x44, 0x44, 0x38, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7f,
+ 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xd0,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x59, 0x59, 0x51, 0xff,
+ 0x58, 0x58, 0x49, 0xff, 0x4e, 0x4e, 0x40, 0xff, 0x74, 0x74, 0x67, 0xff,
+ 0x61, 0x61, 0x53, 0xff, 0x4e, 0x4e, 0x41, 0xff, 0x49, 0x49, 0x3c, 0xff,
+ 0x49, 0x49, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0xc2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xb9, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x9a, 0xac,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x06, 0x06, 0x11, 0x06, 0x06, 0x06, 0x4b, 0x0e, 0x0e, 0x0e, 0xff,
+ 0x42, 0x42, 0x42, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x3e, 0x3e, 0x3e, 0xff,
+ 0x2c, 0x2c, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x3e,
+ 0x06, 0x06, 0x06, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x06, 0x06, 0x3a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x83, 0x71, 0xff, 0xf0, 0xed, 0xd8, 0xff, 0xf2, 0xf1, 0xe9, 0xff,
+ 0xee, 0xed, 0xe4, 0xff, 0xc7, 0xc6, 0xba, 0xff, 0x53, 0x52, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x4b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x06, 0x06, 0x3e, 0x10, 0x10, 0x10, 0xff, 0xc2, 0xc0, 0xa5, 0xff,
+ 0xc1, 0xbf, 0xa5, 0xff, 0x7a, 0x79, 0x67, 0xff, 0x48, 0x47, 0x40, 0xff,
+ 0x27, 0x27, 0x25, 0xff, 0x36, 0x35, 0x2e, 0xff, 0x87, 0x85, 0x72, 0xff,
+ 0xa0, 0x9e, 0x88, 0xff, 0xa3, 0xa1, 0x8a, 0xff, 0xa5, 0xa3, 0x8c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x2b, 0xff, 0xd3, 0xd1, 0xbc, 0xff,
+ 0x41, 0x3e, 0x2a, 0xff, 0x39, 0x39, 0x34, 0xff, 0xb3, 0xb1, 0x9d, 0xff,
+ 0x64, 0x62, 0x5b, 0xff, 0x39, 0x38, 0x36, 0xff, 0x3c, 0x3c, 0x33, 0xff,
+ 0x61, 0x60, 0x53, 0xff, 0x9a, 0x98, 0x83, 0xff, 0xb7, 0xb5, 0x9b, 0xff,
+ 0xb3, 0xb2, 0x98, 0xff, 0xa4, 0xa2, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xee, 0xd6, 0x80, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x3d, 0x3a, 0x2d, 0xff, 0xea, 0xd5, 0x92, 0xff, 0x21, 0x20, 0x1d, 0xff,
+ 0x7d, 0x7d, 0x75, 0xff, 0xa7, 0xa5, 0x9a, 0xff, 0xd5, 0xd2, 0xbe, 0xff,
+ 0xbf, 0xbd, 0xa4, 0xff, 0xaf, 0xad, 0x94, 0xff, 0xc0, 0xbe, 0xa4, 0xff,
+ 0xc6, 0xc4, 0xac, 0xff, 0xb8, 0xb6, 0x9c, 0xff, 0x79, 0x77, 0x66, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2d, 0x2b, 0x1e, 0xff, 0xed, 0xd8, 0x96, 0xff, 0xf0, 0xdc, 0x9b, 0xff,
+ 0x80, 0x63, 0x1a, 0xff, 0x5a, 0x48, 0x17, 0xff, 0x46, 0x3f, 0x26, 0xff,
+ 0x37, 0x37, 0x34, 0xff, 0x73, 0x72, 0x6c, 0xff, 0xec, 0xea, 0xd9, 0xff,
+ 0xde, 0xdd, 0xcb, 0xff, 0x9d, 0x9b, 0x89, 0xff, 0x63, 0x62, 0x54, 0xff,
+ 0x58, 0x57, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x37, 0x32, 0x22, 0xf0, 0xf2, 0xe3, 0xae, 0xff, 0xf5, 0xe8, 0xbc, 0xff,
+ 0xf5, 0xe9, 0xbc, 0xff, 0xf5, 0xe8, 0xbb, 0xff, 0xf3, 0xe5, 0xb5, 0xff,
+ 0xec, 0xd7, 0x93, 0xff, 0xa4, 0x8c, 0x45, 0xff, 0x2a, 0x2a, 0x28, 0xff,
+ 0x67, 0x66, 0x5c, 0xff, 0x76, 0x75, 0x64, 0xff, 0x68, 0x67, 0x58, 0xff,
+ 0x43, 0x42, 0x38, 0xff, 0x29, 0x28, 0x22, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0x00, 0x00, 0x00, 0x00, 0x26, 0x20, 0x0e, 0xe8, 0xad, 0x7b, 0x0b, 0xff,
+ 0xd0, 0x93, 0x0b, 0xff, 0xcd, 0x90, 0x0b, 0xff, 0xb2, 0x7e, 0x0a, 0xff,
+ 0xbe, 0x89, 0x11, 0xff, 0xd6, 0xa8, 0x35, 0xff, 0xe1, 0xc2, 0x61, 0xff,
+ 0xa6, 0x87, 0x36, 0xff, 0x26, 0x26, 0x21, 0xff, 0x39, 0x39, 0x31, 0xff,
+ 0x17, 0x16, 0x15, 0xff, 0x1a, 0x1a, 0x16, 0xff, 0x1f, 0x1e, 0x19, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x23, 0x1c, 0x08, 0xea, 0xb2, 0x7f, 0x0b, 0xff, 0xbe, 0x87, 0x0a, 0xff,
+ 0x05, 0x05, 0x04, 0xff, 0x1d, 0x16, 0x03, 0xff, 0x78, 0x54, 0x06, 0xff,
+ 0xce, 0x99, 0x1c, 0xff, 0xae, 0x8e, 0x3b, 0xff, 0x02, 0x02, 0x02, 0xff,
+ 0x10, 0x10, 0x0d, 0xff, 0x3e, 0x3e, 0x38, 0xff, 0x34, 0x34, 0x2b, 0xff,
+ 0x24, 0x24, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x21, 0x0b, 0xff,
+ 0x7e, 0x5c, 0x0d, 0xff, 0x1a, 0x1a, 0x19, 0xff, 0x71, 0x70, 0x67, 0xff,
+ 0x1c, 0x16, 0x05, 0xff, 0xbd, 0x90, 0x24, 0xff, 0xa0, 0x7b, 0x23, 0xff,
+ 0x15, 0x15, 0x12, 0xff, 0x39, 0x39, 0x2f, 0xff, 0x69, 0x69, 0x5f, 0xff,
+ 0x3f, 0x3f, 0x34, 0xff, 0x26, 0x26, 0x20, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x24, 0x15, 0x03,
+ 0x2c, 0x2c, 0x25, 0xff, 0x29, 0x26, 0x1b, 0xff, 0x27, 0x27, 0x24, 0xff,
+ 0x8b, 0x8b, 0x7f, 0xff, 0x21, 0x1f, 0x1a, 0xff, 0xb4, 0x8d, 0x2d, 0xff,
+ 0x86, 0x63, 0x14, 0xff, 0x39, 0x39, 0x34, 0xff, 0x4a, 0x4a, 0x3d, 0xff,
+ 0x78, 0x78, 0x6b, 0xff, 0x50, 0x50, 0x42, 0xff, 0x29, 0x29, 0x22, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2c, 0x2c, 0x25, 0xff, 0xad, 0xad, 0xa3, 0xff,
+ 0xda, 0xda, 0xd3, 0xff, 0x8f, 0x8e, 0x81, 0xff, 0x42, 0x3d, 0x29, 0xff,
+ 0xab, 0x85, 0x28, 0xff, 0x14, 0x14, 0x11, 0xff, 0x75, 0x75, 0x6b, 0xff,
+ 0x4d, 0x4d, 0x40, 0xff, 0x79, 0x79, 0x6c, 0xff, 0x50, 0x50, 0x42, 0xff,
+ 0x29, 0x29, 0x22, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x2b, 0x24, 0xff,
+ 0x7e, 0x7e, 0x75, 0xff, 0xd8, 0xd8, 0xd1, 0xff, 0x3d, 0x38, 0x27, 0xff,
+ 0xb3, 0x8d, 0x2e, 0xff, 0x69, 0x4f, 0x12, 0xff, 0x2a, 0x2a, 0x25, 0xff,
+ 0xa0, 0xa0, 0x93, 0xff, 0x4d, 0x4d, 0x40, 0xff, 0x78, 0x78, 0x6b, 0xff,
+ 0x44, 0x44, 0x38, 0xff, 0x28, 0x28, 0x22, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x27, 0x27, 0x21, 0xff, 0x43, 0x43, 0x3d, 0xff, 0x8e, 0x8e, 0x86, 0xff,
+ 0x33, 0x30, 0x25, 0xff, 0x1a, 0x18, 0x10, 0xff, 0x66, 0x65, 0x5b, 0xff,
+ 0x5d, 0x5d, 0x52, 0xff, 0x94, 0x94, 0x84, 0xff, 0x4d, 0x4d, 0x40, 0xff,
+ 0x5d, 0x5d, 0x53, 0xff, 0x28, 0x28, 0x22, 0xff, 0x23, 0x23, 0x1d, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x4b, 0x06, 0x06, 0x06, 0xff,
+ 0x06, 0x06, 0x06, 0xff, 0x42, 0x41, 0x3a, 0xff, 0x8f, 0x8f, 0x7b, 0xff,
+ 0x7a, 0x7a, 0x6c, 0xff, 0x44, 0x44, 0x3c, 0xff, 0x6c, 0x6c, 0x5e, 0xff,
+ 0x35, 0x35, 0x2c, 0xff, 0x2e, 0x2e, 0x29, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x06, 0x06, 0x06, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06, 0x57, 0x06, 0x06, 0x06, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0f, 0xff, 0x05, 0x05, 0x05, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x06, 0x4b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0x9e, 0xd8,
+ 0x00, 0x02, 0x9e, 0xe8, 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x65, 0x64, 0x69,
+ 0x61, 0x2d, 0x73, 0x74, 0x6f, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0x9e, 0xfc, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x02, 0xa8, 0x24, 0x00, 0x02, 0x9f, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x72, 0xff,
+ 0x84, 0x84, 0x83, 0xff, 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa8, 0xa7, 0xa6, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa6, 0xa5, 0xa4, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x85, 0x84, 0x83, 0xff,
+ 0xaa, 0xa9, 0xa7, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xae, 0xad, 0xa9, 0xff,
+ 0xbf, 0xbd, 0xba, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff,
+ 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff,
+ 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff,
+ 0xd7, 0xd5, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xff, 0xb2, 0xb0, 0xad, 0xff,
+ 0xc3, 0xc1, 0xbe, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb3, 0xb0, 0xff,
+ 0xd1, 0xcf, 0xcc, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xa8, 0x2c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x72, 0xff, 0x84, 0x84, 0x83, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff, 0x88, 0x88, 0x87, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa8, 0xa7, 0xa6, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff,
+ 0x7e, 0x7e, 0x7d, 0xff, 0xa6, 0xa5, 0xa4, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0xb5, 0xb4, 0xb3, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x84, 0x83, 0xff, 0xaa, 0xa9, 0xa7, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0xc0, 0xbf, 0xbe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff,
+ 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff, 0xbb, 0xba, 0xb7, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0xd4, 0xd3, 0xd2, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0xad, 0xa9, 0xff, 0xbf, 0xbd, 0xba, 0xff, 0xd7, 0xd5, 0xd3, 0xff,
+ 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff,
+ 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff,
+ 0xd7, 0xd5, 0xd3, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0xff, 0xb2, 0xb0, 0xad, 0xff, 0xc3, 0xc1, 0xbe, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb3, 0xb0, 0xff,
+ 0xd1, 0xcf, 0xcc, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0xde, 0xdd, 0xdb, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xb9, 0xd4, 0x00, 0x02, 0xac, 0x58,
+ 0x00, 0x02, 0xac, 0x70, 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x65, 0x64, 0x69,
+ 0x61, 0x2d, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2d, 0x72,
+ 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x02, 0xac, 0x84, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0xb5, 0xac,
+ 0x00, 0x02, 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x72, 0xff,
+ 0x88, 0x88, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x7b, 0x7b, 0x7a, 0xff,
+ 0x6c, 0x6b, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff, 0x8e, 0x8e, 0x8d, 0xff,
+ 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7e, 0x7d, 0xff,
+ 0x99, 0x99, 0x96, 0xff, 0x7d, 0x7c, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0x94, 0x93, 0x92, 0xff,
+ 0xc0, 0xbf, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x82, 0x81, 0x80, 0xff,
+ 0x9d, 0x9c, 0x9a, 0xff, 0xb0, 0xaf, 0xac, 0xff, 0x90, 0x8f, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff, 0xa4, 0xa3, 0xa2, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x86, 0x85, 0x83, 0xff,
+ 0xa1, 0xa0, 0x9e, 0xff, 0xb4, 0xb3, 0xb1, 0xff, 0xb6, 0xb4, 0xb2, 0xff,
+ 0xa5, 0xa4, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0xa1, 0xa0, 0x9f, 0xff,
+ 0xd0, 0xce, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x89, 0x88, 0x86, 0xff,
+ 0xa5, 0xa4, 0xa1, 0xff, 0xb9, 0xb7, 0xb4, 0xff, 0xba, 0xb9, 0xb6, 0xff,
+ 0xbc, 0xba, 0xb7, 0xff, 0xc3, 0xc2, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa4, 0xa3, 0xa2, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x8c, 0x8b, 0x89, 0xff,
+ 0xa9, 0xa8, 0xa5, 0xff, 0xbd, 0xbc, 0xb9, 0xff, 0xc5, 0xc3, 0xc0, 0xff,
+ 0xd0, 0xce, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0xff, 0xa1, 0xa0, 0x9f, 0xff,
+ 0xd0, 0xce, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x8f, 0x8e, 0x8c, 0xff,
+ 0xb5, 0xb3, 0xb1, 0xff, 0xc7, 0xc6, 0xc3, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff, 0xaf, 0xae, 0xab, 0xff,
+ 0xd2, 0xd1, 0xcf, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0xb9, 0xb6, 0xb4, 0xff, 0xd8, 0xd7, 0xd5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff, 0xb8, 0xb8, 0xb5, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0xa1, 0x9f, 0x9d, 0xff,
+ 0xc7, 0xc6, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff, 0xbb, 0xba, 0xb7, 0xff,
+ 0xd7, 0xd5, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa6, 0xa3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff, 0xbb, 0xb9, 0xb7, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff, 0xb9, 0xb8, 0xb5, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x11, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xb5, 0xb4, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff,
+ 0x73, 0x73, 0x72, 0xff, 0x84, 0x84, 0x83, 0xff, 0x88, 0x88, 0x87, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff, 0xa8, 0xa7, 0xa6, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x7b, 0x7b, 0x7a, 0xff, 0x6c, 0x6b, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa6, 0xa5, 0xa4, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x7f, 0x7e, 0x7d, 0xff, 0x99, 0x99, 0x96, 0xff,
+ 0x7d, 0x7c, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x84, 0x83, 0xff, 0xaa, 0xa9, 0xa7, 0xff, 0xc0, 0xbf, 0xbe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x82, 0x81, 0x80, 0xff,
+ 0x9d, 0x9c, 0x9a, 0xff, 0xb0, 0xaf, 0xac, 0xff, 0x90, 0x8f, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x8c, 0x8b, 0x89, 0xff, 0xa9, 0xa8, 0xa5, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc5, 0xc3, 0xc0, 0xff, 0xd0, 0xce, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0x8f, 0x8e, 0x8c, 0xff, 0xb5, 0xb3, 0xb1, 0xff,
+ 0xc7, 0xc6, 0xc3, 0xff, 0xd2, 0xd1, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff,
+ 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9c, 0x9a, 0xff,
+ 0xb9, 0xb6, 0xb4, 0xff, 0xd8, 0xd7, 0xd5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff, 0xbb, 0xba, 0xb7, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0xa1, 0x9f, 0x9d, 0xff, 0xc7, 0xc6, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xae, 0xad, 0xa9, 0xff,
+ 0xbf, 0xbd, 0xba, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0xff, 0xa7, 0xa6, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xff,
+ 0xb2, 0xb0, 0xad, 0xff, 0xc3, 0xc1, 0xbe, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb3, 0xb0, 0xff, 0xd1, 0xcf, 0xcc, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0x9f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0xc7, 0x54, 0x00, 0x02, 0xb9, 0xe0, 0x00, 0x02, 0xb9, 0xf0,
+ 0x67, 0x74, 0x6b, 0x2d, 0x67, 0x6f, 0x74, 0x6f, 0x2d, 0x62, 0x6f, 0x74,
+ 0x74, 0x6f, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x02, 0xba, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0xc3, 0x2c,
+ 0x00, 0x02, 0xba, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xf2, 0xee, 0xff, 0xcb, 0xd9, 0xc7, 0xff, 0xc5, 0xd5, 0xc2, 0xff,
+ 0xa7, 0xb6, 0xa2, 0xff, 0x9f, 0xb1, 0x99, 0xff, 0xa0, 0xb0, 0x9a, 0xff,
+ 0x89, 0x9f, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd4, 0xe2, 0xd1, 0xff, 0xae, 0xc8, 0xad, 0xff, 0xab, 0xc7, 0xaa, 0xff,
+ 0x69, 0x8d, 0x60, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd5, 0xe3, 0xd3, 0xff, 0xab, 0xc7, 0xa8, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd7, 0xe5, 0xd5, 0xff, 0xab, 0xc7, 0xa8, 0xff, 0xa7, 0xc5, 0xa4, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd4, 0xe2, 0xd1, 0xff, 0xab, 0xc7, 0xa8, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xd7, 0xbe, 0xff, 0xaa, 0xc6, 0xa7, 0xff, 0xa9, 0xc7, 0xa6, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xd7, 0xbe, 0xff, 0xa8, 0xc6, 0xa5, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff,
+ 0x8c, 0xa7, 0x82, 0xff, 0xb1, 0xcd, 0xae, 0xff, 0xb4, 0xce, 0xb1, 0xff,
+ 0xb0, 0xca, 0xad, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0xff, 0x77, 0xa1, 0x6e, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0xb2, 0xcb, 0xb0, 0xff, 0xad, 0xc8, 0xad, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0x70, 0x98, 0x67, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff,
+ 0x70, 0x98, 0x67, 0xff, 0xa5, 0xc4, 0xa3, 0xff, 0xaf, 0xc8, 0xad, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+ 0x0f, 0x13, 0x08, 0xff, 0x7f, 0x9f, 0x76, 0xff, 0xa4, 0xc3, 0xa2, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x90, 0x60, 0xff,
+ 0x69, 0x8d, 0x60, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xc9, 0xdb, 0xc7, 0xff, 0xc9, 0xdb, 0xc7, 0xff, 0xc9, 0xdb, 0xc7, 0xff,
+ 0xc9, 0xdb, 0xc7, 0xff, 0xc9, 0xdb, 0xc7, 0xff, 0xc9, 0xdb, 0xc7, 0xff,
+ 0x9f, 0xb7, 0x9b, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x95, 0xa8, 0x8f, 0xff,
+ 0x95, 0xa8, 0x8f, 0xff, 0x95, 0xa8, 0x8f, 0xff, 0x95, 0xa8, 0x8f, 0xff,
+ 0x95, 0xa8, 0x8f, 0xff, 0x88, 0x9d, 0x7f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc7, 0xd3, 0xc6, 0xff,
+ 0xac, 0xc8, 0xa9, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0xac, 0xc8, 0xa9, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0xac, 0xc8, 0xa9, 0xff,
+ 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x47, 0x5e, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xc3, 0x34, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc1, 0xd6, 0xbd, 0xff,
+ 0xae, 0xc5, 0xa8, 0xff, 0xa6, 0xbf, 0xa0, 0xff, 0x6c, 0x85, 0x62, 0xff,
+ 0x65, 0x81, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbd, 0xd3, 0xb8, 0xff, 0xae, 0xc8, 0xad, 0xff, 0xab, 0xc7, 0xaa, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbf, 0xd4, 0xbb, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xa8, 0xc6, 0xa5, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd7, 0xbe, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xa8, 0xc6, 0xa5, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xd7, 0xbe, 0xff, 0xaa, 0xc6, 0xa7, 0xff, 0xa9, 0xc7, 0xa6, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x77, 0xa1, 0x6e, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0xb2, 0xcb, 0xb0, 0xff,
+ 0xad, 0xc8, 0xad, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x70, 0x98, 0x67, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x70, 0x98, 0x67, 0xff, 0xa5, 0xc4, 0xa3, 0xff,
+ 0xaf, 0xc8, 0xad, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x08, 0xff,
+ 0x7f, 0x9f, 0x76, 0xff, 0xa4, 0xc3, 0xa2, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x90, 0x60, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xda, 0xc6, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0xa8, 0xc7, 0xa8, 0xff,
+ 0xa8, 0xc7, 0xa8, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0x83, 0xa2, 0x7e, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x4a, 0x62, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0xd4, 0xd8, 0x00, 0x02, 0xc7, 0x60, 0x00, 0x02, 0xc7, 0x74,
+ 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x2d,
+ 0x69, 0x6d, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0xc7, 0x88, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x02, 0xd0, 0xb0, 0x00, 0x02, 0xc7, 0x90, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xda, 0xda, 0xda, 0xff, 0x58, 0x58, 0x58, 0xff,
+ 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x9b, 0x9b, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xaf, 0xaf, 0xae, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0xf7, 0xf6, 0xf5, 0xff, 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf4, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xde, 0xdd, 0xdc, 0xff,
+ 0xd3, 0xd2, 0xd0, 0xff, 0xb7, 0xb7, 0xb5, 0xff, 0x9f, 0x9e, 0x9d, 0xff,
+ 0x70, 0x6f, 0x6f, 0xff, 0x65, 0x62, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xf4, 0xff,
+ 0xf5, 0xf4, 0xf3, 0xff, 0xf6, 0xf6, 0xf4, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xe4, 0xe4, 0xe2, 0xff,
+ 0xda, 0xd9, 0xd7, 0xff, 0xd8, 0xd8, 0xd6, 0xff, 0xe3, 0xe3, 0xe1, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0x88, 0x84, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xd3, 0xd2, 0xd1, 0xff, 0xf7, 0xf6, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf4, 0xff, 0xf5, 0xf4, 0xf3, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf3, 0xf1, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xee, 0xed, 0xeb, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0xee, 0xee, 0xed, 0xff,
+ 0xc4, 0xc3, 0xc2, 0xff, 0x8f, 0x8a, 0x81, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf6, 0xf5, 0xf4, 0xff, 0xd0, 0xd0, 0xce, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf3, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xee, 0xed, 0xeb, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xea, 0xe9, 0xe7, 0xff, 0xe5, 0xe4, 0xe2, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xd2, 0xd1, 0xce, 0xff, 0x8d, 0x88, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xce, 0xcd, 0xcd, 0xff, 0xf2, 0xf2, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xee, 0xff, 0xef, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff,
+ 0xf0, 0xef, 0xed, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xef, 0xee, 0xec, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xe8, 0xe7, 0xe5, 0xff,
+ 0xe5, 0xe4, 0xe1, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0xef, 0xef, 0xed, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0x97, 0x92, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xce, 0xcd, 0xcd, 0xff, 0xf2, 0xf2, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xee, 0xff, 0xef, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xe8, 0xe7, 0xe5, 0xff,
+ 0xe5, 0xe4, 0xe1, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0xef, 0xef, 0xed, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xa4, 0x9e, 0x93, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf0, 0xf0, 0xee, 0xff, 0xcb, 0xcb, 0xc9, 0xff, 0xef, 0xef, 0xed, 0xff,
+ 0xef, 0xee, 0xec, 0xff, 0xee, 0xed, 0xeb, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xed, 0xec, 0xea, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe3, 0xe2, 0xdf, 0xff, 0xe2, 0xe0, 0xdd, 0xff, 0xef, 0xee, 0xec, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xed, 0xed, 0xeb, 0xff, 0xc9, 0xc8, 0xc7, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xe9, 0xe8, 0xe5, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe5, 0xff,
+ 0xe9, 0xe8, 0xe5, 0xff, 0xe5, 0xe4, 0xe1, 0xff, 0xe6, 0xe4, 0xe1, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xed, 0xed, 0xeb, 0xff,
+ 0xdd, 0xdc, 0xd8, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xeb, 0xea, 0xe8, 0xff, 0xc6, 0xc5, 0xc3, 0xff, 0xe9, 0xe8, 0xe6, 0xff,
+ 0xe8, 0xe7, 0xe5, 0xff, 0xe8, 0xe7, 0xe4, 0xff, 0xe8, 0xe7, 0xe4, 0xff,
+ 0xe7, 0xe6, 0xe3, 0xff, 0xe8, 0xe7, 0xe4, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe7, 0xe5, 0xe2, 0xff, 0xe4, 0xe3, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe7, 0xe6, 0xe3, 0xff, 0xc3, 0xc2, 0xc0, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe5, 0xe4, 0xe1, 0xff, 0xe6, 0xe4, 0xe1, 0xff,
+ 0xe5, 0xe4, 0xe0, 0xff, 0xe6, 0xe4, 0xe1, 0xff, 0xe5, 0xe4, 0xe0, 0xff,
+ 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xed, 0xec, 0xeb, 0xff,
+ 0xd9, 0xd7, 0xd3, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xc1, 0xc0, 0xbd, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe4, 0xe2, 0xdf, 0xff, 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xee, 0xed, 0xeb, 0xff,
+ 0xd8, 0xd6, 0xd2, 0xff, 0x9e, 0x98, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xe1, 0xe0, 0xdd, 0xff, 0xd6, 0xd4, 0xd2, 0xff, 0xeb, 0xeb, 0xe8, 0xff,
+ 0xeb, 0xeb, 0xe8, 0xff, 0xed, 0xec, 0xea, 0xff, 0xeb, 0xeb, 0xe8, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xeb, 0xeb, 0xe8, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xeb, 0xea, 0xe8, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xea, 0xe8, 0xe6, 0xff,
+ 0xe9, 0xe8, 0xe5, 0xff, 0xe6, 0xe5, 0xe3, 0xff, 0xf1, 0xf1, 0xef, 0xff,
+ 0xd7, 0xd5, 0xd1, 0xff, 0x9d, 0x97, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xe1, 0xdf, 0xdb, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xde, 0xdc, 0xd8, 0xff, 0xde, 0xdc, 0xd8, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd8, 0xd6, 0xd2, 0xff, 0xd7, 0xd6, 0xd1, 0xff,
+ 0xd5, 0xd3, 0xce, 0xff, 0x9b, 0x95, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x91, 0xff,
+ 0xa3, 0x9e, 0x92, 0xff, 0xa4, 0x9e, 0x93, 0xff, 0xa3, 0x9d, 0x92, 0xff,
+ 0xa3, 0x9d, 0x91, 0xff, 0xa3, 0x9d, 0x92, 0xff, 0xa1, 0x9c, 0x90, 0xff,
+ 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff,
+ 0xa1, 0x9b, 0x8f, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x9d, 0x97, 0x8c, 0xff, 0x9d, 0x97, 0x8c, 0xff,
+ 0x9b, 0x96, 0x8a, 0xff, 0x67, 0x63, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xd0, 0xb8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xad, 0xad, 0xad, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x5d, 0x5d, 0x5d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x02, 0xd4, 0xe4,
+ 0x00, 0x02, 0xd4, 0xf8, 0x67, 0x74, 0x6b, 0x2d, 0x6a, 0x75, 0x73, 0x74,
+ 0x69, 0x66, 0x79, 0x2d, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0xd5, 0x0c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0xde, 0x34, 0x00, 0x02, 0xd5, 0x14,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x94, 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0x86, 0x86, 0x86, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0x87, 0x87, 0x87, 0xff, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8b, 0x8b, 0x8b, 0xff, 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x93, 0x93, 0x93, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x93, 0x93, 0x93, 0xff, 0x94, 0x94, 0x94, 0xff,
+ 0x95, 0x95, 0x95, 0xff, 0x95, 0x95, 0x95, 0xff, 0x96, 0x96, 0x96, 0xff,
+ 0x96, 0x96, 0x96, 0xff, 0x96, 0x96, 0x96, 0xff, 0x97, 0x97, 0x97, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x9a, 0xc9, 0xc9, 0xc9, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xee, 0xee, 0xee, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0xde, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a,
+ 0xbf, 0xbf, 0xbf, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x6d, 0x6d, 0x6d, 0xff,
+ 0x6e, 0x6e, 0x6e, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x6f, 0x6f, 0x6f, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x6f, 0x6f, 0x6f, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x72, 0x72, 0x72, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x6f, 0x6f, 0x6f, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x72, 0x72, 0x72, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x74, 0x74, 0x74, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x72, 0x72, 0x72, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x74, 0x74, 0x74, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x74, 0x74, 0x74, 0xff, 0x75, 0x75, 0x75, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xef, 0xdc,
+ 0x00, 0x02, 0xe2, 0x68, 0x00, 0x02, 0xe2, 0x78, 0x67, 0x74, 0x6b, 0x2d,
+ 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2d, 0x66, 0x6f, 0x6e, 0x74, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0xe2, 0x8c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0xeb, 0xb4, 0x00, 0x02, 0xe2, 0x94,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x94, 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xb0, 0xb0, 0xb0, 0xff, 0x2d, 0x2d, 0x2d, 0xff,
+ 0x05, 0x05, 0x05, 0xff, 0x15, 0x15, 0x15, 0xff, 0x8e, 0x8e, 0x8e, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0x22, 0x22, 0x22, 0xff, 0x99, 0x99, 0x99, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0x0e, 0x0e, 0x0e, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x86, 0x86, 0x86, 0xff, 0x12, 0x12, 0x12, 0xff, 0x10, 0x10, 0x10, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0x74, 0x74, 0x74, 0xff,
+ 0x4a, 0x4a, 0x4a, 0xff, 0x1f, 0x1f, 0x1f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x3a, 0x3a, 0x3a, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x11, 0x11, 0x11, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0x2f, 0x2f, 0x2f, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0x37, 0x37, 0x37, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0x09, 0x09, 0x09, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0x52, 0x52, 0x52, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x08, 0x08, 0x08, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x83, 0x83, 0x83, 0xff, 0x10, 0x10, 0x10, 0xff,
+ 0x11, 0x11, 0x11, 0xff, 0x82, 0x82, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x1c, 0x1c, 0x1c, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0x32, 0x32, 0x32, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x9a, 0x9a, 0x9a, 0xff,
+ 0x0c, 0x0c, 0x0c, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5d, 0x5d, 0x5d, 0xff,
+ 0x07, 0x07, 0x07, 0xff, 0x30, 0x30, 0x30, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x9f, 0x9f, 0x9f, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x3f, 0x3f, 0x3f, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0x07, 0x07, 0x07, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x0a, 0x0a, 0x0a, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9d, 0x9d, 0xff,
+ 0xa5, 0xa5, 0xa5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x47, 0x47, 0x47, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x60, 0x60, 0x60, 0xff,
+ 0x07, 0x07, 0x07, 0xff, 0x30, 0x30, 0x30, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x9a, 0xc9, 0xc9, 0xc9, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xee, 0xee, 0xee, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0xeb, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a,
+ 0xbf, 0xbf, 0xbf, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xb1, 0xb1, 0xb1, 0xff, 0x2d, 0x2d, 0x2d, 0xff,
+ 0x05, 0x05, 0x05, 0xff, 0x15, 0x15, 0x15, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x22, 0x22, 0x22, 0xff,
+ 0x9a, 0x9a, 0x9a, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0x0e, 0x0e, 0x0e, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0x75, 0x75, 0x75, 0xff, 0x4b, 0x4b, 0x4b, 0xff,
+ 0x1f, 0x1f, 0x1f, 0xff, 0x00, 0x00, 0x00, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x1c, 0x1c, 0x1c, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0x30, 0x30, 0x30, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0xab, 0xab, 0xab, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x83, 0x83, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x56, 0x56, 0x56, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x09, 0x09, 0x09, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0x52, 0x52, 0x52, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xee, 0xee, 0xff, 0x41, 0x41, 0x41, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x23, 0x23, 0x23, 0xff, 0x08, 0x08, 0x08, 0xff,
+ 0x85, 0x85, 0x85, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x84, 0x84, 0x84, 0xff, 0x10, 0x10, 0x10, 0xff, 0x11, 0x11, 0x11, 0xff,
+ 0x83, 0x83, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0x07, 0x07, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff, 0x96, 0x96, 0x96, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x16, 0x16, 0x16, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2f, 0x2f, 0x2f, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff, 0x07, 0x07, 0x07, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x6a, 0x6a, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xb8, 0xb8, 0xb8, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x47, 0x47, 0x47, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x28, 0x28, 0x28, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0x71, 0x71, 0x71, 0xff,
+ 0x0d, 0x0d, 0x0d, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x24, 0x24, 0x24, 0xff, 0x4a, 0x4a, 0x4a, 0xff,
+ 0x08, 0x08, 0x08, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfd, 0x5c,
+ 0x00, 0x02, 0xef, 0xe8, 0x00, 0x02, 0xef, 0xf8, 0x67, 0x74, 0x6b, 0x2d,
+ 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0xf0, 0x0c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0xf9, 0x34, 0x00, 0x02, 0xf0, 0x14,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x1f, 0x1f, 0x1f, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x06, 0x06, 0x04, 0x24, 0x00, 0x00, 0x00, 0xc9,
+ 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x06, 0x06, 0x05, 0x35, 0x15, 0x15, 0x15, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x21, 0x21, 0x15, 0x08, 0x01, 0x01, 0x00, 0xcc, 0xb5, 0xb8, 0xa5, 0xff,
+ 0xe4, 0xe7, 0xd2, 0xff, 0xe4, 0xe7, 0xd2, 0xff, 0xe4, 0xe7, 0xd2, 0xff,
+ 0xe4, 0xe7, 0xd2, 0xff, 0xe4, 0xe7, 0xd2, 0xff, 0x87, 0x8a, 0x76, 0xff,
+ 0x33, 0x34, 0x2b, 0xff, 0x21, 0x21, 0x1b, 0x0e, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2e, 0x2f, 0x25, 0x58, 0x0b, 0x0b, 0x0b, 0xe8, 0xe2, 0xe5, 0xcf, 0xff,
+ 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff,
+ 0xce, 0xd3, 0xae, 0xff, 0xce, 0xd3, 0xae, 0xff, 0xb2, 0xb6, 0x96, 0xff,
+ 0x2d, 0x2d, 0x25, 0xff, 0x0c, 0x0c, 0x09, 0x4b, 0x2a, 0x2a, 0x15, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x23, 0x24, 0x1d, 0xa9, 0x9d, 0x9f, 0x90, 0xff, 0xe2, 0xe5, 0xcf, 0xff,
+ 0xc6, 0xca, 0xa6, 0xff, 0xc4, 0xc9, 0xa5, 0xff, 0xc6, 0xcb, 0xa7, 0xff,
+ 0xc7, 0xcc, 0xa8, 0xff, 0xc9, 0xce, 0xa9, 0xff, 0xc9, 0xce, 0xa9, 0xff,
+ 0x55, 0x58, 0x47, 0xff, 0x1a, 0x1b, 0x15, 0xa8, 0x2d, 0x2d, 0x25, 0x0d,
+ 0x19, 0x19, 0x19, 0x04, 0x1f, 0x1f, 0x1f, 0x03, 0x1f, 0x1f, 0x1f, 0x03,
+ 0x1f, 0x1f, 0x1f, 0x03, 0x1c, 0x1c, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x20, 0x1a, 0xf0, 0xd4, 0xd6, 0xc2, 0xff, 0xbe, 0xc2, 0xa0, 0xff,
+ 0xb3, 0xb8, 0x96, 0xff, 0xb0, 0xb5, 0x95, 0xff, 0xb3, 0xb7, 0x97, 0xff,
+ 0xb6, 0xbb, 0x99, 0xff, 0xbb, 0xc0, 0x9e, 0xff, 0xbc, 0xc1, 0x9f, 0xff,
+ 0x81, 0x85, 0x6c, 0xff, 0x3e, 0x3f, 0x32, 0xe7, 0x01, 0x01, 0x01, 0xc7,
+ 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x04, 0x04, 0x02, 0x58, 0x1c, 0x1c, 0x1c, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x23, 0x24, 0x1d, 0xfc, 0xda, 0xdd, 0xc8, 0xff, 0xaf, 0xb4, 0x94, 0xff,
+ 0xaa, 0xaf, 0x8f, 0xff, 0xa3, 0xa7, 0x89, 0xff, 0xa6, 0xaa, 0x8b, 0xff,
+ 0xaa, 0xaf, 0x8f, 0xff, 0xa9, 0xad, 0x8e, 0xff, 0xa7, 0xab, 0x8d, 0xff,
+ 0xa4, 0xa8, 0x8a, 0xff, 0xa1, 0xa5, 0x88, 0xff, 0xaa, 0xad, 0x96, 0xff,
+ 0xb3, 0xb5, 0xa5, 0xff, 0xb8, 0xbb, 0xaa, 0xff, 0xba, 0xbc, 0xab, 0xff,
+ 0xc1, 0xc3, 0xb2, 0xff, 0xc7, 0xca, 0xb7, 0xff, 0xca, 0xcd, 0xbb, 0xff,
+ 0xba, 0xbd, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2f, 0x2f, 0x27, 0x0c,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0c, 0x0c, 0x09, 0xff, 0xdd, 0xdf, 0xcb, 0xff, 0x96, 0x9b, 0x7e, 0xff,
+ 0x9d, 0xa2, 0x86, 0xff, 0x95, 0x98, 0x7c, 0xff, 0x96, 0x99, 0x7e, 0xff,
+ 0x9a, 0x9d, 0x81, 0xff, 0x99, 0x9d, 0x80, 0xff, 0x96, 0x99, 0x7e, 0xff,
+ 0x9d, 0xa1, 0x84, 0xff, 0xa5, 0xaa, 0x8b, 0xff, 0xa4, 0xa9, 0x8a, 0xff,
+ 0xa3, 0xa8, 0x89, 0xff, 0xa2, 0xa5, 0x88, 0xff, 0xa3, 0xa7, 0x89, 0xff,
+ 0xa2, 0xa5, 0x87, 0xff, 0x9f, 0xa3, 0x86, 0xff, 0x9b, 0x9e, 0x83, 0xff,
+ 0x89, 0x8d, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2f, 0x2f, 0x27, 0x18,
+ 0x1f, 0x1f, 0x1f, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0xd8, 0xdb, 0xc9, 0xff, 0x84, 0x86, 0x6e, 0xff,
+ 0x7d, 0x81, 0x69, 0xff, 0x15, 0x16, 0x12, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0xdb,
+ 0x01, 0x01, 0x01, 0xc6, 0x07, 0x07, 0x05, 0x64, 0x28, 0x28, 0x1f, 0x15,
+ 0x00, 0x00, 0x00, 0xff, 0xd7, 0xda, 0xc9, 0xff, 0x79, 0x7d, 0x67, 0xff,
+ 0x3d, 0x3f, 0x34, 0xff, 0xe0, 0xe0, 0xd9, 0xff, 0xeb, 0xed, 0xdd, 0xff,
+ 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff,
+ 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff,
+ 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff,
+ 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff, 0xe7, 0xea, 0xd8, 0xff,
+ 0xe3, 0xe6, 0xd4, 0xff, 0xde, 0xe1, 0xd0, 0xff, 0xda, 0xdc, 0xcc, 0xff,
+ 0xda, 0xdc, 0xd1, 0xff, 0x2b, 0x2c, 0x28, 0xff, 0x32, 0x32, 0x27, 0x35,
+ 0x00, 0x00, 0x00, 0xff, 0xd7, 0xda, 0xc6, 0xff, 0x6f, 0x73, 0x5e, 0xff,
+ 0x0d, 0x0d, 0x0d, 0xff, 0xf4, 0xf4, 0xec, 0xff, 0xcf, 0xd4, 0xaf, 0xff,
+ 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff,
+ 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff,
+ 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff, 0xce, 0xd3, 0xae, 0xff,
+ 0xce, 0xd3, 0xae, 0xff, 0xce, 0xd3, 0xae, 0xff, 0xca, 0xcf, 0xab, 0xff,
+ 0xc6, 0xcb, 0xa8, 0xff, 0xc2, 0xc6, 0xa4, 0xff, 0xbb, 0xc0, 0x9e, 0xff,
+ 0xab, 0xb0, 0x91, 0xff, 0x23, 0x25, 0x1e, 0xff, 0x31, 0x32, 0x28, 0x4a,
+ 0x00, 0x00, 0x00, 0xff, 0xd7, 0xda, 0xc6, 0xff, 0x49, 0x4b, 0x3d, 0xff,
+ 0xdc, 0xdc, 0xd4, 0xff, 0xea, 0xec, 0xdd, 0xff, 0xcd, 0xd2, 0xad, 0xff,
+ 0xce, 0xd3, 0xae, 0xff, 0xce, 0xd3, 0xae, 0xff, 0xcd, 0xd2, 0xad, 0xff,
+ 0xce, 0xd3, 0xae, 0xff, 0xcd, 0xd2, 0xad, 0xff, 0xcd, 0xd2, 0xad, 0xff,
+ 0xcd, 0xd2, 0xad, 0xff, 0xcd, 0xd2, 0xad, 0xff, 0xcd, 0xd2, 0xad, 0xff,
+ 0xcc, 0xd1, 0xac, 0xff, 0xca, 0xcf, 0xaa, 0xff, 0xc6, 0xcb, 0xa8, 0xff,
+ 0xc2, 0xc6, 0xa4, 0xff, 0xba, 0xbf, 0x9d, 0xff, 0xb5, 0xb9, 0x99, 0xff,
+ 0x81, 0x83, 0x6c, 0xff, 0x07, 0x08, 0x06, 0xbe, 0x31, 0x32, 0x28, 0x3f,
+ 0x00, 0x00, 0x00, 0xff, 0xd5, 0xd8, 0xc4, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0xf2, 0xf2, 0xea, 0xff, 0xca, 0xcf, 0xab, 0xff, 0xca, 0xcf, 0xaa, 0xff,
+ 0xca, 0xcf, 0xab, 0xff, 0xca, 0xcf, 0xaa, 0xff, 0xc9, 0xce, 0xaa, 0xff,
+ 0xca, 0xcf, 0xaa, 0xff, 0xc9, 0xce, 0xaa, 0xff, 0xc7, 0xcc, 0xa8, 0xff,
+ 0xc8, 0xcd, 0xa9, 0xff, 0xc8, 0xcd, 0xa9, 0xff, 0xc6, 0xcb, 0xa8, 0xff,
+ 0xc4, 0xc9, 0xa6, 0xff, 0xc1, 0xc5, 0xa3, 0xff, 0xbc, 0xc0, 0x9f, 0xff,
+ 0xb6, 0xbb, 0x9a, 0xff, 0xb0, 0xb4, 0x94, 0xff, 0x9d, 0xa1, 0x85, 0xff,
+ 0x53, 0x54, 0x45, 0xff, 0x0c, 0x0c, 0x09, 0x9a, 0x33, 0x33, 0x26, 0x27,
+ 0x00, 0x00, 0x00, 0xff, 0xb6, 0xb8, 0xa7, 0xff, 0x74, 0x74, 0x70, 0xff,
+ 0xec, 0xec, 0xe2, 0xff, 0xc3, 0xc8, 0xa5, 0xff, 0xc2, 0xc7, 0xa4, 0xff,
+ 0xc2, 0xc7, 0xa4, 0xff, 0xc2, 0xc6, 0xa4, 0xff, 0xc0, 0xc5, 0xa2, 0xff,
+ 0xc2, 0xc6, 0xa4, 0xff, 0xbf, 0xc4, 0xa1, 0xff, 0xbd, 0xc2, 0xa0, 0xff,
+ 0xc0, 0xc5, 0xa2, 0xff, 0xbd, 0xc2, 0xa0, 0xff, 0xb9, 0xbd, 0x9c, 0xff,
+ 0xb9, 0xbe, 0x9d, 0xff, 0xb3, 0xb7, 0x97, 0xff, 0xb0, 0xb5, 0x95, 0xff,
+ 0xa9, 0xad, 0x8f, 0xff, 0xa3, 0xa7, 0x8a, 0xff, 0x80, 0x83, 0x6d, 0xff,
+ 0x02, 0x02, 0x01, 0xe7, 0x18, 0x18, 0x12, 0x56, 0x30, 0x30, 0x26, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa9, 0x98, 0xff, 0xdc, 0xdc, 0xd4, 0xff,
+ 0xb8, 0xbc, 0x9b, 0xff, 0xb8, 0xbc, 0x9b, 0xff, 0xb5, 0xb9, 0x99, 0xff,
+ 0xb3, 0xb7, 0x97, 0xff, 0xb3, 0xb7, 0x97, 0xff, 0xb0, 0xb5, 0x95, 0xff,
+ 0xb0, 0xb5, 0x95, 0xff, 0xaf, 0xb3, 0x94, 0xff, 0xaf, 0xb3, 0x94, 0xff,
+ 0xaf, 0xb3, 0x94, 0xff, 0xac, 0xb0, 0x91, 0xff, 0xa8, 0xac, 0x8e, 0xff,
+ 0xa6, 0xaa, 0x8c, 0xff, 0x9f, 0xa2, 0x86, 0xff, 0x9b, 0x9f, 0x83, 0xff,
+ 0x9a, 0x9d, 0x82, 0xff, 0x8a, 0x8d, 0x75, 0xff, 0x4f, 0x52, 0x43, 0xe8,
+ 0x07, 0x07, 0x05, 0xb5, 0x30, 0x33, 0x28, 0x21, 0x2c, 0x2c, 0x21, 0x08,
+ 0x00, 0x00, 0x00, 0xff, 0x9e, 0x9f, 0x91, 0xff, 0xe5, 0xe6, 0xda, 0xff,
+ 0xad, 0xb1, 0x92, 0xff, 0xa9, 0xad, 0x8f, 0xff, 0xa6, 0xaa, 0x8c, 0xff,
+ 0xa5, 0xa9, 0x8c, 0xff, 0xa3, 0xa7, 0x8a, 0xff, 0xa3, 0xa7, 0x8a, 0xff,
+ 0xa1, 0xa5, 0x88, 0xff, 0x9f, 0xa3, 0x87, 0xff, 0x9f, 0xa2, 0x86, 0xff,
+ 0x9b, 0x9f, 0x83, 0xff, 0x99, 0x9d, 0x81, 0xff, 0x95, 0x98, 0x7e, 0xff,
+ 0x92, 0x95, 0x7b, 0xff, 0x8c, 0x8f, 0x76, 0xff, 0x8a, 0x8d, 0x74, 0xff,
+ 0x8a, 0x8d, 0x74, 0xff, 0x71, 0x73, 0x5f, 0xff, 0x08, 0x09, 0x08, 0xe8,
+ 0x15, 0x16, 0x11, 0x5d, 0x2d, 0x32, 0x23, 0x13, 0x1c, 0x1c, 0x1c, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xe3, 0xe5, 0xd9, 0xff, 0xc0, 0xc3, 0xaf, 0xff,
+ 0x94, 0x98, 0x7c, 0xff, 0x8f, 0x93, 0x79, 0xff, 0x8b, 0x8f, 0x75, 0xff,
+ 0x8a, 0x8e, 0x74, 0xff, 0x88, 0x8c, 0x73, 0xff, 0x88, 0x8c, 0x73, 0xff,
+ 0x85, 0x89, 0x70, 0xff, 0x86, 0x89, 0x71, 0xff, 0x82, 0x86, 0x6e, 0xff,
+ 0x80, 0x83, 0x6c, 0xff, 0x7d, 0x80, 0x69, 0xff, 0x79, 0x7c, 0x66, 0xff,
+ 0x72, 0x75, 0x60, 0xff, 0x71, 0x74, 0x60, 0xff, 0x71, 0x74, 0x5f, 0xff,
+ 0x6a, 0x6d, 0x59, 0xff, 0x43, 0x45, 0x38, 0xff, 0x08, 0x09, 0x07, 0xa9,
+ 0x33, 0x33, 0x27, 0x21, 0x2a, 0x2a, 0x1f, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x33, 0x34, 0x28, 0x4a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x05, 0x05, 0x04, 0xc9, 0x20, 0x20, 0x19, 0x42,
+ 0x2f, 0x2f, 0x25, 0x12, 0x1c, 0x1c, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x32, 0x32, 0x28, 0x25, 0x32, 0x34, 0x28, 0x38, 0x33, 0x34, 0x29, 0x42,
+ 0x32, 0x33, 0x28, 0x43, 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44,
+ 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44,
+ 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44,
+ 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44,
+ 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44, 0x32, 0x33, 0x28, 0x43,
+ 0x33, 0x34, 0x28, 0x3e, 0x32, 0x34, 0x28, 0x2f, 0x2f, 0x33, 0x27, 0x18,
+ 0x2a, 0x2a, 0x1c, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x33, 0x33, 0x1e, 0x09, 0x30, 0x30, 0x26, 0x14, 0x31, 0x31, 0x26, 0x19,
+ 0x30, 0x30, 0x24, 0x19, 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a,
+ 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a,
+ 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a,
+ 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a,
+ 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a, 0x30, 0x30, 0x24, 0x19,
+ 0x31, 0x31, 0x25, 0x17, 0x2f, 0x2f, 0x23, 0x10, 0x2a, 0x2a, 0x1c, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x2a, 0x2a, 0x00, 0x02, 0x1f, 0x1f, 0x00, 0x03,
+ 0x1f, 0x1f, 0x00, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x1f, 0x1f, 0x1f, 0x03,
+ 0x24, 0x24, 0x00, 0x03, 0x33, 0x33, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0xf9, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe5, 0xdf, 0xff, 0xd5, 0xd6, 0xcb, 0xff,
+ 0xd6, 0xd7, 0xca, 0xff, 0xa3, 0xa3, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf6, 0xf0, 0xff, 0x8d, 0x90, 0x7b, 0xff,
+ 0x92, 0x95, 0x7e, 0xff, 0x90, 0x93, 0x7d, 0xff, 0x97, 0x9b, 0x84, 0xff,
+ 0x6d, 0x70, 0x5f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xea, 0xec, 0xdb, 0xff,
+ 0x8a, 0x8c, 0x7d, 0xff, 0x8e, 0x91, 0x7b, 0xff, 0x91, 0x94, 0x7f, 0xff,
+ 0x8b, 0x8e, 0x7a, 0xff, 0x99, 0x9b, 0x87, 0xff, 0x91, 0x94, 0x80, 0xff,
+ 0x98, 0x9b, 0x86, 0xff, 0x91, 0x94, 0x80, 0xff, 0xb1, 0xb4, 0xa2, 0xff,
+ 0xa2, 0xa3, 0x94, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x87, 0x8a, 0x75, 0xff, 0x66, 0x68, 0x58, 0xff,
+ 0x4b, 0x4d, 0x3f, 0xff, 0x4d, 0x4f, 0x40, 0xff, 0x40, 0x41, 0x35, 0xff,
+ 0x42, 0x43, 0x37, 0xff, 0x42, 0x43, 0x37, 0xff, 0x43, 0x44, 0x37, 0xff,
+ 0x40, 0x42, 0x36, 0xff, 0x3c, 0x3d, 0x32, 0xff, 0x48, 0x49, 0x3c, 0xff,
+ 0x1a, 0x1a, 0x16, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc6, 0xc6, 0xbe, 0xff, 0x84, 0x86, 0x72, 0xff,
+ 0x25, 0x26, 0x1f, 0xff, 0xf1, 0xf2, 0xe9, 0xff, 0xdd, 0xe0, 0xc7, 0xff,
+ 0xd6, 0xda, 0xbb, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xc7, 0xcc, 0xa7, 0xff, 0x98, 0x9c, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc6, 0xc7, 0xbe, 0xff,
+ 0x5f, 0x61, 0x52, 0xff, 0x88, 0x89, 0x80, 0xff, 0xdd, 0xe0, 0xc7, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xa7, 0xab, 0x8c, 0xff, 0x87, 0x8a, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0xa1, 0x9a, 0xff, 0x25, 0x26, 0x1f, 0xff, 0xef, 0xf0, 0xe5, 0xff,
+ 0xd6, 0xda, 0xbb, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0x9e, 0xa2, 0x84, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x80, 0x81, 0x7b, 0xff, 0x96, 0x96, 0x8d, 0xff,
+ 0xe3, 0xe5, 0xd1, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0x83, 0x86, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x97, 0x99, 0x8d, 0xff,
+ 0xed, 0xef, 0xe2, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xa2, 0xa6, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x76, 0x76, 0x71, 0xff, 0xe7, 0xe9, 0xda, 0xff, 0xd1, 0xd3, 0xbd, 0xff,
+ 0xbb, 0xbf, 0x9d, 0xff, 0xbb, 0xbf, 0x9d, 0xff, 0xbb, 0xbf, 0x9d, 0xff,
+ 0xbb, 0xbf, 0x9d, 0xff, 0xbb, 0xbf, 0x9d, 0xff, 0xbb, 0xbf, 0x9d, 0xff,
+ 0x98, 0x9b, 0x80, 0xff, 0x6e, 0x71, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0a, 0xd8,
+ 0x00, 0x02, 0xfd, 0x68, 0x00, 0x02, 0xfd, 0x74, 0x67, 0x74, 0x6b, 0x2d,
+ 0x71, 0x75, 0x69, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x02, 0xfd, 0x88, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x03, 0x06, 0xb0, 0x00, 0x02, 0xfd, 0x90, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd6, 0xd6, 0xd4, 0xff, 0xbd, 0xbd, 0xbc, 0xff,
+ 0xa8, 0xa8, 0xa4, 0xff, 0x92, 0x92, 0x8f, 0xff, 0x72, 0x73, 0x70, 0xff,
+ 0x61, 0x61, 0x5e, 0xff, 0x61, 0x61, 0x5e, 0xff, 0x61, 0x61, 0x5e, 0xff,
+ 0x20, 0x20, 0x1f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xef, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0xda, 0xda, 0xd7, 0xff, 0xcf, 0xcf, 0xcd, 0xff, 0xc4, 0xc4, 0xc1, 0xff,
+ 0xa8, 0xa8, 0xa5, 0xff, 0x76, 0x76, 0x74, 0xff, 0x77, 0x77, 0x74, 0xff,
+ 0x1e, 0x1e, 0x1d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xef, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0xda, 0xda, 0xd7, 0xff, 0xcf, 0xcf, 0xcd, 0xff, 0xc4, 0xc4, 0xc1, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xae, 0xae, 0xac, 0xff, 0x8f, 0x8f, 0x8d, 0xff,
+ 0x26, 0x26, 0x26, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xef, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0xda, 0xda, 0xd7, 0xff, 0xcf, 0xcf, 0xcd, 0xff, 0xc4, 0xc4, 0xc1, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x41, 0x41, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe9, 0x83, 0x6c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xde, 0xde, 0xdc, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0xda, 0xda, 0xd7, 0xff, 0xcf, 0xcf, 0xcd, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x04, 0x05, 0x04, 0xff, 0x04, 0x06, 0x04, 0xff,
+ 0x05, 0x07, 0x05, 0xff, 0x05, 0x07, 0x05, 0xff, 0x05, 0x07, 0x05, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe8, 0x7b, 0x62, 0xff,
+ 0xe6, 0x70, 0x56, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd5, 0xd5, 0xd3, 0xff,
+ 0xdb, 0xdb, 0xd8, 0xff, 0xd0, 0xd0, 0xce, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x08, 0x0a, 0x07, 0xff, 0x0a, 0x0c, 0x09, 0xff,
+ 0x0a, 0x0d, 0x09, 0xff, 0x0b, 0x0e, 0x0a, 0xff, 0x0b, 0x0e, 0x0a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xb0, 0xa1, 0xff, 0xe8, 0x7b, 0x62, 0xff, 0xe8, 0x7b, 0x62, 0xff,
+ 0xe8, 0x7b, 0x62, 0xff, 0xe8, 0x7b, 0x62, 0xff, 0xeb, 0x8d, 0x77, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xe9, 0x7e, 0x66, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcb, 0xcb, 0xc8, 0xff, 0xd0, 0xd0, 0xce, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x0c, 0x0f, 0x0b, 0xff, 0x0f, 0x13, 0x0d, 0xff,
+ 0x10, 0x14, 0x0e, 0xff, 0x11, 0x15, 0x0f, 0xff, 0x11, 0x15, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xa3, 0x92, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xe6, 0x70, 0x56, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xbf, 0xbf, 0xbd, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0x5d, 0x5d, 0x5c, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x10, 0x15, 0x0f, 0xff, 0x14, 0x19, 0x12, 0xff,
+ 0x16, 0x1c, 0x14, 0xff, 0x17, 0x1d, 0x15, 0xff, 0x17, 0x1d, 0x15, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xa3, 0x92, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xe6, 0x70, 0x56, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb7, 0xb7, 0xb4, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0x5d, 0x5d, 0x5c, 0xff, 0x0c, 0x0c, 0x0c, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x14, 0x19, 0x12, 0xff, 0x19, 0x20, 0x17, 0xff,
+ 0x1c, 0x23, 0x19, 0xff, 0x1d, 0x24, 0x1a, 0xff, 0x1d, 0x24, 0x1a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0x84, 0x84, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x70, 0x16, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa6, 0xa6, 0xa5, 0xff, 0x0c, 0x0c, 0x0c, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x18, 0x1e, 0x16, 0xff, 0x1e, 0x26, 0x1b, 0xff,
+ 0x21, 0x2a, 0x1e, 0xff, 0x22, 0x2b, 0x1f, 0xff, 0x22, 0x2b, 0x1f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0x84, 0x84, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x4f, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xae, 0xae, 0xab, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x1d, 0x26, 0x1b, 0xff, 0x24, 0x2e, 0x21, 0xff,
+ 0x27, 0x32, 0x24, 0xff, 0x28, 0x33, 0x25, 0xff, 0x28, 0x33, 0x25, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcd, 0x84, 0x84, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x58, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb5, 0xb3, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x22, 0x2b, 0x1f, 0xff, 0x29, 0x34, 0x26, 0xff,
+ 0x2d, 0x39, 0x29, 0xff, 0x2e, 0x3a, 0x2a, 0xff, 0x2e, 0x3a, 0x2a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x7c, 0x43, 0x43, 0xff, 0x6a, 0x00, 0x00, 0xff, 0x6a, 0x00, 0x00, 0xff,
+ 0x6a, 0x00, 0x00, 0xff, 0x6a, 0x00, 0x00, 0xff, 0x72, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x58, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xbd, 0xbd, 0xbb, 0xff, 0xd0, 0xd0, 0xce, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x23, 0x2c, 0x20, 0xff, 0x2a, 0x35, 0x26, 0xff,
+ 0x30, 0x3c, 0x2b, 0xff, 0x33, 0x40, 0x2e, 0xff, 0x33, 0x40, 0x2e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x72, 0x00, 0x00, 0xff,
+ 0x58, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc5, 0xc5, 0xc3, 0xff,
+ 0xdb, 0xdb, 0xd8, 0xff, 0xd0, 0xd0, 0xce, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x1e, 0x26, 0x1c, 0xff, 0x27, 0x32, 0x24, 0xff,
+ 0x30, 0x3d, 0x2c, 0xff, 0x37, 0x45, 0x32, 0xff, 0x39, 0x48, 0x34, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0xff, 0x50, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xcd, 0xcb, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0xdb, 0xdb, 0xd8, 0xff, 0xd0, 0xd0, 0xce, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x63, 0x63, 0x62, 0xff, 0x1b, 0x23, 0x19, 0xff, 0x25, 0x30, 0x22, 0xff,
+ 0x30, 0x3e, 0x2d, 0xff, 0x39, 0x49, 0x34, 0xff, 0x3d, 0x4e, 0x38, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xef, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0xdb, 0xdb, 0xd8, 0xff, 0xd0, 0xd0, 0xce, 0xff, 0xc5, 0xc5, 0xc2, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0xae, 0xae, 0xac, 0xff, 0x9d, 0x9d, 0x9b, 0xff,
+ 0x56, 0x56, 0x55, 0xff, 0x21, 0x2a, 0x1e, 0xff, 0x2c, 0x38, 0x28, 0xff,
+ 0x37, 0x45, 0x32, 0xff, 0x40, 0x50, 0x3a, 0xff, 0x43, 0x55, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xef, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0xdb, 0xdb, 0xd8, 0xff, 0xd0, 0xd0, 0xce, 0xff, 0xba, 0xba, 0xb7, 0xff,
+ 0x9d, 0x9d, 0x9b, 0xff, 0x77, 0x77, 0x76, 0xff, 0x32, 0x38, 0x30, 0xff,
+ 0x23, 0x2c, 0x1f, 0xff, 0x31, 0x3e, 0x2d, 0xff, 0x3b, 0x4a, 0x36, 0xff,
+ 0x43, 0x55, 0x3d, 0xff, 0x48, 0x5b, 0x42, 0xff, 0x4a, 0x5e, 0x44, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x02, 0x04, 0x02, 0x1a, 0x18, 0x20, 0x12, 0x04,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xee, 0xff, 0xe5, 0xe5, 0xe3, 0xff,
+ 0xc6, 0xc6, 0xc3, 0xff, 0xac, 0xac, 0xab, 0xff, 0x8b, 0x8b, 0x8a, 0xff,
+ 0x32, 0x39, 0x2f, 0xff, 0x2c, 0x37, 0x28, 0xff, 0x37, 0x45, 0x32, 0xff,
+ 0x3f, 0x50, 0x3a, 0xff, 0x46, 0x58, 0x40, 0xff, 0x4b, 0x5e, 0x44, 0xff,
+ 0x4e, 0x63, 0x47, 0xff, 0x50, 0x65, 0x49, 0xff, 0x50, 0x65, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xda, 0xda, 0xd8, 0xff, 0xbf, 0xbf, 0xbd, 0xff,
+ 0x7a, 0x7d, 0x78, 0xff, 0x33, 0x3c, 0x30, 0xff, 0x37, 0x45, 0x32, 0xff,
+ 0x40, 0x50, 0x3a, 0xff, 0x47, 0x5a, 0x41, 0xff, 0x4f, 0x63, 0x48, 0xff,
+ 0x53, 0x69, 0x4c, 0xff, 0x56, 0x6c, 0x4e, 0xff, 0x56, 0x6c, 0x4e, 0xff,
+ 0x57, 0x6d, 0x4f, 0xff, 0x57, 0x6d, 0x4f, 0xff, 0x57, 0x6d, 0x4f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x91, 0x96, 0x8f, 0xff, 0x3b, 0x47, 0x36, 0xff,
+ 0x42, 0x54, 0x3c, 0xff, 0x4a, 0x5e, 0x44, 0xff, 0x51, 0x67, 0x4a, 0xff,
+ 0x58, 0x6f, 0x50, 0xff, 0x5b, 0x73, 0x53, 0xff, 0x5c, 0x74, 0x54, 0xff,
+ 0x5c, 0x74, 0x54, 0xff, 0x5c, 0x74, 0x54, 0xff, 0x5c, 0x74, 0x54, 0xff,
+ 0x5c, 0x74, 0x54, 0xff, 0x5c, 0x74, 0x54, 0xff, 0x5c, 0x74, 0x54, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x06, 0xb8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe2, 0xe2, 0xe0, 0xff,
+ 0xd3, 0xd3, 0xd0, 0xff, 0xc0, 0xc0, 0xbd, 0xff, 0xad, 0xad, 0xab, 0xff,
+ 0x92, 0x92, 0x91, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe2, 0xe2, 0xe0, 0xff, 0xd3, 0xd3, 0xd0, 0xff, 0xc0, 0xc0, 0xbd, 0xff,
+ 0xb7, 0xb7, 0xb5, 0xff, 0x9a, 0x9a, 0x98, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe4, 0x62, 0x45, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xde, 0xde, 0xdc, 0xff, 0xd3, 0xd3, 0xd0, 0xff,
+ 0xc1, 0xc1, 0xbe, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0x9c, 0x9c, 0x9b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x06, 0x08, 0x06, 0xff, 0x07, 0x09, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0x75, 0x5b, 0xff, 0xb3, 0x53, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd0, 0xd0, 0xcd, 0xff, 0xc1, 0xc1, 0xbe, 0xff, 0xb9, 0xb9, 0xb7, 0xff,
+ 0x9c, 0x9c, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x0e, 0x11, 0x0c, 0xff,
+ 0x0f, 0x12, 0x0d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe4, 0x62, 0x45, 0xff, 0xe4, 0x62, 0x45, 0xff,
+ 0xe4, 0x62, 0x45, 0xff, 0xe4, 0x62, 0x45, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xb1, 0x4d, 0x36, 0xff, 0x00, 0x00, 0x00, 0xff, 0xbd, 0xbd, 0xbb, 0xff,
+ 0xa4, 0xa4, 0xa2, 0xff, 0x9c, 0x9c, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x16, 0x1c, 0x14, 0xff, 0x19, 0x1f, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe4, 0x62, 0x45, 0xff,
+ 0xb0, 0x16, 0x0a, 0xff, 0xb0, 0x16, 0x0a, 0xff, 0xb0, 0x16, 0x0a, 0xff,
+ 0xb0, 0x16, 0x0a, 0xff, 0xb1, 0x1b, 0x10, 0xff, 0x99, 0x39, 0x29, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x79, 0x79, 0x77, 0xff, 0x5b, 0x5b, 0x5a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x1d, 0x25, 0x1b, 0xff, 0x20, 0x28, 0x1d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe4, 0x62, 0x45, 0xff, 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x88, 0x00, 0x00, 0xff,
+ 0xaa, 0x3f, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6c, 0x6c, 0x6a, 0xff,
+ 0x9c, 0x9c, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x27, 0x31, 0x24, 0xff,
+ 0x2a, 0x35, 0x26, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc8, 0x3e, 0x2b, 0xff, 0xa1, 0x10, 0x0b, 0xff,
+ 0xa3, 0x14, 0x0e, 0xff, 0x88, 0x00, 0x00, 0xff, 0x88, 0x00, 0x00, 0xff,
+ 0xaa, 0x3f, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc1, 0xc1, 0xbe, 0xff,
+ 0xb9, 0xb9, 0xb7, 0xff, 0x9c, 0x9c, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x2b, 0x37, 0x27, 0xff, 0x31, 0x3d, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x88, 0x00, 0x00, 0xff,
+ 0xaa, 0x3f, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd4, 0xd4, 0xd1, 0xff,
+ 0xc1, 0xc1, 0xbe, 0xff, 0xb9, 0xb9, 0xb7, 0xff, 0x9c, 0x9c, 0x9b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x2a, 0x35, 0x26, 0xff, 0x35, 0x43, 0x31, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0x3f, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe2, 0xe2, 0xe0, 0xff,
+ 0xd4, 0xd4, 0xd1, 0xff, 0xc1, 0xc1, 0xbe, 0xff, 0xb4, 0xb4, 0xb2, 0xff,
+ 0x8d, 0x8d, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2d, 0x3a, 0x29, 0xff,
+ 0x3b, 0x4a, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe0, 0xe0, 0xde, 0xff, 0xc9, 0xc9, 0xc7, 0xff, 0x93, 0x94, 0x91, 0xff,
+ 0x51, 0x54, 0x4f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x34, 0x41, 0x2f, 0xff,
+ 0x42, 0x54, 0x3d, 0xff, 0x49, 0x5d, 0x43, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x06, 0x03, 0x06, 0x20, 0x2b, 0x18, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xb7, 0xb7, 0xb5, 0xff, 0x5c, 0x60, 0x59, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x3b, 0x4a, 0x35, 0xff, 0x49, 0x5c, 0x42, 0xff,
+ 0x4f, 0x64, 0x48, 0xff, 0x53, 0x68, 0x4b, 0xff, 0x54, 0x6a, 0x4d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x14, 0x3c, 0x00, 0x03, 0x0a, 0xe4,
+ 0x00, 0x03, 0x0b, 0x08, 0x67, 0x74, 0x6b, 0x2d, 0x6f, 0x72, 0x69, 0x65,
+ 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x76, 0x65,
+ 0x72, 0x73, 0x65, 0x2d, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70,
+ 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x03, 0x0b, 0x14, 0x00, 0x03, 0x0b, 0x1c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xda, 0xda, 0xda, 0xff, 0x58, 0x58, 0x58, 0xff,
+ 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x9b, 0x9b, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xaf, 0xaf, 0xae, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0x9c, 0x9c, 0x9c, 0xff, 0x03, 0x03, 0x03, 0xff,
+ 0x03, 0x03, 0x03, 0xff, 0x03, 0x03, 0x03, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf3, 0xf3, 0xf1, 0xff, 0xe5, 0xe5, 0xe4, 0xff, 0xe0, 0xdf, 0xde, 0xff,
+ 0xf1, 0xf0, 0xef, 0xff, 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff,
+ 0xe1, 0xe1, 0xdf, 0xff, 0x63, 0x64, 0x5f, 0xff, 0x42, 0x42, 0x40, 0xff,
+ 0x32, 0x33, 0x30, 0xff, 0x30, 0x31, 0x2e, 0xff, 0x9b, 0x9a, 0x99, 0xff,
+ 0x70, 0x6f, 0x6f, 0xff, 0x65, 0x62, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x10, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xdf, 0xe0, 0xde, 0xff,
+ 0x84, 0x84, 0x80, 0xff, 0x5b, 0x5c, 0x57, 0xff, 0x56, 0x59, 0x55, 0xff,
+ 0x72, 0x72, 0x70, 0xff, 0xed, 0xed, 0xeb, 0xff, 0xe9, 0xe8, 0xe7, 0xff,
+ 0x5c, 0x5d, 0x5a, 0xff, 0x45, 0x46, 0x43, 0xff, 0x42, 0x43, 0x40, 0xff,
+ 0x3b, 0x3d, 0x3a, 0xff, 0x40, 0x41, 0x3e, 0xff, 0xc8, 0xc7, 0xc5, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0x88, 0x84, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xef, 0xee, 0xed, 0xff, 0x7d, 0x7d, 0x7b, 0xff,
+ 0x55, 0x56, 0x53, 0xff, 0x4c, 0x4e, 0x4a, 0xff, 0x49, 0x4a, 0x47, 0xff,
+ 0x4b, 0x4b, 0x49, 0xff, 0x66, 0x67, 0x64, 0xff, 0x56, 0x57, 0x54, 0xff,
+ 0x44, 0x45, 0x42, 0xff, 0x46, 0x47, 0x43, 0xff, 0x48, 0x49, 0x45, 0xff,
+ 0x49, 0x4a, 0x47, 0xff, 0x48, 0x48, 0x45, 0xff, 0xcf, 0xce, 0xcd, 0xff,
+ 0xc4, 0xc3, 0xc2, 0xff, 0x8f, 0x8a, 0x81, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf6, 0xf5, 0xf4, 0xff, 0xdb, 0xdb, 0xd9, 0xff, 0x52, 0x53, 0x51, 0xff,
+ 0x4a, 0x4c, 0x49, 0xff, 0x48, 0x49, 0x46, 0xff, 0x47, 0x48, 0x45, 0xff,
+ 0x47, 0x47, 0x45, 0xff, 0x47, 0x47, 0x44, 0xff, 0x47, 0x47, 0x44, 0xff,
+ 0x45, 0x46, 0x43, 0xff, 0x44, 0x46, 0x42, 0xff, 0x45, 0x47, 0x43, 0xff,
+ 0x48, 0x49, 0x45, 0xff, 0x4f, 0x50, 0x4c, 0xff, 0xde, 0xdd, 0xda, 0xff,
+ 0xd2, 0xd1, 0xce, 0xff, 0x8d, 0x88, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xda, 0xd9, 0xd5, 0xff, 0x3e, 0x3f, 0x3c, 0xff,
+ 0x42, 0x43, 0x41, 0xff, 0x43, 0x44, 0x41, 0xff, 0x45, 0x46, 0x43, 0xff,
+ 0x46, 0x47, 0x44, 0xff, 0x47, 0x48, 0x45, 0xff, 0x46, 0x47, 0x44, 0xff,
+ 0x45, 0x46, 0x42, 0xff, 0x44, 0x46, 0x42, 0xff, 0x44, 0x45, 0x42, 0xff,
+ 0x46, 0x47, 0x43, 0xff, 0x4f, 0x51, 0x4d, 0xff, 0xdc, 0xdb, 0xd8, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0x97, 0x92, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xe8, 0xe7, 0xe6, 0xff, 0x49, 0x4b, 0x47, 0xff,
+ 0x42, 0x43, 0x41, 0xff, 0x43, 0x44, 0x41, 0xff, 0x42, 0x43, 0x41, 0xff,
+ 0x47, 0x49, 0x46, 0xff, 0x62, 0x63, 0x60, 0xff, 0x56, 0x57, 0x54, 0xff,
+ 0x44, 0x46, 0x42, 0xff, 0x43, 0x44, 0x41, 0xff, 0x43, 0x44, 0x40, 0xff,
+ 0x46, 0x47, 0x43, 0xff, 0x4e, 0x50, 0x4c, 0xff, 0xdc, 0xdb, 0xd8, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xa4, 0x9e, 0x93, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf0, 0xf0, 0xee, 0xff, 0xed, 0xed, 0xeb, 0xff, 0xd4, 0xd4, 0xd3, 0xff,
+ 0x42, 0x43, 0x41, 0xff, 0x42, 0x43, 0x41, 0xff, 0x47, 0x47, 0x44, 0xff,
+ 0x67, 0x68, 0x66, 0xff, 0xe2, 0xe1, 0xe0, 0xff, 0xe1, 0xe0, 0xdf, 0xff,
+ 0x58, 0x59, 0x54, 0xff, 0x46, 0x47, 0x44, 0xff, 0x44, 0x45, 0x41, 0xff,
+ 0x45, 0x47, 0x43, 0xff, 0x4e, 0x50, 0x4c, 0xff, 0xdb, 0xda, 0xd6, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xed, 0xed, 0xeb, 0xff, 0xed, 0xec, 0xea, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xe5, 0xe4, 0xe2, 0xff, 0xce, 0xce, 0xcc, 0xff, 0xbc, 0xbb, 0xba, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe5, 0xff,
+ 0xd2, 0xd1, 0xce, 0xff, 0x7d, 0x7e, 0x7a, 0xff, 0x53, 0x54, 0x50, 0xff,
+ 0x52, 0x53, 0x50, 0xff, 0x56, 0x57, 0x53, 0xff, 0xd8, 0xd7, 0xd4, 0xff,
+ 0xdd, 0xdc, 0xd8, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0xe9, 0xe8, 0xe6, 0xff,
+ 0xe8, 0xe7, 0xe5, 0xff, 0xe7, 0xe6, 0xe3, 0xff, 0xe8, 0xe7, 0xe4, 0xff,
+ 0xe7, 0xe6, 0xe3, 0xff, 0xe8, 0xe7, 0xe4, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe5, 0xe3, 0xe0, 0xff, 0xda, 0xd9, 0xd6, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xda, 0xd9, 0xd5, 0xff, 0xd8, 0xd7, 0xd4, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe7, 0xe6, 0xe3, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe5, 0xe4, 0xe1, 0xff, 0xe6, 0xe4, 0xe1, 0xff,
+ 0xe5, 0xe4, 0xe0, 0xff, 0xe6, 0xe4, 0xe1, 0xff, 0xe5, 0xe4, 0xe0, 0xff,
+ 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xdb, 0xd9, 0xd5, 0xff,
+ 0xd9, 0xd7, 0xd3, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xe3, 0xe2, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe4, 0xe2, 0xdf, 0xff, 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff,
+ 0xd8, 0xd6, 0xd2, 0xff, 0x9e, 0x98, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xe1, 0xe0, 0xdd, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xdd, 0xdb, 0xd7, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd1, 0xff,
+ 0xd7, 0xd5, 0xd1, 0xff, 0x9d, 0x97, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xe1, 0xdf, 0xdb, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xde, 0xdc, 0xd8, 0xff, 0xde, 0xdc, 0xd8, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd8, 0xd6, 0xd2, 0xff, 0xd7, 0xd6, 0xd1, 0xff,
+ 0xd5, 0xd3, 0xce, 0xff, 0x9b, 0x95, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x91, 0xff,
+ 0xa3, 0x9e, 0x92, 0xff, 0xa4, 0x9e, 0x93, 0xff, 0xa3, 0x9d, 0x92, 0xff,
+ 0xa3, 0x9d, 0x91, 0xff, 0xa3, 0x9d, 0x92, 0xff, 0xa1, 0x9c, 0x90, 0xff,
+ 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff,
+ 0xa1, 0x9b, 0x8f, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x9d, 0x97, 0x8c, 0xff, 0x9d, 0x97, 0x8c, 0xff,
+ 0x9b, 0x96, 0x8a, 0xff, 0x67, 0x63, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0x14, 0x48, 0x00, 0x03, 0x14, 0x58, 0x67, 0x74, 0x6b, 0x2d,
+ 0x73, 0x70, 0x65, 0x6c, 0x6c, 0x2d, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x14, 0x6c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x1d, 0x94, 0x00, 0x03, 0x14, 0x74,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x56,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x62,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0x8b, 0xbb, 0x8c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0xff, 0xab, 0xd0, 0xac, 0xff, 0x1a, 0x3b, 0x1a, 0xff,
+ 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0x8a, 0xba, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0xb4, 0xd5, 0xb4, 0xff, 0x70, 0xa7, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x79, 0x13, 0x2c, 0x13, 0xff, 0x77, 0xa6, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x2d, 0x2d, 0x2d, 0xff, 0xcb, 0xdf, 0xcb, 0xff,
+ 0x6f, 0xae, 0x6e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7a,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xcb, 0xa6, 0xff,
+ 0x6d, 0x9d, 0x6c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0xd0, 0xe4, 0xd0, 0xff, 0x6f, 0xaf, 0x6f, 0xff,
+ 0x58, 0x70, 0x55, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0xff,
+ 0xb8, 0xd6, 0xb8, 0xff, 0x5b, 0x91, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd4, 0xe4, 0xd4, 0xff, 0x67, 0xaf, 0x67, 0xff, 0x5d, 0x90, 0x5b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0xc5, 0x9d, 0xff, 0x93, 0xbe, 0x92, 0xff, 0xb5, 0xd1, 0xb5, 0xff,
+ 0x67, 0xaf, 0x68, 0xff, 0x63, 0xa2, 0x61, 0xff, 0x58, 0x70, 0x55, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x5e,
+ 0x00, 0x00, 0x00, 0xff, 0xbb, 0xd6, 0xba, 0xff, 0x82, 0xb8, 0x81, 0xff,
+ 0x75, 0xaf, 0x74, 0xff, 0x6b, 0x88, 0x68, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0xff, 0x9d, 0xc3, 0x9d, 0xff, 0x7d, 0xb1, 0x7b, 0xff,
+ 0x6b, 0xa3, 0x68, 0xff, 0x48, 0x5c, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0xff, 0x89, 0xba, 0x88, 0xff,
+ 0x6b, 0x88, 0x68, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7b,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x88, 0x68, 0xff,
+ 0x48, 0x5c, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x1d, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x42,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x42,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x91, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x91, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x8a, 0xba, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x91, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x71, 0x13, 0x2c, 0x13, 0xff, 0x77, 0xa6, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x91, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xcb, 0xa6, 0xff, 0x6d, 0x9d, 0x6c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x91, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff, 0xb8, 0xd6, 0xb8, 0xff,
+ 0x5b, 0x91, 0x59, 0xff, 0x5b, 0x91, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0xc5, 0x9d, 0xff, 0x93, 0xbe, 0x92, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2b, 0x18,
+ 0x00, 0x03, 0x21, 0xc8, 0x00, 0x03, 0x21, 0xe4, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d,
+ 0x70, 0x6f, 0x72, 0x74, 0x72, 0x61, 0x69, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x21, 0xf0,
+ 0x00, 0x03, 0x21, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0x58, 0x58, 0x58, 0xff, 0x00, 0x00, 0x00, 0xc1,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc7, 0xc7, 0xc7, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x9b, 0x9b, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xf3, 0xf3, 0xf2, 0xff,
+ 0xe2, 0xe2, 0xe1, 0xff, 0xe1, 0xe1, 0xdd, 0xff, 0xf0, 0xf0, 0xef, 0xff,
+ 0xae, 0xae, 0xad, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xe1, 0xe2, 0xe1, 0xff, 0x7d, 0x7d, 0x7b, 0xff,
+ 0x52, 0x53, 0x51, 0xff, 0x3e, 0x3f, 0x3c, 0xff, 0x49, 0x4b, 0x47, 0xff,
+ 0x94, 0x94, 0x93, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xf3, 0xf3, 0xf2, 0xff, 0x84, 0x84, 0x80, 0xff, 0x55, 0x56, 0x53, 0xff,
+ 0x4a, 0x4c, 0x49, 0xff, 0x3d, 0x3f, 0x3b, 0xff, 0x2c, 0x2d, 0x2b, 0xff,
+ 0x3a, 0x3b, 0x39, 0xff, 0x02, 0x02, 0x02, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x05,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xe5, 0xe5, 0xe4, 0xff, 0x5b, 0x5c, 0x57, 0xff, 0x4c, 0x4e, 0x4a, 0xff,
+ 0x48, 0x49, 0x46, 0xff, 0x43, 0x44, 0x41, 0xff, 0x37, 0x37, 0x35, 0xff,
+ 0x36, 0x36, 0x34, 0xff, 0xc3, 0xc2, 0xc1, 0xff, 0xd2, 0xd1, 0xcf, 0xff,
+ 0xb7, 0xb7, 0xb5, 0xff, 0x9f, 0x9e, 0x9d, 0xff, 0x70, 0x6f, 0x6f, 0xff,
+ 0x65, 0x62, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0xdf, 0xde, 0xdd, 0xff, 0x56, 0x59, 0x55, 0xff, 0x49, 0x4a, 0x47, 0xff,
+ 0x47, 0x48, 0x45, 0xff, 0x45, 0x46, 0x43, 0xff, 0x41, 0x42, 0x40, 0xff,
+ 0x47, 0x48, 0x45, 0xff, 0xb7, 0xb7, 0xb5, 0xff, 0xda, 0xd9, 0xd7, 0xff,
+ 0xd8, 0xd8, 0xd6, 0xff, 0xcd, 0xcc, 0xca, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0x88, 0x84, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xf4, 0xff,
+ 0xef, 0xee, 0xed, 0xff, 0x71, 0x72, 0x6f, 0xff, 0x4b, 0x4b, 0x49, 0xff,
+ 0x47, 0x47, 0x45, 0xff, 0x46, 0x47, 0x44, 0xff, 0x47, 0x49, 0x46, 0xff,
+ 0x67, 0x68, 0x66, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xd5, 0xd4, 0xd3, 0xff, 0xc4, 0xc3, 0xc2, 0xff,
+ 0x8f, 0x8a, 0x81, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf3, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf1, 0xff, 0xe9, 0xe9, 0xe7, 0xff, 0x66, 0x67, 0x64, 0xff,
+ 0x47, 0x47, 0x44, 0xff, 0x47, 0x48, 0x45, 0xff, 0x62, 0x63, 0x60, 0xff,
+ 0xe3, 0xe2, 0xe0, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xea, 0xe9, 0xe7, 0xff,
+ 0xe5, 0xe4, 0xe2, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0x8d, 0x88, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf2, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xef, 0xef, 0xed, 0xff, 0xe5, 0xe4, 0xe2, 0xff, 0x56, 0x57, 0x54, 0xff,
+ 0x47, 0x47, 0x44, 0xff, 0x46, 0x47, 0x44, 0xff, 0x56, 0x57, 0x54, 0xff,
+ 0xe0, 0xe0, 0xde, 0xff, 0xe8, 0xe7, 0xe5, 0xff, 0xe5, 0xe4, 0xe1, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xe2, 0xe1, 0xde, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0x97, 0x92, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf2, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xdb, 0xdb, 0xd9, 0xff, 0x5c, 0x5d, 0x59, 0xff, 0x44, 0x45, 0x42, 0xff,
+ 0x45, 0x46, 0x43, 0xff, 0x45, 0x46, 0x42, 0xff, 0x44, 0x46, 0x42, 0xff,
+ 0x58, 0x59, 0x54, 0xff, 0xd1, 0xd0, 0xce, 0xff, 0xe3, 0xe2, 0xdf, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xe2, 0xe1, 0xde, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xef, 0xef, 0xed, 0xff, 0xef, 0xef, 0xed, 0xff, 0xea, 0xe9, 0xe7, 0xff,
+ 0x70, 0x71, 0x6c, 0xff, 0x49, 0x4a, 0x47, 0xff, 0x46, 0x47, 0x43, 0xff,
+ 0x44, 0x46, 0x42, 0xff, 0x44, 0x46, 0x42, 0xff, 0x43, 0x44, 0x41, 0xff,
+ 0x46, 0x47, 0x44, 0xff, 0x7e, 0x7e, 0x7a, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0xe2, 0xe0, 0xdd, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xeb, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xe6, 0xe5, 0xe3, 0xff,
+ 0x58, 0x58, 0x56, 0xff, 0x49, 0x4a, 0x47, 0xff, 0x48, 0x49, 0x45, 0xff,
+ 0x45, 0x47, 0x43, 0xff, 0x44, 0x45, 0x42, 0xff, 0x43, 0x44, 0x40, 0xff,
+ 0x44, 0x45, 0x41, 0xff, 0x53, 0x54, 0x50, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0xe2, 0xe1, 0xdf, 0xff,
+ 0x59, 0x5a, 0x56, 0xff, 0x4a, 0x4c, 0x48, 0xff, 0x49, 0x4a, 0x47, 0xff,
+ 0x48, 0x49, 0x45, 0xff, 0x46, 0x47, 0x43, 0xff, 0x46, 0x47, 0x43, 0xff,
+ 0x45, 0x47, 0x43, 0xff, 0x52, 0x53, 0x50, 0xff, 0xda, 0xd9, 0xd5, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff, 0xdc, 0xdb, 0xd7, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe0, 0xdf, 0xdc, 0xff,
+ 0x5e, 0x60, 0x5b, 0xff, 0x54, 0x56, 0x52, 0xff, 0x52, 0x53, 0x4f, 0xff,
+ 0x51, 0x52, 0x4e, 0xff, 0x4f, 0x51, 0x4d, 0xff, 0x4e, 0x50, 0x4c, 0xff,
+ 0x4e, 0x50, 0x4c, 0xff, 0x56, 0x57, 0x53, 0xff, 0xd8, 0xd7, 0xd4, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xdb, 0xd9, 0xd5, 0xff, 0xd9, 0xd7, 0xd3, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xe3, 0xe2, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xe4, 0xe2, 0xdf, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xdd, 0xdc, 0xd8, 0xff, 0xdb, 0xda, 0xd6, 0xff,
+ 0xdb, 0xda, 0xd6, 0xff, 0xd8, 0xd7, 0xd4, 0xff, 0xdd, 0xdb, 0xd7, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd2, 0xff,
+ 0x9e, 0x98, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff, 0xe1, 0xe0, 0xdd, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd1, 0xff, 0xd7, 0xd5, 0xd1, 0xff,
+ 0x9d, 0x97, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xe1, 0xdf, 0xdb, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdc, 0xd8, 0xff,
+ 0xde, 0xdc, 0xd8, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd8, 0xd6, 0xd2, 0xff, 0xd7, 0xd6, 0xd1, 0xff, 0xd5, 0xd3, 0xce, 0xff,
+ 0x9b, 0x95, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x91, 0xff, 0xa3, 0x9e, 0x92, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0xa3, 0x9d, 0x92, 0xff, 0xa3, 0x9d, 0x91, 0xff,
+ 0xa3, 0x9d, 0x92, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9b, 0x8f, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x9d, 0x97, 0x8c, 0xff, 0x9d, 0x97, 0x8c, 0xff, 0x9b, 0x96, 0x8a, 0xff,
+ 0x67, 0x63, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x18,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x03, 0x2b, 0x24,
+ 0x00, 0x03, 0x2b, 0x38, 0x67, 0x74, 0x6b, 0x2d, 0x64, 0x6e, 0x64, 0x2d,
+ 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x2b, 0x44,
+ 0x00, 0x03, 0x2b, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x10, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x10, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf7, 0xf7, 0xf6, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x40, 0x40, 0x40, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfb, 0xfb, 0xfa, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf6, 0xf6, 0xf5, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0x85, 0x85, 0x85, 0xff,
+ 0x4b, 0x4b, 0x49, 0xff, 0x16, 0x16, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x9d, 0x9d, 0x9d, 0xff, 0xa5, 0xa5, 0xa4, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xa3, 0xa3, 0xa2, 0xff, 0xc9, 0xc9, 0xc8, 0xff, 0xf2, 0xf2, 0xf1, 0xff,
+ 0xf0, 0xf0, 0xef, 0xff, 0xee, 0xee, 0xed, 0xff, 0xed, 0xed, 0xeb, 0xff,
+ 0x9d, 0x9d, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf7, 0xf7, 0xf6, 0xff,
+ 0xf5, 0xf5, 0xf4, 0xff, 0xf4, 0xf4, 0xf3, 0xff, 0xf2, 0xf2, 0xf1, 0xff,
+ 0xf0, 0xf0, 0xef, 0xff, 0xef, 0xef, 0xee, 0xff, 0xed, 0xed, 0xec, 0xff,
+ 0xec, 0xec, 0xea, 0xff, 0xea, 0xea, 0xe8, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf7, 0xf7, 0xf6, 0xff, 0xf5, 0xf5, 0xf4, 0xff, 0xf4, 0xf4, 0xf3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xa4, 0xa4, 0xa4, 0xff,
+ 0xa3, 0xa3, 0xa3, 0xff, 0x9a, 0x9a, 0x99, 0xff, 0xaf, 0xaf, 0xae, 0xff,
+ 0xf1, 0xf1, 0xf0, 0xff, 0x9f, 0x9f, 0x9e, 0xff, 0x72, 0x72, 0x71, 0xff,
+ 0x95, 0x95, 0x94, 0xff, 0x93, 0x93, 0x93, 0xff, 0xe9, 0xe9, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe6, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf4, 0xf4, 0xf3, 0xff,
+ 0xf2, 0xf2, 0xf1, 0xff, 0xf1, 0xf1, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf6, 0xf6, 0xf5, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf3, 0xf3, 0xf2, 0xff,
+ 0xf1, 0xf1, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff, 0xee, 0xee, 0xed, 0xff,
+ 0xec, 0xec, 0xeb, 0xff, 0xeb, 0xeb, 0xe9, 0xff, 0xe9, 0xe9, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe6, 0xff, 0xe6, 0xe6, 0xe4, 0xff, 0xe5, 0xe5, 0xe3, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf3, 0xf3, 0xf2, 0xff, 0xf1, 0xf1, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xee, 0xee, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xb1, 0xb1, 0xb1, 0xff, 0xb0, 0xb0, 0xaf, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0x97, 0x97, 0x96, 0xff, 0xee, 0xee, 0xed, 0xff,
+ 0x6f, 0x6f, 0x6e, 0xff, 0x6e, 0x6e, 0x6e, 0xff, 0x6e, 0x6e, 0x6d, 0xff,
+ 0x6d, 0x6d, 0x6c, 0xff, 0x6c, 0x6c, 0x6b, 0xff, 0x6b, 0x6b, 0x6a, 0xff,
+ 0xe3, 0xe3, 0xe1, 0xff, 0xe2, 0xe2, 0xe0, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xef, 0xff,
+ 0xee, 0xee, 0xed, 0xff, 0xed, 0xed, 0xeb, 0xff, 0xeb, 0xeb, 0xea, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf7, 0xf7, 0xf6, 0xff, 0xf5, 0xf5, 0xf4, 0xff, 0xf4, 0xf4, 0xf3, 0xff,
+ 0xf2, 0xf2, 0xf1, 0xff, 0xf0, 0xf0, 0xef, 0xff, 0xef, 0xef, 0xee, 0xff,
+ 0xed, 0xed, 0xec, 0xff, 0xec, 0xec, 0xea, 0xff, 0x6e, 0x6e, 0x6d, 0xff,
+ 0x87, 0x96, 0xa5, 0xff, 0x86, 0x96, 0xa4, 0xff, 0x85, 0x95, 0xa3, 0xff,
+ 0x85, 0x94, 0xa3, 0xff, 0x6a, 0x6a, 0x69, 0xff, 0xe1, 0xe1, 0xde, 0xff,
+ 0xdf, 0xdf, 0xdd, 0xff, 0xa3, 0xa3, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xec, 0xff, 0xec, 0xec, 0xea, 0xff,
+ 0xea, 0xea, 0xe8, 0xff, 0xe9, 0xe9, 0xe7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xb1, 0xb1, 0xb0, 0xff,
+ 0x98, 0x98, 0x98, 0xff, 0xc7, 0xc7, 0xc6, 0xff, 0xc5, 0xc5, 0xc4, 0xff,
+ 0xee, 0xee, 0xec, 0xff, 0xc3, 0xc3, 0xc2, 0xff, 0xc1, 0xc1, 0xc0, 0xff,
+ 0xe9, 0xe9, 0xe7, 0xff, 0x6c, 0x6c, 0x6c, 0xff, 0x8f, 0x9e, 0xac, 0xff,
+ 0xbd, 0xb8, 0x95, 0xff, 0x70, 0x7c, 0x69, 0xff, 0x8c, 0x9b, 0xaa, 0xff,
+ 0x69, 0x69, 0x68, 0xff, 0xde, 0xde, 0xdb, 0xff, 0xdc, 0xdc, 0xda, 0xff,
+ 0xa3, 0xa3, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xea, 0xea, 0xe9, 0xff, 0xe9, 0xe9, 0xe7, 0xff, 0xe7, 0xe7, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf3, 0xf3, 0xf2, 0xff, 0xf1, 0xf1, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xee, 0xee, 0xed, 0xff, 0xec, 0xec, 0xeb, 0xff, 0xeb, 0xeb, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe8, 0xff, 0xe8, 0xe8, 0xe6, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0x6b, 0x6b, 0x6a, 0xff, 0x96, 0xa5, 0xb4, 0xff, 0xd3, 0xc7, 0x8d, 0xff,
+ 0x9f, 0x9c, 0x64, 0xff, 0x6f, 0x7f, 0x77, 0xff, 0x68, 0x68, 0x66, 0xff,
+ 0xdb, 0xdb, 0xd8, 0xff, 0xda, 0xda, 0xd7, 0xff, 0xa0, 0xa0, 0x9f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xe8, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0xe5, 0xe5, 0xe3, 0xff, 0xe3, 0xe3, 0xe1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xef, 0xff,
+ 0xa3, 0xa3, 0xa2, 0xff, 0x95, 0x95, 0x94, 0xff, 0x94, 0x94, 0x93, 0xff,
+ 0xa9, 0xa9, 0xa8, 0xff, 0x9a, 0x9a, 0x99, 0xff, 0xa7, 0xa7, 0xa6, 0xff,
+ 0xbd, 0xbd, 0xbb, 0xff, 0xe3, 0xe3, 0xe1, 0xff, 0x6a, 0x6a, 0x69, 0xff,
+ 0x9d, 0xac, 0xbb, 0xff, 0xcd, 0xc4, 0x96, 0xff, 0x66, 0x73, 0x57, 0xff,
+ 0x9b, 0xaa, 0xb9, 0xff, 0x66, 0x66, 0x65, 0xff, 0xd8, 0xd8, 0xd5, 0xff,
+ 0xd7, 0xd7, 0xd4, 0xff, 0xa2, 0xa2, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe5, 0xe5, 0xe3, 0xff, 0xe3, 0xe3, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe0, 0xff, 0xe0, 0xe0, 0xde, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xec, 0xff, 0xec, 0xec, 0xea, 0xff,
+ 0xea, 0xea, 0xe8, 0xff, 0xe9, 0xe9, 0xe7, 0xff, 0xe7, 0xe7, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe3, 0xff, 0xe4, 0xe4, 0xe2, 0xff, 0xe2, 0xe2, 0xe0, 0xff,
+ 0xe1, 0xe1, 0xde, 0xff, 0x68, 0x68, 0x68, 0xff, 0xa5, 0xb4, 0xc3, 0xff,
+ 0xcb, 0xc5, 0x9d, 0xff, 0x6c, 0x7d, 0x6f, 0xff, 0x6f, 0x80, 0x73, 0xff,
+ 0x65, 0x65, 0x63, 0xff, 0xd6, 0xd6, 0xd2, 0xff, 0xd4, 0xd4, 0xd1, 0xff,
+ 0xa2, 0xa2, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe2, 0xe2, 0xe0, 0xff, 0xe1, 0xe1, 0xde, 0xff, 0xdf, 0xdf, 0xdd, 0xff,
+ 0xde, 0xde, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xea, 0xea, 0xe9, 0xff, 0x9b, 0x9b, 0x9a, 0xff, 0x8d, 0x8d, 0x8c, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0xbc, 0xbc, 0xbb, 0xff, 0x8f, 0x8f, 0x8d, 0xff,
+ 0x8e, 0x8e, 0x8c, 0xff, 0xb9, 0xb9, 0xb6, 0xff, 0xde, 0xde, 0xdb, 0xff,
+ 0x67, 0x67, 0x66, 0xff, 0x67, 0x67, 0x65, 0xff, 0x66, 0x66, 0x64, 0xff,
+ 0x65, 0x65, 0x64, 0xff, 0x64, 0x64, 0x63, 0xff, 0x64, 0x64, 0x62, 0xff,
+ 0xd3, 0xd3, 0xd0, 0xff, 0xd1, 0xd1, 0xce, 0xff, 0xa1, 0xa1, 0xa0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xdd, 0xff,
+ 0xde, 0xde, 0xdb, 0xff, 0xdc, 0xdc, 0xda, 0xff, 0xdb, 0xdb, 0xd8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xe8, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0xe5, 0xe5, 0xe3, 0xff, 0xe3, 0xe3, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xdf, 0xff, 0xe0, 0xe0, 0xde, 0xff, 0xde, 0xde, 0xdc, 0xff,
+ 0xdd, 0xdd, 0xda, 0xff, 0xdb, 0xdb, 0xd8, 0xff, 0xda, 0xda, 0xd7, 0xff,
+ 0xd8, 0xd8, 0xd5, 0xff, 0xd6, 0xd6, 0xd3, 0xff, 0xd5, 0xd5, 0xd2, 0xff,
+ 0xd3, 0xd3, 0xd0, 0xff, 0xd2, 0xd2, 0xce, 0xff, 0xd0, 0xd0, 0xcd, 0xff,
+ 0xcf, 0xcf, 0xcb, 0xff, 0xa0, 0xa0, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xda, 0xff, 0xdb, 0xdb, 0xd8, 0xff,
+ 0xda, 0xda, 0xd7, 0xff, 0xd8, 0xd8, 0xd5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe5, 0xe5, 0xe3, 0xff, 0x97, 0x97, 0x96, 0xff,
+ 0x8e, 0x8e, 0x8d, 0xff, 0x8d, 0x8d, 0x8c, 0xff, 0x8c, 0x8c, 0x8a, 0xff,
+ 0xdd, 0xdd, 0xdb, 0xff, 0x92, 0x92, 0x90, 0xff, 0x9e, 0x9e, 0x9b, 0xff,
+ 0x9c, 0x9c, 0x9a, 0xff, 0x87, 0x87, 0x85, 0xff, 0xd5, 0xd5, 0xd2, 0xff,
+ 0xaf, 0xaf, 0xac, 0xff, 0x98, 0x98, 0x96, 0xff, 0x8b, 0x8b, 0x88, 0xff,
+ 0xab, 0xab, 0xa7, 0xff, 0xcd, 0xcd, 0xca, 0xff, 0xcc, 0xcc, 0xc8, 0xff,
+ 0xa2, 0xa2, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xb1, 0xb1, 0xaf, 0xff, 0xb4, 0xb4, 0xb3, 0xff, 0xb4, 0xb4, 0xb1, 0xff,
+ 0xa0, 0xa0, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe2, 0xe2, 0xe0, 0xff, 0xe1, 0xe1, 0xde, 0xff, 0xdf, 0xdf, 0xdd, 0xff,
+ 0xde, 0xde, 0xdb, 0xff, 0xdc, 0xdc, 0xd9, 0xff, 0xda, 0xda, 0xd8, 0xff,
+ 0xd9, 0xd9, 0xd6, 0xff, 0xd7, 0xd7, 0xd4, 0xff, 0xd6, 0xd6, 0xd2, 0xff,
+ 0xd4, 0xd4, 0xd1, 0xff, 0xd3, 0xd3, 0xcf, 0xff, 0xd1, 0xd1, 0xcd, 0xff,
+ 0xcf, 0xcf, 0xcc, 0xff, 0xce, 0xce, 0xca, 0xff, 0xcc, 0xcc, 0xc8, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xa2, 0xa2, 0xa0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xdd, 0xff,
+ 0x94, 0x94, 0x92, 0xff, 0xb6, 0xb6, 0xb4, 0xff, 0xdb, 0xdb, 0xd8, 0xff,
+ 0x9d, 0x9d, 0x9b, 0xff, 0x88, 0x88, 0x86, 0xff, 0xd6, 0xd6, 0xd3, 0xff,
+ 0xd5, 0xd5, 0xd1, 0xff, 0x8c, 0x8c, 0x8a, 0xff, 0x8f, 0x8f, 0x8d, 0xff,
+ 0x83, 0x83, 0x80, 0xff, 0xce, 0xce, 0xca, 0xff, 0x94, 0x94, 0x91, 0xff,
+ 0x94, 0x94, 0x90, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0x9f, 0x9f, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x6d,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xda, 0xff, 0xdb, 0xdb, 0xd8, 0xff,
+ 0xda, 0xda, 0xd7, 0xff, 0xd8, 0xd8, 0xd5, 0xff, 0xd6, 0xd6, 0xd3, 0xff,
+ 0xd5, 0xd5, 0xd2, 0xff, 0xd3, 0xd3, 0xd0, 0xff, 0xd2, 0xd2, 0xce, 0xff,
+ 0xd0, 0xd0, 0xcd, 0xff, 0xcf, 0xcf, 0xcb, 0xff, 0xcd, 0xcd, 0xc9, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xa0, 0xa0, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xb1, 0xb1, 0xaf, 0xff, 0xb4, 0xb4, 0xb3, 0xff, 0xb4, 0xb4, 0xb1, 0xff,
+ 0xa0, 0xa0, 0x9d, 0xff, 0xa0, 0xa0, 0x9d, 0xff, 0x9f, 0x9f, 0x9d, 0xff,
+ 0x9f, 0x9f, 0x9d, 0xff, 0x9f, 0x9f, 0x9b, 0xff, 0x99, 0x99, 0x95, 0xff,
+ 0x8d, 0x8d, 0x89, 0xff, 0x8b, 0x8b, 0x89, 0xff, 0x8b, 0x8b, 0x89, 0xff,
+ 0x8b, 0x8b, 0x89, 0xff, 0x89, 0x89, 0x89, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x83, 0x83, 0x7f, 0xff, 0x84, 0x84, 0x82, 0xff, 0x5d, 0x5d, 0x5c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xb3,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x6d,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0x3b, 0x78, 0x00, 0x03, 0x3b, 0x84, 0x67, 0x74, 0x6b, 0x2d,
+ 0x66, 0x69, 0x6c, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x3b, 0x98, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x03, 0x44, 0xc0, 0x00, 0x03, 0x3b, 0xa0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xda, 0xda, 0xda, 0xff, 0x58, 0x58, 0x58, 0xff,
+ 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x9b, 0x9b, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xaf, 0xaf, 0xae, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0xf7, 0xf6, 0xf5, 0xff, 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf4, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xde, 0xdd, 0xdc, 0xff,
+ 0xd3, 0xd2, 0xd0, 0xff, 0xb7, 0xb7, 0xb5, 0xff, 0x9f, 0x9e, 0x9d, 0xff,
+ 0x70, 0x6f, 0x6f, 0xff, 0x65, 0x62, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xf4, 0xff,
+ 0xf5, 0xf4, 0xf3, 0xff, 0xf6, 0xf6, 0xf4, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xe4, 0xe4, 0xe2, 0xff,
+ 0xda, 0xd9, 0xd7, 0xff, 0xd8, 0xd8, 0xd6, 0xff, 0xcd, 0xcc, 0xca, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0x88, 0x84, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf4, 0xff, 0xf5, 0xf4, 0xf3, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf1, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf3, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf0, 0xff, 0xef, 0xef, 0xed, 0xff, 0xee, 0xed, 0xeb, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0xd5, 0xd4, 0xd3, 0xff,
+ 0xc4, 0xc3, 0xc2, 0xff, 0x8f, 0x8a, 0x81, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf6, 0xf5, 0xf4, 0xff, 0xf5, 0xf5, 0xf3, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf3, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xef, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xf1, 0xf1, 0xef, 0xff,
+ 0xf1, 0xf0, 0xee, 0xff, 0xee, 0xed, 0xeb, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xea, 0xe9, 0xe7, 0xff, 0xe5, 0xe4, 0xe2, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xd2, 0xd1, 0xce, 0xff, 0x8d, 0x88, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf2, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xee, 0xff, 0xef, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff,
+ 0xf0, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff, 0xf0, 0xef, 0xed, 0xff,
+ 0xef, 0xee, 0xec, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xe8, 0xe7, 0xe5, 0xff,
+ 0xe5, 0xe4, 0xe1, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0xe2, 0xe1, 0xde, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0x97, 0x92, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf2, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xee, 0xff, 0xef, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff,
+ 0xf0, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff, 0xf0, 0xef, 0xed, 0xff,
+ 0xef, 0xee, 0xec, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xe8, 0xe7, 0xe5, 0xff,
+ 0xe5, 0xe4, 0xe1, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0xe2, 0xe1, 0xde, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xa4, 0x9e, 0x93, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf0, 0xf0, 0xee, 0xff, 0xef, 0xef, 0xed, 0xff, 0xef, 0xef, 0xed, 0xff,
+ 0xef, 0xee, 0xec, 0xff, 0xee, 0xed, 0xeb, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xed, 0xec, 0xea, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xe8, 0xe7, 0xe4, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe3, 0xe2, 0xdf, 0xff, 0xe2, 0xe0, 0xdd, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xed, 0xed, 0xeb, 0xff, 0xed, 0xec, 0xea, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xe9, 0xe8, 0xe5, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe5, 0xff,
+ 0xe9, 0xe8, 0xe5, 0xff, 0xe5, 0xe4, 0xe1, 0xff, 0xe6, 0xe4, 0xe1, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xdd, 0xdc, 0xd8, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0xe9, 0xe8, 0xe6, 0xff,
+ 0xe8, 0xe7, 0xe5, 0xff, 0xe8, 0xe7, 0xe4, 0xff, 0xe8, 0xe7, 0xe4, 0xff,
+ 0xe7, 0xe6, 0xe3, 0xff, 0xe8, 0xe7, 0xe4, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe7, 0xe5, 0xe2, 0xff, 0xe4, 0xe3, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe7, 0xe6, 0xe3, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe5, 0xe4, 0xe1, 0xff, 0xe6, 0xe4, 0xe1, 0xff,
+ 0xe5, 0xe4, 0xe0, 0xff, 0xe6, 0xe4, 0xe1, 0xff, 0xe5, 0xe4, 0xe0, 0xff,
+ 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xdb, 0xd9, 0xd5, 0xff,
+ 0xd9, 0xd7, 0xd3, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xe3, 0xe2, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe4, 0xe2, 0xdf, 0xff, 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff,
+ 0xd8, 0xd6, 0xd2, 0xff, 0x9e, 0x98, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xe1, 0xe0, 0xdd, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xdd, 0xdb, 0xd7, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd1, 0xff,
+ 0xd7, 0xd5, 0xd1, 0xff, 0x9d, 0x97, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xe1, 0xdf, 0xdb, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xde, 0xdc, 0xd8, 0xff, 0xde, 0xdc, 0xd8, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd8, 0xd6, 0xd2, 0xff, 0xd7, 0xd6, 0xd1, 0xff,
+ 0xd5, 0xd3, 0xce, 0xff, 0x9b, 0x95, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x91, 0xff,
+ 0xa3, 0x9e, 0x92, 0xff, 0xa4, 0x9e, 0x93, 0xff, 0xa3, 0x9d, 0x92, 0xff,
+ 0xa3, 0x9d, 0x91, 0xff, 0xa3, 0x9d, 0x92, 0xff, 0xa1, 0x9c, 0x90, 0xff,
+ 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff,
+ 0xa1, 0x9b, 0x8f, 0xff, 0xa1, 0x9b, 0x90, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x9d, 0x97, 0x8c, 0xff, 0x9d, 0x97, 0x8c, 0xff,
+ 0x9b, 0x96, 0x8a, 0xff, 0x67, 0x63, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x44, 0xc8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0x76, 0x76, 0x76, 0xff, 0x5d, 0x5d, 0x5d, 0xff,
+ 0x40, 0x40, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0x85, 0x85, 0x85, 0xff,
+ 0x4b, 0x4b, 0x49, 0xff, 0x16, 0x16, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xbe, 0xbe, 0xbe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xa0, 0xa0, 0xa0, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x03, 0x48, 0xf4,
+ 0x00, 0x03, 0x49, 0x00, 0x67, 0x74, 0x6b, 0x2d, 0x65, 0x64, 0x69, 0x74,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x03, 0x49, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x52, 0x3c,
+ 0x00, 0x03, 0x49, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x58, 0x58, 0x58, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0xf2, 0x0e, 0x0e, 0x0e, 0xff,
+ 0x28, 0x28, 0x28, 0xff, 0x61, 0x61, 0x61, 0xdb, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0x1f, 0x1f, 0x1f, 0xe4,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xef, 0xef, 0xee, 0xff, 0xaf, 0xaf, 0xae, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0x38, 0x38, 0x38, 0xfd, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xbd, 0xbd, 0xbc, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xab, 0xab, 0xab, 0xff, 0x05, 0x05, 0x05, 0x99, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x61,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xbf, 0xbf, 0xbe, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0xbe, 0xbe, 0xbd, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xbe, 0xbe, 0xbd, 0xff, 0xbd, 0xbd, 0xbc, 0xff,
+ 0xbd, 0xbd, 0xbc, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xa1, 0xa1, 0xa0, 0xff,
+ 0xb9, 0xb7, 0xb6, 0xff, 0x82, 0x82, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfb, 0xe7, 0x3b, 0xff, 0xf2, 0xb6, 0x4d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf3, 0xf2, 0xf1, 0xff, 0xe0, 0xe0, 0xdf, 0xff,
+ 0xdb, 0xd9, 0xd7, 0xff, 0x00, 0x00, 0x00, 0xff, 0xfc, 0xeb, 0x3d, 0xff,
+ 0xf7, 0xb5, 0x44, 0xff, 0x5d, 0x50, 0x2b, 0xfe, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xbe, 0xbe, 0xbd, 0xff, 0xbd, 0xbd, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbb, 0xff, 0xbc, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xba, 0xff,
+ 0xbc, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xba, 0xff, 0xbb, 0xbb, 0xb9, 0xff,
+ 0xb9, 0xb8, 0xb8, 0xff, 0xb7, 0xb6, 0xb5, 0xff, 0xb5, 0xb4, 0xb3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0xe9, 0x3b, 0xff, 0xf7, 0xb5, 0x45, 0xff,
+ 0x6c, 0x5f, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x79,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0xf7, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xf4, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xf6, 0xf6, 0xf4, 0xff, 0xf5, 0xf4, 0xf3, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf2, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xe4, 0x3a, 0xff, 0xf4, 0xb2, 0x44, 0xff, 0x61, 0x57, 0x38, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xbc, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xba, 0xff, 0xbb, 0xbb, 0xb9, 0xff,
+ 0xba, 0xb9, 0xb8, 0xff, 0xb9, 0xb8, 0xb8, 0xff, 0xb8, 0xb8, 0xb7, 0xff,
+ 0xb9, 0xb8, 0xb8, 0xff, 0xb8, 0xb8, 0xb7, 0xff, 0xb8, 0xb8, 0xb6, 0xff,
+ 0xb4, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xdf, 0x39, 0xff,
+ 0xf3, 0xaf, 0x42, 0xff, 0x5d, 0x52, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x6f, 0x6b, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4b,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf3, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xf1, 0xf1, 0xef, 0xff,
+ 0xf2, 0xf2, 0xf0, 0xff, 0xf1, 0xf1, 0xef, 0xff, 0xf0, 0xef, 0xed, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xdc, 0x38, 0xff, 0xef, 0xb4, 0x4d, 0xff,
+ 0x66, 0x5a, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff, 0x9b, 0x99, 0x97, 0xff,
+ 0x7c, 0x78, 0x6f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xb8, 0xb8, 0xb7, 0xff, 0xb8, 0xb8, 0xb6, 0xff, 0xb6, 0xb6, 0xb5, 0xff,
+ 0xb5, 0xb5, 0xb4, 0xff, 0xb7, 0xb6, 0xb5, 0xff, 0xb6, 0xb5, 0xb4, 0xff,
+ 0xb7, 0xb6, 0xb5, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xd8, 0x37, 0xff, 0xf0, 0xa9, 0x3f, 0xff, 0x65, 0x59, 0x30, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x76, 0x76, 0x73, 0xff, 0xad, 0xac, 0xa9, 0xff,
+ 0x90, 0x8a, 0x81, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf2, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xef, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff, 0xf0, 0xef, 0xed, 0xff,
+ 0xf0, 0xef, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xd2, 0x36, 0xff,
+ 0xed, 0xa4, 0x3e, 0xff, 0x5b, 0x52, 0x30, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x9b, 0x9a, 0x98, 0xff, 0xad, 0xac, 0xaa, 0xff, 0xc6, 0xc4, 0xc2, 0xff,
+ 0x9e, 0x99, 0x8e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xb5, 0xb5, 0xb4, 0xff, 0xb5, 0xb5, 0xb4, 0xff, 0xb5, 0xb5, 0xb3, 0xff,
+ 0xb5, 0xb4, 0xb2, 0xff, 0xb4, 0xb3, 0xb2, 0xff, 0xb3, 0xb2, 0xb1, 0xff,
+ 0xae, 0xad, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd7, 0xae, 0x74, 0xff,
+ 0x61, 0x56, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x75, 0x74, 0x73, 0xff,
+ 0x82, 0x82, 0x80, 0xff, 0x9a, 0x9a, 0x97, 0xff, 0xda, 0xd9, 0xd5, 0xff,
+ 0x9f, 0x9a, 0x8e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xeb, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x4f, 0x41, 0x15, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xad, 0xab, 0xa9, 0xff, 0xb9, 0xb8, 0xb5, 0xff,
+ 0xd1, 0xd0, 0xcd, 0xff, 0xd8, 0xd7, 0xd3, 0xff, 0xdb, 0xda, 0xd6, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xb1, 0xb0, 0xae, 0xff, 0xb1, 0xb0, 0xae, 0xff, 0xb0, 0xaf, 0xae, 0xff,
+ 0xb0, 0xaf, 0xad, 0xff, 0xaf, 0xae, 0xac, 0xff, 0xa8, 0xa7, 0xa5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc1, 0xc0, 0xbd, 0xff,
+ 0xc2, 0xc2, 0xbe, 0xff, 0xce, 0xcd, 0xc9, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0xd8, 0xd7, 0xd3, 0xff, 0xdb, 0xda, 0xd6, 0xff, 0xdc, 0xdb, 0xd7, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xe5, 0xe4, 0xe1, 0xff, 0xe4, 0xe2, 0xdf, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xdd, 0xdb, 0xd9, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xd5, 0xd4, 0xd1, 0xff,
+ 0xda, 0xd9, 0xd5, 0xff, 0xd9, 0xd8, 0xd4, 0xff, 0xdb, 0xda, 0xd6, 0xff,
+ 0xda, 0xd9, 0xd5, 0xff, 0xdb, 0xd9, 0xd5, 0xff, 0xd9, 0xd7, 0xd3, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xe3, 0xe2, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xe4, 0xe2, 0xdf, 0xff,
+ 0xe4, 0xe3, 0xdf, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xda, 0xd9, 0xd5, 0xff, 0xd8, 0xd7, 0xd3, 0xff, 0xda, 0xd9, 0xd5, 0xff,
+ 0xdd, 0xdc, 0xd8, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd2, 0xff,
+ 0x9e, 0x98, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff, 0xe1, 0xe0, 0xdd, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xdb, 0xda, 0xd6, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xde, 0xdc, 0xd8, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd1, 0xff, 0xd7, 0xd5, 0xd1, 0xff,
+ 0x9d, 0x97, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xe1, 0xdf, 0xdb, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdf, 0xdd, 0xd9, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xde, 0xdc, 0xd8, 0xff, 0xdd, 0xdb, 0xd7, 0xff,
+ 0xde, 0xdc, 0xd8, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd8, 0xd6, 0xd2, 0xff, 0xd7, 0xd6, 0xd1, 0xff, 0xd5, 0xd3, 0xce, 0xff,
+ 0x9b, 0x95, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x91, 0xff, 0xa3, 0x9e, 0x92, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0xa3, 0x9d, 0x92, 0xff, 0xa3, 0x9d, 0x91, 0xff,
+ 0xa3, 0x9d, 0x92, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9b, 0x8f, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x9d, 0x97, 0x8c, 0xff, 0x9d, 0x97, 0x8c, 0xff, 0x9b, 0x96, 0x8a, 0xff,
+ 0x67, 0x63, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x52, 0x44, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x40, 0x40, 0x40, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfb, 0xe7, 0x3b, 0xff, 0xf2, 0xb6, 0x4d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xca, 0xca, 0xca, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xca, 0xca, 0xca, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0xeb, 0x3d, 0xff, 0xf7, 0xb5, 0x44, 0xff,
+ 0x61, 0x54, 0x2e, 0xf5, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xfc, 0xe9, 0x3b, 0xff, 0xf7, 0xb5, 0x45, 0xff,
+ 0x6c, 0x5f, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xdf, 0x39, 0xff, 0xf4, 0xb2, 0x44, 0xff,
+ 0x66, 0x5d, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xed, 0xed, 0xed, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xd2, 0x36, 0xff, 0xef, 0xb4, 0x4d, 0xff,
+ 0x5c, 0x4f, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd7, 0xae, 0x74, 0xff,
+ 0x65, 0x59, 0x30, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x4f, 0x41, 0x15, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x63, 0xe0, 0x00, 0x03, 0x56, 0x70, 0x00, 0x03, 0x56, 0x7c,
+ 0x67, 0x74, 0x6b, 0x2d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x56, 0x90,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x5f, 0xb8, 0x00, 0x03, 0x56, 0x98,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xff, 0xee, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xca, 0xe3, 0xc6, 0xff,
+ 0xf5, 0xff, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64,
+ 0x0d, 0x11, 0x0c, 0xff, 0x72, 0x9c, 0x6c, 0xff, 0xa6, 0xca, 0xa1, 0xff,
+ 0xca, 0xe3, 0xc6, 0xff, 0xca, 0xe3, 0xc6, 0xff, 0xcb, 0xe4, 0xc7, 0xff,
+ 0xcb, 0xe4, 0xc7, 0xff, 0xef, 0xfd, 0xee, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x17, 0x21, 0x16, 0xff,
+ 0x88, 0xb5, 0x83, 0xff, 0xca, 0xe3, 0xc6, 0xff, 0xca, 0xe3, 0xc6, 0xff,
+ 0xcb, 0xe4, 0xc7, 0xff, 0xcb, 0xe4, 0xc7, 0xff, 0xcc, 0xe5, 0xc8, 0xff,
+ 0xcd, 0xe6, 0xc9, 0xff, 0xcf, 0xe7, 0xcb, 0xff, 0xf3, 0xff, 0xf2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x7f, 0xa8, 0x79, 0xff,
+ 0x68, 0x90, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff, 0x72, 0x9c, 0x6c, 0xff,
+ 0xca, 0xe3, 0xc6, 0xff, 0xcb, 0xe4, 0xc7, 0xff, 0xcb, 0xe4, 0xc7, 0xff,
+ 0xcc, 0xe5, 0xc8, 0xff, 0xcd, 0xe5, 0xc9, 0xff, 0xcf, 0xe7, 0xca, 0xff,
+ 0xd0, 0xe9, 0xcc, 0xff, 0xd4, 0xea, 0xd0, 0xff, 0xd5, 0xec, 0xd1, 0xff,
+ 0xae, 0xd5, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0xff,
+ 0x9a, 0xbc, 0x95, 0xff, 0x63, 0x86, 0x5f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x5a, 0x2b, 0x3a, 0x29, 0xff, 0xa6, 0xca, 0xa1, 0xff,
+ 0xca, 0xe3, 0xc6, 0xff, 0x8c, 0xb8, 0x87, 0xff, 0x70, 0x98, 0x6a, 0xff,
+ 0x71, 0x98, 0x6b, 0xff, 0x72, 0x9a, 0x6b, 0xff, 0x75, 0x9c, 0x6d, 0xff,
+ 0x75, 0x9f, 0x6f, 0xff, 0x76, 0xa1, 0x70, 0xff, 0x56, 0x74, 0x53, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xaf, 0xcb, 0xac, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0xff, 0x7e, 0xab, 0x77, 0xff, 0xca, 0xe3, 0xc6, 0xff,
+ 0x78, 0xa4, 0x72, 0xff, 0x6f, 0x96, 0x69, 0xff, 0x70, 0x97, 0x6a, 0xff,
+ 0x71, 0x99, 0x6b, 0xff, 0x73, 0x9b, 0x6d, 0xff, 0x75, 0x9f, 0x6e, 0xff,
+ 0x77, 0xa1, 0x70, 0xff, 0x52, 0x6f, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0xff, 0xb7, 0xd2, 0xb2, 0xff, 0x60, 0x83, 0x5b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0xff, 0xa5, 0xc9, 0xa0, 0xff, 0x9a, 0xc1, 0x95, 0xff,
+ 0x6f, 0x96, 0x69, 0xff, 0x4f, 0x6b, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x76, 0x9f, 0x70, 0xff,
+ 0x51, 0x6d, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0xff, 0xb9, 0xd5, 0xb4, 0xff, 0x7b, 0xa5, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0xff, 0xc7, 0xe0, 0xc3, 0xff, 0x6d, 0x95, 0x68, 0xff,
+ 0x60, 0x83, 0x5b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x51, 0x71, 0x4e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x42,
+ 0x00, 0x00, 0x00, 0xff, 0xb6, 0xd3, 0xb2, 0xff, 0x81, 0xab, 0x7c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xc3, 0xdb, 0xbf, 0xff, 0x6b, 0x92, 0x65, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0xff, 0xc8, 0xef, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0xff,
+ 0xa7, 0xcc, 0xa2, 0xff, 0xb5, 0xd2, 0xb1, 0xff, 0x80, 0xa8, 0x7a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0x90, 0xb6, 0x8b, 0xff, 0x79, 0xa6, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xea, 0xc1, 0xff, 0xde, 0xf7, 0xd9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xd7, 0xae, 0xff,
+ 0xbb, 0xd9, 0xb8, 0xff, 0xaf, 0xcc, 0xab, 0xff, 0x74, 0x9e, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x7b, 0x57, 0xff, 0x8c, 0xb0, 0x87, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0xbb, 0xe1, 0xb6, 0xff,
+ 0xda, 0xf5, 0xd6, 0xff, 0xe1, 0xf7, 0xdd, 0xff, 0xdc, 0xf4, 0xd6, 0xff,
+ 0xd7, 0xf0, 0xd3, 0xff, 0xcf, 0xec, 0xcb, 0xff, 0xc6, 0xe3, 0xc3, 0xff,
+ 0xbc, 0xd6, 0xb9, 0xff, 0x7e, 0xa7, 0x78, 0xff, 0x64, 0x88, 0x5f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xff, 0xa6, 0xc1, 0xa3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0xff, 0xb3, 0xd5, 0xae, 0xff, 0xcd, 0xea, 0xc9, 0xff,
+ 0xd0, 0xeb, 0xcb, 0xff, 0xca, 0xe9, 0xc5, 0xff, 0xc7, 0xe6, 0xc3, 0xff,
+ 0xc3, 0xe3, 0xbf, 0xff, 0xbd, 0xdc, 0xba, 0xff, 0xb5, 0xd2, 0xb2, 0xff,
+ 0x96, 0xb9, 0x91, 0xff, 0x76, 0xa0, 0x71, 0xff, 0x3a, 0x4e, 0x37, 0xff,
+ 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff, 0x5e, 0x7f, 0x5a, 0xff,
+ 0x8f, 0xaf, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x9c, 0xbe, 0x97, 0xff, 0xc7, 0xe0, 0xc4, 0xff, 0xcb, 0xe3, 0xc6, 0xff,
+ 0xcd, 0xe6, 0xc9, 0xff, 0xcd, 0xe4, 0xc9, 0xff, 0xcb, 0xe4, 0xc8, 0xff,
+ 0xc7, 0xe1, 0xc4, 0xff, 0xc2, 0xdb, 0xbf, 0xff, 0x88, 0xaf, 0x82, 0xff,
+ 0x6b, 0x92, 0x66, 0xff, 0x55, 0x74, 0x51, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0xff,
+ 0x63, 0x88, 0x5e, 0xff, 0x75, 0x9c, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0xff, 0x74, 0x9e, 0x6f, 0xff, 0x72, 0x99, 0x6b, 0xff,
+ 0x73, 0x9b, 0x6d, 0xff, 0x73, 0x9a, 0x6d, 0xff, 0x71, 0x99, 0x6c, 0xff,
+ 0x70, 0x98, 0x6a, 0xff, 0x6e, 0x96, 0x68, 0xff, 0x6c, 0x93, 0x67, 0xff,
+ 0x5f, 0x81, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xaa,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x78,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0x70, 0x99, 0x6b, 0xff,
+ 0x6e, 0x94, 0x67, 0xff, 0x69, 0x8f, 0x63, 0xff, 0x68, 0x90, 0x63, 0xff,
+ 0x6b, 0x91, 0x66, 0xff, 0x5d, 0x80, 0x59, 0xff, 0x4d, 0x6a, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0x6d, 0x95, 0x68, 0xff, 0x6a, 0x8f, 0x64, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15,
+ 0x28, 0x39, 0x26, 0xff, 0x6b, 0x92, 0x66, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x5f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xaf, 0xa0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0xff, 0xde, 0xe6, 0xd6, 0xff, 0xcc, 0xdc, 0xb8, 0xff,
+ 0xbd, 0xd2, 0xa1, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x9f, 0xa4, 0x98, 0xff, 0x9b, 0xb4, 0x6f, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x72, 0x8e, 0x3a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb1, 0xc4, 0x91, 0xff,
+ 0x50, 0x65, 0x2a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x35, 0x43, 0x1b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x9c, 0xb4, 0x76, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x6b, 0x79, 0x57, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xde, 0xe6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x65,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0xff, 0xde, 0xe6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x50, 0x65, 0x2a, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0xff, 0xde, 0xe6, 0xd6, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x50, 0x65, 0x2a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff,
+ 0x9c, 0xb4, 0x76, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x50, 0x65, 0x2a, 0xff,
+ 0x50, 0x65, 0x2a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0xff, 0x9c, 0xb4, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0x63, 0xec, 0x00, 0x03, 0x64, 0x08, 0x67, 0x74, 0x6b, 0x2d,
+ 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x2d, 0x61, 0x75, 0x74, 0x68, 0x65,
+ 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x64, 0x14,
+ 0x00, 0x03, 0x64, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x24, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x24, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0xf6, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0xec,
+ 0x01, 0x01, 0x01, 0xff, 0x9b, 0x9b, 0x9b, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0x91, 0x91, 0x91, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0xd0, 0x01, 0x01, 0x01, 0xff, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xed, 0xed, 0xed, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0x9c, 0x9c, 0x9c, 0xff, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0xd8,
+ 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xf6,
+ 0x60, 0x60, 0x60, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xec, 0xec, 0xec, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0x45, 0x45, 0x45, 0xff,
+ 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0xf6, 0x85, 0x85, 0x85, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0x62, 0x62, 0x62, 0xff, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0xd0, 0x5e, 0x5e, 0x5e, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xf8, 0x58, 0x58, 0x58, 0xf0, 0x14, 0x14, 0x14, 0xe1,
+ 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0xd4,
+ 0x7b, 0x7b, 0x7b, 0xea, 0xbe, 0xbe, 0xbe, 0xf6, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xbb,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x83,
+ 0x01, 0x01, 0x01, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0x97, 0x97, 0x97, 0xec,
+ 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x51,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xc5, 0x9c, 0x9c, 0x9c, 0xe9,
+ 0xdd, 0xdd, 0xdd, 0xf9, 0xe0, 0xe0, 0xe0, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0x01, 0x01, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xec,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0x8a, 0x8a, 0x8a, 0xee, 0x00, 0x00, 0x00, 0xe2,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x94,
+ 0x92, 0x92, 0x92, 0xdf, 0xdb, 0xdb, 0xdb, 0xf7, 0xdf, 0xdf, 0xdf, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x45, 0x01, 0x01, 0x01, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xdd, 0xdd, 0xdd, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0x02, 0x02, 0x02, 0xe8, 0x00, 0x00, 0x00, 0x8c,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0xa0, 0xa2, 0xa2, 0xa2, 0xdf, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0xb6, 0xb6, 0xb6, 0xff,
+ 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x70, 0xa0, 0xa0, 0xa0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0x81, 0x81, 0x81, 0xec, 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x30, 0x02, 0x02, 0x02, 0xcb, 0xdc, 0xdc, 0xdc, 0xef,
+ 0xea, 0xea, 0xea, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x93, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0x2f, 0x2f, 0x2f, 0xe5, 0x00, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x6e, 0x82, 0x82, 0x82, 0xe0,
+ 0xee, 0xee, 0xee, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0x9f, 0x9f, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xd5, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0x0f, 0x0f, 0x0f, 0xd9, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x23, 0x1f, 0x1f, 0x1f, 0xd3,
+ 0xec, 0xec, 0xec, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xde, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xc1,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x4f,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xec, 0xda, 0xda, 0xda, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xca, 0xca, 0xca, 0xff, 0xab, 0xab, 0xab, 0xff,
+ 0x00, 0x00, 0x00, 0xd2, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0xc0,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xad, 0xac, 0xaa, 0xff, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x31, 0x16, 0x07, 0x66, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x9c, 0x52, 0x17, 0xff,
+ 0xb8, 0x6e, 0x25, 0xff, 0xb9, 0x6b, 0x26, 0xff, 0xa7, 0x5a, 0x1c, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0xa5, 0x5e, 0x1f, 0xff, 0xbc, 0x73, 0x2a, 0xff, 0xb8, 0x6f, 0x27, 0xff,
+ 0x97, 0x55, 0x1a, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x25, 0x10, 0x05, 0x5f,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0a, 0x37, 0x19, 0x08, 0xff, 0xc9, 0x9c, 0x62, 0xff,
+ 0xf4, 0xe1, 0xcb, 0xff, 0xf4, 0xe0, 0xc9, 0xff, 0xef, 0xdb, 0xbe, 0xff,
+ 0xec, 0xd5, 0xb7, 0xff, 0xeb, 0xd2, 0xb4, 0xff, 0xea, 0xd2, 0xb3, 0xff,
+ 0xeb, 0xcf, 0xb0, 0xff, 0xe9, 0xce, 0xae, 0xff, 0xe8, 0xcc, 0xab, 0xff,
+ 0xe7, 0xcc, 0xa8, 0xff, 0xe8, 0xc7, 0xa1, 0xff, 0xe6, 0xc6, 0xa1, 0xff,
+ 0xe6, 0xc6, 0xa1, 0xff, 0xe6, 0xc6, 0xa1, 0xff, 0xe6, 0xc6, 0xa1, 0xff,
+ 0xe6, 0xc6, 0xa1, 0xff, 0xe8, 0xc7, 0xa1, 0xff, 0xe8, 0xc7, 0xa1, 0xff,
+ 0xe6, 0xc6, 0xa1, 0xff, 0xe5, 0xc5, 0xa0, 0xff, 0xe5, 0xc5, 0xa0, 0xff,
+ 0xe3, 0xc2, 0x9a, 0xff, 0xe0, 0xc0, 0x9b, 0xff, 0xe0, 0xbd, 0x93, 0xff,
+ 0xdf, 0xba, 0x92, 0xff, 0xdf, 0xba, 0x8e, 0xff, 0xdd, 0xb3, 0x86, 0xff,
+ 0xd5, 0xac, 0x7c, 0xff, 0xa2, 0x61, 0x1b, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x10, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe6, 0xd0, 0xff,
+ 0xea, 0xd3, 0xaf, 0xff, 0xea, 0xcf, 0xaf, 0xff, 0xe3, 0xc2, 0x9a, 0xff,
+ 0xda, 0xb8, 0x8b, 0xff, 0xda, 0xb6, 0x87, 0xff, 0xd8, 0xb0, 0x81, 0xff,
+ 0xd6, 0xae, 0x7f, 0xff, 0xd3, 0xab, 0x7c, 0xff, 0xd1, 0xa9, 0x74, 0xff,
+ 0xcf, 0xa5, 0x6e, 0xff, 0xcc, 0xa3, 0x6d, 0xff, 0xca, 0x9f, 0x67, 0xff,
+ 0xca, 0x9f, 0x67, 0xff, 0xca, 0x9f, 0x67, 0xff, 0xca, 0x9f, 0x67, 0xff,
+ 0xca, 0x9f, 0x67, 0xff, 0xca, 0x9f, 0x67, 0xff, 0xca, 0x9f, 0x67, 0xff,
+ 0xc8, 0x9e, 0x67, 0xff, 0xc6, 0x9b, 0x63, 0xff, 0xc2, 0x98, 0x61, 0xff,
+ 0xc2, 0x93, 0x5b, 0xff, 0xbf, 0x90, 0x52, 0xff, 0xbc, 0x88, 0x4b, 0xff,
+ 0xbd, 0x84, 0x40, 0xff, 0xba, 0x7e, 0x3d, 0xff, 0xb3, 0x76, 0x34, 0xff,
+ 0xa7, 0x6a, 0x22, 0xff, 0x8d, 0x53, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x13, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe4, 0xce, 0xff,
+ 0xe9, 0xce, 0xae, 0xff, 0xe7, 0xcd, 0xa8, 0xff, 0xdf, 0xbd, 0x90, 0xff,
+ 0xd8, 0xb1, 0x83, 0xff, 0xd5, 0xad, 0x7e, 0xff, 0xd2, 0xaa, 0x7b, 0xff,
+ 0xd2, 0xa6, 0x77, 0xff, 0xd0, 0xa7, 0x71, 0xff, 0xcd, 0xa3, 0x6c, 0xff,
+ 0xc8, 0x9f, 0x68, 0xff, 0xc5, 0x9b, 0x64, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc2, 0x98, 0x5d, 0xff, 0xc1, 0x94, 0x5a, 0xff,
+ 0xbf, 0x90, 0x54, 0xff, 0xbe, 0x8e, 0x4f, 0xff, 0xbc, 0x87, 0x49, 0xff,
+ 0xba, 0x82, 0x3f, 0xff, 0xba, 0x7e, 0x3d, 0xff, 0xb1, 0x74, 0x32, 0xff,
+ 0xa7, 0x6a, 0x22, 0xff, 0x8b, 0x52, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x14, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe6, 0xd0, 0xff,
+ 0xeb, 0xcf, 0xb0, 0xff, 0xe9, 0xce, 0xae, 0xff, 0xe0, 0xbf, 0x97, 0xff,
+ 0xdb, 0xb4, 0x86, 0xff, 0xd8, 0xb0, 0x81, 0xff, 0xd7, 0xaf, 0x80, 0xff,
+ 0xd2, 0xac, 0x7b, 0xff, 0xd2, 0xa6, 0x77, 0xff, 0xd0, 0xa6, 0x6f, 0xff,
+ 0xcc, 0xa3, 0x6d, 0xff, 0xca, 0x9f, 0x67, 0xff, 0xc7, 0x9c, 0x64, 0xff,
+ 0xc7, 0x9c, 0x64, 0xff, 0xc7, 0x9c, 0x64, 0xff, 0xc7, 0x9c, 0x64, 0xff,
+ 0xc7, 0x9c, 0x64, 0xff, 0xc7, 0x9c, 0x64, 0xff, 0xc7, 0x9c, 0x64, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc2, 0x97, 0x5f, 0xff, 0xc2, 0x93, 0x5b, 0xff,
+ 0xbf, 0x90, 0x54, 0xff, 0xbe, 0x8e, 0x4f, 0xff, 0xbc, 0x84, 0x41, 0xff,
+ 0xba, 0x82, 0x3f, 0xff, 0xb5, 0x7c, 0x38, 0xff, 0xaf, 0x73, 0x2c, 0xff,
+ 0xa3, 0x66, 0x1e, 0xff, 0x87, 0x50, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe4, 0xce, 0xff,
+ 0xea, 0xcf, 0xaf, 0xff, 0xe8, 0xcd, 0xa9, 0xff, 0xdf, 0xbc, 0x92, 0xff,
+ 0xd5, 0xad, 0x7e, 0xff, 0xd2, 0xab, 0x7d, 0xff, 0xd2, 0xaa, 0x7b, 0xff,
+ 0xd0, 0xab, 0x75, 0xff, 0xd0, 0xa6, 0x6f, 0xff, 0xcd, 0xa3, 0x6c, 0xff,
+ 0xc8, 0x9f, 0x68, 0xff, 0xc7, 0x9c, 0x64, 0xff, 0xc5, 0x9b, 0x64, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9b, 0x64, 0xff, 0xc7, 0x9c, 0x64, 0xff,
+ 0xc8, 0x9e, 0x67, 0xff, 0xc8, 0x9f, 0x68, 0xff, 0xca, 0x9f, 0x67, 0xff,
+ 0xc7, 0x9d, 0x66, 0xff, 0xc5, 0x9b, 0x64, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x98, 0x5d, 0xff, 0xbf, 0x91, 0x56, 0xff, 0xbe, 0x8e, 0x4f, 0xff,
+ 0xbe, 0x86, 0x45, 0xff, 0xbc, 0x83, 0x3f, 0xff, 0xb6, 0x7c, 0x37, 0xff,
+ 0xaa, 0x6c, 0x23, 0xff, 0x8d, 0x55, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe4, 0xce, 0xff,
+ 0xe9, 0xce, 0xae, 0xff, 0xe8, 0xce, 0xa9, 0xff, 0xe1, 0xbc, 0x94, 0xff,
+ 0xda, 0xb4, 0x87, 0xff, 0xd8, 0xb2, 0x81, 0xff, 0xd7, 0xaf, 0x80, 0xff,
+ 0xd2, 0xaa, 0x7b, 0xff, 0xd0, 0xa8, 0x73, 0xff, 0xcf, 0xa5, 0x6e, 0xff,
+ 0xca, 0xa1, 0x6b, 0xff, 0xca, 0x9f, 0x67, 0xff, 0xc7, 0x9c, 0x64, 0xff,
+ 0xc8, 0x9e, 0x67, 0xff, 0xc8, 0x9e, 0x67, 0xff, 0xc8, 0x9f, 0x68, 0xff,
+ 0xc8, 0x9f, 0x68, 0xff, 0xc8, 0x9f, 0x68, 0xff, 0xca, 0x9f, 0x67, 0xff,
+ 0xc5, 0x9b, 0x64, 0xff, 0xc5, 0x9a, 0x62, 0xff, 0xc2, 0x97, 0x5f, 0xff,
+ 0xc1, 0x94, 0x5a, 0xff, 0xbe, 0x8f, 0x51, 0xff, 0xbc, 0x87, 0x49, 0xff,
+ 0xba, 0x81, 0x3d, 0xff, 0xb7, 0x7e, 0x3a, 0xff, 0xb3, 0x79, 0x34, 0xff,
+ 0xa6, 0x69, 0x21, 0xff, 0x8b, 0x52, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe1, 0xcb, 0xff,
+ 0xe8, 0xcd, 0xa9, 0xff, 0xe5, 0xc9, 0xa4, 0xff, 0xdd, 0xba, 0x90, 0xff,
+ 0xd5, 0xad, 0x7e, 0xff, 0xd2, 0xaa, 0x7b, 0xff, 0xd2, 0xaa, 0x7b, 0xff,
+ 0xd2, 0xa5, 0x75, 0xff, 0xd1, 0xa7, 0x70, 0xff, 0xcc, 0xa3, 0x6d, 0xff,
+ 0xca, 0x9f, 0x67, 0xff, 0xc8, 0x9e, 0x67, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc5, 0x9b, 0x64, 0xff, 0xc7, 0x9c, 0x64, 0xff, 0xc8, 0x9e, 0x67, 0xff,
+ 0xc8, 0x9f, 0x68, 0xff, 0xca, 0x9f, 0x67, 0xff, 0xca, 0x9f, 0x67, 0xff,
+ 0xc8, 0x9e, 0x67, 0xff, 0xc6, 0x9b, 0x63, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x97, 0x5f, 0xff, 0xbf, 0x91, 0x56, 0xff, 0xbd, 0x8c, 0x4c, 0xff,
+ 0xbc, 0x88, 0x45, 0xff, 0xbb, 0x82, 0x3e, 0xff, 0xb6, 0x7c, 0x37, 0xff,
+ 0xa9, 0x6b, 0x22, 0xff, 0x8d, 0x53, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe4, 0xce, 0xff,
+ 0xe9, 0xcd, 0xac, 0xff, 0xe7, 0xcb, 0xa6, 0xff, 0xdf, 0xbc, 0x92, 0xff,
+ 0xd8, 0xb0, 0x81, 0xff, 0xd6, 0xae, 0x7f, 0xff, 0xd2, 0xab, 0x7d, 0xff,
+ 0xd2, 0xaa, 0x7b, 0xff, 0xd1, 0xa5, 0x72, 0xff, 0xcd, 0xa3, 0x6c, 0xff,
+ 0xca, 0xa0, 0x69, 0xff, 0xc8, 0x9f, 0x68, 0xff, 0xc5, 0x9b, 0x64, 0xff,
+ 0xc5, 0x9b, 0x64, 0xff, 0xc7, 0x9c, 0x64, 0xff, 0xc7, 0x9c, 0x64, 0xff,
+ 0xc8, 0x9e, 0x67, 0xff, 0xc8, 0x9e, 0x67, 0xff, 0xc8, 0x9f, 0x68, 0xff,
+ 0xc7, 0x9d, 0x66, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc2, 0x97, 0x5f, 0xff,
+ 0xc0, 0x93, 0x59, 0xff, 0xbe, 0x8f, 0x51, 0xff, 0xbd, 0x8c, 0x4c, 0xff,
+ 0xbc, 0x85, 0x43, 0xff, 0xba, 0x7e, 0x3d, 0xff, 0xb3, 0x78, 0x32, 0xff,
+ 0xa7, 0x6a, 0x22, 0xff, 0x8b, 0x52, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe1, 0xcb, 0xff,
+ 0xe8, 0xcc, 0xa7, 0xff, 0xe5, 0xca, 0xa4, 0xff, 0xdc, 0xb9, 0x8f, 0xff,
+ 0xd6, 0xae, 0x7f, 0xff, 0xd3, 0xab, 0x7c, 0xff, 0xd2, 0xaa, 0x7b, 0xff,
+ 0xd2, 0xa5, 0x75, 0xff, 0xcf, 0xa5, 0x6e, 0xff, 0xca, 0xa1, 0x6b, 0xff,
+ 0xc8, 0x9e, 0x67, 0xff, 0xc5, 0x9a, 0x62, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x98, 0x61, 0xff, 0xc1, 0x92, 0x56, 0xff, 0xbf, 0x90, 0x54, 0xff,
+ 0xbd, 0x8d, 0x4e, 0xff, 0xbc, 0x87, 0x49, 0xff, 0xba, 0x82, 0x3f, 0xff,
+ 0xb5, 0x7d, 0x3a, 0xff, 0xb5, 0x78, 0x36, 0xff, 0xad, 0x72, 0x2c, 0xff,
+ 0xa4, 0x66, 0x1d, 0xff, 0x87, 0x50, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe4, 0xce, 0xff,
+ 0xe9, 0xcd, 0xac, 0xff, 0xe7, 0xcb, 0xa6, 0xff, 0xdd, 0xba, 0x90, 0xff,
+ 0xd5, 0xad, 0x7e, 0xff, 0xd2, 0xab, 0x79, 0xff, 0xd1, 0xa8, 0x72, 0xff,
+ 0xcf, 0xa5, 0x6e, 0xff, 0xca, 0xa1, 0x6b, 0xff, 0xc8, 0x9f, 0x68, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc2, 0x98, 0x5d, 0xff, 0xc0, 0x93, 0x59, 0xff,
+ 0xc2, 0x93, 0x5b, 0xff, 0xc2, 0x93, 0x5b, 0xff, 0xc2, 0x93, 0x5b, 0xff,
+ 0xc1, 0x97, 0x5c, 0xff, 0xc1, 0x97, 0x5c, 0xff, 0xc2, 0x98, 0x5d, 0xff,
+ 0xc2, 0x93, 0x5b, 0xff, 0xc1, 0x92, 0x56, 0xff, 0xbf, 0x90, 0x52, 0xff,
+ 0xbe, 0x8e, 0x4f, 0xff, 0xbc, 0x88, 0x4b, 0xff, 0xbc, 0x83, 0x3f, 0xff,
+ 0xb7, 0x7f, 0x3c, 0xff, 0xb6, 0x7c, 0x37, 0xff, 0xb0, 0x75, 0x2f, 0xff,
+ 0xa4, 0x68, 0x21, 0xff, 0x89, 0x51, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe6, 0xd0, 0xff,
+ 0xea, 0xcf, 0xaf, 0xff, 0xe9, 0xce, 0xaa, 0xff, 0xe1, 0xbc, 0x94, 0xff,
+ 0xdb, 0xb4, 0x86, 0xff, 0xda, 0xb3, 0x85, 0xff, 0xda, 0xb3, 0x85, 0xff,
+ 0xd6, 0xae, 0x7f, 0xff, 0xd2, 0xab, 0x79, 0xff, 0xd0, 0xa8, 0x73, 0xff,
+ 0xcf, 0xa5, 0x6e, 0xff, 0xcc, 0xa3, 0x6d, 0xff, 0xca, 0x9f, 0x67, 0xff,
+ 0xca, 0x9f, 0x67, 0xff, 0xc8, 0x9f, 0x68, 0xff, 0xc8, 0x9f, 0x68, 0xff,
+ 0xc8, 0x9f, 0x68, 0xff, 0xc8, 0x9e, 0x67, 0xff, 0xc8, 0x9e, 0x67, 0xff,
+ 0xc6, 0x9b, 0x63, 0xff, 0xc2, 0x98, 0x5d, 0xff, 0xc1, 0x94, 0x5a, 0xff,
+ 0xbf, 0x90, 0x54, 0xff, 0xbd, 0x8c, 0x4c, 0xff, 0xbb, 0x84, 0x44, 0xff,
+ 0xb7, 0x7f, 0x3c, 0xff, 0xb6, 0x7a, 0x39, 0xff, 0xb1, 0x76, 0x30, 0xff,
+ 0xa4, 0x68, 0x21, 0xff, 0x8b, 0x52, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe1, 0xcb, 0xff,
+ 0xe9, 0xce, 0xaa, 0xff, 0xe5, 0xc9, 0xa4, 0xff, 0xda, 0xb8, 0x8b, 0xff,
+ 0xd2, 0xac, 0x77, 0xff, 0xd2, 0xa5, 0x75, 0xff, 0xd1, 0xa8, 0x72, 0xff,
+ 0xcd, 0xa4, 0x6e, 0xff, 0xca, 0xa1, 0x6b, 0xff, 0xc8, 0x9e, 0x67, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc2, 0x98, 0x5d, 0xff, 0xc2, 0x93, 0x5b, 0xff,
+ 0xc1, 0x97, 0x5c, 0xff, 0xc2, 0x98, 0x5d, 0xff, 0xc2, 0x98, 0x61, 0xff,
+ 0xc2, 0x98, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x98, 0x61, 0xff, 0xc2, 0x93, 0x5b, 0xff, 0xbf, 0x91, 0x56, 0xff,
+ 0xbf, 0x90, 0x54, 0xff, 0xbd, 0x8c, 0x4c, 0xff, 0xbc, 0x88, 0x45, 0xff,
+ 0xba, 0x82, 0x3f, 0xff, 0xb7, 0x7d, 0x38, 0xff, 0xb3, 0x78, 0x32, 0xff,
+ 0xad, 0x6f, 0x26, 0xff, 0x89, 0x51, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe4, 0xce, 0xff,
+ 0xe9, 0xce, 0xaa, 0xff, 0xe7, 0xcb, 0xa6, 0xff, 0xdc, 0xb9, 0x8f, 0xff,
+ 0xd6, 0xae, 0x7f, 0xff, 0xd3, 0xab, 0x7c, 0xff, 0xd2, 0xaa, 0x7b, 0xff,
+ 0xd2, 0xa5, 0x75, 0xff, 0xd0, 0xa6, 0x6f, 0xff, 0xca, 0xa1, 0x6b, 0xff,
+ 0xc8, 0x9e, 0x67, 0xff, 0xc5, 0x9b, 0x64, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x98, 0x61, 0xff, 0xc1, 0x92, 0x56, 0xff, 0xbf, 0x91, 0x56, 0xff,
+ 0xbe, 0x8e, 0x4f, 0xff, 0xbc, 0x87, 0x49, 0xff, 0xbc, 0x83, 0x3f, 0xff,
+ 0xb7, 0x7e, 0x3a, 0xff, 0xb5, 0x79, 0x38, 0xff, 0xad, 0x76, 0x2e, 0xff,
+ 0xaf, 0x72, 0x2a, 0xff, 0x87, 0x50, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe6, 0xd0, 0xff,
+ 0xea, 0xcf, 0xaf, 0xff, 0xe9, 0xce, 0xaa, 0xff, 0xe1, 0xbd, 0x96, 0xff,
+ 0xdb, 0xb4, 0x86, 0xff, 0xd8, 0xb0, 0x81, 0xff, 0xd6, 0xae, 0x7f, 0xff,
+ 0xd2, 0xac, 0x7b, 0xff, 0xd0, 0xa8, 0x73, 0xff, 0xcd, 0xa3, 0x6c, 0xff,
+ 0xca, 0xa0, 0x69, 0xff, 0xc8, 0x9e, 0x67, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x98, 0x5d, 0xff, 0xc1, 0x92, 0x56, 0xff, 0xbf, 0x90, 0x54, 0xff,
+ 0xbd, 0x8d, 0x4e, 0xff, 0xbc, 0x89, 0x47, 0xff, 0xbc, 0x83, 0x3f, 0xff,
+ 0xb7, 0x7e, 0x3a, 0xff, 0xb5, 0x79, 0x38, 0xff, 0xaf, 0x73, 0x2c, 0xff,
+ 0xbd, 0x82, 0x42, 0xff, 0x87, 0x50, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe1, 0xcb, 0xff,
+ 0xe7, 0xcc, 0xa8, 0xff, 0xe6, 0xc6, 0xa1, 0xff, 0xdb, 0xb8, 0x8e, 0xff,
+ 0xd3, 0xab, 0x7c, 0xff, 0xd2, 0xab, 0x79, 0xff, 0xd1, 0xa7, 0x76, 0xff,
+ 0xd0, 0xa6, 0x6f, 0xff, 0xcc, 0xa2, 0x6b, 0xff, 0xca, 0x9f, 0x67, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc2, 0x98, 0x5d, 0xff,
+ 0xc2, 0x98, 0x5d, 0xff, 0xc2, 0x98, 0x5d, 0xff, 0xc2, 0x98, 0x61, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x98, 0x61, 0xff, 0xc2, 0x93, 0x5b, 0xff, 0xc1, 0x92, 0x56, 0xff,
+ 0xbf, 0x90, 0x52, 0xff, 0xbc, 0x88, 0x4b, 0xff, 0xbb, 0x84, 0x44, 0xff,
+ 0xba, 0x7e, 0x3d, 0xff, 0xb4, 0x7b, 0x37, 0xff, 0xb1, 0x76, 0x30, 0xff,
+ 0xc0, 0x8d, 0x51, 0xff, 0x89, 0x4e, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe0, 0xc9, 0xff,
+ 0xe7, 0xcb, 0xa6, 0xff, 0xe6, 0xc6, 0xa1, 0xff, 0xdc, 0xb3, 0x87, 0xff,
+ 0xd1, 0xab, 0x76, 0xff, 0xd1, 0xa5, 0x72, 0xff, 0xd0, 0xa6, 0x6f, 0xff,
+ 0xcd, 0xa3, 0x6c, 0xff, 0xc8, 0x9f, 0x68, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x97, 0x5f, 0xff, 0xc0, 0x92, 0x57, 0xff, 0xbf, 0x91, 0x56, 0xff,
+ 0xbf, 0x91, 0x56, 0xff, 0xc0, 0x92, 0x57, 0xff, 0xc2, 0x93, 0x5b, 0xff,
+ 0xc1, 0x97, 0x5c, 0xff, 0xc2, 0x98, 0x5d, 0xff, 0xc2, 0x98, 0x61, 0xff,
+ 0xc2, 0x93, 0x5b, 0xff, 0xbf, 0x91, 0x56, 0xff, 0xbf, 0x90, 0x54, 0xff,
+ 0xbd, 0x8d, 0x4e, 0xff, 0xbc, 0x89, 0x47, 0xff, 0xb8, 0x80, 0x3d, 0xff,
+ 0xb5, 0x7c, 0x38, 0xff, 0xb5, 0x78, 0x36, 0xff, 0xaf, 0x74, 0x2e, 0xff,
+ 0xc0, 0x8d, 0x51, 0xff, 0x86, 0x4c, 0x13, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe1, 0xcb, 0xff,
+ 0xe6, 0xca, 0xa5, 0xff, 0xe6, 0xc6, 0xa1, 0xff, 0xdb, 0xb4, 0x86, 0xff,
+ 0xd1, 0xab, 0x76, 0xff, 0xd0, 0xa7, 0x71, 0xff, 0xcf, 0xa5, 0x6e, 0xff,
+ 0xca, 0xa1, 0x6b, 0xff, 0xc8, 0x9e, 0x67, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x93, 0x5b, 0xff, 0xbf, 0x91, 0x56, 0xff, 0xbe, 0x90, 0x55, 0xff,
+ 0xbe, 0x8f, 0x51, 0xff, 0xbd, 0x90, 0x56, 0xff, 0xbd, 0x90, 0x56, 0xff,
+ 0xbd, 0x90, 0x56, 0xff, 0xbd, 0x90, 0x56, 0xff, 0xbd, 0x90, 0x56, 0xff,
+ 0xbd, 0x8e, 0x50, 0xff, 0xbd, 0x8d, 0x4e, 0xff, 0xbc, 0x88, 0x4b, 0xff,
+ 0xbb, 0x84, 0x44, 0xff, 0xba, 0x82, 0x3f, 0xff, 0xb7, 0x7e, 0x3a, 0xff,
+ 0xb4, 0x7b, 0x37, 0xff, 0xb1, 0x77, 0x32, 0xff, 0xad, 0x71, 0x2a, 0xff,
+ 0xca, 0x9d, 0x63, 0xff, 0x87, 0x4d, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe1, 0xcb, 0xff,
+ 0xe8, 0xcc, 0xa7, 0xff, 0xe4, 0xc8, 0xa3, 0xff, 0xda, 0xb8, 0x8d, 0xff,
+ 0xd3, 0xab, 0x7c, 0xff, 0xd2, 0xa6, 0x77, 0xff, 0xd0, 0xab, 0x75, 0xff,
+ 0xd0, 0xa6, 0x6f, 0xff, 0xcb, 0xa2, 0x6c, 0xff, 0xc8, 0x9f, 0x68, 0xff,
+ 0xc6, 0x9b, 0x63, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc2, 0x97, 0x5f, 0xff,
+ 0xc2, 0x98, 0x5d, 0xff, 0xc2, 0x98, 0x61, 0xff, 0xc2, 0x98, 0x61, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc2, 0x98, 0x61, 0xff, 0xc1, 0x92, 0x56, 0xff, 0xbf, 0x91, 0x56, 0xff,
+ 0xbe, 0x8f, 0x51, 0xff, 0xbc, 0x88, 0x4b, 0xff, 0xbc, 0x84, 0x41, 0xff,
+ 0xb5, 0x7d, 0x3a, 0xff, 0xb5, 0x7c, 0x38, 0xff, 0xb1, 0x76, 0x30, 0xff,
+ 0xcc, 0x9f, 0x69, 0xff, 0x89, 0x51, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf5, 0xe4, 0xce, 0xff,
+ 0xe8, 0xcd, 0xa9, 0xff, 0xe5, 0xc9, 0xa4, 0xff, 0xdc, 0xb9, 0x8f, 0xff,
+ 0xd5, 0xad, 0x7e, 0xff, 0xd2, 0xaa, 0x7b, 0xff, 0xd2, 0xab, 0x79, 0xff,
+ 0xd1, 0xa7, 0x70, 0xff, 0xcf, 0xa5, 0x6e, 0xff, 0xca, 0xa1, 0x6b, 0xff,
+ 0xc8, 0x9f, 0x68, 0xff, 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc2, 0x93, 0x5b, 0xff, 0xbf, 0x91, 0x56, 0xff,
+ 0xbf, 0x90, 0x52, 0xff, 0xbc, 0x87, 0x49, 0xff, 0xbc, 0x83, 0x3f, 0xff,
+ 0xb7, 0x7e, 0x3a, 0xff, 0xb8, 0x7f, 0x3b, 0xff, 0xbc, 0x82, 0x3d, 0xff,
+ 0xce, 0xa1, 0x6b, 0xff, 0x89, 0x4e, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe1, 0xcb, 0xff,
+ 0xe8, 0xcb, 0xa5, 0xff, 0xe5, 0xc9, 0xa4, 0xff, 0xda, 0xb8, 0x8b, 0xff,
+ 0xd2, 0xaa, 0x7b, 0xff, 0xd2, 0xa5, 0x75, 0xff, 0xd1, 0xa7, 0x70, 0xff,
+ 0xcd, 0xa4, 0x6e, 0xff, 0xca, 0x9f, 0x67, 0xff, 0xc7, 0x9c, 0x64, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc1, 0x97, 0x5c, 0xff, 0xc0, 0x93, 0x59, 0xff,
+ 0xc0, 0x92, 0x57, 0xff, 0xc0, 0x92, 0x57, 0xff, 0xc0, 0x92, 0x57, 0xff,
+ 0xc0, 0x92, 0x57, 0xff, 0xc0, 0x92, 0x57, 0xff, 0xc0, 0x92, 0x57, 0xff,
+ 0xbf, 0x91, 0x56, 0xff, 0xbf, 0x90, 0x52, 0xff, 0xbe, 0x8e, 0x4f, 0xff,
+ 0xbc, 0x89, 0x47, 0xff, 0xbb, 0x84, 0x44, 0xff, 0xb9, 0x81, 0x3e, 0xff,
+ 0xb5, 0x7c, 0x38, 0xff, 0xb8, 0x7f, 0x3b, 0xff, 0xbc, 0x85, 0x45, 0xff,
+ 0xcd, 0xa0, 0x6a, 0xff, 0x87, 0x50, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x15, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe0, 0xc9, 0xff,
+ 0xe6, 0xc9, 0xa3, 0xff, 0xe5, 0xc5, 0xa0, 0xff, 0xd9, 0xb8, 0x88, 0xff,
+ 0xd3, 0xa6, 0x76, 0xff, 0xd0, 0xa7, 0x71, 0xff, 0xcf, 0xa5, 0x6e, 0xff,
+ 0xcb, 0xa2, 0x6c, 0xff, 0xca, 0x9f, 0x67, 0xff, 0xc6, 0x9b, 0x63, 0xff,
+ 0xc5, 0x9a, 0x62, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xc2, 0x98, 0x5d, 0xff,
+ 0xc2, 0x98, 0x61, 0xff, 0xc2, 0x98, 0x61, 0xff, 0xc4, 0x99, 0x61, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc5, 0x9a, 0x62, 0xff, 0xc5, 0x9a, 0x62, 0xff,
+ 0xc4, 0x99, 0x61, 0xff, 0xc1, 0x94, 0x5a, 0xff, 0xc0, 0x93, 0x59, 0xff,
+ 0xbf, 0x90, 0x54, 0xff, 0xbc, 0x8c, 0x4d, 0xff, 0xbc, 0x89, 0x47, 0xff,
+ 0xbe, 0x8a, 0x4d, 0xff, 0xc4, 0x99, 0x61, 0xff, 0xbe, 0x8b, 0x4f, 0xff,
+ 0xc7, 0x9d, 0x60, 0xff, 0x89, 0x4e, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x14, 0x37, 0x19, 0x08, 0xff, 0xf4, 0xe0, 0xc9, 0xff,
+ 0xe6, 0xc8, 0xa1, 0xff, 0xe1, 0xc3, 0x9c, 0xff, 0xda, 0xb3, 0x85, 0xff,
+ 0xd1, 0xa5, 0x72, 0xff, 0xcf, 0xa5, 0x6e, 0xff, 0xcd, 0xa3, 0x6c, 0xff,
+ 0xc8, 0x9f, 0x68, 0xff, 0xc5, 0x9b, 0x64, 0xff, 0xc2, 0x99, 0x5f, 0xff,
+ 0xc2, 0x93, 0x5b, 0xff, 0xc0, 0x92, 0x57, 0xff, 0xbf, 0x91, 0x56, 0xff,
+ 0xbf, 0x91, 0x56, 0xff, 0xc0, 0x92, 0x57, 0xff, 0xc2, 0x93, 0x5b, 0xff,
+ 0xc1, 0x97, 0x5c, 0xff, 0xc5, 0x9a, 0x62, 0xff, 0xc8, 0x9e, 0x67, 0xff,
+ 0xcd, 0xa3, 0x6c, 0xff, 0xcd, 0xa3, 0x6c, 0xff, 0xce, 0xa1, 0x6b, 0xff,
+ 0xce, 0xa1, 0x6b, 0xff, 0xd2, 0xab, 0x79, 0xff, 0xd2, 0xaa, 0x77, 0xff,
+ 0xd1, 0xa5, 0x72, 0xff, 0xd4, 0xa7, 0x73, 0xff, 0xbf, 0x8a, 0x4c, 0xff,
+ 0xb1, 0x73, 0x30, 0xff, 0x87, 0x4d, 0x14, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x12, 0x33, 0x17, 0x07, 0xc1, 0xb2, 0x75, 0x2d, 0xff,
+ 0xc7, 0x9d, 0x60, 0xff, 0xc4, 0x9a, 0x5d, 0xff, 0xbd, 0x8c, 0x4c, 0xff,
+ 0xba, 0x7e, 0x3d, 0xff, 0xb8, 0x7e, 0x39, 0xff, 0xb6, 0x7a, 0x39, 0xff,
+ 0xb5, 0x78, 0x36, 0xff, 0xb3, 0x75, 0x32, 0xff, 0xaf, 0x77, 0x2e, 0xff,
+ 0xad, 0x72, 0x2c, 0xff, 0xac, 0x74, 0x2b, 0xff, 0xaa, 0x72, 0x29, 0xff,
+ 0xaa, 0x72, 0x29, 0xff, 0xaa, 0x72, 0x29, 0xff, 0xae, 0x71, 0x29, 0xff,
+ 0xae, 0x71, 0x29, 0xff, 0xae, 0x71, 0x29, 0xff, 0xae, 0x71, 0x29, 0xff,
+ 0xaa, 0x72, 0x29, 0xff, 0xa9, 0x6d, 0x26, 0xff, 0xaa, 0x6c, 0x23, 0xff,
+ 0xa5, 0x69, 0x22, 0xff, 0xa3, 0x67, 0x20, 0xff, 0xa2, 0x65, 0x1d, 0xff,
+ 0x9e, 0x61, 0x19, 0xff, 0x9b, 0x5f, 0x18, 0xff, 0x99, 0x5d, 0x16, 0xff,
+ 0x92, 0x56, 0x15, 0xff, 0x58, 0x30, 0x0d, 0xff, 0x26, 0x11, 0x05, 0xb4,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x0e, 0x2b, 0x13, 0x06, 0x71, 0x31, 0x16, 0x07, 0xc7,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff, 0x37, 0x19, 0x08, 0xff,
+ 0x37, 0x19, 0x08, 0xff, 0x26, 0x11, 0x05, 0xb4, 0x0c, 0x05, 0x01, 0x65,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x57,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x3b,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x95, 0xb8, 0x00, 0x03, 0x88, 0x48,
+ 0x00, 0x03, 0x88, 0x54, 0x67, 0x74, 0x6b, 0x2d, 0x66, 0x6f, 0x6e, 0x74,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x03, 0x88, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x91, 0x90,
+ 0x00, 0x03, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xb0, 0xb0, 0xb0, 0xff,
+ 0x2d, 0x2d, 0x2d, 0xff, 0x05, 0x05, 0x05, 0xff, 0x15, 0x15, 0x15, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x22, 0x22, 0x22, 0xff,
+ 0x99, 0x99, 0x99, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xb6, 0xb6, 0xb6, 0xff,
+ 0x0e, 0x0e, 0x0e, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x86, 0x86, 0x86, 0xff, 0x12, 0x12, 0x12, 0xff,
+ 0x10, 0x10, 0x10, 0xff, 0x98, 0x98, 0x98, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0x74, 0x74, 0x74, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x1f, 0x1f, 0x1f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0x3a, 0x3a, 0x3a, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0x11, 0x11, 0x11, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0x2f, 0x2f, 0x2f, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0xaa, 0xaa, 0xaa, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x37, 0x37, 0x37, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0x09, 0x09, 0x09, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0x52, 0x52, 0x52, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x08, 0x08, 0x08, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x83, 0x83, 0x83, 0xff,
+ 0x10, 0x10, 0x10, 0xff, 0x11, 0x11, 0x11, 0xff, 0x82, 0x82, 0x82, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x1c, 0x1c, 0x1c, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xa0, 0xa0, 0xa0, 0xff,
+ 0x32, 0x32, 0x32, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x9a, 0x9a, 0x9a, 0xff, 0x0c, 0x0c, 0x0c, 0xff, 0x2b, 0x2b, 0x2b, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x5d, 0x5d, 0x5d, 0xff, 0x07, 0x07, 0x07, 0xff, 0x30, 0x30, 0x30, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0x9f, 0x9f, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x3f, 0x3f, 0x3f, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x07, 0x07, 0x07, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x0a, 0x0a, 0x0a, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x9d, 0x9d, 0x9d, 0xff, 0xa5, 0xa5, 0xa5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x47, 0x47, 0x47, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x60, 0x60, 0x60, 0xff, 0x07, 0x07, 0x07, 0xff, 0x30, 0x30, 0x30, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x91, 0x98, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0x2d, 0x2d, 0x2d, 0xff, 0x05, 0x05, 0x05, 0xff, 0x15, 0x15, 0x15, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0x22, 0x22, 0x22, 0xff, 0x9a, 0x9a, 0x9a, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0x0e, 0x0e, 0x0e, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0x4b, 0x4b, 0x4b, 0xff, 0x1f, 0x1f, 0x1f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x1c, 0x1c, 0x1c, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0x30, 0x30, 0x30, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0xab, 0xab, 0xab, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff, 0x83, 0x83, 0x83, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x56, 0x56, 0x56, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x09, 0x09, 0x09, 0xff, 0xba, 0xba, 0xba, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x52, 0x52, 0x52, 0xff, 0x00, 0x00, 0x00, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x41, 0x41, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff, 0x23, 0x23, 0x23, 0xff,
+ 0x08, 0x08, 0x08, 0xff, 0x85, 0x85, 0x85, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x84, 0x84, 0x84, 0xff, 0x10, 0x10, 0x10, 0xff,
+ 0x11, 0x11, 0x11, 0xff, 0x83, 0x83, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0x07, 0x07, 0x07, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x96, 0x96, 0x96, 0xff, 0x00, 0x00, 0x00, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xad, 0xad, 0xad, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x2f, 0x2f, 0x2f, 0xff, 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x07, 0x07, 0x07, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x6a, 0x6a, 0x6a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x47, 0x47, 0x47, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0x28, 0x28, 0x28, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb6, 0xb6, 0xb6, 0xff,
+ 0x71, 0x71, 0x71, 0xff, 0x0d, 0x0d, 0x0d, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x24, 0x24, 0x24, 0xff,
+ 0x4a, 0x4a, 0x4a, 0xff, 0x08, 0x08, 0x08, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x03, 0x95, 0xc4, 0x00, 0x03, 0x95, 0xdc,
+ 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x70, 0x72,
+ 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2d, 0x6c, 0x74, 0x72, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x95, 0xf0,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x9f, 0x18, 0x00, 0x03, 0x95, 0xf8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff,
+ 0x73, 0x73, 0x72, 0xff, 0x88, 0x88, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff,
+ 0x7e, 0x7e, 0x7d, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x69, 0x68, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff,
+ 0x8e, 0x8e, 0x8d, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff,
+ 0x5b, 0x5a, 0x59, 0xff, 0x9c, 0x9c, 0x9a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff,
+ 0x94, 0x93, 0x92, 0xff, 0xc0, 0xbf, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x63, 0x62, 0x61, 0xff,
+ 0x90, 0x8f, 0x8d, 0xff, 0xc5, 0xc4, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff,
+ 0xa4, 0xa3, 0xa2, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+ 0x00, 0x00, 0x00, 0xff, 0x6f, 0x6e, 0x6c, 0xff, 0x95, 0x94, 0x91, 0xff,
+ 0xc0, 0xbf, 0xbd, 0xff, 0xd3, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff,
+ 0xa1, 0xa0, 0x9f, 0xff, 0xd0, 0xce, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xff,
+ 0x63, 0x62, 0x60, 0xff, 0x8d, 0x8c, 0x8b, 0xff, 0xb4, 0xb3, 0xb1, 0xff,
+ 0xc0, 0xbf, 0xbd, 0xff, 0xd3, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff,
+ 0xa4, 0xa3, 0xa2, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x75, 0x75, 0x74, 0xff,
+ 0x86, 0x84, 0x81, 0xff, 0xba, 0xb9, 0xb6, 0xff, 0xb9, 0xb7, 0xb4, 0xff,
+ 0xc5, 0xc4, 0xc2, 0xff, 0xd4, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0xff,
+ 0xa1, 0xa0, 0x9f, 0xff, 0xd0, 0xce, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xc4, 0xc4, 0xc4, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0xa2, 0xa0, 0x9f, 0xff, 0xa6, 0xa4, 0xa2, 0xff, 0xbd, 0xbc, 0xb9, 0xff,
+ 0xc6, 0xc5, 0xc3, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff,
+ 0xaf, 0xae, 0xab, 0xff, 0xd2, 0xd1, 0xcf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x5b,
+ 0x00, 0x00, 0x00, 0xff, 0xa3, 0xa2, 0xa0, 0xff, 0xb7, 0xb6, 0xb3, 0xff,
+ 0xd0, 0xcf, 0xcd, 0xff, 0xd4, 0xd4, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff,
+ 0xb8, 0xb8, 0xb5, 0xff, 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x5b, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xa7, 0xa5, 0xff,
+ 0xd5, 0xd5, 0xd3, 0xff, 0xdf, 0xdf, 0xdd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff,
+ 0xbb, 0xba, 0xb7, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x91, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0xc4, 0xc2, 0xff, 0xdf, 0xdf, 0xde, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff,
+ 0xbb, 0xb9, 0xb7, 0xff, 0xd9, 0xd8, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x85,
+ 0x00, 0x00, 0x00, 0xff, 0xd4, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xb8, 0xb5, 0xff, 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x72, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x85, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xca, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x5b,
+ 0xff, 0xff, 0xff, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x9f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0xd9, 0xd9, 0xd9, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff,
+ 0x73, 0x73, 0x72, 0xff, 0x84, 0x84, 0x83, 0xff, 0x88, 0x88, 0x87, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff, 0xa8, 0xa7, 0xa6, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x69, 0x68, 0x67, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7e, 0x7d, 0xff,
+ 0xa6, 0xa5, 0xa4, 0xff, 0xb5, 0xb4, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x5b, 0x5a, 0x59, 0xff,
+ 0x9c, 0x9c, 0x9a, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x84, 0x83, 0xff, 0xaa, 0xa9, 0xa7, 0xff, 0xc0, 0xbf, 0xbe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x63, 0x62, 0x61, 0xff,
+ 0x90, 0x8f, 0x8d, 0xff, 0xc5, 0xc4, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xff, 0x6f, 0x6e, 0x6c, 0xff,
+ 0x95, 0x94, 0x91, 0xff, 0xc0, 0xbf, 0xbd, 0xff, 0xd3, 0xd3, 0xd1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0x11, 0x11, 0x11, 0x34, 0x00, 0x00, 0x00, 0xff, 0x91, 0x90, 0x8e, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa2, 0xa0, 0x9f, 0xff,
+ 0xa6, 0xa4, 0xa2, 0xff, 0xbd, 0xbc, 0xb9, 0xff, 0xc6, 0xc5, 0xc3, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xff,
+ 0x91, 0x90, 0x8e, 0xff, 0xaf, 0xae, 0xac, 0xff, 0xca, 0xca, 0xc8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5b,
+ 0x00, 0x00, 0x00, 0xff, 0xa3, 0xa2, 0xa0, 0xff, 0xb7, 0xb6, 0xb3, 0xff,
+ 0xd0, 0xcf, 0xcd, 0xff, 0xd4, 0xd4, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0xff, 0xa6, 0xa5, 0xa2, 0xff, 0xbb, 0xba, 0xb7, 0xff,
+ 0xd4, 0xd3, 0xd2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x5b, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xa7, 0xa5, 0xff, 0xd5, 0xd5, 0xd3, 0xff, 0xdf, 0xdf, 0xdd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xae, 0xad, 0xa9, 0xff,
+ 0xbf, 0xbd, 0xba, 0xff, 0xd7, 0xd5, 0xd3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x91, 0x00, 0x00, 0x00, 0xff, 0xc4, 0xc4, 0xc2, 0xff,
+ 0xdf, 0xdf, 0xde, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xff,
+ 0xb2, 0xb0, 0xad, 0xff, 0xc3, 0xc1, 0xbe, 0xff, 0xd9, 0xd8, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x85,
+ 0x00, 0x00, 0x00, 0xff, 0xd4, 0xd3, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb3, 0xb0, 0xff, 0xd1, 0xcf, 0xcc, 0xff,
+ 0xde, 0xdd, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x85, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xca,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0x9f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x5b,
+ 0xff, 0xff, 0xff, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xb0, 0xc0,
+ 0x00, 0x03, 0xa3, 0x4c, 0x00, 0x03, 0xa3, 0x5c, 0x67, 0x74, 0x6b, 0x2d,
+ 0x7a, 0x6f, 0x6f, 0x6d, 0x2d, 0x6f, 0x75, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0xa3, 0x70,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0xac, 0x98, 0x00, 0x03, 0xa3, 0x78,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x49, 0x49, 0x49, 0x4e, 0x34, 0x34, 0x34, 0xa3, 0x2d, 0x2d, 0x2d, 0xdd,
+ 0x29, 0x29, 0x29, 0xfb, 0x26, 0x26, 0x26, 0xfb, 0x26, 0x26, 0x26, 0xdd,
+ 0x26, 0x26, 0x26, 0xa3, 0x35, 0x35, 0x35, 0x4e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x5d, 0x5d, 0x5d, 0x32, 0x2e, 0x2e, 0x2e, 0xc0,
+ 0x30, 0x30, 0x30, 0xff, 0x73, 0x73, 0x73, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0x9d, 0x9d, 0x9d, 0xff,
+ 0x67, 0x67, 0x67, 0xff, 0x20, 0x20, 0x20, 0xff, 0x1c, 0x1c, 0x1c, 0xc0,
+ 0x37, 0x37, 0x37, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x40, 0x40, 0x40, 0x4e, 0x27, 0x27, 0x27, 0xfb, 0x61, 0x61, 0x61, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xca, 0xca, 0xca, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xd0, 0xd0, 0xd0, 0xff, 0xce, 0xce, 0xce, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xa7, 0xa7, 0xa7, 0xff, 0x4c, 0x4c, 0x4c, 0xff,
+ 0x13, 0x13, 0x13, 0xfb, 0x23, 0x23, 0x23, 0x4e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x4f, 0x32,
+ 0x22, 0x22, 0x22, 0xfb, 0x75, 0x75, 0x75, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0x5e, 0x5e, 0x5e, 0xff, 0x10, 0x10, 0x10, 0xfb, 0x24, 0x24, 0x24, 0x32,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x21, 0x21, 0xc0,
+ 0x5b, 0x5b, 0x5b, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0x43, 0x43, 0x43, 0xff, 0x0f, 0x0f, 0x0f, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x4e, 0x1f, 0x1f, 0x1f, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xab, 0xab, 0xab, 0xff, 0x0e, 0x0e, 0x0e, 0xff,
+ 0x12, 0x12, 0x12, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1b, 0x1b, 0x1b, 0xa3, 0x6d, 0x6d, 0x6d, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x57, 0x57, 0x57, 0xff,
+ 0x09, 0x09, 0x09, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x14, 0x14, 0x14, 0xdd, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0xee, 0xee, 0xee, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0x9b, 0x9b, 0x9b, 0xff,
+ 0x06, 0x06, 0x06, 0xdd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0xfb, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0x44, 0x44, 0x44, 0xff, 0x44, 0x44, 0x44, 0xff, 0x45, 0x45, 0x45, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0x45, 0x45, 0x45, 0xff, 0x44, 0x44, 0x44, 0xff,
+ 0x43, 0x43, 0x43, 0xff, 0x42, 0x42, 0x42, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0x06, 0x06, 0x06, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0xfb, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xec, 0xec, 0xec, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x43, 0x43, 0x43, 0xff, 0x44, 0x44, 0x44, 0xff, 0x44, 0x44, 0x44, 0xff,
+ 0x44, 0x44, 0x44, 0xff, 0x44, 0x44, 0x44, 0xff, 0x43, 0x43, 0x43, 0xff,
+ 0x42, 0x42, 0x42, 0xff, 0x41, 0x41, 0x41, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x05, 0x05, 0x05, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0xdd, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xec, 0xec, 0xec, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0x02, 0x02, 0x02, 0xdd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0xa3, 0x5f, 0x5f, 0x5f, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xca, 0xca, 0xca, 0xff, 0x4c, 0x4c, 0x4c, 0xff,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x4e, 0x0a, 0x0a, 0x0a, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0xda, 0xda, 0xda, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xcb, 0xcb, 0xcb, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0x02, 0x02, 0x02, 0xff,
+ 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x06, 0x06, 0x06, 0xc0,
+ 0x3b, 0x3b, 0x3b, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xda, 0xda, 0xda, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xc8, 0xc8, 0xc8, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0x2e, 0x2e, 0x2e, 0xff, 0x00, 0x00, 0x00, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x32,
+ 0x05, 0x05, 0x05, 0xfb, 0x51, 0x51, 0x51, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xc7, 0xc7, 0xc7, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0x4b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x03, 0x03, 0x03, 0x4e, 0x03, 0x03, 0x03, 0xfb, 0x31, 0x31, 0x31, 0xff,
+ 0x99, 0x99, 0x99, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xb6, 0xb6, 0xb6, 0xff, 0x90, 0x90, 0x90, 0xff, 0x2b, 0x2b, 0x2b, 0xff,
+ 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x32, 0x01, 0x01, 0x01, 0xc0,
+ 0x03, 0x03, 0x03, 0xff, 0x41, 0x41, 0x41, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x9a, 0x9a, 0x9a, 0xff, 0x9a, 0x9a, 0x9a, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x3c, 0x3c, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xc0,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0xf0,
+ 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xdd,
+ 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0xdd,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x20, 0x20, 0x20, 0xf3,
+ 0x20, 0x20, 0x20, 0xf4, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0xf1,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xec,
+ 0x68, 0x68, 0x68, 0xfb, 0x34, 0x34, 0x34, 0xf7, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xf3, 0x79, 0x79, 0x79, 0xfd, 0x3a, 0x3a, 0x3a, 0xfc,
+ 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf8, 0x68, 0x68, 0x68, 0xfb,
+ 0x1f, 0x1f, 0x1f, 0xfb, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xe7,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xac, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xcb, 0x26, 0x26, 0x26, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xee, 0xee, 0xee, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xab, 0xab, 0xab, 0xff, 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0x87, 0x87, 0x87, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x46, 0x46, 0x46, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb,
+ 0xb0, 0xb0, 0xb0, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xf9, 0xee, 0xee, 0xee, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0x05, 0x05, 0x05, 0xff, 0x05, 0x05, 0x05, 0xff, 0x09, 0x09, 0x09, 0xff,
+ 0x04, 0x04, 0x04, 0xff, 0x04, 0x04, 0x04, 0xff, 0x24, 0x24, 0x24, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0x00, 0x00, 0x00, 0xf9,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0xed, 0xed, 0xed, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0x24, 0x24, 0x24, 0xff, 0x04, 0x04, 0x04, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x05, 0x05, 0x05, 0xff,
+ 0x24, 0x24, 0x24, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb,
+ 0xab, 0xab, 0xab, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x74, 0x46, 0x46, 0x46, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0x74,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb,
+ 0x85, 0x85, 0x85, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0x6d, 0x6d, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xcb, 0x46, 0x46, 0x46, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0xf8,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xdf,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0xf9,
+ 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x7d,
+ 0x00, 0x00, 0x00, 0x1f, 0x20, 0x20, 0x20, 0xf3, 0x20, 0x20, 0x20, 0xf4,
+ 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xec,
+ 0x68, 0x68, 0x68, 0xfb, 0x34, 0x34, 0x34, 0xf7, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf3, 0x79, 0x79, 0x79, 0xfd,
+ 0x3a, 0x3a, 0x3a, 0xfc, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xf4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xf8, 0x68, 0x68, 0x68, 0xfb, 0x1f, 0x1f, 0x1f, 0xfb,
+ 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xe7,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xb0, 0xcc, 0x00, 0x03, 0xb0, 0xdc, 0x67, 0x74, 0x6b, 0x2d,
+ 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x2d, 0x61, 0x6c, 0x6c, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0xb0, 0xf0,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0xba, 0x18, 0x00, 0x03, 0xb0, 0xf8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x58, 0x58, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0xf2, 0x0e, 0x0e, 0x0e, 0xff, 0x28, 0x28, 0x28, 0xff,
+ 0x61, 0x61, 0x61, 0xdb, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0x1f, 0x1f, 0x1f, 0xe4, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xef, 0xef, 0xee, 0xff, 0xaf, 0xaf, 0xae, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xb3, 0xb3, 0xb3, 0xff, 0x38, 0x38, 0x38, 0xfd,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xa4, 0xa4, 0xa3, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xab, 0xab, 0xab, 0xff,
+ 0x05, 0x05, 0x05, 0x99, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xd4, 0xd4, 0xd3, 0xff, 0xb9, 0xb7, 0xb6, 0xff,
+ 0x83, 0x83, 0x81, 0xff, 0x84, 0x83, 0x81, 0xff, 0x6a, 0x67, 0x63, 0xff,
+ 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf3, 0xf2, 0xf1, 0xff, 0xe0, 0xe0, 0xdf, 0xff, 0xdc, 0xda, 0xd8, 0xff,
+ 0xca, 0xca, 0xc8, 0xff, 0xb6, 0xb6, 0xb4, 0xff, 0x72, 0x70, 0x6c, 0xff,
+ 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xc4, 0xc3, 0xc0, 0xff, 0x81, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0x8b, 0x86, 0x7d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0xa4, 0x9e, 0x93, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf4, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0xa4, 0x9e, 0x93, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0xa4, 0x9e, 0x93, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0xa4, 0x9e, 0x93, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xee, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xa1, 0x9c, 0x90, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xeb, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xdd, 0xdc, 0xd8, 0xff, 0xa1, 0x9b, 0x90, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xa1, 0x9b, 0x90, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe6, 0xe3, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xd9, 0xd7, 0xd3, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xd8, 0xd6, 0xd2, 0xff, 0x9e, 0x98, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xe1, 0xe0, 0xdd, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe2, 0xe1, 0xdd, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff,
+ 0xd8, 0xd6, 0xd1, 0xff, 0xd7, 0xd5, 0xd1, 0xff, 0x9d, 0x97, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xe1, 0xdf, 0xdb, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdc, 0xd8, 0xff, 0xde, 0xdc, 0xd8, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xd8, 0xd6, 0xd2, 0xff,
+ 0xd7, 0xd6, 0xd1, 0xff, 0xd5, 0xd3, 0xce, 0xff, 0x9b, 0x95, 0x8a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x99, 0x98, 0x91, 0xff, 0xa3, 0x9e, 0x92, 0xff, 0xa4, 0x9e, 0x93, 0xff,
+ 0xa3, 0x9d, 0x92, 0xff, 0xa3, 0x9d, 0x91, 0xff, 0xa3, 0x9d, 0x92, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9c, 0x90, 0xff,
+ 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9b, 0x8f, 0xff, 0xa1, 0x9b, 0x90, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x9d, 0x97, 0x8c, 0xff,
+ 0x9d, 0x97, 0x8c, 0xff, 0x9b, 0x96, 0x8a, 0xff, 0x67, 0x63, 0x59, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5e,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x03, 0xba, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xad, 0xad, 0xad, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x5d, 0x5d, 0x5d, 0xff, 0x40, 0x40, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xef, 0xef, 0xef, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff,
+ 0x49, 0x40, 0x66, 0xff, 0x49, 0x40, 0x66, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xbe, 0x80,
+ 0x00, 0x03, 0xbe, 0x4c, 0x00, 0x03, 0xbe, 0x5c, 0x67, 0x74, 0x6b, 0x2d,
+ 0x67, 0x6f, 0x2d, 0x62, 0x61, 0x63, 0x6b, 0x2d, 0x72, 0x74, 0x6c, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0xbe, 0x70,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0xbe, 0x78, 0x00, 0x02, 0x84, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8d, 0x28, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x03, 0xbe, 0x8c, 0x00, 0x03, 0xbe, 0x98,
+ 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0xbe, 0xa4,
+ 0x00, 0x03, 0xbe, 0xac, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x7c, 0x61, 0x49, 0xff, 0xbc, 0xa1, 0x89, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbc, 0xa1, 0x89, 0xff, 0xd9, 0xc9, 0xbb, 0xff,
+ 0x7d, 0x62, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xcf, 0xcd, 0xbe, 0x00, 0xcf, 0xcc, 0xbd, 0x00,
+ 0xcf, 0xcb, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x7b, 0x60, 0x49, 0xff, 0xd9, 0xc9, 0xbb, 0xff,
+ 0xbd, 0xa2, 0x8a, 0xff, 0x34, 0x29, 0x1f, 0xff, 0xd0, 0xcf, 0xbe, 0x00,
+ 0xcf, 0xce, 0xbe, 0x00, 0xcf, 0xcc, 0xbd, 0x00, 0xcf, 0xcb, 0xbc, 0x00,
+ 0xce, 0xca, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x36, 0x2a, 0x20, 0xff, 0xbc, 0xa1, 0x89, 0xff,
+ 0xd9, 0xc9, 0xbb, 0xff, 0x7c, 0x61, 0x49, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x2f, 0x2f, 0x2b, 0x00, 0x59, 0x58, 0x55, 0x00, 0xa0, 0x9f, 0x9c, 0x00,
+ 0xce, 0xca, 0xbb, 0x00, 0xcc, 0xc9, 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x65, 0x4f, 0x3c, 0xff,
+ 0xbd, 0xa2, 0x8a, 0xff, 0xbd, 0xa2, 0x8a, 0xff, 0x06, 0x05, 0x03, 0xff,
+ 0xac, 0xab, 0xa5, 0x00, 0x7e, 0x7c, 0x72, 0x00, 0x3e, 0x3c, 0x38, 0x00,
+ 0xcd, 0xc9, 0xbb, 0x00, 0xcc, 0xc9, 0xba, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xd1, 0xcf, 0xbe, 0x00, 0x0e, 0x0b, 0x08, 0xff,
+ 0x72, 0x59, 0x44, 0xff, 0xbd, 0xa2, 0x8a, 0xff, 0x7a, 0x60, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x3e, 0x3c, 0x38, 0x00, 0xcd, 0xca, 0xbb, 0x00,
+ 0xcc, 0xc9, 0xbb, 0x00, 0xcb, 0xc9, 0xba, 0x00, 0xca, 0xc8, 0xb9, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xcf, 0xbe, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x79, 0x5f, 0x48, 0xff, 0xa7, 0x83, 0x63, 0xff,
+ 0x46, 0x37, 0x29, 0xff, 0xcd, 0xca, 0xbb, 0x00, 0xcc, 0xc9, 0xbb, 0x00,
+ 0xcb, 0xc9, 0xba, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xce, 0xbe, 0x00,
+ 0xcf, 0xcd, 0xbd, 0x00, 0x07, 0x05, 0x04, 0xff, 0x72, 0x5a, 0x43, 0xff,
+ 0xa1, 0x7e, 0x60, 0xff, 0x06, 0x05, 0x03, 0xff, 0xcb, 0xc9, 0xba, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8b, 0x95, 0x85, 0xff,
+ 0x5a, 0x61, 0x56, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xbc, 0x00,
+ 0x91, 0x91, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xcf, 0xcc, 0xbd, 0x00, 0xcf, 0xcb, 0xbc, 0x00, 0x03, 0x03, 0x02, 0xff,
+ 0x9d, 0x7b, 0x5d, 0xff, 0x40, 0x32, 0x26, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff,
+ 0x8b, 0x95, 0x85, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd4, 0xd4, 0xbe, 0x00,
+ 0xd8, 0xd8, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xcf, 0xcb, 0xbc, 0x00, 0xce, 0xca, 0xbb, 0x00, 0xcd, 0xca, 0xbb, 0x00,
+ 0x2d, 0x23, 0x1a, 0xff, 0x71, 0x59, 0x43, 0xff, 0xac, 0xb8, 0xa4, 0xff,
+ 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x84, 0x79, 0x5f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xdb, 0xdb, 0xc4, 0x00, 0xac, 0xac, 0x9b, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xce, 0xca, 0xbb, 0x00, 0xcc, 0xc9, 0xbb, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff,
+ 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xeb, 0xd8, 0xa9, 0xff, 0xaa, 0xa0, 0x7d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xde, 0xde, 0xc7, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xcd, 0xc9, 0xbb, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff,
+ 0xac, 0xb8, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xeb, 0xd8, 0xa9, 0xff,
+ 0xeb, 0xd8, 0xa9, 0xff, 0xeb, 0xd8, 0xa9, 0xff, 0x84, 0x79, 0x5f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xcd, 0x00, 0xb4, 0xb4, 0xa1, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xac, 0xb8, 0xa4, 0xff,
+ 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xeb, 0xd8, 0xa9, 0xff, 0xeb, 0xd8, 0xa9, 0xff,
+ 0x84, 0x79, 0x5f, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xcf, 0xca, 0xa6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa3, 0xa3, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x8b, 0x95, 0x85, 0xff,
+ 0xac, 0xb8, 0xa4, 0xff, 0xac, 0xb8, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xeb, 0xd8, 0xa9, 0xff, 0xeb, 0xd8, 0xa9, 0xff, 0xeb, 0xd8, 0xa9, 0xff,
+ 0xeb, 0xd8, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xca, 0xa6, 0xff,
+ 0xb0, 0xa2, 0x7f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xd9, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x55, 0x55, 0x55, 0xff,
+ 0x8b, 0x95, 0x85, 0xff, 0x00, 0x00, 0x00, 0xff, 0xeb, 0xd8, 0xa9, 0xff,
+ 0xeb, 0xd8, 0xa9, 0xff, 0xb0, 0xa2, 0x7f, 0xff, 0xeb, 0xd8, 0xa9, 0xff,
+ 0xeb, 0xd8, 0xa9, 0xff, 0x9b, 0x98, 0x7c, 0xff, 0x2a, 0x2d, 0x28, 0xff,
+ 0x80, 0x82, 0x6e, 0xff, 0x9a, 0x8f, 0x71, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc6, 0xb8, 0x90, 0xff, 0xeb, 0xd8, 0xa9, 0xff,
+ 0xeb, 0xd8, 0xa9, 0xff, 0xc6, 0xb8, 0x90, 0xff, 0x8d, 0x88, 0x70, 0xff,
+ 0xba, 0xbe, 0xa4, 0xff, 0xaa, 0xaa, 0x8d, 0xff, 0x85, 0x85, 0x6e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x75, 0x77, 0x64, 0xff, 0x65, 0x61, 0x4d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x89, 0x81, 0x66, 0xff, 0xaa, 0xa0, 0x7d, 0xff,
+ 0xdb, 0xd0, 0xa7, 0xff, 0xb1, 0xad, 0x8e, 0xff, 0x9b, 0x98, 0x7c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x7c, 0x76, 0x5e, 0xff, 0x85, 0x85, 0x6e, 0xff,
+ 0x67, 0x64, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x2a, 0x2d, 0x28, 0xff,
+ 0x75, 0x73, 0x5d, 0xff, 0x95, 0x95, 0x7b, 0xff, 0x8e, 0x91, 0x7b, 0xff,
+ 0x6d, 0x6f, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xce, 0x58, 0x00, 0x03, 0xc7, 0xd8,
+ 0x00, 0x03, 0xc7, 0xe4, 0x67, 0x74, 0x6b, 0x2d, 0x61, 0x70, 0x70, 0x6c,
+ 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x04,
+ 0x00, 0x03, 0xc7, 0xf0, 0x00, 0x03, 0xc7, 0xf8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x58, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x06, 0x58, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xc2, 0xa7, 0xff,
+ 0x70, 0x8c, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x9d, 0x71, 0xff, 0x62, 0x7b, 0x4d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x97, 0xab, 0x86, 0xff,
+ 0x70, 0x8c, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x85, 0x9d, 0x71, 0xff, 0x56, 0x6c, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa2, 0xbd, 0x9e, 0xff,
+ 0x78, 0x97, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x85, 0x9d, 0x71, 0xff,
+ 0x70, 0x8c, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x88, 0xac, 0x84, 0xff, 0x88, 0xac, 0x84, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x70, 0x8c, 0x58, 0xff, 0x56, 0x6c, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x88, 0xac, 0x84, 0xff, 0x78, 0x97, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5e, 0x76, 0x4a, 0xff,
+ 0x70, 0x8c, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x88, 0xac, 0x84, 0xff, 0x88, 0xac, 0x84, 0xff, 0x69, 0x85, 0x66, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6d, 0x88, 0x55, 0xff, 0x56, 0x6c, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x88, 0xac, 0x84, 0xff, 0x88, 0xac, 0x84, 0xff, 0x68, 0x82, 0x51, 0xff,
+ 0x66, 0x80, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x88, 0xac, 0x84, 0xff, 0x6d, 0x89, 0x56, 0xff, 0x4f, 0x63, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x88, 0xac, 0x84, 0xff,
+ 0x88, 0xac, 0x84, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x69, 0x85, 0x66, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x03, 0xce, 0x64, 0x00, 0x03, 0xce, 0x70,
+ 0x67, 0x74, 0x6b, 0x2d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0xce, 0x84,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0xd7, 0xac, 0x00, 0x03, 0xce, 0x8c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x45,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xce, 0xca, 0xfe,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0xe1, 0xe1, 0xe0, 0xfe, 0x97, 0x95, 0x8f, 0xff, 0x89, 0x87, 0x81, 0xff,
+ 0x8e, 0x8c, 0x85, 0xff, 0x83, 0x80, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7b, 0x79, 0x73, 0xfe, 0x67, 0x65, 0x5f, 0xff, 0x40, 0x3f, 0x3b, 0xff,
+ 0x68, 0x66, 0x61, 0xff, 0x7c, 0x7a, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xdd, 0xdc, 0xdb, 0xfd,
+ 0x9a, 0x99, 0x92, 0xff, 0x53, 0x52, 0x4e, 0xff, 0x17, 0x16, 0x14, 0xff,
+ 0x76, 0x75, 0x73, 0xff, 0x9b, 0x99, 0x93, 0xff, 0x52, 0x50, 0x4a, 0xfe,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7a, 0x79, 0x74, 0xfd, 0x86, 0x84, 0x7d, 0xff, 0x9a, 0x99, 0x96, 0xff,
+ 0xb7, 0xb6, 0xb3, 0xff, 0x7d, 0x7b, 0x75, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff,
+ 0x8a, 0x88, 0x83, 0xfb, 0x6b, 0x69, 0x64, 0xfe, 0x78, 0x75, 0x6c, 0xff,
+ 0x5f, 0x5d, 0x56, 0xfe, 0x54, 0x53, 0x4d, 0xfe, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x40, 0x3f, 0x3a, 0xfb,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0xfd,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xf7,
+ 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xf9,
+ 0xe4, 0xe3, 0xe1, 0xff, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x61,
+ 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0x35,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0xf6, 0xe2, 0xe2, 0xe2, 0xf9,
+ 0xb3, 0xb3, 0xb1, 0xff, 0x00, 0x00, 0x00, 0xf6, 0x48, 0x46, 0x41, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xf6,
+ 0x88, 0x87, 0x81, 0xff, 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0xf5,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xf4, 0xb0, 0xaf, 0xad, 0xff,
+ 0xa8, 0xa7, 0xa1, 0xff, 0x9f, 0x9d, 0x96, 0xff, 0x9f, 0x9d, 0x96, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x90, 0x8e, 0x86, 0xff, 0x97, 0x95, 0x8e, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0xf5,
+ 0x9f, 0x9d, 0x96, 0xff, 0x9f, 0x9d, 0x96, 0xff, 0x59, 0x58, 0x54, 0xff,
+ 0x60, 0x5e, 0x57, 0xff, 0x89, 0x88, 0x83, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x76, 0x74, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0x7c,
+ 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0xfd, 0x48, 0x46, 0x41, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x60, 0x5e, 0x57, 0xff, 0x43, 0x42, 0x3f, 0xff,
+ 0x28, 0x27, 0x24, 0xff, 0x36, 0x34, 0x30, 0xff, 0x9f, 0x9d, 0x96, 0xff,
+ 0x6d, 0x6b, 0x63, 0xff, 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xed,
+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x00, 0x00, 0xfd, 0xe2, 0xe2, 0xe1, 0xff, 0xb6, 0xb5, 0xaf, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x59, 0x58, 0x54, 0xff, 0x21, 0x20, 0x1e, 0xff,
+ 0x0a, 0x09, 0x08, 0xff, 0x18, 0x18, 0x16, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x65, 0x63, 0x5c, 0xff, 0x60, 0x5e, 0x57, 0xff,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xce, 0xca, 0xfe,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0xfa, 0x48, 0x46, 0x41, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x89, 0x88, 0x83, 0xff, 0x36, 0x34, 0x30, 0xff,
+ 0x16, 0x16, 0x14, 0xff, 0x8c, 0x8b, 0x89, 0xff, 0xdf, 0xde, 0xdc, 0xff,
+ 0x65, 0x63, 0x5c, 0xff, 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0xe1, 0xe1, 0xe0, 0xfe, 0x97, 0x95, 0x8f, 0xff, 0x89, 0x87, 0x81, 0xff,
+ 0x8e, 0x8c, 0x85, 0xff, 0x83, 0x80, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xf7,
+ 0xb0, 0xaf, 0xa9, 0xff, 0x80, 0x7d, 0x74, 0xff, 0xb6, 0xb5, 0xaf, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0xd5, 0xd4, 0xd1, 0xff, 0x93, 0x91, 0x8b, 0xff,
+ 0x65, 0x63, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7b, 0x79, 0x73, 0xfe, 0x67, 0x65, 0x5f, 0xff, 0x40, 0x3f, 0x3b, 0xff,
+ 0x68, 0x66, 0x61, 0xff, 0x7c, 0x7a, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xf6, 0xd6, 0xd5, 0xd2, 0xff,
+ 0xab, 0xa9, 0xa3, 0xff, 0x9f, 0x9d, 0x96, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x76, 0x74, 0x6b, 0xff, 0x76, 0x74, 0x6b, 0xff,
+ 0x5d, 0x5c, 0x55, 0xff, 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xf7,
+ 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xdd, 0xdc, 0xdb, 0xfd,
+ 0x9a, 0x99, 0x92, 0xff, 0x53, 0x52, 0x4e, 0xff, 0x17, 0x16, 0x14, 0xff,
+ 0x76, 0x75, 0x73, 0xff, 0x9b, 0x99, 0x93, 0xff, 0x52, 0x50, 0x4a, 0xfe,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0xd9,
+ 0x59, 0x58, 0x54, 0xff, 0x00, 0x00, 0x00, 0xf9, 0x48, 0x46, 0x41, 0xff,
+ 0x76, 0x74, 0x6b, 0xff, 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xf7,
+ 0x49, 0x49, 0x43, 0xff, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0xf7,
+ 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7a, 0x79, 0x74, 0xfd, 0x86, 0x84, 0x7d, 0xff, 0x9a, 0x99, 0x96, 0xff,
+ 0xb7, 0xb6, 0xb3, 0xff, 0x7d, 0x7b, 0x75, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xed,
+ 0x42, 0x41, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x00, 0x00, 0x6b,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff,
+ 0x8a, 0x88, 0x83, 0xfb, 0x6b, 0x69, 0x64, 0xfe, 0x78, 0x75, 0x6c, 0xff,
+ 0x5f, 0x5d, 0x56, 0xfe, 0x54, 0x53, 0x4d, 0xfe, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0xee,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x40, 0x3f, 0x3a, 0xfb,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xd7, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0xfd,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xf8, 0xdd, 0xdc, 0xda, 0xff,
+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0xee, 0xee, 0xee, 0xfb,
+ 0xb2, 0xb2, 0xb0, 0xff, 0x00, 0x00, 0x00, 0xf2, 0x48, 0x46, 0x41, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xf2,
+ 0x88, 0x87, 0x81, 0xff, 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2,
+ 0x9d, 0x9c, 0x98, 0xff, 0x91, 0x90, 0x8a, 0xff, 0x9f, 0x9d, 0x96, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x9f, 0x9d, 0x96, 0xff, 0x90, 0x8e, 0x86, 0xff,
+ 0x97, 0x95, 0x8e, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x48, 0x46, 0x41, 0xff,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xf2, 0x9f, 0x9d, 0x96, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x59, 0x58, 0x54, 0xff, 0x60, 0x5e, 0x57, 0xff,
+ 0x89, 0x88, 0x83, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x76, 0x74, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0xfd, 0x48, 0x46, 0x41, 0xff,
+ 0x9f, 0x9d, 0x96, 0xff, 0x60, 0x5e, 0x57, 0xff, 0x43, 0x42, 0x3f, 0xff,
+ 0x28, 0x27, 0x24, 0xff, 0x36, 0x34, 0x30, 0xff, 0x9f, 0x9d, 0x96, 0xff,
+ 0x6d, 0x6b, 0x63, 0xff, 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xe3,
+ 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0xee, 0xee, 0xed, 0xff,
+ 0xb6, 0xb5, 0xaf, 0xff, 0x9f, 0x9d, 0x96, 0xff, 0x59, 0x58, 0x54, 0xff,
+ 0x21, 0x20, 0x1e, 0xff, 0x0a, 0x09, 0x08, 0xff, 0x18, 0x18, 0x16, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x65, 0x63, 0x5c, 0xff,
+ 0x60, 0x5e, 0x57, 0xff, 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd,
+ 0x00, 0x00, 0x00, 0xf8, 0x48, 0x46, 0x41, 0xff, 0x9f, 0x9d, 0x96, 0xff,
+ 0x89, 0x88, 0x83, 0xff, 0x36, 0x34, 0x30, 0xff, 0x16, 0x16, 0x14, 0xff,
+ 0x8c, 0x8b, 0x89, 0xff, 0xdf, 0xde, 0xdc, 0xff, 0x65, 0x63, 0x5c, 0xff,
+ 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xe9, 0x00, 0x00, 0x00, 0xe9,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xf2,
+ 0xb0, 0xaf, 0xa9, 0xff, 0x80, 0x7d, 0x74, 0xff, 0xb6, 0xb5, 0xaf, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0xd5, 0xd4, 0xd1, 0xff, 0x93, 0x91, 0x8b, 0xff,
+ 0x65, 0x63, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2,
+ 0xb6, 0xb5, 0xaf, 0xff, 0xab, 0xa9, 0xa3, 0xff, 0x9f, 0x9d, 0x96, 0xff,
+ 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x76, 0x74, 0x6b, 0xff,
+ 0x76, 0x74, 0x6b, 0xff, 0x5d, 0x5c, 0x55, 0xff, 0x48, 0x46, 0x41, 0xff,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xc5, 0x59, 0x58, 0x54, 0xff,
+ 0x00, 0x00, 0x00, 0xf5, 0x48, 0x46, 0x41, 0xff, 0x76, 0x74, 0x6b, 0xff,
+ 0x48, 0x46, 0x41, 0xff, 0x00, 0x00, 0x00, 0xf2, 0x49, 0x49, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xc5, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xe3,
+ 0x42, 0x41, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xe9, 0x00, 0x00, 0x00, 0xeb, 0x00, 0x00, 0x00, 0xeb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x03, 0xdb, 0xe0, 0x00, 0x03, 0xdb, 0xf0, 0x67, 0x74, 0x6b, 0x2d,
+ 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0xdc, 0x04,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0xe5, 0x2c, 0x00, 0x03, 0xdc, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0xff, 0xba, 0xb5, 0xab, 0xff, 0xd0, 0xcd, 0xc6, 0xff,
+ 0x88, 0x85, 0x7d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xff, 0xc9, 0xc6, 0xbe, 0xff,
+ 0xcc, 0xc8, 0xc1, 0xff, 0xba, 0xb5, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0xff,
+ 0xe5, 0xe3, 0xe0, 0xff, 0xc9, 0xc6, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x75, 0x75, 0x75, 0xd5, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x84,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x1e, 0x2e, 0x2e, 0x2e, 0xff,
+ 0xf6, 0xf5, 0xf5, 0xff, 0xc9, 0xc6, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd1, 0xcb, 0xff, 0x1c, 0x1c, 0x1b, 0x7c,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc1, 0xc0, 0xbf, 0xff,
+ 0xf0, 0xef, 0xed, 0xff, 0xba, 0xb5, 0xab, 0xff, 0x79, 0x77, 0x72, 0xbb,
+ 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0xa7, 0xa5, 0xa1, 0x9c, 0xff, 0xcc, 0xc8, 0xc1, 0xff,
+ 0xcc, 0xc8, 0xc1, 0xff, 0xea, 0xe9, 0xe5, 0xff, 0xf3, 0xf1, 0xf0, 0xff,
+ 0xba, 0xb5, 0xab, 0xff, 0xba, 0xb5, 0xab, 0xff, 0xba, 0xb5, 0xab, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0xdf, 0xa1, 0x9d, 0x96, 0xff,
+ 0xc1, 0xbd, 0xb4, 0xff, 0xcc, 0xc8, 0xc1, 0xff, 0xc9, 0xc6, 0xbe, 0xff,
+ 0xdb, 0xd8, 0xd3, 0xff, 0xd9, 0xd6, 0xd1, 0xff, 0xba, 0xb5, 0xab, 0xff,
+ 0x89, 0x85, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xed, 0xfc, 0xfc, 0xfc, 0xee,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x9a,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xec, 0xea, 0xe9, 0xe6, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xc6, 0xc2, 0xba, 0xff, 0x89, 0x85, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xef, 0xee, 0xff,
+ 0xf4, 0xf4, 0xf3, 0xff, 0xcb, 0xc7, 0xc0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0xff,
+ 0xec, 0xec, 0xeb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x67, 0x65, 0x60, 0xff, 0x54, 0x52, 0x4d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x77, 0x76, 0x76, 0xff,
+ 0x79, 0x79, 0x78, 0xff, 0x85, 0x82, 0x7e, 0xff, 0x79, 0x75, 0x6f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0xa4, 0xba, 0xd0, 0xff, 0x90, 0xa6, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0x9f, 0x9e, 0xff, 0xbe, 0xbd, 0xbc, 0xff, 0xb8, 0xb4, 0xad, 0xff,
+ 0x87, 0x83, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4e,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0x75, 0x90, 0xae, 0xff, 0xd3, 0xdf, 0xea, 0xff,
+ 0xa2, 0xae, 0xbc, 0xff, 0x9d, 0xb6, 0xce, 0xff, 0x63, 0x7b, 0x95, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xee, 0xee, 0xed, 0xff,
+ 0xcb, 0xc7, 0xc0, 0xff, 0x89, 0x85, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0x84, 0x9c, 0xb6, 0xff, 0xd7, 0xe2, 0xed, 0xff, 0x8d, 0x98, 0xa5, 0xff,
+ 0x63, 0x7b, 0x95, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x60, 0x77, 0x91, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xec, 0xff,
+ 0xf3, 0xf1, 0xf0, 0xff, 0xc9, 0xc6, 0xbe, 0xff, 0x89, 0x85, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0x99, 0xad, 0xc3, 0xff,
+ 0xdf, 0xe7, 0xf0, 0xff, 0x81, 0x93, 0xa9, 0xff, 0x58, 0x6d, 0x84, 0xff,
+ 0x9d, 0xb8, 0xd2, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5b, 0x71, 0x89, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xee, 0xed, 0xeb, 0xff, 0xa7, 0xa6, 0xa5, 0xff,
+ 0x72, 0x6f, 0x6a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xa1, 0xb4, 0xc8, 0xff, 0xee, 0xf3, 0xf6, 0xff,
+ 0x81, 0x93, 0xa9, 0xff, 0x60, 0x76, 0x8f, 0xff, 0x9d, 0xb8, 0xd2, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x5b, 0x71, 0x89, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0xff, 0xde, 0xdd, 0xdc, 0xff, 0x78, 0x77, 0x76, 0xff,
+ 0x4e, 0x4e, 0x4d, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x91, 0xa6, 0xbe, 0xff, 0xf0, 0xf4, 0xf7, 0xff, 0x97, 0xa5, 0xb6, 0xff,
+ 0x60, 0x76, 0x8f, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x5b, 0x71, 0x89, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x65,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0xff, 0xbf, 0xbe, 0xbd, 0xff,
+ 0xaa, 0xaa, 0xa9, 0xff, 0xac, 0xac, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb0, 0xc6, 0xdb, 0xff, 0xed, 0xf2, 0xf6, 0xff, 0x81, 0x8a, 0x95, 0xff,
+ 0x9d, 0xb8, 0xd2, 0xff, 0x75, 0x90, 0xae, 0xff, 0x5b, 0x71, 0x89, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x65,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x6c, 0x85, 0xa1, 0xff, 0x9d, 0xb8, 0xd2, 0xff, 0xc0, 0xd1, 0xe2, 0xff,
+ 0x91, 0xa6, 0xbe, 0xff, 0x5b, 0x71, 0x89, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0xff, 0x6c, 0x85, 0xa1, 0xff, 0x6c, 0x85, 0xa1, 0xff,
+ 0x63, 0x7b, 0x95, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9f,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0xe5, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xca, 0xc8, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0xff, 0xb1, 0xb1, 0xb1, 0xe9, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xeb, 0xeb, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xff, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x31, 0x31, 0x31, 0x87, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd2, 0xd0, 0xcc, 0xfb, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xde, 0xdb, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0xff, 0x30, 0x30, 0x30, 0x8c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xff,
+ 0xd3, 0xd2, 0xcf, 0xfb, 0xe3, 0xe2, 0xe1, 0xff, 0xdf, 0xde, 0xdc, 0xfe,
+ 0xdb, 0xda, 0xd7, 0xfe, 0xa4, 0xa1, 0x9c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x1d, 0x1d, 0x1d, 0xa7, 0x29, 0x29, 0x29, 0xff, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xdf,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd2, 0xd1, 0xd0, 0xff,
+ 0x50, 0x50, 0x4f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x1d, 0x1d, 0x1d, 0xa7,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0xbc, 0x49, 0x47, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc8, 0xc7, 0xc6, 0xff, 0x6c, 0x69, 0x67, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x70, 0x82, 0x95, 0xff,
+ 0xcf, 0xd6, 0xdd, 0xff, 0x7c, 0x91, 0xa7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x1f, 0x27, 0x2f, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd6, 0xd5, 0xd5, 0xff,
+ 0x8a, 0x87, 0x84, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7d, 0x8c, 0x9c, 0xff,
+ 0xcf, 0xd6, 0xdd, 0xff, 0x78, 0x8d, 0xa4, 0xff, 0x7f, 0x99, 0xb3, 0xff,
+ 0x1f, 0x27, 0x2f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xff, 0xec, 0xeb, 0xea, 0xff, 0x72, 0x70, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x8d, 0x99, 0xa5, 0xff,
+ 0xcf, 0xd6, 0xdd, 0xff, 0x74, 0x8a, 0xa2, 0xff, 0x84, 0x9e, 0xb9, 0xff,
+ 0x4d, 0x5f, 0x73, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd5, 0xd4, 0xd3, 0xff, 0x6b, 0x6a, 0x69, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xd6, 0xdd, 0xff, 0x7d, 0x91, 0xa7, 0xff, 0x84, 0x9e, 0xba, 0xff,
+ 0x4d, 0x5f, 0x73, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff, 0xd2, 0xd1, 0xd0, 0xff,
+ 0x52, 0x52, 0x52, 0xff, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xab, 0x7d, 0x91, 0xa7, 0xff, 0x66, 0x79, 0x8f, 0xff,
+ 0x4d, 0x5f, 0x73, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0xab,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf6, 0xd0,
+ 0x00, 0x03, 0xe9, 0x60, 0x00, 0x03, 0xe9, 0x6c, 0x67, 0x74, 0x6b, 0x2d,
+ 0x67, 0x6f, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0xe9, 0x80, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x03, 0xf2, 0xa8, 0x00, 0x03, 0xe9, 0x88, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0xff, 0xc1, 0xd6, 0xbd, 0xff, 0xae, 0xc5, 0xa8, 0xff,
+ 0xa6, 0xbf, 0xa0, 0xff, 0x77, 0x8e, 0x6f, 0xff, 0x6b, 0x86, 0x61, 0xff,
+ 0x6c, 0x85, 0x62, 0xff, 0x65, 0x81, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0xff, 0xbd, 0xd3, 0xb8, 0xff, 0xae, 0xc8, 0xad, 0xff,
+ 0xab, 0xc7, 0xaa, 0xff, 0x69, 0x8d, 0x60, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xbf, 0xd4, 0xbb, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xa8, 0xc6, 0xa5, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xa7, 0xc5, 0xa4, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xa8, 0xc6, 0xa5, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xaa, 0xc6, 0xa7, 0xff,
+ 0xa9, 0xc7, 0xa6, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0xff, 0x8c, 0xa7, 0x82, 0xff, 0xb1, 0xcd, 0xae, 0xff,
+ 0xb4, 0xce, 0xb1, 0xff, 0xb0, 0xca, 0xad, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0xac, 0xc8, 0xa9, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0xff, 0x77, 0xa1, 0x6e, 0xff,
+ 0xac, 0xc8, 0xa9, 0xff, 0xb2, 0xcb, 0xb0, 0xff, 0xad, 0xc8, 0xad, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xff,
+ 0x70, 0x98, 0x67, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0xa8, 0xc7, 0xa8, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0xff, 0x70, 0x98, 0x67, 0xff, 0xa5, 0xc4, 0xa3, 0xff,
+ 0xaf, 0xc8, 0xad, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x29, 0x0f, 0x13, 0x08, 0xff, 0x7f, 0x9f, 0x76, 0xff,
+ 0xa4, 0xc3, 0xa2, 0xff, 0x6b, 0x90, 0x63, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0xff,
+ 0x6b, 0x90, 0x60, 0xff, 0x69, 0x8d, 0x60, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0xff, 0x44, 0x5b, 0x2c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf2, 0xb0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc1, 0xd6, 0xbd, 0xff,
+ 0xae, 0xc5, 0xa8, 0xff, 0xa6, 0xbf, 0xa0, 0xff, 0x6c, 0x85, 0x62, 0xff,
+ 0x65, 0x81, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbd, 0xd3, 0xb8, 0xff, 0xae, 0xc8, 0xad, 0xff, 0xab, 0xc7, 0xaa, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbf, 0xd4, 0xbb, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0xa8, 0xc6, 0xa5, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd7, 0xbe, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0xa8, 0xc6, 0xa5, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8d, 0xb3, 0x89, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xd7, 0xbe, 0xff, 0xaa, 0xc6, 0xa7, 0xff, 0xa9, 0xc7, 0xa6, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd7, 0xbe, 0xff, 0xa8, 0xc6, 0xa5, 0xff,
+ 0xab, 0xc7, 0xa8, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x50, 0x6b, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x77, 0xa1, 0x6e, 0xff, 0xac, 0xc8, 0xa9, 0xff, 0xb2, 0xcb, 0xb0, 0xff,
+ 0xad, 0xc8, 0xad, 0xff, 0xaa, 0xc7, 0xa8, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x61, 0x46, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x70, 0x98, 0x67, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0xa8, 0xc7, 0xa8, 0xff, 0xab, 0xc7, 0xa8, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x43, 0x54, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x70, 0x98, 0x67, 0xff, 0xa5, 0xc4, 0xa3, 0xff,
+ 0xaf, 0xc8, 0xad, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x13, 0x08, 0xff,
+ 0x7f, 0x9f, 0x76, 0xff, 0xa4, 0xc3, 0xa2, 0xff, 0x44, 0x5b, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x90, 0x60, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x54, 0x00, 0x03, 0xf6, 0xdc,
+ 0x00, 0x03, 0xf6, 0xf0, 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x65, 0x64, 0x69,
+ 0x61, 0x2d, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0xf7, 0x04,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x2c, 0x00, 0x03, 0xf7, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00, 0xfc,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00, 0xb3,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0xb1, 0x07, 0x02, 0x01, 0xff,
+ 0x5e, 0x24, 0x16, 0xff, 0x92, 0x30, 0x1a, 0xff, 0xa5, 0x31, 0x16, 0xff,
+ 0xa4, 0x30, 0x16, 0xff, 0x91, 0x2f, 0x19, 0xff, 0x5a, 0x1f, 0x12, 0xff,
+ 0x07, 0x02, 0x00, 0xff, 0x1d, 0x1d, 0x1d, 0xbc, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0xca, 0x34, 0x0e, 0x06, 0xff, 0x9e, 0x2d, 0x14, 0xff,
+ 0xc5, 0x73, 0x61, 0xff, 0xdc, 0xa3, 0x97, 0xff, 0xe5, 0xb7, 0xad, 0xff,
+ 0xe5, 0xb7, 0xad, 0xff, 0xdb, 0xa2, 0x96, 0xff, 0xc3, 0x71, 0x60, 0xff,
+ 0x9b, 0x29, 0x14, 0xff, 0x33, 0x0d, 0x06, 0xff, 0x2d, 0x2d, 0x2d, 0xe5,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0xae,
+ 0x33, 0x0e, 0x06, 0xff, 0xa0, 0x2b, 0x13, 0xff, 0xcf, 0x87, 0x7a, 0xff,
+ 0xe1, 0xab, 0xa1, 0xff, 0xe3, 0xad, 0xa2, 0xff, 0xe5, 0xad, 0xa2, 0xff,
+ 0xe5, 0xac, 0xa2, 0xff, 0xe3, 0xab, 0xa1, 0xff, 0xdf, 0xaa, 0xa1, 0xff,
+ 0xcc, 0x86, 0x78, 0xff, 0x9b, 0x26, 0x11, 0xff, 0x31, 0x0c, 0x05, 0xff,
+ 0x53, 0x53, 0x53, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x5a, 0x07, 0x01, 0x00, 0xff,
+ 0x98, 0x27, 0x12, 0xff, 0xc0, 0x67, 0x56, 0xff, 0xdb, 0x9d, 0x91, 0xff,
+ 0xe0, 0x9d, 0x91, 0xff, 0xe2, 0x9e, 0x91, 0xff, 0xe4, 0x9e, 0x91, 0xff,
+ 0xe3, 0x9d, 0x91, 0xff, 0xe2, 0x9d, 0x91, 0xff, 0xdf, 0x9c, 0x90, 0xff,
+ 0xd9, 0x9b, 0x90, 0xff, 0xbb, 0x62, 0x55, 0xff, 0x92, 0x22, 0x0f, 0xff,
+ 0x07, 0x01, 0x00, 0xff, 0xac, 0xac, 0xac, 0xae, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xaf, 0x55, 0x1b, 0x10, 0xff,
+ 0x9f, 0x26, 0x11, 0xff, 0xcd, 0x7e, 0x70, 0xff, 0xd8, 0x8b, 0x7d, 0xff,
+ 0xdd, 0x8b, 0x7d, 0xff, 0xde, 0x8b, 0x7d, 0xff, 0xdf, 0x8b, 0x7d, 0xff,
+ 0xde, 0x8b, 0x7d, 0xff, 0xdd, 0x8a, 0x7d, 0xff, 0xda, 0x89, 0x7d, 0xff,
+ 0xd6, 0x87, 0x7c, 0xff, 0xca, 0x7b, 0x6f, 0xff, 0x98, 0x1f, 0x0e, 0xff,
+ 0x56, 0x1c, 0x13, 0xff, 0x68, 0x68, 0x68, 0xff, 0xff, 0xff, 0xff, 0x38,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0xe5, 0x85, 0x25, 0x14, 0xff,
+ 0xa2, 0x23, 0x10, 0xff, 0xcd, 0x75, 0x67, 0xff, 0xd4, 0x77, 0x68, 0xff,
+ 0xd6, 0x77, 0x68, 0xff, 0xd7, 0x77, 0x68, 0xff, 0xd7, 0x76, 0x68, 0xff,
+ 0xd7, 0x75, 0x68, 0xff, 0xd6, 0x74, 0x67, 0xff, 0xd5, 0x74, 0x67, 0xff,
+ 0xcf, 0x73, 0x66, 0xff, 0xc9, 0x71, 0x66, 0xff, 0x9b, 0x1c, 0x0d, 0xff,
+ 0x83, 0x23, 0x15, 0xff, 0x26, 0x26, 0x26, 0xff, 0xff, 0xff, 0xff, 0x97,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0xfc, 0x92, 0x1f, 0x0e, 0xff,
+ 0xa3, 0x20, 0x0e, 0xff, 0xc3, 0x57, 0x48, 0xff, 0xcc, 0x60, 0x51, 0xff,
+ 0xce, 0x60, 0x50, 0xff, 0xce, 0x60, 0x50, 0xff, 0xce, 0x5f, 0x50, 0xff,
+ 0xce, 0x5e, 0x50, 0xff, 0xce, 0x5d, 0x50, 0xff, 0xcc, 0x5d, 0x50, 0xff,
+ 0xc9, 0x5b, 0x50, 0xff, 0xbe, 0x51, 0x46, 0xff, 0x9b, 0x19, 0x0b, 0xff,
+ 0x8a, 0x17, 0x0a, 0xff, 0x05, 0x05, 0x05, 0xff, 0xff, 0xff, 0xff, 0xd9,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xfc, 0x8e, 0x1b, 0x0c, 0xff,
+ 0x9f, 0x1c, 0x0c, 0xff, 0xb2, 0x30, 0x20, 0xff, 0xc0, 0x44, 0x37, 0xff,
+ 0xc3, 0x45, 0x37, 0xff, 0xc4, 0x44, 0x37, 0xff, 0xc4, 0x44, 0x37, 0xff,
+ 0xc3, 0x44, 0x37, 0xff, 0xc1, 0x42, 0x36, 0xff, 0xbf, 0x42, 0x35, 0xff,
+ 0xbd, 0x41, 0x35, 0xff, 0xac, 0x29, 0x1e, 0xff, 0x97, 0x15, 0x09, 0xff,
+ 0x86, 0x14, 0x0a, 0xff, 0x05, 0x05, 0x05, 0xff, 0xff, 0xff, 0xff, 0xfa,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xe5, 0x7c, 0x1d, 0x11, 0xff,
+ 0x96, 0x17, 0x0a, 0xff, 0xa3, 0x19, 0x0b, 0xff, 0xb0, 0x22, 0x15, 0xff,
+ 0xb7, 0x29, 0x1b, 0xff, 0xb7, 0x28, 0x1a, 0xff, 0xb8, 0x27, 0x1a, 0xff,
+ 0xb7, 0x26, 0x1a, 0xff, 0xb6, 0x26, 0x19, 0xff, 0xb3, 0x25, 0x19, 0xff,
+ 0xaa, 0x1e, 0x13, 0xff, 0x9d, 0x12, 0x08, 0xff, 0x8e, 0x10, 0x07, 0xff,
+ 0x7b, 0x1c, 0x14, 0xff, 0x26, 0x26, 0x26, 0xff, 0xff, 0xff, 0xff, 0xfa,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xb3, 0x4e, 0x15, 0x0d, 0xff,
+ 0x8a, 0x12, 0x08, 0xff, 0x98, 0x13, 0x08, 0xff, 0xa3, 0x14, 0x09, 0xff,
+ 0xaa, 0x17, 0x0b, 0xff, 0xae, 0x1a, 0x0e, 0xff, 0xae, 0x1a, 0x0f, 0xff,
+ 0xae, 0x19, 0x0f, 0xff, 0xac, 0x18, 0x0d, 0xff, 0xa6, 0x13, 0x09, 0xff,
+ 0x9d, 0x0f, 0x06, 0xff, 0x91, 0x0d, 0x05, 0xff, 0x83, 0x0c, 0x05, 0xff,
+ 0x4f, 0x16, 0x10, 0xff, 0x68, 0x68, 0x68, 0xff, 0xff, 0xff, 0xff, 0xd9,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x06, 0x01, 0x00, 0xff,
+ 0x7e, 0x0e, 0x06, 0xff, 0x8a, 0x0e, 0x06, 0xff, 0x95, 0x0e, 0x06, 0xff,
+ 0x9d, 0x0f, 0x06, 0xff, 0xa2, 0x0f, 0x06, 0xff, 0xa3, 0x0e, 0x06, 0xff,
+ 0xa2, 0x0d, 0x05, 0xff, 0x9f, 0x0d, 0x05, 0xff, 0x99, 0x0b, 0x05, 0xff,
+ 0x90, 0x0a, 0x04, 0xff, 0x84, 0x08, 0x04, 0xff, 0x79, 0x0a, 0x04, 0xff,
+ 0x06, 0x00, 0x00, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, 0x97,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x1a, 0x1a, 0xbe,
+ 0x2a, 0x04, 0x01, 0xff, 0x7d, 0x09, 0x04, 0xff, 0x85, 0x09, 0x04, 0xff,
+ 0x8d, 0x0a, 0x04, 0xff, 0x93, 0x09, 0x04, 0xff, 0x97, 0x09, 0x03, 0xff,
+ 0x96, 0x08, 0x03, 0xff, 0x90, 0x08, 0x03, 0xff, 0x89, 0x06, 0x02, 0xff,
+ 0x81, 0x05, 0x02, 0xff, 0x77, 0x04, 0x02, 0xff, 0x28, 0x03, 0x01, 0xff,
+ 0x68, 0x68, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2c, 0x2c, 0x2c, 0xe6, 0x29, 0x03, 0x01, 0xff, 0x76, 0x07, 0x03, 0xff,
+ 0x7c, 0x05, 0x02, 0xff, 0x81, 0x04, 0x01, 0xff, 0x86, 0x04, 0x01, 0xff,
+ 0x85, 0x03, 0x01, 0xff, 0x80, 0x03, 0x00, 0xff, 0x79, 0x02, 0x00, 0xff,
+ 0x72, 0x03, 0x02, 0xff, 0x27, 0x02, 0x00, 0xff, 0x47, 0x47, 0x47, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x53, 0x53, 0x53, 0xe3, 0x06, 0x00, 0x00, 0xff,
+ 0x4b, 0x12, 0x0f, 0xff, 0x6e, 0x0f, 0x0c, 0xff, 0x73, 0x02, 0x02, 0xff,
+ 0x73, 0x02, 0x02, 0xff, 0x70, 0x12, 0x0f, 0xff, 0x4b, 0x12, 0x0f, 0xff,
+ 0x05, 0x00, 0x00, 0xff, 0x68, 0x68, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0xac, 0xac, 0xae,
+ 0x68, 0x68, 0x68, 0xff, 0x26, 0x26, 0x26, 0xff, 0x05, 0x05, 0x05, 0xff,
+ 0x05, 0x05, 0x05, 0xff, 0x26, 0x26, 0x26, 0xff, 0x68, 0x68, 0x68, 0xff,
+ 0xc7, 0xc7, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x38, 0xff, 0xff, 0xff, 0x97, 0xff, 0xff, 0xff, 0xd9,
+ 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xfa, 0xff, 0xff, 0xff, 0xd9,
+ 0xff, 0xff, 0xff, 0x97, 0xff, 0xff, 0xff, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61,
+ 0x00, 0x00, 0x00, 0xb7, 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0xb7, 0x00, 0x00, 0x00, 0x61,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xc9,
+ 0x2c, 0x00, 0x00, 0xff, 0x67, 0x00, 0x00, 0xff, 0x8b, 0x00, 0x00, 0xff,
+ 0x99, 0x00, 0x00, 0xff, 0x8b, 0x00, 0x00, 0xff, 0x67, 0x00, 0x00, 0xff,
+ 0x2c, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0xde, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xec,
+ 0x5f, 0x04, 0x01, 0xff, 0xa0, 0x06, 0x03, 0xff, 0xc5, 0x68, 0x66, 0xff,
+ 0xde, 0xab, 0xaa, 0xff, 0xe7, 0xc2, 0xc1, 0xff, 0xde, 0xab, 0xaa, 0xff,
+ 0xc5, 0x69, 0x66, 0xff, 0xa0, 0x06, 0x03, 0xff, 0x5f, 0x04, 0x01, 0xff,
+ 0x0f, 0x0f, 0x0f, 0xfb, 0x72, 0x72, 0x72, 0x57, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc9,
+ 0x63, 0x08, 0x03, 0xff, 0xa7, 0x0d, 0x06, 0xff, 0xd9, 0x97, 0x94, 0xff,
+ 0xe9, 0xc4, 0xc2, 0xff, 0xe9, 0xc4, 0xc2, 0xff, 0xe9, 0xc4, 0xc2, 0xff,
+ 0xe9, 0xc4, 0xc2, 0xff, 0xe9, 0xc4, 0xc2, 0xff, 0xd9, 0x97, 0x94, 0xff,
+ 0xa7, 0x0e, 0x06, 0xff, 0x63, 0x07, 0x03, 0xff, 0x32, 0x32, 0x32, 0xfb,
+ 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61,
+ 0x32, 0x05, 0x02, 0xff, 0xae, 0x14, 0x09, 0xff, 0xca, 0x66, 0x5e, 0xff,
+ 0xe3, 0xaf, 0xac, 0xff, 0xe3, 0xaf, 0xac, 0xff, 0xe3, 0xaf, 0xac, 0xff,
+ 0xe3, 0xaf, 0xac, 0xff, 0xe3, 0xaf, 0xac, 0xff, 0xe3, 0xaf, 0xac, 0xff,
+ 0xe3, 0xaf, 0xac, 0xff, 0xca, 0x66, 0x5e, 0xff, 0xae, 0x14, 0x09, 0xff,
+ 0x32, 0x05, 0x02, 0xff, 0x8f, 0x8f, 0x8f, 0xde, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xb7, 0x7a, 0x11, 0x08, 0xff, 0xb5, 0x1a, 0x0c, 0xff,
+ 0xd9, 0x8b, 0x84, 0xff, 0xdf, 0x9c, 0x96, 0xff, 0xdf, 0x9c, 0x96, 0xff,
+ 0xdf, 0x9c, 0x96, 0xff, 0xdf, 0x9c, 0x96, 0xff, 0xdf, 0x9c, 0x96, 0xff,
+ 0xdf, 0x9c, 0x96, 0xff, 0xdf, 0x9c, 0x96, 0xff, 0xd9, 0x8b, 0x84, 0xff,
+ 0xb5, 0x1a, 0x0c, 0xff, 0x7a, 0x12, 0x08, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xff, 0xff, 0xff, 0x61, 0x00, 0x00, 0x00, 0xec, 0xab, 0x1e, 0x0d, 0xff,
+ 0xbc, 0x21, 0x0f, 0xff, 0xdb, 0x8a, 0x80, 0xff, 0xdb, 0x89, 0x7f, 0xff,
+ 0xdb, 0x89, 0x7f, 0xff, 0xdb, 0x8a, 0x80, 0xff, 0xdb, 0x89, 0x7f, 0xff,
+ 0xdb, 0x89, 0x7f, 0xff, 0xdb, 0x89, 0x7f, 0xff, 0xdb, 0x89, 0x7f, 0xff,
+ 0xdb, 0x89, 0x7f, 0xff, 0xbc, 0x21, 0x0f, 0xff, 0xab, 0x1e, 0x0d, 0xff,
+ 0x13, 0x13, 0x13, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x00, 0x00, 0x00, 0xff,
+ 0xc3, 0x27, 0x12, 0xff, 0xc3, 0x28, 0x12, 0xff, 0xd6, 0x6e, 0x60, 0xff,
+ 0xd9, 0x79, 0x6c, 0xff, 0xd9, 0x78, 0x6b, 0xff, 0xd9, 0x79, 0x6c, 0xff,
+ 0xd9, 0x78, 0x6b, 0xff, 0xd9, 0x79, 0x6c, 0xff, 0xd9, 0x78, 0x6b, 0xff,
+ 0xd9, 0x78, 0x6b, 0xff, 0xd7, 0x6f, 0x61, 0xff, 0xc3, 0x27, 0x12, 0xff,
+ 0xc3, 0x28, 0x12, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xec,
+ 0x00, 0x00, 0x00, 0xec, 0xb8, 0x2a, 0x13, 0xff, 0xca, 0x2e, 0x15, 0xff,
+ 0xd1, 0x4d, 0x37, 0xff, 0xd9, 0x69, 0x57, 0xff, 0xd9, 0x6a, 0x57, 0xff,
+ 0xd8, 0x69, 0x57, 0xff, 0xd8, 0x69, 0x57, 0xff, 0xd8, 0x69, 0x57, 0xff,
+ 0xd9, 0x6a, 0x57, 0xff, 0xd8, 0x69, 0x57, 0xff, 0xd1, 0x4d, 0x37, 0xff,
+ 0xca, 0x2f, 0x15, 0xff, 0xb8, 0x2a, 0x13, 0xff, 0x13, 0x13, 0x13, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xb7, 0x8c, 0x23, 0x10, 0xff,
+ 0xd1, 0x35, 0x18, 0xff, 0xd1, 0x35, 0x18, 0xff, 0xd7, 0x51, 0x38, 0xff,
+ 0xd9, 0x5b, 0x43, 0xff, 0xd9, 0x5a, 0x43, 0xff, 0xd9, 0x5a, 0x43, 0xff,
+ 0xd9, 0x5b, 0x43, 0xff, 0xd9, 0x5b, 0x43, 0xff, 0xd7, 0x51, 0x38, 0xff,
+ 0xd1, 0x35, 0x18, 0xff, 0xd1, 0x35, 0x18, 0xff, 0x8c, 0x23, 0x10, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xff, 0xff, 0xff, 0xec, 0x00, 0x00, 0x00, 0x61,
+ 0x3e, 0x11, 0x07, 0xff, 0xd8, 0x3c, 0x1b, 0xff, 0xd8, 0x3c, 0x1b, 0xff,
+ 0xd8, 0x3c, 0x1b, 0xff, 0xd9, 0x44, 0x26, 0xff, 0xdb, 0x4c, 0x2d, 0xff,
+ 0xdb, 0x4e, 0x30, 0xff, 0xdb, 0x4b, 0x2d, 0xff, 0xd9, 0x45, 0x26, 0xff,
+ 0xd8, 0x3c, 0x1b, 0xff, 0xd8, 0x3b, 0x1b, 0xff, 0xd8, 0x3c, 0x1b, 0xff,
+ 0x3e, 0x11, 0x07, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xb7,
+ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0xde, 0x84, 0x27, 0x11, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0x84, 0x27, 0x11, 0xff, 0x36, 0x36, 0x36, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
+ 0x0f, 0x0f, 0x0f, 0xfb, 0x84, 0x27, 0x11, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff, 0xdf, 0x42, 0x1e, 0xff,
+ 0x84, 0x27, 0x11, 0xff, 0x13, 0x13, 0x13, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xff, 0xff, 0xff, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x72, 0x72, 0x72, 0x57, 0x32, 0x32, 0x32, 0xfb,
+ 0x40, 0x13, 0x08, 0xff, 0x96, 0x2c, 0x14, 0xff, 0xcb, 0x3c, 0x1b, 0xff,
+ 0xdf, 0x42, 0x1e, 0xff, 0xcb, 0x3c, 0x1b, 0xff, 0x96, 0x2c, 0x14, 0xff,
+ 0x40, 0x13, 0x08, 0xff, 0x36, 0x36, 0x36, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0xff, 0xff, 0xff, 0xec, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x30, 0x8f, 0x8f, 0x8f, 0xde, 0x48, 0x48, 0x48, 0xff,
+ 0x13, 0x13, 0x13, 0xff, 0x00, 0x00, 0x00, 0xff, 0x13, 0x13, 0x13, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x9e, 0x9e, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xc9, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x61, 0xff, 0xff, 0xff, 0xb7, 0xff, 0xff, 0xff, 0xec,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xff, 0xff, 0xff, 0xb7,
+ 0xff, 0xff, 0xff, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x04, 0x04, 0x60, 0x00, 0x04, 0x04, 0x74, 0x67, 0x74, 0x6b, 0x2d,
+ 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x2d, 0x77, 0x61, 0x72, 0x6e, 0x69,
+ 0x6e, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04,
+ 0x00, 0x04, 0x04, 0x80, 0x00, 0x04, 0x04, 0x88, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x24, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0xc0,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0xaa,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x71,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xe2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x1b, 0x14, 0x06, 0xff, 0x7b, 0x63, 0x30, 0xff, 0xb6, 0x96, 0x52, 0xff,
+ 0xb5, 0x95, 0x4f, 0xff, 0x57, 0x44, 0x1b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x1a, 0x13, 0x05, 0xff, 0x9a, 0x7d, 0x41, 0xff,
+ 0xfb, 0xd5, 0x84, 0xff, 0xfb, 0xd5, 0x83, 0xff, 0xfa, 0xd0, 0x76, 0xff,
+ 0xfa, 0xcd, 0x6c, 0xff, 0xef, 0xc0, 0x5b, 0xff, 0xc4, 0x95, 0x30, 0xff,
+ 0x6a, 0x4f, 0x17, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7c, 0x64, 0x32, 0xff, 0xfb, 0xd9, 0x91, 0xff, 0xfb, 0xd4, 0x80, 0xff,
+ 0xfa, 0xc9, 0x60, 0xff, 0xf9, 0xc1, 0x48, 0xff, 0xf9, 0xbd, 0x3d, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf8, 0xbc, 0x3a, 0xff, 0xe1, 0xab, 0x35, 0xff,
+ 0xd3, 0xa0, 0x32, 0xff, 0xd1, 0x9f, 0x31, 0xff, 0x35, 0x27, 0x0b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xaa,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xe2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x1b, 0x14, 0x06, 0xff, 0xd4, 0xb4, 0x71, 0xff,
+ 0xfb, 0xd7, 0x88, 0xff, 0xf9, 0xc7, 0x5b, 0xff, 0xf9, 0xbd, 0x3d, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xee, 0xb4, 0x38, 0xff, 0xd5, 0xa2, 0x32, 0xff, 0xd9, 0xa5, 0x33, 0xff,
+ 0x50, 0x3c, 0x11, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x1e, 0x17, 0x09, 0xff, 0xe9, 0xc9, 0x82, 0xff, 0xfa, 0xcf, 0x73, 0xff,
+ 0xf9, 0xbe, 0x40, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf8, 0xbc, 0x3a, 0xff, 0xe5, 0xae, 0x36, 0xff,
+ 0xbe, 0x90, 0x2d, 0xff, 0x97, 0x72, 0x23, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x1e, 0x17, 0x09, 0xff,
+ 0xe9, 0xc9, 0x82, 0xff, 0xfa, 0xce, 0x70, 0xff, 0xf9, 0xbe, 0x3e, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xc0, 0x46, 0xff, 0xfa, 0xcd, 0x6a, 0xff, 0xfa, 0xcf, 0x73, 0xff,
+ 0xfa, 0xcc, 0x69, 0xff, 0xf9, 0xbf, 0x42, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xe4, 0xad, 0x36, 0xff, 0xb5, 0x89, 0x2b, 0xff, 0x66, 0x4d, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc0, 0xa5, 0x6a, 0xff,
+ 0xfa, 0xce, 0x6e, 0xff, 0xf9, 0xbf, 0x41, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbe, 0x3e, 0xff,
+ 0xfa, 0xd1, 0x78, 0xff, 0xfb, 0xdb, 0x94, 0xff, 0xfb, 0xd8, 0x8d, 0xff,
+ 0xfb, 0xd7, 0x8a, 0xff, 0xfa, 0xc9, 0x61, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xe0, 0xaa, 0x35, 0xff, 0xbb, 0x8e, 0x2c, 0xff,
+ 0x4f, 0x3b, 0x11, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xc6,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa2, 0x87, 0x50, 0xff, 0xfa, 0xd0, 0x75, 0xff,
+ 0xf9, 0xc1, 0x48, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xfa, 0xcb, 0x65, 0xff,
+ 0xfc, 0xe0, 0xa4, 0xff, 0x6f, 0x5d, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6f, 0x54, 0x1c, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xd5, 0xa2, 0x32, 0xff,
+ 0xa9, 0x80, 0x27, 0xff, 0x19, 0x12, 0x04, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x43, 0x36, 0x1c, 0xff, 0xfb, 0xd5, 0x82, 0xff, 0xf9, 0xc3, 0x4e, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbe, 0x3e, 0xff, 0xfb, 0xd9, 0x8e, 0xff,
+ 0x70, 0x5f, 0x3a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6e, 0x53, 0x19, 0xff,
+ 0xe2, 0xab, 0x35, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf8, 0xbc, 0x3a, 0xff,
+ 0xcf, 0x9d, 0x31, 0xff, 0xa1, 0x79, 0x25, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x05, 0x05, 0x05, 0xff,
+ 0xe8, 0xc7, 0x7e, 0xff, 0xfa, 0xc9, 0x61, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xc2, 0x4b, 0xff, 0xfb, 0xdc, 0x99, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd8, 0xa4, 0x33, 0xff, 0xf4, 0xb9, 0x39, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf4, 0xb9, 0x39, 0xff, 0xc4, 0x94, 0x2e, 0xff, 0x63, 0x4a, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8c, 0x77, 0x4b, 0xff,
+ 0xfa, 0xd0, 0x75, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xfa, 0xcb, 0x65, 0xff, 0xfb, 0xdd, 0x9a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xd0, 0x9e, 0x31, 0xff, 0xef, 0xb5, 0x38, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xe9, 0xb1, 0x37, 0xff, 0xbb, 0x8e, 0x2c, 0xff,
+ 0x19, 0x12, 0x04, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x32, 0x2b, 0x1f, 0xff, 0xfb, 0xd5, 0x84, 0xff,
+ 0xf9, 0xc2, 0x4b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xfa, 0xce, 0x6d, 0xff, 0xdf, 0xc0, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0x81, 0x28, 0xff, 0xe9, 0xb1, 0x37, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xd2, 0xa0, 0x31, 0xff,
+ 0x9e, 0x77, 0x25, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xc6,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8d,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x04, 0x04, 0x04, 0xff, 0xa9, 0x90, 0x5d, 0xff, 0xf9, 0xc4, 0x50, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xfa, 0xcb, 0x66, 0xff, 0xfb, 0xd3, 0x7c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xb8, 0x8c, 0x2b, 0xff, 0xef, 0xb5, 0x38, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf4, 0xb9, 0x39, 0xff,
+ 0xcf, 0x9d, 0x31, 0xff, 0x34, 0x26, 0x0a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x32, 0x2b, 0x1f, 0xff, 0xfa, 0xd1, 0x79, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xfa, 0xcb, 0x66, 0xff, 0xfa, 0xd2, 0x7b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0x94, 0x2e, 0xff, 0xf1, 0xb7, 0x39, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xe5, 0xae, 0x36, 0xff, 0xad, 0x82, 0x28, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa9, 0x91, 0x5e, 0xff, 0xf9, 0xc4, 0x51, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xfa, 0xc8, 0x5d, 0xff, 0xfa, 0xd1, 0x79, 0xff,
+ 0x37, 0x2b, 0x10, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x35, 0x28, 0x0c, 0xff,
+ 0xcc, 0x9a, 0x30, 0xff, 0xf6, 0xba, 0x3a, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf8, 0xbc, 0x3a, 0xff, 0xd8, 0xa4, 0x33, 0xff, 0x34, 0x26, 0x0a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x20, 0x19, 0x0b, 0xff,
+ 0xfb, 0xd5, 0x82, 0xff, 0xf9, 0xbd, 0x3d, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xc2, 0x4c, 0xff, 0xfa, 0xd0, 0x73, 0xff,
+ 0x6f, 0x57, 0x22, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x51, 0x19, 0xff,
+ 0xd8, 0xa4, 0x33, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xdf, 0xa9, 0x34, 0xff, 0xb0, 0x85, 0x29, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x83, 0x6c, 0x3d, 0xff,
+ 0xfa, 0xcc, 0x67, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbe, 0x3e, 0xff, 0xfa, 0xce, 0x6d, 0xff,
+ 0xc2, 0x9a, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb1, 0x86, 0x29, 0xff,
+ 0xe0, 0xaa, 0x35, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf3, 0xb8, 0x39, 0xff, 0xf4, 0xb9, 0x39, 0xff, 0xd4, 0xa1, 0x32, 0xff,
+ 0x34, 0x26, 0x0a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xc6, 0x7b, 0xff,
+ 0xf9, 0xc0, 0x46, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xc4, 0x50, 0xff,
+ 0xfa, 0xcd, 0x6b, 0xff, 0x1c, 0x15, 0x06, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x1b, 0x14, 0x06, 0xff, 0xc9, 0x98, 0x2f, 0xff,
+ 0xf0, 0xb6, 0x38, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xdf, 0xa9, 0x34, 0xff,
+ 0x93, 0x6f, 0x22, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xe2, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x3c, 0x2e, 0x13, 0xff, 0xfa, 0xd1, 0x77, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xc7, 0x5a, 0xff, 0x8a, 0x6b, 0x28, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x72, 0x56, 0x1a, 0xff, 0xc7, 0x97, 0x2f, 0xff,
+ 0xf8, 0xbc, 0x3a, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf8, 0xbc, 0x3a, 0xff, 0xec, 0xb3, 0x37, 0xff,
+ 0xbf, 0x91, 0x2d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xaa,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x9c, 0x80, 0x45, 0xff, 0xfa, 0xca, 0x64, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3c, 0xff, 0xf9, 0xbd, 0x3c, 0xff, 0x52, 0x3e, 0x13, 0xff,
+ 0x4c, 0x39, 0x12, 0xff, 0xcb, 0x9a, 0x30, 0xff, 0xf0, 0xb6, 0x38, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xe8, 0xb0, 0x37, 0xff, 0x4d, 0x3a, 0x11, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe5, 0xbf, 0x6b, 0xff, 0xf9, 0xc4, 0x51, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xc1, 0x48, 0xff, 0xf9, 0xc2, 0x4b, 0xff, 0xef, 0xba, 0x47, 0xff,
+ 0xdc, 0xaa, 0x3b, 0xff, 0xee, 0xb4, 0x38, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf7, 0xbb, 0x3a, 0xff, 0x93, 0x6f, 0x22, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8d,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x1c, 0x15, 0x07, 0xff, 0xfb, 0xd3, 0x7d, 0xff, 0xf9, 0xbe, 0x3f, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xc2, 0x4b, 0xff,
+ 0xfa, 0xcf, 0x73, 0xff, 0xfb, 0xd6, 0x87, 0xff, 0xfb, 0xda, 0x92, 0xff,
+ 0xfb, 0xd5, 0x84, 0xff, 0xf9, 0xc0, 0x45, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xde, 0xa8, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x5d, 0x4a, 0x22, 0xff, 0xfa, 0xcd, 0x6c, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xfa, 0xce, 0x70, 0xff,
+ 0xd0, 0xb1, 0x6d, 0xff, 0x3b, 0x2f, 0x14, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x3a, 0x2c, 0x0e, 0xff, 0xbb, 0x8e, 0x2d, 0xff, 0xef, 0xb5, 0x38, 0xff,
+ 0xf7, 0xbb, 0x3a, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xe2, 0xab, 0x35, 0xff, 0x4e, 0x3b, 0x11, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaa,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x99, 0x7c, 0x3f, 0xff, 0xfa, 0xcb, 0x65, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbf, 0x41, 0xff, 0xfb, 0xd7, 0x88, 0xff,
+ 0x3b, 0x30, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x36, 0x28, 0x0c, 0xff, 0xc9, 0x98, 0x2f, 0xff,
+ 0xe7, 0xaf, 0x36, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xe3, 0xac, 0x35, 0xff, 0x67, 0x4d, 0x17, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xab,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xb7, 0x98, 0x55, 0xff, 0xf9, 0xc5, 0x54, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbf, 0x43, 0xff, 0xfa, 0xd0, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xbe, 0x90, 0x2d, 0xff,
+ 0xe3, 0xac, 0x35, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xe3, 0xac, 0x35, 0xff, 0x9a, 0x74, 0x23, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xab,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7d, 0x65, 0x33, 0xff, 0xf9, 0xc3, 0x4e, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3c, 0xff, 0xf9, 0xc7, 0x5b, 0xff,
+ 0x3b, 0x2d, 0x10, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x38, 0x2b, 0x0d, 0xff, 0xb7, 0x8b, 0x2b, 0xff,
+ 0xf2, 0xb7, 0x39, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xd8, 0xa4, 0x33, 0xff, 0x8b, 0x69, 0x20, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xac,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x3c, 0x2e, 0x13, 0xff, 0xf8, 0xc2, 0x4c, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbf, 0x42, 0xff,
+ 0xcf, 0xa5, 0x49, 0xff, 0x3b, 0x2e, 0x11, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x33, 0x27, 0x0c, 0xff, 0x97, 0x72, 0x23, 0xff, 0xce, 0x9c, 0x30, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf0, 0xb6, 0x38, 0xff, 0xab, 0x82, 0x28, 0xff, 0x5c, 0x45, 0x14, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xce, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x75,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb4, 0x8e, 0x3d, 0xff, 0xee, 0xb5, 0x39, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbe, 0x40, 0xff, 0xf3, 0xbd, 0x49, 0xff, 0xda, 0xa7, 0x37, 0xff,
+ 0xca, 0x99, 0x2f, 0xff, 0xda, 0xa6, 0x33, 0xff, 0xf6, 0xba, 0x3a, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xe9, 0xb1, 0x37, 0xff,
+ 0xb0, 0x86, 0x29, 0xff, 0xa0, 0x79, 0x25, 0xff, 0x19, 0x12, 0x04, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xb9, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3f,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x7d, 0x5e, 0x1e, 0xff,
+ 0xe0, 0xaa, 0x35, 0xff, 0xe6, 0xae, 0x36, 0xff, 0xf4, 0xb9, 0x39, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xea, 0xb1, 0x37, 0xff, 0xcb, 0x9a, 0x30, 0xff, 0xa3, 0x7b, 0x26, 0xff,
+ 0x92, 0x6e, 0x22, 0xff, 0x32, 0x25, 0x0a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x19, 0x12, 0x04, 0xff, 0x66, 0x4d, 0x16, 0xff, 0xbe, 0x90, 0x2d, 0xff,
+ 0xdb, 0xa6, 0x34, 0xff, 0xef, 0xb5, 0x38, 0xff, 0xf8, 0xbc, 0x3a, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff, 0xf9, 0xbd, 0x3b, 0xff,
+ 0xf5, 0xba, 0x3a, 0xff, 0xe2, 0xab, 0x35, 0xff, 0xd0, 0x9e, 0x31, 0xff,
+ 0xb9, 0x8c, 0x2b, 0xff, 0x82, 0x62, 0x1e, 0xff, 0x30, 0x23, 0x0a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0xe5, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x33, 0x26, 0x0a, 0xff, 0x7e, 0x5f, 0x1c, 0xff, 0xa7, 0x7e, 0x27, 0xff,
+ 0xe1, 0xab, 0x35, 0xff, 0xe9, 0xb1, 0x37, 0xff, 0xf1, 0xb7, 0x39, 0xff,
+ 0xf1, 0xb7, 0x39, 0xff, 0xf1, 0xb7, 0x39, 0xff, 0xf1, 0xb7, 0x39, 0xff,
+ 0xf1, 0xb7, 0x39, 0xff, 0xf1, 0xb7, 0x39, 0xff, 0xf1, 0xb7, 0x39, 0xff,
+ 0xf1, 0xb7, 0x39, 0xff, 0xf0, 0xb6, 0x38, 0xff, 0xec, 0xb3, 0x37, 0xff,
+ 0xe3, 0xac, 0x35, 0xff, 0xe2, 0xab, 0x35, 0xff, 0xe0, 0xaa, 0x35, 0xff,
+ 0xd9, 0xa5, 0x33, 0xff, 0xd9, 0xa5, 0x33, 0xff, 0xd5, 0xa2, 0x32, 0xff,
+ 0xb0, 0x86, 0x29, 0xff, 0x83, 0x63, 0x1e, 0xff, 0x44, 0x33, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x92,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xe5,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x32, 0x25, 0x0a, 0xff, 0x47, 0x35, 0x0f, 0xff,
+ 0x73, 0x56, 0x1a, 0xff, 0x89, 0x68, 0x1f, 0xff, 0x87, 0x66, 0x1f, 0xff,
+ 0xb1, 0x86, 0x2a, 0xff, 0xcf, 0x9d, 0x31, 0xff, 0xd2, 0xa0, 0x31, 0xff,
+ 0xd2, 0xa0, 0x31, 0xff, 0xd0, 0x9e, 0x31, 0xff, 0xd5, 0xa2, 0x32, 0xff,
+ 0x8f, 0x6c, 0x21, 0xff, 0x8c, 0x6a, 0x20, 0xff, 0x7f, 0x60, 0x1d, 0xff,
+ 0x43, 0x32, 0x0e, 0xff, 0x49, 0x37, 0x10, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xe4,
+ 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x56,
+ 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x8b,
+ 0x00, 0x00, 0x00, 0xe9, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xda, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0x7d,
+ 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x4b,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0xae,
+ 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xf3,
+ 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x8b,
+ 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x6d,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x3f,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x7c,
+ 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, 0xcf,
+ 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd7,
+ 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0xb0,
+ 0x00, 0x00, 0x00, 0xaf, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x83,
+ 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x76,
+ 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0x5e, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x6a,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x6f,
+ 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x70,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x70,
+ 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x72,
+ 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x5e,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x4f,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x54,
+ 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x04, 0x28, 0xb4, 0x00, 0x04, 0x28, 0xc4, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6a, 0x75, 0x6d, 0x70, 0x2d, 0x74, 0x6f, 0x2d, 0x72, 0x74, 0x6c, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x28, 0xd8,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x32, 0x00, 0x00, 0x04, 0x28, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x30, 0x40, 0x24, 0x02, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x82, 0x48, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81,
+ 0x01, 0x01, 0x00, 0x37, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0xff, 0x9a, 0xbc, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0xff,
+ 0x7e, 0x59, 0x07, 0xff, 0xb8, 0x6f, 0x20, 0xff, 0xe1, 0xb7, 0x44, 0xff,
+ 0xd6, 0xaf, 0x41, 0xff, 0xad, 0x67, 0x1d, 0xff, 0x8f, 0x65, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0xff,
+ 0xa0, 0xc4, 0x87, 0xff, 0xc1, 0xe3, 0xaa, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x8a, 0x1a, 0x07, 0x00, 0xff, 0xbc, 0x8c, 0x31, 0xff,
+ 0xd5, 0xb0, 0x44, 0xff, 0xe7, 0xc2, 0x4a, 0xff, 0xf6, 0xd4, 0x69, 0xff,
+ 0xf4, 0xd2, 0x68, 0xff, 0xef, 0xcd, 0x64, 0xff, 0xe2, 0xb9, 0x46, 0xff,
+ 0x98, 0x6f, 0x26, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa2, 0xc6, 0x88, 0xff,
+ 0xc8, 0xeb, 0xb0, 0xff, 0xc8, 0xeb, 0xb0, 0xff, 0xeb, 0xf6, 0xdf, 0xff,
+ 0xe4, 0xef, 0xda, 0xff, 0xdd, 0xea, 0xd2, 0xff, 0xd9, 0xe7, 0xcf, 0xff,
+ 0xd8, 0xe7, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0xff, 0xbb, 0x8c, 0x31, 0xff, 0xe4, 0xbf, 0x49, 0xff,
+ 0xfb, 0xd1, 0x4f, 0xff, 0xfd, 0xdf, 0x60, 0xff, 0xfe, 0xe7, 0x7e, 0xff,
+ 0xfe, 0xe8, 0x82, 0xff, 0xed, 0xd9, 0x7e, 0xff, 0xcb, 0xb8, 0x6e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa1, 0xc3, 0x87, 0xff, 0xc4, 0xe7, 0xac, 0xff,
+ 0xca, 0xee, 0xb1, 0xff, 0xca, 0xee, 0xb1, 0xff, 0xc4, 0xe7, 0xac, 0xff,
+ 0xbd, 0xde, 0xa5, 0xff, 0xb6, 0xd6, 0x9f, 0xff, 0xb2, 0xd2, 0x9c, 0xff,
+ 0xd7, 0xe6, 0xcd, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x93,
+ 0x7e, 0x59, 0x07, 0xff, 0xc4, 0xa1, 0x3e, 0xff, 0xf8, 0xcf, 0x4e, 0xff,
+ 0xfe, 0xd9, 0x52, 0xff, 0xff, 0xe0, 0x54, 0xff, 0xff, 0xeb, 0x64, 0xff,
+ 0xfb, 0xe4, 0x6b, 0xff, 0xdc, 0xba, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa9, 0xce, 0x8d, 0xff, 0xc3, 0xe6, 0xab, 0xff, 0xc1, 0xe3, 0xa9, 0xff,
+ 0xc6, 0xe9, 0xae, 0xff, 0xc6, 0xe9, 0xae, 0xff, 0xc1, 0xe3, 0xa9, 0xff,
+ 0xbb, 0xdb, 0xa4, 0xff, 0xb5, 0xd5, 0x9f, 0xff, 0xb2, 0xd1, 0x9c, 0xff,
+ 0xcf, 0xe2, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x20, 0x2b, 0x18, 0x03,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xff,
+ 0xb3, 0x6c, 0x1f, 0xff, 0xe1, 0xbd, 0x48, 0xff, 0xfb, 0xd4, 0x4f, 0xff,
+ 0xff, 0xdf, 0x54, 0xff, 0xff, 0xe7, 0x57, 0xff, 0xff, 0xed, 0x59, 0xff,
+ 0xec, 0xc7, 0x5e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x55, 0x83, 0x3a, 0xff,
+ 0x71, 0x97, 0x55, 0xff, 0x6b, 0x92, 0x51, 0xff, 0x67, 0x8b, 0x4d, 0xff,
+ 0x68, 0x8b, 0x4e, 0xff, 0x68, 0x8b, 0x4e, 0xff, 0x66, 0x89, 0x4d, 0xff,
+ 0x64, 0x86, 0x4b, 0xff, 0x62, 0x83, 0x49, 0xff, 0x61, 0x82, 0x49, 0xff,
+ 0x8b, 0xa2, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x20, 0x2b, 0x18, 0x03,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0xff,
+ 0xbc, 0x98, 0x3b, 0xff, 0xe3, 0xbd, 0x49, 0xff, 0xfb, 0xd4, 0x50, 0xff,
+ 0xff, 0xe1, 0x55, 0xff, 0xff, 0xeb, 0x58, 0xff, 0xff, 0xf2, 0x5b, 0xff,
+ 0xf0, 0xc2, 0x48, 0xff, 0xb3, 0x92, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x52, 0x7e, 0x39, 0xff, 0x6c, 0x91, 0x51, 0xff, 0x65, 0x89, 0x4c, 0xff,
+ 0x64, 0x86, 0x4b, 0xff, 0x64, 0x86, 0x4b, 0xff, 0x63, 0x85, 0x4a, 0xff,
+ 0x62, 0x84, 0x49, 0xff, 0x61, 0x82, 0x49, 0xff, 0x60, 0x81, 0x48, 0xff,
+ 0x8b, 0xa2, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x20, 0x2b, 0x18, 0x03,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xff,
+ 0xb0, 0x8f, 0x37, 0xff, 0xe0, 0xba, 0x48, 0xff, 0xf9, 0xd2, 0x4f, 0xff,
+ 0xfe, 0xdf, 0x54, 0xff, 0xff, 0xe9, 0x57, 0xff, 0xff, 0xef, 0x5a, 0xff,
+ 0xfc, 0xdb, 0x52, 0xff, 0xdc, 0xb4, 0x44, 0xff, 0x90, 0x79, 0x34, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x4d, 0x77, 0x35, 0xff, 0x65, 0x88, 0x4b, 0xff,
+ 0x62, 0x85, 0x49, 0xff, 0x62, 0x83, 0x49, 0xff, 0x61, 0x83, 0x49, 0xff,
+ 0x61, 0x82, 0x49, 0xff, 0x60, 0x81, 0x48, 0xff, 0x60, 0x81, 0x48, 0xff,
+ 0x8b, 0xa2, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x20, 0x2b, 0x18, 0x03,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xff,
+ 0x9c, 0x5d, 0x1a, 0xff, 0xd0, 0xac, 0x42, 0xff, 0xea, 0xc5, 0x4b, 0xff,
+ 0xfe, 0xda, 0x52, 0xff, 0xff, 0xe2, 0x55, 0xff, 0xff, 0xe7, 0x57, 0xff,
+ 0xff, 0xe7, 0x57, 0xff, 0xf5, 0xcf, 0x4e, 0xff, 0xd0, 0xaf, 0x4b, 0xff,
+ 0x7f, 0x6b, 0x32, 0xff, 0x00, 0x00, 0x00, 0xff, 0x47, 0x6f, 0x31, 0xff,
+ 0x62, 0x84, 0x48, 0xff, 0x60, 0x82, 0x48, 0xff, 0x45, 0x6a, 0x2f, 0xff,
+ 0x45, 0x6a, 0x2f, 0xff, 0x45, 0x6a, 0x2f, 0xff, 0x45, 0x6a, 0x2f, 0xff,
+ 0x52, 0x74, 0x3b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x20, 0x2b, 0x18, 0x03,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x9c,
+ 0x8f, 0x65, 0x08, 0xff, 0xc3, 0x90, 0x32, 0xff, 0xe3, 0xbd, 0x49, 0xff,
+ 0xf9, 0xd2, 0x4f, 0xff, 0xfe, 0xda, 0x52, 0xff, 0xff, 0xde, 0x53, 0xff,
+ 0xff, 0xde, 0x53, 0xff, 0xff, 0xda, 0x52, 0xff, 0xf0, 0xc5, 0x4a, 0xff,
+ 0xa7, 0x88, 0x33, 0xff, 0x6f, 0x5c, 0x23, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x45, 0x6c, 0x2f, 0xff, 0x5a, 0x7b, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x20, 0x2b, 0x18, 0x03,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x5b,
+ 0x00, 0x00, 0x00, 0xff, 0xab, 0x77, 0x27, 0xff, 0xcc, 0xa9, 0x41, 0xff,
+ 0xe5, 0xbf, 0x49, 0xff, 0xed, 0xc7, 0x4c, 0xff, 0xfd, 0xd5, 0x50, 0xff,
+ 0xfe, 0xd7, 0x51, 0xff, 0xff, 0xd5, 0x51, 0xff, 0xf0, 0xc8, 0x4e, 0xff,
+ 0xbc, 0x9d, 0x3b, 0xff, 0x88, 0x64, 0x23, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x45, 0x6a, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x02, 0x02, 0x01, 0x2f, 0x02, 0x02, 0x01, 0x2e, 0x02, 0x02, 0x01, 0x2c,
+ 0x02, 0x03, 0x02, 0x22, 0x06, 0x09, 0x05, 0x0e, 0x20, 0x2b, 0x18, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, 0xff, 0xab, 0x7c, 0x2b, 0xff,
+ 0xc1, 0x9d, 0x3d, 0xff, 0xd6, 0xb1, 0x44, 0xff, 0xe9, 0xc3, 0x4b, 0xff,
+ 0xed, 0xc6, 0x4c, 0xff, 0xdf, 0xba, 0x47, 0xff, 0xdc, 0xb7, 0x46, 0xff,
+ 0xb1, 0x82, 0x2d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x99,
+ 0x01, 0x02, 0x01, 0x38, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x04, 0x06, 0x03, 0x14, 0x05, 0x07, 0x04, 0x12, 0x05, 0x07, 0x04, 0x12,
+ 0x06, 0x09, 0x05, 0x0e, 0x10, 0x15, 0x0c, 0x06, 0x30, 0x40, 0x24, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x65, 0x08, 0xff, 0xa2, 0x62, 0x1b, 0xff, 0xb0, 0x96, 0x38, 0xff,
+ 0xbb, 0x98, 0x3b, 0xff, 0xbc, 0x72, 0x22, 0xff, 0x8f, 0x65, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x71, 0x03, 0x04, 0x02, 0x1c,
+ 0x02, 0x03, 0x01, 0x29, 0x02, 0x03, 0x01, 0x28, 0x00, 0x00, 0x00, 0xff,
+ 0x13, 0x19, 0x0e, 0x05, 0x20, 0x2b, 0x18, 0x03, 0x20, 0x2b, 0x18, 0x03,
+ 0x20, 0x2b, 0x18, 0x03, 0x30, 0x40, 0x24, 0x02, 0x60, 0x81, 0x48, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x5b,
+ 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x93,
+ 0x00, 0x01, 0x00, 0x46, 0x0a, 0x0e, 0x08, 0x09, 0x0a, 0x0e, 0x08, 0x09,
+ 0x04, 0x06, 0x03, 0x14, 0x03, 0x05, 0x02, 0x19, 0x07, 0x09, 0x05, 0x0d,
+ 0x20, 0x2b, 0x18, 0x03, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x32, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0x07, 0x0a, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x13, 0x17, 0x10, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0xff,
+ 0xb4, 0xc5, 0xa6, 0xfd, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x05, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x90, 0x75, 0x2c, 0xff, 0xef, 0xcc, 0x5a, 0xff,
+ 0xf3, 0xd3, 0x6a, 0xff, 0xda, 0xb9, 0x57, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xa5, 0xb7, 0x97, 0xfb, 0xc1, 0xe4, 0xa9, 0xff, 0xcc, 0xe4, 0xba, 0xff,
+ 0xc7, 0xd7, 0xba, 0xff, 0xc2, 0xd3, 0xb5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x6d, 0x96, 0x7a, 0x2e, 0xff, 0xfa, 0xd4, 0x51, 0xff,
+ 0xfe, 0xe4, 0x64, 0xff, 0xd7, 0xb9, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xac, 0xbc, 0x9d, 0xff, 0xc2, 0xd9, 0xb1, 0xff, 0xc7, 0xea, 0xaf, 0xff,
+ 0xc5, 0xe7, 0xac, 0xff, 0xbb, 0xdb, 0xa3, 0xff, 0xbd, 0xd5, 0xab, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0xea, 0xc5, 0x4a, 0xff,
+ 0xfe, 0xdd, 0x53, 0xff, 0xff, 0xea, 0x59, 0xff, 0xd7, 0xb9, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6a, 0x8f, 0x50, 0xff, 0x73, 0x98, 0x5a, 0xff,
+ 0x72, 0x95, 0x59, 0xff, 0x71, 0x94, 0x58, 0xff, 0x6e, 0x8f, 0x55, 0xff,
+ 0x9a, 0xb2, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xec, 0xc5, 0x4b, 0xff, 0xfd, 0xde, 0x54, 0xff, 0xff, 0xed, 0x59, 0xff,
+ 0xf1, 0xcf, 0x4d, 0xff, 0xd7, 0xb9, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x61, 0x86, 0x47, 0xff, 0x63, 0x86, 0x4a, 0xff, 0x62, 0x84, 0x4a, 0xff,
+ 0x61, 0x83, 0x49, 0xff, 0x92, 0xaa, 0x7f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xb5, 0xdc, 0xb6, 0x45, 0xff, 0xf9, 0xd6, 0x51, 0xff,
+ 0xff, 0xe4, 0x56, 0xff, 0xfd, 0xe1, 0x54, 0xff, 0xf8, 0xcf, 0x4f, 0xff,
+ 0xd7, 0xb9, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5a, 0x7d, 0x42, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x8b, 0x6b, 0x27, 0xff,
+ 0xeb, 0xc5, 0x4b, 0xff, 0xfa, 0xd5, 0x50, 0xff, 0xff, 0xda, 0x52, 0xff,
+ 0xf8, 0xcf, 0x4f, 0xff, 0xf8, 0xcf, 0x4f, 0xff, 0xd7, 0xb9, 0x50, 0xff,
+ 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x80, 0x64, 0x21, 0xff, 0xdd, 0xb6, 0x45, 0xff,
+ 0xe8, 0xc1, 0x4a, 0xff, 0xd2, 0xaa, 0x39, 0xff, 0x87, 0x69, 0x26, 0xf9,
+ 0x00, 0x00, 0x00, 0xd7, 0x0a, 0x0f, 0x07, 0x00, 0x06, 0x09, 0x04, 0xf2,
+ 0x04, 0x06, 0x03, 0x00, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd7,
+ 0x00, 0x00, 0x00, 0x81, 0x08, 0x0a, 0x06, 0x00, 0x60, 0x81, 0x48, 0x00,
+ 0x01, 0x01, 0x01, 0x00, 0x08, 0x0a, 0x06, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x04, 0x36, 0x34, 0x00, 0x04, 0x36, 0x40, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x36, 0x54, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x04, 0x3f, 0x7c, 0x00, 0x04, 0x36, 0x5c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x21, 0x22, 0x22, 0x1c, 0x18, 0x18, 0x17, 0x6c, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x18, 0x18, 0x17, 0xa2,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x18, 0x18, 0x17, 0xa0, 0x80, 0x80, 0x80, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0x6b, 0x6b, 0x6a, 0xff,
+ 0x16, 0x16, 0x15, 0x9a, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x19, 0x19, 0x18, 0xff, 0xed, 0xed, 0xed, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x19, 0x19, 0x18, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xf5, 0xf5, 0xf6, 0xff, 0xc0, 0xc0, 0xc5, 0xff, 0xc0, 0xc0, 0xc5, 0xff,
+ 0xf5, 0xf5, 0xf6, 0xff, 0xc0, 0xc0, 0xc5, 0xff, 0xc0, 0xc0, 0xc5, 0xff,
+ 0xf3, 0xf3, 0xf4, 0xff, 0x48, 0x48, 0x48, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x19, 0x19, 0x18, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xb7, 0xb4, 0xc3, 0xff, 0xb7, 0xb5, 0xc4, 0xff, 0xb7, 0xb5, 0xc4, 0xff,
+ 0xb7, 0xb5, 0xc4, 0xff, 0xf5, 0xf5, 0xf6, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0x48, 0x48, 0x48, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x19, 0x19, 0x18, 0xff, 0xee, 0xee, 0xee, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xb6, 0xb4, 0xc3, 0xff, 0xb7, 0xb5, 0xc3, 0xff, 0xb3, 0xb1, 0xc1, 0xff,
+ 0xb5, 0xb3, 0xc1, 0xff, 0xea, 0xea, 0xeb, 0xff, 0xea, 0xea, 0xeb, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0x48, 0x48, 0x48, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x19, 0x19, 0x18, 0xff, 0xee, 0xee, 0xee, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xa1, 0x9e, 0xb2, 0xff, 0xa1, 0x9e, 0xb2, 0xff, 0xa0, 0x9c, 0xb1, 0xff,
+ 0xa1, 0x9e, 0xb2, 0xff, 0xea, 0xea, 0xeb, 0xff, 0xea, 0xea, 0xeb, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0x48, 0x48, 0x48, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x19, 0x19, 0x18, 0xff, 0xed, 0xed, 0xed, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff, 0x92, 0x8f, 0xa2, 0xff,
+ 0x67, 0x65, 0x71, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x18, 0x18, 0x17, 0xa2, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x19, 0x19, 0x18, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x2a, 0x2a, 0x2a, 0xff,
+ 0x80, 0x80, 0x80, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x6b, 0x6b, 0x6a, 0xff, 0x16, 0x16, 0x15, 0x9a,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x09, 0x09, 0xbe, 0x8b, 0x8b, 0x8b, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0e, 0x7f, 0x2a, 0x2a, 0x29, 0xff, 0x70, 0x70, 0x6f, 0xff,
+ 0x89, 0x89, 0x88, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x48, 0x48, 0x48, 0xff, 0xf5, 0xf5, 0xf6, 0xff,
+ 0xc0, 0xc0, 0xc5, 0xff, 0xc0, 0xc0, 0xc5, 0xff, 0xf5, 0xf5, 0xf6, 0xff,
+ 0xc0, 0xc0, 0xc5, 0xff, 0xc0, 0xc0, 0xc5, 0xff, 0xf3, 0xf3, 0xf4, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00,
+ 0x0e, 0x0e, 0x0d, 0xd9, 0xf3, 0xf3, 0xf3, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xec, 0xec, 0xec, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x48, 0x48, 0x48, 0xff, 0xb7, 0xb4, 0xc3, 0xff,
+ 0xb7, 0xb5, 0xc4, 0xff, 0xb7, 0xb5, 0xc4, 0xff, 0xb7, 0xb5, 0xc4, 0xff,
+ 0xf5, 0xf5, 0xf6, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x0e, 0x0e, 0x0d, 0xd9, 0xd9, 0xd9, 0xd9, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x48, 0x48, 0x48, 0xff, 0xb6, 0xb4, 0xc3, 0xff,
+ 0xb7, 0xb5, 0xc3, 0xff, 0xb3, 0xb1, 0xc1, 0xff, 0xb5, 0xb3, 0xc1, 0xff,
+ 0xea, 0xea, 0xeb, 0xff, 0xea, 0xea, 0xeb, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xef, 0xef, 0xef, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0x14, 0x13, 0xa2, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x48, 0x48, 0x48, 0xff, 0xa1, 0x9e, 0xb2, 0xff,
+ 0xa1, 0x9e, 0xb2, 0xff, 0xa0, 0x9c, 0xb1, 0xff, 0xa1, 0x9e, 0xb2, 0xff,
+ 0xea, 0xea, 0xeb, 0xff, 0xea, 0xea, 0xeb, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xee, 0xee, 0xee, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x06, 0x7f, 0x7f, 0x7e, 0xff, 0xb6, 0xb6, 0xb5, 0xff,
+ 0x7f, 0x7f, 0x7e, 0xff, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x34,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x19, 0x19, 0x18, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x48, 0x48, 0x48, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xed, 0xed, 0xed, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x7f, 0x7f, 0x7e, 0xff, 0xc8, 0xc8, 0xc7, 0xff,
+ 0x7f, 0x7f, 0x7e, 0xff, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x19, 0x19, 0x18, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xed, 0xed, 0xed, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7e, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0x7f, 0x7f, 0x7e, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x09, 0xbe,
+ 0x8b, 0x8b, 0x8b, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x94, 0x94, 0x94, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7e, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0x7f, 0x7f, 0x7e, 0xff, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0e, 0x7f,
+ 0x2a, 0x2a, 0x29, 0xff, 0x70, 0x70, 0x6f, 0xff, 0x89, 0x89, 0x88, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0x89, 0x89, 0x88, 0xff, 0x70, 0x70, 0x6f, 0xff,
+ 0x5d, 0x5d, 0x5c, 0xff, 0x19, 0x19, 0x18, 0xff, 0x24, 0x24, 0x23, 0xc9,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7e, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0x9a, 0x9a, 0x99, 0xff, 0x7f, 0x7f, 0x7e, 0xff, 0x7f, 0x7f, 0x7e, 0xff,
+ 0x7f, 0x7f, 0x7e, 0xff, 0x7f, 0x7f, 0x7e, 0xff, 0x0e, 0x0e, 0x0d, 0xda,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x7e, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xd5, 0xd5, 0xd5, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xb3, 0xb3, 0xb3, 0xff, 0x90, 0x90, 0x90, 0xff, 0x0e, 0x0e, 0x0d, 0xe0,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x2d, 0x2d, 0x2b, 0x68, 0x7f, 0x7f, 0x7e, 0xff,
+ 0x7f, 0x7f, 0x7e, 0xff, 0x7f, 0x7f, 0x7e, 0xff, 0x7f, 0x7f, 0x7e, 0xff,
+ 0x7f, 0x7f, 0x7e, 0xff, 0x7f, 0x7f, 0x7e, 0xff, 0x1f, 0x1f, 0x1d, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x00, 0x00, 0x00, 0x87,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3f, 0x84,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x21, 0x22, 0x22, 0x1c, 0x19, 0x19, 0x18, 0x6b, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0x9f, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x19, 0x19, 0x18, 0x9f, 0x80, 0x80, 0x80, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x6b, 0x6b, 0x6a, 0xff, 0x19, 0x19, 0x18, 0x8b,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x19, 0x18, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x19, 0x19, 0x18, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xf5, 0xf5, 0xf6, 0xff, 0xf5, 0xf5, 0xf6, 0xff, 0xae, 0xae, 0xb3, 0xff,
+ 0x79, 0x79, 0x7c, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0x9f,
+ 0x00, 0x00, 0x00, 0x0d, 0x19, 0x19, 0x18, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xb7, 0xb4, 0xc3, 0xff, 0xb7, 0xb5, 0xc4, 0xff,
+ 0x6b, 0x6b, 0x6b, 0xff, 0x80, 0x80, 0x80, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x6b, 0x6b, 0x6a, 0xff, 0x19, 0x19, 0x18, 0x8b, 0x19, 0x19, 0x18, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x48, 0x48, 0x48, 0xff, 0xa1, 0x9e, 0xb2, 0xff,
+ 0xa1, 0x9e, 0xb2, 0xff, 0x19, 0x19, 0x18, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0xed, 0xed, 0xed, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x48, 0x48, 0x48, 0xff, 0xf5, 0xf5, 0xf6, 0xff,
+ 0xf5, 0xf5, 0xf6, 0xff, 0xc0, 0xc0, 0xc5, 0xff, 0xc0, 0xc0, 0xc5, 0xff,
+ 0xf3, 0xf3, 0xf4, 0xff, 0x48, 0x48, 0x48, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xb7, 0xb4, 0xc3, 0xff, 0xb7, 0xb5, 0xc4, 0xff, 0xf5, 0xf5, 0xf6, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xa1, 0x9d, 0xb2, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x19, 0x19, 0x18, 0xff, 0x0a, 0x0a, 0x0a, 0xbb,
+ 0x8b, 0x8b, 0x8b, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x19, 0x19, 0x18, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xa1, 0x9e, 0xb2, 0xff, 0xa1, 0x9e, 0xb2, 0xff,
+ 0xea, 0xea, 0xeb, 0xff, 0xea, 0xea, 0xeb, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xee, 0xee, 0xee, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x10, 0x10, 0x0f, 0x7b, 0x2a, 0x2a, 0x29, 0xff, 0x70, 0x70, 0x6f, 0xff,
+ 0x89, 0x89, 0x88, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x48, 0x48, 0x48, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff, 0xa1, 0x9d, 0xb2, 0xff,
+ 0xa1, 0x9d, 0xb2, 0xff, 0x48, 0x48, 0x48, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x0f, 0x0f, 0x0e, 0xd8, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x48, 0x48, 0x48, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x19, 0x19, 0x18, 0xff, 0x0f, 0x0f, 0x0e, 0xd8,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0x39, 0x39, 0x39, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x94, 0x94, 0x94, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x15, 0x15, 0x14, 0x9f, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x14, 0x14, 0x13, 0xff,
+ 0x2a, 0x2a, 0x29, 0xff, 0x70, 0x70, 0x6f, 0xff, 0x89, 0x89, 0x88, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0xa8, 0xa8, 0xa8, 0xff, 0x89, 0x89, 0x88, 0xff,
+ 0x70, 0x70, 0x6f, 0xff, 0x5d, 0x5d, 0x5c, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x28, 0x28, 0x27, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0x0f, 0x0e, 0xd8, 0xf3, 0xf3, 0xf3, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x19, 0x19, 0x18, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0e, 0xd8, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xc4, 0xc4, 0xc4, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x14, 0x9f,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff, 0x19, 0x19, 0x18, 0xff,
+ 0x00, 0x00, 0x00, 0x62, 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0x43, 0xb0,
+ 0x00, 0x04, 0x43, 0xb8, 0x67, 0x74, 0x6b, 0x2d, 0x6f, 0x6b, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x43, 0xc4,
+ 0x00, 0x04, 0x43, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x06, 0x58, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x06, 0x58,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb6, 0xc6, 0xaa, 0xff, 0xb6, 0xc6, 0xaa, 0xff,
+ 0xb6, 0xc6, 0xaa, 0xff, 0xad, 0xbb, 0xa1, 0xff, 0x9e, 0xab, 0x93, 0xff,
+ 0x9e, 0xab, 0x93, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff,
+ 0xb6, 0xc6, 0xaa, 0xff, 0xd5, 0xe7, 0xc7, 0xff, 0x9c, 0xa9, 0x92, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x7e, 0x88, 0x75, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0xb6, 0xc6, 0xaa, 0xff,
+ 0xb6, 0xc6, 0xaa, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x7e, 0x88, 0x75, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x12, 0x0f, 0xff, 0xb6, 0xc6, 0xaa, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x94, 0xa0, 0x8a, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x7e, 0x88, 0x75, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff,
+ 0xb6, 0xc6, 0xaa, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x9e, 0xab, 0x93, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x7e, 0x88, 0x75, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff,
+ 0x7b, 0x85, 0x72, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0xb6, 0xc6, 0xaa, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x7e, 0x88, 0x75, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x12, 0x0f, 0xff, 0xb6, 0xc6, 0xaa, 0xff, 0x63, 0x6b, 0x5c, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0xb6, 0xc6, 0xaa, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x83, 0x8e, 0x7a, 0xff,
+ 0x61, 0x6a, 0x5b, 0xff, 0x70, 0x7a, 0x69, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0xb6, 0xc6, 0xaa, 0xff,
+ 0xaa, 0xb8, 0x9e, 0xff, 0x7b, 0x85, 0x72, 0xff, 0x57, 0x5e, 0x51, 0xff,
+ 0x57, 0x5e, 0x51, 0xff, 0x57, 0x5e, 0x51, 0xff, 0x58, 0x5f, 0x52, 0xff,
+ 0x61, 0x6a, 0x5b, 0xff, 0x63, 0x6b, 0x5c, 0xff, 0x68, 0x71, 0x61, 0xff,
+ 0x79, 0x83, 0x71, 0xff, 0x97, 0xa4, 0x8d, 0xff, 0xb2, 0xc1, 0xa6, 0xff,
+ 0x58, 0x5f, 0x52, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff,
+ 0xb6, 0xc6, 0xaa, 0xff, 0x97, 0xa4, 0x8d, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x97, 0xa4, 0x8d, 0xff, 0x97, 0xa4, 0x8d, 0xff, 0x97, 0xa4, 0x8d, 0xff,
+ 0x97, 0xa4, 0x8d, 0xff, 0x99, 0xa6, 0x8e, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x72, 0x7c, 0x6a, 0xff, 0x42, 0x48, 0x3e, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x12, 0x0f, 0xff, 0xb6, 0xc6, 0xaa, 0xff, 0x99, 0xa6, 0x8e, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x8a, 0x95, 0x80, 0xff, 0x60, 0x68, 0x59, 0xff, 0x41, 0x47, 0x3d, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0xb6, 0xc6, 0xaa, 0xff,
+ 0x9c, 0xa9, 0x92, 0xff, 0x97, 0xa4, 0x8d, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x81, 0x8c, 0x79, 0xff, 0x5b, 0x62, 0x55, 0xff,
+ 0x40, 0x45, 0x3c, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0x4e, 0x55, 0x49, 0xff,
+ 0x90, 0x9c, 0x87, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x7c, 0x87, 0x74, 0xff,
+ 0x55, 0x5d, 0x50, 0xff, 0x3e, 0x43, 0x39, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0x4e, 0x55, 0x49, 0xff,
+ 0x92, 0x9e, 0x88, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff,
+ 0x95, 0xa2, 0x8b, 0xff, 0x95, 0xa2, 0x8b, 0xff, 0x94, 0xa0, 0x8a, 0xff,
+ 0x7c, 0x87, 0x74, 0xff, 0x52, 0x59, 0x4c, 0xff, 0x39, 0x3e, 0x35, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0x4c, 0x52, 0x47, 0xff,
+ 0x90, 0x9c, 0x87, 0xff, 0x8f, 0x9b, 0x85, 0xff, 0x7c, 0x87, 0x74, 0xff,
+ 0x7b, 0x85, 0x72, 0xff, 0x6a, 0x73, 0x63, 0xff, 0x4f, 0x56, 0x4a, 0xff,
+ 0x39, 0x3e, 0x35, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0x51, 0x57, 0x4b, 0xff,
+ 0x4f, 0x56, 0x4a, 0xff, 0x0e, 0x0f, 0x0d, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x10, 0x12, 0x0f, 0xff, 0x10, 0x12, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0x38, 0x3c, 0x34, 0xff,
+ 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x57, 0xa8,
+ 0x00, 0x04, 0x4a, 0x38, 0x00, 0x04, 0x4a, 0x44, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6f, 0x70, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x4a, 0x58, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x04, 0x53, 0x80, 0x00, 0x04, 0x4a, 0x60, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x1f, 0x1f, 0x1f, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x06, 0x06, 0x04, 0x24, 0x00, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0xe4,
+ 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x06, 0x06, 0x05, 0x35,
+ 0x15, 0x15, 0x15, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x21, 0x15, 0x08,
+ 0x01, 0x01, 0x00, 0xcc, 0xb5, 0xb8, 0xa5, 0xff, 0xe4, 0xe7, 0xd2, 0xff,
+ 0xe4, 0xe7, 0xd2, 0xff, 0xe4, 0xe7, 0xd2, 0xff, 0xe4, 0xe7, 0xd2, 0xff,
+ 0xe4, 0xe7, 0xd2, 0xff, 0x87, 0x8a, 0x76, 0xff, 0x33, 0x34, 0x2b, 0xff,
+ 0x21, 0x21, 0x1b, 0x0e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x2f, 0x25, 0x58,
+ 0x0b, 0x0b, 0x0b, 0xe8, 0xe2, 0xe5, 0xcf, 0xff, 0xcf, 0xd4, 0xaf, 0xff,
+ 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff, 0xce, 0xd3, 0xae, 0xff,
+ 0xce, 0xd3, 0xae, 0xff, 0xb2, 0xb6, 0x96, 0xff, 0x2d, 0x2d, 0x25, 0xff,
+ 0x0c, 0x0c, 0x09, 0x4b, 0x2a, 0x2a, 0x15, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x24, 0x1d, 0xa9,
+ 0x9d, 0x9f, 0x90, 0xff, 0xe2, 0xe5, 0xcf, 0xff, 0xc6, 0xca, 0xa6, 0xff,
+ 0xc4, 0xc9, 0xa5, 0xff, 0xc6, 0xcb, 0xa7, 0xff, 0xc7, 0xcc, 0xa8, 0xff,
+ 0xc9, 0xce, 0xa9, 0xff, 0xc9, 0xce, 0xa9, 0xff, 0x55, 0x58, 0x47, 0xff,
+ 0x1a, 0x1b, 0x15, 0xa8, 0x2d, 0x2d, 0x25, 0x0d, 0x19, 0x19, 0x19, 0x04,
+ 0x1f, 0x1f, 0x1f, 0x03, 0x1f, 0x1f, 0x1f, 0x03, 0x1f, 0x1f, 0x1f, 0x03,
+ 0x1c, 0x1c, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x1a, 0xf0,
+ 0xd4, 0xd6, 0xc2, 0xff, 0xbe, 0xc2, 0xa0, 0xff, 0xb3, 0xb8, 0x96, 0xff,
+ 0xb0, 0xb5, 0x95, 0xff, 0xb3, 0xb7, 0x97, 0xff, 0xb6, 0xbb, 0x99, 0xff,
+ 0xbb, 0xc0, 0x9e, 0xff, 0xbc, 0xc1, 0x9f, 0xff, 0x81, 0x85, 0x6c, 0xff,
+ 0x3e, 0x3f, 0x32, 0xe7, 0x01, 0x01, 0x01, 0xc7, 0x00, 0x00, 0x00, 0xd7,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x04, 0x04, 0x02, 0x58, 0x1c, 0x1c, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x24, 0x1d, 0xfc,
+ 0xda, 0xdd, 0xc8, 0xff, 0xaf, 0xb4, 0x94, 0xff, 0xaa, 0xaf, 0x8f, 0xff,
+ 0xa3, 0xa7, 0x89, 0xff, 0xa6, 0xaa, 0x8b, 0xff, 0xaa, 0xaf, 0x8f, 0xff,
+ 0xa9, 0xad, 0x8e, 0xff, 0xa7, 0xab, 0x8d, 0xff, 0xa4, 0xa8, 0x8a, 0xff,
+ 0xa1, 0xa5, 0x88, 0xff, 0xaa, 0xad, 0x96, 0xff, 0xb3, 0xb5, 0xa5, 0xff,
+ 0xb8, 0xbb, 0xaa, 0xff, 0xba, 0xbc, 0xab, 0xff, 0xc1, 0xc3, 0xb2, 0xff,
+ 0xc7, 0xca, 0xb7, 0xff, 0xca, 0xcd, 0xbb, 0xff, 0xba, 0xbd, 0xa8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x2f, 0x2f, 0x27, 0x0c, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x09, 0xff,
+ 0xdd, 0xdf, 0xcb, 0xff, 0x96, 0x9b, 0x7e, 0xff, 0x9d, 0xa2, 0x86, 0xff,
+ 0x95, 0x98, 0x7c, 0xff, 0x96, 0x99, 0x7e, 0xff, 0x9a, 0x9d, 0x81, 0xff,
+ 0x99, 0x9d, 0x80, 0xff, 0x96, 0x99, 0x7e, 0xff, 0x9d, 0xa1, 0x84, 0xff,
+ 0xa5, 0xaa, 0x8b, 0xff, 0xa4, 0xa9, 0x8a, 0xff, 0xa3, 0xa8, 0x89, 0xff,
+ 0xa2, 0xa5, 0x88, 0xff, 0xa3, 0xa7, 0x89, 0xff, 0xa2, 0xa5, 0x87, 0xff,
+ 0x9f, 0xa3, 0x86, 0xff, 0x9b, 0x9e, 0x83, 0xff, 0x89, 0x8d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x2f, 0x2f, 0x27, 0x18, 0x1f, 0x1f, 0x1f, 0x06,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0xd8, 0xdb, 0xc9, 0xff, 0x84, 0x86, 0x6e, 0xff, 0x7d, 0x81, 0x69, 0xff,
+ 0x15, 0x16, 0x12, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x01, 0xdb, 0x01, 0x01, 0x01, 0xc6,
+ 0x07, 0x07, 0x05, 0x64, 0x28, 0x28, 0x1f, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0xd7, 0xda, 0xc9, 0xff, 0x79, 0x7d, 0x67, 0xff, 0x3d, 0x3f, 0x34, 0xff,
+ 0xe0, 0xe0, 0xd9, 0xff, 0xeb, 0xed, 0xdd, 0xff, 0xe8, 0xeb, 0xd9, 0xff,
+ 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff,
+ 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff,
+ 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff, 0xe8, 0xeb, 0xd9, 0xff,
+ 0xe8, 0xeb, 0xd9, 0xff, 0xe7, 0xea, 0xd8, 0xff, 0xe3, 0xe6, 0xd4, 0xff,
+ 0xde, 0xe1, 0xd0, 0xff, 0xda, 0xdc, 0xcc, 0xff, 0xda, 0xdc, 0xd1, 0xff,
+ 0x2b, 0x2c, 0x28, 0xff, 0x32, 0x32, 0x27, 0x35, 0x00, 0x00, 0x00, 0xff,
+ 0xd7, 0xda, 0xc6, 0xff, 0x6f, 0x73, 0x5e, 0xff, 0x0d, 0x0d, 0x0d, 0xff,
+ 0xf4, 0xf4, 0xec, 0xff, 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff,
+ 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff,
+ 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff, 0xcf, 0xd4, 0xaf, 0xff,
+ 0xcf, 0xd4, 0xaf, 0xff, 0xce, 0xd3, 0xae, 0xff, 0xce, 0xd3, 0xae, 0xff,
+ 0xce, 0xd3, 0xae, 0xff, 0xca, 0xcf, 0xab, 0xff, 0xc6, 0xcb, 0xa8, 0xff,
+ 0xc2, 0xc6, 0xa4, 0xff, 0xbb, 0xc0, 0x9e, 0xff, 0xab, 0xb0, 0x91, 0xff,
+ 0x23, 0x25, 0x1e, 0xff, 0x31, 0x32, 0x28, 0x4a, 0x00, 0x00, 0x00, 0xff,
+ 0xd7, 0xda, 0xc6, 0xff, 0x49, 0x4b, 0x3d, 0xff, 0xdc, 0xdc, 0xd4, 0xff,
+ 0xea, 0xec, 0xdd, 0xff, 0xcd, 0xd2, 0xad, 0xff, 0xce, 0xd3, 0xae, 0xff,
+ 0xce, 0xd3, 0xae, 0xff, 0xcd, 0xd2, 0xad, 0xff, 0xce, 0xd3, 0xae, 0xff,
+ 0xcd, 0xd2, 0xad, 0xff, 0xcd, 0xd2, 0xad, 0xff, 0xcd, 0xd2, 0xad, 0xff,
+ 0xcd, 0xd2, 0xad, 0xff, 0xcd, 0xd2, 0xad, 0xff, 0xcc, 0xd1, 0xac, 0xff,
+ 0xca, 0xcf, 0xaa, 0xff, 0xc6, 0xcb, 0xa8, 0xff, 0xc2, 0xc6, 0xa4, 0xff,
+ 0xba, 0xbf, 0x9d, 0xff, 0xb5, 0xb9, 0x99, 0xff, 0x81, 0x83, 0x6c, 0xff,
+ 0x07, 0x08, 0x06, 0xbe, 0x31, 0x32, 0x28, 0x3f, 0x00, 0x00, 0x00, 0xff,
+ 0xd5, 0xd8, 0xc4, 0xff, 0x16, 0x16, 0x16, 0xff, 0xf2, 0xf2, 0xea, 0xff,
+ 0xca, 0xcf, 0xab, 0xff, 0xca, 0xcf, 0xaa, 0xff, 0xca, 0xcf, 0xab, 0xff,
+ 0xca, 0xcf, 0xaa, 0xff, 0xc9, 0xce, 0xaa, 0xff, 0xca, 0xcf, 0xaa, 0xff,
+ 0xc9, 0xce, 0xaa, 0xff, 0xc7, 0xcc, 0xa8, 0xff, 0xc8, 0xcd, 0xa9, 0xff,
+ 0xc8, 0xcd, 0xa9, 0xff, 0xc6, 0xcb, 0xa8, 0xff, 0xc4, 0xc9, 0xa6, 0xff,
+ 0xc1, 0xc5, 0xa3, 0xff, 0xbc, 0xc0, 0x9f, 0xff, 0xb6, 0xbb, 0x9a, 0xff,
+ 0xb0, 0xb4, 0x94, 0xff, 0x9d, 0xa1, 0x85, 0xff, 0x53, 0x54, 0x45, 0xff,
+ 0x0c, 0x0c, 0x09, 0x9a, 0x33, 0x33, 0x26, 0x27, 0x00, 0x00, 0x00, 0xff,
+ 0xb6, 0xb8, 0xa7, 0xff, 0x74, 0x74, 0x70, 0xff, 0xec, 0xec, 0xe2, 0xff,
+ 0xc3, 0xc8, 0xa5, 0xff, 0xc2, 0xc7, 0xa4, 0xff, 0xc2, 0xc7, 0xa4, 0xff,
+ 0xc2, 0xc6, 0xa4, 0xff, 0xc0, 0xc5, 0xa2, 0xff, 0xc2, 0xc6, 0xa4, 0xff,
+ 0xbf, 0xc4, 0xa1, 0xff, 0xbd, 0xc2, 0xa0, 0xff, 0xc0, 0xc5, 0xa2, 0xff,
+ 0xbd, 0xc2, 0xa0, 0xff, 0xb9, 0xbd, 0x9c, 0xff, 0xb9, 0xbe, 0x9d, 0xff,
+ 0xb3, 0xb7, 0x97, 0xff, 0xb0, 0xb5, 0x95, 0xff, 0xa9, 0xad, 0x8f, 0xff,
+ 0xa3, 0xa7, 0x8a, 0xff, 0x80, 0x83, 0x6d, 0xff, 0x02, 0x02, 0x01, 0xe7,
+ 0x18, 0x18, 0x12, 0x56, 0x30, 0x30, 0x26, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0xa6, 0xa9, 0x98, 0xff, 0xdc, 0xdc, 0xd4, 0xff, 0xb8, 0xbc, 0x9b, 0xff,
+ 0xb8, 0xbc, 0x9b, 0xff, 0xb5, 0xb9, 0x99, 0xff, 0xb3, 0xb7, 0x97, 0xff,
+ 0xb3, 0xb7, 0x97, 0xff, 0xb0, 0xb5, 0x95, 0xff, 0xb0, 0xb5, 0x95, 0xff,
+ 0xaf, 0xb3, 0x94, 0xff, 0xaf, 0xb3, 0x94, 0xff, 0xaf, 0xb3, 0x94, 0xff,
+ 0xac, 0xb0, 0x91, 0xff, 0xa8, 0xac, 0x8e, 0xff, 0xa6, 0xaa, 0x8c, 0xff,
+ 0x9f, 0xa2, 0x86, 0xff, 0x9b, 0x9f, 0x83, 0xff, 0x9a, 0x9d, 0x82, 0xff,
+ 0x8a, 0x8d, 0x75, 0xff, 0x4f, 0x52, 0x43, 0xe8, 0x07, 0x07, 0x05, 0xb5,
+ 0x30, 0x33, 0x28, 0x21, 0x2c, 0x2c, 0x21, 0x08, 0x00, 0x00, 0x00, 0xff,
+ 0x9e, 0x9f, 0x91, 0xff, 0xe5, 0xe6, 0xda, 0xff, 0xad, 0xb1, 0x92, 0xff,
+ 0xa9, 0xad, 0x8f, 0xff, 0xa6, 0xaa, 0x8c, 0xff, 0xa5, 0xa9, 0x8c, 0xff,
+ 0xa3, 0xa7, 0x8a, 0xff, 0xa3, 0xa7, 0x8a, 0xff, 0xa1, 0xa5, 0x88, 0xff,
+ 0x9f, 0xa3, 0x87, 0xff, 0x9f, 0xa2, 0x86, 0xff, 0x9b, 0x9f, 0x83, 0xff,
+ 0x99, 0x9d, 0x81, 0xff, 0x95, 0x98, 0x7e, 0xff, 0x92, 0x95, 0x7b, 0xff,
+ 0x8c, 0x8f, 0x76, 0xff, 0x8a, 0x8d, 0x74, 0xff, 0x8a, 0x8d, 0x74, 0xff,
+ 0x71, 0x73, 0x5f, 0xff, 0x08, 0x09, 0x08, 0xe8, 0x15, 0x16, 0x11, 0x5d,
+ 0x2d, 0x32, 0x23, 0x13, 0x1c, 0x1c, 0x1c, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0xe3, 0xe5, 0xd9, 0xff, 0xc0, 0xc3, 0xaf, 0xff, 0x94, 0x98, 0x7c, 0xff,
+ 0x8f, 0x93, 0x79, 0xff, 0x8b, 0x8f, 0x75, 0xff, 0x8a, 0x8e, 0x74, 0xff,
+ 0x88, 0x8c, 0x73, 0xff, 0x88, 0x8c, 0x73, 0xff, 0x85, 0x89, 0x70, 0xff,
+ 0x86, 0x89, 0x71, 0xff, 0x82, 0x86, 0x6e, 0xff, 0x80, 0x83, 0x6c, 0xff,
+ 0x7d, 0x80, 0x69, 0xff, 0x79, 0x7c, 0x66, 0xff, 0x72, 0x75, 0x60, 0xff,
+ 0x71, 0x74, 0x60, 0xff, 0x71, 0x74, 0x5f, 0xff, 0x6a, 0x6d, 0x59, 0xff,
+ 0x43, 0x45, 0x38, 0xff, 0x08, 0x09, 0x07, 0xa9, 0x33, 0x33, 0x27, 0x21,
+ 0x2a, 0x2a, 0x1f, 0x09, 0x00, 0x00, 0x00, 0x01, 0x33, 0x34, 0x28, 0x4a,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x05, 0x05, 0x04, 0xc9, 0x20, 0x20, 0x19, 0x42, 0x2f, 0x2f, 0x25, 0x12,
+ 0x1c, 0x1c, 0x1c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x32, 0x32, 0x28, 0x25,
+ 0x32, 0x34, 0x28, 0x38, 0x33, 0x34, 0x29, 0x42, 0x32, 0x33, 0x28, 0x43,
+ 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44,
+ 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44,
+ 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44,
+ 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44, 0x33, 0x34, 0x29, 0x44,
+ 0x33, 0x34, 0x29, 0x44, 0x32, 0x33, 0x28, 0x43, 0x33, 0x34, 0x28, 0x3e,
+ 0x32, 0x34, 0x28, 0x2f, 0x2f, 0x33, 0x27, 0x18, 0x2a, 0x2a, 0x1c, 0x07,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x1e, 0x09,
+ 0x30, 0x30, 0x26, 0x14, 0x31, 0x31, 0x26, 0x19, 0x30, 0x30, 0x24, 0x19,
+ 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a,
+ 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a,
+ 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a,
+ 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a, 0x33, 0x33, 0x28, 0x1a,
+ 0x33, 0x33, 0x28, 0x1a, 0x30, 0x30, 0x24, 0x19, 0x31, 0x31, 0x25, 0x17,
+ 0x2f, 0x2f, 0x23, 0x10, 0x2a, 0x2a, 0x1c, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x2a, 0x2a, 0x00, 0x02, 0x1f, 0x1f, 0x00, 0x03, 0x1f, 0x1f, 0x00, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03, 0x38, 0x38, 0x1c, 0x03,
+ 0x38, 0x38, 0x1c, 0x03, 0x1f, 0x1f, 0x1f, 0x03, 0x24, 0x24, 0x00, 0x03,
+ 0x33, 0x33, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x53, 0x88,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xff,
+ 0xe4, 0xe5, 0xdf, 0xff, 0xd5, 0xd6, 0xcb, 0xff, 0xd6, 0xd7, 0xca, 0xff,
+ 0xa3, 0xa3, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf6, 0xf0, 0xff, 0x8d, 0x90, 0x7b, 0xff, 0x92, 0x95, 0x7e, 0xff,
+ 0x90, 0x93, 0x7d, 0xff, 0x97, 0x9b, 0x84, 0xff, 0x6d, 0x70, 0x5f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xec, 0xdb, 0xff, 0x8a, 0x8c, 0x7d, 0xff,
+ 0x8e, 0x91, 0x7b, 0xff, 0x91, 0x94, 0x7f, 0xff, 0x8b, 0x8e, 0x7a, 0xff,
+ 0x99, 0x9b, 0x87, 0xff, 0x91, 0x94, 0x80, 0xff, 0x98, 0x9b, 0x86, 0xff,
+ 0x91, 0x94, 0x80, 0xff, 0xb1, 0xb4, 0xa2, 0xff, 0xa2, 0xa3, 0x94, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x87, 0x8a, 0x75, 0xff, 0x66, 0x68, 0x58, 0xff, 0x4b, 0x4d, 0x3f, 0xff,
+ 0x4d, 0x4f, 0x40, 0xff, 0x40, 0x41, 0x35, 0xff, 0x42, 0x43, 0x37, 0xff,
+ 0x42, 0x43, 0x37, 0xff, 0x43, 0x44, 0x37, 0xff, 0x40, 0x42, 0x36, 0xff,
+ 0x3c, 0x3d, 0x32, 0xff, 0x48, 0x49, 0x3c, 0xff, 0x1a, 0x1a, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xc6, 0xbe, 0xff, 0x84, 0x86, 0x72, 0xff, 0x25, 0x26, 0x1f, 0xff,
+ 0xf1, 0xf2, 0xe9, 0xff, 0xdd, 0xe0, 0xc7, 0xff, 0xd6, 0xda, 0xbb, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xc7, 0xcc, 0xa7, 0xff,
+ 0x98, 0x9c, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc6, 0xc7, 0xbe, 0xff, 0x5f, 0x61, 0x52, 0xff,
+ 0x88, 0x89, 0x80, 0xff, 0xdd, 0xe0, 0xc7, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xa7, 0xab, 0x8c, 0xff, 0x87, 0x8a, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9f, 0xa1, 0x9a, 0xff,
+ 0x25, 0x26, 0x1f, 0xff, 0xef, 0xf0, 0xe5, 0xff, 0xd6, 0xda, 0xbb, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0x9e, 0xa2, 0x84, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x80, 0x81, 0x7b, 0xff, 0x96, 0x96, 0x8d, 0xff, 0xe3, 0xe5, 0xd1, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0x83, 0x86, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x97, 0x99, 0x8d, 0xff, 0xed, 0xef, 0xe2, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff,
+ 0xcd, 0xd2, 0xac, 0xff, 0xcd, 0xd2, 0xac, 0xff, 0xa2, 0xa6, 0x88, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x76, 0x76, 0x71, 0xff,
+ 0xe7, 0xe9, 0xda, 0xff, 0xd1, 0xd3, 0xbd, 0xff, 0xbb, 0xbf, 0x9d, 0xff,
+ 0xbb, 0xbf, 0x9d, 0xff, 0xbb, 0xbf, 0x9d, 0xff, 0xbb, 0xbf, 0x9d, 0xff,
+ 0xbb, 0xbf, 0x9d, 0xff, 0xbb, 0xbf, 0x9d, 0xff, 0x98, 0x9b, 0x80, 0xff,
+ 0x6e, 0x71, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x57, 0xe8, 0x00, 0x04, 0x57, 0xb4,
+ 0x00, 0x04, 0x57, 0xc4, 0x67, 0x74, 0x6b, 0x2d, 0x67, 0x6f, 0x2d, 0x62,
+ 0x61, 0x63, 0x6b, 0x2d, 0x6c, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x57, 0xd8, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x04, 0x57, 0xe0, 0x00, 0x02, 0x0a, 0x78, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x13, 0xa0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x04, 0x57, 0xf4, 0x00, 0x04, 0x58, 0x04, 0x67, 0x74, 0x6b, 0x2d,
+ 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x58, 0x18,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x61, 0x40, 0x00, 0x04, 0x58, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf7, 0xf7, 0xf6, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0x76, 0x76, 0x76, 0xff, 0x5d, 0x5d, 0x5d, 0xff,
+ 0x40, 0x40, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfb, 0xfb, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf6, 0xf6, 0xf5, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff,
+ 0x16, 0x16, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xfd, 0xfd, 0xfc, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xea, 0xea, 0xe9, 0xff, 0xf3, 0xf3, 0xf2, 0xff, 0xde, 0xde, 0xdd, 0xff,
+ 0xf0, 0xf0, 0xef, 0xff, 0xee, 0xee, 0xed, 0xff, 0xed, 0xed, 0xeb, 0xff,
+ 0x9d, 0x9d, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf7, 0xf7, 0xf6, 0xff, 0xf5, 0xf5, 0xf4, 0xff, 0xf4, 0xf4, 0xf3, 0xff,
+ 0xf2, 0xf2, 0xf1, 0xff, 0xf0, 0xf0, 0xef, 0xff, 0xef, 0xef, 0xee, 0xff,
+ 0xed, 0xed, 0xec, 0xff, 0xec, 0xec, 0xea, 0xff, 0xea, 0xea, 0xe8, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xe4, 0xe4, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x8f, 0x8e, 0xff, 0xde, 0xde, 0xdd, 0xff, 0xd1, 0xd1, 0xd0, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xda, 0xda, 0xd8, 0xff, 0xd2, 0xd2, 0xd1, 0xff,
+ 0xcd, 0xcd, 0xcc, 0xff, 0xd5, 0xd5, 0xd3, 0xff, 0xe7, 0xe7, 0xe6, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0xf6, 0xf6, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xba, 0xba, 0xb8, 0xff, 0xee, 0xee, 0xed, 0xff,
+ 0xec, 0xec, 0xeb, 0xff, 0xeb, 0xeb, 0xe9, 0xff, 0xe9, 0xe9, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe6, 0xff, 0xe6, 0xe6, 0xe4, 0xff, 0xe5, 0xe5, 0xe3, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x89, 0x89, 0x87, 0xff, 0xcc, 0xcc, 0xcb, 0xff,
+ 0xd6, 0xd6, 0xd4, 0xff, 0xc9, 0xc9, 0xc8, 0xff, 0xc9, 0xc9, 0xc7, 0xff,
+ 0xd2, 0xd2, 0xd0, 0xff, 0xe3, 0xe3, 0xe1, 0xff, 0xe2, 0xe2, 0xe0, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x94, 0x94, 0x93, 0xff, 0xe9, 0xe9, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe5, 0xff, 0xe5, 0xe5, 0xe3, 0xff, 0xe4, 0xe4, 0xe2, 0xff,
+ 0xe2, 0xe2, 0xe0, 0xff, 0xe1, 0xe1, 0xde, 0xff, 0xdf, 0xdf, 0xdd, 0xff,
+ 0xa3, 0xa3, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xab, 0xab, 0xaa, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x65, 0x65, 0x65, 0xff, 0x99, 0x99, 0x98, 0xff, 0xd3, 0xd3, 0xd1, 0xff,
+ 0xe4, 0xe4, 0xe2, 0xff, 0xd0, 0xd0, 0xcd, 0xff, 0xc8, 0xc8, 0xc6, 0xff,
+ 0xcd, 0xcd, 0xca, 0xff, 0xc5, 0xc5, 0xc2, 0xff, 0xdc, 0xdc, 0xda, 0xff,
+ 0xa3, 0xa3, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf2, 0xff, 0xf1, 0xf1, 0xf0, 0xff,
+ 0x93, 0x93, 0x92, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x74, 0x74, 0x73, 0xff,
+ 0xab, 0xab, 0xa9, 0xff, 0xc7, 0xc7, 0xc5, 0xff, 0xe3, 0xe3, 0xe1, 0xff,
+ 0xe1, 0xe1, 0xdf, 0xff, 0xe0, 0xe0, 0xde, 0xff, 0xde, 0xde, 0xdc, 0xff,
+ 0xdd, 0xdd, 0xda, 0xff, 0xdb, 0xdb, 0xd8, 0xff, 0xda, 0xda, 0xd7, 0xff,
+ 0xa0, 0xa0, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xef, 0xff, 0xe3, 0xe3, 0xe2, 0xff,
+ 0xb5, 0xb5, 0xb3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x76, 0x76, 0x75, 0xff,
+ 0xaf, 0xaf, 0xae, 0xff, 0xd8, 0xd8, 0xd6, 0xff, 0xe0, 0xe0, 0xde, 0xff,
+ 0xc2, 0xc2, 0xbf, 0xff, 0xb4, 0xb4, 0xb2, 0xff, 0xc1, 0xc1, 0xbe, 0xff,
+ 0xbd, 0xbd, 0xbb, 0xff, 0xce, 0xce, 0xcb, 0xff, 0xd7, 0xd7, 0xd4, 0xff,
+ 0xa2, 0xa2, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xec, 0xff, 0xec, 0xec, 0xea, 0xff,
+ 0xea, 0xea, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8b, 0x8b, 0x89, 0xff,
+ 0xc0, 0xc0, 0xbd, 0xff, 0xdf, 0xdf, 0xdd, 0xff, 0xde, 0xde, 0xdb, 0xff,
+ 0xdc, 0xdc, 0xd9, 0xff, 0xda, 0xda, 0xd8, 0xff, 0xd9, 0xd9, 0xd6, 0xff,
+ 0xd7, 0xd7, 0xd4, 0xff, 0xd6, 0xd6, 0xd2, 0xff, 0xd4, 0xd4, 0xd1, 0xff,
+ 0xa2, 0xa2, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xea, 0xea, 0xe9, 0xff, 0xd5, 0xd5, 0xd3, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x63, 0x63, 0x62, 0xff,
+ 0xac, 0xac, 0xaa, 0xff, 0xaa, 0xaa, 0xa8, 0xff, 0xd1, 0xd1, 0xce, 0xff,
+ 0xbc, 0xbc, 0xba, 0xff, 0xbc, 0xbc, 0xb9, 0xff, 0xb6, 0xb6, 0xb3, 0xff,
+ 0xc3, 0xc3, 0xbf, 0xff, 0xd3, 0xd3, 0xd0, 0xff, 0xd1, 0xd1, 0xce, 0xff,
+ 0xa1, 0xa1, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe8, 0xe8, 0xe6, 0xff, 0xa8, 0xa8, 0xa7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x60, 0x60, 0x5f, 0xff, 0x9a, 0x9a, 0x98, 0xff, 0xd8, 0xd8, 0xd5, 0xff,
+ 0xd6, 0xd6, 0xd3, 0xff, 0xd5, 0xd5, 0xd2, 0xff, 0xd3, 0xd3, 0xd0, 0xff,
+ 0xd2, 0xd2, 0xce, 0xff, 0xd0, 0xd0, 0xcd, 0xff, 0xcf, 0xcf, 0xcb, 0xff,
+ 0xa0, 0xa0, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe5, 0xe5, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x76, 0x76, 0x74, 0xff, 0xad, 0xad, 0xaa, 0xff,
+ 0xb8, 0xb8, 0xb5, 0xff, 0xb6, 0xb6, 0xb4, 0xff, 0xd1, 0xd1, 0xcd, 0xff,
+ 0xcf, 0xcf, 0xcb, 0xff, 0xcd, 0xcd, 0xca, 0xff, 0xcc, 0xcc, 0xc8, 0xff,
+ 0xa2, 0xa2, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe2, 0xe2, 0xe0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x7d, 0x7d, 0x7b, 0xff, 0xa5, 0xa5, 0xa2, 0xff,
+ 0xd1, 0xd1, 0xcd, 0xff, 0xcf, 0xcf, 0xcc, 0xff, 0xce, 0xce, 0xca, 0xff,
+ 0xcc, 0xcc, 0xc8, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xa2, 0xa2, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xdd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6a, 0x6a, 0x68, 0xff,
+ 0x72, 0x72, 0x70, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6a, 0x6a, 0x69, 0xff, 0xa1, 0xa1, 0x9e, 0xff,
+ 0xce, 0xce, 0xca, 0xff, 0xcd, 0xcd, 0xc9, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0x9f, 0x9f, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xda, 0xff, 0x99, 0x99, 0x97, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6f, 0x6f, 0x6e, 0xff,
+ 0x9d, 0x9d, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x6a, 0x6a, 0x69, 0xff, 0x74, 0x74, 0x71, 0xff, 0xc4, 0xc4, 0xc0, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xa0, 0xa0, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd0, 0xd0, 0xd0, 0xff, 0xb1, 0xb1, 0xaf, 0xff, 0xb4, 0xb4, 0xb3, 0xff,
+ 0x99, 0x99, 0x97, 0xff, 0x70, 0x70, 0x6e, 0xff, 0x7c, 0x7c, 0x79, 0xff,
+ 0x9f, 0x9f, 0x9d, 0xff, 0x85, 0x85, 0x83, 0xff, 0x91, 0x91, 0x8e, 0xff,
+ 0x5e, 0x5e, 0x5b, 0xff, 0x7a, 0x7a, 0x77, 0xff, 0x8b, 0x8b, 0x89, 0xff,
+ 0x8b, 0x8b, 0x89, 0xff, 0x8b, 0x8b, 0x89, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x83, 0x83, 0x7f, 0xff, 0x84, 0x84, 0x82, 0xff,
+ 0x5d, 0x5d, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x61, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x40, 0x40, 0x40, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff,
+ 0x16, 0x16, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x64, 0x64, 0x64, 0xff,
+ 0xa6, 0xa6, 0xa6, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0xec, 0xec, 0xec, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6e, 0x6e, 0x6e, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xc8, 0xc8, 0xc8, 0xff,
+ 0xc8, 0xc8, 0xc8, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xa5, 0xa5, 0xa5, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x67, 0x67, 0x67, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0xba, 0xba, 0xba, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xc3, 0xc3, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x71, 0x71, 0x71, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0xae, 0xae, 0xae, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9d, 0x9d, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x82, 0x82, 0x82, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x9d, 0x9d, 0x9d, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x65, 0xac,
+ 0x00, 0x04, 0x65, 0x74, 0x00, 0x04, 0x65, 0x88, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x6e, 0x65, 0x78, 0x74, 0x2d, 0x72,
+ 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x04, 0x65, 0x9c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x65, 0xa4,
+ 0x00, 0x03, 0x95, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x9f, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x65, 0xe8, 0x00, 0x04, 0x65, 0xb8,
+ 0x00, 0x04, 0x65, 0xc4, 0x67, 0x74, 0x6b, 0x2d, 0x73, 0x61, 0x76, 0x65,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x04, 0x65, 0xd8, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x65, 0xe0,
+ 0x00, 0x00, 0xa8, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb1, 0xb4,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0x65, 0xf4,
+ 0x00, 0x04, 0x66, 0x00, 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x6c, 0x6f, 0x73,
+ 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x04, 0x66, 0x14, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x6f, 0x3c,
+ 0x00, 0x04, 0x66, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x66,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x6f, 0x44, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x58, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x06, 0x58, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb1,
+ 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xbd,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x66,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd0,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x66,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x83, 0x28, 0x00, 0x04, 0x75, 0xb0, 0x00, 0x04, 0x75, 0xc4,
+ 0x67, 0x74, 0x6b, 0x2d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, 0x2d,
+ 0x6c, 0x65, 0x66, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x75, 0xd8, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x04, 0x7f, 0x00, 0x00, 0x04, 0x75, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0x86, 0x86, 0x86, 0xff,
+ 0x86, 0x86, 0x86, 0xff, 0x87, 0x87, 0x87, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0x89, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x87, 0x87, 0x87, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff, 0x8e, 0x8e, 0x8e, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x94, 0x94, 0x94, 0xff, 0x95, 0x95, 0x95, 0xff,
+ 0x95, 0x95, 0x95, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x7f, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0x6d, 0x6d, 0x6d, 0xff, 0x6d, 0x6d, 0x6d, 0xff, 0x6e, 0x6e, 0x6e, 0xff,
+ 0x6f, 0x6f, 0x6f, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6e, 0x6e, 0x6e, 0xff,
+ 0x6f, 0x6f, 0x6f, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xed, 0xed, 0xed, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff, 0x74, 0x74, 0x74, 0xff,
+ 0x75, 0x75, 0x75, 0xff, 0x75, 0x75, 0x75, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0x83, 0x34,
+ 0x00, 0x04, 0x83, 0x4c, 0x67, 0x74, 0x6b, 0x2d, 0x72, 0x65, 0x76, 0x65,
+ 0x72, 0x74, 0x2d, 0x74, 0x6f, 0x2d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x2d,
+ 0x72, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x04, 0x83, 0x60, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x8c, 0x88,
+ 0x00, 0x04, 0x83, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xe5, 0xbd, 0xff,
+ 0x36, 0x32, 0x20, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc3, 0xd7, 0xf4, 0xff, 0xa9, 0xcd, 0xe5, 0xff, 0x75, 0x75, 0x7a, 0xff,
+ 0xef, 0xc5, 0xbb, 0xff, 0xf1, 0xc8, 0xbe, 0xff, 0xf0, 0xc6, 0xbc, 0xff,
+ 0xee, 0xbc, 0xb2, 0xff, 0xee, 0xbe, 0xb5, 0xff, 0xee, 0xc1, 0xb8, 0xff,
+ 0xed, 0xbf, 0xb6, 0xff, 0xe9, 0xb7, 0xad, 0xff, 0xd5, 0xa8, 0xa0, 0xff,
+ 0x8a, 0x6c, 0x66, 0xff, 0x12, 0x10, 0x0a, 0xff, 0x2a, 0x25, 0x16, 0xff,
+ 0x23, 0x1f, 0x13, 0xff, 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x83, 0xff,
+ 0xee, 0xe7, 0xc4, 0xff, 0x38, 0x34, 0x22, 0xff, 0x65, 0x5b, 0x36, 0x00,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbb, 0xd6, 0xe8, 0xff, 0x8a, 0xaa, 0xc5, 0xff, 0x60, 0x5f, 0x68, 0xff,
+ 0xe0, 0x8d, 0x7e, 0xff, 0xe0, 0x82, 0x6e, 0xff, 0xe0, 0x80, 0x6e, 0xff,
+ 0xdc, 0x7a, 0x68, 0xff, 0xdc, 0x81, 0x71, 0xff, 0xda, 0x78, 0x68, 0xff,
+ 0xd4, 0x81, 0x73, 0xff, 0xd4, 0x7d, 0x6e, 0xff, 0x4f, 0x2b, 0x26, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x96, 0x86, 0x4f, 0xff, 0xcc, 0xb7, 0x6d, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x81, 0xff, 0xef, 0xe7, 0xc1, 0xff, 0x36, 0x32, 0x20, 0xff,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xd5, 0xe9, 0xff, 0x88, 0xa7, 0xc3, 0xff, 0x68, 0x66, 0x70, 0xff,
+ 0xc8, 0x81, 0x7b, 0xff, 0xcb, 0x7c, 0x74, 0xff, 0xcb, 0x7a, 0x73, 0xff,
+ 0xcb, 0x7b, 0x73, 0xff, 0xcc, 0x7c, 0x72, 0xff, 0xcb, 0x7d, 0x73, 0xff,
+ 0xbf, 0x6b, 0x64, 0xff, 0x88, 0x51, 0x4a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xaf, 0x9e, 0x5e, 0xff, 0xee, 0xd7, 0x84, 0xff, 0xee, 0xd7, 0x8e, 0xff,
+ 0xee, 0xe0, 0xa5, 0xff, 0xee, 0xe0, 0xa5, 0xff, 0xee, 0xe0, 0xa6, 0xff,
+ 0xee, 0xe0, 0xa7, 0xff, 0xee, 0xe0, 0xa4, 0xff, 0xee, 0xe4, 0xc0, 0xff,
+ 0x32, 0x2e, 0x1b, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb6, 0xd3, 0xe7, 0xff, 0x87, 0xab, 0xc1, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xa4, 0x93, 0x57, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xde, 0xb4, 0x46, 0xff, 0xd7, 0xa4, 0x2a, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff, 0xa2, 0x7d, 0x31, 0xff,
+ 0x30, 0x2c, 0x19, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xd3, 0xe7, 0xff, 0x85, 0xa4, 0xbf, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x96, 0x96, 0x96, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcc, 0xb7, 0x6d, 0xff,
+ 0xd9, 0xaa, 0x35, 0xff, 0x9e, 0x70, 0x09, 0xff, 0x76, 0x52, 0x04, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0x9d, 0x78, 0x28, 0xff, 0x30, 0x2c, 0x19, 0xff,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xd3, 0xe6, 0xff, 0x84, 0xa3, 0xbf, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0x63, 0x63, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xb0, 0x7d, 0x0a, 0xff, 0x5c, 0x40, 0x03, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x49, 0x49, 0x49, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd1, 0x95, 0x0e, 0xff,
+ 0xa3, 0x7c, 0x25, 0xff, 0x2b, 0x27, 0x19, 0xff, 0x00, 0x00, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb7, 0xd2, 0xe7, 0xff, 0x82, 0xa0, 0xbb, 0xff, 0x63, 0x63, 0x63, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0x86, 0x86, 0x86, 0xff, 0x00, 0x00, 0x00, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0x98, 0x6b, 0x08, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5b, 0x5b, 0x5b, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x8d, 0x6a, 0x19, 0xff,
+ 0x36, 0x32, 0x20, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3b,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0xca, 0xe5, 0xff, 0x7f, 0xa2, 0xb9, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x84, 0x76, 0x45, 0xff,
+ 0xae, 0x91, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0x96, 0x96, 0x96, 0xff, 0x0b, 0x0b, 0x06, 0xff, 0x22, 0x1e, 0x11, 0xff,
+ 0x39, 0x4c, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0xcc, 0xe5, 0xff, 0x7d, 0xa0, 0xb6, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0x51, 0x51, 0x51, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe0, 0xc9, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff, 0xac, 0xac, 0xac, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0x33, 0x33, 0x33, 0xff, 0x63, 0x77, 0x89, 0xff,
+ 0x49, 0x54, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb0, 0xd1, 0xe4, 0xff, 0x83, 0xa1, 0xb6, 0xff, 0x73, 0x5b, 0x5b, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x81, 0x74, 0x44, 0xff, 0xc9, 0xb4, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x6c, 0x6c, 0x6c, 0xff, 0x79, 0x94, 0xab, 0xff,
+ 0x4c, 0x56, 0x5e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xce, 0xe3, 0xff, 0x7b, 0x9b, 0xb2, 0xff, 0x7a, 0x8e, 0x9a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x6a, 0x6e, 0x71, 0xff, 0x6c, 0x6c, 0x6c, 0xff, 0x36, 0x36, 0x36, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x96, 0x86, 0x4f, 0xff, 0xae, 0x9c, 0x5c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x67, 0x6e, 0x75, 0xff, 0x81, 0x9c, 0xb2, 0xff,
+ 0x39, 0x4f, 0x5b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa9, 0xc9, 0xe2, 0xff, 0x74, 0x94, 0xaf, 0xff, 0x81, 0x9e, 0xb6, 0xff,
+ 0x83, 0xa0, 0xb8, 0xff, 0x86, 0xa2, 0xb9, 0xff, 0x82, 0x9f, 0xb7, 0xff,
+ 0x7f, 0x9d, 0xb6, 0xff, 0x7e, 0x9c, 0xb5, 0xff, 0x82, 0x9f, 0xb7, 0xff,
+ 0x79, 0x98, 0xb2, 0xff, 0x84, 0xa0, 0xb7, 0xff, 0x65, 0x7a, 0x8c, 0xff,
+ 0x3f, 0x4c, 0x57, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x76, 0x8c, 0x9f, 0xff, 0x77, 0x91, 0xa7, 0xff, 0x85, 0x9f, 0xb5, 0xff,
+ 0x35, 0x49, 0x58, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xab, 0xc4, 0xe2, 0xff, 0x72, 0x94, 0xad, 0xff, 0x6f, 0x90, 0xac, 0xff,
+ 0x71, 0x92, 0xae, 0xff, 0x41, 0x4a, 0x4e, 0xff, 0x42, 0x4a, 0x51, 0xff,
+ 0x52, 0x5b, 0x63, 0xff, 0x62, 0x6f, 0x79, 0xff, 0x5f, 0x6c, 0x76, 0xff,
+ 0x5c, 0x69, 0x71, 0xff, 0x5a, 0x66, 0x6f, 0xff, 0x56, 0x61, 0x69, 0xff,
+ 0x52, 0x5d, 0x64, 0xff, 0x4a, 0x52, 0x59, 0xff, 0x33, 0x48, 0x53, 0xff,
+ 0x32, 0x3a, 0x42, 0xff, 0x70, 0x8d, 0xa7, 0xff, 0xa1, 0xb6, 0xc7, 0xff,
+ 0x36, 0x48, 0x53, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xc9, 0xe2, 0xff, 0x70, 0x91, 0xaa, 0xff, 0x6f, 0x8f, 0xa7, 0xff,
+ 0x4a, 0x53, 0x59, 0xff, 0x97, 0x93, 0x8c, 0xff, 0xdf, 0xdd, 0xda, 0xff,
+ 0xe3, 0xe1, 0xde, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xea, 0xe9, 0xe7, 0xff, 0xdf, 0xdd, 0xda, 0xff, 0xce, 0xcd, 0xc8, 0xff,
+ 0xc5, 0xc2, 0xbc, 0xff, 0x96, 0x91, 0x89, 0xff, 0x51, 0x5c, 0x63, 0xff,
+ 0x48, 0x61, 0x75, 0xff, 0x52, 0x70, 0x89, 0xff, 0xa9, 0xc5, 0xdc, 0xff,
+ 0x34, 0x46, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xaa, 0xc9, 0xe1, 0xff, 0x6c, 0x8e, 0xa6, 0xff, 0x6c, 0x8c, 0xa4, 0xff,
+ 0x40, 0x47, 0x4d, 0xff, 0xda, 0xd8, 0xd3, 0xff, 0xe7, 0xe6, 0xe2, 0xff,
+ 0x67, 0x65, 0x5e, 0xff, 0x52, 0x4f, 0x47, 0xff, 0x52, 0x4f, 0x47, 0xff,
+ 0xd9, 0xd7, 0xd4, 0xff, 0xc7, 0xc5, 0xbf, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xb8, 0xb3, 0xab, 0xff, 0xce, 0xcd, 0xc8, 0xff, 0x42, 0x4b, 0x53, 0xff,
+ 0x4c, 0x68, 0x7e, 0xff, 0x4f, 0x6f, 0x84, 0xff, 0xb3, 0xca, 0xdc, 0xff,
+ 0x31, 0x3e, 0x49, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xc8, 0xe1, 0xff, 0x6b, 0x8d, 0xa6, 0xff, 0x72, 0x8f, 0xa4, 0xff,
+ 0x40, 0x47, 0x4d, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff,
+ 0x67, 0x65, 0x5e, 0xff, 0x52, 0x4f, 0x47, 0xff, 0x52, 0x4f, 0x47, 0xff,
+ 0xcd, 0xca, 0xc6, 0xff, 0xc2, 0xbf, 0xb9, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xca, 0xc6, 0xc0, 0xff, 0xdc, 0xda, 0xd7, 0xff, 0x4b, 0x55, 0x5d, 0xff,
+ 0x4e, 0x69, 0x7f, 0xff, 0x4f, 0x6f, 0x84, 0xff, 0xba, 0xcc, 0xdc, 0xff,
+ 0x31, 0x3e, 0x49, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa4, 0xc4, 0xde, 0xff, 0x69, 0x8b, 0xa3, 0xff, 0x70, 0x8a, 0xa1, 0xff,
+ 0x38, 0x3e, 0x43, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0x51, 0x4e, 0x46, 0xff, 0x4f, 0x4c, 0x44, 0xff, 0x4f, 0x4c, 0x44, 0xff,
+ 0xc7, 0xc4, 0xbe, 0xff, 0xc0, 0xbc, 0xb5, 0xff, 0xcb, 0xc8, 0xc2, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0x47, 0x51, 0x58, 0xff,
+ 0x4e, 0x68, 0x79, 0xff, 0x4d, 0x6c, 0x80, 0xff, 0xa3, 0xc3, 0xdb, 0xff,
+ 0x38, 0x3f, 0x43, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x77, 0x89, 0x99, 0xff, 0x6e, 0x89, 0x9e, 0xff, 0x65, 0x85, 0x9c, 0xff,
+ 0x33, 0x38, 0x3c, 0xff, 0xd7, 0xd4, 0xd0, 0xff, 0xd6, 0xd4, 0xd0, 0xff,
+ 0x4e, 0x4a, 0x43, 0xff, 0x4d, 0x49, 0x42, 0xff, 0x4d, 0x49, 0x42, 0xff,
+ 0xc0, 0xbc, 0xb5, 0xff, 0xd1, 0xce, 0xc9, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0x45, 0x4f, 0x55, 0xff,
+ 0x48, 0x61, 0x73, 0xff, 0x4d, 0x66, 0x78, 0xff, 0xa1, 0xc1, 0xda, 0xff,
+ 0x37, 0x3c, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35,
+ 0x0c, 0x0d, 0x0f, 0xff, 0x4e, 0x5e, 0x6a, 0xff, 0x5b, 0x6e, 0x7c, 0xff,
+ 0x4f, 0x5b, 0x62, 0xff, 0xa4, 0xa0, 0x99, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xb8, 0xb3, 0xab, 0xff, 0xcc, 0xc9, 0xc3, 0xff, 0xcc, 0xc9, 0xc3, 0xff,
+ 0xd7, 0xd5, 0xd1, 0xff, 0xe4, 0xe2, 0xe0, 0xff, 0xea, 0xe9, 0xe7, 0xff,
+ 0xdd, 0xdb, 0xd7, 0xff, 0xb8, 0xb5, 0xb0, 0xff, 0x3e, 0x47, 0x4d, 0xff,
+ 0x4a, 0x61, 0x76, 0xff, 0x4a, 0x60, 0x70, 0xff, 0x9b, 0xc3, 0xd8, 0xff,
+ 0x36, 0x3c, 0x41, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x28, 0x32, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8c, 0x90, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x03, 0x18, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0xa9, 0xa7, 0xa4, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x6b, 0x3f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x9b, 0x97, 0x00, 0x00, 0x00, 0xf7,
+ 0xf8, 0xfa, 0xcb, 0xdd, 0xeb, 0xc7, 0xc7, 0xc7, 0xe9, 0xe9, 0xe9, 0xe9,
+ 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0x7a,
+ 0x7a, 0x7a, 0x00, 0x00, 0x00, 0xef, 0xe5, 0xba, 0x5d, 0x53, 0x32, 0xbf,
+ 0xd5, 0xe8, 0xbf, 0xd5, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb,
+ 0xe7, 0xf1, 0x8d, 0xa9, 0xbe, 0xa3, 0xa3, 0xa3, 0xba, 0xba, 0xba, 0xab,
+ 0xab, 0xab, 0x70, 0x70, 0x70, 0x12, 0x10, 0x0a, 0x2a, 0x25, 0x16, 0x23,
+ 0x1f, 0x13, 0x00, 0x00, 0x00, 0xee, 0xd6, 0x80, 0xee, 0xe5, 0xbb, 0x5a,
+ 0x52, 0x30, 0x60, 0x72, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0xd7, 0xd7, 0xd7, 0xfe, 0xfe, 0xfe, 0x64,
+ 0x64, 0x64, 0x00, 0x00, 0x00, 0x96, 0x86, 0x4f, 0xcc, 0xb7, 0x6d, 0xee,
+ 0xd6, 0x80, 0xee, 0xd6, 0x80, 0xee, 0xd6, 0x80, 0xee, 0xd6, 0x80, 0xef,
+ 0xe4, 0xb6, 0x57, 0x4f, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0xd7, 0xd7, 0xd7, 0x92, 0x92, 0x92, 0x00,
+ 0x00, 0x00, 0xaf, 0x9d, 0x5d, 0xee, 0xd6, 0x80, 0xee, 0xd6, 0x80, 0xee,
+ 0xd6, 0x80, 0xee, 0xd6, 0x80, 0xee, 0xd6, 0x80, 0xee, 0xd6, 0x80, 0xee,
+ 0xd6, 0x80, 0xee, 0xe2, 0xb2, 0x4b, 0x44, 0x28, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0xb9, 0xb9, 0xb9, 0x00, 0x00, 0x00, 0xa4,
+ 0x93, 0x57, 0xee, 0xd6, 0x80, 0xde, 0xb4, 0x46, 0xd7, 0xa3, 0x28, 0xd1,
+ 0x94, 0x0c, 0xd1, 0x94, 0x0c, 0xd1, 0x94, 0x0c, 0xd1, 0x94, 0x0c, 0xd1,
+ 0x94, 0x0c, 0x8f, 0x64, 0x06, 0x49, 0x42, 0x27, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0xcc,
+ 0xb7, 0x6d, 0xd9, 0xaa, 0x35, 0x9e, 0x70, 0x09, 0x76, 0x52, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xd1, 0x94, 0x0c, 0xd1, 0x94, 0x0c, 0x8f,
+ 0x64, 0x06, 0x30, 0x2c, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0x77, 0x77, 0x77, 0x00, 0x00, 0x00, 0xee,
+ 0xd6, 0x80, 0xb0, 0x7d, 0x0a, 0x5c, 0x40, 0x03, 0x00, 0x00, 0x00, 0x70,
+ 0x70, 0x70, 0x00, 0x00, 0x00, 0xd1, 0x94, 0x0c, 0x98, 0x6b, 0x07, 0x27,
+ 0x23, 0x15, 0x24, 0x2f, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0x5e, 0x67, 0x6f, 0x00, 0x00, 0x00, 0xee,
+ 0xd6, 0x80, 0x98, 0x6b, 0x08, 0x00, 0x00, 0x00, 0x55, 0x5a, 0x5f, 0x67,
+ 0x6e, 0x74, 0x00, 0x00, 0x00, 0x89, 0x66, 0x11, 0x1e, 0x1a, 0x0f, 0x64,
+ 0x74, 0x7d, 0x49, 0x60, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0x8d, 0xa9, 0xbe, 0x00, 0x00, 0x00, 0x84,
+ 0x76, 0x45, 0xae, 0x91, 0x41, 0x00, 0x00, 0x00, 0x81, 0x9a, 0xae, 0x58,
+ 0x68, 0x76, 0x0b, 0x0b, 0x06, 0x22, 0x1e, 0x11, 0x63, 0x72, 0x7b, 0x81,
+ 0x9a, 0xae, 0x49, 0x60, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0x8c, 0xa8, 0xbd, 0x47, 0x4b, 0x50, 0x00,
+ 0x00, 0x00, 0xe0, 0xc9, 0x78, 0x00, 0x00, 0x00, 0xeb, 0xeb, 0xeb, 0xd7,
+ 0xd7, 0xd7, 0x4d, 0x4e, 0x4e, 0x28, 0x3c, 0x49, 0xa0, 0xa8, 0xaf, 0x81,
+ 0x9a, 0xae, 0x49, 0x60, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x8d, 0xa9, 0xbe, 0x84, 0xa0, 0xb5, 0x96, 0x96, 0x96, 0x00,
+ 0x00, 0x00, 0x81, 0x74, 0x44, 0xc9, 0xb4, 0x6b, 0x00, 0x00, 0x00, 0xc5,
+ 0xc5, 0xc5, 0xb9, 0xb9, 0xb9, 0x13, 0x2d, 0x3c, 0x58, 0x6d, 0x80, 0x97,
+ 0xa5, 0xb0, 0x49, 0x60, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf,
+ 0xe0, 0xed, 0x86, 0xa4, 0xb9, 0x81, 0x9a, 0xae, 0xc5, 0xc5, 0xc5, 0x69,
+ 0x69, 0x69, 0x00, 0x00, 0x00, 0x96, 0x86, 0x4f, 0xae, 0x9c, 0x5c, 0x00,
+ 0x00, 0x00, 0xbf, 0xbf, 0xbf, 0x11, 0x28, 0x35, 0x5a, 0x70, 0x82, 0x9d,
+ 0xa9, 0xb0, 0x49, 0x60, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b,
+ 0x78, 0x82, 0x83, 0x9e, 0xb2, 0x81, 0x9a, 0xae, 0xcd, 0xcd, 0xcd, 0xb7,
+ 0xb7, 0xb7, 0x11, 0x1d, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2,
+ 0xc2, 0xc2, 0xb2, 0xb2, 0xb2, 0x11, 0x2c, 0x3a, 0x5a, 0x70, 0x82, 0x9f,
+ 0xa9, 0xb0, 0x49, 0x60, 0x72, 0x00, 0x00, 0x00, 0x9c, 0x9b, 0x97, 0x00,
+ 0x00, 0x00, 0x59, 0x63, 0x6d, 0x4f, 0x64, 0x75, 0xa1, 0xa1, 0xa1, 0xc0,
+ 0xc0, 0xc0, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x86, 0x86, 0x86, 0x6e,
+ 0x6e, 0x6e, 0x7a, 0x7a, 0x7a, 0x2d, 0x39, 0x49, 0x3e, 0x4f, 0x5c, 0x80,
+ 0x87, 0x8f, 0x1a, 0x31, 0x40, 0x00, 0x00, 0x00, 0xea, 0xe8, 0xe3, 0x9c,
+ 0x9b, 0x97, 0x00, 0x00, 0x00, 0x28, 0x28, 0x27, 0x20, 0x20, 0x1f, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x1c, 0x1b, 0x1b, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xa9, 0xa7, 0xa4, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x04, 0x8f, 0xbc, 0x00, 0x04, 0x8f, 0xd4, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72,
+ 0x64, 0x2d, 0x72, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x8f, 0xe8, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x04, 0x8f, 0xf0, 0x00, 0x01, 0x9c, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0xa5, 0x3c, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x04, 0x90, 0x04, 0x00, 0x04, 0x90, 0x14, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6a, 0x75, 0x6d, 0x70, 0x2d, 0x74, 0x6f, 0x2d, 0x6c, 0x74, 0x72, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x90, 0x28,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x99, 0x50, 0x00, 0x04, 0x90, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x60, 0x82, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x30, 0x40, 0x24, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0xff, 0x9a, 0xbc, 0x82, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x07, 0x01, 0x01, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x86,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc1, 0xe3, 0xaa, 0xff, 0xa0, 0xc4, 0x87, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x65, 0x08, 0xff, 0xad, 0x67, 0x1d, 0xff, 0xd6, 0xaf, 0x41, 0xff,
+ 0xe1, 0xb7, 0x44, 0xff, 0xb8, 0x6f, 0x20, 0xff, 0x7e, 0x59, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xd8, 0xe7, 0xcd, 0xff,
+ 0xd9, 0xe7, 0xcf, 0xff, 0xdd, 0xea, 0xd2, 0xff, 0xe4, 0xef, 0xda, 0xff,
+ 0xeb, 0xf6, 0xdf, 0xff, 0xc8, 0xeb, 0xb0, 0xff, 0xc8, 0xeb, 0xb0, 0xff,
+ 0xa2, 0xc6, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x98, 0x6f, 0x26, 0xff,
+ 0xe2, 0xb9, 0x46, 0xff, 0xef, 0xcd, 0x64, 0xff, 0xf4, 0xd2, 0x68, 0xff,
+ 0xf6, 0xd4, 0x69, 0xff, 0xe7, 0xc2, 0x4a, 0xff, 0xd5, 0xb0, 0x44, 0xff,
+ 0xbc, 0x8c, 0x31, 0xff, 0x1a, 0x07, 0x00, 0xff, 0x00, 0x00, 0x00, 0x8a,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xd7, 0xe6, 0xcd, 0xff,
+ 0xb2, 0xd2, 0x9c, 0xff, 0xb6, 0xd6, 0x9f, 0xff, 0xbd, 0xde, 0xa5, 0xff,
+ 0xc4, 0xe7, 0xac, 0xff, 0xca, 0xee, 0xb1, 0xff, 0xca, 0xee, 0xb1, 0xff,
+ 0xc4, 0xe7, 0xac, 0xff, 0xa1, 0xc3, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcb, 0xb8, 0x6e, 0xff, 0xed, 0xd9, 0x7e, 0xff, 0xfe, 0xe8, 0x82, 0xff,
+ 0xfe, 0xe7, 0x7e, 0xff, 0xfd, 0xdf, 0x60, 0xff, 0xfb, 0xd1, 0x4f, 0xff,
+ 0xe4, 0xbf, 0x49, 0xff, 0xbb, 0x8c, 0x31, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x2b, 0x18, 0x03, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe2, 0xc3, 0xff,
+ 0xb2, 0xd1, 0x9c, 0xff, 0xb5, 0xd5, 0x9f, 0xff, 0xbb, 0xdb, 0xa4, 0xff,
+ 0xc1, 0xe3, 0xa9, 0xff, 0xc6, 0xe9, 0xae, 0xff, 0xc6, 0xe9, 0xae, 0xff,
+ 0xc1, 0xe3, 0xa9, 0xff, 0xc3, 0xe6, 0xab, 0xff, 0xa9, 0xce, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xdc, 0xba, 0x5c, 0xff, 0xfb, 0xe4, 0x6b, 0xff,
+ 0xff, 0xeb, 0x64, 0xff, 0xff, 0xe0, 0x54, 0xff, 0xfe, 0xd9, 0x52, 0xff,
+ 0xf8, 0xcf, 0x4e, 0xff, 0xc4, 0xa1, 0x3e, 0xff, 0x7e, 0x59, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02,
+ 0x20, 0x2b, 0x18, 0x03, 0x00, 0x00, 0x00, 0xff, 0x8b, 0xa2, 0x7b, 0xff,
+ 0x61, 0x82, 0x49, 0xff, 0x62, 0x83, 0x49, 0xff, 0x64, 0x86, 0x4b, 0xff,
+ 0x66, 0x89, 0x4d, 0xff, 0x68, 0x8b, 0x4e, 0xff, 0x68, 0x8b, 0x4e, 0xff,
+ 0x67, 0x8b, 0x4d, 0xff, 0x6b, 0x92, 0x51, 0xff, 0x71, 0x97, 0x55, 0xff,
+ 0x55, 0x83, 0x3a, 0xff, 0x00, 0x00, 0x00, 0xff, 0xec, 0xc7, 0x5e, 0xff,
+ 0xff, 0xed, 0x59, 0xff, 0xff, 0xe7, 0x57, 0xff, 0xff, 0xdf, 0x54, 0xff,
+ 0xfb, 0xd4, 0x4f, 0xff, 0xe1, 0xbd, 0x48, 0xff, 0xb3, 0x6c, 0x1f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x06,
+ 0x20, 0x2b, 0x18, 0x03, 0x00, 0x00, 0x00, 0xff, 0x8b, 0xa2, 0x7b, 0xff,
+ 0x60, 0x81, 0x48, 0xff, 0x61, 0x82, 0x49, 0xff, 0x62, 0x84, 0x49, 0xff,
+ 0x63, 0x85, 0x4a, 0xff, 0x64, 0x86, 0x4b, 0xff, 0x64, 0x86, 0x4b, 0xff,
+ 0x65, 0x89, 0x4c, 0xff, 0x6c, 0x91, 0x51, 0xff, 0x52, 0x7e, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb3, 0x92, 0x37, 0xff, 0xf0, 0xc2, 0x48, 0xff,
+ 0xff, 0xf2, 0x5b, 0xff, 0xff, 0xeb, 0x58, 0xff, 0xff, 0xe1, 0x55, 0xff,
+ 0xfb, 0xd4, 0x50, 0xff, 0xe3, 0xbd, 0x49, 0xff, 0xbc, 0x98, 0x3b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x0d,
+ 0x20, 0x2b, 0x18, 0x03, 0x00, 0x00, 0x00, 0xff, 0x8b, 0xa2, 0x7b, 0xff,
+ 0x60, 0x81, 0x48, 0xff, 0x60, 0x81, 0x48, 0xff, 0x61, 0x82, 0x49, 0xff,
+ 0x61, 0x83, 0x49, 0xff, 0x62, 0x83, 0x49, 0xff, 0x62, 0x85, 0x49, 0xff,
+ 0x65, 0x88, 0x4b, 0xff, 0x4d, 0x77, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x90, 0x79, 0x34, 0xff, 0xdc, 0xb4, 0x44, 0xff, 0xfc, 0xdb, 0x52, 0xff,
+ 0xff, 0xef, 0x5a, 0xff, 0xff, 0xe9, 0x57, 0xff, 0xfe, 0xdf, 0x54, 0xff,
+ 0xf9, 0xd2, 0x4f, 0xff, 0xe0, 0xba, 0x48, 0xff, 0xb0, 0x8f, 0x37, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x11,
+ 0x20, 0x2b, 0x18, 0x03, 0x00, 0x00, 0x00, 0xff, 0x52, 0x74, 0x3b, 0xff,
+ 0x45, 0x6a, 0x2f, 0xff, 0x45, 0x6a, 0x2f, 0xff, 0x45, 0x6a, 0x2f, 0xff,
+ 0x45, 0x6a, 0x2f, 0xff, 0x60, 0x82, 0x48, 0xff, 0x62, 0x84, 0x48, 0xff,
+ 0x47, 0x6f, 0x31, 0xff, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x6b, 0x32, 0xff,
+ 0xd0, 0xaf, 0x4b, 0xff, 0xf5, 0xcf, 0x4e, 0xff, 0xff, 0xe7, 0x57, 0xff,
+ 0xff, 0xe7, 0x57, 0xff, 0xff, 0xe2, 0x55, 0xff, 0xfe, 0xda, 0x52, 0xff,
+ 0xea, 0xc5, 0x4b, 0xff, 0xd0, 0xac, 0x42, 0xff, 0x9c, 0x5d, 0x1a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x11,
+ 0x20, 0x2b, 0x18, 0x03, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5a, 0x7b, 0x42, 0xff, 0x45, 0x6c, 0x2f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x6f, 0x5c, 0x23, 0xff, 0xa7, 0x88, 0x33, 0xff,
+ 0xf0, 0xc5, 0x4a, 0xff, 0xff, 0xda, 0x52, 0xff, 0xff, 0xde, 0x53, 0xff,
+ 0xff, 0xde, 0x53, 0xff, 0xfe, 0xda, 0x52, 0xff, 0xf9, 0xd2, 0x4f, 0xff,
+ 0xe3, 0xbd, 0x49, 0xff, 0xc3, 0x90, 0x32, 0xff, 0x8f, 0x65, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x0d,
+ 0x20, 0x2b, 0x18, 0x03, 0x06, 0x09, 0x05, 0x0e, 0x02, 0x03, 0x02, 0x22,
+ 0x02, 0x02, 0x01, 0x2c, 0x02, 0x02, 0x01, 0x2e, 0x02, 0x02, 0x01, 0x2f,
+ 0x00, 0x00, 0x00, 0xff, 0x45, 0x6a, 0x2f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x88, 0x64, 0x23, 0xff, 0xbc, 0x9d, 0x3b, 0xff,
+ 0xf0, 0xc8, 0x4e, 0xff, 0xff, 0xd5, 0x51, 0xff, 0xfe, 0xd7, 0x51, 0xff,
+ 0xfd, 0xd5, 0x50, 0xff, 0xed, 0xc7, 0x4c, 0xff, 0xe5, 0xbf, 0x49, 0xff,
+ 0xcc, 0xa9, 0x41, 0xff, 0xab, 0x77, 0x27, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x06,
+ 0x30, 0x40, 0x24, 0x02, 0x10, 0x15, 0x0c, 0x06, 0x06, 0x09, 0x05, 0x0e,
+ 0x05, 0x07, 0x04, 0x12, 0x05, 0x07, 0x04, 0x12, 0x04, 0x06, 0x03, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x01, 0x02, 0x01, 0x38,
+ 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0xff, 0xb1, 0x82, 0x2d, 0xff,
+ 0xdc, 0xb7, 0x46, 0xff, 0xdf, 0xba, 0x47, 0xff, 0xed, 0xc6, 0x4c, 0xff,
+ 0xe9, 0xc3, 0x4b, 0xff, 0xd6, 0xb1, 0x44, 0xff, 0xc1, 0x9d, 0x3d, 0xff,
+ 0xab, 0x7c, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9b,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02,
+ 0x60, 0x81, 0x48, 0x01, 0x30, 0x40, 0x24, 0x02, 0x20, 0x2b, 0x18, 0x03,
+ 0x20, 0x2b, 0x18, 0x03, 0x20, 0x2b, 0x18, 0x03, 0x13, 0x19, 0x0e, 0x05,
+ 0x00, 0x00, 0x00, 0xff, 0x02, 0x03, 0x01, 0x28, 0x02, 0x03, 0x01, 0x29,
+ 0x03, 0x04, 0x02, 0x1c, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0xff,
+ 0x8f, 0x65, 0x08, 0xff, 0xbc, 0x72, 0x22, 0xff, 0xbb, 0x98, 0x3b, 0xff,
+ 0xb0, 0x96, 0x38, 0xff, 0xa2, 0x62, 0x1b, 0xff, 0x8f, 0x65, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x20, 0x2b, 0x18, 0x03,
+ 0x07, 0x09, 0x05, 0x0d, 0x03, 0x05, 0x02, 0x19, 0x04, 0x06, 0x03, 0x14,
+ 0x0a, 0x0e, 0x08, 0x09, 0x0a, 0x0e, 0x08, 0x09, 0x00, 0x01, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9c,
+ 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x99, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x17, 0x10, 0xfb,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0a, 0x05, 0x00,
+ 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb4, 0xc5, 0xa6, 0xfd, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc2, 0xd3, 0xb5, 0xff,
+ 0xc7, 0xd7, 0xba, 0xff, 0xcc, 0xe4, 0xba, 0xff, 0xc1, 0xe4, 0xa9, 0xff,
+ 0xa5, 0xb7, 0x97, 0xfb, 0x00, 0x00, 0x00, 0xff, 0xda, 0xb9, 0x57, 0xff,
+ 0xf3, 0xd3, 0x6a, 0xff, 0xef, 0xcc, 0x5a, 0xff, 0x90, 0x75, 0x2c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x09, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbd, 0xd5, 0xab, 0xff, 0xbb, 0xdb, 0xa3, 0xff, 0xc5, 0xe7, 0xac, 0xff,
+ 0xc7, 0xea, 0xaf, 0xff, 0xc2, 0xd9, 0xb1, 0xff, 0xac, 0xbc, 0x9d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd7, 0xb9, 0x50, 0xff, 0xfe, 0xe4, 0x64, 0xff,
+ 0xfa, 0xd4, 0x51, 0xff, 0x96, 0x7a, 0x2e, 0xff, 0x00, 0x00, 0x00, 0x6d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x9a, 0xb2, 0x87, 0xff, 0x6e, 0x8f, 0x55, 0xff,
+ 0x71, 0x94, 0x58, 0xff, 0x72, 0x95, 0x59, 0xff, 0x73, 0x98, 0x5a, 0xff,
+ 0x6a, 0x8f, 0x50, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd7, 0xb9, 0x50, 0xff,
+ 0xff, 0xea, 0x59, 0xff, 0xfe, 0xdd, 0x53, 0xff, 0xea, 0xc5, 0x4a, 0xff,
+ 0x00, 0x00, 0x00, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0x92, 0xaa, 0x7f, 0xff,
+ 0x61, 0x83, 0x49, 0xff, 0x62, 0x84, 0x4a, 0xff, 0x63, 0x86, 0x4a, 0xff,
+ 0x61, 0x86, 0x47, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd7, 0xb9, 0x50, 0xff,
+ 0xf1, 0xcf, 0x4d, 0xff, 0xff, 0xed, 0x59, 0xff, 0xfd, 0xde, 0x54, 0xff,
+ 0xec, 0xc5, 0x4b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x5a, 0x7d, 0x42, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd7, 0xb9, 0x50, 0xff,
+ 0xf8, 0xcf, 0x4f, 0xff, 0xfd, 0xe1, 0x54, 0xff, 0xff, 0xe4, 0x56, 0xff,
+ 0xf9, 0xd6, 0x51, 0xff, 0xdc, 0xb6, 0x45, 0xff, 0x00, 0x00, 0x00, 0xb5,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd7, 0xd7, 0xb9, 0x50, 0xff,
+ 0xf8, 0xcf, 0x4f, 0xff, 0xf8, 0xcf, 0x4f, 0xff, 0xff, 0xda, 0x52, 0xff,
+ 0xfa, 0xd5, 0x50, 0xff, 0xeb, 0xc5, 0x4b, 0xff, 0x8b, 0x6b, 0x27, 0xff,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x04, 0x06, 0x03, 0x00, 0x06, 0x09, 0x04, 0xf2, 0x0a, 0x0f, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0xd7, 0x87, 0x69, 0x26, 0xf9, 0xd2, 0xaa, 0x39, 0xff,
+ 0xe8, 0xc1, 0x4a, 0xff, 0xdd, 0xb6, 0x45, 0xff, 0x80, 0x64, 0x21, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x04, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x81, 0x48, 0x01, 0x60, 0x81, 0x48, 0x01,
+ 0x60, 0x81, 0x48, 0x01, 0x08, 0x0a, 0x06, 0x00, 0x01, 0x01, 0x01, 0x00,
+ 0x60, 0x81, 0x48, 0x00, 0x08, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd7,
+ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xa6, 0xd4,
+ 0x00, 0x04, 0x9d, 0x84, 0x00, 0x04, 0x9d, 0xa0, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d,
+ 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x63, 0x61, 0x70, 0x65, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x9d, 0xac,
+ 0x00, 0x04, 0x9d, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0x58, 0x58, 0x58, 0xff, 0x00, 0x00, 0x00, 0xc1,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc7, 0xc7, 0xc7, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x9b, 0x9b, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xaf, 0xaf, 0xae, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xf5, 0xf5, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf3, 0xf3, 0xf2, 0xff, 0xf3, 0xf3, 0xf2, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x05,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x5f, 0x62, 0x5d, 0xff, 0x5a, 0x5a, 0x57, 0xff,
+ 0x59, 0x59, 0x57, 0xff, 0x71, 0x72, 0x6d, 0xff, 0xe2, 0xe1, 0xe0, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xdd, 0xdc, 0xdb, 0xff, 0xcf, 0xce, 0xcd, 0xff, 0xce, 0xce, 0xcc, 0xff,
+ 0xb8, 0xb8, 0xb6, 0xff, 0x9f, 0x9e, 0x9d, 0xff, 0x70, 0x6f, 0x6f, 0xff,
+ 0x65, 0x62, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf2, 0xf2, 0xf1, 0xff, 0x55, 0x57, 0x53, 0xff, 0x4a, 0x4c, 0x48, 0xff,
+ 0x49, 0x4a, 0x47, 0xff, 0x49, 0x4a, 0x47, 0xff, 0x5d, 0x5d, 0x5a, 0xff,
+ 0xea, 0xea, 0xe8, 0xff, 0xec, 0xeb, 0xea, 0xff, 0x71, 0x72, 0x6f, 0xff,
+ 0x56, 0x59, 0x55, 0xff, 0x5b, 0x5c, 0x57, 0xff, 0x80, 0x80, 0x7c, 0xff,
+ 0xc7, 0xc8, 0xc5, 0xff, 0xcd, 0xcc, 0xca, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0x88, 0x84, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf1, 0xf0, 0xef, 0xff, 0x53, 0x54, 0x50, 0xff, 0x49, 0x4a, 0x47, 0xff,
+ 0x48, 0x49, 0x45, 0xff, 0x46, 0x47, 0x43, 0xff, 0x44, 0x45, 0x42, 0xff,
+ 0x56, 0x57, 0x54, 0xff, 0x66, 0x67, 0x64, 0xff, 0x4b, 0x4b, 0x49, 0xff,
+ 0x49, 0x4a, 0x47, 0xff, 0x4c, 0x4e, 0x4a, 0xff, 0x55, 0x56, 0x53, 0xff,
+ 0x7c, 0x7c, 0x7a, 0xff, 0xce, 0xce, 0xcd, 0xff, 0xc4, 0xc3, 0xc2, 0xff,
+ 0x8f, 0x8a, 0x81, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf4, 0xff,
+ 0xee, 0xee, 0xec, 0xff, 0x52, 0x53, 0x4f, 0xff, 0x48, 0x49, 0x45, 0xff,
+ 0x45, 0x47, 0x43, 0xff, 0x44, 0x46, 0x42, 0xff, 0x45, 0x46, 0x43, 0xff,
+ 0x47, 0x47, 0x44, 0xff, 0x47, 0x47, 0x44, 0xff, 0x47, 0x47, 0x45, 0xff,
+ 0x47, 0x48, 0x45, 0xff, 0x48, 0x49, 0x46, 0xff, 0x4a, 0x4c, 0x49, 0xff,
+ 0x52, 0x53, 0x51, 0xff, 0xcd, 0xcc, 0xc8, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0x8d, 0x88, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xec, 0xec, 0xeb, 0xff, 0x50, 0x52, 0x4e, 0xff, 0x46, 0x47, 0x43, 0xff,
+ 0x44, 0x45, 0x42, 0xff, 0x44, 0x46, 0x42, 0xff, 0x45, 0x46, 0x42, 0xff,
+ 0x46, 0x47, 0x44, 0xff, 0x47, 0x48, 0x45, 0xff, 0x46, 0x47, 0x44, 0xff,
+ 0x45, 0x46, 0x43, 0xff, 0x43, 0x44, 0x41, 0xff, 0x42, 0x43, 0x41, 0xff,
+ 0x3e, 0x3f, 0x3c, 0xff, 0xcb, 0xca, 0xc5, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0x97, 0x92, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xec, 0xec, 0xeb, 0xff, 0x4f, 0x51, 0x4d, 0xff, 0x46, 0x47, 0x43, 0xff,
+ 0x43, 0x44, 0x40, 0xff, 0x43, 0x44, 0x41, 0xff, 0x44, 0x46, 0x42, 0xff,
+ 0x56, 0x57, 0x54, 0xff, 0x62, 0x63, 0x60, 0xff, 0x47, 0x49, 0x46, 0xff,
+ 0x42, 0x43, 0x41, 0xff, 0x43, 0x44, 0x41, 0xff, 0x42, 0x43, 0x41, 0xff,
+ 0x48, 0x4a, 0x46, 0xff, 0xd8, 0xd7, 0xd4, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xe9, 0xe9, 0xe7, 0xff, 0x4f, 0x50, 0x4d, 0xff, 0x45, 0x47, 0x43, 0xff,
+ 0x44, 0x45, 0x41, 0xff, 0x46, 0x47, 0x44, 0xff, 0x58, 0x59, 0x54, 0xff,
+ 0xe1, 0xe0, 0xdf, 0xff, 0xe2, 0xe1, 0xe0, 0xff, 0x67, 0x68, 0x66, 0xff,
+ 0x46, 0x47, 0x44, 0xff, 0x42, 0x43, 0x41, 0xff, 0x42, 0x43, 0x41, 0xff,
+ 0xc9, 0xc7, 0xc5, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xeb, 0xff,
+ 0xe7, 0xe6, 0xe4, 0xff, 0x57, 0x58, 0x54, 0xff, 0x52, 0x53, 0x50, 0xff,
+ 0x53, 0x54, 0x50, 0xff, 0x7e, 0x7f, 0x7b, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe5, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xb7, 0xb7, 0xb5, 0xff, 0xc9, 0xc8, 0xc5, 0xff, 0xdc, 0xdb, 0xd7, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xe3, 0xe2, 0xe0, 0xff, 0xe2, 0xe1, 0xdf, 0xff,
+ 0xe2, 0xe1, 0xde, 0xff, 0xde, 0xdd, 0xda, 0xff, 0xe5, 0xe4, 0xe1, 0xff,
+ 0xe8, 0xe7, 0xe4, 0xff, 0xe7, 0xe6, 0xe3, 0xff, 0xe7, 0xe5, 0xe2, 0xff,
+ 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff, 0xdc, 0xdb, 0xd7, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xe5, 0xe4, 0xe1, 0xff, 0xe6, 0xe4, 0xe1, 0xff, 0xe5, 0xe4, 0xe0, 0xff,
+ 0xe6, 0xe4, 0xe1, 0xff, 0xe5, 0xe4, 0xe0, 0xff, 0xe4, 0xe3, 0xdf, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xdb, 0xd9, 0xd5, 0xff, 0xd9, 0xd7, 0xd3, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xe3, 0xe2, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xe4, 0xe2, 0xdf, 0xff,
+ 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdb, 0xd7, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd2, 0xff,
+ 0x9e, 0x98, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff, 0xe1, 0xe0, 0xdd, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd1, 0xff, 0xd7, 0xd5, 0xd1, 0xff,
+ 0x9d, 0x97, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xe1, 0xdf, 0xdb, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdc, 0xd8, 0xff,
+ 0xde, 0xdc, 0xd8, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd8, 0xd6, 0xd2, 0xff, 0xd7, 0xd6, 0xd1, 0xff, 0xd5, 0xd3, 0xce, 0xff,
+ 0x9b, 0x95, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x91, 0xff, 0xa3, 0x9e, 0x92, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0xa3, 0x9d, 0x92, 0xff, 0xa3, 0x9d, 0x91, 0xff,
+ 0xa3, 0x9d, 0x92, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9b, 0x8f, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x9d, 0x97, 0x8c, 0xff, 0x9d, 0x97, 0x8c, 0xff, 0x9b, 0x96, 0x8a, 0xff,
+ 0x67, 0x63, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x18,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0xa6, 0xe0,
+ 0x00, 0x04, 0xa6, 0xf0, 0x67, 0x74, 0x6b, 0x2d, 0x64, 0x69, 0x61, 0x6c,
+ 0x6f, 0x67, 0x2d, 0x69, 0x6e, 0x66, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0xa6, 0xfc, 0x00, 0x04, 0xa7, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x24, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x4d, 0x52, 0x52, 0x55, 0x9d,
+ 0x9a, 0x9a, 0xa0, 0xde, 0xbd, 0xbd, 0xc6, 0xf5, 0xd6, 0xd6, 0xe0, 0xfd,
+ 0xe1, 0xe1, 0xee, 0xff, 0xe4, 0xe4, 0xf2, 0xff, 0xdf, 0xdf, 0xed, 0xff,
+ 0xd0, 0xd0, 0xdd, 0xfd, 0xb3, 0xb3, 0xbf, 0xf6, 0x86, 0x86, 0x8f, 0xe2,
+ 0x3b, 0x3b, 0x3e, 0xb4, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x4a,
+ 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x48,
+ 0x6d, 0x6d, 0x70, 0xbb, 0xc1, 0xc1, 0xc7, 0xf6, 0xea, 0xea, 0xf5, 0xff,
+ 0xea, 0xea, 0xf5, 0xff, 0xea, 0xea, 0xf4, 0xff, 0xea, 0xea, 0xf5, 0xff,
+ 0xe8, 0xe8, 0xf3, 0xff, 0xe6, 0xe6, 0xf3, 0xff, 0xe4, 0xe4, 0xf2, 0xff,
+ 0xe3, 0xe3, 0xf1, 0xff, 0xe2, 0xe2, 0xf1, 0xff, 0xdf, 0xdf, 0xf0, 0xff,
+ 0xde, 0xde, 0xef, 0xff, 0xad, 0xad, 0xb9, 0xf6, 0x4b, 0x4b, 0x4f, 0xd1,
+ 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x66, 0xaf, 0xaf, 0xb5, 0xee,
+ 0xed, 0xed, 0xf6, 0xff, 0xf0, 0xf0, 0xf7, 0xff, 0xf1, 0xf1, 0xf8, 0xff,
+ 0xf1, 0xf1, 0xf8, 0xff, 0xf0, 0xf0, 0xf7, 0xff, 0xef, 0xef, 0xf7, 0xff,
+ 0xeb, 0xeb, 0xf5, 0xff, 0xe8, 0xe8, 0xf3, 0xff, 0xe6, 0xe6, 0xf3, 0xff,
+ 0xe4, 0xe4, 0xf2, 0xff, 0xe3, 0xe3, 0xf1, 0xff, 0xe0, 0xe0, 0xf1, 0xff,
+ 0xde, 0xde, 0xf0, 0xff, 0xdd, 0xdd, 0xef, 0xff, 0xdc, 0xdd, 0xef, 0xff,
+ 0x95, 0x95, 0xa0, 0xf1, 0x00, 0x00, 0x00, 0xb3, 0x00, 0x00, 0x00, 0x5a,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x22,
+ 0x4f, 0x4f, 0x51, 0xa1, 0xd4, 0xd4, 0xda, 0xfb, 0xef, 0xef, 0xf7, 0xff,
+ 0xf3, 0xf3, 0xf8, 0xff, 0xf6, 0xf6, 0xfa, 0xff, 0xf8, 0xf8, 0xfb, 0xff,
+ 0xf7, 0xf7, 0xfb, 0xff, 0xf5, 0xf5, 0xfa, 0xff, 0xf0, 0xf0, 0xf7, 0xff,
+ 0xeb, 0xeb, 0xf5, 0xff, 0xe9, 0xe9, 0xf4, 0xff, 0xe8, 0xe8, 0xf3, 0xff,
+ 0xe5, 0xe5, 0xf3, 0xff, 0xe4, 0xe4, 0xf2, 0xff, 0xe1, 0xe1, 0xf1, 0xff,
+ 0xde, 0xdf, 0xf0, 0xff, 0xdc, 0xdd, 0xef, 0xff, 0xdc, 0xdc, 0xef, 0xff,
+ 0xdb, 0xdc, 0xef, 0xff, 0xbd, 0xbe, 0xcd, 0xfb, 0x26, 0x26, 0x29, 0xd1,
+ 0x00, 0x00, 0x00, 0x6c, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1b, 0x50, 0x50, 0x52, 0xa0,
+ 0xde, 0xde, 0xe5, 0xfd, 0xf1, 0xf1, 0xf8, 0xff, 0xf4, 0xf4, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xfc, 0xff, 0xfb, 0xfb, 0xfd, 0xff, 0xfb, 0xfb, 0xfd, 0xff,
+ 0xf8, 0xf8, 0xfb, 0xff, 0xf4, 0xf4, 0xf9, 0xff, 0xef, 0xef, 0xf7, 0xff,
+ 0xec, 0xec, 0xf5, 0xff, 0xea, 0xea, 0xf5, 0xff, 0xe9, 0xe9, 0xf4, 0xff,
+ 0xe6, 0xe6, 0xf3, 0xff, 0xe4, 0xe4, 0xf3, 0xff, 0xe2, 0xe2, 0xf1, 0xff,
+ 0xdf, 0xe0, 0xf0, 0xff, 0xdc, 0xde, 0xf0, 0xff, 0xdb, 0xdc, 0xee, 0xff,
+ 0xdb, 0xdb, 0xef, 0xff, 0xda, 0xdb, 0xee, 0xff, 0xc7, 0xc8, 0xd9, 0xfd,
+ 0x25, 0x25, 0x28, 0xd7, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x62, 0xd5, 0xd5, 0xdb, 0xfb,
+ 0xf1, 0xf1, 0xf9, 0xff, 0xf5, 0xf5, 0xfa, 0xff, 0xf9, 0xf9, 0xfc, 0xff,
+ 0xfc, 0xfc, 0xfd, 0xff, 0xfd, 0xfd, 0xfe, 0xff, 0xfc, 0xfc, 0xfd, 0xff,
+ 0xf8, 0xf8, 0xfc, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xef, 0xef, 0xf7, 0xff,
+ 0xee, 0xee, 0xf7, 0xff, 0xec, 0xec, 0xf5, 0xff, 0xea, 0xea, 0xf5, 0xff,
+ 0xe7, 0xe8, 0xf4, 0xff, 0xe5, 0xe5, 0xf3, 0xff, 0xe2, 0xe3, 0xf2, 0xff,
+ 0xdf, 0xe0, 0xf1, 0xff, 0xdd, 0xdf, 0xf0, 0xff, 0xda, 0xdd, 0xef, 0xff,
+ 0xda, 0xdc, 0xee, 0xff, 0xd9, 0xdb, 0xee, 0xff, 0xd9, 0xdb, 0xee, 0xff,
+ 0xbd, 0xbf, 0xcf, 0xfb, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x42, 0xb3, 0xb3, 0xb8, 0xee, 0xf2, 0xf2, 0xf9, 0xff,
+ 0xf3, 0xf3, 0xf9, 0xff, 0xf8, 0xf8, 0xfb, 0xff, 0xfb, 0xfb, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfd, 0xff, 0xfc, 0xfc, 0xfd, 0xff, 0xfb, 0xfb, 0xfd, 0xff,
+ 0xf7, 0xf7, 0xfb, 0xff, 0xf2, 0xf2, 0xf9, 0xff, 0xf1, 0xf1, 0xf8, 0xff,
+ 0xef, 0xef, 0xf7, 0xff, 0xed, 0xed, 0xf6, 0xff, 0xea, 0xea, 0xf5, 0xff,
+ 0xe8, 0xe8, 0xf4, 0xff, 0xe5, 0xe6, 0xf3, 0xff, 0xe3, 0xe3, 0xf3, 0xff,
+ 0xe0, 0xe1, 0xf1, 0xff, 0xdd, 0xde, 0xf0, 0xff, 0xdb, 0xdd, 0xef, 0xff,
+ 0xda, 0xdc, 0xee, 0xff, 0xd8, 0xdb, 0xee, 0xff, 0xd9, 0xdb, 0xee, 0xff,
+ 0xd8, 0xdb, 0xee, 0xff, 0x94, 0x96, 0xa2, 0xf2, 0x00, 0x00, 0x00, 0xb0,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x19,
+ 0x73, 0x73, 0x75, 0xb8, 0xf1, 0xf1, 0xf9, 0xff, 0xf3, 0xf3, 0xf9, 0xff,
+ 0xf6, 0xf6, 0xfa, 0xff, 0xfa, 0xfa, 0xfc, 0xff, 0xfb, 0xfb, 0xfd, 0xff,
+ 0xfb, 0xfb, 0xfd, 0xff, 0xfb, 0xfb, 0xfd, 0xff, 0xfa, 0xfa, 0xfc, 0xff,
+ 0xf6, 0xf6, 0xfa, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xf1, 0xf1, 0xf9, 0xff,
+ 0xf0, 0xf0, 0xf7, 0xff, 0xee, 0xee, 0xf7, 0xff, 0xeb, 0xeb, 0xf5, 0xff,
+ 0xe9, 0xe9, 0xf5, 0xff, 0xe6, 0xe6, 0xf3, 0xff, 0xe3, 0xe4, 0xf3, 0xff,
+ 0xe1, 0xe1, 0xf2, 0xff, 0xde, 0xdf, 0xf0, 0xff, 0xdb, 0xdd, 0xf0, 0xff,
+ 0xd9, 0xdc, 0xee, 0xff, 0xd8, 0xdb, 0xee, 0xff, 0xd8, 0xda, 0xee, 0xff,
+ 0xd8, 0xdb, 0xee, 0xff, 0xd7, 0xda, 0xee, 0xff, 0x3b, 0x3c, 0x41, 0xe1,
+ 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x43,
+ 0xc5, 0xc5, 0xca, 0xf6, 0xf3, 0xf3, 0xf9, 0xff, 0xf5, 0xf5, 0xfa, 0xff,
+ 0xf8, 0xf8, 0xfb, 0xff, 0xf9, 0xf9, 0xfc, 0xff, 0xfa, 0xfa, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfc, 0xff, 0xfa, 0xfa, 0xfc, 0xff, 0xf9, 0xf9, 0xfb, 0xff,
+ 0xf7, 0xf7, 0xfb, 0xff, 0xf5, 0xf5, 0xfa, 0xff, 0xf3, 0xf3, 0xf9, 0xff,
+ 0xf0, 0xf0, 0xf8, 0xff, 0xee, 0xee, 0xf7, 0xff, 0xec, 0xec, 0xf6, 0xff,
+ 0xea, 0xea, 0xf5, 0xff, 0xe7, 0xe7, 0xf4, 0xff, 0xe5, 0xe5, 0xf3, 0xff,
+ 0xe1, 0xe2, 0xf2, 0xff, 0xde, 0xdf, 0xf0, 0xff, 0xdb, 0xdd, 0xf0, 0xff,
+ 0xd8, 0xdc, 0xee, 0xff, 0xd7, 0xdb, 0xed, 0xff, 0xd7, 0xdb, 0xed, 0xff,
+ 0xd6, 0xda, 0xed, 0xff, 0xd6, 0xdb, 0xee, 0xff, 0xa8, 0xaa, 0xb8, 0xf7,
+ 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0f, 0x5b, 0x5b, 0x5d, 0x96,
+ 0xf1, 0xf1, 0xf8, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xf5, 0xf5, 0xfa, 0xff,
+ 0xf7, 0xf7, 0xfb, 0xff, 0xf9, 0xf9, 0xfc, 0xff, 0xfb, 0xfb, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfd, 0xff, 0xfb, 0xfb, 0xfd, 0xff, 0xf9, 0xf9, 0xfc, 0xff,
+ 0xf7, 0xf7, 0xfb, 0xff, 0xf6, 0xf6, 0xfa, 0xff, 0xf4, 0xf4, 0xf9, 0xff,
+ 0xf2, 0xf2, 0xf8, 0xff, 0xf0, 0xf0, 0xf8, 0xff, 0xed, 0xee, 0xf7, 0xff,
+ 0xeb, 0xeb, 0xf6, 0xff, 0xe9, 0xe9, 0xf5, 0xff, 0xe6, 0xe6, 0xf4, 0xff,
+ 0xe3, 0xe3, 0xf3, 0xff, 0xe0, 0xe1, 0xf1, 0xff, 0xdc, 0xde, 0xf0, 0xff,
+ 0xd8, 0xdb, 0xee, 0xff, 0xd7, 0xdb, 0xec, 0xff, 0xd6, 0xdb, 0xec, 0xff,
+ 0xd6, 0xda, 0xec, 0xff, 0xd6, 0xda, 0xee, 0xff, 0xd6, 0xd9, 0xee, 0xff,
+ 0x20, 0x21, 0x24, 0xdd, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x21, 0xa3, 0xa3, 0xa7, 0xdd,
+ 0xf1, 0xf1, 0xf8, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xf5, 0xf5, 0xfa, 0xff,
+ 0xf8, 0xf8, 0xfb, 0xff, 0xfa, 0xfa, 0xfc, 0xff, 0xfc, 0xfc, 0xfd, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfd, 0xff, 0xfa, 0xfa, 0xfc, 0xff,
+ 0xf9, 0xf9, 0xfb, 0xff, 0xf7, 0xf7, 0xfb, 0xff, 0xf5, 0xf5, 0xfa, 0xff,
+ 0xf3, 0xf4, 0xf9, 0xff, 0xf2, 0xf2, 0xf8, 0xff, 0xef, 0xef, 0xf8, 0xff,
+ 0xee, 0xee, 0xf7, 0xff, 0xeb, 0xec, 0xf6, 0xff, 0xe9, 0xe9, 0xf5, 0xff,
+ 0xe5, 0xe6, 0xf4, 0xff, 0xe1, 0xe3, 0xf2, 0xff, 0xdd, 0xdf, 0xef, 0xff,
+ 0xd8, 0xdc, 0xed, 0xff, 0xd7, 0xdc, 0xec, 0xff, 0xd6, 0xdc, 0xec, 0xff,
+ 0xd6, 0xdb, 0xec, 0xff, 0xd5, 0xdb, 0xed, 0xff, 0xd5, 0xda, 0xee, 0xff,
+ 0x73, 0x75, 0x7f, 0xea, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x36,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x35, 0xc7, 0xc7, 0xcd, 0xf4,
+ 0xf1, 0xf1, 0xf8, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xf5, 0xf5, 0xfa, 0xff,
+ 0xf7, 0xf7, 0xfb, 0xff, 0xf9, 0xf9, 0xfc, 0xff, 0xfb, 0xfb, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfd, 0xff, 0xfb, 0xfb, 0xfd, 0xff, 0xfa, 0xfa, 0xfc, 0xff,
+ 0xf9, 0xf9, 0xfc, 0xff, 0xf8, 0xf8, 0xfb, 0xff, 0xf7, 0xf7, 0xfb, 0xff,
+ 0xf5, 0xf5, 0xfa, 0xff, 0xf4, 0xf4, 0xfa, 0xff, 0xf2, 0xf2, 0xf9, 0xff,
+ 0xf1, 0xf1, 0xf8, 0xff, 0xef, 0xef, 0xf8, 0xff, 0xec, 0xec, 0xf7, 0xff,
+ 0xe9, 0xea, 0xf5, 0xff, 0xe5, 0xe5, 0xf4, 0xff, 0xde, 0xe2, 0xf0, 0xff,
+ 0xda, 0xde, 0xee, 0xff, 0xd7, 0xde, 0xec, 0xff, 0xd6, 0xdc, 0xec, 0xff,
+ 0xd5, 0xdb, 0xec, 0xff, 0xd5, 0xdc, 0xed, 0xff, 0xd5, 0xdb, 0xee, 0xff,
+ 0xa7, 0xaa, 0xb9, 0xf7, 0x00, 0x00, 0x00, 0xaf, 0x00, 0x00, 0x00, 0x3e,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x46, 0xde, 0xde, 0xe5, 0xfd,
+ 0xf1, 0xf1, 0xf8, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xf5, 0xf5, 0xfa, 0xff,
+ 0xf7, 0xf7, 0xfb, 0xff, 0xf8, 0xf8, 0xfb, 0xff, 0xfa, 0xfa, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfc, 0xff, 0xfb, 0xfb, 0xfd, 0xff, 0xfa, 0xfa, 0xfb, 0xff,
+ 0xf9, 0xf9, 0xfb, 0xff, 0xf8, 0xf8, 0xfb, 0xff, 0xf7, 0xf7, 0xfb, 0xff,
+ 0xf6, 0xf6, 0xfa, 0xff, 0xf5, 0xf5, 0xfa, 0xff, 0xf3, 0xf4, 0xf9, 0xff,
+ 0xf2, 0xf2, 0xf9, 0xff, 0xf1, 0xf1, 0xf8, 0xff, 0xef, 0xef, 0xf7, 0xff,
+ 0xec, 0xec, 0xf6, 0xff, 0xe8, 0xe9, 0xf5, 0xff, 0xe1, 0xe4, 0xf2, 0xff,
+ 0xdb, 0xe0, 0xef, 0xff, 0xd8, 0xdf, 0xed, 0xff, 0xd5, 0xdd, 0xeb, 0xff,
+ 0xd5, 0xdd, 0xeb, 0xff, 0xd5, 0xdc, 0xec, 0xff, 0xd5, 0xda, 0xee, 0xff,
+ 0xc3, 0xc6, 0xd9, 0xfd, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x51, 0xea, 0xea, 0xf3, 0xff,
+ 0xf0, 0xf0, 0xf7, 0xff, 0xf1, 0xf1, 0xf9, 0xff, 0xf3, 0xf3, 0xf9, 0xff,
+ 0xf5, 0xf5, 0xfa, 0xff, 0xf8, 0xf8, 0xfb, 0xff, 0xf8, 0xf8, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xfb, 0xff, 0xfa, 0xfa, 0xfc, 0xff, 0xfa, 0xfa, 0xfc, 0xff,
+ 0xf9, 0xf9, 0xfb, 0xff, 0xf9, 0xf9, 0xfb, 0xff, 0xf8, 0xf8, 0xfc, 0xff,
+ 0xf8, 0xf8, 0xfb, 0xff, 0xf7, 0xf7, 0xfb, 0xff, 0xf6, 0xf6, 0xfb, 0xff,
+ 0xf5, 0xf5, 0xfb, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xf2, 0xf2, 0xf9, 0xff,
+ 0xef, 0xf0, 0xf8, 0xff, 0xea, 0xeb, 0xf6, 0xff, 0xe4, 0xe6, 0xf3, 0xff,
+ 0xdd, 0xe1, 0xef, 0xff, 0xd9, 0xe0, 0xed, 0xff, 0xd6, 0xdf, 0xeb, 0xff,
+ 0xd5, 0xdd, 0xeb, 0xff, 0xd4, 0xdc, 0xec, 0xff, 0xd4, 0xda, 0xee, 0xff,
+ 0xd0, 0xd3, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x53, 0xed, 0xed, 0xf6, 0xff,
+ 0xef, 0xef, 0xf7, 0xff, 0xf1, 0xf1, 0xf8, 0xff, 0xf2, 0xf2, 0xf9, 0xff,
+ 0xf4, 0xf4, 0xf9, 0xff, 0xf7, 0xf7, 0xfb, 0xff, 0xf8, 0xf8, 0xfb, 0xff,
+ 0xf8, 0xf8, 0xfb, 0xff, 0xf9, 0xf9, 0xfb, 0xff, 0xf9, 0xf9, 0xfb, 0xff,
+ 0xf9, 0xf9, 0xfb, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf9, 0xf9, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xfb, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xf2, 0xf3, 0xfa, 0xff,
+ 0xf0, 0xf1, 0xf8, 0xff, 0xec, 0xec, 0xf7, 0xff, 0xe5, 0xe7, 0xf4, 0xff,
+ 0xde, 0xe2, 0xef, 0xff, 0xd9, 0xe1, 0xee, 0xff, 0xd6, 0xe1, 0xeb, 0xff,
+ 0xd4, 0xde, 0xeb, 0xff, 0xd4, 0xdd, 0xec, 0xff, 0xd4, 0xda, 0xee, 0xff,
+ 0xd4, 0xd8, 0xee, 0xff, 0x00, 0x00, 0x00, 0xd9, 0x00, 0x00, 0x00, 0x49,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0xe8, 0xe8, 0xf1, 0xff,
+ 0xee, 0xee, 0xf7, 0xff, 0xee, 0xee, 0xf6, 0xff, 0xf1, 0xf1, 0xf8, 0xff,
+ 0xf2, 0xf2, 0xf9, 0xff, 0xf5, 0xf5, 0xf9, 0xff, 0xf6, 0xf6, 0xfa, 0xff,
+ 0xf7, 0xf7, 0xfa, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xf8, 0xf8, 0xfb, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xf7, 0xf7, 0xfa, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xf6, 0xf6, 0xfa, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xf2, 0xf2, 0xf8, 0xff,
+ 0xe9, 0xe7, 0xe6, 0xff, 0xeb, 0xeb, 0xf6, 0xff, 0xe5, 0xe7, 0xf4, 0xff,
+ 0xdf, 0xe4, 0xf0, 0xff, 0xd9, 0xe3, 0xec, 0xff, 0xd6, 0xe2, 0xea, 0xff,
+ 0xd4, 0xe0, 0xea, 0xff, 0xd4, 0xde, 0xec, 0xff, 0xd4, 0xda, 0xed, 0xff,
+ 0xd0, 0xd4, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x48,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4d, 0xd9, 0xd9, 0xe2, 0xfd,
+ 0xec, 0xec, 0xf5, 0xff, 0xee, 0xee, 0xf7, 0xff, 0xef, 0xef, 0xf7, 0xff,
+ 0xf1, 0xf1, 0xf7, 0xff, 0xf4, 0xf4, 0xf9, 0xff, 0xf5, 0xf5, 0xfa, 0xff,
+ 0xf6, 0xf6, 0xfa, 0xff, 0xef, 0xed, 0xe8, 0xff, 0xf7, 0xf7, 0xfa, 0xff,
+ 0xf7, 0xf7, 0xfa, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf7, 0xf7, 0xfb, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf4, 0xf9, 0xff, 0xf2, 0xf3, 0xf9, 0xff, 0xf2, 0xf2, 0xf8, 0xff,
+ 0xea, 0xea, 0xf0, 0xff, 0xea, 0xeb, 0xf6, 0xff, 0xe3, 0xe7, 0xf2, 0xff,
+ 0xde, 0xe5, 0xef, 0xff, 0xd8, 0xe4, 0xeb, 0xff, 0xd5, 0xe4, 0xea, 0xff,
+ 0xd4, 0xe3, 0xea, 0xff, 0xd3, 0xdf, 0xeb, 0xff, 0xd4, 0xdc, 0xed, 0xff,
+ 0xc3, 0xc9, 0xda, 0xfe, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x3f, 0xbf, 0xbf, 0xc6, 0xf6,
+ 0xea, 0xea, 0xf5, 0xff, 0xec, 0xec, 0xf5, 0xff, 0xed, 0xed, 0xf6, 0xff,
+ 0xef, 0xef, 0xf7, 0xff, 0xf1, 0xf1, 0xf8, 0xff, 0xf2, 0xf2, 0xf8, 0xff,
+ 0xf5, 0xf5, 0xf9, 0xff, 0xf3, 0xf3, 0xf5, 0xff, 0xed, 0xeb, 0xe7, 0xff,
+ 0xf5, 0xf6, 0xfa, 0xff, 0xf5, 0xf5, 0xfa, 0xff, 0xf5, 0xf5, 0xf9, 0xff,
+ 0xf4, 0xf4, 0xf9, 0xff, 0xf3, 0xf3, 0xf9, 0xff, 0xf3, 0xf3, 0xf9, 0xff,
+ 0xf1, 0xf2, 0xf9, 0xff, 0xf0, 0xf1, 0xf8, 0xff, 0xe8, 0xe6, 0xe5, 0xff,
+ 0xea, 0xec, 0xf5, 0xff, 0xe6, 0xe7, 0xf3, 0xff, 0xe0, 0xe4, 0xef, 0xff,
+ 0xdc, 0xe5, 0xec, 0xff, 0xd7, 0xe7, 0xea, 0xff, 0xd5, 0xe7, 0xea, 0xff,
+ 0xd4, 0xe5, 0xea, 0xff, 0xd3, 0xe0, 0xeb, 0xff, 0xd3, 0xdd, 0xed, 0xff,
+ 0xa8, 0xad, 0xbc, 0xf8, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, 0x42,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x2b, 0x94, 0x94, 0x9a, 0xe0,
+ 0xe9, 0xe9, 0xf4, 0xff, 0xea, 0xea, 0xf4, 0xff, 0xea, 0xeb, 0xf4, 0xff,
+ 0xec, 0xed, 0xf4, 0xff, 0xee, 0xef, 0xf6, 0xff, 0xf0, 0xf0, 0xf7, 0xff,
+ 0xf1, 0xf2, 0xf8, 0xff, 0xf2, 0xf3, 0xf8, 0xff, 0xd1, 0xd0, 0xd1, 0xff,
+ 0xf3, 0xf3, 0xf8, 0xff, 0xf2, 0xf3, 0xf9, 0xff, 0xf2, 0xf2, 0xf8, 0xff,
+ 0xf1, 0xf1, 0xf8, 0xff, 0xf0, 0xf1, 0xf8, 0xff, 0xef, 0xf0, 0xf7, 0xff,
+ 0xee, 0xef, 0xf7, 0xff, 0xec, 0xed, 0xf6, 0xff, 0xe2, 0xe0, 0xdf, 0xff,
+ 0xe5, 0xe8, 0xf3, 0xff, 0xe2, 0xe6, 0xf1, 0xff, 0xdd, 0xe4, 0xed, 0xff,
+ 0xda, 0xe6, 0xeb, 0xff, 0xd6, 0xe7, 0xea, 0xff, 0xd5, 0xe9, 0xe9, 0xff,
+ 0xd3, 0xe7, 0xea, 0xff, 0xd3, 0xe0, 0xeb, 0xff, 0xd3, 0xdd, 0xec, 0xff,
+ 0x74, 0x77, 0x80, 0xec, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x3b,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x17, 0x49, 0x49, 0x4b, 0xa6,
+ 0xe6, 0xe7, 0xf3, 0xff, 0xe8, 0xe8, 0xf3, 0xff, 0xe5, 0xe8, 0xf0, 0xff,
+ 0xe8, 0xeb, 0xf2, 0xff, 0xe9, 0xec, 0xf2, 0xff, 0xea, 0xed, 0xf4, 0xff,
+ 0xeb, 0xed, 0xf4, 0xff, 0xed, 0xee, 0xf5, 0xff, 0xc3, 0xc3, 0xc4, 0xff,
+ 0xee, 0xef, 0xf6, 0xff, 0xed, 0xef, 0xf6, 0xff, 0xed, 0xee, 0xf6, 0xff,
+ 0xec, 0xed, 0xf6, 0xff, 0xeb, 0xed, 0xf5, 0xff, 0xea, 0xec, 0xf5, 0xff,
+ 0xe9, 0xeb, 0xf5, 0xff, 0xea, 0xeb, 0xf4, 0xff, 0xda, 0xda, 0xd7, 0xff,
+ 0xe0, 0xe4, 0xee, 0xff, 0xdc, 0xe4, 0xec, 0xff, 0xda, 0xe5, 0xeb, 0xff,
+ 0xd7, 0xe7, 0xea, 0xff, 0xd4, 0xe9, 0xe9, 0xff, 0xd3, 0xea, 0xe9, 0xff,
+ 0xd3, 0xe7, 0xea, 0xff, 0xd3, 0xe0, 0xec, 0xff, 0xd2, 0xdc, 0xed, 0xff,
+ 0x20, 0x20, 0x23, 0xe3, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x5c,
+ 0xb8, 0xb8, 0xc1, 0xf6, 0xe6, 0xe6, 0xf2, 0xff, 0xe3, 0xe7, 0xef, 0xff,
+ 0xe3, 0xeb, 0xef, 0xff, 0xe4, 0xeb, 0xf0, 0xff, 0xe6, 0xec, 0xf1, 0xff,
+ 0xe6, 0xea, 0xf1, 0xff, 0xe6, 0xeb, 0xf2, 0xff, 0xe2, 0xe4, 0xe4, 0xff,
+ 0xe7, 0xeb, 0xf3, 0xff, 0xe7, 0xeb, 0xf3, 0xff, 0xe7, 0xea, 0xf3, 0xff,
+ 0xe6, 0xea, 0xf3, 0xff, 0xe5, 0xe9, 0xf3, 0xff, 0xe4, 0xe7, 0xf3, 0xff,
+ 0xe2, 0xe6, 0xf1, 0xff, 0xe2, 0xe7, 0xf0, 0xff, 0xa4, 0xa7, 0xad, 0xff,
+ 0xdc, 0xe2, 0xec, 0xff, 0xd9, 0xe4, 0xea, 0xff, 0xd7, 0xe6, 0xea, 0xff,
+ 0xd5, 0xea, 0xe9, 0xff, 0xd4, 0xeb, 0xe9, 0xff, 0xd3, 0xec, 0xe9, 0xff,
+ 0xd3, 0xe3, 0xea, 0xff, 0xd2, 0xde, 0xec, 0xff, 0xa8, 0xad, 0xbb, 0xf8,
+ 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2b,
+ 0x5a, 0x5a, 0x5e, 0xcb, 0xe4, 0xe5, 0xf1, 0xff, 0xe4, 0xe6, 0xf2, 0xff,
+ 0xe1, 0xe8, 0xee, 0xff, 0xe0, 0xea, 0xed, 0xff, 0xe1, 0xea, 0xee, 0xff,
+ 0xe1, 0xe9, 0xee, 0xff, 0xe1, 0xe9, 0xf0, 0xff, 0xe3, 0xea, 0xef, 0xff,
+ 0xd3, 0xd5, 0xcb, 0xff, 0xe1, 0xe8, 0xf1, 0xff, 0xe1, 0xe7, 0xf0, 0xff,
+ 0xe0, 0xe6, 0xf0, 0xff, 0xde, 0xe5, 0xf0, 0xff, 0xdd, 0xe4, 0xf0, 0xff,
+ 0xdb, 0xe2, 0xef, 0xff, 0xde, 0xe4, 0xed, 0xff, 0x9f, 0xa5, 0xa5, 0xff,
+ 0xd7, 0xe2, 0xe9, 0xff, 0xd6, 0xe5, 0xe9, 0xff, 0xd4, 0xe9, 0xe8, 0xff,
+ 0xd4, 0xed, 0xe9, 0xff, 0xd3, 0xee, 0xe9, 0xff, 0xd3, 0xe7, 0xe9, 0xff,
+ 0xd3, 0xe1, 0xec, 0xff, 0xd2, 0xdc, 0xed, 0xff, 0x38, 0x38, 0x3e, 0xe6,
+ 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x69, 0xa2, 0xa4, 0xac, 0xf1, 0xe3, 0xe4, 0xf1, 0xff,
+ 0xe3, 0xe5, 0xf1, 0xff, 0xde, 0xe8, 0xec, 0xff, 0xde, 0xea, 0xec, 0xff,
+ 0xdd, 0xe9, 0xec, 0xff, 0xdc, 0xe8, 0xeb, 0xff, 0xde, 0xe8, 0xeb, 0xff,
+ 0xa4, 0xac, 0xa9, 0xff, 0xda, 0xe5, 0xec, 0xff, 0xda, 0xe4, 0xec, 0xff,
+ 0xd9, 0xe2, 0xec, 0xff, 0xd8, 0xe1, 0xea, 0xff, 0xd8, 0xdf, 0xea, 0xff,
+ 0xd7, 0xdf, 0xea, 0xff, 0xca, 0xcc, 0xc2, 0xff, 0xcd, 0xd1, 0xca, 0xff,
+ 0xd5, 0xe2, 0xe8, 0xff, 0xd4, 0xe7, 0xe9, 0xff, 0xd4, 0xeb, 0xe9, 0xff,
+ 0xd3, 0xee, 0xe9, 0xff, 0xd3, 0xec, 0xe9, 0xff, 0xd3, 0xe1, 0xeb, 0xff,
+ 0xd2, 0xdd, 0xec, 0xff, 0x92, 0x96, 0xa2, 0xf3, 0x00, 0x00, 0x00, 0xd6,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0xa0, 0xc8, 0xca, 0xd5, 0xfb,
+ 0xe1, 0xe3, 0xf0, 0xff, 0xdc, 0xe3, 0xea, 0xff, 0xdb, 0xe7, 0xeb, 0xff,
+ 0xda, 0xe7, 0xea, 0xff, 0xda, 0xe8, 0xeb, 0xff, 0xdc, 0xe8, 0xeb, 0xff,
+ 0xa0, 0xaa, 0xa6, 0xff, 0xd8, 0xe3, 0xea, 0xff, 0xd7, 0xe2, 0xe9, 0xff,
+ 0xd7, 0xe1, 0xe9, 0xff, 0xd6, 0xdf, 0xe9, 0xff, 0xd6, 0xde, 0xe8, 0xff,
+ 0xda, 0xe2, 0xe8, 0xff, 0xc9, 0xce, 0xc0, 0xff, 0xd5, 0xe2, 0xe9, 0xff,
+ 0xd5, 0xe6, 0xe9, 0xff, 0xd4, 0xea, 0xe9, 0xff, 0xd4, 0xed, 0xe9, 0xff,
+ 0xd3, 0xec, 0xe9, 0xff, 0xd3, 0xe2, 0xea, 0xff, 0xd3, 0xdf, 0xec, 0xff,
+ 0xba, 0xc1, 0xd1, 0xfc, 0x00, 0x00, 0x00, 0xe9, 0x00, 0x00, 0x00, 0x81,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x36, 0x2e, 0x2e, 0x31, 0xc9,
+ 0xcf, 0xd0, 0xde, 0xfd, 0xde, 0xe0, 0xf0, 0xff, 0xde, 0xe0, 0xf0, 0xff,
+ 0xdb, 0xe2, 0xea, 0xff, 0xda, 0xe5, 0xea, 0xff, 0xda, 0xe4, 0xea, 0xff,
+ 0xc9, 0xcf, 0xc1, 0xff, 0xcd, 0xd4, 0xca, 0xff, 0xd8, 0xe2, 0xea, 0xff,
+ 0xd7, 0xe3, 0xe9, 0xff, 0xd7, 0xe2, 0xe9, 0xff, 0xd6, 0xe1, 0xe9, 0xff,
+ 0xdc, 0xe7, 0xe9, 0xff, 0x94, 0x9f, 0x9b, 0xff, 0xd5, 0xe5, 0xe9, 0xff,
+ 0xd4, 0xe7, 0xe9, 0xff, 0xd4, 0xea, 0xe9, 0xff, 0xd3, 0xe8, 0xe9, 0xff,
+ 0xd3, 0xe1, 0xec, 0xff, 0xd2, 0xdf, 0xec, 0xff, 0xc5, 0xcc, 0xdc, 0xfd,
+ 0x1d, 0x1d, 0x20, 0xe8, 0x00, 0x00, 0x00, 0xa2, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x49,
+ 0x2a, 0x2a, 0x2e, 0xce, 0xc2, 0xc3, 0xd0, 0xfb, 0xdc, 0xde, 0xee, 0xff,
+ 0xdc, 0xdd, 0xee, 0xff, 0xd8, 0xdc, 0xe9, 0xff, 0xd8, 0xdf, 0xe8, 0xff,
+ 0xd4, 0xdd, 0xe4, 0xff, 0x9f, 0xa7, 0xa2, 0xff, 0xd0, 0xd8, 0xd3, 0xff,
+ 0xcf, 0xd6, 0xd1, 0xff, 0xcf, 0xd6, 0xcf, 0xff, 0xd1, 0xd8, 0xcf, 0xff,
+ 0xdc, 0xe8, 0xe8, 0xff, 0x94, 0x9e, 0x9b, 0xff, 0xd4, 0xe2, 0xe3, 0xff,
+ 0xd3, 0xe3, 0xe7, 0xff, 0xd3, 0xe0, 0xe7, 0xff, 0xd2, 0xde, 0xe8, 0xff,
+ 0xd3, 0xdf, 0xec, 0xff, 0xbb, 0xc3, 0xd2, 0xfc, 0x1d, 0x1d, 0x1f, 0xe8,
+ 0x00, 0x00, 0x00, 0xaf, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0xbc, 0x99, 0x99, 0xa4, 0xef,
+ 0xdb, 0xdc, 0xee, 0xff, 0xd3, 0xd4, 0xe5, 0xff, 0xbd, 0xba, 0xbb, 0xff,
+ 0xb8, 0xb7, 0xb5, 0xff, 0xc3, 0xc0, 0xb4, 0xff, 0xbe, 0xbf, 0xb7, 0xff,
+ 0xc2, 0xc4, 0xb8, 0xff, 0xc8, 0xc9, 0xb7, 0xff, 0xce, 0xce, 0xb9, 0xff,
+ 0xd0, 0xcf, 0xb9, 0xff, 0xc6, 0xc5, 0xb3, 0xff, 0xcb, 0xca, 0xb6, 0xff,
+ 0xcc, 0xcf, 0xca, 0xff, 0xcf, 0xd7, 0xdb, 0xff, 0xd3, 0xde, 0xec, 0xff,
+ 0x96, 0x9b, 0xa6, 0xf4, 0x00, 0x00, 0x00, 0xe9, 0x00, 0x00, 0x00, 0xa1,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x99,
+ 0x3d, 0x3d, 0x42, 0xdd, 0xcb, 0xc1, 0xab, 0xff, 0xba, 0xb6, 0xb8, 0xff,
+ 0xb4, 0xb4, 0xb6, 0xff, 0xb6, 0xb4, 0xb6, 0xff, 0xbd, 0xbb, 0xbb, 0xff,
+ 0xc0, 0xbe, 0xbb, 0xff, 0xc7, 0xc3, 0xbb, 0xff, 0xce, 0xc9, 0xbc, 0xff,
+ 0xcf, 0xca, 0xbc, 0xff, 0xcd, 0xca, 0xbb, 0xff, 0xca, 0xc8, 0xba, 0xff,
+ 0xc8, 0xc6, 0xb9, 0xff, 0xb5, 0xb1, 0x97, 0xff, 0x35, 0x38, 0x3c, 0xe9,
+ 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x79, 0xec, 0xe3, 0xc4, 0xff, 0xd3, 0xc8, 0xa8, 0xff,
+ 0xcd, 0xc4, 0xa7, 0xff, 0xcd, 0xc8, 0xbb, 0xff, 0xcd, 0xca, 0xc4, 0xff,
+ 0xc8, 0xc5, 0xc2, 0xff, 0xc9, 0xc6, 0xc1, 0xff, 0xcc, 0xc7, 0xb9, 0xff,
+ 0xcf, 0xc7, 0xb2, 0xff, 0xcd, 0xc3, 0xa4, 0xff, 0xd5, 0xcc, 0xaf, 0xff,
+ 0xd2, 0xc6, 0x9d, 0xff, 0x9c, 0x8c, 0x53, 0xff, 0x00, 0x00, 0x00, 0xe3,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x59, 0xf1, 0xdf, 0x9d, 0xff, 0xf2, 0xe9, 0xc5, 0xff,
+ 0xf8, 0xf4, 0xe7, 0xff, 0xf9, 0xf7, 0xef, 0xff, 0xf7, 0xf4, 0xeb, 0xff,
+ 0xee, 0xe8, 0xd2, 0xff, 0xed, 0xe6, 0xce, 0xff, 0xf0, 0xea, 0xd2, 0xff,
+ 0xf2, 0xec, 0xd4, 0xff, 0xe6, 0xdc, 0xb7, 0xff, 0xdb, 0xce, 0x9e, 0xff,
+ 0xbe, 0xab, 0x66, 0xff, 0x6f, 0x64, 0x3a, 0xff, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x54, 0xf3, 0xe3, 0xaa, 0xff, 0xe6, 0xd7, 0x9f, 0xff,
+ 0xf3, 0xe3, 0xa8, 0xff, 0xf3, 0xe4, 0xad, 0xff, 0xf3, 0xe3, 0xaa, 0xff,
+ 0xf0, 0xde, 0x9c, 0xff, 0xe9, 0xd4, 0x88, 0xff, 0xe0, 0xcb, 0x7b, 0xff,
+ 0xd9, 0xc3, 0x74, 0xff, 0xd0, 0xbb, 0x6f, 0xff, 0xc7, 0xb3, 0x6b, 0xff,
+ 0xa9, 0x98, 0x5a, 0xff, 0x8d, 0x7f, 0x4b, 0xff, 0x00, 0x00, 0x00, 0xd9,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x13,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x54, 0xf8, 0xf3, 0xe1, 0xff, 0xf8, 0xf0, 0xd5, 0xff,
+ 0xe6, 0xd6, 0x9f, 0xff, 0xd6, 0xc8, 0x96, 0xff, 0xd0, 0xc2, 0x92, 0xff,
+ 0xce, 0xbe, 0x86, 0xff, 0xc5, 0xb4, 0x74, 0xff, 0xc2, 0xaf, 0x6a, 0xff,
+ 0xbb, 0xa8, 0x64, 0xff, 0xbf, 0xb0, 0x7b, 0xff, 0xc5, 0xba, 0x8f, 0xff,
+ 0xcf, 0xc0, 0x8e, 0xff, 0x9e, 0x8e, 0x54, 0xff, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x54, 0xf0, 0xdc, 0x96, 0xff, 0xf6, 0xeb, 0xc5, 0xff,
+ 0xfb, 0xf8, 0xee, 0xff, 0xfc, 0xfb, 0xf5, 0xff, 0xfd, 0xfb, 0xf6, 0xff,
+ 0xf9, 0xf4, 0xde, 0xff, 0xf3, 0xea, 0xc7, 0xff, 0xf1, 0xe6, 0xc1, 0xff,
+ 0xec, 0xe2, 0xbe, 0xff, 0xeb, 0xe2, 0xc1, 0xff, 0xdf, 0xd4, 0xad, 0xff,
+ 0xbd, 0xaa, 0x64, 0xff, 0x88, 0x7c, 0x52, 0xff, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x54, 0xf3, 0xe6, 0xb6, 0xff, 0xe3, 0xd2, 0x96, 0xff,
+ 0xf1, 0xe1, 0xa8, 0xff, 0xf4, 0xe7, 0xb9, 0xff, 0xf2, 0xe4, 0xb1, 0xff,
+ 0xef, 0xdd, 0x9c, 0xff, 0xe7, 0xd2, 0x88, 0xff, 0xdf, 0xc9, 0x7a, 0xff,
+ 0xd9, 0xc3, 0x74, 0xff, 0xcc, 0xb7, 0x6d, 0xff, 0xc4, 0xb0, 0x69, 0xff,
+ 0xa2, 0x95, 0x65, 0xff, 0x90, 0x85, 0x5b, 0xff, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x54, 0xf7, 0xef, 0xd6, 0xff, 0xf4, 0xea, 0xc7, 0xff,
+ 0xe6, 0xd8, 0xaa, 0xff, 0xd4, 0xc6, 0x97, 0xff, 0xd1, 0xc5, 0x9c, 0xff,
+ 0xce, 0xc1, 0x90, 0xff, 0xc4, 0xb2, 0x75, 0xff, 0xbd, 0xaa, 0x67, 0xff,
+ 0xb6, 0xa3, 0x61, 0xff, 0xae, 0x9d, 0x5d, 0xff, 0xc8, 0xbd, 0x9a, 0xff,
+ 0xd1, 0xc5, 0x99, 0xff, 0x99, 0x8b, 0x52, 0xff, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x54, 0xeb, 0xd7, 0x92, 0xff, 0xf1, 0xe5, 0xba, 0xff,
+ 0xf9, 0xf5, 0xe6, 0xff, 0xfc, 0xfa, 0xf4, 0xff, 0xfb, 0xf9, 0xee, 0xff,
+ 0xf9, 0xf6, 0xea, 0xff, 0xf5, 0xee, 0xd7, 0xff, 0xec, 0xe3, 0xc0, 0xff,
+ 0xea, 0xdf, 0xbc, 0xff, 0xe8, 0xe0, 0xc3, 0xff, 0xd2, 0xc4, 0x92, 0xff,
+ 0xb8, 0xa4, 0x62, 0xff, 0x83, 0x76, 0x46, 0xff, 0x00, 0x00, 0x00, 0xda,
+ 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x53, 0xf0, 0xe6, 0xbe, 0xff, 0xdf, 0xd0, 0x99, 0xff,
+ 0xed, 0xe0, 0xb1, 0xff, 0xee, 0xe2, 0xb3, 0xff, 0xeb, 0xdc, 0xa7, 0xff,
+ 0xe6, 0xd5, 0x97, 0xff, 0xdd, 0xc9, 0x82, 0xff, 0xd3, 0xbf, 0x72, 0xff,
+ 0xcd, 0xb8, 0x6d, 0xff, 0xc9, 0xb4, 0x6a, 0xff, 0xbc, 0xaa, 0x65, 0xff,
+ 0x9f, 0x8f, 0x55, 0xff, 0x72, 0x67, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xd9,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x53, 0xf6, 0xf1, 0xde, 0xff, 0xf1, 0xe9, 0xcb, 0xff,
+ 0xe6, 0xdc, 0xb9, 0xff, 0xd4, 0xc9, 0xa3, 0xff, 0xcc, 0xc1, 0x9a, 0xff,
+ 0xc3, 0xb4, 0x80, 0xff, 0xb9, 0xa8, 0x6c, 0xff, 0xb2, 0xa0, 0x60, 0xff,
+ 0xac, 0x9b, 0x5c, 0xff, 0xa5, 0x95, 0x58, 0xff, 0xbf, 0xb3, 0x8b, 0xff,
+ 0xcc, 0xbf, 0x92, 0xff, 0x92, 0x82, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xd8,
+ 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x4c, 0x89, 0x7f, 0x58, 0xfc, 0xe4, 0xd3, 0x9b, 0xff,
+ 0xf1, 0xea, 0xce, 0xff, 0xf8, 0xf6, 0xeb, 0xff, 0xf8, 0xf5, 0xe9, 0xff,
+ 0xef, 0xe7, 0xcc, 0xff, 0xeb, 0xe2, 0xc2, 0xff, 0xe7, 0xde, 0xbc, 0xff,
+ 0xe7, 0xde, 0xc1, 0xff, 0xd9, 0xd0, 0xa9, 0xff, 0xc4, 0xb5, 0x7f, 0xff,
+ 0xa1, 0x90, 0x56, 0xff, 0x13, 0x11, 0x0a, 0xfd, 0x00, 0x00, 0x00, 0xc5,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x29, 0x29, 0x27, 0x1e, 0xcf, 0xd1, 0xc1, 0x85, 0xff,
+ 0xe0, 0xd1, 0x98, 0xff, 0xe0, 0xd2, 0xa0, 0xff, 0xe0, 0xd1, 0x9d, 0xff,
+ 0xda, 0xc9, 0x8f, 0xff, 0xd0, 0xbc, 0x7a, 0xff, 0xc7, 0xb4, 0x6c, 0xff,
+ 0xc3, 0xb0, 0x68, 0xff, 0xbe, 0xaa, 0x66, 0xff, 0xa7, 0x97, 0x59, 0xff,
+ 0x3d, 0x36, 0x1f, 0xff, 0x05, 0x04, 0x02, 0xec, 0x00, 0x00, 0x00, 0x73,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0e, 0x02, 0x02, 0x02, 0x64, 0x03, 0x03, 0x03, 0xd6,
+ 0x45, 0x42, 0x37, 0xf6, 0x9e, 0x95, 0x72, 0xff, 0xae, 0xa4, 0x7f, 0xff,
+ 0xaa, 0x9e, 0x73, 0xff, 0x92, 0x85, 0x53, 0xff, 0x84, 0x78, 0x47, 0xff,
+ 0x6b, 0x62, 0x42, 0xff, 0x35, 0x30, 0x1c, 0xfe, 0x28, 0x24, 0x15, 0xfa,
+ 0x02, 0x02, 0x01, 0xec, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x46,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xca, 0x2a, 0x2a, 0x2a, 0xfe,
+ 0x83, 0x83, 0x83, 0xff, 0x76, 0x76, 0x76, 0xff, 0x24, 0x24, 0x24, 0xff,
+ 0x19, 0x19, 0x19, 0xff, 0x00, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x00, 0x8f,
+ 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x21,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x3d, 0x16, 0x16, 0x16, 0xcd,
+ 0x62, 0x62, 0x62, 0xfe, 0x70, 0x70, 0x70, 0xff, 0x1f, 0x1f, 0x1f, 0xff,
+ 0x05, 0x05, 0x05, 0xf1, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x45,
+ 0x00, 0x00, 0x00, 0xae, 0x00, 0x00, 0x00, 0xce, 0x00, 0x00, 0x00, 0xc9,
+ 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x3b, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0xcb, 0x30, 0x00, 0x04, 0xcb, 0x44,
+ 0x67, 0x74, 0x6b, 0x2d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, 0x2d,
+ 0x72, 0x69, 0x67, 0x68, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0xcb, 0x58, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x04, 0xd4, 0x80, 0x00, 0x04, 0xcb, 0x60, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8b, 0x8b, 0x8b, 0xff,
+ 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0x88, 0x88, 0x88, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x8b, 0x8b, 0x8b, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8c, 0x8c, 0x8c, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x8d, 0x8d, 0x8d, 0xff, 0x8e, 0x8e, 0x8e, 0xff, 0x8f, 0x8f, 0x8f, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x91, 0x91, 0x91, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x93, 0x93, 0x93, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x91, 0x91, 0x91, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x94, 0x94, 0x94, 0xff, 0x95, 0x95, 0x95, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0x93, 0x93, 0x93, 0xff, 0x94, 0x94, 0x94, 0xff,
+ 0x95, 0x95, 0x95, 0xff, 0x95, 0x95, 0x95, 0xff, 0x96, 0x96, 0x96, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x92, 0x92, 0x92, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x94, 0x94, 0x94, 0xff, 0x95, 0x95, 0x95, 0xff,
+ 0x95, 0x95, 0x95, 0xff, 0x96, 0x96, 0x96, 0xff, 0x96, 0x96, 0x96, 0xff,
+ 0x96, 0x96, 0x96, 0xff, 0x97, 0x97, 0x97, 0xff, 0x98, 0x98, 0x98, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xd4, 0x88,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x6f, 0x6f, 0x6f, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x70, 0x70, 0x70, 0xff, 0x71, 0x71, 0x71, 0xff, 0x72, 0x72, 0x72, 0xff,
+ 0x72, 0x72, 0x72, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x74, 0x74, 0x74, 0xff, 0x75, 0x75, 0x75, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x74, 0x74, 0x74, 0xff, 0x75, 0x75, 0x75, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x75, 0x75, 0x75, 0xff, 0x75, 0x75, 0x75, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x77, 0x77, 0x77, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0x30, 0x00, 0x04, 0xd8, 0xb4,
+ 0x00, 0x04, 0xd8, 0xbc, 0x67, 0x74, 0x6b, 0x2d, 0x79, 0x65, 0x73, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0xd8, 0xc8,
+ 0x00, 0x04, 0xd8, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x06, 0x58, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x06, 0x58,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0x01, 0x03, 0x03, 0x03, 0xff, 0x09, 0x0c, 0x07, 0xff,
+ 0x36, 0x50, 0x2d, 0xff, 0x54, 0x7b, 0x48, 0xff, 0x61, 0x91, 0x52, 0xff,
+ 0x46, 0x70, 0x39, 0xff, 0x26, 0x42, 0x1d, 0xff, 0x03, 0x06, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x08, 0x08, 0x08, 0xff,
+ 0x40, 0x56, 0x39, 0xff, 0x85, 0xaa, 0x79, 0xff, 0x8c, 0xb2, 0x81, 0xff,
+ 0x85, 0xac, 0x79, 0xff, 0x72, 0x9e, 0x65, 0xff, 0x64, 0x94, 0x55, 0xff,
+ 0x59, 0x89, 0x48, 0xff, 0x4a, 0x79, 0x3c, 0xff, 0x1d, 0x35, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0a, 0x0a, 0x0a, 0xc3, 0x58, 0x70, 0x4f, 0xff, 0x9f, 0xbf, 0x94, 0xff,
+ 0xaf, 0xc9, 0xa6, 0xff, 0xab, 0xc7, 0xa2, 0xff, 0x9c, 0xbc, 0x91, 0xff,
+ 0x80, 0xa9, 0x74, 0xff, 0x69, 0x99, 0x5a, 0xff, 0x59, 0x89, 0x48, 0xff,
+ 0x4e, 0x7e, 0x3f, 0xff, 0x48, 0x76, 0x37, 0xff, 0x22, 0x40, 0x19, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0xff, 0x3e, 0x54, 0x39, 0xff,
+ 0x9f, 0xc0, 0x95, 0xff, 0xbc, 0xd2, 0xb5, 0xff, 0xc8, 0xd9, 0xc2, 0xff,
+ 0xc0, 0xd3, 0xb8, 0xff, 0xa6, 0xc3, 0x9c, 0xff, 0x89, 0xb0, 0x7d, 0xff,
+ 0x67, 0x98, 0x57, 0xff, 0x55, 0x8a, 0x45, 0xff, 0x4d, 0x80, 0x3d, 0xff,
+ 0x45, 0x77, 0x36, 0xff, 0x3f, 0x70, 0x30, 0xff, 0x18, 0x30, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0e, 0x11, 0x0c, 0xff, 0x88, 0xad, 0x7c, 0xff, 0xb5, 0xce, 0xad, 0xff,
+ 0xcd, 0xdd, 0xc8, 0xff, 0xdf, 0xe8, 0xdb, 0xff, 0xcc, 0xdc, 0xc7, 0xff,
+ 0xad, 0xc8, 0xa5, 0xff, 0x87, 0xaf, 0x7a, 0xff, 0x66, 0x99, 0x56, 0xff,
+ 0x51, 0x89, 0x40, 0xff, 0x4a, 0x82, 0x39, 0xff, 0x44, 0x79, 0x34, 0xff,
+ 0x3c, 0x6e, 0x2d, 0xff, 0x34, 0x63, 0x26, 0xff, 0x02, 0x04, 0x01, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x3e, 0x57, 0x36, 0xff,
+ 0x9a, 0xbb, 0x8e, 0xff, 0xbe, 0xd3, 0xb6, 0xff, 0xd2, 0xe0, 0xcd, 0xff,
+ 0xe4, 0xed, 0xe2, 0xff, 0xd1, 0xe0, 0xcd, 0xff, 0xaa, 0xc6, 0xa1, 0xff,
+ 0x84, 0xae, 0x77, 0xff, 0x63, 0x96, 0x53, 0xff, 0x4d, 0x88, 0x3b, 0xff,
+ 0x49, 0x82, 0x35, 0xff, 0x43, 0x79, 0x30, 0xff, 0x3a, 0x6f, 0x2a, 0xff,
+ 0x38, 0x68, 0x27, 0xff, 0x1a, 0x34, 0x11, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x63, 0x86, 0x57, 0xff, 0x9b, 0xbc, 0x91, 0xff,
+ 0xb6, 0xcd, 0xae, 0xff, 0xc0, 0xd4, 0xb9, 0xff, 0xc5, 0xd8, 0xbf, 0xff,
+ 0xb5, 0xcd, 0xac, 0xff, 0x95, 0xb8, 0x89, 0xff, 0x7a, 0xa6, 0x6b, 0xff,
+ 0x5c, 0x92, 0x4b, 0xff, 0x4b, 0x86, 0x39, 0xff, 0x44, 0x7f, 0x32, 0xff,
+ 0x40, 0x79, 0x2e, 0xff, 0x39, 0x6e, 0x29, 0xff, 0x38, 0x68, 0x29, 0xff,
+ 0x2f, 0x56, 0x23, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x6f, 0x9b, 0x62, 0xff, 0x8f, 0xb3, 0x84, 0xff, 0xa1, 0xbf, 0x98, 0xff,
+ 0xa3, 0xc1, 0x9a, 0xff, 0xa0, 0xbe, 0x95, 0xff, 0x92, 0xb6, 0x87, 0xff,
+ 0x80, 0xa9, 0x72, 0xff, 0x67, 0x9a, 0x57, 0xff, 0x52, 0x8b, 0x40, 0xff,
+ 0x47, 0x82, 0x35, 0xff, 0x42, 0x7d, 0x30, 0xff, 0x3f, 0x75, 0x2c, 0xff,
+ 0x42, 0x72, 0x31, 0xff, 0x4f, 0x79, 0x42, 0xff, 0x51, 0x77, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x56, 0x7b, 0x4a, 0xff,
+ 0x81, 0xa8, 0x75, 0xff, 0x8d, 0xb0, 0x81, 0xff, 0x8b, 0xaf, 0x7e, 0xff,
+ 0x80, 0xa9, 0x74, 0xff, 0x76, 0xa2, 0x69, 0xff, 0x67, 0x99, 0x58, 0xff,
+ 0x57, 0x8c, 0x45, 0xff, 0x49, 0x84, 0x37, 0xff, 0x41, 0x7c, 0x2f, 0xff,
+ 0x3e, 0x77, 0x2c, 0xff, 0x41, 0x76, 0x31, 0xff, 0x57, 0x80, 0x4b, 0xff,
+ 0x71, 0x91, 0x66, 0xff, 0x5a, 0x76, 0x51, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x33, 0x4d, 0x2a, 0xff, 0x71, 0x99, 0x64, 0xff,
+ 0x79, 0x9f, 0x6c, 0xff, 0x73, 0x9d, 0x66, 0xff, 0x6c, 0x98, 0x5d, 0xff,
+ 0x5e, 0x90, 0x4f, 0xff, 0x57, 0x8a, 0x45, 0xff, 0x4b, 0x83, 0x3a, 0xff,
+ 0x42, 0x7c, 0x31, 0xff, 0x3f, 0x78, 0x2d, 0xff, 0x42, 0x78, 0x31, 0xff,
+ 0x53, 0x7f, 0x46, 0xff, 0x74, 0x93, 0x6a, 0xff, 0x82, 0x9d, 0x7a, 0xff,
+ 0x3e, 0x53, 0x36, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x07, 0x03, 0xff, 0x5b, 0x84, 0x4f, 0xff, 0x67, 0x90, 0x59, 0xff,
+ 0x63, 0x8e, 0x55, 0xff, 0x5c, 0x8b, 0x4e, 0xff, 0x58, 0x88, 0x47, 0xff,
+ 0x4d, 0x82, 0x3d, 0xff, 0x47, 0x7d, 0x36, 0xff, 0x42, 0x77, 0x30, 0xff,
+ 0x42, 0x77, 0x32, 0xff, 0x56, 0x82, 0x49, 0xff, 0x6f, 0x90, 0x65, 0xff,
+ 0x87, 0xa0, 0x7f, 0xff, 0x76, 0x91, 0x6e, 0xff, 0x05, 0x07, 0x04, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x25, 0x3d, 0x1e, 0xff, 0x55, 0x7f, 0x48, 0xff, 0x59, 0x82, 0x4b, 0xff,
+ 0x55, 0x81, 0x48, 0xff, 0x4f, 0x7e, 0x41, 0xff, 0x4a, 0x7a, 0x3b, 0xff,
+ 0x44, 0x77, 0x34, 0xff, 0x47, 0x76, 0x37, 0xff, 0x5b, 0x85, 0x4e, 0xff,
+ 0x76, 0x97, 0x6c, 0xff, 0x85, 0xa0, 0x7d, 0xff, 0x80, 0x9a, 0x77, 0xff,
+ 0x2f, 0x44, 0x29, 0xff, 0x00, 0x00, 0x00, 0xff, 0x05, 0x07, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x2f, 0x4a, 0x27, 0xff, 0x4b, 0x72, 0x3f, 0xff, 0x4a, 0x73, 0x3e, 0xff,
+ 0x4b, 0x75, 0x3e, 0xff, 0x4b, 0x74, 0x3d, 0xff, 0x4c, 0x76, 0x3f, 0xff,
+ 0x60, 0x85, 0x54, 0xff, 0x77, 0x96, 0x6d, 0xff, 0x87, 0xa0, 0x7f, 0xff,
+ 0x7e, 0x98, 0x75, 0xff, 0x3b, 0x54, 0x33, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x20, 0x36, 0x19, 0xff, 0x43, 0x65, 0x38, 0xff, 0x4e, 0x71, 0x42, 0xff,
+ 0x58, 0x7b, 0x4e, 0xff, 0x69, 0x86, 0x5f, 0xff, 0x76, 0x92, 0x6d, 0xff,
+ 0x81, 0x9a, 0x79, 0xff, 0x72, 0x8d, 0x6a, 0xff, 0x2c, 0x41, 0x26, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x03, 0x05, 0x02, 0xff, 0x2c, 0x42, 0x25, 0xff, 0x4f, 0x6a, 0x47, 0xff,
+ 0x6a, 0x85, 0x62, 0xff, 0x5e, 0x77, 0x56, 0xff, 0x37, 0x4c, 0x2f, 0xff,
+ 0x05, 0x07, 0x04, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x05, 0x02, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x05, 0x07, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x04, 0xdf, 0x3c, 0x00, 0x04, 0xdf, 0x50, 0x67, 0x74, 0x6b, 0x2d,
+ 0x73, 0x6f, 0x72, 0x74, 0x2d, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69,
+ 0x6e, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x04, 0xdf, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0xe8, 0x8c,
+ 0x00, 0x04, 0xdf, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xdd, 0xdf, 0xd2, 0xff,
+ 0x8b, 0x8e, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe5, 0xe7, 0xdd, 0xff, 0x84, 0xa7, 0x7e, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe5, 0xe7, 0xdd, 0xff, 0x81, 0xa5, 0x7c, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xee, 0xe8, 0xff, 0x81, 0xa5, 0x7b, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xec, 0xed, 0xe6, 0xff, 0x81, 0xa5, 0x7b, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe5, 0xe7, 0xdd, 0xff, 0x81, 0xa5, 0x7c, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe5, 0xe7, 0xdd, 0xff, 0x81, 0xa5, 0x7c, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe5, 0xe7, 0xdd, 0xff, 0x7e, 0xa3, 0x79, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe5, 0xe7, 0xdd, 0xff, 0x7d, 0xa3, 0x77, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xdd, 0xdf, 0xd3, 0xff, 0x7d, 0xa3, 0x78, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc9, 0xd5, 0xc4, 0xff, 0x7e, 0xa3, 0x78, 0xff,
+ 0x58, 0x65, 0x46, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x7e, 0x73, 0xff,
+ 0xdf, 0xe7, 0xde, 0xff, 0xcc, 0xda, 0xca, 0xff, 0x90, 0xb0, 0x8c, 0xff,
+ 0x76, 0x98, 0x6d, 0xff, 0x6c, 0x85, 0x5e, 0xff, 0x22, 0x23, 0x1e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x3f, 0x44, 0x3b, 0xff, 0xc8, 0xd8, 0xc7, 0xff, 0x9d, 0xb8, 0x9a, 0xff,
+ 0x76, 0x96, 0x6b, 0xff, 0x3d, 0x42, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x56, 0x5b, 0x4e, 0xff, 0x9e, 0xba, 0x9a, 0xff,
+ 0x3c, 0x42, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x5e, 0x61, 0x54, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xe8, 0x94, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x0f, 0x0f, 0x0e, 0xff, 0x2c, 0x2d, 0x28, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf1, 0xf0, 0xff, 0xcd, 0xd8, 0xc8, 0xff,
+ 0x74, 0x7c, 0x65, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 0xee, 0xe8, 0xff,
+ 0x9f, 0xb9, 0x99, 0xff, 0x58, 0x67, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xed, 0xee, 0xe8, 0xff, 0xa0, 0xba, 0x9b, 0xff, 0x58, 0x67, 0x48, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xee, 0xe8, 0xff, 0xa0, 0xba, 0x9a, 0xff,
+ 0x58, 0x67, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 0xee, 0xe8, 0xff,
+ 0x9e, 0xb8, 0x99, 0xff, 0x58, 0x67, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xed, 0xee, 0xe8, 0xff, 0x9e, 0xb8, 0x98, 0xff, 0x57, 0x66, 0x48, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xee, 0xe8, 0xff, 0x9c, 0xb7, 0x96, 0xff,
+ 0x57, 0x66, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xed, 0xee, 0xe8, 0xff,
+ 0x9a, 0xb5, 0x93, 0xff, 0x57, 0x66, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0xff, 0x09, 0x09, 0x09, 0xff,
+ 0xed, 0xee, 0xe8, 0xff, 0x95, 0xb3, 0x90, 0xff, 0x59, 0x69, 0x4a, 0xff,
+ 0x05, 0x06, 0x04, 0xff, 0x01, 0x01, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x13, 0xff,
+ 0x82, 0x86, 0x7d, 0xff, 0xc5, 0xd0, 0xc3, 0xff, 0xa3, 0xbd, 0xa0, 0xff,
+ 0x78, 0x99, 0x6f, 0xff, 0x51, 0x61, 0x47, 0xff, 0x11, 0x12, 0x0f, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x12, 0x14, 0x11, 0xff, 0x66, 0x6e, 0x63, 0xff,
+ 0x9e, 0xb4, 0x9a, 0xff, 0x64, 0x7a, 0x5d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1d, 0x1e, 0x1a, 0xff, 0x64, 0x6f, 0x5e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0xec, 0xc0, 0x00, 0x04, 0xec, 0xd4,
+ 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x6e, 0x65,
+ 0x78, 0x74, 0x2d, 0x6c, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0xec, 0xe8, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x04, 0xec, 0xf0, 0x00, 0x02, 0xac, 0x8c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0xb5, 0xb4, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x04, 0xed, 0x04, 0x00, 0x04, 0xed, 0x1c, 0x67, 0x74, 0x6b, 0x2d,
+ 0x72, 0x65, 0x76, 0x65, 0x72, 0x74, 0x2d, 0x74, 0x6f, 0x2d, 0x73, 0x61,
+ 0x76, 0x65, 0x64, 0x2d, 0x6c, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0xed, 0x30, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x04, 0xf6, 0x58, 0x00, 0x04, 0xed, 0x38, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x30, 0x2c, 0x19, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x36, 0x32, 0x20, 0xff,
+ 0xef, 0xe5, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x8c,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe2, 0xcb, 0x79, 0x15, 0x38, 0x34, 0x22, 0xff, 0xee, 0xe7, 0xc4, 0xff,
+ 0xee, 0xd6, 0x83, 0xff, 0x00, 0x00, 0x00, 0xff, 0x23, 0x1f, 0x13, 0xff,
+ 0x2a, 0x25, 0x16, 0xff, 0x12, 0x10, 0x0a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x36, 0x32, 0x20, 0xff, 0xef, 0xe7, 0xc1, 0xff, 0xee, 0xd6, 0x81, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xcc, 0xb7, 0x6d, 0xff, 0x96, 0x86, 0x4f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x54, 0x43, 0x40, 0xff, 0xe2, 0xb7, 0xaf, 0xff, 0xe9, 0xbc, 0xb3, 0xff,
+ 0xe9, 0xb7, 0xad, 0xff, 0xe9, 0xb8, 0xaf, 0xff, 0xe9, 0xb7, 0xad, 0xff,
+ 0xe9, 0xb8, 0xaf, 0xff, 0xe9, 0xb9, 0xb1, 0xff, 0xe5, 0xbf, 0xba, 0xff,
+ 0x73, 0x72, 0x77, 0xff, 0xb3, 0xcd, 0xe3, 0xff, 0xa1, 0xbe, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0d, 0x32, 0x2e, 0x1b, 0xff,
+ 0xee, 0xe4, 0xc0, 0xff, 0xee, 0xe0, 0xa4, 0xff, 0xee, 0xe0, 0xa7, 0xff,
+ 0xee, 0xe0, 0xa6, 0xff, 0xee, 0xe0, 0xa5, 0xff, 0xee, 0xe0, 0xa5, 0xff,
+ 0xee, 0xd7, 0x8e, 0xff, 0xee, 0xd7, 0x84, 0xff, 0xaf, 0x9e, 0x5e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x84, 0x48, 0x3f, 0xff, 0xca, 0x7b, 0x6e, 0xff,
+ 0xd1, 0x7b, 0x6c, 0xff, 0xce, 0x72, 0x65, 0xff, 0xcf, 0x72, 0x64, 0xff,
+ 0xce, 0x75, 0x67, 0xff, 0xc4, 0x67, 0x5b, 0xff, 0xc3, 0x65, 0x58, 0xff,
+ 0x62, 0x61, 0x69, 0xff, 0x87, 0xa3, 0xb7, 0xff, 0x56, 0x71, 0x87, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18, 0x30, 0x2c, 0x19, 0xff,
+ 0xa2, 0x7d, 0x31, 0xff, 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff,
+ 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff, 0xd2, 0x98, 0x15, 0xff,
+ 0xd7, 0xa4, 0x2a, 0xff, 0xde, 0xb4, 0x46, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xa4, 0x93, 0x57, 0xff, 0x00, 0x00, 0x00, 0xff, 0x96, 0x53, 0x4e, 0xff,
+ 0xc5, 0x76, 0x6c, 0xff, 0xc0, 0x69, 0x61, 0xff, 0xcc, 0x7c, 0x73, 0xff,
+ 0xc2, 0x65, 0x5b, 0xff, 0xc3, 0x64, 0x59, 0xff, 0xba, 0x6c, 0x6a, 0xff,
+ 0x68, 0x66, 0x70, 0xff, 0x81, 0x9e, 0xb6, 0xff, 0x54, 0x70, 0x86, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00,
+ 0x30, 0x2c, 0x19, 0xff, 0x9d, 0x78, 0x28, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x76, 0x52, 0x04, 0xff, 0x9e, 0x70, 0x09, 0xff, 0xd9, 0xaa, 0x35, 0xff,
+ 0xcc, 0xb7, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x84, 0x84, 0x84, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x83, 0xa0, 0xb8, 0xff, 0x52, 0x6c, 0x80, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x15, 0x2b, 0x27, 0x19, 0xff, 0xa3, 0x7c, 0x25, 0xff,
+ 0xd1, 0x95, 0x0e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x62, 0x62, 0x62, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5c, 0x40, 0x03, 0xff, 0xb0, 0x7d, 0x0a, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x6b, 0x6b, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x83, 0xa0, 0xb8, 0xff, 0x4f, 0x69, 0x7c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0x36, 0x32, 0x20, 0xff,
+ 0x8d, 0x6a, 0x19, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5a, 0x5a, 0x5a, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x98, 0x6b, 0x08, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x5c, 0x5c, 0x5c, 0xff,
+ 0xb9, 0xb9, 0xb9, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x88, 0xa4, 0xbb, 0xff, 0x48, 0x62, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xc4, 0xd7, 0xff,
+ 0x22, 0x1e, 0x11, 0xff, 0x0b, 0x0b, 0x06, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0x00, 0x00, 0x00, 0xff, 0xae, 0x91, 0x41, 0xff,
+ 0x84, 0x76, 0x45, 0xff, 0x00, 0x00, 0x00, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x88, 0xa4, 0xbb, 0xff, 0x46, 0x5e, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb1, 0xc6, 0xe0, 0xff,
+ 0x64, 0x80, 0x92, 0xff, 0x31, 0x31, 0x31, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe0, 0xc9, 0x78, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x57, 0x57, 0x57, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x87, 0xa3, 0xba, 0xff, 0x45, 0x5c, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xad, 0xcb, 0xe4, 0xff,
+ 0x7a, 0x9c, 0xb1, 0xff, 0x6c, 0x6c, 0x6c, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc9, 0xb4, 0x6b, 0xff, 0x81, 0x74, 0x44, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x80, 0x80, 0x80, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcd, 0xcd, 0xcd, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x87, 0xa3, 0xba, 0xff, 0x54, 0x60, 0x69, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb0, 0xd1, 0xe4, 0xff,
+ 0x82, 0xa0, 0xb5, 0xff, 0x71, 0x59, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0x9c, 0x5c, 0xff, 0x96, 0x86, 0x4f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x6a, 0x6a, 0x6a, 0xff, 0xda, 0xda, 0xda, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x83, 0xa0, 0xb8, 0xff, 0x51, 0x5c, 0x64, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xce, 0xe3, 0xff,
+ 0x7b, 0x9b, 0xb2, 0xff, 0x79, 0x8d, 0x99, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x31, 0x31, 0x31, 0xff,
+ 0x4d, 0x4d, 0x4d, 0xff, 0x67, 0x67, 0x67, 0xff, 0x66, 0x6a, 0x6d, 0xff,
+ 0x6e, 0x6e, 0x6e, 0xff, 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0x73, 0x73, 0x73, 0xff, 0x69, 0x69, 0x69, 0xff,
+ 0x6f, 0x77, 0x7e, 0xff, 0x86, 0xa2, 0xb9, 0xff, 0x3a, 0x51, 0x5d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa9, 0xc9, 0xe2, 0xff,
+ 0x74, 0x94, 0xaf, 0xff, 0x81, 0x9e, 0xb6, 0xff, 0x80, 0x9d, 0xb5, 0xff,
+ 0x7d, 0x97, 0xad, 0xff, 0x73, 0x8c, 0xa2, 0xff, 0x6f, 0x89, 0x9f, 0xff,
+ 0x72, 0x8d, 0xa3, 0xff, 0x7b, 0x96, 0xad, 0xff, 0x77, 0x95, 0xaf, 0xff,
+ 0x86, 0xa2, 0xb9, 0xff, 0x85, 0xa1, 0xb8, 0xff, 0x85, 0xa1, 0xb8, 0xff,
+ 0x87, 0xa3, 0xba, 0xff, 0x82, 0x9f, 0xb7, 0xff, 0x8c, 0xa7, 0xbd, 0xff,
+ 0x83, 0xa0, 0xb8, 0xff, 0x8a, 0xa5, 0xbb, 0xff, 0x36, 0x4a, 0x59, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xab, 0xc4, 0xe2, 0xff,
+ 0x72, 0x94, 0xad, 0xff, 0x6f, 0x90, 0xac, 0xff, 0x70, 0x91, 0xad, 0xff,
+ 0x3f, 0x48, 0x4c, 0xff, 0x3f, 0x47, 0x4d, 0xff, 0x4e, 0x56, 0x5e, 0xff,
+ 0x5e, 0x6b, 0x75, 0xff, 0x5d, 0x6a, 0x74, 0xff, 0x5b, 0x68, 0x70, 0xff,
+ 0x5a, 0x66, 0x6f, 0xff, 0x58, 0x63, 0x6b, 0xff, 0x57, 0x63, 0x6a, 0xff,
+ 0x52, 0x5b, 0x63, 0xff, 0x3b, 0x53, 0x60, 0xff, 0x39, 0x42, 0x4b, 0xff,
+ 0x78, 0x97, 0xb3, 0xff, 0xa4, 0xb9, 0xcb, 0xff, 0x36, 0x48, 0x53, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xc9, 0xe2, 0xff,
+ 0x70, 0x91, 0xaa, 0xff, 0x6f, 0x8f, 0xa7, 0xff, 0x4a, 0x53, 0x59, 0xff,
+ 0x97, 0x93, 0x8c, 0xff, 0xde, 0xdc, 0xd9, 0xff, 0xe2, 0xe0, 0xdd, 0xff,
+ 0xea, 0xe9, 0xe7, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xea, 0xe9, 0xe7, 0xff,
+ 0xdf, 0xdd, 0xda, 0xff, 0xcf, 0xce, 0xc9, 0xff, 0xc9, 0xc6, 0xc0, 0xff,
+ 0x9b, 0x96, 0x8e, 0xff, 0x56, 0x61, 0x68, 0xff, 0x4b, 0x65, 0x7a, 0xff,
+ 0x54, 0x73, 0x8c, 0xff, 0xaa, 0xc6, 0xdd, 0xff, 0x34, 0x46, 0x4e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xaa, 0xc9, 0xe1, 0xff,
+ 0x6c, 0x8e, 0xa6, 0xff, 0x6c, 0x8c, 0xa4, 0xff, 0x40, 0x47, 0x4d, 0xff,
+ 0xda, 0xd8, 0xd3, 0xff, 0xe7, 0xe6, 0xe2, 0xff, 0x67, 0x65, 0x5e, 0xff,
+ 0x52, 0x4f, 0x47, 0xff, 0x52, 0x4f, 0x47, 0xff, 0xd9, 0xd7, 0xd4, 0xff,
+ 0xc7, 0xc5, 0xbf, 0xff, 0xc0, 0xbc, 0xb5, 0xff, 0xb8, 0xb3, 0xab, 0xff,
+ 0xcf, 0xce, 0xc9, 0xff, 0x43, 0x4c, 0x54, 0xff, 0x4d, 0x69, 0x7f, 0xff,
+ 0x4f, 0x6f, 0x84, 0xff, 0xb3, 0xca, 0xdc, 0xff, 0x31, 0x3e, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa8, 0xc8, 0xe1, 0xff,
+ 0x6b, 0x8d, 0xa6, 0xff, 0x72, 0x8f, 0xa4, 0xff, 0x40, 0x47, 0x4d, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xf0, 0xef, 0xec, 0xff, 0x67, 0x65, 0x5e, 0xff,
+ 0x52, 0x4f, 0x47, 0xff, 0x52, 0x4f, 0x47, 0xff, 0xcd, 0xca, 0xc6, 0xff,
+ 0xc2, 0xbf, 0xb9, 0xff, 0xc0, 0xbc, 0xb5, 0xff, 0xca, 0xc6, 0xc0, 0xff,
+ 0xdc, 0xda, 0xd7, 0xff, 0x4b, 0x55, 0x5d, 0xff, 0x4e, 0x69, 0x7f, 0xff,
+ 0x4f, 0x6f, 0x84, 0xff, 0xba, 0xcc, 0xdc, 0xff, 0x31, 0x3e, 0x49, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa4, 0xc4, 0xde, 0xff,
+ 0x69, 0x8b, 0xa3, 0xff, 0x70, 0x8a, 0xa1, 0xff, 0x38, 0x3e, 0x43, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0x51, 0x4e, 0x46, 0xff,
+ 0x4f, 0x4c, 0x44, 0xff, 0x4f, 0x4c, 0x44, 0xff, 0xc7, 0xc4, 0xbe, 0xff,
+ 0xc0, 0xbc, 0xb5, 0xff, 0xcb, 0xc8, 0xc2, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0x47, 0x51, 0x58, 0xff, 0x4e, 0x68, 0x79, 0xff,
+ 0x4d, 0x6c, 0x80, 0xff, 0xa3, 0xc3, 0xdb, 0xff, 0x38, 0x3f, 0x43, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x77, 0x89, 0x99, 0xff,
+ 0x6e, 0x89, 0x9e, 0xff, 0x65, 0x85, 0x9c, 0xff, 0x33, 0x38, 0x3c, 0xff,
+ 0xd7, 0xd4, 0xd0, 0xff, 0xd6, 0xd4, 0xd0, 0xff, 0x4e, 0x4a, 0x43, 0xff,
+ 0x4d, 0x49, 0x42, 0xff, 0x4d, 0x49, 0x42, 0xff, 0xc0, 0xbc, 0xb5, 0xff,
+ 0xd1, 0xce, 0xc9, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0x45, 0x4f, 0x55, 0xff, 0x48, 0x61, 0x73, 0xff,
+ 0x4d, 0x66, 0x78, 0xff, 0xa1, 0xc1, 0xda, 0xff, 0x37, 0x3c, 0x40, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x0c, 0x0d, 0x0f, 0xff,
+ 0x4e, 0x5e, 0x6a, 0xff, 0x5b, 0x6e, 0x7c, 0xff, 0x4f, 0x5b, 0x62, 0xff,
+ 0xa4, 0xa0, 0x99, 0xff, 0xc0, 0xbc, 0xb5, 0xff, 0xb8, 0xb3, 0xab, 0xff,
+ 0xcc, 0xc9, 0xc3, 0xff, 0xcc, 0xc9, 0xc3, 0xff, 0xd7, 0xd5, 0xd1, 0xff,
+ 0xe4, 0xe2, 0xe0, 0xff, 0xea, 0xe9, 0xe7, 0xff, 0xdd, 0xdb, 0xd7, 0xff,
+ 0xb8, 0xb5, 0xb0, 0xff, 0x3e, 0x47, 0x4d, 0xff, 0x4a, 0x61, 0x76, 0xff,
+ 0x4a, 0x60, 0x70, 0xff, 0x9b, 0xc3, 0xd8, 0xff, 0x36, 0x3c, 0x41, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x28, 0x32, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x04, 0xf6, 0x60,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x76, 0x6b, 0x3f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf8, 0xfa, 0xff,
+ 0xcb, 0xdd, 0xeb, 0xff, 0x5d, 0x53, 0x32, 0xff, 0xef, 0xe5, 0xba, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xbf, 0xd5, 0xe8, 0xff,
+ 0xbf, 0xd5, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xdc, 0xe5, 0xe8, 0xff, 0x5a, 0x52, 0x30, 0xff, 0xee, 0xe5, 0xbb, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x23, 0x1f, 0x13, 0xff,
+ 0x2a, 0x25, 0x16, 0xff, 0x12, 0x10, 0x0a, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0xab, 0xab, 0xab, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0x54, 0x69, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x57, 0x4f, 0x2e, 0xff, 0xef, 0xe4, 0xb6, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xcc, 0xb7, 0x6d, 0xff, 0x96, 0x86, 0x4f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x63, 0x63, 0x63, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0x84, 0xa0, 0xb5, 0xff, 0x4f, 0x64, 0x75, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x4b, 0x44, 0x28, 0xff, 0xee, 0xe2, 0xb2, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0xaf, 0x9d, 0x5d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x91, 0x91, 0x91, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x49, 0x42, 0x27, 0xff,
+ 0x8f, 0x64, 0x06, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0xd7, 0xa3, 0x28, 0xff, 0xde, 0xb4, 0x46, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0xa4, 0x93, 0x57, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xcf, 0xcf, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x30, 0x2c, 0x19, 0xff, 0x8f, 0x64, 0x06, 0xff,
+ 0xd1, 0x94, 0x0c, 0xff, 0xd1, 0x94, 0x0c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x76, 0x52, 0x04, 0xff, 0x9e, 0x70, 0x09, 0xff,
+ 0xd9, 0xaa, 0x35, 0xff, 0xcc, 0xb7, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x66, 0x6e, 0x75, 0xff,
+ 0x27, 0x23, 0x15, 0xff, 0x98, 0x6b, 0x07, 0xff, 0xd1, 0x94, 0x0c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x73, 0x73, 0x73, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x5c, 0x40, 0x03, 0xff, 0xb0, 0x7d, 0x0a, 0xff, 0xee, 0xd6, 0x80, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x76, 0x76, 0x76, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x6c, 0x7e, 0x87, 0xff, 0x1e, 0x1a, 0x0f, 0xff,
+ 0x89, 0x66, 0x11, 0xff, 0x00, 0x00, 0x00, 0xff, 0x67, 0x6d, 0x73, 0xff,
+ 0x54, 0x59, 0x5e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x98, 0x6b, 0x08, 0xff,
+ 0xee, 0xd6, 0x80, 0xff, 0x00, 0x00, 0x00, 0xff, 0x57, 0x62, 0x6a, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff,
+ 0x6b, 0x7c, 0x85, 0xff, 0x22, 0x1e, 0x11, 0xff, 0x0b, 0x0b, 0x06, 0xff,
+ 0x57, 0x68, 0x76, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xae, 0x91, 0x41, 0xff, 0x84, 0x76, 0x45, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0x81, 0x9a, 0xae, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff,
+ 0x8d, 0xa9, 0xbe, 0xff, 0x8c, 0xa8, 0xbd, 0xff, 0x8e, 0x96, 0xa0, 0xff,
+ 0x61, 0x61, 0x61, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe0, 0xc9, 0x78, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x13, 0x1d, 0x24, 0xff, 0xa0, 0xa8, 0xaf, 0xff, 0x81, 0x9a, 0xae, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xe0, 0xed, 0xff, 0x8d, 0xa9, 0xbe, 0xff, 0x84, 0xa0, 0xb5, 0xff,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0x18, 0x30, 0x42, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xc9, 0xb4, 0x6b, 0xff, 0x81, 0x74, 0x44, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x0e, 0x22, 0x2d, 0xff, 0x58, 0x6d, 0x80, 0xff,
+ 0x97, 0xa5, 0xb0, 0xff, 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xe0, 0xed, 0xff, 0x86, 0xa4, 0xb9, 0xff,
+ 0x81, 0x9a, 0xae, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xae, 0x9c, 0x5c, 0xff, 0x96, 0x86, 0x4f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x62, 0x62, 0x62, 0xff, 0x11, 0x28, 0x35, 0xff,
+ 0x5a, 0x70, 0x82, 0xff, 0x9d, 0xa9, 0xb0, 0xff, 0x49, 0x60, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x78, 0x82, 0xff,
+ 0x83, 0x9e, 0xb2, 0xff, 0x81, 0x9a, 0xae, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0x21, 0x36, 0x48, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x66, 0x66, 0x66, 0xff, 0x8d, 0x8d, 0x8d, 0xff,
+ 0x11, 0x2c, 0x3a, 0xff, 0x5a, 0x70, 0x82, 0xff, 0x9f, 0xa9, 0xb0, 0xff,
+ 0x49, 0x60, 0x72, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0xff, 0x59, 0x63, 0x6d, 0xff, 0x4f, 0x64, 0x75, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0xc0, 0xc0, 0xc0, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x86, 0x86, 0x86, 0xff, 0x6e, 0x6e, 0x6e, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x2d, 0x39, 0x49, 0xff, 0x3e, 0x4f, 0x5c, 0xff,
+ 0x80, 0x87, 0x8f, 0xff, 0x1a, 0x31, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xe0,
+ 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x47, 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0xfa, 0x8c,
+ 0x00, 0x04, 0xfa, 0xa4, 0x67, 0x74, 0x6b, 0x2d, 0x6d, 0x65, 0x64, 0x69,
+ 0x61, 0x2d, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x2d, 0x6c, 0x74,
+ 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x04, 0xfa, 0xb8, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0xfa, 0xc0,
+ 0x00, 0x00, 0xde, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x04, 0xfa, 0xd4,
+ 0x00, 0x04, 0xfa, 0xe0, 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x64, 0x72, 0x6f,
+ 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x04, 0xfa, 0xf4, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x04, 0x1c,
+ 0x00, 0x04, 0xfa, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x5c, 0x5c, 0x75,
+ 0x40, 0x40, 0x40, 0xd1, 0x3b, 0x3b, 0x3b, 0xef, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x3d, 0x3d, 0x3d, 0xef,
+ 0x45, 0x45, 0x45, 0xcf, 0x87, 0x87, 0x87, 0x62, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x6b, 0x6b, 0x6b, 0x6b, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xcf, 0xcd, 0xcf, 0xff, 0xe2, 0xdf, 0xe2, 0xff, 0xf1, 0xeb, 0xf2, 0xff,
+ 0xef, 0xe9, 0xf1, 0xff, 0xe4, 0xde, 0xe9, 0xff, 0xb3, 0xb0, 0xb7, 0xff,
+ 0x8a, 0x8a, 0x8e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x85, 0x85, 0x85, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x35, 0x35, 0xc1,
+ 0x00, 0x00, 0x00, 0xff, 0xdd, 0xd8, 0xda, 0xff, 0xe9, 0xe0, 0xe4, 0xff,
+ 0xe1, 0xce, 0xdb, 0xff, 0xea, 0xda, 0xe8, 0xff, 0xef, 0xe3, 0xef, 0xff,
+ 0xea, 0xe1, 0xed, 0xff, 0xe8, 0xe1, 0xed, 0xff, 0xe3, 0xdf, 0xed, 0xff,
+ 0xda, 0xd8, 0xe8, 0xff, 0xc8, 0xc8, 0xd9, 0xff, 0x97, 0x99, 0x9f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x35, 0x35, 0x35, 0xd7, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0xd7, 0xcc, 0xcd, 0xff, 0xc8, 0xa7, 0xae, 0xff, 0xc1, 0x9d, 0xab, 0xff,
+ 0xd8, 0xc0, 0xce, 0xff, 0xe9, 0xd9, 0xe6, 0xff, 0xf0, 0xe5, 0xf0, 0xff,
+ 0xeb, 0xe3, 0xee, 0xff, 0xe7, 0xe2, 0xed, 0xff, 0xe2, 0xde, 0xeb, 0xff,
+ 0xd6, 0xd5, 0xe6, 0xff, 0xbe, 0xc2, 0xd6, 0xff, 0xb2, 0xbc, 0xcd, 0xff,
+ 0xbb, 0xc2, 0xca, 0xff, 0x58, 0x58, 0x58, 0xff, 0x28, 0x28, 0x28, 0xea,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x55, 0x55, 0x55, 0xc1, 0x5c, 0x5c, 0x5c, 0xff, 0xe8, 0xde, 0xe0, 0xff,
+ 0xb4, 0x7d, 0x83, 0xff, 0xab, 0x73, 0x79, 0xff, 0xbc, 0x92, 0x9e, 0xff,
+ 0xd4, 0xb8, 0xc6, 0xff, 0xe7, 0xd6, 0xe3, 0xff, 0xf1, 0xe5, 0xf1, 0xff,
+ 0xed, 0xe6, 0xf0, 0xff, 0xe8, 0xe3, 0xee, 0xff, 0xe2, 0xdf, 0xec, 0xff,
+ 0xd0, 0xd1, 0xe3, 0xff, 0xb6, 0xbd, 0xd1, 0xff, 0xb5, 0xc1, 0xd0, 0xff,
+ 0xba, 0xca, 0xd3, 0xff, 0xc4, 0xd0, 0xd3, 0xff, 0x8a, 0x8a, 0x8a, 0xff,
+ 0x44, 0x44, 0x44, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x89, 0x89, 0x6b,
+ 0x00, 0x00, 0x00, 0xff, 0xef, 0xea, 0xed, 0xff, 0xdb, 0xbf, 0xcb, 0xff,
+ 0xce, 0xa8, 0xb1, 0xff, 0xb2, 0x7b, 0x7f, 0xff, 0xb7, 0x85, 0x8c, 0xff,
+ 0xcd, 0xac, 0xb9, 0xff, 0xe3, 0xcf, 0xdd, 0xff, 0xf0, 0xe3, 0xef, 0xff,
+ 0xee, 0xe7, 0xf1, 0xff, 0xe9, 0xe5, 0xf0, 0xff, 0xdf, 0xdd, 0xeb, 0xff,
+ 0xc4, 0xc8, 0xdb, 0xff, 0xb5, 0xc0, 0xd0, 0xff, 0xb9, 0xc8, 0xd2, 0xff,
+ 0xc0, 0xd2, 0xd7, 0xff, 0xc6, 0xd9, 0xdb, 0xff, 0xd0, 0xdb, 0xda, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x98, 0x98, 0x98, 0x6b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc6, 0xc1, 0xc5, 0xff, 0xf0, 0xe7, 0xed, 0xff, 0xe2, 0xcc, 0xd8, 0xff,
+ 0xdd, 0xc2, 0xcf, 0xff, 0xcf, 0xaa, 0xb3, 0xff, 0xac, 0x77, 0x78, 0xff,
+ 0xc7, 0x9e, 0xa9, 0xff, 0xe0, 0xc9, 0xd6, 0xff, 0xf6, 0xef, 0xf5, 0xff,
+ 0xf6, 0xf2, 0xf7, 0xff, 0xf4, 0xf2, 0xf7, 0xff, 0xdf, 0xdf, 0xec, 0xff,
+ 0xba, 0xc3, 0xd4, 0xff, 0xb8, 0xc6, 0xd1, 0xff, 0xc0, 0xd2, 0xd7, 0xff,
+ 0xca, 0xdb, 0xdc, 0xff, 0xcf, 0xe1, 0xde, 0xff, 0xd7, 0xe5, 0xe1, 0xff,
+ 0xb1, 0xb5, 0xb4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x64, 0x64, 0x64, 0x75, 0x00, 0x00, 0x00, 0xff,
+ 0xf1, 0xeb, 0xf1, 0xff, 0xdf, 0xcb, 0xdd, 0xff, 0xe4, 0xd3, 0xe0, 0xff,
+ 0xe5, 0xd0, 0xdd, 0xff, 0xdf, 0xc6, 0xd3, 0xff, 0xd3, 0xae, 0xb7, 0xff,
+ 0xe0, 0xd4, 0xd4, 0xff, 0xea, 0xe9, 0xe9, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xe2, 0xe3, 0xe4, 0xff,
+ 0xbe, 0xc5, 0xce, 0xff, 0xc1, 0xd3, 0xd7, 0xff, 0xcd, 0xdf, 0xde, 0xff,
+ 0xd6, 0xe5, 0xe0, 0xff, 0xde, 0xea, 0xe4, 0xff, 0xe2, 0xed, 0xe6, 0xff,
+ 0xe3, 0xeb, 0xe5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6d, 0x6d, 0x6d, 0x75,
+ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0xd5, 0xb8, 0xb7, 0xb8, 0xff,
+ 0xf1, 0xeb, 0xf2, 0xff, 0xe0, 0xcf, 0xe1, 0xff, 0xe3, 0xd1, 0xe2, 0xff,
+ 0xe7, 0xd6, 0xe5, 0xff, 0xe7, 0xd6, 0xe3, 0xff, 0xf1, 0xeb, 0xef, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xab, 0xab, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xdc, 0xe5, 0xe2, 0xff, 0xdf, 0xeb, 0xe5, 0xff,
+ 0xe4, 0xee, 0xe7, 0xff, 0xe8, 0xf1, 0xe8, 0xff, 0xe8, 0xf1, 0xe8, 0xff,
+ 0xe5, 0xf0, 0xe5, 0xff, 0x94, 0x96, 0x94, 0xff, 0x4b, 0x4b, 0x4b, 0xcf,
+ 0x00, 0x00, 0x00, 0x00, 0x3e, 0x3e, 0x3e, 0xef, 0xe3, 0xe1, 0xe4, 0xff,
+ 0xdf, 0xd5, 0xe4, 0xff, 0xdf, 0xd4, 0xe3, 0xff, 0xe0, 0xd3, 0xe4, 0xff,
+ 0xe5, 0xd8, 0xe7, 0xff, 0xeb, 0xde, 0xeb, 0xff, 0xe9, 0xe8, 0xe9, 0xff,
+ 0x95, 0x95, 0x95, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xff,
+ 0xad, 0xad, 0xad, 0xf4, 0xee, 0xef, 0xed, 0xff, 0xec, 0xf4, 0xeb, 0xff,
+ 0xea, 0xf2, 0xe8, 0xff, 0xe7, 0xf0, 0xe5, 0xff, 0xe6, 0xf0, 0xe4, 0xff,
+ 0xe3, 0xee, 0xe1, 0xff, 0xb5, 0xbb, 0xb4, 0xff, 0x40, 0x40, 0x40, 0xef,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xee, 0xeb, 0xf1, 0xff,
+ 0xe1, 0xdb, 0xe8, 0xff, 0xe2, 0xdb, 0xe9, 0xff, 0xe3, 0xdc, 0xea, 0xff,
+ 0xe5, 0xdd, 0xea, 0xff, 0xf1, 0xed, 0xf3, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xf1, 0xf0, 0xff, 0xec, 0xf4, 0xe8, 0xff,
+ 0xe5, 0xef, 0xe0, 0xff, 0xe3, 0xee, 0xde, 0xff, 0xe1, 0xec, 0xdc, 0xff,
+ 0xe0, 0xeb, 0xda, 0xff, 0xdb, 0xe7, 0xd7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xee, 0xec, 0xf3, 0xff,
+ 0xe6, 0xe2, 0xee, 0xff, 0xe7, 0xe4, 0xef, 0xff, 0xe9, 0xe5, 0xf0, 0xff,
+ 0xe9, 0xe5, 0xf1, 0xff, 0xf3, 0xf3, 0xf8, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xec, 0xec, 0xeb, 0xff, 0xe6, 0xee, 0xe1, 0xff,
+ 0xd4, 0xe2, 0xcd, 0xff, 0xd2, 0xe0, 0xcb, 0xff, 0xd1, 0xdf, 0xcb, 0xff,
+ 0xd0, 0xde, 0xc9, 0xff, 0xcf, 0xdc, 0xc9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe7, 0xe7, 0xf0, 0xff,
+ 0xe4, 0xe3, 0xf1, 0xff, 0xe4, 0xe3, 0xf1, 0xff, 0xe4, 0xe4, 0xf1, 0xff,
+ 0xe5, 0xe6, 0xf2, 0xff, 0xf2, 0xf3, 0xf8, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x72, 0x72, 0x49,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xee, 0xee, 0xff, 0xdd, 0xe3, 0xd3, 0xff,
+ 0xc7, 0xd2, 0xb7, 0xff, 0xc4, 0xd1, 0xb6, 0xff, 0xc5, 0xd1, 0xb8, 0xff,
+ 0xc5, 0xd2, 0xb9, 0xff, 0xc7, 0xd1, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x39, 0x39, 0x39, 0xef, 0xaa, 0xab, 0xb3, 0xff,
+ 0xdb, 0xde, 0xeb, 0xff, 0xde, 0xe2, 0xee, 0xff, 0xe0, 0xe5, 0xef, 0xff,
+ 0xe2, 0xe8, 0xf1, 0xff, 0xed, 0xf1, 0xf6, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0x9c, 0x9c, 0x9c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xff,
+ 0x7c, 0x7c, 0x7b, 0xff, 0xe7, 0xe6, 0xe5, 0xff, 0xda, 0xdb, 0xbe, 0xff,
+ 0xd2, 0xd4, 0xb8, 0xff, 0xc9, 0xd0, 0xb2, 0xff, 0xc3, 0xcb, 0xad, 0xff,
+ 0xc0, 0xc9, 0xad, 0xff, 0x9b, 0xa0, 0x92, 0xff, 0x43, 0x43, 0x43, 0xec,
+ 0x00, 0x00, 0x00, 0x00, 0x3d, 0x3d, 0x3d, 0xd1, 0x84, 0x86, 0x89, 0xff,
+ 0xdc, 0xe2, 0xeb, 0xff, 0xdd, 0xe4, 0xec, 0xff, 0xe0, 0xe8, 0xee, 0xff,
+ 0xe2, 0xec, 0xf0, 0xff, 0xe6, 0xf0, 0xf1, 0xff, 0xf4, 0xf6, 0xf6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xb3, 0xb3, 0xb3, 0xe0, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x86, 0x86, 0x86, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xec, 0xe7, 0xe2, 0xff, 0xdc, 0xd2, 0xb9, 0xff,
+ 0xdb, 0xd7, 0xbb, 0xff, 0xd8, 0xd6, 0xba, 0xff, 0xd1, 0xd1, 0xb3, 0xff,
+ 0xc7, 0xca, 0xaa, 0xff, 0x7a, 0x7c, 0x76, 0xff, 0x54, 0x54, 0x54, 0xc2,
+ 0x00, 0x00, 0x00, 0x00, 0x5e, 0x5e, 0x5e, 0x75, 0x00, 0x00, 0x00, 0xff,
+ 0xd8, 0xe0, 0xe5, 0xff, 0xde, 0xe8, 0xed, 0xff, 0xe3, 0xec, 0xef, 0xff,
+ 0xe5, 0xef, 0xf0, 0xff, 0xe3, 0xee, 0xed, 0xff, 0xe1, 0xed, 0xe9, 0xff,
+ 0xe7, 0xec, 0xe9, 0xff, 0xe5, 0xe6, 0xe5, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xeb, 0xea, 0xe9, 0xff,
+ 0xc2, 0xa2, 0xa1, 0xff, 0xca, 0xa2, 0x92, 0xff, 0xd3, 0xbc, 0xa5, 0xff,
+ 0xd8, 0xca, 0xb1, 0xff, 0xda, 0xd1, 0xb6, 0xff, 0xd7, 0xd2, 0xb6, 0xff,
+ 0xcb, 0xc9, 0xb0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x75, 0x75, 0x75, 0x62,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xad, 0xb0, 0xb1, 0xff, 0xe2, 0xed, 0xee, 0xff, 0xe1, 0xed, 0xed, 0xff,
+ 0xe0, 0xed, 0xeb, 0xff, 0xdd, 0xea, 0xe5, 0xff, 0xdc, 0xe9, 0xe2, 0xff,
+ 0xd9, 0xe7, 0xdc, 0xff, 0xd9, 0xe7, 0xd9, 0xff, 0xe1, 0xea, 0xda, 0xff,
+ 0xe7, 0xec, 0xd9, 0xff, 0xe4, 0xe2, 0xc8, 0xff, 0xd8, 0xc5, 0xae, 0xff,
+ 0xc3, 0x99, 0x8b, 0xff, 0xb3, 0x7f, 0x7d, 0xff, 0xc5, 0x9c, 0x8d, 0xff,
+ 0xcf, 0xb4, 0xa0, 0xff, 0xd4, 0xc3, 0xab, 0xff, 0xd7, 0xcb, 0xb3, 0xff,
+ 0x93, 0x91, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x8e, 0x8e, 0x6b,
+ 0x00, 0x00, 0x00, 0xff, 0xdd, 0xe5, 0xe4, 0xff, 0xdb, 0xe9, 0xe7, 0xff,
+ 0xd8, 0xe7, 0xe2, 0xff, 0xd8, 0xe6, 0xe1, 0xff, 0xd8, 0xe6, 0xdd, 0xff,
+ 0xd9, 0xe6, 0xda, 0xff, 0xdd, 0xe8, 0xda, 0xff, 0xe2, 0xea, 0xda, 0xff,
+ 0xe6, 0xea, 0xd7, 0xff, 0xe4, 0xe3, 0xc9, 0xff, 0xdb, 0xce, 0xb5, 0xff,
+ 0xc7, 0xaa, 0x96, 0xff, 0xb3, 0x83, 0x7c, 0xff, 0xb2, 0x7f, 0x7d, 0xff,
+ 0xc0, 0x97, 0x88, 0xff, 0xc9, 0xad, 0x99, 0xff, 0xbc, 0xaf, 0xa1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x9d, 0x9d, 0x9d, 0x56, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3c, 0x3c, 0x3c, 0xd5, 0x8e, 0x8e, 0x8e, 0xff, 0xd7, 0xe1, 0xde, 0xff,
+ 0xd6, 0xe4, 0xde, 0xff, 0xd8, 0xe6, 0xdf, 0xff, 0xd7, 0xe5, 0xda, 0xff,
+ 0xdb, 0xe8, 0xdb, 0xff, 0xde, 0xe9, 0xdb, 0xff, 0xe1, 0xe9, 0xd8, 0xff,
+ 0xe4, 0xe9, 0xd5, 0xff, 0xe4, 0xe4, 0xc9, 0xff, 0xde, 0xd6, 0xbb, 0xff,
+ 0xce, 0xb8, 0xa1, 0xff, 0xb9, 0x92, 0x83, 0xff, 0xad, 0x7b, 0x78, 0xff,
+ 0xaf, 0x7e, 0x7a, 0xff, 0xaa, 0x8d, 0x84, 0xff, 0x5a, 0x5a, 0x5a, 0xff,
+ 0x55, 0x55, 0x55, 0xb6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x80, 0x80, 0x80, 0xff,
+ 0xdb, 0xe4, 0xdf, 0xff, 0xd7, 0xe6, 0xdc, 0xff, 0xd8, 0xe6, 0xda, 0xff,
+ 0xdc, 0xe9, 0xdc, 0xff, 0xe0, 0xea, 0xdc, 0xff, 0xe0, 0xe7, 0xd6, 0xff,
+ 0xe3, 0xe8, 0xd4, 0xff, 0xe3, 0xe4, 0xc9, 0xff, 0xdd, 0xd8, 0xbd, 0xff,
+ 0xd1, 0xc0, 0xa8, 0xff, 0xbe, 0xa0, 0x8d, 0xff, 0xaf, 0x82, 0x77, 0xff,
+ 0x92, 0x74, 0x74, 0xff, 0x45, 0x45, 0x45, 0xff, 0x04, 0x04, 0x04, 0xfc,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0xdc,
+ 0x00, 0x00, 0x00, 0xff, 0xb2, 0xb6, 0xb3, 0xff, 0xdb, 0xe6, 0xdc, 0xff,
+ 0xde, 0xea, 0xdc, 0xff, 0xdd, 0xe7, 0xd8, 0xff, 0xdc, 0xe5, 0xd2, 0xff,
+ 0xe1, 0xe7, 0xd2, 0xff, 0xe2, 0xe3, 0xc9, 0xff, 0xdd, 0xd8, 0xbd, 0xff,
+ 0xd3, 0xc6, 0xac, 0xff, 0xba, 0xa4, 0x93, 0xff, 0x77, 0x6c, 0x68, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x43, 0x43, 0x43, 0xb6, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xde, 0xde, 0xde, 0x56, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x8e, 0x90, 0x8e, 0xff, 0xac, 0xb1, 0xa8, 0xff, 0xd7, 0xde, 0xcc, 0xff,
+ 0xdf, 0xe4, 0xd0, 0xff, 0xd7, 0xd9, 0xc2, 0xff, 0xa3, 0xa1, 0x92, 0xff,
+ 0x73, 0x71, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x80, 0x80, 0x80, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x68, 0x68, 0x75,
+ 0x39, 0x39, 0x39, 0xd7, 0x37, 0x37, 0x37, 0xf0, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x31, 0x31, 0x31, 0xef,
+ 0x39, 0x39, 0x39, 0xcd, 0x65, 0x65, 0x65, 0x62, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x04, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x23, 0x23, 0x3c,
+ 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x97, 0x1f, 0x1f, 0x1f, 0x54, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
+ 0x00, 0x00, 0x00, 0xff, 0xba, 0xba, 0xba, 0xff, 0xf0, 0xee, 0xef, 0xff,
+ 0xfa, 0xf8, 0xfa, 0xff, 0xfb, 0xf9, 0xfb, 0xff, 0xf5, 0xf3, 0xf7, 0xff,
+ 0xde, 0xdd, 0xe1, 0xff, 0x9b, 0x9c, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
+ 0x7c, 0x7b, 0x7b, 0xff, 0xf1, 0xee, 0xee, 0xff, 0xd2, 0xb7, 0xbd, 0xff,
+ 0xcf, 0xb1, 0xbf, 0xff, 0xeb, 0xdc, 0xe9, 0xff, 0xed, 0xe4, 0xef, 0xff,
+ 0xe6, 0xe1, 0xed, 0xff, 0xd9, 0xd7, 0xe7, 0xff, 0xb9, 0xbf, 0xd2, 0xff,
+ 0xb8, 0xc2, 0xcd, 0xff, 0x82, 0x89, 0x91, 0xff, 0x00, 0x00, 0x00, 0x90,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x19, 0x19, 0x5b,
+ 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf1, 0xf1, 0xff, 0xce, 0xaa, 0xb2, 0xff,
+ 0xb3, 0x7e, 0x84, 0xff, 0xc8, 0xa3, 0xaf, 0xff, 0xe8, 0xd7, 0xe5, 0xff,
+ 0xef, 0xe6, 0xf0, 0xff, 0xe6, 0xe2, 0xee, 0xff, 0xd0, 0xd1, 0xe2, 0xff,
+ 0xb6, 0xc1, 0xd1, 0xff, 0xbc, 0xcc, 0xd4, 0xff, 0xc1, 0xcf, 0xd0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x4c, 0x4c, 0x4c, 0x50, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xa6, 0xc4, 0xc2, 0xc4, 0xff, 0xeb, 0xde, 0xe7, 0xff,
+ 0xe1, 0xc9, 0xd6, 0xff, 0xcb, 0xa5, 0xad, 0xff, 0xc8, 0xa3, 0xa9, 0xff,
+ 0xe9, 0xdd, 0xe4, 0xff, 0xf3, 0xf0, 0xf3, 0xff, 0xe9, 0xe8, 0xed, 0xff,
+ 0xc8, 0xcd, 0xda, 0xff, 0xbe, 0xce, 0xd5, 0xff, 0xcb, 0xdc, 0xdc, 0xff,
+ 0xd6, 0xe5, 0xe1, 0xff, 0x8f, 0x95, 0x91, 0xff, 0x00, 0x00, 0x00, 0x97,
+ 0x6d, 0x6d, 0x6d, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe1, 0xe0, 0xe1, 0xff,
+ 0xe1, 0xcf, 0xe0, 0xff, 0xe5, 0xd3, 0xe2, 0xff, 0xe5, 0xd3, 0xdd, 0xff,
+ 0xa2, 0x9d, 0x9e, 0xff, 0x54, 0x54, 0x54, 0xff, 0x21, 0x21, 0x21, 0xff,
+ 0x47, 0x48, 0x48, 0xff, 0xb0, 0xb1, 0xb3, 0xff, 0xdf, 0xe9, 0xe7, 0xff,
+ 0xdd, 0xea, 0xe4, 0xff, 0xe5, 0xef, 0xe7, 0xff, 0xc1, 0xc9, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x52, 0x52, 0x52, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf2, 0xef, 0xf4, 0xff, 0xe0, 0xd6, 0xe5, 0xff, 0xe4, 0xd8, 0xe7, 0xff,
+ 0xec, 0xe5, 0xed, 0xff, 0x44, 0x44, 0x44, 0xff, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x4a, 0x36, 0x36, 0x36, 0xea,
+ 0xf9, 0xfa, 0xf9, 0xff, 0xea, 0xf2, 0xe7, 0xff, 0xe5, 0xef, 0xe2, 0xff,
+ 0xe3, 0xee, 0xe0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x2a, 0x2a, 0x2a, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf3, 0xf7, 0xff, 0xe6, 0xe1, 0xed, 0xff,
+ 0xe7, 0xe2, 0xee, 0xff, 0xf1, 0xf0, 0xf3, 0xff, 0x21, 0x21, 0x21, 0xff,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0xca, 0xf9, 0xf9, 0xf8, 0xff, 0xde, 0xea, 0xd9, 0xff,
+ 0xd7, 0xe4, 0xd1, 0xff, 0xd6, 0xe3, 0xcf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xef, 0xef, 0xf5, 0xff,
+ 0xe2, 0xe3, 0xf0, 0xff, 0xe4, 0xe6, 0xf1, 0xff, 0xef, 0xf0, 0xf3, 0xff,
+ 0x3e, 0x3e, 0x3e, 0xff, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x04,
+ 0x24, 0x24, 0x24, 0x34, 0x4f, 0x4f, 0x4f, 0xdd, 0xf3, 0xf4, 0xf1, 0xff,
+ 0xd0, 0xd7, 0xbe, 0xff, 0xc5, 0xd0, 0xb5, 0xff, 0xc4, 0xcf, 0xb5, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x15, 0x15, 0x15, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xbd, 0xc2, 0xff, 0xde, 0xe5, 0xed, 0xff, 0xe1, 0xe9, 0xf0, 0xff,
+ 0xeb, 0xf1, 0xf2, 0xff, 0xb6, 0xb7, 0xb7, 0xff, 0x35, 0x35, 0x35, 0xe4,
+ 0x00, 0x00, 0x00, 0xca, 0x79, 0x79, 0x79, 0xe4, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xf2, 0xf0, 0xea, 0xff, 0xd9, 0xd6, 0xba, 0xff, 0xd1, 0xd2, 0xb5, 0xff,
+ 0xa7, 0xab, 0x91, 0xff, 0x00, 0x00, 0x00, 0xff, 0x4e, 0x4e, 0x4e, 0x00,
+ 0x00, 0x00, 0x00, 0xa6, 0x70, 0x75, 0x76, 0xff, 0xe0, 0xeb, 0xee, 0xff,
+ 0xe3, 0xee, 0xee, 0xff, 0xe0, 0xec, 0xe9, 0xff, 0xe1, 0xeb, 0xe5, 0xff,
+ 0xf7, 0xf8, 0xf7, 0xff, 0xf9, 0xfa, 0xf9, 0xff, 0xf7, 0xf5, 0xf3, 0xff,
+ 0xe8, 0xdc, 0xd9, 0xff, 0xc6, 0x9f, 0x91, 0xff, 0xd3, 0xbd, 0xa7, 0xff,
+ 0xd8, 0xcd, 0xb3, 0xff, 0x8a, 0x87, 0x77, 0xff, 0x00, 0x00, 0x00, 0x97,
+ 0x75, 0x75, 0x75, 0x00, 0x22, 0x22, 0x22, 0x54, 0x00, 0x00, 0x00, 0xff,
+ 0xbb, 0xc4, 0xc3, 0xff, 0xdb, 0xe9, 0xe6, 0xff, 0xda, 0xe7, 0xe1, 0xff,
+ 0xd9, 0xe7, 0xdc, 0xff, 0xde, 0xe8, 0xda, 0xff, 0xe5, 0xea, 0xd8, 0xff,
+ 0xe1, 0xdb, 0xc1, 0xff, 0xcc, 0xb1, 0x9d, 0xff, 0xb5, 0x84, 0x7e, 0xff,
+ 0xc1, 0x99, 0x8b, 0xff, 0xca, 0xb6, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x2a, 0x2a, 0x2a, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xa6, 0x91, 0x99, 0x96, 0xff, 0xce, 0xd8, 0xd4, 0xff,
+ 0xd8, 0xe6, 0xdd, 0xff, 0xda, 0xe7, 0xdb, 0xff, 0xdf, 0xe9, 0xda, 0xff,
+ 0xe3, 0xe9, 0xd6, 0xff, 0xe2, 0xe0, 0xc5, 0xff, 0xd4, 0xc4, 0xab, 0xff,
+ 0xb6, 0x8e, 0x81, 0xff, 0xa8, 0x7c, 0x78, 0xff, 0x8d, 0x68, 0x65, 0xff,
+ 0x00, 0x00, 0x00, 0xa6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6,
+ 0x00, 0x00, 0x00, 0xff, 0xc8, 0xd1, 0xca, 0xff, 0xdc, 0xe8, 0xdc, 0xff,
+ 0xde, 0xe7, 0xd7, 0xff, 0xe0, 0xe7, 0xd3, 0xff, 0xe1, 0xe0, 0xc5, 0xff,
+ 0xd6, 0xcb, 0xb1, 0xff, 0xab, 0x93, 0x85, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x90, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3b, 0x3b, 0x3b, 0x65, 0x00, 0x00, 0x00, 0xa6,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xa6,
+ 0x22, 0x22, 0x22, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x68, 0x68, 0x00, 0x43, 0x43, 0x43, 0x00, 0x24, 0x24, 0x24, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0x00, 0x36, 0x36, 0x36, 0x00,
+ 0x65, 0x65, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0x08, 0x50, 0x00, 0x05, 0x08, 0x5c,
+ 0x67, 0x74, 0x6b, 0x2d, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x08, 0x70,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x11, 0x98, 0x00, 0x05, 0x08, 0x78,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x4a, 0x4c, 0x12, 0x6e, 0x00, 0x00, 0x00, 0xff,
+ 0x0f, 0x10, 0x04, 0x2f, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4a, 0x4c, 0x12, 0x6e, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x10, 0x04, 0x2f,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xff, 0xee, 0xf6, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xf6, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x11, 0x04, 0x07, 0x62, 0x65, 0x19, 0x7a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xf1, 0x3d, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xc9, 0xd0, 0x34, 0xfa, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x42, 0x44, 0x11, 0x77, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x0a, 0x02, 0x0b,
+ 0x62, 0x65, 0x19, 0x7a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xea, 0xf1, 0x3d, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xc9, 0xd0, 0x34, 0xfa,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x42, 0x44, 0x11, 0x77,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xe9, 0xf0, 0x3d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xe9, 0xf0, 0x3d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x17, 0x17, 0x06, 0x31, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xe5, 0xec, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x0f,
+ 0x16, 0x16, 0x05, 0x33, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xe5, 0xec, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x49,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff,
+ 0xe8, 0xf0, 0x3d, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xa9, 0xae, 0x2c, 0xfc, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xf0, 0x3d, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xa9, 0xae, 0x2c, 0xfc, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xec, 0xf3, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xf7, 0x3f, 0xff, 0xce, 0xd6, 0x36, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xec, 0xf3, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xf7, 0x3f, 0xff,
+ 0xce, 0xd6, 0x36, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0xb1, 0xb7, 0x2e, 0xf6, 0x00, 0x00, 0x00, 0xff, 0x0c, 0x0c, 0x03, 0x78,
+ 0x00, 0x00, 0x00, 0xff, 0xcc, 0xd3, 0x34, 0xfe, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0xb1, 0xb7, 0x2e, 0xf6,
+ 0x00, 0x00, 0x00, 0xff, 0x0c, 0x0c, 0x03, 0x78, 0x00, 0x00, 0x00, 0xff,
+ 0xcc, 0xd3, 0x34, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1b, 0x1c, 0x07, 0x72,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0x0d, 0x0d, 0x02, 0x76,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x1b, 0x1c, 0x07, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0xff, 0x0d, 0x0d, 0x02, 0x76, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x4a, 0x4c, 0x12, 0x6e, 0x00, 0x00, 0x00, 0xff,
+ 0x0f, 0x10, 0x04, 0x2f, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4a, 0x4c, 0x12, 0x6e, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x10, 0x04, 0x2f,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xff, 0xee, 0xf6, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0xff, 0xee, 0xf6, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x11, 0x04, 0x07, 0x62, 0x65, 0x19, 0x7a, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xf1, 0x3d, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xc9, 0xd0, 0x34, 0xfa, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x42, 0x44, 0x11, 0x77, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x0a, 0x02, 0x0b,
+ 0x62, 0x65, 0x19, 0x7a, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xea, 0xf1, 0x3d, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xc9, 0xd0, 0x34, 0xfa,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x42, 0x44, 0x11, 0x77,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xe9, 0xf0, 0x3d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xe9, 0xf0, 0x3d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x17, 0x17, 0x06, 0x31, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xe5, 0xec, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x0f,
+ 0x16, 0x16, 0x05, 0x33, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xe5, 0xec, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x49,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff,
+ 0xe8, 0xf0, 0x3d, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xa9, 0xae, 0x2c, 0xfc, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xf0, 0x3d, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xa9, 0xae, 0x2c, 0xfc, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xec, 0xf3, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xf7, 0x3f, 0xff, 0xce, 0xd6, 0x36, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xec, 0xf3, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xf7, 0x3f, 0xff,
+ 0xce, 0xd6, 0x36, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0xb1, 0xb7, 0x2e, 0xf6, 0x00, 0x00, 0x00, 0xff, 0x0c, 0x0c, 0x03, 0x78,
+ 0x00, 0x00, 0x00, 0xff, 0xcc, 0xd3, 0x34, 0xfe, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff, 0xb1, 0xb7, 0x2e, 0xf6,
+ 0x00, 0x00, 0x00, 0xff, 0x0c, 0x0c, 0x03, 0x78, 0x00, 0x00, 0x00, 0xff,
+ 0xcc, 0xd3, 0x34, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1b, 0x1c, 0x07, 0x72,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x39,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff, 0x0d, 0x0d, 0x02, 0x76,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x1b, 0x1c, 0x07, 0x72, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0xff, 0x0d, 0x0d, 0x02, 0x76, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0x11, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x21, 0x22, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4c, 0x4e, 0x13, 0x6c, 0x00, 0x00, 0x00, 0xff, 0x15, 0x16, 0x06, 0x23,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff, 0xee, 0xf6, 0x3e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x11, 0x04, 0x07, 0x64, 0x67, 0x1a, 0x78,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xea, 0xf1, 0x3d, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xcb, 0xd2, 0x35, 0xf8, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x4a, 0x4c, 0x13, 0x6b, 0x00, 0x00, 0x00, 0x00,
+ 0x10, 0x11, 0x04, 0x00, 0x64, 0x67, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1d, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xe9, 0xf0, 0x3d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1f, 0x08, 0x25, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xe5, 0xec, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x05, 0x05, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1f, 0x1f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe8, 0xf0, 0x3d, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xf0, 0xf8, 0x3f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0xab, 0xb0, 0x2d, 0xfa,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf8, 0x3f, 0xff,
+ 0xec, 0xf3, 0x3e, 0xff, 0x00, 0x00, 0x00, 0xff, 0xef, 0xf7, 0x3f, 0xff,
+ 0xce, 0xd6, 0x36, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb4, 0xba, 0x2f, 0xf3, 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x06, 0x3f,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xd4, 0x35, 0xfd, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1e, 0x1f, 0x08, 0x67, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x16, 0x17, 0x05, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x05, 0x15, 0xcc, 0x00, 0x05, 0x15, 0xdc, 0x67, 0x74, 0x6b, 0x2d,
+ 0x72, 0x65, 0x64, 0x6f, 0x2d, 0x72, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x15, 0xf0,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x1f, 0x18, 0x00, 0x05, 0x15, 0xf8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0x93, 0x9a, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xff,
+ 0x92, 0x99, 0x8c, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0xff, 0x99, 0xa2, 0x8f, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xbe, 0xd2, 0xa3, 0xff, 0xd1, 0xdf, 0xbe, 0xff,
+ 0xc2, 0xd5, 0xaa, 0xff, 0xad, 0xbd, 0xa0, 0xff, 0x81, 0x8f, 0x71, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0xff, 0x91, 0x98, 0x89, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xc5, 0xd7, 0xae, 0xff,
+ 0xd2, 0xe0, 0xbf, 0xff, 0xcd, 0xdc, 0xbc, 0xff, 0xd5, 0xe1, 0xc6, 0xff,
+ 0xa8, 0xbc, 0xa6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0x9b, 0xaa, 0x87, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0xbf, 0xd3, 0xa6, 0xff, 0xd1, 0xdf, 0xbe, 0xff, 0xd3, 0xe0, 0xc1, 0xff,
+ 0xd4, 0xe0, 0xc5, 0xff, 0x8c, 0x9a, 0x7f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0xff, 0x59, 0x70, 0x2d, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x92, 0xad, 0x62, 0xff,
+ 0xd5, 0xe1, 0xc6, 0xff, 0xb5, 0xc3, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0xff, 0x53, 0x69, 0x2a, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x85, 0xa2, 0x4d, 0xff, 0xc8, 0xd9, 0xb2, 0xff, 0x7f, 0x8e, 0x6b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xff,
+ 0x53, 0x69, 0x2a, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x59, 0x70, 0x2d, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x9b, 0xb5, 0x72, 0xff, 0xa4, 0xb6, 0x90, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0xff, 0x59, 0x70, 0x2d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0xff,
+ 0x6d, 0x88, 0x39, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x8a,
+ 0x00, 0x00, 0x00, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0xff, 0x8b, 0xa8, 0x59, 0xff, 0x95, 0xa7, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0xff, 0x98, 0xaf, 0x74, 0xff, 0x65, 0x72, 0x55, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0xff, 0xaf, 0xc3, 0x94, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xff,
+ 0x9c, 0xaf, 0x84, 0xff, 0x6d, 0x7a, 0x5b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xff, 0x87, 0x97, 0x72, 0xff,
+ 0x74, 0x82, 0x61, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0x1f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9f, 0xa5, 0x9a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x92, 0x99, 0x8c, 0xff,
+ 0xe3, 0xeb, 0xd8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x99, 0xa2, 0x8f, 0xff,
+ 0xc2, 0xd6, 0xa9, 0xff, 0xd5, 0xe2, 0xc5, 0xff, 0xea, 0xf0, 0xe3, 0xff,
+ 0xe8, 0xed, 0xdf, 0xff, 0xea, 0xee, 0xe8, 0xff, 0xa5, 0xa9, 0x9e, 0xff,
+ 0x29, 0x29, 0x29, 0xff, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x91, 0x98, 0x89, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0xc5, 0xd7, 0xae, 0xff, 0xd2, 0xe0, 0xbf, 0xff, 0xcf, 0xdd, 0xbe, 0xff,
+ 0xea, 0xef, 0xe3, 0xff, 0xcf, 0xd9, 0xce, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x61, 0x6b, 0x54, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xbf, 0xd3, 0xa6, 0xff,
+ 0xd1, 0xdf, 0xbe, 0xff, 0xd4, 0xe1, 0xc3, 0xff, 0xea, 0xef, 0xe5, 0xff,
+ 0xb2, 0xbb, 0xa9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x59, 0x70, 0x2d, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x92, 0xad, 0x62, 0xff,
+ 0xda, 0xe5, 0xce, 0xff, 0xde, 0xe3, 0xda, 0xff, 0x4e, 0x4e, 0x4e, 0xff,
+ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x53, 0x69, 0x2a, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x85, 0xa2, 0x4d, 0xff, 0xdf, 0xe9, 0xd4, 0xff,
+ 0xb7, 0xbe, 0xad, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x53, 0x69, 0x2a, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x59, 0x70, 0x2d, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x9b, 0xb5, 0x72, 0xff, 0xd7, 0xdf, 0xcf, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x59, 0x70, 0x2d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x6d, 0x88, 0x39, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0xd5, 0xe1, 0xc4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0xc7, 0xd9, 0xb0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x98, 0xaf, 0x74, 0xff, 0x65, 0x72, 0x55, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
+ 0x00, 0x00, 0x00, 0xff, 0xaf, 0xc3, 0x94, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x9c, 0xaf, 0x84, 0xff, 0x6d, 0x7a, 0x5b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x05, 0x23, 0x4c, 0x00, 0x05, 0x23, 0x58, 0x67, 0x74, 0x6b, 0x2d,
+ 0x7a, 0x6f, 0x6f, 0x6d, 0x2d, 0x69, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x23, 0x6c, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x05, 0x2c, 0x94, 0x00, 0x05, 0x23, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x4e,
+ 0x34, 0x34, 0x34, 0xa3, 0x2d, 0x2d, 0x2d, 0xdd, 0x29, 0x29, 0x29, 0xfb,
+ 0x26, 0x26, 0x26, 0xfb, 0x26, 0x26, 0x26, 0xdd, 0x26, 0x26, 0x26, 0xa3,
+ 0x35, 0x35, 0x35, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5d, 0x5d, 0x5d, 0x32, 0x2e, 0x2e, 0x2e, 0xc0, 0x30, 0x30, 0x30, 0xff,
+ 0x73, 0x73, 0x73, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0x9d, 0x9d, 0x9d, 0xff, 0x67, 0x67, 0x67, 0xff,
+ 0x20, 0x20, 0x20, 0xff, 0x1c, 0x1c, 0x1c, 0xc0, 0x37, 0x37, 0x37, 0x32,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x4e,
+ 0x27, 0x27, 0x27, 0xfb, 0x61, 0x61, 0x61, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xce, 0xce, 0xce, 0xff, 0xc9, 0xc9, 0xc9, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0xa7, 0xa7, 0xa7, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x13, 0x13, 0x13, 0xfb,
+ 0x23, 0x23, 0x23, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x4f, 0x4f, 0x4f, 0x32, 0x22, 0x22, 0x22, 0xfb,
+ 0x75, 0x75, 0x75, 0xff, 0xca, 0xca, 0xca, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xd2, 0xd2, 0xd2, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0x5e, 0x5e, 0x5e, 0xff,
+ 0x10, 0x10, 0x10, 0xfb, 0x24, 0x24, 0x24, 0x32, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x21, 0x21, 0x21, 0xc0, 0x5b, 0x5b, 0x5b, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xd7, 0xd7, 0xd7, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0x43, 0x43, 0x43, 0xff, 0x0f, 0x0f, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x30, 0x30, 0x30, 0x4e, 0x1f, 0x1f, 0x1f, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0xd6, 0xd6, 0xd6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0x45, 0x45, 0x45, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xec, 0xec, 0xec, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xab, 0xab, 0xab, 0xff, 0x0e, 0x0e, 0x0e, 0xff, 0x12, 0x12, 0x12, 0x4e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x1b, 0x1b, 0x1b, 0xa3, 0x6d, 0x6d, 0x6d, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x45, 0x45, 0x45, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xee, 0xee, 0xee, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x57, 0x57, 0x57, 0xff, 0x09, 0x09, 0x09, 0xa3,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x14, 0x14, 0x14, 0xdd, 0xa8, 0xa8, 0xa8, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x45, 0x45, 0x45, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xee, 0xee, 0xee, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0x9b, 0x9b, 0x9b, 0xff, 0x06, 0x06, 0x06, 0xdd,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x11, 0x11, 0x11, 0xfb, 0xc5, 0xc5, 0xc5, 0xff, 0xdf, 0xdf, 0xdf, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0x44, 0x44, 0x44, 0xff,
+ 0x44, 0x44, 0x44, 0xff, 0x45, 0x45, 0x45, 0xff, 0x45, 0x45, 0x45, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0x44, 0x44, 0x44, 0xff, 0x43, 0x43, 0x43, 0xff,
+ 0x42, 0x42, 0x42, 0xff, 0xed, 0xed, 0xed, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xbf, 0xbf, 0xbf, 0xff, 0x06, 0x06, 0x06, 0xfb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0e, 0x0e, 0x0e, 0xfb, 0xc6, 0xc6, 0xc6, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0x43, 0x43, 0x43, 0xff,
+ 0x44, 0x44, 0x44, 0xff, 0x44, 0x44, 0x44, 0xff, 0x44, 0x44, 0x44, 0xff,
+ 0x44, 0x44, 0x44, 0xff, 0x43, 0x43, 0x43, 0xff, 0x42, 0x42, 0x42, 0xff,
+ 0x41, 0x41, 0x41, 0xff, 0xea, 0xea, 0xea, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0xba, 0xba, 0xba, 0xff, 0x05, 0x05, 0x05, 0xfb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0b, 0x0b, 0x0b, 0xdd, 0xa5, 0xa5, 0xa5, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xed, 0xed, 0xed, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x43, 0x43, 0x43, 0xff,
+ 0x43, 0x43, 0x43, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0x93, 0x93, 0x93, 0xff, 0x02, 0x02, 0x02, 0xdd,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0a, 0x0a, 0x0a, 0xa3, 0x5f, 0x5f, 0x5f, 0xff, 0xd9, 0xd9, 0xd9, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0x41, 0x41, 0x41, 0xff,
+ 0x41, 0x41, 0x41, 0xff, 0xed, 0xed, 0xed, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0x4c, 0x4c, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0c, 0x0c, 0x0c, 0x4e, 0x0a, 0x0a, 0x0a, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xd8, 0xd8, 0xd8, 0xff, 0xdc, 0xdc, 0xdc, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0x3f, 0x3f, 0x3f, 0xff,
+ 0x3f, 0x3f, 0x3f, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xdf, 0xdf, 0xdf, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0x02, 0x02, 0x02, 0xff, 0x00, 0x00, 0x00, 0x4e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x06, 0x06, 0x06, 0xc0, 0x3b, 0x3b, 0x3b, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xd4, 0xd4, 0xd4, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0xd5, 0xd5, 0xd5, 0xff,
+ 0xd0, 0xd0, 0xd0, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0x2e, 0x2e, 0x2e, 0xff, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x32, 0x05, 0x05, 0x05, 0xfb,
+ 0x51, 0x51, 0x51, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xcb, 0xcb, 0xcb, 0xff, 0xcc, 0xcc, 0xcc, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xcb, 0xcb, 0xcb, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xc8, 0xc8, 0xc8, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0x45, 0x45, 0x45, 0xff,
+ 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x03, 0x03, 0x03, 0x4e,
+ 0x03, 0x03, 0x03, 0xfb, 0x31, 0x31, 0x31, 0xff, 0x99, 0x99, 0x99, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xb6, 0xb6, 0xb6, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0x2b, 0x2b, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xfb,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x32, 0x01, 0x01, 0x01, 0xc0, 0x03, 0x03, 0x03, 0xff,
+ 0x41, 0x41, 0x41, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x9a, 0x9a, 0x9a, 0xff,
+ 0x9a, 0x9a, 0x9a, 0xff, 0x77, 0x77, 0x77, 0xff, 0x3c, 0x3c, 0x3c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf3,
+ 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x4e,
+ 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xfb,
+ 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x20, 0x20, 0x20, 0xf3, 0x20, 0x20, 0x20, 0xf4,
+ 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xec, 0x68, 0x68, 0x68, 0xfb,
+ 0x34, 0x34, 0x34, 0xf7, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf3,
+ 0x79, 0x79, 0x79, 0xfd, 0x3a, 0x3a, 0x3a, 0xfc, 0x00, 0x00, 0x00, 0xf3,
+ 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xf8, 0x68, 0x68, 0x68, 0xfb, 0x1f, 0x1f, 0x1f, 0xfb,
+ 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0xfd,
+ 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x2c, 0x9c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0xf9,
+ 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x74,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0xcb, 0x26, 0x26, 0x26, 0xff, 0xc5, 0xc5, 0xc5, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xed, 0xed, 0xed, 0xff, 0xab, 0xab, 0xab, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xcb, 0x87, 0x87, 0x87, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xea, 0xea, 0xea, 0xff, 0x70, 0x70, 0x70, 0xff,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x74, 0x46, 0x46, 0x46, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x25, 0x25, 0x25, 0xff,
+ 0x28, 0x28, 0x28, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0x74,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xb0, 0xb0, 0xb0, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x05, 0x05, 0xff, 0x04, 0x04, 0x04, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xa4, 0xa4, 0xa4, 0xff,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9,
+ 0xee, 0xee, 0xee, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0x05, 0x05, 0x05, 0xff,
+ 0x05, 0x05, 0x05, 0xff, 0x09, 0x09, 0x09, 0xff, 0x04, 0x04, 0x04, 0xff,
+ 0x04, 0x04, 0x04, 0xff, 0x24, 0x24, 0x24, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xf9, 0xed, 0xed, 0xed, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0x24, 0x24, 0x24, 0xff, 0x04, 0x04, 0x04, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x05, 0x05, 0x05, 0xff, 0x24, 0x24, 0x24, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xf9,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xab, 0xab, 0xab, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0x04, 0x04, 0x04, 0xff, 0x04, 0x04, 0x04, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xba, 0xba, 0xba, 0xff,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74,
+ 0x46, 0x46, 0x46, 0xff, 0xea, 0xea, 0xea, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0x09, 0x09, 0x09, 0xff, 0x25, 0x25, 0x25, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0x85, 0x85, 0x85, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0x6d, 0x6d, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x67,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0xcb, 0x46, 0x46, 0x46, 0xff, 0xa4, 0xa4, 0xa4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf2,
+ 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xf9,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x1f,
+ 0x20, 0x20, 0x20, 0xf3, 0x20, 0x20, 0x20, 0xf4, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xec, 0x68, 0x68, 0x68, 0xfb,
+ 0x34, 0x34, 0x34, 0xf7, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xf3, 0x79, 0x79, 0x79, 0xfd, 0x3a, 0x3a, 0x3a, 0xfc,
+ 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf8,
+ 0x68, 0x68, 0x68, 0xfb, 0x1f, 0x1f, 0x1f, 0xfb, 0x00, 0x00, 0x00, 0xf4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0xfd,
+ 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0x30, 0xc8,
+ 0x00, 0x05, 0x30, 0xd4, 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x61, 0x6e, 0x63,
+ 0x65, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x04,
+ 0x00, 0x05, 0x30, 0xe0, 0x00, 0x05, 0x30, 0xe8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x58, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x06, 0x58, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc4, 0x6d, 0x74, 0xff, 0x9f, 0x3c, 0x44, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbd, 0x5a, 0x62, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0x9f, 0x3c, 0x44, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xbd, 0x5a, 0x62, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0x7b, 0x2d, 0x34, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xbd, 0x5a, 0x62, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0x8c, 0x34, 0x3c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0x9f, 0x3c, 0x44, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xbd, 0x5a, 0x62, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbd, 0x5a, 0x62, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbd, 0x5a, 0x62, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0x8c, 0x34, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0x8c, 0x34, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc4, 0x6d, 0x74, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0x8c, 0x34, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9f, 0x3c, 0x44, 0xff,
+ 0xb5, 0x44, 0x4e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb5, 0x44, 0x4e, 0xff, 0x8c, 0x34, 0x3c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0x9f, 0x3c, 0x44, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x9f, 0x3c, 0x44, 0xff, 0xb5, 0x44, 0x4e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0x37, 0x54, 0x00, 0x05, 0x37, 0x5c,
+ 0x67, 0x74, 0x6b, 0x2d, 0x64, 0x6e, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x02, 0x00, 0x04, 0x00, 0x05, 0x37, 0x68, 0x00, 0x05, 0x37, 0x70,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x10, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xff,
+ 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xd0, 0xd0, 0xd0, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf7, 0xf7, 0xf6, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0x76, 0x76, 0x76, 0xff, 0x5d, 0x5d, 0x5d, 0xff,
+ 0x40, 0x40, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf6, 0xf6, 0xf5, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff, 0x16, 0x16, 0x16, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0x9d, 0x9d, 0x9d, 0xff, 0xa5, 0xa5, 0xa4, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xa3, 0xa3, 0xa2, 0xff, 0xc9, 0xc9, 0xc8, 0xff,
+ 0xf2, 0xf2, 0xf1, 0xff, 0xf0, 0xf0, 0xef, 0xff, 0xee, 0xee, 0xed, 0xff,
+ 0xed, 0xed, 0xeb, 0xff, 0x9d, 0x9d, 0x9d, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf7, 0xf7, 0xf6, 0xff, 0xf5, 0xf5, 0xf4, 0xff, 0xf4, 0xf4, 0xf3, 0xff,
+ 0xf2, 0xf2, 0xf1, 0xff, 0xf0, 0xf0, 0xef, 0xff, 0xef, 0xef, 0xee, 0xff,
+ 0xed, 0xed, 0xec, 0xff, 0xec, 0xec, 0xea, 0xff, 0xea, 0xea, 0xe8, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4d,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xce, 0xce, 0xce, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0xa3, 0xa3, 0xa3, 0xff, 0x9a, 0x9a, 0x99, 0xff,
+ 0xaf, 0xaf, 0xae, 0xff, 0xf1, 0xf1, 0xf0, 0xff, 0x9f, 0x9f, 0x9e, 0xff,
+ 0x72, 0x72, 0x71, 0xff, 0x95, 0x95, 0x94, 0xff, 0x93, 0x93, 0x93, 0xff,
+ 0xe9, 0xe9, 0xe7, 0xff, 0xe7, 0xe7, 0xe6, 0xff, 0xa4, 0xa4, 0xa4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfb, 0xfb, 0xfa, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf6, 0xf6, 0xf5, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf3, 0xf3, 0xf2, 0xff, 0xf1, 0xf1, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xee, 0xee, 0xed, 0xff, 0xec, 0xec, 0xeb, 0xff, 0xeb, 0xeb, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe8, 0xff, 0xe8, 0xe8, 0xe6, 0xff, 0xe6, 0xe6, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe3, 0xff, 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xb4, 0xb4, 0xb4, 0xff,
+ 0xb3, 0xb3, 0xb3, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0xb0, 0xb0, 0xaf, 0xff, 0x98, 0x98, 0x98, 0xff, 0x97, 0x97, 0x96, 0xff,
+ 0xee, 0xee, 0xed, 0xff, 0x6f, 0x6f, 0x6e, 0xff, 0x6e, 0x6e, 0x6e, 0xff,
+ 0x6e, 0x6e, 0x6d, 0xff, 0x6d, 0x6d, 0x6c, 0xff, 0x6c, 0x6c, 0x6b, 0xff,
+ 0x6b, 0x6b, 0x6a, 0xff, 0xe3, 0xe3, 0xe1, 0xff, 0xe2, 0xe2, 0xe0, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf7, 0xf7, 0xf6, 0xff, 0xf5, 0xf5, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf3, 0xff, 0xf2, 0xf2, 0xf1, 0xff, 0xf0, 0xf0, 0xef, 0xff,
+ 0xef, 0xef, 0xee, 0xff, 0xed, 0xed, 0xec, 0xff, 0xec, 0xec, 0xea, 0xff,
+ 0x6e, 0x6e, 0x6d, 0xff, 0x87, 0x96, 0xa5, 0xff, 0x86, 0x96, 0xa4, 0xff,
+ 0x85, 0x95, 0xa3, 0xff, 0x85, 0x94, 0xa3, 0xff, 0x6a, 0x6a, 0x69, 0xff,
+ 0xe1, 0xe1, 0xde, 0xff, 0xdf, 0xdf, 0xdd, 0xff, 0xa3, 0xa3, 0xa2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xb1, 0xb1, 0xb0, 0xff, 0x98, 0x98, 0x98, 0xff, 0xc7, 0xc7, 0xc6, 0xff,
+ 0xc5, 0xc5, 0xc4, 0xff, 0xee, 0xee, 0xec, 0xff, 0xc3, 0xc3, 0xc2, 0xff,
+ 0xc1, 0xc1, 0xc0, 0xff, 0xe9, 0xe9, 0xe7, 0xff, 0x6c, 0x6c, 0x6c, 0xff,
+ 0x8f, 0x9e, 0xac, 0xff, 0xbd, 0xb8, 0x95, 0xff, 0x70, 0x7c, 0x69, 0xff,
+ 0x8c, 0x9b, 0xaa, 0xff, 0x69, 0x69, 0x68, 0xff, 0xde, 0xde, 0xdb, 0xff,
+ 0xdc, 0xdc, 0xda, 0xff, 0xa3, 0xa3, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf2, 0xff, 0xf1, 0xf1, 0xf0, 0xff,
+ 0xf0, 0xf0, 0xee, 0xff, 0xee, 0xee, 0xed, 0xff, 0xec, 0xec, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xe9, 0xff, 0xe9, 0xe9, 0xe8, 0xff, 0xe8, 0xe8, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0x6b, 0x6b, 0x6a, 0xff, 0x96, 0xa5, 0xb4, 0xff,
+ 0xd3, 0xc7, 0x8d, 0xff, 0x9f, 0x9c, 0x64, 0xff, 0x6f, 0x7f, 0x77, 0xff,
+ 0x68, 0x68, 0x66, 0xff, 0xdb, 0xdb, 0xd8, 0xff, 0xda, 0xda, 0xd7, 0xff,
+ 0xa0, 0xa0, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf0, 0xf0, 0xef, 0xff, 0xa3, 0xa3, 0xa2, 0xff, 0x95, 0x95, 0x94, 0xff,
+ 0x94, 0x94, 0x93, 0xff, 0xa9, 0xa9, 0xa8, 0xff, 0x9a, 0x9a, 0x99, 0xff,
+ 0xa7, 0xa7, 0xa6, 0xff, 0xbd, 0xbd, 0xbb, 0xff, 0xe3, 0xe3, 0xe1, 0xff,
+ 0x6a, 0x6a, 0x69, 0xff, 0x9d, 0xac, 0xbb, 0xff, 0xcd, 0xc4, 0x96, 0xff,
+ 0x66, 0x73, 0x57, 0xff, 0x9b, 0xaa, 0xb9, 0xff, 0x66, 0x66, 0x65, 0xff,
+ 0xd8, 0xd8, 0xd5, 0xff, 0xd7, 0xd7, 0xd4, 0xff, 0xa2, 0xa2, 0xa1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xec, 0xff,
+ 0xec, 0xec, 0xea, 0xff, 0xea, 0xea, 0xe8, 0xff, 0xe9, 0xe9, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe5, 0xff, 0xe5, 0xe5, 0xe3, 0xff, 0xe4, 0xe4, 0xe2, 0xff,
+ 0xe2, 0xe2, 0xe0, 0xff, 0xe1, 0xe1, 0xde, 0xff, 0x68, 0x68, 0x68, 0xff,
+ 0xa5, 0xb4, 0xc3, 0xff, 0xcb, 0xc5, 0x9d, 0xff, 0x6c, 0x7d, 0x6f, 0xff,
+ 0x6f, 0x80, 0x73, 0xff, 0x65, 0x65, 0x63, 0xff, 0xd6, 0xd6, 0xd2, 0xff,
+ 0xd4, 0xd4, 0xd1, 0xff, 0xa2, 0xa2, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xea, 0xea, 0xe9, 0xff, 0x9b, 0x9b, 0x9a, 0xff,
+ 0x8d, 0x8d, 0x8c, 0xff, 0xe6, 0xe6, 0xe4, 0xff, 0xbc, 0xbc, 0xbb, 0xff,
+ 0x8f, 0x8f, 0x8d, 0xff, 0x8e, 0x8e, 0x8c, 0xff, 0xb9, 0xb9, 0xb6, 0xff,
+ 0xde, 0xde, 0xdb, 0xff, 0x67, 0x67, 0x66, 0xff, 0x67, 0x67, 0x65, 0xff,
+ 0x66, 0x66, 0x64, 0xff, 0x65, 0x65, 0x64, 0xff, 0x64, 0x64, 0x63, 0xff,
+ 0x64, 0x64, 0x62, 0xff, 0xd3, 0xd3, 0xd0, 0xff, 0xd1, 0xd1, 0xce, 0xff,
+ 0xa1, 0xa1, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe8, 0xe8, 0xe6, 0xff, 0xe6, 0xe6, 0xe4, 0xff, 0xe5, 0xe5, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe1, 0xff, 0xe1, 0xe1, 0xdf, 0xff, 0xe0, 0xe0, 0xde, 0xff,
+ 0xde, 0xde, 0xdc, 0xff, 0xdd, 0xdd, 0xda, 0xff, 0xdb, 0xdb, 0xd8, 0xff,
+ 0xda, 0xda, 0xd7, 0xff, 0xd8, 0xd8, 0xd5, 0xff, 0xd6, 0xd6, 0xd3, 0xff,
+ 0xd5, 0xd5, 0xd2, 0xff, 0xd3, 0xd3, 0xd0, 0xff, 0xd2, 0xd2, 0xce, 0xff,
+ 0xd0, 0xd0, 0xcd, 0xff, 0xcf, 0xcf, 0xcb, 0xff, 0xa0, 0xa0, 0x9f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xe5, 0xe3, 0xff,
+ 0x97, 0x97, 0x96, 0xff, 0x8e, 0x8e, 0x8d, 0xff, 0x8d, 0x8d, 0x8c, 0xff,
+ 0x8c, 0x8c, 0x8a, 0xff, 0xdd, 0xdd, 0xdb, 0xff, 0x92, 0x92, 0x90, 0xff,
+ 0x9e, 0x9e, 0x9b, 0xff, 0x9c, 0x9c, 0x9a, 0xff, 0x87, 0x87, 0x85, 0xff,
+ 0xd5, 0xd5, 0xd2, 0xff, 0xaf, 0xaf, 0xac, 0xff, 0x98, 0x98, 0x96, 0xff,
+ 0x8b, 0x8b, 0x88, 0xff, 0xab, 0xab, 0xa7, 0xff, 0xcd, 0xcd, 0xca, 0xff,
+ 0xcc, 0xcc, 0xc8, 0xff, 0xa2, 0xa2, 0xa1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe2, 0xe2, 0xe0, 0xff, 0xe1, 0xe1, 0xde, 0xff,
+ 0xdf, 0xdf, 0xdd, 0xff, 0xde, 0xde, 0xdb, 0xff, 0xdc, 0xdc, 0xd9, 0xff,
+ 0xda, 0xda, 0xd8, 0xff, 0xd9, 0xd9, 0xd6, 0xff, 0xd7, 0xd7, 0xd4, 0xff,
+ 0xd6, 0xd6, 0xd2, 0xff, 0xd4, 0xd4, 0xd1, 0xff, 0xd3, 0xd3, 0xcf, 0xff,
+ 0xd1, 0xd1, 0xcd, 0xff, 0xcf, 0xcf, 0xcc, 0xff, 0xce, 0xce, 0xca, 0xff,
+ 0xcc, 0xcc, 0xc8, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xa2, 0xa2, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe0, 0xe0, 0xdd, 0xff, 0x94, 0x94, 0x92, 0xff, 0xb6, 0xb6, 0xb4, 0xff,
+ 0xdb, 0xdb, 0xd8, 0xff, 0x9d, 0x9d, 0x9b, 0xff, 0x88, 0x88, 0x86, 0xff,
+ 0xd6, 0xd6, 0xd3, 0xff, 0xd5, 0xd5, 0xd1, 0xff, 0x8c, 0x8c, 0x8a, 0xff,
+ 0x8f, 0x8f, 0x8d, 0xff, 0x83, 0x83, 0x80, 0xff, 0xce, 0xce, 0xca, 0xff,
+ 0x94, 0x94, 0x91, 0xff, 0x94, 0x94, 0x90, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0x9f, 0x9f, 0x9f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xdd, 0xda, 0xff,
+ 0xdb, 0xdb, 0xd8, 0xff, 0xda, 0xda, 0xd7, 0xff, 0xd8, 0xd8, 0xd5, 0xff,
+ 0xd6, 0xd6, 0xd3, 0xff, 0xd5, 0xd5, 0xd2, 0xff, 0xd3, 0xd3, 0xd0, 0xff,
+ 0xd2, 0xd2, 0xce, 0xff, 0xd0, 0xd0, 0xcd, 0xff, 0xcf, 0xcf, 0xcb, 0xff,
+ 0xcd, 0xcd, 0xc9, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff, 0xcc, 0xcc, 0xc7, 0xff,
+ 0xcc, 0xcc, 0xc7, 0xff, 0xa0, 0xa0, 0x9f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff,
+ 0xd0, 0xd0, 0xd0, 0xff, 0xb1, 0xb1, 0xaf, 0xff, 0xb4, 0xb4, 0xb3, 0xff,
+ 0xb4, 0xb4, 0xb1, 0xff, 0xa0, 0xa0, 0x9d, 0xff, 0xa0, 0xa0, 0x9d, 0xff,
+ 0x9f, 0x9f, 0x9d, 0xff, 0x9f, 0x9f, 0x9d, 0xff, 0x9f, 0x9f, 0x9b, 0xff,
+ 0x99, 0x99, 0x95, 0xff, 0x8d, 0x8d, 0x89, 0xff, 0x8b, 0x8b, 0x89, 0xff,
+ 0x8b, 0x8b, 0x89, 0xff, 0x8b, 0x8b, 0x89, 0xff, 0x89, 0x89, 0x89, 0xff,
+ 0x89, 0x89, 0x89, 0xff, 0x83, 0x83, 0x7f, 0xff, 0x84, 0x84, 0x82, 0xff,
+ 0x5d, 0x5d, 0x5c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x6b,
+ 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x7b,
+ 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c,
+ 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c,
+ 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c,
+ 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x7b,
+ 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x66,
+ 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x51,
+ 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x54,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x32,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x33,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x51, 0xa8, 0x00, 0x05, 0x47, 0x9c,
+ 0x00, 0x05, 0x47, 0xb0, 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x6f, 0x6c, 0x6f,
+ 0x72, 0x2d, 0x70, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x47, 0xbc,
+ 0x00, 0x05, 0x47, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0xdc, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0xdc,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x92, 0x92, 0x92, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x92, 0x92, 0x92, 0xff, 0x92, 0x92, 0x92, 0xff,
+ 0x92, 0x92, 0x92, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x05, 0x51, 0xb4, 0x00, 0x05, 0x51, 0xc8, 0x67, 0x74, 0x6b, 0x2d,
+ 0x67, 0x6f, 0x74, 0x6f, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2d, 0x72,
+ 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x05, 0x51, 0xdc, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x51, 0xe4,
+ 0x00, 0x01, 0xb0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xb9, 0x48,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x5f, 0x6c, 0x00, 0x05, 0x51, 0xf8,
+ 0x00, 0x05, 0x52, 0x08, 0x67, 0x74, 0x6b, 0x2d, 0x72, 0x65, 0x64, 0x6f,
+ 0x2d, 0x6c, 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x52, 0x1c, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x05, 0x5b, 0x44, 0x00, 0x05, 0x52, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xff,
+ 0x93, 0x9a, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0x92, 0x99, 0x8c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0xff, 0x81, 0x8f, 0x71, 0xff,
+ 0xad, 0xbd, 0xa0, 0xff, 0xc2, 0xd5, 0xaa, 0xff, 0xd1, 0xdf, 0xbe, 0xff,
+ 0xbe, 0xd2, 0xa3, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0x99, 0xa2, 0x8f, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0xff, 0xa8, 0xbc, 0xa6, 0xff, 0xd5, 0xe1, 0xc6, 0xff,
+ 0xcd, 0xdc, 0xbc, 0xff, 0xd2, 0xe0, 0xbf, 0xff, 0xc5, 0xd7, 0xae, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0x91, 0x98, 0x89, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff,
+ 0x8c, 0x9a, 0x7f, 0xff, 0xd4, 0xe0, 0xc5, 0xff, 0xd3, 0xe0, 0xc1, 0xff,
+ 0xd1, 0xdf, 0xbe, 0xff, 0xbf, 0xd3, 0xa6, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0x9b, 0xaa, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0xff,
+ 0xb5, 0xc3, 0xa9, 0xff, 0xd5, 0xe1, 0xc6, 0xff, 0x92, 0xad, 0x62, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x59, 0x70, 0x2d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x25,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x8e, 0x6b, 0xff,
+ 0xc8, 0xd9, 0xb2, 0xff, 0x85, 0xa2, 0x4d, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x53, 0x69, 0x2a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xa4, 0xb6, 0x90, 0xff,
+ 0x9b, 0xb5, 0x72, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x59, 0x70, 0x2d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x53, 0x69, 0x2a, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x6d, 0x88, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0xff,
+ 0x59, 0x70, 0x2d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x8a,
+ 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff, 0x95, 0xa7, 0x7e, 0xff,
+ 0x8b, 0xa8, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x53,
+ 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0xff, 0x65, 0x72, 0x55, 0xff,
+ 0x98, 0xaf, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0xff,
+ 0xaf, 0xc3, 0x94, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff,
+ 0x6d, 0x7a, 0x5b, 0xff, 0x9c, 0xaf, 0x84, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0x74, 0x82, 0x61, 0xff, 0x87, 0x97, 0x72, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1b,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0a,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x5b, 0x4c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x9f, 0xa5, 0x9a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe3, 0xeb, 0xd8, 0xff, 0x92, 0x99, 0x8c, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b,
+ 0x29, 0x29, 0x29, 0xff, 0xa5, 0xa9, 0x9e, 0xff, 0xea, 0xee, 0xe8, 0xff,
+ 0xe8, 0xed, 0xdf, 0xff, 0xea, 0xf0, 0xe3, 0xff, 0xd5, 0xe2, 0xc5, 0xff,
+ 0xc2, 0xd6, 0xa9, 0xff, 0x99, 0xa2, 0x8f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xd9, 0xce, 0xff, 0xea, 0xef, 0xe3, 0xff,
+ 0xcf, 0xdd, 0xbe, 0xff, 0xd2, 0xe0, 0xbf, 0xff, 0xc5, 0xd7, 0xae, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0x91, 0x98, 0x89, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0xff, 0xb2, 0xbb, 0xa9, 0xff, 0xea, 0xef, 0xe5, 0xff,
+ 0xd4, 0xe1, 0xc3, 0xff, 0xd1, 0xdf, 0xbe, 0xff, 0xbf, 0xd3, 0xa6, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff,
+ 0xba, 0xd0, 0x9d, 0xff, 0xba, 0xd0, 0x9d, 0xff, 0x61, 0x6b, 0x54, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x81, 0x4e, 0x4e, 0x4e, 0xff, 0xde, 0xe3, 0xda, 0xff,
+ 0xda, 0xe5, 0xce, 0xff, 0x92, 0xad, 0x62, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x59, 0x70, 0x2d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb7, 0xbe, 0xad, 0xff,
+ 0xdf, 0xe9, 0xd4, 0xff, 0x85, 0xa2, 0x4d, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x53, 0x69, 0x2a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd7, 0xdf, 0xcf, 0xff, 0x9b, 0xb5, 0x72, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x59, 0x70, 0x2d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x7c, 0x9b, 0x40, 0xff, 0x53, 0x69, 0x2a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd5, 0xe1, 0xc4, 0xff, 0x7c, 0x9b, 0x40, 0xff,
+ 0x6d, 0x88, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x59, 0x70, 0x2d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc7, 0xd9, 0xb0, 0xff,
+ 0x7c, 0x9b, 0x40, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x83,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x65, 0x72, 0x55, 0xff, 0x98, 0xaf, 0x74, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0xff, 0xaf, 0xc3, 0x94, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x6d, 0x7a, 0x5b, 0xff, 0x9c, 0xaf, 0x84, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x6c, 0xe4, 0x00, 0x05, 0x5f, 0x78,
+ 0x00, 0x05, 0x5f, 0x80, 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x75, 0x74, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x5f, 0x94,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x68, 0xbc, 0x00, 0x05, 0x5f, 0x9c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc9, 0xc7, 0xc2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe6, 0xe4, 0xe0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xef, 0xee, 0xed, 0xff, 0x49, 0x49, 0x46, 0xff, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0x73, 0x72, 0x6e, 0xff,
+ 0xe6, 0xe4, 0xe0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x26,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xee, 0xed, 0xff, 0x7f, 0x7d, 0x75, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf1, 0xef, 0xff,
+ 0xd2, 0xcf, 0xc8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb1,
+ 0xe7, 0xe7, 0xe4, 0xff, 0xba, 0xb5, 0xab, 0xff, 0x56, 0x56, 0x53, 0xff,
+ 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x51, 0x73, 0x72, 0x6e, 0xff, 0xed, 0xec, 0xe9, 0xff,
+ 0xa4, 0xa0, 0x97, 0xff, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50,
+ 0x81, 0x7f, 0x7e, 0xff, 0xef, 0xee, 0xed, 0xff, 0x7f, 0x7d, 0x75, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf1, 0xef, 0xff, 0xd2, 0xcf, 0xc8, 0xff,
+ 0x4e, 0x4c, 0x48, 0xff, 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x27,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf5, 0xf4, 0xff, 0xba, 0xb5, 0xab, 0xff,
+ 0x47, 0x45, 0x41, 0xff, 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x64,
+ 0x4e, 0x4c, 0x48, 0xff, 0xef, 0xee, 0xec, 0xff, 0xba, 0xb5, 0xab, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x50, 0x8c, 0x8b, 0x8a, 0xff, 0xf3, 0xf2, 0xf0, 0xff,
+ 0x77, 0x74, 0x6d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x32, 0x32, 0x32, 0xff,
+ 0xeb, 0xeb, 0xea, 0xff, 0xd2, 0xcf, 0xc8, 0xff, 0x60, 0x5d, 0x58, 0xff,
+ 0x00, 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xce, 0xcc, 0xc7, 0xff, 0x36, 0x36, 0x34, 0xff, 0x6f, 0x6e, 0x6d, 0xff,
+ 0xbe, 0xbd, 0xbb, 0xff, 0xba, 0xb5, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0xea, 0xe7, 0xe4, 0xff, 0xb8, 0xb5, 0xb1, 0xff, 0x47, 0x47, 0x47, 0xff,
+ 0xba, 0xb5, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c,
+ 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0xff, 0xda, 0xd8, 0xd4, 0xff, 0x9b, 0x99, 0x96, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76,
+ 0x00, 0x00, 0x00, 0xd7, 0x16, 0x16, 0x15, 0xfd, 0x6d, 0x6b, 0x6a, 0xfc,
+ 0x3a, 0x38, 0x37, 0xfa, 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86,
+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xc1,
+ 0x00, 0x00, 0x00, 0xed, 0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00, 0xd0,
+ 0x00, 0x00, 0x00, 0xe8, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xe1,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x8b,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x8b,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x93,
+ 0x00, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xde, 0x00, 0x00, 0x00, 0xaf,
+ 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x9c,
+ 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2e,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x1a,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x6e,
+ 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x63,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x8d,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x8b,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0xb1,
+ 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x86,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x89,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x91,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x89,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x91,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0x68, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4d,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd9, 0xd8, 0xd2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd1, 0xce, 0xc3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe0, 0xde, 0xd9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc8, 0xc4, 0xb8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x00, 0x00, 0x00, 0xb7, 0xcc, 0xca, 0xc6, 0xff, 0xc3, 0xc2, 0xbc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xe5, 0xe3, 0xdd, 0xff, 0xa0, 0x9d, 0x94, 0xff, 0x00, 0x00, 0x00, 0xb0,
+ 0x00, 0x00, 0x00, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x4e, 0x4e, 0x4e, 0xff,
+ 0xd8, 0xd6, 0xd1, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc8, 0xc5, 0xb9, 0xff, 0x54, 0x51, 0x4d, 0xff,
+ 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe2, 0xdd, 0xff, 0x9d, 0x9a, 0x94, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xd0, 0xcc, 0xc1, 0xff, 0xbf, 0xbb, 0xb1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x5b, 0x59, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc7, 0xc4, 0xbb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xca, 0xc5, 0xbb, 0xff,
+ 0x16, 0x16, 0x14, 0xe5, 0xe3, 0xe2, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0xcd, 0x16, 0x16, 0x16, 0xff,
+ 0x0d, 0x0d, 0x0c, 0xe3, 0x00, 0x00, 0x00, 0x6a, 0x1a, 0x1a, 0x19, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xcd, 0x00, 0x00, 0x00, 0xa1,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0xb0,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5c,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x33, 0x33, 0x32, 0x4e, 0x72, 0x71, 0x6e, 0x2b, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d,
+ 0x00, 0x00, 0x00, 0xff, 0x33, 0x33, 0x32, 0x4e, 0x72, 0x71, 0x6e, 0x2b,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0x17, 0xea, 0xe8, 0xe3, 0x17,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0x17,
+ 0xea, 0xe8, 0xe3, 0x17, 0x00, 0x00, 0x00, 0xff, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0xff, 0x72, 0x71, 0x6e, 0x2b,
+ 0x72, 0x71, 0x6e, 0x2b, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x72, 0x71, 0x6e, 0x2b, 0x72, 0x71, 0x6e, 0x2b, 0x00, 0x00, 0x00, 0xff,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4d, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xa7, 0xa6, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xa7, 0xa6, 0xa2, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00,
+ 0xea, 0xe8, 0xe3, 0x00, 0xea, 0xe8, 0xe3, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x05, 0x6c, 0xf0, 0x00, 0x05, 0x6d, 0x04, 0x67, 0x74, 0x6b, 0x2d,
+ 0x75, 0x6e, 0x69, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x2d, 0x72, 0x74, 0x6c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x05, 0x6d, 0x18, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x76, 0x40,
+ 0x00, 0x05, 0x6d, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x94,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x9a, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x15,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xae, 0xae, 0xae, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x29,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x38,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0xac, 0xac, 0xac, 0xff, 0xac, 0xac, 0xac, 0xff,
+ 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xb0, 0xb0, 0xb0, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0xb2, 0xb2, 0xb2, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xb3, 0xb3, 0xb3, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x75, 0x75, 0x75, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x76, 0x76, 0x76, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0x7c, 0x7c, 0x7c, 0xff, 0x7b, 0x7b, 0x7b, 0xff,
+ 0x7b, 0x7b, 0x7b, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xb7, 0xb7, 0xb7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x79, 0x79, 0x79, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xb7, 0xb7, 0xb7, 0xff, 0xb8, 0xb8, 0xb8, 0xff,
+ 0xb8, 0xb8, 0xb8, 0xff, 0xb8, 0xb8, 0xb8, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xd9, 0xd9, 0xd9, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x9a, 0xc9, 0xc9, 0xc9, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0xee, 0xee, 0xee, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf2, 0xf2, 0xf2, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x3a,
+ 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x2d,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3c,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x3d,
+ 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x19,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x76, 0x48, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2a,
+ 0x00, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x22,
+ 0x00, 0x00, 0x00, 0x6a, 0xbf, 0xbf, 0xbf, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xb9, 0xb9, 0xb9, 0xff,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xa6, 0xa6, 0xa6, 0xff, 0xa7, 0xa7, 0xa7, 0xff, 0xa8, 0xa8, 0xa8, 0xff,
+ 0xa9, 0xa9, 0xa9, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0xab, 0xab, 0xab, 0xff, 0xac, 0xac, 0xac, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0xae, 0xae, 0xae, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff, 0x77, 0x77, 0x77, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x76, 0x76, 0x76, 0xff, 0x75, 0x75, 0x75, 0xff,
+ 0x75, 0x75, 0x75, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xc4, 0xc4, 0xc4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x7a, 0x7a, 0x7a, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0x78, 0x78, 0x78, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x77, 0x77, 0x77, 0xff, 0x76, 0x76, 0x76, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0x00, 0x00, 0x00, 0xff, 0xb5, 0xb5, 0xb5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0x79, 0x79, 0x79, 0xff, 0x78, 0x78, 0x78, 0xff,
+ 0x78, 0x78, 0x78, 0xff, 0x77, 0x77, 0x77, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xc6, 0xc6, 0xc6, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xac, 0xac, 0xac, 0xff, 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0xaf, 0xaf, 0xaf, 0xff, 0xaf, 0xaf, 0xaf, 0xff, 0xb1, 0xb1, 0xb1, 0xff,
+ 0xb1, 0xb1, 0xb1, 0xff, 0xb2, 0xb2, 0xb2, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0xb4, 0xb4, 0xb4, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0xb6, 0xb6, 0xb6, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xee, 0xee, 0xee, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xb1, 0xb1, 0xb1, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x82, 0xbe, 0xbe, 0xbe, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xc1, 0xc1, 0xc1, 0xff,
+ 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x69,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0x87, 0xe8, 0x00, 0x05, 0x7a, 0x74, 0x00, 0x05, 0x7a, 0x84,
+ 0x67, 0x74, 0x6b, 0x2d, 0x7a, 0x6f, 0x6f, 0x6d, 0x2d, 0x66, 0x69, 0x74,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x05, 0x7a, 0x98, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x83, 0xc0,
+ 0x00, 0x05, 0x7a, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x49, 0x49, 0x49, 0x4e, 0x34, 0x34, 0x34, 0xa3,
+ 0x2d, 0x2d, 0x2d, 0xdd, 0x29, 0x29, 0x29, 0xfb, 0x26, 0x26, 0x26, 0xfb,
+ 0x26, 0x26, 0x26, 0xdd, 0x26, 0x26, 0x26, 0xa3, 0x35, 0x35, 0x35, 0x4e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x5d, 0x5d, 0x32,
+ 0x2e, 0x2e, 0x2e, 0xc0, 0x30, 0x30, 0x30, 0xff, 0x73, 0x73, 0x73, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xb2, 0xb2, 0xb2, 0xff,
+ 0x9d, 0x9d, 0x9d, 0xff, 0x67, 0x67, 0x67, 0xff, 0x20, 0x20, 0x20, 0xff,
+ 0x1c, 0x1c, 0x1c, 0xc0, 0x37, 0x37, 0x37, 0x32, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x4e, 0x27, 0x27, 0x27, 0xfb,
+ 0x61, 0x61, 0x61, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0xcf, 0xcf, 0xcf, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0xc9, 0xc9, 0xc9, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0xa7, 0xa7, 0xa7, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0x13, 0x13, 0x13, 0xfb, 0x23, 0x23, 0x23, 0x4e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4f, 0x4f, 0x4f, 0x32, 0x22, 0x22, 0x22, 0xfb, 0x75, 0x75, 0x75, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xef, 0xef, 0xef, 0xff, 0xf3, 0xf3, 0xf3, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xd2, 0xd2, 0xd2, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0x5e, 0x5e, 0x5e, 0xff, 0x10, 0x10, 0x10, 0xfb,
+ 0x24, 0x24, 0x24, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x21, 0x21, 0x21, 0xc0, 0x5b, 0x5b, 0x5b, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0x4b, 0x4b, 0x4b, 0xff, 0x50, 0x50, 0x50, 0xff,
+ 0x52, 0x52, 0x52, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0x51, 0x51, 0x51, 0xff, 0x50, 0x50, 0x50, 0xff, 0x4f, 0x4f, 0x4f, 0xff,
+ 0x4a, 0x4a, 0x4a, 0xff, 0xc2, 0xc2, 0xc2, 0xff, 0x43, 0x43, 0x43, 0xff,
+ 0x0f, 0x0f, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x4e,
+ 0x1f, 0x1f, 0x1f, 0xff, 0xb9, 0xb9, 0xb9, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0x52, 0x52, 0x52, 0xff, 0x52, 0x52, 0x52, 0xff,
+ 0x53, 0x53, 0x53, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x52, 0x52, 0x52, 0xff, 0x51, 0x51, 0x51, 0xff, 0x4f, 0x4f, 0x4f, 0xff,
+ 0x4d, 0x4d, 0x4d, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xab, 0xab, 0xab, 0xff,
+ 0x0e, 0x0e, 0x0e, 0xff, 0x12, 0x12, 0x12, 0x4e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x1b, 0x1b, 0xa3,
+ 0x6d, 0x6d, 0x6d, 0xff, 0xd2, 0xd2, 0xd2, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0x50, 0x50, 0x50, 0xff, 0x52, 0x52, 0x52, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0x50, 0x50, 0x50, 0xff,
+ 0x4e, 0x4e, 0x4e, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x57, 0x57, 0x57, 0xff, 0x09, 0x09, 0x09, 0xa3, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x14, 0x14, 0xdd,
+ 0xa8, 0xa8, 0xa8, 0xff, 0xd8, 0xd8, 0xd8, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0x51, 0x51, 0x51, 0xff, 0x52, 0x52, 0x52, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0x50, 0x50, 0x50, 0xff,
+ 0x4e, 0x4e, 0x4e, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xdc, 0xdc, 0xdc, 0xff,
+ 0x9b, 0x9b, 0x9b, 0xff, 0x06, 0x06, 0x06, 0xdd, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0xfb,
+ 0xc5, 0xc5, 0xc5, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xf7, 0xf7, 0xf7, 0xff, 0xf2, 0xf2, 0xf2, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x06, 0x06, 0x06, 0xfb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0e, 0x0e, 0xfb,
+ 0xc6, 0xc6, 0xc6, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xf2, 0xf2, 0xf2, 0xff, 0xf5, 0xf5, 0xf5, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf7, 0xf7, 0xf7, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xd7, 0xd7, 0xd7, 0xff,
+ 0xba, 0xba, 0xba, 0xff, 0x05, 0x05, 0x05, 0xfb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0b, 0x0b, 0xdd,
+ 0xa5, 0xa5, 0xa5, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x4e, 0x4e, 0x4e, 0xff, 0x4f, 0x4f, 0x4f, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xf5, 0xf5, 0xf5, 0xff,
+ 0xf3, 0xf3, 0xf3, 0xff, 0xef, 0xef, 0xef, 0xff, 0x4d, 0x4d, 0x4d, 0xff,
+ 0x4b, 0x4b, 0x4b, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xd1, 0xd1, 0xd1, 0xff,
+ 0x93, 0x93, 0x93, 0xff, 0x02, 0x02, 0x02, 0xdd, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x0a, 0x0a, 0xa3,
+ 0x5f, 0x5f, 0x5f, 0xff, 0xd9, 0xd9, 0xd9, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0x4b, 0x4b, 0x4b, 0xff, 0x4d, 0x4d, 0x4d, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0x4b, 0x4b, 0x4b, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xd4, 0xd4, 0xd4, 0xff, 0xca, 0xca, 0xca, 0xff,
+ 0x4c, 0x4c, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x0c, 0x4e,
+ 0x0a, 0x0a, 0x0a, 0xff, 0xb4, 0xb4, 0xb4, 0xff, 0xd8, 0xd8, 0xd8, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0x4a, 0x4a, 0x4a, 0xff, 0x4b, 0x4b, 0x4b, 0xff,
+ 0x4b, 0x4b, 0x4b, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0x4a, 0x4a, 0x4a, 0xff, 0x49, 0x49, 0x49, 0xff, 0x47, 0x47, 0x47, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0xcb, 0xcb, 0xcb, 0xff, 0xa1, 0xa1, 0xa1, 0xff,
+ 0x02, 0x02, 0x02, 0xff, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x06, 0x06, 0x06, 0xc0, 0x3b, 0x3b, 0x3b, 0xff, 0xcc, 0xcc, 0xcc, 0xff,
+ 0x45, 0x45, 0x45, 0xff, 0x45, 0x45, 0x45, 0xff, 0x47, 0x47, 0x47, 0xff,
+ 0x48, 0x48, 0x48, 0xff, 0xda, 0xda, 0xda, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x47, 0x47, 0x47, 0xff, 0x46, 0x46, 0x46, 0xff, 0x44, 0x44, 0x44, 0xff,
+ 0x41, 0x41, 0x41, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0x2e, 0x2e, 0x2e, 0xff,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x05, 0x05, 0x32, 0x05, 0x05, 0x05, 0xfb, 0x51, 0x51, 0x51, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xc7, 0xc7, 0xc7, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xcc, 0xcc, 0xcc, 0xff, 0xcd, 0xcd, 0xcd, 0xff, 0xcb, 0xcb, 0xcb, 0xff,
+ 0xcb, 0xcb, 0xcb, 0xff, 0xc8, 0xc8, 0xc8, 0xff, 0xc2, 0xc2, 0xc2, 0xff,
+ 0xb8, 0xb8, 0xb8, 0xff, 0x45, 0x45, 0x45, 0xff, 0x00, 0x00, 0x00, 0xfb,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x03, 0x03, 0x03, 0x4e, 0x03, 0x03, 0x03, 0xfb,
+ 0x31, 0x31, 0x31, 0xff, 0x99, 0x99, 0x99, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbc, 0xbc, 0xbc, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0x2b, 0x2b, 0x2b, 0xff, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0xf1,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x32,
+ 0x01, 0x01, 0x01, 0xc0, 0x03, 0x03, 0x03, 0xff, 0x41, 0x41, 0x41, 0xff,
+ 0x7a, 0x7a, 0x7a, 0xff, 0x9a, 0x9a, 0x9a, 0xff, 0x9a, 0x9a, 0x9a, 0xff,
+ 0x77, 0x77, 0x77, 0xff, 0x3c, 0x3c, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xdf,
+ 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xdf,
+ 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0xa3,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x00, 0x00, 0xfb,
+ 0x00, 0x00, 0x00, 0xdd, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x4e,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x20, 0x20, 0x20, 0xf3, 0x20, 0x20, 0x20, 0xf4, 0x00, 0x00, 0x00, 0xf6,
+ 0x00, 0x00, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xec, 0x68, 0x68, 0x68, 0xfb, 0x34, 0x34, 0x34, 0xf7,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf3, 0x79, 0x79, 0x79, 0xfd,
+ 0x3a, 0x3a, 0x3a, 0xfc, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x00, 0x00, 0xf4,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf8,
+ 0x68, 0x68, 0x68, 0xfb, 0x1f, 0x1f, 0x1f, 0xfb, 0x00, 0x00, 0x00, 0xf4,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x3f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x83, 0xc8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xf9,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xcb,
+ 0x26, 0x26, 0x26, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xab, 0xab, 0xab, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb,
+ 0x87, 0x87, 0x87, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x70, 0x70, 0x70, 0xff, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74,
+ 0x46, 0x46, 0x46, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0x46, 0x46, 0x46, 0xff, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xcb, 0xb0, 0xb0, 0xb0, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0xee, 0xee, 0xee, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9,
+ 0xed, 0xed, 0xed, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xcb, 0xab, 0xab, 0xab, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xba, 0xba, 0xba, 0xff, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x46, 0x46, 0x46, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xcb, 0x85, 0x85, 0x85, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x6d, 0x6d, 0x6d, 0xff,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0xcb,
+ 0x46, 0x46, 0x46, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0x46, 0x46, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf3,
+ 0x00, 0x00, 0x00, 0xdf, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xf9, 0x00, 0x00, 0x00, 0xcb,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x1f, 0x20, 0x20, 0x20, 0xf3,
+ 0x20, 0x20, 0x20, 0xf4, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0xf1,
+ 0x00, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xec, 0x68, 0x68, 0x68, 0xfb, 0x34, 0x34, 0x34, 0xf7,
+ 0x00, 0x00, 0x00, 0xf2, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf3,
+ 0x79, 0x79, 0x79, 0xfd, 0x3a, 0x3a, 0x3a, 0xfc, 0x00, 0x00, 0x00, 0xf3,
+ 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0xf8, 0x68, 0x68, 0x68, 0xfb,
+ 0x1f, 0x1f, 0x1f, 0xfb, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0xe7, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x3f,
+ 0x00, 0x05, 0x95, 0x64, 0x00, 0x05, 0x87, 0xf4, 0x00, 0x05, 0x88, 0x00,
+ 0x67, 0x74, 0x6b, 0x2d, 0x73, 0x74, 0x6f, 0x70, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x88, 0x14,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x91, 0x3c, 0x00, 0x05, 0x88, 0x1c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x64,
+ 0x01, 0x00, 0x00, 0xdd, 0x18, 0x08, 0x01, 0xfa, 0x2d, 0x11, 0x03, 0xff,
+ 0x2c, 0x10, 0x03, 0xff, 0x18, 0x08, 0x01, 0xfb, 0x01, 0x00, 0x00, 0xdf,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x61, 0x28, 0x0f, 0x02, 0xf5, 0x84, 0x32, 0x0b, 0xff,
+ 0xc7, 0x56, 0x21, 0xff, 0xdc, 0x79, 0x4a, 0xff, 0xda, 0x75, 0x46, 0xff,
+ 0xd7, 0x74, 0x45, 0xff, 0xd3, 0x72, 0x45, 0xff, 0xb7, 0x49, 0x18, 0xff,
+ 0x77, 0x2b, 0x09, 0xff, 0x25, 0x0d, 0x02, 0xf7, 0x00, 0x00, 0x00, 0x66,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0x0b, 0x04, 0x00, 0xbe,
+ 0x88, 0x36, 0x0e, 0xff, 0xdf, 0x72, 0x3d, 0xff, 0xe4, 0x7f, 0x4e, 0xff,
+ 0xe1, 0x73, 0x3d, 0xff, 0xda, 0x5a, 0x1c, 0xff, 0xd6, 0x51, 0x12, 0xff,
+ 0xd1, 0x4e, 0x11, 0xff, 0xcc, 0x4c, 0x0f, 0xff, 0xc7, 0x49, 0x0f, 0xff,
+ 0xc2, 0x46, 0x0f, 0xff, 0xbb, 0x43, 0x0f, 0xff, 0x74, 0x29, 0x09, 0xff,
+ 0x0a, 0x03, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x11, 0x15, 0x07, 0x01, 0xd4, 0xb5, 0x45, 0x0f, 0xff,
+ 0xe4, 0x7b, 0x46, 0xff, 0xe5, 0x73, 0x3a, 0xff, 0xe2, 0x58, 0x13, 0xff,
+ 0xe2, 0x58, 0x13, 0xff, 0xdf, 0x56, 0x13, 0xff, 0xdb, 0x54, 0x12, 0xff,
+ 0xd6, 0x51, 0x12, 0xff, 0xd0, 0x4e, 0x10, 0xff, 0xca, 0x4b, 0x0f, 0xff,
+ 0xc5, 0x48, 0x0f, 0xff, 0xbf, 0x45, 0x0f, 0xff, 0xb9, 0x42, 0x0e, 0xff,
+ 0x97, 0x35, 0x0b, 0xff, 0x13, 0x06, 0x00, 0xda, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0e,
+ 0x0a, 0x03, 0x00, 0xbb, 0xb3, 0x44, 0x0f, 0xff, 0xe5, 0x79, 0x44, 0xff,
+ 0xe6, 0x70, 0x34, 0xff, 0xe7, 0x5a, 0x13, 0xff, 0xe9, 0x5b, 0x13, 0xff,
+ 0xe8, 0x5b, 0x13, 0xff, 0xe4, 0x59, 0x13, 0xff, 0xe0, 0x57, 0x13, 0xff,
+ 0xda, 0x53, 0x12, 0xff, 0xd4, 0x4f, 0x12, 0xff, 0xcd, 0x4d, 0x0f, 0xff,
+ 0xc7, 0x49, 0x0f, 0xff, 0xc1, 0x46, 0x0f, 0xff, 0xbb, 0x43, 0x0e, 0xff,
+ 0xb5, 0x3f, 0x0d, 0xff, 0x93, 0x33, 0x0b, 0xff, 0x09, 0x03, 0x00, 0xc1,
+ 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x59,
+ 0x82, 0x34, 0x0f, 0xff, 0xe1, 0x76, 0x41, 0xff, 0xe4, 0x6c, 0x2f, 0xff,
+ 0xe7, 0x5a, 0x13, 0xff, 0xed, 0x5d, 0x13, 0xff, 0xc9, 0x4f, 0x10, 0xff,
+ 0xc1, 0x4b, 0x0f, 0xff, 0xe9, 0x5b, 0x13, 0xff, 0xe3, 0x58, 0x13, 0xff,
+ 0xdc, 0x55, 0x12, 0xff, 0xd6, 0x51, 0x12, 0xff, 0xc6, 0x49, 0x0f, 0xff,
+ 0xac, 0x3f, 0x0c, 0xff, 0xc3, 0x46, 0x0f, 0xff, 0xbc, 0x43, 0x0f, 0xff,
+ 0xb6, 0x40, 0x0e, 0xff, 0xb0, 0x3d, 0x0d, 0xff, 0x6a, 0x24, 0x08, 0xff,
+ 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x23, 0x0c, 0x02, 0xf2,
+ 0xd7, 0x63, 0x2c, 0xff, 0xe3, 0x7a, 0x47, 0xff, 0xe3, 0x58, 0x13, 0xff,
+ 0xe9, 0x5c, 0x13, 0xff, 0xa2, 0x49, 0x19, 0xff, 0x9c, 0x76, 0x63, 0xff,
+ 0x8c, 0x63, 0x4d, 0xff, 0xaa, 0x44, 0x10, 0xff, 0xda, 0x55, 0x12, 0xff,
+ 0xde, 0x56, 0x12, 0xff, 0xc1, 0x4b, 0x12, 0xff, 0xa0, 0x73, 0x5d, 0xff,
+ 0xb3, 0x8c, 0x7a, 0xff, 0xa6, 0x4f, 0x27, 0xff, 0xbc, 0x44, 0x0f, 0xff,
+ 0xb6, 0x40, 0x0e, 0xff, 0xb0, 0x3d, 0x0d, 0xff, 0xa9, 0x3a, 0x0d, 0xff,
+ 0x1f, 0x0a, 0x01, 0xf5, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x59, 0x7f, 0x37, 0x15, 0xff,
+ 0xde, 0x7a, 0x4a, 0xff, 0xdb, 0x54, 0x12, 0xff, 0xe2, 0x58, 0x13, 0xff,
+ 0xe8, 0x5b, 0x13, 0xff, 0xab, 0x80, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xde, 0xb3, 0x9d, 0xff, 0xb1, 0x47, 0x12, 0xff,
+ 0xc3, 0x4d, 0x13, 0xff, 0xa3, 0x82, 0x72, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe6, 0xb4, 0x9e, 0xff, 0xc6, 0x60, 0x35, 0xff,
+ 0xb6, 0x40, 0x0e, 0xff, 0xb0, 0x3d, 0x0d, 0xff, 0xaa, 0x3a, 0x0d, 0xff,
+ 0x64, 0x21, 0x07, 0xff, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0xd6, 0xc3, 0x68, 0x3d, 0xff,
+ 0xd7, 0x60, 0x2a, 0xff, 0xd9, 0x53, 0x12, 0xff, 0xdf, 0x57, 0x13, 0xff,
+ 0xe5, 0x59, 0x13, 0xff, 0xab, 0x72, 0x55, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xaf, 0x9b, 0xff,
+ 0xac, 0x89, 0x78, 0xff, 0xda, 0xda, 0xda, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdc, 0x99, 0x7b, 0xff, 0xca, 0x6d, 0x44, 0xff,
+ 0xb5, 0x40, 0x0e, 0xff, 0xaf, 0x3d, 0x0d, 0xff, 0xa9, 0x3a, 0x0d, 0xff,
+ 0x7f, 0x2b, 0x09, 0xff, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x10, 0x10, 0x05, 0x00, 0xf8, 0xd5, 0x75, 0x48, 0xff,
+ 0xd0, 0x4e, 0x10, 0xff, 0xd6, 0x51, 0x12, 0xff, 0xdb, 0x54, 0x12, 0xff,
+ 0xe0, 0x57, 0x13, 0xff, 0xbc, 0x4a, 0x11, 0xff, 0xb1, 0x87, 0x71, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe7, 0xb3, 0x9c, 0xff, 0xce, 0x72, 0x4a, 0xff, 0xc7, 0x66, 0x3c, 0xff,
+ 0xb4, 0x3f, 0x0d, 0xff, 0xae, 0x3c, 0x0d, 0xff, 0xa8, 0x39, 0x0c, 0xff,
+ 0x8e, 0x2f, 0x0a, 0xff, 0x10, 0x05, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x11, 0x22, 0x0c, 0x03, 0xfe, 0xd3, 0x72, 0x45, 0xff,
+ 0xcc, 0x4c, 0x0f, 0xff, 0xd2, 0x4e, 0x11, 0xff, 0xd7, 0x51, 0x12, 0xff,
+ 0xda, 0x53, 0x12, 0xff, 0xdd, 0x55, 0x12, 0xff, 0xde, 0x57, 0x14, 0xff,
+ 0xaf, 0x86, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0xb4, 0x9d, 0xff,
+ 0xd3, 0x77, 0x4e, 0xff, 0xc3, 0x59, 0x2a, 0xff, 0xb7, 0x41, 0x0e, 0xff,
+ 0xb2, 0x3e, 0x0d, 0xff, 0xac, 0x3b, 0x0d, 0xff, 0xa6, 0x38, 0x0c, 0xff,
+ 0x85, 0x2c, 0x08, 0xff, 0x1f, 0x0a, 0x02, 0xfe, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x11, 0x21, 0x0c, 0x03, 0xfe, 0xd1, 0x70, 0x45, 0xff,
+ 0xc8, 0x49, 0x0f, 0xff, 0xcc, 0x4c, 0x0f, 0xff, 0xd1, 0x4e, 0x11, 0xff,
+ 0xd4, 0x50, 0x12, 0xff, 0xd7, 0x51, 0x12, 0xff, 0xd8, 0x54, 0x15, 0xff,
+ 0xb2, 0x8f, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xc1, 0xaf, 0xff,
+ 0xc5, 0x56, 0x25, 0xff, 0xba, 0x42, 0x0e, 0xff, 0xb5, 0x3f, 0x0d, 0xff,
+ 0xb0, 0x3d, 0x0d, 0xff, 0xaa, 0x3a, 0x0d, 0xff, 0xa4, 0x37, 0x0c, 0xff,
+ 0x74, 0x26, 0x06, 0xff, 0x1a, 0x08, 0x01, 0xfe, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x10, 0x0d, 0x04, 0x00, 0xf7, 0xcc, 0x6e, 0x45, 0xff,
+ 0xc4, 0x47, 0x0f, 0xff, 0xc7, 0x49, 0x0f, 0xff, 0xcb, 0x4b, 0x0f, 0xff,
+ 0xce, 0x4d, 0x0f, 0xff, 0xa8, 0x41, 0x0e, 0xff, 0xb1, 0x8d, 0x7d, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xeb, 0xc8, 0xb9, 0xff, 0xbd, 0x51, 0x23, 0xff, 0xb2, 0x3e, 0x0d, 0xff,
+ 0xad, 0x3b, 0x0d, 0xff, 0xa7, 0x38, 0x0c, 0xff, 0xa2, 0x36, 0x0b, 0xff,
+ 0x67, 0x20, 0x05, 0xff, 0x0e, 0x04, 0x00, 0xf9, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0xd1, 0xad, 0x51, 0x29, 0xff,
+ 0xbe, 0x45, 0x0f, 0xff, 0xc2, 0x46, 0x0f, 0xff, 0xc5, 0x48, 0x0f, 0xff,
+ 0xaa, 0x3e, 0x0c, 0xff, 0xa7, 0x74, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xb3, 0x9c, 0xff,
+ 0xe6, 0xb3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdc, 0xa8, 0x92, 0xff, 0xb6, 0x4f, 0x25, 0xff,
+ 0xa9, 0x3a, 0x0d, 0xff, 0xa4, 0x37, 0x0c, 0xff, 0x8e, 0x2f, 0x09, 0xff,
+ 0x5f, 0x1e, 0x05, 0xff, 0x00, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x4e, 0x80, 0x4a, 0x32, 0xff,
+ 0xb9, 0x42, 0x0e, 0xff, 0xbd, 0x44, 0x0f, 0xff, 0xbf, 0x45, 0x0f, 0xff,
+ 0x97, 0x36, 0x0b, 0xff, 0xa8, 0x7d, 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe5, 0xb2, 0x9c, 0xff, 0xc9, 0x63, 0x35, 0xff,
+ 0xc4, 0x57, 0x29, 0xff, 0xe2, 0xb1, 0x9b, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xdb, 0xa9, 0x95, 0xff, 0xb4, 0x51, 0x2a, 0xff,
+ 0xa6, 0x38, 0x0c, 0xff, 0x9a, 0x33, 0x0a, 0xff, 0x7c, 0x28, 0x07, 0xff,
+ 0x44, 0x15, 0x04, 0xff, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, 0x19, 0x08, 0x01, 0xef,
+ 0xbc, 0x5b, 0x32, 0xff, 0xb7, 0x41, 0x0e, 0xff, 0xb9, 0x42, 0x0e, 0xff,
+ 0xbb, 0x43, 0x0e, 0xff, 0x9a, 0x3e, 0x17, 0xff, 0xc0, 0x8e, 0x78, 0xff,
+ 0xd8, 0x93, 0x75, 0xff, 0xc6, 0x60, 0x34, 0xff, 0xba, 0x42, 0x0e, 0xff,
+ 0xbf, 0x54, 0x26, 0xff, 0xbc, 0x54, 0x27, 0xff, 0xd2, 0x8e, 0x72, 0xff,
+ 0xd9, 0xa3, 0x8d, 0xff, 0xb4, 0x54, 0x2d, 0xff, 0xaf, 0x4c, 0x24, 0xff,
+ 0xa2, 0x36, 0x0b, 0xff, 0x87, 0x2c, 0x08, 0xff, 0x71, 0x25, 0x06, 0xff,
+ 0x16, 0x06, 0x00, 0xf2, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4d,
+ 0x67, 0x2b, 0x11, 0xff, 0xbb, 0x58, 0x2e, 0xff, 0xb6, 0x47, 0x17, 0xff,
+ 0xb5, 0x40, 0x0e, 0xff, 0xb6, 0x40, 0x0e, 0xff, 0xc0, 0x5a, 0x2f, 0xff,
+ 0xc0, 0x5a, 0x2f, 0xff, 0xb5, 0x40, 0x0e, 0xff, 0xb4, 0x3f, 0x0d, 0xff,
+ 0xb2, 0x3e, 0x0d, 0xff, 0xb8, 0x50, 0x25, 0xff, 0xb8, 0x55, 0x2e, 0xff,
+ 0xb3, 0x51, 0x2a, 0xff, 0xb0, 0x50, 0x29, 0xff, 0xa2, 0x36, 0x0b, 0xff,
+ 0x97, 0x31, 0x09, 0xff, 0x6f, 0x23, 0x07, 0xff, 0x47, 0x16, 0x04, 0xff,
+ 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d,
+ 0x05, 0x01, 0x00, 0xab, 0x87, 0x2e, 0x0a, 0xff, 0xb7, 0x53, 0x2a, 0xff,
+ 0xb4, 0x4b, 0x1f, 0xff, 0xb0, 0x3d, 0x0d, 0xff, 0xb0, 0x3d, 0x0d, 0xff,
+ 0xb0, 0x3d, 0x0d, 0xff, 0xb0, 0x3d, 0x0d, 0xff, 0xae, 0x3c, 0x0d, 0xff,
+ 0xac, 0x3b, 0x0d, 0xff, 0xaa, 0x3a, 0x0d, 0xff, 0xa7, 0x38, 0x0c, 0xff,
+ 0xa4, 0x37, 0x0c, 0xff, 0xa1, 0x36, 0x0b, 0xff, 0x96, 0x31, 0x09, 0xff,
+ 0x6c, 0x21, 0x06, 0xff, 0x5d, 0x1d, 0x05, 0xff, 0x05, 0x01, 0x00, 0xb1,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x10, 0x0c, 0x03, 0x00, 0xc7, 0x83, 0x2c, 0x0a, 0xff,
+ 0xb4, 0x55, 0x2e, 0xff, 0xb0, 0x48, 0x1f, 0xff, 0xaa, 0x3a, 0x0d, 0xff,
+ 0xaa, 0x3a, 0x0d, 0xff, 0xa9, 0x3a, 0x0d, 0xff, 0xa8, 0x39, 0x0c, 0xff,
+ 0xa6, 0x38, 0x0c, 0xff, 0xa5, 0x37, 0x0c, 0xff, 0xa2, 0x36, 0x0c, 0xff,
+ 0x9f, 0x35, 0x0b, 0xff, 0x7b, 0x27, 0x07, 0xff, 0x64, 0x1f, 0x06, 0xff,
+ 0x65, 0x20, 0x06, 0xff, 0x0b, 0x03, 0x00, 0xcb, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x10, 0x04, 0x01, 0x00, 0xa8,
+ 0x5a, 0x1e, 0x06, 0xff, 0xa1, 0x36, 0x0c, 0xff, 0xa4, 0x37, 0x0c, 0xff,
+ 0xa4, 0x37, 0x0c, 0xff, 0xa4, 0x37, 0x0c, 0xff, 0xa2, 0x37, 0x0c, 0xff,
+ 0xa1, 0x36, 0x0b, 0xff, 0x9f, 0x35, 0x0b, 0xff, 0x82, 0x2a, 0x08, 0xff,
+ 0x66, 0x1f, 0x05, 0xff, 0x70, 0x24, 0x06, 0xff, 0x51, 0x19, 0x05, 0xff,
+ 0x05, 0x01, 0x00, 0xae, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0d,
+ 0x00, 0x00, 0x00, 0x49, 0x14, 0x06, 0x00, 0xee, 0x56, 0x1d, 0x06, 0xff,
+ 0x75, 0x27, 0x07, 0xff, 0x89, 0x2c, 0x08, 0xff, 0x7f, 0x29, 0x07, 0xff,
+ 0x64, 0x20, 0x05, 0xff, 0x65, 0x20, 0x06, 0xff, 0x5e, 0x1d, 0x05, 0xff,
+ 0x4d, 0x18, 0x04, 0xff, 0x15, 0x06, 0x00, 0xef, 0x00, 0x00, 0x00, 0x4e,
+ 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x49,
+ 0x00, 0x00, 0x00, 0xcd, 0x08, 0x02, 0x00, 0xf6, 0x16, 0x07, 0x01, 0xfe,
+ 0x16, 0x07, 0x01, 0xfe, 0x08, 0x02, 0x00, 0xf7, 0x00, 0x00, 0x00, 0xcf,
+ 0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11,
+ 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0x91, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0xd3,
+ 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xd3,
+ 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xfa, 0x67, 0x33, 0x1a, 0xff,
+ 0xb1, 0x4f, 0x1f, 0xff, 0xd3, 0x52, 0x13, 0xff, 0xcc, 0x4c, 0x10, 0xff,
+ 0xa0, 0x3b, 0x0b, 0xff, 0x57, 0x1f, 0x06, 0xff, 0x00, 0x00, 0x00, 0xfa,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x64, 0x18, 0x0b, 0x04, 0xff, 0xb7, 0x57, 0x27, 0xff,
+ 0xe7, 0x5d, 0x17, 0xff, 0xe5, 0x59, 0x13, 0xff, 0xe0, 0x57, 0x13, 0xff,
+ 0xd7, 0x51, 0x12, 0xff, 0xce, 0x4d, 0x10, 0xff, 0xc4, 0x48, 0x0f, 0xff,
+ 0x95, 0x36, 0x0b, 0xff, 0x13, 0x06, 0x01, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xfa, 0xb4, 0x55, 0x25, 0xff,
+ 0xe1, 0x59, 0x14, 0xff, 0xce, 0x4f, 0x21, 0xff, 0xca, 0x4b, 0x1e, 0xff,
+ 0xdd, 0x4d, 0x17, 0xff, 0xdb, 0x4b, 0x17, 0xff, 0xcd, 0x4c, 0x1f, 0xff,
+ 0xc6, 0x4b, 0x23, 0xff, 0xbb, 0x45, 0x12, 0xff, 0x8f, 0x32, 0x0b, 0xff,
+ 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x64, 0x31, 0x19, 0xff,
+ 0xe1, 0x5b, 0x19, 0xff, 0xd8, 0x53, 0x23, 0xff, 0xee, 0xe6, 0xe2, 0xff,
+ 0xef, 0xe5, 0xe0, 0xff, 0xcf, 0x53, 0x28, 0xff, 0xce, 0x50, 0x23, 0xff,
+ 0xea, 0xe1, 0xdc, 0xff, 0xf8, 0xf3, 0xf1, 0xff, 0xd6, 0x4f, 0x2a, 0xff,
+ 0xb4, 0x3f, 0x0e, 0xff, 0x4e, 0x1a, 0x05, 0xff, 0x00, 0x00, 0x00, 0x88,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3,
+ 0xaa, 0x45, 0x16, 0xff, 0xdd, 0x4d, 0x16, 0xff, 0xd6, 0x53, 0x20, 0xff,
+ 0xf0, 0xe3, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xea, 0xe5, 0xff,
+ 0xf0, 0xeb, 0xe8, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfa, 0xf3, 0xef, 0xff,
+ 0xd9, 0x52, 0x2d, 0xff, 0xb3, 0x3f, 0x0d, 0xff, 0x88, 0x2e, 0x0a, 0xff,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xfa, 0xca, 0x4b, 0x0f, 0xff, 0xd8, 0x4d, 0x14, 0xff,
+ 0xdb, 0x4b, 0x17, 0xff, 0xd6, 0x52, 0x23, 0xff, 0xf5, 0xf0, 0xee, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xde, 0xd3, 0xff,
+ 0xd9, 0x5c, 0x37, 0xff, 0xd5, 0x46, 0x1f, 0xff, 0xb1, 0x3d, 0x0d, 0xff,
+ 0xa5, 0x37, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0xc3, 0x47, 0x0e, 0xff,
+ 0xcd, 0x4c, 0x10, 0xff, 0xce, 0x4e, 0x11, 0xff, 0xd2, 0x52, 0x25, 0xff,
+ 0xf2, 0xed, 0xea, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf6, 0xe3, 0xdb, 0xff, 0xd1, 0x5c, 0x35, 0xff, 0xc6, 0x41, 0x15, 0xff,
+ 0xad, 0x3b, 0x0d, 0xff, 0xa1, 0x36, 0x0b, 0xff, 0x00, 0x00, 0x00, 0xfa,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3,
+ 0x99, 0x37, 0x0b, 0xff, 0xc6, 0x48, 0x0f, 0xff, 0xcd, 0x46, 0x1e, 0xff,
+ 0xea, 0xdd, 0xd7, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xf4, 0xdd, 0xd3, 0xff,
+ 0xf4, 0xdd, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xee, 0xea, 0xff,
+ 0xd4, 0x4a, 0x25, 0xff, 0xa9, 0x39, 0x0d, 0xff, 0x7a, 0x28, 0x07, 0xff,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x88, 0x54, 0x20, 0x0a, 0xff, 0xbc, 0x44, 0x0f, 0xff,
+ 0xc8, 0x44, 0x1f, 0xff, 0xf2, 0xd9, 0xd2, 0xff, 0xf5, 0xe5, 0xde, 0xff,
+ 0xd2, 0x5e, 0x36, 0xff, 0xc9, 0x6a, 0x41, 0xff, 0xf5, 0xe8, 0xe2, 0xff,
+ 0xf7, 0xed, 0xe9, 0xff, 0xd8, 0x47, 0x23, 0xff, 0x9f, 0x35, 0x0b, 0xff,
+ 0x3a, 0x13, 0x03, 0xff, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0xfa,
+ 0x92, 0x3a, 0x13, 0xff, 0xc2, 0x40, 0x14, 0xff, 0xd2, 0x4a, 0x25, 0xff,
+ 0xd6, 0x4b, 0x25, 0xff, 0xc7, 0x43, 0x16, 0xff, 0xbf, 0x47, 0x1b, 0xff,
+ 0xd0, 0x4f, 0x2a, 0xff, 0xd2, 0x4c, 0x28, 0xff, 0xcd, 0x42, 0x1c, 0xff,
+ 0x71, 0x24, 0x07, 0xff, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x64, 0x12, 0x07, 0x03, 0xff, 0x8e, 0x3a, 0x17, 0xff,
+ 0xaf, 0x3e, 0x0f, 0xff, 0xae, 0x3c, 0x0d, 0xff, 0xad, 0x3b, 0x0d, 0xff,
+ 0xa9, 0x3a, 0x0d, 0xff, 0xa6, 0x38, 0x0c, 0xff, 0x9e, 0x35, 0x0b, 0xff,
+ 0x6d, 0x23, 0x07, 0xff, 0x0c, 0x03, 0x00, 0xff, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0xfa, 0x4b, 0x19, 0x06, 0xff, 0x84, 0x2c, 0x09, 0xff,
+ 0xa1, 0x36, 0x0b, 0xff, 0x9e, 0x34, 0x0a, 0xff, 0x75, 0x27, 0x07, 0xff,
+ 0x36, 0x11, 0x03, 0xff, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0x64,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x88,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfa,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x05, 0x95, 0x70, 0x00, 0x05, 0x95, 0x94, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d,
+ 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x2d, 0x70, 0x6f, 0x72, 0x74,
+ 0x72, 0x61, 0x69, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x95, 0xa0, 0x00, 0x05, 0x95, 0xa8,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd3, 0xd3, 0xd3, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xda, 0xda, 0xda, 0xff,
+ 0x58, 0x58, 0x58, 0xff, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xd6, 0xd6, 0xd6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0xe1, 0xe1, 0xe1, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0x9b, 0x9b, 0x9b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xf6, 0xf6, 0xf6, 0xff, 0xf5, 0xf5, 0xf4, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xf5, 0xf5, 0xf4, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xaf, 0xaf, 0xae, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xdf, 0xdf, 0xff,
+ 0x8f, 0x8f, 0x8f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x5f, 0x62, 0x5d, 0xff,
+ 0x55, 0x57, 0x53, 0xff, 0x53, 0x54, 0x50, 0xff, 0x52, 0x53, 0x4f, 0xff,
+ 0x4b, 0x4d, 0x49, 0xff, 0x43, 0x45, 0x41, 0xff, 0xa4, 0xa4, 0xa3, 0xff,
+ 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf4, 0xf4, 0xff,
+ 0xcf, 0xcf, 0xcf, 0xff, 0xa2, 0xa2, 0xa2, 0xff, 0x00, 0x00, 0x00, 0xb4,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0x5a, 0x5b, 0x57, 0xff,
+ 0x4a, 0x4c, 0x48, 0xff, 0x49, 0x4a, 0x47, 0xff, 0x46, 0x47, 0x43, 0xff,
+ 0x3b, 0x3c, 0x38, 0xff, 0x29, 0x2a, 0x28, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf2, 0xf2, 0xf1, 0xff, 0x59, 0x59, 0x57, 0xff,
+ 0x49, 0x4a, 0x47, 0xff, 0x48, 0x49, 0x45, 0xff, 0x44, 0x46, 0x42, 0xff,
+ 0x39, 0x3a, 0x37, 0xff, 0x33, 0x34, 0x31, 0xff, 0x28, 0x29, 0x25, 0xff,
+ 0x3b, 0x3c, 0x39, 0xff, 0xcd, 0xcc, 0xcb, 0xff, 0xb7, 0xb7, 0xb5, 0xff,
+ 0x9f, 0x9e, 0x9d, 0xff, 0x70, 0x6f, 0x6f, 0xff, 0x65, 0x62, 0x5a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xf2, 0xf1, 0xf0, 0xff, 0x71, 0x71, 0x6d, 0xff,
+ 0x49, 0x4a, 0x47, 0xff, 0x46, 0x47, 0x43, 0xff, 0x44, 0x46, 0x42, 0xff,
+ 0x40, 0x42, 0x3e, 0xff, 0x35, 0x36, 0x33, 0xff, 0x37, 0x38, 0x36, 0xff,
+ 0x6a, 0x6b, 0x67, 0xff, 0xd0, 0xcf, 0xce, 0xff, 0xd8, 0xd8, 0xd6, 0xff,
+ 0xcd, 0xcc, 0xca, 0xff, 0xaf, 0xae, 0xac, 0xff, 0x88, 0x84, 0x7b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0xf7, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xf4, 0xff, 0xe0, 0xdf, 0xde, 0xff,
+ 0x5c, 0x5d, 0x5a, 0xff, 0x44, 0x45, 0x42, 0xff, 0x45, 0x46, 0x43, 0xff,
+ 0x45, 0x46, 0x42, 0xff, 0x41, 0x43, 0x40, 0xff, 0x54, 0x54, 0x50, 0xff,
+ 0xd5, 0xd4, 0xd2, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe6, 0xff,
+ 0xd5, 0xd4, 0xd3, 0xff, 0xc4, 0xc3, 0xc2, 0xff, 0x8f, 0x8a, 0x81, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf4, 0xff, 0xf5, 0xf5, 0xf3, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf3, 0xf1, 0xff,
+ 0xe6, 0xe6, 0xe4, 0xff, 0x56, 0x57, 0x54, 0xff, 0x47, 0x47, 0x44, 0xff,
+ 0x46, 0x47, 0x44, 0xff, 0x56, 0x57, 0x54, 0xff, 0xe2, 0xe1, 0xe0, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xea, 0xe9, 0xe7, 0xff, 0xe5, 0xe4, 0xe2, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xd2, 0xd1, 0xce, 0xff, 0x8d, 0x88, 0x7e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf2, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff, 0xef, 0xef, 0xed, 0xff,
+ 0xe8, 0xe7, 0xe6, 0xff, 0x66, 0x67, 0x64, 0xff, 0x47, 0x47, 0x44, 0xff,
+ 0x47, 0x48, 0x45, 0xff, 0x62, 0x63, 0x60, 0xff, 0xe1, 0xe0, 0xdf, 0xff,
+ 0xe8, 0xe7, 0xe5, 0xff, 0xe5, 0xe4, 0xe1, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xe2, 0xe1, 0xde, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0x97, 0x92, 0x88, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf2, 0xf1, 0xff,
+ 0xf2, 0xf2, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff, 0xe9, 0xe9, 0xe7, 0xff,
+ 0x71, 0x72, 0x6f, 0xff, 0x4b, 0x4b, 0x49, 0xff, 0x47, 0x47, 0x45, 0xff,
+ 0x46, 0x47, 0x44, 0xff, 0x47, 0x49, 0x46, 0xff, 0x67, 0x68, 0x66, 0xff,
+ 0xe3, 0xe2, 0xe0, 0xff, 0xe5, 0xe4, 0xe1, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xe2, 0xe1, 0xde, 0xff, 0xe1, 0xdf, 0xdc, 0xff, 0xa4, 0x9e, 0x93, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xee, 0xff, 0xef, 0xef, 0xed, 0xff,
+ 0xef, 0xef, 0xed, 0xff, 0xef, 0xee, 0xec, 0xff, 0xd8, 0xd7, 0xd5, 0xff,
+ 0x56, 0x58, 0x54, 0xff, 0x49, 0x4a, 0x47, 0xff, 0x47, 0x48, 0x45, 0xff,
+ 0x45, 0x46, 0x43, 0xff, 0x42, 0x43, 0x41, 0xff, 0x46, 0x47, 0x44, 0xff,
+ 0xb9, 0xb8, 0xb6, 0xff, 0xe3, 0xe2, 0xdf, 0xff, 0xe2, 0xe0, 0xdd, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xa1, 0x9c, 0x90, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xeb, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xdb, 0xda, 0xd8, 0xff,
+ 0x5b, 0x5c, 0x57, 0xff, 0x4c, 0x4e, 0x4a, 0xff, 0x48, 0x49, 0x46, 0xff,
+ 0x43, 0x44, 0x41, 0xff, 0x43, 0x44, 0x41, 0xff, 0x42, 0x43, 0x41, 0xff,
+ 0xc9, 0xc8, 0xc5, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff, 0xa1, 0x9b, 0x90, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe6, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xe8, 0xe7, 0xe5, 0xff, 0xe2, 0xe1, 0xde, 0xff,
+ 0x82, 0x82, 0x7e, 0xff, 0x55, 0x56, 0x53, 0xff, 0x4a, 0x4c, 0x49, 0xff,
+ 0x42, 0x43, 0x41, 0xff, 0x42, 0x43, 0x41, 0xff, 0x42, 0x43, 0x41, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xdd, 0xdc, 0xd8, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xa1, 0x9b, 0x90, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe6, 0xe3, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xd1, 0xd1, 0xce, 0xff, 0x7c, 0x7c, 0x7a, 0xff, 0x52, 0x53, 0x51, 0xff,
+ 0x3e, 0x3f, 0x3c, 0xff, 0x48, 0x4a, 0x46, 0xff, 0xc9, 0xc8, 0xc5, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdc, 0xdb, 0xd7, 0xff,
+ 0xdb, 0xd9, 0xd5, 0xff, 0xd9, 0xd7, 0xd3, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0xe3, 0xe2, 0xdf, 0xff,
+ 0xe3, 0xe2, 0xde, 0xff, 0xe4, 0xe2, 0xdf, 0xff, 0xe4, 0xe3, 0xdf, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xdc, 0xdb, 0xd7, 0xff, 0xcb, 0xca, 0xc6, 0xff,
+ 0xcc, 0xcb, 0xc5, 0xff, 0xd7, 0xd6, 0xd2, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd2, 0xff, 0x9e, 0x98, 0x8d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xe1, 0xe0, 0xdd, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe2, 0xe1, 0xdd, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff,
+ 0xd8, 0xd6, 0xd1, 0xff, 0xd7, 0xd5, 0xd1, 0xff, 0x9d, 0x97, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xd1, 0xd1, 0xd1, 0xff, 0xe1, 0xdf, 0xdb, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdc, 0xd8, 0xff, 0xde, 0xdc, 0xd8, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xd8, 0xd6, 0xd2, 0xff,
+ 0xd7, 0xd6, 0xd1, 0xff, 0xd5, 0xd3, 0xce, 0xff, 0x9b, 0x95, 0x8a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x99, 0x98, 0x91, 0xff, 0xa3, 0x9e, 0x92, 0xff, 0xa4, 0x9e, 0x93, 0xff,
+ 0xa3, 0x9d, 0x92, 0xff, 0xa3, 0x9d, 0x91, 0xff, 0xa3, 0x9d, 0x92, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9c, 0x90, 0xff,
+ 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9b, 0x8f, 0xff, 0xa1, 0x9b, 0x90, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x9d, 0x97, 0x8c, 0xff,
+ 0x9d, 0x97, 0x8c, 0xff, 0x9b, 0x96, 0x8a, 0xff, 0x67, 0x63, 0x59, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x5d,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0x9e, 0xd4, 0x00, 0x05, 0x9e, 0xe0,
+ 0x67, 0x74, 0x6b, 0x2d, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0x9e, 0xf4,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0xa8, 0x1c, 0x00, 0x05, 0x9e, 0xfc,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc7, 0xc7, 0xc7, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xf8, 0xf8, 0xf8, 0xff, 0xaf, 0xaf, 0xaf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf9, 0xf9, 0xf9, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe2, 0xe2, 0xe2, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xdf, 0xdf, 0xdf, 0xff,
+ 0xdc, 0xdc, 0xdc, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0xb6, 0xb6, 0xb6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x67, 0x67, 0x67, 0xff,
+ 0x81, 0x81, 0x81, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0x60, 0x60, 0x60, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0xda, 0xda, 0xda, 0xff, 0xe1, 0xe1, 0xe1, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xe0, 0xe0, 0xe0, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xed, 0xed, 0xed, 0xff, 0xed, 0xed, 0xed, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xbf, 0xbf, 0xbf, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0x8a, 0x8a, 0x8a, 0xff, 0x6a, 0x6a, 0x6a, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0x90, 0x90, 0x90, 0xff,
+ 0xa2, 0xa2, 0xa2, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xaa, 0xaa, 0xaa, 0xff,
+ 0x90, 0x90, 0x90, 0xff, 0xf4, 0xf4, 0xf4, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xfc, 0xfc, 0xfc, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xce, 0xce, 0xce, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xad, 0xad, 0xad, 0xff, 0xae, 0xae, 0xae, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0xf8, 0xf8, 0xf8, 0xff,
+ 0xbe, 0xbe, 0xbe, 0xff, 0xa6, 0xa6, 0xa6, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xfc, 0xfc, 0xfc, 0xff, 0xcd, 0xcd, 0xcd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xf5, 0xf5, 0xf5, 0xff, 0xde, 0xde, 0xde, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xdd, 0xdd, 0xdd, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xde, 0xde, 0xde, 0xff, 0xdf, 0xdf, 0xdf, 0xff, 0xde, 0xde, 0xde, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xc9, 0xc9, 0xc9, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0x87, 0x87, 0x87, 0xff, 0x6b, 0x6b, 0x6b, 0xff,
+ 0x88, 0x88, 0x88, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0x6e, 0x6e, 0x6e, 0xff,
+ 0x79, 0x79, 0x79, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0x88, 0x88, 0x88, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0xd0, 0xd0, 0xd0, 0xff, 0xb3, 0xb3, 0xb3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5b,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0xca, 0xca, 0xca, 0xff, 0xa7, 0xa7, 0xa7, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xa4, 0xa4, 0xa4, 0xff, 0xa5, 0xa5, 0xa5, 0xff, 0xa5, 0xa5, 0xa5, 0xff,
+ 0xa6, 0xa6, 0xa6, 0xff, 0xa3, 0xa3, 0xa3, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0xa1, 0xa1, 0xa1, 0xff, 0xa1, 0xa1, 0xa1, 0xff, 0x9e, 0x9e, 0x9e, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x87, 0x84, 0x7c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x5b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xea, 0xe8, 0xe3, 0xff, 0x8d, 0x89, 0x82, 0xff,
+ 0x53, 0x52, 0x4c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x87, 0x84, 0x7c, 0xff, 0xaa, 0xa9, 0xa5, 0xff, 0xba, 0xb5, 0xab, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc3, 0xc1, 0xbd, 0xff,
+ 0x8b, 0x8b, 0x89, 0xff, 0xe6, 0xe5, 0xe1, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf9, 0xf9, 0xf7, 0xff,
+ 0xf7, 0xf6, 0xf5, 0xff, 0xf7, 0xf7, 0xf4, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf6, 0xf5, 0xf4, 0xff, 0xf2, 0xf1, 0xee, 0xff,
+ 0xf2, 0xf1, 0xee, 0xff, 0xf0, 0xef, 0xec, 0xff, 0xe5, 0xe5, 0xe4, 0xff,
+ 0xea, 0xe8, 0xe3, 0xff, 0x9f, 0x9f, 0x9f, 0xff, 0xdf, 0xde, 0xd9, 0xff,
+ 0xba, 0xb5, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2f,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xa4, 0xa3, 0xa1, 0xff,
+ 0x6c, 0x6b, 0x6a, 0xff, 0xf5, 0xf4, 0xf3, 0xff, 0xbe, 0xbe, 0xbe, 0xff,
+ 0xd5, 0xd5, 0xd5, 0xff, 0xb6, 0xb6, 0xb6, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xb6, 0xb6, 0xb6, 0xff, 0xd4, 0xd4, 0xd3, 0xff, 0xb7, 0xb7, 0xb7, 0xff,
+ 0xd4, 0xd4, 0xd4, 0xff, 0xa9, 0xa9, 0xa9, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0xb5, 0xb5, 0xb5, 0xff, 0xcd, 0xcd, 0xcb, 0xff, 0xb5, 0xb5, 0xb4, 0xff,
+ 0xdc, 0xda, 0xd3, 0xff, 0x6b, 0x6b, 0x6a, 0xff, 0x99, 0x98, 0x96, 0xff,
+ 0x91, 0x8f, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x95, 0xff,
+ 0x6b, 0x6b, 0x6a, 0xff, 0xe6, 0xe4, 0xe1, 0xff, 0xf0, 0xee, 0xec, 0xff,
+ 0xf7, 0xf6, 0xf5, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfa, 0xf9, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf9, 0xf8, 0xf7, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf4, 0xf3, 0xf1, 0xff, 0xf4, 0xf3, 0xf1, 0xff, 0xf4, 0xf3, 0xf1, 0xff,
+ 0xf2, 0xf1, 0xef, 0xff, 0x56, 0x56, 0x55, 0xff, 0x85, 0x84, 0x82, 0xff,
+ 0x91, 0x8f, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x9c, 0x9b, 0x99, 0xff,
+ 0x6b, 0x6a, 0x68, 0xff, 0x58, 0x58, 0x58, 0xff, 0x5e, 0x5c, 0x57, 0xff,
+ 0x52, 0x4f, 0x4b, 0xff, 0x4a, 0x48, 0x45, 0xff, 0x4b, 0x4a, 0x46, 0xff,
+ 0x4b, 0x49, 0x46, 0xff, 0x4b, 0x49, 0x46, 0xff, 0x4b, 0x49, 0x46, 0xff,
+ 0x4a, 0x48, 0x44, 0xff, 0x49, 0x47, 0x43, 0xff, 0x48, 0x46, 0x42, 0xff,
+ 0x47, 0x45, 0x41, 0xff, 0x49, 0x47, 0x43, 0xff, 0x46, 0x44, 0x40, 0xff,
+ 0x51, 0x4f, 0x4b, 0xff, 0x53, 0x51, 0x4e, 0xff, 0x7b, 0x7a, 0x77, 0xff,
+ 0x79, 0x77, 0x71, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x94, 0x93, 0x91, 0xff,
+ 0x98, 0x96, 0x94, 0xff, 0x86, 0x84, 0x80, 0xff, 0x6e, 0x6c, 0x66, 0xff,
+ 0x70, 0x6d, 0x67, 0xff, 0x5c, 0x59, 0x55, 0xff, 0x67, 0x64, 0x5f, 0xff,
+ 0x5b, 0x59, 0x54, 0xff, 0x58, 0x56, 0x51, 0xff, 0x5b, 0x59, 0x54, 0xff,
+ 0x5d, 0x5b, 0x56, 0xff, 0x59, 0x56, 0x52, 0xff, 0x53, 0x50, 0x4c, 0xff,
+ 0x57, 0x54, 0x50, 0xff, 0x59, 0x57, 0x52, 0xff, 0x5c, 0x59, 0x56, 0xff,
+ 0x5b, 0x59, 0x56, 0xff, 0x61, 0x61, 0x5e, 0xff, 0x69, 0x68, 0x61, 0xff,
+ 0x77, 0x75, 0x6f, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7e, 0x7b, 0x77, 0xff,
+ 0x97, 0x96, 0x90, 0xff, 0x96, 0x93, 0x8d, 0xff, 0x91, 0x8f, 0x87, 0xff,
+ 0x80, 0x7e, 0x77, 0xff, 0x7d, 0x7a, 0x74, 0xff, 0x78, 0x77, 0x70, 0xff,
+ 0x77, 0x75, 0x6f, 0xff, 0x71, 0x6f, 0x6a, 0xff, 0x77, 0x75, 0x6f, 0xff,
+ 0x71, 0x6f, 0x6a, 0xff, 0x6e, 0x6c, 0x67, 0xff, 0x59, 0x57, 0x53, 0xff,
+ 0x63, 0x61, 0x5c, 0xff, 0x68, 0x66, 0x61, 0xff, 0x6f, 0x6e, 0x68, 0xff,
+ 0x6d, 0x6c, 0x66, 0xff, 0x72, 0x71, 0x6b, 0xff, 0x76, 0x74, 0x6f, 0xff,
+ 0x6a, 0x69, 0x63, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff,
+ 0x8b, 0x88, 0x80, 0xff, 0xb2, 0xaf, 0xa8, 0xff, 0xb6, 0xb3, 0xad, 0xff,
+ 0xbf, 0xbd, 0xb6, 0xff, 0xbf, 0xbd, 0xb6, 0xff, 0xbf, 0xbd, 0xb6, 0xff,
+ 0xbf, 0xbd, 0xb6, 0xff, 0xbf, 0xbd, 0xb6, 0xff, 0xbd, 0xbb, 0xb4, 0xff,
+ 0xb0, 0xae, 0xa6, 0xff, 0xb2, 0xaf, 0xa8, 0xff, 0xab, 0xa8, 0xa2, 0xff,
+ 0xb0, 0xae, 0xa6, 0xff, 0x9c, 0x99, 0x91, 0xff, 0x9c, 0x99, 0x91, 0xff,
+ 0x9c, 0x99, 0x91, 0xff, 0x80, 0x7d, 0x74, 0xff, 0x80, 0x7d, 0x74, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x7d, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x37,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x05, 0xa8, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x35, 0x35, 0x35, 0xff, 0xd3, 0xd3, 0xd3, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x13, 0x13, 0x13, 0xff, 0xc7, 0xc7, 0xc7, 0xff,
+ 0xd7, 0xd7, 0xd7, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x4d, 0x4d, 0x4d, 0xff, 0x00, 0x00, 0x00, 0xff, 0xeb, 0xeb, 0xeb, 0xdb,
+ 0x00, 0x00, 0x00, 0xff, 0xa4, 0xa4, 0xa4, 0xff, 0xdb, 0xdb, 0xdb, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x41, 0x41, 0x41, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0x8c, 0x8c, 0x8c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x97, 0x97, 0x97, 0xff, 0xdb, 0xdb, 0xdb, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xbc, 0xbb, 0xbb, 0xff, 0xd4, 0xd4, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xd0, 0xd0, 0xcf, 0xff, 0xb5, 0xb5, 0xb5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfa, 0xfa, 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xfa, 0xff,
+ 0xf8, 0xf8, 0xf8, 0xff, 0xf4, 0xf4, 0xf3, 0xff, 0xec, 0xec, 0xeb, 0xff,
+ 0xae, 0xad, 0xab, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfa, 0xfa, 0xfa, 0xff, 0xf7, 0xf7, 0xf7, 0xff,
+ 0xe5, 0xe5, 0xe4, 0xff, 0x8d, 0x8d, 0x8d, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xa0, 0xa0, 0xa0, 0xff, 0xe2, 0xe2, 0xe2, 0xff, 0xd9, 0xd9, 0xd8, 0xff,
+ 0xde, 0xdd, 0xdc, 0xff, 0xdc, 0xdc, 0xda, 0xff, 0xd8, 0xd7, 0xd4, 0xff,
+ 0xb3, 0xb2, 0xb0, 0xff, 0xcc, 0xca, 0xc6, 0xff, 0x1b, 0x1b, 0x1b, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x96, 0x95, 0x94, 0xff,
+ 0xd6, 0xd4, 0xd2, 0xff, 0xdd, 0xdb, 0xda, 0xff, 0xdc, 0xdc, 0xdb, 0xff,
+ 0xde, 0xdd, 0xdd, 0xff, 0xdf, 0xde, 0xdd, 0xff, 0xdd, 0xdc, 0xdb, 0xff,
+ 0xd9, 0xd9, 0xd8, 0xff, 0xdb, 0xdb, 0xd9, 0xff, 0xda, 0xd9, 0xd7, 0xff,
+ 0xd9, 0xd8, 0xd6, 0xff, 0x81, 0x80, 0x7e, 0xff, 0x9f, 0x9e, 0x9a, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xa8, 0xa7, 0xa6, 0xff, 0x9e, 0x9d, 0x9c, 0xff, 0x61, 0x5e, 0x59, 0xff,
+ 0x54, 0x51, 0x4e, 0xff, 0x54, 0x52, 0x4e, 0xff, 0x51, 0x4f, 0x4b, 0xff,
+ 0x52, 0x50, 0x4c, 0xff, 0x50, 0x4d, 0x49, 0xff, 0x4d, 0x4b, 0x47, 0xff,
+ 0x4f, 0x4d, 0x49, 0xff, 0x51, 0x4f, 0x4c, 0xff, 0x93, 0x92, 0x91, 0xff,
+ 0x9b, 0x9a, 0x97, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xb4, 0xb3, 0xb1, 0xff, 0xc0, 0xbf, 0xbc, 0xff,
+ 0xb9, 0xb8, 0xb5, 0xff, 0xb3, 0xb1, 0xaf, 0xff, 0xb1, 0xb1, 0xae, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xb0, 0xae, 0xac, 0xff, 0xac, 0xac, 0xa9, 0xff,
+ 0xa6, 0xa6, 0xa4, 0xff, 0xab, 0xaa, 0xa7, 0xff, 0xae, 0xad, 0xaa, 0xff,
+ 0xaf, 0xae, 0xac, 0xff, 0xaa, 0xa9, 0xa6, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x20, 0x1f, 0x1e, 0xff,
+ 0x40, 0x3f, 0x3d, 0xff, 0x44, 0x43, 0x41, 0xff, 0x45, 0x45, 0x42, 0xff,
+ 0x45, 0x45, 0x42, 0xff, 0x45, 0x45, 0x42, 0xff, 0x42, 0x42, 0x3f, 0xff,
+ 0x40, 0x3f, 0x3d, 0xff, 0x3f, 0x3e, 0x3c, 0xff, 0x3a, 0x39, 0x36, 0xff,
+ 0x39, 0x38, 0x35, 0xff, 0x31, 0x30, 0x2d, 0xff, 0x1e, 0x1d, 0x1b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xb9, 0xbc,
+ 0x00, 0x05, 0xac, 0x50, 0x00, 0x05, 0xac, 0x58, 0x67, 0x74, 0x6b, 0x2d,
+ 0x6e, 0x65, 0x77, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x05, 0xac, 0x6c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0xb5, 0x94,
+ 0x00, 0x05, 0xac, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd3, 0xd3, 0xd3, 0xff, 0xf6, 0xf6, 0xf6, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf9, 0xf9, 0xff,
+ 0xda, 0xda, 0xda, 0xff, 0x58, 0x58, 0x58, 0xff, 0x00, 0x00, 0x00, 0xc1,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf6, 0xf6, 0xf6, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc7, 0xc7, 0xc7, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xd6, 0xd6, 0xd6, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xc0, 0xc0, 0xc0, 0xff, 0xe1, 0xe1, 0xe1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0x9b, 0x9b, 0x9b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x09,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xaf, 0xaf, 0xae, 0xff, 0xe9, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdf, 0xdf, 0xdf, 0xff, 0x8f, 0x8f, 0x8f, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xa4, 0xa4, 0xa3, 0xff, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf4, 0xf4, 0xf4, 0xff, 0xcf, 0xcf, 0xcf, 0xff, 0xa2, 0xa2, 0xa2, 0xff,
+ 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xfc, 0xfc, 0xfb, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0x9e, 0x9e, 0x9e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xfc, 0xfb, 0xff,
+ 0xfb, 0xfb, 0xfb, 0xff, 0xfa, 0xfa, 0xf9, 0xff, 0xf9, 0xf9, 0xf8, 0xff,
+ 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xf4, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xde, 0xdd, 0xdc, 0xff, 0xd3, 0xd2, 0xd0, 0xff,
+ 0xb7, 0xb7, 0xb5, 0xff, 0x9f, 0x9e, 0x9d, 0xff, 0x70, 0x6f, 0x6f, 0xff,
+ 0x65, 0x62, 0x5a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xfa, 0xf9, 0xff,
+ 0xf9, 0xf9, 0xf8, 0xff, 0xf8, 0xf8, 0xf7, 0xff, 0xf8, 0xf7, 0xf6, 0xff,
+ 0xf7, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xf4, 0xff, 0xf5, 0xf4, 0xf3, 0xff,
+ 0xf6, 0xf6, 0xf4, 0xff, 0xf5, 0xf4, 0xf3, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf2, 0xf2, 0xf0, 0xff, 0xe4, 0xe4, 0xe2, 0xff, 0xda, 0xd9, 0xd7, 0xff,
+ 0xd8, 0xd8, 0xd6, 0xff, 0xcd, 0xcc, 0xca, 0xff, 0xaf, 0xae, 0xac, 0xff,
+ 0x88, 0x84, 0x7b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf7, 0xff,
+ 0xf8, 0xf7, 0xf6, 0xff, 0xf7, 0xf6, 0xf5, 0xff, 0xf6, 0xf6, 0xf4, 0xff,
+ 0xf5, 0xf4, 0xf3, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf3, 0xf1, 0xff,
+ 0xf4, 0xf3, 0xf2, 0xff, 0xf3, 0xf3, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff,
+ 0xef, 0xef, 0xed, 0xff, 0xee, 0xed, 0xeb, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xd5, 0xd4, 0xd3, 0xff, 0xc4, 0xc3, 0xc2, 0xff,
+ 0x8f, 0x8a, 0x81, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0xf5, 0xf4, 0xff,
+ 0xf5, 0xf5, 0xf3, 0xff, 0xf4, 0xf3, 0xf2, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf3, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xf1, 0xf1, 0xef, 0xff,
+ 0xf2, 0xf2, 0xf0, 0xff, 0xf1, 0xf1, 0xef, 0xff, 0xf1, 0xf0, 0xee, 0xff,
+ 0xee, 0xed, 0xeb, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xea, 0xe9, 0xe7, 0xff,
+ 0xe5, 0xe4, 0xe2, 0xff, 0xe4, 0xe3, 0xe0, 0xff, 0xd2, 0xd1, 0xce, 0xff,
+ 0x8d, 0x88, 0x7e, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf2, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xef, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff, 0xf0, 0xef, 0xed, 0xff,
+ 0xf1, 0xf0, 0xee, 0xff, 0xf0, 0xef, 0xed, 0xff, 0xef, 0xee, 0xec, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xe8, 0xe7, 0xe5, 0xff, 0xe5, 0xe4, 0xe1, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xe2, 0xe1, 0xde, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0x97, 0x92, 0x88, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0xf3, 0xf2, 0xff,
+ 0xf3, 0xf2, 0xf1, 0xff, 0xf2, 0xf2, 0xf0, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xef, 0xef, 0xed, 0xff, 0xf1, 0xf0, 0xee, 0xff, 0xf0, 0xef, 0xed, 0xff,
+ 0xf1, 0xf0, 0xee, 0xff, 0xf0, 0xef, 0xed, 0xff, 0xef, 0xee, 0xec, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xe8, 0xe7, 0xe5, 0xff, 0xe5, 0xe4, 0xe1, 0xff,
+ 0xe4, 0xe3, 0xe0, 0xff, 0xe2, 0xe1, 0xde, 0xff, 0xe1, 0xdf, 0xdc, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xee, 0xff,
+ 0xef, 0xef, 0xed, 0xff, 0xef, 0xef, 0xed, 0xff, 0xef, 0xee, 0xec, 0xff,
+ 0xee, 0xed, 0xeb, 0xff, 0xed, 0xec, 0xea, 0xff, 0xed, 0xec, 0xea, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xed, 0xec, 0xea, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xe8, 0xe7, 0xe4, 0xff, 0xe7, 0xe6, 0xe3, 0xff, 0xe3, 0xe2, 0xdf, 0xff,
+ 0xe2, 0xe0, 0xdd, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xed, 0xeb, 0xff,
+ 0xed, 0xec, 0xea, 0xff, 0xec, 0xeb, 0xe9, 0xff, 0xec, 0xeb, 0xe9, 0xff,
+ 0xec, 0xeb, 0xe9, 0xff, 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe5, 0xff,
+ 0xeb, 0xea, 0xe8, 0xff, 0xe9, 0xe8, 0xe5, 0xff, 0xe9, 0xe8, 0xe5, 0xff,
+ 0xe5, 0xe4, 0xe1, 0xff, 0xe6, 0xe4, 0xe1, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xea, 0xe8, 0xff,
+ 0xe9, 0xe8, 0xe6, 0xff, 0xe9, 0xe8, 0xe6, 0xff, 0xe8, 0xe7, 0xe5, 0xff,
+ 0xe8, 0xe7, 0xe4, 0xff, 0xe8, 0xe7, 0xe4, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe8, 0xe7, 0xe4, 0xff, 0xe7, 0xe6, 0xe3, 0xff, 0xe7, 0xe5, 0xe2, 0xff,
+ 0xe4, 0xe3, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdc, 0xd8, 0xff, 0xdc, 0xdb, 0xd7, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe6, 0xe3, 0xff,
+ 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff, 0xe6, 0xe5, 0xe2, 0xff,
+ 0xe5, 0xe4, 0xe1, 0xff, 0xe6, 0xe4, 0xe1, 0xff, 0xe5, 0xe4, 0xe0, 0xff,
+ 0xe6, 0xe4, 0xe1, 0xff, 0xe5, 0xe4, 0xe0, 0xff, 0xe4, 0xe3, 0xdf, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xdc, 0xdb, 0xd7, 0xff, 0xdb, 0xd9, 0xd5, 0xff, 0xd9, 0xd7, 0xd3, 0xff,
+ 0x9f, 0x99, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xf9, 0xf9, 0xf9, 0xff, 0xe4, 0xe3, 0xe0, 0xff,
+ 0xe3, 0xe2, 0xdf, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xe4, 0xe2, 0xdf, 0xff,
+ 0xe4, 0xe3, 0xdf, 0xff, 0xe2, 0xe1, 0xdd, 0xff, 0xe3, 0xe2, 0xde, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xe3, 0xe2, 0xde, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe1, 0xe0, 0xdc, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xdd, 0xdb, 0xd7, 0xff,
+ 0xdc, 0xda, 0xd6, 0xff, 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd2, 0xff,
+ 0x9e, 0x98, 0x8d, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xed, 0xed, 0xed, 0xff, 0xe1, 0xe0, 0xdd, 0xff,
+ 0xe1, 0xdf, 0xdc, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xe0, 0xdf, 0xdb, 0xff,
+ 0xe2, 0xe1, 0xdd, 0xff, 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xe1, 0xe0, 0xdc, 0xff, 0xdf, 0xde, 0xda, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xdd, 0xdb, 0xd7, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd9, 0xd7, 0xd3, 0xff, 0xd8, 0xd6, 0xd1, 0xff, 0xd7, 0xd5, 0xd1, 0xff,
+ 0x9d, 0x97, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xd1, 0xd1, 0xd1, 0xff, 0xe1, 0xdf, 0xdb, 0xff,
+ 0xe0, 0xde, 0xda, 0xff, 0xdf, 0xde, 0xda, 0xff, 0xde, 0xdd, 0xd9, 0xff,
+ 0xe0, 0xdf, 0xdb, 0xff, 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff,
+ 0xde, 0xdd, 0xd9, 0xff, 0xe0, 0xde, 0xda, 0xff, 0xde, 0xdc, 0xd8, 0xff,
+ 0xde, 0xdc, 0xd8, 0xff, 0xdc, 0xda, 0xd6, 0xff, 0xdc, 0xda, 0xd6, 0xff,
+ 0xd8, 0xd6, 0xd2, 0xff, 0xd7, 0xd6, 0xd1, 0xff, 0xd5, 0xd3, 0xce, 0xff,
+ 0x9b, 0x95, 0x8a, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x99, 0x98, 0x91, 0xff, 0xa3, 0x9e, 0x92, 0xff,
+ 0xa4, 0x9e, 0x93, 0xff, 0xa3, 0x9d, 0x92, 0xff, 0xa3, 0x9d, 0x91, 0xff,
+ 0xa3, 0x9d, 0x92, 0xff, 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff,
+ 0xa1, 0x9c, 0x90, 0xff, 0xa2, 0x9c, 0x90, 0xff, 0xa1, 0x9b, 0x8f, 0xff,
+ 0xa1, 0x9b, 0x90, 0xff, 0x9f, 0x99, 0x8d, 0xff, 0x9f, 0x99, 0x8d, 0xff,
+ 0x9d, 0x97, 0x8c, 0xff, 0x9d, 0x97, 0x8c, 0xff, 0x9b, 0x96, 0x8a, 0xff,
+ 0x67, 0x63, 0x59, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x1d,
+ 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xb5, 0x9c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe0, 0xe0, 0xe0, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xc3, 0xc3, 0xc3, 0xff, 0xfb, 0xfb, 0xfb, 0xff,
+ 0xa8, 0xa8, 0xa8, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xad, 0xad, 0xad, 0xff,
+ 0x76, 0x76, 0x76, 0xff, 0x5d, 0x5d, 0x5d, 0xff, 0x40, 0x40, 0x40, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff,
+ 0xf1, 0xf1, 0xf1, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xf0, 0xf0, 0xf0, 0xff,
+ 0xe2, 0xe2, 0xe2, 0xff, 0x85, 0x85, 0x85, 0xff, 0x4b, 0x4b, 0x49, 0xff,
+ 0x16, 0x16, 0x16, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfe, 0xfe, 0xfe, 0xff, 0xf1, 0xf1, 0xf1, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xc5, 0xc5, 0xc5, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfe, 0xfe, 0xfe, 0xff, 0xef, 0xef, 0xef, 0xff,
+ 0xef, 0xef, 0xef, 0xff, 0xef, 0xef, 0xef, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xec, 0xec, 0xec, 0xff, 0xc4, 0xc4, 0xc4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff,
+ 0xee, 0xee, 0xee, 0xff, 0xee, 0xee, 0xee, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xc3, 0xc3, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xed, 0xed, 0xed, 0xff, 0xec, 0xec, 0xec, 0xff,
+ 0xec, 0xec, 0xec, 0xff, 0xec, 0xec, 0xec, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xeb, 0xeb, 0xeb, 0xff, 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xc1, 0xc1, 0xc1, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xeb, 0xeb, 0xeb, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xc0, 0xc0, 0xc0, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xea, 0xea, 0xea, 0xff, 0xea, 0xea, 0xea, 0xff, 0xe9, 0xe9, 0xe9, 0xff,
+ 0xe9, 0xe9, 0xe9, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe8, 0xe8, 0xe8, 0xff,
+ 0xe8, 0xe8, 0xe8, 0xff, 0xe7, 0xe7, 0xe7, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xbf, 0xbf, 0xbf, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xfd, 0xfd, 0xfd, 0xff, 0xe8, 0xe8, 0xe8, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xbe, 0xbe, 0xbe, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff, 0xe7, 0xe7, 0xe7, 0xff,
+ 0xe7, 0xe7, 0xe7, 0xff, 0xe6, 0xe6, 0xe6, 0xff, 0xe6, 0xe6, 0xe6, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xfd, 0xfd, 0xff,
+ 0xe6, 0xe6, 0xe6, 0xff, 0xe5, 0xe5, 0xe5, 0xff, 0xe5, 0xe5, 0xe5, 0xff,
+ 0xe5, 0xe5, 0xe5, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff,
+ 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0xe3, 0xe3, 0xe3, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xc2, 0xc2, 0xc2, 0xff, 0xbd, 0xbd, 0xbd, 0xff, 0xbd, 0xbd, 0xbd, 0xff,
+ 0xbd, 0xbd, 0xbd, 0xff, 0xbc, 0xbc, 0xbc, 0xff, 0xbc, 0xbc, 0xbc, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff, 0xbb, 0xbb, 0xbb, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xff, 0xa0, 0xa0, 0xa0, 0xff, 0x00, 0x00, 0x00, 0xd4,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0xb9, 0xc8, 0x00, 0x05, 0xb9, 0xd4,
+ 0x67, 0x74, 0x6b, 0x2d, 0x67, 0x6f, 0x2d, 0x75, 0x70, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04, 0x00, 0x05, 0xb9, 0xe8,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0xc3, 0x10, 0x00, 0x05, 0xb9, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x18,
+ 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18, 0x01, 0x01, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x2f, 0x2f, 0x2f, 0xff, 0xa5, 0xb4, 0xa4, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xe8, 0xf4, 0xe6, 0xff, 0x96, 0xb8, 0x92, 0xff,
+ 0x41, 0x53, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xf1, 0xff, 0xf0, 0xff, 0xb8, 0xd6, 0xb7, 0xff, 0x9f, 0xc4, 0x9d, 0xff,
+ 0x66, 0x81, 0x5e, 0xff, 0x41, 0x53, 0x3c, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xf1, 0xff, 0xf0, 0xff,
+ 0xb6, 0xd4, 0xb5, 0xff, 0xb9, 0xd7, 0xb8, 0xff, 0xa1, 0xc6, 0x9f, 0xff,
+ 0x68, 0x83, 0x5f, 0xff, 0x63, 0x7d, 0x5b, 0xff, 0x3f, 0x52, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xff, 0xf1, 0xff, 0xf0, 0xff, 0xb8, 0xd7, 0xb7, 0xff,
+ 0xb6, 0xd4, 0xb5, 0xff, 0xb9, 0xd7, 0xb8, 0xff, 0xa2, 0xc7, 0xa0, 0xff,
+ 0x6a, 0x85, 0x61, 0xff, 0x65, 0x7f, 0x5c, 0xff, 0x61, 0x79, 0x59, 0xff,
+ 0x3e, 0x4f, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14,
+ 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff,
+ 0xf0, 0xfe, 0xef, 0xff, 0xb8, 0xd7, 0xb7, 0xff, 0xb9, 0xd7, 0xb8, 0xff,
+ 0xb7, 0xd5, 0xb6, 0xff, 0xb9, 0xd7, 0xb8, 0xff, 0xa1, 0xc6, 0x9f, 0xff,
+ 0x6a, 0x85, 0x61, 0xff, 0x65, 0x7e, 0x5c, 0xff, 0x61, 0x79, 0x59, 0xff,
+ 0x5d, 0x75, 0x55, 0xff, 0x3e, 0x4f, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xd6, 0xea, 0xd6, 0xff,
+ 0xbf, 0xd4, 0xbf, 0xff, 0xc0, 0xd5, 0xc0, 0xff, 0xb9, 0xd7, 0xb8, 0xff,
+ 0xb8, 0xd7, 0xb7, 0xff, 0xb8, 0xd7, 0xb7, 0xff, 0xa1, 0xc6, 0x9f, 0xff,
+ 0x68, 0x83, 0x5f, 0xff, 0x63, 0x7c, 0x5b, 0xff, 0x4d, 0x62, 0x46, 0xff,
+ 0x4c, 0x60, 0x46, 0xff, 0x4c, 0x60, 0x46, 0xff, 0x4c, 0x60, 0x46, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xc7, 0xe1, 0xc6, 0xff,
+ 0xb6, 0xd4, 0xb5, 0xff, 0xb6, 0xd4, 0xb5, 0xff, 0xa1, 0xc6, 0x9e, 0xff,
+ 0x67, 0x81, 0x5e, 0xff, 0x62, 0x7b, 0x59, 0xff, 0x3d, 0x4e, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x24,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0xff, 0xd0, 0xe7, 0xd0, 0xff,
+ 0xb6, 0xd4, 0xb5, 0xff, 0xb5, 0xd3, 0xb4, 0xff, 0xa0, 0xc3, 0x9d, 0xff,
+ 0x65, 0x7f, 0x5c, 0xff, 0x60, 0x79, 0x58, 0xff, 0x3d, 0x4e, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x17,
+ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xff, 0xc7, 0xe1, 0xc6, 0xff,
+ 0xb6, 0xd4, 0xb5, 0xff, 0xb5, 0xd2, 0xb4, 0xff, 0x9d, 0xc1, 0x9b, 0xff,
+ 0x64, 0x7d, 0x5b, 0xff, 0x60, 0x78, 0x58, 0xff, 0x3d, 0x4e, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0b,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xc6, 0xe0, 0xc5, 0xff,
+ 0xb5, 0xd3, 0xb4, 0xff, 0xb4, 0xd2, 0xb3, 0xff, 0x9c, 0xbf, 0x99, 0xff,
+ 0x63, 0x7c, 0x5b, 0xff, 0x60, 0x78, 0x58, 0xff, 0x3d, 0x4e, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x12,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xc5, 0xdf, 0xc4, 0xff,
+ 0xb4, 0xd2, 0xb3, 0xff, 0xb1, 0xce, 0xb0, 0xff, 0x99, 0xbc, 0x97, 0xff,
+ 0x61, 0x7a, 0x59, 0xff, 0x5e, 0x77, 0x56, 0xff, 0x3d, 0x4e, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xc0, 0xd9, 0xbf, 0xff,
+ 0xaf, 0xcc, 0xae, 0xff, 0xae, 0xcb, 0xad, 0xff, 0x93, 0xb6, 0x90, 0xff,
+ 0x60, 0x78, 0x57, 0xff, 0x5e, 0x76, 0x56, 0xff, 0x3d, 0x4e, 0x39, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x8d, 0xb3, 0x89, 0xff,
+ 0x74, 0x8a, 0x72, 0xff, 0x71, 0x91, 0x6e, 0xff, 0x5a, 0x72, 0x57, 0xff,
+ 0x4d, 0x62, 0x47, 0xff, 0x4d, 0x61, 0x46, 0xff, 0x43, 0x54, 0x3d, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x1f,
+ 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x2b,
+ 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0c,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x05, 0xc3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x04, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x2d, 0x2d, 0x00,
+ 0x2d, 0x2d, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x2d, 0x2d, 0x2d, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xcf, 0xdf, 0xcc, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcd, 0xde, 0xcb, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff, 0xad, 0xc8, 0xab, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff, 0xaa, 0xc7, 0xa8, 0xff,
+ 0xb0, 0xc7, 0xae, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x3c, 0x52, 0x35, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff, 0xb4, 0xcb, 0xb2, 0xff,
+ 0xb3, 0xca, 0xb1, 0xff, 0xad, 0xc6, 0xab, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x3c, 0x52, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xcd, 0xde, 0xcb, 0xff, 0xb1, 0xc9, 0xb0, 0xff,
+ 0xb5, 0xce, 0xb5, 0xff, 0xb0, 0xc9, 0xb0, 0xff, 0xad, 0xc6, 0xab, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x3c, 0x52, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xd4, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0xb9, 0xce, 0xb7, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0xaa, 0xc7, 0xa8, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xba, 0xd1, 0xba, 0xff,
+ 0xaa, 0xc5, 0xa8, 0xff, 0xae, 0xc7, 0xac, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xb9, 0xce, 0xb7, 0xff, 0xaa, 0xc5, 0xa8, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0x5b, 0x79, 0x50, 0xff, 0x3b, 0x50, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xbb, 0xd0, 0xb9, 0xff, 0xae, 0xc7, 0xac, 0xff,
+ 0xae, 0xc7, 0xac, 0xff, 0x5b, 0x79, 0x50, 0xff, 0x3b, 0x50, 0x35, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xb2, 0xc9, 0xb0, 0xff,
+ 0xa9, 0xc4, 0xa7, 0xff, 0xad, 0xc8, 0xab, 0xff, 0x5b, 0x79, 0x50, 0xff,
+ 0x3b, 0x50, 0x35, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0x7e, 0xab, 0x78, 0xff, 0x69, 0x82, 0x67, 0xff, 0x67, 0x8c, 0x63, 0xff,
+ 0x4a, 0x63, 0x42, 0xff, 0x41, 0x56, 0x39, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xc7, 0x7c,
+ 0x00, 0x05, 0xc7, 0x44, 0x00, 0x05, 0xc7, 0x58, 0x67, 0x74, 0x6b, 0x2d,
+ 0x67, 0x6f, 0x74, 0x6f, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2d, 0x6c,
+ 0x74, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x05, 0xc7, 0x6c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0xc7, 0x74,
+ 0x00, 0x00, 0xf9, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0xc7, 0x88,
+ 0x00, 0x05, 0xc7, 0x94, 0x67, 0x74, 0x6b, 0x2d, 0x72, 0x65, 0x6d, 0x6f,
+ 0x76, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x05, 0xc7, 0xa8, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0xd0, 0xd0,
+ 0x00, 0x05, 0xc7, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x09, 0x18, 0x47, 0x64, 0x6b, 0x50, 0x00, 0x00, 0x09, 0x18,
+ 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x18,
+ 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x4b,
+ 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0xad, 0xbc, 0xce, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff, 0xb6, 0xc4, 0xd3, 0xff,
+ 0xb6, 0xc4, 0xd3, 0xff, 0x93, 0xa0, 0xad, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xc4, 0xce, 0xdc, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x61, 0x78, 0x91, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0x75, 0x89, 0xa0, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x97,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x30,
+ 0x00, 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x5c,
+ 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x4f,
+ 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x23,
+ 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x1c,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xd0, 0xd8, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x47, 0x64, 0x6b, 0x50,
+ 0x00, 0x00, 0x04, 0x18, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xad, 0xbc, 0xce, 0xff, 0xc4, 0xce, 0xdc, 0xff, 0xc4, 0xce, 0xdc, 0xff,
+ 0xc4, 0xce, 0xdc, 0xff, 0xc4, 0xce, 0xdc, 0xff, 0xc4, 0xce, 0xdc, 0xff,
+ 0xc4, 0xce, 0xdc, 0xff, 0xc4, 0xce, 0xdc, 0xff, 0xc4, 0xce, 0xdc, 0xff,
+ 0xc4, 0xce, 0xdc, 0xff, 0xc4, 0xce, 0xdc, 0xff, 0xc4, 0xce, 0xdc, 0xff,
+ 0x93, 0xa0, 0xad, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xc4, 0xce, 0xdc, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff, 0x75, 0x90, 0xae, 0xff,
+ 0x75, 0x90, 0xae, 0xff, 0x61, 0x78, 0x91, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x75, 0x89, 0xa0, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff, 0x5e, 0x73, 0x8b, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
+ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x05, 0xd5, 0x10, 0x00, 0x05, 0xd5, 0x14,
+ 0x00, 0x05, 0xd5, 0x18, 0x00, 0x05, 0xd5, 0x1c, 0x00, 0x05, 0xd5, 0x20,
+ 0x31, 0x36, 0x00, 0x00, 0x34, 0x38, 0x00, 0x00, 0x33, 0x32, 0x00, 0x00,
+ 0x32, 0x30, 0x00, 0x00, 0x32, 0x34, 0x00, 0x00
+};
diff --git a/meta/packages/gtk+/gtk+-2.10.0/gtklabel-resize-patch b/meta/packages/gtk+/gtk+-2.10.0/gtklabel-resize-patch
new file mode 100644
index 0000000000..df29656343
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/gtklabel-resize-patch
@@ -0,0 +1,10 @@
+--- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100
++++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100
+@@ -1623,6 +1623,7 @@
+
+ /* We have to clear the layout, fonts etc. may have changed */
+ gtk_label_clear_layout (label);
++ gtk_widget_queue_resize (GTK_WIDGET (label));
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+-2.10.0/gtktreeview-316689.patch b/meta/packages/gtk+/gtk+-2.10.0/gtktreeview-316689.patch
new file mode 100644
index 0000000000..4e77ddf9f9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/gtktreeview-316689.patch
@@ -0,0 +1,25 @@
+diff -u -p -r1.498 gtktreeview.c
+--- gtk+-2.8.9/gtk/gtktreeview.c 22 Oct 2005 21:08:23 -0000 1.498
++++ gtk+-2.8.9/gtk/gtktreeview.c 24 Oct 2005 22:30:27 -0000
+@@ -2098,6 +2098,9 @@ gtk_tree_view_size_allocate (GtkWidget
+ /* now the adjustments and window sizes are in sync, we can sync toprow/dy again */
+ if (tree_view->priv->height <= tree_view->priv->vadjustment->page_size)
+ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0);
++ else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height)
++ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment),
++ tree_view->priv->height - tree_view->priv->vadjustment->page_size);
+ else if (gtk_tree_row_reference_valid (tree_view->priv->top_row))
+ gtk_tree_view_top_row_to_dy (tree_view);
+ else
+@ -5031,6 +5034,11 @@ validate_visible_area (GtkTreeView *tree
+ * else than zero. we update top_row to be in sync with dy = 0.
+ */
+ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0);
++ gtk_tree_view_dy_to_top_row (tree_view);
++ }
++ else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height)
++ {
++ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), tree_view->priv->height - tree_view->priv->vadjustment->page_size);
+ gtk_tree_view_dy_to_top_row (tree_view);
+ }
+ else
diff --git a/meta/packages/gtk+/gtk+-2.10.0/hardcoded_libtool.patch b/meta/packages/gtk+/gtk+-2.10.0/hardcoded_libtool.patch
new file mode 100644
index 0000000000..1a8e9294cf
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/hardcoded_libtool.patch
@@ -0,0 +1,29 @@
+--- gtk+-2.6.0/configure.in.old 2005-01-01 16:23:45.000000000 +0000
++++ gtk+-2.6.0/configure.in 2005-01-01 16:24:03.000000000 +0000
+@@ -360,7 +360,7 @@
+ AC_MSG_CHECKING([Whether to write dependencies into .pc files])
+ case $enable_explicit_deps in
+ auto)
+- deplibs_check_method=`(./libtool --config; echo eval echo \\$deplibs_check_method) | sh`
++ deplibs_check_method=`($host_alias-libtool --config; echo eval echo \\$deplibs_check_method) | sh`
+ if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+@@ -688,7 +688,7 @@
+ dnl Now we check to see if our libtool supports shared lib deps
+ dnl (in a rather ugly way even)
+ if $dynworks; then
+- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
+ pixbuf_deplibs_check=`$pixbuf_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1512,7 +1512,7 @@
+ #
+ # We are using gmodule-no-export now, but I'm leaving the stripping
+ # code in place for now, since pango and atk still require gmodule.
+-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ if test -n "$export_dynamic"; then
+ GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta/packages/gtk+/gtk+-2.10.0/menu-deactivate.patch b/meta/packages/gtk+/gtk+-2.10.0/menu-deactivate.patch
new file mode 100644
index 0000000000..29e665fbf3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/menu-deactivate.patch
@@ -0,0 +1,50 @@
+--- gtk+-2.4.4/gtk/gtkmenushell.c.old Thu Aug 26 23:45:28 2004
++++ gtk+-2.4.4/gtk/gtkmenushell.c Fri Aug 27 00:13:33 2004
+@@ -37,7 +37,7 @@
+ #include "gtktearoffmenuitem.h"
+ #include "gtkwindow.h"
+
+-#define MENU_SHELL_TIMEOUT 500
++#define MENU_SHELL_TIMEOUT 2000
+
+ enum {
+ DEACTIVATE,
+@@ -156,6 +156,7 @@
+ static GtkContainerClass *parent_class = NULL;
+ static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
+
++static int last_crossing_time;
+
+ GType
+ gtk_menu_shell_get_type (void)
+@@ -418,6 +419,7 @@
+ gtk_grab_add (GTK_WIDGET (menu_shell));
+ menu_shell->have_grab = TRUE;
+ menu_shell->active = TRUE;
++ last_crossing_time = 0;
+ }
+ }
+
+@@ -545,6 +547,13 @@
+ menu_shell->activate_time = 0;
+ deactivate = FALSE;
+ }
++
++ if (last_crossing_time != 0
++ && ((event->time - last_crossing_time) < 500))
++ {
++ last_crossing_time = 0;
++ deactivate = FALSE;
++ }
+
+ if (deactivate)
+ {
+@@ -597,6 +606,8 @@
+ if (menu_shell->active)
+ {
+ menu_item = gtk_get_event_widget ((GdkEvent*) event);
++
++ last_crossing_time = event->time;
+
+ if (!menu_item ||
+ (GTK_IS_MENU_ITEM (menu_item) &&
diff --git a/meta/packages/gtk+/gtk+-2.10.0/no-demos.patch b/meta/packages/gtk+/gtk+-2.10.0/no-demos.patch
new file mode 100644
index 0000000000..0145067ad5
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/no-demos.patch
@@ -0,0 +1,10 @@
+--- gtk+-2.8.6/Makefile.am.orig 2005-12-07 21:30:56 +0100
++++ gtk+-2.8.6/Makefile.am 2005-12-07 21:31:10 +0100
+@@ -1,6 +1,6 @@
+ ## Makefile.am for GTK+
+
+-SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
++SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests perf contrib
+ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
+
+ # require automake 1.4
diff --git a/meta/packages/gtk+/gtk+-2.10.0/no-generate-builtincache.patch b/meta/packages/gtk+/gtk+-2.10.0/no-generate-builtincache.patch
new file mode 100644
index 0000000000..bd204d0e8b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/no-generate-builtincache.patch
@@ -0,0 +1,33 @@
+--- gtk+-2.10.0/gtk/Makefile.am.bak 2006-07-20 15:50:21.000000000 +0200
++++ gtk+-2.10.0/gtk/Makefile.am 2006-07-20 15:51:07.000000000 +0200
+@@ -380,6 +380,7 @@
+ gtkbin.c \
+ gtkbindings.c \
+ gtkbox.c \
++ gtkbuiltincache.h \
+ gtkbutton.c \
+ gtkcalendar.c \
+ gtkcelleditable.c \
+@@ -656,8 +657,7 @@
+ # built sources that don't get installed
+ gtk_built_private_headers = \
+ gtkalias.h \
+- gtkmarshalers.h \
+- gtkbuiltincache.h
++ gtkmarshalers.h
+
+ gtk_built_sources = \
+ gtkaliasdef.c \
+@@ -1084,12 +1084,6 @@
+ done \
+ && touch stamp-icons
+
+-gtkbuiltincache.h: @REBUILD@ stamp-icons
+- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache
+- GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \
+- ./gtk-update-icon-cache --force --ignore-theme-index \
+- --source builtin_icons stock-icons > gtkbuiltincache.h
+-
+ EXTRA_DIST += \
+ $(STOCK_ICONS) \
+ $(GENERATED_ICONS) \
diff --git a/meta/packages/gtk+/gtk+-2.10.0/no-xwc.patch b/meta/packages/gtk+/gtk+-2.10.0/no-xwc.patch
new file mode 100644
index 0000000000..318b150359
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/no-xwc.patch
@@ -0,0 +1,179 @@
+Index: configure.in
+===================================================================
+RCS file: /cvs/gnome/gtk+/configure.in,v
+retrieving revision 1.469.2.22
+diff -u -r1.469.2.22 configure.in
+--- gtk/configure.in 16 Mar 2006 16:39:45 -0000 1.469.2.22
++++ gtk/configure.in 20 Mar 2006 12:07:11 -0000
+@@ -1115,6 +1115,8 @@
+
+ AC_CHECK_FUNCS(XConvertCase XInternAtoms)
+
++ AC_CHECK_FUNCS(XmbDrawString)
++
+ # Generic X11R6 check needed for XIM support; we could
+ # probably use this to replace the above, but we'll
+ # leave the separate checks for XConvertCase and XInternAtoms
+Index: gdk/x11/gdkdrawable-x11.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gdk/x11/gdkdrawable-x11.c,v
+retrieving revision 1.58
+diff -u -r1.58 gdkdrawable-x11.c
+--- gtk/gdk/x11/gdkdrawable-x11.c 15 Aug 2005 19:04:54 -0000 1.58
++++ gtk/gdk/x11/gdkdrawable-x11.c 20 Mar 2006 12:07:12 -0000
+@@ -579,12 +579,14 @@
+ GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2);
+ }
+ }
++#ifdef HAVE_XMBDRAWSTRING
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font);
+ XmbDrawString (xdisplay, impl->xid,
+ fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length);
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+@@ -616,6 +618,7 @@
+ GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length);
+ g_free (text_8bit);
+ }
++#ifdef HAVE_XMBDRAWSTRING
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+@@ -636,6 +639,7 @@
+ g_free (text_wchar);
+ }
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+Index: gdk/x11/gdkfont-x11.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gdk/x11/gdkfont-x11.c,v
+retrieving revision 1.48.2.1
+diff -u -r1.48.2.1 gdkfont-x11.c
+--- gtk/gdk/x11/gdkfont-x11.c 20 Jan 2006 04:39:43 -0000 1.48.2.1
++++ gtk/gdk/x11/gdkfont-x11.c 20 Mar 2006 12:07:12 -0000
+@@ -527,10 +527,12 @@
+ width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2);
+ }
+ break;
++#ifdef HAVE_XMBDRAWSTRING
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ width = XmbTextEscapement (fontset, text, text_length);
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -580,6 +582,7 @@
+ width = 0;
+ }
+ break;
++#ifdef HAVE_XMBDRAWSTRING
+ case GDK_FONT_FONTSET:
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+ {
+@@ -597,6 +600,7 @@
+ g_free (text_wchar);
+ }
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -669,6 +673,7 @@
+ if (descent)
+ *descent = overall.descent;
+ break;
++#ifdef HAVE_XMBDRAWSTRING
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ XmbTextExtents (fontset, text, text_length, &ink, &logical);
+@@ -683,6 +688,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+@@ -755,6 +761,7 @@
+ *descent = overall.descent;
+ break;
+ }
++#ifdef HAVE_XMBDRAWSTRING
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+
+@@ -782,6 +789,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+Index: gdk/x11/gdkim-x11.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gdk/x11/gdkim-x11.c,v
+retrieving revision 1.38
+diff -u -r1.38 gdkim-x11.c
+--- gtk/gdk/x11/gdkim-x11.c 16 Mar 2005 03:17:27 -0000 1.38
++++ gtk/gdk/x11/gdkim-x11.c 20 Mar 2006 12:07:12 -0000
+@@ -48,6 +48,7 @@
+ void
+ _gdk_x11_initialize_locale (void)
+ {
++#ifdef HAVE_XMBDRAWSTRING
+ wchar_t result;
+ gchar *current_locale;
+ static char *last_locale = NULL;
+@@ -93,7 +94,8 @@
+ GDK_NOTE (XIM,
+ g_message ("%s multi-byte string functions.",
+ gdk_use_mb ? "Using" : "Not using"));
+-
++#endif
++
+ return;
+ }
+
+@@ -136,6 +138,7 @@
+ {
+ gchar *mbstr;
+
++#ifdef HAVE_XMBDRAWSTRING
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -178,6 +181,7 @@
+ XFree (tpr.value);
+ }
+ else
++#endif
+ {
+ gint length = 0;
+ gint i;
+@@ -210,6 +214,7 @@
+ gint
+ gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max)
+ {
++#ifdef HAVE_XMBDRAWSTRING
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -242,6 +247,7 @@
+ return len_cpy;
+ }
+ else
++#endif
+ {
+ gint i;
+
diff --git a/meta/packages/gtk+/gtk+-2.10.0/scroll-timings.patch b/meta/packages/gtk+/gtk+-2.10.0/scroll-timings.patch
new file mode 100644
index 0000000000..a38b21dcc2
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/scroll-timings.patch
@@ -0,0 +1,15 @@
+--- gtk+-2.4.4/gtk/gtkrange.c~ 2004-08-23 01:50:22.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkrange.c 2004-08-27 15:48:49.000000000 +0100
+@@ -35,9 +35,9 @@
+ #include "gtkintl.h"
+ #include "gtkscrollbar.h"
+
+-#define SCROLL_INITIAL_DELAY 250 /* must hold button this long before ... */
+-#define SCROLL_LATER_DELAY 100 /* ... it starts repeating at this rate */
+-#define UPDATE_DELAY 300 /* Delay for queued update */
++#define SCROLL_INITIAL_DELAY 500 /* must hold button this long before ... */
++#define SCROLL_LATER_DELAY 200 /* ... it starts repeating at this rate */
++#define UPDATE_DELAY 1000 /* Delay for queued update */
+
+ enum {
+ PROP_0,
diff --git a/meta/packages/gtk+/gtk+-2.10.0/single-click.patch b/meta/packages/gtk+/gtk+-2.10.0/single-click.patch
new file mode 100644
index 0000000000..1bf0db12a8
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/single-click.patch
@@ -0,0 +1,36 @@
+--- gtk+-2.8.6/gtk/gtkfilesel.c.orig 2005-12-07 21:13:33 +0100
++++ gtk+-2.8.6/gtk/gtkfilesel.c 2005-12-07 21:14:56 +0100
+@@ -2461,6 +2461,33 @@
+ if (fs->last_selected != NULL)
+ g_free (fs->last_selected);
+
++ // Single-click directory entry
++ if (new_names->len == 1)
++ {
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++ gboolean is_file;
++
++ tree_view = gtk_tree_selection_get_tree_view (selection);
++
++ if (gtk_tree_selection_get_selected (selection, &model, &iter))
++ {
++ path = gtk_tree_model_get_path (model, &iter);
++ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
++
++ if (!is_file)
++ {
++ gtk_file_selection_dir_activate (tree_view, path,
++ gtk_tree_view_get_column (tree_view, DIR_COLUMN),
++ user_data);
++ }
++
++ gtk_tree_path_free (path);
++ }
++ }
++
+ fs->last_selected = g_strdup (g_ptr_array_index (new_names, index));
+ filename = get_real_filename (fs->last_selected, FALSE);
+
diff --git a/meta/packages/gtk+/gtk+-2.10.0/small-gtkfilesel.patch b/meta/packages/gtk+/gtk+-2.10.0/small-gtkfilesel.patch
new file mode 100644
index 0000000000..20bf4cf366
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/small-gtkfilesel.patch
@@ -0,0 +1,267 @@
+diff -urNd ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c gtk+-2.4.4/gtk/gtkfilesel.c
+--- ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c 2004-07-10 05:02:10.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkfilesel.c 2004-09-13 13:40:09.000000000 +0100
+@@ -68,6 +68,7 @@
+ #include "gtkprivate.h"
+ #include "gtkscrolledwindow.h"
+ #include "gtkstock.h"
++#include "gtksignal.h"
+ #include "gtktreeselection.h"
+ #include "gtktreeview.h"
+ #include "gtkvbox.h"
+@@ -77,6 +78,7 @@
+ #include "gtkmessagedialog.h"
+ #include "gtkdnd.h"
+ #include "gtkeventbox.h"
++#include "gtkimage.h"
+
+ #undef GTK_DISABLE_DEPRECATED
+ #include "gtkoptionmenu.h"
+@@ -245,7 +247,8 @@
+ };
+
+ enum {
+- DIR_COLUMN
++ DIR_COLUMN,
++ ISFILE_COLUMN
+ };
+
+ enum {
+@@ -400,6 +403,12 @@
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+ gpointer user_data);
++
++static void gtk_file_selection_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ gpointer user_data);
++
+ static void gtk_file_selection_file_changed (GtkTreeSelection *selection,
+ gpointer user_data);
+ static void gtk_file_selection_dir_activate (GtkTreeView *tree_view,
+@@ -419,6 +428,7 @@
+ static void gtk_file_selection_create_dir (GtkWidget *widget, gpointer data);
+ static void gtk_file_selection_delete_file (GtkWidget *widget, gpointer data);
+ static void gtk_file_selection_rename_file (GtkWidget *widget, gpointer data);
++static void gtk_file_selection_style_set (GtkWidget *widget, GtkStyle *prev_style);
+
+ static void free_selected_names (GPtrArray *names);
+
+@@ -578,6 +588,23 @@
+ G_PARAM_WRITABLE));
+ object_class->destroy = gtk_file_selection_destroy;
+ widget_class->map = gtk_file_selection_map;
++ widget_class->style_set = gtk_file_selection_style_set;
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("show_fileops_default",
++ _("Show fileop buttons by default"),
++ _("Whether file operation buttons are shown by default"),
++ TRUE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("border_width",
++ _("Border width"),
++ _("Width of border around the main dialog area"),
++ 0,
++ G_MAXINT,
++ 10,
++ G_PARAM_READABLE));
+ }
+
+ static void gtk_file_selection_set_property (GObject *object,
+@@ -649,7 +676,29 @@
+ gtk_widget_grab_default (widget);
+ return FALSE;
+ }
+-
++
++static void
++gtk_file_selection_style_set (GtkWidget *filesel,
++ GtkStyle *prev_style)
++{
++ gboolean show_fileops;
++ gint border_width;
++
++ gtk_widget_style_get (filesel,
++ "show_fileops_default",
++ &show_fileops,
++ "border_width",
++ &border_width,
++ NULL);
++
++ gtk_container_set_border_width (GTK_CONTAINER (filesel), border_width);
++
++ if (show_fileops)
++ gtk_file_selection_show_fileop_buttons (GTK_FILE_SELECTION (filesel));
++ else
++ gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (filesel));
++}
++
+ static void
+ gtk_file_selection_init (GtkFileSelection *filesel)
+ {
+@@ -674,17 +723,15 @@
+
+ /* The dialog-sized vertical box */
+ filesel->main_vbox = dialog->vbox;
+- gtk_container_set_border_width (GTK_CONTAINER (filesel), 10);
+
+ /* The horizontal box containing create, rename etc. buttons */
+ filesel->button_area = gtk_hbutton_box_new ();
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (filesel->button_area), GTK_BUTTONBOX_START);
+- gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0);
+ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->button_area,
+ FALSE, FALSE, 0);
+ gtk_widget_show (filesel->button_area);
+
+- gtk_file_selection_show_fileop_buttons (filesel);
++ gtk_file_selection_style_set (GTK_WIDGET (filesel), NULL);
+
+ /* hbox for pulldown menu */
+ pulldown_hbox = gtk_hbox_new (TRUE, 5);
+@@ -723,25 +770,32 @@
+
+ /* The directories list */
+
+- model = gtk_list_store_new (1, G_TYPE_STRING);
++ model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); /* MA */
+ filesel->dir_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+ g_object_unref (model);
+
+- column = gtk_tree_view_column_new_with_attributes (_("Folders"),
++ column = gtk_tree_view_column_new_with_attributes (/*_("Folders")*/ NULL,
+ gtk_cell_renderer_text_new (),
+ "text", DIR_COLUMN,
+ NULL);
+ label = gtk_label_new_with_mnemonic (_("Fol_ders"));
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->dir_list);
+ gtk_widget_show (label);
+- gtk_tree_view_column_set_widget (column, label);
++
++ /* gtk_tree_view_column_set_widget (column, label); */
++ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (filesel->dir_list), FALSE);
++
+ gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->dir_list), column);
+
+ gtk_widget_set_size_request (filesel->dir_list,
+ DIR_LIST_WIDTH, DIR_LIST_HEIGHT);
+ g_signal_connect (filesel->dir_list, "row_activated",
+- G_CALLBACK (gtk_file_selection_dir_activate), filesel);
++ G_CALLBACK (gtk_file_selection_activate), filesel);
++
++ g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->dir_list)), "changed",
++ G_CALLBACK (gtk_file_selection_file_changed), filesel);
++
+
+ /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list)); */
+
+@@ -758,41 +812,6 @@
+ gtk_widget_show (filesel->dir_list);
+ gtk_widget_show (scrolled_win);
+
+- /* The files list */
+- model = gtk_list_store_new (1, G_TYPE_STRING);
+- filesel->file_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+- g_object_unref (model);
+-
+- column = gtk_tree_view_column_new_with_attributes (_("Files"),
+- gtk_cell_renderer_text_new (),
+- "text", FILE_COLUMN,
+- NULL);
+- label = gtk_label_new_with_mnemonic (_("_Files"));
+- gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->file_list);
+- gtk_widget_show (label);
+- gtk_tree_view_column_set_widget (column, label);
+- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+- gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->file_list), column);
+-
+- gtk_widget_set_size_request (filesel->file_list,
+- FILE_LIST_WIDTH, FILE_LIST_HEIGHT);
+- g_signal_connect (filesel->file_list, "row_activated",
+- G_CALLBACK (gtk_file_selection_file_activate), filesel);
+- g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->file_list)), "changed",
+- G_CALLBACK (gtk_file_selection_file_changed), filesel);
+-
+- /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->file_list)); */
+-
+- scrolled_win = gtk_scrolled_window_new (NULL, NULL);
+- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), GTK_SHADOW_IN);
+- gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->file_list);
+- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
+- GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+- gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 0);
+- gtk_container_add (GTK_CONTAINER (list_container), scrolled_win);
+- gtk_widget_show (filesel->file_list);
+- gtk_widget_show (scrolled_win);
+-
+ /* action area for packing buttons into. */
+ filesel->action_area = gtk_hbox_new (TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->action_area,
+@@ -2008,6 +2027,23 @@
+ }
+
+ static void
++gtk_file_selection_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ gpointer user_data)
++{
++ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
++ GtkTreeIter iter;
++ gboolean is_file;
++
++ gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
++
++ if (! is_file)
++ gtk_file_selection_dir_activate (tree_view, path, column, user_data);
++}
++
++static void
+ gtk_file_selection_file_activate (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+@@ -2103,7 +2139,6 @@
+ PossibleCompletion* poss;
+ GtkTreeIter iter;
+ GtkListStore *dir_model;
+- GtkListStore *file_model;
+ gchar* filename;
+ gchar* rem_path = rel_path;
+ gchar* sel_text;
+@@ -2125,10 +2160,8 @@
+ g_assert (cmpl_state->reference_dir);
+
+ dir_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->dir_list)));
+- file_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->file_list)));
+
+ gtk_list_store_clear (dir_model);
+- gtk_list_store_clear (file_model);
+
+ /* Set the dir list to include ./ and ../ */
+ gtk_list_store_append (dir_model, &iter);
+@@ -2150,13 +2183,17 @@
+ strcmp (filename, ".." G_DIR_SEPARATOR_S) != 0)
+ {
+ gtk_list_store_append (dir_model, &iter);
+- gtk_list_store_set (dir_model, &iter, DIR_COLUMN, filename, -1);
++ gtk_list_store_set (dir_model, &iter,
++ DIR_COLUMN, filename,
++ ISFILE_COLUMN, FALSE, -1);
+ }
+ }
+ else
+ {
+- gtk_list_store_append (file_model, &iter);
+- gtk_list_store_set (file_model, &iter, DIR_COLUMN, filename, -1);
++ gtk_list_store_append (dir_model, &iter);
++ gtk_list_store_set (dir_model, &iter,
++ DIR_COLUMN, filename,
++ ISFILE_COLUMN, TRUE, -1);
+ }
+ }
+
diff --git a/meta/packages/gtk+/gtk+-2.10.0/spinbutton.patch b/meta/packages/gtk+/gtk+-2.10.0/spinbutton.patch
new file mode 100644
index 0000000000..8ad7507af0
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/spinbutton.patch
@@ -0,0 +1,128 @@
+--- gtk+-2.4.3/gtk/gtkspinbutton.c.old 2004-04-22 14:49:27.000000000 +0100
++++ gtk+-2.4.3/gtk/gtkspinbutton.c 2004-06-30 21:48:18.000000000 +0100
+@@ -733,7 +733,7 @@
+
+ spin = GTK_SPIN_BUTTON (widget);
+ arrow_size = spin_button_get_arrow_size (spin);
+- panel_width = arrow_size + 2 * widget->style->xthickness;
++ panel_width = (2 * arrow_size) + 4 * widget->style->xthickness;
+
+ widget->allocation = *allocation;
+
+@@ -866,19 +866,16 @@
+ {
+ width = spin_button_get_arrow_size (spin_button) + 2 * widget->style->xthickness;
+
++ y = widget->style->ythickness;
++ height = widget->requisition.height - (2 * y);
++
+ if (arrow_type == GTK_ARROW_UP)
+ {
+ x = 0;
+- y = 0;
+-
+- height = widget->requisition.height / 2;
+ }
+ else
+ {
+- x = 0;
+- y = widget->requisition.height / 2;
+-
+- height = (widget->requisition.height + 1) / 2;
++ x = width;
+ }
+
+ if (spin_button_at_limit (spin_button, arrow_type))
+@@ -908,32 +905,17 @@
+ shadow_type = GTK_SHADOW_OUT;
+ }
+ }
+-
++
+ gtk_paint_box (widget->style, spin_button->panel,
+ state_type, shadow_type,
+ NULL, widget,
+- (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down",
++ NULL,
+ x, y, width, height);
+
+ height = widget->requisition.height;
+
+- if (arrow_type == GTK_ARROW_DOWN)
+- {
+- y = height / 2;
+- height = height - y - 2;
+- }
+- else
+- {
+- y = 2;
+- height = height / 2 - 2;
+- }
+-
+ width -= 3;
+-
+- if (widget && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+- x = 2;
+- else
+- x = 1;
++ height -= 3;
+
+ w = width / 2;
+ w -= w % 2 - 1; /* force odd */
+@@ -1108,7 +1090,7 @@
+ if (GTK_ENTRY (widget)->editable)
+ gtk_spin_button_update (spin);
+
+- if (event->y <= widget->requisition.height / 2)
++ if (event->x <= (spin_button_get_arrow_size (spin) + widget->style->xthickness))
+ {
+ if (event->button == 1)
+ start_spinning (spin, GTK_ARROW_UP, spin->adjustment->step_increment);
+@@ -1143,44 +1125,11 @@
+
+ arrow_size = spin_button_get_arrow_size (spin);
+
+- if (event->button == spin->button)
+- {
+- int click_child = spin->click_child;
++ gtk_spin_button_stop_spinning (spin);
+
+- gtk_spin_button_stop_spinning (spin);
+-
+- if (event->button == 3)
+- {
+- if (event->y >= 0 && event->x >= 0 &&
+- event->y <= widget->requisition.height &&
+- event->x <= arrow_size + 2 * widget->style->xthickness)
+- {
+- if (click_child == GTK_ARROW_UP &&
+- event->y <= widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->upper - spin->adjustment->value;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, diff);
+- }
+- else if (click_child == GTK_ARROW_DOWN &&
+- event->y > widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->value - spin->adjustment->lower;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, -diff);
+- }
+- }
+- }
+- spin_button_redraw (spin);
++ spin_button_redraw (spin);
+
+- return TRUE;
+- }
+- else
+- return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
++ return TRUE;
+ }
+
+ static gint
diff --git a/meta/packages/gtk+/gtk+-2.10.0/style-cairo.patch b/meta/packages/gtk+/gtk+-2.10.0/style-cairo.patch
new file mode 100644
index 0000000000..197b0a8f45
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/style-cairo.patch
@@ -0,0 +1,2193 @@
+Index: gtkstyle.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkstyle.c,v
+retrieving revision 1.193
+diff -u -r1.193 gtk+-2.10.0/gtk/gtkstyle.c
+--- gtk+-2.10.0/gtk/gtkstyle.c 28 May 2006 12:56:26 -0000 1.193
++++ gtk+-2.10.0/gtk/gtkstyle.c 2 Jul 2006 14:15:15 -0000
+@@ -37,7 +37,6 @@
+ #include "gtkthemes.h"
+ #include "gtkiconfactory.h"
+ #include "gtksettings.h" /* _gtk_settings_parse_convert() */
+-#include "gtkintl.h"
+ #include "gtkalias.h"
+
+ #define LIGHTNESS_MULT 1.3
+@@ -59,6 +58,8 @@
+ };
+
+ /* --- prototypes --- */
++static void gtk_style_init (GtkStyle *style);
++static void gtk_style_class_init (GtkStyleClass *klass);
+ static void gtk_style_finalize (GObject *object);
+ static void gtk_style_realize (GtkStyle *style,
+ GdkColormap *colormap);
+@@ -311,6 +312,9 @@
+ gint width,
+ gint height);
+
++void _gtk_style_shade (GdkColor *a,
++ GdkColor *b,
++ gdouble k);
+ static void rgb_to_hls (gdouble *r,
+ gdouble *g,
+ gdouble *b);
+@@ -329,6 +333,128 @@
+ static const GtkRequisition default_option_indicator_size = { 7, 13 };
+ static const GtkBorder default_option_indicator_spacing = { 7, 5, 2, 2 };
+
++#define INDICATOR_PART_SIZE 13
++
++typedef enum {
++ CHECK_AA,
++ CHECK_BASE,
++ CHECK_BLACK,
++ CHECK_DARK,
++ CHECK_LIGHT,
++ CHECK_MID,
++ CHECK_TEXT,
++ CHECK_INCONSISTENT_TEXT,
++ RADIO_BASE,
++ RADIO_BLACK,
++ RADIO_DARK,
++ RADIO_LIGHT,
++ RADIO_MID,
++ RADIO_TEXT,
++ RADIO_INCONSISTENT_AA,
++ RADIO_INCONSISTENT_TEXT
++} IndicatorPart;
++
++/*
++ * Extracted from check-13.png, width=13, height=13
++ */
++static const guchar check_black_bits[] = {
++ 0x00,0x00,0xfe,0x0f,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,
++ 0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00};
++static const guchar check_dark_bits[] = {
++ 0xff,0x1f,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,
++ 0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00};
++static const guchar check_mid_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,
++ 0x08,0x00,0x08,0x00,0x08,0x00,0x08,0xfc,0x0f,0x00,0x00,0x00,0x00};
++static const guchar check_light_bits[] = {
++ 0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,
++ 0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0xfe,0x1f,0x00,0x00};
++static const guchar check_text_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x03,0x80,0x01,0x80,0x00,0x58,
++ 0x00,0x60,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++static const guchar check_aa_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x58,0x00,0xa0,
++ 0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++static const guchar check_base_bits[] = {
++ 0x00,0x00,0x00,0x00,0xfc,0x07,0xfc,0x07,0xfc,0x07,0xfc,0x07,0xfc,0x07,0xfc,
++ 0x07,0xfc,0x07,0xfc,0x07,0xfc,0x07,0x00,0x00,0x00,0x00,0x00,0x00};
++
++/*
++ * Extracted from check-13-inconsistent.png, width=13, height=13
++ */
++static const guchar check_inconsistent_text_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x03,0xf8,
++ 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++#if 0
++/*
++ * check_inconsistent_aa_bits is currently not used, since it is all zeros.
++ */
++static const guchar check_inconsistent_aa_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++#endif
++
++/*
++ * Extracted from radio-13.png, width=13, height=13
++ */
++static const guchar radio_black_bits[] = {
++ 0x00,0x00,0xf0,0x01,0x0c,0x02,0x04,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,
++ 0x00,0x02,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0d,0x08};
++static const guchar radio_dark_bits[] = {
++ 0xf0,0x00,0x0c,0x02,0x02,0x04,0x02,0x04,0x01,0x08,0x01,0x08,0x01,0x08,0x01,
++ 0x08,0x00,0x08,0x02,0x04,0x0c,0x06,0xf0,0x01,0x00,0x00,0x00,0x00};
++static const guchar radio_mid_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++static const guchar radio_light_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,
++ 0x10,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x06,0xe0,0x01,0x00,0x00};
++static const guchar radio_text_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x00,0xf0,0x01,0xf0,0x01,0xf0,
++ 0x01,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++#if 0
++/*
++ * radio_aa_bits is currently not used, since it is all zeros.
++ */
++static const guchar radio_aa_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++#endif
++static const guchar radio_base_bits[] = {
++ 0x00,0x00,0x00,0x00,0xf0,0x01,0xf8,0x03,0xfc,0x07,0xfc,0x07,0xfc,0x07,0xfc,
++ 0x07,0xfc,0x07,0xf8,0x03,0xf0,0x01,0x00,0x00,0x00,0x00,0x00,0x00};
++
++/*
++ * Extracted from radio-13.png, width=13, height=13
++ */
++static const guchar radio_inconsistent_text_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x03,0x00,
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++static const guchar radio_inconsistent_aa_bits[] = {
++ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x03,0x00,0x00,0xf8,
++ 0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
++
++static struct {
++ const guchar *bits;
++ GList *bmap_list; /* list of GdkBitmap */
++} indicator_parts[] = {
++ { check_aa_bits, NULL },
++ { check_base_bits, NULL },
++ { check_black_bits, NULL },
++ { check_dark_bits, NULL },
++ { check_light_bits, NULL },
++ { check_mid_bits, NULL },
++ { check_text_bits, NULL },
++ { check_inconsistent_text_bits, NULL },
++ { radio_base_bits, NULL },
++ { radio_black_bits, NULL },
++ { radio_dark_bits, NULL },
++ { radio_light_bits, NULL },
++ { radio_mid_bits, NULL },
++ { radio_text_bits, NULL },
++ { radio_inconsistent_aa_bits, NULL },
++ { radio_inconsistent_text_bits, NULL },
++};
+ #define GTK_GRAY 0xdcdc, 0xdada, 0xd5d5
+ #define GTK_DARK_GRAY 0xc4c4, 0xc2c2, 0xbdbd
+ #define GTK_LIGHT_GRAY 0xeeee, 0xebeb, 0xe7e7
+@@ -353,13 +479,39 @@
+ static const GdkColor gtk_default_selected_base = { 0, GTK_BLUE };
+ static const GdkColor gtk_default_active_base = { 0, GTK_VERY_DARK_GRAY };
+
++static gpointer parent_class = NULL;
++
+ /* --- signals --- */
+ static guint realize_signal = 0;
+ static guint unrealize_signal = 0;
+
+-G_DEFINE_TYPE (GtkStyle, gtk_style, G_TYPE_OBJECT)
+-
+ /* --- functions --- */
++GType
++gtk_style_get_type (void)
++{
++ static GType style_type = 0;
++
++ if (!style_type)
++ {
++ static const GTypeInfo style_info =
++ {
++ sizeof (GtkStyleClass),
++ (GBaseInitFunc) NULL,
++ (GBaseFinalizeFunc) NULL,
++ (GClassInitFunc) gtk_style_class_init,
++ NULL, /* class_finalize */
++ NULL, /* class_data */
++ sizeof (GtkStyle),
++ 0, /* n_preallocs */
++ (GInstanceInitFunc) gtk_style_init,
++ };
++
++ style_type = g_type_register_static (G_TYPE_OBJECT, "GtkStyle",
++ &style_info, 0);
++ }
++
++ return style_type;
++}
+
+ /**
+ * _gtk_style_init_for_settings:
+@@ -477,6 +629,8 @@
+ {
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
++ parent_class = g_type_class_peek_parent (klass);
++
+ object_class->finalize = gtk_style_finalize;
+
+ klass->clone = gtk_style_real_clone;
+@@ -511,6 +665,7 @@
+
+ g_type_class_add_private (object_class, sizeof (GtkStylePrivate));
+
++
+ /**
+ * GtkStyle::realize:
+ * @style: the object which received the signal
+@@ -522,7 +677,7 @@
+ *
+ * Since: 2.4
+ */
+- realize_signal = g_signal_new (I_("realize"),
++ realize_signal = g_signal_new ("realize",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (GtkStyleClass, realize),
+@@ -540,7 +695,7 @@
+ *
+ * Since: 2.4
+ */
+- unrealize_signal = g_signal_new (I_("unrealize"),
++ unrealize_signal = g_signal_new ("unrealize",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (GtkStyleClass, unrealize),
+@@ -602,8 +757,18 @@
+ }
+ }
+
+- g_slist_foreach (style->icon_factories, (GFunc) g_object_unref, NULL);
+- g_slist_free (style->icon_factories);
++ if (style->icon_factories)
++ {
++ GSList *tmp_list = style->icon_factories;
++
++ while (tmp_list)
++ {
++ g_object_unref (tmp_list->data);
++ tmp_list = tmp_list->next;
++ }
++
++ g_slist_free (style->icon_factories);
++ }
+
+ g_slist_foreach (priv->color_hashes, (GFunc) g_hash_table_unref, NULL);
+ g_slist_free (priv->color_hashes);
+@@ -619,7 +784,7 @@
+ if (style->rc_style)
+ gtk_rc_style_unref (style->rc_style);
+
+- G_OBJECT_CLASS (gtk_style_parent_class)->finalize (object);
++ G_OBJECT_CLASS (parent_class)->finalize (object);
+ }
+
+
+@@ -686,10 +851,6 @@
+ * it to a particular visual and colormap. The process may
+ * involve the creation of a new style if the style has already
+ * been attached to a window with a different style and colormap.
+- *
+- * Since this function may return a new object, you have to use it
+- * in the following way:
+- * <literal>style = gtk_style_attach (style, window)</literal>
+ **/
+ GtkStyle*
+ gtk_style_attach (GtkStyle *style,
+@@ -766,19 +927,10 @@
+ return new_style;
+ }
+
+-/**
+- * gtk_style_detach:
+- * @style: a #GtkStyle
+- *
+- * Detaches a style from a window. If the style is not attached
+- * to any windows anymore, it is unrealized. See gtk_style_attach().
+- *
+- */
+ void
+ gtk_style_detach (GtkStyle *style)
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+- g_return_if_fail (style->attach_count > 0);
+
+ style->attach_count -= 1;
+ if (style->attach_count == 0)
+@@ -833,6 +985,9 @@
+ gtk_style_realize (GtkStyle *style,
+ GdkColormap *colormap)
+ {
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (GDK_IS_COLORMAP (colormap));
++
+ style->colormap = g_object_ref (colormap);
+ style->depth = gdk_colormap_get_visual (colormap)->depth;
+
+@@ -862,22 +1017,6 @@
+ return gtk_icon_factory_lookup_default (stock_id);
+ }
+
+-/**
+- * gtk_style_lookup_color:
+- * @style: a #GtkStyle
+- * @color_name: the name of the logical color to look up
+- * @color: the #GdkColor to fill in
+- *
+- * Looks up @color_name in the style's logical color mappings,
+- * filling in @color and returning %TRUE if found, otherwise
+- * returning %FALSE. Do not cache the found mapping, because
+- * it depends on the #GtkStyle and might change when a theme
+- * switch occurs.
+- *
+- * Return value: %TRUE if the mapping was found.
+- *
+- * Since: 2.10
+- **/
+ gboolean
+ gtk_style_lookup_color (GtkStyle *style,
+ const char *color_name,
+@@ -909,6 +1048,7 @@
+ return FALSE;
+ }
+
++
+ /**
+ * gtk_draw_hline:
+ * @style: a #GtkStyle
+@@ -1653,8 +1793,19 @@
+ if (rc_style->ythickness >= 0)
+ style->ythickness = rc_style->ythickness;
+
+- style->icon_factories = g_slist_copy (rc_style->icon_factories);
+- g_slist_foreach (style->icon_factories, (GFunc) g_object_ref, NULL);
++ if (rc_style->icon_factories)
++ {
++ GSList *iter;
++
++ style->icon_factories = g_slist_copy (rc_style->icon_factories);
++
++ iter = style->icon_factories;
++ while (iter != NULL)
++ {
++ g_object_ref (iter->data);
++ iter = g_slist_next (iter);
++ }
++ }
+
+ priv->color_hashes = g_slist_copy (_gtk_rc_style_get_color_hashes (rc_style));
+ g_slist_foreach (priv->color_hashes, (GFunc) g_hash_table_ref, NULL);
+@@ -1782,7 +1933,7 @@
+ {
+ _gtk_style_shade (&style->bg[i], &style->light[i], LIGHTNESS_MULT);
+ _gtk_style_shade (&style->bg[i], &style->dark[i], DARKNESS_MULT);
+-
++
+ style->mid[i].red = (style->light[i].red + style->dark[i].red) / 2;
+ style->mid[i].green = (style->light[i].green + style->dark[i].green) / 2;
+ style->mid[i].blue = (style->light[i].blue + style->dark[i].blue) / 2;
+@@ -2162,6 +2313,57 @@
+ gdk_drawable_get_size (window, NULL, height);
+ }
+
++static GdkBitmap *
++get_indicator_for_screen (GdkDrawable *drawable,
++ IndicatorPart part)
++
++{
++ GdkScreen *screen = gdk_drawable_get_screen (drawable);
++ GdkBitmap *bitmap;
++ GList *tmp_list;
++
++ tmp_list = indicator_parts[part].bmap_list;
++ while (tmp_list)
++ {
++ bitmap = tmp_list->data;
++
++ if (gdk_drawable_get_screen (bitmap) == screen)
++ return bitmap;
++
++ tmp_list = tmp_list->next;
++ }
++
++ bitmap = gdk_bitmap_create_from_data (drawable,
++ (gchar *)indicator_parts[part].bits,
++ INDICATOR_PART_SIZE, INDICATOR_PART_SIZE);
++ indicator_parts[part].bmap_list = g_list_prepend (indicator_parts[part].bmap_list, bitmap);
++
++ return bitmap;
++}
++
++static void
++draw_part (GdkDrawable *drawable,
++ GdkGC *gc,
++ GdkRectangle *area,
++ gint x,
++ gint y,
++ IndicatorPart part)
++{
++ if (area)
++ gdk_gc_set_clip_rectangle (gc, area);
++
++ gdk_gc_set_ts_origin (gc, x, y);
++ gdk_gc_set_stipple (gc, get_indicator_for_screen (drawable, part));
++ gdk_gc_set_fill (gc, GDK_STIPPLED);
++
++ gdk_draw_rectangle (drawable, gc, TRUE, x, y, INDICATOR_PART_SIZE, INDICATOR_PART_SIZE);
++
++ gdk_gc_set_fill (gc, GDK_SOLID);
++
++ if (area)
++ gdk_gc_set_clip_rectangle (gc, NULL);
++}
++
+ static void
+ gtk_default_draw_hline (GtkStyle *style,
+ GdkWindow *window,
+@@ -2177,6 +2379,9 @@
+ gint thickness_dark;
+ gint i;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ thickness_light = style->ythickness / 2;
+ thickness_dark = style->ythickness - thickness_light;
+
+@@ -2231,6 +2436,9 @@
+ gint thickness_dark;
+ gint i;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ thickness_light = style->xthickness / 2;
+ thickness_dark = style->xthickness - thickness_light;
+
+@@ -2456,6 +2664,9 @@
+ gint thickness_dark;
+ gint i;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ if (shadow_type == GTK_SHADOW_IN)
+ {
+ if (detail && (strcmp (detail, "buttondefault") == 0))
+@@ -2791,6 +3002,10 @@
+ gint yadjust;
+ gint i;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++ g_return_if_fail (points != NULL);
++
+ switch (shadow_type)
+ {
+ case GTK_SHADOW_IN:
+@@ -2900,7 +3115,7 @@
+
+ static void
+ draw_arrow (GdkWindow *window,
+- GdkColor *color,
++ GdkGC *gc,
+ GdkRectangle *area,
+ GtkArrowType arrow_type,
+ gint x,
+@@ -2908,44 +3123,34 @@
+ gint width,
+ gint height)
+ {
+- cairo_t *cr = gdk_cairo_create (window);
+- gdk_cairo_set_source_color (cr, color);
+-
++ gint i, j;
++
+ if (area)
+- {
+- gdk_cairo_rectangle (cr, area);
+- cairo_clip (cr);
+- }
+-
++ gdk_gc_set_clip_rectangle (gc, area);
++
+ if (arrow_type == GTK_ARROW_DOWN)
+ {
+- cairo_move_to (cr, x, y);
+- cairo_line_to (cr, x + width, y);
+- cairo_line_to (cr, x + width / 2., y + height);
++ for (i = 0, j = 0; i < height; i++, j++)
++ gdk_draw_line (window, gc, x + j, y + i, x + width - j - 1, y + i);
+ }
+ else if (arrow_type == GTK_ARROW_UP)
+ {
+- cairo_move_to (cr, x, y + height);
+- cairo_line_to (cr, x + width / 2., y);
+- cairo_line_to (cr, x + width, y + height);
++ for (i = height - 1, j = 0; i >= 0; i--, j++)
++ gdk_draw_line (window, gc, x + j, y + i, x + width - j - 1, y + i);
+ }
+ else if (arrow_type == GTK_ARROW_LEFT)
+ {
+- cairo_move_to (cr, x + width, y);
+- cairo_line_to (cr, x + width, y + height);
+- cairo_line_to (cr, x, y + height / 2.);
++ for (i = width - 1, j = 0; i >= 0; i--, j++)
++ gdk_draw_line (window, gc, x + i, y + j, x + i, y + height - j - 1);
+ }
+ else if (arrow_type == GTK_ARROW_RIGHT)
+ {
+- cairo_move_to (cr, x, y);
+- cairo_line_to (cr, x + width, y + height / 2.);
+- cairo_line_to (cr, x, y + height);
++ for (i = 0, j = 0; i < width; i++, j++)
++ gdk_draw_line (window, gc, x + i, y + j, x + i, y + height - j - 1);
+ }
+
+- cairo_close_path (cr);
+- cairo_fill (cr);
+-
+- cairo_destroy (cr);
++ if (area)
++ gdk_gc_set_clip_rectangle (gc, NULL);
+ }
+
+ static void
+@@ -3032,17 +3237,22 @@
+ gint width,
+ gint height)
+ {
++ gint original_width, original_x;
++
+ sanitize_size (window, &width, &height);
+
++ original_width = width;
++ original_x = x;
++
+ calculate_arrow_geometry (arrow_type, &x, &y, &width, &height);
+
+ if (detail && strcmp (detail, "menu_scroll_arrow_up") == 0)
+ y++;
+
+ if (state == GTK_STATE_INSENSITIVE)
+- draw_arrow (window, &style->white, area, arrow_type,
++ draw_arrow (window, style->white_gc, area, arrow_type,
+ x + 1, y + 1, width, height);
+- draw_arrow (window, &style->fg[state], area, arrow_type,
++ draw_arrow (window, style->fg_gc[state], area, arrow_type,
+ x, y, width, height);
+ }
+
+@@ -3074,6 +3284,9 @@
+ GdkGC *inner_sw = NULL;
+ GdkGC *inner_se = NULL;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ sanitize_size (window, &width, &height);
+
+ half_width = width / 2;
+@@ -3191,6 +3404,13 @@
+ gint y,
+ const gchar *string)
+ {
++ GdkDisplay *display;
++
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
++ display = gdk_drawable_get_display (window);
++
+ if (area)
+ {
+ gdk_gc_set_clip_rectangle (style->white_gc, area);
+@@ -3223,8 +3443,8 @@
+
+ if (widget)
+ gtk_widget_style_get (widget,
+- "indicator-size", &tmp_size,
+- "indicator-spacing", &tmp_spacing,
++ "indicator_size", &tmp_size,
++ "indicator_spacing", &tmp_spacing,
+ NULL);
+
+ if (tmp_size)
+@@ -3259,6 +3479,9 @@
+ {
+ gboolean is_spinbutton_box = FALSE;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ sanitize_size (window, &width, &height);
+
+ if (widget && GTK_IS_SPIN_BUTTON (widget) && detail)
+@@ -3407,6 +3630,9 @@
+ GdkGC *gc1;
+ GdkGC *freeme = NULL;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ sanitize_size (window, &width, &height);
+
+ if (detail)
+@@ -3415,26 +3641,15 @@
+ {
+ if (!strcmp ("text", detail))
+ gc1 = style->bg_gc[GTK_STATE_SELECTED];
+- else if (!strcmp ("cell_even", detail) ||
+- !strcmp ("cell_odd", detail) ||
+- !strcmp ("cell_even_ruled", detail) ||
+- !strcmp ("cell_even_ruled_sorted", detail))
++ else if (!strncmp ("cell_even", detail, strlen ("cell_even")) ||
++ !strncmp ("cell_odd", detail, strlen ("cell_odd")))
+ {
+ /* This has to be really broken; alex made me do it. -jrb */
+ if (GTK_WIDGET_HAS_FOCUS (widget))
+ gc1 = style->base_gc[state_type];
+- else
+- gc1 = style->base_gc[GTK_STATE_ACTIVE];
++ else
++ gc1 = style->base_gc[GTK_STATE_ACTIVE];
+ }
+- else if (!strcmp ("cell_odd_ruled", detail) ||
+- !strcmp ("cell_odd_ruled_sorted", detail))
+- {
+- if (GTK_WIDGET_HAS_FOCUS (widget))
+- freeme = get_darkened_gc (window, &style->base[state_type], 1);
+- else
+- freeme = get_darkened_gc (window, &style->base[GTK_STATE_ACTIVE], 1);
+- gc1 = freeme;
+- }
+ else
+ {
+ gc1 = style->bg_gc[state_type];
+@@ -3459,7 +3674,7 @@
+ GdkColor *color = NULL;
+
+ gtk_widget_style_get (widget,
+- "even-row-color", &color,
++ "even_row_color", &color,
+ NULL);
+
+ if (color)
+@@ -3477,7 +3692,7 @@
+ GdkColor *color;
+
+ gtk_widget_style_get (widget,
+- "odd-row-color", &color,
++ "odd_row_color", &color,
+ NULL);
+
+ if (color)
+@@ -3490,7 +3705,7 @@
+ else
+ {
+ gtk_widget_style_get (widget,
+- "even-row-color", &color,
++ "even_row_color", &color,
+ NULL);
+
+ if (color)
+@@ -3511,11 +3726,11 @@
+
+ if (!strcmp ("cell_odd_sorted", detail))
+ gtk_widget_style_get (widget,
+- "odd-row-color", &color,
++ "odd_row_color", &color,
+ NULL);
+ else
+ gtk_widget_style_get (widget,
+- "even-row-color", &color,
++ "even_row_color", &color,
+ NULL);
+
+ if (color)
+@@ -3536,7 +3751,7 @@
+ GdkColor *color = NULL;
+
+ gtk_widget_style_get (widget,
+- "odd-row-color", &color,
++ "odd_row_color", &color,
+ NULL);
+
+ if (color)
+@@ -3549,7 +3764,7 @@
+ else
+ {
+ gtk_widget_style_get (widget,
+- "even-row-color", &color,
++ "even_row_color", &color,
+ NULL);
+
+ if (color)
+@@ -3595,6 +3810,21 @@
+ g_object_unref (freeme);
+ }
+
++static GdkGC *
++create_aa_gc (GdkWindow *window, GtkStyle *style, GtkStateType state_type)
++{
++ GdkColor aa_color;
++ GdkGC *gc = gdk_gc_new (window);
++
++ aa_color.red = (style->fg[state_type].red + style->bg[state_type].red) / 2;
++ aa_color.green = (style->fg[state_type].green + style->bg[state_type].green) / 2;
++ aa_color.blue = (style->fg[state_type].blue + style->bg[state_type].blue) / 2;
++
++ gdk_gc_set_rgb_fg_color (gc, &aa_color);
++
++ return gc;
++}
++
+ static void
+ gtk_default_draw_check (GtkStyle *style,
+ GdkWindow *window,
+@@ -3608,116 +3838,92 @@
+ gint width,
+ gint height)
+ {
+- cairo_t *cr = gdk_cairo_create (window);
+- enum { BUTTON, MENU, CELL } type = BUTTON;
+- int exterior_size;
+- int interior_size;
+- int pad;
+-
+- if (detail)
+- {
+- if (strcmp (detail, "cellcheck") == 0)
+- type = CELL;
+- else if (strcmp (detail, "check") == 0)
+- type = MENU;
+- }
+-
+- if (area)
++ if (detail && strcmp (detail, "cellcheck") == 0)
+ {
+- gdk_cairo_rectangle (cr, area);
+- cairo_clip (cr);
++ if (area)
++ gdk_gc_set_clip_rectangle (widget->style->base_gc[state_type], area);
++ gdk_draw_rectangle (window,
++ widget->style->base_gc[state_type],
++ TRUE,
++ x, y,
++ width, height);
++ if (area)
++ {
++ gdk_gc_set_clip_rectangle (widget->style->base_gc[state_type], NULL);
++ gdk_gc_set_clip_rectangle (widget->style->text_gc[state_type], area);
++ }
++ gdk_draw_rectangle (window,
++ widget->style->text_gc[state_type],
++ FALSE,
++ x, y,
++ width, height);
++ if (area)
++ gdk_gc_set_clip_rectangle (widget->style->text_gc[state_type], NULL);
++
++ x -= (1 + INDICATOR_PART_SIZE - width) / 2;
++ y -= (((1 + INDICATOR_PART_SIZE - height) / 2) - 1);
++ if (shadow_type == GTK_SHADOW_IN)
++ {
++ draw_part (window, style->text_gc[state_type], area, x, y, CHECK_TEXT);
++ draw_part (window, style->text_aa_gc[state_type], area, x, y, CHECK_AA);
++ }
++ else if (shadow_type == GTK_SHADOW_ETCHED_IN) /* inconsistent */
++ {
++ draw_part (window, style->text_gc[state_type], area, x, y, CHECK_INCONSISTENT_TEXT);
++ }
+ }
+-
+- exterior_size = MIN (width, height);
+- if (exterior_size % 2 == 0) /* Ensure odd */
+- exterior_size -= -1;
+-
+- pad = style->xthickness + MAX (1, (exterior_size - 2 * style->xthickness) / 9);
+- interior_size = MAX (1, exterior_size - 2 * pad);
+-
+- if (interior_size < 7)
++ else
+ {
+- interior_size = 7;
+- pad = MAX (0, (exterior_size - interior_size) / 2);
+- }
++ GdkGC *free_me = NULL;
++
++ GdkGC *base_gc;
++ GdkGC *text_gc;
++ GdkGC *aa_gc;
+
+- x -= (1 + exterior_size - width) / 2;
+- y -= (1 + exterior_size - height) / 2;
++ x -= (1 + INDICATOR_PART_SIZE - width) / 2;
++ y -= (1 + INDICATOR_PART_SIZE - height) / 2;
+
+- switch (type)
+- {
+- case BUTTON:
+- case CELL:
+- if (type == BUTTON)
+- gdk_cairo_set_source_color (cr, &style->fg[state_type]);
++ if (detail && strcmp (detail, "check") == 0) /* Menu item */
++ {
++ text_gc = style->fg_gc[state_type];
++ base_gc = style->bg_gc[state_type];
++ aa_gc = free_me = create_aa_gc (window, style, state_type);
++ }
+ else
+- gdk_cairo_set_source_color (cr, &style->text[state_type]);
+-
+- cairo_set_line_width (cr, 1.0);
+- cairo_rectangle (cr, x + 0.5, y + 0.5, exterior_size - 1, exterior_size - 1);
+- cairo_stroke (cr);
++ {
++ if (state_type == GTK_STATE_ACTIVE)
++ {
++ text_gc = style->fg_gc[state_type];
++ base_gc = style->bg_gc[state_type];
++ aa_gc = free_me = create_aa_gc (window, style, state_type);
++ }
++ else
++ {
++ text_gc = style->text_gc[state_type];
++ base_gc = style->base_gc[state_type];
++ aa_gc = style->text_aa_gc[state_type];
++ }
+
+- gdk_cairo_set_source_color (cr, &style->base[state_type]);
+- cairo_rectangle (cr, x + 1, y + 1, exterior_size - 2, exterior_size - 2);
+- cairo_fill (cr);
+- break;
++ draw_part (window, base_gc, area, x, y, CHECK_BASE);
++ draw_part (window, style->black_gc, area, x, y, CHECK_BLACK);
++ draw_part (window, style->dark_gc[state_type], area, x, y, CHECK_DARK);
++ draw_part (window, style->mid_gc[state_type], area, x, y, CHECK_MID);
++ draw_part (window, style->light_gc[state_type], area, x, y, CHECK_LIGHT);
++ }
+
+- case MENU:
+- break;
+- }
+-
+- switch (type)
+- {
+- case BUTTON:
+- case CELL:
+- gdk_cairo_set_source_color (cr, &style->text[state_type]);
+- break;
+- case MENU:
+- gdk_cairo_set_source_color (cr, &style->fg[state_type]);
+- break;
+- }
++ if (shadow_type == GTK_SHADOW_IN)
++ {
++ draw_part (window, text_gc, area, x, y, CHECK_TEXT);
++ draw_part (window, aa_gc, area, x, y, CHECK_AA);
++ }
++ else if (shadow_type == GTK_SHADOW_ETCHED_IN) /* inconsistent */
++ {
++ draw_part (window, text_gc, area, x, y, CHECK_INCONSISTENT_TEXT);
++ }
+
+- if (shadow_type == GTK_SHADOW_IN)
+- {
+- cairo_translate (cr,
+- x + pad, y + pad);
+-
+- cairo_scale (cr, interior_size / 7., interior_size / 7.);
+-
+- cairo_move_to (cr, 7.0, 0.0);
+- cairo_line_to (cr, 7.5, 1.0);
+- cairo_curve_to (cr, 5.3, 2.0,
+- 4.3, 4.0,
+- 3.5, 7.0);
+- cairo_curve_to (cr, 3.0, 5.7,
+- 1.3, 4.7,
+- 0.0, 4.7);
+- cairo_line_to (cr, 0.2, 3.5);
+- cairo_curve_to (cr, 1.1, 3.5,
+- 2.3, 4.3,
+- 3.0, 5.0);
+- cairo_curve_to (cr, 1.0, 3.9,
+- 2.4, 4.1,
+- 3.2, 4.9);
+- cairo_curve_to (cr, 3.5, 3.1,
+- 5.2, 2.0,
+- 7.0, 0.0);
+-
+- cairo_fill (cr);
+- }
+- else if (shadow_type == GTK_SHADOW_ETCHED_IN) /* inconsistent */
+- {
+- int line_thickness = MAX (1, (3 + interior_size * 2) / 7);
+-
+- cairo_rectangle (cr,
+- x + pad,
+- y + pad + (1 + interior_size - line_thickness) / 2,
+- interior_size,
+- line_thickness);
+- cairo_fill (cr);
++ if (free_me)
++ g_object_unref (free_me);
+ }
+-
+- cairo_destroy (cr);
+ }
+
+ static void
+@@ -3733,111 +3939,96 @@
+ gint width,
+ gint height)
+ {
+- cairo_t *cr = gdk_cairo_create (window);
+- enum { BUTTON, MENU, CELL } type = BUTTON;
+- int exterior_size;
+-
+- if (detail)
++ if (detail && strcmp (detail, "cellradio") == 0)
+ {
+- if (strcmp (detail, "radio") == 0)
+- type = CELL;
+- else if (strcmp (detail, "option") == 0)
+- type = MENU;
+- }
+-
+- if (area)
+- {
+- gdk_cairo_rectangle (cr, area);
+- cairo_clip (cr);
++ if (area)
++ gdk_gc_set_clip_rectangle (widget->style->fg_gc[state_type], area);
++ gdk_draw_arc (window,
++ widget->style->fg_gc[state_type],
++ FALSE,
++ x, y,
++ width,
++ height,
++ 0, 360*64);
++
++ if (shadow_type == GTK_SHADOW_IN)
++ {
++ gdk_draw_arc (window,
++ widget->style->fg_gc[state_type],
++ TRUE,
++ x + 2,
++ y + 2,
++ width - 4,
++ height - 4,
++ 0, 360*64);
++ }
++ else if (shadow_type == GTK_SHADOW_ETCHED_IN) /* inconsistent */
++ {
++ draw_part (window, widget->style->fg_gc[state_type],
++ area, x, y, CHECK_INCONSISTENT_TEXT);
++ }
++ if (area)
++ gdk_gc_set_clip_rectangle (widget->style->fg_gc[state_type], NULL);
+ }
+-
+- exterior_size = MIN (width, height);
+- if (exterior_size % 2 == 0) /* Ensure odd */
+- exterior_size -= -1;
+-
+- x -= (1 + exterior_size - width) / 2;
+- y -= (1 + exterior_size - height) / 2;
+-
+- switch (type)
++ else
+ {
+- case BUTTON:
+- case CELL:
+- gdk_cairo_set_source_color (cr, &style->base[state_type]);
++ GdkGC *free_me = NULL;
+
+- cairo_arc (cr,
+- x + exterior_size / 2.,
+- y + exterior_size / 2.,
+- (exterior_size - 1) / 2.,
+- 0, 2 * G_PI);
++ GdkGC *base_gc;
++ GdkGC *text_gc;
++ GdkGC *aa_gc;
+
+- cairo_fill_preserve (cr);
++ x -= (1 + INDICATOR_PART_SIZE - width) / 2;
++ y -= (1 + INDICATOR_PART_SIZE - height) / 2;
+
+- if (type == BUTTON)
+- gdk_cairo_set_source_color (cr, &style->fg[state_type]);
++ if (detail && strcmp (detail, "option") == 0) /* Menu item */
++ {
++ text_gc = style->fg_gc[state_type];
++ base_gc = style->bg_gc[state_type];
++ aa_gc = free_me = create_aa_gc (window, style, state_type);
++ }
+ else
+- gdk_cairo_set_source_color (cr, &style->text[state_type]);
+-
+- cairo_set_line_width (cr, 1.);
+- cairo_stroke (cr);
+- break;
+-
+- case MENU:
+- break;
+- }
+-
+- switch (type)
+- {
+- case BUTTON:
+- gdk_cairo_set_source_color (cr, &style->text[state_type]);
+- break;
+- case CELL:
+- break;
+- case MENU:
+- gdk_cairo_set_source_color (cr, &style->fg[state_type]);
+- break;
+- }
++ {
++ if (state_type == GTK_STATE_ACTIVE)
++ {
++ text_gc = style->fg_gc[state_type];
++ base_gc = style->bg_gc[state_type];
++ aa_gc = free_me = create_aa_gc (window, style, state_type);
++ }
++ else
++ {
++ text_gc = style->text_gc[state_type];
++ base_gc = style->base_gc[state_type];
++ aa_gc = style->text_aa_gc[state_type];
++ }
+
+- if (shadow_type == GTK_SHADOW_IN)
+- {
+- int pad = style->xthickness + MAX (1, 2 * (exterior_size - 2 * style->xthickness) / 9);
+- int interior_size = MAX (1, exterior_size - 2 * pad);
++ draw_part (window, base_gc, area, x, y, RADIO_BASE);
++ draw_part (window, style->black_gc, area, x, y, RADIO_BLACK);
++ draw_part (window, style->dark_gc[state_type], area, x, y, RADIO_DARK);
++ draw_part (window, style->mid_gc[state_type], area, x, y, RADIO_MID);
++ draw_part (window, style->light_gc[state_type], area, x, y, RADIO_LIGHT);
++ }
+
+- if (interior_size < 5)
++ if (shadow_type == GTK_SHADOW_IN)
+ {
+- interior_size = 7;
+- pad = MAX (0, (exterior_size - interior_size) / 2);
++ draw_part (window, text_gc, area, x, y, RADIO_TEXT);
+ }
+-
+- cairo_arc (cr,
+- x + pad + interior_size / 2.,
+- y + pad + interior_size / 2.,
+- interior_size / 2.,
+- 0, 2 * G_PI);
+- cairo_fill (cr);
+- }
+- else if (shadow_type == GTK_SHADOW_ETCHED_IN) /* inconsistent */
+- {
+- int pad = style->xthickness + MAX (1, (exterior_size - 2 * style->xthickness) / 9);
+- int interior_size = MAX (1, exterior_size - 2 * pad);
+- int line_thickness;
+-
+- if (interior_size < 7)
++ else if (shadow_type == GTK_SHADOW_ETCHED_IN) /* inconsistent */
+ {
+- interior_size = 7;
+- pad = MAX (0, (exterior_size - interior_size) / 2);
++ if (detail && strcmp (detail, "option") == 0) /* Menu item */
++ {
++ draw_part (window, text_gc, area, x, y, CHECK_INCONSISTENT_TEXT);
++ }
++ else
++ {
++ draw_part (window, text_gc, area, x, y, RADIO_INCONSISTENT_TEXT);
++ draw_part (window, aa_gc, area, x, y, RADIO_INCONSISTENT_AA);
++ }
+ }
+
+- line_thickness = MAX (1, (3 + interior_size * 2) / 7);
+-
+- cairo_rectangle (cr,
+- x + pad,
+- y + pad + (interior_size - line_thickness) / 2.,
+- interior_size,
+- line_thickness);
+- cairo_fill (cr);
++ if (free_me)
++ g_object_unref (free_me);
+ }
+-
+- cairo_destroy (cr);
+ }
+
+ static void
+@@ -3869,21 +4060,21 @@
+
+ if (state_type == GTK_STATE_INSENSITIVE)
+ {
+- draw_arrow (window, &style->white, area,
++ draw_arrow (window, style->white_gc, area,
+ GTK_ARROW_UP, x + 1, y + 1,
+ indicator_size.width, arrow_height);
+
+- draw_arrow (window, &style->white, area,
++ draw_arrow (window, style->white_gc, area,
+ GTK_ARROW_DOWN, x + 1, y + arrow_height + ARROW_SPACE + 1,
+ indicator_size.width, arrow_height);
+ }
+
+- draw_arrow (window, &style->fg[state_type], area,
++ draw_arrow (window, style->fg_gc[state_type], area,
+ GTK_ARROW_UP, x, y,
+ indicator_size.width, arrow_height);
+
+
+- draw_arrow (window, &style->fg[state_type], area,
++ draw_arrow (window, style->fg_gc[state_type], area,
+ GTK_ARROW_DOWN, x, y + arrow_height + ARROW_SPACE,
+ indicator_size.width, arrow_height);
+ }
+@@ -3909,6 +4100,9 @@
+ GdkGC *gc3 = NULL;
+ GdkGC *gc4 = NULL;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ sanitize_size (window, &width, &height);
+
+ switch (shadow_type)
+@@ -4122,6 +4316,9 @@
+ GdkGC *gc3 = NULL;
+ GdkGC *gc4 = NULL;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ gtk_style_apply_default_background (style, window,
+ widget && !GTK_WIDGET_NO_WINDOW (widget),
+ state_type, area, x, y, width, height);
+@@ -4338,6 +4535,9 @@
+ GdkGC *gc3 = NULL;
+ GdkGC *gc4 = NULL;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ gtk_style_apply_default_background (style, window,
+ widget && !GTK_WIDGET_NO_WINDOW (widget),
+ GTK_STATE_NORMAL, area, x, y, width, height);
+@@ -4503,10 +4703,12 @@
+ gint width,
+ gint height)
+ {
+- cairo_t *cr;
++ GdkPoint points[5];
++ GdkGC *gc;
+ gboolean free_dash_list = FALSE;
+ gint line_width = 1;
+ gint8 *dash_list = "\1\1";
++ gint dash_len;
+
+ if (widget)
+ {
+@@ -4518,6 +4720,22 @@
+ free_dash_list = TRUE;
+ }
+
++ sanitize_size (window, &width, &height);
++
++ if (detail && !strcmp (detail, "colorwheel_light"))
++ gc = style->black_gc;
++ else if (detail && !strcmp (detail, "colorwheel_dark"))
++ gc = style->white_gc;
++ else
++ gc = style->fg_gc[state_type];
++
++ gdk_gc_set_line_attributes (gc, line_width,
++ dash_list[0] ? GDK_LINE_ON_OFF_DASH : GDK_LINE_SOLID,
++ GDK_CAP_BUTT, GDK_JOIN_MITER);
++
++ if (area)
++ gdk_gc_set_clip_rectangle (gc, area);
++
+ if (detail && !strcmp (detail, "add-mode"))
+ {
+ if (free_dash_list)
+@@ -4527,59 +4745,88 @@
+ free_dash_list = FALSE;
+ }
+
+- sanitize_size (window, &width, &height);
++ points[0].x = x + line_width / 2;
++ points[0].y = y + line_width / 2;
++ points[1].x = x + width - line_width + line_width / 2;
++ points[1].y = y + line_width / 2;
++ points[2].x = x + width - line_width + line_width / 2;
++ points[2].y = y + height - line_width + line_width / 2;
++ points[3].x = x + line_width / 2;
++ points[3].y = y + height - line_width + line_width / 2;
++ points[4] = points[0];
+
+- cr = gdk_cairo_create (window);
+-
+- if (detail && !strcmp (detail, "colorwheel_light"))
+- cairo_set_source_rgb (cr, 0., 0., 0.);
+- else if (detail && !strcmp (detail, "colorwheel_dark"))
+- cairo_set_source_rgb (cr, 1., 1., 1.);
++ if (!dash_list[0])
++ {
++ gdk_draw_lines (window, gc, points, 5);
++ }
+ else
+- gdk_cairo_set_source_color (cr, &style->fg[state_type]);
+-
+- cairo_set_line_width (cr, line_width);
+-
+- if (dash_list[0])
+ {
+- gint n_dashes = strlen (dash_list);
+- gdouble *dashes = g_new (gdouble, n_dashes);
+- gdouble total_length = 0;
+- gdouble dash_offset;
+- gint i;
+-
+- for (i = 0; i < n_dashes; i++)
++ /* We go through all the pain below because the X rasterization
++ * rules don't really work right for dashed lines if you
++ * want continuity in segments that go between top/right
++ * and left/bottom. For instance, a top left corner
++ * with a 1-1 dash is drawn as:
++ *
++ * X X X
++ * X
++ *
++ * X
++ *
++ * This is because pixels on the top and left boundaries
++ * of polygons are drawn, but not on the bottom and right.
++ * So, if you have a line going up that turns the corner
++ * and goes right, there is a one pixel shift in the pattern.
++ *
++ * So, to fix this, we drawn the top and right in one call,
++ * then the left and bottom in another call, fixing up
++ * the dash offset for the second call ourselves to get
++ * continuity at the upper left.
++ *
++ * It's not perfect since we really should have a join at
++ * the upper left and lower right instead of two intersecting
++ * lines but that's only really apparent for no-dashes,
++ * which (for this reason) are done as one polygon and
++ * don't to through this code path.
++ */
++
++ dash_len = strlen (dash_list);
++
++ if (dash_list[0])
++ gdk_gc_set_dashes (gc, 0, dash_list, dash_len);
++
++ gdk_draw_lines (window, gc, points, 3);
++
++ /* We draw this line one farther over than it is "supposed" to
++ * because of another rasterization problem ... if two 1 pixel
++ * unjoined lines meet at the lower right, there will be a missing
++ * pixel.
++ */
++ points[2].x += 1;
++
++ if (dash_list[0])
+ {
+- dashes[i] = dash_list[i];
+- total_length += dash_list[i];
++ gint dash_pixels = 0;
++ gint i;
++
++ /* Adjust the dash offset for the bottom and left so we
++ * match up at the upper left.
++ */
++ for (i = 0; i < dash_len; i++)
++ dash_pixels += dash_list[i];
++
++ if (dash_len % 2 == 1)
++ dash_pixels *= 2;
++
++ gdk_gc_set_dashes (gc, dash_pixels - (width + height - 2 * line_width) % dash_pixels, dash_list, dash_len);
+ }
+-
+- /* The dash offset here aligns the pattern to integer pixels
+- * by starting the dash at the right side of the left border
+- * Negative dash offsets in cairo don't work
+- * (https://bugs.freedesktop.org/show_bug.cgi?id=2729)
+- */
+- dash_offset = - line_width / 2.;
+- while (dash_offset < 0)
+- dash_offset += total_length;
+
+- cairo_set_dash (cr, dashes, n_dashes, dash_offset);
+- g_free (dashes);
++ gdk_draw_lines (window, gc, points + 2, 3);
+ }
+
+- if (area)
+- {
+- gdk_cairo_rectangle (cr, area);
+- cairo_clip (cr);
+- }
++ gdk_gc_set_line_attributes (gc, 0, GDK_LINE_SOLID, GDK_CAP_BUTT, GDK_JOIN_MITER);
+
+- cairo_rectangle (cr,
+- x + line_width / 2.,
+- y + line_width / 2.,
+- width - line_width,
+- height - line_width);
+- cairo_stroke (cr);
+- cairo_destroy (cr);
++ if (area)
++ gdk_gc_set_clip_rectangle (gc, NULL);
+
+ if (free_dash_list)
+ g_free (dash_list);
+@@ -4599,6 +4846,9 @@
+ gint height,
+ GtkOrientation orientation)
+ {
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ sanitize_size (window, &width, &height);
+
+ gtk_paint_box (style, window, state_type, shadow_type,
+@@ -4627,6 +4877,7 @@
+ gint y,
+ gushort size)
+ {
++
+ size = CLAMP (size, 2, 3);
+
+ if (size == 2)
+@@ -4667,6 +4918,9 @@
+ GdkRectangle dest;
+ gint intersect;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ sanitize_size (window, &width, &height);
+
+ gtk_paint_box (style, window, state_type, shadow_type, area, widget,
+@@ -4682,9 +4936,9 @@
+ if (state_type == GTK_STATE_SELECTED && widget && !GTK_WIDGET_HAS_FOCUS (widget))
+ {
+ GdkColor unfocused_light;
+-
++
+ _gtk_style_shade (&style->base[GTK_STATE_ACTIVE], &unfocused_light,
+- LIGHTNESS_MULT);
++ LIGHTNESS_MULT);
+
+ light_gc = free_me = gdk_gc_new (window);
+ gdk_gc_set_rgb_fg_color (light_gc, &unfocused_light);
+@@ -4750,6 +5004,72 @@
+ }
+
+ static void
++create_expander_affine (gdouble affine[6],
++ gint degrees,
++ gint expander_size,
++ gint x,
++ gint y)
++{
++ gdouble s, c;
++ gdouble width;
++ gdouble height;
++
++ width = expander_size / 4.0;
++ height = expander_size / 2.0;
++
++ switch (degrees)
++ {
++ case 0:
++ s = 0.0;
++ c = 1.0;
++ break;
++ case 90:
++ s = 1.0;
++ c = 0.0;
++ break;
++ case 180:
++ s = 0.0;
++ c = -1.0;
++ break;
++ default:
++ s = sin (degrees * G_PI / 180.0);
++ c = cos (degrees * G_PI / 180.0);
++ break;
++ }
++
++ affine[0] = c;
++ affine[1] = s;
++ affine[2] = -s;
++ affine[3] = c;
++ affine[4] = -width * c - height * -s + x;
++ affine[5] = -width * s - height * c + y;
++}
++
++static void
++apply_affine_on_point (double affine[6], GdkPoint *point)
++{
++ gdouble x, y;
++
++ x = point->x * affine[0] + point->y * affine[2] + affine[4];
++ y = point->x * affine[1] + point->y * affine[3] + affine[5];
++
++ point->x = floor (x);
++ point->y = floor (y);
++}
++
++static void
++gtk_style_draw_polygon_with_gc (GdkWindow *window, GdkGC *gc, gint line_width,
++ gboolean do_fill, GdkPoint *points, gint n_points)
++{
++ gdk_gc_set_line_attributes (gc, line_width,
++ GDK_LINE_SOLID,
++ GDK_CAP_BUTT, GDK_JOIN_MITER);
++
++ gdk_draw_polygon (window, gc, do_fill, points, n_points);
++ gdk_gc_set_line_attributes (gc, 0, GDK_LINE_SOLID, GDK_CAP_BUTT, GDK_JOIN_MITER);
++}
++
++static void
+ gtk_default_draw_expander (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+@@ -4760,127 +5080,82 @@
+ gint y,
+ GtkExpanderStyle expander_style)
+ {
+-#define DEFAULT_EXPANDER_SIZE 12
+-
+ gint expander_size;
+- gint line_width;
+- double vertical_overshoot;
+- int diameter;
+- double radius;
+- double interp; /* interpolation factor for center position */
+- double x_double_horz, y_double_horz;
+- double x_double_vert, y_double_vert;
+- double x_double, y_double;
++ GdkPoint points[3];
++ gint i;
++ gint line_width, o;
++ gdouble affine[6];
+ gint degrees = 0;
+
+- cairo_t *cr = gdk_cairo_create (window);
+-
++ gtk_widget_style_get (widget,
++ "expander-size", &expander_size,
++ NULL);
++ line_width = MAX (1, expander_size/9);
++
+ if (area)
+ {
+- gdk_cairo_rectangle (cr, area);
+- cairo_clip (cr);
++ gdk_gc_set_clip_rectangle (style->fg_gc[GTK_STATE_NORMAL], area);
++ gdk_gc_set_clip_rectangle (style->base_gc[GTK_STATE_NORMAL], area);
+ }
+
+- if (widget &&
+- gtk_widget_class_find_style_property (GTK_WIDGET_GET_CLASS (widget),
+- "expander-size"))
+- {
+- gtk_widget_style_get (widget,
+- "expander-size", &expander_size,
+- NULL);
+- }
+- else
+- expander_size = DEFAULT_EXPANDER_SIZE;
+-
+- line_width = MAX (1, expander_size/9);
++ /* a rough estimate of how much the joins of the triangle will overshoot.
++ * 2.4 ~ 1 / tan (45 / 2)
++ */
++ o = ceil (2.4 * line_width / 2.0);
++ points[0].x = line_width / 2;
++ points[0].y = o;
++ points[1].x = expander_size / 2 + line_width / 2 - o;
++ points[1].y = expander_size / 2;
++ points[2].x = line_width / 2;
++ points[2].y = expander_size - o;
+
+ switch (expander_style)
+ {
+ case GTK_EXPANDER_COLLAPSED:
+ degrees = (get_direction (widget) == GTK_TEXT_DIR_RTL) ? 180 : 0;
+- interp = 0.0;
+ break;
+ case GTK_EXPANDER_SEMI_COLLAPSED:
+ degrees = (get_direction (widget) == GTK_TEXT_DIR_RTL) ? 150 : 30;
+- interp = 0.25;
+ break;
+ case GTK_EXPANDER_SEMI_EXPANDED:
+ degrees = (get_direction (widget) == GTK_TEXT_DIR_RTL) ? 120 : 60;
+- interp = 0.75;
+ break;
+ case GTK_EXPANDER_EXPANDED:
+ degrees = 90;
+- interp = 1.0;
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+
+- /* Compute distance that the stroke extends beyonds the end
+- * of the triangle we draw.
+- */
+- vertical_overshoot = line_width / 2.0 * (1. / tan (G_PI / 8));
+-
+- /* For odd line widths, we end the vertical line of the triangle
+- * at a half pixel, so we round differently.
+- */
+- if (line_width % 2 == 1)
+- vertical_overshoot = ceil (0.5 + vertical_overshoot) - 0.5;
+- else
+- vertical_overshoot = ceil (vertical_overshoot);
+-
+- /* Adjust the size of the triangle we draw so that the entire stroke fits
+- */
+- diameter = MAX (3, expander_size - 2 * vertical_overshoot);
+-
+- /* If the line width is odd, we want the diameter to be even,
+- * and vice versa, so force the sum to be odd. This relationship
+- * makes the point of the triangle look right.
+- */
+- diameter -= (1 - (diameter + line_width) % 2);
+-
+- radius = diameter / 2.;
+-
+- /* Adjust the center so that the stroke is properly aligned with
+- * the pixel grid. The center adjustment is different for the
+- * horizontal and vertical orientations. For intermediate positions
+- * we interpolate between the two.
+- */
+- x_double_vert = floor (x - (radius + line_width) / 2.) + (radius + line_width) / 2.;
+- y_double_vert = y - 0.5;
+-
+- x_double_horz = x - 0.5;
+- y_double_horz = floor (y - (radius + line_width) / 2.) + (radius + line_width) / 2.;
+-
+- x_double = x_double_vert * (1 - interp) + x_double_horz * interp;
+- y_double = y_double_vert * (1 - interp) + y_double_horz * interp;
+-
+- cairo_translate (cr, x_double, y_double);
+- cairo_rotate (cr, degrees * G_PI / 180);
++ create_expander_affine (affine, degrees, expander_size, x, y);
+
+- cairo_move_to (cr, - radius / 2., - radius);
+- cairo_line_to (cr, radius / 2., 0);
+- cairo_line_to (cr, - radius / 2., radius);
+- cairo_close_path (cr);
+-
+- cairo_set_line_width (cr, line_width);
++ for (i = 0; i < 3; i++)
++ apply_affine_on_point (affine, &points[i]);
+
+ if (state_type == GTK_STATE_PRELIGHT)
+- gdk_cairo_set_source_color (cr,
+- &style->fg[GTK_STATE_PRELIGHT]);
++ {
++ gtk_style_draw_polygon_with_gc (window, style->fg_gc[GTK_STATE_PRELIGHT],
++ 1, TRUE, points, 3);
++ }
+ else if (state_type == GTK_STATE_ACTIVE)
+- gdk_cairo_set_source_color (cr,
+- &style->light[GTK_STATE_ACTIVE]);
++ {
++ gtk_style_draw_polygon_with_gc (window, style->light_gc[GTK_STATE_ACTIVE],
++ 1, TRUE, points, 3);
++ gtk_style_draw_polygon_with_gc (window, style->fg_gc[GTK_STATE_NORMAL],
++ line_width, FALSE, points, 3);
++ }
+ else
+- gdk_cairo_set_source_color (cr,
+- &style->base[GTK_STATE_NORMAL]);
+-
+- cairo_fill_preserve (cr);
+-
+- gdk_cairo_set_source_color (cr, &style->fg[state_type]);
+- cairo_stroke (cr);
+-
+- cairo_destroy (cr);
++ {
++ gtk_style_draw_polygon_with_gc (window, style->base_gc[GTK_STATE_NORMAL],
++ 1, TRUE, points, 3);
++ gtk_style_draw_polygon_with_gc (window, style->fg_gc[GTK_STATE_NORMAL],
++ line_width, FALSE, points, 3);
++ }
++ if (area)
++ {
++ gdk_gc_set_clip_rectangle (style->fg_gc[GTK_STATE_NORMAL], NULL);
++ gdk_gc_set_clip_rectangle (style->base_gc[GTK_STATE_NORMAL], NULL);
++ }
+ }
+
+ typedef struct _ByteRange ByteRange;
+@@ -5046,6 +5321,9 @@
+ PangoLayout *layout)
+ {
+ GdkGC *gc;
++
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
+
+ gc = use_text ? style->text_gc[state_type] : style->fg_gc[state_type];
+
+@@ -5087,6 +5365,9 @@
+ GdkPoint points[4];
+ gint i, j, skip;
+
++ g_return_if_fail (GTK_IS_STYLE (style));
++ g_return_if_fail (window != NULL);
++
+ if (area)
+ {
+ gdk_gc_set_clip_rectangle (style->light_gc[state_type], area);
+@@ -5390,8 +5671,8 @@
+
+ void
+ _gtk_style_shade (GdkColor *a,
+- GdkColor *b,
+- gdouble k)
++ GdkColor *b,
++ gdouble k)
+ {
+ gdouble red;
+ gdouble green;
+@@ -5578,10 +5859,9 @@
+ * @style: a #GtkStyle
+ * @window: a #GdkWindow
+ * @state_type: a state
+- * @area: rectangle to which the output is clipped, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: rectangle to which the output is clipped
++ * @widget: the widget
++ * @detail: a style detail
+ * @x1: the starting x coordinate
+ * @x2: the ending x coordinate
+ * @y: the y coordinate
+@@ -5602,7 +5882,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_hline != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_hline (style, window, state_type, area, widget, detail, x1, x2, y);
+ }
+@@ -5612,10 +5891,9 @@
+ * @style: a #GtkStyle
+ * @window: a #GdkWindow
+ * @state_type: a state
+- * @area: rectangle to which the output is clipped, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: rectangle to which the output is clipped
++ * @widget: the widget
++ * @detail: a style detail
+ * @y1_: the starting y coordinate
+ * @y2_: the ending y coordinate
+ * @x: the x coordinate
+@@ -5636,7 +5914,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_vline != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_vline (style, window, state_type, area, widget, detail, y1_, y2_, x);
+ }
+@@ -5647,10 +5924,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: type of shadow to draw
+- * @area: clip rectangle or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the rectangle
+ * @y: y origin of the rectangle
+ * @width: width of the rectangle
+@@ -5674,7 +5950,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_shadow != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_shadow (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
+ }
+@@ -5685,10 +5960,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @points: an array of #GdkPoint<!-- -->s
+ * @npoints: length of @points
+ * @fill: %TRUE if the polygon should be filled
+@@ -5709,7 +5983,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_polygon != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_polygon (style, window, state_type, shadow_type, area, widget, detail, points, npoints, fill);
+ }
+@@ -5720,10 +5993,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: the type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @arrow_type: the type of arrow to draw
+ * @fill: %TRUE if the arrow tip should be filled
+ * @x: x origin of the rectangle to draw the arrow in
+@@ -5751,7 +6023,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_arrow != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_arrow (style, window, state_type, shadow_type, area, widget, detail, arrow_type, fill, x, y, width, height);
+ }
+@@ -5762,10 +6033,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: the type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the rectangle to draw the diamond in
+ * @y: y origin of the rectangle to draw the diamond in
+ * @width: width of the rectangle to draw the diamond in
+@@ -5789,7 +6059,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_diamond != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_diamond (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
+ }
+@@ -5799,10 +6068,9 @@
+ * @style: a #GtkStyle
+ * @window: a #GdkWindow
+ * @state_type: a state
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin
+ * @y: y origin
+ * @string: the string to draw
+@@ -5824,7 +6092,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_string != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_string (style, window, state_type, area, widget, detail, x, y, string);
+ }
+@@ -5835,10 +6102,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: the type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the box
+ * @y: y origin of the box
+ * @width: the width of the box
+@@ -5861,7 +6127,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_box != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
+ }
+@@ -5872,10 +6137,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: the type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the box
+ * @y: y origin of the box
+ * @width: the width of the box
+@@ -5898,7 +6162,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_flat_box != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_flat_box (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
+ }
+@@ -5909,10 +6172,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: the type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the rectangle to draw the check in
+ * @y: y origin of the rectangle to draw the check in
+ * @width: the width of the rectangle to draw the check in
+@@ -5936,7 +6198,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_check != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_check (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
+ }
+@@ -5947,10 +6208,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: the type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the rectangle to draw the option in
+ * @y: y origin of the rectangle to draw the option in
+ * @width: the width of the rectangle to draw the option in
+@@ -5974,7 +6234,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_option != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_option (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
+ }
+@@ -5985,10 +6244,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: the type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the rectangle to draw the tab in
+ * @y: y origin of the rectangle to draw the tab in
+ * @width: the width of the rectangle to draw the tab in
+@@ -6012,7 +6270,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_tab != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_tab (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
+ }
+@@ -6023,10 +6280,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the rectangle
+ * @y: y origin of the rectangle
+ * @width: width of the rectangle
+@@ -6057,7 +6313,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_shadow_gap != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_shadow_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
+ }
+@@ -6069,10 +6324,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the rectangle
+ * @y: y origin of the rectangle
+ * @width: width of the rectangle
+@@ -6102,7 +6356,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_box_gap != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_box_gap (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
+ }
+@@ -6113,10 +6366,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the extension
+ * @y: y origin of the extension
+ * @width: width of the extension
+@@ -6141,7 +6393,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_extension != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_extension (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side);
+ }
+@@ -6151,10 +6402,9 @@
+ * @style: a #GtkStyle
+ * @window: a #GdkWindow
+ * @state_type: a state
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: the x origin of the rectangle around which to draw a focus indicator
+ * @y: the y origin of the rectangle around which to draw a focus indicator
+ * @width: the width of the rectangle around which to draw a focus indicator
+@@ -6177,30 +6427,10 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_focus != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_focus (style, window, state_type, area, widget, detail, x, y, width, height);
+ }
+
+-/**
+- * gtk_paint_slider:
+- * @style: a #GtkStyle
+- * @window: a #GdkWindow
+- * @state_type: a state
+- * @shadow_type: a shadow
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
+- * @x: the x origin of the rectangle in which to draw a slider
+- * @y: the y origin of the rectangle in which to draw a slider
+- * @width: the width of the rectangle in which to draw a slider
+- * @height: the height of the rectangle in which to draw a slider
+- * @orientation: the orientation to be used
+- *
+- * Draws a slider in the given rectangle on @window using the
+- * given style and orientation.
+- **/
+ void
+ gtk_paint_slider (GtkStyle *style,
+ GdkWindow *window,
+@@ -6217,7 +6447,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_slider != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_slider (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
+ }
+@@ -6228,10 +6457,9 @@
+ * @window: a #GdkWindow
+ * @state_type: a state
+ * @shadow_type: type of shadow to draw
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: x origin of the handle
+ * @y: y origin of the handle
+ * @width: with of the handle
+@@ -6256,7 +6484,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_handle != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_handle (style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
+ }
+@@ -6266,25 +6493,14 @@
+ * @style: a #GtkStyle
+ * @window: a #GdkWindow
+ * @state_type: a state
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @x: the x position to draw the expander at
+ * @y: the y position to draw the expander at
+- * @expander_style: the style to draw the expander in; determines
+- * whether the expander is collapsed, expanded, or in an
+- * intermediate state.
++ * @expander_style: the style to draw the expander in
+ *
+- * Draws an expander as used in #GtkTreeView. @x and @y specify the
+- * center the expander. The size of the expander is determined by the
+- * "expander-size" style property of @widget. (If widget is not
+- * specified or doesn't have an "expander-size" property, an
+- * unspecified default size will be used, since the caller doesn't
+- * have sufficient information to position the expander, this is
+- * likely not useful.) The expander is expander_size pixels tall
+- * in the collapsed position and expander_size pixels wide in the
+- * expanded position.
++ * Draws an expander as used in #GtkTreeView.
+ **/
+ void
+ gtk_paint_expander (GtkStyle *style,
+@@ -6299,34 +6515,16 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_expander != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_expander (style, window, state_type, area,
+ widget, detail, x, y, expander_style);
+ }
+
+-/**
+- * gtk_paint_layout:
+- * @style: a #GtkStyle
+- * @window: a #GdkWindow
+- * @state_type: a state
+- * @use_text: whether to use the text or foreground
+- * graphics context of @style
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
+- * @x: x origin
+- * @y: y origin
+- * @layout: the layout to draw
+- *
+- * Draws a layout on @window using the given parameters.
+- **/
+ void
+ gtk_paint_layout (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+- gboolean use_text,
++ gboolean use_text,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ const gchar *detail,
+@@ -6336,7 +6534,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_layout != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_layout (style, window, state_type, use_text, area,
+ widget, detail, x, y, layout);
+@@ -6347,10 +6544,9 @@
+ * @style: a #GtkStyle
+ * @window: a #GdkWindow
+ * @state_type: a state
+- * @area: clip rectangle, or %NULL if the
+- * output should not be clipped
+- * @widget: the widget (may be %NULL)
+- * @detail: a style detail (may be %NULL)
++ * @area: clip rectangle
++ * @widget: the widget
++ * @detail: a style detail
+ * @edge: the edge in which to draw the resize grip
+ * @x: the x origin of the rectangle in which to draw the resize grip
+ * @y: the y origin of the rectangle in which to draw the resize grip
+@@ -6376,7 +6572,6 @@
+ {
+ g_return_if_fail (GTK_IS_STYLE (style));
+ g_return_if_fail (GTK_STYLE_GET_CLASS (style)->draw_resize_grip != NULL);
+- g_return_if_fail (style->depth == gdk_drawable_get_depth (window));
+
+ GTK_STYLE_GET_CLASS (style)->draw_resize_grip (style, window, state_type,
+ area, widget, detail,
+@@ -6414,7 +6609,7 @@
+ static GType our_type = 0;
+
+ if (our_type == 0)
+- our_type = g_boxed_type_register_static (I_("GtkBorder"),
++ our_type = g_boxed_type_register_static ("GtkBorder",
+ (GBoxedCopyFunc) gtk_border_copy,
+ (GBoxedFreeFunc) gtk_border_free);
+
+@@ -6553,7 +6748,7 @@
+ gtk_gc_release (cursor_info->secondary_gc);
+
+ g_free (cursor_info);
+- g_object_set_data (G_OBJECT (style), I_("gtk-style-cursor-info"), NULL);
++ g_object_set_data (G_OBJECT (style), "gtk-style-cursor-info", NULL);
+ }
+ }
+
+@@ -6591,7 +6786,7 @@
+ if (!cursor_info)
+ {
+ cursor_info = g_new (CursorInfo, 1);
+- g_object_set_data (G_OBJECT (widget->style), I_("gtk-style-cursor-info"), cursor_info);
++ g_object_set_data (G_OBJECT (widget->style), "gtk-style-cursor-info", cursor_info);
+ cursor_info->primary_gc = NULL;
+ cursor_info->secondary_gc = NULL;
+ cursor_info->for_type = G_TYPE_INVALID;
+@@ -6655,6 +6850,8 @@
+ gfloat cursor_aspect_ratio;
+ gint offset;
+
++ g_return_if_fail (direction != GTK_TEXT_DIR_NONE);
++
+ /* When changing the shape or size of the cursor here,
+ * propagate the changes to gtktextview.c:text_window_invalidate_cursors().
+ */
diff --git a/meta/packages/gtk+/gtk+-2.10.0/xsettings.patch b/meta/packages/gtk+/gtk+-2.10.0/xsettings.patch
new file mode 100644
index 0000000000..b63e262d34
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.10.0/xsettings.patch
@@ -0,0 +1,16 @@
+--- gtk+-2.4.4/gdk/x11/gdkevents-x11.c.old Sun Aug 22 17:14:00 2004
++++ gtk+-2.4.4/gdk/x11/gdkevents-x11.c Sun Aug 22 17:14:00 2004
+@@ -2827,10 +2827,9 @@
+ {
+ GdkScreenX11 *screen = data;
+
+- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent))
+- return GDK_FILTER_REMOVE;
+- else
+- return GDK_FILTER_CONTINUE;
++ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent);
++
++ return GDK_FILTER_CONTINUE;
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/000_gtk+-2.0.6-exportsymbols.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/000_gtk+-2.0.6-exportsymbols.patch
new file mode 100644
index 0000000000..736473696f
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/000_gtk+-2.0.6-exportsymbols.patch
@@ -0,0 +1,26 @@
+diff -ruN gtk+-2.0.6.orig/configure gtk+-2.0.6/configure
+--- gtk+-2.0.6.orig/configure 2002-08-31 03:49:07.000000000 +0900
++++ gtk+-2.0.6/configure 2002-08-31 03:52:45.000000000 +0900
+@@ -7904,7 +7904,8 @@
+ if test "$os_win32" != yes; then
+ # libtool option to control which symbols are exported
+ # right now, symbols starting with _ are not exported
+- LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[^_].*"'
++ # Disabled until -export-symbols-regex works (RH patch)
++ LIBTOOL_EXPORT_OPTIONS=
+ else
+ # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
+ LIBTOOL_EXPORT_OPTIONS=
+diff -ruN gtk+-2.0.6.orig/configure.in gtk+-2.0.6/configure.in
+--- gtk+-2.0.6.orig/configure.in 2002-08-31 03:49:07.000000000 +0900
++++ gtk+-2.0.6/configure.in 2002-08-31 03:51:22.000000000 +0900
+@@ -273,7 +273,8 @@
+ if test "$os_win32" != yes; then
+ # libtool option to control which symbols are exported
+ # right now, symbols starting with _ are not exported
+- LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^[[^_]].*"'
++ # Disabled until -export-symbols-regex works (RH patch)
++ LIBTOOL_EXPORT_OPTIONS=
+ else
+ # We currently use .def files on Windows (for gdk-pixbuf, gdk and gtk)
+ LIBTOOL_EXPORT_OPTIONS=
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/000_gtk+-2.2.0-buildfix-immodule.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/000_gtk+-2.2.0-buildfix-immodule.patch
new file mode 100644
index 0000000000..5d80daf0bc
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/000_gtk+-2.2.0-buildfix-immodule.patch
@@ -0,0 +1,33 @@
+diff -ruN gtk+-2.2.0.orig/modules/input/Makefile.am gtk+-2.2.0/modules/input/Makefile.am
+--- gtk+-2.2.0.orig/modules/input/Makefile.am 2003-01-06 23:40:37.000000000 +0900
++++ gtk+-2.2.0/modules/input/Makefile.am 2003-01-06 23:46:35.000000000 +0900
+@@ -118,7 +118,12 @@
+ im-viqr.la
+
+ gtk.immodules: Makefile.am $(module_LTLIBRARIES)
+- $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules
++ @if $(RUN_QUERY_IMMODULES_TEST) ; then \
++ $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules ; \
++ else \
++ touch $@ ; \
++ fi
++
+
+ CLEANFILES = gtk.immodules
+
+diff -ruN gtk+-2.2.0.orig/modules/input/Makefile.in gtk+-2.2.0/modules/input/Makefile.in
+--- gtk+-2.2.0.orig/modules/input/Makefile.in 2003-01-06 23:39:08.000000000 +0900
++++ gtk+-2.2.0/modules/input/Makefile.in 2003-01-06 23:46:44.000000000 +0900
+@@ -785,7 +785,11 @@
+ rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules
+
+ gtk.immodules: Makefile.am $(module_LTLIBRARIES)
+- $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules
++ @if $(RUN_QUERY_IMMODULES_TEST) ; then \
++ $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules ; \
++ else \
++ touch $@ ; \
++ fi
+
+ @CROSS_COMPILING_FALSE@all-local: gtk.immodules
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/002_xpmico.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/002_xpmico.patch
new file mode 100644
index 0000000000..21500db65a
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/002_xpmico.patch
@@ -0,0 +1,18 @@
+diff -Nur gtk+-2.4.9.orig/gdk-pixbuf/io-ico.c gtk+-2.4.9/gdk-pixbuf/io-ico.c
+--- gtk+-2.4.9.orig/gdk-pixbuf/io-ico.c 2004-08-25 18:52:18.000000000 +0200
++++ gtk+-2.4.9/gdk-pixbuf/io-ico.c 2004-09-15 00:40:17.000000000 +0200
+@@ -210,6 +210,14 @@
+
+ State->HeaderSize = 6 + IconCount*16;
+
++ if (State->HeaderSize < 0) {
++ g_set_error (error,
++ GDK_PIXBUF_ERROR,
++ GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
++ _("Invalid header in icon"));
++ return;
++ }
++
+ if (State->HeaderSize>State->BytesInHeaderBuf) {
+ guchar *tmp=g_try_realloc(State->HeaderBuf,State->HeaderSize);
+ if (!tmp) {
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/003_iconcache.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/003_iconcache.patch
new file mode 100644
index 0000000000..e579c8e208
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/003_iconcache.patch
@@ -0,0 +1,11 @@
+--- gtk/updateiconcache.c.orig 2005-02-06 21:08:09.638762480 +0100
++++ gtk+-2.6.2/gtk/updateiconcache.c 2005-02-06 21:15:13.639304600 +0100
+@@ -53,7 +53,7 @@
+ gchar *cache_path;
+ int retval;
+
+- retval = g_stat (path, &path_stat);
++ retval = stat (path, &path_stat);
+
+ if (retval < 0)
+ {
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/automake-lossage.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/automake-lossage.patch
new file mode 100644
index 0000000000..0d423ddbb9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/automake-lossage.patch
@@ -0,0 +1,24 @@
+--- gtk+-2.4.1/docs/tutorial/Makefile.am~ 2003-05-06 22:54:20.000000000 +0100
++++ gtk+-2.4.1/docs/tutorial/Makefile.am 2004-05-08 12:31:41.000000000 +0100
+@@ -52,21 +52,5 @@
+
+ dist-hook: html
+ cp -Rp $(srcdir)/html $(distdir)
+-else
+-html:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-pdf:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-dist-hook:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "*** DISTRIBUTION IS INCOMPLETE"
+- echo "***"
+ endif
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/configure.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/configure.diff
new file mode 100644
index 0000000000..77cda1ce27
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/configure.diff
@@ -0,0 +1,1885 @@
+--- gtk+-2.6.4/configure 2005-03-30 15:05:06.000000000 +0300
++++ gtk+-2.6.4/configure 2005-03-30 15:07:58.000000000 +0300
+@@ -1057,6 +1057,7 @@
+ --enable-xkb support XKB [default=maybe]
+ --disable-rebuilds disable all source autogeneration rules
+ --disable-visibility don't use ELF visibility attributes
++ --disable-shortcuts disable keyboard shortcuts
+ --disable-shadowfb disable shadowfb support for linux-fb
+ --enable-fbmanager enable framebuffer manager support (GtkFB)
+ --enable-explicit-deps=[yes/no/auto]
+@@ -1197,7 +1198,7 @@
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+- cd $ac_popdir
++ cd "$ac_popdir"
+ done
+ fi
+
+@@ -2663,8 +2664,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2722,8 +2722,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2839,8 +2838,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2894,8 +2892,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2940,8 +2937,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2985,8 +2981,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3759,7 +3754,7 @@
+ ;;
+ *-*-irix6*)
+ # Find out which ABI we are using.
+- echo '#line 3762 "configure"' > conftest.$ac_ext
++ echo '#line 3757 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -3879,8 +3874,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4189,8 +4183,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4360,8 +4353,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4428,8 +4420,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4689,8 +4680,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4748,8 +4738,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4820,8 +4809,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4865,8 +4853,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5331,7 +5318,7 @@
+
+
+ # Provide some information about the compiler.
+-echo "$as_me:5334:" \
++echo "$as_me:5321:" \
+ "checking for Fortran 77 compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+ { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+@@ -5377,8 +5364,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_f77_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5427,8 +5413,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_f77_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6388,11 +6373,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:6391: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:6376: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:6395: \$? = $ac_status" >&5
++ echo "$as_me:6380: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+@@ -6631,11 +6616,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:6634: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:6619: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:6638: \$? = $ac_status" >&5
++ echo "$as_me:6623: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+@@ -6691,11 +6676,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:6694: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:6679: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:6698: \$? = $ac_status" >&5
++ echo "$as_me:6683: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -7082,8 +7067,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7143,8 +7127,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8026,7 +8009,7 @@
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+- echo '#line 8029 "configure"' > conftest.$ac_ext
++ echo '#line 8012 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -8357,8 +8340,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8461,8 +8443,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8527,8 +8508,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8621,8 +8601,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8687,8 +8666,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8754,8 +8732,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8821,8 +8798,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8897,7 +8873,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 8900 "configure"
++#line 8876 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -8995,7 +8971,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 8998 "configure"
++#line 8974 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -10032,8 +10008,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -10094,8 +10069,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -11188,11 +11162,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:11191: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:11165: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:11195: \$? = $ac_status" >&5
++ echo "$as_me:11169: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+@@ -11248,11 +11222,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:11251: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:11225: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:11255: \$? = $ac_status" >&5
++ echo "$as_me:11229: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -11759,7 +11733,7 @@
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+- echo '#line 11762 "configure"' > conftest.$ac_ext
++ echo '#line 11736 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -12090,8 +12064,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -12194,8 +12167,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -12260,8 +12232,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -12354,8 +12325,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -12420,8 +12390,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -12487,8 +12456,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -12554,8 +12522,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_cxx_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -12630,7 +12597,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 12633 "configure"
++#line 12600 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -12728,7 +12695,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 12731 "configure"
++#line 12698 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -13565,11 +13532,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:13568: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:13535: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:13572: \$? = $ac_status" >&5
++ echo "$as_me:13539: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+@@ -13625,11 +13592,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:13628: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:13595: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:13632: \$? = $ac_status" >&5
++ echo "$as_me:13599: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -14006,8 +13973,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_f77_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -14057,8 +14023,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_f77_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_f77_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -14940,7 +14905,7 @@
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+- echo '#line 14943 "configure"' > conftest.$ac_ext
++ echo '#line 14908 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -15681,11 +15646,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15684: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15649: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:15688: \$? = $ac_status" >&5
++ echo "$as_me:15653: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+@@ -15924,11 +15889,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15927: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15892: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:15931: \$? = $ac_status" >&5
++ echo "$as_me:15896: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+@@ -15984,11 +15949,11 @@
+ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15987: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15952: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:15991: \$? = $ac_status" >&5
++ echo "$as_me:15956: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -16375,8 +16340,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -16436,8 +16400,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -17319,7 +17282,7 @@
+ libsuff=
+ case "$host_cpu" in
+ x86_64*|s390x*|powerpc64*)
+- echo '#line 17322 "configure"' > conftest.$ac_ext
++ echo '#line 17285 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -17650,8 +17613,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -17754,8 +17716,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -17820,8 +17781,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -17914,8 +17874,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -17980,8 +17939,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -18047,8 +18005,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -18114,8 +18071,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -18190,7 +18146,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 18193 "configure"
++#line 18149 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -18288,7 +18244,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+-#line 18291 "configure"
++#line 18247 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -19354,8 +19310,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -19384,8 +19339,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -19455,8 +19409,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -19508,8 +19461,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -19580,8 +19532,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -19633,8 +19584,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -19849,6 +19799,18 @@
+ else
+ enable_visibility=yes
+ fi;
++# modification for Device to disable keyboard shortcuts
++# Check whether --enable-shortcuts or --disable-shortcuts was given.
++if test "${enable_shortcuts+set}" = set; then
++ enableval="$enable_shortcuts"
++
++else
++ enable_shortcuts=yes
++fi;
++
++if test "x$enable_shortcuts" = "xno"; then
++ GTK_EXTRA_CFLAGS="$GTK_EXTRA_CFLAGS -DDISABLE_KEYBOARD_SHORTCUTS"
++fi;
+
+
+ # Check whether --with-xinput or --without-xinput was given.
+@@ -20018,8 +19980,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -20124,8 +20085,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -20652,8 +20612,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -20716,8 +20675,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -20753,7 +20711,7 @@
+ # sure that both po/ and po-properties/ have .po files that correspond
+ # to your language. If you only add one to po/, the build will break
+ # in po-properties/.
+-ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tk tr uk uz uz@Latn vi wa xh yi zh_CN zh_TW"
++ALL_LINGUAS=""
+
+
+ for ac_header in locale.h
+@@ -20789,8 +20747,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -20935,8 +20892,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21007,8 +20963,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21152,8 +21107,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21211,8 +21165,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21309,8 +21262,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21389,8 +21341,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21454,8 +21405,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21519,8 +21469,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21597,8 +21546,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21662,8 +21610,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21779,8 +21726,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -21947,8 +21893,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -22081,8 +22026,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -22167,8 +22111,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -22469,8 +22412,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -22514,8 +22456,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -22822,8 +22763,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -22949,8 +22889,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -23018,8 +22957,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -23171,8 +23109,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -23324,8 +23261,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -23486,8 +23422,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -23572,8 +23507,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -23666,8 +23600,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -23876,8 +23809,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -23949,8 +23881,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -24014,8 +23945,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -24199,8 +24129,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -24477,8 +24406,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -24579,8 +24507,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -24678,8 +24605,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -24896,8 +24822,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -24962,8 +24887,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -25037,8 +24961,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -25249,8 +25172,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -25306,8 +25228,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -25460,8 +25381,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -25517,8 +25437,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -25671,8 +25590,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -25728,8 +25646,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -25905,8 +25822,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -26022,8 +25938,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -26127,8 +26042,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -26184,8 +26098,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -26330,8 +26243,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -26488,8 +26400,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -26560,8 +26471,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -26881,8 +26791,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -26939,8 +26848,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27183,8 +27091,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27295,8 +27202,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27347,8 +27253,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27424,8 +27329,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27480,8 +27384,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27549,8 +27452,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27658,8 +27560,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27723,8 +27624,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27792,8 +27692,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27897,8 +27796,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -27962,8 +27860,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28060,8 +27957,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28125,8 +28021,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28223,8 +28118,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28288,8 +28182,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28368,8 +28261,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28462,8 +28354,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28537,8 +28428,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28609,8 +28499,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28709,8 +28598,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28766,8 +28654,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28856,8 +28743,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28907,8 +28793,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -28999,8 +28884,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29043,8 +28927,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29119,8 +29002,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29198,8 +29080,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29272,8 +29153,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29350,8 +29230,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29447,8 +29326,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29558,8 +29436,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29609,8 +29486,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29809,8 +29685,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -29860,8 +29735,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -30015,6 +29889,116 @@
+ GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
+ fi
+
++ # Checks for XFixes extension
++
++ have_xfixes=false
++
++ succeeded=no
++
++ if test -z "$PKG_CONFIG"; then
++ # Extract the first word of "pkg-config", so it can be a program name with args.
++set dummy pkg-config; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $PKG_CONFIG in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++ ;;
++ *)
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
++ test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
++ ;;
++esac
++fi
++PKG_CONFIG=$ac_cv_path_PKG_CONFIG
++
++if test -n "$PKG_CONFIG"; then
++ echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
++echo "${ECHO_T}$PKG_CONFIG" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ fi
++
++ if test "$PKG_CONFIG" = "no" ; then
++ echo "*** The pkg-config script could not be found. Make sure it is"
++ echo "*** in your path, or set the PKG_CONFIG environment variable"
++ echo "*** to the full path to pkg-config."
++ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
++ else
++ PKG_CONFIG_MIN_VERSION=0.9.0
++ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
++ echo "$as_me:$LINENO: checking for xfixes" >&5
++echo $ECHO_N "checking for xfixes... $ECHO_C" >&6
++
++ if $PKG_CONFIG --exists "xfixes" ; then
++ echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++ succeeded=yes
++
++ echo "$as_me:$LINENO: checking XFIXES_CFLAGS" >&5
++echo $ECHO_N "checking XFIXES_CFLAGS... $ECHO_C" >&6
++ XFIXES_CFLAGS=`$PKG_CONFIG --cflags "xfixes"`
++ echo "$as_me:$LINENO: result: $XFIXES_CFLAGS" >&5
++echo "${ECHO_T}$XFIXES_CFLAGS" >&6
++
++ echo "$as_me:$LINENO: checking XFIXES_LIBS" >&5
++echo $ECHO_N "checking XFIXES_LIBS... $ECHO_C" >&6
++ XFIXES_LIBS=`$PKG_CONFIG --libs "xfixes"`
++ echo "$as_me:$LINENO: result: $XFIXES_LIBS" >&5
++echo "${ECHO_T}$XFIXES_LIBS" >&6
++ else
++ XFIXES_CFLAGS=""
++ XFIXES_LIBS=""
++ ## If we have a custom action on failure, don't print errors, but
++ ## do set a variable so people can do so.
++ XFIXES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xfixes"`
++
++ fi
++
++
++
++ else
++ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
++ echo "*** See http://www.freedesktop.org/software/pkgconfig"
++ fi
++ fi
++
++ if test $succeeded = yes; then
++ have_xfixes=true
++ else
++ :
++ fi
++
++
++ if $have_xfixes ; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_XFIXES 1
++_ACEOF
++
++ GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xfixes` $GDK_EXTRA_CFLAGS"
++ GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
++ fi
++
+ # Xshm checks
+
+ if test "x$enable_shm" = "xyes"; then
+@@ -30049,8 +30033,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -30196,8 +30179,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -30355,8 +30337,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -30651,8 +30632,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -30765,8 +30745,7 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag"
+- || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -30798,7 +30777,6 @@
+
+ GTK_PACKAGES=atk
+ GTK_EXTRA_LIBS=
+-GTK_EXTRA_CFLAGS=
+ GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+ GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+
+@@ -32514,11 +32492,6 @@
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+- if test x"$ac_file" != x-; then
+- { echo "$as_me:$LINENO: creating $ac_file" >&5
+-echo "$as_me: creating $ac_file" >&6;}
+- rm -f "$ac_file"
+- fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+@@ -32557,6 +32530,12 @@
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
++
++ if test x"$ac_file" != x-; then
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ rm -f "$ac_file"
++ fi
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/configure.in.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/configure.in.diff
new file mode 100644
index 0000000000..8573b11739
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/configure.in.diff
@@ -0,0 +1,53 @@
+--- gtk+-2.6.4/configure.in 2005-03-30 15:05:06.000000000 +0300
++++ gtk+-2.6.4/configure.in 2005-03-30 15:07:36.000000000 +0300
+@@ -202,6 +202,15 @@
+ [AC_HELP_STRING([--disable-visibility],
+ [don't use ELF visibility attributes])],,
+ [enable_visibility=yes])
++# modification for Device to disable keyboard shortcuts
++AC_ARG_ENABLE(shortcuts,
++ [AC_HELP_STRING([--disable-shortcuts],
++ [disable keyboard shortcuts])],,
++ [enable_shortcuts=yes])
++
++if test "x$enable_shortcuts" = "xno"; then
++ GTK_EXTRA_CFLAGS="$GTK_EXTRA_CFLAGS -DDISABLE_KEYBOARD_SHORTCUTS"
++fi;
+
+ AC_ARG_WITH(xinput,
+ [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
+@@ -418,7 +427,7 @@
+ # sure that both po/ and po-properties/ have .po files that correspond
+ # to your language. If you only add one to po/, the build will break
+ # in po-properties/.
+-ALL_LINGUAS="af am ar az az_IR be bg bn br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu ia id is it ja ko li lt lv mi mk ml mn mr ms nb ne nl nn no nso pa pl pt pt_BR ro ru rw sk sl sq sr sr@ije sr@Latn sv ta th tk tr uk uz uz@Latn vi wa xh yi zh_CN zh_TW"
++ALL_LINGUAS=""
+ AM_GLIB_GNU_GETTEXT
+ LIBS="$LIBS $INTLLIBS"
+ AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
+@@ -1283,6 +1292,17 @@
+ GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xfixes` $GDK_EXTRA_CFLAGS"
+ GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
+ fi
++
++ # Checks for XFixes extension
++
++ have_xfixes=false
++ PKG_CHECK_MODULES(XFIXES, xfixes, have_xfixes=true, :)
++
++ if $have_xfixes ; then
++ AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
++ GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags xfixes` $GDK_EXTRA_CFLAGS"
++ GDK_EXTRA_LIBS="`$PKG_CONFIG --libs xfixes` $GDK_EXTRA_LIBS"
++ fi
+
+ # Xshm checks
+
+@@ -1492,7 +1512,6 @@
+
+ GTK_PACKAGES=atk
+ GTK_EXTRA_LIBS=
+-GTK_EXTRA_CFLAGS=
+ GTK_DEP_LIBS="$GDK_EXTRA_LIBS $GTK_DEP_LIBS_FOR_X `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GTK_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
+ GTK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES $GTK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS $GTK_EXTRA_CFLAGS"
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/disable-tooltips.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/disable-tooltips.patch
new file mode 100644
index 0000000000..d71d839c3c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/disable-tooltips.patch
@@ -0,0 +1,11 @@
+--- gtk+-2.4.3/gtk/gtktooltips.c.old 2004-07-04 18:52:04.000000000 +0100
++++ gtk+-2.4.3/gtk/gtktooltips.c 2004-07-04 18:52:08.000000000 +0100
+@@ -118,7 +118,7 @@
+ tooltips->tips_data_list = NULL;
+
+ tooltips->delay = DEFAULT_DELAY;
+- tooltips->enabled = TRUE;
++ tooltips->enabled = FALSE;
+ tooltips->timer_tag = 0;
+ tooltips->use_sticky_delay = FALSE;
+ tooltips->last_popdown.tv_sec = -1;
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gdkwindow-x11.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gdkwindow-x11.c.diff
new file mode 100644
index 0000000000..8104eb8559
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gdkwindow-x11.c.diff
@@ -0,0 +1,38 @@
+--- gtk+-2.6.4/gdk/x11/gdkwindow-x11.c 2005-01-25 20:51:36.000000000 +0200
++++ gtk+-2.6.4/gdk/x11/gdkwindow-x11.c 2005-04-06 16:19:35.350164320 +0300
+@@ -1286,6 +1286,7 @@
+ GdkToplevelX11 *toplevel;
+ Atom atoms[7];
+ gint i;
++ gint propmode;
+
+ private = (GdkWindowObject*) window;
+ toplevel = _gdk_x11_window_get_toplevel (window);
+@@ -1295,6 +1296,12 @@
+
+ update_wm_hints (window, TRUE);
+
++ /* If the window has _NET_WM_STATE key specified, use it as the property mode */
++ propmode = (gint)g_object_get_data (G_OBJECT (window), "_NET_WM_STATE");
++
++ if (!propmode)
++ propmode = PropModeReplace;
++
+ /* We set the spec hints regardless of whether the spec is supported,
+ * since it can't hurt and it's kind of expensive to check whether
+ * it's supported.
+@@ -1366,10 +1373,11 @@
+ XChangeProperty (xdisplay,
+ xwindow,
+ gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_STATE"),
+- XA_ATOM, 32, PropModeReplace,
++ XA_ATOM, 32, propmode,
+ (guchar*) atoms, i);
+- }
+- else
++ }
++ /* Don't delete the property, unless we are replacing it */
++ else if (propmode == PropModeReplace )
+ {
+ XDeleteProperty (xdisplay,
+ xwindow,
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk+-handhelds.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk+-handhelds.patch
new file mode 100644
index 0000000000..20481f059b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk+-handhelds.patch
@@ -0,0 +1,236 @@
+--- gtk+-2.4.1/gtk/gtkarrow.c 2004-03-13 09:51:13.000000000 +1100
++++ gtk+-2.4.1/gtk/gtkarrow.c 2004-05-26 14:52:17.000000000 +1000
+@@ -29,7 +29,7 @@
+ #include "gtkarrow.h"
+ #include "gtkintl.h"
+
+-#define MIN_ARROW_SIZE 15
++#define MIN_ARROW_SIZE 7
+
+ enum {
+ PROP_0,
+@@ -53,6 +53,8 @@
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec);
++static void gtk_arrow_size_request (GtkWidget *arrow,
++ GtkRequisition *requisition);
+
+ GType
+ gtk_arrow_get_type (void)
+@@ -111,6 +113,7 @@
+ G_PARAM_READABLE | G_PARAM_WRITABLE));
+
+ widget_class->expose_event = gtk_arrow_expose;
++ widget_class->size_request = gtk_arrow_size_request;
+ }
+
+ static void
+@@ -166,13 +169,18 @@
+ }
+
+ static void
++gtk_arrow_size_request (GtkWidget *arrow,
++ GtkRequisition *requisition)
++{
++ requisition->width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
++ requisition->height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
++}
++
++static void
+ gtk_arrow_init (GtkArrow *arrow)
+ {
+ GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW);
+
+- GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
+- GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
+-
+ arrow->arrow_type = GTK_ARROW_RIGHT;
+ arrow->shadow_type = GTK_SHADOW_OUT;
+ }
+--- gtk+-2.4.1/gtk/gtkcalendar.c 2004-03-06 14:37:26.000000000 +1100
++++ gtk+-2.4.1/gtk/gtkcalendar.c 2004-05-26 14:58:57.000000000 +1000
+@@ -340,6 +340,9 @@
+ static void gtk_calendar_select_and_focus_day (GtkCalendar *calendar,
+ guint day);
+
++static void gtk_calendar_do_select_day (GtkCalendar *calendar,
++ guint day);
++
+ static void gtk_calendar_paint_arrow (GtkWidget *widget,
+ guint arrow);
+ static void gtk_calendar_paint_day_num (GtkWidget *widget,
+@@ -861,13 +864,13 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+ {
+ if (calendar->selected_day < 0)
+ calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1];
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+ }
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+@@ -908,10 +911,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -939,10 +942,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -974,10 +977,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -2480,9 +2483,9 @@
+ return TRUE;
+ }
+
+-void
+-gtk_calendar_select_day (GtkCalendar *calendar,
+- guint day)
++static void
++gtk_calendar_do_select_day (GtkCalendar *calendar,
++ guint day)
+ {
+ g_return_if_fail (GTK_IS_CALENDAR (calendar));
+ g_return_if_fail (day <= 31);
+@@ -2499,6 +2502,13 @@
+ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+ gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
+ }
++}
++
++void
++gtk_calendar_select_day (GtkCalendar *calendar,
++ guint day)
++{
++ gtk_calendar_do_select_day (calendar, day);
+
+ calendar->selected_day = day;
+
+--- gtk+-2.4.1/gtk/gtkentry.c 2004-04-22 08:08:08.000000000 +1000
++++ gtk+-2.4.1/gtk/gtkentry.c 2004-05-26 14:52:17.000000000 +1000
+@@ -557,6 +557,15 @@
+ 0.0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("min_width",
++ _("Minimum width"),
++ _("Minimum width of the entry field"),
++ 0,
++ G_MAXINT,
++ MIN_ENTRY_WIDTH,
++ G_PARAM_READABLE));
++
+ signals[POPULATE_POPUP] =
+ g_signal_new ("populate_popup",
+ G_OBJECT_CLASS_TYPE (gobject_class),
+@@ -1124,7 +1133,7 @@
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
+ PangoFontMetrics *metrics;
+- gint xborder, yborder;
++ gint xborder, yborder, min_width;
+ PangoContext *context;
+
+ gtk_widget_ensure_style (widget);
+@@ -1140,9 +1149,11 @@
+
+ xborder += INNER_BORDER;
+ yborder += INNER_BORDER;
+-
++
++ gtk_widget_style_get (widget, "min_width", &min_width, NULL);
++
+ if (entry->width_chars < 0)
+- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
++ requisition->width = min_width + xborder * 2;
+ else
+ {
+ gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
+--- gtk+-2.4.1/gtk/gtkrange.c 2004-03-06 14:38:08.000000000 +1100
++++ gtk+-2.4.1/gtk/gtkrange.c 2004-05-26 14:52:17.000000000 +1000
+@@ -180,6 +180,7 @@
+ static GtkWidgetClass *parent_class = NULL;
+ static guint signals[LAST_SIGNAL];
+
++static GdkAtom recognize_protocols_atom, atom_atom;
+
+ GType
+ gtk_range_get_type (void)
+@@ -220,6 +221,9 @@
+ object_class = (GtkObjectClass*) class;
+ widget_class = (GtkWidgetClass*) class;
+
++ recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE);
++ atom_atom = gdk_atom_intern ("ATOM", FALSE);
++
+ parent_class = g_type_class_peek_parent (class);
+
+ gobject_class->set_property = gtk_range_set_property;
+@@ -815,6 +819,12 @@
+ &attributes, attributes_mask);
+ gdk_window_set_user_data (range->event_window, range);
+
++ gdk_property_change (range->event_window,
++ recognize_protocols_atom,
++ atom_atom,
++ 32, GDK_PROP_MODE_REPLACE,
++ NULL, 0);
++
+ widget->style = gtk_style_attach (widget->style, widget->window);
+ }
+
+@@ -1186,7 +1196,7 @@
+
+ /* ignore presses when we're already doing something else. */
+ if (range->layout->grab_location != MOUSE_OUTSIDE)
+- return FALSE;
++ return TRUE;
+
+ range->layout->mouse_x = event->x;
+ range->layout->mouse_y = event->y;
+@@ -1364,7 +1374,7 @@
+ return TRUE;
+ }
+
+- return FALSE;
++ return TRUE;
+ }
+
+ /**
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk.h.diff
new file mode 100644
index 0000000000..090d0da0eb
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk.h.diff
@@ -0,0 +1,10 @@
+--- gtk+-2.6.4/gtk/gtk.h 2004-09-27 21:37:33.000000000 +0300
++++ gtk+-2.6.4/gtk/gtk.h 2005-04-06 16:19:35.812094096 +0300
+@@ -156,6 +156,7 @@
+ #include <gtk/gtktearoffmenuitem.h>
+ #include <gtk/gtktext.h>
+ #include <gtk/gtktextbuffer.h>
++#include <gtk/gtktextbufferserialize.h>
+ #include <gtk/gtktextview.h>
+ #include <gtk/gtktipsquery.h>
+ #include <gtk/gtktoggleaction.h>
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk_Makefile.am.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk_Makefile.am.diff
new file mode 100644
index 0000000000..0672df19b0
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk_Makefile.am.diff
@@ -0,0 +1,27 @@
+--- gtk+-2.6.4/gtk/Makefile.am 2005-01-13 17:18:21.000000000 +0200
++++ gtk+-2.6.4/gtk/Makefile.am 2005-04-06 16:19:35.806095008 +0300
+@@ -246,6 +246,7 @@
+ gtktearoffmenuitem.h \
+ gtktext.h \
+ gtktextbuffer.h \
++ gtktextbufferserialize.h\
+ gtktextchild.h \
+ gtktextdisplay.h \
+ gtktextiter.h \
+@@ -387,6 +388,8 @@
+ gtkframe.c \
+ gtkgamma.c \
+ gtkgc.c \
++ gtkhashtable.c \
++ gtkhashtable.h \
+ gtkhandlebox.c \
+ gtkhbbox.c \
+ gtkhbox.c \
+@@ -470,6 +473,7 @@
+ gtktext.c \
+ gtktextbtree.c \
+ gtktextbuffer.c \
++ gtktextbufferserialize.c\
+ gtktextchild.c \
+ gtktextdisplay.c \
+ gtktextiter.c \
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk_Makefile.in.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk_Makefile.in.diff
new file mode 100644
index 0000000000..56eca02b03
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtk_Makefile.in.diff
@@ -0,0 +1,292 @@
+--- gtk+-2.6.4/gtk/Makefile.in 2005-03-01 17:31:32.000000000 +0200
++++ gtk+-2.6.4/gtk/Makefile.in 2005-04-06 16:19:35.808094704 +0300
+@@ -485,6 +485,7 @@
+ gtktearoffmenuitem.h \
+ gtktext.h \
+ gtktextbuffer.h \
++ gtktextbufferserialize.h\
+ gtktextchild.h \
+ gtktextdisplay.h \
+ gtktextiter.h \
+@@ -629,6 +630,8 @@
+ gtkframe.c \
+ gtkgamma.c \
+ gtkgc.c \
++ gtkhashtable.c \
++ gtkhashtable.h \
+ gtkhandlebox.c \
+ gtkhbbox.c \
+ gtkhbox.c \
+@@ -712,6 +715,7 @@
+ gtktext.c \
+ gtktextbtree.c \
+ gtktextbuffer.c \
++ gtktextbufferserialize.c\
+ gtktextchild.c \
+ gtktextdisplay.c \
+ gtktextiter.c \
+@@ -927,14 +931,14 @@
+ gtkfilechooserdefault.c gtkfilechooserutils.c \
+ gtkfilechooserwidget.c gtkfilefilter.c gtkfilesel.c \
+ gtkfilesystem.c gtkfilesystemmodel.c gtkfixed.c gtkfontbutton.c \
+- gtkfontsel.c gtkframe.c gtkgamma.c gtkgc.c gtkhandlebox.c \
+- gtkhbbox.c gtkhbox.c gtkhpaned.c gtkhruler.c gtkhscale.c \
+- gtkhscrollbar.c gtkhseparator.c gtkhsv.c gtkhsv.h \
+- gtkiconfactory.c gtkiconcache.c gtkicontheme.c gtkiconview.c \
+- gtkimage.c gtkimagemenuitem.c gtkimcontext.c \
+- gtkimcontextsimple.c gtkimmodule.c gtkimmulticontext.c \
+- gtkinputdialog.c gtkintl.h gtkinvisible.c gtkitem.c \
+- gtkitemfactory.c gtkkeyhash.c gtkkeyhash.h gtklabel.c \
++ gtkfontsel.c gtkframe.c gtkgamma.c gtkgc.c gtkhashtable.c \
++ gtkhashtable.h gtkhandlebox.c gtkhbbox.c gtkhbox.c gtkhpaned.c \
++ gtkhruler.c gtkhscale.c gtkhscrollbar.c gtkhseparator.c \
++ gtkhsv.c gtkhsv.h gtkiconfactory.c gtkiconcache.c \
++ gtkicontheme.c gtkiconview.c gtkimage.c gtkimagemenuitem.c \
++ gtkimcontext.c gtkimcontextsimple.c gtkimmodule.c \
++ gtkimmulticontext.c gtkinputdialog.c gtkintl.h gtkinvisible.c \
++ gtkitem.c gtkitemfactory.c gtkkeyhash.c gtkkeyhash.h gtklabel.c \
+ gtklayout.c gtklist.c gtklistitem.c gtkliststore.c gtkmain.c \
+ gtkmarshal.c gtkmarshalers.c gtkmenu.c gtkmenubar.c \
+ gtkmenuitem.c gtkmenushell.c gtkmenutoolbutton.c \
+@@ -949,21 +953,21 @@
+ gtkseparatortoolitem.c gtksettings.c gtksignal.c gtksizegroup.c \
+ gtkspinbutton.c gtkstatusbar.c gtkstock.c gtkstyle.c gtktable.c \
+ gtktearoffmenuitem.c gtktext.c gtktextbtree.c gtktextbuffer.c \
+- gtktextchild.c gtktextdisplay.c gtktextiter.c \
+- gtktextiterprivate.h gtktextlayout.c gtktextmark.c \
+- gtktextmarkprivate.h gtktextsegment.c gtktexttag.c \
+- gtktexttagtable.c gtktexttypes.c gtktextutil.c gtktextview.c \
+- gtkthemes.c gtktipsquery.c gtktoggleaction.c gtktogglebutton.c \
+- gtktoggletoolbutton.c gtktoolbar.c gtktoolbutton.c \
+- gtktoolitem.c gtktooltips.c gtktree.c gtktreedatalist.c \
+- gtktreednd.c gtktreeitem.c gtktreemodel.c gtktreemodelfilter.c \
+- gtktreemodelsort.c gtktreeselection.c gtktreesortable.c \
+- gtktreestore.c gtktreeview.c gtktreeviewcolumn.c \
+- gtktypebuiltins.c gtktypeutils.c gtkuimanager.c gtkvbbox.c \
+- gtkvbox.c gtkviewport.c gtkvpaned.c gtkvruler.c gtkvscale.c \
+- gtkvscrollbar.c gtkvseparator.c gtkwidget.c \
+- gtkwindow-decorate.c gtkwindow.c xembed.h gtkfilesystemunix.c \
+- gtkfilesystemwin32.c
++ gtktextbufferserialize.c gtktextchild.c gtktextdisplay.c \
++ gtktextiter.c gtktextiterprivate.h gtktextlayout.c \
++ gtktextmark.c gtktextmarkprivate.h gtktextsegment.c \
++ gtktexttag.c gtktexttagtable.c gtktexttypes.c gtktextutil.c \
++ gtktextview.c gtkthemes.c gtktipsquery.c gtktoggleaction.c \
++ gtktogglebutton.c gtktoggletoolbutton.c gtktoolbar.c \
++ gtktoolbutton.c gtktoolitem.c gtktooltips.c gtktree.c \
++ gtktreedatalist.c gtktreednd.c gtktreeitem.c gtktreemodel.c \
++ gtktreemodelfilter.c gtktreemodelsort.c gtktreeselection.c \
++ gtktreesortable.c gtktreestore.c gtktreeview.c \
++ gtktreeviewcolumn.c gtktypebuiltins.c gtktypeutils.c \
++ gtkuimanager.c gtkvbbox.c gtkvbox.c gtkviewport.c gtkvpaned.c \
++ gtkvruler.c gtkvscale.c gtkvscrollbar.c gtkvseparator.c \
++ gtkwidget.c gtkwindow-decorate.c gtkwindow.c xembed.h \
++ gtkfilesystemunix.c gtkfilesystemwin32.c
+ @OS_UNIX_TRUE@am__objects_1 = gtkfilesystemunix.lo
+ @OS_WIN32_TRUE@am__objects_2 = gtkfilesystemwin32.lo
+ am__objects_3 = fnmatch.lo gtkaboutdialog.lo gtkaccelgroup.lo \
+@@ -986,16 +990,16 @@
+ gtkfilechooserutils.lo gtkfilechooserwidget.lo gtkfilefilter.lo \
+ gtkfilesel.lo gtkfilesystem.lo gtkfilesystemmodel.lo \
+ gtkfixed.lo gtkfontbutton.lo gtkfontsel.lo gtkframe.lo \
+- gtkgamma.lo gtkgc.lo gtkhandlebox.lo gtkhbbox.lo gtkhbox.lo \
+- gtkhpaned.lo gtkhruler.lo gtkhscale.lo gtkhscrollbar.lo \
+- gtkhseparator.lo gtkhsv.lo gtkiconfactory.lo gtkiconcache.lo \
+- gtkicontheme.lo gtkiconview.lo gtkimage.lo gtkimagemenuitem.lo \
+- gtkimcontext.lo gtkimcontextsimple.lo gtkimmodule.lo \
+- gtkimmulticontext.lo gtkinputdialog.lo gtkinvisible.lo \
+- gtkitem.lo gtkitemfactory.lo gtkkeyhash.lo gtklabel.lo \
+- gtklayout.lo gtklist.lo gtklistitem.lo gtkliststore.lo \
+- gtkmain.lo gtkmarshal.lo gtkmarshalers.lo gtkmenu.lo \
+- gtkmenubar.lo gtkmenuitem.lo gtkmenushell.lo \
++ gtkgamma.lo gtkgc.lo gtkhashtable.lo gtkhandlebox.lo \
++ gtkhbbox.lo gtkhbox.lo gtkhpaned.lo gtkhruler.lo gtkhscale.lo \
++ gtkhscrollbar.lo gtkhseparator.lo gtkhsv.lo gtkiconfactory.lo \
++ gtkiconcache.lo gtkicontheme.lo gtkiconview.lo gtkimage.lo \
++ gtkimagemenuitem.lo gtkimcontext.lo gtkimcontextsimple.lo \
++ gtkimmodule.lo gtkimmulticontext.lo gtkinputdialog.lo \
++ gtkinvisible.lo gtkitem.lo gtkitemfactory.lo gtkkeyhash.lo \
++ gtklabel.lo gtklayout.lo gtklist.lo gtklistitem.lo \
++ gtkliststore.lo gtkmain.lo gtkmarshal.lo gtkmarshalers.lo \
++ gtkmenu.lo gtkmenubar.lo gtkmenuitem.lo gtkmenushell.lo \
+ gtkmenutoolbutton.lo gtkmessagedialog.lo gtkmisc.lo \
+ gtkmnemonichash.lo gtkmodules.lo gtknotebook.lo gtkobject.lo \
+ gtkoldeditable.lo gtkoptionmenu.lo gtkpaned.lo gtkpathbar.lo \
+@@ -1007,14 +1011,15 @@
+ gtkseparatormenuitem.lo gtkseparatortoolitem.lo gtksettings.lo \
+ gtksignal.lo gtksizegroup.lo gtkspinbutton.lo gtkstatusbar.lo \
+ gtkstock.lo gtkstyle.lo gtktable.lo gtktearoffmenuitem.lo \
+- gtktext.lo gtktextbtree.lo gtktextbuffer.lo gtktextchild.lo \
+- gtktextdisplay.lo gtktextiter.lo gtktextlayout.lo \
+- gtktextmark.lo gtktextsegment.lo gtktexttag.lo \
+- gtktexttagtable.lo gtktexttypes.lo gtktextutil.lo \
+- gtktextview.lo gtkthemes.lo gtktipsquery.lo gtktoggleaction.lo \
+- gtktogglebutton.lo gtktoggletoolbutton.lo gtktoolbar.lo \
+- gtktoolbutton.lo gtktoolitem.lo gtktooltips.lo gtktree.lo \
+- gtktreedatalist.lo gtktreednd.lo gtktreeitem.lo gtktreemodel.lo \
++ gtktext.lo gtktextbtree.lo gtktextbuffer.lo \
++ gtktextbufferserialize.lo gtktextchild.lo gtktextdisplay.lo \
++ gtktextiter.lo gtktextlayout.lo gtktextmark.lo \
++ gtktextsegment.lo gtktexttag.lo gtktexttagtable.lo \
++ gtktexttypes.lo gtktextutil.lo gtktextview.lo gtkthemes.lo \
++ gtktipsquery.lo gtktoggleaction.lo gtktogglebutton.lo \
++ gtktoggletoolbutton.lo gtktoolbar.lo gtktoolbutton.lo \
++ gtktoolitem.lo gtktooltips.lo gtktree.lo gtktreedatalist.lo \
++ gtktreednd.lo gtktreeitem.lo gtktreemodel.lo \
+ gtktreemodelfilter.lo gtktreemodelsort.lo gtktreeselection.lo \
+ gtktreesortable.lo gtktreestore.lo gtktreeview.lo \
+ gtktreeviewcolumn.lo gtktypebuiltins.lo gtktypeutils.lo \
+@@ -1042,14 +1047,14 @@
+ gtkfilechooserdefault.c gtkfilechooserutils.c \
+ gtkfilechooserwidget.c gtkfilefilter.c gtkfilesel.c \
+ gtkfilesystem.c gtkfilesystemmodel.c gtkfixed.c gtkfontbutton.c \
+- gtkfontsel.c gtkframe.c gtkgamma.c gtkgc.c gtkhandlebox.c \
+- gtkhbbox.c gtkhbox.c gtkhpaned.c gtkhruler.c gtkhscale.c \
+- gtkhscrollbar.c gtkhseparator.c gtkhsv.c gtkhsv.h \
+- gtkiconfactory.c gtkiconcache.c gtkicontheme.c gtkiconview.c \
+- gtkimage.c gtkimagemenuitem.c gtkimcontext.c \
+- gtkimcontextsimple.c gtkimmodule.c gtkimmulticontext.c \
+- gtkinputdialog.c gtkintl.h gtkinvisible.c gtkitem.c \
+- gtkitemfactory.c gtkkeyhash.c gtkkeyhash.h gtklabel.c \
++ gtkfontsel.c gtkframe.c gtkgamma.c gtkgc.c gtkhashtable.c \
++ gtkhashtable.h gtkhandlebox.c gtkhbbox.c gtkhbox.c gtkhpaned.c \
++ gtkhruler.c gtkhscale.c gtkhscrollbar.c gtkhseparator.c \
++ gtkhsv.c gtkhsv.h gtkiconfactory.c gtkiconcache.c \
++ gtkicontheme.c gtkiconview.c gtkimage.c gtkimagemenuitem.c \
++ gtkimcontext.c gtkimcontextsimple.c gtkimmodule.c \
++ gtkimmulticontext.c gtkinputdialog.c gtkintl.h gtkinvisible.c \
++ gtkitem.c gtkitemfactory.c gtkkeyhash.c gtkkeyhash.h gtklabel.c \
+ gtklayout.c gtklist.c gtklistitem.c gtkliststore.c gtkmain.c \
+ gtkmarshal.c gtkmarshalers.c gtkmenu.c gtkmenubar.c \
+ gtkmenuitem.c gtkmenushell.c gtkmenutoolbutton.c \
+@@ -1064,21 +1069,21 @@
+ gtkseparatortoolitem.c gtksettings.c gtksignal.c gtksizegroup.c \
+ gtkspinbutton.c gtkstatusbar.c gtkstock.c gtkstyle.c gtktable.c \
+ gtktearoffmenuitem.c gtktext.c gtktextbtree.c gtktextbuffer.c \
+- gtktextchild.c gtktextdisplay.c gtktextiter.c \
+- gtktextiterprivate.h gtktextlayout.c gtktextmark.c \
+- gtktextmarkprivate.h gtktextsegment.c gtktexttag.c \
+- gtktexttagtable.c gtktexttypes.c gtktextutil.c gtktextview.c \
+- gtkthemes.c gtktipsquery.c gtktoggleaction.c gtktogglebutton.c \
+- gtktoggletoolbutton.c gtktoolbar.c gtktoolbutton.c \
+- gtktoolitem.c gtktooltips.c gtktree.c gtktreedatalist.c \
+- gtktreednd.c gtktreeitem.c gtktreemodel.c gtktreemodelfilter.c \
+- gtktreemodelsort.c gtktreeselection.c gtktreesortable.c \
+- gtktreestore.c gtktreeview.c gtktreeviewcolumn.c \
+- gtktypebuiltins.c gtktypeutils.c gtkuimanager.c gtkvbbox.c \
+- gtkvbox.c gtkviewport.c gtkvpaned.c gtkvruler.c gtkvscale.c \
+- gtkvscrollbar.c gtkvseparator.c gtkwidget.c \
+- gtkwindow-decorate.c gtkwindow.c xembed.h gtkfilesystemunix.c \
+- gtkfilesystemwin32.c
++ gtktextbufferserialize.c gtktextchild.c gtktextdisplay.c \
++ gtktextiter.c gtktextiterprivate.h gtktextlayout.c \
++ gtktextmark.c gtktextmarkprivate.h gtktextsegment.c \
++ gtktexttag.c gtktexttagtable.c gtktexttypes.c gtktextutil.c \
++ gtktextview.c gtkthemes.c gtktipsquery.c gtktoggleaction.c \
++ gtktogglebutton.c gtktoggletoolbutton.c gtktoolbar.c \
++ gtktoolbutton.c gtktoolitem.c gtktooltips.c gtktree.c \
++ gtktreedatalist.c gtktreednd.c gtktreeitem.c gtktreemodel.c \
++ gtktreemodelfilter.c gtktreemodelsort.c gtktreeselection.c \
++ gtktreesortable.c gtktreestore.c gtktreeview.c \
++ gtktreeviewcolumn.c gtktypebuiltins.c gtktypeutils.c \
++ gtkuimanager.c gtkvbbox.c gtkvbox.c gtkviewport.c gtkvpaned.c \
++ gtkvruler.c gtkvscale.c gtkvscrollbar.c gtkvseparator.c \
++ gtkwidget.c gtkwindow-decorate.c gtkwindow.c xembed.h \
++ gtkfilesystemunix.c gtkfilesystemwin32.c
+ am_libgtk_win32_2_0_la_OBJECTS = $(am__objects_3)
+ libgtk_win32_2_0_la_OBJECTS = $(am_libgtk_win32_2_0_la_OBJECTS)
+ @OS_UNIX_TRUE@libgtk_x11_2_0_la_DEPENDENCIES = \
+@@ -1106,14 +1111,14 @@
+ gtkfilechooserdefault.c gtkfilechooserutils.c \
+ gtkfilechooserwidget.c gtkfilefilter.c gtkfilesel.c \
+ gtkfilesystem.c gtkfilesystemmodel.c gtkfixed.c gtkfontbutton.c \
+- gtkfontsel.c gtkframe.c gtkgamma.c gtkgc.c gtkhandlebox.c \
+- gtkhbbox.c gtkhbox.c gtkhpaned.c gtkhruler.c gtkhscale.c \
+- gtkhscrollbar.c gtkhseparator.c gtkhsv.c gtkhsv.h \
+- gtkiconfactory.c gtkiconcache.c gtkicontheme.c gtkiconview.c \
+- gtkimage.c gtkimagemenuitem.c gtkimcontext.c \
+- gtkimcontextsimple.c gtkimmodule.c gtkimmulticontext.c \
+- gtkinputdialog.c gtkintl.h gtkinvisible.c gtkitem.c \
+- gtkitemfactory.c gtkkeyhash.c gtkkeyhash.h gtklabel.c \
++ gtkfontsel.c gtkframe.c gtkgamma.c gtkgc.c gtkhashtable.c \
++ gtkhashtable.h gtkhandlebox.c gtkhbbox.c gtkhbox.c gtkhpaned.c \
++ gtkhruler.c gtkhscale.c gtkhscrollbar.c gtkhseparator.c \
++ gtkhsv.c gtkhsv.h gtkiconfactory.c gtkiconcache.c \
++ gtkicontheme.c gtkiconview.c gtkimage.c gtkimagemenuitem.c \
++ gtkimcontext.c gtkimcontextsimple.c gtkimmodule.c \
++ gtkimmulticontext.c gtkinputdialog.c gtkintl.h gtkinvisible.c \
++ gtkitem.c gtkitemfactory.c gtkkeyhash.c gtkkeyhash.h gtklabel.c \
+ gtklayout.c gtklist.c gtklistitem.c gtkliststore.c gtkmain.c \
+ gtkmarshal.c gtkmarshalers.c gtkmenu.c gtkmenubar.c \
+ gtkmenuitem.c gtkmenushell.c gtkmenutoolbutton.c \
+@@ -1128,22 +1133,22 @@
+ gtkseparatortoolitem.c gtksettings.c gtksignal.c gtksizegroup.c \
+ gtkspinbutton.c gtkstatusbar.c gtkstock.c gtkstyle.c gtktable.c \
+ gtktearoffmenuitem.c gtktext.c gtktextbtree.c gtktextbuffer.c \
+- gtktextchild.c gtktextdisplay.c gtktextiter.c \
+- gtktextiterprivate.h gtktextlayout.c gtktextmark.c \
+- gtktextmarkprivate.h gtktextsegment.c gtktexttag.c \
+- gtktexttagtable.c gtktexttypes.c gtktextutil.c gtktextview.c \
+- gtkthemes.c gtktipsquery.c gtktoggleaction.c gtktogglebutton.c \
+- gtktoggletoolbutton.c gtktoolbar.c gtktoolbutton.c \
+- gtktoolitem.c gtktooltips.c gtktree.c gtktreedatalist.c \
+- gtktreednd.c gtktreeitem.c gtktreemodel.c gtktreemodelfilter.c \
+- gtktreemodelsort.c gtktreeselection.c gtktreesortable.c \
+- gtktreestore.c gtktreeview.c gtktreeviewcolumn.c \
+- gtktypebuiltins.c gtktypeutils.c gtkuimanager.c gtkvbbox.c \
+- gtkvbox.c gtkviewport.c gtkvpaned.c gtkvruler.c gtkvscale.c \
+- gtkvscrollbar.c gtkvseparator.c gtkwidget.c \
+- gtkwindow-decorate.c gtkwindow.c xembed.h gtkfilesystemunix.c \
+- gtkfilesystemwin32.c gtkplug.c gtksocket.c gtkxembed.c \
+- gtkxembed.h
++ gtktextbufferserialize.c gtktextchild.c gtktextdisplay.c \
++ gtktextiter.c gtktextiterprivate.h gtktextlayout.c \
++ gtktextmark.c gtktextmarkprivate.h gtktextsegment.c \
++ gtktexttag.c gtktexttagtable.c gtktexttypes.c gtktextutil.c \
++ gtktextview.c gtkthemes.c gtktipsquery.c gtktoggleaction.c \
++ gtktogglebutton.c gtktoggletoolbutton.c gtktoolbar.c \
++ gtktoolbutton.c gtktoolitem.c gtktooltips.c gtktree.c \
++ gtktreedatalist.c gtktreednd.c gtktreeitem.c gtktreemodel.c \
++ gtktreemodelfilter.c gtktreemodelsort.c gtktreeselection.c \
++ gtktreesortable.c gtktreestore.c gtktreeview.c \
++ gtktreeviewcolumn.c gtktypebuiltins.c gtktypeutils.c \
++ gtkuimanager.c gtkvbbox.c gtkvbox.c gtkviewport.c gtkvpaned.c \
++ gtkvruler.c gtkvscale.c gtkvscrollbar.c gtkvseparator.c \
++ gtkwidget.c gtkwindow-decorate.c gtkwindow.c xembed.h \
++ gtkfilesystemunix.c gtkfilesystemwin32.c gtkplug.c gtksocket.c \
++ gtkxembed.c gtkxembed.h
+ am__objects_4 = gtkplug.lo gtksocket.lo gtkxembed.lo
+ am_libgtk_x11_2_0_la_OBJECTS = $(am__objects_3) $(am__objects_4)
+ libgtk_x11_2_0_la_OBJECTS = $(am_libgtk_x11_2_0_la_OBJECTS)
+@@ -1224,6 +1229,7 @@
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtkfontsel.Plo ./$(DEPDIR)/gtkframe.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtkgamma.Plo ./$(DEPDIR)/gtkgc.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtkhandlebox.Plo \
++@AMDEP_TRUE@ ./$(DEPDIR)/gtkhashtable.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtkhbbox.Plo ./$(DEPDIR)/gtkhbox.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtkhpaned.Plo ./$(DEPDIR)/gtkhruler.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtkhscale.Plo \
+@@ -1292,6 +1298,7 @@
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtktext.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtktextbtree.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtktextbuffer.Plo \
++@AMDEP_TRUE@ ./$(DEPDIR)/gtktextbufferserialize.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtktextchild.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtktextdisplay.Plo \
+ @AMDEP_TRUE@ ./$(DEPDIR)/gtktextiter.Plo \
+@@ -1524,6 +1531,7 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkgamma.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkgc.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkhandlebox.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkhashtable.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkhbbox.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkhbox.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtkhpaned.Plo@am__quote@
+@@ -1604,6 +1612,7 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtktext.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtktextbtree.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtktextbuffer.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtktextbufferserialize.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtktextchild.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtktextdisplay.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtktextiter.Plo@am__quote@
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkalias.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkalias.h.diff
new file mode 100644
index 0000000000..8c87424ce8
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkalias.h.diff
@@ -0,0 +1,17 @@
+--- gtk+-2.6.4/gtk/gtkalias.h 2005-03-01 17:58:16.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkalias.h 2005-04-06 16:19:36.020062480 +0300
+@@ -5782,6 +5782,14 @@
+ extern __typeof (gtk_menu_shell_select_item) gtk_menu_shell_select_item __attribute((alias("IA__gtk_menu_shell_select_item"), visibility("default")));
+ #define gtk_menu_shell_select_item IA__gtk_menu_shell_select_item
+
++extern __typeof (gtk_menu_shell_set_take_focus) IA__gtk_menu_shell_set_take_focus __attribute((visibility("hidden")));
++extern __typeof (gtk_menu_shell_set_take_focus) gtk_menu_shell_set_take_focus __attribute((alias("IA__gtk_menu_shell_set_take_focus"), visibility("default")));
++#define gtk_menu_shell_set_take_focus IA__gtk_menu_shell_set_take_focus
++
++extern __typeof (gtk_menu_shell_get_take_focus) IA__gtk_menu_shell_get_take_focus __attribute((visibility("hidden")));
++extern __typeof (gtk_menu_shell_get_take_focus) gtk_menu_shell_get_take_focus __attribute((alias("IA__gtk_menu_shell_get_take_focus"), visibility("default")));
++#define gtk_menu_shell_get_take_focus IA__gtk_menu_shell_get_take_focus
++
+ extern __typeof (gtk_menu_tool_button_get_menu) IA__gtk_menu_tool_button_get_menu __attribute((visibility("hidden")));
+ extern __typeof (gtk_menu_tool_button_get_menu) gtk_menu_tool_button_get_menu __attribute((alias("IA__gtk_menu_tool_button_get_menu"), visibility("default")));
+ #define gtk_menu_tool_button_get_menu IA__gtk_menu_tool_button_get_menu
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkbutton.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkbutton.c.diff
new file mode 100644
index 0000000000..e5a007372a
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkbutton.c.diff
@@ -0,0 +1,471 @@
+--- gtk+-2.6.4/gtk/gtkbutton.c 2005-01-25 22:54:43.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkbutton.c 2005-04-06 16:19:36.249027672 +0300
+@@ -24,6 +24,10 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2002-2005. See CHANGES file for list
++ * of changes.
++ */
++
+ #include <config.h>
+ #include <string.h>
+ #include "gtkalias.h"
+@@ -38,8 +42,33 @@
+ #include "gtkiconfactory.h"
+ #include "gtkintl.h"
+
++/* Osso addition:
++ * Here are the details for each attach
++ * bitmask combination. */
++const gchar *osso_gtk_button_attach_details [OSSO_GTK_BUTTON_ATTACH_ENUM_END] =
++ { "osso_button",
++ "osso_button_n",
++ "osso_button_e",
++ "osso_button_ne",
++ "osso_button_s",
++ "osso_button_ns",
++ "osso_button_es",
++ "osso_button_nes",
++ "osso_button_w",
++ "osso_button_nw",
++ "osso_button_ew",
++ "osso_button_new",
++ "osso_button_sw",
++ "osso_button_nsw",
++ "osso_button_esw",
++ "osso_button_nesw",
++ };
++
+ #define CHILD_SPACING 1
+
++/* Take this away after font drawing is fixed */
++#define OSSO_FONT_HACK TRUE
++
+ static const GtkBorder default_default_border = { 1, 1, 1, 1 };
+ static const GtkBorder default_default_outside_border = { 0, 0, 0, 0 };
+
+@@ -68,6 +97,9 @@
+ PROP_FOCUS_ON_CLICK,
+ PROP_XALIGN,
+ PROP_YALIGN,
++ PROP_DETAIL,
++ PROP_AUTOMATIC_DETAIL,
++ PROP_KEYBOARD_BUTTON
+ };
+
+ #define GTK_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_BUTTON, GtkButtonPrivate))
+@@ -80,6 +112,10 @@
+ GtkWidget *image;
+ guint align_set : 1;
+ guint image_is_stock : 1;
++ gchar *detail;
++ gboolean automatic_detail;
++ gboolean keyboard_button;
++ GtkLabel *keyboard_label;
+ };
+
+ static void gtk_button_class_init (GtkButtonClass *klass);
+@@ -231,6 +267,14 @@
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (gobject_class,
++ PROP_KEYBOARD_BUTTON,
++ g_param_spec_boolean ("keyboard_button",
++ P_("Keyboard button"),
++ P_("If set, label foo"),
++ FALSE,
++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
++
++ g_object_class_install_property (gobject_class,
+ PROP_USE_STOCK,
+ g_param_spec_boolean ("use_stock",
+ P_("Use stock"),
+@@ -418,6 +462,77 @@
+ P_("Whether stock icons should be shown in buttons"),
+ TRUE,
+ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("child_spacing",
++ _("Child spacing"),
++ _("Spacing between button edges and child."),
++ 0,
++ G_MAXINT,
++ CHILD_SPACING,
++ G_PARAM_READABLE));
++ /* Osso additions below */
++ g_object_class_install_property (gobject_class,
++ PROP_DETAIL,
++ g_param_spec_string ("detail",
++ P_("Detail"),
++ P_("The detail the button is drawn with."),
++ "buttondefault",
++ G_PARAM_READWRITE));
++
++ g_object_class_install_property (gobject_class,
++ PROP_AUTOMATIC_DETAIL,
++ g_param_spec_boolean ("automatic_detail",
++ P_("Automatic Detail"),
++ P_("Whether setting detail is automatic based on GtkTable/GtkHButtonBox."),
++ TRUE,
++ G_PARAM_READWRITE));
++
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("child_offset_y",
++ _("Child Y Offset"),
++ _("Enable hack how many pixels to add/take away from GtkButton's child size allocation."),
++ G_MININT,
++ G_MAXINT,
++ 0,
++ G_PARAM_READABLE));
++
++ /* OSSO: This is used to find out whether
++ * button is a GtkTreeView column Listbox
++ * header or not */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("listboxheader",
++ P_( "Listbox header" ),
++ P_( "Listbox header ( FALSE / TRUE )" ),
++ FALSE,
++ G_PARAM_READABLE));
++
++ /* OSSO: Column Listbox header separator height */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("separator-height",
++ P_( "Separator height" ),
++ P_( "Listbox header separator height ( FALSE / TRUE )" ),
++ 0,
++ G_MAXINT,
++ 0,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boxed ("padding",
++ P_("Padding"),
++ P_("Paddings around the button child"),
++ GTK_TYPE_BORDER,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("minimum_width",
++ P_("Minimum Width"),
++ P_("Minimum width of the button"),
++ 0,
++ G_MAXINT,
++ 0,
++ G_PARAM_READABLE));
+
+ g_type_class_add_private (gobject_class, sizeof (GtkButtonPrivate));
+ }
+@@ -445,7 +560,14 @@
+ priv->xalign = 0.5;
+ priv->yalign = 0.5;
+ priv->align_set = 0;
++ priv->detail = g_strdup("buttondefault");
++ priv->automatic_detail = TRUE;
++ priv->keyboard_button = FALSE;
++ priv->keyboard_label = NULL;
+ priv->image_is_stock = TRUE;
++
++ g_object_set (G_OBJECT (button), "tap_and_hold_state",
++ GTK_STATE_ACTIVE, NULL);
+ }
+
+ static void
+@@ -560,6 +682,18 @@
+ case PROP_YALIGN:
+ gtk_button_set_alignment (button, priv->xalign, g_value_get_float (value));
+ break;
++ case PROP_DETAIL:
++ if (priv->detail)
++ g_free (priv->detail);
++ priv->detail = g_strdup (g_value_get_string (value));
++ gtk_widget_queue_draw (GTK_WIDGET (button));
++ break;
++ case PROP_AUTOMATIC_DETAIL:
++ priv->automatic_detail = g_value_get_boolean (value);
++ break;
++ case PROP_KEYBOARD_BUTTON:
++ priv->keyboard_button = g_value_get_boolean (value);
++ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -601,6 +735,15 @@
+ case PROP_YALIGN:
+ g_value_set_float (value, priv->yalign);
+ break;
++ case PROP_DETAIL:
++ g_value_set_string (value, priv->detail);
++ break;
++ case PROP_AUTOMATIC_DETAIL:
++ g_value_set_boolean (value, priv->automatic_detail);
++ break;
++ case PROP_KEYBOARD_BUTTON:
++ g_value_set_boolean (value, priv->keyboard_button);
++ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -641,6 +784,26 @@
+ if (button->label_text == NULL)
+ return;
+
++ if (priv->keyboard_button)
++ {
++ if (priv->keyboard_label)
++ {
++ gtk_label_set_label (priv->keyboard_label, button->label_text);
++ }
++ else
++ {
++ GtkWidget *label = gtk_label_new (button->label_text);
++ priv->keyboard_label = GTK_LABEL (label);
++
++ if (priv->align_set)
++ gtk_misc_set_alignment (GTK_MISC (label),
++ priv->xalign, priv->yalign);
++ gtk_widget_show (priv->keyboard_label);
++ gtk_container_add (GTK_CONTAINER (button), label);
++ }
++ return;
++ }
++
+ if (GTK_BIN (button)->child)
+ {
+ if (priv->image && !priv->image_is_stock)
+@@ -944,16 +1107,20 @@
+ GtkBorder default_border;
+ gint focus_width;
+ gint focus_pad;
++ gint child_spacing;
++ gint separator_height;
+
+ gtk_button_get_props (button, &default_border, NULL, NULL);
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
++ "child-spacing", &child_spacing,
++ "separator-height", &separator_height,
+ NULL);
+
+- requisition->width = (GTK_CONTAINER (widget)->border_width + CHILD_SPACING +
++ requisition->width = (GTK_CONTAINER (widget)->border_width + child_spacing +
+ GTK_WIDGET (widget)->style->xthickness) * 2;
+- requisition->height = (GTK_CONTAINER (widget)->border_width + CHILD_SPACING +
++ requisition->height = (GTK_CONTAINER (widget)->border_width + child_spacing +
+ GTK_WIDGET (widget)->style->ythickness) * 2;
+
+ if (GTK_WIDGET_CAN_DEFAULT (widget))
+@@ -965,15 +1132,35 @@
+ if (GTK_BIN (button)->child && GTK_WIDGET_VISIBLE (GTK_BIN (button)->child))
+ {
+ GtkRequisition child_requisition;
++ GtkBorder *padding;
++ gint minimum_width;
+
+ gtk_widget_size_request (GTK_BIN (button)->child, &child_requisition);
+
++ gtk_widget_style_get (widget,
++ "padding",
++ &padding,
++ "minimum_width",
++ &minimum_width,
++ NULL);
++
++ if ( padding )
++ {
++ requisition->width += padding->left + padding->right;
++ requisition->height += padding->top + padding->bottom;
++ }
++
+ requisition->width += child_requisition.width;
+ requisition->height += child_requisition.height;
++
++ if (requisition->width < minimum_width)
++ requisition->width = minimum_width;
+ }
+
+ requisition->width += 2 * (focus_width + focus_pad);
+ requisition->height += 2 * (focus_width + focus_pad);
++
++ requisition->height += separator_height;
+ }
+
+ static void
+@@ -989,14 +1176,15 @@
+ GtkBorder default_border;
+ gint focus_width;
+ gint focus_pad;
++ gint child_spacing;
+
+ gtk_button_get_props (button, &default_border, NULL, NULL);
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
++ "child-spacing", &child_spacing,
+ NULL);
+-
+-
++
+ widget->allocation = *allocation;
+
+ if (GTK_WIDGET_REALIZED (widget))
+@@ -1008,14 +1196,27 @@
+
+ if (GTK_BIN (button)->child && GTK_WIDGET_VISIBLE (GTK_BIN (button)->child))
+ {
+- child_allocation.x = widget->allocation.x + border_width + CHILD_SPACING + xthickness;
+- child_allocation.y = widget->allocation.y + border_width + CHILD_SPACING + ythickness;
++ child_allocation.x = widget->allocation.x + border_width + child_spacing + xthickness;
++ child_allocation.y = widget->allocation.y + border_width + child_spacing + ythickness;
+
+- child_allocation.width = MAX (1, widget->allocation.width - (CHILD_SPACING + xthickness) * 2 -
++ child_allocation.width = MAX (1, widget->allocation.width - (child_spacing + xthickness) * 2 -
+ border_width * 2);
+- child_allocation.height = MAX (1, widget->allocation.height - (CHILD_SPACING + ythickness) * 2 -
++ child_allocation.height = MAX (1, widget->allocation.height - (child_spacing + ythickness) * 2 -
+ border_width * 2);
+
++#ifdef OSSO_FONT_HACK
++ {
++ gint child_offset_y;
++
++ gtk_widget_style_get (widget, "child_offset_y", &child_offset_y, NULL);
++
++ if( GTK_IS_LABEL(GTK_BIN (button)->child) )
++ {
++ child_allocation.y += child_offset_y;
++ }
++ }
++#endif
++
+ if (GTK_WIDGET_CAN_DEFAULT (button))
+ {
+ child_allocation.x += default_border.left;
+@@ -1066,7 +1267,14 @@
+ gboolean interior_focus;
+ gint focus_width;
+ gint focus_pad;
+-
++ gint separator_height;
++ gboolean listboxheader;
++ GtkButtonPrivate *priv;
++
++ g_return_if_fail (GTK_IS_BUTTON (button));
++
++ priv = GTK_BUTTON_GET_PRIVATE (button);
++
+ if (GTK_WIDGET_DRAWABLE (button))
+ {
+ widget = GTK_WIDGET (button);
+@@ -1076,6 +1284,8 @@
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
++ "listboxheader", &listboxheader,
++ "separator-height", &separator_height,
+ NULL);
+
+ x = widget->allocation.x + border_width;
+@@ -1083,13 +1293,55 @@
+ width = widget->allocation.width - border_width * 2;
+ height = widget->allocation.height - border_width * 2;
+
++ if (listboxheader)
++ {
++ /* this changes everything! */
++ PangoLayout *layout;
++ int layout_height;
++
++ /* construct layout - see get_layout in gtkcellrenderertext.c */
++ layout = gtk_widget_create_pango_layout (widget, /* use parent treeview instead? */
++ button->label_text);
++ pango_layout_set_width (layout, -1);
++ pango_layout_get_pixel_size (layout, NULL, &layout_height);
++
++ /* render text */
++ gtk_paint_layout (widget->style,
++ widget->window,
++ GTK_STATE_NORMAL,
++ TRUE,
++ area,
++ widget,
++ "listboxheader",
++ x,
++ y,
++ layout);
++
++ g_object_unref (layout);
++
++ /* draw separator */
++ gtk_paint_hline (widget->style,
++ widget->window,
++ GTK_STATE_NORMAL,
++ area,
++ widget,
++ "listboxseparator",
++ area->x - focus_width - focus_pad,
++ area->x + area->width + focus_width + focus_pad,
++ layout_height + separator_height * 2);
++ return;
++ }
++
+ if (GTK_WIDGET_HAS_DEFAULT (widget) &&
+ GTK_BUTTON (widget)->relief == GTK_RELIEF_NORMAL)
+ {
+- gtk_paint_box (widget->style, widget->window,
++ /* This comment is here because it's part of the
++ * normal GtkButton
++ */
++ /* gtk_paint_box (widget->style, widget->window,
+ GTK_STATE_NORMAL, GTK_SHADOW_IN,
+ area, widget, "buttondefault",
+- x, y, width, height);
++ x, y, width, height); */
+
+ x += default_border.left;
+ y += default_border.top;
+@@ -1116,7 +1368,7 @@
+ GTK_WIDGET_STATE(widget) == GTK_STATE_PRELIGHT)
+ gtk_paint_box (widget->style, widget->window,
+ state_type,
+- shadow_type, area, widget, "button",
++ shadow_type, area, widget, priv->detail,
+ x, y, width, height);
+
+ if (GTK_WIDGET_HAS_FOCUS (widget))
+@@ -1151,10 +1403,14 @@
+ x += child_displacement_x;
+ y += child_displacement_y;
+ }
+-
++ /* Comment exists, because it is part of normal GtkButton
+ gtk_paint_focus (widget->style, widget->window, GTK_WIDGET_STATE (widget),
+ area, widget, "button",
+ x, y, width, height);
++ */
++ gtk_paint_focus (widget->style, widget->window, GTK_WIDGET_STATE (widget),
++ area, widget, priv->detail,
++ x, y, width, height);
+ }
+ }
+ }
+@@ -1786,5 +2042,13 @@
+
+ return priv->image;
+ }
+-
+-
++void osso_gtk_button_set_detail_from_attach_flags (GtkButton *button,OssoGtkButtonAttachFlags flags)
++{
++ g_return_if_fail (GTK_IS_BUTTON (button));
++ g_object_set (G_OBJECT (button),
++ "automatic_detail",
++ FALSE,
++ "detail",
++ osso_gtk_button_attach_details[flags],
++ NULL);
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkbutton.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkbutton.h.diff
new file mode 100644
index 0000000000..4c233f905b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkbutton.h.diff
@@ -0,0 +1,23 @@
+--- gtk+-2.6.4/gtk/gtkbutton.h 2004-11-15 22:56:28.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkbutton.h 2005-04-06 16:19:36.264025392 +0300
+@@ -134,6 +134,20 @@
+ const gchar *main_detail,
+ const gchar *default_detail);
+
++/* Osso addition : Button attach flags */
++typedef enum {
++ OSSO_GTK_BUTTON_ATTACH_NORTH = 1 << 0,
++ OSSO_GTK_BUTTON_ATTACH_EAST = 1 << 1,
++ OSSO_GTK_BUTTON_ATTACH_SOUTH = 1 << 2,
++ OSSO_GTK_BUTTON_ATTACH_WEST = 1 << 3,
++ OSSO_GTK_BUTTON_ATTACH_ENUM_END = 1 << 4
++} OssoGtkButtonAttachFlags;
++
++extern const gchar *osso_gtk_button_attach_details [OSSO_GTK_BUTTON_ATTACH_ENUM_END];
++
++void osso_gtk_button_set_detail_from_attach_flags (GtkButton *button,
++ OssoGtkButtonAttachFlags flags);
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcalendar.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcalendar.c.diff
new file mode 100644
index 0000000000..e32c05452d
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcalendar.c.diff
@@ -0,0 +1,2464 @@
+--- gtk+-2.6.4/gtk/gtkcalendar.c 2004-11-12 19:51:58.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkcalendar.c 2005-04-06 16:19:36.267024936 +0300
+@@ -169,14 +169,23 @@
+
+ /*** END OF lib_date routines ********************************************/
+
++/* HILDON: Spacings modified */
++
++#define HILDON_ARROW_WIDTH 20
++#define HILDON_ARROW_HEIGHT 27
++#define HILDON_ARROW_SEP 5 /* Space between arrows and data */
++
++#define HILDON_DAY_WIDTH 26
++#define HILDON_DAY_HEIGHT 25
++
+ /* Spacing around day/week headers and main area, inside those windows */
+ #define CALENDAR_MARGIN 0
+ /* Spacing around day/week headers and main area, outside those windows */
+-#define INNER_BORDER 4
++#define INNER_BORDER 0 /* 4 */
+ /* Separation between day headers and main area */
+-#define CALENDAR_YSEP 4
++#define CALENDAR_YSEP 3 /* 4 */
+ /* Separation between week headers and main area */
+-#define CALENDAR_XSEP 4
++#define CALENDAR_XSEP 6 /* 4 */
+
+ #define DAY_XSEP 0 /* not really good for small calendar */
+ #define DAY_YSEP 0 /* not really good for small calendar */
+@@ -193,6 +202,10 @@
+ #define BACKGROUND_COLOR(widget) (& (widget)->style->base[GTK_WIDGET_STATE (widget)])
+ #define HIGHLIGHT_BACK_COLOR(widget) (& (widget)->style->mid[GTK_WIDGET_STATE (widget)])
+
++/* Default Min/Max years for hildon calendar */
++#define HILDON_MIN_YEAR 0
++#define HILDON_MAX_YEAR 2999
++
+ enum {
+ ARROW_YEAR_LEFT,
+ ARROW_YEAR_RIGHT,
+@@ -214,6 +227,8 @@
+ NEXT_MONTH_SIGNAL,
+ PREV_YEAR_SIGNAL,
+ NEXT_YEAR_SIGNAL,
++ ERRONEOUS_DATE_SIGNAL,
++ SELECTED_DATE_SIGNAL,
+ LAST_SIGNAL
+ };
+
+@@ -238,16 +253,19 @@
+ struct _GtkCalendarPrivateData
+ {
+ GdkWindow *header_win;
++ GdkWindow *footer_win; /* HILDON: Added below calendar */
+ GdkWindow *day_name_win;
+ GdkWindow *main_win;
+ GdkWindow *week_win;
+ GdkWindow *arrow_win[4];
+
++ gint year_before;
+ guint header_h;
+ guint day_name_h;
+ guint main_h;
+
+ guint arrow_state[4];
++ /* guint arrow_width; This is now defined constant. Even normal Gtk don't allow to change this */
+ guint arrow_width;
+ guint max_month_width;
+ guint max_year_width;
+@@ -271,7 +289,7 @@
+ guint dirty_main : 1;
+ guint dirty_week : 1;
+
+- guint year_before : 1;
++/* guint year_before : 1;*/
+
+ guint need_timer : 1;
+
+@@ -281,6 +299,27 @@
+ guint32 timer;
+ gint click_child;
+
++ /* Following variables are for current date */
++ guint current_day;
++ guint current_month;
++ guint current_year;
++
++ /* Keep track of day and month
++ * where mouse button was pressed
++ */
++ guint pressed_day;
++ guint pressed_month;
++
++ /* Boolean value to indicate if
++ * out of bound day was selected
++ */
++ gboolean is_bad_day;
++
++ /* Must check if we are sliding stylus */
++ gboolean slide_stylus;
++ gint prev_row;
++ gint prev_col;
++
+ gint week_start;
+
+ gint drag_start_x;
+@@ -336,6 +375,8 @@
+ static void gtk_calendar_style_set (GtkWidget *widget,
+ GtkStyle *previous_style);
+ static void gtk_calendar_paint_header (GtkWidget *widget);
++static void gtk_calendar_paint_footer (GtkWidget *widget);
++
+ static void gtk_calendar_paint_day_names (GtkWidget *widget);
+ static void gtk_calendar_paint_week_numbers (GtkWidget *widget);
+ static void gtk_calendar_paint_main (GtkWidget *widget);
+@@ -381,7 +422,13 @@
+ gint x,
+ gint y,
+ guint time);
+-
++
++/* This function was added because we need to mark current day according to
++ * specifications
++ */
++static void
++gtk_calendar_check_current_date (GtkCalendar *calendar, gint x, gint y);
++
+ static char *default_abbreviated_dayname[7];
+ static char *default_monthname[12];
+
+@@ -461,6 +508,8 @@
+ class->next_month = NULL;
+ class->prev_year = NULL;
+ class->next_year = NULL;
++ class->erroneous_date = NULL;
++ class->selected_date = NULL;
+
+ g_object_class_install_property (gobject_class,
+ PROP_YEAR,
+@@ -543,6 +592,31 @@
+ FALSE,
+ G_PARAM_READWRITE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("min-year",
++ P_("Minimum year for calendar"),
++ P_("Set minimum year calendar accepts"),
++ 0,
++ G_MAXINT,
++ HILDON_MIN_YEAR,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("max-year",
++ P_("Maximum year for calendar"),
++ P_("Set max year that calendar accepts"),
++ 0,
++ G_MAXINT,
++ HILDON_MAX_YEAR,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("hildonlike",
++ _("Size request"),
++ _("Size allocate"),
++ FALSE,
++ G_PARAM_READABLE));
++
+ gtk_calendar_signals[MONTH_CHANGED_SIGNAL] =
+ g_signal_new ("month_changed",
+ G_OBJECT_CLASS_TYPE (gobject_class),
+@@ -599,6 +673,22 @@
+ NULL, NULL,
+ _gtk_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
++ gtk_calendar_signals[ERRONEOUS_DATE_SIGNAL] =
++ g_signal_new ("erroneous_date",
++ G_OBJECT_CLASS_TYPE(gobject_class),
++ G_SIGNAL_RUN_FIRST,
++ G_STRUCT_OFFSET (GtkCalendarClass, erroneous_date),
++ NULL, NULL,
++ _gtk_marshal_VOID__VOID,
++ G_TYPE_NONE, 0);
++ gtk_calendar_signals[SELECTED_DATE_SIGNAL] =
++ g_signal_new ("selected_date",
++ G_OBJECT_CLASS_TYPE(gobject_class),
++ G_SIGNAL_RUN_FIRST,
++ G_STRUCT_OFFSET (GtkCalendarClass, selected_date),
++ NULL, NULL,
++ _gtk_marshal_VOID__VOID,
++ G_TYPE_NONE, 0);
+ }
+
+ static void
+@@ -611,8 +701,10 @@
+ time_t tmp_time;
+ GtkWidget *widget;
+ GtkCalendarPrivateData *private_data;
+- gchar *year_before;
++/* gchar *year_before;*/
+ gchar *week_start;
++/* gint row;
++ gint col; */
+
+ widget = GTK_WIDGET (calendar);
+ GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
+@@ -645,16 +737,29 @@
+ for (i=0;i<31;i++)
+ calendar->marked_date[i] = FALSE;
+ calendar->num_marked_dates = 0;
+- calendar->selected_day = tm->tm_mday;
+-
++ calendar->selected_day = tm->tm_mday;
++
+ calendar->display_flags = ( GTK_CALENDAR_SHOW_HEADING |
+ GTK_CALENDAR_SHOW_DAY_NAMES );
+
++ /* Hildon: we should mark current day and we need to store current date */
++ private_data->current_day = tm->tm_mday;
++ private_data->current_month = tm->tm_mon;
++ private_data->current_year = tm->tm_year + 1900;
++
++ /* Hildon: following lines are for stylus sliding */
++ private_data->slide_stylus = FALSE;
++ private_data->prev_row = -1;
++ private_data->prev_col = -1;
++
++ /* Hildon: is_bad_day indicate if day was selected out of legal range */
++ private_data->is_bad_day = FALSE;
++
+ calendar->highlight_row = -1;
+- calendar->highlight_col = -1;
++ calendar->highlight_col = -1;
+
+ calendar->focus_row = -1;
+- calendar->focus_col = -1;
++ calendar->focus_col = -1;
+ calendar->xor_gc = NULL;
+
+ private_data->max_year_width = 0;
+@@ -667,7 +772,7 @@
+ private_data->max_label_char_ascent = 0;
+ private_data->max_label_char_descent = 0;
+
+- private_data->arrow_width = 10;
++/* private_data->arrow_width = 10;*/
+
+ private_data->freeze_count = 0;
+
+@@ -686,6 +791,7 @@
+ gtk_drag_dest_set (widget, 0, NULL, 0, GDK_ACTION_COPY);
+ gtk_drag_dest_add_text_targets (widget);
+
++#if 0
+ private_data->year_before = 0;
+
+ /* Translate to calendar:YM if you want years to be displayed
+@@ -702,11 +808,13 @@
+ private_data->year_before = 1;
+ else if (strcmp (year_before, "calendar:MY") != 0)
+ g_warning ("Whoever translated calendar:MY did so wrongly.\n");
++#endif
+
+ /* Translate to calendar:week_start:0 if you want Sunday to be the
+ * first day of the week to calendar:week_start:1 if you want Monday
+ * to be the first day of the week, and so on.
+ */
++
+ week_start = _("calendar:week_start:0");
+
+ if (strncmp (week_start, "calendar:week_start:", 20) == 0)
+@@ -752,7 +860,7 @@
+
+ return column;
+ }
+-
++#if 0
+ static gint
+ row_height (GtkCalendar *calendar)
+ {
+@@ -760,7 +868,7 @@
+ - ((calendar->display_flags & GTK_CALENDAR_SHOW_DAY_NAMES)
+ ? CALENDAR_YSEP : CALENDAR_MARGIN)) / 6;
+ }
+-
++#endif
+
+ /* row_from_y: returns the row 0-5 that the
+ * y pixel of the xwindow is in */
+@@ -769,16 +877,15 @@
+ gint event_y)
+ {
+ gint r, row;
+- gint height;
++ /*gint height;*/
+ gint y_top, y_bottom;
+
+- height = row_height (calendar);
+ row = -1;
+
+ for (r = 0; r < 6; r++)
+ {
+ y_top = top_y_for_row (calendar, r);
+- y_bottom = y_top + height;
++ y_bottom = y_top + HILDON_DAY_HEIGHT /*height*/;
+
+ if (event_y >= y_top && event_y < y_bottom)
+ {
+@@ -796,16 +903,16 @@
+ {
+ gint width;
+ gint x_left;
+-
++
+ if (gtk_widget_get_direction (GTK_WIDGET (calendar)) == GTK_TEXT_DIR_RTL)
+ column = 6 - column;
+-
++
+ width = GTK_CALENDAR_PRIVATE_DATA (calendar)->day_width;
+ if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
+ x_left = CALENDAR_XSEP + (width + DAY_XSEP) * column;
+ else
+ x_left = CALENDAR_MARGIN + (width + DAY_XSEP) * column;
+-
++
+ return x_left;
+ }
+
+@@ -818,25 +925,41 @@
+
+ return (GTK_CALENDAR_PRIVATE_DATA (calendar)->main_h
+ - (CALENDAR_MARGIN + (6 - row)
+- * row_height (calendar)));
++ * HILDON_DAY_HEIGHT));
+ }
+
+ static void
+ gtk_calendar_set_month_prev (GtkCalendar *calendar)
+ {
+ gint month_len;
+-
++ gint min_year;
++ gboolean hildonlike;
++
++ gtk_widget_style_get (GTK_WIDGET (calendar), "hildonlike", &hildonlike,
++ "min-year", &min_year, NULL);
++
+ if (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
+ return;
+
+ if (calendar->month == 0)
+- {
+- calendar->month = 11;
+- calendar->year--;
+- }
+- else
+- calendar->month--;
+-
++ {
++ if (hildonlike)
++ {
++ if (calendar->year > min_year)
++ {
++ calendar->month = 11;
++ calendar->year--;
++ }
++ }
++ else
++ {
++ calendar->month = 11;
++ calendar->year--;
++ }
++ }
++ else
++ calendar->month--;
++
+ month_len = month_length[leap (calendar->year)][calendar->month + 1];
+
+ gtk_calendar_freeze (calendar);
+@@ -870,17 +993,32 @@
+ gtk_calendar_set_month_next (GtkCalendar *calendar)
+ {
+ gint month_len;
++ gint max_year;
++ gboolean hildonlike;
+
+ g_return_if_fail (GTK_IS_WIDGET (calendar));
+
++ gtk_widget_style_get (GTK_WIDGET (calendar), "hildonlike", &hildonlike,
++ "max-year", &max_year, NULL);
++
+ if (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
+ return;
+
+-
+ if (calendar->month == 11)
+ {
+- calendar->month = 0;
+- calendar->year++;
++ if (hildonlike)
++ {
++ if (calendar->year < max_year)
++ {
++ calendar->month = 0;
++ calendar->year++;
++ }
++ }
++ else
++ {
++ calendar->month = 0;
++ calendar->year++;
++ }
+ }
+ else
+ calendar->month++;
+@@ -912,10 +1050,22 @@
+ gtk_calendar_set_year_prev (GtkCalendar *calendar)
+ {
+ gint month_len;
+-
++ gint min_year;
++ gboolean hildonlike;
++
+ g_return_if_fail (GTK_IS_WIDGET (calendar));
+
+- calendar->year--;
++ gtk_widget_style_get (GTK_WIDGET (calendar), "hildonlike", &hildonlike,
++ "min-year", &min_year, NULL);
++
++ if (hildonlike)
++ {
++ if (calendar->year > min_year)
++ calendar->year--;
++ }
++ else
++ calendar->year--;
++
+ gtk_calendar_freeze (calendar);
+ gtk_calendar_compute_days (calendar);
+ g_signal_emit (calendar,
+@@ -944,14 +1094,26 @@
+ {
+ gint month_len;
+ GtkWidget *widget;
++ gint max_year;
++ gboolean hildonlike;
+
+ g_return_if_fail (GTK_IS_WIDGET (calendar));
+
+ widget = GTK_WIDGET (calendar);
++
++ gtk_widget_style_get(widget, "hildonlike", &hildonlike,
++ "max-year", &max_year, NULL);
+
+ gtk_calendar_freeze (calendar);
+
+- calendar->year++;
++ if (hildonlike)
++ {
++ if (calendar->year < max_year)
++ calendar->year++;
++ }
++ else
++ calendar->year++;
++
+ gtk_calendar_compute_days (calendar);
+ g_signal_emit (calendar,
+ gtk_calendar_signals[NEXT_YEAR_SIGNAL],
+@@ -969,7 +1131,6 @@
+ }
+ else
+ gtk_calendar_select_day (calendar, calendar->selected_day);
+-
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+ }
+@@ -984,6 +1145,8 @@
+ gint row, col;
+ gint day_month;
+ gint day;
++ gint max_year, min_year;
++ gboolean hildonlike;
+
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+@@ -997,20 +1160,36 @@
+ /* If row or column isn't found, just return. */
+ if (row == -1 || col == -1)
+ return;
+-
+- day_month = calendar->day_month[row][col];
+
+- if (event->type == GDK_BUTTON_PRESS)
++ gtk_widget_style_get (GTK_WIDGET (calendar), "hildonlike", &hildonlike,
++ "max-year", &max_year, "min-year", &min_year, NULL);
++ day_month = calendar->day_month[row][col];
++
++ if (hildonlike)
++ {
++ if ((calendar->year == min_year && calendar->month == 0 && day_month == MONTH_PREV)
++ || (calendar->year == max_year && calendar->month == 11 && day_month == MONTH_NEXT))
++ {
++ private_data->is_bad_day = TRUE;
++ g_signal_emit (calendar, gtk_calendar_signals[ERRONEOUS_DATE_SIGNAL], 0);
++ return;
++ }
++ }
++ if (event->type == (hildonlike ? GDK_BUTTON_RELEASE : GDK_BUTTON_PRESS))
+ {
+ day = calendar->day[row][col];
+
+ if (day_month == MONTH_PREV)
+- gtk_calendar_set_month_prev (calendar);
++ {
++ gtk_calendar_set_month_prev (calendar);
++ }
+ else if (day_month == MONTH_NEXT)
+- gtk_calendar_set_month_next (calendar);
++ {
++ gtk_calendar_set_month_next (calendar);
++ }
+
+ if (!GTK_WIDGET_HAS_FOCUS (widget))
+- gtk_widget_grab_focus (widget);
++ gtk_widget_grab_focus (widget);
+
+ if (event->button == 1)
+ {
+@@ -1025,9 +1204,8 @@
+ {
+ private_data->in_drag = 0;
+ if (day_month == MONTH_CURRENT)
+- g_signal_emit (calendar,
+- gtk_calendar_signals[DAY_SELECTED_DOUBLE_CLICK_SIGNAL],
+- 0);
++ g_signal_emit (calendar,
++ gtk_calendar_signals[DAY_SELECTED_DOUBLE_CLICK_SIGNAL], 0);
+ }
+ }
+
+@@ -1039,18 +1217,18 @@
+ GdkWindowAttr attributes;
+ gint attributes_mask;
+ gint i;
+- gboolean year_left;
++ /*gboolean year_left;*/
+
+ g_return_if_fail (GTK_IS_CALENDAR (widget));
+
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+-
++/*
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
+ year_left = private_data->year_before;
+ else
+ year_left = !private_data->year_before;
+-
++*/
+ /* Arrow windows ------------------------------------- */
+ if (! (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
+ && (calendar->display_flags & GTK_CALENDAR_SHOW_HEADING))
+@@ -1063,10 +1241,26 @@
+ | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK);
+ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+- attributes.y = 3;
+- attributes.width = private_data->arrow_width;
+- attributes.height = private_data->header_h - 7;
+- for (i = 0; i < 4; i++)
++ attributes.y = 0;
++ attributes.width = HILDON_ARROW_WIDTH;
++ attributes.height = HILDON_ARROW_HEIGHT;
++
++ attributes.x = (widget->allocation.width - private_data->max_year_width) / 2 - HILDON_ARROW_WIDTH - HILDON_ARROW_SEP;
++ private_data->arrow_win[ARROW_YEAR_LEFT] = gdk_window_new (private_data->header_win,
++ &attributes, attributes_mask);
++
++ attributes.x = (widget->allocation.width + private_data->max_year_width) / 2 + HILDON_ARROW_SEP;
++ private_data->arrow_win[ARROW_YEAR_RIGHT] = gdk_window_new (private_data->header_win,
++ &attributes, attributes_mask);
++ attributes.x = (widget->allocation.width - private_data->max_month_width) / 2 - HILDON_ARROW_WIDTH - HILDON_ARROW_SEP;
++ private_data->arrow_win[ARROW_MONTH_LEFT] = gdk_window_new (private_data->footer_win,
++ &attributes, attributes_mask);
++ attributes.x = (widget->allocation.width + private_data->max_month_width) / 2 + HILDON_ARROW_SEP;
++ private_data->arrow_win[ARROW_MONTH_RIGHT] = gdk_window_new (private_data->footer_win,
++ &attributes, attributes_mask);
++
++/*
++for (i = 0; i < 4; i++)
+ {
+ switch (i)
+ {
+@@ -1105,7 +1299,10 @@
+ }
+ private_data->arrow_win[i] = gdk_window_new (private_data->header_win,
+ &attributes,
+- attributes_mask);
++ attributes_mask);*/
++
++ for (i = 0; i < 4; i++)
++ {
+ if (GTK_WIDGET_IS_SENSITIVE (widget))
+ private_data->arrow_state[i] = GTK_STATE_NORMAL;
+ else
+@@ -1145,23 +1342,33 @@
+ attributes.colormap = gtk_widget_get_colormap (widget);
+ attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK;
+ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+- attributes.x = widget->style->xthickness;
+- attributes.y = widget->style->ythickness;
+- attributes.width = widget->allocation.width - 2 * attributes.x;
+- attributes.height = private_data->header_h - 2 * attributes.y;
++ attributes.x = 0 /*widget->style->xthickness*/;
++ attributes.y = 0 /*widget->style->ythickness*/;
++ attributes.width = widget->allocation.width; /* - 2 * attributes.x */;
++ attributes.height = HILDON_ARROW_HEIGHT /*private_data->header_h - 2 * attributes.y*/;
+ private_data->header_win = gdk_window_new (widget->window,
+ &attributes, attributes_mask);
+-
++
++ attributes.y = HILDON_ARROW_HEIGHT + 2 * CALENDAR_YSEP + private_data->main_h + private_data->day_name_h;
++
++ private_data->footer_win = gdk_window_new(widget->window,
++ &attributes, attributes_mask);
++
+ gdk_window_set_background (private_data->header_win,
+- HEADER_BG_COLOR (GTK_WIDGET (calendar)));
++ HEADER_BG_COLOR (widget));
++ gdk_window_set_background (private_data->footer_win,
++ HEADER_BG_COLOR (widget));
++
+ gdk_window_show (private_data->header_win);
++ gdk_window_show (private_data->footer_win);
+ gdk_window_set_user_data (private_data->header_win, widget);
+-
++ gdk_window_set_user_data (private_data->footer_win, widget);
+ }
+ else
+ {
+ private_data->header_win = NULL;
+- }
++ private_data->footer_win = NULL;
++ }
+ gtk_calendar_realize_arrows (widget);
+ }
+
+@@ -1172,7 +1379,7 @@
+ GtkCalendarPrivateData *private_data;
+ GdkWindowAttr attributes;
+ gint attributes_mask;
+-
++
+ g_return_if_fail (GTK_IS_CALENDAR (widget));
+
+ calendar = GTK_CALENDAR (widget);
+@@ -1187,18 +1394,16 @@
+ attributes.colormap = gtk_widget_get_colormap (widget);
+ attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK;
+ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+- attributes.x = (widget->style->xthickness + INNER_BORDER);
+- attributes.y = private_data->header_h + (widget->style->ythickness
+- + INNER_BORDER);
+- attributes.width = (widget->allocation.width
+- - (widget->style->xthickness + INNER_BORDER)
+- * 2);
++ attributes.x = /*private_data->week_width*/ (widget->style->xthickness + INNER_BORDER);
++ attributes.y = private_data->header_h;
++ attributes.width = widget->allocation.width - attributes.x;
+ attributes.height = private_data->day_name_h;
+ private_data->day_name_win = gdk_window_new (widget->window,
+ &attributes,
+ attributes_mask);
+ gdk_window_set_background (private_data->day_name_win,
+- BACKGROUND_COLOR ( GTK_WIDGET ( calendar)));
++ BACKGROUND_COLOR ( GTK_WIDGET (calendar)));
++
+ gdk_window_show (private_data->day_name_win);
+ gdk_window_set_user_data (private_data->day_name_win, widget);
+ }
+@@ -1215,7 +1420,7 @@
+ GtkCalendarPrivateData *private_data;
+ GdkWindowAttr attributes;
+ gint attributes_mask;
+-
++
+ g_return_if_fail (GTK_IS_CALENDAR (widget));
+
+ calendar = GTK_CALENDAR (widget);
+@@ -1231,15 +1436,15 @@
+ attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK;
+
+ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+- attributes.x = widget->style->xthickness + INNER_BORDER;
+- attributes.y = (private_data->header_h + private_data->day_name_h
+- + (widget->style->ythickness + INNER_BORDER));
+- attributes.width = private_data->week_width;
+- attributes.height = private_data->main_h;
++ attributes.x = 0 /*widget->style->xthickness + INNER_BORDER*/;
++ attributes.y = private_data->header_h;
++ /*+ (widget->style->ythickness + INNER_BORDER))*/;
++ attributes.width = HILDON_DAY_WIDTH;
++ attributes.height = private_data->main_h + private_data->day_name_h;
+ private_data->week_win = gdk_window_new (widget->window,
+- &attributes, attributes_mask);
++ &attributes, attributes_mask);
+ gdk_window_set_background (private_data->week_win,
+- BACKGROUND_COLOR (GTK_WIDGET (calendar)));
++ BACKGROUND_COLOR (GTK_WIDGET (calendar)));
+ gdk_window_show (private_data->week_win);
+ gdk_window_set_user_data (private_data->week_win, widget);
+ }
+@@ -1318,7 +1523,6 @@
+ GDK_GC_FOREGROUND |
+ GDK_GC_FUNCTION);
+ }
+-
+ static void
+ gtk_calendar_unrealize (GtkWidget *widget)
+ {
+@@ -1343,7 +1547,10 @@
+ gdk_window_set_user_data (private_data->header_win, NULL);
+ gdk_window_destroy (private_data->header_win);
+ private_data->header_win = NULL;
+- }
++ gdk_window_set_user_data (private_data->footer_win, NULL);
++ gdk_window_destroy (private_data->footer_win);
++ private_data->footer_win = NULL;
++ }
+
+ if (private_data->week_win)
+ {
+@@ -1382,10 +1589,10 @@
+ PangoLayout *layout;
+ PangoRectangle logical_rect;
+
+- gint height;
++ /*gint height;*/
+ gint i;
+ gchar buffer[255];
+- gint calendar_margin = CALENDAR_MARGIN;
++ /*gint calendar_margin = CALENDAR_MARGIN;*/
+ gint header_width, main_width;
+ gint max_header_height = 0;
+ gint focus_width;
+@@ -1401,20 +1608,20 @@
+ layout = gtk_widget_create_pango_layout (widget, NULL);
+
+ /*
+- * Calculate the requisition width for the widget.
++ * Calculate the requisition width for the widget.
+ */
+
+ /* Header width */
+-
++
+ if (calendar->display_flags & GTK_CALENDAR_SHOW_HEADING)
+- {
++ {
+ private_data->max_month_width = 0;
+ for (i = 0; i < 12; i++)
+ {
+ pango_layout_set_text (layout, default_monthname[i], -1);
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+ private_data->max_month_width = MAX (private_data->max_month_width,
+- logical_rect.width + 8);
++ logical_rect.width +8 );
+ max_header_height = MAX (max_header_height, logical_rect.height);
+ }
+ private_data->max_year_width = 0;
+@@ -1427,13 +1634,13 @@
+ logical_rect.width + 8);
+ max_header_height = MAX (max_header_height, logical_rect.height);
+ }
+- }
++ }
+ else
+ {
+ private_data->max_month_width = 0;
+ private_data->max_year_width = 0;
+ }
+-
++
+ if (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
+ header_width = (private_data->max_month_width
+ + private_data->max_year_width
+@@ -1494,45 +1701,30 @@
+ + (private_data->max_week_char_width
+ ? private_data->max_week_char_width * 2 + (focus_padding + focus_width) * 2 + CALENDAR_XSEP * 2
+ : 0));
+-
+-
++
+ requisition->width = MAX (header_width, main_width + INNER_BORDER * 2) + widget->style->xthickness * 2;
++ /* FIXME: header_width is broken, when Calendar is themed !
++ * Next line is workaround for this bug
++ */
++ requisition->width = (main_width + INNER_BORDER * 2) + widget->style->xthickness * 2;
+
+ /*
+ * Calculate the requisition height for the widget.
++ * This is Hildon calculation
+ */
+-
++
+ if (calendar->display_flags & GTK_CALENDAR_SHOW_HEADING)
+- {
+- private_data->header_h = (max_header_height + CALENDAR_YSEP * 2);
+- }
++ private_data->header_h = HILDON_ARROW_HEIGHT + CALENDAR_YSEP;
+ else
+- {
+ private_data->header_h = 0;
+- }
+-
++
+ if (calendar->display_flags & GTK_CALENDAR_SHOW_DAY_NAMES)
+- {
+- private_data->day_name_h = (private_data->max_label_char_ascent
+- + private_data->max_label_char_descent
+- + 2 * (focus_padding + focus_width) + calendar_margin);
+- calendar_margin = CALENDAR_YSEP;
+- }
++ private_data->day_name_h = HILDON_DAY_HEIGHT;
+ else
+- {
+ private_data->day_name_h = 0;
+- }
+
+- private_data->main_h = (CALENDAR_MARGIN + calendar_margin
+- + 6 * (private_data->max_day_char_ascent
+- + private_data->max_day_char_descent
+- + 2 * (focus_padding + focus_width))
+- + DAY_YSEP * 5);
+-
+- height = (private_data->header_h + private_data->day_name_h
+- + private_data->main_h);
+-
+- requisition->height = height + (widget->style->ythickness + INNER_BORDER) * 2;
++ private_data->main_h = 6 * HILDON_DAY_HEIGHT;
++ requisition->height = 2 * private_data->header_h + private_data->day_name_h + private_data->main_h;
+
+ g_object_unref (layout);
+ }
+@@ -1544,7 +1736,7 @@
+ GtkCalendar *calendar;
+ GtkCalendarPrivateData *private_data;
+ gint xthickness = widget->style->xthickness;
+- gint ythickness = widget->style->xthickness;
++ /*gint ythickness = widget->style->xthickness;*/
+ gboolean year_left;
+
+ widget->allocation = *allocation;
+@@ -1569,58 +1761,24 @@
+ }
+ else
+ {
+- private_data->day_width = (allocation->width
++ private_data->day_width = (allocation->width
+ - (xthickness + INNER_BORDER) * 2
+ - (CALENDAR_MARGIN * 2)
+ - (DAY_XSEP * 6))/7;
+ private_data->week_width = 0;
+ }
+-
++
+ if (GTK_WIDGET_REALIZED (widget))
+ {
+ gdk_window_move_resize (widget->window,
+- allocation->x, allocation->y,
+- allocation->width, allocation->height);
++ widget->allocation.x, widget->allocation.y,
++ widget->allocation.width, widget->allocation.height);
+ if (private_data->header_win)
+ gdk_window_move_resize (private_data->header_win,
+- xthickness, ythickness,
+- allocation->width - 2 * xthickness, private_data->header_h);
+- if (private_data->arrow_win[ARROW_MONTH_LEFT])
+- {
+- if (year_left)
+- gdk_window_move_resize (private_data->arrow_win[ARROW_MONTH_LEFT],
+- (allocation->width - 2 * xthickness
+- - (3 + 2*private_data->arrow_width
+- + private_data->max_month_width)),
+- 3,
+- private_data->arrow_width,
+- private_data->header_h - 7);
+- else
+- gdk_window_move_resize (private_data->arrow_win[ARROW_MONTH_LEFT],
+- 3, 3,
+- private_data->arrow_width,
+- private_data->header_h - 7);
+- }
+- if (private_data->arrow_win[ARROW_MONTH_RIGHT])
+- {
+- if (year_left)
+- gdk_window_move_resize (private_data->arrow_win[ARROW_MONTH_RIGHT],
+- (allocation->width - 2 * xthickness
+- - 3 - private_data->arrow_width),
+- 3,
+- private_data->arrow_width,
+- private_data->header_h - 7);
+- else
+- gdk_window_move_resize (private_data->arrow_win[ARROW_MONTH_RIGHT],
+- (private_data->arrow_width
+- + private_data->max_month_width),
+- 3,
+- private_data->arrow_width,
+- private_data->header_h - 7);
+- }
++ 0, 0, widget->allocation.width, HILDON_ARROW_HEIGHT);
+ if (private_data->arrow_win[ARROW_YEAR_LEFT])
+ {
+- if (year_left)
++ /* if (year_left)
+ gdk_window_move_resize (private_data->arrow_win[ARROW_YEAR_LEFT],
+ 3, 3,
+ private_data->arrow_width,
+@@ -1632,11 +1790,14 @@
+ + private_data->max_year_width)),
+ 3,
+ private_data->arrow_width,
+- private_data->header_h - 7);
++ private_data->header_h - 7);*/
++
++ gdk_window_move (private_data->arrow_win[ARROW_YEAR_LEFT],
++ (widget->allocation.width - private_data->max_year_width) / 2 - HILDON_ARROW_WIDTH - HILDON_ARROW_SEP, 0);
+ }
+ if (private_data->arrow_win[ARROW_YEAR_RIGHT])
+ {
+- if (year_left)
++/* if (year_left)
+ gdk_window_move_resize (private_data->arrow_win[ARROW_YEAR_RIGHT],
+ (private_data->arrow_width
+ + private_data->max_year_width),
+@@ -1649,55 +1810,102 @@
+ - 3 - private_data->arrow_width),
+ 3,
+ private_data->arrow_width,
++ private_data->header_h - 7);*/
++ gdk_window_move (private_data->arrow_win[ARROW_YEAR_RIGHT],
++ (widget->allocation.width + private_data->max_year_width) / 2 + HILDON_ARROW_SEP, 0);
++ }
++ if (private_data->footer_win)
++ gdk_window_move_resize (private_data->footer_win,
++ 0, private_data->header_h + private_data->day_name_h + private_data->main_h + CALENDAR_YSEP,
++ widget->allocation.width, HILDON_ARROW_HEIGHT);
++
++ if (private_data->arrow_win[ARROW_MONTH_LEFT])
++ {
++/* if (year_left)
++ gdk_window_move_resize (private_data->arrow_win[ARROW_MONTH_LEFT],
++ (allocation->width - 2 * xthickness
++ - (3 + 2*private_data->arrow_width
++ + private_data->max_month_width)),
++ 3,
++ private_data->arrow_width,
+ private_data->header_h - 7);
++ else
++ gdk_window_move_resize (private_data->arrow_win[ARROW_MONTH_LEFT],
++ 3, 3,
++ private_data->arrow_width,
++ private_data->header_h - 7);
++*/
++
++ gdk_window_move (private_data->arrow_win[ARROW_MONTH_LEFT],
++ (widget->allocation.width - private_data->max_month_width) / 2 - HILDON_ARROW_WIDTH - HILDON_ARROW_SEP, 0);
++ }
++ if (private_data->arrow_win[ARROW_MONTH_RIGHT])
++ {
++/* if (year_left)
++ gdk_window_move_resize (private_data->arrow_win[ARROW_MONTH_RIGHT],
++ (allocation->width - 2 * xthickness
++ - 3 - private_data->arrow_width),
++ 3,
++ private_data->arrow_width,
++ private_data->header_h - 7);
++ else
++ gdk_window_move_resize (private_data->arrow_win[ARROW_MONTH_RIGHT],
++ (private_data->arrow_width
++ + private_data->max_month_width),
++ 3,
++ private_data->arrow_width,
++ private_data->header_h - 7);*/
++ gdk_window_move (private_data->arrow_win[ARROW_MONTH_RIGHT],
++ (widget->allocation.width + private_data->max_month_width) / 2 + HILDON_ARROW_SEP, 0);
+ }
++
++
+ if (private_data->day_name_win)
+ gdk_window_move_resize (private_data->day_name_win,
+- xthickness + INNER_BORDER,
+- private_data->header_h + (widget->style->ythickness + INNER_BORDER),
+- allocation->width - (xthickness + INNER_BORDER) * 2,
++ private_data->week_width, /*xthickness + INNER_BORDER*/
++ private_data->header_h /*+ (widget->style->ythickness + INNER_BORDER)*/,
++ widget->allocation.width - private_data->week_width /*- (xthickness + INNER_BORDER) * 2*/,
+ private_data->day_name_h);
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
+ {
+ if (private_data->week_win)
+ gdk_window_move_resize (private_data->week_win,
+- (xthickness + INNER_BORDER),
+- private_data->header_h + private_data->day_name_h
+- + (widget->style->ythickness + INNER_BORDER),
+- private_data->week_width,
+- private_data->main_h);
++ 0 /*(xthickness + INNER_BORDER)*/,
++ private_data->header_h /*+ (widget->style->ythickness + INNER_BORDER)*/,
++ HILDON_DAY_WIDTH,
++ private_data->main_h + private_data->day_name_h);
+ gdk_window_move_resize (private_data->main_win,
+- private_data->week_width + (xthickness + INNER_BORDER),
++ private_data->week_width /* + (xthickness + INNER_BORDER)*/,
+ private_data->header_h + private_data->day_name_h
+- + (widget->style->ythickness + INNER_BORDER),
+- allocation->width
+- - private_data->week_width
+- - (xthickness + INNER_BORDER) * 2,
++ /*+ (widget->style->ythickness + INNER_BORDER)*/,
++ widget->allocation.width - private_data->week_width
++ /*- (xthickness + INNER_BORDER) * 2*/,
+ private_data->main_h);
+ }
+ else
+ {
+ gdk_window_move_resize (private_data->main_win,
+- (xthickness + INNER_BORDER),
++ 0 /*(xthickness + INNER_BORDER)*/,
+ private_data->header_h + private_data->day_name_h
+- + (widget->style->ythickness + INNER_BORDER),
+- allocation->width
++ /*+ (widget->style->ythickness + INNER_BORDER)*/,
++ widget->allocation.width
+ - private_data->week_width
+- - (xthickness + INNER_BORDER) * 2,
++ /*- (xthickness + INNER_BORDER) * 2*/,
+ private_data->main_h);
+ if (private_data->week_win)
+ gdk_window_move_resize (private_data->week_win,
+- allocation->width
++ widget->allocation.width
+ - private_data->week_width
+- - (xthickness + INNER_BORDER),
++ /*- (xthickness + INNER_BORDER)*/,
+ private_data->header_h + private_data->day_name_h
+- + (widget->style->ythickness + INNER_BORDER),
++ /*+ (widget->style->ythickness + INNER_BORDER)*/,
+ private_data->week_width,
+ private_data->main_h);
+ }
+ }
+ }
+
++
+ static gboolean
+ gtk_calendar_expose (GtkWidget *widget,
+ GdkEventExpose *event)
+@@ -1711,22 +1919,24 @@
+ if (GTK_WIDGET_DRAWABLE (widget))
+ {
+ if (event->window == private_data->main_win)
+- gtk_calendar_paint_main (widget);
++ gtk_calendar_paint_main (widget);
+
+ if (event->window == private_data->header_win)
+- gtk_calendar_paint_header (widget);
+-
+- if (event->window == private_data->day_name_win)
+- gtk_calendar_paint_day_names (widget);
+-
+- if (event->window == private_data->week_win)
+- gtk_calendar_paint_week_numbers (widget);
+- if (event->window == widget->window)
++ gtk_calendar_paint_header (widget);
++ if (event->window == private_data->footer_win)
++ gtk_calendar_paint_footer(widget);
++
++ if (event->window == private_data->day_name_win)
++ gtk_calendar_paint_day_names (widget);
++
++ if (event->window == private_data->week_win)
++ gtk_calendar_paint_week_numbers (widget);
++/* if (event->window == widget->window)
+ {
+ gtk_paint_shadow (widget->style, widget->window, GTK_WIDGET_STATE (widget),
+ GTK_SHADOW_IN, NULL, widget, "calendar",
+ 0, 0, widget->allocation.width, widget->allocation.height);
+- }
++ }*/
+ }
+
+ return FALSE;
+@@ -1740,12 +1950,12 @@
+ char buffer[255];
+ int x, y;
+ gint header_width, cal_height;
+- gint max_month_width;
++/* gint max_month_width;*/
+ gint max_year_width;
+ GtkCalendarPrivateData *private_data;
+ PangoLayout *layout;
+ PangoRectangle logical_rect;
+- gboolean year_left;
++/* gboolean year_left;*/
+
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+@@ -1755,29 +1965,29 @@
+ private_data->dirty_header = 1;
+ return;
+ }
+-
++/*
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
+ year_left = private_data->year_before;
+ else
+ year_left = !private_data->year_before;
+-
++*/
+ private_data->dirty_header = 0;
+ gc = calendar->gc;
+
+ /* Clear window */
+ gdk_window_clear (private_data->header_win);
+
+- header_width = widget->allocation.width - 2 * widget->style->xthickness;
++ header_width = widget->allocation.width /*- 2 * widget->style->xthickness*/;
+ cal_height = widget->allocation.height;
+
+- max_month_width = private_data->max_month_width;
++ /*max_month_width = private_data->max_month_width;*/
+ max_year_width = private_data->max_year_width;
+
+- gdk_gc_set_foreground (gc, BACKGROUND_COLOR (GTK_WIDGET (calendar)));
+- gtk_paint_shadow (widget->style, private_data->header_win,
++/* gdk_gc_set_foreground (gc, BACKGROUND_COLOR (GTK_WIDGET (calendar)));*/
++ /*gtk_paint_shadow (widget->style, private_data->header_win,
+ GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+ NULL, widget, "calendar",
+- 0, 0, header_width, private_data->header_h);
++ 0, 0, header_width, private_data->header_h);*/
+
+
+ g_snprintf (buffer, sizeof (buffer), "%d", calendar->year);
+@@ -1785,55 +1995,118 @@
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+
+ /* Draw title */
+- y = (private_data->header_h - logical_rect.height) / 2;
+-
++ y = (HILDON_ARROW_HEIGHT /*private_data->header_h*/ - logical_rect.height) / 2;
++ x = (widget->allocation.width - logical_rect.width) / 2;
++
+ /* Draw year and its arrows */
+-
++#if 0
+ if (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
+- if (year_left)
+- x = 3 + (max_year_width - logical_rect.width)/2;
+- else
++/* if (year_left) */
++ x = /*3+*/(widget->allocation.width - logical_rect.width)/2;
++/* else
+ x = header_width - (3 + max_year_width
+- - (max_year_width - logical_rect.width)/2);
++ - (max_year_width - logical_rect.width)/2);*/
+ else
+- if (year_left)
+- x = 3 + private_data->arrow_width + (max_year_width - logical_rect.width)/2;
+- else
++/* if (year_left)*/
++ x = 3 + HILDON_ARROW_WIDTH /*private_data->arrow_width*/ + (max_year_width - logical_rect.width)/2;
++ /* else
+ x = header_width - (3 + private_data->arrow_width + max_year_width
+ - (max_year_width - logical_rect.width)/2);
++ */
++ #endif
++ gdk_gc_set_foreground (gc, HEADER_FG_COLOR (GTK_WIDGET (calendar)));
++ gdk_draw_layout (private_data->header_win, gc, x, y, layout);
++
++ gtk_calendar_paint_arrow (widget, ARROW_YEAR_LEFT);
++ gtk_calendar_paint_arrow (widget, ARROW_YEAR_RIGHT);
++
++ g_object_unref (layout);
++}
++
++static void
++gtk_calendar_paint_footer (GtkWidget *widget)
++{
++GtkCalendar *calendar;
++ GdkGC *gc;
++ char buffer[255];
++ int x, y;
++ gint header_width, cal_height;
++/* gint max_month_width;
++ gint max_year_width;*/
++ GtkCalendarPrivateData *private_data;
++ PangoLayout *layout;
++ PangoRectangle logical_rect;
++/* gboolean year_left;*/
++
++ calendar = GTK_CALENDAR (widget);
++ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
++
++ if (private_data->freeze_count)
++ {
++ private_data->dirty_header = 1;
++ return;
++ }
++/*
++ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR)
++ year_left = private_data->year_before;
++ else
++ year_left = !private_data->year_before;
++*/
++ private_data->dirty_header = 0;
++ gc = calendar->gc;
+
++ /* Clear window */
++ gdk_window_clear (private_data->footer_win);
++
++ header_width = widget->allocation.width - 2 * widget->style->xthickness;
++ cal_height = widget->allocation.height;
++
++ /*max_month_width = private_data->max_month_width;*/
++ /*max_year_width = private_data->max_year_width;*/
++
++ /*gdk_gc_set_foreground (gc, BACKGROUND_COLOR (GTK_WIDGET (calendar)));*/
++ /*gtk_paint_shadow (widget->style, private_data->footer_win,
++ GTK_STATE_NORMAL, GTK_SHADOW_OUT,
++ NULL, widget, "calendar",
++ 0, 0, header_width, private_data->header_h);*/
+
+- gdk_gc_set_foreground (gc, HEADER_FG_COLOR (GTK_WIDGET (calendar)));
+- gdk_draw_layout (private_data->header_win, gc, x, y, layout);
+
++ /*g_snprintf (buffer, sizeof (buffer), "%d", calendar->year);*/
++
++/* pango_layout_get_pixel_extents (layout, NULL, &logical_rect);*/
++
++ /* Draw title */
++
++
+ /* Draw month */
+ g_snprintf (buffer, sizeof (buffer), "%s", default_monthname[calendar->month]);
+- pango_layout_set_text (layout, buffer, -1);
++ layout = gtk_widget_create_pango_layout (widget, buffer);
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+-
++#if 0
+ if (calendar->display_flags & GTK_CALENDAR_NO_MONTH_CHANGE)
+- if (year_left)
++/* if (year_left)*/
+ x = header_width - (3 + max_month_width
+ - (max_month_width - logical_rect.width)/2);
+- else
+- x = 3 + (max_month_width - logical_rect.width) / 2;
++ /* else
++ x = 3 + (max_month_width - logical_rect.width) / 2;*/
+ else
+- if (year_left)
+- x = header_width - (3 + private_data->arrow_width + max_month_width
++/* if (year_left)*/
++ x = header_width - (3 + HILDON_ARROW_WIDTH /*private_data->arrow_width*/ + max_month_width
+ - (max_month_width - logical_rect.width)/2);
+- else
++/* else
+ x = 3 + private_data->arrow_width + (max_month_width - logical_rect.width)/2;
++*/
++#endif
++ x = (widget->allocation.width - logical_rect.width) / 2;
++ y = (HILDON_ARROW_HEIGHT - logical_rect.height) / 2;
++
++ gdk_gc_set_foreground (gc, HEADER_FG_COLOR(GTK_WIDGET (calendar)));
++ gdk_draw_layout (private_data->footer_win, gc, x, y, layout);
+
+- gdk_draw_layout (private_data->header_win, gc, x, y, layout);
+-
+- gdk_gc_set_foreground (gc, BACKGROUND_COLOR (GTK_WIDGET (calendar)));
+-
+ gtk_calendar_paint_arrow (widget, ARROW_MONTH_LEFT);
+ gtk_calendar_paint_arrow (widget, ARROW_MONTH_RIGHT);
+- gtk_calendar_paint_arrow (widget, ARROW_YEAR_LEFT);
+- gtk_calendar_paint_arrow (widget, ARROW_YEAR_RIGHT);
+
+- g_object_unref (layout);
++ g_object_unref(layout);
+ }
+
+ static void
+@@ -1851,15 +2124,17 @@
+ GtkCalendarPrivateData *private_data;
+ gint focus_padding;
+ gint focus_width;
++ gboolean hildonlike;
+
+ g_return_if_fail (GTK_IS_CALENDAR (widget));
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+ gc = calendar->gc;
+-
++
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_padding,
++ "hildonlike", &hildonlike,
+ NULL);
+ /*
+ * Handle freeze/thaw functionality
+@@ -1887,18 +2162,22 @@
+ * Draw rectangles as inverted background for the labels.
+ */
+
+- gdk_gc_set_foreground (gc, SELECTED_BG_COLOR (widget));
+- gdk_draw_rectangle (private_data->day_name_win, gc, TRUE,
+- CALENDAR_MARGIN, CALENDAR_MARGIN,
+- cal_width-CALENDAR_MARGIN * 2,
+- private_data->day_name_h - CALENDAR_MARGIN);
+-
+- if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
+- gdk_draw_rectangle (private_data->day_name_win, gc, TRUE,
+- CALENDAR_MARGIN,
+- private_data->day_name_h - CALENDAR_YSEP,
+- private_data->week_width - CALENDAR_YSEP - CALENDAR_MARGIN,
+- CALENDAR_YSEP);
++ /* Hildon: don't paint dayname window */
++ if (!hildonlike)
++ {
++ gdk_gc_set_foreground (gc, SELECTED_BG_COLOR (widget));
++ gdk_draw_rectangle (private_data->day_name_win, gc, TRUE,
++ CALENDAR_MARGIN, CALENDAR_MARGIN,
++ cal_width-CALENDAR_MARGIN * 2,
++ private_data->day_name_h - CALENDAR_MARGIN);
++
++ if (calendar->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS)
++ gdk_draw_rectangle (private_data->day_name_win, gc, TRUE,
++ CALENDAR_MARGIN,
++ private_data->day_name_h - CALENDAR_YSEP,
++ private_data->week_width - CALENDAR_YSEP - CALENDAR_MARGIN,
++ CALENDAR_YSEP);
++ }
+
+ /*
+ * Write the labels
+@@ -1908,28 +2187,43 @@
+
+ gdk_gc_set_foreground (gc, SELECTED_FG_COLOR (widget));
+ for (i = 0; i < 7; i++)
+- {
++ {
+ if (gtk_widget_get_direction (GTK_WIDGET (calendar)) == GTK_TEXT_DIR_RTL)
+- day = 6 - i;
++ day = 6 - i;
+ else
+- day = i;
+- day = (day + private_data->week_start) % 7;
+- g_snprintf (buffer, sizeof (buffer), "%s", default_abbreviated_dayname[day]);
++ day = i;
++ day = (day + private_data->week_start) % 7;
++ g_snprintf (buffer, sizeof (buffer), "%s", default_abbreviated_dayname[day]);
++
++ pango_layout_set_text (layout, buffer, -1);
++ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+
+- pango_layout_set_text (layout, buffer, -1);
+- pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
++ /* Hildon: draw passive focus for day name */
++ if (hildonlike && calendar->focus_col == i)
++ {
++ guint x = left_x_for_column (calendar, calendar->focus_col);
+
+- gdk_draw_layout (private_data->day_name_win, gc,
+- (CALENDAR_MARGIN +
+- + (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ?
+- (private_data->week_width + (private_data->week_width ? CALENDAR_XSEP : 0))
+- : 0)
+- + day_wid_sep * i
+- + (day_width - logical_rect.width)/2),
+- CALENDAR_MARGIN + focus_width + focus_padding + logical_rect.y,
+- layout);
++ gtk_paint_box( GTK_WIDGET (calendar)->style,
++ private_data->day_name_win,
++ GTK_STATE_NORMAL,
++ GTK_SHADOW_OUT, NULL,
++ GTK_WIDGET (calendar), "passive-focus",
++ (x + 4) + HILDON_DAY_WIDTH, 0,
++ day_wid_sep + 2,
++ HILDON_DAY_HEIGHT);
++ }
++ gdk_draw_layout (private_data->day_name_win, gc,
++ (CALENDAR_MARGIN +
++ + (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ?
++ (private_data->week_width + (private_data->week_width ? CALENDAR_XSEP : 0))
++ : 0)
++ + day_wid_sep * i
++ + (day_width - logical_rect.width)/2),
++ CALENDAR_MARGIN + focus_width + focus_padding + logical_rect.y,
++ layout);
++
++
+ }
+-
+ g_object_unref (layout);
+ }
+
+@@ -1940,14 +2234,15 @@
+ GdkGC *gc;
+ gint row, week = 0, year;
+ gint x_loc;
+- char buffer[3];
+- gint y_loc, day_height;
++ char buffer[10];
++ gint y_loc /*, day_height*/;
+ GtkCalendarPrivateData *private_data;
+ PangoLayout *layout;
+ PangoRectangle logical_rect;
+ gint focus_padding;
+ gint focus_width;
+-
++ gboolean hildonlike;
++
+ g_return_if_fail (GTK_IS_CALENDAR (widget));
+ g_return_if_fail (widget->window != NULL);
+ calendar = GTK_CALENDAR (widget);
+@@ -1968,6 +2263,7 @@
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_padding,
++ "hildonlike", &hildonlike,
+ NULL);
+
+ /*
+@@ -1981,18 +2277,23 @@
+ */
+
+ gdk_gc_set_foreground (gc, SELECTED_BG_COLOR (widget));
+- if (private_data->day_name_win)
+- gdk_draw_rectangle (private_data->week_win, gc, TRUE,
+- CALENDAR_MARGIN,
+- 0,
+- private_data->week_width - CALENDAR_MARGIN,
+- private_data->main_h - CALENDAR_MARGIN);
+- else
+- gdk_draw_rectangle (private_data->week_win, gc, TRUE,
+- CALENDAR_MARGIN,
+- CALENDAR_MARGIN,
+- private_data->week_width - CALENDAR_MARGIN,
+- private_data->main_h - 2 * CALENDAR_MARGIN);
++
++ /* Hildon: don't paint background for weekday window */
++ if (!hildonlike)
++ {
++ if (private_data->day_name_win)
++ gdk_draw_rectangle (private_data->week_win, gc, TRUE,
++ CALENDAR_MARGIN,
++ 0,
++ private_data->week_width - CALENDAR_MARGIN,
++ private_data->main_h + private_data->day_name_h- CALENDAR_MARGIN);
++ else
++ gdk_draw_rectangle (private_data->week_win, gc, TRUE,
++ CALENDAR_MARGIN,
++ CALENDAR_MARGIN,
++ private_data->week_width - CALENDAR_MARGIN,
++ private_data->main_h - 2 * CALENDAR_MARGIN);
++ }
+
+ /*
+ * Write the labels
+@@ -2001,10 +2302,13 @@
+ layout = gtk_widget_create_pango_layout (widget, NULL);
+
+ gdk_gc_set_foreground (gc, SELECTED_FG_COLOR (widget));
+- day_height = row_height (calendar);
++ gdk_draw_line(private_data->week_win, gc,
++ HILDON_DAY_WIDTH - 1, 0, HILDON_DAY_WIDTH - 1, private_data->main_h + private_data->day_name_h);
++
++ /*day_height = row_height (calendar)*/;
+ for (row = 0; row < 6; row++)
+ {
+- year = calendar->year;
++ year = calendar->year;
+ if (calendar->day[row][6] < 15 && row > 3 && calendar->month == 11)
+ year++;
+
+@@ -2012,15 +2316,30 @@
+ ((calendar->day[row][6] < 15 && row > 3 ? 1 : 0)
+ + calendar->month) % 12 + 1, calendar->day[row][6]));
+
+- g_snprintf (buffer, sizeof (buffer), "%d", week);
+- pango_layout_set_text (layout, buffer, -1);
+- pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+-
+- y_loc = top_y_for_row (calendar, row) + (day_height - logical_rect.height) / 2;
+-
+- x_loc = (private_data->week_width
++ g_snprintf (buffer, sizeof (buffer), "%d", week);
++ pango_layout_set_text (layout, buffer, -1);
++ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
++
++ /* Hildon: draw passive focus for week */
++ if (hildonlike && calendar->focus_row == row)
++ {
++ guint y = top_y_for_row (calendar, calendar->focus_row + 1);
++
++ gtk_paint_box( GTK_WIDGET (calendar)->style,
++ private_data->week_win,
++ GTK_STATE_NORMAL,
++ GTK_SHADOW_OUT, NULL,
++ GTK_WIDGET (calendar), "passive-focus",
++ 0, y,
++ private_data->week_width - 4,
++ HILDON_DAY_HEIGHT);
++ }
++
++ y_loc = private_data->day_name_h + top_y_for_row (calendar, row) + (HILDON_DAY_HEIGHT - logical_rect.height) / 2;
++ x_loc = (HILDON_DAY_WIDTH - logical_rect.width) / 2;
++ /*(private_data->week_width
+ - logical_rect.width
+- - CALENDAR_XSEP - focus_padding - focus_width);
++ - CALENDAR_XSEP - focus_padding - focus_width);*/
+
+ gdk_draw_layout (private_data->week_win, gc, x_loc, y_loc, layout);
+ }
+@@ -2034,11 +2353,13 @@
+ {
+ GtkCalendar *calendar;
+ gint r, c, row, col;
+-
++ GtkCalendarPrivateData *private_data;
+ g_return_if_fail (GTK_IS_CALENDAR (widget));
+
+ calendar = GTK_CALENDAR (widget);
+-
++
++ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
++
+ row = -1;
+ col = -1;
+ for (r = 0; r < 6; r++)
+@@ -2054,6 +2375,7 @@
+ g_return_if_fail (col != -1);
+
+ gtk_calendar_paint_day (widget, row, col);
++
+ }
+
+ static void
+@@ -2065,13 +2387,14 @@
+ GdkGC *gc;
+ gchar buffer[255];
+ gint day;
+- gint day_height;
++ /*gint day_height;*/
+ gint x_left;
+ gint x_loc;
+ gint y_top;
+ gint y_loc;
+- gint day_xspace;
++ /*gint day_xspace;*/
+ gint focus_width;
++ gboolean hildonlike;
+
+ GtkCalendarPrivateData *private_data;
+ PangoLayout *layout;
+@@ -2083,6 +2406,8 @@
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+
++ if (private_data->main_win == NULL) return;
++
+ /*
+ * Handle freeze/thaw functionality
+ */
+@@ -2092,25 +2417,25 @@
+ private_data->dirty_main = 1;
+ return;
+ }
+-
+- gtk_widget_style_get (widget, "focus-line-width", &focus_width, NULL);
+
+- day_height = row_height (calendar);
+-
+- day_xspace = private_data->day_width - private_data->max_day_char_width*2;
++ gtk_widget_style_get (widget, "focus-line-width", &focus_width,
++ "hildonlike", &hildonlike, NULL);
++
++ /*day_height = row_height (calendar)*/;
++ /*day_xspace = HILDON_DAY_WIDTH private_data->day_width - private_data->max_day_char_width*2*/;
+
+ day = calendar->day[row][col];
+-
++
+ x_left = left_x_for_column (calendar, col);
+- x_loc = x_left + private_data->day_width / 2 + private_data->max_day_char_width;
++ /*x_loc = x_left + private_data->day_width / 2 + private_data->max_day_char_width;*/
+
+ y_top = top_y_for_row (calendar, row);
+
+ gdk_window_clear_area (private_data->main_win, x_left, y_top,
+- private_data->day_width, day_height);
++ HILDON_DAY_WIDTH, HILDON_DAY_HEIGHT);
+
+ gc = calendar->gc;
+-
++
+ if (calendar->day_month[row][col] == MONTH_PREV)
+ {
+ gdk_gc_set_foreground (gc, PREV_MONTH_COLOR (GTK_WIDGET (calendar)));
+@@ -2123,44 +2448,43 @@
+ {
+ /*
+ if (calendar->highlight_row == row && calendar->highlight_col == col)
+- {
+- gdk_gc_set_foreground (gc, HIGHLIGHT_BACK_COLOR (GTK_WIDGET (calendar)));
+- gdk_draw_rectangle (private_data->main_win, gc, TRUE, x_left, y_top,
++ {
++ gdk_gc_set_foreground (gc, HIGHLIGHT_BACK_COLOR (GTK_WIDGET (calendar)));
++ gdk_draw_rectangle (private_data->main_win, gc, TRUE, x_left, y_top,
+ private_data->day_width, day_height);
+- }
++ }
+ */
+ if (calendar->selected_day == day)
+- {
+- gdk_gc_set_foreground (gc, SELECTED_BG_COLOR (GTK_WIDGET (calendar)));
+- gdk_draw_rectangle (private_data->main_win, gc, TRUE, x_left, y_top,
+- private_data->day_width, day_height);
+- }
+-
++ {
++ /* Hildon: use custom graphics */
++ if (hildonlike)
++ {
++ gtk_paint_box( GTK_WIDGET (calendar)->style,
++ private_data->main_win,
++ GTK_STATE_NORMAL,
++ GTK_SHADOW_NONE, NULL,
++ GTK_WIDGET (calendar), "active-day",
++ x_left, y_top,
++ HILDON_DAY_WIDTH,
++ HILDON_DAY_HEIGHT);
++ }
++ else
++ {
++ gdk_gc_set_foreground (gc, SELECTED_BG_COLOR (GTK_WIDGET (calendar)));
++ gdk_draw_rectangle (private_data->main_win, gc, TRUE, x_left, y_top,
++ HILDON_DAY_WIDTH, HILDON_DAY_HEIGHT);
++ }
++ }
+ if (calendar->marked_date[day-1])
+- gdk_gc_set_foreground (gc, MARKED_COLOR (GTK_WIDGET (calendar)));
++ gdk_gc_set_foreground (gc, MARKED_COLOR (GTK_WIDGET (calendar)));
+ else
+- gdk_gc_set_foreground (gc, NORMAL_DAY_COLOR (GTK_WIDGET (calendar)));
+-
++ gdk_gc_set_foreground (gc, NORMAL_DAY_COLOR (GTK_WIDGET (calendar)));
+ if (calendar->selected_day == day)
+- gdk_gc_set_foreground (gc, SELECTED_FG_COLOR (GTK_WIDGET (calendar)));
++ gdk_gc_set_foreground (gc, SELECTED_FG_COLOR (GTK_WIDGET (calendar)));
+ else
+- gdk_gc_set_foreground (gc, & (GTK_WIDGET (calendar)->style->fg[GTK_WIDGET_STATE (calendar)]));
+- }
+-
+-
+- g_snprintf (buffer, sizeof (buffer), "%d", day);
+- layout = gtk_widget_create_pango_layout (widget, buffer);
+- pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
++ gdk_gc_set_foreground (gc, & (GTK_WIDGET (calendar)->style->fg[GTK_WIDGET_STATE (calendar)]));
+
+- x_loc -= logical_rect.width;
+-
+- y_loc = y_top + (day_height - logical_rect.height) / 2;
+- gdk_draw_layout (private_data->main_win, gc,
+- x_loc, y_loc, layout);
+- if (calendar->marked_date[day-1]
+- && calendar->day_month[row][col] == MONTH_CURRENT)
+- gdk_draw_layout (private_data->main_win, gc,
+- x_loc-1, y_loc, layout);
++ }
+
+ if (GTK_WIDGET_HAS_FOCUS (calendar)
+ && calendar->focus_row == row && calendar->focus_col == col)
+@@ -2168,9 +2492,9 @@
+ GtkStateType state;
+
+ if (calendar->selected_day == day)
+- state = GTK_WIDGET_HAS_FOCUS (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE;
++ state = GTK_WIDGET_HAS_FOCUS (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE;
+ else
+- state = GTK_STATE_NORMAL;
++ state = GTK_STATE_NORMAL;
+
+ gtk_paint_focus (widget->style,
+ private_data->main_win,
+@@ -2178,10 +2502,29 @@
+ ? GTK_STATE_SELECTED : GTK_STATE_NORMAL,
+ NULL, widget, "calendar-day",
+ x_left, y_top,
+- private_data->day_width,
+- day_height);
++ HILDON_DAY_WIDTH,
++ HILDON_DAY_HEIGHT);
+ }
+
++ /* Hildon: paint green indicator for current day */
++ if (hildonlike && (day == private_data->current_day && calendar->selected_day !=
++ private_data->current_day) && (calendar->day_month[row][col] == MONTH_CURRENT))
++ gtk_calendar_check_current_date (calendar, x_left, y_top);
++
++ g_snprintf (buffer, sizeof (buffer), "%d", day);
++ layout = gtk_widget_create_pango_layout (widget, buffer);
++ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
++
++ x_loc = x_left + (HILDON_DAY_WIDTH - logical_rect.width) / 2;
++ y_loc = y_top + (HILDON_DAY_HEIGHT - logical_rect.height) / 2;
++
++ gdk_draw_layout (private_data->main_win, gc,
++ x_loc, y_loc, layout);
++ if (calendar->marked_date[day-1]
++ && calendar->day_month[row][col] == MONTH_CURRENT)
++ gdk_draw_layout (private_data->main_win, gc,
++ x_loc-1, y_loc, layout);
++
+ g_object_unref (layout);
+ }
+
+@@ -2195,7 +2538,7 @@
+
+ g_return_if_fail (GTK_IS_CALENDAR (widget));
+ g_return_if_fail (widget->window != NULL);
+-
++
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+
+@@ -2208,7 +2551,7 @@
+ gdk_window_clear (private_data->main_win);
+
+ /* gtk_calendar_compute_days (calendar); */ /* REMOVE later */
+-
++
+ for (col = 0; col < 7; col++)
+ for (row = 0; row < 6; row++)
+ gtk_calendar_paint_day (widget, row, col);
+@@ -2453,9 +2796,24 @@
+ guint month,
+ guint year)
+ {
++ gboolean hildonlike;
++ guint min_year, max_year;
++
+ g_return_val_if_fail (GTK_IS_CALENDAR (calendar), FALSE);
+ g_return_val_if_fail (month <= 11, FALSE);
+
++ gtk_widget_style_get(GTK_WIDGET (calendar), "hildonlike", &hildonlike,
++ "max-year", &max_year, "min-year",
++ &min_year, NULL);
++
++ if (hildonlike)
++ {
++ if (year >= max_year)
++ year = max_year;
++ else if (year <= min_year)
++ year = min_year;
++ }
++
+ calendar->month = month;
+ calendar->year = year;
+
+@@ -2478,12 +2836,30 @@
+ gtk_calendar_select_day (GtkCalendar *calendar,
+ guint day)
+ {
+- g_return_if_fail (GTK_IS_CALENDAR (calendar));
+- g_return_if_fail (day <= 31);
+-
+- /* gtk_calendar_compute_days (calendar); */
+-
+- /* Deselect the old day */
++ gint row, col;
++ GtkCalendarPrivateData *priv;
++ g_return_if_fail (GTK_IS_CALENDAR (calendar));
++ g_return_if_fail (day <= 31);
++ priv = GTK_CALENDAR_PRIVATE_DATA (calendar);
++
++ for (row = 0; row < 6; row ++)
++ for (col = 0; col < 7; col++)
++ {
++ if (calendar->day_month[row][col] == MONTH_CURRENT
++ && calendar->day[row][col] == day)
++ {
++ calendar->focus_row = row;
++ calendar->focus_col = col;
++ }
++ }
++
++ /* gtk_calendar_compute_days (calendar); */
++
++ if (calendar->month != priv->current_month ||
++ calendar->year != priv->current_year)
++ gtk_calendar_unmark_day (calendar, priv->current_day);
++
++ /* Deselect the old day */
+ if (calendar->selected_day > 0)
+ {
+ gint selected_day;
+@@ -2491,20 +2867,25 @@
+ selected_day = calendar->selected_day;
+ calendar->selected_day = 0;
+ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+- gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
++ {
++ gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
++ }
+ }
+
+ calendar->selected_day = day;
+
++ /*printf("Selected day = %d\n", day);*/
++
+ /* Select the new day */
+ if (day != 0)
+ {
+ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+- gtk_calendar_paint_day_num (GTK_WIDGET (calendar), day);
++ {
++ gtk_calendar_paint_day_num (GTK_WIDGET (calendar), day);
++ }
+ }
+-
++
+ g_object_notify (G_OBJECT (calendar), "day");
+-
+ g_signal_emit (calendar,
+ gtk_calendar_signals[DAY_SELECTED_SIGNAL],
+ 0);
+@@ -2560,17 +2941,16 @@
+ gtk_calendar_mark_day (GtkCalendar *calendar,
+ guint day)
+ {
+- g_return_val_if_fail (GTK_IS_CALENDAR (calendar), FALSE);
+-
+- if (day >= 1 && day <= 31 && calendar->marked_date[day-1] == FALSE)
+- {
+- calendar->marked_date[day - 1] = TRUE;
+- calendar->num_marked_dates++;
+- }
+- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+- {
+- gtk_calendar_paint_main (GTK_WIDGET (calendar));
+- }
++ g_return_val_if_fail (GTK_IS_CALENDAR (calendar), FALSE);
++ if (day >= 1 && day <= 31 && calendar->marked_date[day-1] == FALSE)
++ {
++ calendar->marked_date[day - 1] = TRUE;
++ calendar->num_marked_dates++;
++ }
++ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
++ {
++ gtk_calendar_paint_main (GTK_WIDGET (calendar));
++ }
+
+ return TRUE;
+ }
+@@ -2629,14 +3009,15 @@
+ gtk_calendar_set_year_next (calendar);
+ break;
+ case ARROW_MONTH_LEFT:
+- gtk_calendar_set_month_prev (calendar);
+- break;
++ gtk_calendar_set_month_prev (calendar);
++ break;
+ case ARROW_MONTH_RIGHT:
+ gtk_calendar_set_month_next (calendar);
+ break;
+ default:;
+ /* do nothing */
+ }
++ gtk_calendar_select_and_focus_day(calendar, calendar->selected_day);
+ }
+
+ static gboolean
+@@ -2645,6 +3026,11 @@
+ GtkCalendar *calendar = data;
+ GtkCalendarPrivateData *private_data = GTK_CALENDAR_PRIVATE_DATA (calendar);
+ gboolean retval = FALSE;
++ GtkSettings *settings;
++ guint timeout;
++
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-update-timeout", &timeout, NULL);
+
+ GDK_THREADS_ENTER ();
+
+@@ -2655,7 +3041,7 @@
+ if (private_data->need_timer)
+ {
+ private_data->need_timer = FALSE;
+- private_data->timer = g_timeout_add (CALENDAR_TIMER_DELAY,
++ private_data->timer = g_timeout_add (/*CALENDAR_TIMER_DELAY*/timeout,
+ (GSourceFunc) calendar_timer,
+ (gpointer) calendar);
+ }
+@@ -2673,13 +3059,18 @@
+ gint click_child)
+ {
+ GtkCalendarPrivateData *private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
++ GtkSettings *settings;
++ guint timeout;
+
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-initial-timeout", &timeout, NULL);
++
+ private_data->click_child = click_child;
+
+ if (!private_data->timer)
+ {
+ private_data->need_timer = TRUE;
+- private_data->timer = g_timeout_add (CALENDAR_INITIAL_TIMER_DELAY,
++ private_data->timer = g_timeout_add (/*CALENDAR_INITIAL_TIMER_DELAY*/timeout,
+ calendar_timer,
+ (gpointer) widget);
+ }
+@@ -2738,12 +3129,38 @@
+ GtkCalendar *calendar;
+ GtkCalendarPrivateData *private_data;
+ gint arrow = -1;
+-
++ gboolean hildonlike;
++ gint min_year, max_year;
++
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
++
++ gtk_widget_style_get(widget, "hildonlike", &hildonlike,
++ "min-year", &min_year, "max-year", &max_year, NULL);
+
+- if (event->window == private_data->main_win)
+- gtk_calendar_main_button (widget, event);
++ if (!hildonlike)
++ {
++ if (event->window == private_data->main_win)
++ gtk_calendar_main_button (widget, event);
++ }
++ else if (hildonlike && (event->window == private_data->main_win))
++ {
++ gint x = (gint) (event->x);
++ gint y = (gint) (event->y);
++ gint row = row_from_y (calendar, y);
++ gint col = column_from_x (calendar, x);
++ private_data->pressed_day = calendar->day[row][col];
++
++ if ((calendar->year == min_year && calendar->month == 0 && calendar->day_month[row][col] == MONTH_PREV) ||
++ (calendar->year == max_year && calendar->month == 11 && calendar->day_month[row][col] == MONTH_NEXT))
++ {}
++ else if (calendar->day_month[row][col] == MONTH_CURRENT)
++ gtk_calendar_select_and_focus_day (calendar, private_data->pressed_day);
++
++ /* Remember month where button was pressed */
++ private_data->pressed_month = calendar->month;
++ private_data->slide_stylus = TRUE;
++ }
+
+ if (!GTK_WIDGET_HAS_FOCUS (widget))
+ gtk_widget_grab_focus (widget);
+@@ -2766,7 +3183,7 @@
+ }
+ }
+
+- return FALSE;
++ return TRUE;
+ }
+
+ static gboolean
+@@ -2775,16 +3192,45 @@
+ {
+ GtkCalendar *calendar;
+ GtkCalendarPrivateData *private_data;
++ gboolean hildonlike;
+
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+
++ gtk_widget_style_get(widget, "hildonlike", &hildonlike,
++ NULL);
++
++ if (hildonlike && (event->window == private_data->main_win))
++ {
++ gtk_calendar_main_button (widget, event);
++ gint x = (gint) (event->x);
++ gint y = (gint) (event->y);
++ gint row = row_from_y (calendar, y);
++ gint col = column_from_x (calendar, x);
++ private_data->prev_col = -1;
++ private_data->prev_row = -1;
++
++ if ((private_data->pressed_day == calendar->day[row][col]) &&
++ (private_data->pressed_month == calendar->month))
++ {
++ if (!private_data->is_bad_day)
++ {
++ g_signal_emit (calendar, gtk_calendar_signals[SELECTED_DATE_SIGNAL], 0);
++ }
++ else
++ {
++ private_data->is_bad_day = FALSE;
++ }
++ }
++ private_data->slide_stylus = FALSE;
++ }
++
+ if (event->button == 1)
+ {
+ stop_spinning (widget);
+
+ if (private_data->in_drag)
+- private_data->in_drag = 0;
++ private_data->in_drag = 0;
+ }
+
+ return TRUE;
+@@ -2799,15 +3245,42 @@
+ gint event_x, event_y;
+ gint row, col;
+ gint old_row, old_col;
++ gboolean hildonlike;
+
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+ event_x = (gint) (event->x);
+ event_y = (gint) (event->y);
+-
++
++ gtk_widget_style_get(widget, "hildonlike", &hildonlike,
++ NULL);
++
+ if (event->window == private_data->main_win)
+ {
+-
++ if (hildonlike)
++ {
++ /* Hildon: make active day to move, when stylus is slided */
++ if (private_data->slide_stylus)
++ {
++ gint c_row = row_from_y (calendar, event_y);
++ gint c_col = column_from_x (calendar, event_x);
++
++ if (calendar->day_month[c_row][c_col] == MONTH_PREV ||
++ calendar->day_month[c_row][c_col] == MONTH_NEXT)
++ { }
++ else if ((private_data->prev_row != c_row || private_data->prev_col != c_col) &&
++ (calendar->highlight_row != -1 && calendar->highlight_col != -1))
++ {
++ gtk_calendar_select_and_focus_day (calendar,
++ calendar->day[c_row][c_col]);
++ /* Update passive focus indicators work weekday number and name */
++ gtk_calendar_paint_week_numbers (GTK_WIDGET (calendar));
++ gtk_calendar_paint_day_names (GTK_WIDGET (calendar));
++ }
++ private_data->prev_col = c_col;
++ private_data->prev_row = c_row;
++ }
++ }
+ if (private_data->in_drag)
+ {
+ if (gtk_drag_check_threshold (widget,
+@@ -2847,7 +3320,7 @@
+ calendar->highlight_col = col;
+
+ if (row > -1 && col > -1)
+- gtk_calendar_paint_day (widget, row, col);
++ gtk_calendar_paint_day (widget, row, col);
+ }
+ }
+ }
+@@ -2863,7 +3336,7 @@
+
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+-
++
+ if (event->window == private_data->arrow_win[ARROW_MONTH_LEFT])
+ {
+ private_data->arrow_state[ARROW_MONTH_LEFT] = GTK_STATE_PRELIGHT;
+@@ -2902,7 +3375,7 @@
+
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
+-
++
+ if (event->window == private_data->main_win)
+ {
+ row = calendar->highlight_row;
+@@ -2910,7 +3383,7 @@
+ calendar->highlight_row = -1;
+ calendar->highlight_col = -1;
+ if (row > -1 && col > -1)
+- gtk_calendar_paint_day (widget, row, col);
++ gtk_calendar_paint_day (widget, row, col);
+ }
+
+ if (event->window == private_data->arrow_win[ARROW_MONTH_LEFT])
+@@ -2949,10 +3422,14 @@
+ GdkGC *gc;
+ GtkCalendar *calendar;
+ gint state;
+- gint width, height;
++ gint max_year, min_year;
++ gboolean hildonlike;
++/* gint width, height;*/
+
+ calendar = GTK_CALENDAR (widget);
+ private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
++ gtk_widget_style_get (widget, "hildonlike", &hildonlike, "max-year",
++ &max_year, "min-year", &min_year, NULL);
+
+ if (private_data->freeze_count)
+ {
+@@ -2965,23 +3442,81 @@
+ state = private_data->arrow_state[arrow];
+ gc = calendar->gc;
+
+- gdk_window_clear (window);
++/* gdk_window_clear (window);*/
+ gdk_window_set_background (window, &(widget)->style->bg[state]);
+- gdk_drawable_get_size (window, &width, &height);
+- gdk_window_clear_area (window,
++/* gdk_drawable_get_size (window, &width, &height);*/
++/* gdk_window_clear_area (window,
+ 0,0,
+- width,height);
+- if (arrow == ARROW_MONTH_LEFT || arrow == ARROW_YEAR_LEFT)
+- gtk_paint_arrow (widget->style, window, state,
++ width,height);*/
++
++ gdk_window_clear(window);
++
++ /* Hildon: added support for dimmed arrows */
++ if (hildonlike && (calendar->year <= min_year || calendar->year >= max_year))
++ {
++ if (calendar->year <= min_year)
++ {
++ if (arrow == ARROW_YEAR_LEFT)
++ gtk_paint_arrow (widget->style, window, GTK_STATE_INSENSITIVE,
++ GTK_SHADOW_OUT, NULL, widget, "calendar",
++ GTK_ARROW_LEFT, TRUE,
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ else if (arrow == ARROW_YEAR_RIGHT || arrow == ARROW_MONTH_RIGHT)
++ gtk_paint_arrow (widget->style, window, state,
++ GTK_SHADOW_OUT, NULL, widget, "calendar",
++ GTK_ARROW_RIGHT, TRUE,
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ else if (arrow == ARROW_MONTH_LEFT && calendar->month != 0)
++ gtk_paint_arrow (widget->style, window, state,
++ GTK_SHADOW_OUT, NULL, widget, "calendar",
++ GTK_ARROW_LEFT, TRUE,
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ else if (arrow == ARROW_MONTH_LEFT && !calendar->month)
++ gtk_paint_arrow (widget->style, window, GTK_STATE_INSENSITIVE,
++ GTK_SHADOW_OUT, NULL, widget, "calendar",
++ GTK_ARROW_LEFT, TRUE,
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ }
++ else if (calendar->year >= max_year)
++ {
++ if (arrow == ARROW_YEAR_RIGHT)
++ gtk_paint_arrow (widget->style, window, GTK_STATE_INSENSITIVE,
++ GTK_SHADOW_OUT, NULL, widget, "calendar",
++ GTK_ARROW_RIGHT, TRUE,
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ else if (arrow == ARROW_YEAR_LEFT || arrow == ARROW_MONTH_LEFT)
++ gtk_paint_arrow (widget->style, window, state,
+ GTK_SHADOW_OUT, NULL, widget, "calendar",
+ GTK_ARROW_LEFT, TRUE,
+- width/2 - 3, height/2 - 4, 8, 8);
+- else
+- gtk_paint_arrow (widget->style, window, state,
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ else if (arrow == ARROW_MONTH_RIGHT && calendar->month != 11)
++ gtk_paint_arrow (widget->style, window, state,
++ GTK_SHADOW_OUT, NULL, widget, "calendar",
++ GTK_ARROW_RIGHT, TRUE,
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ else if (arrow == ARROW_MONTH_RIGHT && calendar->month == 11)
++ gtk_paint_arrow (widget->style, window, GTK_STATE_INSENSITIVE,
++ GTK_SHADOW_OUT, NULL, widget, "calendar",
++ GTK_ARROW_RIGHT, TRUE,
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ }
++ }
++ else
++ {
++ if (arrow == ARROW_MONTH_LEFT || arrow == ARROW_YEAR_LEFT)
++ gtk_paint_arrow (widget->style, window, state,
++ GTK_SHADOW_OUT, NULL, widget, "calendar",
++ GTK_ARROW_LEFT, TRUE,
++ /* width/2 - 3, height/2 - 4, 8, 8);*/
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ else
++ gtk_paint_arrow (widget->style, window, state,
+ GTK_SHADOW_OUT, NULL, widget, "calendar",
+ GTK_ARROW_RIGHT, TRUE,
+- width/2 - 2, height/2 - 4, 8, 8);
+- }
++ /* width/2 - 2, height/2 - 4, 8, 8);*/
++ 0, 0, HILDON_ARROW_WIDTH, HILDON_ARROW_HEIGHT);
++ }
++ }
+ }
+
+ void
+@@ -3159,17 +3694,26 @@
+ GdkEventKey *event)
+ {
+ GtkCalendar *calendar;
++ GtkSettings *settings;
+ gint return_val;
+ gint old_focus_row;
+ gint old_focus_col;
+ gint row, col, day;
+-
++ gint min_year, max_year;
++ gboolean knav;
++
+ calendar = GTK_CALENDAR (widget);
+ return_val = FALSE;
+
+ old_focus_row = calendar->focus_row;
+ old_focus_col = calendar->focus_col;
+
++ gtk_widget_style_get (widget, "max-year", &max_year,
++ "min-year", &min_year, NULL);
++
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "hildon-keyboard-navigation", &knav, NULL);
++
+ switch (event->keyval)
+ {
+ case GDK_KP_Left:
+@@ -3179,10 +3723,41 @@
+ gtk_calendar_set_month_prev (calendar);
+ else
+ {
+- move_focus (calendar, -1);
+- gtk_calendar_paint_day (widget, old_focus_row, old_focus_col);
+- gtk_calendar_paint_day (widget, calendar->focus_row,
+- calendar->focus_col);
++ /* if we are at the first allowed day of the minimum year/month then do nothing */
++ if (calendar->year == min_year && calendar->month == 0 && calendar->day_month[old_focus_row][old_focus_col-1] == MONTH_PREV)
++ {
++ g_signal_emit (calendar, gtk_calendar_signals[ERRONEOUS_DATE_SIGNAL], 0);
++ return TRUE;
++ }
++ else /* else normal */
++ {
++ move_focus (calendar, -1);
++ if (!knav)
++ {
++ gtk_calendar_paint_day (widget, old_focus_row, old_focus_col);
++ gtk_calendar_paint_day (widget, calendar->focus_row,
++ calendar->focus_col);
++ }
++ else if (knav)
++ {
++ gint day_month = calendar->day_month[calendar->focus_row][calendar->focus_col];
++ if (day_month == MONTH_CURRENT && calendar->selected_day != 1)
++ {
++ gtk_calendar_select_day(calendar, calendar->selected_day - 1);
++ }
++ else
++ {
++ if (calendar->month != 0) {
++ calendar->selected_day = month_length[leap (calendar->year)][calendar->month];
++ } else {
++ calendar->selected_day = month_length[leap (calendar->year -1)][12];
++ }
++ gtk_calendar_set_month_prev (calendar);
++ }
++ gtk_calendar_paint_week_numbers (GTK_WIDGET (calendar));
++ gtk_calendar_paint_day_names (GTK_WIDGET (calendar));
++ }
++ }
+ }
+ break;
+ case GDK_KP_Right:
+@@ -3192,10 +3767,36 @@
+ gtk_calendar_set_month_next (calendar);
+ else
+ {
+- move_focus (calendar, 1);
+- gtk_calendar_paint_day (widget, old_focus_row, old_focus_col);
+- gtk_calendar_paint_day (widget, calendar->focus_row,
+- calendar->focus_col);
++ if (calendar->year == max_year && calendar->month == 11 && calendar->day_month[old_focus_row][old_focus_col+1] == MONTH_NEXT)
++ {
++ g_signal_emit (calendar, gtk_calendar_signals[ERRONEOUS_DATE_SIGNAL], 0);
++ return TRUE;
++ }
++ else
++ {
++ move_focus (calendar, 1);
++ if (!knav)
++ {
++ gtk_calendar_paint_day (widget, old_focus_row, old_focus_col);
++ gtk_calendar_paint_day (widget, calendar->focus_row,
++ calendar->focus_col);
++ }
++ else if (knav)
++ {
++ gint day_month = calendar->day_month[calendar->focus_row][calendar->focus_col];
++ if (day_month == MONTH_CURRENT)
++ {
++ gtk_calendar_select_day (calendar, calendar->selected_day + 1);
++ }
++ else
++ {
++ calendar->selected_day = 1;
++ gtk_calendar_set_month_next (calendar);
++ }
++ gtk_calendar_paint_week_numbers (GTK_WIDGET (calendar));
++ gtk_calendar_paint_day_names (GTK_WIDGET (calendar));
++ }
++ }
+ }
+ break;
+ case GDK_KP_Up:
+@@ -3205,11 +3806,48 @@
+ gtk_calendar_set_year_prev (calendar);
+ else
+ {
+- if (calendar->focus_row > 0)
+- calendar->focus_row--;
+- gtk_calendar_paint_day (widget, old_focus_row, old_focus_col);
+- gtk_calendar_paint_day (widget, calendar->focus_row,
+- calendar->focus_col);
++ if (calendar->year == min_year && calendar->month == 0 && calendar->day_month[old_focus_row-1][old_focus_col] == MONTH_PREV)
++ {
++ g_signal_emit (calendar, gtk_calendar_signals[ERRONEOUS_DATE_SIGNAL], 0);
++ return TRUE;
++ }
++ else
++ {
++ if (calendar->focus_row > 0)
++ calendar->focus_row--;
++ if (!knav)
++ {
++ gtk_calendar_paint_day (widget, old_focus_row, old_focus_col);
++ gtk_calendar_paint_day (widget, calendar->focus_row,
++ calendar->focus_col);
++ }
++ else if (knav)
++ {
++ gint day_month = calendar->day_month[calendar->focus_row][calendar->focus_col];
++ if (day_month == MONTH_CURRENT)
++ {
++ if ((calendar->selected_day - 7) <= 0)
++ {
++ if (calendar->month != 0)
++ calendar->selected_day = month_length[leap (calendar->year)][calendar->month];
++ else
++ calendar->selected_day = month_length[leap (calendar->year - 1)][12];
++ gtk_calendar_set_month_prev (calendar);
++ }
++ else
++ {
++ gtk_calendar_select_day (calendar, calendar->selected_day - 7);
++ }
++ }
++ else
++ {
++ calendar->selected_day = calendar->day[calendar->focus_row][calendar->focus_col];
++ gtk_calendar_set_month_prev (calendar);
++ }
++ gtk_calendar_paint_week_numbers (GTK_WIDGET (calendar));
++ gtk_calendar_paint_day_names (GTK_WIDGET (calendar));
++ }
++ }
+ }
+ break;
+ case GDK_KP_Down:
+@@ -3219,12 +3857,49 @@
+ gtk_calendar_set_year_next (calendar);
+ else
+ {
+- if (calendar->focus_row < 5)
+- calendar->focus_row++;
+- gtk_calendar_paint_day (widget, old_focus_row, old_focus_col);
+- gtk_calendar_paint_day (widget, calendar->focus_row,
+- calendar->focus_col);
++ if (calendar->year == max_year && calendar->month == 11 && calendar->day_month[old_focus_row+1][old_focus_col] == MONTH_NEXT)
++ {
++ g_signal_emit (calendar, gtk_calendar_signals[ERRONEOUS_DATE_SIGNAL], 0);
++ return TRUE;
++ }
++ else
++ {
++
++ if (calendar->focus_row < 5)
++ calendar->focus_row++;
++ if (!knav)
++ {
++ gtk_calendar_paint_day (widget, old_focus_row, old_focus_col);
++ gtk_calendar_paint_day (widget, calendar->focus_row,
++ calendar->focus_col);
++ }
++ else if (knav)
++ {
++ gint day_month = calendar->day_month[calendar->focus_row][calendar->focus_col];
++ if (day_month == MONTH_CURRENT)
++ {
++ if ((calendar->selected_day + 7) >
++ month_length[leap (calendar->year)][calendar->month + 1])
++ {
++ calendar->selected_day = 1;
++ gtk_calendar_set_month_next (calendar);
++ }
++ else
++ {
++ gtk_calendar_select_day (calendar, calendar->selected_day + 7);
++ }
++ }
++ else
++ {
++ calendar->selected_day = calendar->day[calendar->focus_row][calendar->focus_col];
++ gtk_calendar_set_month_next (calendar);
++ }
++ gtk_calendar_paint_week_numbers (GTK_WIDGET (calendar));
++ gtk_calendar_paint_day_names (GTK_WIDGET (calendar));
++ }
++ }
+ }
++
+ break;
+ case GDK_KP_Space:
+ case GDK_space:
+@@ -3545,3 +4220,27 @@
+ gtk_calendar_select_day (calendar, day);
+ g_object_thaw_notify (G_OBJECT (calendar));
+ }
++
++/* This function return TRUE if we should mark date and FALSE
++ * otherwise
++ */
++static void
++gtk_calendar_check_current_date (GtkCalendar *calendar, gint x, gint y)
++{
++ GtkCalendarPrivateData *private_data;
++
++ private_data = GTK_CALENDAR_PRIVATE_DATA (calendar);
++
++ if (calendar->month == private_data->current_month &&
++ calendar->year == private_data->current_year)
++ {
++ gtk_paint_box( GTK_WIDGET (calendar)->style,
++ private_data->main_win,
++ GTK_STATE_NORMAL,
++ GTK_SHADOW_NONE, NULL,
++ GTK_WIDGET (calendar), "current-day",
++ x, y,
++ HILDON_DAY_WIDTH,
++ HILDON_DAY_HEIGHT);
++ }
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcalendar.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcalendar.h.diff
new file mode 100644
index 0000000000..185d27e8a2
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcalendar.h.diff
@@ -0,0 +1,12 @@
+--- gtk+-2.6.4/gtk/gtkcalendar.h 2003-05-08 03:25:48.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkcalendar.h 2005-04-06 16:19:36.267024936 +0300
+@@ -111,6 +111,9 @@
+ void (* next_month) (GtkCalendar *calendar);
+ void (* prev_year) (GtkCalendar *calendar);
+ void (* next_year) (GtkCalendar *calendar);
++ /* Hildon signals */
++ void (* erroneous_date) (GtkCalendar *calendar);
++ void (* selected_date) (GtkCalendar *calendar);
+
+ };
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertext.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertext.c.diff
new file mode 100644
index 0000000000..b24c26120a
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertext.c.diff
@@ -0,0 +1,66 @@
+--- gtk+-2.6.4/gtk/gtkcellrenderertext.c 2005-01-09 19:32:25.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkcellrenderertext.c 2005-04-06 16:19:36.274023872 +0300
+@@ -182,8 +182,8 @@
+
+ GTK_CELL_RENDERER (celltext)->xalign = 0.0;
+ GTK_CELL_RENDERER (celltext)->yalign = 0.5;
+- GTK_CELL_RENDERER (celltext)->xpad = 2;
+- GTK_CELL_RENDERER (celltext)->ypad = 2;
++ GTK_CELL_RENDERER (celltext)->xpad = 0;
++ GTK_CELL_RENDERER (celltext)->ypad = 0;
+ celltext->fixed_height_rows = -1;
+ celltext->font = pango_font_description_new ();
+
+@@ -1429,7 +1429,7 @@
+ /* The minimum size for ellipsized labels is ~ 3 chars */
+ if (width)
+ {
+- if (priv->ellipsize || priv->width_chars > 0)
++ /*if (priv->ellipsize || priv->width_chars > 0)
+ {
+ PangoContext *context;
+ PangoFontMetrics *metrics;
+@@ -1444,9 +1444,9 @@
+ *width += (PANGO_PIXELS (char_width) * MAX (priv->width_chars, 3));
+ }
+ else
+- {
++ {*/
+ *width = GTK_CELL_RENDERER (celltext)->xpad * 2 + rect.width;
+- }
++ /*} */
+ }
+
+ if (cell_area)
+@@ -1501,6 +1501,7 @@
+ gint x_offset;
+ gint y_offset;
+ GtkCellRendererTextPrivate *priv;
++ PangoRectangle logical_rect;
+
+ priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
+
+@@ -1521,7 +1522,7 @@
+ else if ((flags & GTK_CELL_RENDERER_PRELIT) == GTK_CELL_RENDERER_PRELIT &&
+ GTK_WIDGET_STATE (widget) == GTK_STATE_PRELIGHT)
+ {
+- state = GTK_STATE_PRELIGHT;
++ state = GTK_STATE_NORMAL;
+ }
+ else
+ {
+@@ -1559,6 +1560,14 @@
+ g_object_unref (gc);
+ }
+
++ /* Dirty Hildon hack to force ellipsation */
++ pango_layout_get_extents (layout, NULL, &logical_rect);
++ if (PANGO_PIXELS (logical_rect.width) > MIN (background_area->width, expose_area->width))
++ {
++ priv->ellipsize = PANGO_ELLIPSIZE_END;
++ priv->ellipsize_set = TRUE;
++ }
++
+ if (priv->ellipsize)
+ pango_layout_set_width (layout,
+ (cell_area->width - x_offset - 2 * cell->xpad) * PANGO_SCALE);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertoggle.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertoggle.c.diff
new file mode 100644
index 0000000000..f6d47f2174
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertoggle.c.diff
@@ -0,0 +1,11 @@
+--- gtk+-2.6.4/gtk/gtkcellrenderertoggle.c 2004-08-09 19:59:51.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkcellrenderertoggle.c 2005-04-06 16:19:36.274023872 +0300
+@@ -71,7 +71,7 @@
+ PROP_INCONSISTENT
+ };
+
+-#define TOGGLE_WIDTH 12
++#define TOGGLE_WIDTH 26
+
+ static guint toggle_cell_signals[LAST_SIGNAL] = { 0 };
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellview.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellview.c.diff
new file mode 100644
index 0000000000..a6dbfc6a4a
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellview.c.diff
@@ -0,0 +1,19 @@
+--- gtk+-2.6.4/gtk/gtkcellview.c 2004-12-15 18:27:30.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkcellview.c 2005-04-06 16:19:36.275023720 +0300
+@@ -82,7 +82,6 @@
+ GValue *value);
+ static GtkCellViewCellInfo *gtk_cell_view_get_cell_info (GtkCellView *cellview,
+ GtkCellRenderer *renderer);
+-static void gtk_cell_view_set_cell_data (GtkCellView *cell_view);
+
+
+ static void gtk_cell_view_cell_layout_pack_start (GtkCellLayout *layout,
+@@ -536,7 +535,7 @@
+ return NULL;
+ }
+
+-static void
++void
+ gtk_cell_view_set_cell_data (GtkCellView *cell_view)
+ {
+ GList *i;
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellview.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellview.h.diff
new file mode 100644
index 0000000000..eb46720a90
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellview.h.diff
@@ -0,0 +1,10 @@
+--- gtk+-2.6.4/gtk/gtkcellview.h 2004-12-15 18:27:30.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkcellview.h 2005-04-06 16:19:36.317017336 +0300
+@@ -67,6 +67,7 @@
+
+ void gtk_cell_view_set_background_color (GtkCellView *cell_view,
+ const GdkColor *color);
++void gtk_cell_view_set_cell_data (GtkCellView *cellview);
+ GList *gtk_cell_view_get_cell_renderers (GtkCellView *cell_view);
+
+ G_END_DECLS
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcheckbutton.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcheckbutton.c.diff
new file mode 100644
index 0000000000..c6922ddc16
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcheckbutton.c.diff
@@ -0,0 +1,520 @@
+--- gtk+-2.6.4/gtk/gtkcheckbutton.c 2004-08-09 19:59:51.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkcheckbutton.c 2005-04-06 16:19:36.317017336 +0300
+@@ -31,27 +31,44 @@
+ #include "gtklabel.h"
+
+
+-#define INDICATOR_SIZE 13
++#define INDICATOR_SIZE 24
+ #define INDICATOR_SPACING 2
+
++/* maJiK numbers for indicator */
++#define INDICATOR_SIDE_PADDING 5
++#define FOCUS_TOP_PADDING 7
++#define FOCUS_DOWN_PADDING 1
++
++/* spacing to take account of the 1 pixel
++ transparency of the widgetfocus.png
++*/
++#define HILDON_SPACING 1
++
++#define TOGGLE_ON_CLICK "toggle-on-click"
+
+-static void gtk_check_button_class_init (GtkCheckButtonClass *klass);
+-static void gtk_check_button_init (GtkCheckButton *check_button);
+-static void gtk_check_button_size_request (GtkWidget *widget,
+- GtkRequisition *requisition);
+-static void gtk_check_button_size_allocate (GtkWidget *widget,
+- GtkAllocation *allocation);
+-static gint gtk_check_button_expose (GtkWidget *widget,
+- GdkEventExpose *event);
+-static void gtk_check_button_paint (GtkWidget *widget,
+- GdkRectangle *area);
+-static void gtk_check_button_draw_indicator (GtkCheckButton *check_button,
+- GdkRectangle *area);
+-static void gtk_real_check_button_draw_indicator (GtkCheckButton *check_button,
+- GdkRectangle *area);
++static void gtk_check_button_class_init (GtkCheckButtonClass *klass);
++static void gtk_check_button_init (GtkCheckButton *check_button);
++static void gtk_check_button_size_request (GtkWidget *widget,
++ GtkRequisition *requisition);
++static void gtk_check_button_size_allocate (GtkWidget *widget,
++ GtkAllocation *allocation);
++static gint gtk_check_button_expose (GtkWidget *widget,
++ GdkEventExpose *event);
++static void gtk_check_button_paint (GtkWidget *widget,
++ GdkRectangle *area);
++static void gtk_check_button_draw_indicator (GtkCheckButton *check_button,
++ GdkRectangle *area);
++static void gtk_real_check_button_draw_indicator
++ (GtkCheckButton *check_button,
++ GdkRectangle *area);
+
+-static GtkToggleButtonClass *parent_class = NULL;
++static void gtk_check_button_calc_indicator_size( GtkCheckButton *button,
++ GdkRectangle *rect );
++
++static void gtk_check_button_clicked (GtkButton *button);
++static void gtk_check_button_update_state (GtkButton *button);
+
++static GtkToggleButtonClass *parent_class = NULL;
+
+ GType
+ gtk_check_button_get_type (void)
+@@ -85,32 +102,36 @@
+ gtk_check_button_class_init (GtkCheckButtonClass *class)
+ {
+ GtkWidgetClass *widget_class;
+-
++ GtkButtonClass *button_class;
++
+ widget_class = (GtkWidgetClass*) class;
++ button_class = (GtkButtonClass*) class;
+ parent_class = g_type_class_peek_parent (class);
+
+ widget_class->size_request = gtk_check_button_size_request;
+ widget_class->size_allocate = gtk_check_button_size_allocate;
+ widget_class->expose_event = gtk_check_button_expose;
+
++ button_class->clicked = gtk_check_button_clicked;
++
+ class->draw_indicator = gtk_real_check_button_draw_indicator;
+
+ gtk_widget_class_install_style_property (widget_class,
+ g_param_spec_int ("indicator_size",
+- P_("Indicator Size"),
+- P_("Size of check or radio indicator"),
+- 0,
+- G_MAXINT,
+- INDICATOR_SIZE,
+- G_PARAM_READABLE));
++ P_("Indicator Size"),
++ P_("Size of check or radio indicator"),
++ 0,
++ G_MAXINT,
++ INDICATOR_SIZE,
++ G_PARAM_READABLE));
+ gtk_widget_class_install_style_property (widget_class,
+ g_param_spec_int ("indicator_spacing",
+- P_("Indicator Spacing"),
+- P_("Spacing around check or radio indicator"),
+- 0,
+- G_MAXINT,
+- INDICATOR_SPACING,
+- G_PARAM_READABLE));
++ P_("Indicator Spacing"),
++ P_("Spacing around check or radio indicator"),
++ 0,
++ G_MAXINT,
++ INDICATOR_SPACING,
++ G_PARAM_READABLE));
+ }
+
+ static void
+@@ -148,7 +169,8 @@
+ GtkWidget*
+ gtk_check_button_new_with_mnemonic (const gchar *label)
+ {
+- return g_object_new (GTK_TYPE_CHECK_BUTTON, "label", label, "use_underline", TRUE, NULL);
++ return g_object_new (GTK_TYPE_CHECK_BUTTON, "label", label,
++ "use_underline", TRUE, NULL);
+ }
+
+
+@@ -163,39 +185,70 @@
+
+ if (GTK_WIDGET_DRAWABLE (widget))
+ {
+- gint border_width;
+- gint interior_focus;
+- gint focus_width;
+- gint focus_pad;
+-
++ gint border_width = 0;
++ gint interior_focus = 0;
++ gint focus_width = 0;
++ gint focus_pad = 0;
++ gint indicator_size = 0;
++ gint indicator_spacing = 0;
++
+ gtk_widget_style_get (widget,
+ "interior-focus", &interior_focus,
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
++ "indicator-size", &indicator_size,
++ "indicator-spacing", &indicator_spacing,
+ NULL);
+-
+- gtk_check_button_draw_indicator (check_button, area);
+
+ border_width = GTK_CONTAINER (widget)->border_width;
++
++ /* Hildon: change the focus so that it draws around the entire
++ * widget - including both the indicator *and* the label
++ */
+ if (GTK_WIDGET_HAS_FOCUS (widget))
+ {
+ GtkWidget *child = GTK_BIN (widget)->child;
+
++ int w = indicator_size + 2 * indicator_spacing +
++ 2 * (focus_width + focus_pad);
++ int h = indicator_size + 2 * indicator_spacing +
++ 2 * (focus_width + focus_pad) + 2 * HILDON_SPACING
++ - FOCUS_TOP_PADDING;
++ int x = widget->allocation.x;
++ int y = widget->allocation.y + (widget->allocation.height - h)/2
++ + FOCUS_DOWN_PADDING;
++
++ if (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL)
++ x = widget->allocation.x + widget->allocation.width -
++ (2 * HILDON_SPACING) - (indicator_size + 2) -
++ (indicator_spacing + 2);
++
+ if (interior_focus && child && GTK_WIDGET_VISIBLE (child))
+- gtk_paint_focus (widget->style, widget->window, GTK_WIDGET_STATE (widget),
+- NULL, widget, "checkbutton",
+- child->allocation.x - focus_width - focus_pad,
+- child->allocation.y - focus_width - focus_pad,
+- child->allocation.width + 2 * (focus_width + focus_pad),
+- child->allocation.height + 2 * (focus_width + focus_pad));
++ {
++ if (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL)
++ {
++ /* Move the "x" to the left, and enlarge the width,
++ both accounting for the child
++ */
++ x += - child->allocation.width - HILDON_SPACING -
++ (widget->style->xthickness);
++ w += child->allocation.width + HILDON_SPACING +
++ (widget->style->xthickness);
++ } else {
++ w = child->allocation.x + child->allocation.width +
++ 2 * widget->style->xthickness - x;
++ }
++
++ gtk_paint_focus (widget->style, widget->window,
++ GTK_WIDGET_STATE (widget),
++ NULL, widget, "checkbutton", x, y, w, h);
++ }
+ else
+- gtk_paint_focus (widget->style, widget->window, GTK_WIDGET_STATE (widget),
+- NULL, widget, "checkbutton",
+- border_width + widget->allocation.x,
+- border_width + widget->allocation.y,
+- widget->allocation.width - 2 * border_width,
+- widget->allocation.height - 2 * border_width);
++ gtk_paint_focus (widget->style, widget->window,
++ GTK_WIDGET_STATE (widget),
++ NULL, widget, "checkbutton", x, y, w, h);
+ }
++ gtk_check_button_draw_indicator (check_button, area);
+ }
+ }
+
+@@ -205,10 +258,10 @@
+ gint *indicator_spacing)
+ {
+ GtkWidget *widget = GTK_WIDGET (check_button);
+-
++
+ if (indicator_size)
+ gtk_widget_style_get (widget, "indicator_size", indicator_size, NULL);
+-
++
+ if (indicator_spacing)
+ gtk_widget_style_get (widget, "indicator_spacing", indicator_spacing, NULL);
+ }
+@@ -233,7 +286,7 @@
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
+ NULL);
+-
++
+ requisition->width = border_width * 2;
+ requisition->height = border_width * 2;
+
+@@ -246,15 +299,19 @@
+ GtkRequisition child_requisition;
+
+ gtk_widget_size_request (child, &child_requisition);
+-
+- requisition->width += child_requisition.width + indicator_spacing;
++
++ requisition->width += child_requisition.width +
++ 2 * widget->style->xthickness;
+ requisition->height += child_requisition.height;
++ requisition->width += 2 * widget->style->xthickness;
+ }
+
+- requisition->width += (indicator_size + indicator_spacing * 2 + 2 * (focus_width + focus_pad));
++ requisition->width += (indicator_size + indicator_spacing * 2 +
++ 2 * (focus_width + focus_pad));
+
+ temp = indicator_size + indicator_spacing * 2;
+- requisition->height = MAX (requisition->height, temp) + 2 * (focus_width + focus_pad);
++ requisition->height = MAX (requisition->height, temp) +
++ 2 * (focus_width + focus_pad);
+ }
+ else
+ (* GTK_WIDGET_CLASS (parent_class)->size_request) (widget, requisition);
+@@ -280,45 +337,59 @@
+ gint focus_width;
+ gint focus_pad;
+
+- _gtk_check_button_get_props (check_button, &indicator_size, &indicator_spacing);
++ _gtk_check_button_get_props (check_button,
++ &indicator_size, &indicator_spacing);
+ gtk_widget_style_get (widget,
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
+ NULL);
+-
++
+ widget->allocation = *allocation;
+ if (GTK_WIDGET_REALIZED (widget))
+ gdk_window_move_resize (button->event_window,
+ allocation->x, allocation->y,
+ allocation->width, allocation->height);
+
+- if (GTK_BIN (button)->child && GTK_WIDGET_VISIBLE (GTK_BIN (button)->child))
++ if (GTK_BIN (button)->child &&
++ GTK_WIDGET_VISIBLE (GTK_BIN (button)->child))
+ {
+ GtkRequisition child_requisition;
+ gint border_width = GTK_CONTAINER (widget)->border_width;
+-
+- gtk_widget_get_child_requisition (GTK_BIN (button)->child, &child_requisition);
++
++ gtk_widget_get_child_requisition (GTK_BIN (button)->child,
++ &child_requisition);
+
+- child_allocation.width = MIN (child_requisition.width,
++ child_allocation.width = MIN (
++ child_requisition.width,
+ allocation->width -
+- ((border_width + focus_width + focus_pad) * 2
+- + indicator_size + indicator_spacing * 3));
+- child_allocation.width = MAX (child_allocation.width, 1);
++ ((border_width + focus_width +
++ focus_pad) * 2
++ - 2 * widget->style->xthickness +
++ indicator_size +
++ indicator_spacing * 2 ) );
+
++ child_allocation.width = MAX (child_allocation.width, 1);
++
+ child_allocation.height = MIN (child_requisition.height,
+- allocation->height - (border_width + focus_width + focus_pad) * 2);
++ allocation->height -
++ (border_width + focus_width +
++ focus_pad) * 2);
+ child_allocation.height = MAX (child_allocation.height, 1);
+
+- child_allocation.x = (border_width + indicator_size + indicator_spacing * 3 +
+- widget->allocation.x + focus_width + focus_pad);
++ child_allocation.x = (border_width + indicator_size +
++ indicator_spacing * 2 +
++ widget->style->xthickness +
++ widget->allocation.x +
++ focus_width + focus_pad);
+ child_allocation.y = widget->allocation.y +
+- (allocation->height - child_allocation.height) / 2;
+-
++ (allocation->height - child_allocation.height) / 2;
++
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+- child_allocation.x = allocation->x + allocation->width
+- - (child_allocation.x - allocation->x + child_allocation.width);
++ child_allocation.x = allocation->x + allocation->width -
++ (child_allocation.x - allocation->x + child_allocation.width);
+
+- gtk_widget_size_allocate (GTK_BIN (button)->child, &child_allocation);
++ gtk_widget_size_allocate (GTK_BIN (button)->child,
++ &child_allocation);
+ }
+ }
+ else
+@@ -375,45 +446,33 @@
+ GdkRectangle *area)
+ {
+ GtkWidget *widget;
+- GtkWidget *child;
+ GtkButton *button;
+ GtkToggleButton *toggle_button;
+ GtkStateType state_type;
+ GtkShadowType shadow_type;
+- gint x, y;
+- gint indicator_size;
+- gint indicator_spacing;
+- gint focus_width;
+- gint focus_pad;
+- gboolean interior_focus;
++
++ GdkRectangle indicator = {0, 0, 0, 0};
+
+ if (GTK_WIDGET_DRAWABLE (check_button))
+ {
+ widget = GTK_WIDGET (check_button);
+ button = GTK_BUTTON (check_button);
+ toggle_button = GTK_TOGGLE_BUTTON (check_button);
+-
+- gtk_widget_style_get (widget, "interior_focus", &interior_focus,
+- "focus-line-width", &focus_width,
+- "focus-padding", &focus_pad, NULL);
+-
+- _gtk_check_button_get_props (check_button, &indicator_size, &indicator_spacing);
+-
+- x = widget->allocation.x + indicator_spacing + GTK_CONTAINER (widget)->border_width;
+- y = widget->allocation.y + (widget->allocation.height - indicator_size) / 2;
+-
+- child = GTK_BIN (check_button)->child;
+- if (!interior_focus || !(child && GTK_WIDGET_VISIBLE (child)))
+- x += focus_width + focus_pad;
+-
++ gtk_check_button_calc_indicator_size( check_button, &indicator );
++
++ /* move indicator to root coordinates */
++ indicator.x += widget->allocation.x;
++ indicator.y += widget->allocation.y;
++
+ if (toggle_button->inconsistent)
+ shadow_type = GTK_SHADOW_ETCHED_IN;
+ else if (toggle_button->active)
+ shadow_type = GTK_SHADOW_IN;
+ else
+ shadow_type = GTK_SHADOW_OUT;
+-
+- if (button->activate_timeout || (button->button_down && button->in_button))
++
++ if (button->activate_timeout ||
++ (button->button_down && button->in_button))
+ state_type = GTK_STATE_ACTIVE;
+ else if (button->in_button)
+ state_type = GTK_STATE_PRELIGHT;
+@@ -422,32 +481,107 @@
+ else
+ state_type = GTK_STATE_NORMAL;
+
+- if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+- x = widget->allocation.x + widget->allocation.width - (indicator_size + x - widget->allocation.x);
++ /* Hildon change. We want to draw active image always when we have
++ * focus. */
++ if (GTK_WIDGET_HAS_FOCUS (widget))
++ state_type = GTK_STATE_ACTIVE;
+
+- if (GTK_WIDGET_STATE (toggle_button) == GTK_STATE_PRELIGHT)
++ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ {
+- GdkRectangle restrict_area;
+- GdkRectangle new_area;
+-
+- restrict_area.x = widget->allocation.x + GTK_CONTAINER (widget)->border_width;
+- restrict_area.y = widget->allocation.y + GTK_CONTAINER (widget)->border_width;
+- restrict_area.width = widget->allocation.width - (2 * GTK_CONTAINER (widget)->border_width);
+- restrict_area.height = widget->allocation.height - (2 * GTK_CONTAINER (widget)->border_width);
++ indicator.x = widget->allocation.x + widget->allocation.width
++ - (indicator.width + indicator.x - widget->allocation.x);
+
+- if (gdk_rectangle_intersect (area, &restrict_area, &new_area))
+- {
+- gtk_paint_flat_box (widget->style, widget->window, GTK_STATE_PRELIGHT,
+- GTK_SHADOW_ETCHED_OUT,
+- area, widget, "checkbutton",
+- new_area.x, new_area.y,
+- new_area.width, new_area.height);
+- }
+ }
+
+ gtk_paint_check (widget->style, widget->window,
+ state_type, shadow_type,
+ area, widget, "checkbutton",
+- x, y, indicator_size, indicator_size);
++ indicator.x, indicator.y,
++ indicator.width, indicator.height);
++ }
++}
++
++
++/* calculates the size and position of the indicator
++ * relative to the origin of the check button.
++ */
++static void gtk_check_button_calc_indicator_size( GtkCheckButton *button,
++ GdkRectangle *rect )
++{
++ gint indicator_size;
++ gint indicator_spacing;
++ gint focus_width;
++ gint focus_pad;
++ gboolean interior_focus;
++ GtkWidget *child;
++ GtkWidget *widget = GTK_WIDGET(button);
++
++
++ gtk_widget_style_get (widget, "interior_focus", &interior_focus,
++ "focus-line-width", &focus_width,
++ "focus-padding", &focus_pad,
++ "indicator-size", &indicator_size,
++ "indicator-spacing", &indicator_spacing,
++ NULL
++ );
++
++
++ /* HILDON: We want the indicator to be positioned according to the spec.
++ *
++ * NOTE: INDICATOR_SIDE_PADDING and INDICATOR_TOP_PADDING
++ * are maJiKal numbers that make the indicator to be drawn
++ * to correct coordinates, 1337 \o/
++ */
++ rect->x = INDICATOR_SIDE_PADDING;
++ rect->y = ( widget->allocation.height - indicator_size ) / 2;
++
++ /* Hildon: we always add space for the focus */
++ rect->x += focus_width + focus_pad;
++
++ child = GTK_BIN (widget)->child;
++ if (interior_focus && child && GTK_WIDGET_VISIBLE (child))
++ {
++ rect->y += HILDON_SPACING;
+ }
++
++ rect->width = indicator_size;
++ rect->height = indicator_size;
+ }
++
++static void
++gtk_check_button_clicked (GtkButton *button)
++{
++ GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (button);
++
++ toggle_button->active = !toggle_button->active;
++ gtk_toggle_button_toggled (toggle_button);
++
++ gtk_check_button_update_state (button);
++
++ g_object_notify (G_OBJECT (toggle_button), "active");
++}
++
++static void
++gtk_check_button_update_state (GtkButton *button)
++{
++ GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (button);
++ gboolean depressed;
++ GtkStateType new_state;
++
++ if (toggle_button->inconsistent)
++ depressed = FALSE;
++ else if (button->in_button && button->button_down)
++ depressed = TRUE;
++ else
++ depressed = toggle_button->active;
++
++ if (button->in_button &&
++ (!button->button_down || toggle_button->draw_indicator))
++ new_state = GTK_STATE_PRELIGHT;
++ else
++ new_state = depressed ? GTK_STATE_ACTIVE : GTK_STATE_NORMAL;
++
++ _gtk_button_set_depressed (button, depressed);
++ gtk_widget_set_state (GTK_WIDGET (toggle_button), new_state);
++}
++
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcombobox.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcombobox.c.diff
new file mode 100644
index 0000000000..2376beaeaa
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcombobox.c.diff
@@ -0,0 +1,950 @@
+--- gtk+-2.6.4/gtk/gtkcombobox.c 2005-02-25 21:11:08.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkcombobox.c 2005-04-06 16:19:36.406003808 +0300
+@@ -17,6 +17,10 @@
+ * Boston, MA 02111-1307, USA.
+ */
+
++/*
++ * Modified for Nokia Oyj during 2002-2004.
++ */
++
+ #include <config.h>
+ #include "gtkalias.h"
+ #include "gtkcombobox.h"
+@@ -39,6 +43,8 @@
+ #include "gtktreeselection.h"
+ #include "gtkvseparator.h"
+ #include "gtkwindow.h"
++#include "gtkcomboboxentry.h"
++#include "gtktoolbar.h"
+
+ #include <gdk/gdkkeysyms.h>
+
+@@ -52,6 +58,13 @@
+
+ #include "gtktreeprivate.h"
+
++#define HILDON_MAX_WIDTH 406
++#define HILDON_MAX_HEIGHT 305
++#define HILDON_MAX_ITEMS 8
++/* this is also defined in gtkmenu.c and should be replaced with
++ a style property */
++#define MENU_SCROLL_ARROW_HEIGHT 20
++
+ /* WELCOME, to THE house of evil code */
+
+ typedef struct _ComboCellInfo ComboCellInfo;
+@@ -119,6 +132,9 @@
+ GtkTreeViewRowSeparatorFunc row_separator_func;
+ gpointer row_separator_data;
+ GtkDestroyNotify row_separator_destroy;
++
++ /* Hildon hack: state of our style property */
++ gboolean autodimmed_button;
+ };
+
+ /* While debugging this evil code, I have learned that
+@@ -201,6 +217,7 @@
+
+ #define BONUS_PADDING 4
+ #define SCROLL_TIME 100
++#define HILDON_PADDING 25
+
+ /* common */
+ static void gtk_combo_box_class_init (GtkComboBoxClass *klass);
+@@ -273,6 +290,14 @@
+ gboolean include_internals,
+ GtkCallback callback,
+ gpointer callback_data);
++static gboolean gtk_combo_box_focus_in (GtkWidget *widget,
++ GdkEventFocus *event);
++static gint gtk_combo_box_focus (GtkWidget *widget,
++ GtkDirectionType dir);
++static void gtk_combo_box_child_focus_in (GtkWidget *widget,
++ GdkEventFocus *event);
++static void gtk_combo_box_child_focus_out (GtkWidget *widget,
++ GdkEventFocus *event);
+ static gboolean gtk_combo_box_expose_event (GtkWidget *widget,
+ GdkEventExpose *event);
+ static gboolean gtk_combo_box_scroll_event (GtkWidget *widget,
+@@ -285,6 +310,12 @@
+
+ static void gtk_combo_box_check_appearance (GtkComboBox *combo_box);
+
++/* <Hildon addition> */
++extern void gtk_grab_combo_box_entry_focus (GtkComboBoxEntry *entry_box);
++
++static void gtk_combo_box_grab_focus (GtkWidget *focus_widget);
++/* </hildon addition> */
++
+ /* listening to the model */
+ static void gtk_combo_box_model_row_inserted (GtkTreeModel *model,
+ GtkTreePath *path,
+@@ -424,6 +455,9 @@
+ static void gtk_combo_box_start_editing (GtkCellEditable *cell_editable,
+ GdkEvent *event);
+
++static void gtk_combo_box_menu_position_above (GtkMenu *menu, gint *x,
++ gint *y, gboolean *push_in,
++ gpointer user_data);
+
+ GType
+ gtk_combo_box_get_type (void)
+@@ -479,6 +513,25 @@
+ return combo_box_type;
+ }
+
++/* Hildon addition: Check if the button needs to be dimmed */
++static void hildon_check_autodim(GtkComboBox *combo_box)
++{
++ GtkWidget *widget;
++ GtkTreeModel *model;
++ GtkTreeIter iter;
++
++ widget = combo_box->priv->button;
++ model = combo_box->priv->model;
++
++ if (combo_box->priv->autodimmed_button && widget != NULL)
++ {
++ if (model && gtk_tree_model_get_iter_first(model, &iter))
++ gtk_widget_set_sensitive(widget, TRUE);
++ else
++ gtk_widget_set_sensitive(widget, FALSE);
++ }
++}
++
+ /* common */
+ static void
+ gtk_combo_box_class_init (GtkComboBoxClass *klass)
+@@ -504,6 +557,11 @@
+ widget_class->mnemonic_activate = gtk_combo_box_mnemonic_activate;
+ widget_class->style_set = gtk_combo_box_style_set;
+ widget_class->state_changed = gtk_combo_box_state_changed;
++
++ /* Hildon addition */
++ widget_class->grab_focus = gtk_combo_box_grab_focus;
++ widget_class->focus_in_event = gtk_combo_box_focus_in;
++ widget_class->focus = gtk_combo_box_focus;
+
+ gtk_object_class = (GtkObjectClass *)klass;
+ gtk_object_class->destroy = gtk_combo_box_destroy;
+@@ -687,6 +745,41 @@
+ FALSE,
+ G_PARAM_READABLE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("hildonlike",
++ _("Size request"),
++ _("Size allocate"),
++ FALSE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("arrow-height",
++ P_("Arrow height for option menu"),
++ P_("Sets arrow height"),
++ 0,
++ G_MAXINT,
++ 28,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("arrow-width",
++ P_("Arrow width for option menu"),
++ P_("Sets arrow width"),
++ 0,
++ G_MAXINT,
++ 26,
++ G_PARAM_READWRITE));
++
++
++ /* Hildon hack: style property for enabling the autodimming hack */
++ gtk_widget_class_install_style_property (
++ widget_class,
++ g_param_spec_boolean ("autodimmed_button",
++ _("Autodimmed button"),
++ _("Automatically dims the button if the list is empty"),
++ FALSE,
++ G_PARAM_READABLE));
++
+ g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
+ }
+
+@@ -731,6 +824,11 @@
+ combo_box->priv->editing_canceled = FALSE;
+ combo_box->priv->auto_scroll = FALSE;
+ combo_box->priv->focus_on_click = TRUE;
++
++ /* Hildon hack: default value for our style property if it is queried before
++ * the style is set */
++ combo_box->priv->autodimmed_button = FALSE;
++ GTK_WIDGET_SET_FLAGS ( combo_box, GTK_CAN_FOCUS );
+ }
+
+ static void
+@@ -911,7 +1009,19 @@
+ {
+ GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
+
++ /* Hildon hack: read the state of our style property */
++ gtk_widget_style_get (GTK_WIDGET(combo_box),
++ "autodimmed_button", &(combo_box->priv->autodimmed_button), NULL);
++
+ gtk_combo_box_check_appearance (combo_box);
++
++ /* Hildon hack: handle the dimmed state of the button in regards whether
++ * the list is empty or not. This has to be done here because
++ * in the callback functions of GtkTreeModel the button widget
++ * may have not yet been set. However, we repeat this stuff in
++ * those functions, because later the button will be set and
++ * we want to update our state. */
++ hildon_check_autodim(combo_box);
+
+ if (combo_box->priv->tree_view && combo_box->priv->cell_view)
+ gtk_cell_view_set_background_color (GTK_CELL_VIEW (combo_box->priv->cell_view),
+@@ -922,10 +1032,17 @@
+ gtk_combo_box_button_toggled (GtkWidget *widget,
+ gpointer data)
+ {
++ gboolean hildonlike;
+ GtkComboBox *combo_box = GTK_COMBO_BOX (data);
++
++ gtk_widget_style_get (GTK_WIDGET (combo_box), "hildonlike", &hildonlike, NULL);
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
+ {
++ if (hildonlike) {
++ gtk_combo_box_grab_focus(GTK_WIDGET(combo_box));
++ }
++
+ if (!combo_box->priv->popup_in_progress)
+ gtk_combo_box_popup (combo_box);
+ }
+@@ -1103,7 +1220,7 @@
+ {
+ gtk_container_remove (GTK_CONTAINER (combo_box->priv->popup_frame),
+ combo_box->priv->popup_widget);
+- g_object_unref (combo_box->priv->popup_widget);
++ g_object_unref (G_OBJECT (combo_box->priv->popup_widget));
+ combo_box->priv->popup_widget = NULL;
+ }
+
+@@ -1175,7 +1292,7 @@
+ popup);
+
+ gtk_widget_show (popup);
+- g_object_ref (popup);
++ g_object_ref (G_OBJECT (popup));
+ combo_box->priv->popup_widget = popup;
+ }
+ }
+@@ -1250,9 +1367,13 @@
+ GtkRequisition requisition;
+ GList *children;
+ gint screen_width;
++ gint screen_height;
+ gint menu_xpos;
+ gint menu_ypos;
+- gint menu_width;
++ gint menu_width, menu_height;
++ gint counter = 0;
++ gint scroll_offset = 0;
++ gint max_items = 0;
+
+ g_return_if_fail (GTK_IS_COMBO_BOX (user_data));
+
+@@ -1261,6 +1382,7 @@
+
+ gtk_widget_get_child_requisition (GTK_WIDGET (menu), &requisition);
+ menu_width = requisition.width;
++ menu_height = requisition.height;
+
+ active = gtk_menu_get_active (GTK_MENU (combo_box->priv->popup_widget));
+ gdk_window_get_origin (widget->window, &menu_xpos, &menu_ypos);
+@@ -1275,6 +1397,11 @@
+ }
+
+ children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->children;
++ child = children->data;
++ gtk_widget_get_child_requisition (child, &requisition);
++ max_items = (HILDON_MAX_HEIGHT-2*MENU_SCROLL_ARROW_HEIGHT)/requisition.height;
++ max_items -= 1;
++
+ while (children)
+ {
+ child = children->data;
+@@ -1284,27 +1411,119 @@
+
+ if (GTK_WIDGET_VISIBLE (child))
+ {
+- gtk_widget_get_child_requisition (child, &requisition);
+- menu_ypos -= requisition.height;
++ if (counter < max_items - 2)
++ menu_ypos -= requisition.height;
++ if (counter > max_items - 3)
++ scroll_offset += requisition.height;
+ }
+-
++
++ counter++;
+ children = children->next;
+ }
++ gtk_widget_get_child_requisition (GTK_WIDGET(menu), &requisition);
+
++ if ( requisition.height >= HILDON_MAX_HEIGHT )
++ menu_ypos -= MENU_SCROLL_ARROW_HEIGHT;
++
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ menu_xpos = menu_xpos + widget->allocation.width - menu_width;
+
++ {
++ gint menu_xpad, menu_ypad;
++ gtk_widget_style_get (GTK_WIDGET (menu),
++ "horizontal-padding", &menu_xpad,
++ "vertical-padding", &menu_ypad,
++ NULL);
++ menu_xpos -= menu_xpad - 3;
++ menu_ypos -= menu_ypad - 1;
++ }
++
+ /* Clamp the position on screen */
+ screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget));
++ screen_height = gdk_screen_get_height (gtk_widget_get_screen (widget));
+
+ if (menu_xpos < 0)
+ menu_xpos = 0;
+ else if ((menu_xpos + menu_width) > screen_width)
+ menu_xpos -= ((menu_xpos + menu_width) - screen_width);
+
++ if (menu_ypos + menu_height > screen_height)
++ {
++ menu_ypos = screen_height - menu_height;
++ }
++ if (menu_ypos < 0)
++ {
++ menu_ypos = 0;
++ }
++
++ GTK_MENU(combo_box->priv->popup_widget)->scroll_offset = scroll_offset;
++
+ *x = menu_xpos;
+ *y = menu_ypos;
+
++ *push_in = FALSE;
++}
++
++static void
++gtk_combo_box_menu_position_above (GtkMenu *menu,
++ gint *x,
++ gint *y,
++ gboolean *push_in,
++ gpointer user_data)
++{
++ /*
++ * This function positiones the menu above widgets.
++ * This is a modified version of the position function
++ * gtk_combo_box_position_over.
++ * NB: This is only used when gtkcombobox is in toolbar!
++ */
++
++ GtkWidget *child;
++ GtkRequisition requisition;
++ GList *children;
++ gint screen_width;
++ gint menu_xpos;
++ gint menu_ypos;
++ gint gx,gy;
++ gint menu_width;
++ GtkWidget *widget;
++
++ widget = GTK_WIDGET(user_data);
++
++ gtk_widget_get_child_requisition (GTK_WIDGET (menu), &requisition);
++ menu_width = requisition.width;
++
++ gdk_window_get_position(GDK_WINDOW(widget->window), &gx, &gy);
++ gtk_widget_translate_coordinates (widget, gtk_widget_get_toplevel(widget),
++ gx, gy, &menu_xpos, &menu_ypos);
++
++ menu_ypos -= GTK_WIDGET(menu)->style->ythickness * 2;
++ menu_ypos -= GTK_WIDGET(widget)->style->ythickness * 2;
++
++ menu_ypos -= widget->allocation.height;
++
++ children = GTK_MENU_SHELL (menu)->children;
++ while (children) {
++ child = children->data;
++ if (GTK_WIDGET_VISIBLE (child)){
++ gtk_widget_get_child_requisition (child, &requisition);
++ menu_ypos -= requisition.height;
++ }
++ children = children->next;
++ }
++
++ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
++ menu_xpos = menu_xpos + widget->allocation.width - menu_width;
++
++ screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget));
++
++ if (menu_xpos < 0)
++ menu_xpos = 0;
++ else if ((menu_xpos + menu_width) > screen_width)
++ menu_xpos -= ((menu_xpos + menu_width) - screen_width);
++
++ *x = menu_xpos;
++ *y = menu_ypos;
+ *push_in = TRUE;
+ }
+
+@@ -1318,21 +1537,44 @@
+ GtkComboBox *combo_box;
+ GtkWidget *menu_item;
+
++ gboolean hildonlike;
++
+ combo_box = GTK_COMBO_BOX (user_data);
+
+- if (combo_box->priv->wrap_width > 0 || combo_box->priv->cell_view == NULL)
+- gtk_combo_box_menu_position_below (menu, x, y, push_in, user_data);
+- else
++ gtk_widget_style_get (GTK_WIDGET (combo_box), "hildonlike", &hildonlike, NULL);
++
++ if (!(combo_box->priv->wrap_width > 0 || combo_box->priv->cell_view == NULL))
+ {
+ /* FIXME handle nested menus better */
+ menu_item = gtk_menu_get_active (GTK_MENU (combo_box->priv->popup_widget));
+ if (menu_item)
+ gtk_menu_shell_select_item (GTK_MENU_SHELL (combo_box->priv->popup_widget),
+ menu_item);
++ }
+
+- gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data);
++ if (hildonlike)
++ {
++ /* HILDON: we check if combobox is in a toolbar */
++ gboolean in_toolbar = gtk_widget_get_ancestor(GTK_WIDGET(combo_box), GTK_TYPE_TOOLBAR) != NULL;
++ if (in_toolbar)
++ {
++ /*due to limits in combo's sizes we use position_over here also*/
++ gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data);
++ return;
++ }
+ }
+
++ if (combo_box->priv->wrap_width > 0 || combo_box->priv->cell_view == NULL)
++/*
++ * Changed because we always want the combo box position to be over
++ * the combo box, unless it's in toolbar.
++ *
++ gtk_combo_box_menu_position_below (menu, x, y, push_in, user_data);
++*/
++ gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data);
++ else
++ gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data);
++
+ }
+
+ static void
+@@ -1430,7 +1672,7 @@
+ list = cells;
+ while (list)
+ {
+- g_object_get (list->data, "sensitive", &sensitive, NULL);
++ g_object_get (G_OBJECT (list->data), "sensitive", &sensitive, NULL);
+
+ if (sensitive)
+ break;
+@@ -1469,7 +1711,7 @@
+ list = cells;
+ while (list)
+ {
+- g_object_get (list->data, "sensitive", &sensitive, NULL);
++ g_object_get (G_OBJECT (list->data), "sensitive", &sensitive, NULL);
+
+ if (sensitive)
+ break;
+@@ -1516,8 +1758,8 @@
+ if (menu != combo_box->priv->popup_widget && child == children)
+ {
+ separator = GTK_WIDGET (child->next->data);
+- g_object_set (item, "visible", sensitive, NULL);
+- g_object_set (separator, "visible", sensitive, NULL);
++ g_object_set (G_OBJECT (item), "visible", sensitive, NULL);
++ g_object_set (G_OBJECT (separator), "visible", sensitive, NULL);
+ }
+ else
+ gtk_widget_set_sensitive (item, sensitive);
+@@ -1543,16 +1785,19 @@
+ if (gtk_tree_row_reference_valid (combo_box->priv->active_row))
+ {
+ path = gtk_tree_row_reference_get_path (combo_box->priv->active_row);
+- active_item = gtk_tree_path_get_indices (path)[0];
+- gtk_tree_path_free (path);
+-
+- if (combo_box->priv->add_tearoffs)
+- active_item++;
++ if (path)
++ {
++ active_item = gtk_tree_path_get_indices (path)[0];
++ gtk_tree_path_free (path);
++
++ if (combo_box->priv->add_tearoffs)
++ active_item++;
++ }
+ }
+
+ /* FIXME handle nested menus better */
+- gtk_menu_set_active (GTK_MENU (combo_box->priv->popup_widget), active_item);
+-
++ gtk_menu_set_active (GTK_MENU (combo_box->priv->popup_widget), active_item);
++
+ if (combo_box->priv->wrap_width == 0)
+ {
+ width = GTK_WIDGET (combo_box)->allocation.width;
+@@ -1684,6 +1929,7 @@
+ {
+ gint padding;
+ GtkRequisition req;
++ gboolean hildonlike;
+
+ if (combo_box->priv->cell_view)
+ gtk_widget_style_get (combo_box->priv->cell_view,
+@@ -1691,9 +1937,17 @@
+ NULL);
+ else
+ padding = 0;
++
++ gtk_widget_style_get (GTK_WIDGET (combo_box), "hildonlike", &hildonlike,
++ NULL);
+
+ /* add some pixels for good measure */
+- padding += BONUS_PADDING;
++ /* Hildon: we need more padding because our theming
++ * Not elegent way to do it anyway ... */
++ if (hildonlike)
++ padding += HILDON_PADDING;
++ else
++ padding += BONUS_PADDING;
+
+ if (combo_box->priv->cell_view)
+ gtk_cell_view_get_size_of_row (GTK_CELL_VIEW (combo_box->priv->cell_view),
+@@ -1709,6 +1963,7 @@
+ {
+ GtkTreeIter iter;
+ GtkTreePath *path;
++ gboolean hildonlike;
+
+ if (!combo_box->priv->model ||
+ !gtk_tree_model_get_iter_first (combo_box->priv->model, &iter))
+@@ -1717,6 +1972,7 @@
+ combo_box->priv->width = 0;
+
+ path = gtk_tree_path_new_from_indices (0, -1);
++ gtk_widget_style_get (GTK_WIDGET (combo_box), "hildonlike", &hildonlike, NULL);
+
+ do
+ {
+@@ -1727,8 +1983,11 @@
+ path, &req);
+ else
+ req.width = 0;
++ /* Hildon: we need more padding because our theming
++ * Not elegent way to do it anyway ... */
+
+- combo_box->priv->width = MAX (combo_box->priv->width, req.width);
++ combo_box->priv->width = MAX (combo_box->priv->width,
++ req.width + (hildonlike == 1) ? HILDON_PADDING : 0 );
+
+ gtk_tree_path_next (path);
+ }
+@@ -1744,10 +2003,19 @@
+ gint width, height;
+ gint focus_width, focus_pad;
+ GtkRequisition bin_req;
++ gboolean hildonlike;
++ gint arrow_width;
++ gint arrow_height;
+
+ GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
+
+ gtk_combo_box_check_appearance (combo_box);
++
++ /* get hildonlike style property */
++ gtk_widget_style_get (widget, "hildonlike",
++ &hildonlike, "arrow-width",
++ &arrow_width, "arrow-height",
++ &arrow_height, NULL);
+
+ /* common */
+ gtk_widget_size_request (GTK_BIN (widget)->child, &bin_req);
+@@ -1829,6 +2097,13 @@
+ requisition->height = MAX (requisition->height, button_req.height);
+ requisition->width += button_req.width;
+ }
++
++ requisition->width = MIN (requisition->width, HILDON_MAX_WIDTH);
++
++ /* HILDON quick fix: height forced to be 28px as specified by Hildon specs. */
++ if (hildonlike)
++ if (requisition->height > arrow_height)
++ requisition->height = arrow_height;
+ }
+
+ static void
+@@ -1839,17 +2114,32 @@
+ gint focus_width, focus_pad;
+ GtkAllocation child;
+ GtkRequisition req;
++ GtkRequisition child_req;
+ gboolean is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
++ gboolean hildonlike;
++ gint arrow_width;
++ gint arrow_height;
+
+ gtk_combo_box_check_appearance (combo_box);
+
+- widget->allocation = *allocation;
+-
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
++ "hildonlike", &hildonlike,
++ "arrow-width", &arrow_width,
++ "arrow-height", &arrow_height,
+ NULL);
+
++ /* HILDON: set height to fixed value */
++ if (hildonlike)
++ if (allocation->height > arrow_height)
++ {
++ allocation->y += (allocation->height - arrow_height) / 2;
++ allocation->height = arrow_height;
++ }
++
++ widget->allocation = *allocation;
++
+ if (!combo_box->priv->tree_view)
+ {
+ if (combo_box->priv->cell_view)
+@@ -1909,7 +2199,16 @@
+ child.width = child.x;
+ child.x = allocation->x
+ + border_width + xthickness + focus_width + focus_pad;
+- child.width -= child.x;
++ child.width -= child.x + xthickness;
++ }
++
++ if (hildonlike)
++ {
++ gtk_widget_size_request(GTK_BIN(widget)->child, &child_req);
++ child.y += (child.height - child_req.height) / 2;
++ child.height = child_req.height;
++ gtk_widget_hide(combo_box->priv->separator);
++ gtk_widget_hide(combo_box->priv->arrow);
+ }
+
+ child.width = MAX (1, child.width);
+@@ -1928,6 +2227,11 @@
+ child.height = allocation->height;
+ child.width = MAX (1, child.width);
+ child.height = MAX (1, child.height);
++
++ /* HILDON quick fix */
++ if (hildonlike)
++ child.width = arrow_width;
++
+ gtk_widget_size_allocate (combo_box->priv->button, &child);
+
+ if (is_rtl)
+@@ -1938,6 +2242,13 @@
+ child.width = allocation->width - req.width;
+ child.width = MAX (1, child.width);
+ child.height = MAX (1, child.height);
++
++ if (hildonlike)
++ {
++ gtk_widget_size_request(GTK_BIN(widget)->child, &child_req);
++ child.y += (child.height - child_req.height) / 2;
++ child.height = child_req.height;
++ }
+ gtk_widget_size_allocate (GTK_BIN (widget)->child, &child);
+ }
+ }
+@@ -1990,6 +2301,11 @@
+ GTK_WIDGET (combo_box->priv->cell_view_frame)->style->ythickness);
+ }
+ }
++
++ gtk_widget_size_request(GTK_BIN(widget)->child, &child_req);
++
++ child.y += (child.height - child_req.height) / 2;
++ child.height = child_req.height;
+
+ child.width = MAX (1, child.width);
+ child.height = MAX (1, child.height);
+@@ -2036,6 +2352,8 @@
+ gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (combo_box->priv->cell_view), NULL);
+ }
+
++
++
+ static void
+ gtk_combo_box_forall (GtkContainer *container,
+ gboolean include_internals,
+@@ -2057,6 +2375,46 @@
+ }
+
+ static gboolean
++gtk_combo_box_focus_in (GtkWidget *widget,
++ GdkEventFocus *event)
++{
++ g_return_val_if_fail( widget, FALSE );
++
++ if ( !GTK_CONTAINER( widget )->focus_child )
++ {
++ gtk_combo_box_grab_focus ( GTK_WIDGET(widget) );
++ return TRUE;
++ }
++ return FALSE;
++}
++
++static gint
++gtk_combo_box_focus (GtkWidget *widget,
++ GtkDirectionType dir)
++{
++ g_return_val_if_fail (widget, FALSE);
++ if (GTK_WIDGET_HAS_FOCUS(widget)||GTK_CONTAINER(widget)->focus_child)
++ return FALSE;
++
++ gtk_widget_grab_focus (widget);
++ return TRUE;
++}
++
++static void
++gtk_combo_box_child_focus_in (GtkWidget * widget,
++ GdkEventFocus *event)
++{
++ gtk_widget_event( widget, (GdkEvent*)event );
++}
++
++static void
++gtk_combo_box_child_focus_out (GtkWidget * widget,
++ GdkEventFocus *event)
++{
++ gtk_widget_event( widget, (GdkEvent*)event );
++}
++
++static gboolean
+ gtk_combo_box_expose_event (GtkWidget *widget,
+ GdkEventExpose *event)
+ {
+@@ -2357,11 +2715,13 @@
+ gboolean add_children)
+ {
+ GtkWidget *menu;
++ gboolean hildonlike;
++
++ gtk_widget_style_get (GTK_WIDGET (combo_box), "hildonlike", &hildonlike, NULL);
+
+ if (combo_box->priv->cell_view)
+ {
+ combo_box->priv->button = gtk_toggle_button_new ();
+-
+ g_signal_connect (combo_box->priv->button, "toggled",
+ G_CALLBACK (gtk_combo_box_button_toggled), combo_box);
+ g_signal_connect_after (combo_box->priv->button,
+@@ -2400,6 +2760,9 @@
+ gtk_widget_show_all (combo_box->priv->button);
+ }
+
++ g_signal_connect_swapped (combo_box->priv->button, "focus_in_event", G_CALLBACK (gtk_combo_box_child_focus_in), combo_box);
++ g_signal_connect_swapped (combo_box->priv->button, "focus_out_event", G_CALLBACK (gtk_combo_box_child_focus_out), combo_box);
++
+ g_signal_connect (combo_box->priv->button, "button_press_event",
+ G_CALLBACK (gtk_combo_box_menu_button_press),
+ combo_box);
+@@ -2749,6 +3112,9 @@
+ {
+ GtkComboBox *combo_box = GTK_COMBO_BOX (user_data);
+
++ /* Hildon hack: sets the popup button sensitive if we have items in the list */
++ hildon_check_autodim(combo_box);
++
+ gtk_tree_row_reference_inserted (G_OBJECT (user_data), path);
+
+ if (combo_box->priv->tree_view)
+@@ -2783,7 +3149,10 @@
+ if (combo_box->priv->tree_view)
+ gtk_combo_box_list_popup_resize (combo_box);
+ else
+- gtk_combo_box_menu_row_deleted (model, path, user_data);
++ gtk_combo_box_menu_row_deleted (model, path, user_data);
++
++ /* Hildon hack: dim the popup button in case item count reaches 0 */
++ hildon_check_autodim(combo_box);
+ }
+
+ static void
+@@ -3458,10 +3827,46 @@
+ gboolean found;
+ GtkTreeIter iter;
+ GtkTreeIter new_iter;
++ gboolean hildonlike;
++ gint index = gtk_combo_box_get_active (combo_box);
++ gint new_index;
++ gint items = 0;
+
+ if (combo_box->priv->model == NULL)
+ return FALSE;
+
++ items = gtk_tree_model_iter_n_children (combo_box->priv->model, NULL);
++
++ gtk_widget_style_get (GTK_WIDGET (combo_box), "hildonlike",
++ &hildonlike, NULL);
++
++ /* Hildon select key */
++ if (hildonlike)
++ {
++ if (event->keyval == GDK_KP_Enter || event->keyval == GDK_Return)
++ {
++ gtk_combo_box_popup (combo_box);
++ return TRUE;
++ }
++ else if (event->keyval == GDK_Left && items != 0)
++ {
++ new_index = (index == 0) ? items - 1 : index - 1;
++ gtk_combo_box_set_active (combo_box, new_index);
++ return TRUE;
++ }
++ else if (event->keyval == GDK_Right && items != 0)
++ {
++ new_index = (index == items - 1) ? 0 : index + 1;
++ gtk_combo_box_set_active (combo_box, new_index);
++ return TRUE;
++ }
++ else if ((event->keyval == GDK_Down || event->keyval == GDK_KP_Down)
++ || (event->keyval == GDK_Up || event->keyval == GDK_KP_Up))
++ {
++ return FALSE;
++ }
++ }
++
+ if ((event->keyval == GDK_Down || event->keyval == GDK_KP_Down) &&
+ state == GDK_MOD1_MASK)
+ {
+@@ -3714,7 +4119,7 @@
+
+ combo_box = GTK_COMBO_BOX (layout);
+
+- g_object_ref (cell);
++ g_object_ref (G_OBJECT (cell));
+ gtk_object_sink (GTK_OBJECT (cell));
+
+ info = g_new0 (ComboCellInfo, 1);
+@@ -3771,7 +4176,7 @@
+
+ combo_box = GTK_COMBO_BOX (layout);
+
+- g_object_ref (cell);
++ g_object_ref (G_OBJECT (cell));
+ gtk_object_sink (GTK_OBJECT (cell));
+
+ info = g_new0 (ComboCellInfo, 1);
+@@ -3833,7 +4238,7 @@
+ ComboCellInfo *info = (ComboCellInfo *)i->data;
+
+ gtk_combo_box_cell_layout_clear_attributes (layout, info->cell);
+- g_object_unref (info->cell);
++ g_object_unref (G_OBJECT (info->cell));
+ g_free (info);
+ i->data = NULL;
+ }
+@@ -3922,7 +4327,7 @@
+
+ if (GTK_IS_MENU_ITEM (parent) &&
+ gtk_menu_item_get_submenu (GTK_MENU_ITEM (parent)))
+- g_object_set (cell, "sensitive", TRUE, NULL);
++ g_object_set (G_OBJECT (cell), "sensitive", TRUE, NULL);
+ }
+
+
+@@ -4137,7 +4542,7 @@
+ GtkWidget *
+ gtk_combo_box_new (void)
+ {
+- return g_object_new (GTK_TYPE_COMBO_BOX, NULL);
++ return GTK_WIDGET (g_object_new (GTK_TYPE_COMBO_BOX, NULL));
+ }
+
+ /**
+@@ -4157,7 +4562,9 @@
+
+ g_return_val_if_fail (GTK_IS_TREE_MODEL (model), NULL);
+
+- combo_box = g_object_new (GTK_TYPE_COMBO_BOX, "model", model, NULL);
++ combo_box = GTK_COMBO_BOX (g_object_new (GTK_TYPE_COMBO_BOX,
++ "model", model,
++ NULL));
+
+ return GTK_WIDGET (combo_box);
+ }
+@@ -4512,6 +4919,7 @@
+ if (!model)
+ {
+ gtk_combo_box_unset_model (combo_box);
++ hildon_check_autodim(combo_box);
+ return;
+ }
+
+@@ -4524,7 +4932,7 @@
+ gtk_combo_box_unset_model (combo_box);
+
+ combo_box->priv->model = model;
+- g_object_ref (combo_box->priv->model);
++ g_object_ref (G_OBJECT (combo_box->priv->model));
+
+ combo_box->priv->inserted_id =
+ g_signal_connect (combo_box->priv->model, "row_inserted",
+@@ -4561,6 +4969,8 @@
+ if (combo_box->priv->cell_view)
+ gtk_cell_view_set_model (GTK_CELL_VIEW (combo_box->priv->cell_view),
+ combo_box->priv->model);
++
++ hildon_check_autodim(combo_box);
+ }
+
+ /**
+@@ -5140,3 +5550,33 @@
+
+ return combo->priv->focus_on_click;
+ }
++/* Hildon addition:
++ * This is added, because we need to be able grab focus for our widget.
++ * Focus grabbing can happen it two ways: If we are using combobox entry
++ * we grab entry widget focus, otherwise togglebutton focus
++ */
++static void gtk_combo_box_grab_focus (GtkWidget *focus_widget)
++{
++ GtkComboBox *combo_box;
++ GtkComboBoxEntry *combo_entry;
++ gboolean hildonlike;
++
++ combo_box = GTK_COMBO_BOX (focus_widget);
++
++ gtk_widget_style_get (focus_widget, "hildonlike",
++ &hildonlike, NULL);
++
++ if (hildonlike)
++ {
++ /* Are we in entry mode ? */
++ if ( GTK_IS_COMBO_BOX_ENTRY(combo_box))
++ {
++ combo_entry = GTK_COMBO_BOX_ENTRY (combo_box);
++ gtk_grab_combo_box_entry_focus (combo_entry);
++ }
++ else
++ {
++ gtk_widget_grab_focus (combo_box->priv->button);
++ }
++ }
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcomboboxentry.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcomboboxentry.c.diff
new file mode 100644
index 0000000000..43a861abd6
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcomboboxentry.c.diff
@@ -0,0 +1,24 @@
+--- gtk+-2.6.4/gtk/gtkcomboboxentry.c 2004-11-20 01:18:37.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkcomboboxentry.c 2005-04-06 16:19:36.407003656 +0300
+@@ -55,6 +55,8 @@
+ gpointer user_data);
+ static gboolean gtk_combo_box_entry_mnemonic_activate (GtkWidget *entry,
+ gboolean group_cycling);
++/*static void gtk_grab_combo_box_entry_focus (GtkComboBoxEntry *entry_box);*/
++
+ static void has_frame_changed (GtkComboBoxEntry *entry_box,
+ GParamSpec *pspec,
+ gpointer data);
+@@ -382,3 +384,12 @@
+
+ return entry_box;
+ }
++
++/* Hildon: this is added because we need to grab focus from caption control
++ * to ComboBox entry.
++ */
++void
++gtk_grab_combo_box_entry_focus (GtkComboBoxEntry *entry_box)
++{
++ gtk_widget_grab_focus (entry_box->priv->entry);
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcontainer.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcontainer.c.diff
new file mode 100644
index 0000000000..abd251bdcb
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcontainer.c.diff
@@ -0,0 +1,284 @@
+--- gtk+-2.6.4/gtk/gtkcontainer.c 2005-03-01 08:28:55.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkcontainer.c 2005-04-06 16:19:36.410003200 +0300
+@@ -37,10 +37,13 @@
+ #include "gtkwindow.h"
+ #include "gtkintl.h"
+ #include "gtktoolbar.h"
++#include "gtkmenu.h"
++#include "gtkentry.h"
++#include "gtktextview.h"
++#include "gtkwidget.h"
+ #include <gobject/gobjectnotifyqueue.c>
+ #include <gobject/gvaluecollector.h>
+
+-
+ enum {
+ ADD,
+ REMOVE,
+@@ -56,6 +59,19 @@
+ PROP_CHILD
+ };
+
++enum {
++ FOCUS_MOVE_OK,
++ FOCUS_MOVE_OK_NO_MOVE,
++ FOCUS_MOVE_FAIL_NO_TEXT
++};
++
++typedef struct
++{
++ GtkWidget *menu;
++ void *func;
++ GtkWidgetTapAndHoldFlags flags;
++} GtkContainerTAH;
++
+ #define PARAM_SPEC_PARAM_ID(pspec) ((pspec)->param_id)
+ #define PARAM_SPEC_SET_PARAM_ID(pspec, id) ((pspec)->param_id = (id))
+
+@@ -87,6 +103,9 @@
+ static gboolean gtk_container_focus_move (GtkContainer *container,
+ GList *children,
+ GtkDirectionType direction);
++static gint gtk_container_focus_move_with_tab (GtkContainer *container,
++ GtkDirectionType direction,
++ GtkWidget **fallback);
+ static void gtk_container_children_callback (GtkWidget *widget,
+ gpointer client_data);
+ static void gtk_container_show_all (GtkWidget *widget);
+@@ -95,10 +114,14 @@
+ GdkEventExpose *event);
+ static void gtk_container_map (GtkWidget *widget);
+ static void gtk_container_unmap (GtkWidget *widget);
+-
++static void gtk_container_tap_and_hold_setup (GtkWidget *widget,
++ GtkWidget *menu, GtkCallback func, GtkWidgetTapAndHoldFlags flags);
+ static gchar* gtk_container_child_default_composite_name (GtkContainer *container,
+ GtkWidget *child);
++static void gtk_container_tap_and_hold_setup_forall( GtkWidget *widget,
++ GtkContainerTAH *tah );
+
++static void gtk_container_grab_focus( GtkWidget *focus_widget );
+
+ /* --- variables --- */
+ static const gchar vadjustment_key[] = "gtk-vadjustment";
+@@ -190,7 +213,9 @@
+ widget_class->map = gtk_container_map;
+ widget_class->unmap = gtk_container_unmap;
+ widget_class->focus = gtk_container_focus;
+-
++ widget_class->tap_and_hold_setup = gtk_container_tap_and_hold_setup;
++ widget_class->grab_focus = gtk_container_grab_focus;
++
+ class->add = gtk_container_add_unimplemented;
+ class->remove = gtk_container_remove_unimplemented;
+ class->check_resize = gtk_container_real_check_resize;
+@@ -2011,6 +2036,24 @@
+ GtkWidget *focus_child;
+ GtkWidget *child;
+
++ /*
++ * If there's an item focus already and tab was pressed, only go thru
++ * GtkEntries and GtkTextviews. Do _not_ jump from last widget to the first
++ * one and vice verca.
++ */
++ if ((direction == GTK_DIR_TAB_FORWARD || direction == GTK_DIR_TAB_BACKWARD) &&
++ container->focus_child != NULL)
++ {
++ GtkWidget *fallback;
++ fallback = NULL;
++ if (gtk_container_focus_move_with_tab (container, direction, &fallback)
++ != FOCUS_MOVE_FAIL_NO_TEXT)
++ return TRUE;
++
++ if (fallback && gtk_widget_child_focus (fallback, direction))
++ return TRUE;
++ }
++
+ focus_child = container->focus_child;
+
+ while (children)
+@@ -2019,7 +2062,7 @@
+ children = children->next;
+
+ if (!child)
+- continue;
++ continue;
+
+ if (focus_child)
+ {
+@@ -2027,8 +2070,8 @@
+ {
+ focus_child = NULL;
+
+- if (gtk_widget_child_focus (child, direction))
+- return TRUE;
++ if (gtk_widget_child_focus (child, direction))
++ return TRUE;
+ }
+ }
+ else if (GTK_WIDGET_DRAWABLE (child) &&
+@@ -2042,6 +2085,105 @@
+ return FALSE;
+ }
+
++static gint
++gtk_container_focus_move_with_tab (GtkContainer *container,
++ GtkDirectionType direction,
++ GtkWidget **fallback)
++{
++ GList *children, *sorted_children;
++ GtkWidget *child;
++ GtkWidget *focus_child;
++ gboolean found_text;
++ gint ret;
++
++ found_text = FALSE;
++ focus_child = container->focus_child;
++
++ /* This part is copied from gtk_container_focus() */
++ if (container->has_focus_chain)
++ children = g_list_copy (get_focus_chain (container));
++ else
++ children = gtk_container_get_all_children (container);
++
++ if (container->has_focus_chain &&
++ (direction == GTK_DIR_TAB_FORWARD ||
++ direction == GTK_DIR_TAB_BACKWARD))
++ {
++ sorted_children = g_list_copy (children);
++
++ if (direction == GTK_DIR_TAB_BACKWARD)
++ sorted_children = g_list_reverse (sorted_children);
++ }
++ else
++ sorted_children = _gtk_container_focus_sort (container, children,
++ direction, NULL);
++ g_list_free(children);
++ children = sorted_children;
++
++ while (children)
++ {
++ child = children->data;
++ children = children->next;
++
++ if (!child)
++ continue;
++
++ if (GTK_IS_ENTRY (child) || GTK_IS_TEXT_VIEW (child))
++ found_text = TRUE;
++
++ if (focus_child)
++ {
++ if (child == focus_child)
++ {
++ focus_child = NULL;
++ if (GTK_IS_CONTAINER (child))
++ {
++ ret = gtk_container_focus_move_with_tab (GTK_CONTAINER (child),
++ direction,
++ fallback);
++ if (ret == FOCUS_MOVE_OK)
++ {
++ g_list_free (sorted_children);
++ return FOCUS_MOVE_OK;
++ }
++ else if (ret == FOCUS_MOVE_OK_NO_MOVE)
++ found_text = TRUE;
++ }
++ }
++ }
++ else if (GTK_WIDGET_DRAWABLE (child) &&
++ gtk_widget_is_ancestor (child, GTK_WIDGET (container)))
++ {
++ if (GTK_IS_ENTRY (child) || GTK_IS_TEXT_VIEW (child))
++ {
++ if (gtk_widget_child_focus (child, direction))
++ {
++ g_list_free (sorted_children);
++ return FOCUS_MOVE_OK;
++ }
++ }
++ else if (GTK_IS_CONTAINER (child))
++ {
++ ret = gtk_container_focus_move_with_tab (GTK_CONTAINER (child),
++ direction,
++ fallback);
++ if (ret == FOCUS_MOVE_OK)
++ {
++ g_list_free (sorted_children);
++ return FOCUS_MOVE_OK;
++ }
++ else if (ret == FOCUS_MOVE_OK_NO_MOVE)
++ found_text = TRUE;
++ }
++ if (GTK_WIDGET_CAN_FOCUS (child) && *fallback == NULL)
++ *fallback = child;
++ }
++ }
++
++ g_list_free (sorted_children);
++
++ return found_text ? FOCUS_MOVE_OK_NO_MOVE : FOCUS_MOVE_FAIL_NO_TEXT;
++}
+
+ static void
+ gtk_container_children_callback (GtkWidget *widget,
+@@ -2463,3 +2605,58 @@
+ gdk_event_free (child_event);
+ }
+ }
++
++static void gtk_container_tap_and_hold_setup_forall( GtkWidget *widget,
++ GtkContainerTAH *tah )
++{
++ gtk_widget_tap_and_hold_setup( widget, tah->menu, tah->func,
++ tah->flags );
++}
++
++static void gtk_container_tap_and_hold_setup( GtkWidget *widget,
++ GtkWidget *menu, GtkCallback func, GtkWidgetTapAndHoldFlags flags )
++{
++ GtkContainerTAH tah;
++ g_return_if_fail( GTK_IS_WIDGET(widget));
++ g_return_if_fail( menu == NULL || GTK_IS_MENU(menu) );
++ tah.menu = menu;
++ tah.func = func;
++ tah.flags = flags;
++ if (flags & GTK_TAP_AND_HOLD_NO_INTERNALS)
++ gtk_container_foreach( GTK_CONTAINER(widget),
++ (GtkCallback)gtk_container_tap_and_hold_setup_forall, &tah );
++ else
++ gtk_container_forall( GTK_CONTAINER(widget),
++ (GtkCallback)gtk_container_tap_and_hold_setup_forall, &tah );
++ parent_class->tap_and_hold_setup (widget, menu, func, flags);
++}
++
++static void gtk_container_grab_focus( GtkWidget *focus_widget )
++{
++ if( GTK_WIDGET_CAN_FOCUS(focus_widget) )
++ parent_class->grab_focus( focus_widget );
++ else
++ {
++ GList *first = NULL;
++ GList *children = NULL;
++ GtkWidget *old_focus = NULL;
++ GtkWidget *toplevel = NULL;
++
++ toplevel = gtk_widget_get_toplevel( focus_widget );
++ if( !GTK_IS_WINDOW(toplevel) )
++ return;
++
++ old_focus = GTK_WINDOW(toplevel)->focus_widget;
++ first = gtk_container_get_all_children(
++ GTK_CONTAINER(focus_widget) );
++ children = g_list_last( first );
++
++ while( children && GTK_WINDOW(toplevel)->focus_widget == old_focus )
++ {
++ gtk_widget_grab_focus( GTK_WIDGET(children->data) );
++ children = children->prev;
++ }
++ g_list_free( first );
++ }
++}
++
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkdialog.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkdialog.c.diff
new file mode 100644
index 0000000000..39ecdf209b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkdialog.c.diff
@@ -0,0 +1,451 @@
+--- gtk+-2.6.4/gtk/gtkdialog.c 2005-01-20 21:52:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkdialog.c 2005-04-06 16:19:36.416002288 +0300
+@@ -24,6 +24,9 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2002-2003. See CHANGES file for list
++ * of changes.
++ */
+ #include <config.h>
+ #include "gtkalias.h"
+ #include "gtkbutton.h"
+@@ -37,11 +40,14 @@
+ #include "gtkmain.h"
+ #include "gtkintl.h"
+ #include "gtkbindings.h"
++#include "gtkalignment.h"
+
+ #define GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_DIALOG, GtkDialogPrivate))
+
+ typedef struct {
+ guint ignore_separator : 1;
++ GtkWidget *first;
++ GtkWidget *last;
+ } GtkDialogPrivate;
+
+ typedef struct _ResponseData ResponseData;
+@@ -77,7 +83,18 @@
+ static void gtk_dialog_close (GtkDialog *dialog);
+
+ static ResponseData* get_response_data (GtkWidget *widget,
+- gboolean create);
++ gboolean create);
++
++static gboolean gtk_dialog_handle_focus (GtkWidget *widget,
++ GtkDirectionType dir,
++ gpointer user_data);
++
++static gboolean gtk_dialog_move_to_next_active_button (GList *iter,
++ gboolean forward);
++
++static GtkWidget *gtk_dialog_get_first_sensitive (GList *list);
++static GtkWidget *gtk_dialog_get_last_sensitive (GList *list);
++
+
+ enum {
+ PROP_0,
+@@ -195,6 +212,23 @@
+ 5,
+ G_PARAM_READABLE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("extended_left_border",
++ _("Content area extra left border"),
++ _("Width of extra left border around the main dialog area"),
++ 0,
++ G_MAXINT,
++ 0,
++ G_PARAM_READABLE));
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("extended_right_border",
++ _("Content area extra right border"),
++ _("Width of extra right border around the main dialog area"),
++ 0,
++ G_MAXINT,
++ 0,
++ G_PARAM_READABLE));
++
+ binding_set = gtk_binding_set_by_class (class);
+
+ gtk_binding_entry_add_signal (binding_set, GDK_Escape, 0,
+@@ -205,9 +239,15 @@
+ update_spacings (GtkDialog *dialog)
+ {
+ GtkWidget *widget;
++ GtkWidget *hbox;
++ GtkWidget *left_padding;
++ GtkWidget *right_padding;
+ gint content_area_border;
+ gint button_spacing;
+ gint action_area_border;
++
++ gint extended_left_border;
++ gint extended_right_border;
+
+ widget = GTK_WIDGET (dialog);
+
+@@ -218,6 +258,10 @@
+ &button_spacing,
+ "action_area_border",
+ &action_area_border,
++ "extended_left_border",
++ &extended_left_border,
++ "extended_right_border",
++ &extended_right_border,
+ NULL);
+
+ gtk_container_set_border_width (GTK_CONTAINER (dialog->vbox),
+@@ -226,12 +270,36 @@
+ button_spacing);
+ gtk_container_set_border_width (GTK_CONTAINER (dialog->action_area),
+ action_area_border);
++
++ if ((extended_left_border == 0) && (extended_right_border == 0))
++ /* no extended borders, so we are done */
++ return;
++
++ /* extended borders are in use, so reconstruct dialog */
++ hbox = gtk_hbox_new(FALSE, 0);
++ left_padding = gtk_alignment_new(0.0, 0.0, 0.0, 0.0);
++ right_padding = gtk_alignment_new(0.0, 0.0, 0.0, 0.0);
++ gtk_widget_set_size_request(left_padding, extended_left_border, 0);
++ gtk_widget_set_size_request(right_padding, extended_right_border, 0);
++
++ gtk_widget_ref(dialog->vbox);
++ gtk_container_remove(GTK_CONTAINER(dialog), dialog->vbox);
++ gtk_container_add(GTK_CONTAINER(hbox), left_padding);
++ gtk_container_add(GTK_CONTAINER(hbox), dialog->vbox);
++ gtk_container_add(GTK_CONTAINER(hbox), right_padding);
++ gtk_container_add(GTK_CONTAINER(dialog), hbox);
++ gtk_widget_unref(dialog->vbox);
++
++ gtk_widget_show(left_padding);
++ gtk_widget_show(right_padding);
++ gtk_widget_show(hbox);
+ }
+
+ static void
+ gtk_dialog_init (GtkDialog *dialog)
+ {
+ GtkDialogPrivate *priv;
++ GtkWidget *alignment;
+
+ priv = GET_PRIVATE (dialog);
+ priv->ignore_separator = FALSE;
+@@ -250,14 +318,23 @@
+ gtk_container_add (GTK_CONTAINER (dialog), dialog->vbox);
+ gtk_widget_show (dialog->vbox);
+
++ /* Hildon : Here we add an alignment widget to gtk because
++ * we want that the dialog buttons are all centered. */
++ alignment = gtk_alignment_new (0.5, 0.5, 0, 0);
++ gtk_box_pack_end (GTK_BOX (dialog->vbox), alignment, FALSE, TRUE, 0);
++
+ dialog->action_area = gtk_hbutton_box_new ();
+
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog->action_area),
+ GTK_BUTTONBOX_END);
+
+- gtk_box_pack_end (GTK_BOX (dialog->vbox), dialog->action_area,
+- FALSE, TRUE, 0);
++ /* we need add-signal to allocate correct area for childs */
++ gtk_container_add (GTK_CONTAINER (alignment), dialog->action_area);
++ /* gtk_box_pack_end (GTK_BOX (dialog->vbox), dialog->action_area,
++ FALSE, TRUE, 0); */
++
+ gtk_widget_show (dialog->action_area);
++ gtk_widget_show (alignment);
+
+ dialog->separator = gtk_hseparator_new ();
+ gtk_box_pack_end (GTK_BOX (dialog->vbox), dialog->separator, FALSE, TRUE, 0);
+@@ -616,9 +693,15 @@
+ else
+ g_warning ("Only 'activatable' widgets can be packed into the action area of a GtkDialog");
+
++ gtk_container_add(GTK_CONTAINER(dialog->action_area), child);
++/*
+ gtk_box_pack_end (GTK_BOX (dialog->action_area),
+ child,
+ FALSE, TRUE, 0);
++*/
++
++ g_signal_connect (child, "focus",
++ (GCallback)gtk_dialog_handle_focus, (gpointer)dialog);
+
+ if (response_id == GTK_RESPONSE_HELP)
+ gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (dialog->action_area), child, TRUE);
+@@ -637,7 +720,7 @@
+ * you don't need it.
+ *
+ * Return value: the button widget that was added
+- **/
++ **/ /*ROK*/
+ GtkWidget*
+ gtk_dialog_add_button (GtkDialog *dialog,
+ const gchar *button_text,
+@@ -653,7 +736,10 @@
+ GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);
+
+ gtk_widget_show (button);
+-
++
++ g_signal_connect (button, "focus",
++ (GCallback)gtk_dialog_handle_focus,
++ (gpointer)dialog);
+ gtk_dialog_add_action_widget (dialog,
+ button,
+ response_id);
+@@ -990,6 +1076,8 @@
+ gulong unmap_handler;
+ gulong destroy_handler;
+ gulong delete_handler;
++ GtkDialogPrivate *priv;
++ GList *list = NULL;
+
+ g_return_val_if_fail (GTK_IS_DIALOG (dialog), -1);
+
+@@ -1001,6 +1089,27 @@
+
+ if (!GTK_WIDGET_VISIBLE (dialog))
+ gtk_widget_show (GTK_WIDGET (dialog));
++
++ priv = GET_PRIVATE (dialog);
++ list = gtk_container_get_children (GTK_CONTAINER (dialog->vbox));
++ priv->first = gtk_dialog_get_first_sensitive (list);
++ priv->last = gtk_dialog_get_last_sensitive (list);
++
++ if (priv->first)
++ {
++ g_signal_connect (priv->first, "focus",
++ (GCallback)gtk_dialog_handle_focus,
++ (gpointer)dialog);
++ }
++
++ if (priv->last)
++ {
++ g_signal_connect (priv->last, "focus",
++ (GCallback)gtk_dialog_handle_focus,
++ (gpointer)dialog);
++ }
++
++ g_list_free (list);
+
+ response_handler =
+ g_signal_connect (dialog,
+@@ -1236,4 +1345,215 @@
+ gtk_box_reorder_child (GTK_BOX (dialog->action_area), child, position);
+ }
+ }
++static gboolean
++gtk_dialog_handle_focus (GtkWidget *widget,
++ GtkDirectionType dir,
++ gpointer user_data)
++ {
++ GtkDialog *dialog = NULL;
++ GList *list = NULL;
++ GList *iter = NULL;
++ gint i = 0;
++ gint list_length = 0;
++ gboolean ret_val = FALSE;
++ GtkDialogPrivate *priv;
++
++ dialog = GTK_DIALOG(user_data);
++ list = gtk_container_get_children (GTK_CONTAINER(
++ GTK_DIALOG(user_data)->action_area));
++ iter = list;
++ priv = GET_PRIVATE (dialog);
++
++ if (GTK_WIDGET_HAS_FOCUS (widget))
++ if (widget == priv->first)
++ {
++ if (dir == GTK_DIR_UP)
++ {
++ ret_val = gtk_dialog_move_to_next_active_button (g_list_last (list),
++ FALSE);
++ }
++ else if (dir == GTK_DIR_DOWN && priv->first == priv->last)
++ ret_val = gtk_dialog_move_to_next_active_button (list, TRUE);
++ else if (dir == GTK_DIR_DOWN)
++ {
++ }
++ }
++ else if (widget == priv->last)
++ {
++ if (dir == GTK_DIR_DOWN)
++ {
++ ret_val = gtk_dialog_move_to_next_active_button (list, TRUE);
++ }
++ else if (dir == GTK_DIR_UP)
++ {
++ }
++ }
++ else
++ {
++ list_length = g_list_length(list);
++ while (iter != NULL)
++ {
++ ++i;
++ if (iter->data == widget)
++ {
++ switch (dir) {
++ case GTK_DIR_UP:
++ /* If in the first item -> the default works like it should */
++
++ if (i > 1)
++ {
++ /* If not in the first button, but in the first active
++ * button, the default should do, else handle movement
++ * by yourself
++ */
++ ret_val = gtk_dialog_move_to_next_active_button (
++ g_list_previous (iter),
++ FALSE);
++ }
++ else
++ {
++ /* gtk_widget_grab_focus (priv->last);*/
++ g_signal_emit_by_name (dialog, "move-focus",
++ GTK_DIR_TAB_BACKWARD);
++ ret_val = TRUE;
++ }
++ break;
++
++ /* If in the last item:jump to top, else select previous button */
++ case GTK_DIR_DOWN:
++ if (i < list_length)
++ {
++ ret_val = gtk_dialog_move_to_next_active_button (
++ g_list_next (iter),
++ TRUE);
++ if (!ret_val)
++ {
++ g_signal_emit_by_name (dialog, "move-focus",
++ GTK_DIR_TAB_FORWARD);
++ ret_val = TRUE;
++ }
++ }
++ else
++ {
++ g_signal_emit_by_name (dialog, "move-focus",
++ GTK_DIR_TAB_FORWARD);
++ ret_val = TRUE;
++ }
++ break;
++
++ case GTK_DIR_TAB_BACKWARD:
++ case GTK_DIR_TAB_FORWARD:
++ case GTK_DIR_LEFT:
++ case GTK_DIR_RIGHT:
++ default:
++ break;
++ }
++ break;
++ }
++ iter = g_list_next(iter);
++ }
++ }
++
++ g_list_free (list);
++
++ return ret_val;
++ }
++static gboolean
++gtk_dialog_move_to_next_active_button (GList *iter, gboolean forward)
++{
++ gboolean active;
++ gboolean visible;
++
++ while (iter)
++ {
++ g_object_get (G_OBJECT (iter->data), "sensitive", &active, NULL);
++ g_object_get (G_OBJECT (iter->data), "visible", &visible, NULL);
++ if (active && visible)
++ {
++ gtk_widget_grab_focus (GTK_WIDGET (iter->data));
++ return TRUE;
++ }
++
++ if (forward)
++ iter = g_list_next (iter);
++ else
++ iter = g_list_previous (iter);
++ }
++
++ return FALSE;
++}
++static GtkWidget*
++gtk_dialog_get_first_sensitive (GList *list)
++{
++ GList *sublist = NULL;
++ GList *iter = NULL;
++ GtkWidget *widget = NULL;
++ gboolean active;
++ gboolean visible;
++ while (list)
++ {
++ widget = GTK_WIDGET (list->data);
++ if (GTK_IS_CONTAINER (widget))
++ {
++ sublist = gtk_container_get_children (GTK_CONTAINER(widget));
++ widget = gtk_dialog_get_first_sensitive (sublist);
++ g_list_free (sublist);
++ sublist = NULL;
++
++ if (widget)
++ return widget;
++ }
++ else
++ {
++ g_object_get (G_OBJECT (widget), "sensitive", &active, NULL);
++ g_object_get (G_OBJECT (widget), "visible", &visible, NULL);
++ if (active && visible && GTK_WIDGET_CAN_FOCUS (widget))
++ return widget;
++ }
++
++ list = g_list_next (list);
++ }
++
++ return NULL;
++}
++
++static GtkWidget*
++gtk_dialog_get_last_sensitive (GList *list)
++{
++ GList *sublist = NULL;
++ GtkWidget *widget = NULL;
++ gboolean active;
++ gboolean visible;
++
++ list = g_list_last (list);
++ if (list && list->prev != NULL)
++ list = g_list_previous (list);
++
++ while (list)
++ {
++ widget = GTK_WIDGET (list->data);
++ if (GTK_IS_CONTAINER (widget))
++ {
++ sublist = gtk_container_get_children (GTK_CONTAINER(widget));
++ widget = gtk_dialog_get_last_sensitive (sublist);
++ g_list_free (sublist);
++ sublist = NULL;
++
++ if (widget)
++ return widget;
++ }
++ else
++ {
++ g_object_get (G_OBJECT (widget), "sensitive", &active, NULL);
++ g_object_get (G_OBJECT (widget), "visible", &visible, NULL);
++ if (active && visible && GTK_WIDGET_CAN_FOCUS (widget))
++ return widget;
++ }
++
++ list = g_list_previous (list);
++ }
++
++ return NULL;
++}
++
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkdnd.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkdnd.c.diff
new file mode 100644
index 0000000000..247d3f9b46
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkdnd.c.diff
@@ -0,0 +1,12 @@
+--- gtk+-2.6.4/gtk/gtkdnd.c 2005-02-01 20:07:40.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkdnd.c 2005-04-06 16:19:36.432999704 +0300
+@@ -2145,6 +2145,9 @@
+ g_signal_connect (widget, "button_press_event",
+ G_CALLBACK (gtk_drag_source_event_cb),
+ site);
++ g_signal_connect (widget, "button_release_event",
++ G_CALLBACK (gtk_drag_source_event_cb),
++ site);
+ g_signal_connect (widget, "motion_notify_event",
+ G_CALLBACK (gtk_drag_source_event_cb),
+ site);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkentry.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkentry.c.diff
new file mode 100644
index 0000000000..fae911305c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkentry.c.diff
@@ -0,0 +1,1308 @@
+--- gtk+-2.6.4/gtk/gtkentry.c 2005-02-04 17:36:02.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkentry.c 2005-04-06 16:19:36.466994536 +0300
+@@ -24,6 +24,10 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++ /* Modified for Nokia Oyj during 2002-2003. See CHANGES file for list
++ * of changes.
++ */
++
+ #include <config.h>
+ #include <string.h>
+
+@@ -53,6 +57,7 @@
+ #include "gtktreeselection.h"
+ #include "gtkentryprivate.h"
+ #include "gtkcelllayout.h"
++#include "gtkscrolledwindow.h"
+
+ #define GTK_ENTRY_COMPLETION_KEY "gtk-entry-completion-key"
+
+@@ -60,6 +65,8 @@
+ #define DRAW_TIMEOUT 20
+ #define INNER_BORDER 2
+ #define COMPLETION_TIMEOUT 300
++#define HILDON_EDITED_CHARACTER_MAX 8
++#define HILDON_EDITED_CHARACTER_MS 600 /* 0.6 seconds */
+
+ /* Initial size of buffer, in bytes */
+ #define MIN_SIZE 16
+@@ -75,6 +82,18 @@
+ {
+ gfloat xalign;
+ gint insert_pos;
++ /* Hildon additions:
++ * following variables are needed
++ * for Hildon password 'preview'
++ * functionality; last inputted character
++ * is showed for defined period, before it is
++ * rendered to '*'
++ */
++ gchar hildon_edited_character[HILDON_EDITED_CHARACTER_MAX];
++ gboolean hildon_edited_character_timeout;
++ gint hildon_edited_character_length;
++ gboolean keep_focus;
++ gboolean menu_popped;
+ };
+
+ enum {
+@@ -104,7 +123,9 @@
+ PROP_WIDTH_CHARS,
+ PROP_SCROLL_OFFSET,
+ PROP_TEXT,
+- PROP_XALIGN
++ PROP_XALIGN,
++ PROP_AUTOCAP,
++ PROP_INPUT_MODE
+ };
+
+ static guint signals[LAST_SIGNAL] = { 0 };
+@@ -324,6 +345,23 @@
+ gint *y,
+ gint *width,
+ gint *height);
++static void gtk_entry_update_scrolled_window (GtkEntry *entry);
++static void gtk_entry_set_autocap (GtkEntry *entry,
++ gboolean autocap);
++static gboolean gtk_entry_get_autocap (GtkEntry *entry);
++static void gtk_entry_set_input_mode (GtkEntry *entry,
++ gboolean mode);
++static gint gtk_entry_get_input_mode (GtkEntry *entry);
++
++/*Change for Hildon
++ *returns an iterator to the character at position x,y of the
++ *layout
++ *returns NULL if no iterator was found at that position
++ *Caller must call pango_layout_free_iter on the returned iterator
++ */
++static PangoLayoutIter *get_char_at_pos( PangoLayout *layout, gint x, gint y );
++
++static gboolean hildon_remove_visible_character( gpointer data );
+
+ /* Completion */
+ static gint gtk_entry_completion_timeout (gpointer data);
+@@ -523,7 +561,25 @@
+ P_("FALSE displays the \"invisible char\" instead of the actual text (password mode)"),
+ TRUE,
+ G_PARAM_READABLE | G_PARAM_WRITABLE));
+-
++
++ g_object_class_install_property (gobject_class,
++ PROP_AUTOCAP,
++ g_param_spec_boolean ("autocap",
++ P_("auto capitalization"),
++ P_("Enable autocap support"),
++ TRUE,
++ G_PARAM_READABLE | G_PARAM_WRITABLE));
++
++ g_object_class_install_property (gobject_class,
++ PROP_INPUT_MODE,
++ g_param_spec_int ("input_mode",
++ P_("input mode"),
++ P_("Define widget's input mode"),
++ 0,
++ 9, /* keep me updated */
++ 0,
++ G_PARAM_READABLE | G_PARAM_WRITABLE));
++
+ g_object_class_install_property (gobject_class,
+ PROP_HAS_FRAME,
+ g_param_spec_boolean ("has_frame",
+@@ -593,6 +649,40 @@
+ 0.0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("horizontal-border",
++ P_("Horizontal borders for entry"),
++ P_("Set left/right borders"),
++ 0,
++ G_MAXINT,
++ INNER_BORDER,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("vertical-border",
++ P_("Vertical borders for entry"),
++ P_("Set top/bottom borders"),
++ 0,
++ G_MAXINT,
++ INNER_BORDER,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("icon-width",
++ P_("Icon Width"),
++ P_("Size of the purpose icon."),
++ 0,
++ G_MAXINT,
++ 0,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("show-last-char",
++ P_("Show last char in invisible mode for a while"),
++ P_("Last char is shown before it is rendered to asterisk"),
++ FALSE,
++ G_PARAM_READABLE | G_PARAM_WRITABLE));
++
+ signals[POPULATE_POPUP] =
+ g_signal_new ("populate_popup",
+ G_OBJECT_CLASS_TYPE (gobject_class),
+@@ -853,6 +943,22 @@
+ iface->start_editing = gtk_entry_start_editing;
+ }
+
++/* HILDON: Timed function to hide the most recently inputted character in password mode
++*/
++static gboolean
++ hildon_remove_visible_character( gpointer data )
++{
++ g_return_val_if_fail (GTK_IS_WIDGET (data), FALSE);
++
++ GtkEntry * entry = GTK_ENTRY( data );
++
++ /* Force the string to redrawn, but now without a visible character */
++ gtk_entry_recompute( entry );
++
++ /* Return false so this timeout is not called again and destroyed */
++ return FALSE;
++}
++
+ static void
+ gtk_entry_set_property (GObject *object,
+ guint prop_id,
+@@ -867,9 +973,10 @@
+ {
+ gboolean new_value = g_value_get_boolean (value);
+
++ gtk_widget_set_sensitive( GTK_WIDGET( entry ), entry->editable );
+ if (new_value != entry->editable)
+ {
+- if (!new_value)
++ if (!new_value)
+ {
+ gtk_entry_reset_im_context (entry);
+ if (GTK_WIDGET_HAS_FOCUS (entry))
+@@ -896,6 +1003,14 @@
+ case PROP_VISIBILITY:
+ gtk_entry_set_visibility (entry, g_value_get_boolean (value));
+ break;
++
++ case PROP_AUTOCAP:
++ gtk_entry_set_autocap (entry, g_value_get_boolean (value));
++ break;
++
++ case PROP_INPUT_MODE:
++ gtk_entry_set_input_mode (entry, g_value_get_int (value));
++ break;
+
+ case PROP_HAS_FRAME:
+ gtk_entry_set_has_frame (entry, g_value_get_boolean (value));
+@@ -954,6 +1069,12 @@
+ case PROP_VISIBILITY:
+ g_value_set_boolean (value, entry->visible);
+ break;
++ case PROP_AUTOCAP:
++ g_value_set_boolean (value, gtk_entry_get_autocap (entry));
++ break;
++ case PROP_INPUT_MODE:
++ g_value_set_int (value, gtk_entry_get_input_mode (entry));
++ break;
+ case PROP_HAS_FRAME:
+ g_value_set_boolean (value, entry->has_frame);
+ break;
+@@ -1000,7 +1121,20 @@
+ entry->width_chars = -1;
+ entry->is_cell_renderer = FALSE;
+ entry->editing_canceled = FALSE;
+- entry->has_frame = TRUE;
++#ifdef HILDON_SINGLE_LINE_EDITOR
++ entry->has_frame = FALSE;
++#else
++ entry->has_frame = TRUE;
++#endif
++
++ /* Hildon */
++ memset( &priv->hildon_edited_character, 0x00, HILDON_EDITED_CHARACTER_MAX );
++ priv->hildon_edited_character_length = 0;
++ priv->hildon_edited_character_timeout = FALSE;
++
++ priv->keep_focus = FALSE;
++ priv->menu_popped = FALSE;
++
+ priv->xalign = 0.0;
+
+ gtk_drag_dest_set (GTK_WIDGET (entry),
+@@ -1013,6 +1147,10 @@
+ * to it; so we create it here and destroy it in finalize().
+ */
+ entry->im_context = gtk_im_multicontext_new ();
++ /* Set default stuff. */
++ gtk_entry_set_autocap (entry, TRUE);
++ gtk_entry_set_input_mode (entry, 0); /* alpha-numeric-special */
++ g_object_set (G_OBJECT (entry->im_context), "use-show-hide", TRUE, NULL);
+
+ g_signal_connect (entry->im_context, "commit",
+ G_CALLBACK (gtk_entry_commit_cb), entry);
+@@ -1058,7 +1196,8 @@
+ gtk_entry_finalize (GObject *object)
+ {
+ GtkEntry *entry = GTK_ENTRY (object);
+-
++ GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (GTK_WIDGET (entry));
++
+ gtk_entry_set_completion (entry, NULL);
+
+ if (entry->cached_layout)
+@@ -1072,6 +1211,9 @@
+ if (entry->recompute_idle)
+ g_source_remove (entry->recompute_idle);
+
++ if (priv->hildon_edited_character_timeout)
++ g_source_remove (priv->hildon_edited_character_timeout);
++
+ entry->text_size = 0;
+
+ if (entry->text)
+@@ -1213,7 +1355,14 @@
+ PangoFontMetrics *metrics;
+ gint xborder, yborder;
+ PangoContext *context;
+-
++ gint border_x, border_y;
++ gint icon_width;
++
++ gtk_widget_style_get (widget,
++ "horizontal-border", &border_x,
++ "vertical-border", &border_y,
++ "icon-width", &icon_width, NULL);
++
+ gtk_widget_ensure_style (widget);
+ context = gtk_widget_get_pango_context (widget);
+ metrics = pango_context_get_metrics (context,
+@@ -1225,21 +1374,22 @@
+
+ _gtk_entry_get_borders (entry, &xborder, &yborder);
+
+- xborder += INNER_BORDER;
+- yborder += INNER_BORDER;
++ xborder += border_x<<1;
++ yborder += border_y<<1;
+
+ if (entry->width_chars < 0)
+- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
++ requisition->width = MIN_ENTRY_WIDTH + xborder;
+ else
+ {
+ gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
+ gint digit_width = pango_font_metrics_get_approximate_digit_width (metrics);
+ gint char_pixels = (MAX (char_width, digit_width) + PANGO_SCALE - 1) / PANGO_SCALE;
+
+- requisition->width = char_pixels * entry->width_chars + xborder * 2;
++ requisition->width = char_pixels * entry->width_chars + xborder;
+ }
+-
+- requisition->height = PANGO_PIXELS (entry->ascent + entry->descent) + yborder * 2;
++
++ requisition->width += icon_width;
++ requisition->height = PANGO_PIXELS (entry->ascent + entry->descent) + yborder;
+
+ pango_font_metrics_unref (metrics);
+ }
+@@ -1253,23 +1403,39 @@
+ {
+ gint xborder, yborder;
+ GtkRequisition requisition;
++ gint icon_width;
+ GtkWidget *widget = GTK_WIDGET (entry);
+
++ gtk_widget_style_get (widget, "icon-width", &icon_width, NULL);
++
+ gtk_widget_get_child_requisition (widget, &requisition);
+
+ _gtk_entry_get_borders (entry, &xborder, &yborder);
+
+ if (x)
+- *x = xborder;
++ *x = xborder + icon_width;
+
+ if (y)
++ {
+ *y = yborder;
++ if( widget->allocation.height < requisition.height )
++ *y += ((widget->allocation.height - requisition.height) / 2);
++ if( *y < yborder )
++ *y = yborder;
++ }
+
+ if (width)
+- *width = GTK_WIDGET (entry)->allocation.width - xborder * 2;
++ *width = GTK_WIDGET (entry)->allocation.width - xborder * 2 - icon_width;
+
+ if (height)
+- *height = requisition.height - yborder * 2;
++ {
++ if( widget->allocation.height < requisition.height )
++ *height = widget->allocation.height - yborder * 2;
++ else
++ *height = widget->requisition.height - yborder * 2;
++ if( *height <=0 )
++ *height = 1;
++ }
+ }
+
+ static void
+@@ -1289,10 +1455,9 @@
+
+ if (y)
+ {
+- if (entry->is_cell_renderer)
+- *y = widget->allocation.y;
+- else
+- *y = widget->allocation.y + (widget->allocation.height - requisition.height) / 2;
++ *y = widget->allocation.y;
++ if( widget->allocation.height > requisition.height )
++ *y += ((widget->allocation.height - requisition.height) / 2);
+ }
+
+ if (width)
+@@ -1300,10 +1465,10 @@
+
+ if (height)
+ {
+- if (entry->is_cell_renderer)
+- *height = widget->allocation.height;
+- else
++ if( widget->allocation.height > requisition.height )
+ *height = requisition.height;
++ else
++ *height = widget->allocation.height;
+ }
+ }
+
+@@ -1383,20 +1548,19 @@
+ GdkEventExpose *event)
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
++ gint area_width, area_height;
++
++ get_widget_window_size (entry, NULL, NULL, &area_width, &area_height);
+
+ if (widget->window == event->window)
+- gtk_entry_draw_frame (widget);
++ {
++ gtk_paint_box (widget->style, widget->window,
++ GTK_WIDGET_STATE (widget), GTK_SHADOW_NONE,
++ NULL, widget, "entry_frame",
++ 0, 0, area_width, area_height);
++ }
+ else if (entry->text_area == event->window)
+ {
+- gint area_width, area_height;
+-
+- get_text_area_size (entry, NULL, NULL, &area_width, &area_height);
+-
+- gtk_paint_flat_box (widget->style, entry->text_area,
+- GTK_WIDGET_STATE(widget), GTK_SHADOW_NONE,
+- NULL, widget, "entry_bg",
+- 0, 0, area_width, area_height);
+-
+ if ((entry->visible || entry->invisible_char != 0) &&
+ GTK_WIDGET_HAS_FOCUS (widget) &&
+ entry->selection_bound == entry->current_pos && entry->cursor_visible)
+@@ -1490,16 +1654,19 @@
+ return FALSE;
+
+ entry->button = event->button;
+-
++
+ if (!GTK_WIDGET_HAS_FOCUS (widget))
+ {
+ entry->in_click = TRUE;
+ gtk_widget_grab_focus (widget);
+ entry->in_click = FALSE;
+ }
+-
++
++ /* Hildon: we need to reset IM context so pre-edit string can be committed */
++ gtk_entry_reset_im_context (entry);
++
+ tmp_pos = gtk_entry_find_position (entry, event->x + entry->scroll_offset);
+-
++
+ if (event->button == 1)
+ {
+ gboolean have_selection = gtk_editable_get_selection_bounds (editable, &sel_start, &sel_end);
+@@ -1509,8 +1676,6 @@
+
+ if (event->state & GDK_SHIFT_MASK)
+ {
+- gtk_entry_reset_im_context (entry);
+-
+ if (!have_selection) /* select from the current position to the clicked position */
+ sel_start = sel_end = entry->current_pos;
+
+@@ -1575,9 +1740,20 @@
+ entry->drag_start_x = event->x + entry->scroll_offset;
+ entry->drag_start_y = event->y + entry->scroll_offset;
+ }
+- else
+- gtk_editable_set_position (editable, tmp_pos);
+- break;
++ else {
++ /* HILDON: do not move the cursor inside the textarea if invisible
++ * as per the specifications */
++ if (!entry->visible)
++ if(tmp_pos == strlen(gtk_entry_get_text(entry))){
++ gtk_editable_set_position( editable, entry->text_length);
++ } else {
++ gtk_editable_select_region (editable, 0, -1);
++ }
++ else
++ gtk_editable_set_position (editable, tmp_pos);
++ }
++
++ break;
+
+ case GDK_2BUTTON_PRESS:
+ /* We ALWAYS receive a GDK_BUTTON_PRESS immediately before
+@@ -1614,8 +1790,16 @@
+ }
+ else if (event->button == 3 && event->type == GDK_BUTTON_PRESS)
+ {
++ /* Hildon: if we are in password mode selection and Cut & Copy should
++ be disabled. */
++ if (!entry->visible)
++ {
++ gtk_editable_set_position (GTK_EDITABLE(entry), 0);
++ }
++
+ gtk_entry_do_popup (entry, event);
+ entry->button = 0; /* Don't wait for release, since the menu will gtk_grab_add */
++ priv->keep_focus = TRUE;
+
+ return TRUE;
+ }
+@@ -1632,11 +1816,23 @@
+ if (event->window != entry->text_area || entry->button != event->button)
+ return FALSE;
+
++ if (entry->editable)
++ gtk_im_context_show (entry->im_context);
++
+ if (entry->in_drag)
+ {
+ gint tmp_pos = gtk_entry_find_position (entry, entry->drag_start_x);
+
+- gtk_editable_set_position (GTK_EDITABLE (entry), tmp_pos);
++ /* HILDON: If not visible, do not allow cursor to be positioned inside the string */
++ if (!entry->visible){
++ if(tmp_pos == strlen(gtk_entry_get_text(entry))){
++ gtk_editable_set_position( GTK_EDITABLE(entry), entry->text_length);
++ } else {
++ gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
++ }
++ } else {
++ gtk_editable_set_position (GTK_EDITABLE (entry), tmp_pos);
++ }
+
+ entry->in_drag = 0;
+ }
+@@ -1822,6 +2018,13 @@
+ }
+ }
+
++ if (event->keyval == GDK_Return)
++ return FALSE;
++ if (event->keyval == GDK_KP_Enter)
++ g_signal_emit_by_name (G_OBJECT(gtk_widget_get_ancestor (widget,
++ GTK_TYPE_WINDOW)), "move-focus",
++ GTK_DIR_TAB_FORWARD);
++
+ if (GTK_WIDGET_CLASS (parent_class)->key_press_event (widget, event))
+ /* Activate key bindings
+ */
+@@ -1835,6 +2038,8 @@
+ GdkEventKey *event)
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
++
++ gtk_entry_update_scrolled_window( entry );
+
+ if (entry->editable)
+ {
+@@ -1853,7 +2058,35 @@
+ GdkEventFocus *event)
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
+-
++ GtkEntryPrivate *priv;
++
++ priv = GTK_ENTRY_GET_PRIVATE (widget);
++ /* Hildon : If the text doesn't fit the entry, upon focusing
++ * to an text field, move the caret to the end of the entry.
++ * Force the entry to recompute, otherwise it doesn't update
++ * if the cursor is currently at the end*/
++ /* hildon : If the text has no selection and focus returned with
++ other means than pointer click, set cursor before first
++ character of the text, otherwise behave normally */
++
++ if (!entry->in_click)
++ {
++ /*gboolean has_selection;
++ has_selection = gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), NULL, NULL);
++ if (!has_selection)
++ {
++ gtk_editable_set_position (GTK_EDITABLE (entry), -1);
++ }*//*FIXME need a better hack here*/
++ /* Hildon: If in SecretEditor mode highlight selection if entry got focus
++ * otherways than mouse/stylus */
++ if (!entry->visible && priv->keep_focus)
++ {
++ gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
++ }
++ }
++
++ gtk_entry_recompute (GTK_ENTRY (entry));
++
+ gtk_widget_queue_draw (widget);
+
+ if (entry->editable)
+@@ -1876,6 +2109,8 @@
+ GdkEventFocus *event)
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
++ GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
++ guint tmp_pos;
+ GtkEntryCompletion *completion;
+
+ gtk_widget_queue_draw (widget);
+@@ -1886,6 +2121,20 @@
+ gtk_im_context_focus_out (entry->im_context);
+ }
+
++ tmp_pos = gtk_editable_get_position (GTK_EDITABLE (widget));
++ if (priv->keep_focus){
++ if (!entry->visible)
++ gtk_editable_set_position (GTK_EDITABLE (widget), tmp_pos);
++ priv->keep_focus = FALSE;
++ }
++ else {
++ if (priv->menu_popped)
++ priv->menu_popped = FALSE;
++ else gtk_editable_set_position (GTK_EDITABLE (widget), tmp_pos);
++ }
++
++ gtk_widget_queue_draw(widget);
++
+ gtk_entry_check_cursor_blink (entry);
+
+ g_signal_handlers_disconnect_by_func (gdk_keymap_get_for_display (gtk_widget_get_display (widget)),
+@@ -1902,7 +2151,6 @@
+ static void
+ gtk_entry_grab_focus (GtkWidget *widget)
+ {
+- GtkEntry *entry = GTK_ENTRY (widget);
+ gboolean select_on_focus;
+
+ GTK_WIDGET_CLASS (parent_class)->grab_focus (widget);
+@@ -1912,8 +2160,8 @@
+ &select_on_focus,
+ NULL);
+
+- if (select_on_focus && entry->editable && !entry->in_click)
+- gtk_editable_select_region (GTK_EDITABLE (widget), 0, -1);
++/* Hildon : When focusing to an entry, it shouldn't become
++ * highlighted. */
+ }
+
+ static void
+@@ -1987,7 +2235,7 @@
+
+ if (new_text_length > 63)
+ g_free (text);
+-
++ gtk_entry_update_scrolled_window( entry );
+ g_object_unref (editable);
+ }
+
+@@ -2074,7 +2322,7 @@
+ if (end < 0)
+ end = entry->text_length;
+
+- gtk_entry_reset_im_context (entry);
++ /*gtk_entry_reset_im_context (entry);*//*FIXME tmp kludge, might break something*/
+
+ gtk_entry_set_positions (entry,
+ MIN (end, entry->text_length),
+@@ -2168,13 +2416,19 @@
+ {
+ gint index;
+ gint n_chars;
++ gboolean show_last_char = FALSE;
+
+ GtkEntry *entry = GTK_ENTRY (editable);
+-
++ GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (GTK_WIDGET (entry));
+ if (new_text_length < 0)
+ new_text_length = strlen (new_text);
+
+ n_chars = g_utf8_strlen (new_text, new_text_length);
++
++
++ gtk_widget_style_get (GTK_WIDGET (entry), "show-last-char",
++ &show_last_char, NULL);
++
+ if (entry->text_max_length > 0 && n_chars + entry->text_length > entry->text_max_length)
+ {
+ gdk_display_beep (gtk_widget_get_display (GTK_WIDGET (entry)));
+@@ -2238,6 +2492,14 @@
+
+ if (entry->selection_bound > *position)
+ entry->selection_bound += n_chars;
++
++ /* Hildon: store this addition IF it was only 1 char (user inputted) and we are currently in secret mode (invisible) */
++
++ if (show_last_char && n_chars == 1 && !entry->visible && (new_text_length < HILDON_EDITED_CHARACTER_MAX)) {
++ memset( &priv->hildon_edited_character, 0x00, HILDON_EDITED_CHARACTER_MAX );
++ priv->hildon_edited_character_length = new_text_length;
++ memcpy( &priv->hildon_edited_character, new_text, new_text_length ); /* Guaranteed to be < total length */
++ }
+
+ *position += n_chars;
+
+@@ -2339,6 +2601,11 @@
+
+ gtk_entry_reset_im_context (entry);
+
++ /* Hildon, if not visible set the position to the end */
++ /* New SecretEditor specs say that with cursor should move
++ * With left/right arrows
++ */
++
+ if (entry->current_pos != entry->selection_bound && !extend_selection)
+ {
+ /* If we have a current selection and aren't extending it, move to the
+@@ -2445,7 +2712,7 @@
+ gint start_pos = entry->current_pos;
+ gint end_pos = entry->current_pos;
+
+- gtk_entry_reset_im_context (entry);
++ /* Hildon: code removed - backspace should not clear the word completion */
+
+ if (!entry->editable)
+ return;
+@@ -2515,7 +2782,8 @@
+ GtkEditable *editable = GTK_EDITABLE (entry);
+ gint prev_pos;
+
+- gtk_entry_reset_im_context (entry);
++/* gtk_entry_reset_im_context (entry); */ /*backspace should not clear
++ the word completion*/
+
+ if (!entry->editable || !entry->text)
+ return;
+@@ -2883,21 +3151,28 @@
+ ++i;
+ }
+ }
+-
++
++#define HILDON_EDITED_CHARACTER_MS 600 /* 0.6 seconds */
++
+ static PangoLayout *
+ gtk_entry_create_layout (GtkEntry *entry,
+ gboolean include_preedit)
+ {
+ GtkWidget *widget = GTK_WIDGET (entry);
++ GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+ PangoLayout *layout = gtk_widget_create_pango_layout (widget, NULL);
+ PangoAttrList *tmp_attrs = pango_attr_list_new ();
+
+ gchar *preedit_string = NULL;
+ gint preedit_length = 0;
+ PangoAttrList *preedit_attrs = NULL;
++ gboolean show_last_char = FALSE;
+
+ pango_layout_set_single_paragraph_mode (layout, TRUE);
+
++ gtk_widget_style_get (widget, "show-last-char",
++ &show_last_char, NULL);
++
+ if (include_preedit)
+ {
+ gtk_im_context_get_preedit_string (entry->im_context,
+@@ -3003,7 +3278,49 @@
+ else
+ invisible_char = ' '; /* just pick a char */
+
+- append_char (str, invisible_char, entry->text_length);
++ if (!show_last_char)
++ append_char (str, invisible_char, entry->text_length);
++ else if (show_last_char)
++ {
++ /* Hildon */
++ if (priv->hildon_edited_character_length > 0)
++ {
++
++ /* If we have an outstanding timeout, remove it, because the character it is set to hide
++ * is already hidden now. We do this first to prevent possible race conditions if the timout
++ * were to trigger while in here
++ */
++
++ if (priv->hildon_edited_character_timeout)
++ {
++ g_source_remove( priv->hildon_edited_character_timeout );
++ priv->hildon_edited_character_timeout = FALSE;
++ }
++
++ /* Draw the secret character length-1 times, because the last char will be visible */
++ append_char (str, invisible_char, entry->text_length > 1 ? entry->text_length - 1 : 0);
++
++ /* Add our visible char, the most recently inputted one */
++ g_string_append_len (str, (char *)&priv->hildon_edited_character, priv->hildon_edited_character_length);
++
++ /* Now remove this last inputted character, don't need it anymore */
++
++ memset( priv->hildon_edited_character, 0x00, HILDON_EDITED_CHARACTER_MAX );
++ priv->hildon_edited_character_length = 0;
++
++ priv->hildon_edited_character_timeout = g_timeout_add( HILDON_EDITED_CHARACTER_MS, (GSourceFunc)
++ hildon_remove_visible_character, entry );
++
++ }
++ else
++ {
++ /* No last character known. This could be for example because the application has filled
++ * in the password already. In that case we of course don't want to view it
++ */
++ append_char (str, invisible_char, entry->text_length);
++ }
++ }
++
+ pango_layout_set_text (layout, str->str, str->len);
+ g_string_free (str, TRUE);
+ }
+@@ -3048,12 +3365,17 @@
+ gint area_width, area_height;
+ gint y_pos;
+ PangoLayoutLine *line;
+-
++ gint border_x, border_y;
++
++ gtk_widget_style_get (GTK_WIDGET (entry), "horizontal-border", &border_x,
++ "vertical-border", &border_y,
++ NULL);
++
+ layout = gtk_entry_ensure_layout (entry, TRUE);
+
+ get_text_area_size (entry, NULL, NULL, &area_width, &area_height);
+
+- area_height = PANGO_SCALE * (area_height - 2 * INNER_BORDER);
++ area_height = PANGO_SCALE * (area_height - 2 * border_y);
+
+ line = pango_layout_get_lines (layout)->data;
+ pango_layout_line_get_extents (line, NULL, &logical_rect);
+@@ -3070,10 +3392,10 @@
+ else if (y_pos + logical_rect.height > area_height)
+ y_pos = area_height - logical_rect.height;
+
+- y_pos = INNER_BORDER + y_pos / PANGO_SCALE;
++ y_pos = border_y + y_pos / PANGO_SCALE;
+
+ if (x)
+- *x = INNER_BORDER - entry->scroll_offset;
++ *x = border_x - entry->scroll_offset;
+
+ if (y)
+ *y = y_pos;
+@@ -3083,6 +3405,10 @@
+ gtk_entry_draw_text (GtkEntry *entry)
+ {
+ GtkWidget *widget;
++ gint border_y, border_x;
++
++ gtk_widget_style_get (GTK_WIDGET (entry), "horizontal-border", &border_x,
++ "vertical-border", &border_y, NULL);
+
+ if (!entry->visible && entry->invisible_char == 0)
+ return;
+@@ -3092,14 +3418,76 @@
+ PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE);
+ gint x, y;
+ gint start_pos, end_pos;
++ GdkRectangle clip_rect;
+
+ widget = GTK_WIDGET (entry);
+
+ get_layout_position (entry, &x, &y);
+
++ /* Use a clipping rectangle so that we always get enough empty space around
++ * the text.
++ */
++ clip_rect.x = border_x;
++ clip_rect.y = 0;
++
++ gdk_drawable_get_size (entry->text_area, &clip_rect.width, &clip_rect.height);
++ clip_rect.width -= border_x * 2;
++
++ /*changes for Hildon
++ *Reduce the size of the clip rect, so that only full characters are displayed
++ */
++
++ /* NOTE: Commented out because it does not work with bidi text where
++the indexes are in random
++ * left-right or right-left order. Code causes Pango assert aborts. Because gtkentry itself
++ * is broken with regard to bidi anyway (bug #478) we ignore this requirement of the spec
++ * until gtkentry itself is fixed. (bug #477)
++ */
++
++ /* Better yet, let's enable this only when not in RTL mode */
++
++ /* Note: BUG #857. patched gtkentry crashed when pasting scalable fonts. This is pango problem
++ * and we tested patched gtkentry with pango version 1.3.2 and it appears to be fixed. Section is commented
++ out until we upgrade to new version of pango
++ if (gtk_widget_get_direction( entry ) != GTK_TEXT_DIR_RTL)
++ {
++ PangoRectangle char_rect; // used for getting character's onscreen pos
++ PangoLayoutIter *iter; // used to iterate over the text
++
++ // get the position of the character currently at the clip border
++ iter = get_char_at_pos( layout, (clip_rect.x + clip_rect.width + entry->scroll_offset), 0 );
++ if ( iter )
++ {
++ // get the position of that character on the screen
++ pango_layout_iter_get_char_extents( iter, &char_rect );
++ char_rect.x /= PANGO_SCALE;
++ char_rect.x -= entry->scroll_offset;
++ char_rect.width /= PANGO_SCALE;
++
++ // if the ending position is > the clip rectangle, then the
++ // character is only partially visible, and we should
++ // clip the entire character.
++
++ if ( char_rect.x + char_rect.width > clip_rect.x + clip_rect.width )
++ {
++ clip_rect.width = char_rect.x;
++ }
++
++ pango_layout_iter_free( iter );
++ }
++
++ }
++ */
++ /******************************************************************/
++
++ gdk_gc_set_clip_rectangle (widget->style->text_gc [widget->state], &clip_rect);
++
+ gdk_draw_layout (entry->text_area, widget->style->text_gc [widget->state],
+ x, y,
+ layout);
++
++ gdk_gc_set_clip_rectangle (widget->style->text_gc [widget->state], NULL);
++
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos))
+ {
+@@ -3128,7 +3516,7 @@
+ {
+ GdkRectangle rect;
+
+- rect.x = INNER_BORDER - entry->scroll_offset + ranges[2 * i];
++ rect.x = border_x - entry->scroll_offset + ranges[2 * i];
+ rect.y = y;
+ rect.width = ranges[2 * i + 1];
+ rect.height = logical_rect.height;
+@@ -3177,14 +3565,18 @@
+ {
+ GdkKeymap *keymap = gdk_keymap_get_for_display (gtk_widget_get_display (GTK_WIDGET (entry)));
+ PangoDirection keymap_direction = gdk_keymap_get_direction (keymap);
++ gint border_x, border_y;
+
++ gtk_widget_style_get (GTK_WIDGET (entry), "horizontal-border", &border_x,
++ "vertical-border", &border_y,
++ NULL);
+ if (GTK_WIDGET_DRAWABLE (entry))
+ {
+ GtkWidget *widget = GTK_WIDGET (entry);
+ GdkRectangle cursor_location;
+ gboolean split_cursor;
+
+- gint xoffset = INNER_BORDER - entry->scroll_offset;
++ gint xoffset = border_x - entry->scroll_offset;
+ gint strong_x, weak_x;
+ gint text_area_height;
+ PangoDirection dir1 = PANGO_DIRECTION_NEUTRAL;
+@@ -3221,9 +3613,9 @@
+ }
+
+ cursor_location.x = xoffset + x1;
+- cursor_location.y = INNER_BORDER;
++ cursor_location.y = border_y;
+ cursor_location.width = 0;
+- cursor_location.height = text_area_height - 2 * INNER_BORDER ;
++ cursor_location.height = text_area_height - 2 * border_y;
+
+ draw_insertion_cursor (entry,
+ &cursor_location, TRUE, dir1,
+@@ -3249,11 +3641,8 @@
+ static void
+ gtk_entry_reset_im_context (GtkEntry *entry)
+ {
+- if (entry->need_im_reset)
+- {
+- entry->need_im_reset = 0;
+- gtk_im_context_reset (entry->im_context);
+- }
++ /* Hildon: We want reset to be sent more often */
++ gtk_im_context_reset (entry->im_context);
+ }
+
+ static gint
+@@ -3266,8 +3655,12 @@
+ gint pos;
+ gboolean trailing;
+ const gchar *text;
+- gint cursor_index;
+-
++ gint border_x, cursor_index;
++
++ gtk_widget_style_get (GTK_WIDGET (entry), "horizontal-border", &border_x,
++ NULL);
++ x -= border_x;
++
+ layout = gtk_entry_ensure_layout (entry, TRUE);
+ text = pango_layout_get_text (layout);
+ cursor_index = g_utf8_offset_to_pointer (text, entry->current_pos) - text;
+@@ -3355,12 +3748,17 @@
+ PangoLayout *layout;
+ PangoLayoutLine *line;
+ PangoRectangle logical_rect;
++ gint border_x, border_y;
++
++ gtk_widget_style_get (GTK_WIDGET (entry), "horizontal-border", &border_x,
++ "vertical-border", &border_y,
++ NULL);
+
+ if (!GTK_WIDGET_REALIZED (entry))
+ return;
+
+ gdk_drawable_get_size (entry->text_area, &text_area_width, NULL);
+- text_area_width -= 2 * INNER_BORDER;
++ text_area_width -= 2 * border_x;
+
+ layout = gtk_entry_ensure_layout (entry, TRUE);
+ line = pango_layout_get_lines (layout)->data;
+@@ -3390,13 +3788,13 @@
+ entry->scroll_offset = CLAMP (entry->scroll_offset, min_offset, max_offset);
+
+ /* And make sure cursors are on screen. Note that the cursor is
+- * actually drawn one pixel into the INNER_BORDER space on
++ * actually drawn one pixel into the border_x space on
+ * the right, when the scroll is at the utmost right. This
+ * looks better to to me than confining the cursor inside the
+ * border entirely, though it means that the cursor gets one
+ * pixel closer to the edge of the widget on the right than
+ * on the left. This might need changing if one changed
+- * INNER_BORDER from 2 to 1, as one would do on a
++ * border_x from 2 to 1, as one would do on a
+ * small-screen-real-estate display.
+ *
+ * We always make sure that the strong cursor is on screen, and
+@@ -3430,6 +3828,52 @@
+ entry->scroll_offset += weak_xoffset - text_area_width;
+ }
+
++ /*Changes for Hildon
++ * now we make it so that if a character is partially visible,
++ * then we also scroll that off the screen.
++ */
++
++ /* NOTE: Commented out because it does not work with bidi text where the indexes are in random
++ * left-right or right-left order. Code causes Pango assert aborts. Because gtkentry itself
++ * is broken with regard to bidi anyway (bug #478) we ignore this requirement of the spec
++ * until gtkentry itself is fixed. (bug #477)
++ */
++
++ /* Better yet, let's disable this (for now) only when using RTL text */
++
++/*Note: BUG #857. patched gtkentry crashed when pasting scalable fonts. This is pango problem
++ * and we tested patched gtkentry with pango version 1.3.2 and it appears to be fixed. Section is comment ed out until we upgrade to new version of pango
++ if (gtk_widget_get_direction( entry ) != GTK_TEXT_DIR_RTL)
++ {
++ PangoLayoutIter *iter = get_char_at_pos( layout, entry->scroll_offset, 0 );
++ // if we found the char we were looking for
++ if ( iter )
++ {
++ PangoRectangle char_rect; // used for getting character's onscreen pos
++
++ // get the position of that character on the screen
++ pango_layout_iter_get_char_extents( iter, &char_rect );
++ char_rect.x /= PANGO_SCALE;
++
++ // if the starting position is < the current scroll offset, then the
++ // character is only partially visible, and we should scroll to the
++ // start of the next character instead
++
++ if ( char_rect.x < entry->scroll_offset )
++ {
++ if ( pango_layout_iter_next_char( iter ) )
++ {
++ pango_layout_iter_get_char_extents( iter, &char_rect);
++ entry->scroll_offset = char_rect.x / PANGO_SCALE;
++ }
++ }
++
++ pango_layout_iter_free( iter );
++ }
++
++
++ }*/
++
+ g_object_notify (G_OBJECT (entry), "scroll_offset");
+ }
+
+@@ -3552,8 +3996,9 @@
+ pango_layout_get_log_attrs (layout, &log_attrs, &n_attrs);
+
+ /* Find the next word end */
++ /*Hildon: cursor should seek to the start of the next word*/
+ new_pos++;
+- while (new_pos < n_attrs && !log_attrs[new_pos].is_word_end)
++ while (new_pos < n_attrs && !log_attrs[new_pos].is_word_start)
+ new_pos++;
+
+ g_free (log_attrs);
+@@ -3648,14 +4093,9 @@
+
+ if (entry->visible)
+ return gtk_editable_get_chars (GTK_EDITABLE (entry), start, end);
+- else if (!entry->invisible_char)
++ /*Hildon: when not visible, no chars are public*/
++ else
+ return g_strdup ("");
+- else
+- {
+- GString *str = g_string_new (NULL);
+- append_char (str, entry->invisible_char, end - start);
+- return g_string_free (str, FALSE);
+- }
+ }
+
+ static void
+@@ -3678,9 +4118,12 @@
+
+ if (text)
+ {
+- gint pos, start, end;
++ gint pos, start, end, index;
+ GtkEntryCompletion *completion = gtk_entry_get_completion (entry);
+
++ /* when pasting multiline text, ignore everything but the first line */
++ for (index = 0; text[index] != 0 && text[index] != '\n'; index++);
++
+ if (completion)
+ {
+ g_signal_handler_block (entry, completion->priv->changed_id);
+@@ -3692,7 +4135,7 @@
+ gtk_editable_delete_text (editable, start, end);
+
+ pos = entry->current_pos;
+- gtk_editable_insert_text (editable, text, -1, &pos);
++ gtk_editable_insert_text (editable, text, index, &pos);
+ gtk_editable_set_position (editable, pos);
+
+ if (completion)
+@@ -3888,6 +4331,7 @@
+ {
+ g_return_if_fail (GTK_IS_ENTRY (entry));
+
++ g_object_set(G_OBJECT(entry->im_context), "visibility", visible, NULL);
+ entry->visible = visible ? TRUE : FALSE;
+ g_object_notify (G_OBJECT (entry), "visibility");
+ gtk_entry_recompute (entry);
+@@ -4569,6 +5013,7 @@
+ GdkEventButton *event)
+ {
+ PopupInfo *info = g_new (PopupInfo, 1);
++ GtkEntryPrivate *priv;
+
+ /* In order to know what entries we should make sensitive, we
+ * ask for the current targets of the clipboard, and when
+@@ -4576,6 +5021,8 @@
+ */
+ info->entry = g_object_ref (entry);
+
++ priv = GTK_ENTRY_GET_PRIVATE (entry);
++
+ if (event)
+ {
+ info->button = event->button;
+@@ -4591,6 +5038,8 @@
+ gdk_atom_intern ("TARGETS", FALSE),
+ popup_targets_received,
+ info);
++
++ priv->menu_popped = TRUE;
+ }
+
+ static gboolean
+@@ -5389,3 +5838,156 @@
+
+ return completion;
+ }
++
++static PangoLayoutIter *get_char_at_pos( PangoLayout *layout, gint x, gint y )
++{
++ gint index = 0; /*the index of the first character */
++ gint trailing = 0; /*not used*/
++ PangoLayoutIter *iter; /*used to iterate over the text*/
++ gboolean valid_char = TRUE;
++
++ /*get the position of the character currently at the scroll offset*/
++ pango_layout_xy_to_index( layout, x * PANGO_SCALE, y * PANGO_SCALE, &index, &trailing );
++ iter = pango_layout_get_iter( layout );
++
++ /*iterate until we get to the character at the same index*/
++ while ( valid_char && pango_layout_iter_get_index( iter ) != index )
++ {
++ valid_char = pango_layout_iter_next_char( iter );
++ }
++
++ if ( valid_char == FALSE )
++ iter = NULL;
++
++ return iter;
++}
++
++static void gtk_entry_update_scrolled_window( GtkEntry *entry)
++{
++ GtkWidget *parent;
++ GtkWidget *widget;
++ GtkWidget *direct_parent = NULL;
++ GtkScrolledWindow *sw = NULL;
++ gboolean need_update = FALSE;
++ GtkAdjustment *vadjustment;
++ gdouble value;
++
++ widget = parent = GTK_WIDGET(entry);
++ if(parent->parent != NULL)
++ direct_parent = parent->parent;
++ while(parent && !GTK_WIDGET_TOPLEVEL(parent))
++ {
++ if(GTK_IS_SCROLLED_WINDOW(parent))
++ {
++ need_update = TRUE;
++ sw = GTK_SCROLLED_WINDOW(parent);
++ break;
++ }
++ parent = parent->parent;
++ }
++
++ if(need_update)
++ {
++ gint x=0, y=0;
++ vadjustment = gtk_scrolled_window_get_vadjustment(sw);
++ value = gtk_adjustment_get_value(vadjustment);
++
++ if(direct_parent != NULL)
++ gtk_widget_translate_coordinates( direct_parent, parent,
++ widget->allocation.x, widget->allocation.y, &x, &y );
++
++ if( (gdouble) y < 0 )
++ {
++ value = value + (gdouble) y;
++ if (value < vadjustment->lower)
++ value = vadjustment->lower;
++ }
++ else if( (gdouble )y + widget->allocation.height > vadjustment->page_size)
++ {
++ value = value + (gdouble)y + widget->allocation.height
++ - vadjustment->page_size;
++ if(value > vadjustment->upper - vadjustment->page_size)
++ value = vadjustment->upper - vadjustment->page_size;
++ }
++ gtk_adjustment_set_value(vadjustment, value);
++ gtk_scrolled_window_set_vadjustment(sw, GTK_ADJUSTMENT(vadjustment));
++ }
++}
++
++/*
++ * gtk_entry_set_autocap:
++ * @entry: a #GtkEntry
++ * @autocap: autocap
++ *
++ * Sets autocapitalization of the widget.
++ */
++static void
++gtk_entry_set_autocap (GtkEntry *entry,
++ gboolean autocap)
++{
++ g_return_if_fail (GTK_IS_ENTRY (entry));
++
++ if (gtk_entry_get_autocap (entry) != autocap)
++ {
++ g_object_set (G_OBJECT (entry->im_context), "autocap", autocap, NULL);
++ g_object_notify (G_OBJECT (entry), "autocap");
++ }
++}
++
++/*
++ * gtk_entry_get_autocap:
++ * @entry: a #GtkEntry
++ *
++ * Gets autocapitalization state of the widget.
++ *
++ * Return value: a state
++ */
++static gboolean
++gtk_entry_get_autocap (GtkEntry *entry)
++{
++ gboolean autocap;
++ g_return_val_if_fail (GTK_IS_ENTRY (entry), FALSE);
++
++ g_object_get (G_OBJECT (entry->im_context), "autocap", &autocap, NULL);
++
++ return autocap;
++}
++
++/*
++ * gtk_entry_set_input_mode:
++ * @entry: a #GtkEntry
++ * @autocap: input mode
++ *
++ * Sets autocapitalization of the widget.
++ */
++static void
++gtk_entry_set_input_mode (GtkEntry *entry,
++ gint mode)
++{
++ g_return_if_fail (GTK_IS_ENTRY (entry));
++
++ if (gtk_entry_get_input_mode (entry) != mode)
++ {
++ g_object_set (G_OBJECT (entry->im_context), "input_mode", mode, NULL);
++ g_object_notify (G_OBJECT (entry), "input_mode");
++ }
++}
++
++/*
++ * gtk_entry_get_input_mode:
++ * @entry: a #GtkEntry
++ *
++ * Gets input mode of the widget.
++ *
++ * Return value: input mode
++ */
++static gint
++gtk_entry_get_input_mode (GtkEntry *entry)
++{
++ gint mode;
++ g_return_val_if_fail (GTK_IS_ENTRY (entry), FALSE);
++
++ g_object_get (G_OBJECT (entry->im_context), "input_mode", &mode, NULL);
++
++ return mode;
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkenums.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkenums.h.diff
new file mode 100644
index 0000000000..5978100c97
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkenums.h.diff
@@ -0,0 +1,15 @@
+--- gtk+-2.6.4/gtk/gtkenums.h 2003-07-18 21:52:02.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkenums.h 2005-04-06 16:19:36.500989368 +0300
+@@ -133,7 +133,11 @@
+ GTK_ICON_SIZE_LARGE_TOOLBAR,
+ GTK_ICON_SIZE_BUTTON,
+ GTK_ICON_SIZE_DND,
+- GTK_ICON_SIZE_DIALOG
++ GTK_ICON_SIZE_DIALOG,
++ HILDON_ICON_SIZE_26,
++ HILDON_ICON_SIZE_40,
++ HILDON_ICON_SIZE_50,
++ HILDON_ICON_SIZE_64
+ } GtkIconSize;
+
+ #ifndef GTK_DISABLE_DEPRECATED
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkfilesystem.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkfilesystem.c.diff
new file mode 100644
index 0000000000..87346c0260
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkfilesystem.c.diff
@@ -0,0 +1,12 @@
+--- gtk+-2.6.4/gtk/gtkfilesystem.c 2004-09-13 19:00:00.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkfilesystem.c 2005-04-06 16:19:36.518986632 +0300
+@@ -1147,4 +1147,9 @@
+ return fs;
+ }
+
++/* In Hildon we need to publish the previous symbol */
++GtkFileSystem *hildon_gtk_file_system_create(const char *file_system_name)
++{
++ return _gtk_file_system_create (file_system_name);
++}
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkfilesystem.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkfilesystem.h.diff
new file mode 100644
index 0000000000..a555ca230b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkfilesystem.h.diff
@@ -0,0 +1,12 @@
+--- gtk+-2.6.4/gtk/gtkfilesystem.h 2005-01-03 01:15:21.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkfilesystem.h 2005-04-06 16:19:36.518986632 +0300
+@@ -364,6 +364,9 @@
+
+ GtkFileSystem *_gtk_file_system_create (const char *file_system_name);
+
++/* In Hildon we need to publish the previous symbol */
++GtkFileSystem *hildon_gtk_file_system_create(const char *file_system_name);
++
+ G_END_DECLS
+
+ #endif /* __GTK_FILE_SYSTEM_H__ */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkframe.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkframe.c.diff
new file mode 100644
index 0000000000..6ca54c0c99
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkframe.c.diff
@@ -0,0 +1,82 @@
+--- gtk+-2.6.4/gtk/gtkframe.c 2004-08-17 22:10:24.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkframe.c 2005-04-06 16:19:36.583976752 +0300
+@@ -24,6 +24,10 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2002-2003. See CHANGES file for list
++ * of changes.
++ */
++
+ #include <config.h>
+ #include <string.h>
+ #include "gtkalias.h"
+@@ -33,6 +37,7 @@
+
+ #define LABEL_PAD 1
+ #define LABEL_SIDE_PAD 2
++#define FRAME_BORDER_WIDTH 3
+
+ enum {
+ PROP_0,
+@@ -172,6 +177,14 @@
+ P_("A widget to display in place of the usual frame label"),
+ GTK_TYPE_WIDGET,
+ G_PARAM_READABLE | G_PARAM_WRITABLE));
++
++ /* draw hildonlike frame */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("hildonlike",
++ _("hildonlike looks"),
++ _("Draw frame, 1/0"),
++ FALSE,
++ G_PARAM_READABLE));
+
+ widget_class->expose_event = gtk_frame_expose;
+ widget_class->size_request = gtk_frame_size_request;
+@@ -276,7 +289,7 @@
+ GtkWidget*
+ gtk_frame_new (const gchar *label)
+ {
+- return g_object_new (GTK_TYPE_FRAME, "label", label, NULL);
++ return g_object_new (GTK_TYPE_FRAME, "label", label, "border-width", FRAME_BORDER_WIDTH, NULL);
+ }
+
+ static void
+@@ -533,6 +546,9 @@
+ {
+ GtkFrame *frame;
+ gint x, y, width, height;
++ gboolean hildonlike;
++
++ gtk_widget_style_get ( widget, "hildonlike", &hildonlike, NULL );
+
+ if (GTK_WIDGET_DRAWABLE (widget))
+ {
+@@ -543,7 +559,16 @@
+ width = frame->child_allocation.width + 2 * widget->style->xthickness;
+ height = frame->child_allocation.height + 2 * widget->style->ythickness;
+
+- if (frame->label_widget)
++ if (hildonlike) {
++ /* draw hildon application borders */
++ gtk_paint_box (widget->style,
++ widget->window,
++ GTK_WIDGET_STATE( widget ),
++ GTK_SHADOW_OUT,
++ NULL, widget, "frame",
++ x, y, width, height);
++ }
++ else if (frame->label_widget)
+ {
+ GtkRequisition child_requisition;
+ gfloat xalign;
+@@ -586,7 +611,7 @@
+ {
+ if (GTK_WIDGET_DRAWABLE (widget))
+ {
+- gtk_frame_paint (widget, &event->area);
++ gtk_frame_paint (widget, &event->area);
+
+ (* GTK_WIDGET_CLASS (parent_class)->expose_event) (widget, event);
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhashtable.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhashtable.c.diff
new file mode 100644
index 0000000000..fc6e15810b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhashtable.c.diff
@@ -0,0 +1,102 @@
+--- gtk+-2.6.4/gtk/gtkhashtable.c 1970-01-01 02:00:00.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkhashtable.c 2005-04-06 16:19:36.596974776 +0300
+@@ -0,0 +1,99 @@
++/* GTK - The GIMP Toolkit
++ * Copyright (C) 2005 Nokia
++ * Author: Jorn Baayen <jbaayen@gnome.org>
++ *
++ * 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 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ */
++
++#include <config.h>
++#include "gtkhashtable.h"
++
++static gpointer parent_class = NULL;
++
++static void _gtk_hash_table_init (GtkHashTable *hash_table);
++static void _gtk_hash_table_class_init (GtkHashTableClass *klass);
++static void _gtk_hash_table_finalize (GObject *object);
++
++GType
++_gtk_hash_table_get_type (void)
++{
++ static GType hash_table_type = 0;
++
++ if (!hash_table_type)
++ {
++ static const GTypeInfo hash_table_info =
++ {
++ sizeof (GtkHashTableClass),
++ NULL, /* base_init */
++ NULL, /* base_finalize */
++ (GClassInitFunc) _gtk_hash_table_class_init,
++ NULL, /* class_finalize */
++ NULL, /* class_data */
++ sizeof (GtkHashTable),
++ 0, /* n_preallocs */
++ (GInstanceInitFunc) _gtk_hash_table_init,
++ };
++
++ hash_table_type =
++ g_type_register_static (G_TYPE_OBJECT, "GtkHashTable",
++ &hash_table_info, 0);
++ }
++
++ return hash_table_type;
++}
++
++static void
++_gtk_hash_table_init (GtkHashTable *hash_table)
++{
++ hash_table->hash = g_hash_table_new_full (g_str_hash, g_str_equal,
++ g_free, g_free);
++}
++
++static void
++_gtk_hash_table_class_init (GtkHashTableClass *klass)
++{
++ GObjectClass *object_class = G_OBJECT_CLASS (klass);
++
++ parent_class = g_type_class_peek_parent (klass);
++
++ object_class->finalize = _gtk_hash_table_finalize;
++}
++
++static void
++_gtk_hash_table_finalize (GObject *object)
++{
++ GtkHashTable *hash_table = GTK_HASH_TABLE (object);
++
++ g_hash_table_destroy (hash_table->hash);
++
++ G_OBJECT_CLASS (parent_class)->finalize (object);
++}
++
++/**
++ * _gtk_hash_table_new:
++ *
++ * Creates a new #GtkHashTable. This is a #GHashTable wrapped in a GObject,
++ * thereby supporting refcounting.
++ *
++ * Return value: a new #GtkHashTable
++ **/
++GtkHashTable*
++_gtk_hash_table_new (void)
++{
++ return g_object_new (GTK_TYPE_HASH_TABLE, NULL);
++}
++
++
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhashtable.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhashtable.h.diff
new file mode 100644
index 0000000000..733d68c35a
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhashtable.h.diff
@@ -0,0 +1,64 @@
+--- gtk+-2.6.4/gtk/gtkhashtable.h 1970-01-01 02:00:00.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkhashtable.h 2005-04-06 16:19:36.606973256 +0300
+@@ -0,0 +1,61 @@
++/* GTK - The GIMP Toolkit
++ * Copyright (C) 2005 Nokia
++ * Author: Jorn Baayen <jbaayen@gnome.org>
++ *
++ * 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 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public
++ * License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ */
++
++#ifndef __GTK_HASH_TABLE_H__
++#define __GTK_HASH_TABLE_H__
++
++#include <glib-object.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif /* __cplusplus */
++
++typedef struct _GtkHashTable GtkHashTable;
++typedef struct _GtkHashTableClass GtkHashTableClass;
++
++#define GTK_TYPE_HASH_TABLE (_gtk_hash_table_get_type ())
++#define GTK_HASH_TABLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_HASH_TABLE, GtkHashTable))
++#define GTK_HASH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_HASH_TABLE, GtkHashTableClass))
++#define GTK_IS_HASH_TABLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_HASH_TABLE))
++#define GTK_IS_HASH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HASH_TABLE))
++#define GTK_HASH_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_HASH_TABLE, GtkHashTableClass))
++
++struct _GtkHashTable
++{
++ GObject parent_instance;
++
++ GHashTable *hash;
++};
++
++struct _GtkHashTableClass
++{
++ GObjectClass parent_class;
++};
++
++GType _gtk_hash_table_get_type (void) G_GNUC_CONST;
++GtkHashTable* _gtk_hash_table_new (void);
++
++#ifdef __cplusplus
++}
++#endif /* __cplusplus */
++
++#endif /* __GTK_HASH_TABLE_H__ */
++
++
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhbbox.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhbbox.c.diff
new file mode 100644
index 0000000000..e43db37f5c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhbbox.c.diff
@@ -0,0 +1,344 @@
+--- gtk+-2.6.4/gtk/gtkhbbox.c 2004-08-09 19:59:52.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkhbbox.c 2005-04-06 16:19:36.644967480 +0300
+@@ -24,10 +24,20 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2002-2005. See CHANGES file for list
++ * of changes.
++ */
++
++/* Hildon : Button spacing according to the spec. */
++#define HILDON_BUTTON_SPACING 5
++/* Selecting hetefogenous mode for a childlayout */
++#define GTK_BUTTONBOX_HETEROGENOUS 6
++
+ #include <config.h>
+ #include "gtkalias.h"
+ #include "gtkhbbox.h"
+-
++/* Hildon : We need this to mess with buttons graphics. */
++#include "gtkbutton.h"
+
+ static void gtk_hbutton_box_class_init (GtkHButtonBoxClass *klass);
+ static void gtk_hbutton_box_init (GtkHButtonBox *box);
+@@ -36,6 +46,15 @@
+ static void gtk_hbutton_box_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation);
+
++static void osso_gtk_hbutton_child_showhide_handler (GtkWidget *widget,
++ gpointer user_data);
++static void osso_gtk_hbutton_box_remove_child_signal_handlers (GtkHButtonBox *hbbox,
++ GtkWidget *removed_widget,
++ gpointer data);
++static void osso_gtk_hbutton_box_find_button_detail (GtkHButtonBox *hbbox,
++ GtkWidget *addremovewidget,
++ gpointer data);
++
+ static gint default_spacing = 30;
+ static gint default_layout_style = GTK_BUTTONBOX_EDGE;
+
+@@ -76,12 +95,23 @@
+
+ widget_class->size_request = gtk_hbutton_box_size_request;
+ widget_class->size_allocate = gtk_hbutton_box_size_allocate;
++
++ /* HILDON:
++ * Name buttons only if hildon like style property is set
++ */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean
++ ( "hildonlike",
++ "hildonlike looks",
++ "Name buttons, 1/0",
++ FALSE,
++ G_PARAM_READABLE) );
+ }
+
+ static void
+ gtk_hbutton_box_init (GtkHButtonBox *hbutton_box)
+ {
+- /* button_box_init has done everything allready */
++ /* button_box_init has done everything allready */
+ }
+
+ GtkWidget*
+@@ -91,6 +121,24 @@
+
+ hbutton_box = g_object_new (GTK_TYPE_HBUTTON_BOX, NULL);
+
++ /* Attach signal handler for 'hildonizing' buttons.
++ * gtk_hbutton_box_hildonize_buttons will check the name
++ * and if it is something we're interested in i.e.
++ *
++ * hildon_dialogbuttons
++ * hildon_viewbuttons
++ *
++ * it will do the hildonizing
++ */
++ g_signal_connect_after (G_OBJECT (hbutton_box), "remove",
++ G_CALLBACK (osso_gtk_hbutton_box_remove_child_signal_handlers),
++ NULL);
++ g_signal_connect_after( G_OBJECT( hbutton_box ), "add",
++ G_CALLBACK( osso_gtk_hbutton_box_find_button_detail ),
++ NULL );
++ g_signal_connect_after( G_OBJECT( hbutton_box ), "remove",
++ G_CALLBACK( osso_gtk_hbutton_box_find_button_detail ),
++ NULL );
+ return GTK_WIDGET (hbutton_box);
+ }
+
+@@ -145,6 +193,11 @@
+ gint child_height;
+ gint spacing;
+ GtkButtonBoxStyle layout;
++ gint child_xpad=0;
++ GtkBoxChild *child_req;
++ GList *children_req;
++ GtkRequisition treq;
++
+
+ box = GTK_BOX (widget);
+ bbox = GTK_BUTTON_BOX (widget);
+@@ -159,6 +212,12 @@
+ &child_width,
+ &child_height);
+
++ /* should GTK_BUTTONBOX_HETEROGENOUS add into the GtkButtonBoxStyle
++ enum struct
++ */
++ if( !box->homogeneous )
++ layout = GTK_BUTTONBOX_HETEROGENOUS;
++
+ if (nvis_children == 0)
+ {
+ requisition->width = 0;
+@@ -177,11 +236,36 @@
+ case GTK_BUTTONBOX_END:
+ requisition->width = nvis_children*child_width + ((nvis_children-1)*spacing);
+ break;
++ case GTK_BUTTONBOX_HETEROGENOUS:
++ children_req = GTK_BOX (box)->children;
++ child_req = children_req->data;
++ requisition->width = 0;
++
++ while (children_req)
++ {
++ child_req = children_req->data;
++ children_req = children_req->next;
++
++ if (GTK_WIDGET_VISIBLE (child_req->widget))
++ {
++ gtk_widget_get_child_requisition( child_req->widget,
++ &(treq) );
++ requisition->width += treq.width;
++
++ gtk_widget_style_get(widget,
++ "child-internal-pad-x",
++ &(child_xpad), NULL);
++ requisition->width += (child_xpad*2);
++ }
++ }
++ requisition->width += ((nvis_children-1)*spacing);
++
++ break;
+ default:
+ g_assert_not_reached();
+ break;
+ }
+-
++
+ requisition->height = child_height;
+ }
+
+@@ -227,6 +311,10 @@
+ &child_height);
+ widget->allocation = *allocation;
+ width = allocation->width - GTK_CONTAINER (box)->border_width*2;
++
++ if( !base_box->homogeneous )
++ layout = GTK_BUTTONBOX_HETEROGENOUS;
++
+ switch (layout)
+ {
+ case GTK_BUTTONBOX_SPREAD:
+@@ -264,6 +352,39 @@
+ - GTK_CONTAINER (box)->border_width;
+ secondary_x = allocation->x + GTK_CONTAINER (box)->border_width;
+ break;
++ case GTK_BUTTONBOX_HETEROGENOUS:
++ {
++ gint sumwidth = 0;
++ GtkBoxChild *child_h;
++ GList *children_h = GTK_BOX (box)->children;
++ /* heterogenous sized childs onto center */
++ childspacing = spacing;
++ child_h = children_h->data;
++
++ while (children_h )
++ {
++ if ( g_list_length (children_h) == 0 ) break;
++
++ child_h = children_h->data;
++ children_h = children_h->next;
++
++ if (GTK_WIDGET_VISIBLE (child_h->widget))
++ {
++ gint child_xpad = 0;
++ GtkRequisition treq;
++ gtk_widget_get_child_requisition( child_h->widget, &(treq) );
++ sumwidth += treq.width;
++
++ gtk_widget_style_get(widget,
++ "child-internal-pad-x",
++ &(child_xpad), NULL);
++ sumwidth += (child_xpad*2);
++ }
++ }
++ x = secondary_x = allocation->x +
++ ( (allocation->width - sumwidth - (spacing * (nvis_children - 1)))/2 );
++ break;
++ }
+ default:
+ g_assert_not_reached();
+ break;
+@@ -282,10 +403,33 @@
+
+ if (GTK_WIDGET_VISIBLE (child->widget))
+ {
+- child_allocation.width = child_width;
+ child_allocation.height = child_height;
+ child_allocation.y = y;
+
++ if(layout != GTK_BUTTONBOX_HETEROGENOUS)
++ {
++ child_allocation.width = child_width;
++ }
++ else /* if layout will be hetergenous */
++ {
++ gint child_hwidth = 0;
++ GtkRequisition treq;
++ gint child_xpad = 0;
++
++ gtk_widget_get_child_requisition( child->widget, &(treq) );
++ child_hwidth += treq.width;
++
++ gtk_widget_style_get(widget,
++ "child-internal-pad-x",
++ &child_xpad, NULL);
++ child_hwidth += (child_xpad*2);
++
++ child_allocation.width = child_hwidth;
++ childspace = child_hwidth + childspacing;
++
++ }
++
++ /* calculate the horizontal location */
+ if (child->is_secondary)
+ {
+ child_allocation.x = secondary_x;
+@@ -304,4 +448,104 @@
+ }
+ }
+ }
++
++/* Function to wrap "hide" and "show" signals to call
++ * osso_gtk_hbutton_box_find_button_detail -function.*/
++static void osso_gtk_hbutton_child_showhide_handler (GtkWidget *widget,
++ gpointer user_data)
++{
++ osso_gtk_hbutton_box_find_button_detail (widget, GTK_WIDGET (user_data), NULL);
++}
+
++/* Function to remove "show"&"hide" signal handlers
++ * from a child when it's removed. */
++static void osso_gtk_hbutton_box_remove_child_signal_handlers (GtkHButtonBox *hbbox,
++ GtkWidget *removed_widget,
++ gpointer data)
++{
++ g_signal_handlers_disconnect_by_func (G_OBJECT (removed_widget), osso_gtk_hbutton_box_find_button_detail, hbbox);
++}
++
++/* Signal handler called when we have to set
++ * painting detail values for buttons in this
++ * gtk_horizontal_button_box.
++ */
++static void osso_gtk_hbutton_box_find_button_detail (GtkHButtonBox *hbbox,
++ GtkWidget *addremovewidget,
++ gpointer data)
++{
++ GList *child;
++ gint visible_buttons = 0;
++ gint secondary_buttons = 0;
++ GtkWidget *leftmost_button = NULL;
++ GtkWidget *rightmost_button = NULL;
++
++ for( child = GTK_BOX (hbbox)->children ; child ; child = child->next )
++ {
++ GtkBoxChild *box_child = child->data;
++ GtkWidget *child_widget = box_child->widget;
++ gulong signal_handler = g_signal_handler_find ( G_OBJECT( child_widget ),
++ G_SIGNAL_MATCH_FUNC,
++ 0, 0, NULL,
++ G_CALLBACK (osso_gtk_hbutton_child_showhide_handler),
++ NULL);
++
++ if (signal_handler == 0)
++ {
++ g_signal_connect_object ( G_OBJECT( child_widget ),
++ "hide",
++ G_CALLBACK ( osso_gtk_hbutton_child_showhide_handler ),
++ hbbox, G_CONNECT_SWAPPED);
++ g_signal_connect_object ( G_OBJECT( child_widget ),
++ "show",
++ G_CALLBACK ( osso_gtk_hbutton_child_showhide_handler ),
++ hbbox, G_CONNECT_SWAPPED);
++ }
++
++ if ((GTK_WIDGET_VISIBLE (child_widget)) &&
++ (GTK_IS_BUTTON (child_widget)))
++ visible_buttons++;
++ else
++ continue;
++
++ if (leftmost_button == NULL)
++ leftmost_button = child_widget;
++
++ if (secondary_buttons == 0)
++ rightmost_button = child_widget;
++ else
++ if (box_child->is_secondary)
++ {
++ rightmost_button = child_widget;
++ secondary_buttons++;
++ }
++
++ if (box_child->is_secondary)
++ rightmost_button = child_widget;
++ }
++
++ if (visible_buttons == 0)
++ return;
++
++ for( child = GTK_BOX (hbbox)->children ; child ; child = child->next )
++ {
++ GtkBoxChild *box_child = child->data;
++ GtkWidget *child_widget = box_child->widget;
++ OssoGtkButtonAttachFlags attachflags = OSSO_GTK_BUTTON_ATTACH_NORTH | OSSO_GTK_BUTTON_ATTACH_SOUTH;
++ gboolean automatic_detail;
++
++ if (!((GTK_WIDGET_VISIBLE (child_widget)) &&
++ (GTK_IS_BUTTON (child_widget))))
++ continue;
++
++ if (child_widget == leftmost_button)
++ attachflags |= OSSO_GTK_BUTTON_ATTACH_WEST;
++
++ if (child_widget == rightmost_button)
++ attachflags |= OSSO_GTK_BUTTON_ATTACH_EAST;
++
++ g_object_get (G_OBJECT (child_widget), "automatic_detail", &automatic_detail, NULL);
++ if (automatic_detail == TRUE)
++ g_object_set (G_OBJECT (child_widget), "detail", osso_gtk_button_attach_details[attachflags], NULL);
++ }
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhseparator.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhseparator.c.diff
new file mode 100644
index 0000000000..814c6ae5c7
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkhseparator.c.diff
@@ -0,0 +1,40 @@
+--- gtk+-2.6.4/gtk/gtkhseparator.c 2004-08-09 19:59:52.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkhseparator.c 2005-04-06 16:19:36.667963984 +0300
+@@ -91,13 +91,29 @@
+ gtk_hseparator_expose (GtkWidget *widget,
+ GdkEventExpose *event)
+ {
+- if (GTK_WIDGET_DRAWABLE (widget))
+- gtk_paint_hline (widget->style, widget->window, GTK_WIDGET_STATE (widget),
+- &event->area, widget, "hseparator",
+- widget->allocation.x,
+- widget->allocation.x + widget->allocation.width - 1,
+- widget->allocation.y + (widget->allocation.height -
+- widget->style->ythickness) / 2);
++ gboolean hildonlike_drawing = FALSE;
++ gtk_widget_style_get ( widget, "hildonlike-drawing", &hildonlike_drawing, NULL );
+
+- return FALSE;
++ if (GTK_WIDGET_DRAWABLE (widget))
++ {
++ if(hildonlike_drawing)
++ gtk_paint_box (widget->style, widget->window, GTK_STATE_NORMAL,
++ GTK_SHADOW_NONE, &event->area, widget, "hseparator",
++ widget->allocation.x,
++ widget->allocation.y + (widget->allocation.height -
++ widget->style->ythickness) / 2,
++ widget->allocation.width - 1,
++ widget->style->ythickness);
++ else
++ gtk_paint_hline (widget->style, widget->window, GTK_STATE_NORMAL,
++ &event->area, widget, "hseparator",
++ widget->allocation.x,
++ widget->allocation.x + widget->allocation.width - 1,
++ widget->allocation.y + (widget->allocation.height -
++ widget->style->ythickness) / 2);
++ }
++
++
++
++ return FALSE;
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkiconfactory.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkiconfactory.c.diff
new file mode 100644
index 0000000000..91874b9ce4
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkiconfactory.c.diff
@@ -0,0 +1,69 @@
+--- gtk+-2.6.4/gtk/gtkiconfactory.c 2005-01-03 16:44:33.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkiconfactory.c 2005-04-06 16:19:36.804943160 +0300
+@@ -813,7 +813,7 @@
+ {
+ if (icon_sizes == NULL)
+ {
+-#define NUM_BUILTIN_SIZES 7
++#define NUM_BUILTIN_SIZES 11
+ gint i;
+
+ icon_aliases = g_hash_table_new (g_str_hash, g_str_equal);
+@@ -863,7 +863,27 @@
+ icon_sizes[GTK_ICON_SIZE_DIALOG].width = 48;
+ icon_sizes[GTK_ICON_SIZE_DIALOG].height = 48;
+
+- g_assert ((GTK_ICON_SIZE_DIALOG + 1) == NUM_BUILTIN_SIZES);
++ icon_sizes[HILDON_ICON_SIZE_26].size = HILDON_ICON_SIZE_26;
++ icon_sizes[HILDON_ICON_SIZE_26].name = "hildon-26";
++ icon_sizes[HILDON_ICON_SIZE_26].width = 26;
++ icon_sizes[HILDON_ICON_SIZE_26].height = 26;
++
++ icon_sizes[HILDON_ICON_SIZE_40].size = HILDON_ICON_SIZE_40;
++ icon_sizes[HILDON_ICON_SIZE_40].name = "hildon-40";
++ icon_sizes[HILDON_ICON_SIZE_40].width = 40;
++ icon_sizes[HILDON_ICON_SIZE_40].height = 40;
++
++ icon_sizes[HILDON_ICON_SIZE_50].size = HILDON_ICON_SIZE_50;
++ icon_sizes[HILDON_ICON_SIZE_50].name = "hildon-50";
++ icon_sizes[HILDON_ICON_SIZE_50].width = 50;
++ icon_sizes[HILDON_ICON_SIZE_50].height = 50;
++
++ icon_sizes[HILDON_ICON_SIZE_64].size = HILDON_ICON_SIZE_64;
++ icon_sizes[HILDON_ICON_SIZE_64].name = "hildon-64";
++ icon_sizes[HILDON_ICON_SIZE_64].width = 54;
++ icon_sizes[HILDON_ICON_SIZE_64].height = 64;
++
++ g_assert ((HILDON_ICON_SIZE_64 + 1) == NUM_BUILTIN_SIZES);
+
+ /* Alias everything to itself. */
+ i = 1; /* skip invalid size */
+@@ -1658,7 +1678,7 @@
+ gint width, height, pixel_size;
+ gint *sizes, *s, dist;
+ GError *error = NULL;
+-
++
+ if (widget && gtk_widget_has_screen (widget))
+ screen = gtk_widget_get_screen (widget);
+ else if (style && style->colormap)
+@@ -1734,8 +1754,10 @@
+ tmp_source.type = GTK_ICON_SOURCE_PIXBUF;
+ tmp_source.source.pixbuf = tmp_pixbuf;
+
++ /* Hildon: no scaling allowed for Hildon icons */
+ pixbuf = gtk_style_render_icon (style, &tmp_source,
+- direction, state, -1,
++ direction, state,
++ (size < HILDON_ICON_SIZE_26) ? -1 : size,
+ widget, detail);
+
+ if (!pixbuf)
+@@ -1818,7 +1840,6 @@
+ {
+ /* This icon can be used for any direction/state/size */
+ static GtkIconSource fallback_source = GTK_ICON_SOURCE_INIT (TRUE, TRUE, TRUE);
+-
+ if (fallback_source.type == GTK_ICON_SOURCE_EMPTY)
+ {
+ GdkPixbuf *pixbuf = gdk_pixbuf_new_from_inline (-1, stock_missing_image_24, FALSE, NULL);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkicontheme.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkicontheme.c.diff
new file mode 100644
index 0000000000..ff9cf71096
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkicontheme.c.diff
@@ -0,0 +1,48 @@
+--- gtk+-2.6.4/gtk/gtkicontheme.c 2005-03-01 17:24:48.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkicontheme.c 2005-04-06 16:19:36.807942704 +0300
+@@ -64,7 +64,8 @@
+ ICON_SUFFIX_XPM = 1 << 0,
+ ICON_SUFFIX_SVG = 1 << 1,
+ ICON_SUFFIX_PNG = 1 << 2,
+- HAS_ICON_FILE = 1 << 3
++ HAS_ICON_FILE = 1 << 3,
++ ICON_SUFFIX_ANI = 1 << 4
+ } IconSuffix;
+
+
+@@ -1743,6 +1744,8 @@
+ return ".svg";
+ case ICON_SUFFIX_PNG:
+ return ".png";
++ case ICON_SUFFIX_ANI:
++ return ".ani";
+ default:
+ g_assert_not_reached();
+ }
+@@ -1760,6 +1763,8 @@
+ retval = ICON_SUFFIX_SVG;
+ else if (g_str_has_suffix (name, ".xpm"))
+ retval = ICON_SUFFIX_XPM;
++ else if (g_str_has_suffix (name, ".ani"))
++ retval = ICON_SUFFIX_ANI;
+ else
+ retval = ICON_SUFFIX_NONE;
+
+@@ -1776,6 +1781,8 @@
+ return ICON_SUFFIX_SVG;
+ else if ((suffix & ICON_SUFFIX_XPM) != 0)
+ return ICON_SUFFIX_XPM;
++ else if ((suffix & ICON_SUFFIX_ANI) != 0)
++ return ICON_SUFFIX_ANI;
+ else
+ return ICON_SUFFIX_NONE;
+ }
+@@ -2558,7 +2565,7 @@
+ icon_info->pixbuf = gdk_pixbuf_scale_simple (source_pixbuf,
+ 0.5 + image_width * icon_info->scale,
+ 0.5 + image_height * icon_info->scale,
+- GDK_INTERP_BILINEAR);
++ GDK_INTERP_NEAREST);
+ g_object_unref (source_pixbuf);
+ }
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimcontext.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimcontext.c.diff
new file mode 100644
index 0000000000..03d990c6dd
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimcontext.c.diff
@@ -0,0 +1,52 @@
+--- gtk+-2.6.4/gtk/gtkimcontext.c 2004-09-26 07:23:56.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkimcontext.c 2005-04-06 16:19:36.814941640 +0300
+@@ -360,6 +360,44 @@
+ }
+
+ /**
++ * gtk_im_context_show:
++ * @context: a #GtkIMContext
++ *
++ * Notify the input method that widget thinks the actual
++ * input method show be opened.
++ **/
++void
++gtk_im_context_show (GtkIMContext *context)
++{
++ GtkIMContextClass *klass;
++
++ g_return_if_fail (GTK_IS_IM_CONTEXT (context));
++
++ klass = GTK_IM_CONTEXT_GET_CLASS (context);
++ if (klass->show)
++ klass->show (context);
++}
++
++/**
++ * gtk_im_context_hide:
++ * @context: a #GtkIMContext
++ *
++ * Notify the input method that widget thinks the actual
++ * input method show be closed.
++ **/
++void
++gtk_im_context_hide (GtkIMContext *context)
++{
++ GtkIMContextClass *klass;
++
++ g_return_if_fail (GTK_IS_IM_CONTEXT (context));
++
++ klass = GTK_IM_CONTEXT_GET_CLASS (context);
++ if (klass->hide)
++ klass->hide (context);
++}
++
++/**
+ * gtk_im_context_reset:
+ * @context: a #GtkIMContext
+ *
+@@ -553,4 +591,3 @@
+
+ return result;
+ }
+-
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimcontext.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimcontext.h.diff
new file mode 100644
index 0000000000..068d18a7d3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimcontext.h.diff
@@ -0,0 +1,29 @@
+--- gtk+-2.6.4/gtk/gtkimcontext.h 2002-10-11 01:18:36.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkimcontext.h 2005-04-06 16:19:36.815941488 +0300
+@@ -85,14 +85,15 @@
+ gboolean (*get_surrounding) (GtkIMContext *context,
+ gchar **text,
+ gint *cursor_index);
++ void (*show) (GtkIMContext *context);
++ void (*hide) (GtkIMContext *context);
++
+
+ /* Padding for future expansion */
+ void (*_gtk_reserved1) (void);
+ void (*_gtk_reserved2) (void);
+ void (*_gtk_reserved3) (void);
+ void (*_gtk_reserved4) (void);
+- void (*_gtk_reserved5) (void);
+- void (*_gtk_reserved6) (void);
+ };
+
+ GType gtk_im_context_get_type (void) G_GNUC_CONST;
+@@ -122,6 +123,8 @@
+ gboolean gtk_im_context_delete_surrounding (GtkIMContext *context,
+ gint offset,
+ gint n_chars);
++void gtk_im_context_show (GtkIMContext *context);
++void gtk_im_context_hide (GtkIMContext *context);
+
+ #ifdef __cplusplus
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimmulticontext.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimmulticontext.c.diff
new file mode 100644
index 0000000000..4332a9c318
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkimmulticontext.c.diff
@@ -0,0 +1,155 @@
+--- gtk+-2.6.4/gtk/gtkimmulticontext.c 2004-08-09 19:59:52.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkimmulticontext.c 2005-04-06 16:19:36.818941032 +0300
+@@ -59,6 +59,8 @@
+ static void gtk_im_multicontext_focus_in (GtkIMContext *context);
+ static void gtk_im_multicontext_focus_out (GtkIMContext *context);
+ static void gtk_im_multicontext_reset (GtkIMContext *context);
++static void gtk_im_multicontext_show (GtkIMContext *context);
++static void gtk_im_multicontext_hide (GtkIMContext *context);
+ static void gtk_im_multicontext_set_cursor_location (GtkIMContext *context,
+ GdkRectangle *area);
+ static void gtk_im_multicontext_set_use_preedit (GtkIMContext *context,
+@@ -118,6 +120,67 @@
+ return im_multicontext_type;
+ }
+
++static GtkIMContext *
++gtk_im_multicontext_get_slave (GtkIMMulticontext *multicontext);
++
++enum {
++ PROP_INPUT_MODE = 1,
++ PROP_AUTOCAP,
++ PROP_VISIBILITY,
++ PROP_USE_SHOW_HIDE
++};
++
++static void gtk_im_multicontext_set_property(GObject * object,
++ guint property_id,
++ const GValue * value,
++ GParamSpec * pspec)
++{
++ GtkIMContext *slave = gtk_im_multicontext_get_slave (GTK_IM_MULTICONTEXT(object));
++
++ GParamSpec *param_spec = g_object_class_find_property
++ (G_OBJECT_GET_CLASS(slave),
++ pspec->name);
++
++ if(param_spec != NULL)
++ g_object_set_property(G_OBJECT(slave), pspec->name, value);
++}
++
++static void gtk_im_multicontext_get_property(GObject * object,
++ guint property_id,
++ GValue * value,
++ GParamSpec * pspec)
++{
++ GtkIMContext *slave = gtk_im_multicontext_get_slave (GTK_IM_MULTICONTEXT(object));
++ GParamSpec *param_spec = g_object_class_find_property
++ (G_OBJECT_GET_CLASS(slave),
++ pspec->name);
++
++ if(param_spec != NULL)
++ g_object_get_property(G_OBJECT(slave), pspec->name, value);
++ else
++ {
++ switch (property_id)
++ {
++ case PROP_INPUT_MODE:
++ /* return 0 */
++ g_value_set_int(value, 0);
++ break;
++ case PROP_AUTOCAP:
++ /* return FALSE */
++ g_value_set_boolean(value, FALSE);
++ break;
++ case PROP_VISIBILITY:
++ /* return TRUE */
++ g_value_set_boolean(value, TRUE);
++ break;
++ case PROP_USE_SHOW_HIDE:
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
++ break;
++ }
++ }
++}
++
+ static void
+ gtk_im_multicontext_class_init (GtkIMMulticontextClass *class)
+ {
+@@ -132,12 +195,38 @@
+ im_context_class->focus_in = gtk_im_multicontext_focus_in;
+ im_context_class->focus_out = gtk_im_multicontext_focus_out;
+ im_context_class->reset = gtk_im_multicontext_reset;
++ im_context_class->show = gtk_im_multicontext_show;
++ im_context_class->hide = gtk_im_multicontext_hide;
+ im_context_class->set_cursor_location = gtk_im_multicontext_set_cursor_location;
+ im_context_class->set_use_preedit = gtk_im_multicontext_set_use_preedit;
+ im_context_class->set_surrounding = gtk_im_multicontext_set_surrounding;
+ im_context_class->get_surrounding = gtk_im_multicontext_get_surrounding;
+
+ gobject_class->finalize = gtk_im_multicontext_finalize;
++
++ gobject_class->set_property = gtk_im_multicontext_set_property;
++ gobject_class->get_property = gtk_im_multicontext_get_property;
++
++ g_object_class_install_property(gobject_class, PROP_INPUT_MODE,
++ g_param_spec_int("input-mode", "Input mode",
++ "Specifies the set of allowed characters",
++ 0, 9, 0, /* We don't move symbolic definitions here. See hildon-input-mode.h */
++ G_PARAM_READWRITE));
++
++ g_object_class_install_property(gobject_class, PROP_AUTOCAP,
++ g_param_spec_boolean("autocap", "Autocap",
++ "Whether the client wants the first character in a sentense to be automatic upper case",
++ FALSE, G_PARAM_READWRITE));
++
++ g_object_class_install_property(gobject_class, PROP_VISIBILITY,
++ g_param_spec_boolean("visibility", "Visibility",
++ "FALSE displays the \"invisible char\"instead of the actual text (password mode)",
++ TRUE, G_PARAM_READABLE | G_PARAM_WRITABLE));
++
++ g_object_class_install_property(gobject_class, PROP_VISIBILITY,
++ g_param_spec_boolean("use-show-hide", "Use show/hide functions",
++ "Use show/hide functions to show/hide IM instead of focus_in/focus_out",
++ FALSE, G_PARAM_READABLE | G_PARAM_WRITABLE));
+ }
+
+ static void
+@@ -567,3 +656,36 @@
+ g_free (contexts);
+ }
+
++static void
++gtk_im_multicontext_show (GtkIMContext *context)
++{
++ GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (context);
++ GtkIMContext *slave;
++
++ /* If the global context type is different from the context we were
++ * using before, get rid of the old slave and create a new one
++ * for the new global context type.
++ */
++ if (!multicontext->context_id ||
++ strcmp (global_context_id, multicontext->context_id) != 0)
++ gtk_im_multicontext_set_slave (multicontext, NULL, FALSE);
++
++ slave = gtk_im_multicontext_get_slave (multicontext);
++
++ multicontext->priv->focus_in = TRUE;
++
++ if (slave)
++ gtk_im_context_show (slave);
++}
++
++static void
++gtk_im_multicontext_hide (GtkIMContext *context)
++{
++ GtkIMMulticontext *multicontext = GTK_IM_MULTICONTEXT (context);
++ GtkIMContext *slave = gtk_im_multicontext_get_slave (multicontext);
++
++ multicontext->priv->focus_in = FALSE;
++
++ if (slave)
++ gtk_im_context_hide (slave);
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel-resize-patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel-resize-patch
new file mode 100644
index 0000000000..df29656343
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel-resize-patch
@@ -0,0 +1,10 @@
+--- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100
++++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100
+@@ -1623,6 +1623,7 @@
+
+ /* We have to clear the layout, fonts etc. may have changed */
+ gtk_label_clear_layout (label);
++ gtk_widget_queue_resize (GTK_WIDGET (label));
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel.c.diff
new file mode 100644
index 0000000000..e730b66b7f
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel.c.diff
@@ -0,0 +1,390 @@
+--- gtk+-2.6.4/gtk/gtklabel.c 2005-02-28 06:32:03.000000000 +0200
++++ gtk+-2.6.4/gtk/gtklabel.c 2005-04-06 16:19:36.878931912 +0300
+@@ -23,6 +23,11 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++
++/* Modified for Nokia Oyj during 2004. See CHANGES file for list
++ * of changes.
++ */
++
+ #include <config.h>
+ #include <math.h>
+ #include <string.h>
+@@ -52,6 +57,7 @@
+ guint single_line_mode : 1;
+ guint have_transform : 1;
+ gdouble angle;
++ gboolean request_full_width;
+ }
+ GtkLabelPrivate;
+
+@@ -75,6 +81,9 @@
+ LAST_SIGNAL
+ };
+
++/* Hildon mod.
++ A property PROP_TRANSLATABLE has been added here. If new Gtk+
++ versions add items here, the compability will break. */
+ enum {
+ PROP_0,
+ PROP_LABEL,
+@@ -89,6 +98,7 @@
+ PROP_MNEMONIC_WIDGET,
+ PROP_CURSOR_POSITION,
+ PROP_SELECTION_BOUND,
++ PROP_TRANSLATABLE,
+ PROP_ELLIPSIZE,
+ PROP_WIDTH_CHARS,
+ PROP_SINGLE_LINE_MODE,
+@@ -96,6 +106,12 @@
+ PROP_MAX_WIDTH_CHARS
+ };
+
++/* Hildon mod. A few keys. These are used to store data for label
++ * without changing the private structures. */
++#define LABEL_KEY_TRANSLATABLE "label_translatable"
++#define LABEL_KEY_TRANSLATABLETEXT "label_translatabletext"
++#define LABEL_KEY_ORIGINAL_LAYOUT "label_original_layout"
++
+ static guint signals[LAST_SIGNAL] = { 0 };
+
+ static void gtk_label_class_init (GtkLabelClass *klass);
+@@ -149,7 +165,7 @@
+ static void gtk_label_set_uline_text_internal (GtkLabel *label,
+ const gchar *str);
+ static void gtk_label_set_pattern_internal (GtkLabel *label,
+- const gchar *pattern);
++ const gchar *pattern);
+ static void set_markup (GtkLabel *label,
+ const gchar *str,
+ gboolean with_uline);
+@@ -516,6 +532,24 @@
+ G_MAXINT,
+ -1,
+ G_PARAM_READWRITE));
++ /* Hildon mod. Add property for a widget - whether it supports run-time
++ + locale change. Please note that this functionality is not yet
++ + completed and may change. */
++ g_object_class_install_property (gobject_class,
++ PROP_TRANSLATABLE,
++ g_param_spec_boolean ("translatable",
++ _("Is translatable"),
++ _("Whether label should be translatable."),
++ FALSE,
++ G_PARAM_READWRITE));
++
++ /* Hildonlike class property */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("hildonlike",
++ _("hildonlike looks"),
++ _("Changes wrapping etc behaviour, 1/0"),
++ FALSE,
++ G_PARAM_READABLE));
+ /*
+ * Key bindings
+ */
+@@ -650,6 +684,10 @@
+ case PROP_MAX_WIDTH_CHARS:
+ gtk_label_set_max_width_chars (label, g_value_get_int (value));
+ break;
++/* Hildon add. */
++ case PROP_TRANSLATABLE:
++ gtk_label_set_translatable (label, g_value_get_boolean (value));
++ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -730,6 +768,10 @@
+ case PROP_MAX_WIDTH_CHARS:
+ g_value_set_int (value, gtk_label_get_max_width_chars (label));
+ break;
++/* Hildon mod. */
++ case PROP_TRANSLATABLE:
++ g_value_set_boolean (value, gtk_label_get_translatable (label));
++ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+@@ -748,6 +790,7 @@
+ priv->width_chars = -1;
+ priv->angle = 0.0;
+ priv->max_width_chars = -1;
++ priv->request_full_width = FALSE;
+ label->label = NULL;
+
+ label->jtype = GTK_JUSTIFY_LEFT;
+@@ -766,6 +809,15 @@
+ label->mnemonic_window = NULL;
+
+ gtk_label_set_text (label, "");
++
++/* Hildon Addition. */
++
++ g_object_set_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLE, FALSE);
++ g_object_set_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT, NULL);
++ g_object_set_data (G_OBJECT (label), LABEL_KEY_ORIGINAL_LAYOUT, NULL);
++
++/* /Hildon Addition. */
++
+ }
+
+ /**
+@@ -822,7 +874,7 @@
+
+ if (str && *str)
+ gtk_label_set_text_with_mnemonic (label, str);
+-
++
+ return GTK_WIDGET (label);
+ }
+
+@@ -1257,7 +1309,7 @@
+ GError *error = NULL;
+ PangoAttrList *attrs = NULL;
+ gunichar accel_char = 0;
+-
++
+ if (!pango_parse_markup (str,
+ -1,
+ with_uline ? '_' : 0,
+@@ -1340,12 +1392,14 @@
+ g_return_if_fail (GTK_IS_LABEL (label));
+
+ last_keyval = label->mnemonic_keyval;
++
+ gtk_label_set_label_internal (label, g_strdup (str ? str : ""));
+ gtk_label_set_use_markup_internal (label, TRUE);
+ gtk_label_set_use_underline_internal (label, TRUE);
+-
+ gtk_label_recalculate (label);
++
+ gtk_label_setup_mnemonic (label, last_keyval);
++
+ }
+
+ /**
+@@ -1409,7 +1463,7 @@
+
+ static void
+ gtk_label_set_pattern_internal (GtkLabel *label,
+- const gchar *pattern)
++ const gchar *pattern)
+ {
+ PangoAttrList *attrs;
+ g_return_if_fail (GTK_IS_LABEL (label));
+@@ -1421,7 +1475,16 @@
+
+ if (label->effective_attrs)
+ pango_attr_list_unref (label->effective_attrs);
++/* Following will disable undercores from
++ keyboard shortcuts if DISABLE_KEYBOARD_SHORTCUTS
++ is enabled during compile time
++ */
++#ifndef DISABLE_KEYBOARD_SHORTCUTS
+ label->effective_attrs = attrs;
++#else
++ pango_attr_list_unref (attrs);
++#endif /* DISABLE_KEYBOARD_SHORTCUTS */
++
+ }
+
+ void
+@@ -1742,8 +1805,13 @@
+ {
+ PangoLayout *layout;
+ GtkStyle *style = GTK_WIDGET (label)->style;
+-
++
++ gboolean hildonlike;
+ LabelWrapWidth *wrap_width = g_object_get_data (G_OBJECT (style), "gtk-label-wrap-width");
++
++ /* Hildon: get hildonlike property */
++ gtk_widget_style_get (GTK_WIDGET (label), "hildonlike", &hildonlike, NULL);
++
+ if (!wrap_width)
+ {
+ wrap_width = g_new0 (LabelWrapWidth, 1);
+@@ -1763,7 +1831,12 @@
+ "This long string gives a good enough length for any line to have.");
+ pango_layout_get_size (layout, &wrap_width->width, NULL);
+ g_object_unref (layout);
+-
++ /* A hildon mod for "fixing line wrapping". Remember to remove this
++ when GtkLabel will implement width for height size negotiation.*/
++ if (hildonlike)
++ {
++ wrap_width->width = wrap_width->width * 1.25;
++ }
+ return wrap_width->width;
+ }
+
+@@ -1774,8 +1847,12 @@
+ PangoRectangle logical_rect;
+ gint rwidth, rheight;
+ gboolean rtl;
++ gboolean hildonlike;
+
+ widget = GTK_WIDGET (label);
++
++ /* Hildon: get hildonlike property */
++ gtk_widget_style_get (widget, "hildonlike", &hildonlike, NULL);
+
+ rtl = gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL;
+ rwidth = label->misc.xpad * 2;
+@@ -1864,8 +1941,18 @@
+
+ wrap_width = get_label_wrap_width (label);
+ width = MIN (width, wrap_width);
+- width = MIN (width,
++
++ if (!hildonlike)
++ {
++ width = MIN (width,
+ PANGO_SCALE * (gdk_screen_get_width (screen) + 1) / 2);
++ }
++ else
++ {
++ width = MIN (width,
++ PANGO_SCALE * (gdk_screen_get_width (screen) + 1));
++ }
++
+
+ pango_layout_set_width (label->layout, width);
+ pango_layout_get_extents (label->layout, NULL, &logical_rect);
+@@ -1910,6 +1997,7 @@
+ else /* !label->wrap */
+ pango_layout_set_width (label->layout, -1);
+ }
++
+ }
+
+ /* Gets the bounds of a layout in device coordinates. Note cut-and-paste
+@@ -2017,7 +2105,8 @@
+ priv->width_chars > 0 || priv->max_width_chars > 0) &&
+ aux_info && aux_info->width > 0)
+ width += aux_info->width;
+- else if (label->ellipsize || priv->width_chars > 0 || priv->max_width_chars > 0)
++ else if ((label->ellipsize || priv->width_chars > 0 || priv->max_width_chars > 0) &&
++ !priv->request_full_width)
+ {
+ PangoContext *context;
+ PangoFontMetrics *metrics;
+@@ -2081,11 +2170,24 @@
+ GtkAllocation *allocation)
+ {
+ GtkLabel *label;
++ GtkRequisition req;
++ GtkLabelPrivate *priv;
+
+ label = GTK_LABEL (widget);
++ priv = GTK_LABEL_GET_PRIVATE (label);
+
+ (* GTK_WIDGET_CLASS (parent_class)->size_allocate) (widget, allocation);
+
++ gtk_widget_get_child_requisition (widget, &req);
++
++ if (allocation->width < req.width && !label->wrap)
++ {
++ gtk_label_set_ellipsize (label, PANGO_ELLIPSIZE_END);
++ priv->request_full_width = TRUE;
++ }
++ else
++ priv->request_full_width = FALSE;
++
+ if (label->ellipsize)
+ {
+ if (label->layout)
+@@ -2479,7 +2581,7 @@
+ }
+ *dest = 0;
+ *pattern_dest = 0;
+-
++
+ gtk_label_set_text_internal (label, new_str);
+ gtk_label_set_pattern_internal (label, pattern);
+
+@@ -2541,13 +2643,11 @@
+ last_keyval = label->mnemonic_keyval;
+
+ g_object_freeze_notify (G_OBJECT (label));
+-
+ gtk_label_set_label_internal (label, g_strdup (str ? str : ""));
+ gtk_label_set_use_markup_internal (label, FALSE);
+ gtk_label_set_use_underline_internal (label, TRUE);
+-
+- gtk_label_recalculate (label);
+
++ gtk_label_recalculate (label);
+ gtk_label_setup_mnemonic (label, last_keyval);
+
+ g_object_thaw_notify (G_OBJECT (label));
+@@ -3948,3 +4048,67 @@
+ popup_position_func, label,
+ 0, gtk_get_current_event_time ());
+ }
++
++/* Hildon mod.
++ * Functions for run-time locale changing. Beware though that this
++ functionality is not yet completed. Therefore it's suggested
++ that these functions shouldn't be used yet outside testing. */
++
++void gtk_label_set_translatable (GtkLabel *label, gboolean newstatus)
++{
++ if (newstatus == gtk_label_get_translatable (label)) return;
++
++ if (newstatus == TRUE)
++ {
++ if (g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT) != NULL)
++ g_free (g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT));
++ g_object_set_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT, g_strdup (label->label));
++ g_object_set_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLE, (void*) TRUE);
++ if (label->text != NULL)
++ g_free (label->text);
++ if (label->label != NULL)
++ g_free (label->label);
++ label->text = g_strdup(_(g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT)));
++ label->label = g_strdup(_(g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT)));
++ }
++ else
++ {
++ if (label->text != NULL)
++ g_free (label->text);
++ if (label->label != NULL)
++ g_free (label->label);
++ label->text = g_strdup (g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT));
++ label->label = g_strdup (g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT));
++ g_object_set_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLE, FALSE);
++ if (g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT) != NULL)
++ g_free (g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT));
++ g_object_set_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT, NULL);
++ }
++ gtk_label_recalculate (label);
++}
++
++gboolean gtk_label_get_translatable (GtkLabel *label)
++{
++ return (gboolean) (g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLE));
++}
++
++
++void gtk_label_retranslate (GtkLabel *label)
++{
++ g_object_freeze_notify (G_OBJECT (label));
++ if (gtk_label_get_translatable (label) == TRUE)
++ {
++ if (label->label != NULL)
++ g_free (label->label);
++ label->label = g_strdup(gettext(g_object_get_data (G_OBJECT (label), LABEL_KEY_TRANSLATABLETEXT)));
++ }
++ if (g_object_get_data (G_OBJECT (label), LABEL_KEY_ORIGINAL_LAYOUT)) g_object_unref (g_object_get_data (G_OBJECT (label), LABEL_KEY_ORIGINAL_LAYOUT));
++ g_object_set_data (G_OBJECT (label), LABEL_KEY_ORIGINAL_LAYOUT, NULL);
++ g_object_notify (G_OBJECT (label), "label");
++ gtk_label_recalculate (label);
++ g_object_thaw_notify (G_OBJECT (label));
++ gtk_label_set_text (label, label->label);
++}
++
++/* End of hildon mods for run-time locale change. */
++
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel.h.diff
new file mode 100644
index 0000000000..5aef5e5a62
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtklabel.h.diff
@@ -0,0 +1,29 @@
+--- gtk+-2.6.4/gtk/gtklabel.h 2004-12-13 08:34:54.000000000 +0200
++++ gtk+-2.6.4/gtk/gtklabel.h 2005-04-06 16:19:36.889930240 +0300
+@@ -23,6 +23,10 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2004. See CHANGES file for list
++ * of changes.
++ */
++
+ #ifndef __GTK_LABEL_H__
+ #define __GTK_LABEL_H__
+
+@@ -165,6 +169,15 @@
+ gboolean single_line_mode);
+ gboolean gtk_label_get_single_line_mode (GtkLabel *label);
+
++/* Additional Hildon functions for run-time locale change */
++
++void gtk_label_set_translatable (GtkLabel *label, gboolean newstatus);
++gboolean gtk_label_get_translatable (GtkLabel *label);
++
++void gtk_label_retranslate (GtkLabel *label);
++
++/* ----- */
++
+ #ifndef GTK_DISABLE_DEPRECATED
+
+ #define gtk_label_set gtk_label_set_text
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmain.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmain.c.diff
new file mode 100644
index 0000000000..2132487bdf
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmain.c.diff
@@ -0,0 +1,35 @@
+--- gtk+-2.6.4/gtk/gtkmain.c 2004-12-27 07:25:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmain.c 2005-04-06 16:19:36.897929024 +0300
+@@ -68,6 +68,7 @@
+ #include "gtkwindow.h"
+ #include "gtkprivate.h"
+ #include "gtkdebug.h"
++#include "gtkwidget.h"
+
+ /* Private type definitions
+ */
+@@ -1297,6 +1298,15 @@
+ {
+ grab_widget = event_widget;
+ }
++
++ /* Hildon: insensitive press handling is moved here */
++ if (event->type == GDK_BUTTON_PRESS)
++ {
++ if (!GTK_WIDGET_IS_SENSITIVE (event_widget))
++ {
++ gtk_widget_insensitive_press(event_widget);
++ }
++ }
+
+ /* Not all events get sent to the grabbing widget.
+ * The delete, destroy, expose, focus change and resize
+@@ -2090,7 +2100,7 @@
+ handled_event = FALSE;
+
+ g_object_ref (widget);
+-
++
+ if ((event->type == GDK_KEY_PRESS) ||
+ (event->type == GDK_KEY_RELEASE))
+ {
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshal.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshal.c.diff
new file mode 100644
index 0000000000..80c0618bf9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshal.c.diff
@@ -0,0 +1,266 @@
+--- gtk+-2.6.4/gtk/gtkmarshal.c 2005-03-01 17:58:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmarshal.c 2005-04-06 16:19:36.898928872 +0300
+@@ -48,7 +48,7 @@
+ #endif /* !G_ENABLE_DEBUG */
+
+
+-/* BOOL:NONE (./gtkmarshal.list:1) */
++/* BOOL:NONE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:1) */
+ void
+ gtk_marshal_BOOLEAN__VOID (GClosure *closure,
+ GValue *return_value,
+@@ -85,7 +85,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOL:POINTER (./gtkmarshal.list:2) */
++/* BOOL:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:2) */
+ void
+ gtk_marshal_BOOLEAN__POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -124,7 +124,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOL:POINTER,POINTER,INT,INT (./gtkmarshal.list:3) */
++/* BOOL:POINTER,POINTER,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:3) */
+ void
+ gtk_marshal_BOOLEAN__POINTER_POINTER_INT_INT (GClosure *closure,
+ GValue *return_value,
+@@ -169,7 +169,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOL:POINTER,INT,INT (./gtkmarshal.list:4) */
++/* BOOL:POINTER,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:4) */
+ void
+ gtk_marshal_BOOLEAN__POINTER_INT_INT (GClosure *closure,
+ GValue *return_value,
+@@ -212,7 +212,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOL:POINTER,INT,INT,UINT (./gtkmarshal.list:5) */
++/* BOOL:POINTER,INT,INT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:5) */
+ void
+ gtk_marshal_BOOLEAN__POINTER_INT_INT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -257,7 +257,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOL:POINTER,STRING,STRING,POINTER (./gtkmarshal.list:6) */
++/* BOOL:POINTER,STRING,STRING,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:6) */
+ void
+ gtk_marshal_BOOLEAN__POINTER_STRING_STRING_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -302,7 +302,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* ENUM:ENUM (./gtkmarshal.list:7) */
++/* ENUM:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:7) */
+ void
+ gtk_marshal_ENUM__ENUM (GClosure *closure,
+ GValue *return_value,
+@@ -341,7 +341,7 @@
+ g_value_set_enum (return_value, v_return);
+ }
+
+-/* INT:POINTER (./gtkmarshal.list:8) */
++/* INT:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:8) */
+ void
+ gtk_marshal_INT__POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -380,7 +380,7 @@
+ g_value_set_int (return_value, v_return);
+ }
+
+-/* INT:POINTER,CHAR,CHAR (./gtkmarshal.list:9) */
++/* INT:POINTER,CHAR,CHAR (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:9) */
+ void
+ gtk_marshal_INT__POINTER_CHAR_CHAR (GClosure *closure,
+ GValue *return_value,
+@@ -423,13 +423,13 @@
+ g_value_set_int (return_value, v_return);
+ }
+
+-/* NONE:BOOL (./gtkmarshal.list:10) */
++/* NONE:BOOL (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:10) */
+
+-/* NONE:BOXED (./gtkmarshal.list:11) */
++/* NONE:BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:11) */
+
+-/* NONE:ENUM (./gtkmarshal.list:12) */
++/* NONE:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:12) */
+
+-/* NONE:ENUM,FLOAT (./gtkmarshal.list:13) */
++/* NONE:ENUM,FLOAT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:13) */
+ void
+ gtk_marshal_VOID__ENUM_FLOAT (GClosure *closure,
+ GValue *return_value,
+@@ -466,7 +466,7 @@
+ data2);
+ }
+
+-/* NONE:ENUM,FLOAT,BOOL (./gtkmarshal.list:14) */
++/* NONE:ENUM,FLOAT,BOOL (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:14) */
+ void
+ gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -505,9 +505,9 @@
+ data2);
+ }
+
+-/* NONE:INT (./gtkmarshal.list:15) */
++/* NONE:INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:15) */
+
+-/* NONE:INT,INT (./gtkmarshal.list:16) */
++/* NONE:INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:16) */
+ void
+ gtk_marshal_VOID__INT_INT (GClosure *closure,
+ GValue *return_value,
+@@ -544,7 +544,7 @@
+ data2);
+ }
+
+-/* NONE:INT,INT,POINTER (./gtkmarshal.list:17) */
++/* NONE:INT,INT,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:17) */
+ void
+ gtk_marshal_VOID__INT_INT_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -583,13 +583,13 @@
+ data2);
+ }
+
+-/* NONE:NONE (./gtkmarshal.list:18) */
++/* NONE:NONE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:18) */
+
+-/* NONE:OBJECT (./gtkmarshal.list:19) */
++/* NONE:OBJECT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:19) */
+
+-/* NONE:POINTER (./gtkmarshal.list:20) */
++/* NONE:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:20) */
+
+-/* NONE:POINTER,INT (./gtkmarshal.list:21) */
++/* NONE:POINTER,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:21) */
+ void
+ gtk_marshal_VOID__POINTER_INT (GClosure *closure,
+ GValue *return_value,
+@@ -626,7 +626,7 @@
+ data2);
+ }
+
+-/* NONE:POINTER,POINTER (./gtkmarshal.list:22) */
++/* NONE:POINTER,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:22) */
+ void
+ gtk_marshal_VOID__POINTER_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -663,7 +663,7 @@
+ data2);
+ }
+
+-/* NONE:POINTER,POINTER,POINTER (./gtkmarshal.list:23) */
++/* NONE:POINTER,POINTER,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:23) */
+ void
+ gtk_marshal_VOID__POINTER_POINTER_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -702,7 +702,7 @@
+ data2);
+ }
+
+-/* NONE:POINTER,STRING,STRING (./gtkmarshal.list:24) */
++/* NONE:POINTER,STRING,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:24) */
+ void
+ gtk_marshal_VOID__POINTER_STRING_STRING (GClosure *closure,
+ GValue *return_value,
+@@ -741,7 +741,7 @@
+ data2);
+ }
+
+-/* NONE:POINTER,UINT (./gtkmarshal.list:25) */
++/* NONE:POINTER,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:25) */
+ void
+ gtk_marshal_VOID__POINTER_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -778,7 +778,7 @@
+ data2);
+ }
+
+-/* NONE:POINTER,UINT,ENUM (./gtkmarshal.list:26) */
++/* NONE:POINTER,UINT,ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:26) */
+ void
+ gtk_marshal_VOID__POINTER_UINT_ENUM (GClosure *closure,
+ GValue *return_value,
+@@ -817,7 +817,7 @@
+ data2);
+ }
+
+-/* NONE:POINTER,POINTER,UINT,UINT (./gtkmarshal.list:27) */
++/* NONE:POINTER,POINTER,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:27) */
+ void
+ gtk_marshal_VOID__POINTER_POINTER_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -858,7 +858,7 @@
+ data2);
+ }
+
+-/* NONE:POINTER,INT,INT,POINTER,UINT,UINT (./gtkmarshal.list:28) */
++/* NONE:POINTER,INT,INT,POINTER,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:28) */
+ void
+ gtk_marshal_VOID__POINTER_INT_INT_POINTER_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -903,7 +903,7 @@
+ data2);
+ }
+
+-/* NONE:POINTER,UINT,UINT (./gtkmarshal.list:29) */
++/* NONE:POINTER,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:29) */
+ void
+ gtk_marshal_VOID__POINTER_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -942,11 +942,11 @@
+ data2);
+ }
+
+-/* NONE:POINTER,UINT,UINT (./gtkmarshal.list:30) */
++/* NONE:POINTER,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:30) */
+
+-/* NONE:STRING (./gtkmarshal.list:31) */
++/* NONE:STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:31) */
+
+-/* NONE:STRING,INT,POINTER (./gtkmarshal.list:32) */
++/* NONE:STRING,INT,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:32) */
+ void
+ gtk_marshal_VOID__STRING_INT_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -985,9 +985,9 @@
+ data2);
+ }
+
+-/* NONE:UINT (./gtkmarshal.list:33) */
++/* NONE:UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:33) */
+
+-/* NONE:UINT,POINTER,UINT,ENUM,ENUM,POINTER (./gtkmarshal.list:34) */
++/* NONE:UINT,POINTER,UINT,ENUM,ENUM,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:34) */
+ void
+ gtk_marshal_VOID__UINT_POINTER_UINT_ENUM_ENUM_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -1032,7 +1032,7 @@
+ data2);
+ }
+
+-/* NONE:UINT,POINTER,UINT,UINT,ENUM (./gtkmarshal.list:35) */
++/* NONE:UINT,POINTER,UINT,UINT,ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:35) */
+ void
+ gtk_marshal_VOID__UINT_POINTER_UINT_UINT_ENUM (GClosure *closure,
+ GValue *return_value,
+@@ -1075,7 +1075,7 @@
+ data2);
+ }
+
+-/* NONE:UINT,STRING (./gtkmarshal.list:36) */
++/* NONE:UINT,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:36) */
+ void
+ gtk_marshal_VOID__UINT_STRING (GClosure *closure,
+ GValue *return_value,
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshal.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshal.h.diff
new file mode 100644
index 0000000000..9740129005
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshal.h.diff
@@ -0,0 +1,284 @@
+--- gtk+-2.6.4/gtk/gtkmarshal.h 2005-03-01 17:58:16.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmarshal.h 2005-04-06 16:19:36.899928720 +0300
+@@ -7,7 +7,7 @@
+
+ G_BEGIN_DECLS
+
+-/* BOOL:NONE (./gtkmarshal.list:1) */
++/* BOOL:NONE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:1) */
+ extern void gtk_marshal_BOOLEAN__VOID (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -16,7 +16,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_BOOL__NONE gtk_marshal_BOOLEAN__VOID
+
+-/* BOOL:POINTER (./gtkmarshal.list:2) */
++/* BOOL:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:2) */
+ extern void gtk_marshal_BOOLEAN__POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -25,7 +25,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_BOOL__POINTER gtk_marshal_BOOLEAN__POINTER
+
+-/* BOOL:POINTER,POINTER,INT,INT (./gtkmarshal.list:3) */
++/* BOOL:POINTER,POINTER,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:3) */
+ extern void gtk_marshal_BOOLEAN__POINTER_POINTER_INT_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -34,7 +34,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_BOOL__POINTER_POINTER_INT_INT gtk_marshal_BOOLEAN__POINTER_POINTER_INT_INT
+
+-/* BOOL:POINTER,INT,INT (./gtkmarshal.list:4) */
++/* BOOL:POINTER,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:4) */
+ extern void gtk_marshal_BOOLEAN__POINTER_INT_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -43,7 +43,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_BOOL__POINTER_INT_INT gtk_marshal_BOOLEAN__POINTER_INT_INT
+
+-/* BOOL:POINTER,INT,INT,UINT (./gtkmarshal.list:5) */
++/* BOOL:POINTER,INT,INT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:5) */
+ extern void gtk_marshal_BOOLEAN__POINTER_INT_INT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -52,7 +52,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_BOOL__POINTER_INT_INT_UINT gtk_marshal_BOOLEAN__POINTER_INT_INT_UINT
+
+-/* BOOL:POINTER,STRING,STRING,POINTER (./gtkmarshal.list:6) */
++/* BOOL:POINTER,STRING,STRING,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:6) */
+ extern void gtk_marshal_BOOLEAN__POINTER_STRING_STRING_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -61,7 +61,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_BOOL__POINTER_STRING_STRING_POINTER gtk_marshal_BOOLEAN__POINTER_STRING_STRING_POINTER
+
+-/* ENUM:ENUM (./gtkmarshal.list:7) */
++/* ENUM:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:7) */
+ extern void gtk_marshal_ENUM__ENUM (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -69,7 +69,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* INT:POINTER (./gtkmarshal.list:8) */
++/* INT:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:8) */
+ extern void gtk_marshal_INT__POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -77,7 +77,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* INT:POINTER,CHAR,CHAR (./gtkmarshal.list:9) */
++/* INT:POINTER,CHAR,CHAR (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:9) */
+ extern void gtk_marshal_INT__POINTER_CHAR_CHAR (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -85,19 +85,19 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* NONE:BOOL (./gtkmarshal.list:10) */
++/* NONE:BOOL (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:10) */
+ #define gtk_marshal_VOID__BOOLEAN g_cclosure_marshal_VOID__BOOLEAN
+ #define gtk_marshal_NONE__BOOL gtk_marshal_VOID__BOOLEAN
+
+-/* NONE:BOXED (./gtkmarshal.list:11) */
++/* NONE:BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:11) */
+ #define gtk_marshal_VOID__BOXED g_cclosure_marshal_VOID__BOXED
+ #define gtk_marshal_NONE__BOXED gtk_marshal_VOID__BOXED
+
+-/* NONE:ENUM (./gtkmarshal.list:12) */
++/* NONE:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:12) */
+ #define gtk_marshal_VOID__ENUM g_cclosure_marshal_VOID__ENUM
+ #define gtk_marshal_NONE__ENUM gtk_marshal_VOID__ENUM
+
+-/* NONE:ENUM,FLOAT (./gtkmarshal.list:13) */
++/* NONE:ENUM,FLOAT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:13) */
+ extern void gtk_marshal_VOID__ENUM_FLOAT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -106,7 +106,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__ENUM_FLOAT gtk_marshal_VOID__ENUM_FLOAT
+
+-/* NONE:ENUM,FLOAT,BOOL (./gtkmarshal.list:14) */
++/* NONE:ENUM,FLOAT,BOOL (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:14) */
+ extern void gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -115,11 +115,11 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__ENUM_FLOAT_BOOL gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN
+
+-/* NONE:INT (./gtkmarshal.list:15) */
++/* NONE:INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:15) */
+ #define gtk_marshal_VOID__INT g_cclosure_marshal_VOID__INT
+ #define gtk_marshal_NONE__INT gtk_marshal_VOID__INT
+
+-/* NONE:INT,INT (./gtkmarshal.list:16) */
++/* NONE:INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:16) */
+ extern void gtk_marshal_VOID__INT_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -128,7 +128,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__INT_INT gtk_marshal_VOID__INT_INT
+
+-/* NONE:INT,INT,POINTER (./gtkmarshal.list:17) */
++/* NONE:INT,INT,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:17) */
+ extern void gtk_marshal_VOID__INT_INT_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -137,19 +137,19 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__INT_INT_POINTER gtk_marshal_VOID__INT_INT_POINTER
+
+-/* NONE:NONE (./gtkmarshal.list:18) */
++/* NONE:NONE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:18) */
+ #define gtk_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID
+ #define gtk_marshal_NONE__NONE gtk_marshal_VOID__VOID
+
+-/* NONE:OBJECT (./gtkmarshal.list:19) */
++/* NONE:OBJECT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:19) */
+ #define gtk_marshal_VOID__OBJECT g_cclosure_marshal_VOID__OBJECT
+ #define gtk_marshal_NONE__OBJECT gtk_marshal_VOID__OBJECT
+
+-/* NONE:POINTER (./gtkmarshal.list:20) */
++/* NONE:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:20) */
+ #define gtk_marshal_VOID__POINTER g_cclosure_marshal_VOID__POINTER
+ #define gtk_marshal_NONE__POINTER gtk_marshal_VOID__POINTER
+
+-/* NONE:POINTER,INT (./gtkmarshal.list:21) */
++/* NONE:POINTER,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:21) */
+ extern void gtk_marshal_VOID__POINTER_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -158,7 +158,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_INT gtk_marshal_VOID__POINTER_INT
+
+-/* NONE:POINTER,POINTER (./gtkmarshal.list:22) */
++/* NONE:POINTER,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:22) */
+ extern void gtk_marshal_VOID__POINTER_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -167,7 +167,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_POINTER gtk_marshal_VOID__POINTER_POINTER
+
+-/* NONE:POINTER,POINTER,POINTER (./gtkmarshal.list:23) */
++/* NONE:POINTER,POINTER,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:23) */
+ extern void gtk_marshal_VOID__POINTER_POINTER_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -176,7 +176,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_POINTER_POINTER gtk_marshal_VOID__POINTER_POINTER_POINTER
+
+-/* NONE:POINTER,STRING,STRING (./gtkmarshal.list:24) */
++/* NONE:POINTER,STRING,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:24) */
+ extern void gtk_marshal_VOID__POINTER_STRING_STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -185,7 +185,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_STRING_STRING gtk_marshal_VOID__POINTER_STRING_STRING
+
+-/* NONE:POINTER,UINT (./gtkmarshal.list:25) */
++/* NONE:POINTER,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:25) */
+ extern void gtk_marshal_VOID__POINTER_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -194,7 +194,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_UINT gtk_marshal_VOID__POINTER_UINT
+
+-/* NONE:POINTER,UINT,ENUM (./gtkmarshal.list:26) */
++/* NONE:POINTER,UINT,ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:26) */
+ extern void gtk_marshal_VOID__POINTER_UINT_ENUM (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -203,7 +203,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_UINT_ENUM gtk_marshal_VOID__POINTER_UINT_ENUM
+
+-/* NONE:POINTER,POINTER,UINT,UINT (./gtkmarshal.list:27) */
++/* NONE:POINTER,POINTER,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:27) */
+ extern void gtk_marshal_VOID__POINTER_POINTER_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -212,7 +212,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_POINTER_UINT_UINT gtk_marshal_VOID__POINTER_POINTER_UINT_UINT
+
+-/* NONE:POINTER,INT,INT,POINTER,UINT,UINT (./gtkmarshal.list:28) */
++/* NONE:POINTER,INT,INT,POINTER,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:28) */
+ extern void gtk_marshal_VOID__POINTER_INT_INT_POINTER_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -221,7 +221,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_INT_INT_POINTER_UINT_UINT gtk_marshal_VOID__POINTER_INT_INT_POINTER_UINT_UINT
+
+-/* NONE:POINTER,UINT,UINT (./gtkmarshal.list:29) */
++/* NONE:POINTER,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:29) */
+ extern void gtk_marshal_VOID__POINTER_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -230,13 +230,13 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__POINTER_UINT_UINT gtk_marshal_VOID__POINTER_UINT_UINT
+
+-/* NONE:POINTER,UINT,UINT (./gtkmarshal.list:30) */
++/* NONE:POINTER,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:30) */
+
+-/* NONE:STRING (./gtkmarshal.list:31) */
++/* NONE:STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:31) */
+ #define gtk_marshal_VOID__STRING g_cclosure_marshal_VOID__STRING
+ #define gtk_marshal_NONE__STRING gtk_marshal_VOID__STRING
+
+-/* NONE:STRING,INT,POINTER (./gtkmarshal.list:32) */
++/* NONE:STRING,INT,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:32) */
+ extern void gtk_marshal_VOID__STRING_INT_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -245,11 +245,11 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__STRING_INT_POINTER gtk_marshal_VOID__STRING_INT_POINTER
+
+-/* NONE:UINT (./gtkmarshal.list:33) */
++/* NONE:UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:33) */
+ #define gtk_marshal_VOID__UINT g_cclosure_marshal_VOID__UINT
+ #define gtk_marshal_NONE__UINT gtk_marshal_VOID__UINT
+
+-/* NONE:UINT,POINTER,UINT,ENUM,ENUM,POINTER (./gtkmarshal.list:34) */
++/* NONE:UINT,POINTER,UINT,ENUM,ENUM,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:34) */
+ extern void gtk_marshal_VOID__UINT_POINTER_UINT_ENUM_ENUM_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -258,7 +258,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__UINT_POINTER_UINT_ENUM_ENUM_POINTER gtk_marshal_VOID__UINT_POINTER_UINT_ENUM_ENUM_POINTER
+
+-/* NONE:UINT,POINTER,UINT,UINT,ENUM (./gtkmarshal.list:35) */
++/* NONE:UINT,POINTER,UINT,UINT,ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:35) */
+ extern void gtk_marshal_VOID__UINT_POINTER_UINT_UINT_ENUM (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -267,7 +267,7 @@
+ gpointer marshal_data);
+ #define gtk_marshal_NONE__UINT_POINTER_UINT_UINT_ENUM gtk_marshal_VOID__UINT_POINTER_UINT_UINT_ENUM
+
+-/* NONE:UINT,STRING (./gtkmarshal.list:36) */
++/* NONE:UINT,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshal.list:36) */
+ extern void gtk_marshal_VOID__UINT_STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshalers.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshalers.c.diff
new file mode 100644
index 0000000000..7f22a0e5d9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshalers.c.diff
@@ -0,0 +1,606 @@
+--- gtk+-2.6.4/gtk/gtkmarshalers.c 2005-03-01 17:58:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmarshalers.c 2005-04-06 16:19:36.902928264 +0300
+@@ -48,7 +48,7 @@
+ #endif /* !G_ENABLE_DEBUG */
+
+
+-/* BOOLEAN:BOXED (./gtkmarshalers.list:24) */
++/* BOOLEAN:BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:24) */
+ void
+ _gtk_marshal_BOOLEAN__BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -87,7 +87,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:BOXED,BOXED (./gtkmarshalers.list:25) */
++/* BOOLEAN:BOXED,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:25) */
+ void
+ _gtk_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -128,7 +128,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:ENUM (./gtkmarshalers.list:26) */
++/* BOOLEAN:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:26) */
+ void
+ _gtk_marshal_BOOLEAN__ENUM (GClosure *closure,
+ GValue *return_value,
+@@ -167,7 +167,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:ENUM,DOUBLE (./gtkmarshalers.list:27) */
++/* BOOLEAN:ENUM,DOUBLE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:27) */
+ void
+ _gtk_marshal_BOOLEAN__ENUM_DOUBLE (GClosure *closure,
+ GValue *return_value,
+@@ -208,7 +208,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:ENUM,INT (./gtkmarshalers.list:28) */
++/* BOOLEAN:ENUM,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:28) */
+ void
+ _gtk_marshal_BOOLEAN__ENUM_INT (GClosure *closure,
+ GValue *return_value,
+@@ -249,7 +249,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:OBJECT,UINT,FLAGS (./gtkmarshalers.list:29) */
++/* BOOLEAN:OBJECT,UINT,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:29) */
+ void
+ _gtk_marshal_BOOLEAN__OBJECT_UINT_FLAGS (GClosure *closure,
+ GValue *return_value,
+@@ -292,7 +292,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:OBJECT,INT,INT,UINT (./gtkmarshalers.list:30) */
++/* BOOLEAN:OBJECT,INT,INT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:30) */
+ void
+ _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -337,7 +337,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:OBJECT,STRING,STRING,BOXED (./gtkmarshalers.list:31) */
++/* BOOLEAN:OBJECT,STRING,STRING,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:31) */
+ void
+ _gtk_marshal_BOOLEAN__OBJECT_STRING_STRING_BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -382,7 +382,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:OBJECT,BOXED (./gtkmarshalers.list:32) */
++/* BOOLEAN:OBJECT,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:32) */
+ void
+ _gtk_marshal_BOOLEAN__OBJECT_BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -423,7 +423,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:OBJECT,BOXED,BOXED (./gtkmarshalers.list:33) */
++/* BOOLEAN:OBJECT,BOXED,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:33) */
+ void
+ _gtk_marshal_BOOLEAN__OBJECT_BOXED_BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -466,7 +466,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:OBJECT,STRING,STRING (./gtkmarshalers.list:34) */
++/* BOOLEAN:OBJECT,STRING,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:34) */
+ void
+ _gtk_marshal_BOOLEAN__OBJECT_STRING_STRING (GClosure *closure,
+ GValue *return_value,
+@@ -509,7 +509,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:INT,INT (./gtkmarshalers.list:35) */
++/* BOOLEAN:INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:35) */
+ void
+ _gtk_marshal_BOOLEAN__INT_INT (GClosure *closure,
+ GValue *return_value,
+@@ -550,7 +550,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:INT,INT,INT (./gtkmarshalers.list:36) */
++/* BOOLEAN:INT,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:36) */
+ void
+ _gtk_marshal_BOOLEAN__INT_INT_INT (GClosure *closure,
+ GValue *return_value,
+@@ -593,7 +593,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:UINT (./gtkmarshalers.list:37) */
++/* BOOLEAN:UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:37) */
+ void
+ _gtk_marshal_BOOLEAN__UINT (GClosure *closure,
+ GValue *return_value,
+@@ -632,7 +632,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:VOID (./gtkmarshalers.list:38) */
++/* BOOLEAN:VOID (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:38) */
+ void
+ _gtk_marshal_BOOLEAN__VOID (GClosure *closure,
+ GValue *return_value,
+@@ -669,7 +669,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:BOOLEAN (./gtkmarshalers.list:39) */
++/* BOOLEAN:BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:39) */
+ void
+ _gtk_marshal_BOOLEAN__BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -708,9 +708,9 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:NONE (./gtkmarshalers.list:40) */
++/* BOOLEAN:NONE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:40) */
+
+-/* BOOLEAN:BOOLEAN,BOOLEAN,BOOLEAN (./gtkmarshalers.list:41) */
++/* BOOLEAN:BOOLEAN,BOOLEAN,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:41) */
+ void
+ _gtk_marshal_BOOLEAN__BOOLEAN_BOOLEAN_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -753,7 +753,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* BOOLEAN:STRING (./gtkmarshalers.list:42) */
++/* BOOLEAN:STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:42) */
+ void
+ _gtk_marshal_BOOLEAN__STRING (GClosure *closure,
+ GValue *return_value,
+@@ -792,7 +792,7 @@
+ g_value_set_boolean (return_value, v_return);
+ }
+
+-/* ENUM:ENUM (./gtkmarshalers.list:43) */
++/* ENUM:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:43) */
+ void
+ _gtk_marshal_ENUM__ENUM (GClosure *closure,
+ GValue *return_value,
+@@ -831,7 +831,7 @@
+ g_value_set_enum (return_value, v_return);
+ }
+
+-/* INT:POINTER (./gtkmarshalers.list:44) */
++/* INT:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:44) */
+ void
+ _gtk_marshal_INT__POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -870,13 +870,13 @@
+ g_value_set_int (return_value, v_return);
+ }
+
+-/* NONE:BOOLEAN (./gtkmarshalers.list:45) */
++/* NONE:BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:45) */
+
+-/* NONE:ENUM (./gtkmarshalers.list:46) */
++/* NONE:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:46) */
+
+-/* NONE:INT (./gtkmarshalers.list:47) */
++/* NONE:INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:47) */
+
+-/* NONE:INT,BOOL (./gtkmarshalers.list:48) */
++/* NONE:INT,BOOL (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:48) */
+ void
+ _gtk_marshal_VOID__INT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -913,7 +913,7 @@
+ data2);
+ }
+
+-/* NONE:INT,INT (./gtkmarshalers.list:49) */
++/* NONE:INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:49) */
+ void
+ _gtk_marshal_VOID__INT_INT (GClosure *closure,
+ GValue *return_value,
+@@ -950,9 +950,9 @@
+ data2);
+ }
+
+-/* NONE:NONE (./gtkmarshalers.list:50) */
++/* NONE:NONE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:50) */
+
+-/* NONE:STRING,INT,POINTER (./gtkmarshalers.list:51) */
++/* NONE:STRING,INT,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:51) */
+ void
+ _gtk_marshal_VOID__STRING_INT_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -991,7 +991,7 @@
+ data2);
+ }
+
+-/* STRING:DOUBLE (./gtkmarshalers.list:52) */
++/* STRING:DOUBLE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:52) */
+ void
+ _gtk_marshal_STRING__DOUBLE (GClosure *closure,
+ GValue *return_value,
+@@ -1030,11 +1030,11 @@
+ g_value_take_string (return_value, v_return);
+ }
+
+-/* VOID:DOUBLE (./gtkmarshalers.list:53) */
++/* VOID:DOUBLE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:53) */
+
+-/* VOID:BOOLEAN (./gtkmarshalers.list:54) */
++/* VOID:BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:54) */
+
+-/* VOID:BOOLEAN,BOOLEAN,BOOLEAN (./gtkmarshalers.list:55) */
++/* VOID:BOOLEAN,BOOLEAN,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:55) */
+ void
+ _gtk_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -1073,9 +1073,9 @@
+ data2);
+ }
+
+-/* VOID:BOXED (./gtkmarshalers.list:56) */
++/* VOID:BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:56) */
+
+-/* VOID:BOXED,BOXED (./gtkmarshalers.list:57) */
++/* VOID:BOXED,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:57) */
+ void
+ _gtk_marshal_VOID__BOXED_BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -1112,7 +1112,7 @@
+ data2);
+ }
+
+-/* VOID:BOXED,BOXED,POINTER (./gtkmarshalers.list:58) */
++/* VOID:BOXED,BOXED,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:58) */
+ void
+ _gtk_marshal_VOID__BOXED_BOXED_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -1151,7 +1151,7 @@
+ data2);
+ }
+
+-/* VOID:BOXED,OBJECT (./gtkmarshalers.list:59) */
++/* VOID:BOXED,OBJECT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:59) */
+ void
+ _gtk_marshal_VOID__BOXED_OBJECT (GClosure *closure,
+ GValue *return_value,
+@@ -1188,7 +1188,7 @@
+ data2);
+ }
+
+-/* VOID:BOXED,STRING,INT (./gtkmarshalers.list:60) */
++/* VOID:BOXED,STRING,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:60) */
+ void
+ _gtk_marshal_VOID__BOXED_STRING_INT (GClosure *closure,
+ GValue *return_value,
+@@ -1227,7 +1227,7 @@
+ data2);
+ }
+
+-/* VOID:BOXED,UINT (./gtkmarshalers.list:61) */
++/* VOID:BOXED,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:61) */
+ void
+ _gtk_marshal_VOID__BOXED_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -1264,7 +1264,7 @@
+ data2);
+ }
+
+-/* VOID:BOXED,UINT,FLAGS (./gtkmarshalers.list:62) */
++/* VOID:BOXED,UINT,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:62) */
+ void
+ _gtk_marshal_VOID__BOXED_UINT_FLAGS (GClosure *closure,
+ GValue *return_value,
+@@ -1303,7 +1303,7 @@
+ data2);
+ }
+
+-/* VOID:BOXED,UINT,UINT (./gtkmarshalers.list:63) */
++/* VOID:BOXED,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:63) */
+ void
+ _gtk_marshal_VOID__BOXED_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -1342,9 +1342,9 @@
+ data2);
+ }
+
+-/* VOID:ENUM (./gtkmarshalers.list:64) */
++/* VOID:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:64) */
+
+-/* VOID:ENUM,BOOLEAN (./gtkmarshalers.list:65) */
++/* VOID:ENUM,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:65) */
+ void
+ _gtk_marshal_VOID__ENUM_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -1381,7 +1381,7 @@
+ data2);
+ }
+
+-/* VOID:ENUM,ENUM (./gtkmarshalers.list:66) */
++/* VOID:ENUM,ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:66) */
+ void
+ _gtk_marshal_VOID__ENUM_ENUM (GClosure *closure,
+ GValue *return_value,
+@@ -1418,7 +1418,7 @@
+ data2);
+ }
+
+-/* VOID:ENUM,FLOAT (./gtkmarshalers.list:67) */
++/* VOID:ENUM,FLOAT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:67) */
+ void
+ _gtk_marshal_VOID__ENUM_FLOAT (GClosure *closure,
+ GValue *return_value,
+@@ -1455,7 +1455,7 @@
+ data2);
+ }
+
+-/* VOID:ENUM,FLOAT,BOOLEAN (./gtkmarshalers.list:68) */
++/* VOID:ENUM,FLOAT,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:68) */
+ void
+ _gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -1494,7 +1494,7 @@
+ data2);
+ }
+
+-/* VOID:ENUM,INT (./gtkmarshalers.list:69) */
++/* VOID:ENUM,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:69) */
+ void
+ _gtk_marshal_VOID__ENUM_INT (GClosure *closure,
+ GValue *return_value,
+@@ -1531,7 +1531,7 @@
+ data2);
+ }
+
+-/* VOID:ENUM,INT,BOOLEAN (./gtkmarshalers.list:70) */
++/* VOID:ENUM,INT,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:70) */
+ void
+ _gtk_marshal_VOID__ENUM_INT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -1570,11 +1570,11 @@
+ data2);
+ }
+
+-/* VOID:INT (./gtkmarshalers.list:71) */
++/* VOID:INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:71) */
+
+-/* VOID:INT,INT (./gtkmarshalers.list:72) */
++/* VOID:INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:72) */
+
+-/* VOID:INT,INT,BOXED (./gtkmarshalers.list:73) */
++/* VOID:INT,INT,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:73) */
+ void
+ _gtk_marshal_VOID__INT_INT_BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -1613,7 +1613,7 @@
+ data2);
+ }
+
+-/* VOID:INT,INT,INT (./gtkmarshalers.list:74) */
++/* VOID:INT,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:74) */
+ void
+ _gtk_marshal_VOID__INT_INT_INT (GClosure *closure,
+ GValue *return_value,
+@@ -1652,9 +1652,9 @@
+ data2);
+ }
+
+-/* VOID:OBJECT (./gtkmarshalers.list:75) */
++/* VOID:OBJECT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:75) */
+
+-/* VOID:OBJECT,BOOLEAN (./gtkmarshalers.list:76) */
++/* VOID:OBJECT,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:76) */
+ void
+ _gtk_marshal_VOID__OBJECT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -1691,7 +1691,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,BOXED,BOXED (./gtkmarshalers.list:77) */
++/* VOID:OBJECT,BOXED,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:77) */
+ void
+ _gtk_marshal_VOID__OBJECT_BOXED_BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -1730,7 +1730,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,BOXED,UINT,UINT (./gtkmarshalers.list:78) */
++/* VOID:OBJECT,BOXED,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:78) */
+ void
+ _gtk_marshal_VOID__OBJECT_BOXED_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -1771,7 +1771,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,INT,INT (./gtkmarshalers.list:79) */
++/* VOID:OBJECT,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:79) */
+ void
+ _gtk_marshal_VOID__OBJECT_INT_INT (GClosure *closure,
+ GValue *return_value,
+@@ -1810,7 +1810,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,INT,INT,BOXED,UINT,UINT (./gtkmarshalers.list:80) */
++/* VOID:OBJECT,INT,INT,BOXED,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:80) */
+ void
+ _gtk_marshal_VOID__OBJECT_INT_INT_BOXED_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -1855,7 +1855,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,OBJECT (./gtkmarshalers.list:81) */
++/* VOID:OBJECT,OBJECT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:81) */
+ void
+ _gtk_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
+ GValue *return_value,
+@@ -1892,7 +1892,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,STRING (./gtkmarshalers.list:82) */
++/* VOID:OBJECT,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:82) */
+ void
+ _gtk_marshal_VOID__OBJECT_STRING (GClosure *closure,
+ GValue *return_value,
+@@ -1929,7 +1929,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,STRING,STRING (./gtkmarshalers.list:83) */
++/* VOID:OBJECT,STRING,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:83) */
+ void
+ _gtk_marshal_VOID__OBJECT_STRING_STRING (GClosure *closure,
+ GValue *return_value,
+@@ -1968,7 +1968,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,UINT (./gtkmarshalers.list:84) */
++/* VOID:OBJECT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:84) */
+ void
+ _gtk_marshal_VOID__OBJECT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -2005,7 +2005,7 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,UINT,FLAGS (./gtkmarshalers.list:85) */
++/* VOID:OBJECT,UINT,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:85) */
+ void
+ _gtk_marshal_VOID__OBJECT_UINT_FLAGS (GClosure *closure,
+ GValue *return_value,
+@@ -2044,11 +2044,11 @@
+ data2);
+ }
+
+-/* VOID:OBJECT,STRING (./gtkmarshalers.list:86) */
++/* VOID:OBJECT,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:86) */
+
+-/* VOID:POINTER (./gtkmarshalers.list:87) */
++/* VOID:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:87) */
+
+-/* VOID:POINTER,INT (./gtkmarshalers.list:88) */
++/* VOID:POINTER,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:88) */
+ void
+ _gtk_marshal_VOID__POINTER_INT (GClosure *closure,
+ GValue *return_value,
+@@ -2085,7 +2085,7 @@
+ data2);
+ }
+
+-/* VOID:POINTER,BOOLEAN (./gtkmarshalers.list:89) */
++/* VOID:POINTER,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:89) */
+ void
+ _gtk_marshal_VOID__POINTER_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+@@ -2122,7 +2122,7 @@
+ data2);
+ }
+
+-/* VOID:POINTER,POINTER,POINTER (./gtkmarshalers.list:90) */
++/* VOID:POINTER,POINTER,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:90) */
+ void
+ _gtk_marshal_VOID__POINTER_POINTER_POINTER (GClosure *closure,
+ GValue *return_value,
+@@ -2161,7 +2161,7 @@
+ data2);
+ }
+
+-/* VOID:POINTER,UINT (./gtkmarshalers.list:91) */
++/* VOID:POINTER,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:91) */
+ void
+ _gtk_marshal_VOID__POINTER_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -2198,9 +2198,9 @@
+ data2);
+ }
+
+-/* VOID:STRING (./gtkmarshalers.list:92) */
++/* VOID:STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:92) */
+
+-/* VOID:STRING,STRING (./gtkmarshalers.list:93) */
++/* VOID:STRING,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:93) */
+ void
+ _gtk_marshal_VOID__STRING_STRING (GClosure *closure,
+ GValue *return_value,
+@@ -2237,9 +2237,9 @@
+ data2);
+ }
+
+-/* VOID:STRING,INT,POINTER (./gtkmarshalers.list:94) */
++/* VOID:STRING,INT,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:94) */
+
+-/* VOID:STRING,UINT,FLAGS (./gtkmarshalers.list:95) */
++/* VOID:STRING,UINT,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:95) */
+ void
+ _gtk_marshal_VOID__STRING_UINT_FLAGS (GClosure *closure,
+ GValue *return_value,
+@@ -2278,7 +2278,7 @@
+ data2);
+ }
+
+-/* VOID:UINT,FLAGS,BOXED (./gtkmarshalers.list:96) */
++/* VOID:UINT,FLAGS,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:96) */
+ void
+ _gtk_marshal_VOID__UINT_FLAGS_BOXED (GClosure *closure,
+ GValue *return_value,
+@@ -2317,7 +2317,7 @@
+ data2);
+ }
+
+-/* VOID:UINT,UINT (./gtkmarshalers.list:97) */
++/* VOID:UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:97) */
+ void
+ _gtk_marshal_VOID__UINT_UINT (GClosure *closure,
+ GValue *return_value,
+@@ -2354,7 +2354,7 @@
+ data2);
+ }
+
+-/* VOID:UINT,STRING (./gtkmarshalers.list:98) */
++/* VOID:UINT,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:98) */
+ void
+ _gtk_marshal_VOID__UINT_STRING (GClosure *closure,
+ GValue *return_value,
+@@ -2391,7 +2391,7 @@
+ data2);
+ }
+
+-/* VOID:UINT,BOXED,UINT,FLAGS,FLAGS (./gtkmarshalers.list:99) */
++/* VOID:UINT,BOXED,UINT,FLAGS,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:99) */
+ void
+ _gtk_marshal_VOID__UINT_BOXED_UINT_FLAGS_FLAGS (GClosure *closure,
+ GValue *return_value,
+@@ -2434,7 +2434,7 @@
+ data2);
+ }
+
+-/* VOID:UINT,OBJECT,UINT,FLAGS,FLAGS (./gtkmarshalers.list:100) */
++/* VOID:UINT,OBJECT,UINT,FLAGS,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:100) */
+ void
+ _gtk_marshal_VOID__UINT_OBJECT_UINT_FLAGS_FLAGS (GClosure *closure,
+ GValue *return_value,
+@@ -2477,5 +2477,5 @@
+ data2);
+ }
+
+-/* VOID:VOID (./gtkmarshalers.list:101) */
++/* VOID:VOID (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:101) */
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshalers.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshalers.h.diff
new file mode 100644
index 0000000000..e6941631e4
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmarshalers.h.diff
@@ -0,0 +1,622 @@
+--- gtk+-2.6.4/gtk/gtkmarshalers.h 2005-03-01 17:58:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmarshalers.h 2005-04-06 16:19:36.903928112 +0300
+@@ -6,7 +6,7 @@
+
+ G_BEGIN_DECLS
+
+-/* BOOLEAN:BOXED (./gtkmarshalers.list:24) */
++/* BOOLEAN:BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:24) */
+ extern void _gtk_marshal_BOOLEAN__BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -14,7 +14,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:BOXED,BOXED (./gtkmarshalers.list:25) */
++/* BOOLEAN:BOXED,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:25) */
+ extern void _gtk_marshal_BOOLEAN__BOXED_BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -22,7 +22,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:ENUM (./gtkmarshalers.list:26) */
++/* BOOLEAN:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:26) */
+ extern void _gtk_marshal_BOOLEAN__ENUM (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -30,7 +30,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:ENUM,DOUBLE (./gtkmarshalers.list:27) */
++/* BOOLEAN:ENUM,DOUBLE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:27) */
+ extern void _gtk_marshal_BOOLEAN__ENUM_DOUBLE (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -38,7 +38,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:ENUM,INT (./gtkmarshalers.list:28) */
++/* BOOLEAN:ENUM,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:28) */
+ extern void _gtk_marshal_BOOLEAN__ENUM_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -46,7 +46,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:OBJECT,UINT,FLAGS (./gtkmarshalers.list:29) */
++/* BOOLEAN:OBJECT,UINT,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:29) */
+ extern void _gtk_marshal_BOOLEAN__OBJECT_UINT_FLAGS (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -54,7 +54,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:OBJECT,INT,INT,UINT (./gtkmarshalers.list:30) */
++/* BOOLEAN:OBJECT,INT,INT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:30) */
+ extern void _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -62,7 +62,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:OBJECT,STRING,STRING,BOXED (./gtkmarshalers.list:31) */
++/* BOOLEAN:OBJECT,STRING,STRING,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:31) */
+ extern void _gtk_marshal_BOOLEAN__OBJECT_STRING_STRING_BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -70,7 +70,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:OBJECT,BOXED (./gtkmarshalers.list:32) */
++/* BOOLEAN:OBJECT,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:32) */
+ extern void _gtk_marshal_BOOLEAN__OBJECT_BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -78,7 +78,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:OBJECT,BOXED,BOXED (./gtkmarshalers.list:33) */
++/* BOOLEAN:OBJECT,BOXED,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:33) */
+ extern void _gtk_marshal_BOOLEAN__OBJECT_BOXED_BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -86,7 +86,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:OBJECT,STRING,STRING (./gtkmarshalers.list:34) */
++/* BOOLEAN:OBJECT,STRING,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:34) */
+ extern void _gtk_marshal_BOOLEAN__OBJECT_STRING_STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -94,7 +94,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:INT,INT (./gtkmarshalers.list:35) */
++/* BOOLEAN:INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:35) */
+ extern void _gtk_marshal_BOOLEAN__INT_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -102,7 +102,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:INT,INT,INT (./gtkmarshalers.list:36) */
++/* BOOLEAN:INT,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:36) */
+ extern void _gtk_marshal_BOOLEAN__INT_INT_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -110,7 +110,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:UINT (./gtkmarshalers.list:37) */
++/* BOOLEAN:UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:37) */
+ extern void _gtk_marshal_BOOLEAN__UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -118,7 +118,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:VOID (./gtkmarshalers.list:38) */
++/* BOOLEAN:VOID (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:38) */
+ extern void _gtk_marshal_BOOLEAN__VOID (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -126,7 +126,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:BOOLEAN (./gtkmarshalers.list:39) */
++/* BOOLEAN:BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:39) */
+ extern void _gtk_marshal_BOOLEAN__BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -134,10 +134,10 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:NONE (./gtkmarshalers.list:40) */
++/* BOOLEAN:NONE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:40) */
+ #define _gtk_marshal_BOOLEAN__NONE _gtk_marshal_BOOLEAN__VOID
+
+-/* BOOLEAN:BOOLEAN,BOOLEAN,BOOLEAN (./gtkmarshalers.list:41) */
++/* BOOLEAN:BOOLEAN,BOOLEAN,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:41) */
+ extern void _gtk_marshal_BOOLEAN__BOOLEAN_BOOLEAN_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -145,7 +145,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* BOOLEAN:STRING (./gtkmarshalers.list:42) */
++/* BOOLEAN:STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:42) */
+ extern void _gtk_marshal_BOOLEAN__STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -153,7 +153,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* ENUM:ENUM (./gtkmarshalers.list:43) */
++/* ENUM:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:43) */
+ extern void _gtk_marshal_ENUM__ENUM (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -161,7 +161,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* INT:POINTER (./gtkmarshalers.list:44) */
++/* INT:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:44) */
+ extern void _gtk_marshal_INT__POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -169,19 +169,19 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* NONE:BOOLEAN (./gtkmarshalers.list:45) */
++/* NONE:BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:45) */
+ #define _gtk_marshal_VOID__BOOLEAN g_cclosure_marshal_VOID__BOOLEAN
+ #define _gtk_marshal_NONE__BOOLEAN _gtk_marshal_VOID__BOOLEAN
+
+-/* NONE:ENUM (./gtkmarshalers.list:46) */
++/* NONE:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:46) */
+ #define _gtk_marshal_VOID__ENUM g_cclosure_marshal_VOID__ENUM
+ #define _gtk_marshal_NONE__ENUM _gtk_marshal_VOID__ENUM
+
+-/* NONE:INT (./gtkmarshalers.list:47) */
++/* NONE:INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:47) */
+ #define _gtk_marshal_VOID__INT g_cclosure_marshal_VOID__INT
+ #define _gtk_marshal_NONE__INT _gtk_marshal_VOID__INT
+
+-/* NONE:INT,BOOL (./gtkmarshalers.list:48) */
++/* NONE:INT,BOOL (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:48) */
+ extern void _gtk_marshal_VOID__INT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -190,7 +190,7 @@
+ gpointer marshal_data);
+ #define _gtk_marshal_NONE__INT_BOOL _gtk_marshal_VOID__INT_BOOLEAN
+
+-/* NONE:INT,INT (./gtkmarshalers.list:49) */
++/* NONE:INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:49) */
+ extern void _gtk_marshal_VOID__INT_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -199,11 +199,11 @@
+ gpointer marshal_data);
+ #define _gtk_marshal_NONE__INT_INT _gtk_marshal_VOID__INT_INT
+
+-/* NONE:NONE (./gtkmarshalers.list:50) */
++/* NONE:NONE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:50) */
+ #define _gtk_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID
+ #define _gtk_marshal_NONE__NONE _gtk_marshal_VOID__VOID
+
+-/* NONE:STRING,INT,POINTER (./gtkmarshalers.list:51) */
++/* NONE:STRING,INT,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:51) */
+ extern void _gtk_marshal_VOID__STRING_INT_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -212,7 +212,7 @@
+ gpointer marshal_data);
+ #define _gtk_marshal_NONE__STRING_INT_POINTER _gtk_marshal_VOID__STRING_INT_POINTER
+
+-/* STRING:DOUBLE (./gtkmarshalers.list:52) */
++/* STRING:DOUBLE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:52) */
+ extern void _gtk_marshal_STRING__DOUBLE (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -220,12 +220,12 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:DOUBLE (./gtkmarshalers.list:53) */
++/* VOID:DOUBLE (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:53) */
+ #define _gtk_marshal_VOID__DOUBLE g_cclosure_marshal_VOID__DOUBLE
+
+-/* VOID:BOOLEAN (./gtkmarshalers.list:54) */
++/* VOID:BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:54) */
+
+-/* VOID:BOOLEAN,BOOLEAN,BOOLEAN (./gtkmarshalers.list:55) */
++/* VOID:BOOLEAN,BOOLEAN,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:55) */
+ extern void _gtk_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -233,10 +233,10 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:BOXED (./gtkmarshalers.list:56) */
++/* VOID:BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:56) */
+ #define _gtk_marshal_VOID__BOXED g_cclosure_marshal_VOID__BOXED
+
+-/* VOID:BOXED,BOXED (./gtkmarshalers.list:57) */
++/* VOID:BOXED,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:57) */
+ extern void _gtk_marshal_VOID__BOXED_BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -244,7 +244,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:BOXED,BOXED,POINTER (./gtkmarshalers.list:58) */
++/* VOID:BOXED,BOXED,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:58) */
+ extern void _gtk_marshal_VOID__BOXED_BOXED_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -252,7 +252,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:BOXED,OBJECT (./gtkmarshalers.list:59) */
++/* VOID:BOXED,OBJECT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:59) */
+ extern void _gtk_marshal_VOID__BOXED_OBJECT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -260,7 +260,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:BOXED,STRING,INT (./gtkmarshalers.list:60) */
++/* VOID:BOXED,STRING,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:60) */
+ extern void _gtk_marshal_VOID__BOXED_STRING_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -268,7 +268,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:BOXED,UINT (./gtkmarshalers.list:61) */
++/* VOID:BOXED,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:61) */
+ extern void _gtk_marshal_VOID__BOXED_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -276,7 +276,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:BOXED,UINT,FLAGS (./gtkmarshalers.list:62) */
++/* VOID:BOXED,UINT,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:62) */
+ extern void _gtk_marshal_VOID__BOXED_UINT_FLAGS (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -284,7 +284,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:BOXED,UINT,UINT (./gtkmarshalers.list:63) */
++/* VOID:BOXED,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:63) */
+ extern void _gtk_marshal_VOID__BOXED_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -292,9 +292,9 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:ENUM (./gtkmarshalers.list:64) */
++/* VOID:ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:64) */
+
+-/* VOID:ENUM,BOOLEAN (./gtkmarshalers.list:65) */
++/* VOID:ENUM,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:65) */
+ extern void _gtk_marshal_VOID__ENUM_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -302,7 +302,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:ENUM,ENUM (./gtkmarshalers.list:66) */
++/* VOID:ENUM,ENUM (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:66) */
+ extern void _gtk_marshal_VOID__ENUM_ENUM (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -310,7 +310,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:ENUM,FLOAT (./gtkmarshalers.list:67) */
++/* VOID:ENUM,FLOAT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:67) */
+ extern void _gtk_marshal_VOID__ENUM_FLOAT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -318,7 +318,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:ENUM,FLOAT,BOOLEAN (./gtkmarshalers.list:68) */
++/* VOID:ENUM,FLOAT,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:68) */
+ extern void _gtk_marshal_VOID__ENUM_FLOAT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -326,7 +326,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:ENUM,INT (./gtkmarshalers.list:69) */
++/* VOID:ENUM,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:69) */
+ extern void _gtk_marshal_VOID__ENUM_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -334,7 +334,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:ENUM,INT,BOOLEAN (./gtkmarshalers.list:70) */
++/* VOID:ENUM,INT,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:70) */
+ extern void _gtk_marshal_VOID__ENUM_INT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -342,11 +342,11 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:INT (./gtkmarshalers.list:71) */
++/* VOID:INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:71) */
+
+-/* VOID:INT,INT (./gtkmarshalers.list:72) */
++/* VOID:INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:72) */
+
+-/* VOID:INT,INT,BOXED (./gtkmarshalers.list:73) */
++/* VOID:INT,INT,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:73) */
+ extern void _gtk_marshal_VOID__INT_INT_BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -354,7 +354,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:INT,INT,INT (./gtkmarshalers.list:74) */
++/* VOID:INT,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:74) */
+ extern void _gtk_marshal_VOID__INT_INT_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -362,10 +362,10 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT (./gtkmarshalers.list:75) */
++/* VOID:OBJECT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:75) */
+ #define _gtk_marshal_VOID__OBJECT g_cclosure_marshal_VOID__OBJECT
+
+-/* VOID:OBJECT,BOOLEAN (./gtkmarshalers.list:76) */
++/* VOID:OBJECT,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:76) */
+ extern void _gtk_marshal_VOID__OBJECT_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -373,7 +373,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,BOXED,BOXED (./gtkmarshalers.list:77) */
++/* VOID:OBJECT,BOXED,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:77) */
+ extern void _gtk_marshal_VOID__OBJECT_BOXED_BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -381,7 +381,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,BOXED,UINT,UINT (./gtkmarshalers.list:78) */
++/* VOID:OBJECT,BOXED,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:78) */
+ extern void _gtk_marshal_VOID__OBJECT_BOXED_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -389,7 +389,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,INT,INT (./gtkmarshalers.list:79) */
++/* VOID:OBJECT,INT,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:79) */
+ extern void _gtk_marshal_VOID__OBJECT_INT_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -397,7 +397,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,INT,INT,BOXED,UINT,UINT (./gtkmarshalers.list:80) */
++/* VOID:OBJECT,INT,INT,BOXED,UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:80) */
+ extern void _gtk_marshal_VOID__OBJECT_INT_INT_BOXED_UINT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -405,7 +405,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,OBJECT (./gtkmarshalers.list:81) */
++/* VOID:OBJECT,OBJECT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:81) */
+ extern void _gtk_marshal_VOID__OBJECT_OBJECT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -413,7 +413,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,STRING (./gtkmarshalers.list:82) */
++/* VOID:OBJECT,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:82) */
+ extern void _gtk_marshal_VOID__OBJECT_STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -421,7 +421,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,STRING,STRING (./gtkmarshalers.list:83) */
++/* VOID:OBJECT,STRING,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:83) */
+ extern void _gtk_marshal_VOID__OBJECT_STRING_STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -429,7 +429,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,UINT (./gtkmarshalers.list:84) */
++/* VOID:OBJECT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:84) */
+ extern void _gtk_marshal_VOID__OBJECT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -437,7 +437,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,UINT,FLAGS (./gtkmarshalers.list:85) */
++/* VOID:OBJECT,UINT,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:85) */
+ extern void _gtk_marshal_VOID__OBJECT_UINT_FLAGS (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -445,12 +445,12 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:OBJECT,STRING (./gtkmarshalers.list:86) */
++/* VOID:OBJECT,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:86) */
+
+-/* VOID:POINTER (./gtkmarshalers.list:87) */
++/* VOID:POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:87) */
+ #define _gtk_marshal_VOID__POINTER g_cclosure_marshal_VOID__POINTER
+
+-/* VOID:POINTER,INT (./gtkmarshalers.list:88) */
++/* VOID:POINTER,INT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:88) */
+ extern void _gtk_marshal_VOID__POINTER_INT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -458,7 +458,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:POINTER,BOOLEAN (./gtkmarshalers.list:89) */
++/* VOID:POINTER,BOOLEAN (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:89) */
+ extern void _gtk_marshal_VOID__POINTER_BOOLEAN (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -466,7 +466,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:POINTER,POINTER,POINTER (./gtkmarshalers.list:90) */
++/* VOID:POINTER,POINTER,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:90) */
+ extern void _gtk_marshal_VOID__POINTER_POINTER_POINTER (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -474,7 +474,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:POINTER,UINT (./gtkmarshalers.list:91) */
++/* VOID:POINTER,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:91) */
+ extern void _gtk_marshal_VOID__POINTER_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -482,10 +482,10 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:STRING (./gtkmarshalers.list:92) */
++/* VOID:STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:92) */
+ #define _gtk_marshal_VOID__STRING g_cclosure_marshal_VOID__STRING
+
+-/* VOID:STRING,STRING (./gtkmarshalers.list:93) */
++/* VOID:STRING,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:93) */
+ extern void _gtk_marshal_VOID__STRING_STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -493,9 +493,9 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:STRING,INT,POINTER (./gtkmarshalers.list:94) */
++/* VOID:STRING,INT,POINTER (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:94) */
+
+-/* VOID:STRING,UINT,FLAGS (./gtkmarshalers.list:95) */
++/* VOID:STRING,UINT,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:95) */
+ extern void _gtk_marshal_VOID__STRING_UINT_FLAGS (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -503,7 +503,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:UINT,FLAGS,BOXED (./gtkmarshalers.list:96) */
++/* VOID:UINT,FLAGS,BOXED (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:96) */
+ extern void _gtk_marshal_VOID__UINT_FLAGS_BOXED (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -511,7 +511,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:UINT,UINT (./gtkmarshalers.list:97) */
++/* VOID:UINT,UINT (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:97) */
+ extern void _gtk_marshal_VOID__UINT_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -519,7 +519,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:UINT,STRING (./gtkmarshalers.list:98) */
++/* VOID:UINT,STRING (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:98) */
+ extern void _gtk_marshal_VOID__UINT_STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -527,7 +527,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:UINT,BOXED,UINT,FLAGS,FLAGS (./gtkmarshalers.list:99) */
++/* VOID:UINT,BOXED,UINT,FLAGS,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:99) */
+ extern void _gtk_marshal_VOID__UINT_BOXED_UINT_FLAGS_FLAGS (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -535,7 +535,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:UINT,OBJECT,UINT,FLAGS,FLAGS (./gtkmarshalers.list:100) */
++/* VOID:UINT,OBJECT,UINT,FLAGS,FLAGS (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:100) */
+ extern void _gtk_marshal_VOID__UINT_OBJECT_UINT_FLAGS_FLAGS (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+@@ -543,7 +543,7 @@
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+-/* VOID:VOID (./gtkmarshalers.list:101) */
++/* VOID:VOID (/home/jlehto/teema4/3rdparty/gtk+2.0-2.6/gtk/gtkmarshalers.list:101) */
+
+ G_END_DECLS
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenu.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenu.c.diff
new file mode 100644
index 0000000000..16fac1b155
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenu.c.diff
@@ -0,0 +1,1223 @@
+--- gtk+-2.6.4/gtk/gtkmenu.c 2005-03-01 08:28:56.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmenu.c 2005-04-06 16:19:36.921925376 +0300
+@@ -24,10 +24,16 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2002-2005. See CHANGES file for list
++ * of changes.
++ */
++
+ #define GTK_MENU_INTERNALS
+
+ #include <config.h>
+ #include <string.h> /* memset */
++#include <math.h>
++#include <stdlib.h>
+ #include "gdk/gdkkeysyms.h"
+ #include "gtkalias.h"
+ #include "gtkaccellabel.h"
+@@ -44,7 +50,11 @@
+ #include "gtkvscrollbar.h"
+ #include "gtksettings.h"
+ #include "gtkintl.h"
++#include "gtkcombobox.h"
+
++/* Hildon : We need this to figure out if menu should have
++ * corners etc. */
++#include "gtkmenubar.h"
+
+ #define MENU_ITEM_CLASS(w) GTK_MENU_ITEM_GET_CLASS (w)
+
+@@ -55,16 +65,43 @@
+ * extends below the submenu
+ */
+
++/* HILDON:
++ * Urgh, nasty thing to hard-code things like these :p
++ * One should really do some rewriting here...
++ */
++
+ #define MENU_SCROLL_STEP1 8
+ #define MENU_SCROLL_STEP2 15
+-#define MENU_SCROLL_ARROW_HEIGHT 16
+-#define MENU_SCROLL_FAST_ZONE 8
++#define MENU_SCROLL_ARROW_HEIGHT 20 /* This used to be: 23; This hard-coding should be
++ * changed. Add arrow_height style property into
++ * commongtkrc and read it from there everywhere
++ * where a reference to MENU_SCROLL_ARROW_HEIGHT
++ * is made.
++ * If these changes are made, please modify also
++ * gtkcombobox.c.
++ */
++#define MENU_SCROLL_FAST_ZONE MENU_SCROLL_ARROW_HEIGHT /* Was originally 8 */
+ #define MENU_SCROLL_TIMEOUT1 50
+ #define MENU_SCROLL_TIMEOUT2 20
+
+ #define ATTACH_INFO_KEY "gtk-menu-child-attach-info-key"
+ #define ATTACHED_MENUS "gtk-attached-menus"
+
++/* HILDON: */
++#define HILDON_MENU_NAME_SHARP "menu_with_corners"
++
++/* needed to allow different themeing for first level menus */
++#define HILDON_MENU_NAME_ROUND_FIRST_LEVEL "menu_without_corners_first_level"
++#define HILDON_MENU_NAME_ROUND "menu_without_corners"
++#define HILDON_MENU_NAME_FORCE_SHARP "menu_force_with_corners"
++#define HILDON_MENU_NAME_FORCE_ROUND "menu_force_without_corners"
++
++/* maximum sizes for menus when attached to comboboxes */
++#define HILDON_MENU_COMBO_MAX_WIDTH 406
++#define HILDON_MENU_COMBO_MIN_WIDTH 66
++#define HILDON_MENU_COMBO_MAX_HEIGHT 305
++#define HILDON_MENU_COMBO_MIN_HEIGHT 70
++
+ typedef struct _GtkMenuAttachData GtkMenuAttachData;
+ typedef struct _GtkMenuPrivate GtkMenuPrivate;
+
+@@ -92,6 +129,15 @@
+ gboolean have_layout;
+ gint n_rows;
+ gint n_columns;
++
++ /* Arrow states */
++ GtkStateType lower_arrow_state;
++ GtkStateType upper_arrow_state;
++
++ /* For context menu behavior */
++ gboolean context_menu;
++ int popup_pointer_x;
++ int popup_pointer_y;
+ };
+
+ typedef struct
+@@ -108,6 +154,7 @@
+
+ enum {
+ MOVE_SCROLL,
++ CLOSE_CURRENT,
+ LAST_SIGNAL
+ };
+
+@@ -191,7 +238,8 @@
+ static void gtk_menu_handle_scrolling (GtkMenu *menu,
+ gint event_x,
+ gint event_y,
+- gboolean enter);
++ gboolean enter,
++ gboolean motion);
+ static void gtk_menu_set_tearoff_hints (GtkMenu *menu,
+ gint width);
+ static void gtk_menu_style_set (GtkWidget *widget,
+@@ -232,6 +280,9 @@
+ guint signal_id);
+ static void _gtk_menu_refresh_accel_paths (GtkMenu *menu,
+ gboolean group_changed);
++static gboolean gtk_menu_check_name (GtkWidget *widget);
++
++static void _gtk_menu_close_current (GtkMenu *menu);
+
+ static GtkMenuShellClass *parent_class = NULL;
+ static const gchar attach_data_key[] = "gtk-menu-attach-data";
+@@ -496,7 +547,6 @@
+ widget_class->hide_all = gtk_menu_hide_all;
+ widget_class->enter_notify_event = gtk_menu_enter_notify;
+ widget_class->leave_notify_event = gtk_menu_leave_notify;
+- widget_class->motion_notify_event = gtk_menu_motion_notify;
+ widget_class->style_set = gtk_menu_style_set;
+ widget_class->focus = gtk_menu_focus;
+ widget_class->can_activate_accel = gtk_menu_real_can_activate_accel;
+@@ -521,6 +571,15 @@
+ _gtk_marshal_VOID__ENUM,
+ G_TYPE_NONE, 1,
+ GTK_TYPE_SCROLL_TYPE);
++
++ menu_signals[CLOSE_CURRENT] =
++ _gtk_binding_signal_new ("close_current",
++ G_OBJECT_CLASS_TYPE (object_class),
++ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
++ G_CALLBACK (_gtk_menu_close_current),
++ NULL, NULL,
++ _gtk_marshal_VOID__VOID,
++ G_TYPE_NONE, 0);
+
+ g_object_class_install_property (gobject_class,
+ PROP_TEAROFF_TITLE,
+@@ -606,6 +665,11 @@
+ G_PARAM_READWRITE));
+
+ binding_set = gtk_binding_set_by_class (class);
++ /* Hildon : We moved handling of escape-key here because we need it to
++ * work like closing a submenu, not closing all the menus. */
++ gtk_binding_entry_add_signal (binding_set,
++ GDK_Escape, 0,
++ "close_current", 0);
+ gtk_binding_entry_add_signal (binding_set,
+ GDK_Up, 0,
+ "move_current", 1,
+@@ -709,6 +773,25 @@
+ DEFAULT_POPDOWN_DELAY,
+ G_PARAM_READWRITE));
+
++ /* Hildon addition : border width was
++ replaced with horizontal-padding and
++ vertical-padding (which already is an style
++ property for GtkMenu). */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("horizontal-padding",
++ P_("Horizontal Padding"),
++ P_("Extra space at the left and right edges of the menu"),
++ 0,
++ G_MAXINT,
++ 0, /* 1, */
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("double_arrows",
++ P_("Double Arrows"),
++ P_("When scrolling, always show both arrows."),
++ FALSE,
++ G_PARAM_READABLE));
+ }
+
+
+@@ -884,13 +967,14 @@
+ menu->toggle_size = 0;
+
+ menu->toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW,
+- "type", GTK_WINDOW_POPUP,
+- "child", menu,
+- NULL),
++ "type", GTK_WINDOW_POPUP,
++ "child", menu,
++ NULL),
+ "signal::event", gtk_menu_window_event, menu,
+ "signal::size_request", gtk_menu_window_size_request, menu,
+ "signal::destroy", gtk_widget_destroyed, &menu->toplevel,
+ NULL);
++
+ gtk_window_set_resizable (GTK_WINDOW (menu->toplevel), FALSE);
+ gtk_window_set_mnemonic_modifier (GTK_WINDOW (menu->toplevel), 0);
+
+@@ -919,6 +1003,15 @@
+ menu->lower_arrow_visible = FALSE;
+ menu->upper_arrow_prelight = FALSE;
+ menu->lower_arrow_prelight = FALSE;
++
++ /* <Hildon> */
++ priv->upper_arrow_state = GTK_STATE_NORMAL;
++ priv->lower_arrow_state = GTK_STATE_NORMAL;
++
++ priv->context_menu = FALSE;
++ priv->popup_pointer_x = -1;
++ priv->popup_pointer_y = -1;
++ /* </hildon */
+
+ priv->have_layout = FALSE;
+ }
+@@ -1220,7 +1313,8 @@
+
+ static gboolean
+ popup_grab_on_window (GdkWindow *window,
+- guint32 activate_time)
++ guint32 activate_time,
++ gboolean grab_keyboard)
+ {
+ if ((gdk_pointer_grab (window, TRUE,
+ GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
+@@ -1228,7 +1322,8 @@
+ GDK_POINTER_MOTION_MASK,
+ NULL, NULL, activate_time) == 0))
+ {
+- if (gdk_keyboard_grab (window, TRUE,
++ if (!grab_keyboard ||
++ gdk_keyboard_grab (window, TRUE,
+ activate_time) == 0)
+ return TRUE;
+ else
+@@ -1282,6 +1377,7 @@
+ GtkWidget *parent;
+ GdkEvent *current_event;
+ GtkMenuShell *menu_shell;
++ gboolean grab_keyboard;
+ GtkMenuPrivate *priv = gtk_menu_get_private (menu);
+
+ g_return_if_fail (GTK_IS_MENU (menu));
+@@ -1333,10 +1429,28 @@
+ * probably could just leave the grab on the other window, with a
+ * little reorganization of the code in gtkmenu*).
+ */
++
++ grab_keyboard = gtk_menu_shell_get_take_focus (menu_shell);
++ gtk_window_set_accept_focus (GTK_WINDOW (menu->toplevel), grab_keyboard);
++
+ if (xgrab_shell && xgrab_shell != widget)
+ {
+- if (popup_grab_on_window (xgrab_shell->window, activate_time))
++ if (popup_grab_on_window (xgrab_shell->window, activate_time, grab_keyboard))
+ GTK_MENU_SHELL (xgrab_shell)->have_xgrab = TRUE;
++
++ /* HILDON:
++ * Check wheter parent is GtkMenuBar. If so,
++ * then we need sharp upper corners for this menu.
++ */
++ if (gtk_menu_check_name (widget))
++ {
++ if (GTK_IS_MENU_BAR (parent_menu_shell))
++ gtk_widget_set_name (widget, HILDON_MENU_NAME_SHARP);
++ else if (GTK_IS_MENU (parent_menu_shell))
++ gtk_widget_set_name( widget, HILDON_MENU_NAME_ROUND);
++ else
++ gtk_widget_set_name (widget, HILDON_MENU_NAME_ROUND_FIRST_LEVEL);
++ }
+ }
+ else
+ {
+@@ -1344,8 +1458,14 @@
+
+ xgrab_shell = widget;
+ transfer_window = menu_grab_transfer_window_get (menu);
+- if (popup_grab_on_window (transfer_window, activate_time))
++ if (popup_grab_on_window (transfer_window, activate_time, grab_keyboard))
+ GTK_MENU_SHELL (xgrab_shell)->have_xgrab = TRUE;
++
++ /* HILDON:
++ * We want this menu to have round corners (Used by default)
++ */
++ if (gtk_menu_check_name (widget))
++ gtk_widget_set_name (widget, HILDON_MENU_NAME_ROUND_FIRST_LEVEL);
+ }
+
+ if (!GTK_MENU_SHELL (xgrab_shell)->have_xgrab)
+@@ -1409,6 +1529,23 @@
+
+ /* Position the menu, possibly changing the size request
+ */
++ if (GTK_IS_COMBO_BOX (gtk_menu_get_attach_widget (menu)))
++ {
++ /* Hildon - limit the size if the menu is attached to a ComboBox */
++ GtkRequisition req;
++ gint width, height;
++
++ gtk_widget_set_size_request (widget, -1, -1);
++ gtk_widget_size_request (widget, &req);
++
++ width = MAX (MIN (req.width, HILDON_MENU_COMBO_MAX_WIDTH),
++ HILDON_MENU_COMBO_MIN_WIDTH);
++ height = MAX (MIN (req.height, HILDON_MENU_COMBO_MAX_HEIGHT),
++ HILDON_MENU_COMBO_MIN_HEIGHT);
++
++ gtk_widget_set_size_request (widget, width, height);
++ }
++
+ gtk_menu_position (menu);
+
+ /* Compute the size of the toplevel and realize it so we
+@@ -1430,13 +1567,29 @@
+
+ gtk_menu_scroll_to (menu, menu->scroll_offset);
+
++ if (priv->context_menu)
++ {
++ /* Save position of the pointer during popup */
++ /* currently not-multihead safe */
++ GdkScreen *screen;
++ GdkDisplay *display;
++
++ screen = gtk_widget_get_screen (widget);
++ display = gdk_screen_get_display (screen);
++
++ gdk_display_get_pointer (display, NULL,
++ &priv->popup_pointer_x,
++ &priv->popup_pointer_y,
++ NULL);
++ }
++
+ /* Once everything is set up correctly, map the toplevel window on
+ the screen.
+ */
+ gtk_widget_show (menu->toplevel);
+
+ if (xgrab_shell == widget)
+- popup_grab_on_window (widget->window, activate_time); /* Should always succeed */
++ popup_grab_on_window (widget->window, activate_time, grab_keyboard); /* Should always succeed */
+ gtk_grab_add (GTK_WIDGET (menu));
+ }
+
+@@ -1996,6 +2149,7 @@
+ GtkWidget *child;
+ GList *children;
+ guint vertical_padding;
++ guint horizontal_padding;
+
+ g_return_if_fail (GTK_IS_MENU (widget));
+
+@@ -2025,9 +2179,10 @@
+
+ gtk_widget_style_get (GTK_WIDGET (menu),
+ "vertical-padding", &vertical_padding,
++ "horizontal-padding", &horizontal_padding,
+ NULL);
+
+- attributes.x = border_width + widget->style->xthickness;
++ attributes.x = border_width + widget->style->xthickness + horizontal_padding;
+ attributes.y = border_width + widget->style->ythickness + vertical_padding;
+ attributes.width = MAX (1, widget->allocation.width - attributes.x * 2);
+ attributes.height = MAX (1, widget->allocation.height - attributes.y * 2);
+@@ -2040,11 +2195,14 @@
+ if (menu->lower_arrow_visible)
+ attributes.height -= MENU_SCROLL_ARROW_HEIGHT;
+
++ attributes.window_type = GDK_WINDOW_CHILD;
++
+ menu->view_window = gdk_window_new (widget->window, &attributes, attributes_mask);
+ gdk_window_set_user_data (menu->view_window, menu);
+
+ attributes.x = 0;
+ attributes.y = 0;
++ attributes.width = MAX (1, widget->requisition.width - (border_width + widget->style->xthickness + horizontal_padding) * 2);
+ attributes.height = MAX (1, widget->requisition.height - (border_width + widget->style->ythickness + vertical_padding) * 2);
+
+ menu->bin_window = gdk_window_new (menu->view_window, &attributes, attributes_mask);
+@@ -2164,6 +2322,10 @@
+ guint vertical_padding;
+ GtkRequisition child_requisition;
+ GtkMenuPrivate *priv;
++ guint horizontal_padding;
++ GdkScreen *screen;
++ GdkRectangle monitor;
++ gint monitor_num;
+
+ g_return_if_fail (GTK_IS_MENU (widget));
+ g_return_if_fail (requisition != NULL);
+@@ -2182,6 +2344,16 @@
+ priv->heights = g_new0 (guint, gtk_menu_get_n_rows (menu));
+ priv->heights_length = gtk_menu_get_n_rows (menu);
+
++/* Hildon addition to find out the monitor width */
++ screen = gtk_widget_get_screen (widget);
++ if (widget->window != NULL)
++ monitor_num = gdk_screen_get_monitor_at_window (screen, widget->window);
++ else
++ monitor_num = 0;
++ if (monitor_num < 0)
++ monitor_num = 0;
++ gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
++
+ children = menu_shell->children;
+ while (children)
+ {
+@@ -2223,15 +2395,18 @@
+
+ requisition->width += max_toggle_size + max_accel_width;
+ requisition->width *= gtk_menu_get_n_columns (menu);
+- requisition->width += (GTK_CONTAINER (menu)->border_width +
+- widget->style->xthickness) * 2;
+
+ gtk_widget_style_get (GTK_WIDGET (menu),
++ "horizontal-padding", &horizontal_padding,
+ "vertical-padding", &vertical_padding,
+ NULL);
++ requisition->width += (GTK_CONTAINER (menu)->border_width + horizontal_padding +
++ widget->style->xthickness) * 2;
+ requisition->height += (GTK_CONTAINER (menu)->border_width + vertical_padding +
+ widget->style->ythickness) * 2;
+
++/* Hildon addition to not make the menu too wide for the screen. */
++ requisition->width = MIN (requisition->width, monitor.width);
+ menu->toggle_size = max_toggle_size;
+
+ /* Don't resize the tearoff if it is not active, because it won't redraw (it is only a background pixmap).
+@@ -2253,6 +2428,7 @@
+ GList *children;
+ gint x, y;
+ gint width, height;
++ guint horizontal_padding;
+ guint vertical_padding;
+
+ g_return_if_fail (GTK_IS_MENU (widget));
+@@ -2266,10 +2442,11 @@
+ gtk_widget_get_child_requisition (GTK_WIDGET (menu), &child_requisition);
+
+ gtk_widget_style_get (GTK_WIDGET (menu),
++ "horizontal-padding", &horizontal_padding,
+ "vertical-padding", &vertical_padding,
+ NULL);
+
+- x = GTK_CONTAINER (menu)->border_width + widget->style->xthickness;
++ x = GTK_CONTAINER (menu)->border_width + widget->style->xthickness + horizontal_padding;
+ y = GTK_CONTAINER (menu)->border_width + widget->style->ythickness + vertical_padding;
+
+ width = MAX (1, allocation->width - x * 2);
+@@ -2407,27 +2584,32 @@
+ GdkEventExpose *event)
+ {
+ GtkMenu *menu;
+- gint width, height;
+- gint border_x, border_y;
+- guint vertical_padding;
+
+ g_return_if_fail (GTK_IS_MENU (widget));
+
+ menu = GTK_MENU (widget);
+
+- gtk_widget_style_get (GTK_WIDGET (menu),
+- "vertical-padding", &vertical_padding,
+- NULL);
+-
+- border_x = GTK_CONTAINER (widget)->border_width + widget->style->xthickness;
+- border_y = GTK_CONTAINER (widget)->border_width + widget->style->ythickness + vertical_padding;
+- gdk_drawable_get_size (widget->window, &width, &height);
+-
+ if (event->window == widget->window)
+ {
++ gint width, height;
++ gint border_x, border_y;
++ guint vertical_padding;
++ guint horizontal_padding;
++ GtkMenuPrivate *priv;
+ gint arrow_space = MENU_SCROLL_ARROW_HEIGHT - 2 * widget->style->ythickness;
+ gint arrow_size = 0.7 * arrow_space;
+
++ priv = gtk_menu_get_private (menu);
++
++ gtk_widget_style_get (GTK_WIDGET (menu),
++ "vertical-padding", &vertical_padding,
++ "horizontal-padding", &horizontal_padding,
++ NULL);
++
++ border_x = GTK_CONTAINER (widget)->border_width + widget->style->xthickness + horizontal_padding;
++ border_y = GTK_CONTAINER (widget)->border_width + widget->style->ythickness + vertical_padding;
++ gdk_drawable_get_size (widget->window, &width, &height);
++
+ gtk_paint_box (widget->style,
+ widget->window,
+ GTK_STATE_NORMAL,
+@@ -2436,21 +2618,9 @@
+ 0, 0, -1, -1);
+ if (menu->upper_arrow_visible && !menu->tearoff_active)
+ {
+- gtk_paint_box (widget->style,
+- widget->window,
+- menu->upper_arrow_prelight ?
+- GTK_STATE_PRELIGHT : GTK_STATE_NORMAL,
+- GTK_SHADOW_OUT,
+- NULL, widget, "menu",
+- border_x,
+- border_y,
+- width - 2 * border_x,
+- MENU_SCROLL_ARROW_HEIGHT);
+-
+ gtk_paint_arrow (widget->style,
+ widget->window,
+- menu->upper_arrow_prelight ?
+- GTK_STATE_PRELIGHT : GTK_STATE_NORMAL,
++ priv->upper_arrow_state,
+ GTK_SHADOW_OUT,
+ NULL, widget, "menu_scroll_arrow_up",
+ GTK_ARROW_UP,
+@@ -2462,21 +2632,9 @@
+
+ if (menu->lower_arrow_visible && !menu->tearoff_active)
+ {
+- gtk_paint_box (widget->style,
+- widget->window,
+- menu->lower_arrow_prelight ?
+- GTK_STATE_PRELIGHT : GTK_STATE_NORMAL,
+- GTK_SHADOW_OUT,
+- NULL, widget, "menu",
+- border_x,
+- height - border_y - MENU_SCROLL_ARROW_HEIGHT,
+- width - 2*border_x,
+- MENU_SCROLL_ARROW_HEIGHT);
+-
+ gtk_paint_arrow (widget->style,
+ widget->window,
+- menu->lower_arrow_prelight ?
+- GTK_STATE_PRELIGHT : GTK_STATE_NORMAL,
++ priv->lower_arrow_state,
+ GTK_SHADOW_OUT,
+ NULL, widget, "menu_scroll_arrow_down",
+ GTK_ARROW_DOWN,
+@@ -2516,18 +2674,82 @@
+ GTK_WIDGET_CLASS (parent_class)->show (widget);
+ }
+
++static GtkWidget *
++find_active_menu_item (GdkEventButton *event)
++{
++ GtkWidget *menu_item;
++
++ menu_item = gtk_get_event_widget ((GdkEvent*) event);
++ while (menu_item && !GTK_IS_MENU_ITEM (menu_item))
++ menu_item = menu_item->parent;
++
++ return menu_item;
++}
++
++static gboolean
++pointer_in_menu_tree (GtkWidget *widget)
++{
++ GtkMenuShell *mshell;
++ int width, height, x, y;
++
++ mshell = GTK_MENU_SHELL (widget);
++
++ gdk_window_get_pointer (widget->window, &x, &y, NULL);
++ gdk_drawable_get_size (widget->window, &width, &height);
++
++ if ((x <= width) && (x >= 0) && (y <= height) && (y >= 0))
++ return TRUE;
++
++ if ((mshell->parent_menu_shell != NULL) &&
++ GTK_IS_MENU (mshell->parent_menu_shell))
++ return pointer_in_menu_tree (mshell->parent_menu_shell);
++
++ return FALSE;
++}
++
++static int
++distance_traveled (GtkWidget *widget)
++{
++ GtkMenuPrivate *priv;
++ GdkScreen *screen;
++ GdkDisplay *display;
++ int x, y, dx, dy;
++
++ priv = gtk_menu_get_private (GTK_MENU (widget));
++
++ screen = gtk_widget_get_screen (widget);
++ display = gdk_screen_get_display (screen);
++
++ gdk_display_get_pointer (display, NULL, &x, &y, NULL);
++
++ dx = (priv->popup_pointer_x - x);
++ dy = (priv->popup_pointer_y - y);
++
++ return abs ((int) sqrt ((double) (dx * dx + dy * dy)));
++}
++
+ static gboolean
+ gtk_menu_button_press (GtkWidget *widget,
+- GdkEventButton *event)
++ GdkEventButton *event)
+ {
+- /* Don't pop down the menu for releases over scroll arrows
+- */
+- if (GTK_IS_MENU (widget))
++ GtkWidget *menu_item;
++
++ menu_item = find_active_menu_item (event);
++ if (menu_item == NULL)
+ {
+ GtkMenu *menu = GTK_MENU (widget);
+
+- if (menu->upper_arrow_prelight || menu->lower_arrow_prelight)
+- return TRUE;
++ if (menu->upper_arrow_prelight || menu->lower_arrow_prelight)
++ {
++ gtk_menu_handle_scrolling (GTK_MENU (widget), event->x_root, event->y_root, TRUE, FALSE);
++
++ return TRUE;
++ }
++
++ /* Don't pass down to menu shell if a non-menuitem part
++ * of the menu was clicked. */
++ if (pointer_in_menu_tree (widget))
++ return TRUE;
+ }
+
+ return GTK_WIDGET_CLASS (parent_class)->button_press_event (widget, event);
+@@ -2537,14 +2759,44 @@
+ gtk_menu_button_release (GtkWidget *widget,
+ GdkEventButton *event)
+ {
+- /* Don't pop down the menu for releases over scroll arrows
+- */
+- if (GTK_IS_MENU (widget))
++ GtkMenuPrivate *priv;
++ GtkWidget *menu_item;
++
++ priv = gtk_menu_get_private (GTK_MENU (widget));
++
++ menu_item = find_active_menu_item (event);
++ if (menu_item == NULL)
+ {
+ GtkMenu *menu = GTK_MENU (widget);
+
+- if (menu->upper_arrow_prelight || menu->lower_arrow_prelight)
+- return TRUE;
++ if (menu->upper_arrow_prelight || menu->lower_arrow_prelight)
++ {
++ gtk_menu_handle_scrolling (GTK_MENU (widget), event->x_root, event->y_root, FALSE, FALSE);
++
++ return TRUE;
++ }
++
++ if (priv->context_menu &&
++ (priv->popup_pointer_x >= 0) &&
++ (priv->popup_pointer_y >= 0))
++ {
++ int distance;
++
++ distance = distance_traveled (widget);
++
++ priv->popup_pointer_x = -1;
++ priv->popup_pointer_y = -1;
++
++ /* Don't popdown if we traveled less than 20px since popup point,
++ * as per the specs. */
++ if (distance < 20)
++ return TRUE;
++ }
++
++ /* Don't pass down to menu shell if a non-menuitem part
++ * of the menu was clicked. */
++ if (pointer_in_menu_tree (widget))
++ return TRUE;
+ }
+
+ return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
+@@ -2765,7 +3017,7 @@
+ gboolean need_enter;
+
+ if (GTK_IS_MENU (widget))
+- gtk_menu_handle_scrolling (GTK_MENU (widget), event->x_root, event->y_root, TRUE);
++ gtk_menu_handle_scrolling (GTK_MENU (widget), event->x_root, event->y_root, TRUE, TRUE);
+
+ /* We received the event for one of two reasons:
+ *
+@@ -2779,7 +3031,27 @@
+ menu_item = gtk_get_event_widget ((GdkEvent*) event);
+ if (!menu_item || !GTK_IS_MENU_ITEM (menu_item) ||
+ !GTK_IS_MENU (menu_item->parent))
+- return FALSE;
++ {
++ GtkMenuPrivate *priv;
++
++ priv = gtk_menu_get_private (GTK_MENU (widget));
++
++ if (priv->context_menu)
++ {
++ /* Context menu mode. If we dragged out of the menu,
++ * close the menu, as by the specs. */
++ if (!pointer_in_menu_tree (widget) &&
++ (distance_traveled (widget) >= 20) &&
++ (event->state & GDK_BUTTON1_MASK))
++ {
++ gtk_menu_deactivate (GTK_MENU_SHELL (widget));
++
++ return TRUE;
++ }
++ }
++
++ return FALSE;
++ }
+
+ menu_shell = GTK_MENU_SHELL (menu_item->parent);
+ menu = GTK_MENU (menu_shell);
+@@ -2795,6 +3067,11 @@
+ */
+ if (gtk_menu_navigating_submenu (menu, event->x_root, event->y_root))
+ return TRUE;
++/* HILDON MOD.
++ * Close the submenus that are two levels down from the currently selected.
++ * This ensures that the focus is correct all the time.*/
++ if (GTK_MENU_ITEM(menu_item)->submenu != NULL)
++ gtk_menu_shell_deselect (GTK_MENU_SHELL(&(GTK_MENU(GTK_MENU_ITEM(menu_item)->submenu)->menu_shell)));
+
+ /* Make sure we pop down if we enter a non-selectable menu item, so we
+ * don't show a submenu when the cursor is outside the stay-up triangle.
+@@ -2828,6 +3105,7 @@
+ send_event->crossing.y_root = event->y_root;
+ send_event->crossing.x = event->x;
+ send_event->crossing.y = event->y;
++ send_event->crossing.state = event->state;
+
+ /* We send the event to 'widget', the currently active menu,
+ * instead of 'menu', the menu that the pointer is in. This
+@@ -2852,17 +3130,24 @@
+ GtkWidget *widget;
+ gint offset;
+ gint view_width, view_height;
++ gboolean double_arrows;
+
+ widget = GTK_WIDGET (menu);
+ offset = menu->scroll_offset + step;
+
++ /* get double_arrows style property */
++ gtk_widget_style_get (widget,
++ "double_arrows", &double_arrows,
++ NULL);
++
+ /* If we scroll upward and the non-visible top part
+ * is smaller than the scroll arrow it would be
+ * pretty stupid to show the arrow and taking more
+ * screen space than just scrolling to the top.
+ */
+- if ((step < 0) && (offset < MENU_SCROLL_ARROW_HEIGHT))
+- offset = 0;
++ if (!double_arrows)
++ if ((step < 0) && (offset < MENU_SCROLL_ARROW_HEIGHT))
++ offset = 0;
+
+ /* Don't scroll over the top if we weren't before: */
+ if ((menu->scroll_offset >= 0) && (offset < 0))
+@@ -2874,6 +3159,12 @@
+ if (menu->scroll_offset > 0)
+ view_height -= MENU_SCROLL_ARROW_HEIGHT;
+
++ /* When both arrows are always shown, reduce
++ * view height even more.
++ */
++ if (double_arrows)
++ view_height -= MENU_SCROLL_ARROW_HEIGHT;
++
+ if ((menu->scroll_offset + view_height <= widget->requisition.height) &&
+ (offset + view_height > widget->requisition.height))
+ offset = widget->requisition.height - view_height;
+@@ -2922,18 +3213,21 @@
+ gtk_menu_handle_scrolling (GtkMenu *menu,
+ gint x,
+ gint y,
+- gboolean enter)
++ gboolean enter,
++ gboolean motion)
+ {
+ GtkMenuShell *menu_shell;
++ GtkMenuPrivate *priv;
+ gint width, height;
+ gint border;
+ GdkRectangle rect;
+- gboolean in_arrow;
+ gboolean scroll_fast = FALSE;
+ guint vertical_padding;
+ gint top_x, top_y;
+ gint win_x, win_y;
+
++ priv = gtk_menu_get_private (menu);
++
+ menu_shell = GTK_MENU_SHELL (menu);
+
+ gdk_drawable_get_size (GTK_WIDGET (menu)->window, &width, &height);
+@@ -2946,10 +3240,11 @@
+ GTK_WIDGET (menu)->style->ythickness + vertical_padding;
+
+ gdk_window_get_position (menu->toplevel->window, &top_x, &top_y);
++ x -= top_x;
++ y -= top_y;
++
+ gdk_window_get_position (GTK_WIDGET (menu)->window, &win_x, &win_y);
+- win_x += top_x;
+- win_y += top_y;
+-
++
+ if (menu->upper_arrow_visible && !menu->tearoff_active)
+ {
+ rect.x = win_x;
+@@ -2957,35 +3252,49 @@
+ rect.width = width;
+ rect.height = MENU_SCROLL_ARROW_HEIGHT + border;
+
+- in_arrow = FALSE;
++ menu->upper_arrow_prelight = FALSE;
+ if ((x >= rect.x) && (x < rect.x + rect.width) &&
+ (y >= rect.y) && (y < rect.y + rect.height))
+- {
+- in_arrow = TRUE;
+- scroll_fast = (y < rect.y + MENU_SCROLL_FAST_ZONE);
+- }
+-
+- if (enter && in_arrow &&
+- (!menu->upper_arrow_prelight || menu->scroll_fast != scroll_fast))
+- {
+- menu->upper_arrow_prelight = TRUE;
+- menu->scroll_fast = scroll_fast;
+- gdk_window_invalidate_rect (GTK_WIDGET (menu)->window, &rect, FALSE);
+-
+- /* Deselect the active item so that any submenus are poped down */
+- gtk_menu_shell_deselect (menu_shell);
++ menu->upper_arrow_prelight = TRUE;
+
+- gtk_menu_remove_scroll_timeout (menu);
+- menu->scroll_step = (scroll_fast) ? -MENU_SCROLL_STEP2 : -MENU_SCROLL_STEP1;
+- menu->timeout_id = g_timeout_add ((scroll_fast) ? MENU_SCROLL_TIMEOUT2 : MENU_SCROLL_TIMEOUT1,
+- gtk_menu_scroll_timeout,
+- menu);
+- }
+- else if (!enter && !in_arrow && menu->upper_arrow_prelight)
++ if (priv->upper_arrow_state != GTK_STATE_INSENSITIVE)
+ {
+- gdk_window_invalidate_rect (GTK_WIDGET (menu)->window, &rect, FALSE);
+-
+- gtk_menu_stop_scrolling (menu);
++ if (enter && menu->upper_arrow_prelight &&
++ (menu->timeout_id == 0 || menu->scroll_fast != scroll_fast))
++ {
++ menu->scroll_fast = scroll_fast;
++
++ /* Deselect the active item so that any submenus are poped down */
++ gtk_menu_shell_deselect (menu_shell);
++
++ gtk_menu_remove_scroll_timeout (menu);
++ menu->scroll_step = (scroll_fast) ? -MENU_SCROLL_STEP2 : -MENU_SCROLL_STEP1;
++
++ if (!motion)
++ {
++ /* Only do stuff on click. */
++ GtkSettings *settings;
++ guint timeout;
++
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-update-timeout", &timeout, NULL);
++
++ menu->timeout_id = g_timeout_add (timeout / 2, gtk_menu_scroll_timeout, menu);
++
++ priv->upper_arrow_state = GTK_STATE_ACTIVE;
++ }
++
++ gdk_window_invalidate_rect (GTK_WIDGET (menu)->window, &rect, FALSE);
++ }
++ else if (!enter)
++ {
++ gtk_menu_stop_scrolling (menu);
++
++ priv->upper_arrow_state = menu->upper_arrow_prelight ?
++ GTK_STATE_PRELIGHT : GTK_STATE_NORMAL;
++
++ gdk_window_invalidate_rect (GTK_WIDGET (menu)->window, &rect, FALSE);
++ }
+ }
+ }
+
+@@ -2996,36 +3305,50 @@
+ rect.width = width;
+ rect.height = MENU_SCROLL_ARROW_HEIGHT + border;
+
+- in_arrow = FALSE;
++ menu->lower_arrow_prelight = FALSE;
+ if ((x >= rect.x) && (x < rect.x + rect.width) &&
+ (y >= rect.y) && (y < rect.y + rect.height))
+- {
+- in_arrow = TRUE;
+- scroll_fast = (y > rect.y + rect.height - MENU_SCROLL_FAST_ZONE);
+- }
++ menu->lower_arrow_prelight = TRUE;
+
+- if (enter && in_arrow &&
+- (!menu->lower_arrow_prelight || menu->scroll_fast != scroll_fast))
++ if (priv->lower_arrow_state != GTK_STATE_INSENSITIVE)
+ {
+- menu->lower_arrow_prelight = TRUE;
+- menu->scroll_fast = scroll_fast;
+- gdk_window_invalidate_rect (GTK_WIDGET (menu)->window, &rect, FALSE);
++ if (enter && menu->lower_arrow_prelight &&
++ (menu->timeout_id == 0 || menu->scroll_fast != scroll_fast))
++ {
++ menu->scroll_fast = scroll_fast;
+
+- /* Deselect the active item so that any submenus are poped down */
+- gtk_menu_shell_deselect (menu_shell);
++ /* Deselect the active item so that any submenus are poped down */
++ gtk_menu_shell_deselect (menu_shell);
+
+- gtk_menu_remove_scroll_timeout (menu);
+- menu->scroll_step = (scroll_fast) ? MENU_SCROLL_STEP2 : MENU_SCROLL_STEP1;
+- menu->timeout_id = g_timeout_add ((scroll_fast) ? MENU_SCROLL_TIMEOUT2 : MENU_SCROLL_TIMEOUT1,
+- gtk_menu_scroll_timeout,
+- menu);
+- }
+- else if (!enter && !in_arrow && menu->lower_arrow_prelight)
+- {
+- gdk_window_invalidate_rect (GTK_WIDGET (menu)->window, &rect, FALSE);
+-
+- gtk_menu_stop_scrolling (menu);
+- }
++ gtk_menu_remove_scroll_timeout (menu);
++ menu->scroll_step = (scroll_fast) ? MENU_SCROLL_STEP2 : MENU_SCROLL_STEP1;
++
++ if (!motion)
++ {
++ /* Only do stuff on click. */
++ GtkSettings *settings;
++ guint timeout;
++
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-update-timeout", &timeout, NULL);
++
++ menu->timeout_id = g_timeout_add (timeout / 2, gtk_menu_scroll_timeout, menu);
++
++ priv->lower_arrow_state = GTK_STATE_ACTIVE;
++ }
++
++ gdk_window_invalidate_rect (GTK_WIDGET (menu)->window, &rect, FALSE);
++ }
++ else if (!enter)
++ {
++ gtk_menu_stop_scrolling (menu);
++
++ priv->lower_arrow_state = menu->lower_arrow_prelight ?
++ GTK_STATE_PRELIGHT : GTK_STATE_NORMAL;
++
++ gdk_window_invalidate_rect (GTK_WIDGET (menu)->window, &rect, FALSE);
++ }
++ }
+ }
+ }
+
+@@ -3041,7 +3364,7 @@
+ GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget);
+
+ if (!menu_shell->ignore_enter)
+- gtk_menu_handle_scrolling (GTK_MENU (widget), event->x_root, event->y_root, TRUE);
++ gtk_menu_handle_scrolling (GTK_MENU (widget), event->x_root, event->y_root, TRUE, TRUE);
+ }
+
+ if (menu_item && GTK_IS_MENU_ITEM (menu_item))
+@@ -3106,7 +3429,7 @@
+ if (gtk_menu_navigating_submenu (menu, event->x_root, event->y_root))
+ return TRUE;
+
+- gtk_menu_handle_scrolling (menu, event->x_root, event->y_root, FALSE);
++ gtk_menu_handle_scrolling (menu, event->x_root, event->y_root, FALSE, TRUE);
+
+ event_widget = gtk_get_event_widget ((GdkEvent*) event);
+
+@@ -3611,7 +3934,13 @@
+ requisition.width, requisition.height);
+ }
+
+- menu->scroll_offset = scroll_offset;
++ /* Hildon hack for menu in comboboxes:
++ * in case the menu in attached to a ComboBox, the scroll_offset is
++ * calculated in the positioning function so we dont't overwrite it
++ * with the value calculated above (in this function) */
++ if ( !GTK_IS_COMBO_BOX(gtk_menu_get_attach_widget(menu)) )
++ menu->scroll_offset = scroll_offset;
++
+ }
+
+ static void
+@@ -3628,9 +3957,6 @@
+ gtk_menu_stop_scrolling (GtkMenu *menu)
+ {
+ gtk_menu_remove_scroll_timeout (menu);
+-
+- menu->upper_arrow_prelight = FALSE;
+- menu->lower_arrow_prelight = FALSE;
+ }
+
+ static void
+@@ -3644,6 +3970,8 @@
+ gboolean last_visible;
+ gint menu_height;
+ guint vertical_padding;
++ guint horizontal_padding;
++ gboolean double_arrows;
+
+ widget = GTK_WIDGET (menu);
+
+@@ -3663,19 +3991,93 @@
+
+ gtk_widget_style_get (GTK_WIDGET (menu),
+ "vertical-padding", &vertical_padding,
++ "horizontal-padding", &horizontal_padding,
++ "double_arrows", &double_arrows,
+ NULL);
+
+ border_width = GTK_CONTAINER (menu)->border_width;
+- view_width -= (border_width + widget->style->xthickness) * 2;
++ view_width -= (border_width + widget->style->xthickness + horizontal_padding) * 2;
+ view_height -= (border_width + widget->style->ythickness + vertical_padding) * 2;
+ menu_height = widget->requisition.height -
+ (border_width + widget->style->ythickness + vertical_padding) * 2;
+
+- x = border_width + widget->style->xthickness;
++ x = border_width + widget->style->xthickness + horizontal_padding;
+ y = border_width + widget->style->ythickness + vertical_padding;
+
++ if (double_arrows && !menu->tearoff_active && (view_height < menu_height))
++ {
++ GtkMenuPrivate *priv;
++ GtkStateType upper_arrow_previous_state, lower_arrow_previous_state;
++
++ priv = gtk_menu_get_private (menu);
++
++ upper_arrow_previous_state = priv->upper_arrow_state;
++ lower_arrow_previous_state = priv->lower_arrow_state;
++
++ if (!menu->upper_arrow_visible || !menu->lower_arrow_visible)
++ gtk_widget_queue_draw (GTK_WIDGET (menu));
++
++ view_height -= 2*MENU_SCROLL_ARROW_HEIGHT;
++ y += MENU_SCROLL_ARROW_HEIGHT;
++
++ menu->upper_arrow_visible = menu->lower_arrow_visible = TRUE;
++ if (priv->upper_arrow_state == GTK_STATE_INSENSITIVE)
++ {
++ priv->upper_arrow_state = menu->upper_arrow_prelight ?
++ GTK_STATE_PRELIGHT : GTK_STATE_NORMAL;
++ }
++ if (priv->lower_arrow_state == GTK_STATE_INSENSITIVE)
++ {
++ priv->lower_arrow_state = menu->lower_arrow_prelight ?
++ GTK_STATE_PRELIGHT : GTK_STATE_NORMAL;
++ }
++
++ if (offset <= 0)
++ {
++ offset = 0;
++ priv->upper_arrow_state = GTK_STATE_INSENSITIVE;
++ }
++ if (offset >= menu_height - view_height)
++ {
++ offset = menu_height - view_height;
++ priv->lower_arrow_state = GTK_STATE_INSENSITIVE;
++ }
++
++ if ((priv->upper_arrow_state != upper_arrow_previous_state) ||
++ (priv->lower_arrow_state != lower_arrow_previous_state))
++ gtk_widget_queue_draw (GTK_WIDGET (menu));
++
++ if (upper_arrow_previous_state != GTK_STATE_INSENSITIVE &&
++ priv->upper_arrow_state == GTK_STATE_INSENSITIVE)
++ {
++ /* If we hid the upper arrow, possibly remove timeout */
++ if (menu->scroll_step < 0)
++ {
++ gtk_menu_stop_scrolling (menu);
++ gtk_widget_queue_draw (GTK_WIDGET (menu));
++ }
++ }
++
++ if (lower_arrow_previous_state != GTK_STATE_INSENSITIVE &&
++ priv->lower_arrow_state == GTK_STATE_INSENSITIVE)
++ {
++ /* If we hid the lower arrow, possibly remove timeout */
++ if (menu->scroll_step > 0)
++ {
++ gtk_menu_stop_scrolling (menu);
++ gtk_widget_queue_draw (GTK_WIDGET (menu));
++ }
++ }
++ }
++ else
+ if (!menu->tearoff_active)
+ {
++ if (offset <= 0)
++ offset = 0;
++
++ if (offset >= menu_height - view_height)
++ offset = menu_height - view_height;
++
+ last_visible = menu->upper_arrow_visible;
+ menu->upper_arrow_visible = offset > 0;
+
+@@ -3685,8 +4087,6 @@
+ if ( (last_visible != menu->upper_arrow_visible) &&
+ !menu->upper_arrow_visible)
+ {
+- menu->upper_arrow_prelight = FALSE;
+-
+ /* If we hid the upper arrow, possibly remove timeout */
+ if (menu->scroll_step < 0)
+ {
+@@ -3704,8 +4104,6 @@
+ if ( (last_visible != menu->lower_arrow_visible) &&
+ !menu->lower_arrow_visible)
+ {
+- menu->lower_arrow_prelight = FALSE;
+-
+ /* If we hid the lower arrow, possibly remove timeout */
+ if (menu->scroll_step > 0)
+ {
+@@ -3792,12 +4190,14 @@
+ &child_offset, &child_height, &last_child))
+ {
+ guint vertical_padding;
++ gboolean double_arrows;
+
+ y = menu->scroll_offset;
+ gdk_drawable_get_size (GTK_WIDGET (menu)->window, &width, &height);
+
+ gtk_widget_style_get (GTK_WIDGET (menu),
+ "vertical-padding", &vertical_padding,
++ "double_arrows", &double_arrows,
+ NULL);
+
+ height -= 2*GTK_CONTAINER (menu)->border_width + 2*GTK_WIDGET (menu)->style->ythickness + 2*vertical_padding;
+@@ -3820,11 +4220,11 @@
+ if (child_offset + child_height > y + height - arrow_height)
+ {
+ arrow_height = 0;
+- if (!last_child && !menu->tearoff_active)
++ if ((!last_child && !menu->tearoff_active) || (double_arrows))
+ arrow_height += MENU_SCROLL_ARROW_HEIGHT;
+
+ y = child_offset + child_height - height + arrow_height;
+- if ((y > 0) && !menu->tearoff_active)
++ if (((y > 0) && !menu->tearoff_active) || (double_arrows))
+ {
+ /* Need upper arrow */
+ arrow_height += MENU_SCROLL_ARROW_HEIGHT;
+@@ -4374,3 +4774,60 @@
+ return list;
+ }
+
++/* Little help function for making some sanity tests on this menu.
++ * Checks that given widget really is a menu and that it has no name
++ * assigned to it yet.
++ * Names used to do hildon theming:
++ * HILDON_MENU_NAME_SHARP for menu with sharp upper corners
++ * HILDON_MENU_NAME_ROUND for menu with round corners
++ */
++static gboolean
++gtk_menu_check_name (GtkWidget *widget)
++{
++ gboolean legal_name = FALSE;
++ gchar **tmp = NULL;
++ const gchar *name = NULL;
++ static gchar *menu_names[] = { "GtkMenu",
++ HILDON_MENU_NAME_SHARP,
++ HILDON_MENU_NAME_ROUND,
++ HILDON_MENU_NAME_ROUND_FIRST_LEVEL,
++ NULL };
++ if (GTK_IS_MENU (widget) &&
++ (name = gtk_widget_get_name (widget)))
++ {
++ if (!g_ascii_strcasecmp (name, HILDON_MENU_NAME_FORCE_SHARP) || !g_ascii_strcasecmp (name, HILDON_MENU_NAME_FORCE_ROUND))
++ return FALSE;
++ for (tmp = menu_names; *tmp; tmp++)
++ if (!g_ascii_strcasecmp (name, *tmp ))
++ {
++ legal_name = TRUE;
++ break;
++ }
++ }
++
++ return legal_name;
++}
++
++/* A function called when esc-key is pressed. */
++static void
++_gtk_menu_close_current (GtkMenu * menu)
++{
++ GtkMenuShell * shell = GTK_MENU_SHELL (menu);
++
++ /* Check is a submenu of current menu item is visible.
++ * If it is, close that first. */
++ if (shell->active_menu_item && (GTK_MENU_ITEM (shell->active_menu_item)->submenu) && GTK_WIDGET_VISIBLE (GTK_MENU_ITEM (shell->active_menu_item)->submenu))
++ gtk_menu_popdown (GTK_MENU (GTK_MENU_ITEM (shell->active_menu_item)->submenu));
++ else
++ gtk_menu_popdown (menu);
++
++}
++
++/* Hildon function to make context menus behave according to spec */
++void
++_gtk_menu_enable_context_menu_behavior (GtkMenu *menu)
++{
++ GtkMenuPrivate *priv = gtk_menu_get_private (menu);
++
++ priv->context_menu = TRUE;
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenu.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenu.h.diff
new file mode 100644
index 0000000000..fc29e7965e
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenu.h.diff
@@ -0,0 +1,12 @@
+--- gtk+-2.6.4/gtk/gtkmenu.h 2004-05-06 10:35:26.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkmenu.h 2005-04-06 16:19:36.943922032 +0300
+@@ -200,6 +200,9 @@
+ gint monitor_num);
+ GList* gtk_menu_get_for_attach_widget (GtkWidget *widget);
+
++/* Private functions */
++void _gtk_menu_enable_context_menu_behavior (GtkMenu *menu);
++
+ #ifndef GTK_DISABLE_DEPRECATED
+ #define gtk_menu_append(menu,child) gtk_menu_shell_append ((GtkMenuShell *)(menu),(child))
+ #define gtk_menu_prepend(menu,child) gtk_menu_shell_prepend ((GtkMenuShell *)(menu),(child))
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenuitem.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenuitem.c.diff
new file mode 100644
index 0000000000..7d8133e891
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenuitem.c.diff
@@ -0,0 +1,457 @@
+--- gtk+-2.6.4/gtk/gtkmenuitem.c 2004-12-28 09:39:31.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmenuitem.c 2005-04-06 16:19:36.973917472 +0300
+@@ -24,6 +24,10 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2002-2003. See CHANGES file for list
++ * of changes.
++ */
++
+ #define GTK_MENU_INTERNALS
+
+ #include <config.h>
+@@ -38,6 +42,9 @@
+ #include "gtkmenuitem.h"
+ #include "gtkseparatormenuitem.h"
+
++#define HILDON_HEIGHT_INCREMENT 1
++#define HILDON_ARROW_SPACE 6
++
+ #define MENU_ITEM_CLASS(w) GTK_MENU_ITEM_CLASS (GTK_OBJECT (w)->klass)
+
+ enum {
+@@ -95,6 +102,8 @@
+ guint signal_id);
+
+
++static void _gtk_menu_item_activate_submenus (GtkMenuItem *item);
++
+ static GtkItemClass *parent_class;
+ static guint menu_item_signals[LAST_SIGNAL] = { 0 };
+
+@@ -158,7 +167,9 @@
+ item_class->select = gtk_real_menu_item_select;
+ item_class->deselect = gtk_real_menu_item_deselect;
+
+- klass->activate = NULL;
++ /* Hildon addition : Added this to catch the
++ * activation of meuuitems with submenus. */
++ klass->activate = _gtk_menu_item_activate_submenus;
+ klass->activate_item = gtk_real_menu_item_activate_item;
+ klass->toggle_size_request = gtk_real_menu_item_toggle_size_request;
+ klass->toggle_size_allocate = gtk_real_menu_item_toggle_size_allocate;
+@@ -239,6 +250,16 @@
+ G_MAXINT,
+ 10,
+ G_PARAM_READABLE));
++
++ /* Hildon modification - allow themeing of separator height */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("separator_height",
++ "Separator height",
++ "Draw a separator graphics with height of x pixels.",
++ 0,
++ G_MAXINT,
++ 5,
++ G_PARAM_READABLE));
+ }
+
+ static void
+@@ -415,6 +436,13 @@
+ g_return_if_fail (GTK_IS_MENU_ITEM (menu_item));
+
+ gtk_item_select (GTK_ITEM (menu_item));
++ /* HILDON MOD. This is required as changed focus isn't drawn automatically
++ * and drawing it must be requested. */
++ if ((GTK_WIDGET(menu_item)->parent) && GTK_IS_MENU (GTK_WIDGET(menu_item)->parent))
++ {
++ GtkMenu *menu = GTK_MENU (GTK_WIDGET(menu_item)->parent);
++ if (menu->parent_menu_item) gtk_widget_queue_draw(GTK_WIDGET(menu->parent_menu_item));
++ }
+ }
+
+ void
+@@ -423,6 +451,13 @@
+ g_return_if_fail (GTK_IS_MENU_ITEM (menu_item));
+
+ gtk_item_deselect (GTK_ITEM (menu_item));
++ /* HILDON MOD. This is required as changed focus isn't drawn automatically
++ * and drawing it must be requested. */
++ if ((GTK_WIDGET(menu_item)->parent) && GTK_IS_MENU (GTK_WIDGET(menu_item)->parent))
++ {
++ GtkMenu *menu = GTK_MENU (GTK_WIDGET(menu_item)->parent);
++ if (menu->parent_menu_item) gtk_widget_queue_draw(GTK_WIDGET(menu->parent_menu_item));
++ }
+ }
+
+ void
+@@ -531,7 +566,7 @@
+ "arrow_spacing", &arrow_spacing,
+ NULL);
+
+- requisition->width += child_requisition.height;
++ requisition->width += child_requisition.height + HILDON_ARROW_SPACE;
+ requisition->width += arrow_spacing;
+
+ requisition->width = MAX (requisition->width, get_minimum_width (widget));
+@@ -543,6 +578,12 @@
+ requisition->height += 4;
+ }
+
++ /* We get correct focus size if we make the widget a bit bigger.
++ * (If the increment would be big, we should probably adjust the text
++ * position aswell.)
++ */
++ requisition->height += HILDON_HEIGHT_INCREMENT;
++
+ accel_width = 0;
+ gtk_container_foreach (GTK_CONTAINER (menu_item),
+ gtk_menu_item_accel_width_foreach,
+@@ -596,7 +637,8 @@
+ {
+ if (direction == GTK_TEXT_DIR_RTL)
+ child_allocation.x += child_requisition.height;
+- child_allocation.width -= child_requisition.height;
++ /* HILDON Modification. */
++ child_allocation.width -= child_requisition.height + HILDON_ARROW_SPACE;
+ }
+
+ if (child_allocation.width < 1)
+@@ -688,6 +730,7 @@
+ GtkShadowType shadow_type, selected_shadow_type;
+ gint width, height;
+ gint x, y;
++
+ gint border_width = GTK_CONTAINER (widget)->border_width;
+
+ if (GTK_WIDGET_DRAWABLE (widget))
+@@ -704,10 +747,56 @@
+ if ((state_type == GTK_STATE_PRELIGHT) &&
+ (GTK_BIN (menu_item)->child))
+ {
++ gint focus_x = x;
++ gint focus_width = width;
+ gtk_widget_style_get (widget,
+ "selected_shadow_type", &selected_shadow_type,
+ NULL);
+- gtk_paint_box (widget->style,
++
++ if (menu_item->submenu && menu_item->show_submenu_indicator)
++ {
++ GtkRequisition child_requisition;
++ gint arrow_size;
++ /* gint arrow_extent; */
++ gtk_widget_get_child_requisition (GTK_BIN (menu_item)->child,
++ &child_requisition);
++
++ arrow_size = child_requisition.height - 2 * widget->style->ythickness;
++ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) {
++ focus_width = x + width - arrow_size - 2 - HILDON_ARROW_SPACE;
++ }
++ else {
++ focus_x = x + arrow_size + 2 + HILDON_ARROW_SPACE;
++ }
++ }
++
++ /*
++ * Hildon modification:
++ * This draws different focus depending on if it's the toplevel
++ * focused menu item. All items that have submenus that in turn
++ * have an item selected will be drawn with SELECTED - state focus.
++ * If this isn't the case, PRELIGHT - state focus is used. */
++ if (menu_item->submenu)
++ {
++ GtkMenuItem *msi;
++ msi = GTK_MENU_ITEM(GTK_MENU_SHELL(&((GTK_MENU(menu_item->submenu))->menu_shell))->active_menu_item);
++ if ((msi == NULL) || (GTK_WIDGET (msi)->state == 0))
++ gtk_paint_box (widget->style,
++ widget->window,
++ GTK_STATE_PRELIGHT,
++ selected_shadow_type,
++ area, widget, "menuitem",
++ focus_x, y, focus_width, height);
++ else
++ gtk_paint_box (widget->style,
++ widget->window,
++ GTK_STATE_SELECTED,
++ selected_shadow_type,
++ area, widget, "menuitem",
++ focus_x, y, focus_width, height);
++ }
++ else
++ gtk_paint_box (widget->style,
+ widget->window,
+ GTK_STATE_PRELIGHT,
+ selected_shadow_type,
+@@ -747,8 +836,12 @@
+ arrow_extent = arrow_size * 0.8;
+
+ shadow_type = GTK_SHADOW_OUT;
+- if (state_type == GTK_STATE_PRELIGHT)
+- shadow_type = GTK_SHADOW_IN;
++ /*Hildon: only show the pressed arrow if the submenu is visible*/
++ if (state_type == GTK_STATE_PRELIGHT
++ && GTK_WIDGET_VISIBLE( menu_item->submenu))
++ {
++ shadow_type = GTK_SHADOW_IN;
++ }
+
+ if (direction == GTK_TEXT_DIR_LTR)
+ {
+@@ -763,6 +856,9 @@
+
+ arrow_y = y + (height - arrow_extent) / 2;
+
++/* HILDON modification to correct focus drawing with submenu arrow */
++ arrow_x = arrow_x - 4;
++
+ gtk_paint_arrow (widget->style, widget->window,
+ state_type, shadow_type,
+ area, widget, "menuitem",
+@@ -772,18 +868,20 @@
+ }
+ else if (!GTK_BIN (menu_item)->child)
+ {
+- guint horizontal_padding;
++ guint horizontal_padding, separator_height;
+
+ gtk_widget_style_get (widget,
+ "horizontal_padding", &horizontal_padding,
++ "separator_height", &separator_height,
+ NULL);
+
+- gtk_paint_hline (widget->style, widget->window, GTK_STATE_NORMAL,
+- area, widget, "menuitem",
+- widget->allocation.x + horizontal_padding + widget->style->xthickness,
+- widget->allocation.x + widget->allocation.width - horizontal_padding - widget->style->xthickness - 1,
+- widget->allocation.y + (widget->allocation.height -
+- widget->style->ythickness) / 2);
++ /* themable menuitem for menu separators */
++ gtk_paint_box (widget->style, widget->window, GTK_STATE_NORMAL, GTK_SHADOW_NONE,
++ area, widget, "separator",
++ widget->allocation.x + horizontal_padding + widget->style->xthickness,
++ widget->allocation.y + (widget->allocation.height - widget->style->ythickness) / 2,
++ widget->allocation.x + widget->allocation.width - horizontal_padding - widget->style->xthickness - 1,
++ separator_height);
+ }
+ }
+ }
+@@ -839,6 +937,7 @@
+ (!GTK_WIDGET_MAPPED (menu_item->submenu) ||
+ GTK_MENU (menu_item->submenu)->tearoff_active))
+ {
++ GdkEvent *event = gtk_get_current_event ();
+ gint popup_delay;
+
+ if (menu_item->timer)
+@@ -851,26 +950,40 @@
+ popup_delay = get_popup_delay (menu_item);
+
+ if (popup_delay > 0)
+- {
+- GdkEvent *event = gtk_get_current_event ();
+-
+- menu_item->timer = g_timeout_add (popup_delay,
+- gtk_menu_item_select_timeout,
+- menu_item);
+- if (event &&
+- event->type != GDK_BUTTON_PRESS &&
+- event->type != GDK_ENTER_NOTIFY)
+- menu_item->timer_from_keypress = TRUE;
+- else
+- menu_item->timer_from_keypress = FALSE;
+-
+- if (event)
+- gdk_event_free (event);
+- }
++ {
++ /* OK, Here comes the contender for the 2003 Ugly Award
++ * The popup delay is set small enough to be unnoticable, but high enough to not
++ * notice the flickering which occurs when we close all the deepest menu's Gtk+ helpfully
++ * expands but are not needed
++ * This does not fix the mouse navigation yet (bug 18) but should take care of 442
++ * NOTE: test the delay factor on different CPU speeds
++ */
++ popup_delay = 3;
++ /* Hildon: Disabling the automatic opening of submenus. */
++
++ if (event &&
++ event->type != GDK_BUTTON_PRESS &&
++ event->type != GDK_ENTER_NOTIFY &&
++ event->type != GDK_MOTION_NOTIFY) /*hildon: for some reason, the event is sometimes this and not enter!*/
++ menu_item->timer_from_keypress = TRUE;
++ else if (event)
++ {
++ /* mouse/pen events */
++ /* here is a problem -- when a menu item with sub menus gets a mouse event,
++ another event is generated for the submenu (and further its submenu etc.)
++ This leads to a behaviour which does not comply to the hildon spec. */
++ menu_item->timer_from_keypress = FALSE;
++ }
++ else /* does this really happen? */
++ menu_item->timer_from_keypress = FALSE;
++ }
+ else
+- _gtk_menu_item_popup_submenu (GTK_WIDGET (menu_item));
++ _gtk_menu_item_popup_submenu (menu_item);
++
++ if (event)
++ gdk_event_free (event);
+ }
+-
++
+ gtk_widget_set_state (GTK_WIDGET (menu_item), GTK_STATE_PRELIGHT);
+ gtk_widget_queue_draw (GTK_WIDGET (menu_item));
+ }
+@@ -878,25 +991,16 @@
+ static void
+ gtk_real_menu_item_deselect (GtkItem *item)
+ {
+- GtkMenuItem *menu_item;
++ GtkWidget *menu_item;
+
+ g_return_if_fail (GTK_IS_MENU_ITEM (item));
+
+- menu_item = GTK_MENU_ITEM (item);
++ menu_item = GTK_WIDGET (item);
+
+- if (menu_item->submenu)
+- {
+- if (menu_item->timer)
+- {
+- g_source_remove (menu_item->timer);
+- menu_item->timer = 0;
+- }
+- else
+- gtk_menu_popdown (GTK_MENU (menu_item->submenu));
+- }
++ _gtk_menu_item_popdown_submenu (menu_item);
+
+- gtk_widget_set_state (GTK_WIDGET (menu_item), GTK_STATE_NORMAL);
+- gtk_widget_queue_draw (GTK_WIDGET (menu_item));
++ gtk_widget_set_state (menu_item, GTK_STATE_NORMAL);
++ gtk_widget_queue_draw (menu_item);
+ }
+
+ static gboolean
+@@ -941,10 +1045,7 @@
+ _gtk_menu_shell_activate (menu_shell);
+
+ gtk_menu_shell_select_item (GTK_MENU_SHELL (widget->parent), widget);
+- _gtk_menu_item_popup_submenu (widget);
+-
+- gtk_menu_shell_select_first (GTK_MENU_SHELL (menu_item->submenu), TRUE);
+- submenu = GTK_MENU_SHELL (menu_item->submenu);
++ /* Hildon mod: automatic submenu opening has been removed */
+ }
+ }
+ }
+@@ -983,7 +1084,7 @@
+ {
+ _gtk_menu_item_popup_submenu (GTK_WIDGET (menu_item));
+ if (menu_item->timer_from_keypress && menu_item->submenu)
+- GTK_MENU_SHELL (menu_item->submenu)->ignore_enter = TRUE;
++ GTK_MENU_SHELL (menu_item->submenu)->ignore_enter = TRUE;
+ }
+
+ GDK_THREADS_LEAVE ();
+@@ -1002,7 +1103,16 @@
+ g_source_remove (menu_item->timer);
+ menu_item->timer = 0;
+
++ /* HILDON MOD. This is required as changed submenu arrow isn't drawn automatically
++ * and drawing it must be requested. */
++ gtk_widget_queue_draw (widget);
++
+ if (GTK_WIDGET_IS_SENSITIVE (menu_item->submenu))
++ {
++ gboolean take_focus;
++ take_focus = gtk_menu_shell_get_take_focus (GTK_MENU_SHELL (widget->parent));
++ gtk_menu_shell_set_take_focus (GTK_MENU_SHELL (menu_item->submenu),take_focus);
++
+ gtk_menu_popup (GTK_MENU (menu_item->submenu),
+ widget->parent,
+ widget,
+@@ -1010,6 +1120,28 @@
+ menu_item,
+ GTK_MENU_SHELL (widget->parent)->button,
+ 0);
++ }
++}
++
++void
++_gtk_menu_item_popdown_submenu (GtkWidget *widget)
++{
++ GtkMenuItem *menu_item;
++
++ menu_item = GTK_MENU_ITEM (widget);
++
++ if (menu_item->submenu)
++ {
++ if (menu_item->timer)
++ {
++ g_source_remove (menu_item->timer);
++ menu_item->timer = 0;
++ }
++ else
++ gtk_menu_popdown (GTK_MENU (menu_item->submenu));
++ }
++
++ gtk_widget_queue_draw (widget);
+ }
+
+ static void
+@@ -1092,14 +1224,17 @@
+ tx += widget->allocation.width - twidth;
+ }
+
++/* HILDON modifications
++ * Here we make the submenu of an menubar appear under the menubar.
++ * The only exception is when the resulting menu would be under 100 pixels
++ * high. In that case, the menu is made 100 pixels high.
++ */
+ if ((ty + widget->allocation.height + theight) <= monitor.y + monitor.height)
+ ty += widget->allocation.height;
+- else if ((ty - theight) >= monitor.y)
+- ty -= theight;
+- else if (monitor.y + monitor.height - (ty + widget->allocation.height) > ty)
++ else if ((ty + widget->allocation.height) < monitor.y + monitor.height - 120)
+ ty += widget->allocation.height;
+ else
+- ty -= theight;
++ ty = monitor.y + monitor.height - 120;
+ break;
+
+ case GTK_LEFT_RIGHT:
+@@ -1404,3 +1539,30 @@
+
+ return TRUE;
+ }
++
++/* Hildon modification :
++ * This function exists only for opening submenus on
++ * activation. */
++static void
++_gtk_menu_item_activate_submenus (GtkMenuItem *item)
++{
++ GdkEvent *event;
++
++ g_return_if_fail (GTK_IS_MENU_ITEM (item));
++
++ if (!GTK_IS_MENU (item->submenu) ||
++ GTK_WIDGET_VISIBLE (item->submenu))
++ return;
++
++ event = gtk_get_current_event ();
++ _gtk_menu_item_popup_submenu (item);
++
++ /* We don't want to select first item if the submenu
++ * is opened with mouse release because the selection
++ * would move straigh back under the cursor. */
++ if ((event == NULL) || (event->type != GDK_BUTTON_RELEASE))
++ gtk_menu_shell_select_first (GTK_MENU_SHELL (item->submenu), TRUE);
++
++ if (event)
++ gdk_event_free (event);
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenuitem.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenuitem.h.diff
new file mode 100644
index 0000000000..cece91e70c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenuitem.h.diff
@@ -0,0 +1,10 @@
+--- gtk+-2.6.4/gtk/gtkmenuitem.h 2004-12-15 18:27:30.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmenuitem.h 2005-04-06 16:19:36.983915952 +0300
+@@ -122,6 +122,7 @@
+ gboolean group_changed);
+ gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item);
+ void _gtk_menu_item_popup_submenu (GtkWidget *menu_item);
++void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item);
+
+ #ifndef GTK_DISABLE_DEPRECATED
+ #define gtk_menu_item_right_justify(menu_item) gtk_menu_item_set_right_justified ((menu_item), TRUE)
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenushell.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenushell.c.diff
new file mode 100644
index 0000000000..3534b7716d
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenushell.c.diff
@@ -0,0 +1,490 @@
+--- gtk+-2.6.4/gtk/gtkmenushell.c 2005-02-09 18:46:54.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmenushell.c 2005-04-06 16:19:36.999913520 +0300
+@@ -39,6 +39,8 @@
+ #include "gtkmnemonichash.h"
+ #include "gtktearoffmenuitem.h"
+ #include "gtkwindow.h"
++#include "gtkprivate.h"
++#include "gtkintl.h"
+
+ #define MENU_SHELL_TIMEOUT 500
+
+@@ -52,6 +54,11 @@
+ LAST_SIGNAL
+ };
+
++enum {
++ PROP_0,
++ PROP_TAKE_FOCUS
++};
++
+ typedef void (*GtkMenuShellSignal1) (GtkObject *object,
+ GtkMenuDirectionType arg1,
+ gpointer data);
+@@ -122,10 +129,20 @@
+ {
+ GtkMnemonicHash *mnemonic_hash;
+ GtkKeyHash *key_hash;
++ gboolean activated_submenu;
++ gboolean take_focus;
+ };
+
+ static void gtk_menu_shell_class_init (GtkMenuShellClass *klass);
+ static void gtk_menu_shell_init (GtkMenuShell *menu_shell);
++static void gtk_menu_shell_set_property (GObject *object,
++ guint prop_id,
++ const GValue *value,
++ GParamSpec *pspec);
++static void gtk_menu_shell_get_property (GObject *object,
++ guint prop_id,
++ GValue *value,
++ GParamSpec *pspec);
+ static void gtk_menu_shell_realize (GtkWidget *widget);
+ static void gtk_menu_shell_finalize (GObject *object);
+ static gint gtk_menu_shell_button_press (GtkWidget *widget,
+@@ -176,7 +193,6 @@
+ static GtkContainerClass *parent_class = NULL;
+ static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
+
+-
+ GType
+ gtk_menu_shell_get_type (void)
+ {
+@@ -220,6 +236,8 @@
+ container_class = (GtkContainerClass*) klass;
+
+ parent_class = g_type_class_peek_parent (klass);
++ object_class->set_property = gtk_menu_shell_set_property;
++ object_class->get_property = gtk_menu_shell_get_property;
+
+ object_class->finalize = gtk_menu_shell_finalize;
+
+@@ -299,9 +317,15 @@
+
+
+ binding_set = gtk_binding_set_by_class (klass);
++/* Hildon : The following binding is commented out
++ * because we want the Escape key to only exit the
++ * currently opened submenu. Therefore, the handling
++ * of esc-key will be moved to gtkmenuitem.c */
++/*
+ gtk_binding_entry_add_signal (binding_set,
+ GDK_Escape, 0,
+ "cancel", 0);
++*/
+ gtk_binding_entry_add_signal (binding_set,
+ GDK_Return, 0,
+ "activate_current", 1,
+@@ -330,7 +354,23 @@
+ GDK_F10, GDK_SHIFT_MASK,
+ "cycle_focus", 1,
+ GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD);
+-
++ /**
++ * GtkMenuShell:take-focus:
++ *
++ * A boolean that determines whether the menu and its submenus grab the
++ * keyboard focus. See gtk_menu_shell_set_take_focus() and
++ * gtk_menu_shell_get_take_focus().
++ *
++ * Since: 2.8
++ **/
++ g_object_class_install_property (object_class,
++ PROP_TAKE_FOCUS,
++ g_param_spec_boolean ("take-focus",
++ P_("Take Focus"),
++ P_("A boolean that determines whether the menu grabs the keyboard focus"),
++ TRUE,
++ G_PARAM_READWRITE));
++
+ g_type_class_add_private (object_class, sizeof (GtkMenuShellPrivate));
+ }
+
+@@ -356,6 +396,46 @@
+
+ priv->mnemonic_hash = NULL;
+ priv->key_hash = NULL;
++ priv->take_focus = TRUE;
++ priv->activated_submenu = FALSE;
++}
++
++static void
++gtk_menu_shell_set_property (GObject *object,
++ guint prop_id,
++ const GValue *value,
++ GParamSpec *pspec)
++{
++ GtkMenuShell *menu_shell = GTK_MENU_SHELL (object);
++
++ switch (prop_id)
++ {
++ case PROP_TAKE_FOCUS:
++ gtk_menu_shell_set_take_focus (menu_shell, g_value_get_boolean (value));
++ break;
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
++ break;
++ }
++}
++
++static void
++gtk_menu_shell_get_property (GObject *object,
++ guint prop_id,
++ GValue *value,
++ GParamSpec *pspec)
++{
++ GtkMenuShell *menu_shell = GTK_MENU_SHELL (object);
++
++ switch (prop_id)
++ {
++ case PROP_TAKE_FOCUS:
++ g_value_set_boolean (value, gtk_menu_shell_get_take_focus (menu_shell));
++ break;
++ default:
++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
++ break;
++ }
+ }
+
+ static void
+@@ -470,6 +550,7 @@
+ gtk_menu_shell_button_press (GtkWidget *widget,
+ GdkEventButton *event)
+ {
++ GtkMenuShellPrivate *priv;
+ GtkMenuShell *menu_shell;
+ GtkWidget *menu_item;
+
+@@ -479,7 +560,22 @@
+ if (event->type != GDK_BUTTON_PRESS)
+ return FALSE;
+
++ priv = GTK_MENU_SHELL_GET_PRIVATE (widget);
++
+ menu_shell = GTK_MENU_SHELL (widget);
++ menu_item = gtk_menu_shell_get_item (menu_shell, (GdkEvent*) event);
++
++ if (menu_shell->active && menu_item &&
++ (menu_shell->active_menu_item == menu_item) &&
++ _gtk_menu_item_is_selectable (menu_item) &&
++ GTK_MENU_ITEM (menu_item)->submenu != NULL &&
++ !GTK_WIDGET_VISIBLE (GTK_MENU_ITEM (menu_item)->submenu))
++ {
++ /* Hildon : We want to be able to activate submenu items. */
++ gtk_menu_shell_activate_item (menu_shell, menu_item, FALSE);
++
++ priv->activated_submenu = TRUE;
++ }
+
+ if (menu_shell->parent_menu_shell)
+ {
+@@ -491,30 +587,29 @@
+
+ menu_shell->button = event->button;
+
+- menu_item = gtk_menu_shell_get_item (menu_shell, (GdkEvent *)event);
+-
+ if (menu_item && _gtk_menu_item_is_selectable (menu_item))
+- {
+- if ((menu_item->parent == widget) &&
+- (menu_item != menu_shell->active_menu_item))
+- {
+- if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)
+- {
+- menu_shell->activate_time = event->time;
+- }
++ {
++
++ if ((menu_item->parent == widget) &&
++ (menu_item != menu_shell->active_menu_item))
++ {
++ if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)
++ {
++ menu_shell->activate_time = event->time;
++ }
+
+- gtk_menu_shell_select_item (menu_shell, menu_item);
+- }
+- }
++ gtk_menu_shell_select_item (menu_shell, menu_item);
++ }
++ }
+ }
+ else
+ {
+ widget = gtk_get_event_widget ((GdkEvent*) event);
+ if (widget == GTK_WIDGET (menu_shell))
+- {
+- gtk_menu_shell_deactivate (menu_shell);
+- g_signal_emit (menu_shell, menu_shell_signals[SELECTION_DONE], 0);
+- }
++ {
++ gtk_menu_shell_deactivate (menu_shell);
++ g_signal_emit (menu_shell, menu_shell_signals[SELECTION_DONE], 0);
++ }
+ }
+
+ return TRUE;
+@@ -524,13 +619,20 @@
+ gtk_menu_shell_button_release (GtkWidget *widget,
+ GdkEventButton *event)
+ {
++ GtkMenuShellPrivate *priv;
+ GtkMenuShell *menu_shell;
+ GtkWidget *menu_item;
+ gint deactivate;
++ gboolean activated_submenu;
+
+ g_return_val_if_fail (GTK_IS_MENU_SHELL (widget), FALSE);
+ g_return_val_if_fail (event != NULL, FALSE);
+
++ priv = GTK_MENU_SHELL_GET_PRIVATE (widget);
++
++ activated_submenu = priv->activated_submenu;
++ priv->activated_submenu = FALSE;
++
+ menu_shell = GTK_MENU_SHELL (widget);
+ if (menu_shell->active)
+ {
+@@ -556,11 +658,11 @@
+ gtk_menu_shell_activate_item (menu_shell, menu_item, TRUE);
+ return TRUE;
+ }
+- else if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM)
+- {
+- gtk_menu_item_select (GTK_MENU_ITEM (menu_item));
+- return TRUE;
+- }
++ else if (!activated_submenu)
++ {
++ /* popdown the submenu if we didn't pop it up in this click */
++ _gtk_menu_item_popdown_submenu (menu_item);
++ }
+ }
+ else if (menu_item &&
+ !_gtk_menu_item_is_selectable (menu_item) &&
+@@ -630,12 +732,14 @@
+ gtk_menu_shell_enter_notify (GtkWidget *widget,
+ GdkEventCrossing *event)
+ {
++ GtkMenuShellPrivate *priv;
+ GtkMenuShell *menu_shell;
+ GtkWidget *menu_item;
+
+ g_return_val_if_fail (GTK_IS_MENU_SHELL (widget), FALSE);
+ g_return_val_if_fail (event != NULL, FALSE);
+
++ priv = GTK_MENU_SHELL_GET_PRIVATE (widget);
+ menu_shell = GTK_MENU_SHELL (widget);
+
+ if (menu_shell->active)
+@@ -658,6 +762,17 @@
+ (GTK_WIDGET_STATE (menu_item) != GTK_STATE_PRELIGHT))
+ {
+ gtk_menu_shell_select_item (menu_shell, menu_item);
++
++ /* If the pen is down, and there is a submenu that is not
++ * yet visible, activate it */
++ if ((event->state & GDK_BUTTON1_MASK) &&
++ GTK_MENU_ITEM (menu_item)->submenu != NULL &&
++ !GTK_WIDGET_VISIBLE (GTK_MENU_ITEM (menu_item)->submenu))
++ {
++ gtk_menu_shell_activate_item (menu_shell, menu_item, FALSE);
++
++ priv->activated_submenu = TRUE;
++ }
+ }
+ }
+ else if (menu_shell->parent_menu_shell)
+@@ -887,8 +1002,14 @@
+ /* This allows the bizarre radio buttons-with-submenus-display-history
+ * behavior
+ */
++ /* Hildon modification. We probably won't have those
++ * bizarre radio buttons-with-submenus so we don't
++ * need this. Also, this functionality interferes with
++ * other functionality. */
++/*
+ if (GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu)
+ gtk_widget_activate (menu_shell->active_menu_item);
++*/
+ }
+
+ void
+@@ -919,7 +1040,9 @@
+
+ g_object_ref (menu_shell);
+
+- if (deactivate)
++ /* We don't want to deactivate if we're activating
++ * a submenu item. */
++ if ((deactivate) && (GTK_MENU_ITEM (menu_item)->submenu == NULL))
+ {
+ GtkMenuShell *parent_menu_shell = menu_shell;
+
+@@ -965,29 +1088,30 @@
+
+ if (distance > 0)
+ {
++ /*Hildon: selection no longer wraps around at the
++ *bottom of the menu*/
++
+ node = node->next;
+- while (node != start_node &&
+- (!node || !_gtk_menu_item_is_selectable (node->data)))
++ while (node && node != start_node &&
++ !_gtk_menu_item_is_selectable (node->data))
+ {
+- if (!node)
+- node = menu_shell->children;
+- else
+ node = node->next;
+ }
+ }
+ else
+ {
++ /*Hildon: selection no longer wraps around at the top
++ *of the menu*/
++
+ node = node->prev;
+- while (node != start_node &&
+- (!node || !_gtk_menu_item_is_selectable (node->data)))
++ while (node && node != start_node &&
++ !_gtk_menu_item_is_selectable (node->data))
+ {
+- if (!node)
+- node = g_list_last (menu_shell->children);
+- else
+ node = node->prev;
+ }
+ }
+
++ /*note: gtk_menu_shell_select_item won't select non-selectable items*/
+ if (node)
+ gtk_menu_shell_select_item (menu_shell, node->data);
+ }
+@@ -1119,6 +1243,16 @@
+ switch (direction)
+ {
+ case GTK_MENU_DIR_PARENT:
++
++ if(!parent_menu_shell || GTK_IS_MENU_BAR(parent_menu_shell))
++ break;
++
++ /* hildon-modification - menu should be closed when returning from submenu.
++ * WARNING: This function is from GtkMenu, which normally
++ * shouldn't be called from GtkMenuShell, but currently
++ * there are no better alternatives. */
++ gtk_menu_popdown (GTK_MENU (menu_shell));
++
+ if (parent_menu_shell)
+ {
+ if (GTK_MENU_SHELL_GET_CLASS (parent_menu_shell)->submenu_placement ==
+@@ -1151,10 +1285,14 @@
+ _gtk_menu_item_is_selectable (menu_shell->active_menu_item) &&
+ GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu)
+ {
++ /* Hildon-modification -- submenu is not opened automatically but needs to be explicitly opened*/
++ g_signal_emit (G_OBJECT (menu_shell), menu_shell_signals[ACTIVATE_CURRENT], 0, (gint) FALSE);
++
+ if (gtk_menu_shell_select_submenu_first (menu_shell))
+ break;
+ }
+
++#if 0
+ /* Try to find a menu running the opposite direction */
+ while (parent_menu_shell &&
+ (GTK_MENU_SHELL_GET_CLASS (parent_menu_shell)->submenu_placement ==
+@@ -1173,6 +1311,7 @@
+ gtk_menu_shell_move_selected (parent_menu_shell, 1);
+ gtk_menu_shell_select_submenu_first (parent_menu_shell);
+ }
++#endif
+ break;
+
+ case GTK_MENU_DIR_PREV:
+@@ -1197,8 +1336,8 @@
+ gtk_real_menu_shell_activate_current (GtkMenuShell *menu_shell,
+ gboolean force_hide)
+ {
+- if (menu_shell->active_menu_item &&
+- _gtk_menu_item_is_selectable (menu_shell->active_menu_item))
++ if (menu_shell->active_menu_item)/* &&
++ _gtk_menu_item_is_selectable (menu_shell->active_menu_item)) */
+ {
+
+ if (GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu == NULL)
+@@ -1390,4 +1529,73 @@
+ keyval, target);
+ gtk_menu_shell_reset_key_hash (menu_shell);
+ }
++/**
++ * gtk_menu_shell_get_take_focus:
++ * @menu: a #GtkMenuShell
++ *
++ * @returns: %TRUE if the menu_shell will take the keyboard focus on popup.
++ *
++ * Since: 2.8
++ **/
++gboolean
++gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell)
++{
++ GtkMenuShellPrivate *priv;
++
++ g_return_val_if_fail (GTK_IS_MENU_SHELL (menu_shell), FALSE);
++
++ priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell);
++
++ return priv->take_focus;
++}
++
++/**
++ * gtk_menu_shell_set_take_focus:
++ * @menu: a #GtkMenuShell
++ * @take_focus: %TRUE if the menu_shell should take the keyboard focus on popup.
++ *
++ * If @take_focus is %TRUE (the default) the menu will take the keyboard focus
++ * so that it will receive all keyboard events which is needed to enable
++ * keyboard navigation in menus.
++ *
++ * Setting @take_focus to %FALSE is useful only for special applications
++ * like virtual keyboard implementations which should not take keyboard
++ * focus.
++ *
++ * The @take_focus state of a menu or menu bar is automatically propagated
++ * to submenus whenever a submenu is popped up, so you don't have to worry
++ * about recursively setting it for your entire menu hierarchy. Only when
++ * programmatically picking a submenu and popping it up manually, the
++ * @take_focus property of the submenu needs to be set explicitely.
++ *
++ * Note that setting it to %FALSE has side-effects:
++ *
++ * If the focus is in some other app, it keeps the focus and keynav in
++ * the menu doesn't work. Consequently, keynav on the menu will only
++ * work if the focus is on some toplevel owned by the onscreen keyboard.
++ *
++ * To avoid confusing the user, menus with @take_focus set to %FALSE
++ * should not display mnemonics or accelerators, since it cannot be
++ * guaranteed that they will work.
++ *
++ * See also gdk_keyboard_grab()
++ *
++ * Since: 2.8
++ **/
++void
++gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell,
++ gboolean take_focus)
++{
++ GtkMenuShellPrivate *priv;
++
++ g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell));
++
++ priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell);
++
++ if (priv->take_focus != take_focus)
++ {
++ priv->take_focus = take_focus;
++ g_object_notify (G_OBJECT (menu_shell), "take-focus");
++ }
++}
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenushell.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenushell.h.diff
new file mode 100644
index 0000000000..4bd7fc547c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkmenushell.h.diff
@@ -0,0 +1,12 @@
+--- gtk+-2.6.4/gtk/gtkmenushell.h 2004-12-11 00:09:22.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkmenushell.h 2005-04-06 16:19:36.999913520 +0300
+@@ -124,6 +124,9 @@
+ void _gtk_menu_shell_remove_mnemonic (GtkMenuShell *menu_shell,
+ guint keyval,
+ GtkWidget *target);
++gboolean gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell);
++void gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell,
++ gboolean take_focus);
+
+ #ifdef __cplusplus
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtknotebook.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtknotebook.c.diff
new file mode 100644
index 0000000000..4f75106938
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtknotebook.c.diff
@@ -0,0 +1,831 @@
+--- gtk+-2.6.4/gtk/gtknotebook.c 2004-09-27 06:43:55.000000000 +0300
++++ gtk+-2.6.4/gtk/gtknotebook.c 2005-04-06 16:19:37.033908352 +0300
+@@ -40,10 +40,10 @@
+
+ #define TAB_OVERLAP 2
+ #define TAB_CURVATURE 1
+-#define ARROW_SIZE 12
++#define ARROW_WIDTH 20
++#define ARROW_HEIGHT 27
+ #define ARROW_SPACING 0
+-#define NOTEBOOK_INIT_SCROLL_DELAY (200)
+-#define NOTEBOOK_SCROLL_DELAY (100)
++#define LABEL_PADDING 0
+
+
+ enum {
+@@ -57,7 +57,9 @@
+
+ enum {
+ STEP_PREV,
+- STEP_NEXT
++ STEP_NEXT,
++ STEP_PREV_CYCLE,
++ STEP_NEXT_CYCLE
+ };
+
+ typedef enum
+@@ -216,7 +218,7 @@
+ GList *list,
+ gboolean destroying);
+ static void gtk_notebook_update_labels (GtkNotebook *notebook);
+-static gint gtk_notebook_timer (GtkNotebook *notebook);
++static gint gtk_notebook_timer (GtkNotebook *notebook );
+ static gint gtk_notebook_page_compare (gconstpointer a,
+ gconstpointer b);
+ static GList* gtk_notebook_find_child (GtkNotebook *notebook,
+@@ -458,7 +460,7 @@
+ g_param_spec_boolean ("scrollable",
+ P_("Scrollable"),
+ P_("If TRUE, scroll arrows are added if there are too many tabs to fit"),
+- FALSE,
++ TRUE,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class,
+ PROP_ENABLE_POPUP,
+@@ -584,6 +586,75 @@
+
+ G_PARAM_READABLE));
+
++ /* Hildon: for adding paddings to the inner borders of the visible page */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("inner_left_border",
++ _("Inner left border of the visible page"),
++ _("Width of inner left border of the visible page"),
++ 0,
++ G_MAXINT,
++ 0,
++ G_PARAM_READABLE));
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("inner_right_border",
++ _("Inner right border of the visible page"),
++ _("Width of inner right border of the visible page"),
++ 0,
++ G_MAXINT,
++ 0,
++ G_PARAM_READABLE));
++
++ /* Hildon: previously hardcoded constants ARROW_WIDTH, ARROW_HEIGHT,
++ ARROW_SPACING, TAB_OVERLAP and TAB_CURVATURE are now style properties */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("arrow-width",
++ _("Arrow width"),
++ _("Scroll arrow width"),
++ 0,
++ G_MAXINT,
++ ARROW_WIDTH,
++ G_PARAM_READABLE));
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("arrow-height",
++ _("Arrow height"),
++ _("Scroll arrow height"),
++ 0,
++ G_MAXINT,
++ ARROW_HEIGHT,
++ G_PARAM_READABLE));
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("arrow-spacing",
++ _("Arrow spacing"),
++ _("Scroll arrow spacing"),
++ 0,
++ G_MAXINT,
++ ARROW_SPACING,
++ G_PARAM_READABLE));
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("tab-overlap",
++ _("Tab overlap"),
++ _("Tab overlap"),
++ 0,
++ G_MAXINT,
++ TAB_OVERLAP,
++ G_PARAM_READABLE));
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("tab-curvature",
++ _("Tab curvature"),
++ _("Tab curvature"),
++ 0,
++ G_MAXINT,
++ TAB_CURVATURE,
++ G_PARAM_READABLE));
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("label-padding",
++ _("Label padding"),
++ _("Label padding"),
++ 0,
++ G_MAXINT,
++ LABEL_PADDING,
++ G_PARAM_READABLE));
++
+ notebook_signals[SWITCH_PAGE] =
+ g_signal_new ("switch_page",
+ G_TYPE_FROM_CLASS (gobject_class),
+@@ -705,11 +776,10 @@
+ notebook->show_tabs = TRUE;
+ notebook->show_border = TRUE;
+ notebook->tab_pos = GTK_POS_TOP;
+- notebook->scrollable = FALSE;
++ notebook->scrollable = TRUE;
+ notebook->in_child = 0;
+ notebook->click_child = 0;
+ notebook->button = 0;
+- notebook->need_timer = 0;
+ notebook->child_has_focus = FALSE;
+ notebook->have_visible_child = FALSE;
+ notebook->focus_out = FALSE;
+@@ -1189,9 +1259,18 @@
+ GtkRequisition child_requisition;
+ gboolean switch_page = FALSE;
+ gint vis_pages;
+- gint focus_width;
++ gint focus_width, label_padding;
++ gint arrow_width, arrow_height, arrow_spacing, tab_overlap, tab_curvature;
+
+- gtk_widget_style_get (widget, "focus-line-width", &focus_width, NULL);
++ gtk_widget_style_get (widget,
++ "focus-line-width", &focus_width,
++ "arrow-width", &arrow_width,
++ "arrow-height", &arrow_height,
++ "arrow-spacing", &arrow_spacing,
++ "tab-overlap", &tab_overlap,
++ "tab-curvature", &tab_curvature,
++ "label-padding", &label_padding,
++ NULL);
+
+ widget->requisition.width = 0;
+ widget->requisition.height = 0;
+@@ -1229,6 +1308,22 @@
+ {
+ widget->requisition.width += widget->style->xthickness * 2;
+ widget->requisition.height += widget->style->ythickness * 2;
++
++ /* Hildon kludge: inner border paddings */
++ if (notebook->children && notebook->show_border)
++ {
++ gint inner_left_border, inner_right_border;
++
++ gtk_widget_style_get (widget,
++ "inner_left_border",
++ &inner_left_border,
++ "inner_right_border",
++ &inner_right_border,
++ NULL);
++
++ widget->requisition.width += inner_left_border + inner_right_border;
++ }
++
+
+ if (notebook->show_tabs)
+ {
+@@ -1249,6 +1344,7 @@
+
+ gtk_widget_size_request (page->tab_label,
+ &child_requisition);
++ child_requisition.width += 2 * label_padding;
+
+ page->requisition.width =
+ child_requisition.width +
+@@ -1292,10 +1388,10 @@
+
+ if (notebook->scrollable && vis_pages > 1 &&
+ widget->requisition.width < tab_width)
+- tab_height = MAX (tab_height, ARROW_SIZE);
++ tab_height = MAX (tab_height, arrow_height);
+
+- padding = 2 * (TAB_CURVATURE + focus_width +
+- notebook->tab_hborder) - TAB_OVERLAP;
++ padding = 2 * (tab_curvature + focus_width +
++ notebook->tab_hborder) - tab_overlap;
+ tab_max += padding;
+ while (children)
+ {
+@@ -1316,15 +1412,15 @@
+
+ if (notebook->scrollable && vis_pages > 1 &&
+ widget->requisition.width < tab_width)
+- tab_width = tab_max + 2 * (ARROW_SIZE + ARROW_SPACING);
++ tab_width = tab_max + 2 * (arrow_width + arrow_spacing);
+
+ if (notebook->homogeneous && !notebook->scrollable)
+ widget->requisition.width = MAX (widget->requisition.width,
+ vis_pages * tab_max +
+- TAB_OVERLAP);
++ tab_overlap);
+ else
+ widget->requisition.width = MAX (widget->requisition.width,
+- tab_width + TAB_OVERLAP);
++ tab_width + tab_overlap);
+
+ widget->requisition.height += tab_height;
+ break;
+@@ -1335,10 +1431,10 @@
+
+ if (notebook->scrollable && vis_pages > 1 &&
+ widget->requisition.height < tab_height)
+- tab_width = MAX (tab_width, ARROW_SPACING + 2 * ARROW_SIZE);
++ tab_width = MAX (tab_width, arrow_spacing + 2 * arrow_width);
+
+- padding = 2 * (TAB_CURVATURE + focus_width +
+- notebook->tab_vborder) - TAB_OVERLAP;
++ padding = 2 * (tab_curvature + focus_width +
++ notebook->tab_vborder) - tab_overlap;
+ tab_max += padding;
+
+ while (children)
+@@ -1361,24 +1457,24 @@
+
+ if (notebook->scrollable && vis_pages > 1 &&
+ widget->requisition.height < tab_height)
+- tab_height = tab_max + ARROW_SIZE + ARROW_SPACING;
++ tab_height = tab_max + arrow_height + arrow_spacing;
+
+ widget->requisition.width += tab_width;
+
+ if (notebook->homogeneous && !notebook->scrollable)
+ widget->requisition.height =
+ MAX (widget->requisition.height,
+- vis_pages * tab_max + TAB_OVERLAP);
++ vis_pages * tab_max + tab_overlap);
+ else
+ widget->requisition.height =
+ MAX (widget->requisition.height,
+- tab_height + TAB_OVERLAP);
++ tab_height + tab_overlap);
+
+ if (!notebook->homogeneous || notebook->scrollable)
+ vis_pages = 1;
+ widget->requisition.height = MAX (widget->requisition.height,
+ vis_pages * tab_max +
+- TAB_OVERLAP);
++ tab_overlap);
+ break;
+ }
+ }
+@@ -1499,7 +1595,26 @@
+ }
+ }
+
++ /* Hildon kludge: inner border paddings */
++ if (notebook->show_border)
++ {
++ gint inner_left_border, inner_right_border;
++
++ gtk_widget_style_get (widget,
++ "inner_left_border",
++ &inner_left_border,
++ "inner_right_border",
++ &inner_right_border,
++ NULL);
++
++ child_allocation.x += inner_left_border;
++ child_allocation.width -= inner_left_border + inner_right_border;
++ if (child_allocation.width < 0)
++ child_allocation.width = 0;
++ }
++
+ children = notebook->children;
++
+ while (children)
+ {
+ page = children->data;
+@@ -1580,11 +1695,18 @@
+ GdkRectangle event_window_pos;
+ gboolean before = ARROW_IS_BEFORE (arrow);
+ gboolean left = ARROW_IS_LEFT (arrow);
++ gint arrow_width, arrow_height, arrow_spacing;
++
++ gtk_widget_style_get (GTK_WIDGET(notebook),
++ "arrow-width", &arrow_width,
++ "arrow-height", &arrow_height,
++ "arrow-spacing", &arrow_spacing,
++ NULL);
+
+ if (gtk_notebook_get_event_window_position (notebook, &event_window_pos))
+ {
+- rectangle->width = ARROW_SIZE;
+- rectangle->height = ARROW_SIZE;
++ rectangle->width = arrow_width;
++ rectangle->height = arrow_height;
+
+ switch (notebook->tab_pos)
+ {
+@@ -1602,6 +1724,8 @@
+ rectangle->y += event_window_pos.height - rectangle->height;
+ break;
+ case GTK_POS_TOP:
++ arrow_spacing = - arrow_spacing;
++ /* Fall through */
+ case GTK_POS_BOTTOM:
+ if (before)
+ {
+@@ -1617,7 +1741,11 @@
+ else
+ rectangle->x = event_window_pos.x + event_window_pos.width - 2 * rectangle->width;
+ }
+- rectangle->y = event_window_pos.y + (event_window_pos.height - rectangle->height) / 2;
++ rectangle->y = event_window_pos.y;
++ if (arrow_spacing > 0)
++ rectangle->y += arrow_spacing;
++ else
++ rectangle->y += (event_window_pos.height - rectangle->height) / 2;
+ break;
+ }
+ }
+@@ -1696,6 +1824,10 @@
+ gboolean is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
+ gboolean left = (ARROW_IS_LEFT (arrow) && !is_rtl) ||
+ (!ARROW_IS_LEFT (arrow) && is_rtl);
++ GtkSettings *settings = gtk_settings_get_default ();
++ guint timeout;
++
++ g_object_get (settings, "gtk-initial-timeout", &timeout, NULL);
+
+ if (!GTK_WIDGET_HAS_FOCUS (widget))
+ gtk_widget_grab_focus (widget);
+@@ -1706,14 +1838,14 @@
+ if (event->button == 1)
+ {
+ gtk_notebook_do_arrow (notebook, arrow);
+-
++
+ if (!notebook->timer)
+- {
+- notebook->timer = g_timeout_add (NOTEBOOK_INIT_SCROLL_DELAY,
+- (GSourceFunc) gtk_notebook_timer,
+- (gpointer) notebook);
+- notebook->need_timer = TRUE;
+- }
++ {
++ notebook->timer = g_timeout_add (timeout,
++ (GSourceFunc) gtk_notebook_timer,
++ (gpointer) notebook);
++ notebook->need_timer = TRUE;
++ }
+ }
+ else if (event->button == 2)
+ gtk_notebook_page_select (notebook, TRUE);
+@@ -1862,7 +1994,7 @@
+ static void
+ stop_scrolling (GtkNotebook *notebook)
+ {
+- if (notebook->timer)
++ if (notebook->timer)
+ {
+ g_source_remove (notebook->timer);
+ notebook->timer = 0;
+@@ -2343,9 +2475,9 @@
+ */
+ return focus_child_in (notebook, GTK_DIR_TAB_FORWARD);
+ case GTK_DIR_LEFT:
+- return focus_tabs_move (notebook, direction, STEP_PREV);
++ return focus_tabs_move (notebook, direction, STEP_PREV_CYCLE);
+ case GTK_DIR_RIGHT:
+- return focus_tabs_move (notebook, direction, STEP_NEXT);
++ return focus_tabs_move (notebook, direction, STEP_NEXT_CYCLE);
+ }
+ }
+ else /* Focus was not on widget */
+@@ -2481,7 +2613,6 @@
+ * gtk_notebook_redraw_tabs
+ * gtk_notebook_real_remove
+ * gtk_notebook_update_labels
+- * gtk_notebook_timer
+ * gtk_notebook_page_compare
+ * gtk_notebook_real_page_position
+ * gtk_notebook_search_page
+@@ -2574,22 +2705,27 @@
+ gtk_notebook_timer (GtkNotebook *notebook)
+ {
+ gboolean retval = FALSE;
++ guint timeout;
++ GtkSettings *settings;
+
+ GDK_THREADS_ENTER ();
+
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-update-timeout", &timeout, NULL);
++
+ if (notebook->timer)
+ {
+ gtk_notebook_do_arrow (notebook, notebook->click_child);
+
+- if (notebook->need_timer)
+- {
+- notebook->need_timer = FALSE;
+- notebook->timer = g_timeout_add (NOTEBOOK_SCROLL_DELAY,
+- (GSourceFunc) gtk_notebook_timer,
+- (gpointer) notebook);
+- }
++ if (notebook->need_timer)
++ {
++ notebook->need_timer = FALSE;
++ notebook->timer = g_timeout_add (timeout,
++ (GSourceFunc) gtk_notebook_timer,
++ (gpointer) notebook);
++ }
+ else
+- retval = TRUE;
++ retval = TRUE;
+ }
+
+ GDK_THREADS_LEAVE ();
+@@ -2781,10 +2917,12 @@
+ switch (direction)
+ {
+ case STEP_PREV:
++ case STEP_PREV_CYCLE:
+ flag = GTK_PACK_END;
+ break;
+
+ case STEP_NEXT:
++ case STEP_NEXT_CYCLE:
+ flag = GTK_PACK_START;
+ break;
+ }
+@@ -2827,6 +2965,37 @@
+ old_list = list;
+ list = list->prev;
+ }
++
++ /* Hildon hack: keyboard navigation should cycle around */
++ if (direction == STEP_PREV_CYCLE)
++ {
++ /* find and return the last (visible) page */
++ list = g_list_last (notebook->children);
++ if (!find_visible)
++ return list;
++ while (list)
++ {
++ page = list->data;
++ if (GTK_WIDGET_VISIBLE (page->child))
++ return list;
++ list = list->prev;
++ }
++ }
++ if (direction == STEP_NEXT_CYCLE)
++ {
++ /* find and return the first (visible) page */
++ list = g_list_first (notebook->children);
++ if (!find_visible)
++ return list;
++ while (list)
++ {
++ page = list->data;
++ if (GTK_WIDGET_VISIBLE (page->child))
++ return list;
++ list = list->next;
++ }
++ }
++
+ return NULL;
+ }
+
+@@ -2850,6 +3019,7 @@
+ gint gap_x = 0, gap_width = 0, step = STEP_PREV;
+ gboolean is_rtl;
+ gint tab_pos;
++ gboolean paint_box_gap = FALSE;
+
+ g_return_if_fail (GTK_IS_NOTEBOOK (widget));
+ g_return_if_fail (area != NULL);
+@@ -2933,15 +3103,37 @@
+ step = STEP_PREV;
+ break;
+ }
+- gtk_paint_box_gap (widget->style, widget->window,
+- GTK_STATE_NORMAL, GTK_SHADOW_OUT,
+- area, widget, "notebook",
+- x, y, width, height,
+- tab_pos, gap_x, gap_width);
++
++ /* hildon hack to postpone painting until it
++ is known if scroll arrows will be drawn */
++ paint_box_gap = TRUE;
+ }
+
++ /* first, figure out if arrows should be drawn */
+ showarrow = FALSE;
+ children = gtk_notebook_search_page (notebook, NULL, step, TRUE);
++ while (children && !showarrow)
++ {
++ page = children->data;
++ children = gtk_notebook_search_page (notebook, children,
++ step, TRUE);
++ if (!GTK_WIDGET_MAPPED (page->tab_label))
++ showarrow = TRUE;
++ }
++
++ /* then draw content area frame */
++ if (paint_box_gap)
++ gtk_paint_box_gap (widget->style, widget->window,
++ GTK_STATE_NORMAL, GTK_SHADOW_OUT,
++ area, widget,
++ (showarrow && notebook->scrollable)
++ ? "notebook_show_arrow"
++ : "notebook",
++ x, y, width, height,
++ tab_pos, gap_x, gap_width);
++
++ /* and finally draw tabs */
++ children = gtk_notebook_search_page (notebook, NULL, step, TRUE);
+ while (children)
+ {
+ page = children->data;
+@@ -3069,10 +3261,15 @@
+ GdkRectangle arrow_rect;
+ GtkArrowType arrow;
+ gboolean is_rtl, left;
++ gint arrow_width, arrow_height;
+
+ gtk_notebook_get_arrow_rect (notebook, &arrow_rect, nbarrow);
+
+ widget = GTK_WIDGET (notebook);
++ gtk_widget_style_get (widget,
++ "arrow-width", &arrow_width,
++ "arrow-height", &arrow_height,
++ NULL);
+
+ is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL;
+ left = (ARROW_IS_LEFT (nbarrow) && !is_rtl) ||
+@@ -3112,7 +3309,7 @@
+ gtk_paint_arrow (widget->style, widget->window, state_type,
+ shadow_type, NULL, widget, "notebook",
+ arrow, TRUE, arrow_rect.x, arrow_rect.y,
+- ARROW_SIZE, ARROW_SIZE);
++ arrow_width, arrow_height);
+ }
+ }
+
+@@ -3143,13 +3340,25 @@
+ gboolean is_rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL &&
+ (tab_pos == GTK_POS_TOP || tab_pos == GTK_POS_BOTTOM));
+ gint memo_x;
++ gboolean truncate = FALSE;
++ gint arrow_width, arrow_height, arrow_spacing, tab_overlap;
++ gint total_width, ideal_tab_width, n_expanding_tabs;
+
+ if (!notebook->show_tabs || !notebook->children || !notebook->cur_page)
+ return;
+
++ gtk_widget_style_get (widget,
++ "arrow-width", &arrow_width,
++ "arrow-height", &arrow_height,
++ "arrow-spacing", &arrow_spacing,
++ "tab-overlap", &tab_overlap,
++ NULL);
++
+ child_allocation.x = widget->allocation.x + container->border_width;
+ child_allocation.y = widget->allocation.y + container->border_width;
+
++ total_width = allocation->width - 2 * container->border_width - tab_overlap;
++
+ switch (tab_pos)
+ {
+ case GTK_POS_BOTTOM:
+@@ -3198,27 +3407,26 @@
+ if (GTK_WIDGET_VISIBLE (page->child))
+ tab_space += page->requisition.width;
+ }
+- if (tab_space >
+- allocation->width - 2 * container->border_width - TAB_OVERLAP)
++ if (tab_space > total_width)
+ {
+ showarrow = TRUE;
+ page = focus_tab->data;
+
+- tab_space = allocation->width - TAB_OVERLAP -
++ tab_space = allocation->width - tab_overlap -
+ page->requisition.width - 2 * container->border_width;
+ if (notebook->has_after_previous)
+- tab_space -= ARROW_SPACING + ARROW_SIZE;
++ tab_space -= arrow_spacing + arrow_width;
+ if (notebook->has_after_next)
+- tab_space -= ARROW_SPACING + ARROW_SIZE;
++ tab_space -= arrow_spacing + arrow_width;
+ if (notebook->has_before_previous)
+ {
+- tab_space -= ARROW_SPACING + ARROW_SIZE;
+- child_allocation.x += ARROW_SPACING + ARROW_SIZE;
++ tab_space -= arrow_spacing + arrow_width;
++ child_allocation.x += arrow_spacing + arrow_width;
+ }
+ if (notebook->has_before_next)
+ {
+- tab_space -= ARROW_SPACING + ARROW_SIZE;
+- child_allocation.x += ARROW_SPACING + ARROW_SIZE;
++ tab_space -= arrow_spacing + arrow_width;
++ child_allocation.x += arrow_spacing + arrow_width;
+ }
+ }
+ break;
+@@ -3233,19 +3441,19 @@
+ tab_space += page->requisition.height;
+ }
+ if (tab_space >
+- (allocation->height - 2 * container->border_width - TAB_OVERLAP))
++ (allocation->height - 2 * container->border_width - tab_overlap))
+ {
+ showarrow = TRUE;
+ page = focus_tab->data;
+ tab_space = allocation->height
+- - TAB_OVERLAP - 2 * container->border_width
++ - tab_overlap - 2 * container->border_width
+ - page->requisition.height;
+ if (notebook->has_after_previous || notebook->has_after_next)
+- tab_space -= ARROW_SPACING + ARROW_SIZE;
++ tab_space -= arrow_spacing + arrow_height;
+ if (notebook->has_before_previous || notebook->has_before_next)
+ {
+- tab_space -= ARROW_SPACING + ARROW_SIZE;
+- child_allocation.y += ARROW_SPACING + ARROW_SIZE;
++ tab_space -= arrow_spacing + arrow_height;
++ child_allocation.y += arrow_spacing + arrow_height;
+ }
+ }
+ break;
+@@ -3257,6 +3465,10 @@
+ notebook->first_tab = focus_tab;
+ last_child = gtk_notebook_search_page (notebook, focus_tab,
+ STEP_NEXT, TRUE);
++
++ /* Hildon: there is only one visible tab label
++ and it doesn't fit unless it is truncated */
++ truncate = TRUE;
+ }
+ else
+ {
+@@ -3413,7 +3625,7 @@
+ }
+ tab_space -= allocation->height;
+ }
+- tab_space += 2 * container->border_width + TAB_OVERLAP;
++ tab_space += 2 * container->border_width + tab_overlap;
+ tab_space *= -1;
+ notebook->first_tab = gtk_notebook_search_page (notebook, NULL,
+ STEP_NEXT, TRUE);
+@@ -3432,12 +3644,29 @@
+ if (showarrow)
+ {
+ if (notebook->has_after_previous)
+- child_allocation.x -= ARROW_SPACING + ARROW_SIZE;
++ child_allocation.x -= arrow_spacing + arrow_width;
+ if (notebook->has_after_next)
+- child_allocation.x -= ARROW_SPACING + ARROW_SIZE;
++ child_allocation.x -= arrow_spacing + arrow_width;
+ }
+ }
+
++ ideal_tab_width = (total_width / n);
++ n_expanding_tabs = 0;
++
++ while (children)
++ {
++ if (children == last_child)
++ break;
++
++ page = children->data;
++ children = gtk_notebook_search_page (notebook, children, STEP_NEXT,TRUE);
++
++ if (page->requisition.width <= ideal_tab_width)
++ n_expanding_tabs++;
++ }
++
++ children = notebook->first_tab;
++
+ while (children)
+ {
+ if (children == last_child)
+@@ -3452,9 +3681,11 @@
+ children = gtk_notebook_search_page (notebook, children, STEP_NEXT,TRUE);
+
+ delta = 0;
+- if (n && (showarrow || page->expand || notebook->homogeneous))
++
++ if (n && (showarrow || page->expand || notebook->homogeneous) &&
++ (page->requisition.width <= ideal_tab_width))
+ {
+- new_fill = (tab_space * i++) / n;
++ new_fill = (tab_space * i++) / n_expanding_tabs;
+ delta = new_fill - old_fill;
+ old_fill = new_fill;
+ }
+@@ -3463,15 +3694,18 @@
+ {
+ case GTK_POS_TOP:
+ case GTK_POS_BOTTOM:
++ if (truncate)
++ delta *= -1;
++
+ child_allocation.width = (page->requisition.width +
+- TAB_OVERLAP + delta);
++ tab_overlap + delta);
+ if (is_rtl)
+ child_allocation.x -= child_allocation.width;
+ break;
+ case GTK_POS_LEFT:
+ case GTK_POS_RIGHT:
+ child_allocation.height = (page->requisition.height +
+- TAB_OVERLAP + delta);
++ tab_overlap + delta);
+ break;
+ }
+
+@@ -3482,13 +3716,13 @@
+ case GTK_POS_TOP:
+ case GTK_POS_BOTTOM:
+ if (!is_rtl)
+- child_allocation.x += child_allocation.width - TAB_OVERLAP;
++ child_allocation.x += child_allocation.width - tab_overlap;
+ else
+- child_allocation.x += TAB_OVERLAP;
++ child_allocation.x += tab_overlap;
+ break;
+ case GTK_POS_LEFT:
+ case GTK_POS_RIGHT:
+- child_allocation.y += child_allocation.height - TAB_OVERLAP;
++ child_allocation.y += child_allocation.height - tab_overlap;
+ break;
+ }
+
+@@ -3538,14 +3772,14 @@
+ case GTK_POS_TOP:
+ case GTK_POS_BOTTOM:
+ child_allocation.width = (page->requisition.width +
+- TAB_OVERLAP + delta);
++ tab_overlap + delta);
+ if (!is_rtl)
+ child_allocation.x -= child_allocation.width;
+ break;
+ case GTK_POS_LEFT:
+ case GTK_POS_RIGHT:
+ child_allocation.height = (page->requisition.height +
+- TAB_OVERLAP + delta);
++ tab_overlap + delta);
+ child_allocation.y -= child_allocation.height;
+ break;
+ }
+@@ -3557,13 +3791,13 @@
+ case GTK_POS_TOP:
+ case GTK_POS_BOTTOM:
+ if (!is_rtl)
+- child_allocation.x += TAB_OVERLAP;
++ child_allocation.x += tab_overlap;
+ else
+- child_allocation.x += child_allocation.width - TAB_OVERLAP;
++ child_allocation.x += child_allocation.width - tab_overlap;
+ break;
+ case GTK_POS_LEFT:
+ case GTK_POS_RIGHT:
+- child_allocation.y += TAB_OVERLAP;
++ child_allocation.y += tab_overlap;
+ break;
+ }
+
+@@ -3589,8 +3823,12 @@
+ gint padding;
+ gint focus_width;
+ gint tab_pos = get_effective_tab_pos (notebook);
++ gint tab_curvature;
+
+- gtk_widget_style_get (widget, "focus-line-width", &focus_width, NULL);
++ gtk_widget_style_get (widget,
++ "focus-line-width", &focus_width,
++ "tab-curvature", &tab_curvature,
++ NULL);
+
+ xthickness = widget->style->xthickness;
+ ythickness = widget->style->ythickness;
+@@ -3621,7 +3859,7 @@
+ {
+ case GTK_POS_TOP:
+ case GTK_POS_BOTTOM:
+- padding = TAB_CURVATURE + focus_width + notebook->tab_hborder;
++ padding = tab_curvature + focus_width + notebook->tab_hborder;
+ if (page->fill)
+ {
+ child_allocation.x = (xthickness + focus_width +
+@@ -3646,7 +3884,7 @@
+ break;
+ case GTK_POS_LEFT:
+ case GTK_POS_RIGHT:
+- padding = TAB_CURVATURE + focus_width + notebook->tab_vborder;
++ padding = tab_curvature + focus_width + notebook->tab_vborder;
+ if (page->fill)
+ {
+ child_allocation.y = ythickness + padding;
+@@ -4340,7 +4578,7 @@
+ }
+ page->tab_label = tab_label;
+ page->menu_label = menu_label;
+- page->expand = FALSE;
++ page->expand = TRUE;
+ page->fill = TRUE;
+ page->pack = GTK_PACK_START;
+
+@@ -5046,6 +5284,7 @@
+ {
+ page->default_tab = FALSE;
+ page->tab_label = tab_label;
++
+ gtk_widget_set_parent (page->tab_label, GTK_WIDGET (notebook));
+ }
+ else
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkprogress.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkprogress.c.diff
new file mode 100644
index 0000000000..07302bbab8
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkprogress.c.diff
@@ -0,0 +1,20 @@
+--- gtk+-2.6.4/gtk/gtkprogress.c 2004-10-28 18:00:04.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkprogress.c 2005-04-06 16:19:37.066903336 +0300
+@@ -371,6 +371,17 @@
+ widget->allocation.width,
+ widget->allocation.height,
+ -1);
++
++ /* OSSO addition : clear the pixmap first or transparent images
++ * painted on top of it may look stupid when it's blended against
++ * random memory.*/
++ gtk_paint_flat_box (widget->style,
++ progress->offscreen_pixmap,
++ GTK_STATE_NORMAL,
++ GTK_SHADOW_NONE,
++ NULL, widget, NULL,
++ 0, 0, widget->allocation.width, widget->allocation.height);
++
+ GTK_PROGRESS_GET_CLASS (progress)->paint (progress);
+ }
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkprogressbar.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkprogressbar.c.diff
new file mode 100644
index 0000000000..097e348c41
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkprogressbar.c.diff
@@ -0,0 +1,141 @@
+--- gtk+-2.6.4/gtk/gtkprogressbar.c 2005-01-09 19:32:25.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkprogressbar.c 2005-04-06 16:19:37.112896344 +0300
+@@ -40,11 +40,18 @@
+
+
+ #define MIN_HORIZONTAL_BAR_WIDTH 150
+-#define MIN_HORIZONTAL_BAR_HEIGHT 20
++#define MIN_HORIZONTAL_BAR_HEIGHT 30 /* OSSO mod. was 20 */
+ #define MIN_VERTICAL_BAR_WIDTH 22
+ #define MIN_VERTICAL_BAR_HEIGHT 80
+ #define MAX_TEXT_LENGTH 80
+-#define TEXT_SPACING 2
++#define DEFAULT_TEXT_SPACING 2 /* OSSO mod. Changed from
++ * TEXT_SPACING. Now controlled
++ * by "text-spacing" style
++ * property */
++#define DEFAULT_WIDTH_INCREMENT 3
++#define DEFAULT_HEIGHT_INCREMENT 3
++#define DEFAULT_TEXT_XNUDGE 1
++#define DEFAULT_TEXT_YNUDGE 1
+
+ enum {
+ PROP_0,
+@@ -245,6 +252,51 @@
+ PANGO_ELLIPSIZE_NONE,
+ G_PARAM_READWRITE));
+
++ /* OSSO addition. */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("text-spacing",
++ "Text Spacing",
++ "The amount of pixels between the trough and text.",
++ G_MININT,
++ G_MAXINT,
++ DEFAULT_TEXT_SPACING,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("width-increment",
++ "width Increment",
++ "The amount of pixels to add to the width size request.",
++ G_MININT,
++ G_MAXINT,
++ DEFAULT_WIDTH_INCREMENT,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("height-increment",
++ "Height Increment",
++ "The amount of pixels to add to the height size request.",
++ G_MININT,
++ G_MAXINT,
++ DEFAULT_WIDTH_INCREMENT,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("text-xnudge",
++ "Text XNudge",
++ "Amount of pixels to move the text x position.",
++ G_MININT,
++ G_MAXINT,
++ DEFAULT_TEXT_XNUDGE,
++ G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("text-ynudge",
++ "Text YNudge",
++ "Amount of pixels to move the text y position.",
++ G_MININT,
++ G_MAXINT,
++ DEFAULT_TEXT_YNUDGE,
++ G_PARAM_READWRITE));
+ }
+
+ static void
+@@ -364,7 +416,9 @@
+ {
+ GtkWidget *pbar;
+
+- pbar = gtk_widget_new (GTK_TYPE_PROGRESS_BAR, NULL);
++ pbar = gtk_widget_new (GTK_TYPE_PROGRESS_BAR,
++ "text-xalign", 0.0, /* OSSO addition. */
++ NULL);
+
+ return pbar;
+ }
+@@ -494,15 +548,23 @@
+ PangoRectangle logical_rect;
+ PangoLayout *layout;
+ gint width, height;
++ gint text_spacing;
++ gint width_increment, height_increment;
+
+ g_return_if_fail (GTK_IS_PROGRESS_BAR (widget));
+ g_return_if_fail (requisition != NULL);
++
++ gtk_widget_style_get (widget,
++ "text-spacing", &text_spacing,
++ "width-increment", &width_increment,
++ "height-increment", &height_increment,
++ NULL);
+
+ progress = GTK_PROGRESS (widget);
+ pbar = GTK_PROGRESS_BAR (widget);
+
+- width = 2 * widget->style->xthickness + 3 + 2 * TEXT_SPACING;
+- height = 2 * widget->style->ythickness + 3 + 2 * TEXT_SPACING;
++ width = 2 * widget->style->xthickness + width_increment + 2 * text_spacing;
++ height = 2 * widget->style->ythickness + height_increment + 2 * text_spacing;
+
+ if (progress->show_text && pbar->bar_style != GTK_PROGRESS_DISCRETE)
+ {
+@@ -780,6 +842,13 @@
+ PangoRectangle logical_rect;
+ GdkRectangle prelight_clip, normal_clip;
+
++ gint text_xnudge, text_ynudge;
++
++ gtk_widget_style_get (widget,
++ "text-xnudge", &text_xnudge,
++ "text-ynudge", &text_ynudge,
++ NULL);
++
+ buf = gtk_progress_get_current_text (progress);
+
+ layout = gtk_widget_create_pango_layout (widget, buf);
+@@ -789,12 +858,12 @@
+
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+
+- x = widget->style->xthickness + 1 +
++ x = widget->style->xthickness + text_xnudge +
+ (widget->allocation.width - 2 * widget->style->xthickness -
+ 2 - logical_rect.width)
+ * progress->x_align;
+
+- y = widget->style->ythickness + 1 +
++ y = widget->style->ythickness + text_ynudge +
+ (widget->allocation.height - 2 * widget->style->ythickness -
+ 2 - logical_rect.height)
+ * progress->y_align;
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkradiobutton.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkradiobutton.c.diff
new file mode 100644
index 0000000000..f4669c6d9f
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkradiobutton.c.diff
@@ -0,0 +1,244 @@
+--- gtk+-2.6.4/gtk/gtkradiobutton.c 2004-08-09 19:59:52.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkradiobutton.c 2005-04-06 16:19:37.126894216 +0300
+@@ -31,6 +31,7 @@
+ #include "gtkradiobutton.h"
+ #include "gtkintl.h"
+
++#define TOGGLE_ON_CLICK "toggle-on-click"
+
+ enum {
+ PROP_0,
+@@ -506,6 +507,9 @@
+ {
+ tmp_list = tmp_list->next;
+
++ if( !tmp_list )
++ return FALSE;
++
+ while (tmp_list)
+ {
+ GtkWidget *child = tmp_list->data;
+@@ -543,7 +547,10 @@
+ if (new_focus)
+ {
+ gtk_widget_grab_focus (new_focus);
+- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_focus), TRUE);
++
++ /* arrow keys select the button ? CHECK THIS!!
++ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (new_focus), TRUE);
++ */
+ }
+
+ return TRUE;
+@@ -579,7 +586,7 @@
+ GtkToggleButton *toggle_button;
+ GtkRadioButton *radio_button;
+ GtkToggleButton *tmp_button;
+- GtkStateType new_state;
++ GtkStateType new_state = GTK_WIDGET_STATE( button );
+ GSList *tmp_list;
+ gint toggled;
+ gboolean depressed;
+@@ -591,52 +598,54 @@
+ g_object_ref (GTK_WIDGET (button));
+
+ if (toggle_button->active)
+- {
+- tmp_button = NULL;
+- tmp_list = radio_button->group;
+-
+- while (tmp_list)
+- {
+- tmp_button = tmp_list->data;
+- tmp_list = tmp_list->next;
++ {
++ tmp_button = NULL;
++ tmp_list = radio_button->group;
+
+- if (tmp_button->active && tmp_button != toggle_button)
+- break;
++ while (tmp_list)
++ {
++ tmp_button = tmp_list->data;
++ tmp_list = tmp_list->next;
++
++ if (tmp_button->active && tmp_button != toggle_button)
++ break;
+
+- tmp_button = NULL;
+- }
++ tmp_button = NULL;
++ }
+
+- if (!tmp_button)
+- {
+- new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
++ if (!tmp_button)
++ {
++ new_state = (button->in_button ?
++ GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
++ }
++ else
++ {
++ toggled = TRUE;
++ toggle_button->active = !toggle_button->active;
++ new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL);
++ }
+ }
+ else
+ {
+ toggled = TRUE;
+ toggle_button->active = !toggle_button->active;
+- new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL);
+- }
+- }
+- else
+- {
+- toggled = TRUE;
+- toggle_button->active = !toggle_button->active;
+
+- tmp_list = radio_button->group;
+- while (tmp_list)
+- {
+- tmp_button = tmp_list->data;
+- tmp_list = tmp_list->next;
+-
+- if (tmp_button->active && (tmp_button != toggle_button))
++ tmp_list = radio_button->group;
++ while (tmp_list)
+ {
+- gtk_button_clicked (GTK_BUTTON (tmp_button));
+- break;
++ tmp_button = tmp_list->data;
++ tmp_list = tmp_list->next;
++
++ if (tmp_button->active && (tmp_button != toggle_button))
++ {
++ gtk_button_clicked (GTK_BUTTON (tmp_button));
++ break;
++ }
+ }
++
++ new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
+ }
+
+- new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
+- }
+
+ if (toggle_button->inconsistent)
+ depressed = FALSE;
+@@ -663,7 +672,6 @@
+ GdkRectangle *area)
+ {
+ GtkWidget *widget;
+- GtkWidget *child;
+ GtkButton *button;
+ GtkToggleButton *toggle_button;
+ GtkStateType state_type;
+@@ -686,54 +694,80 @@
+ "focus-padding", &focus_pad,
+ NULL);
+
+- _gtk_check_button_get_props (check_button, &indicator_size, &indicator_spacing);
+-
+- x = widget->allocation.x + indicator_spacing + GTK_CONTAINER (widget)->border_width;
+- y = widget->allocation.y + (widget->allocation.height - indicator_size) / 2;
+-
+- child = GTK_BIN (check_button)->child;
+- if (!interior_focus || !(child && GTK_WIDGET_VISIBLE (child)))
+- x += focus_width + focus_pad;
++ _gtk_check_button_get_props (check_button,
++ &indicator_size, &indicator_spacing);
+
++ x = widget->allocation.x + indicator_spacing +
++ GTK_CONTAINER (widget)->border_width;
++ y = widget->allocation.y + (widget->allocation.height -
++ indicator_size + focus_width +
++ focus_pad) / 2;
++
++ /* Hildon - always add space for the padding
++ */
++ x += focus_width + focus_pad;
++
+ if (toggle_button->inconsistent)
+- shadow_type = GTK_SHADOW_ETCHED_IN;
++ shadow_type = GTK_SHADOW_ETCHED_IN;
++
+ else if (toggle_button->active)
+- shadow_type = GTK_SHADOW_IN;
++ shadow_type = GTK_SHADOW_IN;
++
+ else
+- shadow_type = GTK_SHADOW_OUT;
++ shadow_type = GTK_SHADOW_OUT;
++
++ if (button->activate_timeout ||
++ (button->button_down && button->in_button) )
++ state_type = GTK_STATE_ACTIVE;
+
+- if (button->activate_timeout || (button->button_down && button->in_button))
+- state_type = GTK_STATE_ACTIVE;
+ else if (button->in_button)
+- state_type = GTK_STATE_PRELIGHT;
++ state_type = GTK_STATE_PRELIGHT;
++
+ else if (!GTK_WIDGET_IS_SENSITIVE (widget))
+ state_type = GTK_STATE_INSENSITIVE;
++
+ else
+- state_type = GTK_STATE_NORMAL;
++ state_type = GTK_STATE_NORMAL;
+
++ /* Hildon change. We want to draw active image always when we have
++ * focus. */
++ if (GTK_WIDGET_HAS_FOCUS (widget))
++ state_type = GTK_STATE_ACTIVE;
++
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+- x = widget->allocation.x + widget->allocation.width - (indicator_size + x - widget->allocation.x);
+-
++ {
++ x = widget->allocation.x + widget->allocation.width -
++ (indicator_size + x - widget->allocation.x);
++ }
++ /* Well, commenting this out fixes bug #280,
++ without apparent side effects.
++ *
+ if (GTK_WIDGET_STATE (toggle_button) == GTK_STATE_PRELIGHT)
+ {
+ GdkRectangle restrict_area;
+ GdkRectangle new_area;
+
+- restrict_area.x = widget->allocation.x + GTK_CONTAINER (widget)->border_width;
+- restrict_area.y = widget->allocation.y + GTK_CONTAINER (widget)->border_width;
+- restrict_area.width = widget->allocation.width - (2 * GTK_CONTAINER (widget)->border_width);
+- restrict_area.height = widget->allocation.height - (2 * GTK_CONTAINER (widget)->border_width);
++ restrict_area.x = widget->allocation.x +
++ GTK_CONTAINER (widget)->border_width;
++ restrict_area.y = widget->allocation.y +
++ GTK_CONTAINER (widget)->border_width;
++ restrict_area.width = widget->allocation.width -
++ (2 * GTK_CONTAINER (widget)->border_width);
++ restrict_area.height = widget->allocation.height -
++ (2 * GTK_CONTAINER (widget)->border_width);
+
+ if (gdk_rectangle_intersect (area, &restrict_area, &new_area))
+ {
+- gtk_paint_flat_box (widget->style, widget->window, GTK_STATE_PRELIGHT,
+- GTK_SHADOW_ETCHED_OUT,
+- area, widget, "checkbutton",
+- new_area.x, new_area.y,
+- new_area.width, new_area.height);
++ gtk_paint_flat_box (widget->style, widget->window,
++ GTK_STATE_PRELIGHT,
++ GTK_SHADOW_ETCHED_OUT,
++ area, widget, "checkbutton",
++ new_area.x, new_area.y,
++ new_area.width, new_area.height);
+ }
+ }
+
++ */
+ gtk_paint_option (widget->style, widget->window,
+ state_type, shadow_type,
+ area, widget, "radiobutton",
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrange.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrange.c.diff
new file mode 100644
index 0000000000..867d2b1d46
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrange.c.diff
@@ -0,0 +1,845 @@
+--- gtk+-2.6.4/gtk/gtkrange.c 2004-11-10 05:20:11.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkrange.c 2005-04-06 16:19:37.788793592 +0300
+@@ -25,6 +25,10 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2002-2005. See CHANGES file for list
++ * of changes.
++ */
++
+ #include <config.h>
+ #include <stdio.h>
+ #include <math.h>
+@@ -44,7 +48,10 @@
+ PROP_0,
+ PROP_UPDATE_POLICY,
+ PROP_ADJUSTMENT,
+- PROP_INVERTED
++ PROP_INVERTED,
++ PROP_STREAM_INDICATOR,
++ PROP_MINIMUM_VISIBLE_BARS,
++ PROP_STREAM_POSITION
+ };
+
+ enum {
+@@ -88,8 +95,20 @@
+ /* "grabbed" mouse location, OUTSIDE for no grab */
+ MouseLocation grab_location;
+ gint grab_button; /* 0 if none */
++
++ /* OSSO hack: stream trough split position */
++ gint stream_pixel_position;
++ gint minimum_visible_bars;
+ };
+
++#define OSSO_GTK_RANGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_RANGE, OssoGtkRangePrivate))
++typedef struct _OssoGtkRangePrivate OssoGtkRangePrivate;
++
++struct _OssoGtkRangePrivate
++{
++ gboolean stream_indicator;
++ gdouble stream_position;
++};
+
+ static void gtk_range_class_init (GtkRangeClass *klass);
+ static void gtk_range_init (GtkRange *range);
+@@ -135,6 +154,7 @@
+ gint mouse_x,
+ gint mouse_y);
+
++static gint osso_gtk_range_focus_out (GtkWidget *widget, GdkEventFocus *event);
+
+ /* Range methods */
+
+@@ -247,6 +267,9 @@
+ widget_class->state_changed = gtk_range_state_changed;
+ widget_class->style_set = gtk_range_style_set;
+
++ /* OSSO addition (see bug #1653) */
++ widget_class->focus_out_event = osso_gtk_range_focus_out;
++
+ class->move_slider = gtk_range_move_slider;
+ class->change_value = gtk_range_real_change_value;
+
+@@ -344,6 +367,34 @@
+ FALSE,
+ G_PARAM_READWRITE));
+
++ g_object_class_install_property (gobject_class,
++ PROP_STREAM_INDICATOR,
++ g_param_spec_boolean ("stream_indicator",
++ P_("Stream Indicator"),
++ P_("Whether to display a stream indicator graphics on trough."),
++ FALSE,
++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
++
++ g_object_class_install_property (gobject_class,
++ PROP_MINIMUM_VISIBLE_BARS,
++ g_param_spec_int ("minimum_visible_bars",
++ P_("Minimum visible bars"),
++ P_("The minimum number of visible bars in a HildonControlBar"),
++ 0,
++ G_MAXINT,
++ 0,
++ G_PARAM_READWRITE));
++
++ g_object_class_install_property (gobject_class,
++ PROP_STREAM_POSITION,
++ g_param_spec_double ("stream_position",
++ P_("Stream Position"),
++ P_("The position of the streaming."),
++ -G_MAXDOUBLE,
++ G_MAXDOUBLE,
++ 0.0,
++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
++
+ gtk_widget_class_install_style_property (widget_class,
+ g_param_spec_int ("slider_width",
+ P_("Slider Width"),
+@@ -392,6 +443,52 @@
+ G_MAXINT,
+ 0,
+ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("hildonlike",
++ _("hildonlike"),
++ _("Change focus out behaviour, 1/0"),
++ FALSE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("two_part_trough",
++ _("Two-part trough"),
++ _("Allow different trough graphics on different sides of the slider, 1/0"),
++ FALSE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("stream_indicator_padding",
++ P_("Stream Indicator Padding"),
++ P_("How many pixels smallerthan the trough the stream indicator is drawn from both ends ."),
++ 0,
++ G_MAXINT,
++ 1,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("autodimmed_steppers",
++ _("Autodimmed steppers"),
++ _("Automatically dim steppers when maximum or minimum value has been reached"),
++ FALSE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("arrow_paint_box_layout",
++ _("Arrow paint box layout"),
++ _("Allows to use images instead of normal arrows."),
++ FALSE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("draw_trough_under_steppers",
++ _("Draw trough under steppers"),
++ _("Whether to draw trought for full length of range or exclude the steppers and spacing"),
++ TRUE,
++ G_PARAM_READABLE));
++
++ g_type_class_add_private (gobject_class, sizeof (OssoGtkRangePrivate));
+ }
+
+ static void
+@@ -415,6 +512,15 @@
+ case PROP_INVERTED:
+ gtk_range_set_inverted (range, g_value_get_boolean (value));
+ break;
++ case PROP_STREAM_INDICATOR:
++ osso_gtk_range_set_stream_indicator (range, g_value_get_boolean (value));
++ break;
++ case PROP_STREAM_POSITION:
++ osso_gtk_range_set_stream_position (range, g_value_get_double (value));
++ break;
++ case PROP_MINIMUM_VISIBLE_BARS:
++ range->layout->minimum_visible_bars = g_value_get_int(value);
++ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -442,6 +548,15 @@
+ case PROP_INVERTED:
+ g_value_set_boolean (value, range->inverted);
+ break;
++ case PROP_STREAM_INDICATOR:
++ g_value_set_boolean (value, osso_gtk_range_get_stream_indicator (range));
++ break;
++ case PROP_STREAM_POSITION:
++ g_value_set_double (value, osso_gtk_range_get_stream_indicator (range));
++ break;
++ case PROP_MINIMUM_VISIBLE_BARS:
++ g_value_set_int (value, range->layout->minimum_visible_bars);
++ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -451,6 +566,7 @@
+ static void
+ gtk_range_init (GtkRange *range)
+ {
++ OssoGtkRangePrivate *priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
+ GTK_WIDGET_SET_FLAGS (range, GTK_NO_WINDOW);
+
+ range->adjustment = NULL;
+@@ -471,6 +587,9 @@
+ range->layout->grab_location = MOUSE_OUTSIDE;
+ range->layout->grab_button = 0;
+ range->timer = NULL;
++
++ priv->stream_indicator = FALSE;
++ priv->stream_position = 0.0;
+ }
+
+ /**
+@@ -584,7 +703,10 @@
+ g_signal_connect (adjustment, "changed",
+ G_CALLBACK (gtk_range_adjustment_changed),
+ range);
+- g_signal_connect (adjustment, "value_changed",
++ /* OSSO modification : Changed for controlbar.
++ * There we intercept this signal and put forth
++ * our own, with modified parameters. */
++ g_signal_connect_after (adjustment, "value_changed",
+ G_CALLBACK (gtk_range_adjustment_value_changed),
+ range);
+
+@@ -677,16 +799,21 @@
+ gdouble max)
+ {
+ gdouble value;
++ OssoGtkRangePrivate *priv;
+
+ g_return_if_fail (GTK_IS_RANGE (range));
+ g_return_if_fail (min < max);
+
++ priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++
+ range->adjustment->lower = min;
+ range->adjustment->upper = max;
+
+ value = CLAMP (range->adjustment->value,
+ range->adjustment->lower,
+ (range->adjustment->upper - range->adjustment->page_size));
++ if (priv->stream_indicator && value > priv->stream_position)
++ value = (gdouble)priv->stream_position;
+
+ gtk_adjustment_set_value (range->adjustment, value);
+ gtk_adjustment_changed (range->adjustment);
+@@ -707,10 +834,16 @@
+ gtk_range_set_value (GtkRange *range,
+ gdouble value)
+ {
++ OssoGtkRangePrivate *priv;
++
+ g_return_if_fail (GTK_IS_RANGE (range));
+
++ priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++
+ value = CLAMP (value, range->adjustment->lower,
+ (range->adjustment->upper - range->adjustment->page_size));
++ if (priv->stream_indicator && value > priv->stream_position)
++ value = (gdouble)priv->stream_position;
+
+ gtk_adjustment_set_value (range->adjustment, value);
+ }
+@@ -913,6 +1046,10 @@
+ gint arrow_width;
+ gint arrow_height;
+
++ /* OSSO modification: state of our style properties */
++ gboolean autodimmed_steppers = FALSE;
++ gboolean arrow_paint_box_layout = FALSE;
++
+ /* More to get the right clip region than for efficiency */
+ if (!gdk_rectangle_intersect (area, rect, &intersection))
+ return;
+@@ -929,6 +1066,37 @@
+ else
+ state_type = GTK_STATE_NORMAL;
+
++ /* OSSO modification : read all of our style properties needed in this func */
++ gtk_widget_style_get (widget,
++ "autodimmed_steppers", &autodimmed_steppers,
++ "arrow_paint_box_layout", &arrow_paint_box_layout,
++ NULL);
++
++ /* OSSO modification : dim the stepper if maximum or minimum value has been reached */
++ if (autodimmed_steppers)
++ {
++ OssoGtkRangePrivate *priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++ if (((!range->inverted && (arrow_type == GTK_ARROW_DOWN ||
++ arrow_type == GTK_ARROW_RIGHT)) ||
++ (range->inverted && (arrow_type == GTK_ARROW_UP ||
++ arrow_type == GTK_ARROW_LEFT))) &&
++ range->adjustment->value >=
++ (priv->stream_indicator
++ ? priv->stream_position
++ : range->adjustment->upper - range->adjustment->page_size))
++ {
++ state_type = GTK_STATE_INSENSITIVE;
++ }
++ else if (((!range->inverted && (arrow_type == GTK_ARROW_UP ||
++ arrow_type == GTK_ARROW_LEFT)) ||
++ (range->inverted && (arrow_type == GTK_ARROW_DOWN ||
++ arrow_type == GTK_ARROW_RIGHT))) &&
++ range->adjustment->value <= range->adjustment->lower)
++ {
++ state_type = GTK_STATE_INSENSITIVE;
++ }
++ }
++
+ if (clicked)
+ shadow_type = GTK_SHADOW_IN;
+ else
+@@ -944,10 +1112,20 @@
+ rect->width,
+ rect->height);
+
+- arrow_width = rect->width / 2;
+- arrow_height = rect->height / 2;
+- arrow_x = widget->allocation.x + rect->x + (rect->width - arrow_width) / 2;
+- arrow_y = widget->allocation.y + rect->y + (rect->height - arrow_height) / 2;
++ if (arrow_paint_box_layout)
++ {
++ arrow_width = rect->width;
++ arrow_height = rect->height;
++ arrow_x = widget->allocation.x + rect->x;
++ arrow_y = widget->allocation.y + rect->y;
++ }
++ else
++ {
++ arrow_width = rect->width / 2;
++ arrow_height = rect->height / 2;
++ arrow_x = widget->allocation.x + rect->x + (rect->width - arrow_width) / 2;
++ arrow_y = widget->allocation.y + rect->y + (rect->height - arrow_height) / 2;
++ }
+
+ if (clicked)
+ {
+@@ -982,8 +1160,11 @@
+ GdkRectangle area;
+ gint focus_line_width = 0;
+ gint focus_padding = 0;
++ OssoGtkRangePrivate *priv;
+
+ range = GTK_RANGE (widget);
++
++ priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
+
+ if (GTK_WIDGET_CAN_FOCUS (range))
+ {
+@@ -1011,18 +1192,118 @@
+ if (gdk_rectangle_intersect (&expose_area, &range->range_rect,
+ &area))
+ {
++ gint x = widget->allocation.x + range->range_rect.x + focus_line_width + focus_padding;
++ gint y = widget->allocation.y + range->range_rect.y + focus_line_width + focus_padding;
++ gint width = range->range_rect.width - 2 * (focus_line_width + focus_padding);
++ gint height = range->range_rect.height - 2 * (focus_line_width + focus_padding);
++ gint *virtual_position, *virtual_size;
++ gboolean two_part_trough = 0;
++ gint stepper_size = 0;
++ gint stepper_spacing = 0;
++ gboolean draw_trough_under_steppers = TRUE;
++
+ area.x += widget->allocation.x;
+ area.y += widget->allocation.y;
++
++ gtk_widget_style_get (GTK_WIDGET (range),
++ "two_part_trough", &two_part_trough,
++ "stepper_size", &stepper_size,
++ "stepper_spacing", &stepper_spacing,
++ "draw_trough_under_steppers", &draw_trough_under_steppers,
++ NULL);
++
++ if (range->orientation == GTK_ORIENTATION_HORIZONTAL)
++ {
++ virtual_position = &x;
++ virtual_size = &width;
++ }
++ else
++ {
++ virtual_position = &y;
++ virtual_size = &height;
++ }
++
++ if (draw_trough_under_steppers == FALSE)
++ {
++ *virtual_position += stepper_size + stepper_spacing;
++ *virtual_size -= 2 * (stepper_size + stepper_spacing);
++ }
+
+- gtk_paint_box (widget->style,
+- widget->window,
+- sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE,
+- GTK_SHADOW_IN,
+- &area, GTK_WIDGET(range), "trough",
+- widget->allocation.x + range->range_rect.x + focus_line_width + focus_padding,
+- widget->allocation.y + range->range_rect.y + focus_line_width + focus_padding,
+- range->range_rect.width - 2 * (focus_line_width + focus_padding),
+- range->range_rect.height - 2 * (focus_line_width + focus_padding));
++ if (two_part_trough == FALSE)
++ {
++ gtk_paint_box (widget->style,
++ widget->window,
++ sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE,
++ GTK_SHADOW_IN,
++ &area, GTK_WIDGET(range), "trough",
++ x, y,
++ width, height);
++ }
++ else
++ {
++ gint trough_change_pos_x = width;
++ gint trough_change_pos_y = height;
++
++ if (range->orientation == GTK_ORIENTATION_HORIZONTAL)
++ trough_change_pos_x = range->layout->slider.x + (range->layout->slider.width / 2) - stepper_size - stepper_spacing;
++ else
++ trough_change_pos_y = range->layout->slider.y + (range->layout->slider.height / 2) - stepper_size - stepper_spacing;
++
++ gtk_paint_box (widget->style,
++ widget->window,
++ sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE,
++ GTK_SHADOW_IN,
++ &area, GTK_WIDGET(range), "trough_northwest",
++ x, y,
++ trough_change_pos_x, trough_change_pos_y);
++
++ if (range->orientation == GTK_ORIENTATION_HORIZONTAL)
++ trough_change_pos_y = 0;
++ else
++ trough_change_pos_x = 0;
++
++ gtk_paint_box (widget->style,
++ widget->window,
++ sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE,
++ GTK_SHADOW_IN,
++ &area, GTK_WIDGET(range), "trough_southeast",
++ x + trough_change_pos_x, y + trough_change_pos_y,
++ width - trough_change_pos_x, height - trough_change_pos_y);
++ }
++
++ /* Stream indicator drawing does not support inverted state. */
++ if (priv->stream_indicator)
++ {
++ gchar *used_detail;
++ gint stream_start_pos_x = 0;
++ gint stream_start_pos_y = 0;
++ gint stream_width = width;
++ gint stream_height = height;
++
++ if (range->orientation == GTK_ORIENTATION_HORIZONTAL)
++ {
++ stream_start_pos_x = range->layout->slider.x;
++ stream_width = range->layout->stream_pixel_position - stream_start_pos_x;
++ }
++ else
++ {
++ stream_start_pos_y = range->layout->slider.y;
++ stream_height = range->layout->stream_pixel_position - stream_start_pos_y;
++ }
++
++ if (priv->stream_position == range->adjustment->upper)
++ used_detail = "trough_stream_complete";
++ else
++ used_detail = "trough_stream";
++
++ gtk_paint_box (widget->style,
++ widget->window,
++ sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE,
++ GTK_SHADOW_IN,
++ &area, GTK_WIDGET(range), used_detail,
++ widget->allocation.x + stream_start_pos_x, widget->allocation.y + stream_start_pos_y,
++ stream_width, stream_height);
++ }
+
+
+ if (sensitive &&
+@@ -1189,19 +1470,41 @@
+ {
+ gdouble frac;
+ gdouble value;
+-
+- if (range->orientation == GTK_ORIENTATION_VERTICAL)
++ gint stepper_spacing = 0;
++ gint minimum_visible_blocks = 0;
++ gint magic_value = 0;
++
++ g_object_get(range, "minimum_visible_bars", &minimum_visible_blocks, NULL);
++
++ g_print("coord = %d\n", coord);
++ gtk_widget_style_get (GTK_WIDGET (range),
++ "stepper_spacing", &stepper_spacing,
++ NULL);
++
++ if (range->orientation == GTK_ORIENTATION_VERTICAL) {
++ if (minimum_visible_blocks > 0)
++ magic_value = ((range->layout->trough.height -(2*stepper_spacing)) / (range->adjustment->upper - range->adjustment->lower + 1)) * minimum_visible_blocks;
+ if (range->layout->trough.height == range->layout->slider.height)
+ frac = 1.0;
+ else
+- frac = ((coord - range->layout->trough.y) /
+- (gdouble) (range->layout->trough.height - range->layout->slider.height));
+- else
++ frac = ((coord - range->layout->trough.y - magic_value - stepper_spacing) /
++ (gdouble) (range->layout->trough.height - magic_value - range->layout->slider.height - (2 * stepper_spacing)));
++ }
++ else {
++ if (minimum_visible_blocks > 0)
++ magic_value = ((range->layout->trough.width -(2*stepper_spacing)) / (range->adjustment->upper - range->adjustment->lower + 1)) * minimum_visible_blocks;
+ if (range->layout->trough.width == range->layout->slider.width)
+ frac = 1.0;
+ else
+- frac = ((coord - range->layout->trough.x) /
+- (gdouble) (range->layout->trough.width - range->layout->slider.width));
++ frac = ((coord - range->layout->trough.x - magic_value - stepper_spacing) /
++ (gdouble) (range->layout->trough.width - magic_value - range->layout->slider.width - (2 * stepper_spacing)));
++ }
++
++ if (frac < 0.0)
++ frac = 0.0;
++ else
++ if (frac > 1.0)
++ frac = 1.0;
+
+ if (should_invert (range))
+ frac = 1.0 - frac;
+@@ -1242,6 +1545,8 @@
+ range->orientation == GTK_ORIENTATION_VERTICAL ?
+ event->y : event->x);
+
++ g_print("button_press: calling coord_to_value with %d, click value = %d\n", event->x, click_value);
++
+ range->trough_click_forward = click_value > range->adjustment->value;
+ range_grab_add (range, MOUSE_TROUGH, event->button);
+
+@@ -1286,7 +1591,9 @@
+ * On button 2 press, we warp the slider to mouse position,
+ * then begin the slider drag.
+ */
+- if (event->button == 2)
++ /* OSSO modification : We want this to be
++ * the default behaviour. */
++ if (range->layout->mouse_location == MOUSE_TROUGH)
+ {
+ gdouble slider_low_value, slider_high_value, new_value;
+
+@@ -1299,7 +1606,10 @@
+ range->orientation == GTK_ORIENTATION_VERTICAL ?
+ event->y - range->layout->slider.height :
+ event->x - range->layout->slider.width);
+-
++
++ g_print("calling coord_to_value with %d\n", event->x);
++ g_print("calling coord_to_value with %d\n", range->orientation == GTK_ORIENTATION_VERTICAL? event->y-range->layout->slider.height:event->x-range->layout->slider.width);
++
+ /* compute new value for warped slider */
+ new_value = slider_low_value + (slider_high_value - slider_low_value) / 2;
+
+@@ -1353,8 +1663,10 @@
+ else
+ delta = mouse_x - range->slide_initial_coordinate;
+
++ delta += -4;
+ c = range->slide_initial_slider_position + delta;
+
++ g_print("delta = %d, calling coord_to_value with %d + delta = %d\n", delta, range->slide_initial_slider_position, c);
+ new_value = coord_to_value (range, c);
+
+ g_signal_emit (range, signals[CHANGE_VALUE], 0, GTK_SCROLL_JUMP, new_value,
+@@ -1395,9 +1707,12 @@
+
+ if (range->layout->grab_button == event->button)
+ {
++ /* OSSO modification : Commented out.
++ * Not sure about the reason unfortunately. */
++/*
+ if (range->layout->grab_location == MOUSE_SLIDER)
+ update_slider_position (range, range->layout->mouse_x, range->layout->mouse_y);
+-
++*/
+ stop_scrolling (range);
+
+ return TRUE;
+@@ -2026,6 +2341,7 @@
+ GdkRectangle range_rect;
+ GtkRangeLayout *layout;
+ GtkWidget *widget;
++ gint minimum_visible_bars = 0;
+
+ if (!range->need_recalc)
+ return;
+@@ -2047,6 +2363,8 @@
+ &slider_width, &stepper_size, &trough_border, &stepper_spacing,
+ NULL, NULL);
+
++ g_object_get(range, "minimum_visible_bars", &minimum_visible_bars, NULL);
++
+ gtk_range_calc_request (range,
+ slider_width, stepper_size, trough_border, stepper_spacing,
+ &range_rect, &border, &n_steppers, &slider_length);
+@@ -2167,10 +2485,13 @@
+ /* Compute slider position/length */
+ {
+ gint y, bottom, top, height;
+-
+- top = layout->trough.y + stepper_spacing;
+- bottom = layout->trough.y + layout->trough.height - stepper_spacing;
+-
++ gint magic_value;
++
++ magic_value = (layout->trough.height / (range->adjustment->upper - range->adjustment->lower + 1));
++
++ top = layout->trough.y + stepper_spacing + (minimum_visible_bars * magic_value);
++ bottom = layout->trough.y + layout->trough.height - stepper_spacing;
++
+ /* slider height is the fraction (page_size /
+ * total_adjustment_range) times the trough height in pixels
+ */
+@@ -2307,8 +2628,11 @@
+ /* Compute slider position/length */
+ {
+ gint x, left, right, width;
++ gint magic_value;
++
++ magic_value = (layout->trough.width / (range->adjustment->upper - range->adjustment->lower + 1));
+
+- left = layout->trough.x + stepper_spacing;
++ left = layout->trough.x + stepper_spacing + (minimum_visible_bars * magic_value);
+ right = layout->trough.x + layout->trough.width - stepper_spacing;
+
+ /* slider width is the fraction (page_size /
+@@ -2340,6 +2664,32 @@
+
+ layout->slider.x = x;
+ layout->slider.width = width;
++
++ /* Hildon modification : Calculate the x point of streaming
++ * indicator.
++ */
++ {
++ gint stream_indicator_padding = 0;
++ OssoGtkRangePrivate *priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++ gtk_widget_style_get (widget,
++ "stream_indicator_padding", &stream_indicator_padding,
++ NULL);
++
++ if (priv->stream_indicator == TRUE)
++ {
++ if (range->adjustment->upper - range->adjustment->lower != 0)
++ layout->stream_pixel_position =
++ (right - left - (2 * stream_indicator_padding)) *
++ ((priv->stream_position - range->adjustment->lower) /
++ (range->adjustment->upper - range->adjustment->lower)) +
++ left + stream_indicator_padding;
++ else
++ layout->stream_pixel_position = left + stream_indicator_padding;
++
++ if (layout->stream_pixel_position < left + stream_indicator_padding)
++ layout->stream_pixel_position = left + stream_indicator_padding;
++ }
++ }
+
+ /* These are publically exported */
+ range->slider_start = layout->slider.x;
+@@ -2382,12 +2732,17 @@
+ GtkScrollType scroll,
+ gdouble value)
+ {
++ OssoGtkRangePrivate *priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++
+ /* potentially adjust the bounds _before we clamp */
+ g_signal_emit (range, signals[ADJUST_BOUNDS], 0, value);
+
+ value = CLAMP (value, range->adjustment->lower,
+ (range->adjustment->upper - range->adjustment->page_size));
+
++ if (priv->stream_indicator && value > priv->stream_position)
++ value = (gdouble)priv->stream_position;
++
+ if (range->round_digits >= 0)
+ {
+ gdouble power;
+@@ -2465,11 +2820,16 @@
+ initial_timeout (gpointer data)
+ {
+ GtkRange *range;
++ GtkSettings *settings;
++ guint timeout = SCROLL_LATER_DELAY;
++
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-update-timeout", &timeout, NULL);
+
+ GDK_THREADS_ENTER ();
+ range = GTK_RANGE (data);
+ range->timer->timeout_id =
+- g_timeout_add (SCROLL_LATER_DELAY,
++ g_timeout_add (/*SCROLL_LATER_DELAY*/timeout,
+ second_timeout,
+ range);
+ GDK_THREADS_LEAVE ();
+@@ -2482,13 +2842,19 @@
+ gtk_range_add_step_timer (GtkRange *range,
+ GtkScrollType step)
+ {
++ GtkSettings *settings;
++ guint timeout = SCROLL_INITIAL_DELAY;
++
+ g_return_if_fail (range->timer == NULL);
+ g_return_if_fail (step != GTK_SCROLL_NONE);
+
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-initial-timeout", &timeout, NULL);
++
+ range->timer = g_new (GtkRangeStepTimer, 1);
+
+ range->timer->timeout_id =
+- g_timeout_add (SCROLL_INITIAL_DELAY,
++ g_timeout_add (/*SCROLL_INITIAL_DELAY*/timeout,
+ initial_timeout,
+ range);
+ range->timer->step = step;
+@@ -2528,9 +2894,15 @@
+ static void
+ gtk_range_reset_update_timer (GtkRange *range)
+ {
++ /*GtkSettings *settings;
++ guint timeout = UPDATE_DELAY;
++
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-update-timeout", &timeout, NULL);*/
++
+ gtk_range_remove_update_timer (range);
+
+- range->update_timeout_id = g_timeout_add (UPDATE_DELAY,
++ range->update_timeout_id = g_timeout_add (/*timeout*/UPDATE_DELAY,
+ update_timeout,
+ range);
+ }
+@@ -2544,3 +2916,116 @@
+ range->update_timeout_id = 0;
+ }
+ }
++
++/**
++ * osso_gtk_range_set_stream_indicator:
++ * @range: A GtkRange
++ * @stream_indicator: Whether stream indicator graphics is shown and restricts slider.
++ *
++ * Sets whether a graphical stream indicator
++ * is show on the trough and the slider is restricted
++ * to streamed area.
++ **/
++void
++osso_gtk_range_set_stream_indicator (GtkRange *range, gboolean stream_indicator)
++{
++ OssoGtkRangePrivate *priv;
++
++ g_return_if_fail (GTK_IS_RANGE (range));
++
++ priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++
++ if (stream_indicator == priv->stream_indicator)
++ return;
++
++ priv->stream_indicator = stream_indicator;
++ g_signal_emit_by_name (G_OBJECT (range), "value_changed", NULL);
++}
++
++/**
++ * osso_gtk_range_get_stream_indicator:
++ * @range: A GtkRange
++ *
++ * Return value: Whether GtkRange displays an
++ * stream indicator graphics and slider is restricted
++ * to streamed area
++ **/
++gboolean
++osso_gtk_range_get_stream_indicator (GtkRange *range)
++{
++ OssoGtkRangePrivate *priv;
++
++ g_return_val_if_fail (GTK_IS_RANGE (range), FALSE);
++
++ priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++
++ return priv->stream_indicator;
++}
++
++/**
++ * osso_gtk_range_set_stream_position:
++ * @range : A GtkRange
++ * @position : The new position of the stream indicator
++ *
++ * Sets the new position of the stream indicator.
++ * It is automatically clamped between lower and upper.
++ * Note that you need to enable stream_indicator
++ * before any stream-functionality is active.
++ **/
++void
++osso_gtk_range_set_stream_position (GtkRange *range,
++ gdouble position)
++{
++ OssoGtkRangePrivate *priv;
++ gdouble new_pos;
++
++ g_return_if_fail (GTK_IS_RANGE (range));
++
++ new_pos = CLAMP (position,
++ range->adjustment->lower,
++ range->adjustment->upper);
++ priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++
++ priv->stream_position = new_pos;
++ /* Reset the value to clamp it with the stream_position. */
++ if (priv->stream_indicator == TRUE)
++ gtk_range_set_value (range, gtk_range_get_value (range));
++
++ g_object_notify (G_OBJECT (range), "stream_position");
++}
++/**
++ * osso_gtk_range_get_stream_position:
++ * @range : A GtkRange
++ *
++ * Return value: The current position of the stream
++ * indicator. Note that this value is undefined
++ * when stream indicator is not enabled.
++ **/
++gdouble
++osso_gtk_range_get_stream_position (GtkRange *range)
++{
++ OssoGtkRangePrivate *priv;
++
++ g_return_if_fail (GTK_IS_RANGE (range));
++
++ priv = OSSO_GTK_RANGE_GET_PRIVATE (range);
++
++ return priv->stream_position;
++}
++
++/* OSSO addition : A function to ensure that
++ * scrolling stops if widget loses focus (example:
++ * dialog pops up) */
++static gint
++osso_gtk_range_focus_out (GtkWidget *widget, GdkEventFocus *event)
++{
++ gboolean hildonlike;
++
++ gtk_widget_style_get (widget, "hildonlike", &hildonlike, NULL);
++
++ if (hildonlike)
++ {
++ stop_scrolling (GTK_RANGE (widget));
++ }
++ return GTK_WIDGET_CLASS (parent_class)->focus_out_event (widget, event);
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrange.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrange.h.diff
new file mode 100644
index 0000000000..a48acfaad5
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrange.h.diff
@@ -0,0 +1,29 @@
+--- gtk+-2.6.4/gtk/gtkrange.h 2004-08-27 05:54:12.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkrange.h 2005-04-06 16:19:37.798792072 +0300
+@@ -24,6 +24,10 @@
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
+
++/* Modified for Nokia Oyj during 2002-2005. See CHANGES file for list
++ * of changes.
++ */
++
+ #ifndef __GTK_RANGE_H__
+ #define __GTK_RANGE_H__
+
+@@ -155,6 +159,15 @@
+ gdouble _gtk_range_get_wheel_delta (GtkRange *range,
+ GdkScrollDirection direction);
+
++/* OSSO additions for streaming indicator support. */
++void osso_gtk_range_set_stream_indicator (GtkRange *range,
++ gboolean stream_indicator);
++gboolean osso_gtk_range_get_stream_indicator (GtkRange *range);
++
++void osso_gtk_range_set_stream_position (GtkRange *range,
++ gdouble position);
++gdouble osso_gtk_range_get_stream_position (GtkRange *range);
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrbtree.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrbtree.c.diff
new file mode 100644
index 0000000000..1e34b3f2e7
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrbtree.c.diff
@@ -0,0 +1,48 @@
+--- gtk+-2.6.4/gtk/gtkrbtree.c 2004-10-28 18:00:04.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkrbtree.c 2005-04-06 16:19:37.812789944 +0300
+@@ -1378,18 +1378,18 @@
+ g_return_val_if_fail (node != NULL, NULL);
+
+ /* Case 1: the node's below us. */
+- if (node->right != tree->nil)
++ if (node && node->right != tree->nil)
+ {
+ node = node->right;
+- while (node->left != tree->nil)
++ while (node && node->left != tree->nil)
+ node = node->left;
+ return node;
+ }
+
+ /* Case 2: it's an ancestor */
+- while (node->parent != tree->nil)
++ while (node && node->parent != tree->nil)
+ {
+- if (node->parent->right == node)
++ if (node->parent && node->parent->right == node)
+ node = node->parent;
+ else
+ return (node->parent);
+@@ -1407,18 +1407,18 @@
+ g_return_val_if_fail (node != NULL, NULL);
+
+ /* Case 1: the node's below us. */
+- if (node->left != tree->nil)
++ if (node != NULL && node->left != tree->nil)
+ {
+ node = node->left;
+- while (node->right != tree->nil)
++ while (node != NULL && node->right != tree->nil)
+ node = node->right;
+ return node;
+ }
+
+ /* Case 2: it's an ancestor */
+- while (node->parent != tree->nil)
++ while (node != NULL && node->parent != tree->nil)
+ {
+- if (node->parent->left == node)
++ if (node->parent && node->parent->left == node)
+ node = node->parent;
+ else
+ return (node->parent);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff
new file mode 100644
index 0000000000..a6b4f999ac
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff
@@ -0,0 +1,581 @@
+--- gtk+-2.6.4/gtk/gtkrc.c 2005-02-01 20:07:40.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkrc.c 2005-04-06 16:19:37.848784472 +0300
+@@ -56,6 +56,7 @@
+ #include "gtkprivate.h"
+ #include "gtksettings.h"
+ #include "gtkwindow.h"
++#include "gtkhashtable.h"
+
+ #ifdef G_OS_WIN32
+ #include <io.h>
+@@ -105,6 +106,14 @@
+ GtkStyle *default_style;
+ };
+
++#define GTK_RC_STYLE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_RC_STYLE, GtkRcStylePrivate))
++
++typedef struct _GtkRcStylePrivate GtkRcStylePrivate;
++
++struct _GtkRcStylePrivate {
++ GSList *logical_color_hashes;
++};
++
+ static GtkRcContext *gtk_rc_context_get (GtkSettings *settings);
+
+ static guint gtk_rc_style_hash (const gchar *name);
+@@ -179,6 +188,13 @@
+ GScanner *scanner,
+ GtkRcStyle *rc_style,
+ GtkIconFactory *factory);
++static guint gtk_rc_parse_logical_color (GScanner *scanner,
++ GtkRcStyle *rc_style,
++ GtkHashTable *hash);
++static guint gtk_rc_parse_color_full (GScanner *scanner,
++ GdkColor *color,
++ GtkRcStyle *style);
++
+ static void gtk_rc_clear_hash_node (gpointer key,
+ gpointer data,
+ gpointer user_data);
+@@ -277,7 +293,8 @@
+ { "stock", GTK_RC_TOKEN_STOCK },
+ { "im_module_file", GTK_RC_TOKEN_IM_MODULE_FILE },
+ { "LTR", GTK_RC_TOKEN_LTR },
+- { "RTL", GTK_RC_TOKEN_RTL }
++ { "RTL", GTK_RC_TOKEN_RTL },
++ { "logical_color", GTK_RC_TOKEN_LOGICAL_COLOR }
+ };
+
+ static GHashTable *realized_style_ht = NULL;
+@@ -954,6 +971,7 @@
+ static void
+ gtk_rc_style_init (GtkRcStyle *style)
+ {
++ GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (style);
+ guint i;
+
+ style->name = NULL;
+@@ -976,6 +994,7 @@
+
+ style->rc_style_lists = NULL;
+ style->icon_factories = NULL;
++ priv->logical_color_hashes = NULL;
+ }
+
+ static void
+@@ -991,6 +1010,21 @@
+ klass->create_rc_style = gtk_rc_style_real_create_rc_style;
+ klass->merge = gtk_rc_style_real_merge;
+ klass->create_style = gtk_rc_style_real_create_style;
++
++ g_type_class_add_private (object_class, sizeof (GtkRcStylePrivate));
++}
++
++static void
++free_object_list (GSList *list)
++{
++ GSList *tmp_list = list;
++ while (tmp_list)
++ {
++ g_object_unref (tmp_list->data);
++ tmp_list = tmp_list->next;
++ }
++ g_slist_free (list);
++
+ }
+
+ static void
+@@ -998,9 +1032,11 @@
+ {
+ GSList *tmp_list1, *tmp_list2;
+ GtkRcStyle *rc_style;
++ GtkRcStylePrivate *rc_priv;
+ gint i;
+
+ rc_style = GTK_RC_STYLE (object);
++ rc_priv = GTK_RC_STYLE_GET_PRIVATE (rc_style);
+
+ if (rc_style->name)
+ g_free (rc_style->name);
+@@ -1059,13 +1095,8 @@
+ rc_style->rc_properties = NULL;
+ }
+
+- tmp_list1 = rc_style->icon_factories;
+- while (tmp_list1)
+- {
+- g_object_unref (tmp_list1->data);
+- tmp_list1 = tmp_list1->next;
+- }
+- g_slist_free (rc_style->icon_factories);
++ free_object_list (rc_style->icon_factories);
++ free_object_list (rc_priv->logical_color_hashes);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+ }
+@@ -1125,6 +1156,14 @@
+ return g_object_new (G_OBJECT_TYPE (style), NULL);
+ }
+
++GSList *
++_gtk_rc_style_get_logical_color_hashes (GtkRcStyle *rc_style)
++{
++ GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (rc_style);
++
++ return priv->logical_color_hashes;
++}
++
+ static gint
+ gtk_rc_properties_cmp (gconstpointer bsearch_node1,
+ gconstpointer bsearch_node2)
+@@ -1499,6 +1538,22 @@
+ context->rc_files = NULL;
+
+ gtk_rc_parse_default_files (context);
++/*Hildon- Swapped these sections of code, so the styles from the
++ XSettings theme are available when parsing with gtk_rc_context_parse_string*/
++ g_free (context->theme_name);
++ g_free (context->key_theme_name);
++
++ g_object_get (context->settings,
++ "gtk-theme-name", &context->theme_name,
++ "gtk-key-theme-name", &context->key_theme_name,
++ NULL);
++
++ if (context->theme_name && context->theme_name[0])
++ gtk_rc_parse_named (context, context->theme_name, NULL);
++ if (context->key_theme_name && context->key_theme_name[0])
++ gtk_rc_parse_named (context, context->key_theme_name, "key");
++
++/*****/
+
+ tmp_list = global_rc_files;
+ while (tmp_list)
+@@ -1512,19 +1567,6 @@
+
+ tmp_list = tmp_list->next;
+ }
+-
+- g_free (context->theme_name);
+- g_free (context->key_theme_name);
+-
+- g_object_get (context->settings,
+- "gtk-theme-name", &context->theme_name,
+- "gtk-key-theme-name", &context->key_theme_name,
+- NULL);
+-
+- if (context->theme_name && context->theme_name[0])
+- gtk_rc_parse_named (context, context->theme_name, NULL);
+- if (context->key_theme_name && context->key_theme_name[0])
+- gtk_rc_parse_named (context, context->key_theme_name, "key");
+
+ g_object_thaw_notify (G_OBJECT (context->settings));
+
+@@ -1905,10 +1947,19 @@
+ {
+ GScanner *scanner;
+ guint i;
++ gchar *name_str;
+ gboolean done;
+
+ scanner = gtk_rc_scanner_new ();
+
++ if (input_name != NULL)
++ {
++ name_str = (gchar *) g_malloc(strlen(input_name) + 7);
++ sprintf(name_str, "%s.cache", input_name);
++ /*osso_g_scanner_cache_open (scanner, name_str);*/
++ g_free(name_str);
++ }
++
+ if (input_fd >= 0)
+ {
+ g_assert (input_string == NULL);
+@@ -2062,6 +2113,29 @@
+ return style;
+ }
+
++static GSList *
++concat_object_lists (GSList *list_a, GSList *list_b)
++{
++ GSList *copy;
++
++ copy = g_slist_copy (list_b);
++ if (copy)
++ {
++ GSList *iter;
++
++ iter = copy;
++ while (iter != NULL)
++ {
++ g_object_ref (iter->data);
++ iter = g_slist_next (iter);
++ }
++
++ return g_slist_concat (list_a, copy);
++ }
++ else
++ return list_a;
++}
++
+ /* Reuses or frees rc_styles */
+ static GtkStyle *
+ gtk_rc_init_style (GtkRcContext *context,
+@@ -2083,6 +2157,7 @@
+ GtkRcStyle *base_style = NULL;
+ GtkRcStyle *proto_style;
+ GtkRcStyleClass *proto_style_class;
++ GtkRcStylePrivate *proto_priv;
+ GSList *tmp_styles;
+ GType rc_style_type = GTK_TYPE_RC_STYLE;
+
+@@ -2109,12 +2184,13 @@
+
+ proto_style_class = GTK_RC_STYLE_GET_CLASS (base_style);
+ proto_style = proto_style_class->create_rc_style (base_style);
++ proto_priv = GTK_RC_STYLE_GET_PRIVATE (proto_style);
+
+ tmp_styles = rc_styles;
+ while (tmp_styles)
+ {
+ GtkRcStyle *rc_style = tmp_styles->data;
+- GSList *factories;
++ GtkRcStylePrivate *rc_priv = GTK_RC_STYLE_GET_PRIVATE (rc_style);
+
+ proto_style_class->merge (proto_style, rc_style);
+
+@@ -2122,22 +2198,12 @@
+ if (!g_slist_find (rc_style->rc_style_lists, rc_styles))
+ rc_style->rc_style_lists = g_slist_prepend (rc_style->rc_style_lists, rc_styles);
+
+- factories = g_slist_copy (rc_style->icon_factories);
+- if (factories)
+- {
+- GSList *iter;
+-
+- iter = factories;
+- while (iter != NULL)
+- {
+- g_object_ref (iter->data);
+- iter = g_slist_next (iter);
+- }
+-
+- proto_style->icon_factories = g_slist_concat (proto_style->icon_factories,
+- factories);
+-
+- }
++ proto_style->icon_factories =
++ concat_object_lists (proto_style->icon_factories,
++ rc_style->icon_factories);
++ proto_priv->logical_color_hashes =
++ concat_object_lists (proto_priv->logical_color_hashes,
++ rc_priv->logical_color_hashes);
+
+ tmp_styles = tmp_styles->next;
+ }
+@@ -2515,9 +2581,11 @@
+ GtkRcStyle *rc_style;
+ GtkRcStyle *orig_style;
+ GtkRcStyle *parent_style;
++ GtkRcStylePrivate *rc_priv = NULL;
+ guint token;
+ gint i;
+ GtkIconFactory *our_factory = NULL;
++ GtkHashTable *our_hash = NULL;
+
+ token = g_scanner_get_next_token (scanner);
+ if (token != GTK_RC_TOKEN_STYLE)
+@@ -2533,12 +2601,6 @@
+ else
+ orig_style = NULL;
+
+- /* If there's a list, its first member is always the factory belonging
+- * to this RcStyle
+- */
+- if (rc_style && rc_style->icon_factories)
+- our_factory = rc_style->icon_factories->data;
+-
+ if (!rc_style)
+ {
+ rc_style = gtk_rc_style_new ();
+@@ -2550,6 +2612,16 @@
+ for (i = 0; i < 5; i++)
+ rc_style->color_flags[i] = 0;
+ }
++
++ rc_priv = GTK_RC_STYLE_GET_PRIVATE (rc_style);
++
++ /* If there's a list, its first member is always the factory belonging
++ * to this RcStyle
++ */
++ if (rc_style->icon_factories)
++ our_factory = rc_style->icon_factories->data;
++ if (rc_priv->logical_color_hashes)
++ our_hash = rc_priv->logical_color_hashes->data;
+
+ token = g_scanner_peek_next_token (scanner);
+ if (token == G_TOKEN_EQUAL_SIGN)
+@@ -2566,8 +2638,8 @@
+ parent_style = gtk_rc_style_find (context, scanner->value.v_string);
+ if (parent_style)
+ {
+- GSList *factories;
+-
++ GtkRcStylePrivate *parent_priv = GTK_RC_STYLE_GET_PRIVATE (parent_style);
++
+ for (i = 0; i < 5; i++)
+ {
+ rc_style->color_flags[i] = parent_style->color_flags[i];
+@@ -2621,17 +2693,24 @@
+ rc_style->icon_factories = g_slist_prepend (rc_style->icon_factories,
+ our_factory);
+ }
+-
+- rc_style->icon_factories = g_slist_concat (rc_style->icon_factories,
+- g_slist_copy (parent_style->icon_factories));
+-
+- factories = parent_style->icon_factories;
+- while (factories != NULL)
++ rc_style->icon_factories = concat_object_lists (rc_style->icon_factories,
++ parent_style->icon_factories);
++ }
++
++ /* Also append parent's color hashes, adding a ref to them */
++ if (parent_priv->logical_color_hashes != NULL)
++ {
++ /* See comment above .. */
++ if (our_hash == NULL)
+ {
+- g_object_ref (factories->data);
+- factories = factories->next;
++ our_hash = _gtk_hash_table_new ();
++ rc_priv->logical_color_hashes = g_slist_prepend (rc_priv->logical_color_hashes,
++ our_hash);
+ }
+- }
++
++ rc_priv->logical_color_hashes = concat_object_lists (rc_priv->logical_color_hashes,
++ parent_priv->logical_color_hashes);
++ }
+ }
+ }
+
+@@ -2689,12 +2768,22 @@
+ }
+ token = gtk_rc_parse_stock (context, scanner, rc_style, our_factory);
+ break;
++ case GTK_RC_TOKEN_LOGICAL_COLOR:
++ if (our_hash == NULL)
++ {
++ our_hash = _gtk_hash_table_new ();
++ rc_priv->logical_color_hashes = g_slist_prepend (rc_priv->logical_color_hashes,
++ our_hash);
++ }
++ token = gtk_rc_parse_logical_color (scanner, rc_style, our_hash);
++ break;
+ case G_TOKEN_IDENTIFIER:
+ if (is_c_identifier (scanner->next_value.v_identifier) &&
+ scanner->next_value.v_identifier[0] >= 'A' &&
+ scanner->next_value.v_identifier[0] <= 'Z') /* match namespaced type names */
+ {
+ GtkRcProperty prop = { 0, 0, NULL, { 0, }, };
++ gchar *name;
+
+ g_scanner_get_next_token (scanner); /* eat type name */
+ prop.type_name = g_quark_from_string (scanner->value.v_identifier);
+@@ -2712,8 +2801,10 @@
+ }
+
+ /* it's important that we do the same canonification as GParamSpecPool here */
+- g_strcanon (scanner->value.v_identifier, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-');
+- prop.property_name = g_quark_from_string (scanner->value.v_identifier);
++ name = g_strdup (scanner->value.v_identifier);
++ g_strcanon (name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-');
++ prop.property_name = g_quark_from_string (name);
++ g_free (name);
+
+ token = gtk_rc_parse_assignment (scanner, &prop);
+ if (token == G_TOKEN_NONE)
+@@ -2825,7 +2916,7 @@
+ return G_TOKEN_EQUAL_SIGN;
+
+ style->color_flags[state] |= GTK_RC_BG;
+- return gtk_rc_parse_color (scanner, &style->bg[state]);
++ return gtk_rc_parse_color_full (scanner, &style->bg[state], style);
+ }
+
+ static guint
+@@ -2848,7 +2939,7 @@
+ return G_TOKEN_EQUAL_SIGN;
+
+ style->color_flags[state] |= GTK_RC_FG;
+- return gtk_rc_parse_color (scanner, &style->fg[state]);
++ return gtk_rc_parse_color_full (scanner, &style->fg[state], style);
+ }
+
+ static guint
+@@ -2871,7 +2962,7 @@
+ return G_TOKEN_EQUAL_SIGN;
+
+ style->color_flags[state] |= GTK_RC_TEXT;
+- return gtk_rc_parse_color (scanner, &style->text[state]);
++ return gtk_rc_parse_color_full (scanner, &style->text[state], style);
+ }
+
+ static guint
+@@ -2894,7 +2985,7 @@
+ return G_TOKEN_EQUAL_SIGN;
+
+ style->color_flags[state] |= GTK_RC_BASE;
+- return gtk_rc_parse_color (scanner, &style->base[state]);
++ return gtk_rc_parse_color_full (scanner, &style->base[state], style);
+ }
+
+ static guint
+@@ -3345,11 +3436,45 @@
+
+ return G_TOKEN_NONE;
+ }
++static gboolean
++lookup_logical_color (GtkRcStyle *style,
++ const char *color_name,
++ GdkColor *color)
++{
++ GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (style);
++ GSList *iter;
++
++ iter = priv->logical_color_hashes;
++ while (iter != NULL)
++ {
++ GdkColor *match = g_hash_table_lookup (GTK_HASH_TABLE (iter->data)->hash,
++ color_name);
++ if (match)
++ {
++ color->red = match->red;
++ color->green = match->green;
++ color->blue = match->blue;
++ return TRUE;
++ }
++
++ iter = g_slist_next (iter);
++ }
++
++ return FALSE;
++}
+
+ guint
+ gtk_rc_parse_color (GScanner *scanner,
+ GdkColor *color)
+ {
++ return gtk_rc_parse_color_full (scanner, color, NULL);
++}
++
++static guint
++gtk_rc_parse_color_full (GScanner *scanner,
++ GdkColor *color,
++ GtkRcStyle *style)
++{
+ guint token;
+
+ g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR);
+@@ -3407,11 +3532,14 @@
+ case G_TOKEN_STRING:
+ if (!gdk_color_parse (scanner->value.v_string, color))
+ {
+- g_scanner_warn (scanner, "Invalid color constant '%s'",
+- scanner->value.v_string);
+- return G_TOKEN_STRING;
++ if (!(style && lookup_logical_color (style, scanner->value.v_string, color)))
++ {
++ g_scanner_warn (scanner, "Invalid color constant '%s'",
++ scanner->value.v_string);
++ return G_TOKEN_STRING;
++ }
+ }
+- else
++
+ return G_TOKEN_NONE;
+
+ default:
+@@ -3625,8 +3753,8 @@
+ }
+
+ static guint
+-gtk_rc_parse_stock_id (GScanner *scanner,
+- gchar **stock_id)
++gtk_rc_parse_hash_key (GScanner *scanner,
++ gchar **hash_key)
+ {
+ guint token;
+
+@@ -3639,12 +3767,12 @@
+ if (token != G_TOKEN_STRING)
+ return G_TOKEN_STRING;
+
+- *stock_id = g_strdup (scanner->value.v_string);
++ *hash_key = g_strdup (scanner->value.v_string);
+
+ token = g_scanner_get_next_token (scanner);
+ if (token != G_TOKEN_RIGHT_BRACE)
+ {
+- g_free (*stock_id);
++ g_free (*hash_key);
+ return G_TOKEN_RIGHT_BRACE;
+ }
+
+@@ -3854,7 +3982,7 @@
+ if (token != GTK_RC_TOKEN_STOCK)
+ return GTK_RC_TOKEN_STOCK;
+
+- token = gtk_rc_parse_stock_id (scanner, &stock_id);
++ token = gtk_rc_parse_hash_key (scanner, &stock_id);
+ if (token != G_TOKEN_NONE)
+ return token;
+
+@@ -3965,3 +4093,46 @@
+ }
+
+ #endif
++
++static guint
++gtk_rc_parse_logical_color (GScanner *scanner,
++ GtkRcStyle *rc_style,
++ GtkHashTable *hash)
++{
++ gchar *color_id = NULL;
++ guint token;
++ GdkColor *color;
++
++ token = g_scanner_get_next_token (scanner);
++ if (token != GTK_RC_TOKEN_LOGICAL_COLOR)
++ return GTK_RC_TOKEN_LOGICAL_COLOR;
++
++ token = gtk_rc_parse_hash_key (scanner, &color_id);
++ if (token != G_TOKEN_NONE)
++ return token;
++
++ token = g_scanner_get_next_token (scanner);
++ if (token != G_TOKEN_EQUAL_SIGN)
++ {
++ g_free (color_id);
++ return G_TOKEN_EQUAL_SIGN;
++ }
++
++ color = g_new (GdkColor, 1);
++ token = gtk_rc_parse_color_full (scanner, color, rc_style);
++ if (token != G_TOKEN_NONE)
++ {
++ g_free (color_id);
++ g_free (color);
++ return token;
++ }
++
++ /* Because the hash is created with destroy functions,
++ * g_hash_table_insert will free any old values for us,
++ * if a mapping with the specified key already exists. */
++ g_hash_table_insert (hash->hash, color_id, color);
++
++ return G_TOKEN_NONE;
++}
++
++
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.h.diff
new file mode 100644
index 0000000000..42710cd549
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.h.diff
@@ -0,0 +1,19 @@
+--- gtk+-2.6.4/gtk/gtkrc.h 2004-12-12 23:09:13.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkrc.h 2005-04-06 16:19:37.866781736 +0300
+@@ -211,6 +211,7 @@
+ GTK_RC_TOKEN_STOCK,
+ GTK_RC_TOKEN_LTR,
+ GTK_RC_TOKEN_RTL,
++ GTK_RC_TOKEN_LOGICAL_COLOR,
+ GTK_RC_TOKEN_LAST
+ } GtkRcTokenType;
+
+@@ -241,6 +242,8 @@
+
+ const gchar* _gtk_rc_context_get_default_font_name (GtkSettings *settings);
+
++GSList *_gtk_rc_style_get_logical_color_hashes (GtkRcStyle *rc_style);
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkscrolledwindow.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkscrolledwindow.c.diff
new file mode 100644
index 0000000000..3c20de8ebd
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkscrolledwindow.c.diff
@@ -0,0 +1,162 @@
+--- gtk+-2.6.4/gtk/gtkscrolledwindow.c 2004-08-09 19:59:52.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkscrolledwindow.c 2005-04-06 16:19:37.898776872 +0300
+@@ -289,6 +289,13 @@
+ DEFAULT_SCROLLBAR_SPACING,
+ G_PARAM_READABLE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("scrollbar_dislocation",
++ P_("Scrollbar dislocation"),
++ P_("Flag for having scrollbar at the outer border or container padding instead of at the inner border"),
++ FALSE,
++ G_PARAM_READABLE));
++
+ signals[SCROLL_CHILD] =
+ g_signal_new ("scroll_child",
+ G_TYPE_FROM_CLASS (object_class),
+@@ -1062,6 +1069,73 @@
+ }
+ }
+
++static gdouble
++gtk_scrolled_window_get_focus_movement (GtkScrolledWindow *scrolled_window)
++{
++ GtkWidget *focus_child;
++ GtkRange *range;
++ GtkAdjustment *adj;
++ gdouble value, new_value;
++ gint x, y;
++
++ focus_child = GTK_CONTAINER(scrolled_window)->focus_child;
++ if (focus_child == NULL)
++ return 0;
++
++ while (GTK_IS_CONTAINER (focus_child) &&
++ GTK_CONTAINER (focus_child)->focus_child)
++ {
++ focus_child = GTK_CONTAINER (focus_child)->focus_child;
++ }
++
++ range = GTK_RANGE (scrolled_window->vscrollbar);
++ adj = range->adjustment;
++ value = gtk_adjustment_get_value (adj);
++
++ gtk_widget_translate_coordinates (focus_child->parent,
++ GTK_WIDGET(scrolled_window),
++ focus_child->allocation.x,
++ focus_child->allocation.y, &x, &y);
++
++ if (y < 0)
++ {
++ /* scroll up */
++ new_value = value + y;
++ if (new_value < adj->lower)
++ new_value = adj->lower;
++ }
++ else if (y + focus_child->allocation.height > adj->page_size)
++ {
++ /* scroll down */
++ new_value = value + y + focus_child->allocation.height - adj->page_size;
++ if (new_value > adj->upper - adj->page_size)
++ new_value = adj->upper - adj->page_size;
++ }
++ else
++ {
++ new_value = value;
++ }
++
++ return new_value - value;
++}
++
++static void
++gtk_scrolled_window_scroll_to_focus (GtkScrolledWindow *scrolled_window)
++{
++ GtkAdjustment *adj;
++ gdouble diff;
++
++ diff = gtk_scrolled_window_get_focus_movement (scrolled_window);
++ if (diff != 0)
++ {
++ adj = GTK_RANGE (scrolled_window->vscrollbar)->adjustment;
++
++ gtk_adjustment_set_value (adj, gtk_adjustment_get_value (adj) + diff);
++ gtk_scrolled_window_set_vadjustment (scrolled_window,
++ GTK_ADJUSTMENT (adj));
++ }
++}
++
+ static void
+ gtk_scrolled_window_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation)
+@@ -1071,17 +1145,32 @@
+ GtkAllocation relative_allocation;
+ GtkAllocation child_allocation;
+ gint scrollbar_spacing;
+-
++ gboolean is_focus_visible, dislocate;
++ gint dislocation;
++
+ g_return_if_fail (GTK_IS_SCROLLED_WINDOW (widget));
+ g_return_if_fail (allocation != NULL);
+
+ scrolled_window = GTK_SCROLLED_WINDOW (widget);
+ bin = GTK_BIN (scrolled_window);
+
++ is_focus_visible =
++ gtk_scrolled_window_get_focus_movement (scrolled_window) == 0;
++
+ scrollbar_spacing = _gtk_scrolled_window_get_scrollbar_spacing (scrolled_window);
+
+ widget->allocation = *allocation;
+
++ /* See how much scrollbar needs be "dislocated" (to get it to the other
++ * edge of the border). Does not apply to all occasions. */
++ gtk_widget_style_get (GTK_WIDGET (scrolled_window),
++ "scrollbar_dislocation", &dislocate,
++ NULL);
++ if (dislocate)
++ dislocation = GTK_CONTAINER (scrolled_window)->border_width;
++ else
++ dislocation = 0;
++
+ if (scrolled_window->hscrollbar_policy == GTK_POLICY_ALWAYS)
+ scrolled_window->hscrollbar_visible = TRUE;
+ else if (scrolled_window->hscrollbar_policy == GTK_POLICY_NEVER)
+@@ -1150,10 +1239,12 @@
+ child_allocation.y = (relative_allocation.y +
+ relative_allocation.height +
+ scrollbar_spacing +
++ dislocation +
+ (scrolled_window->shadow_type == GTK_SHADOW_NONE ?
+ 0 : widget->style->ythickness));
+ else
+- child_allocation.y = GTK_CONTAINER (scrolled_window)->border_width;
++ child_allocation.y = GTK_CONTAINER (scrolled_window)->border_width -
++ dislocation;
+
+ child_allocation.width = relative_allocation.width;
+ child_allocation.height = hscrollbar_requisition.height;
+@@ -1189,10 +1280,12 @@
+ child_allocation.x = (relative_allocation.x +
+ relative_allocation.width +
+ scrollbar_spacing +
++ dislocation +
+ (scrolled_window->shadow_type == GTK_SHADOW_NONE ?
+ 0 : widget->style->xthickness));
+ else
+- child_allocation.x = GTK_CONTAINER (scrolled_window)->border_width;
++ child_allocation.x = GTK_CONTAINER (scrolled_window)->border_width -
++ dislocation;
+
+ child_allocation.y = relative_allocation.y;
+ child_allocation.width = vscrollbar_requisition.width;
+@@ -1207,6 +1300,9 @@
+ }
+
+ gtk_widget_size_allocate (scrolled_window->vscrollbar, &child_allocation);
++
++ if (is_focus_visible)
++ gtk_scrolled_window_scroll_to_focus (scrolled_window);
+ }
+ else if (GTK_WIDGET_VISIBLE (scrolled_window->vscrollbar))
+ gtk_widget_hide (scrolled_window->vscrollbar);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkseparator.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkseparator.c.diff
new file mode 100644
index 0000000000..63810e047b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkseparator.c.diff
@@ -0,0 +1,21 @@
+--- gtk+-2.6.4/gtk/gtkseparator.c 2004-08-09 19:59:52.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkseparator.c 2005-04-06 16:19:37.928772312 +0300
+@@ -65,6 +65,18 @@
+ static void
+ gtk_separator_class_init (GtkSeparatorClass *class)
+ {
++ GParamSpec* pspec;
++
++ pspec = g_param_spec_boolean("hildonlike-drawing",
++ "hildonlike looks.",
++ "hildonlike looks. "
++ "Draws with paint_box "
++ "instead of paint_(vh)line, 1/0",
++ FALSE,
++ G_PARAM_READABLE);
++
++ gtk_widget_class_install_style_property(GTK_WIDGET_CLASS(class),
++ pspec);
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkseparatortoolitem.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkseparatortoolitem.c.diff
new file mode 100644
index 0000000000..63203f7db6
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkseparatortoolitem.c.diff
@@ -0,0 +1,90 @@
+--- gtk+-2.6.4/gtk/gtkseparatortoolitem.c 2004-08-09 19:59:52.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkseparatortoolitem.c 2005-04-06 16:19:37.937770944 +0300
+@@ -29,6 +29,7 @@
+ #include "gtktoolbar.h"
+
+ #define MENU_ID "gtk-separator-tool-item-menu-id"
++#define HILDON_SEPARATOR_HEIGHT 40
+
+ enum {
+ PROP_0,
+@@ -137,6 +138,18 @@
+ P_("Whether the separator is drawn, or just blank"),
+ TRUE,
+ G_PARAM_READWRITE));
++ /* Hildon addition : some new style properties we need. */
++ gtk_widget_class_install_style_property(widget_class,
++ g_param_spec_int ("separator_size",
++ P_("Separator size"), P_("The thickness of the separator. -1 for default behaviour."),
++ -1, G_MAXINT, -1, G_PARAM_READWRITE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("is_image",
++ P_("Is separator an image or a line"),
++ P_("Whether the separator is drawn as an image, or just as a line"),
++ FALSE,
++ G_PARAM_READWRITE));
+
+ g_type_class_add_private (object_class, sizeof (GtkSeparatorToolItemPrivate));
+ }
+@@ -213,14 +226,26 @@
+ GtkToolItem *item = GTK_TOOL_ITEM (widget);
+ GtkOrientation orientation = gtk_tool_item_get_orientation (item);
+
++ /* Hildon modifications from here on:
++ * if the "separator_size" style property
++ * is the default value (it has not been set
++ * in resource files), use default gtk+ behaviour.
++ */
++ gint separator_size = -1;
++
++ gtk_widget_style_get( widget, "separator_size", &separator_size, NULL );
++
++ if (separator_size == -1)
++ separator_size = get_space_size (item);
++
+ if (orientation == GTK_ORIENTATION_HORIZONTAL)
+ {
+- requisition->width = get_space_size (item);
++ requisition->width = separator_size;
+ requisition->height = 1;
+ }
+ else
+ {
+- requisition->height = get_space_size (item);
++ requisition->height = separator_size;
+ requisition->width = 1;
+ }
+ }
+@@ -235,10 +260,30 @@
+
+ if (priv->draw)
+ {
++ gboolean is_image = FALSE;
+ if (widget->parent && GTK_IS_TOOLBAR (widget->parent))
+ toolbar = GTK_TOOLBAR (widget->parent);
+
+- _gtk_toolbar_paint_space_line (widget, toolbar,
++ gtk_widget_style_get( widget, "is_image", &is_image, NULL );
++ if (is_image)
++ {
++ gint separator_size = -1;
++ GtkOrientation orientation = gtk_tool_item_get_orientation (GTK_TOOL_ITEM (widget));
++
++ gtk_widget_style_get( widget, "separator_size", &separator_size, NULL );
++
++ /* if style property not set, use gtk+
++ * default behaviour. */
++ if (separator_size == -1)
++ separator_size = get_space_size (GTK_TOOL_ITEM (widget));
++
++ gtk_paint_box( widget->style, widget->window, GTK_WIDGET_STATE(widget),
++ GTK_SHADOW_NONE, &event->area, widget,
++ orientation == GTK_ORIENTATION_HORIZONTAL ? "vertical" : "horizontal",
++ widget->allocation.x, widget->allocation.y + (widget->allocation.height - HILDON_SEPARATOR_HEIGHT) / 2,
++ separator_size, HILDON_SEPARATOR_HEIGHT );
++ } else
++ _gtk_toolbar_paint_space_line (widget, toolbar,
+ &(event->area), &widget->allocation);
+ }
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtksettings.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtksettings.c.diff
new file mode 100644
index 0000000000..fac467797d
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtksettings.c.diff
@@ -0,0 +1,66 @@
+--- gtk+-2.6.4/gtk/gtksettings.c 2004-11-20 01:18:38.000000000 +0200
++++ gtk+-2.6.4/gtk/gtksettings.c 2005-04-06 16:19:37.941770336 +0300
+@@ -1,4 +1,4 @@
+-/* GTK - The GIMP Toolkit
++/*
+ * Copyright (C) 2000 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+@@ -24,6 +24,9 @@
+ #include "gtkintl.h"
+ #include "gtkwidget.h"
+
++#define DEFAULT_INITIAL_TIMEOUT 300
++#define DEFAULT_UPDATE_TIMEOUT 125
++
+ typedef struct _GtkSettingsValuePrivate GtkSettingsValuePrivate;
+
+ typedef enum
+@@ -72,6 +75,9 @@
+ PROP_XFT_RGBA,
+ PROP_XFT_DPI,
+ #endif
++ PROP_INITIAL_TIMEOUT,
++ PROP_UPDATE_TIMEOUT,
++ PROP_HILDON_KEYBOARD_NAVIGATION,
+ PROP_ALTERNATIVE_BUTTON_ORDER
+ };
+
+@@ -426,6 +432,37 @@
+ NULL);
+
+ g_assert (result == PROP_XFT_DPI);
++
++ result = settings_install_property_parser (class,
++ g_param_spec_int ("gtk-initial-timeout",
++ P_("Start timeout"),
++ P_("Starting value for timeouts, when button is pressed"),
++ 0, G_MAXINT, DEFAULT_INITIAL_TIMEOUT,
++ G_PARAM_READWRITE),
++ NULL);
++
++ g_assert (result == PROP_INITIAL_TIMEOUT);
++
++ result = settings_install_property_parser (class,
++ g_param_spec_int ("gtk-update-timeout",
++ P_("Repeat timeout"),
++ P_("Repeat value for timeouts, when button is pressed"),
++ 0, G_MAXINT, DEFAULT_UPDATE_TIMEOUT,
++ G_PARAM_READWRITE),
++ NULL);
++
++ g_assert (result == PROP_UPDATE_TIMEOUT);
++
++ result = settings_install_property_parser (class,
++ g_param_spec_boolean ("hildon-keyboard-navigation",
++ P_("Keyboard navigation"),
++ P_("This property can be used to enable keyboard navigation"),
++ FALSE,
++ G_PARAM_READWRITE),
++ NULL);
++
++ g_assert (result == PROP_HILDON_KEYBOARD_NAVIGATION);
++
+ #endif /* GDK_WINDOWING_X11 */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-alternative-button-order",
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkspinbutton.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkspinbutton.c.diff
new file mode 100644
index 0000000000..13f8c330f5
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkspinbutton.c.diff
@@ -0,0 +1,50 @@
+--- gtk+-2.6.4/gtk/gtkspinbutton.c 2004-11-14 03:25:35.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkspinbutton.c 2005-04-06 16:19:37.945769728 +0300
+@@ -1041,15 +1041,21 @@
+ GtkArrowType click_child,
+ gdouble step)
+ {
++ GtkSettings *settings;
++ guint timeout;
++
+ g_return_if_fail (click_child == GTK_ARROW_UP || click_child == GTK_ARROW_DOWN);
+-
++
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-initial-timeout", &timeout, NULL);
++
+ spin->click_child = click_child;
+
+ if (!spin->timer)
+ {
+ spin->timer_step = step;
+ spin->need_timer = TRUE;
+- spin->timer = g_timeout_add (SPIN_BUTTON_INITIAL_TIMER_DELAY,
++ spin->timer = g_timeout_add (/*SPIN_BUTTON_INITIAL_TIMER_DELAY*/timeout,
+ (GSourceFunc) gtk_spin_button_timer,
+ (gpointer) spin);
+ }
+@@ -1188,9 +1194,14 @@
+ gtk_spin_button_timer (GtkSpinButton *spin_button)
+ {
+ gboolean retval = FALSE;
++ GtkSettings *settings;
++ guint timeout;
+
+ GDK_THREADS_ENTER ();
+
++ settings = gtk_settings_get_default ();
++ g_object_get (settings, "gtk-update-timeout", &timeout, NULL);
++
+ if (spin_button->timer)
+ {
+ if (spin_button->click_child == GTK_ARROW_UP)
+@@ -1201,7 +1212,7 @@
+ if (spin_button->need_timer)
+ {
+ spin_button->need_timer = FALSE;
+- spin_button->timer = g_timeout_add (SPIN_BUTTON_TIMER_DELAY,
++ spin_button->timer = g_timeout_add (/*SPIN_BUTTON_TIMER_DELAY*/timeout,
+ (GSourceFunc) gtk_spin_button_timer,
+ (gpointer) spin_button);
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkstyle.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkstyle.c.diff
new file mode 100644
index 0000000000..6a94d96509
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkstyle.c.diff
@@ -0,0 +1,250 @@
+--- gtk+-2.6.4/gtk/gtkstyle.c 2005-01-18 18:43:45.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkstyle.c 2005-04-06 16:19:37.951768816 +0300
+@@ -38,6 +38,7 @@
+ #include "gtkthemes.h"
+ #include "gtkiconfactory.h"
+ #include "gtksettings.h" /* _gtk_settings_parse_convert() */
++#include "gtkhashtable.h"
+
+ #define LIGHTNESS_MULT 1.3
+ #define DARKNESS_MULT 0.7
+@@ -49,6 +50,14 @@
+ GValue value;
+ } PropertyValue;
+
++#define GTK_STYLE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_STYLE, GtkStylePrivate))
++
++typedef struct _GtkStylePrivate GtkStylePrivate;
++
++struct _GtkStylePrivate {
++ GSList *logical_color_hashes;
++};
++
+ /* --- prototypes --- */
+ static void gtk_style_init (GtkStyle *style);
+ static void gtk_style_class_init (GtkStyleClass *klass);
+@@ -655,6 +664,7 @@
+ klass->draw_layout = gtk_default_draw_layout;
+ klass->draw_resize_grip = gtk_default_draw_resize_grip;
+
++ g_type_class_add_private (object_class, sizeof (GtkStylePrivate));
+
+ /**
+ * GtkStyle::realize:
+@@ -714,9 +724,28 @@
+ }
+
+ static void
++free_object_list (GSList *list)
++{
++ if (list)
++ {
++ GSList *tmp_list = list;
++
++ while (tmp_list)
++ {
++ g_object_unref (tmp_list->data);
++ tmp_list = tmp_list->next;
++ }
++
++ g_slist_free (list);
++ }
++
++}
++
++static void
+ gtk_style_finalize (GObject *object)
+ {
+ GtkStyle *style = GTK_STYLE (object);
++ GtkStylePrivate *priv = GTK_STYLE_GET_PRIVATE (style);
+
+ g_return_if_fail (style->attach_count == 0);
+
+@@ -745,19 +774,9 @@
+ g_slist_free_1 (style->styles);
+ }
+ }
+-
+- if (style->icon_factories)
+- {
+- GSList *tmp_list = style->icon_factories;
+-
+- while (tmp_list)
+- {
+- g_object_unref (tmp_list->data);
+- tmp_list = tmp_list->next;
+- }
+-
+- g_slist_free (style->icon_factories);
+- }
++
++ free_object_list (style->icon_factories);
++ free_object_list (priv->logical_color_hashes);
+
+ pango_font_description_free (style->font_desc);
+
+@@ -1003,6 +1022,51 @@
+ return gtk_icon_factory_lookup_default (stock_id);
+ }
+
++ /**
++ * gtk_style_lookup_logical_color:
++ * @style: a #GtkStyle
++ * @color_name: the name of the logical color to look up
++ * @color: the #GdkColor to fill in
++ *
++ * Looks up @color_name in the style's logical color mappings,
++ * filling in @color and returning %TRUE if found, otherwise
++ * returning %FALSE. Do not cache the found mapping, because
++ * it depends on the #GtkStyle and might change when a theme
++ * switch occurs.
++ *
++ * Return value: %TRUE if the mapping was found.
++ */
++gboolean
++gtk_style_lookup_logical_color (GtkStyle *style,
++ const char *color_name,
++ GdkColor *color)
++{
++ GtkStylePrivate *priv = GTK_STYLE_GET_PRIVATE (style);
++ GSList *iter;
++
++ g_return_val_if_fail (GTK_IS_STYLE (style), FALSE);
++ g_return_val_if_fail (color_name != NULL, FALSE);
++ g_return_val_if_fail (color != NULL, FALSE);
++
++ iter = priv->logical_color_hashes;
++ while (iter != NULL)
++ {
++ GdkColor *mapping = g_hash_table_lookup (GTK_HASH_TABLE (iter->data)->hash,
++ color_name);
++ if (mapping)
++ {
++ color->red = mapping->red;
++ color->green = mapping->green;
++ color->blue = mapping->blue;
++ return TRUE;
++ }
++
++ iter = g_slist_next (iter);
++ }
++
++ return FALSE;
++}
++
+ /**
+ * gtk_draw_hline:
+ * @style: a #GtkStyle
+@@ -1717,10 +1781,32 @@
+ clear_property_cache (style);
+ }
+
++static GSList *
++copy_object_list (GSList *list)
++{
++ if (list)
++ {
++ GSList *iter;
++
++ iter = list;
++ while (iter != NULL)
++ {
++ g_object_ref (iter->data);
++ iter = g_slist_next (iter);
++ }
++
++ return g_slist_copy (list);
++ }
++ else
++ return NULL;
++}
++
+ static void
+ gtk_style_real_init_from_rc (GtkStyle *style,
+ GtkRcStyle *rc_style)
+ {
++ GtkStylePrivate *priv = GTK_STYLE_GET_PRIVATE (style);
++ GSList *logical_color_hashes;
+ gint i;
+
+ /* cache _should_ be still empty */
+@@ -1746,19 +1832,10 @@
+ if (rc_style->ythickness >= 0)
+ style->ythickness = rc_style->ythickness;
+
+- if (rc_style->icon_factories)
+- {
+- GSList *iter;
++ style->icon_factories = copy_object_list (rc_style->icon_factories);
+
+- style->icon_factories = g_slist_copy (rc_style->icon_factories);
+-
+- iter = style->icon_factories;
+- while (iter != NULL)
+- {
+- g_object_ref (iter->data);
+- iter = g_slist_next (iter);
+- }
+- }
++ logical_color_hashes = _gtk_rc_style_get_logical_color_hashes (rc_style);
++ priv->logical_color_hashes = copy_object_list (logical_color_hashes);
+ }
+
+ static gint
+@@ -2065,7 +2142,7 @@
+ const gchar *detail)
+ {
+ GdkPixbuf *pixbuf;
+-
++
+ g_return_val_if_fail (GTK_IS_STYLE (style), NULL);
+ g_return_val_if_fail (GTK_STYLE_GET_CLASS (style)->render_icon != NULL, NULL);
+
+@@ -2156,7 +2233,7 @@
+ {
+ return gdk_pixbuf_scale_simple (src,
+ width, height,
+- GDK_INTERP_BILINEAR);
++ GDK_INTERP_NEAREST);
+ }
+ }
+
+@@ -2183,7 +2260,6 @@
+ */
+
+ base_pixbuf = gtk_icon_source_get_pixbuf (source);
+-
+ g_return_val_if_fail (base_pixbuf != NULL, NULL);
+
+ if (widget && gtk_widget_has_screen (widget))
+@@ -2213,7 +2289,9 @@
+ /* If the size was wildcarded, and we're allowed to scale, then scale; otherwise,
+ * leave it alone.
+ */
+- if (size != (GtkIconSize)-1 && gtk_icon_source_get_size_wildcarded (source))
++ /* Hildon addition: Device icons are never scaled */
++ if (size != (GtkIconSize)-1 && gtk_icon_source_get_size_wildcarded (source)
++ && size < HILDON_ICON_SIZE_26)
+ scaled = scale_or_ref (base_pixbuf, width, height);
+ else
+ scaled = g_object_ref (base_pixbuf);
+@@ -2224,7 +2302,7 @@
+ if (state == GTK_STATE_INSENSITIVE)
+ {
+ stated = gdk_pixbuf_copy (scaled);
+-
++
+ gdk_pixbuf_saturate_and_pixelate (scaled, stated,
+ 0.8, TRUE);
+
+@@ -2232,8 +2310,8 @@
+ }
+ else if (state == GTK_STATE_PRELIGHT)
+ {
+- stated = gdk_pixbuf_copy (scaled);
+-
++ stated = gdk_pixbuf_copy (scaled);
++
+ gdk_pixbuf_saturate_and_pixelate (scaled, stated,
+ 1.2, FALSE);
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkstyle.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkstyle.h.diff
new file mode 100644
index 0000000000..79c36bb47f
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkstyle.h.diff
@@ -0,0 +1,13 @@
+--- gtk+-2.6.4/gtk/gtkstyle.h 2004-11-28 09:02:27.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkstyle.h 2005-04-06 16:19:37.952768664 +0300
+@@ -454,6 +454,10 @@
+ gint width,
+ gint height);
+
++gboolean gtk_style_lookup_logical_color (GtkStyle *style,
++ const gchar *color_name,
++ GdkColor *color);
++
+ GtkIconSet* gtk_style_lookup_icon_set (GtkStyle *style,
+ const gchar *stock_id);
+ GdkPixbuf* gtk_style_render_icon (GtkStyle *style,
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktable.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktable.c.diff
new file mode 100644
index 0000000000..5f485da09b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktable.c.diff
@@ -0,0 +1,95 @@
+--- gtk+-2.6.4/gtk/gtktable.c 2004-08-09 19:59:52.000000000 +0300
++++ gtk+-2.6.4/gtk/gtktable.c 2005-04-06 16:19:37.974765320 +0300
+@@ -28,6 +28,7 @@
+ #include "gtkalias.h"
+ #include "gtktable.h"
+ #include "gtkintl.h"
++#include "gtkbutton.h"
+
+ enum
+ {
+@@ -507,6 +508,33 @@
+ return GTK_WIDGET (table);
+ }
+
++void osso_gtk_table_find_button_detail (GtkTable *table,
++ GtkTableChild *table_child)
++{
++ OssoGtkButtonAttachFlags attachflags = 0;
++ gboolean automatic_detail;
++
++ g_return_if_fail (GTK_IS_TABLE (table));
++ g_return_if_fail (table_child != NULL);
++ g_return_if_fail (GTK_IS_BUTTON (table_child->widget));
++
++ if (table_child->top_attach == 0)
++ attachflags |= OSSO_GTK_BUTTON_ATTACH_NORTH;
++
++ if (table_child->bottom_attach == table->nrows)
++ attachflags |= OSSO_GTK_BUTTON_ATTACH_SOUTH;
++
++ if (table_child->left_attach == 0)
++ attachflags |= OSSO_GTK_BUTTON_ATTACH_WEST;
++
++ if (table_child->right_attach == table->ncols)
++ attachflags |= OSSO_GTK_BUTTON_ATTACH_EAST;
++
++ g_object_get (G_OBJECT (table_child->widget), "automatic_detail", &automatic_detail, NULL);
++ if (automatic_detail == TRUE)
++ g_object_set (G_OBJECT (table_child->widget), "detail", osso_gtk_button_attach_details[attachflags], NULL);
++}
++
+ void
+ gtk_table_resize (GtkTable *table,
+ guint n_rows,
+@@ -523,6 +551,18 @@
+ n_cols != table->ncols)
+ {
+ GList *list;
++ guint recalc_column = -1;
++ guint recalc_row = -1;
++
++ if (n_rows > table->nrows)
++ recalc_row = table->nrows;
++ else
++ recalc_row = n_rows;
++
++ if (n_cols > table->ncols)
++ recalc_column = table->ncols;
++ else
++ recalc_column = n_cols;
+
+ for (list = table->children; list; list = list->next)
+ {
+@@ -577,6 +617,20 @@
+
+ g_object_notify (G_OBJECT (table), "n_columns");
+ }
++
++ if ((recalc_column != -1) || (recalc_row != -1))
++ for (list = table->children; list; list = list->next)
++ {
++ GtkTableChild *child;
++
++ child = list->data;
++
++ if (GTK_IS_BUTTON (child->widget) &&
++ ((child->bottom_attach == recalc_row) ||
++ (child->right_attach == recalc_column)))
++
++ osso_gtk_table_find_button_detail (table, child);
++ }
+ }
+ }
+
+@@ -623,6 +677,10 @@
+ table_child->yshrink = (yoptions & GTK_SHRINK) != 0;
+ table_child->yfill = (yoptions & GTK_FILL) != 0;
+ table_child->ypadding = ypadding;
++
++
++ if (GTK_IS_BUTTON (table_child->widget))
++ osso_gtk_table_find_button_detail (table, table_child);
+
+ table->children = g_list_prepend (table->children, table_child);
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff
new file mode 100644
index 0000000000..7a984dfb8c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.c.diff
@@ -0,0 +1,443 @@
+--- gtk+-2.6.4/gtk/gtktextbuffer.c 2004-11-01 21:57:13.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktextbuffer.c 2005-04-06 16:19:38.023757872 +0300
+@@ -1,5 +1,6 @@
+ /* GTK - The GIMP Toolkit
+ * gtktextbuffer.c Copyright (C) 2000 Red Hat, Inc.
++ * Copyright (C) 2004 Nokia Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+@@ -39,6 +40,17 @@
+ #include "gtktextbtree.h"
+ #include "gtktextiterprivate.h"
+ #include "gtkintl.h"
++#include "gtktextbufferserialize.h"
++
++#define GTK_TEXT_BUFFER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_TEXT_BUFFER, GtkTextBufferPrivate))
++
++typedef struct _GtkTextBufferPrivate GtkTextBufferPrivate;
++
++struct _GtkTextBufferPrivate
++{
++ gboolean can_paste_rich_text;
++ gchar *rich_text_format;
++};
+
+ typedef struct _ClipboardRequest ClipboardRequest;
+
+@@ -71,7 +83,10 @@
+ PROP_0,
+
+ /* Construct */
+- PROP_TAG_TABLE
++ PROP_TAG_TABLE,
++
++ PROP_CAN_PASTE_RICH_TEXT,
++ PROP_RICH_TEXT_FORMAT
+ };
+
+ enum {
+@@ -79,6 +94,8 @@
+ TARGET_TEXT,
+ TARGET_COMPOUND_TEXT,
+ TARGET_UTF8_STRING,
++ TARGET_TEXT_VIEW_MARKUP,
++ TARGET_TEXT_VIEW_RICH_TEXT_FORMAT,
+ TARGET_TEXT_BUFFER_CONTENTS
+ };
+
+@@ -185,7 +202,20 @@
+ P_("Text Tag Table"),
+ GTK_TYPE_TEXT_TAG_TABLE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
++ g_object_class_install_property (object_class,
++ PROP_CAN_PASTE_RICH_TEXT,
++ g_param_spec_boolean ("can_paste_rich_text",
++ P_("Can paste rich text"),
++ P_("Whether it should be possible to paste rich text to the buffer"),
++ FALSE, G_PARAM_READWRITE));
++ g_object_class_install_property (object_class,
++ PROP_RICH_TEXT_FORMAT,
++ g_param_spec_string ("rich_text_format",
++ P_("Rich Text Format"),
++ P_("Name of a collection of tags that the text view supports"),
++ NULL, G_PARAM_READWRITE));
+
++
+ signals[INSERT_TEXT] =
+ g_signal_new ("insert_text",
+ G_OBJECT_CLASS_TYPE (object_class),
+@@ -335,7 +365,9 @@
+ NULL, NULL,
+ _gtk_marshal_VOID__VOID,
+ G_TYPE_NONE,
+- 0);
++ 0);
++
++ g_type_class_add_private (object_class, sizeof (GtkTextBufferPrivate));
+ }
+
+ static void
+@@ -385,7 +417,12 @@
+ case PROP_TAG_TABLE:
+ set_table (text_buffer, g_value_get_object (value));
+ break;
+-
++ case PROP_CAN_PASTE_RICH_TEXT:
++ gtk_text_buffer_set_can_paste_rich_text (text_buffer, g_value_get_boolean (value));
++ break;
++ case PROP_RICH_TEXT_FORMAT:
++ gtk_text_buffer_set_rich_text_format (text_buffer, g_value_get_string (value));
++ break;
+ default:
+ break;
+ }
+@@ -406,7 +443,14 @@
+ case PROP_TAG_TABLE:
+ g_value_set_object (value, get_table (text_buffer));
+ break;
+-
++ case PROP_CAN_PASTE_RICH_TEXT:
++ g_value_set_boolean (value,
++ gtk_text_buffer_get_can_paste_rich_text (text_buffer));
++ break;
++ case PROP_RICH_TEXT_FORMAT:
++ g_value_set_string (value,
++ gtk_text_buffer_get_rich_text_format (text_buffer));
++ break;
+ default:
+ break;
+ }
+@@ -434,11 +478,14 @@
+ gtk_text_buffer_finalize (GObject *object)
+ {
+ GtkTextBuffer *buffer;
++ GtkTextBufferPrivate *priv;
+
+ buffer = GTK_TEXT_BUFFER (object);
+
+ remove_all_selection_clipboards (buffer);
+
++ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
++
+ if (buffer->tag_table)
+ {
+ _gtk_text_tag_table_remove_buffer (buffer->tag_table, buffer);
+@@ -456,7 +503,9 @@
+ free_log_attr_cache (buffer->log_attr_cache);
+
+ buffer->log_attr_cache = NULL;
+-
++
++ g_free (priv->rich_text_format);
++
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+ }
+
+@@ -2738,8 +2787,7 @@
+
+ if (gtk_text_buffer_get_selection_bounds (buffer, &start, &end))
+ {
+- if (selection_data->target ==
+- gdk_atom_intern ("GTK_TEXT_BUFFER_CONTENTS", FALSE))
++ if (info == TARGET_TEXT_BUFFER_CONTENTS)
+ {
+ /* Provide the address of the buffer; this will only be
+ * used within-process
+@@ -2750,6 +2798,32 @@
+ (void*)&buffer,
+ sizeof (buffer));
+ }
++ else if (info == TARGET_TEXT_VIEW_MARKUP)
++ {
++ gchar *str;
++ gint len;
++
++ str = gtk_text_buffer_serialize_rich_text (buffer, &start, &end, &len);
++
++ gtk_selection_data_set (selection_data,
++ gdk_atom_intern ("application/x-gtk-text-view-markup", FALSE),
++ 8, /* bytes */
++ str, len);
++ g_free (str);
++ }
++ else if (info == TARGET_TEXT_VIEW_RICH_TEXT_FORMAT)
++ {
++ gint len;
++ gchar *format;
++
++ format = g_object_get_data (G_OBJECT (buffer), "gtk-text-buffer-clipboard-format");
++ len = format ? strlen (format) : -1;
++
++ gtk_selection_data_set (selection_data,
++ gdk_atom_intern ("application/x-gtk-text-view-rich-text-format", FALSE),
++ 8, /* bytes */
++ format, len);
++ }
+ else
+ {
+ gchar *str;
+@@ -2765,10 +2839,16 @@
+ create_clipboard_contents_buffer (GtkTextBuffer *buffer)
+ {
+ GtkTextBuffer *contents;
++ gchar *format;
+
+ contents = gtk_text_buffer_new (gtk_text_buffer_get_tag_table (buffer));
+
++ format = GTK_TEXT_BUFFER_GET_PRIVATE (buffer)->rich_text_format;
++
+ g_object_set_data (G_OBJECT (contents), "gtk-text-buffer-clipboard", GINT_TO_POINTER (1));
++
++ g_object_set_data_full (G_OBJECT (contents), "gtk-text-buffer-clipboard-format",
++ format ? g_strdup (format) : NULL, g_free);
+
+ return contents;
+ }
+@@ -2786,8 +2866,7 @@
+
+ g_assert (contents); /* This should never be called unless we own the clipboard */
+
+- if (selection_data->target ==
+- gdk_atom_intern ("GTK_TEXT_BUFFER_CONTENTS", FALSE))
++ if (info == TARGET_TEXT_BUFFER_CONTENTS)
+ {
+ /* Provide the address of the clipboard buffer; this will only
+ * be used within-process. OK to supply a NULL value for contents.
+@@ -2798,6 +2877,35 @@
+ (void*)&contents,
+ sizeof (contents));
+ }
++ else if (info == TARGET_TEXT_VIEW_MARKUP)
++ {
++ gchar *str;
++ gint *len;
++ GtkTextIter start, end;
++
++ gtk_text_buffer_get_bounds (contents, &start, &end);
++
++ str = gtk_text_buffer_serialize_rich_text (contents, &start, &end, &len);
++
++ gtk_selection_data_set (selection_data,
++ gdk_atom_intern ("application/x-gtk-text-view-markup", FALSE),
++ 8, /* bytes */
++ str, len);
++ g_free (str);
++ }
++ else if (info == TARGET_TEXT_VIEW_RICH_TEXT_FORMAT)
++ {
++ gint len;
++ gchar *format;
++
++ format = g_object_get_data (G_OBJECT (contents), "gtk-text-buffer-clipboard-format");
++ len = format ? strlen (format) : -1;
++
++ gtk_selection_data_set (selection_data,
++ gdk_atom_intern ("application/x-gtk-text-view-rich-text-format", FALSE),
++ 8, /* bytes */
++ format, len);
++ }
+ else
+ {
+ gchar *str;
+@@ -2992,6 +3100,54 @@
+ #endif
+
+ static void
++clipboard_text_view_markup_received (GtkClipboard *clipboard,
++ GtkSelectionData *selection_data,
++ gpointer data)
++{
++ ClipboardRequest *request_data = data;
++ GtkTextIter insert_point;
++ gboolean retval = TRUE;
++ GError *error = NULL;
++ GtkTextBufferPrivate *priv;
++
++ priv = GTK_TEXT_BUFFER_GET_PRIVATE (request_data->buffer);
++
++ if (selection_data->target ==
++ gdk_atom_intern ("application/x-gtk-text-view-markup", FALSE))
++ {
++ pre_paste_prep (request_data, &insert_point);
++
++ if (request_data->interactive)
++ gtk_text_buffer_begin_user_action (request_data->buffer);
++
++ if (!request_data->interactive ||
++ gtk_text_iter_can_insert (&insert_point, request_data->default_editable))
++ retval = gtk_text_buffer_deserialize_rich_text (request_data->buffer,
++ &insert_point,
++ selection_data->data, selection_data->length,
++ priv->rich_text_format == NULL, &error);
++
++ if (!retval)
++ {
++ g_warning ("error pasting: %s\n", error->message);
++ }
++
++ if (request_data->interactive)
++ gtk_text_buffer_end_user_action (request_data->buffer);
++
++ if (retval) {
++ post_paste_cleanup (request_data);
++ return;
++ }
++ }
++
++ /* Request the text selection instead */
++ gtk_clipboard_request_text (clipboard,
++ clipboard_text_received,
++ data);
++}
++
++static void
+ paste_from_buffer (ClipboardRequest *request_data,
+ GtkTextBuffer *src_buffer,
+ const GtkTextIter *start,
+@@ -3029,6 +3185,35 @@
+ g_free (request_data);
+ }
+
++static gboolean
++formats_match (GtkClipboard *clipboard, const gchar *format)
++{
++ GtkSelectionData *data;
++ gchar *tmp;
++ gboolean retval;
++
++ if (!format)
++ return TRUE;
++
++ data = gtk_clipboard_wait_for_contents (clipboard,
++ gdk_atom_intern ("application/x-gtk-text-view-rich-text-format", FALSE));
++
++ if (data->length <= 0)
++ retval = FALSE;
++ else
++ {
++ tmp = g_strndup (data->data, data->length);
++
++ retval = (strcmp (tmp, format) == 0);
++
++ g_free (tmp);
++ }
++
++ gtk_selection_data_free (data);
++
++ return retval;
++}
++
+ static void
+ clipboard_clipboard_buffer_received (GtkClipboard *clipboard,
+ GtkSelectionData *selection_data,
+@@ -3036,6 +3221,7 @@
+ {
+ ClipboardRequest *request_data = data;
+ GtkTextBuffer *src_buffer;
++ GtkTextBufferPrivate *priv;
+
+ src_buffer = selection_data_get_buffer (selection_data, request_data);
+
+@@ -3059,10 +3245,19 @@
+ }
+ else
+ {
+- /* Request the text selection instead */
+- gtk_clipboard_request_text (clipboard,
+- clipboard_text_received,
+- data);
++ priv = GTK_TEXT_BUFFER_GET_PRIVATE (request_data->buffer);
++
++ if (priv->can_paste_rich_text &&
++ formats_match (clipboard, priv->rich_text_format))
++ /* Request markup */
++ gtk_clipboard_request_contents (clipboard,
++ gdk_atom_intern ("application/x-gtk-text-view-markup", FALSE),
++ clipboard_text_view_markup_received, data);
++ else
++ /* Request the text selection instead */
++ gtk_clipboard_request_text (clipboard,
++ clipboard_text_received,
++ data);
+ }
+ }
+
+@@ -3071,6 +3266,8 @@
+ { "TEXT", 0, TARGET_TEXT },
+ { "COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT },
+ { "UTF8_STRING", 0, TARGET_UTF8_STRING },
++ { "application/x-gtk-text-view-markup", 0, TARGET_TEXT_VIEW_MARKUP },
++ { "application/x-gtk-text-view-rich-text-format", 0, TARGET_TEXT_VIEW_RICH_TEXT_FORMAT },
+ { "GTK_TEXT_BUFFER_CONTENTS", 0, TARGET_TEXT_BUFFER_CONTENTS }
+ };
+
+@@ -3591,6 +3788,68 @@
+ }
+ }
+
++void
++gtk_text_buffer_set_can_paste_rich_text (GtkTextBuffer *buffer,
++ gboolean can_paste_rich_text)
++{
++ GtkTextBufferPrivate *priv;
++
++ g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
++
++ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
++
++ can_paste_rich_text = (can_paste_rich_text != FALSE);
++
++ if (priv->can_paste_rich_text != can_paste_rich_text)
++ {
++ priv->can_paste_rich_text = can_paste_rich_text;
++
++ g_object_notify (G_OBJECT (buffer), "can_paste_rich_text");
++ }
++}
++
++gboolean
++gtk_text_buffer_get_can_paste_rich_text (GtkTextBuffer *buffer)
++{
++ GtkTextBufferPrivate *priv;
++
++ g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), FALSE);
++
++ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
++
++ return priv->can_paste_rich_text;
++}
++
++void
++gtk_text_buffer_set_rich_text_format (GtkTextBuffer *buffer,
++ const gchar *format)
++{
++ gchar *new_format;
++ GtkTextBufferPrivate *priv;
++
++ g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
++
++ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
++
++ new_format = g_strdup (format);
++ g_free (priv->rich_text_format);
++
++ priv->rich_text_format = new_format;
++ g_object_notify (G_OBJECT (buffer), "rich_text_format");
++}
++
++G_CONST_RETURN gchar *
++gtk_text_buffer_get_rich_text_format (GtkTextBuffer *buffer)
++{
++ GtkTextBufferPrivate *priv;
++
++ g_return_val_if_fail (GTK_IS_TEXT_BUFFER (buffer), NULL);
++
++ priv = GTK_TEXT_BUFFER_GET_PRIVATE (buffer);
++
++ return priv->rich_text_format;
++}
++
+ /*
+ * Logical attribute cache
+ */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.h.diff
new file mode 100644
index 0000000000..61555eac8b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbuffer.h.diff
@@ -0,0 +1,17 @@
+--- gtk+-2.6.4/gtk/gtktextbuffer.h 2004-10-21 22:13:17.000000000 +0300
++++ gtk+-2.6.4/gtk/gtktextbuffer.h 2005-04-06 16:19:38.024757720 +0300
+@@ -365,6 +365,14 @@
+ void gtk_text_buffer_begin_user_action (GtkTextBuffer *buffer);
+ void gtk_text_buffer_end_user_action (GtkTextBuffer *buffer);
+
++void gtk_text_buffer_set_can_paste_rich_text (GtkTextBuffer *buffer,
++ gboolean can_paste_rich_text);
++gboolean gtk_text_buffer_get_can_paste_rich_text (GtkTextBuffer *buffer);
++
++void gtk_text_buffer_set_rich_text_format (GtkTextBuffer *buffer,
++ const gchar *format);
++G_CONST_RETURN gchar *gtk_text_buffer_get_rich_text_format (GtkTextBuffer *buffer);
++
+ /* INTERNAL private stuff */
+ void _gtk_text_buffer_spew (GtkTextBuffer *buffer);
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbufferserialize.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbufferserialize.c.diff
new file mode 100644
index 0000000000..39c8f748de
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbufferserialize.c.diff
@@ -0,0 +1,1688 @@
+--- gtk+-2.6.4/gtk/gtktextbufferserialize.c 1970-01-01 02:00:00.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktextbufferserialize.c 2005-04-06 16:19:38.024757720 +0300
+@@ -0,0 +1,1685 @@
++/* gtktextbufferserialize.c
++ *
++ * Copyright (C) 2001 Havoc Pennington
++ * Copyright (C) 2004 Nokia
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ */
++
++/* FIXME: We should use other error codes for the
++ * parts that deal with the format errors
++ */
++
++#include <config.h>
++
++#include <stdio.h>
++#include "gdk-pixbuf/gdk-pixdata.h"
++#include "gtktextbufferserialize.h"
++#include "gtkintl.h"
++
++#include <string.h>
++#include <stdlib.h>
++
++typedef struct
++{
++ GString *tag_table_str;
++ GString *text_str;
++ GHashTable *tags;
++ GtkTextIter start, end;
++
++ gint n_pixbufs;
++ GList *pixbufs;
++} SerializationContext;
++
++static gchar *
++serialize_value (GValue *value)
++{
++ if (g_value_type_transformable (value->g_type, G_TYPE_STRING))
++ {
++ GValue text_value = { 0 };
++ gchar *tmp;
++
++ g_value_init (&text_value, G_TYPE_STRING);
++ g_value_transform (value, &text_value);
++
++ tmp = g_markup_escape_text (g_value_get_string (&text_value), -1);
++ g_value_unset (&text_value);
++
++ return tmp;
++ }
++ else if (value->g_type == GDK_TYPE_COLOR)
++ {
++ GdkColor *color = g_value_get_boxed (value);
++
++ return g_strdup_printf ("%x:%x:%x", color->red, color->green, color->blue);
++ }
++ else
++ {
++ g_warning ("Type %s is not serializable\n", g_type_name (value->g_type));
++ }
++
++ return NULL;
++}
++
++static gboolean
++deserialize_value (const gchar *str, GValue *value)
++{
++ if (g_value_type_transformable (G_TYPE_STRING, value->g_type))
++ {
++ GValue text_value = { 0 };
++ gboolean retval;
++
++ g_value_init (&text_value, G_TYPE_STRING);
++ g_value_set_static_string (&text_value, str);
++
++ retval = g_value_transform (&text_value, value);
++ g_value_unset (&text_value);
++
++ return retval;
++ }
++ else if (value->g_type == G_TYPE_BOOLEAN)
++ {
++ gboolean v;
++
++ v = strcmp (str, "TRUE") == 0;
++
++ g_value_set_boolean (value, v);
++
++ return TRUE;
++ }
++ else if (value->g_type == G_TYPE_INT)
++ {
++ gchar *tmp;
++ int v;
++
++ v = strtol (str, &tmp, 10);
++
++ if (tmp == NULL || tmp == str)
++ return FALSE;
++
++ g_value_set_int (value, v);
++
++ return TRUE;
++ }
++ else if (value->g_type == G_TYPE_DOUBLE)
++ {
++ gchar *tmp;
++ gdouble v;
++
++ v = g_ascii_strtod (str, &tmp);
++
++ if (tmp == NULL || tmp == str)
++ return FALSE;
++
++ g_value_set_double (value, v);
++
++ return TRUE;
++ }
++ else if (value->g_type == GDK_TYPE_COLOR)
++ {
++ GdkColor color;
++ const gchar *old;
++ gchar *tmp;
++
++ old = str;
++ color.red = strtol (old, &tmp, 16);
++
++ if (tmp == NULL || tmp == old)
++ return FALSE;
++
++ old = tmp;
++ if (*old++ != ':')
++ return FALSE;
++
++ color.green = strtol (old, &tmp, 16);
++ if (tmp == NULL || tmp == old)
++ return FALSE;
++
++ old = tmp;
++ if (*old++ != ':')
++ return FALSE;
++
++ color.blue = strtol (old, &tmp, 16);
++
++ if (tmp == NULL || tmp == old || *tmp != '\0')
++ return FALSE;
++
++ g_value_set_boxed (value, &color);
++
++ return TRUE;
++ }
++ else if (G_VALUE_HOLDS_ENUM (value))
++ {
++ GEnumClass *class = G_ENUM_CLASS (g_type_class_peek (value->g_type));
++ GEnumValue *enum_value;
++
++ enum_value = g_enum_get_value_by_name (class, str);
++
++ if (enum_value)
++ {
++ g_value_set_enum (value, enum_value->value);
++ return TRUE;
++ }
++
++ return FALSE;
++ }
++ else
++ {
++ g_warning ("Type %s can not be deserialized\n", g_type_name (value->g_type));
++ }
++
++ return FALSE;
++}
++
++/* Checks if a param is set, or if it's the default value */
++static gboolean
++is_param_set (GObject *object, GParamSpec *pspec, GValue *value)
++{
++ /* We need to special case some attributes here */
++ if (strcmp (pspec->name, "background-gdk") == 0)
++ {
++ gboolean is_set;
++
++ g_object_get (object, "background-set", &is_set, NULL);
++
++ if (is_set)
++ {
++ g_value_init (value, G_PARAM_SPEC_VALUE_TYPE (pspec));
++
++ g_object_get_property (object, pspec->name, value);
++
++ return TRUE;
++ }
++
++ return FALSE;
++ }
++ else if (strcmp (pspec->name, "foreground-gdk") == 0)
++ {
++ gboolean is_set;
++
++ g_object_get (object, "foreground-set", &is_set, NULL);
++
++ if (is_set)
++ {
++ g_value_init (value, G_PARAM_SPEC_VALUE_TYPE (pspec));
++
++ g_object_get_property (object, pspec->name, value);
++
++ return TRUE;
++ }
++
++ return FALSE;
++ }
++ else
++ {
++ gboolean is_set;
++ gchar *is_set_name;
++
++ is_set_name = g_strdup_printf ("%s-set", pspec->name);
++
++ if (g_object_class_find_property (G_OBJECT_GET_CLASS (object), is_set_name) == NULL)
++ {
++ g_free (is_set_name);
++ return FALSE;
++ }
++ else
++ {
++ g_object_get (object, is_set_name, &is_set, NULL);
++
++ if (!is_set)
++ {
++ g_free (is_set_name);
++ return FALSE;
++ }
++
++ g_free (is_set_name);
++
++ g_value_init (value, G_PARAM_SPEC_VALUE_TYPE (pspec));
++
++ g_object_get_property (object, pspec->name, value);
++
++ if (g_param_value_defaults (pspec, value))
++ {
++ g_value_unset (value);
++
++ return FALSE;
++ }
++ }
++ return TRUE;
++ }
++}
++
++static void
++serialize_tag (gpointer key, gpointer data, gpointer user_data)
++{
++ SerializationContext *context = user_data;
++ GtkTextTag *tag = data;
++ gchar *tag_name;
++ GParamSpec **pspecs;
++ guint n_pspecs;
++ int i;
++
++ tag_name = g_markup_escape_text (tag->name, -1);
++ g_string_append_printf (context->tag_table_str, " <tag name=\"%s\" priority=\"%d\">\n", tag_name, tag->priority);
++
++ /* Serialize properties */
++ pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (tag), &n_pspecs);
++
++ for (i = 0; i < n_pspecs; i++)
++ {
++ GValue value = { 0 };
++ gchar *tmp, *tmp2;
++
++ if (!(pspecs[i]->flags & G_PARAM_READABLE) ||
++ !(pspecs[i]->flags & G_PARAM_WRITABLE))
++ continue;
++
++ if (!is_param_set (G_OBJECT (tag), pspecs[i], &value))
++ continue;
++
++ /* Now serialize the attr */
++ tmp = g_markup_escape_text (pspecs[i]->name, -1);
++ g_string_append_printf (context->tag_table_str, " <attr name=\"%s\" ", tmp);
++ g_free (tmp);
++
++ tmp = g_markup_escape_text (g_type_name (pspecs[i]->value_type), -1);
++ tmp2 = serialize_value (&value);
++ g_string_append_printf (context->tag_table_str, "type=\"%s\" value=\"%s\" />\n", tmp, tmp2);
++
++ g_free (tmp);
++ g_free (tmp2);
++
++ g_value_unset (&value);
++ }
++
++ g_free (pspecs);
++
++ g_string_append (context->tag_table_str, " </tag>\n");
++ g_free (tag_name);
++}
++
++static void
++serialize_tags (SerializationContext *context)
++{
++ g_string_append (context->tag_table_str, " <text_view_markup>\n");
++ g_string_append (context->tag_table_str, " <tags>\n");
++ g_hash_table_foreach (context->tags, serialize_tag, context);
++ g_string_append (context->tag_table_str, " </tags>\n");
++}
++
++#if 0
++static void
++dump_tag_list (const gchar *str, GList *list)
++{
++ g_print ("%s: ", str);
++
++ if (!list)
++ g_print ("(empty)");
++ else
++ {
++ while (list)
++ {
++ g_print ("%s ", ((GtkTextTag *)list->data)->name);
++ list = list->next;
++ }
++ }
++
++ g_print ("\n");
++}
++#endif
++
++static void
++find_list_delta (GSList *old_list, GSList *new_list,
++ GList **added, GList **removed)
++{
++ GSList *tmp;
++ GList *tmp_added, *tmp_removed;
++
++ tmp_added = NULL;
++ tmp_removed = NULL;
++
++ /* Find added tags */
++ tmp = new_list;
++ while (tmp)
++ {
++ if (!g_slist_find (old_list, tmp->data))
++ tmp_added = g_list_prepend (tmp_added, tmp->data);
++
++ tmp = tmp->next;
++ }
++
++ *added = tmp_added;
++
++ /* Find removed tags */
++ tmp = old_list;
++ while (tmp)
++ {
++ if (!g_slist_find (new_list, tmp->data))
++ tmp_removed = g_list_prepend (tmp_removed, tmp->data);
++
++ tmp = tmp->next;
++ }
++
++ /* We reverse the list here to match the xml semantics */
++ *removed = g_list_reverse (tmp_removed);
++}
++
++static void
++serialize_section_header (GString *str,
++ const gchar *name,
++ gint length)
++{
++ g_return_if_fail (strlen (name) == 8);
++
++ g_string_append (str, name);
++
++ g_string_append_c (str, length >> 24);
++
++ g_string_append_c (str, (length >> 16) & 0xff);
++ g_string_append_c (str, (length >> 8) & 0xff);
++ g_string_append_c (str, length & 0xff);
++}
++
++static void
++serialize_text (GtkTextBuffer *buffer, SerializationContext *context)
++{
++ GtkTextIter iter, old_iter;
++ GSList *tag_list, *new_tag_list;
++ GQueue *active_tags;
++ int i;
++
++ g_string_append (context->text_str, "<text>");
++
++ iter = context->start;
++ tag_list = NULL;
++ active_tags = g_queue_new ();
++
++ do
++ {
++ GList *added, *removed;
++ GList *tmp;
++ gchar *tmp_text, *escaped_text;
++
++ new_tag_list = gtk_text_iter_get_tags (&iter);
++ find_list_delta (tag_list, new_tag_list, &added, &removed);
++
++ /* Handle removed tags */
++ tmp = removed;
++ while (tmp)
++ {
++ GtkTextTag *tag = tmp->data;
++
++ g_string_append (context->text_str, "</apply_tag>");
++
++ /* We might need to drop some of the tags and re-add them afterwards */
++ while (g_queue_peek_head (active_tags) != tag &&
++ !g_queue_is_empty (active_tags))
++ {
++ added = g_list_prepend (added, g_queue_pop_head (active_tags));
++ g_string_append_printf (context->text_str, "</apply_tag>");
++ }
++
++ g_queue_pop_head (active_tags);
++
++ tmp = tmp->next;
++ }
++
++ /* Handle added tags */
++ tmp = added;
++ while (tmp)
++ {
++ GtkTextTag *tag = tmp->data;
++ gchar *tag_name;
++
++ /* Add it to the tag hash table */
++ g_hash_table_insert (context->tags, tag, tag);
++
++ tag_name = g_markup_escape_text (tag->name, -1);
++
++ g_string_append_printf (context->text_str, "<apply_tag name=\"%s\">", tag_name);
++ g_free (tag_name);
++
++ g_queue_push_head (active_tags, tag);
++
++ tmp = tmp->next;
++ }
++
++ g_slist_free (tag_list);
++ tag_list = new_tag_list;
++
++ old_iter = iter;
++
++ /* Now try to go to either the next tag toggle, or if a pixbuf appears */
++ while (TRUE)
++ {
++ gunichar ch = gtk_text_iter_get_char (&iter);
++
++ if (ch == 0xFFFC)
++ {
++ GdkPixbuf *pixbuf = gtk_text_iter_get_pixbuf (&iter);
++
++ if (pixbuf) {
++ g_string_append_printf (context->text_str, "<pixbuf index=\"%d\" />", context->n_pixbufs);
++
++ context->n_pixbufs++;
++ context->pixbufs = g_list_prepend (context->pixbufs, pixbuf);
++ }
++ }
++
++ gtk_text_iter_forward_char (&iter);
++
++ if (gtk_text_iter_toggles_tag (&iter, NULL))
++ break;
++ }
++
++ /* We might have moved too far */
++ if (gtk_text_iter_compare (&iter, &context->end) > 0)
++ iter = context->end;
++
++ /* Append the text */
++ tmp_text = gtk_text_iter_get_slice (&old_iter, &iter);
++ escaped_text = g_markup_escape_text (tmp_text, -1);
++ g_free (tmp_text);
++
++ g_string_append (context->text_str, escaped_text);
++ g_free (escaped_text);
++ }
++ while (!gtk_text_iter_equal (&iter, &context->end));
++
++ /* Close any open tags */
++ for (i = 0; i < g_queue_get_length (active_tags); i++) {
++ g_string_append (context->text_str, "</apply_tag>");
++ }
++ g_queue_free (active_tags);
++ g_string_append (context->text_str, "</text>\n</text_view_markup>\n");
++}
++
++static void
++serialize_pixbufs (SerializationContext *context,
++ GString *text)
++{
++ GList *list;
++
++ for (list = context->pixbufs; list != NULL; list = list->next)
++ {
++ GdkPixbuf *pixbuf = list->data;
++ GdkPixdata pixdata;
++ guint8 *tmp;
++ guint len;
++
++ gdk_pixdata_from_pixbuf (&pixdata, pixbuf, FALSE);
++ tmp = gdk_pixdata_serialize (&pixdata, &len);
++
++ serialize_section_header (text, "PDPIXBUF", len);
++ g_string_append_len (text, tmp, len);
++ g_free (tmp);
++ }
++}
++
++gchar *
++gtk_text_buffer_serialize_rich_text (GtkTextBuffer *buffer,
++ const GtkTextIter *start,
++ const GtkTextIter *end,
++ gint *len)
++{
++ SerializationContext context;
++ GString *text;
++
++ context.tags = g_hash_table_new (NULL, NULL);
++ context.text_str = g_string_new (NULL);
++ context.tag_table_str = g_string_new (NULL);
++ context.start = *start;
++ context.end = *end;
++ context.n_pixbufs = 0;
++ context.pixbufs = NULL;
++
++ /* We need to serialize the text before the tag table so we know
++ what tags are used */
++ serialize_text (buffer, &context);
++ serialize_tags (&context);
++
++ text = g_string_new (NULL);
++ serialize_section_header (text, "RICHTEXT", context.tag_table_str->len + context.text_str->len);
++
++ g_print ("when serializing length is: %d\n", context.tag_table_str->len + context.text_str->len);
++
++ g_string_append_len (text, context.tag_table_str->str, context.tag_table_str->len);
++ g_string_append_len (text, context.text_str->str, context.text_str->len);
++
++ context.pixbufs = g_list_reverse (context.pixbufs);
++ serialize_pixbufs (&context, text);
++
++ g_hash_table_destroy (context.tags);
++ g_list_free (context.pixbufs);
++ g_string_free (context.text_str, TRUE);
++ g_string_free (context.tag_table_str, TRUE);
++
++ *len = text->len;
++
++ return g_string_free (text, FALSE);
++}
++
++typedef enum
++{
++ STATE_START,
++ STATE_TEXT_VIEW_MARKUP,
++ STATE_TAGS,
++ STATE_TAG,
++ STATE_ATTR,
++ STATE_TEXT,
++ STATE_APPLY_TAG,
++ STATE_PIXBUF
++} ParseState;
++
++typedef struct
++{
++ gchar *text;
++ GdkPixbuf *pixbuf;
++ GSList *tags;
++} TextSpan;
++
++typedef struct
++{
++ GtkTextTag *tag;
++ gint prio;
++} TextTagPrio;
++
++typedef struct
++{
++ GSList *states;
++
++ GList *headers;
++
++ GtkTextBuffer *buffer;
++
++ /* Tags that are defined in <tag> elements */
++ GHashTable *defined_tags;
++
++ /* Tag name substitutions */
++ GHashTable *substitutions;
++
++ /* Current tag */
++ GtkTextTag *current_tag;
++
++ /* Priority of current tag */
++ gint current_tag_prio;
++
++ /* Tags and their priorities */
++ GList *tag_priorities;
++
++ GSList *tag_stack;
++
++ GList *spans;
++
++ gboolean create_tags;
++
++ gboolean parsed_text;
++ gboolean parsed_tags;
++} ParseInfo;
++
++static void
++set_error (GError **err,
++ GMarkupParseContext *context,
++ int error_domain,
++ int error_code,
++ const char *format,
++ ...)
++{
++ int line, ch;
++ va_list args;
++ char *str;
++
++ g_markup_parse_context_get_position (context, &line, &ch);
++
++ va_start (args, format);
++ str = g_strdup_vprintf (format, args);
++ va_end (args);
++
++ g_set_error (err, error_domain, error_code,
++ ("Line %d character %d: %s"),
++ line, ch, str);
++
++ g_free (str);
++}
++
++static void
++push_state (ParseInfo *info,
++ ParseState state)
++{
++ info->states = g_slist_prepend (info->states, GINT_TO_POINTER (state));
++}
++
++static void
++pop_state (ParseInfo *info)
++{
++ g_return_if_fail (info->states != NULL);
++
++ info->states = g_slist_remove (info->states, info->states->data);
++}
++
++static ParseState
++peek_state (ParseInfo *info)
++{
++ g_return_val_if_fail (info->states != NULL, STATE_START);
++
++ return GPOINTER_TO_INT (info->states->data);
++}
++
++#define ELEMENT_IS(name) (strcmp (element_name, (name)) == 0)
++
++typedef struct
++{
++ const char *name;
++ const char **retloc;
++} LocateAttr;
++
++static gboolean
++locate_attributes (GMarkupParseContext *context,
++ const char *element_name,
++ const char **attribute_names,
++ const char **attribute_values,
++ GError **error,
++ const char *first_attribute_name,
++ const char **first_attribute_retloc,
++ ...)
++{
++ va_list args;
++ const char *name;
++ const char **retloc;
++ int n_attrs;
++#define MAX_ATTRS 24
++ LocateAttr attrs[MAX_ATTRS];
++ gboolean retval;
++ int i;
++
++ g_return_val_if_fail (first_attribute_name != NULL, FALSE);
++ g_return_val_if_fail (first_attribute_retloc != NULL, FALSE);
++
++ retval = TRUE;
++
++ n_attrs = 1;
++ attrs[0].name = first_attribute_name;
++ attrs[0].retloc = first_attribute_retloc;
++ *first_attribute_retloc = NULL;
++
++ va_start (args, first_attribute_retloc);
++
++ name = va_arg (args, const char*);
++ retloc = va_arg (args, const char**);
++
++ while (name != NULL)
++ {
++ g_return_val_if_fail (retloc != NULL, FALSE);
++
++ g_assert (n_attrs < MAX_ATTRS);
++
++ attrs[n_attrs].name = name;
++ attrs[n_attrs].retloc = retloc;
++ n_attrs += 1;
++ *retloc = NULL;
++
++ name = va_arg (args, const char*);
++ retloc = va_arg (args, const char**);
++ }
++
++ va_end (args);
++
++ if (!retval)
++ return retval;
++
++ i = 0;
++ while (attribute_names[i])
++ {
++ int j;
++ gboolean found;
++
++ found = FALSE;
++ j = 0;
++ while (j < n_attrs)
++ {
++ if (strcmp (attrs[j].name, attribute_names[i]) == 0)
++ {
++ retloc = attrs[j].retloc;
++
++ if (*retloc != NULL)
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR,
++ G_MARKUP_ERROR_PARSE,
++ _("Attribute \"%s\" repeated twice on the same <%s> element"),
++ attrs[j].name, element_name);
++ retval = FALSE;
++ goto out;
++ }
++
++ *retloc = attribute_values[i];
++ found = TRUE;
++ }
++
++ ++j;
++ }
++
++ if (!found)
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR,
++ G_MARKUP_ERROR_PARSE,
++ _("Attribute \"%s\" is invalid on <%s> element in this context"),
++ attribute_names[i], element_name);
++ retval = FALSE;
++ goto out;
++ }
++
++ ++i;
++ }
++
++ out:
++ return retval;
++}
++
++static gboolean
++check_no_attributes (GMarkupParseContext *context,
++ const char *element_name,
++ const char **attribute_names,
++ const char **attribute_values,
++ GError **error)
++{
++ if (attribute_names[0] != NULL)
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR,
++ G_MARKUP_ERROR_PARSE,
++ _("Attribute \"%s\" is invalid on <%s> element in this context"),
++ attribute_names[0], element_name);
++ return FALSE;
++ }
++
++ return TRUE;
++}
++
++static const gchar *
++tag_exists (GMarkupParseContext *context,
++ const gchar *name,
++ ParseInfo *info,
++ GError **error)
++{
++ const gchar *real_name;
++
++ if (info->create_tags)
++ {
++ /* First, try the substitutions */
++ real_name = g_hash_table_lookup (info->substitutions, name);
++
++ if (real_name)
++ return real_name;
++
++ /* Next, try the list of defined tags */
++ if (g_hash_table_lookup (info->defined_tags, name) != NULL)
++ return name;
++
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Tag \"%s\" has not been defined."), name);
++
++ return NULL;
++ }
++ else
++ {
++ if (gtk_text_tag_table_lookup (info->buffer->tag_table, name) != NULL)
++ return name;
++
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Tag \"%s\" does not exist in buffer and tags can not be created."), name);
++
++ return NULL;
++ }
++}
++
++typedef struct
++{
++ const gchar *id;
++ gint length;
++ const gchar *start;
++} Header;
++
++static GdkPixbuf *
++get_pixbuf_from_headers (GList *headers, int id, GError **error)
++{
++ Header *header;
++ GdkPixdata pixdata;
++ GdkPixbuf *pixbuf;
++
++ header = g_list_nth_data (headers, id);
++
++ if (!header)
++ return NULL;
++
++ if (!gdk_pixdata_deserialize (&pixdata, header->length, header->start, error))
++ return NULL;
++
++ pixbuf = gdk_pixbuf_from_pixdata (&pixdata, TRUE, error);
++
++ g_print ("pixbuf is: %p\n", pixbuf);
++
++ return pixbuf;
++}
++
++static void
++parse_apply_tag_element (GMarkupParseContext *context,
++ const gchar *element_name,
++ const gchar **attribute_names,
++ const gchar **attribute_values,
++ ParseInfo *info,
++ GError **error)
++{
++ const gchar *name, *tag_name, *id;
++
++ g_assert (peek_state (info) == STATE_TEXT ||
++ peek_state (info) == STATE_APPLY_TAG);
++
++ if (ELEMENT_IS ("apply_tag"))
++ {
++ if (!locate_attributes (context, element_name, attribute_names, attribute_values, error,
++ "name", &name, NULL))
++ return;
++
++ tag_name = tag_exists (context, name, info, error);
++
++ if (!tag_name)
++ return;
++
++ info->tag_stack = g_slist_prepend (info->tag_stack, g_strdup (tag_name));
++
++ push_state (info, STATE_APPLY_TAG);
++ }
++ else if (ELEMENT_IS ("pixbuf"))
++ {
++ int int_id;
++ GdkPixbuf *pixbuf;
++ TextSpan *span;
++
++ if (!locate_attributes (context, element_name, attribute_names, attribute_values, error,
++ "index", &id, NULL))
++ return;
++
++ int_id = atoi (id);
++ pixbuf = get_pixbuf_from_headers (info->headers, int_id, error);
++
++ span = g_new0 (TextSpan, 1);
++ span->pixbuf = pixbuf;
++ span->tags = NULL;
++
++ info->spans = g_list_prepend (info->spans, span);
++
++ if (!pixbuf)
++ return;
++
++ push_state (info, STATE_PIXBUF);
++ }
++ else
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Element <%s> is not allowed below <%s>"),
++ element_name, peek_state(info) == STATE_TEXT ? "text" : "apply_tag");
++}
++
++static void
++parse_attr_element (GMarkupParseContext *context,
++ const gchar *element_name,
++ const gchar **attribute_names,
++ const gchar **attribute_values,
++ ParseInfo *info,
++ GError **error)
++{
++ const gchar *name, *type, *value;
++ GType gtype;
++ GValue gvalue = { 0 };
++ GParamSpec *pspec;
++
++ g_assert (peek_state (info) == STATE_TAG);
++
++ if (ELEMENT_IS ("attr"))
++ {
++ if (!locate_attributes (context, element_name, attribute_names, attribute_values, error,
++ "name", &name, "type", &type, "value", &value, NULL))
++ return;
++
++ gtype = g_type_from_name (type);
++
++ if (gtype == G_TYPE_INVALID)
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("\"%s\" is not a valid attribute type"), type);
++ return;
++ }
++
++ if (!(pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (info->current_tag), name)))
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("\"%s\" is not a valid attribute name"), name);
++ return;
++ }
++
++ g_value_init (&gvalue, gtype);
++
++ if (!deserialize_value (value, &gvalue))
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""),
++ value, type, name);
++ return;
++ }
++
++ if (g_param_value_validate (pspec, &gvalue))
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("\"%s\" is not a valid value of for attribute \"%s\""),
++ value, name);
++ g_value_unset (&gvalue);
++ return;
++ }
++
++ g_object_set_property (G_OBJECT (info->current_tag),
++ name, &gvalue);
++
++ g_value_unset (&gvalue);
++
++ push_state (info, STATE_ATTR);
++ }
++ else
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Element <%s> is not allowed below <%s>"),
++ element_name, "tag");
++ }
++}
++
++
++static gchar *
++get_tag_name (ParseInfo *info,
++ const gchar *tag_name)
++{
++ gchar *name;
++ gint i;
++
++ name = g_strdup (tag_name);
++
++ if (!info->create_tags)
++ return name;
++
++ i = 0;
++
++ while (gtk_text_tag_table_lookup (info->buffer->tag_table, name) != NULL)
++ {
++ g_free (name);
++ name = g_strdup_printf ("%s-%d", tag_name, ++i);
++ }
++
++ if (i != 0)
++ {
++ g_hash_table_insert (info->substitutions, g_strdup (tag_name), g_strdup (name));
++ }
++
++ return name;
++}
++
++static void
++parse_tag_element (GMarkupParseContext *context,
++ const gchar *element_name,
++ const gchar **attribute_names,
++ const gchar **attribute_values,
++ ParseInfo *info,
++ GError **error)
++{
++ const gchar *name, *priority;
++ gchar *tag_name;
++ gint prio;
++ gchar *tmp;
++
++ g_assert (peek_state (info) == STATE_TAGS);
++
++ if (ELEMENT_IS ("tag"))
++ {
++ if (!locate_attributes (context, element_name, attribute_names, attribute_values, error,
++ "name", &name, "priority", &priority, NULL))
++ return;
++
++ if (g_hash_table_lookup (info->defined_tags, name) != NULL)
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Tag \"%s\" already defined"), name);
++ return;
++ }
++
++ prio = strtol (priority, &tmp, 10);
++
++ if (tmp == NULL || tmp == priority)
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Tag \"%s\" has invalid priority \"%s\""), name, priority);
++ return;
++ }
++
++ tag_name = get_tag_name (info, name);
++ info->current_tag = gtk_text_tag_new (tag_name);
++ info->current_tag_prio = prio;
++
++ g_free (tag_name);
++
++ push_state (info, STATE_TAG);
++ }
++ else
++ {
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Element <%s> is not allowed below <%s>"),
++ element_name, "tags");
++ }
++}
++
++static void
++start_element_handler (GMarkupParseContext *context,
++ const gchar *element_name,
++ const gchar **attribute_names,
++ const gchar **attribute_values,
++ gpointer user_data,
++ GError **error)
++{
++ ParseInfo *info = user_data;
++
++ switch (peek_state (info))
++ {
++ case STATE_START:
++ if (ELEMENT_IS ("text_view_markup"))
++ {
++ if (!check_no_attributes (context, element_name,
++ attribute_names, attribute_values, error))
++ return;
++
++ push_state (info, STATE_TEXT_VIEW_MARKUP);
++ break;
++ }
++ else
++ set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Outermost element in text must be <text_view_markup> not <%s>"),
++ element_name);
++ break;
++ case STATE_TEXT_VIEW_MARKUP:
++ if (ELEMENT_IS ("tags"))
++ {
++ if (info->parsed_tags)
++ {
++ set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("A <tags> element has already been specified"));
++ return;
++ }
++
++ if (!check_no_attributes (context, element_name,
++ attribute_names, attribute_values, error))
++ return;
++
++ push_state (info, STATE_TAGS);
++ break;
++ }
++ else if (ELEMENT_IS ("text"))
++ {
++ if (info->parsed_text)
++ {
++ set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("A <text> element has already been specified"));
++ return;
++ }
++ else if (!info->parsed_tags)
++ {
++ set_error (error, context, G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("A <text> element can't occur before a <tags> element"));
++ return;
++ }
++
++ if (!check_no_attributes (context, element_name,
++ attribute_names, attribute_values, error))
++ return;
++
++ push_state (info, STATE_TEXT);
++ break;
++ }
++ else
++ set_error (error, context,
++ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
++ _("Element <%s> is not allowed below <%s>"),
++ element_name, "text_view_markup");
++ break;
++ case STATE_TAGS:
++ parse_tag_element (context, element_name,
++ attribute_names, attribute_values,
++ info, error);
++ break;
++ case STATE_TAG:
++ parse_attr_element (context, element_name,
++ attribute_names, attribute_values,
++ info, error);
++ break;
++ case STATE_TEXT:
++ case STATE_APPLY_TAG:
++ parse_apply_tag_element (context, element_name,
++ attribute_names, attribute_values,
++ info, error);
++ break;
++ default:
++ g_assert_not_reached ();
++ break;
++ }
++}
++
++static gint
++sort_tag_prio (TextTagPrio *a,
++ TextTagPrio *b)
++{
++ if (a->prio < b->prio)
++ return -1;
++ else if (a->prio > b->prio)
++ return 1;
++ else
++ return 0;
++}
++
++static void
++end_element_handler (GMarkupParseContext *context,
++ const gchar *element_name,
++ gpointer user_data,
++ GError **error)
++{
++ ParseInfo *info = user_data;
++ gchar *tmp;
++ GList *list;
++
++ switch (peek_state (info))
++ {
++ case STATE_TAGS:
++ pop_state (info);
++ g_assert (peek_state (info) == STATE_TEXT_VIEW_MARKUP);
++
++ info->parsed_tags = TRUE;
++
++ /* Sort list and add the tags */
++ info->tag_priorities = g_list_sort (info->tag_priorities,
++ (GCompareFunc)sort_tag_prio);
++ list = info->tag_priorities;
++ while (list)
++ {
++ TextTagPrio *prio = list->data;
++
++ if (info->create_tags)
++ gtk_text_tag_table_add (info->buffer->tag_table, prio->tag);
++
++ g_object_unref (prio->tag);
++ prio->tag = NULL;
++
++ list = list->next;
++ }
++
++ break;
++ case STATE_TAG:
++ pop_state (info);
++ g_assert (peek_state (info) == STATE_TAGS);
++
++ /* Add tag to defined tags hash */
++ tmp = g_strdup (info->current_tag->name);
++ g_hash_table_insert (info->defined_tags,
++ tmp, tmp);
++
++ if (info->create_tags)
++ {
++ TextTagPrio *prio;
++
++ /* add the tag to the list */
++ prio = g_new0 (TextTagPrio, 1);
++ prio->prio = info->current_tag_prio;
++ prio->tag = info->current_tag;
++
++ info->tag_priorities = g_list_prepend (info->tag_priorities, prio);
++ }
++
++ info->current_tag = NULL;
++ break;
++ case STATE_ATTR:
++ pop_state (info);
++ g_assert (peek_state (info) == STATE_TAG);
++ break;
++ case STATE_APPLY_TAG:
++ pop_state (info);
++ g_assert (peek_state (info) == STATE_APPLY_TAG ||
++ peek_state (info) == STATE_TEXT);
++
++ /* Pop tag */
++ g_free (info->tag_stack->data);
++ info->tag_stack = g_slist_delete_link (info->tag_stack,
++ info->tag_stack);
++
++ break;
++ case STATE_TEXT:
++ pop_state (info);
++ g_assert (peek_state (info) == STATE_TEXT_VIEW_MARKUP);
++
++ info->spans = g_list_reverse (info->spans);
++ info->parsed_text = TRUE;
++ break;
++ case STATE_TEXT_VIEW_MARKUP:
++ pop_state (info);
++ g_assert (peek_state (info) == STATE_START);
++ break;
++ case STATE_PIXBUF:
++ pop_state (info);
++ g_assert (peek_state (info) == STATE_APPLY_TAG ||
++ peek_state (info) == STATE_TEXT);
++ break;
++ default:
++ g_assert_not_reached ();
++ break;
++ }
++}
++
++static gboolean
++all_whitespace (const char *text,
++ int text_len)
++{
++ const char *p;
++ const char *end;
++
++ p = text;
++ end = text + text_len;
++
++ while (p != end)
++ {
++ if (!g_ascii_isspace (*p))
++ return FALSE;
++
++ p = g_utf8_next_char (p);
++ }
++
++ return TRUE;
++}
++
++static GSList *
++copy_tag_list (GSList *tag_list)
++{
++ GSList *tmp = NULL;
++
++ while (tag_list)
++ {
++ tmp = g_slist_prepend (tmp, g_strdup (tag_list->data));
++
++ tag_list = tag_list->next;
++ }
++
++ return tmp;
++}
++
++static void
++text_handler (GMarkupParseContext *context,
++ const gchar *text,
++ gsize text_len,
++ gpointer user_data,
++ GError **error)
++{
++ ParseInfo *info = user_data;
++ TextSpan *span;
++
++ if (all_whitespace (text, text_len) &&
++ peek_state (info) != STATE_TEXT &&
++ peek_state (info) != STATE_APPLY_TAG)
++ return;
++
++ switch (peek_state (info))
++ {
++ case STATE_START:
++ g_assert_not_reached (); /* gmarkup shouldn't do this */
++ break;
++ case STATE_TEXT:
++ case STATE_APPLY_TAG:
++ if (text_len == 0)
++ return;
++
++ span = g_new0 (TextSpan, 1);
++ span->text = g_strndup (text, text_len);
++ span->tags = copy_tag_list (info->tag_stack);
++
++ info->spans = g_list_prepend (info->spans, span);
++ break;
++ default:
++ g_assert_not_reached ();
++ break;
++ }
++}
++
++static void
++parse_info_init (ParseInfo *info,
++ GtkTextBuffer *buffer,
++ gboolean create_tags,
++ GList *headers)
++{
++ info->states = g_slist_prepend (NULL, GINT_TO_POINTER (STATE_START));
++
++ info->create_tags = create_tags;
++ info->headers = headers;
++ info->defined_tags = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
++ info->substitutions = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
++ info->tag_stack = NULL;
++ info->spans = NULL;
++ info->parsed_text = FALSE;
++ info->parsed_tags = FALSE;
++ info->current_tag = NULL;
++ info->current_tag_prio = -1;
++ info->tag_priorities = NULL;
++
++ info->buffer = buffer;
++}
++
++static void
++text_span_free (TextSpan *span)
++{
++ GSList *tmp;
++
++ g_free (span->text);
++
++ tmp = span->tags;
++ while (tmp)
++ {
++ g_free (tmp->data);
++
++ tmp = tmp->next;
++ }
++ g_slist_free (span->tags);
++ g_free (span);
++}
++
++static void
++parse_info_free (ParseInfo *info)
++{
++ GSList *slist;
++ GList *list;
++
++ slist = info->tag_stack;
++ while (slist)
++ {
++ g_free (slist->data);
++
++ slist = slist->next;
++ }
++
++ g_slist_free (info->tag_stack);
++ g_slist_free (info->states);
++
++ g_hash_table_destroy (info->substitutions);
++ g_hash_table_destroy (info->defined_tags);
++
++ if (info->current_tag)
++ g_object_unref (info->current_tag);
++
++ list = info->spans;
++ while (list)
++ {
++ text_span_free (list->data);
++
++ list = list->next;
++ }
++ g_list_free (info->spans);
++
++ list = info->tag_priorities;
++ while (list)
++ {
++ TextTagPrio *prio = list->data;
++
++ if (prio->tag)
++ g_object_unref (prio->tag);
++ g_free (prio);
++
++ list = list->next;
++ }
++ g_list_free (info->tag_priorities);
++
++}
++
++static const gchar *
++get_tag_substitution (ParseInfo *info,
++ const gchar *name)
++{
++ gchar *subst;
++
++ if ((subst = g_hash_table_lookup (info->substitutions, name)))
++ return subst;
++ else
++ return name;
++}
++
++static void
++insert_text (ParseInfo *info,
++ GtkTextIter *iter)
++{
++ GtkTextIter start_iter;
++ GtkTextMark *mark;
++ GList *tmp;
++ GSList *tags;
++
++ start_iter = *iter;
++
++ mark = gtk_text_buffer_create_mark (info->buffer, "deserialize_insert_point",
++ &start_iter, TRUE);
++
++ tmp = info->spans;
++ while (tmp)
++ {
++ TextSpan *span = tmp->data;
++
++ if (span->text)
++ gtk_text_buffer_insert (info->buffer, iter, span->text, -1);
++ else
++ {
++ gtk_text_buffer_insert_pixbuf (info->buffer, iter, span->pixbuf);
++ g_object_unref (span->pixbuf);
++ }
++ gtk_text_buffer_get_iter_at_mark (info->buffer, &start_iter, mark);
++
++ /* Apply tags */
++ tags = span->tags;
++ while (tags)
++ {
++ const gchar *tag_name = get_tag_substitution (info, tags->data);
++
++ gtk_text_buffer_apply_tag_by_name (info->buffer, tag_name,
++ &start_iter, iter);
++
++ tags = tags->next;
++ }
++
++ gtk_text_buffer_move_mark (info->buffer, mark, iter);
++
++ tmp = tmp->next;
++ }
++
++ gtk_text_buffer_delete_mark (info->buffer, mark);
++}
++
++
++
++static int
++read_int (const guchar *start)
++{
++ int result;
++
++ result =
++ start[0] << 24 |
++ start[1] << 16 |
++ start[2] << 8 |
++ start[3];
++
++ return result;
++}
++
++static gboolean
++header_is (Header *header, const gchar *id)
++{
++ return (strncmp (header->id, id, 8) == 0);
++}
++
++static GList *
++read_headers (const gchar *start,
++ gint len,
++ GError **error)
++{
++ int i = 0;
++ int section_len;
++ Header *header;
++ GList *headers = NULL;
++
++ while (i < len)
++ {
++ if (i + 12 >= len)
++ goto error;
++
++ if (strncmp (start + i, "RICHTEXT", 8) == 0 ||
++ strncmp (start + i, "PIXBDATA", 8) == 0)
++ {
++
++ section_len = read_int (start + i + 8);
++
++ if (i + 12 + section_len > len)
++ goto error;
++
++ header = g_new0 (Header, 1);
++ header->id = start + i;
++ header->length = section_len;
++ header->start = start + i + 12;
++
++ i += 12 + section_len;
++
++ headers = g_list_prepend (headers, header);
++ }
++ else
++ break;
++
++ }
++
++ return g_list_reverse (headers);
++
++ error:
++ g_list_foreach (headers, (GFunc) g_free, NULL);
++ g_list_free (headers);
++
++ g_set_error (error,
++ G_MARKUP_ERROR,
++ G_MARKUP_ERROR_PARSE,
++ _("Serialized data is malformed"));
++
++ return NULL;
++}
++
++static gboolean
++deserialize_text (GtkTextBuffer *buffer,
++ GtkTextIter *iter,
++ const gchar *text,
++ gint len,
++ gboolean create_tags,
++ GError **error,
++ GList *headers)
++{
++ GMarkupParseContext *context;
++ ParseInfo info;
++ gboolean retval = FALSE;
++
++
++ static GMarkupParser rich_text_parser = {
++ start_element_handler,
++ end_element_handler,
++ text_handler,
++ NULL,
++ NULL
++ };
++
++ parse_info_init (&info, buffer, create_tags, headers);
++
++ context = g_markup_parse_context_new (&rich_text_parser,
++ 0, &info, NULL);
++
++ if (!g_markup_parse_context_parse (context,
++ text,
++ len,
++ error))
++ goto out;
++
++ if (!g_markup_parse_context_end_parse (context, error))
++ goto out;
++
++ retval = TRUE;
++
++ /* Now insert the text */
++ insert_text (&info, iter);
++
++ out:
++ parse_info_free (&info);
++
++ g_markup_parse_context_free (context);
++
++ return retval;
++}
++
++gboolean
++gtk_text_buffer_deserialize_rich_text (GtkTextBuffer *buffer,
++ GtkTextIter *iter,
++ const gchar *text,
++ gint len,
++ gboolean create_tags,
++ GError **error)
++{
++ GList *headers;
++ Header *header;
++ gboolean retval;
++
++ headers = read_headers (text, len, error);
++
++ if (!headers)
++ return FALSE;
++
++ header = headers->data;
++ if (!header_is (header, "RICHTEXT"))
++ {
++ g_set_error (error,
++ G_MARKUP_ERROR,
++ G_MARKUP_ERROR_PARSE,
++ _("Serialized data is malformed. First section isn't RICHTEXT"));
++
++ retval = FALSE;
++ goto out;
++ }
++
++ retval = deserialize_text (buffer, iter,
++ header->start, header->length,
++ create_tags, error, headers->next);
++
++ out:
++ g_list_foreach (headers, (GFunc)g_free, NULL);
++ g_list_free (headers);
++
++ return retval;
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbufferserialize.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbufferserialize.h.diff
new file mode 100644
index 0000000000..653c227cbe
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextbufferserialize.h.diff
@@ -0,0 +1,40 @@
+--- gtk+-2.6.4/gtk/gtktextbufferserialize.h 1970-01-01 02:00:00.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktextbufferserialize.h 2005-04-06 16:19:38.025757568 +0300
+@@ -0,0 +1,37 @@
++/* gtktextbufferserialize.h
++ *
++ * Copyright (C) 2004 Nokia
++ *
++ * This library is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU Library General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This library is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Library General Public License for more details.
++ *
++ * You should have received a copy of the GNU Library General Public
++ * License along with this library; if not, write to the
++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++ * Boston, MA 02111-1307, USA.
++ */
++#ifndef GTK_TEXT_BUFFER_SERIALIZE_H
++
++#include <gtk/gtktextbuffer.h>
++
++gchar *gtk_text_buffer_serialize_rich_text (GtkTextBuffer *buffer,
++ const GtkTextIter *start,
++ const GtkTextIter *end,
++ gint *len);
++
++gboolean gtk_text_buffer_deserialize_rich_text (GtkTextBuffer *buffer,
++ GtkTextIter *iter,
++ const gchar *text,
++ gint len,
++ gboolean create_tags,
++ GError **error);
++
++
++#endif /* GTK_TEXT_BUFFER_SERIALIZE_H */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff
new file mode 100644
index 0000000000..7323574a64
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktextview.c.diff
@@ -0,0 +1,417 @@
+--- gtk+-2.6.4/gtk/gtktextview.c 2005-03-01 08:28:56.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktextview.c 2005-04-06 16:19:38.152738264 +0300
+@@ -99,6 +99,11 @@
+
+ #define SPACE_FOR_CURSOR 1
+
++typedef struct _GtkTextViewPrivate GtkTextViewPrivate;
++
++#define GTK_TEXT_VIEW_GET_PRIVATE(obj) ( G_TYPE_INSTANCE_GET_PRIVATE ((obj),\
++ GTK_TYPE_TEXT_VIEW, GtkTextViewPrivate) )
++
+ struct _GtkTextPendingScroll
+ {
+ GtkTextMark *mark;
+@@ -145,6 +150,8 @@
+ PROP_BUFFER,
+ PROP_OVERWRITE,
+ PROP_ACCEPTS_TAB,
++ PROP_AUTOCAP,
++ PROP_INPUT_MODE,
+ LAST_PROP
+ };
+
+@@ -343,6 +350,13 @@
+
+ static void gtk_text_view_update_im_spot_location (GtkTextView *text_view);
+
++static void gtk_text_view_set_autocap (GtkTextView *text_view,
++ gboolean autocap);
++static gboolean gtk_text_view_get_autocap (GtkTextView *text_view);
++static void gtk_text_view_set_input_mode (GtkTextView *text_view,
++ gint mode);
++static gint gtk_text_view_get_input_mode (GtkTextView *text_view);
++
+ /* Container methods */
+ static void gtk_text_view_add (GtkContainer *container,
+ GtkWidget *child);
+@@ -412,6 +426,10 @@
+ static gint text_window_get_width (GtkTextWindow *win);
+ static gint text_window_get_height (GtkTextWindow *win);
+
++struct _GtkTextViewPrivate
++{
++ guint release_selection : 1;
++};
+
+ static const GtkTargetEntry target_table[] = {
+ { "GTK_TEXT_BUFFER_CONTENTS", GTK_TARGET_SAME_APP, 0 },
+@@ -481,6 +499,7 @@
+
+ parent_class = g_type_class_peek_parent (klass);
+
++ g_type_class_add_private( klass, sizeof(GtkTextViewPrivate) );
+ /* Default handlers and virtual methods
+ */
+ gobject_class->set_property = gtk_text_view_set_property;
+@@ -667,6 +686,24 @@
+ TRUE,
+ G_PARAM_READWRITE));
+
++ g_object_class_install_property (gobject_class,
++ PROP_AUTOCAP,
++ g_param_spec_boolean ("autocap",
++ P_("auto capitalization"),
++ P_("Enable autocap support"),
++ TRUE,
++ G_PARAM_READABLE | G_PARAM_WRITABLE));
++
++ g_object_class_install_property (gobject_class,
++ PROP_INPUT_MODE,
++ g_param_spec_int ("input_mode",
++ P_("input mode"),
++ P_("Define widget's input mode"),
++ 0,
++ 9, /* keep me updated */
++ 0,
++ G_PARAM_READABLE | G_PARAM_WRITABLE));
++
+ /*
+ * Style properties
+ */
+@@ -676,6 +713,14 @@
+ P_("Color with which to draw error-indication underlines"),
+ GDK_TYPE_COLOR,
+ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("autocap",
++ _("auto capitalization"),
++ _("Enable autocap support"),
++ TRUE,
++ G_PARAM_READABLE));
++
+
+ /*
+ * Signals
+@@ -1040,8 +1085,9 @@
+ gtk_text_view_init (GtkTextView *text_view)
+ {
+ GtkWidget *widget;
+-
++ GtkTextViewPrivate *priv = NULL;
+ widget = GTK_WIDGET (text_view);
++ priv = GTK_TEXT_VIEW_GET_PRIVATE(text_view);
+
+ GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
+
+@@ -1057,6 +1103,8 @@
+ text_view->tabs = NULL;
+ text_view->editable = TRUE;
+
++ priv->release_selection = TRUE;
++
+ gtk_drag_dest_set (widget,
+ 0,
+ target_table, G_N_ELEMENTS (target_table),
+@@ -1070,6 +1118,10 @@
+ * to it; so we create it here and destroy it in finalize ().
+ */
+ text_view->im_context = gtk_im_multicontext_new ();
++ /* Set default stuff. */
++ gtk_text_view_set_autocap (text_view, TRUE);
++ gtk_text_view_set_input_mode (text_view, 0); /* alpha-numeric-special */
++ g_object_set (G_OBJECT (text_view->im_context), "use-show-hide", TRUE, NULL);
+
+ g_signal_connect (text_view->im_context, "commit",
+ G_CALLBACK (gtk_text_view_commit_handler), text_view);
+@@ -2664,6 +2716,14 @@
+ gtk_text_view_set_accepts_tab (text_view, g_value_get_boolean (value));
+ break;
+
++ case PROP_AUTOCAP:
++ gtk_text_view_set_autocap (text_view, g_value_get_boolean (value));
++ break;
++
++ case PROP_INPUT_MODE:
++ gtk_text_view_set_input_mode (text_view, g_value_get_int (value));
++ break;
++
+ default:
+ g_assert_not_reached ();
+ break;
+@@ -2738,6 +2798,14 @@
+ g_value_set_boolean (value, text_view->accepts_tab);
+ break;
+
++ case PROP_AUTOCAP:
++ g_value_set_boolean (value, gtk_text_view_get_autocap (text_view));
++ break;
++
++ case PROP_INPUT_MODE:
++ g_value_set_int (value, gtk_text_view_get_input_mode (text_view));
++ break;
++
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -3916,7 +3984,7 @@
+ GtkTextView *text_view = GTK_TEXT_VIEW (widget);
+ GtkTextMark *insert;
+ GtkTextIter iter;
+-
++
+ if (text_view->layout == NULL || get_buffer (text_view) == NULL)
+ return FALSE;
+
+@@ -4039,6 +4107,9 @@
+ if (event->window != text_view->text_window->bin_window)
+ return FALSE;
+
++ if (text_view->editable)
++ gtk_im_context_show (text_view->im_context);
++
+ if (event->button == 1)
+ {
+ if (text_view->drag_start_x >= 0)
+@@ -4083,7 +4154,15 @@
+ static gint
+ gtk_text_view_focus_in_event (GtkWidget *widget, GdkEventFocus *event)
+ {
++ /*gboolean have_selection;
++ GtkTextIter sel_start, sel_end;*/
++
+ GtkTextView *text_view = GTK_TEXT_VIEW (widget);
++
++ /*have_selection = gtk_text_buffer_get_selection_bounds(text_view->buffer, &sel_start, &sel_end);
++
++ if(!have_selection)
++ gtk_text_view_move_cursor(text_view, GTK_MOVEMENT_BUFFER_ENDS, 1, FALSE);*//*FIXME some other way to place the cursor in the end*/
+
+ gtk_widget_queue_draw (widget);
+
+@@ -4100,8 +4179,10 @@
+ G_CALLBACK (keymap_direction_changed), text_view);
+ gtk_text_view_check_keymap_direction (text_view);
+
++ /* Keyboard hack */
+ text_view->need_im_reset = TRUE;
+ gtk_im_context_focus_in (GTK_TEXT_VIEW (widget)->im_context);
++ gtk_text_view_reset_im_context (text_view);
+
+ return FALSE;
+ }
+@@ -4110,6 +4191,14 @@
+ gtk_text_view_focus_out_event (GtkWidget *widget, GdkEventFocus *event)
+ {
+ GtkTextView *text_view = GTK_TEXT_VIEW (widget);
++ GtkTextViewPrivate *priv = GTK_TEXT_VIEW_GET_PRIVATE(text_view);
++ /*{
++ GtkTextIter start;
++ GtkTextIter end;
++
++ gtk_text_buffer_get_bounds(text_view->buffer, &start, &end);
++ gtk_text_buffer_select_range(text_view->buffer, &start, &start);
++ }*//*FIXME need a hack here to take away the focus*/
+
+ gtk_widget_queue_draw (widget);
+
+@@ -4125,8 +4214,11 @@
+ keymap_direction_changed,
+ text_view);
+
+- text_view->need_im_reset = TRUE;
+- gtk_im_context_focus_out (GTK_TEXT_VIEW (widget)->im_context);
++ /* This is commented out to disable unselect feature.
++ When the decition of this has been made, we can either remove this patch
++ or to leave it.
++ if( priv->release_selection )
++ gtk_text_view_unselect( text_view );*/
+
+ return FALSE;
+ }
+@@ -5082,7 +5174,8 @@
+ GtkTextIter end;
+ gboolean leave_one = FALSE;
+
+- gtk_text_view_reset_im_context (text_view);
++ /*gtk_text_view_reset_im_context (text_view);*/ /*backspace should not clear
++ the word completion*/
+
+ if (type == GTK_DELETE_CHARS)
+ {
+@@ -5200,7 +5293,8 @@
+ {
+ GtkTextIter insert;
+
+- gtk_text_view_reset_im_context (text_view);
++ /*gtk_text_view_reset_im_context (text_view);*/ /*backspace should not clear
++ the word completion*/
+
+ /* Backspace deletes the selection, if one exists */
+ if (gtk_text_buffer_delete_selection (get_buffer (text_view), TRUE,
+@@ -5928,11 +6022,11 @@
+ static void
+ gtk_text_view_reset_im_context (GtkTextView *text_view)
+ {
+- if (text_view->need_im_reset)
++/* if (text_view->need_im_reset)
+ {
+- text_view->need_im_reset = FALSE;
++ text_view->need_im_reset = FALSE;*/
+ gtk_im_context_reset (text_view->im_context);
+- }
++/* }*/
+ }
+
+ /*
+@@ -6665,18 +6759,23 @@
+ {
+ GtkTextIter start;
+ GtkTextIter end;
+- gint pos;
++ gint pos, endpos;
+ gchar *text;
+
+- gtk_text_buffer_get_iter_at_mark (text_view->buffer, &start,
++ gtk_text_buffer_get_iter_at_line (text_view->buffer, &start, 0);
++ gtk_text_buffer_get_iter_at_mark (text_view->buffer, &end,
+ gtk_text_buffer_get_insert (text_view->buffer));
+- end = start;
+
+- pos = gtk_text_iter_get_line_index (&start);
+- gtk_text_iter_set_line_offset (&start, 0);
++ pos = gtk_text_iter_get_line_index (&end);
++
+ gtk_text_iter_forward_to_line_end (&end);
++ endpos = gtk_text_iter_get_line_index (&end);
+
+ text = gtk_text_iter_get_slice (&start, &end);
++ if (text)
++ pos = strlen (text) - (endpos - pos); /* want bytes, not characters */
++ else
++ pos = 0;
+ gtk_im_context_set_surrounding (context, text, -1, pos);
+ g_free (text);
+
+@@ -6726,8 +6825,8 @@
+ need_reset = TRUE;
+ }
+
+- if (need_reset)
+- gtk_text_view_reset_im_context (text_view);
++ /*if (need_reset)
++ gtk_text_view_reset_im_context (text_view);*//*FIXME need a hack here*/
+ }
+
+ static void
+@@ -6957,6 +7056,13 @@
+ }
+
+ static void
++block_selection_change( GtkMenuShell *menushell, gpointer user_data )
++{
++ GtkTextViewPrivate *priv = GTK_TEXT_VIEW_GET_PRIVATE(user_data);
++ priv->release_selection = TRUE;
++}
++
++static void
+ unichar_chosen_func (const char *text,
+ gpointer data)
+ {
+@@ -7064,7 +7170,12 @@
+ signals[POPULATE_POPUP],
+ 0,
+ text_view->popup_menu);
+-
++ {
++ GtkTextViewPrivate *priv = GTK_TEXT_VIEW_GET_PRIVATE(text_view);
++ g_signal_connect( GTK_WIDGET(text_view->popup_menu), "selection-done",
++ G_CALLBACK(block_selection_change), text_view );
++ priv->release_selection = FALSE;
++ }
+ if (info->button)
+ gtk_menu_popup (GTK_MENU (text_view->popup_menu), NULL, NULL,
+ NULL, NULL,
+@@ -8301,3 +8412,81 @@
+
+ return gtk_text_layout_move_iter_visually (text_view->layout, iter, count);
+ }
++
++/*
++ * gtk_text_view_set_autocap:
++ * @entry: a #GtkTextView
++ * @autocap: autocap
++ *
++ * Sets autocapitalization of the widget.
++ */
++static void
++gtk_text_view_set_autocap (GtkTextView *text_view,
++ gboolean autocap)
++{
++ g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
++
++ if (gtk_text_view_get_autocap (text_view) != autocap)
++ {
++ g_object_set (G_OBJECT (text_view->im_context), "autocap", autocap, NULL);
++ g_object_notify (G_OBJECT (text_view), "autocap");
++ }
++}
++
++/*
++ * gtk_text_view_get_autocap:
++ * @entry: a #GtkTextView
++ *
++ * Gets autocapitalization state of the widget.
++ *
++ * Return value: a state
++ */
++static gboolean
++gtk_text_view_get_autocap (GtkTextView *text_view)
++{
++ gboolean autocap;
++ g_return_val_if_fail (GTK_IS_TEXT_VIEW (text_view), FALSE);
++
++ g_object_get (G_OBJECT (text_view->im_context), "autocap", &autocap, NULL);
++
++ return autocap;
++}
++
++/*
++ * gtk_text_view_set_input_mode:
++ * @text_view: a #GtkTextView
++ * @mode: input mode
++ *
++ * Sets autocapitalization of the widget.
++ */
++static void
++gtk_text_view_set_input_mode (GtkTextView *text_view,
++ gint mode)
++{
++ g_return_if_fail (GTK_IS_TEXT_VIEW (text_view));
++
++ if (gtk_text_view_get_input_mode (text_view) != mode)
++ {
++ g_object_set (G_OBJECT (text_view->im_context), "input_mode", mode, NULL);
++ g_object_notify (G_OBJECT (text_view), "input_mode");
++ }
++}
++
++/*
++ * gtk_text_view_get_input_mode:
++ * @text_view: a #GtkTextView
++ *
++ * Gets input mode of the widget.
++ *
++ * Return value: input mode
++ */
++static gint
++gtk_text_view_get_input_mode (GtkTextView *text_view)
++{
++ gint mode;
++ g_return_val_if_fail (GTK_IS_TEXT_VIEW (text_view), FALSE);
++
++ g_object_get (G_OBJECT (text_view->im_context), "input_mode", &mode, NULL);
++
++ return mode;
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff
new file mode 100644
index 0000000000..b99d346f4b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbar.c.diff
@@ -0,0 +1,252 @@
+--- gtk+-2.6.4/gtk/gtktoolbar.c 2004-11-23 06:11:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktoolbar.c 2005-04-06 16:19:38.166736136 +0300
+@@ -67,7 +67,9 @@
+
+ #define DEFAULT_ICON_SIZE GTK_ICON_SIZE_LARGE_TOOLBAR
+ #define DEFAULT_TOOLBAR_STYLE GTK_TOOLBAR_BOTH
++#define DEFAULT_ANIMATION_STATE FALSE
+
++#define DEFAULT_MAX_CHILD_SPACING G_MAXINT
+ #define MAX_HOMOGENEOUS_N_CHARS 13 /* Items that are wider than this do not participate
+ * in the homogeneous game. In units of
+ * pango_font_get_estimated_char_width().
+@@ -140,10 +142,14 @@
+
+ GTimer * timer;
+
++ guint animation_connection;
++
+ guint show_arrow : 1;
+ guint need_sync : 1;
+ guint is_sliding : 1;
+ guint need_rebuild : 1; /* whether the overflow menu should be regenerated */
++ guint animation_set : 1;
++ guint animation : 1;
+ };
+
+ static void gtk_toolbar_init (GtkToolbar *toolbar);
+@@ -225,9 +231,11 @@
+ static void gtk_toolbar_reconfigured (GtkToolbar *toolbar);
+ static gboolean gtk_toolbar_check_new_api (GtkToolbar *toolbar);
+ static gboolean gtk_toolbar_check_old_api (GtkToolbar *toolbar);
++static void gtk_toolbar_update_animation_state (GtkToolbar *toolbar);
+
+ static GtkReliefStyle get_button_relief (GtkToolbar *toolbar);
+ static gint get_internal_padding (GtkToolbar *toolbar);
++static gint get_max_child_expand (GtkToolbar *toolbar);
+ static GtkShadowType get_shadow_type (GtkToolbar *toolbar);
+ static gint get_space_size (GtkToolbar *toolbar);
+ static GtkToolbarSpaceStyle get_space_style (GtkToolbar *toolbar);
+@@ -563,6 +571,15 @@
+ G_PARAM_READABLE));
+
+ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("max_child_expand",
++ P_("Maximum toolbar item spacing"),
++ P_("Maximum space between the toolbar items."),
++ 0,
++ G_MAXINT,
++ DEFAULT_MAX_CHILD_SPACING,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
+ g_param_spec_enum ("space_style",
+ P_("Space style"),
+ P_("Whether spacers are vertical lines or just blank"),
+@@ -598,6 +615,12 @@
+ GTK_TYPE_ICON_SIZE,
+ DEFAULT_ICON_SIZE,
+ G_PARAM_READWRITE));
++
++ gtk_settings_install_property (g_param_spec_boolean ("gtk-toolbar-animation",
++ P_("Toolbar animation"),
++ P_("Are we using toolbar animation"),
++ DEFAULT_ANIMATION_STATE,
++ G_PARAM_READWRITE));
+
+ binding_set = gtk_binding_set_by_class (klass);
+
+@@ -638,6 +661,7 @@
+ toolbar->orientation = GTK_ORIENTATION_HORIZONTAL;
+ toolbar->style = DEFAULT_TOOLBAR_STYLE;
+ toolbar->icon_size = DEFAULT_ICON_SIZE;
++ priv->animation = DEFAULT_ANIMATION_STATE;
+ toolbar->tooltips = gtk_tooltips_new ();
+ g_object_ref (toolbar->tooltips);
+ gtk_object_sink (GTK_OBJECT (toolbar->tooltips));
+@@ -960,7 +984,7 @@
+ }
+
+ static gint
+-position (gint from, gint to, gdouble elapsed)
++position (GtkToolbar *toolbar, gint from, gint to, gdouble elapsed)
+ {
+ gint n_pixels;
+
+@@ -978,11 +1002,20 @@
+ n_pixels = (SLIDE_SPEED / ACCEL_THRESHOLD) * elapsed * elapsed -
+ SLIDE_SPEED * elapsed + SLIDE_SPEED * ACCEL_THRESHOLD;
+ }
+-
+- if (to > from)
+- return MIN (from + n_pixels, to);
+- else
+- return MAX (from - n_pixels, to);
++ if (GTK_TOOLBAR_GET_PRIVATE (toolbar)->animation) {
++ if (to > from)
++ return MIN (from + n_pixels, to);
++ else
++ return MAX (from - n_pixels, to);
++ }
++ return to;
++}
++
++static GtkSettings *
++toolbar_get_settings (GtkToolbar *toolbar)
++{
++ GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar);
++ return priv->settings;
+ }
+
+ static void
+@@ -994,12 +1027,12 @@
+ GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar);
+ gdouble elapsed = g_timer_elapsed (priv->timer, NULL);
+
+- intermediate->x = position (start->x, goal->x, elapsed);
+- intermediate->y = position (start->y, goal->y, elapsed);
++ intermediate->x = position (toolbar, start->x, goal->x, elapsed);
++ intermediate->y = position (toolbar, start->y, goal->y, elapsed);
+ intermediate->width =
+- position (start->x + start->width, goal->x + goal->width, elapsed) - intermediate->x;
++ position (toolbar, start->x + start->width, goal->x + goal->width, elapsed) - intermediate->x;
+ intermediate->height =
+- position (start->y + start->height, goal->y + goal->height, elapsed) - intermediate->y;
++ position (toolbar, start->y + start->height, goal->y + goal->height, elapsed) - intermediate->y;
+ }
+
+ static void
+@@ -1047,6 +1080,32 @@
+ }
+ }
+
++static void
++gtk_toolbar_update_animation_state (GtkToolbar *toolbar)
++{
++ gboolean animation_state;
++ GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar);
++
++ g_return_if_fail (GTK_IS_TOOLBAR (toolbar));
++
++ if (priv->animation_set)
++ {
++ GtkSettings *settings = toolbar_get_settings (toolbar);
++
++ if (settings)
++ {
++ g_object_get (settings,
++ "gtk-toolbar-animation", &animation_state,
++ NULL);
++ }
++ else
++ animation_state = DEFAULT_ANIMATION_STATE;
++
++ priv->animation = animation_state;
++ priv->animation_set = FALSE;
++ }
++}
++
+ static gboolean
+ slide_idle_handler (gpointer data)
+ {
+@@ -1537,10 +1596,14 @@
+
+ if (toolbar_content_get_expand (content) && new_states[i] == NORMAL)
+ {
++ gint mexpand = get_max_child_expand(toolbar);
+ gint extra = size / n_expand_items;
+ if (size % n_expand_items != 0)
+ extra++;
+-
++ if (extra > mexpand) {
++ extra = mexpand;
++ }
++
+ allocations[i].width += extra;
+ size -= extra;
+ n_expand_items--;
+@@ -1932,11 +1995,16 @@
+ }
+ }
+
+-static GtkSettings *
+-toolbar_get_settings (GtkToolbar *toolbar)
++static void
++animation_change_notify (GtkToolbar *toolbar)
+ {
+ GtkToolbarPrivate *priv = GTK_TOOLBAR_GET_PRIVATE (toolbar);
+- return priv->settings;
++ if (!priv->animation_set)
++ {
++ /* pretend it was set, then unset, thus reverting to new default */
++ priv->animation_set = TRUE;
++ gtk_toolbar_update_animation_state (toolbar);
++ }
+ }
+
+ static void
+@@ -1960,6 +2028,7 @@
+ {
+ g_signal_handler_disconnect (old_settings, toolbar->style_set_connection);
+ g_signal_handler_disconnect (old_settings, toolbar->icon_size_connection);
++ g_signal_handler_disconnect (old_settings, priv->animation_connection);
+
+ g_object_unref (old_settings);
+ }
+@@ -1976,6 +2045,11 @@
+ "notify::gtk-toolbar-icon-size",
+ G_CALLBACK (icon_size_change_notify),
+ toolbar);
++ priv->animation_connection =
++ g_signal_connect_swapped (settings,
++ "notify::gtk-toolbar-animation",
++ G_CALLBACK (animation_change_notify),
++ toolbar);
+
+ g_object_ref (settings);
+ priv->settings = settings;
+@@ -1985,6 +2059,7 @@
+
+ style_change_notify (toolbar);
+ icon_size_change_notify (toolbar);
++ animation_change_notify (toolbar);
+ }
+
+ static int
+@@ -2913,7 +2988,7 @@
+ * gtk_toolbar_get_icon_size:
+ * @toolbar: a #GtkToolbar
+ *
+- * Retrieves the icon size fo the toolbar. See gtk_toolbar_set_icon_size().
++ * Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size().
+ *
+ * Return value: the current icon size for the icons on the toolbar.
+ **/
+@@ -4642,6 +4717,17 @@
+ return ipadding;
+ }
+
++static gint
++get_max_child_expand (GtkToolbar *toolbar)
++{
++ gint mexpand = DEFAULT_MAX_CHILD_SPACING;
++
++ gtk_widget_style_get (GTK_WIDGET (toolbar),
++ "max_child_expand", &mexpand,
++ NULL);
++ return mexpand;
++}
++
+ static GtkShadowType
+ get_shadow_type (GtkToolbar *toolbar)
+ {
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbutton.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbutton.c.diff
new file mode 100644
index 0000000000..15e15fe796
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbutton.c.diff
@@ -0,0 +1,65 @@
+--- gtk+-2.6.4/gtk/gtktoolbutton.c 2004-11-20 01:18:38.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktoolbutton.c 2005-04-06 16:19:38.167735984 +0300
+@@ -41,6 +41,7 @@
+
+ enum {
+ CLICKED,
++ INSENSITIVE_PRESS,
+ LAST_SIGNAL
+ };
+
+@@ -74,7 +75,10 @@
+ GtkToolButton *button);
+
+ static void gtk_tool_button_construct_contents (GtkToolItem *tool_item);
+-
++
++ static void insensitive_press (GtkWidget *widget,
++ GtkToolButton *button);
++
+ static GObjectClass *parent_class = NULL;
+ static guint toolbutton_signals[LAST_SIGNAL] = { 0 };
+
+@@ -226,7 +230,7 @@
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+-
++
+ g_type_class_add_private (object_class, sizeof (GtkToolButtonPrivate));
+ }
+
+@@ -246,6 +250,10 @@
+ g_signal_connect_object (button->priv->button, "clicked",
+ G_CALLBACK (button_clicked), button, 0);
+
++ /* Hildon: connect "insensitive_press" signal for private button */
++ g_signal_connect_object (button->priv->button, "insensitive_press",
++ G_CALLBACK (insensitive_press), button, 0);
++
+ gtk_container_add (GTK_CONTAINER (button), button->priv->button);
+ gtk_widget_show (button->priv->button);
+ }
+@@ -519,7 +527,7 @@
+
+ src_pixbuf = gtk_image_get_pixbuf (image);
+ dest_pixbuf = gdk_pixbuf_scale_simple (src_pixbuf, width, height,
+- GDK_INTERP_BILINEAR);
++ GDK_INTERP_NEAREST);
+
+ return gtk_image_new_from_pixbuf (dest_pixbuf);
+ }
+@@ -594,6 +602,13 @@
+ }
+
+ static void
++insensitive_press (GtkWidget *widget,
++ GtkToolButton *button)
++{
++ g_signal_emit_by_name (button, "insensitive_press");
++}
++
++static void
+ gtk_tool_button_toolbar_reconfigured (GtkToolItem *tool_item)
+ {
+ gtk_tool_button_construct_contents (tool_item);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbutton.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbutton.h.diff
new file mode 100644
index 0000000000..f11a73b63d
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktoolbutton.h.diff
@@ -0,0 +1,10 @@
+--- gtk+-2.6.4/gtk/gtktoolbutton.h 2004-11-23 22:02:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktoolbutton.h 2005-04-06 16:19:38.168735832 +0300
+@@ -54,6 +54,7 @@
+
+ /* signal */
+ void (* clicked) (GtkToolButton *tool_item);
++ void (* insensitive_press) (GtkToolButton *tool_item);
+
+ /* Padding for future expansion */
+ void (* _gtk_reserved1) (void);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreemodelfilter.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreemodelfilter.c.diff
new file mode 100644
index 0000000000..af2d495a86
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreemodelfilter.c.diff
@@ -0,0 +1,52 @@
+--- gtk+-2.6.4/gtk/gtktreemodelfilter.c 2005-02-24 16:43:53.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktreemodelfilter.c 2005-04-06 16:19:38.177734464 +0300
+@@ -1210,14 +1210,22 @@
+ if (gtk_tree_path_get_depth (filter->priv->virtual_root) >=
+ gtk_tree_path_get_depth (c_path))
+ {
+- gint level;
++ gint level, i;
+ gint *v_indices, *c_indices;
++ gboolean common_prefix = TRUE;
+
+ level = gtk_tree_path_get_depth (c_path) - 1;
+ v_indices = gtk_tree_path_get_indices (filter->priv->virtual_root);
+ c_indices = gtk_tree_path_get_indices (c_path);
+
+- if (v_indices[level] >= c_indices[level])
++ for (i = 0; i < level; i++)
++ if (v_indices[i] != c_indices[i])
++ {
++ common_prefix = FALSE;
++ break;
++ }
++
++ if (common_prefix && v_indices[level] >= c_indices[level])
+ (v_indices[level])++;
+ }
+ }
+@@ -1455,14 +1463,22 @@
+ if (gtk_tree_path_get_depth (filter->priv->virtual_root) >=
+ gtk_tree_path_get_depth (c_path))
+ {
+- gint level;
++ gint level, i;
+ gint *v_indices, *c_indices;
++ gboolean common_prefix = TRUE;
+
+ level = gtk_tree_path_get_depth (c_path) - 1;
+ v_indices = gtk_tree_path_get_indices (filter->priv->virtual_root);
+ c_indices = gtk_tree_path_get_indices (c_path);
+
+- if (v_indices[level] > c_indices[level])
++ for (i = 0; i < level; i++)
++ if (v_indices[i] != c_indices[i])
++ {
++ common_prefix = FALSE;
++ break;
++ }
++
++ if (common_prefix && v_indices[level] > c_indices[level])
+ (v_indices[level])--;
+ }
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreemodelsort.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreemodelsort.c.diff
new file mode 100644
index 0000000000..94139d162a
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreemodelsort.c.diff
@@ -0,0 +1,21 @@
+--- gtk+-2.6.4/gtk/gtktreemodelsort.c 2004-11-30 23:45:26.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktreemodelsort.c 2005-04-06 16:19:38.178734312 +0300
+@@ -703,6 +703,18 @@
+ tmppath = gtk_tree_model_get_path (GTK_TREE_MODEL (data), &tmpiter);
+ if (tmppath)
+ {
++ GtkTreePath *path;
++ GtkTreeIter iter;
++ gboolean result;
++
++ path = gtk_tree_path_copy (tmppath);
++ gtk_tree_path_down (path);
++
++ result = gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &iter, path);
++ g_assert (result);
++ gtk_tree_model_row_inserted (GTK_TREE_MODEL (data), path, &iter);
++ gtk_tree_path_free (path);
++
+ gtk_tree_model_row_has_child_toggled (GTK_TREE_MODEL (data),
+ tmppath,
+ &tmpiter);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeprivate.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeprivate.h.diff
new file mode 100644
index 0000000000..384c63bc7d
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeprivate.h.diff
@@ -0,0 +1,58 @@
+--- gtk+-2.6.4/gtk/gtktreeprivate.h 2004-08-02 22:11:32.000000000 +0300
++++ gtk+-2.6.4/gtk/gtktreeprivate.h 2005-04-06 16:19:38.185733248 +0300
+@@ -232,6 +232,37 @@
+ GtkTreeViewRowSeparatorFunc row_separator_func;
+ gpointer row_separator_data;
+ GtkDestroyNotify row_separator_destroy;
++
++ /* Hildon additions */
++ guint new_state : 1; /* helper flag for pen drag in checkbox mode */
++ guint checkbox_mode : 1; /* is checkbox mode on right now? */
++ guint allow_checkbox_mode : 1; /* is checkbox mode ever allowed to be on? */
++ guint pen_down : 1;
++ guint pen_drag_active : 1;
++ guint pen_drag_motion_counter;
++ guint pen_drag_reverse : 1;
++ gboolean pen_scroll_timer;
++ gdouble old_y;
++ gboolean pen_focus;
++ gboolean dotted_lines;
++ gboolean force_list_kludge;
++
++ /* the "pen down" row of the current pen drag */
++ GtkTreeRowReference *first_drag_row;
++
++ /* most recently toggled row during pen drag */
++ GtkTreeRowReference *last_drag_row;
++
++ /* for postponing tree node expand/collapse at
++ button_press event until button_release event */
++ GtkTreeRowReference *queued_expand_row;
++
++ /* for postponing selection clearing at button_press event
++ until button_release event in painted multiple selection mode */
++ GtkTreeRowReference *queued_select_row;
++
++ /* Hildon treeview can_focus hack */
++ guint check_if_can_focus_idle_id;
+ };
+
+ #ifdef __GNUC__
+@@ -357,6 +388,7 @@
+ GtkTreeViewColumn *column);
+
+ gboolean _gtk_tree_view_column_has_editable_cell (GtkTreeViewColumn *column);
++gboolean _gtk_tree_view_column_has_activatable_cell (GtkTreeViewColumn *column);
+ GtkCellRenderer *_gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column);
+ gint _gtk_tree_view_column_count_special_cells (GtkTreeViewColumn *column);
+ GtkCellRenderer *_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column,
+@@ -366,6 +398,9 @@
+ GtkTreeSelection* _gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view);
+ void _gtk_tree_selection_set_tree_view (GtkTreeSelection *selection,
+ GtkTreeView *tree_view);
++gboolean _gtk_tree_selection_is_row_selectable (GtkTreeSelection *selection,
++ GtkRBNode *node,
++ GtkTreePath *path);
+
+ void _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column,
+ GdkWindow *window,
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeselection.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeselection.c.diff
new file mode 100644
index 0000000000..5361f9b5d1
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeselection.c.diff
@@ -0,0 +1,91 @@
+--- gtk+-2.6.4/gtk/gtktreeselection.c 2004-11-20 01:18:38.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktreeselection.c 2005-04-06 16:19:38.186733096 +0300
+@@ -190,11 +190,28 @@
+ GtkSelectionMode type)
+ {
+ GtkTreeSelectionFunc tmp_func;
++
+ g_return_if_fail (GTK_IS_TREE_SELECTION (selection));
+
+ if (selection->type == type)
+ return;
+
++ /* Hildon addition */
++ if ((type == GTK_SELECTION_SINGLE) &&
++ (selection->type == GTK_SELECTION_MULTIPLE ||
++ selection->type == GTK_SELECTION_BROWSE))
++ {
++ GtkTreePath *cursor_path;
++
++ /* to successfully switch from multiple selection mode to single
++ selection, we must ensure that anchor exists and is selected
++ since otherwise gtk_tree_selection_select_path won't work anymore */
++ if (gtk_tree_row_reference_valid (selection->tree_view->priv->cursor))
++ {
++ cursor_path = gtk_tree_row_reference_get_path (selection->tree_view->priv->cursor); gtk_tree_selection_select_path (selection, cursor_path);
++ gtk_tree_path_free (cursor_path);
++ }
++ }
+
+ if (type == GTK_SELECTION_NONE)
+ {
+@@ -251,6 +268,20 @@
+ }
+
+ selection->type = type;
++
++ /* Hildon addition */
++ if (type == GTK_SELECTION_SINGLE)
++ {
++ GtkTreePath *path;
++ GtkTreeIter iter;
++
++ /* reset cursor to the selected row */
++ gtk_tree_selection_get_selected (selection, NULL, &iter);
++ path = gtk_tree_model_get_path (selection->tree_view->priv->model,
++ &iter);
++ gtk_tree_view_set_cursor (selection->tree_view, path, NULL, FALSE);
++ gtk_tree_path_free (path);
++ }
+ }
+
+ /**
+@@ -1319,10 +1350,10 @@
+ return sensitive;
+ }
+
+-static gboolean
+-row_is_selectable (GtkTreeSelection *selection,
+- GtkRBNode *node,
+- GtkTreePath *path)
++gboolean
++_gtk_tree_selection_is_row_selectable (GtkTreeSelection *selection,
++ GtkRBNode *node,
++ GtkTreePath *path)
+ {
+ GList *list;
+ GtkTreeIter iter;
+@@ -1411,7 +1442,7 @@
+ {
+ /* We only want to select the new node if we can unselect the old one,
+ * and we can select the new one. */
+- dirty = row_is_selectable (selection, node, path);
++ dirty = _gtk_tree_selection_is_row_selectable (selection, node, path);
+
+ /* if dirty is FALSE, we weren't able to select the new one, otherwise, we try to
+ * unselect the new one
+@@ -1528,8 +1559,13 @@
+ if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED) != select)
+ {
+ path = _gtk_tree_view_find_path (selection->tree_view, tree, node);
+- selected = row_is_selectable (selection, node, path);
++ selected = _gtk_tree_selection_is_row_selectable (selection, node, path);
+ gtk_tree_path_free (path);
++
++ /* if row is unselectable, allow unselection only */
++ if (!selected && !select &&
++ GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED))
++ selected = TRUE;
+ }
+
+ if (selected == TRUE)
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeview.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeview.c.diff
new file mode 100644
index 0000000000..87ccffa868
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeview.c.diff
@@ -0,0 +1,2253 @@
+--- gtk+-2.6.4/gtk/gtktreeview.c 2005-02-24 00:38:20.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktreeview.c 2005-04-06 16:19:38.274719720 +0300
+@@ -42,6 +42,7 @@
+ #include "gtkentry.h"
+ #include "gtkframe.h"
+ #include "gtktreemodelsort.h"
++#include "gtkscrolledwindow.h"
+
+ #define GTK_TREE_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5)
+ #define GTK_TREE_VIEW_PRIORITY_SCROLL_SYNC (GTK_TREE_VIEW_PRIORITY_VALIDATE + 2)
+@@ -114,6 +115,7 @@
+ EXPAND_COLLAPSE_CURSOR_ROW,
+ SELECT_CURSOR_PARENT,
+ START_INTERACTIVE_SEARCH,
++ ROW_INSENSITIVE,
+ LAST_SIGNAL
+ };
+
+@@ -132,7 +134,10 @@
+ PROP_SEARCH_COLUMN,
+ PROP_FIXED_HEIGHT_MODE,
+ PROP_HOVER_SELECTION,
+- PROP_HOVER_EXPAND
++ PROP_HOVER_EXPAND,
++ PROP_DOTTED_LINES,
++ PROP_FORCE_LIST_KLUDGE,
++ PROP_ALLOW_CHECKBOX_MODE
+ };
+
+ static void gtk_tree_view_class_init (GtkTreeViewClass *klass);
+@@ -338,8 +343,6 @@
+ static void gtk_tree_view_clamp_node_visible (GtkTreeView *tree_view,
+ GtkRBTree *tree,
+ GtkRBNode *node);
+-static void gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view,
+- GtkTreeViewColumn *column);
+ static gboolean gtk_tree_view_maybe_begin_dragging_row (GtkTreeView *tree_view,
+ GdkEventMotion *event);
+ static void gtk_tree_view_focus_to_cursor (GtkTreeView *tree_view);
+@@ -372,6 +375,18 @@
+ gpointer data);
+ static gboolean expand_collapse_timeout (gpointer data);
+ static gboolean do_expand_collapse (GtkTreeView *tree_view);
++static void update_checkbox_mode (GObject *object,
++ GParamSpec *pspec,
++ gpointer data);
++static void set_dotted_lines (GtkTreeView *tree_view,
++ gboolean enable);
++static void selection_changed (GtkTreeSelection *selection,
++ gpointer data);
++static void check_if_can_focus (GtkTreeView *tree_view);
++static gint scroll_row_timeout (gpointer data);
++
++static void add_scroll_timeout (GtkTreeView *tree_view);
++static void remove_scroll_timeout (GtkTreeView *tree_view);
+
+ /* interactive search */
+ static void gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view);
+@@ -694,8 +709,54 @@
+ FALSE,
+ G_PARAM_READWRITE));
+
++ /**
++ * GtkTreeView:dotted-lines:
++ *
++ * Enables or disables the dotted lines for hierarchical trees.
++ * Hildon patch.
++ */
++ g_object_class_install_property (o_class,
++ PROP_DOTTED_LINES,
++ g_param_spec_boolean ("dotted_lines",
++ P_("Dotted Lines"),
++ P_("Whether to show or hide dotted lines for hierarchical trees"),
++ FALSE,
++ G_PARAM_READWRITE));
++
++ /**
++ * GtkTreeView:force-list-kludge:
++ *
++ * Hildon kludge for fixing file tree behaviour until a cleaner
++ * implementation is scheduled: if this property is set, then rows
++ * can be activated by tapping even if the underlying tree model is
++ * not technically a list.
++ */
++ g_object_class_install_property (o_class,
++ PROP_FORCE_LIST_KLUDGE,
++ g_param_spec_boolean ("force_list_kludge",
++ P_("Force List Behaviour"),
++ P_("Whether to activate tapped focused items even if model was not a list"),
++ FALSE,
++ G_PARAM_READWRITE));
++
++ /**
++ * GtkTreeView:enable-checkbox-mode:
++ *
++ * Another Hildon kludge for allowing the existence of GtkTreeViews
++ * that have activatable columns but that still is not a Text Listbox
++ * in multiple selection with checkboxes mode.
++ */
++ g_object_class_install_property (o_class,
++ PROP_ALLOW_CHECKBOX_MODE,
++ g_param_spec_boolean ("allow_checkbox_mode",
++ P_("Enable Checkbox Mode"),
++ P_("Whether to behave like a Listbox in a multiple selection with checkboxes mode, if checkboxes exist"),
++ TRUE,
++ G_PARAM_READWRITE));
++
+ /* Style properties */
+ #define _TREE_VIEW_EXPANDER_SIZE 12
++#define _TREE_VIEW_EXPANDER_INDENT 10
+ #define _TREE_VIEW_VERTICAL_SEPARATOR 2
+ #define _TREE_VIEW_HORIZONTAL_SEPARATOR 2
+
+@@ -709,6 +770,15 @@
+ G_PARAM_READABLE));
+
+ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("expander_indent",
++ P_("Expander intent"),
++ P_("Defines the expanders indent"),
++ 0,
++ G_MAXINT,
++ _TREE_VIEW_EXPANDER_INDENT,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
+ g_param_spec_int ("vertical_separator",
+ P_("Vertical Separator Width"),
+ P_("Vertical space between cells. Must be an even number"),
+@@ -754,6 +824,13 @@
+ GDK_TYPE_COLOR,
+ G_PARAM_READABLE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("passive_focus",
++ P_("Enables passive focus"),
++ P_("Used for tree view passive focus"),
++ TRUE,
++ G_PARAM_READABLE));
++
+ /* Signals */
+ widget_class->set_scroll_adjustments_signal =
+ g_signal_new ("set_scroll_adjustments",
+@@ -917,6 +994,16 @@
+ _gtk_marshal_BOOLEAN__NONE,
+ G_TYPE_BOOLEAN, 0);
+
++ tree_view_signals[ROW_INSENSITIVE] =
++ g_signal_new ("row_insensitive",
++ G_TYPE_FROM_CLASS (o_class),
++ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
++ G_STRUCT_OFFSET (GtkTreeViewClass, row_insensitive),
++ NULL, NULL,
++ _gtk_marshal_VOID__OBJECT,
++ G_TYPE_NONE, 1,
++ GTK_TYPE_TREE_PATH);
++
+ /* Key bindings */
+ gtk_tree_view_add_move_binding (binding_set, GDK_Up, 0,
+ GTK_MOVEMENT_DISPLAY_LINES, -1);
+@@ -1004,12 +1091,13 @@
+
+ gtk_binding_entry_add_signal (binding_set, GDK_space, 0, "select_cursor_row", 1,
+ G_TYPE_BOOLEAN, TRUE);
++ /* Hildon change: Enter shouldn't select
+ gtk_binding_entry_add_signal (binding_set, GDK_Return, 0, "select_cursor_row", 1,
+ G_TYPE_BOOLEAN, TRUE);
+ gtk_binding_entry_add_signal (binding_set, GDK_ISO_Enter, 0, "select_cursor_row", 1,
+ G_TYPE_BOOLEAN, TRUE);
+ gtk_binding_entry_add_signal (binding_set, GDK_KP_Enter, 0, "select_cursor_row", 1,
+- G_TYPE_BOOLEAN, TRUE);
++ G_TYPE_BOOLEAN, TRUE);*/
+
+ /* expand and collapse rows */
+ gtk_binding_entry_add_signal (binding_set, GDK_plus, 0, "expand_collapse_cursor_row", 3,
+@@ -1123,19 +1211,31 @@
+ gtk_binding_entry_add_signal (binding_set, GDK_f, GDK_CONTROL_MASK, "start_interactive_search", 0);
+
+ gtk_binding_entry_add_signal (binding_set, GDK_F, GDK_CONTROL_MASK, "start_interactive_search", 0);
++
++ /* Hildon addition: Add key bindings to Right and Left arrows */
++ gtk_binding_entry_add_signal (binding_set, GDK_Right, 0, "expand_collapse_cursor_row", 3,
++ G_TYPE_BOOLEAN, FALSE, G_TYPE_BOOLEAN, TRUE, G_TYPE_BOOLEAN, FALSE);
++ gtk_binding_entry_add_signal (binding_set, GDK_plus, GDK_SHIFT_MASK, "expand_collapse_cursor_row", 3,
++ G_TYPE_BOOLEAN, FALSE, G_TYPE_BOOLEAN, TRUE, G_TYPE_BOOLEAN, TRUE);
++ gtk_binding_entry_add_signal (binding_set, GDK_Left, 0, "expand_collapse_cursor_row", 3,
++ G_TYPE_BOOLEAN, FALSE, G_TYPE_BOOLEAN, FALSE, G_TYPE_BOOLEAN, FALSE);
++ gtk_binding_entry_add_signal (binding_set, GDK_Left, GDK_SHIFT_MASK, "expand_collapse_cursor_row", 3,
++ G_TYPE_BOOLEAN, FALSE, G_TYPE_BOOLEAN, FALSE, G_TYPE_BOOLEAN, TRUE);
+ }
+
+ static void
+ gtk_tree_view_init (GtkTreeView *tree_view)
+ {
+ tree_view->priv = g_new0 (GtkTreeViewPrivate, 1);
+- GTK_WIDGET_SET_FLAGS (tree_view, GTK_CAN_FOCUS);
++
++ /* Hildon: focus cannot be gained until at least one row is added */
++ GTK_WIDGET_UNSET_FLAGS (tree_view, GTK_CAN_FOCUS);
+
+ gtk_widget_set_redraw_on_allocate (GTK_WIDGET (tree_view), FALSE);
+
++ /* Hildon: Headers invisible by default */
+ tree_view->priv->flags = GTK_TREE_VIEW_SHOW_EXPANDERS
+- | GTK_TREE_VIEW_DRAW_KEYFOCUS
+- | GTK_TREE_VIEW_HEADERS_VISIBLE;
++ | GTK_TREE_VIEW_DRAW_KEYFOCUS;
+
+ /* We need some padding */
+ tree_view->priv->dy = 0;
+@@ -1165,6 +1265,26 @@
+
+ tree_view->priv->hover_selection = FALSE;
+ tree_view->priv->hover_expand = FALSE;
++
++ tree_view->priv->ctrl_pressed = FALSE;
++ tree_view->priv->shift_pressed = FALSE;
++
++ tree_view->priv->checkbox_mode = FALSE;
++ tree_view->priv->allow_checkbox_mode = TRUE;
++ tree_view->priv->pen_down = FALSE;
++ tree_view->priv->pen_drag_active = FALSE;
++ tree_view->priv->pen_drag_reverse = FALSE;
++ tree_view->priv->first_drag_row = NULL;
++ tree_view->priv->last_drag_row = NULL;
++ tree_view->priv->queued_expand_row = NULL;
++ tree_view->priv->queued_select_row = NULL;
++ tree_view->priv->pen_focus = TRUE;
++
++ /* Hildon: cursor should follow when selection changes */
++ g_signal_connect (tree_view->priv->selection, "changed",
++ G_CALLBACK (selection_changed), tree_view);
++
++ gtk_widget_set_name (GTK_WIDGET (tree_view), "treeview");
+ }
+
+
+@@ -1223,6 +1343,27 @@
+ case PROP_HOVER_EXPAND:
+ tree_view->priv->hover_expand = g_value_get_boolean (value);
+ break;
++ case PROP_DOTTED_LINES:
++ set_dotted_lines (tree_view, g_value_get_boolean (value));
++ break;
++ case PROP_FORCE_LIST_KLUDGE:
++ tree_view->priv->force_list_kludge = g_value_get_boolean (value);
++ break;
++ case PROP_ALLOW_CHECKBOX_MODE:
++ if ((tree_view->priv->allow_checkbox_mode = g_value_get_boolean (value)))
++ {
++ gtk_widget_set_name (GTK_WIDGET(tree_view), "treeview");
++ update_checkbox_mode (NULL, NULL, tree_view);
++ }
++ else
++ {
++ /* ugly hack - to ensure that checkboxes are independent of the
++ selection if !allow_checkbox_mode, we must be able to use
++ different theming in that case */
++ gtk_widget_set_name (GTK_WIDGET(tree_view), "no_checkbox_mode");
++ tree_view->priv->checkbox_mode = FALSE;
++ }
++ break;
+ default:
+ break;
+ }
+@@ -1276,6 +1417,15 @@
+ case PROP_HOVER_EXPAND:
+ g_value_set_boolean (value, tree_view->priv->hover_expand);
+ break;
++ case PROP_DOTTED_LINES:
++ g_value_set_boolean (value, tree_view->priv->dotted_lines);
++ break;
++ case PROP_FORCE_LIST_KLUDGE:
++ g_value_set_boolean (value, tree_view->priv->force_list_kludge);
++ break;
++ case PROP_ALLOW_CHECKBOX_MODE:
++ g_value_set_boolean (value, tree_view->priv->allow_checkbox_mode);
++ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -1376,6 +1526,27 @@
+ tree_view->priv->destroy_count_data = NULL;
+ }
+
++ if (tree_view->priv->first_drag_row)
++ {
++ gtk_tree_row_reference_free (tree_view->priv->first_drag_row);
++ tree_view->priv->first_drag_row = NULL;
++ }
++ if (tree_view->priv->last_drag_row)
++ {
++ gtk_tree_row_reference_free (tree_view->priv->last_drag_row);
++ tree_view->priv->last_drag_row = NULL;
++ }
++ if (tree_view->priv->queued_expand_row)
++ {
++ gtk_tree_row_reference_free (tree_view->priv->queued_expand_row);
++ tree_view->priv->queued_expand_row = NULL;
++ }
++ if (tree_view->priv->queued_select_row)
++ {
++ gtk_tree_row_reference_free (tree_view->priv->queued_select_row);
++ tree_view->priv->queued_select_row = NULL;
++ }
++
+ gtk_tree_row_reference_free (tree_view->priv->cursor);
+ tree_view->priv->cursor = NULL;
+
+@@ -1494,6 +1665,8 @@
+ gtk_tree_view_map_buttons (tree_view);
+
+ gdk_window_show (widget->window);
++
++ check_if_can_focus (tree_view);
+ }
+
+ static void
+@@ -1895,6 +2068,8 @@
+ gint full_requested_width = 0;
+ gint number_of_expand_columns = 0;
+ gboolean rtl;
++ GtkWidget *scroll;
++ GtkPolicyType ptype;
+
+ tree_view = GTK_TREE_VIEW (widget);
+
+@@ -1969,6 +2144,19 @@
+ allocation.x = width;
+ column->width = real_requested_width;
+
++ /* a dirty Hildon hack to force truncation if not enough space. This hack is applied
++ * only if we are NOT in a scrolled window with hscroll*/
++ scroll = gtk_widget_get_ancestor(widget, GTK_TYPE_SCROLLED_WINDOW);
++ if ((!scroll ||
++ (gtk_scrolled_window_get_policy (GTK_SCROLLED_WINDOW (scroll), &ptype, NULL), ptype == GTK_POLICY_NEVER))
++ && (width + real_requested_width > widget->allocation.width))
++ {
++ column->width = widget->allocation.width - width;
++ if (column->width < 1)
++ column->width = 1;
++ gtk_widget_queue_draw (widget);
++ }
++
+ if (column->expand)
+ {
+ if (number_of_expand_columns == 1)
+@@ -2153,6 +2341,23 @@
+ GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS);
+ }
+
++/* helper function for gtk_tree_view_button_press */
++static void
++activate_callback (GtkTreeModel *model,
++ GtkTreePath *path,
++ GtkTreeIter *iter,
++ gpointer data)
++{
++ GtkTreeView *tree_view = GTK_TREE_VIEW (data);
++
++ /* Hildon: if the tree view has no active focus we don't activate
++ * the selected row */
++ if ( !GTK_WIDGET_HAS_FOCUS (GTK_WIDGET(data)) )
++ return;
++
++ gtk_tree_view_row_activated (tree_view, path, tree_view->priv->focus_column);
++}
++
+ static gboolean
+ gtk_tree_view_button_press (GtkWidget *widget,
+ GdkEventButton *event)
+@@ -2166,6 +2371,7 @@
+ gint vertical_separator;
+ gint horizontal_separator;
+ gboolean rtl;
++ gint expander_indent;
+
+ g_return_val_if_fail (GTK_IS_TREE_VIEW (widget), FALSE);
+ g_return_val_if_fail (event != NULL, FALSE);
+@@ -2176,6 +2382,7 @@
+ gtk_widget_style_get (widget,
+ "vertical_separator", &vertical_separator,
+ "horizontal_separator", &horizontal_separator,
++ "expander_indent", &expander_indent,
+ NULL);
+
+
+@@ -2199,6 +2406,14 @@
+ gint column_handled_click = FALSE;
+ gboolean row_double_click = FALSE;
+ gboolean rtl;
++ gboolean force_list_kludge;
++ GtkRBNode *cursor = NULL;
++ gboolean focus_grab = FALSE;
++
++ if (!GTK_WIDGET_HAS_FOCUS (widget))
++ focus_grab = TRUE;
++
++ GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS);
+
+ /* Empty tree? */
+ if (tree_view->priv->tree == NULL)
+@@ -2207,7 +2422,9 @@
+ return TRUE;
+ }
+
+- /* are we in an arrow? */
++ /* In Hildon we don't want to use the arrows */
++#if 0
++ /* are we in an arrow? */
+ if (tree_view->priv->prelight_node &&
+ GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT))
+ {
+@@ -2226,6 +2443,7 @@
+ grab_focus_and_unset_draw_keyfocus (tree_view);
+ return TRUE;
+ }
++#endif
+
+ /* find the node that was clicked */
+ new_y = TREE_WINDOW_Y_TO_RBTREE_Y(tree_view, event->y);
+@@ -2247,6 +2465,65 @@
+ background_area.height = ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node));
+ background_area.x = 0;
+
++ if (tree_view->priv->first_drag_row)
++ {
++ gtk_tree_row_reference_free (tree_view->priv->first_drag_row);
++ tree_view->priv->first_drag_row = NULL;
++ }
++ if (tree_view->priv->last_drag_row)
++ {
++ gtk_tree_row_reference_free (tree_view->priv->last_drag_row);
++ tree_view->priv->last_drag_row = NULL;
++ }
++ tree_view->priv->first_drag_row =
++ gtk_tree_row_reference_new (tree_view->priv->model, path);
++ tree_view->priv->last_drag_row = gtk_tree_row_reference_copy (tree_view->priv->first_drag_row);
++
++ /* force_list_kludge allows pen dragging even if
++ GTK_TREE_MODEL_LIST_ONLY is not set (to fix file tree) */
++ g_object_get (widget, "force_list_kludge", &force_list_kludge, NULL);
++
++ /* Hildon: activate pen dragging, if listbox is not hierarchical and
++ the pen was not put down in a position that initiates drag'n'drop */
++ if (!tree_view->priv->pen_down &&
++ (force_list_kludge ||
++ (gtk_tree_model_get_flags(tree_view->priv->model)
++ & GTK_TREE_MODEL_LIST_ONLY)) &&
++ (tree_view->priv->checkbox_mode ||
++ !gtk_tree_selection_path_is_selected(tree_view->priv->selection, path)))
++ {
++ gpointer drag_data;
++
++ tree_view->priv->pen_down = TRUE;
++ tree_view->priv->pen_focus = TRUE;
++
++ /* also block attached dnd signal handler */
++ drag_data = g_object_get_data (G_OBJECT (widget), "gtk-site-data");
++ if (drag_data)
++ g_signal_handlers_block_matched (widget,
++ G_SIGNAL_MATCH_DATA,
++ 0, 0, NULL, NULL,
++ drag_data);
++ }
++
++ /* For the Hildon buttonpress find out the previously selected row */
++ GtkRBTree *cursor_tree = NULL;
++ GtkTreePath *cursor_path = NULL;
++
++ if (tree_view->priv->cursor)
++ {
++ cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
++ if (cursor_path)
++ {
++ _gtk_tree_view_find_node (tree_view, cursor_path,
++ &cursor_tree, &cursor);
++ gtk_tree_path_free (cursor_path);
++ }
++ }
++
++ /* Hildon: in checkbox mode, dragging sets all checkboxes
++ to the same state as the first toggled checkbox */
++ tree_view->priv->new_state = !gtk_tree_selection_path_is_selected(tree_view->priv->selection, path);
+
+ /* Let the column have a chance at selecting it. */
+ rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL);
+@@ -2275,8 +2552,11 @@
+ if (gtk_tree_view_is_expander_column (tree_view, column) &&
+ TREE_VIEW_DRAW_EXPANDERS(tree_view))
+ {
+- cell_area.x += depth * tree_view->priv->expander_size;
+- cell_area.width -= depth * tree_view->priv->expander_size;
++ gint adjust;
++
++ adjust = depth * tree_view->priv->expander_size + (depth - 1) * expander_indent;
++ cell_area.x += adjust;
++ cell_area.width -= adjust;
+ }
+ break;
+ }
+@@ -2364,15 +2644,19 @@
+ */
+ if (event->type == GDK_BUTTON_PRESS)
+ {
++ /* Hildon: ignore Ctrl and Shift */
++#if 0
+ if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
+ tree_view->priv->ctrl_pressed = TRUE;
+ if ((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK)
+ tree_view->priv->shift_pressed = TRUE;
++#endif
+
+ focus_cell = _gtk_tree_view_column_get_cell_at_pos (column, event->x - background_area.x);
+ if (focus_cell)
+ gtk_tree_view_column_focus_cell (column, focus_cell);
+
++#if 0
+ if (event->state & GDK_CONTROL_MASK)
+ {
+ gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE);
+@@ -2387,6 +2671,86 @@
+ {
+ gtk_tree_view_real_set_cursor (tree_view, path, TRUE, TRUE);
+ }
++#endif
++ if (tree_view->priv->checkbox_mode)
++ {
++ GtkRBTree *tree = NULL;
++ GtkRBNode *node = NULL;
++
++ _gtk_tree_view_find_node (tree_view, path, &tree, &node);
++
++ /* cursor cannot move to an insensitive row, so we
++ need to check here to avoid toggling the current
++ row by clicking on an insensitive row */
++ if (_gtk_tree_selection_is_row_selectable (tree_view->priv->selection,
++ node, path))
++ {
++ gtk_tree_view_real_set_cursor (tree_view, path,
++ FALSE, TRUE);
++ gtk_tree_view_real_toggle_cursor_row (tree_view);
++ }
++ else
++ /* Usually this would be emitted by real_set_cursor.
++ However in this case we never call it. */
++ g_signal_emit (tree_view, tree_view_signals[ROW_INSENSITIVE], 0, path);
++ }
++ else
++ {
++ gboolean queue_row = TRUE;
++ gboolean force_list_kludge;
++
++ /* force_list_kludge allows rows to be activated even if
++ GTK_TREE_MODEL_LIST_ONLY is not set (to fix file tree) */
++ g_object_get (widget, "force_list_kludge",
++ &force_list_kludge, NULL);
++ if ((force_list_kludge ||
++ (gtk_tree_model_get_flags (tree_view->priv->model) &
++ GTK_TREE_MODEL_LIST_ONLY)) &&
++ gtk_tree_row_reference_valid (tree_view->priv->cursor))
++ {
++ /* special case: text listbox without checkboxes
++ should activate selected rows when user taps
++ on cursor row, but not affect selection*/
++ GtkTreePath *cursor_path =
++ gtk_tree_row_reference_get_path (tree_view->priv->cursor);
++ if (gtk_tree_path_compare (cursor_path, path) == 0)
++ {
++ gtk_tree_selection_selected_foreach (tree_view->priv->selection,
++ activate_callback,
++ tree_view);
++ queue_row = FALSE;
++ }
++ }
++
++ if (queue_row &&
++ (gtk_tree_selection_get_mode (tree_view->priv->selection) == GTK_SELECTION_MULTIPLE) &&
++ gtk_tree_selection_path_is_selected (tree_view->priv->selection, path))
++ {
++ GtkTreePath *old_cursor_path = NULL;
++
++ /* we don't know if the user is selecting an item or performing
++ multiple item drag and drop until we know where button is released */
++ if (tree_view->priv->queued_select_row)
++ gtk_tree_row_reference_free (tree_view->priv->queued_select_row);
++ tree_view->priv->queued_select_row =
++ gtk_tree_row_reference_new (tree_view->priv->model, path);
++
++ /* however, move focus */
++ if (tree_view->priv->cursor)
++ {
++ old_cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
++ gtk_tree_row_reference_free (tree_view->priv->cursor);
++ }
++ tree_view->priv->cursor = gtk_tree_row_reference_new (tree_view->priv->model,
++ path);
++ gtk_tree_view_queue_draw_path (tree_view, path, NULL);
++ if (old_cursor_path)
++ gtk_tree_view_queue_draw_path (tree_view, old_cursor_path, NULL);
++ }
++ else
++ gtk_tree_view_real_set_cursor (tree_view, path,
++ queue_row, TRUE);
++ }
+
+ tree_view->priv->ctrl_pressed = FALSE;
+ tree_view->priv->shift_pressed = FALSE;
+@@ -2412,6 +2776,15 @@
+ tree_view->priv->press_start_y = event->y;
+ }
+
++ /* Hildon: if selected row is tapped -> the row gets activated and expands */
++ if (!focus_grab)
++ {
++ /* ...although not until button is released */
++ gtk_tree_row_reference_free (tree_view->priv->queued_expand_row);
++ tree_view->priv->queued_expand_row =
++ gtk_tree_row_reference_new (tree_view->priv->model, path);
++ }
++
+ /* Test if a double click happened on the same row. */
+ if (event->button == 1)
+ {
+@@ -2433,6 +2806,8 @@
+ }
+ }
+
++ /* Hildon doesn't support double clicks */
++#if 0
+ if (row_double_click)
+ {
+ if (tree_view->priv->last_button_press)
+@@ -2443,6 +2818,7 @@
+ tree_view->priv->last_button_press_2 = NULL;
+ }
+ else
++#endif
+ {
+ if (tree_view->priv->last_button_press)
+ gtk_tree_row_reference_free (tree_view->priv->last_button_press);
+@@ -2626,6 +3002,28 @@
+
+ tree_view = GTK_TREE_VIEW (widget);
+
++ /* unblock attached dnd signal handler */
++ if (tree_view->priv->pen_down)
++ {
++ gpointer drag_data = g_object_get_data (G_OBJECT (widget), "gtk-site-data");
++ if (drag_data)
++ g_signal_handlers_unblock_matched (widget,
++ G_SIGNAL_MATCH_DATA,
++ 0, 0, NULL, NULL,
++ drag_data);
++ }
++
++ /* stop pen dragging */
++ if (tree_view->priv->first_drag_row)
++ gtk_tree_row_reference_free (tree_view->priv->first_drag_row);
++ if (tree_view->priv->last_drag_row)
++ gtk_tree_row_reference_free (tree_view->priv->last_drag_row);
++ tree_view->priv->first_drag_row = NULL;
++ tree_view->priv->last_drag_row = NULL;
++ tree_view->priv->pen_down = FALSE;
++ tree_view->priv->pen_drag_active = FALSE;
++ remove_scroll_timeout (tree_view);
++
+ if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG))
+ return gtk_tree_view_button_release_drag_column (widget, event);
+
+@@ -2635,6 +3033,65 @@
+ if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE))
+ return gtk_tree_view_button_release_column_resize (widget, event);
+
++ if (gtk_tree_row_reference_valid (tree_view->priv->queued_select_row))
++ {
++ /* unselect other nodes - but only if not drag'n'dropping */
++ if (event->window == tree_view->priv->bin_window)
++ gtk_tree_selection_unselect_all (tree_view->priv->selection);
++
++ gtk_tree_view_real_set_cursor (tree_view,
++ gtk_tree_row_reference_get_path (tree_view->priv->queued_select_row),
++ FALSE, TRUE);
++ gtk_tree_row_reference_free (tree_view->priv->queued_select_row);
++ tree_view->priv->queued_select_row = NULL;
++ }
++
++ /* for handling expand/collapse postponed from button_press (since we
++ don't want expand/collapse before tap on node has been completed) */
++ if (gtk_tree_row_reference_valid (tree_view->priv->queued_expand_row) &&
++ tree_view->priv->tree != NULL)
++ {
++ GtkTreePath *queued_expand_path;
++ GtkRBTree *tree;
++ GtkRBNode *node;
++ GtkRBNode *old_node;
++ gint y;
++
++ queued_expand_path =
++ gtk_tree_row_reference_get_path (tree_view->priv->queued_expand_row);
++
++ if (queued_expand_path)
++ {
++ /* must check that cursor hasn't moved elsewhere since button_press */
++ y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, event->y);
++ _gtk_rbtree_find_offset (tree_view->priv->tree, y, &tree, &node);
++
++ _gtk_tree_view_find_node (tree_view, queued_expand_path,
++ &tree, &old_node);
++
++ if (node && old_node == node)
++ {
++ if (node->children == NULL)
++ gtk_tree_view_real_expand_row (tree_view,
++ queued_expand_path,
++ tree,
++ node,
++ FALSE, TRUE);
++ else
++ gtk_tree_view_real_collapse_row (tree_view,
++ queued_expand_path,
++ tree,
++ node,
++ TRUE);
++ }
++
++ gtk_tree_path_free (queued_expand_path);
++ }
++
++ gtk_tree_row_reference_free( tree_view->priv->queued_expand_row);
++ tree_view->priv->queued_expand_row = NULL;
++ }
++
+ if (tree_view->priv->button_pressed_node == NULL)
+ return FALSE;
+
+@@ -3311,6 +3768,7 @@
+ GtkTreeView *tree_view;
+ GtkRBTree *tree;
+ GtkRBNode *node;
++ GtkTreePath *path, *last_drag_path, *current_path;
+ gint new_y;
+
+ tree_view = (GtkTreeView *) widget;
+@@ -3319,7 +3777,8 @@
+ return FALSE;
+
+ /* only check for an initiated drag when a button is pressed */
+- if (tree_view->priv->pressed_button >= 0)
++ /* Hildon: active pen drag overrides drag and drop */
++ if (tree_view->priv->pressed_button >= 0 && !tree_view->priv->pen_down)
+ gtk_tree_view_maybe_begin_dragging_row (tree_view, event);
+
+ new_y = TREE_WINDOW_Y_TO_RBTREE_Y(tree_view, event->y);
+@@ -3328,6 +3787,99 @@
+
+ _gtk_rbtree_find_offset (tree_view->priv->tree, new_y, &tree, &node);
+
++ /* Hildon: pen dragging */
++ if (tree_view->priv->pen_down && node != NULL &&
++ tree_view->priv->queued_select_row == NULL &&
++ gtk_tree_row_reference_valid (tree_view->priv->last_drag_row))
++ {
++ gint direction;
++
++ last_drag_path = gtk_tree_row_reference_get_path (tree_view->priv->last_drag_row);
++ path = _gtk_tree_view_find_path (tree_view, tree, node);
++ direction = gtk_tree_path_compare (path, last_drag_path);
++
++ if (direction != 0)
++ {
++ current_path = gtk_tree_path_copy (last_drag_path);
++
++ /* we must ensure that no row is skipped because stylus
++ is moving faster than motion events are generated */
++ do {
++ if (direction > 0)
++ {
++ /* gtk_tree_path_next does not let us know when it failed */
++ GtkTreeIter iter;
++ gtk_tree_model_get_iter (tree_view->priv->model, &iter, current_path);
++ if (!gtk_tree_model_iter_next (tree_view->priv->model, &iter))
++ break;
++
++ gtk_tree_path_next (current_path);
++ }
++ else if (!gtk_tree_path_prev (current_path))
++ break;
++
++ /* set cursor, and start scrolling */
++ gtk_tree_view_real_set_cursor (tree_view, current_path, FALSE, FALSE);
++ add_scroll_timeout (tree_view);
++
++ if (tree_view->priv->checkbox_mode)
++ {
++ /* always set to same state as the first tapped node */
++ if (tree_view->priv->new_state)
++ gtk_tree_selection_select_path (tree_view->priv->selection,
++ current_path);
++ else
++ gtk_tree_selection_unselect_path (tree_view->priv->selection,
++ current_path);
++ }
++ else
++ {
++ if (gtk_tree_selection_path_is_selected (tree_view->priv->selection,
++ current_path))
++ {
++ /* apparently we have reversed the pen drag direction */
++ GtkTreePath *reverse_path;
++ gint reverse_direction;
++
++ reverse_direction = gtk_tree_path_compare (current_path,
++ last_drag_path);
++ reverse_path = gtk_tree_path_copy (last_drag_path);
++ do {
++ gtk_tree_selection_unselect_path (tree_view->priv->selection,
++ reverse_path);
++ tree_view->priv->pen_drag_reverse = TRUE;
++ if (reverse_direction > 0)
++ {
++ GtkTreeIter iter;
++ gtk_tree_model_get_iter (tree_view->priv->model, &iter, reverse_path);
++ if (!gtk_tree_model_iter_next (tree_view->priv->model, &iter))
++ break;
++
++ gtk_tree_path_next (reverse_path);
++ }
++ else if (!gtk_tree_path_prev (reverse_path))
++ break;
++ } while (gtk_tree_path_compare (reverse_path, current_path) != 0);
++ gtk_tree_path_free (reverse_path);
++ }
++ else
++ {
++ gtk_tree_selection_select_path (tree_view->priv->selection,
++ current_path);
++ tree_view->priv->pen_drag_reverse = FALSE;
++ }
++ }
++ } while (gtk_tree_path_compare(current_path, path) != 0);
++ gtk_tree_path_free (current_path);
++
++ /* update last_drag_row */
++ gtk_tree_row_reference_free (tree_view->priv->last_drag_row);
++ tree_view->priv->last_drag_row =
++ gtk_tree_row_reference_new (tree_view->priv->model, path);
++ gtk_tree_path_free (path);
++ }
++ }
++
+ /* If we are currently pressing down a button, we don't want to prelight anything else. */
+ if ((tree_view->priv->button_pressed_node != NULL) &&
+ (tree_view->priv->button_pressed_node != node))
+@@ -3404,6 +3956,22 @@
+ 1, 1, w, h);
+ }
+
++/* Hildon: helper function for dotted slash drawing;
++ returns TRUE or FALSE, depending it there are
++ more nodes at current level */
++static gboolean
++iter_has_next (GtkTreeModel *model, GtkTreeIter *iter)
++{
++ GtkTreeIter *check_iter;
++ gboolean result;
++
++ check_iter = gtk_tree_iter_copy(iter);
++ result = gtk_tree_model_iter_next (model, check_iter);
++
++ gtk_tree_iter_free (check_iter);
++ return result;
++}
++
+ /* Warning: Very scary function.
+ * Modify at your own risk
+ *
+@@ -3433,16 +4001,25 @@
+ guint flags;
+ gint highlight_x;
+ gint bin_window_width;
+- GtkTreePath *cursor_path;
+- GtkTreePath *drag_dest_path;
++ GtkTreePath *cursor_path = NULL;
++ GtkTreePath *drag_dest_path = NULL;
+ GList *last_column;
+ gint vertical_separator;
+ gint horizontal_separator;
++ gint expander_indent;
+ gint focus_line_width;
+ gboolean allow_rules;
+ gboolean has_special_cell;
+ gboolean rtl;
+ gint n_visible_columns;
++ gboolean dottedlines, passivefocus, res;
++
++ /* Hildon: these variables are added for dotted slash drawing
++ (Hierarchical listbox) */
++ gint i;
++ gint node_elements = 64;
++ gboolean *iter_value = NULL;
++ GtkTreeIter node_iter, parent_iter;
+
+ g_return_val_if_fail (GTK_IS_TREE_VIEW (widget), FALSE);
+
+@@ -3455,8 +4032,12 @@
+ "vertical_separator", &vertical_separator,
+ "allow_rules", &allow_rules,
+ "focus-line-width", &focus_line_width,
++ "expander_indent", &expander_indent,
++ "passive_focus", &passivefocus,
+ NULL);
+
++ g_object_get (widget, "dotted_lines", &dottedlines, NULL);
++
+ if (tree_view->priv->tree == NULL)
+ {
+ draw_empty_focus (tree_view, &event->area);
+@@ -3478,6 +4059,8 @@
+ if (node == NULL)
+ return TRUE;
+
++ iter_value = g_new (gboolean, node_elements);
++
+ /* find the path for the node */
+ path = _gtk_tree_view_find_path ((GtkTreeView *)widget,
+ tree,
+@@ -3486,11 +4069,25 @@
+ &iter,
+ path);
+ depth = gtk_tree_path_get_depth (path);
++
++ node_iter = iter;
++ for (i = depth - 1; i >= 1; i--)
++ {
++ res = gtk_tree_model_iter_parent (tree_view->priv->model, &parent_iter, &node_iter);
++ /* Check, if we should grow array */
++ if (i >= node_elements - 1)
++ {
++ node_elements *= 2;
++ iter_value = g_renew (gboolean, iter_value, node_elements);
++ if (!iter_value)
++ goto done;
++ }
++ iter_value[i] = iter_has_next (tree_view->priv->model, &parent_iter);
++ node_iter = parent_iter;
++ }
++ gtk_tree_model_get_iter (tree_view->priv->model, &iter, path);
+ gtk_tree_path_free (path);
+
+- cursor_path = NULL;
+- drag_dest_path = NULL;
+-
+ if (tree_view->priv->cursor)
+ cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
+
+@@ -3533,6 +4130,7 @@
+ do
+ {
+ gboolean parity;
++ gboolean is_first = TRUE;
+ gboolean is_separator = FALSE;
+
+ if (tree_view->priv->row_separator_func)
+@@ -3570,6 +4168,7 @@
+ GtkTreeViewColumn *column = list->data;
+ const gchar *detail = NULL;
+ GtkStateType state;
++ gboolean is_last = (rtl ? !list->prev : !list->next);
+
+ if (!column->visible)
+ continue;
+@@ -3660,31 +4259,152 @@
+ else
+ state = GTK_STATE_NORMAL;
+
+- /* Draw background */
+- gtk_paint_flat_box (widget->style,
+- event->window,
+- state,
+- GTK_SHADOW_NONE,
+- &event->area,
+- widget,
+- detail,
+- background_area.x,
+- background_area.y,
+- background_area.width,
+- background_area.height);
++ if (tree_view->priv->pen_focus)
++ {
++ if (node != cursor ||
++ (!GTK_WIDGET_HAS_FOCUS (widget) && !passivefocus))
++ {
++ if ((flags & GTK_CELL_RENDERER_SELECTED)
++ && !tree_view->priv->checkbox_mode)
++ state = GTK_STATE_SELECTED;
++ else
++ state = GTK_STATE_NORMAL;
++
++ /* Draw background */
++ gtk_paint_flat_box (widget->style,
++ event->window,
++ state,
++ GTK_SHADOW_NONE,
++ &event->area,
++ widget,
++ detail,
++ background_area.x,
++ background_area.y,
++ background_area.width,
++ background_area.height);
++ }
++ else if ((flags & GTK_CELL_RENDERER_SELECTED) &&
++ !tree_view->priv->checkbox_mode &&
++ node != cursor)
++ {
++ gtk_paint_flat_box (widget->style,
++ event->window,
++ GTK_STATE_SELECTED,
++ GTK_SHADOW_NONE,
++ &event->area,
++ widget,
++ detail,
++ background_area.x,
++ background_area.y,
++ background_area.width,
++ background_area.height);
++ }
++ }
++ else
++ {
++ /* Draw background */
++ gtk_paint_flat_box (widget->style,
++ event->window,
++ state,
++ GTK_SHADOW_NONE,
++ &event->area,
++ widget,
++ detail,
++ background_area.x,
++ background_area.y,
++ background_area.width,
++ background_area.height);
++ }
++
++ /* Hildon change: drawing focus is moved here because it didn't work
++ properly before. Some changes where also made.*/
++ /* draw the big row-spanning focus rectangle, if needed */
++ if (node == cursor &&
++ (!passivefocus || GTK_WIDGET_HAS_FOCUS (widget)))
++ {
++ gtk_paint_focus (widget->style,
++ event->window,
++ GTK_STATE_ACTIVE,
++ &event->area,
++ widget,
++ (is_first
++ ? (is_last ? "full" : "left")
++ : (is_last ? "right" : "middle")),
++ background_area.x - (is_first ? 0 : horizontal_separator / 2),
++ background_area.y - vertical_separator / 2,
++ background_area.width + (is_first ? 0 : (is_last ? horizontal_separator / 2 : horizontal_separator)),
++ background_area.height + vertical_separator);
++
++ is_first = FALSE;
++ }
++ else if (node == cursor && passivefocus &&
++ !GTK_WIDGET_HAS_FOCUS (widget))
++ {
++ GtkStyle *style = gtk_rc_get_style_by_paths (gtk_widget_get_settings (widget),
++ "hildon-focus",
++ NULL,
++ G_TYPE_NONE);
++ gtk_style_attach (style, event->window);
++
++ gtk_paint_focus (style, event->window, GTK_STATE_SELECTED,
++ &event->area, widget,
++ (is_first
++ ? (is_last ? "full" : "left")
++ : (is_last ? "right" : "middle")),
++ background_area.x - (is_first ? 0 : horizontal_separator / 2),
++ background_area.y - vertical_separator / 2,
++ background_area.width + (is_first ? 0 : (is_last ? horizontal_separator / 2 : horizontal_separator)),
++ background_area.height + vertical_separator);
++
++ is_first = FALSE;
++ }
++
++ if (node == cursor)
++ {
++ gint width, x_offset;
++ GtkStateType focus_rect_state;
++ focus_rect_state =
++ flags & GTK_CELL_RENDERER_FOCUSED ? GTK_STATE_ACTIVE :
++ (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT :
++ (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE :
++ (flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED :
++ GTK_STATE_NORMAL)));
++
++ gtk_tree_view_get_arrow_xrange (tree_view, tree, &x_offset, NULL);
++ gdk_drawable_get_size (tree_view->priv->bin_window, &width, NULL);
++ }
+
+ if (gtk_tree_view_is_expander_column (tree_view, column) &&
+ TREE_VIEW_DRAW_EXPANDERS(tree_view))
+ {
++ gint px, px2, py, i;
++
++ if (depth <= 1)
++ px = 0;
++ else
++ px = (depth - 1) * tree_view->priv->expander_size +
++ (depth - 2) * expander_indent;
++
++ /* Hildonlike hack for making the indent look better.
++ * indent is added to all rows except the first one */
++
+ if (!rtl)
+- cell_area.x += depth * tree_view->priv->expander_size;
+- cell_area.width -= depth * tree_view->priv->expander_size;
++ cell_area.x += depth * tree_view->priv->expander_size + (depth-1) * expander_indent;
++ cell_area.width -= depth * tree_view->priv->expander_size + (depth-1) * expander_indent;
+
+ /* If we have an expander column, the highlight underline
+ * starts with that column, so that it indicates which
+ * level of the tree we're dropping at.
+ */
+ highlight_x = cell_area.x;
++
++ if (!GTK_WIDGET_IS_SENSITIVE (widget))
++ {
++ flags &= ~ (GTK_CELL_RENDERER_PRELIT + GTK_CELL_RENDERER_INSENSITIVE +
++ GTK_CELL_RENDERER_FOCUSED);
++ flags &= GTK_CELL_RENDERER_INSENSITIVE;
++ }
++
+ if (is_separator)
+ gtk_paint_hline (widget->style,
+ event->window,
+@@ -3702,6 +4422,48 @@
+ &cell_area,
+ &event->area,
+ flags);
++
++ /* Hildon dotted slash line drawing for Hierarchical Listbox
++ widget */
++ if (dottedlines)
++ {
++ py = cell_area.y + cell_area.height / 2;
++ px2 = depth * tree_view->priv->expander_size +
++ (depth - 1) * expander_indent;
++
++ gdk_gc_set_line_attributes (widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
++ 1, GDK_LINE_ON_OFF_DASH, GDK_CAP_BUTT, GDK_JOIN_BEVEL);
++
++ gdk_draw_line (tree_view->priv->bin_window, widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
++ px, py, px2, py);
++
++ if (depth > 1)
++ {
++ gdk_draw_line (tree_view->priv->bin_window, widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
++ px, cell_area.y, px, py);
++ if (iter_has_next (tree_view->priv->model, &iter))
++ {
++ gdk_draw_line (tree_view->priv->bin_window, widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
++ px, py, px, cell_area.y + cell_area.height);
++ }
++ }
++
++ if (node->children)
++ {
++ gdk_draw_line (tree_view->priv->bin_window, widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
++ px2, py, px2, cell_area.y + cell_area.height);
++ }
++ for (i = depth - 1; i >= 2; i--)
++ {
++ if (iter_value[i])
++ {
++ px = (i - 1)* tree_view->priv->expander_size + (i - 2) * expander_indent;
++ gdk_draw_line (tree_view->priv->bin_window, widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
++ px, cell_area.y, px, cell_area.y + cell_area.height);
++ }
++ }
++ }
++
+ if ((node->flags & GTK_RBNODE_IS_PARENT) == GTK_RBNODE_IS_PARENT)
+ {
+ gint x, y;
+@@ -3803,6 +4565,8 @@
+ }
+ }
+
++ /* Hildon: disabled this */
++#if 0
+ /* draw the big row-spanning focus rectangle, if needed */
+ if (!has_special_cell && node == cursor &&
+ GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS) &&
+@@ -3830,6 +4594,7 @@
+ width,
+ ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)));
+ }
++#endif
+
+ y_offset += max_height;
+ if (node->children)
+@@ -3847,6 +4612,17 @@
+ has_child = gtk_tree_model_iter_children (tree_view->priv->model,
+ &iter,
+ &parent);
++
++ /* Check if we need to grow array */
++ if (depth >= node_elements - 1)
++ {
++ node_elements *= 2;
++ iter_value = g_renew (gboolean, iter_value, node_elements);
++ if (!iter_value)
++ goto done;
++ }
++ iter_value[depth] = iter_has_next (tree_view->priv->model, &parent);
++
+ depth++;
+
+ /* Sanity Check! */
+@@ -3897,6 +4673,9 @@
+ if (drag_dest_path)
+ gtk_tree_path_free (drag_dest_path);
+
++ if (iter_value)
++ g_free (iter_value);
++
+ return FALSE;
+ }
+
+@@ -4179,6 +4958,63 @@
+
+ rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL);
+
++ /* Special Hildon keyboard interactions */
++ if (event->keyval == GDK_Escape)
++ gtk_tree_selection_unselect_all (tree_view->priv->selection);
++
++ if (event->keyval == GDK_Return &&
++ gtk_tree_row_reference_valid (tree_view->priv->cursor))
++ {
++ gboolean force_list_kludge;
++
++ g_object_get (widget, "force_list_kludge", &force_list_kludge, NULL);
++ if (force_list_kludge ||
++ (gtk_tree_model_get_flags (tree_view->priv->model) &
++ GTK_TREE_MODEL_LIST_ONLY))
++ {
++ /* text listbox */
++ if (tree_view->priv->checkbox_mode)
++ {
++ /* multisel with checkboxes: select key toggles focused */
++ gtk_tree_view_real_toggle_cursor_row (tree_view);
++ }
++ else
++ {
++ /* no checkboxes: select key activates focused */
++ GtkTreePath *cursor_path =
++ gtk_tree_row_reference_get_path (tree_view->priv->cursor);
++
++ gtk_tree_view_row_activated (tree_view, cursor_path,
++ tree_view->priv->focus_column);
++
++ gtk_tree_path_free (cursor_path);
++ }
++ }
++ else
++ {
++ /* hierarchical listbox */
++ GtkTreePath *cursor_path;
++ GtkRBTree *tree;
++ GtkRBNode *node;
++
++ cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
++ _gtk_tree_view_find_node (tree_view, cursor_path, &tree, &node);
++
++ if (node->children == NULL)
++ gtk_tree_view_real_expand_row (tree_view,
++ cursor_path,
++ tree,
++ node,
++ FALSE, TRUE);
++ else
++ gtk_tree_view_real_collapse_row (tree_view,
++ cursor_path,
++ tree,
++ node,
++ TRUE);
++ }
++ }
++
+ if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG))
+ {
+ if (event->keyval == GDK_Escape)
+@@ -4420,6 +5256,7 @@
+
+ /* FIXME Is this function necessary? Can I get an enter_notify event
+ * w/o either an expose event or a mouse motion event?
++ * Hildon => it is necessary to make pen dragging work correctly
+ */
+ static gboolean
+ gtk_tree_view_enter_notify (GtkWidget *widget,
+@@ -4434,6 +5271,10 @@
+
+ tree_view = GTK_TREE_VIEW (widget);
+
++ /* stop "automatic" pen dragging */
++ tree_view->priv->pen_drag_active = FALSE;
++ remove_scroll_timeout (tree_view);
++
+ /* Sanity check it */
+ if (event->window != tree_view->priv->bin_window)
+ return FALSE;
+@@ -4463,6 +5304,9 @@
+ tree_view = GTK_TREE_VIEW (widget);
+ tree_view->priv->pressed_button = -1;
+
++ if (tree_view->priv->pen_down && tree_view->priv->queued_select_row == NULL)
++ tree_view->priv->pen_drag_active = TRUE;
++
+ if (event->mode == GDK_CROSSING_GRAB)
+ return TRUE;
+
+@@ -4535,6 +5379,7 @@
+ gboolean retval = FALSE;
+ gboolean is_separator = FALSE;
+ gint focus_pad;
++ gint expander_indent;
+
+ /* double check the row needs validating */
+ if (! GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) &&
+@@ -4551,6 +5396,7 @@
+ gtk_widget_style_get (GTK_WIDGET (tree_view),
+ "focus-padding", &focus_pad,
+ "horizontal_separator", &horizontal_separator,
++ "expander_indent", &expander_indent,
+ NULL);
+
+ for (list = tree_view->priv->columns; list; list = list->next)
+@@ -4577,13 +5423,16 @@
+ {
+ height = MAX (height, tmp_height);
+ height = MAX (height, tree_view->priv->expander_size);
++
++ /* Hildon addition */
++ height -= 1;
+ }
+ else
+ height = 2 + 2 * focus_pad;
+
+ if (gtk_tree_view_is_expander_column (tree_view, column) && TREE_VIEW_DRAW_EXPANDERS (tree_view))
+ {
+- tmp_width = tmp_width + horizontal_separator + depth * (tree_view->priv->expander_size);
++ tmp_width = tmp_width + horizontal_separator + depth * (tree_view->priv->expander_size) + (depth - 1) * expander_indent;
+ }
+ else
+ tmp_width = tmp_width + horizontal_separator;
+@@ -5585,6 +6434,16 @@
+ #endif /* 0 */
+
+ static void
++add_scroll_timeout (GtkTreeView *tree_view)
++{
++ if (tree_view->priv->scroll_timeout == 0)
++ {
++ tree_view->priv->scroll_timeout =
++ g_timeout_add (150, scroll_row_timeout, tree_view);
++ }
++}
++
++static void
+ remove_scroll_timeout (GtkTreeView *tree_view)
+ {
+ if (tree_view->priv->scroll_timeout != 0)
+@@ -6130,10 +6989,9 @@
+ tree_view->priv->open_dest_timeout =
+ g_timeout_add (AUTO_EXPAND_TIMEOUT, open_row_timeout, tree_view);
+ }
+- else if (tree_view->priv->scroll_timeout == 0)
++ else
+ {
+- tree_view->priv->scroll_timeout =
+- g_timeout_add (150, scroll_row_timeout, tree_view);
++ add_scroll_timeout (tree_view);
+ }
+
+ if (target == gdk_atom_intern ("GTK_TREE_MODEL_ROW", FALSE))
+@@ -6901,8 +7759,6 @@
+ GtkMovementStep step,
+ gint count)
+ {
+- GdkModifierType state;
+-
+ g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), FALSE);
+ g_return_val_if_fail (step == GTK_MOVEMENT_LOGICAL_POSITIONS ||
+ step == GTK_MOVEMENT_VISUAL_POSITIONS ||
+@@ -6919,6 +7775,8 @@
+ GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS);
+ gtk_widget_grab_focus (GTK_WIDGET (tree_view));
+
++ /* Hildon: Ignore ctrl and shift */
++#if 0
+ if (gtk_get_current_event_state (&state))
+ {
+ if ((state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK)
+@@ -6926,6 +7784,7 @@
+ if ((state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK)
+ tree_view->priv->shift_pressed = TRUE;
+ }
++#endif
+ /* else we assume not pressed */
+
+ switch (step)
+@@ -7092,6 +7951,27 @@
+ done:
+ if (!tree_view->priv->fixed_height_mode)
+ install_presize_handler (tree_view);
++
++ /* Hildon: has row now been dimmed? If so, unselect it */
++ _gtk_tree_view_find_node (tree_view, path, &tree, &node);
++ if (!_gtk_tree_selection_is_row_selectable (tree_view->priv->selection,
++ node,
++ path))
++ {
++ if (gtk_tree_path_compare (path,
++ gtk_tree_row_reference_get_path(tree_view->priv->cursor))
++ == 0)
++ {
++ gtk_tree_row_reference_free (tree_view->priv->cursor);
++ tree_view->priv->cursor = NULL;
++ }
++
++ gtk_tree_selection_unselect_path (tree_view->priv->selection, path);
++ gtk_tree_view_collapse_row (tree_view, path);
++ }
++
++ check_if_can_focus (tree_view);
++
+ if (free_path)
+ gtk_tree_path_free (path);
+ }
+@@ -7196,6 +8076,11 @@
+ install_presize_handler (tree_view);
+ if (free_path)
+ gtk_tree_path_free (path);
++
++ /* Hildon: after a focusable row has been added, the
++ entire widget becomes focusable if it wasn't before */
++ if ((GTK_WIDGET_FLAGS (tree_view) & GTK_CAN_FOCUS) == 0)
++ check_if_can_focus (tree_view);
+ }
+
+ static void
+@@ -7295,6 +8180,16 @@
+ _gtk_rbtree_traverse (node->children, node->children->root, G_POST_ORDER, check_selection_helper, data);
+ }
+
++static gboolean
++check_if_can_focus_idle (GtkTreeView *tree_view)
++{
++ check_if_can_focus (tree_view);
++
++ tree_view->priv->check_if_can_focus_idle_id = 0;
++
++ return FALSE;
++}
++
+ static void
+ gtk_tree_view_row_deleted (GtkTreeModel *model,
+ GtkTreePath *path,
+@@ -7357,6 +8252,11 @@
+ tree_view->priv->tree = NULL;
+
+ _gtk_rbtree_remove (tree);
++
++ /* Hildon: no nodes -> not focusable */
++ /* FIXME this looks superfluos to me. check_if_can_focus is called
++ * at the end of this function .. -- Jorn */
++ GTK_WIDGET_UNSET_FLAGS (tree_view, GTK_CAN_FOCUS);
+ }
+ else
+ {
+@@ -7375,6 +8275,13 @@
+
+ if (selection_changed)
+ g_signal_emit_by_name (tree_view->priv->selection, "changed");
++
++ /* FIXME whacky hack to work around the treeview not being in a clean state
++ * when in a tree a row has been removed, but has_child_toggled not been
++ * called yet */
++ if (tree_view->priv->check_if_can_focus_idle_id == 0)
++ tree_view->priv->check_if_can_focus_idle_id =
++ g_idle_add ((GSourceFunc) check_if_can_focus_idle, tree_view);
+ }
+
+ static void
+@@ -7508,6 +8415,7 @@
+ GList *list;
+ GtkTreeViewColumn *tmp_column = NULL;
+ gint total_width;
++ gint expander_indent, depth;
+ gboolean indent_expanders;
+ gboolean rtl;
+
+@@ -7535,14 +8443,19 @@
+
+ gtk_widget_style_get (GTK_WIDGET (tree_view),
+ "indent_expanders", &indent_expanders,
++ "expander_indent", &expander_indent,
+ NULL);
+
++ /* Hildonlike hack for making the indent look better.
++ * indent is added to all rows except the first one */
++ depth = _gtk_rbtree_get_depth (tree);
++
+ if (indent_expanders)
+ {
+ if (rtl)
+- x_offset -= tree_view->priv->expander_size * _gtk_rbtree_get_depth (tree);
++ x_offset -= tree_view->priv->expander_size * depth + (depth) * expander_indent;
+ else
+- x_offset += tree_view->priv->expander_size * _gtk_rbtree_get_depth (tree);
++ x_offset += tree_view->priv->expander_size * depth + (depth) * expander_indent;
+ }
+ if (x1)
+ {
+@@ -7617,9 +8530,11 @@
+ gboolean retval = FALSE;
+ gint tmpheight;
+ gint horizontal_separator;
++ gint expander_indent;
+
+ gtk_widget_style_get (GTK_WIDGET (tree_view),
+ "horizontal_separator", &horizontal_separator,
++ "expander_indent", &expander_indent,
+ NULL);
+
+ if (height)
+@@ -7657,7 +8572,7 @@
+ if (gtk_tree_view_is_expander_column (tree_view, column) &&
+ TREE_VIEW_DRAW_EXPANDERS (tree_view))
+ {
+- if (depth * tree_view->priv->expander_size + horizontal_separator + width > column->requested_width)
++ if ((depth - 1) *expander_indent + depth * tree_view->priv->expander_size + horizontal_separator + width > column->requested_width)
+ {
+ _gtk_tree_view_column_cell_set_dirty (column, TRUE);
+ retval = TRUE;
+@@ -7747,6 +8662,7 @@
+ }
+ }
+
++#if 0
+ static void
+ gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view,
+ GtkTreeViewColumn *column)
+@@ -7762,6 +8678,7 @@
+ gtk_adjustment_set_value (tree_view->priv->hadjustment,
+ column->button->allocation.x);
+ }
++#endif
+
+ /* This function could be more efficient. I'll optimize it if profiling seems
+ * to imply that it is important */
+@@ -8290,7 +9207,7 @@
+
+ area.x = x_offset;
+ area.y = CELL_FIRST_PIXEL (tree_view, tree, node, vertical_separator);
+- area.width = expander_size + 2;
++ area.width = expander_size;
+ area.height = MAX (CELL_HEIGHT (node, vertical_separator), (expander_size - vertical_separator));
+
+ if (node == tree_view->priv->button_pressed_node)
+@@ -8397,7 +9314,10 @@
+ GtkRBNode *cursor_node = NULL;
+ GtkRBTree *new_cursor_tree = NULL;
+ GtkRBNode *new_cursor_node = NULL;
++ GtkRBTree *old_cursor_tree;
++ GtkRBNode *old_cursor_node;
+ GtkTreePath *cursor_path = NULL;
++ GtkTreePath *new_cursor_path = NULL;
+
+ if (! GTK_WIDGET_HAS_FOCUS (tree_view))
+ return;
+@@ -8415,12 +9335,30 @@
+ if (cursor_tree == NULL)
+ /* FIXME: we lost the cursor; should we get the first? */
+ return;
+- if (count == -1)
+- _gtk_rbtree_prev_full (cursor_tree, cursor_node,
+- &new_cursor_tree, &new_cursor_node);
+- else
+- _gtk_rbtree_next_full (cursor_tree, cursor_node,
+- &new_cursor_tree, &new_cursor_node);
++
++ old_cursor_tree = cursor_tree;
++ old_cursor_node = cursor_node;
++ do {
++ if (count == -1)
++ _gtk_rbtree_prev_full (old_cursor_tree, old_cursor_node,
++ &new_cursor_tree, &new_cursor_node);
++ else
++ _gtk_rbtree_next_full (old_cursor_tree, old_cursor_node,
++ &new_cursor_tree, &new_cursor_node);
++
++ if (new_cursor_node)
++ {
++ if (new_cursor_path)
++ gtk_tree_path_free (new_cursor_path);
++
++ new_cursor_path = _gtk_tree_view_find_path (tree_view, new_cursor_tree, new_cursor_node);
++ old_cursor_tree = new_cursor_tree;
++ old_cursor_node = new_cursor_node;
++ }
++ } while (new_cursor_node &&
++ !_gtk_tree_selection_is_row_selectable (tree_view->priv->selection,
++ new_cursor_node,
++ new_cursor_path));
+
+ /*
+ * If the list has only one item and multi-selection is set then select
+@@ -8450,7 +9388,33 @@
+ if (new_cursor_node)
+ {
+ cursor_path = _gtk_tree_view_find_path (tree_view, new_cursor_tree, new_cursor_node);
+- gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, TRUE);
++
++ if (tree_view->priv->checkbox_mode)
++ gtk_tree_view_real_set_cursor (tree_view, cursor_path, FALSE, TRUE);
++ else
++ gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, TRUE);
++
++ if (tree_view->priv->pen_drag_active)
++ {
++ if (gtk_tree_path_compare (gtk_tree_row_reference_get_path (tree_view->priv->last_drag_row),
++ gtk_tree_row_reference_get_path (tree_view->priv->first_drag_row)) == 0)
++ tree_view->priv->pen_drag_reverse = FALSE;
++
++ if (tree_view->priv->pen_drag_reverse)
++ {
++ gtk_tree_selection_select_path (tree_view->priv->selection,
++ cursor_path);
++ gtk_tree_selection_unselect_path (tree_view->priv->selection,
++ gtk_tree_row_reference_get_path (tree_view->priv->last_drag_row));
++ }
++
++ gtk_tree_row_reference_free (tree_view->priv->last_drag_row);
++
++ tree_view->priv->last_drag_row =
++ gtk_tree_row_reference_new (tree_view->priv->model,
++ cursor_path);
++ }
++
+ gtk_tree_path_free (cursor_path);
+ }
+ else
+@@ -8467,6 +9431,8 @@
+ {
+ GtkRBTree *cursor_tree = NULL;
+ GtkRBNode *cursor_node = NULL;
++ GtkRBTree *old_cursor_tree = NULL;
++ GtkRBNode *old_cursor_node = NULL;
+ GtkTreePath *cursor_path = NULL;
+ gint y;
+ gint vertical_separator;
+@@ -8474,6 +9440,9 @@
+ if (! GTK_WIDGET_HAS_FOCUS (tree_view))
+ return;
+
++ if (tree_view->priv->tree == NULL)
++ return;
++
+ if (gtk_tree_row_reference_valid (tree_view->priv->cursor))
+ cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
+ else
+@@ -8504,7 +9473,65 @@
+
+ _gtk_rbtree_find_offset (tree_view->priv->tree, y, &cursor_tree, &cursor_node);
+ cursor_path = _gtk_tree_view_find_path (tree_view, cursor_tree, cursor_node);
+- g_return_if_fail (cursor_path != NULL);
++
++ while (cursor_node &&
++ !_gtk_tree_selection_is_row_selectable (tree_view->priv->selection,
++ cursor_node,
++ cursor_path))
++ {
++ old_cursor_tree = cursor_tree;
++ old_cursor_node = cursor_node;
++
++ if (count < 0)
++ _gtk_rbtree_prev_full (old_cursor_tree, old_cursor_node,
++ &cursor_tree, &cursor_node);
++ else
++ _gtk_rbtree_next_full (old_cursor_tree, old_cursor_node,
++ &cursor_tree, &cursor_node);
++
++ if (cursor_path)
++ {
++ gtk_tree_path_free(cursor_path);
++ cursor_path = NULL;
++ }
++
++ if (cursor_node)
++ cursor_path = _gtk_tree_view_find_path (tree_view, cursor_tree, cursor_node);
++ }
++
++ if (cursor_path == NULL)
++ {
++ /* looks like we reached the end without finding a sensitive row,
++ so search backwards and try to find the last sensitive row as
++ the next best thing */
++ _gtk_rbtree_find_offset (tree_view->priv->tree, y, &cursor_tree, &cursor_node);
++ cursor_path = _gtk_tree_view_find_path (tree_view, cursor_tree, cursor_node);
++ while (cursor_node &&
++ !_gtk_tree_selection_is_row_selectable (tree_view->priv->selection,
++ cursor_node,
++ cursor_path))
++ {
++ old_cursor_tree = cursor_tree;
++ old_cursor_node = cursor_node;
++
++ if (count < 0)
++ _gtk_rbtree_next_full (old_cursor_tree, old_cursor_node,
++ &cursor_tree, &cursor_node);
++ else
++ _gtk_rbtree_prev_full (old_cursor_tree, old_cursor_node,
++ &cursor_tree, &cursor_node);
++
++ if (cursor_path)
++ {
++ gtk_tree_path_free(cursor_path);
++ cursor_path = NULL;
++ }
++
++ if (cursor_node)
++ cursor_path = _gtk_tree_view_find_path (tree_view, cursor_tree, cursor_node);
++ }
++ }
++
+ gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, TRUE);
+ gtk_tree_view_clamp_node_visible (tree_view, cursor_tree, cursor_node);
+ gtk_tree_path_free (cursor_path);
+@@ -8514,6 +9541,8 @@
+ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view,
+ gint count)
+ {
++ /* Hildon: cursor is always displayed on an entire row anyway */
++#if 0
+ GtkRBTree *cursor_tree = NULL;
+ GtkRBNode *cursor_node = NULL;
+ GtkTreePath *cursor_path = NULL;
+@@ -8589,12 +9618,15 @@
+ g_signal_emit (tree_view, tree_view_signals[CURSOR_CHANGED], 0);
+ }
+ gtk_tree_view_clamp_column_visible (tree_view, tree_view->priv->focus_column);
++#endif
+ }
+
+ static void
+ gtk_tree_view_move_cursor_start_end (GtkTreeView *tree_view,
+ gint count)
+ {
++ /* Hildon: cursor is always displayed on an entire row anyway */
++#if 0
+ GtkRBTree *cursor_tree;
+ GtkRBNode *cursor_node;
+ GtkTreePath *path;
+@@ -8631,6 +9663,7 @@
+ path = _gtk_tree_view_find_path (tree_view, cursor_tree, cursor_node);
+ gtk_tree_view_real_set_cursor (tree_view, path, TRUE, TRUE);
+ gtk_tree_path_free (path);
++#endif
+ }
+
+ static gboolean
+@@ -8670,7 +9703,7 @@
+ GtkTreePath *cursor_path = NULL;
+ GtkTreeSelectMode mode = 0;
+
+- if (! GTK_WIDGET_HAS_FOCUS (tree_view))
++ if (! GTK_WIDGET_HAS_FOCUS (tree_view) && !tree_view->priv->checkbox_mode)
+ return FALSE;
+
+ if (tree_view->priv->cursor)
+@@ -8731,7 +9764,7 @@
+ GtkRBNode *cursor_node = NULL;
+ GtkTreePath *cursor_path = NULL;
+
+- if (! GTK_WIDGET_HAS_FOCUS (tree_view))
++ if (! GTK_WIDGET_HAS_FOCUS (tree_view) && !tree_view->priv->checkbox_mode)
+ return FALSE;
+
+ cursor_path = NULL;
+@@ -8774,6 +9807,7 @@
+ GtkTreePath *cursor_path = NULL;
+ GtkRBTree *tree;
+ GtkRBNode *node;
++ gboolean hildon_row;
+
+ if (! GTK_WIDGET_HAS_FOCUS (tree_view))
+ return FALSE;
+@@ -8796,10 +9830,32 @@
+ && gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL)
+ expand = !expand;
+
+- if (expand)
+- gtk_tree_view_real_expand_row (tree_view, cursor_path, tree, node, open_all, TRUE);
++ /* Keyboard Navigation: if we can't expand/collapse row, we should either move active focus
++ to child item (right arrow) or move active focus to the parent item (left arrow) */
++ if (expand)
++ {
++ hildon_row = gtk_tree_view_real_expand_row (tree_view, cursor_path, tree,
++ node, open_all, TRUE);
++
++ if (!hildon_row || !node->children)
++ g_signal_emit_by_name (gtk_widget_get_ancestor (GTK_WIDGET (tree_view),
++ GTK_TYPE_WINDOW),
++ "move_focus",
++ GTK_DIR_TAB_FORWARD);
++ }
+ else
+- gtk_tree_view_real_collapse_row (tree_view, cursor_path, tree, node, TRUE);
++ {
++ hildon_row = gtk_tree_view_real_collapse_row (tree_view, cursor_path, tree, node, TRUE);
++
++ if (hildon_row == FALSE)
++ {
++ g_signal_emit_by_name (gtk_widget_get_ancestor (GTK_WIDGET(tree_view),
++ GTK_TYPE_WINDOW),
++ "move_focus",
++ GTK_DIR_TAB_BACKWARD);
++ gtk_tree_view_real_select_cursor_parent (tree_view);
++ }
++ }
+
+ gtk_tree_path_free (cursor_path);
+
+@@ -9327,6 +10383,14 @@
+ tree_view->priv->last_button_press_2 = NULL;
+ gtk_tree_row_reference_free (tree_view->priv->scroll_to_path);
+ tree_view->priv->scroll_to_path = NULL;
++ gtk_tree_row_reference_free (tree_view->priv->first_drag_row);
++ tree_view->priv->first_drag_row = NULL;
++ gtk_tree_row_reference_free (tree_view->priv->last_drag_row);
++ tree_view->priv->last_drag_row = NULL;
++ gtk_tree_row_reference_free (tree_view->priv->queued_expand_row);
++ tree_view->priv->queued_expand_row = NULL;
++ gtk_tree_row_reference_free (tree_view->priv->queued_select_row);
++ tree_view->priv->queued_select_row = NULL;
+
+ tree_view->priv->scroll_to_column = NULL;
+
+@@ -9402,6 +10466,8 @@
+ install_presize_handler (tree_view);
+ }
+
++ check_if_can_focus (tree_view);
++
+ g_object_notify (G_OBJECT (tree_view), "model");
+
+ if (GTK_WIDGET_REALIZED (tree_view))
+@@ -9744,6 +10810,10 @@
+ G_CALLBACK (column_sizing_notify),
+ tree_view);
+
++ g_signal_handlers_disconnect_by_func (column,
++ G_CALLBACK (update_checkbox_mode),
++ tree_view);
++
+ _gtk_tree_view_column_unset_tree_view (column);
+
+ tree_view->priv->columns = g_list_remove (tree_view->priv->columns, column);
+@@ -9773,6 +10843,8 @@
+ g_object_unref (column);
+ g_signal_emit (tree_view, tree_view_signals[COLUMNS_CHANGED], 0);
+
++ update_checkbox_mode (NULL, NULL, tree_view);
++
+ return tree_view->priv->n_columns;
+ }
+
+@@ -9815,6 +10887,9 @@
+ g_signal_connect (column, "notify::sizing",
+ G_CALLBACK (column_sizing_notify), tree_view);
+
++ g_signal_connect (column, "notify::visible",
++ G_CALLBACK (update_checkbox_mode), tree_view);
++
+ tree_view->priv->columns = g_list_insert (tree_view->priv->columns,
+ column, position);
+ tree_view->priv->n_columns++;
+@@ -9838,6 +10913,9 @@
+
+ g_signal_emit (tree_view, tree_view_signals[COLUMNS_CHANGED], 0);
+
++ update_checkbox_mode (NULL, NULL, tree_view);
++ check_if_can_focus (tree_view);
++
+ return tree_view->priv->n_columns;
+ }
+
+@@ -10295,7 +11373,6 @@
+ GtkTreeViewColumn *column)
+ {
+ g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
+-
+ g_signal_emit (tree_view, tree_view_signals[ROW_ACTIVATED], 0, path, column);
+ }
+
+@@ -10560,6 +11637,16 @@
+ GtkTreeIter iter;
+ GtkTreeIter temp;
+ gboolean expand;
++ gint vertical_separator;
++ GtkTreePath *collapse_path;
++ GtkRBTree *tree2;
++ GtkRBNode *node2;
++ GtkTreePath *child_path = NULL;
++ GtkTreeIter parent_iter;
++ GtkTreeIter child_iter;
++ GdkRectangle visible_rect;
++ gint children, n;
++ guint total_height;
+
+ remove_auto_expand_timeout (tree_view);
+
+@@ -10573,8 +11660,12 @@
+ if (! gtk_tree_model_iter_has_child (tree_view->priv->model, &iter))
+ return FALSE;
+
++ /* Hildon: insensitive rows cannot be expanded */
++ if (!_gtk_tree_selection_is_row_selectable (tree_view->priv->selection,
++ node, path))
++ return FALSE;
+
+- if (node->children && open_all)
++ if (node->children && open_all)
+ {
+ gboolean retval = FALSE;
+ GtkTreePath *tmp_path = gtk_tree_path_copy (path);
+@@ -10603,6 +11694,37 @@
+ return retval;
+ }
+
++ /* Hildon: collapse other items in the same level */
++ gtk_widget_style_get (GTK_WIDGET (tree_view),
++ "vertical_separator", &vertical_separator, NULL);
++
++ /* find the first child */
++ collapse_path = gtk_tree_path_copy (path);
++ while (gtk_tree_path_prev (collapse_path))
++ ;
++
++ do {
++ if (gtk_tree_path_compare (collapse_path, path) != 0)
++ {
++ _gtk_tree_view_find_node (tree_view, collapse_path, &tree2, &node2);
++
++ if (tree2 == NULL)
++ /* end reached already */
++ break;
++
++ if (node2->children != NULL &&
++ gtk_tree_view_real_collapse_row (tree_view, collapse_path,
++ tree2, node2, FALSE))
++ /* no need to do anything else since only one row may
++ be expanded on any particular level at any time */
++ break;
++ }
++
++ gtk_tree_path_next (collapse_path);
++ } while (1);
++
++ gtk_tree_path_free (collapse_path);
++
+ g_signal_emit (tree_view, tree_view_signals[TEST_EXPAND_ROW], 0, &iter, path, &expand);
+
+ if (expand)
+@@ -10643,6 +11765,42 @@
+ GTK_RBNODE_SET_FLAG (node, GTK_RBNODE_IS_SEMI_COLLAPSED);
+ }
+
++ /* autoscroll if necessary */
++ validate_visible_area (tree_view);
++ gtk_tree_model_get_iter (tree_view->priv->model, &parent_iter, path);
++ _gtk_tree_view_find_node (tree_view, path, &tree2, &node2);
++ validate_row (tree_view, tree2, node2, &parent_iter, path);
++ total_height = CELL_HEIGHT (node2, vertical_separator);
++ children = gtk_tree_model_iter_n_children (tree_view->priv->model, &parent_iter);
++ for (n = 0; n < children; n++)
++ {
++ gtk_tree_model_iter_nth_child (tree_view->priv->model,
++ &child_iter, &parent_iter, n);
++
++ /* must free here so the path of last child is kept for later */
++ if (child_path != NULL)
++ gtk_tree_path_free (child_path);
++
++ child_path = gtk_tree_model_get_path (tree_view->priv->model, &child_iter);
++ _gtk_tree_view_find_node (tree_view, child_path, &tree2, &node2);
++
++ if (CELL_HEIGHT (node2, 0) == 0)
++ validate_row (tree_view, tree2, node2, &child_iter, child_path);
++
++ total_height += CELL_HEIGHT (node2, vertical_separator);
++ }
++
++ gtk_tree_view_get_visible_rect (tree_view, &visible_rect);
++
++ /* KNOWN BUG: If no autocollapse was performed earlier above, these calls
++ to gtk_tree_view_scroll_to_cell do nothing although they should. */
++ if (total_height > visible_rect.height)
++ gtk_tree_view_scroll_to_cell (tree_view, path, NULL, TRUE, 0.0, 0.0);
++ else
++ gtk_tree_view_scroll_to_cell (tree_view, child_path, NULL, FALSE, 0.0, 0.0);
++
++ gtk_tree_path_free (child_path);
++
+ install_presize_handler (tree_view);
+
+ g_signal_emit (tree_view, tree_view_signals[ROW_EXPANDED], 0, &iter, path);
+@@ -11070,6 +12228,16 @@
+ GtkRBTree *tree = NULL;
+ GtkRBNode *node = NULL;
+
++ _gtk_tree_view_find_node (tree_view, path, &tree, &node);
++
++ /* Hildon: cursor cannot move to an insensitive row */
++ if (!_gtk_tree_selection_is_row_selectable (tree_view->priv->selection,
++ node, path))
++ {
++ g_signal_emit (tree_view, tree_view_signals[ROW_INSENSITIVE], 0, path);
++ return;
++ }
++
+ if (gtk_tree_row_reference_valid (tree_view->priv->cursor))
+ {
+ GtkTreePath *cursor_path;
+@@ -11083,7 +12251,6 @@
+ tree_view->priv->cursor = gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view),
+ tree_view->priv->model,
+ path);
+- _gtk_tree_view_find_node (tree_view, path, &tree, &node);
+ if (tree != NULL)
+ {
+ GtkRBTree *new_tree = NULL;
+@@ -11093,7 +12260,8 @@
+ {
+ GtkTreeSelectMode mode = 0;
+
+- if (tree_view->priv->ctrl_pressed)
++ if (tree_view->priv->ctrl_pressed ||
++ tree_view->priv->pen_drag_active)
+ mode |= GTK_TREE_SELECT_MODE_TOGGLE;
+ if (tree_view->priv->shift_pressed)
+ mode |= GTK_TREE_SELECT_MODE_EXTEND;
+@@ -11213,6 +12381,9 @@
+ {
+ g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
+ g_return_if_fail (path != NULL);
++
++ tree_view->priv->pen_focus = FALSE;
++
+ if (focus_column)
+ g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (focus_column));
+ if (focus_cell)
+@@ -11414,6 +12585,7 @@
+ GtkRBNode *node = NULL;
+ gint vertical_separator;
+ gint horizontal_separator;
++ gint expander_indent;
+
+ g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
+ g_return_if_fail (column == NULL || GTK_IS_TREE_VIEW_COLUMN (column));
+@@ -11424,6 +12596,7 @@
+ gtk_widget_style_get (GTK_WIDGET (tree_view),
+ "vertical_separator", &vertical_separator,
+ "horizontal_separator", &horizontal_separator,
++ "expander_indent", &expander_indent,
+ NULL);
+
+ rect->x = 0;
+@@ -11453,9 +12626,11 @@
+ TREE_VIEW_DRAW_EXPANDERS (tree_view))
+ {
+ gint depth = gtk_tree_path_get_depth (path) - 1;
++ gint adjust;
+
+- rect->x += depth * tree_view->priv->expander_size;
+- rect->width -= depth * tree_view->priv->expander_size;
++ adjust = depth * tree_view->priv->expander_size + (depth - 1) * expander_indent;
++ rect->x += adjust;
++ rect->width -= adjust;
+ rect->width = MAX (rect->width, 0);
+ }
+ }
+@@ -12077,8 +13252,13 @@
+ if (gtk_tree_view_is_expander_column (tree_view, column) &&
+ TREE_VIEW_DRAW_EXPANDERS(tree_view))
+ {
+- cell_area.x += depth * tree_view->priv->expander_size;
+- cell_area.width -= depth * tree_view->priv->expander_size;
++ gint adjust, expander_indent;
++
++ gtk_widget_style_get (widget, "expander_indent", &expander_indent, NULL);
++
++ adjust = depth * tree_view->priv->expander_size + (depth - 1) * expander_indent;
++ cell_area.x += adjust;
++ cell_area.width -= adjust;
+ }
+
+ if (gtk_tree_view_column_cell_is_visible (column))
+@@ -13062,3 +14242,138 @@
+ tree_view->priv->pressed_button = -1;
+ }
+
++/* Hildon addition: iterates through columns and cells, looks for
++ a cell with "activatable" attribute and sets or unsets
++ priv->checkbox_mode accordingly (except when checkbox mode
++ is disabled by unsetting allow_checkbox_mode).
++ */
++static void
++update_checkbox_mode (GObject *object, GParamSpec *pspec, gpointer data)
++{
++ GtkTreeView *tree_view = GTK_TREE_VIEW (data);
++ GList *columns = gtk_tree_view_get_columns (tree_view);
++ GList *list;
++ gboolean allow_checkbox_mode;
++
++ g_object_get (GTK_WIDGET (data),
++ "allow_checkbox_mode", &allow_checkbox_mode, NULL);
++ g_return_if_fail (allow_checkbox_mode);
++
++ for (list = columns; list; list = list->next)
++ {
++ GtkTreeViewColumn *col = GTK_TREE_VIEW_COLUMN (list->data);
++ if (gtk_tree_view_column_get_visible (col) &&
++ _gtk_tree_view_column_has_activatable_cell (col))
++ {
++ /* checkbox column found */
++ tree_view->priv->checkbox_mode = TRUE;
++ g_list_free (columns);
++ return;
++ }
++ }
++
++ /* no checkbox column was found */
++ tree_view->priv->checkbox_mode = FALSE;
++ g_list_free (columns);
++}
++
++static void
++set_dotted_lines (GtkTreeView *tree_view, gboolean enable)
++{
++ if (enable != tree_view->priv->dotted_lines)
++ {
++ tree_view->priv->dotted_lines = enable;
++ gtk_widget_queue_draw (GTK_WIDGET (tree_view));
++ }
++}
++
++/* This function is used to ensure two things:
++ * - in single selection mode, focus will always equal selection
++ * - in multiple selection mode, focus is removed if cursor row is
++ * explicitly unselected
++ */
++static void
++selection_changed (GtkTreeSelection *selection, gpointer data)
++{
++ GtkTreeView *tree_view = GTK_TREE_VIEW(data);
++ GtkTreePath *cursor_path = NULL;
++ GtkTreeIter iter;
++
++ /* if there are checkboxes, cursor row doesn't have to be selected */
++ if (tree_view->priv->checkbox_mode)
++ return;
++
++ if (gtk_tree_row_reference_valid (tree_view->priv->cursor))
++ cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
++
++ if (cursor_path == NULL ||
++ !gtk_tree_selection_path_is_selected (selection, cursor_path))
++ {
++ GtkTreePath *selected_path;
++ GtkRBTree *tree = NULL;
++ GtkRBNode *node = NULL;
++
++ if (gtk_tree_selection_get_mode (selection) != GTK_SELECTION_MULTIPLE &&
++ gtk_tree_selection_get_selected (selection, NULL, &iter))
++ {
++ selected_path = gtk_tree_model_get_path (tree_view->priv->model,
++ &iter);
++ gtk_tree_view_real_set_cursor (tree_view, selected_path, TRUE, TRUE);
++ _gtk_tree_view_find_node (tree_view, selected_path, &tree, &node);
++ gtk_tree_view_clamp_node_visible (tree_view, tree, node);
++ gtk_tree_path_free (selected_path);
++ gtk_widget_grab_focus (GTK_WIDGET (tree_view));
++ }
++ else
++ {
++ gtk_tree_row_reference_free (tree_view->priv->cursor);
++ tree_view->priv->cursor = NULL;
++ }
++ }
++
++ if (cursor_path)
++ gtk_tree_path_free (cursor_path);
++}
++
++/* Helper function for ensuring that GtkTreeView is focusable
++ * if and only if it contains at least one sensitive top-level row.
++ * Should be called whenever the existence of a sensitive top-level row
++ * might have changed.
++ */
++static void
++check_if_can_focus (GtkTreeView *tree_view)
++{
++ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
++ GtkTreeIter iter;
++
++ if (model == NULL || !GTK_WIDGET_MAPPED (tree_view))
++ return;
++
++ if (gtk_tree_model_get_iter_first (model, &iter) == FALSE)
++ {
++ GTK_WIDGET_UNSET_FLAGS (tree_view, GTK_CAN_FOCUS);
++ return;
++ }
++
++ do {
++ GtkTreePath *path = gtk_tree_model_get_path (model, &iter);
++ GtkRBTree *tree;
++ GtkRBNode *node;
++
++ _gtk_tree_view_find_node (tree_view, path, &tree, &node);
++
++ if (_gtk_tree_selection_is_row_selectable (tree_view->priv->selection,
++ node, path))
++ {
++ GTK_WIDGET_SET_FLAGS (tree_view, GTK_CAN_FOCUS);
++ if (!gtk_tree_row_reference_valid (tree_view->priv->cursor))
++ gtk_tree_view_real_set_cursor (tree_view, path,
++ !tree_view->priv->checkbox_mode,
++ TRUE);
++
++ return;
++ }
++ } while (gtk_tree_model_iter_next (model, &iter));
++
++ GTK_WIDGET_UNSET_FLAGS (tree_view, GTK_CAN_FOCUS);
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeview.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeview.h.diff
new file mode 100644
index 0000000000..13f5c75600
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeview.h.diff
@@ -0,0 +1,18 @@
+--- gtk+-2.6.4/gtk/gtktreeview.h 2004-11-23 22:02:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktreeview.h 2005-04-06 16:19:38.342709384 +0300
+@@ -102,12 +102,14 @@
+ gboolean (* select_cursor_parent) (GtkTreeView *tree_view);
+ gboolean (* start_interactive_search) (GtkTreeView *tree_view);
+
++ void (* row_insensitive) (GtkTreeView *tree_view,
++ GtkTreePath *path);
++
+ /* Padding for future expansion */
+ void (*_gtk_reserved0) (void);
+ void (*_gtk_reserved1) (void);
+ void (*_gtk_reserved2) (void);
+ void (*_gtk_reserved3) (void);
+- void (*_gtk_reserved4) (void);
+ };
+
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeviewcolumn.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeviewcolumn.c.diff
new file mode 100644
index 0000000000..aab0f0ed1f
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktreeviewcolumn.c.diff
@@ -0,0 +1,51 @@
+--- gtk+-2.6.4/gtk/gtktreeviewcolumn.c 2005-01-05 00:10:56.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktreeviewcolumn.c 2005-04-06 16:19:38.346708776 +0300
+@@ -1367,6 +1367,19 @@
+ return FALSE;
+ }
+
++gboolean
++_gtk_tree_view_column_has_activatable_cell (GtkTreeViewColumn *column)
++{
++ GList *list;
++
++ for (list = column->cell_list; list; list = list->next)
++ if (((GtkTreeViewColumnCellInfo *)list->data)->cell->mode ==
++ GTK_CELL_RENDERER_MODE_ACTIVATABLE)
++ return TRUE;
++
++ return FALSE;
++}
++
+ /* gets cell being edited */
+ GtkCellRenderer *
+ _gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column)
+@@ -2582,6 +2595,7 @@
+ GList *list;
+ gboolean first_cell = TRUE;
+ gint focus_line_width;
++ gint horizontal_separator;
+
+ g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column));
+
+@@ -2590,7 +2604,10 @@
+ if (width)
+ * width = 0;
+
+- gtk_widget_style_get (tree_column->tree_view, "focus-line-width", &focus_line_width, NULL);
++ gtk_widget_style_get (tree_column->tree_view,
++ "focus-line-width", &focus_line_width,
++ "horizontal-separator", &horizontal_separator,
++ NULL);
+
+ for (list = tree_column->cell_list; list; list = list->next)
+ {
+@@ -2618,7 +2635,7 @@
+ * height = MAX (*height, new_height + focus_line_width * 2);
+ info->requested_width = MAX (info->requested_width, new_width + focus_line_width * 2);
+ if (width)
+- * width += info->requested_width;
++ * width += info->requested_width + horizontal_separator;
+ first_cell = FALSE;
+ }
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktypebuiltins.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktypebuiltins.c.diff
new file mode 100644
index 0000000000..31b52e68a3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktypebuiltins.c.diff
@@ -0,0 +1,86 @@
+--- gtk+-2.6.4/gtk/gtktypebuiltins.c 2005-03-01 17:58:15.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktypebuiltins.c 2005-04-06 16:19:38.348708472 +0300
+@@ -25,6 +25,26 @@
+ }
+
+
++/* enumerations from "gtkbutton.h" */
++GType
++osso_gtk_button_attach_flags_get_type (void)
++{
++ static GType etype = 0;
++ if (etype == 0) {
++ static const GFlagsValue values[] = {
++ { OSSO_GTK_BUTTON_ATTACH_NORTH, "OSSO_GTK_BUTTON_ATTACH_NORTH", "north" },
++ { OSSO_GTK_BUTTON_ATTACH_EAST, "OSSO_GTK_BUTTON_ATTACH_EAST", "east" },
++ { OSSO_GTK_BUTTON_ATTACH_SOUTH, "OSSO_GTK_BUTTON_ATTACH_SOUTH", "south" },
++ { OSSO_GTK_BUTTON_ATTACH_WEST, "OSSO_GTK_BUTTON_ATTACH_WEST", "west" },
++ { OSSO_GTK_BUTTON_ATTACH_ENUM_END, "OSSO_GTK_BUTTON_ATTACH_ENUM_END", "enum-end" },
++ { 0, NULL, NULL }
++ };
++ etype = g_flags_register_static ("OssoGtkButtonAttachFlags", values);
++ }
++ return etype;
++}
++
++
+ /* enumerations from "gtkcalendar.h" */
+ GType
+ gtk_calendar_display_options_get_type (void)
+@@ -468,13 +488,17 @@
+ static GType etype = 0;
+ if (etype == 0) {
+ static const GEnumValue values[] = {
+- { GTK_ICON_SIZE_INVALID, "GTK_ICON_SIZE_INVALID", "invalid" },
+- { GTK_ICON_SIZE_MENU, "GTK_ICON_SIZE_MENU", "menu" },
+- { GTK_ICON_SIZE_SMALL_TOOLBAR, "GTK_ICON_SIZE_SMALL_TOOLBAR", "small-toolbar" },
+- { GTK_ICON_SIZE_LARGE_TOOLBAR, "GTK_ICON_SIZE_LARGE_TOOLBAR", "large-toolbar" },
+- { GTK_ICON_SIZE_BUTTON, "GTK_ICON_SIZE_BUTTON", "button" },
+- { GTK_ICON_SIZE_DND, "GTK_ICON_SIZE_DND", "dnd" },
+- { GTK_ICON_SIZE_DIALOG, "GTK_ICON_SIZE_DIALOG", "dialog" },
++ { GTK_ICON_SIZE_INVALID, "GTK_ICON_SIZE_INVALID", "gtk-icon-size-invalid" },
++ { GTK_ICON_SIZE_MENU, "GTK_ICON_SIZE_MENU", "gtk-icon-size-menu" },
++ { GTK_ICON_SIZE_SMALL_TOOLBAR, "GTK_ICON_SIZE_SMALL_TOOLBAR", "gtk-icon-size-small-toolbar" },
++ { GTK_ICON_SIZE_LARGE_TOOLBAR, "GTK_ICON_SIZE_LARGE_TOOLBAR", "gtk-icon-size-large-toolbar" },
++ { GTK_ICON_SIZE_BUTTON, "GTK_ICON_SIZE_BUTTON", "gtk-icon-size-button" },
++ { GTK_ICON_SIZE_DND, "GTK_ICON_SIZE_DND", "gtk-icon-size-dnd" },
++ { GTK_ICON_SIZE_DIALOG, "GTK_ICON_SIZE_DIALOG", "gtk-icon-size-dialog" },
++ { HILDON_ICON_SIZE_26, "HILDON_ICON_SIZE_26", "hildon-icon-size-26" },
++ { HILDON_ICON_SIZE_40, "HILDON_ICON_SIZE_40", "hildon-icon-size-40" },
++ { HILDON_ICON_SIZE_50, "HILDON_ICON_SIZE_50", "hildon-icon-size-50" },
++ { HILDON_ICON_SIZE_64, "HILDON_ICON_SIZE_64", "hildon-icon-size-64" },
+ { 0, NULL, NULL }
+ };
+ etype = g_enum_register_static ("GtkIconSize", values);
+@@ -1390,6 +1414,7 @@
+ { GTK_RC_TOKEN_STOCK, "GTK_RC_TOKEN_STOCK", "stock" },
+ { GTK_RC_TOKEN_LTR, "GTK_RC_TOKEN_LTR", "ltr" },
+ { GTK_RC_TOKEN_RTL, "GTK_RC_TOKEN_RTL", "rtl" },
++ { GTK_RC_TOKEN_LOGICAL_COLOR, "GTK_RC_TOKEN_LOGICAL_COLOR", "logical-color" },
+ { GTK_RC_TOKEN_LAST, "GTK_RC_TOKEN_LAST", "last" },
+ { 0, NULL, NULL }
+ };
+@@ -1673,6 +1698,23 @@
+ return etype;
+ }
+
++GType
++gtk_widget_tap_and_hold_flags_get_type (void)
++{
++ static GType etype = 0;
++ if (etype == 0) {
++ static const GFlagsValue values[] = {
++ { GTK_TAP_AND_HOLD_NONE, "GTK_TAP_AND_HOLD_NONE", "none" },
++ { GTK_TAP_AND_HOLD_PASS_PRESS, "GTK_TAP_AND_HOLD_PASS_PRESS", "pass-press" },
++ { GTK_TAP_AND_HOLD_NO_SIGNALS, "GTK_TAP_AND_HOLD_NO_SIGNALS", "no-signals" },
++ { GTK_TAP_AND_HOLD_NO_INTERNALS, "GTK_TAP_AND_HOLD_NO_INTERNALS", "no-internals" },
++ { 0, NULL, NULL }
++ };
++ etype = g_flags_register_static ("GtkWidgetTapAndHoldFlags", values);
++ }
++ return etype;
++}
++
+
+ /* Generated data ends here */
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktypebuiltins.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktypebuiltins.h.diff
new file mode 100644
index 0000000000..ac266dbaf6
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtktypebuiltins.h.diff
@@ -0,0 +1,24 @@
+--- gtk+-2.6.4/gtk/gtktypebuiltins.h 2005-03-01 17:58:16.000000000 +0200
++++ gtk+-2.6.4/gtk/gtktypebuiltins.h 2005-04-06 16:19:38.348708472 +0300
+@@ -13,6 +13,11 @@
+ GType gtk_accel_flags_get_type (void) G_GNUC_CONST;
+ #define GTK_TYPE_ACCEL_FLAGS (gtk_accel_flags_get_type())
+
++/* enumerations from "gtkbutton.h" */
++
++GType osso_gtk_button_attach_flags_get_type (void) G_GNUC_CONST;
++#define GTK_TYPE_GTK_BUTTON_ATTACH_FLAGS (osso_gtk_button_attach_flags_get_type())
++
+ /* enumerations from "gtkcalendar.h" */
+
+ GType gtk_calendar_display_options_get_type (void) G_GNUC_CONST;
+@@ -335,6 +340,9 @@
+ GType gtk_widget_help_type_get_type (void) G_GNUC_CONST;
+ #define GTK_TYPE_WIDGET_HELP_TYPE (gtk_widget_help_type_get_type())
+
++GType gtk_widget_tap_and_hold_flags_get_type (void) G_GNUC_CONST;
++#define GTK_TYPE_WIDGET_TAP_AND_HOLD_FLAGS (gtk_widget_tap_and_hold_flags_get_type())
++
+ G_END_DECLS
+
+ #endif /* __GTK_TYPE_BUILTINS_H__ */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkvseparator.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkvseparator.c.diff
new file mode 100644
index 0000000000..f4b1c00900
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkvseparator.c.diff
@@ -0,0 +1,45 @@
+--- gtk+-2.6.4/gtk/gtkvseparator.c 2004-08-09 19:59:53.000000000 +0300
++++ gtk+-2.6.4/gtk/gtkvseparator.c 2005-04-06 16:19:38.356707256 +0300
+@@ -91,13 +91,34 @@
+ gtk_vseparator_expose (GtkWidget *widget,
+ GdkEventExpose *event)
+ {
+- if (GTK_WIDGET_DRAWABLE (widget))
+- gtk_paint_vline (widget->style, widget->window, GTK_WIDGET_STATE (widget),
+- &event->area, widget, "vseparator",
+- widget->allocation.y,
+- widget->allocation.y + widget->allocation.height - 1,
+- widget->allocation.x + (widget->allocation.width -
+- widget->style->xthickness) / 2);
++ gboolean hildonlike_drawing = FALSE;
+
+- return FALSE;
++
++ gtk_widget_style_get ( widget, "hildonlike-drawing", &hildonlike_drawing, NULL );
++
++ if (GTK_WIDGET_DRAWABLE (widget))
++ {
++ if(hildonlike_drawing)
++ gtk_paint_box (widget->style, widget->window, GTK_STATE_NORMAL,
++ GTK_SHADOW_NONE, &event->area, widget, "vseparator",
++ widget->allocation.x + (widget->allocation.width -
++ widget->style->xthickness) / 2,
++ widget->allocation.y,
++
++ widget->style->xthickness,
++ widget->allocation.height - 1);
++ else
++ gtk_paint_vline (widget->style, widget->window, GTK_STATE_NORMAL,
++ &event->area, widget, "vseparator",
++ widget->allocation.y,
++ widget->allocation.y + widget->allocation.height - 1,
++ widget->allocation.x + (widget->allocation.width -
++ widget->style->xthickness) / 2);
++ }
++
++
++
++
++
++ return FALSE;
+ }
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwidget.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwidget.c.diff
new file mode 100644
index 0000000000..ecef0041eb
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwidget.c.diff
@@ -0,0 +1,1046 @@
+--- gtk+-2.6.4/gtk/gtkwidget.c 2005-02-24 18:44:02.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkwidget.c 2005-04-06 16:19:38.386702696 +0300
+@@ -28,6 +28,8 @@
+ #include <stdarg.h>
+ #include <string.h>
+ #include <locale.h>
++#include <stdlib.h>
++#include <x11/gdkx.h>
+ #include "gtkalias.h"
+ #include "gtkcontainer.h"
+ #include "gtkaccelmap.h"
+@@ -44,6 +46,11 @@
+ #include "gtkwindow.h"
+ #include "gtkbindings.h"
+ #include "gtkprivate.h"
++#include "gtktreeview.h"
++#include "gtkentry.h"
++#include "gtktextview.h"
++#include "gtkimcontext.h"
++#include "gtkmenu.h"
+ #include "gdk/gdk.h"
+ #include "gdk/gdkprivate.h" /* Used in gtk_reset_shapes_recurse to avoid copy */
+ #include <gobject/gvaluecollector.h>
+@@ -53,11 +60,30 @@
+ #include "gtkaccessible.h"
+ #include "gtktooltips.h"
+ #include "gtkinvisible.h"
++#include "gtkscrollbar.h" /* Following are needed for special focus changes */
++#include "gtktoolbar.h"
++#include "gtkmenu.h"
++#include "gtkmenuitem.h"
++#include "gtktogglebutton.h"
++#include "gtkcomboboxentry.h"
++#include "gtktogglebutton.h"
++#include "gtkcomboboxentry.h"
+
+ #define WIDGET_CLASS(w) GTK_WIDGET_GET_CLASS (w)
+ #define INIT_PATH_SIZE (512)
+
++#define GTK_TAP_THRESHOLD 30
++#define GTK_TAP_MENU_THRESHOLD 20
++#define GTK_TAP_AND_HOLD_TIMER_COUNTER 11
++#define GTK_TAP_AND_HOLD_TIMER_INTERVAL 100
+
++typedef struct _GtkWidgetPrivate GtkWidgetPrivate;
++
++#define GTK_WIDGET_GET_PRIVATE(obj) ( G_TYPE_INSTANCE_GET_PRIVATE ((obj),\
++ GTK_TYPE_WIDGET, GtkWidgetPrivate) )
++
++#define TAP_AND_HOLD_ANIMATION 1
++
+ enum {
+ SHOW,
+ HIDE,
+@@ -120,6 +146,9 @@
+ ACCEL_CLOSURES_CHANGED,
+ SCREEN_CHANGED,
+ CAN_ACTIVATE_ACCEL,
++ INSENSITIVE_PRESS,
++ TAP_AND_HOLD,
++ TAP_AND_HOLD_SETUP,
+ LAST_SIGNAL
+ };
+
+@@ -142,7 +171,8 @@
+ PROP_STYLE,
+ PROP_EVENTS,
+ PROP_EXTENSION_EVENTS,
+- PROP_NO_SHOW_ALL
++ PROP_NO_SHOW_ALL,
++ PROP_TAP_AND_HOLD
+ };
+
+ typedef struct _GtkStateData GtkStateData;
+@@ -155,7 +185,50 @@
+ guint use_forall : 1;
+ };
+
++struct _GtkWidgetPrivate
++{
++ GtkWidget *menu;
++ guint timer_id;
++
++ GtkStateType stype;
++ GtkStateType type_on_press;
++ GdkEvent *fake_event;
++ GtkMenuPositionFunc func;
++ gint x, y;
++ gint timer_counter;
++ gint run_press : 1;
++ gint button_pressed : 1;
++ gint signals_connected : 1;
++ GtkWidgetTapAndHoldFlags flags;
++ gboolean state_set;
++ guint interval;
++
++#ifdef TAP_AND_HOLD_ANIMATION
++ GdkPixbufAnimation *anim;
++ GdkPixbufAnimationIter *iter;
++ guint width, height;
++#endif
++};
++
+
++/* --- Tap And Hold --- */
++static gboolean gtk_widget_tap_and_hold_button_press_with_events( GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv );
++static gboolean gtk_widget_tap_and_hold_button_release_with_events( GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv );
++static gboolean gtk_widget_tap_and_hold_leave_notify_with_events( GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv );
++static gboolean gtk_widget_tap_and_hold_timeout_with_events( GtkWidget *widget );
++static gboolean gtk_widget_tap_and_hold_timeout( GtkWidget *widget );
++static gboolean gtk_widget_tap_and_hold_button_press( GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv );
++static gboolean gtk_widget_tap_and_hold_button_release( GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv );
++static gboolean gtk_widget_tap_and_hold_leave_notify( GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv );
++static void gtk_widget_tap_and_hold_setup_real( GtkWidget *widget,
++ GtkWidget *menu, GtkCallback func, GtkWidgetTapAndHoldFlags flags );
++static void gtk_widget_real_tap_and_hold(GtkWidget *widget);
+ /* --- prototypes --- */
+ static void gtk_widget_class_init (GtkWidgetClass *klass);
+ static void gtk_widget_init (GtkWidget *widget);
+@@ -228,6 +301,13 @@
+ gint width,
+ gint height);
+
++/*Hildon focus handling*/
++static void gtk_widget_set_focus_handling( GtkWidget *widget, gboolean state );
++
++static gboolean gtk_widget_enter_notify_event( GtkWidget *widget, GdkEventCrossing *event );
++static gboolean gtk_widget_leave_notify_event( GtkWidget *widget, GdkEventCrossing *event );
++static gint gtk_widget_button_release_event( GtkWidget *widget, GdkEventButton *event );
++static gint gtk_widget_button_press_event( GtkWidget *widget, GdkEventButton *event );
+
+ /* --- variables --- */
+ static gpointer parent_class = NULL;
+@@ -239,6 +319,9 @@
+ static GtkTextDirection gtk_default_direction = GTK_TEXT_DIR_LTR;
+ static GParamSpecPool *style_property_spec_pool = NULL;
+
++static gboolean on_same_widget = FALSE; /*Hildon focus handling*/
++static gboolean mouse_pressed = FALSE; /*Hildon focus handling*/
++
+ static GQuark quark_property_parser = 0;
+ static GQuark quark_aux_info = 0;
+ static GQuark quark_accel_path = 0;
+@@ -396,6 +479,9 @@
+ klass->drag_data_received = NULL;
+ klass->screen_changed = NULL;
+ klass->can_activate_accel = gtk_widget_real_can_activate_accel;
++ klass->tap_and_hold_setup = gtk_widget_tap_and_hold_setup_real;
++ klass->insensitive_press = NULL;
++ klass->tap_and_hold = gtk_widget_real_tap_and_hold;
+
+ klass->show_help = gtk_widget_real_show_help;
+
+@@ -404,6 +490,18 @@
+
+ klass->no_expose_event = NULL;
+
++ g_type_class_add_private( klass, sizeof(GtkWidgetPrivate) );
++
++ g_object_class_install_property (gobject_class,
++ PROP_TAP_AND_HOLD,
++ g_param_spec_int ("tap_and_hold_state",
++ P_("Tap and hold State type"),
++ P_("Sets the state to be used to the tap and hold functionality. The default is GTK_STATE_NORMAL"),
++ 0,
++ 4, /*4 == Last state in GTK+-2.0*/
++ GTK_STATE_NORMAL,
++ G_PARAM_READWRITE));
++
+ g_object_class_install_property (gobject_class,
+ PROP_NAME,
+ g_param_spec_string ("name",
+@@ -1389,6 +1487,31 @@
+ _gtk_marshal_BOOLEAN__UINT,
+ G_TYPE_BOOLEAN, 1, G_TYPE_UINT);
+
++ widget_signals[INSENSITIVE_PRESS] =
++ g_signal_new ("insensitive_press",
++ G_TYPE_FROM_CLASS (gobject_class),
++ G_SIGNAL_RUN_FIRST,
++ G_STRUCT_OFFSET (GtkWidgetClass, insensitive_press),
++ NULL, NULL,
++ _gtk_marshal_VOID__VOID,
++ G_TYPE_NONE, 0);
++
++ widget_signals[TAP_AND_HOLD] =
++ g_signal_new("tap-and-hold", G_TYPE_FROM_CLASS(gobject_class),
++ G_SIGNAL_RUN_LAST,
++ G_STRUCT_OFFSET(GtkWidgetClass, tap_and_hold),
++ NULL, NULL,
++ _gtk_marshal_VOID__VOID,
++ G_TYPE_NONE, 0);
++
++ widget_signals[TAP_AND_HOLD_SETUP] =
++ g_signal_new("tap-and-hold-setup", G_TYPE_FROM_CLASS(gobject_class),
++ G_SIGNAL_RUN_LAST,
++ G_STRUCT_OFFSET(GtkWidgetClass, tap_and_hold_setup),
++ NULL, NULL, /*FIXME -- OBJECT_POINTER_FLAGS*/
++ _gtk_marshal_VOID__OBJECT_UINT_FLAGS,
++ G_TYPE_NONE, 3, G_TYPE_OBJECT, G_TYPE_POINTER, G_TYPE_UINT);
++
+ binding_set = gtk_binding_set_by_class (klass);
+ gtk_binding_entry_add_signal (binding_set, GDK_F10, GDK_SHIFT_MASK,
+ "popup_menu", 0);
+@@ -1418,7 +1541,12 @@
+ P_("Whether to draw the focus indicator inside widgets"),
+ TRUE,
+ G_PARAM_READABLE));
+-
++ gtk_widget_class_install_style_property (klass,
++ g_param_spec_boolean ("hildon-focus-handling",
++ P_("Hildon focus handling"),
++ P_("Whether the widget is using the hildon like focus handling or not"),
++ FALSE,
++ G_PARAM_READABLE));
+ gtk_widget_class_install_style_property (klass,
+ g_param_spec_int ("focus-line-width",
+ P_("Focus linewidth"),
+@@ -1543,6 +1671,8 @@
+ case PROP_NO_SHOW_ALL:
+ gtk_widget_set_no_show_all (widget, g_value_get_boolean (value));
+ break;
++ case PROP_TAP_AND_HOLD:
++ GTK_WIDGET_GET_PRIVATE(widget)->type_on_press = g_value_get_int(value);
+ default:
+ break;
+ }
+@@ -1637,16 +1767,45 @@
+ case PROP_NO_SHOW_ALL:
+ g_value_set_boolean (value, gtk_widget_get_no_show_all (widget));
+ break;
++ case PROP_TAP_AND_HOLD:
++ g_value_set_int (value,
++ (int)GTK_WIDGET_GET_PRIVATE(widget)->type_on_press);
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+ }
+
++static void gtk_widget_set_focus_handling( GtkWidget *widget, gboolean state )
++{
++ GtkWidgetPrivate *priv;
++ priv = GTK_WIDGET_GET_PRIVATE (widget);
++
++ if( state && GTK_WIDGET_CAN_FOCUS(widget) )
++ {
++ if (!priv->state_set)
++ {
++ g_signal_connect( G_OBJECT(widget), "button-press-event",
++ G_CALLBACK(gtk_widget_button_press_event), NULL );
++ g_signal_connect( G_OBJECT(widget), "button-release-event",
++ G_CALLBACK(gtk_widget_button_release_event), NULL );
++ g_signal_connect( G_OBJECT(widget), "enter-notify-event",
++ G_CALLBACK(gtk_widget_enter_notify_event), NULL );
++ g_signal_connect( G_OBJECT(widget), "leave-notify-event",
++ G_CALLBACK(gtk_widget_leave_notify_event), NULL );
++ priv->state_set = TRUE;
++ }
++ }
++}
++
+ static void
+ gtk_widget_init (GtkWidget *widget)
+ {
++ GtkWidgetPrivate *priv;
+ GTK_PRIVATE_FLAGS (widget) = PRIVATE_GTK_CHILD_VISIBLE;
++
++ priv = GTK_WIDGET_GET_PRIVATE(widget);
++
+ widget->state = GTK_STATE_NORMAL;
+ widget->saved_state = GTK_STATE_NORMAL;
+ widget->name = NULL;
+@@ -1659,6 +1818,18 @@
+ widget->window = NULL;
+ widget->parent = NULL;
+
++ priv->fake_event = NULL;
++ priv->timer_id = 0;
++ priv->menu = NULL;
++ priv->run_press = TRUE;
++ priv->signals_connected = FALSE;
++ priv->x = priv->y = 0;
++ priv->func = NULL;
++ priv->timer_counter = 0;
++ priv->flags = 0x0;
++ priv->state_set = FALSE;
++ priv->interval = GTK_TAP_AND_HOLD_TIMER_INTERVAL;
++
+ GTK_WIDGET_SET_FLAGS (widget,
+ GTK_SENSITIVE |
+ GTK_PARENT_SENSITIVE |
+@@ -1670,6 +1841,7 @@
+ GTK_PRIVATE_SET_FLAG (widget, GTK_ALLOC_NEEDED);
+
+ widget->style = gtk_widget_get_default_style ();
++
+ g_object_ref (widget->style);
+ }
+
+@@ -2153,6 +2325,7 @@
+
+ if ((GTK_WIDGET_FLAGS (widget) & GTK_NO_SHOW_ALL) != 0)
+ return;
++
+
+ class = GTK_WIDGET_GET_CLASS (widget);
+
+@@ -3400,6 +3573,127 @@
+ return FALSE;
+ }
+
++/**
++ * gtk_widget_button_press_event
++ * @widget: a #GtkWidget
++ * @event: a #GtkEventKey
++ *
++**/
++static gboolean gtk_widget_button_press_event(GtkWidget *widget, GdkEventButton *event )
++{
++ if( !mouse_pressed /*&& !GTK_IS_TREE_VIEW(widget) && !GTK_IS_ENTRY(widget)*/ )
++ {
++ GtkWidget *toplevel;
++ toplevel = gtk_widget_get_toplevel (widget);
++ if (GTK_IS_WINDOW (toplevel))
++ {
++ mouse_pressed = TRUE;
++
++ if( /*!gtk_window_get_prev_focus_widget(GTK_WINDOW(toplevel)) &&*/
++ GTK_IS_WIDGET(GTK_WINDOW(toplevel)->focus_widget) )
++ gtk_window_set_prev_focus_widget( GTK_WINDOW(toplevel),
++ GTK_WINDOW(toplevel)->focus_widget );
++ }
++ }
++ return FALSE;
++}
++
++/**
++ * gtk_widget_button_release_event
++ * @widget: a #GtkWidget
++ * @event: a #GtkEventKey
++ *
++**/
++static gboolean gtk_widget_button_release_event(GtkWidget *widget, GdkEventButton *event )
++{
++ if( mouse_pressed /*&& !GTK_IS_ENTRY(widget)*/ )
++ {
++ GtkWidget *toplevel;
++ GtkWidget *event_widget;
++ event_widget = gtk_get_event_widget( (GdkEvent*) event );
++ toplevel = gtk_widget_get_toplevel (widget);
++
++ mouse_pressed = FALSE;
++ on_same_widget = TRUE;
++
++ if (GTK_IS_WINDOW (toplevel))
++ {
++ if( !on_same_widget && GTK_IS_WIDGET(GTK_WINDOW(toplevel)->focus_widget) )
++ gtk_window_set_prev_focus_widget( GTK_WINDOW(toplevel), GTK_WINDOW(toplevel)->focus_widget );
++ else
++ gtk_window_set_prev_focus_widget( GTK_WINDOW(toplevel), event_widget );
++ }
++ }
++ return FALSE;
++}
++
++/**
++ * gtk_widget_enter_notify_event
++ * @widget: a #GtkWidget
++ * @event: a #GtkEventCrossing
++ *
++**/
++static gboolean gtk_widget_enter_notify_event( GtkWidget *widget, GdkEventCrossing *event )
++{
++ GtkWidget *toplevel;
++ GtkWidget *event_widget;
++ /*if( GTK_IS_ENTRY(widget) )
++ return FALSE;*/
++
++ toplevel = gtk_widget_get_toplevel (widget);
++ event_widget = gtk_get_event_widget ( (GdkEvent*) event );
++
++ if(mouse_pressed && !on_same_widget && gtk_window_get_prev_focus_widget( GTK_WINDOW(toplevel) ) == event_widget)
++ {
++/* GtkWidget *temp;*/
++ on_same_widget = TRUE;
++
++/* temp = gtk_window_get_prev_focus_widget( GTK_WINDOW(toplevel) );*/
++ if( GTK_IS_WIDGET(GTK_WINDOW(toplevel)->focus_widget) )
++ {
++ gtk_window_set_prev_focus_widget( GTK_WINDOW(toplevel), GTK_WINDOW(toplevel)->focus_widget );
++ if( GTK_WIDGET_CAN_FOCUS(event_widget) )
++ gtk_widget_grab_focus( event_widget );
++ else
++ gtk_widget_activate( event_widget );
++ }
++ }
++ return FALSE;
++}
++
++
++/**
++ * gtk_widget_leave_notify_event
++ * @widget: a #GtkWidget
++ * @event: a #GtkEventCrossing
++ *
++**/
++static gboolean gtk_widget_leave_notify_event( GtkWidget *widget, GdkEventCrossing *event )
++{
++ if( mouse_pressed && on_same_widget /*&& !GTK_IS_ENTRY(widget)*/ )
++ {
++ GtkWidget *event_widget;
++ GtkWidget *toplevel;
++ GtkWidget *temp;
++ toplevel = gtk_widget_get_toplevel( widget );
++ event_widget = gtk_get_event_widget( (GdkEvent*) event );
++ on_same_widget = FALSE;
++
++ temp = gtk_window_get_prev_focus_widget( GTK_WINDOW(toplevel) );
++ if( GTK_IS_WIDGET(temp) &&
++ gtk_window_has_toplevel_focus(GTK_WINDOW(toplevel)) )
++ {
++ gtk_window_set_prev_focus_widget( GTK_WINDOW(toplevel), event_widget );
++ if( GTK_WIDGET_CAN_FOCUS(temp) )
++ gtk_widget_grab_focus( temp );
++ else
++ gtk_widget_activate( temp );
++ }
++ }
++ return FALSE;
++}
++
++
+ #define WIDGET_REALIZED_FOR_EVENT(widget, event) \
+ (event->type == GDK_FOCUS_CHANGE || GTK_WIDGET_REALIZED(widget))
+
+@@ -3947,11 +4241,14 @@
+ static void
+ gtk_widget_real_grab_focus (GtkWidget *focus_widget)
+ {
+- if (GTK_WIDGET_CAN_FOCUS (focus_widget))
++ if (GTK_WIDGET_CAN_FOCUS (focus_widget) &&
++ GTK_WIDGET_VISIBLE (focus_widget))
+ {
++ static GtkIMContext *last_context = NULL;
+ GtkWidget *toplevel;
+ GtkWidget *widget;
+-
++ GtkIMContext *context;
++
+ /* clear the current focus setting, break if the current widget
+ * is the focus widget's parent, since containers above that will
+ * be set by the next loop.
+@@ -3972,6 +4269,53 @@
+
+ return;
+ }
++
++ /* Focus change stuff (previously in modified im context) */
++ if (GTK_IS_ENTRY (widget))
++ context = GTK_ENTRY (widget)->im_context;
++ else if (GTK_IS_TEXT_VIEW (widget))
++ context = GTK_TEXT_VIEW (widget)->im_context;
++ else
++ context = NULL;
++
++ if (context || last_context)
++ {
++ gboolean is_combo, is_inside_toolbar;
++ GtkWidget *parent;
++
++ parent = gtk_widget_get_parent (focus_widget);
++ is_combo = GTK_IS_TOGGLE_BUTTON (focus_widget) &&
++ (GTK_IS_COMBO_BOX_ENTRY (parent) ||
++ GTK_IS_COMBO_BOX (parent));
++ is_inside_toolbar =
++ gtk_widget_get_ancestor (focus_widget,
++ GTK_TYPE_TOOLBAR) != NULL;
++
++ if (focus_widget == NULL ||
++ !GTK_IS_ENTRY (focus_widget) &&
++ !GTK_IS_TEXT_VIEW (focus_widget) &&
++ !GTK_IS_SCROLLBAR (focus_widget) &&
++ !GTK_IS_MENU_ITEM (focus_widget) &&
++ !GTK_IS_MENU (focus_widget) &&
++ !is_inside_toolbar &&
++ !is_combo)
++ {
++ /* we can't hide IM without IM context. it's possible to move
++ * focus to widget which doesn't have IM context, but which
++ * doesn't want IM to be hidden either. So, we have this
++ * static last_context variable which is used... */
++ gtk_im_context_hide (context != NULL
++ ? context : last_context);
++ }
++
++ if (context)
++ {
++ if (last_context != NULL)
++ g_object_unref (last_context);
++ last_context = context;
++ g_object_ref (last_context);
++ }
++ }
+
+ if (widget)
+ {
+@@ -4462,9 +4806,13 @@
+ {
+ g_return_if_fail (GTK_IS_WIDGET (widget));
+
+- if (!GTK_WIDGET_USER_STYLE (widget) &&
+- !GTK_WIDGET_RC_STYLE (widget))
++ if (!GTK_WIDGET_USER_STYLE (widget) && !GTK_WIDGET_RC_STYLE (widget))
++ {
++ gboolean hfh = FALSE;
+ gtk_widget_reset_rc_style (widget);
++ gtk_widget_style_get( widget, "hildon-focus-handling", &hfh, NULL );
++ gtk_widget_set_focus_handling( widget, hfh );
++ }
+ }
+
+ /* Look up the RC style for this widget, unsetting any user style that
+@@ -6396,7 +6744,7 @@
+
+ if (!GTK_WIDGET_DIRECTION_SET (widget))
+ gtk_widget_emit_direction_changed (widget, old_dir);
+-
++
+ if (GTK_IS_CONTAINER (widget))
+ gtk_container_forall (GTK_CONTAINER (widget),
+ gtk_widget_set_default_direction_recurse,
+@@ -6405,6 +6753,13 @@
+ g_object_unref (widget);
+ }
+
++/* Non static */
++void gtk_widget_set_direction_recursive(GtkWidget * widget, GtkTextDirection dir )
++{
++ gtk_widget_set_default_direction_recurse( widget, GUINT_TO_POINTER(dir) );
++}
++
++
+ /**
+ * gtk_widget_set_default_direction:
+ * @dir: the new default direction. This cannot be
+@@ -6422,7 +6777,7 @@
+ {
+ GList *toplevels, *tmp_list;
+ GtkTextDirection old_dir = gtk_default_direction;
+-
++
+ gtk_default_direction = dir;
+
+ tmp_list = toplevels = gtk_window_list_toplevels ();
+@@ -6497,6 +6852,7 @@
+ gtk_widget_finalize (GObject *object)
+ {
+ GtkWidget *widget = GTK_WIDGET (object);
++ GtkWidgetPrivate *priv = GTK_WIDGET_GET_PRIVATE(object);
+ GtkWidgetAuxInfo *aux_info;
+ gint *events;
+ GdkExtensionMode *mode;
+@@ -6507,6 +6863,12 @@
+ g_object_unref (widget->style);
+ widget->style = NULL;
+
++ if (priv->timer_id)
++ {
++ g_source_remove (priv->timer_id);
++ priv->timer_id = 0;
++ }
++
+ if (widget->name)
+ g_free (widget->name);
+
+@@ -6526,6 +6888,12 @@
+ if (accessible)
+ g_object_unref (accessible);
+
++ if (GTK_IS_MENU(priv->menu))
++ gtk_widget_destroy (priv->menu);
++
++ if (priv->fake_event)
++ gdk_event_free (priv->fake_event);
++
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+ }
+
+@@ -7577,3 +7945,450 @@
+
+ g_object_notify (G_OBJECT (widget), "no_show_all");
+ }
++
++void gtk_widget_insensitive_press ( GtkWidget *widget )
++{
++ g_return_if_fail (GTK_IS_WIDGET (widget));
++
++ g_signal_emit(widget, widget_signals[INSENSITIVE_PRESS], 0);
++}
++
++/*Tap And Hold*/
++
++#ifdef TAP_AND_HOLD_ANIMATION
++static void
++init_tap_and_hold_animation( GtkWidgetPrivate *priv )
++{
++ GTimeVal time;
++ if( priv->anim )
++ {
++ g_get_current_time( &time );
++ priv->iter = gdk_pixbuf_animation_get_iter( priv->anim, &time );
++ priv->interval = gdk_pixbuf_animation_iter_get_delay_time( priv->iter );
++ }
++}
++
++static void
++timeout_tap_and_hold_animation( GtkWidgetPrivate *priv )
++{
++ GdkScreen *screen;
++ GdkPixbuf *pic;
++ GdkCursor *cursor;
++ GTimeVal time;
++
++ if( priv->anim )
++ {
++ screen = gdk_screen_get_default();
++ g_get_current_time( &time );
++
++ pic = gdk_pixbuf_animation_iter_get_pixbuf( priv->iter );
++ cursor = gdk_cursor_new_from_pixbuf( gdk_display_get_default(), pic,
++ priv->width, priv->height );
++
++ gdk_window_set_cursor( priv->fake_event->button.window, cursor );
++
++ gdk_pixbuf_animation_iter_advance( priv->iter, &time );
++ }
++}
++
++static void
++stop_tap_and_hold_animation( GtkWidgetPrivate *priv )
++{
++ if( priv->anim )
++ {
++ gdk_window_set_cursor( priv->fake_event->button.window, NULL );
++ }
++}
++
++
++#endif
++
++void tap_and_hold_remove_timer( GtkWidgetPrivate *priv )
++{
++ if (priv->timer_id)
++ {
++ g_source_remove (priv->timer_id);
++ priv->timer_id = 0;
++ #ifdef TAP_AND_HOLD_ANIMATION
++ stop_tap_and_hold_animation( priv );
++ #endif
++ }
++}
++
++/**
++ * gtk_widget_tap_and_hold_setup:
++ *
++ * @widget : A @GtkWidget
++ * @menu : A @GtkWidget
++ * @func : A @GtkCallback
++ * @flags : A @GtkWidgetTapAndHoldFlags
++ *
++ * Setups the tap and hold functionality to the @widget.
++ * The @menu is shown when the functionality is activated.
++ * If the @menu is wanted to be positioned in a different way than the
++ * gtk+ default, the menuposition @func can be passed as a third parameter.
++ * Fourth parameter, @flags are explaned with detail in the documentation.
++ */
++void gtk_widget_tap_and_hold_setup (GtkWidget *widget, GtkWidget *menu,
++ GtkCallback func, GtkWidgetTapAndHoldFlags flags)
++{
++ /*GtkWidgetClass *klass = GTK_WIDGET_GET_CLASS(widget);*/
++ g_return_if_fail( GTK_IS_WIDGET(widget));
++ g_return_if_fail(menu == NULL || GTK_IS_MENU(menu));
++ g_signal_emit( widget, widget_signals[TAP_AND_HOLD_SETUP], 0, menu, func,
++ flags );
++}
++
++static void gtk_widget_tap_and_hold_setup_real (GtkWidget *widget,
++ GtkWidget *menu, GtkCallback func, GtkWidgetTapAndHoldFlags flags)
++{
++ #ifdef TAP_AND_HOLD_ANIMATION
++ GtkStyle *style = NULL;
++ GError *error = NULL;
++ #endif
++ GtkWidgetPrivate *priv;
++ g_return_if_fail (GTK_IS_WIDGET(widget));
++ g_return_if_fail (menu == NULL || GTK_IS_MENU(menu));
++ priv = GTK_WIDGET_GET_PRIVATE (widget);
++
++ if (priv->signals_connected)
++ return;
++
++ _gtk_menu_enable_context_menu_behavior (menu);
++
++ priv->menu = menu;
++ priv->func = (GtkMenuPositionFunc)func;
++ priv->signals_connected = TRUE;
++ priv->timer_counter = 0;
++ priv->flags = flags;
++
++ if (flags & GTK_TAP_AND_HOLD_PASS_PRESS)
++ {
++ g_signal_connect( widget, "button-press-event",
++ G_CALLBACK(gtk_widget_tap_and_hold_button_press_with_events), priv );
++ g_signal_connect( widget, "button-release-event",
++ G_CALLBACK(gtk_widget_tap_and_hold_button_release_with_events), priv );
++ g_signal_connect( widget, "leave-notify-event",
++ G_CALLBACK(gtk_widget_tap_and_hold_leave_notify_with_events), priv );
++ }
++ else
++ {
++ g_signal_connect( widget, "button-press-event",
++ G_CALLBACK(gtk_widget_tap_and_hold_button_press), priv );
++ g_signal_connect( widget, "button-release-event",
++ G_CALLBACK(gtk_widget_tap_and_hold_button_release), priv );
++ g_signal_connect( widget, "leave-notify-event",
++ G_CALLBACK(gtk_widget_tap_and_hold_leave_notify), priv );
++ }
++
++#ifdef TAP_AND_HOLD_ANIMATION
++ priv->anim = NULL;
++ style = gtk_rc_get_style_by_paths(gtk_settings_get_default(),
++ "gtk-tap-and-hold-animation",
++ NULL, G_TYPE_NONE);
++
++ if( style )
++ {
++
++ priv->anim = gdk_pixbuf_animation_new_from_file(
++ (gchar*)style->rc_style->bg_pixmap_name[0], &error );
++
++ priv->width = gdk_pixbuf_animation_get_width( priv->anim )/2;
++ priv->height = gdk_pixbuf_animation_get_height( priv->anim )/2;
++ }
++#endif
++}
++
++static void gtk_widget_real_tap_and_hold(GtkWidget *widget)
++{
++ GtkWidgetPrivate *priv = GTK_WIDGET_GET_PRIVATE (widget);
++
++ if (GTK_IS_MENU(priv->menu))
++ gtk_menu_popup( GTK_MENU(priv->menu), NULL, NULL,
++ (GtkMenuPositionFunc)priv->func,
++ widget, 1, gdk_x11_get_server_time(widget->window) );
++}
++
++static gboolean gtk_widget_tap_and_hold_timeout (GtkWidget *widget)
++{
++ GtkWidgetPrivate *priv= GTK_WIDGET_GET_PRIVATE(widget);
++ gboolean return_value;
++ gint x = 0, y = 0;
++
++ #ifdef TAP_AND_HOLD_ANIMATION
++ timeout_tap_and_hold_animation( priv );
++ #endif
++
++ if( priv->timer_counter )
++ priv->timer_counter--;
++ else
++ priv->timer_id = 0;
++
++ gdk_display_get_pointer( gdk_x11_lookup_xdisplay(
++ GDK_WINDOW_XDISPLAY(priv->fake_event->button.window) ),
++ NULL, &x, &y, NULL );
++
++ if ((abs(x - priv->x) > GTK_TAP_THRESHOLD) ||
++ (abs(y - priv->y) > GTK_TAP_THRESHOLD))
++ {
++ if (priv->stype != priv->type_on_press)
++ gtk_widget_set_state( widget, priv->stype );
++ priv->timer_counter = 0;
++ priv->timer_id = 0;
++ priv->x = priv->y = 0;
++ priv->run_press = FALSE;
++ g_signal_emit_by_name (G_OBJECT(widget), "button-press-event",
++ priv->fake_event, &return_value);
++ return FALSE;
++ }
++ if (!priv->timer_id)
++ {
++ if (priv->stype != priv->type_on_press)
++ gtk_widget_set_state( widget, priv->stype );
++ #ifdef TAP_AND_HOLD_ANIMATION
++ stop_tap_and_hold_animation( priv );
++ #endif
++ g_signal_emit(widget, widget_signals[TAP_AND_HOLD], 0);
++ priv->x = x;
++ priv->y = y;
++ return FALSE;
++ }
++ return TRUE;
++}
++
++static gboolean gtk_widget_tap_and_hold_button_press (GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv)
++{
++ if (!priv->run_press || event->button.button != 1)
++ {
++ priv->run_press = TRUE;
++ return FALSE;
++ }
++
++ if (event->button.type == GDK_2BUTTON_PRESS)
++ return FALSE;
++
++ if (priv->fake_event)
++ gdk_event_free (priv->fake_event);
++ priv->fake_event = gdk_event_copy(event);
++
++ if (!priv->timer_id)
++ {
++ priv->stype = GTK_WIDGET_STATE(widget);
++ if (priv->stype != priv->type_on_press)
++ gtk_widget_set_state( widget, priv->type_on_press );
++ gdk_display_get_pointer(
++ gdk_x11_lookup_xdisplay( GDK_WINDOW_XDISPLAY(event->button.window) ),
++ NULL, &priv->x, &priv->y, NULL );
++ priv->timer_counter = GTK_TAP_AND_HOLD_TIMER_COUNTER;
++
++ #ifdef TAP_AND_HOLD_ANIMATION
++ init_tap_and_hold_animation( priv );
++ #endif
++ priv->timer_id = g_timeout_add( priv->interval,
++ (GSourceFunc)gtk_widget_tap_and_hold_timeout, widget );
++ }
++return TRUE;
++}
++
++static gboolean gtk_widget_tap_and_hold_button_release (GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv)
++{
++ gboolean return_value;
++
++ if (!priv->run_press || event->button.button != 1 || !priv->timer_id ||
++ event->button.type == GDK_2BUTTON_PRESS)
++ return FALSE;
++
++ g_source_remove (priv->timer_id);
++ priv->timer_id = 0;
++ priv->x = priv->y = priv->timer_counter = 0;
++ if (priv->stype != priv->type_on_press)
++ gtk_widget_set_state (widget, priv->stype);
++
++ #ifdef TAP_AND_HOLD_ANIMATION
++ stop_tap_and_hold_animation( priv );
++ #endif
++
++ if (priv->flags & GTK_TAP_AND_HOLD_NO_SIGNALS)
++ return FALSE;
++
++ priv->run_press = FALSE;
++
++ g_signal_emit_by_name (G_OBJECT(widget), "button-press-event",
++ priv->fake_event, &return_value);
++
++return FALSE;
++}
++
++static gboolean gtk_widget_tap_and_hold_leave_notify (GtkWidget *widget,
++ GdkEvent *event, GtkWidgetPrivate *priv)
++{
++ gboolean return_value;
++ if (!priv->timer_id)
++ return FALSE;
++
++ g_source_remove (priv->timer_id);
++ priv->timer_id = 0;
++ priv->x = priv->y = priv->timer_counter = 0;
++ if (priv->stype != priv->type_on_press)
++ gtk_widget_set_state (widget, priv->stype);
++
++ #ifdef TAP_AND_HOLD_ANIMATION
++ stop_tap_and_hold_animation( priv );
++ #endif
++ priv->run_press = FALSE;
++ g_signal_emit_by_name (G_OBJECT(widget), "button-press-event",
++ priv->fake_event, &return_value);
++
++return FALSE;
++}
++
++static gboolean
++gtk_widget_tap_and_hold_timeout_with_events (GtkWidget *widget)
++{
++ gint x, y;
++ GtkWidgetPrivate *priv= GTK_WIDGET_GET_PRIVATE(widget);
++
++ g_return_val_if_fail (priv->fake_event, FALSE);
++
++ #ifdef TAP_AND_HOLD_ANIMATION
++ timeout_tap_and_hold_animation( priv );
++ #endif
++
++ gdk_display_get_pointer( gdk_x11_lookup_xdisplay(
++ GDK_WINDOW_XDISPLAY(priv->fake_event->button.window) ),
++ NULL, &x, &y, NULL );
++
++ if( priv->timer_counter )
++ {
++ priv->timer_counter--;
++ if ((abs(x - priv->x) > GTK_TAP_THRESHOLD) ||
++ (abs(y - priv->y) > GTK_TAP_THRESHOLD))
++ {
++ #ifdef TAP_AND_HOLD_ANIMATION
++ stop_tap_and_hold_animation( priv );
++ #endif
++ tap_and_hold_remove_timer( priv );
++ }
++ return TRUE;
++ }
++
++ if (!((abs(x - priv->x) > GTK_TAP_THRESHOLD) ||
++ (abs(y - priv->y) > GTK_TAP_THRESHOLD)))
++ {
++ gboolean return_value;
++ priv->fake_event->button.type = GDK_BUTTON_RELEASE;
++ priv->fake_event->button.x = x;
++ priv->fake_event->button.y = y;
++ g_signal_emit_by_name (G_OBJECT(widget), "button-release-event",
++ priv->fake_event, &return_value);
++ #ifdef TAP_AND_HOLD_ANIMATION
++ stop_tap_and_hold_animation( priv );
++ #endif
++ g_signal_emit(widget, widget_signals[TAP_AND_HOLD], 0);
++ priv->timer_id = 0;
++ priv->x = x;
++ priv->y = y;
++ gdk_event_free(priv->fake_event);
++ priv->fake_event = NULL;
++ }
++
++
++ if (priv->timer_id)
++ {
++ g_source_remove (priv->timer_id);
++ priv->timer_id = 0;
++ }
++
++ return FALSE;
++}
++
++static gboolean gtk_widget_tap_and_hold_button_press_with_events(
++ GtkWidget *widget, GdkEvent *event, GtkWidgetPrivate *priv)
++{
++ if( priv->timer_id || event->button.type == GDK_2BUTTON_PRESS)
++ return FALSE;
++
++ if (priv->fake_event)
++ gdk_event_free (priv->fake_event);
++ priv->fake_event = gdk_event_copy (event);
++
++ gdk_display_get_pointer(
++ gdk_x11_lookup_xdisplay(GDK_WINDOW_XDISPLAY(event->button.window)),
++ NULL, &priv->x, &priv->y, NULL);
++ #ifdef TAP_AND_HOLD_ANIMATION
++ init_tap_and_hold_animation( priv );
++ #endif
++ priv->timer_counter = GTK_TAP_AND_HOLD_TIMER_COUNTER;
++ priv->timer_id = g_timeout_add(priv->interval,
++ (GSourceFunc)gtk_widget_tap_and_hold_timeout_with_events,
++ widget);
++ return FALSE;
++}
++
++static gboolean gtk_widget_tap_and_hold_button_release_with_events(
++ GtkWidget *widget, GdkEvent *event, GtkWidgetPrivate *priv)
++{
++ tap_and_hold_remove_timer( priv );
++ return FALSE;
++}
++
++static gboolean gtk_widget_tap_and_hold_leave_notify_with_events(
++ GtkWidget *widget, GdkEvent *event, GtkWidgetPrivate *priv)
++{
++ tap_and_hold_remove_timer( priv );
++ return FALSE;
++}
++
++/**
++ * gtk_widget_tap_and_hold_menu_position_top:
++ * @menu: a #GtkMenu
++ * @x: x cordinate to be returned
++ * @y: y cordinate to be returned
++ * @push_in: If going off screen, push it pack on the screen
++ * @widget: a #GtkWidget
++ *
++ * Pre-made menu positioning function.
++ * It positiones the @menu over the @widget.
++ *
++ **/
++void gtk_widget_tap_and_hold_menu_position_top( GtkWidget *menu,
++ gint *x, gint *y, gboolean *push_in, GtkWidget *widget )
++{
++ /*
++ * This function positiones the menu above widgets.
++ * This is a modified version of the position function
++ * gtk_combo_box_position_over.
++ */
++ GtkWidget *topw;
++ GtkRequisition requisition;
++ gint screen_width = 0;
++ gint menu_xpos = 0;
++ gint menu_ypos = 0;
++ gint w_xpos = 0, w_ypos = 0;
++
++ gtk_widget_size_request( menu, &requisition );
++
++ topw = gtk_widget_get_toplevel(widget);
++ gdk_window_get_origin( topw->window, &w_xpos, &w_ypos );
++
++ menu_xpos += widget->allocation.x + w_xpos;
++ menu_ypos += widget->allocation.y + w_ypos - requisition.height;
++
++ if( gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL )
++ menu_xpos = menu_xpos + widget->allocation.width - requisition.width;
++
++ screen_width = gdk_screen_get_width( gtk_widget_get_screen(widget) );
++
++ if( menu_xpos < w_xpos )
++ menu_xpos = w_xpos;
++ else if( (menu_xpos + requisition.width) > screen_width )
++ menu_xpos -= ( (menu_xpos + requisition.width) - screen_width );
++ if( menu_ypos < w_ypos )
++ menu_ypos = w_ypos;
++
++ *x = menu_xpos;
++ *y = menu_ypos;
++ *push_in = TRUE;
++}
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwidget.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwidget.h.diff
new file mode 100644
index 0000000000..7350082d3c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwidget.h.diff
@@ -0,0 +1,59 @@
+--- gtk+-2.6.4/gtk/gtkwidget.h 2004-11-28 09:02:27.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkwidget.h 2005-04-06 16:19:38.400700568 +0300
+@@ -22,6 +22,9 @@
+ * file for a list of people on the GTK+ Team. See the ChangeLog
+ * files for a list of changes. These files are distributed with
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
++
++ * Changes made to create Hildon focus handling and the tap and hold functionality
++ *
+ */
+
+ #ifndef __GTK_WIDGET_H__
+@@ -87,6 +90,15 @@
+ GTK_WIDGET_HELP_WHATS_THIS
+ } GtkWidgetHelpType;
+
++/*Tap And Hold type flags*/
++typedef enum
++{
++ GTK_TAP_AND_HOLD_NONE = 0,
++ GTK_TAP_AND_HOLD_PASS_PRESS = 1 << 0,
++ GTK_TAP_AND_HOLD_NO_SIGNALS = 1 << 1,
++ GTK_TAP_AND_HOLD_NO_INTERNALS = 1 << 2
++} GtkWidgetTapAndHoldFlags;
++
+ /* Macro for casting a pointer to a GtkWidget or GtkWidgetClass pointer.
+ * Macros for testing whether `widget' or `klass' are of type GTK_TYPE_WIDGET.
+ */
+@@ -410,9 +422,10 @@
+ void (*_gtk_reserved2) (void);
+ void (*_gtk_reserved3) (void);
+ void (*_gtk_reserved4) (void);
+- void (*_gtk_reserved5) (void);
+- void (*_gtk_reserved6) (void);
+- void (*_gtk_reserved7) (void);
++ void (*tap_and_hold) (GtkWidget *widget); /* Tap and hold action */
++ void (*tap_and_hold_setup) (GtkWidget *widget, GtkWidget *menu,
++ GtkCallback func, GtkWidgetTapAndHoldFlags flags);
++ void (*insensitive_press) (GtkWidget *widget);
+ };
+
+ struct _GtkWidgetAuxInfo
+@@ -787,6 +800,16 @@
+
+ GdkColormap* _gtk_widget_peek_colormap (void);
+
++/*Hildon functions for focus handling*/
++void gtk_widget_set_hildon_focus_handling( GtkWidget *widget, gboolean hildon_like );
++gboolean gtk_widget_get_hildon_focus_handling( GtkWidget *widget );
++
++/*Tap And Hold functions*/
++void gtk_widget_tap_and_hold_menu_position_top (GtkWidget *menu,
++ gint *x, gint *y, gboolean *push_in, GtkWidget *widget);
++void gtk_widget_tap_and_hold_setup (GtkWidget *widget, GtkWidget *menu,
++ GtkCallback func, GtkWidgetTapAndHoldFlags flags);
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwindow.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwindow.c.diff
new file mode 100644
index 0000000000..a67feac810
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwindow.c.diff
@@ -0,0 +1,78 @@
+--- gtk+-2.6.4/gtk/gtkwindow.c 2005-02-21 06:21:49.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkwindow.c 2005-04-06 16:19:38.407699504 +0300
+@@ -166,6 +166,7 @@
+ guint skips_taskbar : 1;
+ guint skips_pager : 1;
+ guint accept_focus : 1;
++ GtkWidget *prev_focus_widget;
+ guint focus_on_map : 1;
+ };
+
+@@ -293,6 +294,9 @@
+ GValue *value,
+ GParamSpec *pspec);
+
++static void gtk_window_focus_weak_notify (GtkWindow *window,
++ GtkWidget *widget);
++static void gtk_window_weak_notify(GtkWidget *widget, GtkWindow *window);
+
+ GType
+ gtk_window_get_type (void)
+@@ -771,6 +775,7 @@
+ window->decorated = TRUE;
+ window->mnemonic_modifier = GDK_MOD1_MASK;
+ window->screen = gdk_screen_get_default ();
++ priv->prev_focus_widget = NULL;
+
+ priv->accept_focus = TRUE;
+ priv->focus_on_map = TRUE;
+@@ -7505,3 +7510,49 @@
+ }
+
+ #endif
++
++/*Hildon focus handling*/
++GtkWidget *gtk_window_get_prev_focus_widget( GtkWindow *window )
++{
++ g_return_val_if_fail( GTK_IS_WINDOW(window), NULL );
++ return GTK_WINDOW_GET_PRIVATE(window)->prev_focus_widget;
++}
++
++static void gtk_window_weak_notify(GtkWidget *widget, GtkWindow *window)
++{
++ GtkWindowPrivate *priv = GTK_WINDOW_GET_PRIVATE(window);
++ if (priv->prev_focus_widget == widget)
++ g_object_weak_unref(G_OBJECT(widget),
++ (GWeakNotify)gtk_window_focus_weak_notify,
++ (gpointer)window);
++}
++
++void gtk_window_set_prev_focus_widget( GtkWindow *window, GtkWidget *widget )
++{
++ GtkWindowPrivate *priv = GTK_WINDOW_GET_PRIVATE(window);
++ g_return_if_fail(GTK_IS_WINDOW(window));
++ g_return_if_fail(GTK_IS_WIDGET(widget));
++
++ if (priv->prev_focus_widget)
++ {
++ g_object_weak_unref(G_OBJECT(window), (GWeakNotify)gtk_window_weak_notify,
++ (gpointer)priv->prev_focus_widget);
++ g_object_weak_unref(G_OBJECT(priv->prev_focus_widget),
++ (GWeakNotify)gtk_window_focus_weak_notify,
++ (gpointer)window);
++ }
++
++ priv->prev_focus_widget = widget;
++
++ g_object_weak_ref(G_OBJECT(window), (GWeakNotify)gtk_window_weak_notify,
++ (gpointer)widget);
++ g_object_weak_ref(G_OBJECT(widget), (GWeakNotify)gtk_window_focus_weak_notify,
++ (gpointer)window);
++}
++
++static void gtk_window_focus_weak_notify(GtkWindow *window, GtkWidget *widget)
++{
++ GtkWindowPrivate *priv = GTK_WINDOW_GET_PRIVATE(window);
++ priv->prev_focus_widget = window->focus_widget;
++}
++
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwindow.h.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwindow.h.diff
new file mode 100644
index 0000000000..99fb70b1e7
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkwindow.h.diff
@@ -0,0 +1,13 @@
+--- gtk+-2.6.4/gtk/gtkwindow.h 2004-12-12 23:09:13.000000000 +0200
++++ gtk+-2.6.4/gtk/gtkwindow.h 2005-04-06 16:19:38.408699352 +0300
+@@ -413,6 +413,10 @@
+ guint accel_key,
+ GdkModifierType accel_mods);
+
++GtkWidget *gtk_window_get_prev_focus_widget( GtkWindow *window );
++void gtk_window_set_prev_focus_widget( GtkWindow *window, GtkWidget *widget );
++
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/hardcoded_libtool.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/hardcoded_libtool.patch
new file mode 100644
index 0000000000..b2afddcc61
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/hardcoded_libtool.patch
@@ -0,0 +1,29 @@
+--- gtk+-2.6.0/configure.in.old 2005-01-01 16:23:45.000000000 +0000
++++ gtk+-2.6.0/configure.in 2005-01-01 16:24:03.000000000 +0000
+@@ -360,7 +360,7 @@
+ AC_MSG_CHECKING([Whether to write dependencies into .pc files])
+ case $enable_explicit_deps in
+ auto)
+- deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
++ deplib_check_method=`($host_alias-libtool --config; echo eval echo \\$deplib_check_method) | sh`
+ if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+@@ -688,7 +688,7 @@
+ dnl Now we check to see if our libtool supports shared lib deps
+ dnl (in a rather ugly way even)
+ if $dynworks; then
+- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
+ pixbuf_deplibs_check=`$pixbuf_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1512,7 +1512,7 @@
+ #
+ # We are using gmodule-no-export now, but I'm leaving the stripping
+ # code in place for now, since pango and atk still require gmodule.
+-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ if test -n "$export_dynamic"; then
+ GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif-animation.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif-animation.c.diff
new file mode 100644
index 0000000000..d030ae30b8
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif-animation.c.diff
@@ -0,0 +1,108 @@
+--- gtk+-2.6.4/gdk-pixbuf/io-gif-animation.c 2003-06-27 05:38:43.000000000 +0300
++++ gtk+-2.6.4/gdk-pixbuf/io-gif-animation.c 2005-04-06 16:19:35.595127080 +0300
+@@ -391,6 +391,11 @@
+
+ while (tmp != NULL) {
+ GdkPixbufFrame *f = tmp->data;
++
++ if (f->pixbuf == NULL) {
++ return;
++ }
++
+ gint clipped_width = MIN (gif_anim->width - f->x_offset, gdk_pixbuf_get_width (f->pixbuf));
+ gint clipped_height = MIN (gif_anim->height - f->y_offset, gdk_pixbuf_get_height (f->pixbuf));
+
+@@ -414,6 +419,10 @@
+ TRUE,
+ 8, gif_anim->width, gif_anim->height);
+
++ if (f->composited == NULL) {
++ return;
++ }
++
+ /* alpha gets dumped if f->composited has no alpha */
+
+ gdk_pixbuf_fill (f->composited,
+@@ -453,9 +462,18 @@
+
+ if (prev_frame->action == GDK_PIXBUF_FRAME_RETAIN) {
+ f->composited = gdk_pixbuf_copy (prev_frame->composited);
++
++ if (f->composited == NULL) {
++ return;
++ }
+
+ } else if (prev_frame->action == GDK_PIXBUF_FRAME_DISPOSE) {
+ f->composited = gdk_pixbuf_copy (prev_frame->composited);
++
++ if (f->composited == NULL) {
++ return;
++ }
++
+ if (prev_clipped_width > 0 && prev_clipped_height > 0) {
+ /* Clear area of previous frame to background */
+ GdkPixbuf *area;
+@@ -465,6 +483,10 @@
+ prev_frame->y_offset,
+ prev_clipped_width,
+ prev_clipped_height);
++
++ if (area == NULL) {
++ return;
++ }
+
+ gdk_pixbuf_fill (area,
+ (gif_anim->bg_red << 24) |
+@@ -475,7 +497,13 @@
+ }
+ } else if (prev_frame->action == GDK_PIXBUF_FRAME_REVERT) {
+ f->composited = gdk_pixbuf_copy (prev_frame->composited);
+- if (prev_clipped_width > 0 && prev_clipped_height > 0) {
++
++ if (f->composited == NULL) {
++ return;
++ }
++
++ if (prev_frame->revert != NULL &&
++ prev_clipped_width > 0 && prev_clipped_height > 0) {
+ /* Copy in the revert frame */
+ gdk_pixbuf_copy_area (prev_frame->revert,
+ 0, 0,
+@@ -500,14 +528,23 @@
+ f->y_offset,
+ clipped_width,
+ clipped_height);
+-
++
++ if (area == NULL) {
++ return;
++ }
++
+ f->revert = gdk_pixbuf_copy (area);
+-
++
+ g_object_unref (area);
++
++ if (f->revert == NULL) {
++ return;
++ }
+ }
+ }
+
+- if (clipped_width > 0 && clipped_height > 0) {
++ if (clipped_width > 0 && clipped_height > 0 &&
++ f->pixbuf != NULL && f->composited != NULL) {
+ /* Put current frame onto f->composited */
+ gdk_pixbuf_composite (f->pixbuf,
+ f->composited,
+@@ -531,10 +568,6 @@
+ tmp = tmp->next;
+ }
+ }
+-
+- g_assert (frame->composited != NULL);
+- g_assert (gdk_pixbuf_get_width (frame->composited) == gif_anim->width);
+- g_assert (gdk_pixbuf_get_height (frame->composited) == gif_anim->height);
+ }
+
+ GdkPixbuf*
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff
new file mode 100644
index 0000000000..a42d0e4ac2
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff
@@ -0,0 +1,37 @@
+--- gtk+-2.6.4/gdk-pixbuf/io-gif.c 2004-11-12 07:34:31.000000000 +0200
++++ gtk+-2.6.4/gdk-pixbuf/io-gif.c 2005-04-06 16:19:35.597126776 +0300
+@@ -920,6 +920,34 @@
+
+ gdk_pixbuf_gif_anim_frame_composite (context->animation, prev_frame);
+
++ /* Composite failed */
++ if (prev_frame->composited == NULL) {
++ GdkPixbufFrame *frame = NULL;
++ link = g_list_first (context->animation->frames);
++ while (link != NULL) {
++ frame = (GdkPixbufFrame *)link->data;
++ if (frame != NULL) {
++ if (frame->pixbuf != NULL)
++ g_object_unref (frame->pixbuf);
++ if (frame->composited != NULL)
++ g_object_unref (frame->composited);
++ if (frame->revert != NULL)
++ g_object_unref (frame->revert);
++ g_free (frame);
++ }
++ link = link->next;
++ }
++
++ g_list_free (context->animation->frames);
++ context->animation->frames = NULL;
++
++ g_set_error (context->error,
++ GDK_PIXBUF_ERROR,
++ GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
++ _("Not enough memory to composite a frame in GIF file"));
++ return -2;
++ }
++
+ x = context->frame->x_offset;
+ y = context->frame->y_offset;
+ w = gdk_pixbuf_get_width (context->frame->pixbuf);
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/menu-deactivate.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/menu-deactivate.patch
new file mode 100644
index 0000000000..29e665fbf3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/menu-deactivate.patch
@@ -0,0 +1,50 @@
+--- gtk+-2.4.4/gtk/gtkmenushell.c.old Thu Aug 26 23:45:28 2004
++++ gtk+-2.4.4/gtk/gtkmenushell.c Fri Aug 27 00:13:33 2004
+@@ -37,7 +37,7 @@
+ #include "gtktearoffmenuitem.h"
+ #include "gtkwindow.h"
+
+-#define MENU_SHELL_TIMEOUT 500
++#define MENU_SHELL_TIMEOUT 2000
+
+ enum {
+ DEACTIVATE,
+@@ -156,6 +156,7 @@
+ static GtkContainerClass *parent_class = NULL;
+ static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
+
++static int last_crossing_time;
+
+ GType
+ gtk_menu_shell_get_type (void)
+@@ -418,6 +419,7 @@
+ gtk_grab_add (GTK_WIDGET (menu_shell));
+ menu_shell->have_grab = TRUE;
+ menu_shell->active = TRUE;
++ last_crossing_time = 0;
+ }
+ }
+
+@@ -545,6 +547,13 @@
+ menu_shell->activate_time = 0;
+ deactivate = FALSE;
+ }
++
++ if (last_crossing_time != 0
++ && ((event->time - last_crossing_time) < 500))
++ {
++ last_crossing_time = 0;
++ deactivate = FALSE;
++ }
+
+ if (deactivate)
+ {
+@@ -597,6 +606,8 @@
+ if (menu_shell->active)
+ {
+ menu_item = gtk_get_event_widget ((GdkEvent*) event);
++
++ last_crossing_time = event->time;
+
+ if (!menu_item ||
+ (GTK_IS_MENU_ITEM (menu_item) &&
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/no-demos.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/no-demos.patch
new file mode 100644
index 0000000000..2f10a30dda
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/no-demos.patch
@@ -0,0 +1,10 @@
+--- gtk+-2.4.1/Makefile.am~ 2004-01-17 22:15:56.000000000 +0000
++++ gtk+-2.4.1/Makefile.am 2004-05-08 12:25:32.000000000 +0100
+@@ -1,6 +1,6 @@
+ ## Makefile.am for GTK+
+
+-SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests contrib
++SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests contrib
+ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs build m4macros
+
+ # require automake 1.4
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/no-xwc.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/no-xwc.patch
new file mode 100644
index 0000000000..affb4a303e
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/no-xwc.patch
@@ -0,0 +1,151 @@
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2004-11-30 14:57:14 +00:00
++++ gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2005-01-02 15:38:06 +00:00
+@@ -576,12 +576,14 @@
+ GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2);
+ }
+ }
++#ifdef HAVE_XWC
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font);
+ XmbDrawString (xdisplay, impl->xid,
+ fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length);
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+@@ -613,6 +615,7 @@
+ GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length);
+ g_free (text_8bit);
+ }
++#ifdef HAVE_XWC
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+@@ -633,6 +636,7 @@
+ g_free (text_wchar);
+ }
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c gtk+-2.6.0/gdk/x11/gdkfont-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2004-08-26 01:23:46 +01:00
++++ gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2005-01-02 15:45:39 +00:00
+@@ -525,10 +525,12 @@
+ width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2);
+ }
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ width = XmbTextEscapement (fontset, text, text_length);
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -578,6 +580,7 @@
+ width = 0;
+ }
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+ {
+@@ -595,6 +598,7 @@
+ g_free (text_wchar);
+ }
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -667,6 +671,7 @@
+ if (descent)
+ *descent = overall.descent;
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ XmbTextExtents (fontset, text, text_length, &ink, &logical);
+@@ -681,6 +686,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+@@ -753,6 +759,7 @@
+ *descent = overall.descent;
+ break;
+ }
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+
+@@ -780,6 +787,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c gtk+-2.6.0/gdk/x11/gdkim-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c 2004-11-17 00:55:10 +00:00
++++ gtk+-2.6.0/gdk/x11/gdkim-x11.c 2005-01-02 15:42:04 +00:00
+@@ -48,6 +48,7 @@
+ void
+ _gdk_x11_initialize_locale (void)
+ {
++#ifdef HAVE_XWC
+ wchar_t result;
+ gchar *current_locale;
+ static char *last_locale = NULL;
+@@ -93,7 +94,8 @@
+ GDK_NOTE (XIM,
+ g_message ("%s multi-byte string functions.",
+ gdk_use_mb ? "Using" : "Not using"));
+-
++#endif
++
+ return;
+ }
+
+@@ -136,6 +138,7 @@
+ {
+ gchar *mbstr;
+
++#ifdef HAVE_XWC
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -178,6 +181,7 @@
+ XFree (tpr.value);
+ }
+ else
++#endif
+ {
+ gint length = 0;
+ gint i;
+@@ -210,6 +214,7 @@
+ gint
+ gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max)
+ {
++#ifdef HAVE_XWC
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -242,6 +247,7 @@
+ return len_cpy;
+ }
+ else
++#endif
+ {
+ gint i;
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/scroll-timings.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/scroll-timings.patch
new file mode 100644
index 0000000000..a38b21dcc2
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/scroll-timings.patch
@@ -0,0 +1,15 @@
+--- gtk+-2.4.4/gtk/gtkrange.c~ 2004-08-23 01:50:22.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkrange.c 2004-08-27 15:48:49.000000000 +0100
+@@ -35,9 +35,9 @@
+ #include "gtkintl.h"
+ #include "gtkscrollbar.h"
+
+-#define SCROLL_INITIAL_DELAY 250 /* must hold button this long before ... */
+-#define SCROLL_LATER_DELAY 100 /* ... it starts repeating at this rate */
+-#define UPDATE_DELAY 300 /* Delay for queued update */
++#define SCROLL_INITIAL_DELAY 500 /* must hold button this long before ... */
++#define SCROLL_LATER_DELAY 200 /* ... it starts repeating at this rate */
++#define UPDATE_DELAY 1000 /* Delay for queued update */
+
+ enum {
+ PROP_0,
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/single-click.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/single-click.patch
new file mode 100644
index 0000000000..3bb208d4d6
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/single-click.patch
@@ -0,0 +1,54 @@
+diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c gtk+-2.6.3/gtk/gtkcalendar.c
+--- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 16:57:04 +01:00
++++ gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 20:05:18 +01:00
+@@ -1023,9 +1023,11 @@
+ }
+
+ gtk_calendar_select_and_focus_day (calendar, day);
+- }
++
++ // This change causes the calendar to disappear after choosing a day
++/* }
+ else if (event->type == GDK_2BUTTON_PRESS)
+- {
++ {*/
+ private_data->in_drag = 0;
+ if (day_month == MONTH_CURRENT)
+ g_signal_emit (calendar,
+diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c gtk+-2.6.3/gtk/gtkfilesel.c
+--- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-06 16:57:07 +01:00
++++ gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-07 13:40:32 +01:00
+@@ -2468,6 +2468,33 @@
+ if (fs->last_selected != NULL)
+ g_free (fs->last_selected);
+
++ // Single-click directory entry
++ if (new_names->len == 1)
++ {
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++ gboolean is_file;
++
++ tree_view = gtk_tree_selection_get_tree_view (selection);
++
++ if (gtk_tree_selection_get_selected (selection, &model, &iter))
++ {
++ path = gtk_tree_model_get_path (model, &iter);
++ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
++
++ if (!is_file)
++ {
++ gtk_file_selection_dir_activate (tree_view, path,
++ gtk_tree_view_get_column (tree_view, DIR_COLUMN),
++ user_data);
++ }
++
++ gtk_tree_path_free (path);
++ }
++ }
++
+ fs->last_selected = g_strdup (g_ptr_array_index (new_names, index));
+ filename = get_real_filename (fs->last_selected, FALSE);
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/small-gtkfilesel.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/small-gtkfilesel.patch
new file mode 100644
index 0000000000..20bf4cf366
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/small-gtkfilesel.patch
@@ -0,0 +1,267 @@
+diff -urNd ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c gtk+-2.4.4/gtk/gtkfilesel.c
+--- ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c 2004-07-10 05:02:10.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkfilesel.c 2004-09-13 13:40:09.000000000 +0100
+@@ -68,6 +68,7 @@
+ #include "gtkprivate.h"
+ #include "gtkscrolledwindow.h"
+ #include "gtkstock.h"
++#include "gtksignal.h"
+ #include "gtktreeselection.h"
+ #include "gtktreeview.h"
+ #include "gtkvbox.h"
+@@ -77,6 +78,7 @@
+ #include "gtkmessagedialog.h"
+ #include "gtkdnd.h"
+ #include "gtkeventbox.h"
++#include "gtkimage.h"
+
+ #undef GTK_DISABLE_DEPRECATED
+ #include "gtkoptionmenu.h"
+@@ -245,7 +247,8 @@
+ };
+
+ enum {
+- DIR_COLUMN
++ DIR_COLUMN,
++ ISFILE_COLUMN
+ };
+
+ enum {
+@@ -400,6 +403,12 @@
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+ gpointer user_data);
++
++static void gtk_file_selection_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ gpointer user_data);
++
+ static void gtk_file_selection_file_changed (GtkTreeSelection *selection,
+ gpointer user_data);
+ static void gtk_file_selection_dir_activate (GtkTreeView *tree_view,
+@@ -419,6 +428,7 @@
+ static void gtk_file_selection_create_dir (GtkWidget *widget, gpointer data);
+ static void gtk_file_selection_delete_file (GtkWidget *widget, gpointer data);
+ static void gtk_file_selection_rename_file (GtkWidget *widget, gpointer data);
++static void gtk_file_selection_style_set (GtkWidget *widget, GtkStyle *prev_style);
+
+ static void free_selected_names (GPtrArray *names);
+
+@@ -578,6 +588,23 @@
+ G_PARAM_WRITABLE));
+ object_class->destroy = gtk_file_selection_destroy;
+ widget_class->map = gtk_file_selection_map;
++ widget_class->style_set = gtk_file_selection_style_set;
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("show_fileops_default",
++ _("Show fileop buttons by default"),
++ _("Whether file operation buttons are shown by default"),
++ TRUE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("border_width",
++ _("Border width"),
++ _("Width of border around the main dialog area"),
++ 0,
++ G_MAXINT,
++ 10,
++ G_PARAM_READABLE));
+ }
+
+ static void gtk_file_selection_set_property (GObject *object,
+@@ -649,7 +676,29 @@
+ gtk_widget_grab_default (widget);
+ return FALSE;
+ }
+-
++
++static void
++gtk_file_selection_style_set (GtkWidget *filesel,
++ GtkStyle *prev_style)
++{
++ gboolean show_fileops;
++ gint border_width;
++
++ gtk_widget_style_get (filesel,
++ "show_fileops_default",
++ &show_fileops,
++ "border_width",
++ &border_width,
++ NULL);
++
++ gtk_container_set_border_width (GTK_CONTAINER (filesel), border_width);
++
++ if (show_fileops)
++ gtk_file_selection_show_fileop_buttons (GTK_FILE_SELECTION (filesel));
++ else
++ gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (filesel));
++}
++
+ static void
+ gtk_file_selection_init (GtkFileSelection *filesel)
+ {
+@@ -674,17 +723,15 @@
+
+ /* The dialog-sized vertical box */
+ filesel->main_vbox = dialog->vbox;
+- gtk_container_set_border_width (GTK_CONTAINER (filesel), 10);
+
+ /* The horizontal box containing create, rename etc. buttons */
+ filesel->button_area = gtk_hbutton_box_new ();
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (filesel->button_area), GTK_BUTTONBOX_START);
+- gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0);
+ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->button_area,
+ FALSE, FALSE, 0);
+ gtk_widget_show (filesel->button_area);
+
+- gtk_file_selection_show_fileop_buttons (filesel);
++ gtk_file_selection_style_set (GTK_WIDGET (filesel), NULL);
+
+ /* hbox for pulldown menu */
+ pulldown_hbox = gtk_hbox_new (TRUE, 5);
+@@ -723,25 +770,32 @@
+
+ /* The directories list */
+
+- model = gtk_list_store_new (1, G_TYPE_STRING);
++ model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); /* MA */
+ filesel->dir_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+ g_object_unref (model);
+
+- column = gtk_tree_view_column_new_with_attributes (_("Folders"),
++ column = gtk_tree_view_column_new_with_attributes (/*_("Folders")*/ NULL,
+ gtk_cell_renderer_text_new (),
+ "text", DIR_COLUMN,
+ NULL);
+ label = gtk_label_new_with_mnemonic (_("Fol_ders"));
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->dir_list);
+ gtk_widget_show (label);
+- gtk_tree_view_column_set_widget (column, label);
++
++ /* gtk_tree_view_column_set_widget (column, label); */
++ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (filesel->dir_list), FALSE);
++
+ gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->dir_list), column);
+
+ gtk_widget_set_size_request (filesel->dir_list,
+ DIR_LIST_WIDTH, DIR_LIST_HEIGHT);
+ g_signal_connect (filesel->dir_list, "row_activated",
+- G_CALLBACK (gtk_file_selection_dir_activate), filesel);
++ G_CALLBACK (gtk_file_selection_activate), filesel);
++
++ g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->dir_list)), "changed",
++ G_CALLBACK (gtk_file_selection_file_changed), filesel);
++
+
+ /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list)); */
+
+@@ -758,41 +812,6 @@
+ gtk_widget_show (filesel->dir_list);
+ gtk_widget_show (scrolled_win);
+
+- /* The files list */
+- model = gtk_list_store_new (1, G_TYPE_STRING);
+- filesel->file_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+- g_object_unref (model);
+-
+- column = gtk_tree_view_column_new_with_attributes (_("Files"),
+- gtk_cell_renderer_text_new (),
+- "text", FILE_COLUMN,
+- NULL);
+- label = gtk_label_new_with_mnemonic (_("_Files"));
+- gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->file_list);
+- gtk_widget_show (label);
+- gtk_tree_view_column_set_widget (column, label);
+- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+- gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->file_list), column);
+-
+- gtk_widget_set_size_request (filesel->file_list,
+- FILE_LIST_WIDTH, FILE_LIST_HEIGHT);
+- g_signal_connect (filesel->file_list, "row_activated",
+- G_CALLBACK (gtk_file_selection_file_activate), filesel);
+- g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->file_list)), "changed",
+- G_CALLBACK (gtk_file_selection_file_changed), filesel);
+-
+- /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->file_list)); */
+-
+- scrolled_win = gtk_scrolled_window_new (NULL, NULL);
+- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), GTK_SHADOW_IN);
+- gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->file_list);
+- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
+- GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+- gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 0);
+- gtk_container_add (GTK_CONTAINER (list_container), scrolled_win);
+- gtk_widget_show (filesel->file_list);
+- gtk_widget_show (scrolled_win);
+-
+ /* action area for packing buttons into. */
+ filesel->action_area = gtk_hbox_new (TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->action_area,
+@@ -2008,6 +2027,23 @@
+ }
+
+ static void
++gtk_file_selection_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ gpointer user_data)
++{
++ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
++ GtkTreeIter iter;
++ gboolean is_file;
++
++ gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
++
++ if (! is_file)
++ gtk_file_selection_dir_activate (tree_view, path, column, user_data);
++}
++
++static void
+ gtk_file_selection_file_activate (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+@@ -2103,7 +2139,6 @@
+ PossibleCompletion* poss;
+ GtkTreeIter iter;
+ GtkListStore *dir_model;
+- GtkListStore *file_model;
+ gchar* filename;
+ gchar* rem_path = rel_path;
+ gchar* sel_text;
+@@ -2125,10 +2160,8 @@
+ g_assert (cmpl_state->reference_dir);
+
+ dir_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->dir_list)));
+- file_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->file_list)));
+
+ gtk_list_store_clear (dir_model);
+- gtk_list_store_clear (file_model);
+
+ /* Set the dir list to include ./ and ../ */
+ gtk_list_store_append (dir_model, &iter);
+@@ -2150,13 +2183,17 @@
+ strcmp (filename, ".." G_DIR_SEPARATOR_S) != 0)
+ {
+ gtk_list_store_append (dir_model, &iter);
+- gtk_list_store_set (dir_model, &iter, DIR_COLUMN, filename, -1);
++ gtk_list_store_set (dir_model, &iter,
++ DIR_COLUMN, filename,
++ ISFILE_COLUMN, FALSE, -1);
+ }
+ }
+ else
+ {
+- gtk_list_store_append (file_model, &iter);
+- gtk_list_store_set (file_model, &iter, DIR_COLUMN, filename, -1);
++ gtk_list_store_append (dir_model, &iter);
++ gtk_list_store_set (dir_model, &iter,
++ DIR_COLUMN, filename,
++ ISFILE_COLUMN, TRUE, -1);
+ }
+ }
+
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/spinbutton.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/spinbutton.patch
new file mode 100644
index 0000000000..8ad7507af0
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/spinbutton.patch
@@ -0,0 +1,128 @@
+--- gtk+-2.4.3/gtk/gtkspinbutton.c.old 2004-04-22 14:49:27.000000000 +0100
++++ gtk+-2.4.3/gtk/gtkspinbutton.c 2004-06-30 21:48:18.000000000 +0100
+@@ -733,7 +733,7 @@
+
+ spin = GTK_SPIN_BUTTON (widget);
+ arrow_size = spin_button_get_arrow_size (spin);
+- panel_width = arrow_size + 2 * widget->style->xthickness;
++ panel_width = (2 * arrow_size) + 4 * widget->style->xthickness;
+
+ widget->allocation = *allocation;
+
+@@ -866,19 +866,16 @@
+ {
+ width = spin_button_get_arrow_size (spin_button) + 2 * widget->style->xthickness;
+
++ y = widget->style->ythickness;
++ height = widget->requisition.height - (2 * y);
++
+ if (arrow_type == GTK_ARROW_UP)
+ {
+ x = 0;
+- y = 0;
+-
+- height = widget->requisition.height / 2;
+ }
+ else
+ {
+- x = 0;
+- y = widget->requisition.height / 2;
+-
+- height = (widget->requisition.height + 1) / 2;
++ x = width;
+ }
+
+ if (spin_button_at_limit (spin_button, arrow_type))
+@@ -908,32 +905,17 @@
+ shadow_type = GTK_SHADOW_OUT;
+ }
+ }
+-
++
+ gtk_paint_box (widget->style, spin_button->panel,
+ state_type, shadow_type,
+ NULL, widget,
+- (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down",
++ NULL,
+ x, y, width, height);
+
+ height = widget->requisition.height;
+
+- if (arrow_type == GTK_ARROW_DOWN)
+- {
+- y = height / 2;
+- height = height - y - 2;
+- }
+- else
+- {
+- y = 2;
+- height = height / 2 - 2;
+- }
+-
+ width -= 3;
+-
+- if (widget && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+- x = 2;
+- else
+- x = 1;
++ height -= 3;
+
+ w = width / 2;
+ w -= w % 2 - 1; /* force odd */
+@@ -1108,7 +1090,7 @@
+ if (GTK_ENTRY (widget)->editable)
+ gtk_spin_button_update (spin);
+
+- if (event->y <= widget->requisition.height / 2)
++ if (event->x <= (spin_button_get_arrow_size (spin) + widget->style->xthickness))
+ {
+ if (event->button == 1)
+ start_spinning (spin, GTK_ARROW_UP, spin->adjustment->step_increment);
+@@ -1143,44 +1125,11 @@
+
+ arrow_size = spin_button_get_arrow_size (spin);
+
+- if (event->button == spin->button)
+- {
+- int click_child = spin->click_child;
++ gtk_spin_button_stop_spinning (spin);
+
+- gtk_spin_button_stop_spinning (spin);
+-
+- if (event->button == 3)
+- {
+- if (event->y >= 0 && event->x >= 0 &&
+- event->y <= widget->requisition.height &&
+- event->x <= arrow_size + 2 * widget->style->xthickness)
+- {
+- if (click_child == GTK_ARROW_UP &&
+- event->y <= widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->upper - spin->adjustment->value;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, diff);
+- }
+- else if (click_child == GTK_ARROW_DOWN &&
+- event->y > widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->value - spin->adjustment->lower;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, -diff);
+- }
+- }
+- }
+- spin_button_redraw (spin);
++ spin_button_redraw (spin);
+
+- return TRUE;
+- }
+- else
+- return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
++ return TRUE;
+ }
+
+ static gint
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/xsettings.patch b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/xsettings.patch
new file mode 100644
index 0000000000..b63e262d34
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/xsettings.patch
@@ -0,0 +1,16 @@
+--- gtk+-2.4.4/gdk/x11/gdkevents-x11.c.old Sun Aug 22 17:14:00 2004
++++ gtk+-2.4.4/gdk/x11/gdkevents-x11.c Sun Aug 22 17:14:00 2004
+@@ -2827,10 +2827,9 @@
+ {
+ GdkScreenX11 *screen = data;
+
+- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent))
+- return GDK_FILTER_REMOVE;
+- else
+- return GDK_FILTER_CONTINUE;
++ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent);
++
++ return GDK_FILTER_CONTINUE;
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+-2.6.7/automake-lossage.patch b/meta/packages/gtk+/gtk+-2.6.7/automake-lossage.patch
new file mode 100644
index 0000000000..0d423ddbb9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/automake-lossage.patch
@@ -0,0 +1,24 @@
+--- gtk+-2.4.1/docs/tutorial/Makefile.am~ 2003-05-06 22:54:20.000000000 +0100
++++ gtk+-2.4.1/docs/tutorial/Makefile.am 2004-05-08 12:31:41.000000000 +0100
+@@ -52,21 +52,5 @@
+
+ dist-hook: html
+ cp -Rp $(srcdir)/html $(distdir)
+-else
+-html:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-pdf:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-dist-hook:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "*** DISTRIBUTION IS INCOMPLETE"
+- echo "***"
+ endif
+
diff --git a/meta/packages/gtk+/gtk+-2.6.7/disable-tooltips.patch b/meta/packages/gtk+/gtk+-2.6.7/disable-tooltips.patch
new file mode 100644
index 0000000000..d71d839c3c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/disable-tooltips.patch
@@ -0,0 +1,11 @@
+--- gtk+-2.4.3/gtk/gtktooltips.c.old 2004-07-04 18:52:04.000000000 +0100
++++ gtk+-2.4.3/gtk/gtktooltips.c 2004-07-04 18:52:08.000000000 +0100
+@@ -118,7 +118,7 @@
+ tooltips->tips_data_list = NULL;
+
+ tooltips->delay = DEFAULT_DELAY;
+- tooltips->enabled = TRUE;
++ tooltips->enabled = FALSE;
+ tooltips->timer_tag = 0;
+ tooltips->use_sticky_delay = FALSE;
+ tooltips->last_popdown.tv_sec = -1;
diff --git a/meta/packages/gtk+/gtk+-2.6.7/gtk+-handhelds.patch b/meta/packages/gtk+/gtk+-2.6.7/gtk+-handhelds.patch
new file mode 100644
index 0000000000..2c5fc39d23
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/gtk+-handhelds.patch
@@ -0,0 +1,186 @@
+--- gtk+-2.4.1/gtk/gtkcalendar.c 2004-03-06 14:37:26.000000000 +1100
++++ gtk+-2.4.1/gtk/gtkcalendar.c 2004-05-26 14:58:57.000000000 +1000
+@@ -340,6 +340,9 @@
+ static void gtk_calendar_select_and_focus_day (GtkCalendar *calendar,
+ guint day);
+
++static void gtk_calendar_do_select_day (GtkCalendar *calendar,
++ guint day);
++
+ static void gtk_calendar_paint_arrow (GtkWidget *widget,
+ guint arrow);
+ static void gtk_calendar_paint_day_num (GtkWidget *widget,
+@@ -861,13 +864,13 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+ {
+ if (calendar->selected_day < 0)
+ calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1];
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+ }
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+@@ -908,10 +911,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -939,10 +942,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -974,10 +977,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -2480,9 +2483,9 @@
+ return TRUE;
+ }
+
+-void
+-gtk_calendar_select_day (GtkCalendar *calendar,
+- guint day)
++static void
++gtk_calendar_do_select_day (GtkCalendar *calendar,
++ guint day)
+ {
+ g_return_if_fail (GTK_IS_CALENDAR (calendar));
+ g_return_if_fail (day <= 31);
+@@ -2499,6 +2502,13 @@
+ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+ gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
+ }
++}
++
++void
++gtk_calendar_select_day (GtkCalendar *calendar,
++ guint day)
++{
++ gtk_calendar_do_select_day (calendar, day);
+
+ calendar->selected_day = day;
+
+--- gtk+-2.4.1/gtk/gtkentry.c 2004-04-22 08:08:08.000000000 +1000
++++ gtk+-2.4.1/gtk/gtkentry.c 2004-05-26 14:52:17.000000000 +1000
+@@ -557,6 +557,15 @@
+ 0.0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("min_width",
++ _("Minimum width"),
++ _("Minimum width of the entry field"),
++ 0,
++ G_MAXINT,
++ MIN_ENTRY_WIDTH,
++ G_PARAM_READABLE));
++
+ signals[POPULATE_POPUP] =
+ g_signal_new ("populate_popup",
+ G_OBJECT_CLASS_TYPE (gobject_class),
+@@ -1124,7 +1133,7 @@
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
+ PangoFontMetrics *metrics;
+- gint xborder, yborder;
++ gint xborder, yborder, min_width;
+ PangoContext *context;
+
+ gtk_widget_ensure_style (widget);
+@@ -1140,9 +1149,11 @@
+
+ xborder += INNER_BORDER;
+ yborder += INNER_BORDER;
+-
++
++ gtk_widget_style_get (widget, "min_width", &min_width, NULL);
++
+ if (entry->width_chars < 0)
+- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
++ requisition->width = min_width + xborder * 2;
+ else
+ {
+ gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
+--- gtk+-2.4.1/gtk/gtkrange.c 2004-03-06 14:38:08.000000000 +1100
++++ gtk+-2.4.1/gtk/gtkrange.c 2004-05-26 14:52:17.000000000 +1000
+@@ -180,6 +180,7 @@
+ static GtkWidgetClass *parent_class = NULL;
+ static guint signals[LAST_SIGNAL];
+
++static GdkAtom recognize_protocols_atom, atom_atom;
+
+ GType
+ gtk_range_get_type (void)
+@@ -220,6 +221,9 @@
+ object_class = (GtkObjectClass*) class;
+ widget_class = (GtkWidgetClass*) class;
+
++ recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE);
++ atom_atom = gdk_atom_intern ("ATOM", FALSE);
++
+ parent_class = g_type_class_peek_parent (class);
+
+ gobject_class->set_property = gtk_range_set_property;
+@@ -815,6 +819,12 @@
+ &attributes, attributes_mask);
+ gdk_window_set_user_data (range->event_window, range);
+
++ gdk_property_change (range->event_window,
++ recognize_protocols_atom,
++ atom_atom,
++ 32, GDK_PROP_MODE_REPLACE,
++ NULL, 0);
++
+ widget->style = gtk_style_attach (widget->style, widget->window);
+ }
+
+@@ -1186,7 +1196,7 @@
+
+ /* ignore presses when we're already doing something else. */
+ if (range->layout->grab_location != MOUSE_OUTSIDE)
+- return FALSE;
++ return TRUE;
+
+ range->layout->mouse_x = event->x;
+ range->layout->mouse_y = event->y;
+@@ -1364,7 +1374,7 @@
+ return TRUE;
+ }
+
+- return FALSE;
++ return TRUE;
+ }
+
+ /**
diff --git a/meta/packages/gtk+/gtk+-2.6.7/gtklabel-center.patch b/meta/packages/gtk+/gtk+-2.6.7/gtklabel-center.patch
new file mode 100644
index 0000000000..b368cb4b7c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/gtklabel-center.patch
@@ -0,0 +1,13 @@
+--- gtk+-2.6.7/gtk/gtklabel.c~ 2006-05-25 15:35:15.000000000 +0100
++++ gtk+-2.6.7/gtk/gtklabel.c 2006-05-30 11:40:37.000000000 +0100
+@@ -2185,8 +2185,8 @@
+ req_width - misc->xpad);
+
+ y = floor (widget->allocation.y + (gint)misc->ypad
+- + MAX (((widget->allocation.height - widget->requisition.height) * misc->yalign)
+- + 0.5, 0));
++ + ((widget->allocation.height - widget->requisition.height) * misc->yalign)
++ + 0.5);
+
+ if (xp)
+ *xp = x;
diff --git a/meta/packages/gtk+/gtk+-2.6.7/gtklabel-resize-patch b/meta/packages/gtk+/gtk+-2.6.7/gtklabel-resize-patch
new file mode 100644
index 0000000000..df29656343
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/gtklabel-resize-patch
@@ -0,0 +1,10 @@
+--- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100
++++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100
+@@ -1623,6 +1623,7 @@
+
+ /* We have to clear the layout, fonts etc. may have changed */
+ gtk_label_clear_layout (label);
++ gtk_widget_queue_resize (GTK_WIDGET (label));
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+-2.6.7/hardcoded_libtool.patch b/meta/packages/gtk+/gtk+-2.6.7/hardcoded_libtool.patch
new file mode 100644
index 0000000000..b2afddcc61
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/hardcoded_libtool.patch
@@ -0,0 +1,29 @@
+--- gtk+-2.6.0/configure.in.old 2005-01-01 16:23:45.000000000 +0000
++++ gtk+-2.6.0/configure.in 2005-01-01 16:24:03.000000000 +0000
+@@ -360,7 +360,7 @@
+ AC_MSG_CHECKING([Whether to write dependencies into .pc files])
+ case $enable_explicit_deps in
+ auto)
+- deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
++ deplib_check_method=`($host_alias-libtool --config; echo eval echo \\$deplib_check_method) | sh`
+ if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+@@ -688,7 +688,7 @@
+ dnl Now we check to see if our libtool supports shared lib deps
+ dnl (in a rather ugly way even)
+ if $dynworks; then
+- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
+ pixbuf_deplibs_check=`$pixbuf_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1512,7 +1512,7 @@
+ #
+ # We are using gmodule-no-export now, but I'm leaving the stripping
+ # code in place for now, since pango and atk still require gmodule.
+-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ if test -n "$export_dynamic"; then
+ GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta/packages/gtk+/gtk+-2.6.7/menu-deactivate.patch b/meta/packages/gtk+/gtk+-2.6.7/menu-deactivate.patch
new file mode 100644
index 0000000000..29e665fbf3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/menu-deactivate.patch
@@ -0,0 +1,50 @@
+--- gtk+-2.4.4/gtk/gtkmenushell.c.old Thu Aug 26 23:45:28 2004
++++ gtk+-2.4.4/gtk/gtkmenushell.c Fri Aug 27 00:13:33 2004
+@@ -37,7 +37,7 @@
+ #include "gtktearoffmenuitem.h"
+ #include "gtkwindow.h"
+
+-#define MENU_SHELL_TIMEOUT 500
++#define MENU_SHELL_TIMEOUT 2000
+
+ enum {
+ DEACTIVATE,
+@@ -156,6 +156,7 @@
+ static GtkContainerClass *parent_class = NULL;
+ static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
+
++static int last_crossing_time;
+
+ GType
+ gtk_menu_shell_get_type (void)
+@@ -418,6 +419,7 @@
+ gtk_grab_add (GTK_WIDGET (menu_shell));
+ menu_shell->have_grab = TRUE;
+ menu_shell->active = TRUE;
++ last_crossing_time = 0;
+ }
+ }
+
+@@ -545,6 +547,13 @@
+ menu_shell->activate_time = 0;
+ deactivate = FALSE;
+ }
++
++ if (last_crossing_time != 0
++ && ((event->time - last_crossing_time) < 500))
++ {
++ last_crossing_time = 0;
++ deactivate = FALSE;
++ }
+
+ if (deactivate)
+ {
+@@ -597,6 +606,8 @@
+ if (menu_shell->active)
+ {
+ menu_item = gtk_get_event_widget ((GdkEvent*) event);
++
++ last_crossing_time = event->time;
+
+ if (!menu_item ||
+ (GTK_IS_MENU_ITEM (menu_item) &&
diff --git a/meta/packages/gtk+/gtk+-2.6.7/no-demos.patch b/meta/packages/gtk+/gtk+-2.6.7/no-demos.patch
new file mode 100644
index 0000000000..2f10a30dda
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/no-demos.patch
@@ -0,0 +1,10 @@
+--- gtk+-2.4.1/Makefile.am~ 2004-01-17 22:15:56.000000000 +0000
++++ gtk+-2.4.1/Makefile.am 2004-05-08 12:25:32.000000000 +0100
+@@ -1,6 +1,6 @@
+ ## Makefile.am for GTK+
+
+-SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests contrib
++SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests contrib
+ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs build m4macros
+
+ # require automake 1.4
diff --git a/meta/packages/gtk+/gtk+-2.6.7/no-xwc.patch b/meta/packages/gtk+/gtk+-2.6.7/no-xwc.patch
new file mode 100644
index 0000000000..affb4a303e
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/no-xwc.patch
@@ -0,0 +1,151 @@
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2004-11-30 14:57:14 +00:00
++++ gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2005-01-02 15:38:06 +00:00
+@@ -576,12 +576,14 @@
+ GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2);
+ }
+ }
++#ifdef HAVE_XWC
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font);
+ XmbDrawString (xdisplay, impl->xid,
+ fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length);
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+@@ -613,6 +615,7 @@
+ GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length);
+ g_free (text_8bit);
+ }
++#ifdef HAVE_XWC
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+@@ -633,6 +636,7 @@
+ g_free (text_wchar);
+ }
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c gtk+-2.6.0/gdk/x11/gdkfont-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2004-08-26 01:23:46 +01:00
++++ gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2005-01-02 15:45:39 +00:00
+@@ -525,10 +525,12 @@
+ width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2);
+ }
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ width = XmbTextEscapement (fontset, text, text_length);
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -578,6 +580,7 @@
+ width = 0;
+ }
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+ {
+@@ -595,6 +598,7 @@
+ g_free (text_wchar);
+ }
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -667,6 +671,7 @@
+ if (descent)
+ *descent = overall.descent;
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ XmbTextExtents (fontset, text, text_length, &ink, &logical);
+@@ -681,6 +686,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+@@ -753,6 +759,7 @@
+ *descent = overall.descent;
+ break;
+ }
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+
+@@ -780,6 +787,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c gtk+-2.6.0/gdk/x11/gdkim-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c 2004-11-17 00:55:10 +00:00
++++ gtk+-2.6.0/gdk/x11/gdkim-x11.c 2005-01-02 15:42:04 +00:00
+@@ -48,6 +48,7 @@
+ void
+ _gdk_x11_initialize_locale (void)
+ {
++#ifdef HAVE_XWC
+ wchar_t result;
+ gchar *current_locale;
+ static char *last_locale = NULL;
+@@ -93,7 +94,8 @@
+ GDK_NOTE (XIM,
+ g_message ("%s multi-byte string functions.",
+ gdk_use_mb ? "Using" : "Not using"));
+-
++#endif
++
+ return;
+ }
+
+@@ -136,6 +138,7 @@
+ {
+ gchar *mbstr;
+
++#ifdef HAVE_XWC
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -178,6 +181,7 @@
+ XFree (tpr.value);
+ }
+ else
++#endif
+ {
+ gint length = 0;
+ gint i;
+@@ -210,6 +214,7 @@
+ gint
+ gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max)
+ {
++#ifdef HAVE_XWC
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -242,6 +247,7 @@
+ return len_cpy;
+ }
+ else
++#endif
+ {
+ gint i;
+
diff --git a/meta/packages/gtk+/gtk+-2.6.7/scroll-timings.patch b/meta/packages/gtk+/gtk+-2.6.7/scroll-timings.patch
new file mode 100644
index 0000000000..a38b21dcc2
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/scroll-timings.patch
@@ -0,0 +1,15 @@
+--- gtk+-2.4.4/gtk/gtkrange.c~ 2004-08-23 01:50:22.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkrange.c 2004-08-27 15:48:49.000000000 +0100
+@@ -35,9 +35,9 @@
+ #include "gtkintl.h"
+ #include "gtkscrollbar.h"
+
+-#define SCROLL_INITIAL_DELAY 250 /* must hold button this long before ... */
+-#define SCROLL_LATER_DELAY 100 /* ... it starts repeating at this rate */
+-#define UPDATE_DELAY 300 /* Delay for queued update */
++#define SCROLL_INITIAL_DELAY 500 /* must hold button this long before ... */
++#define SCROLL_LATER_DELAY 200 /* ... it starts repeating at this rate */
++#define UPDATE_DELAY 1000 /* Delay for queued update */
+
+ enum {
+ PROP_0,
diff --git a/meta/packages/gtk+/gtk+-2.6.7/single-click.patch b/meta/packages/gtk+/gtk+-2.6.7/single-click.patch
new file mode 100644
index 0000000000..3bb208d4d6
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/single-click.patch
@@ -0,0 +1,54 @@
+diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c gtk+-2.6.3/gtk/gtkcalendar.c
+--- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 16:57:04 +01:00
++++ gtk+-2.6.3/gtk/gtkcalendar.c 2005-04-06 20:05:18 +01:00
+@@ -1023,9 +1023,11 @@
+ }
+
+ gtk_calendar_select_and_focus_day (calendar, day);
+- }
++
++ // This change causes the calendar to disappear after choosing a day
++/* }
+ else if (event->type == GDK_2BUTTON_PRESS)
+- {
++ {*/
+ private_data->in_drag = 0;
+ if (day_month == MONTH_CURRENT)
+ g_signal_emit (calendar,
+diff -urNd ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c gtk+-2.6.3/gtk/gtkfilesel.c
+--- ../gtk+-2.6.3-r0.old/gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-06 16:57:07 +01:00
++++ gtk+-2.6.3/gtk/gtkfilesel.c 2005-04-07 13:40:32 +01:00
+@@ -2468,6 +2468,33 @@
+ if (fs->last_selected != NULL)
+ g_free (fs->last_selected);
+
++ // Single-click directory entry
++ if (new_names->len == 1)
++ {
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++ gboolean is_file;
++
++ tree_view = gtk_tree_selection_get_tree_view (selection);
++
++ if (gtk_tree_selection_get_selected (selection, &model, &iter))
++ {
++ path = gtk_tree_model_get_path (model, &iter);
++ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
++
++ if (!is_file)
++ {
++ gtk_file_selection_dir_activate (tree_view, path,
++ gtk_tree_view_get_column (tree_view, DIR_COLUMN),
++ user_data);
++ }
++
++ gtk_tree_path_free (path);
++ }
++ }
++
+ fs->last_selected = g_strdup (g_ptr_array_index (new_names, index));
+ filename = get_real_filename (fs->last_selected, FALSE);
+
diff --git a/meta/packages/gtk+/gtk+-2.6.7/small-gtkfilesel.patch b/meta/packages/gtk+/gtk+-2.6.7/small-gtkfilesel.patch
new file mode 100644
index 0000000000..20bf4cf366
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/small-gtkfilesel.patch
@@ -0,0 +1,267 @@
+diff -urNd ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c gtk+-2.4.4/gtk/gtkfilesel.c
+--- ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c 2004-07-10 05:02:10.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkfilesel.c 2004-09-13 13:40:09.000000000 +0100
+@@ -68,6 +68,7 @@
+ #include "gtkprivate.h"
+ #include "gtkscrolledwindow.h"
+ #include "gtkstock.h"
++#include "gtksignal.h"
+ #include "gtktreeselection.h"
+ #include "gtktreeview.h"
+ #include "gtkvbox.h"
+@@ -77,6 +78,7 @@
+ #include "gtkmessagedialog.h"
+ #include "gtkdnd.h"
+ #include "gtkeventbox.h"
++#include "gtkimage.h"
+
+ #undef GTK_DISABLE_DEPRECATED
+ #include "gtkoptionmenu.h"
+@@ -245,7 +247,8 @@
+ };
+
+ enum {
+- DIR_COLUMN
++ DIR_COLUMN,
++ ISFILE_COLUMN
+ };
+
+ enum {
+@@ -400,6 +403,12 @@
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+ gpointer user_data);
++
++static void gtk_file_selection_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ gpointer user_data);
++
+ static void gtk_file_selection_file_changed (GtkTreeSelection *selection,
+ gpointer user_data);
+ static void gtk_file_selection_dir_activate (GtkTreeView *tree_view,
+@@ -419,6 +428,7 @@
+ static void gtk_file_selection_create_dir (GtkWidget *widget, gpointer data);
+ static void gtk_file_selection_delete_file (GtkWidget *widget, gpointer data);
+ static void gtk_file_selection_rename_file (GtkWidget *widget, gpointer data);
++static void gtk_file_selection_style_set (GtkWidget *widget, GtkStyle *prev_style);
+
+ static void free_selected_names (GPtrArray *names);
+
+@@ -578,6 +588,23 @@
+ G_PARAM_WRITABLE));
+ object_class->destroy = gtk_file_selection_destroy;
+ widget_class->map = gtk_file_selection_map;
++ widget_class->style_set = gtk_file_selection_style_set;
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("show_fileops_default",
++ _("Show fileop buttons by default"),
++ _("Whether file operation buttons are shown by default"),
++ TRUE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("border_width",
++ _("Border width"),
++ _("Width of border around the main dialog area"),
++ 0,
++ G_MAXINT,
++ 10,
++ G_PARAM_READABLE));
+ }
+
+ static void gtk_file_selection_set_property (GObject *object,
+@@ -649,7 +676,29 @@
+ gtk_widget_grab_default (widget);
+ return FALSE;
+ }
+-
++
++static void
++gtk_file_selection_style_set (GtkWidget *filesel,
++ GtkStyle *prev_style)
++{
++ gboolean show_fileops;
++ gint border_width;
++
++ gtk_widget_style_get (filesel,
++ "show_fileops_default",
++ &show_fileops,
++ "border_width",
++ &border_width,
++ NULL);
++
++ gtk_container_set_border_width (GTK_CONTAINER (filesel), border_width);
++
++ if (show_fileops)
++ gtk_file_selection_show_fileop_buttons (GTK_FILE_SELECTION (filesel));
++ else
++ gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (filesel));
++}
++
+ static void
+ gtk_file_selection_init (GtkFileSelection *filesel)
+ {
+@@ -674,17 +723,15 @@
+
+ /* The dialog-sized vertical box */
+ filesel->main_vbox = dialog->vbox;
+- gtk_container_set_border_width (GTK_CONTAINER (filesel), 10);
+
+ /* The horizontal box containing create, rename etc. buttons */
+ filesel->button_area = gtk_hbutton_box_new ();
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (filesel->button_area), GTK_BUTTONBOX_START);
+- gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0);
+ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->button_area,
+ FALSE, FALSE, 0);
+ gtk_widget_show (filesel->button_area);
+
+- gtk_file_selection_show_fileop_buttons (filesel);
++ gtk_file_selection_style_set (GTK_WIDGET (filesel), NULL);
+
+ /* hbox for pulldown menu */
+ pulldown_hbox = gtk_hbox_new (TRUE, 5);
+@@ -723,25 +770,32 @@
+
+ /* The directories list */
+
+- model = gtk_list_store_new (1, G_TYPE_STRING);
++ model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); /* MA */
+ filesel->dir_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+ g_object_unref (model);
+
+- column = gtk_tree_view_column_new_with_attributes (_("Folders"),
++ column = gtk_tree_view_column_new_with_attributes (/*_("Folders")*/ NULL,
+ gtk_cell_renderer_text_new (),
+ "text", DIR_COLUMN,
+ NULL);
+ label = gtk_label_new_with_mnemonic (_("Fol_ders"));
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->dir_list);
+ gtk_widget_show (label);
+- gtk_tree_view_column_set_widget (column, label);
++
++ /* gtk_tree_view_column_set_widget (column, label); */
++ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (filesel->dir_list), FALSE);
++
+ gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->dir_list), column);
+
+ gtk_widget_set_size_request (filesel->dir_list,
+ DIR_LIST_WIDTH, DIR_LIST_HEIGHT);
+ g_signal_connect (filesel->dir_list, "row_activated",
+- G_CALLBACK (gtk_file_selection_dir_activate), filesel);
++ G_CALLBACK (gtk_file_selection_activate), filesel);
++
++ g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->dir_list)), "changed",
++ G_CALLBACK (gtk_file_selection_file_changed), filesel);
++
+
+ /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list)); */
+
+@@ -758,41 +812,6 @@
+ gtk_widget_show (filesel->dir_list);
+ gtk_widget_show (scrolled_win);
+
+- /* The files list */
+- model = gtk_list_store_new (1, G_TYPE_STRING);
+- filesel->file_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+- g_object_unref (model);
+-
+- column = gtk_tree_view_column_new_with_attributes (_("Files"),
+- gtk_cell_renderer_text_new (),
+- "text", FILE_COLUMN,
+- NULL);
+- label = gtk_label_new_with_mnemonic (_("_Files"));
+- gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->file_list);
+- gtk_widget_show (label);
+- gtk_tree_view_column_set_widget (column, label);
+- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+- gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->file_list), column);
+-
+- gtk_widget_set_size_request (filesel->file_list,
+- FILE_LIST_WIDTH, FILE_LIST_HEIGHT);
+- g_signal_connect (filesel->file_list, "row_activated",
+- G_CALLBACK (gtk_file_selection_file_activate), filesel);
+- g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->file_list)), "changed",
+- G_CALLBACK (gtk_file_selection_file_changed), filesel);
+-
+- /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->file_list)); */
+-
+- scrolled_win = gtk_scrolled_window_new (NULL, NULL);
+- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), GTK_SHADOW_IN);
+- gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->file_list);
+- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
+- GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+- gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 0);
+- gtk_container_add (GTK_CONTAINER (list_container), scrolled_win);
+- gtk_widget_show (filesel->file_list);
+- gtk_widget_show (scrolled_win);
+-
+ /* action area for packing buttons into. */
+ filesel->action_area = gtk_hbox_new (TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->action_area,
+@@ -2008,6 +2027,23 @@
+ }
+
+ static void
++gtk_file_selection_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ gpointer user_data)
++{
++ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
++ GtkTreeIter iter;
++ gboolean is_file;
++
++ gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
++
++ if (! is_file)
++ gtk_file_selection_dir_activate (tree_view, path, column, user_data);
++}
++
++static void
+ gtk_file_selection_file_activate (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+@@ -2103,7 +2139,6 @@
+ PossibleCompletion* poss;
+ GtkTreeIter iter;
+ GtkListStore *dir_model;
+- GtkListStore *file_model;
+ gchar* filename;
+ gchar* rem_path = rel_path;
+ gchar* sel_text;
+@@ -2125,10 +2160,8 @@
+ g_assert (cmpl_state->reference_dir);
+
+ dir_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->dir_list)));
+- file_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->file_list)));
+
+ gtk_list_store_clear (dir_model);
+- gtk_list_store_clear (file_model);
+
+ /* Set the dir list to include ./ and ../ */
+ gtk_list_store_append (dir_model, &iter);
+@@ -2150,13 +2183,17 @@
+ strcmp (filename, ".." G_DIR_SEPARATOR_S) != 0)
+ {
+ gtk_list_store_append (dir_model, &iter);
+- gtk_list_store_set (dir_model, &iter, DIR_COLUMN, filename, -1);
++ gtk_list_store_set (dir_model, &iter,
++ DIR_COLUMN, filename,
++ ISFILE_COLUMN, FALSE, -1);
+ }
+ }
+ else
+ {
+- gtk_list_store_append (file_model, &iter);
+- gtk_list_store_set (file_model, &iter, DIR_COLUMN, filename, -1);
++ gtk_list_store_append (dir_model, &iter);
++ gtk_list_store_set (dir_model, &iter,
++ DIR_COLUMN, filename,
++ ISFILE_COLUMN, TRUE, -1);
+ }
+ }
+
diff --git a/meta/packages/gtk+/gtk+-2.6.7/spinbutton.patch b/meta/packages/gtk+/gtk+-2.6.7/spinbutton.patch
new file mode 100644
index 0000000000..8ad7507af0
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.7/spinbutton.patch
@@ -0,0 +1,128 @@
+--- gtk+-2.4.3/gtk/gtkspinbutton.c.old 2004-04-22 14:49:27.000000000 +0100
++++ gtk+-2.4.3/gtk/gtkspinbutton.c 2004-06-30 21:48:18.000000000 +0100
+@@ -733,7 +733,7 @@
+
+ spin = GTK_SPIN_BUTTON (widget);
+ arrow_size = spin_button_get_arrow_size (spin);
+- panel_width = arrow_size + 2 * widget->style->xthickness;
++ panel_width = (2 * arrow_size) + 4 * widget->style->xthickness;
+
+ widget->allocation = *allocation;
+
+@@ -866,19 +866,16 @@
+ {
+ width = spin_button_get_arrow_size (spin_button) + 2 * widget->style->xthickness;
+
++ y = widget->style->ythickness;
++ height = widget->requisition.height - (2 * y);
++
+ if (arrow_type == GTK_ARROW_UP)
+ {
+ x = 0;
+- y = 0;
+-
+- height = widget->requisition.height / 2;
+ }
+ else
+ {
+- x = 0;
+- y = widget->requisition.height / 2;
+-
+- height = (widget->requisition.height + 1) / 2;
++ x = width;
+ }
+
+ if (spin_button_at_limit (spin_button, arrow_type))
+@@ -908,32 +905,17 @@
+ shadow_type = GTK_SHADOW_OUT;
+ }
+ }
+-
++
+ gtk_paint_box (widget->style, spin_button->panel,
+ state_type, shadow_type,
+ NULL, widget,
+- (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down",
++ NULL,
+ x, y, width, height);
+
+ height = widget->requisition.height;
+
+- if (arrow_type == GTK_ARROW_DOWN)
+- {
+- y = height / 2;
+- height = height - y - 2;
+- }
+- else
+- {
+- y = 2;
+- height = height / 2 - 2;
+- }
+-
+ width -= 3;
+-
+- if (widget && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+- x = 2;
+- else
+- x = 1;
++ height -= 3;
+
+ w = width / 2;
+ w -= w % 2 - 1; /* force odd */
+@@ -1108,7 +1090,7 @@
+ if (GTK_ENTRY (widget)->editable)
+ gtk_spin_button_update (spin);
+
+- if (event->y <= widget->requisition.height / 2)
++ if (event->x <= (spin_button_get_arrow_size (spin) + widget->style->xthickness))
+ {
+ if (event->button == 1)
+ start_spinning (spin, GTK_ARROW_UP, spin->adjustment->step_increment);
+@@ -1143,44 +1125,11 @@
+
+ arrow_size = spin_button_get_arrow_size (spin);
+
+- if (event->button == spin->button)
+- {
+- int click_child = spin->click_child;
++ gtk_spin_button_stop_spinning (spin);
+
+- gtk_spin_button_stop_spinning (spin);
+-
+- if (event->button == 3)
+- {
+- if (event->y >= 0 && event->x >= 0 &&
+- event->y <= widget->requisition.height &&
+- event->x <= arrow_size + 2 * widget->style->xthickness)
+- {
+- if (click_child == GTK_ARROW_UP &&
+- event->y <= widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->upper - spin->adjustment->value;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, diff);
+- }
+- else if (click_child == GTK_ARROW_DOWN &&
+- event->y > widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->value - spin->adjustment->lower;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, -diff);
+- }
+- }
+- }
+- spin_button_redraw (spin);
++ spin_button_redraw (spin);
+
+- return TRUE;
+- }
+- else
+- return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
++ return TRUE;
+ }
+
+ static gint
diff --git a/meta/packages/gtk+/gtk+-2.6.8/automake-lossage.patch b/meta/packages/gtk+/gtk+-2.6.8/automake-lossage.patch
new file mode 100644
index 0000000000..0d423ddbb9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/automake-lossage.patch
@@ -0,0 +1,24 @@
+--- gtk+-2.4.1/docs/tutorial/Makefile.am~ 2003-05-06 22:54:20.000000000 +0100
++++ gtk+-2.4.1/docs/tutorial/Makefile.am 2004-05-08 12:31:41.000000000 +0100
+@@ -52,21 +52,5 @@
+
+ dist-hook: html
+ cp -Rp $(srcdir)/html $(distdir)
+-else
+-html:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-pdf:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-dist-hook:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "*** DISTRIBUTION IS INCOMPLETE"
+- echo "***"
+ endif
+
diff --git a/meta/packages/gtk+/gtk+-2.6.8/disable-tooltips.patch b/meta/packages/gtk+/gtk+-2.6.8/disable-tooltips.patch
new file mode 100644
index 0000000000..d71d839c3c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/disable-tooltips.patch
@@ -0,0 +1,11 @@
+--- gtk+-2.4.3/gtk/gtktooltips.c.old 2004-07-04 18:52:04.000000000 +0100
++++ gtk+-2.4.3/gtk/gtktooltips.c 2004-07-04 18:52:08.000000000 +0100
+@@ -118,7 +118,7 @@
+ tooltips->tips_data_list = NULL;
+
+ tooltips->delay = DEFAULT_DELAY;
+- tooltips->enabled = TRUE;
++ tooltips->enabled = FALSE;
+ tooltips->timer_tag = 0;
+ tooltips->use_sticky_delay = FALSE;
+ tooltips->last_popdown.tv_sec = -1;
diff --git a/meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch b/meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch
new file mode 100644
index 0000000000..2c5fc39d23
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/gtk+-handhelds.patch
@@ -0,0 +1,186 @@
+--- gtk+-2.4.1/gtk/gtkcalendar.c 2004-03-06 14:37:26.000000000 +1100
++++ gtk+-2.4.1/gtk/gtkcalendar.c 2004-05-26 14:58:57.000000000 +1000
+@@ -340,6 +340,9 @@
+ static void gtk_calendar_select_and_focus_day (GtkCalendar *calendar,
+ guint day);
+
++static void gtk_calendar_do_select_day (GtkCalendar *calendar,
++ guint day);
++
+ static void gtk_calendar_paint_arrow (GtkWidget *widget,
+ guint arrow);
+ static void gtk_calendar_paint_day_num (GtkWidget *widget,
+@@ -861,13 +864,13 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+ {
+ if (calendar->selected_day < 0)
+ calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1];
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+ }
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+@@ -908,10 +911,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -939,10 +942,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -974,10 +977,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ gtk_calendar_do_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ gtk_calendar_do_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ gtk_calendar_thaw (calendar);
+@@ -2480,9 +2483,9 @@
+ return TRUE;
+ }
+
+-void
+-gtk_calendar_select_day (GtkCalendar *calendar,
+- guint day)
++static void
++gtk_calendar_do_select_day (GtkCalendar *calendar,
++ guint day)
+ {
+ g_return_if_fail (GTK_IS_CALENDAR (calendar));
+ g_return_if_fail (day <= 31);
+@@ -2499,6 +2502,13 @@
+ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+ gtk_calendar_paint_day_num (GTK_WIDGET (calendar), selected_day);
+ }
++}
++
++void
++gtk_calendar_select_day (GtkCalendar *calendar,
++ guint day)
++{
++ gtk_calendar_do_select_day (calendar, day);
+
+ calendar->selected_day = day;
+
+--- gtk+-2.4.1/gtk/gtkentry.c 2004-04-22 08:08:08.000000000 +1000
++++ gtk+-2.4.1/gtk/gtkentry.c 2004-05-26 14:52:17.000000000 +1000
+@@ -557,6 +557,15 @@
+ 0.0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("min_width",
++ _("Minimum width"),
++ _("Minimum width of the entry field"),
++ 0,
++ G_MAXINT,
++ MIN_ENTRY_WIDTH,
++ G_PARAM_READABLE));
++
+ signals[POPULATE_POPUP] =
+ g_signal_new ("populate_popup",
+ G_OBJECT_CLASS_TYPE (gobject_class),
+@@ -1124,7 +1133,7 @@
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
+ PangoFontMetrics *metrics;
+- gint xborder, yborder;
++ gint xborder, yborder, min_width;
+ PangoContext *context;
+
+ gtk_widget_ensure_style (widget);
+@@ -1140,9 +1149,11 @@
+
+ xborder += INNER_BORDER;
+ yborder += INNER_BORDER;
+-
++
++ gtk_widget_style_get (widget, "min_width", &min_width, NULL);
++
+ if (entry->width_chars < 0)
+- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
++ requisition->width = min_width + xborder * 2;
+ else
+ {
+ gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
+--- gtk+-2.4.1/gtk/gtkrange.c 2004-03-06 14:38:08.000000000 +1100
++++ gtk+-2.4.1/gtk/gtkrange.c 2004-05-26 14:52:17.000000000 +1000
+@@ -180,6 +180,7 @@
+ static GtkWidgetClass *parent_class = NULL;
+ static guint signals[LAST_SIGNAL];
+
++static GdkAtom recognize_protocols_atom, atom_atom;
+
+ GType
+ gtk_range_get_type (void)
+@@ -220,6 +221,9 @@
+ object_class = (GtkObjectClass*) class;
+ widget_class = (GtkWidgetClass*) class;
+
++ recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE);
++ atom_atom = gdk_atom_intern ("ATOM", FALSE);
++
+ parent_class = g_type_class_peek_parent (class);
+
+ gobject_class->set_property = gtk_range_set_property;
+@@ -815,6 +819,12 @@
+ &attributes, attributes_mask);
+ gdk_window_set_user_data (range->event_window, range);
+
++ gdk_property_change (range->event_window,
++ recognize_protocols_atom,
++ atom_atom,
++ 32, GDK_PROP_MODE_REPLACE,
++ NULL, 0);
++
+ widget->style = gtk_style_attach (widget->style, widget->window);
+ }
+
+@@ -1186,7 +1196,7 @@
+
+ /* ignore presses when we're already doing something else. */
+ if (range->layout->grab_location != MOUSE_OUTSIDE)
+- return FALSE;
++ return TRUE;
+
+ range->layout->mouse_x = event->x;
+ range->layout->mouse_y = event->y;
+@@ -1364,7 +1374,7 @@
+ return TRUE;
+ }
+
+- return FALSE;
++ return TRUE;
+ }
+
+ /**
diff --git a/meta/packages/gtk+/gtk+-2.6.8/gtklabel-resize-patch b/meta/packages/gtk+/gtk+-2.6.8/gtklabel-resize-patch
new file mode 100644
index 0000000000..df29656343
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/gtklabel-resize-patch
@@ -0,0 +1,10 @@
+--- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100
++++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100
+@@ -1623,6 +1623,7 @@
+
+ /* We have to clear the layout, fonts etc. may have changed */
+ gtk_label_clear_layout (label);
++ gtk_widget_queue_resize (GTK_WIDGET (label));
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+-2.6.8/hardcoded_libtool.patch b/meta/packages/gtk+/gtk+-2.6.8/hardcoded_libtool.patch
new file mode 100644
index 0000000000..b2afddcc61
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/hardcoded_libtool.patch
@@ -0,0 +1,29 @@
+--- gtk+-2.6.0/configure.in.old 2005-01-01 16:23:45.000000000 +0000
++++ gtk+-2.6.0/configure.in 2005-01-01 16:24:03.000000000 +0000
+@@ -360,7 +360,7 @@
+ AC_MSG_CHECKING([Whether to write dependencies into .pc files])
+ case $enable_explicit_deps in
+ auto)
+- deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
++ deplib_check_method=`($host_alias-libtool --config; echo eval echo \\$deplib_check_method) | sh`
+ if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+@@ -688,7 +688,7 @@
+ dnl Now we check to see if our libtool supports shared lib deps
+ dnl (in a rather ugly way even)
+ if $dynworks; then
+- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
+ pixbuf_deplibs_check=`$pixbuf_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1512,7 +1512,7 @@
+ #
+ # We are using gmodule-no-export now, but I'm leaving the stripping
+ # code in place for now, since pango and atk still require gmodule.
+-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ if test -n "$export_dynamic"; then
+ GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta/packages/gtk+/gtk+-2.6.8/menu-deactivate.patch b/meta/packages/gtk+/gtk+-2.6.8/menu-deactivate.patch
new file mode 100644
index 0000000000..29e665fbf3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/menu-deactivate.patch
@@ -0,0 +1,50 @@
+--- gtk+-2.4.4/gtk/gtkmenushell.c.old Thu Aug 26 23:45:28 2004
++++ gtk+-2.4.4/gtk/gtkmenushell.c Fri Aug 27 00:13:33 2004
+@@ -37,7 +37,7 @@
+ #include "gtktearoffmenuitem.h"
+ #include "gtkwindow.h"
+
+-#define MENU_SHELL_TIMEOUT 500
++#define MENU_SHELL_TIMEOUT 2000
+
+ enum {
+ DEACTIVATE,
+@@ -156,6 +156,7 @@
+ static GtkContainerClass *parent_class = NULL;
+ static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
+
++static int last_crossing_time;
+
+ GType
+ gtk_menu_shell_get_type (void)
+@@ -418,6 +419,7 @@
+ gtk_grab_add (GTK_WIDGET (menu_shell));
+ menu_shell->have_grab = TRUE;
+ menu_shell->active = TRUE;
++ last_crossing_time = 0;
+ }
+ }
+
+@@ -545,6 +547,13 @@
+ menu_shell->activate_time = 0;
+ deactivate = FALSE;
+ }
++
++ if (last_crossing_time != 0
++ && ((event->time - last_crossing_time) < 500))
++ {
++ last_crossing_time = 0;
++ deactivate = FALSE;
++ }
+
+ if (deactivate)
+ {
+@@ -597,6 +606,8 @@
+ if (menu_shell->active)
+ {
+ menu_item = gtk_get_event_widget ((GdkEvent*) event);
++
++ last_crossing_time = event->time;
+
+ if (!menu_item ||
+ (GTK_IS_MENU_ITEM (menu_item) &&
diff --git a/meta/packages/gtk+/gtk+-2.6.8/no-demos.patch b/meta/packages/gtk+/gtk+-2.6.8/no-demos.patch
new file mode 100644
index 0000000000..2f10a30dda
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/no-demos.patch
@@ -0,0 +1,10 @@
+--- gtk+-2.4.1/Makefile.am~ 2004-01-17 22:15:56.000000000 +0000
++++ gtk+-2.4.1/Makefile.am 2004-05-08 12:25:32.000000000 +0100
+@@ -1,6 +1,6 @@
+ ## Makefile.am for GTK+
+
+-SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests contrib
++SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests contrib
+ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs build m4macros
+
+ # require automake 1.4
diff --git a/meta/packages/gtk+/gtk+-2.6.8/no-deprecation.patch b/meta/packages/gtk+/gtk+-2.6.8/no-deprecation.patch
new file mode 100644
index 0000000000..045c566b3a
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/no-deprecation.patch
@@ -0,0 +1,334 @@
+diff -ru gtk+-2.6.8.orig/contrib/gdk-pixbuf-xlib/Makefile.am gtk+-2.6.8/contrib/gdk-pixbuf-xlib/Makefile.am
+--- gtk+-2.6.8.orig/contrib/gdk-pixbuf-xlib/Makefile.am 2004-03-03 20:53:23.000000000 +0000
++++ gtk+-2.6.8/contrib/gdk-pixbuf-xlib/Makefile.am 2006-04-19 12:47:16.000000000 +0100
+@@ -4,7 +4,6 @@
+ -I$(top_srcdir) -I$(top_builddir) \
+ -I$(top_srcdir)/gdk-pixbuf \
+ -I$(top_srcdir)/contrib \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ $(GDK_PIXBUF_XLIB_DEP_CFLAGS)
+
+Only in gtk+-2.6.8/contrib/gdk-pixbuf-xlib: Makefile.am~
+diff -ru gtk+-2.6.8.orig/contrib/gdk-pixbuf-xlib/Makefile.in gtk+-2.6.8/contrib/gdk-pixbuf-xlib/Makefile.in
+--- gtk+-2.6.8.orig/contrib/gdk-pixbuf-xlib/Makefile.in 2005-06-15 20:57:33.000000000 +0100
++++ gtk+-2.6.8/contrib/gdk-pixbuf-xlib/Makefile.in 2006-04-19 12:48:10.000000000 +0100
+@@ -290,7 +290,6 @@
+ -I$(top_srcdir) -I$(top_builddir) \
+ -I$(top_srcdir)/gdk-pixbuf \
+ -I$(top_srcdir)/contrib \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ $(GDK_PIXBUF_XLIB_DEP_CFLAGS)
+
+Only in gtk+-2.6.8/contrib/gdk-pixbuf-xlib: Makefile.in~
+diff -ru gtk+-2.6.8.orig/demos/gtk-demo/Makefile.am gtk+-2.6.8/demos/gtk-demo/Makefile.am
+--- gtk+-2.6.8.orig/demos/gtk-demo/Makefile.am 2005-05-25 07:48:28.000000000 +0100
++++ gtk+-2.6.8/demos/gtk-demo/Makefile.am 2006-04-19 12:47:11.000000000 +0100
+@@ -35,7 +35,6 @@
+ -DDEMOCODEDIR="\"$(democodedir)\"" \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/demos/gtk-demo: Makefile.am~
+diff -ru gtk+-2.6.8.orig/demos/gtk-demo/Makefile.in gtk+-2.6.8/demos/gtk-demo/Makefile.in
+--- gtk+-2.6.8.orig/demos/gtk-demo/Makefile.in 2005-06-15 20:57:34.000000000 +0100
++++ gtk+-2.6.8/demos/gtk-demo/Makefile.in 2006-04-19 12:48:06.000000000 +0100
+@@ -319,7 +319,6 @@
+ -DDEMOCODEDIR="\"$(democodedir)\"" \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/demos/gtk-demo: Makefile.in~
+diff -ru gtk+-2.6.8.orig/demos/Makefile.am gtk+-2.6.8/demos/Makefile.am
+--- gtk+-2.6.8.orig/demos/Makefile.am 2003-06-06 01:52:19.000000000 +0100
++++ gtk+-2.6.8/demos/Makefile.am 2006-04-19 12:47:13.000000000 +0100
+@@ -5,7 +5,6 @@
+ INCLUDES = \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/demos: Makefile.am~
+diff -ru gtk+-2.6.8.orig/demos/Makefile.in gtk+-2.6.8/demos/Makefile.in
+--- gtk+-2.6.8.orig/demos/Makefile.in 2005-06-15 20:57:33.000000000 +0100
++++ gtk+-2.6.8/demos/Makefile.in 2006-04-19 12:48:08.000000000 +0100
+@@ -291,7 +291,6 @@
+ INCLUDES = \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/demos: Makefile.in~
+diff -ru gtk+-2.6.8.orig/gdk/linux-fb/Makefile.am gtk+-2.6.8/gdk/linux-fb/Makefile.am
+--- gtk+-2.6.8.orig/gdk/linux-fb/Makefile.am 2003-12-10 13:49:53.000000000 +0000
++++ gtk+-2.6.8/gdk/linux-fb/Makefile.am 2006-04-19 12:47:02.000000000 +0100
+@@ -15,7 +15,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ $(GDK_DEP_CFLAGS) \
+ $(GTK_DEBUG_FLAGS)
+Only in gtk+-2.6.8/gdk/linux-fb: Makefile.am~
+diff -ru gtk+-2.6.8.orig/gdk/linux-fb/Makefile.in gtk+-2.6.8/gdk/linux-fb/Makefile.in
+--- gtk+-2.6.8.orig/gdk/linux-fb/Makefile.in 2005-06-15 20:57:38.000000000 +0100
++++ gtk+-2.6.8/gdk/linux-fb/Makefile.in 2006-04-19 12:48:01.000000000 +0100
+@@ -297,7 +297,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ $(GDK_DEP_CFLAGS) \
+ $(GTK_DEBUG_FLAGS)
+Only in gtk+-2.6.8/gdk/linux-fb: Makefile.in~
+diff -ru gtk+-2.6.8.orig/gdk/Makefile.am gtk+-2.6.8/gdk/Makefile.am
+--- gtk+-2.6.8.orig/gdk/Makefile.am 2005-04-09 06:58:54.000000000 +0100
++++ gtk+-2.6.8/gdk/Makefile.am 2006-04-19 12:47:05.000000000 +0100
+@@ -19,7 +19,6 @@
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+ -I$(top_srcdir)/gdk-pixbuf \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ $(GTK_DEBUG_FLAGS) \
+Only in gtk+-2.6.8/gdk: Makefile.am~
+diff -ru gtk+-2.6.8.orig/gdk/Makefile.in gtk+-2.6.8/gdk/Makefile.in
+--- gtk+-2.6.8.orig/gdk/Makefile.in 2005-06-15 20:57:38.000000000 +0100
++++ gtk+-2.6.8/gdk/Makefile.in 2006-04-19 12:48:04.000000000 +0100
+@@ -307,7 +307,6 @@
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+ -I$(top_srcdir)/gdk-pixbuf \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ $(GTK_DEBUG_FLAGS) \
+Only in gtk+-2.6.8/gdk: Makefile.in~
+diff -ru gtk+-2.6.8.orig/gdk/x11/Makefile.am gtk+-2.6.8/gdk/x11/Makefile.am
+--- gtk+-2.6.8.orig/gdk/x11/Makefile.am 2003-12-10 13:49:57.000000000 +0000
++++ gtk+-2.6.8/gdk/x11/Makefile.am 2006-04-19 12:46:59.000000000 +0100
+@@ -8,7 +8,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ $(GTK_DEBUG_FLAGS) \
+Only in gtk+-2.6.8/gdk/x11: Makefile.am~
+diff -ru gtk+-2.6.8.orig/gdk/x11/Makefile.in gtk+-2.6.8/gdk/x11/Makefile.in
+--- gtk+-2.6.8.orig/gdk/x11/Makefile.in 2005-06-15 20:57:39.000000000 +0100
++++ gtk+-2.6.8/gdk/x11/Makefile.in 2006-04-19 12:47:59.000000000 +0100
+@@ -295,7 +295,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ $(GTK_DEBUG_FLAGS) \
+Only in gtk+-2.6.8/gdk/x11: Makefile.in~
+diff -ru gtk+-2.6.8.orig/gdk-pixbuf/Makefile.am gtk+-2.6.8/gdk-pixbuf/Makefile.am
+--- gtk+-2.6.8.orig/gdk-pixbuf/Makefile.am 2005-04-29 18:53:58.000000000 +0100
++++ gtk+-2.6.8/gdk-pixbuf/Makefile.am 2006-04-19 12:47:35.000000000 +0100
+@@ -279,7 +279,6 @@
+ -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
+ -DGTK_VERSION=\"$(GTK_VERSION)\" \
+ -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGTK_PREFIX=\"$(prefix)\" \
+ $(INCLUDED_LOADER_DEFINE) \
+Only in gtk+-2.6.8/gdk-pixbuf: Makefile.am~
+diff -ru gtk+-2.6.8.orig/gdk-pixbuf/Makefile.in gtk+-2.6.8/gdk-pixbuf/Makefile.in
+--- gtk+-2.6.8.orig/gdk-pixbuf/Makefile.in 2005-06-15 20:57:37.000000000 +0100
++++ gtk+-2.6.8/gdk-pixbuf/Makefile.in 2006-04-19 12:48:47.000000000 +0100
+@@ -509,7 +509,6 @@
+ -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \
+ -DGTK_VERSION=\"$(GTK_VERSION)\" \
+ -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGTK_PREFIX=\"$(prefix)\" \
+ $(INCLUDED_LOADER_DEFINE) \
+Only in gtk+-2.6.8/gdk-pixbuf: Makefile.in~
+diff -ru gtk+-2.6.8.orig/gdk-pixbuf/pixops/Makefile.am gtk+-2.6.8/gdk-pixbuf/pixops/Makefile.am
+--- gtk+-2.6.8.orig/gdk-pixbuf/pixops/Makefile.am 2003-05-06 22:54:28.000000000 +0100
++++ gtk+-2.6.8/gdk-pixbuf/pixops/Makefile.am 2006-04-19 12:47:29.000000000 +0100
+@@ -4,7 +4,6 @@
+ -I$(top_srcdir) -I$(top_builddir) \
+ $(GTK_DEBUG_FLAGS) \
+ $(GDK_PIXBUF_DEP_CFLAGS) \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED
+
+ noinst_PROGRAMS = timescale
+Only in gtk+-2.6.8/gdk-pixbuf/pixops: Makefile.am~
+diff -ru gtk+-2.6.8.orig/gdk-pixbuf/pixops/Makefile.in gtk+-2.6.8/gdk-pixbuf/pixops/Makefile.in
+--- gtk+-2.6.8.orig/gdk-pixbuf/pixops/Makefile.in 2005-06-15 20:57:37.000000000 +0100
++++ gtk+-2.6.8/gdk-pixbuf/pixops/Makefile.in 2006-04-19 12:48:44.000000000 +0100
+@@ -290,7 +290,6 @@
+ -I$(top_srcdir) -I$(top_builddir) \
+ $(GTK_DEBUG_FLAGS) \
+ $(GDK_PIXBUF_DEP_CFLAGS) \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED
+
+
+Only in gtk+-2.6.8/gdk-pixbuf/pixops: Makefile.in~
+diff -ru gtk+-2.6.8.orig/gtk/Makefile.am gtk+-2.6.8/gtk/Makefile.am
+--- gtk+-2.6.8.orig/gtk/Makefile.am 2005-04-29 18:53:57.000000000 +0100
++++ gtk+-2.6.8/gtk/Makefile.am 2006-04-19 12:47:27.000000000 +0100
+@@ -22,7 +22,6 @@
+ -I$(top_srcdir) -I../gdk \
+ -I$(top_srcdir)/gdk \
+ -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/gtk: Makefile.am~
+diff -ru gtk+-2.6.8.orig/gtk/Makefile.in gtk+-2.6.8/gtk/Makefile.in
+--- gtk+-2.6.8.orig/gtk/Makefile.in 2005-06-15 20:57:39.000000000 +0100
++++ gtk+-2.6.8/gtk/Makefile.in 2006-04-19 12:48:41.000000000 +0100
+@@ -311,7 +311,6 @@
+ -I$(top_srcdir) -I../gdk \
+ -I$(top_srcdir)/gdk \
+ -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/gtk: Makefile.in~
+diff -ru gtk+-2.6.8.orig/gtk/theme-bits/Makefile.am gtk+-2.6.8/gtk/theme-bits/Makefile.am
+--- gtk+-2.6.8.orig/gtk/theme-bits/Makefile.am 2003-05-06 22:55:40.000000000 +0100
++++ gtk+-2.6.8/gtk/theme-bits/Makefile.am 2006-04-19 12:47:21.000000000 +0100
+@@ -1,5 +1,4 @@
+ INCLUDES = -I$(top_srcdir) -I$(top_builddir) \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ $(GDK_PIXBUF_DEP_CFLAGS)
+
+Only in gtk+-2.6.8/gtk/theme-bits: Makefile.am~
+diff -ru gtk+-2.6.8.orig/gtk/theme-bits/Makefile.in gtk+-2.6.8/gtk/theme-bits/Makefile.in
+--- gtk+-2.6.8.orig/gtk/theme-bits/Makefile.in 2005-06-15 20:57:40.000000000 +0100
++++ gtk+-2.6.8/gtk/theme-bits/Makefile.in 2006-04-19 12:48:39.000000000 +0100
+@@ -285,7 +285,6 @@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ INCLUDES = -I$(top_srcdir) -I$(top_builddir) \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ $(GDK_PIXBUF_DEP_CFLAGS)
+
+Only in gtk+-2.6.8/gtk/theme-bits: Makefile.in~
+diff -ru gtk+-2.6.8.orig/modules/engines/ms-windows/Makefile.am gtk+-2.6.8/modules/engines/ms-windows/Makefile.am
+--- gtk+-2.6.8.orig/modules/engines/ms-windows/Makefile.am 2005-06-04 21:10:11.000000000 +0100
++++ gtk+-2.6.8/modules/engines/ms-windows/Makefile.am 2006-04-19 12:47:40.000000000 +0100
+@@ -6,7 +6,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ $(GTK_DEP_CFLAGS)
+Only in gtk+-2.6.8/modules/engines/ms-windows: Makefile.am~
+diff -ru gtk+-2.6.8.orig/modules/engines/ms-windows/Makefile.in gtk+-2.6.8/modules/engines/ms-windows/Makefile.in
+--- gtk+-2.6.8.orig/modules/engines/ms-windows/Makefile.in 2005-06-15 20:57:41.000000000 +0100
++++ gtk+-2.6.8/modules/engines/ms-windows/Makefile.in 2006-04-19 12:48:51.000000000 +0100
+@@ -292,7 +292,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ $(GTK_DEP_CFLAGS)
+Only in gtk+-2.6.8/modules/engines/ms-windows: Makefile.in~
+diff -ru gtk+-2.6.8.orig/modules/engines/pixbuf/Makefile.am gtk+-2.6.8/modules/engines/pixbuf/Makefile.am
+--- gtk+-2.6.8.orig/modules/engines/pixbuf/Makefile.am 2004-11-28 17:21:06.000000000 +0000
++++ gtk+-2.6.8/modules/engines/pixbuf/Makefile.am 2006-04-19 12:47:38.000000000 +0100
+@@ -6,7 +6,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ $(GTK_DEP_CFLAGS)
+Only in gtk+-2.6.8/modules/engines/pixbuf: Makefile.am~
+diff -ru gtk+-2.6.8.orig/modules/engines/pixbuf/Makefile.in gtk+-2.6.8/modules/engines/pixbuf/Makefile.in
+--- gtk+-2.6.8.orig/modules/engines/pixbuf/Makefile.in 2005-06-15 20:57:41.000000000 +0100
++++ gtk+-2.6.8/modules/engines/pixbuf/Makefile.in 2006-04-19 12:48:49.000000000 +0100
+@@ -290,7 +290,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ $(GTK_DEP_CFLAGS)
+Only in gtk+-2.6.8/modules/engines/pixbuf: Makefile.in~
+diff -ru gtk+-2.6.8.orig/modules/input/Makefile.am gtk+-2.6.8/modules/input/Makefile.am
+--- gtk+-2.6.8.orig/modules/input/Makefile.am 2005-06-04 23:10:04.000000000 +0100
++++ gtk+-2.6.8/modules/input/Makefile.am 2006-04-19 12:47:43.000000000 +0100
+@@ -8,7 +8,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/modules/input: Makefile.am~
+diff -ru gtk+-2.6.8.orig/modules/input/Makefile.in gtk+-2.6.8/modules/input/Makefile.in
+--- gtk+-2.6.8.orig/modules/input/Makefile.in 2005-06-15 20:57:42.000000000 +0100
++++ gtk+-2.6.8/modules/input/Makefile.in 2006-04-19 12:48:53.000000000 +0100
+@@ -291,7 +291,6 @@
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/gdk \
+ -I$(top_builddir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/modules/input: Makefile.in~
+diff -ru gtk+-2.6.8.orig/tests/Makefile.am gtk+-2.6.8/tests/Makefile.am
+--- gtk+-2.6.8.orig/tests/Makefile.am 2004-11-12 15:26:07.000000000 +0000
++++ gtk+-2.6.8/tests/Makefile.am 2006-04-19 12:47:19.000000000 +0100
+@@ -4,7 +4,6 @@
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+ -I$(top_srcdir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/tests: Makefile.am~
+diff -ru gtk+-2.6.8.orig/tests/Makefile.in gtk+-2.6.8/tests/Makefile.in
+--- gtk+-2.6.8.orig/tests/Makefile.in 2005-06-15 20:57:42.000000000 +0100
++++ gtk+-2.6.8/tests/Makefile.in 2006-04-19 12:48:20.000000000 +0100
+@@ -289,7 +289,6 @@
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+ -I$(top_srcdir)/gdk \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
+Only in gtk+-2.6.8/tests: Makefile.in~
diff --git a/meta/packages/gtk+/gtk+-2.6.8/no-xwc.patch b/meta/packages/gtk+/gtk+-2.6.8/no-xwc.patch
new file mode 100644
index 0000000000..affb4a303e
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/no-xwc.patch
@@ -0,0 +1,151 @@
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2004-11-30 14:57:14 +00:00
++++ gtk+-2.6.0/gdk/x11/gdkdrawable-x11.c 2005-01-02 15:38:06 +00:00
+@@ -576,12 +576,14 @@
+ GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2);
+ }
+ }
++#ifdef HAVE_XWC
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font);
+ XmbDrawString (xdisplay, impl->xid,
+ fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length);
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+@@ -613,6 +615,7 @@
+ GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length);
+ g_free (text_8bit);
+ }
++#ifdef HAVE_XWC
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+@@ -633,6 +636,7 @@
+ g_free (text_wchar);
+ }
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c gtk+-2.6.0/gdk/x11/gdkfont-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2004-08-26 01:23:46 +01:00
++++ gtk+-2.6.0/gdk/x11/gdkfont-x11.c 2005-01-02 15:45:39 +00:00
+@@ -525,10 +525,12 @@
+ width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2);
+ }
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ width = XmbTextEscapement (fontset, text, text_length);
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -578,6 +580,7 @@
+ width = 0;
+ }
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+ {
+@@ -595,6 +598,7 @@
+ g_free (text_wchar);
+ }
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -667,6 +671,7 @@
+ if (descent)
+ *descent = overall.descent;
+ break;
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ XmbTextExtents (fontset, text, text_length, &ink, &logical);
+@@ -681,6 +686,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+@@ -753,6 +759,7 @@
+ *descent = overall.descent;
+ break;
+ }
++#ifdef HAVE_XWC
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+
+@@ -780,6 +787,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+diff -urNd ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c gtk+-2.6.0/gdk/x11/gdkim-x11.c
+--- ../gtk+-2.6.0-r2/gtk+-2.6.0/gdk/x11/gdkim-x11.c 2004-11-17 00:55:10 +00:00
++++ gtk+-2.6.0/gdk/x11/gdkim-x11.c 2005-01-02 15:42:04 +00:00
+@@ -48,6 +48,7 @@
+ void
+ _gdk_x11_initialize_locale (void)
+ {
++#ifdef HAVE_XWC
+ wchar_t result;
+ gchar *current_locale;
+ static char *last_locale = NULL;
+@@ -93,7 +94,8 @@
+ GDK_NOTE (XIM,
+ g_message ("%s multi-byte string functions.",
+ gdk_use_mb ? "Using" : "Not using"));
+-
++#endif
++
+ return;
+ }
+
+@@ -136,6 +138,7 @@
+ {
+ gchar *mbstr;
+
++#ifdef HAVE_XWC
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -178,6 +181,7 @@
+ XFree (tpr.value);
+ }
+ else
++#endif
+ {
+ gint length = 0;
+ gint i;
+@@ -210,6 +214,7 @@
+ gint
+ gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max)
+ {
++#ifdef HAVE_XWC
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -242,6 +247,7 @@
+ return len_cpy;
+ }
+ else
++#endif
+ {
+ gint i;
+
diff --git a/meta/packages/gtk+/gtk+-2.6.8/scroll-timings.patch b/meta/packages/gtk+/gtk+-2.6.8/scroll-timings.patch
new file mode 100644
index 0000000000..a38b21dcc2
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/scroll-timings.patch
@@ -0,0 +1,15 @@
+--- gtk+-2.4.4/gtk/gtkrange.c~ 2004-08-23 01:50:22.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkrange.c 2004-08-27 15:48:49.000000000 +0100
+@@ -35,9 +35,9 @@
+ #include "gtkintl.h"
+ #include "gtkscrollbar.h"
+
+-#define SCROLL_INITIAL_DELAY 250 /* must hold button this long before ... */
+-#define SCROLL_LATER_DELAY 100 /* ... it starts repeating at this rate */
+-#define UPDATE_DELAY 300 /* Delay for queued update */
++#define SCROLL_INITIAL_DELAY 500 /* must hold button this long before ... */
++#define SCROLL_LATER_DELAY 200 /* ... it starts repeating at this rate */
++#define UPDATE_DELAY 1000 /* Delay for queued update */
+
+ enum {
+ PROP_0,
diff --git a/meta/packages/gtk+/gtk+-2.6.8/spinbutton.patch b/meta/packages/gtk+/gtk+-2.6.8/spinbutton.patch
new file mode 100644
index 0000000000..8ad7507af0
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.8/spinbutton.patch
@@ -0,0 +1,128 @@
+--- gtk+-2.4.3/gtk/gtkspinbutton.c.old 2004-04-22 14:49:27.000000000 +0100
++++ gtk+-2.4.3/gtk/gtkspinbutton.c 2004-06-30 21:48:18.000000000 +0100
+@@ -733,7 +733,7 @@
+
+ spin = GTK_SPIN_BUTTON (widget);
+ arrow_size = spin_button_get_arrow_size (spin);
+- panel_width = arrow_size + 2 * widget->style->xthickness;
++ panel_width = (2 * arrow_size) + 4 * widget->style->xthickness;
+
+ widget->allocation = *allocation;
+
+@@ -866,19 +866,16 @@
+ {
+ width = spin_button_get_arrow_size (spin_button) + 2 * widget->style->xthickness;
+
++ y = widget->style->ythickness;
++ height = widget->requisition.height - (2 * y);
++
+ if (arrow_type == GTK_ARROW_UP)
+ {
+ x = 0;
+- y = 0;
+-
+- height = widget->requisition.height / 2;
+ }
+ else
+ {
+- x = 0;
+- y = widget->requisition.height / 2;
+-
+- height = (widget->requisition.height + 1) / 2;
++ x = width;
+ }
+
+ if (spin_button_at_limit (spin_button, arrow_type))
+@@ -908,32 +905,17 @@
+ shadow_type = GTK_SHADOW_OUT;
+ }
+ }
+-
++
+ gtk_paint_box (widget->style, spin_button->panel,
+ state_type, shadow_type,
+ NULL, widget,
+- (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down",
++ NULL,
+ x, y, width, height);
+
+ height = widget->requisition.height;
+
+- if (arrow_type == GTK_ARROW_DOWN)
+- {
+- y = height / 2;
+- height = height - y - 2;
+- }
+- else
+- {
+- y = 2;
+- height = height / 2 - 2;
+- }
+-
+ width -= 3;
+-
+- if (widget && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+- x = 2;
+- else
+- x = 1;
++ height -= 3;
+
+ w = width / 2;
+ w -= w % 2 - 1; /* force odd */
+@@ -1108,7 +1090,7 @@
+ if (GTK_ENTRY (widget)->editable)
+ gtk_spin_button_update (spin);
+
+- if (event->y <= widget->requisition.height / 2)
++ if (event->x <= (spin_button_get_arrow_size (spin) + widget->style->xthickness))
+ {
+ if (event->button == 1)
+ start_spinning (spin, GTK_ARROW_UP, spin->adjustment->step_increment);
+@@ -1143,44 +1125,11 @@
+
+ arrow_size = spin_button_get_arrow_size (spin);
+
+- if (event->button == spin->button)
+- {
+- int click_child = spin->click_child;
++ gtk_spin_button_stop_spinning (spin);
+
+- gtk_spin_button_stop_spinning (spin);
+-
+- if (event->button == 3)
+- {
+- if (event->y >= 0 && event->x >= 0 &&
+- event->y <= widget->requisition.height &&
+- event->x <= arrow_size + 2 * widget->style->xthickness)
+- {
+- if (click_child == GTK_ARROW_UP &&
+- event->y <= widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->upper - spin->adjustment->value;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, diff);
+- }
+- else if (click_child == GTK_ARROW_DOWN &&
+- event->y > widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->value - spin->adjustment->lower;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, -diff);
+- }
+- }
+- }
+- spin_button_redraw (spin);
++ spin_button_redraw (spin);
+
+- return TRUE;
+- }
+- else
+- return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
++ return TRUE;
+ }
+
+ static gint
diff --git a/meta/packages/gtk+/gtk+-2.8.16/automake-lossage.patch b/meta/packages/gtk+/gtk+-2.8.16/automake-lossage.patch
new file mode 100644
index 0000000000..0d423ddbb9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/automake-lossage.patch
@@ -0,0 +1,24 @@
+--- gtk+-2.4.1/docs/tutorial/Makefile.am~ 2003-05-06 22:54:20.000000000 +0100
++++ gtk+-2.4.1/docs/tutorial/Makefile.am 2004-05-08 12:31:41.000000000 +0100
+@@ -52,21 +52,5 @@
+
+ dist-hook: html
+ cp -Rp $(srcdir)/html $(distdir)
+-else
+-html:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-pdf:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "***"
+-
+-dist-hook:
+- echo "***"
+- echo "*** Warning: Tutorial not built"
+- echo "*** DISTRIBUTION IS INCOMPLETE"
+- echo "***"
+ endif
+
diff --git a/meta/packages/gtk+/gtk+-2.8.16/disable-tooltips.patch b/meta/packages/gtk+/gtk+-2.8.16/disable-tooltips.patch
new file mode 100644
index 0000000000..d71d839c3c
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/disable-tooltips.patch
@@ -0,0 +1,11 @@
+--- gtk+-2.4.3/gtk/gtktooltips.c.old 2004-07-04 18:52:04.000000000 +0100
++++ gtk+-2.4.3/gtk/gtktooltips.c 2004-07-04 18:52:08.000000000 +0100
+@@ -118,7 +118,7 @@
+ tooltips->tips_data_list = NULL;
+
+ tooltips->delay = DEFAULT_DELAY;
+- tooltips->enabled = TRUE;
++ tooltips->enabled = FALSE;
+ tooltips->timer_tag = 0;
+ tooltips->use_sticky_delay = FALSE;
+ tooltips->last_popdown.tv_sec = -1;
diff --git a/meta/packages/gtk+/gtk+-2.8.16/gtk+-handhelds.patch b/meta/packages/gtk+/gtk+-2.8.16/gtk+-handhelds.patch
new file mode 100644
index 0000000000..4b97373f32
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/gtk+-handhelds.patch
@@ -0,0 +1,264 @@
+--- gtk+-2.8.6/gtk/gtkrange.c.orig 2005-12-07 21:13:33 +0100
++++ gtk+-2.8.6/gtk/gtkrange.c 2005-12-07 21:21:12 +0100
+@@ -186,6 +186,7 @@
+ static GtkWidgetClass *parent_class = NULL;
+ static guint signals[LAST_SIGNAL];
+
++static GdkAtom recognize_protocols_atom, atom_atom;
+
+ GType
+ gtk_range_get_type (void)
+@@ -226,6 +227,9 @@
+ object_class = (GtkObjectClass*) class;
+ widget_class = (GtkWidgetClass*) class;
+
++ recognize_protocols_atom = gdk_atom_intern ("RECOGNIZE_PROTOCOLS", FALSE);
++ atom_atom = gdk_atom_intern ("ATOM", FALSE);
++
+ parent_class = g_type_class_peek_parent (class);
+
+ gobject_class->set_property = gtk_range_set_property;
+@@ -860,6 +864,12 @@
+ &attributes, attributes_mask);
+ gdk_window_set_user_data (range->event_window, range);
+
++ gdk_property_change (range->event_window,
++ recognize_protocols_atom,
++ atom_atom,
++ 32, GDK_PROP_MODE_REPLACE,
++ NULL, 0);
++
+ widget->style = gtk_style_attach (widget->style, widget->window);
+ }
+
+@@ -1229,7 +1239,7 @@
+
+ /* ignore presses when we're already doing something else. */
+ if (range->layout->grab_location != MOUSE_OUTSIDE)
+- return FALSE;
++ return TRUE;
+
+ range->layout->mouse_x = event->x;
+ range->layout->mouse_y = event->y;
+@@ -1429,7 +1439,7 @@
+ return TRUE;
+ }
+
+- return FALSE;
++ return TRUE;
+ }
+
+ /**
+--- gtk+-2.8.6/gtk/gtkentry.c.orig 2005-09-02 21:51:06 +0200
++++ gtk+-2.8.6/gtk/gtkentry.c 2005-12-07 21:21:12 +0100
+@@ -597,6 +597,15 @@
+ 0.0,
+ GTK_PARAM_READWRITE));
+
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("min_width",
++ _("Minimum width"),
++ _("Minimum width of the entry field"),
++ 0,
++ G_MAXINT,
++ MIN_ENTRY_WIDTH,
++ G_PARAM_READABLE));
++
+ signals[POPULATE_POPUP] =
+ g_signal_new ("populate_popup",
+ G_OBJECT_CLASS_TYPE (gobject_class),
+@@ -1227,7 +1236,7 @@
+ {
+ GtkEntry *entry = GTK_ENTRY (widget);
+ PangoFontMetrics *metrics;
+- gint xborder, yborder;
++ gint xborder, yborder, min_width;
+ PangoContext *context;
+
+ gtk_widget_ensure_style (widget);
+@@ -1243,9 +1252,11 @@
+
+ xborder += INNER_BORDER;
+ yborder += INNER_BORDER;
+-
++
++ gtk_widget_style_get (widget, "min_width", &min_width, NULL);
++
+ if (entry->width_chars < 0)
+- requisition->width = MIN_ENTRY_WIDTH + xborder * 2;
++ requisition->width = min_width + xborder * 2;
+ else
+ {
+ gint char_width = pango_font_metrics_get_approximate_char_width (metrics);
+--- gtk+-2.8.6/gtk/gtkarrow.c.orig 2005-06-21 17:38:39 +0200
++++ gtk+-2.8.6/gtk/gtkarrow.c 2005-12-07 21:21:12 +0100
+@@ -31,7 +31,7 @@
+ #include "gtkintl.h"
+ #include "gtkalias.h"
+
+-#define MIN_ARROW_SIZE 15
++#define MIN_ARROW_SIZE 7
+
+ enum {
+ PROP_0,
+@@ -55,6 +55,8 @@
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec);
++static void gtk_arrow_size_request (GtkWidget *arrow,
++ GtkRequisition *requisition);
+
+ GType
+ gtk_arrow_get_type (void)
+@@ -113,6 +115,7 @@
+ GTK_PARAM_READWRITE));
+
+ widget_class->expose_event = gtk_arrow_expose;
++ widget_class->size_request = gtk_arrow_size_request;
+ }
+
+ static void
+@@ -168,13 +171,18 @@
+ }
+
+ static void
++gtk_arrow_size_request (GtkWidget *arrow,
++ GtkRequisition *requisition)
++{
++ requisition->width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
++ requisition->height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
++}
++
++static void
+ gtk_arrow_init (GtkArrow *arrow)
+ {
+ GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW);
+
+- GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
+- GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;
+-
+ arrow->arrow_type = GTK_ARROW_RIGHT;
+ arrow->shadow_type = GTK_SHADOW_OUT;
+ }
+--- gtk+-2.8.6/gtk/gtkcalendar.c.orig 2005-12-07 21:36:14 +0100
++++ gtk+-2.8.6/gtk/gtkcalendar.c 2005-12-07 21:49:21 +0100
+@@ -692,6 +692,35 @@
+ ****************************************/
+
+ static void
++calendar_select_day (GtkCalendar *calendar, guint day)
++{
++ g_return_if_fail (GTK_IS_CALENDAR (calendar));
++ g_return_if_fail (day <= 31);
++
++ /* Deselect the old day */
++ if (calendar->selected_day > 0)
++ {
++ gint selected_day;
++
++ selected_day = calendar->selected_day;
++ calendar->selected_day = 0;
++ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
++ calendar_invalidate_day_num (calendar, selected_day);
++ }
++
++ calendar->selected_day = day;
++
++ /* Select the new day */
++ if (day != 0)
++ {
++ if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
++ calendar_invalidate_day_num (calendar, day);
++ }
++
++ g_object_notify (G_OBJECT (calendar), "day");
++}
++
++static void
+ calendar_set_month_next (GtkCalendar *calendar)
+ {
+ gint month_len;
+@@ -723,10 +752,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ calendar_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ calendar_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ }
+@@ -752,10 +781,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ calendar_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ calendar_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ }
+@@ -784,10 +813,10 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ calendar_select_day (calendar, month_len);
+ }
+ else
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ calendar_select_day (calendar, calendar->selected_day);
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+ }
+@@ -1088,13 +1117,13 @@
+ if (month_len < calendar->selected_day)
+ {
+ calendar->selected_day = 0;
+- gtk_calendar_select_day (calendar, month_len);
++ calendar_select_day (calendar, month_len);
+ }
+ else
+ {
+ if (calendar->selected_day < 0)
+ calendar->selected_day = calendar->selected_day + 1 + month_length[leap (calendar->year)][calendar->month + 1];
+- gtk_calendar_select_day (calendar, calendar->selected_day);
++ calendar_select_day (calendar, calendar->selected_day);
+ }
+
+ gtk_widget_queue_draw (GTK_WIDGET (calendar));
+@@ -3285,27 +3314,7 @@
+ g_return_if_fail (GTK_IS_CALENDAR (calendar));
+ g_return_if_fail (day <= 31);
+
+- /* Deselect the old day */
+- if (calendar->selected_day > 0)
+- {
+- gint selected_day;
+-
+- selected_day = calendar->selected_day;
+- calendar->selected_day = 0;
+- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+- calendar_invalidate_day_num (calendar, selected_day);
+- }
+-
+- calendar->selected_day = day;
+-
+- /* Select the new day */
+- if (day != 0)
+- {
+- if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (calendar)))
+- calendar_invalidate_day_num (calendar, day);
+- }
+-
+- g_object_notify (G_OBJECT (calendar), "day");
++ calendar_select_day (calendar, day);
+
+ g_signal_emit (calendar,
+ gtk_calendar_signals[DAY_SELECTED_SIGNAL],
diff --git a/meta/packages/gtk+/gtk+-2.8.16/gtklabel-resize-patch b/meta/packages/gtk+/gtk+-2.8.16/gtklabel-resize-patch
new file mode 100644
index 0000000000..df29656343
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/gtklabel-resize-patch
@@ -0,0 +1,10 @@
+--- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100
++++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100
+@@ -1623,6 +1623,7 @@
+
+ /* We have to clear the layout, fonts etc. may have changed */
+ gtk_label_clear_layout (label);
++ gtk_widget_queue_resize (GTK_WIDGET (label));
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+-2.8.16/gtktreeview-316689.patch b/meta/packages/gtk+/gtk+-2.8.16/gtktreeview-316689.patch
new file mode 100644
index 0000000000..4e77ddf9f9
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/gtktreeview-316689.patch
@@ -0,0 +1,25 @@
+diff -u -p -r1.498 gtktreeview.c
+--- gtk+-2.8.9/gtk/gtktreeview.c 22 Oct 2005 21:08:23 -0000 1.498
++++ gtk+-2.8.9/gtk/gtktreeview.c 24 Oct 2005 22:30:27 -0000
+@@ -2098,6 +2098,9 @@ gtk_tree_view_size_allocate (GtkWidget
+ /* now the adjustments and window sizes are in sync, we can sync toprow/dy again */
+ if (tree_view->priv->height <= tree_view->priv->vadjustment->page_size)
+ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0);
++ else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height)
++ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment),
++ tree_view->priv->height - tree_view->priv->vadjustment->page_size);
+ else if (gtk_tree_row_reference_valid (tree_view->priv->top_row))
+ gtk_tree_view_top_row_to_dy (tree_view);
+ else
+@ -5031,6 +5034,11 @@ validate_visible_area (GtkTreeView *tree
+ * else than zero. we update top_row to be in sync with dy = 0.
+ */
+ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0);
++ gtk_tree_view_dy_to_top_row (tree_view);
++ }
++ else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height)
++ {
++ gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), tree_view->priv->height - tree_view->priv->vadjustment->page_size);
+ gtk_tree_view_dy_to_top_row (tree_view);
+ }
+ else
diff --git a/meta/packages/gtk+/gtk+-2.8.16/hardcoded_libtool.patch b/meta/packages/gtk+/gtk+-2.8.16/hardcoded_libtool.patch
new file mode 100644
index 0000000000..b2afddcc61
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/hardcoded_libtool.patch
@@ -0,0 +1,29 @@
+--- gtk+-2.6.0/configure.in.old 2005-01-01 16:23:45.000000000 +0000
++++ gtk+-2.6.0/configure.in 2005-01-01 16:24:03.000000000 +0000
+@@ -360,7 +360,7 @@
+ AC_MSG_CHECKING([Whether to write dependencies into .pc files])
+ case $enable_explicit_deps in
+ auto)
+- deplib_check_method=`(./libtool --config; echo eval echo \\$deplib_check_method) | sh`
++ deplib_check_method=`($host_alias-libtool --config; echo eval echo \\$deplib_check_method) | sh`
+ if test "X$deplib_check_method" = Xnone || test "x$enable_static" = xyes ; then
+ enable_explicit_deps=yes
+ else
+@@ -688,7 +688,7 @@
+ dnl Now we check to see if our libtool supports shared lib deps
+ dnl (in a rather ugly way even)
+ if $dynworks; then
+- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
+ pixbuf_deplibs_check=`$pixbuf_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1512,7 +1512,7 @@
+ #
+ # We are using gmodule-no-export now, but I'm leaving the stripping
+ # code in place for now, since pango and atk still require gmodule.
+-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ if test -n "$export_dynamic"; then
+ GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta/packages/gtk+/gtk+-2.8.16/menu-deactivate.patch b/meta/packages/gtk+/gtk+-2.8.16/menu-deactivate.patch
new file mode 100644
index 0000000000..29e665fbf3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/menu-deactivate.patch
@@ -0,0 +1,50 @@
+--- gtk+-2.4.4/gtk/gtkmenushell.c.old Thu Aug 26 23:45:28 2004
++++ gtk+-2.4.4/gtk/gtkmenushell.c Fri Aug 27 00:13:33 2004
+@@ -37,7 +37,7 @@
+ #include "gtktearoffmenuitem.h"
+ #include "gtkwindow.h"
+
+-#define MENU_SHELL_TIMEOUT 500
++#define MENU_SHELL_TIMEOUT 2000
+
+ enum {
+ DEACTIVATE,
+@@ -156,6 +156,7 @@
+ static GtkContainerClass *parent_class = NULL;
+ static guint menu_shell_signals[LAST_SIGNAL] = { 0 };
+
++static int last_crossing_time;
+
+ GType
+ gtk_menu_shell_get_type (void)
+@@ -418,6 +419,7 @@
+ gtk_grab_add (GTK_WIDGET (menu_shell));
+ menu_shell->have_grab = TRUE;
+ menu_shell->active = TRUE;
++ last_crossing_time = 0;
+ }
+ }
+
+@@ -545,6 +547,13 @@
+ menu_shell->activate_time = 0;
+ deactivate = FALSE;
+ }
++
++ if (last_crossing_time != 0
++ && ((event->time - last_crossing_time) < 500))
++ {
++ last_crossing_time = 0;
++ deactivate = FALSE;
++ }
+
+ if (deactivate)
+ {
+@@ -597,6 +606,8 @@
+ if (menu_shell->active)
+ {
+ menu_item = gtk_get_event_widget ((GdkEvent*) event);
++
++ last_crossing_time = event->time;
+
+ if (!menu_item ||
+ (GTK_IS_MENU_ITEM (menu_item) &&
diff --git a/meta/packages/gtk+/gtk+-2.8.16/no-demos.patch b/meta/packages/gtk+/gtk+-2.8.16/no-demos.patch
new file mode 100644
index 0000000000..0145067ad5
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/no-demos.patch
@@ -0,0 +1,10 @@
+--- gtk+-2.8.6/Makefile.am.orig 2005-12-07 21:30:56 +0100
++++ gtk+-2.8.6/Makefile.am 2005-12-07 21:31:10 +0100
+@@ -1,6 +1,6 @@
+ ## Makefile.am for GTK+
+
+-SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
++SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests perf contrib
+ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
+
+ # require automake 1.4
diff --git a/meta/packages/gtk+/gtk+-2.8.16/no-xwc.patch b/meta/packages/gtk+/gtk+-2.8.16/no-xwc.patch
new file mode 100644
index 0000000000..318b150359
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/no-xwc.patch
@@ -0,0 +1,179 @@
+Index: configure.in
+===================================================================
+RCS file: /cvs/gnome/gtk+/configure.in,v
+retrieving revision 1.469.2.22
+diff -u -r1.469.2.22 configure.in
+--- gtk/configure.in 16 Mar 2006 16:39:45 -0000 1.469.2.22
++++ gtk/configure.in 20 Mar 2006 12:07:11 -0000
+@@ -1115,6 +1115,8 @@
+
+ AC_CHECK_FUNCS(XConvertCase XInternAtoms)
+
++ AC_CHECK_FUNCS(XmbDrawString)
++
+ # Generic X11R6 check needed for XIM support; we could
+ # probably use this to replace the above, but we'll
+ # leave the separate checks for XConvertCase and XInternAtoms
+Index: gdk/x11/gdkdrawable-x11.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gdk/x11/gdkdrawable-x11.c,v
+retrieving revision 1.58
+diff -u -r1.58 gdkdrawable-x11.c
+--- gtk/gdk/x11/gdkdrawable-x11.c 15 Aug 2005 19:04:54 -0000 1.58
++++ gtk/gdk/x11/gdkdrawable-x11.c 20 Mar 2006 12:07:12 -0000
+@@ -579,12 +579,14 @@
+ GDK_GC_GET_XGC (gc), x, y, (XChar2b *) text, text_length / 2);
+ }
+ }
++#ifdef HAVE_XMBDRAWSTRING
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ XFontSet fontset = (XFontSet) GDK_FONT_XFONT (font);
+ XmbDrawString (xdisplay, impl->xid,
+ fontset, GDK_GC_GET_XGC (gc), x, y, text, text_length);
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+@@ -616,6 +618,7 @@
+ GDK_GC_GET_XGC (gc), x, y, text_8bit, text_length);
+ g_free (text_8bit);
+ }
++#ifdef HAVE_XMBDRAWSTRING
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+@@ -636,6 +639,7 @@
+ g_free (text_wchar);
+ }
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
+Index: gdk/x11/gdkfont-x11.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gdk/x11/gdkfont-x11.c,v
+retrieving revision 1.48.2.1
+diff -u -r1.48.2.1 gdkfont-x11.c
+--- gtk/gdk/x11/gdkfont-x11.c 20 Jan 2006 04:39:43 -0000 1.48.2.1
++++ gtk/gdk/x11/gdkfont-x11.c 20 Mar 2006 12:07:12 -0000
+@@ -527,10 +527,12 @@
+ width = XTextWidth16 (xfont, (XChar2b *) text, text_length / 2);
+ }
+ break;
++#ifdef HAVE_XMBDRAWSTRING
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ width = XmbTextEscapement (fontset, text, text_length);
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -580,6 +582,7 @@
+ width = 0;
+ }
+ break;
++#ifdef HAVE_XMBDRAWSTRING
+ case GDK_FONT_FONTSET:
+ if (sizeof(GdkWChar) == sizeof(wchar_t))
+ {
+@@ -597,6 +600,7 @@
+ g_free (text_wchar);
+ }
+ break;
++#endif
+ default:
+ width = 0;
+ }
+@@ -669,6 +673,7 @@
+ if (descent)
+ *descent = overall.descent;
+ break;
++#ifdef HAVE_XMBDRAWSTRING
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+ XmbTextExtents (fontset, text, text_length, &ink, &logical);
+@@ -683,6 +688,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+@@ -755,6 +761,7 @@
+ *descent = overall.descent;
+ break;
+ }
++#ifdef HAVE_XMBDRAWSTRING
+ case GDK_FONT_FONTSET:
+ fontset = (XFontSet) private->xfont;
+
+@@ -782,6 +789,7 @@
+ if (descent)
+ *descent = ink.y + ink.height;
+ break;
++#endif
+ }
+
+ }
+Index: gdk/x11/gdkim-x11.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gdk/x11/gdkim-x11.c,v
+retrieving revision 1.38
+diff -u -r1.38 gdkim-x11.c
+--- gtk/gdk/x11/gdkim-x11.c 16 Mar 2005 03:17:27 -0000 1.38
++++ gtk/gdk/x11/gdkim-x11.c 20 Mar 2006 12:07:12 -0000
+@@ -48,6 +48,7 @@
+ void
+ _gdk_x11_initialize_locale (void)
+ {
++#ifdef HAVE_XMBDRAWSTRING
+ wchar_t result;
+ gchar *current_locale;
+ static char *last_locale = NULL;
+@@ -93,7 +94,8 @@
+ GDK_NOTE (XIM,
+ g_message ("%s multi-byte string functions.",
+ gdk_use_mb ? "Using" : "Not using"));
+-
++#endif
++
+ return;
+ }
+
+@@ -136,6 +138,7 @@
+ {
+ gchar *mbstr;
+
++#ifdef HAVE_XMBDRAWSTRING
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -178,6 +181,7 @@
+ XFree (tpr.value);
+ }
+ else
++#endif
+ {
+ gint length = 0;
+ gint i;
+@@ -210,6 +214,7 @@
+ gint
+ gdk_mbstowcs (GdkWChar *dest, const gchar *src, gint dest_max)
+ {
++#ifdef HAVE_XMBDRAWSTRING
+ if (gdk_use_mb)
+ {
+ GdkDisplay *display = find_a_display ();
+@@ -242,6 +247,7 @@
+ return len_cpy;
+ }
+ else
++#endif
+ {
+ gint i;
+
diff --git a/meta/packages/gtk+/gtk+-2.8.16/scroll-timings.patch b/meta/packages/gtk+/gtk+-2.8.16/scroll-timings.patch
new file mode 100644
index 0000000000..a38b21dcc2
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/scroll-timings.patch
@@ -0,0 +1,15 @@
+--- gtk+-2.4.4/gtk/gtkrange.c~ 2004-08-23 01:50:22.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkrange.c 2004-08-27 15:48:49.000000000 +0100
+@@ -35,9 +35,9 @@
+ #include "gtkintl.h"
+ #include "gtkscrollbar.h"
+
+-#define SCROLL_INITIAL_DELAY 250 /* must hold button this long before ... */
+-#define SCROLL_LATER_DELAY 100 /* ... it starts repeating at this rate */
+-#define UPDATE_DELAY 300 /* Delay for queued update */
++#define SCROLL_INITIAL_DELAY 500 /* must hold button this long before ... */
++#define SCROLL_LATER_DELAY 200 /* ... it starts repeating at this rate */
++#define UPDATE_DELAY 1000 /* Delay for queued update */
+
+ enum {
+ PROP_0,
diff --git a/meta/packages/gtk+/gtk+-2.8.16/single-click.patch b/meta/packages/gtk+/gtk+-2.8.16/single-click.patch
new file mode 100644
index 0000000000..1bf0db12a8
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/single-click.patch
@@ -0,0 +1,36 @@
+--- gtk+-2.8.6/gtk/gtkfilesel.c.orig 2005-12-07 21:13:33 +0100
++++ gtk+-2.8.6/gtk/gtkfilesel.c 2005-12-07 21:14:56 +0100
+@@ -2461,6 +2461,33 @@
+ if (fs->last_selected != NULL)
+ g_free (fs->last_selected);
+
++ // Single-click directory entry
++ if (new_names->len == 1)
++ {
++ GtkTreeView *tree_view;
++ GtkTreeModel *model;
++ GtkTreePath *path;
++ GtkTreeIter iter;
++ gboolean is_file;
++
++ tree_view = gtk_tree_selection_get_tree_view (selection);
++
++ if (gtk_tree_selection_get_selected (selection, &model, &iter))
++ {
++ path = gtk_tree_model_get_path (model, &iter);
++ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
++
++ if (!is_file)
++ {
++ gtk_file_selection_dir_activate (tree_view, path,
++ gtk_tree_view_get_column (tree_view, DIR_COLUMN),
++ user_data);
++ }
++
++ gtk_tree_path_free (path);
++ }
++ }
++
+ fs->last_selected = g_strdup (g_ptr_array_index (new_names, index));
+ filename = get_real_filename (fs->last_selected, FALSE);
+
diff --git a/meta/packages/gtk+/gtk+-2.8.16/small-gtkfilesel.patch b/meta/packages/gtk+/gtk+-2.8.16/small-gtkfilesel.patch
new file mode 100644
index 0000000000..20bf4cf366
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/small-gtkfilesel.patch
@@ -0,0 +1,267 @@
+diff -urNd ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c gtk+-2.4.4/gtk/gtkfilesel.c
+--- ../gtk+-2.4.4-r5/gtk+-2.4.4/gtk/gtkfilesel.c 2004-07-10 05:02:10.000000000 +0100
++++ gtk+-2.4.4/gtk/gtkfilesel.c 2004-09-13 13:40:09.000000000 +0100
+@@ -68,6 +68,7 @@
+ #include "gtkprivate.h"
+ #include "gtkscrolledwindow.h"
+ #include "gtkstock.h"
++#include "gtksignal.h"
+ #include "gtktreeselection.h"
+ #include "gtktreeview.h"
+ #include "gtkvbox.h"
+@@ -77,6 +78,7 @@
+ #include "gtkmessagedialog.h"
+ #include "gtkdnd.h"
+ #include "gtkeventbox.h"
++#include "gtkimage.h"
+
+ #undef GTK_DISABLE_DEPRECATED
+ #include "gtkoptionmenu.h"
+@@ -245,7 +247,8 @@
+ };
+
+ enum {
+- DIR_COLUMN
++ DIR_COLUMN,
++ ISFILE_COLUMN
+ };
+
+ enum {
+@@ -400,6 +403,12 @@
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+ gpointer user_data);
++
++static void gtk_file_selection_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ gpointer user_data);
++
+ static void gtk_file_selection_file_changed (GtkTreeSelection *selection,
+ gpointer user_data);
+ static void gtk_file_selection_dir_activate (GtkTreeView *tree_view,
+@@ -419,6 +428,7 @@
+ static void gtk_file_selection_create_dir (GtkWidget *widget, gpointer data);
+ static void gtk_file_selection_delete_file (GtkWidget *widget, gpointer data);
+ static void gtk_file_selection_rename_file (GtkWidget *widget, gpointer data);
++static void gtk_file_selection_style_set (GtkWidget *widget, GtkStyle *prev_style);
+
+ static void free_selected_names (GPtrArray *names);
+
+@@ -578,6 +588,23 @@
+ G_PARAM_WRITABLE));
+ object_class->destroy = gtk_file_selection_destroy;
+ widget_class->map = gtk_file_selection_map;
++ widget_class->style_set = gtk_file_selection_style_set;
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_boolean ("show_fileops_default",
++ _("Show fileop buttons by default"),
++ _("Whether file operation buttons are shown by default"),
++ TRUE,
++ G_PARAM_READABLE));
++
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("border_width",
++ _("Border width"),
++ _("Width of border around the main dialog area"),
++ 0,
++ G_MAXINT,
++ 10,
++ G_PARAM_READABLE));
+ }
+
+ static void gtk_file_selection_set_property (GObject *object,
+@@ -649,7 +676,29 @@
+ gtk_widget_grab_default (widget);
+ return FALSE;
+ }
+-
++
++static void
++gtk_file_selection_style_set (GtkWidget *filesel,
++ GtkStyle *prev_style)
++{
++ gboolean show_fileops;
++ gint border_width;
++
++ gtk_widget_style_get (filesel,
++ "show_fileops_default",
++ &show_fileops,
++ "border_width",
++ &border_width,
++ NULL);
++
++ gtk_container_set_border_width (GTK_CONTAINER (filesel), border_width);
++
++ if (show_fileops)
++ gtk_file_selection_show_fileop_buttons (GTK_FILE_SELECTION (filesel));
++ else
++ gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (filesel));
++}
++
+ static void
+ gtk_file_selection_init (GtkFileSelection *filesel)
+ {
+@@ -674,17 +723,15 @@
+
+ /* The dialog-sized vertical box */
+ filesel->main_vbox = dialog->vbox;
+- gtk_container_set_border_width (GTK_CONTAINER (filesel), 10);
+
+ /* The horizontal box containing create, rename etc. buttons */
+ filesel->button_area = gtk_hbutton_box_new ();
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (filesel->button_area), GTK_BUTTONBOX_START);
+- gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0);
+ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->button_area,
+ FALSE, FALSE, 0);
+ gtk_widget_show (filesel->button_area);
+
+- gtk_file_selection_show_fileop_buttons (filesel);
++ gtk_file_selection_style_set (GTK_WIDGET (filesel), NULL);
+
+ /* hbox for pulldown menu */
+ pulldown_hbox = gtk_hbox_new (TRUE, 5);
+@@ -723,25 +770,32 @@
+
+ /* The directories list */
+
+- model = gtk_list_store_new (1, G_TYPE_STRING);
++ model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); /* MA */
+ filesel->dir_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+ g_object_unref (model);
+
+- column = gtk_tree_view_column_new_with_attributes (_("Folders"),
++ column = gtk_tree_view_column_new_with_attributes (/*_("Folders")*/ NULL,
+ gtk_cell_renderer_text_new (),
+ "text", DIR_COLUMN,
+ NULL);
+ label = gtk_label_new_with_mnemonic (_("Fol_ders"));
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->dir_list);
+ gtk_widget_show (label);
+- gtk_tree_view_column_set_widget (column, label);
++
++ /* gtk_tree_view_column_set_widget (column, label); */
++ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (filesel->dir_list), FALSE);
++
+ gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->dir_list), column);
+
+ gtk_widget_set_size_request (filesel->dir_list,
+ DIR_LIST_WIDTH, DIR_LIST_HEIGHT);
+ g_signal_connect (filesel->dir_list, "row_activated",
+- G_CALLBACK (gtk_file_selection_dir_activate), filesel);
++ G_CALLBACK (gtk_file_selection_activate), filesel);
++
++ g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->dir_list)), "changed",
++ G_CALLBACK (gtk_file_selection_file_changed), filesel);
++
+
+ /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->dir_list)); */
+
+@@ -758,41 +812,6 @@
+ gtk_widget_show (filesel->dir_list);
+ gtk_widget_show (scrolled_win);
+
+- /* The files list */
+- model = gtk_list_store_new (1, G_TYPE_STRING);
+- filesel->file_list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+- g_object_unref (model);
+-
+- column = gtk_tree_view_column_new_with_attributes (_("Files"),
+- gtk_cell_renderer_text_new (),
+- "text", FILE_COLUMN,
+- NULL);
+- label = gtk_label_new_with_mnemonic (_("_Files"));
+- gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->file_list);
+- gtk_widget_show (label);
+- gtk_tree_view_column_set_widget (column, label);
+- gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+- gtk_tree_view_append_column (GTK_TREE_VIEW (filesel->file_list), column);
+-
+- gtk_widget_set_size_request (filesel->file_list,
+- FILE_LIST_WIDTH, FILE_LIST_HEIGHT);
+- g_signal_connect (filesel->file_list, "row_activated",
+- G_CALLBACK (gtk_file_selection_file_activate), filesel);
+- g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW (filesel->file_list)), "changed",
+- G_CALLBACK (gtk_file_selection_file_changed), filesel);
+-
+- /* gtk_clist_column_titles_passive (GTK_CLIST (filesel->file_list)); */
+-
+- scrolled_win = gtk_scrolled_window_new (NULL, NULL);
+- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_win), GTK_SHADOW_IN);
+- gtk_container_add (GTK_CONTAINER (scrolled_win), filesel->file_list);
+- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
+- GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+- gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 0);
+- gtk_container_add (GTK_CONTAINER (list_container), scrolled_win);
+- gtk_widget_show (filesel->file_list);
+- gtk_widget_show (scrolled_win);
+-
+ /* action area for packing buttons into. */
+ filesel->action_area = gtk_hbox_new (TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->action_area,
+@@ -2008,6 +2027,23 @@
+ }
+
+ static void
++gtk_file_selection_activate (GtkTreeView *tree_view,
++ GtkTreePath *path,
++ GtkTreeViewColumn *column,
++ gpointer user_data)
++{
++ GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
++ GtkTreeIter iter;
++ gboolean is_file;
++
++ gtk_tree_model_get_iter (model, &iter, path);
++ gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
++
++ if (! is_file)
++ gtk_file_selection_dir_activate (tree_view, path, column, user_data);
++}
++
++static void
+ gtk_file_selection_file_activate (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ GtkTreeViewColumn *column,
+@@ -2103,7 +2139,6 @@
+ PossibleCompletion* poss;
+ GtkTreeIter iter;
+ GtkListStore *dir_model;
+- GtkListStore *file_model;
+ gchar* filename;
+ gchar* rem_path = rel_path;
+ gchar* sel_text;
+@@ -2125,10 +2160,8 @@
+ g_assert (cmpl_state->reference_dir);
+
+ dir_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->dir_list)));
+- file_model = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (fs->file_list)));
+
+ gtk_list_store_clear (dir_model);
+- gtk_list_store_clear (file_model);
+
+ /* Set the dir list to include ./ and ../ */
+ gtk_list_store_append (dir_model, &iter);
+@@ -2150,13 +2183,17 @@
+ strcmp (filename, ".." G_DIR_SEPARATOR_S) != 0)
+ {
+ gtk_list_store_append (dir_model, &iter);
+- gtk_list_store_set (dir_model, &iter, DIR_COLUMN, filename, -1);
++ gtk_list_store_set (dir_model, &iter,
++ DIR_COLUMN, filename,
++ ISFILE_COLUMN, FALSE, -1);
+ }
+ }
+ else
+ {
+- gtk_list_store_append (file_model, &iter);
+- gtk_list_store_set (file_model, &iter, DIR_COLUMN, filename, -1);
++ gtk_list_store_append (dir_model, &iter);
++ gtk_list_store_set (dir_model, &iter,
++ DIR_COLUMN, filename,
++ ISFILE_COLUMN, TRUE, -1);
+ }
+ }
+
diff --git a/meta/packages/gtk+/gtk+-2.8.16/spinbutton.patch b/meta/packages/gtk+/gtk+-2.8.16/spinbutton.patch
new file mode 100644
index 0000000000..8ad7507af0
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/spinbutton.patch
@@ -0,0 +1,128 @@
+--- gtk+-2.4.3/gtk/gtkspinbutton.c.old 2004-04-22 14:49:27.000000000 +0100
++++ gtk+-2.4.3/gtk/gtkspinbutton.c 2004-06-30 21:48:18.000000000 +0100
+@@ -733,7 +733,7 @@
+
+ spin = GTK_SPIN_BUTTON (widget);
+ arrow_size = spin_button_get_arrow_size (spin);
+- panel_width = arrow_size + 2 * widget->style->xthickness;
++ panel_width = (2 * arrow_size) + 4 * widget->style->xthickness;
+
+ widget->allocation = *allocation;
+
+@@ -866,19 +866,16 @@
+ {
+ width = spin_button_get_arrow_size (spin_button) + 2 * widget->style->xthickness;
+
++ y = widget->style->ythickness;
++ height = widget->requisition.height - (2 * y);
++
+ if (arrow_type == GTK_ARROW_UP)
+ {
+ x = 0;
+- y = 0;
+-
+- height = widget->requisition.height / 2;
+ }
+ else
+ {
+- x = 0;
+- y = widget->requisition.height / 2;
+-
+- height = (widget->requisition.height + 1) / 2;
++ x = width;
+ }
+
+ if (spin_button_at_limit (spin_button, arrow_type))
+@@ -908,32 +905,17 @@
+ shadow_type = GTK_SHADOW_OUT;
+ }
+ }
+-
++
+ gtk_paint_box (widget->style, spin_button->panel,
+ state_type, shadow_type,
+ NULL, widget,
+- (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down",
++ NULL,
+ x, y, width, height);
+
+ height = widget->requisition.height;
+
+- if (arrow_type == GTK_ARROW_DOWN)
+- {
+- y = height / 2;
+- height = height - y - 2;
+- }
+- else
+- {
+- y = 2;
+- height = height / 2 - 2;
+- }
+-
+ width -= 3;
+-
+- if (widget && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+- x = 2;
+- else
+- x = 1;
++ height -= 3;
+
+ w = width / 2;
+ w -= w % 2 - 1; /* force odd */
+@@ -1108,7 +1090,7 @@
+ if (GTK_ENTRY (widget)->editable)
+ gtk_spin_button_update (spin);
+
+- if (event->y <= widget->requisition.height / 2)
++ if (event->x <= (spin_button_get_arrow_size (spin) + widget->style->xthickness))
+ {
+ if (event->button == 1)
+ start_spinning (spin, GTK_ARROW_UP, spin->adjustment->step_increment);
+@@ -1143,44 +1125,11 @@
+
+ arrow_size = spin_button_get_arrow_size (spin);
+
+- if (event->button == spin->button)
+- {
+- int click_child = spin->click_child;
++ gtk_spin_button_stop_spinning (spin);
+
+- gtk_spin_button_stop_spinning (spin);
+-
+- if (event->button == 3)
+- {
+- if (event->y >= 0 && event->x >= 0 &&
+- event->y <= widget->requisition.height &&
+- event->x <= arrow_size + 2 * widget->style->xthickness)
+- {
+- if (click_child == GTK_ARROW_UP &&
+- event->y <= widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->upper - spin->adjustment->value;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, diff);
+- }
+- else if (click_child == GTK_ARROW_DOWN &&
+- event->y > widget->requisition.height / 2)
+- {
+- gdouble diff;
+-
+- diff = spin->adjustment->value - spin->adjustment->lower;
+- if (diff > EPSILON)
+- gtk_spin_button_real_spin (spin, -diff);
+- }
+- }
+- }
+- spin_button_redraw (spin);
++ spin_button_redraw (spin);
+
+- return TRUE;
+- }
+- else
+- return GTK_WIDGET_CLASS (parent_class)->button_release_event (widget, event);
++ return TRUE;
+ }
+
+ static gint
diff --git a/meta/packages/gtk+/gtk+-2.8.16/xsettings.patch b/meta/packages/gtk+/gtk+-2.8.16/xsettings.patch
new file mode 100644
index 0000000000..b63e262d34
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.8.16/xsettings.patch
@@ -0,0 +1,16 @@
+--- gtk+-2.4.4/gdk/x11/gdkevents-x11.c.old Sun Aug 22 17:14:00 2004
++++ gtk+-2.4.4/gdk/x11/gdkevents-x11.c Sun Aug 22 17:14:00 2004
+@@ -2827,10 +2827,9 @@
+ {
+ GdkScreenX11 *screen = data;
+
+- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent))
+- return GDK_FILTER_REMOVE;
+- else
+- return GDK_FILTER_CONTINUE;
++ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent);
++
++ return GDK_FILTER_CONTINUE;
+ }
+
+ static void
diff --git a/meta/packages/gtk+/gtk+_2.10.0.bb b/meta/packages/gtk+/gtk+_2.10.0.bb
new file mode 100644
index 0000000000..a502a30aec
--- /dev/null
+++ b/meta/packages/gtk+/gtk+_2.10.0.bb
@@ -0,0 +1,97 @@
+LICENSE = "LGPL"
+DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Jorn Baayen <jorn@openedhand.com>"
+DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cairo"
+PR = "r1"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.10/gtk+-${PV}.tar.bz2 \
+ file://gtkbuiltincache.h \
+ file://cellrenderer-cairo.patch;patch=1 \
+ file://entry-cairo.patch;patch=1 \
+ file://style-cairo.patch;patch=1 \
+ file://no-generate-builtincache.patch;patch=1 \
+ file://no-xwc.patch;patch=1 \
+ file://automake-lossage.patch;patch=1 \
+# file://spinbutton.patch;patch=1 \
+ file://hardcoded_libtool.patch;patch=1 \
+ file://disable-tooltips.patch;patch=1 \
+ file://gtklabel-resize-patch;patch=1 \
+ file://gtktreeview-316689.patch;patch=1 \
+# file://menu-deactivate.patch;patch=1 \
+# file://xsettings.patch;patch=1 \
+# file://scroll-timings.patch;patch=1 \
+# file://small-gtkfilesel.patch;patch=1 \
+# file://migration.patch;patch=1;pnum=0 \
+ file://no-demos.patch;patch=1"
+# file://gtk+-handhelds.patch;patch=1 \
+# file://single-click.patch;patch=1"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
+ ${bindir}/gtk-query-immodules-2.0 \
+ ${bindir}/gtk-update-icon-cache \
+ ${libdir}/lib*.so.* \
+ ${datadir}/themes ${sysconfdir} \
+ ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
+FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+
+EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
+# --disable-cruft
+
+LIBV = "2.10.0"
+
+do_rig () {
+ cp ${S}/gtkbuiltincache.h ${WORKDIR}/gtk
+}
+
+addtask rig before patch
+
+do_stage () {
+ oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
+ install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
+
+ install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/gtk-2.0
+}
+
+postinst_prologue() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+}
+
+PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-*"
+
+python populate_packages_prepend () {
+ import os.path
+
+ prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+ gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
+ loaders_root = os.path.join(gtk_libdir, 'loaders')
+ immodules_root = os.path.join(gtk_libdir, 'immodules')
+
+ do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
+ do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules > /etc/gtk-2.0/gtk.immodules')
+
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
+}
diff --git a/meta/packages/gtk+/gtk+_2.6.4-1.osso7.bb b/meta/packages/gtk+/gtk+_2.6.4-1.osso7.bb
new file mode 100644
index 0000000000..e2065b3faa
--- /dev/null
+++ b/meta/packages/gtk+/gtk+_2.6.4-1.osso7.bb
@@ -0,0 +1,167 @@
+LICENSE = "LGPL"
+DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Koen Kooi <koen@handhelds.org>"
+DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
+PR = "r1"
+
+S = "${WORKDIR}/gtk+2.0-2.6.4/upstream/tarballs/gtk+-2.6.4/"
+
+SRC_URI = "http://stage.maemo.org:80/pool/maemo/ossw/source/g/gtk+2.0/gtk+2.0_${PV}.tar.gz \
+ file://no-demos.patch;patch=1 \
+ file://no-xwc.patch;patch=1 \
+ file://automake-lossage.patch;patch=1 \
+ file://spinbutton.patch;patch=1 \
+ file://hardcoded_libtool.patch;patch=1 \
+ file://disable-tooltips.patch;patch=1 \
+ file://gtklabel-resize-patch;patch=1 \
+ file://xsettings.patch;patch=1 \
+ file://scroll-timings.patch;patch=1 \
+ file://small-gtkfilesel.patch;patch=1 \
+ file://migration.patch;patch=1;pnum=0 \
+ file://000_gtk+-2.0.6-exportsymbols.patch;patch=1 \
+ file://000_gtk+-2.2.0-buildfix-immodule.patch;patch=1 \
+ file://002_xpmico.patch;patch=1 \
+ file://003_iconcache.patch;patch=1 \
+ file://configure.diff;patch=1 \
+ file://configure.in.diff;patch=1 \
+ file://gdkwindow-x11.c.diff;patch=1 \
+ file://gtk.h.diff;patch=1 \
+ file://gtk_Makefile.am.diff;patch=1 \
+ file://gtk_Makefile.in.diff;patch=1 \
+ file://gtkalias.h.diff;patch=1 \
+ file://gtkbutton.c.diff;patch=1 \
+ file://gtkbutton.h.diff;patch=1 \
+ file://gtkcalendar.c.diff;patch=1 \
+ file://gtkcalendar.h.diff;patch=1 \
+ file://gtkcellrenderertext.c.diff;patch=1 \
+ file://gtkcellrenderertoggle.c.diff;patch=1 \
+ file://gtkcellview.c.diff;patch=1 \
+ file://gtkcellview.h.diff;patch=1 \
+ file://gtkcheckbutton.c.diff;patch=1 \
+ file://gtkcombobox.c.diff;patch=1 \
+ file://gtkcomboboxentry.c.diff;patch=1 \
+ file://gtkcontainer.c.diff;patch=1 \
+ file://gtkdialog.c.diff;patch=1 \
+ file://gtkdnd.c.diff;patch=1 \
+ file://gtkentry.c.diff;patch=1 \
+ file://gtkenums.h.diff;patch=1 \
+ file://gtkfilesystem.c.diff;patch=1 \
+ file://gtkfilesystem.h.diff;patch=1 \
+ file://gtkframe.c.diff;patch=1 \
+ file://gtkhashtable.c.diff;patch=1 \
+ file://gtkhashtable.h.diff;patch=1 \
+ file://gtkhbbox.c.diff;patch=1 \
+ file://gtkhseparator.c.diff;patch=1 \
+ file://gtkiconfactory.c.diff;patch=1 \
+ file://gtkicontheme.c.diff;patch=1 \
+ file://gtkimcontext.c.diff;patch=1 \
+ file://gtkimcontext.h.diff;patch=1 \
+ file://gtkimmulticontext.c.diff;patch=1 \
+ file://gtklabel.c.diff;patch=1 \
+ file://gtklabel.h.diff;patch=1 \
+ file://gtkmain.c.diff;patch=1 \
+ file://gtkmarshal.c.diff;patch=1 \
+ file://gtkmarshal.h.diff;patch=1 \
+ file://gtkmarshalers.c.diff;patch=1 \
+ file://gtkmarshalers.h.diff;patch=1 \
+ file://gtkmenu.c.diff;patch=1 \
+ file://gtkmenu.h.diff;patch=1 \
+ file://gtkmenuitem.c.diff;patch=1 \
+ file://gtkmenuitem.h.diff;patch=1 \
+ file://gtkmenushell.c.diff;patch=1 \
+ file://gtkmenushell.h.diff;patch=1 \
+ file://gtknotebook.c.diff;patch=1 \
+ file://gtkprogress.c.diff;patch=1 \
+ file://gtkprogressbar.c.diff;patch=1 \
+ file://gtkradiobutton.c.diff;patch=1 \
+ file://gtkrange.c.diff;patch=1 \
+ file://gtkrange.h.diff;patch=1 \
+ file://gtkrbtree.c.diff;patch=1 \
+ file://gtkrc.c.diff;patch=1 \
+ file://gtkrc.h.diff;patch=1 \
+ file://gtkscrolledwindow.c.diff;patch=1 \
+ file://gtkseparator.c.diff;patch=1 \
+ file://gtkseparatortoolitem.c.diff;patch=1 \
+ file://gtksettings.c.diff;patch=1 \
+ file://gtkspinbutton.c.diff;patch=1 \
+ file://gtkstyle.c.diff;patch=1 \
+ file://gtkstyle.h.diff;patch=1 \
+ file://gtktable.c.diff;patch=1 \
+ file://gtktextbuffer.c.diff;patch=1 \
+ file://gtktextbuffer.h.diff;patch=1 \
+ file://gtktextbufferserialize.c.diff;patch=1 \
+ file://gtktextbufferserialize.h.diff;patch=1 \
+ file://gtktextview.c.diff;patch=1 \
+ file://gtktoolbar.c.diff;patch=1 \
+ file://gtktoolbutton.c.diff;patch=1 \
+ file://gtktoolbutton.h.diff;patch=1 \
+ file://gtktreemodelfilter.c.diff;patch=1 \
+ file://gtktreemodelsort.c.diff;patch=1 \
+ file://gtktreeprivate.h.diff;patch=1 \
+ file://gtktreeselection.c.diff;patch=1 \
+ file://gtktreeview.c.diff;patch=1 \
+ file://gtktreeview.h.diff;patch=1 \
+ file://gtktreeviewcolumn.c.diff;patch=1 \
+ file://gtktypebuiltins.c.diff;patch=1 \
+ file://gtktypebuiltins.h.diff;patch=1 \
+ file://gtkvseparator.c.diff;patch=1 \
+ file://gtkwidget.c.diff;patch=1 \
+ file://gtkwidget.h.diff;patch=1 \
+ file://gtkwindow.c.diff;patch=1 \
+ file://gtkwindow.h.diff;patch=1 \
+ file://io-gif-animation.c.diff;patch=1 \
+ file://io-gif.c.diff;patch=1"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
+ ${bindir}/gtk-query-immodules-2.0 \
+ ${libdir}/lib*.so.* \
+ ${datadir}/themes ${sysconfdir} \
+ ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
+FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+
+EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
+# --disable-cruft
+
+LIBV = "2.4.0"
+
+do_stage () {
+ oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
+ install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
+
+ install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/gtk-2.0
+}
+
+PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-*"
+
+python populate_packages_prepend () {
+ import os.path
+
+ gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
+ loaders_root = os.path.join(gtk_libdir, 'loaders')
+ immodules_root = os.path.join(gtk_libdir, 'immodules')
+
+ do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
+ do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', 'gtk-query-immodules > /etc/gtk-2.0/gtk.immodules')
+
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
+}
diff --git a/meta/packages/gtk+/gtk+_2.6.7.bb b/meta/packages/gtk+/gtk+_2.6.7.bb
new file mode 100644
index 0000000000..080db44c02
--- /dev/null
+++ b/meta/packages/gtk+/gtk+_2.6.7.bb
@@ -0,0 +1,83 @@
+LICENSE = "LGPL"
+DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
+PR = "r5"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
+ file://no-demos.patch;patch=1 \
+ file://no-xwc.patch;patch=1 \
+ file://automake-lossage.patch;patch=1 \
+ file://gtk+-handhelds.patch;patch=1 \
+ file://hardcoded_libtool.patch;patch=1 \
+ file://disable-tooltips.patch;patch=1 \
+ file://gtklabel-resize-patch;patch=1 \
+ file://gtklabel-center.patch;patch=1 \
+ file://menu-deactivate.patch;patch=1 \
+ file://scroll-timings.patch;patch=1 \
+ file://small-gtkfilesel.patch;patch=1 \
+ file://migration.patch;patch=1;pnum=0 \
+ file://single-click.patch;patch=1"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
+ ${bindir}/gtk-query-immodules-2.0 \
+ ${bindir}/gtk-update-icon-cache \
+ ${libdir}/lib*.so.* \
+ ${datadir}/themes ${sysconfdir} \
+ ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
+FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+
+EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
+# --disable-cruft
+
+LIBV = "2.4.0"
+
+do_stage () {
+ oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
+ install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
+
+ install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/gtk-2.0
+}
+
+postinst_prologue() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+}
+
+PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-*"
+
+python populate_packages_prepend () {
+ import os.path
+
+ prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+ gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
+ loaders_root = os.path.join(gtk_libdir, 'loaders')
+ immodules_root = os.path.join(gtk_libdir, 'immodules')
+
+ do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
+ do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules > /etc/gtk-2.0/gtk.immodules')
+
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
+}
diff --git a/meta/packages/gtk+/gtk+_2.6.8.bb b/meta/packages/gtk+/gtk+_2.6.8.bb
new file mode 100644
index 0000000000..f4f373c12e
--- /dev/null
+++ b/meta/packages/gtk+/gtk+_2.6.8.bb
@@ -0,0 +1,80 @@
+LICENSE = "LGPL"
+DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
+ file://no-demos.patch;patch=1 \
+ file://no-xwc.patch;patch=1 \
+ file://automake-lossage.patch;patch=1 \
+ file://gtk+-handhelds.patch;patch=1 \
+ file://hardcoded_libtool.patch;patch=1 \
+ file://disable-tooltips.patch;patch=1 \
+ file://gtklabel-resize-patch;patch=1 \
+ file://menu-deactivate.patch;patch=1 \
+ file://scroll-timings.patch;patch=1 \
+ file://migration.patch;patch=1;pnum=0 \
+ file://no-deprecation.patch;patch=1"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
+ ${bindir}/gtk-query-immodules-2.0 \
+ ${bindir}/gtk-update-icon-cache \
+ ${libdir}/lib*.so.* \
+ ${datadir}/themes ${sysconfdir} \
+ ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
+FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+
+EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
+# --disable-cruft
+
+LIBV = "2.4.0"
+
+do_stage () {
+ oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
+ install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
+
+ install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/gtk-2.0
+}
+
+postinst_prologue() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+}
+
+PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-*"
+
+python populate_packages_prepend () {
+ import os.path
+
+ prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+ gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
+ loaders_root = os.path.join(gtk_libdir, 'loaders')
+ immodules_root = os.path.join(gtk_libdir, 'immodules')
+
+ do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
+ do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules > /etc/gtk-2.0/gtk.immodules')
+
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
+}
diff --git a/meta/packages/gtk+/gtk+_2.8.16.bb b/meta/packages/gtk+/gtk+_2.8.16.bb
new file mode 100644
index 0000000000..93710dd18b
--- /dev/null
+++ b/meta/packages/gtk+/gtk+_2.8.16.bb
@@ -0,0 +1,86 @@
+LICENSE = "LGPL"
+DESCRIPTION = "GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete \
+set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites."
+HOMEPAGE = "http://www.gtk.org"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Philip Blundell <pb@handhelds.org>"
+DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt cairo"
+PR = "r2"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-${PV}.tar.bz2 \
+ file://no-xwc.patch;patch=1 \
+ file://automake-lossage.patch;patch=1 \
+ file://spinbutton.patch;patch=1 \
+ file://hardcoded_libtool.patch;patch=1 \
+ file://disable-tooltips.patch;patch=1 \
+ file://gtklabel-resize-patch;patch=1 \
+ file://gtktreeview-316689.patch;patch=1 \
+# file://menu-deactivate.patch;patch=1 \
+# file://xsettings.patch;patch=1 \
+# file://scroll-timings.patch;patch=1 \
+# file://small-gtkfilesel.patch;patch=1 \
+# file://migration.patch;patch=1;pnum=0 \
+ file://no-demos.patch;patch=1"
+# file://gtk+-handhelds.patch;patch=1 \
+# file://single-click.patch;patch=1"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir}/gdk-pixbuf-query-loaders \
+ ${bindir}/gtk-query-immodules-2.0 \
+ ${bindir}/gtk-update-icon-cache \
+ ${libdir}/lib*.so.* \
+ ${datadir}/themes ${sysconfdir} \
+ ${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
+FILES_${PN}-dev += "${datadir}/gtk-2.0/include ${libdir}/gtk-2.0/include ${bindir}/gdk-pixbuf-csource"
+
+RRECOMMENDS_${PN} = "glibc-gconv-iso8859-1"
+
+EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-display-migration"
+# --disable-cruft
+
+LIBV = "2.4.0"
+
+do_stage () {
+ oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C contrib/gdk-pixbuf-xlib libgdk_pixbuf_xlib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gdk-pixbuf libgdk_pixbuf-2.0 ${STAGING_LIBDIR}
+
+ autotools_stage_includes
+
+ mkdir -p ${STAGING_LIBDIR}/gtk-2.0/include
+ install -m 0644 gdk/gdkconfig.h ${STAGING_LIBDIR}/gtk-2.0/include/gdkconfig.h
+
+ install -m 0644 m4macros/gtk-2.0.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/gtk-2.0
+}
+
+postinst_prologue() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+}
+
+PACKAGES_DYNAMIC = "gdk-pixbuf-loader-* gtk-immodule-*"
+
+python populate_packages_prepend () {
+ import os.path
+
+ prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+ gtk_libdir = bb.data.expand('${libdir}/gtk-2.0/${LIBV}', d)
+ loaders_root = os.path.join(gtk_libdir, 'loaders')
+ immodules_root = os.path.join(gtk_libdir, 'immodules')
+
+ do_split_packages(d, loaders_root, '^libpixbufloader-(.*)\.so$', 'gdk-pixbuf-loader-%s', 'GDK pixbuf loader for %s', prologue + 'gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders')
+ do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules > /etc/gtk-2.0/gtk.immodules')
+
+ if (bb.data.getVar('DEBIAN_NAMES', d, 1)):
+ bb.data.setVar('PKG_${PN}', 'libgtk-2.0', d)
+}
diff --git a/meta/packages/gtk-doc/gtk-doc-native.bb b/meta/packages/gtk-doc/gtk-doc-native.bb
new file mode 100644
index 0000000000..de7d00b273
--- /dev/null
+++ b/meta/packages/gtk-doc/gtk-doc-native.bb
@@ -0,0 +1,3 @@
+SECTION = "x11/base"
+inherit native
+include gtk-doc.bb
diff --git a/meta/packages/gtk-doc/gtk-doc.bb b/meta/packages/gtk-doc/gtk-doc.bb
new file mode 100644
index 0000000000..98b1905fe8
--- /dev/null
+++ b/meta/packages/gtk-doc/gtk-doc.bb
@@ -0,0 +1,8 @@
+SECTION = "x11/base"
+SRC_URI = "file://gtk-doc.m4"
+LICENSE = "LGPL"
+PR="r1"
+
+do_stage() {
+ install -m 0644 ${WORKDIR}/gtk-doc.m4 ${STAGING_DATADIR}/aclocal
+}
diff --git a/meta/packages/gtk-doc/gtk-doc.m4 b/meta/packages/gtk-doc/gtk-doc.m4
new file mode 100644
index 0000000000..af73800bf2
--- /dev/null
+++ b/meta/packages/gtk-doc/gtk-doc.m4
@@ -0,0 +1,53 @@
+dnl -*- mode: autoconf -*-
+
+# serial 1
+
+dnl Usage:
+dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
+AC_DEFUN([GTK_DOC_CHECK],
+[
+ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+ dnl for overriding the documentation installation directory
+ AC_ARG_WITH(html-dir,
+ AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
+ [with_html_dir='${datadir}/gtk-doc/html'])
+ HTML_DIR="$with_html_dir"
+ AC_SUBST(HTML_DIR)
+
+ dnl enable/disable documentation building
+ AC_ARG_ENABLE(gtk-doc,
+ AC_HELP_STRING([--enable-gtk-doc],
+ [use gtk-doc to build documentation [default=no]]),,
+ enable_gtk_doc=no)
+
+ have_gtk_doc=no
+ if test x$enable_gtk_doc = xyes; then
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+ if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
+ have_gtk_doc=yes
+ fi
+
+ dnl do we want to do a version check?
+ifelse([$1],[],,
+ [gtk_doc_min_version=$1
+ if test "$have_gtk_doc" = yes; then
+ AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
+ if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ have_gtk_doc=no
+ fi
+ fi
+])
+ if test "$have_gtk_doc" != yes; then
+ enable_gtk_doc=no
+ fi
+ fi
+
+ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
+ AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
+])
diff --git a/meta/packages/gtk-engines/gtk-clearlooks-engine_0.6.2.bb b/meta/packages/gtk-engines/gtk-clearlooks-engine_0.6.2.bb
new file mode 100644
index 0000000000..34e1212694
--- /dev/null
+++ b/meta/packages/gtk-engines/gtk-clearlooks-engine_0.6.2.bb
@@ -0,0 +1,23 @@
+SECTION = "x11/base"
+DESCRIPTION = "Clearlooks theme engine for GTK"
+MAINTAINER = "Koen Kooi <koenhandhelds.org>"
+LICENSE = "GPL2"
+DEPENDS = "gtk+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/clearlooks/clearlooks-0.6.2.tar.bz2"
+
+S = "${WORKDIR}/clearlooks-${PV}"
+
+PACKAGES += "gtk-theme-clearlooks"
+FILES_${PN} = "${libdir}/gtk-2.0/*/engines/*.so"
+FILES_${PN}-dev = "${libdir}/gtk-2.0/*/engines/*"
+FILES_gtk-theme-clearlooks = "${datadir}/icons ${datadir}/themes"
+
+inherit autotools
+
+do_configure_prepend() {
+ for i in `ls gtk-common`; do
+ ln -sf ../gtk-common/$i gtk2-engine/$i
+ done
+}
+
diff --git a/meta/packages/gtk-engines/gtk-engines_2.7.1.bb b/meta/packages/gtk-engines/gtk-engines_2.7.1.bb
new file mode 100644
index 0000000000..9d57ff72a0
--- /dev/null
+++ b/meta/packages/gtk-engines/gtk-engines_2.7.1.bb
@@ -0,0 +1,32 @@
+LICENSE = "GPL"
+SECTION = "x11/base"
+DESCRIPTION = "GTK theme engines"
+DEPENDS = "gtk+"
+
+DEFAULT_PREFERENCE = "-1"
+
+RDEPENDS_gtk-theme-redmond = "gtk-engine-redmond95"
+RDEPENDS_gtk-theme-metal = "gtk-engine-metal"
+RDEPENDS_gtk-theme-mist = "gtk-engine-mist"
+RDEPENDS_gtk-theme-crux = "gtk-engine-crux-engine"
+RDEPENDS_gtk-theme-lighthouseblue = "gtk-engine-lighthouseblue"
+RDEPENDS_gtk-theme-thinice = "gtk-engine-thinice"
+RDEPENDS_gtk-theme-industrial = "gtk-engine-industrial"
+RDEPENDS_gtk-theme-clearlooks = "gtk-engine-clearlooks"
+
+SRC_URI = "${GNOME_MIRROR}/${PN}/2.7/${PN}-${PV}.tar.bz2"
+
+CFLAGS_prepend = "-DHAVE_ANIMATION "
+
+inherit autotools pkgconfig
+
+python populate_packages_prepend() {
+ import os.path
+
+ engines_root = os.path.join(bb.data.getVar('libdir', d, 1), "gtk-2.0/2.4.0/engines")
+ themes_root = os.path.join(bb.data.getVar('datadir', d, 1), "themes")
+
+ do_split_packages(d, engines_root, '^lib(.*)\.so$', 'gtk-engine-%s', 'GTK %s theme engine', extra_depends='')
+ do_split_packages(d, themes_root, '(.*)', 'gtk-theme-%s', 'GTK theme %s', allow_dirs=True, extra_depends='')
+}
+
diff --git a/meta/packages/gtkhtml2/gtkhtml2_cvs.bb b/meta/packages/gtkhtml2/gtkhtml2_cvs.bb
new file mode 100755
index 0000000000..01360b2077
--- /dev/null
+++ b/meta/packages/gtkhtml2/gtkhtml2_cvs.bb
@@ -0,0 +1,29 @@
+SECTION = "libs"
+DEPENDS = "gtk+ glib-2.0 libxml2"
+DESCRIPTION = "A GTK+ HTML rendering library."
+LICENSE = "GPL"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+PV = "2.11.0+cvs${SRCDATE}"
+PR = "r3"
+
+SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=gtkhtml2 \
+ http://svn.o-hand.com/repos/web/trunk/patches/at-import_box-pos.patch;patch=1;pnum=0 \
+ http://svn.o-hand.com/repos/web/trunk/patches/css-stylesheet-user.patch;patch=1;pnum=0 \
+ http://svn.o-hand.com/repos/web/trunk/patches/css-media.patch;patch=1;pnum=0 \
+ http://svn.o-hand.com/repos/web/trunk/patches/add-end-element-signal.patch;patch=1;pnum=0 \
+ http://svn.o-hand.com/repos/web/trunk/patches/add-dom-functions.patch;patch=1;pnum=0 \
+ http://svn.o-hand.com/repos/web/trunk/patches/iain-mem-leak.patch;patch=1;pnum=0"
+
+S = "${WORKDIR}/${PN}"
+
+inherit pkgconfig autotools
+
+EXTRA_OECONF = " --disable-accessibility"
+
+do_stage() {
+ oe_libinstall -so -C libgtkhtml libgtkhtml-2 ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/gtkhtml-2.0/libgtkhtml
+ ( for i in css document dom dom/core dom/events dom/html dom/traversal dom/views graphics layout layout/html util view; do install -d ${STAGING_INCDIR}/gtkhtml-2.0/libgtkhtml/$i; install -m 0644 ${S}/libgtkhtml/$i/*.h ${STAGING_INCDIR}/gtkhtml-2.0/libgtkhtml/$i; done )
+ install -m 0644 ${S}/libgtkhtml/*.h ${STAGING_INCDIR}/gtkhtml-2.0/libgtkhtml
+}
+
diff --git a/meta/packages/hal/hal_0.5.4.bb b/meta/packages/hal/hal_0.5.4.bb
new file mode 100644
index 0000000000..3d439b79d9
--- /dev/null
+++ b/meta/packages/hal/hal_0.5.4.bb
@@ -0,0 +1,33 @@
+SECTION = "unknown"
+DESCRIPTION = "Hardware Abstraction Layer"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+DEPENDS = "dbus expat libusb"
+RDEPENDS += "hotplug"
+RDEPENDS_hal-device-manager = "python hal python-pygnome"
+RRECOMMENDS = "udev-utils"
+HOMEPAGE = "http://freedesktop.org/Software/hal"
+LICENSE = "GPL LGPL AFL"
+PR = "r1"
+
+SRC_URI = "http://freedesktop.org/~david/dist/hal-${PV}.tar.gz"
+S = "${WORKDIR}/hal-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--with-hwdata=${datadir}/hwdata \
+ --with-expat=${STAGING_LIBDIR}/.. \
+ --with-dbus-sys=${sysconfdir}/dbus-1/system.d \
+ --with-hotplug=${sysconfdir}/hotplug.d \
+ --disable-docbook-docs"
+
+do_stage() {
+ autotools_stage_includes
+ install -d ${STAGING_LIBDIR}
+ install -m 755 libhal/.libs/libhal.so.1.0.0 ${STAGING_LIBDIR}/libhal.so
+ install -m 755 libhal-storage/.libs/libhal-storage.so.1.0.0 ${STAGING_LIBDIR}/libhal-storage.so
+}
+
+PACKAGES += "hal-device-manager"
+FILES_${PN} = "${sysconfdir} ${bindir}/lshal ${bindir}/hal-get-property ${bindir}/hal-set-property ${sbindir} ${libdir}/libhal.so* ${libdir}/libhal-storage.so* ${libexecdir} ${datadir}/hal/fdi"
+FILES_hal-device-manager = "${datadir}/hal/device-manager/ ${bindir}/hal-device-manager"
+
diff --git a/meta/packages/hdparm/hdparm-6.3/bswap.patch b/meta/packages/hdparm/hdparm-6.3/bswap.patch
new file mode 100644
index 0000000000..37fbcb7b38
--- /dev/null
+++ b/meta/packages/hdparm/hdparm-6.3/bswap.patch
@@ -0,0 +1,36 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- hdparm-5.8/hdparm.c~bswap
++++ hdparm-5.8/hdparm.c
+@@ -20,7 +20,9 @@
+ #include <linux/types.h>
+ #include <linux/hdreg.h>
+ #include <linux/major.h>
+-#include <asm/byteorder.h>
++#include <byteswap.h>
++
++#define le16_to_cpus(x) bswap_16(htons(x))
+
+ #include "hdparm.h"
+
+@@ -1160,7 +1162,7 @@
+ }
+ } else {
+ for(i = 0; i < 0x100; ++i) {
+- __le16_to_cpus(&id[i]);
++ le16_to_cpus(&id[i]);
+ }
+ identify((void *)id, NULL);
+ }
+@@ -1380,7 +1382,7 @@
+ }
+ for (i = 0; count >= 4; ++i) {
+ sbuf[i] = (fromhex(b[0]) << 12) | (fromhex(b[1]) << 8) | (fromhex(b[2]) << 4) | fromhex(b[3]);
+- __le16_to_cpus((__u16 *)(&sbuf[i]));
++ le16_to_cpus((__u16 *)(&sbuf[i]));
+ b += 5;
+ count -= 5;
+ }
diff --git a/meta/packages/hdparm/hdparm-6.3/uclibc.patch b/meta/packages/hdparm/hdparm-6.3/uclibc.patch
new file mode 100644
index 0000000000..495d7491bb
--- /dev/null
+++ b/meta/packages/hdparm/hdparm-6.3/uclibc.patch
@@ -0,0 +1,32 @@
+--- hdparm-5.8/hdparm.c.ark 2005-05-22 19:48:34.000000000 +0000
++++ hdparm-5.8/hdparm.c 2005-05-22 19:52:18.000000000 +0000
+@@ -17,7 +17,9 @@
+ #include <sys/times.h>
+ #include <sys/types.h>
+ #include <sys/mount.h>
++#ifndef __UCLIBC__
+ #include <linux/types.h>
++#endif
+ #include <linux/hdreg.h>
+ #include <linux/major.h>
+ #include <byteswap.h>
+--- hdparm-5.8/hdparm.h.ark 2005-05-22 19:51:49.000000000 +0000
++++ hdparm-5.8/hdparm.h 2005-05-22 19:54:54.000000000 +0000
+@@ -1,6 +1,6 @@
+ /* Some prototypes for extern functions. */
+
+-#include <linux/types.h> /* for __u16 */
++#include <stdint.h>
+
+ #if !defined(__GNUC__) && !defined(__attribute__)
+ #define __attribute__(x) /* if not using GCC, turn off the __attribute__
+@@ -11,7 +11,7 @@
+ others, though, were declared in hdparm.c with global scope; since other
+ functions in that file have static (file) scope, I assume the difference is
+ intentional. */
+-extern void identify (__u16 *id_supplied, const char *devname);
++extern void identify (uint16_t *id_supplied, const char *devname);
+
+ extern void usage_error(int out) __attribute__((noreturn));
+ extern int main(int argc, char **argv) __attribute__((noreturn));
+
diff --git a/meta/packages/hdparm/hdparm_6.3.bb b/meta/packages/hdparm/hdparm_6.3.bb
new file mode 100644
index 0000000000..94d1e6e9bf
--- /dev/null
+++ b/meta/packages/hdparm/hdparm_6.3.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "hdparm is a Linux shell utility for viewing \
+and manipulating various IDE drive and driver parameters."
+SECTION = "console/utils"
+PRIORITY = "optional"
+LICENSE = "BSD"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/hdparm-${PV}.tar.gz \
+ file://bswap.patch;patch=1 \
+ file://uclibc.patch;patch=1"
+
+do_install () {
+ install -d ${D}/${sbindir} ${D}/${mandir}/man8
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/hostap/files/hostap-fw-load.patch b/meta/packages/hostap/files/hostap-fw-load.patch
new file mode 100644
index 0000000000..88adee2bc9
--- /dev/null
+++ b/meta/packages/hostap/files/hostap-fw-load.patch
@@ -0,0 +1,20 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- hostap-utils-0.2.4/hostap_fw_load~hostap-fw-load
++++ hostap-utils-0.2.4/hostap_fw_load
+@@ -6,9 +6,9 @@
+ # Firmware images for the card
+ # TODO: could try to select correct firmware type automatically
+
+-PRI=/etc/pcmcia/PM010102.HEX
+-STA=/etc/pcmcia/RF010802.HEX
+-PRISM2_SREC=/usr/local/bin/prism2_srec
++PRI=/etc/pcmcia/pm010102.hex
++STA=/etc/pcmcia/rf010804.hex
++PRISM2_SREC=/usr/sbin/prism2_srec
+
+ set -e
+
diff --git a/meta/packages/hostap/files/hostap_cs.conf b/meta/packages/hostap/files/hostap_cs.conf
new file mode 100644
index 0000000000..abf9c7a247
--- /dev/null
+++ b/meta/packages/hostap/files/hostap_cs.conf
@@ -0,0 +1,185 @@
+module "hostap_cs" opts "channel=3 iw_mode=2 essid=any ignore_cis_vcc=1"
+
+card "Actiontec 802CI2"
+ manfid 0x1668, 0x0101
+ bind "hostap_cs"
+
+card "AirWay 802.11 Adapter (PCMCIA)"
+ #version "AirWay", "802.11 Adapter (PCMCIA)"
+ manfid 0x0261, 0x0002
+ bind "hostap_cs"
+
+card "Asus SpaceLink WL110"
+ manfid 0x02aa,0x0002
+ bind "hostap_cs"
+
+## handhelds.org bug 964
+card "Belkin F5D6060 Ethernet"
+ #version "PCMCIA", "11M WLAN Card v2.5", "ISL37300P", "RevA"
+ manfid 0x0274, 0x1612
+ bind "hostap_cs"
+
+card "Compaq 11Mbps Wireless PC Card"
+ manfid 0x028a, 0x0002
+ bind "hostap_cs"
+
+card "Compaq WL100 11 Mbps Wireless Adapter"
+ manfid 0x0138, 0x0002
+ bind "hostap_cs"
+
+card "Compaq HNW-100 11 Mbps Wireless Adapter"
+ manfid 0x028a, 0x0002
+ bind "hostap_cs"
+
+card "D-Link DWL-650"
+ version "D", "Link DWL-650 11Mbps WLAN Card"
+ bind "hostap_cs"
+
+card "D-Link DRC-650"
+ version "D", "Link DRC-650 11Mbps WLAN Card"
+ bind "hostap_cs"
+
+card "D-Link DCF660"
+ manfid 0xd601, 0x0005
+ bind "hostap_cs"
+
+card "Farallon SkyLINE"
+ version "INTERSIL", "HFA384x/IEEE"
+ bind "hostap_cs"
+
+card "HyperLink Wireless PC Card 11Mbps"
+ version "HyperLink", "Wireless PC Card 11Mbps"
+ bind "hostap_cs"
+
+# card "Intersil PRISM2 11 Mbps Wireless Adapter"
+# manfid 0x0156, 0x0002
+# bind "hostap_cs"
+
+card "LA4111 Spectrum24 Wireless LAN PC Card"
+ version "Symbol Technologies"
+ bind "hostap_cs"
+
+card "Linksys WPC11 11Mbps 802.11b WLAN Card"
+ version "Instant Wireless ", " Network PC CARD", "Version 01.02"
+ bind "hostap_cs"
+
+card "Linksys WCF11 11Mbps 802.11b WLAN Card"
+ manfid 0x0274, 0x3301
+ bind "hostap_cs"
+
+## handhelds.org bug #790
+card "Linksys Wireless CompactFlash Card WCF12"
+ manfid 0x028a, 0x0673
+ bind "hostap_cs"
+
+card "Linksys WLAN CF Card"
+ manfid 0x0274, 0x3301
+ bind "hostap_cs"
+
+card "NETGEAR MA701 Wireless CF Card"
+ manfid 0xd601, 0x0002
+ bind "hostap_cs"
+
+card "Nortel Networks eMobility 802.11 Wireless Adapter"
+ manfid 0x01eb, 0x080a
+ bind "hostap_cs"
+
+card "PLANEX GeoWave GW-CF110"
+ version "PLANEX", "GeoWave/GW-CF110"
+ bind "hostap_cs"
+
+card "PROXIM LAN PC CARD HARMONY 80211B"
+ version "PROXIM", "LAN PC CARD HARMONY 80211B"
+ bind "hostap_cs"
+
+card "Proxim RangeLAN/DS"
+ version "PROXIM","RangeLAN-DS/LAN PC CARD"
+ manfid 0x0126, 0x8000
+ bind "hostap_cs"
+
+card "Safeway 802.11b Wireless Adapter"
+ manfid 0xd601, 0x0002
+ bind "hostap_cs"
+
+card "SAMSUNG 11Mbps WLAN Card"
+ version "SAMSUNG", "11Mbps WLAN Card"
+ bind "hostap_cs"
+
+# needs firmware upload via hostap_fw_load
+card "SanDisk ConnectPlus OEM (0MB)"
+ manfid 0xd601, 0x0010
+ bind "hostap_cs"
+
+# needs special activation (>=hostap 0.3.2 only) plus firmware upload
+card "SanDisk ConnectPlus w/ Memory"
+ version "SanDisk", "ConnectPlus"
+ manfid 0xd601, 0x0101
+ bind "hostap_cs" to 0
+# bind "ide-cs" to 1
+
+card "Senao/Origo 80211b WLAN Card"
+ manfid 0x000b,0x7100
+ bind "hostap_cs"
+
+card "Sitecom WL-007 WLAN CF Card"
+ manfid 0xd601, 0x0004
+ bind "hostap_cs"
+
+card "SMC2632 802.11 (prism2) Card"
+ version "SMC", "SMC2632W", "Version 01.02", ""
+ bind "hostap_cs"
+
+card "SpeedStream SS1021 Wireless Adapter"
+ #version "Siemens", "SpeedStream Wireless PCMCIA"
+ manfid 0x02ac, 0x0002
+ bind "hostap_cs"
+
+card "ZCOMAX AirRunner/XI-300"
+ #version "ZCOMAX", "AirRunner/XI-300"
+ manfid 0xd601, 0x0002
+ bind "hostap_cs"
+
+card "Zonet ZCF1100"
+ manfid 0x000b, 0x7100
+ bind "hostap_cs"
+
+card "Wireless LAN Adapter Version 01.02"
+ version "Wireless", "LAN Adapter", "Version 01.02"
+# manfid 0x0156, 0x0002
+ bind "hostap_cs"
+
+card "Ambicom WL1100C 11Mbs Card 802.11b"
+ version "AmbiCom", "WL1100C 802.11b CF-Card", "2.2"
+ manfid 0xd601,0x0002
+ bind "hostap_cs"
+
+card "Ambicom WL1100C 11Mbs Card 802.11b"
+ manfid 0xd601,0x0002
+ bind "hostap_cs"
+
+card "Sandisk Connect SDWCFB-000"
+ manfid 0xd601,0x0005
+ bind "hostap_cs"
+
+# Cards with Intersil firmware (Prism chipset)
+
+card "Linksys WPC11 11Mbps 802.11b WLAN Card"
+ version "The Linksys Group, Inc.", "Instant Wireless Network PC Card", "ISL37300P", "RevA"
+ bind "hostap_cs"
+
+card "Linksys CompactFlash Wireless Card"
+ version "Linksys", "Wireless CompactFlash Card"
+ bind "hostap_cs"
+
+card "ACTIONTEC PRISM Wireless LAN PC Card"
+ version "ACTIONTEC", "PRISM Wireless LAN PC Card"
+ bind "hostap_cs"
+
+card "Linksys WPC11 Version 3"
+ manfid 0x0274,0x1613
+ bind "hostap_cs"
+
+card "BENQ AWL100"
+ version "BENQ", "AWL100 PCMCIA ADAPTER"
+ bind "hostap_cs"
+
diff --git a/meta/packages/hostap/files/hostap_cs.conf-upstream b/meta/packages/hostap/files/hostap_cs.conf-upstream
new file mode 100644
index 0000000000..5b7385a7cb
--- /dev/null
+++ b/meta/packages/hostap/files/hostap_cs.conf-upstream
@@ -0,0 +1,191 @@
+device "hostap_cs"
+ class "network" module "hostap", "hostap_cs"
+
+card "Intersil PRISM2 Reference Design 11Mb/s WLAN Card"
+ version "INTERSIL", "HFA384x/IEEE"
+ bind "hostap_cs"
+
+card "Compaq WL100 11Mb/s WLAN Card"
+ manfid 0x0138, 0x0002
+ bind "hostap_cs"
+
+card "Compaq WL200"
+ version "Compaq", "WL200_11Mbps_Wireless_PCI_Card"
+ bind "hostap_cs"
+
+card "EMTAC A2424i 11Mbps WLAN Card"
+ manfid 0xc250, 0x0002
+# cis "cis/Emtac.dat"
+ bind "hostap_cs"
+
+card "Linksys WPC11 11Mbps WLAN Card"
+ version "Instant Wireless ", " Network PC CARD", "Version 01.02"
+ bind "hostap_cs"
+
+card "Linksys WPC11 Ver 2.5 11Mbps WLAN Card"
+ manfid 0x0274, 0x1612
+ bind "hostap_cs"
+
+card "Linksys WPC11 Ver 3 11Mbps WLAN Card"
+ manfid 0x0274, 0x1613
+ bind "hostap_cs"
+
+card "Linksys WCF12 Wireless CompactFlash Card"
+ version "Linksys", "Wireless CompactFlash Card"
+ bind "hostap_cs"
+
+card "D-Link DWL-650 11Mbps WLAN Card"
+ version "D", "Link DWL-650 11Mbps WLAN Card", "Version 01.02"
+ bind "hostap_cs"
+
+card "D-Link DRC-650 11Mbps WLAN Card"
+# version "D", "Link DRC-650 11Mbps WLAN Card", "Version 01.02"
+ manfid 0x028a, 0x0002
+ bind "hostap_cs"
+
+card "ZoomAir 4100 11Mb/s WLAN Card"
+ version "ZoomAir 11Mbps High", "Rate wireless Networking"
+ bind "hostap_cs"
+
+card "Addtron AWP-100 11Mbps WLAN Card"
+ version "Addtron", "AWP-100 Wireless PCMCIA", "Version 01.02"
+ bind "hostap_cs"
+
+card "Samsung SWL2000-N 11Mb/s WLAN Card"
+ manfid 0x0250, 0x0002
+ bind "hostap_cs"
+
+card "SMC 2632W 11Mbps WLAN Card"
+ version "SMC", "SMC2632W", "Version 01.02"
+ bind "hostap_cs"
+
+card "BroMax Freeport 11Mbps WLAN Card"
+ version "Intersil", "PRISM 2_5 PCMCIA ADAPTER", "ISL37300P", "Eval-RevA"
+ bind "hostap_cs"
+
+card "Z-Com XI300 11Mb/s WLAN Card"
+ manfid 0xd601, 0x0002
+ bind "hostap_cs"
+
+card "Zcomax XI-325H 200mW"
+# version " ", "IEEE 802.11 Wireless LAN/PC Card"
+ manfid 0xd601, 0x0005
+ bind "hostap_cs"
+
+card "3Com AirConnect PCI 777A"
+ manfid 0x0101, 0x0777
+ bind "hostap_cs"
+
+card "U.S. Robotics IEEE 802.11b PC-CARD"
+ version "U.S. Robotics", "IEEE 802.11b PC-CARD", "Version 01.02"
+# manfid 0x0156, 0x0002
+ bind "hostap_cs"
+
+card "Longshine LCR-8531 11Mbps WLAN PCMCIA CARD"
+ version "OEM", "PRISM2 IEEE 802.11 PC-Card", "Version 01.02"
+# manfid 0x0156, 0x0002
+ bind "hostap_cs"
+
+card "Philips 802.11b WLAN PCMCIA"
+ manfid 0x000b, 0x7300
+ bind "hostap_cs"
+
+card "Proxim RangeLAN"
+# version "PROXIM", "RangeLAN-DS/LAN PC CARD"
+ manfid 0x0126, 0x8000
+ bind "hostap_cs"
+
+card "Buffalo WLI-CF-S11G"
+ version "BUFFALO", "WLI-CF-S11G"
+# manfid 0x026f, 0x030b
+ bind "hostap_cs"
+
+card "Level-One WPC-0100"
+ version "Digital Data Communications", "WPC-0100", "Version 00.00"
+ manfid 0x0156, 0x0002
+ bind "hostap_cs"
+
+card "Belkin 802.11b WLAN PCMCIA"
+ version "Belkin", "11Mbps Wireless Notebook Network Adapter", "Version 01.02"
+ manfid 0x0156, 0x0002
+ bind "hostap_cs"
+
+card "Senao SL-2011CD/SL-2011CDPLUS"
+ version "INTERSIL", "HFA384x/IEEE", "Version 01.02"
+ manfid 0x0156, 0x0002
+ bind "hostap_cs"
+
+card "Fulbond Airbond XI-300B"
+ version " ", "IEEE 802.11 Wireless LAN/PC Card"
+ manfid 0xd601, 0x0002
+ bind "hostap_cs"
+
+card "Netgear MA401"
+ version "NETGEAR MA401 Wireless PC", "Card", "Version 01.00"
+# manfid 0x0156, 0x0002
+ bind "hostap_cs"
+
+card "D-Link DWL-650 Rev. P1"
+ version "D-Link", "DWL-650 Wireless PC Card RevP", "ISL37101P-10", "A3"
+# manfid 0x000b, 0x7110
+ bind "hostap_cs"
+
+card "SonicWALL Long Range Wireless Card"
+ version "SonicWALL", "Long Range Wireless Card", "ISL37100P", "1.0"
+ manfid 0x000b, 0x7100
+ bind "hostap_cs"
+
+card "Senao NL-2011CD PLUS Ext2 Mercury"
+ version "WLAN", "11Mbps_PC-Card_3.0", "ISL37100P", "Eval-RevA"
+ manfid 0x000b, 0x7100
+ bind "hostap_cs"
+
+card "Airvast WL100"
+ version "AIRVAST", "IEEE 802.11b Wireless PCMCIA Card", "HFA3863"
+ manfid 0x50c2, 0x0001
+ bind "hostap_cs"
+
+card "Microsoft Wireless Notebook Adapter MN-520 1.0.3"
+ version "Microsoft", "Wireless Notebook Adapter MN-520", "", "1.0.3"
+ manfid 0x02d2, 0x0001
+ bind "hostap_cs"
+
+card "NETGEAR MA401RA"
+ version "NETGEAR MA401RA Wireless PC", "Card", "ISL37300P", "Eval-RevA"
+ manfid 0x000b, 0x7300
+ bind "hostap_cs"
+
+card "Allied Telesyn AT-WCL452"
+ version "Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", "Ver. 1.00"
+ manfid 0xc00f, 0x0000
+ bind "hostap_cs"
+
+card "corega WL PCCL-11"
+ version "corega", "WL PCCL-11", "ISL37300P", "RevA"
+ manfid 0xc00f, 0x0000
+ bind "hostap_cs"
+
+card "SanDisk ConnectPlus"
+ version "SanDisk", "ConnectPlus"
+ manfid 0xd601, 0x0101
+ bind "hostap_cs" to 0
+ bind "ide-cs" to 1
+
+card "ASUS WL-100 8011b WLAN PC Card"
+ version "ASUS", "802_11b_PC_CARD_25", "Version 01.00"
+ manfid 0x02aa, 0x0002
+ bind "hostap_cs"
+
+card "ZyXel Zyair B-101 802.11b WLAN card"
+ version " ", "IEEE 802.11 Wireless LAN/PC Card"
+ manfid 0xd601, 0x0010
+ bind "hostap_cs"
+
+card "WLAN PRISM PCMCIA CARD 37300P RevB6"
+ version "WLAN", "PRISM PCMCIA CARD", "37300P", "Revision B6"
+ manfid 0x50c2, 0x7300
+ bind "hostap_cs"
+
+
+# Optional configuration parameters for hostap_cs.o
+# module "hostap_cs" opts "channel=3 iw_mode=3 essid=test ignore_cis_vcc=0"
diff --git a/meta/packages/hostap/hostap-conf_1.0.bb b/meta/packages/hostap/hostap-conf_1.0.bb
new file mode 100644
index 0000000000..094722c845
--- /dev/null
+++ b/meta/packages/hostap/hostap-conf_1.0.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "PCMCIA-cs configuration files for wireless LAN cards based on Intersil's Prism2/2.5/3 chipset"
+MAINTAINER = "Marcin Juszkiewicz <openembedded@hrw.one.pl>"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+LICENSE = "GPL"
+PACKAGE_ARCH = "all"
+PR = "r4"
+
+SRC_URI = "file://hostap_cs.conf \
+ file://hostap_cs.conf-upstream"
+
+do_install() {
+ install -d ${D}${sysconfdir}/pcmcia
+ install -m 0644 ${WORKDIR}/hostap_cs.conf-upstream ${D}${sysconfdir}/pcmcia/hostap_cs.conf
+ cat ${WORKDIR}/hostap_cs.conf >>${D}${sysconfdir}/pcmcia/hostap_cs.conf
+}
diff --git a/meta/packages/hostap/hostap-modules.inc b/meta/packages/hostap/hostap-modules.inc
new file mode 100644
index 0000000000..5ce5e0db67
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules.inc
@@ -0,0 +1,39 @@
+DESCRIPTION = "A driver for wireless LAN cards based on Intersil's Prism2/2.5/3 chipset"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+LICENSE = "GPL"
+
+SRC_URI = "http://hostap.epitest.fi/releases/hostap-driver-${PV}.tar.gz"
+
+SRC_URI_append_mtx-1 = " file://mtx_compat.diff;patch=1;pnum=0 \
+ file://mtx_hostap_deferred_irq.diff;patch=1;pnum=0"
+
+SRC_URI_append_h3900 = " file://ipaq_compat.patch;patch=1 "
+
+S = "${WORKDIR}/hostap-driver-${PV}"
+
+inherit module
+
+# Hack Alert :D
+ARCH_mipsel = "mips"
+MAKE_TARGETS = "KERNEL_PATH=${STAGING_KERNEL_DIR} MAKE='make -e'"
+
+NET_MODULES = "hostap hostap_pci hostap_crypt_ccmp hostap_crypt_tkip hostap_crypt_wep"
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/net \
+ ${D}${base_libdir}/modules/${KERNEL_VERSION}/pcmcia
+ for i in ${NET_MODULES}
+ do
+ install -m 0644 driver/modules/$i${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/net/
+ done
+ install -m 0644 driver/modules/hostap_cs${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/pcmcia/
+}
+
+PACKAGES = "hostap-modules-cs hostap-modules-pci hostap-modules"
+FILES_hostap-modules-cs = "/lib/modules/${KERNEL_VERSION}/pcmcia/ /${sysconfdir}/pcmcia/"
+FILES_hostap-modules-pci = "/lib/modules/${KERNEL_VERSION}/net/hostap_pci${KERNEL_OBJECT_SUFFIX}"
+FILES_hostap-modules = "/lib/modules/"
+RDEPENDS_hostap-modules-cs = "hostap-modules (${PV}) hostap-conf"
+RDEPENDS_hostap-modules-pci = "hostap-modules (${PV})"
diff --git a/meta/packages/hostap/hostap-modules/Makefile.patch b/meta/packages/hostap/hostap-modules/Makefile.patch
new file mode 100644
index 0000000000..2fc5e9ed4b
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules/Makefile.patch
@@ -0,0 +1,11 @@
+--- hostap-driver-0.2.4/Makefile.old 2004-07-31 10:35:50.000000000 +0100
++++ hostap-driver-0.2.4/Makefile 2004-07-31 10:35:56.000000000 +0100
+@@ -51,7 +51,7 @@
+
+ VERFILE := $(KERNEL_PATH)/include/linux/version.h
+ KERNELRELEASE := $(shell if [ -r $(VERFILE) ]; \
+- then (cat $(VERFILE); echo UTS_RELEASE) | $(CC) $(INCLUDES) $(CFLAGS) -E - | tail -1 | xargs echo; \
++ then (cat $(VERFILE); echo UTS_RELEASE) | $(CC) $(INCLUDES) $(CFLAGS) -E - | tail -n 1 | xargs echo; \
+ else uname -r; fi)
+ KERNELVER := $(shell echo "$(KERNELRELEASE)" | \
+ sed "s/\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/")
diff --git a/meta/packages/hostap/hostap-modules/add_event.patch b/meta/packages/hostap/hostap-modules/add_event.patch
new file mode 100644
index 0000000000..d5f2a10e86
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules/add_event.patch
@@ -0,0 +1,28 @@
+Index: hostap-driver-0.3.7/driver/modules/hostap_cs.c
+===================================================================
+--- hostap-driver-0.3.7.orig/driver/modules/hostap_cs.c 2005-08-03 17:05:53.000000000 +0100
++++ hostap-driver-0.3.7/driver/modules/hostap_cs.c 2005-08-03 17:07:59.000000000 +0100
+@@ -526,11 +526,13 @@
+ dev_list = link;
+ client_reg.dev_info = &dev_info;
+ client_reg.Attributes = INFO_IO_CLIENT;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13))
+ client_reg.EventMask = CS_EVENT_CARD_INSERTION |
+ CS_EVENT_CARD_REMOVAL |
+ CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
+ CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
+ client_reg.event_handler = &prism2_event;
++#endif
+ client_reg.Version = 0x0210;
+ client_reg.event_callback_args.client_data = link;
+ ret = pcmcia_register_client(&link->handle, &client_reg);
+@@ -913,6 +915,9 @@
+ .name = "hostap_cs",
+ },
+ .attach = prism2_attach,
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
++ .event = prism2_event,
++#endif
+ .detach = prism2_detach,
+ .owner = THIS_MODULE,
+ };
diff --git a/meta/packages/hostap/hostap-modules/hostap-utsname.patch b/meta/packages/hostap/hostap-modules/hostap-utsname.patch
new file mode 100644
index 0000000000..c29cc8d2c9
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules/hostap-utsname.patch
@@ -0,0 +1,77 @@
+diff -r -U 3 hostap-driver-0.3.7.orig/driver/modules/hostap.c hostap-driver-0.3.7/driver/modules/hostap.c
+--- hostap-driver-0.3.7.orig/driver/modules/hostap.c 2005-07-25 09:14:01.995965088 +0000
++++ hostap-driver-0.3.7/driver/modules/hostap.c 2005-07-25 09:13:22.301999488 +0000
+@@ -25,6 +25,7 @@
+ #include <linux/if_arp.h>
+ #include <linux/delay.h>
+ #include <linux/random.h>
++#include <linux/utsname.h>
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,44))
+ #include <linux/tqueue.h>
+ #else
+diff -r -U 3 hostap-driver-0.3.7.orig/driver/modules/hostap_crypt_ccmp.c hostap-driver-0.3.7/driver/modules/hostap_crypt_ccmp.c
+--- hostap-driver-0.3.7.orig/driver/modules/hostap_crypt_ccmp.c 2005-07-25 09:14:01.996964936 +0000
++++ hostap-driver-0.3.7/driver/modules/hostap_crypt_ccmp.c 2005-07-25 09:13:22.302999336 +0000
+@@ -19,6 +19,7 @@
+ #include <linux/netdevice.h>
+ #include <linux/if_ether.h>
+ #include <linux/if_arp.h>
++#include <linux/utsname.h>
+ #include <asm/string.h>
+
+ #include "hostap_crypt.h"
+diff -r -U 3 hostap-driver-0.3.7.orig/driver/modules/hostap_crypt_tkip.c hostap-driver-0.3.7/driver/modules/hostap_crypt_tkip.c
+--- hostap-driver-0.3.7.orig/driver/modules/hostap_crypt_tkip.c 2005-07-25 09:14:01.996964936 +0000
++++ hostap-driver-0.3.7/driver/modules/hostap_crypt_tkip.c 2005-07-25 09:13:22.302999336 +0000
+@@ -19,6 +19,7 @@
+ #include <linux/netdevice.h>
+ #include <linux/if_ether.h>
+ #include <linux/if_arp.h>
++#include <linux/utsname.h>
+ #include <asm/string.h>
+
+ #include "hostap_crypt.h"
+diff -r -U 3 hostap-driver-0.3.7.orig/driver/modules/hostap_crypt_wep.c hostap-driver-0.3.7/driver/modules/hostap_crypt_wep.c
+--- hostap-driver-0.3.7.orig/driver/modules/hostap_crypt_wep.c 2005-07-25 09:14:01.996964936 +0000
++++ hostap-driver-0.3.7/driver/modules/hostap_crypt_wep.c 2005-07-25 09:13:22.302999336 +0000
+@@ -15,6 +15,7 @@
+ #include <linux/init.h>
+ #include <linux/slab.h>
+ #include <linux/random.h>
++#include <linux/utsname.h>
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,44))
+ #include <linux/tqueue.h>
+ #else
+diff -r -U 3 hostap-driver-0.3.7.orig/driver/modules/hostap_cs.c hostap-driver-0.3.7/driver/modules/hostap_cs.c
+--- hostap-driver-0.3.7.orig/driver/modules/hostap_cs.c 2005-07-25 09:14:01.997964784 +0000
++++ hostap-driver-0.3.7/driver/modules/hostap_cs.c 2005-07-25 09:13:22.302999336 +0000
+@@ -12,6 +12,7 @@
+ #include <linux/timer.h>
+ #include <linux/skbuff.h>
+ #include <linux/netdevice.h>
++#include <linux/utsname.h>
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,44))
+ #include <linux/tqueue.h>
+ #else
+diff -r -U 3 hostap-driver-0.3.7.orig/driver/modules/hostap_pci.c hostap-driver-0.3.7/driver/modules/hostap_pci.c
+--- hostap-driver-0.3.7.orig/driver/modules/hostap_pci.c 2005-07-25 09:14:01.997964784 +0000
++++ hostap-driver-0.3.7/driver/modules/hostap_pci.c 2005-07-25 09:13:22.303999184 +0000
+@@ -11,6 +11,7 @@
+ #include <linux/if.h>
+ #include <linux/skbuff.h>
+ #include <linux/netdevice.h>
++#include <linux/utsname.h>
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,44))
+ #include <linux/tqueue.h>
+ #else
+diff -r -U 3 hostap-driver-0.3.7.orig/driver/modules/hostap_plx.c hostap-driver-0.3.7/driver/modules/hostap_plx.c
+--- hostap-driver-0.3.7.orig/driver/modules/hostap_plx.c 2005-07-25 09:14:01.997964784 +0000
++++ hostap-driver-0.3.7/driver/modules/hostap_plx.c 2005-07-25 09:13:22.303999184 +0000
+@@ -14,6 +14,7 @@
+ #include <linux/if.h>
+ #include <linux/skbuff.h>
+ #include <linux/netdevice.h>
++#include <linux/utsname.h>
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,44))
+ #include <linux/tqueue.h>
+ #else
diff --git a/meta/packages/hostap/hostap-modules/hostap_cardid.patch b/meta/packages/hostap/hostap-modules/hostap_cardid.patch
new file mode 100644
index 0000000000..05f716e22f
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules/hostap_cardid.patch
@@ -0,0 +1,70 @@
+Index: hostap-driver-0.3.9/driver/modules/hostap_cs.c
+===================================================================
+--- hostap-driver-0.3.9.orig/driver/modules/hostap_cs.c 2005-08-24 10:11:47.000000000 +0100
++++ hostap-driver-0.3.9/driver/modules/hostap_cs.c 2005-08-24 10:39:10.000000000 +0100
+@@ -908,6 +908,57 @@
+ return 0;
+ }
+
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
++static struct pcmcia_device_id hostap_cs_ids[] = {
++ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100),
++ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300),
++ PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777),
++ PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000),
++ PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612),
++ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613),
++ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x02d2, 0x0001),
++ PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x0001),
++ PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300),
++ PCMCIA_DEVICE_MANF_CARD(0xc00f, 0x0000),
++ PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005),
++ PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0010),
++ PCMCIA_MFC_DEVICE_PROD_ID12(0, "SanDisk", "ConnectPlus",
++ 0x7a954bd9, 0x74be00c6),
++ PCMCIA_DEVICE_PROD_ID1234(
++ "Intersil", "PRISM 2_5 PCMCIA ADAPTER", "ISL37300P",
++ "Eval-RevA",
++ 0x4b801a17, 0x6345a0bf, 0xc9049a39, 0xc23adc0e),
++ PCMCIA_DEVICE_PROD_ID123(
++ "Addtron", "AWP-100 Wireless PCMCIA", "Version 01.02",
++ 0xe6ec52ce, 0x08649af2, 0x4b74baa0),
++ PCMCIA_DEVICE_PROD_ID123(
++ "D", "Link DWL-650 11Mbps WLAN Card", "Version 01.02",
++ 0x71b18589, 0xb6f1b0ab, 0x4b74baa0),
++ PCMCIA_DEVICE_PROD_ID123(
++ "Instant Wireless ", " Network PC CARD", "Version 01.02",
++ 0x11d901af, 0x6e9bd926, 0x4b74baa0),
++ PCMCIA_DEVICE_PROD_ID123(
++ "SMC", "SMC2632W", "Version 01.02",
++ 0xc4f8b18b, 0x474a1f2a, 0x4b74baa0),
++ PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card",
++ 0x54f7c49c, 0x15a75e5b),
++ PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE",
++ 0x74c5e40d, 0xdb472a18),
++ PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card",
++ 0x0733cc81, 0x0c52f395),
++ PCMCIA_DEVICE_PROD_ID12(
++ "ZoomAir 11Mbps High", "Rate wireless Networking",
++ 0x273fe3db, 0x32a1eaee),
++ PCMCIA_DEVICE_NULL
++};
++MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
++#endif
+
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,67)
+ static struct pcmcia_driver hostap_driver = {
+@@ -917,6 +968,7 @@
+ .attach = prism2_attach,
+ #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
+ .event = prism2_event,
++ .id_table = hostap_cs_ids,
+ #endif
+ .detach = prism2_detach,
+ .owner = THIS_MODULE,
diff --git a/meta/packages/hostap/hostap-modules/ipaq_compat.patch b/meta/packages/hostap/hostap-modules/ipaq_compat.patch
new file mode 100644
index 0000000000..b139ef38f1
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules/ipaq_compat.patch
@@ -0,0 +1,11 @@
+--- hostap-driver-0.3.7/driver/modules/hostap_compat.h.old 2005-04-17 09:12:38.304421464 +0100
++++ hostap-driver-0.3.7/driver/modules/hostap_compat.h 2005-04-17 09:13:04.413452288 +0100
+@@ -5,7 +5,7 @@
+ #define NEW_MODULE_CODE
+ #endif
+
+-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,44))
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,44)) && !defined(CONFIG_IPAQ_HANDHELD)
+
+ #define HOSTAP_QUEUE struct tq_struct
+
diff --git a/meta/packages/hostap/hostap-modules/kernel_updates.patch b/meta/packages/hostap/hostap-modules/kernel_updates.patch
new file mode 100644
index 0000000000..70487a96f8
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules/kernel_updates.patch
@@ -0,0 +1,192 @@
+Index: hostap-driver-0.4.4/driver/modules/hostap_cs.c
+===================================================================
+--- hostap-driver-0.4.4.orig/driver/modules/hostap_cs.c 2005-08-21 20:23:21.000000000 +0100
++++ hostap-driver-0.4.4/driver/modules/hostap_cs.c 2005-09-17 17:09:05.000000000 +0100
+@@ -207,12 +207,17 @@
+ #include "hostap_hw.c"
+
+
+-
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ static void prism2_detach(dev_link_t *link);
++#else
++static void prism2_detach(struct pcmcia_device *p_dev);
++#endif
++
+ static void prism2_release(u_long arg);
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ static int prism2_event(event_t event, int priority,
+ event_callback_args_t *args);
+-
++#endif
+
+ static int prism2_pccard_card_present(local_info_t *local)
+ {
+@@ -508,25 +513,36 @@
+ }
+ #endif
+
++static int prism2_config(dev_link_t *link);
+
+ /* allocate local data and register with CardServices
+ * initialize dev_link structure, but do not configure the card yet */
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ static dev_link_t *prism2_attach(void)
++#else
++static int prism2_attach(struct pcmcia_device *p_dev)
++#endif
+ {
+ dev_link_t *link;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ client_reg_t client_reg;
+ int ret;
++#endif
+
+ link = kmalloc(sizeof(dev_link_t), GFP_KERNEL);
+ if (link == NULL)
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ return NULL;
+-
++#else
++ return -ENOMEM;
++#endif
+ memset(link, 0, sizeof(dev_link_t));
+
+ PDEBUG(DEBUG_HW, "%s: setting Vcc=33 (constant)\n", dev_info);
+ link->conf.Vcc = 33;
+ link->conf.IntType = INT_MEMORY_AND_IO;
+
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ /* register with CardServices */
+ link->next = dev_list;
+ dev_list = link;
+@@ -547,12 +563,28 @@
+ prism2_detach(link);
+ return NULL;
+ }
++
+ return link;
+-}
++#else
++ link->handle = p_dev;
++ p_dev->instance = link;
++
++ link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
++ prism2_config(link);
+
++ return 0;
++#endif
++}
+
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ static void prism2_detach(dev_link_t *link)
++#else
++static void prism2_detach(struct pcmcia_device *p_dev)
++#endif
+ {
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15))
++ dev_link_t *link = dev_to_instance(p_dev);
++#endif
+ dev_link_t **linkp;
+
+ PDEBUG(DEBUG_FLOW, "prism2_detach\n");
+@@ -570,6 +602,7 @@
+ prism2_release((u_long)link);
+ }
+
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ if (link->handle) {
+ int res = pcmcia_deregister_client(link->handle);
+ if (res) {
+@@ -577,6 +610,7 @@
+ cs_error(link->handle, DeregisterClient, res);
+ }
+ }
++#endif
+
+ *linkp = link->next;
+ /* release net devices */
+@@ -855,7 +889,53 @@
+ PDEBUG(DEBUG_FLOW, "release - done\n");
+ }
+
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15))
++static int prism2_suspend1(struct pcmcia_device *dev)
++{
++ dev_link_t *link = dev_to_instance(dev);
++ struct net_device *ndev = (struct net_device *) link->priv;
++
++ PDEBUG(DEBUG_EXTRA, "%s: CS_EVENT_PM_SUSPEND\n", dev_info);
++ link->state |= DEV_SUSPEND;
++ /* fall through */
+
++ if (link->state & DEV_CONFIG) {
++ if (link->open) {
++ netif_stop_queue(ndev);
++ netif_device_detach(ndev);
++ }
++ prism2_suspend(ndev);
++ pcmcia_release_configuration(link->handle);
++ }
++
++ return 0;
++}
++
++static int prism2_resume1(struct pcmcia_device *dev)
++{
++ dev_link_t *link = dev_to_instance(dev);
++ struct net_device *ndev = (struct net_device *) link->priv;
++
++ PDEBUG(DEBUG_EXTRA, "%s: CS_EVENT_PM_RESUME\n", dev_info);
++
++ link->state &= ~DEV_SUSPEND;
++ /* fall through */
++
++ if (link->state & DEV_CONFIG) {
++ pcmcia_request_configuration(link->handle, &link->conf);
++ prism2_hw_shutdown(ndev, 1);
++ prism2_hw_config(ndev, link->open ? 0 : 1);
++ if (link->open) {
++ netif_device_attach(ndev);
++ netif_start_queue(ndev);
++ }
++ }
++
++ return 0;
++}
++#endif
++
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ static int prism2_event(event_t event, int priority,
+ event_callback_args_t *args)
+ {
+@@ -924,7 +1004,7 @@
+ }
+ return 0;
+ }
+-
++#endif
+
+ #if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,67)
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13))
+@@ -983,11 +1063,20 @@
+ .drv = {
+ .name = "hostap_cs",
+ },
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15))
++ .probe = prism2_attach,
++ .remove = prism2_detach,
++ .suspend = prism2_suspend1,
++ .resume = prism2_resume1,
++#else
+ .attach = prism2_attach,
+ .detach = prism2_detach,
++#endif
+ .owner = THIS_MODULE,
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,13))
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15))
+ .event = prism2_event,
++#endif
+ .id_table = hostap_cs_ids,
+ #endif
+ };
diff --git a/meta/packages/hostap/hostap-modules/mtx_compat.diff b/meta/packages/hostap/hostap-modules/mtx_compat.diff
new file mode 100644
index 0000000000..c2d6662d69
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules/mtx_compat.diff
@@ -0,0 +1,20 @@
+--- driver/modules/hostap_compat.h.orig 2004-08-09 16:16:48.359929856 +0200
++++ driver/modules/hostap_compat.h 2004-08-09 16:17:12.383277752 +0200
+@@ -13,7 +13,7 @@
+ MOD_INC_USE_COUNT; \
+ if (schedule_task((q)) == 0) \
+ MOD_DEC_USE_COUNT;
+-
++/*
+ static inline void flush_scheduled_work(void)
+ {
+ flush_scheduled_tasks();
+@@ -27,7 +27,7 @@
+ tq->routine = routine;
+ tq->data = data;
+ }
+-
++*/
+ #else /* kernel < 2.5.44 */
+
+ #define HOSTAP_QUEUE struct work_struct
diff --git a/meta/packages/hostap/hostap-modules/mtx_hostap_deferred_irq.diff b/meta/packages/hostap/hostap-modules/mtx_hostap_deferred_irq.diff
new file mode 100644
index 0000000000..e979b72d93
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules/mtx_hostap_deferred_irq.diff
@@ -0,0 +1,81 @@
+--- driver/modules/hostap_pci.c.orig 2004-11-30 06:41:48.000000000 +0100
++++ driver/modules/hostap_pci.c 2005-01-17 19:47:33.710400496 +0100
+@@ -50,6 +50,13 @@
+ };
+
+
++#define DEFERRED_IRQ_INITIALIZATION
++
++#ifdef DEFERRED_IRQ_INITIALIZATION
++struct net_device *devb[MAX_PARM_DEVICES];
++#endif
++
++
+ #ifdef PRISM2_IO_DEBUG
+
+ static inline void hfa384x_outb_debug(struct net_device *dev, int a, u8 v)
+@@ -280,6 +287,10 @@
+
+ pci_set_drvdata(pdev, dev);
+
++#ifdef DEFERRED_IRQ_INITIALIZATION
++ printk("%s: deferred initialization of IRQs\n", dev_info);
++ devb[cards_found-1] = dev;
++#else
+ if (request_irq(dev->irq, prism2_interrupt, SA_SHIRQ, dev->name,
+ dev)) {
+ printk(KERN_WARNING "%s: request_irq failed\n", dev->name);
+@@ -295,7 +306,7 @@
+
+ printk(KERN_INFO "%s: Intersil Prism2.5 PCI: "
+ "mem=0x%lx, irq=%d\n", dev->name, phymem, dev->irq);
+-
++#endif
+ return hostap_hw_ready(dev);
+
+ fail:
+@@ -399,18 +410,43 @@
+ };
+
+
++#ifdef DEFERRED_IRQ_INITIALIZATION
++static void deferred_init(int num_devices)
++{
++ int n;
++ for (n=0; n<num_devices && n<MAX_PARM_DEVICES; n++)
++ {
++ if (request_irq(devb[n]->irq, prism2_interrupt, SA_SHIRQ, devb[n]->name,
++ devb[n])) {
++ printk(KERN_WARNING "%s: request_irq failed\n", devb[n]->name);
++ }
++ if (prism2_hw_config(devb[n], 1)) {
++ printk(KERN_DEBUG "%s: hardware initialization failed\n", devb[n]->name)
++;
++ }
++ printk(KERN_INFO "%s: Intersil Prism2.5 PCI: irq=%d\n", devb[n]->name, devb[n]->
++irq);
++ }
++}
++#endif
++
+ static int __init init_prism2_pci(void)
+ {
+ printk(KERN_INFO "%s: %s\n", dev_info, version);
+
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10))
+- if (pci_register_driver(&prism2_pci_drv_id) <= 0) {
++ int n;
++ if ((n=pci_register_driver(&prism2_pci_drv_id)) <= 0) {
+ printk("hostap_pci: No devices found, driver not "
+ "installed.\n");
+ pci_unregister_driver(&prism2_pci_drv_id);
+ return -ENODEV;
+ }
+
++#ifdef DEFERRED_IRQ_INITIALIZATION
++ deferred_init(n);
++#endif
++
+ return 0;
+ #else
+ return pci_register_driver(&prism2_pci_drv_id);
diff --git a/meta/packages/hostap/hostap-modules_0.3.9.bb b/meta/packages/hostap/hostap-modules_0.3.9.bb
new file mode 100644
index 0000000000..cc09fd5952
--- /dev/null
+++ b/meta/packages/hostap/hostap-modules_0.3.9.bb
@@ -0,0 +1,7 @@
+include hostap-modules.inc
+PR = "r10"
+
+SRC_URI += "file://Makefile.patch;patch=1 \
+ file://add_event.patch;patch=1 \
+ file://hostap-utsname.patch;patch=1 \
+ file://hostap_cardid.patch;patch=1"
diff --git a/meta/packages/hostap/hostap-utils.inc b/meta/packages/hostap/hostap-utils.inc
new file mode 100644
index 0000000000..1e4362d0f7
--- /dev/null
+++ b/meta/packages/hostap/hostap-utils.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "User mode helpers for the hostap driver"
+HOMEPAGE = "http://hostap.epitest.fi"
+SECTION = "kernel/userland"
+PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+LICENSE = "GPL"
+RRECOMMENDS = "hostap-modules"
+PR = "r3"
+
+SRC_URI = "http://hostap.epitest.fi/releases/hostap-utils-${PV}.tar.gz \
+ file://hostap-fw-load.patch;patch=1"
+S = "${WORKDIR}/hostap-utils-${PV}"
+
+BINARIES = "hostap_crypt_conf hostap_diag hostap_fw_load hostap_io_debug \
+ hostap_rid prism2_param prism2_srec split_combined_hex"
+
+do_install() {
+ install -d ${D}${sbindir}/
+ for f in ${BINARIES}
+ do
+ install -m 0755 $f ${D}${sbindir}/
+ done
+}
+
diff --git a/meta/packages/hostap/hostap-utils_0.3.7.bb b/meta/packages/hostap/hostap-utils_0.3.7.bb
new file mode 100644
index 0000000000..ad06cd3d6d
--- /dev/null
+++ b/meta/packages/hostap/hostap-utils_0.3.7.bb
@@ -0,0 +1,3 @@
+include hostap-utils.inc
+
+PR = "r3"
diff --git a/meta/packages/hostap/hostap-utils_0.4.0.bb b/meta/packages/hostap/hostap-utils_0.4.0.bb
new file mode 100644
index 0000000000..ad06cd3d6d
--- /dev/null
+++ b/meta/packages/hostap/hostap-utils_0.4.0.bb
@@ -0,0 +1,3 @@
+include hostap-utils.inc
+
+PR = "r3"
diff --git a/meta/packages/initscripts/initscripts-1.0/akita/devices b/meta/packages/initscripts/initscripts-1.0/akita/devices
new file mode 100755
index 0000000000..083090ecb9
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/akita/devices
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/input
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /dev/sharp_ts /dev/ts
+ ln -sf /dev/sharp_fl /dev/fl
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/arm/alignment.sh b/meta/packages/initscripts/initscripts-1.0/arm/alignment.sh
new file mode 100644
index 0000000000..4a66dc6bc8
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/arm/alignment.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+if [ -e /proc/cpu/alignment ]; then
+ echo "3" > /proc/cpu/alignment
+fi
+
diff --git a/meta/packages/initscripts/initscripts-1.0/banner b/meta/packages/initscripts/initscripts-1.0/banner
new file mode 100755
index 0000000000..21a01d2846
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/banner
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+if [ ! -e /dev/tty ]; then
+ /bin/mknod -m 0666 /dev/tty c 5 0
+fi
+
+if ( > /dev/tty0 ) 2>/dev/null; then
+ vtmaster=/dev/tty0
+elif ( > /dev/vc/0 ) 2>/dev/null; then
+ vtmaster=/dev/vc/0
+else
+ vtmaster=/dev/null
+fi
+echo > $vtmaster
+echo "Please wait: booting..." > $vtmaster
diff --git a/meta/packages/initscripts/initscripts-1.0/bootmisc.sh b/meta/packages/initscripts/initscripts-1.0/bootmisc.sh
new file mode 100755
index 0000000000..814dba676c
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/bootmisc.sh
@@ -0,0 +1,71 @@
+#
+# bootmisc.sh Miscellaneous things to be done during bootup.
+#
+
+. /etc/default/rcS
+#
+# Put a nologin file in /etc to prevent people from logging in before
+# system startup is complete.
+#
+if test "$DELAYLOGIN" = yes
+then
+ echo "System bootup in progress - please wait" > /etc/nologin
+ cp /etc/nologin /etc/nologin.boot
+fi
+
+#
+# Set pseudo-terminal access permissions.
+#
+if ( ! grep -q devfs /proc/mounts ) && test -c /dev/ttyp0
+then
+ chmod 666 /dev/tty[p-za-e][0-9a-f]
+ chown root:tty /dev/tty[p-za-e][0-9a-f]
+fi
+
+#
+# Apply /proc settings if defined
+#
+SYSCTL_CONF="/etc/sysctl.conf"
+if [ -f "${SYSCTL_CONF}" ]
+then
+ if [ -x "/sbin/sysctl" ]
+ then
+ /sbin/sysctl -p "${SYSCTL_CONF}"
+ else
+ echo "To have ${SYSCTL_CONF} applied during boot, install package <procps>."
+ fi
+fi
+
+#
+# Update /etc/motd.
+#
+if test "$EDITMOTD" != no
+then
+ uname -a > /etc/motd.tmp
+ sed 1d /etc/motd >> /etc/motd.tmp
+ mv /etc/motd.tmp /etc/motd
+fi
+
+#
+# This is as good a place as any for a sanity check
+# /tmp should be a symlink to /var/tmp to cut down on the number
+# of mounted ramdisks.
+if test ! -L /tmp && test -d /var/tmp
+then
+ rm -rf /tmp
+ ln -sf /var/tmp /tmp
+fi
+
+#
+# Update dynamic library cache
+#
+/sbin/ldconfig
+
+#
+# Recover the time, if there is a time file
+#
+if test -e /etc/timestamp
+then
+ date -s `cat /etc/timestamp`
+fi
+: exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/c7x0/devices b/meta/packages/initscripts/initscripts-1.0/c7x0/devices
new file mode 100755
index 0000000000..083090ecb9
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/c7x0/devices
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/input
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /dev/sharp_ts /dev/ts
+ ln -sf /dev/sharp_fl /dev/fl
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/checkfs.sh b/meta/packages/initscripts/initscripts-1.0/checkfs.sh
new file mode 100755
index 0000000000..7d2d75ef57
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/checkfs.sh
@@ -0,0 +1,46 @@
+#
+# checkfs.sh Check all filesystems.
+#
+# Version: @(#)checkfs 2.83 05-Oct-2001 miquels@cistron.nl
+#
+
+. /etc/default/rcS
+
+#
+# Check the rest of the filesystems.
+#
+if test ! -f /fastboot
+then
+ if test -f /forcefsck
+ then
+ force="-f"
+ else
+ force=""
+ fi
+ if test "$FSCKFIX" = yes
+ then
+ fix="-y"
+ else
+ fix="-a"
+ fi
+ spinner="-C"
+ case "$TERM" in
+ dumb|network|unknown|"") spinner="" ;;
+ esac
+ test "`uname -m`" = "s390" && spinner="" # This should go away
+ test "$VERBOSE" != no && echo "Checking all filesystems..."
+ fsck $spinner -R -A $fix $force
+ if test "$?" -gt 1
+ then
+ echo
+ echo "fsck failed. Please repair manually."
+ echo
+ echo "CONTROL-D will exit from this shell and continue system startup."
+ echo
+ # Start a single user shell on the console
+ /sbin/sulogin $CONSOLE
+ fi
+fi
+rm -f /fastboot /forcefsck
+
+: exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/checkroot.sh b/meta/packages/initscripts/initscripts-1.0/checkroot.sh
new file mode 100755
index 0000000000..8255038c32
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/checkroot.sh
@@ -0,0 +1,165 @@
+#
+# checkroot.sh Check to root filesystem.
+#
+# Version: @(#)checkroot.sh 2.84 25-Jan-2002 miquels@cistron.nl
+#
+
+. /etc/default/rcS
+
+#
+# Set SULOGIN in /etc/default/rcS to yes if you want a sulogin to be spawned
+# from this script *before anything else* with a timeout, like SCO does.
+#
+test "$SULOGIN" = yes && sulogin -t 30 $CONSOLE
+
+#
+# Ensure that bdflush (update) is running before any major I/O is
+# performed (the following fsck is a good example of such activity :).
+#
+test -x /sbin/update && update
+
+#
+# Read /etc/fstab.
+#
+exec 9>&0 </etc/fstab
+rootmode=rw
+rootopts=rw
+rootcheck=no
+swap_on_md=no
+devfs=
+while read fs mnt type opts dump pass junk
+do
+ case "$fs" in
+ ""|\#*)
+ continue;
+ ;;
+ /dev/md*)
+ # Swap on md device.
+ test "$type" = swap && swap_on_md=yes
+ ;;
+ /dev/*)
+ ;;
+ *)
+ # Might be a swapfile.
+ test "$type" = swap && swap_on_md=yes
+ ;;
+ esac
+ test "$type" = devfs && devfs="$fs"
+ test "$mnt" != / && continue
+ rootopts="$opts"
+ test "$pass" = 0 -o "$pass" = "" && rootcheck=no
+ case "$opts" in
+ ro|ro,*|*,ro|*,ro,*)
+ rootmode=ro
+ ;;
+ esac
+done
+exec 0>&9 9>&-
+
+#
+# Activate the swap device(s) in /etc/fstab. This needs to be done
+# before fsck, since fsck can be quite memory-hungry.
+#
+doswap=no
+test -d /proc/1 || mount -n /proc
+case "`uname -r`" in
+ 2.[0123].*)
+ if test $swap_on_md = yes && grep -qs resync /proc/mdstat
+ then
+ test "$VERBOSE" != no && echo "Not activating swap - RAID array resyncing"
+ else
+ doswap=yes
+ fi
+ ;;
+ *)
+ doswap=yes
+ ;;
+esac
+if test $doswap = yes
+then
+ test "$VERBOSE" != no && echo "Activating swap"
+ swapon -a 2> /dev/null
+fi
+
+#
+# Check the root filesystem.
+#
+if test -f /fastboot || test $rootcheck = no
+then
+ test $rootcheck = yes && echo "Fast boot, no filesystem check"
+else
+ #
+ # Ensure that root is quiescent and read-only before fsck'ing.
+ #
+ mount -n -o remount,ro /
+ if test $? = 0
+ then
+ if test -f /forcefsck
+ then
+ force="-f"
+ else
+ force=""
+ fi
+ if test "$FSCKFIX" = yes
+ then
+ fix="-y"
+ else
+ fix="-a"
+ fi
+ spinner="-C"
+ case "$TERM" in
+ dumb|network|unknown|"") spinner="" ;;
+ esac
+ test `uname -m` = s390 && spinner="" # This should go away
+ test "$VERBOSE" != no && echo "Checking root filesystem..."
+ fsck $spinner $force $fix /
+ #
+ # If there was a failure, drop into single-user mode.
+ #
+ # NOTE: "failure" is defined as exiting with a return code of
+ # 2 or larger. A return code of 1 indicates that filesystem
+ # errors were corrected but that the boot may proceed.
+ #
+ if test "$?" -gt 1
+ then
+ # Surprise! Re-directing from a HERE document (as in
+ # "cat << EOF") won't work, because the root is read-only.
+ echo
+ echo "fsck failed. Please repair manually and reboot. Please note"
+ echo "that the root filesystem is currently mounted read-only. To"
+ echo "remount it read-write:"
+ echo
+ echo " # mount -n -o remount,rw /"
+ echo
+ echo "CONTROL-D will exit from this shell and REBOOT the system."
+ echo
+ # Start a single user shell on the console
+ /sbin/sulogin $CONSOLE
+ reboot -f
+ fi
+ else
+ echo "*** ERROR! Cannot fsck root fs because it is not mounted read-only!"
+ echo
+ fi
+fi
+
+#
+# If the root filesystem was not marked as read-only in /etc/fstab,
+# remount the rootfs rw but do not try to change mtab because it
+# is on a ro fs until the remount succeeded. Then clean up old mtabs
+# and finally write the new mtab.
+#
+mount -n -o remount,$rootmode /
+if test "$rootmode" = rw
+then
+ if test ! -L /etc/mtab
+ then
+ rm -f /etc/mtab~ /etc/nologin
+ : > /etc/mtab
+ fi
+ mount -f -o remount /
+ mount -f /proc
+ test "$devfs" && grep -q '^devfs /dev' /proc/mounts && mount -f "$devfs"
+fi
+
+: exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/collie/devices b/meta/packages/initscripts/initscripts-1.0/collie/devices
new file mode 100755
index 0000000000..9d1624428a
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/collie/devices
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /dev/sharp_ts /dev/ts
+ ln -sf /dev/sharp_fl /dev/fl
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/device_table.txt b/meta/packages/initscripts/initscripts-1.0/device_table.txt
new file mode 100644
index 0000000000..35560b4025
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/device_table.txt
@@ -0,0 +1,179 @@
+#/dev/ d 775 0 0 - - - - -
+#/dev/msys d 775 0 0 - - - - -
+#/dev/pts d 775 0 0 - - - - -
+#/var d 775 0 0 - - - - -
+/boot/var/empty d 755 0 3 - - - -
+/dev/apm_bios c 660 0 46 10 134 - - -
+/dev/audio c 660 0 29 14 4 - - -
+/dev/audio1 c 660 0 29 14 20 - - -
+/dev/audio2 c 660 0 29 14 36 - - -
+/dev/audio3 c 660 0 29 14 52 - - -
+/dev/bty c 644 0 0 60 0 0 1 5
+/dev/sharp_fl c 640 0 44 254 0 - - -
+/dev/console c 660 0 5 5 1 - -
+/dev/cusa0 c 640 0 0 205 5 - - -
+/dev/cusa1 c 640 0 0 205 6 - - -
+/dev/cusa2 c 640 0 0 205 7 - - -
+/dev/dsp c 660 0 29 14 3 - - -
+/dev/dsp1 c 660 0 29 14 19 - - -
+/dev/dsp2 c 660 0 29 14 35 - - -
+/dev/dsp3 c 660 0 29 14 51 - - -
+/dev/fb c 660 0 44 29 0 0 32 2
+/dev/fb0autodetect c 660 0 44 29 1 - - -
+/dev/fb0current c 660 0 44 29 0 - - -
+#/dev/fb1 c 660 0 44 29 32 - - -
+/dev/fb1autodetect c 660 0 44 29 33 - - -
+/dev/fb1current c 660 0 44 29 32 - - -
+/dev/full c 666 0 7 - - -
+/dev/hda b 660 0 6 3 0 - - -
+/dev/hda b 660 0 6 3 1 1 1 20
+/dev/hdb b 660 0 6 3 64 - - -
+/dev/hdb b 660 0 6 3 65 1 1 20
+/dev/hdc b 660 0 6 22 0 - - -
+/dev/hdc b 660 0 6 22 1 1 1 20
+/dev/initctl p 600 0 0 - - - -
+/dev/i2c0 c 660 0 0 89 0 - - -
+/dev/inportbm c 660 0 0 10 2 - - -
+/dev/input/event c 660 0 0 13 64 0 1 20
+/dev/ircomm0 c 640 0 0 161 0 - - -
+/dev/jbm c 660 0 0 10 4 - - -
+/dev/kmem c 640 0 15 1 2 - - -
+/dev/lirc c 660 0 5 61 0 - - -
+/dev/logibm c 660 0 0 10 0 - - -
+/dev/loop0 b 660 0 11 7 0 - - -
+/dev/loop1 b 660 0 11 7 1 - - -
+/dev/mem c 640 0 15 1 1 - - -
+/dev/mixer c 666 0 0 14 0 - - -
+/dev/mixer1 c 666 0 0 14 16 - - -
+/dev/mixer2 c 666 0 0 14 32 - - -
+/dev/mixer3 c 666 0 0 14 48 - - -
+/dev/mmcda b 640 0 0 60 0 - - -
+/dev/mmcda1 b 640 0 0 60 1 - - -
+/dev/mmcda2 b 640 0 0 60 2 - - -
+/dev/msys/fla b 660 0 11 100 0 - - -
+/dev/msys/fla1 b 660 0 11 100 1 - - -
+/dev/msys/fla2 b 660 0 11 100 2 - - -
+/dev/msys/fla3 b 660 0 11 100 3 - - -
+/dev/msys/fla4 b 660 0 11 100 4 - - -
+/dev/msys/flb b 660 0 11 100 64 - - -
+/dev/msys/flb1 b 660 0 11 100 65 - - -
+/dev/msys/flb2 b 660 0 11 100 66 - - -
+/dev/msys/flb3 b 660 0 11 100 67 - - -
+/dev/msys/flb4 b 660 0 11 100 68 - - -
+/dev/mtd c 660 0 6 90 0 0 2 8
+/dev/mtdblock b 640 0 0 31 0 0 1 8
+/dev/nst0 c 664 0 11 9 128 - - -
+/dev/nst0a c 664 0 11 9 224 - - -
+/dev/nst0l c 664 0 11 9 160 - - -
+/dev/nst0m c 664 0 11 9 192 - - -
+/dev/nst1 c 664 0 11 9 129 - - -
+/dev/nst1a c 664 0 11 9 225 - - -
+/dev/nst1l c 664 0 11 9 161 - - -
+/dev/nst1m c 664 0 11 9 193 - - -
+/dev/null c 666 0 0 1 3 - - -
+/dev/par0 c 660 0 7 6 0 - - -
+/dev/par1 c 660 0 7 6 1 - - -
+/dev/par2 c 660 0 7 6 2 - - -
+/dev/port c 640 0 15 1 4 - - -
+/dev/ppp c 640 0 0 108 0 - - -
+/dev/psaux c 660 0 0 10 1 - - -
+/dev/ptmx c 666 0 5 5 2 - - -
+/dev/ptya0 c 660 0 5 2 176 - - -
+/dev/ptya1 c 660 0 5 2 177 - - -
+/dev/ptya2 c 660 0 5 2 178 - - -
+/dev/ptya3 c 660 0 5 2 179 - - -
+/dev/ptya4 c 660 0 5 2 180 - - -
+/dev/ptya5 c 660 0 5 2 181 - - -
+/dev/ptya6 c 660 0 5 2 182 - - -
+/dev/ptya7 c 660 0 5 2 183 - - -
+/dev/ptya8 c 660 0 5 2 184 - - -
+/dev/ptya9 c 660 0 5 2 185 - - -
+/dev/ptyaa c 660 0 5 2 186 - - -
+/dev/ptyab c 660 0 5 2 187 - - -
+/dev/ptyac c 660 0 5 2 188 - - -
+/dev/ptyad c 660 0 5 2 189 - - -
+/dev/ptyae c 660 0 5 2 190 - - -
+/dev/ptyaf c 660 0 5 2 191 - - -
+/dev/ram b 640 0 0 1 0 0 1 4
+/dev/random c 444 0 0 1 8 - - -
+/dev/rfcomm0 c 660 0 0 216 0 - - -
+/dev/rfcomm1 c 660 0 0 216 1 - - -
+/dev/rfcomm2 c 660 0 0 216 2 - - -
+/dev/rfcomm3 c 660 0 0 216 3 - - -
+/dev/rfcomm4 c 660 0 0 216 4 - - -
+/dev/rfcomm5 c 660 0 0 216 5 - - -
+/dev/rfcomm6 c 660 0 0 216 6 - - -
+/dev/rfcomm7 c 660 0 0 216 7 - - -
+/dev/rfcomm8 c 660 0 0 216 8 - - -
+/dev/rfcomm9 c 660 0 0 216 9 - - -
+/dev/rfcomm10 c 660 0 0 216 10 - - -
+/dev/rfcomm11 c 660 0 0 216 11 - - -
+/dev/rfcomm12 c 660 0 0 216 12 - - -
+/dev/rfcomm13 c 660 0 0 216 13 - - -
+/dev/rfcomm14 c 660 0 0 216 14 - - -
+/dev/rfcomm15 c 660 0 0 216 15 - - -
+/dev/rmidi0 c 660 0 0 35 64 - - -
+/dev/rmidi1 c 660 0 0 35 65 - - -
+/dev/rmidi2 c 660 0 0 35 66 - - -
+/dev/rmidi3 c 660 0 0 35 67 - - -
+/dev/rtc c 660 0 47 10 135 - - -
+/dev/scd0 b 660 0 6 11 0 - - -
+/dev/scd1 b 660 0 6 11 1 - - -
+/dev/sda b 660 0 6 8 0 - - -
+/dev/sda1 b 660 0 6 8 1 - - -
+/dev/sda2 b 660 0 6 8 2 - - -
+/dev/sda3 b 660 0 6 8 3 - - -
+/dev/sda4 b 660 0 6 8 4 - - -
+/dev/sda5 b 660 0 6 8 5 - - -
+/dev/sda6 b 660 0 6 8 6 - - -
+/dev/sda7 b 660 0 6 8 7 - - -
+/dev/sda8 b 660 0 6 8 8 - - -
+/dev/sda9 b 660 0 6 8 9 - - -
+/dev/sdb b 660 0 6 8 16 - - -
+/dev/sdb1 b 660 0 6 8 17 - - -
+/dev/sdb2 b 660 0 6 8 18 - - -
+/dev/sdb3 b 660 0 6 8 19 - - -
+/dev/sdb4 b 660 0 6 8 20 - - -
+/dev/sdb5 b 660 0 6 8 21 - - -
+/dev/sdb6 b 660 0 6 8 22 - - -
+/dev/sdb7 b 660 0 6 8 23 - - -
+/dev/sdb8 b 660 0 6 8 24 - - -
+/dev/sdb9 b 660 0 6 8 25 - - -
+/dev/sdc b 660 0 6 8 32 - - -
+/dev/sdc1 b 660 0 6 8 33 - - -
+/dev/sdc2 b 660 0 6 8 34 - - -
+/dev/sdc3 b 660 0 6 8 35 - - -
+/dev/sdc4 b 660 0 6 8 36 - - -
+/dev/sdc5 b 660 0 6 8 37 - - -
+/dev/sdc6 b 660 0 6 8 38 - - -
+/dev/sdc7 b 660 0 6 8 39 - - -
+/dev/sdc8 b 660 0 6 8 40 - - -
+/dev/sdc9 b 660 0 6 8 41 - - -
+/dev/sd_slotstat c 660 0 6 10 240 - - -
+/dev/sharp_audioctl c 660 0 29 10 213 - - -
+/dev/sharp_buz c 660 0 29 10 211 - - -
+/dev/sharp_kbdctl c 660 0 45 10 214 - - -
+/dev/sharp_led c 660 0 48 10 210 - - -
+/dev/sharp_ts c 640 0 45 11 0 - - -
+/dev/smtpe0 c 640 0 0 35 128 - - -
+/dev/smtpe1 c 640 0 0 35 129 - - -
+/dev/smtpe2 c 640 0 0 35 130 - - -
+/dev/smtpe3 c 640 0 0 35 131 - - -
+/dev/sndstat c 660 0 29 14 6 - - -
+/dev/st0 c 660 0 11 9 0 - - -
+/dev/st0a c 660 0 11 9 96 - - -
+/dev/st0l c 660 0 11 9 32 - - -
+/dev/st0m c 660 0 11 9 64 - - -
+/dev/st1 c 660 0 11 9 1 - - -
+/dev/st1a c 660 0 11 9 97 - - -
+/dev/st1l c 660 0 11 9 33 - - -
+/dev/st1m c 660 0 11 9 65 - - -
+/dev/tty c 664 0 5 5 0 - - -
+/dev/tty c 666 0 5 4 0 0 1 9
+/dev/ttyS c 640 0 5 4 64 0 1 4
+/dev/ttySA c 640 0 5 204 5 0 1 4
+/dev/ttyUSB c 660 0 5 188 0 0 1 2
+/dev/urandom c 644 0 0 1 9 - - -
+/dev/usbmouse c 640 0 45 10 32 - - -
+/dev/zero c 644 0 0 1 5 - - -
+/dev/input/mice c 660 0 0 13 63 - - -
diff --git a/meta/packages/initscripts/initscripts-1.0/devices b/meta/packages/initscripts/initscripts-1.0/devices
new file mode 100755
index 0000000000..28fb71fe3f
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/devices
@@ -0,0 +1,66 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/input
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/devpts b/meta/packages/initscripts/initscripts-1.0/devpts
new file mode 100644
index 0000000000..4a0978b404
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/devpts
@@ -0,0 +1,5 @@
+# GID of the `tty' group
+TTYGRP=5
+
+# Set to 600 to have `mesg n' be the default
+TTYMODE=620
diff --git a/meta/packages/initscripts/initscripts-1.0/devpts.sh b/meta/packages/initscripts/initscripts-1.0/devpts.sh
new file mode 100755
index 0000000000..334cf63801
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/devpts.sh
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+. /etc/default/devpts
+
+test "`uname -s`" = "Linux" || exit 0
+
+#
+# First find out if devpts is available. Also check if devfs
+# is already mounted - in that case we don't want to use devpts.
+#
+if test ! -e /dev/.devfsd && ( grep -q devpts /proc/filesystems )
+then
+ #
+ # Create multiplexor device.
+ #
+ test -c /dev/ptmx || mknod -m 666 /dev/ptmx c 5 2
+
+ #
+ # Mount /dev/pts if needed.
+ #
+ if ( ! grep -q devpts /proc/mounts )
+ then
+ mkdir -p /dev/pts
+ mount -t devpts devpts /dev/pts -ogid=${TTYGRP},mode=${TTYMODE}
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/finish b/meta/packages/initscripts/initscripts-1.0/finish
new file mode 100755
index 0000000000..4f9f75f47c
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/finish
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+if ! test -e /etc/.configured; then
+ > /etc/.configured
+fi
+
diff --git a/meta/packages/initscripts/initscripts-1.0/h3600/devices b/meta/packages/initscripts/initscripts-1.0/h3600/devices
new file mode 100755
index 0000000000..0e59229225
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/h3600/devices
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+ test -n "$VERBOSE" && echo -n "Setting up device links for devfs: "
+ (
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+ # ln -s /dev/tts/0 /dev/ttySA0
+ # ln -s /dev/tts/1 /dev/ttySA1
+ # ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+ ln -s /dev/misc/apm_bios /dev/apm_bios
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ ) > /dev/null 2>&1
+
+
+ test -n "$VERBOSE" && echo "done"
diff --git a/meta/packages/initscripts/initscripts-1.0/h3900/devices b/meta/packages/initscripts/initscripts-1.0/h3900/devices
new file mode 100755
index 0000000000..0e59229225
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/h3900/devices
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+ test -n "$VERBOSE" && echo -n "Setting up device links for devfs: "
+ (
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+ # ln -s /dev/tts/0 /dev/ttySA0
+ # ln -s /dev/tts/1 /dev/ttySA1
+ # ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+ ln -s /dev/misc/apm_bios /dev/apm_bios
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ ) > /dev/null 2>&1
+
+
+ test -n "$VERBOSE" && echo "done"
diff --git a/meta/packages/initscripts/initscripts-1.0/halt b/meta/packages/initscripts/initscripts-1.0/halt
new file mode 100755
index 0000000000..aa1769606a
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/halt
@@ -0,0 +1,31 @@
+#! /bin/sh
+#
+# halt Execute the halt command.
+#
+# Version: @(#)halt 2.84-2 07-Jan-2002 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# Update the timestamp, if there is already one
+if test -e /etc/timestamp
+then
+ date +%2m%2d%2H%2M%Y > /etc/timestamp
+fi
+
+# See if we need to cut the power.
+if test -x /etc/init.d/ups-monitor
+then
+ /etc/init.d/ups-monitor poweroff
+fi
+
+# Don't shut down drives if we're using RAID.
+hddown="-h"
+if grep -qs '^md.*active' /proc/mdstat
+then
+ hddown=""
+fi
+
+halt -d -f -i -p $hddown
+
+: exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/hostname.sh b/meta/packages/initscripts/initscripts-1.0/hostname.sh
new file mode 100755
index 0000000000..0f3d374286
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/hostname.sh
@@ -0,0 +1,11 @@
+#
+# hostname.sh Set hostname.
+#
+# Version: @(#)hostname.sh 1.10 26-Feb-2001 miquels@cistron.nl
+#
+
+if test -f /etc/hostname
+then
+ hostname -F /etc/hostname
+fi
+
diff --git a/meta/packages/initscripts/initscripts-1.0/jornada56x/devices b/meta/packages/initscripts/initscripts-1.0/jornada56x/devices
new file mode 100755
index 0000000000..0e59229225
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/jornada56x/devices
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+ test -n "$VERBOSE" && echo -n "Setting up device links for devfs: "
+ (
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+ # ln -s /dev/tts/0 /dev/ttySA0
+ # ln -s /dev/tts/1 /dev/ttySA1
+ # ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+ ln -s /dev/misc/apm_bios /dev/apm_bios
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ ) > /dev/null 2>&1
+
+
+ test -n "$VERBOSE" && echo "done"
diff --git a/meta/packages/initscripts/initscripts-1.0/jornada6xx/devices b/meta/packages/initscripts/initscripts-1.0/jornada6xx/devices
new file mode 100644
index 0000000000..fc96ff62ee
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/jornada6xx/devices
@@ -0,0 +1,70 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/input
+ mknod /dev/input/ts0 c 13 128
+ mknod /dev/ttySC1 c 9 204
+ mknod /dev/irda0 c 10 204
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/jornada7xx/devices b/meta/packages/initscripts/initscripts-1.0/jornada7xx/devices
new file mode 100755
index 0000000000..0e59229225
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/jornada7xx/devices
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+ test -n "$VERBOSE" && echo -n "Setting up device links for devfs: "
+ (
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+ # ln -s /dev/tts/0 /dev/ttySA0
+ # ln -s /dev/tts/1 /dev/ttySA1
+ # ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+ ln -s /dev/misc/apm_bios /dev/apm_bios
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ ) > /dev/null 2>&1
+
+
+ test -n "$VERBOSE" && echo "done"
diff --git a/meta/packages/initscripts/initscripts-1.0/mountall.sh b/meta/packages/initscripts/initscripts-1.0/mountall.sh
new file mode 100755
index 0000000000..b5cb85a1e9
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/mountall.sh
@@ -0,0 +1,45 @@
+#
+# mountall.sh Mount all filesystems.
+#
+# Version: @(#)mountall.sh 2.83-2 01-Nov-2001 miquels@cistron.nl
+#
+. /etc/default/rcS
+
+#
+# Mount local filesystems in /etc/fstab. For some reason, people
+# might want to mount "proc" several times, and mount -v complains
+# about this. So we mount "proc" filesystems without -v.
+#
+test "$VERBOSE" != no && echo "Mounting local filesystems..."
+mount -at nonfs,nosmbfs,noncpfs 2>/dev/null
+
+#
+# We might have mounted something over /dev, see if /dev/initctl is there.
+#
+if test ! -p /dev/initctl
+then
+ rm -f /dev/initctl
+ mknod -m 600 /dev/initctl p
+fi
+kill -USR1 1
+
+#
+# Execute swapon command again, in case we want to swap to
+# a file on a now mounted filesystem.
+#
+doswap=yes
+case "`uname -r`" in
+ 2.[0123].*)
+ if grep -qs resync /proc/mdstat
+ then
+ doswap=no
+ fi
+ ;;
+esac
+if test $doswap = yes
+then
+ swapon -a 2> /dev/null
+fi
+
+: exit 0
+
diff --git a/meta/packages/initscripts/initscripts-1.0/mountnfs.sh b/meta/packages/initscripts/initscripts-1.0/mountnfs.sh
new file mode 100755
index 0000000000..84cb3651fc
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/mountnfs.sh
@@ -0,0 +1,87 @@
+#
+# mountnfs.sh Now that TCP/IP is configured, mount the NFS file
+# systems in /etc/fstab if needed. If possible,
+# start the portmapper before mounting (this is needed for
+# Linux 2.1.x and up).
+#
+# Also mounts SBM filesystems now, so the name of
+# this script is getting increasingly inaccurate.
+#
+# Version: @(#)mountnfs.sh 2.83 05-Oct-2001 miquels@cistron.nl
+#
+
+. /etc/default/rcS
+
+#
+# Run in a subshell because of I/O redirection.
+#
+test -f /etc/fstab && (
+
+#
+# Read through fstab line by line. If it is NFS, set the flag
+# for mounting NFS filesystems. If any NFS partition is found and it
+# not mounted with the nolock option, we start the portmapper.
+#
+portmap=no
+mount_nfs=no
+mount_smb=no
+mount_ncp=no
+while read device mountpt fstype options
+do
+ case "$device" in
+ ""|\#*)
+ continue
+ ;;
+ esac
+
+ case "$options" in
+ *noauto*)
+ continue
+ ;;
+ esac
+
+ if test "$fstype" = nfs
+ then
+ mount_nfs=yes
+ case "$options" in
+ *nolock*)
+ ;;
+ *)
+ portmap=yes
+ ;;
+ esac
+ fi
+ if test "$fstype" = smbfs
+ then
+ mount_smb=yes
+ fi
+ if test "$fstype" = ncpfs
+ then
+ mount_ncp=yes
+ fi
+done
+
+exec 0>&1
+
+if test "$portmap" = yes
+then
+ if test -x /sbin/portmap
+ then
+ echo -n "Starting portmapper... "
+ start-stop-daemon --start --quiet --exec /sbin/portmap
+ sleep 2
+ fi
+fi
+
+if test "$mount_nfs" = yes || test "$mount_smb" = yes || test "$mount_ncp" = yes
+then
+ echo "Mounting remote filesystems..."
+ test "$mount_nfs" = yes && mount -a -t nfs
+ test "$mount_smb" = yes && mount -a -t smbfs
+ test "$mount_ncp" = yes && mount -a -t ncpfs
+fi
+
+) < /etc/fstab
+
+: exit 0
+
diff --git a/meta/packages/initscripts/initscripts-1.0/openmn/extractfs b/meta/packages/initscripts/initscripts-1.0/openmn/extractfs
new file mode 100755
index 0000000000..7e57dedd2d
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/openmn/extractfs
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+if (grep -q 'tmpfs.*/var.*tmpfs' /proc/mounts)
+then
+ test "$VERBOSE" != no && echo "Copying /var filesystem..."
+ cp -a /boot/var /
+fi
diff --git a/meta/packages/initscripts/initscripts-1.0/openmn/packages b/meta/packages/initscripts/initscripts-1.0/openmn/packages
new file mode 100755
index 0000000000..2566487d2d
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/openmn/packages
@@ -0,0 +1,63 @@
+#!/bin/sh
+# Original author: ???
+#
+# Additions by Steph Meslin-Weber:
+# x Percentage display
+# x Dot display of dependency installations
+# - removed both of above
+# - display is now X of Y packages and current package name being installed
+
+#. /etc/default/rcS
+
+reconfigure () {
+ pkg=$1
+ path=$2
+ isdependent=$3
+ test -e "$path/info/$pkg.control" || return 1
+ depends="`cat $path/info/$pkg.control|grep Depends|cut -d: -f2`"
+
+ # make sure we haven't already installed this package
+ isthere=`cat /tmp/.configured.list|grep $pkg`
+ if test "$isthere" != ""; then
+ return 1
+ fi
+
+ if test "$depends" != ""; then
+ for dep in $depends; do
+ (echo $log|grep $dep >/dev/null 2>&1) || ( reconfigure $dep $path "$max" "$pkg" && log="$log $dep"; )
+ done
+ fi
+
+ echo -ne " ${pkg}"
+
+ test -e "$path/info/$pkg.prerm" && $path/info/$pkg.prerm unconfigure >/dev/null 2>&1
+ test -e "$path/info/$pkg.postinst" && $path/info/$pkg.postinst configure >/dev/null 2>&1
+
+ log="$log $pkg"
+
+ # append the installed package name to the list
+ echo -ne "$pkg\n" >> /tmp/.configured.list
+
+ echo
+ return 0
+}
+
+if test ! -e /etc/.configured; then
+ echo "Reconfiguring all packages installed to root:"
+
+ # create unique packages list file
+ rm -f /tmp/.configured.list
+ touch /tmp/.configured.list
+
+ log=""
+
+ for control in /usr/lib/ipkg/info/*.control; do
+ package=`echo $control|sed -e 's,.*/,,g; s,\.control,,g;'`
+ (echo $log|grep $package >/dev/null 2>&1) || reconfigure $package /usr/lib/ipkg
+ done
+
+ # cleanup unique packages list file
+ rm -f /tmp/.configured.list
+fi
+
+test -f /usr/lib/ipkg/info/task-ramses || ipkg install task-ramses
diff --git a/meta/packages/initscripts/initscripts-1.0/openmn/umountfs b/meta/packages/initscripts/initscripts-1.0/openmn/umountfs
new file mode 100755
index 0000000000..399194109b
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/openmn/umountfs
@@ -0,0 +1,17 @@
+#! /bin/sh
+#
+# umountfs Turn off swap and unmount all local filesystems.
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+echo "Deactivating swap..."
+swapoff -a
+
+# We leave /proc mounted.
+echo "Unmounting local filesystems..."
+umount -f -a -r
+
+mount -o remount,ro /
+
+: exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/openzaurus/checkversion b/meta/packages/initscripts/initscripts-1.0/openzaurus/checkversion
new file mode 100755
index 0000000000..0c8be4fc2d
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/openzaurus/checkversion
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+found=`cat /proc/version | cut -d ' ' -f3`
+echo "$found" | grep -q "snapshot" && exit 0
+
+if [ "VERSION" != "$found" ] ; then
+ echo -e >/dev/tty1
+ echo -e "\033[31;1m ******************************************* \033[0m" >/dev/tty1
+ echo -e "\033[31;1m * \033[0mW A R N I N G ! \033[31;1m* \033[0m" >/dev/tty1
+ echo -e "\033[31;1m ******************************************* \033[0m" >/dev/tty1
+ echo >/dev/tty1
+ echo -e "\033[31;1m ******************************************* \033[0m" >/dev/tty1
+ echo -e "\033[31;1m * \033[0mYou are running the wrong kernel! \033[31;1m* \033[0m" >/dev/tty1
+ echo -e "\033[31;1m ******************************************* \033[0m" >/dev/tty1
+ echo >/dev/tty1
+ echo -e "You are running '" $found "'" >/dev/tty1
+ echo -e "I expect kernel '" VERSION "'" >/dev/tty1
+ echo >/dev/tty1
+ echo -e "\033[31;1m ******************************************* \033[0m" >/dev/tty1
+ echo -e "\033[31;1m * \033[0mRunning this combination is unsupported \033[31;1m* \033[0m" >/dev/tty1
+ echo -e "\033[31;1m ******************************************* \033[0m" >/dev/tty1
+ echo >/dev/tty1
+ echo "I will sleep for 1 minute now. Use this chance to " >/dev/tty1
+ echo "reboot the device and flash the proper kernel now! " >/dev/tty1
+ echo -e >/dev/tty1
+ echo -e "\033[31;1m ******************************************* \033[0m" >/dev/tty1
+ echo -e "\033[31;1m * \033[0mW A R N I N G ! \033[31;1m* \033[0m" >/dev/tty1
+ echo -e "\033[31;1m ******************************************* \033[0m" >/dev/tty1
+ echo >/dev/tty1
+ sleep 60
+fi
diff --git a/meta/packages/initscripts/initscripts-1.0/poodle/devices b/meta/packages/initscripts/initscripts-1.0/poodle/devices
new file mode 100755
index 0000000000..9d1624428a
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/poodle/devices
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /dev/sharp_ts /dev/ts
+ ln -sf /dev/sharp_fl /dev/fl
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/populate-volatile.sh b/meta/packages/initscripts/initscripts-1.0/populate-volatile.sh
new file mode 100755
index 0000000000..99a469d576
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/populate-volatile.sh
@@ -0,0 +1,138 @@
+#!/bin/sh
+
+. /etc/default/rcS
+
+CFGDIR="/etc/default/volatiles"
+TMPROOT="/var/tmp"
+COREDEF="00_core"
+
+[ "${VERBOSE}" != "no" ] && echo "Populating volatile Filesystems."
+
+
+check_requirements() {
+
+ cleanup() {
+ rm "${TMP_INTERMED}"
+ rm "${TMP_DEFINED}"
+ rm "${TMP_COMBINED}"
+ }
+
+ CFGFILE="$1"
+
+ [ `basename "${CFGFILE}"` = "${COREDEF}" ] && return 0
+
+ TMP_INTERMED="${TMPROOT}/tmp.$$"
+ TMP_DEFINED="${TMPROOT}/tmpdefined.$$"
+ TMP_COMBINED="${TMPROOT}/tmpcombined.$$"
+
+
+ cat /etc/passwd | sed 's@\(^:\)*:.*@\1@' | sort | uniq > "${TMP_DEFINED}"
+ cat ${CFGFILE} | grep -v "^#" | cut -d " " -f 2 > "${TMP_INTERMED}"
+ cat "${TMP_DEFINED}" "${TMP_INTERMED}" | sort | uniq > "${TMP_COMBINED}"
+
+ NR_DEFINED_USERS="`cat "${TMP_DEFINED}" | wc -l`"
+ NR_COMBINED_USERS="`cat "${TMP_COMBINED}" | wc -l`"
+
+ [ "${NR_DEFINED_USERS}" -ne "${NR_COMBINED_USERS}" ] && {
+ echo "Undefined users:"
+ diff "${TMP_DEFINED}" "${TMP_COMBINED}" | grep "^>"
+ cleanup
+ return 1
+ }
+
+
+ cat /etc/group | sed 's@\(^:\)*:.*@\1@' | sort | uniq > "${TMP_DEFINED}"
+ cat ${CFGFILE} | grep -v "^#" | cut -d " " -f 3 > "${TMP_INTERMED}"
+ cat "${TMP_DEFINED}" "${TMP_INTERMED}" | sort | uniq > "${TMP_COMBINED}"
+
+ NR_DEFINED_GROUPS="`cat "${TMP_DEFINED}" | wc -l`"
+ NR_COMBINED_GROUPS="`cat "${TMP_COMBINED}" | wc -l`"
+
+ [ "${NR_DEFINED_GROUPS}" -ne "${NR_COMBINED_GROUPS}" ] && {
+ echo "Undefined groups:"
+ diff "${TMP_DEFINED}" "${TMP_COMBINED}" | grep "^>"
+ cleanup
+ return 1
+ }
+
+ # Add checks for required directories here
+
+ cleanup
+ return 0
+ }
+
+apply_cfgfile() {
+
+ CFGFILE="$1"
+
+ check_requirements "${CFGFILE}" || {
+ echo "Skipping ${CFGFILE}"
+ return 1
+ }
+
+ cat ${CFGFILE} | grep -v "^#" | \
+ while read LINE; do
+ TTYPE=`echo ${LINE} | cut -d " " -f 1`
+ TUSER=`echo ${LINE} | cut -d " " -f 2`
+ TGROUP=`echo ${LINE} | cut -d " " -f 3`
+ TMODE=`echo ${LINE} | cut -d " " -f 4`
+ TNAME=`echo ${LINE} | cut -d " " -f 5`
+
+ [ "${VERBOSE}" != "no" ] && echo "Checking for -${TNAME}-."
+
+ [ "${TTYPE}" = "l" ] && {
+ [ -e "${TNAME}" ] && {
+ echo "Cannot create link over existing -${TNAME}-." >&2
+ } || {
+ TSOURCE=`echo ${LINE} | cut -d " " -f 6`
+ [ "${VERBOSE}" != "no" ] && echo "Creating link -${TNAME}- pointing to -${TSOURCE}-."
+ ln -s "${TSOURCE}" "${TNAME}"
+ }
+ continue
+ }
+
+ [ -L "${TNAME}" ] && {
+ [ "${VERBOSE}" != "no" ] && echo "Found link."
+ NEWNAME=`ls -l "${TNAME}" | sed -e 's/^.*-> \(.*\)$/\1/'`
+ echo ${NEWNAME} | grep -v "^/" >/dev/null && {
+ TNAME="`echo ${TNAME} | sed -e 's@\(.*\)/.*@\1@'`/${NEWNAME}"
+ [ "${VERBOSE}" != "no" ] && echo "Converted relative linktarget to absolute path -${TNAME}-."
+ } || {
+ TNAME="${NEWNAME}"
+ [ "${VERBOSE}" != "no" ] && echo "Using absolute link target -${TNAME}-."
+ }
+ }
+
+ [ -e "${TNAME}" ] && {
+ [ "${VERBOSE}" != "no" ] && echo "Target already exists. Skipping."
+ continue
+ }
+
+ case "${TTYPE}" in
+ "f") [ "${VERBOSE}" != "no" ] && echo "Creating file -${TNAME}-."
+ touch "${TNAME}"
+ ;;
+ "d") [ "${VERBOSE}" != "no" ] && echo "Creating directory -${TNAME}-."
+ mkdir -p "${TNAME}"
+ # Add check to see if there's an entry in fstab to mount.
+ ;;
+ *) [ "${VERBOSE}" != "no" ] && echo "Invalid type -${TTYPE}-."
+ continue
+ ;;
+ esac
+
+ chown ${TUSER} ${TNAME} || echo "Failed to set owner -${TUSER}- for -${TNAME}-." >&2
+ chgrp ${TGROUP} ${TNAME} || echo "Failed to set group -${TGROUP}- for -${TNAME}-." >&2
+ chmod ${TMODE} ${TNAME} || echo "Failed to set mode -${TMODE}- for -${TNAME}-." >&2
+
+ done
+
+ return 0
+
+ }
+
+
+for file in `ls -1 "${CFGDIR}" | sort`; do
+ apply_cfgfile "${CFGDIR}/${file}"
+ done
+
diff --git a/meta/packages/initscripts/initscripts-1.0/ramdisk b/meta/packages/initscripts/initscripts-1.0/ramdisk
new file mode 100755
index 0000000000..03ac9bd05b
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/ramdisk
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+. /etc/default/rcS
+
+FSTYPE=ext2
+
+if test ! -e /proc/mtd
+then
+ test "$VERBOSE" != "no" && echo >&2 "/proc not mounted, or mtd support not enabled in kernel."
+ exit
+fi
+
+RAM_MTD_NO=`cat /proc/mtd | grep mtdram | tail -n 1 | cut -d: -f1 | cut -dd -f2`
+if test -z "$RAM_MTD_NO"; then exit 0; fi
+
+if test -e /dev/mtdblock/0
+then
+ RAM_MTD=/dev/mtd/$RAM_MTD_NO
+ RAM_MTDBLK=/dev/mtdblock/$RAM_MTD_NO
+else
+ RAM_MTD=/dev/mtd$RAM_MTD_NO
+ RAM_MTDBLK=/dev/mtdblock$RAM_MTD_NO
+fi
+
+RAM_MNTPT=/mnt/ram
+RAM_MTD_SIZE_HEX=`cat /proc/mtd | grep mtdram | tail -n 1 | cut -d" " -f 2`
+RAM_MTD_SIZE=`dc 0x$RAM_MTD_SIZE_HEX 1024 / p`
+test -e /etc/ramdisk.conf && OLD_MTD_SIZE=`cat /etc/ramdisk.conf`
+echo $RAM_MTD_SIZE > /etc/ramdisk.conf
+
+if test ! -d "$RAM_MNTPT"; then echo >&2 "Mountpoint $RAM_MNTPT does not exist!"; exit 0; fi
+
+if (test ! -e /etc/.configured) || test "$OLD_MTD_SIZE" != "$RAM_MTD_SIZE"; then
+ test "$VERBOSE" != "no" && echo -n "Wiping ramdisk: "
+ dd if=/dev/zero bs=1024 count=$RAM_MTD_SIZE of=$RAM_MTD 2>/dev/null >&2 || exit 1
+ test "$VERBOSE" != "no" && echo "$RAM_MTD";
+ test "$VERBOSE" != "no" && echo -n "Creating filesystem on ramdisk: "
+ mkfs.$FSTYPE $RAM_MTDBLK 2>/dev/null >&2 || exit 1
+ test "$VERBOSE" != "no" && echo "$RAM_MTDBLK";
+fi
+
+test "$VERBOSE" != "no" && echo -n "Mounting ramdisk: "
+mount -t $FSTYPE $RAM_MTDBLK $RAM_MNTPT 2>/dev/null >&2 || exit 1
+test "$VERBOSE" != "no" && echo "$RAM_MTDBLK";
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/reboot b/meta/packages/initscripts/initscripts-1.0/reboot
new file mode 100755
index 0000000000..7f95255bd9
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/reboot
@@ -0,0 +1,17 @@
+#! /bin/sh
+#
+# reboot Execute the reboot command.
+#
+# Version: @(#)reboot 2.75 22-Jun-1998 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# Update the timestamp, if there is one
+if test -e /etc/timestamp
+then
+ date +%2m%2d%2H%2M%Y > /etc/timestamp
+fi
+
+echo -n "Rebooting... "
+reboot -d -f -i
diff --git a/meta/packages/initscripts/initscripts-1.0/rmnologin b/meta/packages/initscripts/initscripts-1.0/rmnologin
new file mode 100755
index 0000000000..444145a26a
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/rmnologin
@@ -0,0 +1,14 @@
+#! /bin/sh
+#
+# rmnologin This script removes the /etc/nologin file as the last
+# step in the boot process.
+#
+# Version: @(#)rmnologin 1.00 22-Jun-1998 miquels@cistron.nl
+#
+
+if test -f /etc/nologin.boot
+then
+ rm -f /etc/nologin /etc/nologin.boot
+fi
+
+: exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/sendsigs b/meta/packages/initscripts/initscripts-1.0/sendsigs
new file mode 100755
index 0000000000..c62a5cd37d
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/sendsigs
@@ -0,0 +1,17 @@
+#! /bin/sh
+#
+# sendsigs Kill all remaining processes.
+#
+# Version: @(#)sendsigs 2.75 22-Jun-1998 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# Kill all processes.
+echo "Sending all processes the TERM signal..."
+killall5 -15
+sleep 5
+echo "Sending all processes the KILL signal..."
+killall5 -9
+
+: exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/simpad/devices b/meta/packages/initscripts/initscripts-1.0/simpad/devices
new file mode 100644
index 0000000000..0e59229225
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/simpad/devices
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+ test -n "$VERBOSE" && echo -n "Setting up device links for devfs: "
+ (
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+ # ln -s /dev/tts/0 /dev/ttySA0
+ # ln -s /dev/tts/1 /dev/ttySA1
+ # ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+ ln -s /dev/misc/apm_bios /dev/apm_bios
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ ) > /dev/null 2>&1
+
+
+ test -n "$VERBOSE" && echo "done"
diff --git a/meta/packages/initscripts/initscripts-1.0/single b/meta/packages/initscripts/initscripts-1.0/single
new file mode 100755
index 0000000000..2d177ebb62
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/single
@@ -0,0 +1,21 @@
+#! /bin/sh
+#
+# single executed by init(8) upon entering runlevel 1 (single).
+#
+# Version: @(#)single 1.20 26-Geb-2001 miquels@cistron.nl
+#
+
+PATH="/sbin:/bin:/usr/sbin:/usr/bin"
+
+# Kill all processes.
+echo "Sending all processes the TERM signal..."
+killall5 -15
+sleep 5
+echo "Sending all processes the KILL signal..."
+killall5 -9
+
+# We start update here, since we just killed it.
+test -x /sbin/update && update
+
+echo "Entering single-user mode..."
+exec init -t1 S
diff --git a/meta/packages/initscripts/initscripts-1.0/spitz/devices b/meta/packages/initscripts/initscripts-1.0/spitz/devices
new file mode 100755
index 0000000000..083090ecb9
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/spitz/devices
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/input
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /dev/sharp_ts /dev/ts
+ ln -sf /dev/sharp_fl /dev/fl
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/sysfs.sh b/meta/packages/initscripts/initscripts-1.0/sysfs.sh
new file mode 100644
index 0000000000..4486128ad5
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/sysfs.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if [ -e /proc ] && ! [ -e /proc/mounts ]; then
+ mount -t proc proc /proc
+fi
+
+if [ -e /sys ] && grep -q sysfs /proc/filesystems; then
+ mount sysfs /sys -t sysfs
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/tosa/devices b/meta/packages/initscripts/initscripts-1.0/tosa/devices
new file mode 100755
index 0000000000..61cfd9d7b9
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/tosa/devices
@@ -0,0 +1,72 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ mkdir -p dev/input
+ mkdir -p dev/vc
+ for i in 0 1 2 3 4 5 6 7 8 9; do
+ ln -s /dev/tty$i /dev/vc/$i
+ done
+ ln -sf /dev/sharp_ts /dev/ts
+ ln -sf /dev/sharp_fl /dev/fl
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+#Always turn on usb
+if [ ! -d /dev/usb ]; then mkdir /dev/usb; fi
+mknod /dev/usb/host_ohci c 10 222
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/uml/devices b/meta/packages/initscripts/initscripts-1.0/uml/devices
new file mode 100755
index 0000000000..d6459c1633
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/uml/devices
@@ -0,0 +1,61 @@
+#!/bin/sh
+#
+# Devfs handling script. Since we arent running devfsd due to various reasons
+# which I will not lay out here, we need to create some links for compatibility.
+
+. /etc/default/rcS
+
+# exit without doing anything if udev is active
+if test -e /dev/.udevdb; then
+ exit 0
+fi
+
+if test -e /dev/.devfsd
+then
+ if test "$VERBOSE" != "no"; then echo -n "Setting up device links for devfs: "; fi
+ ln -s /dev/touchscreen/0 /dev/ts
+ ln -s /dev/touchscreen/0raw /dev/tsraw
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/fb/0 /dev/fb0
+# ln -s /dev/tts/0 /dev/ttySA0
+# ln -s /dev/tts/1 /dev/ttySA1
+# ln -s /dev/tts/2 /dev/ttySA2
+
+ ln -s /dev/sound/dsp /dev/dsp
+ ln -s /dev/sound/mixer /dev/mixer
+
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ ln -s /dev/misc/rtc /dev/rtc
+
+ ## need this so that ppp will autoload the ppp modules
+ mknod /dev/ppp c 108 0
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+else
+ if test "$VERBOSE" != "no"; then echo -n "Mounting /dev ramdisk: "; fi
+ mount -t ramfs ramfs /dev || mount -t tmpfs ramfs /dev
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+ if test "$VERBOSE" != "no"; then echo -n "Populating /dev: "; fi
+ cd /
+ mkdir -p dev/msys
+ mkdir -p dev/pts
+ ln -sf /proc/self/fd /dev/fd
+ ln -sf /proc/kcore /dev/core
+ /sbin/makedevs -r / -D /etc/device_table
+ if test $? -ne 0; then
+ if test "$VERBOSE" != "no"; then echo "failed"; fi
+ else
+ if test "$VERBOSE" != "no"; then echo "done"; fi
+ fi
+fi
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/umountfs b/meta/packages/initscripts/initscripts-1.0/umountfs
new file mode 100755
index 0000000000..ec75b0c4a4
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/umountfs
@@ -0,0 +1,18 @@
+#! /bin/sh
+#
+# umountfs Turn off swap and unmount all local filesystems.
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+echo "Deactivating swap..."
+swapoff -a
+
+# We leave /proc mounted.
+echo "Unmounting local filesystems..."
+mount -o remount,ro /mnt/ram
+umount -f -a -r
+
+mount -o remount,ro /
+
+: exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/umountnfs.sh b/meta/packages/initscripts/initscripts-1.0/umountnfs.sh
new file mode 100755
index 0000000000..f5fe48aa74
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/umountnfs.sh
@@ -0,0 +1,28 @@
+#! /bin/sh
+#
+# umountnfs.sh Unmount all network filesystems.
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# Write a reboot record to /var/log/wtmp before unmounting
+halt -w
+
+echo "Unmounting remote filesystems..."
+
+test -f /etc/fstab && (
+
+#
+# Read through fstab line by line and unount network file systems
+#
+while read device mountpt fstype options
+do
+ if test "$fstype" = nfs || test "$fstype" = smbfs || test "$fstype" = ncpfs
+ then
+ umount -f $mountpt
+ fi
+done
+) < /etc/fstab
+
+: exit 0
+
diff --git a/meta/packages/initscripts/initscripts-1.0/urandom b/meta/packages/initscripts/initscripts-1.0/urandom
new file mode 100755
index 0000000000..45c41d758b
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/urandom
@@ -0,0 +1,41 @@
+#! /bin/sh
+#
+# urandom This script saves the random seed between reboots.
+# It is called from the boot, halt and reboot scripts.
+#
+# Version: @(#)urandom 1.33 22-Jun-1998 miquels@cistron.nl
+#
+
+test -c /dev/urandom || exit 0
+. /etc/default/rcS
+
+case "$1" in
+ start|"")
+ test "$VERBOSE" != no && echo "Initializing random number generator..."
+ # Load and then save 512 bytes,
+ # which is the size of the entropy pool
+ if test -f /var/lib/urandom/random-seed
+ then
+ cat /var/lib/urandom/random-seed >/dev/urandom
+ fi
+ rm -f /var/lib/urandom/random-seed
+ umask 077
+ dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \
+ >/dev/null 2>&1 || echo "urandom start: failed."
+ umask 022
+ ;;
+ stop)
+ # Carry a random seed from shut-down to start-up;
+ # see documentation in linux/drivers/char/random.c
+ test "$VERBOSE" != no && echo "Saving random seed..."
+ umask 077
+ dd if=/dev/urandom of=/var/lib/urandom/random-seed count=1 \
+ >/dev/null 2>&1 || echo "urandom stop: failed."
+ ;;
+ *)
+ echo "Usage: urandom {start|stop}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/initscripts/initscripts-1.0/volatiles b/meta/packages/initscripts/initscripts-1.0/volatiles
new file mode 100644
index 0000000000..37ce8b529a
--- /dev/null
+++ b/meta/packages/initscripts/initscripts-1.0/volatiles
@@ -0,0 +1,39 @@
+# This configuration file lists filesystem objects that should get verified
+# during startup and be created if missing.
+#
+# Every line must either be a comment starting with #
+# or a definition of format:
+# <type> <owner> <group> <mode> <path> [<linksource>]
+# where the items are separated by whitespace !
+#
+# <type> : d|f|l : (d)irectory|(f)ile|(l)ink
+#
+# A linking example:
+# l root root 0777 /var/test /tmp/testfile
+# f root root 0644 /var/test
+#
+# Understanding links:
+# When populate-volatile is to verify/create a directory or file, it will first
+# check it's existence. If a link is found to exist in the place of the target,
+# the path of the target is replaced with the target the link points to.
+# Thus, if a link is in the place to be verified, the object will be created
+# in the place the link points to instead.
+# This explains the order of "link before object" as in the example above, where
+# a link will be created at /var/test pointing to /tmp/testfile and due to this
+# link the file defined as /var/test will actually be created as /tmp/testfile.
+d root root 0775 /var
+d root root 0755 /var/backups
+d root root 0755 /var/cache
+d root root 0755 /var/lib
+d root root 0755 /var/lib/ipkg
+d root root 0755 /var/lib/misc
+d root root 2775 /var/local
+d root root 1777 /var/lock
+d root root 0755 /var/lock/subsys
+d root root 0755 /var/log
+d root root 0755 /var/run
+d root root 0755 /var/spool
+d root root 1777 /var/tmp
+f root root 0664 /var/run/utmp
+f root root 0664 /var/log/wtmp
+f root root 0664 /var/log/lastlog
diff --git a/meta/packages/initscripts/initscripts_1.0.bb b/meta/packages/initscripts/initscripts_1.0.bb
new file mode 100644
index 0000000000..eebfbca7bf
--- /dev/null
+++ b/meta/packages/initscripts/initscripts_1.0.bb
@@ -0,0 +1,141 @@
+DESCRIPTION = "SysV init scripts"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+SECTION = "base"
+PRIORITY = "required"
+DEPENDS = "makedevs"
+DEPENDS_openzaurus = "makedevs virtual/kernel"
+RDEPENDS = "makedevs"
+LICENSE = "GPL"
+PR = "r73"
+
+SRC_URI = "file://halt \
+ file://ramdisk \
+ file://umountfs \
+ file://devices \
+ file://devpts.sh \
+ file://devpts \
+ file://hostname.sh \
+ file://mountall.sh \
+ file://banner \
+ file://finish \
+ file://bootmisc.sh \
+ file://mountnfs.sh \
+ file://reboot \
+ file://checkfs.sh \
+ file://single \
+ file://sendsigs \
+ file://urandom \
+ file://rmnologin \
+ file://checkroot.sh \
+ file://umountnfs.sh \
+ file://sysfs.sh \
+ file://device_table.txt \
+ file://populate-volatile.sh \
+ file://volatiles "
+
+SRC_URI_append_arm = " file://alignment.sh"
+SRC_URI_append_openzaurus = " file://checkversion"
+
+def read_kernel_version(d):
+ import bb
+ distro = bb.data.getVar('DISTRO', d, 1)
+ filename = bb.data.getVar('STAGING_KERNEL_DIR', d, 1)
+ if distro == "openzaurus":
+ return file( filename + "/kernel-abiversion", "r" ).read().strip()
+ else:
+ return "not important"
+KERNEL_VERSION = ""
+KERNEL_VERSION_openzaurus = "${@read_kernel_version(d)}"
+PACKAGE_ARCH_openzaurus = "${MACHINE_ARCH}"
+
+do_install () {
+#
+# Create directories and install device independent scripts
+#
+ install -d ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/rcS.d \
+ ${D}${sysconfdir}/rc0.d \
+ ${D}${sysconfdir}/rc1.d \
+ ${D}${sysconfdir}/rc2.d \
+ ${D}${sysconfdir}/rc3.d \
+ ${D}${sysconfdir}/rc4.d \
+ ${D}${sysconfdir}/rc5.d \
+ ${D}${sysconfdir}/rc6.d \
+ ${D}${sysconfdir}/default \
+ ${D}${sysconfdir}/default/volatiles
+
+ install -m 0755 ${WORKDIR}/bootmisc.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/checkroot.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/finish ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/halt ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/hostname.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/mountall.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/mountnfs.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/ramdisk ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/reboot ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/rmnologin ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/sendsigs ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/single ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/umountnfs.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/urandom ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/devpts.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/devpts ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/sysfs.sh ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/populate-volatile.sh ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/00_core
+ if [ "${TARGET_ARCH}" = "arm" ]; then
+ install -m 0755 ${WORKDIR}/alignment.sh ${D}${sysconfdir}/init.d
+ fi
+#
+# Install device dependent scripts
+#
+
+ if [ "${DISTRO}" == "openzaurus" ]; then
+ cat ${WORKDIR}/checkversion | sed -e "s,VERSION,${KERNEL_VERSION}-${DISTRO_VERSION}," > ${D}${sysconfdir}/init.d/checkversion
+ chmod 0755 ${D}${sysconfdir}/init.d/checkversion
+ ln -sf ../init.d/checkversion ${D}${sysconfdir}/rcS.d/S01version
+ fi
+
+ install -m 0755 ${WORKDIR}/banner ${D}${sysconfdir}/init.d/banner
+ install -m 0755 ${WORKDIR}/devices ${D}${sysconfdir}/init.d/devices
+ install -m 0755 ${WORKDIR}/umountfs ${D}${sysconfdir}/init.d/umountfs
+#
+# Create runlevel links
+#
+ ln -sf ../init.d/rmnologin ${D}${sysconfdir}/rc2.d/S99rmnologin
+ ln -sf ../init.d/rmnologin ${D}${sysconfdir}/rc3.d/S99rmnologin
+ ln -sf ../init.d/rmnologin ${D}${sysconfdir}/rc4.d/S99rmnologin
+ ln -sf ../init.d/rmnologin ${D}${sysconfdir}/rc5.d/S99rmnologin
+ ln -sf ../init.d/sendsigs ${D}${sysconfdir}/rc6.d/S20sendsigs
+# ln -sf ../init.d/urandom ${D}${sysconfdir}/rc6.d/S30urandom
+ ln -sf ../init.d/umountnfs.sh ${D}${sysconfdir}/rc6.d/S31umountnfs.sh
+ ln -sf ../init.d/umountfs ${D}${sysconfdir}/rc6.d/S40umountfs
+ # udev will run at S55 if installed
+ ln -sf ../init.d/ramdisk ${D}${sysconfdir}/rcS.d/S30ramdisk
+ ln -sf ../init.d/reboot ${D}${sysconfdir}/rc6.d/S90reboot
+ ln -sf ../init.d/sendsigs ${D}${sysconfdir}/rc0.d/S20sendsigs
+# ln -sf ../init.d/urandom ${D}${sysconfdir}/rc0.d/S30urandom
+ ln -sf ../init.d/umountnfs.sh ${D}${sysconfdir}/rc0.d/S31umountnfs.sh
+ ln -sf ../init.d/umountfs ${D}${sysconfdir}/rc0.d/S40umountfs
+ # udev will run at S55 if installed
+ ln -sf ../init.d/halt ${D}${sysconfdir}/rc0.d/S90halt
+ ln -sf ../init.d/banner ${D}${sysconfdir}/rcS.d/S02banner
+ ln -sf ../init.d/checkroot.sh ${D}${sysconfdir}/rcS.d/S10checkroot.sh
+# ln -sf ../init.d/checkfs.sh ${D}${sysconfdir}/rcS.d/S30checkfs.sh
+ ln -sf ../init.d/mountall.sh ${D}${sysconfdir}/rcS.d/S35mountall.sh
+ ln -sf ../init.d/hostname.sh ${D}${sysconfdir}/rcS.d/S39hostname.sh
+ ln -sf ../init.d/mountnfs.sh ${D}${sysconfdir}/rcS.d/S45mountnfs.sh
+ ln -sf ../init.d/bootmisc.sh ${D}${sysconfdir}/rcS.d/S55bootmisc.sh
+# ln -sf ../init.d/urandom ${D}${sysconfdir}/rcS.d/S55urandom
+ ln -sf ../init.d/finish ${D}${sysconfdir}/rcS.d/S99finish
+ ln -sf ../init.d/devices ${D}${sysconfdir}/rcS.d/S05devices
+ # udev will run at S04 if installed
+ ln -sf ../init.d/sysfs.sh ${D}${sysconfdir}/rcS.d/S03sysfs
+ ln -sf ../init.d/populate-volatile.sh ${D}${sysconfdir}/rcS.d/S37populate-volatile.sh
+ ln -sf ../init.d/devpts.sh ${D}${sysconfdir}/rcS.d/S38devpts.sh
+ if [ "${TARGET_ARCH}" = "arm" ]; then
+ ln -sf ../init.d/alignment.sh ${D}${sysconfdir}/rcS.d/S06alignment
+ fi
+
+ install -m 0755 ${WORKDIR}/device_table.txt ${D}${sysconfdir}/device_table
+}
diff --git a/meta/packages/intltool/intltool-native_0.31.bb b/meta/packages/intltool/intltool-native_0.31.bb
new file mode 100644
index 0000000000..f200d26dd1
--- /dev/null
+++ b/meta/packages/intltool/intltool-native_0.31.bb
@@ -0,0 +1,4 @@
+SECTION = "devel"
+include intltool_${PV}.bb
+inherit native
+DEPENDS = "libxml-parser-perl-native"
diff --git a/meta/packages/intltool/intltool_0.31.bb b/meta/packages/intltool/intltool_0.31.bb
new file mode 100644
index 0000000000..1fdc1bef20
--- /dev/null
+++ b/meta/packages/intltool/intltool_0.31.bb
@@ -0,0 +1,13 @@
+SECTION = "devel"
+DESCRIPTION = "Utility scripts for internationalizing XML"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+LICENSE = "GPL"
+
+SRC_URI = "${GNOME_MIRROR}/intltool/${PV}/intltool-${PV}.tar.bz2"
+S = "${WORKDIR}/intltool-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ install -m 0644 intltool.m4 ${STAGING_DATADIR}/aclocal/
+}
diff --git a/meta/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch b/meta/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch
new file mode 100644
index 0000000000..7f495f9f4c
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch
@@ -0,0 +1,34 @@
+--- ipkg-utils/ipkg-link.orig 2006-04-05 00:08:28.518992136 +0200
++++ ipkg-utils/ipkg-link 2006-04-05 00:08:40.399186072 +0200
+@@ -58,6 +58,31 @@
+ `ln -s "$PREFIX$line" "$line"`
+ fi
+ fi
++
++ # The next function checks whether the _source_ file (ie: /media/card/something)
++ # does actually exist. If it doesn't, it could by a library symlink (ie: libsomething.0.1 -> libsomething.0)
++ # Since VFAT & friends do not support symlinks, these library links would not exist after installation
++ # and trying to symlink them into the rootfs with ipkg-link results in unconnected symlinks in the rootfs.
++ # So we use the real lib file in /media/card/whatever and create all needed symlinks in the rootfs
++ # using the real file as source.
++
++ if [ ! -e "$PREFIX$line" ]; then
++ if ( echo "$line" | grep -q "lib" ) ; then
++ libsearchfile=$(echo $line | sed -e "s#[a-z0-9/.]*/##g")
++ libfoundfiles=$(find $PREFIX -name "$libsearchfile*")
++
++ for liblinkfile in $libfoundfiles; do
++ echo "Linking $line to $liblinkfile"
++ # link will be pointing to nowhere
++ if test -L $line; then
++ rm -f $line
++ fi
++ ln -s $liblinkfile $line
++ done
++ else
++ echo "WARNING: Source file [$PREFIX$line] is missing!"
++ fi
++ fi
+ done
+ }
+
diff --git a/meta/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb b/meta/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..35e5ba1086
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb
@@ -0,0 +1,20 @@
+SECTION = "base"
+DESCRIPTION = "Itsy Package Manager utilities link script"
+LICENSE = "GPL"
+CONFLICTS = "ipkg-utils"
+SRCDATE = "20050404"
+PR = "r4"
+
+SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils \
+ file://link-vfat-libs.patch;patch=1"
+
+S = "${WORKDIR}/ipkg-utils"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ipkg-link ${D}${bindir}
+}
diff --git a/meta/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch b/meta/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch
new file mode 100644
index 0000000000..a9e6fc4d05
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch
@@ -0,0 +1,17 @@
+--- ../../../work/i686-linux/ipkg-utils-native-1.6+cvs20050404-r6/ipkg-utils/ipkg.py 2005-01-08 19:08:52.000000000 +0100
++++ ipkg-utils/ipkg.py 2006-06-29 12:52:58.466446000 +0200
+@@ -150,11 +150,11 @@
+ stat = os.stat(fn)
+ self.size = stat[ST_SIZE]
+ self.filename = os.path.basename(fn)
+- ## sys.stderr.write(" extracting control.tar.gz from %s\n"% (fn,))
++ sys.stderr.write(" extracting control.tar.gz from %s\n"% (fn,))
+ if self.isdeb:
+- control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - '*control'","r")
++ control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - './control'","r")
+ else:
+- control = os.popen("tar xfzO "+fn+" '*control.tar.gz' | tar xfzO - '*control'","r")
++ control = os.popen("tar xfzO "+fn+" 'control.tar.gz' | tar xfzO - './control'","r")
+ line = control.readline()
+ while 1:
+ if not line: break
diff --git a/meta/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb b/meta/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..ab8f4d63e0
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
@@ -0,0 +1,16 @@
+include ipkg-utils_${PV}.bb
+SRC_URI += "file://ipkg-utils-fix.patch;patch=1"
+
+RDEPENDS = ""
+PR = "r7"
+
+inherit native
+
+# Avoid circular dependencies from package_ipk.bbclass
+PACKAGES = ""
+
+do_stage() {
+ for i in ${INSTALL}; do
+ install -m 0755 $i ${STAGING_BINDIR}
+ done
+}
diff --git a/meta/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb b/meta/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..12ed042f15
--- /dev/null
+++ b/meta/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Itsy Package Manager utilities"
+SECTION = "base"
+PRIORITY = "optional"
+LICENSE = "GPL"
+CONFLICTS = "ipkg-link"
+RDEPENDS = "python"
+SRCDATE = "20050404"
+PR = "r11"
+
+SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils"
+
+S = "${WORKDIR}/ipkg-utils"
+
+INSTALL = "ipkg-build ipkg-deb-unbuild ipkg-unbuild ipkg-compare-versions ipkg-upload ipkg-make-index ipkg-link ipkg.py"
+
+do_compile() {
+ oe_runmake ipkg-compare-versions
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ for i in ${INSTALL}
+ do
+ install -m 0755 $i ${D}${bindir}
+ done
+}
+
+#FIXME: ipkg-utils is not allowed to have packages or else a ipkg-native -> ipkg-utils -> ipkg-utils
+# recursive dependency is triggered. This has been fixed by installing the ipkg-link script in
+# a dedicated package.
+#PACKAGES_prepend = "ipkg-link "
+#FILES_ipkg-link = "${bindir}/ipkg-link"
+
diff --git a/meta/packages/ipkg/files/terse.patch b/meta/packages/ipkg/files/terse.patch
new file mode 100644
index 0000000000..3c4d6bed7e
--- /dev/null
+++ b/meta/packages/ipkg/files/terse.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- C/ipkg_cmd.c~terse
++++ C/ipkg_cmd.c
+@@ -148,9 +146,7 @@
+ int result;
+ p_userdata = userdata;
+ result = (cmd->fun)(conf, argc, argv);
+- if ( result == 0 ) {
+- ipkg_message(conf, IPKG_NOTICE, "Successfully terminated.\n");
+- } else {
++ if ( result != 0 ) {
+ ipkg_message(conf, IPKG_NOTICE, "An error ocurred, return value: %d.\n", result);
+ }
+
diff --git a/meta/packages/ipkg/files/uclibc.patch b/meta/packages/ipkg/files/uclibc.patch
new file mode 100644
index 0000000000..d0d3a3ff7c
--- /dev/null
+++ b/meta/packages/ipkg/files/uclibc.patch
@@ -0,0 +1,13 @@
+Index: C/libbb/libbb.h
+===================================================================
+--- C.orig/libbb/libbb.h 2003-02-24 10:31:52.000000000 -0500
++++ C/libbb/libbb.h 2005-01-20 03:07:10.031420944 -0500
+@@ -340,7 +340,7 @@
+ #define CONSOLE_DEV "/dev/console"
+
+ /* Cope with mmu-less systems somewhat gracefully */
+-#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_MMU__)
++#if defined(__UCLIBC__) && !defined(__ARCH_HAS_MMU__)
+ #define fork vfork
+ #endif
+
diff --git a/meta/packages/ipkg/files/uninclude-replace.patch b/meta/packages/ipkg/files/uninclude-replace.patch
new file mode 100644
index 0000000000..a3ed2201fd
--- /dev/null
+++ b/meta/packages/ipkg/files/uninclude-replace.patch
@@ -0,0 +1,10 @@
+--- C/includes.h 2003-03-28 19:36:22.000000000 +0000
++++ C/includes.h 2004-07-28 03:41:11.000000000 +0100
+@@ -48,6 +48,6 @@
+ # include <unistd.h>
+ #endif
+
+-#include "replace/replace.h"
++//#include "replace/replace.h"
+
+ #endif
diff --git a/meta/packages/ipkg/ipkg-collateral.bb b/meta/packages/ipkg/ipkg-collateral.bb
new file mode 100644
index 0000000000..a4f7bb7e3a
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "ipkg configuration files"
+SECTION = "base"
+LICENSE = "MIT"
+PR = "r2"
+
+SRC_URI = " \
+file://ipkg.conf.comments \
+file://lists \
+file://dest \
+file://src \
+"
+
+do_compile () {
+ cat ${WORKDIR}/ipkg.conf.comments >${WORKDIR}/ipkg.conf
+ cat ${WORKDIR}/src >>${WORKDIR}/ipkg.conf
+ cat ${WORKDIR}/dest >>${WORKDIR}/ipkg.conf
+ cat ${WORKDIR}/lists >>${WORKDIR}/ipkg.conf
+}
+
+do_install () {
+ install -d ${D}${sysconfdir}/
+ install -m 0644 ${WORKDIR}/ipkg.conf ${D}${sysconfdir}/ipkg.conf
+}
diff --git a/meta/packages/ipkg/ipkg-collateral/akita/dest b/meta/packages/ipkg/ipkg-collateral/akita/dest
new file mode 100644
index 0000000000..647490d30a
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/akita/dest
@@ -0,0 +1,4 @@
+dest root /
+dest home /home/packages/
+dest cf /media/cf/packages/
+dest sd /media/card/packages/
diff --git a/meta/packages/ipkg/ipkg-collateral/akita/lists b/meta/packages/ipkg/ipkg-collateral/akita/lists
new file mode 100644
index 0000000000..cc776c595b
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/akita/lists
@@ -0,0 +1,4 @@
+
+# Uncomment to move ipkg server-data into RAM
+# lists_dir ext /var/lib/ipkg
+
diff --git a/meta/packages/ipkg/ipkg-collateral/collie/dest b/meta/packages/ipkg/ipkg-collateral/collie/dest
new file mode 100644
index 0000000000..c76101a5b2
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/collie/dest
@@ -0,0 +1,4 @@
+dest root /
+dest cf /media/cf/packages/
+dest sd /media/card/packages/
+dest ram /media/ram/packages/
diff --git a/meta/packages/ipkg/ipkg-collateral/dest b/meta/packages/ipkg/ipkg-collateral/dest
new file mode 100644
index 0000000000..088ca403da
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/dest
@@ -0,0 +1 @@
+dest root /
diff --git a/meta/packages/ipkg/ipkg-collateral/ipkg.conf.comments b/meta/packages/ipkg/ipkg-collateral/ipkg.conf.comments
new file mode 100644
index 0000000000..51623f4d53
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/ipkg.conf.comments
@@ -0,0 +1,23 @@
+# Must have one or more source entries of the form:
+#
+# src <src-name> <source-url>
+#
+# and one or more destination entries of the form:
+#
+# dest <dest-name> <target-path>
+#
+# where <src-name> and <dest-names> are identifiers that
+# should match [a-zA-Z0-9._-]+, <source-url> should be a
+# URL that points to a directory containing a Familiar
+# Packages file, and <target-path> should be a directory
+# that exists on the target system.
+
+# Proxy Support
+#option http_proxy http://proxy.tld:3128
+#option ftp_proxy http://proxy.tld:3128
+#option proxy_username <username>
+#option proxy_password <password>
+
+# Offline mode (for use in constructing flash images offline)
+#option offline_root target
+
diff --git a/meta/packages/ipkg/ipkg-collateral/jornada56x/dest b/meta/packages/ipkg/ipkg-collateral/jornada56x/dest
new file mode 100644
index 0000000000..154ce57587
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/jornada56x/dest
@@ -0,0 +1,4 @@
+dest root /
+dest cf /mnt/cf/packages/
+dest sd /mnt/card/packages/
+dest ram /mnt/ram/packages/
diff --git a/meta/packages/ipkg/ipkg-collateral/lists b/meta/packages/ipkg/ipkg-collateral/lists
new file mode 100644
index 0000000000..3c524f8c77
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/lists
@@ -0,0 +1,2 @@
+lists_dir ext /var/lib/ipkg
+
diff --git a/meta/packages/ipkg/ipkg-collateral/openmn/src b/meta/packages/ipkg/ipkg-collateral/openmn/src
new file mode 100644
index 0000000000..97cdd4741c
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/openmn/src
@@ -0,0 +1 @@
+src mnci54 http://www.mn-solutions.de/feed/mnci54/base
diff --git a/meta/packages/ipkg/ipkg-collateral/poodle/dest b/meta/packages/ipkg/ipkg-collateral/poodle/dest
new file mode 100644
index 0000000000..9379964e57
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/poodle/dest
@@ -0,0 +1,4 @@
+dest root /
+dest cf /media/cf/packages/
+dest sd /media/card/packages/
+dest home /home/packages/
diff --git a/meta/packages/ipkg/ipkg-collateral/simpad/dest b/meta/packages/ipkg/ipkg-collateral/simpad/dest
new file mode 100644
index 0000000000..20d03ba822
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/simpad/dest
@@ -0,0 +1,3 @@
+dest root /
+dest cf /mnt/cf/packages/
+dest ram /mnt/ram/packages/
diff --git a/meta/packages/ipkg/ipkg-collateral/src b/meta/packages/ipkg/ipkg-collateral/src
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/src
diff --git a/meta/packages/ipkg/ipkg-collateral/tosa/dest b/meta/packages/ipkg/ipkg-collateral/tosa/dest
new file mode 100644
index 0000000000..c76101a5b2
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-collateral/tosa/dest
@@ -0,0 +1,4 @@
+dest root /
+dest cf /media/cf/packages/
+dest sd /media/card/packages/
+dest ram /media/ram/packages/
diff --git a/meta/packages/ipkg/ipkg-native.inc b/meta/packages/ipkg/ipkg-native.inc
new file mode 100644
index 0000000000..b52b7b5e20
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-native.inc
@@ -0,0 +1,12 @@
+# NOTE: ipkg now obeys ${libdir}, so ipkg-native now installs
+# things into the wrong location inside of offline_root. Backup
+# the target libdir and use that.
+target_libdir := "${libdir}"
+
+inherit native
+
+EXTRA_OECONF += "--with-ipkgdir=${target_libdir}/ipkg"
+
+DEPENDS = "libtool-native automake-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ipkg-${PV}"
+PROVIDES = ""
diff --git a/meta/packages/ipkg/ipkg-native_0.99.154.bb b/meta/packages/ipkg/ipkg-native_0.99.154.bb
new file mode 100644
index 0000000000..d59eab3a61
--- /dev/null
+++ b/meta/packages/ipkg/ipkg-native_0.99.154.bb
@@ -0,0 +1,2 @@
+include ipkg_${PV}.bb
+include ipkg-native.inc
diff --git a/meta/packages/ipkg/ipkg.inc b/meta/packages/ipkg/ipkg.inc
new file mode 100644
index 0000000000..8fc6c9efe0
--- /dev/null
+++ b/meta/packages/ipkg/ipkg.inc
@@ -0,0 +1,56 @@
+DESCRIPTION = "Itsy Package Manager"
+DESCRIPTION_libipkg = "Itsy Package Manager Library"
+SECTION = "base"
+LICENSE = "GPL"
+PROVIDES = "virtual/ipkg libipkg"
+
+PACKAGES =+ "libipkg-dev libipkg"
+FILES_libipkg-dev = "${libdir}/*.a ${libdir}/*.la ${libdir}/*.so"
+FILES_libipkg = "${libdir}"
+AUTO_LIBNAME_PKGS = "libipkg"
+
+SRC_URI = "${HANDHELDS_CVS};module=familiar/dist/ipkg;tag=${@'V' + bb.data.getVar('PV',d,1).replace('.', '-')} \
+ file://terse.patch;patch=1"
+
+S = "${WORKDIR}/ipkg/C"
+
+inherit autotools pkgconfig
+
+# Define a variable to allow distros to run configure earlier.
+# (for example, to enable loading of ethernet kernel modules before networking starts)
+IPKG_INIT_POSITION = "98"
+IPKG_INIT_POSITION_slugos = "41"
+
+pkg_postinst_ipkg () {
+#!/bin/sh
+if [ "x$D" != "x" ]; then
+ install -d ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d
+ # this happens at S98 where our good 'ole packages script used to run
+ echo -e "#!/bin/sh
+ipkg-cl configure
+" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${IPKG_INIT_POSITION}configure
+ chmod 0755 ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${IPKG_INIT_POSITION}configure
+fi
+
+update-alternatives --install ${bindir}/ipkg ipkg ${bindir}/ipkg-cl 100
+}
+
+pkg_postrm_ipkg () {
+#!/bin/sh
+update-alternatives --remove ipkg ${bindir}/ipkg-cl
+}
+
+do_stage() {
+ oe_libinstall -so libipkg ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/replace/
+ install -m 0644 replace/replace.h ${STAGING_INCDIR}/replace/
+ install -d ${STAGING_INCDIR}/libipkg/
+ for f in *.h
+ do
+ install -m 0644 $f ${STAGING_INCDIR}/libipkg/
+ done
+}
+
+#
+# FIXME: Install /etc/ipkg.conf and /etc/ipkg/arch.conf
+#
diff --git a/meta/packages/ipkg/ipkg_0.99.154.bb b/meta/packages/ipkg/ipkg_0.99.154.bb
new file mode 100644
index 0000000000..de6af147b6
--- /dev/null
+++ b/meta/packages/ipkg/ipkg_0.99.154.bb
@@ -0,0 +1,2 @@
+include ipkg.inc
+PR = "r3"
diff --git a/meta/packages/irda-utils/files/init b/meta/packages/irda-utils/files/init
new file mode 100755
index 0000000000..9becfcc0ed
--- /dev/null
+++ b/meta/packages/irda-utils/files/init
@@ -0,0 +1,72 @@
+#! /bin/sh
+
+module_id() {
+ awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+}
+
+if [ ! -f /etc/sysconfig/irda ]; then
+
+ case `module_id` in
+ "HP iPAQ H2200" | "HP iPAQ HX4700")
+ IRDA=yes
+ DEVICE=/dev/ttyS2
+ DONGLE=
+ DISCOVERY=
+ ;;
+ *)
+ IRDA=yes
+ DEVICE=/dev/ttyS1
+ DONGLE=
+ DISCOVERY=
+ ;;
+ esac
+
+ mkdir -p /etc/sysconfig
+ echo "IRDA=$IRDA" > /etc/sysconfig/irda
+ if [ $IRDA = "yes" ]; then
+ echo "DEVICE=$DEVICE" >> /etc/sysconfig/irda
+ echo "DONGLE=$DONGLE" >> /etc/sysconfig/irda
+ echo "DISCOVERY=$DISCOVERY" >> /etc/sysconfig/irda
+ fi
+fi
+
+. /etc/sysconfig/irda
+
+# Check that irda is up.
+[ ${IRDA} = "no" ] && exit 0
+
+[ -f /usr/sbin/irattach ] || exit 0
+
+ARGS=
+if [ $DONGLE ]; then
+ ARGS="$ARGS -d $DONGLE"
+fi
+if [ "$DISCOVERY" = "yes" ];then
+ ARGS="$ARGS -s"
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting IrDA: "
+ irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 &
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping IrDA: "
+ killall irattach > /dev/null 2>&1
+ echo "$NAME."
+ ;;
+ restart|force-reload)
+ echo -n "Restarting IrDA: "
+ irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 &
+ sleep 1
+ killall irattach > /dev/null 2>&1
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
diff --git a/meta/packages/irda-utils/irda-utils/configure.patch b/meta/packages/irda-utils/irda-utils/configure.patch
new file mode 100644
index 0000000000..a36afe2188
--- /dev/null
+++ b/meta/packages/irda-utils/irda-utils/configure.patch
@@ -0,0 +1,25 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- irda-utils-0.9.15/./irdadump/configure.in~configure
++++ irda-utils-0.9.15/./irdadump/configure.in
+@@ -1,5 +1,6 @@
+ dnl Process this file with autoconf to produce a configure script.
+-AC_INIT(configure.in)
++AC_INIT
++AC_CONFIG_SRCDIR([configure.in])
+ AM_INIT_AUTOMAKE(libirdadump, 0.1)
+ AM_CONFIG_HEADER(config.h)
+
+@@ -18,7 +19,8 @@
+
+ dnl Checks for library functions.
+
+-AC_OUTPUT([
++AC_CONFIG_FILES([
+ Makefile
+ src/Makefile
+ shell/Makefile])
++AC_OUTPUT
diff --git a/meta/packages/irda-utils/irda-utils/m4.patch b/meta/packages/irda-utils/irda-utils/m4.patch
new file mode 100644
index 0000000000..9c077bb24b
--- /dev/null
+++ b/meta/packages/irda-utils/irda-utils/m4.patch
@@ -0,0 +1,204 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- /dev/null
++++ irda-utils-0.9.15/irdadump/m4/glib.m4
+@@ -0,0 +1,196 @@
++# Configure paths for GLIB
++# Owen Taylor 97-11-3
++
++dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
++dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or
++dnl gthread is specified in MODULES, pass to glib-config
++dnl
++AC_DEFUN(AM_PATH_GLIB,
++[dnl
++dnl Get the cflags and libraries from the glib-config script
++dnl
++AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)],
++ glib_config_prefix="$withval", glib_config_prefix="")
++AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)],
++ glib_config_exec_prefix="$withval", glib_config_exec_prefix="")
++AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program],
++ , enable_glibtest=yes)
++
++ if test x$glib_config_exec_prefix != x ; then
++ glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config
++ fi
++ fi
++ if test x$glib_config_prefix != x ; then
++ glib_config_args="$glib_config_args --prefix=$glib_config_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_prefix/bin/glib-config
++ fi
++ fi
++
++ for module in . $4
++ do
++ case "$module" in
++ gmodule)
++ glib_config_args="$glib_config_args gmodule"
++ ;;
++ gthread)
++ glib_config_args="$glib_config_args gthread"
++ ;;
++ esac
++ done
++
++ AC_PATH_PROG(GLIB_CONFIG, glib-config, no)
++ min_glib_version=ifelse([$1], ,0.99.7,$1)
++ AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
++ no_glib=""
++ if test "$GLIB_CONFIG" = "no" ; then
++ no_glib=yes
++ else
++ GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags`
++ GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs`
++ glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
++ glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
++ glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
++ if test "x$enable_glibtest" = "xyes" ; then
++ ac_save_CFLAGS="$CFLAGS"
++ ac_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$GLIB_LIBS $LIBS"
++dnl
++dnl Now check if the installed GLIB is sufficiently new. (Also sanity
++dnl checks the results of glib-config to some extent
++dnl
++ rm -f conf.glibtest
++ AC_TRY_RUN([
++#include <glib.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++int
++main ()
++{
++ int major, minor, micro;
++ char *tmp_version;
++
++ system ("touch conf.glibtest");
++
++ /* HP/UX 9 (%@#!) writes to sscanf strings */
++ tmp_version = g_strdup("$min_glib_version");
++ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++ printf("%s, bad version string\n", "$min_glib_version");
++ exit(1);
++ }
++
++ if ((glib_major_version != $glib_config_major_version) ||
++ (glib_minor_version != $glib_config_minor_version) ||
++ (glib_micro_version != $glib_config_micro_version))
++ {
++ printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
++ $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf ("*** was found! If glib-config was correct, then it is best\n");
++ printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n");
++ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
++ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
++ printf("*** required on your system.\n");
++ printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n");
++ printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n");
++ printf("*** before re-running configure\n");
++ }
++ else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
++ (glib_minor_version != GLIB_MINOR_VERSION) ||
++ (glib_micro_version != GLIB_MICRO_VERSION))
++ {
++ printf("*** GLIB header files (version %d.%d.%d) do not match\n",
++ GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
++ printf("*** library (version %d.%d.%d)\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ }
++ else
++ {
++ if ((glib_major_version > major) ||
++ ((glib_major_version == major) && (glib_minor_version > minor)) ||
++ ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
++ {
++ return 0;
++ }
++ else
++ {
++ printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
++ major, minor, micro);
++ printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
++ printf("***\n");
++ printf("*** If you have already installed a sufficiently new version, this error\n");
++ printf("*** probably means that the wrong copy of the glib-config shell script is\n");
++ printf("*** being found. The easiest way to fix this is to remove the old version\n");
++ printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n");
++ printf("*** correct copy of glib-config. (In this case, you will have to\n");
++ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
++ printf("*** so that the correct libraries are found at run-time))\n");
++ }
++ }
++ return 1;
++}
++],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ if test "x$no_glib" = x ; then
++ AC_MSG_RESULT(yes)
++ ifelse([$2], , :, [$2])
++ else
++ AC_MSG_RESULT(no)
++ if test "$GLIB_CONFIG" = "no" ; then
++ echo "*** The glib-config script installed by GLIB could not be found"
++ echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in"
++ echo "*** your path, or set the GLIB_CONFIG environment variable to the"
++ echo "*** full path to glib-config."
++ else
++ if test -f conf.glibtest ; then
++ :
++ else
++ echo "*** Could not run GLIB test program, checking why..."
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$LIBS $GLIB_LIBS"
++ AC_TRY_LINK([
++#include <glib.h>
++#include <stdio.h>
++], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
++ [ echo "*** The test program compiled, but did not run. This usually means"
++ echo "*** that the run-time linker is not finding GLIB or finding the wrong"
++ echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
++ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
++ echo "*** to the installed location Also, make sure you have run ldconfig if that"
++ echo "*** is required on your system"
++ echo "***"
++ echo "*** If you have an old version installed, it is best to remove it, although"
++ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
++ echo "***"
++ echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
++ echo "*** came with the system with the command"
++ echo "***"
++ echo "*** rpm --erase --nodeps gtk gtk-devel" ],
++ [ echo "*** The test program failed to compile or link. See the file config.log for the"
++ echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
++ echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
++ echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ GLIB_CFLAGS=""
++ GLIB_LIBS=""
++ ifelse([$3], , :, [$3])
++ fi
++ AC_SUBST(GLIB_CFLAGS)
++ AC_SUBST(GLIB_LIBS)
++ rm -f conf.glibtest
++])
diff --git a/meta/packages/irda-utils/irda-utils_0.9.16.bb b/meta/packages/irda-utils/irda-utils_0.9.16.bb
new file mode 100644
index 0000000000..db56a7044d
--- /dev/null
+++ b/meta/packages/irda-utils/irda-utils_0.9.16.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Provides common files needed to use IrDA. \
+IrDA allows communication over Infrared with other devices \
+such as phones and laptops."
+SECTION = "base"
+LICENSE = "GPL"
+PR = "r5"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/irda/irda-utils-${PV}.tar.gz \
+ file://configure.patch;patch=1 \
+ file://m4.patch;patch=1 \
+ file://init"
+
+export SYS_INCLUDES="-I${STAGING_INCDIR}"
+
+inherit autotools update-rc.d
+
+INITSCRIPT_NAME = "irattach"
+INITSCRIPT_PARAMS = "defaults 20"
+
+do_compile () {
+ oe_runmake -e -C irattach
+ oe_runmake -e -C irdaping
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ oe_runmake -C irattach ROOT="${D}" install
+ oe_runmake -C irdaping ROOT="${D}" install
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/irattach
+}
diff --git a/meta/packages/jpeg/jpeg-6b/debian.patch b/meta/packages/jpeg/jpeg-6b/debian.patch
new file mode 100644
index 0000000000..823c8e08dc
--- /dev/null
+++ b/meta/packages/jpeg/jpeg-6b/debian.patch
@@ -0,0 +1,10014 @@
+
+#
+# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- jpeg-6b/jpegtran.1~libjpeg6bb-5
++++ jpeg-6b/jpegtran.1
+@@ -131,6 +131,24 @@
+ .B \-rot 180 -trim
+ trims both edges.
+ .PP
++We also offer a lossless-crop option, which discards data outside a given
++image region but losslessly preserves what is inside. Like the rotate and
++flip transforms, lossless crop is restricted by the JPEG format: the upper
++left corner of the selected region must fall on an iMCU boundary. If this
++does not hold for the given crop parameters, we silently move the upper left
++corner up and/or left to make it so, simultaneously increasing the region
++dimensions to keep the lower right crop corner unchanged. (Thus, the
++output image covers at least the requested region, but may cover more.)
++
++Note: lossless-crop is an enhancement from http://sylvana.net/jpegcrop/
++that may not be available on non-Debian systems.
++
++The image can be losslessly cropped by giving the switch:
++.TP
++.B \-crop WxH+X+Y
++Crop to a rectangular subarea of width W, height H starting at point X,Y.
++.PP
++.PP
+ Another not-strictly-lossless transformation switch is:
+ .TP
+ .B \-grayscale
+--- jpeg-6b/configure~libjpeg6bb-5
++++ jpeg-6b/configure
+@@ -52,7 +52,7 @@
+ includedir='${prefix}/include'
+ oldincludedir='/usr/include'
+ infodir='${prefix}/info'
+-mandir='${prefix}/man'
++mandir='${prefix}/share/man'
+
+ # Initialize some other variables.
+ subdirs=
+@@ -1559,7 +1559,8 @@
+ if test "x$LTSTATIC" = xno; then
+ disable_static="--disable-static"
+ fi
+- $srcdir/ltconfig $disable_shared $disable_static $srcdir/ltmain.sh
++ chmod a+x $srcdir/ltconfig.new
++ $srcdir/ltconfig.new $disable_shared $disable_static $srcdir/ltmain.new.sh $host
+ fi
+
+ # Select memory manager depending on user input.
+--- jpeg-6b/makefile.cfg~libjpeg6bb-5
++++ jpeg-6b/makefile.cfg
+@@ -17,7 +17,7 @@
+ binprefix =
+ manprefix =
+ manext = 1
+-mandir = $(prefix)/man/man$(manext)
++mandir = $(prefix)/share/man/man$(manext)
+
+ # The name of your C compiler:
+ CC= @CC@
+@@ -210,6 +210,11 @@
+ $(INSTALL_DATA) $(srcdir)/jpeglib.h $(includedir)/jpeglib.h
+ $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(includedir)/jmorecfg.h
+ $(INSTALL_DATA) $(srcdir)/jerror.h $(includedir)/jerror.h
++#<ballombe@debian.org>:mjpegtools require this file to build and header say:
++# * These declarations are considered internal to the JPEG library; most
++# * applications using the library shouldn't need to include this file.
++# So it is not forbidden to use it, therefore it must be installed.
++ $(INSTALL_DATA) $(srcdir)/jpegint.h $(includedir)/jpegint.h
+
+ clean:
+ $(RM) *.o *.lo libjpeg.a libjpeg.la
+--- jpeg-6b/jpegtran.c~libjpeg6bb-5
++++ jpeg-6b/jpegtran.c
+@@ -1,7 +1,7 @@
+ /*
+ * jpegtran.c
+ *
+- * Copyright (C) 1995-1997, Thomas G. Lane.
++ * Copyright (C) 1995-2001, Thomas G. Lane.
+ * This file is part of the Independent JPEG Group's software.
+ * For conditions of distribution and use, see the accompanying README file.
+ *
+@@ -64,6 +64,7 @@
+ #endif
+ #if TRANSFORMS_SUPPORTED
+ fprintf(stderr, "Switches for modifying the image:\n");
++ fprintf(stderr, " -crop WxH+X+Y Crop to a rectangular subarea\n");
+ fprintf(stderr, " -grayscale Reduce to grayscale (omit color data)\n");
+ fprintf(stderr, " -flip [horizontal|vertical] Mirror image (left-right or top-bottom)\n");
+ fprintf(stderr, " -rotate [90|180|270] Rotate image (degrees clockwise)\n");
+@@ -134,6 +135,7 @@
+ transformoption.transform = JXFORM_NONE;
+ transformoption.trim = FALSE;
+ transformoption.force_grayscale = FALSE;
++ transformoption.crop = FALSE;
+ cinfo->err->trace_level = 0;
+
+ /* Scan command line options, adjust parameters */
+@@ -160,7 +162,7 @@
+ exit(EXIT_FAILURE);
+ #endif
+
+- } else if (keymatch(arg, "copy", 1)) {
++ } else if (keymatch(arg, "copy", 2)) {
+ /* Select which extra markers to copy. */
+ if (++argn >= argc) /* advance to next argument */
+ usage();
+@@ -173,6 +175,20 @@
+ } else
+ usage();
+
++ } else if (keymatch(arg, "crop", 2)) {
++ /* Perform lossless cropping. */
++#if TRANSFORMS_SUPPORTED
++ if (++argn >= argc) /* advance to next argument */
++ usage();
++ if (! jtransform_parse_crop_spec(&transformoption, argv[argn])) {
++ fprintf(stderr, "%s: bogus -crop argument '%s'\n",
++ progname, argv[argn]);
++ exit(EXIT_FAILURE);
++ }
++#else
++ select_transform(JXFORM_NONE); /* force an error */
++#endif
++
+ } else if (keymatch(arg, "debug", 1) || keymatch(arg, "verbose", 1)) {
+ /* Enable debug printouts. */
+ /* On first -d, print version identification */
+@@ -342,8 +358,10 @@
+ jvirt_barray_ptr * src_coef_arrays;
+ jvirt_barray_ptr * dst_coef_arrays;
+ int file_index;
+- FILE * input_file;
+- FILE * output_file;
++ /* We assume all-in-memory processing and can therefore use only a
++ * single file pointer for sequential input and output operation.
++ */
++ FILE * fp;
+
+ /* On Mac, fetch a command line. */
+ #ifdef USE_CCOMMAND
+@@ -406,24 +424,13 @@
+
+ /* Open the input file. */
+ if (file_index < argc) {
+- if ((input_file = fopen(argv[file_index], READ_BINARY)) == NULL) {
++ if ((fp = fopen(argv[file_index], READ_BINARY)) == NULL) {
+ fprintf(stderr, "%s: can't open %s\n", progname, argv[file_index]);
+ exit(EXIT_FAILURE);
+ }
+ } else {
+ /* default input file is stdin */
+- input_file = read_stdin();
+- }
+-
+- /* Open the output file. */
+- if (outfilename != NULL) {
+- if ((output_file = fopen(outfilename, WRITE_BINARY)) == NULL) {
+- fprintf(stderr, "%s: can't open %s\n", progname, outfilename);
+- exit(EXIT_FAILURE);
+- }
+- } else {
+- /* default output file is stdout */
+- output_file = write_stdout();
++ fp = read_stdin();
+ }
+
+ #ifdef PROGRESS_REPORT
+@@ -431,7 +438,7 @@
+ #endif
+
+ /* Specify data source for decompression */
+- jpeg_stdio_src(&srcinfo, input_file);
++ jpeg_stdio_src(&srcinfo, fp);
+
+ /* Enable saving of extra markers that we want to copy */
+ jcopy_markers_setup(&srcinfo, copyoption);
+@@ -463,11 +470,32 @@
+ dst_coef_arrays = src_coef_arrays;
+ #endif
+
++ /* Close input file, if we opened it.
++ * Note: we assume that jpeg_read_coefficients consumed all input
++ * until JPEG_REACHED_EOI, and that jpeg_finish_decompress will
++ * only consume more while (! cinfo->inputctl->eoi_reached).
++ * We cannot call jpeg_finish_decompress here since we still need the
++ * virtual arrays allocated from the source object for processing.
++ */
++ if (fp != stdin)
++ fclose(fp);
++
++ /* Open the output file. */
++ if (outfilename != NULL) {
++ if ((fp = fopen(outfilename, WRITE_BINARY)) == NULL) {
++ fprintf(stderr, "%s: can't open %s\n", progname, outfilename);
++ exit(EXIT_FAILURE);
++ }
++ } else {
++ /* default output file is stdout */
++ fp = write_stdout();
++ }
++
+ /* Adjust default compression parameters by re-parsing the options */
+ file_index = parse_switches(&dstinfo, argc, argv, 0, TRUE);
+
+ /* Specify data destination for compression */
+- jpeg_stdio_dest(&dstinfo, output_file);
++ jpeg_stdio_dest(&dstinfo, fp);
+
+ /* Start compressor (note no image data is actually written here) */
+ jpeg_write_coefficients(&dstinfo, dst_coef_arrays);
+@@ -488,11 +516,9 @@
+ (void) jpeg_finish_decompress(&srcinfo);
+ jpeg_destroy_decompress(&srcinfo);
+
+- /* Close files, if we opened them */
+- if (input_file != stdin)
+- fclose(input_file);
+- if (output_file != stdout)
+- fclose(output_file);
++ /* Close output file, if we opened it */
++ if (fp != stdout)
++ fclose(fp);
+
+ #ifdef PROGRESS_REPORT
+ end_progress_monitor((j_common_ptr) &dstinfo);
+--- jpeg-6b/rdjpgcom.c~libjpeg6bb-5
++++ jpeg-6b/rdjpgcom.c
+@@ -14,6 +14,7 @@
+ #define JPEG_CJPEG_DJPEG /* to get the command-line config symbols */
+ #include "jinclude.h" /* get auto-config symbols, <stdio.h> */
+
++#include <locale.h> /*ballombe@debian.org: use locale for isprint*/
+ #include <ctype.h> /* to declare isupper(), tolower() */
+ #ifdef USE_SETMODE
+ #include <fcntl.h> /* to declare setmode()'s parameter macros */
+@@ -223,7 +224,10 @@
+ unsigned int length;
+ int ch;
+ int lastch = 0;
+-
++/* ballombe@debian.org Thu, 15 Nov 2001 20:04:47 +0100*/
++/* Set locale properly for isprint*/
++ setlocale(LC_CTYPE,"");
++
+ /* Get the marker parameter length count */
+ length = read_2_bytes();
+ /* Length includes itself, so must be at least 2 */
+@@ -254,6 +258,8 @@
+ length--;
+ }
+ printf("\n");
++/*ballombe@debian.org: revert to C locale*/
++ setlocale(LC_CTYPE,"C");
+ }
+
+
+--- jpeg-6b/transupp.c~libjpeg6bb-5
++++ jpeg-6b/transupp.c
+@@ -1,7 +1,7 @@
+ /*
+ * transupp.c
+ *
+- * Copyright (C) 1997, Thomas G. Lane.
++ * Copyright (C) 1997-2001, Thomas G. Lane.
+ * This file is part of the Independent JPEG Group's software.
+ * For conditions of distribution and use, see the accompanying README file.
+ *
+@@ -20,6 +20,7 @@
+ #include "jinclude.h"
+ #include "jpeglib.h"
+ #include "transupp.h" /* My own external interface */
++#include <ctype.h> /* to declare isdigit() */
+
+
+ #if TRANSFORMS_SUPPORTED
+@@ -28,7 +29,8 @@
+ * Lossless image transformation routines. These routines work on DCT
+ * coefficient arrays and thus do not require any lossy decompression
+ * or recompression of the image.
+- * Thanks to Guido Vollbeding for the initial design and code of this feature.
++ * Thanks to Guido Vollbeding for the initial design and code of this feature,
++ * and to Ben Jackson for introducing the cropping feature.
+ *
+ * Horizontal flipping is done in-place, using a single top-to-bottom
+ * pass through the virtual source array. It will thus be much the
+@@ -42,6 +44,13 @@
+ * arrays for most of the transforms. That could result in much thrashing
+ * if the image is larger than main memory.
+ *
++ * If cropping or trimming is involved, the destination arrays may be smaller
++ * than the source arrays. Note it is not possible to do horizontal flip
++ * in-place when a nonzero Y crop offset is specified, since we'd have to move
++ * data from one block row to another but the virtual array manager doesn't
++ * guarantee we can touch more than one row at a time. So in that case,
++ * we have to use a separate destination array.
++ *
+ * Some notes about the operating environment of the individual transform
+ * routines:
+ * 1. Both the source and destination virtual arrays are allocated from the
+@@ -54,20 +63,65 @@
+ * and we may as well take that as the effective iMCU size.
+ * 4. When "trim" is in effect, the destination's dimensions will be the
+ * trimmed values but the source's will be untrimmed.
+- * 5. All the routines assume that the source and destination buffers are
++ * 5. When "crop" is in effect, the destination's dimensions will be the
++ * cropped values but the source's will be uncropped. Each transform
++ * routine is responsible for picking up source data starting at the
++ * correct X and Y offset for the crop region. (The X and Y offsets
++ * passed to the transform routines are measured in iMCU blocks of the
++ * destination.)
++ * 6. All the routines assume that the source and destination buffers are
+ * padded out to a full iMCU boundary. This is true, although for the
+ * source buffer it is an undocumented property of jdcoefct.c.
+- * Notes 2,3,4 boil down to this: generally we should use the destination's
+- * dimensions and ignore the source's.
+ */
+
+
+ LOCAL(void)
+-do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
+- jvirt_barray_ptr *src_coef_arrays)
+-/* Horizontal flip; done in-place, so no separate dest array is required */
++do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays,
++ jvirt_barray_ptr *dst_coef_arrays)
++/* Crop. This is only used when no rotate/flip is requested with the crop. */
+ {
+- JDIMENSION MCU_cols, comp_width, blk_x, blk_y;
++ JDIMENSION dst_blk_y, x_crop_blocks, y_crop_blocks;
++ int ci, offset_y;
++ JBLOCKARRAY src_buffer, dst_buffer;
++ jpeg_component_info *compptr;
++
++ /* We simply have to copy the right amount of data (the destination's
++ * image size) starting at the given X and Y offsets in the source.
++ */
++ for (ci = 0; ci < dstinfo->num_components; ci++) {
++ compptr = dstinfo->comp_info + ci;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
++ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
++ dst_blk_y += compptr->v_samp_factor) {
++ dst_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
++ (JDIMENSION) compptr->v_samp_factor, TRUE);
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
++ (JDIMENSION) compptr->v_samp_factor, FALSE);
++ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ jcopy_block_row(src_buffer[offset_y] + x_crop_blocks,
++ dst_buffer[offset_y],
++ compptr->width_in_blocks);
++ }
++ }
++ }
++}
++
++
++LOCAL(void)
++do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays)
++/* Horizontal flip; done in-place, so no separate dest array is required.
++ * NB: this only works when y_crop_offset is zero.
++ */
++{
++ JDIMENSION MCU_cols, comp_width, blk_x, blk_y, x_crop_blocks;
+ int ci, k, offset_y;
+ JBLOCKARRAY buffer;
+ JCOEFPTR ptr1, ptr2;
+@@ -79,17 +133,19 @@
+ * mirroring by changing the signs of odd-numbered columns.
+ * Partial iMCUs at the right edge are left untouched.
+ */
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
+ for (blk_y = 0; blk_y < compptr->height_in_blocks;
+ blk_y += compptr->v_samp_factor) {
+ buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ /* Do the mirroring */
+ for (blk_x = 0; blk_x * 2 < comp_width; blk_x++) {
+ ptr1 = buffer[offset_y][blk_x];
+ ptr2 = buffer[offset_y][comp_width - blk_x - 1];
+@@ -105,6 +161,79 @@
+ *ptr2++ = -temp1;
+ }
+ }
++ if (x_crop_blocks > 0) {
++ /* Now left-justify the portion of the data to be kept.
++ * We can't use a single jcopy_block_row() call because that routine
++ * depends on memcpy(), whose behavior is unspecified for overlapping
++ * source and destination areas. Sigh.
++ */
++ for (blk_x = 0; blk_x < compptr->width_in_blocks; blk_x++) {
++ jcopy_block_row(buffer[offset_y] + blk_x + x_crop_blocks,
++ buffer[offset_y] + blk_x,
++ (JDIMENSION) 1);
++ }
++ }
++ }
++ }
++ }
++}
++
++
++LOCAL(void)
++do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays,
++ jvirt_barray_ptr *dst_coef_arrays)
++/* Horizontal flip in general cropping case */
++{
++ JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
++ int ci, k, offset_y;
++ JBLOCKARRAY src_buffer, dst_buffer;
++ JBLOCKROW src_row_ptr, dst_row_ptr;
++ JCOEFPTR src_ptr, dst_ptr;
++ jpeg_component_info *compptr;
++
++ /* Here we must output into a separate array because we can't touch
++ * different rows of a single virtual array simultaneously. Otherwise,
++ * this is essentially the same as the routine above.
++ */
++ MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
++
++ for (ci = 0; ci < dstinfo->num_components; ci++) {
++ compptr = dstinfo->comp_info + ci;
++ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
++ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
++ dst_blk_y += compptr->v_samp_factor) {
++ dst_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
++ (JDIMENSION) compptr->v_samp_factor, TRUE);
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
++ (JDIMENSION) compptr->v_samp_factor, FALSE);
++ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ dst_row_ptr = dst_buffer[offset_y];
++ src_row_ptr = src_buffer[offset_y];
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Do the mirrorable blocks */
++ dst_ptr = dst_row_ptr[dst_blk_x];
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ /* this unrolled loop doesn't need to know which row it's on... */
++ for (k = 0; k < DCTSIZE2; k += 2) {
++ *dst_ptr++ = *src_ptr++; /* copy even column */
++ *dst_ptr++ = - *src_ptr++; /* copy odd column with sign change */
++ }
++ } else {
++ /* Copy last partial block(s) verbatim */
++ jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks,
++ dst_row_ptr + dst_blk_x,
++ (JDIMENSION) 1);
++ }
++ }
+ }
+ }
+ }
+@@ -113,11 +242,13 @@
+
+ LOCAL(void)
+ do_flip_v (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Vertical flip */
+ {
+ JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JBLOCKROW src_row_ptr, dst_row_ptr;
+@@ -131,33 +262,38 @@
+ * of odd-numbered rows.
+ * Partial iMCUs at the bottom edge are copied verbatim.
+ */
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_rows = srcinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
+- comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor,
++ comp_height - y_crop_blocks - dst_blk_y -
++ (JDIMENSION) compptr->v_samp_factor,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ } else {
+ /* Bottom-edge blocks will be copied verbatim. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ }
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+ dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1];
++ src_row_ptr += x_crop_blocks;
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x++) {
+ dst_ptr = dst_row_ptr[dst_blk_x];
+@@ -173,7 +309,8 @@
+ }
+ } else {
+ /* Just copy row verbatim. */
+- jcopy_block_row(src_buffer[offset_y], dst_buffer[offset_y],
++ jcopy_block_row(src_buffer[offset_y] + x_crop_blocks,
++ dst_buffer[offset_y],
+ compptr->width_in_blocks);
+ }
+ }
+@@ -184,11 +321,12 @@
+
+ LOCAL(void)
+ do_transpose (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Transpose source into destination */
+ {
+- JDIMENSION dst_blk_x, dst_blk_y;
++ JDIMENSION dst_blk_x, dst_blk_y, x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -201,6 +339,8 @@
+ */
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -210,11 +350,12 @@
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
+ (JDIMENSION) compptr->h_samp_factor, FALSE);
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x][dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -228,6 +369,7 @@
+
+ LOCAL(void)
+ do_rot_90 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 90 degree rotation is equivalent to
+@@ -237,6 +379,7 @@
+ */
+ {
+ JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -246,11 +389,13 @@
+ * at the (output) right edge properly. They just get transposed and
+ * not mirrored.
+ */
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->image_height / (dstinfo->max_h_samp_factor * DCTSIZE);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -259,15 +404,26 @@
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+- src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
+- (JDIMENSION) compptr->h_samp_factor, FALSE);
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Block is within the mirrorable area. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ comp_width - x_crop_blocks - dst_blk_x -
++ (JDIMENSION) compptr->h_samp_factor,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ } else {
++ /* Edge blocks are transposed but not mirrored. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ }
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+- if (dst_blk_x < comp_width) {
++ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Block is within the mirrorable area. */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -277,7 +433,8 @@
+ }
+ } else {
+ /* Edge blocks are transposed but not mirrored. */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -292,6 +449,7 @@
+
+ LOCAL(void)
+ do_rot_270 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 270 degree rotation is equivalent to
+@@ -301,6 +459,7 @@
+ */
+ {
+ JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -310,11 +469,13 @@
+ * at the (output) bottom edge properly. They just get transposed and
+ * not mirrored.
+ */
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_rows = srcinfo->image_width / (dstinfo->max_v_samp_factor * DCTSIZE);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -324,14 +485,15 @@
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
+ (JDIMENSION) compptr->h_samp_factor, FALSE);
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Block is within the mirrorable area. */
+ src_ptr = src_buffer[offset_x]
+- [comp_height - dst_blk_y - offset_y - 1];
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -341,7 +503,8 @@
+ }
+ } else {
+ /* Edge blocks are transposed but not mirrored. */
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -356,6 +519,7 @@
+
+ LOCAL(void)
+ do_rot_180 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 180 degree rotation is equivalent to
+@@ -365,89 +529,93 @@
+ */
+ {
+ JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JBLOCKROW src_row_ptr, dst_row_ptr;
+ JCOEFPTR src_ptr, dst_ptr;
+ jpeg_component_info *compptr;
+
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
++ MCU_rows = srcinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the vertically mirrorable area. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
+- comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor,
++ comp_height - y_crop_blocks - dst_blk_y -
++ (JDIMENSION) compptr->v_samp_factor,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ } else {
+ /* Bottom-edge rows are only mirrored horizontally. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ }
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+- if (dst_blk_y < comp_height) {
++ dst_row_ptr = dst_buffer[offset_y];
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+- dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1];
+- /* Process the blocks that can be mirrored both ways. */
+- for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) {
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+ dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[comp_width - dst_blk_x - 1];
+- for (i = 0; i < DCTSIZE; i += 2) {
+- /* For even row, negate every odd column. */
+- for (j = 0; j < DCTSIZE; j += 2) {
+- *dst_ptr++ = *src_ptr++;
+- *dst_ptr++ = - *src_ptr++;
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Process the blocks that can be mirrored both ways. */
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ for (i = 0; i < DCTSIZE; i += 2) {
++ /* For even row, negate every odd column. */
++ for (j = 0; j < DCTSIZE; j += 2) {
++ *dst_ptr++ = *src_ptr++;
++ *dst_ptr++ = - *src_ptr++;
++ }
++ /* For odd row, negate every even column. */
++ for (j = 0; j < DCTSIZE; j += 2) {
++ *dst_ptr++ = - *src_ptr++;
++ *dst_ptr++ = *src_ptr++;
++ }
+ }
+- /* For odd row, negate every even column. */
+- for (j = 0; j < DCTSIZE; j += 2) {
+- *dst_ptr++ = - *src_ptr++;
+- *dst_ptr++ = *src_ptr++;
++ } else {
++ /* Any remaining right-edge blocks are only mirrored vertically. */
++ src_ptr = src_row_ptr[x_crop_blocks + dst_blk_x];
++ for (i = 0; i < DCTSIZE; i += 2) {
++ for (j = 0; j < DCTSIZE; j++)
++ *dst_ptr++ = *src_ptr++;
++ for (j = 0; j < DCTSIZE; j++)
++ *dst_ptr++ = - *src_ptr++;
+ }
+ }
+ }
+- /* Any remaining right-edge blocks are only mirrored vertically. */
+- for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[dst_blk_x];
+- for (i = 0; i < DCTSIZE; i += 2) {
+- for (j = 0; j < DCTSIZE; j++)
+- *dst_ptr++ = *src_ptr++;
+- for (j = 0; j < DCTSIZE; j++)
+- *dst_ptr++ = - *src_ptr++;
+- }
+- }
+ } else {
+ /* Remaining rows are just mirrored horizontally. */
+- dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[offset_y];
+- /* Process the blocks that can be mirrored. */
+- for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[comp_width - dst_blk_x - 1];
+- for (i = 0; i < DCTSIZE2; i += 2) {
+- *dst_ptr++ = *src_ptr++;
+- *dst_ptr++ = - *src_ptr++;
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Process the blocks that can be mirrored. */
++ dst_ptr = dst_row_ptr[dst_blk_x];
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ for (i = 0; i < DCTSIZE2; i += 2) {
++ *dst_ptr++ = *src_ptr++;
++ *dst_ptr++ = - *src_ptr++;
++ }
++ } else {
++ /* Any remaining right-edge blocks are only copied. */
++ jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks,
++ dst_row_ptr + dst_blk_x,
++ (JDIMENSION) 1);
+ }
+ }
+- /* Any remaining right-edge blocks are only copied. */
+- for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[dst_blk_x];
+- for (i = 0; i < DCTSIZE2; i++)
+- *dst_ptr++ = *src_ptr++;
+- }
+ }
+ }
+ }
+@@ -457,6 +625,7 @@
+
+ LOCAL(void)
+ do_transverse (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Transverse transpose is equivalent to
+@@ -470,18 +639,21 @@
+ */
+ {
+ JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+ jpeg_component_info *compptr;
+
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->image_height / (dstinfo->max_h_samp_factor * DCTSIZE);
++ MCU_rows = srcinfo->image_width / (dstinfo->max_v_samp_factor * DCTSIZE);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -490,17 +662,26 @@
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+- src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
+- (JDIMENSION) compptr->h_samp_factor, FALSE);
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Block is within the mirrorable area. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ comp_width - x_crop_blocks - dst_blk_x -
++ (JDIMENSION) compptr->h_samp_factor,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ } else {
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ }
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- if (dst_blk_y < comp_height) {
+- src_ptr = src_buffer[offset_x]
+- [comp_height - dst_blk_y - offset_y - 1];
+- if (dst_blk_x < comp_width) {
++ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ if (y_crop_blocks + dst_blk_y < comp_height) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Block is within the mirrorable area. */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -516,7 +697,8 @@
+ }
+ } else {
+ /* Right-edge blocks are mirrored in y only */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -526,11 +708,10 @@
+ }
+ }
+ } else {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+- if (dst_blk_x < comp_width) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Bottom-edge blocks are mirrored in x only */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -540,7 +721,8 @@
+ }
+ } else {
+ /* At lower right corner, just transpose, no mirroring */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -554,8 +736,116 @@
+ }
+
+
++/* Parse an unsigned integer: subroutine for jtransform_parse_crop_spec.
++ * Returns TRUE if valid integer found, FALSE if not.
++ * *strptr is advanced over the digit string, and *result is set to its value.
++ */
++
++LOCAL(boolean)
++jt_read_integer (const char ** strptr, JDIMENSION * result)
++{
++ const char * ptr = *strptr;
++ JDIMENSION val = 0;
++
++ for (; isdigit(*ptr); ptr++) {
++ val = val * 10 + (JDIMENSION) (*ptr - '0');
++ }
++ *result = val;
++ if (ptr == *strptr)
++ return FALSE; /* oops, no digits */
++ *strptr = ptr;
++ return TRUE;
++}
++
++
++/* Parse a crop specification (written in X11 geometry style).
++ * The routine returns TRUE if the spec string is valid, FALSE if not.
++ *
++ * The crop spec string should have the format
++ * <width>x<height>{+-}<xoffset>{+-}<yoffset>
++ * where width, height, xoffset, and yoffset are unsigned integers.
++ * Each of the elements can be omitted to indicate a default value.
++ * (A weakness of this style is that it is not possible to omit xoffset
++ * while specifying yoffset, since they look alike.)
++ *
++ * This code is loosely based on XParseGeometry from the X11 distribution.
++ */
++
++GLOBAL(boolean)
++jtransform_parse_crop_spec (jpeg_transform_info *info, const char *spec)
++{
++ info->crop = FALSE;
++ info->crop_width_set = JCROP_UNSET;
++ info->crop_height_set = JCROP_UNSET;
++ info->crop_xoffset_set = JCROP_UNSET;
++ info->crop_yoffset_set = JCROP_UNSET;
++
++ if (isdigit(*spec)) {
++ /* fetch width */
++ if (! jt_read_integer(&spec, &info->crop_width))
++ return FALSE;
++ info->crop_width_set = JCROP_POS;
++ }
++ if (*spec == 'x' || *spec == 'X') {
++ /* fetch height */
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_height))
++ return FALSE;
++ info->crop_height_set = JCROP_POS;
++ }
++ if (*spec == '+' || *spec == '-') {
++ /* fetch xoffset */
++ info->crop_xoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS;
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_xoffset))
++ return FALSE;
++ }
++ if (*spec == '+' || *spec == '-') {
++ /* fetch yoffset */
++ info->crop_yoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS;
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_yoffset))
++ return FALSE;
++ }
++ /* We had better have gotten to the end of the string. */
++ if (*spec != '\0')
++ return FALSE;
++ info->crop = TRUE;
++ return TRUE;
++}
++
++
++/* Trim off any partial iMCUs on the indicated destination edge */
++
++LOCAL(void)
++trim_right_edge (jpeg_transform_info *info, JDIMENSION full_width)
++{
++ JDIMENSION MCU_cols;
++
++ MCU_cols = info->output_width / (info->max_h_samp_factor * DCTSIZE);
++ if (MCU_cols > 0 && info->x_crop_offset + MCU_cols ==
++ full_width / (info->max_h_samp_factor * DCTSIZE))
++ info->output_width = MCU_cols * (info->max_h_samp_factor * DCTSIZE);
++}
++
++LOCAL(void)
++trim_bottom_edge (jpeg_transform_info *info, JDIMENSION full_height)
++{
++ JDIMENSION MCU_rows;
++
++ MCU_rows = info->output_height / (info->max_v_samp_factor * DCTSIZE);
++ if (MCU_rows > 0 && info->y_crop_offset + MCU_rows ==
++ full_height / (info->max_v_samp_factor * DCTSIZE))
++ info->output_height = MCU_rows * (info->max_v_samp_factor * DCTSIZE);
++}
++
++
+ /* Request any required workspace.
+ *
++ * This routine figures out the size that the output image will be
++ * (which implies that all the transform parameters must be set before
++ * it is called).
++ *
+ * We allocate the workspace virtual arrays from the source decompression
+ * object, so that all the arrays (both the original data and the workspace)
+ * will be taken into account while making memory management decisions.
+@@ -569,9 +859,13 @@
+ jpeg_transform_info *info)
+ {
+ jvirt_barray_ptr *coef_arrays = NULL;
++ boolean need_workspace, transpose_it;
+ jpeg_component_info *compptr;
+- int ci;
++ JDIMENSION xoffset, yoffset, width_in_iMCUs, height_in_iMCUs;
++ JDIMENSION width_in_blocks, height_in_blocks;
++ int ci, h_samp_factor, v_samp_factor;
+
++ /* Determine number of components in output image */
+ if (info->force_grayscale &&
+ srcinfo->jpeg_color_space == JCS_YCbCr &&
+ srcinfo->num_components == 3) {
+@@ -581,55 +875,181 @@
+ /* Process all the components */
+ info->num_components = srcinfo->num_components;
+ }
++ /* If there is only one output component, force the iMCU size to be 1;
++ * else use the source iMCU size. (This allows us to do the right thing
++ * when reducing color to grayscale, and also provides a handy way of
++ * cleaning up "funny" grayscale images whose sampling factors are not 1x1.)
++ */
++
++ switch (info->transform) {
++ case JXFORM_TRANSPOSE:
++ case JXFORM_TRANSVERSE:
++ case JXFORM_ROT_90:
++ case JXFORM_ROT_270:
++ info->output_width = srcinfo->image_height;
++ info->output_height = srcinfo->image_width;
++ if (info->num_components == 1) {
++ info->max_h_samp_factor = 1;
++ info->max_v_samp_factor = 1;
++ } else {
++ info->max_h_samp_factor = srcinfo->max_v_samp_factor;
++ info->max_v_samp_factor = srcinfo->max_h_samp_factor;
++ }
++ break;
++ default:
++ info->output_width = srcinfo->image_width;
++ info->output_height = srcinfo->image_height;
++ if (info->num_components == 1) {
++ info->max_h_samp_factor = 1;
++ info->max_v_samp_factor = 1;
++ } else {
++ info->max_h_samp_factor = srcinfo->max_h_samp_factor;
++ info->max_v_samp_factor = srcinfo->max_v_samp_factor;
++ }
++ break;
++ }
++
++ /* If cropping has been requested, compute the crop area's position and
++ * dimensions, ensuring that its upper left corner falls at an iMCU boundary.
++ */
++ if (info->crop) {
++ /* Insert default values for unset crop parameters */
++ if (info->crop_xoffset_set == JCROP_UNSET)
++ info->crop_xoffset = 0; /* default to +0 */
++ if (info->crop_yoffset_set == JCROP_UNSET)
++ info->crop_yoffset = 0; /* default to +0 */
++ if (info->crop_xoffset >= info->output_width ||
++ info->crop_yoffset >= info->output_height)
++ ERREXIT(srcinfo, JERR_BAD_CROP_SPEC);
++ if (info->crop_width_set == JCROP_UNSET)
++ info->crop_width = info->output_width - info->crop_xoffset;
++ if (info->crop_height_set == JCROP_UNSET)
++ info->crop_height = info->output_height - info->crop_yoffset;
++ /* Ensure parameters are valid */
++ if (info->crop_width <= 0 || info->crop_width > info->output_width ||
++ info->crop_height <= 0 || info->crop_height > info->output_height ||
++ info->crop_xoffset > info->output_width - info->crop_width ||
++ info->crop_yoffset > info->output_height - info->crop_height)
++ ERREXIT(srcinfo, JERR_BAD_CROP_SPEC);
++ /* Convert negative crop offsets into regular offsets */
++ if (info->crop_xoffset_set == JCROP_NEG)
++ xoffset = info->output_width - info->crop_width - info->crop_xoffset;
++ else
++ xoffset = info->crop_xoffset;
++ if (info->crop_yoffset_set == JCROP_NEG)
++ yoffset = info->output_height - info->crop_height - info->crop_yoffset;
++ else
++ yoffset = info->crop_yoffset;
++ /* Now adjust so that upper left corner falls at an iMCU boundary */
++ info->output_width =
++ info->crop_width + (xoffset % (info->max_h_samp_factor * DCTSIZE));
++ info->output_height =
++ info->crop_height + (yoffset % (info->max_v_samp_factor * DCTSIZE));
++ /* Save x/y offsets measured in iMCUs */
++ info->x_crop_offset = xoffset / (info->max_h_samp_factor * DCTSIZE);
++ info->y_crop_offset = yoffset / (info->max_v_samp_factor * DCTSIZE);
++ } else {
++ info->x_crop_offset = 0;
++ info->y_crop_offset = 0;
++ }
+
++ /* Figure out whether we need workspace arrays,
++ * and if so whether they are transposed relative to the source.
++ */
++ need_workspace = FALSE;
++ transpose_it = FALSE;
+ switch (info->transform) {
+ case JXFORM_NONE:
++ if (info->x_crop_offset != 0 || info->y_crop_offset != 0)
++ need_workspace = TRUE;
++ /* No workspace needed if neither cropping nor transforming */
++ break;
+ case JXFORM_FLIP_H:
+- /* Don't need a workspace array */
++ if (info->trim)
++ trim_right_edge(info, srcinfo->image_width);
++ if (info->y_crop_offset != 0)
++ need_workspace = TRUE;
++ /* do_flip_h_no_crop doesn't need a workspace array */
+ break;
+ case JXFORM_FLIP_V:
+- case JXFORM_ROT_180:
+- /* Need workspace arrays having same dimensions as source image.
+- * Note that we allocate arrays padded out to the next iMCU boundary,
+- * so that transform routines need not worry about missing edge blocks.
+- */
+- coef_arrays = (jvirt_barray_ptr *)
+- (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE,
+- SIZEOF(jvirt_barray_ptr) * info->num_components);
+- for (ci = 0; ci < info->num_components; ci++) {
+- compptr = srcinfo->comp_info + ci;
+- coef_arrays[ci] = (*srcinfo->mem->request_virt_barray)
+- ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE,
+- (JDIMENSION) jround_up((long) compptr->width_in_blocks,
+- (long) compptr->h_samp_factor),
+- (JDIMENSION) jround_up((long) compptr->height_in_blocks,
+- (long) compptr->v_samp_factor),
+- (JDIMENSION) compptr->v_samp_factor);
+- }
++ if (info->trim)
++ trim_bottom_edge(info, srcinfo->image_height);
++ /* Need workspace arrays having same dimensions as source image. */
++ need_workspace = TRUE;
+ break;
+ case JXFORM_TRANSPOSE:
++ /* transpose does NOT have to trim anything */
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
+ case JXFORM_TRANSVERSE:
++ if (info->trim) {
++ trim_right_edge(info, srcinfo->image_height);
++ trim_bottom_edge(info, srcinfo->image_width);
++ }
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
+ case JXFORM_ROT_90:
++ if (info->trim)
++ trim_right_edge(info, srcinfo->image_height);
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
++ case JXFORM_ROT_180:
++ if (info->trim) {
++ trim_right_edge(info, srcinfo->image_width);
++ trim_bottom_edge(info, srcinfo->image_height);
++ }
++ /* Need workspace arrays having same dimensions as source image. */
++ need_workspace = TRUE;
++ break;
+ case JXFORM_ROT_270:
+- /* Need workspace arrays having transposed dimensions.
+- * Note that we allocate arrays padded out to the next iMCU boundary,
+- * so that transform routines need not worry about missing edge blocks.
+- */
++ if (info->trim)
++ trim_bottom_edge(info, srcinfo->image_width);
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
++ }
++
++ /* Allocate workspace if needed.
++ * Note that we allocate arrays padded out to the next iMCU boundary,
++ * so that transform routines need not worry about missing edge blocks.
++ */
++ if (need_workspace) {
+ coef_arrays = (jvirt_barray_ptr *)
+ (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE,
+- SIZEOF(jvirt_barray_ptr) * info->num_components);
++ SIZEOF(jvirt_barray_ptr) * info->num_components);
++ width_in_iMCUs = (JDIMENSION)
++ jdiv_round_up((long) info->output_width,
++ (long) (info->max_h_samp_factor * DCTSIZE));
++ height_in_iMCUs = (JDIMENSION)
++ jdiv_round_up((long) info->output_height,
++ (long) (info->max_v_samp_factor * DCTSIZE));
+ for (ci = 0; ci < info->num_components; ci++) {
+ compptr = srcinfo->comp_info + ci;
++ if (info->num_components == 1) {
++ /* we're going to force samp factors to 1x1 in this case */
++ h_samp_factor = v_samp_factor = 1;
++ } else if (transpose_it) {
++ h_samp_factor = compptr->v_samp_factor;
++ v_samp_factor = compptr->h_samp_factor;
++ } else {
++ h_samp_factor = compptr->h_samp_factor;
++ v_samp_factor = compptr->v_samp_factor;
++ }
++ width_in_blocks = width_in_iMCUs * h_samp_factor;
++ height_in_blocks = height_in_iMCUs * v_samp_factor;
+ coef_arrays[ci] = (*srcinfo->mem->request_virt_barray)
+ ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE,
+- (JDIMENSION) jround_up((long) compptr->height_in_blocks,
+- (long) compptr->v_samp_factor),
+- (JDIMENSION) jround_up((long) compptr->width_in_blocks,
+- (long) compptr->h_samp_factor),
+- (JDIMENSION) compptr->h_samp_factor);
++ width_in_blocks, height_in_blocks, (JDIMENSION) v_samp_factor);
+ }
+- break;
+ }
++
+ info->workspace_coef_arrays = coef_arrays;
+ }
+
+@@ -642,14 +1062,8 @@
+ int tblno, i, j, ci, itemp;
+ jpeg_component_info *compptr;
+ JQUANT_TBL *qtblptr;
+- JDIMENSION dtemp;
+ UINT16 qtemp;
+
+- /* Transpose basic image dimensions */
+- dtemp = dstinfo->image_width;
+- dstinfo->image_width = dstinfo->image_height;
+- dstinfo->image_height = dtemp;
+-
+ /* Transpose sampling factors */
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+@@ -674,46 +1088,159 @@
+ }
+
+
+-/* Trim off any partial iMCUs on the indicated destination edge */
++/* Adjust Exif image parameters.
++ *
++ * We try to adjust the Tags ExifImageWidth and ExifImageHeight if possible.
++ */
+
+ LOCAL(void)
+-trim_right_edge (j_compress_ptr dstinfo)
++adjust_exif_parameters (JOCTET FAR * data, unsigned int length,
++ JDIMENSION new_width, JDIMENSION new_height)
+ {
+- int ci, max_h_samp_factor;
+- JDIMENSION MCU_cols;
++ boolean is_motorola; /* Flag for byte order */
++ unsigned int number_of_tags, tagnum;
++ unsigned int firstoffset, offset;
++ JDIMENSION new_value;
+
+- /* We have to compute max_h_samp_factor ourselves,
+- * because it hasn't been set yet in the destination
+- * (and we don't want to use the source's value).
+- */
+- max_h_samp_factor = 1;
+- for (ci = 0; ci < dstinfo->num_components; ci++) {
+- int h_samp_factor = dstinfo->comp_info[ci].h_samp_factor;
+- max_h_samp_factor = MAX(max_h_samp_factor, h_samp_factor);
++ if (length < 12) return; /* Length of an IFD entry */
++
++ /* Discover byte order */
++ if (GETJOCTET(data[0]) == 0x49 && GETJOCTET(data[1]) == 0x49)
++ is_motorola = FALSE;
++ else if (GETJOCTET(data[0]) == 0x4D && GETJOCTET(data[1]) == 0x4D)
++ is_motorola = TRUE;
++ else
++ return;
++
++ /* Check Tag Mark */
++ if (is_motorola) {
++ if (GETJOCTET(data[2]) != 0) return;
++ if (GETJOCTET(data[3]) != 0x2A) return;
++ } else {
++ if (GETJOCTET(data[3]) != 0) return;
++ if (GETJOCTET(data[2]) != 0x2A) return;
+ }
+- MCU_cols = dstinfo->image_width / (max_h_samp_factor * DCTSIZE);
+- if (MCU_cols > 0) /* can't trim to 0 pixels */
+- dstinfo->image_width = MCU_cols * (max_h_samp_factor * DCTSIZE);
+-}
+
+-LOCAL(void)
+-trim_bottom_edge (j_compress_ptr dstinfo)
+-{
+- int ci, max_v_samp_factor;
+- JDIMENSION MCU_rows;
++ /* Get first IFD offset (offset to IFD0) */
++ if (is_motorola) {
++ if (GETJOCTET(data[4]) != 0) return;
++ if (GETJOCTET(data[5]) != 0) return;
++ firstoffset = GETJOCTET(data[6]);
++ firstoffset <<= 8;
++ firstoffset += GETJOCTET(data[7]);
++ } else {
++ if (GETJOCTET(data[7]) != 0) return;
++ if (GETJOCTET(data[6]) != 0) return;
++ firstoffset = GETJOCTET(data[5]);
++ firstoffset <<= 8;
++ firstoffset += GETJOCTET(data[4]);
++ }
++ if (firstoffset > length - 2) return; /* check end of data segment */
+
+- /* We have to compute max_v_samp_factor ourselves,
+- * because it hasn't been set yet in the destination
+- * (and we don't want to use the source's value).
+- */
+- max_v_samp_factor = 1;
+- for (ci = 0; ci < dstinfo->num_components; ci++) {
+- int v_samp_factor = dstinfo->comp_info[ci].v_samp_factor;
+- max_v_samp_factor = MAX(max_v_samp_factor, v_samp_factor);
++ /* Get the number of directory entries contained in this IFD */
++ if (is_motorola) {
++ number_of_tags = GETJOCTET(data[firstoffset]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[firstoffset+1]);
++ } else {
++ number_of_tags = GETJOCTET(data[firstoffset+1]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[firstoffset]);
+ }
+- MCU_rows = dstinfo->image_height / (max_v_samp_factor * DCTSIZE);
+- if (MCU_rows > 0) /* can't trim to 0 pixels */
+- dstinfo->image_height = MCU_rows * (max_v_samp_factor * DCTSIZE);
++ if (number_of_tags == 0) return;
++ firstoffset += 2;
++
++ /* Search for ExifSubIFD offset Tag in IFD0 */
++ for (;;) {
++ if (firstoffset > length - 12) return; /* check end of data segment */
++ /* Get Tag number */
++ if (is_motorola) {
++ tagnum = GETJOCTET(data[firstoffset]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[firstoffset+1]);
++ } else {
++ tagnum = GETJOCTET(data[firstoffset+1]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[firstoffset]);
++ }
++ if (tagnum == 0x8769) break; /* found ExifSubIFD offset Tag */
++ if (--number_of_tags == 0) return;
++ firstoffset += 12;
++ }
++
++ /* Get the ExifSubIFD offset */
++ if (is_motorola) {
++ if (GETJOCTET(data[firstoffset+8]) != 0) return;
++ if (GETJOCTET(data[firstoffset+9]) != 0) return;
++ offset = GETJOCTET(data[firstoffset+10]);
++ offset <<= 8;
++ offset += GETJOCTET(data[firstoffset+11]);
++ } else {
++ if (GETJOCTET(data[firstoffset+11]) != 0) return;
++ if (GETJOCTET(data[firstoffset+10]) != 0) return;
++ offset = GETJOCTET(data[firstoffset+9]);
++ offset <<= 8;
++ offset += GETJOCTET(data[firstoffset+8]);
++ }
++ if (offset > length - 2) return; /* check end of data segment */
++
++ /* Get the number of directory entries contained in this SubIFD */
++ if (is_motorola) {
++ number_of_tags = GETJOCTET(data[offset]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[offset+1]);
++ } else {
++ number_of_tags = GETJOCTET(data[offset+1]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[offset]);
++ }
++ if (number_of_tags < 2) return;
++ offset += 2;
++
++ /* Search for ExifImageWidth and ExifImageHeight Tags in this SubIFD */
++ do {
++ if (offset > length - 12) return; /* check end of data segment */
++ /* Get Tag number */
++ if (is_motorola) {
++ tagnum = GETJOCTET(data[offset]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[offset+1]);
++ } else {
++ tagnum = GETJOCTET(data[offset+1]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[offset]);
++ }
++ if (tagnum == 0xA002 || tagnum == 0xA003) {
++ if (tagnum == 0xA002)
++ new_value = new_width; /* ExifImageWidth Tag */
++ else
++ new_value = new_height; /* ExifImageHeight Tag */
++ if (is_motorola) {
++ data[offset+2] = 0; /* Format = unsigned long (4 octets) */
++ data[offset+3] = 4;
++ data[offset+4] = 0; /* Number Of Components = 1 */
++ data[offset+5] = 0;
++ data[offset+6] = 0;
++ data[offset+7] = 1;
++ data[offset+8] = 0;
++ data[offset+9] = 0;
++ data[offset+10] = (JOCTET)((new_value >> 8) & 0xFF);
++ data[offset+11] = (JOCTET)(new_value & 0xFF);
++ } else {
++ data[offset+2] = 4; /* Format = unsigned long (4 octets) */
++ data[offset+3] = 0;
++ data[offset+4] = 1; /* Number Of Components = 1 */
++ data[offset+5] = 0;
++ data[offset+6] = 0;
++ data[offset+7] = 0;
++ data[offset+8] = (JOCTET)(new_value & 0xFF);
++ data[offset+9] = (JOCTET)((new_value >> 8) & 0xFF);
++ data[offset+10] = 0;
++ data[offset+11] = 0;
++ }
++ }
++ offset += 12;
++ } while (--number_of_tags);
+ }
+
+
+@@ -736,18 +1263,22 @@
+ {
+ /* If force-to-grayscale is requested, adjust destination parameters */
+ if (info->force_grayscale) {
+- /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed
+- * properly. Among other things, the target h_samp_factor & v_samp_factor
+- * will get set to 1, which typically won't match the source.
+- * In fact we do this even if the source is already grayscale; that
+- * provides an easy way of coercing a grayscale JPEG with funny sampling
+- * factors to the customary 1,1. (Some decoders fail on other factors.)
++ /* First, ensure we have YCbCr or grayscale data, and that the source's
++ * Y channel is full resolution. (No reasonable person would make Y
++ * be less than full resolution, so actually coping with that case
++ * isn't worth extra code space. But we check it to avoid crashing.)
+ */
+- if ((dstinfo->jpeg_color_space == JCS_YCbCr &&
+- dstinfo->num_components == 3) ||
+- (dstinfo->jpeg_color_space == JCS_GRAYSCALE &&
+- dstinfo->num_components == 1)) {
+- /* We have to preserve the source's quantization table number. */
++ if (((dstinfo->jpeg_color_space == JCS_YCbCr &&
++ dstinfo->num_components == 3) ||
++ (dstinfo->jpeg_color_space == JCS_GRAYSCALE &&
++ dstinfo->num_components == 1)) &&
++ srcinfo->comp_info[0].h_samp_factor == srcinfo->max_h_samp_factor &&
++ srcinfo->comp_info[0].v_samp_factor == srcinfo->max_v_samp_factor) {
++ /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed
++ * properly. Among other things, it sets the target h_samp_factor &
++ * v_samp_factor to 1, which typically won't match the source.
++ * We have to preserve the source's quantization table number, however.
++ */
+ int sv_quant_tbl_no = dstinfo->comp_info[0].quant_tbl_no;
+ jpeg_set_colorspace(dstinfo, JCS_GRAYSCALE);
+ dstinfo->comp_info[0].quant_tbl_no = sv_quant_tbl_no;
+@@ -755,50 +1286,52 @@
+ /* Sorry, can't do it */
+ ERREXIT(dstinfo, JERR_CONVERSION_NOTIMPL);
+ }
++ } else if (info->num_components == 1) {
++ /* For a single-component source, we force the destination sampling factors
++ * to 1x1, with or without force_grayscale. This is useful because some
++ * decoders choke on grayscale images with other sampling factors.
++ */
++ dstinfo->comp_info[0].h_samp_factor = 1;
++ dstinfo->comp_info[0].v_samp_factor = 1;
+ }
+
+- /* Correct the destination's image dimensions etc if necessary */
++ /* Correct the destination's image dimensions as necessary
++ * for crop and rotate/flip operations.
++ */
++ dstinfo->image_width = info->output_width;
++ dstinfo->image_height = info->output_height;
++
++ /* Transpose destination image parameters */
+ switch (info->transform) {
+- case JXFORM_NONE:
+- /* Nothing to do */
+- break;
+- case JXFORM_FLIP_H:
+- if (info->trim)
+- trim_right_edge(dstinfo);
+- break;
+- case JXFORM_FLIP_V:
+- if (info->trim)
+- trim_bottom_edge(dstinfo);
+- break;
+ case JXFORM_TRANSPOSE:
+- transpose_critical_parameters(dstinfo);
+- /* transpose does NOT have to trim anything */
+- break;
+ case JXFORM_TRANSVERSE:
+- transpose_critical_parameters(dstinfo);
+- if (info->trim) {
+- trim_right_edge(dstinfo);
+- trim_bottom_edge(dstinfo);
+- }
+- break;
+ case JXFORM_ROT_90:
+- transpose_critical_parameters(dstinfo);
+- if (info->trim)
+- trim_right_edge(dstinfo);
+- break;
+- case JXFORM_ROT_180:
+- if (info->trim) {
+- trim_right_edge(dstinfo);
+- trim_bottom_edge(dstinfo);
+- }
+- break;
+ case JXFORM_ROT_270:
+ transpose_critical_parameters(dstinfo);
+- if (info->trim)
+- trim_bottom_edge(dstinfo);
+ break;
+ }
+
++ /* Adjust Exif properties */
++ if (srcinfo->marker_list != NULL &&
++ srcinfo->marker_list->marker == JPEG_APP0+1 &&
++ srcinfo->marker_list->data_length >= 6 &&
++ GETJOCTET(srcinfo->marker_list->data[0]) == 0x45 &&
++ GETJOCTET(srcinfo->marker_list->data[1]) == 0x78 &&
++ GETJOCTET(srcinfo->marker_list->data[2]) == 0x69 &&
++ GETJOCTET(srcinfo->marker_list->data[3]) == 0x66 &&
++ GETJOCTET(srcinfo->marker_list->data[4]) == 0 &&
++ GETJOCTET(srcinfo->marker_list->data[5]) == 0) {
++ /* Suppress output of JFIF marker */
++ dstinfo->write_JFIF_header = FALSE;
++ /* Adjust Exif image parameters */
++ if (dstinfo->image_width != srcinfo->image_width ||
++ dstinfo->image_height != srcinfo->image_height)
++ /* Align data segment to start of TIFF structure for parsing */
++ adjust_exif_parameters(srcinfo->marker_list->data + 6,
++ srcinfo->marker_list->data_length - 6,
++ dstinfo->image_width, dstinfo->image_height);
++ }
++
+ /* Return the appropriate output data set */
+ if (info->workspace_coef_arrays != NULL)
+ return info->workspace_coef_arrays;
+@@ -816,36 +1349,53 @@
+ */
+
+ GLOBAL(void)
+-jtransform_execute_transformation (j_decompress_ptr srcinfo,
+- j_compress_ptr dstinfo,
+- jvirt_barray_ptr *src_coef_arrays,
+- jpeg_transform_info *info)
++jtransform_execute_transform (j_decompress_ptr srcinfo,
++ j_compress_ptr dstinfo,
++ jvirt_barray_ptr *src_coef_arrays,
++ jpeg_transform_info *info)
+ {
+ jvirt_barray_ptr *dst_coef_arrays = info->workspace_coef_arrays;
+
++ /* Note: conditions tested here should match those in switch statement
++ * in jtransform_request_workspace()
++ */
+ switch (info->transform) {
+ case JXFORM_NONE:
++ if (info->x_crop_offset != 0 || info->y_crop_offset != 0)
++ do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_FLIP_H:
+- do_flip_h(srcinfo, dstinfo, src_coef_arrays);
++ if (info->y_crop_offset != 0)
++ do_flip_h(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
++ else
++ do_flip_h_no_crop(srcinfo, dstinfo, info->x_crop_offset,
++ src_coef_arrays);
+ break;
+ case JXFORM_FLIP_V:
+- do_flip_v(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_flip_v(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_TRANSPOSE:
+- do_transpose(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_transpose(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_TRANSVERSE:
+- do_transverse(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_transverse(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_90:
+- do_rot_90(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_90(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_180:
+- do_rot_180(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_180(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_270:
+- do_rot_270(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ }
+ }
+--- jpeg-6b/jerror.h~libjpeg6bb-5
++++ jpeg-6b/jerror.h
+@@ -45,6 +45,7 @@
+ JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix")
+ JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode")
+ JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS")
++JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request")
+ JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range")
+ JMESSAGE(JERR_BAD_DCTSIZE, "IDCT output block size %d not supported")
+ JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition")
+--- jpeg-6b/transupp.h~libjpeg6bb-5
++++ jpeg-6b/transupp.h
+@@ -1,7 +1,7 @@
+ /*
+ * transupp.h
+ *
+- * Copyright (C) 1997, Thomas G. Lane.
++ * Copyright (C) 1997-2001, Thomas G. Lane.
+ * This file is part of the Independent JPEG Group's software.
+ * For conditions of distribution and use, see the accompanying README file.
+ *
+@@ -22,32 +22,6 @@
+ #define TRANSFORMS_SUPPORTED 1 /* 0 disables transform code */
+ #endif
+
+-/* Short forms of external names for systems with brain-damaged linkers. */
+-
+-#ifdef NEED_SHORT_EXTERNAL_NAMES
+-#define jtransform_request_workspace jTrRequest
+-#define jtransform_adjust_parameters jTrAdjust
+-#define jtransform_execute_transformation jTrExec
+-#define jcopy_markers_setup jCMrkSetup
+-#define jcopy_markers_execute jCMrkExec
+-#endif /* NEED_SHORT_EXTERNAL_NAMES */
+-
+-
+-/*
+- * Codes for supported types of image transformations.
+- */
+-
+-typedef enum {
+- JXFORM_NONE, /* no transformation */
+- JXFORM_FLIP_H, /* horizontal flip */
+- JXFORM_FLIP_V, /* vertical flip */
+- JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */
+- JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */
+- JXFORM_ROT_90, /* 90-degree clockwise rotation */
+- JXFORM_ROT_180, /* 180-degree rotation */
+- JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */
+-} JXFORM_CODE;
+-
+ /*
+ * Although rotating and flipping data expressed as DCT coefficients is not
+ * hard, there is an asymmetry in the JPEG format specification for images
+@@ -75,6 +49,19 @@
+ * (For example, -rot 270 -trim trims only the bottom edge, but -rot 90 -trim
+ * followed by -rot 180 -trim trims both edges.)
+ *
++ * We also offer a lossless-crop option, which discards data outside a given
++ * image region but losslessly preserves what is inside. Like the rotate and
++ * flip transforms, lossless crop is restricted by the JPEG format: the upper
++ * left corner of the selected region must fall on an iMCU boundary. If this
++ * does not hold for the given crop parameters, we silently move the upper left
++ * corner up and/or left to make it so, simultaneously increasing the region
++ * dimensions to keep the lower right crop corner unchanged. (Thus, the
++ * output image covers at least the requested region, but may cover more.)
++ *
++ * If both crop and a rotate/flip transform are requested, the crop is applied
++ * last --- that is, the crop region is specified in terms of the destination
++ * image.
++ *
+ * We also offer a "force to grayscale" option, which simply discards the
+ * chrominance channels of a YCbCr image. This is lossless in the sense that
+ * the luminance channel is preserved exactly. It's not the same kind of
+@@ -83,20 +70,87 @@
+ * be aware of the option to know how many components to work on.
+ */
+
++
++/* Short forms of external names for systems with brain-damaged linkers. */
++
++#ifdef NEED_SHORT_EXTERNAL_NAMES
++#define jtransform_parse_crop_spec jTrParCrop
++#define jtransform_request_workspace jTrRequest
++#define jtransform_adjust_parameters jTrAdjust
++#define jtransform_execute_transform jTrExec
++#define jcopy_markers_setup jCMrkSetup
++#define jcopy_markers_execute jCMrkExec
++#endif /* NEED_SHORT_EXTERNAL_NAMES */
++
++
++/*
++ * Codes for supported types of image transformations.
++ */
++
++typedef enum {
++ JXFORM_NONE, /* no transformation */
++ JXFORM_FLIP_H, /* horizontal flip */
++ JXFORM_FLIP_V, /* vertical flip */
++ JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */
++ JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */
++ JXFORM_ROT_90, /* 90-degree clockwise rotation */
++ JXFORM_ROT_180, /* 180-degree rotation */
++ JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */
++} JXFORM_CODE;
++
++/*
++ * Codes for crop parameters, which can individually be unspecified,
++ * positive, or negative. (Negative width or height makes no sense, though.)
++ */
++
++typedef enum {
++ JCROP_UNSET,
++ JCROP_POS,
++ JCROP_NEG
++} JCROP_CODE;
++
++/*
++ * Transform parameters struct.
++ * NB: application must not change any elements of this struct after
++ * calling jtransform_request_workspace.
++ */
++
+ typedef struct {
+ /* Options: set by caller */
+ JXFORM_CODE transform; /* image transform operator */
+ boolean trim; /* if TRUE, trim partial MCUs as needed */
+ boolean force_grayscale; /* if TRUE, convert color image to grayscale */
++ boolean crop; /* if TRUE, crop source image */
++
++ /* Crop parameters: application need not set these unless crop is TRUE.
++ * These can be filled in by jtransform_parse_crop_spec().
++ */
++ JDIMENSION crop_width; /* Width of selected region */
++ JCROP_CODE crop_width_set;
++ JDIMENSION crop_height; /* Height of selected region */
++ JCROP_CODE crop_height_set;
++ JDIMENSION crop_xoffset; /* X offset of selected region */
++ JCROP_CODE crop_xoffset_set; /* (negative measures from right edge) */
++ JDIMENSION crop_yoffset; /* Y offset of selected region */
++ JCROP_CODE crop_yoffset_set; /* (negative measures from bottom edge) */
+
+ /* Internal workspace: caller should not touch these */
+ int num_components; /* # of components in workspace */
+ jvirt_barray_ptr * workspace_coef_arrays; /* workspace for transformations */
++ JDIMENSION output_width; /* cropped destination dimensions */
++ JDIMENSION output_height;
++ JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */
++ JDIMENSION y_crop_offset;
++ int max_h_samp_factor; /* destination iMCU size */
++ int max_v_samp_factor;
+ } jpeg_transform_info;
+
+
+ #if TRANSFORMS_SUPPORTED
+
++/* Parse a crop specification (written in X11 geometry style) */
++EXTERN(boolean) jtransform_parse_crop_spec
++ JPP((jpeg_transform_info *info, const char *spec));
+ /* Request any required workspace */
+ EXTERN(void) jtransform_request_workspace
+ JPP((j_decompress_ptr srcinfo, jpeg_transform_info *info));
+@@ -106,11 +160,18 @@
+ jvirt_barray_ptr *src_coef_arrays,
+ jpeg_transform_info *info));
+ /* Execute the actual transformation, if any */
+-EXTERN(void) jtransform_execute_transformation
++EXTERN(void) jtransform_execute_transform
+ JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
+ jvirt_barray_ptr *src_coef_arrays,
+ jpeg_transform_info *info));
+
++/* jtransform_execute_transform used to be called
++ * jtransform_execute_transformation, but some compilers complain about
++ * routine names that long. This macro is here to avoid breaking any
++ * old source code that uses the original name...
++ */
++#define jtransform_execute_transformation jtransform_execute_transform
++
+ #endif /* TRANSFORMS_SUPPORTED */
+
+
+--- jpeg-6b/config.guess~libjpeg6bb-5
++++ jpeg-6b/config.guess
+@@ -1,4 +1,10 @@
+ #! /bin/sh
++# autotools-dev hack (<ballombe@debian.org>, Wed, 14 Nov 2001 10:13:10 +0100)
++if [ -x /usr/share/misc/config.guess ]; then
++ /usr/share/misc/config.guess $*
++ exit $?
++fi
++
+ # Attempt to guess a canonical system name.
+ # Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+ #
+--- jpeg-6b/config.sub~libjpeg6bb-5
++++ jpeg-6b/config.sub
+@@ -1,4 +1,10 @@
+ #! /bin/sh
++# autotools-dev hack (<ballombe@debian.org>, Wed, 14 Nov 2001 10:13:10 +0100)
++if [ -x /usr/share/misc/config.sub ]; then
++ /usr/share/misc/config.sub $*
++ exit $?
++fi
++
+ # Configuration validation subroutine script, version 1.1.
+ # Copyright (C) 1991, 92, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+ # This file is (in principle) common to ALL GNU software.
+--- /dev/null
++++ jpeg-6b/libtool.cfg
+@@ -0,0 +1,224 @@
++# libtool.cfg - Libtool configuration file.
++# Generated automatically by ltconfig (GNU libtool 1.3.3 (1.385.2.181 1999/07/02 15:49:11))
++# Libtool was configured as follows, on host yellowpig:
++#
++# CC="old_CC" CFLAGS="old_CFLAGS" CPPFLAGS="old_CPPFLAGS" \
++# LD="old_LD" LDFLAGS="old_LDFLAGS" LIBS="old_LIBS" \
++# NM="old_NM" RANLIB="old_RANLIB" LN_S="old_LN_S" \
++# DLLTOOL="old_DLLTOOL" OBJDUMP="old_OBJDUMP" AS="old_AS" \
++# ./ltconfig.new ./ltmain.sh.new i386-gnu
++#
++# Compiler and other test output produced by ltconfig.new, useful for
++# debugging ltconfig.new, is in ./config.log if it exists.
++
++# The version of ltconfig.new that generated this script.
++LTCONFIG_VERSION=1.3.3
++
++# Shell to use when invoking shell scripts.
++SHELL=/bin/sh
++
++# Whether or not to build shared libraries.
++build_libtool_libs=yes
++
++# Whether or not to build static libraries.
++build_old_libs=yes
++
++# Whether or not to optimize for fast installation.
++fast_install=yes
++
++# The host system.
++host_alias=i386-gnu
++host=i386-pc-gnu
++
++# An echo program that does not interpret backslashes.
++echo=echo
++
++# The archiver.
++AR=ar
++
++# The default C compiler.
++CC=gcc
++
++# The linker used to build libraries.
++LD=/usr/bin/ld
++
++# Whether we need hard or soft links.
++LN_S=ln -s
++
++# A BSD-compatible nm program.
++NM=/usr/bin/nm -B
++
++# Used on cygwin: DLL creation program.
++DLLTOOL="dlltool"
++
++# Used on cygwin: object dumper.
++OBJDUMP="objdump"
++
++# Used on cygwin: assembler.
++AS="as"
++
++# The name of the directory that contains temporary libtool files.
++objdir=.libs
++
++# How to create reloadable object files.
++reload_flag= -r
++reload_cmds=$LD$reload_flag -o $output$reload_objs
++
++# How to pass a linker flag through the compiler.
++wl=-Wl,
++
++# Object file suffix (normally "o").
++objext="o"
++
++# Old archive suffix (normally "a").
++libext="a"
++
++# Executable file suffix (normally "").
++exeext=""
++
++# Additional compiler flags for building library objects.
++pic_flag= -fPIC
++
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=yes
++
++# Can we write directly to a .lo ?
++compiler_o_lo=yes
++
++# Must we lock files when doing compilation ?
++need_locks=no
++
++# Do we need the lib prefix for modules?
++need_lib_prefix=no
++
++# Do we need a version for libraries?
++need_version=no
++
++# Whether dlopen is supported.
++dlopen=unknown
++
++# Whether dlopen of programs is supported.
++dlopen_self=unknown
++
++# Whether dlopen of statically linked programs is supported.
++dlopen_self_static=unknown
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag=-static
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag= -fno-builtin -fno-rtti -fno-exceptions
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=${wl}--export-dynamic
++
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=${wl}--whole-archive$convenience ${wl}--no-whole-archive
++
++# Compiler flag to generate thread-safe objects.
++thread_safe_flag_spec=
++
++# Library versioning type.
++version_type=linux
++
++# Format of library name prefix.
++libname_spec=lib$name
++
++# List of archive names. First name is the real one, the rest are links.
++# The last name is the one that the linker finds with -lNAME.
++library_names_spec=${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so
++
++# The coded name of the library, if different from the real name.
++soname_spec=${libname}${release}.so$major
++
++# Commands used to build and install an old-style archive.
++RANLIB=ranlib
++old_archive_cmds=$AR cru $oldlib$oldobjs~$RANLIB $oldlib
++old_postinstall_cmds=$RANLIB $oldlib~chmod 644 $oldlib
++old_postuninstall_cmds=
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=
++
++# Commands used to build and install a shared archive.
++archive_cmds=$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib
++archive_expsym_cmds=$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib
++postinstall_cmds=
++postuninstall_cmds=
++
++# Method to check whether dependent libraries are shared objects.
++deplibs_check_method=unknown
++
++# Command to use when deplibs_check_method == file_magic.
++file_magic_cmd=
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=
++
++# Flag that forces no undefined symbols.
++no_undefined_flag=
++
++# Commands used to finish a libtool library installation in a directory.
++finish_cmds=
++
++# Same as above, but a single script fragment to be evaled but not shown.
++finish_eval=
++
++# Take the output of nm and produce a listing of raw symbols and C names.
++global_symbol_pipe=sed -n -e 's/^.*[ ]\([ABCDGISTW]\)[ ][ ]*\(\)\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2\3 \3/p'
++
++# Transform the output of nm in a proper C declaration
++global_symbol_to_cdecl=sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'
++
++# This is the shared library runtime path variable.
++runpath_var=LD_RUN_PATH
++
++# This is the shared library path variable.
++shlibpath_var=LD_LIBRARY_PATH
++
++# Is shlibpath searched before the hard-coded library search path?
++shlibpath_overrides_runpath=unknown
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=immediate
++
++# Flag to hardcode $libdir into a binary during linking.
++# This must work even if $libdir does not exist.
++hardcode_libdir_flag_spec=${wl}--rpath ${wl}$libdir
++
++# Whether we need a single -rpath flag with a separated argument.
++hardcode_libdir_separator=
++
++# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
++# resulting binary.
++hardcode_direct=no
++
++# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
++# resulting binary.
++hardcode_minus_L=no
++
++# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
++# the resulting binary.
++hardcode_shlibpath_var=unsupported
++
++# Compile-time system search path for libraries
++sys_lib_search_path_spec=/lib /usr/lib /usr/local/lib
++
++# Run-time system search path for libraries
++sys_lib_dlsearch_path_spec=/lib /usr/lib
++
++# Fix the shell variable $srcfile for the compiler.
++fix_srcfile_path=""
++
++# Set to yes if exported symbols are required.
++always_export_symbols=no
++
++# The commands to list exported symbols.
++export_symbols_cmds=$NM $libobjs $convenience | $global_symbol_pipe | sed 's/.* //' | sort | uniq > $export_symbols
++
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=_GLOBAL_OFFSET_TABLE_
++
++# Symbols that must always be exported.
++include_expsyms=
++
+--- /dev/null
++++ jpeg-6b/ltmain.new.sh
+@@ -0,0 +1,3975 @@
++# ltmain.sh - Provide generalized library-building support services.
++# NOTE: Changing this file will not affect anything until you rerun ltconfig.
++#
++# Copyright (C) 1996-1999 Free Software Foundation, Inc.
++# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++# Check that we have a working $echo.
++if test "X$1" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++elif test "X$1" = X--fallback-echo; then
++ # Avoid inline document here, it may be left over
++ :
++elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
++ # Yippee, $echo works!
++ :
++else
++ # Restart under the correct shell, and then maybe $echo will work.
++ exec $SHELL "$0" --no-reexec ${1+"$@"}
++fi
++
++if test "X$1" = X--fallback-echo; then
++ # used as fallback echo
++ shift
++ cat <<EOF
++$*
++EOF
++ exit 0
++fi
++
++# The name of this program.
++progname=`$echo "$0" | sed 's%^.*/%%'`
++modename="$progname"
++
++# Constants.
++PROGRAM=ltmain.sh
++PACKAGE=libtool
++VERSION=1.3.3
++TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)"
++
++default_mode=
++help="Try \`$progname --help' for more information."
++magic="%%%MAGIC variable%%%"
++mkdir="mkdir"
++mv="mv -f"
++rm="rm -f"
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++Xsed='sed -e 1s/^X//'
++sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
++SP2NL='tr \040 \012'
++NL2SP='tr \015\012 \040\040'
++
++# NLS nuisances.
++# Only set LANG and LC_ALL to C if already set.
++# These must not be set unconditionally because not all systems understand
++# e.g. LANG=C (notably SCO).
++# We save the old values to restore during execute mode.
++if test "${LC_ALL+set}" = set; then
++ save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
++fi
++if test "${LANG+set}" = set; then
++ save_LANG="$LANG"; LANG=C; export LANG
++fi
++
++if test "$LTCONFIG_VERSION" != "$VERSION"; then
++ echo "$modename: ltconfig version \`$LTCONFIG_VERSION' does not match $PROGRAM version \`$VERSION'" 1>&2
++ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
++ exit 1
++fi
++
++if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
++ echo "$modename: not configured to build any kind of library" 1>&2
++ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
++ exit 1
++fi
++
++# Global variables.
++mode=$default_mode
++nonopt=
++prev=
++prevopt=
++run=
++show="$echo"
++show_help=
++execute_dlfiles=
++lo2o="s/\\.lo\$/.${objext}/"
++o2lo="s/\\.${objext}\$/.lo/"
++
++# Parse our command line options once, thoroughly.
++while test $# -gt 0
++do
++ arg="$1"
++ shift
++
++ case "$arg" in
++ -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
++ *) optarg= ;;
++ esac
++
++ # If the previous option needs an argument, assign it.
++ if test -n "$prev"; then
++ case "$prev" in
++ execute_dlfiles)
++ eval "$prev=\"\$$prev \$arg\""
++ ;;
++ *)
++ eval "$prev=\$arg"
++ ;;
++ esac
++
++ prev=
++ prevopt=
++ continue
++ fi
++
++ # Have we seen a non-optional argument yet?
++ case "$arg" in
++ --help)
++ show_help=yes
++ ;;
++
++ --version)
++ echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
++ exit 0
++ ;;
++
++ --config)
++ sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0
++ exit 0
++ ;;
++
++ --debug)
++ echo "$progname: enabling shell trace mode"
++ set -x
++ ;;
++
++ --dry-run | -n)
++ run=:
++ ;;
++
++ --features)
++ echo "host: $host"
++ if test "$build_libtool_libs" = yes; then
++ echo "enable shared libraries"
++ else
++ echo "disable shared libraries"
++ fi
++ if test "$build_old_libs" = yes; then
++ echo "enable static libraries"
++ else
++ echo "disable static libraries"
++ fi
++ exit 0
++ ;;
++
++ --finish) mode="finish" ;;
++
++ --mode) prevopt="--mode" prev=mode ;;
++ --mode=*) mode="$optarg" ;;
++
++ --quiet | --silent)
++ show=:
++ ;;
++
++ -dlopen)
++ prevopt="-dlopen"
++ prev=execute_dlfiles
++ ;;
++
++ -*)
++ $echo "$modename: unrecognized option \`$arg'" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ ;;
++
++ *)
++ nonopt="$arg"
++ break
++ ;;
++ esac
++done
++
++if test -n "$prevopt"; then
++ $echo "$modename: option \`$prevopt' requires an argument" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++fi
++
++if test -z "$show_help"; then
++
++ # Infer the operation mode.
++ if test -z "$mode"; then
++ case "$nonopt" in
++ *cc | *++ | gcc* | *-gcc*)
++ mode=link
++ for arg
++ do
++ case "$arg" in
++ -c)
++ mode=compile
++ break
++ ;;
++ esac
++ done
++ ;;
++ *db | *dbx | *strace | *truss)
++ mode=execute
++ ;;
++ *install*|cp|mv)
++ mode=install
++ ;;
++ *rm)
++ mode=uninstall
++ ;;
++ *)
++ # If we have no mode, but dlfiles were specified, then do execute mode.
++ test -n "$execute_dlfiles" && mode=execute
++
++ # Just use the default operation mode.
++ if test -z "$mode"; then
++ if test -n "$nonopt"; then
++ $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
++ else
++ $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
++ fi
++ fi
++ ;;
++ esac
++ fi
++
++ # Only execute mode is allowed to have -dlopen flags.
++ if test -n "$execute_dlfiles" && test "$mode" != execute; then
++ $echo "$modename: unrecognized option \`-dlopen'" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ # Change the help message to a mode-specific one.
++ generic_help="$help"
++ help="Try \`$modename --help --mode=$mode' for more information."
++
++ # These modes are in order of execution frequency so that they run quickly.
++ case "$mode" in
++ # libtool compile mode
++ compile)
++ modename="$modename: compile"
++ # Get the compilation command and the source file.
++ base_compile=
++ lastarg=
++ srcfile="$nonopt"
++ suppress_output=
++
++ user_target=no
++ for arg
++ do
++ # Accept any command-line options.
++ case "$arg" in
++ -o)
++ if test "$user_target" != "no"; then
++ $echo "$modename: you cannot specify \`-o' more than once" 1>&2
++ exit 1
++ fi
++ user_target=next
++ ;;
++
++ -static)
++ build_old_libs=yes
++ continue
++ ;;
++ esac
++
++ case "$user_target" in
++ next)
++ # The next one is the -o target name
++ user_target=yes
++ continue
++ ;;
++ yes)
++ # We got the output file
++ user_target=set
++ libobj="$arg"
++ continue
++ ;;
++ esac
++
++ # Accept the current argument as the source file.
++ lastarg="$srcfile"
++ srcfile="$arg"
++
++ # Aesthetically quote the previous argument.
++
++ # Backslashify any backslashes, double quotes, and dollar signs.
++ # These are the only characters that are still specially
++ # interpreted inside of double-quoted scrings.
++ lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
++
++ # Double-quote args containing other shell metacharacters.
++ # Many Bourne shells cannot handle close brackets correctly in scan
++ # sets, so we specify it separately.
++ case "$lastarg" in
++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
++ lastarg="\"$lastarg\""
++ ;;
++ esac
++
++ # Add the previous argument to base_compile.
++ if test -z "$base_compile"; then
++ base_compile="$lastarg"
++ else
++ base_compile="$base_compile $lastarg"
++ fi
++ done
++
++ case "$user_target" in
++ set)
++ ;;
++ no)
++ # Get the name of the library object.
++ libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
++ ;;
++ *)
++ $echo "$modename: you must specify a target with \`-o'" 1>&2
++ exit 1
++ ;;
++ esac
++
++ # Recognize several different file suffixes.
++ # If the user specifies -o file.o, it is replaced with file.lo
++ xform='[cCFSfmso]'
++ case "$libobj" in
++ *.ada) xform=ada ;;
++ *.adb) xform=adb ;;
++ *.ads) xform=ads ;;
++ *.asm) xform=asm ;;
++ *.c++) xform=c++ ;;
++ *.cc) xform=cc ;;
++ *.cpp) xform=cpp ;;
++ *.cxx) xform=cxx ;;
++ *.f90) xform=f90 ;;
++ *.for) xform=for ;;
++ esac
++
++ libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
++
++ case "$libobj" in
++ *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
++ *)
++ $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
++ exit 1
++ ;;
++ esac
++
++ if test -z "$base_compile"; then
++ $echo "$modename: you must specify a compilation command" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ # Delete any leftover library objects.
++ if test "$build_old_libs" = yes; then
++ removelist="$obj $libobj"
++ else
++ removelist="$libobj"
++ fi
++
++ $run $rm $removelist
++ trap "$run $rm $removelist; exit 1" 1 2 15
++
++ # Calculate the filename of the output object if compiler does
++ # not support -o with -c
++ if test "$compiler_c_o" = no; then
++ output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext}
++ lockfile="$output_obj.lock"
++ removelist="$removelist $output_obj $lockfile"
++ trap "$run $rm $removelist; exit 1" 1 2 15
++ else
++ need_locks=no
++ lockfile=
++ fi
++
++ # Lock this critical section if it is needed
++ # We use this script file to make the link, it avoids creating a new file
++ if test "$need_locks" = yes; then
++ until ln "$0" "$lockfile" 2>/dev/null; do
++ $show "Waiting for $lockfile to be removed"
++ sleep 2
++ done
++ elif test "$need_locks" = warn; then
++ if test -f "$lockfile"; then
++ echo "\
++*** ERROR, $lockfile exists and contains:
++`cat $lockfile 2>/dev/null`
++
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together. If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
++
++ $run $rm $removelist
++ exit 1
++ fi
++ echo $srcfile > "$lockfile"
++ fi
++
++ if test -n "$fix_srcfile_path"; then
++ eval srcfile=\"$fix_srcfile_path\"
++ fi
++
++ # Only build a PIC object if we are building libtool libraries.
++ if test "$build_libtool_libs" = yes; then
++ # Without this assignment, base_compile gets emptied.
++ fbsd_hideous_sh_bug=$base_compile
++
++ # All platforms use -DPIC, to notify preprocessed assembler code.
++ command="$base_compile $pic_flag -DPIC $srcfile"
++ if test "$build_old_libs" = yes; then
++ lo_libobj="$libobj"
++ dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'`
++ if test "X$dir" = "X$libobj"; then
++ dir="$objdir"
++ else
++ dir="$dir/$objdir"
++ fi
++ libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'`
++
++ if test -d "$dir"; then
++ $show "$rm $libobj"
++ $run $rm $libobj
++ else
++ $show "$mkdir $dir"
++ $run $mkdir $dir
++ status=$?
++ if test $status -ne 0 && test ! -d $dir; then
++ exit $status
++ fi
++ fi
++ fi
++ if test "$compiler_o_lo" = yes; then
++ output_obj="$libobj"
++ command="$command -o $output_obj"
++ elif test "$compiler_c_o" = yes; then
++ output_obj="$obj"
++ command="$command -o $output_obj"
++ fi
++
++ $run $rm "$output_obj"
++ $show "$command"
++ if $run eval "$command"; then :
++ else
++ test -n "$output_obj" && $run $rm $removelist
++ exit 1
++ fi
++
++ if test "$need_locks" = warn &&
++ test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
++ echo "\
++*** ERROR, $lockfile contains:
++`cat $lockfile 2>/dev/null`
++
++but it should contain:
++$srcfile
++
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together. If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
++
++ $run $rm $removelist
++ exit 1
++ fi
++
++ # Just move the object if needed, then go on to compile the next one
++ if test x"$output_obj" != x"$libobj"; then
++ $show "$mv $output_obj $libobj"
++ if $run $mv $output_obj $libobj; then :
++ else
++ error=$?
++ $run $rm $removelist
++ exit $error
++ fi
++ fi
++
++ # If we have no pic_flag, then copy the object into place and finish.
++ if test -z "$pic_flag" && test "$build_old_libs" = yes; then
++ # Rename the .lo from within objdir to obj
++ if test -f $obj; then
++ $show $rm $obj
++ $run $rm $obj
++ fi
++
++ $show "$mv $libobj $obj"
++ if $run $mv $libobj $obj; then :
++ else
++ error=$?
++ $run $rm $removelist
++ exit $error
++ fi
++
++ # Now arrange that obj and lo_libobj become the same file
++ $show "$LN_S $obj $lo_libobj"
++ if $run $LN_S $obj $lo_libobj; then
++ exit 0
++ else
++ error=$?
++ $run $rm $removelist
++ exit $error
++ fi
++ fi
++
++ # Allow error messages only from the first compilation.
++ suppress_output=' >/dev/null 2>&1'
++ fi
++
++ # Only build a position-dependent object if we build old libraries.
++ if test "$build_old_libs" = yes; then
++ command="$base_compile $srcfile"
++ if test "$compiler_c_o" = yes; then
++ command="$command -o $obj"
++ output_obj="$obj"
++ fi
++
++ # Suppress compiler output if we already did a PIC compilation.
++ command="$command$suppress_output"
++ $run $rm "$output_obj"
++ $show "$command"
++ if $run eval "$command"; then :
++ else
++ $run $rm $removelist
++ exit 1
++ fi
++
++ if test "$need_locks" = warn &&
++ test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then
++ echo "\
++*** ERROR, $lockfile contains:
++`cat $lockfile 2>/dev/null`
++
++but it should contain:
++$srcfile
++
++This indicates that another process is trying to use the same
++temporary object file, and libtool could not work around it because
++your compiler does not support \`-c' and \`-o' together. If you
++repeat this compilation, it may succeed, by chance, but you had better
++avoid parallel builds (make -j) in this platform, or get a better
++compiler."
++
++ $run $rm $removelist
++ exit 1
++ fi
++
++ # Just move the object if needed
++ if test x"$output_obj" != x"$obj"; then
++ $show "$mv $output_obj $obj"
++ if $run $mv $output_obj $obj; then :
++ else
++ error=$?
++ $run $rm $removelist
++ exit $error
++ fi
++ fi
++
++ # Create an invalid libtool object if no PIC, so that we do not
++ # accidentally link it into a program.
++ if test "$build_libtool_libs" != yes; then
++ $show "echo timestamp > $libobj"
++ $run eval "echo timestamp > \$libobj" || exit $?
++ else
++ # Move the .lo from within objdir
++ $show "$mv $libobj $lo_libobj"
++ if $run $mv $libobj $lo_libobj; then :
++ else
++ error=$?
++ $run $rm $removelist
++ exit $error
++ fi
++ fi
++ fi
++
++ # Unlock the critical section if it was locked
++ if test "$need_locks" != no; then
++ $rm "$lockfile"
++ fi
++
++ exit 0
++ ;;
++
++ # libtool link mode
++ link)
++ modename="$modename: link"
++ C_compiler="$CC" # save it, to compile generated C sources
++ CC="$nonopt"
++ case "$host" in
++ *-*-cygwin* | *-*-mingw* | *-*-os2*)
++ # It is impossible to link a dll without this setting, and
++ # we shouldn't force the makefile maintainer to figure out
++ # which system we are compiling for in order to pass an extra
++ # flag for every libtool invokation.
++ # allow_undefined=no
++
++ # FIXME: Unfortunately, there are problems with the above when trying
++ # to make a dll which has undefined symbols, in which case not
++ # even a static library is built. For now, we need to specify
++ # -no-undefined on the libtool link line when we can be certain
++ # that all symbols are satisfied, otherwise we get a static library.
++ allow_undefined=yes
++
++ # This is a source program that is used to create dlls on Windows
++ # Don't remove nor modify the starting and closing comments
++# /* ltdll.c starts here */
++# #define WIN32_LEAN_AND_MEAN
++# #include <windows.h>
++# #undef WIN32_LEAN_AND_MEAN
++# #include <stdio.h>
++#
++# #ifndef __CYGWIN__
++# # ifdef __CYGWIN32__
++# # define __CYGWIN__ __CYGWIN32__
++# # endif
++# #endif
++#
++# #ifdef __cplusplus
++# extern "C" {
++# #endif
++# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
++# #ifdef __cplusplus
++# }
++# #endif
++#
++# #ifdef __CYGWIN__
++# #include <cygwin/cygwin_dll.h>
++# DECLARE_CYGWIN_DLL( DllMain );
++# #endif
++# HINSTANCE __hDllInstance_base;
++#
++# BOOL APIENTRY
++# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
++# {
++# __hDllInstance_base = hInst;
++# return TRUE;
++# }
++# /* ltdll.c ends here */
++ # This is a source program that is used to create import libraries
++ # on Windows for dlls which lack them. Don't remove nor modify the
++ # starting and closing comments
++# /* impgen.c starts here */
++# /* Copyright (C) 1999 Free Software Foundation, Inc.
++#
++# This file is part of GNU libtool.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++# */
++#
++# #include <stdio.h> /* for printf() */
++# #include <unistd.h> /* for open(), lseek(), read() */
++# #include <fcntl.h> /* for O_RDONLY, O_BINARY */
++# #include <string.h> /* for strdup() */
++#
++# static unsigned int
++# pe_get16 (fd, offset)
++# int fd;
++# int offset;
++# {
++# unsigned char b[2];
++# lseek (fd, offset, SEEK_SET);
++# read (fd, b, 2);
++# return b[0] + (b[1]<<8);
++# }
++#
++# static unsigned int
++# pe_get32 (fd, offset)
++# int fd;
++# int offset;
++# {
++# unsigned char b[4];
++# lseek (fd, offset, SEEK_SET);
++# read (fd, b, 4);
++# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
++# }
++#
++# static unsigned int
++# pe_as32 (ptr)
++# void *ptr;
++# {
++# unsigned char *b = ptr;
++# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24);
++# }
++#
++# int
++# main (argc, argv)
++# int argc;
++# char *argv[];
++# {
++# int dll;
++# unsigned long pe_header_offset, opthdr_ofs, num_entries, i;
++# unsigned long export_rva, export_size, nsections, secptr, expptr;
++# unsigned long name_rvas, nexp;
++# unsigned char *expdata, *erva;
++# char *filename, *dll_name;
++#
++# filename = argv[1];
++#
++# dll = open(filename, O_RDONLY|O_BINARY);
++# if (!dll)
++# return 1;
++#
++# dll_name = filename;
++#
++# for (i=0; filename[i]; i++)
++# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':')
++# dll_name = filename + i +1;
++#
++# pe_header_offset = pe_get32 (dll, 0x3c);
++# opthdr_ofs = pe_header_offset + 4 + 20;
++# num_entries = pe_get32 (dll, opthdr_ofs + 92);
++#
++# if (num_entries < 1) /* no exports */
++# return 1;
++#
++# export_rva = pe_get32 (dll, opthdr_ofs + 96);
++# export_size = pe_get32 (dll, opthdr_ofs + 100);
++# nsections = pe_get16 (dll, pe_header_offset + 4 +2);
++# secptr = (pe_header_offset + 4 + 20 +
++# pe_get16 (dll, pe_header_offset + 4 + 16));
++#
++# expptr = 0;
++# for (i = 0; i < nsections; i++)
++# {
++# char sname[8];
++# unsigned long secptr1 = secptr + 40 * i;
++# unsigned long vaddr = pe_get32 (dll, secptr1 + 12);
++# unsigned long vsize = pe_get32 (dll, secptr1 + 16);
++# unsigned long fptr = pe_get32 (dll, secptr1 + 20);
++# lseek(dll, secptr1, SEEK_SET);
++# read(dll, sname, 8);
++# if (vaddr <= export_rva && vaddr+vsize > export_rva)
++# {
++# expptr = fptr + (export_rva - vaddr);
++# if (export_rva + export_size > vaddr + vsize)
++# export_size = vsize - (export_rva - vaddr);
++# break;
++# }
++# }
++#
++# expdata = (unsigned char*)malloc(export_size);
++# lseek (dll, expptr, SEEK_SET);
++# read (dll, expdata, export_size);
++# erva = expdata - export_rva;
++#
++# nexp = pe_as32 (expdata+24);
++# name_rvas = pe_as32 (expdata+32);
++#
++# printf ("EXPORTS\n");
++# for (i = 0; i<nexp; i++)
++# {
++# unsigned long name_rva = pe_as32 (erva+name_rvas+i*4);
++# printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i);
++# }
++#
++# return 0;
++# }
++# /* impgen.c ends here */
++ ;;
++ *)
++ allow_undefined=yes
++ ;;
++ esac
++ compile_command="$CC"
++ finalize_command="$CC"
++
++ compile_rpath=
++ finalize_rpath=
++ compile_shlibpath=
++ finalize_shlibpath=
++ convenience=
++ old_convenience=
++ deplibs=
++ linkopts=
++
++ if test -n "$shlibpath_var"; then
++ # get the directories listed in $shlibpath_var
++ eval lib_search_path=\`\$echo \"X \${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
++ else
++ lib_search_path=
++ fi
++ # now prepend the system-specific ones
++ eval lib_search_path=\"$sys_lib_search_path_spec\$lib_search_path\"
++ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
++
++ avoid_version=no
++ dlfiles=
++ dlprefiles=
++ dlself=no
++ export_dynamic=no
++ export_symbols=
++ export_symbols_regex=
++ generated=
++ libobjs=
++ link_against_libtool_libs=
++ ltlibs=
++ module=no
++ objs=
++ prefer_static_libs=no
++ preload=no
++ prev=
++ prevarg=
++ release=
++ rpath=
++ xrpath=
++ perm_rpath=
++ temp_rpath=
++ thread_safe=no
++ vinfo=
++
++ # We need to know -static, to get the right output filenames.
++ for arg
++ do
++ case "$arg" in
++ -all-static | -static)
++ if test "X$arg" = "X-all-static"; then
++ if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
++ $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
++ fi
++ if test -n "$link_static_flag"; then
++ dlopen_self=$dlopen_self_static
++ fi
++ else
++ if test -z "$pic_flag" && test -n "$link_static_flag"; then
++ dlopen_self=$dlopen_self_static
++ fi
++ fi
++ build_libtool_libs=no
++ build_old_libs=yes
++ prefer_static_libs=yes
++ break
++ ;;
++ esac
++ done
++
++ # See if our shared archives depend on static archives.
++ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
++
++ # Go through the arguments, transforming them on the way.
++ while test $# -gt 0; do
++ arg="$1"
++ shift
++
++ # If the previous option needs an argument, assign it.
++ if test -n "$prev"; then
++ case "$prev" in
++ output)
++ compile_command="$compile_command @OUTPUT@"
++ finalize_command="$finalize_command @OUTPUT@"
++ ;;
++ esac
++
++ case "$prev" in
++ dlfiles|dlprefiles)
++ if test "$preload" = no; then
++ # Add the symbol object into the linking commands.
++ compile_command="$compile_command @SYMFILE@"
++ finalize_command="$finalize_command @SYMFILE@"
++ preload=yes
++ fi
++ case "$arg" in
++ *.la | *.lo) ;; # We handle these cases below.
++ force)
++ if test "$dlself" = no; then
++ dlself=needless
++ export_dynamic=yes
++ fi
++ prev=
++ continue
++ ;;
++ self)
++ if test "$prev" = dlprefiles; then
++ dlself=yes
++ elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
++ dlself=yes
++ else
++ dlself=needless
++ export_dynamic=yes
++ fi
++ prev=
++ continue
++ ;;
++ *)
++ if test "$prev" = dlfiles; then
++ dlfiles="$dlfiles $arg"
++ else
++ dlprefiles="$dlprefiles $arg"
++ fi
++ prev=
++ ;;
++ esac
++ ;;
++ expsyms)
++ export_symbols="$arg"
++ if test ! -f "$arg"; then
++ $echo "$modename: symbol file \`$arg' does not exist"
++ exit 1
++ fi
++ prev=
++ continue
++ ;;
++ expsyms_regex)
++ export_symbols_regex="$arg"
++ prev=
++ continue
++ ;;
++ release)
++ release="-$arg"
++ prev=
++ continue
++ ;;
++ rpath | xrpath)
++ # We need an absolute path.
++ case "$arg" in
++ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ *)
++ $echo "$modename: only absolute run-paths are allowed" 1>&2
++ exit 1
++ ;;
++ esac
++ if test "$prev" = rpath; then
++ case "$rpath " in
++ *" $arg "*) ;;
++ *) rpath="$rpath $arg" ;;
++ esac
++ else
++ case "$xrpath " in
++ *" $arg "*) ;;
++ *) xrpath="$xrpath $arg" ;;
++ esac
++ fi
++ prev=
++ continue
++ ;;
++ *)
++ eval "$prev=\"\$arg\""
++ prev=
++ continue
++ ;;
++ esac
++ fi
++
++ prevarg="$arg"
++
++ case "$arg" in
++ -all-static)
++ if test -n "$link_static_flag"; then
++ compile_command="$compile_command $link_static_flag"
++ finalize_command="$finalize_command $link_static_flag"
++ fi
++ continue
++ ;;
++
++ -allow-undefined)
++ # FIXME: remove this flag sometime in the future.
++ $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
++ continue
++ ;;
++
++ -avoid-version)
++ avoid_version=yes
++ continue
++ ;;
++
++ -dlopen)
++ prev=dlfiles
++ continue
++ ;;
++
++ -dlpreopen)
++ prev=dlprefiles
++ continue
++ ;;
++
++ -export-dynamic)
++ export_dynamic=yes
++ continue
++ ;;
++
++ -export-symbols | -export-symbols-regex)
++ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
++ $echo "$modename: not more than one -exported-symbols argument allowed"
++ exit 1
++ fi
++ if test "X$arg" = "X-export-symbols"; then
++ prev=expsyms
++ else
++ prev=expsyms_regex
++ fi
++ continue
++ ;;
++
++ -L*)
++ dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
++ # We need an absolute path.
++ case "$dir" in
++ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ *)
++ absdir=`cd "$dir" && pwd`
++ if test -z "$absdir"; then
++ $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
++ $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
++ absdir="$dir"
++ fi
++ dir="$absdir"
++ ;;
++ esac
++ case " $deplibs " in
++ *" $arg "*) ;;
++ *) deplibs="$deplibs $arg";;
++ esac
++ case " $lib_search_path " in
++ *" $dir "*) ;;
++ *) lib_search_path="$lib_search_path $dir";;
++ esac
++ case "$host" in
++ *-*-cygwin* | *-*-mingw* | *-*-os2*)
++ dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
++ case ":$dllsearchpath:" in
++ ::) dllsearchpath="$dllsearchdir";;
++ *":$dllsearchdir:"*) ;;
++ *) dllsearchpath="$dllsearchpath:$dllsearchdir";;
++ esac
++ ;;
++ esac
++ ;;
++
++ -l*)
++ if test "$arg" = "-lc"; then
++ case "$host" in
++ *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
++ # These systems don't actually have c library (as such)
++ continue
++ ;;
++ esac
++ elif test "$arg" = "-lm"; then
++ case "$host" in
++ *-*-cygwin* | *-*-beos*)
++ # These systems don't actually have math library (as such)
++ continue
++ ;;
++ esac
++ fi
++ deplibs="$deplibs $arg"
++ ;;
++
++ -module)
++ module=yes
++ continue
++ ;;
++
++ -no-undefined)
++ allow_undefined=no
++ continue
++ ;;
++
++ -o) prev=output ;;
++
++ -release)
++ prev=release
++ continue
++ ;;
++
++ -rpath)
++ prev=rpath
++ continue
++ ;;
++
++ -R)
++ prev=xrpath
++ continue
++ ;;
++
++ -R*)
++ dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
++ # We need an absolute path.
++ case "$dir" in
++ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ *)
++ $echo "$modename: only absolute run-paths are allowed" 1>&2
++ exit 1
++ ;;
++ esac
++ case "$xrpath " in
++ *" $dir "*) ;;
++ *) xrpath="$xrpath $dir" ;;
++ esac
++ continue
++ ;;
++
++ -static)
++ # If we have no pic_flag, then this is the same as -all-static.
++ if test -z "$pic_flag" && test -n "$link_static_flag"; then
++ compile_command="$compile_command $link_static_flag"
++ finalize_command="$finalize_command $link_static_flag"
++ fi
++ continue
++ ;;
++
++ -thread-safe)
++ thread_safe=yes
++ continue
++ ;;
++
++ -version-info)
++ prev=vinfo
++ continue
++ ;;
++
++ # Some other compiler flag.
++ -* | +*)
++ # Unknown arguments in both finalize_command and compile_command need
++ # to be aesthetically quoted because they are evaled later.
++ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
++ case "$arg" in
++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
++ arg="\"$arg\""
++ ;;
++ esac
++ ;;
++
++ *.o | *.obj | *.a | *.lib)
++ # A standard object.
++ objs="$objs $arg"
++ ;;
++
++ *.lo)
++ # A library object.
++ if test "$prev" = dlfiles; then
++ dlfiles="$dlfiles $arg"
++ if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then
++ prev=
++ continue
++ else
++ # If libtool objects are unsupported, then we need to preload.
++ prev=dlprefiles
++ fi
++ fi
++
++ if test "$prev" = dlprefiles; then
++ # Preload the old-style object.
++ dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"`
++ prev=
++ fi
++ libobjs="$libobjs $arg"
++ ;;
++
++ *.la)
++ # A libtool-controlled library.
++
++ dlname=
++ libdir=
++ library_names=
++ old_library=
++
++ # Check to see that this really is a libtool archive.
++ if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
++ else
++ $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2
++ exit 1
++ fi
++
++ # If the library was installed with an old release of libtool,
++ # it will not redefine variable installed.
++ installed=yes
++
++ # Read the .la file
++ # If there is no directory component, then add one.
++ case "$arg" in
++ */* | *\\*) . $arg ;;
++ *) . ./$arg ;;
++ esac
++
++ # Get the name of the library we link against.
++ linklib=
++ for l in $old_library $library_names; do
++ linklib="$l"
++ done
++
++ if test -z "$linklib"; then
++ $echo "$modename: cannot find name of link library for \`$arg'" 1>&2
++ exit 1
++ fi
++
++ # Find the relevant object directory and library name.
++ name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'`
++
++ if test "X$installed" = Xyes; then
++ dir="$libdir"
++ else
++ dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
++ if test "X$dir" = "X$arg"; then
++ dir="$objdir"
++ else
++ dir="$dir/$objdir"
++ fi
++ fi
++
++ if test -n "$dependency_libs"; then
++ # Extract -R and -L from dependency_libs
++ temp_deplibs=
++ for deplib in $dependency_libs; do
++ case "$deplib" in
++ -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
++ case " $rpath $xrpath " in
++ *" $temp_xrpath "*) ;;
++ *) xrpath="$xrpath $temp_xrpath";;
++ esac;;
++ -L*) case "$compile_command $temp_deplibs " in
++ *" $deplib "*) ;;
++ *) temp_deplibs="$temp_deplibs $deplib";;
++ esac
++ temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'`
++ case " $lib_search_path " in
++ *" $temp_dir "*) ;;
++ *) lib_search_path="$lib_search_path $temp_dir";;
++ esac
++ ;;
++ *) temp_deplibs="$temp_deplibs $deplib";;
++ esac
++ done
++ dependency_libs="$temp_deplibs"
++ fi
++
++ if test -z "$libdir"; then
++ # It is a libtool convenience library, so add in its objects.
++ convenience="$convenience $dir/$old_library"
++ old_convenience="$old_convenience $dir/$old_library"
++ deplibs="$deplibs$dependency_libs"
++ compile_command="$compile_command $dir/$old_library$dependency_libs"
++ finalize_command="$finalize_command $dir/$old_library$dependency_libs"
++ continue
++ fi
++
++ # This library was specified with -dlopen.
++ if test "$prev" = dlfiles; then
++ dlfiles="$dlfiles $arg"
++ if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then
++ # If there is no dlname, no dlopen support or we're linking statically,
++ # we need to preload.
++ prev=dlprefiles
++ else
++ # We should not create a dependency on this library, but we
++ # may need any libraries it requires.
++ compile_command="$compile_command$dependency_libs"
++ finalize_command="$finalize_command$dependency_libs"
++ prev=
++ continue
++ fi
++ fi
++
++ # The library was specified with -dlpreopen.
++ if test "$prev" = dlprefiles; then
++ # Prefer using a static library (so that no silly _DYNAMIC symbols
++ # are required to link).
++ if test -n "$old_library"; then
++ dlprefiles="$dlprefiles $dir/$old_library"
++ else
++ dlprefiles="$dlprefiles $dir/$linklib"
++ fi
++ prev=
++ fi
++
++ if test -n "$library_names" &&
++ { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
++ link_against_libtool_libs="$link_against_libtool_libs $arg"
++ if test -n "$shlibpath_var"; then
++ # Make sure the rpath contains only unique directories.
++ case "$temp_rpath " in
++ *" $dir "*) ;;
++ *) temp_rpath="$temp_rpath $dir" ;;
++ esac
++ fi
++
++ # We need an absolute path.
++ case "$dir" in
++ [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;;
++ *)
++ absdir=`cd "$dir" && pwd`
++ if test -z "$absdir"; then
++ $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
++ $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
++ absdir="$dir"
++ fi
++ ;;
++ esac
++
++ # This is the magic to use -rpath.
++ # Skip directories that are in the system default run-time
++ # search path, unless they have been requested with -R.
++ case " $sys_lib_dlsearch_path " in
++ *" $absdir "*) ;;
++ *)
++ case "$compile_rpath " in
++ *" $absdir "*) ;;
++ *) compile_rpath="$compile_rpath $absdir"
++ esac
++ ;;
++ esac
++
++ case " $sys_lib_dlsearch_path " in
++ *" $libdir "*) ;;
++ *)
++ case "$finalize_rpath " in
++ *" $libdir "*) ;;
++ *) finalize_rpath="$finalize_rpath $libdir"
++ esac
++ ;;
++ esac
++
++ lib_linked=yes
++ case "$hardcode_action" in
++ immediate | unsupported)
++ if test "$hardcode_direct" = no; then
++ compile_command="$compile_command $dir/$linklib"
++ deplibs="$deplibs $dir/$linklib"
++ case "$host" in
++ *-*-cygwin* | *-*-mingw* | *-*-os2*)
++ dllsearchdir=`cd "$dir" && pwd || echo "$dir"`
++ if test -n "$dllsearchpath"; then
++ dllsearchpath="$dllsearchpath:$dllsearchdir"
++ else
++ dllsearchpath="$dllsearchdir"
++ fi
++ ;;
++ esac
++ elif test "$hardcode_minus_L" = no; then
++ case "$host" in
++ *-*-sunos*)
++ compile_shlibpath="$compile_shlibpath$dir:"
++ ;;
++ esac
++ case "$compile_command " in
++ *" -L$dir "*) ;;
++ *) compile_command="$compile_command -L$dir";;
++ esac
++ compile_command="$compile_command -l$name"
++ deplibs="$deplibs -L$dir -l$name"
++ elif test "$hardcode_shlibpath_var" = no; then
++ case ":$compile_shlibpath:" in
++ *":$dir:"*) ;;
++ *) compile_shlibpath="$compile_shlibpath$dir:";;
++ esac
++ compile_command="$compile_command -l$name"
++ deplibs="$deplibs -l$name"
++ else
++ lib_linked=no
++ fi
++ ;;
++
++ relink)
++ if test "$hardcode_direct" = yes; then
++ compile_command="$compile_command $absdir/$linklib"
++ deplibs="$deplibs $absdir/$linklib"
++ elif test "$hardcode_minus_L" = yes; then
++ case "$compile_command " in
++ *" -L$absdir "*) ;;
++ *) compile_command="$compile_command -L$absdir";;
++ esac
++ compile_command="$compile_command -l$name"
++ deplibs="$deplibs -L$absdir -l$name"
++ elif test "$hardcode_shlibpath_var" = yes; then
++ case ":$compile_shlibpath:" in
++ *":$absdir:"*) ;;
++ *) compile_shlibpath="$compile_shlibpath$absdir:";;
++ esac
++ compile_command="$compile_command -l$name"
++ deplibs="$deplibs -l$name"
++ else
++ lib_linked=no
++ fi
++ ;;
++
++ *)
++ lib_linked=no
++ ;;
++ esac
++
++ if test "$lib_linked" != yes; then
++ $echo "$modename: configuration error: unsupported hardcode properties"
++ exit 1
++ fi
++
++ # Finalize command for both is simple: just hardcode it.
++ if test "$hardcode_direct" = yes; then
++ finalize_command="$finalize_command $libdir/$linklib"
++ elif test "$hardcode_minus_L" = yes; then
++ case "$finalize_command " in
++ *" -L$libdir "*) ;;
++ *) finalize_command="$finalize_command -L$libdir";;
++ esac
++ finalize_command="$finalize_command -l$name"
++ elif test "$hardcode_shlibpath_var" = yes; then
++ case ":$finalize_shlibpath:" in
++ *":$libdir:"*) ;;
++ *) finalize_shlibpath="$finalize_shlibpath$libdir:";;
++ esac
++ finalize_command="$finalize_command -l$name"
++ else
++ # We cannot seem to hardcode it, guess we'll fake it.
++ case "$finalize_command " in
++ *" -L$dir "*) ;;
++ *) finalize_command="$finalize_command -L$libdir";;
++ esac
++ finalize_command="$finalize_command -l$name"
++ fi
++ else
++ # Transform directly to old archives if we don't build new libraries.
++ if test -n "$pic_flag" && test -z "$old_library"; then
++ $echo "$modename: cannot find static library for \`$arg'" 1>&2
++ exit 1
++ fi
++
++ # Here we assume that one of hardcode_direct or hardcode_minus_L
++ # is not unsupported. This is valid on all known static and
++ # shared platforms.
++ if test "$hardcode_direct" != unsupported; then
++ test -n "$old_library" && linklib="$old_library"
++ compile_command="$compile_command $dir/$linklib"
++ finalize_command="$finalize_command $dir/$linklib"
++ else
++ case "$compile_command " in
++ *" -L$dir "*) ;;
++ *) compile_command="$compile_command -L$dir";;
++ esac
++ compile_command="$compile_command -l$name"
++ case "$finalize_command " in
++ *" -L$dir "*) ;;
++ *) finalize_command="$finalize_command -L$dir";;
++ esac
++ finalize_command="$finalize_command -l$name"
++ fi
++ fi
++
++ # Add in any libraries that this one depends upon.
++ compile_command="$compile_command$dependency_libs"
++ finalize_command="$finalize_command$dependency_libs"
++ continue
++ ;;
++
++ # Some other compiler argument.
++ *)
++ # Unknown arguments in both finalize_command and compile_command need
++ # to be aesthetically quoted because they are evaled later.
++ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
++ case "$arg" in
++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
++ arg="\"$arg\""
++ ;;
++ esac
++ ;;
++ esac
++
++ # Now actually substitute the argument into the commands.
++ if test -n "$arg"; then
++ compile_command="$compile_command $arg"
++ finalize_command="$finalize_command $arg"
++ fi
++ done
++
++ if test -n "$prev"; then
++ $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
++ eval arg=\"$export_dynamic_flag_spec\"
++ compile_command="$compile_command $arg"
++ finalize_command="$finalize_command $arg"
++ fi
++
++ oldlibs=
++ # calculate the name of the file, without its directory
++ outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
++ libobjs_save="$libobjs"
++
++ case "$output" in
++ "")
++ $echo "$modename: you must specify an output file" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ ;;
++
++ *.a | *.lib)
++ if test -n "$link_against_libtool_libs"; then
++ $echo "$modename: error: cannot link libtool libraries into archives" 1>&2
++ exit 1
++ fi
++
++ if test -n "$deplibs"; then
++ $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2
++ fi
++
++ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++ $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
++ fi
++
++ if test -n "$rpath"; then
++ $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
++ fi
++
++ if test -n "$xrpath"; then
++ $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
++ fi
++
++ if test -n "$vinfo"; then
++ $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2
++ fi
++
++ if test -n "$release"; then
++ $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
++ fi
++
++ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
++ $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
++ fi
++
++ # Now set the variables for building old libraries.
++ build_libtool_libs=no
++ oldlibs="$output"
++ ;;
++
++ *.la)
++ # Make sure we only generate libraries of the form `libNAME.la'.
++ case "$outputname" in
++ lib*)
++ name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
++ eval libname=\"$libname_spec\"
++ ;;
++ *)
++ if test "$module" = no; then
++ $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++ if test "$need_lib_prefix" != no; then
++ # Add the "lib" prefix for modules if required
++ name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
++ eval libname=\"$libname_spec\"
++ else
++ libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
++ fi
++ ;;
++ esac
++
++ output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
++ if test "X$output_objdir" = "X$output"; then
++ output_objdir="$objdir"
++ else
++ output_objdir="$output_objdir/$objdir"
++ fi
++
++ if test -n "$objs"; then
++ $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1
++ exit 1
++ fi
++
++ # How the heck are we supposed to write a wrapper for a shared library?
++ if test -n "$link_against_libtool_libs"; then
++ $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2
++ exit 1
++ fi
++
++ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++ $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2
++ fi
++
++ set dummy $rpath
++ if test $# -gt 2; then
++ $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
++ fi
++ install_libdir="$2"
++
++ oldlibs=
++ if test -z "$rpath"; then
++ if test "$build_libtool_libs" = yes; then
++ # Building a libtool convenience library.
++ libext=al
++ oldlibs="$output_objdir/$libname.$libext $oldlibs"
++ build_libtool_libs=convenience
++ build_old_libs=yes
++ fi
++ dependency_libs="$deplibs"
++
++ if test -n "$vinfo"; then
++ $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2
++ fi
++
++ if test -n "$release"; then
++ $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
++ fi
++ else
++
++ # Parse the version information argument.
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS=':'
++ set dummy $vinfo 0 0 0
++ IFS="$save_ifs"
++
++ if test -n "$8"; then
++ $echo "$modename: too many parameters to \`-version-info'" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ current="$2"
++ revision="$3"
++ age="$4"
++
++ # Check that each of the things are valid numbers.
++ case "$current" in
++ 0 | [1-9] | [1-9][0-9]*) ;;
++ *)
++ $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
++ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
++ exit 1
++ ;;
++ esac
++
++ case "$revision" in
++ 0 | [1-9] | [1-9][0-9]*) ;;
++ *)
++ $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
++ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
++ exit 1
++ ;;
++ esac
++
++ case "$age" in
++ 0 | [1-9] | [1-9][0-9]*) ;;
++ *)
++ $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
++ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
++ exit 1
++ ;;
++ esac
++
++ if test $age -gt $current; then
++ $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
++ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
++ exit 1
++ fi
++
++ # Calculate the version variables.
++ major=
++ versuffix=
++ verstring=
++ case "$version_type" in
++ none) ;;
++
++ irix)
++ major=`expr $current - $age + 1`
++ versuffix="$major.$revision"
++ verstring="sgi$major.$revision"
++
++ # Add in all the interfaces that we are compatible with.
++ loop=$revision
++ while test $loop != 0; do
++ iface=`expr $revision - $loop`
++ loop=`expr $loop - 1`
++ verstring="sgi$major.$iface:$verstring"
++ done
++ ;;
++
++ linux)
++ major=.`expr $current - $age`
++ versuffix="$major.$age.$revision"
++ ;;
++
++ osf)
++ major=`expr $current - $age`
++ versuffix=".$current.$age.$revision"
++ verstring="$current.$age.$revision"
++
++ # Add in all the interfaces that we are compatible with.
++ loop=$age
++ while test $loop != 0; do
++ iface=`expr $current - $loop`
++ loop=`expr $loop - 1`
++ verstring="$verstring:${iface}.0"
++ done
++
++ # Make executables depend on our current version.
++ verstring="$verstring:${current}.0"
++ ;;
++
++ sunos)
++ major=".$current"
++ versuffix=".$current.$revision"
++ ;;
++
++ freebsd-aout)
++ major=".$current"
++ versuffix=".$current.$revision";
++ ;;
++
++ freebsd-elf)
++ major=".$current"
++ versuffix=".$current";
++ ;;
++
++ windows)
++ # Like Linux, but with '-' rather than '.', since we only
++ # want one extension on Windows 95.
++ major=`expr $current - $age`
++ versuffix="-$major-$age-$revision"
++ ;;
++
++ *)
++ $echo "$modename: unknown library version type \`$version_type'" 1>&2
++ echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
++ exit 1
++ ;;
++ esac
++
++ # Clear the version info if we defaulted, and they specified a release.
++ if test -z "$vinfo" && test -n "$release"; then
++ major=
++ verstring="0.0"
++ if test "$need_version" = no; then
++ versuffix=
++ else
++ versuffix=".0.0"
++ fi
++ fi
++
++ # Remove version info from name if versioning should be avoided
++ if test "$avoid_version" = yes && test "$need_version" = no; then
++ major=
++ versuffix=
++ verstring=""
++ fi
++
++ # Check to see if the archive will have undefined symbols.
++ if test "$allow_undefined" = yes; then
++ if test "$allow_undefined_flag" = unsupported; then
++ $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
++ build_libtool_libs=no
++ build_old_libs=yes
++ fi
++ else
++ # Don't allow undefined symbols.
++ allow_undefined_flag="$no_undefined_flag"
++ fi
++
++ dependency_libs="$deplibs"
++ case "$host" in
++ *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
++ # these systems don't actually have a c library (as such)!
++ ;;
++ *)
++ # Add libc to deplibs on all other systems.
++ deplibs="$deplibs -lc"
++ ;;
++ esac
++ fi
++
++ # Create the output directory, or remove our outputs if we need to.
++ if test -d $output_objdir; then
++ $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*"
++ $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*
++ else
++ $show "$mkdir $output_objdir"
++ $run $mkdir $output_objdir
++ status=$?
++ if test $status -ne 0 && test ! -d $output_objdir; then
++ exit $status
++ fi
++ fi
++
++ # Now set the variables for building old libraries.
++ if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
++ oldlibs="$oldlibs $output_objdir/$libname.$libext"
++
++ # Transform .lo files to .o files.
++ oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
++ fi
++
++ if test "$build_libtool_libs" = yes; then
++ # Transform deplibs into only deplibs that can be linked in shared.
++ name_save=$name
++ libname_save=$libname
++ release_save=$release
++ versuffix_save=$versuffix
++ major_save=$major
++ # I'm not sure if I'm treating the release correctly. I think
++ # release should show up in the -l (ie -lgmp5) so we don't want to
++ # add it in twice. Is that correct?
++ release=""
++ versuffix=""
++ major=""
++ newdeplibs=
++ droppeddeps=no
++ case "$deplibs_check_method" in
++ pass_all)
++ # Don't check for shared/static. Everything works.
++ # This might be a little naive. We might want to check
++ # whether the library exists or not. But this is on
++ # osf3 & osf4 and I'm not really sure... Just
++ # implementing what was already the behaviour.
++ newdeplibs=$deplibs
++ ;;
++ test_compile)
++ # This code stresses the "libraries are programs" paradigm to its
++ # limits. Maybe even breaks it. We compile a program, linking it
++ # against the deplibs as a proxy for the library. Then we can check
++ # whether they linked in statically or dynamically with ldd.
++ $rm conftest.c
++ cat > conftest.c <<EOF
++ int main() { return 0; }
++EOF
++ $rm conftest
++ $C_compiler -o conftest conftest.c $deplibs
++ if test $? -eq 0 ; then
++ ldd_output=`ldd conftest`
++ for i in $deplibs; do
++ name="`expr $i : '-l\(.*\)'`"
++ # If $name is empty we are operating on a -L argument.
++ if test "$name" != "" ; then
++ libname=`eval \\$echo \"$libname_spec\"`
++ deplib_matches=`eval \\$echo \"$library_names_spec\"`
++ set dummy $deplib_matches
++ deplib_match=$2
++ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
++ newdeplibs="$newdeplibs $i"
++ else
++ droppeddeps=yes
++ echo
++ echo "*** Warning: This library needs some functionality provided by $i."
++ echo "*** I have the capability to make that library automatically link in when"
++ echo "*** you link to this library. But I can only do this if you have a"
++ echo "*** shared version of the library, which you do not appear to have."
++ fi
++ else
++ newdeplibs="$newdeplibs $i"
++ fi
++ done
++ else
++ # Error occured in the first compile. Let's try to salvage the situation:
++ # Compile a seperate program for each library.
++ for i in $deplibs; do
++ name="`expr $i : '-l\(.*\)'`"
++ # If $name is empty we are operating on a -L argument.
++ if test "$name" != "" ; then
++ $rm conftest
++ $C_compiler -o conftest conftest.c $i
++ # Did it work?
++ if test $? -eq 0 ; then
++ ldd_output=`ldd conftest`
++ libname=`eval \\$echo \"$libname_spec\"`
++ deplib_matches=`eval \\$echo \"$library_names_spec\"`
++ set dummy $deplib_matches
++ deplib_match=$2
++ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
++ newdeplibs="$newdeplibs $i"
++ else
++ droppeddeps=yes
++ echo
++ echo "*** Warning: This library needs some functionality provided by $i."
++ echo "*** I have the capability to make that library automatically link in when"
++ echo "*** you link to this library. But I can only do this if you have a"
++ echo "*** shared version of the library, which you do not appear to have."
++ fi
++ else
++ droppeddeps=yes
++ echo
++ echo "*** Warning! Library $i is needed by this library but I was not able to"
++ echo "*** make it link in! You will probably need to install it or some"
++ echo "*** library that it depends on before this library will be fully"
++ echo "*** functional. Installing it before continuing would be even better."
++ fi
++ else
++ newdeplibs="$newdeplibs $i"
++ fi
++ done
++ fi
++ ;;
++ file_magic*)
++ set dummy $deplibs_check_method
++ file_magic_regex="`expr \"$deplibs_check_method\" : \"$2 \(.*\)\"`"
++ for a_deplib in $deplibs; do
++ name="`expr $a_deplib : '-l\(.*\)'`"
++ # If $name is empty we are operating on a -L argument.
++ if test "$name" != "" ; then
++ libname=`eval \\$echo \"$libname_spec\"`
++ for i in $lib_search_path; do
++ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
++ for potent_lib in $potential_libs; do
++ # Follow soft links.
++ if ls -lLd "$potent_lib" 2>/dev/null \
++ | grep " -> " >/dev/null; then
++ continue
++ fi
++ # The statement above tries to avoid entering an
++ # endless loop below, in case of cyclic links.
++ # We might still enter an endless loop, since a link
++ # loop can be closed while we follow links,
++ # but so what?
++ potlib="$potent_lib"
++ while test -h "$potlib" 2>/dev/null; do
++ potliblink=`ls -ld $potlib | sed 's/.* -> //'`
++ case "$potliblink" in
++ [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
++ *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
++ esac
++ done
++ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
++ | sed 10q \
++ | egrep "$file_magic_regex" > /dev/null; then
++ newdeplibs="$newdeplibs $a_deplib"
++ a_deplib=""
++ break 2
++ fi
++ done
++ done
++ if test -n "$a_deplib" ; then
++ droppeddeps=yes
++ echo
++ echo "*** Warning: This library needs some functionality provided by $a_deplib."
++ echo "*** I have the capability to make that library automatically link in when"
++ echo "*** you link to this library. But I can only do this if you have a"
++ echo "*** shared version of the library, which you do not appear to have."
++ fi
++ else
++ # Add a -L argument.
++ newdeplibs="$newdeplibs $a_deplib"
++ fi
++ done # Gone through all deplibs.
++ ;;
++ none | unknown | *)
++ newdeplibs=""
++ if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
++ -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' |
++ grep . >/dev/null; then
++ echo
++ if test "X$deplibs_check_method" = "Xnone"; then
++ echo "*** Warning: inter-library dependencies are not supported in this platform."
++ else
++ echo "*** Warning: inter-library dependencies are not known to be supported."
++ fi
++ echo "*** All declared inter-library dependencies are being dropped."
++ droppeddeps=yes
++ fi
++ ;;
++ esac
++ versuffix=$versuffix_save
++ major=$major_save
++ release=$release_save
++ libname=$libname_save
++ name=$name_save
++
++ if test "$droppeddeps" = yes; then
++ if test "$module" = yes; then
++ echo
++ echo "*** Warning: libtool could not satisfy all declared inter-library"
++ echo "*** dependencies of module $libname. Therefore, libtool will create"
++ echo "*** a static module, that should work as long as the dlopening"
++ echo "*** application is linked with the -dlopen flag."
++ if test -z "$global_symbol_pipe"; then
++ echo
++ echo "*** However, this would only work if libtool was able to extract symbol"
++ echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
++ echo "*** not find such a program. So, this module is probably useless."
++ echo "*** \`nm' from GNU binutils and a full rebuild may help."
++ fi
++ if test "$build_old_libs" = no; then
++ oldlibs="$output_objdir/$libname.$libext"
++ build_libtool_libs=module
++ build_old_libs=yes
++ else
++ build_libtool_libs=no
++ fi
++ else
++ echo "*** The inter-library dependencies that have been dropped here will be"
++ echo "*** automatically added whenever a program is linked with this library"
++ echo "*** or is declared to -dlopen it."
++ fi
++ fi
++ # Done checking deplibs!
++ deplibs=$newdeplibs
++ fi
++
++ # All the library-specific variables (install_libdir is set above).
++ library_names=
++ old_library=
++ dlname=
++
++ # Test again, we may have decided not to build it any more
++ if test "$build_libtool_libs" = yes; then
++ # Get the real and link names of the library.
++ eval library_names=\"$library_names_spec\"
++ set dummy $library_names
++ realname="$2"
++ shift; shift
++
++ if test -n "$soname_spec"; then
++ eval soname=\"$soname_spec\"
++ else
++ soname="$realname"
++ fi
++
++ lib="$output_objdir/$realname"
++ for link
++ do
++ linknames="$linknames $link"
++ done
++
++ # Ensure that we have .o objects for linkers which dislike .lo
++ # (e.g. aix) incase we are running --disable-static
++ for obj in $libobjs; do
++ oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"`
++ if test ! -f $oldobj; then
++ $show "${LN_S} $obj $oldobj"
++ $run ${LN_S} $obj $oldobj || exit $?
++ fi
++ done
++
++ # Use standard objects if they are pic
++ test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++
++ # Prepare the list of exported symbols
++ if test -z "$export_symbols"; then
++ if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
++ $show "generating symbol list for \`$libname.la'"
++ export_symbols="$output_objdir/$libname.exp"
++ $run $rm $export_symbols
++ eval cmds=\"$export_symbols_cmds\"
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd" || exit $?
++ done
++ IFS="$save_ifs"
++ if test -n "$export_symbols_regex"; then
++ $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
++ $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
++ $show "$mv \"${export_symbols}T\" \"$export_symbols\""
++ $run eval '$mv "${export_symbols}T" "$export_symbols"'
++ fi
++ fi
++ fi
++
++ if test -n "$export_symbols" && test -n "$include_expsyms"; then
++ $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
++ fi
++
++ if test -n "$convenience"; then
++ if test -n "$whole_archive_flag_spec"; then
++ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
++ else
++ gentop="$output_objdir/${outputname}x"
++ $show "${rm}r $gentop"
++ $run ${rm}r "$gentop"
++ $show "mkdir $gentop"
++ $run mkdir "$gentop"
++ status=$?
++ if test $status -ne 0 && test ! -d "$gentop"; then
++ exit $status
++ fi
++ generated="$generated $gentop"
++
++ for xlib in $convenience; do
++ # Extract the objects.
++ case "$xlib" in
++ [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
++ *) xabs=`pwd`"/$xlib" ;;
++ esac
++ xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
++ xdir="$gentop/$xlib"
++
++ $show "${rm}r $xdir"
++ $run ${rm}r "$xdir"
++ $show "mkdir $xdir"
++ $run mkdir "$xdir"
++ status=$?
++ if test $status -ne 0 && test ! -d "$xdir"; then
++ exit $status
++ fi
++ $show "(cd $xdir && $AR x $xabs)"
++ $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
++
++ libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
++ done
++ fi
++ fi
++
++ if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
++ eval flag=\"$thread_safe_flag_spec\"
++ linkopts="$linkopts $flag"
++ fi
++
++ # Do each of the archive commands.
++ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
++ eval cmds=\"$archive_expsym_cmds\"
++ else
++ eval cmds=\"$archive_cmds\"
++ fi
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd" || exit $?
++ done
++ IFS="$save_ifs"
++
++ # Create links to the real library.
++ for linkname in $linknames; do
++ if test "$realname" != "$linkname"; then
++ $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
++ $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
++ fi
++ done
++
++ # If -module or -export-dynamic was specified, set the dlname.
++ if test "$module" = yes || test "$export_dynamic" = yes; then
++ # On all known operating systems, these are identical.
++ dlname="$soname"
++ fi
++ fi
++ ;;
++
++ *.lo | *.o | *.obj)
++ if test -n "$link_against_libtool_libs"; then
++ $echo "$modename: error: cannot link libtool libraries into objects" 1>&2
++ exit 1
++ fi
++
++ if test -n "$deplibs"; then
++ $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2
++ fi
++
++ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++ $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
++ fi
++
++ if test -n "$rpath"; then
++ $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
++ fi
++
++ if test -n "$xrpath"; then
++ $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
++ fi
++
++ if test -n "$vinfo"; then
++ $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
++ fi
++
++ if test -n "$release"; then
++ $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
++ fi
++
++ case "$output" in
++ *.lo)
++ if test -n "$objs"; then
++ $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
++ exit 1
++ fi
++ libobj="$output"
++ obj=`$echo "X$output" | $Xsed -e "$lo2o"`
++ ;;
++ *)
++ libobj=
++ obj="$output"
++ ;;
++ esac
++
++ # Delete the old objects.
++ $run $rm $obj $libobj
++
++ # Objects from convenience libraries. This assumes
++ # single-version convenience libraries. Whenever we create
++ # different ones for PIC/non-PIC, this we'll have to duplicate
++ # the extraction.
++ reload_conv_objs=
++ gentop=
++ # reload_cmds runs $LD directly, so let us get rid of
++ # -Wl from whole_archive_flag_spec
++ wl=
++
++ if test -n "$convenience"; then
++ if test -n "$whole_archive_flag_spec"; then
++ eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\"
++ else
++ gentop="$output_objdir/${obj}x"
++ $show "${rm}r $gentop"
++ $run ${rm}r "$gentop"
++ $show "mkdir $gentop"
++ $run mkdir "$gentop"
++ status=$?
++ if test $status -ne 0 && test ! -d "$gentop"; then
++ exit $status
++ fi
++ generated="$generated $gentop"
++
++ for xlib in $convenience; do
++ # Extract the objects.
++ case "$xlib" in
++ [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
++ *) xabs=`pwd`"/$xlib" ;;
++ esac
++ xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
++ xdir="$gentop/$xlib"
++
++ $show "${rm}r $xdir"
++ $run ${rm}r "$xdir"
++ $show "mkdir $xdir"
++ $run mkdir "$xdir"
++ status=$?
++ if test $status -ne 0 && test ! -d "$xdir"; then
++ exit $status
++ fi
++ $show "(cd $xdir && $AR x $xabs)"
++ $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
++
++ reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP`
++ done
++ fi
++ fi
++
++ # Create the old-style object.
++ reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs"
++
++ output="$obj"
++ eval cmds=\"$reload_cmds\"
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd" || exit $?
++ done
++ IFS="$save_ifs"
++
++ # Exit if we aren't doing a library object file.
++ if test -z "$libobj"; then
++ if test -n "$gentop"; then
++ $show "${rm}r $gentop"
++ $run ${rm}r $gentop
++ fi
++
++ exit 0
++ fi
++
++ if test "$build_libtool_libs" != yes; then
++ if test -n "$gentop"; then
++ $show "${rm}r $gentop"
++ $run ${rm}r $gentop
++ fi
++
++ # Create an invalid libtool object if no PIC, so that we don't
++ # accidentally link it into a program.
++ $show "echo timestamp > $libobj"
++ $run eval "echo timestamp > $libobj" || exit $?
++ exit 0
++ fi
++
++ if test -n "$pic_flag"; then
++ # Only do commands if we really have different PIC objects.
++ reload_objs="$libobjs $reload_conv_objs"
++ output="$libobj"
++ eval cmds=\"$reload_cmds\"
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd" || exit $?
++ done
++ IFS="$save_ifs"
++ else
++ # Just create a symlink.
++ $show $rm $libobj
++ $run $rm $libobj
++ $show "$LN_S $obj $libobj"
++ $run $LN_S $obj $libobj || exit $?
++ fi
++
++ if test -n "$gentop"; then
++ $show "${rm}r $gentop"
++ $run ${rm}r $gentop
++ fi
++
++ exit 0
++ ;;
++
++ # Anything else should be a program.
++ *)
++ if test -n "$vinfo"; then
++ $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
++ fi
++
++ if test -n "$release"; then
++ $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
++ fi
++
++ if test "$preload" = yes; then
++ if test "$dlopen" = unknown && test "$dlopen_self" = unknown &&
++ test "$dlopen_self_static" = unknown; then
++ $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
++ fi
++ fi
++
++ if test -n "$rpath$xrpath"; then
++ # If the user specified any rpath flags, then add them.
++ for libdir in $rpath $xrpath; do
++ # This is the magic to use -rpath.
++ case "$compile_rpath " in
++ *" $libdir "*) ;;
++ *) compile_rpath="$compile_rpath $libdir" ;;
++ esac
++ case "$finalize_rpath " in
++ *" $libdir "*) ;;
++ *) finalize_rpath="$finalize_rpath $libdir" ;;
++ esac
++ done
++ fi
++
++ # Now hardcode the library paths
++ rpath=
++ hardcode_libdirs=
++ for libdir in $compile_rpath $finalize_rpath; do
++ if test -n "$hardcode_libdir_flag_spec"; then
++ if test -n "$hardcode_libdir_separator"; then
++ if test -z "$hardcode_libdirs"; then
++ hardcode_libdirs="$libdir"
++ else
++ # Just accumulate the unique libdirs.
++ case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
++ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++ ;;
++ *)
++ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ ;;
++ esac
++ fi
++ else
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ rpath="$rpath $flag"
++ fi
++ elif test -n "$runpath_var"; then
++ case "$perm_rpath " in
++ *" $libdir "*) ;;
++ *) perm_rpath="$perm_rpath $libdir" ;;
++ esac
++ fi
++ done
++ # Substitute the hardcoded libdirs into the rpath.
++ if test -n "$hardcode_libdir_separator" &&
++ test -n "$hardcode_libdirs"; then
++ libdir="$hardcode_libdirs"
++ eval rpath=\" $hardcode_libdir_flag_spec\"
++ fi
++ compile_rpath="$rpath"
++
++ rpath=
++ hardcode_libdirs=
++ for libdir in $finalize_rpath; do
++ if test -n "$hardcode_libdir_flag_spec"; then
++ if test -n "$hardcode_libdir_separator"; then
++ if test -z "$hardcode_libdirs"; then
++ hardcode_libdirs="$libdir"
++ else
++ # Just accumulate the unique libdirs.
++ case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in
++ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
++ ;;
++ *)
++ hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
++ ;;
++ esac
++ fi
++ else
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ rpath="$rpath $flag"
++ fi
++ elif test -n "$runpath_var"; then
++ case "$finalize_perm_rpath " in
++ *" $libdir "*) ;;
++ *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
++ esac
++ fi
++ done
++ # Substitute the hardcoded libdirs into the rpath.
++ if test -n "$hardcode_libdir_separator" &&
++ test -n "$hardcode_libdirs"; then
++ libdir="$hardcode_libdirs"
++ eval rpath=\" $hardcode_libdir_flag_spec\"
++ fi
++ finalize_rpath="$rpath"
++
++ output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
++ if test "X$output_objdir" = "X$output"; then
++ output_objdir="$objdir"
++ else
++ output_objdir="$output_objdir/$objdir"
++ fi
++
++ # Create the binary in the object directory, then wrap it.
++ if test ! -d $output_objdir; then
++ $show "$mkdir $output_objdir"
++ $run $mkdir $output_objdir
++ status=$?
++ if test $status -ne 0 && test ! -d $output_objdir; then
++ exit $status
++ fi
++ fi
++
++ if test -n "$libobjs" && test "$build_old_libs" = yes; then
++ # Transform all the library objects into standard objects.
++ compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ fi
++
++ dlsyms=
++ if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
++ if test -n "$NM" && test -n "$global_symbol_pipe"; then
++ dlsyms="${outputname}S.c"
++ else
++ $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
++ fi
++ fi
++
++ if test -n "$dlsyms"; then
++ case "$dlsyms" in
++ "") ;;
++ *.c)
++ # Discover the nlist of each of the dlfiles.
++ nlist="$output_objdir/${outputname}.nm"
++
++ $show "$rm $nlist ${nlist}S ${nlist}T"
++ $run $rm "$nlist" "${nlist}S" "${nlist}T"
++
++ # Parse the name list into a source file.
++ $show "creating $output_objdir/$dlsyms"
++
++ test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
++/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
++/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
++
++#ifdef __cplusplus
++extern \"C\" {
++#endif
++
++/* Prevent the only kind of declaration conflicts we can make. */
++#define lt_preloaded_symbols some_other_symbol
++
++/* External symbol declarations for the compiler. */\
++"
++
++ if test "$dlself" = yes; then
++ $show "generating symbol list for \`$output'"
++
++ test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
++
++ # Add our own program objects to the symbol list.
++ progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
++ for arg in $progfiles; do
++ $show "extracting global C symbols from \`$arg'"
++ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
++ done
++
++ if test -n "$exclude_expsyms"; then
++ $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
++ $run eval '$mv "$nlist"T "$nlist"'
++ fi
++
++ if test -n "$export_symbols_regex"; then
++ $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T'
++ $run eval '$mv "$nlist"T "$nlist"'
++ fi
++
++ # Prepare the list of exported symbols
++ if test -z "$export_symbols"; then
++ export_symbols="$output_objdir/$output.exp"
++ $run $rm $export_symbols
++ $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
++ else
++ $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
++ $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
++ $run eval 'mv "$nlist"T "$nlist"'
++ fi
++ fi
++
++ for arg in $dlprefiles; do
++ $show "extracting global C symbols from \`$arg'"
++ name=`echo "$arg" | sed -e 's%^.*/%%'`
++ $run eval 'echo ": $name " >> "$nlist"'
++ $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
++ done
++
++ if test -z "$run"; then
++ # Make sure we have at least an empty file.
++ test -f "$nlist" || : > "$nlist"
++
++ if test -n "$exclude_expsyms"; then
++ egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
++ $mv "$nlist"T "$nlist"
++ fi
++
++ # Try sorting and uniquifying the output.
++ if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
++ :
++ else
++ grep -v "^: " < "$nlist" > "$nlist"S
++ fi
++
++ if test -f "$nlist"S; then
++ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
++ else
++ echo '/* NONE */' >> "$output_objdir/$dlsyms"
++ fi
++
++ $echo >> "$output_objdir/$dlsyms" "\
++
++#undef lt_preloaded_symbols
++
++#if defined (__STDC__) && __STDC__
++# define lt_ptr_t void *
++#else
++# define lt_ptr_t char *
++# define const
++#endif
++
++/* The mapping between symbol names and symbols. */
++const struct {
++ const char *name;
++ lt_ptr_t address;
++}
++lt_preloaded_symbols[] =
++{\
++"
++
++ sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \
++ -e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \
++ < "$nlist" >> "$output_objdir/$dlsyms"
++
++ $echo >> "$output_objdir/$dlsyms" "\
++ {0, (lt_ptr_t) 0}
++};
++
++/* This works around a problem in FreeBSD linker */
++#ifdef FREEBSD_WORKAROUND
++static const void *lt_preloaded_setup() {
++ return lt_preloaded_symbols;
++}
++#endif
++
++#ifdef __cplusplus
++}
++#endif\
++"
++ fi
++
++ pic_flag_for_symtable=
++ case "$host" in
++ # compiling the symbol table file with pic_flag works around
++ # a FreeBSD bug that causes programs to crash when -lm is
++ # linked before any other PIC object. But we must not use
++ # pic_flag when linking with -static. The problem exists in
++ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
++ *-*-freebsd2*|*-*-freebsd3.0*)
++ case "$compile_command " in
++ *" -static "*) ;;
++ *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";;
++ esac
++ esac
++
++ # Now compile the dynamic symbol file.
++ $show "(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
++ $run eval '(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
++
++ # Clean up the generated files.
++ $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
++ $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
++
++ # Transform the symbol file into the correct name.
++ compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
++ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"`
++ ;;
++ *)
++ $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
++ exit 1
++ ;;
++ esac
++ else
++ # We keep going just in case the user didn't refer to
++ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
++ # really was required.
++
++ # Nullify the symbol file.
++ compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
++ finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
++ fi
++
++ if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then
++ # Replace the output file specification.
++ compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
++ link_command="$compile_command$compile_rpath"
++
++ # We have no uninstalled library dependencies, so finalize right now.
++ $show "$link_command"
++ $run eval "$link_command"
++ status=$?
++
++ # Delete the generated files.
++ if test -n "$dlsyms"; then
++ $show "$rm $output_objdir/${outputname}S.${objext}"
++ $run $rm "$output_objdir/${outputname}S.${objext}"
++ fi
++
++ exit $status
++ fi
++
++ if test -n "$shlibpath_var"; then
++ # We should set the shlibpath_var
++ rpath=
++ for dir in $temp_rpath; do
++ case "$dir" in
++ [\\/]* | [A-Za-z]:[\\/]*)
++ # Absolute path.
++ rpath="$rpath$dir:"
++ ;;
++ *)
++ # Relative path: add a thisdir entry.
++ rpath="$rpath\$thisdir/$dir:"
++ ;;
++ esac
++ done
++ temp_rpath="$rpath"
++ fi
++
++ if test -n "$compile_shlibpath$finalize_shlibpath"; then
++ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
++ fi
++ if test -n "$finalize_shlibpath"; then
++ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
++ fi
++
++ compile_var=
++ finalize_var=
++ if test -n "$runpath_var"; then
++ if test -n "$perm_rpath"; then
++ # We should set the runpath_var.
++ rpath=
++ for dir in $perm_rpath; do
++ rpath="$rpath$dir:"
++ done
++ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
++ fi
++ if test -n "$finalize_perm_rpath"; then
++ # We should set the runpath_var.
++ rpath=
++ for dir in $finalize_perm_rpath; do
++ rpath="$rpath$dir:"
++ done
++ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
++ fi
++ fi
++
++ if test "$hardcode_action" = relink; then
++ # Fast installation is not supported
++ link_command="$compile_var$compile_command$compile_rpath"
++ relink_command="$finalize_var$finalize_command$finalize_rpath"
++
++ $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
++ $echo "$modename: \`$output' will be relinked during installation" 1>&2
++ else
++ if test "$fast_install" != no; then
++ link_command="$finalize_var$compile_command$finalize_rpath"
++ if test "$fast_install" = yes; then
++ relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
++ else
++ # fast_install is set to needless
++ relink_command=
++ fi
++ else
++ link_command="$compile_var$compile_command$compile_rpath"
++ relink_command="$finalize_var$finalize_command$finalize_rpath"
++ fi
++ fi
++
++ # Replace the output file specification.
++ link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
++
++ # Delete the old output files.
++ $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
++
++ $show "$link_command"
++ $run eval "$link_command" || exit $?
++
++ # Now create the wrapper script.
++ $show "creating $output"
++
++ # Quote the relink command for shipping.
++ if test -n "$relink_command"; then
++ relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
++ fi
++
++ # Quote $echo for shipping.
++ if test "X$echo" = "X$SHELL $0 --fallback-echo"; then
++ case "$0" in
++ [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";;
++ *) qecho="$SHELL `pwd`/$0 --fallback-echo";;
++ esac
++ qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
++ else
++ qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
++ fi
++
++ # Only actually do things if our run command is non-null.
++ if test -z "$run"; then
++ # win32 will think the script is a binary if it has
++ # a .exe suffix, so we strip it off here.
++ case $output in
++ *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
++ esac
++ $rm $output
++ trap "$rm $output; exit 1" 1 2 15
++
++ $echo > $output "\
++#! $SHELL
++
++# $output - temporary wrapper script for $objdir/$outputname
++# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
++#
++# The $output program cannot be directly executed until all the libtool
++# libraries that it depends on are installed.
++#
++# This wrapper script should never be moved out of the build directory.
++# If it is, it will not operate correctly.
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++Xsed='sed -e 1s/^X//'
++sed_quote_subst='$sed_quote_subst'
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi
++
++relink_command=\"$relink_command\"
++
++# This environment variable determines our operation mode.
++if test \"\$libtool_install_magic\" = \"$magic\"; then
++ # install mode needs the following variable:
++ link_against_libtool_libs='$link_against_libtool_libs'
++else
++ # When we are sourced in execute mode, \$file and \$echo are already set.
++ if test \"\$libtool_execute_magic\" != \"$magic\"; then
++ echo=\"$qecho\"
++ file=\"\$0\"
++ # Make sure echo works.
++ if test \"X\$1\" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++ elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
++ # Yippee, \$echo works!
++ :
++ else
++ # Restart under the correct shell, and then maybe \$echo will work.
++ exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
++ fi
++ fi\
++"
++ $echo >> $output "\
++
++ # Find the directory that this script lives in.
++ thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
++ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
++
++ # Follow symbolic links until we get to the real thisdir.
++ file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
++ while test -n \"\$file\"; do
++ destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
++
++ # If there was a directory component, then change thisdir.
++ if test \"x\$destdir\" != \"x\$file\"; then
++ case \"\$destdir\" in
++ [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;;
++ *) thisdir=\"\$thisdir/\$destdir\" ;;
++ esac
++ fi
++
++ file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
++ file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
++ done
++
++ # Try to get the absolute directory name.
++ absdir=\`cd \"\$thisdir\" && pwd\`
++ test -n \"\$absdir\" && thisdir=\"\$absdir\"
++"
++
++ if test "$fast_install" = yes; then
++ echo >> $output "\
++ program=lt-'$outputname'
++ progdir=\"\$thisdir/$objdir\"
++
++ if test ! -f \"\$progdir/\$program\" || \\
++ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
++ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
++
++ file=\"\$\$-\$program\"
++
++ if test ! -d \"\$progdir\"; then
++ $mkdir \"\$progdir\"
++ else
++ $rm \"\$progdir/\$file\"
++ fi"
++
++ echo >> $output "\
++
++ # relink executable if necessary
++ if test -n \"\$relink_command\"; then
++ if (cd \"\$thisdir\" && eval \$relink_command); then :
++ else
++ $rm \"\$progdir/\$file\"
++ exit 1
++ fi
++ fi
++
++ $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
++ { $rm \"\$progdir/\$program\";
++ $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
++ $rm \"\$progdir/\$file\"
++ fi"
++ else
++ echo >> $output "\
++ program='$outputname$exeext'
++ progdir=\"\$thisdir/$objdir\"
++"
++ fi
++
++ echo >> $output "\
++
++ if test -f \"\$progdir/\$program\"; then"
++
++ # Export our shlibpath_var if we have one.
++ if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
++ $echo >> $output "\
++ # Add our own library path to $shlibpath_var
++ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
++
++ # Some systems cannot cope with colon-terminated $shlibpath_var
++ # The second colon is a workaround for a bug in BeOS R4 sed
++ $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
++
++ export $shlibpath_var
++"
++ fi
++
++ # fixup the dll searchpath if we need to.
++ if test -n "$dllsearchpath"; then
++ $echo >> $output "\
++ # Add the dll search path components to the executable PATH
++ PATH=$dllsearchpath:\$PATH
++"
++ fi
++
++ $echo >> $output "\
++ if test \"\$libtool_execute_magic\" != \"$magic\"; then
++ # Run the actual program with our arguments.
++"
++ case $host in
++ *-*-cygwin* | *-*-mingw | *-*-os2*)
++ # win32 systems need to use the prog path for dll
++ # lookup to work
++ $echo >> $output "\
++ exec \$progdir\\\\\$program \${1+\"\$@\"}
++"
++ ;;
++ *)
++ $echo >> $output "\
++ # Export the path to the program.
++ PATH=\"\$progdir:\$PATH\"
++ export PATH
++
++ exec \$program \${1+\"\$@\"}
++"
++ ;;
++ esac
++ $echo >> $output "\
++ \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\"
++ exit 1
++ fi
++ else
++ # The program doesn't exist.
++ \$echo \"\$0: error: \$progdir/\$program does not exist\" 1>&2
++ \$echo \"This script is just a wrapper for \$program.\" 1>&2
++ echo \"See the $PACKAGE documentation for more information.\" 1>&2
++ exit 1
++ fi
++fi\
++"
++ chmod +x $output
++ fi
++ exit 0
++ ;;
++ esac
++
++ # See if we need to build an old-fashioned archive.
++ for oldlib in $oldlibs; do
++
++ if test "$build_libtool_libs" = convenience; then
++ oldobjs="$libobjs_save"
++ addlibs="$convenience"
++ build_libtool_libs=no
++ else
++ if test "$build_libtool_libs" = module; then
++ oldobjs="$libobjs_save"
++ build_libtool_libs=no
++ else
++ oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`
++ fi
++ addlibs="$old_convenience"
++ fi
++
++ if test -n "$addlibs"; then
++ gentop="$output_objdir/${outputname}x"
++ $show "${rm}r $gentop"
++ $run ${rm}r "$gentop"
++ $show "mkdir $gentop"
++ $run mkdir "$gentop"
++ status=$?
++ if test $status -ne 0 && test ! -d "$gentop"; then
++ exit $status
++ fi
++ generated="$generated $gentop"
++
++ # Add in members from convenience archives.
++ for xlib in $addlibs; do
++ # Extract the objects.
++ case "$xlib" in
++ [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;;
++ *) xabs=`pwd`"/$xlib" ;;
++ esac
++ xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'`
++ xdir="$gentop/$xlib"
++
++ $show "${rm}r $xdir"
++ $run ${rm}r "$xdir"
++ $show "mkdir $xdir"
++ $run mkdir "$xdir"
++ status=$?
++ if test $status -ne 0 && test ! -d "$xdir"; then
++ exit $status
++ fi
++ $show "(cd $xdir && $AR x $xabs)"
++ $run eval "(cd \$xdir && $AR x \$xabs)" || exit $?
++
++ oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP`
++ done
++ fi
++
++ # Do each command in the archive commands.
++ if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
++ eval cmds=\"$old_archive_from_new_cmds\"
++ else
++ # Ensure that we have .o objects in place incase we decided
++ # not to build a shared library, and have fallen back to building
++ # static libs even though --disable-static was passed!
++ for oldobj in $oldobjs; do
++ if test ! -f $oldobj; then
++ obj=`$echo "X$oldobj" | $Xsed -e "$o2lo"`
++ $show "${LN_S} $obj $oldobj"
++ $run ${LN_S} $obj $oldobj || exit $?
++ fi
++ done
++
++ eval cmds=\"$old_archive_cmds\"
++ fi
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd" || exit $?
++ done
++ IFS="$save_ifs"
++ done
++
++ if test -n "$generated"; then
++ $show "${rm}r$generated"
++ $run ${rm}r$generated
++ fi
++
++ # Now create the libtool archive.
++ case "$output" in
++ *.la)
++ old_library=
++ test "$build_old_libs" = yes && old_library="$libname.$libext"
++ $show "creating $output"
++
++ if test -n "$xrpath"; then
++ temp_xrpath=
++ for libdir in $xrpath; do
++ temp_xrpath="$temp_xrpath -R$libdir"
++ done
++ dependency_libs="$temp_xrpath $dependency_libs"
++ fi
++
++ # Only create the output if not a dry run.
++ if test -z "$run"; then
++ for installed in no yes; do
++ if test "$installed" = yes; then
++ if test -z "$install_libdir"; then
++ break
++ fi
++ output="$output_objdir/$outputname"i
++ fi
++ $rm $output
++ $echo > $output "\
++# $outputname - a libtool library file
++# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
++#
++# Please DO NOT delete this file!
++# It is necessary for linking the library.
++
++# The name that we can dlopen(3).
++dlname='$dlname'
++
++# Names of this library.
++library_names='$library_names'
++
++# The name of the static archive.
++old_library='$old_library'
++
++# Libraries that this one depends upon.
++dependency_libs='$dependency_libs'
++
++# Version information for $libname.
++current=$current
++age=$age
++revision=$revision
++
++# Is this an already installed library?
++installed=$installed
++
++# Directory that this library needs to be installed in:
++libdir='$install_libdir'\
++"
++ done
++ fi
++
++ # Do a symbolic link so that the libtool archive can be found in
++ # LD_LIBRARY_PATH before the program is installed.
++ $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
++ $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $?
++ ;;
++ esac
++ exit 0
++ ;;
++
++ # libtool install mode
++ install)
++ modename="$modename: install"
++
++ # There may be an optional sh(1) argument at the beginning of
++ # install_prog (especially on Windows NT).
++ if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then
++ # Aesthetically quote it.
++ arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
++ case "$arg" in
++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
++ arg="\"$arg\""
++ ;;
++ esac
++ install_prog="$arg "
++ arg="$1"
++ shift
++ else
++ install_prog=
++ arg="$nonopt"
++ fi
++
++ # The real first argument should be the name of the installation program.
++ # Aesthetically quote it.
++ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
++ case "$arg" in
++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
++ arg="\"$arg\""
++ ;;
++ esac
++ install_prog="$install_prog$arg"
++
++ # We need to accept at least all the BSD install flags.
++ dest=
++ files=
++ opts=
++ prev=
++ install_type=
++ isdir=no
++ stripme=
++ for arg
++ do
++ if test -n "$dest"; then
++ files="$files $dest"
++ dest="$arg"
++ continue
++ fi
++
++ case "$arg" in
++ -d) isdir=yes ;;
++ -f) prev="-f" ;;
++ -g) prev="-g" ;;
++ -m) prev="-m" ;;
++ -o) prev="-o" ;;
++ -s)
++ stripme=" -s"
++ continue
++ ;;
++ -*) ;;
++
++ *)
++ # If the previous option needed an argument, then skip it.
++ if test -n "$prev"; then
++ prev=
++ else
++ dest="$arg"
++ continue
++ fi
++ ;;
++ esac
++
++ # Aesthetically quote the argument.
++ arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
++ case "$arg" in
++ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*)
++ arg="\"$arg\""
++ ;;
++ esac
++ install_prog="$install_prog $arg"
++ done
++
++ if test -z "$install_prog"; then
++ $echo "$modename: you must specify an install program" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ if test -n "$prev"; then
++ $echo "$modename: the \`$prev' option requires an argument" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ if test -z "$files"; then
++ if test -z "$dest"; then
++ $echo "$modename: no file or destination specified" 1>&2
++ else
++ $echo "$modename: you must specify a destination" 1>&2
++ fi
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ # Strip any trailing slash from the destination.
++ dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
++
++ # Check to see that the destination is a directory.
++ test -d "$dest" && isdir=yes
++ if test "$isdir" = yes; then
++ destdir="$dest"
++ destname=
++ else
++ destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
++ test "X$destdir" = "X$dest" && destdir=.
++ destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
++
++ # Not a directory, so check to see that there is only one file specified.
++ set dummy $files
++ if test $# -gt 2; then
++ $echo "$modename: \`$dest' is not a directory" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++ fi
++ case "$destdir" in
++ [\\/]* | [A-Za-z]:[\\/]*) ;;
++ *)
++ for file in $files; do
++ case "$file" in
++ *.lo) ;;
++ *)
++ $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ ;;
++ esac
++ done
++ ;;
++ esac
++
++ # This variable tells wrapper scripts just to set variables rather
++ # than running their programs.
++ libtool_install_magic="$magic"
++
++ staticlibs=
++ future_libdirs=
++ current_libdirs=
++ for file in $files; do
++
++ # Do each installation.
++ case "$file" in
++ *.a | *.lib)
++ # Do the static libraries later.
++ staticlibs="$staticlibs $file"
++ ;;
++
++ *.la)
++ # Check to see that this really is a libtool archive.
++ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
++ else
++ $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ library_names=
++ old_library=
++ # If there is no directory component, then add one.
++ case "$file" in
++ */* | *\\*) . $file ;;
++ *) . ./$file ;;
++ esac
++
++ # Add the libdir to current_libdirs if it is the destination.
++ if test "X$destdir" = "X$libdir"; then
++ case "$current_libdirs " in
++ *" $libdir "*) ;;
++ *) current_libdirs="$current_libdirs $libdir" ;;
++ esac
++ else
++ # Note the libdir as a future libdir.
++ case "$future_libdirs " in
++ *" $libdir "*) ;;
++ *) future_libdirs="$future_libdirs $libdir" ;;
++ esac
++ fi
++
++ dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/"
++ test "X$dir" = "X$file/" && dir=
++ dir="$dir$objdir"
++
++ # See the names of the shared library.
++ set dummy $library_names
++ if test -n "$2"; then
++ realname="$2"
++ shift
++ shift
++
++ # Install the shared library and build the symlinks.
++ $show "$install_prog$stripme $dir/$realname $destdir/$realname"
++ $run eval "$install_prog$stripme $dir/$realname $destdir/$realname" || exit $?
++
++ if test $# -gt 0; then
++ # Delete the old symlinks, and create new ones.
++ for linkname
++ do
++ if test "$linkname" != "$realname"; then
++ $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
++ $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
++ fi
++ done
++ fi
++
++ # Do each command in the postinstall commands.
++ lib="$destdir/$realname"
++ eval cmds=\"$postinstall_cmds\"
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd" || exit $?
++ done
++ IFS="$save_ifs"
++ fi
++
++ # Install the pseudo-library for information purposes.
++ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++ instname="$dir/$name"i
++ $show "$install_prog $instname $destdir/$name"
++ $run eval "$install_prog $instname $destdir/$name" || exit $?
++
++ # Maybe install the static library, too.
++ test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
++ ;;
++
++ *.lo)
++ # Install (i.e. copy) a libtool object.
++
++ # Figure out destination file name, if it wasn't already specified.
++ if test -n "$destname"; then
++ destfile="$destdir/$destname"
++ else
++ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++ destfile="$destdir/$destfile"
++ fi
++
++ # Deduce the name of the destination old-style object file.
++ case "$destfile" in
++ *.lo)
++ staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
++ ;;
++ *.o | *.obj)
++ staticdest="$destfile"
++ destfile=
++ ;;
++ *)
++ $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ ;;
++ esac
++
++ # Install the libtool object if requested.
++ if test -n "$destfile"; then
++ $show "$install_prog $file $destfile"
++ $run eval "$install_prog $file $destfile" || exit $?
++ fi
++
++ # Install the old object if enabled.
++ if test "$build_old_libs" = yes; then
++ # Deduce the name of the old-style object file.
++ staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
++
++ $show "$install_prog $staticobj $staticdest"
++ $run eval "$install_prog \$staticobj \$staticdest" || exit $?
++ fi
++ exit 0
++ ;;
++
++ *)
++ # Figure out destination file name, if it wasn't already specified.
++ if test -n "$destname"; then
++ destfile="$destdir/$destname"
++ else
++ destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++ destfile="$destdir/$destfile"
++ fi
++
++ # Do a test to see if this is really a libtool program.
++ if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
++ link_against_libtool_libs=
++ relink_command=
++
++ # If there is no directory component, then add one.
++ case "$file" in
++ */* | *\\*) . $file ;;
++ *) . ./$file ;;
++ esac
++
++ # Check the variables that should have been set.
++ if test -z "$link_against_libtool_libs"; then
++ $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
++ exit 1
++ fi
++
++ finalize=yes
++ for lib in $link_against_libtool_libs; do
++ # Check to see that each library is installed.
++ libdir=
++ if test -f "$lib"; then
++ # If there is no directory component, then add one.
++ case "$lib" in
++ */* | *\\*) . $lib ;;
++ *) . ./$lib ;;
++ esac
++ fi
++ libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`"
++ if test -n "$libdir" && test ! -f "$libfile"; then
++ $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
++ finalize=no
++ fi
++ done
++
++ outputname=
++ if test "$fast_install" = no && test -n "$relink_command"; then
++ if test "$finalize" = yes && test -z "$run"; then
++ tmpdir="/tmp"
++ test -n "$TMPDIR" && tmpdir="$TMPDIR"
++ tmpdir="$tmpdir/libtool-$$"
++ if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then :
++ else
++ $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2
++ continue
++ fi
++ outputname="$tmpdir/$file"
++ # Replace the output file specification.
++ relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
++
++ $show "$relink_command"
++ if $run eval "$relink_command"; then :
++ else
++ $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
++ ${rm}r "$tmpdir"
++ continue
++ fi
++ file="$outputname"
++ else
++ $echo "$modename: warning: cannot relink \`$file'" 1>&2
++ fi
++ else
++ # Install the binary that we compiled earlier.
++ file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
++ fi
++ fi
++
++ $show "$install_prog$stripme $file $destfile"
++ $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
++ test -n "$outputname" && ${rm}r "$tmpdir"
++ ;;
++ esac
++ done
++
++ for file in $staticlibs; do
++ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++
++ # Set up the ranlib parameters.
++ oldlib="$destdir/$name"
++
++ $show "$install_prog $file $oldlib"
++ $run eval "$install_prog \$file \$oldlib" || exit $?
++
++ # Do each command in the postinstall commands.
++ eval cmds=\"$old_postinstall_cmds\"
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd" || exit $?
++ done
++ IFS="$save_ifs"
++ done
++
++ if test -n "$future_libdirs"; then
++ $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
++ fi
++
++ if test -n "$current_libdirs"; then
++ # Maybe just do a dry run.
++ test -n "$run" && current_libdirs=" -n$current_libdirs"
++ exec $SHELL $0 --finish$current_libdirs
++ exit 1
++ fi
++
++ exit 0
++ ;;
++
++ # libtool finish mode
++ finish)
++ modename="$modename: finish"
++ libdirs="$nonopt"
++ admincmds=
++
++ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
++ for dir
++ do
++ libdirs="$libdirs $dir"
++ done
++
++ for libdir in $libdirs; do
++ if test -n "$finish_cmds"; then
++ # Do each command in the finish commands.
++ eval cmds=\"$finish_cmds\"
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd" || admincmds="$admincmds
++ $cmd"
++ done
++ IFS="$save_ifs"
++ fi
++ if test -n "$finish_eval"; then
++ # Do the single finish_eval.
++ eval cmds=\"$finish_eval\"
++ $run eval "$cmds" || admincmds="$admincmds
++ $cmds"
++ fi
++ done
++ fi
++
++ # Exit here if they wanted silent mode.
++ test "$show" = : && exit 0
++
++ echo "----------------------------------------------------------------------"
++ echo "Libraries have been installed in:"
++ for libdir in $libdirs; do
++ echo " $libdir"
++ done
++ echo
++ echo "If you ever happen to want to link against installed libraries"
++ echo "in a given directory, LIBDIR, you must either use libtool, and"
++ echo "specify the full pathname of the library, or use \`-LLIBDIR'"
++ echo "flag during linking and do at least one of the following:"
++ if test -n "$shlibpath_var"; then
++ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
++ echo " during execution"
++ fi
++ if test -n "$runpath_var"; then
++ echo " - add LIBDIR to the \`$runpath_var' environment variable"
++ echo " during linking"
++ fi
++ if test -n "$hardcode_libdir_flag_spec"; then
++ libdir=LIBDIR
++ eval flag=\"$hardcode_libdir_flag_spec\"
++
++ echo " - use the \`$flag' linker flag"
++ fi
++ if test -n "$admincmds"; then
++ echo " - have your system administrator run these commands:$admincmds"
++ fi
++ if test -f /etc/ld.so.conf; then
++ echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
++ fi
++ echo
++ echo "See any operating system documentation about shared libraries for"
++ echo "more information, such as the ld(1) and ld.so(8) manual pages."
++ echo "----------------------------------------------------------------------"
++ exit 0
++ ;;
++
++ # libtool execute mode
++ execute)
++ modename="$modename: execute"
++
++ # The first argument is the command name.
++ cmd="$nonopt"
++ if test -z "$cmd"; then
++ $echo "$modename: you must specify a COMMAND" 1>&2
++ $echo "$help"
++ exit 1
++ fi
++
++ # Handle -dlopen flags immediately.
++ for file in $execute_dlfiles; do
++ if test ! -f "$file"; then
++ $echo "$modename: \`$file' is not a file" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ dir=
++ case "$file" in
++ *.la)
++ # Check to see that this really is a libtool archive.
++ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
++ else
++ $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ # Read the libtool library.
++ dlname=
++ library_names=
++
++ # If there is no directory component, then add one.
++ case "$file" in
++ */* | *\\*) . $file ;;
++ *) . ./$file ;;
++ esac
++
++ # Skip this library if it cannot be dlopened.
++ if test -z "$dlname"; then
++ # Warn if it was a shared library.
++ test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
++ continue
++ fi
++
++ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
++ test "X$dir" = "X$file" && dir=.
++
++ if test -f "$dir/$objdir/$dlname"; then
++ dir="$dir/$objdir"
++ else
++ $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
++ exit 1
++ fi
++ ;;
++
++ *.lo)
++ # Just add the directory containing the .lo file.
++ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
++ test "X$dir" = "X$file" && dir=.
++ ;;
++
++ *)
++ $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
++ continue
++ ;;
++ esac
++
++ # Get the absolute pathname.
++ absdir=`cd "$dir" && pwd`
++ test -n "$absdir" && dir="$absdir"
++
++ # Now add the directory to shlibpath_var.
++ if eval "test -z \"\$$shlibpath_var\""; then
++ eval "$shlibpath_var=\"\$dir\""
++ else
++ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
++ fi
++ done
++
++ # This variable tells wrapper scripts just to set shlibpath_var
++ # rather than running their programs.
++ libtool_execute_magic="$magic"
++
++ # Check if any of the arguments is a wrapper script.
++ args=
++ for file
++ do
++ case "$file" in
++ -*) ;;
++ *)
++ # Do a test to see if this is really a libtool program.
++ if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
++ # If there is no directory component, then add one.
++ case "$file" in
++ */* | *\\*) . $file ;;
++ *) . ./$file ;;
++ esac
++
++ # Transform arg to wrapped name.
++ file="$progdir/$program"
++ fi
++ ;;
++ esac
++ # Quote arguments (to preserve shell metacharacters).
++ file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
++ args="$args \"$file\""
++ done
++
++ if test -z "$run"; then
++ # Export the shlibpath_var.
++ eval "export $shlibpath_var"
++
++ # Restore saved enviroment variables
++ if test "${save_LC_ALL+set}" = set; then
++ LC_ALL="$save_LC_ALL"; export LC_ALL
++ fi
++ if test "${save_LANG+set}" = set; then
++ LANG="$save_LANG"; export LANG
++ fi
++
++ # Now actually exec the command.
++ eval "exec \$cmd$args"
++
++ $echo "$modename: cannot exec \$cmd$args"
++ exit 1
++ else
++ # Display what would be done.
++ eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
++ $echo "export $shlibpath_var"
++ $echo "$cmd$args"
++ exit 0
++ fi
++ ;;
++
++ # libtool uninstall mode
++ uninstall)
++ modename="$modename: uninstall"
++ rm="$nonopt"
++ files=
++
++ for arg
++ do
++ case "$arg" in
++ -*) rm="$rm $arg" ;;
++ *) files="$files $arg" ;;
++ esac
++ done
++
++ if test -z "$rm"; then
++ $echo "$modename: you must specify an RM program" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ fi
++
++ for file in $files; do
++ dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
++ test "X$dir" = "X$file" && dir=.
++ name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
++
++ rmfiles="$file"
++
++ case "$name" in
++ *.la)
++ # Possibly a libtool archive, so verify it.
++ if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
++ . $dir/$name
++
++ # Delete the libtool libraries and symlinks.
++ for n in $library_names; do
++ rmfiles="$rmfiles $dir/$n"
++ done
++ test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
++
++ $show "$rm $rmfiles"
++ $run $rm $rmfiles
++
++ if test -n "$library_names"; then
++ # Do each command in the postuninstall commands.
++ eval cmds=\"$postuninstall_cmds\"
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd"
++ done
++ IFS="$save_ifs"
++ fi
++
++ if test -n "$old_library"; then
++ # Do each command in the old_postuninstall commands.
++ eval cmds=\"$old_postuninstall_cmds\"
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS='~'
++ for cmd in $cmds; do
++ IFS="$save_ifs"
++ $show "$cmd"
++ $run eval "$cmd"
++ done
++ IFS="$save_ifs"
++ fi
++
++ # FIXME: should reinstall the best remaining shared library.
++ fi
++ ;;
++
++ *.lo)
++ if test "$build_old_libs" = yes; then
++ oldobj=`$echo "X$name" | $Xsed -e "$lo2o"`
++ rmfiles="$rmfiles $dir/$oldobj"
++ fi
++ $show "$rm $rmfiles"
++ $run $rm $rmfiles
++ ;;
++
++ *)
++ $show "$rm $rmfiles"
++ $run $rm $rmfiles
++ ;;
++ esac
++ done
++ exit 0
++ ;;
++
++ "")
++ $echo "$modename: you must specify a MODE" 1>&2
++ $echo "$generic_help" 1>&2
++ exit 1
++ ;;
++ esac
++
++ $echo "$modename: invalid operation mode \`$mode'" 1>&2
++ $echo "$generic_help" 1>&2
++ exit 1
++fi # test -z "$show_help"
++
++# We need to display help for each of the modes.
++case "$mode" in
++"") $echo \
++"Usage: $modename [OPTION]... [MODE-ARG]...
++
++Provide generalized library-building support services.
++
++ --config show all configuration variables
++ --debug enable verbose shell tracing
++-n, --dry-run display commands without modifying any files
++ --features display basic configuration information and exit
++ --finish same as \`--mode=finish'
++ --help display this help message and exit
++ --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS]
++ --quiet same as \`--silent'
++ --silent don't print informational messages
++ --version print version information
++
++MODE must be one of the following:
++
++ compile compile a source file into a libtool object
++ execute automatically set library path, then run a program
++ finish complete the installation of libtool libraries
++ install install libraries or executables
++ link create a library or an executable
++ uninstall remove libraries from an installed directory
++
++MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for
++a more detailed description of MODE."
++ exit 0
++ ;;
++
++compile)
++ $echo \
++"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
++
++Compile a source file into a libtool library object.
++
++This mode accepts the following additional options:
++
++ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
++ -static always build a \`.o' file suitable for static linking
++
++COMPILE-COMMAND is a command to be used in creating a \`standard' object file
++from the given SOURCEFILE.
++
++The output file name is determined by removing the directory component from
++SOURCEFILE, then substituting the C source code suffix \`.c' with the
++library object suffix, \`.lo'."
++ ;;
++
++execute)
++ $echo \
++"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
++
++Automatically set library path, then run a program.
++
++This mode accepts the following additional options:
++
++ -dlopen FILE add the directory containing FILE to the library path
++
++This mode sets the library path environment variable according to \`-dlopen'
++flags.
++
++If any of the ARGS are libtool executable wrappers, then they are translated
++into their corresponding uninstalled binary, and any of their required library
++directories are added to the library path.
++
++Then, COMMAND is executed, with ARGS as arguments."
++ ;;
++
++finish)
++ $echo \
++"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
++
++Complete the installation of libtool libraries.
++
++Each LIBDIR is a directory that contains libtool libraries.
++
++The commands that this mode executes may require superuser privileges. Use
++the \`--dry-run' option if you just want to see what would be executed."
++ ;;
++
++install)
++ $echo \
++"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
++
++Install executables or libraries.
++
++INSTALL-COMMAND is the installation command. The first component should be
++either the \`install' or \`cp' program.
++
++The rest of the components are interpreted as arguments to that command (only
++BSD-compatible install options are recognized)."
++ ;;
++
++link)
++ $echo \
++"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
++
++Link object files or libraries together to form another library, or to
++create an executable program.
++
++LINK-COMMAND is a command using the C compiler that you would use to create
++a program from several object files.
++
++The following components of LINK-COMMAND are treated specially:
++
++ -all-static do not do any dynamic linking at all
++ -avoid-version do not add a version suffix if possible
++ -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
++ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
++ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
++ -export-symbols SYMFILE
++ try to export only the symbols listed in SYMFILE
++ -export-symbols-regex REGEX
++ try to export only the symbols matching REGEX
++ -LLIBDIR search LIBDIR for required installed libraries
++ -lNAME OUTPUT-FILE requires the installed library libNAME
++ -module build a library that can dlopened
++ -no-undefined declare that a library does not refer to external symbols
++ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
++ -release RELEASE specify package release information
++ -rpath LIBDIR the created library will eventually be installed in LIBDIR
++ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
++ -static do not do any dynamic linking of libtool libraries
++ -version-info CURRENT[:REVISION[:AGE]]
++ specify library version info [each variable defaults to 0]
++
++All other options (arguments beginning with \`-') are ignored.
++
++Every other argument is treated as a filename. Files ending in \`.la' are
++treated as uninstalled libtool libraries, other files are standard or library
++object files.
++
++If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
++only library objects (\`.lo' files) may be specified, and \`-rpath' is
++required, except when creating a convenience library.
++
++If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
++using \`ar' and \`ranlib', or on Windows using \`lib'.
++
++If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
++is created, otherwise an executable program is created."
++ ;;
++
++uninstall)
++ $echo \
++"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
++
++Remove libraries from an installation directory.
++
++RM is the name of the program to use to delete files associated with each FILE
++(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
++to RM.
++
++If FILE is a libtool library, all the files associated with it are deleted.
++Otherwise, only FILE itself is deleted using RM."
++ ;;
++
++*)
++ $echo "$modename: invalid operation mode \`$mode'" 1>&2
++ $echo "$help" 1>&2
++ exit 1
++ ;;
++esac
++
++echo
++$echo "Try \`$modename --help' for more information about other modes."
++
++exit 0
++
++# Local Variables:
++# mode:shell-script
++# sh-indentation:2
++# End:
+--- /dev/null
++++ jpeg-6b/testimg.uu
+@@ -0,0 +1,873 @@
++begin 664 testimg.gif
++M1TE&.#=AXP"5`/<``"PJ+&F/3)DN)4=;.)=43*#)F+R,>EI;F=%238.,O]T?
++M*7)83%TL)WRK8=`Y+L]S;=K.K#8[*Y&1='%U6YET9N\U,>+HR5-U1/-06)<\
++M+6)"-4-`7W)UH)FNKU-99KJRI'23=$@_,KQ33+X[+6UG5J*+O=K3V(5`,M!$
++M/=%B77-VQ/LU6X=W9%E:.H^A=.+HW^:KIO9B9IBP?O/LW9AVGG.=5K2TZTY-
++M-_9R<:18>/H<-'5W<TPH*I9A5IA%-[R]I?O\]\/APG]WH&]@;.';JM!4;%Y2
++M8EUI38^>J(,Q*LG(L],]1F-U8%U./KX_1YV3V'F,9/!%1W5LF[E:>:>ADHEI
++M5IB^AKQR:?I4<CM,,?A&9/4K,G.<=_#>VL!@7]%(48^/W(A:3F)I9N`X,J>0
++M?8=.1(2!JKTC)$A"/OEE=\UD@2PQ+&IIEV""2).@C_?O\?F!@^2-B>!33_DK
++M2;Y$-W!J>H>$S*A325]<2LV"@ZNOW3H_-7"#64]/2,[`LDMI//(Y0+R@D;UV
++MG>&BG+F-L5%.9=W`M)F`</3.PL;)SJO+LJ.BJ)^?W=&CF?#=R8JW=Y2=WL^Q
++MI::]O,#`U+R!=9>"M&(V+;YHAM$M*IIE@N'\Y4@T+V!;:_FQK+\Q*-_=W<]T
++MDJ-OA,^/BH5<;ON.D+>?O(>#<(FMA)\]0/>?HJ>MD5-1C'N!R,?6M<O5UY"1
++MBXZ/Q>WHMTU#:H"1?G6"=*EC6<KMS(ANF("@>[R#H:A#-#<R+MZ!@ZF#IW1_
++MK3Q,/DM<1J_+EV9@E]G.Q:BPL;FTN+U58.%C87VB9<!V@G!`-F]./ZB^C>^_
++MN>$M+:AE?F&!8($Z+KY(1Z_3K*DQ)N%S<JIS9.)5:N$]1>)D=N!TBH9K?VJ/
++M8_IU?][;QI2:S/'A\JBN^*:@Q:"C\5]W2KZ^O69JLK2Z_,$Q06\M+9>QE*63
++MD:M58<B*J#0J+8:N;ZD[*]]$0*9XI.%'4*F!<6\X+[F5B&UA4SA$*O186YV4
++MQ?H\7^+OWN>SIW>57+QH8BP`````XP"5```(_P#=K=FU:]>N7;MV[=JU:]>N
++M7;MV[=JU:]>N7;MV[=JU:]>N7;O<N=OESIT[=^[<N7/GSIT[=^[6N%OC;HV[
++M7;MV[=JU:U>$71%"A`@1(D0(-&C0W`@1XD:(&R$TA%"F[$09'[IT2:-#!X4T
++M%"CF18D2)4H40(```0($*`JV)2A&T!FA:P0=>'3@Z=*E*T.&##XR^#B1(<.)
++M#!DR^,B0(4,&'QE\9,B001<=.G1&T-'EHXRR$)MV[=JU:]<N=[MV[=JU:]<N
++M=[O6K'&WQMT:=[O<N7/GSMVN32&4E2E#@,"S4*$JF;&3@(.P0K(*R2I42,R.
++M5XLZ4''SBA:)%GT*%?\RLFN-NS5K=NW:M6O7KEV;=NW:M&O7KEV[=NW:M6O7
++M+H"[=NW:M6O7+G?N=KG;Y6Z7NUWN=KG;Y0Z`NS7NUNS:M6;7KEV[(NR*L"O$
++MKCTA0J!!$^)&B!`:0H0(H2%$"`W*EIWPX4.7+CITZ*"0AF(>H'GSH@"*$@40
++M($"`L,5S@`(>'7ATX-&!ITL7/%T9=/GPD2'#B0P93F3(<"+#B0P93F3(X"-#
++M!A^H=.FB0X<.'5UW3BC;M"G$KCV[=NW:M6O7KEV[W.W:M6O-KC5KUKA;L\N=
++M.W?NW+G;M$F#LC($".2P1H.&&3.L.!R0)4M6'UF%.-69]<H-%3<23!TQTL+_
++MB)%":]:XV^5NUZY=NW;MVK5KUZY=NW:YV^5NE[M-[G:YV^5NE[M=[G:Y<^?.
++MG3MWN]RYV^5NE[M=[M:XV^5N%\`UNW;MVA5AUZX0NW:%"!$B1(@0(4*$"!$B
++MA(80-T)H"*%!V8D3/C)D@`>/#ATZ=.;%PQ8E7I0H@``!B@(H2CP4(T;H&J%K
++M!#Q=(W3I@J<K0X8,/C)D.)$APXD,&3)D.)$A0X83&7QD0`6/#ATZ=.C0T47@
++MA+(0FW9MVK5KUZY=NW;MVK5KUZXUN]:L6>-NS1IW:]SM<N?.W:9=FRPI4U:&
++M0(Y,F8288>7+W`%9LF3)*B2K#Z<=9B3,>F5J!PD\_WV,>##B;LV:-;O<K=FU
++M:]>N7;MV[=KE;I.[7>YVN=NU:]<N=YMV[=JURYV[7>YVN7/G;I>[7>YVN5NS
++M:]>N-;MV[=H58=>N71%V[=H58E>(""%"A`@1(D2($"%"A`B!!F"()AHT*#MQ
++M(DF&#/!TZ9(F#<62>/&B`(H"*`H@0(#BQ7-`9\0(72-TP=,%3Q<\'_!\9/"1
++M(<.)#!E.9,@0[42&:!E.9,APPD<&'ZATT:%#AXX(701.:`BQ:=.>/9OV[-JU
++M:]>N7;MVK=FU9LV:76O6[%JS:]>N7>[<N=NU*80E9<K*E.FQ38@07[[8K)(E
++M2Y:L0ALV%.*T8\<.6CLF'/_QT,(('B-K``!8LV:7NUUKW.URM\O=KEWNW+G;
++MY6[7+G>[W.W:Y<[=+G?NW.URM\;=&G>[=NURM\O=+G>[UNS:M6O-KEV[=NW:
++MM2O"K@B[=H78%2)$B$TA-FW:%")$B!`W;H1HHF&9LA/1HF7(H$N7-#I?4,2+
++M%R\*($"```&*`C`>"CHC=.F"IPO>"%WPX.G*`,]'A@P93F0XD>%$AA,9,IS(
++M<"+#B0P9?&3P`8\.G1%TZ-"Y<T*9ADV[]FS:M6O3KEV[=NU:LVO-KC6[UJQ9
++MLV;7FC7N=NW:Y<Z=.W>;&(2HITS9LE';I`A18<[<*EFR9,F2)0O-AE^%.(D1
++M(P;_CX<6'O`8P0,`P!IW:]:X6[/+W2YWN]SM<N=NESMW[MRY<^=NESMW[G:Y
++M<[?+W1IW[M:X6^-NS2YW:W:Y6[-KE[M=:W;MVK5FUZY=NW9%V+5KTZY=FW;M
++M"A%A4XA-(2R%"!$BQ(T;&C0H4Q8M6K0,/GSH$B$-!0H4\;!%`00(4!1`\5",
++MT#4"GBYXNG3!TZ4K@ZX,&7QD.)'A1(83&4YD`!CM1(9H&:*=R'#BA`]XNNC0
++M0>&$CJX[99:%"+%KSZ8]F_;LVA5AUZY=N];L6K-FS9HU:]:LV;5FS:XUNW:Y
++M<^=NTR9+EC0H&R7E%BM?*LP=6"5+EBQ9&V1M0+/AUZ\^_WWZ].G3P@@>3@``
++M`%CC;HV[->[6K'&WQIV[76O<K7&WQIV[70#<N5OC;HT[=VO<N5OCSAT`=^[<
++MN7.W:XV[7;O6[%KC;M<:=[MV[=JU:]>N")MV10BQ*\2N39LB;`H1(D*($#="
++MW`BA08.&>B>B1<N0(8,N772DH4`1+QZ@*(```8J'`L4(7?!TZ8('#QX\>/`R
++MZ,K@(\.)#!E.9#AQ(D.T#">B93B1X<2)##Y\9-!%APX=.M)$W`FS0,.>/2%V
++M`=RT:]>N7;MVK8FP9M>:-6LBK%D38<V:76MVK=FU9LT:=[MV;=H4PE*3(;?,
++MF&&EPIRY5;)D;=@D:\.&#7LV_/_Z!>P7,&`>\.#!`P#`&@``UNQ:X\X=@%WN
++MW+E;X\Z=.P#NUK@#X&Z-.P#N`+A;X\Z=.W?N`+@#X&Z-NS7NW*UQMV;7+G<1
++MW.U:LVO-KEV[=D78M6O7KEV;=FW:%2'$IDTA0H0($2)$B!`A-&C04*]>M"31
++M?/C0I8N.M"\HXL6+4B%*A7@HZ.B"ITL7/%VZ=.G*H,M'A@P9,IS(<"+#B0S1
++M,D0[D2':B6C1HITX<<*'+EU.Z#B1)JU6K1X+\/3YM2O$KCV[]NS:M2O"FC41
++MUD18LV;-FC5KUJS9M6;-KEUK`.YRM\N=NTV;T&@8(J02&#NL5)@[($O6A@T;
++M-OS:\*O_#S`/'CP`\X"G!1X\:P"L`;`&P!H`:]:X6[-F#0!W`-8`<`<`@+LU
++M[@``<`?`'0``[M8`6`/`W1IW[MRM<>=NC3MW`-RM<;?&W2YWN];LVK5KUZY=
++MNW9MVK4KPJ9=FW9MBK`I1(@0(="$T!#"DB5+]>I%BY8A0P8?NG31H4,G7KQX
++M4>+%BX=BA"X?NC+HR@`O`[P,&3)DR)#A1(83)TZ<B)8A6K0,)Z)E.)'A1(83
++M/GSHDB:-CC1I[&I98[&#A(<^?="@V;5KUZY=:W;MBK!FS9HU:]9$6+-FUYHU
++M:W:M6;-KS9I=[C9MVA3"R+97L+Z!`:/"G+E5LF1MV+!A`S`/_P"9T*)%BQ83
++M,<#PX%FP!L`:`&L`K'&WQMT:=^X`N`,`P!T``.X`N`,`P!T`=VL`N%L#P!T`
++M=VO<N5OC;HT[=VO<N5OC;HV[-;MVK7&WQIV[->YV[=JU:]>N7;LV1=BT:].N
++M39LV;0H1(D2($"$LA;!4KUZT:-%.9,@`3Y<N.G10H(@7+UX\%'1TZ<J@RT<&
++M71DRZ,J@*T.&#"<RG,AP(D.T#">BG8@6[42T$R=.G#CAPX>N.[KHB+CSS]JA
++M0RPF'`'6YP::/2$B[%H38<V:-6O6K%FS9LV:-6O6[%JS:\VN-;O6[-KESMVN
++M72&,[#"C#Q:D!*Q4J#!W8%6A0A[$,/^AY6O6K%FT:$TX@@</'@!K``!8`V`-
++M@#4`U@````"`.X``````````````U@```````````````&#-&@!KU@!8XV[-
++M&G=KW+ESM\:=NS7NUKA;XVZ7NUV[=FW:M6G7KETA=FW:%6)3B$TA0H2P%"*$
++M)4N6+*6+EB1#A@P^,NC2I8L.'10HXB%`08>.CPP^=&7(D"%#A@P9,F3(D.'$
++MB1,9HIV(%BU#M&@GHD4[<>*$CQ,$?/BX(^V.B%K6Z)%Y18N6F"-]?MU`LR?"
++MKC6[UNQ:L\;=FEUK=JW9M6;-FC5K=JU9XV[-FEWNW.W:A(;3CE=(8'U+P"J!
++MKUD):-'R!8W_UBQ<2$XAP35K%I,C+5K@60-@S1H`:P"L<;?&'0``[@``````
++M````````````````````````````````<`?`'4``:]RM<0=@C;LU[M:X6^-N
++MC;LU[M:XV[5KUZY=NW9MVK5IUZ9=FW9MVA1BTZ80FT)LVF3)4KUHT:*=R)#!
++M1P8?NG31H4,'`0H1='3IRN`C@X\,&71ER)`A0X8,)S)$RQ`M0[0,T:)%BQ8M
++MVHEH)TZ4.5'&AZX[NNZPJT6/C(M7N&C1$@.L3Y]?:/9$6+-KS9HU`-:L<;<&
++MP)HU[M:X6^-NS1IW:]RM<>?.W:Y=-X[02O`*"9($"9!T0-(!"1)<_TAF<4&B
++M3ITZ)+AFT?+0HDF+-6O6`%CC;HV[-0#6`%@#````````````````````````
++M``````````````````#6``"PQMT:`.[6N%OC#@``=P``N%OC;I>[79MV;=JU
++M">"N7;LV[=JT:].N$)LVA0BQ*<2F398L6:H7[42&##Y09<C@0Y<N.G3HT*&C
++M2U<&'QE\9,B0(4.&#!E.9#AQXD2T$QF21(L6+5JT:-%.1#MQXD29,C[*^+AS
++MAUTM:Q+6N7'A9A8M)D?P`,N"!E^$76MV`7`'P)T[=VO<N5OC;HV[->[6N%NS
++M:XV[7>[<N=OU2XRI6:^0()F%Y%0'258ZJ/_KH.[4J5/JU*G#A6L6DS\M;K18
++MLV;-FC5KW*U9`V"-NS7N`*P!````````````````````````````````````
++M`````'<`UK@#X`Z`.P#N``!8XVZ-.P"[W.W:M6M7A%V[-NW:M,O=IEV;=FW:
++M%6+7IA";0FS:9,E2O7K13IPX`3"#CPP^?/C0I4N7"%VZ=&7(D"%#A@P93F3(
++MD"'#B0S1,D2+%BU:M`S1HD6+%BW:"64GRIPH4\8'*@)W:EFC)\&%FU.XN-"B
++M)>9(BSZ_\.W9LVN-NS4`W*UQYVZ-.W<`W*UQMV:7.W=KUJQQY\Z=NUTWCO"9
++MY<8-$B2G.A10I$C_D:("!4YU>'1*W:E3LT`P:7&CQ8TU:P"L6;-FS1IW[M:L
++M<;=FC;LU````````````````````````````````````````6`/`W1H`[@``
++M<`<```!W`-RM<;=FE[M=FW9MVK5IUZY=FW;QV+5KTZY=N_;LV15BTZ9-FRQ9
++MJA<M6K0,)S*<R.##1P8?\'3ITI7!1P8?)S*<R)#A1(83&3)$`Y@A6K1H&:)%
++MBQ8M6I)HT:*=.%&F3)DR/LKX8,>N%CTR;F2<.H5KUBQ:$Y@<`0;LQIX]$7;M
++M`N#.G3MW[MRY`^`.@#L`[@"L<0?`'0!W[MRYBX"O!9]9+MS@PN7&2H$"_].F
++M32M@Y=2I4Z=.G<(UBQL38#>RW`"P9LV:76O<K=FUQMT:=VO<K7'GSAT`````
++M``````````````````````````````````#6N%L#8(T[`````'#GSIT[=^YV
++M[=JU:]>N3;MV;=KE;M,N=YMV;=H58M>N/;OV[-JTB8$E2_7J13MQXH2/$R<R
++M9,B009<N'SXRG,B0(<.)#"=.9(B6(=J))!FB18L6+5JT:-%.U#MQ0MF),B?*
++ME"E3AD"/'H<.`5SGQLTI7+APS:(%#=J1(\#Z9-D389<[=^X`N','````=^X`
++MN'/GSIV[->[6N'/GSIV["%E:\($RRX4;7*<>%?\H4*!`@0*/3IUZ=.K4*2[<
++M:!T!EN4&FEUKW*U9XV[-KC6[=NW:M<O=KEV[=KD#````````````````````
++M`````````````*QQMV;-&@!KW*U9X\Z=NS7N=NW:M6O7KDV[-NW:M6G7KEV;
++M=KG;Y&[3KDV[-D78%6'7KET\>/!@8$F#LF@G3IS(D"%#M`P9?&3PD2%#A@P9
++M3F2(=N)$M!,G,D3+$"U:M&C1E-53IJS>B6@GRI0I4Z9,&1\$>FP[9,H%+C>G
++MW)Q"@HL+"&[0F%PX<@38C1`1=KESY\Z=.P````(```"`.P#NW+ES!\`=``#N
++MW*UQ%Z$%'R@N7+AP<0K_UR,K!:P\.G7JU*E3N$[AF@6%R1%@-[*$6+-FS:XU
++MN];LVK5KUZY=NW;M<K?+W2YW[@"X`P!@#0```````.`.@#L```````#`'8`U
++M:]RM<;<&P!IW:];L<K?+W:Y=NS;M"K%KTYY-NW;MVK3+W:Y-[C;MXK%ITZX]
++MNW9MVL5C$P\&EBQI4*;LQ(D,)S)DR!#MQ(D3)TZ<R)`APXD3)Z*=.''B1+03
++MT:)%JQ>M7CUET>K54W;BQ(DR9<J4*4.@!PM3LW#A.N7FE)M3N+APX<8-&C0F
++M1X#U^15BDSMW[@```````````-RY<^?.'0!W````6./.W9H(+29`D3`+EPMD
++M_P#?G7JDSHJZ4^]P-<!U"A<N$-R@'0&6!<V>7;O6[%JS:]>:"+LB[(JP:]>N
++M7>YVN=NUR]T:=VO<K0$```````#<`7`'````=^[6K'&WQMT:=VO<K7&WQIV[
++M7>YV[=JT:]>F79LB;-H58M>F7;LVN=NU:]>F79MX;.+!8Q,/=YO<;=K$P)*E
++M>LKJG3AQ(D.T:!E.G#CAXX2/$QE.G#AQXL2):!FB98@6+5JT$]&415-V0EFT
++M:"?*E#E1IDP9'P0RL3`U"Q>N4Z=.G4*""Q<(;MR@08,&[<(18+_P15@#````
++M``#<`7`'P!T`````````8`V`76L``(AP8P(4*/Z0X?_"A0S7NU.G&IQJ@.L4
++MEP:XN,RBQ40,L%\A(NQ:LVO-+H"[(NS:M2O"K@B[=NW:M6M7!'>[W+G;Y<Z=
++MNS5K````X`Z`.P#NW`%PM\;=FEWNUNQ:LVO-+G=K=KG;M6O7KEV;-NT*L2O$
++MI@B;=FW:M6G7KDWN-NW:M(D'#P8\>/#@L6O7KDT\&%BR5*]>M&C1HF4X<>+$
++MB1,G3IPX<>+$B0S13B3)$"U:M&C13BB+%JU>M'K*3B@[4>9$F3)ERI0)$Z8*
++M!5-09N'"=<K-*5QN<('@PH4;-V[0H#'Y`ZP/O@AK``!PY\Z=.P#N````````
++M@#4`````X,X=@%T#)O"9!07_"C(NR)#A:H`+&2Y<#;B<XH(+%RUNT(X`0[-G
++MUZX(NR)$V+5GUYY=>_;L"A%AUZ9=NW;MVK5KUZY=NW:M<;?&'4!W[MRY<^<.
++M@#MW[G:Y6[-KUYI=NW:MV;7+781=FW9MVA0AQ*80(3;MV11BUZ9=FW9M<K=I
++MUZY-NS;Q8,"`!X]=NW9MBL"``0-E]92=B'8B6K1H)TZ4.7'BQ(D3)TY$.Q$M
++M0[0,2:)%BZ9,V8EH2:*=2!=-V8D3)\J4.5&F3)A152:P8`%%`JY3N$Z=.H6+
++M"RYNW$!P`\$-&BTF1X#]"K%KESMW[MRY`P```````````````````-Q%"-%"
++M#!\H_WS\S?+'I0879%R0<6F`JP$7+KA`@*#%Y`@P-!%V15BS:\^N/;MV[=FU
++M9].>/9OV;(JP:5.$7;MV[=JU:]>N7;O<N7/GSIT[=^[<[5JS:U>$-;MV[5JS
++M:]>N7;MV;8JP"6"$$)M"A-@5(D2($)M"[-JT:].N3;LV[=JT:=,F!CP8;-H4
++M(D*$39M",+!D*5V]:$FB)8D6K=Z):&5.G#AQXL2)$]$R1$L2+5JT:">414N2
++MA,"=$]%.E%FV;-FR,F7"A"$Q80(+"H<DK)/@!M<I7+APX9IE:A:46;-`T(+&
++MY`B>&R$B\'#GSIT[`````%@#``````#<N7.W*P2:%GB83/_@PP<*-W_^N'%!
++MQH4+%RY<<.'BP@4$-VC0+@!#$V+7KCT1=NW9M6?/KCTA]H38A69/B%TA=H78
++MM2?"GEU[=NW9M6O7KEWN=NW:M6O7KEV[=NW:M6O7K@B[(NS:$R'$KA";0FP*
++M$2)$B!`A-H78%6+3KA"[-NT*L2O$KA";-FT(`7!3B$TA-FT*L6G3)@8,ZD6+
++M=@+5B1,GHD6+%NW$B1/+3IPX$2U:M&@GHIU0%NU$-`'P4O"J=:),F67+RBQ;
++ML&!!%7(36%"P]N_*%4IDUKEQ<VH6+@D29LV:!0(*"&ZTF!P!=B/$IET\W+ES
++MYV[-FC5KW+ESQX.'.QXAFK3`0V[_`CD^T-IPXU8#1`TN-;AP:8"+"Q<N($!P
++MH\7D"+`L(39%V+5GUYY=>W;MV;,KQ)X-NT+L"A$BQ)Y->S;M0K,KQ*X0NW:Y
++MV[1KUZY=NR*XV[5KUZY=NR+LVK5KUYY-(4+L"K$K1(@0(4*$"!$B1(@0(7:%
++MV!5B5XA=(7:%V+4'S:80(4)LVK3)TJ80(2Q9JA<MF@]4!%#=(>`C6K0D)S*<
++M`)@AVHEHT4XH.Z%,F;)HT:(E$:`+#JE_/LHH6[:L28L%"\)4F<""PC\O11#(
++MJ59-E`%[9,A(.$1&@@0)$F;-H@5EPH1[>&Z$8+!I$X]=N]RYV^5NDSL>/'CP
++M"-$"#XDC_Q,F\.'#)P"W&B!J<*G!A1L7+KBX@``!`@04:-`N`+N!)L2>/;OV
++M[-FS9\^N#2'VA`B!9D.(#2'VA$`3(D2(/2$V[=D4(L2F79LV;=JU:5>$7;LB
++M[(JP:U>$/;OV[(JP*4*($"%"A`@1(D0(2VA";`JQ*<2F$+M"[`JQ*\0N-&@V
++MH;&TR9(E2Y88,*A73UD9'SX(H$*%RL>=.^S8W4&5`56&$P*B)3EQ0IDR9<JB
++M14LB0`"*8](0\!)1)LRR>_=(`%QPKTJ5'O\>R(FW90Z@?1BNX>#%BU<<2I0H
++M43)`A@R90X<.5>E1IHPR9>D86.+!@T>(39LV;>+ACL<F#2WN'?\AP8</'VA\
++MN/GSQXU+#1!<N'#CPH7++"ZTN-&"QN0"L#XW;NS9M6?/KCV[-NP)$6'#'C1[
++M0J`)$6+#GA`;]FS:$"+$AA![-NT)L2M$A$T10NP*$6%7A%V[=NW:M2O$KA`1
++M0H38%")$B!`A-(1`$R)$B$U[0H38%6)7B%TA-H78M(E!O7K13I0Y4:9,&1\$
++M[ISPX4,7J@P94*'*D,&'+EVZI+&3A@H5JA,GHBE;5N9$$@%.OLR;MX1.BCLG
++MRMQKT8($"1(D>OQ+(6?>G#ESYLR9$R4*!CG7Y!P[]N#!@P</`#YXD.S!@RN7
++MO'CQ(H*=#Q\GTO%@P&/3IDTA0FAHTF+_`0ERIJ#PX<,-"C<0_OSYXP8"!)=9
++MN)#@PC6+&Q]H3(X`Z].DSZX]N_;LV8-F3X@]:$*$V(,FQ!XT:$*$0!,B!)H0
++M(4)LVK,IQ*80(3:%"!%B4X1-NT+LVA5A5X1=>W9MBK`IQ*X0(4*$T!`B1`@-
++M(4)L"A%BTYY-(?9LVA-BCX9-Z5"Q*S(E!2H?!'R($(%`FBX?J.#!@T<-GBYX
++M&3+`TT5'%S543J2)T.4C6K1T29((</)EWCP'#CR)2.$C3)4%)"94J5+EWS$,
++M40#-F3-GSHH5<P`!F@-HQ;YY^[1<PW#MVK5KU^9=TX(%2YHTUXH4N<0N'0,&
++M(4*$V+3GQHT%_P!;D)A@"@H4*%#X0($"91:(6;C<N''C1AT2-[-FT8+&Y,*?
++M/GB:[-JS:\^N/7M";-@38L,>-"$VH$$3`@V:$&A"H`F!!DV($"%";-JS*<2>
++M37M"A-@58M>N"+MV1=BU*<*N$+M"A`@1(D2($"$TA`BQ*02:32$VA=BS:4^(
++M/2%";&(0S5B1:QB,"<APPH<N:2B6T-&E2Y<N>'1TT=$%#QX\>/"H.4'G!)V3
++M+\:,94B2)(.T(MC&8,/D8`0*$;4(+"!194*5*M8>8(BR#]"^*/M6[`.T8LZ*
++M.7,`K5BQ8L6*??NT:-&R;]\^+5JT8,&"!<NU&&J,)4G'8%.($/BRW/]H<8\$
++M"R@2H$"9-0L$%"BS7+A1I4X5,4G%B!%#,HL6+8`7C@`#U@)/A%U[=NW9LR$"
++MFA!H0J!!@R8$&C1HT*!!@P8-&C0A0H0(L2G$GDTA-H78%&)3A!"[0NP*L2O$
++MK@B[0NP*$2+$IA`A0F@($2)$"$LA0FP*L6E/B$U[0NQ"LR>$I23LKEW#MN0,
++MM0P9,M"AL\0!/%WPX-%Q(DT$/%WPX,&#-V*$$Q1+1BS!)D<.G2\($,S#-L89
++MIC&8EHR@(R+,LBI5PO2H]:!:%$"``$6)$B5*E"B`5LR9LV+%OA7[]NW;IV6?
++MEGU:M&C1LD^+EGU:L&BY=DV-L1,,&(1H<B/_Q(T%)$Q)<./FU:Q9;E[->N6&
++MRH<?Y9244Y*H'#%5KV@Q87+A"#!@>"+LVK5GUYX((?;L0;,'S1XT:'ZA08,&
++M#4`T:&Z@08,&38@0(4*$"+$G1(@]F_:$V!5B5XA=NW9MBK`IPJX0$4*$"!$B
++M1(@0ED)H"!$B1(A-(3:%V+-I3X@]:#;5\V'L&C9LF#Q1HY9!0(81(]#!@P</
++M'CQ==.CH@@</'K41=%",0!$O"B!`%9R-B8=!#C9,S@`Y&(/)@2=X__X1"!.F
++MS)T'Q^1$`81MR1(4"/)AB`((T!Q`<U8`6@%HW[Y]^[3LV[=OW[Y]^_9IV:=%
++MBQ8LUV)H4^.CGJ40_R%N-"'!0H(;*E20N%E$C)BJ11\2*4GD:IB)1,,2E2N&
++M9!8T)D>.`,,#;%>$7;OV[-JS:P^:/6C0H$&#!@T:-&A^H;F!!HT&-"'0A`@1
++M(D2($"%";`H18E.(/9OV;-JS"^">71%"A-@5(D2($"$TA`@1(D2($)9";`JQ
++M:5>(72$BA-@3(D0Z=L:<H$.'SA,U>!DR9(`'+T,&>`+@P7-"!QX=7?`RC*!#
++MA\X(!V,4;-&Q9<L69V.<.1NSQ9DS!Y@<>'*2(D^M,F7N_#N&(5Z4*-A0.*"#
++M0DZ4*"L``9H#"-"^%2M6K-BW;]^^?5JT:-FG99^6?5JT8,&2!DN::J"\G/^H
++MIVQ!%5/K`GTH5HQ8L7*3RDU*-,S$IRY=/IGH8L)$HF*J7M%BPN3"D2-'UNQ9
++MLV?7KCV[]NS:@V8/&C1HT*"Y@>;&#30W;MRX@>:&!C0:T*`)$2)$B!![-NW9
++MM&?3GEV;(FR*L&M7B!`A0H0($4)#"`TA+(4(L2G$IA`A=H6(`#!"B`A[+$7S
++M4H0:-6K4J%'3I4L7/!_PJ&6`AXH:/#IT=,&#!P\>'6ET/(UP,,;9EBU;MFS9
++M4F%,A3'.QHQQ,,:!`SHC'OR[<R?%,3E1H@#"Y@#%B!&>1LP#!&@?H'U1`&D!
++MM`_0OA7[]NW;MV_?/BW[M&C!@D7+/BQITJ1)DZW_6K):818<6O>AW*1$B1(E
++M2I3(A(E/X,"]`#<#'+@NX$PD*D?LU2PF3)B(87)DUYI=N_;LVK,+S9X](?:@
++M0?/KUPTT-]#<N'$##1HT:&3UD84&S8T0(="$"+$IQ*X0NS;M"K$KQ*80>T+L
++MVK,I1(@0(4*$"!$B1(@0FS9MVA0"S:X]>_9$"*'AGS1J\.!1HP8/'CQ=NN#!
++M@T>-&K4,\'2A`JA+%SQX\$;0H4/'TP@'#AR,<59ARY8M%;94&#-FC`,'F!QX
++M\D0'`0H$QXYAB%(!4)1X\9R,@.<$'H(O\>(!`@1H7Y0H4;3LV[=/BQ8M^_;M
++MTZ(%BQ8L6K!<TX(E39I]_UBR3<DSZA"90,-,?/KTZ=,G<.#`@0/WY@V0-V_>
++M@`/7I8N)1,46O:)%:P<46K36[%JS:]>N77MV[=JS)\0O-&ANH/F%Y@::&S=N
++MW.C3QPBG0H7ZH`D1(@2:$+LVA-BU:<^F/;MV[=JU:\^F/7OVA`@1(D0(#2%"
++MA`@18M.F39OV[-FS)\0F#67NP,M`+0.U#/`RP(-'9\0(:B/@P8,'#YXN.O!T
++MP1M!APZ=$9X<.'#@P,&8,6,J;-E2H<(8!P[&`!SCP(&#$2-0H$`0!4,40("B
++MQ(N'8L0(>/#@T9&&(!Z@*%&B1(FR+TJ4*/OV:=&R;]\^+5JT:,&B!<NU-%BP
++M:/_1HF7>E"M-#E&)-,P"N!?@P($#!PX<."!O@``!`@3(FQEOP'4QD8C8HE>S
++M9KV2(&&-NS6[UNS9M6O/GA![]J#9@P;-#30W;MRX<>/&C4*<ZM1A4X>3$5EH
++M-H38L"G$KCV[]NP*L6O7KA"[]NP)L0M-B!`A-(0($2)$A!";0FS:M6L7FDV;
++M&*2+Y@,>-0'PX&40``\>/#JZ1HP8,0(>/'CPX,&#!X\.-3K24(SPY,"!`P=C
++M'(P94\'9E@I;G(UQX&#,F#'Q'#@8@<(!"A11HD2)$@4;"A0C1L"#!P\>'03Q
++M`,8#%"5*E'U1M$39IT6+EGU:M&#1@D6+%BU8L&!)@T7_BQ8L\[Z`HJ2!A8%(
++M7=Z\`?+F#;@WX-X`>0,$"!`@0-X`>?/F#;@7P\H16[3(#3$WB]RM6;-KS:Y=
++MN_;LVK5G3XA?:-#<0'/CQHT;?=#TX52'EADS0H34&6*DD*P->S9LVK!KTYY=
++M(?;LVA-BSZ8](4*$"!$BA(80(4)$"!%ASZX0>W:%V,0C71)4J.!1@Z<+'CQX
++M&>#!@T=GQ`@4(^B,&`%O!+P1\$:,H(,"A2=/#APX<S!FS!AG%;9LV5)AC#,'
++M#APXPQ3/@0,'*#R-<(!"CIQX8QR@6#("W@AX(ZC108$B7I0H&`!%B:)%R[Y]
++M^_9IT8)%"Q8L6K1HP:(%"Q8L_P"U:-&R)%LJ49:6T6N$:,8;($"`O'GSYLT;
++M($"```$"!`B0-T#>S`!G(M&/#Q^(E?M!;-<:=VO<K=FU:]>>/;O0[`FQ!PV:
++M&S=N-+FAX881,1S,P((%"Y89%5*$<3(B2Q::/;MV[=JU:]>>77MVA8@0(D2(
++M$"%"A`@1(D2($)MV[=FS:T^(39;JH4*%"AX\7?!TP8,'#QZ\$2-&C'`P`L6(
++M$=1&C!@Q8L0(%",\>7+@P-F8,6/&5*C@;$N%+16<C7&`R1FF,0[&.$`1#P4*
++M!RA0R$$Q@LZ($2-&P!LQ8L0(%"CBQ8N"`5`40!@P1-&B1<L^+5JP:-&"10L6
++M+%JT8/_!@F7>O&NI.J4JD^Z9*$3@W@`!`N0-$"!`@``!`@0($(!`W@!Y\P;(
++MFQF?AB52DJA5(B62=NW:M6O-KC6[(NS:M2?"GCTAT*"YT4?#C1M]^GBH8P;6
++M-TB,OCVQ8\>,$#9L.!4JA&;#GCV[]NS:M2M$A!`A0H0($>)&B!`A0H38M&?7
++MGC41]KC;9$F9#U34X,&#IPL>/%TCX,$;,6($'0<.'(P8,<+3B!&>/*%`@>F,
++M`P>8QCAS5J&"LPI;*FS94F&,,P<.QF`:@\F!@S$H\LE!@8(."A0C1HP8,6+$
++MB!%TZ(P8X>!+/#E1HD2)$@6#%BU:]FG9AT4+%BQ:L&#!@@7_"Q8L6K!@24.*
++M%)PI=_Z):M;E#1`@0(```0($"!`@0(```0($")`W;]Z`Z^+-A#<+GUZX:K5G
++MUZY=NW;MVK5K#\!=NT+L"8$&S8T036XTN:&ACY$Z9F`Q&A=N'"-&W\#`@N5+
++M"(<AJ_K(0K-APYX-$7:%B!`B1(@0(4*@08-FPX8-:#;\^K7AUYX0RLJ4.9$!
++M%3Q=\'3I@@</GJ<1(QPX<.!@B0,'#M`Y<.#``0H'#AR,&>/`684*SBILV;)E
++MRY8*%9PY<.#`@0,'#C`Y<.!`CIQ\"%#0H3-BQ(@1U$:,&$$'!1T4*.9]F3<O
++M7I0H&#!@P*!%BQ8M6K!@T8(%"Q8L_UC28,&B!0N6>6GF7<-0Y%\>&(C>O`$"
++M!`@0($"``'D#!`@0($#>O'GS!EP7$Y^ZO)@Q0],G5R'V1-BU:\VN7;MV[=JS
++M*T2$$"%":+BAH8^&/K(XU3'SK4.X<.'"C1LW#B"C)]^^F?$E1IB'0H4*;=BP
++M(42$$"'PA<"7)<2O7WLV;"CD08PP,9P6-%%6IH>/#!ETC=`U0A>=$=1&C!CA
++MR8&#,0X<.,"TQ($#!P[B.<#D8,P8!V.<5=A28<N6+5NV;*DP9LP8!PX<.'#@
++MP($#!PXPR8EQ3`Z=$2-&P(,W@MJ($2/H.$#Q!0$*%%_FQ8N"`0,&#!BT:-&B
++M10L6+%BP7/_#D@:+%BPQL*31@@4+%@S7O%P9A&C&FS=`@``!`@0($"!`W@!Y
++M`P3(FS?@NG3YY&C&&R!`@/#[%&)/B#V[(NS:M6O7KEV[0NP)@0;-C1L:^C1I
++MTL<(&U^P((T+%R[<N7#APH73P^@;+#-2V!PHM,I((5E[-NT)L2=$%C1[]FSX
++M!="#&'-,.`C9-FH4@1P$[F3(``^>+G@C=(W0-<+3"$\.'#@8XV#,$@=C'(P9
++M,R;>F#'Q\N'(%\59A0I;MFS9LF5+A0K.G&'"Y,"!`P<.'#APX&",@W@QY*"@
++M,P+>B!$C1HP8@<(!"@1R$(R@\R5>O"@8,&#`H`4+%BU8M&#!@@7_"Y8T6-)@
++MP8(E#9886*)HP8#EWS-1_1"]>0,$"!`@0(```?(&"!`@;X"\`=?%Q#`3,]X`
++M`0($"+]/(?:$V!4BPJX(NW;MVK5GUZ80(4*@T7"CCX8F?0H-X0`&4KAPY\Z%
++M.W?NG(UPX1@QLL.*@S!A!PYP6E5HPP8T>]"@0;,!31\/;#CX,E.)1JAG[-B)
++MD*9K!#QX\*C!@P</GB=XGCPY`.A@S)@Q8["-P88-6Q1L\<9$B3=FS)@H^:)4
++M<+9ERY8M6[94J#!FC#,'#D8X&.'`@0-,#APX0"%'CAP'U$:,&#%BQ(@1(^B@
++M0"`'@30Z*.3,DR,G'P8,&/)AP8(%"Q8L_UBP8,&2!@L6+%@P8(F1#P,6+'*\
++M]*`T"%$7<$"```$"!`@0(&^```'R!LB;-XX<#1LV8P80($"`:/H4(D2(/2%V
++MA=BU*\*N7;M"[`D1`LT--!IN:.C3Q`@G#@D@00H7[MRY<^?.G3MG(]RX)V#L
++MJ)`B3)BP548*;=BS:P\:-&B:&!E%@T8O08*273(FK<B7$2-&P(,'#QZ\$2-&
++MC'`PPH&#>/'BC1DSQH&S,?&B1!D#R($S!Y@P.8@2!5"%+5NV`-RR94N%"L[&
++M8,+DP($#!PX<.!CC`).#,0XPY$/A:<2($2-&>!KA8`0*%'(0H*`C+1Z">!CD
++MR)DG)U\^+%BP8/_1@D4+%BQIL&#!$@-+OA@Q\J4YEJ)'&0KVFB$"!P0($"!`
++M@``!`@3(&R!`@`!YT\6$B6$S9@`!`@3(FQ=HT*`)$2%$A!`1=NV*L&O7GETA
++M0H2X<4,#FB9]"G'BP`H2I''APH4+=^[<N7/APHT;]\2.'16WA`D[<*#0A@T;
++M-LG2H*Q,CV>7!(&ZI&;*%R?HL,U;XHG.B!'PJ(V@!F_$"`<H',1#,6;,F#&8
++M,&%R,&;,F#%C,&$:$V^,`TQ1,$2IL&7+EBU;*CASYL`9)F<.'#AP$"_>F'AC
++MY,1S$"^?G'@.`(YP,&*$@Q&>1M"A@P`!'3IT4*!`@4`.@GE?\N5+DP;_BQ8L
++M6K!@P8(%2XPT:=*DB9$FVX,4_\)H"-,KDJ$N;X```0($"!`@0(```0($")`W
++M;[HX,A$+"!`@0(#P>W$#S0TT:$*$"+$KQ*9=(7:%V+0A!)H0&M`TT="DD!$V
++MOF!!&A<NW+EPY\+9L!$N7+AQC,"`L6-'A11AP@X4*B1+@[(R!-A-*7+MVK5K
++M7Y:@0X=MWKPQ#E#0&3%BQ(@1#E"@0!$OWA@'8QQ@<H!IS)@Q8\:,<8`)DP-,
++M#APX<#`F"H8H%;9LV5*APAAGSC"-P32FPIAX8\:@&.-`3@P'#N3$D^/`P0@'
++M(T:,&#%B!!T4=.C0H8,"!0($<KX@F'<L1IHT_P#38,"B!0L6+%BPI$F3)DV,
++M&-FJ_:M%8=0-/(<"&>KRY@T0($"```$"!`@0($"```$"9(8W;S-F``$"!,B,
++M%WUNW$"#!DV($"%VA8BP:<^F/2%"W+@1XD:(&QKZ>*CCZQND<>'"A0L7+ERX
++M<.'"C1LW;APC,&#LL%+!@4,=8:-&E6%GK`B">=BP8</V9<D2=//F85OB``4*
++M.G3HT*&#`@6*>"@<.'#@P-F8,6/&C!DSQH&S,9C&C'%PQ@$*!PX<5``4!5"%
++M+5N<.<.$:<P80!4J5*@P9HP#!PXPX)CG`,62?"A0.!CA8`2*$2-&C*!#A\Z(
++M$73HH$"```$"!-=BI/_!D08+%BQ8L&!)@Z,;CFLQ8F3K%B>/-0H3;AAAL<X0
++M(H#@@``!`@0($"!`@``!`@0($"!`WG1Q-`,($"!`@+SA=^-&GQLW0J!!$R+$
++MKA"[0NQ"LP<-FALA-#2YH:&/$3:^$D""%&Y<N'#A;(0+%VY<N''CQHT;QP@2
++MF`0)6)D1LBU3#FE?YF&+@@U;O"\HZ-!!(2?>&`<.QC@8,6+$B!$C1CCPY`"3
++M`V>8'(P9XR">@S%CQCC`-,:!`P<.'#CP-,*!@PJ`HE2HL,49)F=CQHP!5*'"
++ME@K.G&'"Y,D!#CD.ECB0,R^>`P>>'(P8,6($G1$C1HP8,8(.'3H(4"#X$N/_
++M6!H<:;!@P9(&2YILO.!4.Y8M39ILI%+9(T/B1@L2O0R!`_<&"!`@0(```0($
++M"!`@0(```0)DQ@P@0(```0($"$`@39K<T(#F!AHT(4*$V+,IQ*8]:-"@"7'C
++MA@8T-_KTJ>/K&R1(X\:-"Q<N7+APX<*-&Q=N7+AQXR!!@O1-W[I>SW(4^3(/
++M&R!`@.+%0X&"#IT1<N*-P18EWA@'*%"@0(%BA"=/GAQ@<C!F#*8Q\<:,<3!F
++MS!A,#C!A<N!@A`,4(QR,&5.A`B!`&*)$P09H3`5G6[9LJ5!AS!@'F#S%R+<$
++MA0,Y<N(Y\.1@Q(@1(T;0&3$"WH@1(ZC1H2--FC04_\>.I<&1)D8,+&G29,L&
++MAU0<'-VZI;E&JE,D*D=^];E'QE"7+D"```$"!`@0($"```$"!`@0($"`S``"
++M!`@0($"``.G3I,^-)C=NW$`3`DV($&A"A$"#YL:-&QIN-&DB"Z"1.KX20((T
++M;MRX<>/&A0LW;EPX/>/"Z0DW;APD2'I*Y;HD[0LV;-BPQ8N';4P\%'10>)(3
++M)5X40-BP+7&`@@X*%"A&C!CA:80#3Y@P.1L3;XRS,6/&C'&`R8$G3PXP.7"`
++M"9,#3`Z<C1E3H4*%"LZV.-NR9<L69Q7&.'#@R9.<?"/DH(LG9QX*!PY&.'`P
++M8L2($2-&C!@!;\0(.G3HT/^A$P/'L30X8F3#D29-FF/9TN#`T0T.EC39.@6:
++M16Y`GPGK(B%Z\P8($"!`@``!`D23)DU`@``!`@0($"!`@``!`@0(D"9]FC3I
++MH^&&AA`W0J`)$0)-"#0A;H2X<>/&C29]C(@QDP`,I''CQHT;-VY<N'%ZQHTK
++M-6[<N'#CQHG3!Y#0)6-?L`$"!`@;-A38L*%P@`*%)SGQL`$:,V;,$@<H'-"A
++M@X#.B!$C/'ER@&G,F#%CQHP9,V:,,P<.'#@8X6"$`P>8'#APX,`3)@>8G#ES
++MYLR9,V=;G&T9XVS,&`=C/*%P$$]./!3YY,A!@<*!@Q$.1HP8,8+."%TCX(T8
++M,6+_!!T4QW#DPX'C6)INW;JEB2$G!@XXW;IAP7(LU2)NY`:TF$#%#[@W0(``
++M`0($"!`@0#1IT@0$"!`@0(#,`#)CQHP90(``:=*D29\F-YKTT7`#C880-T*$
++M0',CQ(TF&FYHZ-/$"!M?"6!!`O/DR;AQX\:%&S=N'*1QC)X\@01)'Z%<H(HX
++MP88-VQALV+!AP^9@"0HZ(T;DBP<(&[8QF)8X`/AEA"<4*.B,&$%MA`,'F,:,
++M`>1@C`-G8\:,<>#)TPA/(T9X.A.O0CP'#D8X\.3`@3-GSIPY<^;,V9@QF!PX
++M<.#`DQP'\>)%R2<'@YQX*!R,<#!BQ(@1\$;H&@%O!#PZ__#HT*$CY]@Q'#CR
++M'<,A)U^:;#%BX,"!`P<&+-=248%V`1B>"8&\O0$"!`@0($"```&B29,F39J`
++M``$"!`B0&3-FS``"!`B0)DV:-&G2I(^&&S<TW$!S0\,--&AN-+EQH\F-)GTX
++MB1%B)L$W,)#`0`(S#M*X<1T@0?KV!`P8.Y4J"5)3Y,N2>?'B88N'#1L@;$N6
++MH$#AR4D^;/&P81NSQ`$*%",\C4!!9P2\$2,<.!@S)EZ%,9B<C1DSQD$\!R-&
++M`!PQ8L0(!U&BQ'/@P,$(!PX<8'*`R8$#3)@<.'#@P,$(%`X<Q(CG`%.\?#AP
++MQ,@G)YXG3PX\C8`W8@2\$?#@P?^#!V\$'3H(CAW#@>/8L7Q?CJ5)DP8'CFXX
++MTD3!<"V5!"9__ASAH\K1&R!`@``!`@0($$V:;-FR98L?/R`S@,R8$<N1HUAO
++M@`!I@J=)DSY-FO31T.>&AAL:^MRX<>/&#0U-FMS0T,=('0Y"$L""!0L,&$A@
++M($&"!`D,K`0)6)D1<NN9FB+S5F##-F]>O'E1``&:AVW)EQ$CZ,B)%P_;&&PH
++M4*!P,&+$B!$C1HP8X<"!@S%C*HP9,V:,,V<5G&'"Y&#$"$^>',0;4V',&`>>
++M1CAP,,(!)@<.'#A`X<"3IQ$.`(YPX,!!O'B8*HQQ-F9,/#ER,,B1XX#.B!$C
++M=(W0!0__W@AX(^#1H4/GV#$<.(X=.Y:F6YIC,=+`Z88CGY9]UWB1X4..W`13
++M'RR\`0($"!`@0#1ILF4K2)`@02Q8L!`+R(P9CAPYZC)CQHPF3?HT:7*C29,^
++M&OIHN-&DCX8^&FXTN7&C29,^30IQJB/$EYD$=F#!`@,&#!@P"1+X\N7+'!LI
++MF7(4P;8"T#Y`\5#,BS<O"J!Y*.B@<$(-Q1<4V,9@0X$"!8H1(SR-&#%BQ(@1
++M#APX&#-F3(4*SK94J%"APAA,F,8XP(1I":`M%9R-P>1@A(,1#APX&!,O7CP4
++M#D8X&#'"P8@1#C#%<Q;%F3-,#AR,<>#`@2<4*$;`&P$/'CQX_P#AZ8*G"]X(
++M70B.'3MV[%B:--VZX8@1`T<W'&GR[=MW#<XZ*-SX!)#P@\@,($"```&BR=:G
++M(-.F%9@V;5HK6Q9BS9C1I8NW+HX<>6O2I$F3)DV:-&ERH\D-#7TT]+G11T.?
++M)DV:W&C2QX@1,4,X"!%BQ@PK.PGL)$A@AQ4'%6S,"1M%@-T7;"OF[`,414Z\
++M>5$`[8N'`H6T$?`0H'#@`),#!RCHT!DQ8L2($2-&C'`PPL&8,6.<5=BR9<N6
++M"H"V``($"!`@0/L`S:FPI8*S,0X<.'#@P,&8>&/&Q(N'@LZ($0Y&.'#@(%X4
++M9\XJC!GC8(R#,0X<C$"!@LX(:O"HP?^#-P(>/'CP=(T0D>(8#AS9<'3+A@-'
++M&AS=NJ6)@47+/H`8'MASX6\6,A>JE,2*I8D?/UM!6BE29*5`@0+!@@5KU<J;
++M!0M=')E`-&R8GR9-;C1ITD?#C29-FC2YT:1)DSX:;C1ITJ1)DR9-^ACAQ&G(
++M#@X<A)@Q8\>.'3M".`B1(H7-J%$^G'R)L@\0($!1XL6;ART*MB5?4-"!-P+!
++M"`>>/'ER@`+%B!$C'(P8,6+$"$\.'#@8,\99A0H5`%78LF7+EBU;MFS9,D>'
++M#AU;MCAS@,F!`P=CQD2I,*;"F'AR4#APX,F3`TP.XHT9<Z;"&$P.,#EPX,"3
++M`SERZ-`9,6+_Q`AX\.C`&P$/'CPZ"(Y5PX&C6[=N<+JE2=.M&XX8&/:MF%<M
++MD!M<R*"X4,5,21`BK8(QLZ).W:E'IQY9L5*`&<!@TUIY<]0%D0E#?OQ$:M*D
++M29,;39HTN:'AAH8F39HTT="G29,F39HTN='D1I-"1CAQJL.&`P<5K.S8L6/G
++MEI!;MVZ-*H/*"0ILV`!%B0((4!1`4;#-6S+"R0AX(^@@&.$`$R84=$:,&#%B
++MQ`@'(QPX<.!@#"9GSBI4J%!ARY8M.K9LT:%#QY8Y.G3HV*+#F3-GF#`Y&U.A
++M0H4*%9Q5<.#`0;XSGN)APC0FRAAGSL94B.?``29/#AR,.'8,!;41__"HC:!&
++MC1JU$?!&P(-')P4.'-VZ=8/3K5NW;CC2I(FA9=^^>6KLN7#ASY\$%U14N7#A
++M`A<7+KB0X3KUZ)$5*U:L,"/VXX<2;R8,^?%3[,.-)C>:-&G2I(^&&TWZ-+G1
++M!&"?)DV:-&G2I$F3)DV:-#%BQ`@G3L+82)%RRXX=&G9HW*(A[U8.5-3@C4`Q
++M!E`40(```8J";1ZV)2-&P(,'C\Z7>-@<.$"!8@2U$0Y&.!@QPL$(!PXPC1DS
++MID*%"ELJ;-FR9<N6+5NV;-&A0X<.'16V.%/@S)DS0(`J5-BR94N%,6,<Q(N'
++MR<$9!_'BC7&`:<P8!PXPC7`P`L6(&')0>/\:,<+3"$^>/(WP1(T:M1%T$!RK
++MU@U.-SC=NG7#T0U'FA@8]NV+<HR,!'_^H/B3X$*""S[<N''CYH\+LG<-'CUZ
++M9,6*%2LRF/U08LC0I$C%`C5IHJ&)AAM-FC31T$1#DR8:FC1IHJ%)DR9-FC1I
++M8J1)GR9&C!CA)$R8%!65[%2J!)"&/'F"+DU!AV[$"!0HXD6I$`40H"C8L*$8
++M,0(>/'CP1J!`,6;,F'AR4%`;,6*$@Q$.1CAP@`G3F`I1*E08,\:9LRU;MFS9
++MLD7'%ATZ=.C0L040($!1QCBKL&7.E@I;*E1P%F_,&!Q1,&%R$"_>&`=C'#AP
++MX&G$"`<C'(PX)L?_@2<'*!PXB.<`A0,'(T:,&$$'034<W>#`Z0:G6[=N:=+$
++MP*)EW[XH*0[QX<.'#Q\^4/CP(=<&6@!NR)#A>O?HT:-'CQY9D2'#S8</Y?Q$
++M*K9HG88F3?HT::*AB88;36XT:=*DB88F39HT:=*D29,F39H8:=*DB1$CG(1)
++MN<7J5J5>\@2!`C6ER)=X2U"@0($B7A1`@*(`FK?$B1-X(^#!`PAO!(HE#L;$
++MBR='SH@1(T:,0.'`@0-,#L:,J1"E@K,Q8\94<.;,V98MSK9LF:-#AXX5SK9@
++MB($!$"!G6[8`VE+!F3-,8S!%P8$A7KPQ8\8X<.``DR=/(SR-&#%BA`,Y_W(<
++M>'(0;PRV>(``Q4/AP(&G$2.D'<,!!PZ<;MVZ=>O6+4T,+%KV[8OBI0HY<N3(
++M\>'#AP\?/@&X<4&&[%2#!J<>/7KTZ)&,1S)<N/CP(5*Q0.)>-;FAH8F&&TUN
++M--%P0T.3)C>:-&FBH4F3)DV:-&G2I$F3)D::&#%B9(@P*4*$5.K5KITV;=>6
++M:-F'(1X*%"CB10$4)4J4>"A&T!D!#QZU$2-&Q,,6!="8>/E0.!CA:<0(!R,<
++M8'(PID*4"A6<`73FS%F%"ELJ;'&V9<N6.7/FK``T9E^,-%BT[*L`J$(%;&,P
++M><+DR4&^?/GBQ8OGP($#!PX<>!H!#]Z($=1&C/^0$\\!IGB`QHRI4&%,A3%C
++M'(P8,4+:L6-PX,#IU@U.MVYITL3`$F7%/@PB%ARY<($<'SZF^$#QQP49LG>G
++MWN%Z]^[1HT>/'CUZ),.%&U4__`PK1DQ?$PU-;C1ITD3#C29-FMS0T*2)AB9-
++MFC1ITJ1)DR9-FC1ITF29D65&C`B3(D3(K5SMM&G+=FW?G'U1HJ!`@0)%O"A1
++MHD2)MX3."'C4X,&#-\)!E"B`QHR)EP^''`<C/#D8X<`!IC%C*E1PYFQ+!4!;
++M`&W9`F@.H"V`5@":LV(?(`PQTF#!$`7;/FQC`&+"-&+$B!&>Y,20(\>!`SDH
++M''ARX,#!B!'PX(T806W_!`H4*!R,&0/(684M6[94&#-F#`I/GNC(.08'#IQN
++M<+IUZY8F#18,6O;MPR!B00MR;?BP@`)%@C]<R'"]:X#L78-3[]X]:O#HT:-'
++MIUS(^.!GF(E)Q!8UN=%$PPT--YHTT7"C29,F39HTT="D29,F39JT:-*D21,\
++M39HL,V+$B#`A0F[=ZI6'5[<T6O;-`;0/$+8E*.+%PX8M7CP4=$:,@`</'KP1
++M(U",&>/,V1@'<F+@0.!@A`,'#APX&#.FPAAG6RIL`31GSI8Y.G3,F3-GSIPY
++M*_;M2Y,&"P8M49SM6X+I##5X\."-&"'G&`H4(T;(0>%@A(,1(T;`@P=/%SQJ
++M_P!'((@7;PRF"A4J5-BR9<N6"F/B.7#@:02"8]U(P>D&IQN<-&G28,&@9=\^
++M#-):_"%'#@H4"5!<N'"!#-D[7.^0O4/V[M2[!@T>/7KWSH6,'TJ&#9M$[)N&
++M&QJ:-&G21$.3&QJ::&C21$.3)AJ:-&G2I,FR%DT6-%G6I,FR94:,U-DA1`B-
++M7NWR=$N3+\J<%?OV`9H7;\F2>/&PH4#A@,X(>/#@C1B!`H6#,<[&C''F0`Z.
++M?"@<.!B!R<&8,6/&;*D`:,N<+3JVZ-"A0X<.!7,4S)FS0DN:&%@P8,"`;<D2
++M=.BH48/G(P,\>`A&T/'D"86<>9X<C/#DP`$\>-1&4/^C-D(.@GACQHRIL&7+
++MEBU;ME2HX,P!"D\CI!WK!H<4'(!PX'1+DR8?EGE:`*V0HZM)BR-MH/CSY\*%
++MBW>G3B%K@`Q9`USO&KQK\*C!HT>/3LE@]D-)HG(=D#1ITJ2)AAM-FC1ITJ1)
++MDR9-FC31T*1)DR9-6C1ILJP)GB;+FBPSLDQ8'0YF$ICIU2Z/-APX8D2)`@A0
++ME'F`L&$;@\W!$@<C1L"#-P(>'3H.'(P9,V;,F#$.QHR1DP_%"`<H'&"*XJQ"
++MA2U1MFS1L46'CBU;="B8HV".,P58YF")D2\?ABC8'"P9,0*>@`P9X,&C1F>$
++MIQ'HXLE!@,*!)P>81HP808W_VID1*.+)B3?&F;,*6RILV5)A2X4*8\8X\#1B
++M1`H<I."0@M,M31HL6+!H6;$/FYH3&@:0:^,/F0M_R-XA0X8,&4!DR)`A0X:K
++MP;L&#1XU>/3ND0QUS)B5ZX"$5I,F&IHTT=!$0Q,-39HT:=)$PXTF39HT:=*D
++M29,639HT6=;$R+)E1CA)\64F@;@2O00]@(,C1@P,43!HB0(($+8Q8U`XH#-B
++M!#QX\."-6#)BB0,'F!PX&#/&P9@H<N(Y<.#`P9@H%2H`F@-HBXXM6[9LV;)E
++MBXXM"E8H6+'/69HT^?)AF+?$P0@Z=.`)$"!`@(`1"+Z,0+<D'XIX*$8X\.3`
++MP8@1_YX\>7(0+UZ\>`Z<5:BPI<*6"A6V;'%684P\3R-&I*A&"@XI.-W2I,&"
++M1<L^;/OFB8AV8P"Y`/[\U4"&#!DR9`V0(4.&#!FR!N\:-&C0H,&[=^^0G3JE
++M#M<L,1Z:-&G2!&"3)DV:-&G21$,3#4V:-&G2I$F3)DWP-&G2Q$@3(PN,+#,R
++MA`T'5@G`P"K1*U<>7G!PQ,`0)8J6*%$`81NSQ`&*$71&P(,'CPZ=$9X<.,`T
++M9HR#,6/&C!D33TX\!Y[BQ8M2H0(@0%'F;%&P9<N6+3HJ.*NPQ9DS+("PQ,B'
++M`4.4,0Z6C!A!!QXU`0($"*!&9P0Z3"AB.$#AP($#!_'BQ?\;$R]>E#%CHL0;
++M,\:9LPI;*FRIL*7"E@H5QCCP-&)$BFJIX,"!TRT-%BQ8M.S;IZ4(*F4W6I!K
++MXZ^&/V3(D"%#Q@49,F3(D"%#UJ!!@P8-'C5X]$@&+EP@:!WY]:M)DR9-FC1I
++MTJ1)DR9-FC1ITJ1)DV4MFC3ITZ2)$3Q&."W@!'#(D"%U.+!*8`<,F!(E>B7+
++MPPL.CAA8,$31$@70F#%CECB@,X(./%TCZ""0YLG3"`<.'(P9XV#,&&=C\L5S
++MX"#>F"A;*LP!A`$#H`H**FRIX*Q"!07.G`&*D@\#MGC8L(T9X\"!@Q$CZ"!`
++M\&4$-4\(YLG)AR'?"`<H4*"(%R__'B!L%0!5&!,%PY@QF,94J%!A2X4M%;9L
++MJ>!L3+P1U.`A@$.*%)QNW=)@P:)EW[Y]UZY%J]?D#[D`_OS5X((,&;(:R)#5
++MX%(#&3(N#;@T:-"@P:-'[]ZYP`4%FH=?OYHTT="D29,F39HT:=*D29,F330T
++M:=*D29,F?8P8&3*D3IU1;.IPX.#+%RLP8,`\J23O6:@K#W#@B!$#0Q1`@,:,
++M`3AF"0H4=$;`&X$*'H(4"$:,\.0`Q1@'8\8X&S,F2KQX\<8X&^-L2P5`&&+D
++MP^#,F;,H%9PYP^;,01ILF#"=68)M#"9LV#"A<_!%3HP8,6(XD78L!HXT<APX
++M<(`BG@,'_PZ<5=A28<N6+14P.!OCP-F8"A4J;-E284N%+17&C!GA:80T.*1(
++M=>N6)@T6+?OVK=`R;THZ#2V.\&GCSU^-&LBXU.!2HP:R&LB0(6N`K$&#!@T:
++M-&CP[ATR%_Y`,!'CH4F3)DV:-&G2I$F3)DV:-&G2I$F3)DV:]#&"A].0.CN$
++M2.&P@P,'7[Y8V;%C!TR)2KUZT;-&0(0<.?DP8``T!M`8;&,<T*$S`AX=:M3H
++MI#@F8L0(3PX<C'$V9LR8,?'&`(P7;XRS"A6V;-D2!4.,&!7&.(LR!A,F3)CR
++M8<.&[LP9;-BP.7.&"1,F.3'2Q(B1)L87.7+R88B'R<$8.7+BH?\8X\`9H"U;
++MMFS9`@B#LS'.QCBK4*'"E@I;MFRI4&%,/`?4X-'!08H4G&YITF#1LF_%"BU%
++M=%G2T.)(&S[^_/GC@@Q9C1HU:M1`5@,9,F3(&C2HT:!!@W?OWKUS@6L6"#Y,
++MFC1ITJ1)DR9-FC1ITJ1)DR9-FBQKTJ1)"R-XQ'`08L:,$"%"./CRQ2J!'3!@
++MGI005RI2('H]?-"A0P<%ABC8`&'#-B8>BA$C1HR`1TU:BA0I1(P8,6*,`V<5
++MG(T9,R9>E#%CQE2HX&Q+!4!1HN2+DL]9E#%1QF#"-,\!NC/8`"[!!FB,,V?.
++ML&F)D09'C'Q88L3()P<%)@<.XLW#("?_7KPQ8\9LF3-GRYPH4:(X&S/&P1AG
++M%2ILJ;!ERY8*SL:,<4"-VHAJI.!T2Y,&"Y9]*U;LNR8MFH80+8Z0XQ/`GS]D
++M-6K4J%&#2XT:7&K40-:@1HT&-1HT:/#.A0MDN*#0@L:D29,F39HT:=*D29,F
++M39HT:=)D69,F>)HTX<1I!P<S9LRH$*+"%RM6"1(D^"9.7+$/?B)!\-/(VAT?
++M\*3)R8<A'B!L\<:,<>!@Q(@1=*1Y29$B!9T1#AQ@&E-AC+,Q%<;$&^.L@K,*
++M6RI4V%(A2KY\..;-PX8%![9N.#`LP;0D2@5`@%8XVQ<#1YH8,;"DB9$OGYQY
++M#C"-P30FGIQX_P#C.<`T9LR6+8"V``($J(*S,<[&.*M0H4*%+16V;-E288P#
++M%-1&P,,!!TZW--FP8-&R;]^^:^P8W$`SH`6Y-E!`^$-6HP8W;C4"^*M1`UF-
++M!C4:U&A0HP&R!LB0(?,'!1JY(T>:-%G68EF3)LN:-&G2I,FR%DU:+&O2Q(@1
++M,5*$"#%CQI<*%>94L&(%ZYNX8C^40(```0($"!`:4:KUX($T!#&BQ!N#;<P8
++M!V,<H*,S@HX($2E2I*`SPL&8,<Z<C1D3+]Z8,6.<.=M2H4(%9V/&S,N'88R#
++M?'#@X$B3)DV,?/GR15D!:,Z6+5&PQ$B3)D:,&%CRQ1OCP!DF9P[BC?^)YV",
++M@S%C``':`@@0H`H5G(T9,\99A0I;*FS94F%+!8`5*HQQX(G:B"*ING5+@P6#
++MEGW[]FDI<H+!)GPW6APAQ\>?/W_^:@2H$:!&C1HU:M2H4:-&C1HU:C1`5L,?
++MGS;D_@P8D*5)DR9-FC1ITF)9DR;+FN!9UF1!DR8M.(FIPX&#+U8J5'`PIT(%
++M*SO?]!13HH0($2)$B!"!8,A/('H&\HA(@2.?'$#8`&$;,V;)"`<CZ(B@(Z):
++M"CJ>/#D8XVS,F#%CQC@;,Z9"A0K.G#D;,V8,BB@88L3`$@,+!@PQTL3(AZ'"
++MEBUSMCA3L`)#OA@QTJ3!DB_>F#%CQC@8,V;_#(HQ#L:,J3`&4(4*@"I4<.9L
++MS)@Q8YQ5V%*API8*6[9LJ3`FGH,1GD9<(]4M31HL6+1HV;?OFK1HFS;A0S,`
++M#T!R?*#X\\?-7X``-0+X\U?#7XT:-6K4J%&C1HT``=J0^S,@RX`L`YHT:8*G
++M28ME>/`T:=$$3Q,\3?`T,6*D3AT.0GSY\J7"W`$5*EC9>:*G6")O1&+%BA6+
++M"!$(2CZ0.43/&@$OU7#DDQ,O"B!LSK`Y0.%IQ`A==(X=.X;"$R8'SL9$B1(/
++MDP-GSBHXJ^"LPI@Q\3QAFI<O1KY\&*)$P1`#!XY\@+9L`;1ESI856J)@R!<C
++M1@P,4<:,&8.MPAAG_V/&C'$PQL$8;(#&8!M3H4*%,6,PC1DSID*%+16V5-A2
++M84N%"A7&Q!OAB=HQ.&G28,&B1<N*?5J*H+(4(@*^$#<&'.$3`$J```$"!`A0
++M@UL-?_YJU*A1HT:-``$"!&AS`>"?`0,&#!CPYT:3)DV:-&G2I,F")G@6-&G2
++MI(D13D/J<!#BRY<*%0?,F5.A`@R8<38F#;-`)%:L6+&(0%#R@8H+"8<H]*CU
++M@!2.?/.BQ`,$:`RV>"@\C8!'3<2Q8P@<.'#@`!.&?%'&8!HSQIDS9\Z<C7$P
++MQM.($?'BS9N'`4,^+/G2X,B'S5F%+5L4;`&4#U"4*!CRY8LR9LP80("B`/_"
++M-F;,&`=CQHRI,`;;&&R`L(T9@VF,@S%CG%78LJ5"A0I;*FRI,&9,/`>>/,7H
++MEB8-%BU:]JW`=LU8&65-;H2X$6)`"W)\`D`)$"!`@``!`M0(X*]&C1HU`@0(
++M$*#-!7)__OSY\^?/GS\W-#1I@J<)GB9XFN!IT@1/DR:%C-3A`%"($`Z^5'`P
++M=\"<.16LP(S3,RF1B4_>8A&)!0$"A`^JUDDPQ8("!6M7>,'!<2P?ABCQQF"+
++M%\\!G1'4J*$XAL*!`P>8QN3#D2_>F#%CQCASY@P3)D^>''CRY`#%/&Q+YF'(
++MER]&FGSS`%6H``@0("WY`(T9$T6+%D`5*HP!%*7_`J`*8\:@&#-FS)@*%;"-
++M`30&T)@Q8\:,&3/&684*6RILJ;"EPI8*%<;$\^0)79IN:=)HT;)OWXIYU]@I
++M:X+GQHT;^&X,.$*.3X```0($"!`@0(`:W&H$"!`@0(``;=JTN7#ASY\C%_Y<
++MN*#AQHTF39HT:=($3Y,%39K@P6.DS@XA'(2HX*#"W`%SYEC9`<-HG(USDUP-
++M,V'"V[!A?HI]`+A.PHX=)%A4Z='CR@,X<'#$P!`E2I0Q\1R@D#-BQ(@1*%#$
++M0^$`4Y08^>(Y&#-F3(4Q8\8X<.")V@@'7^*-<+#$P;QK^;#$P!`/6Q1`4;1@
++MR(=E#"9G%0`!`E2A`J`*_Q4J5!@S9DR\,6/&C!E380R@,8#&5!CCS,&8,6.<
++M.:M0H4*%"A6V5*@P9LP8!^A0X$B3!HN6?2M6[+M6I(RR)BV:W+@1(LN`/^3:
++M\&D3($"```$"U`A0(T"-``$"!&C3IDV;"Q>.7+A`CMP%<B%N:+C1I$D3/,OP
++M-,'39`&>!76D"!'"P1<'%>;,F3.G@A482)#$Z;$Q:=*D1(DFE2M6K)2X5V9V
++M;"-19UN5'CW^/<`!!T>,?/FB5(@W)MXQ!R-&`/0T`H4#%/$<H(@7;XR#,6/&
++MC(DR!@4*%"BH>4*!8(0G=.CFS;L6(T:^+TL<.,`6)4H40%'&.,,&"-"6+5LJ
++M5/^H4,&9LPK.XHV)-V9,A0H5*E2H4*%"!6?.QHP9,V9,!6=;*E2H4&%+A0H5
++MQCAPX"D?CC3YYFG9MV*%EFOLTC71T*>)AA`A0F1I<80<GP`!V@0($"!``&X!
++M`@0($*!-FP!MVK1I0XX<.7+DR%VX$.(&FB8WFC1I@@?/@B9X\'`:LD,(!PX<
++M.)@S=^"`.16L$H"!!$F/'CTV;-BP84./N%+B%E6BL>.>&$X+ABSH4>:.EP<X
++MX,#!D2]?E'SQXLGQY,D3'10./#F(%\\!)@<.4(P9$V6,,P<.'#@8(8?.B!$C
++M`(Y`-V+>/#ERKEV3@P*3@S'.G%6HX`P0H#F``&W9LF7_"Z`*6[94J#!FS)@Q
++M\;"-P59A3(4Q%2I4&.-LC(,Q8\8XJU"A0H4*%;94J#!F#"84F&)TPX)!BY85
++M*U9H<>*#QXT;-YK<"'$#7Y8!+<B1:Q.@39LV`0($"!`@0(``;0*T"="FS84V
++M;<BUF="&'#ER(="@N8&F29,F39K@P=-D"(D=4H0($<+!G+`#YLRI4,$*#!A(
++MC!B)T\-('"-QXL2)>Z*OA!DS=>IP6K!@09@P!.Z(\'*L&AQ2.'`<DQ,OGP-/
++MGD:,<##"@0,'#L:@<.``DX-X8\:,&>-@Q`@Z(U"@0(%BQ(@S3E#(D2-'CAP4
++M#AR,&;/%V18=<^;,V3)GRYPM_P!U;-FR98NS"F/&C(DW9DR%"A4J5*@P9LR8
++M,0[&C!DS9LR8,14J5*A0H4*%"F/&C'&`#4<,+%JTK%BQ;]\U:0QXA`AQXT:(
++M$/AN9+G1X@^Y-FW:!`C0)D"``#4"!`@0H$V`-FW:M&G3I@VY-N3:M&FS)P0:
++M-!K0-&FRK$D3/'B&U)$B10H'-N8.'#A@SIP*5JS`@`'#Z`FC;T\8?7NB[XD^
++M?;!*F!%2AP0>3G@6+"A#H)87$0^J58-#BA2.8W+R><(TPH&G$2-&.'#@P($#
++M!PX<.!@S9LP8!PX<.!@Q8L0(.BB6C!CAR0D*!'(0H!CAR<&8,5NV;)DS9\N<
++M.3ITZ/_0H4/'ECE;*E3`-F;,F#%CL%48LV5,A0ICQC@;,\;!&(`.QHP9,Z9"
++MA0H5*E08,V8,)@?YTF#1HD7+OA7[M'R)QF/7K@@A0H3`AP_?C2/D)I#CTZ9-
++MFS8!`@0($"!`@`!M`@1HTR9`FS;DVK3ATZ9-FS81]NQ!@^:&AAM-FC3!PZE.
++MG1ULI+`1=N#``7/FS*E@90<,&#!@8(%Y`NN)G2>P2M@I`<N,F5O;ABS@M`!/
++MF3!WO"!(<>Q8M6IP2,&!@^.8`T\C1HP8X<"!`P?Q'#APX"">`T]C'(QQX&#$
++M"$^>1GAR,`(%"A0.4*!`@0(%"D\.'(QQ5F'+G"U;=,S1H4/_APX=.G3,V3('
++M4`5L8\;$&S.FPI@*%2I4<%9AC`-,8\8X&#-FS)@QSL8X&S-FS)@Q8QR,21,#
++MRSXM^_:MV'?-"4`&/$*LB1`A0H@0(?"UX`.%#Y\V;=JT"1`@0(```6H$"!`@
++M0(`V`=JT:=.&3YLVY-H$"+!KUYX0(="@N=&D21,\G,34X2"%S8$#JPX<.&!.
++M!2L[=NS8`0,&#"P[8.S8L5/)3B58E<P(D3)JP1`\>/`L6$!`1`HYQXY5@U,-
++M#APX<'`X&.%@Q(@1(T:,<#`&DP,'#AR,P.3``28'#AR,<#!BA(,1(QR,<(`"
++MA0,4#E"@<.#`V9@*6[9LT;%ECHXM_W/FS-$Q9XZ.+8``C1DSQL&8,8"P51A3
++MH4(%0&.<C1GC8(R#,0[&.!LS9LR8,6/&.!CC`%,4'%BT[-.R8L6^:T72\=BT
++M)D($?"$V1;C1@H\+*LCXD&O3)D";``$"U`@0`&"```$"M`D0H$T;/FW:\.'3
++M)D"``&LB1-@3`@T:#7UN]#'"J4Z=.FR$<5JUZH`Y<RI4L+)CQPX8.V#LP+)C
++MQXX=.W;LV*EDQHR0;:/*+."$!QB>!01$($!P+$:U:M6JP8$#!\>($2-&C!@Q
++MPH$#!P[&.'#@P(&#$0X<.'#@P($#!R@<C'#@8(2G$2A0.!CAP($#!Y@PC:FP
++M9<Z<.7.VS/^9,V?+G#E;MFR9`Z@"MC%CQL0;,V9,A0H5`%6H,&;,&`=C'(QQ
++M,,;!&`<.'#@8X\#!&`<.XL6(@66%EA4K5F@I@HH'#W=KUN##%P&?AA9\7#!C
++MYB)`FS9MV@0($*!&@``U`@0($"!`@#9\VK1IPZ=-FS8!`OA;LV;7GETAT*"Y
++M`1#-C1:<Q+`1(VS5JE6K#I@SIX(5*U9V[-@!8\>.'3MV[-BQ`\9.I025S.S8
++M-JK,`CQ'CBQ84$9$D2(QCAW#4>T8'!QPY#CP-&+$"`<C'(QPX&",`P<C1HQP
++MX,!!O#$./#D8X6"$@Q$.1CC`Y,`!"@<H'#@X@\G9E@J`M@#:`FC_#J`M@+9L
++MV3)GRYP*%;`Y&^-@S)@Q@,8`<K:B`J`*8\:,P>3`@0,'#AR,<>#`@0,'*%"@
++M<.`@2@PL6E;LF[-BQ;4IZ7ALVK4K0H0($?"18"&#6;!@,ORU:=,F0(``-6H$
++MJ!$@0(``;0+P"1"@#9\V`0+P"1`@0(`U:];LVK4G1`@T:/KTX<2)D[`#G%:M
++M.F!.A0I6K.R`867'CAT[=NS8`<C*CAT[=NQ4LF/&E)0Z"\H8N7>DQ9$%86J)
++MD'/M6(QJ<'#@D",GW@@'(QR,<##"@0,'F!PX<.!@Q(@1#E#$B^?`P0@'#D8X
++M<.#`@2<'#AR,B1<OG@,'SIQ5`#0'T)8Y_ULJ;*FP9<N6+8```:I0P=F8,6/&
++MC!DSIL*8"H`J`*HP9LP8!PX<.'#@P($#!PY&H*#C@(X#!P[RQ="R;]^*%2NT
++M%(G&8->>79LB1(B`KP4?&<&"!6,FPU^`-FW:!*@1H(:_`/X"!&@3($"`-@':
++M!&@3@$^`-OYJU%BS9LV:7;MV[4&#!DT?#V*$>1!VX,`!<RI8L;)CQPXK.W98
++MV;'#RHX=.W;L5+)3R8X94T+J#%FP8`&>(T>.+%C60X07!-?D`(R!`P<.%/$\
++M>4+A8(0#%`X<.!B#"9,#!RA&C!@Q`H4<.2@<.'#@P,&($9X<.'#@P($#!PX<
++MC!E3`1`@0("VS/^IL*5"A0J`*@"JL`50A0ICQHS!Y@#;&&QC`%6H4*$"H`IC
++MQCASX,"!`P<.'#APX&#$B!$CZ#AP`"@?%BW[]JW8ART;*@8A-NS9M6G3)GPW
++MR)%A%BP8,RNG_`6XT*9-@!HU`M0($"!`@`!M`O`)$*!-FP!M`@0($"!`C35K
++MUJQ9LVO/KCUHT/0IY,$#IP,>#I@SI\*.'3!@P-AAQ<H.*SNL[-BQ8\>.'3N5
++MS)BYM6/(O04+\-S#<V_!O65E:GE!("=?OAAR4#AP,,;!&`<.'#AP,&:,,TP.
++M/#F@,V+$B!&>`,J)XLF!@Q$.1CAP,,*!)P<.QL0;,V9,O"A1`%68`VC_RY8*
++M@,:,&0,(4`5`@``!PC9FS!@'8["-P58!&R!`@`!5`(1MC`,'#AR,<#!BA(,1
++M(T:,&#$"!0I/,;!HV;=BQ8I]6%`IVQ1BSZ9=FS9%R'+!GQ5FP9C)D(&,SX4+
++M;0($"%`C0(```0*T:1,@0)L`;0($"!"@38``-6K46+,&P)HU:W;MV;,'S:\^
++M'CAYX'1`&!L5=EB!`0/&CAU6=EC9L6/'CAT[=BK9J23$S*T==>YQPH/G'IX%
++M]_#<"Q.&0"T1<C#DRR<GG@,'8^(Y<.#`@0,'8\:,P>3)`1T'=$:,<.!`3KP1
++M#AR,&.'`P0@'#AQ@<N#`@0-,F,:,B0)H2X4Y_P`KS,$V9HRS,5&B1(D":,R8
++M,6/&C!DS9@RV"F,``:I0`5"%"MC&.'#@:<2($2-&C!@Q8L0(:B-&.!@3`X.6
++M%2M6[+N&ZH2E37OVH$'#8%,3$OYD6`DFPXJ5=U#(7;C0IDV```%J!`@0($";
++M`&T"!`@0($"`-@$"!`A0HT:--6O6K%FS9M>:/7OV_"K4QX.'`YS8L%%A!PP8
++M,';`V+&C@A4K.PG`V+%CQTXE.S2$;*M#XAZ>>WCPW%NPX-X]$@O*W$$@!P,&
++M0&/&C!DS9LP8!PX<C!GC;(P#3"-&C!A!9\0(3_'BH7`P8H0G!R,<C'#@P),#
++M!V,P.1LS9@P@0!4J5/^H,`80-F?8Y&#)AR%*A3%CQHP9,P8;MC$5L%4`A*T"
++M((`5*E08,V:,@Q$.1HP8,6+$B!$CZ,`;`<^3)PPQM.Q;$47+O"+1-*!!LV?7
++MKDT\0BR`\LZ*%2LRF,E`1F[`GS9MV@0($"!`@``!VK0)T"9`@``!`@0($"!`
++MC1HU:C18LV;-FEUK=NV*L`<-FCY]"A7RP$F8%"%V[(`!`P:,'15V5)BQ8\<.
++M+%B5S)@1(J0.B2'W%N#!<Z3%`CP+%BQ8L"S,'2_YHD3!-&;,F#'.QC@8X\"!
++M`P<.G#EPX&G$"#H.1C@8D<^!`Q0C1HP8,6*$`T\.'&!R@,G!F#%CH@`:`ZC_
++MPI@YSL9@RQ<#1XQ\4<8X&S-FS)@Q8\94&#.F`K8*8P!AJP!H3(5X#AQX&C%B
++M!+P1\$;`@S<"'K41U$;$P*!E'T!L\ZX58;=,`QHT(?!MBK#I!@D),F0\>L1,
++MA@L^`P8,N$"N38```0($:!.@39L``0($".`O0(```0($J%&C08,($7;MVA4A
++M0H0]>_"A^=6G3Q\C'CC5X:#"#A@P3\#8L6-'B`HS9NR8J61&R*UM.^K<6X!G
++M`9Y[>.[A67!O09@P9>Z(0(!B3`5G8YR-<39FS!@'#APX&#-FS)@1(ZB-&#'"
++MP0@'^5`X<.!IQ(@1#D8X<##"@0-,F)R-&1-ES)@*_X```1HS9E^4;CABQ'.`
++M:4R\,6/&C'&&K<(80&,``1H#:$P%0!4`C<'F`,6($2/@P1L!#QX\>/#@P:-&
++M;4D:#%JBS+MF3!J!93?0W,`7`A^^`4?X2'#Q3H85*RZ@M,@R`."`(VW:!`@0
++M($"``&T"!`@0((`_?P$"!*@1H$:-&@T:U`@1(<*>/7OV[`F!#TV6&WWZ],'3
++M@I,8*4+,V`%C!XP=5D*$"%$AQ(P0,T)N[:@SY-Z">POP++B'!\^]!??"+.A!
++MX`X=.@Z<.1LS9HRS,<[&C''@P($#!PX<.!@Q`AZU$0Y&.(B7+YX#%".HP1LQ
++MPM.($0X<.!@3;\R8>(#&5/\8@PW0&$`88N!((\>!)P<HQHP9,V;,F#$5QHRI
++M,`;0&$!C`(T!!&@,MC$H'(SP!`\>/'CPX,&#!P\>O`PCY*3!H&7>-6DB<O1`
++M<^-&B`@1LOSAX\^?"Q<N9,CPQZ=%EBQ96EP@UR9`@``!`@1H$Z!-@``!`@0(
++M$*!&@``U:M1H`+!!@Q!HT*`)L0?-'C19;MRXT:=%GQ9X\!RI(T6(&3MV[)@1
++M(D6*%"E2I`CA4*=.'1+W%N!9<&_!O07W%MR[=^]>F%IW=(T8@<G!F#%CG(T9
++M,\:!`P<.1CAPX&",@Q'PJ%$;,<*!`P=1\L6C,X+:B!$C1GARX,F!@WCQX@&*
++M,J;_PI@*8\8`BA(C1@P4(SR-<!`OWI@QV,:,P3:F`J`Q@,8``C0&D#-`8\9@
++MP^9@!)T1\.#!@P<O`[P,&3)D$"`B6PP,\^9]8<>N2I4LOT)LVA3B0H!'[USX
++M@R+!!9\C-[+@PY=EP!%R;0($"!`@0(```0($"!`@@+\:-6K4J%&C1H,&#1J@
++M"8$F"YH;:/#=N''CQHT^35JTP-."$Z<Z'(0(`4C#C!DA4MC48<.&39TZ=4C<
++M6W`/SX)[]Q;<6[#@WH)[8<(0(*`+GB<'#AR,<39FC+,QSL8X<.!@!`H'#APX
++MH`,/'K41(T8X<!`O7SP4**B-0($"A0,4*.+%BS=FS)@Q_V/&`(H7;TP\#!@<
++M>#HSP@$*%&/&`!HS9@RV"F,`C0$T!A"@,8#&`!H#:,P8!RA&C(`'#QZ\#!G@
++M9<B0)$,&`0C@R+E6Y(NQ.SVJ5&EQ(T*(%N2067GT"%D;%E#XX,$7(0(^?/BR
++M'"'')T"-``$"!`@0((`_*`$"!*A1HT:-&C4:-*C1H,:-&S>:W.ASH\F-)C>:
++MM,#3!`\>/'CP<!I2IXX4*;=N[=@VA!,G3ISP&,%C!`\>/`ON+;BWX-X1$@O*
++M``S3H]:=.[K@P?/DP)FS,6/&C!GCP,$8!PX<.'#@P(&#$2/@4:,V8H0G!PX<
++MQ(N'@@XU.2A0H(@7+]Z8,14`5?\8,V9,/!0H1GBBYFD$G1$.4&##!F@,H#&`
++MQE3`-F8,(&=CG(T9,P;0&$!CL&%#@6($'6KP,F3(D$%`A@PGD@@042U;$1'2
++M[A"XTZ-'E1;X\+4(((.9E4?(VAPYTN(&/GPA\.T)@2_+D0MM`@2H$2!`@``!
++M_`4(X"]`C1HU:M2HT:!!@P8U`C1ITN1&DR9-;C1ITJ1)DQ9-\"QH@F<!GGOW
++MAI#81J+.D"&<..$!AJ</GCYX\.!9@*?%`CSW\-PC<:\,@3LB1.C2!6_$"`<.
++M'(P9XV",@S%C'(QQ,,:!@S$.`#H8,0(>-6KPZ(P8X<F!@WARY,B)%P^%`P?Q
++MQHRI,`;_4(4*%>*-03%BQ`AJ(^B,H.,`!;8Q8RH`JC"F`K8Q@,9@&S,&VQA`
++MV,9@&X-M##8'=$;`@Z<K0X8,&3*<B!8M2081QU*(N'.'`($>/7I4:?&'G#\9
++MS&2X:$/NR(`;62)$B!!BSQY\^+*T(,?'7X```6H$"!"@1H`:`6H$J%&C1HT&
++M#1HT"!"@38LF>)HTP=,$3Y,6+?#@:8('#YY[>/`LX'1O`:=[0^[=XX2GB1$\
++M??KTZ=.D#YX6>!;@N7?O'AX2]\+4$J&+#ATZ(^!Y&N'`P1@'8\:,<>#,@8,Q
++M#AR,<>#``9T1\*A1@S=B!!T'GAPX0"$GWA@'SAR,&1.O`J`*_P#'.,,V!EL\
++M3R.H4:,&;\0(%"A0C!E3H0*@,8#&5!@SIL*8,8"PC<$V9LP8;&.6H$`Q`AZU
++M#!DR9,B0)$.2)-&BZ1(A0H2N.P1Z].C1@T"5"5!<,&,FP]^1+`.R9,$7(<*N
++M/2'P10BQ)\L?<FW\!:@1H$:`&@%J!`A0(T"-&C5J-&C0H$:-`!<N&,&#!X\1
++M/$WPX#'2!(\1/`OP+,!S#P^>!9SP<+J'A],"/`OPX,'3I,^-&TWZ-&G2H@4>
++M/'CPD""Q($RM6M*<C!@QPM.($71&.!CC8(R#,0[&.'`PQH$#!PX<T!D!CYH`
++M>+I&C!@QPI,#!PX<C''F;,P8;("P`?^J4,%9A3%C/(V@!@\>/'CP1HQ`@2(>
++MMC&`*E0`5&$,((`5L`$:,V;,F#'8QHQ9L@2%DQ'PJ&7(D"%#A@P9DIR(5B^)
++MCSMW[MPA0(``@1X]>E0Y)(,9,Q=06N"+@`\?OA`1]H2(L&?/GCWXLK0@Q\=?
++MC1H!:@2H42-`C1H!:M2H4:-!C08-:@1H<^$"G@5X\.!9@`</G@5X%N"YAP</
++MGGOW[MV[A^?>O7OW[MW#<^\>'CQ-^MSH<^-&GSY]FK1H@0?/D7L+PM3R(L*)
++M@S$.'(P8,8*.`P=C'(QQX,"!`P<.'#APX,#!"#KP,@C(`$\7O!$C'(QP@,(!
++MH#%CG(T9XVS_S)@*8P!A&X/)TPAX\.#!@P>/VH@1#N*-&8.M0H4*@"J,J3`F
++MWI@Q\<8LP;9DR1(4=$;`HY9!0(8,&:(ER9`D&L`329+XN*.+P!T"!,+T"-.C
++M1Q4)+JA`.7(#WYH($2+@V[,G0H1=(?9$V(,ORQ]R?/SYJU&C1H`:-6K4"%"C
++M1HT:-1HT:%`C0)L`;2[@P;,`SP(\>!;@N8<'SST\]^[=PW,/S[TC]^[=PW,/
++M#YY[>.[AP8.G29,;(6Z@N7'C1I\^+5JTP--D0:U_(N2@P#;&@0-X=."-&./`
++M@8,Q#L8X&./`P1@'#AS0&0$/7@8!&>#1&3%BA"<'#L94J`!H#"!L_]BPC1F#
++M#=N8)9ZHP8,';P0\>/#@41LQ`L48;&.P`:H`J$*%>!7&Q!L3#T4\%`Z6T!DQ
++M`AXU`1DR9#@1+4.T:-&21*L7K<P=`@0($`A#($R/'CUZL.##IP6^"!$B1(@0
++M`>`>-'M"[(H0(D*$/?BRM"`7P%^-`#5JU*A1HT:-`#5JU&C0H$&#&@$"M&G3
++MYL(]/'CNX;F'YQZ>>WCNW;N'Y]Z]>R3NW;MW#P^)>WA(W+M'XAZ>>WA:]+EQ
++M`\T--%ENW+CQJT^?)DT6A"%PY]H\;&/&.*!#!YX#!P[&.'#@P($#!PX<.'#@
++MP,$(>/#@94B2P8>N$2,\><+D8`RV"H"B8/^+APT;)G1+EHP8X0G>"'BZ,NB"
++M!P\>/&HC/#EP$&\,H#$5L`$:$R5>O'CQ'*!8XH0./'@9,F3(D"%#M`S1HD5+
++M$BU)O70G"!`@4(9`#P(]PA#H0:#*O18#\.&+@"\"O@A[T/P*L2="A#T1(H2(
++MD*4%N3;^:OBK42-`C1HU:M2H`;!&@P8-:M0($*!-@`!M+N"Y=^_>/3SW[N&Y
++M=P_//3SW[MTC@><>GGMX[MW#<^_>/3SW\-S#LP!/BR8W;J"YD07-KU\W?MWH
++M<Z-)$V4$1""(-V:,`P<CX#EPX,"!`P<.'#APX,"!`P<.'(P8`0]>!@$9X&48
++M06>$`P<.X@$"A&W_WA('GCQY&H%NQ`AJ\.!ER)!!EZX,\.#!@S?"TP@'#N+%
++M`S0FRIAX8\;$0X$"A9,1(^!1RY!!0(9H&9*<B!8M6K1Z2>HEB5:&@(\R!'H0
++M"$.@1X\>!'JTN!$!'SY\^-:LV?/K1A8T(2+L"K%GUYX(6?Z0X^.O1H`:-6K4
++MJ%$C0(T:-1HT:%"C1ILV;0*T:7/AWCT\]_#<NX?GWKU[]^[=`XCGWKU[]^[=
++MNW?O'AX2]_"0('&/!)Y[>.[AP7/C1A8T:-#@0Y-E3Y\;:+(TT5#FWS$Y\^+%
++M0^'`@2<'#APX<.!@C`,'#APX<.#`P8@1\.!E$)`A`[P1\#`Y<!`ORKQY__$<
++MC(`'CQHJ>/`R9,@0+4.&#!DR9-#E0Q<\>-3@41LQPL&8>/'&Q(L7#T4\%"A&
++M4*-&30"J)!F21(L6+5JT:-&B18M6+TFZ$P1\A/%!(`R!'@3"$"!`H$J3`5EN
++M9(D0`5^$7YQ:],$7(D($?!'V[(F0I06Y`/[\!:@1H$:-&C5JU*C1H$&#!@':
++M!`@0($"`-A?NX;EW[QZ>>_?NW<-S#\^]>WCN<;J'YQZ>>_?NW;MW[]X]//?N
++MW<-S#P^>/C=N`,R2!0V^+&CPH<&'[\8-#<NNI#B6+\J8>"@<.'#@P($#!PX<
++M.'#@P($#!PX<C*!#!UX&`0($P*,V`D6\>!BBQ/^;AV+$"'BH4,%#E2%#AF@G
++M3IS(D"&#CPP9,F3(``\>O!$C1M!QX"`>BG@H4*"@,P(>/'@",F3(<")#M`PG
++MHD6+5B]:O7I)ZD7+0,!'F3`$RA`@0(!`#P)A>K1H<:3%`'P1?@$[<J3%#7PA
++M(H2($"("O@A96K1IX\]?C1HU:M2H4:-&C1H-&C2H$:!-FP`!`G!K<^'>/3SW
++M[MW#<P_/O7MX[MW#<^_>O2'WAMR[=^\>GGMX[MV[=^_>O7MX[N%IT>0&&C19
++MT.#[]0O?GBPW-H7H84U$BF/YXD6)-V:$@Q$.`(YP,,+!"`<.'#APX,"!)T^>
++MJ%$3(`#>"!3QY,2+$B__'@H43N"A0N7#AX\3/DZ<.''B1+1H&:*=.)'A1(8,
++M&3)0RP`/WH@1(^@XH#."S@AXU.`)R(`J0Y(3T:)%BQ8M6K1ZT>I%JU<O230?
++M!,J<\!&&``$"!'KD(!"FBBDH4"8,P)=E@!@Q1X"AP8<O0H0($2*$B)#E#SDH
++M_FH$J%&C1HT:-6HT:-"@08``;=H$"!"@39LV%_#<NW</S[U[]^[=NW?OWKU[
++M]^YQNG>/T[U[]^[=NT?BWCT2>.[=NT<"SX(6>&[<R((F"YH0>[+@0Y/%TK(>
++MM7P@.)8O'X8H\1PX&.%@A`,'#AR@<(`"!0H4*%"@0$&'C@@4"!#(D1-%3KQX
++M_P#CQ9,V`AX\'SY\E#EQXL0)92>BG4@2+5J&:-&BG<B0)$.&#!G@P:,V`MX(
++M>"/@4:.604"&#$DR1#L1+5JT),JB18NF+%J]>O7JE?'AXT29,@0($"!`@$"/
++M'E4.29#`YTB6+,#(,3G2(DN6$/A"[-JS:\\>?%E:D&OCKX:_&C5JU*A1HT:#
++M!C5J!&C3IDV```':M&ESX=X]//?NW<-S[]Z]>_?NW;O'Z=Z](??NW;MW[]Z1
++M>_?NW;MWC\2]>_=(X,&#ITF?&VC0H,$7(@N:&R'J]:@%3P`=!#B.88@G)QX*
++M%`Y0H$"!0DX\.?'BR8D73TX^.7+D()`C1TZ\>/'BQ?^+%^\+"CKP?&3PX>/$
++MB1,G3IQ0%BU:M&C1HD4[$2U)-(#1HB7)D"$:J@P9J&6@EH%:!G@9,B3)$"U:
++MM&C1HD6+ED19M'K1ZM5+5R])F3)ERI0I0X```0($"(2I4H7%A",#!@PX0H[/
++MGP%9\(7`AR]"A`@1(H3`AV\`N0#^_`6H42-`C1HU&C1H4"-`FS8!`@0($"!`
++MFS87[MV[=P_/O7OW[MV[=^_>/1+WAMR[=^_>O7M'2-R[=^_>O7OW2-R[1^(>
++MB7MX\#1I<N-&%C3X\&4)H>'$'6D"1M!!@`/'L7PQY,A!@0(%BG@HY*"()R>>
++MG'ARYL63$P^%'!3QXL6+%P7_6Y1X\>;1<0)/EX\3)WR<.'$B6K03T4Y$BQ8M
++M6K03T4Y$BW8B6K1HT9)DR)`A0X8,\#)D2)(A0[1HT4XDB98D"<!Z2>HEJ1>M
++M7KUZ]925.5&F3)DP!`@0($"@1X\%>/!DR9)E`+DVY(ZTR((/'SY\$2)LBK!K
++MSYX(65H<:1/`7XT:-6K4J-&@08,:`0*T:1,@0(```0)`NW#A'IY[]^[=PW/O
++M'IXC]^[=NW?OR+U[8NX=N7?O'@D2).X=N7?OWKU[]TC<NX<'#YX^-VZ$N!$B
++M"SX-RNY(@X?.B9,OQW#@."9'#@(4*%"@0($"!0H4*%#$BQ<O7KQX\>3$BR<'
++M4!1`_U'BC1F#(IZ#$?#@^<C@(]J)$]&B18MV(MJ):-%.1(L6+=J):-&B18L6
++M+5J2:-$R9,B0(4.&:-&B18L6+4FT:$GJ):F7I%Z]:/72U8L6K4R9,LO"A`E#
++M@``!`CVJ++AQ`V"6%D?(D9MP9,``?/CPH<&W9T^$"!'VX,.';\"?-@'\!:A1
++MHT:-&@UJU*@1H$V;`&T"M`G0)D";"Q?NW;MW#\^]>_?ND;AW[]Z1>_?NW;MW
++M[QZ)>R1(W+M'XMZ]>R3NW;MWC\2]>_<6X&G2Y,:-$"'PA=`0AITN:E^<.!E!
++M)\4Q.0A0H$"!`@4*%`Y0H$`1#T4\%/&P88L7+UZ\>-CB`?^*-P90O'CQ4*"#
++M-T)7AA,93D3+D"1#DFC1HD6+%BU:M&C1ZM6+IBQ:O6CUHIU($BU)DFC1DD3+
++M$.U$M&C1HD6+5B])O23UTB6I5R]=/67*PI0I4R8,@3)E"!`HLZ`*GAM9!OR9
++M0.[(GS\#\.&+$`%?B#T1]H2($"$$O@@#CI"#`C"`OQHU:M2HT:!&C0!MV@0(
++MT"9`@``!VK2Y<.$>GGOW[MV[AT?,O7OW[MV[=^_>/1+W[MV[=^\>"3PD[I&X
++M=^_>/1+W[MV[=P_//3PMFMRX$>)&"`U5KEPQ)H*.$VE?4'Q!\`4%"A0H4*!`
++M@8(."A0H4*"(ARU>O'CQYL6+%R7_7KQX\>)ABQ</Q9(1J.!ER'#BQ(D3)Z*=
++M2)(A6K03T:)%BQ8M6K1HT:)%BQ8M6KUHT:)%2Q(M6K1HT:)%JQ>M7KUH]>K5
++MJU<O7;UZZ>K5JU>F3)@R9<H0($"`0)DP/1;T:3&`#SER?XX,&#``7X0U^"+@
++M0[-G5X0($?;LP8>O!3D^_OS5J%&C1H,&-=H$:-.F39L``=H$:-.FS84_]^[A
++M`7COWI%[)/#<NX?GWKU[]X[<NW?OWCT2>.[=(W&/Q+U[]^[=NW>/!(E[1\20
++M($'B'IXF-VZ$"+%@09D3/MB)$"%"A`AI(A!(<[($!0H4=%"@H(,"1;PE\;#-
++MBS<O7KQY__'BQ<,6;TP\;/%0T'%"+4.&$]%.1(L6+5JT#-&B18MV(EJT:-&B
++M18L635FT:/6B18M6+UJT:-&B1:L7K5ZT>M'J1:M7KUZ2>O72U4M7KUZZ>B<6
++ME`E3AD`9`@3*A`E#@@0)<A/('?DS8$"+`5GPX8L084^(/7LB1(@0(4*$$/A:
++M'.$3($"-&C5J-*@1H$V;-FT"M`D0($";`&W:7/AS[]Z]>_?NW;MW[]Z]>_?P
++MW+MW[]Z](_?NW2-!XMX]$O?N`21QC\2">_=(D"!Q[]Z$'2QV3*B"IT6($"$T
++M6`I1KUZ]:"=\$&!WQXL(:72DH8CG``4*%"CDH)@7+UX\;/'BQ?^+%R]>O'CQ
++MXL6+%R\>"CHC4`F(%NW$"64GHD6+%BU#M&C1HIV(%JU>M&C1HD6+%BU:M&C1
++MHM6K%ZU>M&CUHM6+5J]>O6CIZM5+5R]=O7J6TEFJMXQ`F3)E"!`@4"9,F##W
++M2$R80.[/@`$#!@S(,B`+O@@1(NR)$"'"G@@1]NS!%V+`D39\`M2H4:-!#6X!
++MVK1ITZ9-FS8!V@1HTZ;-A3_W\-S#<^_>O7OW[AW!<^_>O7OW[MV[=^_(O7OW
++M[I&X=X_$O7M5[MV[=^_>$#'W=IAZ14:"*3YX6F0)@6]3"`TA`&[:9,F2)0W*
++MRA"X(T*:$Q3Q4*!`$0]%O"_QXL6+%R__WKQX\^+%BX<B'HIX*%"@H.,$7H9H
++M)TZ<B!8M6K0,2:)%BQ8M6K1HT:)%JQ<M6KUHT>I%JQ>M7K1H]:+5BZ8L6KUH
++M]:+5JU<O7;UZ]2S52V>I7KIZ)\J4(5"&0!@"8<)4N;?@WI$C`P;<R)(E2Y8;
++M-V[@PQ<APIX($2+LB;`G0H@(^&X<(=<F0(T:#6K4"-"F39LV;=JT"=`F0)LV
++M;2[\^7/OWI%[1^X=N7?OWCTQ]X[<PW/DWKU[]^[=PT."Q+U[1^[=NT>"1)5[
++M]TC4V6'JU;I%JJBL<\/BR(T;64)D07/C1H@0NS9MVL1`69D[NJ1]0;$D7KQX
++M\>+%BQ=O7KQX_P#CQ8N'(AX*%"A0H(B'(AX*%'3@P<L0[<2)$]&B13MQ(EJT
++M:-&B18L6+5JT:-&B18M6+UJT:/6BU8M6+YJR:/6BU:L7K5ZZ>O7JI4M7+UT]
++M2^DL6:IWH@R!,@3"$`@S:L&"!2U:M&B1!1\^?/CP9<ER(TL6-/@B[-D3(<*>
++M-7LB1(B`[\8`<@'\U4!6HP:W-A?:M&G3IDV;`&W:M&G3YL*%/WCNW;MW[]X]
++M,7CNW;MW[]X]$O?NW;MW[]X]$O?ND;AW[QZ)>_?ND1A"HHZI5XL^E$ODIURY
++M#^M,D;B1!0V^+'OP[=F##PT^-+M":#AQQPL")_-0Q/L2+QZ*>/.6S/^+-P]%
++MO'@HY*"(AP(%"A0HQJ"@0P=5AA,GHIV(%NU$$H#1HD6+%BU:M&CUHD6K%RV:
++MLFC1HM6+5B]:NFCUZD6K5Z]>O7KUZM6K5R]=O7KI+-5+9RF=)4LGRI0A4(9`
++MF`5A[BW`TZ=/'WSX(D18$R'"'GSXLJ#)@@\?O@@1]JS9LRM"A!#XLK0@QR=`
++MC08U:@2XT.9"FS9MVK1ITZ9-FS9M+OSY<^\>'C'W[AVY1^(>GB/W[N$Y<N_>
++MD7OWCMR[1^+>/1+W2-R[=T_,/3$33"WZ4,[$IQDO/GD;YB>0A"IX;J#!E^77
++MKSU[]D2($"+$)DMEV'DI@@#!EWGSXL6+%R__7KQX\>+%0Q$O'@H4*%"@0!$/
++M!0H4=.!ER!#M1+03T:*=B!8M6K1HT:)%BQ8M6K1H]:)%JQ>M7K1ZT>K5JQ>M
++M'L!Z]:+5JU>O7KIZZ>JELY3.4CU+EM(QL'2BC`\"8<*$6;#@7HL^-[+@B[`F
++M0H0U:]9$B+!G3Q9\O_#ABQ!A380U$?9$B!`A2XL+;?S5J%$C0)L+%]I<:-.F
++M39LV;=JT:=/FPH4!1_#<NW?OWKU[]X[<NW?OR+U[]^[=NW?OWKU[]^X=N7?O
++MWKTA)$B0J&-J4;E$KCZ]>0/DS0QPB`Q](+.CQ8TL:++@0Q,B1(A=>_9LVF2I
++MS+\K7KP@0"!G7A1L__'BS5LR;TF\>/'BH8B'`@4*%/'B.4!!1Q>\)">BG8@6
++M[42T#-&B18L6+5JT>M&BU8L6+5JT:,JBU8M6KUZ]>O7JU:M7KUZ]>O7JU:M7
++MKYZE=)8LI;-DR9(E964(E"$0!N"">PM:H,&'!M^:"'O61(@084V$-1'P[?GU
++MZQ<^?/C6K(FP9E>$""'P#3C2QE^-&C7:M+EPH4V;"VW:M&G3IDV;-FTN_!EP
++MC\21>T?N';EW[]Z](_?NW1-S[]Z](_=(D+A'XMX]$B1(D+AW3\R.5\7*?9KQ
++M!@@0($"``'G3Q9&A2%1,X;F1!0V:+"$V;0JQ!\VN3<LRM8,AZH$7$0CBS?^+
++M,F_>DB78YL5;LB0>BG@H4*!`$2\>"A0CZ&3($.W$B6@GHD4[$2U:M"31ZD6+
++M%JU>M&CUHM6+IBR:LGKUHM5+5Z]>O7KUZM5+EZY>O7KI+*6S9*F>)08,&%B*
++M5H9`F04+1N&Y@08-/GP1]D2($&%7A%T1UD18$R$"OE^_\.'#!W#-FC5K(NR)
++M$`%?EB-M_-7P%Z#-A0L7+EQH<Z%-FS9M+K1I<^'"GRSW[MV[=^_>O7OWCMR[
++M=^_(O7OW[MV[1^+>/1+W2)"X=^\>B7MBZIA:5.X3/R!`@``!`@0($"`S9L2"
++M\(.*J2,W;H0($2+$IA"[-O0Q4F==)$2(^N7Q4@3_P;QX*%!\F8=BR9)X8Y9@
++M0X$B'@H4\<8XH",-7H8,&4Y$.Q$M6K1HT:)%BQ8M2;1ZT:+5BQ9-6;1HRNI%
++MJU>O7KUZ]>K5JU?/4KUZ]>K5JV>IGJ5T#"PQ8&")`0-E9<J,*K.@R8T0^/#M
++MB1`A0H1=>W;MV15A380U:R+@VX/O%[X]$=:L6;-K5X0($08<X>,/68T`;2Y<
++MN-#FPH4V%]JT`=CF0ILVT/[\^77DWI%[1^Z)N7?DWCTQ]^[=.W+OWI%[]TB0
++MN$?BWCT2)$C<(R%FAYMBKEX``0($"!`@0(```0($2"P+1()1D7"D1980(="@
++M01.BSX(=ZSX,^S3CS8Q4___H2)-S#0$*%"CBH8BW!`4V%/%0.(CG(!X*%'3H
++M9,@0[<2):">413L1+5JT>M'J18L6+5JT>M&B*:L735F]>O7JU:MGJ9ZE>I;J
++M6:I7KUZ]>O4L6;)DB0$#2Y886%)69D&8!4U"A-@5(4*$"'OV1(BP9\V>-7O6
++M1(@0(0*^/?CP_<*W)\*:-6O61(@0(<L1/OYJ<&MSX<*%"Q<NM+EPH4V;"VW:
++M7+CP!QB^>_?NW;MW[]Z]>_?NW;MWY-Z](_?N`;Q'XMX]$O=(D+A'XAX)$B3,
++M+"IGXH4F($"```$"!`@0($"`S.!GH=4/&5".W,ARXP8:-&B&F%KW(9&)&3.`
++M`/_ITBF.%R?21""0A@+!ER5+4#B(YP`%"A1C4*!`0<<)J@P93D0[<2):M&C1
++MHD6+%BU:M'K1ZD6+IBQ:O1/UZM6K5\]2.DOU+-6S5,]2/4O*+-6S5*]>.DOI
++M+#&PQ("!I66C%BQ#LRE$A`@1UD38LR9"A`B[]NR*$"'"F@@1UJS!AP\?OE^_
++M]D18LV97A%WXLI"#PH5+@`L7+ERX<.'"A0L7+K2Y`.T"M`O`?N$[<D_,D7M'
++MCMP[(N;>D7OWQ-R[=^\>B7LD[I&X1^(>"1(D2)#8,8M8.5?\@``!`@0($"!`
++M``(!`D03$$VQ++3Z084/GAM9T*!!P\G4HF)^3'29`>3_S8PW0&:DNG)'A`@O
++M(NC008%B"0H4*%"@0($"!0H4=.!ER!`MVHEHRJ*=4!:M7K1H]:*EBQ8MVHEZ
++MT>I%JU>O7KUZ]2S5LU3/4CU+&NI9LE3/DJ5ZEBQ9LF3)$@,&EGBD6["@"9I-
++MFR)$B!`A0H0(>_:LB1!A380(:_9$B+`&7X0U^/#]VH-O3X0(:]:LB1#A!CDH
++MR/RUN?#GPI\_?R[\N7"!'#ER;<A=N/`+WYI[1^[=$W/OWI%[]^X=N7?DWKTC
++M]^[=NW>/Q#T2]TC<(T&"!(DZM&!)2O0"B"8@0(```0($"#\@0(```6*!B!)5
++M$H[<N-'G5Q]:Z_R8,/%I!I`9_P"!``$"Y,T,1W%JZ1(A@LZ(+W3HH%B"`@4*
++M%$M0H)#F1%<&5!E.G(AV(EJT:-&B18L6+5JT>M'JG:AWHEZT>O7J6:IGJ9ZE
++M>I;J6;)4SY*E>I;JI;-DJ9ZE=`PL66)@R9*R!1K0;(JP*T*$-1$B[%D3(4*$
++M-6LB[%D380V^-1'61%B#;PV^/;_P18@0(<*:76L&,`$!`MJ%/W_^_+GPY\^?
++M/Q?(76A##MJ%/[\BK#ER[]Z1>_?$W#MR[\B]>V+NW;MW3\P]$B3ND;A'@@0)
++M$B2J#!&S8Q:Q2:[X`=$$!`@0($"`S`"B:0:0&3.(^(E$9D*+/BV.B'E5;%@7
++M<#/>`/\!`@0($"!`@`")U>G?G3LB1$BC@T(:"FDHZ"Q!@0(%'8`C4*'*$"W:
++MB1/1E$4[42]:M'K1ZD6+%DU9M'K1ZM6K5Z]>/4OU+-6S9,E2/4N6+&FP5,^2
++MI7KU+"E39DF9)4O*EBE;%F+7FCU[=JW9%2'"F@AKUD2($&'-&GQK\*V)$"%"
++MA#5K\*V)L`??'GP1(NQ:$V$`$S[0H/WY\^?/GS]__ORY0.X".7+0+EP8L&<-
++M@'M'[MT[<N_(O7MB[MT[<N_(O2/W[MV[=^\>B7LD[I$@48>$F#H[S'1(9(L?
++M$"!`@``!`@0($"!`@``!,L,1A`\26.#Q<&0'+6(_3'1Y`^3_S1L@0(```0($
++M"!`@,Q!1(G#G#AUITE#004$'!1T47^@X@9<A`ZH,)TY$BQ8M6K1HT:)%BQ:M
++M7K1ZT>I%JY<N&L!Z]>I9JF>IGH9ZENI9LE3/4CU+ENK5TU#/DC)ERI1IL+2@
++MQX(F>W9%B!!A380]:]9$6+,FPIH(:]9$6!-AS9HU$=9$6!-A#;XU>_;\VK,G
++MPIHU$?HP80+MSY\!?_[\^?/GSY\_%RZ0NT".W)\!$=8`('%/S#TQ]X[<.W)/
++MS)%[8NZ)N7=/S#T2)$B0P$."Q(0A1W:8>H6$6*)/_(```0($"!`@0(```0($
++M"!`@0&(1^>&BRI$C.V:Y*9;HQ9LW_T"```$"!`@0($"```$"!,B,0;5\B)!&
++MAPZ*+RA0T$%!1YH(7:A.G#AQXL2):">B18L6K5ZT=-'J):D7K5Z]:/72U:MG
++MJ9ZE>I;J6;)4SU(]2_4L64IGJ5Z]>AKJ:="P#*"&>U58F-(0(4*$-1$BK(D0
++M(<*:"+O6[(JP)L*:-6LBK,&W9DV$-6O6K(D0(<(>?/CPX<,7(<N1(\`&_!HP
++MX,^?/W]:_/ESY`(Y)A<N`/NU9@V`>V+N';DGYAZ)>T?ND;AWY!Z)>T?ND1A"
++M8@@)$B1(D"!1AQ8L8I-<O7@#!`@0($"```$"!`@0($!F``$RPUNK#Q*8X#E"
++MZU6'<B9>O/\!`@0($"!`@``!`@0($"!`@`"9T8R2CSO2$$BC0X>.-#IT1.C2
++MY</'B3(G3D2+%BU:M&C1HM6+5B]:O7KUZD6K5Z]>NGJ6ZM6S5,]2/4N6+-6S
++M5,]2O7KUZFFHIT&9,@W+FE39<<C4KPAK(NQ9$V'/F@AK(JR)$&'-FC5K(JR)
++M`'#-FC41UJQ9$V%-A#5KUD38@V]/!'SX!@`#-N#7@%]_@/WY\V?`GS\7+C"Y
++MP.3"@"QK```X<N_(/1+WCI`0<T_,/3'WCMP3<^\>B7M#2)`@08*$F`D[7A&;
++M%.0-$"!`@``!`@0($"!`^`'A!P3(#""QO"EA)F'"!%JSJ!!K]6G_!A`@0(``
++M`0($"!`@0(```0($"!`@0!`-\G'G#CPZ"!#004$'`1U=/C+X.''BQ(D3T:)%
++MJZ>L7K1Z]>I%JQ>M7KUZ]>K5JU?/4KUZENI92F>IGJ5ZEI35TU#/DC)E&I1I
++M:+)@`0E3$DRAB1`APIH(:R*LB1!A380U:R*LB;!F380U:R*L61-AS9HU:]:L
++MB1!AS9X]>_#AV_.KSP!\^+(,`#C@#[`_`_X,&/#G"#DF%X#]PK=F#0`2).Z)
++MN2>&Q+TC]TC<.W*/!(E[8NZ)N4>"!`D2)$B0F"!D4;E$+X```0($"!`@0(``
++M`3*#'S]^0/@!F<&/B!)55"1(<*.JG))/_R^```$"!`@0($"```$"!`@0($"`
++MO'D#!,@,0Y1\W*DE@@X=.BBDT=$%#Q6J$R>4G5"F[(2R:,JB*8M63UF]>O7J
++MU:M7KYZE>O7JU;-4KYXE99;J6;)4SY(E91HL:="@K(F&92WND3`E8<*>-1'6
++M1(BP)L*:"&LBK(FP9DV$-6O6K%FS9DV$-6O6K%FS)L*:-6LBK%D38<\>?/A^
++MX8N`#]^O`0.``0,V8,"`(Q>87!#SY]>:-0``'+DGYMZ1>V+N`21Q3\R1>R3$
++MW#MR[]X0$D-(D"!!8L*$':8Z3'+%#P@0($"```$"!`B0&?PL6)AA808_?K&\
++M*?'SX<.'<HE<F?]X\08($"!`@``!`@0($"!`@``!`@0($"!`@``!$BM0#Q]W
++M[M"A0X<.'3JH,J!"=>*$,F4GEBE3IDR9,F7*E"E3IJR>AGJ6+"FK5Z]>O7KU
++M+-6K5\^2)0V6-%C2H$&#,@U--#1ILNP>"5.F@$6($&%-A#41UD18$V%-A#41
++MUJQ9$V%-A#41UJQ9LV;-FC5KUJR)L&;-F@AK(N"+L`??G@@1\.'[-6#``&!_
++M@`'[PX0)DR/`?JU9`P#`/1+WCI`@<>_(/3'W2-P[<D_,/1)B[HFY1X+$$1)B
++M)NR@M6B2*R!```(!`@0($"!`@+SA]\+")PO\^,6:8<&;$@A*E"0:]NG_Q9LW
++M0(```0($"!`@0(```0($"!`@0(```0($"!`@0&8TLG;GSATZ=*31<0(/%2I4
++M)TZ<**-,F3)ERI0I4Z:LGC)ERI0ILZ1,0[UZZ>K52U?/4CU+EBPILZ1!F08-
++MRIHT:=*D29,F+4A,,$7K%[XU$2)$6!-A380U$=9$6!-A380U:]:L6;-FS9HU
++M:]:L6;-FS9HU$2*L6;,FPIHU:_!%P(<O`CY\6;(,&#``&+`C1Y@P^3,`WQH`
++M``"((7&/Q#TQ]\3<.W)/S#T2]X[<(W'OWCT2)$B0(#%!S`0A;B1]T@0$"!`@
++M0(```0+D#3\+G_A9X#<C%K]8WH9Y&S:LRXL9_P#?``$"!`@0($"```$"!`@0
++M($"```$"!`@0()J`:`("!`@01-;*W!%!1YHT7;I0H3J!ZH0R9<J6*5.FK)XR
++M9<J4*5.F3)DE91KJ*:M7KUZ]>O7J6;*D3(,E#1HT:+C19-F"%LN:-&G1@L0$
++M/B0BX-L38<V>-1'61(BP)L*:"&LBK%FS9LV:-6O6K%FS9LV:-6O6K%FS9LT:
++M?&LBK(D0`=\>?/@BX(N`#]^O+`,&``-VA,D1#[_PK5D#`,"](_?$W#MR[PB)
++M>T?NB;DGAL2]>V)(D!A"@@2)"23$B-GA1H^K%T"```$"!`@0($#XS7AA80:_
++M6!9F6.CB;=@P$UW>O/]Y\P8($"!`@``!`@0($"!`@``!`@0($"!`@``!`@0(
++M$(!`@`"9$:N?M3MW[MRY(P)5!E0G3IPXH4S9,F7*3BA3IDR9,F7*E"E39DF9
++MLGKUZM6K9\E2/0V6-&C0H$%#"`TM\"QHT:))BQ8M)DR@]6?-G@@1]JS9$R%"
++MA#41(JR)L&9-A#5KUJQ9LR;"FC5KUJQ9LV;-FC5K(JQ9$V%-A`AKUNS9@V\/
++MOC7X]N#+DJ4/,&!'F(CY\VL-@#5K`)"X)^;>D7LD[HDA08+$$1+WQ-PC<6\(
++MB7LD2$P@P63"A!VS.DQRQ0\($"!`@``!`@3(#$W\^`'AQR_6#&_>AGES!.[_
++MS1L@0(```0($"!`@0(```0($"!`@0(```0($"!`@0(```0($"!`@,V)1JN7C
++MSIT[/NXD.7$BV@EERI354Z9,&<!HRI0I4Z9,F3)ERI0IJU>O7CUE&NIIT*!!
++M0Y,0FRSM:G+CQHT6]_"T:-%B`A\2^"+@6Q-ASYH]:R)$B!`A0H0U$2*LB1!A
++M380U:]9$6+-FS9HU:]:LB;!F380U:R*L6;,&WQY\OW[]VH,O0H0(^&X,`(;G
++MR!$/OR*L6;,&P+TC]X[<$W/O"(E[8DB0N'>$A!@2]\20&$*"Q`028B8PH96@
++M0Z)/_(```0($"!`@0(```3*#7ZQ8L2Q8,.'-A(DN_S/>O`$"!`@0($"```$"
++M!`@0($"```$"!`@0($"```$"!`@0($"```$"9,:,?M;"]"!`@$`9'R?**#NA
++M3-D)9=&4*5.F3)DR9<J4*5.FS)(R2\HTU-.@08,&#4V4A=BT"6"$&S>RA+C1
++MH@6>%B0F3,"390V^/7LB[(D0(4*$"!$B1(@0(4*$"&LB1%@3(<*:-6O6K%FS
++M9LV:-6O6K%FS9LV:"&O61%BS9\^O7_CP1<"'+\LO8,#$`.OS*\*:-6O6B+E'
++M@@2)>V+ND1!S[\@]$B3ND;A'XAX)$B3$D"`Q@0F3'4B()7(%!`@0($"```$"
++M!`B_&?SX6;#@S9LW;R:Z=/\!]P8($"!`@``!`@0($"!`@``!`@0($"!`@``!
++M`@0($"!`@``!`@0($"!`@``!$JL9O3!E"/0H<T*9,F7*E"FK5T_9"67*RM13
++MILR2,DO*E&G0H$R#!@T:-#0)H:'%C4TA0N#+$@)?B!M'2."9,&%"E@CX\.V)
++ML&=/A#T1(NR)`##"G@@1(D2($"'"FCUK(D18$V'-FC5KUJQ9LV;-FC5KUJR)
++ML&;-FC5[]OSZ]>L7OCT1\.'[!0P8,&"_(JQ9LV;-O2/WQ-P[0H+$$1(D2)`0
++M0T+,/3$DAI`80H($"28DF.Q@@J2#*U?\@``!`@0($"!`9@"9P<\"$6^MO'D;
++M]JG_RYLW;X"\`0($"!`@0(```0($"!`@0(```0($"!`@0(```0($"!`@0(``
++M`0($"!`@0&;,0&1OV;)E)Y:56:;,4IEERI0MLV3)DC(-&I1IT&!)@P8-&C1H
++MT*`A1),0+4C@N9'E1H@L^/#AN]&"Q(0)$_#@BX`/WYX]>_;LB;!GSYX]>_;L
++MV;-G3X0($?9$V!,APIXU$2*L6;-FS9HU:]:L`;AFS9H(:]:L61-ASYY?OW[]
++MPH<O0H1?OX`!^X5O3X0(:]8<N7?OR#T2]\3<(W%/S+TC]TB0N'>/Q!`2)$A,
++M.#*!"9,=LR1-<O4&"!`@0(```0($"!!-L2QX:S5LV+!/_UUFO`$"!`@0($"`
++M``$"!`@0($"```$"!`@0($"```$"!`@0($"`O`$"!`@0($"`S``"!`@0(+$0
++M10I$8<&R9<N6*5.F0=DR9<N6:="@08,&#1HT:-#01T.?&S<TW+AQC\6$%C>R
++MX,-W`Q^^$#=:3&`QH44(?'LB[-FS9\^>"'LB[-D384^$/7OV[-FS9\^>"!$B
++M1(@08<V>-6O6K%FS9LV:-6O6K%FS9LV:-1$B_/KUZ]<O?/CPX</WZ]>O7Q'6
++M`%RS9LT],?=(W!-#@L0],22.D"!Q[PB)>R2&D"!!XL@$,1/$,&$RJX.K3_R`
++M``$"!`@0($"```'"SX*W5DJ4#/\S`>X-$"!`@``!`@0($"!`@``!`@0($"!`
++M@``!`@0($"!`@``!`@0($"!`@``!`@0($"!`W@`!`@0(D!F.B$0*1(_"O04+
++M-%@*H2&$!@T:-#31H*%)DR9-;C1I<N/&C1LD^$QH<2-$%GSX;MRXD>7&A`E'
++M;J"Y@6;/GCU[]NS9LV=/A`A[]NS9LV?/GCU[]NS9LV?/GCT1]D2($`'?FC5K
++MUJQ9LV;-FC5KUJQ9LV9-!'Q9?OW*D@4?OBR_?OWZ%0'?F@AK[MT[<D\,B2,D
++MQ-PC<8^$&!+W[I&X1V(("1(D`))@,H$)$R9()"6R]08($"!`@``!`@0($'X6
++M++2"H$3_R;!A7=Z\`0($"!`@0(```0($"!`@0(```0($"!`@0(```0($"!`@
++M0(```0($"!`@0(```0($"!`@0(```0($")`9,V;$FH%(PH)E330T:=*DB88F
++M39K<:'*CR8T;-V[<:'&$1(LL6;+@NY'E1I80-UJ0(+&@18L;-T+@V[-GSYX]
++M>_;LV;-GSYX]>_;LV;-GSYX]>_;LV;-GSYX]$2)$B+!FS9HU:]:L6;-FS9H(
++M:]:LP9?E5Y9?6;+@R_+KUR]\$2*L6;,&SY%[1^Z1(''O"`DQ),3<$T/BGA@2
++M0X[4(4'B"`DQ3)@P02+)U0L@0(```0($"!`@0(#$LN`-@A(__P#+^1GVZ0T0
++M($"```$"!`@0($"```$"!`@0($"```$"!`@0($"```$"!`@0($"```$"!`@0
++M($"```$"!`@0($"```$"!,B;&8[(+`MQ0T.3)DUN-&G2I$F3&TUNW+AQX\:-
++M&\!:9,&7)<N-+#=NW+C1@@0)/"WPX&EQX\:>7WM^[<&W9\^>/7OV[,&WY]>>
++M/7OV[-FS9\^>/7OV[-FS9\^>"'LB1%BS9LV:-6O6K%FS9LV:"/BR_,J2)4N6
++M+%E^9?F%+T*$-1&.'#ER1,P1$B1('+EW[QZ)>R1(D"!!@L0],21(,#DRH8ZO
++M#HI<O=`$!`@0($"``)DQ(Q8_"\.&^?_Y\*&<'Q/@W@`!`@0($"!`@``!`@0(
++M$"!`@``!`@0($(!`@``!`@0($"!`@``!`@0($"!`@``!`@0($"!`@``!`@0(
++M$"!`@``!$LO4C29-;MQH<J/)C1LW;MRX<>/&C1LWLMS(D@5?EALWLK1H<2-+
++M"SQ'6K1HT0)/BR8M;J!!$V+/GCU[]NS9LV</OCWX]OS:LV?/GCU[]NSYM6?/
++MKSV_?NWY%6'/'GQK(JR)$&$-/GSXL@S(,B#+@"R_?F7Y-6#`@%^_UD18L^;(
++MD2-BCAP1(X8$B2,DQ)`@08($"3$D2)`@(>8("3%,F-#JD,@5OS=`@``!`@3(
++M#"`S+%CPIL3_SX</'XKY,0'N#1`@0(```0($"!`@0(```0($"!`@0(```0($
++M"!`@0(```0($"!`@0-[,`/<&"!`@0(```0($"$`@0(```0($R`P@1"3<N''C
++MQHTF-VZT:'*CQ8T;36X,N'$CRX`;-[+<R'+CQHT!+5H<:=&B28L6+9JT:-&G
++MQ8T;-T*@0;-GSYX]>_;L^84/WYX]^/;LV;/GUYX]>W[MV;/GUYY?OW[AVX-O
++MSYX]>R+@RS+@SY\+?_X,^/4KRZ\!P(#]&9`ERYHU:XX<.7+D"(D)1TB0($&"
++M!`D2)$B0($%"S)`C)$@<F<"$UJP.DUR]``($"!`@0/C-B&7!VS`(_S\^?/@0
++MR<\P$^#>``$"!`@0($"```$"!`@0($"```$"!`@0($"```$"!`@0($"```'R
++MIHL)1S.```$"!`@0($"```$"!`@0($"``"%BZH:&&S>:W&ARX\:-&S=NW+C1
++M`N"-&UENW,B2Y4:6&RT&M&A!SM2$%C=NW+AQXT:+&RV:-+EQXT:($'M^[=FS
++M!]^>/?CP[?FU9P^^/;_V[/FU9\^>7[_V_/JUY]>O7WM^[?FU!U^6+'\NM&ES
++MX<^`7UGP_1H`[,\?8`-^K5FSYLB1(V*.,!$S0<P$$B1(D"!1AP0),4/$W"-!
++MXHB8(V)H)4`BR=4G?D"`:`+";P8_;\.4*/_Q\^%')#_#3'QZ\^8-$"!`@``!
++M`@0($"!`@``!`@0($"!`@``!`@0($"!`@``!`@0($"!`NCCJ\@8($"!`@``!
++M`@0($"!`@``!`@0(D%BF;MQH<N-&DQLMFMQH<>/&C1M9;MRX,>#&@!M96@QH
++MT8(<'PDN_$WXT^+&C1LW;MQH`K!%BR8W;MSXA6;/GCU[]N#;@V_/KSU[]NS9
++ML^?7GCU[?NWYM>?7AE^_?NWYM6?/KSU[\&49\.?"A0L7_OSZA2]"EE]_//SY
++M,P`?O@@1CAPY<N0(B0E')I"H0X($"1(D2)`@<>2>&!)B2!P1PV0'""0=$KG2
++M!`3(&WXS+'AKI430R8\/'_SX&=:ERYLW0(```0($"!`@0(```0($"!`@0(``
++M`0($"!`@0(```0($"!`@0(```0)DQHP9;X```0($"!`@0(```0($"!`@,X``
++MB67J1I,;36XTN='D1I,;-V[<N''CQH`;-P;<&-"B18LC)/RYD$'%A80)1V[<
++MN''CQHT;36XTN7'C!AHT:/;LV8,/'SY\>_;\VH-OSZ\]>_;\`KAGSYY?>W[]
++JVO-KSZ\]>_;LV;-G#[X!?RY<N/!GP"]\:_#ARS+@SQ%@`WZM6;,F(``[
++`
++end
+--- /dev/null
++++ jpeg-6b/ltconfig.new
+@@ -0,0 +1,3016 @@
++#! /bin/sh
++
++# ltconfig - Create a system-specific libtool.
++# Copyright (C) 1996-1999 Free Software Foundation, Inc.
++# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
++#
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++# A lot of this script is taken from autoconf-2.10.
++
++# Check that we are running under the correct shell.
++SHELL=${CONFIG_SHELL-/bin/sh}
++echo=echo
++if test "X$1" = X--no-reexec; then
++ # Discard the --no-reexec flag, and continue.
++ shift
++elif test "X$1" = X--fallback-echo; then
++ # Avoid inline document here, it may be left over
++ :
++elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
++ # Yippee, $echo works!
++ :
++else
++ # Restart under the correct shell.
++ exec "$SHELL" "$0" --no-reexec ${1+"$@"}
++fi
++
++if test "X$1" = X--fallback-echo; then
++ # used as fallback echo
++ shift
++ cat <<EOF
++$*
++EOF
++ exit 0
++fi
++
++# Find the correct PATH separator. Usually this is `:', but
++# DJGPP uses `;' like DOS.
++if test "X${PATH_SEPARATOR+set}" != "Xset"; then
++ UNAME=${UNAME-`uname 2>/dev/null`}
++ case X$UNAME in
++ *-DOS) PATH_SEPARATOR=';' ;;
++ *) PATH_SEPARATOR=':' ;;
++ esac
++fi
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
++
++if test "X${echo_test_string+set}" != "Xset"; then
++ # find a string as large as possible, as long as the shell can cope with it
++ for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
++ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
++ if (echo_test_string="`eval $cmd`") 2>/dev/null &&
++ echo_test_string="`eval $cmd`" &&
++ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then
++ break
++ fi
++ done
++fi
++
++if test "X`($echo '\t') 2>/dev/null`" != 'X\t' ||
++ test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then
++ # The Solaris, AIX, and Digital Unix default echo programs unquote
++ # backslashes. This makes it impossible to quote backslashes using
++ # echo "$something" | sed 's/\\/\\\\/g'
++ #
++ # So, first we look for a working echo in the user's PATH.
++
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
++ for dir in $PATH /usr/ucb; do
++ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
++ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
++ test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
++ echo="$dir/echo"
++ break
++ fi
++ done
++ IFS="$save_ifs"
++
++ if test "X$echo" = Xecho; then
++ # We didn't find a better echo, so look for alternatives.
++ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
++ test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
++ # This shell has a builtin print -r that does the trick.
++ echo='print -r'
++ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
++ test "X$CONFIG_SHELL" != X/bin/ksh; then
++ # If we have ksh, try running ltconfig again with it.
++ ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}"
++ export ORIGINAL_CONFIG_SHELL
++ CONFIG_SHELL=/bin/ksh
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"}
++ else
++ # Try using printf.
++ echo='printf "%s\n"'
++ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
++ test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
++ # Cool, printf works
++ :
++ elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
++ test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
++ CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL"
++ export CONFIG_SHELL
++ SHELL="$CONFIG_SHELL"
++ export SHELL
++ echo="$CONFIG_SHELL $0 --fallback-echo"
++ elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' &&
++ test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then
++ echo="$CONFIG_SHELL $0 --fallback-echo"
++ else
++ # maybe with a smaller string...
++ prev=:
++
++ for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
++ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then
++ break
++ fi
++ prev="$cmd"
++ done
++
++ if test "$prev" != 'sed 50q "$0"'; then
++ echo_test_string=`eval $prev`
++ export echo_test_string
++ exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"}
++ else
++ # Oops. We lost completely, so just stick with echo.
++ echo=echo
++ fi
++ fi
++ fi
++ fi
++fi
++
++# Sed substitution that helps us do robust quoting. It backslashifies
++# metacharacters that are still active within double-quoted strings.
++Xsed='sed -e s/^X//'
++sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
++
++# Same as above, but do not quote variable references.
++double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
++
++# Sed substitution to delay expansion of an escaped shell variable in a
++# double_quote_subst'ed string.
++delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
++
++# The name of this program.
++progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'`
++
++# Constants:
++PROGRAM=ltconfig
++PACKAGE=libtool
++VERSION=1.3.3
++TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)"
++ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5'
++ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5'
++rm="rm -f"
++
++help="Try \`$progname --help' for more information."
++
++# Global variables:
++default_ofile=libtool
++can_build_shared=yes
++enable_shared=yes
++# All known linkers require a `.a' archive for static linking (except M$VC,
++# which needs '.lib').
++enable_static=yes
++enable_fast_install=yes
++enable_dlopen=unknown
++enable_win32_dll=no
++ltmain=
++silent=
++srcdir=
++ac_config_guess=
++ac_config_sub=
++host=
++nonopt=
++ofile="$default_ofile"
++verify_host=yes
++with_gcc=no
++with_gnu_ld=no
++need_locks=yes
++ac_ext=c
++objext=o
++libext=a
++exeext=
++cache_file=
++
++old_AR="$AR"
++old_CC="$CC"
++old_CFLAGS="$CFLAGS"
++old_CPPFLAGS="$CPPFLAGS"
++old_LDFLAGS="$LDFLAGS"
++old_LD="$LD"
++old_LN_S="$LN_S"
++old_LIBS="$LIBS"
++old_NM="$NM"
++old_RANLIB="$RANLIB"
++old_DLLTOOL="$DLLTOOL"
++old_OBJDUMP="$OBJDUMP"
++old_AS="$AS"
++
++# Parse the command line options.
++args=
++prev=
++for option
++do
++ case "$option" in
++ -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
++ *) optarg= ;;
++ esac
++
++ # If the previous option needs an argument, assign it.
++ if test -n "$prev"; then
++ eval "$prev=\$option"
++ prev=
++ continue
++ fi
++
++ case "$option" in
++ --help) cat <<EOM
++Usage: $progname [OPTION]... [HOST [LTMAIN]]
++
++Generate a system-specific libtool script.
++
++ --debug enable verbose shell tracing
++ --disable-shared do not build shared libraries
++ --disable-static do not build static libraries
++ --disable-fast-install do not optimize for fast installation
++ --enable-dlopen enable dlopen support
++ --enable-win32-dll enable building dlls on win32 hosts
++ --help display this help and exit
++ --no-verify do not verify that HOST is a valid host type
++-o, --output=FILE specify the output file [default=$default_ofile]
++ --quiet same as \`--silent'
++ --silent do not print informational messages
++ --srcdir=DIR find \`config.guess' in DIR
++ --version output version information and exit
++ --with-gcc assume that the GNU C compiler will be used
++ --with-gnu-ld assume that the C compiler uses the GNU linker
++ --disable-lock disable file locking
++ --cache-file=FILE configure cache file
++
++LTMAIN is the \`ltmain.sh' shell script fragment or \`ltmain.c' program
++that provides basic libtool functionality.
++
++HOST is the canonical host system name [default=guessed].
++EOM
++ exit 0
++ ;;
++
++ --debug)
++ echo "$progname: enabling shell trace mode"
++ set -x
++ ;;
++
++ --disable-shared) enable_shared=no ;;
++
++ --disable-static) enable_static=no ;;
++
++ --disable-fast-install) enable_fast_install=no ;;
++
++ --enable-dlopen) enable_dlopen=yes ;;
++
++ --enable-win32-dll) enable_win32_dll=yes ;;
++
++ --quiet | --silent) silent=yes ;;
++
++ --srcdir) prev=srcdir ;;
++ --srcdir=*) srcdir="$optarg" ;;
++
++ --no-verify) verify_host=no ;;
++
++ --output | -o) prev=ofile ;;
++ --output=*) ofile="$optarg" ;;
++
++ --version) echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"; exit 0 ;;
++
++ --with-gcc) with_gcc=yes ;;
++ --with-gnu-ld) with_gnu_ld=yes ;;
++
++ --disable-lock) need_locks=no ;;
++
++ --cache-file=*) cache_file="$optarg" ;;
++
++ -*)
++ echo "$progname: unrecognized option \`$option'" 1>&2
++ echo "$help" 1>&2
++ exit 1
++ ;;
++
++ *)
++ if test -z "$ltmain"; then
++ ltmain="$option"
++ elif test -z "$host"; then
++# This generates an unnecessary warning for sparc-sun-solaris4.1.3_U1
++# if test -n "`echo $option| sed 's/[-a-z0-9.]//g'`"; then
++# echo "$progname: warning \`$option' is not a valid host type" 1>&2
++# fi
++ host="$option"
++ else
++ echo "$progname: too many arguments" 1>&2
++ echo "$help" 1>&2
++ exit 1
++ fi ;;
++ esac
++done
++
++if test -z "$ltmain"; then
++ echo "$progname: you must specify a LTMAIN file" 1>&2
++ echo "$help" 1>&2
++ exit 1
++fi
++
++if test ! -f "$ltmain"; then
++ echo "$progname: \`$ltmain' does not exist" 1>&2
++ echo "$help" 1>&2
++ exit 1
++fi
++
++# Quote any args containing shell metacharacters.
++ltconfig_args=
++for arg
++do
++ case "$arg" in
++ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
++ ltconfig_args="$ltconfig_args '$arg'" ;;
++ *) ltconfig_args="$ltconfig_args $arg" ;;
++ esac
++done
++
++# A relevant subset of AC_INIT.
++
++# File descriptor usage:
++# 0 standard input
++# 1 file creation
++# 2 errors and warnings
++# 3 some systems may open it to /dev/tty
++# 4 used on the Kubota Titan
++# 5 compiler messages saved in config.log
++# 6 checking for... messages and results
++if test "$silent" = yes; then
++ exec 6>/dev/null
++else
++ exec 6>&1
++fi
++exec 5>>./config.log
++
++# NLS nuisances.
++# Only set LANG and LC_ALL to C if already set.
++# These must not be set unconditionally because not all systems understand
++# e.g. LANG=C (notably SCO).
++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
++if test "${LANG+set}" = set; then LANG=C; export LANG; fi
++
++if test -n "$cache_file" && test -r "$cache_file"; then
++ echo "loading cache $cache_file within ltconfig"
++ . $cache_file
++fi
++
++if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
++ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
++ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
++ ac_n= ac_c='
++' ac_t=' '
++ else
++ ac_n=-n ac_c= ac_t=
++ fi
++else
++ ac_n= ac_c='\c' ac_t=
++fi
++
++if test -z "$srcdir"; then
++ # Assume the source directory is the same one as the path to LTMAIN.
++ srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'`
++ test "$srcdir" = "$ltmain" && srcdir=.
++fi
++
++trap "$rm conftest*; exit 1" 1 2 15
++if test "$verify_host" = yes; then
++ # Check for config.guess and config.sub.
++ ac_aux_dir=
++ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
++ if test -f $ac_dir/config.guess; then
++ ac_aux_dir=$ac_dir
++ break
++ fi
++ done
++ if test -z "$ac_aux_dir"; then
++ echo "$progname: cannot find config.guess in $srcdir $srcdir/.. $srcdir/../.." 1>&2
++ echo "$help" 1>&2
++ exit 1
++ fi
++ ac_config_guess=$ac_aux_dir/config.guess
++ ac_config_sub=$ac_aux_dir/config.sub
++
++ # Make sure we can run config.sub.
++ if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then :
++ else
++ echo "$progname: cannot run $ac_config_sub" 1>&2
++ echo "$help" 1>&2
++ exit 1
++ fi
++
++ echo $ac_n "checking host system type""... $ac_c" 1>&6
++
++ host_alias=$host
++ case "$host_alias" in
++ "")
++ if host_alias=`$SHELL $ac_config_guess`; then :
++ else
++ echo "$progname: cannot guess host type; you must specify one" 1>&2
++ echo "$help" 1>&2
++ exit 1
++ fi ;;
++ esac
++ host=`$SHELL $ac_config_sub $host_alias`
++ echo "$ac_t$host" 1>&6
++
++ # Make sure the host verified.
++ test -z "$host" && exit 1
++
++elif test -z "$host"; then
++ echo "$progname: you must specify a host type if you use \`--no-verify'" 1>&2
++ echo "$help" 1>&2
++ exit 1
++else
++ host_alias=$host
++fi
++
++# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
++case "$host_os" in
++linux-gnu*) ;;
++linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
++esac
++
++host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
++host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
++host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
++
++case "$host_os" in
++aix3*)
++ # AIX sometimes has problems with the GCC collect2 program. For some
++ # reason, if we set the COLLECT_NAMES environment variable, the problems
++ # vanish in a puff of smoke.
++ if test "${COLLECT_NAMES+set}" != set; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++ fi
++ ;;
++esac
++
++# Determine commands to create old-style static archives.
++old_archive_cmds='$AR cru $oldlib$oldobjs'
++old_postinstall_cmds='chmod 644 $oldlib'
++old_postuninstall_cmds=
++
++# Set a sane default for `AR'.
++test -z "$AR" && AR=ar
++
++# Set a sane default for `OBJDUMP'.
++test -z "$OBJDUMP" && OBJDUMP=objdump
++
++# If RANLIB is not set, then run the test.
++if test "${RANLIB+set}" != "set"; then
++ result=no
++
++ echo $ac_n "checking for ranlib... $ac_c" 1>&6
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
++ for dir in $PATH; do
++ test -z "$dir" && dir=.
++ if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then
++ RANLIB="ranlib"
++ result="ranlib"
++ break
++ fi
++ done
++ IFS="$save_ifs"
++
++ echo "$ac_t$result" 1>&6
++fi
++
++if test -n "$RANLIB"; then
++ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
++ old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
++fi
++
++# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin.
++test -z "$DLLTOOL" && DLLTOOL=dlltool
++test -z "$OBJDUMP" && OBJDUMP=objdump
++test -z "$AS" && AS=as
++
++# Check to see if we are using GCC.
++if test "$with_gcc" != yes || test -z "$CC"; then
++ # If CC is not set, then try to find GCC or a usable CC.
++ if test -z "$CC"; then
++ echo $ac_n "checking for gcc... $ac_c" 1>&6
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
++ for dir in $PATH; do
++ test -z "$dir" && dir=.
++ if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then
++ CC="gcc"
++ break
++ fi
++ done
++ IFS="$save_ifs"
++
++ if test -n "$CC"; then
++ echo "$ac_t$CC" 1>&6
++ else
++ echo "$ac_t"no 1>&6
++ fi
++ fi
++
++ # Not "gcc", so try "cc", rejecting "/usr/ucb/cc".
++ if test -z "$CC"; then
++ echo $ac_n "checking for cc... $ac_c" 1>&6
++ IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
++ cc_rejected=no
++ for dir in $PATH; do
++ test -z "$dir" && dir=.
++ if test -f $dir/cc || test -f $dir/cc$ac_exeext; then
++ if test "$dir/cc" = "/usr/ucb/cc"; then
++ cc_rejected=yes
++ continue
++ fi
++ CC="cc"
++ break
++ fi
++ done
++ IFS="$save_ifs"
++ if test $cc_rejected = yes; then
++ # We found a bogon in the path, so make sure we never use it.
++ set dummy $CC
++ shift
++ if test $# -gt 0; then
++ # We chose a different compiler from the bogus one.
++ # However, it has the same name, so the bogon will be chosen
++ # first if we set CC to just the name; use the full file name.
++ shift
++ set dummy "$dir/cc" "$@"
++ shift
++ CC="$@"
++ fi
++ fi
++
++ if test -n "$CC"; then
++ echo "$ac_t$CC" 1>&6
++ else
++ echo "$ac_t"no 1>&6
++ fi
++
++ if test -z "$CC"; then
++ echo "$progname: error: no acceptable cc found in \$PATH" 1>&2
++ exit 1
++ fi
++ fi
++
++ # Now see if the compiler is really GCC.
++ with_gcc=no
++ echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6
++ echo "$progname:581: checking whether we are using GNU C" >&5
++
++ $rm conftest.c
++ cat > conftest.c <<EOF
++#ifdef __GNUC__
++ yes;
++#endif
++EOF
++ if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++ with_gcc=yes
++ fi
++ $rm conftest.c
++ echo "$ac_t$with_gcc" 1>&6
++fi
++
++# Allow CC to be a program name with arguments.
++set dummy $CC
++compiler="$2"
++
++echo $ac_n "checking for object suffix... $ac_c" 1>&6
++$rm conftest*
++echo 'int i = 1;' > conftest.c
++echo "$progname:603: checking for object suffix" >& 5
++if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then
++ # Append any warnings to the config.log.
++ cat conftest.err 1>&5
++
++ for ac_file in conftest.*; do
++ case $ac_file in
++ *.c) ;;
++ *) objext=`echo $ac_file | sed -e s/conftest.//` ;;
++ esac
++ done
++else
++ cat conftest.err 1>&5
++ echo "$progname: failed program was:" >&5
++ cat conftest.c >&5
++fi
++$rm conftest*
++echo "$ac_t$objext" 1>&6
++
++echo $ac_n "checking for executable suffix... $ac_c" 1>&6
++if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_cv_exeext="no"
++ $rm conftest*
++ echo 'main () { return 0; }' > conftest.c
++ echo "$progname:629: checking for executable suffix" >& 5
++ if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then
++ # Append any warnings to the config.log.
++ cat conftest.err 1>&5
++
++ for ac_file in conftest.*; do
++ case $ac_file in
++ *.c | *.err | *.$objext ) ;;
++ *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;;
++ esac
++ done
++ else
++ cat conftest.err 1>&5
++ echo "$progname: failed program was:" >&5
++ cat conftest.c >&5
++ fi
++ $rm conftest*
++fi
++if test "X$ac_cv_exeext" = Xno; then
++ exeext=""
++else
++ exeext="$ac_cv_exeext"
++fi
++echo "$ac_t$ac_cv_exeext" 1>&6
++
++echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6
++pic_flag=
++special_shlib_compile_flags=
++wl=
++link_static_flag=
++no_builtin_flag=
++
++if test "$with_gcc" = yes; then
++ wl='-Wl,'
++ link_static_flag='-static'
++
++ case "$host_os" in
++ beos* | irix5* | irix6* | osf3* | osf4*)
++ # PIC is the default for these OSes.
++ ;;
++ aix*)
++ # Below there is a dirty hack to force normal static linking with -ldl
++ # The problem is because libdl dynamically linked with both libc and
++ # libC (AIX C++ library), which obviously doesn't included in libraries
++ # list by gcc. This cause undefined symbols with -static flags.
++ # This hack allows C programs to be linked with "-static -ldl", but
++ # we not sure about C++ programs.
++ link_static_flag="$link_static_flag ${wl}-lC"
++ ;;
++ cygwin* | mingw* | os2*)
++ # We can build DLLs from non-PIC.
++ ;;
++ amigaos*)
++ # FIXME: we need at least 68020 code to build shared libraries, but
++ # adding the `-m68020' flag to GCC prevents building anything better,
++ # like `-m68040'.
++ pic_flag='-m68020 -resident32 -malways-restore-a4'
++ ;;
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ pic_flag=-Kconform_pic
++ fi
++ ;;
++ *)
++ pic_flag='-fPIC'
++ ;;
++ esac
++else
++ # PORTME Check for PIC flags for the system compiler.
++ case "$host_os" in
++ aix3* | aix4*)
++ # All AIX code is PIC.
++ link_static_flag='-bnso -bI:/lib/syscalls.exp'
++ ;;
++
++ hpux9* | hpux10* | hpux11*)
++ # Is there a better link_static_flag that works with the bundled CC?
++ wl='-Wl,'
++ link_static_flag="${wl}-a ${wl}archive"
++ pic_flag='+Z'
++ ;;
++
++ irix5* | irix6*)
++ wl='-Wl,'
++ link_static_flag='-non_shared'
++ # PIC (with -KPIC) is the default.
++ ;;
++
++ cygwin* | mingw* | os2*)
++ # We can build DLLs from non-PIC.
++ ;;
++
++ osf3* | osf4*)
++ # All OSF/1 code is PIC.
++ wl='-Wl,'
++ link_static_flag='-non_shared'
++ ;;
++
++ sco3.2v5*)
++ pic_flag='-Kpic'
++ link_static_flag='-dn'
++ special_shlib_compile_flags='-belf'
++ ;;
++
++ solaris*)
++ pic_flag='-KPIC'
++ link_static_flag='-Bstatic'
++ wl='-Wl,'
++ ;;
++
++ sunos4*)
++ pic_flag='-PIC'
++ link_static_flag='-Bstatic'
++ wl='-Qoption ld '
++ ;;
++
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ pic_flag='-KPIC'
++ link_static_flag='-Bstatic'
++ wl='-Wl,'
++ ;;
++
++ uts4*)
++ pic_flag='-pic'
++ link_static_flag='-Bstatic'
++ ;;
++ sysv4*MP*)
++ if test -d /usr/nec ;then
++ pic_flag='-Kconform_pic'
++ link_static_flag='-Bstatic'
++ fi
++ ;;
++ *)
++ can_build_shared=no
++ ;;
++ esac
++fi
++
++if test -n "$pic_flag"; then
++ echo "$ac_t$pic_flag" 1>&6
++
++ # Check to make sure the pic_flag actually works.
++ echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6
++ $rm conftest*
++ echo "int some_variable = 0;" > conftest.c
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS $pic_flag -DPIC"
++ echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5
++ if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then
++ # Append any warnings to the config.log.
++ cat conftest.err 1>&5
++
++ case "$host_os" in
++ hpux9* | hpux10* | hpux11*)
++ # On HP-UX, both CC and GCC only warn that PIC is supported... then they
++ # create non-PIC objects. So, if there were any warnings, we assume that
++ # PIC is not supported.
++ if test -s conftest.err; then
++ echo "$ac_t"no 1>&6
++ can_build_shared=no
++ pic_flag=
++ else
++ echo "$ac_t"yes 1>&6
++ pic_flag=" $pic_flag"
++ fi
++ ;;
++ *)
++ echo "$ac_t"yes 1>&6
++ pic_flag=" $pic_flag"
++ ;;
++ esac
++ else
++ # Append any errors to the config.log.
++ cat conftest.err 1>&5
++ can_build_shared=no
++ pic_flag=
++ echo "$ac_t"no 1>&6
++ fi
++ CFLAGS="$save_CFLAGS"
++ $rm conftest*
++else
++ echo "$ac_t"none 1>&6
++fi
++
++# Check to see if options -o and -c are simultaneously supported by compiler
++echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6
++$rm -r conftest 2>/dev/null
++mkdir conftest
++cd conftest
++$rm conftest*
++echo "int some_variable = 0;" > conftest.c
++mkdir out
++# According to Tom Tromey, Ian Lance Taylor reported there are C compilers
++# that will create temporary files in the current directory regardless of
++# the output directory. Thus, making CWD read-only will cause this test
++# to fail, enabling locking or at least warning the user not to do parallel
++# builds.
++chmod -w .
++save_CFLAGS="$CFLAGS"
++CFLAGS="$CFLAGS -o out/conftest2.o"
++echo "$progname:829: checking if $compiler supports -c -o file.o" >&5
++if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then
++
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s out/conftest.err; then
++ echo "$ac_t"no 1>&6
++ compiler_c_o=no
++ else
++ echo "$ac_t"yes 1>&6
++ compiler_c_o=yes
++ fi
++else
++ # Append any errors to the config.log.
++ cat out/conftest.err 1>&5
++ compiler_c_o=no
++ echo "$ac_t"no 1>&6
++fi
++CFLAGS="$save_CFLAGS"
++chmod u+w .
++$rm conftest* out/*
++rmdir out
++cd ..
++rmdir conftest
++$rm -r conftest 2>/dev/null
++
++if test x"$compiler_c_o" = x"yes"; then
++ # Check to see if we can write to a .lo
++ echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6
++ $rm conftest*
++ echo "int some_variable = 0;" > conftest.c
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -c -o conftest.lo"
++ echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5
++if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then
++
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ echo "$ac_t"no 1>&6
++ compiler_o_lo=no
++ else
++ echo "$ac_t"yes 1>&6
++ compiler_o_lo=yes
++ fi
++ else
++ # Append any errors to the config.log.
++ cat conftest.err 1>&5
++ compiler_o_lo=no
++ echo "$ac_t"no 1>&6
++ fi
++ CFLAGS="$save_CFLAGS"
++ $rm conftest*
++else
++ compiler_o_lo=no
++fi
++
++# Check to see if we can do hard links to lock some files if needed
++hard_links="nottested"
++if test "$compiler_c_o" = no && test "$need_locks" != no; then
++ # do not overwrite the value of need_locks provided by the user
++ echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6
++ hard_links=yes
++ $rm conftest*
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ touch conftest.a
++ ln conftest.a conftest.b 2>&5 || hard_links=no
++ ln conftest.a conftest.b 2>/dev/null && hard_links=no
++ echo "$ac_t$hard_links" 1>&6
++ $rm conftest*
++ if test "$hard_links" = no; then
++ echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2
++ need_locks=warn
++ fi
++else
++ need_locks=no
++fi
++
++if test "$with_gcc" = yes; then
++ # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
++ echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6
++ $rm conftest*
++ echo "int some_variable = 0;" > conftest.c
++ save_CFLAGS="$CFLAGS"
++ CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c"
++ echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
++ if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then
++
++ # The compiler can only warn and ignore the option if not recognized
++ # So say no if there are warnings
++ if test -s conftest.err; then
++ echo "$ac_t"no 1>&6
++ compiler_rtti_exceptions=no
++ else
++ echo "$ac_t"yes 1>&6
++ compiler_rtti_exceptions=yes
++ fi
++ else
++ # Append any errors to the config.log.
++ cat conftest.err 1>&5
++ compiler_rtti_exceptions=no
++ echo "$ac_t"no 1>&6
++ fi
++ CFLAGS="$save_CFLAGS"
++ $rm conftest*
++
++ if test "$compiler_rtti_exceptions" = "yes"; then
++ no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
++ else
++ no_builtin_flag=' -fno-builtin'
++ fi
++
++fi
++
++# Check for any special shared library compilation flags.
++if test -n "$special_shlib_compile_flags"; then
++ echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2
++ if echo "$old_CC $old_CFLAGS " | egrep -e "[ ]$special_shlib_compile_flags[ ]" >/dev/null; then :
++ else
++ echo "$progname: add \`$special_shlib_compile_flags' to the CC or CFLAGS env variable and reconfigure" 1>&2
++ can_build_shared=no
++ fi
++fi
++
++echo $ac_n "checking if $compiler static flag $link_static_flag works... $ac_c" 1>&6
++$rm conftest*
++echo 'main(){return(0);}' > conftest.c
++save_LDFLAGS="$LDFLAGS"
++LDFLAGS="$LDFLAGS $link_static_flag"
++echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5
++if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
++ echo "$ac_t$link_static_flag" 1>&6
++else
++ echo "$ac_t"none 1>&6
++ link_static_flag=
++fi
++LDFLAGS="$save_LDFLAGS"
++$rm conftest*
++
++if test -z "$LN_S"; then
++ # Check to see if we can use ln -s, or we need hard links.
++ echo $ac_n "checking whether ln -s works... $ac_c" 1>&6
++ $rm conftest.dat
++ if ln -s X conftest.dat 2>/dev/null; then
++ $rm conftest.dat
++ LN_S="ln -s"
++ else
++ LN_S=ln
++ fi
++ if test "$LN_S" = "ln -s"; then
++ echo "$ac_t"yes 1>&6
++ else
++ echo "$ac_t"no 1>&6
++ fi
++fi
++
++# Make sure LD is an absolute path.
++if test -z "$LD"; then
++ ac_prog=ld
++ if test "$with_gcc" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6
++ echo "$progname:991: checking for ld used by GCC" >&5
++ ac_prog=`($CC -print-prog-name=ld) 2>&5`
++ case "$ac_prog" in
++ # Accept absolute paths.
++ [\\/]* | [A-Za-z]:[\\/]*)
++ re_direlt='/[^/][^/]*/\.\./'
++ # Canonicalize the path of ld
++ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
++ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we are not using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++ elif test "$with_gnu_ld" = yes; then
++ echo $ac_n "checking for GNU ld... $ac_c" 1>&6
++ echo "$progname:1015: checking for GNU ld" >&5
++ else
++ echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
++ echo "$progname:1018: checking for non-GNU ld" >&5
++ fi
++
++ if test -z "$LD"; then
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
++ for ac_dir in $PATH; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some GNU ld's only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ if "$LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
++ test "$with_gnu_ld" != no && break
++ else
++ test "$with_gnu_ld" != yes && break
++ fi
++ fi
++ done
++ IFS="$ac_save_ifs"
++ fi
++
++ if test -n "$LD"; then
++ echo "$ac_t$LD" 1>&6
++ else
++ echo "$ac_t"no 1>&6
++ fi
++
++ if test -z "$LD"; then
++ echo "$progname: error: no acceptable ld found in \$PATH" 1>&2
++ exit 1
++ fi
++fi
++
++# Check to see if it really is or is not GNU ld.
++echo $ac_n "checking if the linker ($LD) is GNU ld... $ac_c" 1>&6
++# I'd rather use --version here, but apparently some GNU ld's only accept -v.
++if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
++ with_gnu_ld=yes
++else
++ with_gnu_ld=no
++fi
++echo "$ac_t$with_gnu_ld" 1>&6
++
++# See if the linker supports building shared libraries.
++echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c" 1>&6
++
++allow_undefined_flag=
++no_undefined_flag=
++need_lib_prefix=unknown
++need_version=unknown
++# when you set need_version to no, make sure it does not cause -set_version
++# flags to be left without arguments
++archive_cmds=
++archive_expsym_cmds=
++old_archive_from_new_cmds=
++export_dynamic_flag_spec=
++whole_archive_flag_spec=
++thread_safe_flag_spec=
++hardcode_libdir_flag_spec=
++hardcode_libdir_separator=
++hardcode_direct=no
++hardcode_minus_L=no
++hardcode_shlibpath_var=unsupported
++runpath_var=
++always_export_symbols=no
++export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols'
++# include_expsyms should be a list of space-separated symbols to be *always*
++# included in the symbol list
++include_expsyms=
++# exclude_expsyms can be an egrep regular expression of symbols to exclude
++# it will be wrapped by ` (' and `)$', so one must not match beginning or
++# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
++# as well as any symbol that contains `d'.
++exclude_expsyms="_GLOBAL_OFFSET_TABLE_"
++# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
++# platforms (ab)use it in PIC code, but their linkers get confused if
++# the symbol is explicitly referenced. Since portable code cannot
++# rely on this symbol name, it's probably fine to never include it in
++# preloaded symbol tables.
++
++case "$host_os" in
++cygwin* | mingw*)
++ # FIXME: the MSVC++ port hasn't been tested in a loooong time
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ if test "$with_gcc" != yes; then
++ with_gnu_ld=no
++ fi
++ ;;
++
++esac
++
++ld_shlibs=yes
++if test "$with_gnu_ld" = yes; then
++ # If archive_cmds runs LD, not CC, wlarc should be empty
++ wlarc='${wl}'
++
++ # See if GNU ld supports shared libraries.
++ case "$host_os" in
++ aix3* | aix4*)
++ # On AIX, the GNU linker is very broken
++ ld_shlibs=no
++ cat <<EOF 1>&2
++
++*** Warning: the GNU linker, at least up to release 2.9.1, is reported
++*** to be unable to reliably create shared libraries on AIX.
++*** Therefore, libtool is disabling shared libraries support. If you
++*** really care for shared libraries, you may want to modify your PATH
++*** so that a non-GNU linker is found, and then restart.
++
++EOF
++ ;;
++
++ amigaos*)
++ archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++
++ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
++ # that the semantics of dynamic libraries on AmigaOS, at least up
++ # to version 4, is to share data among multiple programs linked
++ # with the same dynamic library. Since this doesn't match the
++ # behavior of shared libraries on other platforms, we can use
++ # them.
++ ld_shlibs=no
++ ;;
++
++ beos*)
++ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
++ allow_undefined_flag=unsupported
++ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
++ # support --undefined. This deserves some investigation. FIXME
++ archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ cygwin* | mingw*)
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec='-L$libdir'
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++
++ # Extract the symbol export list from an `--export-all' def file,
++ # then regenerate the def file from the symbol export list, so that
++ # the compiled dll only exports the symbol export list.
++ export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
++ test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
++ $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~
++ sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols'
++
++ archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~
++ _lt_hint=1;
++ for symbol in `cat $export_symbols`; do
++ echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def;
++ _lt_hint=`expr 1 + \$_lt_hint`;
++ done~
++ test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~
++ test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~
++ $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
++ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
++ $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~
++ $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~
++ $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts'
++
++ old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a'
++ ;;
++
++ netbsd*)
++ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
++ # can we support soname and/or expsyms with a.out? -oliva
++ fi
++ ;;
++
++ solaris*)
++ if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
++ ld_shlibs=no
++ cat <<EOF 1>&2
++
++*** Warning: The releases 2.8.* of the GNU linker cannot reliably
++*** create shared libraries on Solaris systems. Therefore, libtool
++*** is disabling shared libraries support. We urge you to upgrade GNU
++*** binutils to release 2.9.1 or newer. Another option is to modify
++*** your PATH or compiler configuration so that the native linker is
++*** used, and then restart.
++
++EOF
++ elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++
++ sunos4*)
++ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts'
++ wlarc=
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ *)
++ if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
++ archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++
++ if test "$ld_shlibs" = yes; then
++ runpath_var=LD_RUN_PATH
++ hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
++ export_dynamic_flag_spec='${wl}--export-dynamic'
++ case $host_os in
++ cygwin* | mingw*)
++ # dlltool doesn't understand --whole-archive et. al.
++ whole_archive_flag_spec=
++ ;;
++ *)
++ whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
++ ;;
++ esac
++ fi
++else
++ # PORTME fill in a description of your system's linker (not GNU ld)
++ case "$host_os" in
++ aix3*)
++ allow_undefined_flag=unsupported
++ always_export_symbols=yes
++ archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname'
++ # Note: this linker hardcodes the directories in LIBPATH if there
++ # are no directories specified by -L.
++ hardcode_minus_L=yes
++ if test "$with_gcc" = yes && test -z "$link_static_flag"; then
++ # Neither direct hardcoding nor static linking is supported with a
++ # broken collect2.
++ hardcode_direct=unsupported
++ fi
++ ;;
++
++ aix4*)
++ hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib'
++ hardcode_libdir_separator=':'
++ if test "$with_gcc" = yes; then
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" && \
++ strings "$collect2name" | grep resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ hardcode_direct=yes
++ else
++ # We have old collect2
++ hardcode_direct=unsupported
++ # It fails to find uninstalled libraries when the uninstalled
++ # path is not listed in the libpath. Setting hardcode_minus_L
++ # to unsupported forces relinking
++ hardcode_minus_L=yes
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_libdir_separator=
++ fi
++ shared_flag='-shared'
++ else
++ shared_flag='${wl}-bM:SRE'
++ hardcode_direct=yes
++ fi
++ allow_undefined_flag=' ${wl}-berok'
++ archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}'
++ archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}'
++ case "$host_os" in aix4.[01]|aix4.[01].*)
++ # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on
++ always_export_symbols=yes ;;
++ esac
++ ;;
++
++ amigaos*)
++ archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ # see comment about different semantics on the GNU ld section
++ ld_shlibs=no
++ ;;
++
++ cygwin* | mingw*)
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec=' '
++ allow_undefined_flag=unsupported
++ # Tell ltmain to make .lib files, not .a files.
++ libext=lib
++ # FIXME: Setting linknames here is a bad hack.
++ archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
++ # The linker will automatically build a .lib file if we build a DLL.
++ old_archive_from_new_cmds='true'
++ # FIXME: Should let the user specify the lib program.
++ old_archive_cmds='lib /OUT:$oldlib$oldobjs'
++ fix_srcfile_path='`cygpath -w $srcfile`'
++ ;;
++
++ freebsd1*)
++ ld_shlibs=no
++ ;;
++
++ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
++ # support. Future versions do this automatically, but an explicit c++rt0.o
++ # does not break anything, and helps significantly (at the cost of a little
++ # extra space).
++ freebsd2.2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
++ freebsd2*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
++ freebsd*)
++ archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ hpux9* | hpux10* | hpux11*)
++ case "$host_os" in
++ hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;;
++ *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;;
++ esac
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++ hardcode_minus_L=yes # Not in the search PATH, but as the default
++ # location of the library.
++ export_dynamic_flag_spec='${wl}-E'
++ ;;
++
++ irix5* | irix6*)
++ if test "$with_gcc" = yes; then
++ archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
++ else
++ archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
++ fi
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
++
++ netbsd*)
++ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out
++ else
++ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF
++ fi
++ hardcode_libdir_flag_spec='${wl}-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ openbsd*)
++ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ os2*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ allow_undefined_flag=unsupported
++ archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def'
++ old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def'
++ ;;
++
++ osf3* | osf4*)
++ if test "$with_gcc" = yes; then
++ allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
++ archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
++ else
++ allow_undefined_flag=' -expect_unresolved \*'
++ archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
++ fi
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
++
++ sco3.2v5*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
++ hardcode_shlibpath_var=no
++ runpath_var=LD_RUN_PATH
++ hardcode_runpath_var=yes
++ ;;
++
++ solaris*)
++ no_undefined_flag=' -z text'
++ # $CC -shared without GNU ld will not create a library from C++
++ # object files and a static libstdc++, better avoid it by now
++ archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts'
++ archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
++ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp'
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_shlibpath_var=no
++ case "$host_os" in
++ solaris2.[0-5] | solaris2.[0-5].*) ;;
++ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
++ whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
++ esac
++ ;;
++
++ sunos4*)
++ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
++ runpath_var='LD_RUN_PATH'
++ hardcode_shlibpath_var=no
++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
++ ;;
++
++ sysv4.3*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
++ hardcode_shlibpath_var=no
++ export_dynamic_flag_spec='-Bexport'
++ ;;
++
++ uts4*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ dgux*)
++ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_shlibpath_var=no
++ ;;
++
++ sysv4*MP*)
++ if test -d /usr/nec ;then
++ # archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs'
++ archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs'
++ hardcode_shlibpath_var=no
++ runpath_var=LD_RUN_PATH
++ hardcode_runpath_var=yes
++ ld_shlibs=yes
++ fi
++ ;;
++
++ *)
++ ld_shlibs=no
++ ;;
++ esac
++fi
++echo "$ac_t$ld_shlibs" 1>&6
++test "$ld_shlibs" = no && can_build_shared=no
++
++if test -z "$NM"; then
++ echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6
++ case "$NM" in
++ [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path.
++ *)
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
++ for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then
++ # Check to see if the nm accepts a BSD-compat flag.
++ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
++ # nm: unknown option "B" ignored
++ if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
++ NM="$ac_dir/nm -B"
++ break
++ elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
++ NM="$ac_dir/nm -p"
++ break
++ else
++ NM=${NM="$ac_dir/nm"} # keep the first match, but
++ continue # so that we can try to find one that supports BSD flags
++ fi
++ fi
++ done
++ IFS="$ac_save_ifs"
++ test -z "$NM" && NM=nm
++ ;;
++ esac
++ echo "$ac_t$NM" 1>&6
++fi
++
++# Check for command to grab the raw symbol name followed by C symbol from nm.
++echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6
++
++# These are sane defaults that work on at least a few old systems.
++# [They come from Ultrix. What could be older than Ultrix?!! ;)]
++
++# Character class describing NM global symbol codes.
++symcode='[BCDEGRST]'
++
++# Regexp to match symbols that can be accessed directly from C.
++sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
++
++# Transform the above into a raw symbol and a C symbol.
++symxfrm='\1 \2\3 \3'
++
++# Transform an extracted symbol line into a proper C declaration
++global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
++
++# Define system-specific variables.
++case "$host_os" in
++aix*)
++ symcode='[BCDT]'
++ ;;
++cygwin* | mingw*)
++ symcode='[ABCDGISTW]'
++ ;;
++hpux*) # Its linker distinguishes data from code symbols
++ global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'"
++ ;;
++irix*)
++ symcode='[BCDEGRST]'
++ ;;
++solaris*)
++ symcode='[BDT]'
++ ;;
++sysv4)
++ symcode='[DFNSTU]'
++ ;;
++esac
++
++# If we're using GNU nm, then use its standard symbol codes.
++if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
++ symcode='[ABCDGISTW]'
++fi
++
++# Try without a prefix undercore, then with it.
++for ac_symprfx in "" "_"; do
++
++ # Write the raw and C identifiers.
++ global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode\)[ ][ ]*\($ac_symprfx\)$sympat$/$symxfrm/p'"
++
++ # Check to see that the pipe works correctly.
++ pipe_works=no
++ $rm conftest*
++ cat > conftest.c <<EOF
++#ifdef __cplusplus
++extern "C" {
++#endif
++char nm_test_var;
++void nm_test_func(){}
++#ifdef __cplusplus
++}
++#endif
++main(){nm_test_var='a';nm_test_func();return(0);}
++EOF
++
++ echo "$progname:1592: checking if global_symbol_pipe works" >&5
++ if { (eval echo $progname:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then
++ # Now try to grab the symbols.
++ nlist=conftest.nm
++ if { echo "$progname:1596: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then
++
++ # Try sorting and uniquifying the output.
++ if sort "$nlist" | uniq > "$nlist"T; then
++ mv -f "$nlist"T "$nlist"
++ else
++ rm -f "$nlist"T
++ fi
++
++ # Make sure that we snagged all the symbols we need.
++ if egrep ' nm_test_var$' "$nlist" >/dev/null; then
++ if egrep ' nm_test_func$' "$nlist" >/dev/null; then
++ cat <<EOF > conftest.c
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++EOF
++ # Now generate the symbol file.
++ eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c'
++
++ cat <<EOF >> conftest.c
++#if defined (__STDC__) && __STDC__
++# define lt_ptr_t void *
++#else
++# define lt_ptr_t char *
++# define const
++#endif
++
++/* The mapping between symbol names and symbols. */
++const struct {
++ const char *name;
++ lt_ptr_t address;
++}
++lt_preloaded_symbols[] =
++{
++EOF
++ sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c
++ cat <<\EOF >> conftest.c
++ {0, (lt_ptr_t) 0}
++};
++
++#ifdef __cplusplus
++}
++#endif
++EOF
++ # Now try linking the two files.
++ mv conftest.$objext conftstm.$objext
++ save_LIBS="$LIBS"
++ save_CFLAGS="$CFLAGS"
++ LIBS="conftstm.$objext"
++ CFLAGS="$CFLAGS$no_builtin_flag"
++ if { (eval echo $progname:1648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
++ pipe_works=yes
++ else
++ echo "$progname: failed program was:" >&5
++ cat conftest.c >&5
++ fi
++ LIBS="$save_LIBS"
++ else
++ echo "cannot find nm_test_func in $nlist" >&5
++ fi
++ else
++ echo "cannot find nm_test_var in $nlist" >&5
++ fi
++ else
++ echo "cannot run $global_symbol_pipe" >&5
++ fi
++ else
++ echo "$progname: failed program was:" >&5
++ cat conftest.c >&5
++ fi
++ $rm conftest* conftst*
++
++ # Do not use the global_symbol_pipe unless it works.
++ if test "$pipe_works" = yes; then
++ break
++ else
++ global_symbol_pipe=
++ fi
++done
++if test "$pipe_works" = yes; then
++ echo "${ac_t}ok" 1>&6
++else
++ echo "${ac_t}failed" 1>&6
++fi
++
++if test -z "$global_symbol_pipe"; then
++ global_symbol_to_cdecl=
++fi
++
++# Check hardcoding attributes.
++echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6
++hardcode_action=
++if test -n "$hardcode_libdir_flag_spec" || \
++ test -n "$runpath_var"; then
++
++ # We can hardcode non-existant directories.
++ if test "$hardcode_direct" != no &&
++ # If the only mechanism to avoid hardcoding is shlibpath_var, we
++ # have to relink, otherwise we might link with an installed library
++ # when we should be linking with a yet-to-be-installed one
++ ## test "$hardcode_shlibpath_var" != no &&
++ test "$hardcode_minus_L" != no; then
++ # Linking always hardcodes the temporary library directory.
++ hardcode_action=relink
++ else
++ # We can link without hardcoding, and we can hardcode nonexisting dirs.
++ hardcode_action=immediate
++ fi
++else
++ # We cannot hardcode anything, or else we can only hardcode existing
++ # directories.
++ hardcode_action=unsupported
++fi
++echo "$ac_t$hardcode_action" 1>&6
++
++
++reload_flag=
++reload_cmds='$LD$reload_flag -o $output$reload_objs'
++echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6
++# PORTME Some linkers may need a different reload flag.
++reload_flag='-r'
++echo "$ac_t$reload_flag" 1>&6
++test -n "$reload_flag" && reload_flag=" $reload_flag"
++
++# PORTME Fill in your ld.so characteristics
++library_names_spec=
++libname_spec='lib$name'
++soname_spec=
++postinstall_cmds=
++postuninstall_cmds=
++finish_cmds=
++finish_eval=
++shlibpath_var=
++shlibpath_overrides_runpath=unknown
++version_type=none
++dynamic_linker="$host_os ld.so"
++sys_lib_dlsearch_path_spec="/lib /usr/lib"
++sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
++file_magic_cmd=
++file_magic_test_file=
++deplibs_check_method='unknown'
++# Need to set the preceding variable on all platforms that support
++# interlibrary dependencies.
++# 'none' -- dependencies not supported.
++# `unknown' -- same as none, but documents that we really don't know.
++# 'pass_all' -- all dependencies passed with no checks.
++# 'test_compile' -- check by making test program.
++# 'file_magic [regex]' -- check by looking for files in library path
++# which responds to the $file_magic_cmd with a given egrep regex.
++# If you have `file' or equivalent on your system and you're not sure
++# whether `pass_all' will *always* work, you probably want this one.
++echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6
++case "$host_os" in
++aix3*)
++ version_type=linux
++ library_names_spec='${libname}${release}.so$versuffix $libname.a'
++ shlibpath_var=LIBPATH
++
++ # AIX has no versioning support, so we append a major version to the name.
++ soname_spec='${libname}${release}.so$major'
++ ;;
++
++aix4*)
++ version_type=linux
++ # AIX has no versioning support, so currently we can not hardcode correct
++ # soname into executable. Probably we can add versioning support to
++ # collect2, so additional links can be useful in future.
++ # We preserve .a as extension for shared libraries though AIX4.2
++ # and later linker supports .so
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a'
++ shlibpath_var=LIBPATH
++ deplibs_check_method=pass_all
++ ;;
++
++amigaos*)
++ library_names_spec='$libname.ixlibrary $libname.a'
++ # Create ${libname}_ixlibrary.a entries in /sys/libs.
++ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
++ ;;
++
++beos*)
++ library_names_spec='${libname}.so'
++ dynamic_linker="$host_os ld.so"
++ shlibpath_var=LIBRARY_PATH
++ deplibs_check_method=pass_all
++ lt_cv_dlopen="load_add_on"
++ lt_cv_dlopen_libs=
++ lt_cv_dlopen_self=yes
++ ;;
++
++bsdi4*)
++ version_type=linux
++ library_names_spec='${libname}.so$major ${libname}.so'
++ soname_spec='${libname}.so'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=/shlib/libc.so
++ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
++ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
++ # the default ld.so.conf also contains /usr/contrib/lib and
++ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
++ # libtool to hard-code these into programs
++ ;;
++
++cygwin* | mingw*)
++ version_type=windows
++ need_version=no
++ need_lib_prefix=no
++ if test "$with_gcc" = yes; then
++ library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a'
++ else
++ library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib'
++ fi
++ dynamic_linker='Win32 ld.exe'
++ deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
++ file_magic_cmd='${OBJDUMP} -f'
++ # FIXME: first we should search . and the directory the executable is in
++ shlibpath_var=PATH
++ lt_cv_dlopen="LoadLibrary"
++ lt_cv_dlopen_libs=
++ ;;
++
++freebsd1*)
++ dynamic_linker=no
++ ;;
++
++freebsd*)
++ objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
++ version_type=freebsd-$objformat
++ case "$version_type" in
++ freebsd-elf*)
++ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=`echo /usr/lib/libc.so*`
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
++ need_version=no
++ need_lib_prefix=no
++ ;;
++ freebsd-*)
++ deplibs_check_method=unknown
++ library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix'
++ need_version=yes
++ ;;
++ esac
++ finish_cmds='PATH="\$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ case "$host_os" in
++ freebsd2* | freebsd3.[01]*)
++ shlibpath_overrides_runpath=yes
++ ;;
++ *) # from 3.2 on
++ shlibpath_overrides_runpath=no
++ ;;
++ esac
++ ;;
++
++gnu*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
++ soname_spec='${libname}${release}.so$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++hpux9* | hpux10* | hpux11*)
++ # Give a soname corresponding to the major version so that dld.sl refuses to
++ # link against other versions.
++ dynamic_linker="$host_os dld.sl"
++ version_type=sunos
++ need_lib_prefix=no
++ need_version=no
++ shlibpath_var=SHLIB_PATH
++ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
++ library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl'
++ soname_spec='${libname}${release}.sl$major'
++ # HP-UX runs *really* slowly unless shared libraries are mode 555.
++ postinstall_cmds='chmod 555 $lib'
++ ;;
++
++irix5* | irix6*)
++ version_type=irix
++ need_lib_prefix=no
++ need_version=no
++ soname_spec='${libname}${release}.so.$major'
++ library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so'
++ case "$host_os" in
++ irix5*)
++ libsuff= shlibsuff=
++ # this will be overridden with pass_all, but let us keep it just in case
++ deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
++ ;;
++ *)
++ case "$LD" in # libtool.m4 will add one of these switches to LD
++ *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;;
++ *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;;
++ *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;;
++ *) libsuff= shlibsuff= libmagic=never-match;;
++ esac
++ # this will be overridden with pass_all, but let us keep it just in case
++ deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"
++ ;;
++ esac
++ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
++ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=`echo /lib${libsuff}/libc.so*`
++ deplibs_check_method='pass_all'
++ ;;
++
++# No shared lib support for Linux oldld, aout, or coff.
++linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*)
++ dynamic_linker=no
++ ;;
++
++# This must be Linux ELF.
++linux-gnu*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
++
++ if test -f /lib/ld.so.1; then
++ dynamic_linker='GNU ld.so'
++ else
++ # Only the GNU ld.so supports shared libraries on MkLinux.
++ case "$host_cpu" in
++ *) dynamic_linker='Linux ld.so' ;;
++ esac
++ fi
++ ;;
++
++netbsd*)
++ version_type=sunos
++ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
++ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ dynamic_linker='NetBSD (a.out) ld.so'
++ else
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
++ soname_spec='${libname}${release}.so$major'
++ dynamic_linker='NetBSD ld.elf_so'
++ fi
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++openbsd*)
++ version_type=sunos
++ if test "$with_gnu_ld" = yes; then
++ need_lib_prefix=no
++ need_version=no
++ fi
++ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++os2*)
++ libname_spec='$name'
++ need_lib_prefix=no
++ library_names_spec='$libname.dll $libname.a'
++ dynamic_linker='OS/2 ld.exe'
++ shlibpath_var=LIBPATH
++ ;;
++
++osf3* | osf4*)
++ version_type=osf
++ need_version=no
++ soname_spec='${libname}${release}.so'
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
++ shlibpath_var=LD_LIBRARY_PATH
++ # this will be overridden with pass_all, but let us keep it just in case
++ deplibs_check_method='file_magic COFF format alpha shared library'
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=/shlib/libc.so
++ deplibs_check_method='pass_all'
++ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
++ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
++ ;;
++
++sco3.2v5*)
++ version_type=osf
++ soname_spec='${libname}${release}.so$major'
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++solaris*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ # ldd complains unless libraries are executable
++ postinstall_cmds='chmod +x $lib'
++ deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib"
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=/lib/libc.so
++ ;;
++
++sunos4*)
++ version_type=sunos
++ library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
++ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=yes
++ if test "$with_gnu_ld" = yes; then
++ need_lib_prefix=no
++ fi
++ need_version=yes
++ ;;
++
++sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ version_type=linux
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ case "$host_vendor" in
++ ncr)
++ deplibs_check_method='pass_all'
++ ;;
++ motorola)
++ need_lib_prefix=no
++ need_version=no
++ shlibpath_overrides_runpath=no
++ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
++ deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
++ file_magic_cmd=/usr/bin/file
++ file_magic_test_file=`echo /usr/lib/libc.so*`
++ ;;
++ esac
++ ;;
++
++uts4*)
++ version_type=linux
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++dgux*)
++ version_type=linux
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
++ soname_spec='${libname}${release}.so$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ ;;
++
++sysv4*MP*)
++ if test -d /usr/nec ;then
++ version_type=linux
++ library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so'
++ soname_spec='$libname.so.$major'
++ shlibpath_var=LD_LIBRARY_PATH
++ fi
++ ;;
++
++*)
++ dynamic_linker=no
++ ;;
++esac
++echo "$ac_t$dynamic_linker" 1>&6
++test "$dynamic_linker" = no && can_build_shared=no
++
++# Report the final consequences.
++echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6
++
++# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in
++# configure.in, otherwise build static only libraries.
++case "$host_os" in
++cygwin* | mingw* | os2*)
++ if test x$can_build_shared = xyes; then
++ test x$enable_win32_dll = xno && can_build_shared=no
++ echo "checking if package supports dlls... $can_build_shared" 1>&6
++ fi
++;;
++esac
++
++if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then
++ case "$deplibs_check_method" in
++ "file_magic "*)
++ file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
++ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
++ egrep "$file_magic_regex" > /dev/null; then
++ :
++ else
++ cat <<EOF 1>&2
++
++*** Warning: the command libtool uses to detect shared libraries,
++*** $file_magic_cmd, produces output that libtool cannot recognize.
++*** The result is that libtool may fail to recognize shared libraries
++*** as such. This will affect the creation of libtool libraries that
++*** depend on shared libraries, but programs linked with such libtool
++*** libraries will work regardless of this problem. Nevertheless, you
++*** may want to report the problem to your system manager and/or to
++*** bug-libtool@gnu.org
++
++EOF
++ fi ;;
++ esac
++fi
++
++echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6
++test "$can_build_shared" = "no" && enable_shared=no
++
++# On AIX, shared libraries and static libraries use the same namespace, and
++# are all built from PIC.
++case "$host_os" in
++aix3*)
++ test "$enable_shared" = yes && enable_static=no
++ if test -n "$RANLIB"; then
++ archive_cmds="$archive_cmds~\$RANLIB \$lib"
++ postinstall_cmds='$RANLIB $lib'
++ fi
++ ;;
++
++aix4*)
++ test "$enable_shared" = yes && enable_static=no
++ ;;
++esac
++
++echo "$ac_t$enable_shared" 1>&6
++
++# Make sure either enable_shared or enable_static is yes.
++test "$enable_shared" = yes || enable_static=yes
++
++echo "checking whether to build static libraries... $enable_static" 1>&6
++
++if test "$hardcode_action" = relink; then
++ # Fast installation is not supported
++ enable_fast_install=no
++elif test "$shlibpath_overrides_runpath" = yes ||
++ test "$enable_shared" = no; then
++ # Fast installation is not necessary
++ enable_fast_install=needless
++fi
++
++echo $ac_n "checking for objdir... $ac_c" 1>&6
++rm -f .libs 2>/dev/null
++mkdir .libs 2>/dev/null
++if test -d .libs; then
++ objdir=.libs
++else
++ # MS-DOS does not allow filenames that begin with a dot.
++ objdir=_libs
++fi
++rmdir .libs 2>/dev/null
++echo "$ac_t$objdir" 1>&6
++
++if test "x$enable_dlopen" != xyes; then
++ enable_dlopen=unknown
++ enable_dlopen_self=unknown
++ enable_dlopen_self_static=unknown
++else
++if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then
++ lt_cv_dlopen=no lt_cv_dlopen_libs=
++echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
++echo "$progname:2170: checking for dlopen in -ldl" >&5
++ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-ldl $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2178 "ltconfig"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dlopen();
++
++int main() {
++dlopen()
++; return 0; }
++EOF
++if { (eval echo $progname:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
++else
++ echo "$ac_t""no" 1>&6
++echo $ac_n "checking for dlopen""... $ac_c" 1>&6
++echo "$progname:2207: checking for dlopen" >&5
++if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 2212 "ltconfig"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char dlopen(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dlopen();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_dlopen) || defined (__stub___dlopen)
++choke me
++#else
++dlopen();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo $progname:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_dlopen=yes"
++else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_dlopen=no"
++fi
++rm -f conftest*
++fi
++if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ lt_cv_dlopen="dlopen"
++else
++ echo "$ac_t""no" 1>&6
++echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6
++echo "$progname:2251: checking for dld_link in -ldld" >&5
++ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-ldld $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2259 "ltconfig"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char dld_link();
++
++int main() {
++dld_link()
++; return 0; }
++EOF
++if { (eval echo $progname:2269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
++else
++ echo "$ac_t""no" 1>&6
++echo $ac_n "checking for shl_load""... $ac_c" 1>&6
++echo "$progname:2288: checking for shl_load" >&5
++if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 2293 "ltconfig"
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char shl_load(); below. */
++#include <assert.h>
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char shl_load();
++
++int main() {
++
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_shl_load) || defined (__stub___shl_load)
++choke me
++#else
++shl_load();
++#endif
++
++; return 0; }
++EOF
++if { (eval echo $progname:2315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_func_shl_load=yes"
++else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_func_shl_load=no"
++fi
++rm -f conftest*
++fi
++
++if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ lt_cv_dlopen="shl_load"
++else
++ echo "$ac_t""no" 1>&6
++echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
++echo "$progname:2333: checking for shl_load in -ldld" >&5
++ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-ldld $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2341 "ltconfig"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char shl_load();
++
++int main() {
++shl_load()
++; return 0; }
++EOF
++if { (eval echo $progname:2352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++
++fi
++
++fi
++
++ if test "x$lt_cv_dlopen" != xno; then
++ enable_dlopen=yes
++ fi
++
++ case "$lt_cv_dlopen" in
++ dlopen)
++for ac_hdr in dlfcn.h; do
++ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++echo "$progname:2395: checking for $ac_hdr" >&5
++if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cat > conftest.$ac_ext <<EOF
++#line 2400 "ltconfig"
++#include <$ac_hdr>
++int fnord = 0;
++EOF
++ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo $progname:2405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++else
++ echo "$ac_err" >&5
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++fi
++rm -f conftest*
++fi
++if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++else
++ echo "$ac_t""no" 1>&6
++fi
++done
++
++ if test "x$ac_cv_header_dlfcn_h" = xyes; then
++ CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
++ fi
++ eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
++ LIBS="$lt_cv_dlopen_libs $LIBS"
++
++ echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
++echo "$progname:2433: checking whether a program can dlopen itself" >&5
++if test "${lt_cv_dlopen_self+set}" = set; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ if test "$cross_compiling" = yes; then
++ lt_cv_dlopen_self=cross
++ else
++ cat > conftest.c <<EOF
++#line 2441 "ltconfig"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LTDL_GLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LTDL_GLOBAL DL_GLOBAL
++# else
++# define LTDL_GLOBAL 0
++# endif
++#endif
++
++/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LTDL_LAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LTDL_LAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LTDL_LAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LTDL_LAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LTDL_LAZY_OR_NOW DL_NOW
++# else
++# define LTDL_LAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++fnord() { int i=42;}
++main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
++ if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
++ if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
++
++EOF
++if { (eval echo $progname:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
++then
++ lt_cv_dlopen_self=yes
++else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -fr conftest*
++ lt_cv_dlopen_self=no
++fi
++rm -fr conftest*
++fi
++
++fi
++
++echo "$ac_t""$lt_cv_dlopen_self" 1>&6
++
++ if test "$lt_cv_dlopen_self" = yes; then
++ LDFLAGS="$LDFLAGS $link_static_flag"
++ echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
++echo "$progname:2506: checking whether a statically linked program can dlopen itself" >&5
++if test "${lt_cv_dlopen_self_static+set}" = set; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ if test "$cross_compiling" = yes; then
++ lt_cv_dlopen_self_static=cross
++ else
++ cat > conftest.c <<EOF
++#line 2514 "ltconfig"
++
++#if HAVE_DLFCN_H
++#include <dlfcn.h>
++#endif
++
++#include <stdio.h>
++
++#ifdef RTLD_GLOBAL
++# define LTDL_GLOBAL RTLD_GLOBAL
++#else
++# ifdef DL_GLOBAL
++# define LTDL_GLOBAL DL_GLOBAL
++# else
++# define LTDL_GLOBAL 0
++# endif
++#endif
++
++/* We may have to define LTDL_LAZY_OR_NOW in the command line if we
++ find out it does not work in some platform. */
++#ifndef LTDL_LAZY_OR_NOW
++# ifdef RTLD_LAZY
++# define LTDL_LAZY_OR_NOW RTLD_LAZY
++# else
++# ifdef DL_LAZY
++# define LTDL_LAZY_OR_NOW DL_LAZY
++# else
++# ifdef RTLD_NOW
++# define LTDL_LAZY_OR_NOW RTLD_NOW
++# else
++# ifdef DL_NOW
++# define LTDL_LAZY_OR_NOW DL_NOW
++# else
++# define LTDL_LAZY_OR_NOW 0
++# endif
++# endif
++# endif
++# endif
++#endif
++
++fnord() { int i=42;}
++main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW);
++ if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord");
++ if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); }
++
++EOF
++if { (eval echo $progname:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
++then
++ lt_cv_dlopen_self_static=yes
++else
++ echo "$progname: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -fr conftest*
++ lt_cv_dlopen_self_static=no
++fi
++rm -fr conftest*
++fi
++
++fi
++
++echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
++fi
++ ;;
++ esac
++
++ case "$lt_cv_dlopen_self" in
++ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
++ *) enable_dlopen_self=unknown ;;
++ esac
++
++ case "$lt_cv_dlopen_self_static" in
++ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
++ *) enable_dlopen_self_static=unknown ;;
++ esac
++fi
++
++# Copy echo and quote the copy, instead of the original, because it is
++# used later.
++ltecho="$echo"
++if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then
++ ltecho="$CONFIG_SHELL \$0 --fallback-echo"
++fi
++LTSHELL="$SHELL"
++
++LTCONFIG_VERSION="$VERSION"
++
++# Only quote variables if we're using ltmain.sh.
++case "$ltmain" in
++*.sh)
++ # Now quote all the things that may contain metacharacters.
++ for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \
++ old_LD old_LDFLAGS old_LIBS \
++ old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \
++ AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \
++ reload_flag reload_cmds wl \
++ pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
++ thread_safe_flag_spec whole_archive_flag_spec libname_spec \
++ library_names_spec soname_spec \
++ RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
++ old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \
++ file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \
++ finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
++ hardcode_libdir_flag_spec hardcode_libdir_separator \
++ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
++ compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
++
++ case "$var" in
++ reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \
++ old_postinstall_cmds | old_postuninstall_cmds | \
++ export_symbols_cmds | archive_cmds | archive_expsym_cmds | \
++ postinstall_cmds | postuninstall_cmds | \
++ finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
++ # Double-quote double-evaled strings.
++ eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
++ ;;
++ *)
++ eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
++ ;;
++ esac
++ done
++
++ case "$ltecho" in
++ *'\$0 --fallback-echo"')
++ ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
++ ;;
++ esac
++
++ trap "$rm \"$ofile\"; exit 1" 1 2 15
++ echo "creating $ofile"
++ $rm "$ofile"
++ cat <<EOF > "$ofile"
++#! $SHELL
++
++# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
++# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
++# NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh.
++#
++# Copyright (C) 1996-1999 Free Software Foundation, Inc.
++# Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++
++# Sed that helps us avoid accidentally triggering echo(1) options like -n.
++Xsed="sed -e s/^X//"
++
++# The HP-UX ksh and POSIX shell print the target directory to stdout
++# if CDPATH is set.
++if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi
++
++### BEGIN LIBTOOL CONFIG
++EOF
++ cfgfile="$ofile"
++ ;;
++
++*)
++ # Double-quote the variables that need it (for aesthetics).
++ for var in old_CC old_CFLAGS old_CPPFLAGS \
++ old_LD old_LDFLAGS old_LIBS \
++ old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do
++ eval "$var=\\\"\$var\\\""
++ done
++
++ # Just create a config file.
++ cfgfile="$ofile.cfg"
++ trap "$rm \"$cfgfile\"; exit 1" 1 2 15
++ echo "creating $cfgfile"
++ $rm "$cfgfile"
++ cat <<EOF > "$cfgfile"
++# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file.
++# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
++EOF
++ ;;
++esac
++
++cat <<EOF >> "$cfgfile"
++# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
++#
++# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\
++# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\
++# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\
++# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\
++# $0$ltconfig_args
++#
++# Compiler and other test output produced by $progname, useful for
++# debugging $progname, is in ./config.log if it exists.
++
++# The version of $progname that generated this script.
++LTCONFIG_VERSION=$LTCONFIG_VERSION
++
++# Shell to use when invoking shell scripts.
++SHELL=$LTSHELL
++
++# Whether or not to build shared libraries.
++build_libtool_libs=$enable_shared
++
++# Whether or not to build static libraries.
++build_old_libs=$enable_static
++
++# Whether or not to optimize for fast installation.
++fast_install=$enable_fast_install
++
++# The host system.
++host_alias=$host_alias
++host=$host
++
++# An echo program that does not interpret backslashes.
++echo=$ltecho
++
++# The archiver.
++AR=$AR
++
++# The default C compiler.
++CC=$CC
++
++# The linker used to build libraries.
++LD=$LD
++
++# Whether we need hard or soft links.
++LN_S=$LN_S
++
++# A BSD-compatible nm program.
++NM=$NM
++
++# Used on cygwin: DLL creation program.
++DLLTOOL="$DLLTOOL"
++
++# Used on cygwin: object dumper.
++OBJDUMP="$OBJDUMP"
++
++# Used on cygwin: assembler.
++AS="$AS"
++
++# The name of the directory that contains temporary libtool files.
++objdir=$objdir
++
++# How to create reloadable object files.
++reload_flag=$reload_flag
++reload_cmds=$reload_cmds
++
++# How to pass a linker flag through the compiler.
++wl=$wl
++
++# Object file suffix (normally "o").
++objext="$objext"
++
++# Old archive suffix (normally "a").
++libext="$libext"
++
++# Executable file suffix (normally "").
++exeext="$exeext"
++
++# Additional compiler flags for building library objects.
++pic_flag=$pic_flag
++
++# Does compiler simultaneously support -c and -o options?
++compiler_c_o=$compiler_c_o
++
++# Can we write directly to a .lo ?
++compiler_o_lo=$compiler_o_lo
++
++# Must we lock files when doing compilation ?
++need_locks=$need_locks
++
++# Do we need the lib prefix for modules?
++need_lib_prefix=$need_lib_prefix
++
++# Do we need a version for libraries?
++need_version=$need_version
++
++# Whether dlopen is supported.
++dlopen=$enable_dlopen
++
++# Whether dlopen of programs is supported.
++dlopen_self=$enable_dlopen_self
++
++# Whether dlopen of statically linked programs is supported.
++dlopen_self_static=$enable_dlopen_self_static
++
++# Compiler flag to prevent dynamic linking.
++link_static_flag=$link_static_flag
++
++# Compiler flag to turn off builtin functions.
++no_builtin_flag=$no_builtin_flag
++
++# Compiler flag to allow reflexive dlopens.
++export_dynamic_flag_spec=$export_dynamic_flag_spec
++
++# Compiler flag to generate shared objects directly from archives.
++whole_archive_flag_spec=$whole_archive_flag_spec
++
++# Compiler flag to generate thread-safe objects.
++thread_safe_flag_spec=$thread_safe_flag_spec
++
++# Library versioning type.
++version_type=$version_type
++
++# Format of library name prefix.
++libname_spec=$libname_spec
++
++# List of archive names. First name is the real one, the rest are links.
++# The last name is the one that the linker finds with -lNAME.
++library_names_spec=$library_names_spec
++
++# The coded name of the library, if different from the real name.
++soname_spec=$soname_spec
++
++# Commands used to build and install an old-style archive.
++RANLIB=$RANLIB
++old_archive_cmds=$old_archive_cmds
++old_postinstall_cmds=$old_postinstall_cmds
++old_postuninstall_cmds=$old_postuninstall_cmds
++
++# Create an old-style archive from a shared archive.
++old_archive_from_new_cmds=$old_archive_from_new_cmds
++
++# Commands used to build and install a shared archive.
++archive_cmds=$archive_cmds
++archive_expsym_cmds=$archive_expsym_cmds
++postinstall_cmds=$postinstall_cmds
++postuninstall_cmds=$postuninstall_cmds
++
++# Method to check whether dependent libraries are shared objects.
++deplibs_check_method=$deplibs_check_method
++
++# Command to use when deplibs_check_method == file_magic.
++file_magic_cmd=$file_magic_cmd
++
++# Flag that allows shared libraries with undefined symbols to be built.
++allow_undefined_flag=$allow_undefined_flag
++
++# Flag that forces no undefined symbols.
++no_undefined_flag=$no_undefined_flag
++
++# Commands used to finish a libtool library installation in a directory.
++finish_cmds=$finish_cmds
++
++# Same as above, but a single script fragment to be evaled but not shown.
++finish_eval=$finish_eval
++
++# Take the output of nm and produce a listing of raw symbols and C names.
++global_symbol_pipe=$global_symbol_pipe
++
++# Transform the output of nm in a proper C declaration
++global_symbol_to_cdecl=$global_symbol_to_cdecl
++
++# This is the shared library runtime path variable.
++runpath_var=$runpath_var
++
++# This is the shared library path variable.
++shlibpath_var=$shlibpath_var
++
++# Is shlibpath searched before the hard-coded library search path?
++shlibpath_overrides_runpath=$shlibpath_overrides_runpath
++
++# How to hardcode a shared library path into an executable.
++hardcode_action=$hardcode_action
++
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec
++
++# Whether we need a single -rpath flag with a separated argument.
++hardcode_libdir_separator=$hardcode_libdir_separator
++
++# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
++# resulting binary.
++hardcode_direct=$hardcode_direct
++
++# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
++# resulting binary.
++hardcode_minus_L=$hardcode_minus_L
++
++# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
++# the resulting binary.
++hardcode_shlibpath_var=$hardcode_shlibpath_var
++
++# Compile-time system search path for libraries
++sys_lib_search_path_spec=$sys_lib_search_path_spec
++
++# Run-time system search path for libraries
++sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec
++
++# Fix the shell variable \$srcfile for the compiler.
++fix_srcfile_path="$fix_srcfile_path"
++
++# Set to yes if exported symbols are required.
++always_export_symbols=$always_export_symbols
++
++# The commands to list exported symbols.
++export_symbols_cmds=$export_symbols_cmds
++
++# Symbols that should not be listed in the preloaded symbols.
++exclude_expsyms=$exclude_expsyms
++
++# Symbols that must always be exported.
++include_expsyms=$include_expsyms
++
++EOF
++
++case "$ltmain" in
++*.sh)
++ echo '### END LIBTOOL CONFIG' >> "$ofile"
++ echo >> "$ofile"
++ case "$host_os" in
++ aix3*)
++ cat <<\EOF >> "$ofile"
++
++# AIX sometimes has problems with the GCC collect2 program. For some
++# reason, if we set the COLLECT_NAMES environment variable, the problems
++# vanish in a puff of smoke.
++if test "${COLLECT_NAMES+set}" != set; then
++ COLLECT_NAMES=
++ export COLLECT_NAMES
++fi
++EOF
++ ;;
++ esac
++
++ # Append the ltmain.sh script.
++ sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1)
++
++ chmod +x "$ofile"
++ ;;
++
++*)
++ # Compile the libtool program.
++ echo "FIXME: would compile $ltmain"
++ ;;
++esac
++
++test -n "$cache_file" || exit 0
++
++# AC_CACHE_SAVE
++trap '' 1 2 15
++cat > confcache <<\EOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs. It is not useful on other systems.
++# If it contains results you don't want to keep, you may remove or edit it.
++#
++# By default, configure uses ./config.cache as the cache file,
++# creating it if it does not exist already. You can give configure
++# the --cache-file=FILE option to use a different cache file; that is
++# what configure does when it calls configure scripts in
++# subdirectories, so they share the cache.
++# Giving --cache-file=/dev/null disables caching, for debugging configure.
++# config.status only pays attention to the cache file if you give it the
++# --recheck option to rerun configure.
++#
++EOF
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, don't put newlines in cache variables' values.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(set) 2>&1 |
++ case `(ac_space=' '; set | grep ac_space) 2>&1` in
++ *ac_space=\ *)
++ # `set' does not quote correctly, so add quotes (double-quote substitution
++ # turns \\\\ into \\, and sed turns \\ into \).
++ sed -n \
++ -e "s/'/'\\\\''/g" \
++ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
++ ;;
++ *)
++ # `set' quotes correctly as required by POSIX, so do not add quotes.
++ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
++ ;;
++ esac >> confcache
++if cmp -s $cache_file confcache; then
++ :
++else
++ if test -w $cache_file; then
++ echo "updating cache $cache_file"
++ cat confcache > $cache_file
++ else
++ echo "not updating unwritable cache $cache_file"
++ fi
++fi
++rm -f confcache
++
++exit 0
++
++# Local Variables:
++# mode:shell-script
++# sh-indentation:2
++# End:
diff --git a/meta/packages/jpeg/jpeg-6b/ldflags.patch b/meta/packages/jpeg/jpeg-6b/ldflags.patch
new file mode 100644
index 0000000000..727327bc6e
--- /dev/null
+++ b/meta/packages/jpeg/jpeg-6b/ldflags.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- jpeg-6b/makefile.cfg~ldflags
++++ jpeg-6b/makefile.cfg
+@@ -169,7 +169,7 @@
+ # with libtool:
+ libjpeg.la: @A2K_DEPS@ $(LIBOBJECTS)
+ $(LIBTOOL) --mode=link $(CC) -o libjpeg.la $(LIBOBJECTS) \
+- -rpath $(libdir) -version-info $(JPEG_LIB_VERSION)
++ -rpath $(libdir) -version-info $(JPEG_LIB_VERSION) $(LDFLAGS)
+
+ # sample programs:
+
diff --git a/meta/packages/jpeg/jpeg-6b/paths.patch b/meta/packages/jpeg/jpeg-6b/paths.patch
new file mode 100644
index 0000000000..014bf4ec0f
--- /dev/null
+++ b/meta/packages/jpeg/jpeg-6b/paths.patch
@@ -0,0 +1,77 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- jpeg-6b/makefile.cfg~paths.patch
++++ jpeg-6b/makefile.cfg
+@@ -7,17 +7,18 @@
+ # For compiling with source and object files in different directories.
+ srcdir = @srcdir@
+ VPATH = @srcdir@
++DESTDIR = @DESTDIR@
+
+ # Where to install the programs and man pages.
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+-bindir = $(exec_prefix)/bin
+-libdir = $(exec_prefix)/lib
+-includedir = $(prefix)/include
++bindir = @bindir@
++libdir = @libdir@
++includedir = @includedir@
+ binprefix =
+ manprefix =
+ manext = 1
+-mandir = $(prefix)/share/man/man$(manext)
++mandir = @mandir@/man$(manext)
+
+ # The name of your C compiler:
+ CC= @CC@
+@@ -191,30 +192,30 @@
+ # Installation rules:
+
+ install: cjpeg djpeg jpegtran rdjpgcom wrjpgcom @FORCE_INSTALL_LIB@
+- $(INSTALL_PROGRAM) cjpeg $(bindir)/$(binprefix)cjpeg
+- $(INSTALL_PROGRAM) djpeg $(bindir)/$(binprefix)djpeg
+- $(INSTALL_PROGRAM) jpegtran $(bindir)/$(binprefix)jpegtran
+- $(INSTALL_PROGRAM) rdjpgcom $(bindir)/$(binprefix)rdjpgcom
+- $(INSTALL_PROGRAM) wrjpgcom $(bindir)/$(binprefix)wrjpgcom
+- $(INSTALL_DATA) $(srcdir)/cjpeg.1 $(mandir)/$(manprefix)cjpeg.$(manext)
+- $(INSTALL_DATA) $(srcdir)/djpeg.1 $(mandir)/$(manprefix)djpeg.$(manext)
+- $(INSTALL_DATA) $(srcdir)/jpegtran.1 $(mandir)/$(manprefix)jpegtran.$(manext)
+- $(INSTALL_DATA) $(srcdir)/rdjpgcom.1 $(mandir)/$(manprefix)rdjpgcom.$(manext)
+- $(INSTALL_DATA) $(srcdir)/wrjpgcom.1 $(mandir)/$(manprefix)wrjpgcom.$(manext)
++ $(INSTALL_PROGRAM) cjpeg $(DESTDIR)$(bindir)/$(binprefix)cjpeg
++ $(INSTALL_PROGRAM) djpeg $(DESTDIR)$(bindir)/$(binprefix)djpeg
++ $(INSTALL_PROGRAM) jpegtran $(DESTDIR)$(bindir)/$(binprefix)jpegtran
++ $(INSTALL_PROGRAM) rdjpgcom $(DESTDIR)$(bindir)/$(binprefix)rdjpgcom
++ $(INSTALL_PROGRAM) wrjpgcom $(DESTDIR)$(bindir)/$(binprefix)wrjpgcom
++ $(INSTALL_DATA) $(srcdir)/cjpeg.1 $(DESTDIR)$(mandir)/$(manprefix)cjpeg.$(manext)
++ $(INSTALL_DATA) $(srcdir)/djpeg.1 $(DESTDIR)$(mandir)/$(manprefix)djpeg.$(manext)
++ $(INSTALL_DATA) $(srcdir)/jpegtran.1 $(DESTDIR)$(mandir)/$(manprefix)jpegtran.$(manext)
++ $(INSTALL_DATA) $(srcdir)/rdjpgcom.1 $(DESTDIR)$(mandir)/$(manprefix)rdjpgcom.$(manext)
++ $(INSTALL_DATA) $(srcdir)/wrjpgcom.1 $(DESTDIR)$(mandir)/$(manprefix)wrjpgcom.$(manext)
+
+ install-lib: libjpeg.$(A) install-headers
+- $(INSTALL_LIB) libjpeg.$(A) $(libdir)/$(binprefix)libjpeg.$(A)
++ $(INSTALL_LIB) libjpeg.$(A) $(DESTDIR)$(libdir)/$(binprefix)libjpeg.$(A)
+
+ install-headers: jconfig.h
+- $(INSTALL_DATA) jconfig.h $(includedir)/jconfig.h
+- $(INSTALL_DATA) $(srcdir)/jpeglib.h $(includedir)/jpeglib.h
+- $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(includedir)/jmorecfg.h
+- $(INSTALL_DATA) $(srcdir)/jerror.h $(includedir)/jerror.h
++ $(INSTALL_DATA) jconfig.h $(DESTDIR)$(includedir)/jconfig.h
++ $(INSTALL_DATA) $(srcdir)/jpeglib.h $(DESTDIR)$(includedir)/jpeglib.h
++ $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(DESTDIR)$(includedir)/jmorecfg.h
++ $(INSTALL_DATA) $(srcdir)/jerror.h $(DESTDIR)$(includedir)/jerror.h
+ #<ballombe@debian.org>:mjpegtools require this file to build and header say:
+ # * These declarations are considered internal to the JPEG library; most
+ # * applications using the library shouldn't need to include this file.
+ # So it is not forbidden to use it, therefore it must be installed.
+- $(INSTALL_DATA) $(srcdir)/jpegint.h $(includedir)/jpegint.h
++ $(INSTALL_DATA) $(srcdir)/jpegint.h $(DESTDIR)$(includedir)/jpegint.h
+
+ clean:
+ $(RM) *.o *.lo libjpeg.a libjpeg.la
diff --git a/meta/packages/jpeg/jpeg-native_6b.bb b/meta/packages/jpeg/jpeg-native_6b.bb
new file mode 100644
index 0000000000..b617f1b6c0
--- /dev/null
+++ b/meta/packages/jpeg/jpeg-native_6b.bb
@@ -0,0 +1,14 @@
+SECTION = "libs"
+include jpeg_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/jpeg-${PV}"
+DEPENDS = ""
+
+do_stage() {
+ install -m 644 jconfig.h ${STAGING_INCDIR}/jconfig.h
+ install -m 644 jpeglib.h ${STAGING_INCDIR}/jpeglib.h
+ install -m 644 jmorecfg.h ${STAGING_INCDIR}/jmorecfg.h
+ install -m 644 jerror.h ${STAGING_INCDIR}/jerror.h
+ install -m 644 jpegint.h ${STAGING_INCDIR}/jpegint.h
+ oe_libinstall -so libjpeg ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/jpeg/jpeg_6b.bb b/meta/packages/jpeg/jpeg_6b.bb
new file mode 100644
index 0000000000..23e3ed82be
--- /dev/null
+++ b/meta/packages/jpeg/jpeg_6b.bb
@@ -0,0 +1,36 @@
+PR = "r2"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+DEPENDS = "libtool-cross"
+DESCRIPTION = "libjpeg is a library for handling the JPEG (JFIF) image format."
+PACKAGES =+ "jpeg-tools "
+FILES_jpeg-tools = "${bindir}"
+LICENSE ="jpeg"
+SRC_URI = "http://www.ijg.org/files/jpegsrc.v${PV}.tar.gz \
+ file://debian.patch;patch=1 \
+ file://ldflags.patch;patch=1 \
+ file://paths.patch;patch=1"
+S = "${WORKDIR}/jpeg-${PV}"
+
+inherit autotools
+
+EXTRA_OECONF="--enable-static --enable-shared"
+EXTRA_OEMAKE='"LIBTOOL=${STAGING_BINDIR}/${HOST_SYS}-libtool"'
+
+CFLAGS_append = " -D_REENTRANT"
+
+do_stage() {
+ install -m 644 jconfig.h ${STAGING_INCDIR}/jconfig.h
+ install -m 644 jpeglib.h ${STAGING_INCDIR}/jpeglib.h
+ install -m 644 jmorecfg.h ${STAGING_INCDIR}/jmorecfg.h
+ install -m 644 jerror.h ${STAGING_INCDIR}/jerror.h
+ install -m 644 jpegint.h ${STAGING_INCDIR}/jpegint.h
+ oe_libinstall -so libjpeg ${STAGING_LIBDIR}
+}
+
+do_install() {
+ install -d ${D}${bindir} ${D}${includedir} \
+ ${D}${mandir}/man1 ${D}${libdir}
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/js/files/host-cc.patch b/meta/packages/js/files/host-cc.patch
new file mode 100644
index 0000000000..78a1e1b5a0
--- /dev/null
+++ b/meta/packages/js/files/host-cc.patch
@@ -0,0 +1,16 @@
+diff -urNd smjs-1.5-r0/js/src/Makefile.ref smjs-1.5-r0.new/js/src/Makefile.ref
+--- smjs-1.5-r0/js/src/Makefile.ref 2003-11-15 00:10:55.000000000 +0000
++++ smjs-1.5-r0.new/js/src/Makefile.ref 2006-01-31 23:43:16.000000000 +0000
+@@ -317,8 +317,11 @@
+ rm -f $@
+ $(OBJDIR)/jscpucfg > $@
+
++$(OBJDIR)/jscpucfg.o: jscpucfg.c jscpucfg.h
++ $(HOST_CC) -o $@ $(CFLAGS) $(LDFLAGS) jscpucfg.c
++
+ $(OBJDIR)/jscpucfg: $(OBJDIR)/jscpucfg.o
+- $(CC) -o $@ $(OBJDIR)/jscpucfg.o
++ $(HOST_CC) -o $@ $(OBJDIR)/jscpucfg.o
+
+ # Look in OBJDIR to find jsautocfg.h
+ INCLUDES += -I$(OBJDIR)
diff --git a/meta/packages/js/files/jsautocfg.h b/meta/packages/js/files/jsautocfg.h
new file mode 100644
index 0000000000..ac786dcdad
--- /dev/null
+++ b/meta/packages/js/files/jsautocfg.h
@@ -0,0 +1,52 @@
+#ifndef js_cpucfg___
+#define js_cpucfg___
+
+/* AUTOMATICALLY GENERATED - DO NOT EDIT */
+
+#define IS_LITTLE_ENDIAN 1
+#undef IS_BIG_ENDIAN
+
+#define JS_BYTES_PER_BYTE 1L
+#define JS_BYTES_PER_SHORT 2L
+#define JS_BYTES_PER_INT 4L
+#define JS_BYTES_PER_INT64 8L
+#define JS_BYTES_PER_LONG 8L
+#define JS_BYTES_PER_FLOAT 4L
+#define JS_BYTES_PER_DOUBLE 8L
+#define JS_BYTES_PER_WORD 4L
+#define JS_BYTES_PER_DWORD 8L
+
+#define JS_BITS_PER_BYTE 8L
+#define JS_BITS_PER_SHORT 16L
+#define JS_BITS_PER_INT 32L
+#define JS_BITS_PER_INT64 64L
+#define JS_BITS_PER_LONG 64L
+#define JS_BITS_PER_FLOAT 32L
+#define JS_BITS_PER_DOUBLE 64L
+#define JS_BITS_PER_WORD 32L
+
+#define JS_BITS_PER_BYTE_LOG2 3L
+#define JS_BITS_PER_SHORT_LOG2 4L
+#define JS_BITS_PER_INT_LOG2 5L
+#define JS_BITS_PER_INT64_LOG2 6L
+#define JS_BITS_PER_LONG_LOG2 6L
+#define JS_BITS_PER_FLOAT_LOG2 5L
+#define JS_BITS_PER_DOUBLE_LOG2 6L
+#define JS_BITS_PER_WORD_LOG2 3L
+
+#define JS_ALIGN_OF_SHORT 2L
+#define JS_ALIGN_OF_INT 4L
+#define JS_ALIGN_OF_LONG 8L
+#define JS_ALIGN_OF_INT64 8L
+#define JS_ALIGN_OF_FLOAT 4L
+#define JS_ALIGN_OF_DOUBLE 8L
+#define JS_ALIGN_OF_POINTER 8L
+#define JS_ALIGN_OF_WORD 4L
+
+#define JS_BYTES_PER_WORD_LOG2 2L
+#define JS_BYTES_PER_DWORD_LOG2 3L
+#define JS_WORDS_PER_DWORD_LOG2 0L
+
+#define JS_STACK_GROWTH_DIRECTION (-1)
+
+#endif /* js_cpucfg___ */
diff --git a/meta/packages/js/js_1.5.bb b/meta/packages/js/js_1.5.bb
new file mode 100644
index 0000000000..040538a8ff
--- /dev/null
+++ b/meta/packages/js/js_1.5.bb
@@ -0,0 +1,36 @@
+LICENSE = "GPL"
+DESCRIPTION = "A JavaScript engine"
+SECTION = "libs"
+DEPENDS = "readline"
+SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/js/js-1.5.tar.gz \
+ file://jsautocfg.h"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+
+S = "${WORKDIR}/js/src"
+
+FILES_${PN} = "${libdir}/lib*.so"
+FILES_${PN}-dev = "${includedir} ${libdir}/lib*.a"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'LD=${LD}' 'XCFLAGS=${CFLAGS}' 'XLDFLAGS=-L${STAGING_LIBDIR} -soname=libjs'"
+
+do_compile_prepend() {
+ cp ${WORKDIR}/jsautocfg.h ${S}/
+}
+
+do_compile() {
+ oe_runmake -f Makefile.ref JS_READLINE=1 JS_EDITLINE=1 PREBUILT_CPUCFG=1
+}
+
+do_install() {
+ install -d ${D}${libdir}
+ install -d ${D}${includedir}
+ install -d ${D}${includedir}/js
+ oe_libinstall -so -C Linux_All_DBG.OBJ libjs ${D}${libdir}
+ install -m 0644 ${S}/*.h ${D}${includedir}/js
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/js
+ install -m 0644 ${S}/*.h ${STAGING_INCDIR}/js/
+ oe_libinstall -so -C Linux_All_DBG.OBJ libjs ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/keymaps/files/akita/keymap-2.4.map b/meta/packages/keymaps/files/akita/keymap-2.4.map
new file mode 100644
index 0000000000..e6339979e8
--- /dev/null
+++ b/meta/packages/keymaps/files/akita/keymap-2.4.map
@@ -0,0 +1,128 @@
+keymaps 0-2,4-5,8
+keycode 1 = +a +A +a Control_a Control_a
+keycode 2 = +b +B underscore Control_b Control_b
+keycode 3 = +c +C +c Control_c Control_c
+keycode 4 = +d +D +d Control_d Control_d
+keycode 5 = +e +E equal Control_e Control_e
+keycode 6 = +f +F backslash Control_f Control_f
+keycode 7 = +g +G semicolon Control_g Control_g
+keycode 8 = +h +H colon BackSpace BackSpace
+keycode 9 = +i +I +i Tab Tab
+keycode 10 = +j +J asterisk Linefeed Linefeed
+keycode 11 = +k +K backslash Control_k Control_k
+keycode 12 = +l +L bar Control_l Control_l
+keycode 13 = +m +M +m Control_m Control_m
+keycode 14 = +n +N +n Control_n Control_n
+keycode 15 = +o +O +o Control_o Control_o
+keycode 16 = +p +P +p Control_p Control_p
+keycode 17 = +q +Q +q Control_q Control_q
+keycode 18 = +r +R plus Control_r Control_r
+keycode 19 = +s +S +s Control_s Control_s
+keycode 20 = +t +T bracketleft Control_t Control_t
+keycode 21 = +u +U +u Control_u Control_u
+keycode 22 = +v +V +v Control_v Control_v
+keycode 23 = +w +W asciicircum Control_w Control_w
+keycode 24 = +x +X +x Control_x Control_x
+keycode 25 = +y +Y bracketright Control_y Control_y
+keycode 26 = +z +Z +z Control_z Control_z
+keycode 27 = Shift Shift Shift Shift Shift
+keycode 28 = Return Return Return Return Return
+keycode 29 = F11 F11 F11 F11 F11
+keycode 30 = AltGr AltGr AltGr AltGr AltGr
+keycode 31 = BackSpace BackSpace Delete BackSpace BackSpace
+keycode 32 = Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock
+keycode 33 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 34 = Escape Escape Escape Escape Escape
+keycode 35 = Left Left Left Left Left Decr_Console
+keycode 36 = Up Up PageUp Up Up
+keycode 37 = Down Down PageDown Down Down
+keycode 38 = Right Right Right Right Right Incr_Console
+keycode 39 = Return Return Return Return Return
+keycode 40 = F12 VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 41 = one exclam VoidSymbol VoidSymbol VoidSymbol Console_1
+keycode 42 = two quotedbl VoidSymbol VoidSymbol VoidSymbol Console_2
+keycode 43 = three numbersign VoidSymbol VoidSymbol VoidSymbol Console_3
+keycode 44 = four dollar VoidSymbol VoidSymbol VoidSymbol Console_4
+keycode 45 = five percent VoidSymbol VoidSymbol VoidSymbol Console_5
+keycode 46 = six ampersand VoidSymbol VoidSymbol VoidSymbol
+keycode 47 = seven apostrophe VoidSymbol VoidSymbol VoidSymbol
+keycode 48 = eight parenleft VoidSymbol VoidSymbol VoidSymbol
+keycode 49 = nine parenright VoidSymbol VoidSymbol VoidSymbol
+keycode 50 = zero asciitilde VoidSymbol VoidSymbol VoidSymbol
+keycode 51 = minus equal VoidSymbol VoidSymbol VoidSymbol
+keycode 52 = asciicircum asciitilde VoidSymbol VoidSymbol VoidSymbol
+keycode 53 = backslash bar VoidSymbol VoidSymbol VoidSymbol
+keycode 54 = bracketleft braceleft VoidSymbol VoidSymbol VoidSymbol
+keycode 55 = at grave VoidSymbol VoidSymbol VoidSymbol
+keycode 56 = Control Control Control Control Control
+keycode 57 = Alt Alt Alt Alt Alt
+keycode 58 = Control Control Control Control Control
+keycode 59 = minus VoidSymbol at VoidSymbol VoidSymbol
+keycode 60 = Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock
+keycode 61 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 62 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 63 = comma slash less VoidSymbol VoidSymbol
+keycode 64 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 65 = Tab Tab Caps_Lock Tab Tab
+keycode 66 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 67 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 68 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 69 = Alt VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 70 = slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 71 = KP_1 KP_1 KP_1 KP_1 KP_1
+keycode 72 = KP_2 KP_2 KP_2 KP_2 KP_2
+keycode 73 = KP_3 KP_3 KP_3 KP_3 KP_3
+keycode 74 = KP_4 KP_4 KP_4 KP_4 KP_4
+keycode 75 = KP_5 KP_5 KP_5 KP_5 KP_5
+keycode 76 = KP_6 KP_6 KP_6 KP_6 KP_6
+keycode 77 = KP_7 KP_7 KP_7 KP_7 KP_7
+keycode 78 = KP_8 KP_8 KP_8 KP_8 KP_8
+keycode 79 = KP_9 KP_9 KP_9 KP_9 KP_9
+keycode 80 = KP_0 KP_0 KP_0 KP_0 KP_0
+keycode 81 = Delete Delete Delete Delete Delete
+keycode 82 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide
+keycode 83 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply
+keycode 84 = Return Return Return Return Return
+keycode 85 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract
+keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add
+keycode 87 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
+keycode 88 = F9 F9 F9 F9 F9
+keycode 89 = F10 F10 F10 F10 F10
+keycode 90 = F13 F13 F13 F13 F13
+keycode 91 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 92 = space space space space space
+keycode 93 = KP_Period KP_Period KP_Period KP_Period KP_Period
+keycode 94 = Escape Escape Escape Escape
+keycode 95 = semicolon plus VoidSymbol VoidSymbol VoidSymbol
+keycode 96 = colon asterisk VoidSymbol VoidSymbol VoidSymbol
+keycode 97 = bracketright braceright VoidSymbol VoidSymbol VoidSymbol
+keycode 98 = comma less VoidSymbol VoidSymbol VoidSymbol
+keycode 99 = period greater VoidSymbol VoidSymbol VoidSymbol
+keycode 100 = slash question VoidSymbol VoidSymbol VoidSymbol
+keycode 101 = underscore underscore VoidSymbol VoidSymbol VoidSymbol
+keycode 102 = F15 VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 103 = period question greater VoidSymbol VoidSymbol
+keycode 104 = Find Find Find Find Find
+keycode 105 = Select Select Select Select Select
+keycode 106 = Prior Scroll_Backward Prior Prior Prior
+keycode 107 = Next Scroll_Forward Next Next Next
+keycode 108 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 109 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 110 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 111 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 112 = Shift Shift Shift Shift Shift
+keycode 113 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 114 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 115 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 116 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 117 = Control Control Control Control Control
+keycode 118 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 119 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 120 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 121 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 122 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 123 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 124 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 125 = Up Up Up Up
+keycode 126 = Down Down Down Down
+keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
diff --git a/meta/packages/keymaps/files/akita/keymap-2.6.map b/meta/packages/keymaps/files/akita/keymap-2.6.map
new file mode 100644
index 0000000000..11a0e8b4d3
--- /dev/null
+++ b/meta/packages/keymaps/files/akita/keymap-2.6.map
@@ -0,0 +1,228 @@
+# Default kernel keymap. This uses 7 modifier combinations.
+keymaps 0-2,4-5,8,12
+# Change the above line into
+# keymaps 0-2,4-6,8,12
+# in case you want the entries
+# altgr control keycode 83 = Boot
+# altgr control keycode 111 = Boot
+# below.
+#
+keycode 1 =
+keycode 2 = one exclam
+ control alt keycode 2 = Console_1
+keycode 3 = two quotedbl
+ control alt keycode 3 = Console_2
+keycode 4 = three numbersign
+ control alt keycode 4 = Console_3
+keycode 5 = four dollar
+ control alt keycode 5 = Console_4
+keycode 6 = five percent
+ control alt keycode 6 = Console_5
+keycode 7 = six ampersand
+ control alt keycode 7 = Console_6
+keycode 8 = seven apostrophe
+keycode 9 = eight parenleft
+keycode 10 = nine parenright
+keycode 11 = zero asciitilde
+keycode 12 = minus at
+ altgr keycode 12 = at
+keycode 13 =
+keycode 14 = BackSpace
+ altgr keycode 14 = Delete
+keycode 15 = Tab
+ altgr keycode 15 = Caps_Lock
+keycode 16 = q
+keycode 17 = w
+ altgr keycode 17 = asciicircum
+keycode 18 = e
+ altgr keycode 18 = equal
+keycode 19 = r
+ altgr keycode 19 = plus
+keycode 20 = t
+ altgr keycode 20 = bracketleft
+keycode 21 = y
+ altgr keycode 21 = bracketright
+keycode 22 = u
+ altgr keycode 22 = braceleft
+keycode 23 = i
+ altgr keycode 23 = braceright
+keycode 24 = o
+keycode 25 = p
+keycode 26 =
+keycode 27 =
+keycode 28 = Return
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+ altgr keycode 33 = backslash
+keycode 34 = g
+ altgr keycode 34 = semicolon
+keycode 35 = h
+ altgr keycode 35 = colon
+keycode 36 = j
+ altgr keycode 36 = asterisk
+keycode 37 = k
+ altgr keycode 37 = backslash
+keycode 38 = l
+ altgr keycode 38 = bar
+keycode 39 =
+keycode 40 =
+keycode 41 =
+keycode 42 = Shift
+keycode 43 =
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+ altgr keycode 48 = underscore
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma slash
+ altgr keycode 51 = less
+keycode 52 = period question
+ altgr keycode 52 = greater
+keycode 53 =
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 59 = F9
+keycode 60 = F10
+keycode 61 = AltGr
+keycode 62 = Escape
+keycode 63 = Return
+keycode 64 = Escape
+keycode 65 = Down
+keycode 66 = Up
+keycode 67 = Control
+keycode 68 = F13
+keycode 79 = F15
+keycode 80 = F16
+keycode 82 = F17
+keycode 87 = Return
+keycode 88 = F11
+keycode 97 = Control
+keycode 99 = F12
+keycode 103 = Up
+ altgr keycode 103 = PageUp
+keycode 105 = Left
+ altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ altgr keycode 106 = Incr_Console
+keycode 108 = Down
+ altgr keycode 108 = PageDown
+
+
+# LCD Softkeys as represented by zaurusd
+keycode 82 = F5
+keycode 79 = F15 # Home
+keycode 80 = F6
+keycode 81 = F16 # Email
+keycode 75 = F7
+keycode 76 = F17 # Addresses
+keycode 77 = F8
+keycode 71 = F18 # Calendar
+keycode 72 = F9
+keycode 73 = F19 # Book
+keycode 78 = F10
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/meta/packages/keymaps/files/c7x0/keymap-2.6.map b/meta/packages/keymaps/files/c7x0/keymap-2.6.map
new file mode 100755
index 0000000000..6fc3a9a9cf
--- /dev/null
+++ b/meta/packages/keymaps/files/c7x0/keymap-2.6.map
@@ -0,0 +1,213 @@
+# Default kernel keymap. This uses 7 modifier combinations.
+keymaps 0-2,4-5,8,12
+# Change the above line into
+# keymaps 0-2,4-6,8,12
+# in case you want the entries
+# altgr control keycode 83 = Boot
+# altgr control keycode 111 = Boot
+# below.
+#
+keycode 1 =
+keycode 2 = one exclam
+ control alt keycode 2 = Console_1
+keycode 3 = two quotedbl
+ control alt keycode 3 = Console_2
+keycode 4 = three numbersign
+ control alt keycode 4 = Console_3
+keycode 5 = four dollar
+ control alt keycode 5 = Console_4
+keycode 6 = five percent
+ control alt keycode 6 = Console_5
+keycode 7 = six ampersand
+ control alt keycode 7 = Console_6
+keycode 8 = seven apostrophe
+keycode 9 = eight parenleft
+keycode 10 = nine parenright
+keycode 11 = zero asciitilde
+keycode 12 = minus at
+ altgr keycode 12 = at
+keycode 13 =
+keycode 14 = BackSpace
+ altgr keycode 14 = Delete
+keycode 15 = Tab
+ altgr keycode 15 = Caps_Lock
+keycode 16 = q
+keycode 17 = w
+ altgr keycode 17 = asciicircum
+keycode 18 = e
+ altgr keycode 18 = equal
+keycode 19 = r
+ altgr keycode 19 = plus
+keycode 20 = t
+ altgr keycode 20 = bracketleft
+keycode 21 = y
+ altgr keycode 21 = bracketright
+keycode 22 = u
+ altgr keycode 22 = braceleft
+keycode 23 = i
+ altgr keycode 23 = braceright
+keycode 24 = o
+keycode 25 = p
+keycode 26 =
+keycode 27 =
+keycode 28 = Return
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+ altgr keycode 33 = backslash
+keycode 34 = g
+ altgr keycode 34 = semicolon
+keycode 35 = h
+ altgr keycode 35 = colon
+keycode 36 = j
+ altgr keycode 36 = asterisk
+keycode 37 = k
+ altgr keycode 37 = backslash
+keycode 38 = l
+ altgr keycode 38 = bar
+keycode 39 =
+keycode 40 =
+keycode 41 =
+keycode 42 = Shift
+keycode 43 =
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+ altgr keycode 48 = underscore
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma slash
+ altgr keycode 51 = less
+keycode 52 = period question
+ altgr keycode 52 = greater
+keycode 53 =
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 59 = F9
+keycode 60 = F10
+keycode 61 = AltGr
+keycode 62 = Escape
+keycode 63 = Return
+keycode 64 = Escape
+keycode 65 = Down
+keycode 66 = Up
+keycode 67 = Control
+keycode 68 = F13
+keycode 79 = F15
+keycode 80 = F16
+keycode 82 = F17
+keycode 87 = Return
+keycode 88 = F11
+keycode 97 = Control
+keycode 99 = F12
+keycode 103 = Up
+ altgr keycode 103 = PageUp
+keycode 105 = Left
+ altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ altgr keycode 106 = Incr_Console
+keycode 108 = Down
+ altgr keycode 108 = PageDown
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/meta/packages/keymaps/files/collie/keymap-2.4.map b/meta/packages/keymaps/files/collie/keymap-2.4.map
new file mode 100644
index 0000000000..4cd8325bb0
--- /dev/null
+++ b/meta/packages/keymaps/files/collie/keymap-2.4.map
@@ -0,0 +1,114 @@
+keymaps 0-1,4-5
+alt_is_meta
+keycode 1 = a
+keycode 2 = b
+keycode 3 = c
+keycode 4 = d
+keycode 5 = e
+keycode 6 = f
+keycode 7 = g
+keycode 8 = h
+keycode 9 = i
+keycode 10 = j
+keycode 11 = k
+keycode 12 = l
+keycode 13 = m
+keycode 14 = n
+keycode 15 = o
+keycode 16 = p
+keycode 17 = q
+keycode 18 = r
+keycode 19 = s
+keycode 20 = t
+keycode 21 = u
+keycode 22 = v
+keycode 23 = w
+keycode 24 = x
+keycode 25 = y
+keycode 26 = z
+keycode 27 = Shift
+keycode 28 = Return
+keycode 29 = F2
+keycode 30 =
+keycode 31 = BackSpace
+keycode 32 = bar
+keycode 33 =
+keycode 34 = Escape
+keycode 35 = Left
+ control keycode 35 = Decr_Console
+keycode 36 = Up
+keycode 37 = Down
+keycode 38 = Right
+ control keycode 38 = Incr_Console
+keycode 39 = Return
+keycode 40 =
+keycode 41 = one
+keycode 42 = two
+keycode 43 = three
+keycode 44 = four
+keycode 45 = five
+keycode 46 = six
+keycode 47 = seven
+keycode 48 = eight
+keycode 49 = nine
+keycode 50 = zero
+keycode 51 = +adiaeresis
+keycode 52 = +udiaeresis
+keycode 53 = +odiaeresis
+keycode 54 = +Adiaeresis
+keycode 55 = +Udiaeresis
+keycode 56 = +Odiaeresis
+keycode 57 = +ssharp
+keycode 58 = minus
+keycode 59 = plus
+keycode 60 = Shift_Lock
+keycode 61 = at
+keycode 62 = question
+keycode 63 = comma
+keycode 64 = period
+keycode 65 = Tab
+keycode 66 = F5
+keycode 67 = F6
+keycode 68 = F7
+keycode 69 = slash
+keycode 70 = apostrophe
+keycode 71 = semicolon
+keycode 72 = quotedbl
+keycode 73 = colon
+keycode 74 = numbersign
+keycode 75 = dollar
+keycode 76 = percent
+keycode 77 = underscore
+keycode 78 = ampersand
+keycode 79 = asterisk
+keycode 80 = parenleft
+keycode 81 = Delete
+keycode 82 = F10
+keycode 83 = equal
+keycode 84 = parenright
+keycode 85 = asciitilde
+keycode 86 = less
+keycode 87 = greater
+keycode 88 = Control
+keycode 89 = Alt
+keycode 90 =
+keycode 91 = space
+ control keycode 91 = nul
+keycode 92 = space
+ control keycode 92 = nul
+keycode 93 =
+keycode 94 = exclam
+keycode 95 =
+keycode 96 =
+keycode 97 =
+keycode 98 =
+keycode 99 =
+keycode 100 =
+keycode 101 =
+keycode 102 =
+keycode 103 = Shift
+keycode 104 = Control
+keycode 105 = Control
+keycode 106 = Alt
+keycode 107 = Alt
+keycode 108 = AltGr
diff --git a/meta/packages/keymaps/files/collie/keymap-2.6.map b/meta/packages/keymaps/files/collie/keymap-2.6.map
new file mode 100644
index 0000000000..9aca5abb38
--- /dev/null
+++ b/meta/packages/keymaps/files/collie/keymap-2.6.map
@@ -0,0 +1,262 @@
+# Note:
+# The way in which the modifiers are handled are quite different
+# than how they were handled in the 2.4.6-rmk1-np2-embedix kernel.
+#
+# Here, we simply pass up Fn as Control, and the german accent key
+# as Altgr, and simply use a proper keymap. Said keymap is as
+# follows.
+# keymaps 0-2,4-5,8,12,20
+keycode 1 = Escape Escape
+keycode 14 = BackSpace
+ shift keycode 14 = BackSpace
+ control keycode 14 = Delete
+ shiftl control keycode 14 = bracketleft
+ control shiftr keycode 14 = bracketleft
+keycode 15 = Tab Tab
+ shift keycode 15 = backslash
+ control keycode 15 = Caps_Lock
+ shiftl control keycode 15 = Caps_Lock
+ control shiftr keycode 15 = Caps_Lock
+keycode 16 = q
+ control keycode 16 = one
+ shiftl control keycode 16 = Control_q
+ control shiftr keycode 16 = Meta_q
+keycode 17 = w
+ control keycode 17 = two
+ shiftl control keycode 17 = Control_w
+ control shiftr keycode 17 = Meta_w
+keycode 18 = e
+ control keycode 18 = three
+ shiftl control keycode 18 = Control_e
+ control shiftr keycode 18 = Meta_e
+keycode 19 = r
+ control keycode 19 = four
+ shiftr control keycode 19 = Control_r
+ control shiftl keycode 19 = Meta_r
+keycode 20 = t
+ control keycode 20 = five
+ shiftl control keycode 20 = Control_t
+ control shiftr keycode 20 = Meta_t
+keycode 21 = y
+ control keycode 21 = six
+ shiftl control keycode 21 = Control_y
+ control shiftr keycode 21 = Meta_y
+keycode 22 = u
+ control keycode 22 = seven
+ shiftl control keycode 22 = Control_u
+ control shiftr keycode 22 = Meta_u
+keycode 23 = i
+ control keycode 23 = eight
+ shiftl control keycode 23 = Control_i
+ control shiftr keycode 23 = Meta_i
+keycode 24 = o
+ control keycode 24 = nine
+ shiftl control keycode 24 = Control_o
+ control shiftr keycode 24 = Meta_o
+keycode 25 = p
+ control keycode 25 = zero
+ shiftl control keycode 25 = Control_p
+ control shiftr keycode 25 = Meta_p
+keycode 28 = Return
+ control keycode 28 = greater
+ shiftl control keycode 28 = braceright
+ control shiftr keycode 28 = braceright
+keycode 29 = Control
+keycode 30 = a
+ control keycode 30 = exclam
+ shiftl control keycode 30 = Control_a
+ control shiftr keycode 30 = Meta_a
+keycode 31 = s
+ control keycode 31 = at
+ shiftl control keycode 31 = Control_s
+ control shiftr keycode 31 = Meta_s
+keycode 32 = d
+ control keycode 32 = numbersign
+ shiftl control keycode 32 = Control_d
+ control shiftr keycode 32 = Meta_d
+keycode 33 = f
+ control keycode 33 = dollar
+ shiftl control keycode 33 = Control_f
+ control shiftr keycode 33 = Meta_f
+keycode 34 = g
+ control keycode 34 = percent
+ shiftl control keycode 34 = Control_g
+ control shiftr keycode 34 = Meta_g
+keycode 35 = h
+ control keycode 35 = underscore
+ shiftl control keycode 35 = BackSpace
+ control shiftr keycode 35 = BackSpace
+keycode 36 = j
+ control keycode 36 = ampersand
+ shiftl control keycode 36 = Linefeed
+ control shiftr keycode 36 = Linefeed
+keycode 37 = k
+ control keycode 37 = asterisk
+ shiftl control keycode 37 = Control_k
+ control shiftr keycode 37 = Meta_k
+keycode 38 = l
+ control keycode 38 = bracketleft
+ shiftl control keycode 51 = parenleft
+ control shiftr keycode 51 = parenleft
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = asciitilde
+ shiftl control keycode 40 = asciicircum
+ control shiftr keycode 40 = asciicircum
+keycode 42 = Shift
+keycode 44 = z
+ control keycode 44 = Control_z
+ shiftl control keycode 44 = Control_z
+ control shiftr keycode 44 = Meta_z
+keycode 45 = x
+ control keycode 45 = Control_x
+ shiftl control keycode 45 = Control_x
+ control shiftr keycode 45 = Meta_x
+keycode 46 = c
+ control keycode 46 = Control_c
+ shiftl control keycode 46 = Control_c
+ control shiftr keycode 46 = Meta_c
+keycode 47 = v
+ control keycode 47 = Control_v
+ shiftl control keycode 47 = Control_v
+ control shiftr keycode 47 = Meta_v
+## current location ##
+keycode 48 = b
+ control keycode 48 = minus
+ shiftl control keycode 48 = Control_b
+ control shiftr keycode 48 = Meta_b
+keycode 49 = n
+ control keycode 49 = plus
+ shiftl control keycode 49 = Control_n
+ control shiftr keycode 49 = Meta_n
+keycode 50 = m
+ control keycode 50 = equal
+ shiftl control keycode 50 = Control_m
+ control shiftr keycode 50 = Meta_m
+keycode 51 = comma
+ shift keycode 51 = semicolon
+ control keycode 51 = bracketright
+ shiftl control keycode 51 = parenright
+ control shiftr keycode 51 = parenright
+keycode 52 = period
+ shift keycode 52 = colon
+ control keycode 52 = less
+ shiftl control keycode 52 = braceleft
+ control shiftr keycode 52 = braceleft
+keycode 53 = slash
+ shift keycode 53 = question
+ control keycode 53 = Num_Lock
+ shiftl control keycode 53 = Num_Lock
+ control shiftr keycode 53 = Num_Lock
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space
+ shift keycode 57 = bar
+ control keycode 57 = nul
+ shiftl control keycode 57 = grave
+ control shiftr keycode 57 = grave
+keycode 97 = Control
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 103 = Up
+keycode 105 = Left
+keycode 106 = Right
+keycode 107 = Select
+keycode 108 = Down
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/meta/packages/keymaps/files/keymap b/meta/packages/keymaps/files/keymap
new file mode 100755
index 0000000000..6ebc634266
--- /dev/null
+++ b/meta/packages/keymaps/files/keymap
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# load keymap, if existing
+
+KERNEL_MAJMIN=`uname -r | cut -d '.' -f 1,2`
+if [ -e /etc/keymap-$KERNEL_MAJMIN.map ]; then
+ loadkeys /etc/keymap-$KERNEL_MAJMIN.map
+fi
+
+if ( ls "/etc" | grep -q "keymap-extension-${KERNEL_MAJMIN}" )
+then
+ for extension in `ls -1 /etc/keymap-extension-$KERNEL_MAJMIN*`
+ do
+ loadkeys "$extension"
+ done
+fi
diff --git a/meta/packages/keymaps/files/poodle/keymap-2.6.map b/meta/packages/keymaps/files/poodle/keymap-2.6.map
new file mode 100644
index 0000000000..68533bb93c
--- /dev/null
+++ b/meta/packages/keymaps/files/poodle/keymap-2.6.map
@@ -0,0 +1,151 @@
+keymaps 0-2,4,8,12
+
+# Default Shift AltGr Control Alt Ctrl+Alt
+keycode 29 = SControl # Calendar
+keycode 60 = SAlt # Address
+keycode 63 = Return
+keycode 68 = F13 # Mail
+keycode 87 = Return
+keycode 88 = F11 # Menu
+keycode 102 = F12 # Home
+keycode 103 = Up Up Prior
+keycode 105 = Left Left Decr_Console
+keycode 106 = Right Right Incr_Console
+keycode 108 = Down Down Next
+keycode 116 = Escape
+
+keycode 14 = BackSpace BackSpace Delete
+keycode 15 = Tab backslash Caps_Lock
+keycode 28 = Return Return greater
+keycode 40 = apostrophe quotedbl tilde
+keycode 42 = SShift
+keycode 51 = comma semicolon parenright
+keycode 52 = period colon less
+keycode 53 = slash question Num_Lock
+keycode 54 = SShift
+keycode 57 = space bar bar
+keycode 67 = SAltGr
+
+keycode 16 = +q +Q one Control_q Meta_q
+keycode 17 = +w +W two Control_w Meta_w
+keycode 18 = +e +E three Control_e Meta_e
+keycode 19 = +r +R four Control_r Meta_r
+keycode 20 = +t +T five Control_t Meta_t
+keycode 21 = +y +Y six Control_y Meta_y
+keycode 22 = +u +U seven Control_u Meta_u
+keycode 23 = +i +I eight Control_i Meta_i
+keycode 24 = +o +O nine Control_o Meta_o
+keycode 25 = +p +P zero Control_p Meta_p
+keycode 30 = +a +A exclam Control_a Meta_a
+keycode 31 = +s +S at Control_s Meta_s
+keycode 32 = +d +D numbersign Control_d Meta_d
+keycode 33 = +f +F dollar Control_f Meta_f
+keycode 34 = +g +G percent Control_g Meta_g
+keycode 35 = +h +H underscore Control_h Meta_h
+keycode 36 = +j +J ampersand Control_j Meta_j
+keycode 37 = +k +K asterisk Control_k Meta_k
+keycode 38 = +l +L parenleft Control_l Meta_l
+keycode 44 = +z +Z VoidSymbol Control_z Meta_z
+keycode 45 = +x +X Control_x Control_x Meta_x
+keycode 46 = +c +C Control_c Control_c Meta_c
+keycode 47 = +v +V Control_v Control_v Meta_v
+keycode 48 = +b +B minus Control_b Meta_b
+keycode 49 = +n +N plus Control_n Meta_n
+keycode 50 = +m +M equal Control_m Meta_m
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/meta/packages/keymaps/files/spitz/keymap-2.4.map b/meta/packages/keymaps/files/spitz/keymap-2.4.map
new file mode 100644
index 0000000000..e6339979e8
--- /dev/null
+++ b/meta/packages/keymaps/files/spitz/keymap-2.4.map
@@ -0,0 +1,128 @@
+keymaps 0-2,4-5,8
+keycode 1 = +a +A +a Control_a Control_a
+keycode 2 = +b +B underscore Control_b Control_b
+keycode 3 = +c +C +c Control_c Control_c
+keycode 4 = +d +D +d Control_d Control_d
+keycode 5 = +e +E equal Control_e Control_e
+keycode 6 = +f +F backslash Control_f Control_f
+keycode 7 = +g +G semicolon Control_g Control_g
+keycode 8 = +h +H colon BackSpace BackSpace
+keycode 9 = +i +I +i Tab Tab
+keycode 10 = +j +J asterisk Linefeed Linefeed
+keycode 11 = +k +K backslash Control_k Control_k
+keycode 12 = +l +L bar Control_l Control_l
+keycode 13 = +m +M +m Control_m Control_m
+keycode 14 = +n +N +n Control_n Control_n
+keycode 15 = +o +O +o Control_o Control_o
+keycode 16 = +p +P +p Control_p Control_p
+keycode 17 = +q +Q +q Control_q Control_q
+keycode 18 = +r +R plus Control_r Control_r
+keycode 19 = +s +S +s Control_s Control_s
+keycode 20 = +t +T bracketleft Control_t Control_t
+keycode 21 = +u +U +u Control_u Control_u
+keycode 22 = +v +V +v Control_v Control_v
+keycode 23 = +w +W asciicircum Control_w Control_w
+keycode 24 = +x +X +x Control_x Control_x
+keycode 25 = +y +Y bracketright Control_y Control_y
+keycode 26 = +z +Z +z Control_z Control_z
+keycode 27 = Shift Shift Shift Shift Shift
+keycode 28 = Return Return Return Return Return
+keycode 29 = F11 F11 F11 F11 F11
+keycode 30 = AltGr AltGr AltGr AltGr AltGr
+keycode 31 = BackSpace BackSpace Delete BackSpace BackSpace
+keycode 32 = Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock
+keycode 33 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 34 = Escape Escape Escape Escape Escape
+keycode 35 = Left Left Left Left Left Decr_Console
+keycode 36 = Up Up PageUp Up Up
+keycode 37 = Down Down PageDown Down Down
+keycode 38 = Right Right Right Right Right Incr_Console
+keycode 39 = Return Return Return Return Return
+keycode 40 = F12 VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 41 = one exclam VoidSymbol VoidSymbol VoidSymbol Console_1
+keycode 42 = two quotedbl VoidSymbol VoidSymbol VoidSymbol Console_2
+keycode 43 = three numbersign VoidSymbol VoidSymbol VoidSymbol Console_3
+keycode 44 = four dollar VoidSymbol VoidSymbol VoidSymbol Console_4
+keycode 45 = five percent VoidSymbol VoidSymbol VoidSymbol Console_5
+keycode 46 = six ampersand VoidSymbol VoidSymbol VoidSymbol
+keycode 47 = seven apostrophe VoidSymbol VoidSymbol VoidSymbol
+keycode 48 = eight parenleft VoidSymbol VoidSymbol VoidSymbol
+keycode 49 = nine parenright VoidSymbol VoidSymbol VoidSymbol
+keycode 50 = zero asciitilde VoidSymbol VoidSymbol VoidSymbol
+keycode 51 = minus equal VoidSymbol VoidSymbol VoidSymbol
+keycode 52 = asciicircum asciitilde VoidSymbol VoidSymbol VoidSymbol
+keycode 53 = backslash bar VoidSymbol VoidSymbol VoidSymbol
+keycode 54 = bracketleft braceleft VoidSymbol VoidSymbol VoidSymbol
+keycode 55 = at grave VoidSymbol VoidSymbol VoidSymbol
+keycode 56 = Control Control Control Control Control
+keycode 57 = Alt Alt Alt Alt Alt
+keycode 58 = Control Control Control Control Control
+keycode 59 = minus VoidSymbol at VoidSymbol VoidSymbol
+keycode 60 = Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock
+keycode 61 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 62 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 63 = comma slash less VoidSymbol VoidSymbol
+keycode 64 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 65 = Tab Tab Caps_Lock Tab Tab
+keycode 66 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 67 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 68 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 69 = Alt VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 70 = slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 71 = KP_1 KP_1 KP_1 KP_1 KP_1
+keycode 72 = KP_2 KP_2 KP_2 KP_2 KP_2
+keycode 73 = KP_3 KP_3 KP_3 KP_3 KP_3
+keycode 74 = KP_4 KP_4 KP_4 KP_4 KP_4
+keycode 75 = KP_5 KP_5 KP_5 KP_5 KP_5
+keycode 76 = KP_6 KP_6 KP_6 KP_6 KP_6
+keycode 77 = KP_7 KP_7 KP_7 KP_7 KP_7
+keycode 78 = KP_8 KP_8 KP_8 KP_8 KP_8
+keycode 79 = KP_9 KP_9 KP_9 KP_9 KP_9
+keycode 80 = KP_0 KP_0 KP_0 KP_0 KP_0
+keycode 81 = Delete Delete Delete Delete Delete
+keycode 82 = KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide
+keycode 83 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply
+keycode 84 = Return Return Return Return Return
+keycode 85 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract
+keycode 86 = KP_Add KP_Add KP_Add KP_Add KP_Add
+keycode 87 = KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
+keycode 88 = F9 F9 F9 F9 F9
+keycode 89 = F10 F10 F10 F10 F10
+keycode 90 = F13 F13 F13 F13 F13
+keycode 91 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 92 = space space space space space
+keycode 93 = KP_Period KP_Period KP_Period KP_Period KP_Period
+keycode 94 = Escape Escape Escape Escape
+keycode 95 = semicolon plus VoidSymbol VoidSymbol VoidSymbol
+keycode 96 = colon asterisk VoidSymbol VoidSymbol VoidSymbol
+keycode 97 = bracketright braceright VoidSymbol VoidSymbol VoidSymbol
+keycode 98 = comma less VoidSymbol VoidSymbol VoidSymbol
+keycode 99 = period greater VoidSymbol VoidSymbol VoidSymbol
+keycode 100 = slash question VoidSymbol VoidSymbol VoidSymbol
+keycode 101 = underscore underscore VoidSymbol VoidSymbol VoidSymbol
+keycode 102 = F15 VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 103 = period question greater VoidSymbol VoidSymbol
+keycode 104 = Find Find Find Find Find
+keycode 105 = Select Select Select Select Select
+keycode 106 = Prior Scroll_Backward Prior Prior Prior
+keycode 107 = Next Scroll_Forward Next Next Next
+keycode 108 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 109 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 110 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 111 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 112 = Shift Shift Shift Shift Shift
+keycode 113 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 114 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 115 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 116 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 117 = Control Control Control Control Control
+keycode 118 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 119 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 120 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 121 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 122 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 123 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 124 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 125 = Up Up Up Up
+keycode 126 = Down Down Down Down
+keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
diff --git a/meta/packages/keymaps/files/spitz/keymap-2.6.map b/meta/packages/keymaps/files/spitz/keymap-2.6.map
new file mode 100644
index 0000000000..11a0e8b4d3
--- /dev/null
+++ b/meta/packages/keymaps/files/spitz/keymap-2.6.map
@@ -0,0 +1,228 @@
+# Default kernel keymap. This uses 7 modifier combinations.
+keymaps 0-2,4-5,8,12
+# Change the above line into
+# keymaps 0-2,4-6,8,12
+# in case you want the entries
+# altgr control keycode 83 = Boot
+# altgr control keycode 111 = Boot
+# below.
+#
+keycode 1 =
+keycode 2 = one exclam
+ control alt keycode 2 = Console_1
+keycode 3 = two quotedbl
+ control alt keycode 3 = Console_2
+keycode 4 = three numbersign
+ control alt keycode 4 = Console_3
+keycode 5 = four dollar
+ control alt keycode 5 = Console_4
+keycode 6 = five percent
+ control alt keycode 6 = Console_5
+keycode 7 = six ampersand
+ control alt keycode 7 = Console_6
+keycode 8 = seven apostrophe
+keycode 9 = eight parenleft
+keycode 10 = nine parenright
+keycode 11 = zero asciitilde
+keycode 12 = minus at
+ altgr keycode 12 = at
+keycode 13 =
+keycode 14 = BackSpace
+ altgr keycode 14 = Delete
+keycode 15 = Tab
+ altgr keycode 15 = Caps_Lock
+keycode 16 = q
+keycode 17 = w
+ altgr keycode 17 = asciicircum
+keycode 18 = e
+ altgr keycode 18 = equal
+keycode 19 = r
+ altgr keycode 19 = plus
+keycode 20 = t
+ altgr keycode 20 = bracketleft
+keycode 21 = y
+ altgr keycode 21 = bracketright
+keycode 22 = u
+ altgr keycode 22 = braceleft
+keycode 23 = i
+ altgr keycode 23 = braceright
+keycode 24 = o
+keycode 25 = p
+keycode 26 =
+keycode 27 =
+keycode 28 = Return
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+ altgr keycode 33 = backslash
+keycode 34 = g
+ altgr keycode 34 = semicolon
+keycode 35 = h
+ altgr keycode 35 = colon
+keycode 36 = j
+ altgr keycode 36 = asterisk
+keycode 37 = k
+ altgr keycode 37 = backslash
+keycode 38 = l
+ altgr keycode 38 = bar
+keycode 39 =
+keycode 40 =
+keycode 41 =
+keycode 42 = Shift
+keycode 43 =
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+ altgr keycode 48 = underscore
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma slash
+ altgr keycode 51 = less
+keycode 52 = period question
+ altgr keycode 52 = greater
+keycode 53 =
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 59 = F9
+keycode 60 = F10
+keycode 61 = AltGr
+keycode 62 = Escape
+keycode 63 = Return
+keycode 64 = Escape
+keycode 65 = Down
+keycode 66 = Up
+keycode 67 = Control
+keycode 68 = F13
+keycode 79 = F15
+keycode 80 = F16
+keycode 82 = F17
+keycode 87 = Return
+keycode 88 = F11
+keycode 97 = Control
+keycode 99 = F12
+keycode 103 = Up
+ altgr keycode 103 = PageUp
+keycode 105 = Left
+ altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ altgr keycode 106 = Incr_Console
+keycode 108 = Down
+ altgr keycode 108 = PageDown
+
+
+# LCD Softkeys as represented by zaurusd
+keycode 82 = F5
+keycode 79 = F15 # Home
+keycode 80 = F6
+keycode 81 = F16 # Email
+keycode 75 = F7
+keycode 76 = F17 # Addresses
+keycode 77 = F8
+keycode 71 = F18 # Calendar
+keycode 72 = F9
+keycode 73 = F19 # Book
+keycode 78 = F10
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/meta/packages/keymaps/files/tosa/keymap-2.4.map b/meta/packages/keymaps/files/tosa/keymap-2.4.map
new file mode 100644
index 0000000000..31ca75b660
--- /dev/null
+++ b/meta/packages/keymaps/files/tosa/keymap-2.4.map
@@ -0,0 +1,133 @@
+keymaps 0-2,4-5
+alt_is_meta
+keycode 1 = a
+keycode 2 = b
+keycode 3 = c
+keycode 4 = d
+keycode 5 = e
+keycode 6 = f
+keycode 7 = g
+keycode 8 = h
+keycode 9 = i
+keycode 10 = j
+keycode 11 = k
+keycode 12 = l
+keycode 13 = m
+keycode 14 = n
+keycode 15 = o
+keycode 16 = p
+keycode 17 = q
+keycode 18 = r
+keycode 19 = s
+keycode 20 = t
+keycode 21 = u
+keycode 22 = v
+keycode 23 = w
+keycode 24 = x
+keycode 25 = y
+keycode 26 = z
+keycode 27 = Shift
+keycode 28 = Return
+keycode 29 = F11
+keycode 30 = AltGr
+keycode 31 = BackSpace
+keycode 32 = Num_Lock
+keycode 33 = F15
+keycode 34 = Escape
+keycode 35 = Left
+ altgr keycode 35 = Decr_Console
+keycode 36 = Up
+keycode 37 = Down
+keycode 38 = Right
+ altgr keycode 38 = Incr_Console
+keycode 39 = Return
+keycode 40 = F12
+keycode 41 = one exclam one
+keycode 42 = two quotedbl two
+keycode 43 = three numbersign three
+keycode 44 = four dollar four
+keycode 45 = five percent five
+keycode 46 = six ampersand six
+keycode 47 = seven apostrophe seven
+keycode 48 = eight parenleft eight
+keycode 49 = nine parenright nine
+keycode 50 = zero asciitilde zero
+keycode 51 = minus equal
+keycode 52 = asciicircum asciitilde
+keycode 53 = backslash bar
+keycode 54 = bracketleft braceleft
+keycode 55 = at grave
+keycode 56 = Control
+keycode 57 = Alt
+keycode 58 = minus
+keycode 59 = plus
+keycode 60 = Caps_Lock
+keycode 61 = at
+keycode 62 = question
+keycode 63 = comma
+keycode 64 = period
+keycode 65 = Tab
+keycode 66 = F5
+keycode 67 = F6
+keycode 68 = F7
+keycode 69 = slash
+keycode 70 = apostrophe
+keycode 71 = semicolon
+keycode 72 = quotedbl
+keycode 73 = colon
+keycode 74 = numbersign
+keycode 75 = dollar
+keycode 76 = percent
+keycode 77 = underscore
+keycode 78 = ampersand
+keycode 79 = asterisk
+keycode 80 = parenleft
+keycode 81 = Delete
+keycode 82 = F10
+keycode 83 = equal
+keycode 84 = parenright
+keycode 85 = asciitilde
+keycode 86 = less
+keycode 87 = greater
+keycode 88 = F9
+keycode 89 = F10
+keycode 90 = F13
+keycode 91 = space
+ control keycode 91 = nul
+keycode 92 = space
+ control keycode 92 = nul
+keycode 93 =
+keycode 94 = exclam
+keycode 95 = semicolon
+keycode 96 = colon
+keycode 97 = bracketright
+keycode 98 = comma
+keycode 99 = period
+keycode 100 = slash
+keycode 101 = underscore
+keycode 102 = F15
+keycode 103 = Shift
+keycode 104 = Find
+keycode 105 = Select
+keycode 106 = Prior
+keycode 107 = Next
+keycode 108 = AltGr
+keycode 109 = F31
+keycode 110 =
+keycode 111 =
+keycode 112 = Shift
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 = underscore
+keycode 117 = Control
+keycode 118 =
+keycode 119 =
+keycode 120 = F24
+keycode 121 = Left
+keycode 122 = Up
+keycode 123 = Down
+keycode 124 = Right
+keycode 125 = Up
+keycode 126 = Down
+keycode 127 =
diff --git a/meta/packages/keymaps/files/tosa/keymap-2.6.map b/meta/packages/keymaps/files/tosa/keymap-2.6.map
new file mode 100644
index 0000000000..ac43471326
--- /dev/null
+++ b/meta/packages/keymaps/files/tosa/keymap-2.6.map
@@ -0,0 +1,210 @@
+# Default kernel keymap. This uses 7 modifier combinations.
+keymaps 0-2,4-5,8,12
+# Change the above line into
+# keymaps 0-2,4-6,8,12
+# in case you want the entries
+# altgr control keycode 83 = Boot
+# altgr control keycode 111 = Boot
+# below.
+#
+keycode 1 =
+keycode 14 = BackSpace
+ altgr keycode 14 = Delete
+keycode 15 = Tab
+ altgr keycode 65 = Caps_Lock
+keycode 16 = q
+ altgr keycode 16 = one
+keycode 17 = w
+ altgr keycode 17 = two
+keycode 18 = e
+ altgr keycode 18 = three
+keycode 19 = r
+ altgr keycode 19 = four
+keycode 20 = t
+ altgr keycode 20 = five
+keycode 21 = y
+ altgr keycode 21 = six
+keycode 22 = u
+ altgr keycode 22 = seven
+keycode 23 = i
+ altgr keycode 23 = eight
+keycode 24 = o
+ altgr keycode 24 = nine
+keycode 25 = p
+ altgr keycode 25 = zero
+keycode 26 =
+keycode 27 =
+keycode 28 = Return
+ altgr keycode 28 = greater
+keycode 29 = Control
+keycode 30 = a
+ altgr keycode 30 = exclam
+keycode 31 = s
+ altgr keycode 31 = at
+keycode 32 = d
+ altgr keycode 32 = numbersign
+keycode 33 = f
+ altgr keycode 33 = dollar
+keycode 34 = g
+ altgr keycode 34 = percent
+keycode 35 = h
+ altgr keycode 35 = underscore
+keycode 36 = j
+ altgr keycode 36 = ampersand
+keycode 37 = k
+ altgr keycode 37 = asterisk
+keycode 38 = l
+ altgr keycode 38 = parenleft
+keycode 39 =
+keycode 40 = apostrophe
+ altgr keycode 40 = asciitilde
+ shift keycode 40 = quotedbl
+keycode 41 =
+keycode 42 = Shift
+keycode 43 =
+keycode 44 = z
+ altgr keycode 44 = bar
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+ altgr keycode 48 = minus
+keycode 49 = n
+ altgr keycode 49 = plus
+keycode 50 = m
+ altgr keycode 50 = equal
+keycode 51 = comma
+ altgr keycode 51 = parenright
+ shift keycode 51 = semicolon
+keycode 52 = period
+ shift keycode 52 = colon
+ altgr keycode 52 = less
+
+keycode 53 = slash
+ shift keycode 53 = question
+ altgr keycode 53 = Num_Lock
+
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 59 = F9
+keycode 60 = F10
+keycode 61 = AltGr
+keycode 62 = Escape
+keycode 63 = Return
+keycode 64 = Escape
+keycode 65 = Down
+keycode 66 = Up
+keycode 67 = Control
+keycode 68 = F13
+keycode 79 = F15
+keycode 80 = F16
+keycode 82 = F17
+keycode 87 = Return
+keycode 88 = F11
+keycode 97 = Control
+keycode 99 = F12
+keycode 103 = Up
+keycode 105 = Left
+ altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ altgr keycode 106 = Incr_Console
+keycode 108 = Down
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/meta/packages/keymaps/keymaps_1.0.bb b/meta/packages/keymaps/keymaps_1.0.bb
new file mode 100644
index 0000000000..a906d7f383
--- /dev/null
+++ b/meta/packages/keymaps/keymaps_1.0.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Keyboard map"
+SECTION = "base"
+MAINTAINER = "Marcin Juszkiewicz <openembedded@hrw.one.pl>"
+RDEPENDS = "initscripts console-tools"
+LICENSE = "GPL"
+PACKAGE_ARCH = "${MACHINE}"
+PR = "r5"
+
+inherit update-rc.d
+
+SRC_URI = "file://keymap"
+
+SRC_URI_append_c7x0 = " file://keymap-*.map"
+SRC_URI_append_tosa = " file://keymap-*.map"
+SRC_URI_append_akita = " file://keymap-*.map"
+SRC_URI_append_spitz = " file://keymap-*.map"
+SRC_URI_append_collie = " file://keymap-*.map"
+SRC_URI_append_poodle = " file://keymap-*.map"
+
+INITSCRIPT_NAME = "keymap"
+INITSCRIPT_PARAMS = "start 00 S ."
+
+do_install () {
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/keymap ${D}${sysconfdir}/init.d/
+
+ case ${MACHINE} in
+ c7x0 | tosa | spitz | akita | collie | poodle )
+ install -m 0644 ${WORKDIR}/keymap-*.map ${D}${sysconfdir}
+ ;;
+ *)
+ ;;
+ esac
+}
diff --git a/meta/packages/kf/files/fix-configure.patch b/meta/packages/kf/files/fix-configure.patch
new file mode 100644
index 0000000000..fc1ad9a418
--- /dev/null
+++ b/meta/packages/kf/files/fix-configure.patch
@@ -0,0 +1,25 @@
+diff -urNd ../kf-0.5.4.1-r0/kf-0.5.4.1/configure.in kf-0.5.4.1/configure.in
+--- ../kf-0.5.4.1-r0/kf-0.5.4.1/configure.in 2005-04-27 19:42:49.000000000 +0100
++++ kf-0.5.4.1/configure.in 2005-09-29 14:12:32.000000000 +0100
+@@ -27,7 +27,7 @@
+ dnl AC_ARG_ENABLE(debug,)
+
+ dnl modules needed for package
+-MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.16"
++MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.16 libxml-2.0"
+ dnl MODULES="gtk+-2.0 >= 2.0.0 libglade-2.0 >= 1.110.0 loudmouth-1.0 >= 0.15.1"
+
+ dnl GtkSpell
+@@ -60,9 +60,9 @@
+ AC_DEFINE([HAVE_LM_CONNECTION_SET_JID],1,[We have lm_connection_set_jid])
+ fi
+
+-dnl XScreenSaver stuff...
+-AC_DEFINE([HAVE_XSCREENSAVER], [1], [Whether to support XScreenSaver extension])
+-PACKAGE_LIBS="$PACKAGE_LIBS -lXss -L/usr/X11R6/lib"
++#dnl XScreenSaver stuff...
++#AC_DEFINE([HAVE_XSCREENSAVER], [1], [Whether to support XScreenSaver extension])
++#PACKAGE_LIBS="$PACKAGE_LIBS -lXss -L/usr/X11R6/lib"
+
+ AC_SUBST(PACKAGE_CFLAGS)
+ AC_SUBST(PACKAGE_LIBS)
diff --git a/meta/packages/kf/files/fix-desktop-file.patch b/meta/packages/kf/files/fix-desktop-file.patch
new file mode 100644
index 0000000000..f22cfe8294
--- /dev/null
+++ b/meta/packages/kf/files/fix-desktop-file.patch
@@ -0,0 +1,22 @@
+Common subdirectories: kf-0.5.4.1.orig/data and kf-0.5.4.1/data
+diff -u kf-0.5.4.1.orig/kf.desktop kf-0.5.4.1/kf.desktop
+--- kf-0.5.4.1.orig/kf.desktop 2005-04-19 22:08:44.000000000 +0100
++++ kf-0.5.4.1/kf.desktop 2005-10-03 14:36:47.000000000 +0100
+@@ -1,6 +1,6 @@
+ [Desktop Entry]
+ Encoding=UTF-8
+-Name=kf jabber client
++Name=Instant Messenger
+ Name[pl]=kf klient sieci jabber
+ Name[lt]=Pokalbių programa kf
+ GenericName=Instant Messenger
+@@ -11,5 +11,6 @@
+ Icon=kf.png
+ Terminal=false
+ Type=Application
+-Categories=GTK;Application;Network;
++Categories=GTK;PIM;Application;Network;
+ StartupNotify=true
++SingleInstance=true
+Common subdirectories: kf-0.5.4.1.orig/po and kf-0.5.4.1/po
+Common subdirectories: kf-0.5.4.1.orig/src and kf-0.5.4.1/src
diff --git a/meta/packages/kf/kf_0.5.4.1.bb b/meta/packages/kf/kf_0.5.4.1.bb
new file mode 100755
index 0000000000..fee7cd89ea
--- /dev/null
+++ b/meta/packages/kf/kf_0.5.4.1.bb
@@ -0,0 +1,16 @@
+LICENSE = "GPL"
+DEPENDS = "libxml2 glib-2.0 gtk+ loudmouth"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DESCRIPTION = "Kf is a GTK+ instant messaging client."
+PR = "r2"
+
+SRC_URI = "http://jabberstudio.2nw.net/${PN}/${PN}-${PV}.tar.gz \
+ file://fix-configure.patch;patch=1 \
+ file://fix-desktop-file.patch;patch=0"
+
+inherit autotools pkgconfig
+
+export PKG_CONFIG="${STAGING_BINDIR}/pkg-config"
+
+EXTRA_OECONF = "--disable-binreloc"
+
diff --git a/meta/packages/leafpad/files/leafpad.desktop b/meta/packages/leafpad/files/leafpad.desktop
new file mode 100644
index 0000000000..0e582794ea
--- /dev/null
+++ b/meta/packages/leafpad/files/leafpad.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Notes
+Exec=/usr/bin/leafpad
+Icon=leafpad.png
+Terminal=false
+Type=Application
+Categories=Utility;PIM;
+SingleInstance=true
+StartupNotify=true
+
diff --git a/meta/packages/leafpad/files/leafpad.png b/meta/packages/leafpad/files/leafpad.png
new file mode 100644
index 0000000000..c5ee0cff85
--- /dev/null
+++ b/meta/packages/leafpad/files/leafpad.png
Binary files differ
diff --git a/meta/packages/leafpad/leafpad_0.8.4.bb b/meta/packages/leafpad/leafpad_0.8.4.bb
new file mode 100644
index 0000000000..1b1d23fa2a
--- /dev/null
+++ b/meta/packages/leafpad/leafpad_0.8.4.bb
@@ -0,0 +1,21 @@
+LICENSE = "GPLv2"
+DEPENDS = "gtk+ intltool-native"
+SRC_URI = "http://savannah.nongnu.org/download/${PN}/${PN}-${PV}.tar.gz \
+ file://leafpad.desktop \
+ file://leafpad.png"
+PR = "r1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --enable-chooser --disable-gtktest --disable-print"
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps/
+
+ install -m 0644 ${WORKDIR}/leafpad.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/leafpad.desktop ${D}/${datadir}/applications
+}
+
+FILES_${PN} += "${datadir}/applications/leafpad.desktop ${datadir}/pixmaps/leafpad.png"
diff --git a/meta/packages/leafpad/leafpad_0.8.9.bb b/meta/packages/leafpad/leafpad_0.8.9.bb
new file mode 100644
index 0000000000..1b1d23fa2a
--- /dev/null
+++ b/meta/packages/leafpad/leafpad_0.8.9.bb
@@ -0,0 +1,21 @@
+LICENSE = "GPLv2"
+DEPENDS = "gtk+ intltool-native"
+SRC_URI = "http://savannah.nongnu.org/download/${PN}/${PN}-${PV}.tar.gz \
+ file://leafpad.desktop \
+ file://leafpad.png"
+PR = "r1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --enable-chooser --disable-gtktest --disable-print"
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps/
+
+ install -m 0644 ${WORKDIR}/leafpad.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/leafpad.desktop ${D}/${datadir}/applications
+}
+
+FILES_${PN} += "${datadir}/applications/leafpad.desktop ${datadir}/pixmaps/leafpad.png"
diff --git a/meta/packages/less/less-382/configure.patch b/meta/packages/less/less-382/configure.patch
new file mode 100644
index 0000000000..2f054ba639
--- /dev/null
+++ b/meta/packages/less/less-382/configure.patch
@@ -0,0 +1,243 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- less-381/./configure.ac~configure
++++ less-381/./configure.ac
+@@ -9,7 +9,7 @@
+ # contact the author, see the README file.
+
+ # Autoconf initialization.
+-AC_INIT(less, 1)
++AC_INIT([less],[1])
+ AC_CONFIG_SRCDIR([forwback.c])
+ AC_CONFIG_HEADER([defines.h])
+
+@@ -56,8 +56,7 @@
+ TERMLIBS="-lxcurses"
+ SAVE_LIBS=$LIBS
+ LIBS="$LIBS $TERMLIBS"
+- AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);],
+- [termok=yes], [termok=no])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);]])],[termok=yes],[termok=no])
+ LIBS=$SAVE_LIBS
+ if test $termok = no; then TERMLIBS=""; fi
+ fi
+@@ -69,8 +68,7 @@
+ TERMLIBS="-lncurses"
+ SAVE_LIBS=$LIBS
+ LIBS="$LIBS $TERMLIBS"
+- AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);],
+- [termok=yes], [termok=no])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);]])],[termok=yes],[termok=no])
+ LIBS=$SAVE_LIBS
+ if test $termok = no; then TERMLIBS=""; fi
+ fi
+@@ -82,8 +80,7 @@
+ TERMLIBS="-lcurses"
+ SAVE_LIBS=$LIBS
+ LIBS="$LIBS $TERMLIBS"
+- AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);],
+- [termok=yes], [termok=no])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);]])],[termok=yes],[termok=no])
+ LIBS=$SAVE_LIBS
+ if test $termok = no; then TERMLIBS=""; fi
+ fi
+@@ -96,8 +93,7 @@
+ TERMLIBS="-lcurses -ltermcap"
+ SAVE_LIBS=$LIBS
+ LIBS="$LIBS $TERMLIBS"
+- AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);],
+- [termok=yes], [termok=no])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);]])],[termok=yes],[termok=no])
+ LIBS=$SAVE_LIBS
+ if test $termok = no; then TERMLIBS=""; fi
+ fi
+@@ -111,8 +107,7 @@
+ TERMLIBS="-ltermcap"
+ SAVE_LIBS=$LIBS
+ LIBS="$LIBS $TERMLIBS"
+- AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);],
+- [termok=yes], [termok=no])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);]])],[termok=yes],[termok=no])
+ LIBS=$SAVE_LIBS
+ if test $termok = no; then TERMLIBS=""; fi
+ fi
+@@ -124,8 +119,7 @@
+ TERMLIBS="-lcurses -ltermlib"
+ SAVE_LIBS=$LIBS
+ LIBS="$LIBS $TERMLIBS"
+- AC_TRY_LINK(, [tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);],
+- [termok=yes], [termok=no])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[tgetent(0,0); tgetflag(0); tgetnum(0); tgetstr(0,0);]])],[termok=yes],[termok=no])
+ LIBS=$SAVE_LIBS
+ if test $termok = no; then TERMLIBS=""; fi
+ fi
+@@ -200,14 +194,11 @@
+ # Checks for identifiers.
+ AC_TYPE_OFF_T
+ AC_MSG_CHECKING(for void)
+-AC_TRY_COMPILE(, [void *foo = 0;],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_VOID)], [AC_MSG_RESULT(no)])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void *foo = 0;]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_VOID)],[AC_MSG_RESULT(no)])
+ AC_MSG_CHECKING(for const)
+-AC_TRY_COMPILE(, [const int foo = 0;],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_CONST)], [AC_MSG_RESULT(no)])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[const int foo = 0;]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_CONST)],[AC_MSG_RESULT(no)])
+ AC_MSG_CHECKING(for time_t)
+-AC_TRY_COMPILE([#include <time.h>], [time_t t = 0;],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_TIME_T)], [AC_MSG_RESULT(no)])
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[time_t t = 0;]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_TIME_T)],[AC_MSG_RESULT(no)])
+
+ # Checks for library functions.
+ AC_TYPE_SIGNAL
+@@ -217,14 +208,13 @@
+ AC_CHECK_FUNC(tcgetattr, AC_DEFINE(HAVE_TERMIOS_FUNCS))
+
+ AC_MSG_CHECKING(for fileno)
+-AC_TRY_LINK([
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #if HAVE_STDIO_H
+ #include <stdio.h>
+-#endif], [static int x; x = fileno(stdin);],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FILENO)], [AC_MSG_RESULT(no)])
++#endif]], [[static int x; x = fileno(stdin);]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FILENO)],[AC_MSG_RESULT(no)])
+
+ AC_MSG_CHECKING(for strerror)
+-AC_TRY_LINK([
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #if HAVE_STDIO_H
+ #include <stdio.h>
+ #endif
+@@ -233,68 +223,56 @@
+ #endif
+ #if HAVE_ERRNO_H
+ #include <errno.h>
+-#endif], [static char *x; x = strerror(0);],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_STRERROR)], [AC_MSG_RESULT(no)])
++#endif]], [[static char *x; x = strerror(0);]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_STRERROR)],[AC_MSG_RESULT(no)])
+
+ AC_MSG_CHECKING(for sys_errlist)
+-AC_TRY_LINK(, [extern char *sys_errlist[]; static char **x; x = sys_errlist;],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYS_ERRLIST)], [AC_MSG_RESULT(no)])
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[extern char *sys_errlist[]; static char **x; x = sys_errlist;]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYS_ERRLIST)],[AC_MSG_RESULT(no)])
+
+ AC_MSG_CHECKING(for sigset_t)
+-AC_TRY_LINK([
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <signal.h>
+-], [sigset_t s; s = 0;],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SIGSET_T)], [AC_MSG_RESULT(no)])
++]], [[sigset_t s; s = 0;]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SIGSET_T)],[AC_MSG_RESULT(no)])
+
+ AC_MSG_CHECKING(for sigemptyset)
+-AC_TRY_LINK([
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <signal.h>
+-], [sigset_t s; sigemptyset(&s);],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SIGEMPTYSET)], [AC_MSG_RESULT(no)])
++]], [[sigset_t s; sigemptyset(&s);]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SIGEMPTYSET)],[AC_MSG_RESULT(no)])
+
+ have_errno=no
+ AC_MSG_CHECKING(for errno)
+-AC_TRY_LINK([
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #if HAVE_ERRNO_H
+ #include <errno.h>
+-#endif], [static int x; x = errno;],
+- [AC_MSG_RESULT(yes - in errno.h); AC_DEFINE(HAVE_ERRNO) have_errno=yes])
++#endif]], [[static int x; x = errno;]])],[AC_MSG_RESULT(yes - in errno.h); AC_DEFINE(HAVE_ERRNO) have_errno=yes],[])
+ if test $have_errno = no; then
+-AC_TRY_LINK([
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #if HAVE_ERRNO_H
+ #include <errno.h>
+-#endif], [extern int errno; static int x; x = errno;],
+- [AC_MSG_RESULT(yes - must define); AC_DEFINE(HAVE_ERRNO) AC_DEFINE(MUST_DEFINE_ERRNO)],
+- [AC_MSG_RESULT(no)])
++#endif]], [[extern int errno; static int x; x = errno;]])],[AC_MSG_RESULT(yes - must define); AC_DEFINE(HAVE_ERRNO) AC_DEFINE(MUST_DEFINE_ERRNO)],[AC_MSG_RESULT(no)])
+ fi
+
+ AC_MSG_CHECKING(for locale)
+-AC_TRY_LINK([#include <locale.h>
+-#include <ctype.h>], [setlocale(LC_CTYPE,""); isprint(0); iscntrl(0);],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_LOCALE)], [AC_MSG_RESULT(no)])
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <locale.h>
++#include <ctype.h>]], [[setlocale(LC_CTYPE,""); isprint(0); iscntrl(0);]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_LOCALE)],[AC_MSG_RESULT(no)])
+ AC_MSG_CHECKING(for ctype functions)
+-AC_TRY_LINK([
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #if HAVE_CTYPE_H
+ #include <ctype.h>
+-#endif], [static int x; x = isupper(x); x = tolower(x); x = toupper(x);],
+- [AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UPPER_LOWER)], [AC_MSG_RESULT(no)])
++#endif]], [[static int x; x = isupper(x); x = tolower(x); x = toupper(x);]])],[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UPPER_LOWER)],[AC_MSG_RESULT(no)])
+
+ # Checks for external variable ospeed in the termcap library.
+ have_ospeed=no
+ AC_MSG_CHECKING(termcap for ospeed)
+-AC_TRY_LINK([
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+ #if HAVE_TERMIOS_H
+ #include <termios.h>
+ #endif
+ #if HAVE_TERMCAP_H
+ #include <termcap.h>
+-#endif], [ospeed = 0;],
+-[AC_MSG_RESULT(yes - in termcap.h); AC_DEFINE(HAVE_OSPEED) have_ospeed=yes])
++#endif]], [[ospeed = 0;]])],[AC_MSG_RESULT(yes - in termcap.h); AC_DEFINE(HAVE_OSPEED) have_ospeed=yes],[])
+ if test $have_ospeed = no; then
+-AC_TRY_LINK(, [extern short ospeed; ospeed = 0;],
+- [AC_MSG_RESULT(yes - must define); AC_DEFINE(HAVE_OSPEED) AC_DEFINE(MUST_DEFINE_OSPEED)],
+- [AC_MSG_RESULT(no)])
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[extern short ospeed; ospeed = 0;]])],[AC_MSG_RESULT(yes - must define); AC_DEFINE(HAVE_OSPEED) AC_DEFINE(MUST_DEFINE_OSPEED)],[AC_MSG_RESULT(no)])
+ fi
+
+ # Checks for regular expression functions.
+@@ -311,7 +289,7 @@
+ if test $WANT_REGEX = auto -o $WANT_REGEX = posix; then
+ # Some versions of Solaris have a regcomp() function, but it doesn't work!
+ # So we run a test program. If we're cross-compiling, do it the old way.
+-AC_TRY_RUN([
++AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <sys/types.h>
+ #include <regex.h>
+ main() { regex_t r; regmatch_t rm; char *text = "xabcy";
+@@ -322,19 +300,16 @@
+ #else
+ if (rm.rm_sp != text + 1) exit(1); /* check for correct offset */
+ #endif
+-exit(0); }],
+- have_posix_regex=yes, have_posix_regex=no, have_posix_regex=unknown)
++exit(0); }]])],[have_posix_regex=yes],[have_posix_regex=no],[have_posix_regex=unknown])
+ if test $have_posix_regex = yes; then
+ AC_MSG_RESULT(using POSIX regcomp)
+ AC_DEFINE(HAVE_POSIX_REGCOMP)
+ have_regex=yes
+ elif test $have_posix_regex = unknown; then
+- AC_TRY_LINK([
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #include <sys/types.h>
+-#include <regex.h>],
+- [regex_t *r; regfree(r);],
+- AC_MSG_RESULT(using POSIX regcomp)
+- AC_DEFINE(HAVE_POSIX_REGCOMP) have_regex=yes)
++#include <regex.h>]], [[regex_t *r; regfree(r);]])],[AC_MSG_RESULT(using POSIX regcomp)
++ AC_DEFINE(HAVE_POSIX_REGCOMP) have_regex=yes],[])
+ else
+ AC_MSG_RESULT(no)
+ fi
+@@ -357,9 +332,8 @@
+
+ if test $have_regex = no; then
+ if test $WANT_REGEX = auto -o $WANT_REGEX = regcomp; then
+-AC_TRY_LINK([
+-#include "regexp.h"], [regcomp("");],
+-AC_MSG_RESULT(using V8 regcomp); AC_DEFINE(HAVE_V8_REGCOMP) have_regex=yes)
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
++#include "regexp.h"]], [[regcomp("");]])],[AC_MSG_RESULT(using V8 regcomp); AC_DEFINE(HAVE_V8_REGCOMP) have_regex=yes],[])
+ fi
+ fi
+
diff --git a/meta/packages/less/less_382.bb b/meta/packages/less/less_382.bb
new file mode 100644
index 0000000000..b489722edb
--- /dev/null
+++ b/meta/packages/less/less_382.bb
@@ -0,0 +1,16 @@
+SECTION = "console/utils"
+DEPENDS = "ncurses"
+DESCRIPTION = "Less is a program similar to more, i.e. a terminal \
+based program for viewing text files and the output from other \
+programs. Less offers many features beyond those that more does."
+HOMEPAGE = "http://www.greenwoodsoftware.com/"
+LICENSE = "BSD"
+
+SRC_URI = "${GNU_MIRROR}/less/less-${PV}.tar.gz \
+ file://configure.patch;patch=1"
+
+inherit autotools
+
+do_install () {
+ oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
+}
diff --git a/meta/packages/libdaemon/libdaemon_0.10.bb b/meta/packages/libdaemon/libdaemon_0.10.bb
new file mode 100644
index 0000000000..6f4c5eac54
--- /dev/null
+++ b/meta/packages/libdaemon/libdaemon_0.10.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "libdaemon is a lightweight C library which eases the writing of UNIX daemons."
+SECTION = "libs"
+AUTHOR = "Lennart Poettering <lennart@poettering.net>"
+HOMEPAGE = "http://0pointer.de/lennart/projects/libdaemon/"
+MAINTAINER = "Philipp Zabel <philipp.zabel@gmail.com>"
+LICENSE = "LGPL"
+
+SRC_URI = "http://0pointer.de/lennart/projects/libdaemon/libdaemon-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-lynx --disable-doxygen"
+
+do_stage () {
+ oe_libinstall -a -so -C libdaemon libdaemon ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/libdaemon
+ for i in dlog.h dexec.h dfork.h dsignal.h dnonblock.h dpid.h; do
+ install -m 0644 ${S}/libdaemon/$i ${STAGING_INCDIR}/libdaemon/
+ done
+}
diff --git a/meta/packages/libfakekey/libfakekey_svn.bb b/meta/packages/libfakekey/libfakekey_svn.bb
new file mode 100644
index 0000000000..eec4d6506d
--- /dev/null
+++ b/meta/packages/libfakekey/libfakekey_svn.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Matchbox keyboard"
+LICENSE = "GPL"
+DEPENDS = "libxtst"
+SECTION = "x11/wm"
+PR="r1"
+PV = "0.0+svn${SRCDATE}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig gettext
+
+FILES_${PN} = "${libdir} \
+ ${datadir}/applications \
+ ${datadir}/pixmaps"
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/fakekey
+ install -m 0644 ${S}/fakekey/fakekey.h ${STAGING_INCDIR}/fakekey
+ oe_libinstall -so -C src libfakekey ${STAGING_LIBDIR}
+}
+
diff --git a/meta/packages/libgcrypt/libgcrypt_1.2.1.bb b/meta/packages/libgcrypt/libgcrypt_1.2.1.bb
new file mode 100644
index 0000000000..e797ee75c7
--- /dev/null
+++ b/meta/packages/libgcrypt/libgcrypt_1.2.1.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "A general purpose cryptographic library based on the code from GnuPG"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL LGPL FDL"
+DEPENDS = "libgpg-error"
+
+# move libgcrypt-config into -dev package
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${bindir}"
+
+SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-${PV}.tar.gz"
+
+inherit autotools binconfig
+
+EXTRA_OECONF = "--without-pth --disable-asm --with-capabilities"
+
+do_stage() {
+ oe_libinstall -so -C src libgcrypt ${STAGING_LIBDIR}
+ oe_libinstall -so -C src libgcrypt-pthread ${STAGING_LIBDIR}
+ install -m 0755 src/libgcrypt-config ${STAGING_BINDIR}/
+
+ install -d ${STAGING_INCDIR}/
+ for X in gcrypt.h gcrypt-module.h
+ do
+ install -m 0644 src/${X} ${STAGING_INCDIR}/${X}
+ done
+
+}
diff --git a/meta/packages/libglade/libglade-2.5.1/glade-cruft.patch b/meta/packages/libglade/libglade-2.5.1/glade-cruft.patch
new file mode 100644
index 0000000000..0fceccf0c4
--- /dev/null
+++ b/meta/packages/libglade/libglade-2.5.1/glade-cruft.patch
@@ -0,0 +1,100 @@
+diff -ur libglade-2.4.0~/configure.in libglade-2.4.0/configure.in
+--- libglade-2.4.0~/configure.in 2004-05-17 12:38:31.000000000 +0100
++++ libglade-2.4.0/configure.in 2004-07-28 16:53:09.000000000 +0100
+@@ -147,6 +147,18 @@
+ AM_CONDITIONAL(HAVE_PYTHON, $have_python)
+ AC_SUBST(PYTHON)
+
++AC_MSG_CHECKING([for cruft in libgtk])
++AC_TRY_LINK([
++#include <gtk/gtk.h>
++#include <stdio.h>
++], [ gtk_tree_get_type (); return 0; ],
++ [ AC_MSG_RESULT(yes)
++ have_cruft=yes ],
++ [ AC_MSG_RESULT(no)
++ AC_DEFINE(DISABLE_CRUFT,,[leave out support for old, broken widgets])
++ have_cruft=no ])
++AC_SUBST(DISABLE_CRUFT)
++
+ dnl add debugging options ...
+ changequote(,)dnl
+ if test "x$GCC" = xyes; then
+Only in libglade-2.4.0: configure.in.orig
+diff -ur libglade-2.4.0~/glade/glade-gtk.c libglade-2.4.0/glade/glade-gtk.c
+--- libglade-2.4.0~/glade/glade-gtk.c 2004-03-13 13:47:35.000000000 +0000
++++ libglade-2.4.0/glade/glade-gtk.c 2004-07-28 16:53:52.000000000 +0100
+@@ -213,6 +213,8 @@
+ gtk_clist_column_titles_hide (GTK_CLIST (w));
+ }
+
++#ifndef DISABLE_CRUFT
++
+ static void
+ tree_set_selection_mode (GladeXML *xml, GtkWidget *w,
+ const char *name, const char *value)
+@@ -238,6 +240,8 @@
+ gtk_tree_set_view_lines (GTK_TREE (w), BOOL (value));
+ }
+
++#endif
++
+ static void
+ list_set_selection_mode (GladeXML *xml, GtkWidget *w,
+ const char *name, const char *value)
+@@ -254,6 +258,7 @@
+ gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (w), BOOL (value));
+ }
+
++#ifndef DISABLE_CRUFT
+ static void
+ text_set_text (GladeXML *xml, GtkWidget *w,
+ const char *name, const char *value)
+@@ -262,6 +267,7 @@
+
+ gtk_editable_insert_text (GTK_EDITABLE (w), value, -1, &pos);
+ }
++#endif
+
+ static void
+ radio_menu_item_set_group (GladeXML *xml, GtkWidget *w,
+@@ -1125,13 +1131,17 @@
+ glade_register_custom_prop (GTK_TYPE_CLIST, "selection_mode", clist_set_selection_mode);
+ glade_register_custom_prop (GTK_TYPE_CLIST, "shadow_type", clist_set_shadow_type);
+ glade_register_custom_prop (GTK_TYPE_CLIST, "show_titles", clist_set_show_titles);
++#ifndef DISABLE_CRUFT
+ glade_register_custom_prop (GTK_TYPE_TREE, "selection_mode", tree_set_selection_mode);
+ glade_register_custom_prop (GTK_TYPE_TREE, "view_mode", tree_set_view_mode);
+ glade_register_custom_prop (GTK_TYPE_TREE, "view_line", tree_set_view_line);
++#endif
+ glade_register_custom_prop (GTK_TYPE_LIST, "selection_mode", list_set_selection_mode);
+ glade_register_custom_prop (GTK_TYPE_CHECK_MENU_ITEM, "always_show_toggle",
+ check_menu_item_set_always_show_toggle);
++#ifndef DISABLE_CRUFT
+ glade_register_custom_prop (GTK_TYPE_TEXT, "text", text_set_text);
++#endif
+ glade_register_custom_prop (GTK_TYPE_RADIO_MENU_ITEM, "group",
+ radio_menu_item_set_group);
+ glade_register_custom_prop (GTK_TYPE_TOOLBAR, "tooltips", toolbar_set_tooltips);
+@@ -1288,8 +1298,10 @@
+ glade_standard_build_children, NULL);
+ glade_register_widget (GTK_TYPE_TEAROFF_MENU_ITEM, glade_standard_build_widget,
+ NULL, NULL);
++#ifndef DISABLE_CRUFT
+ glade_register_widget (GTK_TYPE_TEXT, glade_standard_build_widget,
+ NULL, NULL);
++#endif
+ glade_register_widget (GTK_TYPE_TEXT_VIEW, glade_standard_build_widget,
+ NULL, NULL);
+ glade_register_widget (GTK_TYPE_TIPS_QUERY, glade_standard_build_widget,
+@@ -1304,8 +1316,10 @@
+ glade_standard_build_children, NULL);
+ glade_register_widget (GTK_TYPE_TOOL_BUTTON, glade_standard_build_widget,
+ NULL, NULL);
++#ifndef DISABLE_CRUFT
+ glade_register_widget (GTK_TYPE_TREE, glade_standard_build_widget,
+ NULL, NULL);
++#endif
+ glade_register_widget (GTK_TYPE_TREE_VIEW, glade_standard_build_widget,
+ NULL, NULL);
+ glade_register_widget (GTK_TYPE_VBUTTON_BOX, glade_standard_build_widget,
diff --git a/meta/packages/libglade/libglade-2.5.1/no-deprecation.patch b/meta/packages/libglade/libglade-2.5.1/no-deprecation.patch
new file mode 100644
index 0000000000..9ef8f0738e
--- /dev/null
+++ b/meta/packages/libglade/libglade-2.5.1/no-deprecation.patch
@@ -0,0 +1,10 @@
+--- libglade-2.5.1/glade/Makefile.am.old 2006-04-25 21:03:25.000000000 +0100
++++ libglade-2.5.1/glade/Makefile.am 2006-04-25 21:03:45.000000000 +0100
+@@ -30,7 +30,6 @@
+ -I$(top_srcdir) \
+ $(LIBGLADE_CFLAGS) \
+ -DGLADE_LIBDIR=\""$(libdir)"\" \
+- -DG_DISABLE_DEPRECATED \
+ -DGDK_DISABLE_DEPRECATED \
+ -DGDK_PIXBUF_DISABLE_DEPRECATED \
+ -DGTK_DISABLE_DEPRECATED \
diff --git a/meta/packages/libglade/libglade-2.5.1/no-xml2.patch b/meta/packages/libglade/libglade-2.5.1/no-xml2.patch
new file mode 100644
index 0000000000..1c2e215b8d
--- /dev/null
+++ b/meta/packages/libglade/libglade-2.5.1/no-xml2.patch
@@ -0,0 +1,499 @@
+diff -urN libglade-2.4.2.orig/configure.in libglade-2.4.2/configure.in
+--- libglade-2.4.2.orig/configure.in 2005-02-11 12:42:58.000000000 +0100
++++ libglade-2.4.2/configure.in 2005-03-22 01:22:00.000000000 +0100
+@@ -52,11 +52,33 @@
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+
+ PKG_CHECK_MODULES(LIBGLADE, [dnl
+- libxml-2.0 >= required_libxml_version dnl
+ atk >= required_atk_version dnl
+ gtk+-2.0 >= required_gtk_version dnl
+ glib-2.0 >= required_glib_version])
+
++disable_xml2=no
++AC_ARG_WITH([libxml2],
++ AC_HELP_STRING([--without-libxml2], [Don't use libxml2, use Glib's GMarkupParser instead]),
++ [disable_xml2=yes],
++ [disable_xml2=no])
++
++AC_MSG_CHECKING([if we are using libxml2])
++if test "x$disable_xml2" == "xno"; then
++ AC_MSG_RESULT(yes)
++ PKG_CHECK_MODULES(XML2, libxml-2.0 >= 2.4.10)
++ PKGCFG_REQUIRE_LIBXML2="libxml-2.0"
++ LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS $XML2_CFLAGS"
++ LIBGLADE_LIBS="$LIBGLADE_LIBS $XML2_LIBS"
++else
++ LIBGLADE_CFLAGS="$LIBGLADE_CFLAGS -DUSE_GMARKUP_PARSER"
++ PKGCFG_REQUIRE_LIBXML2=""
++ AC_MSG_RESULT(no)
++fi
++
++AC_SUBST(XML2_LIBS)
++AC_SUBST(XML2_CFLAGS)
++AC_SUBST(PKGCFG_REQUIRE_LIBXML2)
++
+ AC_MSG_CHECKING([for native Win32])
+ case "$host" in
+ *-*-mingw*)
+@@ -116,6 +138,21 @@
+ fi
+ fi
+
++if test "x$disable_xml2" == "xyes"; then
++ echo "*****************************************************"
++ echo " You chose to disable libxml2 and use Glib's"
++ echo " GMarkupParser instead."
++ echo
++ echo " Please bear in mind that using libglade with"
++ echo " GMarkupParser is an experimental feature only."
++ echo
++ echo " Please post problems or success stories to"
++ echo " the glade-devel mailing list. Thank you."
++ echo "*****************************************************"
++fi
++
++
++
+ GTK_DOC_CHECK(1.0)
+
+ dnl gettext stuff ... there is no message catalog for libglade -- libglade
+diff -urN libglade-2.4.2.orig/glade/glade-parser.c libglade-2.4.2/glade/glade-parser.c
+--- libglade-2.4.2.orig/glade/glade-parser.c 2004-11-11 11:56:13.000000000 +0100
++++ libglade-2.4.2/glade/glade-parser.c 2005-03-22 01:20:00.000000000 +0100
+@@ -34,7 +34,15 @@
+ # define dgettext(Domain, String) (String)
+ #endif
+
+-#include <libxml/parser.h>
++#ifdef USE_GMARKUP_PARSER
++# include <zlib.h>
++#else
++# include <libxml/parser.h>
++#endif
++
++#ifdef USE_GMARKUP_PARSER
++# define xmlChar gchar
++#endif
+
+ #include "glade-parser.h"
+ #include "glade-private.h"
+@@ -508,7 +516,9 @@
+ case PARSER_START:
+ if (!strcmp(name, "glade-interface")) {
+ state->state = PARSER_GLADE_INTERFACE;
+-#if 0
++
++#ifndef USE_GMARKUP_PARSER
++ #if 0
+ /* check for correct XML namespace */
+ for (i = 0; attrs && attrs[i] != NULL; i += 2) {
+ if (!strcmp(attrs[i], "xmlns") &&
+@@ -518,7 +528,9 @@
+ g_warning("unknown attribute `%s' for <glade-interface>",
+ attrs[i]);
+ }
++ #endif
+ #endif
++
+ } else {
+ g_warning("Expected <glade-interface>. Got <%s>.", name);
+ state->prev_state = state->state;
+@@ -1063,12 +1075,18 @@
+ }
+ }
+
++#ifndef USE_GMARKUP_PARSER
++
+ static xmlEntityPtr
+ glade_parser_get_entity(GladeParseState *state, const xmlChar *name)
+ {
+ return xmlGetPredefinedEntity(name);
+ }
+
++#endif /* !defined(USE_GMARKUP_PARSER) */
++
++#ifndef USE_GMARKUP_PARSER
++
+ static void
+ glade_parser_warning(GladeParseState *state, const char *msg, ...)
+ {
+@@ -1079,6 +1097,10 @@
+ va_end(args);
+ }
+
++#endif /* !defined(USE_GMARKUP_PARSER) */
++
++#ifndef USE_GMARKUP_PARSER
++
+ static void
+ glade_parser_error(GladeParseState *state, const char *msg, ...)
+ {
+@@ -1089,6 +1111,10 @@
+ va_end(args);
+ }
+
++#endif /* !defined(USE_GMARKUP_PARSER) */
++
++#ifndef USE_GMARKUP_PARSER
++
+ static void
+ glade_parser_fatal_error(GladeParseState *state, const char *msg, ...)
+ {
+@@ -1099,6 +1125,10 @@
+ va_end(args);
+ }
+
++#endif /* !defined(USE_GMARKUP_PARSER) */
++
++#ifndef USE_GMARKUP_PARSER
++
+ static xmlSAXHandler glade_parser = {
+ (internalSubsetSAXFunc)NULL, /* internalSubset */
+ (isStandaloneSAXFunc)NULL, /* isStandalone */
+@@ -1126,6 +1156,82 @@
+ (fatalErrorSAXFunc)glade_parser_fatal_error, /* fatalError */
+ };
+
++#else /* USE_GMARKUP_PARSER */
++
++static void
++glade_parser_start_element_wrapper(GMarkupParseContext *context,
++ const gchar *name,
++ const gchar **attr_names,
++ const gchar **attr_values,
++ gpointer state,
++ GError **error)
++{
++ guint i = 0;
++
++ /* Pack attribute names/values from two separate
++ * arrays (GMarkupParser style) into one single
++ * array (libxml SAXParser style). This is not
++ * very efficient, but we do it to make the
++ * GMarkupParser code as little invasive as
++ * possible. */
++
++ while (attr_names[i] != NULL) {
++ ++i;
++ }
++
++ if (1)
++ {
++ const gchar *attr[(i*2)+1];
++ guint j, k;
++
++ for (j=0, k=0; k < i; j += 2)
++ {
++ attr[j] = attr_names[k];
++ attr[j+1] = attr_values[k];
++ ++k;
++ }
++ attr[i*2] = NULL;
++
++ glade_parser_start_element((GladeParseState*)state, name, attr);
++ }
++}
++
++static void
++glade_parser_end_element_wrapper(GMarkupParseContext *context,
++ const gchar *name,
++ gpointer state,
++ GError **err)
++{
++ glade_parser_end_element((GladeParseState*)state, name);
++}
++
++static void
++glade_parser_characters_wrapper(GMarkupParseContext *context,
++ const gchar *chars,
++ gsize len,
++ gpointer state,
++ GError **err)
++{
++ glade_parser_characters((GladeParseState*)state, chars, (int) len);
++}
++
++static void
++glade_parser_error(GMarkupParseContext *context, GError *err, gpointer data)
++{
++ g_log("Glade-Parser", G_LOG_LEVEL_CRITICAL, "%s", err->message);
++}
++
++static const GMarkupParser glade_parser = {
++ glade_parser_start_element_wrapper, /* element open */
++ glade_parser_end_element_wrapper, /* element close */
++ glade_parser_characters_wrapper, /* text content */
++ NULL, /* passthrough */
++ glade_parser_error, /* parse error */
++};
++
++#endif /* USE_GMARKUP_PARSER */
++
++
+ static void
+ widget_info_free(GladeWidgetInfo *info)
+ {
+@@ -1191,6 +1297,9 @@
+ *
+ * Returns: the GladeInterface structure for the XML file.
+ */
++
++#ifndef USE_GMARKUP_PARSER
++
+ GladeInterface *
+ glade_parser_parse_file(const gchar *file, const gchar *domain)
+ {
+@@ -1222,6 +1331,31 @@
+ return state.interface;
+ }
+
++#else /* defined(USE_GMARKUP_PARSER) */
++
++GladeInterface *
++glade_parser_parse_file(const gchar *file, const gchar *domain)
++{
++ GladeInterface *interface;
++ GError *err = NULL;
++ gchar *content = NULL;
++ gsize clen;
++
++ if (!g_file_get_contents(file, &content, &clen, &err)) {
++ g_warning("could not load glade file: %s", err->message);
++ g_error_free(err);
++ return NULL;
++ }
++
++ interface = glade_parser_parse_buffer(content, (gint) clen, domain);
++
++ g_free(content);
++
++ return interface;
++}
++
++#endif /* USE_GMARKUP_PARSER */
++
+ /**
+ * glade_parser_parse_buffer
+ * @buffer: a buffer in memory containing XML data.
+@@ -1237,6 +1371,9 @@
+ *
+ * Returns: the GladeInterface structure for the XML buffer.
+ */
++
++#ifndef USE_GMARKUP_PARSER
++
+ GladeInterface *
+ glade_parser_parse_buffer(const gchar *buffer, gint len, const gchar *domain)
+ {
+@@ -1263,6 +1400,161 @@
+ return state.interface;
+ }
+
++#else /* defined(USE_GMARKUP_PARSER) */
++
++
++static GladeInterface *
++glade_parser_parse_buffer_internal(const gchar *buffer, gint len, const gchar *domain)
++{
++ GMarkupParseContext *context;
++ GladeParseState state = { 0 };
++ GError *err = NULL;
++
++ state.interface = NULL;
++ if (domain)
++ state.domain = domain;
++ else
++ state.domain = textdomain(NULL);
++
++ /* FIXME: This strstr() is not safe, as it ignores the len
++ * argument and assumes the buffer is NUL-terminated */
++ if (strstr(buffer, "<?xml") == NULL) {
++ g_warning("No XML header found in document!");
++ return NULL;
++ }
++
++ context = g_markup_parse_context_new(&glade_parser, (GMarkupParseFlags) 0, &state, NULL);
++
++ glade_parser_start_document(&state);
++
++ if (!g_markup_parse_context_parse(context, buffer, (gssize) len, &err)) {
++ g_warning("document not well formed: %s", err->message);
++ g_error_free(err);
++ if (state.interface)
++ glade_interface_destroy (state.interface);
++ return NULL;
++ }
++
++ glade_parser_end_document(&state);
++
++ if (state.state != PARSER_FINISH) {
++ g_warning("did not finish in PARSER_FINISH state!");
++
++ if (state.interface)
++ glade_interface_destroy(state.interface);
++
++ return NULL;
++ }
++
++ return state.interface;
++}
++
++struct _gzip_rfc1952_hdr
++{
++ guint8 id1, id2, cm, flags;
++ guint32 mtime;
++ guint8 xflags;
++ guint8 os;
++};
++
++static GladeInterface *
++glade_parser_parse_gzipped_buffer(const gchar *buffer, gint len, const gchar *domain)
++{
++ struct _gzip_rfc1952_hdr *hdr = (struct _gzip_rfc1952_hdr*)buffer;
++ struct z_stream_s zstream;
++ GladeInterface *interface;
++ const guint8 *cbuf; /* start of compressed data */
++ guint8 *decompress_buf;
++ gulong decompress_len = 0;
++ gint ret;
++
++ g_assert(hdr != NULL && hdr->id1 == 0x1f && hdr->id2 == 0x8b);
++
++ if (hdr->cm != Z_DEFLATED) {
++ g_warning("Unknown decompression method %u", (guint) hdr->cm);
++ return NULL;
++ }
++
++ /* Uncompressed size (modulo 2^32) is last
++ * 4 bytes of gzipped file, and little endian.
++ * See RFC 1952 */
++ decompress_len = GUINT32_FROM_LE(*((guint32*)(((guint8*)buffer) + len - 4)));
++
++ /* paranoid mode: glade files > 5MB are unlikely */
++ g_return_val_if_fail(decompress_len < 5*1024*1024, NULL);
++
++ decompress_buf = g_malloc0(decompress_len + 1); /* +1 for NUL-terminator */
++
++ /* find start of compressed data, skipping header stuff */
++ cbuf = (guint8*)buffer + 10;
++ if (hdr->flags & 0x04) {
++ guint16 xlen = GUINT16_FROM_LE(*((guint16*)cbuf));
++ cbuf += xlen + 2;
++ }
++ if (hdr->flags & 0x08) {
++ guint16 onamelen = strlen(cbuf);
++ cbuf += onamelen + 1;
++ }
++ if (hdr->flags & 0x10) {
++ guint16 commentlen = strlen(cbuf);
++ cbuf += commentlen + 1;
++ }
++ if (hdr->flags & 0x02)
++ {
++ cbuf += 2; /* skip header CRC16 */
++ }
++
++ zstream.next_in = (void*)cbuf;
++ zstream.avail_in = (uLongf) len - ((void*)cbuf-(void*)buffer) - 4 - 4 +1;
++ zstream.next_out = decompress_buf;
++ zstream.avail_out= decompress_len;
++ zstream.zalloc = Z_NULL;
++ zstream.zfree = Z_NULL;
++ zstream.opaque = Z_NULL;
++
++ ret = inflateInit2(&zstream, -MAX_WBITS);
++
++ if (ret != Z_OK) {
++ g_warning("inflateInit2() failed. zlib error code: %d", ret);
++ g_free(decompress_buf);
++ return NULL;
++ }
++
++ ret = inflate(&zstream, Z_FINISH);
++
++ if (ret != Z_STREAM_END) {
++ g_warning("zlib decompression failed. zlib error code: %d", ret);
++ g_free(decompress_buf);
++ return NULL;
++ }
++
++ interface = glade_parser_parse_buffer_internal(decompress_buf, decompress_len, domain);
++
++ g_free(decompress_buf);
++
++ return interface;
++}
++
++GladeInterface *
++glade_parser_parse_buffer(const gchar *buffer, gint len, const gchar *domain)
++{
++ g_return_val_if_fail(buffer != NULL, NULL);
++ g_return_val_if_fail(len > 0, NULL);
++
++ /* Check if buffer is gzipped */
++ if (buffer[0] == 0x1f && buffer[1] == (gchar)0x8b) {
++ return glade_parser_parse_gzipped_buffer(buffer, len, domain);
++ }
++
++ /* Buffer is cleartext. */
++ return glade_parser_parse_buffer_internal(buffer, len, domain);
++}
++
++#endif /* USE_GMARKUP_PARSER */
++
++
++#ifndef USE_GMARKUP_PARSER
++
+ static void
+ dump_widget(xmlNode *parent, GladeWidgetInfo *info, gint indent)
+ {
+@@ -1382,6 +1674,8 @@
+ xmlNodeAddContent(widget, " ");
+ }
+
++#endif /* !defined(USE_GMARKUP_PARSER) */
++
+ /**
+ * glade_interface_dump
+ * @interface: the GladeInterface
+@@ -1390,6 +1684,9 @@
+ * This function dumps the contents of a GladeInterface into a file as
+ * XML. It is intended mainly as a debugging tool.
+ */
++
++#ifndef USE_GMARKUP_PARSER
++
+ void
+ glade_interface_dump(GladeInterface *interface, const gchar *filename)
+ {
+@@ -1428,6 +1725,17 @@
+ xmlFreeDoc(doc);
+ }
+
++#else /* defined(USE_GMARKUP_PARSER) */
++
++void
++glade_interface_dump(GladeInterface *interface, const gchar *filename)
++{
++ g_warning("glade_interface_dump() is only available with libxml2.");
++}
++
++#endif /* USE_GMARKUP_PARSER */
++
++
+ #if 0
+ int
+ main(int argc, char **argv) {
+diff -urN libglade-2.4.2.orig/libglade-2.0.pc.in libglade-2.4.2/libglade-2.0.pc.in
+--- libglade-2.4.2.orig/libglade-2.0.pc.in 2001-12-12 15:28:23.000000000 +0100
++++ libglade-2.4.2/libglade-2.0.pc.in 2005-03-22 01:20:00.000000000 +0100
+@@ -11,7 +11,7 @@
+ Name: Libglade
+ Description: a library for dynamically loading GLADE interface files
+ Version: @VERSION@
+-Requires: gtk+-2.0 libxml-2.0
++Requires: gtk+-2.0 @PKGCFG_REQUIRE_LIBXML2@
+ Libs: -L${libdir} -lglade-2.0
+ Cflags: -I${includedir}/libglade-2.0
+
diff --git a/meta/packages/libglade/libglade_2.5.1.bb b/meta/packages/libglade/libglade_2.5.1.bb
new file mode 100644
index 0000000000..7738b10f93
--- /dev/null
+++ b/meta/packages/libglade/libglade_2.5.1.bb
@@ -0,0 +1,34 @@
+LICENSE = "LGPL"
+DESCRIPTION = "Runtime support for GTK interface builder"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS = "gtk+ gtk-doc"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+
+inherit autotools pkgconfig gnome
+
+PR = "r1"
+
+SRC_URI += "file://glade-cruft.patch;patch=1 file://no-xml2.patch;patch=1 \
+ file://no-deprecation.patch;patch=1"
+
+EXTRA_OECONF += "--without-libxml2"
+
+CFLAGS += "-lz"
+
+PACKAGES += " ${PN}-data"
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-data = "${datadir}/xml/libglade/glade-2.0.dtd"
+FILES_${PN}-dev += "${bindir}/libglade-convert"
+#RDEPENDS_${PN} = "${PN}-data"
+
+headers = "glade-build.h glade-init.h glade-parser.h glade-xml.h glade.h"
+
+do_stage () {
+ oe_libinstall -a -so -C glade libglade-2.0 ${STAGING_LIBDIR}
+
+ mkdir -p ${STAGING_INCDIR}/libglade-2.0/glade
+ for i in ${headers}; do
+ install -m 0644 ${S}/glade/$i ${STAGING_INCDIR}/libglade-2.0/glade/$i
+ done
+}
diff --git a/meta/packages/libgpg-error/libgpg-error-1.0/pkgconfig.patch b/meta/packages/libgpg-error/libgpg-error-1.0/pkgconfig.patch
new file mode 100644
index 0000000000..04620feedb
--- /dev/null
+++ b/meta/packages/libgpg-error/libgpg-error-1.0/pkgconfig.patch
@@ -0,0 +1,56 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: libgpg-error-1.0/configure.ac
+===================================================================
+--- libgpg-error-1.0.orig/configure.ac 2004-07-30 07:48:04.000000000 -0500
++++ libgpg-error-1.0/configure.ac 2005-02-23 18:52:01.000000000 -0600
+@@ -83,6 +83,7 @@
+ AC_SUBST(GPG_ERROR_CONFIG_LIBS)
+ AC_SUBST(GPG_ERROR_CONFIG_CFLAGS)
+ AC_CONFIG_FILES([src/gpg-error-config], [chmod +x src/gpg-error-config])
++AC_CONFIG_FILES([src/gpg-error.pc])
+
+ # Checks for library functions.
+ AC_CONFIG_FILES([Makefile])
+Index: libgpg-error-1.0/src/Makefile.am
+===================================================================
+--- libgpg-error-1.0.orig/src/Makefile.am 2004-06-28 07:37:38.000000000 -0500
++++ libgpg-error-1.0/src/Makefile.am 2005-02-23 18:53:57.000000000 -0600
+@@ -24,7 +24,8 @@
+ mkerrnos.awk errnos.in \
+ mkerrcodes.awk mkerrcodes1.awk mkerrcodes2.awk mkerrcodes.c \
+ mkheader.awk gpg-error.h.in \
+- err-sources.h err-codes.h gpg-error-config.in gpg-error.m4
++ err-sources.h err-codes.h gpg-error-config.in gpg-error.m4 \
++ gpg-error.pc.in
+
+ BUILT_SOURCES = err-sources.h err-codes.h code-to-errno.h code-from-errno.h \
+ err-sources-sym.h err-codes-sym.h errnos-sym.h gpg-error.h
+@@ -39,6 +40,9 @@
+ m4datadir = $(datadir)/aclocal
+ m4data_DATA = gpg-error.m4
+
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = gpg-error.pc
++
+ include_HEADERS = gpg-error.h
+
+ lib_LTLIBRARIES = libgpg-error.la
+Index: libgpg-error-1.0/src/gpg-error.pc.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libgpg-error-1.0/src/gpg-error.pc.in 2005-02-23 18:52:01.000000000 -0600
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: gpg-error
++Description: a library that defines common error values for all GnuPG components
++Version: @VERSION@
++Libs: -L{libdir} -lgpg-error
++Cflags: -I${includedir}
diff --git a/meta/packages/libgpg-error/libgpg-error_1.0.bb b/meta/packages/libgpg-error/libgpg-error_1.0.bb
new file mode 100644
index 0000000000..c29053832b
--- /dev/null
+++ b/meta/packages/libgpg-error/libgpg-error_1.0.bb
@@ -0,0 +1,28 @@
+PR = "r0"
+DESCRIPTION = "GPG-Error library"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL LGPL FDL"
+
+SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${PV}.tar.gz \
+ file://pkgconfig.patch;patch=1"
+
+# move libgpg-error-config into -dev package
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${bindir}"
+
+inherit autotools binconfig pkgconfig
+
+do_stage() {
+ oe_libinstall -a -so -C src libgpg-error ${STAGING_LIBDIR}
+ install -m 0755 src/gpg-error-config ${STAGING_BINDIR}/
+
+ install -d ${STAGING_INCDIR}/
+ for X in gpg-error.h
+ do
+ install -m 0644 ${S}/src/$X ${STAGING_INCDIR}/$X
+ done
+
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 src/gpg-error.m4 ${STAGING_DATADIR}/aclocal/
+}
diff --git a/meta/packages/libgtkstylus/files/gtkstylus.sh b/meta/packages/libgtkstylus/files/gtkstylus.sh
new file mode 100644
index 0000000000..b1302ede0e
--- /dev/null
+++ b/meta/packages/libgtkstylus/files/gtkstylus.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+GTK_MODULES=libgtkstylus.so
+
+export GTK_MODULES
diff --git a/meta/packages/libgtkstylus/libgtkstylus_0.5.bb b/meta/packages/libgtkstylus/libgtkstylus_0.5.bb
new file mode 100644
index 0000000000..578ac7f2ac
--- /dev/null
+++ b/meta/packages/libgtkstylus/libgtkstylus_0.5.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "GTK plugin for stylus based systems"
+SECTION = "libs"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DEPENDS = "gtk+"
+LICENSE = "LGPL"
+FILES_${PN} = "/etc ${libdir}/gtk-2.0"
+
+inherit autotools
+
+SRC_URI = "http://burtonini.com/temp/${PN}-${PV}.tar.gz \
+ file://gtkstylus.sh"
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d
+ install -m 755 ${WORKDIR}/gtkstylus.sh ${D}/${sysconfdir}/X11/Xsession.d/45gtkstylus
+}
+
diff --git a/meta/packages/libiconv/libiconv_1.9.2.bb b/meta/packages/libiconv/libiconv_1.9.2.bb
new file mode 100644
index 0000000000..16a595ca6c
--- /dev/null
+++ b/meta/packages/libiconv/libiconv_1.9.2.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \
+multiple character encodings, but that support lacks from your system."
+HOMEPAGE = "http://www.gnu.org/software/libiconv"
+SECTION = "e/libs"
+PRIORITY = "optional"
+MAINTAINER = "That Crazy fool emte <emte@labotomy.net>"
+NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8"
+PROVIDES = "virtual/libiconv"
+PR = "r3"
+LICENSE = "LGPL"
+SRC_URI = "ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-${PV}.tar.gz"
+
+S = "${WORKDIR}/libiconv-${PV}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--enable-shared --enable-static"
+
+do_configure () {
+ rm -f m4/libtool.m4 libcharset/m4/libtool.m4
+ autotools_do_configure
+}
+
+do_stage () {
+ oe_libinstall -so -a -C lib libiconv ${STAGING_LIBDIR}
+ oe_libinstall -so -C lib libiconv_plug_linux ${STAGING_LIBDIR}
+ oe_libinstall -so -a -C libcharset/lib libcharset ${STAGING_LIBDIR}
+ autotools_stage_includes
+}
diff --git a/meta/packages/libidl/libidl-native_0.8.3.bb b/meta/packages/libidl/libidl-native_0.8.3.bb
new file mode 100644
index 0000000000..bcc1ec61a8
--- /dev/null
+++ b/meta/packages/libidl/libidl-native_0.8.3.bb
@@ -0,0 +1,5 @@
+SECTION = "libs"
+include libidl_${PV}.bb
+inherit native
+
+DEPENDS = "glib-2.0-native"
diff --git a/meta/packages/libidl/libidl_0.8.3.bb b/meta/packages/libidl/libidl_0.8.3.bb
new file mode 100644
index 0000000000..5a6f5800d6
--- /dev/null
+++ b/meta/packages/libidl/libidl_0.8.3.bb
@@ -0,0 +1,23 @@
+LICENSE = "LGPL"
+DESCRIPTION = "Library for parsing CORBA IDL files"
+SECTION = "gnome/libs"
+DEPENDS = "glib-2.0"
+PR = "r1"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-${PV}.tar.bz2"
+S = "${WORKDIR}/libIDL-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install \
+ prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR} \
+ infodir=${STAGING_INFODIR}
+}
+
+FILES_${PN} = "${libdir}/*.so.*"
+FILES_${PN}-dev += " ${bindir}"
diff --git a/meta/packages/libmatchbox/files/16bppfixes.patch b/meta/packages/libmatchbox/files/16bppfixes.patch
new file mode 100644
index 0000000000..09a0347809
--- /dev/null
+++ b/meta/packages/libmatchbox/files/16bppfixes.patch
@@ -0,0 +1,36 @@
+Index: libmb/mbpixbuf.c
+===================================================================
+--- libmatchbox/libmb.orig/mbpixbuf.c 2006-02-01 12:45:55.000000000 +0000
++++ libmatchbox/libmb/mbpixbuf.c 2006-03-11 15:20:47.000000000 +0000
+@@ -716,7 +716,13 @@
+ case 15:
+ return ((r & 0xf8) << 7) | ((g & 0xf8) << 2) | ((b & 0xf8) >> 3);
+ case 16:
+- return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3);
++ switch (pb->byte_order)
++ {
++ case BYTE_ORD_24_RGB:
++ return ((r & 0xf8) << 8) | ((g & 0xfc) << 3) | ((b & 0xf8) >> 3);
++ case BYTE_ORD_24_BGR:
++ return ((b & 0xf8) << 8) | ((g & 0xfc) << 3) | ((r & 0xf8) >> 3);
++ }
+ case 24:
+ case 32:
+ switch (pb->byte_order)
+@@ -1880,12 +1886,11 @@
+ for(y=0; y<img->height; y++)
+ for(x=0; x<img->width; x++)
+ {
+- /* Below is potentially dangerous.
+- */
+- pixel = ( *p | (*(p+1) << 8));
++ internal_16bpp_pixel_to_rgb(p, r, g, b);
++ internal_16bpp_pixel_next(p);
++ a = ((img->has_alpha) ? *p++ : 0xff);
+
+- p += ((img->has_alpha) ? 3 : 2);
+-
++ pixel = mb_pixbuf_get_pixel(pb, r, g, b, a);
+ XPutPixel(img->ximg, x, y, pixel);
+ }
+ }
diff --git a/meta/packages/libmatchbox/files/autofoo.patch b/meta/packages/libmatchbox/files/autofoo.patch
new file mode 100644
index 0000000000..ad3be578e4
--- /dev/null
+++ b/meta/packages/libmatchbox/files/autofoo.patch
@@ -0,0 +1,19 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libmatchbox-1.5/configure.ac~autofoo 2004-12-21 12:56:46.000000000 -0500
++++ libmatchbox-1.5/configure.ac 2005-01-18 16:40:04.421179624 -0500
+@@ -1,10 +1,10 @@
+ AC_PREREQ(2.53)
+ AC_INIT([libmatchbox], 1.5, [mallum@handhelds.org])
+ AC_CONFIG_SRCDIR([libmb/mbtray.c])
++AC_CONFIG_AUX_DIR(.)
+
+ AM_INIT_AUTOMAKE()
+ AM_CONFIG_HEADER([config.h])
+-AC_CONFIG_AUX_DIR(.)
+
+ # Checks for programs.
+ AC_GNU_SOURCE
diff --git a/meta/packages/libmatchbox/files/check.m4 b/meta/packages/libmatchbox/files/check.m4
new file mode 100644
index 0000000000..97bfd9c478
--- /dev/null
+++ b/meta/packages/libmatchbox/files/check.m4
@@ -0,0 +1,133 @@
+dnl AM_PATH_CHECK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for check, and define CHECK_CFLAGS and CHECK_LIBS
+dnl
+
+AC_DEFUN(AM_PATH_CHECK,
+[
+ AC_ARG_WITH(check,
+ [ --with-check=PATH prefix where check is installed [default=auto]])
+
+ min_check_version=ifelse([$1], ,0.8.2,$1)
+
+ AC_MSG_CHECKING(for check - version >= $min_check_version)
+
+ if test x$with_check = xno; then
+ AC_MSG_RESULT(disabled)
+ ifelse([$3], , AC_MSG_ERROR([disabling check is not supported]), [$3])
+ else
+ if test "x$with_check" != x; then
+ CHECK_CFLAGS="-I$with_check/include"
+ CHECK_LIBS="-L$with_check/lib -lcheck"
+ else
+ CHECK_CFLAGS=""
+ CHECK_LIBS="-lcheck"
+ fi
+
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+
+ CFLAGS="$CFLAGS $CHECK_CFLAGS"
+ LIBS="$CHECK_LIBS $LIBS"
+
+ rm -f conf.check-test
+ AC_TRY_RUN([
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <check.h>
+
+int main ()
+{
+ int major, minor, micro;
+ char *tmp_version;
+
+ system ("touch conf.check-test");
+
+ /* HP/UX 9 (%@#!) writes to sscanf strings */
+ tmp_version = strdup("$min_check_version");
+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+ printf("%s, bad version string\n", "$min_check_version");
+ return 1;
+ }
+
+ if ((CHECK_MAJOR_VERSION != check_major_version) ||
+ (CHECK_MINOR_VERSION != check_minor_version) ||
+ (CHECK_MICRO_VERSION != check_micro_version))
+ {
+ printf("\n*** The check header file (version %d.%d.%d) does not match\n",
+ CHECK_MAJOR_VERSION, CHECK_MINOR_VERSION, CHECK_MICRO_VERSION);
+ printf("*** the check library (version %d.%d.%d).\n",
+ check_major_version, check_minor_version, check_micro_version);
+ return 1;
+ }
+
+ if ((check_major_version > major) ||
+ ((check_major_version == major) && (check_minor_version > minor)) ||
+ ((check_major_version == major) && (check_minor_version == minor) && (check_micro_version >= micro)))
+ {
+ return 0;
+ }
+ else
+ {
+ printf("\n*** An old version of check (%d.%d.%d) was found.\n",
+ check_major_version, check_minor_version, check_micro_version);
+ printf("*** You need a version of check being at least %d.%d.%d.\n", major, minor, micro);
+ printf("***\n");
+ printf("*** If you have already installed a sufficiently new version, this error\n");
+ printf("*** probably means that the wrong copy of the check library and header\n");
+ printf("*** file is being found. Rerun configure with the --with-check=PATH option\n");
+ printf("*** to specify the prefix where the correct version was installed.\n");
+ }
+
+ return 1;
+}
+],, no_check=yes, [echo $ac_n "cross compiling; assumed OK... $ac_c"])
+
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+
+ if test "x$no_check" = x ; then
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ else
+ AC_MSG_RESULT(no)
+ if test -f conf.check-test ; then
+ :
+ else
+ echo "*** Could not run check test program, checking why..."
+ CFLAGS="$CFLAGS $CHECK_CFLAGS"
+ LIBS="$CHECK_LIBS $LIBS"
+ AC_TRY_LINK([
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <check.h>
+], , [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding check. You'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+ [ echo "*** The test program failed to compile or link. See the file config.log for"
+ echo "*** the exact error that occured." ])
+
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+
+ CHECK_CFLAGS=""
+ CHECK_LIBS=""
+
+ rm -f conf.check-test
+ ifelse([$3], , AC_MSG_ERROR([check not found]), [$3])
+ fi
+
+ AC_SUBST(CHECK_CFLAGS)
+ AC_SUBST(CHECK_LIBS)
+
+ rm -f conf.check-test
+
+ fi
+])
diff --git a/meta/packages/libmatchbox/files/fix-configure-for-1.9.patch b/meta/packages/libmatchbox/files/fix-configure-for-1.9.patch
new file mode 100644
index 0000000000..990b738e66
--- /dev/null
+++ b/meta/packages/libmatchbox/files/fix-configure-for-1.9.patch
@@ -0,0 +1,14 @@
+diff -urNd ../libmatchbox-1.6-r1/libmatchbox-1.6/configure.ac libmatchbox-1.6/configure.ac
+--- ../libmatchbox-1.6-r1/libmatchbox-1.6/configure.ac 2005-01-11 21:47:39 +00:00
++++ libmatchbox-1.6/configure.ac 2005-03-14 03:06:25 +00:00
+@@ -2,9 +2,9 @@
+ AC_INIT([libmatchbox], 1.6, [mallum@handhelds.org])
+ AC_CONFIG_SRCDIR([libmb/mbtray.c])
+
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE()
+ AM_CONFIG_HEADER([config.h])
+-AC_CONFIG_AUX_DIR(.)
+
+ # Checks for programs.
+ AC_GNU_SOURCE
diff --git a/meta/packages/libmatchbox/libmatchbox.inc b/meta/packages/libmatchbox/libmatchbox.inc
new file mode 100644
index 0000000000..b5618315a0
--- /dev/null
+++ b/meta/packages/libmatchbox/libmatchbox.inc
@@ -0,0 +1,23 @@
+SECTION = "x11/libs"
+DESCRIPTION = "Matchbox window manager core library"
+LICENSE = "GPL"
+DEPENDS = "libx11 libxext expat libxft jpeg libpng zlib libxsettings-client startup-notification"
+PR="r3"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-jpeg --enable-expat --enable-xsettings --enable-startup-notification"
+
+S = "${WORKDIR}/libmatchbox-${PV}"
+
+headers = "hash.h mbconfig.h mbdotdesktop.h mbexp.h \
+ mb.h mbmenu.h mbpixbuf.h mbtray.h mbutil.h"
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/libmb
+ for h in ${headers}; do
+ install -m 0644 ${S}/libmb/$h ${STAGING_INCDIR}/libmb/
+ done
+
+ oe_libinstall -a -so -C libmb libmb ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/libmatchbox/libmatchbox_1.7.bb b/meta/packages/libmatchbox/libmatchbox_1.7.bb
new file mode 100644
index 0000000000..afcf058663
--- /dev/null
+++ b/meta/packages/libmatchbox/libmatchbox_1.7.bb
@@ -0,0 +1,8 @@
+include libmatchbox.inc
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.gz \
+ file://check.m4"
+
+do_configure_prepend () {
+ mv ${WORKDIR}/check.m4 ${S}/
+}
diff --git a/meta/packages/libmatchbox/libmatchbox_svn.bb b/meta/packages/libmatchbox/libmatchbox_svn.bb
new file mode 100644
index 0000000000..aa3bfcd444
--- /dev/null
+++ b/meta/packages/libmatchbox/libmatchbox_svn.bb
@@ -0,0 +1,13 @@
+include libmatchbox.inc
+
+PV = "1.7+svn${SRCDATE}"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http\
+ file://check.m4 \
+ file://16bppfixes.patch;patch=1"
+S = "${WORKDIR}/libmatchbox"
+
+do_configure_prepend () {
+ mv ${WORKDIR}/check.m4 ${S}/
+}
diff --git a/meta/packages/libnss-mdns/files/alignment-fix.patch b/meta/packages/libnss-mdns/files/alignment-fix.patch
new file mode 100644
index 0000000000..11d4655e1f
--- /dev/null
+++ b/meta/packages/libnss-mdns/files/alignment-fix.patch
@@ -0,0 +1,11 @@
+--- nss-mdns-0.6/src/nss.c.orig 2005-09-25 17:27:51 +0200
++++ nss-mdns-0.6/src/nss.c 2005-09-25 17:28:55 +0200
+@@ -456,6 +456,8 @@
+ result->h_addrtype = af;
+ result->h_length = address_length;
+
++ idx+=(sizeof(char*)-idx%sizeof(char*)); /* Align on 32 bit boundary */
++
+ /* Check if there's enough space for the addresses */
+ if (buflen < idx+u.data_len+sizeof(char*)*(u.count+1)) {
+ *errnop = ERANGE;
diff --git a/meta/packages/libnss-mdns/libnss-mdns_0.7.bb b/meta/packages/libnss-mdns/libnss-mdns_0.7.bb
new file mode 100644
index 0000000000..306adb0ee6
--- /dev/null
+++ b/meta/packages/libnss-mdns/libnss-mdns_0.7.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "NSS module for Multicast DNS name resolution"
+HOMEPAGE = "http://0pointer.de/lennart/projects/nss-mdns/"
+LICENSE = "GPL"
+SECTION = "libs"
+PRIORITY = "optional"
+
+RRECOMMENDS_${PN} = "avahi-daemon zeroconf"
+PR = "r0"
+
+EXTRA_OECONF = "--libdir=/lib"
+S = "${WORKDIR}/nss-mdns-${PV}"
+
+SRC_URI = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${PV}.tar.gz"
+
+inherit autotools
+
+pkg_postinst () {
+ cat /etc/nsswitch.conf | grep "hosts:\s*files dns$" > /dev/null && {
+ cat /etc/nsswitch.conf | sed 's/hosts:\s*files dns/& mdns4/' > /tmp/nsswitch.conf
+ mv /tmp/nsswitch.conf /etc/nsswitch.conf
+ }
+}
+
+pkg_prerm () {
+ cat /etc/nsswitch.conf | grep "hosts:\s*files dns mdns$" > /dev/null && {
+ cat /etc/nsswitch.conf | sed 's/\(hosts:\s*files dns\) mdns4*/\1/' > /tmp/nsswitch.conf
+ mv /tmp/nsswitch.conf /etc/nsswitch.conf
+ }
+}
diff --git a/meta/packages/libpcap/libpcap-0.9.3/shared.patch b/meta/packages/libpcap/libpcap-0.9.3/shared.patch
new file mode 100644
index 0000000000..cc66a5e5ef
--- /dev/null
+++ b/meta/packages/libpcap/libpcap-0.9.3/shared.patch
@@ -0,0 +1,119 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libpcap-0.9.3/Makefile.in~shared
++++ libpcap-0.9.3/Makefile.in
+@@ -37,6 +37,15 @@
+ srcdir = @srcdir@
+ VPATH = @srcdir@
+
++# some defines for shared library compilation - FIXME, if not matching
++MAJ=0.9
++MIN=3
++VERSION=$(MAJ).$(MIN)
++LIBNAME=pcap
++LIBRARY=lib$(LIBNAME).a
++SOLIBRARY=lib$(LIBNAME).so
++SHAREDLIB=$(SOLIBRARY).$(VERSION)
++
+ #
+ # You shouldn't need to edit anything below.
+ #
+@@ -50,6 +59,7 @@
+
+ # Standard CFLAGS
+ CFLAGS = $(CCOPT) $(INCLS) $(DEFS)
++CFLAGS_SHARED = -shared -Wl,-soname,$(SOLIBRARY).$(MAJ)
+
+ INSTALL = @INSTALL@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -70,6 +80,9 @@
+ .c.o:
+ @rm -f $@
+ $(CC) $(CFLAGS) -c $(srcdir)/$*.c
++%_pic.o: %.c
++ @rm -f $@
++ $(CC) -fPIC $(CFLAGS) -c -o $@ $(srcdir)/$*.c
+
+ PSRC = pcap-@V_PCAP@.c
+ FSRC = fad-@V_FINDALLDEVS@.c
+@@ -84,6 +97,7 @@
+ # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
+ # hack the extra indirection
+ OBJ = $(PSRC:.c=.o) $(FSRC:.c=.o) $(CSRC:.c=.o) $(SSRC:.c=.o) $(GENSRC:.c=.o) $(LIBOBJS)
++OBJ_PIC = $(PSRC:.c=_pic.o) $(FSRC:.c=.o) $(CSRC:.c=_pic.o) $(GENSRC:.c=_pic.o)
+ HDR = pcap.h pcap-int.h pcap-namedb.h pcap-nit.h pcap-pf.h \
+ ethertype.h gencode.h gnuc.h
+ GENHDR = \
+@@ -95,15 +109,22 @@
+ TAGFILES = \
+ $(SRC) $(HDR) $(TAGHDR)
+
+-CLEANFILES = $(OBJ) libpcap.a $(GENSRC) $(GENHDR) lex.yy.c
++CLEANFILES = $(OBJ) libpcap.a $(GENSRC) $(GENHDR) lex.yy.c libpcap.so*
+
+-all: libpcap.a
++all: libpcap.a $(SHAREDLIB)
+
+ libpcap.a: $(OBJ)
+ @rm -f $@
+ ar rc $@ $(OBJ) $(LIBS)
+ $(RANLIB) $@
+
++$(SHAREDLIB): $(OBJ_PIC)
++ -@rm -f $@
++ -@rm -f $(SOLIBRARY) $(SOLIBRARY).$(MAJ)
++ $(CC) $(CFLAGS_SHARED) -o $(SHAREDLIB) $(OBJ_PIC) -lc
++ ln -s $(SHAREDLIB) $(SOLIBRARY).$(MAJ)
++ ln -s $(SOLIBRARY).$(MAJ) $(SOLIBRARY)
++
+ shared: libpcap.$(DYEXT)
+
+ #
+@@ -129,6 +150,9 @@
+ scanner.o: scanner.c tokdefs.h
+ $(CC) $(CFLAGS) -c scanner.c
+
++scanner_pic.o: scanner.c tokdefs.h
++ $(CC) -fPIC $(CFLAGS) -o $@ -c scanner.c
++
+ pcap.o: version.h
+
+ tokdefs.h: grammar.c
+@@ -142,9 +166,16 @@
+ @rm -f $@
+ $(CC) $(CFLAGS) -Dyylval=pcap_lval -c grammar.c
+
++grammer_pic.o: grammar.c
++ @rm -f $@
++ $(CC) -fPIC $(CFLAGS) -Dyylval=pcap_lval -o $@ -c grammar.c
++
+ version.o: version.c
+ $(CC) $(CFLAGS) -c version.c
+
++version_pic.o: version.c
++ $(CC) -fPIC $(CFLAGS) -c version.c -o $@
++
+ snprintf.o: $(srcdir)/missing/snprintf.c
+ $(CC) $(CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
+
+@@ -170,11 +201,17 @@
+ bpf_filter.o: bpf_filter.c
+ $(CC) $(CFLAGS) -c bpf_filter.c
+
++bpf_filter_pic.o: bpf_filter.c
++ $(CC) -fPIC $(CFLAGS) -c bpf_filter.c -o $@
++
+ install: libpcap.a
+ [ -d $(DESTDIR)$(libdir) ] || \
+ (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
+ $(INSTALL_DATA) libpcap.a $(DESTDIR)$(libdir)/libpcap.a
+ $(RANLIB) $(DESTDIR)$(libdir)/libpcap.a
++ $(INSTALL_DATA) $(SHAREDLIB) $(DESTDIR)$(libdir)/
++ ln -sf $(SHAREDLIB) $(DESTDIR)$(libdir)/$(SOLIBRARY).$(MAJ)
++ ln -sf $(SOLIBRARY).$(MAJ) $(DESTDIR)$(libdir)/$(SOLIBRARY)
+ [ -d $(DESTDIR)$(includedir) ] || \
+ (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir))
+ $(INSTALL_DATA) $(srcdir)/pcap.h $(DESTDIR)$(includedir)/pcap.h
diff --git a/meta/packages/libpcap/libpcap_0.9.3.bb b/meta/packages/libpcap/libpcap_0.9.3.bb
new file mode 100644
index 0000000000..5d66687482
--- /dev/null
+++ b/meta/packages/libpcap/libpcap_0.9.3.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Network Packet Capture Library"
+HOMEPAGE = "http://www.tcpdump.org/"
+LICENSE = "BSD"
+SECTION = "libs/network"
+PR = "r1"
+
+SRC_URI = "http://www.tcpdump.org/release/libpcap-${PV}.tar.gz \
+ file://shared.patch;patch=1"
+
+inherit autotools
+
+EXTRA_OECONF = "--with-pcap=linux"
+
+CPPFLAGS_prepend = "-I${S} "
+CFLAGS_prepend = "-I${S} "
+CXXFLAGS_prepend = "-I${S} "
+
+do_configure_prepend () {
+ if [ ! -e acinclude.m4 ]; then
+ cat aclocal.m4 > acinclude.m4
+ fi
+}
+
+do_stage () {
+ install -m 0644 pcap.h ${STAGING_INCDIR}/pcap.h
+ install -m 0644 pcap-namedb.h ${STAGING_INCDIR}/pcap-namedb.h
+ install -m 0644 pcap-bpf.h ${STAGING_INCDIR}/pcap-bpf.h
+ oe_libinstall -a -so libpcap ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/net
+ ln -sf ${STAGING_INCDIR}/pcap-bpf.h ${STAGING_INCDIR}/net/bpf.h
+ install -m 0644 acinclude.m4 ${STAGING_DATADIR}/aclocal/libpcap.m4
+}
diff --git a/meta/packages/libpng/libpng-native_1.2.8.bb b/meta/packages/libpng/libpng-native_1.2.8.bb
new file mode 100644
index 0000000000..b03056f08d
--- /dev/null
+++ b/meta/packages/libpng/libpng-native_1.2.8.bb
@@ -0,0 +1,14 @@
+include libpng_${PV}.bb
+inherit native
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libpng-${PV}"
+DEPENDS = "zlib-native"
+
+INHIBIT_NATIVE_STAGE_INSTALL = "1"
+
+do_stage_append() {
+ cp libpng.pc libpng12.pc
+ install -m 644 png.h ${STAGING_INCDIR}/png.h
+ install -m 644 pngconf.h ${STAGING_INCDIR}/pngconf.h
+ oe_libinstall -so libpng12 ${STAGING_LIBDIR}/
+ ln -sf libpng12.so ${STAGING_LIBDIR}/libpng.so
+}
diff --git a/meta/packages/libpng/libpng_1.2.8.bb b/meta/packages/libpng/libpng_1.2.8.bb
new file mode 100644
index 0000000000..81274dc762
--- /dev/null
+++ b/meta/packages/libpng/libpng_1.2.8.bb
@@ -0,0 +1,57 @@
+DESCRIPTION = "PNG Library"
+HOMEPAGE = "http://www.libpng.org/"
+LICENSE = "libpng"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+
+DEPENDS = "zlib"
+
+PACKAGES =+ "${PN}12 ${PN}12-dev"
+
+FILES_${PN}12 = ${libdir}/libpng12.so.*
+FILES_${PN}12-dev = ${libdir}/libpng12.* ${includedir}/libpng12 ${libdir}/pkgconfig/libpng12.pc
+FILES_${PN} = ${libdir}/lib*.so.*
+FILES_${PN}-dev = ${includedir} ${libdir}/lib*.so ${libdir}/*.la \
+ ${libdir}/*.a ${libdir}/pkgconfig \
+ ${datadir}/aclocal ${bindir} ${sbindir}
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/libpng-${PV}.tar.bz2"
+S = "${WORKDIR}/libpng-${PV}"
+
+inherit pkgconfig binconfig
+
+EXTRA_OEMAKE_append = " ZLIBINC=${STAGING_INCDIR} ZLIBLIB=${STAGING_LIBDIR}"
+
+do_compile() {
+ sed < scripts/makefile.linux > makefile -e 's/^ZLIBINC.*//' -e 's/^ZLIBLIB.*//'
+ unset LDFLAGS
+ oe_runmake 'CC=${CC}' 'LD=${LD}' 'CFLAGS=${CFLAGS}' \
+ 'ZLIBINC=${STAGING_INCDIR}' \
+ 'ZLIBLIB=${STAGING_LIBDIR}'
+}
+
+do_stage() {
+ cp libpng.pc libpng12.pc
+ install -m 644 png.h ${STAGING_INCDIR}/png.h
+ install -m 644 pngconf.h ${STAGING_INCDIR}/pngconf.h
+ oe_libinstall -so libpng12 ${STAGING_LIBDIR}/
+ ln -sf libpng12.so ${STAGING_LIBDIR}/libpng.so
+}
+
+do_install() {
+ install -d ${D}${bindir} ${D}${mandir} \
+ ${D}${libdir} ${D}${includedir}
+ unset LDFLAGS
+ oe_runmake 'prefix=${prefix}' 'DESTDIR=${D}' \
+ 'DB=${D}${bindir}' 'DI=${D}${includedir}' \
+ 'DL=${D}${libdir}' 'DM=${D}${mandir}' \
+ install
+}
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_${PN}', 'libpng12', d)
+ bb.build.exec_func('package_do_package', d)
+}
+
diff --git a/meta/packages/libtool/libtool-1.5.10/3figures.patch b/meta/packages/libtool/libtool-1.5.10/3figures.patch
new file mode 100644
index 0000000000..6f632fbe7d
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/3figures.patch
@@ -0,0 +1,29 @@
+--- /tmp/ltmain.in 2005-07-24 18:52:11.867735112 +0200
++++ libtool-1.5.10/ltmain.in 2005-07-24 18:55:49.204694872 +0200
+@@ -3101,7 +3101,7 @@
+
+ # Check that each of the things are valid numbers.
+ case $current in
+- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
++ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+@@ -3110,7 +3110,7 @@
+ esac
+
+ case $revision in
+- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
++ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
+@@ -3119,7 +3119,7 @@
+ esac
+
+ case $age in
+- 0 | [1-9] | [1-9][0-9] | [1-9][0-9][0-9]) ;;
++ 0 | [1-9] | [1-9][0-9]*) ;;
+ *)
+ $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2
+ $echo "$modename: \`$vinfo' is not valid version information" 1>&2
diff --git a/meta/packages/libtool/libtool-1.5.10/autotools.patch b/meta/packages/libtool/libtool-1.5.10/autotools.patch
new file mode 100644
index 0000000000..5df441e945
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/autotools.patch
@@ -0,0 +1,127 @@
+diff -urNd -urNd libtool-1.5/cdemo/configure.ac libtool-1.5.ac/cdemo/configure.ac
+--- libtool-1.5/cdemo/configure.ac 2001-10-06 11:35:17.000000000 -0400
++++ libtool-1.5.ac/cdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400
+@@ -24,6 +24,7 @@
+ ## ------------------------ ##
+ AC_INIT([cdemo], [0.1], [bug-libtool@gnu.org])
+ AC_CONFIG_SRCDIR([main.c])
++AC_CONFIG_AUX_DIR([..])
+
+
+ ## ------------------------ ##
+diff -urNd -urNd libtool-1.5/demo/configure.ac libtool-1.5.ac/demo/configure.ac
+--- libtool-1.5/demo/configure.ac 2002-03-02 22:19:55.000000000 -0500
++++ libtool-1.5.ac/demo/configure.ac 2004-05-05 17:16:17.000000000 -0400
+@@ -24,6 +24,7 @@
+ ## ------------------------ ##
+ AC_INIT([demo], [1.0], [bug-libtool@gnu.org])
+ AC_CONFIG_SRCDIR([hello.c])
++AC_CONFIG_AUX_DIR([..])
+
+
+ ## ------------------------ ##
+diff -urNd -urNd libtool-1.5/demo/Makefile.am libtool-1.5.ac/demo/Makefile.am
+--- libtool-1.5/demo/Makefile.am 2002-11-19 04:42:39.000000000 -0500
++++ libtool-1.5.ac/demo/Makefile.am 2004-05-05 17:17:34.000000000 -0400
+@@ -121,17 +121,16 @@
+
+ # This is one of the essential tests for deplibs_check_method=pass_all.
+ # If this one passes with pass_all, it is likely that pass_all works
+-EXTRA_LIBRARIES = libhell0.a
+-libhell0_a_SOURCES = hello.c foo.c
+-EXTRA_LTLIBRARIES = libhell1.la libhell2.la
++EXTRA_LTLIBRARIES = libhell0.la libhell1.la libhell2.la
++libhell0_la_SOURCES = hello.c foo.c
+ libhell1_la_SOURCES = hell1.c
+ libhell1_la_LIBADD = -L. -lhell0
+ libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir)
+-libhell1_la_DEPENDENCIES = libhell0.a
++libhell1_la_DEPENDENCIES = libhell0.la
+ libhell2_la_SOURCES = hell2.c
+ libhell2_la_LIBADD = -L. -lhell0
+ libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir)
+-libhell2_la_DEPENDENCIES = libhell0.a
++libhell2_la_DEPENDENCIES = libhell0.la
+ EXTRA_PROGRAMS = hell0
+ hell0_SOURCES = main.c
+ hell0_LDADD = libhell1.la libhell2.la $(LIBM)
+diff -urNd -urNd libtool-1.5/depdemo/configure.ac libtool-1.5.ac/depdemo/configure.ac
+--- libtool-1.5/depdemo/configure.ac 2002-10-22 15:29:28.000000000 -0400
++++ libtool-1.5.ac/depdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400
+@@ -24,6 +24,7 @@
+ ## ------------------------ ##
+ AC_INIT([depdemo], [0.1], [bug-libtool@gnu.org])
+ AC_CONFIG_SRCDIR([main.c])
++AC_CONFIG_AUX_DIR([..])
+
+
+ ## ------------------------ ##
+diff -urNd -urNd libtool-1.5/f77demo/configure.ac libtool-1.5.ac/f77demo/configure.ac
+--- libtool-1.5/f77demo/configure.ac 2003-03-22 01:34:27.000000000 -0500
++++ libtool-1.5.ac/f77demo/configure.ac 2004-05-05 17:16:17.000000000 -0400
+@@ -23,6 +23,7 @@
+ ## ------------------------ ##
+ AC_INIT([f77demo], [0.1], [bug-libtool@gnu.org])
+ AC_CONFIG_SRCDIR([foof.f])dnl
++AC_CONFIG_AUX_DIR([..])
+
+ ## ------------------------ ##
+ ## Automake Initialisation. ##
+diff -urNd -urNd libtool-1.5/mdemo/configure.ac libtool-1.5.ac/mdemo/configure.ac
+--- libtool-1.5/mdemo/configure.ac 2001-10-06 11:35:17.000000000 -0400
++++ libtool-1.5.ac/mdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400
+@@ -24,6 +24,7 @@
+ ## ------------------------ ##
+ AC_INIT([mdemo], [0.1], [bug-libtool@gnu.org])
+ AC_CONFIG_SRCDIR([main.c])
++AC_CONFIG_AUX_DIR([..])
+
+
+ ## ------------------------ ##
+diff -urNd -urNd libtool-1.5/pdemo/configure.ac libtool-1.5.ac/pdemo/configure.ac
+--- libtool-1.5/pdemo/configure.ac 2001-10-06 11:35:17.000000000 -0400
++++ libtool-1.5.ac/pdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400
+@@ -24,6 +24,7 @@
+ ## ------------------------ ##
+ AC_INIT([pdemo], [0.1], [bug-libtool@gnu.org])
+ AC_CONFIG_SRCDIR([longer_file_name_hello.c])
++AC_CONFIG_AUX_DIR([..])
+
+
+ ## ------------------------ ##
+diff -urNd -urNd libtool-1.5/pdemo/Makefile.am libtool-1.5.ac/pdemo/Makefile.am
+--- libtool-1.5/pdemo/Makefile.am 2002-11-19 04:42:39.000000000 -0500
++++ libtool-1.5.ac/pdemo/Makefile.am 2004-05-05 17:17:59.000000000 -0400
+@@ -121,17 +121,16 @@
+
+ # This is one of the essential tests for deplibs_check_method=pass_all.
+ # If this one passes with pass_all, it is likely that pass_all works
+-EXTRA_LIBRARIES = libhell0.a
+-libhell0_a_SOURCES = longer_file_name_hello.c longer_file_name_foo.c
+-EXTRA_LTLIBRARIES = libhell1.la libhell2.la
++libhell0_la_SOURCES = longer_file_name_hello.c longer_file_name_foo.c
++EXTRA_LTLIBRARIES = libhell0.la libhell1.la libhell2.la
+ libhell1_la_SOURCES = longer_file_name_hell1.c
+ libhell1_la_LIBADD = -L. -lhell0
+ libhell1_la_LDFLAGS = -no-undefined -rpath $(libdir)
+-libhell1_la_DEPENDENCIES = libhell0.a
++libhell1_la_DEPENDENCIES = libhell0.la
+ libhell2_la_SOURCES = longer_file_name_hell2.c
+ libhell2_la_LIBADD = -L. -lhell0
+ libhell2_la_LDFLAGS = -no-undefined -rpath $(libdir)
+-libhell2_la_DEPENDENCIES = libhell0.a
++libhell2_la_DEPENDENCIES = libhell0.la
+ EXTRA_PROGRAMS = hell0
+ hell0_SOURCES = longer_file_name_main.c
+ hell0_LDADD = libhell1.la libhell2.la $(LIBM)
+diff -urNd -urNd libtool-1.5/tagdemo/configure.ac libtool-1.5.ac/tagdemo/configure.ac
+--- libtool-1.5/tagdemo/configure.ac 2001-10-06 11:35:17.000000000 -0400
++++ libtool-1.5.ac/tagdemo/configure.ac 2004-05-05 17:16:17.000000000 -0400
+@@ -24,6 +24,7 @@
+ ## ------------------------ ##
+ AC_INIT([tagdemo], [0.1], [bug-libtool@gnu.org])
+ AC_CONFIG_SRCDIR([foo.cpp])
++AC_CONFIG_AUX_DIR([..])
+
+ AC_CANONICAL_TARGET
+
diff --git a/meta/packages/libtool/libtool-1.5.10/install-path-check.patch b/meta/packages/libtool/libtool-1.5.10/install-path-check.patch
new file mode 100644
index 0000000000..46cc960986
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/install-path-check.patch
@@ -0,0 +1,25 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libtool-1.5.6/ltmain.in~install-path-check 2004-05-14 22:56:19.000000000 -0500
++++ libtool-1.5.6/ltmain.in 2004-05-14 22:57:48.000000000 -0500
+@@ -5503,10 +5503,13 @@
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+- if test "$inst_prefix_dir" = "$destdir"; then
+- $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+- exit $EXIT_FAILURE
+- fi
++ #
++ # This breaks install into our staging area. -PB
++ #
++ # if test "$inst_prefix_dir" = "$destdir"; then
++ # $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++ # exit $EXIT_FAILURE
++ # fi
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
diff --git a/meta/packages/libtool/libtool-1.5.10/libdir-la.patch b/meta/packages/libtool/libtool-1.5.10/libdir-la.patch
new file mode 100644
index 0000000000..47aae4c7af
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/libdir-la.patch
@@ -0,0 +1,52 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libtool-1.5.6/ltmain.in~libdir-la 2004-04-01 21:46:15.000000000 -0600
++++ libtool-1.5.6/ltmain.in 2004-05-14 22:53:51.000000000 -0500
+@@ -2147,8 +2147,14 @@
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ else
+- dir="$libdir"
+- absdir="$libdir"
++ # Adding 'libdir' from the .la file to our library search paths
++ # breaks crosscompilation horribly. We cheat here and don't add
++ # it, instead adding the path where we found the .la. -CL
++ dir="$abs_ladir"
++ absdir="$abs_ladir"
++ libdir="$abs_ladir"
++ #dir="$libdir"
++ #absdir="$libdir"
+ fi
+ else
+ dir="$ladir/$objdir"
+@@ -2615,6 +2621,16 @@
+ esac
+ if grep "^installed=no" $deplib > /dev/null; then
+ path="$absdir/$objdir"
++# This interferes with crosscompilation. -CL
++# else
++# eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
++# if test -z "$libdir"; then
++# $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
++# exit 1
++# fi
++# if test "$absdir" != "$libdir"; then
++# $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
++# fi
+ else
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ if test -z "$libdir"; then
+@@ -5165,6 +5181,10 @@
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
++ # Replacing uninstalled with installed can easily break crosscompilation,
++ # since the installed path is generally the wrong architecture. -CL
++ newdependency_libs="$newdependency_libs $deplib"
++ continue
+ case $deplib in
+ *.la)
+ name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
diff --git a/meta/packages/libtool/libtool-1.5.10/prefix.patch b/meta/packages/libtool/libtool-1.5.10/prefix.patch
new file mode 100644
index 0000000000..fa30d02f26
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/prefix.patch
@@ -0,0 +1,40 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libtool-1.5.6/libtool.m4~prefix.patch 2004-05-14 23:02:28.000000000 -0500
++++ libtool-1.5.6/libtool.m4 2004-05-14 23:02:34.000000000 -0500
+@@ -82,7 +82,8 @@
+ LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/$host_alias-libtool"
+ AC_SUBST(LIBTOOL)dnl
+
+ # Prevent multiple expansion
+@@ -149,7 +150,7 @@
+ rm="rm -f"
+
+ # Global variables:
+-default_ofile=libtool
++default_ofile=${host_alias}-libtool
+ can_build_shared=yes
+
+ # All known linkers require a `.a' archive for static linking (except M$VC,
+--- libtool-1.5.6/Makefile.am~prefix.patch 2004-04-11 00:07:06.000000000 -0500
++++ libtool-1.5.6/Makefile.am 2004-05-14 23:02:46.000000000 -0500
+@@ -30,9 +30,9 @@
+ aclocal_DATA = $(aclocal_macros)
+
+ # The standalone libtool script, and the libtool distributor.
+-bin_SCRIPTS = libtool libtoolize
++bin_SCRIPTS = $(host_alias)-libtool libtoolize
+
+-libtool: $(srcdir)/ltmain.sh $(top_builddir)/configure.ac
++$(host_alias)-libtool: $(srcdir)/ltmain.sh $(top_builddir)/configure.ac
+ $(SHELL) $(top_builddir)/config.status --recheck
+ chmod +x $@
+
diff --git a/meta/packages/libtool/libtool-1.5.10/sedvar.patch b/meta/packages/libtool/libtool-1.5.10/sedvar.patch
new file mode 100644
index 0000000000..d505edae24
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/sedvar.patch
@@ -0,0 +1,16 @@
+
+#
+# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libtool-1.5/ltmain.in~sedvar 2003-04-14 16:58:24.000000000 -0500
++++ libtool-1.5/ltmain.in 2003-09-24 14:18:50.175518400 -0500
+@@ -48,6 +48,8 @@
+ exit 0
+ fi
+
++[ -z "${SED}" ] && SED=sed
++
+ # The name of this program.
+ progname=`$echo "$0" | ${SED} 's%^.*/%%'`
+ modename="$progname"
diff --git a/meta/packages/libtool/libtool-1.5.10/tag.patch b/meta/packages/libtool/libtool-1.5.10/tag.patch
new file mode 100644
index 0000000000..8921a3efb7
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/tag.patch
@@ -0,0 +1,19 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libtool-1.5.6/ltmain.in~tag 2004-05-15 05:14:32.000000000 -0400
++++ libtool-1.5.6/ltmain.in 2004-05-15 05:18:01.000000000 -0400
+@@ -226,8 +226,9 @@
+ # line option must be used.
+ if test -z "$tagname"; then
+ $echo "$modename: unable to infer tagged configuration"
+- $echo "$modename: specify a tag with \`--tag'" 1>&2
+- exit $EXIT_FAILURE
++ $echo "$modename: defaulting to \`CC'"
++ $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++# exit $EXIT_FAILURE
+ # else
+ # $echo "$modename: using $tagname tagged configuration"
+ fi
diff --git a/meta/packages/libtool/libtool-1.5.10/tag1.patch b/meta/packages/libtool/libtool-1.5.10/tag1.patch
new file mode 100644
index 0000000000..6fefd6266d
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/tag1.patch
@@ -0,0 +1,13 @@
+Index: libtool-1.5.10/libltdl/ltmain.sh
+===================================================================
+--- libtool-1.5.10.orig/libltdl/ltmain.sh 2004-09-19 13:34:44.000000000 +0100
++++ libtool-1.5.10/libltdl/ltmain.sh 2006-05-25 15:28:39.000000000 +0100
+@@ -232,7 +232,7 @@
+ if test -z "$tagname"; then
+ $echo "$modename: unable to infer tagged configuration"
+ $echo "$modename: specify a tag with \`--tag'" 1>&2
+- exit $EXIT_FAILURE
++# exit $EXIT_FAILURE
+ # else
+ # $echo "$modename: using $tagname tagged configuration"
+ fi
diff --git a/meta/packages/libtool/libtool-1.5.10/uclibc.patch b/meta/packages/libtool/libtool-1.5.10/uclibc.patch
new file mode 100644
index 0000000000..2c8cbabbb3
--- /dev/null
+++ b/meta/packages/libtool/libtool-1.5.10/uclibc.patch
@@ -0,0 +1,19 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libtool-1.5.8/libtool.m4~uclibc
++++ libtool-1.5.8/libtool.m4
+@@ -2221,6 +2221,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
diff --git a/meta/packages/libtool/libtool-cross_1.5.10.bb b/meta/packages/libtool/libtool-cross_1.5.10.bb
new file mode 100644
index 0000000000..22e404c9d5
--- /dev/null
+++ b/meta/packages/libtool/libtool-cross_1.5.10.bb
@@ -0,0 +1,27 @@
+SECTION = "devel"
+include libtool_${PV}.bb
+
+PR = "r4"
+PACKAGES = ""
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
+SRC_URI_append = " file://libdir-la.patch;patch=1 \
+ file://prefix.patch;patch=1 \
+ file://tag.patch;patch=1 \
+ file://tag1.patch;patch=1 \
+ file://install-path-check.patch;patch=1"
+S = "${WORKDIR}/libtool-${PV}"
+
+prefix = "${STAGING_DIR}"
+exec_prefix = "${prefix}/${BUILD_SYS}"
+
+do_compile () {
+ :
+}
+
+do_stage () {
+ install -m 0755 ${HOST_SYS}-libtool ${bindir}/${HOST_SYS}-libtool
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/libtool/libtool-native_1.5.10.bb b/meta/packages/libtool/libtool-native_1.5.10.bb
new file mode 100644
index 0000000000..ff001be63c
--- /dev/null
+++ b/meta/packages/libtool/libtool-native_1.5.10.bb
@@ -0,0 +1,35 @@
+SECTION = "devel"
+include libtool_${PV}.bb
+
+PR = "r4"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
+SRC_URI_append = " file://libdir-la.patch;patch=1 \
+ file://prefix.patch;patch=1 \
+ file://tag.patch;patch=1 \
+ file://tag1.patch;patch=1 \
+ file://install-path-check.patch;patch=1"
+S = "${WORKDIR}/libtool-${PV}"
+
+STAGING_DATADIR_safe := "${STAGING_DATADIR}"
+
+inherit native
+
+do_stage () {
+ install -m 0755 ${HOST_SYS}-libtool ${STAGING_BINDIR}/${HOST_SYS}-libtool
+ install -m 0755 libtoolize ${STAGING_BINDIR}/libtoolize
+ oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR}
+ install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+ for dir in ${STAGING_DATADIR} ${STAGING_DATADIR_safe}; do
+ install -d $dir/libtool \
+ $dir/aclocal
+ install -c config.guess $dir/libtool/config.guess
+ install -c config.sub $dir/libtool/config.sub
+ install -c -m 0644 ltmain.sh $dir/libtool/
+ install -c -m 0644 libtool.m4 $dir/aclocal/
+ install -c -m 0644 ltdl.m4 $dir/aclocal/
+ done
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/libtool/libtool_1.5.10.bb b/meta/packages/libtool/libtool_1.5.10.bb
new file mode 100644
index 0000000000..1202279524
--- /dev/null
+++ b/meta/packages/libtool/libtool_1.5.10.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Generic library support script \
+This is GNU libtool, a generic library support script. Libtool hides \
+the complexity of generating special library types (such as shared \
+libraries) behind a consistent interface."
+HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html"
+LICENSE = "GPL"
+SECTION = "devel"
+PR = "r3"
+
+SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
+ file://autotools.patch;patch=1 \
+ file://uclibc.patch;patch=1 \
+ file://3figures.patch;patch=1"
+S = "${WORKDIR}/libtool-${PV}"
+
+PACKAGES = "libltdl libltdl-dev ${PN}"
+FILES_${PN} += "${datadir}/aclocal*"
+FILES_libltdl = "${libdir}/libltdl.so.*"
+FILES_libltdl-dev = "${libdir}/libltdl.* ${includedir}/ltdl.h"
+
+inherit autotools
+
+EXTRA_AUTORECONF = "--exclude=libtoolize"
+
+do_configure () {
+ find ${S} -name acinclude.m4 | for m4 in `cat`; do
+ cat ${S}/libtool.m4 ${S}/ltdl.m4 > $m4
+ done
+ autotools_do_configure
+}
+
+do_stage () {
+ oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR}
+ install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+}
diff --git a/meta/packages/libusb/libusb-0.1.10a/ARMfix.patch b/meta/packages/libusb/libusb-0.1.10a/ARMfix.patch
new file mode 100644
index 0000000000..803bd99bab
--- /dev/null
+++ b/meta/packages/libusb/libusb-0.1.10a/ARMfix.patch
@@ -0,0 +1,20 @@
+--- /tmp/usb.c 2005-07-22 01:45:43.606167000 +0200
++++ libusb-0.1.10a/usb.c 2005-07-22 01:47:22.527128728 +0200
+@@ -156,7 +156,7 @@
+ * Some ports fetch the descriptors on scanning (like Linux) so we don't
+ * need to fetch them again.
+ */
+- if (!dev->config) {
++/* if (!dev->config) { */
+ usb_dev_handle *udev;
+
+ udev = usb_open(dev);
+@@ -165,7 +165,7 @@
+
+ usb_close(udev);
+ }
+- }
++/* }*/
+
+ changes++;
+
diff --git a/meta/packages/libusb/libusb-0.1.10a/debian-changes.patch b/meta/packages/libusb/libusb-0.1.10a/debian-changes.patch
new file mode 100644
index 0000000000..6f79bc7950
--- /dev/null
+++ b/meta/packages/libusb/libusb-0.1.10a/debian-changes.patch
@@ -0,0 +1,407 @@
+diff -urN libusb_0.1.10a.orig/bsd.c libusb-0.1.10a/bsd.c
+--- libusb_0.1.10a.orig/bsd.c 2004-02-18 08:34:52.000000000 +0100
++++ libusb-0.1.10a/bsd.c 2005-06-30 19:40:00.000000000 +0200
+@@ -25,6 +25,10 @@
+ * for both read and write.
+ */
+
++#if defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
++#define __FreeBSD_kernel__ __FreeBSD__
++#endif
++
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <string.h>
+@@ -142,7 +146,7 @@
+ USB_ERROR(-ENOMEM);
+ dev->impl_info = info;
+
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ snprintf(ctlpath, PATH_MAX, "%s", dev->device->filename);
+ #else
+ snprintf(ctlpath, PATH_MAX, "%s.00", dev->device->filename);
+@@ -255,7 +259,7 @@
+ ep = UE_GET_ADDR(ep);
+
+ if (info->ep_fd[ep] < 0) {
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ snprintf(buf, sizeof(buf) - 1, "%s.%d", dev->device->filename, ep);
+ #else
+ snprintf(buf, sizeof(buf) - 1, "%s.%02d", dev->device->filename, ep);
+@@ -286,7 +290,7 @@
+ fd = ensure_ep_open(dev, ep, O_WRONLY);
+ if (fd < 0) {
+ if (usb_debug >= 2) {
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep));
+ #else
+ fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep));
+@@ -302,7 +306,7 @@
+
+ ret = write(fd, bytes, size);
+ if (ret < 0)
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ USB_ERROR_STR(-errno, "error writing to bulk endpoint %s.%d: %s",
+ dev->device->filename, UE_GET_ADDR(ep), strerror(errno));
+ #else
+@@ -324,7 +328,7 @@
+ fd = ensure_ep_open(dev, ep, O_RDONLY);
+ if (fd < 0) {
+ if (usb_debug >= 2) {
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep));
+ #else
+ fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep));
+@@ -343,7 +347,7 @@
+
+ ret = read(fd, bytes, size);
+ if (ret < 0)
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ USB_ERROR_STR(-errno, "error reading from bulk endpoint %s.%d: %s",
+ dev->device->filename, UE_GET_ADDR(ep), strerror(errno));
+ #else
+@@ -365,7 +369,7 @@
+ fd = ensure_ep_open(dev, ep, O_WRONLY);
+ if (fd < 0) {
+ if (usb_debug >= 2) {
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep));
+ #else
+ fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep));
+@@ -382,7 +386,7 @@
+ do {
+ ret = write(fd, bytes+sent, size-sent);
+ if (ret < 0)
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ USB_ERROR_STR(-errno, "error writing to interrupt endpoint %s.%d: %s",
+ dev->device->filename, UE_GET_ADDR(ep), strerror(errno));
+ #else
+@@ -407,7 +411,7 @@
+ fd = ensure_ep_open(dev, ep, O_RDONLY);
+ if (fd < 0) {
+ if (usb_debug >= 2) {
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep));
+ #else
+ fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep));
+@@ -427,7 +431,7 @@
+ do {
+ ret = read(fd, bytes+retrieved, size-retrieved);
+ if (ret < 0)
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%d: %s",
+ dev->device->filename, UE_GET_ADDR(ep), strerror(errno));
+ #else
+@@ -543,7 +547,7 @@
+ /* best not to play with things we don't understand */
+ continue;
+
+-#if __FreeBSD__
++#ifdef __FreeBSD_kernel__
+ snprintf(buf, sizeof(buf) - 1, "/dev/%s", di.udi_devnames[0]);
+ #else
+ snprintf(buf, sizeof(buf) - 1, "/dev/%s.00", di.udi_devnames[0]);
+diff -urN libusb_0.1.10a.orig/linux.c libusb-0.1.10a/linux.c
+--- libusb_0.1.10a.orig/linux.c 2005-02-11 03:16:10.000000000 +0100
++++ libusb-0.1.10a/linux.c 2005-06-30 19:40:00.000000000 +0200
+@@ -156,6 +156,8 @@
+ return ret;
+ }
+
++#define URB_USERCONTEXT_COOKIE ((void *)0x1)
++
+ /* Reading and writing are the same except for the endpoint */
+ static int usb_urb_transfer(usb_dev_handle *dev, int ep, int urbtype,
+ char *bytes, int size, int timeout)
+@@ -163,14 +165,16 @@
+ struct usb_urb urb;
+ unsigned int bytesdone = 0, requested;
+ struct timeval tv, tv_ref, tv_now;
+- void *context;
++ struct usb_urb *context;
+ int ret, waiting;
+
+ /*
+- * FIXME: The use of the URB interface is incorrect here if there are
+- * multiple callers at the same time. We assume we're the only caller
+- * and if we get completions from another caller, this code will fail
+- * in interesting ways.
++ * HACK: The use of urb.usercontext is a hack to get threaded applications
++ * sort of working again. Threaded support is still not recommended, but
++ * this should allow applications to work in the common cases. Basically,
++ * if we get the completion for an URB we're not waiting for, then we update
++ * the usercontext pointer to 1 for the other threads URB and it will see
++ * the change after it wakes up from the the timeout. Ugly, but it works.
+ */
+
+ /*
+@@ -198,10 +202,10 @@
+ urb.flags = 0;
+ urb.buffer = bytes + bytesdone;
+ urb.buffer_length = requested;
+- urb.usercontext = (void *)ep;
+ urb.signr = 0;
+ urb.actual_length = 0;
+ urb.number_of_packets = 0; /* don't do isochronous yet */
++ urb.usercontext = NULL;
+
+ ret = ioctl(dev->fd, IOCTL_USB_SUBMITURB, &urb);
+ if (ret < 0) {
+@@ -212,18 +216,28 @@
+ FD_ZERO(&writefds);
+ FD_SET(dev->fd, &writefds);
+
++restart:
+ waiting = 1;
+- while (((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) {
++ context = NULL;
++ while (!urb.usercontext && ((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) {
+ tv.tv_sec = 0;
+ tv.tv_usec = 1000; // 1 msec
+ select(dev->fd + 1, NULL, &writefds, NULL, &tv); //sub second wait
+
+- /* compare with actual time, as the select timeout is not that precise */
+- gettimeofday(&tv_now, NULL);
++ if (timeout) {
++ /* compare with actual time, as the select timeout is not that precise */
++ gettimeofday(&tv_now, NULL);
++
++ if ((tv_now.tv_sec > tv_ref.tv_sec) ||
++ ((tv_now.tv_sec == tv_ref.tv_sec) && (tv_now.tv_usec >= tv_ref.tv_usec)))
++ waiting = 0;
++ }
++ }
+
+- if ((tv_now.tv_sec > tv_ref.tv_sec) ||
+- ((tv_now.tv_sec == tv_ref.tv_sec) && (tv_now.tv_usec >= tv_ref.tv_usec)))
+- waiting = 0;
++ if (context && context != &urb) {
++ context->usercontext = URB_USERCONTEXT_COOKIE;
++ /* We need to restart since we got a successful URB, but not ours */
++ goto restart;
+ }
+
+ /*
+@@ -231,14 +245,14 @@
+ * something happened during the reaping and we should return that
+ * error now
+ */
+- if (ret < 0 && errno != EAGAIN)
++ if (ret < 0 && !urb.usercontext && errno != EAGAIN)
+ USB_ERROR_STR(-errno, "error reaping URB: %s", strerror(errno));
+
+ bytesdone += urb.actual_length;
+- } while (ret == 0 && bytesdone < size && urb.actual_length == requested);
++ } while ((ret == 0 || urb.usercontext) && bytesdone < size && urb.actual_length == requested);
+
+ /* If the URB didn't complete in success or error, then let's unlink it */
+- if (ret < 0) {
++ if (ret < 0 && !urb.usercontext) {
+ int rc;
+
+ if (!waiting)
+diff -urN libusb_0.1.10a.orig/usb.h.in libusb-0.1.10a/usb.h.in
+--- libusb_0.1.10a.orig/usb.h.in 2004-08-03 20:20:38.000000000 +0200
++++ libusb-0.1.10a/usb.h.in 2005-06-30 19:40:00.000000000 +0200
+@@ -13,8 +13,9 @@
+
+ #include <unistd.h>
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <limits.h>
+-
++#include <sys/param.h>
+ #include <dirent.h>
+
+ /*
+@@ -63,40 +64,40 @@
+
+ /* All standard descriptors have these 2 fields in common */
+ struct usb_descriptor_header {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+-};
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++} __attribute__ ((packed));
+
+ /* String descriptor */
+ struct usb_string_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int16_t wData[1];
+-};
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint16_t wData[1];
++} __attribute__ ((packed));
+
+ /* HID descriptor */
+ struct usb_hid_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int16_t bcdHID;
+- u_int8_t bCountryCode;
+- u_int8_t bNumDescriptors;
+- /* u_int8_t bReportDescriptorType; */
+- /* u_int16_t wDescriptorLength; */
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint16_t bcdHID;
++ uint8_t bCountryCode;
++ uint8_t bNumDescriptors;
++ /* uint8_t bReportDescriptorType; */
++ /* uint16_t wDescriptorLength; */
+ /* ... */
+-};
++} __attribute__ ((packed));
+
+ /* Endpoint descriptor */
+ #define USB_MAXENDPOINTS 32
+ struct usb_endpoint_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int8_t bEndpointAddress;
+- u_int8_t bmAttributes;
+- u_int16_t wMaxPacketSize;
+- u_int8_t bInterval;
+- u_int8_t bRefresh;
+- u_int8_t bSynchAddress;
++ uint8_t bLength __attribute__ ((packed));
++ uint8_t bDescriptorType __attribute__ ((packed));
++ uint8_t bEndpointAddress __attribute__ ((packed));
++ uint8_t bmAttributes __attribute__ ((packed));
++ uint16_t wMaxPacketSize __attribute__ ((packed));
++ uint8_t bInterval __attribute__ ((packed));
++ uint8_t bRefresh __attribute__ ((packed));
++ uint8_t bSynchAddress __attribute__ ((packed));
+
+ unsigned char *extra; /* Extra descriptors */
+ int extralen;
+@@ -114,15 +115,15 @@
+ /* Interface descriptor */
+ #define USB_MAXINTERFACES 32
+ struct usb_interface_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int8_t bInterfaceNumber;
+- u_int8_t bAlternateSetting;
+- u_int8_t bNumEndpoints;
+- u_int8_t bInterfaceClass;
+- u_int8_t bInterfaceSubClass;
+- u_int8_t bInterfaceProtocol;
+- u_int8_t iInterface;
++ uint8_t bLength __attribute__ ((packed));;
++ uint8_t bDescriptorType __attribute__ ((packed));;
++ uint8_t bInterfaceNumber __attribute__ ((packed));;
++ uint8_t bAlternateSetting __attribute__ ((packed));;
++ uint8_t bNumEndpoints __attribute__ ((packed));;
++ uint8_t bInterfaceClass __attribute__ ((packed));;
++ uint8_t bInterfaceSubClass __attribute__ ((packed));;
++ uint8_t bInterfaceProtocol __attribute__ ((packed));;
++ uint8_t iInterface __attribute__ ((packed));;
+
+ struct usb_endpoint_descriptor *endpoint;
+
+@@ -140,14 +141,14 @@
+ /* Configuration descriptor information.. */
+ #define USB_MAXCONFIG 8
+ struct usb_config_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int16_t wTotalLength;
+- u_int8_t bNumInterfaces;
+- u_int8_t bConfigurationValue;
+- u_int8_t iConfiguration;
+- u_int8_t bmAttributes;
+- u_int8_t MaxPower;
++ uint8_t bLength __attribute__ ((packed));
++ uint8_t bDescriptorType __attribute__ ((packed));
++ uint16_t wTotalLength __attribute__ ((packed));
++ uint8_t bNumInterfaces __attribute__ ((packed));
++ uint8_t bConfigurationValue __attribute__ ((packed));
++ uint8_t iConfiguration __attribute__ ((packed));
++ uint8_t bmAttributes __attribute__ ((packed));
++ uint8_t MaxPower __attribute__ ((packed));
+
+ struct usb_interface *interface;
+
+@@ -157,29 +158,29 @@
+
+ /* Device descriptor */
+ struct usb_device_descriptor {
+- u_int8_t bLength;
+- u_int8_t bDescriptorType;
+- u_int16_t bcdUSB;
+- u_int8_t bDeviceClass;
+- u_int8_t bDeviceSubClass;
+- u_int8_t bDeviceProtocol;
+- u_int8_t bMaxPacketSize0;
+- u_int16_t idVendor;
+- u_int16_t idProduct;
+- u_int16_t bcdDevice;
+- u_int8_t iManufacturer;
+- u_int8_t iProduct;
+- u_int8_t iSerialNumber;
+- u_int8_t bNumConfigurations;
+-};
++ uint8_t bLength;
++ uint8_t bDescriptorType;
++ uint16_t bcdUSB;
++ uint8_t bDeviceClass;
++ uint8_t bDeviceSubClass;
++ uint8_t bDeviceProtocol;
++ uint8_t bMaxPacketSize0;
++ uint16_t idVendor;
++ uint16_t idProduct;
++ uint16_t bcdDevice;
++ uint8_t iManufacturer;
++ uint8_t iProduct;
++ uint8_t iSerialNumber;
++ uint8_t bNumConfigurations;
++} __attribute__ ((packed));
+
+ struct usb_ctrl_setup {
+- u_int8_t bRequestType;
+- u_int8_t bRequest;
+- u_int16_t wValue;
+- u_int16_t wIndex;
+- u_int16_t wLength;
+-};
++ uint8_t bRequestType;
++ uint8_t bRequest;
++ uint16_t wValue;
++ uint16_t wIndex;
++ uint16_t wLength;
++} __attribute__ ((packed));
+
+ /*
+ * Standard requests
+@@ -249,7 +250,7 @@
+
+ void *dev; /* Darwin support */
+
+- u_int8_t devnum;
++ uint8_t devnum;
+
+ unsigned char num_children;
+ struct usb_device **children;
+@@ -261,7 +262,7 @@
+ char dirname[PATH_MAX + 1];
+
+ struct usb_device *devices;
+- u_int32_t location;
++ uint32_t location;
+
+ struct usb_device *root_dev;
+ };
diff --git a/meta/packages/libusb/libusb_0.1.10a.bb b/meta/packages/libusb/libusb_0.1.10a.bb
new file mode 100644
index 0000000000..298eb5ee7f
--- /dev/null
+++ b/meta/packages/libusb/libusb_0.1.10a.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "libusb is a library to provide userspace \
+access to USB devices."
+SECTION = "libs"
+LICENSE = "LGPL"
+PR = "r5"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.gz \
+ file://debian-changes.patch;patch=1"
+
+inherit autotools pkgconfig
+
+PARALLEL_MAKE = ""
+
+EXTRA_OECONF = "--disable-build-docs"
+
+do_stage() {
+ oe_libinstall -a -so libusb ${STAGING_LIBDIR}
+
+ install -d ${STAGING_BINDIR}
+ install -m 755 ${S}/libusb-config ${STAGING_BINDIR}
+ perl -pi -e 's:\-L${libdir} :-L${STAGING_LIBDIR} :' ${STAGING_BINDIR}/libusb-config
+
+ install -d ${STAGING_INCDIR}/
+ for X in usb.h
+ do
+ install -m 0644 ${S}/$X ${STAGING_INCDIR}/$X
+ done
+}
diff --git a/meta/packages/libxml/files/no-testapi.patch b/meta/packages/libxml/files/no-testapi.patch
new file mode 100644
index 0000000000..15a4dea0ee
--- /dev/null
+++ b/meta/packages/libxml/files/no-testapi.patch
@@ -0,0 +1,51 @@
+--- /tmp/Makefile.am 2005-11-13 14:33:15.844432536 +0100
++++ libxml2-2.6.22/Makefile.am 2005-11-13 14:33:25.796919528 +0100
+@@ -8,7 +8,7 @@
+
+ noinst_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
+ testThreads testC14N testAutomata testRegexp \
+- testReader testapi testModule runtest runsuite
++ testReader testModule runtest runsuite
+
+ bin_PROGRAMS = xmllint xmlcatalog
+
+@@ -135,20 +135,9 @@
+ testdso_la_LDFLAGS = -module -rpath $(libdir)
+
+ # that one forces the rebuild when "make rebuild" is run on doc/
+-rebuild_testapi:
+- -@(if [ "$(PYTHON)" != "" ] ; then \
+- $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
+
+ # that one is just to make sure it is rebuilt if missing
+ # but adding the dependances generate mess
+-testapi.c:
+- -@(if [ "$(PYTHON)" != "" ] ; then \
+- $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
+-
+-testapi_SOURCES=testapi.c
+-testapi_LDFLAGS =
+-testapi_DEPENDENCIES = $(DEPS)
+-testapi_LDADD= $(LDADDS)
+
+ #testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
+ #testOOM_LDFLAGS =
+@@ -169,9 +158,6 @@
+ @echo '## Go get a cup of coffee it is gonna take a while ...'
+ $(MAKE) CHECKER='valgrind' tests
+
+-APItests: testapi$(EXEEXT)
+- @echo "## Running the API regression tests this may take a little while"
+- -@($(CHECKER) $(top_builddir)/testapi -q)
+
+ HTMLtests : testHTML$(EXEEXT)
+ @(echo > .memdump)
+@@ -1116,7 +1102,7 @@
+ dist-test: distdir
+ (mkdir -p $(distdir))
+ (cd $(srcdir) ; tar -cf - --exclude CVS xstc/Tests) | (cd $(distdir); tar xf -)
+- tar -cf - $(distdir)/test $(distdir)/result $(distdir)/xstc/Tests $(distdir)/Makefile.tests $(distdir)/README $(distdir)/README.tests $(distdir)/AUTHORS $(distdir)/testapi.c $(distdir)/runtest.c $(distdir)/runsuite.c | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-tests+"`.tar.gz
++ tar -cf - $(distdir)/test $(distdir)/result $(distdir)/xstc/Tests $(distdir)/Makefile.tests $(distdir)/README $(distdir)/README.tests $(distdir)/AUTHORS $(distdir)/runtest.c $(distdir)/runsuite.c | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-tests+"`.tar.gz
+ @(rm -rf $(distdir)/xstc/Test)
+
+ cleantar:
diff --git a/meta/packages/libxml/libxml2_2.6.10.bb b/meta/packages/libxml/libxml2_2.6.10.bb
new file mode 100644
index 0000000000..9f789a499e
--- /dev/null
+++ b/meta/packages/libxml/libxml2_2.6.10.bb
@@ -0,0 +1,40 @@
+PR = "r0"
+DESCRIPTION = "GNOME XML library"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+LICENSE = "MIT"
+PACKAGES = "${PN}-dev ${PN}-utils ${PN} ${PN}-doc ${PN}-locale"
+
+FILES_${PN}-dev += "${bindir}/xml-config"
+FILES_${PN}-utils += "${bindir}"
+
+SRC_URI = "http://xmlsoft.org/sources/libxml2/old/libxml2-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--without-python --without-debug --without-legacy --without-schemas --without-catalog --without-docbook --without-c14n"
+
+headers = "DOCBparser.h HTMLparser.h HTMLtree.h SAX.h SAX2.h c14n.h catalog.h chvalid.h debugXML.h dict.h encoding.h entities.h globals.h hash.h list.h nanoftp.h nanohttp.h parser.h parserInternals.h pattern.h relaxng.h schemasInternals.h threads.h tree.h uri.h valid.h xinclude.h xlink.h xmlIO.h xmlautomata.h xmlerror.h xmlexports.h xmlmemory.h xmlreader.h xmlregexp.h xmlschemas.h xmlschemastypes.h xmlstring.h xmlunicode.h xmlversion.h xmlwriter.h xpath.h xpathInternals.h xpointer.h"
+
+do_stage () {
+ oe_libinstall -so libxml2 ${STAGING_LIBDIR}
+
+ mkdir -p ${STAGING_INCDIR}/libxml2/libxml
+ for i in ${headers}; do
+ install -m 0644 include/libxml/$i ${STAGING_INCDIR}/libxml2/libxml/$i
+ done
+
+ cat xml2-config | sed -e "s,^prefix=.*,prefix=${STAGING_BINDIR}/..," \
+ -e "s,^exec_prefix=.*,exec_prefix=${STAGING_BINDIR}/..," \
+ -e "s,^includedir=.*,includedir=${STAGING_INCDIR}," \
+ -e "s,^libdir=.*,libdir=${STAGING_LIBDIR}," > ${STAGING_BINDIR}/xml2-config
+ chmod a+rx ${STAGING_BINDIR}/xml2-config
+ install -m 0644 libxml.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+python populate_packages_prepend () {
+ # autonamer would call this libxml2-2, but we don't want that
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libxml2', 'libxml2', d)
+}
diff --git a/meta/packages/libxml/libxml2_2.6.22.bb b/meta/packages/libxml/libxml2_2.6.22.bb
new file mode 100644
index 0000000000..fae00a6063
--- /dev/null
+++ b/meta/packages/libxml/libxml2_2.6.22.bb
@@ -0,0 +1,39 @@
+PR = "r1"
+DESCRIPTION = "GNOME XML library"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "MIT"
+PACKAGES = "${PN}-dev ${PN}-utils ${PN} ${PN}-doc ${PN}-locale"
+
+FILES_${PN}-dev += "${bindir}/xml-config"
+FILES_${PN}-utils += "${bindir}"
+
+SRC_URI = "http://xmlsoft.org/sources/libxml2/libxml2-${PV}.tar.gz \
+ file://no-testapi.patch;patch=1"
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--without-python --without-debug --without-legacy --without-catalog --without-docbook --without-c14n"
+
+headers = "DOCBparser.h HTMLparser.h HTMLtree.h SAX.h SAX2.h c14n.h catalog.h chvalid.h debugXML.h dict.h encoding.h entities.h globals.h hash.h list.h nanoftp.h nanohttp.h parser.h parserInternals.h pattern.h relaxng.h schemasInternals.h threads.h tree.h uri.h valid.h xinclude.h xlink.h xmlIO.h xmlautomata.h xmlerror.h xmlexports.h xmlmemory.h xmlreader.h xmlregexp.h xmlschemas.h xmlschemastypes.h xmlstring.h xmlunicode.h xmlversion.h xmlwriter.h xpath.h xpathInternals.h xpointer.h"
+
+do_stage () {
+ oe_libinstall -so libxml2 ${STAGING_LIBDIR}
+
+ mkdir -p ${STAGING_INCDIR}/libxml2/libxml
+ for i in ${headers}; do
+ install -m 0644 include/libxml/$i ${STAGING_INCDIR}/libxml2/libxml/$i
+ done
+
+ cat xml2-config | sed -e "s,^prefix=.*,prefix=${STAGING_BINDIR}/..," \
+ -e "s,^exec_prefix=.*,exec_prefix=${STAGING_BINDIR}/..," \
+ -e "s,^includedir=.*,includedir=${STAGING_INCDIR}," \
+ -e "s,^libdir=.*,libdir=${STAGING_LIBDIR}," > ${STAGING_BINDIR}/xml2-config
+ chmod a+rx ${STAGING_BINDIR}/xml2-config
+ install -m 0644 libxml.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+python populate_packages_prepend () {
+ # autonamer would call this libxml2-2, but we don't want that
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libxml2', 'libxml2', d)
+}
diff --git a/meta/packages/libxml/libxml2_cvs.bb b/meta/packages/libxml/libxml2_cvs.bb
new file mode 100644
index 0000000000..29fb53fc04
--- /dev/null
+++ b/meta/packages/libxml/libxml2_cvs.bb
@@ -0,0 +1,43 @@
+DEFAULT_PREFERENCE = "-1"
+PR = "r0"
+DESCRIPTION = "GNOME XML library"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+LICENSE = "MIT"
+PACKAGES = "${PN}-dev ${PN}-utils ${PN} ${PN}-doc ${PN}-locale"
+
+FILES_${PN}-dev += "${bindir}/xml-config"
+FILES_${PN}-utils += "${bindir}"
+
+PV = "2.6.23+cvs${SRCDATE}"
+S = "${WORKDIR}/${PN}"
+SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=libxml2"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--without-python --without-debug --without-legacy --with-schemas --without-catalog --without-docbook --without-c14n"
+
+headers = "DOCBparser.h HTMLparser.h HTMLtree.h SAX.h SAX2.h c14n.h catalog.h chvalid.h debugXML.h dict.h encoding.h entities.h globals.h hash.h list.h nanoftp.h nanohttp.h parser.h parserInternals.h pattern.h relaxng.h schemasInternals.h threads.h tree.h uri.h valid.h xinclude.h xlink.h xmlIO.h xmlautomata.h xmlerror.h xmlexports.h xmlmemory.h xmlreader.h xmlregexp.h xmlschemas.h xmlschemastypes.h xmlstring.h xmlunicode.h xmlversion.h xmlwriter.h xpath.h xpathInternals.h xpointer.h"
+
+do_stage () {
+ oe_libinstall -so libxml2 ${STAGING_LIBDIR}
+
+ mkdir -p ${STAGING_INCDIR}/libxml2/libxml
+ for i in ${headers}; do
+ install -m 0644 include/libxml/$i ${STAGING_INCDIR}/libxml2/libxml/$i
+ done
+
+ cat xml2-config | sed -e "s,^prefix=.*,prefix=${STAGING_BINDIR}/..," \
+ -e "s,^exec_prefix=.*,exec_prefix=${STAGING_BINDIR}/..," \
+ -e "s,^includedir=.*,includedir=${STAGING_INCDIR}," \
+ -e "s,^libdir=.*,libdir=${STAGING_LIBDIR}," > ${STAGING_BINDIR}/xml2-config
+ chmod a+rx ${STAGING_BINDIR}/xml2-config
+ install -m 0644 libxml.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+python populate_packages_prepend () {
+ # autonamer would call this libxml2-2, but we don't want that
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_libxml2', 'libxml2', d)
+}
diff --git a/meta/packages/libxsettings-client/libxsettings-client_0.14.bb b/meta/packages/libxsettings-client/libxsettings-client_0.14.bb
new file mode 100644
index 0000000000..f2e77735f9
--- /dev/null
+++ b/meta/packages/libxsettings-client/libxsettings-client_0.14.bb
@@ -0,0 +1,21 @@
+SECTION = "gpe/libs"
+LICENSE = "BSD-X"
+PRIORITY = "optional"
+DEPENDS = "libxsettings libx11 libxt"
+# libxt is required to stop configure breaking builds by
+# including system paths to find it if it isn't present.
+
+inherit autotools pkgconfig gpe
+
+SRC_URI = "${GPE_MIRROR}/xsettings-client-${PV}.tar.bz2"
+S = ${WORKDIR}/xsettings-client-${PV}
+
+
+headers = "xsettings-client.h xsettings-common.h"
+do_stage () {
+ oe_libinstall -so libXsettings-client ${STAGING_LIBDIR}
+ mkdir -p ${STAGING_INCDIR}
+ for h in ${headers}; do
+ install -m 0644 ${S}/$h ${STAGING_INCDIR}/$h
+ done
+}
diff --git a/meta/packages/libxsettings-client/make_pkgconfig_x11.patch b/meta/packages/libxsettings-client/make_pkgconfig_x11.patch
new file mode 100644
index 0000000000..3a386672d2
--- /dev/null
+++ b/meta/packages/libxsettings-client/make_pkgconfig_x11.patch
@@ -0,0 +1,21 @@
+--- libxsettings-client0-0.12/Makefile.old 2004-04-20 16:48:18.000000000 +1000
++++ libxsettings-client0-0.12/Makefile 2004-04-20 16:58:07.000000000 +1000
+@@ -20,6 +20,9 @@
+ CPPFLAGS += -DPACKAGE=\"$(PACKAGE)\" -DPREFIX=\"$(PREFIX)\" -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\"
+ CPPFLAGS += -I../libxsettings
+
++CFLAGS += `pkg-config --cflags x11`
++LDFLAGS += `pkg-config --ldflags x11`
++
+ XSETTINGS_OBJS = $(patsubst %,%.os,$(XSETTINGS_MEMBERS))
+ DEPS = $(patsubst %,%.d,$(MEMBERS) $(XSETTINGS_MEMBERS))
+ SOURCES = $(patsubst %,%.c,$(MEMBERS) $(XSETTINGS_MEMBERS))
+@@ -39,7 +42,7 @@
+ ln -sf $^ $@
+
+ $(LIBXSETTINGS_SO): $(XSETTINGS_OBJS)
+- $(CC) -o $@ $^ -shared -Wl,-soname -Wl,$(LIBXSETTINGS_SO) -nostartfiles -L/usr/X11R6/lib -lX11 -L../libxsettings -lXsettings
++ $(CC) -o $@ $^ -shared -Wl,-soname -Wl,$(LIBXSETTINGS_SO) -nostartfiles $(LDFLAGS) -L../libxsettings -lXsettings
+
+ install-program: $(LIBXSETTINGS_SO)
+ install -d $(DESTDIR)$(PREFIX)/lib
diff --git a/meta/packages/libxsettings/libxsettings_0.11.bb b/meta/packages/libxsettings/libxsettings_0.11.bb
new file mode 100644
index 0000000000..caf2bc67ae
--- /dev/null
+++ b/meta/packages/libxsettings/libxsettings_0.11.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Common code for XSETTINGS"
+SECTION = "gpe/libs"
+LICENSE = "BSD-X"
+PRIORITY = "optional"
+MAINTAINER = "Philip Blundell <pb@handhelds.org>"
+DEPENDS = "libx11"
+
+inherit gpe
+
+headers = "xsettings-common.h"
+
+do_stage () {
+ oe_libinstall -so libXsettings ${STAGING_LIBDIR}
+
+ mkdir -p ${STAGING_INCDIR}/gpe
+ for h in ${headers}; do
+ install -m 0644 ${S}/$h ${STAGING_INCDIR}/$h
+ done
+}
+
+do_install () {
+ gpe_do_install
+ oe_runmake PREFIX=${prefix} DESTDIR=${D} install-devel
+}
diff --git a/meta/packages/linux-hotplug/files/collie/usbd b/meta/packages/linux-hotplug/files/collie/usbd
new file mode 100644
index 0000000000..38aff0adcb
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/collie/usbd
@@ -0,0 +1 @@
+usbdmodule="sa1100_bi"
diff --git a/meta/packages/linux-hotplug/files/mmc.agent b/meta/packages/linux-hotplug/files/mmc.agent
new file mode 100755
index 0000000000..a80daa4603
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/mmc.agent
@@ -0,0 +1,52 @@
+#!/bin/sh
+#
+# H3600 Sleeve hotplug policy agent for Linux 2.4 kernels
+#
+# Kernel NET hotplug params include:
+#
+# ACTION=%s [add or remove]
+# MEDIA=%s
+# SLOT=%d
+#
+
+. /etc/hotplug/hotplug.functions
+#DEBUG=yes export DEBUG
+
+ echo "Executing $0 action=$ACTION, media=$MEDIA ($SLOT)" > /dev/console
+
+MMC_MOUNT_OPTIONS="-t auto -o sync,noatime"
+
+if [ -f /etc/sysconfig/hotplug ] ; then
+ . /etc/sysconfig/hotplug
+fi
+
+case `uname -r` in
+2.4*)
+ devpath=mmc/part
+ ;;
+*)
+ devpath=mmcblk0p
+ ;;
+esac
+
+if [ "$ACTION" = "add" ] ; then
+ sleep 4
+ echo -n add > /dev/console
+ for n in 1 2 3 4 ; do
+ device=/dev/$devpath$n
+ if [ "$n" = "1" ] ; then
+ card=/mnt/card
+ else
+ card=/mnt/card$n
+ fi
+ [ -b $device ] || break
+ echo " flash on $device" > /dev/console
+ [ -d $card ] || mkdir -p $card
+ mount $MMC_MOUNT_OPTIONS $device $card
+ done
+
+else
+ for card in /mnt/card*; do
+ umount $card
+ done
+fi
diff --git a/meta/packages/linux-hotplug/files/sleeve.agent b/meta/packages/linux-hotplug/files/sleeve.agent
new file mode 100755
index 0000000000..55befca1b1
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/sleeve.agent
@@ -0,0 +1,120 @@
+#!/bin/sh
+#
+# H3600 Sleeve hotplug policy agent for Linux 2.4 kernels
+#
+# Kernel NET hotplug params include:
+#
+# ACTION=%s [add or remove]
+# VENDOR_ID=%s
+# DEVICE_ID=%x
+# DEVICE_NAME=%s
+#
+
+. /etc/hotplug/hotplug.functions
+#DEBUG=yes export DEBUG
+
+if [ "$DEBUG" != "" ]; then
+ mesg "Executing $0 action=$ACTION, device=$DEVICE_NAME ($VENDOR_ID,$DEVICE_ID)"
+fi
+
+COMPACTFLASH_TIMING_INCREMENT=0
+PCMCIA_TIMING_INCREMENT=0
+DUAL_PCMCIA_TIMING_INCREMENT=0
+NAVMAN_TIMING_INCREMENT=0
+BACKPAQ_TIMING_INCREMENT=-100
+
+if [ -f /etc/sysconfig/hotplug ] ; then
+ . /etc/sysconfig/hotplug
+fi
+
+case $ACTION in
+add)
+ case $DEVICE_NAME in
+ "Compaq Mercury Backpaq")
+ mkdir -p /backpaq
+ echo $BACKPAQ_TIMING_INCREMENT > /proc/sys/backpaq/pcmcia/timing_increment_ns
+ ## mount -t jffs2 /dev/mtdblock/4 /backpaq
+ modprobe h3600_backpaq_fpga || mesg 'could not load backpaq fpga driver'
+ modprobe h3600_backpaq_camera || mesg 'could not load backpaq camera driver'
+ if [ -c /dev/v4l/video0 ] ; then
+ ln -s /dev/v4l/video0 /dev/video0
+ ln -s /dev/v4l/video0 /dev/video
+ fi
+ CAMERATYPE=`/bin/grep "CameraType" /proc/backpaq/camera | /bin/sed -e 's/.*: //'`
+ BACKPAQ_NUMBER=`/bin/grep "Major revision" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
+ FPGA_NUMBER=`/bin/grep "FPGA version" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
+ CAMERA_NUMBER=`/bin/grep "Camera" /proc/backpaq/eeprom | /bin/sed -e 's/.*0x//'`
+
+ echo "CAMERA_TYPE = $CAMERATYPE"
+ echo "BACKPAQ_NUMBER = $BACKPAQ_NUMBER"
+ echo "FPGA_NUMBER = $FPGA_NUMBER"
+ echo "CAMERA_NUMBER = $CAMERA_NUMBER"
+ echo "looking for file: /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin"
+ if [ -e /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin ] ; then
+ cat /etc/fpga_B${BACKPAQ_NUMBER}_F${FPGA_NUMBER}_C${CAMERA_NUMBER}.bin > /dev/backpaq/fpga
+ elif [ -e /etc/fpga_$CAMERATYPE.bin ] ; then
+ cat /etc/fpga_$CAMERATYPE.bin > /dev/backpaq/fpga
+ elif [ -e /etc/fpga.bin ] ; then
+ cat /etc/fpga.bin > /dev/backpaq/fpga
+ else
+ mesg 'unable to program the backpaq fpga'
+ fi
+ modprobe h3600_backpaq_accel || mesg 'could not load backpaq accelerometer driver'
+ mesg 'BackPAQ drivers loaded'
+ ;;
+ "Compaq CompactFlash Sleeve")
+ mesg 'CompactFlash drivers loaded'
+ echo $COMPACTFLASH_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
+ ;;
+ "Compaq PC Card Sleeve")
+ mesg 'PC card sleeve drivers loaded'
+ echo $PCMCIA_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
+ ;;
+ "Compaq Dual PC Card Sleeve")
+ mesg 'Dual PC card sleeve drivers loaded'
+ echo $DUAL_PCMCIA_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
+ ;;
+ "Navman GPS/CF Sleeve")
+ mesg 'Navman GPS sleeve drivers loaded'
+ echo $NAVMAN_TIMING_INCREMENT > /proc/sys/bus/pcmcia/timing_increment_ns
+ start-stop-daemon --start --exec /usr/sbin/gpsd.bin -- -p /dev/tts/0 -s 57600
+ ;;
+ *)
+ mesg "$1 $ACTION event not handled for $DEVICE_NAME"
+ ;;
+ esac
+ ;;
+
+remove)
+ case $DEVICE_NAME in
+ "Compaq Mercury Backpaq")
+ mesg 'Unloading BackPAQ drivers'
+ ## umount /backpaq
+ rmmod h3600_backpaq_camera
+ rmmod h3600_backpaq_accel
+ rmmod h3600_backpaq_fpga
+ ;;
+ "Compaq CompactFlash Sleeve")
+ mesg 'Unloading CompactFlash sleeve'
+ ;;
+ "Compaq PC Card Sleeve")
+ mesg 'Unloading PC Card sleeve'
+ ;;
+ "Compaq Dual PC Card Sleeve")
+ mesg 'Unloading Dual PC Card sleeve'
+ ;;
+ "Navman GPS/CF Sleeve")
+ mesg 'Unloading Navman GPS sleeve'
+ start-stop-daemon --stop --name gpsd.bin
+ ;;
+ *)
+ mesg $1 $ACTION event not handled for $DEVICE_NAME
+ ;;
+ esac
+ ;;
+
+*)
+ mesg "$1 $ACTION event not supported"
+ exit 1 ;;
+
+esac
diff --git a/meta/packages/linux-hotplug/files/sleeve.rc b/meta/packages/linux-hotplug/files/sleeve.rc
new file mode 100755
index 0000000000..864a2eb182
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/sleeve.rc
@@ -0,0 +1,60 @@
+#!/bin/sh
+#
+# H3600 Sleeve hotplug *.rc agent.
+# This script is called by /etc/init.d/hotplug whenever
+# a run level has changed.
+#
+# A single argument is passed - start, restart, status, or stop
+#
+# We set up parameters that are equivalent to the ones created
+# by the Kernel and pass them along to /sbin/hotplug (the
+# function called by the kernel).
+#
+# Kernel NET hotplug params include:
+#
+# ACTION=%s [add or remove]
+# VENDOR_ID=%s
+# DEVICE_ID=%x
+# DEVICE_NAME=%s
+#
+
+. /etc/hotplug/hotplug.functions
+# DEBUG=yes export DEBUG
+
+SLEEVEFILE="/proc/bus/sleeve/device"
+[ ! -f $SLEEVEFILE ] && exit 0
+
+# give the sleeve driver a kick to make sure it recognizes the card -Jamey 6/26/01
+# echo > /proc/sys/sleeve/insert
+
+export DEVICE_NAME=`/bin/grep driver $SLEEVEFILE | /bin/sed -e 's/.*=//'`
+export DEVICE_ID=`/bin/grep device $SLEEVEFILE | /bin/sed -e 's/.*=//'`
+export VENDOR_ID=`/bin/grep vendor $SLEEVEFILE | /bin/sed -e 's/.*=//'`
+
+case "$1" in
+ start)
+ export ACTION="add"
+ /sbin/hotplug sleeve
+ ;;
+ stop)
+ export ACTION="remove"
+ /sbin/hotplug sleeve
+ ;;
+ restart)
+ export ACTION="remove"
+ /sbin/hotplug sleeve
+ export ACTION="add"
+ /sbin/hotplug sleeve
+ ;;
+ status)
+ if [ -f /var/lock/subsys/hotplug ]; then
+ mesg "Hot plug sleeve has been started, current device $DEVICE_NAME"
+ else
+ mesg "Hot plug sleeve has not been started, current device $DEVICE_NAME"
+ fi
+ ;;
+ *)
+ mesg "Usage: $0 {start|stop|status|restart}"
+ ;;
+esac
+
diff --git a/meta/packages/linux-hotplug/files/soc.agent b/meta/packages/linux-hotplug/files/soc.agent
new file mode 100644
index 0000000000..e91246196f
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/soc.agent
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# SoC hotplug agent for 2.6 kernels
+#
+# ACTION=add
+# SOC_ID=1234
+#
+
+cd /etc/hotplug
+. ./hotplug.functions
+
+MAP_CURRENT=$MODULE_DIR/modules.socmap
+
+#
+# stdin is "modules.socmap" syntax
+# on return, all matching modules were added to $DRIVERS
+#
+soc_map_modules ()
+{
+ while read line
+ do
+ # comments are lines that start with "#" ...
+ # be careful, they still get parsed by bash!
+ case "$line" in
+ \#*) continue ;;
+ esac
+
+ set $line
+
+ module="$1"
+ id="$2"
+
+ if [ "$id" != "0x$SOC_ID" ]; then
+ continue
+ fi
+
+ # It was a match!
+ case " $DRIVERS " in
+ *" $module "* )
+ : already found
+ ;;
+ * )
+ DRIVERS="$module $DRIVERS"
+ ;;
+ esac
+ : drivers $DRIVERS
+ done
+}
+
+case $ACTION in
+
+add)
+
+ load_drivers soc $MAP_CURRENT "$SOC_ID"
+ ;;
+
+*)
+ debug_mesg SoC $ACTION event not supported
+ exit 1
+ ;;
+
+esac
diff --git a/meta/packages/linux-hotplug/files/sysconfig-hotplug b/meta/packages/linux-hotplug/files/sysconfig-hotplug
new file mode 100644
index 0000000000..7ee5a20c31
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/sysconfig-hotplug
@@ -0,0 +1,12 @@
+##
+## Each of these may be assigned to the number of nanoseconds by which to
+## increase the timing of pcmcia bus transactions
+##
+# COMPACTFLASH_TIMING_INCREMENT=0
+## the single pcmcia sleeve seems to be a bit slow, but 25ns makes my
+## orinoco card detectable. -Jamey 4/2/2002
+PCMCIA_TIMING_INCREMENT=25
+# DUAL_PCMCIA_TIMING_INCREMENT=0
+
+## mount options used by MMC
+MMC_MOUNT_OPTIONS="-t auto -o sync,noatime"
diff --git a/meta/packages/linux-hotplug/files/sysconfig-usb b/meta/packages/linux-hotplug/files/sysconfig-usb
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/sysconfig-usb
diff --git a/meta/packages/linux-hotplug/files/tosa/sysconfig-usb b/meta/packages/linux-hotplug/files/tosa/sysconfig-usb
new file mode 100644
index 0000000000..cbd18c6566
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/tosa/sysconfig-usb
@@ -0,0 +1,2 @@
+## Specify the USB host controller driver
+HCD="usb_ohci_tc6393"
diff --git a/meta/packages/linux-hotplug/files/usbd b/meta/packages/linux-hotplug/files/usbd
new file mode 100644
index 0000000000..aa4e6d2de7
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/usbd
@@ -0,0 +1,2 @@
+usbdmodule=""
+
diff --git a/meta/packages/linux-hotplug/files/usbd.agent b/meta/packages/linux-hotplug/files/usbd.agent
new file mode 100755
index 0000000000..6613b4810a
--- /dev/null
+++ b/meta/packages/linux-hotplug/files/usbd.agent
@@ -0,0 +1,63 @@
+#!/bin/ash
+
+# DEBUG=yes export DEBUG
+#set -x
+
+. /etc/hotplug/hotplug.functions
+. /etc/default/usbd
+cd $HOTPLUG_DIR
+
+[ -z "$INTERFACE" ] && exit 1
+[ -z "$ACTION" ] && exit 1
+[ -z "$usbdmodule" ] && exit 0
+
+debug_mesg "USBD $ACTION Action Recived"
+
+case $INTERFACE in
+
+monitor)
+ case $ACTION in
+ # called to load all usb device modules
+ load)
+ modprobe usbdcore
+ modprobe net_fd
+ modprobe $usbdmodule
+ ;;
+
+ # called to handle suspend power management event
+ suspend)
+ rmmod $usbdmodule
+ ;;
+
+ # called to reload after resume power management event
+ restore-loaded)
+ modprobe $usbdmodule
+ sleep 2
+ ;;
+
+ # called to unload after resume power management event
+ restore-unloaded)
+ modprobe -r net_fd
+ ;;
+
+ # called to unload all usb device modules
+ unload)
+ modprobe -r $usbdmodule
+ ;;
+
+ *)
+ debug_mesg USBD $ACTION event not handled
+ exit 1
+ ;;
+ esac
+ ;;
+*)
+ debug_mesg USBD $INTERFACE-$ACTION event not handled
+ exit 1
+ ;;
+esac
+
+[ -e /proc/usb-monitor ] && echo "Done" > /proc/usb-monitor
+
+exit 0
+
diff --git a/meta/packages/linux-hotplug/linux-hotplug-20040920/fix-net.agent b/meta/packages/linux-hotplug/linux-hotplug-20040920/fix-net.agent
new file mode 100644
index 0000000000..3bc0935018
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug-20040920/fix-net.agent
@@ -0,0 +1,29 @@
+#!/bin/sh -e
+#
+# Since ifupdown of Debian is different than one of RedHat.
+# So we need to fix it
+
+topdir=$1
+dir=$topdir/etc/hotplug
+test -f $dir/net.agent || exit 1
+mv $dir/net.agent $dir/net.agent.orig
+
+sed -e '/^\*)/i\
+unregister)\
+ # Assume that we want to run ifdown no matter what, \
+ # because it is not going to remove the data from the \
+ # ifstate database otherwise.\
+ if [ -x /sbin/ifdown ]; then\
+ debug_mesg invoke ifdown $INTERFACE\
+ exec /sbin/ifdown $INTERFACE\
+ else\
+ # mesg "how do I bring interfaces up on this distro?"\
+ mesg "E: /sbin/ifdown not found. You need to install ifupdown package"\
+ fi\
+ mesg $1 $ACTION event not handled\
+ ;;\
+' $dir/net.agent.orig > $dir/net.agent
+rm -f $dir/net.agent.orig
+chmod 755 $dir/net.agent
+exit 0
+
diff --git a/meta/packages/linux-hotplug/linux-hotplug-20040920/hotplug-net-agent-usb.patch b/meta/packages/linux-hotplug/linux-hotplug-20040920/hotplug-net-agent-usb.patch
new file mode 100644
index 0000000000..a64fc50d2b
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug-20040920/hotplug-net-agent-usb.patch
@@ -0,0 +1,43 @@
+--- hotplug/etc/hotplug/net.agent 2005-01-13 21:12:47.143597392 +1300
++++ hotplug/etc/hotplug/net.agent 2005-01-13 21:17:57.095477544 +1300
+@@ -41,6 +41,9 @@
+ debug_mesg assuming $INTERFACE is already up
+ exit 0
+ ;;
++ # interfaces that don't go up until attached
++ usbf)
++ ;;
+ # interfaces that are registered then brought up
+ *)
+ # NOTE: network configuration relies on administered state,
+@@ -83,6 +86,13 @@
+ mesg $1 $ACTION event not handled
+ ;;
+
++attach)
++ # ifupdown is dumb and won't bring up an interface that it thinks
++ # might already be configured.
++ /sbin/ifdown $INTERFACE
++ exec /sbin/ifup $INTERFACE
++ ;;
++
+ remove|unregister)
+ case $INTERFACE in
+ # interfaces that are unregistered after being "down" (?)
+@@ -105,6 +115,16 @@
+ mesg $1 $ACTION event not handled
+ ;;
+
++detach)
++ if [ -x /sbin/ifdown ]; then
++ debug_mesg invoke ifdown $INTERFACE
++ exec /sbin/ifdown $INTERFACE
++ else
++ mesg "E: /sbin/ifdown not found. You need to install ifupdown package"
++ fi
++ mesg $1 $ACTION event not handled
++ ;;
++
+ *)
+ debug_mesg NET $ACTION event for $INTERFACE not supported
+ exit 1 ;;
diff --git a/meta/packages/linux-hotplug/linux-hotplug-20040920/isapnp-exit.diff b/meta/packages/linux-hotplug/linux-hotplug-20040920/isapnp-exit.diff
new file mode 100644
index 0000000000..e5a9ab10af
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug-20040920/isapnp-exit.diff
@@ -0,0 +1,11 @@
+--- hotplug-2004_09_20/etc/hotplug/isapnp.rc.orig 2004-12-20 15:01:21.541446000 +0100
++++ hotplug-2004_09_20/etc/hotplug/isapnp.rc 2004-12-20 15:01:32.625760928 +0100
+@@ -13,7 +13,7 @@
+ #
+
+ # only 2.6 kernels are supported
+-[ -d /sys/bus/pnp/devices/ ] || return 0
++[ -d /sys/bus/pnp/devices/ ] || exit 0
+
+ cd /etc/hotplug
+ . ./hotplug.functions
diff --git a/meta/packages/linux-hotplug/linux-hotplug-20040920/logcheck-ignore b/meta/packages/linux-hotplug/linux-hotplug-20040920/logcheck-ignore
new file mode 100644
index 0000000000..b941353041
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug-20040920/logcheck-ignore
@@ -0,0 +1 @@
+net.agent: invoke if(up|down)
diff --git a/meta/packages/linux-hotplug/linux-hotplug-20040920/update-usb.usermap b/meta/packages/linux-hotplug/linux-hotplug-20040920/update-usb.usermap
new file mode 100755
index 0000000000..d09e1176ec
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug-20040920/update-usb.usermap
@@ -0,0 +1,37 @@
+#!/bin/sh -e
+# update-usb.usermap
+# Copyright (c) 2001 Fumitoshi UKAI <ukai@debian.or.jp>
+# GPL
+
+LIBDIR=/usr/lib/hotplug
+USERMAP=/etc/hotplug/usb.usermap
+LOCALMAP=/etc/hotplug/usb.usermap.local
+
+test -d $LIBDIR || exit 0
+
+echo -n "Updating $USERMAP ..."
+
+echo "# usb.usermap file" > $USERMAP
+echo "# This is autogenerated by update-usb.usermap program" >> $USERMAP
+echo "# usb module match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info" >> $USERMAP
+
+if [ -f $LOCALMAP ]; then
+ echo "# usb.usermap.local" >> $USERMAP
+ cat $LOCALMAP >> $USERMAP
+fi
+
+cd $LIBDIR
+for package in *
+do
+ if [ -d "$package" ]; then
+ map=$package/usb.usermap
+ echo "# $package" >> $USERMAP
+ if [ -x "$map" ]; then
+ ./$map >> $USERMAP
+ elif [ -f "$map" ]; then
+ cat $map >> $USERMAP
+ fi
+ fi
+done
+
+echo done.
diff --git a/meta/packages/linux-hotplug/linux-hotplug-20040920/usb-storage b/meta/packages/linux-hotplug/linux-hotplug-20040920/usb-storage
new file mode 100644
index 0000000000..138790a367
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug-20040920/usb-storage
@@ -0,0 +1,2 @@
+#!/bin/sh
+modprobe sd_mod \ No newline at end of file
diff --git a/meta/packages/linux-hotplug/linux-hotplug-20040920/usbrc-busybox.patch b/meta/packages/linux-hotplug/linux-hotplug-20040920/usbrc-busybox.patch
new file mode 100644
index 0000000000..35f43dc52b
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug-20040920/usbrc-busybox.patch
@@ -0,0 +1,13 @@
+--- hotplug/etc/hotplug/usb.rc.old 2005-05-25 15:50:11.000000000 +0100
++++ hotplug/etc/hotplug/usb.rc 2005-05-25 15:50:59.000000000 +0100
+@@ -95,8 +95,8 @@
+ PRODUCT="$(cat $devlink/../idVendor)/$(cat $devlink/../idProduct)/$(cat $devlink/../bcdDevice)"
+ if [ -f $devlink/../../devnum ]
+ then
+- devbus=$( ( echo -n 000 ; cat $devlink/../../devnum ) | grep -o ...\$ )
+- devdev=$( ( echo -n 000 ; cat $devlink/../devnum ) | grep -o ...\$ )
++ devbus=$( ( echo -n 000 ; cat $devlink/../../devnum ) | sed 's/.*\(...\)$/\1/' )
++ devdev=$( ( echo -n 000 ; cat $devlink/../devnum ) | sed 's/.*\(...\)$/\1/' )
+ DEVICE="/proc/bus/usb/$devbus/$devdev"
+ else
+ DEVICE=
diff --git a/meta/packages/linux-hotplug/linux-hotplug-20040920/userspecified_hcd.patch b/meta/packages/linux-hotplug/linux-hotplug-20040920/userspecified_hcd.patch
new file mode 100644
index 0000000000..c2ceeb686e
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug-20040920/userspecified_hcd.patch
@@ -0,0 +1,55 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- hotplug-2004_09_20/etc/hotplug/usb.rc~userspecified_hcd.patch
++++ hotplug-2004_09_20/etc/hotplug/usb.rc
+@@ -24,6 +24,7 @@
+ unset I_WANT_A_BROKEN_PS
+ PS_PERSONALITY=linux
+
++HCD=
+ STATIC_MODULE_LIST=
+ X11_USBMICE_HACK=false
+
+@@ -166,20 +167,25 @@
+ # FIXME: some of this should be driven by PCI hotplugging, and have
+ # the blacklist control which uhci driver gets used (before 2.5).
+
+- # "new style" HCDs ... more common code
+- modprobe -q ehci-hcd >/dev/null 2>&1
+- modprobe -q ohci-hcd >/dev/null 2>&1
+- modprobe -q uhci-hcd >/dev/null 2>&1
+-
+- # "old style" HCDs ... more driver-specific bugs
+- modprobe -q usb-ohci >/dev/null 2>&1
+- # NOTE: this prefers "uhci"; you may prefer "usb-uhci".
+- # modprobe -q usb-uhci >/dev/null 2>&1 || modprobe -q uhci >/dev/null 2>&1
+- modprobe -q uhci >/dev/null 2>&1 || modprobe -q usb-uhci >/dev/null 2>&1
+-
+- # ... add any non-PCI HCDS here. Examples include the
+- # CRIS usb-host, Philips ISP-1161, Symlogic 811HS, and so on.
+- # ohci-hcd can handle some non-pci variants.
++ # If the user specified which HCD they want, trust them.
++ if [ -n "$HCD" ]; then
++ modprobe -q $HCD >/dev/null 2>&1
++ else
++ # "new style" HCDs ... more common code
++ modprobe -q ehci-hcd >/dev/null 2>&1
++ modprobe -q ohci-hcd >/dev/null 2>&1
++ modprobe -q uhci-hcd >/dev/null 2>&1
++
++ # "old style" HCDs ... more driver-specific bugs
++ modprobe -q usb-ohci >/dev/null 2>&1
++ # NOTE: this prefers "uhci"; you may prefer "usb-uhci".
++ # modprobe -q usb-uhci >/dev/null 2>&1 || modprobe -q uhci >/dev/null 2>&1
++ modprobe -q uhci >/dev/null 2>&1 || modprobe -q usb-uhci >/dev/null 2>&1
++
++ # ... add any non-PCI HCDS here. Examples include the
++ # CRIS usb-host, Philips ISP-1161, Symlogic 811HS, and so on.
++ # ohci-hcd can handle some non-pci variants.
++ fi
+
+ if [ -d /proc/bus/usb ]; then
+ # If we see there are no busses, we "failed" and
diff --git a/meta/packages/linux-hotplug/linux-hotplug_20040920.bb b/meta/packages/linux-hotplug/linux-hotplug_20040920.bb
new file mode 100644
index 0000000000..c6bcbb66e6
--- /dev/null
+++ b/meta/packages/linux-hotplug/linux-hotplug_20040920.bb
@@ -0,0 +1,73 @@
+DESCRIPTION = "This package contains the scripts necessary \
+for hotplug Linux support, and lets you plug in new devices \
+and use them immediately."
+HOMEPAGE = "http://linux-hotplug.sourceforge.net/"
+LICENSE = "GPL"
+RPROVIDES_${PN} = "hotplug"
+RCONFLICTS_${PN} = "hotplug"
+RREPLACES_${PN} = "hotplug"
+SECTION = "base"
+RSUGGESTS = "pciutils usbutils"
+PR = "r8"
+
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/hotplug-2004_09_20.tar.gz \
+ file://userspecified_hcd.patch;patch=1 \
+ file://hotplug-net-agent-usb.patch;patch=1 \
+ file://usbrc-busybox.patch;patch=1 \
+ file://fix-net.agent \
+ file://update-usb.usermap \
+ file://logcheck-ignore \
+ file://sleeve.agent \
+ file://sleeve.rc \
+ file://mmc.agent \
+ file://usbd.agent \
+ file://usbd \
+ file://sysconfig-hotplug \
+ file://sysconfig-usb \
+ file://isapnp-exit.diff;patch=1 \
+ file://usb-storage \
+ file://soc.agent"
+
+SRC_URI_append_openzaurus = " file://quiet-pci.patch;patch=1"
+
+S = "${WORKDIR}/hotplug-2004_09_20"
+
+INITSCRIPT_NAME = "hotplug"
+INITSCRIPT_PARAMS = "start 40 S . stop 89 0 6 ."
+
+inherit update-rc.d
+
+do_compile () {
+ :
+}
+
+oldmandir := "${mandir}"
+oldsbindir := "${sbindir}"
+prefix = ""
+exec_prefix = ""
+FILES_${PN} += "${oldsbindir}"
+FILES_${PN}-doc += "${oldmandir}"
+
+export DEBFIX = "sed -e 's:sysconfig/usb:default/hotplug.usb:'"
+do_install () {
+ install -d ${D}${sysconfdir}/logcheck/ignore.d
+ install -d ${D}${oldmandir}
+ install -d ${D}${oldsbindir}
+ #install -d ${D}${sysconfdir}/default
+ oe_runmake prefix=${D}${prefix} exec_prefix=${D}${exec_prefix} \
+ etcdir=${D}${sysconfdir} sbindir=${D}${sbindir} \
+ mandir=${D}${oldmandir} INSTALL=install install
+ sh ${WORKDIR}/fix-net.agent ${D} || :
+ install -m 0755 ${WORKDIR}/update-usb.usermap ${D}${oldsbindir}/
+ install -m 0644 ${WORKDIR}/logcheck-ignore ${D}${sysconfdir}/logcheck/ignore.d/hotplug
+ install -m 0755 ${WORKDIR}/sleeve.agent ${D}${sysconfdir}/hotplug/
+ install -m 0755 ${WORKDIR}/sleeve.rc ${D}${sysconfdir}/hotplug/
+ install -m 0755 ${WORKDIR}/mmc.agent ${D}${sysconfdir}/hotplug/
+ install -m 0755 ${WORKDIR}/usbd.agent ${D}${sysconfdir}/hotplug/
+ install -m 0755 ${WORKDIR}/soc.agent ${D}${sysconfdir}/hotplug/
+ #install -m 0755 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd
+ install -d ${D}${sysconfdir}/sysconfig
+ install -m 0644 ${WORKDIR}/sysconfig-hotplug ${D}${sysconfdir}/sysconfig/hotplug
+ install -m 0644 ${WORKDIR}/sysconfig-usb ${D}${sysconfdir}/sysconfig/usb
+ install -m 0755 ${WORKDIR}/usb-storage ${D}${sysconfdir}/hotplug/usb
+}
diff --git a/meta/packages/linux-libc-headers/files/keyboard.patch b/meta/packages/linux-libc-headers/files/keyboard.patch
new file mode 100644
index 0000000000..7df00418b1
--- /dev/null
+++ b/meta/packages/linux-libc-headers/files/keyboard.patch
@@ -0,0 +1,78 @@
+--- kernel/include/linux/keyboard.h 2004-01-17 23:04:30.000000000 +0000
++++ kernel/include/linux/keyboard.h 2004-08-30 12:49:41.000000000 +0100
+@@ -37,6 +44,8 @@
+ #define KT_ASCII 9
+ #define KT_LOCK 10
+ #define KT_SLOCK 12
++#define KT_X 13 /* A few useful symbols from the base X Keysym set, that go with... */
++#define KT_XF 14 /* The XFree86 Internet multimedia and PDA keyboard symbols */
+
+ #define K(t,v) (((t)<<8)|(v))
+ #define KTYP(x) ((x) >> 8)
+@@ -421,4 +430,66 @@
+ #define NR_LOCK 8
+
+ #define MAX_DIACR 256
++
++/*
++ * modifications to this section of this list should be coordinated with
++ * the X Window System keysym list; life is much easier that way
++ *
++ */
++
++/* These don't correspond identically. */
++#define K_XMENU K(KT_X, 0x1)
++#define K_XTELEPHONE K(KT_X, 0x2)
++
++/*
++ * XFree86 vendor specific keysyms.
++ *
++ * These map to XFree86 X keysym range is 0x1008FF01 - 0x1008FFFF;
++ * for simplicity's sake, we'll define a simple identity mapping for these.
++ *
++ * Please coordinate changes here with XFree86.org, so this simple
++ * identity mapping can be maintained (and old code "just works").
++ *
++ * Keys found on some "Internet" keyboards.
++ */
++#define K_XFSTANDBY K(KT_XF,0x10)
++#define K_XFAUDIOLOWERVOLUME K(KT_XF,0x11)
++#define K_XFAUDIOMUTE K(KT_XF,0x12)
++#define K_XFAUDIORAISEVOLUME K(KT_XF,0x13)
++#define K_XFAUDIOPLAY K(KT_XF,0x14)
++#define K_XFAUDIOSTOP K(KT_XF,0x15)
++#define K_XFAUDIOPREV K(KT_XF,0x16)
++#define K_XFAUDIONEXT K(KT_XF,0x17)
++#define K_XFHOMEPAGE K(KT_XF,0x18)
++#define K_XFMAIL K(KT_XF,0x19)
++#define K_XFSTART K(KT_XF,0x1A)
++#define K_XFSEARCH K(KT_XF,0x1B)
++#define K_XFAUDIORECORD K(KT_XF,0x1C)
++
++/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
++#define K_XFCALCULATOR K(KT_XF,0x1D)
++#define K_XFMEMO K(KT_XF,0x1E)
++#define K_XFTODOLIST K(KT_XF,0x1F)
++#define K_XFCALENDAR K(KT_XF,0x20)
++#define K_XFPOWERDOWN K(KT_XF,0x21)
++#define K_XFCONTRASTADJUST K(KT_XF,0x22)
++#define K_XFROCKERUP K(KT_XF,0x23)
++#define K_XFROCKERDOWN K(KT_XF,0x24)
++#define K_XFROCKERENTER K(KT_XF,0x25)
++
++/* Some more "Internet" keyboard symbols */
++#define K_XFBACK K(KT_XF,0x26)
++#define K_XFFORWARD K(KT_XF,0x27)
++#define K_XFSTOP K(KT_XF,0x28)
++#define K_XFREFRESH K(KT_XF,0x29)
++
++/* Some more ... */
++#define K_XFFAVORITES K(KT_XF,0x30)
++#define K_XFAUDIOPAUSE K(KT_XF,0x31)
++#define K_XFAUDIOMEDIA K(KT_XF,0x32)
++#define K_XFMYCOMPUTER K(KT_XF,0x33)
++#define K_XFVENDORHOME K(KT_XF,0x34)
++#define K_XFLIGHTBULB K(KT_XF,0x35)
++#define K_XFSHOP K(KT_XF,0x36)
++
+ #endif
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/3477-1.patch b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/3477-1.patch
new file mode 100644
index 0000000000..1b207b3cd9
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/3477-1.patch
@@ -0,0 +1,43 @@
+From: Nicolas Pitre <nico@cam.org>
+Date: Sat, 15 Apr 2006 15:10:43 +0000 (+0100)
+Subject: [ARM] 3477/1: ARM EABI: undefine removed syscalls
+X-Git-Url: http://git.infradead.org/?p=mtd-2.6.git;a=commitdiff;h=463b158aab247b600e4e93614b7b8f42a66331c9
+
+[ARM] 3477/1: ARM EABI: undefine removed syscalls
+
+Patch from Nicolas Pitre
+
+Avoid confusion for libraries assuming that a given syscall is available
+when corresponding symbol is defined.
+
+Signed-off-by: Nicolas Pitre <nico@cam.org>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+
+--- a/include/asm-arm/unistd.h
++++ b/include/asm-arm/unistd.h
+@@ -360,6 +360,24 @@
+ #define __ARM_NR_usr32 (__ARM_NR_BASE+4)
+ #define __ARM_NR_set_tls (__ARM_NR_BASE+5)
+
++/*
++ * The following syscalls are obsolete and no longer available for EABI.
++ */
++#if defined(__ARM_EABI__)
++#undef __NR_time
++#undef __NR_umount
++#undef __NR_stime
++#undef __NR_alarm
++#undef __NR_utime
++#undef __NR_getrlimit
++#undef __NR_select
++#undef __NR_readdir
++#undef __NR_mmap
++#undef __NR_socketcall
++#undef __NR_syscall
++#undef __NR_ipc
++#endif
++
+ #define __sys2(x) #x
+ #define __sys1(x) __sys2(x)
+
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/asm-arch-irqs.patch b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/asm-arch-irqs.patch
new file mode 100644
index 0000000000..4785275db4
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/asm-arch-irqs.patch
@@ -0,0 +1,19 @@
+--- linux-libc-headers-2.6.15.99/include/asm-arm/arch-ebsa285/irqs.h.orig 2006-03-19 17:01:59.000000000 +0100
++++ linux-libc-headers-2.6.15.99/include/asm-arm/arch-ebsa285/irqs.h 2006-03-19 17:02:50.000000000 +0100
+@@ -8,7 +8,6 @@
+ * 20-Jan-1998 RMK Started merge of EBSA286, CATS and NetWinder
+ * 01-Feb-1999 PJB ISA IRQs start at 0 not 16
+ */
+-#include <asm/mach-types.h>
+
+ #define NR_IRQS 36
+ #define NR_DC21285_IRQS 16
+@@ -92,7 +91,7 @@
+ #undef RTC_IRQ
+ #define RTC_IRQ IRQ_ISA_RTC_ALARM
+ #define I8042_KBD_IRQ IRQ_ISA_KEYBOARD
+-#define I8042_AUX_IRQ (machine_is_netwinder() ? IRQ_NETWINDER_PS2MOUSE : IRQ_ISA_PS2MOUSE)
++#define I8042_AUX_IRQ IRQ_ISA_PS2MOUSE
+ #define IRQ_FLOPPYDISK IRQ_ISA_FLOPPY
+
+ #define irq_canonicalize(_i) (((_i) == IRQ_ISA_CASCADE) ? IRQ_ISA_2 : _i)
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-netdevice.patch b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-netdevice.patch
new file mode 100644
index 0000000000..588aea4ba8
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-netdevice.patch
@@ -0,0 +1,11 @@
+--- linux-libc-headers-2.6.15.99/include/linux/netdevice.h.orig 2006-04-29 14:10:39.245687500 +0200
++++ linux-libc-headers-2.6.15.99/include/linux/netdevice.h 2006-04-29 14:11:08.819535750 +0200
+@@ -100,8 +100,6 @@
+ unsigned long tx_compressed;
+ };
+
+-extern int __init netdev_boot_setup(char *str);
+-
+ /* Media selection options. */
+ enum {
+ IF_PORT_UNKNOWN = 0,
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-netfilter_ipv4.patch b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-netfilter_ipv4.patch
new file mode 100644
index 0000000000..f7f77af0de
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-netfilter_ipv4.patch
@@ -0,0 +1,31 @@
+iptables 1.3.3 assumes that ipt_scpt.h defines ELEMCOUNT, but ipt_scpt.h
+moved to ARRAY_SIZE (which would be defined in linux/kernel.h).
+The ip_conntrack_dir definition now resides in linux/netfilter/ip_conntrack_common.h
+
+--- linux-libc-headers-2.6.15.99/include/linux/netfilter_ipv4/ipt_sctp.h.orig 2006-03-20 22:03:04.000000000 +0100
++++ linux-libc-headers-2.6.15.99/include/linux/netfilter_ipv4/ipt_sctp.h 2006-03-20 22:07:09.000000000 +0100
+@@ -7,6 +7,8 @@
+
+ #define IPT_SCTP_VALID_FLAGS 0x07
+
++#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
++#define ELEMCOUNT(x) (sizeof(x) / sizeof((x)[0]))
+
+ struct ipt_sctp_flag_info {
+ u_int8_t chunktype;
+--- linux-libc-headers-2.6.15.99/include/linux/netfilter_ipv4/ip_conntrack_tuple.h.orig 2006-03-20 21:51:10.000000000 +0100
++++ linux-libc-headers-2.6.15.99/include/linux/netfilter_ipv4/ip_conntrack_tuple.h 2006-03-20 21:51:12.000000000 +0100
+@@ -89,13 +89,6 @@
+ (tuple)->dst.u.all = 0; \
+ } while (0)
+
+-enum ip_conntrack_dir
+-{
+- IP_CT_DIR_ORIGINAL,
+- IP_CT_DIR_REPLY,
+- IP_CT_DIR_MAX
+-};
+-
+ static inline int ip_ct_tuple_src_equal(const struct ip_conntrack_tuple *t1,
+ const struct ip_conntrack_tuple *t2)
+ {
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-rtc.patch b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-rtc.patch
new file mode 100644
index 0000000000..36b80fb9d2
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-rtc.patch
@@ -0,0 +1,11 @@
+--- linux-libc-headers-2.6.15.99/include/linux/rtc.h.orig 2006-03-19 12:31:07.000000000 +0100
++++ linux-libc-headers-2.6.15.99/include/linux/rtc.h 2006-03-19 12:31:14.000000000 +0100
+@@ -11,8 +11,6 @@
+ #ifndef _LINUX_RTC_H_
+ #define _LINUX_RTC_H_
+
+-#include <linux/interrupt.h>
+-
+ /*
+ * The struct used to pass data via the following ioctl. Similar to the
+ * struct tm in <time.h>, but it needs to be here so that the kernel
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-videodev2.patch b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-videodev2.patch
new file mode 100644
index 0000000000..95335c99b6
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers-2.6.15.99/linux-videodev2.patch
@@ -0,0 +1,45 @@
+--- linux-libc-headers-2.6.15.99/include/linux/videodev2.h.orig 2006-03-20 11:14:35.000000000 +0100
++++ linux-libc-headers-2.6.15.99/include/linux/videodev2.h 2006-03-20 11:14:37.000000000 +0100
+@@ -15,7 +15,32 @@
+ */
+ #include <sys/time.h> /* need struct timeval */
+ #include <asm/types.h> /* needed __u64 */
+-
++
++#define OBSOLETE_OWNER 1 /* It will be removed for 2.6.15 */
++#define HAVE_V4L2 1
++
++/*
++ * Common stuff for both V4L1 and V4L2
++ * Moved from videodev.h
++ */
++
++#define VIDEO_MAX_FRAME 32
++
++#define VID_TYPE_CAPTURE 1 /* Can capture */
++#define VID_TYPE_TUNER 2 /* Can tune */
++#define VID_TYPE_TELETEXT 4 /* Does teletext */
++#define VID_TYPE_OVERLAY 8 /* Overlay onto frame buffer */
++#define VID_TYPE_CHROMAKEY 16 /* Overlay by chromakey */
++#define VID_TYPE_CLIPPING 32 /* Can clip */
++#define VID_TYPE_FRAMERAM 64 /* Uses the frame buffer memory */
++#define VID_TYPE_SCALES 128 /* Scalable */
++#define VID_TYPE_MONOCHROME 256 /* Monochrome only */
++#define VID_TYPE_SUBCAPTURE 512 /* Can capture subareas of the image */
++#define VID_TYPE_MPEG_DECODER 1024 /* Can decode MPEG streams */
++#define VID_TYPE_MPEG_ENCODER 2048 /* Can encode MPEG streams */
++#define VID_TYPE_MJPEG_DECODER 4096 /* Can decode MJPEG streams */
++#define VID_TYPE_MJPEG_ENCODER 8192 /* Can encode MJPEG streams */
++
+ /*
+ * M I S C E L L A N E O U S
+ */
+@@ -464,7 +489,7 @@
+ struct v4l2_clip
+ {
+ struct v4l2_rect c;
+- struct v4l2_clip __user *next;
++ struct v4l2_clip *next;
+ };
+
+ struct v4l2_window
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.11.1.bb b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.11.1.bb
new file mode 100644
index 0000000000..2f471223e6
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.11.1.bb
@@ -0,0 +1,65 @@
+SECTION = "devel"
+DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use."
+HOMEPAGE = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/"
+# license note from the package:
+# Linux-libc-headers are derived from linux kernel headers. For license of a
+# particular header, check it's content, and if copyright notice isn't present,
+# standard linux kernel license applies.
+# since we assume GPL for linux i think we can also assume it here
+LICENSE = "GPL"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+INHIBIT_DEFAULT_DEPS = "1"
+PR = "r2"
+
+SRC_URI = "http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-${PV}.tar.bz2 \
+ file://keyboard.patch;patch=1"
+
+S = "${WORKDIR}/linux-libc-headers-${PV}"
+
+do_configure () {
+ case ${TARGET_ARCH} in
+ alpha*) ARCH=alpha ;;
+ arm*) ARCH=arm ;;
+ cris*) ARCH=cris ;;
+ hppa*) ARCH=parisc ;;
+ i*86*) ARCH=i386 ;;
+ ia64*) ARCH=ia64 ;;
+ mips*) ARCH=mips ;;
+ m68k*) ARCH=m68k ;;
+ powerpc*) ARCH=ppc ;;
+ s390*) ARCH=s390 ;;
+ sh*) ARCH=sh ;;
+ sparc64*) ARCH=sparc64 ;;
+ sparc*) ARCH=sparc ;;
+ x86_64*) ARCH=x86_64 ;;
+ esac
+ if test ! -e include/asm-$ARCH; then
+ oefatal unable to create asm symlink in kernel headers
+ fi
+ cp -pPR "include/asm-$ARCH" "include/asm"
+ if test "$ARCH" = "arm"; then
+ cp -pPR include/asm/arch-ebsa285 include/asm/arch
+ elif test "$ARCH" = "sh"; then
+ cp -pPR include/asm/cpu-${TARGET_ARCH} include/asm/cpu || die "unable to create include/asm/cpu"
+ cp -pPR include/asm/cpu/* include/asm
+ fi
+}
+
+do_stage () {
+ install -d ${STAGING_INCDIR}
+ rm -rf ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm
+ cp -pfLR include/linux ${STAGING_INCDIR}/
+ cp -pfLR include/asm ${STAGING_INCDIR}/
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/linux
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/asm
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include
+ cp -pfLR include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
+ cp -pfLR include/asm ${CROSS_DIR}/${TARGET_SYS}/include/
+}
+
+do_install() {
+ install -d ${D}${includedir}
+ cp -pfLR include/linux ${D}${includedir}/
+ cp -pfLR include/asm ${D}${includedir}/
+}
+
diff --git a/meta/packages/linux-libc-headers/linux-libc-headers_2.6.15.99.bb b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.15.99.bb
new file mode 100644
index 0000000000..28926f0264
--- /dev/null
+++ b/meta/packages/linux-libc-headers/linux-libc-headers_2.6.15.99.bb
@@ -0,0 +1,80 @@
+SECTION = "devel"
+DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use."
+# This package is derived from the original linux-libc-headers at
+# http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
+# More specifically, llh-2.6.12.0 was patched up to 2.6.16-rc6 with
+# the official linux patches (where applicable) and then fixed up just
+# enough to build glibc-2.4. BEWARE!
+#
+# license note from the linux-libc-headers package:
+# Linux-libc-headers are derived from linux kernel headers. For license of a
+# particular header, check it's content, and if copyright notice isn't present,
+# standard linux kernel license applies.
+# since we assume GPL for linux i think we can also assume it here
+LICENSE = "GPL"
+DEFAULT_PREFERENCE = "-1"
+INHIBIT_DEFAULT_DEPS = "1"
+PR = "r4"
+
+SRC_URI = "http://ewi546.ewi.utwente.nl/OE/eabi/linux-libc-headers-${PV}.tar.bz2 \
+ file://keyboard.patch;patch=1 \
+ file://asm-arch-irqs.patch;patch=1 \
+ file://linux-netdevice.patch;patch=1 \
+ file://linux-netfilter_ipv4.patch;patch=1 \
+ file://linux-rtc.patch;patch=1 \
+ file://linux-videodev2.patch;patch=1 \
+ file://3477-1.patch;patch=1"
+
+S = "${WORKDIR}/linux-libc-headers-${PV}"
+
+do_configure () {
+ case ${TARGET_ARCH} in
+ alpha*) ARCH=alpha ;;
+ arm*) ARCH=arm ;;
+ cris*) ARCH=cris ;;
+ hppa*) ARCH=parisc ;;
+ i*86*) ARCH=i386 ;;
+ ia64*) ARCH=ia64 ;;
+ mips*) ARCH=mips ;;
+ m68k*) ARCH=m68k ;;
+ powerpc*) ARCH=ppc ;;
+ s390*) ARCH=s390 ;;
+ sh*) ARCH=sh ;;
+ sparc64*) ARCH=sparc64 ;;
+ sparc*) ARCH=sparc ;;
+ x86_64*) ARCH=x86_64 ;;
+ esac
+ if test ! -e include/asm-$ARCH; then
+ oefatal unable to create asm symlink in kernel headers
+ fi
+ rm "include/asm"
+ cp -pPR "include/asm-$ARCH" "include/asm"
+ if test "$ARCH" = "arm"; then
+ cp -pPR include/asm/arch-ebsa285 include/asm/arch
+ elif test "$ARCH" = "sh"; then
+ cp -pPR include/asm/cpu-${TARGET_ARCH} include/asm/cpu || die "unable to create include/asm/cpu"
+ fi
+}
+
+do_stage () {
+ install -d ${STAGING_INCDIR}
+ rm -rf ${STAGING_INCDIR}/linux ${STAGING_INCDIR}/asm ${STAGING_INCDIR}/asm-generic
+ cp -pfLR include/linux ${STAGING_INCDIR}/
+ cp -pfLR include/asm ${STAGING_INCDIR}/
+ cp -pfLR include/asm-generic ${STAGING_INCDIR}/
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/linux
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/asm
+ rm -rf ${CROSS_DIR}/${TARGET_SYS}/include/asm-generic
+ install -d ${CROSS_DIR}/${TARGET_SYS}/include
+ cp -pfLR include/linux ${CROSS_DIR}/${TARGET_SYS}/include/
+ cp -pfLR include/asm ${CROSS_DIR}/${TARGET_SYS}/include/
+ cp -pfLR include/asm-generic ${CROSS_DIR}/${TARGET_SYS}/include/
+}
+
+do_install() {
+ install -d ${D}${includedir}
+ cp -pfLR include/linux ${D}${includedir}/
+ cp -pfLR include/asm ${D}${includedir}/
+ cp -pfLR include/asm-generic ${D}${includedir}/
+}
+
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch b/meta/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch
new file mode 100644
index 0000000000..b4a33e2cf7
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-2.6.17/add_2700g_plat-r0.patch
@@ -0,0 +1,126 @@
+Index: linux-2.6.17/arch/arm/mach-pxa/cm-x270.c
+===================================================================
+--- linux-2.6.17.orig/arch/arm/mach-pxa/cm-x270.c 2006-07-18 15:40:10.000000000 +0100
++++ linux-2.6.17/arch/arm/mach-pxa/cm-x270.c 2006-07-20 20:25:22.000000000 +0100
+@@ -11,6 +11,7 @@
+ #include <linux/pm.h>
+ #include <linux/fb.h>
+ #include <linux/rtc-v3020.h>
++#include <linux/mbxfb.h>
+
+ #include <asm/types.h>
+ #include <asm/setup.h>
+@@ -396,10 +397,113 @@
+ .resource = dm9000_resources,
+ };
+
++/* 2700G graphics */
++static u64 fb_dma_mask = ~(u64)0;
++
++static struct resource cmx270_2700G_resource[] = {
++ /* frame buffer memory including ODFB and External SDRAM */
++ [0] = {
++ .start = MARATHON_PHYS,
++ .end = MARATHON_PHYS + 0x02000000,
++ .flags = IORESOURCE_MEM,
++ },
++ /* Marathon registers */
++ [1] = {
++ .start = MARATHON_PHYS + 0x03fe0000,
++ .end = MARATHON_PHYS + 0x03ffffff,
++ .flags = IORESOURCE_MEM,
++ },
++};
++
++static unsigned long save_lcd_regs[10];
++
++/* if 2700G is used, disable PCI throttle */
++#define LB_TROTTLE_OFF (PXA_CS1_PHYS | (1 << 25))
++#define LB_TROTTLE_MAX (PXA_CS1_PHYS | (1 << 25) | (1 << 22))
++static int cmx270_marathon_probe(struct fb_info *fb)
++{
++ volatile unsigned long *cpld;
++
++ cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_OFF, 4);
++ if ( !cpld ) {
++ return -ENODEV;
++ }
++ *cpld = 0;
++ iounmap((void*)cpld);
++
++ /* save PXA-270 pin settings before enabling 2700G */
++ save_lcd_regs[0] = GPDR1;
++ save_lcd_regs[1] = GPDR2;
++ save_lcd_regs[2] = GAFR1_U;
++ save_lcd_regs[3] = GAFR2_L;
++ save_lcd_regs[4] = GAFR2_U;
++
++ /* Disable PXA-270 on-chip controller driving pins */
++ GPDR1 &= ~(0xfc000000);
++ GPDR2 &= ~(0x00c03fff);
++ GAFR1_U &= ~(0xfff00000);
++ GAFR2_L &= ~(0x0fffffff);
++ GAFR2_U &= ~(0x0000f000);
++ return 0;
++}
++
++static int cmx270_marathon_remove(struct fb_info *fb)
++{
++ volatile unsigned long *cpld;
++ cpld = (volatile unsigned long*)ioremap(LB_TROTTLE_MAX, 4);
++
++ if ( !cpld ) {
++ return -ENODEV;
++ }
++ *cpld = 0;
++ iounmap((void*)cpld);
++
++ GPDR1 = save_lcd_regs[0];
++ GPDR2 = save_lcd_regs[1];
++ GAFR1_U = save_lcd_regs[2];
++ GAFR2_L = save_lcd_regs[3];
++ GAFR2_U = save_lcd_regs[4];
++ return 0;
++}
++
++static struct mbxfb_platform_data cmx270_2700G_data = {
++ .xres = {
++ .min = 240,
++ .max = 1200,
++ .defval = 640,
++ },
++ .yres = {
++ .min = 240,
++ .max = 1200,
++ .defval = 480,
++ },
++ .bpp = {
++ .min = 16,
++ .max = 32,
++ .defval = 16,
++ },
++ .memsize = 8*1024*1024,
++ .probe = cmx270_marathon_probe,
++ .remove = cmx270_marathon_remove,
++};
++
++static struct platform_device cmx270_2700G = {
++ .name = "mbx-fb",
++ .dev = {
++ .platform_data = &cmx270_2700G_data,
++ .dma_mask = &fb_dma_mask,
++ .coherent_dma_mask = 0xffffffff,
++ },
++ .num_resources = ARRAY_SIZE(cmx270_2700G_resource),
++ .resource = cmx270_2700G_resource,
++ .id = -1,
++};
++
+ static struct platform_device *platform_devices[] __initdata = {\
+ &cmx270_audio_device,
+ &v3020_rtc_device,
+ &dm9000_device,
++ &cmx270_2700G,
+ };
+
+ static int cmx270_ohci_init(struct device *dev)
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch b/meta/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch
new file mode 100644
index 0000000000..d33f4522f8
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-2.6.17/cm_x2xx_mbx.patch
@@ -0,0 +1,1566 @@
+ drivers/video/Kconfig | 10 +
+ drivers/video/Makefile | 1
+ drivers/video/mbx/Makefile | 3
+ drivers/video/mbx/mbxfb.c | 646 ++++++++++++++++++++++++++++++++++++++++++
+ drivers/video/mbx/mbxsysfs.c | 129 ++++++++
+ drivers/video/mbx/reg_bits.h | 489 ++++++++++++++++++++++++++++++++
+ drivers/video/mbx/regs.h | 192 ++++++++++++
+ include/linux/mbxfb.h | 28 ++
+ 8 files changed, 1498 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
+index 17de4c8..3f472d4 100644
+--- a/drivers/video/Kconfig
++++ b/drivers/video/Kconfig
+@@ -1518,6 +1518,16 @@ config FB_PXA_PARAMETERS
+
+ <file:Documentation/fb/pxafb.txt> describes the available parameters.
+
++config FB_MBX
++ tristate "2700G LCD framebuffer support"
++ depends on FB && ARCH_PXA
++ select FB_CFB_FILLRECT
++ select FB_CFB_COPYAREA
++ select FB_CFB_IMAGEBLIT
++ ---help---
++
++ If unsure, say N.
++
+ config FB_W100
+ tristate "W100 frame buffer support"
+ depends on FB && PXA_SHARPSL
+diff --git a/drivers/video/Makefile b/drivers/video/Makefile
+index c335e9b..eabb5be 100644
+--- a/drivers/video/Makefile
++++ b/drivers/video/Makefile
+@@ -38,6 +38,7 @@ obj-$(CONFIG_FB_SIS) += sis/
+ obj-$(CONFIG_FB_KYRO) += kyro/
+ obj-$(CONFIG_FB_SAVAGE) += savage/
+ obj-$(CONFIG_FB_GEODE) += geode/
++obj-$(CONFIG_FB_MBX) += mbx/
+ obj-$(CONFIG_FB_I810) += vgastate.o
+ obj-$(CONFIG_FB_NEOMAGIC) += neofb.o vgastate.o
+ obj-$(CONFIG_FB_VIRGE) += virgefb.o
+diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile
+new file mode 100644
+index 0000000..ad042f5
+--- /dev/null
++++ b/drivers/video/mbx/Makefile
+@@ -0,0 +1,3 @@
++# Makefile for the 2700G controller driver.
++
++obj-$(CONFIG_FB_MBX) += mbxfb.o
+diff --git a/drivers/video/mbx/mbxfb.c b/drivers/video/mbx/mbxfb.c
+new file mode 100644
+index 0000000..fcf164f
+--- /dev/null
++++ b/drivers/video/mbx/mbxfb.c
+@@ -0,0 +1,646 @@
++/*
++ * linux/drivers/video/mbx/mbxfb.c
++ *
++ * Copyright (C) 2006 Compulab, Ltd.
++ * Mike Rapoport <mike@compulab.co.il>
++ *
++ * Based on pxafb.c
++ *
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License. See the file COPYING in the main directory of this archive for
++ * more details.
++ *
++ * Intel 2700G (Marathon) Graphics Accelerator Frame Buffer Driver
++ *
++ */
++
++#include <linux/config.h>
++#include <linux/module.h>
++#include <linux/fb.h>
++#include <linux/delay.h>
++#include <linux/init.h>
++#include <linux/platform_device.h>
++#include <linux/mbxfb.h>
++
++#include <asm/io.h>
++
++/* use defines from asm-arm/arch-pxa/bitfields.h for now */
++/* review (and maybe rework) all bitfields access later */
++#define UData(Data) ((unsigned long) (Data))
++#define Fld(Size, Shft) (((Size) << 16) + (Shft))
++#define FSize(Field) ((Field) >> 16)
++#define FShft(Field) ((Field) & 0x0000FFFF)
++#define FMsk(Field) (((UData (1) << FSize (Field)) - 1) << FShft (Field))
++#define FAlnMsk(Field) ((UData (1) << FSize (Field)) - 1)
++#define F1stBit(Field) (UData (1) << FShft (Field))
++
++static unsigned long virt_base_2700;
++#include "regs.h"
++#include "reg_bits.h"
++
++#define MIN_XRES 16
++#define MIN_YRES 16
++#define MAX_XRES 2048
++#define MAX_YRES 2048
++
++/* FIXME: take care of different chip reivsions with different sizes
++ of ODFB */
++#define MEMORY_OFFSET 0x60000
++
++struct mbxfb_info {
++ struct device *dev;
++
++ struct resource *fb_res;
++ struct resource *fb_req;
++
++ struct resource *reg_res;
++ struct resource *reg_req;
++
++ void __iomem *fb_virt_addr;
++ unsigned long fb_phys_addr;
++
++ void __iomem *reg_virt_addr;
++ unsigned long reg_phys_addr;
++
++ int (*platform_probe)(struct fb_info *fb);
++ int (*platform_remove)(struct fb_info *fb);
++};
++
++static struct fb_var_screeninfo mbxfb_default = {
++ .xres = 640,
++ .yres = 480,
++ .xres_virtual = 640,
++ .yres_virtual = 480,
++ .bits_per_pixel = 16,
++ .red = { 11, 5, 0 },
++ .green = { 5, 6, 0 },
++ .blue = { 0, 5, 0 },
++ .activate = FB_ACTIVATE_TEST,
++ .height = -1,
++ .width = -1,
++ .pixclock = 40000,
++ .left_margin = 48,
++ .right_margin = 16,
++ .upper_margin = 33,
++ .lower_margin = 10,
++ .hsync_len = 96,
++ .vsync_len = 2,
++ .vmode = FB_VMODE_NONINTERLACED,
++ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
++};
++
++static struct fb_fix_screeninfo mbxfb_fix = {
++ .id = "MBX",
++ .type = FB_TYPE_PACKED_PIXELS,
++ .visual = FB_VISUAL_TRUECOLOR,
++ .xpanstep = 0,
++ .ypanstep = 0,
++ .ywrapstep = 0,
++ .accel = FB_ACCEL_NONE,
++};
++
++struct pixclock_div {
++ u8 m;
++ u8 n;
++ u8 p;
++};
++
++static unsigned int mbxfb_get_pixclock(unsigned int pixclock_ps, struct pixclock_div *div)
++{
++ u8 m, n, p;
++ unsigned int err = 0;
++ unsigned int min_err = ~0x0;
++ unsigned int clk;
++ unsigned int best_clk = 0;
++ unsigned int ref_clk = 13000; /* FIXME: take from platform data */
++ unsigned int pixclock;
++
++ /* convert pixclock to KHz */
++ pixclock = PICOS2KHZ(pixclock_ps);
++
++ for ( m = 1; m < 64; m++ ) {
++ for ( n = 1; n < 8; n++ ) {
++ for ( p = 0; p < 8; p++ ) {
++ clk = (ref_clk * m) / (n * (1 << p));
++ err = (clk > pixclock) ? (clk - pixclock) :
++ (pixclock - clk);
++ if ( err < min_err ) {
++ min_err = err;
++ best_clk = clk;
++ div->m = m;
++ div->n = n;
++ div->p = p;
++ }
++ }
++ }
++ }
++ return KHZ2PICOS(best_clk);
++}
++
++static int
++mbxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
++ u_int trans, struct fb_info *info)
++{
++ uint val, ret = 1;
++
++ if ( regno < 255 ) {
++ val = (red & 0xff) << 16;
++ val |= (green & 0xff) << 8;
++ val |= (blue & 0xff) << 0;
++ GPLUT = Gplut_Lutadr(regno) | Gplut_Lutdata(val);
++ udelay(1000);
++ ret = 0;
++ }
++ return ret;
++}
++
++static int mbxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
++{
++ struct pixclock_div div;
++
++ var->pixclock = mbxfb_get_pixclock(var->pixclock, &div);
++
++ if (var->xres < MIN_XRES)
++ var->xres = MIN_XRES;
++ if (var->yres < MIN_YRES)
++ var->yres = MIN_YRES;
++ if (var->xres > MAX_XRES)
++ var->xres = MAX_XRES;
++ if (var->yres > MAX_YRES)
++ var->yres = MAX_YRES;
++ var->xres_virtual =
++ max(var->xres_virtual, var->xres);
++ var->yres_virtual =
++ max(var->yres_virtual, var->yres);
++
++ switch (var->bits_per_pixel) {
++ /* FIXME: implement 8 bits-per-pixel */
++ case 8:
++ var->bits_per_pixel = 16;
++ case 16:
++ var->green.length = (var->green.length == 5) ? 5 : 6;
++ var->red.length = 5;
++ var->blue.length = 5;
++ var->transp.length = 6 - var->green.length;
++ var->blue.offset = 0;
++ var->green.offset = 5;
++ var->red.offset = 5 + var->green.length;
++ var->transp.offset = (5 + var->red.offset) & 15;
++ break;
++ case 24: /* RGB 888 */
++ case 32: /* RGBA 8888 */
++ var->red.offset = 16;
++ var->red.length = 8;
++ var->green.offset = 8;
++ var->green.length = 8;
++ var->blue.offset = 0;
++ var->blue.length = 8;
++ var->transp.length = var->bits_per_pixel - 24;
++ var->transp.offset = (var->transp.length) ? 24 : 0;
++ break;
++ }
++ var->red.msb_right = 0;
++ var->green.msb_right = 0;
++ var->blue.msb_right = 0;
++ var->transp.msb_right = 0;
++
++ return 0;
++}
++
++static int mbxfb_set_par(struct fb_info *info)
++{
++ struct fb_var_screeninfo *var = &info->var;
++ struct pixclock_div div;
++ ushort hbps, ht, hfps, has;
++ ushort vbps, vt, vfps, vas;
++
++ info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8;
++
++ /* setup color mode */
++ GSCTRL &= ~(FMsk(GSCTRL_GPIXFMT));
++ /* FIXME: add *WORKING* support for 8-bits per color */
++ if ( info->var.bits_per_pixel == 8 ) {
++ GSCTRL |= GSCTRL_GPIXFMT_INDEXED;
++ GSCTRL |= GSCTRL_LUT_EN;
++ GSCTRL &= ~GSCTRL_GAMMA_EN;
++ info->fix.visual = FB_VISUAL_PSEUDOCOLOR;
++ fb_alloc_cmap(&info->cmap, 1<<info->var.bits_per_pixel, 0);
++ }
++ else {
++ fb_dealloc_cmap(&info->cmap);
++ GSCTRL &= ~GSCTRL_LUT_EN;
++ info->fix.visual = FB_VISUAL_TRUECOLOR;
++ switch ( info->var.bits_per_pixel ) {
++ case 16:
++ if ( info->var.green.length == 5 )
++ GSCTRL |= GSCTRL_GPIXFMT_ARGB1555;
++ else
++ GSCTRL |= GSCTRL_GPIXFMT_RGB565;
++ break;
++ case 24:
++ GSCTRL |= GSCTRL_GPIXFMT_RGB888;
++ break;
++ case 32:
++ GSCTRL |= GSCTRL_GPIXFMT_ARGB8888;
++ break;
++ }
++ }
++
++ /* setup resolution */
++ GSCTRL &= ~(FMsk(GSCTRL_GSWIDTH) | FMsk(GSCTRL_GSHEIGHT));
++ GSCTRL |= Gsctrl_Width(info->var.xres - 1) |
++ Gsctrl_Height(info->var.yres - 1);
++
++ GSADR &= ~(FMsk(GSADR_SRCSTRIDE)); udelay(1000);
++ GSADR |= Gsadr_Srcstride(info->var.xres * info->var.bits_per_pixel / (8 * 16) - 1); udelay(1000);
++
++ /* setup timings */
++ var->pixclock = mbxfb_get_pixclock(info->var.pixclock, &div);
++
++ DISPPLL = Disp_Pll_M(div.m) | Disp_Pll_N(div.n) | Disp_Pll_P(div.p) | DISP_PLL_EN;
++
++ hbps = var->hsync_len;
++ has = hbps + var->left_margin;
++ hfps = has + var->xres;
++ ht = hfps + var->right_margin;
++
++ vbps = var->vsync_len;
++ vas = vbps + var->upper_margin;
++ vfps = vas + var->yres;
++ vt = vfps + var->lower_margin;
++
++ DHT01 = Dht01_Hbps(hbps) | Dht01_Ht(ht);
++ DHT02 = Dht02_Hlbs(has) | Dht02_Has(has);
++ DHT03 = Dht03_Hfps(hfps) | Dht03_Hrbs(hfps);
++ DHDET = Dhdet_Hdes(has) | Dhdet_Hdef(hfps);
++
++ DVT01 = Dvt01_Vbps(vbps) | Dvt01_Vt(vt);
++ DVT02 = Dvt02_Vtbs(vas) | Dvt02_Vas(vas);
++ DVT03 = Dvt03_Vfps(vfps) | Dvt03_Vbbs(vfps);
++ DVDET = Dvdet_Vdes(vas) | Dvdet_Vdef(vfps);
++ DVECTRL = Dvectrl_Vevent(vfps) | Dvectrl_Vfetch(vbps);
++ DSCTRL |= DSCTRL_SYNCGEN_EN;
++
++ return 0;
++}
++
++static int mbxfb_blank(int blank, struct fb_info *info)
++{
++ switch (blank) {
++ case FB_BLANK_POWERDOWN:
++ case FB_BLANK_VSYNC_SUSPEND:
++ case FB_BLANK_HSYNC_SUSPEND:
++ case FB_BLANK_NORMAL:
++ DSCTRL &= ~DSCTRL_SYNCGEN_EN; udelay(1000);
++ PIXCLK &= ~PIXCLK_EN; udelay(1000);
++ VOVRCLK &= ~VOVRCLK_EN; udelay(1000);
++ break;
++ case FB_BLANK_UNBLANK:
++ DSCTRL |= DSCTRL_SYNCGEN_EN; udelay(1000);
++ PIXCLK |= PIXCLK_EN; udelay(1000);
++ break;
++ }
++ return 0;
++}
++
++static struct fb_ops mbxfb_ops = {
++ .owner = THIS_MODULE,
++ .fb_check_var = mbxfb_check_var,
++ .fb_set_par = mbxfb_set_par,
++ .fb_setcolreg = mbxfb_setcolreg,
++ .fb_fillrect = cfb_fillrect,
++ .fb_copyarea = cfb_copyarea,
++ .fb_imageblit = cfb_imageblit,
++ .fb_blank = mbxfb_blank,
++};
++
++/*
++ Enable external SDRAM controller. Assume that all clocks are active
++ by now.
++*/
++static void setup_memc(struct fb_info *fbi)
++{
++ unsigned long tmp;
++
++ /* FIXME: use platfrom specific parameters */
++ /* setup SDRAM controller */
++ LMCFG = LMCFG_LMC_DS | LMCFG_LMC_TS | LMCFG_LMD_TS | LMCFG_LMA_TS;
++ udelay(1000);
++ LMPWR = LMPWR_MC_PWR_ACT;
++ udelay(1000);
++ /* setup SDRAM timings */
++ LMTIM = Lmtim_Tras(7) | Lmtim_Trp(3) | Lmtim_Trcd(3) | Lmtim_Trc(9) |
++ Lmtim_Tdpl(2);
++ udelay(1000);
++ /* setup SDRAM refresh rate */
++ LMREFRESH = 0xc2b;
++ udelay(1000);
++ /* setup SDRAM type parameters */
++ LMTYPE = LMTYPE_CASLAT_3 | LMTYPE_BKSZ_2 | LMTYPE_ROWSZ_11 |
++ LMTYPE_COLSZ_8;
++ udelay(1000);
++ /* enable memory controller */
++ LMPWR = LMPWR_MC_PWR_ACT;
++ udelay(1000);
++
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++ tmp = *(unsigned long*)(virt_base_2700 + MEMORY_OFFSET);
++}
++
++static void enable_clocks(struct fb_info* fbi)
++{
++ /* enable clocks */
++ SYSCLKSRC = SYSCLKSRC_PLL_2; udelay(1000);
++ PIXCLKSRC = PIXCLKSRC_PLL_1; udelay(1000);
++ CLKSLEEP = 0x00000000; udelay(1000);
++ COREPLL = Core_Pll_M(0x17) | Core_Pll_N(0x3) | Core_Pll_P(0x0) | CORE_PLL_EN; udelay(1000);
++ DISPPLL = Disp_Pll_M(0x1b) | Disp_Pll_N(0x7) | Disp_Pll_P(0x1) | DISP_PLL_EN;
++
++ VOVRCLK = 0x00000000; udelay(1000);
++ PIXCLK = PIXCLK_EN; udelay(1000);
++ MEMCLK = MEMCLK_EN; udelay(1000);
++ M24CLK = 0x00000006; udelay(1000);
++ MBXCLK = 0x00000006; udelay(1000);
++ SDCLK = SDCLK_EN; udelay(1000);
++ PIXCLKDIV = 0x00000001; udelay(1000);
++}
++
++static void setup_graphics(struct fb_info* fbi)
++{
++ unsigned long gsctrl;
++
++ gsctrl = GSCTRL_GAMMA_EN | Gsctrl_Width(fbi->var.xres-1) |
++ Gsctrl_Height(fbi->var.yres-1);
++ switch ( fbi->var.bits_per_pixel ) {
++ case 16:
++ if ( fbi->var.green.length == 5 )
++ gsctrl |= GSCTRL_GPIXFMT_ARGB1555;
++ else
++ gsctrl |= GSCTRL_GPIXFMT_RGB565;
++ break;
++ case 24: gsctrl |= GSCTRL_GPIXFMT_RGB888; break;
++ case 32: gsctrl |= GSCTRL_GPIXFMT_ARGB8888; break;
++ }
++
++ GSCTRL = gsctrl; udelay(1000);
++ GBBASE = 0x00000000; udelay(1000);
++ GDRCTRL = 0x00ffffff; udelay(1000);
++ GSCADR = GSCADR_STR_EN | Gscadr_Gbase_Adr(0x6000); udelay(1000);
++ GPLUT = 0x00000000; udelay(1000);
++}
++
++static void setup_display(struct fb_info* fbi)
++{
++ unsigned long dsctrl = 0;
++
++ dsctrl = DSCTRL_BLNK_POL;
++ if ( fbi->var.sync & FB_SYNC_HOR_HIGH_ACT )
++ dsctrl |= DSCTRL_HS_POL;
++ if ( fbi->var.sync & FB_SYNC_VERT_HIGH_ACT )
++ dsctrl |= DSCTRL_VS_POL;
++ DSCTRL = dsctrl; udelay(1000);
++ DMCTRL = 0xd0303010; udelay(1000);
++ DSCTRL |= DSCTRL_SYNCGEN_EN;
++}
++
++static void enable_controller(struct fb_info* fbi)
++{
++ SYSRST = SYSRST_RST;
++ udelay(1000);
++
++ enable_clocks(fbi);
++ setup_memc(fbi);
++ setup_graphics(fbi);
++ setup_display(fbi);
++}
++
++
++#ifdef CONFIG_PM
++/*
++ * Power management hooks. Note that we won't be called from IRQ context,
++ * unlike the blank functions above, so we may sleep.
++ */
++static int mbxfb_suspend(struct platform_device *dev, pm_message_t state)
++{
++ /* make frame buffer memory enter self-refresh mode */
++ LMPWR = LMPWR_MC_PWR_SRM;
++ while ( LMPWRSTAT != LMPWRSTAT_MC_PWR_SRM );
++
++ /* reset the device, since it's initial state is 'mostly sleeping' */
++ SYSRST = SYSRST_RST;
++ return 0;
++}
++
++static int mbxfb_resume(struct platform_device *dev)
++{
++ struct fb_info *fbi = (struct fb_info*)platform_get_drvdata(dev);
++
++ enable_clocks(fbi);
++/* setup_graphics(fbi); */
++/* setup_display(fbi); */
++
++ DSCTRL |= DSCTRL_SYNCGEN_EN;
++ return 0;
++}
++#else
++#define mbxfb_suspend NULL
++#define mbxfb_resume NULL
++#endif
++
++#include "mbxsysfs.c"
++
++#define res_size(_r) (((_r)->end - (_r)->start) + 1)
++
++static int mbxfb_probe(struct platform_device *dev)
++{
++ int ret;
++ struct fb_info *fbi;
++ struct mbxfb_info *mfbi;
++ struct mbxfb_platform_data *pdata;
++
++ dev_dbg(dev, "mbxfb_probe\n");
++
++ fbi = framebuffer_alloc(sizeof(struct mbxfb_info), &dev->dev);
++ if ( fbi == NULL ) {
++ dev_err(&dev->dev, "framebuffer_alloc failed\n");
++ return -ENOMEM;
++ }
++
++ mfbi = fbi->par;
++ pdata = dev->dev.platform_data;
++ if ( pdata->probe )
++ mfbi->platform_probe = pdata->probe;
++ if ( pdata->remove )
++ mfbi->platform_remove = pdata->remove;
++
++ mfbi->fb_res = platform_get_resource(dev, IORESOURCE_MEM, 0);
++ mfbi->reg_res = platform_get_resource(dev, IORESOURCE_MEM, 1);
++
++ if ( !mfbi->fb_res || !mfbi->reg_res ) {
++ dev_err(&dev->dev, "no resources found\n");
++ ret = -ENODEV;
++ goto err1;
++ }
++
++ mfbi->fb_req = request_mem_region(mfbi->fb_res->start,
++ res_size(mfbi->fb_res),
++ dev->name);
++ if ( mfbi->fb_req == NULL ) {
++ dev_err(&dev->dev, "failed to claim framebuffer memory\n");
++ ret = -EINVAL;
++ goto err1;
++ }
++ mfbi->fb_phys_addr = mfbi->fb_res->start;
++
++ mfbi->reg_req = request_mem_region(mfbi->reg_res->start,
++ res_size(mfbi->reg_res),
++ dev->name);
++ if ( mfbi->reg_req == NULL ) {
++ dev_err(&dev->dev, "failed to claim Marathon registers\n");
++ ret = -EINVAL;
++ goto err2;
++ }
++ mfbi->reg_phys_addr = mfbi->reg_res->start;
++
++ mfbi->reg_virt_addr = ioremap_nocache(mfbi->reg_phys_addr,
++ res_size(mfbi->reg_req));
++ if ( !mfbi->reg_virt_addr ) {
++ dev_err(&dev->dev, "failed to ioremap Marathon registers\n");
++ ret = -EINVAL;
++ goto err3;
++ }
++ virt_base_2700 = (unsigned long)mfbi->reg_virt_addr;
++
++ mfbi->fb_virt_addr = ioremap_nocache(mfbi->fb_phys_addr,
++ res_size(mfbi->fb_req));
++ if ( !mfbi->reg_virt_addr ) {
++ dev_err(&dev->dev, "failed to ioremap frame buffer\n");
++ ret = -EINVAL;
++ goto err4;
++ }
++
++ fbi->screen_base = (char __iomem *)(mfbi->fb_virt_addr + 0x60000); /* FIXME: */
++ fbi->screen_size = 8*1024*1024; /* 8 Megs */ /* FIXME: get from platform */
++ fbi->fbops = &mbxfb_ops;
++
++ fbi->var = mbxfb_default;
++ fbi->fix = mbxfb_fix;
++ fbi->fix.smem_start = mfbi->fb_phys_addr + 0x60000;
++ fbi->fix.smem_len = 8*1024*1024;
++ fbi->fix.line_length = 640*2;
++
++ ret = fb_alloc_cmap(&fbi->cmap, 256, 0);
++ if (ret < 0) {
++ dev_err(&dev->dev, "fb_alloc_cmap failed\n");
++ ret = -EINVAL;
++ goto err5;
++ }
++
++ ret = register_framebuffer(fbi);
++ if (ret < 0) {
++ dev_err(&dev->dev, "register_framebuffer failed\n");
++ ret = -EINVAL;
++ goto err6;
++ }
++
++ platform_set_drvdata(dev, fbi);
++
++ printk(KERN_INFO "fb%d: mbx frame buffer device\n", fbi->node);
++
++ if ( mfbi->platform_probe )
++ mfbi->platform_probe(fbi);
++
++ enable_controller(fbi);
++
++ mbxfb_sysfs_register(fbi);
++
++ return 0;
++
++ err6:
++ fb_dealloc_cmap(&fbi->cmap);
++ err5:
++ iounmap(mfbi->fb_virt_addr);
++ err4:
++ iounmap(mfbi->reg_virt_addr);
++ err3:
++ release_mem_region(mfbi->reg_res->start,
++ res_size(mfbi->reg_res));
++ err2:
++ release_mem_region(mfbi->fb_res->start,
++ res_size(mfbi->fb_res));
++ err1:
++ framebuffer_release(fbi);
++
++ return ret;
++}
++
++static int mbxfb_remove(struct platform_device *dev)
++{
++ struct fb_info *fbi = (struct fb_info*)platform_get_drvdata(dev);
++
++ SYSRST = SYSRST_RST;
++ udelay(1000);
++
++ if (fbi) {
++ struct mbxfb_info *mfbi = fbi->par;
++
++ unregister_framebuffer(fbi);
++ if ( mfbi ) {
++ if ( mfbi->platform_remove )
++ mfbi->platform_remove(fbi);
++
++ if ( mfbi->fb_virt_addr )
++ iounmap(mfbi->fb_virt_addr);
++ if ( mfbi->reg_virt_addr )
++ iounmap(mfbi->reg_virt_addr);
++ if ( mfbi->reg_req )
++ release_mem_region(mfbi->reg_req->start,
++ res_size(mfbi->reg_req));
++ if ( mfbi->fb_req )
++ release_mem_region(mfbi->fb_req->start,
++ res_size(mfbi->fb_req));
++ }
++ framebuffer_release(fbi);
++ }
++
++ return 0;
++}
++
++static struct platform_driver mbxfb_driver = {
++ .probe = mbxfb_probe,
++ .remove = mbxfb_remove,
++
++#ifdef CONFIG_PM
++ .suspend = mbxfb_suspend,
++ .resume = mbxfb_resume,
++#endif
++ .driver = {
++ .name = "mbx-fb",
++ },
++};
++
++int __devinit mbxfb_init(void)
++{
++ return platform_driver_register(&mbxfb_driver);
++}
++
++static void __exit mbxfb_exit(void)
++{
++ platform_driver_unregister(&mbxfb_driver);
++}
++
++module_init(mbxfb_init);
++module_exit(mbxfb_exit);
++
++MODULE_DESCRIPTION("loadable framebuffer driver for Marathon device");
++MODULE_AUTHOR("Mike Rapoport, Compulab");
++MODULE_LICENSE("GPL");
+diff --git a/drivers/video/mbx/mbxsysfs.c b/drivers/video/mbx/mbxsysfs.c
+new file mode 100644
+index 0000000..4b9571a
+--- /dev/null
++++ b/drivers/video/mbx/mbxsysfs.c
+@@ -0,0 +1,129 @@
++static ssize_t sysconf_show(struct class_device * subsys, char * buf)
++{
++ char * s = buf;
++
++ s += sprintf(s, "SYSCFG = %08lx\n", SYSCFG);
++ s += sprintf(s, "PFBASE = %08lx\n", PFBASE);
++ s += sprintf(s, "PFCEIL = %08lx\n", PFCEIL);
++ s += sprintf(s, "POLLFLAG = %08lx\n", POLLFLAG);
++ s += sprintf(s, "SYSRST = %08lx\n", SYSRST);
++ return (s - buf);
++}
++
++static ssize_t sysconf_store(struct class_device * subsys, const char * buf, size_t n)
++{
++ return n;
++}
++
++static ssize_t gsctl_show(struct class_device * subsys, char * buf)
++{
++ char * s = buf;
++
++ s += sprintf(s, "GSCTRL = %08lx\n", GSCTRL);
++ s += sprintf(s, "VSCTRL = %08lx\n", VSCTRL);
++ s += sprintf(s, "GBBASE = %08lx\n", GBBASE);
++ s += sprintf(s, "VBBASE = %08lx\n", VBBASE);
++ s += sprintf(s, "GDRCTRL = %08lx\n", GDRCTRL);
++ s += sprintf(s, "VCMSK = %08lx\n", VCMSK);
++ s += sprintf(s, "GSCADR = %08lx\n", GSCADR);
++ s += sprintf(s, "VSCADR = %08lx\n", VSCADR);
++ s += sprintf(s, "VUBASE = %08lx\n", VUBASE);
++ s += sprintf(s, "VVBASE = %08lx\n", VVBASE);
++ s += sprintf(s, "GSADR = %08lx\n", GSADR);
++ s += sprintf(s, "VSADR = %08lx\n", VSADR);
++ s += sprintf(s, "HCCTRL = %08lx\n", HCCTRL);
++ s += sprintf(s, "HCSIZE = %08lx\n", HCSIZE);
++ s += sprintf(s, "HCPOS = %08lx\n", HCPOS);
++ s += sprintf(s, "HCBADR = %08lx\n", HCBADR);
++ s += sprintf(s, "HCCKMSK = %08lx\n", HCCKMSK);
++ s += sprintf(s, "GPLUT = %08lx\n", GPLUT);
++ return (s - buf);
++}
++
++static ssize_t gsctl_store(struct class_device * subsys, const char * buf, size_t n)
++{
++ return n;
++}
++
++static ssize_t display_show(struct class_device * subsys, char * buf)
++{
++ char * s = buf;
++
++ s += sprintf(s, "DSCTRL = %08lx\n", DSCTRL);
++ s += sprintf(s, "DHT01 = %08lx\n", DHT01);
++ s += sprintf(s, "DHT02 = %08lx\n", DHT02);
++ s += sprintf(s, "DHT03 = %08lx\n", DHT03);
++ s += sprintf(s, "DVT01 = %08lx\n", DVT01);
++ s += sprintf(s, "DVT02 = %08lx\n", DVT02);
++ s += sprintf(s, "DVT03 = %08lx\n", DVT03);
++ s += sprintf(s, "DBCOL = %08lx\n", DBCOL);
++ s += sprintf(s, "BGCOLOR = %08lx\n", BGCOLOR);
++ s += sprintf(s, "DINTRS = %08lx\n", DINTRS);
++ s += sprintf(s, "DINTRE = %08lx\n", DINTRE);
++ s += sprintf(s, "DINTRCNT = %08lx\n", DINTRCNT);
++ s += sprintf(s, "DSIG = %08lx\n", DSIG);
++ s += sprintf(s, "DMCTRL = %08lx\n", DMCTRL);
++ s += sprintf(s, "CLIPCTRL = %08lx\n", CLIPCTRL);
++ s += sprintf(s, "SPOCTRL = %08lx\n", SPOCTRL);
++ s += sprintf(s, "SVCTRL = %08lx\n", SVCTRL);
++ s += sprintf(s, "DLSTS = %08lx\n", DLSTS);
++ s += sprintf(s, "DLLCTRL = %08lx\n", DLLCTRL);
++ s += sprintf(s, "DVLNUM = %08lx\n", DVLNUM);
++ s += sprintf(s, "DUCTRL = %08lx\n", DUCTRL);
++ s += sprintf(s, "DVECTRL = %08lx\n", DVECTRL);
++ s += sprintf(s, "DHDET = %08lx\n", DHDET);
++ s += sprintf(s, "DVDET = %08lx\n", DVDET);
++ s += sprintf(s, "DODMSK = %08lx\n", DODMSK);
++ s += sprintf(s, "CSC01 = %08lx\n", CSC01);
++ s += sprintf(s, "CSC02 = %08lx\n", CSC02);
++ s += sprintf(s, "CSC03 = %08lx\n", CSC03);
++ s += sprintf(s, "CSC04 = %08lx\n", CSC04);
++ s += sprintf(s, "CSC05 = %08lx\n", CSC05);
++ return (s - buf);
++}
++
++static ssize_t display_store(struct class_device * subsys, const char * buf, size_t n)
++{
++ return n;
++}
++
++static ssize_t clock_show(struct class_device * subsys, char * buf)
++{
++ char * s = buf;
++
++ s += sprintf(s, "SYSCLKSRC = %08lx\n", SYSCLKSRC);
++ s += sprintf(s, "PIXCLKSRC = %08lx\n", PIXCLKSRC);
++ s += sprintf(s, "CLKSLEEP = %08lx\n", CLKSLEEP);
++ s += sprintf(s, "COREPLL = %08lx\n", COREPLL);
++ s += sprintf(s, "DISPPLL = %08lx\n", DISPPLL);
++ s += sprintf(s, "PLLSTAT = %08lx\n", PLLSTAT);
++ s += sprintf(s, "VOVRCLK = %08lx\n", VOVRCLK);
++ s += sprintf(s, "PIXCLK = %08lx\n", PIXCLK);
++ s += sprintf(s, "MEMCLK = %08lx\n", MEMCLK);
++ s += sprintf(s, "M24CLK = %08lx\n", M24CLK);
++ s += sprintf(s, "MBXCLK = %08lx\n", MBXCLK);
++ s += sprintf(s, "SDCLK = %08lx\n", SDCLK);
++ s += sprintf(s, "PIXCLKDIV = %08lx\n", PIXCLKDIV);
++ return (s - buf);
++}
++
++static ssize_t clock_store(struct class_device * subsys, const char * buf, size_t n)
++{
++ return n;
++}
++
++static struct class_device_attribute mbx_class_attrs[] = {
++ __ATTR(sysconf,0644,sysconf_show,sysconf_store),
++ __ATTR(gsctl,0644,gsctl_show,gsctl_store),
++ __ATTR(display,0644,display_show,display_store),
++ __ATTR(clock,0644,clock_show,clock_store),
++};
++
++
++static void mbxfb_sysfs_register(struct fb_info *fbi)
++{
++ int i;
++ for (i = 0; i < ARRAY_SIZE(mbx_class_attrs); i++)
++ class_device_create_file(fbi->class_device,
++ &mbx_class_attrs[i]);
++}
+diff --git a/drivers/video/mbx/reg_bits.h b/drivers/video/mbx/reg_bits.h
+new file mode 100644
+index 0000000..be152f6
+--- /dev/null
++++ b/drivers/video/mbx/reg_bits.h
+@@ -0,0 +1,489 @@
++#ifndef __REG_BITS_2700G_
++#define __REG_BITS_2700G_
++
++/* /\* System Configuration Registers (0x03FE_0000 0x03FE_0010) *\/ */
++/* #define SYSCFG __REG_2700G(0x03FE0000) */
++/* #define PFBASE __REG_2700G(0x03FE0004) */
++/* #define PFCEIL __REG_2700G(0x03FE0008) */
++/* #define POLLFLAG __REG_2700G(0x03FE000C) */
++
++#define SYSRST_RST (1 << 0)
++
++/* /\* Interrupt Control Registers (0x03FE_0014 0x03FE_002F) *\/ */
++/* #define NINTPW __REG_2700G(0x03FE0014) */
++/* #define MINTENABLE __REG_2700G(0x03FE0018) */
++/* #define MINTSTAT __REG_2700G(0x03FE001C) */
++/* #define SINTENABLE __REG_2700G(0x03FE0020) */
++/* #define SINTSTAT __REG_2700G(0x03FE0024) */
++/* #define SINTCLR __REG_2700G(0x03FE0028) */
++
++/* SYSCLKSRC - SYSCLK Source Control Register */
++#define SYSCLKSRC_SEL Fld(2,0)
++#define SYSCLKSRC_REF ((0x0) << FShft(SYSCLKSRC_SEL))
++#define SYSCLKSRC_PLL_1 ((0x1) << FShft(SYSCLKSRC_SEL))
++#define SYSCLKSRC_PLL_2 ((0x2) << FShft(SYSCLKSRC_SEL))
++
++/* PIXCLKSRC - PIXCLK Source Control Register */
++#define PIXCLKSRC_SEL Fld(2,0)
++#define PIXCLKSRC_REF ((0x0) << FShft(PIXCLKSRC_SEL))
++#define PIXCLKSRC_PLL_1 ((0x1) << FShft(PIXCLKSRC_SEL))
++#define PIXCLKSRC_PLL_2 ((0x2) << FShft(PIXCLKSRC_SEL))
++
++/* Clock Disable Register */
++#define CLKSLEEP_SLP (1 << 0)
++
++/* Core PLL Control Register */
++#define CORE_PLL_M Fld(6,7)
++#define Core_Pll_M(x) ((x) << FShft(CORE_PLL_M))
++#define CORE_PLL_N Fld(3,4)
++#define Core_Pll_N(x) ((x) << FShft(CORE_PLL_N))
++#define CORE_PLL_P Fld(3,1)
++#define Core_Pll_P(x) ((x) << FShft(CORE_PLL_P))
++#define CORE_PLL_EN (1 << 0)
++
++/* Display PLL Control Register */
++#define DISP_PLL_M Fld(6,7)
++#define Disp_Pll_M(x) ((x) << FShft(DISP_PLL_M))
++#define DISP_PLL_N Fld(3,4)
++#define Disp_Pll_N(x) ((x) << FShft(DISP_PLL_N))
++#define DISP_PLL_P Fld(3,1)
++#define Disp_Pll_P(x) ((x) << FShft(DISP_PLL_P))
++#define DISP_PLL_EN (1 << 0)
++
++/* PLL status register */
++#define PLLSTAT_CORE_PLL_LOST_L (1 << 3)
++#define PLLSTAT_CORE_PLL_LSTS (1 << 2)
++#define PLLSTAT_DISP_PLL_LOST_L (1 << 1)
++#define PLLSTAT_DISP_PLL_LSTS (1 << 0)
++
++/* Video and scale clock control register */
++#define VOVRCLK_EN (1 << 0)
++
++/* Pixel clock control register */
++#define PIXCLK_EN (1 << 0)
++
++/* Memory clock control register */
++#define MEMCLK_EN (1 << 0)
++
++/* MBX clock control register */
++#define MBXCLK_DIV Fld(2,2)
++#define MBXCLK_DIV_1 ((0x0) << FShft(MBXCLK_DIV))
++#define MBXCLK_DIV_2 ((0x1) << FShft(MBXCLK_DIV))
++#define MBXCLK_DIV_3 ((0x2) << FShft(MBXCLK_DIV))
++#define MBXCLK_DIV_4 ((0x3) << FShft(MBXCLK_DIV))
++#define MBXCLK_EN Fld(2,0)
++#define MBXCLK_EN_NONE ((0x0) << FShft(MBXCLK_EN))
++#define MBXCLK_EN_2D ((0x1) << FShft(MBXCLK_EN))
++#define MBXCLK_EN_BOTH ((0x2) << FShft(MBXCLK_EN))
++
++/* M24 clock control register */
++#define M24CLK_DIV Fld(2,1)
++#define M24CLK_DIV_1 ((0x0) << FShft(M24CLK_DIV))
++#define M24CLK_DIV_2 ((0x1) << FShft(M24CLK_DIV))
++#define M24CLK_DIV_3 ((0x2) << FShft(M24CLK_DIV))
++#define M24CLK_DIV_4 ((0x3) << FShft(M24CLK_DIV))
++#define M24CLK_EN (1 << 0)
++
++/* SDRAM clock control register */
++#define SDCLK_EN (1 << 0)
++
++/* PixClk Divisor Register */
++#define PIXCLKDIV_PD Fld(9,0)
++#define Pixclkdiv_Pd(x) ((x) << FShft(PIXCLKDIV_PD))
++
++/* LCD Config control register */
++#define LCDCFG_IN_FMT Fld(3,28)
++#define Lcdcfg_In_Fmt(x) ((x) << FShft(LCDCFG_IN_FMT))
++#define LCDCFG_LCD1DEN_POL (1 << 27)
++#define LCDCFG_LCD1FCLK_POL (1 << 26)
++#define LCDCFG_LCD1LCLK_POL (1 << 25)
++#define LCDCFG_LCD1D_POL (1 << 24)
++#define LCDCFG_LCD2DEN_POL (1 << 23)
++#define LCDCFG_LCD2FCLK_POL (1 << 22)
++#define LCDCFG_LCD2LCLK_POL (1 << 21)
++#define LCDCFG_LCD2D_POL (1 << 20)
++#define LCDCFG_LCD1_TS (1 << 19)
++#define LCDCFG_LCD1D_DS (1 << 18)
++#define LCDCFG_LCD1C_DS (1 << 17)
++#define LCDCFG_LCD1_IS_IN (1 << 16)
++#define LCDCFG_LCD2_TS (1 << 3)
++#define LCDCFG_LCD2D_DS (1 << 2)
++#define LCDCFG_LCD2C_DS (1 << 1)
++#define LCDCFG_LCD2_IS_IN (1 << 0)
++
++/* On-Die Frame Buffer Power Control Register */
++#define ODFBPWR_SLOW (1 << 2)
++#define ODFBPWR_MODE Fld(2,0)
++#define ODFBPWR_MODE_ACT ((0x0) << FShft(ODFBPWR_MODE))
++#define ODFBPWR_MODE_ACT_LP ((0x1) << FShft(ODFBPWR_MODE))
++#define ODFBPWR_MODE_SLEEP ((0x2) << FShft(ODFBPWR_MODE))
++#define ODFBPWR_MODE_SHUTD ((0x3) << FShft(ODFBPWR_MODE))
++
++/* On-Die Frame Buffer Power State Status Register */
++#define ODFBSTAT_ACT (1 << 2)
++#define ODFBSTAT_SLP (1 << 1)
++#define ODFBSTAT_SDN (1 << 0)
++
++/* /\* GPIO Registers (0x03FE_006C 0x03FE_007F) *\/ */
++/* #define GPIOCGF __REG_2700G(0x03FE006C) */
++/* #define GPIOHI __REG_2700G(0x03FE0070) */
++/* #define GPIOLO __REG_2700G(0x03FE0074) */
++/* #define GPIOSTAT __REG_2700G(0x03FE0078) */
++
++/* /\* Pulse Width Modulator (PWM) Registers (0x03FE_0200 0x03FE_02FF) *\/ */
++/* #define PWMRST __REG_2700G(0x03FE0200) */
++/* #define PWMCFG __REG_2700G(0x03FE0204) */
++/* #define PWM0DIV __REG_2700G(0x03FE0210) */
++/* #define PWM0DUTY __REG_2700G(0x03FE0214) */
++/* #define PWM0PER __REG_2700G(0x03FE0218) */
++/* #define PWM1DIV __REG_2700G(0x03FE0220) */
++/* #define PWM1DUTY __REG_2700G(0x03FE0224) */
++/* #define PWM1PER __REG_2700G(0x03FE0228) */
++
++
++/* LMRST - Local Memory (SDRAM) Reset */
++#define LMRST_MC_RST (1 << 0)
++
++/* LMCFG - Local Memory (SDRAM) Configuration Register */
++#define LMCFG_LMC_DS (1 << 5)
++#define LMCFG_LMD_DS (1 << 4)
++#define LMCFG_LMA_DS (1 << 3)
++#define LMCFG_LMC_TS (1 << 2)
++#define LMCFG_LMD_TS (1 << 1)
++#define LMCFG_LMA_TS (1 << 0)
++
++/* LMPWR - Local Memory (SDRAM) Power Control Register */
++#define LMPWR_MC_PWR_CNT Fld(2,0)
++#define LMPWR_MC_PWR_ACT ((0x0) << FShft(LMPWR_MC_PWR_CNT)) /* Active */
++#define LMPWR_MC_PWR_SRM ((0x1) << FShft(LMPWR_MC_PWR_CNT)) /* Self-refresh */
++#define LMPWR_MC_PWR_DPD ((0x3) << FShft(LMPWR_MC_PWR_CNT)) /* deep power down */
++
++/* LMPWRSTAT - Local Memory (SDRAM) Power Status Register */
++#define LMPWRSTAT_MC_PWR_CNT Fld(2,0)
++#define LMPWRSTAT_MC_PWR_ACT ((0x0) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Active */
++#define LMPWRSTAT_MC_PWR_SRM ((0x1) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Self-refresh */
++#define LMPWRSTAT_MC_PWR_DPD ((0x3) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* deep power down */
++
++/* LMTYPE - Local Memory (SDRAM) Type Register */
++#define LMTYPE_CASLAT Fld(3,10)
++#define LMTYPE_CASLAT_1 ((0x1) << FShft(LMTYPE_CASLAT))
++#define LMTYPE_CASLAT_2 ((0x2) << FShft(LMTYPE_CASLAT))
++#define LMTYPE_CASLAT_3 ((0x3) << FShft(LMTYPE_CASLAT))
++#define LMTYPE_BKSZ Fld(2,8)
++#define LMTYPE_BKSZ_1 ((0x1) << FShft(LMTYPE_BKSZ))
++#define LMTYPE_BKSZ_2 ((0x2) << FShft(LMTYPE_BKSZ))
++#define LMTYPE_ROWSZ Fld(4,4)
++#define LMTYPE_ROWSZ_11 ((0xb) << FShft(LMTYPE_ROWSZ))
++#define LMTYPE_ROWSZ_12 ((0xc) << FShft(LMTYPE_ROWSZ))
++#define LMTYPE_ROWSZ_13 ((0xd) << FShft(LMTYPE_ROWSZ))
++#define LMTYPE_COLSZ Fld(4,0)
++#define LMTYPE_COLSZ_7 ((0x7) << FShft(LMTYPE_COLSZ))
++#define LMTYPE_COLSZ_8 ((0x8) << FShft(LMTYPE_COLSZ))
++#define LMTYPE_COLSZ_9 ((0x9) << FShft(LMTYPE_COLSZ))
++#define LMTYPE_COLSZ_10 ((0xa) << FShft(LMTYPE_COLSZ))
++#define LMTYPE_COLSZ_11 ((0xb) << FShft(LMTYPE_COLSZ))
++#define LMTYPE_COLSZ_12 ((0xc) << FShft(LMTYPE_COLSZ))
++
++/* LMTIM - Local Memory (SDRAM) Timing Register */
++#define LMTIM_TRAS Fld(4,16)
++#define Lmtim_Tras(x) ((x) << FShft(LMTIM_TRAS))
++#define LMTIM_TRP Fld(4,12)
++#define Lmtim_Trp(x) ((x) << FShft(LMTIM_TRP))
++#define LMTIM_TRCD Fld(4,8)
++#define Lmtim_Trcd(x) ((x) << FShft(LMTIM_TRCD))
++#define LMTIM_TRC Fld(4,4)
++#define Lmtim_Trc(x) ((x) << FShft(LMTIM_TRC))
++#define LMTIM_TDPL Fld(4,0)
++#define Lmtim_Tdpl(x) ((x) << FShft(LMTIM_TDPL))
++
++/* LMREFRESH - Local Memory (SDRAM) tREF Control Register */
++#define LMREFRESH_TREF Fld(2,0)
++#define Lmrefresh_Tref(x) ((x) << FShft(LMREFRESH_TREF))
++
++/* #define LMCEMR __REG_2700G(0x03FE1010) */
++/* #define LMPROTMIN __REG_2700G(0x03FE1020) */
++/* #define LMPROTMAX __REG_2700G(0x03FE1024) */
++/* #define LMPROTCFG __REG_2700G(0x03FE1028) */
++/* #define LMPROTERR __REG_2700G(0x03FE102C) */
++
++/* GSCTRL - Graphics surface control register */
++#define GSCTRL_LUT_EN (1 << 31)
++#define GSCTRL_GPIXFMT Fld(4,27)
++#define GSCTRL_GPIXFMT_INDEXED ((0x0) << FShft(GSCTRL_GPIXFMT))
++#define GSCTRL_GPIXFMT_ARGB4444 ((0x4) << FShft(GSCTRL_GPIXFMT))
++#define GSCTRL_GPIXFMT_ARGB1555 ((0x5) << FShft(GSCTRL_GPIXFMT))
++#define GSCTRL_GPIXFMT_RGB888 ((0x6) << FShft(GSCTRL_GPIXFMT))
++#define GSCTRL_GPIXFMT_RGB565 ((0x7) << FShft(GSCTRL_GPIXFMT))
++#define GSCTRL_GPIXFMT_ARGB8888 ((0x8) << FShft(GSCTRL_GPIXFMT))
++#define GSCTRL_GAMMA_EN (1 << 26)
++
++#define GSCTRL_GSWIDTH Fld(11,11)
++#define Gsctrl_Width(Pixel) /* Display Width [1..2048 pix.] */ \
++ (((Pixel) - 1) << FShft(GSCTRL_GSWIDTH))
++
++#define GSCTRL_GSHEIGHT Fld(11,0)
++#define Gsctrl_Height(Pixel) /* Display Height [1..2048 pix.] */ \
++ (((Pixel) - 1) << FShft(GSCTRL_GSHEIGHT))
++
++/* GBBASE fileds */
++#define GBBASE_GLALPHA Fld(8,24)
++#define Gbbase_Glalpha(x) ((x) << FShft(GBBASE_GLALPHA))
++
++#define GBBASE_COLKEY Fld(24,0)
++#define Gbbase_Colkey(x) ((x) << FShft(GBBASE_COLKEY))
++
++/* GDRCTRL fields */
++#define GDRCTRL_PIXDBL (1 << 31)
++#define GDRCTRL_PIXHLV (1 << 30)
++#define GDRCTRL_LNDBL (1 << 29)
++#define GDRCTRL_LNHLV (1 << 28)
++#define GDRCTRL_COLKEYM Fld(24,0)
++#define Gdrctrl_Colkeym(x) ((x) << FShft(GDRCTRL_COLKEYM))
++
++/* GSCADR graphics stream control address register fields */
++#define GSCADR_STR_EN (1 << 31)
++#define GSCADR_COLKEY_EN (1 << 30)
++#define GSCADR_COLKEYSCR (1 << 29)
++#define GSCADR_BLEND_M Fld(2,27)
++#define GSCADR_BLEND_NONE ((0x0) << FShft(GSCADR_BLEND_M))
++#define GSCADR_BLEND_INV ((0x1) << FShft(GSCADR_BLEND_M))
++#define GSCADR_BLEND_GLOB ((0x2) << FShft(GSCADR_BLEND_M))
++#define GSCADR_BLEND_PIX ((0x3) << FShft(GSCADR_BLEND_M))
++#define GSCADR_BLEND_POS Fld(2,24)
++#define GSCADR_BLEND_GFX ((0x0) << FShft(GSCADR_BLEND_POS))
++#define GSCADR_BLEND_VID ((0x1) << FShft(GSCADR_BLEND_POS))
++#define GSCADR_BLEND_CUR ((0x2) << FShft(GSCADR_BLEND_POS))
++#define GSCADR_GBASE_ADR Fld(23,0)
++#define Gscadr_Gbase_Adr(x) ((x) << FShft(GSCADR_GBASE_ADR))
++
++/* GSADR graphics stride address register fields */
++#define GSADR_SRCSTRIDE Fld(10,22)
++#define Gsadr_Srcstride(x) ((x) << FShft(GSADR_SRCSTRIDE))
++#define GSADR_XSTART Fld(11,11)
++#define Gsadr_Xstart(x) ((x) << FShft(GSADR_XSTART))
++#define GSADR_YSTART Fld(11,0)
++#define Gsadr_Ystart(y) ((y) << FShft(GSADR_YSTART))
++
++/* GPLUT graphics palette register fields */
++#define GPLUT_LUTADR Fld(8,24)
++#define Gplut_Lutadr(x) ((x) << FShft(GPLUT_LUTADR))
++#define GPLUT_LUTDATA Fld(24,0)
++#define Gplut_Lutdata(x) ((x) << FShft(GPLUT_LUTDATA))
++
++/* #define VSCTRL __REG_2700G(0x03FE2004) */
++/* #define VBBASE __REG_2700G(0x03FE2024) */
++/* #define VCMSK __REG_2700G(0x03FE2044) */
++/* #define VSCADR __REG_2700G(0x03FE2064) */
++/* #define VUBASE __REG_2700G(0x03FE2084) */
++/* #define VVBASE __REG_2700G(0x03FE20A4) */
++/* #define VSADR __REG_2700G(0x03FE20C4) */
++
++
++/* HCCTRL - Hardware Cursor Register fields */
++#define HCCTRL_CUR_EN (1 << 31)
++#define HCCTRL_COLKEY_EN (1 << 29)
++#define HCCTRL_COLKEYSRC (1 << 28)
++#define HCCTRL_BLEND_M Fld(2,26)
++#define HCCTRL_BLEND_NONE ((0x0) << FShft(HCCTRL_BLEND_M))
++#define HCCTRL_BLEND_INV ((0x1) << FShft(HCCTRL_BLEND_M))
++#define HCCTRL_BLEND_GLOB ((0x2) << FShft(HCCTRL_BLEND_M))
++#define HCCTRL_BLEND_PIX ((0x3) << FShft(HCCTRL_BLEND_M))
++#define HCCTRL_CPIXFMT Fld(3,23)
++#define HCCTRL_CPIXFMT_RGB332 ((0x3) << FShft(HCCTRL_CPIXFMT))
++#define HCCTRL_CPIXFMT_ARGB4444 ((0x4) << FShft(HCCTRL_CPIXFMT))
++#define HCCTRL_CPIXFMT_ARGB1555 ((0x5) << FShft(HCCTRL_CPIXFMT))
++#define HCCTRL_CBASE_ADR Fld(23,0)
++#define Hcctrl_Cbase_Adr(x) ((x) << FShft(HCCTRL_CBASE_ADR))
++
++/* HCSIZE Hardware Cursor Size Register fields */
++#define HCSIZE_BLEND_POS Fld(2,29)
++#define HCSIZE_BLEND_GFX ((0x0) << FShft(HCSIZE_BLEND_POS))
++#define HCSIZE_BLEND_VID ((0x1) << FShft(HCSIZE_BLEND_POS))
++#define HCSIZE_BLEND_CUR ((0x2) << FShft(HCSIZE_BLEND_POS))
++#define HCSIZE_CWIDTH Fld(3,16)
++#define Hcsize_Cwidth(x) ((x) << FShft(HCSIZE_CWIDTH))
++#define HCSIZE_CHEIGHT Fld(3,0)
++#define Hcsize_Cheight(x) ((x) << FShft(HCSIZE_CHEIGHT))
++
++/* HCPOS Hardware Cursor Position Register fields */
++#define HCPOS_SWITCHSRC (1 << 30)
++#define HCPOS_CURBLINK Fld(6,24)
++#define Hcpos_Curblink(x) ((x) << FShft(HCPOS_CURBLINK))
++#define HCPOS_XSTART Fld(12,12)
++#define Hcpos_Xstart(x) ((x) << FShft(HCPOS_XSTART))
++#define HCPOS_YSTART Fld(12,0)
++#define Hcpos_Ystart(y) ((y) << FShft(HCPOS_YSTART))
++
++/* HCBADR Hardware Cursor Blend Address Register */
++#define HCBADR_GLALPHA Fld(8,24)
++#define Hcbadr_Glalpha(x) ((x) << FShft(HCBADR_GLALPHA))
++#define HCBADR_COLKEY Fld(24,0)
++#define Hcbadr_Colkey(x) ((x) << FShft(HCBADR_COLKEY))
++
++/* HCCKMSK - Hardware Cursor Color Key Mask Register */
++#define HCCKMSK_COLKEY_M Fld(24,0)
++#define Hcckmsk_Colkey_M(x) ((x) << FShft(HCCKMSK_COLKEY_M))
++
++/* DSCTRL - Display sync control register */
++#define DSCTRL_SYNCGEN_EN (1 << 31)
++#define DSCTRL_DPL_RST (1 << 29)
++#define DSCTRL_PWRDN_M (1 << 28)
++#define DSCTRL_UPDSYNCCNT (1 << 26)
++#define DSCTRL_UPDINTCNT (1 << 25)
++#define DSCTRL_UPDCNT (1 << 24)
++#define DSCTRL_UPDWAIT Fld(4,16)
++#define Dsctrl_Updwait(x) ((x) << FShft(DSCTRL_UPDWAIT))
++#define DSCTRL_CLKPOL (1 << 11)
++#define DSCTRL_CSYNC_EN (1 << 10)
++#define DSCTRL_VS_SLAVE (1 << 7)
++#define DSCTRL_HS_SLAVE (1 << 6)
++#define DSCTRL_BLNK_POL (1 << 5)
++#define DSCTRL_BLNK_DIS (1 << 4)
++#define DSCTRL_VS_POL (1 << 3)
++#define DSCTRL_VS_DIS (1 << 2)
++#define DSCTRL_HS_POL (1 << 1)
++#define DSCTRL_HS_DIS (1 << 0)
++
++/* DHT01 - Display horizontal timing register 01 */
++#define DHT01_HBPS Fld(12,16)
++#define Dht01_Hbps(x) ((x) << FShft(DHT01_HBPS))
++#define DHT01_HT Fld(12,0)
++#define Dht01_Ht(x) ((x) << FShft(DHT01_HT))
++
++/* DHT02 - Display horizontal timing register 02 */
++#define DHT02_HAS Fld(12,16)
++#define Dht02_Has(x) ((x) << FShft(DHT02_HAS))
++#define DHT02_HLBS Fld(12,0)
++#define Dht02_Hlbs(x) ((x) << FShft(DHT02_HLBS))
++
++/* DHT03 - Display horizontal timing register 03 */
++#define DHT03_HFPS Fld(12,16)
++#define Dht03_Hfps(x) ((x) << FShft(DHT03_HFPS))
++#define DHT03_HRBS Fld(12,0)
++#define Dht03_Hrbs(x) ((x) << FShft(DHT03_HRBS))
++
++/* DVT01 - Display vertical timing register 01 */
++#define DVT01_VBPS Fld(12,16)
++#define Dvt01_Vbps(x) ((x) << FShft(DVT01_VBPS))
++#define DVT01_VT Fld(12,0)
++#define Dvt01_Vt(x) ((x) << FShft(DVT01_VT))
++
++/* DVT02 - Display vertical timing register 02 */
++#define DVT02_VAS Fld(12,16)
++#define Dvt02_Vas(x) ((x) << FShft(DVT02_VAS))
++#define DVT02_VTBS Fld(12,0)
++#define Dvt02_Vtbs(x) ((x) << FShft(DVT02_VTBS))
++
++/* DVT03 - Display vertical timing register 03 */
++#define DVT03_VFPS Fld(12,16)
++#define Dvt03_Vfps(x) ((x) << FShft(DVT03_VFPS))
++#define DVT03_VBBS Fld(12,0)
++#define Dvt03_Vbbs(x) ((x) << FShft(DVT03_VBBS))
++
++/* DVECTRL - display vertical event control register */
++#define DVECTRL_VEVENT Fld(12,16)
++#define Dvectrl_Vevent(x) ((x) << FShft(DVECTRL_VEVENT))
++#define DVECTRL_VFETCH Fld(12,0)
++#define Dvectrl_Vfetch(x) ((x) << FShft(DVECTRL_VFETCH))
++
++/* DHDET - display horizontal DE timing register */
++#define DHDET_HDES Fld(12,16)
++#define Dhdet_Hdes(x) ((x) << FShft(DHDET_HDES))
++#define DHDET_HDEF Fld(12,0)
++#define Dhdet_Hdef(x) ((x) << FShft(DHDET_HDEF))
++
++/* DVDET - display vertical DE timing register */
++#define DVDET_VDES Fld(12,16)
++#define Dvdet_Vdes(x) ((x) << FShft(DVDET_VDES))
++#define DVDET_VDEF Fld(12,0)
++#define Dvdet_Vdef(x) ((x) << FShft(DVDET_VDEF))
++
++/* DODMSK - display output data mask register */
++#define DODMSK_MASK_LVL (1 << 31)
++#define DODMSK_BLNK_LVL (1 << 30)
++#define DODMSK_MASK_B Fld(8,16)
++#define Dodmsk_Mask_B(x) ((x) << FShft(DODMSK_MASK_B))
++#define DODMSK_MASK_G Fld(8,8)
++#define Dodmsk_Mask_G(x) ((x) << FShft(DODMSK_MASK_G))
++#define DODMSK_MASK_R Fld(8,0)
++#define Dodmsk_Mask_R(x) ((x) << FShft(DODMSK_MASK_R))
++
++/* DBCOL - display border color control register */
++#define DBCOL_BORDCOL Fld(24,0)
++#define Dbcol_Bordcol(x) ((x) << FShft(DBCOL_BORDCOL))
++
++/* DVLNUM - display vertical line number register */
++#define DVLNUM_VLINE Fld(12,0)
++#define Dvlnum_Vline(x) ((x) << FShft(DVLNUM_VLINE))
++
++/* DMCTRL - Display Memory Control Register */
++#define DMCTRL_MEM_REF Fld(2,30)
++#define DMCTRL_MEM_REF_ACT ((0x0) << FShft(DMCTRL_MEM_REF))
++#define DMCTRL_MEM_REF_HB ((0x1) << FShft(DMCTRL_MEM_REF))
++#define DMCTRL_MEM_REF_VB ((0x2) << FShft(DMCTRL_MEM_REF))
++#define DMCTRL_MEM_REF_BOTH ((0x3) << FShft(DMCTRL_MEM_REF))
++#define DMCTRL_UV_THRHLD Fld(6,24)
++#define Dmctrl_Uv_Thrhld(x) ((x) << FShft(DMCTRL_UV_THRHLD))
++#define DMCTRL_V_THRHLD Fld(7,16)
++#define Dmctrl_V_Thrhld(x) ((x) << FShft(DMCTRL_V_THRHLD))
++#define DMCTRL_D_THRHLD Fld(7,8)
++#define Dmctrl_D_Thrhld(x) ((x) << FShft(DMCTRL_D_THRHLD))
++#define DMCTRL_BURSTLEN Fld(6,0)
++#define Dmctrl_Burstlen(x) ((x) << FShft(DMCTRL_BURSTLEN))
++
++
++/* DLSTS - display load status register */
++#define DLSTS_RLD_ADONE (1 << 23)
++/* #define DLSTS_RLD_ADOUT Fld(23,0) */
++
++/* DLLCTRL - display list load control register */
++#define DLLCTRL_RLD_ADRLN Fld(8,24)
++#define Dllctrl_Rld_Adrln(x) ((x) << FShft(DLLCTRL_RLD_ADRLN))
++
++/* #define DSIG __REG_2700G(0x03FE2184) */
++/* #define DINTRS __REG_2700G(0x03FE2178) */
++/* #define DINTRE __REG_2700G(0x03FE217C) */
++/* #define DINTRCNT __REG_2700G(0x03FE2180) */
++/* #define DUCTRL __REG_2700G(0x03FE230C) */
++
++/* BGCOLOR - background color control register */
++/* #define BGCOLOR __REG_2700G(0x03FE2174) */
++
++/* #define CLIPCTRL __REG_2700G(0x03FE218C) */
++/* SPOCTRL - Scale Pitch/Order Control Register */
++#define SPOCTRL_H_SC_BP (1 << 31)
++#define SPOCTRL_V_SC_BP (1 << 30)
++#define SPOCTRL_HV_SC_OR (1 << 29)
++#define SPOCTRL_VS_UR_C (1 << 27)
++#define SPOCTRL_VORDER Fld(2,16)
++#define SPOCTRL_VORDER_1TAP ((0x0) << FShft(SPOCTRL_VORDER))
++#define SPOCTRL_VORDER_2TAP ((0x1) << FShft(SPOCTRL_VORDER))
++#define SPOCTRL_VORDER_4TAP ((0x3) << FShft(SPOCTRL_VORDER))
++#define SPOCTRL_VPITCH Fld(16,0)
++#define Spoctrl_Vpitch(x) ((x) << FShft(SPOCTRL_VPITCH))
++
++/* #define SVCTRL __REG_2700G(0x03FE2194) */
++
++/* /\* 0x03FE_2198 *\/ */
++/* /\* 0x03FE_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 *\/ */
++
++/* #define SHCTRL __REG_2700G(0x03FE21B0) */
++
++/* /\* 0x03FE_21B4 *\/ */
++/* /\* 0x03FE_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 *\/ */
++
++/* #define SSSIZE __REG_2700G(0x03FE21D8) */
++
++/* /\* 0x03FE_2200 *\/ */
++/* /\* 0x03FE_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 *\/ */
++
++/* /\* 0x03FE_2250 *\/ */
++/* /\* 0x03FE_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 *\/ */
++
++/* #define CSC01 __REG_2700G(0x03FE2330) */
++/* #define CSC02 __REG_2700G(0x03FE2334) */
++/* #define CSC03 __REG_2700G(0x03FE2338) */
++/* #define CSC04 __REG_2700G(0x03FE233C) */
++/* #define CSC05 __REG_2700G(0x03FE2340) */
++
++#endif /* __REG_BITS_2700G_ */
+diff --git a/drivers/video/mbx/regs.h b/drivers/video/mbx/regs.h
+new file mode 100644
+index 0000000..edf0f14
+--- /dev/null
++++ b/drivers/video/mbx/regs.h
+@@ -0,0 +1,192 @@
++#ifndef __REGS_2700G_
++#define __REGS_2700G_
++
++/* extern unsigned long virt_base_2700; */
++#define __REG_2700G(x) (*(volatile unsigned long*)((x)+virt_base_2700))
++
++/* System Configuration Registers (0x0000_0000 0x0000_0010) */
++#define SYSCFG __REG_2700G(0x00000000)
++#define PFBASE __REG_2700G(0x00000004)
++#define PFCEIL __REG_2700G(0x00000008)
++#define POLLFLAG __REG_2700G(0x0000000c)
++#define SYSRST __REG_2700G(0x00000010)
++
++/* Interrupt Control Registers (0x0000_0014 0x0000_002F) */
++#define NINTPW __REG_2700G(0x00000014)
++#define MINTENABLE __REG_2700G(0x00000018)
++#define MINTSTAT __REG_2700G(0x0000001c)
++#define SINTENABLE __REG_2700G(0x00000020)
++#define SINTSTAT __REG_2700G(0x00000024)
++#define SINTCLR __REG_2700G(0x00000028)
++
++/* Clock Control Registers (0x0000_002C 0x0000_005F) */
++#define SYSCLKSRC __REG_2700G(0x0000002c)
++#define PIXCLKSRC __REG_2700G(0x00000030)
++#define CLKSLEEP __REG_2700G(0x00000034)
++#define COREPLL __REG_2700G(0x00000038)
++#define DISPPLL __REG_2700G(0x0000003c)
++#define PLLSTAT __REG_2700G(0x00000040)
++#define VOVRCLK __REG_2700G(0x00000044)
++#define PIXCLK __REG_2700G(0x00000048)
++#define MEMCLK __REG_2700G(0x0000004c)
++#define M24CLK __REG_2700G(0x00000054)
++#define MBXCLK __REG_2700G(0x00000054)
++#define SDCLK __REG_2700G(0x00000058)
++#define PIXCLKDIV __REG_2700G(0x0000005c)
++
++/* LCD Port Control Register (0x0000_0060 0x0000_006F) */
++#define LCD_CONFIG __REG_2700G(0x00000060)
++
++/* On-Die Frame Buffer Registers (0x0000_0064 0x0000_006B) */
++#define ODFBPWR __REG_2700G(0x00000064)
++#define ODFBSTAT __REG_2700G(0x00000068)
++
++/* GPIO Registers (0x0000_006C 0x0000_007F) */
++#define GPIOCGF __REG_2700G(0x0000006c)
++#define GPIOHI __REG_2700G(0x00000070)
++#define GPIOLO __REG_2700G(0x00000074)
++#define GPIOSTAT __REG_2700G(0x00000078)
++
++/* Pulse Width Modulator (PWM) Registers (0x0000_0200 0x0000_02FF) */
++#define PWMRST __REG_2700G(0x00000200)
++#define PWMCFG __REG_2700G(0x00000204)
++#define PWM0DIV __REG_2700G(0x00000210)
++#define PWM0DUTY __REG_2700G(0x00000214)
++#define PWM0PER __REG_2700G(0x00000218)
++#define PWM1DIV __REG_2700G(0x00000220)
++#define PWM1DUTY __REG_2700G(0x00000224)
++#define PWM1PER __REG_2700G(0x00000228)
++
++/* Identification (ID) Registers (0x0000_0300 0x0000_0FFF) */
++#define ID __REG_2700G(0x00000FF0)
++
++/* Local Memory (SDRAM) Interface Registers (0x0000_1000 0x0000_1FFF) */
++#define LMRST __REG_2700G(0x00001000)
++#define LMCFG __REG_2700G(0x00001004)
++#define LMPWR __REG_2700G(0x00001008)
++#define LMPWRSTAT __REG_2700G(0x0000100c)
++#define LMCEMR __REG_2700G(0x00001010)
++#define LMTYPE __REG_2700G(0x00001014)
++#define LMTIM __REG_2700G(0x00001018)
++#define LMREFRESH __REG_2700G(0x0000101c)
++#define LMPROTMIN __REG_2700G(0x00001020)
++#define LMPROTMAX __REG_2700G(0x00001024)
++#define LMPROTCFG __REG_2700G(0x00001028)
++#define LMPROTERR __REG_2700G(0x0000102c)
++
++/* Plane Controller Registers (0x0000_2000 0x0000_2FFF) */
++#define GSCTRL __REG_2700G(0x00002000)
++#define VSCTRL __REG_2700G(0x00002004)
++#define GBBASE __REG_2700G(0x00002020)
++#define VBBASE __REG_2700G(0x00002024)
++#define GDRCTRL __REG_2700G(0x00002040)
++#define VCMSK __REG_2700G(0x00002044)
++#define GSCADR __REG_2700G(0x00002060)
++#define VSCADR __REG_2700G(0x00002064)
++#define VUBASE __REG_2700G(0x00002084)
++#define VVBASE __REG_2700G(0x000020a4)
++#define GSADR __REG_2700G(0x000020c0)
++#define VSADR __REG_2700G(0x000020c4)
++#define HCCTRL __REG_2700G(0x00002100)
++#define HCSIZE __REG_2700G(0x00002110)
++#define HCPOS __REG_2700G(0x00002120)
++#define HCBADR __REG_2700G(0x00002130)
++#define HCCKMSK __REG_2700G(0x00002140)
++#define GPLUT __REG_2700G(0x00002150)
++#define DSCTRL __REG_2700G(0x00002154)
++#define DHT01 __REG_2700G(0x00002158)
++#define DHT02 __REG_2700G(0x0000215c)
++#define DHT03 __REG_2700G(0x00002160)
++#define DVT01 __REG_2700G(0x00002164)
++#define DVT02 __REG_2700G(0x00002168)
++#define DVT03 __REG_2700G(0x0000216c)
++#define DBCOL __REG_2700G(0x00002170)
++#define BGCOLOR __REG_2700G(0x00002174)
++#define DINTRS __REG_2700G(0x00002178)
++#define DINTRE __REG_2700G(0x0000217c)
++#define DINTRCNT __REG_2700G(0x00002180)
++#define DSIG __REG_2700G(0x00002184)
++#define DMCTRL __REG_2700G(0x00002188)
++#define CLIPCTRL __REG_2700G(0x0000218c)
++#define SPOCTRL __REG_2700G(0x00002190)
++#define SVCTRL __REG_2700G(0x00002194)
++
++/* 0x0000_2198 */
++/* 0x0000_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 */
++#define VSCOEFF0 __REG_2700G(0x00002198)
++#define VSCOEFF1 __REG_2700G(0x0000219c)
++#define VSCOEFF2 __REG_2700G(0x000021a0)
++#define VSCOEFF3 __REG_2700G(0x000021a4)
++#define VSCOEFF4 __REG_2700G(0x000021a8)
++
++#define SHCTRL __REG_2700G(0x000021b0)
++
++/* 0x0000_21B4 */
++/* 0x0000_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 */
++#define HSCOEFF0 __REG_2700G(0x000021b4)
++#define HSCOEFF1 __REG_2700G(0x000021b8)
++#define HSCOEFF2 __REG_2700G(0x000021bc)
++#define HSCOEFF3 __REG_2700G(0x000021b0)
++#define HSCOEFF4 __REG_2700G(0x000021c4)
++#define HSCOEFF5 __REG_2700G(0x000021c8)
++#define HSCOEFF6 __REG_2700G(0x000021cc)
++#define HSCOEFF7 __REG_2700G(0x000021d0)
++#define HSCOEFF8 __REG_2700G(0x000021d4)
++
++#define SSSIZE __REG_2700G(0x000021D8)
++
++/* 0x0000_2200 */
++/* 0x0000_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 */
++#define VIDGAM0 __REG_2700G(0x00002200)
++#define VIDGAM1 __REG_2700G(0x00002204)
++#define VIDGAM2 __REG_2700G(0x00002208)
++#define VIDGAM3 __REG_2700G(0x0000220c)
++#define VIDGAM4 __REG_2700G(0x00002210)
++#define VIDGAM5 __REG_2700G(0x00002214)
++#define VIDGAM6 __REG_2700G(0x00002218)
++#define VIDGAM7 __REG_2700G(0x0000221c)
++#define VIDGAM8 __REG_2700G(0x00002220)
++#define VIDGAM9 __REG_2700G(0x00002224)
++#define VIDGAM10 __REG_2700G(0x00002228)
++#define VIDGAM11 __REG_2700G(0x0000222c)
++#define VIDGAM12 __REG_2700G(0x00002230)
++#define VIDGAM13 __REG_2700G(0x00002234)
++#define VIDGAM14 __REG_2700G(0x00002238)
++#define VIDGAM15 __REG_2700G(0x0000223c)
++#define VIDGAM16 __REG_2700G(0x00002240)
++
++/* 0x0000_2250 */
++/* 0x0000_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 */
++#define GFXGAM0 __REG_2700G(0x00002250)
++#define GFXGAM1 __REG_2700G(0x00002254)
++#define GFXGAM2 __REG_2700G(0x00002258)
++#define GFXGAM3 __REG_2700G(0x0000225c)
++#define GFXGAM4 __REG_2700G(0x00002260)
++#define GFXGAM5 __REG_2700G(0x00002264)
++#define GFXGAM6 __REG_2700G(0x00002268)
++#define GFXGAM7 __REG_2700G(0x0000226c)
++#define GFXGAM8 __REG_2700G(0x00002270)
++#define GFXGAM9 __REG_2700G(0x00002274)
++#define GFXGAM10 __REG_2700G(0x00002278)
++#define GFXGAM11 __REG_2700G(0x0000227c)
++#define GFXGAM12 __REG_2700G(0x00002280)
++#define GFXGAM13 __REG_2700G(0x00002284)
++#define GFXGAM14 __REG_2700G(0x00002288)
++#define GFXGAM15 __REG_2700G(0x0000228c)
++#define GFXGAM16 __REG_2700G(0x00002290)
++
++#define DLSTS __REG_2700G(0x00002300)
++#define DLLCTRL __REG_2700G(0x00002304)
++#define DVLNUM __REG_2700G(0x00002308)
++#define DUCTRL __REG_2700G(0x0000230c)
++#define DVECTRL __REG_2700G(0x00002310)
++#define DHDET __REG_2700G(0x00002314)
++#define DVDET __REG_2700G(0x00002318)
++#define DODMSK __REG_2700G(0x0000231c)
++#define CSC01 __REG_2700G(0x00002330)
++#define CSC02 __REG_2700G(0x00002334)
++#define CSC03 __REG_2700G(0x00002338)
++#define CSC04 __REG_2700G(0x0000233c)
++#define CSC05 __REG_2700G(0x00002340)
++
++#endif /* __REGS_2700G_ */
+diff --git a/include/linux/mbxfb.h b/include/linux/mbxfb.h
+new file mode 100644
+index 0000000..3bde0f5
+--- /dev/null
++++ b/include/linux/mbxfb.h
+@@ -0,0 +1,28 @@
++#ifndef __MBX_FB_H
++#define __MBX_FB_H
++
++struct mbxfb_val {
++ unsigned int defval;
++ unsigned int min;
++ unsigned int max;
++};
++
++struct fb_info;
++
++struct mbxfb_platform_data {
++ /* Screen info */
++ struct mbxfb_val xres;
++ struct mbxfb_val yres;
++ struct mbxfb_val bpp;
++
++ /* Memory info */
++ unsigned long memsize; /* if 0 use ODFB? */
++ unsigned long timings1;
++ unsigned long timings2;
++ unsigned long timings3;
++
++ int (*probe)(struct fb_info *fb);
++ int (*remove)(struct fb_info *fb);
++};
++
++#endif /* __MBX_FB_H */
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/defconfig b/meta/packages/linux/linux-cmx270-2.6.17/defconfig
new file mode 100644
index 0000000000..621fae7027
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-2.6.17/defconfig
@@ -0,0 +1,1169 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17
+# Tue Jul 18 15:06:47 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION="-8d"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+CONFIG_MACH_CM_X270=y
+# CONFIG_MACH_CM_X255 is not set
+# CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_PXA_SHARPSL is not set
+#CONFIG_CM_X270_SB270=y
+CONFIG_CM_X270_ATXBASE=y
+CONFIG_CM_X270_REV12=y
+# CONFIG_CM_X270_REV11 is not set
+CONFIG_PXA27x=y
+CONFIG_IWMMXT=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+# CONFIG_PCI is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_LEDS=y
+CONFIG_LEDS_TIMER=y
+CONFIG_LEDS_CPU=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,38400 console=tty0 root=/dev/sda1 rootdelay=10 video=mbxfb"
+#CONFIG_CMDLINE="console=ttyS0,38400 root=/dev/sda1 rootdelay=10 rw video=pxafb:mode:240x320-16,pixclock:367647,left:20,right:2,hsynclen:10,upper:3,lower:2,vsynclen:2,active,color,outputen:1,pixclockpol:1,vsync:0,hsync:0"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+CONFIG_MTD_DEBUG=y
+CONFIG_MTD_DEBUG_VERBOSE=0
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_SHARPSL is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_CM_X270=y
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_SMC91X is not set
+CONFIG_DM9000=y
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=y
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_BSDCOMP=y
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+# CONFIG_INPUT_TSLIBDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=y
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_PXA2XX=y
+
+#
+# SPI Protocol Masters
+#
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+CONFIG_UCB1400_TS=y
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_V4L2=y
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_FIRMWARE_EDID is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+#CONFIG_FB_PXA is not set
+#CONFIG_FB_PXA_PARAMETERS is not set
+CONFIG_FB_MBX=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_AC97_BUS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=y
+CONFIG_SND_PXA2XX_AC97=y
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=y
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=y
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_G_CHAR is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_SA1100 is not set
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+CONFIG_RTC_DRV_V3020=y
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+# CONFIG_EXT2_FS_SECURITY is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_WAITQ is not set
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/mach-types b/meta/packages/linux/linux-cmx270-2.6.17/mach-types
new file mode 100644
index 0000000000..2354f822f1
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-2.6.17/mach-types
@@ -0,0 +1,1112 @@
+# Database of machine macros and numbers
+#
+# This file is linux/arch/arm/tools/mach-types
+#
+# Up to date versions of this file can be obtained from:
+#
+# http://www.arm.linux.org.uk/developer/machines/?action=download
+#
+# Please do not send patches to this file; it is automatically generated!
+# To add an entry into this database, please see Documentation/arm/README,
+# or visit:
+#
+# http://www.arm.linux.org.uk/developer/machines/?action=new
+#
+# Last update: Tue Jul 18 14:35:04 2006
+#
+# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
+#
+ebsa110 ARCH_EBSA110 EBSA110 0
+riscpc ARCH_RPC RISCPC 1
+nexuspci ARCH_NEXUSPCI NEXUSPCI 3
+ebsa285 ARCH_EBSA285 EBSA285 4
+netwinder ARCH_NETWINDER NETWINDER 5
+cats ARCH_CATS CATS 6
+tbox ARCH_TBOX TBOX 7
+co285 ARCH_CO285 CO285 8
+clps7110 ARCH_CLPS7110 CLPS7110 9
+archimedes ARCH_ARC ARCHIMEDES 10
+a5k ARCH_A5K A5K 11
+etoile ARCH_ETOILE ETOILE 12
+lacie_nas ARCH_LACIE_NAS LACIE_NAS 13
+clps7500 ARCH_CLPS7500 CLPS7500 14
+shark ARCH_SHARK SHARK 15
+brutus SA1100_BRUTUS BRUTUS 16
+personal_server ARCH_PERSONAL_SERVER PERSONAL_SERVER 17
+itsy SA1100_ITSY ITSY 18
+l7200 ARCH_L7200 L7200 19
+pleb SA1100_PLEB PLEB 20
+integrator ARCH_INTEGRATOR INTEGRATOR 21
+h3600 SA1100_H3600 H3600 22
+ixp1200 ARCH_IXP1200 IXP1200 23
+p720t ARCH_P720T P720T 24
+assabet SA1100_ASSABET ASSABET 25
+victor SA1100_VICTOR VICTOR 26
+lart SA1100_LART LART 27
+ranger SA1100_RANGER RANGER 28
+graphicsclient SA1100_GRAPHICSCLIENT GRAPHICSCLIENT 29
+xp860 SA1100_XP860 XP860 30
+cerf SA1100_CERF CERF 31
+nanoengine SA1100_NANOENGINE NANOENGINE 32
+fpic SA1100_FPIC FPIC 33
+extenex1 SA1100_EXTENEX1 EXTENEX1 34
+sherman SA1100_SHERMAN SHERMAN 35
+accelent_sa SA1100_ACCELENT ACCELENT_SA 36
+accelent_l7200 ARCH_L7200_ACCELENT ACCELENT_L7200 37
+netport SA1100_NETPORT NETPORT 38
+pangolin SA1100_PANGOLIN PANGOLIN 39
+yopy SA1100_YOPY YOPY 40
+coolidge SA1100_COOLIDGE COOLIDGE 41
+huw_webpanel SA1100_HUW_WEBPANEL HUW_WEBPANEL 42
+spotme ARCH_SPOTME SPOTME 43
+freebird ARCH_FREEBIRD FREEBIRD 44
+ti925 ARCH_TI925 TI925 45
+riscstation ARCH_RISCSTATION RISCSTATION 46
+cavy SA1100_CAVY CAVY 47
+jornada720 SA1100_JORNADA720 JORNADA720 48
+omnimeter SA1100_OMNIMETER OMNIMETER 49
+edb7211 ARCH_EDB7211 EDB7211 50
+citygo SA1100_CITYGO CITYGO 51
+pfs168 SA1100_PFS168 PFS168 52
+spot SA1100_SPOT SPOT 53
+flexanet SA1100_FLEXANET FLEXANET 54
+webpal ARCH_WEBPAL WEBPAL 55
+linpda SA1100_LINPDA LINPDA 56
+anakin ARCH_ANAKIN ANAKIN 57
+mvi SA1100_MVI MVI 58
+jupiter SA1100_JUPITER JUPITER 59
+psionw ARCH_PSIONW PSIONW 60
+aln SA1100_ALN ALN 61
+epxa ARCH_CAMELOT CAMELOT 62
+gds2200 SA1100_GDS2200 GDS2200 63
+psion_series7 SA1100_PSION_SERIES7 PSION_SERIES7 64
+xfile SA1100_XFILE XFILE 65
+accelent_ep9312 ARCH_ACCELENT_EP9312 ACCELENT_EP9312 66
+ic200 ARCH_IC200 IC200 67
+creditlart SA1100_CREDITLART CREDITLART 68
+htm SA1100_HTM HTM 69
+iq80310 ARCH_IQ80310 IQ80310 70
+freebot SA1100_FREEBOT FREEBOT 71
+entel ARCH_ENTEL ENTEL 72
+enp3510 ARCH_ENP3510 ENP3510 73
+trizeps SA1100_TRIZEPS TRIZEPS 74
+nesa SA1100_NESA NESA 75
+venus ARCH_VENUS VENUS 76
+tardis ARCH_TARDIS TARDIS 77
+mercury ARCH_MERCURY MERCURY 78
+empeg SA1100_EMPEG EMPEG 79
+adi_evb ARCH_I80200FCC I80200FCC 80
+itt_cpb SA1100_ITT_CPB ITT_CPB 81
+svc SA1100_SVC SVC 82
+alpha2 SA1100_ALPHA2 ALPHA2 84
+alpha1 SA1100_ALPHA1 ALPHA1 85
+netarm ARCH_NETARM NETARM 86
+simpad SA1100_SIMPAD SIMPAD 87
+pda1 ARCH_PDA1 PDA1 88
+lubbock ARCH_LUBBOCK LUBBOCK 89
+aniko ARCH_ANIKO ANIKO 90
+clep7212 ARCH_CLEP7212 CLEP7212 91
+cs89712 ARCH_CS89712 CS89712 92
+weararm SA1100_WEARARM WEARARM 93
+possio_px SA1100_POSSIO_PX POSSIO_PX 94
+sidearm SA1100_SIDEARM SIDEARM 95
+stork SA1100_STORK STORK 96
+shannon SA1100_SHANNON SHANNON 97
+ace ARCH_ACE ACE 98
+ballyarm SA1100_BALLYARM BALLYARM 99
+simputer SA1100_SIMPUTER SIMPUTER 100
+nexterm SA1100_NEXTERM NEXTERM 101
+sa1100_elf SA1100_SA1100_ELF SA1100_ELF 102
+gator SA1100_GATOR GATOR 103
+granite ARCH_GRANITE GRANITE 104
+consus SA1100_CONSUS CONSUS 105
+aaed2000 ARCH_AAED2000 AAED2000 106
+cdb89712 ARCH_CDB89712 CDB89712 107
+graphicsmaster SA1100_GRAPHICSMASTER GRAPHICSMASTER 108
+adsbitsy SA1100_ADSBITSY ADSBITSY 109
+pxa_idp ARCH_PXA_IDP PXA_IDP 110
+plce ARCH_PLCE PLCE 111
+pt_system3 SA1100_PT_SYSTEM3 PT_SYSTEM3 112
+murphy ARCH_MEDALB MEDALB 113
+eagle ARCH_EAGLE EAGLE 114
+dsc21 ARCH_DSC21 DSC21 115
+dsc24 ARCH_DSC24 DSC24 116
+ti5472 ARCH_TI5472 TI5472 117
+autcpu12 ARCH_AUTCPU12 AUTCPU12 118
+uengine ARCH_UENGINE UENGINE 119
+bluestem SA1100_BLUESTEM BLUESTEM 120
+xingu8 ARCH_XINGU8 XINGU8 121
+bushstb ARCH_BUSHSTB BUSHSTB 122
+epsilon1 SA1100_EPSILON1 EPSILON1 123
+balloon SA1100_BALLOON BALLOON 124
+puppy ARCH_PUPPY PUPPY 125
+elroy SA1100_ELROY ELROY 126
+gms720 ARCH_GMS720 GMS720 127
+s24x ARCH_S24X S24X 128
+jtel_clep7312 ARCH_JTEL_CLEP7312 JTEL_CLEP7312 129
+cx821xx ARCH_CX821XX CX821XX 130
+edb7312 ARCH_EDB7312 EDB7312 131
+bsa1110 SA1100_BSA1110 BSA1110 132
+powerpin ARCH_POWERPIN POWERPIN 133
+openarm ARCH_OPENARM OPENARM 134
+whitechapel SA1100_WHITECHAPEL WHITECHAPEL 135
+h3100 SA1100_H3100 H3100 136
+h3800 SA1100_H3800 H3800 137
+blue_v1 ARCH_BLUE_V1 BLUE_V1 138
+pxa_cerf ARCH_PXA_CERF PXA_CERF 139
+arm7tevb ARCH_ARM7TEVB ARM7TEVB 140
+d7400 SA1100_D7400 D7400 141
+piranha ARCH_PIRANHA PIRANHA 142
+sbcamelot SA1100_SBCAMELOT SBCAMELOT 143
+kings SA1100_KINGS KINGS 144
+smdk2400 ARCH_SMDK2400 SMDK2400 145
+collie SA1100_COLLIE COLLIE 146
+idr ARCH_IDR IDR 147
+badge4 SA1100_BADGE4 BADGE4 148
+webnet ARCH_WEBNET WEBNET 149
+d7300 SA1100_D7300 D7300 150
+cep SA1100_CEP CEP 151
+fortunet ARCH_FORTUNET FORTUNET 152
+vc547x ARCH_VC547X VC547X 153
+filewalker SA1100_FILEWALKER FILEWALKER 154
+netgateway SA1100_NETGATEWAY NETGATEWAY 155
+symbol2800 SA1100_SYMBOL2800 SYMBOL2800 156
+suns SA1100_SUNS SUNS 157
+frodo SA1100_FRODO FRODO 158
+ms301 SA1100_MACH_TYTE_MS301 MACH_TYTE_MS301 159
+mx1ads ARCH_MX1ADS MX1ADS 160
+h7201 ARCH_H7201 H7201 161
+h7202 ARCH_H7202 H7202 162
+amico ARCH_AMICO AMICO 163
+iam SA1100_IAM IAM 164
+tt530 SA1100_TT530 TT530 165
+sam2400 ARCH_SAM2400 SAM2400 166
+jornada56x SA1100_JORNADA56X JORNADA56X 167
+active SA1100_ACTIVE ACTIVE 168
+iq80321 ARCH_IQ80321 IQ80321 169
+wid SA1100_WID WID 170
+sabinal ARCH_SABINAL SABINAL 171
+ixp425_matacumbe ARCH_IXP425_MATACUMBE IXP425_MATACUMBE 172
+miniprint SA1100_MINIPRINT MINIPRINT 173
+adm510x ARCH_ADM510X ADM510X 174
+svs200 SA1100_SVS200 SVS200 175
+atg_tcu ARCH_ATG_TCU ATG_TCU 176
+jornada820 SA1100_JORNADA820 JORNADA820 177
+s3c44b0 ARCH_S3C44B0 S3C44B0 178
+margis2 ARCH_MARGIS2 MARGIS2 179
+ks8695 ARCH_KS8695 KS8695 180
+brh ARCH_BRH BRH 181
+s3c2410 ARCH_S3C2410 S3C2410 182
+possio_px30 ARCH_POSSIO_PX30 POSSIO_PX30 183
+s3c2800 ARCH_S3C2800 S3C2800 184
+fleetwood SA1100_FLEETWOOD FLEETWOOD 185
+omaha ARCH_OMAHA OMAHA 186
+ta7 ARCH_TA7 TA7 187
+nova SA1100_NOVA NOVA 188
+hmk ARCH_HMK HMK 189
+karo ARCH_KARO KARO 190
+fester SA1100_FESTER FESTER 191
+gpi ARCH_GPI GPI 192
+smdk2410 ARCH_SMDK2410 SMDK2410 193
+i519 ARCH_I519 I519 194
+nexio SA1100_NEXIO NEXIO 195
+bitbox SA1100_BITBOX BITBOX 196
+g200 SA1100_G200 G200 197
+gill SA1100_GILL GILL 198
+pxa_mercury ARCH_PXA_MERCURY PXA_MERCURY 199
+ceiva ARCH_CEIVA CEIVA 200
+fret SA1100_FRET FRET 201
+emailphone SA1100_EMAILPHONE EMAILPHONE 202
+h3900 ARCH_H3900 H3900 203
+pxa1 ARCH_PXA1 PXA1 204
+koan369 SA1100_KOAN369 KOAN369 205
+cogent ARCH_COGENT COGENT 206
+esl_simputer ARCH_ESL_SIMPUTER ESL_SIMPUTER 207
+esl_simputer_clr ARCH_ESL_SIMPUTER_CLR ESL_SIMPUTER_CLR 208
+esl_simputer_bw ARCH_ESL_SIMPUTER_BW ESL_SIMPUTER_BW 209
+hhp_cradle ARCH_HHP_CRADLE HHP_CRADLE 210
+he500 ARCH_HE500 HE500 211
+inhandelf2 SA1100_INHANDELF2 INHANDELF2 212
+inhandftip SA1100_INHANDFTIP INHANDFTIP 213
+dnp1110 SA1100_DNP1110 DNP1110 214
+pnp1110 SA1100_PNP1110 PNP1110 215
+csb226 ARCH_CSB226 CSB226 216
+arnold SA1100_ARNOLD ARNOLD 217
+voiceblue MACH_VOICEBLUE VOICEBLUE 218
+jz8028 ARCH_JZ8028 JZ8028 219
+h5400 ARCH_H5400 H5400 220
+forte SA1100_FORTE FORTE 221
+acam SA1100_ACAM ACAM 222
+abox SA1100_ABOX ABOX 223
+atmel ARCH_ATMEL ATMEL 224
+sitsang ARCH_SITSANG SITSANG 225
+cpu1110lcdnet SA1100_CPU1110LCDNET CPU1110LCDNET 226
+mpl_vcma9 ARCH_MPL_VCMA9 MPL_VCMA9 227
+opus_a1 ARCH_OPUS_A1 OPUS_A1 228
+daytona ARCH_DAYTONA DAYTONA 229
+killbear SA1100_KILLBEAR KILLBEAR 230
+yoho ARCH_YOHO YOHO 231
+jasper ARCH_JASPER JASPER 232
+dsc25 ARCH_DSC25 DSC25 233
+omap_innovator MACH_OMAP_INNOVATOR OMAP_INNOVATOR 234
+mnci ARCH_RAMSES RAMSES 235
+s28x ARCH_S28X S28X 236
+mport3 ARCH_MPORT3 MPORT3 237
+pxa_eagle250 ARCH_PXA_EAGLE250 PXA_EAGLE250 238
+pdb ARCH_PDB PDB 239
+blue_2g SA1100_BLUE_2G BLUE_2G 240
+bluearch SA1100_BLUEARCH BLUEARCH 241
+ixdp2400 ARCH_IXDP2400 IXDP2400 242
+ixdp2800 ARCH_IXDP2800 IXDP2800 243
+explorer SA1100_EXPLORER EXPLORER 244
+ixdp425 ARCH_IXDP425 IXDP425 245
+chimp ARCH_CHIMP CHIMP 246
+stork_nest ARCH_STORK_NEST STORK_NEST 247
+stork_egg ARCH_STORK_EGG STORK_EGG 248
+wismo SA1100_WISMO WISMO 249
+ezlinx ARCH_EZLINX EZLINX 250
+at91rm9200 ARCH_AT91RM9200 AT91RM9200 251
+orion ARCH_ORION ORION 252
+neptune ARCH_NEPTUNE NEPTUNE 253
+hackkit SA1100_HACKKIT HACKKIT 254
+pxa_wins30 ARCH_PXA_WINS30 PXA_WINS30 255
+lavinna SA1100_LAVINNA LAVINNA 256
+pxa_uengine ARCH_PXA_UENGINE PXA_UENGINE 257
+innokom ARCH_INNOKOM INNOKOM 258
+bms ARCH_BMS BMS 259
+ixcdp1100 ARCH_IXCDP1100 IXCDP1100 260
+prpmc1100 ARCH_PRPMC1100 PRPMC1100 261
+at91rm9200dk ARCH_AT91RM9200DK AT91RM9200DK 262
+armstick ARCH_ARMSTICK ARMSTICK 263
+armonie ARCH_ARMONIE ARMONIE 264
+mport1 ARCH_MPORT1 MPORT1 265
+s3c5410 ARCH_S3C5410 S3C5410 266
+zcp320a ARCH_ZCP320A ZCP320A 267
+i_box ARCH_I_BOX I_BOX 268
+stlc1502 ARCH_STLC1502 STLC1502 269
+siren ARCH_SIREN SIREN 270
+greenlake ARCH_GREENLAKE GREENLAKE 271
+argus ARCH_ARGUS ARGUS 272
+combadge SA1100_COMBADGE COMBADGE 273
+rokepxa ARCH_ROKEPXA ROKEPXA 274
+cintegrator ARCH_CINTEGRATOR CINTEGRATOR 275
+guidea07 ARCH_GUIDEA07 GUIDEA07 276
+tat257 ARCH_TAT257 TAT257 277
+igp2425 ARCH_IGP2425 IGP2425 278
+bluegrama ARCH_BLUEGRAMMA BLUEGRAMMA 279
+ipod ARCH_IPOD IPOD 280
+adsbitsyx ARCH_ADSBITSYX ADSBITSYX 281
+trizeps2 ARCH_TRIZEPS2 TRIZEPS2 282
+viper ARCH_VIPER VIPER 283
+adsbitsyplus SA1100_ADSBITSYPLUS ADSBITSYPLUS 284
+adsagc SA1100_ADSAGC ADSAGC 285
+stp7312 ARCH_STP7312 STP7312 286
+nx_phnx MACH_NX_PHNX NX_PHNX 287
+wep_ep250 ARCH_WEP_EP250 WEP_EP250 288
+inhandelf3 ARCH_INHANDELF3 INHANDELF3 289
+adi_coyote ARCH_ADI_COYOTE ADI_COYOTE 290
+iyonix ARCH_IYONIX IYONIX 291
+damicam1 ARCH_DAMICAM_SA1110 DAMICAM_SA1110 292
+meg03 ARCH_MEG03 MEG03 293
+pxa_whitechapel ARCH_PXA_WHITECHAPEL PXA_WHITECHAPEL 294
+nwsc ARCH_NWSC NWSC 295
+nwlarm ARCH_NWLARM NWLARM 296
+ixp425_mguard ARCH_IXP425_MGUARD IXP425_MGUARD 297
+pxa_netdcu4 ARCH_PXA_NETDCU4 PXA_NETDCU4 298
+ixdp2401 ARCH_IXDP2401 IXDP2401 299
+ixdp2801 ARCH_IXDP2801 IXDP2801 300
+zodiac ARCH_ZODIAC ZODIAC 301
+armmodul ARCH_ARMMODUL ARMMODUL 302
+ketop SA1100_KETOP KETOP 303
+av7200 ARCH_AV7200 AV7200 304
+arch_ti925 ARCH_ARCH_TI925 ARCH_TI925 305
+acq200 ARCH_ACQ200 ACQ200 306
+pt_dafit SA1100_PT_DAFIT PT_DAFIT 307
+ihba ARCH_IHBA IHBA 308
+quinque ARCH_QUINQUE QUINQUE 309
+nimbraone ARCH_NIMBRAONE NIMBRAONE 310
+nimbra29x ARCH_NIMBRA29X NIMBRA29X 311
+nimbra210 ARCH_NIMBRA210 NIMBRA210 312
+hhp_d95xx ARCH_HHP_D95XX HHP_D95XX 313
+labarm ARCH_LABARM LABARM 314
+m825xx ARCH_M825XX M825XX 315
+m7100 SA1100_M7100 M7100 316
+nipc2 ARCH_NIPC2 NIPC2 317
+fu7202 ARCH_FU7202 FU7202 318
+adsagx ARCH_ADSAGX ADSAGX 319
+pxa_pooh ARCH_PXA_POOH PXA_POOH 320
+bandon ARCH_BANDON BANDON 321
+pcm7210 ARCH_PCM7210 PCM7210 322
+nms9200 ARCH_NMS9200 NMS9200 323
+logodl ARCH_LOGODL LOGODL 324
+m7140 SA1100_M7140 M7140 325
+korebot ARCH_KOREBOT KOREBOT 326
+iq31244 ARCH_IQ31244 IQ31244 327
+koan393 SA1100_KOAN393 KOAN393 328
+inhandftip3 ARCH_INHANDFTIP3 INHANDFTIP3 329
+gonzo ARCH_GONZO GONZO 330
+bast ARCH_BAST BAST 331
+scanpass ARCH_SCANPASS SCANPASS 332
+ep7312_pooh ARCH_EP7312_POOH EP7312_POOH 333
+ta7s ARCH_TA7S TA7S 334
+ta7v ARCH_TA7V TA7V 335
+icarus SA1100_ICARUS ICARUS 336
+h1900 ARCH_H1900 H1900 337
+gemini SA1100_GEMINI GEMINI 338
+axim ARCH_AXIM AXIM 339
+audiotron ARCH_AUDIOTRON AUDIOTRON 340
+h2200 ARCH_H2200 H2200 341
+loox600 ARCH_LOOX600 LOOX600 342
+niop ARCH_NIOP NIOP 343
+dm310 ARCH_DM310 DM310 344
+seedpxa_c2 ARCH_SEEDPXA_C2 SEEDPXA_C2 345
+ixp4xx_mguardpci ARCH_IXP4XX_MGUARD_PCI IXP4XX_MGUARD_PCI 346
+h1940 ARCH_H1940 H1940 347
+scorpio ARCH_SCORPIO SCORPIO 348
+viva ARCH_VIVA VIVA 349
+pxa_xcard ARCH_PXA_XCARD PXA_XCARD 350
+csb335 ARCH_CSB335 CSB335 351
+ixrd425 ARCH_IXRD425 IXRD425 352
+iq80315 ARCH_IQ80315 IQ80315 353
+nmp7312 ARCH_NMP7312 NMP7312 354
+cx861xx ARCH_CX861XX CX861XX 355
+enp2611 ARCH_ENP2611 ENP2611 356
+xda SA1100_XDA XDA 357
+csir_ims ARCH_CSIR_IMS CSIR_IMS 358
+ixp421_dnaeeth ARCH_IXP421_DNAEETH IXP421_DNAEETH 359
+pocketserv9200 ARCH_POCKETSERV9200 POCKETSERV9200 360
+toto ARCH_TOTO TOTO 361
+s3c2440 ARCH_S3C2440 S3C2440 362
+ks8695p ARCH_KS8695P KS8695P 363
+se4000 ARCH_SE4000 SE4000 364
+quadriceps ARCH_QUADRICEPS QUADRICEPS 365
+bronco ARCH_BRONCO BRONCO 366
+esl_wireless_tab ARCH_ESL_WIRELESS_TABLETESL_WIRELESS_TABLET 367
+esl_sofcomp ARCH_ESL_SOFCOMP ESL_SOFCOMP 368
+s5c7375 ARCH_S5C7375 S5C7375 369
+spearhead ARCH_SPEARHEAD SPEARHEAD 370
+pantera ARCH_PANTERA PANTERA 371
+prayoglite ARCH_PRAYOGLITE PRAYOGLITE 372
+gumstix ARCH_GUMSTIK GUMSTIK 373
+rcube ARCH_RCUBE RCUBE 374
+rea_olv ARCH_REA_OLV REA_OLV 375
+pxa_iphone ARCH_PXA_IPHONE PXA_IPHONE 376
+s3c3410 ARCH_S3C3410 S3C3410 377
+espd_4510b ARCH_ESPD_4510B ESPD_4510B 378
+mp1x ARCH_MP1X MP1X 379
+at91rm9200tb ARCH_AT91RM9200TB AT91RM9200TB 380
+adsvgx ARCH_ADSVGX ADSVGX 381
+omap_h2 MACH_OMAP_H2 OMAP_H2 382
+pelee ARCH_PELEE PELEE 383
+e740 MACH_E740 E740 384
+iq80331 ARCH_IQ80331 IQ80331 385
+versatile_pb ARCH_VERSATILE_PB VERSATILE_PB 387
+kev7a400 MACH_KEV7A400 KEV7A400 388
+lpd7a400 MACH_LPD7A400 LPD7A400 389
+lpd7a404 MACH_LPD7A404 LPD7A404 390
+fujitsu_camelot ARCH_FUJITSU_CAMELOT FUJITSU_CAMELOT 391
+janus2m ARCH_JANUS2M JANUS2M 392
+embtf MACH_EMBTF EMBTF 393
+hpm MACH_HPM HPM 394
+smdk2410tk MACH_SMDK2410TK SMDK2410TK 395
+smdk2410aj MACH_SMDK2410AJ SMDK2410AJ 396
+streetracer MACH_STREETRACER STREETRACER 397
+eframe MACH_EFRAME EFRAME 398
+csb337 MACH_CSB337 CSB337 399
+pxa_lark MACH_PXA_LARK PXA_LARK 400
+pxa_pnp2110 MACH_PNP2110 PNP2110 401
+tcc72x MACH_TCC72X TCC72X 402
+altair MACH_ALTAIR ALTAIR 403
+kc3 MACH_KC3 KC3 404
+sinteftd MACH_SINTEFTD SINTEFTD 405
+mainstone MACH_MAINSTONE MAINSTONE 406
+aday4x MACH_ADAY4X ADAY4X 407
+lite300 MACH_LITE300 LITE300 408
+s5c7376 MACH_S5C7376 S5C7376 409
+mt02 MACH_MT02 MT02 410
+mport3s MACH_MPORT3S MPORT3S 411
+ra_alpha MACH_RA_ALPHA RA_ALPHA 412
+xcep MACH_XCEP XCEP 413
+arcom_vulcan MACH_ARCOM_VULCAN ARCOM_VULCAN 414
+stargate MACH_STARGATE STARGATE 415
+armadilloj MACH_ARMADILLOJ ARMADILLOJ 416
+elroy_jack MACH_ELROY_JACK ELROY_JACK 417
+backend MACH_BACKEND BACKEND 418
+s5linbox MACH_S5LINBOX S5LINBOX 419
+nomadik MACH_NOMADIK NOMADIK 420
+ia_cpu_9200 MACH_IA_CPU_9200 IA_CPU_9200 421
+at91_bja1 MACH_AT91_BJA1 AT91_BJA1 422
+corgi MACH_CORGI CORGI 423
+poodle MACH_POODLE POODLE 424
+ten MACH_TEN TEN 425
+roverp5p MACH_ROVERP5P ROVERP5P 426
+sc2700 MACH_SC2700 SC2700 427
+ex_eagle MACH_EX_EAGLE EX_EAGLE 428
+nx_pxa12 MACH_NX_PXA12 NX_PXA12 429
+nx_pxa5 MACH_NX_PXA5 NX_PXA5 430
+blackboard2 MACH_BLACKBOARD2 BLACKBOARD2 431
+i819 MACH_I819 I819 432
+ixmb995e MACH_IXMB995E IXMB995E 433
+skyrider MACH_SKYRIDER SKYRIDER 434
+skyhawk MACH_SKYHAWK SKYHAWK 435
+enterprise MACH_ENTERPRISE ENTERPRISE 436
+dep2410 MACH_DEP2410 DEP2410 437
+armcore MACH_ARMCORE ARMCORE 438
+hobbit MACH_HOBBIT HOBBIT 439
+h7210 MACH_H7210 H7210 440
+pxa_netdcu5 MACH_PXA_NETDCU5 PXA_NETDCU5 441
+acc MACH_ACC ACC 442
+esl_sarva MACH_ESL_SARVA ESL_SARVA 443
+xm250 MACH_XM250 XM250 444
+t6tc1xb MACH_T6TC1XB T6TC1XB 445
+ess710 MACH_ESS710 ESS710 446
+mx31ads MACH_MX31ADS MX31ADS 447
+himalaya MACH_HIMALAYA HIMALAYA 448
+bolfenk MACH_BOLFENK BOLFENK 449
+at91rm9200kr MACH_AT91RM9200KR AT91RM9200KR 450
+edb9312 MACH_EDB9312 EDB9312 451
+omap_generic MACH_OMAP_GENERIC OMAP_GENERIC 452
+aximx3 MACH_AXIMX3 AXIMX3 453
+eb67xdip MACH_EB67XDIP EB67XDIP 454
+webtxs MACH_WEBTXS WEBTXS 455
+hawk MACH_HAWK HAWK 456
+ccat91sbc001 MACH_CCAT91SBC001 CCAT91SBC001 457
+expresso MACH_EXPRESSO EXPRESSO 458
+h4000 MACH_H4000 H4000 459
+dino MACH_DINO DINO 460
+ml675k MACH_ML675K ML675K 461
+edb9301 MACH_EDB9301 EDB9301 462
+edb9315 MACH_EDB9315 EDB9315 463
+reciva_tt MACH_RECIVA_TT RECIVA_TT 464
+cstcb01 MACH_CSTCB01 CSTCB01 465
+cstcb1 MACH_CSTCB1 CSTCB1 466
+shadwell MACH_SHADWELL SHADWELL 467
+goepel263 MACH_GOEPEL263 GOEPEL263 468
+acq100 MACH_ACQ100 ACQ100 469
+mx1fs2 MACH_MX1FS2 MX1FS2 470
+hiptop_g1 MACH_HIPTOP_G1 HIPTOP_G1 471
+sparky MACH_SPARKY SPARKY 472
+ns9750 MACH_NS9750 NS9750 473
+phoenix MACH_PHOENIX PHOENIX 474
+vr1000 MACH_VR1000 VR1000 475
+deisterpxa MACH_DEISTERPXA DEISTERPXA 476
+bcm1160 MACH_BCM1160 BCM1160 477
+pcm022 MACH_PCM022 PCM022 478
+adsgcx MACH_ADSGCX ADSGCX 479
+dreadnaught MACH_DREADNAUGHT DREADNAUGHT 480
+dm320 MACH_DM320 DM320 481
+markov MACH_MARKOV MARKOV 482
+cos7a400 MACH_COS7A400 COS7A400 483
+milano MACH_MILANO MILANO 484
+ue9328 MACH_UE9328 UE9328 485
+uex255 MACH_UEX255 UEX255 486
+ue2410 MACH_UE2410 UE2410 487
+a620 MACH_A620 A620 488
+ocelot MACH_OCELOT OCELOT 489
+cheetah MACH_CHEETAH CHEETAH 490
+omap_perseus2 MACH_OMAP_PERSEUS2 OMAP_PERSEUS2 491
+zvue MACH_ZVUE ZVUE 492
+roverp1 MACH_ROVERP1 ROVERP1 493
+asidial2 MACH_ASIDIAL2 ASIDIAL2 494
+s3c24a0 MACH_S3C24A0 S3C24A0 495
+e800 MACH_E800 E800 496
+e750 MACH_E750 E750 497
+s3c5500 MACH_S3C5500 S3C5500 498
+smdk5500 MACH_SMDK5500 SMDK5500 499
+signalsync MACH_SIGNALSYNC SIGNALSYNC 500
+nbc MACH_NBC NBC 501
+kodiak MACH_KODIAK KODIAK 502
+netbookpro MACH_NETBOOKPRO NETBOOKPRO 503
+hw90200 MACH_HW90200 HW90200 504
+condor MACH_CONDOR CONDOR 505
+cup MACH_CUP CUP 506
+kite MACH_KITE KITE 507
+scb9328 MACH_SCB9328 SCB9328 508
+omap_h3 MACH_OMAP_H3 OMAP_H3 509
+omap_h4 MACH_OMAP_H4 OMAP_H4 510
+n10 MACH_N10 N10 511
+montejade MACH_MONTAJADE MONTAJADE 512
+sg560 MACH_SG560 SG560 513
+dp1000 MACH_DP1000 DP1000 514
+omap_osk MACH_OMAP_OSK OMAP_OSK 515
+rg100v3 MACH_RG100V3 RG100V3 516
+mx2ads MACH_MX2ADS MX2ADS 517
+pxa_kilo MACH_PXA_KILO PXA_KILO 518
+ixp4xx_eagle MACH_IXP4XX_EAGLE IXP4XX_EAGLE 519
+tosa MACH_TOSA TOSA 520
+mb2520f MACH_MB2520F MB2520F 521
+emc1000 MACH_EMC1000 EMC1000 522
+tidsc25 MACH_TIDSC25 TIDSC25 523
+akcpmxl MACH_AKCPMXL AKCPMXL 524
+av3xx MACH_AV3XX AV3XX 525
+avila MACH_AVILA AVILA 526
+pxa_mpm10 MACH_PXA_MPM10 PXA_MPM10 527
+pxa_kyanite MACH_PXA_KYANITE PXA_KYANITE 528
+sgold MACH_SGOLD SGOLD 529
+oscar MACH_OSCAR OSCAR 530
+epxa4usb2 MACH_EPXA4USB2 EPXA4USB2 531
+xsengine MACH_XSENGINE XSENGINE 532
+ip600 MACH_IP600 IP600 533
+mcan2 MACH_MCAN2 MCAN2 534
+ddi_blueridge MACH_DDI_BLUERIDGE DDI_BLUERIDGE 535
+skyminder MACH_SKYMINDER SKYMINDER 536
+lpd79520 MACH_LPD79520 LPD79520 537
+edb9302 MACH_EDB9302 EDB9302 538
+hw90340 MACH_HW90340 HW90340 539
+cip_box MACH_CIP_BOX CIP_BOX 540
+ivpn MACH_IVPN IVPN 541
+rsoc2 MACH_RSOC2 RSOC2 542
+husky MACH_HUSKY HUSKY 543
+boxer MACH_BOXER BOXER 544
+shepherd MACH_SHEPHERD SHEPHERD 545
+aml42800aa MACH_AML42800AA AML42800AA 546
+ml674001 MACH_MACH_TYPE_ML674001 MACH_TYPE_ML674001 547
+lpc2294 MACH_LPC2294 LPC2294 548
+switchgrass MACH_SWITCHGRASS SWITCHGRASS 549
+ens_cmu MACH_ENS_CMU ENS_CMU 550
+mm6_sdb MACH_MM6_SDB MM6_SDB 551
+saturn MACH_SATURN SATURN 552
+i30030evb MACH_I30030EVB I30030EVB 553
+mxc27530evb MACH_MXC27530EVB MXC27530EVB 554
+smdk2800 MACH_SMDK2800 SMDK2800 555
+mtwilson MACH_MTWILSON MTWILSON 556
+ziti MACH_ZITI ZITI 557
+grandfather MACH_GRANDFATHER GRANDFATHER 558
+tengine MACH_TENGINE TENGINE 559
+s3c2460 MACH_S3C2460 S3C2460 560
+pdm MACH_PDM PDM 561
+h4700 MACH_H4700 H4700 562
+h6300 MACH_H6300 H6300 563
+rz1700 MACH_RZ1700 RZ1700 564
+a716 MACH_A716 A716 565
+estk2440a MACH_ESTK2440A ESTK2440A 566
+atwixp425 MACH_ATWIXP425 ATWIXP425 567
+csb336 MACH_CSB336 CSB336 568
+rirm2 MACH_RIRM2 RIRM2 569
+cx23518 MACH_CX23518 CX23518 570
+cx2351x MACH_CX2351X CX2351X 571
+computime MACH_COMPUTIME COMPUTIME 572
+izarus MACH_IZARUS IZARUS 573
+pxa_rts MACH_RTS RTS 574
+se5100 MACH_SE5100 SE5100 575
+s3c2510 MACH_S3C2510 S3C2510 576
+csb437tl MACH_CSB437TL CSB437TL 577
+slauson MACH_SLAUSON SLAUSON 578
+pearlriver MACH_PEARLRIVER PEARLRIVER 579
+tdc_p210 MACH_TDC_P210 TDC_P210 580
+sg580 MACH_SG580 SG580 581
+wrsbcarm7 MACH_WRSBCARM7 WRSBCARM7 582
+ipd MACH_IPD IPD 583
+pxa_dnp2110 MACH_PXA_DNP2110 PXA_DNP2110 584
+xaeniax MACH_XAENIAX XAENIAX 585
+somn4250 MACH_SOMN4250 SOMN4250 586
+pleb2 MACH_PLEB2 PLEB2 587
+cornwallis MACH_CORNWALLIS CORNWALLIS 588
+gurney_drv MACH_GURNEY_DRV GURNEY_DRV 589
+chaffee MACH_CHAFFEE CHAFFEE 590
+rms101 MACH_RMS101 RMS101 591
+rx3715 MACH_RX3715 RX3715 592
+swift MACH_SWIFT SWIFT 593
+roverp7 MACH_ROVERP7 ROVERP7 594
+pr818s MACH_PR818S PR818S 595
+trxpro MACH_TRXPRO TRXPRO 596
+nslu2 MACH_NSLU2 NSLU2 597
+e400 MACH_E400 E400 598
+trab MACH_TRAB TRAB 599
+cmc_pu2 MACH_CMC_PU2 CMC_PU2 600
+fulcrum MACH_FULCRUM FULCRUM 601
+netgate42x MACH_NETGATE42X NETGATE42X 602
+str710 MACH_STR710 STR710 603
+ixdpg425 MACH_IXDPG425 IXDPG425 604
+tomtomgo MACH_TOMTOMGO TOMTOMGO 605
+versatile_ab MACH_VERSATILE_AB VERSATILE_AB 606
+edb9307 MACH_EDB9307 EDB9307 607
+sg565 MACH_SG565 SG565 608
+lpd79524 MACH_LPD79524 LPD79524 609
+lpd79525 MACH_LPD79525 LPD79525 610
+rms100 MACH_RMS100 RMS100 611
+kb9200 MACH_KB9200 KB9200 612
+sx1 MACH_SX1 SX1 613
+hms39c7092 MACH_HMS39C7092 HMS39C7092 614
+armadillo MACH_ARMADILLO ARMADILLO 615
+ipcu MACH_IPCU IPCU 616
+loox720 MACH_LOOX720 LOOX720 617
+ixdp465 MACH_IXDP465 IXDP465 618
+ixdp2351 MACH_IXDP2351 IXDP2351 619
+adsvix MACH_ADSVIX ADSVIX 620
+dm270 MACH_DM270 DM270 621
+socltplus MACH_SOCLTPLUS SOCLTPLUS 622
+ecia MACH_ECIA ECIA 623
+cm4008 MACH_CM4008 CM4008 624
+p2001 MACH_P2001 P2001 625
+twister MACH_TWISTER TWISTER 626
+mudshark MACH_MUDSHARK MUDSHARK 627
+hb2 MACH_HB2 HB2 628
+iq80332 MACH_IQ80332 IQ80332 629
+sendt MACH_SENDT SENDT 630
+mx2jazz MACH_MX2JAZZ MX2JAZZ 631
+multiio MACH_MULTIIO MULTIIO 632
+hrdisplay MACH_HRDISPLAY HRDISPLAY 633
+mxc27530ads MACH_MXC27530ADS MXC27530ADS 634
+trizeps3 MACH_TRIZEPS3 TRIZEPS3 635
+zefeerdza MACH_ZEFEERDZA ZEFEERDZA 636
+zefeerdzb MACH_ZEFEERDZB ZEFEERDZB 637
+zefeerdzg MACH_ZEFEERDZG ZEFEERDZG 638
+zefeerdzn MACH_ZEFEERDZN ZEFEERDZN 639
+zefeerdzq MACH_ZEFEERDZQ ZEFEERDZQ 640
+gtwx5715 MACH_GTWX5715 GTWX5715 641
+astro_jack MACH_ASTRO_JACK ASTRO_JACK 643
+tip03 MACH_TIP03 TIP03 644
+a9200ec MACH_A9200EC A9200EC 645
+pnx0105 MACH_PNX0105 PNX0105 646
+adcpoecpu MACH_ADCPOECPU ADCPOECPU 647
+csb637 MACH_CSB637 CSB637 648
+ml69q6203 MACH_ML69Q6203 ML69Q6203 649
+mb9200 MACH_MB9200 MB9200 650
+kulun MACH_KULUN KULUN 651
+snapper MACH_SNAPPER SNAPPER 652
+optima MACH_OPTIMA OPTIMA 653
+dlhsbc MACH_DLHSBC DLHSBC 654
+x30 MACH_X30 X30 655
+n30 MACH_N30 N30 656
+manga_ks8695 MACH_MANGA_KS8695 MANGA_KS8695 657
+ajax MACH_AJAX AJAX 658
+nec_mp900 MACH_NEC_MP900 NEC_MP900 659
+vvtk1000 MACH_VVTK1000 VVTK1000 661
+kafa MACH_KAFA KAFA 662
+vvtk3000 MACH_VVTK3000 VVTK3000 663
+pimx1 MACH_PIMX1 PIMX1 664
+ollie MACH_OLLIE OLLIE 665
+skymax MACH_SKYMAX SKYMAX 666
+jazz MACH_JAZZ JAZZ 667
+tel_t3 MACH_TEL_T3 TEL_T3 668
+aisino_fcr255 MACH_AISINO_FCR255 AISINO_FCR255 669
+btweb MACH_BTWEB BTWEB 670
+dbg_lh79520 MACH_DBG_LH79520 DBG_LH79520 671
+cm41xx MACH_CM41XX CM41XX 672
+ts72xx MACH_TS72XX TS72XX 673
+nggpxa MACH_NGGPXA NGGPXA 674
+csb535 MACH_CSB535 CSB535 675
+csb536 MACH_CSB536 CSB536 676
+pxa_trakpod MACH_PXA_TRAKPOD PXA_TRAKPOD 677
+praxis MACH_PRAXIS PRAXIS 678
+lh75411 MACH_LH75411 LH75411 679
+otom MACH_OTOM OTOM 680
+nexcoder_2440 MACH_NEXCODER_2440 NEXCODER_2440 681
+loox410 MACH_LOOX410 LOOX410 682
+westlake MACH_WESTLAKE WESTLAKE 683
+nsb MACH_NSB NSB 684
+esl_sarva_stn MACH_ESL_SARVA_STN ESL_SARVA_STN 685
+esl_sarva_tft MACH_ESL_SARVA_TFT ESL_SARVA_TFT 686
+esl_sarva_iad MACH_ESL_SARVA_IAD ESL_SARVA_IAD 687
+esl_sarva_acc MACH_ESL_SARVA_ACC ESL_SARVA_ACC 688
+typhoon MACH_TYPHOON TYPHOON 689
+cnav MACH_CNAV CNAV 690
+a730 MACH_A730 A730 691
+netstar MACH_NETSTAR NETSTAR 692
+supercon MACH_PHASEFALE_SUPERCON PHASEFALE_SUPERCON 693
+shiva1100 MACH_SHIVA1100 SHIVA1100 694
+etexsc MACH_ETEXSC ETEXSC 695
+ixdpg465 MACH_IXDPG465 IXDPG465 696
+a9m2410 MACH_A9M2410 A9M2410 697
+a9m2440 MACH_A9M2440 A9M2440 698
+a9m9750 MACH_A9M9750 A9M9750 699
+a9m9360 MACH_A9M9360 A9M9360 700
+unc90 MACH_UNC90 UNC90 701
+eco920 MACH_ECO920 ECO920 702
+satview MACH_SATVIEW SATVIEW 703
+roadrunner MACH_ROADRUNNER ROADRUNNER 704
+at91rm9200ek MACH_AT91RM9200EK AT91RM9200EK 705
+gp32 MACH_GP32 GP32 706
+gem MACH_GEM GEM 707
+i858 MACH_I858 I858 708
+hx2750 MACH_HX2750 HX2750 709
+mxc91131evb MACH_MXC91131EVB MXC91131EVB 710
+p700 MACH_P700 P700 711
+cpe MACH_CPE CPE 712
+spitz MACH_SPITZ SPITZ 713
+nimbra340 MACH_NIMBRA340 NIMBRA340 714
+lpc22xx MACH_LPC22XX LPC22XX 715
+omap_comet3 MACH_COMET3 COMET3 716
+omap_comet4 MACH_COMET4 COMET4 717
+csb625 MACH_CSB625 CSB625 718
+fortunet2 MACH_FORTUNET2 FORTUNET2 719
+s5h2200 MACH_S5H2200 S5H2200 720
+optorm920 MACH_OPTORM920 OPTORM920 721
+adsbitsyxb MACH_ADSBITSYXB ADSBITSYXB 722
+adssphere MACH_ADSSPHERE ADSSPHERE 723
+adsportal MACH_ADSPORTAL ADSPORTAL 724
+ln2410sbc MACH_LN2410SBC LN2410SBC 725
+cb3rufc MACH_CB3RUFC CB3RUFC 726
+mp2usb MACH_MP2USB MP2USB 727
+ntnp425c MACH_NTNP425C NTNP425C 728
+colibri MACH_COLIBRI COLIBRI 729
+pcm7220 MACH_PCM7220 PCM7220 730
+gateway7001 MACH_GATEWAY7001 GATEWAY7001 731
+pcm027 MACH_PCM027 PCM027 732
+cmpxa MACH_CMPXA CMPXA 733
+anubis MACH_ANUBIS ANUBIS 734
+ite8152 MACH_ITE8152 ITE8152 735
+lpc3xxx MACH_LPC3XXX LPC3XXX 736
+puppeteer MACH_PUPPETEER PUPPETEER 737
+vt001 MACH_MACH_VADATECH MACH_VADATECH 738
+e570 MACH_E570 E570 739
+x50 MACH_X50 X50 740
+recon MACH_RECON RECON 741
+xboardgp8 MACH_XBOARDGP8 XBOARDGP8 742
+fpic2 MACH_FPIC2 FPIC2 743
+akita MACH_AKITA AKITA 744
+a81 MACH_A81 A81 745
+svm_sc25x MACH_SVM_SC25X SVM_SC25X 746
+vt020 MACH_VADATECH020 VADATECH020 747
+tli MACH_TLI TLI 748
+edb9315lc MACH_EDB9315LC EDB9315LC 749
+passec MACH_PASSEC PASSEC 750
+ds_tiger MACH_DS_TIGER DS_TIGER 751
+e310 MACH_E310 E310 752
+e330 MACH_E330 E330 753
+rt3000 MACH_RT3000 RT3000 754
+nokia770 MACH_NOKIA770 NOKIA770 755
+pnx0106 MACH_PNX0106 PNX0106 756
+hx21xx MACH_HX21XX HX21XX 757
+faraday MACH_FARADAY FARADAY 758
+sbc9312 MACH_SBC9312 SBC9312 759
+batman MACH_BATMAN BATMAN 760
+jpd201 MACH_JPD201 JPD201 761
+mipsa MACH_MIPSA MIPSA 762
+kacom MACH_KACOM KACOM 763
+swarcocpu MACH_SWARCOCPU SWARCOCPU 764
+swarcodsl MACH_SWARCODSL SWARCODSL 765
+blueangel MACH_BLUEANGEL BLUEANGEL 766
+hairygrama MACH_HAIRYGRAMA HAIRYGRAMA 767
+banff MACH_BANFF BANFF 768
+carmeva MACH_CARMEVA CARMEVA 769
+sam255 MACH_SAM255 SAM255 770
+ppm10 MACH_PPM10 PPM10 771
+edb9315a MACH_EDB9315A EDB9315A 772
+sunset MACH_SUNSET SUNSET 773
+stargate2 MACH_STARGATE2 STARGATE2 774
+intelmote2 MACH_INTELMOTE2 INTELMOTE2 775
+trizeps4 MACH_TRIZEPS4 TRIZEPS4 776
+mainstone2 MACH_MAINSTONE2 MAINSTONE2 777
+ez_ixp42x MACH_EZ_IXP42X EZ_IXP42X 778
+tapwave_zodiac MACH_TAPWAVE_ZODIAC TAPWAVE_ZODIAC 779
+universalmeter MACH_UNIVERSALMETER UNIVERSALMETER 780
+hicoarm9 MACH_HICOARM9 HICOARM9 781
+pnx4008 MACH_PNX4008 PNX4008 782
+kws6000 MACH_KWS6000 KWS6000 783
+portux920t MACH_PORTUX920T PORTUX920T 784
+ez_x5 MACH_EZ_X5 EZ_X5 785
+omap_rudolph MACH_OMAP_RUDOLPH OMAP_RUDOLPH 786
+cpuat91 MACH_CPUAT91 CPUAT91 787
+rea9200 MACH_REA9200 REA9200 788
+acts_pune_sa1110 MACH_ACTS_PUNE_SA1110 ACTS_PUNE_SA1110 789
+ixp425 MACH_IXP425 IXP425 790
+i30030ads MACH_I30030ADS I30030ADS 791
+perch MACH_PERCH PERCH 792
+eis05r1 MACH_EIS05R1 EIS05R1 793
+pepperpad MACH_PEPPERPAD PEPPERPAD 794
+sb3010 MACH_SB3010 SB3010 795
+rm9200 MACH_RM9200 RM9200 796
+dma03 MACH_DMA03 DMA03 797
+road_s101 MACH_ROAD_S101 ROAD_S101 798
+iq_nextgen_a MACH_IQ_NEXTGEN_A IQ_NEXTGEN_A 799
+iq_nextgen_b MACH_IQ_NEXTGEN_B IQ_NEXTGEN_B 800
+iq_nextgen_c MACH_IQ_NEXTGEN_C IQ_NEXTGEN_C 801
+iq_nextgen_d MACH_IQ_NEXTGEN_D IQ_NEXTGEN_D 802
+iq_nextgen_e MACH_IQ_NEXTGEN_E IQ_NEXTGEN_E 803
+mallow_at91 MACH_MALLOW_AT91 MALLOW_AT91 804
+cybertracker_i MACH_CYBERTRACKER_I CYBERTRACKER_I 805
+gesbc931x MACH_GESBC931X GESBC931X 806
+centipad MACH_CENTIPAD CENTIPAD 807
+armsoc MACH_ARMSOC ARMSOC 808
+se4200 MACH_SE4200 SE4200 809
+ems197a MACH_EMS197A EMS197A 810
+micro9 MACH_MICRO9 MICRO9 811
+micro9l MACH_MICRO9L MICRO9L 812
+uc5471dsp MACH_UC5471DSP UC5471DSP 813
+sj5471eng MACH_SJ5471ENG SJ5471ENG 814
+none MACH_CMPXA26X CMPXA26X 815
+nc1 MACH_NC NC 816
+omap_palmte MACH_OMAP_PALMTE OMAP_PALMTE 817
+ajax52x MACH_AJAX52X AJAX52X 818
+siriustar MACH_SIRIUSTAR SIRIUSTAR 819
+iodata_hdlg MACH_IODATA_HDLG IODATA_HDLG 820
+at91rm9200utl MACH_AT91RM9200UTL AT91RM9200UTL 821
+biosafe MACH_BIOSAFE BIOSAFE 822
+mp1000 MACH_MP1000 MP1000 823
+parsy MACH_PARSY PARSY 824
+ccxp270 MACH_CCXP CCXP 825
+omap_gsample MACH_OMAP_GSAMPLE OMAP_GSAMPLE 826
+realview_eb MACH_REALVIEW_EB REALVIEW_EB 827
+samoa MACH_SAMOA SAMOA 828
+t3xscale MACH_T3XSCALE T3XSCALE 829
+i878 MACH_I878 I878 830
+borzoi MACH_BORZOI BORZOI 831
+gecko MACH_GECKO GECKO 832
+ds101 MACH_DS101 DS101 833
+omap_palmtt2 MACH_OMAP_PALMTT2 OMAP_PALMTT2 834
+xscale_palmld MACH_XSCALE_PALMLD XSCALE_PALMLD 835
+cc9c MACH_CC9C CC9C 836
+sbc1670 MACH_SBC1670 SBC1670 837
+ixdp28x5 MACH_IXDP28X5 IXDP28X5 838
+omap_palmtt MACH_OMAP_PALMTT OMAP_PALMTT 839
+ml696k MACH_ML696K ML696K 840
+arcom_zeus MACH_ARCOM_ZEUS ARCOM_ZEUS 841
+osiris MACH_OSIRIS OSIRIS 842
+maestro MACH_MAESTRO MAESTRO 843
+tunge2 MACH_TUNGE2 TUNGE2 844
+ixbbm MACH_IXBBM IXBBM 845
+mx27ads MACH_MX27 MX27 846
+ax8004 MACH_AX8004 AX8004 847
+at91sam9261ek MACH_AT91SAM9261EK AT91SAM9261EK 848
+loft MACH_LOFT LOFT 849
+magpie MACH_MAGPIE MAGPIE 850
+mx21ads MACH_MX21 MX21 851
+mb87m3400 MACH_MB87M3400 MB87M3400 852
+mguard_delta MACH_MGUARD_DELTA MGUARD_DELTA 853
+davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP 854
+htcuniversal MACH_HTCUNIVERSAL HTCUNIVERSAL 855
+tpad MACH_TPAD TPAD 856
+roverp3 MACH_ROVERP3 ROVERP3 857
+jornada928 MACH_JORNADA928 JORNADA928 858
+mv88fxx81 MACH_MV88FXX81 MV88FXX81 859
+stmp36xx MACH_STMP36XX STMP36XX 860
+sxni79524 MACH_SXNI79524 SXNI79524 861
+ams_delta MACH_AMS_DELTA AMS_DELTA 862
+uranium MACH_URANIUM URANIUM 863
+ucon MACH_UCON UCON 864
+nas100d MACH_NAS100D NAS100D 865
+l083 MACH_L083_1000 L083_1000 866
+ezx MACH_EZX EZX 867
+pnx5220 MACH_PNX5220 PNX5220 868
+butte MACH_BUTTE BUTTE 869
+srm2 MACH_SRM2 SRM2 870
+dsbr MACH_DSBR DSBR 871
+crystalball MACH_CRYSTALBALL CRYSTALBALL 872
+tinypxa27x MACH_TINYPXA27X TINYPXA27X 873
+herbie MACH_HERBIE HERBIE 874
+magician MACH_MAGICIAN MAGICIAN 875
+cm4002 MACH_CM4002 CM4002 876
+b4 MACH_B4 B4 877
+maui MACH_MAUI MAUI 878
+cybertracker_g MACH_CYBERTRACKER_G CYBERTRACKER_G 879
+nxdkn MACH_NXDKN NXDKN 880
+mio8390 MACH_MIO8390 MIO8390 881
+omi_board MACH_OMI_BOARD OMI_BOARD 882
+mx21civ MACH_MX21CIV MX21CIV 883
+mahi_cdac MACH_MAHI_CDAC MAHI_CDAC 884
+xscale_palmtx MACH_XSCALE_PALMTX XSCALE_PALMTX 885
+s3c2413 MACH_S3C2413 S3C2413 887
+samsys_ep0 MACH_SAMSYS_EP0 SAMSYS_EP0 888
+wg302v1 MACH_WG302V1 WG302V1 889
+wg302v2 MACH_WG302V2 WG302V2 890
+eb42x MACH_EB42X EB42X 891
+iq331es MACH_IQ331ES IQ331ES 892
+cosydsp MACH_COSYDSP COSYDSP 893
+uplat7d_proto MACH_UPLAT7D UPLAT7D 894
+ptdavinci MACH_PTDAVINCI PTDAVINCI 895
+mbus MACH_MBUS MBUS 896
+nadia2vb MACH_NADIA2VB NADIA2VB 897
+r1000 MACH_R1000 R1000 898
+hw90250 MACH_HW90250 HW90250 899
+omap_2430sdp MACH_OMAP_2430SDP OMAP_2430SDP 900
+davinci_evm MACH_DAVINCI_EVM DAVINCI_EVM 901
+omap_tornado MACH_OMAP_TORNADO OMAP_TORNADO 902
+olocreek MACH_OLOCREEK OLOCREEK 903
+palmz72 MACH_PALMZ72 PALMZ72 904
+nxdb500 MACH_NXDB500 NXDB500 905
+apf9328 MACH_APF9328 APF9328 906
+omap_wipoq MACH_OMAP_WIPOQ OMAP_WIPOQ 907
+omap_twip MACH_OMAP_TWIP OMAP_TWIP 908
+xscale_treo650 MACH_XSCALE_PALMTREO650 XSCALE_PALMTREO650 909
+acumen MACH_ACUMEN ACUMEN 910
+xp100 MACH_XP100 XP100 911
+fs2410 MACH_FS2410 FS2410 912
+pxa270_cerf MACH_PXA270_CERF PXA270_CERF 913
+sq2ftlpalm MACH_SQ2FTLPALM SQ2FTLPALM 914
+bsemserver MACH_BSEMSERVER BSEMSERVER 915
+netclient MACH_NETCLIENT NETCLIENT 916
+xscale_palmtt5 MACH_XSCALE_PALMTT5 XSCALE_PALMTT5 917
+xscale_palmtc MACH_OMAP_PALMTC OMAP_PALMTC 918
+omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
+mxc30030evb MACH_MXC30030EVB MXC30030EVB 920
+rea_2d MACH_REA_2D REA_2D 921
+eti3e524 MACH_TI3E524 TI3E524 922
+ateb9200 MACH_ATEB9200 ATEB9200 923
+auckland MACH_AUCKLAND AUCKLAND 924
+ak3220m MACH_AK3320M AK3320M 925
+duramax MACH_DURAMAX DURAMAX 926
+n35 MACH_N35 N35 927
+pronghorn MACH_PRONGHORN PRONGHORN 928
+fundy MACH_FUNDY FUNDY 929
+logicpd_pxa270 MACH_LOGICPD_PXA270 LOGICPD_PXA270 930
+cpu777 MACH_CPU777 CPU777 931
+simicon9201 MACH_SIMICON9201 SIMICON9201 932
+leap2_hpm MACH_LEAP2_HPM LEAP2_HPM 933
+cm922txa10 MACH_CM922TXA10 CM922TXA10 934
+sandgate MACH_PXA PXA 935
+sandgate2 MACH_SANDGATE2 SANDGATE2 936
+sandgate2g MACH_SANDGATE2G SANDGATE2G 937
+sandgate2p MACH_SANDGATE2P SANDGATE2P 938
+fred_jack MACH_FRED_JACK FRED_JACK 939
+ttg_color1 MACH_TTG_COLOR1 TTG_COLOR1 940
+nxeb500hmi MACH_NXEB500HMI NXEB500HMI 941
+netdcu8 MACH_NETDCU8 NETDCU8 942
+ml675050_cpu_boa MACH_ML675050_CPU_BOA ML675050_CPU_BOA 943
+ng_fvx538 MACH_NG_FVX538 NG_FVX538 944
+ng_fvs338 MACH_NG_FVS338 NG_FVS338 945
+pnx4103 MACH_PNX4103 PNX4103 946
+hesdb MACH_HESDB HESDB 947
+xsilo MACH_XSILO XSILO 948
+espresso MACH_ESPRESSO ESPRESSO 949
+emlc MACH_EMLC EMLC 950
+sisteron MACH_SISTERON SISTERON 951
+rx1950 MACH_RX1950 RX1950 952
+tsc_venus MACH_TSC_VENUS TSC_VENUS 953
+ds101j MACH_DS101J DS101J 954
+mxc30030ads MACH_MXC30030ADS MXC30030ADS 955
+fujitsu_wimaxsoc MACH_FUJITSU_WIMAXSOC FUJITSU_WIMAXSOC 956
+dualpcmodem MACH_DUALPCMODEM DUALPCMODEM 957
+gesbc9312 MACH_GESBC9312 GESBC9312 958
+htcapache MACH_HTCAPACHE HTCAPACHE 959
+ixdp435 MACH_IXDP435 IXDP435 960
+catprovt100 MACH_CATPROVT100 CATPROVT100 961
+picotux1xx MACH_PICOTUX1XX PICOTUX1XX 962
+picotux2xx MACH_PICOTUX2XX PICOTUX2XX 963
+dsmg600 MACH_DSMG600 DSMG600 964
+empc2 MACH_EMPC2 EMPC2 965
+ventura MACH_VENTURA VENTURA 966
+phidget_sbc MACH_PHIDGET_SBC PHIDGET_SBC 967
+ij3k MACH_IJ3K IJ3K 968
+pisgah MACH_PISGAH PISGAH 969
+omap_fsample MACH_OMAP_FSAMPLE OMAP_FSAMPLE 970
+sg720 MACH_SG720 SG720 971
+redfox MACH_REDFOX REDFOX 972
+mysh_ep9315_1 MACH_MYSH_EP9315_1 MYSH_EP9315_1 973
+tpf106 MACH_TPF106 TPF106 974
+at91rm9200kg MACH_AT91RM9200KG AT91RM9200KG 975
+rcmt2 MACH_SLEDB SLEDB 976
+ontrack MACH_ONTRACK ONTRACK 977
+pm1200 MACH_PM1200 PM1200 978
+ess24562 MACH_ESS24XXX ESS24XXX 979
+coremp7 MACH_COREMP7 COREMP7 980
+nexcoder_6446 MACH_NEXCODER_6446 NEXCODER_6446 981
+stvc8380 MACH_STVC8380 STVC8380 982
+teklynx MACH_TEKLYNX TEKLYNX 983
+carbonado MACH_CARBONADO CARBONADO 984
+sysmos_mp730 MACH_SYSMOS_MP730 SYSMOS_MP730 985
+snapper_cl15 MACH_SNAPPER_CL15 SNAPPER_CL15 986
+pgigim MACH_PGIGIM PGIGIM 987
+ptx9160p2 MACH_PTX9160P2 PTX9160P2 988
+dcore1 MACH_DCORE1 DCORE1 989
+victorpxa MACH_VICTORPXA VICTORPXA 990
+mx2dtb MACH_MX2DTB MX2DTB 991
+pxa_irex_er0100 MACH_PXA_IREX_ER0100 PXA_IREX_ER0100 992
+omap_palmz71 MACH_OMAP_PALMZ71 OMAP_PALMZ71 993
+bartec_deg MACH_BARTEC_DEG BARTEC_DEG 994
+hw50251 MACH_HW50251 HW50251 995
+ibox MACH_IBOX IBOX 996
+atlaslh7a404 MACH_ATLASLH7A404 ATLASLH7A404 997
+pt2026 MACH_PT2026 PT2026 998
+htcalpine MACH_HTCALPINE HTCALPINE 999
+bartec_vtu MACH_BARTEC_VTU BARTEC_VTU 1000
+vcoreii MACH_VCOREII VCOREII 1001
+pdnb3 MACH_PDNB3 PDNB3 1002
+htcbeetles MACH_HTCBEETLES HTCBEETLES 1003
+s3c6400 MACH_S3C6400 S3C6400 1004
+s3c2443 MACH_S3C2443 S3C2443 1005
+omap_ldk MACH_OMAP_LDK OMAP_LDK 1006
+smdk2460 MACH_SMDK2460 SMDK2460 1007
+smdk2440 MACH_SMDK2440 SMDK2440 1008
+smdk2412 MACH_SMDK2412 SMDK2412 1009
+webbox MACH_WEBBOX WEBBOX 1010
+cwwndp MACH_CWWNDP CWWNDP 1011
+i839 MACH_DRAGON DRAGON 1012
+opendo_cpu_board MACH_OPENDO_CPU_BOARD OPENDO_CPU_BOARD 1013
+ccm2200 MACH_CCM2200 CCM2200 1014
+etwarm MACH_ETWARM ETWARM 1015
+m93030 MACH_M93030 M93030 1016
+cc7u MACH_CC7U CC7U 1017
+mtt_ranger MACH_MTT_RANGER MTT_RANGER 1018
+nexus MACH_NEXUS NEXUS 1019
+desman MACH_DESMAN DESMAN 1020
+bkde303 MACH_BKDE303 BKDE303 1021
+smdk2413 MACH_SMDK2413 SMDK2413 1022
+aml_m7200 MACH_AML_M7200 AML_M7200 1023
+aml_m5900 MACH_AML_M5900 AML_M5900 1024
+sg640 MACH_SG640 SG640 1025
+edg79524 MACH_EDG79524 EDG79524 1026
+ai2410 MACH_AI2410 AI2410 1027
+ixp465 MACH_IXP465 IXP465 1028
+balloon3 MACH_BALLOON3 BALLOON3 1029
+heins MACH_HEINS HEINS 1030
+mpluseva MACH_MPLUSEVA MPLUSEVA 1031
+rt042 MACH_RT042 RT042 1032
+cwiem MACH_CWIEM CWIEM 1033
+cm_x270 MACH_CM_X270 CM_X270 1034
+cm_x255 MACH_CM_X255 CM_X255 1035
+esh_at91 MACH_ESH_AT91 ESH_AT91 1036
+sandgate3 MACH_SANDGATE3 SANDGATE3 1037
+primo MACH_PRIMO PRIMO 1038
+gemstone MACH_GEMSTONE GEMSTONE 1039
+pronghorn_metro MACH_PRONGHORNMETRO PRONGHORNMETRO 1040
+sidewinder MACH_SIDEWINDER SIDEWINDER 1041
+picomod1 MACH_PICOMOD1 PICOMOD1 1042
+sg590 MACH_SG590 SG590 1043
+akai9307 MACH_AKAI9307 AKAI9307 1044
+fontaine MACH_FONTAINE FONTAINE 1045
+wombat MACH_WOMBAT WOMBAT 1046
+acq300 MACH_ACQ300 ACQ300 1047
+mod_270 MACH_MOD_270 MOD_270 1048
+vmc_vc0820 MACH_VC0820 VC0820 1049
+ani_aim MACH_ANI_AIM ANI_AIM 1050
+jellyfish MACH_JELLYFISH JELLYFISH 1051
+amanita MACH_AMANITA AMANITA 1052
+vlink MACH_VLINK VLINK 1053
+dexflex MACH_DEXFLEX DEXFLEX 1054
+eigen_ttq MACH_EIGEN_TTQ EIGEN_TTQ 1055
+arcom_titan MACH_ARCOM_TITAN ARCOM_TITAN 1056
+tabla MACH_TABLA TABLA 1057
+mdirac3 MACH_MDIRAC3 MDIRAC3 1058
+mrhfbp2 MACH_MRHFBP2 MRHFBP2 1059
+at91rm9200rb MACH_AT91RM9200RB AT91RM9200RB 1060
+ani_apm MACH_ANI_APM ANI_APM 1061
+ella1 MACH_ELLA1 ELLA1 1062
+inhand_pxa27x MACH_INHAND_PXA27X INHAND_PXA27X 1063
+inhand_pxa25x MACH_INHAND_PXA25X INHAND_PXA25X 1064
+empos_xm MACH_EMPOS_XM EMPOS_XM 1065
+empos MACH_EMPOS EMPOS 1066
+empos_tiny MACH_EMPOS_TINY EMPOS_TINY 1067
+empos_sm MACH_EMPOS_SM EMPOS_SM 1068
+egret MACH_EGRET EGRET 1069
+ostrich MACH_OSTRICH OSTRICH 1070
+n50 MACH_N50 N50 1071
+ecbat91 MACH_ECBAT91 ECBAT91 1072
+stareast MACH_STAREAST STAREAST 1073
+dspg_dw MACH_DSPG_DW DSPG_DW 1074
+onearm MACH_ONEARM ONEARM 1075
+mrg110_6 MACH_MRG110_6 MRG110_6 1076
+wrt300nv2 MACH_WRT300NV2 WRT300NV2 1077
+xm_bulverde MACH_XM_BULVERDE XM_BULVERDE 1078
+msm6100 MACH_MSM6100 MSM6100 1079
+eti_b1 MACH_ETI_B1 ETI_B1 1080
+za9l_series MACH_ZILOG_ZA9L ZILOG_ZA9L 1081
+bit2440 MACH_BIT2440 BIT2440 1082
+nbi MACH_NBI NBI 1083
+smdk2443 MACH_SMDK2443 SMDK2443 1084
+vdavinci MACH_VDAVINCI VDAVINCI 1085
+atc6 MACH_ATC6 ATC6 1086
+multmdw MACH_MULTMDW MULTMDW 1087
+mba2440 MACH_MBA2440 MBA2440 1088
+ecsd MACH_ECSD ECSD 1089
+zire31 MACH_ZIRE31 ZIRE31 1090
+fsg MACH_FSG FSG 1091
+razor101 MACH_RAZOR101 RAZOR101 1092
+opera_tdm MACH_OPERA_TDM OPERA_TDM 1093
+comcerto MACH_COMCERTO COMCERTO 1094
+tb0319 MACH_TB0319 TB0319 1095
+kws8000 MACH_KWS8000 KWS8000 1096
+b2 MACH_B2 B2 1097
+lcl54 MACH_LCL54 LCL54 1098
+at91sam9260ek MACH_AT91SAM9260EK AT91SAM9260EK 1099
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch b/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch
new file mode 100644
index 0000000000..d77e9d8fbd
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes-r0.patch
@@ -0,0 +1,599 @@
+Index: linux-2.6.17/drivers/mtd/nand/cm-x270.c
+===================================================================
+--- linux-2.6.17.orig/drivers/mtd/nand/cm-x270.c 2006-07-18 15:40:10.000000000 +0100
++++ linux-2.6.17/drivers/mtd/nand/cm-x270.c 2006-07-19 15:35:18.000000000 +0100
+@@ -1,7 +1,13 @@
+ /*
+- * drivers/mtd/nand/cm-x270.c
++ * linux/drivers/mtd/nand/cmx270-nand.c
++ *
++ * Copyright (C) 2006 Compulab, Ltd.
++ * Mike Rapoport <mike@compulab.co.il>
++ *
++ * Derived from drivers/mtd/nand/h1910.c
++ * Copyright (C) 2002 Marius Gröger (mag@sysgo.de)
++ * Copyright (c) 2001 Thomas Gleixner (gleixner@autronix.de)
+ *
+- * Copyright (c) 2006, 8D Technologies inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+@@ -9,397 +15,269 @@
+ *
+ * Overview:
+ * This is a device driver for the NAND flash device found on the
+- * cm-x270 compulab SBC.
+- *
+- * Changelog:
+- * - April 2006, Raphael Assenat <raph@8d.com>:
+- * Creation of the driver.
++ * CM-X270 board.
+ */
+
+-#include <linux/delay.h>
++#include <linux/slab.h>
++#include <linux/init.h>
++#include <linux/module.h>
+ #include <linux/mtd/mtd.h>
+ #include <linux/mtd/nand.h>
+ #include <linux/mtd/partitions.h>
+-#include <asm/hardware.h>
++
+ #include <asm/io.h>
++#include <asm/irq.h>
++
++#include <asm/arch/hardware.h>
+ #include <asm/arch/pxa-regs.h>
+-#include <asm/arch/cm-x270.h>
+
++#define GPIO_NAND_CS (11)
++#define GPIO_NAND_RB (89)
+
+-static struct mtd_info *cmx270_mtd = NULL;
+-static void *cmx270_nand_io_base;
+-#define OFFSET_BASE 0
+-#define OFFSET_CLE 4
+-#define OFFSET_ALE 8
+-
+-#define DEFAULT_NUM_PARTITIONS 1
+-static int nr_partitions;
+-static struct mtd_partition cmx270_default_partition_info[] = {
+- {
+- .name = "rootfs",
+- .offset = 0,
+- .size = MTDPART_SIZ_FULL,
+- },
+-};
++/* This macro needed to ensure in-order operation of GPIO and local
++ * bus. Without both asm command and dummy uncached read there're
++ * states when NAND access is broken. I've looked for such macro(s) in
++ * include/asm-arm but found nothing approptiate.
++ * dmac_clean_range is close, but is makes cache invalidation
++ * unnecessary here and it cannot be used in module
++ */
++#define DRAIN_WB() \
++ do { \
++ unsigned char dummy; \
++ asm volatile ("mcr p15, 0, r0, c7, c10, 4":::"r0"); \
++ dummy=*((unsigned char*)UNCACHED_ADDR); \
++ } while(0)
+
+-static void cmx270_nand_hwcontrol(struct mtd_info *mtd, int cmd)
+-{
+- udelay(1);
+- switch(cmd)
++/* MTD structure for CM-X270 board */
++static struct mtd_info *cmx270_nand_mtd;
++
++/* remaped IO address of the device */
++static void __iomem *cmx270_nand_io;
++
++/*
++ * Define static partitions for flash device
++ */
++static struct mtd_partition partition_info[] = {
+ {
+- case NAND_CTL_SETNCE:
+- GPCR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
+- break;
+- case NAND_CTL_CLRNCE:
+- GPSR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
+- break;
++ .name = "cmx270-0",
++ .offset = 0,
++ .size = MTDPART_SIZ_FULL
+ }
+- udelay(1);
+-}
+-
+-static int cmx270_nand_device_ready(struct mtd_info *mtd)
+-{
+- /* I was getting ecc errors on reads, but adding this delay
+- made the problem disappear. There is probably a timing
+- issue somewhere. */
+- //ndelay (500);
+- udelay (25);
++};
++#define NUM_PARTITIONS (ARRAY_SIZE(partition_info))
+
+- return GPLR(CM_X270_GPIO_NAND_RB) & GPIO_bit(CM_X270_GPIO_NAND_RB);
+-}
++const char *part_probes[] = { "cmdlinepart", NULL };
+
+-static u_char cmx270_nand_read_byte(struct mtd_info *mtd)
++static u_char cmx270_read_byte(struct mtd_info *mtd)
+ {
+ struct nand_chip *this = mtd->priv;
+-// unsigned long raw = readl(this->IO_ADDR_R);
+- unsigned char res = ( readl(this->IO_ADDR_R) >> 16 ) & 0xff;
+- return res;
+-}
+
+-static void cmx270_nand_write_byte(struct mtd_info *mtd, u_char byte)
+-{
+- struct nand_chip *this = mtd->priv;
+- writel( (byte<<16), this->IO_ADDR_W );
+- udelay(1);
++ return (readl(this->IO_ADDR_R) >> 16);
+ }
+
+-static void cmx270_nand_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
++static void cmx270_write_buf(struct mtd_info *mtd, const u_char *buf, int len)
+ {
+ int i;
+ struct nand_chip *this = mtd->priv;
+
+ for (i=0; i<len; i++)
+- writel((buf[i]<<16), this->IO_ADDR_W);
+- udelay(1);
++ writel((*buf++ << 16), this->IO_ADDR_W);
+ }
+
+-static void cmx270_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len)
++static void cmx270_read_buf(struct mtd_info *mtd, u_char *buf, int len)
+ {
+ int i;
+ struct nand_chip *this = mtd->priv;
+
+ for (i=0; i<len; i++)
+- buf[i] = (readl(this->IO_ADDR_R) >> 16 ) & 0xff;
+- udelay(1);
++ *buf++ = readl(this->IO_ADDR_R) >> 16;
+ }
+
+-static int cmx270_nand_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
++static int cmx270_verify_buf(struct mtd_info *mtd, const u_char *buf, int len)
+ {
+ int i;
+ struct nand_chip *this = mtd->priv;
+
+ for (i=0; i<len; i++)
+- if (buf[i] != ((readl(this->IO_ADDR_R) >> 16) & 0xff))
++ if (buf[i] != (u_char)(readl(this->IO_ADDR_R) >> 16))
+ return -EFAULT;
+- udelay(1);
+
+ return 0;
+ }
+
+-static void cmx270_nand_write_ALE(struct mtd_info *mtd, const u_char byte)
++static inline void nand_cs_on(void)
+ {
+- struct nand_chip *this = mtd->priv;
+- writel( byte << 16 , this->IO_ADDR_W + OFFSET_ALE);
+- udelay(1);
++ GPCR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
+ }
+
+-static void cmx270_nand_write_CLE(struct mtd_info *mtd, const u_char byte)
++static void nand_cs_off(void)
+ {
+- struct nand_chip *this = mtd->priv;
+- writel( byte << 16 , this->IO_ADDR_W + OFFSET_CLE);
+- udelay(1);
++ DRAIN_WB();
++
++ GPSR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
+ }
+
+-/* Same as nand_core:nand_command() but with different memory
+- * addresses for writing to ALE and CLE and without 16 bit support.
++/*
++ * hardware specific access to control-lines
+ */
+-static void cmx270_nand_command(struct mtd_info *mtd, unsigned command, int column, int page_addr)
++static void cmx270_hwcontrol(struct mtd_info *mtd, int cmd)
+ {
+- register struct nand_chip *this = mtd->priv;
++ struct nand_chip* this = (struct nand_chip *) (mtd->priv);
++ unsigned int nandaddr = (unsigned int)this->IO_ADDR_R;
+
+-// printk("cmd: 0x%02x col: 0x%x page_addr: 0x%x\n",
+-// command, column, page_addr);
+-
+- if (command == NAND_CMD_SEQIN) {
+- int readcmd;
+-
+- if (column >= mtd->oobblock) {
+- /* OOB area */
+- column -= mtd->oobblock;
+- readcmd = NAND_CMD_READOOB;
+- } else if (column < 256) {
+- /* First 256 bytes --> READ0 */
+- readcmd = NAND_CMD_READ0;
+- } else {
+- column -= 256;
+- readcmd = NAND_CMD_READ1;
+- }
+- cmx270_nand_write_CLE(mtd, readcmd);
+- }
+- cmx270_nand_write_CLE(mtd, command);
++ DRAIN_WB();
+
+- if (column != -1 || page_addr != -1) {
+-
+- /* Serially input address */
+- if (column != -1) {
+- cmx270_nand_write_ALE(mtd, column);
+- }
+- if (page_addr != -1) {
+- cmx270_nand_write_ALE(mtd, (unsigned char) (page_addr & 0xff));
+- cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 8) & 0xff));
+- /* One more address cycle for devices > 32MiB */
+- if (this->chipsize > (32 << 20))
+- cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 16) & 0x0f));
+- }
+- }
++ switch(cmd) {
+
+- /*
+- * program and erase have their own busy handlers
+- * status and sequential in needs no delay
+- */
+- switch (command) {
+-
+- case NAND_CMD_PAGEPROG:
+- case NAND_CMD_ERASE1:
+- case NAND_CMD_ERASE2:
+- case NAND_CMD_SEQIN:
+- case NAND_CMD_STATUS:
+- return;
+-
+- case NAND_CMD_RESET:
+- if (this->dev_ready)
+- break;
+- udelay(this->chip_delay);
+- cmx270_nand_write_CLE(mtd, NAND_CMD_STATUS);
+- while ( !(this->read_byte(mtd) & 0x40));
+- return;
+-
+- /* This applies to read commands */
+- default:
+- /*
+- * If we don't have access to the busy pin, we apply the given
+- * command delay
+- */
+- if (!this->dev_ready) {
+- udelay(this->chip_delay);
+- return;
+- }
+- }
+-
+- /* Apply this short delay always to ensure that we do wait tWB in
+- * any case on any machine. */
+- ndelay (100);
+- /* wait until command is processed */
+- while (!this->dev_ready(mtd));
+- ndelay (100);
++ case NAND_CTL_SETCLE:
++ nandaddr |= (1 << 2);
++ this->IO_ADDR_R = (void __iomem*)nandaddr;
++ this->IO_ADDR_W = (void __iomem*)nandaddr;
++ break;
++ case NAND_CTL_CLRCLE:
++ nandaddr &= ~(1 << 2);
++ this->IO_ADDR_R = (void __iomem*)nandaddr;
++ this->IO_ADDR_W = (void __iomem*)nandaddr;
++ break;
++
++ case NAND_CTL_SETALE:
++ nandaddr |= (1 << 3);
++ this->IO_ADDR_R = (void __iomem*)nandaddr;
++ this->IO_ADDR_W = (void __iomem*)nandaddr;
++ break;
++ case NAND_CTL_CLRALE:
++ nandaddr &= ~(1 << 3);
++ this->IO_ADDR_R = (void __iomem*)nandaddr;
++ this->IO_ADDR_W = (void __iomem*)nandaddr;
++ break;
++
++ case NAND_CTL_SETNCE:
++ nand_cs_on();
++ break;
++ case NAND_CTL_CLRNCE:
++ nand_cs_off();
++ break;
++ }
++
++ DRAIN_WB();
+ }
+
+-/* Same as nand_core:nand_command_lp() but with different memory
+- * addresses for writing to ALE and CLE and without 16 bit support.
++
++/*
++ * read device ready pin
+ */
+-static void cmx270_nand_command_lp (struct mtd_info *mtd, unsigned command, int column, int page_addr)
++static int cmx270_device_ready(struct mtd_info *mtd)
+ {
+- register struct nand_chip *this = mtd->priv;
+-
+- /* Emulate NAND_CMD_READOOB */
+- if (command == NAND_CMD_READOOB) {
+- column += mtd->oobblock;
+- command = NAND_CMD_READ0;
+-// printk("Read OOB: column: $%x, page: $%x\n", column, page_addr);
+- }
+-
+- /* Write out the command to the device. */
+- cmx270_nand_write_CLE(mtd, command);
+-
+- if (column != -1 || page_addr != -1) {
+-
+- /* Serially input address */
+- if (column != -1) {
+- cmx270_nand_write_ALE(mtd, column & 0xff);
+- cmx270_nand_write_ALE(mtd, column >> 8);
+- if ((column >> 8) > 0xf) {
+- printk("out of range column\n");
+- }
+- }
+- if (page_addr != -1) {
+- cmx270_nand_write_ALE(mtd, (unsigned char) (page_addr & 0xff));
+- cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 8) & 0xff));
+- /* One more address cycle for devices > 128MiB */
+- if (this->chipsize > (128 << 20)) {
+- cmx270_nand_write_ALE(mtd, (unsigned char) ((page_addr >> 16) & 0xff));
+- }
+- }
+- }
++ DRAIN_WB();
+
+- udelay(1);
+-
+- /*
+- * program and erase have their own busy handlers
+- * status and sequential in needs no delay
+- */
+- switch (command) {
+-
+- case NAND_CMD_CACHEDPROG:
+- case NAND_CMD_PAGEPROG:
+- case NAND_CMD_ERASE1:
+- case NAND_CMD_ERASE2:
+- case NAND_CMD_SEQIN:
+- case NAND_CMD_STATUS:
+- case NAND_CMD_DEPLETE1:
+- return;
+-
+- /*
+- * read error status commands require only a short delay
+- */
+- case NAND_CMD_STATUS_ERROR:
+- case NAND_CMD_STATUS_ERROR0:
+- case NAND_CMD_STATUS_ERROR1:
+- case NAND_CMD_STATUS_ERROR2:
+- case NAND_CMD_STATUS_ERROR3:
+- udelay(this->chip_delay);
+- return;
+-
+- case NAND_CMD_RESET:
+- if (this->dev_ready)
+- break;
+- udelay(this->chip_delay);
+- cmx270_nand_write_CLE(mtd, NAND_CMD_STATUS);
+- while ( !(this->read_byte(mtd) & NAND_STATUS_READY));
+- return;
+-
+- case NAND_CMD_READ0:
+- /* Write out the start read command */
+- cmx270_nand_write_CLE(mtd, NAND_CMD_READSTART);
+- /* Fall through into ready check */
+-
+- /* This applies to read commands */
+- default:
+- /*
+- * If we don't have access to the busy pin, we apply the given
+- * command delay
+- */
+- if (!this->dev_ready) {
+- udelay (this->chip_delay);
+- return;
+- }
+- }
+-
+- /* Apply this short delay always to ensure that we do wait tWB in
+- * any case on any machine. */
+- ndelay (100);
+- /* wait until command is processed */
+- while (!this->dev_ready(mtd));
++ return (GPLR(GPIO_NAND_RB) & GPIO_bit(GPIO_NAND_RB));
+ }
+
+-
+-#ifdef CONFIG_MTD_PARTITIONS
+-const char *part_probes[] = { "cmdlinepart", NULL };
+-#endif
+-
+-int __init cmx270_nand_init(void)
++/*
++ * Main initialization routine
++ */
++static int __devinit cmx270_init(void)
+ {
+ struct nand_chip *this;
+- struct mtd_partition* cmx270_partition_info;
+- int err = 0;
+-
+- pxa_gpio_mode(CM_X270_GPIO_NAND_RB);
++ const char *part_type;
++ struct mtd_partition *mtd_parts;
++ int mtd_parts_nb = 0;
++ int ret;
+
+- GPSR(CM_X270_GPIO_NAND_CS) = GPIO_bit(CM_X270_GPIO_NAND_CS);
+- pxa_gpio_mode(CM_X270_GPIO_NAND_CS | GPIO_OUT);
+-
+ /* Allocate memory for MTD device structure and private data */
+- cmx270_mtd = kmalloc(sizeof(struct mtd_info) + sizeof(struct nand_chip),
+- GFP_KERNEL);
+- if (!cmx270_mtd) {
+- printk(KERN_WARNING "Unable to allocate cm-x270 NAND mtd device structure.\n");
+- err = -ENOMEM;
+- goto out;
++ cmx270_nand_mtd = kzalloc(sizeof(struct mtd_info) +
++ sizeof(struct nand_chip),
++ GFP_KERNEL);
++ if (!cmx270_nand_mtd) {
++ printk("Unable to allocate CM-X270 NAND MTD device structure.\n");
++ return -ENOMEM;
+ }
+
+- /* map physical address */
+- cmx270_nand_io_base = ioremap(CM_X270_NAND_PHYS, 0x100);
+- if (!cmx270_nand_io_base) {
+- err = -EIO;
+- goto out_mtd;
++ cmx270_nand_io = ioremap(PXA_CS1_PHYS, 12);
++ if (!cmx270_nand_io) {
++ printk("Unable to ioremap NAND device\n");
++ ret = -EINVAL;
++ goto err1;
+ }
+
+ /* Get pointer to private data */
+- this = (struct nand_chip *)(&cmx270_mtd[1]);
+-
+- /* Initialize structures */
+- memset((char *) cmx270_mtd, 0, sizeof(struct mtd_info));
+- memset((char *) this, 0, sizeof(struct nand_chip));
++ this = (struct nand_chip *)(&cmx270_nand_mtd[1]);
+
+ /* Link the private data with the MTD structure */
+- cmx270_mtd->priv = this;
++ cmx270_nand_mtd->owner = THIS_MODULE;
++ cmx270_nand_mtd->priv = this;
+
+- this->IO_ADDR_R = cmx270_nand_io_base;
+- this->IO_ADDR_W = cmx270_nand_io_base;
+- this->read_byte = cmx270_nand_read_byte;
+- this->write_byte = cmx270_nand_write_byte;
+- this->write_buf = cmx270_nand_write_buf;
+- this->read_buf = cmx270_nand_read_buf;
+- this->verify_buf = cmx270_nand_verify_buf;
+- this->hwcontrol = cmx270_nand_hwcontrol;
+- this->dev_ready = cmx270_nand_device_ready;
+- this->cmdfunc = cmx270_nand_command_lp;
+- this->chip_delay = 25;
++ /* insert callbacks */
++ this->IO_ADDR_R = cmx270_nand_io;
++ this->IO_ADDR_W = cmx270_nand_io;
++ this->hwcontrol = cmx270_hwcontrol;
++ this->dev_ready = cmx270_device_ready;
++
++ /* 15 us command delay time */
++ this->chip_delay = 20;
+ this->eccmode = NAND_ECC_SOFT;
+
+- /* Scan to find existance of the device */
+- if (nand_scan(cmx270_mtd, 1)) {
+- err = -ENXIO;
+- goto out_ior;
++ /* read/write functions */
++ this->read_byte = cmx270_read_byte;
++ this->read_buf = cmx270_read_buf;
++ this->write_buf = cmx270_write_buf;
++ this->verify_buf = cmx270_verify_buf;
++
++ /* Scan to find existence of the device */
++ if (nand_scan (cmx270_nand_mtd, 1)) {
++ printk(KERN_NOTICE "No NAND device\n");
++ ret = -ENXIO;
++ goto err2;
++ }
++
++#ifdef CONFIG_MTD_CMDLINE_PARTS
++ mtd_parts_nb = parse_mtd_partitions(cmx270_nand_mtd, part_probes,
++ &mtd_parts, 0);
++ if (mtd_parts_nb > 0)
++ part_type = "command line";
++ else
++ mtd_parts_nb = 0;
++#endif
++ if (!mtd_parts_nb) {
++ mtd_parts = partition_info;
++ mtd_parts_nb = NUM_PARTITIONS;
++ part_type = "static";
+ }
+
+ /* Register the partitions */
+- cmx270_mtd->name = "cmx270-mtd";
+- nr_partitions = parse_mtd_partitions(cmx270_mtd, part_probes, &cmx270_partition_info, 0);
+- if (nr_partitions <= 0) {
+- nr_partitions = DEFAULT_NUM_PARTITIONS;
+- cmx270_partition_info = cmx270_default_partition_info;
+- }
++ printk(KERN_NOTICE "Using %s partition definition\n", part_type);
++ ret = add_mtd_partitions(cmx270_nand_mtd, mtd_parts, mtd_parts_nb);
++ if (ret)
++ goto err2;
++
++ /* Return happy */
++ return 0;
++
++err2:
++ iounmap(cmx270_nand_io);
++err1:
++ kfree(cmx270_nand_mtd);
++
++ return ret;
+
+- add_mtd_partitions(cmx270_mtd, cmx270_partition_info, nr_partitions);
+-
+- goto out;
+-
+-out_ior:
+- iounmap((void*) cmx270_nand_io_base);
+-out_mtd:
+- kfree(cmx270_mtd);
+-out:
+- return err;
+ }
+-module_init(cmx270_nand_init);
++module_init(cmx270_init);
+
+-static void __exit cmx270_nand_cleanup(void)
++/*
++ * Clean up routine
++ */
++static void __devexit cmx270_cleanup(void)
+ {
+- nand_release(cmx270_mtd);
+- kfree(cmx270_mtd);
++ /* Release resources, unregister device */
++ nand_release(cmx270_nand_mtd);
++
++ iounmap(cmx270_nand_io);
++
++ /* Free the MTD device structure */
++ kfree (cmx270_nand_mtd);
+ }
++module_exit(cmx270_cleanup);
+
+ MODULE_LICENSE("GPL");
+-MODULE_AUTHOR("Raphael Assenat <raph@8d.com>");
+-MODULE_DESCRIPTION("NAND flash driver for cm-x270 boards");
+-
++MODULE_AUTHOR("Mike Rapoport <mike@compulab.co.il>");
++MODULE_DESCRIPTION("NAND flash driver for Compulab CM-X270 Module");
diff --git a/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch b/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch
new file mode 100644
index 0000000000..da00e1f8e9
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-2.6.17/mtd_fixes1-r0.patch
@@ -0,0 +1,15 @@
+Index: linux-2.6.17/drivers/mtd/nand/cm-x270.c
+===================================================================
+--- linux-2.6.17.orig/drivers/mtd/nand/cm-x270.c 2006-07-19 16:47:08.000000000 +0100
++++ linux-2.6.17/drivers/mtd/nand/cm-x270.c 2006-07-19 16:55:23.000000000 +0100
+@@ -184,6 +184,10 @@
+ int mtd_parts_nb = 0;
+ int ret;
+
++ pxa_gpio_mode(GPIO_NAND_RB);
++ GPSR(GPIO_NAND_CS) = GPIO_bit(GPIO_NAND_CS);
++ pxa_gpio_mode(GPIO_NAND_CS | GPIO_OUT);
++
+ /* Allocate memory for MTD device structure and private data */
+ cmx270_nand_mtd = kzalloc(sizeof(struct mtd_info) +
+ sizeof(struct nand_chip),
diff --git a/meta/packages/linux/linux-cmx270-rp-2.6.17/defconfig b/meta/packages/linux/linux-cmx270-rp-2.6.17/defconfig
new file mode 100644
index 0000000000..d41dd2ce0c
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-rp-2.6.17/defconfig
@@ -0,0 +1,1485 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17
+# Mon Jul 3 17:36:37 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION="-cm-x270"
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_RT_MUTEXES=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+CONFIG_DMABOUNCE=y
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
+CONFIG_MACH_ARMCORE=y
+CONFIG_CM_X270=y
+# CONFIG_CM_X255 is not set
+CONFIG_CM_X270_ATXBASE=y
+# CONFIG_CM_X270_SB2XX is not set
+CONFIG_PXA27x=y
+CONFIG_IWMMXT=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_HOST_ITE8152=y
+# CONFIG_PCI_DEBUG is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+# CONFIG_PCMCIA_LOAD_CIS is not set
+CONFIG_PCMCIA_IOCTL=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+# CONFIG_PD6729 is not set
+# CONFIG_I82092 is not set
+CONFIG_PCMCIA_PXA2XX=m
+CONFIG_PCCARD_NONSTATIC=m
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_LEDS=y
+CONFIG_LEDS_TIMER=y
+CONFIG_LEDS_CPU=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,38400 root=/dev/nfs"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_IEEE80211_SOFTMAC=m
+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=m
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_SHARPSL is not set
+CONFIG_MTD_NAND_CM_X270=m
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=12000
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECD=m
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_BLK_DEV_IDEPCI is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDE_CM_X270=m
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+CONFIG_SMC91X=y
+CONFIG_DM9000=y
+# CONFIG_SMC911X is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_MYRI10GE is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_BCM43XX is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+# CONFIG_PCMCIA_PCNET is not set
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_PCI=m
+# CONFIG_SERIAL_8250_CS is not set
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_PXA2XX=m
+
+#
+# SPI Protocol Masters
+#
+
+#
+# Dallas's 1-wire bus
+#
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+# CONFIG_UCB1400_TS is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_V4L2=y
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_PXA is not set
+# CONFIG_FB_PXA_PARAMETERS is not set
+CONFIG_FB_MBX=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_AC97_BUS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=y
+CONFIG_SND_PXA2XX_AC97=y
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_SA1100 is not set
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+CONFIG_RTC_DRV_V3020=y
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=y
+# CONFIG_SMB_NLS_DEFAULT is not set
+# CONFIG_CIFS is not set
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_PLIST=y
diff --git a/meta/packages/linux/linux-cmx270-rp-2.6.17/mach-types b/meta/packages/linux/linux-cmx270-rp-2.6.17/mach-types
new file mode 100644
index 0000000000..e1372a2531
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-rp-2.6.17/mach-types
@@ -0,0 +1,1095 @@
+# Database of machine macros and numbers
+#
+# This file is linux/arch/arm/tools/mach-types
+#
+# Up to date versions of this file can be obtained from:
+#
+# http://www.arm.linux.org.uk/developer/machines/?action=download
+#
+# Please do not send patches to this file; it is automatically generated!
+# To add an entry into this database, please see Documentation/arm/README,
+# or visit:
+#
+# http://www.arm.linux.org.uk/developer/machines/?action=new
+#
+# Last update: Mon Jun 26 22:26:08 2006
+#
+# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
+#
+ebsa110 ARCH_EBSA110 EBSA110 0
+riscpc ARCH_RPC RISCPC 1
+nexuspci ARCH_NEXUSPCI NEXUSPCI 3
+ebsa285 ARCH_EBSA285 EBSA285 4
+netwinder ARCH_NETWINDER NETWINDER 5
+cats ARCH_CATS CATS 6
+tbox ARCH_TBOX TBOX 7
+co285 ARCH_CO285 CO285 8
+clps7110 ARCH_CLPS7110 CLPS7110 9
+archimedes ARCH_ARC ARCHIMEDES 10
+a5k ARCH_A5K A5K 11
+etoile ARCH_ETOILE ETOILE 12
+lacie_nas ARCH_LACIE_NAS LACIE_NAS 13
+clps7500 ARCH_CLPS7500 CLPS7500 14
+shark ARCH_SHARK SHARK 15
+brutus SA1100_BRUTUS BRUTUS 16
+personal_server ARCH_PERSONAL_SERVER PERSONAL_SERVER 17
+itsy SA1100_ITSY ITSY 18
+l7200 ARCH_L7200 L7200 19
+pleb SA1100_PLEB PLEB 20
+integrator ARCH_INTEGRATOR INTEGRATOR 21
+h3600 SA1100_H3600 H3600 22
+ixp1200 ARCH_IXP1200 IXP1200 23
+p720t ARCH_P720T P720T 24
+assabet SA1100_ASSABET ASSABET 25
+victor SA1100_VICTOR VICTOR 26
+lart SA1100_LART LART 27
+ranger SA1100_RANGER RANGER 28
+graphicsclient SA1100_GRAPHICSCLIENT GRAPHICSCLIENT 29
+xp860 SA1100_XP860 XP860 30
+cerf SA1100_CERF CERF 31
+nanoengine SA1100_NANOENGINE NANOENGINE 32
+fpic SA1100_FPIC FPIC 33
+extenex1 SA1100_EXTENEX1 EXTENEX1 34
+sherman SA1100_SHERMAN SHERMAN 35
+accelent_sa SA1100_ACCELENT ACCELENT_SA 36
+accelent_l7200 ARCH_L7200_ACCELENT ACCELENT_L7200 37
+netport SA1100_NETPORT NETPORT 38
+pangolin SA1100_PANGOLIN PANGOLIN 39
+yopy SA1100_YOPY YOPY 40
+coolidge SA1100_COOLIDGE COOLIDGE 41
+huw_webpanel SA1100_HUW_WEBPANEL HUW_WEBPANEL 42
+spotme ARCH_SPOTME SPOTME 43
+freebird ARCH_FREEBIRD FREEBIRD 44
+ti925 ARCH_TI925 TI925 45
+riscstation ARCH_RISCSTATION RISCSTATION 46
+cavy SA1100_CAVY CAVY 47
+jornada720 SA1100_JORNADA720 JORNADA720 48
+omnimeter SA1100_OMNIMETER OMNIMETER 49
+edb7211 ARCH_EDB7211 EDB7211 50
+citygo SA1100_CITYGO CITYGO 51
+pfs168 SA1100_PFS168 PFS168 52
+spot SA1100_SPOT SPOT 53
+flexanet SA1100_FLEXANET FLEXANET 54
+webpal ARCH_WEBPAL WEBPAL 55
+linpda SA1100_LINPDA LINPDA 56
+anakin ARCH_ANAKIN ANAKIN 57
+mvi SA1100_MVI MVI 58
+jupiter SA1100_JUPITER JUPITER 59
+psionw ARCH_PSIONW PSIONW 60
+aln SA1100_ALN ALN 61
+epxa ARCH_CAMELOT CAMELOT 62
+gds2200 SA1100_GDS2200 GDS2200 63
+psion_series7 SA1100_PSION_SERIES7 PSION_SERIES7 64
+xfile SA1100_XFILE XFILE 65
+accelent_ep9312 ARCH_ACCELENT_EP9312 ACCELENT_EP9312 66
+ic200 ARCH_IC200 IC200 67
+creditlart SA1100_CREDITLART CREDITLART 68
+htm SA1100_HTM HTM 69
+iq80310 ARCH_IQ80310 IQ80310 70
+freebot SA1100_FREEBOT FREEBOT 71
+entel ARCH_ENTEL ENTEL 72
+enp3510 ARCH_ENP3510 ENP3510 73
+trizeps SA1100_TRIZEPS TRIZEPS 74
+nesa SA1100_NESA NESA 75
+venus ARCH_VENUS VENUS 76
+tardis ARCH_TARDIS TARDIS 77
+mercury ARCH_MERCURY MERCURY 78
+empeg SA1100_EMPEG EMPEG 79
+adi_evb ARCH_I80200FCC I80200FCC 80
+itt_cpb SA1100_ITT_CPB ITT_CPB 81
+svc SA1100_SVC SVC 82
+alpha2 SA1100_ALPHA2 ALPHA2 84
+alpha1 SA1100_ALPHA1 ALPHA1 85
+netarm ARCH_NETARM NETARM 86
+simpad SA1100_SIMPAD SIMPAD 87
+pda1 ARCH_PDA1 PDA1 88
+lubbock ARCH_LUBBOCK LUBBOCK 89
+aniko ARCH_ANIKO ANIKO 90
+clep7212 ARCH_CLEP7212 CLEP7212 91
+cs89712 ARCH_CS89712 CS89712 92
+weararm SA1100_WEARARM WEARARM 93
+possio_px SA1100_POSSIO_PX POSSIO_PX 94
+sidearm SA1100_SIDEARM SIDEARM 95
+stork SA1100_STORK STORK 96
+shannon SA1100_SHANNON SHANNON 97
+ace ARCH_ACE ACE 98
+ballyarm SA1100_BALLYARM BALLYARM 99
+simputer SA1100_SIMPUTER SIMPUTER 100
+nexterm SA1100_NEXTERM NEXTERM 101
+sa1100_elf SA1100_SA1100_ELF SA1100_ELF 102
+gator SA1100_GATOR GATOR 103
+granite ARCH_GRANITE GRANITE 104
+consus SA1100_CONSUS CONSUS 105
+aaed2000 ARCH_AAED2000 AAED2000 106
+cdb89712 ARCH_CDB89712 CDB89712 107
+graphicsmaster SA1100_GRAPHICSMASTER GRAPHICSMASTER 108
+adsbitsy SA1100_ADSBITSY ADSBITSY 109
+pxa_idp ARCH_PXA_IDP PXA_IDP 110
+plce ARCH_PLCE PLCE 111
+pt_system3 SA1100_PT_SYSTEM3 PT_SYSTEM3 112
+murphy ARCH_MEDALB MEDALB 113
+eagle ARCH_EAGLE EAGLE 114
+dsc21 ARCH_DSC21 DSC21 115
+dsc24 ARCH_DSC24 DSC24 116
+ti5472 ARCH_TI5472 TI5472 117
+autcpu12 ARCH_AUTCPU12 AUTCPU12 118
+uengine ARCH_UENGINE UENGINE 119
+bluestem SA1100_BLUESTEM BLUESTEM 120
+xingu8 ARCH_XINGU8 XINGU8 121
+bushstb ARCH_BUSHSTB BUSHSTB 122
+epsilon1 SA1100_EPSILON1 EPSILON1 123
+balloon SA1100_BALLOON BALLOON 124
+puppy ARCH_PUPPY PUPPY 125
+elroy SA1100_ELROY ELROY 126
+gms720 ARCH_GMS720 GMS720 127
+s24x ARCH_S24X S24X 128
+jtel_clep7312 ARCH_JTEL_CLEP7312 JTEL_CLEP7312 129
+cx821xx ARCH_CX821XX CX821XX 130
+edb7312 ARCH_EDB7312 EDB7312 131
+bsa1110 SA1100_BSA1110 BSA1110 132
+powerpin ARCH_POWERPIN POWERPIN 133
+openarm ARCH_OPENARM OPENARM 134
+whitechapel SA1100_WHITECHAPEL WHITECHAPEL 135
+h3100 SA1100_H3100 H3100 136
+h3800 SA1100_H3800 H3800 137
+blue_v1 ARCH_BLUE_V1 BLUE_V1 138
+pxa_cerf ARCH_PXA_CERF PXA_CERF 139
+arm7tevb ARCH_ARM7TEVB ARM7TEVB 140
+d7400 SA1100_D7400 D7400 141
+piranha ARCH_PIRANHA PIRANHA 142
+sbcamelot SA1100_SBCAMELOT SBCAMELOT 143
+kings SA1100_KINGS KINGS 144
+smdk2400 ARCH_SMDK2400 SMDK2400 145
+collie SA1100_COLLIE COLLIE 146
+idr ARCH_IDR IDR 147
+badge4 SA1100_BADGE4 BADGE4 148
+webnet ARCH_WEBNET WEBNET 149
+d7300 SA1100_D7300 D7300 150
+cep SA1100_CEP CEP 151
+fortunet ARCH_FORTUNET FORTUNET 152
+vc547x ARCH_VC547X VC547X 153
+filewalker SA1100_FILEWALKER FILEWALKER 154
+netgateway SA1100_NETGATEWAY NETGATEWAY 155
+symbol2800 SA1100_SYMBOL2800 SYMBOL2800 156
+suns SA1100_SUNS SUNS 157
+frodo SA1100_FRODO FRODO 158
+ms301 SA1100_MACH_TYTE_MS301 MACH_TYTE_MS301 159
+mx1ads ARCH_MX1ADS MX1ADS 160
+h7201 ARCH_H7201 H7201 161
+h7202 ARCH_H7202 H7202 162
+amico ARCH_AMICO AMICO 163
+iam SA1100_IAM IAM 164
+tt530 SA1100_TT530 TT530 165
+sam2400 ARCH_SAM2400 SAM2400 166
+jornada56x SA1100_JORNADA56X JORNADA56X 167
+active SA1100_ACTIVE ACTIVE 168
+iq80321 ARCH_IQ80321 IQ80321 169
+wid SA1100_WID WID 170
+sabinal ARCH_SABINAL SABINAL 171
+ixp425_matacumbe ARCH_IXP425_MATACUMBE IXP425_MATACUMBE 172
+miniprint SA1100_MINIPRINT MINIPRINT 173
+adm510x ARCH_ADM510X ADM510X 174
+svs200 SA1100_SVS200 SVS200 175
+atg_tcu ARCH_ATG_TCU ATG_TCU 176
+jornada820 SA1100_JORNADA820 JORNADA820 177
+s3c44b0 ARCH_S3C44B0 S3C44B0 178
+margis2 ARCH_MARGIS2 MARGIS2 179
+ks8695 ARCH_KS8695 KS8695 180
+brh ARCH_BRH BRH 181
+s3c2410 ARCH_S3C2410 S3C2410 182
+possio_px30 ARCH_POSSIO_PX30 POSSIO_PX30 183
+s3c2800 ARCH_S3C2800 S3C2800 184
+fleetwood SA1100_FLEETWOOD FLEETWOOD 185
+omaha ARCH_OMAHA OMAHA 186
+ta7 ARCH_TA7 TA7 187
+nova SA1100_NOVA NOVA 188
+hmk ARCH_HMK HMK 189
+karo ARCH_KARO KARO 190
+fester SA1100_FESTER FESTER 191
+gpi ARCH_GPI GPI 192
+smdk2410 ARCH_SMDK2410 SMDK2410 193
+i519 ARCH_I519 I519 194
+nexio SA1100_NEXIO NEXIO 195
+bitbox SA1100_BITBOX BITBOX 196
+g200 SA1100_G200 G200 197
+gill SA1100_GILL GILL 198
+pxa_mercury ARCH_PXA_MERCURY PXA_MERCURY 199
+ceiva ARCH_CEIVA CEIVA 200
+fret SA1100_FRET FRET 201
+emailphone SA1100_EMAILPHONE EMAILPHONE 202
+h3900 ARCH_H3900 H3900 203
+pxa1 ARCH_PXA1 PXA1 204
+koan369 SA1100_KOAN369 KOAN369 205
+cogent ARCH_COGENT COGENT 206
+esl_simputer ARCH_ESL_SIMPUTER ESL_SIMPUTER 207
+esl_simputer_clr ARCH_ESL_SIMPUTER_CLR ESL_SIMPUTER_CLR 208
+esl_simputer_bw ARCH_ESL_SIMPUTER_BW ESL_SIMPUTER_BW 209
+hhp_cradle ARCH_HHP_CRADLE HHP_CRADLE 210
+he500 ARCH_HE500 HE500 211
+inhandelf2 SA1100_INHANDELF2 INHANDELF2 212
+inhandftip SA1100_INHANDFTIP INHANDFTIP 213
+dnp1110 SA1100_DNP1110 DNP1110 214
+pnp1110 SA1100_PNP1110 PNP1110 215
+csb226 ARCH_CSB226 CSB226 216
+arnold SA1100_ARNOLD ARNOLD 217
+voiceblue MACH_VOICEBLUE VOICEBLUE 218
+jz8028 ARCH_JZ8028 JZ8028 219
+h5400 ARCH_H5400 H5400 220
+forte SA1100_FORTE FORTE 221
+acam SA1100_ACAM ACAM 222
+abox SA1100_ABOX ABOX 223
+atmel ARCH_ATMEL ATMEL 224
+sitsang ARCH_SITSANG SITSANG 225
+cpu1110lcdnet SA1100_CPU1110LCDNET CPU1110LCDNET 226
+mpl_vcma9 ARCH_MPL_VCMA9 MPL_VCMA9 227
+opus_a1 ARCH_OPUS_A1 OPUS_A1 228
+daytona ARCH_DAYTONA DAYTONA 229
+killbear SA1100_KILLBEAR KILLBEAR 230
+yoho ARCH_YOHO YOHO 231
+jasper ARCH_JASPER JASPER 232
+dsc25 ARCH_DSC25 DSC25 233
+omap_innovator MACH_OMAP_INNOVATOR OMAP_INNOVATOR 234
+mnci ARCH_RAMSES RAMSES 235
+s28x ARCH_S28X S28X 236
+mport3 ARCH_MPORT3 MPORT3 237
+pxa_eagle250 ARCH_PXA_EAGLE250 PXA_EAGLE250 238
+pdb ARCH_PDB PDB 239
+blue_2g SA1100_BLUE_2G BLUE_2G 240
+bluearch SA1100_BLUEARCH BLUEARCH 241
+ixdp2400 ARCH_IXDP2400 IXDP2400 242
+ixdp2800 ARCH_IXDP2800 IXDP2800 243
+explorer SA1100_EXPLORER EXPLORER 244
+ixdp425 ARCH_IXDP425 IXDP425 245
+chimp ARCH_CHIMP CHIMP 246
+stork_nest ARCH_STORK_NEST STORK_NEST 247
+stork_egg ARCH_STORK_EGG STORK_EGG 248
+wismo SA1100_WISMO WISMO 249
+ezlinx ARCH_EZLINX EZLINX 250
+at91rm9200 ARCH_AT91RM9200 AT91RM9200 251
+orion ARCH_ORION ORION 252
+neptune ARCH_NEPTUNE NEPTUNE 253
+hackkit SA1100_HACKKIT HACKKIT 254
+pxa_wins30 ARCH_PXA_WINS30 PXA_WINS30 255
+lavinna SA1100_LAVINNA LAVINNA 256
+pxa_uengine ARCH_PXA_UENGINE PXA_UENGINE 257
+innokom ARCH_INNOKOM INNOKOM 258
+bms ARCH_BMS BMS 259
+ixcdp1100 ARCH_IXCDP1100 IXCDP1100 260
+prpmc1100 ARCH_PRPMC1100 PRPMC1100 261
+at91rm9200dk ARCH_AT91RM9200DK AT91RM9200DK 262
+armstick ARCH_ARMSTICK ARMSTICK 263
+armonie ARCH_ARMONIE ARMONIE 264
+mport1 ARCH_MPORT1 MPORT1 265
+s3c5410 ARCH_S3C5410 S3C5410 266
+zcp320a ARCH_ZCP320A ZCP320A 267
+i_box ARCH_I_BOX I_BOX 268
+stlc1502 ARCH_STLC1502 STLC1502 269
+siren ARCH_SIREN SIREN 270
+greenlake ARCH_GREENLAKE GREENLAKE 271
+argus ARCH_ARGUS ARGUS 272
+combadge SA1100_COMBADGE COMBADGE 273
+rokepxa ARCH_ROKEPXA ROKEPXA 274
+cintegrator ARCH_CINTEGRATOR CINTEGRATOR 275
+guidea07 ARCH_GUIDEA07 GUIDEA07 276
+tat257 ARCH_TAT257 TAT257 277
+igp2425 ARCH_IGP2425 IGP2425 278
+bluegrama ARCH_BLUEGRAMMA BLUEGRAMMA 279
+ipod ARCH_IPOD IPOD 280
+adsbitsyx ARCH_ADSBITSYX ADSBITSYX 281
+trizeps2 ARCH_TRIZEPS2 TRIZEPS2 282
+viper ARCH_VIPER VIPER 283
+adsbitsyplus SA1100_ADSBITSYPLUS ADSBITSYPLUS 284
+adsagc SA1100_ADSAGC ADSAGC 285
+stp7312 ARCH_STP7312 STP7312 286
+nx_phnx MACH_NX_PHNX NX_PHNX 287
+wep_ep250 ARCH_WEP_EP250 WEP_EP250 288
+inhandelf3 ARCH_INHANDELF3 INHANDELF3 289
+adi_coyote ARCH_ADI_COYOTE ADI_COYOTE 290
+iyonix ARCH_IYONIX IYONIX 291
+damicam1 ARCH_DAMICAM_SA1110 DAMICAM_SA1110 292
+meg03 ARCH_MEG03 MEG03 293
+pxa_whitechapel ARCH_PXA_WHITECHAPEL PXA_WHITECHAPEL 294
+nwsc ARCH_NWSC NWSC 295
+nwlarm ARCH_NWLARM NWLARM 296
+ixp425_mguard ARCH_IXP425_MGUARD IXP425_MGUARD 297
+pxa_netdcu4 ARCH_PXA_NETDCU4 PXA_NETDCU4 298
+ixdp2401 ARCH_IXDP2401 IXDP2401 299
+ixdp2801 ARCH_IXDP2801 IXDP2801 300
+zodiac ARCH_ZODIAC ZODIAC 301
+armmodul ARCH_ARMMODUL ARMMODUL 302
+ketop SA1100_KETOP KETOP 303
+av7200 ARCH_AV7200 AV7200 304
+arch_ti925 ARCH_ARCH_TI925 ARCH_TI925 305
+acq200 ARCH_ACQ200 ACQ200 306
+pt_dafit SA1100_PT_DAFIT PT_DAFIT 307
+ihba ARCH_IHBA IHBA 308
+quinque ARCH_QUINQUE QUINQUE 309
+nimbraone ARCH_NIMBRAONE NIMBRAONE 310
+nimbra29x ARCH_NIMBRA29X NIMBRA29X 311
+nimbra210 ARCH_NIMBRA210 NIMBRA210 312
+hhp_d95xx ARCH_HHP_D95XX HHP_D95XX 313
+labarm ARCH_LABARM LABARM 314
+comcerto ARCH_M825XX M825XX 315
+m7100 SA1100_M7100 M7100 316
+nipc2 ARCH_NIPC2 NIPC2 317
+fu7202 ARCH_FU7202 FU7202 318
+adsagx ARCH_ADSAGX ADSAGX 319
+pxa_pooh ARCH_PXA_POOH PXA_POOH 320
+bandon ARCH_BANDON BANDON 321
+pcm7210 ARCH_PCM7210 PCM7210 322
+nms9200 ARCH_NMS9200 NMS9200 323
+logodl ARCH_LOGODL LOGODL 324
+m7140 SA1100_M7140 M7140 325
+korebot ARCH_KOREBOT KOREBOT 326
+iq31244 ARCH_IQ31244 IQ31244 327
+koan393 SA1100_KOAN393 KOAN393 328
+inhandftip3 ARCH_INHANDFTIP3 INHANDFTIP3 329
+gonzo ARCH_GONZO GONZO 330
+bast ARCH_BAST BAST 331
+scanpass ARCH_SCANPASS SCANPASS 332
+ep7312_pooh ARCH_EP7312_POOH EP7312_POOH 333
+ta7s ARCH_TA7S TA7S 334
+ta7v ARCH_TA7V TA7V 335
+icarus SA1100_ICARUS ICARUS 336
+h1900 ARCH_H1900 H1900 337
+gemini SA1100_GEMINI GEMINI 338
+axim ARCH_AXIM AXIM 339
+audiotron ARCH_AUDIOTRON AUDIOTRON 340
+h2200 ARCH_H2200 H2200 341
+loox600 ARCH_LOOX600 LOOX600 342
+niop ARCH_NIOP NIOP 343
+dm310 ARCH_DM310 DM310 344
+seedpxa_c2 ARCH_SEEDPXA_C2 SEEDPXA_C2 345
+ixp4xx_mguardpci ARCH_IXP4XX_MGUARD_PCI IXP4XX_MGUARD_PCI 346
+h1940 ARCH_H1940 H1940 347
+scorpio ARCH_SCORPIO SCORPIO 348
+viva ARCH_VIVA VIVA 349
+pxa_xcard ARCH_PXA_XCARD PXA_XCARD 350
+csb335 ARCH_CSB335 CSB335 351
+ixrd425 ARCH_IXRD425 IXRD425 352
+iq80315 ARCH_IQ80315 IQ80315 353
+nmp7312 ARCH_NMP7312 NMP7312 354
+cx861xx ARCH_CX861XX CX861XX 355
+enp2611 ARCH_ENP2611 ENP2611 356
+xda SA1100_XDA XDA 357
+csir_ims ARCH_CSIR_IMS CSIR_IMS 358
+ixp421_dnaeeth ARCH_IXP421_DNAEETH IXP421_DNAEETH 359
+pocketserv9200 ARCH_POCKETSERV9200 POCKETSERV9200 360
+toto ARCH_TOTO TOTO 361
+s3c2440 ARCH_S3C2440 S3C2440 362
+ks8695p ARCH_KS8695P KS8695P 363
+se4000 ARCH_SE4000 SE4000 364
+quadriceps ARCH_QUADRICEPS QUADRICEPS 365
+bronco ARCH_BRONCO BRONCO 366
+esl_wireless_tab ARCH_ESL_WIRELESS_TABLETESL_WIRELESS_TABLET 367
+esl_sofcomp ARCH_ESL_SOFCOMP ESL_SOFCOMP 368
+s5c7375 ARCH_S5C7375 S5C7375 369
+spearhead ARCH_SPEARHEAD SPEARHEAD 370
+pantera ARCH_PANTERA PANTERA 371
+prayoglite ARCH_PRAYOGLITE PRAYOGLITE 372
+gumstix ARCH_GUMSTIK GUMSTIK 373
+rcube ARCH_RCUBE RCUBE 374
+rea_olv ARCH_REA_OLV REA_OLV 375
+pxa_iphone ARCH_PXA_IPHONE PXA_IPHONE 376
+s3c3410 ARCH_S3C3410 S3C3410 377
+espd_4510b ARCH_ESPD_4510B ESPD_4510B 378
+mp1x ARCH_MP1X MP1X 379
+at91rm9200tb ARCH_AT91RM9200TB AT91RM9200TB 380
+adsvgx ARCH_ADSVGX ADSVGX 381
+omap_h2 MACH_OMAP_H2 OMAP_H2 382
+pelee ARCH_PELEE PELEE 383
+e740 MACH_E740 E740 384
+iq80331 ARCH_IQ80331 IQ80331 385
+versatile_pb ARCH_VERSATILE_PB VERSATILE_PB 387
+kev7a400 MACH_KEV7A400 KEV7A400 388
+lpd7a400 MACH_LPD7A400 LPD7A400 389
+lpd7a404 MACH_LPD7A404 LPD7A404 390
+fujitsu_camelot ARCH_FUJITSU_CAMELOT FUJITSU_CAMELOT 391
+janus2m ARCH_JANUS2M JANUS2M 392
+embtf MACH_EMBTF EMBTF 393
+hpm MACH_HPM HPM 394
+smdk2410tk MACH_SMDK2410TK SMDK2410TK 395
+smdk2410aj MACH_SMDK2410AJ SMDK2410AJ 396
+streetracer MACH_STREETRACER STREETRACER 397
+eframe MACH_EFRAME EFRAME 398
+csb337 MACH_CSB337 CSB337 399
+pxa_lark MACH_PXA_LARK PXA_LARK 400
+pxa_pnp2110 MACH_PNP2110 PNP2110 401
+tcc72x MACH_TCC72X TCC72X 402
+altair MACH_ALTAIR ALTAIR 403
+kc3 MACH_KC3 KC3 404
+sinteftd MACH_SINTEFTD SINTEFTD 405
+mainstone MACH_MAINSTONE MAINSTONE 406
+aday4x MACH_ADAY4X ADAY4X 407
+lite300 MACH_LITE300 LITE300 408
+s5c7376 MACH_S5C7376 S5C7376 409
+mt02 MACH_MT02 MT02 410
+mport3s MACH_MPORT3S MPORT3S 411
+ra_alpha MACH_RA_ALPHA RA_ALPHA 412
+xcep MACH_XCEP XCEP 413
+arcom_vulcan MACH_ARCOM_VULCAN ARCOM_VULCAN 414
+stargate MACH_STARGATE STARGATE 415
+armadilloj MACH_ARMADILLOJ ARMADILLOJ 416
+elroy_jack MACH_ELROY_JACK ELROY_JACK 417
+backend MACH_BACKEND BACKEND 418
+s5linbox MACH_S5LINBOX S5LINBOX 419
+nomadik MACH_NOMADIK NOMADIK 420
+ia_cpu_9200 MACH_IA_CPU_9200 IA_CPU_9200 421
+at91_bja1 MACH_AT91_BJA1 AT91_BJA1 422
+corgi MACH_CORGI CORGI 423
+poodle MACH_POODLE POODLE 424
+ten MACH_TEN TEN 425
+roverp5p MACH_ROVERP5P ROVERP5P 426
+sc2700 MACH_SC2700 SC2700 427
+ex_eagle MACH_EX_EAGLE EX_EAGLE 428
+nx_pxa12 MACH_NX_PXA12 NX_PXA12 429
+nx_pxa5 MACH_NX_PXA5 NX_PXA5 430
+blackboard2 MACH_BLACKBOARD2 BLACKBOARD2 431
+i819 MACH_I819 I819 432
+ixmb995e MACH_IXMB995E IXMB995E 433
+skyrider MACH_SKYRIDER SKYRIDER 434
+skyhawk MACH_SKYHAWK SKYHAWK 435
+enterprise MACH_ENTERPRISE ENTERPRISE 436
+dep2410 MACH_DEP2410 DEP2410 437
+armcore MACH_ARMCORE ARMCORE 438
+hobbit MACH_HOBBIT HOBBIT 439
+h7210 MACH_H7210 H7210 440
+pxa_netdcu5 MACH_PXA_NETDCU5 PXA_NETDCU5 441
+acc MACH_ACC ACC 442
+esl_sarva MACH_ESL_SARVA ESL_SARVA 443
+xm250 MACH_XM250 XM250 444
+t6tc1xb MACH_T6TC1XB T6TC1XB 445
+ess710 MACH_ESS710 ESS710 446
+mx31ads MACH_MX31ADS MX31ADS 447
+himalaya MACH_HIMALAYA HIMALAYA 448
+bolfenk MACH_BOLFENK BOLFENK 449
+at91rm9200kr MACH_AT91RM9200KR AT91RM9200KR 450
+edb9312 MACH_EDB9312 EDB9312 451
+omap_generic MACH_OMAP_GENERIC OMAP_GENERIC 452
+aximx3 MACH_AXIMX3 AXIMX3 453
+eb67xdip MACH_EB67XDIP EB67XDIP 454
+webtxs MACH_WEBTXS WEBTXS 455
+hawk MACH_HAWK HAWK 456
+ccat91sbc001 MACH_CCAT91SBC001 CCAT91SBC001 457
+expresso MACH_EXPRESSO EXPRESSO 458
+h4000 MACH_H4000 H4000 459
+dino MACH_DINO DINO 460
+ml675k MACH_ML675K ML675K 461
+edb9301 MACH_EDB9301 EDB9301 462
+edb9315 MACH_EDB9315 EDB9315 463
+reciva_tt MACH_RECIVA_TT RECIVA_TT 464
+cstcb01 MACH_CSTCB01 CSTCB01 465
+cstcb1 MACH_CSTCB1 CSTCB1 466
+shadwell MACH_SHADWELL SHADWELL 467
+goepel263 MACH_GOEPEL263 GOEPEL263 468
+acq100 MACH_ACQ100 ACQ100 469
+mx1fs2 MACH_MX1FS2 MX1FS2 470
+hiptop_g1 MACH_HIPTOP_G1 HIPTOP_G1 471
+sparky MACH_SPARKY SPARKY 472
+ns9750 MACH_NS9750 NS9750 473
+phoenix MACH_PHOENIX PHOENIX 474
+vr1000 MACH_VR1000 VR1000 475
+deisterpxa MACH_DEISTERPXA DEISTERPXA 476
+bcm1160 MACH_BCM1160 BCM1160 477
+pcm022 MACH_PCM022 PCM022 478
+adsgcx MACH_ADSGCX ADSGCX 479
+dreadnaught MACH_DREADNAUGHT DREADNAUGHT 480
+dm320 MACH_DM320 DM320 481
+markov MACH_MARKOV MARKOV 482
+cos7a400 MACH_COS7A400 COS7A400 483
+milano MACH_MILANO MILANO 484
+ue9328 MACH_UE9328 UE9328 485
+uex255 MACH_UEX255 UEX255 486
+ue2410 MACH_UE2410 UE2410 487
+a620 MACH_A620 A620 488
+ocelot MACH_OCELOT OCELOT 489
+cheetah MACH_CHEETAH CHEETAH 490
+omap_perseus2 MACH_OMAP_PERSEUS2 OMAP_PERSEUS2 491
+zvue MACH_ZVUE ZVUE 492
+roverp1 MACH_ROVERP1 ROVERP1 493
+asidial2 MACH_ASIDIAL2 ASIDIAL2 494
+s3c24a0 MACH_S3C24A0 S3C24A0 495
+e800 MACH_E800 E800 496
+e750 MACH_E750 E750 497
+s3c5500 MACH_S3C5500 S3C5500 498
+smdk5500 MACH_SMDK5500 SMDK5500 499
+signalsync MACH_SIGNALSYNC SIGNALSYNC 500
+nbc MACH_NBC NBC 501
+kodiak MACH_KODIAK KODIAK 502
+netbookpro MACH_NETBOOKPRO NETBOOKPRO 503
+hw90200 MACH_HW90200 HW90200 504
+condor MACH_CONDOR CONDOR 505
+cup MACH_CUP CUP 506
+kite MACH_KITE KITE 507
+scb9328 MACH_SCB9328 SCB9328 508
+omap_h3 MACH_OMAP_H3 OMAP_H3 509
+omap_h4 MACH_OMAP_H4 OMAP_H4 510
+n10 MACH_N10 N10 511
+montejade MACH_MONTAJADE MONTAJADE 512
+sg560 MACH_SG560 SG560 513
+dp1000 MACH_DP1000 DP1000 514
+omap_osk MACH_OMAP_OSK OMAP_OSK 515
+rg100v3 MACH_RG100V3 RG100V3 516
+mx2ads MACH_MX2ADS MX2ADS 517
+pxa_kilo MACH_PXA_KILO PXA_KILO 518
+ixp4xx_eagle MACH_IXP4XX_EAGLE IXP4XX_EAGLE 519
+tosa MACH_TOSA TOSA 520
+mb2520f MACH_MB2520F MB2520F 521
+emc1000 MACH_EMC1000 EMC1000 522
+tidsc25 MACH_TIDSC25 TIDSC25 523
+akcpmxl MACH_AKCPMXL AKCPMXL 524
+av3xx MACH_AV3XX AV3XX 525
+avila MACH_AVILA AVILA 526
+pxa_mpm10 MACH_PXA_MPM10 PXA_MPM10 527
+pxa_kyanite MACH_PXA_KYANITE PXA_KYANITE 528
+sgold MACH_SGOLD SGOLD 529
+oscar MACH_OSCAR OSCAR 530
+epxa4usb2 MACH_EPXA4USB2 EPXA4USB2 531
+xsengine MACH_XSENGINE XSENGINE 532
+ip600 MACH_IP600 IP600 533
+mcan2 MACH_MCAN2 MCAN2 534
+ddi_blueridge MACH_DDI_BLUERIDGE DDI_BLUERIDGE 535
+skyminder MACH_SKYMINDER SKYMINDER 536
+lpd79520 MACH_LPD79520 LPD79520 537
+edb9302 MACH_EDB9302 EDB9302 538
+hw90340 MACH_HW90340 HW90340 539
+cip_box MACH_CIP_BOX CIP_BOX 540
+ivpn MACH_IVPN IVPN 541
+rsoc2 MACH_RSOC2 RSOC2 542
+husky MACH_HUSKY HUSKY 543
+boxer MACH_BOXER BOXER 544
+shepherd MACH_SHEPHERD SHEPHERD 545
+aml42800aa MACH_AML42800AA AML42800AA 546
+ml674001 MACH_MACH_TYPE_ML674001 MACH_TYPE_ML674001 547
+lpc2294 MACH_LPC2294 LPC2294 548
+switchgrass MACH_SWITCHGRASS SWITCHGRASS 549
+ens_cmu MACH_ENS_CMU ENS_CMU 550
+mm6_sdb MACH_MM6_SDB MM6_SDB 551
+saturn MACH_SATURN SATURN 552
+i30030evb MACH_I30030EVB I30030EVB 553
+mxc27530evb MACH_MXC27530EVB MXC27530EVB 554
+smdk2800 MACH_SMDK2800 SMDK2800 555
+mtwilson MACH_MTWILSON MTWILSON 556
+ziti MACH_ZITI ZITI 557
+grandfather MACH_GRANDFATHER GRANDFATHER 558
+tengine MACH_TENGINE TENGINE 559
+s3c2460 MACH_S3C2460 S3C2460 560
+pdm MACH_PDM PDM 561
+h4700 MACH_H4700 H4700 562
+h6300 MACH_H6300 H6300 563
+rz1700 MACH_RZ1700 RZ1700 564
+a716 MACH_A716 A716 565
+estk2440a MACH_ESTK2440A ESTK2440A 566
+atwixp425 MACH_ATWIXP425 ATWIXP425 567
+csb336 MACH_CSB336 CSB336 568
+rirm2 MACH_RIRM2 RIRM2 569
+cx23518 MACH_CX23518 CX23518 570
+cx2351x MACH_CX2351X CX2351X 571
+computime MACH_COMPUTIME COMPUTIME 572
+izarus MACH_IZARUS IZARUS 573
+pxa_rts MACH_RTS RTS 574
+se5100 MACH_SE5100 SE5100 575
+s3c2510 MACH_S3C2510 S3C2510 576
+csb437tl MACH_CSB437TL CSB437TL 577
+slauson MACH_SLAUSON SLAUSON 578
+pearlriver MACH_PEARLRIVER PEARLRIVER 579
+tdc_p210 MACH_TDC_P210 TDC_P210 580
+sg580 MACH_SG580 SG580 581
+wrsbcarm7 MACH_WRSBCARM7 WRSBCARM7 582
+ipd MACH_IPD IPD 583
+pxa_dnp2110 MACH_PXA_DNP2110 PXA_DNP2110 584
+xaeniax MACH_XAENIAX XAENIAX 585
+somn4250 MACH_SOMN4250 SOMN4250 586
+pleb2 MACH_PLEB2 PLEB2 587
+cornwallis MACH_CORNWALLIS CORNWALLIS 588
+gurney_drv MACH_GURNEY_DRV GURNEY_DRV 589
+chaffee MACH_CHAFFEE CHAFFEE 590
+rms101 MACH_RMS101 RMS101 591
+rx3715 MACH_RX3715 RX3715 592
+swift MACH_SWIFT SWIFT 593
+roverp7 MACH_ROVERP7 ROVERP7 594
+pr818s MACH_PR818S PR818S 595
+trxpro MACH_TRXPRO TRXPRO 596
+nslu2 MACH_NSLU2 NSLU2 597
+e400 MACH_E400 E400 598
+trab MACH_TRAB TRAB 599
+cmc_pu2 MACH_CMC_PU2 CMC_PU2 600
+fulcrum MACH_FULCRUM FULCRUM 601
+netgate42x MACH_NETGATE42X NETGATE42X 602
+str710 MACH_STR710 STR710 603
+ixdpg425 MACH_IXDPG425 IXDPG425 604
+tomtomgo MACH_TOMTOMGO TOMTOMGO 605
+versatile_ab MACH_VERSATILE_AB VERSATILE_AB 606
+edb9307 MACH_EDB9307 EDB9307 607
+sg565 MACH_SG565 SG565 608
+lpd79524 MACH_LPD79524 LPD79524 609
+lpd79525 MACH_LPD79525 LPD79525 610
+rms100 MACH_RMS100 RMS100 611
+kb9200 MACH_KB9200 KB9200 612
+sx1 MACH_SX1 SX1 613
+hms39c7092 MACH_HMS39C7092 HMS39C7092 614
+armadillo MACH_ARMADILLO ARMADILLO 615
+ipcu MACH_IPCU IPCU 616
+loox720 MACH_LOOX720 LOOX720 617
+ixdp465 MACH_IXDP465 IXDP465 618
+ixdp2351 MACH_IXDP2351 IXDP2351 619
+adsvix MACH_ADSVIX ADSVIX 620
+dm270 MACH_DM270 DM270 621
+socltplus MACH_SOCLTPLUS SOCLTPLUS 622
+ecia MACH_ECIA ECIA 623
+cm4008 MACH_CM4008 CM4008 624
+p2001 MACH_P2001 P2001 625
+twister MACH_TWISTER TWISTER 626
+mudshark MACH_MUDSHARK MUDSHARK 627
+hb2 MACH_HB2 HB2 628
+iq80332 MACH_IQ80332 IQ80332 629
+sendt MACH_SENDT SENDT 630
+mx2jazz MACH_MX2JAZZ MX2JAZZ 631
+multiio MACH_MULTIIO MULTIIO 632
+hrdisplay MACH_HRDISPLAY HRDISPLAY 633
+mxc27530ads MACH_MXC27530ADS MXC27530ADS 634
+trizeps3 MACH_TRIZEPS3 TRIZEPS3 635
+zefeerdza MACH_ZEFEERDZA ZEFEERDZA 636
+zefeerdzb MACH_ZEFEERDZB ZEFEERDZB 637
+zefeerdzg MACH_ZEFEERDZG ZEFEERDZG 638
+zefeerdzn MACH_ZEFEERDZN ZEFEERDZN 639
+zefeerdzq MACH_ZEFEERDZQ ZEFEERDZQ 640
+gtwx5715 MACH_GTWX5715 GTWX5715 641
+astro_jack MACH_ASTRO_JACK ASTRO_JACK 643
+tip03 MACH_TIP03 TIP03 644
+a9200ec MACH_A9200EC A9200EC 645
+pnx0105 MACH_PNX0105 PNX0105 646
+adcpoecpu MACH_ADCPOECPU ADCPOECPU 647
+csb637 MACH_CSB637 CSB637 648
+ml69q6203 MACH_ML69Q6203 ML69Q6203 649
+mb9200 MACH_MB9200 MB9200 650
+kulun MACH_KULUN KULUN 651
+snapper MACH_SNAPPER SNAPPER 652
+optima MACH_OPTIMA OPTIMA 653
+dlhsbc MACH_DLHSBC DLHSBC 654
+x30 MACH_X30 X30 655
+n30 MACH_N30 N30 656
+manga_ks8695 MACH_MANGA_KS8695 MANGA_KS8695 657
+ajax MACH_AJAX AJAX 658
+nec_mp900 MACH_NEC_MP900 NEC_MP900 659
+vvtk1000 MACH_VVTK1000 VVTK1000 661
+kafa MACH_KAFA KAFA 662
+vvtk3000 MACH_VVTK3000 VVTK3000 663
+pimx1 MACH_PIMX1 PIMX1 664
+ollie MACH_OLLIE OLLIE 665
+skymax MACH_SKYMAX SKYMAX 666
+jazz MACH_JAZZ JAZZ 667
+tel_t3 MACH_TEL_T3 TEL_T3 668
+aisino_fcr255 MACH_AISINO_FCR255 AISINO_FCR255 669
+btweb MACH_BTWEB BTWEB 670
+dbg_lh79520 MACH_DBG_LH79520 DBG_LH79520 671
+cm41xx MACH_CM41XX CM41XX 672
+ts72xx MACH_TS72XX TS72XX 673
+nggpxa MACH_NGGPXA NGGPXA 674
+csb535 MACH_CSB535 CSB535 675
+csb536 MACH_CSB536 CSB536 676
+pxa_trakpod MACH_PXA_TRAKPOD PXA_TRAKPOD 677
+praxis MACH_PRAXIS PRAXIS 678
+lh75411 MACH_LH75411 LH75411 679
+otom MACH_OTOM OTOM 680
+nexcoder_2440 MACH_NEXCODER_2440 NEXCODER_2440 681
+loox410 MACH_LOOX410 LOOX410 682
+westlake MACH_WESTLAKE WESTLAKE 683
+nsb MACH_NSB NSB 684
+esl_sarva_stn MACH_ESL_SARVA_STN ESL_SARVA_STN 685
+esl_sarva_tft MACH_ESL_SARVA_TFT ESL_SARVA_TFT 686
+esl_sarva_iad MACH_ESL_SARVA_IAD ESL_SARVA_IAD 687
+esl_sarva_acc MACH_ESL_SARVA_ACC ESL_SARVA_ACC 688
+typhoon MACH_TYPHOON TYPHOON 689
+cnav MACH_CNAV CNAV 690
+a730 MACH_A730 A730 691
+netstar MACH_NETSTAR NETSTAR 692
+supercon MACH_PHASEFALE_SUPERCON PHASEFALE_SUPERCON 693
+shiva1100 MACH_SHIVA1100 SHIVA1100 694
+etexsc MACH_ETEXSC ETEXSC 695
+ixdpg465 MACH_IXDPG465 IXDPG465 696
+a9m2410 MACH_A9M2410 A9M2410 697
+a9m2440 MACH_A9M2440 A9M2440 698
+a9m9750 MACH_A9M9750 A9M9750 699
+a9m9360 MACH_A9M9360 A9M9360 700
+unc90 MACH_UNC90 UNC90 701
+eco920 MACH_ECO920 ECO920 702
+satview MACH_SATVIEW SATVIEW 703
+roadrunner MACH_ROADRUNNER ROADRUNNER 704
+at91rm9200ek MACH_AT91RM9200EK AT91RM9200EK 705
+gp32 MACH_GP32 GP32 706
+gem MACH_GEM GEM 707
+i858 MACH_I858 I858 708
+hx2750 MACH_HX2750 HX2750 709
+mxc91131evb MACH_MXC91131EVB MXC91131EVB 710
+p700 MACH_P700 P700 711
+cpe MACH_CPE CPE 712
+spitz MACH_SPITZ SPITZ 713
+nimbra340 MACH_NIMBRA340 NIMBRA340 714
+lpc22xx MACH_LPC22XX LPC22XX 715
+omap_comet3 MACH_COMET3 COMET3 716
+omap_comet4 MACH_COMET4 COMET4 717
+csb625 MACH_CSB625 CSB625 718
+fortunet2 MACH_FORTUNET2 FORTUNET2 719
+s5h2200 MACH_S5H2200 S5H2200 720
+optorm920 MACH_OPTORM920 OPTORM920 721
+adsbitsyxb MACH_ADSBITSYXB ADSBITSYXB 722
+adssphere MACH_ADSSPHERE ADSSPHERE 723
+adsportal MACH_ADSPORTAL ADSPORTAL 724
+ln2410sbc MACH_LN2410SBC LN2410SBC 725
+cb3rufc MACH_CB3RUFC CB3RUFC 726
+mp2usb MACH_MP2USB MP2USB 727
+ntnp425c MACH_NTNP425C NTNP425C 728
+colibri MACH_COLIBRI COLIBRI 729
+pcm7220 MACH_PCM7220 PCM7220 730
+gateway7001 MACH_GATEWAY7001 GATEWAY7001 731
+pcm027 MACH_PCM027 PCM027 732
+cmpxa MACH_CMPXA CMPXA 733
+anubis MACH_ANUBIS ANUBIS 734
+ite8152 MACH_ITE8152 ITE8152 735
+lpc3xxx MACH_LPC3XXX LPC3XXX 736
+puppeteer MACH_PUPPETEER PUPPETEER 737
+vt001 MACH_MACH_VADATECH MACH_VADATECH 738
+e570 MACH_E570 E570 739
+x50 MACH_X50 X50 740
+recon MACH_RECON RECON 741
+xboardgp8 MACH_XBOARDGP8 XBOARDGP8 742
+fpic2 MACH_FPIC2 FPIC2 743
+akita MACH_AKITA AKITA 744
+a81 MACH_A81 A81 745
+svm_sc25x MACH_SVM_SC25X SVM_SC25X 746
+vt020 MACH_VADATECH020 VADATECH020 747
+tli MACH_TLI TLI 748
+edb9315lc MACH_EDB9315LC EDB9315LC 749
+passec MACH_PASSEC PASSEC 750
+ds_tiger MACH_DS_TIGER DS_TIGER 751
+e310 MACH_E310 E310 752
+e330 MACH_E330 E330 753
+rt3000 MACH_RT3000 RT3000 754
+nokia770 MACH_NOKIA770 NOKIA770 755
+pnx0106 MACH_PNX0106 PNX0106 756
+hx21xx MACH_HX21XX HX21XX 757
+faraday MACH_FARADAY FARADAY 758
+sbc9312 MACH_SBC9312 SBC9312 759
+batman MACH_BATMAN BATMAN 760
+jpd201 MACH_JPD201 JPD201 761
+mipsa MACH_MIPSA MIPSA 762
+kacom MACH_KACOM KACOM 763
+swarcocpu MACH_SWARCOCPU SWARCOCPU 764
+swarcodsl MACH_SWARCODSL SWARCODSL 765
+blueangel MACH_BLUEANGEL BLUEANGEL 766
+hairygrama MACH_HAIRYGRAMA HAIRYGRAMA 767
+banff MACH_BANFF BANFF 768
+carmeva MACH_CARMEVA CARMEVA 769
+sam255 MACH_SAM255 SAM255 770
+ppm10 MACH_PPM10 PPM10 771
+edb9315a MACH_EDB9315A EDB9315A 772
+sunset MACH_SUNSET SUNSET 773
+stargate2 MACH_STARGATE2 STARGATE2 774
+intelmote2 MACH_INTELMOTE2 INTELMOTE2 775
+trizeps4 MACH_TRIZEPS4 TRIZEPS4 776
+mainstone2 MACH_MAINSTONE2 MAINSTONE2 777
+ez_ixp42x MACH_EZ_IXP42X EZ_IXP42X 778
+tapwave_zodiac MACH_TAPWAVE_ZODIAC TAPWAVE_ZODIAC 779
+universalmeter MACH_UNIVERSALMETER UNIVERSALMETER 780
+hicoarm9 MACH_HICOARM9 HICOARM9 781
+pnx4008 MACH_PNX4008 PNX4008 782
+kws6000 MACH_KWS6000 KWS6000 783
+portux920t MACH_PORTUX920T PORTUX920T 784
+ez_x5 MACH_EZ_X5 EZ_X5 785
+omap_rudolph MACH_OMAP_RUDOLPH OMAP_RUDOLPH 786
+cpuat91 MACH_CPUAT91 CPUAT91 787
+rea9200 MACH_REA9200 REA9200 788
+acts_pune_sa1110 MACH_ACTS_PUNE_SA1110 ACTS_PUNE_SA1110 789
+ixp425 MACH_IXP425 IXP425 790
+i30030ads MACH_I30030ADS I30030ADS 791
+perch MACH_PERCH PERCH 792
+eis05r1 MACH_EIS05R1 EIS05R1 793
+pepperpad MACH_PEPPERPAD PEPPERPAD 794
+sb3010 MACH_SB3010 SB3010 795
+rm9200 MACH_RM9200 RM9200 796
+dma03 MACH_DMA03 DMA03 797
+road_s101 MACH_ROAD_S101 ROAD_S101 798
+iq_nextgen_a MACH_IQ_NEXTGEN_A IQ_NEXTGEN_A 799
+iq_nextgen_b MACH_IQ_NEXTGEN_B IQ_NEXTGEN_B 800
+iq_nextgen_c MACH_IQ_NEXTGEN_C IQ_NEXTGEN_C 801
+iq_nextgen_d MACH_IQ_NEXTGEN_D IQ_NEXTGEN_D 802
+iq_nextgen_e MACH_IQ_NEXTGEN_E IQ_NEXTGEN_E 803
+mallow_at91 MACH_MALLOW_AT91 MALLOW_AT91 804
+cybertracker_i MACH_CYBERTRACKER_I CYBERTRACKER_I 805
+gesbc931x MACH_GESBC931X GESBC931X 806
+centipad MACH_CENTIPAD CENTIPAD 807
+armsoc MACH_ARMSOC ARMSOC 808
+se4200 MACH_SE4200 SE4200 809
+ems197a MACH_EMS197A EMS197A 810
+micro9 MACH_MICRO9 MICRO9 811
+micro9l MACH_MICRO9L MICRO9L 812
+uc5471dsp MACH_UC5471DSP UC5471DSP 813
+sj5471eng MACH_SJ5471ENG SJ5471ENG 814
+none MACH_CMPXA26X CMPXA26X 815
+nc1 MACH_NC NC 816
+omap_palmte MACH_OMAP_PALMTE OMAP_PALMTE 817
+ajax52x MACH_AJAX52X AJAX52X 818
+siriustar MACH_SIRIUSTAR SIRIUSTAR 819
+iodata_hdlg MACH_IODATA_HDLG IODATA_HDLG 820
+at91rm9200utl MACH_AT91RM9200UTL AT91RM9200UTL 821
+biosafe MACH_BIOSAFE BIOSAFE 822
+mp1000 MACH_MP1000 MP1000 823
+parsy MACH_PARSY PARSY 824
+ccxp270 MACH_CCXP CCXP 825
+omap_gsample MACH_OMAP_GSAMPLE OMAP_GSAMPLE 826
+realview_eb MACH_REALVIEW_EB REALVIEW_EB 827
+samoa MACH_SAMOA SAMOA 828
+t3xscale MACH_T3XSCALE T3XSCALE 829
+i878 MACH_I878 I878 830
+borzoi MACH_BORZOI BORZOI 831
+gecko MACH_GECKO GECKO 832
+ds101 MACH_DS101 DS101 833
+omap_palmtt2 MACH_OMAP_PALMTT2 OMAP_PALMTT2 834
+xscale_palmld MACH_XSCALE_PALMLD XSCALE_PALMLD 835
+cc9c MACH_CC9C CC9C 836
+sbc1670 MACH_SBC1670 SBC1670 837
+ixdp28x5 MACH_IXDP28X5 IXDP28X5 838
+omap_palmtt MACH_OMAP_PALMTT OMAP_PALMTT 839
+ml696k MACH_ML696K ML696K 840
+arcom_zeus MACH_ARCOM_ZEUS ARCOM_ZEUS 841
+osiris MACH_OSIRIS OSIRIS 842
+maestro MACH_MAESTRO MAESTRO 843
+tunge2 MACH_TUNGE2 TUNGE2 844
+ixbbm MACH_IXBBM IXBBM 845
+mx27ads MACH_MX27 MX27 846
+ax8004 MACH_AX8004 AX8004 847
+at91sam9261ek MACH_AT91SAM9261EK AT91SAM9261EK 848
+loft MACH_LOFT LOFT 849
+magpie MACH_MAGPIE MAGPIE 850
+mx21ads MACH_MX21 MX21 851
+mb87m3400 MACH_MB87M3400 MB87M3400 852
+mguard_delta MACH_MGUARD_DELTA MGUARD_DELTA 853
+davinci_dvdp MACH_DAVINCI_DVDP DAVINCI_DVDP 854
+htcuniversal MACH_HTCUNIVERSAL HTCUNIVERSAL 855
+tpad MACH_TPAD TPAD 856
+roverp3 MACH_ROVERP3 ROVERP3 857
+jornada928 MACH_JORNADA928 JORNADA928 858
+mv88fxx81 MACH_MV88FXX81 MV88FXX81 859
+stmp36xx MACH_STMP36XX STMP36XX 860
+sxni79524 MACH_SXNI79524 SXNI79524 861
+ams_delta MACH_AMS_DELTA AMS_DELTA 862
+uranium MACH_URANIUM URANIUM 863
+ucon MACH_UCON UCON 864
+nas100d MACH_NAS100D NAS100D 865
+l083 MACH_L083_1000 L083_1000 866
+ezx MACH_EZX EZX 867
+pnx5220 MACH_PNX5220 PNX5220 868
+butte MACH_BUTTE BUTTE 869
+srm2 MACH_SRM2 SRM2 870
+dsbr MACH_DSBR DSBR 871
+crystalball MACH_CRYSTALBALL CRYSTALBALL 872
+tinypxa27x MACH_TINYPXA27X TINYPXA27X 873
+herbie MACH_HERBIE HERBIE 874
+magician MACH_MAGICIAN MAGICIAN 875
+cm4002 MACH_CM4002 CM4002 876
+b4 MACH_B4 B4 877
+maui MACH_MAUI MAUI 878
+cybertracker_g MACH_CYBERTRACKER_G CYBERTRACKER_G 879
+nxdkn MACH_NXDKN NXDKN 880
+mio8390 MACH_MIO8390 MIO8390 881
+omi_board MACH_OMI_BOARD OMI_BOARD 882
+mx21civ MACH_MX21CIV MX21CIV 883
+mahi_cdac MACH_MAHI_CDAC MAHI_CDAC 884
+xscale_palmtx MACH_XSCALE_PALMTX XSCALE_PALMTX 885
+s3c2413 MACH_S3C2413 S3C2413 887
+samsys_ep0 MACH_SAMSYS_EP0 SAMSYS_EP0 888
+wg302v1 MACH_WG302V1 WG302V1 889
+wg302v2 MACH_WG302V2 WG302V2 890
+eb42x MACH_EB42X EB42X 891
+iq331es MACH_IQ331ES IQ331ES 892
+cosydsp MACH_COSYDSP COSYDSP 893
+uplat7d_proto MACH_UPLAT7D UPLAT7D 894
+ptdavinci MACH_PTDAVINCI PTDAVINCI 895
+mbus MACH_MBUS MBUS 896
+nadia2vb MACH_NADIA2VB NADIA2VB 897
+r1000 MACH_R1000 R1000 898
+hw90250 MACH_HW90250 HW90250 899
+omap_2430sdp MACH_OMAP_2430SDP OMAP_2430SDP 900
+davinci_evm MACH_DAVINCI_EVM DAVINCI_EVM 901
+omap_tornado MACH_OMAP_TORNADO OMAP_TORNADO 902
+olocreek MACH_OLOCREEK OLOCREEK 903
+palmz72 MACH_PALMZ72 PALMZ72 904
+nxdb500 MACH_NXDB500 NXDB500 905
+apf9328 MACH_APF9328 APF9328 906
+omap_wipoq MACH_OMAP_WIPOQ OMAP_WIPOQ 907
+omap_twip MACH_OMAP_TWIP OMAP_TWIP 908
+xscale_treo650 MACH_XSCALE_PALMTREO650 XSCALE_PALMTREO650 909
+acumen MACH_ACUMEN ACUMEN 910
+xp100 MACH_XP100 XP100 911
+fs2410 MACH_FS2410 FS2410 912
+pxa270_cerf MACH_PXA270_CERF PXA270_CERF 913
+sq2ftlpalm MACH_SQ2FTLPALM SQ2FTLPALM 914
+bsemserver MACH_BSEMSERVER BSEMSERVER 915
+netclient MACH_NETCLIENT NETCLIENT 916
+xscale_palmtt5 MACH_XSCALE_PALMTT5 XSCALE_PALMTT5 917
+xscale_palmtc MACH_OMAP_PALMTC OMAP_PALMTC 918
+omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
+mxc30030evb MACH_MXC30030EVB MXC30030EVB 920
+rea_2d MACH_REA_2D REA_2D 921
+eti3e524 MACH_TI3E524 TI3E524 922
+ateb9200 MACH_ATEB9200 ATEB9200 923
+auckland MACH_AUCKLAND AUCKLAND 924
+ak3220m MACH_AK3320M AK3320M 925
+duramax MACH_DURAMAX DURAMAX 926
+n35 MACH_N35 N35 927
+pronghorn MACH_PRONGHORN PRONGHORN 928
+fundy MACH_FUNDY FUNDY 929
+logicpd_pxa270 MACH_LOGICPD_PXA270 LOGICPD_PXA270 930
+cpu777 MACH_CPU777 CPU777 931
+simicon9201 MACH_SIMICON9201 SIMICON9201 932
+leap2_hpm MACH_LEAP2_HPM LEAP2_HPM 933
+cm922txa10 MACH_CM922TXA10 CM922TXA10 934
+sandgate MACH_PXA PXA 935
+sandgate2 MACH_SANDGATE2 SANDGATE2 936
+sandgate2g MACH_SANDGATE2G SANDGATE2G 937
+sandgate2p MACH_SANDGATE2P SANDGATE2P 938
+fred_jack MACH_FRED_JACK FRED_JACK 939
+ttg_color1 MACH_TTG_COLOR1 TTG_COLOR1 940
+nxeb500hmi MACH_NXEB500HMI NXEB500HMI 941
+netdcu8 MACH_NETDCU8 NETDCU8 942
+ml675050_cpu_boa MACH_ML675050_CPU_BOA ML675050_CPU_BOA 943
+ng_fvx538 MACH_NG_FVX538 NG_FVX538 944
+ng_fvs338 MACH_NG_FVS338 NG_FVS338 945
+pnx4103 MACH_PNX4103 PNX4103 946
+hesdb MACH_HESDB HESDB 947
+xsilo MACH_XSILO XSILO 948
+espresso MACH_ESPRESSO ESPRESSO 949
+emlc MACH_EMLC EMLC 950
+sisteron MACH_SISTERON SISTERON 951
+rx1950 MACH_RX1950 RX1950 952
+tsc_venus MACH_TSC_VENUS TSC_VENUS 953
+ds101j MACH_DS101J DS101J 954
+mxc30030ads MACH_MXC30030ADS MXC30030ADS 955
+fujitsu_wimaxsoc MACH_FUJITSU_WIMAXSOC FUJITSU_WIMAXSOC 956
+dualpcmodem MACH_DUALPCMODEM DUALPCMODEM 957
+gesbc9312 MACH_GESBC9312 GESBC9312 958
+htcapache MACH_HTCAPACHE HTCAPACHE 959
+ixdp435 MACH_IXDP435 IXDP435 960
+catprovt100 MACH_CATPROVT100 CATPROVT100 961
+picotux1xx MACH_PICOTUX1XX PICOTUX1XX 962
+picotux2xx MACH_PICOTUX2XX PICOTUX2XX 963
+dsmg600 MACH_DSMG600 DSMG600 964
+empc2 MACH_EMPC2 EMPC2 965
+ventura MACH_VENTURA VENTURA 966
+phidget_sbc MACH_PHIDGET_SBC PHIDGET_SBC 967
+ij3k MACH_IJ3K IJ3K 968
+pisgah MACH_PISGAH PISGAH 969
+omap_fsample MACH_OMAP_FSAMPLE OMAP_FSAMPLE 970
+sg720 MACH_SG720 SG720 971
+redfox MACH_REDFOX REDFOX 972
+mysh_ep9315_1 MACH_MYSH_EP9315_1 MYSH_EP9315_1 973
+tpf106 MACH_TPF106 TPF106 974
+at91rm9200kg MACH_AT91RM9200KG AT91RM9200KG 975
+rcmt2 MACH_SLEDB SLEDB 976
+ontrack MACH_ONTRACK ONTRACK 977
+pm1200 MACH_PM1200 PM1200 978
+ess24562 MACH_ESS24XXX ESS24XXX 979
+coremp7 MACH_COREMP7 COREMP7 980
+nexcoder_6446 MACH_NEXCODER_6446 NEXCODER_6446 981
+stvc8380 MACH_STVC8380 STVC8380 982
+teklynx MACH_TEKLYNX TEKLYNX 983
+carbonado MACH_CARBONADO CARBONADO 984
+sysmos_mp730 MACH_SYSMOS_MP730 SYSMOS_MP730 985
+snapper_cl15 MACH_SNAPPER_CL15 SNAPPER_CL15 986
+pgigim MACH_PGIGIM PGIGIM 987
+ptx9160p2 MACH_PTX9160P2 PTX9160P2 988
+dcore1 MACH_DCORE1 DCORE1 989
+victorpxa MACH_VICTORPXA VICTORPXA 990
+mx2dtb MACH_MX2DTB MX2DTB 991
+pxa_irex_er0100 MACH_PXA_IREX_ER0100 PXA_IREX_ER0100 992
+omap_palmz71 MACH_OMAP_PALMZ71 OMAP_PALMZ71 993
+bartec_deg MACH_BARTEC_DEG BARTEC_DEG 994
+hw50251 MACH_HW50251 HW50251 995
+ibox MACH_IBOX IBOX 996
+atlaslh7a404 MACH_ATLASLH7A404 ATLASLH7A404 997
+pt2026 MACH_PT2026 PT2026 998
+htcalpine MACH_HTCALPINE HTCALPINE 999
+bartec_vtu MACH_BARTEC_VTU BARTEC_VTU 1000
+vcoreii MACH_VCOREII VCOREII 1001
+pdnb3 MACH_PDNB3 PDNB3 1002
+htcbeetles MACH_HTCBEETLES HTCBEETLES 1003
+s3c6400 MACH_S3C6400 S3C6400 1004
+s3c2443 MACH_S3C2443 S3C2443 1005
+omap_ldk MACH_OMAP_LDK OMAP_LDK 1006
+smdk2460 MACH_SMDK2460 SMDK2460 1007
+smdk2440 MACH_SMDK2440 SMDK2440 1008
+smdk2412 MACH_SMDK2412 SMDK2412 1009
+webbox MACH_WEBBOX WEBBOX 1010
+cwwndp MACH_CWWNDP CWWNDP 1011
+i839 MACH_DRAGON DRAGON 1012
+opendo_cpu_board MACH_OPENDO_CPU_BOARD OPENDO_CPU_BOARD 1013
+ccm2200 MACH_CCM2200 CCM2200 1014
+etwarm MACH_ETWARM ETWARM 1015
+m93030 MACH_M93030 M93030 1016
+cc7u MACH_CC7U CC7U 1017
+mtt_ranger MACH_MTT_RANGER MTT_RANGER 1018
+nexus MACH_NEXUS NEXUS 1019
+desman MACH_DESMAN DESMAN 1020
+bkde303 MACH_BKDE303 BKDE303 1021
+smdk2413 MACH_SMDK2413 SMDK2413 1022
+aml_m7200 MACH_AML_M7200 AML_M7200 1023
+aml_m5900 MACH_AML_M5900 AML_M5900 1024
+sg640 MACH_SG640 SG640 1025
+edg79524 MACH_EDG79524 EDG79524 1026
+ai2410 MACH_AI2410 AI2410 1027
+ixp465 MACH_IXP465 IXP465 1028
+balloon3 MACH_BALLOON3 BALLOON3 1029
+heins MACH_HEINS HEINS 1030
+mpluseva MACH_MPLUSEVA MPLUSEVA 1031
+rt042 MACH_RT042 RT042 1032
+cwiem MACH_CWIEM CWIEM 1033
+cm_x270 MACH_CM_X270 CM_X270 1034
+cm_x255 MACH_CM_X255 CM_X255 1035
+esh_at91 MACH_ESH_AT91 ESH_AT91 1036
+sandgate3 MACH_SANDGATE3 SANDGATE3 1037
+primo MACH_PRIMO PRIMO 1038
+gemstone MACH_GEMSTONE GEMSTONE 1039
+pronghorn_metro MACH_PRONGHORNMETRO PRONGHORNMETRO 1040
+sidewinder MACH_SIDEWINDER SIDEWINDER 1041
+picomod1 MACH_PICOMOD1 PICOMOD1 1042
+sg590 MACH_SG590 SG590 1043
+akai9307 MACH_AKAI9307 AKAI9307 1044
+fontaine MACH_FONTAINE FONTAINE 1045
+wombat MACH_WOMBAT WOMBAT 1046
+acq300 MACH_ACQ300 ACQ300 1047
+mod_270 MACH_MOD_270 MOD_270 1048
+vmc_vc0820 MACH_VC0820 VC0820 1049
+ani_aim MACH_ANI_AIM ANI_AIM 1050
+jellyfish MACH_JELLYFISH JELLYFISH 1051
+amanita MACH_AMANITA AMANITA 1052
+vlink MACH_VLINK VLINK 1053
+dexflex MACH_DEXFLEX DEXFLEX 1054
+eigen_ttq MACH_EIGEN_TTQ EIGEN_TTQ 1055
+arcom_titan MACH_ARCOM_TITAN ARCOM_TITAN 1056
+tabla MACH_TABLA TABLA 1057
+mdirac3 MACH_MDIRAC3 MDIRAC3 1058
+mrhfbp2 MACH_MRHFBP2 MRHFBP2 1059
+at91rm9200rb MACH_AT91RM9200RB AT91RM9200RB 1060
+ani_apm MACH_ANI_APM ANI_APM 1061
+ella1 MACH_ELLA1 ELLA1 1062
+inhand_pxa27x MACH_INHAND_PXA27X INHAND_PXA27X 1063
+inhand_pxa25x MACH_INHAND_PXA25X INHAND_PXA25X 1064
+empos_xm MACH_EMPOS_XM EMPOS_XM 1065
+empos MACH_EMPOS EMPOS 1066
+empos_tiny MACH_EMPOS_TINY EMPOS_TINY 1067
+empos_sm MACH_EMPOS_SM EMPOS_SM 1068
+egret MACH_EGRET EGRET 1069
+ostrich MACH_OSTRICH OSTRICH 1070
+n50 MACH_N50 N50 1071
+ecbat91 MACH_ECBAT91 ECBAT91 1072
+stareast MACH_STAREAST STAREAST 1073
+dspg_dw MACH_DSPG_DW DSPG_DW 1074
+onearm MACH_ONEARM ONEARM 1075
+mrg110_6 MACH_MRG110_6 MRG110_6 1076
+wrt300nv2 MACH_WRT300NV2 WRT300NV2 1077
+xm_bulverde MACH_XM_BULVERDE XM_BULVERDE 1078
+msm6100 MACH_MSM6100 MSM6100 1079
+eti_b1 MACH_ETI_B1 ETI_B1 1080
+za9l_series MACH_ZILOG_ZA9L ZILOG_ZA9L 1081
+bit2440 MACH_BIT2440 BIT2440 1082
diff --git a/meta/packages/linux/linux-cmx270-rp_2.6.17.bb b/meta/packages/linux/linux-cmx270-rp_2.6.17.bb
new file mode 100644
index 0000000000..846095e401
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270-rp_2.6.17.bb
@@ -0,0 +1,42 @@
+SECTION = "kernel"
+DESCRIPTION = "Linux kernel for Compulab cmx270"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
+ http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_ide-r1.patch;patch=1 \
+ http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_mtd-r2.patch;patch=1 \
+ http://www.rpsys.net/openzaurus/patches/archive/cmx270/it8152_pci-r1.patch;patch=1 \
+ http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_core-r2.patch;patch=1 \
+ http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_mbx.patch;patch=1 \
+ http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_pccard-r1.patch;patch=1 \
+ http://www.rpsys.net/openzaurus/patches/archive/cmx270/it8711_sio-r1.patch;patch=1 \
+ http://www.rpsys.net/openzaurus/patches/archive/cmx270/cm_x2xx_core_Kconfig-r1.patch;patch=1 \
+ file://defconfig"
+
+S = "${WORKDIR}/linux-2.6.17"
+
+# to get module dependencies working
+KERNEL_RELEASE = "2.6.17"
+
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}"
+
+inherit kernel
+
+COMPATIBLE_HOST = "arm.*-linux"
+#COMPATIBLE_MACHINE = "cmx270"
+
+do_configure_prepend() {
+ install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+ oe_runmake oldconfig
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR}/images
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile
diff --git a/meta/packages/linux/linux-cmx270_2.6.17.bb b/meta/packages/linux/linux-cmx270_2.6.17.bb
new file mode 100644
index 0000000000..d9cdd7e9e2
--- /dev/null
+++ b/meta/packages/linux/linux-cmx270_2.6.17.bb
@@ -0,0 +1,40 @@
+SECTION = "kernel"
+DESCRIPTION = "Linux kernel CM-X270"
+LICENSE = "GPL"
+PR = "r7"
+
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
+ http://raph.people.8d.com/kernels/8d-cmx2xx-2.6.17.1-june21.diff;patch=1 \
+ http://raph.people.8d.com/kernels/hardcode-archID.diff;patch=1 \
+ file://cm_x2xx_mbx.patch;patch=1 \
+ file://add_2700g_plat-r0.patch;patch=1 \
+ file://mtd_fixes-r0.patch;patch=1 \
+ file://mtd_fixes1-r0.patch;patch=1 \
+ file://mach-types \
+ file://defconfig"
+
+S = "${WORKDIR}//linux-2.6.17"
+
+KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}"
+
+inherit kernel
+
+COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = "cmx270"
+
+do_configure_prepend() {
+ install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+ install -m 0644 ${WORKDIR}/mach-types ${S}/arch/arm/tools/mach-types
+ oe_runmake oldconfig
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR}/images
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile
+
+KERNEL_RELEASE = "2.6.17" \ No newline at end of file
diff --git a/meta/packages/linux/linux-nokia770-2.6.12.3-osso14/nokia770/defconfig b/meta/packages/linux/linux-nokia770-2.6.12.3-osso14/nokia770/defconfig
new file mode 100644
index 0000000000..ea54df90fe
--- /dev/null
+++ b/meta/packages/linux/linux-nokia770-2.6.12.3-osso14/nokia770/defconfig
@@ -0,0 +1,1297 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12.3-omap1
+# Tue Oct 25 17:03:24 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_IOMAP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+
+#
+# TI OMAP Implementations
+#
+CONFIG_ARCH_OMAP_OTG=y
+CONFIG_ARCH_OMAP1=y
+# CONFIG_ARCH_OMAP2 is not set
+
+#
+# OMAP Core Type
+#
+# CONFIG_ARCH_OMAP730 is not set
+# CONFIG_ARCH_OMAP1510 is not set
+CONFIG_ARCH_OMAP16XX=y
+
+#
+# OMAP Board Type
+#
+# CONFIG_MACH_OMAP_INNOVATOR is not set
+# CONFIG_MACH_OMAP_H2 is not set
+# CONFIG_MACH_OMAP_H3 is not set
+# CONFIG_MACH_OMAP_OSK is not set
+CONFIG_MACH_OMAP_GENERIC=y
+
+#
+# OMAP CPU Speed
+#
+CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
+CONFIG_OMAP_ARM_216MHZ=y
+# CONFIG_OMAP_ARM_192MHZ is not set
+# CONFIG_OMAP_ARM_168MHZ is not set
+# CONFIG_OMAP_ARM_120MHZ is not set
+# CONFIG_OMAP_ARM_60MHZ is not set
+# CONFIG_OMAP_ARM_30MHZ is not set
+CONFIG_OMAP_DSP=y
+# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set
+CONFIG_OMAP_DSP_TASK_MULTIOPEN=y
+CONFIG_OMAP_DSP_FBEXPORT=y
+
+#
+# OMAP Feature Selections
+#
+CONFIG_OMAP_RESET_CLOCKS=y
+CONFIG_OMAP_BOOT_TAG=y
+CONFIG_OMAP_BOOT_REASON=y
+CONFIG_OMAP_COMPONENT_VERSION=y
+CONFIG_OMAP_GPIO_SWITCH=y
+# CONFIG_OMAP_MUX is not set
+CONFIG_OMAP_STI=y
+CONFIG_OMAP_STI_CONSOLE=y
+# CONFIG_OMAP_MPU_TIMER is not set
+CONFIG_OMAP_32K_TIMER=y
+CONFIG_OMAP_32K_TIMER_HZ=128
+CONFIG_OMAP_DM_TIMER=y
+CONFIG_NO_IDLE_HZ=y
+CONFIG_NO_IDLE_HZ_ENABLED=y
+CONFIG_OMAP_LL_DEBUG_UART1=y
+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
+# CONFIG_OMAP_LL_DEBUG_UART3 is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_DISCONTIGMEM is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 time"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_APM is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_RAMTD is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_TOTO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_OMAP_HW=y
+
+#
+# OneNAND Flash Device Drivers (EXPERIMENTAL)
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CDROM_PKTCDVD is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_IP_TCPDIAG is not set
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+# CONFIG_IPV6 is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# IP: Netfilter Configuration
+#
+# CONFIG_IP_NF_CONNTRACK is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MATCH_LIMIT=y
+# CONFIG_IP_NF_MATCH_IPRANGE is not set
+# CONFIG_IP_NF_MATCH_MAC is not set
+# CONFIG_IP_NF_MATCH_PKTTYPE is not set
+# CONFIG_IP_NF_MATCH_MARK is not set
+# CONFIG_IP_NF_MATCH_MULTIPORT is not set
+# CONFIG_IP_NF_MATCH_TOS is not set
+# CONFIG_IP_NF_MATCH_RECENT is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_DSCP is not set
+# CONFIG_IP_NF_MATCH_AH_ESP is not set
+# CONFIG_IP_NF_MATCH_LENGTH is not set
+# CONFIG_IP_NF_MATCH_TTL is not set
+# CONFIG_IP_NF_MATCH_TCPMSS is not set
+# CONFIG_IP_NF_MATCH_OWNER is not set
+# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
+# CONFIG_IP_NF_MATCH_REALM is not set
+# CONFIG_IP_NF_MATCH_SCTP is not set
+# CONFIG_IP_NF_MATCH_COMMENT is not set
+# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
+CONFIG_IP_NF_FILTER=y
+# CONFIG_IP_NF_TARGET_REJECT is not set
+# CONFIG_IP_NF_TARGET_LOG is not set
+# CONFIG_IP_NF_TARGET_ULOG is not set
+# CONFIG_IP_NF_TARGET_TCPMSS is not set
+CONFIG_IP_NF_TARGET_IDLETIMER=y
+# CONFIG_IP_NF_MANGLE is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=y
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=y
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_BT_HCIUSB is not set
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+CONFIG_BT_HCIBRF6150=y
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=y
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_SMC91X is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_ATMEL is not set
+CONFIG_CX3110X=m
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=y
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_BSDCOMP=y
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_OMAP=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_OMAP16XX_WATCHDOG=y
+CONFIG_OMAP16XX_RNG=y
+# CONFIG_NVRAM is not set
+# CONFIG_RTC is not set
+# CONFIG_OMAP_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ISA is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+CONFIG_I2C_OMAP=y
+
+#
+# Hardware Sensors Chip support
+#
+# CONFIG_I2C_SENSOR is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_ISP1301_OMAP is not set
+# CONFIG_TPS65010 is not set
+CONFIG_SENSORS_TLV320AIC23=y
+# CONFIG_GPIOEXPANDER_OMAP is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+CONFIG_NOKIA_OMAP_USBTEST=m
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+CONFIG_FB_SOFT_CURSOR=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_OMAP=y
+CONFIG_FB_OMAP_INTERNAL_LCDC=y
+CONFIG_FB_OMAP_EXTERNAL_LCDC=y
+CONFIG_FB_OMAP_LCDC_HWA742=y
+CONFIG_FB_OMAP_MANUAL_UPDATE=y
+CONFIG_FB_OMAP_LCD_LPH8923=y
+CONFIG_FB_OMAP_DMA_TUNE=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_RAWMIDI=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_DUMMY=y
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=y
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_BANDWIDTH=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_WHITELIST is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+# CONFIG_USB_MIDI is not set
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_MTOUCH is not set
+# CONFIG_USB_EGALAX is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+CONFIG_USB_USBNET=y
+
+#
+# USB Host-to-Host Cables
+#
+CONFIG_USB_ALI_M5632=y
+# CONFIG_USB_AN2720 is not set
+# CONFIG_USB_BELKIN is not set
+# CONFIG_USB_GENESYS is not set
+# CONFIG_USB_NET1080 is not set
+# CONFIG_USB_PL2301 is not set
+# CONFIG_USB_KC2190 is not set
+
+#
+# Intelligent USB Devices/Gadgets
+#
+# CONFIG_USB_ARMLINUX is not set
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_ZAURUS is not set
+# CONFIG_USB_CDCETHER is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_AX8817X=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=y
+CONFIG_USB_SERIAL_CONSOLE=y
+# CONFIG_USB_SERIAL_GENERIC is not set
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+# CONFIG_USB_SERIAL_CP2101 is not set
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+# CONFIG_USB_SERIAL_FTDI_SIO is not set
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+CONFIG_USB_SERIAL_PL2303=y
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
+# CONFIG_USB_SERIAL_OMNINET is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+CONFIG_USB_GADGET_OMAP=y
+CONFIG_USB_OMAP=y
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_FILE_STORAGE=m
+CONFIG_USB_FILE_STORAGE_TEST=y
+# CONFIG_USB_G_SERIAL is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BROKEN_RFD=y
+CONFIG_MMC_BULKTRANSFER=y
+CONFIG_MMC_OMAP=y
+# CONFIG_MMC_WBSD is not set
+
+#
+# Synchronous Serial Interfaces (SSI)
+#
+CONFIG_OMAP_UWIRE=y
+# CONFIG_OMAP_TSC2101 is not set
+CONFIG_OMAP_UWIRE_ADS7846=y
+
+#
+# CBUS support
+#
+CONFIG_CBUS=y
+CONFIG_CBUS_TAHVO=y
+CONFIG_CBUS_TAHVO_USER=y
+CONFIG_CBUS_TAHVO_USB=y
+# CONFIG_CBUS_TAHVO_USB_HOST_BY_DEFAULT is not set
+CONFIG_CBUS_RETU=y
+CONFIG_CBUS_RETU_USER=y
+CONFIG_CBUS_RETU_POWERBUTTON=y
+CONFIG_CBUS_RETU_RTC=y
+CONFIG_CBUS_RETU_WDT=y
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+
+#
+# XFS support
+#
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+# CONFIG_DEVFS_FS is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+# CONFIG_ROOT_NFS is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+CONFIG_NLS_CODEPAGE_852=y
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITY_NETWORK is not set
+# CONFIG_SECURITY_CAPABILITIES is not set
+# CONFIG_SECURITY_ROOTPLUG is not set
+# CONFIG_SECURITY_SECLVL is not set
+CONFIG_SECURITY_LOWMEM=y
+# CONFIG_SECURITY_SELINUX is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-nokia770_2.6.12.3-osso14.bb b/meta/packages/linux/linux-nokia770_2.6.12.3-osso14.bb
new file mode 100644
index 0000000000..5b8bc9b168
--- /dev/null
+++ b/meta/packages/linux/linux-nokia770_2.6.12.3-osso14.bb
@@ -0,0 +1,31 @@
+SECTION = "kernel"
+DESCRIPTION = "Linux kernel for Nokia 770"
+LICENSE = "GPL"
+PR = "r4"
+
+SRC_URI = "http://ewi546.ewi.utwente.nl/OE/source/kernel-source-2.6.12.3_2.6.12.3-osso14.tar.gz \
+ file://defconfig"
+
+S = "${WORKDIR}/linux-2.6"
+
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_OUTPUT = "arch/${ARCH}/boot/compressed/${KERNEL_IMAGETYPE}"
+
+inherit kernel
+
+COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = "nokia770"
+
+do_configure_prepend() {
+ install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+ oe_runmake oldconfig
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR}/images
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR}/images/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/00-hostap.patch b/meta/packages/linux/linux-openzaurus-2.6.16/00-hostap.patch
new file mode 100644
index 0000000000..20432b404a
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/00-hostap.patch
@@ -0,0 +1,45 @@
+Platform: Sharp Zaurus C760 running 2.6.16 and pcmciautils 013.
+
+root@c7x0:~# pccardctl ident
+Socket 0:
+ product info: "Pretec", "CompactWLAN Card 802.11b", "2.5"
+ manfid: 0x0156, 0x0002
+ function: 6 (network)
+
+==========================================================================
+From: Jochen Friedrich
+
+Yet another card known to work OK with hostap_cs:
+
+# pccardctl ident
+Socket 0:
+ no product info available
+Socket 1:
+ product info: "U.S. Robotics", "IEEE 802.11b PC-CARD", "Version 01.02", ""
+ manfid: 0x0156, 0x0002
+ function: 6 (network)
+
+==========================================================================
+
+Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+ drivers/net/wireless/hostap/hostap_cs.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+Index: linux/drivers/net/wireless/hostap/hostap_cs.c
+===================================================================
+--- linux.orig/drivers/net/wireless/hostap/hostap_cs.c 2006-05-17 10:23:00.000000000 +0200
++++ linux/drivers/net/wireless/hostap/hostap_cs.c 2006-05-17 10:25:45.000000000 +0200
+@@ -923,6 +923,12 @@
+ PCMCIA_DEVICE_PROD_ID12(
+ "ZoomAir 11Mbps High", "Rate wireless Networking",
+ 0x273fe3db, 0x32a1eaee),
++ PCMCIA_DEVICE_PROD_ID123(
++ "Pretec", "CompactWLAN Card 802.11b", "2.5",
++ 0x1cadd3e5, 0xe697636c, 0x7a5bfcf1),
++ PCMCIA_DEVICE_PROD_ID123(
++ "U.S. Robotics", "IEEE 802.11b PC-CARD", "Version 01.02",
++ 0xc7b8df9d, 0x1700d087, 0x4b74baa0),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/10-pcnet.patch b/meta/packages/linux/linux-openzaurus-2.6.16/10-pcnet.patch
new file mode 100644
index 0000000000..2e1966e837
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/10-pcnet.patch
@@ -0,0 +1,27 @@
+
+From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+Add TRENDnet TE-CF100 ethernet adapter to pcnet_cs list.
+
+product info: "Fast Ethernet", "CF Size PC Card", "1.0", ""
+ manfid: 0x0149, 0xc1ab
+
+Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+ drivers/net/pcmcia/pcnet_cs.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: netdev-2.6/drivers/net/pcmcia/pcnet_cs.c
+===================================================================
+--- netdev-2.6.orig/drivers/net/pcmcia/pcnet_cs.c 2006-05-18 11:06:43.294022480 +0200
++++ netdev-2.6/drivers/net/pcmcia/pcnet_cs.c 2006-05-18 11:10:31.548322552 +0200
+@@ -1768,6 +1768,8 @@
+ PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "NE2K.cis"),
+ PCMCIA_DEVICE_CIS_PROD_ID12("PMX ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "PE-200.cis"),
+ PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "tamarack.cis"),
++ PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
++ 0xb4be14e3, 0x43ac239b, 0x0877b627),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
+
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/add-oz-release-string.patch b/meta/packages/linux/linux-openzaurus-2.6.16/add-oz-release-string.patch
new file mode 100644
index 0000000000..22a6fd3943
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/add-oz-release-string.patch
@@ -0,0 +1,24 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-2.6.11-rc1/init/version.c~add-oz-release-string
++++ linux-2.6.11-rc1/init/version.c
+@@ -29,5 +29,5 @@
+ EXPORT_SYMBOL(system_utsname);
+
+ const char linux_banner[] =
+- "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
++ "Linux version " UTS_RELEASE OPENZAURUS_RELEASE " (" LINUX_COMPILE_BY "@"
+ LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
+--- linux-2.6.11-rc1/Makefile~add-oz-release-string
++++ linux-2.6.11-rc1/Makefile
+@@ -827,6 +827,7 @@
+ exit 1; \
+ fi; \
+ (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \
++ echo \#define OPENZAURUS_RELEASE \"$(OPENZAURUS_RELEASE)\"; \
+ echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \
+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
+ )
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/connectplus-remove-ide-HACK.patch b/meta/packages/linux/linux-openzaurus-2.6.16/connectplus-remove-ide-HACK.patch
new file mode 100644
index 0000000000..4414b21191
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/connectplus-remove-ide-HACK.patch
@@ -0,0 +1,12 @@
+Index: linux-2.6.13/drivers/ide/legacy/ide-cs.c
+===================================================================
+--- linux-2.6.13.orig/drivers/ide/legacy/ide-cs.c 2005-09-01 22:43:46.000000000 +0100
++++ linux-2.6.13/drivers/ide/legacy/ide-cs.c 2005-09-01 22:45:46.000000000 +0100
+@@ -488,7 +488,6 @@
+ PCMCIA_DEVICE_PROD_ID123("KODAK Picture Card ", "KODAK ", "V100K", 0x94a0d8f3, 0xe4fc3ea0, 0xe5e7eed4),
+ PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
+ PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
+- PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6),
+ PCMCIA_DEVICE_NULL,
+ };
+ MODULE_DEVICE_TABLE(pcmcia, ide_ids);
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-akita b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-akita
new file mode 100644
index 0000000000..967371c661
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-akita
@@ -0,0 +1,1565 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16
+# Thu Mar 23 22:11:12 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+# CONFIG_PXA_SHARPSL_25x is not set
+CONFIG_PXA_SHARPSL_27x=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_SPITZ=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PXA27x=y
+# CONFIG_PXA_KEYS is not set
+CONFIG_IWMMXT=y
+CONFIG_PXA_SHARP_Cxx00=y
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_SHARPSL=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+CONFIG_KEYBOARD_SPITZ=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_SPITZ=y
+# CONFIG_LEDS_TOSA is not set
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_W100 is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+CONFIG_BACKLIGHT_CORGI=y
+# CONFIG_BACKLIGHT_HP680 is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_DETECT is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_AC97_BUS=m
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=m
+
+#
+# Soc Platforms
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2xx_SOC=m
+CONFIG_SND_PXA2xx_SOC_I2S=m
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
+# CONFIG_SND_PXA2xx_SOC_CORGI is not set
+CONFIG_SND_PXA2xx_SOC_SPITZ=m
+# CONFIG_SND_PXA2xx_SOC_TOSA is not set
+
+#
+# Soc Codecs
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_WM8731 is not set
+CONFIG_SND_SOC_WM8750=m
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8772 is not set
+# CONFIG_SND_SOC_WM8971 is not set
+# CONFIG_SND_SOC_WM9713 is not set
+# CONFIG_SND_SOC_WM9712 is not set
+# CONFIG_SND_SOC_UDA1380 is not set
+# CONFIG_SND_SOC_AK4535 is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DETECT_SOFTLOCKUP is not set
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-c7x0 b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-c7x0
new file mode 100644
index 0000000000..602e69ee34
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-c7x0
@@ -0,0 +1,1601 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16
+# Mon May 22 09:00:01 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+CONFIG_PXA_SHARPSL_25x=y
+# CONFIG_PXA_SHARPSL_27x is not set
+# CONFIG_MACH_POODLE is not set
+CONFIG_MACH_CORGI=y
+CONFIG_MACH_SHEPHERD=y
+CONFIG_MACH_HUSKY=y
+# CONFIG_MACH_TOSA is not set
+CONFIG_PXA25x=y
+# CONFIG_PXA_KEYS is not set
+CONFIG_PXA_SHARP_C7xx=y
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_DEBUG=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_PXA25x=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_SHARPSL=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_CORGI=y
+# CONFIG_KEYBOARD_SPITZ is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_CORGI=y
+# CONFIG_LEDS_TOSA is not set
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_VIDEO_AUDIO_DECODER is not set
+# CONFIG_VIDEO_DECODER is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_PXA is not set
+CONFIG_FB_W100=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CORGI=y
+# CONFIG_BACKLIGHT_HP680 is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_DETECT is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_AC97_BUS=m
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=m
+
+#
+# Soc Platforms
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2xx_SOC=m
+CONFIG_SND_PXA2xx_SOC_I2S=m
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
+CONFIG_SND_PXA2xx_SOC_CORGI=m
+# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
+# CONFIG_SND_PXA2xx_SOC_TOSA is not set
+
+#
+# Soc Codecs
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+CONFIG_SND_SOC_WM8731=m
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8772 is not set
+# CONFIG_SND_SOC_WM8971 is not set
+# CONFIG_SND_SOC_WM9713 is not set
+# CONFIG_SND_SOC_WM9712 is not set
+# CONFIG_SND_SOC_UDA1380 is not set
+# CONFIG_SND_SOC_AK4535 is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_DSBR=m
+# CONFIG_USB_ET61X251 is not set
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_PWC is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+CONFIG_USB_GADGET_PXA2XX=y
+CONFIG_USB_PXA2XX=y
+# CONFIG_USB_PXA2XX_SMALL is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-collie b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-collie
new file mode 100644
index 0000000000..20ec01ff21
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-collie
@@ -0,0 +1,1147 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17-rc1
+# Wed Apr 19 21:01:15 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_DOUBLEFAULT=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+CONFIG_ARCH_SA1100=y
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# SA11x0 Implementations
+#
+# CONFIG_SA1100_ASSABET is not set
+# CONFIG_SA1100_CERF is not set
+CONFIG_SA1100_COLLIE=y
+# CONFIG_SA1100_H3100 is not set
+# CONFIG_SA1100_H3600 is not set
+# CONFIG_SA1100_H3800 is not set
+# CONFIG_SA1100_BADGE4 is not set
+# CONFIG_SA1100_JORNADA720 is not set
+# CONFIG_SA1100_HACKKIT is not set
+# CONFIG_SA1100_LART is not set
+# CONFIG_SA1100_PLEB is not set
+# CONFIG_SA1100_SHANNON is not set
+# CONFIG_SA1100_SIMPAD is not set
+# CONFIG_SA1100_SSP is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_SA1100=y
+CONFIG_CPU_32v4=y
+CONFIG_CPU_ABRT_EV4=y
+CONFIG_CPU_CACHE_V4WB=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WB=y
+
+#
+# Processor Features
+#
+CONFIG_KEXEC=y
+CONFIG_SHARP_LOCOMO=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+CONFIG_ISA=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+# CONFIG_I82365 is not set
+# CONFIG_TCIC is not set
+CONFIG_PCMCIA_SA1100=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
+CONFIG_NODES_SHIFT=2
+CONFIG_SELECT_MEMORY_MODEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_NEED_MULTIPLE_NODES=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 mem=32M fbcon=rotate:1 dyntick=enable debug"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+CONFIG_MTD_OBSOLETE_CHIPS=y
+CONFIG_MTD_SHARP=y
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+# CONFIG_PNP is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=1024
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_ATA_OVER_ETH=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+# CONFIG_NET_PCI is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_ARLAN is not set
+# CONFIG_WAVELAN is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_TSDEV=y
+CONFIG_INPUT_TSDEV_SCREEN_X=240
+CONFIG_INPUT_TSDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=y
+# CONFIG_INPUT_POWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_SA1100=y
+CONFIG_SERIAL_SA1100_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=m
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=m
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ELEKTOR is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+# CONFIG_MCP_SA11X0 is not set
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_LOCOMO=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_PMS is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+
+#
+# Encoders and Decoders
+#
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_CX25840 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_CADET is not set
+# CONFIG_RADIO_RTRACK is not set
+# CONFIG_RADIO_RTRACK2 is not set
+# CONFIG_RADIO_AZTECH is not set
+# CONFIG_RADIO_GEMTEK is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_RADIO_SF16FMI is not set
+# CONFIG_RADIO_SF16FMR2 is not set
+# CONFIG_RADIO_TERRATEC is not set
+# CONFIG_RADIO_TRUST is not set
+# CONFIG_RADIO_TYPHOON is not set
+# CONFIG_RADIO_ZOLTRIX is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_SA1100=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_LOCOMO=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_ROMFS_FS=y
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-ipaq-pxa270 b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-ipaq-pxa270
new file mode 100644
index 0000000000..2b1299116c
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-ipaq-pxa270
@@ -0,0 +1,1021 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.15-rc1-git7
+# Sat Nov 19 23:13:51 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+# CONFIG_CLEAN_COMPILE is not set
+CONFIG_BROKEN=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+# CONFIG_SWAP is not set
+# CONFIG_SYSVIPC is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_PXA_SHARPSL is not set
+CONFIG_MACH_HX2750=y
+CONFIG_PXA27x=y
+CONFIG_PXA_KEYS=y
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+# CONFIG_IEEE80211_CRYPT_CCMP is not set
+# CONFIG_IEEE80211_CRYPT_TKIP is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_AIRO is not set
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_POWER is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_TSC2101=y
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_SA1100_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+CONFIG_MFD_TSC2101=y
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+CONFIG_BACKLIGHT_HX2750=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+# CONFIG_MMC_WBSD is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_JBD is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+# CONFIG_TMPFS is not set
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_MAGIC_SYSRQ is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-poodle b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-poodle
new file mode 100644
index 0000000000..a909387adc
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-poodle
@@ -0,0 +1,1549 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17-rc1
+# Wed Apr 19 21:04:42 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_DOUBLEFAULT=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+CONFIG_PXA_SHARPSL_25x=y
+# CONFIG_PXA_SHARPSL_27x is not set
+CONFIG_MACH_POODLE=y
+# CONFIG_MACH_CORGI is not set
+# CONFIG_MACH_SHEPHERD is not set
+# CONFIG_MACH_HUSKY is not set
+# CONFIG_MACH_TOSA is not set
+CONFIG_PXA25x=y
+# CONFIG_PXA_KEYS is not set
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_LOCOMO=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 mem=32M fbcon=rotate:1 dyntick=enable debug"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_DEBUG=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_PXA25x=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+# CONFIG_IP_NF_H323 is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_SHARPSL=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+# CONFIG_KEYBOARD_SPITZ is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_LOCOMO=y
+# CONFIG_LEDS_TOSA is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+
+#
+# Encoders and Decoders
+#
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_CX25840 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+
+#
+# V4L USB devices
+#
+# CONFIG_VIDEO_EM28XX is not set
+CONFIG_USB_DSBR=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+# CONFIG_USB_ET61X251 is not set
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_W100 is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+CONFIG_FONT_MINI_4x6=y
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_DEVICE=y
+# CONFIG_BACKLIGHT_CORGI is not set
+CONFIG_BACKLIGHT_LOCOMO=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+# CONFIG_USB_SERIAL_NAVMAN is not set
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+CONFIG_USB_GADGET_PXA2XX=y
+CONFIG_USB_PXA2XX=y
+# CONFIG_USB_PXA2XX_SMALL is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-qemuarm b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-qemuarm
new file mode 100644
index 0000000000..33891f8bf8
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-qemuarm
@@ -0,0 +1,961 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16
+# Mon May 22 22:05:57 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+CONFIG_OBSOLETE_INTERMODULE=y
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+CONFIG_ARCH_INTEGRATOR=y
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Integrator Options
+#
+# CONFIG_ARCH_INTEGRATOR_AP is not set
+CONFIG_ARCH_INTEGRATOR_CP=y
+CONFIG_ARCH_CINTEGRATOR=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+# CONFIG_CPU_ARM720T is not set
+# CONFIG_CPU_ARM920T is not set
+# CONFIG_CPU_ARM922T is not set
+CONFIG_CPU_ARM926T=y
+# CONFIG_CPU_ARM1020 is not set
+# CONFIG_CPU_ARM1022 is not set
+CONFIG_CPU_ARM1026=y
+# CONFIG_CPU_V6 is not set
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+# CONFIG_KEXEC is not set
+CONFIG_ICST525=y
+
+#
+# Bus support
+#
+CONFIG_ARM_AMBA=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_LEDS=y
+CONFIG_LEDS_TIMER=y
+CONFIG_LEDS_CPU=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 dyntick=enable debug"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_INTEGRATOR=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+CONFIG_VFP=y
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+# CONFIG_PM_DEBUG is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_AFS_PARTS=y
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_GEOMETRY is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_SMC91X=y
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_POWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+# CONFIG_LEDS_CLASS is not set
+# CONFIG_LEDS_TRIGGERS is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_ARMCLCD=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+# CONFIG_LOGO_LINUX_CLUT224 is not set
+CONFIG_LOGO_OHAND_CLUT224=y
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=y
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+# CONFIG_NFSD_V4 is not set
+# CONFIG_NFSD_TCP is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=y
+# CONFIG_SMB_NLS_DEFAULT is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+# CONFIG_NLS_CODEPAGE_437 is not set
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-spitz b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-spitz
new file mode 100644
index 0000000000..ddb8a8aeae
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-spitz
@@ -0,0 +1,1565 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16
+# Thu Mar 23 22:11:12 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+# CONFIG_PXA_SHARPSL_25x is not set
+CONFIG_PXA_SHARPSL_27x=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_SPITZ=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PXA27x=y
+# CONFIG_PXA_KEYS is not set
+CONFIG_IWMMXT=y
+CONFIG_PXA_SHARP_Cxx00=y
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_SHARPSL=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+CONFIG_KEYBOARD_SPITZ=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_SPITZ=y
+# CONFIG_LEDS_TOSA is not set
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_W100 is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+CONFIG_BACKLIGHT_CORGI=y
+# CONFIG_BACKLIGHT_HP680 is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_DETECT is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_AC97_BUS=m
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=m
+
+#
+# Soc Platforms
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2xx_SOC=m
+CONFIG_SND_PXA2xx_SOC_I2S=m
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
+# CONFIG_SND_PXA2xx_SOC_CORGI is not set
+CONFIG_SND_PXA2xx_SOC_SPITZ=m
+# CONFIG_SND_PXA2xx_SOC_TOSA is not set
+
+#
+# Soc Codecs
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_WM8731 is not set
+CONFIG_SND_SOC_WM8750=m
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8772 is not set
+# CONFIG_SND_SOC_WM8971 is not set
+# CONFIG_SND_SOC_WM9713 is not set
+# CONFIG_SND_SOC_WM9712 is not set
+# CONFIG_SND_SOC_UDA1380 is not set
+# CONFIG_SND_SOC_AK4535 is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DETECT_SOFTLOCKUP is not set
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa
new file mode 100644
index 0000000000..4302f47e15
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/defconfig-tosa
@@ -0,0 +1,1601 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16-rc5-git5
+# Tue Mar 14 09:05:26 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+CONFIG_PXA_SHARPSL_25x=y
+# CONFIG_PXA_SHARPSL_27x is not set
+# CONFIG_MACH_POODLE is not set
+# CONFIG_MACH_CORGI is not set
+# CONFIG_MACH_SHEPHERD is not set
+# CONFIG_MACH_HUSKY is not set
+CONFIG_MACH_TOSA=y
+CONFIG_PXA25x=y
+# CONFIG_PXA_KEYS is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
+CONFIG_SHARP_SCOOP=y
+CONFIG_TOSHIBA_TC6393XB=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_PXA25x=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_TMIO=y
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_SHARPSL is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+# CONFIG_IDE_GENERIC is not set
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+# CONFIG_KEYBOARD_SPITZ is not set
+CONFIG_KEYBOARD_TOSA=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_CORGI is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_WM97XX=y
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+CONFIG_TOUCHSCREEN_WM9712=y
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+# CONFIG_TOUCHSCREEN_WM97XX_PXA is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TOSA=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_VIDEO_AUDIO_DECODER is not set
+# CONFIG_VIDEO_DECODER is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_PXA is not set
+# CONFIG_FB_W100 is not set
+CONFIG_FB_TMIO=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CORGI=y
+# CONFIG_BACKLIGHT_HP680 is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_BUS=y
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+# CONFIG_SND_PXA2XX_AC97 is not set
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+
+#
+# PCMCIA devices
+#
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=y
+
+#
+# Soc Platforms
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2xx_SOC=y
+CONFIG_SND_PXA2xx_SOC_AC97=y
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
+# CONFIG_SND_PXA2xx_SOC_CORGI is not set
+# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
+CONFIG_SND_PXA2xx_SOC_TOSA=y
+
+#
+# Soc Codecs
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_WM8731 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8772 is not set
+# CONFIG_SND_SOC_WM8971 is not set
+# CONFIG_SND_SOC_WM9713 is not set
+CONFIG_SND_SOC_WM9712=y
+# CONFIG_SND_SOC_UDA1380 is not set
+# CONFIG_SND_SOC_AK4535 is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_DSBR=m
+# CONFIG_USB_ET61X251 is not set
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_PWC is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+CONFIG_USB_GADGET_PXA2XX=y
+CONFIG_USB_PXA2XX=y
+# CONFIG_USB_PXA2XX_SMALL is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+CONFIG_FUSE_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_GENERIC_ALLOCATOR=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/hrw-pcmcia-ids-r2.patch b/meta/packages/linux/linux-openzaurus-2.6.16/hrw-pcmcia-ids-r2.patch
new file mode 100644
index 0000000000..6f77d51dee
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/hrw-pcmcia-ids-r2.patch
@@ -0,0 +1,42 @@
+
+The ident for Seagate 8GB microdrive is
+"SEAGATE", "ST1"
+hash 0x76dc4190, 0xcfba9599
+manfid 0x0111, 0x0000
+
+CF card:
+ product info: "SAMSUNG", "04/05/06", "", ""
+ manfid : 0x0000, 0x0000
+ function 4 (fixed disk)
+
+
+Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+ drivers/ide/legacy/ide-cs.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: linux-2.6.16/drivers/ide/legacy/ide-cs.c
+===================================================================
+--- linux-2.6.16.orig/drivers/ide/legacy/ide-cs.c 2006-04-20 12:41:41.000000000 +0200
++++ linux-2.6.16/drivers/ide/legacy/ide-cs.c 2006-04-20 12:45:19.640621552 +0200
+@@ -444,6 +444,8 @@
+ PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
+ PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728),
+ PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1),
++ PCMCIA_DEVICE_PROD_ID12("SEAGATE", "ST1", 0x87c1b330, 0xe1f30883), /* Seagate 8GB microdrive */
++ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "04/05/06", 0x43d74cb4, 0x6a22777d),
+ PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003),
+ PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443),
+ PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
+
+
+-------------------------------------------------------------------------
+With pcmcia-cs -> pcmciautils change some cards which was working with
+hostap driver now are bound into orinoco driver.
+
+This patch made them bound into hostap like it was before.
+
+Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+// will add some here
+
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/locomo-kbd-hotkeys.patch b/meta/packages/linux/linux-openzaurus-2.6.16/locomo-kbd-hotkeys.patch
new file mode 100644
index 0000000000..8b296780d4
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/locomo-kbd-hotkeys.patch
@@ -0,0 +1,48 @@
+--- linux-2.6.16/drivers/input/keyboard/locomokbd.c 2006-05-11 18:15:17.392063008 +0200
++++ linux-2.6.16/drivers/input/keyboard/locomokbd.c.ok 2006-05-11 18:14:55.870334808 +0200
+@@ -44,24 +44,29 @@
+
+ #define LOCOMOKBD_NUMKEYS 128
+
+-#define KEY_ACTIVITY KEY_F16
+-#define KEY_CONTACT KEY_F18
+-#define KEY_CENTER KEY_F15
++
++#define LOCOMO_KEY_CALENDER KEY_F1
++#define LOCOMO_KEY_ADDRESS KEY_F2
++#define LOCOMO_KEY_CANCEL KEY_F4
++#define LOCOMO_KEY_CENTER KEY_F5
++#define LOCOMO_KEY_MAIL KEY_F10
++#define LOCOMO_KEY_OK KEY_F11
++#define LOCOMO_KEY_MENU KEY_F12
+
+ static unsigned char locomokbd_keycode[LOCOMOKBD_NUMKEYS] = {
+- 0, KEY_ESC, KEY_ACTIVITY, 0, 0, 0, 0, 0, 0, 0, /* 0 - 9 */
+- 0, 0, 0, 0, 0, 0, 0, KEY_MENU, KEY_HOME, KEY_CONTACT, /* 10 - 19 */
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 20 - 29 */
+- 0, 0, 0, KEY_CENTER, 0, KEY_MAIL, 0, 0, 0, 0, /* 30 - 39 */
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, KEY_RIGHT, /* 40 - 49 */
+- KEY_UP, KEY_LEFT, 0, 0, KEY_P, 0, KEY_O, KEY_I, KEY_Y, KEY_T, /* 50 - 59 */
+- KEY_E, KEY_W, 0, 0, 0, 0, KEY_DOWN, KEY_ENTER, 0, 0, /* 60 - 69 */
+- KEY_BACKSPACE, 0, KEY_L, KEY_U, KEY_H, KEY_R, KEY_D, KEY_Q, 0, 0, /* 70 - 79 */
+- 0, 0, 0, 0, 0, 0, KEY_ENTER, KEY_RIGHTSHIFT, KEY_K, KEY_J, /* 80 - 89 */
+- KEY_G, KEY_F, KEY_X, KEY_S, 0, 0, 0, 0, 0, 0, /* 90 - 99 */
+- 0, 0, KEY_DOT, 0, KEY_COMMA, KEY_N, KEY_B, KEY_C, KEY_Z, KEY_A, /* 100 - 109 */
+- KEY_LEFTSHIFT, KEY_TAB, KEY_LEFTCTRL, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */
+- KEY_M, KEY_SPACE, KEY_V, KEY_APOSTROPHE, KEY_SLASH, 0, 0, 0 /* 120 - 128 */
++ 0, LOCOMO_KEY_CANCEL, LOCOMO_KEY_CALENDER, KEY_HOME, 0, 0, 0, 0, 0, 0, /* 0 - 9 */
++ KEY_HOME, 0, 0, 0, 0, 0, 0, LOCOMO_KEY_MENU, KEY_HOME, LOCOMO_KEY_ADDRESS, /* 10 - 19 */
++ 0, 0, 0, 0, 0, LOCOMO_KEY_MAIL, 0, 0, 0, 0, /* 20 - 29 */
++ 0, 0, 0, LOCOMO_KEY_CENTER, 0, LOCOMO_KEY_MAIL, 0, 0, 0, 0, /* 30 - 39 */
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, KEY_RIGHT, /* 40 - 49 */
++ KEY_UP, KEY_LEFT, 0, 0, KEY_P, 0, KEY_O, KEY_I, KEY_Y, KEY_T, /* 50 - 59 */
++ KEY_E, KEY_W, 0, 0, 0, 0, KEY_DOWN, LOCOMO_KEY_OK, 0, 0, /* 60 - 69 */
++ KEY_BACKSPACE, 0, KEY_L, KEY_U, KEY_H, KEY_R, KEY_D, KEY_Q, 0, 0, /* 70 - 79 */
++ 0, 0, 0, 0, 0, 0, KEY_ENTER, KEY_RIGHTSHIFT, KEY_K, KEY_J, /* 80 - 89 */
++ KEY_G, KEY_F, KEY_X, KEY_S, 0, 0, 0, 0, 0, 0, /* 90 - 99 */
++ 0, 0, KEY_DOT, 0, KEY_COMMA, KEY_N, KEY_B, KEY_C, KEY_Z, KEY_A, /* 100 - 109 */
++ KEY_LEFTSHIFT, KEY_TAB, KEY_LEFTCTRL, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */
++ KEY_M, KEY_SPACE, KEY_V, KEY_APOSTROPHE, KEY_SLASH, 0, 0, 0 /* 120 - 128 */
+ };
+
+ #define KB_ROWS 16
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/locomo-lcd-def-bightness.patch b/meta/packages/linux/linux-openzaurus-2.6.16/locomo-lcd-def-bightness.patch
new file mode 100644
index 0000000000..6408ef9551
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/locomo-lcd-def-bightness.patch
@@ -0,0 +1,11 @@
+--- linux-2.6.16/drivers/video/backlight/locomolcd.c.orig 2006-05-14 13:24:01.354435088 +0200
++++ linux-2.6.16/drivers/video/backlight/locomolcd.c 2006-05-14 13:24:11.920828752 +0200
+@@ -201,7 +201,7 @@
+ return PTR_ERR (locomolcd_bl_device);
+
+ /* Set up frontlight so that screen is readable */
+- locomobl_data.brightness = 2;
++ locomobl_data.brightness = 3;
+ locomolcd_set_intensity(locomolcd_bl_device);
+
+ return 0;
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch b/meta/packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch
new file mode 100644
index 0000000000..7e233277da
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/locomo-sysrq+keyrepeat.patch
@@ -0,0 +1,49 @@
+--- linux-2.6.16/drivers/input/keyboard/locomokbd.c.orig 2006-05-13 22:53:33.810228656 +0200
++++ linux-2.6.16/drivers/input/keyboard/locomokbd.c 2006-05-13 22:56:56.544408376 +0200
+@@ -45,17 +45,20 @@
+ #define LOCOMOKBD_NUMKEYS 128
+
+
+-#define LOCOMO_KEY_CALENDER KEY_F1
+-#define LOCOMO_KEY_ADDRESS KEY_F2
+-#define LOCOMO_KEY_CANCEL KEY_F4
+-#define LOCOMO_KEY_CENTER KEY_F5
+-#define LOCOMO_KEY_MAIL KEY_F10
+-#define LOCOMO_KEY_OK KEY_F11
++#define LOCOMO_KEY_CALENDER KEY_LEFTCTRL
++#define LOCOMO_KEY_ADDRESS KEY_LEFTALT /* Needed for SysRQ */
++#define LOCOMO_KEY_HOME KEY_SYSRQ /* Needed for SysRQ */
+ #define LOCOMO_KEY_MENU KEY_F12
++#define LOCOMO_KEY_MAIL KEY_F10
++#define LOCOMO_KEY_OK KEY_F11 /* Don't hardwire to KEY_RETURN */
++#define LOCOMO_KEY_CANCEL KEY_POWER
++#define LOCOMO_KEY_CENTER KEY_F5 /* Don't hardwire to KEY_RETURN */
++
++#define LOCOMO_KEY_FN KEY_F9
+
+ static unsigned char locomokbd_keycode[LOCOMOKBD_NUMKEYS] = {
+- 0, LOCOMO_KEY_CANCEL, LOCOMO_KEY_CALENDER, KEY_HOME, 0, 0, 0, 0, 0, 0, /* 0 - 9 */
+- KEY_HOME, 0, 0, 0, 0, 0, 0, LOCOMO_KEY_MENU, KEY_HOME, LOCOMO_KEY_ADDRESS, /* 10 - 19 */
++ 0, LOCOMO_KEY_CANCEL, LOCOMO_KEY_CALENDER, LOCOMO_KEY_HOME, 0, 0, 0, 0, 0, 0, /* 0 - 9 */
++ 0, 0, 0, 0, 0, 0, 0, LOCOMO_KEY_MENU, 0, LOCOMO_KEY_ADDRESS, /* 10 - 19 */
+ 0, 0, 0, 0, 0, LOCOMO_KEY_MAIL, 0, 0, 0, 0, /* 20 - 29 */
+ 0, 0, 0, LOCOMO_KEY_CENTER, 0, LOCOMO_KEY_MAIL, 0, 0, 0, 0, /* 30 - 39 */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, KEY_RIGHT, /* 40 - 49 */
+@@ -65,7 +68,7 @@
+ 0, 0, 0, 0, 0, 0, KEY_ENTER, KEY_RIGHTSHIFT, KEY_K, KEY_J, /* 80 - 89 */
+ KEY_G, KEY_F, KEY_X, KEY_S, 0, 0, 0, 0, 0, 0, /* 90 - 99 */
+ 0, 0, KEY_DOT, 0, KEY_COMMA, KEY_N, KEY_B, KEY_C, KEY_Z, KEY_A, /* 100 - 109 */
+- KEY_LEFTSHIFT, KEY_TAB, KEY_LEFTCTRL, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */
++ KEY_LEFTSHIFT, KEY_TAB, LOCOMO_KEY_FN, 0, 0, 0, 0, 0, 0, 0, /* 110 - 119 */
+ KEY_M, KEY_SPACE, KEY_V, KEY_APOSTROPHE, KEY_SLASH, 0, 0, 0 /* 120 - 128 */
+ };
+
+@@ -76,7 +79,7 @@
+ #define NR_SCANCODES 128
+
+ #define KB_DELAY 8
+-#define SCAN_INTERVAL (HZ/10)
++#define SCAN_INTERVAL (HZ/20)
+ #define LOCOMOKBD_PRESSED 1
+
+ struct locomokbd {
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/pxa-serial-hack.patch b/meta/packages/linux/linux-openzaurus-2.6.16/pxa-serial-hack.patch
new file mode 100644
index 0000000000..b3a7f786ea
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/pxa-serial-hack.patch
@@ -0,0 +1,73 @@
+Index: linux-2.6.14/drivers/serial/8250.c
+===================================================================
+--- linux-2.6.14.orig/drivers/serial/8250.c 2005-11-07 18:10:50.000000000 +0000
++++ linux-2.6.14/drivers/serial/8250.c 2005-11-07 19:01:21.000000000 +0000
+@@ -2333,7 +2333,12 @@
+ .devfs_name = "tts/",
+ .dev_name = "ttyS",
+ .major = TTY_MAJOR,
++#ifdef CONFIG_SERIAL_PXA
++ .minor = 64 + 3,
++ .name_base = 3,
++#else
+ .minor = 64,
++#endif
+ .nr = UART_NR,
+ .cons = SERIAL8250_CONSOLE,
+ };
+Index: linux-2.6.14/drivers/serial/serial_core.c
+===================================================================
+--- linux-2.6.14.orig/drivers/serial/serial_core.c 2005-11-07 18:10:50.000000000 +0000
++++ linux-2.6.14/drivers/serial/serial_core.c 2005-11-07 19:01:21.000000000 +0000
+@@ -2126,6 +2126,7 @@
+ normal->driver_name = drv->driver_name;
+ normal->devfs_name = drv->devfs_name;
+ normal->name = drv->dev_name;
++ normal->name_base = drv->name_base;
+ normal->major = drv->major;
+ normal->minor_start = drv->minor;
+ normal->type = TTY_DRIVER_TYPE_SERIAL;
+Index: linux-2.6.14/include/linux/serial_core.h
+===================================================================
+--- linux-2.6.14.orig/include/linux/serial_core.h 2005-11-07 18:10:56.000000000 +0000
++++ linux-2.6.14/include/linux/serial_core.h 2005-11-07 19:01:21.000000000 +0000
+@@ -322,6 +322,7 @@
+ const char *driver_name;
+ const char *dev_name;
+ const char *devfs_name;
++ int name_base;
+ int major;
+ int minor;
+ int nr;
+Index: linux-2.6.14/drivers/serial/serial_cs.c
+===================================================================
+--- linux-2.6.14.orig/drivers/serial/serial_cs.c 2005-10-28 01:02:08.000000000 +0100
++++ linux-2.6.14/drivers/serial/serial_cs.c 2005-11-07 19:01:21.000000000 +0000
+@@ -294,7 +294,7 @@
+ kio_addr_t iobase, int irq)
+ {
+ struct uart_port port;
+- int line;
++ int line, linestart;
+
+ memset(&port, 0, sizeof (struct uart_port));
+ port.iobase = iobase;
+@@ -311,10 +311,16 @@
+ return -EINVAL;
+ }
+
++#if CONFIG_SERIAL_PXA
++ linestart = 3;
++#else
++ linestart = 0;
++#endif
++
+ info->line[info->ndev] = line;
+- sprintf(info->node[info->ndev].dev_name, "ttyS%d", line);
++ sprintf(info->node[info->ndev].dev_name, "ttyS%d", line+linestart);
+ info->node[info->ndev].major = TTY_MAJOR;
+- info->node[info->ndev].minor = 0x40 + line;
++ info->node[info->ndev].minor = 0x40 + line + linestart;
+ if (info->ndev > 0)
+ info->node[info->ndev - 1].next = &info->node[info->ndev];
+ info->ndev++;
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch b/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch
new file mode 100644
index 0000000000..054b48d28d
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc1.patch
@@ -0,0 +1,61 @@
+
+The CSD contains a "read2write factor" which determines the multiplier to
+be applied to the read timeout to obtain the write timeout. We were
+ignoring this parameter, resulting in the possibility for writes being
+timed out too early.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+
+diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
+--- a/drivers/mmc/mmc.c
++++ b/drivers/mmc/mmc.c
+@@ -549,6 +549,7 @@ static void mmc_decode_csd(struct mmc_ca
+ csd->read_partial = UNSTUFF_BITS(resp, 79, 1);
+ csd->write_misalign = UNSTUFF_BITS(resp, 78, 1);
+ csd->read_misalign = UNSTUFF_BITS(resp, 77, 1);
++ csd->r2w_factor = UNSTUFF_BITS(resp, 26, 3);
+ csd->write_blkbits = UNSTUFF_BITS(resp, 22, 4);
+ csd->write_partial = UNSTUFF_BITS(resp, 21, 1);
+ } else {
+@@ -583,6 +584,7 @@ static void mmc_decode_csd(struct mmc_ca
+ csd->read_partial = UNSTUFF_BITS(resp, 79, 1);
+ csd->write_misalign = UNSTUFF_BITS(resp, 78, 1);
+ csd->read_misalign = UNSTUFF_BITS(resp, 77, 1);
++ csd->r2w_factor = UNSTUFF_BITS(resp, 26, 3);
+ csd->write_blkbits = UNSTUFF_BITS(resp, 22, 4);
+ csd->write_partial = UNSTUFF_BITS(resp, 21, 1);
+ }
+diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c
+--- a/drivers/mmc/mmc_block.c
++++ b/drivers/mmc/mmc_block.c
+@@ -187,6 +187,12 @@ static int mmc_blk_issue_rq(struct mmc_q
+ brq.cmd.opcode = MMC_WRITE_BLOCK;
+ brq.data.flags |= MMC_DATA_WRITE;
+ brq.data.blocks = 1;
++
++ /*
++ * Scale up the timeout by the r2w factor
++ */
++ brq.data.timeout_ns <<= card->csd.r2w_factor;
++ brq.data.timeout_clks <<= card->csd.r2w_factor;
+ }
+
+ if (brq.data.blocks > 1) {
+diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
+--- a/include/linux/mmc/card.h
++++ b/include/linux/mmc/card.h
+@@ -28,6 +28,7 @@ struct mmc_csd {
+ unsigned short cmdclass;
+ unsigned short tacc_clks;
+ unsigned int tacc_ns;
++ unsigned int r2w_factor;
+ unsigned int max_dtr;
+ unsigned int read_blkbits;
+ unsigned int write_blkbits;
+
+
+-------------------------------------------------------------------
+List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
+FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
+Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
+
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch b/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch
new file mode 100644
index 0000000000..cef02436d6
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/rmk-mmc2.patch
@@ -0,0 +1,26 @@
+
+Always send a stop command at the end of a data transfer. If we avoid
+sending the stop command, some cards remain in data transfer mode, and
+refuse to accept further read/write commands.
+
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+
+diff --git a/drivers/mmc/pxamci.c b/drivers/mmc/pxamci.c
+--- a/drivers/mmc/pxamci.c
++++ b/drivers/mmc/pxamci.c
+@@ -291,7 +291,7 @@ static int pxamci_data_done(struct pxamc
+ pxamci_disable_irq(host, DATA_TRAN_DONE);
+
+ host->data = NULL;
+- if (host->mrq->stop && data->error == MMC_ERR_NONE) {
++ if (host->mrq->stop) {
+ pxamci_stop_clock(host);
+ pxamci_start_cmd(host, host->mrq->stop, 0);
+ } else {
+
+
+-------------------------------------------------------------------
+List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
+FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
+Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
+
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/meta/packages/linux/linux-openzaurus-2.6.16/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
new file mode 100644
index 0000000000..18bf4268fc
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
@@ -0,0 +1,155 @@
+
+From: Petr Vandrovec <vandrove@vc.cvut.cz>
+
+Patch below adds support for using different prescaler than 16 for 16c950
+chips. This is needed for using Fujitsu-Siemens Connect2Air compact-flash
+card, which comes (apparently) with 806kHz clocks, and so you have to
+program prescaler for division by 7, and DLAB to 1, to get 115200Bd.
+
+To get card properly running you also have to add lines below to
+/etc/pcmcia/serial.opts so kernel knows that base speed is not 115200 but
+50400 (50400 * 16 = 806400; 806400 / 7 = 115200). As I've found no code
+specifying baud_rate in serial_cs, I assume that specifying it in
+serial.opts is right way to do this type of things.
+
+Patch also fixes problem that for UPF_MAGIC_MULTIPLIER maximum possible
+baud rate passed to uart code was uartclk / 16 while correct value for
+these devices (and for 16c950) is uartclk / 4.
+
+Patch also fixes problem that for UPF_MAGIC_MULTIPLIER devices with
+baud_rate 19200 or 9600 spd_cust did not work correctly. Not that such
+devices exist, but we should not ignore spd_cust, user probably knows why
+he asked for spd_cust.
+
+serial.opts:
+
+case "$MANFID-$FUNCID-$PRODID_1-$PRODID_2-$PRODID_3-$PRODID_4" in
+'0279,950b-2-GPRS Modem---')
+ SERIAL_OPTS="baud_base 50400"
+ ;;
+esac
+
+Cc: David Woodhouse <dwmw2@infradead.org>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+---
+
+ drivers/serial/8250.c | 82 +++++++++++++++++++++++++++++++++++++++-----------
+ 1 files changed, 64 insertions(+), 18 deletions(-)
+
+diff -puN drivers/serial/8250.c~serial-add-support-for-non-standard-xtals-to-16c950-driver drivers/serial/8250.c
+--- devel/drivers/serial/8250.c~serial-add-support-for-non-standard-xtals-to-16c950-driver 2005-09-12 03:34:57.000000000 -0700
++++ devel-akpm/drivers/serial/8250.c 2005-09-12 03:34:57.000000000 -0700
+@@ -1653,24 +1653,58 @@ static void serial8250_shutdown(struct u
+ serial_unlink_irq_chain(up);
+ }
+
+-static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud)
++static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud,
++ unsigned int *prescaler)
+ {
+- unsigned int quot;
+-
+- /*
+- * Handle magic divisors for baud rates above baud_base on
+- * SMSC SuperIO chips.
++ /*
++ * Use special handling only if user did not supply its own divider.
++ * spd_cust is defined in terms of baud_base, so always use default
++ * prescaler when spd_cust is requested.
+ */
+- if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
+- baud == (port->uartclk/4))
+- quot = 0x8001;
+- else if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
+- baud == (port->uartclk/8))
+- quot = 0x8002;
+- else
+- quot = uart_get_divisor(port, baud);
+
+- return quot;
++ *prescaler = 16;
++ if (baud != 38400 || (port->flags & UPF_SPD_MASK) != UPF_SPD_CUST) {
++ unsigned int quot = port->uartclk / baud;
++
++ /*
++ * Handle magic divisors for baud rates above baud_base on
++ * SMSC SuperIO chips.
++ */
++ if (port->flags & UPF_MAGIC_MULTIPLIER) {
++ if (quot == 4) {
++ return 0x8001;
++ } else if (quot == 8) {
++ return 0x8002;
++ }
++ }
++ if (port->type == PORT_16C950) {
++ /*
++ * This computes TCR value (4 to 16), not CPR value (which can
++ * be between 1.000 and 31.875) - chip I have uses XTAL of
++ * 806400Hz, and so a division by 7 is required to get 115200Bd.
++ * I'm leaving CPR disabled for now, until someone will
++ * hit even more exotic XTAL (it is needed to get 500kbps
++ * or 1000kbps from 18.432MHz XTAL, but I have no device
++ * which would benefit from doing that).
++ *
++ * If we can use divide by 16, use it. Otherwise look for
++ * better prescaler, from 15 to 4. If quotient cannot
++ * be divided by any integer value between 4 and 15, use 4.
++ */
++ if (quot & 0x0F) {
++ unsigned int div;
++
++ for (div = 15; div > 4; div--) {
++ if (quot % div == 0) {
++ break;
++ }
++ }
++ *prescaler = div;
++ return quot / div;
++ }
++ }
++ }
++ return uart_get_divisor(port, baud);
+ }
+
+ static void
+@@ -1680,7 +1714,7 @@ serial8250_set_termios(struct uart_port
+ struct uart_8250_port *up = (struct uart_8250_port *)port;
+ unsigned char cval, fcr = 0;
+ unsigned long flags;
+- unsigned int baud, quot;
++ unsigned int baud, quot, prescaler;
+
+ switch (termios->c_cflag & CSIZE) {
+ case CS5:
+@@ -1712,8 +1746,13 @@ serial8250_set_termios(struct uart_port
+ /*
+ * Ask the core to calculate the divisor for us.
+ */
+- baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
+- quot = serial8250_get_divisor(port, baud);
++
++ if (port->type == PORT_16C950 || (port->flags & UPF_MAGIC_MULTIPLIER)) {
++ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/4);
++ } else {
++ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
++ }
++ quot = serial8250_get_divisor(port, baud, &prescaler);
+
+ /*
+ * Oxford Semi 952 rev B workaround
+@@ -1817,6 +1856,13 @@ serial8250_set_termios(struct uart_port
+ serial_outp(up, UART_DLM, quot >> 8); /* MS of divisor */
+
+ /*
++ * Program prescaler for 16C950 chips.
++ */
++ if (up->port.type == PORT_16C950) {
++ serial_icr_write(up, UART_TCR, prescaler == 16 ? 0 : prescaler);
++ }
++
++ /*
+ * LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR
+ * is written without DLAB set, this mode will be disabled.
+ */
+_
diff --git a/meta/packages/linux/linux-openzaurus-2.6.16/squashfs3.0-2.6.15.patch b/meta/packages/linux/linux-openzaurus-2.6.16/squashfs3.0-2.6.15.patch
new file mode 100644
index 0000000000..f88dbbae8e
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.16/squashfs3.0-2.6.15.patch
@@ -0,0 +1,4173 @@
+diff --new-file -urp linux-2.6.15/fs/Kconfig linux-2.6.15-squashfs3.0/fs/Kconfig
+--- linux-2.6.15/fs/Kconfig 2006-03-01 22:37:27.000000000 +0000
++++ linux-2.6.15-squashfs3.0/fs/Kconfig 2006-03-07 21:12:37.000000000 +0000
+@@ -1151,6 +1151,71 @@ config CRAMFS
+
+ If unsure, say N.
+
++config SQUASHFS
++ tristate "SquashFS 3.0 - Squashed file system support"
++ select ZLIB_INFLATE
++ help
++ Saying Y here includes support for SquashFS 3.0 (a Compressed Read-Only File
++ System). Squashfs is a highly compressed read-only filesystem for Linux.
++ It uses zlib compression to compress both files, inodes and directories.
++ Inodes in the system are very small and all blocks are packed to minimise
++ data overhead. Block sizes greater than 4K are supported up to a maximum of 64K.
++ SquashFS 3.0 supports 64 bit filesystems and files (larger than 4GB), full
++ uid/gid information, hard links and timestamps.
++
++ Squashfs is intended for general read-only filesystem use, for archival
++ use (i.e. in cases where a .tar.gz file may be used), and in embedded
++ systems where low overhead is needed. Further information and filesystem tools
++ are available from http://squashfs.sourceforge.net.
++
++ If you want to compile this as a module ( = code which can be
++ inserted in and removed from the running kernel whenever you want),
++ say M here and read <file:Documentation/modules.txt>. The module
++ will be called squashfs. Note that the root file system (the one
++ containing the directory /) cannot be compiled as a module.
++
++ If unsure, say N.
++
++config SQUASHFS_EMBEDDED
++
++ bool "Additional options for memory-constrained systems"
++ depends on SQUASHFS
++ default n
++ help
++ Saying Y here allows you to specify cache sizes and how Squashfs
++ allocates memory. This is only intended for memory constrained
++ systems.
++
++ If unsure, say N.
++
++config SQUASHFS_FRAGMENT_CACHE_SIZE
++ int "Number of fragments cached" if SQUASHFS_EMBEDDED
++ depends on SQUASHFS
++ default "3"
++ help
++ By default SquashFS caches the last 3 fragments read from
++ the filesystem. Increasing this amount may mean SquashFS
++ has to re-read fragments less often from disk, at the expense
++ of extra system memory. Decreasing this amount will mean
++ SquashFS uses less memory at the expense of extra reads from disk.
++
++ Note there must be at least one cached fragment. Anything
++ much more than three will probably not make much difference.
++
++config SQUASHFS_VMALLOC
++ bool "Use Vmalloc rather than Kmalloc" if SQUASHFS_EMBEDDED
++ depends on SQUASHFS
++ default n
++ help
++ By default SquashFS uses kmalloc to obtain fragment cache memory.
++ Kmalloc memory is the standard kernel allocator, but it can fail
++ on memory constrained systems. Because of the way Vmalloc works,
++ Vmalloc can succeed when kmalloc fails. Specifying this option
++ will make SquashFS always use Vmalloc to allocate the
++ fragment cache memory.
++
++ If unsure, say N.
++
+ config VXFS_FS
+ tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
+ help
+diff --new-file -urp linux-2.6.15/fs/Makefile linux-2.6.15-squashfs3.0/fs/Makefile
+--- linux-2.6.15/fs/Makefile 2006-03-01 22:37:27.000000000 +0000
++++ linux-2.6.15-squashfs3.0/fs/Makefile 2006-03-07 21:12:37.000000000 +0000
+@@ -55,6 +55,7 @@ obj-$(CONFIG_EXT3_FS) += ext3/ # Before
+ obj-$(CONFIG_JBD) += jbd/
+ obj-$(CONFIG_EXT2_FS) += ext2/
+ obj-$(CONFIG_CRAMFS) += cramfs/
++obj-$(CONFIG_SQUASHFS) += squashfs/
+ obj-$(CONFIG_RAMFS) += ramfs/
+ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
+ obj-$(CONFIG_CODA_FS) += coda/
+diff --new-file -urp linux-2.6.15/fs/squashfs/inode.c linux-2.6.15-squashfs3.0/fs/squashfs/inode.c
+--- linux-2.6.15/fs/squashfs/inode.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/fs/squashfs/inode.c 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,2127 @@
++/*
++ * Squashfs - a compressed read only filesystem for Linux
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * inode.c
++ */
++
++#include <linux/types.h>
++#include <linux/squashfs_fs.h>
++#include <linux/module.h>
++#include <linux/errno.h>
++#include <linux/slab.h>
++#include <linux/fs.h>
++#include <linux/smp_lock.h>
++#include <linux/slab.h>
++#include <linux/squashfs_fs_sb.h>
++#include <linux/squashfs_fs_i.h>
++#include <linux/buffer_head.h>
++#include <linux/vfs.h>
++#include <linux/init.h>
++#include <linux/dcache.h>
++#include <linux/wait.h>
++#include <linux/zlib.h>
++#include <linux/blkdev.h>
++#include <linux/vmalloc.h>
++#include <asm/uaccess.h>
++#include <asm/semaphore.h>
++
++#include "squashfs.h"
++
++static void squashfs_put_super(struct super_block *);
++static int squashfs_statfs(struct super_block *, struct kstatfs *);
++static int squashfs_symlink_readpage(struct file *file, struct page *page);
++static int squashfs_readpage(struct file *file, struct page *page);
++static int squashfs_readpage4K(struct file *file, struct page *page);
++static int squashfs_readdir(struct file *, void *, filldir_t);
++static struct inode *squashfs_alloc_inode(struct super_block *sb);
++static void squashfs_destroy_inode(struct inode *inode);
++static int init_inodecache(void);
++static void destroy_inodecache(void);
++static struct dentry *squashfs_lookup(struct inode *, struct dentry *,
++ struct nameidata *);
++static struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode);
++static long long read_blocklist(struct inode *inode, int index,
++ int readahead_blks, char *block_list,
++ unsigned short **block_p, unsigned int *bsize);
++static struct super_block *squashfs_get_sb(struct file_system_type *, int,
++ const char *, void *);
++
++
++static z_stream stream;
++
++static struct file_system_type squashfs_fs_type = {
++ .owner = THIS_MODULE,
++ .name = "squashfs",
++ .get_sb = squashfs_get_sb,
++ .kill_sb = kill_block_super,
++ .fs_flags = FS_REQUIRES_DEV
++};
++
++static unsigned char squashfs_filetype_table[] = {
++ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
++};
++
++static struct super_operations squashfs_ops = {
++ .alloc_inode = squashfs_alloc_inode,
++ .destroy_inode = squashfs_destroy_inode,
++ .statfs = squashfs_statfs,
++ .put_super = squashfs_put_super,
++};
++
++SQSH_EXTERN struct address_space_operations squashfs_symlink_aops = {
++ .readpage = squashfs_symlink_readpage
++};
++
++SQSH_EXTERN struct address_space_operations squashfs_aops = {
++ .readpage = squashfs_readpage
++};
++
++SQSH_EXTERN struct address_space_operations squashfs_aops_4K = {
++ .readpage = squashfs_readpage4K
++};
++
++static struct file_operations squashfs_dir_ops = {
++ .read = generic_read_dir,
++ .readdir = squashfs_readdir
++};
++
++SQSH_EXTERN struct inode_operations squashfs_dir_inode_ops = {
++ .lookup = squashfs_lookup
++};
++
++
++static struct buffer_head *get_block_length(struct super_block *s,
++ int *cur_index, int *offset, int *c_byte)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ unsigned short temp;
++ struct buffer_head *bh;
++
++ if (!(bh = sb_bread(s, *cur_index)))
++ goto out;
++
++ if (msblk->devblksize - *offset == 1) {
++ if (msblk->swap)
++ ((unsigned char *) &temp)[1] = *((unsigned char *)
++ (bh->b_data + *offset));
++ else
++ ((unsigned char *) &temp)[0] = *((unsigned char *)
++ (bh->b_data + *offset));
++ brelse(bh);
++ if (!(bh = sb_bread(s, ++(*cur_index))))
++ goto out;
++ if (msblk->swap)
++ ((unsigned char *) &temp)[0] = *((unsigned char *)
++ bh->b_data);
++ else
++ ((unsigned char *) &temp)[1] = *((unsigned char *)
++ bh->b_data);
++ *c_byte = temp;
++ *offset = 1;
++ } else {
++ if (msblk->swap) {
++ ((unsigned char *) &temp)[1] = *((unsigned char *)
++ (bh->b_data + *offset));
++ ((unsigned char *) &temp)[0] = *((unsigned char *)
++ (bh->b_data + *offset + 1));
++ } else {
++ ((unsigned char *) &temp)[0] = *((unsigned char *)
++ (bh->b_data + *offset));
++ ((unsigned char *) &temp)[1] = *((unsigned char *)
++ (bh->b_data + *offset + 1));
++ }
++ *c_byte = temp;
++ *offset += 2;
++ }
++
++ if (SQUASHFS_CHECK_DATA(msblk->sblk.flags)) {
++ if (*offset == msblk->devblksize) {
++ brelse(bh);
++ if (!(bh = sb_bread(s, ++(*cur_index))))
++ goto out;
++ *offset = 0;
++ }
++ if (*((unsigned char *) (bh->b_data + *offset)) !=
++ SQUASHFS_MARKER_BYTE) {
++ ERROR("Metadata block marker corrupt @ %x\n",
++ *cur_index);
++ brelse(bh);
++ goto out;
++ }
++ (*offset)++;
++ }
++ return bh;
++
++out:
++ return NULL;
++}
++
++
++SQSH_EXTERN unsigned int squashfs_read_data(struct super_block *s, char *buffer,
++ long long index, unsigned int length,
++ long long *next_index)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct buffer_head *bh[((SQUASHFS_FILE_MAX_SIZE - 1) >>
++ msblk->devblksize_log2) + 2];
++ unsigned int offset = index & ((1 << msblk->devblksize_log2) - 1);
++ unsigned int cur_index = index >> msblk->devblksize_log2;
++ int bytes, avail_bytes, b = 0, k;
++ char *c_buffer;
++ unsigned int compressed;
++ unsigned int c_byte = length;
++
++ if (c_byte) {
++ bytes = msblk->devblksize - offset;
++ compressed = SQUASHFS_COMPRESSED_BLOCK(c_byte);
++ c_buffer = compressed ? msblk->read_data : buffer;
++ c_byte = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
++
++ TRACE("Block @ 0x%llx, %scompressed size %d\n", index, compressed
++ ? "" : "un", (unsigned int) c_byte);
++
++ if (!(bh[0] = sb_getblk(s, cur_index)))
++ goto block_release;
++
++ for (b = 1; bytes < c_byte; b++) {
++ if (!(bh[b] = sb_getblk(s, ++cur_index)))
++ goto block_release;
++ bytes += msblk->devblksize;
++ }
++ ll_rw_block(READ, b, bh);
++ } else {
++ if (!(bh[0] = get_block_length(s, &cur_index, &offset,
++ &c_byte)))
++ goto read_failure;
++
++ bytes = msblk->devblksize - offset;
++ compressed = SQUASHFS_COMPRESSED(c_byte);
++ c_buffer = compressed ? msblk->read_data : buffer;
++ c_byte = SQUASHFS_COMPRESSED_SIZE(c_byte);
++
++ TRACE("Block @ 0x%llx, %scompressed size %d\n", index, compressed
++ ? "" : "un", (unsigned int) c_byte);
++
++ for (b = 1; bytes < c_byte; b++) {
++ if (!(bh[b] = sb_getblk(s, ++cur_index)))
++ goto block_release;
++ bytes += msblk->devblksize;
++ }
++ ll_rw_block(READ, b - 1, bh + 1);
++ }
++
++ if (compressed)
++ down(&msblk->read_data_mutex);
++
++ for (bytes = 0, k = 0; k < b; k++) {
++ avail_bytes = (c_byte - bytes) > (msblk->devblksize - offset) ?
++ msblk->devblksize - offset :
++ c_byte - bytes;
++ wait_on_buffer(bh[k]);
++ if (!buffer_uptodate(bh[k]))
++ goto block_release;
++ memcpy(c_buffer + bytes, bh[k]->b_data + offset, avail_bytes);
++ bytes += avail_bytes;
++ offset = 0;
++ brelse(bh[k]);
++ }
++
++ /*
++ * uncompress block
++ */
++ if (compressed) {
++ int zlib_err;
++
++ stream.next_in = c_buffer;
++ stream.avail_in = c_byte;
++ stream.next_out = buffer;
++ stream.avail_out = msblk->read_size;
++
++ if (((zlib_err = zlib_inflateInit(&stream)) != Z_OK) ||
++ ((zlib_err = zlib_inflate(&stream, Z_FINISH))
++ != Z_STREAM_END) || ((zlib_err =
++ zlib_inflateEnd(&stream)) != Z_OK)) {
++ ERROR("zlib_fs returned unexpected result 0x%x\n",
++ zlib_err);
++ bytes = 0;
++ } else
++ bytes = stream.total_out;
++
++ up(&msblk->read_data_mutex);
++ }
++
++ if (next_index)
++ *next_index = index + c_byte + (length ? 0 :
++ (SQUASHFS_CHECK_DATA(msblk->sblk.flags)
++ ? 3 : 2));
++ return bytes;
++
++block_release:
++ while (--b >= 0)
++ brelse(bh[b]);
++
++read_failure:
++ ERROR("sb_bread failed reading block 0x%x\n", cur_index);
++ return 0;
++}
++
++
++SQSH_EXTERN int squashfs_get_cached_block(struct super_block *s, char *buffer,
++ long long block, unsigned int offset,
++ int length, long long *next_block,
++ unsigned int *next_offset)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ int n, i, bytes, return_length = length;
++ long long next_index;
++
++ TRACE("Entered squashfs_get_cached_block [%llx:%x]\n", block, offset);
++
++ while ( 1 ) {
++ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
++ if (msblk->block_cache[i].block == block)
++ break;
++
++ down(&msblk->block_cache_mutex);
++
++ if (i == SQUASHFS_CACHED_BLKS) {
++ /* read inode header block */
++ for (i = msblk->next_cache, n = SQUASHFS_CACHED_BLKS;
++ n ; n --, i = (i + 1) %
++ SQUASHFS_CACHED_BLKS)
++ if (msblk->block_cache[i].block !=
++ SQUASHFS_USED_BLK)
++ break;
++
++ if (n == 0) {
++ wait_queue_t wait;
++
++ init_waitqueue_entry(&wait, current);
++ add_wait_queue(&msblk->waitq, &wait);
++ set_current_state(TASK_UNINTERRUPTIBLE);
++ up(&msblk->block_cache_mutex);
++ schedule();
++ set_current_state(TASK_RUNNING);
++ remove_wait_queue(&msblk->waitq, &wait);
++ continue;
++ }
++ msblk->next_cache = (i + 1) % SQUASHFS_CACHED_BLKS;
++
++ if (msblk->block_cache[i].block ==
++ SQUASHFS_INVALID_BLK) {
++ if (!(msblk->block_cache[i].data =
++ kmalloc(SQUASHFS_METADATA_SIZE,
++ GFP_KERNEL))) {
++ ERROR("Failed to allocate cache"
++ "block\n");
++ up(&msblk->block_cache_mutex);
++ goto out;
++ }
++ }
++
++ msblk->block_cache[i].block = SQUASHFS_USED_BLK;
++ up(&msblk->block_cache_mutex);
++
++ if (!(msblk->block_cache[i].length =
++ squashfs_read_data(s,
++ msblk->block_cache[i].data,
++ block, 0, &next_index))) {
++ ERROR("Unable to read cache block [%llx:%x]\n",
++ block, offset);
++ goto out;
++ }
++
++ down(&msblk->block_cache_mutex);
++ wake_up(&msblk->waitq);
++ msblk->block_cache[i].block = block;
++ msblk->block_cache[i].next_index = next_index;
++ TRACE("Read cache block [%llx:%x]\n", block, offset);
++ }
++
++ if (msblk->block_cache[i].block != block) {
++ up(&msblk->block_cache_mutex);
++ continue;
++ }
++
++ if ((bytes = msblk->block_cache[i].length - offset) >= length) {
++ if (buffer)
++ memcpy(buffer, msblk->block_cache[i].data +
++ offset, length);
++ if (msblk->block_cache[i].length - offset == length) {
++ *next_block = msblk->block_cache[i].next_index;
++ *next_offset = 0;
++ } else {
++ *next_block = block;
++ *next_offset = offset + length;
++ }
++ up(&msblk->block_cache_mutex);
++ goto finish;
++ } else {
++ if (buffer) {
++ memcpy(buffer, msblk->block_cache[i].data +
++ offset, bytes);
++ buffer += bytes;
++ }
++ block = msblk->block_cache[i].next_index;
++ up(&msblk->block_cache_mutex);
++ length -= bytes;
++ offset = 0;
++ }
++ }
++
++finish:
++ return return_length;
++out:
++ return 0;
++}
++
++
++static int get_fragment_location(struct super_block *s, unsigned int fragment,
++ long long *fragment_start_block,
++ unsigned int *fragment_size)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ long long start_block =
++ msblk->fragment_index[SQUASHFS_FRAGMENT_INDEX(fragment)];
++ int offset = SQUASHFS_FRAGMENT_INDEX_OFFSET(fragment);
++ struct squashfs_fragment_entry fragment_entry;
++
++ if (msblk->swap) {
++ struct squashfs_fragment_entry sfragment_entry;
++
++ if (!squashfs_get_cached_block(s, (char *) &sfragment_entry,
++ start_block, offset,
++ sizeof(sfragment_entry), &start_block,
++ &offset))
++ goto out;
++ SQUASHFS_SWAP_FRAGMENT_ENTRY(&fragment_entry, &sfragment_entry);
++ } else
++ if (!squashfs_get_cached_block(s, (char *) &fragment_entry,
++ start_block, offset,
++ sizeof(fragment_entry), &start_block,
++ &offset))
++ goto out;
++
++ *fragment_start_block = fragment_entry.start_block;
++ *fragment_size = fragment_entry.size;
++
++ return 1;
++
++out:
++ return 0;
++}
++
++
++SQSH_EXTERN void release_cached_fragment(struct squashfs_sb_info *msblk, struct
++ squashfs_fragment_cache *fragment)
++{
++ down(&msblk->fragment_mutex);
++ fragment->locked --;
++ wake_up(&msblk->fragment_wait_queue);
++ up(&msblk->fragment_mutex);
++}
++
++
++SQSH_EXTERN struct squashfs_fragment_cache *get_cached_fragment(struct super_block
++ *s, long long start_block,
++ int length)
++{
++ int i, n;
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++
++ while ( 1 ) {
++ down(&msblk->fragment_mutex);
++
++ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS &&
++ msblk->fragment[i].block != start_block; i++);
++
++ if (i == SQUASHFS_CACHED_FRAGMENTS) {
++ for (i = msblk->next_fragment, n =
++ SQUASHFS_CACHED_FRAGMENTS; n &&
++ msblk->fragment[i].locked; n--, i = (i + 1) %
++ SQUASHFS_CACHED_FRAGMENTS);
++
++ if (n == 0) {
++ wait_queue_t wait;
++
++ init_waitqueue_entry(&wait, current);
++ add_wait_queue(&msblk->fragment_wait_queue,
++ &wait);
++ set_current_state(TASK_UNINTERRUPTIBLE);
++ up(&msblk->fragment_mutex);
++ schedule();
++ set_current_state(TASK_RUNNING);
++ remove_wait_queue(&msblk->fragment_wait_queue,
++ &wait);
++ continue;
++ }
++ msblk->next_fragment = (msblk->next_fragment + 1) %
++ SQUASHFS_CACHED_FRAGMENTS;
++
++ if (msblk->fragment[i].data == NULL)
++ if (!(msblk->fragment[i].data = SQUASHFS_ALLOC
++ (SQUASHFS_FILE_MAX_SIZE))) {
++ ERROR("Failed to allocate fragment "
++ "cache block\n");
++ up(&msblk->fragment_mutex);
++ goto out;
++ }
++
++ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
++ msblk->fragment[i].locked = 1;
++ up(&msblk->fragment_mutex);
++
++ if (!(msblk->fragment[i].length = squashfs_read_data(s,
++ msblk->fragment[i].data,
++ start_block, length, NULL))) {
++ ERROR("Unable to read fragment cache block "
++ "[%llx]\n", start_block);
++ msblk->fragment[i].locked = 0;
++ goto out;
++ }
++
++ msblk->fragment[i].block = start_block;
++ TRACE("New fragment %d, start block %lld, locked %d\n",
++ i, msblk->fragment[i].block,
++ msblk->fragment[i].locked);
++ break;
++ }
++
++ msblk->fragment[i].locked++;
++ up(&msblk->fragment_mutex);
++ TRACE("Got fragment %d, start block %lld, locked %d\n", i,
++ msblk->fragment[i].block,
++ msblk->fragment[i].locked);
++ break;
++ }
++
++ return &msblk->fragment[i];
++
++out:
++ return NULL;
++}
++
++
++static struct inode *squashfs_new_inode(struct super_block *s,
++ struct squashfs_base_inode_header *inodeb)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct inode *i = new_inode(s);
++
++ if (i) {
++ i->i_ino = inodeb->inode_number;
++ i->i_mtime.tv_sec = inodeb->mtime;
++ i->i_atime.tv_sec = inodeb->mtime;
++ i->i_ctime.tv_sec = inodeb->mtime;
++ i->i_uid = msblk->uid[inodeb->uid];
++ i->i_mode = inodeb->mode;
++ i->i_size = 0;
++ if (inodeb->guid == SQUASHFS_GUIDS)
++ i->i_gid = i->i_uid;
++ else
++ i->i_gid = msblk->guid[inodeb->guid];
++ }
++
++ return i;
++}
++
++
++static struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode)
++{
++ struct inode *i;
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long block = SQUASHFS_INODE_BLK(inode) +
++ sblk->inode_table_start;
++ unsigned int offset = SQUASHFS_INODE_OFFSET(inode);
++ long long next_block;
++ unsigned int next_offset;
++ union squashfs_inode_header id, sid;
++ struct squashfs_base_inode_header *inodeb = &id.base,
++ *sinodeb = &sid.base;
++
++ TRACE("Entered squashfs_iget\n");
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *) sinodeb, block,
++ offset, sizeof(*sinodeb), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_BASE_INODE_HEADER(inodeb, sinodeb,
++ sizeof(*sinodeb));
++ } else
++ if (!squashfs_get_cached_block(s, (char *) inodeb, block,
++ offset, sizeof(*inodeb), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ switch(inodeb->inode_type) {
++ case SQUASHFS_FILE_TYPE: {
++ unsigned int frag_size;
++ long long frag_blk;
++ struct squashfs_reg_inode_header *inodep = &id.reg;
++ struct squashfs_reg_inode_header *sinodep = &sid.reg;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_REG_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ frag_blk = SQUASHFS_INVALID_BLK;
++ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
++ !get_fragment_location(s,
++ inodep->fragment, &frag_blk, &frag_size))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = 1;
++ i->i_size = inodep->file_size;
++ i->i_fop = &generic_ro_fops;
++ i->i_mode |= S_IFREG;
++ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
++ i->i_blksize = PAGE_CACHE_SIZE;
++ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
++ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
++ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++ if (sblk->block_size > 4096)
++ i->i_data.a_ops = &squashfs_aops;
++ else
++ i->i_data.a_ops = &squashfs_aops_4K;
++
++ TRACE("File inode %x:%x, start_block %llx, "
++ "block_list_start %llx, offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, next_block,
++ next_offset);
++ break;
++ }
++ case SQUASHFS_LREG_TYPE: {
++ unsigned int frag_size;
++ long long frag_blk;
++ struct squashfs_lreg_inode_header *inodep = &id.lreg;
++ struct squashfs_lreg_inode_header *sinodep = &sid.lreg;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_LREG_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ frag_blk = SQUASHFS_INVALID_BLK;
++ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
++ !get_fragment_location(s,
++ inodep->fragment, &frag_blk, &frag_size))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_size = inodep->file_size;
++ i->i_fop = &generic_ro_fops;
++ i->i_mode |= S_IFREG;
++ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
++ i->i_blksize = PAGE_CACHE_SIZE;
++ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
++ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
++ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++ if (sblk->block_size > 4096)
++ i->i_data.a_ops = &squashfs_aops;
++ else
++ i->i_data.a_ops = &squashfs_aops_4K;
++
++ TRACE("File inode %x:%x, start_block %llx, "
++ "block_list_start %llx, offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, next_block,
++ next_offset);
++ break;
++ }
++ case SQUASHFS_DIR_TYPE: {
++ struct squashfs_dir_inode_header *inodep = &id.dir;
++ struct squashfs_dir_inode_header *sinodep = &sid.dir;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_DIR_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_size = inodep->file_size;
++ i->i_op = &squashfs_dir_inode_ops;
++ i->i_fop = &squashfs_dir_ops;
++ i->i_mode |= S_IFDIR;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->offset = inodep->offset;
++ SQUASHFS_I(i)->u.s2.directory_index_count = 0;
++ SQUASHFS_I(i)->u.s2.parent_inode = inodep->parent_inode;
++
++ TRACE("Directory inode %x:%x, start_block %x, offset "
++ "%x\n", SQUASHFS_INODE_BLK(inode),
++ offset, inodep->start_block,
++ inodep->offset);
++ break;
++ }
++ case SQUASHFS_LDIR_TYPE: {
++ struct squashfs_ldir_inode_header *inodep = &id.ldir;
++ struct squashfs_ldir_inode_header *sinodep = &sid.ldir;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_LDIR_INODE_HEADER(inodep,
++ sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_size = inodep->file_size;
++ i->i_op = &squashfs_dir_inode_ops;
++ i->i_fop = &squashfs_dir_ops;
++ i->i_mode |= S_IFDIR;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->offset = inodep->offset;
++ SQUASHFS_I(i)->u.s2.directory_index_start = next_block;
++ SQUASHFS_I(i)->u.s2.directory_index_offset =
++ next_offset;
++ SQUASHFS_I(i)->u.s2.directory_index_count =
++ inodep->i_count;
++ SQUASHFS_I(i)->u.s2.parent_inode = inodep->parent_inode;
++
++ TRACE("Long directory inode %x:%x, start_block %x, "
++ "offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, inodep->offset);
++ break;
++ }
++ case SQUASHFS_SYMLINK_TYPE: {
++ struct squashfs_symlink_inode_header *inodep =
++ &id.symlink;
++ struct squashfs_symlink_inode_header *sinodep =
++ &sid.symlink;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_SYMLINK_INODE_HEADER(inodep,
++ sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_size = inodep->symlink_size;
++ i->i_op = &page_symlink_inode_operations;
++ i->i_data.a_ops = &squashfs_symlink_aops;
++ i->i_mode |= S_IFLNK;
++ SQUASHFS_I(i)->start_block = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++
++ TRACE("Symbolic link inode %x:%x, start_block %llx, "
++ "offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ next_block, next_offset);
++ break;
++ }
++ case SQUASHFS_BLKDEV_TYPE:
++ case SQUASHFS_CHRDEV_TYPE: {
++ struct squashfs_dev_inode_header *inodep = &id.dev;
++ struct squashfs_dev_inode_header *sinodep = &sid.dev;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_DEV_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if ((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_mode |= (inodeb->inode_type ==
++ SQUASHFS_CHRDEV_TYPE) ? S_IFCHR :
++ S_IFBLK;
++ init_special_inode(i, i->i_mode,
++ old_decode_dev(inodep->rdev));
++
++ TRACE("Device inode %x:%x, rdev %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->rdev);
++ break;
++ }
++ case SQUASHFS_FIFO_TYPE:
++ case SQUASHFS_SOCKET_TYPE: {
++ struct squashfs_ipc_inode_header *inodep = &id.ipc;
++ struct squashfs_ipc_inode_header *sinodep = &sid.ipc;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_IPC_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if ((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_mode |= (inodeb->inode_type == SQUASHFS_FIFO_TYPE)
++ ? S_IFIFO : S_IFSOCK;
++ init_special_inode(i, i->i_mode, 0);
++ break;
++ }
++ default:
++ ERROR("Unknown inode type %d in squashfs_iget!\n",
++ inodeb->inode_type);
++ goto failed_read1;
++ }
++
++ insert_inode_hash(i);
++ return i;
++
++failed_read:
++ ERROR("Unable to read inode [%llx:%x]\n", block, offset);
++
++failed_read1:
++ return NULL;
++}
++
++
++static int read_fragment_index_table(struct super_block *s)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ /* Allocate fragment index table */
++ if (!(msblk->fragment_index = kmalloc(SQUASHFS_FRAGMENT_INDEX_BYTES
++ (sblk->fragments), GFP_KERNEL))) {
++ ERROR("Failed to allocate uid/gid table\n");
++ return 0;
++ }
++
++ if (SQUASHFS_FRAGMENT_INDEX_BYTES(sblk->fragments) &&
++ !squashfs_read_data(s, (char *)
++ msblk->fragment_index,
++ sblk->fragment_table_start,
++ SQUASHFS_FRAGMENT_INDEX_BYTES
++ (sblk->fragments) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ ERROR("unable to read fragment index table\n");
++ return 0;
++ }
++
++ if (msblk->swap) {
++ int i;
++ long long fragment;
++
++ for (i = 0; i < SQUASHFS_FRAGMENT_INDEXES(sblk->fragments);
++ i++) {
++ SQUASHFS_SWAP_FRAGMENT_INDEXES((&fragment),
++ &msblk->fragment_index[i], 1);
++ msblk->fragment_index[i] = fragment;
++ }
++ }
++
++ return 1;
++}
++
++
++static int supported_squashfs_filesystem(struct squashfs_sb_info *msblk, int silent)
++{
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ msblk->iget = squashfs_iget;
++ msblk->read_blocklist = read_blocklist;
++ msblk->read_fragment_index_table = read_fragment_index_table;
++
++ if (sblk->s_major == 1) {
++ if (!squashfs_1_0_supported(msblk)) {
++ SERROR("Major/Minor mismatch, Squashfs 1.0 filesystems "
++ "are unsupported\n");
++ SERROR("Please recompile with "
++ "Squashfs 1.0 support enabled\n");
++ return 0;
++ }
++ } else if (sblk->s_major == 2) {
++ if (!squashfs_2_0_supported(msblk)) {
++ SERROR("Major/Minor mismatch, Squashfs 2.0 filesystems "
++ "are unsupported\n");
++ SERROR("Please recompile with "
++ "Squashfs 2.0 support enabled\n");
++ return 0;
++ }
++ } else if(sblk->s_major != SQUASHFS_MAJOR || sblk->s_minor >
++ SQUASHFS_MINOR) {
++ SERROR("Major/Minor mismatch, trying to mount newer %d.%d "
++ "filesystem\n", sblk->s_major, sblk->s_minor);
++ SERROR("Please update your kernel\n");
++ return 0;
++ }
++
++ return 1;
++}
++
++
++static int squashfs_fill_super(struct super_block *s, void *data, int silent)
++{
++ struct squashfs_sb_info *msblk;
++ struct squashfs_super_block *sblk;
++ int i;
++ char b[BDEVNAME_SIZE];
++ struct inode *root;
++
++ TRACE("Entered squashfs_read_superblock\n");
++
++ if (!(s->s_fs_info = kmalloc(sizeof(struct squashfs_sb_info),
++ GFP_KERNEL))) {
++ ERROR("Failed to allocate superblock\n");
++ goto failure;
++ }
++ memset(s->s_fs_info, 0, sizeof(struct squashfs_sb_info));
++ msblk = s->s_fs_info;
++ sblk = &msblk->sblk;
++
++ msblk->devblksize = sb_min_blocksize(s, BLOCK_SIZE);
++ msblk->devblksize_log2 = ffz(~msblk->devblksize);
++
++ init_MUTEX(&msblk->read_data_mutex);
++ init_MUTEX(&msblk->read_page_mutex);
++ init_MUTEX(&msblk->block_cache_mutex);
++ init_MUTEX(&msblk->fragment_mutex);
++ init_MUTEX(&msblk->meta_index_mutex);
++
++ init_waitqueue_head(&msblk->waitq);
++ init_waitqueue_head(&msblk->fragment_wait_queue);
++
++ if (!squashfs_read_data(s, (char *) sblk, SQUASHFS_START,
++ sizeof(struct squashfs_super_block) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ SERROR("unable to read superblock\n");
++ goto failed_mount;
++ }
++
++ /* Check it is a SQUASHFS superblock */
++ msblk->swap = 0;
++ if ((s->s_magic = sblk->s_magic) != SQUASHFS_MAGIC) {
++ if (sblk->s_magic == SQUASHFS_MAGIC_SWAP) {
++ struct squashfs_super_block ssblk;
++
++ WARNING("Mounting a different endian SQUASHFS "
++ "filesystem on %s\n", bdevname(s->s_bdev, b));
++
++ SQUASHFS_SWAP_SUPER_BLOCK(&ssblk, sblk);
++ memcpy(sblk, &ssblk, sizeof(struct squashfs_super_block));
++ msblk->swap = 1;
++ } else {
++ SERROR("Can't find a SQUASHFS superblock on %s\n",
++ bdevname(s->s_bdev, b));
++ goto failed_mount;
++ }
++ }
++
++ /* Check the MAJOR & MINOR versions */
++ if(!supported_squashfs_filesystem(msblk, silent))
++ goto failed_mount;
++
++ TRACE("Found valid superblock on %s\n", bdevname(s->s_bdev, b));
++ TRACE("Inodes are %scompressed\n",
++ SQUASHFS_UNCOMPRESSED_INODES
++ (sblk->flags) ? "un" : "");
++ TRACE("Data is %scompressed\n",
++ SQUASHFS_UNCOMPRESSED_DATA(sblk->flags)
++ ? "un" : "");
++ TRACE("Check data is %s present in the filesystem\n",
++ SQUASHFS_CHECK_DATA(sblk->flags) ?
++ "" : "not");
++ TRACE("Filesystem size %lld bytes\n", sblk->bytes_used);
++ TRACE("Block size %d\n", sblk->block_size);
++ TRACE("Number of inodes %d\n", sblk->inodes);
++ if (sblk->s_major > 1)
++ TRACE("Number of fragments %d\n", sblk->fragments);
++ TRACE("Number of uids %d\n", sblk->no_uids);
++ TRACE("Number of gids %d\n", sblk->no_guids);
++ TRACE("sblk->inode_table_start %llx\n", sblk->inode_table_start);
++ TRACE("sblk->directory_table_start %llx\n", sblk->directory_table_start);
++ if (sblk->s_major > 1)
++ TRACE("sblk->fragment_table_start %llx\n",
++ sblk->fragment_table_start);
++ TRACE("sblk->uid_start %llx\n", sblk->uid_start);
++
++ s->s_flags |= MS_RDONLY;
++ s->s_op = &squashfs_ops;
++
++ /* Init inode_table block pointer array */
++ if (!(msblk->block_cache = kmalloc(sizeof(struct squashfs_cache) *
++ SQUASHFS_CACHED_BLKS, GFP_KERNEL))) {
++ ERROR("Failed to allocate block cache\n");
++ goto failed_mount;
++ }
++
++ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
++ msblk->block_cache[i].block = SQUASHFS_INVALID_BLK;
++
++ msblk->next_cache = 0;
++
++ /* Allocate read_data block */
++ msblk->read_size = (sblk->block_size < SQUASHFS_METADATA_SIZE) ?
++ SQUASHFS_METADATA_SIZE :
++ sblk->block_size;
++
++ if (!(msblk->read_data = kmalloc(msblk->read_size, GFP_KERNEL))) {
++ ERROR("Failed to allocate read_data block\n");
++ goto failed_mount;
++ }
++
++ /* Allocate read_page block */
++ if (!(msblk->read_page = kmalloc(sblk->block_size, GFP_KERNEL))) {
++ ERROR("Failed to allocate read_page block\n");
++ goto failed_mount;
++ }
++
++ /* Allocate uid and gid tables */
++ if (!(msblk->uid = kmalloc((sblk->no_uids + sblk->no_guids) *
++ sizeof(unsigned int), GFP_KERNEL))) {
++ ERROR("Failed to allocate uid/gid table\n");
++ goto failed_mount;
++ }
++ msblk->guid = msblk->uid + sblk->no_uids;
++
++ if (msblk->swap) {
++ unsigned int suid[sblk->no_uids + sblk->no_guids];
++
++ if (!squashfs_read_data(s, (char *) &suid, sblk->uid_start,
++ ((sblk->no_uids + sblk->no_guids) *
++ sizeof(unsigned int)) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ ERROR("unable to read uid/gid table\n");
++ goto failed_mount;
++ }
++
++ SQUASHFS_SWAP_DATA(msblk->uid, suid, (sblk->no_uids +
++ sblk->no_guids), (sizeof(unsigned int) * 8));
++ } else
++ if (!squashfs_read_data(s, (char *) msblk->uid, sblk->uid_start,
++ ((sblk->no_uids + sblk->no_guids) *
++ sizeof(unsigned int)) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ ERROR("unable to read uid/gid table\n");
++ goto failed_mount;
++ }
++
++
++ if (sblk->s_major == 1 && squashfs_1_0_supported(msblk))
++ goto allocate_root;
++
++ if (!(msblk->fragment = kmalloc(sizeof(struct squashfs_fragment_cache) *
++ SQUASHFS_CACHED_FRAGMENTS, GFP_KERNEL))) {
++ ERROR("Failed to allocate fragment block cache\n");
++ goto failed_mount;
++ }
++
++ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++) {
++ msblk->fragment[i].locked = 0;
++ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
++ msblk->fragment[i].data = NULL;
++ }
++
++ msblk->next_fragment = 0;
++
++ /* Allocate fragment index table */
++ if (msblk->read_fragment_index_table(s) == 0)
++ goto failed_mount;
++
++allocate_root:
++ if ((root = (msblk->iget)(s, sblk->root_inode)) == NULL)
++ goto failed_mount;
++
++ if ((s->s_root = d_alloc_root(root)) == NULL) {
++ ERROR("Root inode create failed\n");
++ iput(root);
++ goto failed_mount;
++ }
++
++ TRACE("Leaving squashfs_read_super\n");
++ return 0;
++
++failed_mount:
++ kfree(msblk->fragment_index);
++ kfree(msblk->fragment);
++ kfree(msblk->uid);
++ kfree(msblk->read_page);
++ kfree(msblk->read_data);
++ kfree(msblk->block_cache);
++ kfree(msblk->fragment_index_2);
++ kfree(s->s_fs_info);
++ s->s_fs_info = NULL;
++ return -EINVAL;
++
++failure:
++ return -ENOMEM;
++}
++
++
++static int squashfs_statfs(struct super_block *s, struct kstatfs *buf)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ TRACE("Entered squashfs_statfs\n");
++
++ buf->f_type = SQUASHFS_MAGIC;
++ buf->f_bsize = sblk->block_size;
++ buf->f_blocks = ((sblk->bytes_used - 1) >> sblk->block_log) + 1;
++ buf->f_bfree = buf->f_bavail = 0;
++ buf->f_files = sblk->inodes;
++ buf->f_ffree = 0;
++ buf->f_namelen = SQUASHFS_NAME_LEN;
++
++ return 0;
++}
++
++
++static int squashfs_symlink_readpage(struct file *file, struct page *page)
++{
++ struct inode *inode = page->mapping->host;
++ int index = page->index << PAGE_CACHE_SHIFT, length, bytes;
++ long long block = SQUASHFS_I(inode)->start_block;
++ int offset = SQUASHFS_I(inode)->offset;
++ void *pageaddr = kmap(page);
++
++ TRACE("Entered squashfs_symlink_readpage, page index %ld, start block "
++ "%llx, offset %x\n", page->index,
++ SQUASHFS_I(inode)->start_block,
++ SQUASHFS_I(inode)->offset);
++
++ for (length = 0; length < index; length += bytes) {
++ if (!(bytes = squashfs_get_cached_block(inode->i_sb, NULL,
++ block, offset, PAGE_CACHE_SIZE, &block,
++ &offset))) {
++ ERROR("Unable to read symbolic link [%llx:%x]\n", block,
++ offset);
++ goto skip_read;
++ }
++ }
++
++ if (length != index) {
++ ERROR("(squashfs_symlink_readpage) length != index\n");
++ bytes = 0;
++ goto skip_read;
++ }
++
++ bytes = (i_size_read(inode) - length) > PAGE_CACHE_SIZE ? PAGE_CACHE_SIZE :
++ i_size_read(inode) - length;
++
++ if (!(bytes = squashfs_get_cached_block(inode->i_sb, pageaddr, block,
++ offset, bytes, &block, &offset)))
++ ERROR("Unable to read symbolic link [%llx:%x]\n", block, offset);
++
++skip_read:
++ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
++ kunmap(page);
++ SetPageUptodate(page);
++ unlock_page(page);
++
++ return 0;
++}
++
++
++struct meta_index *locate_meta_index(struct inode *inode, int index, int offset)
++{
++ struct meta_index *meta = NULL;
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ int i;
++
++ down(&msblk->meta_index_mutex);
++
++ TRACE("locate_meta_index: index %d, offset %d\n", index, offset);
++
++ if(msblk->meta_index == NULL)
++ goto not_allocated;
++
++ for (i = 0; i < SQUASHFS_META_NUMBER; i ++)
++ if (msblk->meta_index[i].inode_number == inode->i_ino &&
++ msblk->meta_index[i].offset >= offset &&
++ msblk->meta_index[i].offset <= index &&
++ msblk->meta_index[i].locked == 0) {
++ TRACE("locate_meta_index: entry %d, offset %d\n", i,
++ msblk->meta_index[i].offset);
++ meta = &msblk->meta_index[i];
++ offset = meta->offset;
++ }
++
++ if (meta)
++ meta->locked = 1;
++
++not_allocated:
++ up(&msblk->meta_index_mutex);
++
++ return meta;
++}
++
++
++struct meta_index *empty_meta_index(struct inode *inode, int offset, int skip)
++{
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ struct meta_index *meta = NULL;
++ int i;
++
++ down(&msblk->meta_index_mutex);
++
++ TRACE("empty_meta_index: offset %d, skip %d\n", offset, skip);
++
++ if(msblk->meta_index == NULL) {
++ if (!(msblk->meta_index = kmalloc(sizeof(struct meta_index) *
++ SQUASHFS_META_NUMBER, GFP_KERNEL))) {
++ ERROR("Failed to allocate meta_index\n");
++ goto failed;
++ }
++ for(i = 0; i < SQUASHFS_META_NUMBER; i++) {
++ msblk->meta_index[i].inode_number = 0;
++ msblk->meta_index[i].locked = 0;
++ }
++ msblk->next_meta_index = 0;
++ }
++
++ for(i = SQUASHFS_META_NUMBER; i &&
++ msblk->meta_index[msblk->next_meta_index].locked; i --)
++ msblk->next_meta_index = (msblk->next_meta_index + 1) %
++ SQUASHFS_META_NUMBER;
++
++ if(i == 0) {
++ TRACE("empty_meta_index: failed!\n");
++ goto failed;
++ }
++
++ TRACE("empty_meta_index: returned meta entry %d, %p\n",
++ msblk->next_meta_index,
++ &msblk->meta_index[msblk->next_meta_index]);
++
++ meta = &msblk->meta_index[msblk->next_meta_index];
++ msblk->next_meta_index = (msblk->next_meta_index + 1) %
++ SQUASHFS_META_NUMBER;
++
++ meta->inode_number = inode->i_ino;
++ meta->offset = offset;
++ meta->skip = skip;
++ meta->entries = 0;
++ meta->locked = 1;
++
++failed:
++ up(&msblk->meta_index_mutex);
++ return meta;
++}
++
++
++void release_meta_index(struct inode *inode, struct meta_index *meta)
++{
++ meta->locked = 0;
++}
++
++
++static int read_block_index(struct super_block *s, int blocks, char *block_list,
++ long long *start_block, int *offset)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ unsigned int *block_listp;
++ int block = 0;
++
++ if (msblk->swap) {
++ char sblock_list[blocks << 2];
++
++ if (!squashfs_get_cached_block(s, sblock_list, *start_block,
++ *offset, blocks << 2, start_block, offset)) {
++ ERROR("Unable to read block list [%llx:%x]\n",
++ *start_block, *offset);
++ goto failure;
++ }
++ SQUASHFS_SWAP_INTS(((unsigned int *)block_list),
++ ((unsigned int *)sblock_list), blocks);
++ } else
++ if (!squashfs_get_cached_block(s, block_list, *start_block,
++ *offset, blocks << 2, start_block, offset)) {
++ ERROR("Unable to read block list [%llx:%x]\n",
++ *start_block, *offset);
++ goto failure;
++ }
++
++ for (block_listp = (unsigned int *) block_list; blocks;
++ block_listp++, blocks --)
++ block += SQUASHFS_COMPRESSED_SIZE_BLOCK(*block_listp);
++
++ return block;
++
++failure:
++ return -1;
++}
++
++
++#define SIZE 256
++
++static inline int calculate_skip(int blocks) {
++ int skip = (blocks - 1) / ((SQUASHFS_SLOTS * SQUASHFS_META_ENTRIES + 1) * SQUASHFS_META_INDEXES);
++ return skip >= 7 ? 7 : skip + 1;
++}
++
++
++static int get_meta_index(struct inode *inode, int index,
++ long long *index_block, int *index_offset,
++ long long *data_block, char *block_list)
++{
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int skip = calculate_skip(i_size_read(inode) >> sblk->block_log);
++ int offset = 0;
++ struct meta_index *meta;
++ struct meta_entry *meta_entry;
++ long long cur_index_block = SQUASHFS_I(inode)->u.s1.block_list_start;
++ int cur_offset = SQUASHFS_I(inode)->offset;
++ long long cur_data_block = SQUASHFS_I(inode)->start_block;
++ int i;
++
++ index /= SQUASHFS_META_INDEXES * skip;
++
++ while ( offset < index ) {
++ meta = locate_meta_index(inode, index, offset + 1);
++
++ if (meta == NULL) {
++ if ((meta = empty_meta_index(inode, offset + 1,
++ skip)) == NULL)
++ goto all_done;
++ } else {
++ offset = index < meta->offset + meta->entries ? index :
++ meta->offset + meta->entries - 1;
++ meta_entry = &meta->meta_entry[offset - meta->offset];
++ cur_index_block = meta_entry->index_block + sblk->inode_table_start;
++ cur_offset = meta_entry->offset;
++ cur_data_block = meta_entry->data_block;
++ TRACE("get_meta_index: offset %d, meta->offset %d, "
++ "meta->entries %d\n", offset, meta->offset,
++ meta->entries);
++ TRACE("get_meta_index: index_block 0x%llx, offset 0x%x"
++ " data_block 0x%llx\n", cur_index_block,
++ cur_offset, cur_data_block);
++ }
++
++ for (i = meta->offset + meta->entries; i <= index &&
++ i < meta->offset + SQUASHFS_META_ENTRIES; i++) {
++ int blocks = skip * SQUASHFS_META_INDEXES;
++
++ while (blocks) {
++ int block = blocks > (SIZE >> 2) ? (SIZE >> 2) :
++ blocks;
++ int res = read_block_index(inode->i_sb, block,
++ block_list, &cur_index_block,
++ &cur_offset);
++
++ if (res == -1)
++ goto failed;
++
++ cur_data_block += res;
++ blocks -= block;
++ }
++
++ meta_entry = &meta->meta_entry[i - meta->offset];
++ meta_entry->index_block = cur_index_block - sblk->inode_table_start;
++ meta_entry->offset = cur_offset;
++ meta_entry->data_block = cur_data_block;
++ meta->entries ++;
++ offset ++;
++ }
++
++ TRACE("get_meta_index: meta->offset %d, meta->entries %d\n",
++ meta->offset, meta->entries);
++
++ release_meta_index(inode, meta);
++ }
++
++all_done:
++ *index_block = cur_index_block;
++ *index_offset = cur_offset;
++ *data_block = cur_data_block;
++
++ return offset * SQUASHFS_META_INDEXES * skip;
++
++failed:
++ release_meta_index(inode, meta);
++ return -1;
++}
++
++
++static long long read_blocklist(struct inode *inode, int index,
++ int readahead_blks, char *block_list,
++ unsigned short **block_p, unsigned int *bsize)
++{
++ long long block_ptr;
++ int offset;
++ long long block;
++ int res = get_meta_index(inode, index, &block_ptr, &offset, &block,
++ block_list);
++
++ TRACE("read_blocklist: res %d, index %d, block_ptr 0x%llx, offset"
++ " 0x%x, block 0x%llx\n", res, index, block_ptr, offset,
++ block);
++
++ if(res == -1)
++ goto failure;
++
++ index -= res;
++
++ while ( index ) {
++ int blocks = index > (SIZE >> 2) ? (SIZE >> 2) : index;
++ int res = read_block_index(inode->i_sb, blocks, block_list,
++ &block_ptr, &offset);
++ if (res == -1)
++ goto failure;
++ block += res;
++ index -= blocks;
++ }
++
++ if (read_block_index(inode->i_sb, 1, block_list,
++ &block_ptr, &offset) == -1)
++ goto failure;
++ *bsize = *((unsigned int *) block_list);
++
++ return block;
++
++failure:
++ return 0;
++}
++
++
++static int squashfs_readpage(struct file *file, struct page *page)
++{
++ struct inode *inode = page->mapping->host;
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ unsigned char block_list[SIZE];
++ long long block;
++ unsigned int bsize, i = 0, bytes = 0, byte_offset = 0;
++ int index = page->index >> (sblk->block_log - PAGE_CACHE_SHIFT);
++ void *pageaddr;
++ struct squashfs_fragment_cache *fragment = NULL;
++ char *data_ptr = msblk->read_page;
++
++ int mask = (1 << (sblk->block_log - PAGE_CACHE_SHIFT)) - 1;
++ int start_index = page->index & ~mask;
++ int end_index = start_index | mask;
++
++ TRACE("Entered squashfs_readpage, page index %lx, start block %llx\n",
++ page->index,
++ SQUASHFS_I(inode)->start_block);
++
++ if (page->index >= ((i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
++ PAGE_CACHE_SHIFT))
++ goto skip_read;
++
++ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
++ || index < (i_size_read(inode) >>
++ sblk->block_log)) {
++ if ((block = (msblk->read_blocklist)(inode, index, 1,
++ block_list, NULL, &bsize)) == 0)
++ goto skip_read;
++
++ down(&msblk->read_page_mutex);
++
++ if (!(bytes = squashfs_read_data(inode->i_sb, msblk->read_page,
++ block, bsize, NULL))) {
++ ERROR("Unable to read page, block %llx, size %x\n", block,
++ bsize);
++ up(&msblk->read_page_mutex);
++ goto skip_read;
++ }
++ } else {
++ if ((fragment = get_cached_fragment(inode->i_sb,
++ SQUASHFS_I(inode)->
++ u.s1.fragment_start_block,
++ SQUASHFS_I(inode)->u.s1.fragment_size))
++ == NULL) {
++ ERROR("Unable to read page, block %llx, size %x\n",
++ SQUASHFS_I(inode)->
++ u.s1.fragment_start_block,
++ (int) SQUASHFS_I(inode)->
++ u.s1.fragment_size);
++ goto skip_read;
++ }
++ bytes = SQUASHFS_I(inode)->u.s1.fragment_offset +
++ (i_size_read(inode) & (sblk->block_size
++ - 1));
++ byte_offset = SQUASHFS_I(inode)->u.s1.fragment_offset;
++ data_ptr = fragment->data;
++ }
++
++ for (i = start_index; i <= end_index && byte_offset < bytes;
++ i++, byte_offset += PAGE_CACHE_SIZE) {
++ struct page *push_page;
++ int available_bytes = (bytes - byte_offset) > PAGE_CACHE_SIZE ?
++ PAGE_CACHE_SIZE : bytes - byte_offset;
++
++ TRACE("bytes %d, i %d, byte_offset %d, available_bytes %d\n",
++ bytes, i, byte_offset, available_bytes);
++
++ if (i == page->index) {
++ pageaddr = kmap_atomic(page, KM_USER0);
++ memcpy(pageaddr, data_ptr + byte_offset,
++ available_bytes);
++ memset(pageaddr + available_bytes, 0,
++ PAGE_CACHE_SIZE - available_bytes);
++ kunmap_atomic(pageaddr, KM_USER0);
++ flush_dcache_page(page);
++ SetPageUptodate(page);
++ unlock_page(page);
++ } else if ((push_page =
++ grab_cache_page_nowait(page->mapping, i))) {
++ pageaddr = kmap_atomic(push_page, KM_USER0);
++
++ memcpy(pageaddr, data_ptr + byte_offset,
++ available_bytes);
++ memset(pageaddr + available_bytes, 0,
++ PAGE_CACHE_SIZE - available_bytes);
++ kunmap_atomic(pageaddr, KM_USER0);
++ flush_dcache_page(push_page);
++ SetPageUptodate(push_page);
++ unlock_page(push_page);
++ page_cache_release(push_page);
++ }
++ }
++
++ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
++ || index < (i_size_read(inode) >>
++ sblk->block_log))
++ up(&msblk->read_page_mutex);
++ else
++ release_cached_fragment(msblk, fragment);
++
++ return 0;
++
++skip_read:
++ pageaddr = kmap_atomic(page, KM_USER0);
++ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
++ kunmap_atomic(pageaddr, KM_USER0);
++ flush_dcache_page(page);
++ SetPageUptodate(page);
++ unlock_page(page);
++
++ return 0;
++}
++
++
++static int squashfs_readpage4K(struct file *file, struct page *page)
++{
++ struct inode *inode = page->mapping->host;
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ unsigned char block_list[SIZE];
++ long long block;
++ unsigned int bsize, bytes = 0;
++ void *pageaddr;
++
++ TRACE("Entered squashfs_readpage4K, page index %lx, start block %llx\n",
++ page->index,
++ SQUASHFS_I(inode)->start_block);
++
++ if (page->index >= ((i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
++ PAGE_CACHE_SHIFT)) {
++ pageaddr = kmap_atomic(page, KM_USER0);
++ goto skip_read;
++ }
++
++ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
++ || page->index < (i_size_read(inode) >>
++ sblk->block_log)) {
++ block = (msblk->read_blocklist)(inode, page->index, 1,
++ block_list, NULL, &bsize);
++
++ down(&msblk->read_page_mutex);
++ bytes = squashfs_read_data(inode->i_sb, msblk->read_page, block,
++ bsize, NULL);
++ pageaddr = kmap_atomic(page, KM_USER0);
++ if (bytes)
++ memcpy(pageaddr, msblk->read_page, bytes);
++ else
++ ERROR("Unable to read page, block %llx, size %x\n",
++ block, bsize);
++ up(&msblk->read_page_mutex);
++ } else {
++ struct squashfs_fragment_cache *fragment =
++ get_cached_fragment(inode->i_sb,
++ SQUASHFS_I(inode)->
++ u.s1.fragment_start_block,
++ SQUASHFS_I(inode)-> u.s1.fragment_size);
++ pageaddr = kmap_atomic(page, KM_USER0);
++ if (fragment) {
++ bytes = i_size_read(inode) & (sblk->block_size - 1);
++ memcpy(pageaddr, fragment->data + SQUASHFS_I(inode)->
++ u.s1.fragment_offset, bytes);
++ release_cached_fragment(msblk, fragment);
++ } else
++ ERROR("Unable to read page, block %llx, size %x\n",
++ SQUASHFS_I(inode)->
++ u.s1.fragment_start_block, (int)
++ SQUASHFS_I(inode)-> u.s1.fragment_size);
++ }
++
++skip_read:
++ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
++ kunmap_atomic(pageaddr, KM_USER0);
++ flush_dcache_page(page);
++ SetPageUptodate(page);
++ unlock_page(page);
++
++ return 0;
++}
++
++
++static int get_dir_index_using_offset(struct super_block *s, long long
++ *next_block, unsigned int *next_offset,
++ long long index_start,
++ unsigned int index_offset, int i_count,
++ long long f_pos)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int i, length = 0;
++ struct squashfs_dir_index index;
++
++ TRACE("Entered get_dir_index_using_offset, i_count %d, f_pos %d\n",
++ i_count, (unsigned int) f_pos);
++
++ f_pos =- 3;
++ if (f_pos == 0)
++ goto finish;
++
++ for (i = 0; i < i_count; i++) {
++ if (msblk->swap) {
++ struct squashfs_dir_index sindex;
++ squashfs_get_cached_block(s, (char *) &sindex,
++ index_start, index_offset,
++ sizeof(sindex), &index_start,
++ &index_offset);
++ SQUASHFS_SWAP_DIR_INDEX(&index, &sindex);
++ } else
++ squashfs_get_cached_block(s, (char *) &index,
++ index_start, index_offset,
++ sizeof(index), &index_start,
++ &index_offset);
++
++ if (index.index > f_pos)
++ break;
++
++ squashfs_get_cached_block(s, NULL, index_start, index_offset,
++ index.size + 1, &index_start,
++ &index_offset);
++
++ length = index.index;
++ *next_block = index.start_block + sblk->directory_table_start;
++ }
++
++ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
++
++finish:
++ return length + 3;
++}
++
++
++static int get_dir_index_using_name(struct super_block *s, long long
++ *next_block, unsigned int *next_offset,
++ long long index_start,
++ unsigned int index_offset, int i_count,
++ const char *name, int size)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int i, length = 0;
++ char buffer[sizeof(struct squashfs_dir_index) + SQUASHFS_NAME_LEN + 1];
++ struct squashfs_dir_index *index = (struct squashfs_dir_index *) buffer;
++ char str[SQUASHFS_NAME_LEN + 1];
++
++ TRACE("Entered get_dir_index_using_name, i_count %d\n", i_count);
++
++ strncpy(str, name, size);
++ str[size] = '\0';
++
++ for (i = 0; i < i_count; i++) {
++ if (msblk->swap) {
++ struct squashfs_dir_index sindex;
++ squashfs_get_cached_block(s, (char *) &sindex,
++ index_start, index_offset,
++ sizeof(sindex), &index_start,
++ &index_offset);
++ SQUASHFS_SWAP_DIR_INDEX(index, &sindex);
++ } else
++ squashfs_get_cached_block(s, (char *) index,
++ index_start, index_offset,
++ sizeof(struct squashfs_dir_index),
++ &index_start, &index_offset);
++
++ squashfs_get_cached_block(s, index->name, index_start,
++ index_offset, index->size + 1,
++ &index_start, &index_offset);
++
++ index->name[index->size + 1] = '\0';
++
++ if (strcmp(index->name, str) > 0)
++ break;
++
++ length = index->index;
++ *next_block = index->start_block + sblk->directory_table_start;
++ }
++
++ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
++ return length + 3;
++}
++
++
++static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
++{
++ struct inode *i = file->f_dentry->d_inode;
++ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long next_block = SQUASHFS_I(i)->start_block +
++ sblk->directory_table_start;
++ int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
++ dir_count;
++ struct squashfs_dir_header dirh;
++ char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN + 1];
++ struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
++
++ TRACE("Entered squashfs_readdir [%llx:%x]\n", next_block, next_offset);
++
++ while(file->f_pos < 3) {
++ char *name;
++ int size, i_ino;
++
++ if(file->f_pos == 0) {
++ name = ".";
++ size = 1;
++ i_ino = i->i_ino;
++ } else {
++ name = "..";
++ size = 2;
++ i_ino = SQUASHFS_I(i)->u.s2.parent_inode;
++ }
++ TRACE("Calling filldir(%x, %s, %d, %d, %d, %d)\n",
++ (unsigned int) dirent, name, size, (int)
++ file->f_pos, i_ino,
++ squashfs_filetype_table[1]);
++
++ if (filldir(dirent, name, size,
++ file->f_pos, i_ino,
++ squashfs_filetype_table[1]) < 0) {
++ TRACE("Filldir returned less than 0\n");
++ goto finish;
++ }
++ file->f_pos += size;
++ dirs_read++;
++ }
++
++ length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_start,
++ SQUASHFS_I(i)->u.s2.directory_index_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_count,
++ file->f_pos);
++
++ while (length < i_size_read(i)) {
++ /* read directory header */
++ if (msblk->swap) {
++ struct squashfs_dir_header sdirh;
++
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
++ next_block, next_offset, sizeof(sdirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdirh);
++ SQUASHFS_SWAP_DIR_HEADER(&dirh, &sdirh);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
++ next_block, next_offset, sizeof(dirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(dirh);
++ }
++
++ dir_count = dirh.count + 1;
++ while (dir_count--) {
++ if (msblk->swap) {
++ struct squashfs_dir_entry sdire;
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ &sdire, next_block, next_offset,
++ sizeof(sdire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdire);
++ SQUASHFS_SWAP_DIR_ENTRY(dire, &sdire);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ dire, next_block, next_offset,
++ sizeof(*dire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(*dire);
++ }
++
++ if (!squashfs_get_cached_block(i->i_sb, dire->name,
++ next_block, next_offset,
++ dire->size + 1, &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += dire->size + 1;
++
++ if (file->f_pos >= length)
++ continue;
++
++ dire->name[dire->size + 1] = '\0';
++
++ TRACE("Calling filldir(%x, %s, %d, %d, %x:%x, %d, %d)\n",
++ (unsigned int) dirent, dire->name,
++ dire->size + 1, (int) file->f_pos,
++ dirh.start_block, dire->offset,
++ dirh.inode_number + dire->inode_number,
++ squashfs_filetype_table[dire->type]);
++
++ if (filldir(dirent, dire->name, dire->size + 1,
++ file->f_pos,
++ dirh.inode_number + dire->inode_number,
++ squashfs_filetype_table[dire->type])
++ < 0) {
++ TRACE("Filldir returned less than 0\n");
++ goto finish;
++ }
++ file->f_pos = length;
++ dirs_read++;
++ }
++ }
++
++finish:
++ return dirs_read;
++
++failed_read:
++ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
++ next_offset);
++ return 0;
++}
++
++
++static struct dentry *squashfs_lookup(struct inode *i, struct dentry *dentry,
++ struct nameidata *nd)
++{
++ const unsigned char *name = dentry->d_name.name;
++ int len = dentry->d_name.len;
++ struct inode *inode = NULL;
++ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long next_block = SQUASHFS_I(i)->start_block +
++ sblk->directory_table_start;
++ int next_offset = SQUASHFS_I(i)->offset, length = 0,
++ dir_count;
++ struct squashfs_dir_header dirh;
++ char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN];
++ struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
++
++ TRACE("Entered squashfs_lookup [%llx:%x]\n", next_block, next_offset);
++
++ if (len > SQUASHFS_NAME_LEN)
++ goto exit_loop;
++
++ length = get_dir_index_using_name(i->i_sb, &next_block, &next_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_start,
++ SQUASHFS_I(i)->u.s2.directory_index_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_count, name,
++ len);
++
++ while (length < i_size_read(i)) {
++ /* read directory header */
++ if (msblk->swap) {
++ struct squashfs_dir_header sdirh;
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
++ next_block, next_offset, sizeof(sdirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdirh);
++ SQUASHFS_SWAP_DIR_HEADER(&dirh, &sdirh);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
++ next_block, next_offset, sizeof(dirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(dirh);
++ }
++
++ dir_count = dirh.count + 1;
++ while (dir_count--) {
++ if (msblk->swap) {
++ struct squashfs_dir_entry sdire;
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ &sdire, next_block,next_offset,
++ sizeof(sdire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdire);
++ SQUASHFS_SWAP_DIR_ENTRY(dire, &sdire);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ dire, next_block,next_offset,
++ sizeof(*dire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(*dire);
++ }
++
++ if (!squashfs_get_cached_block(i->i_sb, dire->name,
++ next_block, next_offset, dire->size + 1,
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += dire->size + 1;
++
++ if (name[0] < dire->name[0])
++ goto exit_loop;
++
++ if ((len == dire->size + 1) && !strncmp(name,
++ dire->name, len)) {
++ squashfs_inode_t ino =
++ SQUASHFS_MKINODE(dirh.start_block,
++ dire->offset);
++
++ TRACE("calling squashfs_iget for directory "
++ "entry %s, inode %x:%x, %d\n", name,
++ dirh.start_block, dire->offset,
++ dirh.inode_number + dire->inode_number);
++
++ inode = (msblk->iget)(i->i_sb, ino);
++
++ goto exit_loop;
++ }
++ }
++ }
++
++exit_loop:
++ d_add(dentry, inode);
++ return ERR_PTR(0);
++
++failed_read:
++ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
++ next_offset);
++ goto exit_loop;
++}
++
++
++static void squashfs_put_super(struct super_block *s)
++{
++ int i;
++
++ if (s->s_fs_info) {
++ struct squashfs_sb_info *sbi = s->s_fs_info;
++ if (sbi->block_cache)
++ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
++ if (sbi->block_cache[i].block !=
++ SQUASHFS_INVALID_BLK)
++ kfree(sbi->block_cache[i].data);
++ if (sbi->fragment)
++ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++)
++ SQUASHFS_FREE(sbi->fragment[i].data);
++ kfree(sbi->fragment);
++ kfree(sbi->block_cache);
++ kfree(sbi->read_data);
++ kfree(sbi->read_page);
++ kfree(sbi->uid);
++ kfree(sbi->fragment_index);
++ kfree(sbi->fragment_index_2);
++ kfree(sbi->meta_index);
++ kfree(s->s_fs_info);
++ s->s_fs_info = NULL;
++ }
++}
++
++
++static struct super_block *squashfs_get_sb(struct file_system_type *fs_type,
++ int flags, const char *dev_name, void *data)
++{
++ return get_sb_bdev(fs_type, flags, dev_name, data, squashfs_fill_super);
++}
++
++
++static int __init init_squashfs_fs(void)
++{
++ int err = init_inodecache();
++ if (err)
++ goto out;
++
++ printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
++ "Phillip Lougher\n");
++
++ if (!(stream.workspace = vmalloc(zlib_inflate_workspacesize()))) {
++ ERROR("Failed to allocate zlib workspace\n");
++ destroy_inodecache();
++ err = -ENOMEM;
++ goto out;
++ }
++
++ if ((err = register_filesystem(&squashfs_fs_type))) {
++ vfree(stream.workspace);
++ destroy_inodecache();
++ }
++
++out:
++ return err;
++}
++
++
++static void __exit exit_squashfs_fs(void)
++{
++ vfree(stream.workspace);
++ unregister_filesystem(&squashfs_fs_type);
++ destroy_inodecache();
++}
++
++
++static kmem_cache_t * squashfs_inode_cachep;
++
++
++static struct inode *squashfs_alloc_inode(struct super_block *sb)
++{
++ struct squashfs_inode_info *ei;
++ ei = kmem_cache_alloc(squashfs_inode_cachep, SLAB_KERNEL);
++ if (!ei)
++ return NULL;
++ return &ei->vfs_inode;
++}
++
++
++static void squashfs_destroy_inode(struct inode *inode)
++{
++ kmem_cache_free(squashfs_inode_cachep, SQUASHFS_I(inode));
++}
++
++
++static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
++{
++ struct squashfs_inode_info *ei = foo;
++
++ if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) ==
++ SLAB_CTOR_CONSTRUCTOR)
++ inode_init_once(&ei->vfs_inode);
++}
++
++
++static int __init init_inodecache(void)
++{
++ squashfs_inode_cachep = kmem_cache_create("squashfs_inode_cache",
++ sizeof(struct squashfs_inode_info),
++ 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT,
++ init_once, NULL);
++ if (squashfs_inode_cachep == NULL)
++ return -ENOMEM;
++ return 0;
++}
++
++
++static void destroy_inodecache(void)
++{
++ if (kmem_cache_destroy(squashfs_inode_cachep))
++ printk(KERN_INFO "squashfs_inode_cache: not all structures "
++ "were freed\n");
++}
++
++
++module_init(init_squashfs_fs);
++module_exit(exit_squashfs_fs);
++MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
++MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>");
++MODULE_LICENSE("GPL");
+diff --new-file -urp linux-2.6.15/fs/squashfs/Makefile linux-2.6.15-squashfs3.0/fs/squashfs/Makefile
+--- linux-2.6.15/fs/squashfs/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/fs/squashfs/Makefile 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,7 @@
++#
++# Makefile for the linux squashfs routines.
++#
++
++obj-$(CONFIG_SQUASHFS) += squashfs.o
++squashfs-y += inode.o
++squashfs-y += squashfs2_0.o
+diff --new-file -urp linux-2.6.15/fs/squashfs/squashfs2_0.c linux-2.6.15-squashfs3.0/fs/squashfs/squashfs2_0.c
+--- linux-2.6.15/fs/squashfs/squashfs2_0.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/fs/squashfs/squashfs2_0.c 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,758 @@
++/*
++ * Squashfs - a compressed read only filesystem for Linux
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs2_0.c
++ */
++
++#include <linux/types.h>
++#include <linux/squashfs_fs.h>
++#include <linux/module.h>
++#include <linux/errno.h>
++#include <linux/slab.h>
++#include <linux/fs.h>
++#include <linux/smp_lock.h>
++#include <linux/slab.h>
++#include <linux/squashfs_fs_sb.h>
++#include <linux/squashfs_fs_i.h>
++#include <linux/buffer_head.h>
++#include <linux/vfs.h>
++#include <linux/init.h>
++#include <linux/dcache.h>
++#include <linux/wait.h>
++#include <linux/zlib.h>
++#include <linux/blkdev.h>
++#include <linux/vmalloc.h>
++#include <asm/uaccess.h>
++#include <asm/semaphore.h>
++
++#include "squashfs.h"
++static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir);
++static struct dentry *squashfs_lookup_2(struct inode *, struct dentry *,
++ struct nameidata *);
++
++static struct file_operations squashfs_dir_ops_2 = {
++ .read = generic_read_dir,
++ .readdir = squashfs_readdir_2
++};
++
++static struct inode_operations squashfs_dir_inode_ops_2 = {
++ .lookup = squashfs_lookup_2
++};
++
++static unsigned char squashfs_filetype_table[] = {
++ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
++};
++
++static int read_fragment_index_table_2(struct super_block *s)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ if (!(msblk->fragment_index_2 = kmalloc(SQUASHFS_FRAGMENT_INDEX_BYTES_2
++ (sblk->fragments), GFP_KERNEL))) {
++ ERROR("Failed to allocate uid/gid table\n");
++ return 0;
++ }
++
++ if (SQUASHFS_FRAGMENT_INDEX_BYTES_2(sblk->fragments) &&
++ !squashfs_read_data(s, (char *)
++ msblk->fragment_index_2,
++ sblk->fragment_table_start,
++ SQUASHFS_FRAGMENT_INDEX_BYTES_2
++ (sblk->fragments) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ ERROR("unable to read fragment index table\n");
++ return 0;
++ }
++
++ if (msblk->swap) {
++ int i;
++ unsigned int fragment;
++
++ for (i = 0; i < SQUASHFS_FRAGMENT_INDEXES_2(sblk->fragments);
++ i++) {
++ SQUASHFS_SWAP_FRAGMENT_INDEXES_2((&fragment),
++ &msblk->fragment_index_2[i], 1);
++ msblk->fragment_index_2[i] = fragment;
++ }
++ }
++
++ return 1;
++}
++
++
++static int get_fragment_location_2(struct super_block *s, unsigned int fragment,
++ long long *fragment_start_block,
++ unsigned int *fragment_size)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ long long start_block =
++ msblk->fragment_index_2[SQUASHFS_FRAGMENT_INDEX_2(fragment)];
++ int offset = SQUASHFS_FRAGMENT_INDEX_OFFSET_2(fragment);
++ struct squashfs_fragment_entry_2 fragment_entry;
++
++ if (msblk->swap) {
++ struct squashfs_fragment_entry_2 sfragment_entry;
++
++ if (!squashfs_get_cached_block(s, (char *) &sfragment_entry,
++ start_block, offset,
++ sizeof(sfragment_entry), &start_block,
++ &offset))
++ goto out;
++ SQUASHFS_SWAP_FRAGMENT_ENTRY_2(&fragment_entry, &sfragment_entry);
++ } else
++ if (!squashfs_get_cached_block(s, (char *) &fragment_entry,
++ start_block, offset,
++ sizeof(fragment_entry), &start_block,
++ &offset))
++ goto out;
++
++ *fragment_start_block = fragment_entry.start_block;
++ *fragment_size = fragment_entry.size;
++
++ return 1;
++
++out:
++ return 0;
++}
++
++
++static struct inode *squashfs_new_inode(struct super_block *s,
++ struct squashfs_base_inode_header_2 *inodeb, unsigned int ino)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ struct inode *i = new_inode(s);
++
++ if (i) {
++ i->i_ino = ino;
++ i->i_mtime.tv_sec = sblk->mkfs_time;
++ i->i_atime.tv_sec = sblk->mkfs_time;
++ i->i_ctime.tv_sec = sblk->mkfs_time;
++ i->i_uid = msblk->uid[inodeb->uid];
++ i->i_mode = inodeb->mode;
++ i->i_nlink = 1;
++ i->i_size = 0;
++ if (inodeb->guid == SQUASHFS_GUIDS)
++ i->i_gid = i->i_uid;
++ else
++ i->i_gid = msblk->guid[inodeb->guid];
++ }
++
++ return i;
++}
++
++
++static struct inode *squashfs_iget_2(struct super_block *s, squashfs_inode_t inode)
++{
++ struct inode *i;
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ unsigned int block = SQUASHFS_INODE_BLK(inode) +
++ sblk->inode_table_start;
++ unsigned int offset = SQUASHFS_INODE_OFFSET(inode);
++ unsigned int ino = SQUASHFS_MK_VFS_INODE(block
++ - sblk->inode_table_start, offset);
++ long long next_block;
++ unsigned int next_offset;
++ union squashfs_inode_header_2 id, sid;
++ struct squashfs_base_inode_header_2 *inodeb = &id.base,
++ *sinodeb = &sid.base;
++
++ TRACE("Entered squashfs_iget\n");
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *) sinodeb, block,
++ offset, sizeof(*sinodeb), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_BASE_INODE_HEADER_2(inodeb, sinodeb,
++ sizeof(*sinodeb));
++ } else
++ if (!squashfs_get_cached_block(s, (char *) inodeb, block,
++ offset, sizeof(*inodeb), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ switch(inodeb->inode_type) {
++ case SQUASHFS_FILE_TYPE: {
++ struct squashfs_reg_inode_header_2 *inodep = &id.reg;
++ struct squashfs_reg_inode_header_2 *sinodep = &sid.reg;
++ long long frag_blk;
++ unsigned int frag_size;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_REG_INODE_HEADER_2(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ frag_blk = SQUASHFS_INVALID_BLK;
++ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
++ !get_fragment_location_2(s,
++ inodep->fragment, &frag_blk, &frag_size))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_size = inodep->file_size;
++ i->i_fop = &generic_ro_fops;
++ i->i_mode |= S_IFREG;
++ i->i_mtime.tv_sec = inodep->mtime;
++ i->i_atime.tv_sec = inodep->mtime;
++ i->i_ctime.tv_sec = inodep->mtime;
++ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
++ i->i_blksize = PAGE_CACHE_SIZE;
++ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
++ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
++ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++ if (sblk->block_size > 4096)
++ i->i_data.a_ops = &squashfs_aops;
++ else
++ i->i_data.a_ops = &squashfs_aops_4K;
++
++ TRACE("File inode %x:%x, start_block %x, "
++ "block_list_start %llx, offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, next_block,
++ next_offset);
++ break;
++ }
++ case SQUASHFS_DIR_TYPE: {
++ struct squashfs_dir_inode_header_2 *inodep = &id.dir;
++ struct squashfs_dir_inode_header_2 *sinodep = &sid.dir;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_DIR_INODE_HEADER_2(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_size = inodep->file_size;
++ i->i_op = &squashfs_dir_inode_ops_2;
++ i->i_fop = &squashfs_dir_ops_2;
++ i->i_mode |= S_IFDIR;
++ i->i_mtime.tv_sec = inodep->mtime;
++ i->i_atime.tv_sec = inodep->mtime;
++ i->i_ctime.tv_sec = inodep->mtime;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->offset = inodep->offset;
++ SQUASHFS_I(i)->u.s2.directory_index_count = 0;
++ SQUASHFS_I(i)->u.s2.parent_inode = 0;
++
++ TRACE("Directory inode %x:%x, start_block %x, offset "
++ "%x\n", SQUASHFS_INODE_BLK(inode),
++ offset, inodep->start_block,
++ inodep->offset);
++ break;
++ }
++ case SQUASHFS_LDIR_TYPE: {
++ struct squashfs_ldir_inode_header_2 *inodep = &id.ldir;
++ struct squashfs_ldir_inode_header_2 *sinodep = &sid.ldir;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_LDIR_INODE_HEADER_2(inodep,
++ sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_size = inodep->file_size;
++ i->i_op = &squashfs_dir_inode_ops_2;
++ i->i_fop = &squashfs_dir_ops_2;
++ i->i_mode |= S_IFDIR;
++ i->i_mtime.tv_sec = inodep->mtime;
++ i->i_atime.tv_sec = inodep->mtime;
++ i->i_ctime.tv_sec = inodep->mtime;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->offset = inodep->offset;
++ SQUASHFS_I(i)->u.s2.directory_index_start = next_block;
++ SQUASHFS_I(i)->u.s2.directory_index_offset =
++ next_offset;
++ SQUASHFS_I(i)->u.s2.directory_index_count =
++ inodep->i_count;
++ SQUASHFS_I(i)->u.s2.parent_inode = 0;
++
++ TRACE("Long directory inode %x:%x, start_block %x, "
++ "offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, inodep->offset);
++ break;
++ }
++ case SQUASHFS_SYMLINK_TYPE: {
++ struct squashfs_symlink_inode_header_2 *inodep =
++ &id.symlink;
++ struct squashfs_symlink_inode_header_2 *sinodep =
++ &sid.symlink;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_SYMLINK_INODE_HEADER_2(inodep,
++ sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_size = inodep->symlink_size;
++ i->i_op = &page_symlink_inode_operations;
++ i->i_data.a_ops = &squashfs_symlink_aops;
++ i->i_mode |= S_IFLNK;
++ SQUASHFS_I(i)->start_block = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++
++ TRACE("Symbolic link inode %x:%x, start_block %llx, "
++ "offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ next_block, next_offset);
++ break;
++ }
++ case SQUASHFS_BLKDEV_TYPE:
++ case SQUASHFS_CHRDEV_TYPE: {
++ struct squashfs_dev_inode_header_2 *inodep = &id.dev;
++ struct squashfs_dev_inode_header_2 *sinodep = &sid.dev;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_DEV_INODE_HEADER_2(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if ((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_mode |= (inodeb->inode_type ==
++ SQUASHFS_CHRDEV_TYPE) ? S_IFCHR :
++ S_IFBLK;
++ init_special_inode(i, i->i_mode,
++ old_decode_dev(inodep->rdev));
++
++ TRACE("Device inode %x:%x, rdev %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->rdev);
++ break;
++ }
++ case SQUASHFS_FIFO_TYPE:
++ case SQUASHFS_SOCKET_TYPE: {
++ if ((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_mode |= (inodeb->inode_type == SQUASHFS_FIFO_TYPE)
++ ? S_IFIFO : S_IFSOCK;
++ init_special_inode(i, i->i_mode, 0);
++ break;
++ }
++ default:
++ ERROR("Unknown inode type %d in squashfs_iget!\n",
++ inodeb->inode_type);
++ goto failed_read1;
++ }
++
++ insert_inode_hash(i);
++ return i;
++
++failed_read:
++ ERROR("Unable to read inode [%x:%x]\n", block, offset);
++
++failed_read1:
++ return NULL;
++}
++
++
++static int get_dir_index_using_offset(struct super_block *s, long long
++ *next_block, unsigned int *next_offset,
++ long long index_start,
++ unsigned int index_offset, int i_count,
++ long long f_pos)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int i, length = 0;
++ struct squashfs_dir_index_2 index;
++
++ TRACE("Entered get_dir_index_using_offset, i_count %d, f_pos %d\n",
++ i_count, (unsigned int) f_pos);
++
++ if (f_pos == 0)
++ goto finish;
++
++ for (i = 0; i < i_count; i++) {
++ if (msblk->swap) {
++ struct squashfs_dir_index_2 sindex;
++ squashfs_get_cached_block(s, (char *) &sindex,
++ index_start, index_offset,
++ sizeof(sindex), &index_start,
++ &index_offset);
++ SQUASHFS_SWAP_DIR_INDEX_2(&index, &sindex);
++ } else
++ squashfs_get_cached_block(s, (char *) &index,
++ index_start, index_offset,
++ sizeof(index), &index_start,
++ &index_offset);
++
++ if (index.index > f_pos)
++ break;
++
++ squashfs_get_cached_block(s, NULL, index_start, index_offset,
++ index.size + 1, &index_start,
++ &index_offset);
++
++ length = index.index;
++ *next_block = index.start_block + sblk->directory_table_start;
++ }
++
++ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
++
++finish:
++ return length;
++}
++
++
++static int get_dir_index_using_name(struct super_block *s, long long
++ *next_block, unsigned int *next_offset,
++ long long index_start,
++ unsigned int index_offset, int i_count,
++ const char *name, int size)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int i, length = 0;
++ char buffer[sizeof(struct squashfs_dir_index_2) + SQUASHFS_NAME_LEN + 1];
++ struct squashfs_dir_index_2 *index = (struct squashfs_dir_index_2 *) buffer;
++ char str[SQUASHFS_NAME_LEN + 1];
++
++ TRACE("Entered get_dir_index_using_name, i_count %d\n", i_count);
++
++ strncpy(str, name, size);
++ str[size] = '\0';
++
++ for (i = 0; i < i_count; i++) {
++ if (msblk->swap) {
++ struct squashfs_dir_index_2 sindex;
++ squashfs_get_cached_block(s, (char *) &sindex,
++ index_start, index_offset,
++ sizeof(sindex), &index_start,
++ &index_offset);
++ SQUASHFS_SWAP_DIR_INDEX_2(index, &sindex);
++ } else
++ squashfs_get_cached_block(s, (char *) index,
++ index_start, index_offset,
++ sizeof(struct squashfs_dir_index_2),
++ &index_start, &index_offset);
++
++ squashfs_get_cached_block(s, index->name, index_start,
++ index_offset, index->size + 1,
++ &index_start, &index_offset);
++
++ index->name[index->size + 1] = '\0';
++
++ if (strcmp(index->name, str) > 0)
++ break;
++
++ length = index->index;
++ *next_block = index->start_block + sblk->directory_table_start;
++ }
++
++ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
++ return length;
++}
++
++
++static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir)
++{
++ struct inode *i = file->f_dentry->d_inode;
++ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long next_block = SQUASHFS_I(i)->start_block +
++ sblk->directory_table_start;
++ int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
++ dir_count;
++ struct squashfs_dir_header_2 dirh;
++ char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN + 1];
++ struct squashfs_dir_entry_2 *dire = (struct squashfs_dir_entry_2 *) buffer;
++
++ TRACE("Entered squashfs_readdir_2 [%llx:%x]\n", next_block, next_offset);
++
++ length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_start,
++ SQUASHFS_I(i)->u.s2.directory_index_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_count,
++ file->f_pos);
++
++ while (length < i_size_read(i)) {
++ /* read directory header */
++ if (msblk->swap) {
++ struct squashfs_dir_header_2 sdirh;
++
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
++ next_block, next_offset, sizeof(sdirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdirh);
++ SQUASHFS_SWAP_DIR_HEADER_2(&dirh, &sdirh);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
++ next_block, next_offset, sizeof(dirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(dirh);
++ }
++
++ dir_count = dirh.count + 1;
++ while (dir_count--) {
++ if (msblk->swap) {
++ struct squashfs_dir_entry_2 sdire;
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ &sdire, next_block, next_offset,
++ sizeof(sdire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdire);
++ SQUASHFS_SWAP_DIR_ENTRY_2(dire, &sdire);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ dire, next_block, next_offset,
++ sizeof(*dire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(*dire);
++ }
++
++ if (!squashfs_get_cached_block(i->i_sb, dire->name,
++ next_block, next_offset,
++ dire->size + 1, &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += dire->size + 1;
++
++ if (file->f_pos >= length)
++ continue;
++
++ dire->name[dire->size + 1] = '\0';
++
++ TRACE("Calling filldir(%x, %s, %d, %d, %x:%x, %d)\n",
++ (unsigned int) dirent, dire->name,
++ dire->size + 1, (int) file->f_pos,
++ dirh.start_block, dire->offset,
++ squashfs_filetype_table[dire->type]);
++
++ if (filldir(dirent, dire->name, dire->size + 1,
++ file->f_pos, SQUASHFS_MK_VFS_INODE(
++ dirh.start_block, dire->offset),
++ squashfs_filetype_table[dire->type])
++ < 0) {
++ TRACE("Filldir returned less than 0\n");
++ goto finish;
++ }
++ file->f_pos = length;
++ dirs_read++;
++ }
++ }
++
++finish:
++ return dirs_read;
++
++failed_read:
++ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
++ next_offset);
++ return 0;
++}
++
++
++static struct dentry *squashfs_lookup_2(struct inode *i, struct dentry *dentry,
++ struct nameidata *nd)
++{
++ const unsigned char *name = dentry->d_name.name;
++ int len = dentry->d_name.len;
++ struct inode *inode = NULL;
++ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long next_block = SQUASHFS_I(i)->start_block +
++ sblk->directory_table_start;
++ int next_offset = SQUASHFS_I(i)->offset, length = 0,
++ dir_count;
++ struct squashfs_dir_header_2 dirh;
++ char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN];
++ struct squashfs_dir_entry_2 *dire = (struct squashfs_dir_entry_2 *) buffer;
++ int sorted = sblk->s_major == 2 && sblk->s_minor >= 1;
++
++ TRACE("Entered squashfs_lookup [%llx:%x]\n", next_block, next_offset);
++
++ if (len > SQUASHFS_NAME_LEN)
++ goto exit_loop;
++
++ length = get_dir_index_using_name(i->i_sb, &next_block, &next_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_start,
++ SQUASHFS_I(i)->u.s2.directory_index_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_count, name,
++ len);
++
++ while (length < i_size_read(i)) {
++ /* read directory header */
++ if (msblk->swap) {
++ struct squashfs_dir_header_2 sdirh;
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
++ next_block, next_offset, sizeof(sdirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdirh);
++ SQUASHFS_SWAP_DIR_HEADER_2(&dirh, &sdirh);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
++ next_block, next_offset, sizeof(dirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(dirh);
++ }
++
++ dir_count = dirh.count + 1;
++ while (dir_count--) {
++ if (msblk->swap) {
++ struct squashfs_dir_entry_2 sdire;
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ &sdire, next_block,next_offset,
++ sizeof(sdire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdire);
++ SQUASHFS_SWAP_DIR_ENTRY_2(dire, &sdire);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ dire, next_block,next_offset,
++ sizeof(*dire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(*dire);
++ }
++
++ if (!squashfs_get_cached_block(i->i_sb, dire->name,
++ next_block, next_offset, dire->size + 1,
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += dire->size + 1;
++
++ if (sorted && name[0] < dire->name[0])
++ goto exit_loop;
++
++ if ((len == dire->size + 1) && !strncmp(name,
++ dire->name, len)) {
++ squashfs_inode_t ino =
++ SQUASHFS_MKINODE(dirh.start_block,
++ dire->offset);
++
++ TRACE("calling squashfs_iget for directory "
++ "entry %s, inode %x:%x, %lld\n", name,
++ dirh.start_block, dire->offset, ino);
++
++ inode = (msblk->iget)(i->i_sb, ino);
++
++ goto exit_loop;
++ }
++ }
++ }
++
++exit_loop:
++ d_add(dentry, inode);
++ return ERR_PTR(0);
++
++failed_read:
++ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
++ next_offset);
++ goto exit_loop;
++}
++
++
++int squashfs_2_0_supported(struct squashfs_sb_info *msblk)
++{
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ msblk->iget = squashfs_iget_2;
++ msblk->read_fragment_index_table = read_fragment_index_table_2;
++
++ sblk->bytes_used = sblk->bytes_used_2;
++ sblk->uid_start = sblk->uid_start_2;
++ sblk->guid_start = sblk->guid_start_2;
++ sblk->inode_table_start = sblk->inode_table_start_2;
++ sblk->directory_table_start = sblk->directory_table_start_2;
++ sblk->fragment_table_start = sblk->fragment_table_start_2;
++
++ return 1;
++}
+diff --new-file -urp linux-2.6.15/fs/squashfs/squashfs.h linux-2.6.15-squashfs3.0/fs/squashfs/squashfs.h
+--- linux-2.6.15/fs/squashfs/squashfs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/fs/squashfs/squashfs.h 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,86 @@
++/*
++ * Squashfs - a compressed read only filesystem for Linux
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs.h
++ */
++
++#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
++#undef CONFIG_SQUASHFS_1_0_COMPATIBILITY
++#endif
++
++#ifdef SQUASHFS_TRACE
++#define TRACE(s, args...) printk(KERN_NOTICE "SQUASHFS: "s, ## args)
++#else
++#define TRACE(s, args...) {}
++#endif
++
++#define ERROR(s, args...) printk(KERN_ERR "SQUASHFS error: "s, ## args)
++
++#define SERROR(s, args...) do { \
++ if (!silent) \
++ printk(KERN_ERR "SQUASHFS error: "s, ## args);\
++ } while(0)
++
++#define WARNING(s, args...) printk(KERN_WARNING "SQUASHFS: "s, ## args)
++
++static inline struct squashfs_inode_info *SQUASHFS_I(struct inode *inode)
++{
++ return list_entry(inode, struct squashfs_inode_info, vfs_inode);
++}
++
++#if defined(CONFIG_SQUASHFS_1_0_COMPATIBILITY ) || defined(CONFIG_SQUASHFS_2_0_COMPATIBILITY)
++#define SQSH_EXTERN
++extern unsigned int squashfs_read_data(struct super_block *s, char *buffer,
++ long long index, unsigned int length,
++ long long *next_index);
++extern int squashfs_get_cached_block(struct super_block *s, char *buffer,
++ long long block, unsigned int offset,
++ int length, long long *next_block,
++ unsigned int *next_offset);
++extern void release_cached_fragment(struct squashfs_sb_info *msblk, struct
++ squashfs_fragment_cache *fragment);
++extern struct squashfs_fragment_cache *get_cached_fragment(struct super_block
++ *s, long long start_block,
++ int length);
++extern struct address_space_operations squashfs_symlink_aops;
++extern struct address_space_operations squashfs_aops;
++extern struct address_space_operations squashfs_aops_4K;
++extern struct inode_operations squashfs_dir_inode_ops;
++#else
++#define SQSH_EXTERN static
++#endif
++
++#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
++extern int squashfs_1_0_supported(struct squashfs_sb_info *msblk);
++#else
++static inline int squashfs_1_0_supported(struct squashfs_sb_info *msblk)
++{
++ return 0;
++}
++#endif
++
++#ifdef CONFIG_SQUASHFS_2_0_COMPATIBILITY
++extern int squashfs_2_0_supported(struct squashfs_sb_info *msblk);
++#else
++static inline int squashfs_2_0_supported(struct squashfs_sb_info *msblk)
++{
++ return 0;
++}
++#endif
+diff --new-file -urp linux-2.6.15/include/linux/squashfs_fs.h linux-2.6.15-squashfs3.0/include/linux/squashfs_fs.h
+--- linux-2.6.15/include/linux/squashfs_fs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/include/linux/squashfs_fs.h 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,911 @@
++#ifndef SQUASHFS_FS
++#define SQUASHFS_FS
++
++/*
++ * Squashfs
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs_fs.h
++ */
++
++#ifndef CONFIG_SQUASHFS_2_0_COMPATIBILITY
++#define CONFIG_SQUASHFS_2_0_COMPATIBILITY
++#endif
++
++#ifdef CONFIG_SQUASHFS_VMALLOC
++#define SQUASHFS_ALLOC(a) vmalloc(a)
++#define SQUASHFS_FREE(a) vfree(a)
++#else
++#define SQUASHFS_ALLOC(a) kmalloc(a, GFP_KERNEL)
++#define SQUASHFS_FREE(a) kfree(a)
++#endif
++#define SQUASHFS_CACHED_FRAGMENTS CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE
++#define SQUASHFS_MAJOR 3
++#define SQUASHFS_MINOR 0
++#define SQUASHFS_MAGIC 0x73717368
++#define SQUASHFS_MAGIC_SWAP 0x68737173
++#define SQUASHFS_START 0
++
++/* size of metadata (inode and directory) blocks */
++#define SQUASHFS_METADATA_SIZE 8192
++#define SQUASHFS_METADATA_LOG 13
++
++/* default size of data blocks */
++#define SQUASHFS_FILE_SIZE 65536
++#define SQUASHFS_FILE_LOG 16
++
++#define SQUASHFS_FILE_MAX_SIZE 65536
++
++/* Max number of uids and gids */
++#define SQUASHFS_UIDS 256
++#define SQUASHFS_GUIDS 255
++
++/* Max length of filename (not 255) */
++#define SQUASHFS_NAME_LEN 256
++
++#define SQUASHFS_INVALID ((long long) 0xffffffffffff)
++#define SQUASHFS_INVALID_FRAG ((unsigned int) 0xffffffff)
++#define SQUASHFS_INVALID_BLK ((long long) -1)
++#define SQUASHFS_USED_BLK ((long long) -2)
++
++/* Filesystem flags */
++#define SQUASHFS_NOI 0
++#define SQUASHFS_NOD 1
++#define SQUASHFS_CHECK 2
++#define SQUASHFS_NOF 3
++#define SQUASHFS_NO_FRAG 4
++#define SQUASHFS_ALWAYS_FRAG 5
++#define SQUASHFS_DUPLICATE 6
++
++#define SQUASHFS_BIT(flag, bit) ((flag >> bit) & 1)
++
++#define SQUASHFS_UNCOMPRESSED_INODES(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_NOI)
++
++#define SQUASHFS_UNCOMPRESSED_DATA(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_NOD)
++
++#define SQUASHFS_UNCOMPRESSED_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_NOF)
++
++#define SQUASHFS_NO_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_NO_FRAG)
++
++#define SQUASHFS_ALWAYS_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_ALWAYS_FRAG)
++
++#define SQUASHFS_DUPLICATES(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_DUPLICATE)
++
++#define SQUASHFS_CHECK_DATA(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_CHECK)
++
++#define SQUASHFS_MKFLAGS(noi, nod, check_data, nof, no_frag, always_frag, \
++ duplicate_checking) (noi | (nod << 1) | (check_data << 2) \
++ | (nof << 3) | (no_frag << 4) | (always_frag << 5) | \
++ (duplicate_checking << 6))
++
++/* Max number of types and file types */
++#define SQUASHFS_DIR_TYPE 1
++#define SQUASHFS_FILE_TYPE 2
++#define SQUASHFS_SYMLINK_TYPE 3
++#define SQUASHFS_BLKDEV_TYPE 4
++#define SQUASHFS_CHRDEV_TYPE 5
++#define SQUASHFS_FIFO_TYPE 6
++#define SQUASHFS_SOCKET_TYPE 7
++#define SQUASHFS_LDIR_TYPE 8
++#define SQUASHFS_LREG_TYPE 9
++
++/* 1.0 filesystem type definitions */
++#define SQUASHFS_TYPES 5
++#define SQUASHFS_IPC_TYPE 0
++
++/* Flag whether block is compressed or uncompressed, bit is set if block is
++ * uncompressed */
++#define SQUASHFS_COMPRESSED_BIT (1 << 15)
++
++#define SQUASHFS_COMPRESSED_SIZE(B) (((B) & ~SQUASHFS_COMPRESSED_BIT) ? \
++ (B) & ~SQUASHFS_COMPRESSED_BIT : SQUASHFS_COMPRESSED_BIT)
++
++#define SQUASHFS_COMPRESSED(B) (!((B) & SQUASHFS_COMPRESSED_BIT))
++
++#define SQUASHFS_COMPRESSED_BIT_BLOCK (1 << 24)
++
++#define SQUASHFS_COMPRESSED_SIZE_BLOCK(B) (((B) & \
++ ~SQUASHFS_COMPRESSED_BIT_BLOCK) ? (B) & \
++ ~SQUASHFS_COMPRESSED_BIT_BLOCK : SQUASHFS_COMPRESSED_BIT_BLOCK)
++
++#define SQUASHFS_COMPRESSED_BLOCK(B) (!((B) & SQUASHFS_COMPRESSED_BIT_BLOCK))
++
++/*
++ * Inode number ops. Inodes consist of a compressed block number, and an
++ * uncompressed offset within that block
++ */
++#define SQUASHFS_INODE_BLK(a) ((unsigned int) ((a) >> 16))
++
++#define SQUASHFS_INODE_OFFSET(a) ((unsigned int) ((a) & 0xffff))
++
++#define SQUASHFS_MKINODE(A, B) ((squashfs_inode_t)(((squashfs_inode_t) (A)\
++ << 16) + (B)))
++
++/* Compute 32 bit VFS inode number from squashfs inode number */
++#define SQUASHFS_MK_VFS_INODE(a, b) ((unsigned int) (((a) << 8) + \
++ ((b) >> 2) + 1))
++/* XXX */
++
++/* Translate between VFS mode and squashfs mode */
++#define SQUASHFS_MODE(a) ((a) & 0xfff)
++
++/* fragment and fragment table defines */
++#define SQUASHFS_FRAGMENT_BYTES(A) (A * sizeof(struct squashfs_fragment_entry))
++
++#define SQUASHFS_FRAGMENT_INDEX(A) (SQUASHFS_FRAGMENT_BYTES(A) / \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEX_OFFSET(A) (SQUASHFS_FRAGMENT_BYTES(A) % \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEXES(A) ((SQUASHFS_FRAGMENT_BYTES(A) + \
++ SQUASHFS_METADATA_SIZE - 1) / \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEX_BYTES(A) (SQUASHFS_FRAGMENT_INDEXES(A) *\
++ sizeof(long long))
++
++/* cached data constants for filesystem */
++#define SQUASHFS_CACHED_BLKS 8
++
++#define SQUASHFS_MAX_FILE_SIZE_LOG 64
++
++#define SQUASHFS_MAX_FILE_SIZE ((long long) 1 << \
++ (SQUASHFS_MAX_FILE_SIZE_LOG - 2))
++
++#define SQUASHFS_MARKER_BYTE 0xff
++
++/* meta index cache */
++#define SQUASHFS_META_INDEXES (SQUASHFS_METADATA_SIZE / sizeof(unsigned int))
++#define SQUASHFS_META_ENTRIES 31
++#define SQUASHFS_META_NUMBER 8
++#define SQUASHFS_SLOTS 4
++
++struct meta_entry {
++ long long data_block;
++ unsigned int index_block;
++ unsigned short offset;
++ unsigned short pad;
++};
++
++struct meta_index {
++ unsigned int inode_number;
++ unsigned int offset;
++ unsigned short entries;
++ unsigned short skip;
++ unsigned short locked;
++ unsigned short pad;
++ struct meta_entry meta_entry[SQUASHFS_META_ENTRIES];
++};
++
++
++/*
++ * definitions for structures on disk
++ */
++
++typedef long long squashfs_block_t;
++typedef long long squashfs_inode_t;
++
++struct squashfs_super_block {
++ unsigned int s_magic;
++ unsigned int inodes;
++ unsigned int bytes_used_2;
++ unsigned int uid_start_2;
++ unsigned int guid_start_2;
++ unsigned int inode_table_start_2;
++ unsigned int directory_table_start_2;
++ unsigned int s_major:16;
++ unsigned int s_minor:16;
++ unsigned int block_size_1:16;
++ unsigned int block_log:16;
++ unsigned int flags:8;
++ unsigned int no_uids:8;
++ unsigned int no_guids:8;
++ unsigned int mkfs_time /* time of filesystem creation */;
++ squashfs_inode_t root_inode;
++ unsigned int block_size;
++ unsigned int fragments;
++ unsigned int fragment_table_start_2;
++ long long bytes_used;
++ long long uid_start;
++ long long guid_start;
++ long long inode_table_start;
++ long long directory_table_start;
++ long long fragment_table_start;
++ long long unused;
++} __attribute__ ((packed));
++
++struct squashfs_dir_index {
++ unsigned int index;
++ unsigned int start_block;
++ unsigned char size;
++ unsigned char name[0];
++} __attribute__ ((packed));
++
++#define SQUASHFS_BASE_INODE_HEADER \
++ unsigned int inode_type:4; \
++ unsigned int mode:12; \
++ unsigned int uid:8; \
++ unsigned int guid:8; \
++ unsigned int mtime; \
++ unsigned int inode_number;
++
++struct squashfs_base_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++} __attribute__ ((packed));
++
++struct squashfs_ipc_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++} __attribute__ ((packed));
++
++struct squashfs_dev_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ unsigned short rdev;
++} __attribute__ ((packed));
++
++struct squashfs_symlink_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ unsigned short symlink_size;
++ char symlink[0];
++} __attribute__ ((packed));
++
++struct squashfs_reg_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ squashfs_block_t start_block;
++ unsigned int fragment;
++ unsigned int offset;
++ unsigned int file_size;
++ unsigned short block_list[0];
++} __attribute__ ((packed));
++
++struct squashfs_lreg_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ squashfs_block_t start_block;
++ unsigned int fragment;
++ unsigned int offset;
++ long long file_size;
++ unsigned short block_list[0];
++} __attribute__ ((packed));
++
++struct squashfs_dir_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ unsigned int file_size:19;
++ unsigned int offset:13;
++ unsigned int start_block;
++ unsigned int parent_inode;
++} __attribute__ ((packed));
++
++struct squashfs_ldir_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ unsigned int file_size:27;
++ unsigned int offset:13;
++ unsigned int start_block;
++ unsigned int i_count:16;
++ unsigned int parent_inode;
++ struct squashfs_dir_index index[0];
++} __attribute__ ((packed));
++
++union squashfs_inode_header {
++ struct squashfs_base_inode_header base;
++ struct squashfs_dev_inode_header dev;
++ struct squashfs_symlink_inode_header symlink;
++ struct squashfs_reg_inode_header reg;
++ struct squashfs_lreg_inode_header lreg;
++ struct squashfs_dir_inode_header dir;
++ struct squashfs_ldir_inode_header ldir;
++ struct squashfs_ipc_inode_header ipc;
++};
++
++struct squashfs_dir_entry {
++ unsigned int offset:13;
++ unsigned int type:3;
++ unsigned int size:8;
++ int inode_number:16;
++ char name[0];
++} __attribute__ ((packed));
++
++struct squashfs_dir_header {
++ unsigned int count:8;
++ unsigned int start_block;
++ unsigned int inode_number;
++} __attribute__ ((packed));
++
++struct squashfs_fragment_entry {
++ long long start_block;
++ unsigned int size;
++ unsigned int unused;
++} __attribute__ ((packed));
++
++extern int squashfs_uncompress_block(void *d, int dstlen, void *s, int srclen);
++extern int squashfs_uncompress_init(void);
++extern int squashfs_uncompress_exit(void);
++
++/*
++ * macros to convert each packed bitfield structure from little endian to big
++ * endian and vice versa. These are needed when creating or using a filesystem
++ * on a machine with different byte ordering to the target architecture.
++ *
++ */
++
++#define SQUASHFS_SWAP_START \
++ int bits;\
++ int b_pos;\
++ unsigned long long val;\
++ unsigned char *s;\
++ unsigned char *d;
++
++#define SQUASHFS_SWAP_SUPER_BLOCK(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_super_block));\
++ SQUASHFS_SWAP((s)->s_magic, d, 0, 32);\
++ SQUASHFS_SWAP((s)->inodes, d, 32, 32);\
++ SQUASHFS_SWAP((s)->bytes_used_2, d, 64, 32);\
++ SQUASHFS_SWAP((s)->uid_start_2, d, 96, 32);\
++ SQUASHFS_SWAP((s)->guid_start_2, d, 128, 32);\
++ SQUASHFS_SWAP((s)->inode_table_start_2, d, 160, 32);\
++ SQUASHFS_SWAP((s)->directory_table_start_2, d, 192, 32);\
++ SQUASHFS_SWAP((s)->s_major, d, 224, 16);\
++ SQUASHFS_SWAP((s)->s_minor, d, 240, 16);\
++ SQUASHFS_SWAP((s)->block_size_1, d, 256, 16);\
++ SQUASHFS_SWAP((s)->block_log, d, 272, 16);\
++ SQUASHFS_SWAP((s)->flags, d, 288, 8);\
++ SQUASHFS_SWAP((s)->no_uids, d, 296, 8);\
++ SQUASHFS_SWAP((s)->no_guids, d, 304, 8);\
++ SQUASHFS_SWAP((s)->mkfs_time, d, 312, 32);\
++ SQUASHFS_SWAP((s)->root_inode, d, 344, 64);\
++ SQUASHFS_SWAP((s)->block_size, d, 408, 32);\
++ SQUASHFS_SWAP((s)->fragments, d, 440, 32);\
++ SQUASHFS_SWAP((s)->fragment_table_start_2, d, 472, 32);\
++ SQUASHFS_SWAP((s)->bytes_used, d, 504, 64);\
++ SQUASHFS_SWAP((s)->uid_start, d, 568, 64);\
++ SQUASHFS_SWAP((s)->guid_start, d, 632, 64);\
++ SQUASHFS_SWAP((s)->inode_table_start, d, 696, 64);\
++ SQUASHFS_SWAP((s)->directory_table_start, d, 760, 64);\
++ SQUASHFS_SWAP((s)->fragment_table_start, d, 824, 64);\
++ SQUASHFS_SWAP((s)->unused, d, 888, 64);\
++}
++
++#define SQUASHFS_SWAP_BASE_INODE_CORE(s, d, n)\
++ SQUASHFS_MEMSET(s, d, n);\
++ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
++ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
++ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
++ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
++ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
++ SQUASHFS_SWAP((s)->inode_number, d, 64, 32);
++
++#define SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, n) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, n)\
++}
++
++#define SQUASHFS_SWAP_IPC_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_ipc_inode_header))\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++}
++
++#define SQUASHFS_SWAP_DEV_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_dev_inode_header)); \
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->rdev, d, 128, 16);\
++}
++
++#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_symlink_inode_header));\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->symlink_size, d, 128, 16);\
++}
++
++#define SQUASHFS_SWAP_REG_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_reg_inode_header));\
++ SQUASHFS_SWAP((s)->start_block, d, 96, 64);\
++ SQUASHFS_SWAP((s)->fragment, d, 160, 32);\
++ SQUASHFS_SWAP((s)->offset, d, 192, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 224, 32);\
++}
++
++#define SQUASHFS_SWAP_LREG_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_lreg_inode_header));\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 128, 64);\
++ SQUASHFS_SWAP((s)->fragment, d, 192, 32);\
++ SQUASHFS_SWAP((s)->offset, d, 224, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 256, 64);\
++}
++
++#define SQUASHFS_SWAP_DIR_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_dir_inode_header));\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 128, 19);\
++ SQUASHFS_SWAP((s)->offset, d, 147, 13);\
++ SQUASHFS_SWAP((s)->start_block, d, 160, 32);\
++ SQUASHFS_SWAP((s)->parent_inode, d, 192, 32);\
++}
++
++#define SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_ldir_inode_header));\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 128, 27);\
++ SQUASHFS_SWAP((s)->offset, d, 155, 13);\
++ SQUASHFS_SWAP((s)->start_block, d, 168, 32);\
++ SQUASHFS_SWAP((s)->i_count, d, 200, 16);\
++ SQUASHFS_SWAP((s)->parent_inode, d, 216, 32);\
++}
++
++#define SQUASHFS_SWAP_DIR_INDEX(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_index));\
++ SQUASHFS_SWAP((s)->index, d, 0, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 32, 32);\
++ SQUASHFS_SWAP((s)->size, d, 64, 8);\
++}
++
++#define SQUASHFS_SWAP_DIR_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_header));\
++ SQUASHFS_SWAP((s)->count, d, 0, 8);\
++ SQUASHFS_SWAP((s)->start_block, d, 8, 32);\
++ SQUASHFS_SWAP((s)->inode_number, d, 40, 32);\
++}
++
++#define SQUASHFS_SWAP_DIR_ENTRY(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_entry));\
++ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
++ SQUASHFS_SWAP((s)->type, d, 13, 3);\
++ SQUASHFS_SWAP((s)->size, d, 16, 8);\
++ SQUASHFS_SWAP((s)->inode_number, d, 24, 16);\
++}
++
++#define SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_fragment_entry));\
++ SQUASHFS_SWAP((s)->start_block, d, 0, 64);\
++ SQUASHFS_SWAP((s)->size, d, 64, 32);\
++}
++
++#define SQUASHFS_SWAP_SHORTS(s, d, n) {\
++ int entry;\
++ int bit_position;\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, n * 2);\
++ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
++ 16)\
++ SQUASHFS_SWAP(s[entry], d, bit_position, 16);\
++}
++
++#define SQUASHFS_SWAP_INTS(s, d, n) {\
++ int entry;\
++ int bit_position;\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, n * 4);\
++ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
++ 32)\
++ SQUASHFS_SWAP(s[entry], d, bit_position, 32);\
++}
++
++#define SQUASHFS_SWAP_LONG_LONGS(s, d, n) {\
++ int entry;\
++ int bit_position;\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, n * 8);\
++ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
++ 64)\
++ SQUASHFS_SWAP(s[entry], d, bit_position, 64);\
++}
++
++#define SQUASHFS_SWAP_DATA(s, d, n, bits) {\
++ int entry;\
++ int bit_position;\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, n * bits / 8);\
++ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
++ bits)\
++ SQUASHFS_SWAP(s[entry], d, bit_position, bits);\
++}
++
++#define SQUASHFS_SWAP_FRAGMENT_INDEXES(s, d, n) SQUASHFS_SWAP_LONG_LONGS(s, d, n)
++
++#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
++
++struct squashfs_base_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++} __attribute__ ((packed));
++
++struct squashfs_ipc_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned int type:4;
++ unsigned int offset:4;
++} __attribute__ ((packed));
++
++struct squashfs_dev_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned short rdev;
++} __attribute__ ((packed));
++
++struct squashfs_symlink_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned short symlink_size;
++ char symlink[0];
++} __attribute__ ((packed));
++
++struct squashfs_reg_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned int mtime;
++ unsigned int start_block;
++ unsigned int file_size:32;
++ unsigned short block_list[0];
++} __attribute__ ((packed));
++
++struct squashfs_dir_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned int file_size:19;
++ unsigned int offset:13;
++ unsigned int mtime;
++ unsigned int start_block:24;
++} __attribute__ ((packed));
++
++#define SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, n) \
++ SQUASHFS_MEMSET(s, d, n);\
++ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
++ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
++ SQUASHFS_SWAP((s)->uid, d, 16, 4);\
++ SQUASHFS_SWAP((s)->guid, d, 20, 4);
++
++#define SQUASHFS_SWAP_BASE_INODE_HEADER_1(s, d, n) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, n)\
++}
++
++#define SQUASHFS_SWAP_IPC_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_ipc_inode_header_1));\
++ SQUASHFS_SWAP((s)->type, d, 24, 4);\
++ SQUASHFS_SWAP((s)->offset, d, 28, 4);\
++}
++
++#define SQUASHFS_SWAP_DEV_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_dev_inode_header_1));\
++ SQUASHFS_SWAP((s)->rdev, d, 24, 16);\
++}
++
++#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_symlink_inode_header_1));\
++ SQUASHFS_SWAP((s)->symlink_size, d, 24, 16);\
++}
++
++#define SQUASHFS_SWAP_REG_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_reg_inode_header_1));\
++ SQUASHFS_SWAP((s)->mtime, d, 24, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 56, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 88, 32);\
++}
++
++#define SQUASHFS_SWAP_DIR_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_dir_inode_header_1));\
++ SQUASHFS_SWAP((s)->file_size, d, 24, 19);\
++ SQUASHFS_SWAP((s)->offset, d, 43, 13);\
++ SQUASHFS_SWAP((s)->mtime, d, 56, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 88, 24);\
++}
++
++#endif
++
++#ifdef CONFIG_SQUASHFS_2_0_COMPATIBILITY
++
++struct squashfs_dir_index_2 {
++ unsigned int index:27;
++ unsigned int start_block:29;
++ unsigned char size;
++ unsigned char name[0];
++} __attribute__ ((packed));
++
++struct squashfs_base_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++} __attribute__ ((packed));
++
++struct squashfs_ipc_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++} __attribute__ ((packed));
++
++struct squashfs_dev_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned short rdev;
++} __attribute__ ((packed));
++
++struct squashfs_symlink_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned short symlink_size;
++ char symlink[0];
++} __attribute__ ((packed));
++
++struct squashfs_reg_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned int mtime;
++ unsigned int start_block;
++ unsigned int fragment;
++ unsigned int offset;
++ unsigned int file_size:32;
++ unsigned short block_list[0];
++} __attribute__ ((packed));
++
++struct squashfs_dir_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned int file_size:19;
++ unsigned int offset:13;
++ unsigned int mtime;
++ unsigned int start_block:24;
++} __attribute__ ((packed));
++
++struct squashfs_ldir_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned int file_size:27;
++ unsigned int offset:13;
++ unsigned int mtime;
++ unsigned int start_block:24;
++ unsigned int i_count:16;
++ struct squashfs_dir_index_2 index[0];
++} __attribute__ ((packed));
++
++union squashfs_inode_header_2 {
++ struct squashfs_base_inode_header_2 base;
++ struct squashfs_dev_inode_header_2 dev;
++ struct squashfs_symlink_inode_header_2 symlink;
++ struct squashfs_reg_inode_header_2 reg;
++ struct squashfs_dir_inode_header_2 dir;
++ struct squashfs_ldir_inode_header_2 ldir;
++ struct squashfs_ipc_inode_header_2 ipc;
++};
++
++struct squashfs_dir_header_2 {
++ unsigned int count:8;
++ unsigned int start_block:24;
++} __attribute__ ((packed));
++
++struct squashfs_dir_entry_2 {
++ unsigned int offset:13;
++ unsigned int type:3;
++ unsigned int size:8;
++ char name[0];
++} __attribute__ ((packed));
++
++struct squashfs_fragment_entry_2 {
++ unsigned int start_block;
++ unsigned int size;
++} __attribute__ ((packed));
++
++#define SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, n)\
++ SQUASHFS_MEMSET(s, d, n);\
++ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
++ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
++ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
++ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
++
++#define SQUASHFS_SWAP_BASE_INODE_HEADER_2(s, d, n) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, n)\
++}
++
++#define SQUASHFS_SWAP_IPC_INODE_HEADER_2(s, d) \
++ SQUASHFS_SWAP_BASE_INODE_HEADER_2(s, d, sizeof(struct squashfs_ipc_inode_header_2))
++
++#define SQUASHFS_SWAP_DEV_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_dev_inode_header_2)); \
++ SQUASHFS_SWAP((s)->rdev, d, 32, 16);\
++}
++
++#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_symlink_inode_header_2));\
++ SQUASHFS_SWAP((s)->symlink_size, d, 32, 16);\
++}
++
++#define SQUASHFS_SWAP_REG_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_reg_inode_header_2));\
++ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 64, 32);\
++ SQUASHFS_SWAP((s)->fragment, d, 96, 32);\
++ SQUASHFS_SWAP((s)->offset, d, 128, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 160, 32);\
++}
++
++#define SQUASHFS_SWAP_DIR_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_dir_inode_header_2));\
++ SQUASHFS_SWAP((s)->file_size, d, 32, 19);\
++ SQUASHFS_SWAP((s)->offset, d, 51, 13);\
++ SQUASHFS_SWAP((s)->mtime, d, 64, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 96, 24);\
++}
++
++#define SQUASHFS_SWAP_LDIR_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_ldir_inode_header_2));\
++ SQUASHFS_SWAP((s)->file_size, d, 32, 27);\
++ SQUASHFS_SWAP((s)->offset, d, 59, 13);\
++ SQUASHFS_SWAP((s)->mtime, d, 72, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 104, 24);\
++ SQUASHFS_SWAP((s)->i_count, d, 128, 16);\
++}
++
++#define SQUASHFS_SWAP_DIR_INDEX_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_index_2));\
++ SQUASHFS_SWAP((s)->index, d, 0, 27);\
++ SQUASHFS_SWAP((s)->start_block, d, 27, 29);\
++ SQUASHFS_SWAP((s)->size, d, 56, 8);\
++}
++#define SQUASHFS_SWAP_DIR_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_header_2));\
++ SQUASHFS_SWAP((s)->count, d, 0, 8);\
++ SQUASHFS_SWAP((s)->start_block, d, 8, 24);\
++}
++
++#define SQUASHFS_SWAP_DIR_ENTRY_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_entry_2));\
++ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
++ SQUASHFS_SWAP((s)->type, d, 13, 3);\
++ SQUASHFS_SWAP((s)->size, d, 16, 8);\
++}
++
++#define SQUASHFS_SWAP_FRAGMENT_ENTRY_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_fragment_entry_2));\
++ SQUASHFS_SWAP((s)->start_block, d, 0, 32);\
++ SQUASHFS_SWAP((s)->size, d, 32, 32);\
++}
++
++#define SQUASHFS_SWAP_FRAGMENT_INDEXES_2(s, d, n) SQUASHFS_SWAP_INTS(s, d, n)
++
++/* fragment and fragment table defines */
++#define SQUASHFS_FRAGMENT_BYTES_2(A) (A * sizeof(struct squashfs_fragment_entry_2))
++
++#define SQUASHFS_FRAGMENT_INDEX_2(A) (SQUASHFS_FRAGMENT_BYTES_2(A) / \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEX_OFFSET_2(A) (SQUASHFS_FRAGMENT_BYTES_2(A) % \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEXES_2(A) ((SQUASHFS_FRAGMENT_BYTES_2(A) + \
++ SQUASHFS_METADATA_SIZE - 1) / \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEX_BYTES_2(A) (SQUASHFS_FRAGMENT_INDEXES_2(A) *\
++ sizeof(int))
++
++#endif
++
++#ifdef __KERNEL__
++
++/*
++ * macros used to swap each structure entry, taking into account
++ * bitfields and different bitfield placing conventions on differing
++ * architectures
++ */
++
++#include <asm/byteorder.h>
++
++#ifdef __BIG_ENDIAN
++ /* convert from little endian to big endian */
++#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, \
++ tbits, b_pos)
++#else
++ /* convert from big endian to little endian */
++#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, \
++ tbits, 64 - tbits - b_pos)
++#endif
++
++#define _SQUASHFS_SWAP(value, p, pos, tbits, SHIFT) {\
++ b_pos = pos % 8;\
++ val = 0;\
++ s = (unsigned char *)p + (pos / 8);\
++ d = ((unsigned char *) &val) + 7;\
++ for(bits = 0; bits < (tbits + b_pos); bits += 8) \
++ *d-- = *s++;\
++ value = (val >> (SHIFT))/* & ((1 << tbits) - 1)*/;\
++}
++
++#define SQUASHFS_MEMSET(s, d, n) memset(s, 0, n);
++
++#endif
++#endif
+diff --new-file -urp linux-2.6.15/include/linux/squashfs_fs_i.h linux-2.6.15-squashfs3.0/include/linux/squashfs_fs_i.h
+--- linux-2.6.15/include/linux/squashfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/include/linux/squashfs_fs_i.h 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,45 @@
++#ifndef SQUASHFS_FS_I
++#define SQUASHFS_FS_I
++/*
++ * Squashfs
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs_fs_i.h
++ */
++
++struct squashfs_inode_info {
++ long long start_block;
++ unsigned int offset;
++ union {
++ struct {
++ long long fragment_start_block;
++ unsigned int fragment_size;
++ unsigned int fragment_offset;
++ long long block_list_start;
++ } s1;
++ struct {
++ long long directory_index_start;
++ unsigned int directory_index_offset;
++ unsigned int directory_index_count;
++ unsigned int parent_inode;
++ } s2;
++ } u;
++ struct inode vfs_inode;
++};
++#endif
+diff --new-file -urp linux-2.6.15/include/linux/squashfs_fs_sb.h linux-2.6.15-squashfs3.0/include/linux/squashfs_fs_sb.h
+--- linux-2.6.15/include/linux/squashfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/include/linux/squashfs_fs_sb.h 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,74 @@
++#ifndef SQUASHFS_FS_SB
++#define SQUASHFS_FS_SB
++/*
++ * Squashfs
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs_fs_sb.h
++ */
++
++#include <linux/squashfs_fs.h>
++
++struct squashfs_cache {
++ long long block;
++ int length;
++ long long next_index;
++ char *data;
++};
++
++struct squashfs_fragment_cache {
++ long long block;
++ int length;
++ unsigned int locked;
++ char *data;
++};
++
++struct squashfs_sb_info {
++ struct squashfs_super_block sblk;
++ int devblksize;
++ int devblksize_log2;
++ int swap;
++ struct squashfs_cache *block_cache;
++ struct squashfs_fragment_cache *fragment;
++ int next_cache;
++ int next_fragment;
++ int next_meta_index;
++ unsigned int *uid;
++ unsigned int *guid;
++ long long *fragment_index;
++ unsigned int *fragment_index_2;
++ unsigned int read_size;
++ char *read_data;
++ char *read_page;
++ struct semaphore read_data_mutex;
++ struct semaphore read_page_mutex;
++ struct semaphore block_cache_mutex;
++ struct semaphore fragment_mutex;
++ struct semaphore meta_index_mutex;
++ wait_queue_head_t waitq;
++ wait_queue_head_t fragment_wait_queue;
++ struct meta_index *meta_index;
++ struct inode *(*iget)(struct super_block *s, squashfs_inode_t \
++ inode);
++ long long (*read_blocklist)(struct inode *inode, int \
++ index, int readahead_blks, char *block_list, \
++ unsigned short **block_p, unsigned int *bsize);
++ int (*read_fragment_index_table)(struct super_block *s);
++};
++#endif
+diff --new-file -urp linux-2.6.15/init/do_mounts_rd.c linux-2.6.15-squashfs3.0/init/do_mounts_rd.c
+--- linux-2.6.15/init/do_mounts_rd.c 2006-03-01 22:37:27.000000000 +0000
++++ linux-2.6.15-squashfs3.0/init/do_mounts_rd.c 2006-03-07 21:12:37.000000000 +0000
+@@ -5,6 +5,7 @@
+ #include <linux/ext2_fs.h>
+ #include <linux/romfs_fs.h>
+ #include <linux/cramfs_fs.h>
++#include <linux/squashfs_fs.h>
+ #include <linux/initrd.h>
+ #include <linux/string.h>
+
+@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
+ * numbers could not be found.
+ *
+ * We currently check for the following magic numbers:
++ * squashfs
+ * minix
+ * ext2
+ * romfs
+@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
+ struct ext2_super_block *ext2sb;
+ struct romfs_super_block *romfsb;
+ struct cramfs_super *cramfsb;
++ struct squashfs_super_block *squashfsb;
+ int nblocks = -1;
+ unsigned char *buf;
+
+@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
+ ext2sb = (struct ext2_super_block *) buf;
+ romfsb = (struct romfs_super_block *) buf;
+ cramfsb = (struct cramfs_super *) buf;
++ squashfsb = (struct squashfs_super_block *) buf;
+ memset(buf, 0xe5, size);
+
+ /*
+@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
+ goto done;
+ }
+
++ /* squashfs is at block zero too */
++ if (squashfsb->s_magic == SQUASHFS_MAGIC) {
++ printk(KERN_NOTICE
++ "RAMDISK: squashfs filesystem found at block %d\n",
++ start_block);
++ nblocks = (squashfsb->bytes_used+BLOCK_SIZE-1)>>BLOCK_SIZE_BITS;
++ goto done;
++ }
++
+ /*
+ * Read block 1 to test for minix and ext2 superblock
+ */
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/00-hostap.patch b/meta/packages/linux/linux-openzaurus-2.6.17/00-hostap.patch
new file mode 100644
index 0000000000..20432b404a
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/00-hostap.patch
@@ -0,0 +1,45 @@
+Platform: Sharp Zaurus C760 running 2.6.16 and pcmciautils 013.
+
+root@c7x0:~# pccardctl ident
+Socket 0:
+ product info: "Pretec", "CompactWLAN Card 802.11b", "2.5"
+ manfid: 0x0156, 0x0002
+ function: 6 (network)
+
+==========================================================================
+From: Jochen Friedrich
+
+Yet another card known to work OK with hostap_cs:
+
+# pccardctl ident
+Socket 0:
+ no product info available
+Socket 1:
+ product info: "U.S. Robotics", "IEEE 802.11b PC-CARD", "Version 01.02", ""
+ manfid: 0x0156, 0x0002
+ function: 6 (network)
+
+==========================================================================
+
+Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+ drivers/net/wireless/hostap/hostap_cs.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+Index: linux/drivers/net/wireless/hostap/hostap_cs.c
+===================================================================
+--- linux.orig/drivers/net/wireless/hostap/hostap_cs.c 2006-05-17 10:23:00.000000000 +0200
++++ linux/drivers/net/wireless/hostap/hostap_cs.c 2006-05-17 10:25:45.000000000 +0200
+@@ -923,6 +923,12 @@
+ PCMCIA_DEVICE_PROD_ID12(
+ "ZoomAir 11Mbps High", "Rate wireless Networking",
+ 0x273fe3db, 0x32a1eaee),
++ PCMCIA_DEVICE_PROD_ID123(
++ "Pretec", "CompactWLAN Card 802.11b", "2.5",
++ 0x1cadd3e5, 0xe697636c, 0x7a5bfcf1),
++ PCMCIA_DEVICE_PROD_ID123(
++ "U.S. Robotics", "IEEE 802.11b PC-CARD", "Version 01.02",
++ 0xc7b8df9d, 0x1700d087, 0x4b74baa0),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, hostap_cs_ids);
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/10-pcnet.patch b/meta/packages/linux/linux-openzaurus-2.6.17/10-pcnet.patch
new file mode 100644
index 0000000000..2e1966e837
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/10-pcnet.patch
@@ -0,0 +1,27 @@
+
+From: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+Add TRENDnet TE-CF100 ethernet adapter to pcnet_cs list.
+
+product info: "Fast Ethernet", "CF Size PC Card", "1.0", ""
+ manfid: 0x0149, 0xc1ab
+
+Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+ drivers/net/pcmcia/pcnet_cs.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: netdev-2.6/drivers/net/pcmcia/pcnet_cs.c
+===================================================================
+--- netdev-2.6.orig/drivers/net/pcmcia/pcnet_cs.c 2006-05-18 11:06:43.294022480 +0200
++++ netdev-2.6/drivers/net/pcmcia/pcnet_cs.c 2006-05-18 11:10:31.548322552 +0200
+@@ -1768,6 +1768,8 @@
+ PCMCIA_DEVICE_CIS_PROD_ID12("NDC", "Ethernet", 0x01c43ae1, 0x00b2e941, "NE2K.cis"),
+ PCMCIA_DEVICE_CIS_PROD_ID12("PMX ", "PE-200", 0x34f3f1c8, 0x10b59f8c, "PE-200.cis"),
+ PCMCIA_DEVICE_CIS_PROD_ID12("TAMARACK", "Ethernet", 0xcf434fba, 0x00b2e941, "tamarack.cis"),
++ PCMCIA_DEVICE_PROD_ID123("Fast Ethernet", "CF Size PC Card", "1.0",
++ 0xb4be14e3, 0x43ac239b, 0x0877b627),
+ PCMCIA_DEVICE_NULL
+ };
+ MODULE_DEVICE_TABLE(pcmcia, pcnet_ids);
+
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/add-oz-release-string.patch b/meta/packages/linux/linux-openzaurus-2.6.17/add-oz-release-string.patch
new file mode 100644
index 0000000000..22a6fd3943
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/add-oz-release-string.patch
@@ -0,0 +1,24 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- linux-2.6.11-rc1/init/version.c~add-oz-release-string
++++ linux-2.6.11-rc1/init/version.c
+@@ -29,5 +29,5 @@
+ EXPORT_SYMBOL(system_utsname);
+
+ const char linux_banner[] =
+- "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
++ "Linux version " UTS_RELEASE OPENZAURUS_RELEASE " (" LINUX_COMPILE_BY "@"
+ LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n";
+--- linux-2.6.11-rc1/Makefile~add-oz-release-string
++++ linux-2.6.11-rc1/Makefile
+@@ -827,6 +827,7 @@
+ exit 1; \
+ fi; \
+ (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \
++ echo \#define OPENZAURUS_RELEASE \"$(OPENZAURUS_RELEASE)\"; \
+ echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \
+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
+ )
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/connectplus-remove-ide-HACK.patch b/meta/packages/linux/linux-openzaurus-2.6.17/connectplus-remove-ide-HACK.patch
new file mode 100644
index 0000000000..4414b21191
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/connectplus-remove-ide-HACK.patch
@@ -0,0 +1,12 @@
+Index: linux-2.6.13/drivers/ide/legacy/ide-cs.c
+===================================================================
+--- linux-2.6.13.orig/drivers/ide/legacy/ide-cs.c 2005-09-01 22:43:46.000000000 +0100
++++ linux-2.6.13/drivers/ide/legacy/ide-cs.c 2005-09-01 22:45:46.000000000 +0100
+@@ -488,7 +488,6 @@
+ PCMCIA_DEVICE_PROD_ID123("KODAK Picture Card ", "KODAK ", "V100K", 0x94a0d8f3, 0xe4fc3ea0, 0xe5e7eed4),
+ PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209),
+ PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e),
+- PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6),
+ PCMCIA_DEVICE_NULL,
+ };
+ MODULE_DEVICE_TABLE(pcmcia, ide_ids);
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-akita b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-akita
new file mode 100644
index 0000000000..967371c661
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-akita
@@ -0,0 +1,1565 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16
+# Thu Mar 23 22:11:12 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+# CONFIG_PXA_SHARPSL_25x is not set
+CONFIG_PXA_SHARPSL_27x=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_SPITZ=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PXA27x=y
+# CONFIG_PXA_KEYS is not set
+CONFIG_IWMMXT=y
+CONFIG_PXA_SHARP_Cxx00=y
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_SHARPSL=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+CONFIG_KEYBOARD_SPITZ=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_SPITZ=y
+# CONFIG_LEDS_TOSA is not set
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_W100 is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+CONFIG_BACKLIGHT_CORGI=y
+# CONFIG_BACKLIGHT_HP680 is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_DETECT is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_AC97_BUS=m
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=m
+
+#
+# Soc Platforms
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2xx_SOC=m
+CONFIG_SND_PXA2xx_SOC_I2S=m
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
+# CONFIG_SND_PXA2xx_SOC_CORGI is not set
+CONFIG_SND_PXA2xx_SOC_SPITZ=m
+# CONFIG_SND_PXA2xx_SOC_TOSA is not set
+
+#
+# Soc Codecs
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_WM8731 is not set
+CONFIG_SND_SOC_WM8750=m
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8772 is not set
+# CONFIG_SND_SOC_WM8971 is not set
+# CONFIG_SND_SOC_WM9713 is not set
+# CONFIG_SND_SOC_WM9712 is not set
+# CONFIG_SND_SOC_UDA1380 is not set
+# CONFIG_SND_SOC_AK4535 is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DETECT_SOFTLOCKUP is not set
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-c7x0 b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-c7x0
new file mode 100644
index 0000000000..602e69ee34
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-c7x0
@@ -0,0 +1,1601 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16
+# Mon May 22 09:00:01 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+CONFIG_PXA_SHARPSL_25x=y
+# CONFIG_PXA_SHARPSL_27x is not set
+# CONFIG_MACH_POODLE is not set
+CONFIG_MACH_CORGI=y
+CONFIG_MACH_SHEPHERD=y
+CONFIG_MACH_HUSKY=y
+# CONFIG_MACH_TOSA is not set
+CONFIG_PXA25x=y
+# CONFIG_PXA_KEYS is not set
+CONFIG_PXA_SHARP_C7xx=y
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_DEBUG=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_PXA25x=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_SHARPSL=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_KEYBOARD_CORGI=y
+# CONFIG_KEYBOARD_SPITZ is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_CORGI=y
+# CONFIG_LEDS_TOSA is not set
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_VIDEO_AUDIO_DECODER is not set
+# CONFIG_VIDEO_DECODER is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_PXA is not set
+CONFIG_FB_W100=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CORGI=y
+# CONFIG_BACKLIGHT_HP680 is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_DETECT is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_AC97_BUS=m
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=m
+
+#
+# Soc Platforms
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2xx_SOC=m
+CONFIG_SND_PXA2xx_SOC_I2S=m
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
+CONFIG_SND_PXA2xx_SOC_CORGI=m
+# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
+# CONFIG_SND_PXA2xx_SOC_TOSA is not set
+
+#
+# Soc Codecs
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+CONFIG_SND_SOC_WM8731=m
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8772 is not set
+# CONFIG_SND_SOC_WM8971 is not set
+# CONFIG_SND_SOC_WM9713 is not set
+# CONFIG_SND_SOC_WM9712 is not set
+# CONFIG_SND_SOC_UDA1380 is not set
+# CONFIG_SND_SOC_AK4535 is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_DSBR=m
+# CONFIG_USB_ET61X251 is not set
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_PWC is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+CONFIG_USB_GADGET_PXA2XX=y
+CONFIG_USB_PXA2XX=y
+# CONFIG_USB_PXA2XX_SMALL is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-collie b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-collie
new file mode 100644
index 0000000000..20ec01ff21
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-collie
@@ -0,0 +1,1147 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17-rc1
+# Wed Apr 19 21:01:15 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_DOUBLEFAULT=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+CONFIG_ARCH_SA1100=y
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# SA11x0 Implementations
+#
+# CONFIG_SA1100_ASSABET is not set
+# CONFIG_SA1100_CERF is not set
+CONFIG_SA1100_COLLIE=y
+# CONFIG_SA1100_H3100 is not set
+# CONFIG_SA1100_H3600 is not set
+# CONFIG_SA1100_H3800 is not set
+# CONFIG_SA1100_BADGE4 is not set
+# CONFIG_SA1100_JORNADA720 is not set
+# CONFIG_SA1100_HACKKIT is not set
+# CONFIG_SA1100_LART is not set
+# CONFIG_SA1100_PLEB is not set
+# CONFIG_SA1100_SHANNON is not set
+# CONFIG_SA1100_SIMPAD is not set
+# CONFIG_SA1100_SSP is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_SA1100=y
+CONFIG_CPU_32v4=y
+CONFIG_CPU_ABRT_EV4=y
+CONFIG_CPU_CACHE_V4WB=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WB=y
+
+#
+# Processor Features
+#
+CONFIG_KEXEC=y
+CONFIG_SHARP_LOCOMO=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+CONFIG_ISA=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+# CONFIG_I82365 is not set
+# CONFIG_TCIC is not set
+CONFIG_PCMCIA_SA1100=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
+CONFIG_NODES_SHIFT=2
+CONFIG_SELECT_MEMORY_MODEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_DISCONTIGMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_NEED_MULTIPLE_NODES=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 mem=32M fbcon=rotate:1 dyntick=enable debug"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+CONFIG_MTD_OBSOLETE_CHIPS=y
+CONFIG_MTD_SHARP=y
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+# CONFIG_PNP is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=1024
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+CONFIG_ATA_OVER_ETH=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+# CONFIG_NET_PCI is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_ARLAN is not set
+# CONFIG_WAVELAN is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_TSDEV=y
+CONFIG_INPUT_TSDEV_SCREEN_X=240
+CONFIG_INPUT_TSDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=y
+# CONFIG_INPUT_POWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_SA1100=y
+CONFIG_SERIAL_SA1100_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=m
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=m
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ELEKTOR is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+# CONFIG_MCP_SA11X0 is not set
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_LOCOMO=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_PMS is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+
+#
+# Encoders and Decoders
+#
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_CX25840 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_CADET is not set
+# CONFIG_RADIO_RTRACK is not set
+# CONFIG_RADIO_RTRACK2 is not set
+# CONFIG_RADIO_AZTECH is not set
+# CONFIG_RADIO_GEMTEK is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_RADIO_SF16FMI is not set
+# CONFIG_RADIO_SF16FMR2 is not set
+# CONFIG_RADIO_TERRATEC is not set
+# CONFIG_RADIO_TRUST is not set
+# CONFIG_RADIO_TYPHOON is not set
+# CONFIG_RADIO_ZOLTRIX is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_SA1100=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_LOCOMO=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+CONFIG_ROMFS_FS=y
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-ipaq-pxa270 b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-ipaq-pxa270
new file mode 100644
index 0000000000..cb7cce7bdd
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-ipaq-pxa270
@@ -0,0 +1,1021 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.15-rc1-git7
+# Sat Nov 19 23:13:51 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+# CONFIG_CLEAN_COMPILE is not set
+CONFIG_BROKEN=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+# CONFIG_SWAP is not set
+# CONFIG_SYSVIPC is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_PXA_SHARPSL is not set
+CONFIG_MACH_HX2750=y
+CONFIG_PXA27x=y
+CONFIG_PXA_KEYS=y
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+# CONFIG_IEEE80211_CRYPT_CCMP is not set
+# CONFIG_IEEE80211_CRYPT_TKIP is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_AIRO is not set
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_POWER is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_TSC2101=y
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_SA1100_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+CONFIG_MFD_TSC2101=y
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+CONFIG_BACKLIGHT_HX2750=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+# CONFIG_MMC_WBSD is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_JBD is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+# CONFIG_TMPFS is not set
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_MAGIC_SYSRQ is not set
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-poodle b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-poodle
new file mode 100644
index 0000000000..a909387adc
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-poodle
@@ -0,0 +1,1549 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17-rc1
+# Wed Apr 19 21:04:42 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_DOUBLEFAULT=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+CONFIG_PXA_SHARPSL_25x=y
+# CONFIG_PXA_SHARPSL_27x is not set
+CONFIG_MACH_POODLE=y
+# CONFIG_MACH_CORGI is not set
+# CONFIG_MACH_SHEPHERD is not set
+# CONFIG_MACH_HUSKY is not set
+# CONFIG_MACH_TOSA is not set
+CONFIG_PXA25x=y
+# CONFIG_PXA_KEYS is not set
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_LOCOMO=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2 mem=32M fbcon=rotate:1 dyntick=enable debug"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_DEBUG=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_PXA25x=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+# CONFIG_IP_NF_H323 is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_SHARPSL=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_LOCOMO=y
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+# CONFIG_KEYBOARD_SPITZ is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_LOCOMO=y
+# CONFIG_LEDS_TOSA is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+
+#
+# Encoders and Decoders
+#
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_CX25840 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+
+#
+# V4L USB devices
+#
+# CONFIG_VIDEO_EM28XX is not set
+CONFIG_USB_DSBR=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+# CONFIG_USB_ET61X251 is not set
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_ZC0301 is not set
+# CONFIG_USB_PWC is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+CONFIG_USB_DABUSB=m
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_FIRMWARE_EDID=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_W100 is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+CONFIG_FONT_MINI_4x6=y
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_DEVICE=y
+# CONFIG_BACKLIGHT_CORGI is not set
+CONFIG_BACKLIGHT_LOCOMO=y
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+# CONFIG_USB_SERIAL_NAVMAN is not set
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+CONFIG_USB_GADGET_PXA2XX=y
+CONFIG_USB_PXA2XX=y
+# CONFIG_USB_PXA2XX_SMALL is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-qemuarm b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-qemuarm
new file mode 100644
index 0000000000..a12c7f4302
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-qemuarm
@@ -0,0 +1,934 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.15
+# Thu Feb 23 16:29:38 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+CONFIG_ARCH_INTEGRATOR=y
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+
+#
+# Integrator Options
+#
+# CONFIG_ARCH_INTEGRATOR_AP is not set
+CONFIG_ARCH_INTEGRATOR_CP=y
+CONFIG_ARCH_CINTEGRATOR=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+# CONFIG_CPU_ARM720T is not set
+# CONFIG_CPU_ARM920T is not set
+# CONFIG_CPU_ARM922T is not set
+CONFIG_CPU_ARM926T=y
+# CONFIG_CPU_ARM1020 is not set
+# CONFIG_CPU_ARM1022 is not set
+CONFIG_CPU_ARM1026=y
+# CONFIG_CPU_V6 is not set
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+CONFIG_ICST525=y
+
+#
+# Bus support
+#
+CONFIG_ARM_AMBA=y
+CONFIG_ISA_DMA_API=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_LEDS=y
+CONFIG_LEDS_TIMER=y
+CONFIG_LEDS_CPU=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyAMA0 console=tty1 user_debug=31"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_INTEGRATOR=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+CONFIG_VFP=y
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_AFS_PARTS=y
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_GEOMETRY is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_SMC91X=y
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_POWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+CONFIG_FB_ARMCLCD=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_JBD is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=y
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+# CONFIG_NFSD_V4 is not set
+# CONFIG_NFSD_TCP is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=y
+# CONFIG_SMB_NLS_DEFAULT is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+# CONFIG_NLS_CODEPAGE_437 is not set
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-spitz b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-spitz
new file mode 100644
index 0000000000..ddb8a8aeae
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-spitz
@@ -0,0 +1,1565 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16
+# Thu Mar 23 22:11:12 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+# CONFIG_PXA_SHARPSL_25x is not set
+CONFIG_PXA_SHARPSL_27x=y
+CONFIG_MACH_AKITA=y
+CONFIG_MACH_SPITZ=y
+CONFIG_MACH_BORZOI=y
+CONFIG_PXA27x=y
+# CONFIG_PXA_KEYS is not set
+CONFIG_IWMMXT=y
+CONFIG_PXA_SHARP_Cxx00=y
+CONFIG_PXA_SSP=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
+CONFIG_SHARP_SCOOP=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_SHARPSL=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+CONFIG_KEYBOARD_SPITZ=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_CORGI=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_SPITZ=y
+# CONFIG_LEDS_TOSA is not set
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_PARAMETERS is not set
+# CONFIG_FB_W100 is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_LCD_DEVICE=y
+CONFIG_BACKLIGHT_CORGI=y
+# CONFIG_BACKLIGHT_HP680 is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_SEQUENCER_OSS is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_DETECT is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_AC97_BUS=m
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# PCMCIA devices
+#
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=m
+
+#
+# Soc Platforms
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2xx_SOC=m
+CONFIG_SND_PXA2xx_SOC_I2S=m
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
+# CONFIG_SND_PXA2xx_SOC_CORGI is not set
+CONFIG_SND_PXA2xx_SOC_SPITZ=m
+# CONFIG_SND_PXA2xx_SOC_TOSA is not set
+
+#
+# Soc Codecs
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_WM8731 is not set
+CONFIG_SND_SOC_WM8750=m
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8772 is not set
+# CONFIG_SND_SOC_WM8971 is not set
+# CONFIG_SND_SOC_WM9713 is not set
+# CONFIG_SND_SOC_WM9712 is not set
+# CONFIG_SND_SOC_UDA1380 is not set
+# CONFIG_SND_SOC_AK4535 is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=m
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_FS_XATTR is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+CONFIG_PROFILING=y
+CONFIG_OPROFILE=m
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DETECT_SOFTLOCKUP is not set
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-tosa b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-tosa
new file mode 100644
index 0000000000..4302f47e15
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/defconfig-tosa
@@ -0,0 +1,1601 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.16-rc5-git5
+# Tue Mar 14 09:05:26 2006
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=m
+CONFIG_IOSCHED_CFQ=m
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+CONFIG_PXA_SHARPSL=y
+# CONFIG_MACH_HX2750 is not set
+CONFIG_PXA_SHARPSL_25x=y
+# CONFIG_PXA_SHARPSL_27x is not set
+# CONFIG_MACH_POODLE is not set
+# CONFIG_MACH_CORGI is not set
+# CONFIG_MACH_SHEPHERD is not set
+# CONFIG_MACH_HUSKY is not set
+CONFIG_MACH_TOSA=y
+CONFIG_PXA25x=y
+# CONFIG_PXA_KEYS is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+CONFIG_SHARP_PARAM=y
+CONFIG_SHARPSL_PM=y
+CONFIG_SHARP_SCOOP=y
+CONFIG_TOSHIBA_TC6393XB=y
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+
+#
+# PC-card bridges
+#
+CONFIG_PCMCIA_PXA2XX=y
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+CONFIG_NO_IDLE_HZ=y
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_PXA25x=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_LEGACY is not set
+# CONFIG_PM_DEBUG is not set
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+CONFIG_XFRM_USER=m
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+# CONFIG_NETFILTER_XTABLES is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+# CONFIG_IRTTY_SIR is not set
+
+#
+# Dongle support
+#
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+# CONFIG_USB_IRDA is not set
+# CONFIG_SIGMATEL_FIR is not set
+CONFIG_PXA_FICP=m
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+# CONFIG_BT_HCIUSB_SCO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_ROM=y
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_SHARP_SL=y
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_TMIO=y
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_SHARPSL is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+# CONFIG_BLK_DEV_RAM is not set
+CONFIG_BLK_DEV_RAM_COUNT=16
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+CONFIG_BLK_DEV_IDECS=y
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+# CONFIG_IDE_GENERIC is not set
+# CONFIG_IDE_ARM is not set
+# CONFIG_BLK_DEV_IDEDMA is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=m
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=m
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+CONFIG_HERMES=m
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_CS=m
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+CONFIG_PCMCIA_PCNET=m
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+CONFIG_INPUT_POWER=y
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_CORGI is not set
+# CONFIG_KEYBOARD_SPITZ is not set
+CONFIG_KEYBOARD_TOSA=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_CORGI is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_WM97XX=y
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+CONFIG_TOUCHSCREEN_WM9712=y
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+# CONFIG_TOUCHSCREEN_WM97XX_PXA is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=m
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multi-Function Devices
+#
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TOSA=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_IDE_DISK=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_OVCAMCHIP is not set
+# CONFIG_VIDEO_AUDIO_DECODER is not set
+# CONFIG_VIDEO_DECODER is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_PXA is not set
+# CONFIG_FB_W100 is not set
+CONFIG_FB_TMIO=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CORGI=y
+# CONFIG_BACKLIGHT_HP680 is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_BUS=y
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+# CONFIG_SND_PXA2XX_AC97 is not set
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+
+#
+# PCMCIA devices
+#
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=y
+
+#
+# Soc Platforms
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2xx_SOC=y
+CONFIG_SND_PXA2xx_SOC_AC97=y
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM8753 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9713 is not set
+# CONFIG_SND_PXA2xx_SOC_MAINSTONE_WM9712 is not set
+# CONFIG_SND_PXA2xx_SOC_CORGI is not set
+# CONFIG_SND_PXA2xx_SOC_SPITZ is not set
+CONFIG_SND_PXA2xx_SOC_TOSA=y
+
+#
+# Soc Codecs
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_WM8731 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8772 is not set
+# CONFIG_SND_SOC_WM8971 is not set
+# CONFIG_SND_SOC_WM9713 is not set
+CONFIG_SND_SOC_WM9712=y
+# CONFIG_SND_SOC_UDA1380 is not set
+# CONFIG_SND_SOC_AK4535 is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SL811_HCD=m
+CONFIG_USB_SL811_CS=m
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+CONFIG_USB_MOUSE=m
+CONFIG_USB_AIPTEK=m
+CONFIG_USB_WACOM=m
+# CONFIG_USB_ACECAD is not set
+CONFIG_USB_KBTAB=m
+CONFIG_USB_POWERMATE=m
+CONFIG_USB_MTOUCH=m
+# CONFIG_USB_ITMTOUCH is not set
+CONFIG_USB_EGALAX=m
+# CONFIG_USB_YEALINK is not set
+CONFIG_USB_XPAD=m
+CONFIG_USB_ATI_REMOTE=m
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+
+#
+# USB Multimedia devices
+#
+CONFIG_USB_DABUSB=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_DSBR=m
+# CONFIG_USB_ET61X251 is not set
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_PWC is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_ZD1201 is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+# CONFIG_USB_SERIAL_KEYSPAN_MPR is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QW is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA19QI is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
+# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_AUERSWALD=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETSERVO=m
+CONFIG_USB_IDMOUSE=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+CONFIG_USB_GADGET_PXA2XX=y
+CONFIG_USB_PXA2XX=y
+# CONFIG_USB_PXA2XX_SMALL is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+CONFIG_USB_ZERO=m
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+CONFIG_FUSE_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp437"
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="cp437"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_FORCED_INLINING is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_WAITQ is not set
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_TGR192 is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_GENERIC_ALLOCATOR=y
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/hrw-pcmcia-ids-r2.patch b/meta/packages/linux/linux-openzaurus-2.6.17/hrw-pcmcia-ids-r2.patch
new file mode 100644
index 0000000000..6f77d51dee
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/hrw-pcmcia-ids-r2.patch
@@ -0,0 +1,42 @@
+
+The ident for Seagate 8GB microdrive is
+"SEAGATE", "ST1"
+hash 0x76dc4190, 0xcfba9599
+manfid 0x0111, 0x0000
+
+CF card:
+ product info: "SAMSUNG", "04/05/06", "", ""
+ manfid : 0x0000, 0x0000
+ function 4 (fixed disk)
+
+
+Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+ drivers/ide/legacy/ide-cs.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+Index: linux-2.6.16/drivers/ide/legacy/ide-cs.c
+===================================================================
+--- linux-2.6.16.orig/drivers/ide/legacy/ide-cs.c 2006-04-20 12:41:41.000000000 +0200
++++ linux-2.6.16/drivers/ide/legacy/ide-cs.c 2006-04-20 12:45:19.640621552 +0200
+@@ -444,6 +444,8 @@
+ PCMCIA_DEVICE_PROD_ID12("PCMCIA", "CD-ROM", 0x281f1c5d, 0x66536591),
+ PCMCIA_DEVICE_PROD_ID12("PCMCIA", "PnPIDE", 0x281f1c5d, 0x0c694728),
+ PCMCIA_DEVICE_PROD_ID12("SHUTTLE TECHNOLOGY LTD.", "PCCARD-IDE/ATAPI Adapter", 0x4a3f0ba0, 0x322560e1),
++ PCMCIA_DEVICE_PROD_ID12("SEAGATE", "ST1", 0x87c1b330, 0xe1f30883), /* Seagate 8GB microdrive */
++ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "04/05/06", 0x43d74cb4, 0x6a22777d),
+ PCMCIA_DEVICE_PROD_ID12("TOSHIBA", "MK2001MPL", 0xb4585a1a, 0x3489e003),
+ PCMCIA_DEVICE_PROD_ID1("TRANSCEND 512M ", 0xd0909443),
+ PCMCIA_DEVICE_PROD_ID12("WIT", "IDE16", 0x244e5994, 0x3e232852),
+
+
+-------------------------------------------------------------------------
+With pcmcia-cs -> pcmciautils change some cards which was working with
+hostap driver now are bound into orinoco driver.
+
+This patch made them bound into hostap like it was before.
+
+Signed-off-by: Marcin Juszkiewicz <openembedded@hrw.one.pl>
+
+// will add some here
+
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/pxa-serial-hack.patch b/meta/packages/linux/linux-openzaurus-2.6.17/pxa-serial-hack.patch
new file mode 100644
index 0000000000..b3a7f786ea
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/pxa-serial-hack.patch
@@ -0,0 +1,73 @@
+Index: linux-2.6.14/drivers/serial/8250.c
+===================================================================
+--- linux-2.6.14.orig/drivers/serial/8250.c 2005-11-07 18:10:50.000000000 +0000
++++ linux-2.6.14/drivers/serial/8250.c 2005-11-07 19:01:21.000000000 +0000
+@@ -2333,7 +2333,12 @@
+ .devfs_name = "tts/",
+ .dev_name = "ttyS",
+ .major = TTY_MAJOR,
++#ifdef CONFIG_SERIAL_PXA
++ .minor = 64 + 3,
++ .name_base = 3,
++#else
+ .minor = 64,
++#endif
+ .nr = UART_NR,
+ .cons = SERIAL8250_CONSOLE,
+ };
+Index: linux-2.6.14/drivers/serial/serial_core.c
+===================================================================
+--- linux-2.6.14.orig/drivers/serial/serial_core.c 2005-11-07 18:10:50.000000000 +0000
++++ linux-2.6.14/drivers/serial/serial_core.c 2005-11-07 19:01:21.000000000 +0000
+@@ -2126,6 +2126,7 @@
+ normal->driver_name = drv->driver_name;
+ normal->devfs_name = drv->devfs_name;
+ normal->name = drv->dev_name;
++ normal->name_base = drv->name_base;
+ normal->major = drv->major;
+ normal->minor_start = drv->minor;
+ normal->type = TTY_DRIVER_TYPE_SERIAL;
+Index: linux-2.6.14/include/linux/serial_core.h
+===================================================================
+--- linux-2.6.14.orig/include/linux/serial_core.h 2005-11-07 18:10:56.000000000 +0000
++++ linux-2.6.14/include/linux/serial_core.h 2005-11-07 19:01:21.000000000 +0000
+@@ -322,6 +322,7 @@
+ const char *driver_name;
+ const char *dev_name;
+ const char *devfs_name;
++ int name_base;
+ int major;
+ int minor;
+ int nr;
+Index: linux-2.6.14/drivers/serial/serial_cs.c
+===================================================================
+--- linux-2.6.14.orig/drivers/serial/serial_cs.c 2005-10-28 01:02:08.000000000 +0100
++++ linux-2.6.14/drivers/serial/serial_cs.c 2005-11-07 19:01:21.000000000 +0000
+@@ -294,7 +294,7 @@
+ kio_addr_t iobase, int irq)
+ {
+ struct uart_port port;
+- int line;
++ int line, linestart;
+
+ memset(&port, 0, sizeof (struct uart_port));
+ port.iobase = iobase;
+@@ -311,10 +311,16 @@
+ return -EINVAL;
+ }
+
++#if CONFIG_SERIAL_PXA
++ linestart = 3;
++#else
++ linestart = 0;
++#endif
++
+ info->line[info->ndev] = line;
+- sprintf(info->node[info->ndev].dev_name, "ttyS%d", line);
++ sprintf(info->node[info->ndev].dev_name, "ttyS%d", line+linestart);
+ info->node[info->ndev].major = TTY_MAJOR;
+- info->node[info->ndev].minor = 0x40 + line;
++ info->node[info->ndev].minor = 0x40 + line + linestart;
+ if (info->ndev > 0)
+ info->node[info->ndev - 1].next = &info->node[info->ndev];
+ info->ndev++;
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch b/meta/packages/linux/linux-openzaurus-2.6.17/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
new file mode 100644
index 0000000000..18bf4268fc
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/serial-add-support-for-non-standard-xtals-to-16c950-driver.patch
@@ -0,0 +1,155 @@
+
+From: Petr Vandrovec <vandrove@vc.cvut.cz>
+
+Patch below adds support for using different prescaler than 16 for 16c950
+chips. This is needed for using Fujitsu-Siemens Connect2Air compact-flash
+card, which comes (apparently) with 806kHz clocks, and so you have to
+program prescaler for division by 7, and DLAB to 1, to get 115200Bd.
+
+To get card properly running you also have to add lines below to
+/etc/pcmcia/serial.opts so kernel knows that base speed is not 115200 but
+50400 (50400 * 16 = 806400; 806400 / 7 = 115200). As I've found no code
+specifying baud_rate in serial_cs, I assume that specifying it in
+serial.opts is right way to do this type of things.
+
+Patch also fixes problem that for UPF_MAGIC_MULTIPLIER maximum possible
+baud rate passed to uart code was uartclk / 16 while correct value for
+these devices (and for 16c950) is uartclk / 4.
+
+Patch also fixes problem that for UPF_MAGIC_MULTIPLIER devices with
+baud_rate 19200 or 9600 spd_cust did not work correctly. Not that such
+devices exist, but we should not ignore spd_cust, user probably knows why
+he asked for spd_cust.
+
+serial.opts:
+
+case "$MANFID-$FUNCID-$PRODID_1-$PRODID_2-$PRODID_3-$PRODID_4" in
+'0279,950b-2-GPRS Modem---')
+ SERIAL_OPTS="baud_base 50400"
+ ;;
+esac
+
+Cc: David Woodhouse <dwmw2@infradead.org>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+---
+
+ drivers/serial/8250.c | 82 +++++++++++++++++++++++++++++++++++++++-----------
+ 1 files changed, 64 insertions(+), 18 deletions(-)
+
+diff -puN drivers/serial/8250.c~serial-add-support-for-non-standard-xtals-to-16c950-driver drivers/serial/8250.c
+--- devel/drivers/serial/8250.c~serial-add-support-for-non-standard-xtals-to-16c950-driver 2005-09-12 03:34:57.000000000 -0700
++++ devel-akpm/drivers/serial/8250.c 2005-09-12 03:34:57.000000000 -0700
+@@ -1653,24 +1653,58 @@ static void serial8250_shutdown(struct u
+ serial_unlink_irq_chain(up);
+ }
+
+-static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud)
++static unsigned int serial8250_get_divisor(struct uart_port *port, unsigned int baud,
++ unsigned int *prescaler)
+ {
+- unsigned int quot;
+-
+- /*
+- * Handle magic divisors for baud rates above baud_base on
+- * SMSC SuperIO chips.
++ /*
++ * Use special handling only if user did not supply its own divider.
++ * spd_cust is defined in terms of baud_base, so always use default
++ * prescaler when spd_cust is requested.
+ */
+- if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
+- baud == (port->uartclk/4))
+- quot = 0x8001;
+- else if ((port->flags & UPF_MAGIC_MULTIPLIER) &&
+- baud == (port->uartclk/8))
+- quot = 0x8002;
+- else
+- quot = uart_get_divisor(port, baud);
+
+- return quot;
++ *prescaler = 16;
++ if (baud != 38400 || (port->flags & UPF_SPD_MASK) != UPF_SPD_CUST) {
++ unsigned int quot = port->uartclk / baud;
++
++ /*
++ * Handle magic divisors for baud rates above baud_base on
++ * SMSC SuperIO chips.
++ */
++ if (port->flags & UPF_MAGIC_MULTIPLIER) {
++ if (quot == 4) {
++ return 0x8001;
++ } else if (quot == 8) {
++ return 0x8002;
++ }
++ }
++ if (port->type == PORT_16C950) {
++ /*
++ * This computes TCR value (4 to 16), not CPR value (which can
++ * be between 1.000 and 31.875) - chip I have uses XTAL of
++ * 806400Hz, and so a division by 7 is required to get 115200Bd.
++ * I'm leaving CPR disabled for now, until someone will
++ * hit even more exotic XTAL (it is needed to get 500kbps
++ * or 1000kbps from 18.432MHz XTAL, but I have no device
++ * which would benefit from doing that).
++ *
++ * If we can use divide by 16, use it. Otherwise look for
++ * better prescaler, from 15 to 4. If quotient cannot
++ * be divided by any integer value between 4 and 15, use 4.
++ */
++ if (quot & 0x0F) {
++ unsigned int div;
++
++ for (div = 15; div > 4; div--) {
++ if (quot % div == 0) {
++ break;
++ }
++ }
++ *prescaler = div;
++ return quot / div;
++ }
++ }
++ }
++ return uart_get_divisor(port, baud);
+ }
+
+ static void
+@@ -1680,7 +1714,7 @@ serial8250_set_termios(struct uart_port
+ struct uart_8250_port *up = (struct uart_8250_port *)port;
+ unsigned char cval, fcr = 0;
+ unsigned long flags;
+- unsigned int baud, quot;
++ unsigned int baud, quot, prescaler;
+
+ switch (termios->c_cflag & CSIZE) {
+ case CS5:
+@@ -1712,8 +1746,13 @@ serial8250_set_termios(struct uart_port
+ /*
+ * Ask the core to calculate the divisor for us.
+ */
+- baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
+- quot = serial8250_get_divisor(port, baud);
++
++ if (port->type == PORT_16C950 || (port->flags & UPF_MAGIC_MULTIPLIER)) {
++ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/4);
++ } else {
++ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
++ }
++ quot = serial8250_get_divisor(port, baud, &prescaler);
+
+ /*
+ * Oxford Semi 952 rev B workaround
+@@ -1817,6 +1856,13 @@ serial8250_set_termios(struct uart_port
+ serial_outp(up, UART_DLM, quot >> 8); /* MS of divisor */
+
+ /*
++ * Program prescaler for 16C950 chips.
++ */
++ if (up->port.type == PORT_16C950) {
++ serial_icr_write(up, UART_TCR, prescaler == 16 ? 0 : prescaler);
++ }
++
++ /*
+ * LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR
+ * is written without DLAB set, this mode will be disabled.
+ */
+_
diff --git a/meta/packages/linux/linux-openzaurus-2.6.17/squashfs3.0-2.6.15.patch b/meta/packages/linux/linux-openzaurus-2.6.17/squashfs3.0-2.6.15.patch
new file mode 100644
index 0000000000..f88dbbae8e
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus-2.6.17/squashfs3.0-2.6.15.patch
@@ -0,0 +1,4173 @@
+diff --new-file -urp linux-2.6.15/fs/Kconfig linux-2.6.15-squashfs3.0/fs/Kconfig
+--- linux-2.6.15/fs/Kconfig 2006-03-01 22:37:27.000000000 +0000
++++ linux-2.6.15-squashfs3.0/fs/Kconfig 2006-03-07 21:12:37.000000000 +0000
+@@ -1151,6 +1151,71 @@ config CRAMFS
+
+ If unsure, say N.
+
++config SQUASHFS
++ tristate "SquashFS 3.0 - Squashed file system support"
++ select ZLIB_INFLATE
++ help
++ Saying Y here includes support for SquashFS 3.0 (a Compressed Read-Only File
++ System). Squashfs is a highly compressed read-only filesystem for Linux.
++ It uses zlib compression to compress both files, inodes and directories.
++ Inodes in the system are very small and all blocks are packed to minimise
++ data overhead. Block sizes greater than 4K are supported up to a maximum of 64K.
++ SquashFS 3.0 supports 64 bit filesystems and files (larger than 4GB), full
++ uid/gid information, hard links and timestamps.
++
++ Squashfs is intended for general read-only filesystem use, for archival
++ use (i.e. in cases where a .tar.gz file may be used), and in embedded
++ systems where low overhead is needed. Further information and filesystem tools
++ are available from http://squashfs.sourceforge.net.
++
++ If you want to compile this as a module ( = code which can be
++ inserted in and removed from the running kernel whenever you want),
++ say M here and read <file:Documentation/modules.txt>. The module
++ will be called squashfs. Note that the root file system (the one
++ containing the directory /) cannot be compiled as a module.
++
++ If unsure, say N.
++
++config SQUASHFS_EMBEDDED
++
++ bool "Additional options for memory-constrained systems"
++ depends on SQUASHFS
++ default n
++ help
++ Saying Y here allows you to specify cache sizes and how Squashfs
++ allocates memory. This is only intended for memory constrained
++ systems.
++
++ If unsure, say N.
++
++config SQUASHFS_FRAGMENT_CACHE_SIZE
++ int "Number of fragments cached" if SQUASHFS_EMBEDDED
++ depends on SQUASHFS
++ default "3"
++ help
++ By default SquashFS caches the last 3 fragments read from
++ the filesystem. Increasing this amount may mean SquashFS
++ has to re-read fragments less often from disk, at the expense
++ of extra system memory. Decreasing this amount will mean
++ SquashFS uses less memory at the expense of extra reads from disk.
++
++ Note there must be at least one cached fragment. Anything
++ much more than three will probably not make much difference.
++
++config SQUASHFS_VMALLOC
++ bool "Use Vmalloc rather than Kmalloc" if SQUASHFS_EMBEDDED
++ depends on SQUASHFS
++ default n
++ help
++ By default SquashFS uses kmalloc to obtain fragment cache memory.
++ Kmalloc memory is the standard kernel allocator, but it can fail
++ on memory constrained systems. Because of the way Vmalloc works,
++ Vmalloc can succeed when kmalloc fails. Specifying this option
++ will make SquashFS always use Vmalloc to allocate the
++ fragment cache memory.
++
++ If unsure, say N.
++
+ config VXFS_FS
+ tristate "FreeVxFS file system support (VERITAS VxFS(TM) compatible)"
+ help
+diff --new-file -urp linux-2.6.15/fs/Makefile linux-2.6.15-squashfs3.0/fs/Makefile
+--- linux-2.6.15/fs/Makefile 2006-03-01 22:37:27.000000000 +0000
++++ linux-2.6.15-squashfs3.0/fs/Makefile 2006-03-07 21:12:37.000000000 +0000
+@@ -55,6 +55,7 @@ obj-$(CONFIG_EXT3_FS) += ext3/ # Before
+ obj-$(CONFIG_JBD) += jbd/
+ obj-$(CONFIG_EXT2_FS) += ext2/
+ obj-$(CONFIG_CRAMFS) += cramfs/
++obj-$(CONFIG_SQUASHFS) += squashfs/
+ obj-$(CONFIG_RAMFS) += ramfs/
+ obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
+ obj-$(CONFIG_CODA_FS) += coda/
+diff --new-file -urp linux-2.6.15/fs/squashfs/inode.c linux-2.6.15-squashfs3.0/fs/squashfs/inode.c
+--- linux-2.6.15/fs/squashfs/inode.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/fs/squashfs/inode.c 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,2127 @@
++/*
++ * Squashfs - a compressed read only filesystem for Linux
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * inode.c
++ */
++
++#include <linux/types.h>
++#include <linux/squashfs_fs.h>
++#include <linux/module.h>
++#include <linux/errno.h>
++#include <linux/slab.h>
++#include <linux/fs.h>
++#include <linux/smp_lock.h>
++#include <linux/slab.h>
++#include <linux/squashfs_fs_sb.h>
++#include <linux/squashfs_fs_i.h>
++#include <linux/buffer_head.h>
++#include <linux/vfs.h>
++#include <linux/init.h>
++#include <linux/dcache.h>
++#include <linux/wait.h>
++#include <linux/zlib.h>
++#include <linux/blkdev.h>
++#include <linux/vmalloc.h>
++#include <asm/uaccess.h>
++#include <asm/semaphore.h>
++
++#include "squashfs.h"
++
++static void squashfs_put_super(struct super_block *);
++static int squashfs_statfs(struct super_block *, struct kstatfs *);
++static int squashfs_symlink_readpage(struct file *file, struct page *page);
++static int squashfs_readpage(struct file *file, struct page *page);
++static int squashfs_readpage4K(struct file *file, struct page *page);
++static int squashfs_readdir(struct file *, void *, filldir_t);
++static struct inode *squashfs_alloc_inode(struct super_block *sb);
++static void squashfs_destroy_inode(struct inode *inode);
++static int init_inodecache(void);
++static void destroy_inodecache(void);
++static struct dentry *squashfs_lookup(struct inode *, struct dentry *,
++ struct nameidata *);
++static struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode);
++static long long read_blocklist(struct inode *inode, int index,
++ int readahead_blks, char *block_list,
++ unsigned short **block_p, unsigned int *bsize);
++static struct super_block *squashfs_get_sb(struct file_system_type *, int,
++ const char *, void *);
++
++
++static z_stream stream;
++
++static struct file_system_type squashfs_fs_type = {
++ .owner = THIS_MODULE,
++ .name = "squashfs",
++ .get_sb = squashfs_get_sb,
++ .kill_sb = kill_block_super,
++ .fs_flags = FS_REQUIRES_DEV
++};
++
++static unsigned char squashfs_filetype_table[] = {
++ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
++};
++
++static struct super_operations squashfs_ops = {
++ .alloc_inode = squashfs_alloc_inode,
++ .destroy_inode = squashfs_destroy_inode,
++ .statfs = squashfs_statfs,
++ .put_super = squashfs_put_super,
++};
++
++SQSH_EXTERN struct address_space_operations squashfs_symlink_aops = {
++ .readpage = squashfs_symlink_readpage
++};
++
++SQSH_EXTERN struct address_space_operations squashfs_aops = {
++ .readpage = squashfs_readpage
++};
++
++SQSH_EXTERN struct address_space_operations squashfs_aops_4K = {
++ .readpage = squashfs_readpage4K
++};
++
++static struct file_operations squashfs_dir_ops = {
++ .read = generic_read_dir,
++ .readdir = squashfs_readdir
++};
++
++SQSH_EXTERN struct inode_operations squashfs_dir_inode_ops = {
++ .lookup = squashfs_lookup
++};
++
++
++static struct buffer_head *get_block_length(struct super_block *s,
++ int *cur_index, int *offset, int *c_byte)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ unsigned short temp;
++ struct buffer_head *bh;
++
++ if (!(bh = sb_bread(s, *cur_index)))
++ goto out;
++
++ if (msblk->devblksize - *offset == 1) {
++ if (msblk->swap)
++ ((unsigned char *) &temp)[1] = *((unsigned char *)
++ (bh->b_data + *offset));
++ else
++ ((unsigned char *) &temp)[0] = *((unsigned char *)
++ (bh->b_data + *offset));
++ brelse(bh);
++ if (!(bh = sb_bread(s, ++(*cur_index))))
++ goto out;
++ if (msblk->swap)
++ ((unsigned char *) &temp)[0] = *((unsigned char *)
++ bh->b_data);
++ else
++ ((unsigned char *) &temp)[1] = *((unsigned char *)
++ bh->b_data);
++ *c_byte = temp;
++ *offset = 1;
++ } else {
++ if (msblk->swap) {
++ ((unsigned char *) &temp)[1] = *((unsigned char *)
++ (bh->b_data + *offset));
++ ((unsigned char *) &temp)[0] = *((unsigned char *)
++ (bh->b_data + *offset + 1));
++ } else {
++ ((unsigned char *) &temp)[0] = *((unsigned char *)
++ (bh->b_data + *offset));
++ ((unsigned char *) &temp)[1] = *((unsigned char *)
++ (bh->b_data + *offset + 1));
++ }
++ *c_byte = temp;
++ *offset += 2;
++ }
++
++ if (SQUASHFS_CHECK_DATA(msblk->sblk.flags)) {
++ if (*offset == msblk->devblksize) {
++ brelse(bh);
++ if (!(bh = sb_bread(s, ++(*cur_index))))
++ goto out;
++ *offset = 0;
++ }
++ if (*((unsigned char *) (bh->b_data + *offset)) !=
++ SQUASHFS_MARKER_BYTE) {
++ ERROR("Metadata block marker corrupt @ %x\n",
++ *cur_index);
++ brelse(bh);
++ goto out;
++ }
++ (*offset)++;
++ }
++ return bh;
++
++out:
++ return NULL;
++}
++
++
++SQSH_EXTERN unsigned int squashfs_read_data(struct super_block *s, char *buffer,
++ long long index, unsigned int length,
++ long long *next_index)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct buffer_head *bh[((SQUASHFS_FILE_MAX_SIZE - 1) >>
++ msblk->devblksize_log2) + 2];
++ unsigned int offset = index & ((1 << msblk->devblksize_log2) - 1);
++ unsigned int cur_index = index >> msblk->devblksize_log2;
++ int bytes, avail_bytes, b = 0, k;
++ char *c_buffer;
++ unsigned int compressed;
++ unsigned int c_byte = length;
++
++ if (c_byte) {
++ bytes = msblk->devblksize - offset;
++ compressed = SQUASHFS_COMPRESSED_BLOCK(c_byte);
++ c_buffer = compressed ? msblk->read_data : buffer;
++ c_byte = SQUASHFS_COMPRESSED_SIZE_BLOCK(c_byte);
++
++ TRACE("Block @ 0x%llx, %scompressed size %d\n", index, compressed
++ ? "" : "un", (unsigned int) c_byte);
++
++ if (!(bh[0] = sb_getblk(s, cur_index)))
++ goto block_release;
++
++ for (b = 1; bytes < c_byte; b++) {
++ if (!(bh[b] = sb_getblk(s, ++cur_index)))
++ goto block_release;
++ bytes += msblk->devblksize;
++ }
++ ll_rw_block(READ, b, bh);
++ } else {
++ if (!(bh[0] = get_block_length(s, &cur_index, &offset,
++ &c_byte)))
++ goto read_failure;
++
++ bytes = msblk->devblksize - offset;
++ compressed = SQUASHFS_COMPRESSED(c_byte);
++ c_buffer = compressed ? msblk->read_data : buffer;
++ c_byte = SQUASHFS_COMPRESSED_SIZE(c_byte);
++
++ TRACE("Block @ 0x%llx, %scompressed size %d\n", index, compressed
++ ? "" : "un", (unsigned int) c_byte);
++
++ for (b = 1; bytes < c_byte; b++) {
++ if (!(bh[b] = sb_getblk(s, ++cur_index)))
++ goto block_release;
++ bytes += msblk->devblksize;
++ }
++ ll_rw_block(READ, b - 1, bh + 1);
++ }
++
++ if (compressed)
++ down(&msblk->read_data_mutex);
++
++ for (bytes = 0, k = 0; k < b; k++) {
++ avail_bytes = (c_byte - bytes) > (msblk->devblksize - offset) ?
++ msblk->devblksize - offset :
++ c_byte - bytes;
++ wait_on_buffer(bh[k]);
++ if (!buffer_uptodate(bh[k]))
++ goto block_release;
++ memcpy(c_buffer + bytes, bh[k]->b_data + offset, avail_bytes);
++ bytes += avail_bytes;
++ offset = 0;
++ brelse(bh[k]);
++ }
++
++ /*
++ * uncompress block
++ */
++ if (compressed) {
++ int zlib_err;
++
++ stream.next_in = c_buffer;
++ stream.avail_in = c_byte;
++ stream.next_out = buffer;
++ stream.avail_out = msblk->read_size;
++
++ if (((zlib_err = zlib_inflateInit(&stream)) != Z_OK) ||
++ ((zlib_err = zlib_inflate(&stream, Z_FINISH))
++ != Z_STREAM_END) || ((zlib_err =
++ zlib_inflateEnd(&stream)) != Z_OK)) {
++ ERROR("zlib_fs returned unexpected result 0x%x\n",
++ zlib_err);
++ bytes = 0;
++ } else
++ bytes = stream.total_out;
++
++ up(&msblk->read_data_mutex);
++ }
++
++ if (next_index)
++ *next_index = index + c_byte + (length ? 0 :
++ (SQUASHFS_CHECK_DATA(msblk->sblk.flags)
++ ? 3 : 2));
++ return bytes;
++
++block_release:
++ while (--b >= 0)
++ brelse(bh[b]);
++
++read_failure:
++ ERROR("sb_bread failed reading block 0x%x\n", cur_index);
++ return 0;
++}
++
++
++SQSH_EXTERN int squashfs_get_cached_block(struct super_block *s, char *buffer,
++ long long block, unsigned int offset,
++ int length, long long *next_block,
++ unsigned int *next_offset)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ int n, i, bytes, return_length = length;
++ long long next_index;
++
++ TRACE("Entered squashfs_get_cached_block [%llx:%x]\n", block, offset);
++
++ while ( 1 ) {
++ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
++ if (msblk->block_cache[i].block == block)
++ break;
++
++ down(&msblk->block_cache_mutex);
++
++ if (i == SQUASHFS_CACHED_BLKS) {
++ /* read inode header block */
++ for (i = msblk->next_cache, n = SQUASHFS_CACHED_BLKS;
++ n ; n --, i = (i + 1) %
++ SQUASHFS_CACHED_BLKS)
++ if (msblk->block_cache[i].block !=
++ SQUASHFS_USED_BLK)
++ break;
++
++ if (n == 0) {
++ wait_queue_t wait;
++
++ init_waitqueue_entry(&wait, current);
++ add_wait_queue(&msblk->waitq, &wait);
++ set_current_state(TASK_UNINTERRUPTIBLE);
++ up(&msblk->block_cache_mutex);
++ schedule();
++ set_current_state(TASK_RUNNING);
++ remove_wait_queue(&msblk->waitq, &wait);
++ continue;
++ }
++ msblk->next_cache = (i + 1) % SQUASHFS_CACHED_BLKS;
++
++ if (msblk->block_cache[i].block ==
++ SQUASHFS_INVALID_BLK) {
++ if (!(msblk->block_cache[i].data =
++ kmalloc(SQUASHFS_METADATA_SIZE,
++ GFP_KERNEL))) {
++ ERROR("Failed to allocate cache"
++ "block\n");
++ up(&msblk->block_cache_mutex);
++ goto out;
++ }
++ }
++
++ msblk->block_cache[i].block = SQUASHFS_USED_BLK;
++ up(&msblk->block_cache_mutex);
++
++ if (!(msblk->block_cache[i].length =
++ squashfs_read_data(s,
++ msblk->block_cache[i].data,
++ block, 0, &next_index))) {
++ ERROR("Unable to read cache block [%llx:%x]\n",
++ block, offset);
++ goto out;
++ }
++
++ down(&msblk->block_cache_mutex);
++ wake_up(&msblk->waitq);
++ msblk->block_cache[i].block = block;
++ msblk->block_cache[i].next_index = next_index;
++ TRACE("Read cache block [%llx:%x]\n", block, offset);
++ }
++
++ if (msblk->block_cache[i].block != block) {
++ up(&msblk->block_cache_mutex);
++ continue;
++ }
++
++ if ((bytes = msblk->block_cache[i].length - offset) >= length) {
++ if (buffer)
++ memcpy(buffer, msblk->block_cache[i].data +
++ offset, length);
++ if (msblk->block_cache[i].length - offset == length) {
++ *next_block = msblk->block_cache[i].next_index;
++ *next_offset = 0;
++ } else {
++ *next_block = block;
++ *next_offset = offset + length;
++ }
++ up(&msblk->block_cache_mutex);
++ goto finish;
++ } else {
++ if (buffer) {
++ memcpy(buffer, msblk->block_cache[i].data +
++ offset, bytes);
++ buffer += bytes;
++ }
++ block = msblk->block_cache[i].next_index;
++ up(&msblk->block_cache_mutex);
++ length -= bytes;
++ offset = 0;
++ }
++ }
++
++finish:
++ return return_length;
++out:
++ return 0;
++}
++
++
++static int get_fragment_location(struct super_block *s, unsigned int fragment,
++ long long *fragment_start_block,
++ unsigned int *fragment_size)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ long long start_block =
++ msblk->fragment_index[SQUASHFS_FRAGMENT_INDEX(fragment)];
++ int offset = SQUASHFS_FRAGMENT_INDEX_OFFSET(fragment);
++ struct squashfs_fragment_entry fragment_entry;
++
++ if (msblk->swap) {
++ struct squashfs_fragment_entry sfragment_entry;
++
++ if (!squashfs_get_cached_block(s, (char *) &sfragment_entry,
++ start_block, offset,
++ sizeof(sfragment_entry), &start_block,
++ &offset))
++ goto out;
++ SQUASHFS_SWAP_FRAGMENT_ENTRY(&fragment_entry, &sfragment_entry);
++ } else
++ if (!squashfs_get_cached_block(s, (char *) &fragment_entry,
++ start_block, offset,
++ sizeof(fragment_entry), &start_block,
++ &offset))
++ goto out;
++
++ *fragment_start_block = fragment_entry.start_block;
++ *fragment_size = fragment_entry.size;
++
++ return 1;
++
++out:
++ return 0;
++}
++
++
++SQSH_EXTERN void release_cached_fragment(struct squashfs_sb_info *msblk, struct
++ squashfs_fragment_cache *fragment)
++{
++ down(&msblk->fragment_mutex);
++ fragment->locked --;
++ wake_up(&msblk->fragment_wait_queue);
++ up(&msblk->fragment_mutex);
++}
++
++
++SQSH_EXTERN struct squashfs_fragment_cache *get_cached_fragment(struct super_block
++ *s, long long start_block,
++ int length)
++{
++ int i, n;
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++
++ while ( 1 ) {
++ down(&msblk->fragment_mutex);
++
++ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS &&
++ msblk->fragment[i].block != start_block; i++);
++
++ if (i == SQUASHFS_CACHED_FRAGMENTS) {
++ for (i = msblk->next_fragment, n =
++ SQUASHFS_CACHED_FRAGMENTS; n &&
++ msblk->fragment[i].locked; n--, i = (i + 1) %
++ SQUASHFS_CACHED_FRAGMENTS);
++
++ if (n == 0) {
++ wait_queue_t wait;
++
++ init_waitqueue_entry(&wait, current);
++ add_wait_queue(&msblk->fragment_wait_queue,
++ &wait);
++ set_current_state(TASK_UNINTERRUPTIBLE);
++ up(&msblk->fragment_mutex);
++ schedule();
++ set_current_state(TASK_RUNNING);
++ remove_wait_queue(&msblk->fragment_wait_queue,
++ &wait);
++ continue;
++ }
++ msblk->next_fragment = (msblk->next_fragment + 1) %
++ SQUASHFS_CACHED_FRAGMENTS;
++
++ if (msblk->fragment[i].data == NULL)
++ if (!(msblk->fragment[i].data = SQUASHFS_ALLOC
++ (SQUASHFS_FILE_MAX_SIZE))) {
++ ERROR("Failed to allocate fragment "
++ "cache block\n");
++ up(&msblk->fragment_mutex);
++ goto out;
++ }
++
++ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
++ msblk->fragment[i].locked = 1;
++ up(&msblk->fragment_mutex);
++
++ if (!(msblk->fragment[i].length = squashfs_read_data(s,
++ msblk->fragment[i].data,
++ start_block, length, NULL))) {
++ ERROR("Unable to read fragment cache block "
++ "[%llx]\n", start_block);
++ msblk->fragment[i].locked = 0;
++ goto out;
++ }
++
++ msblk->fragment[i].block = start_block;
++ TRACE("New fragment %d, start block %lld, locked %d\n",
++ i, msblk->fragment[i].block,
++ msblk->fragment[i].locked);
++ break;
++ }
++
++ msblk->fragment[i].locked++;
++ up(&msblk->fragment_mutex);
++ TRACE("Got fragment %d, start block %lld, locked %d\n", i,
++ msblk->fragment[i].block,
++ msblk->fragment[i].locked);
++ break;
++ }
++
++ return &msblk->fragment[i];
++
++out:
++ return NULL;
++}
++
++
++static struct inode *squashfs_new_inode(struct super_block *s,
++ struct squashfs_base_inode_header *inodeb)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct inode *i = new_inode(s);
++
++ if (i) {
++ i->i_ino = inodeb->inode_number;
++ i->i_mtime.tv_sec = inodeb->mtime;
++ i->i_atime.tv_sec = inodeb->mtime;
++ i->i_ctime.tv_sec = inodeb->mtime;
++ i->i_uid = msblk->uid[inodeb->uid];
++ i->i_mode = inodeb->mode;
++ i->i_size = 0;
++ if (inodeb->guid == SQUASHFS_GUIDS)
++ i->i_gid = i->i_uid;
++ else
++ i->i_gid = msblk->guid[inodeb->guid];
++ }
++
++ return i;
++}
++
++
++static struct inode *squashfs_iget(struct super_block *s, squashfs_inode_t inode)
++{
++ struct inode *i;
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long block = SQUASHFS_INODE_BLK(inode) +
++ sblk->inode_table_start;
++ unsigned int offset = SQUASHFS_INODE_OFFSET(inode);
++ long long next_block;
++ unsigned int next_offset;
++ union squashfs_inode_header id, sid;
++ struct squashfs_base_inode_header *inodeb = &id.base,
++ *sinodeb = &sid.base;
++
++ TRACE("Entered squashfs_iget\n");
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *) sinodeb, block,
++ offset, sizeof(*sinodeb), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_BASE_INODE_HEADER(inodeb, sinodeb,
++ sizeof(*sinodeb));
++ } else
++ if (!squashfs_get_cached_block(s, (char *) inodeb, block,
++ offset, sizeof(*inodeb), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ switch(inodeb->inode_type) {
++ case SQUASHFS_FILE_TYPE: {
++ unsigned int frag_size;
++ long long frag_blk;
++ struct squashfs_reg_inode_header *inodep = &id.reg;
++ struct squashfs_reg_inode_header *sinodep = &sid.reg;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_REG_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ frag_blk = SQUASHFS_INVALID_BLK;
++ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
++ !get_fragment_location(s,
++ inodep->fragment, &frag_blk, &frag_size))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = 1;
++ i->i_size = inodep->file_size;
++ i->i_fop = &generic_ro_fops;
++ i->i_mode |= S_IFREG;
++ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
++ i->i_blksize = PAGE_CACHE_SIZE;
++ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
++ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
++ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++ if (sblk->block_size > 4096)
++ i->i_data.a_ops = &squashfs_aops;
++ else
++ i->i_data.a_ops = &squashfs_aops_4K;
++
++ TRACE("File inode %x:%x, start_block %llx, "
++ "block_list_start %llx, offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, next_block,
++ next_offset);
++ break;
++ }
++ case SQUASHFS_LREG_TYPE: {
++ unsigned int frag_size;
++ long long frag_blk;
++ struct squashfs_lreg_inode_header *inodep = &id.lreg;
++ struct squashfs_lreg_inode_header *sinodep = &sid.lreg;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_LREG_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ frag_blk = SQUASHFS_INVALID_BLK;
++ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
++ !get_fragment_location(s,
++ inodep->fragment, &frag_blk, &frag_size))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_size = inodep->file_size;
++ i->i_fop = &generic_ro_fops;
++ i->i_mode |= S_IFREG;
++ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
++ i->i_blksize = PAGE_CACHE_SIZE;
++ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
++ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
++ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++ if (sblk->block_size > 4096)
++ i->i_data.a_ops = &squashfs_aops;
++ else
++ i->i_data.a_ops = &squashfs_aops_4K;
++
++ TRACE("File inode %x:%x, start_block %llx, "
++ "block_list_start %llx, offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, next_block,
++ next_offset);
++ break;
++ }
++ case SQUASHFS_DIR_TYPE: {
++ struct squashfs_dir_inode_header *inodep = &id.dir;
++ struct squashfs_dir_inode_header *sinodep = &sid.dir;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_DIR_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_size = inodep->file_size;
++ i->i_op = &squashfs_dir_inode_ops;
++ i->i_fop = &squashfs_dir_ops;
++ i->i_mode |= S_IFDIR;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->offset = inodep->offset;
++ SQUASHFS_I(i)->u.s2.directory_index_count = 0;
++ SQUASHFS_I(i)->u.s2.parent_inode = inodep->parent_inode;
++
++ TRACE("Directory inode %x:%x, start_block %x, offset "
++ "%x\n", SQUASHFS_INODE_BLK(inode),
++ offset, inodep->start_block,
++ inodep->offset);
++ break;
++ }
++ case SQUASHFS_LDIR_TYPE: {
++ struct squashfs_ldir_inode_header *inodep = &id.ldir;
++ struct squashfs_ldir_inode_header *sinodep = &sid.ldir;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_LDIR_INODE_HEADER(inodep,
++ sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_size = inodep->file_size;
++ i->i_op = &squashfs_dir_inode_ops;
++ i->i_fop = &squashfs_dir_ops;
++ i->i_mode |= S_IFDIR;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->offset = inodep->offset;
++ SQUASHFS_I(i)->u.s2.directory_index_start = next_block;
++ SQUASHFS_I(i)->u.s2.directory_index_offset =
++ next_offset;
++ SQUASHFS_I(i)->u.s2.directory_index_count =
++ inodep->i_count;
++ SQUASHFS_I(i)->u.s2.parent_inode = inodep->parent_inode;
++
++ TRACE("Long directory inode %x:%x, start_block %x, "
++ "offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, inodep->offset);
++ break;
++ }
++ case SQUASHFS_SYMLINK_TYPE: {
++ struct squashfs_symlink_inode_header *inodep =
++ &id.symlink;
++ struct squashfs_symlink_inode_header *sinodep =
++ &sid.symlink;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_SYMLINK_INODE_HEADER(inodep,
++ sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_size = inodep->symlink_size;
++ i->i_op = &page_symlink_inode_operations;
++ i->i_data.a_ops = &squashfs_symlink_aops;
++ i->i_mode |= S_IFLNK;
++ SQUASHFS_I(i)->start_block = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++
++ TRACE("Symbolic link inode %x:%x, start_block %llx, "
++ "offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ next_block, next_offset);
++ break;
++ }
++ case SQUASHFS_BLKDEV_TYPE:
++ case SQUASHFS_CHRDEV_TYPE: {
++ struct squashfs_dev_inode_header *inodep = &id.dev;
++ struct squashfs_dev_inode_header *sinodep = &sid.dev;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_DEV_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if ((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_mode |= (inodeb->inode_type ==
++ SQUASHFS_CHRDEV_TYPE) ? S_IFCHR :
++ S_IFBLK;
++ init_special_inode(i, i->i_mode,
++ old_decode_dev(inodep->rdev));
++
++ TRACE("Device inode %x:%x, rdev %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->rdev);
++ break;
++ }
++ case SQUASHFS_FIFO_TYPE:
++ case SQUASHFS_SOCKET_TYPE: {
++ struct squashfs_ipc_inode_header *inodep = &id.ipc;
++ struct squashfs_ipc_inode_header *sinodep = &sid.ipc;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_IPC_INODE_HEADER(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if ((i = squashfs_new_inode(s, inodeb)) == NULL)
++ goto failed_read1;
++
++ i->i_nlink = inodep->nlink;
++ i->i_mode |= (inodeb->inode_type == SQUASHFS_FIFO_TYPE)
++ ? S_IFIFO : S_IFSOCK;
++ init_special_inode(i, i->i_mode, 0);
++ break;
++ }
++ default:
++ ERROR("Unknown inode type %d in squashfs_iget!\n",
++ inodeb->inode_type);
++ goto failed_read1;
++ }
++
++ insert_inode_hash(i);
++ return i;
++
++failed_read:
++ ERROR("Unable to read inode [%llx:%x]\n", block, offset);
++
++failed_read1:
++ return NULL;
++}
++
++
++static int read_fragment_index_table(struct super_block *s)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ /* Allocate fragment index table */
++ if (!(msblk->fragment_index = kmalloc(SQUASHFS_FRAGMENT_INDEX_BYTES
++ (sblk->fragments), GFP_KERNEL))) {
++ ERROR("Failed to allocate uid/gid table\n");
++ return 0;
++ }
++
++ if (SQUASHFS_FRAGMENT_INDEX_BYTES(sblk->fragments) &&
++ !squashfs_read_data(s, (char *)
++ msblk->fragment_index,
++ sblk->fragment_table_start,
++ SQUASHFS_FRAGMENT_INDEX_BYTES
++ (sblk->fragments) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ ERROR("unable to read fragment index table\n");
++ return 0;
++ }
++
++ if (msblk->swap) {
++ int i;
++ long long fragment;
++
++ for (i = 0; i < SQUASHFS_FRAGMENT_INDEXES(sblk->fragments);
++ i++) {
++ SQUASHFS_SWAP_FRAGMENT_INDEXES((&fragment),
++ &msblk->fragment_index[i], 1);
++ msblk->fragment_index[i] = fragment;
++ }
++ }
++
++ return 1;
++}
++
++
++static int supported_squashfs_filesystem(struct squashfs_sb_info *msblk, int silent)
++{
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ msblk->iget = squashfs_iget;
++ msblk->read_blocklist = read_blocklist;
++ msblk->read_fragment_index_table = read_fragment_index_table;
++
++ if (sblk->s_major == 1) {
++ if (!squashfs_1_0_supported(msblk)) {
++ SERROR("Major/Minor mismatch, Squashfs 1.0 filesystems "
++ "are unsupported\n");
++ SERROR("Please recompile with "
++ "Squashfs 1.0 support enabled\n");
++ return 0;
++ }
++ } else if (sblk->s_major == 2) {
++ if (!squashfs_2_0_supported(msblk)) {
++ SERROR("Major/Minor mismatch, Squashfs 2.0 filesystems "
++ "are unsupported\n");
++ SERROR("Please recompile with "
++ "Squashfs 2.0 support enabled\n");
++ return 0;
++ }
++ } else if(sblk->s_major != SQUASHFS_MAJOR || sblk->s_minor >
++ SQUASHFS_MINOR) {
++ SERROR("Major/Minor mismatch, trying to mount newer %d.%d "
++ "filesystem\n", sblk->s_major, sblk->s_minor);
++ SERROR("Please update your kernel\n");
++ return 0;
++ }
++
++ return 1;
++}
++
++
++static int squashfs_fill_super(struct super_block *s, void *data, int silent)
++{
++ struct squashfs_sb_info *msblk;
++ struct squashfs_super_block *sblk;
++ int i;
++ char b[BDEVNAME_SIZE];
++ struct inode *root;
++
++ TRACE("Entered squashfs_read_superblock\n");
++
++ if (!(s->s_fs_info = kmalloc(sizeof(struct squashfs_sb_info),
++ GFP_KERNEL))) {
++ ERROR("Failed to allocate superblock\n");
++ goto failure;
++ }
++ memset(s->s_fs_info, 0, sizeof(struct squashfs_sb_info));
++ msblk = s->s_fs_info;
++ sblk = &msblk->sblk;
++
++ msblk->devblksize = sb_min_blocksize(s, BLOCK_SIZE);
++ msblk->devblksize_log2 = ffz(~msblk->devblksize);
++
++ init_MUTEX(&msblk->read_data_mutex);
++ init_MUTEX(&msblk->read_page_mutex);
++ init_MUTEX(&msblk->block_cache_mutex);
++ init_MUTEX(&msblk->fragment_mutex);
++ init_MUTEX(&msblk->meta_index_mutex);
++
++ init_waitqueue_head(&msblk->waitq);
++ init_waitqueue_head(&msblk->fragment_wait_queue);
++
++ if (!squashfs_read_data(s, (char *) sblk, SQUASHFS_START,
++ sizeof(struct squashfs_super_block) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ SERROR("unable to read superblock\n");
++ goto failed_mount;
++ }
++
++ /* Check it is a SQUASHFS superblock */
++ msblk->swap = 0;
++ if ((s->s_magic = sblk->s_magic) != SQUASHFS_MAGIC) {
++ if (sblk->s_magic == SQUASHFS_MAGIC_SWAP) {
++ struct squashfs_super_block ssblk;
++
++ WARNING("Mounting a different endian SQUASHFS "
++ "filesystem on %s\n", bdevname(s->s_bdev, b));
++
++ SQUASHFS_SWAP_SUPER_BLOCK(&ssblk, sblk);
++ memcpy(sblk, &ssblk, sizeof(struct squashfs_super_block));
++ msblk->swap = 1;
++ } else {
++ SERROR("Can't find a SQUASHFS superblock on %s\n",
++ bdevname(s->s_bdev, b));
++ goto failed_mount;
++ }
++ }
++
++ /* Check the MAJOR & MINOR versions */
++ if(!supported_squashfs_filesystem(msblk, silent))
++ goto failed_mount;
++
++ TRACE("Found valid superblock on %s\n", bdevname(s->s_bdev, b));
++ TRACE("Inodes are %scompressed\n",
++ SQUASHFS_UNCOMPRESSED_INODES
++ (sblk->flags) ? "un" : "");
++ TRACE("Data is %scompressed\n",
++ SQUASHFS_UNCOMPRESSED_DATA(sblk->flags)
++ ? "un" : "");
++ TRACE("Check data is %s present in the filesystem\n",
++ SQUASHFS_CHECK_DATA(sblk->flags) ?
++ "" : "not");
++ TRACE("Filesystem size %lld bytes\n", sblk->bytes_used);
++ TRACE("Block size %d\n", sblk->block_size);
++ TRACE("Number of inodes %d\n", sblk->inodes);
++ if (sblk->s_major > 1)
++ TRACE("Number of fragments %d\n", sblk->fragments);
++ TRACE("Number of uids %d\n", sblk->no_uids);
++ TRACE("Number of gids %d\n", sblk->no_guids);
++ TRACE("sblk->inode_table_start %llx\n", sblk->inode_table_start);
++ TRACE("sblk->directory_table_start %llx\n", sblk->directory_table_start);
++ if (sblk->s_major > 1)
++ TRACE("sblk->fragment_table_start %llx\n",
++ sblk->fragment_table_start);
++ TRACE("sblk->uid_start %llx\n", sblk->uid_start);
++
++ s->s_flags |= MS_RDONLY;
++ s->s_op = &squashfs_ops;
++
++ /* Init inode_table block pointer array */
++ if (!(msblk->block_cache = kmalloc(sizeof(struct squashfs_cache) *
++ SQUASHFS_CACHED_BLKS, GFP_KERNEL))) {
++ ERROR("Failed to allocate block cache\n");
++ goto failed_mount;
++ }
++
++ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
++ msblk->block_cache[i].block = SQUASHFS_INVALID_BLK;
++
++ msblk->next_cache = 0;
++
++ /* Allocate read_data block */
++ msblk->read_size = (sblk->block_size < SQUASHFS_METADATA_SIZE) ?
++ SQUASHFS_METADATA_SIZE :
++ sblk->block_size;
++
++ if (!(msblk->read_data = kmalloc(msblk->read_size, GFP_KERNEL))) {
++ ERROR("Failed to allocate read_data block\n");
++ goto failed_mount;
++ }
++
++ /* Allocate read_page block */
++ if (!(msblk->read_page = kmalloc(sblk->block_size, GFP_KERNEL))) {
++ ERROR("Failed to allocate read_page block\n");
++ goto failed_mount;
++ }
++
++ /* Allocate uid and gid tables */
++ if (!(msblk->uid = kmalloc((sblk->no_uids + sblk->no_guids) *
++ sizeof(unsigned int), GFP_KERNEL))) {
++ ERROR("Failed to allocate uid/gid table\n");
++ goto failed_mount;
++ }
++ msblk->guid = msblk->uid + sblk->no_uids;
++
++ if (msblk->swap) {
++ unsigned int suid[sblk->no_uids + sblk->no_guids];
++
++ if (!squashfs_read_data(s, (char *) &suid, sblk->uid_start,
++ ((sblk->no_uids + sblk->no_guids) *
++ sizeof(unsigned int)) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ ERROR("unable to read uid/gid table\n");
++ goto failed_mount;
++ }
++
++ SQUASHFS_SWAP_DATA(msblk->uid, suid, (sblk->no_uids +
++ sblk->no_guids), (sizeof(unsigned int) * 8));
++ } else
++ if (!squashfs_read_data(s, (char *) msblk->uid, sblk->uid_start,
++ ((sblk->no_uids + sblk->no_guids) *
++ sizeof(unsigned int)) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ ERROR("unable to read uid/gid table\n");
++ goto failed_mount;
++ }
++
++
++ if (sblk->s_major == 1 && squashfs_1_0_supported(msblk))
++ goto allocate_root;
++
++ if (!(msblk->fragment = kmalloc(sizeof(struct squashfs_fragment_cache) *
++ SQUASHFS_CACHED_FRAGMENTS, GFP_KERNEL))) {
++ ERROR("Failed to allocate fragment block cache\n");
++ goto failed_mount;
++ }
++
++ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++) {
++ msblk->fragment[i].locked = 0;
++ msblk->fragment[i].block = SQUASHFS_INVALID_BLK;
++ msblk->fragment[i].data = NULL;
++ }
++
++ msblk->next_fragment = 0;
++
++ /* Allocate fragment index table */
++ if (msblk->read_fragment_index_table(s) == 0)
++ goto failed_mount;
++
++allocate_root:
++ if ((root = (msblk->iget)(s, sblk->root_inode)) == NULL)
++ goto failed_mount;
++
++ if ((s->s_root = d_alloc_root(root)) == NULL) {
++ ERROR("Root inode create failed\n");
++ iput(root);
++ goto failed_mount;
++ }
++
++ TRACE("Leaving squashfs_read_super\n");
++ return 0;
++
++failed_mount:
++ kfree(msblk->fragment_index);
++ kfree(msblk->fragment);
++ kfree(msblk->uid);
++ kfree(msblk->read_page);
++ kfree(msblk->read_data);
++ kfree(msblk->block_cache);
++ kfree(msblk->fragment_index_2);
++ kfree(s->s_fs_info);
++ s->s_fs_info = NULL;
++ return -EINVAL;
++
++failure:
++ return -ENOMEM;
++}
++
++
++static int squashfs_statfs(struct super_block *s, struct kstatfs *buf)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ TRACE("Entered squashfs_statfs\n");
++
++ buf->f_type = SQUASHFS_MAGIC;
++ buf->f_bsize = sblk->block_size;
++ buf->f_blocks = ((sblk->bytes_used - 1) >> sblk->block_log) + 1;
++ buf->f_bfree = buf->f_bavail = 0;
++ buf->f_files = sblk->inodes;
++ buf->f_ffree = 0;
++ buf->f_namelen = SQUASHFS_NAME_LEN;
++
++ return 0;
++}
++
++
++static int squashfs_symlink_readpage(struct file *file, struct page *page)
++{
++ struct inode *inode = page->mapping->host;
++ int index = page->index << PAGE_CACHE_SHIFT, length, bytes;
++ long long block = SQUASHFS_I(inode)->start_block;
++ int offset = SQUASHFS_I(inode)->offset;
++ void *pageaddr = kmap(page);
++
++ TRACE("Entered squashfs_symlink_readpage, page index %ld, start block "
++ "%llx, offset %x\n", page->index,
++ SQUASHFS_I(inode)->start_block,
++ SQUASHFS_I(inode)->offset);
++
++ for (length = 0; length < index; length += bytes) {
++ if (!(bytes = squashfs_get_cached_block(inode->i_sb, NULL,
++ block, offset, PAGE_CACHE_SIZE, &block,
++ &offset))) {
++ ERROR("Unable to read symbolic link [%llx:%x]\n", block,
++ offset);
++ goto skip_read;
++ }
++ }
++
++ if (length != index) {
++ ERROR("(squashfs_symlink_readpage) length != index\n");
++ bytes = 0;
++ goto skip_read;
++ }
++
++ bytes = (i_size_read(inode) - length) > PAGE_CACHE_SIZE ? PAGE_CACHE_SIZE :
++ i_size_read(inode) - length;
++
++ if (!(bytes = squashfs_get_cached_block(inode->i_sb, pageaddr, block,
++ offset, bytes, &block, &offset)))
++ ERROR("Unable to read symbolic link [%llx:%x]\n", block, offset);
++
++skip_read:
++ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
++ kunmap(page);
++ SetPageUptodate(page);
++ unlock_page(page);
++
++ return 0;
++}
++
++
++struct meta_index *locate_meta_index(struct inode *inode, int index, int offset)
++{
++ struct meta_index *meta = NULL;
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ int i;
++
++ down(&msblk->meta_index_mutex);
++
++ TRACE("locate_meta_index: index %d, offset %d\n", index, offset);
++
++ if(msblk->meta_index == NULL)
++ goto not_allocated;
++
++ for (i = 0; i < SQUASHFS_META_NUMBER; i ++)
++ if (msblk->meta_index[i].inode_number == inode->i_ino &&
++ msblk->meta_index[i].offset >= offset &&
++ msblk->meta_index[i].offset <= index &&
++ msblk->meta_index[i].locked == 0) {
++ TRACE("locate_meta_index: entry %d, offset %d\n", i,
++ msblk->meta_index[i].offset);
++ meta = &msblk->meta_index[i];
++ offset = meta->offset;
++ }
++
++ if (meta)
++ meta->locked = 1;
++
++not_allocated:
++ up(&msblk->meta_index_mutex);
++
++ return meta;
++}
++
++
++struct meta_index *empty_meta_index(struct inode *inode, int offset, int skip)
++{
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ struct meta_index *meta = NULL;
++ int i;
++
++ down(&msblk->meta_index_mutex);
++
++ TRACE("empty_meta_index: offset %d, skip %d\n", offset, skip);
++
++ if(msblk->meta_index == NULL) {
++ if (!(msblk->meta_index = kmalloc(sizeof(struct meta_index) *
++ SQUASHFS_META_NUMBER, GFP_KERNEL))) {
++ ERROR("Failed to allocate meta_index\n");
++ goto failed;
++ }
++ for(i = 0; i < SQUASHFS_META_NUMBER; i++) {
++ msblk->meta_index[i].inode_number = 0;
++ msblk->meta_index[i].locked = 0;
++ }
++ msblk->next_meta_index = 0;
++ }
++
++ for(i = SQUASHFS_META_NUMBER; i &&
++ msblk->meta_index[msblk->next_meta_index].locked; i --)
++ msblk->next_meta_index = (msblk->next_meta_index + 1) %
++ SQUASHFS_META_NUMBER;
++
++ if(i == 0) {
++ TRACE("empty_meta_index: failed!\n");
++ goto failed;
++ }
++
++ TRACE("empty_meta_index: returned meta entry %d, %p\n",
++ msblk->next_meta_index,
++ &msblk->meta_index[msblk->next_meta_index]);
++
++ meta = &msblk->meta_index[msblk->next_meta_index];
++ msblk->next_meta_index = (msblk->next_meta_index + 1) %
++ SQUASHFS_META_NUMBER;
++
++ meta->inode_number = inode->i_ino;
++ meta->offset = offset;
++ meta->skip = skip;
++ meta->entries = 0;
++ meta->locked = 1;
++
++failed:
++ up(&msblk->meta_index_mutex);
++ return meta;
++}
++
++
++void release_meta_index(struct inode *inode, struct meta_index *meta)
++{
++ meta->locked = 0;
++}
++
++
++static int read_block_index(struct super_block *s, int blocks, char *block_list,
++ long long *start_block, int *offset)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ unsigned int *block_listp;
++ int block = 0;
++
++ if (msblk->swap) {
++ char sblock_list[blocks << 2];
++
++ if (!squashfs_get_cached_block(s, sblock_list, *start_block,
++ *offset, blocks << 2, start_block, offset)) {
++ ERROR("Unable to read block list [%llx:%x]\n",
++ *start_block, *offset);
++ goto failure;
++ }
++ SQUASHFS_SWAP_INTS(((unsigned int *)block_list),
++ ((unsigned int *)sblock_list), blocks);
++ } else
++ if (!squashfs_get_cached_block(s, block_list, *start_block,
++ *offset, blocks << 2, start_block, offset)) {
++ ERROR("Unable to read block list [%llx:%x]\n",
++ *start_block, *offset);
++ goto failure;
++ }
++
++ for (block_listp = (unsigned int *) block_list; blocks;
++ block_listp++, blocks --)
++ block += SQUASHFS_COMPRESSED_SIZE_BLOCK(*block_listp);
++
++ return block;
++
++failure:
++ return -1;
++}
++
++
++#define SIZE 256
++
++static inline int calculate_skip(int blocks) {
++ int skip = (blocks - 1) / ((SQUASHFS_SLOTS * SQUASHFS_META_ENTRIES + 1) * SQUASHFS_META_INDEXES);
++ return skip >= 7 ? 7 : skip + 1;
++}
++
++
++static int get_meta_index(struct inode *inode, int index,
++ long long *index_block, int *index_offset,
++ long long *data_block, char *block_list)
++{
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int skip = calculate_skip(i_size_read(inode) >> sblk->block_log);
++ int offset = 0;
++ struct meta_index *meta;
++ struct meta_entry *meta_entry;
++ long long cur_index_block = SQUASHFS_I(inode)->u.s1.block_list_start;
++ int cur_offset = SQUASHFS_I(inode)->offset;
++ long long cur_data_block = SQUASHFS_I(inode)->start_block;
++ int i;
++
++ index /= SQUASHFS_META_INDEXES * skip;
++
++ while ( offset < index ) {
++ meta = locate_meta_index(inode, index, offset + 1);
++
++ if (meta == NULL) {
++ if ((meta = empty_meta_index(inode, offset + 1,
++ skip)) == NULL)
++ goto all_done;
++ } else {
++ offset = index < meta->offset + meta->entries ? index :
++ meta->offset + meta->entries - 1;
++ meta_entry = &meta->meta_entry[offset - meta->offset];
++ cur_index_block = meta_entry->index_block + sblk->inode_table_start;
++ cur_offset = meta_entry->offset;
++ cur_data_block = meta_entry->data_block;
++ TRACE("get_meta_index: offset %d, meta->offset %d, "
++ "meta->entries %d\n", offset, meta->offset,
++ meta->entries);
++ TRACE("get_meta_index: index_block 0x%llx, offset 0x%x"
++ " data_block 0x%llx\n", cur_index_block,
++ cur_offset, cur_data_block);
++ }
++
++ for (i = meta->offset + meta->entries; i <= index &&
++ i < meta->offset + SQUASHFS_META_ENTRIES; i++) {
++ int blocks = skip * SQUASHFS_META_INDEXES;
++
++ while (blocks) {
++ int block = blocks > (SIZE >> 2) ? (SIZE >> 2) :
++ blocks;
++ int res = read_block_index(inode->i_sb, block,
++ block_list, &cur_index_block,
++ &cur_offset);
++
++ if (res == -1)
++ goto failed;
++
++ cur_data_block += res;
++ blocks -= block;
++ }
++
++ meta_entry = &meta->meta_entry[i - meta->offset];
++ meta_entry->index_block = cur_index_block - sblk->inode_table_start;
++ meta_entry->offset = cur_offset;
++ meta_entry->data_block = cur_data_block;
++ meta->entries ++;
++ offset ++;
++ }
++
++ TRACE("get_meta_index: meta->offset %d, meta->entries %d\n",
++ meta->offset, meta->entries);
++
++ release_meta_index(inode, meta);
++ }
++
++all_done:
++ *index_block = cur_index_block;
++ *index_offset = cur_offset;
++ *data_block = cur_data_block;
++
++ return offset * SQUASHFS_META_INDEXES * skip;
++
++failed:
++ release_meta_index(inode, meta);
++ return -1;
++}
++
++
++static long long read_blocklist(struct inode *inode, int index,
++ int readahead_blks, char *block_list,
++ unsigned short **block_p, unsigned int *bsize)
++{
++ long long block_ptr;
++ int offset;
++ long long block;
++ int res = get_meta_index(inode, index, &block_ptr, &offset, &block,
++ block_list);
++
++ TRACE("read_blocklist: res %d, index %d, block_ptr 0x%llx, offset"
++ " 0x%x, block 0x%llx\n", res, index, block_ptr, offset,
++ block);
++
++ if(res == -1)
++ goto failure;
++
++ index -= res;
++
++ while ( index ) {
++ int blocks = index > (SIZE >> 2) ? (SIZE >> 2) : index;
++ int res = read_block_index(inode->i_sb, blocks, block_list,
++ &block_ptr, &offset);
++ if (res == -1)
++ goto failure;
++ block += res;
++ index -= blocks;
++ }
++
++ if (read_block_index(inode->i_sb, 1, block_list,
++ &block_ptr, &offset) == -1)
++ goto failure;
++ *bsize = *((unsigned int *) block_list);
++
++ return block;
++
++failure:
++ return 0;
++}
++
++
++static int squashfs_readpage(struct file *file, struct page *page)
++{
++ struct inode *inode = page->mapping->host;
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ unsigned char block_list[SIZE];
++ long long block;
++ unsigned int bsize, i = 0, bytes = 0, byte_offset = 0;
++ int index = page->index >> (sblk->block_log - PAGE_CACHE_SHIFT);
++ void *pageaddr;
++ struct squashfs_fragment_cache *fragment = NULL;
++ char *data_ptr = msblk->read_page;
++
++ int mask = (1 << (sblk->block_log - PAGE_CACHE_SHIFT)) - 1;
++ int start_index = page->index & ~mask;
++ int end_index = start_index | mask;
++
++ TRACE("Entered squashfs_readpage, page index %lx, start block %llx\n",
++ page->index,
++ SQUASHFS_I(inode)->start_block);
++
++ if (page->index >= ((i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
++ PAGE_CACHE_SHIFT))
++ goto skip_read;
++
++ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
++ || index < (i_size_read(inode) >>
++ sblk->block_log)) {
++ if ((block = (msblk->read_blocklist)(inode, index, 1,
++ block_list, NULL, &bsize)) == 0)
++ goto skip_read;
++
++ down(&msblk->read_page_mutex);
++
++ if (!(bytes = squashfs_read_data(inode->i_sb, msblk->read_page,
++ block, bsize, NULL))) {
++ ERROR("Unable to read page, block %llx, size %x\n", block,
++ bsize);
++ up(&msblk->read_page_mutex);
++ goto skip_read;
++ }
++ } else {
++ if ((fragment = get_cached_fragment(inode->i_sb,
++ SQUASHFS_I(inode)->
++ u.s1.fragment_start_block,
++ SQUASHFS_I(inode)->u.s1.fragment_size))
++ == NULL) {
++ ERROR("Unable to read page, block %llx, size %x\n",
++ SQUASHFS_I(inode)->
++ u.s1.fragment_start_block,
++ (int) SQUASHFS_I(inode)->
++ u.s1.fragment_size);
++ goto skip_read;
++ }
++ bytes = SQUASHFS_I(inode)->u.s1.fragment_offset +
++ (i_size_read(inode) & (sblk->block_size
++ - 1));
++ byte_offset = SQUASHFS_I(inode)->u.s1.fragment_offset;
++ data_ptr = fragment->data;
++ }
++
++ for (i = start_index; i <= end_index && byte_offset < bytes;
++ i++, byte_offset += PAGE_CACHE_SIZE) {
++ struct page *push_page;
++ int available_bytes = (bytes - byte_offset) > PAGE_CACHE_SIZE ?
++ PAGE_CACHE_SIZE : bytes - byte_offset;
++
++ TRACE("bytes %d, i %d, byte_offset %d, available_bytes %d\n",
++ bytes, i, byte_offset, available_bytes);
++
++ if (i == page->index) {
++ pageaddr = kmap_atomic(page, KM_USER0);
++ memcpy(pageaddr, data_ptr + byte_offset,
++ available_bytes);
++ memset(pageaddr + available_bytes, 0,
++ PAGE_CACHE_SIZE - available_bytes);
++ kunmap_atomic(pageaddr, KM_USER0);
++ flush_dcache_page(page);
++ SetPageUptodate(page);
++ unlock_page(page);
++ } else if ((push_page =
++ grab_cache_page_nowait(page->mapping, i))) {
++ pageaddr = kmap_atomic(push_page, KM_USER0);
++
++ memcpy(pageaddr, data_ptr + byte_offset,
++ available_bytes);
++ memset(pageaddr + available_bytes, 0,
++ PAGE_CACHE_SIZE - available_bytes);
++ kunmap_atomic(pageaddr, KM_USER0);
++ flush_dcache_page(push_page);
++ SetPageUptodate(push_page);
++ unlock_page(push_page);
++ page_cache_release(push_page);
++ }
++ }
++
++ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
++ || index < (i_size_read(inode) >>
++ sblk->block_log))
++ up(&msblk->read_page_mutex);
++ else
++ release_cached_fragment(msblk, fragment);
++
++ return 0;
++
++skip_read:
++ pageaddr = kmap_atomic(page, KM_USER0);
++ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
++ kunmap_atomic(pageaddr, KM_USER0);
++ flush_dcache_page(page);
++ SetPageUptodate(page);
++ unlock_page(page);
++
++ return 0;
++}
++
++
++static int squashfs_readpage4K(struct file *file, struct page *page)
++{
++ struct inode *inode = page->mapping->host;
++ struct squashfs_sb_info *msblk = inode->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ unsigned char block_list[SIZE];
++ long long block;
++ unsigned int bsize, bytes = 0;
++ void *pageaddr;
++
++ TRACE("Entered squashfs_readpage4K, page index %lx, start block %llx\n",
++ page->index,
++ SQUASHFS_I(inode)->start_block);
++
++ if (page->index >= ((i_size_read(inode) + PAGE_CACHE_SIZE - 1) >>
++ PAGE_CACHE_SHIFT)) {
++ pageaddr = kmap_atomic(page, KM_USER0);
++ goto skip_read;
++ }
++
++ if (SQUASHFS_I(inode)->u.s1.fragment_start_block == SQUASHFS_INVALID_BLK
++ || page->index < (i_size_read(inode) >>
++ sblk->block_log)) {
++ block = (msblk->read_blocklist)(inode, page->index, 1,
++ block_list, NULL, &bsize);
++
++ down(&msblk->read_page_mutex);
++ bytes = squashfs_read_data(inode->i_sb, msblk->read_page, block,
++ bsize, NULL);
++ pageaddr = kmap_atomic(page, KM_USER0);
++ if (bytes)
++ memcpy(pageaddr, msblk->read_page, bytes);
++ else
++ ERROR("Unable to read page, block %llx, size %x\n",
++ block, bsize);
++ up(&msblk->read_page_mutex);
++ } else {
++ struct squashfs_fragment_cache *fragment =
++ get_cached_fragment(inode->i_sb,
++ SQUASHFS_I(inode)->
++ u.s1.fragment_start_block,
++ SQUASHFS_I(inode)-> u.s1.fragment_size);
++ pageaddr = kmap_atomic(page, KM_USER0);
++ if (fragment) {
++ bytes = i_size_read(inode) & (sblk->block_size - 1);
++ memcpy(pageaddr, fragment->data + SQUASHFS_I(inode)->
++ u.s1.fragment_offset, bytes);
++ release_cached_fragment(msblk, fragment);
++ } else
++ ERROR("Unable to read page, block %llx, size %x\n",
++ SQUASHFS_I(inode)->
++ u.s1.fragment_start_block, (int)
++ SQUASHFS_I(inode)-> u.s1.fragment_size);
++ }
++
++skip_read:
++ memset(pageaddr + bytes, 0, PAGE_CACHE_SIZE - bytes);
++ kunmap_atomic(pageaddr, KM_USER0);
++ flush_dcache_page(page);
++ SetPageUptodate(page);
++ unlock_page(page);
++
++ return 0;
++}
++
++
++static int get_dir_index_using_offset(struct super_block *s, long long
++ *next_block, unsigned int *next_offset,
++ long long index_start,
++ unsigned int index_offset, int i_count,
++ long long f_pos)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int i, length = 0;
++ struct squashfs_dir_index index;
++
++ TRACE("Entered get_dir_index_using_offset, i_count %d, f_pos %d\n",
++ i_count, (unsigned int) f_pos);
++
++ f_pos =- 3;
++ if (f_pos == 0)
++ goto finish;
++
++ for (i = 0; i < i_count; i++) {
++ if (msblk->swap) {
++ struct squashfs_dir_index sindex;
++ squashfs_get_cached_block(s, (char *) &sindex,
++ index_start, index_offset,
++ sizeof(sindex), &index_start,
++ &index_offset);
++ SQUASHFS_SWAP_DIR_INDEX(&index, &sindex);
++ } else
++ squashfs_get_cached_block(s, (char *) &index,
++ index_start, index_offset,
++ sizeof(index), &index_start,
++ &index_offset);
++
++ if (index.index > f_pos)
++ break;
++
++ squashfs_get_cached_block(s, NULL, index_start, index_offset,
++ index.size + 1, &index_start,
++ &index_offset);
++
++ length = index.index;
++ *next_block = index.start_block + sblk->directory_table_start;
++ }
++
++ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
++
++finish:
++ return length + 3;
++}
++
++
++static int get_dir_index_using_name(struct super_block *s, long long
++ *next_block, unsigned int *next_offset,
++ long long index_start,
++ unsigned int index_offset, int i_count,
++ const char *name, int size)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int i, length = 0;
++ char buffer[sizeof(struct squashfs_dir_index) + SQUASHFS_NAME_LEN + 1];
++ struct squashfs_dir_index *index = (struct squashfs_dir_index *) buffer;
++ char str[SQUASHFS_NAME_LEN + 1];
++
++ TRACE("Entered get_dir_index_using_name, i_count %d\n", i_count);
++
++ strncpy(str, name, size);
++ str[size] = '\0';
++
++ for (i = 0; i < i_count; i++) {
++ if (msblk->swap) {
++ struct squashfs_dir_index sindex;
++ squashfs_get_cached_block(s, (char *) &sindex,
++ index_start, index_offset,
++ sizeof(sindex), &index_start,
++ &index_offset);
++ SQUASHFS_SWAP_DIR_INDEX(index, &sindex);
++ } else
++ squashfs_get_cached_block(s, (char *) index,
++ index_start, index_offset,
++ sizeof(struct squashfs_dir_index),
++ &index_start, &index_offset);
++
++ squashfs_get_cached_block(s, index->name, index_start,
++ index_offset, index->size + 1,
++ &index_start, &index_offset);
++
++ index->name[index->size + 1] = '\0';
++
++ if (strcmp(index->name, str) > 0)
++ break;
++
++ length = index->index;
++ *next_block = index->start_block + sblk->directory_table_start;
++ }
++
++ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
++ return length + 3;
++}
++
++
++static int squashfs_readdir(struct file *file, void *dirent, filldir_t filldir)
++{
++ struct inode *i = file->f_dentry->d_inode;
++ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long next_block = SQUASHFS_I(i)->start_block +
++ sblk->directory_table_start;
++ int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
++ dir_count;
++ struct squashfs_dir_header dirh;
++ char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN + 1];
++ struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
++
++ TRACE("Entered squashfs_readdir [%llx:%x]\n", next_block, next_offset);
++
++ while(file->f_pos < 3) {
++ char *name;
++ int size, i_ino;
++
++ if(file->f_pos == 0) {
++ name = ".";
++ size = 1;
++ i_ino = i->i_ino;
++ } else {
++ name = "..";
++ size = 2;
++ i_ino = SQUASHFS_I(i)->u.s2.parent_inode;
++ }
++ TRACE("Calling filldir(%x, %s, %d, %d, %d, %d)\n",
++ (unsigned int) dirent, name, size, (int)
++ file->f_pos, i_ino,
++ squashfs_filetype_table[1]);
++
++ if (filldir(dirent, name, size,
++ file->f_pos, i_ino,
++ squashfs_filetype_table[1]) < 0) {
++ TRACE("Filldir returned less than 0\n");
++ goto finish;
++ }
++ file->f_pos += size;
++ dirs_read++;
++ }
++
++ length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_start,
++ SQUASHFS_I(i)->u.s2.directory_index_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_count,
++ file->f_pos);
++
++ while (length < i_size_read(i)) {
++ /* read directory header */
++ if (msblk->swap) {
++ struct squashfs_dir_header sdirh;
++
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
++ next_block, next_offset, sizeof(sdirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdirh);
++ SQUASHFS_SWAP_DIR_HEADER(&dirh, &sdirh);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
++ next_block, next_offset, sizeof(dirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(dirh);
++ }
++
++ dir_count = dirh.count + 1;
++ while (dir_count--) {
++ if (msblk->swap) {
++ struct squashfs_dir_entry sdire;
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ &sdire, next_block, next_offset,
++ sizeof(sdire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdire);
++ SQUASHFS_SWAP_DIR_ENTRY(dire, &sdire);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ dire, next_block, next_offset,
++ sizeof(*dire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(*dire);
++ }
++
++ if (!squashfs_get_cached_block(i->i_sb, dire->name,
++ next_block, next_offset,
++ dire->size + 1, &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += dire->size + 1;
++
++ if (file->f_pos >= length)
++ continue;
++
++ dire->name[dire->size + 1] = '\0';
++
++ TRACE("Calling filldir(%x, %s, %d, %d, %x:%x, %d, %d)\n",
++ (unsigned int) dirent, dire->name,
++ dire->size + 1, (int) file->f_pos,
++ dirh.start_block, dire->offset,
++ dirh.inode_number + dire->inode_number,
++ squashfs_filetype_table[dire->type]);
++
++ if (filldir(dirent, dire->name, dire->size + 1,
++ file->f_pos,
++ dirh.inode_number + dire->inode_number,
++ squashfs_filetype_table[dire->type])
++ < 0) {
++ TRACE("Filldir returned less than 0\n");
++ goto finish;
++ }
++ file->f_pos = length;
++ dirs_read++;
++ }
++ }
++
++finish:
++ return dirs_read;
++
++failed_read:
++ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
++ next_offset);
++ return 0;
++}
++
++
++static struct dentry *squashfs_lookup(struct inode *i, struct dentry *dentry,
++ struct nameidata *nd)
++{
++ const unsigned char *name = dentry->d_name.name;
++ int len = dentry->d_name.len;
++ struct inode *inode = NULL;
++ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long next_block = SQUASHFS_I(i)->start_block +
++ sblk->directory_table_start;
++ int next_offset = SQUASHFS_I(i)->offset, length = 0,
++ dir_count;
++ struct squashfs_dir_header dirh;
++ char buffer[sizeof(struct squashfs_dir_entry) + SQUASHFS_NAME_LEN];
++ struct squashfs_dir_entry *dire = (struct squashfs_dir_entry *) buffer;
++
++ TRACE("Entered squashfs_lookup [%llx:%x]\n", next_block, next_offset);
++
++ if (len > SQUASHFS_NAME_LEN)
++ goto exit_loop;
++
++ length = get_dir_index_using_name(i->i_sb, &next_block, &next_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_start,
++ SQUASHFS_I(i)->u.s2.directory_index_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_count, name,
++ len);
++
++ while (length < i_size_read(i)) {
++ /* read directory header */
++ if (msblk->swap) {
++ struct squashfs_dir_header sdirh;
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
++ next_block, next_offset, sizeof(sdirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdirh);
++ SQUASHFS_SWAP_DIR_HEADER(&dirh, &sdirh);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
++ next_block, next_offset, sizeof(dirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(dirh);
++ }
++
++ dir_count = dirh.count + 1;
++ while (dir_count--) {
++ if (msblk->swap) {
++ struct squashfs_dir_entry sdire;
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ &sdire, next_block,next_offset,
++ sizeof(sdire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdire);
++ SQUASHFS_SWAP_DIR_ENTRY(dire, &sdire);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ dire, next_block,next_offset,
++ sizeof(*dire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(*dire);
++ }
++
++ if (!squashfs_get_cached_block(i->i_sb, dire->name,
++ next_block, next_offset, dire->size + 1,
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += dire->size + 1;
++
++ if (name[0] < dire->name[0])
++ goto exit_loop;
++
++ if ((len == dire->size + 1) && !strncmp(name,
++ dire->name, len)) {
++ squashfs_inode_t ino =
++ SQUASHFS_MKINODE(dirh.start_block,
++ dire->offset);
++
++ TRACE("calling squashfs_iget for directory "
++ "entry %s, inode %x:%x, %d\n", name,
++ dirh.start_block, dire->offset,
++ dirh.inode_number + dire->inode_number);
++
++ inode = (msblk->iget)(i->i_sb, ino);
++
++ goto exit_loop;
++ }
++ }
++ }
++
++exit_loop:
++ d_add(dentry, inode);
++ return ERR_PTR(0);
++
++failed_read:
++ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
++ next_offset);
++ goto exit_loop;
++}
++
++
++static void squashfs_put_super(struct super_block *s)
++{
++ int i;
++
++ if (s->s_fs_info) {
++ struct squashfs_sb_info *sbi = s->s_fs_info;
++ if (sbi->block_cache)
++ for (i = 0; i < SQUASHFS_CACHED_BLKS; i++)
++ if (sbi->block_cache[i].block !=
++ SQUASHFS_INVALID_BLK)
++ kfree(sbi->block_cache[i].data);
++ if (sbi->fragment)
++ for (i = 0; i < SQUASHFS_CACHED_FRAGMENTS; i++)
++ SQUASHFS_FREE(sbi->fragment[i].data);
++ kfree(sbi->fragment);
++ kfree(sbi->block_cache);
++ kfree(sbi->read_data);
++ kfree(sbi->read_page);
++ kfree(sbi->uid);
++ kfree(sbi->fragment_index);
++ kfree(sbi->fragment_index_2);
++ kfree(sbi->meta_index);
++ kfree(s->s_fs_info);
++ s->s_fs_info = NULL;
++ }
++}
++
++
++static struct super_block *squashfs_get_sb(struct file_system_type *fs_type,
++ int flags, const char *dev_name, void *data)
++{
++ return get_sb_bdev(fs_type, flags, dev_name, data, squashfs_fill_super);
++}
++
++
++static int __init init_squashfs_fs(void)
++{
++ int err = init_inodecache();
++ if (err)
++ goto out;
++
++ printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
++ "Phillip Lougher\n");
++
++ if (!(stream.workspace = vmalloc(zlib_inflate_workspacesize()))) {
++ ERROR("Failed to allocate zlib workspace\n");
++ destroy_inodecache();
++ err = -ENOMEM;
++ goto out;
++ }
++
++ if ((err = register_filesystem(&squashfs_fs_type))) {
++ vfree(stream.workspace);
++ destroy_inodecache();
++ }
++
++out:
++ return err;
++}
++
++
++static void __exit exit_squashfs_fs(void)
++{
++ vfree(stream.workspace);
++ unregister_filesystem(&squashfs_fs_type);
++ destroy_inodecache();
++}
++
++
++static kmem_cache_t * squashfs_inode_cachep;
++
++
++static struct inode *squashfs_alloc_inode(struct super_block *sb)
++{
++ struct squashfs_inode_info *ei;
++ ei = kmem_cache_alloc(squashfs_inode_cachep, SLAB_KERNEL);
++ if (!ei)
++ return NULL;
++ return &ei->vfs_inode;
++}
++
++
++static void squashfs_destroy_inode(struct inode *inode)
++{
++ kmem_cache_free(squashfs_inode_cachep, SQUASHFS_I(inode));
++}
++
++
++static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
++{
++ struct squashfs_inode_info *ei = foo;
++
++ if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) ==
++ SLAB_CTOR_CONSTRUCTOR)
++ inode_init_once(&ei->vfs_inode);
++}
++
++
++static int __init init_inodecache(void)
++{
++ squashfs_inode_cachep = kmem_cache_create("squashfs_inode_cache",
++ sizeof(struct squashfs_inode_info),
++ 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT,
++ init_once, NULL);
++ if (squashfs_inode_cachep == NULL)
++ return -ENOMEM;
++ return 0;
++}
++
++
++static void destroy_inodecache(void)
++{
++ if (kmem_cache_destroy(squashfs_inode_cachep))
++ printk(KERN_INFO "squashfs_inode_cache: not all structures "
++ "were freed\n");
++}
++
++
++module_init(init_squashfs_fs);
++module_exit(exit_squashfs_fs);
++MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
++MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>");
++MODULE_LICENSE("GPL");
+diff --new-file -urp linux-2.6.15/fs/squashfs/Makefile linux-2.6.15-squashfs3.0/fs/squashfs/Makefile
+--- linux-2.6.15/fs/squashfs/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/fs/squashfs/Makefile 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,7 @@
++#
++# Makefile for the linux squashfs routines.
++#
++
++obj-$(CONFIG_SQUASHFS) += squashfs.o
++squashfs-y += inode.o
++squashfs-y += squashfs2_0.o
+diff --new-file -urp linux-2.6.15/fs/squashfs/squashfs2_0.c linux-2.6.15-squashfs3.0/fs/squashfs/squashfs2_0.c
+--- linux-2.6.15/fs/squashfs/squashfs2_0.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/fs/squashfs/squashfs2_0.c 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,758 @@
++/*
++ * Squashfs - a compressed read only filesystem for Linux
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs2_0.c
++ */
++
++#include <linux/types.h>
++#include <linux/squashfs_fs.h>
++#include <linux/module.h>
++#include <linux/errno.h>
++#include <linux/slab.h>
++#include <linux/fs.h>
++#include <linux/smp_lock.h>
++#include <linux/slab.h>
++#include <linux/squashfs_fs_sb.h>
++#include <linux/squashfs_fs_i.h>
++#include <linux/buffer_head.h>
++#include <linux/vfs.h>
++#include <linux/init.h>
++#include <linux/dcache.h>
++#include <linux/wait.h>
++#include <linux/zlib.h>
++#include <linux/blkdev.h>
++#include <linux/vmalloc.h>
++#include <asm/uaccess.h>
++#include <asm/semaphore.h>
++
++#include "squashfs.h"
++static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir);
++static struct dentry *squashfs_lookup_2(struct inode *, struct dentry *,
++ struct nameidata *);
++
++static struct file_operations squashfs_dir_ops_2 = {
++ .read = generic_read_dir,
++ .readdir = squashfs_readdir_2
++};
++
++static struct inode_operations squashfs_dir_inode_ops_2 = {
++ .lookup = squashfs_lookup_2
++};
++
++static unsigned char squashfs_filetype_table[] = {
++ DT_UNKNOWN, DT_DIR, DT_REG, DT_LNK, DT_BLK, DT_CHR, DT_FIFO, DT_SOCK
++};
++
++static int read_fragment_index_table_2(struct super_block *s)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ if (!(msblk->fragment_index_2 = kmalloc(SQUASHFS_FRAGMENT_INDEX_BYTES_2
++ (sblk->fragments), GFP_KERNEL))) {
++ ERROR("Failed to allocate uid/gid table\n");
++ return 0;
++ }
++
++ if (SQUASHFS_FRAGMENT_INDEX_BYTES_2(sblk->fragments) &&
++ !squashfs_read_data(s, (char *)
++ msblk->fragment_index_2,
++ sblk->fragment_table_start,
++ SQUASHFS_FRAGMENT_INDEX_BYTES_2
++ (sblk->fragments) |
++ SQUASHFS_COMPRESSED_BIT_BLOCK, NULL)) {
++ ERROR("unable to read fragment index table\n");
++ return 0;
++ }
++
++ if (msblk->swap) {
++ int i;
++ unsigned int fragment;
++
++ for (i = 0; i < SQUASHFS_FRAGMENT_INDEXES_2(sblk->fragments);
++ i++) {
++ SQUASHFS_SWAP_FRAGMENT_INDEXES_2((&fragment),
++ &msblk->fragment_index_2[i], 1);
++ msblk->fragment_index_2[i] = fragment;
++ }
++ }
++
++ return 1;
++}
++
++
++static int get_fragment_location_2(struct super_block *s, unsigned int fragment,
++ long long *fragment_start_block,
++ unsigned int *fragment_size)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ long long start_block =
++ msblk->fragment_index_2[SQUASHFS_FRAGMENT_INDEX_2(fragment)];
++ int offset = SQUASHFS_FRAGMENT_INDEX_OFFSET_2(fragment);
++ struct squashfs_fragment_entry_2 fragment_entry;
++
++ if (msblk->swap) {
++ struct squashfs_fragment_entry_2 sfragment_entry;
++
++ if (!squashfs_get_cached_block(s, (char *) &sfragment_entry,
++ start_block, offset,
++ sizeof(sfragment_entry), &start_block,
++ &offset))
++ goto out;
++ SQUASHFS_SWAP_FRAGMENT_ENTRY_2(&fragment_entry, &sfragment_entry);
++ } else
++ if (!squashfs_get_cached_block(s, (char *) &fragment_entry,
++ start_block, offset,
++ sizeof(fragment_entry), &start_block,
++ &offset))
++ goto out;
++
++ *fragment_start_block = fragment_entry.start_block;
++ *fragment_size = fragment_entry.size;
++
++ return 1;
++
++out:
++ return 0;
++}
++
++
++static struct inode *squashfs_new_inode(struct super_block *s,
++ struct squashfs_base_inode_header_2 *inodeb, unsigned int ino)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ struct inode *i = new_inode(s);
++
++ if (i) {
++ i->i_ino = ino;
++ i->i_mtime.tv_sec = sblk->mkfs_time;
++ i->i_atime.tv_sec = sblk->mkfs_time;
++ i->i_ctime.tv_sec = sblk->mkfs_time;
++ i->i_uid = msblk->uid[inodeb->uid];
++ i->i_mode = inodeb->mode;
++ i->i_nlink = 1;
++ i->i_size = 0;
++ if (inodeb->guid == SQUASHFS_GUIDS)
++ i->i_gid = i->i_uid;
++ else
++ i->i_gid = msblk->guid[inodeb->guid];
++ }
++
++ return i;
++}
++
++
++static struct inode *squashfs_iget_2(struct super_block *s, squashfs_inode_t inode)
++{
++ struct inode *i;
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ unsigned int block = SQUASHFS_INODE_BLK(inode) +
++ sblk->inode_table_start;
++ unsigned int offset = SQUASHFS_INODE_OFFSET(inode);
++ unsigned int ino = SQUASHFS_MK_VFS_INODE(block
++ - sblk->inode_table_start, offset);
++ long long next_block;
++ unsigned int next_offset;
++ union squashfs_inode_header_2 id, sid;
++ struct squashfs_base_inode_header_2 *inodeb = &id.base,
++ *sinodeb = &sid.base;
++
++ TRACE("Entered squashfs_iget\n");
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *) sinodeb, block,
++ offset, sizeof(*sinodeb), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_BASE_INODE_HEADER_2(inodeb, sinodeb,
++ sizeof(*sinodeb));
++ } else
++ if (!squashfs_get_cached_block(s, (char *) inodeb, block,
++ offset, sizeof(*inodeb), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ switch(inodeb->inode_type) {
++ case SQUASHFS_FILE_TYPE: {
++ struct squashfs_reg_inode_header_2 *inodep = &id.reg;
++ struct squashfs_reg_inode_header_2 *sinodep = &sid.reg;
++ long long frag_blk;
++ unsigned int frag_size;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_REG_INODE_HEADER_2(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ frag_blk = SQUASHFS_INVALID_BLK;
++ if (inodep->fragment != SQUASHFS_INVALID_FRAG &&
++ !get_fragment_location_2(s,
++ inodep->fragment, &frag_blk, &frag_size))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_size = inodep->file_size;
++ i->i_fop = &generic_ro_fops;
++ i->i_mode |= S_IFREG;
++ i->i_mtime.tv_sec = inodep->mtime;
++ i->i_atime.tv_sec = inodep->mtime;
++ i->i_ctime.tv_sec = inodep->mtime;
++ i->i_blocks = ((i->i_size - 1) >> 9) + 1;
++ i->i_blksize = PAGE_CACHE_SIZE;
++ SQUASHFS_I(i)->u.s1.fragment_start_block = frag_blk;
++ SQUASHFS_I(i)->u.s1.fragment_size = frag_size;
++ SQUASHFS_I(i)->u.s1.fragment_offset = inodep->offset;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->u.s1.block_list_start = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++ if (sblk->block_size > 4096)
++ i->i_data.a_ops = &squashfs_aops;
++ else
++ i->i_data.a_ops = &squashfs_aops_4K;
++
++ TRACE("File inode %x:%x, start_block %x, "
++ "block_list_start %llx, offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, next_block,
++ next_offset);
++ break;
++ }
++ case SQUASHFS_DIR_TYPE: {
++ struct squashfs_dir_inode_header_2 *inodep = &id.dir;
++ struct squashfs_dir_inode_header_2 *sinodep = &sid.dir;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_DIR_INODE_HEADER_2(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_size = inodep->file_size;
++ i->i_op = &squashfs_dir_inode_ops_2;
++ i->i_fop = &squashfs_dir_ops_2;
++ i->i_mode |= S_IFDIR;
++ i->i_mtime.tv_sec = inodep->mtime;
++ i->i_atime.tv_sec = inodep->mtime;
++ i->i_ctime.tv_sec = inodep->mtime;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->offset = inodep->offset;
++ SQUASHFS_I(i)->u.s2.directory_index_count = 0;
++ SQUASHFS_I(i)->u.s2.parent_inode = 0;
++
++ TRACE("Directory inode %x:%x, start_block %x, offset "
++ "%x\n", SQUASHFS_INODE_BLK(inode),
++ offset, inodep->start_block,
++ inodep->offset);
++ break;
++ }
++ case SQUASHFS_LDIR_TYPE: {
++ struct squashfs_ldir_inode_header_2 *inodep = &id.ldir;
++ struct squashfs_ldir_inode_header_2 *sinodep = &sid.ldir;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_LDIR_INODE_HEADER_2(inodep,
++ sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_size = inodep->file_size;
++ i->i_op = &squashfs_dir_inode_ops_2;
++ i->i_fop = &squashfs_dir_ops_2;
++ i->i_mode |= S_IFDIR;
++ i->i_mtime.tv_sec = inodep->mtime;
++ i->i_atime.tv_sec = inodep->mtime;
++ i->i_ctime.tv_sec = inodep->mtime;
++ SQUASHFS_I(i)->start_block = inodep->start_block;
++ SQUASHFS_I(i)->offset = inodep->offset;
++ SQUASHFS_I(i)->u.s2.directory_index_start = next_block;
++ SQUASHFS_I(i)->u.s2.directory_index_offset =
++ next_offset;
++ SQUASHFS_I(i)->u.s2.directory_index_count =
++ inodep->i_count;
++ SQUASHFS_I(i)->u.s2.parent_inode = 0;
++
++ TRACE("Long directory inode %x:%x, start_block %x, "
++ "offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->start_block, inodep->offset);
++ break;
++ }
++ case SQUASHFS_SYMLINK_TYPE: {
++ struct squashfs_symlink_inode_header_2 *inodep =
++ &id.symlink;
++ struct squashfs_symlink_inode_header_2 *sinodep =
++ &sid.symlink;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_SYMLINK_INODE_HEADER_2(inodep,
++ sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_size = inodep->symlink_size;
++ i->i_op = &page_symlink_inode_operations;
++ i->i_data.a_ops = &squashfs_symlink_aops;
++ i->i_mode |= S_IFLNK;
++ SQUASHFS_I(i)->start_block = next_block;
++ SQUASHFS_I(i)->offset = next_offset;
++
++ TRACE("Symbolic link inode %x:%x, start_block %llx, "
++ "offset %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ next_block, next_offset);
++ break;
++ }
++ case SQUASHFS_BLKDEV_TYPE:
++ case SQUASHFS_CHRDEV_TYPE: {
++ struct squashfs_dev_inode_header_2 *inodep = &id.dev;
++ struct squashfs_dev_inode_header_2 *sinodep = &sid.dev;
++
++ if (msblk->swap) {
++ if (!squashfs_get_cached_block(s, (char *)
++ sinodep, block, offset,
++ sizeof(*sinodep), &next_block,
++ &next_offset))
++ goto failed_read;
++ SQUASHFS_SWAP_DEV_INODE_HEADER_2(inodep, sinodep);
++ } else
++ if (!squashfs_get_cached_block(s, (char *)
++ inodep, block, offset,
++ sizeof(*inodep), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ if ((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_mode |= (inodeb->inode_type ==
++ SQUASHFS_CHRDEV_TYPE) ? S_IFCHR :
++ S_IFBLK;
++ init_special_inode(i, i->i_mode,
++ old_decode_dev(inodep->rdev));
++
++ TRACE("Device inode %x:%x, rdev %x\n",
++ SQUASHFS_INODE_BLK(inode), offset,
++ inodep->rdev);
++ break;
++ }
++ case SQUASHFS_FIFO_TYPE:
++ case SQUASHFS_SOCKET_TYPE: {
++ if ((i = squashfs_new_inode(s, inodeb, ino)) == NULL)
++ goto failed_read1;
++
++ i->i_mode |= (inodeb->inode_type == SQUASHFS_FIFO_TYPE)
++ ? S_IFIFO : S_IFSOCK;
++ init_special_inode(i, i->i_mode, 0);
++ break;
++ }
++ default:
++ ERROR("Unknown inode type %d in squashfs_iget!\n",
++ inodeb->inode_type);
++ goto failed_read1;
++ }
++
++ insert_inode_hash(i);
++ return i;
++
++failed_read:
++ ERROR("Unable to read inode [%x:%x]\n", block, offset);
++
++failed_read1:
++ return NULL;
++}
++
++
++static int get_dir_index_using_offset(struct super_block *s, long long
++ *next_block, unsigned int *next_offset,
++ long long index_start,
++ unsigned int index_offset, int i_count,
++ long long f_pos)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int i, length = 0;
++ struct squashfs_dir_index_2 index;
++
++ TRACE("Entered get_dir_index_using_offset, i_count %d, f_pos %d\n",
++ i_count, (unsigned int) f_pos);
++
++ if (f_pos == 0)
++ goto finish;
++
++ for (i = 0; i < i_count; i++) {
++ if (msblk->swap) {
++ struct squashfs_dir_index_2 sindex;
++ squashfs_get_cached_block(s, (char *) &sindex,
++ index_start, index_offset,
++ sizeof(sindex), &index_start,
++ &index_offset);
++ SQUASHFS_SWAP_DIR_INDEX_2(&index, &sindex);
++ } else
++ squashfs_get_cached_block(s, (char *) &index,
++ index_start, index_offset,
++ sizeof(index), &index_start,
++ &index_offset);
++
++ if (index.index > f_pos)
++ break;
++
++ squashfs_get_cached_block(s, NULL, index_start, index_offset,
++ index.size + 1, &index_start,
++ &index_offset);
++
++ length = index.index;
++ *next_block = index.start_block + sblk->directory_table_start;
++ }
++
++ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
++
++finish:
++ return length;
++}
++
++
++static int get_dir_index_using_name(struct super_block *s, long long
++ *next_block, unsigned int *next_offset,
++ long long index_start,
++ unsigned int index_offset, int i_count,
++ const char *name, int size)
++{
++ struct squashfs_sb_info *msblk = s->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ int i, length = 0;
++ char buffer[sizeof(struct squashfs_dir_index_2) + SQUASHFS_NAME_LEN + 1];
++ struct squashfs_dir_index_2 *index = (struct squashfs_dir_index_2 *) buffer;
++ char str[SQUASHFS_NAME_LEN + 1];
++
++ TRACE("Entered get_dir_index_using_name, i_count %d\n", i_count);
++
++ strncpy(str, name, size);
++ str[size] = '\0';
++
++ for (i = 0; i < i_count; i++) {
++ if (msblk->swap) {
++ struct squashfs_dir_index_2 sindex;
++ squashfs_get_cached_block(s, (char *) &sindex,
++ index_start, index_offset,
++ sizeof(sindex), &index_start,
++ &index_offset);
++ SQUASHFS_SWAP_DIR_INDEX_2(index, &sindex);
++ } else
++ squashfs_get_cached_block(s, (char *) index,
++ index_start, index_offset,
++ sizeof(struct squashfs_dir_index_2),
++ &index_start, &index_offset);
++
++ squashfs_get_cached_block(s, index->name, index_start,
++ index_offset, index->size + 1,
++ &index_start, &index_offset);
++
++ index->name[index->size + 1] = '\0';
++
++ if (strcmp(index->name, str) > 0)
++ break;
++
++ length = index->index;
++ *next_block = index->start_block + sblk->directory_table_start;
++ }
++
++ *next_offset = (length + *next_offset) % SQUASHFS_METADATA_SIZE;
++ return length;
++}
++
++
++static int squashfs_readdir_2(struct file *file, void *dirent, filldir_t filldir)
++{
++ struct inode *i = file->f_dentry->d_inode;
++ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long next_block = SQUASHFS_I(i)->start_block +
++ sblk->directory_table_start;
++ int next_offset = SQUASHFS_I(i)->offset, length = 0, dirs_read = 0,
++ dir_count;
++ struct squashfs_dir_header_2 dirh;
++ char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN + 1];
++ struct squashfs_dir_entry_2 *dire = (struct squashfs_dir_entry_2 *) buffer;
++
++ TRACE("Entered squashfs_readdir_2 [%llx:%x]\n", next_block, next_offset);
++
++ length = get_dir_index_using_offset(i->i_sb, &next_block, &next_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_start,
++ SQUASHFS_I(i)->u.s2.directory_index_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_count,
++ file->f_pos);
++
++ while (length < i_size_read(i)) {
++ /* read directory header */
++ if (msblk->swap) {
++ struct squashfs_dir_header_2 sdirh;
++
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
++ next_block, next_offset, sizeof(sdirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdirh);
++ SQUASHFS_SWAP_DIR_HEADER_2(&dirh, &sdirh);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
++ next_block, next_offset, sizeof(dirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(dirh);
++ }
++
++ dir_count = dirh.count + 1;
++ while (dir_count--) {
++ if (msblk->swap) {
++ struct squashfs_dir_entry_2 sdire;
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ &sdire, next_block, next_offset,
++ sizeof(sdire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdire);
++ SQUASHFS_SWAP_DIR_ENTRY_2(dire, &sdire);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ dire, next_block, next_offset,
++ sizeof(*dire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(*dire);
++ }
++
++ if (!squashfs_get_cached_block(i->i_sb, dire->name,
++ next_block, next_offset,
++ dire->size + 1, &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += dire->size + 1;
++
++ if (file->f_pos >= length)
++ continue;
++
++ dire->name[dire->size + 1] = '\0';
++
++ TRACE("Calling filldir(%x, %s, %d, %d, %x:%x, %d)\n",
++ (unsigned int) dirent, dire->name,
++ dire->size + 1, (int) file->f_pos,
++ dirh.start_block, dire->offset,
++ squashfs_filetype_table[dire->type]);
++
++ if (filldir(dirent, dire->name, dire->size + 1,
++ file->f_pos, SQUASHFS_MK_VFS_INODE(
++ dirh.start_block, dire->offset),
++ squashfs_filetype_table[dire->type])
++ < 0) {
++ TRACE("Filldir returned less than 0\n");
++ goto finish;
++ }
++ file->f_pos = length;
++ dirs_read++;
++ }
++ }
++
++finish:
++ return dirs_read;
++
++failed_read:
++ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
++ next_offset);
++ return 0;
++}
++
++
++static struct dentry *squashfs_lookup_2(struct inode *i, struct dentry *dentry,
++ struct nameidata *nd)
++{
++ const unsigned char *name = dentry->d_name.name;
++ int len = dentry->d_name.len;
++ struct inode *inode = NULL;
++ struct squashfs_sb_info *msblk = i->i_sb->s_fs_info;
++ struct squashfs_super_block *sblk = &msblk->sblk;
++ long long next_block = SQUASHFS_I(i)->start_block +
++ sblk->directory_table_start;
++ int next_offset = SQUASHFS_I(i)->offset, length = 0,
++ dir_count;
++ struct squashfs_dir_header_2 dirh;
++ char buffer[sizeof(struct squashfs_dir_entry_2) + SQUASHFS_NAME_LEN];
++ struct squashfs_dir_entry_2 *dire = (struct squashfs_dir_entry_2 *) buffer;
++ int sorted = sblk->s_major == 2 && sblk->s_minor >= 1;
++
++ TRACE("Entered squashfs_lookup [%llx:%x]\n", next_block, next_offset);
++
++ if (len > SQUASHFS_NAME_LEN)
++ goto exit_loop;
++
++ length = get_dir_index_using_name(i->i_sb, &next_block, &next_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_start,
++ SQUASHFS_I(i)->u.s2.directory_index_offset,
++ SQUASHFS_I(i)->u.s2.directory_index_count, name,
++ len);
++
++ while (length < i_size_read(i)) {
++ /* read directory header */
++ if (msblk->swap) {
++ struct squashfs_dir_header_2 sdirh;
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &sdirh,
++ next_block, next_offset, sizeof(sdirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdirh);
++ SQUASHFS_SWAP_DIR_HEADER_2(&dirh, &sdirh);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *) &dirh,
++ next_block, next_offset, sizeof(dirh),
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += sizeof(dirh);
++ }
++
++ dir_count = dirh.count + 1;
++ while (dir_count--) {
++ if (msblk->swap) {
++ struct squashfs_dir_entry_2 sdire;
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ &sdire, next_block,next_offset,
++ sizeof(sdire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(sdire);
++ SQUASHFS_SWAP_DIR_ENTRY_2(dire, &sdire);
++ } else {
++ if (!squashfs_get_cached_block(i->i_sb, (char *)
++ dire, next_block,next_offset,
++ sizeof(*dire), &next_block,
++ &next_offset))
++ goto failed_read;
++
++ length += sizeof(*dire);
++ }
++
++ if (!squashfs_get_cached_block(i->i_sb, dire->name,
++ next_block, next_offset, dire->size + 1,
++ &next_block, &next_offset))
++ goto failed_read;
++
++ length += dire->size + 1;
++
++ if (sorted && name[0] < dire->name[0])
++ goto exit_loop;
++
++ if ((len == dire->size + 1) && !strncmp(name,
++ dire->name, len)) {
++ squashfs_inode_t ino =
++ SQUASHFS_MKINODE(dirh.start_block,
++ dire->offset);
++
++ TRACE("calling squashfs_iget for directory "
++ "entry %s, inode %x:%x, %lld\n", name,
++ dirh.start_block, dire->offset, ino);
++
++ inode = (msblk->iget)(i->i_sb, ino);
++
++ goto exit_loop;
++ }
++ }
++ }
++
++exit_loop:
++ d_add(dentry, inode);
++ return ERR_PTR(0);
++
++failed_read:
++ ERROR("Unable to read directory block [%llx:%x]\n", next_block,
++ next_offset);
++ goto exit_loop;
++}
++
++
++int squashfs_2_0_supported(struct squashfs_sb_info *msblk)
++{
++ struct squashfs_super_block *sblk = &msblk->sblk;
++
++ msblk->iget = squashfs_iget_2;
++ msblk->read_fragment_index_table = read_fragment_index_table_2;
++
++ sblk->bytes_used = sblk->bytes_used_2;
++ sblk->uid_start = sblk->uid_start_2;
++ sblk->guid_start = sblk->guid_start_2;
++ sblk->inode_table_start = sblk->inode_table_start_2;
++ sblk->directory_table_start = sblk->directory_table_start_2;
++ sblk->fragment_table_start = sblk->fragment_table_start_2;
++
++ return 1;
++}
+diff --new-file -urp linux-2.6.15/fs/squashfs/squashfs.h linux-2.6.15-squashfs3.0/fs/squashfs/squashfs.h
+--- linux-2.6.15/fs/squashfs/squashfs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/fs/squashfs/squashfs.h 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,86 @@
++/*
++ * Squashfs - a compressed read only filesystem for Linux
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs.h
++ */
++
++#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
++#undef CONFIG_SQUASHFS_1_0_COMPATIBILITY
++#endif
++
++#ifdef SQUASHFS_TRACE
++#define TRACE(s, args...) printk(KERN_NOTICE "SQUASHFS: "s, ## args)
++#else
++#define TRACE(s, args...) {}
++#endif
++
++#define ERROR(s, args...) printk(KERN_ERR "SQUASHFS error: "s, ## args)
++
++#define SERROR(s, args...) do { \
++ if (!silent) \
++ printk(KERN_ERR "SQUASHFS error: "s, ## args);\
++ } while(0)
++
++#define WARNING(s, args...) printk(KERN_WARNING "SQUASHFS: "s, ## args)
++
++static inline struct squashfs_inode_info *SQUASHFS_I(struct inode *inode)
++{
++ return list_entry(inode, struct squashfs_inode_info, vfs_inode);
++}
++
++#if defined(CONFIG_SQUASHFS_1_0_COMPATIBILITY ) || defined(CONFIG_SQUASHFS_2_0_COMPATIBILITY)
++#define SQSH_EXTERN
++extern unsigned int squashfs_read_data(struct super_block *s, char *buffer,
++ long long index, unsigned int length,
++ long long *next_index);
++extern int squashfs_get_cached_block(struct super_block *s, char *buffer,
++ long long block, unsigned int offset,
++ int length, long long *next_block,
++ unsigned int *next_offset);
++extern void release_cached_fragment(struct squashfs_sb_info *msblk, struct
++ squashfs_fragment_cache *fragment);
++extern struct squashfs_fragment_cache *get_cached_fragment(struct super_block
++ *s, long long start_block,
++ int length);
++extern struct address_space_operations squashfs_symlink_aops;
++extern struct address_space_operations squashfs_aops;
++extern struct address_space_operations squashfs_aops_4K;
++extern struct inode_operations squashfs_dir_inode_ops;
++#else
++#define SQSH_EXTERN static
++#endif
++
++#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
++extern int squashfs_1_0_supported(struct squashfs_sb_info *msblk);
++#else
++static inline int squashfs_1_0_supported(struct squashfs_sb_info *msblk)
++{
++ return 0;
++}
++#endif
++
++#ifdef CONFIG_SQUASHFS_2_0_COMPATIBILITY
++extern int squashfs_2_0_supported(struct squashfs_sb_info *msblk);
++#else
++static inline int squashfs_2_0_supported(struct squashfs_sb_info *msblk)
++{
++ return 0;
++}
++#endif
+diff --new-file -urp linux-2.6.15/include/linux/squashfs_fs.h linux-2.6.15-squashfs3.0/include/linux/squashfs_fs.h
+--- linux-2.6.15/include/linux/squashfs_fs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/include/linux/squashfs_fs.h 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,911 @@
++#ifndef SQUASHFS_FS
++#define SQUASHFS_FS
++
++/*
++ * Squashfs
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs_fs.h
++ */
++
++#ifndef CONFIG_SQUASHFS_2_0_COMPATIBILITY
++#define CONFIG_SQUASHFS_2_0_COMPATIBILITY
++#endif
++
++#ifdef CONFIG_SQUASHFS_VMALLOC
++#define SQUASHFS_ALLOC(a) vmalloc(a)
++#define SQUASHFS_FREE(a) vfree(a)
++#else
++#define SQUASHFS_ALLOC(a) kmalloc(a, GFP_KERNEL)
++#define SQUASHFS_FREE(a) kfree(a)
++#endif
++#define SQUASHFS_CACHED_FRAGMENTS CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE
++#define SQUASHFS_MAJOR 3
++#define SQUASHFS_MINOR 0
++#define SQUASHFS_MAGIC 0x73717368
++#define SQUASHFS_MAGIC_SWAP 0x68737173
++#define SQUASHFS_START 0
++
++/* size of metadata (inode and directory) blocks */
++#define SQUASHFS_METADATA_SIZE 8192
++#define SQUASHFS_METADATA_LOG 13
++
++/* default size of data blocks */
++#define SQUASHFS_FILE_SIZE 65536
++#define SQUASHFS_FILE_LOG 16
++
++#define SQUASHFS_FILE_MAX_SIZE 65536
++
++/* Max number of uids and gids */
++#define SQUASHFS_UIDS 256
++#define SQUASHFS_GUIDS 255
++
++/* Max length of filename (not 255) */
++#define SQUASHFS_NAME_LEN 256
++
++#define SQUASHFS_INVALID ((long long) 0xffffffffffff)
++#define SQUASHFS_INVALID_FRAG ((unsigned int) 0xffffffff)
++#define SQUASHFS_INVALID_BLK ((long long) -1)
++#define SQUASHFS_USED_BLK ((long long) -2)
++
++/* Filesystem flags */
++#define SQUASHFS_NOI 0
++#define SQUASHFS_NOD 1
++#define SQUASHFS_CHECK 2
++#define SQUASHFS_NOF 3
++#define SQUASHFS_NO_FRAG 4
++#define SQUASHFS_ALWAYS_FRAG 5
++#define SQUASHFS_DUPLICATE 6
++
++#define SQUASHFS_BIT(flag, bit) ((flag >> bit) & 1)
++
++#define SQUASHFS_UNCOMPRESSED_INODES(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_NOI)
++
++#define SQUASHFS_UNCOMPRESSED_DATA(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_NOD)
++
++#define SQUASHFS_UNCOMPRESSED_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_NOF)
++
++#define SQUASHFS_NO_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_NO_FRAG)
++
++#define SQUASHFS_ALWAYS_FRAGMENTS(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_ALWAYS_FRAG)
++
++#define SQUASHFS_DUPLICATES(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_DUPLICATE)
++
++#define SQUASHFS_CHECK_DATA(flags) SQUASHFS_BIT(flags, \
++ SQUASHFS_CHECK)
++
++#define SQUASHFS_MKFLAGS(noi, nod, check_data, nof, no_frag, always_frag, \
++ duplicate_checking) (noi | (nod << 1) | (check_data << 2) \
++ | (nof << 3) | (no_frag << 4) | (always_frag << 5) | \
++ (duplicate_checking << 6))
++
++/* Max number of types and file types */
++#define SQUASHFS_DIR_TYPE 1
++#define SQUASHFS_FILE_TYPE 2
++#define SQUASHFS_SYMLINK_TYPE 3
++#define SQUASHFS_BLKDEV_TYPE 4
++#define SQUASHFS_CHRDEV_TYPE 5
++#define SQUASHFS_FIFO_TYPE 6
++#define SQUASHFS_SOCKET_TYPE 7
++#define SQUASHFS_LDIR_TYPE 8
++#define SQUASHFS_LREG_TYPE 9
++
++/* 1.0 filesystem type definitions */
++#define SQUASHFS_TYPES 5
++#define SQUASHFS_IPC_TYPE 0
++
++/* Flag whether block is compressed or uncompressed, bit is set if block is
++ * uncompressed */
++#define SQUASHFS_COMPRESSED_BIT (1 << 15)
++
++#define SQUASHFS_COMPRESSED_SIZE(B) (((B) & ~SQUASHFS_COMPRESSED_BIT) ? \
++ (B) & ~SQUASHFS_COMPRESSED_BIT : SQUASHFS_COMPRESSED_BIT)
++
++#define SQUASHFS_COMPRESSED(B) (!((B) & SQUASHFS_COMPRESSED_BIT))
++
++#define SQUASHFS_COMPRESSED_BIT_BLOCK (1 << 24)
++
++#define SQUASHFS_COMPRESSED_SIZE_BLOCK(B) (((B) & \
++ ~SQUASHFS_COMPRESSED_BIT_BLOCK) ? (B) & \
++ ~SQUASHFS_COMPRESSED_BIT_BLOCK : SQUASHFS_COMPRESSED_BIT_BLOCK)
++
++#define SQUASHFS_COMPRESSED_BLOCK(B) (!((B) & SQUASHFS_COMPRESSED_BIT_BLOCK))
++
++/*
++ * Inode number ops. Inodes consist of a compressed block number, and an
++ * uncompressed offset within that block
++ */
++#define SQUASHFS_INODE_BLK(a) ((unsigned int) ((a) >> 16))
++
++#define SQUASHFS_INODE_OFFSET(a) ((unsigned int) ((a) & 0xffff))
++
++#define SQUASHFS_MKINODE(A, B) ((squashfs_inode_t)(((squashfs_inode_t) (A)\
++ << 16) + (B)))
++
++/* Compute 32 bit VFS inode number from squashfs inode number */
++#define SQUASHFS_MK_VFS_INODE(a, b) ((unsigned int) (((a) << 8) + \
++ ((b) >> 2) + 1))
++/* XXX */
++
++/* Translate between VFS mode and squashfs mode */
++#define SQUASHFS_MODE(a) ((a) & 0xfff)
++
++/* fragment and fragment table defines */
++#define SQUASHFS_FRAGMENT_BYTES(A) (A * sizeof(struct squashfs_fragment_entry))
++
++#define SQUASHFS_FRAGMENT_INDEX(A) (SQUASHFS_FRAGMENT_BYTES(A) / \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEX_OFFSET(A) (SQUASHFS_FRAGMENT_BYTES(A) % \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEXES(A) ((SQUASHFS_FRAGMENT_BYTES(A) + \
++ SQUASHFS_METADATA_SIZE - 1) / \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEX_BYTES(A) (SQUASHFS_FRAGMENT_INDEXES(A) *\
++ sizeof(long long))
++
++/* cached data constants for filesystem */
++#define SQUASHFS_CACHED_BLKS 8
++
++#define SQUASHFS_MAX_FILE_SIZE_LOG 64
++
++#define SQUASHFS_MAX_FILE_SIZE ((long long) 1 << \
++ (SQUASHFS_MAX_FILE_SIZE_LOG - 2))
++
++#define SQUASHFS_MARKER_BYTE 0xff
++
++/* meta index cache */
++#define SQUASHFS_META_INDEXES (SQUASHFS_METADATA_SIZE / sizeof(unsigned int))
++#define SQUASHFS_META_ENTRIES 31
++#define SQUASHFS_META_NUMBER 8
++#define SQUASHFS_SLOTS 4
++
++struct meta_entry {
++ long long data_block;
++ unsigned int index_block;
++ unsigned short offset;
++ unsigned short pad;
++};
++
++struct meta_index {
++ unsigned int inode_number;
++ unsigned int offset;
++ unsigned short entries;
++ unsigned short skip;
++ unsigned short locked;
++ unsigned short pad;
++ struct meta_entry meta_entry[SQUASHFS_META_ENTRIES];
++};
++
++
++/*
++ * definitions for structures on disk
++ */
++
++typedef long long squashfs_block_t;
++typedef long long squashfs_inode_t;
++
++struct squashfs_super_block {
++ unsigned int s_magic;
++ unsigned int inodes;
++ unsigned int bytes_used_2;
++ unsigned int uid_start_2;
++ unsigned int guid_start_2;
++ unsigned int inode_table_start_2;
++ unsigned int directory_table_start_2;
++ unsigned int s_major:16;
++ unsigned int s_minor:16;
++ unsigned int block_size_1:16;
++ unsigned int block_log:16;
++ unsigned int flags:8;
++ unsigned int no_uids:8;
++ unsigned int no_guids:8;
++ unsigned int mkfs_time /* time of filesystem creation */;
++ squashfs_inode_t root_inode;
++ unsigned int block_size;
++ unsigned int fragments;
++ unsigned int fragment_table_start_2;
++ long long bytes_used;
++ long long uid_start;
++ long long guid_start;
++ long long inode_table_start;
++ long long directory_table_start;
++ long long fragment_table_start;
++ long long unused;
++} __attribute__ ((packed));
++
++struct squashfs_dir_index {
++ unsigned int index;
++ unsigned int start_block;
++ unsigned char size;
++ unsigned char name[0];
++} __attribute__ ((packed));
++
++#define SQUASHFS_BASE_INODE_HEADER \
++ unsigned int inode_type:4; \
++ unsigned int mode:12; \
++ unsigned int uid:8; \
++ unsigned int guid:8; \
++ unsigned int mtime; \
++ unsigned int inode_number;
++
++struct squashfs_base_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++} __attribute__ ((packed));
++
++struct squashfs_ipc_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++} __attribute__ ((packed));
++
++struct squashfs_dev_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ unsigned short rdev;
++} __attribute__ ((packed));
++
++struct squashfs_symlink_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ unsigned short symlink_size;
++ char symlink[0];
++} __attribute__ ((packed));
++
++struct squashfs_reg_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ squashfs_block_t start_block;
++ unsigned int fragment;
++ unsigned int offset;
++ unsigned int file_size;
++ unsigned short block_list[0];
++} __attribute__ ((packed));
++
++struct squashfs_lreg_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ squashfs_block_t start_block;
++ unsigned int fragment;
++ unsigned int offset;
++ long long file_size;
++ unsigned short block_list[0];
++} __attribute__ ((packed));
++
++struct squashfs_dir_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ unsigned int file_size:19;
++ unsigned int offset:13;
++ unsigned int start_block;
++ unsigned int parent_inode;
++} __attribute__ ((packed));
++
++struct squashfs_ldir_inode_header {
++ SQUASHFS_BASE_INODE_HEADER;
++ unsigned int nlink;
++ unsigned int file_size:27;
++ unsigned int offset:13;
++ unsigned int start_block;
++ unsigned int i_count:16;
++ unsigned int parent_inode;
++ struct squashfs_dir_index index[0];
++} __attribute__ ((packed));
++
++union squashfs_inode_header {
++ struct squashfs_base_inode_header base;
++ struct squashfs_dev_inode_header dev;
++ struct squashfs_symlink_inode_header symlink;
++ struct squashfs_reg_inode_header reg;
++ struct squashfs_lreg_inode_header lreg;
++ struct squashfs_dir_inode_header dir;
++ struct squashfs_ldir_inode_header ldir;
++ struct squashfs_ipc_inode_header ipc;
++};
++
++struct squashfs_dir_entry {
++ unsigned int offset:13;
++ unsigned int type:3;
++ unsigned int size:8;
++ int inode_number:16;
++ char name[0];
++} __attribute__ ((packed));
++
++struct squashfs_dir_header {
++ unsigned int count:8;
++ unsigned int start_block;
++ unsigned int inode_number;
++} __attribute__ ((packed));
++
++struct squashfs_fragment_entry {
++ long long start_block;
++ unsigned int size;
++ unsigned int unused;
++} __attribute__ ((packed));
++
++extern int squashfs_uncompress_block(void *d, int dstlen, void *s, int srclen);
++extern int squashfs_uncompress_init(void);
++extern int squashfs_uncompress_exit(void);
++
++/*
++ * macros to convert each packed bitfield structure from little endian to big
++ * endian and vice versa. These are needed when creating or using a filesystem
++ * on a machine with different byte ordering to the target architecture.
++ *
++ */
++
++#define SQUASHFS_SWAP_START \
++ int bits;\
++ int b_pos;\
++ unsigned long long val;\
++ unsigned char *s;\
++ unsigned char *d;
++
++#define SQUASHFS_SWAP_SUPER_BLOCK(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_super_block));\
++ SQUASHFS_SWAP((s)->s_magic, d, 0, 32);\
++ SQUASHFS_SWAP((s)->inodes, d, 32, 32);\
++ SQUASHFS_SWAP((s)->bytes_used_2, d, 64, 32);\
++ SQUASHFS_SWAP((s)->uid_start_2, d, 96, 32);\
++ SQUASHFS_SWAP((s)->guid_start_2, d, 128, 32);\
++ SQUASHFS_SWAP((s)->inode_table_start_2, d, 160, 32);\
++ SQUASHFS_SWAP((s)->directory_table_start_2, d, 192, 32);\
++ SQUASHFS_SWAP((s)->s_major, d, 224, 16);\
++ SQUASHFS_SWAP((s)->s_minor, d, 240, 16);\
++ SQUASHFS_SWAP((s)->block_size_1, d, 256, 16);\
++ SQUASHFS_SWAP((s)->block_log, d, 272, 16);\
++ SQUASHFS_SWAP((s)->flags, d, 288, 8);\
++ SQUASHFS_SWAP((s)->no_uids, d, 296, 8);\
++ SQUASHFS_SWAP((s)->no_guids, d, 304, 8);\
++ SQUASHFS_SWAP((s)->mkfs_time, d, 312, 32);\
++ SQUASHFS_SWAP((s)->root_inode, d, 344, 64);\
++ SQUASHFS_SWAP((s)->block_size, d, 408, 32);\
++ SQUASHFS_SWAP((s)->fragments, d, 440, 32);\
++ SQUASHFS_SWAP((s)->fragment_table_start_2, d, 472, 32);\
++ SQUASHFS_SWAP((s)->bytes_used, d, 504, 64);\
++ SQUASHFS_SWAP((s)->uid_start, d, 568, 64);\
++ SQUASHFS_SWAP((s)->guid_start, d, 632, 64);\
++ SQUASHFS_SWAP((s)->inode_table_start, d, 696, 64);\
++ SQUASHFS_SWAP((s)->directory_table_start, d, 760, 64);\
++ SQUASHFS_SWAP((s)->fragment_table_start, d, 824, 64);\
++ SQUASHFS_SWAP((s)->unused, d, 888, 64);\
++}
++
++#define SQUASHFS_SWAP_BASE_INODE_CORE(s, d, n)\
++ SQUASHFS_MEMSET(s, d, n);\
++ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
++ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
++ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
++ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
++ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
++ SQUASHFS_SWAP((s)->inode_number, d, 64, 32);
++
++#define SQUASHFS_SWAP_BASE_INODE_HEADER(s, d, n) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, n)\
++}
++
++#define SQUASHFS_SWAP_IPC_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_ipc_inode_header))\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++}
++
++#define SQUASHFS_SWAP_DEV_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_dev_inode_header)); \
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->rdev, d, 128, 16);\
++}
++
++#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_symlink_inode_header));\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->symlink_size, d, 128, 16);\
++}
++
++#define SQUASHFS_SWAP_REG_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_reg_inode_header));\
++ SQUASHFS_SWAP((s)->start_block, d, 96, 64);\
++ SQUASHFS_SWAP((s)->fragment, d, 160, 32);\
++ SQUASHFS_SWAP((s)->offset, d, 192, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 224, 32);\
++}
++
++#define SQUASHFS_SWAP_LREG_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_lreg_inode_header));\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 128, 64);\
++ SQUASHFS_SWAP((s)->fragment, d, 192, 32);\
++ SQUASHFS_SWAP((s)->offset, d, 224, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 256, 64);\
++}
++
++#define SQUASHFS_SWAP_DIR_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_dir_inode_header));\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 128, 19);\
++ SQUASHFS_SWAP((s)->offset, d, 147, 13);\
++ SQUASHFS_SWAP((s)->start_block, d, 160, 32);\
++ SQUASHFS_SWAP((s)->parent_inode, d, 192, 32);\
++}
++
++#define SQUASHFS_SWAP_LDIR_INODE_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE(s, d, \
++ sizeof(struct squashfs_ldir_inode_header));\
++ SQUASHFS_SWAP((s)->nlink, d, 96, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 128, 27);\
++ SQUASHFS_SWAP((s)->offset, d, 155, 13);\
++ SQUASHFS_SWAP((s)->start_block, d, 168, 32);\
++ SQUASHFS_SWAP((s)->i_count, d, 200, 16);\
++ SQUASHFS_SWAP((s)->parent_inode, d, 216, 32);\
++}
++
++#define SQUASHFS_SWAP_DIR_INDEX(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_index));\
++ SQUASHFS_SWAP((s)->index, d, 0, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 32, 32);\
++ SQUASHFS_SWAP((s)->size, d, 64, 8);\
++}
++
++#define SQUASHFS_SWAP_DIR_HEADER(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_header));\
++ SQUASHFS_SWAP((s)->count, d, 0, 8);\
++ SQUASHFS_SWAP((s)->start_block, d, 8, 32);\
++ SQUASHFS_SWAP((s)->inode_number, d, 40, 32);\
++}
++
++#define SQUASHFS_SWAP_DIR_ENTRY(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_entry));\
++ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
++ SQUASHFS_SWAP((s)->type, d, 13, 3);\
++ SQUASHFS_SWAP((s)->size, d, 16, 8);\
++ SQUASHFS_SWAP((s)->inode_number, d, 24, 16);\
++}
++
++#define SQUASHFS_SWAP_FRAGMENT_ENTRY(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_fragment_entry));\
++ SQUASHFS_SWAP((s)->start_block, d, 0, 64);\
++ SQUASHFS_SWAP((s)->size, d, 64, 32);\
++}
++
++#define SQUASHFS_SWAP_SHORTS(s, d, n) {\
++ int entry;\
++ int bit_position;\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, n * 2);\
++ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
++ 16)\
++ SQUASHFS_SWAP(s[entry], d, bit_position, 16);\
++}
++
++#define SQUASHFS_SWAP_INTS(s, d, n) {\
++ int entry;\
++ int bit_position;\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, n * 4);\
++ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
++ 32)\
++ SQUASHFS_SWAP(s[entry], d, bit_position, 32);\
++}
++
++#define SQUASHFS_SWAP_LONG_LONGS(s, d, n) {\
++ int entry;\
++ int bit_position;\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, n * 8);\
++ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
++ 64)\
++ SQUASHFS_SWAP(s[entry], d, bit_position, 64);\
++}
++
++#define SQUASHFS_SWAP_DATA(s, d, n, bits) {\
++ int entry;\
++ int bit_position;\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, n * bits / 8);\
++ for(entry = 0, bit_position = 0; entry < n; entry++, bit_position += \
++ bits)\
++ SQUASHFS_SWAP(s[entry], d, bit_position, bits);\
++}
++
++#define SQUASHFS_SWAP_FRAGMENT_INDEXES(s, d, n) SQUASHFS_SWAP_LONG_LONGS(s, d, n)
++
++#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
++
++struct squashfs_base_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++} __attribute__ ((packed));
++
++struct squashfs_ipc_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned int type:4;
++ unsigned int offset:4;
++} __attribute__ ((packed));
++
++struct squashfs_dev_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned short rdev;
++} __attribute__ ((packed));
++
++struct squashfs_symlink_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned short symlink_size;
++ char symlink[0];
++} __attribute__ ((packed));
++
++struct squashfs_reg_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned int mtime;
++ unsigned int start_block;
++ unsigned int file_size:32;
++ unsigned short block_list[0];
++} __attribute__ ((packed));
++
++struct squashfs_dir_inode_header_1 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:4; /* index into uid table */
++ unsigned int guid:4; /* index into guid table */
++ unsigned int file_size:19;
++ unsigned int offset:13;
++ unsigned int mtime;
++ unsigned int start_block:24;
++} __attribute__ ((packed));
++
++#define SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, n) \
++ SQUASHFS_MEMSET(s, d, n);\
++ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
++ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
++ SQUASHFS_SWAP((s)->uid, d, 16, 4);\
++ SQUASHFS_SWAP((s)->guid, d, 20, 4);
++
++#define SQUASHFS_SWAP_BASE_INODE_HEADER_1(s, d, n) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, n)\
++}
++
++#define SQUASHFS_SWAP_IPC_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_ipc_inode_header_1));\
++ SQUASHFS_SWAP((s)->type, d, 24, 4);\
++ SQUASHFS_SWAP((s)->offset, d, 28, 4);\
++}
++
++#define SQUASHFS_SWAP_DEV_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_dev_inode_header_1));\
++ SQUASHFS_SWAP((s)->rdev, d, 24, 16);\
++}
++
++#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_symlink_inode_header_1));\
++ SQUASHFS_SWAP((s)->symlink_size, d, 24, 16);\
++}
++
++#define SQUASHFS_SWAP_REG_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_reg_inode_header_1));\
++ SQUASHFS_SWAP((s)->mtime, d, 24, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 56, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 88, 32);\
++}
++
++#define SQUASHFS_SWAP_DIR_INODE_HEADER_1(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_1(s, d, \
++ sizeof(struct squashfs_dir_inode_header_1));\
++ SQUASHFS_SWAP((s)->file_size, d, 24, 19);\
++ SQUASHFS_SWAP((s)->offset, d, 43, 13);\
++ SQUASHFS_SWAP((s)->mtime, d, 56, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 88, 24);\
++}
++
++#endif
++
++#ifdef CONFIG_SQUASHFS_2_0_COMPATIBILITY
++
++struct squashfs_dir_index_2 {
++ unsigned int index:27;
++ unsigned int start_block:29;
++ unsigned char size;
++ unsigned char name[0];
++} __attribute__ ((packed));
++
++struct squashfs_base_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++} __attribute__ ((packed));
++
++struct squashfs_ipc_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++} __attribute__ ((packed));
++
++struct squashfs_dev_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned short rdev;
++} __attribute__ ((packed));
++
++struct squashfs_symlink_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned short symlink_size;
++ char symlink[0];
++} __attribute__ ((packed));
++
++struct squashfs_reg_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned int mtime;
++ unsigned int start_block;
++ unsigned int fragment;
++ unsigned int offset;
++ unsigned int file_size:32;
++ unsigned short block_list[0];
++} __attribute__ ((packed));
++
++struct squashfs_dir_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned int file_size:19;
++ unsigned int offset:13;
++ unsigned int mtime;
++ unsigned int start_block:24;
++} __attribute__ ((packed));
++
++struct squashfs_ldir_inode_header_2 {
++ unsigned int inode_type:4;
++ unsigned int mode:12; /* protection */
++ unsigned int uid:8; /* index into uid table */
++ unsigned int guid:8; /* index into guid table */
++ unsigned int file_size:27;
++ unsigned int offset:13;
++ unsigned int mtime;
++ unsigned int start_block:24;
++ unsigned int i_count:16;
++ struct squashfs_dir_index_2 index[0];
++} __attribute__ ((packed));
++
++union squashfs_inode_header_2 {
++ struct squashfs_base_inode_header_2 base;
++ struct squashfs_dev_inode_header_2 dev;
++ struct squashfs_symlink_inode_header_2 symlink;
++ struct squashfs_reg_inode_header_2 reg;
++ struct squashfs_dir_inode_header_2 dir;
++ struct squashfs_ldir_inode_header_2 ldir;
++ struct squashfs_ipc_inode_header_2 ipc;
++};
++
++struct squashfs_dir_header_2 {
++ unsigned int count:8;
++ unsigned int start_block:24;
++} __attribute__ ((packed));
++
++struct squashfs_dir_entry_2 {
++ unsigned int offset:13;
++ unsigned int type:3;
++ unsigned int size:8;
++ char name[0];
++} __attribute__ ((packed));
++
++struct squashfs_fragment_entry_2 {
++ unsigned int start_block;
++ unsigned int size;
++} __attribute__ ((packed));
++
++#define SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, n)\
++ SQUASHFS_MEMSET(s, d, n);\
++ SQUASHFS_SWAP((s)->inode_type, d, 0, 4);\
++ SQUASHFS_SWAP((s)->mode, d, 4, 12);\
++ SQUASHFS_SWAP((s)->uid, d, 16, 8);\
++ SQUASHFS_SWAP((s)->guid, d, 24, 8);\
++
++#define SQUASHFS_SWAP_BASE_INODE_HEADER_2(s, d, n) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, n)\
++}
++
++#define SQUASHFS_SWAP_IPC_INODE_HEADER_2(s, d) \
++ SQUASHFS_SWAP_BASE_INODE_HEADER_2(s, d, sizeof(struct squashfs_ipc_inode_header_2))
++
++#define SQUASHFS_SWAP_DEV_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_dev_inode_header_2)); \
++ SQUASHFS_SWAP((s)->rdev, d, 32, 16);\
++}
++
++#define SQUASHFS_SWAP_SYMLINK_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_symlink_inode_header_2));\
++ SQUASHFS_SWAP((s)->symlink_size, d, 32, 16);\
++}
++
++#define SQUASHFS_SWAP_REG_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_reg_inode_header_2));\
++ SQUASHFS_SWAP((s)->mtime, d, 32, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 64, 32);\
++ SQUASHFS_SWAP((s)->fragment, d, 96, 32);\
++ SQUASHFS_SWAP((s)->offset, d, 128, 32);\
++ SQUASHFS_SWAP((s)->file_size, d, 160, 32);\
++}
++
++#define SQUASHFS_SWAP_DIR_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_dir_inode_header_2));\
++ SQUASHFS_SWAP((s)->file_size, d, 32, 19);\
++ SQUASHFS_SWAP((s)->offset, d, 51, 13);\
++ SQUASHFS_SWAP((s)->mtime, d, 64, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 96, 24);\
++}
++
++#define SQUASHFS_SWAP_LDIR_INODE_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_SWAP_BASE_INODE_CORE_2(s, d, \
++ sizeof(struct squashfs_ldir_inode_header_2));\
++ SQUASHFS_SWAP((s)->file_size, d, 32, 27);\
++ SQUASHFS_SWAP((s)->offset, d, 59, 13);\
++ SQUASHFS_SWAP((s)->mtime, d, 72, 32);\
++ SQUASHFS_SWAP((s)->start_block, d, 104, 24);\
++ SQUASHFS_SWAP((s)->i_count, d, 128, 16);\
++}
++
++#define SQUASHFS_SWAP_DIR_INDEX_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_index_2));\
++ SQUASHFS_SWAP((s)->index, d, 0, 27);\
++ SQUASHFS_SWAP((s)->start_block, d, 27, 29);\
++ SQUASHFS_SWAP((s)->size, d, 56, 8);\
++}
++#define SQUASHFS_SWAP_DIR_HEADER_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_header_2));\
++ SQUASHFS_SWAP((s)->count, d, 0, 8);\
++ SQUASHFS_SWAP((s)->start_block, d, 8, 24);\
++}
++
++#define SQUASHFS_SWAP_DIR_ENTRY_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_dir_entry_2));\
++ SQUASHFS_SWAP((s)->offset, d, 0, 13);\
++ SQUASHFS_SWAP((s)->type, d, 13, 3);\
++ SQUASHFS_SWAP((s)->size, d, 16, 8);\
++}
++
++#define SQUASHFS_SWAP_FRAGMENT_ENTRY_2(s, d) {\
++ SQUASHFS_SWAP_START\
++ SQUASHFS_MEMSET(s, d, sizeof(struct squashfs_fragment_entry_2));\
++ SQUASHFS_SWAP((s)->start_block, d, 0, 32);\
++ SQUASHFS_SWAP((s)->size, d, 32, 32);\
++}
++
++#define SQUASHFS_SWAP_FRAGMENT_INDEXES_2(s, d, n) SQUASHFS_SWAP_INTS(s, d, n)
++
++/* fragment and fragment table defines */
++#define SQUASHFS_FRAGMENT_BYTES_2(A) (A * sizeof(struct squashfs_fragment_entry_2))
++
++#define SQUASHFS_FRAGMENT_INDEX_2(A) (SQUASHFS_FRAGMENT_BYTES_2(A) / \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEX_OFFSET_2(A) (SQUASHFS_FRAGMENT_BYTES_2(A) % \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEXES_2(A) ((SQUASHFS_FRAGMENT_BYTES_2(A) + \
++ SQUASHFS_METADATA_SIZE - 1) / \
++ SQUASHFS_METADATA_SIZE)
++
++#define SQUASHFS_FRAGMENT_INDEX_BYTES_2(A) (SQUASHFS_FRAGMENT_INDEXES_2(A) *\
++ sizeof(int))
++
++#endif
++
++#ifdef __KERNEL__
++
++/*
++ * macros used to swap each structure entry, taking into account
++ * bitfields and different bitfield placing conventions on differing
++ * architectures
++ */
++
++#include <asm/byteorder.h>
++
++#ifdef __BIG_ENDIAN
++ /* convert from little endian to big endian */
++#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, \
++ tbits, b_pos)
++#else
++ /* convert from big endian to little endian */
++#define SQUASHFS_SWAP(value, p, pos, tbits) _SQUASHFS_SWAP(value, p, pos, \
++ tbits, 64 - tbits - b_pos)
++#endif
++
++#define _SQUASHFS_SWAP(value, p, pos, tbits, SHIFT) {\
++ b_pos = pos % 8;\
++ val = 0;\
++ s = (unsigned char *)p + (pos / 8);\
++ d = ((unsigned char *) &val) + 7;\
++ for(bits = 0; bits < (tbits + b_pos); bits += 8) \
++ *d-- = *s++;\
++ value = (val >> (SHIFT))/* & ((1 << tbits) - 1)*/;\
++}
++
++#define SQUASHFS_MEMSET(s, d, n) memset(s, 0, n);
++
++#endif
++#endif
+diff --new-file -urp linux-2.6.15/include/linux/squashfs_fs_i.h linux-2.6.15-squashfs3.0/include/linux/squashfs_fs_i.h
+--- linux-2.6.15/include/linux/squashfs_fs_i.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/include/linux/squashfs_fs_i.h 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,45 @@
++#ifndef SQUASHFS_FS_I
++#define SQUASHFS_FS_I
++/*
++ * Squashfs
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs_fs_i.h
++ */
++
++struct squashfs_inode_info {
++ long long start_block;
++ unsigned int offset;
++ union {
++ struct {
++ long long fragment_start_block;
++ unsigned int fragment_size;
++ unsigned int fragment_offset;
++ long long block_list_start;
++ } s1;
++ struct {
++ long long directory_index_start;
++ unsigned int directory_index_offset;
++ unsigned int directory_index_count;
++ unsigned int parent_inode;
++ } s2;
++ } u;
++ struct inode vfs_inode;
++};
++#endif
+diff --new-file -urp linux-2.6.15/include/linux/squashfs_fs_sb.h linux-2.6.15-squashfs3.0/include/linux/squashfs_fs_sb.h
+--- linux-2.6.15/include/linux/squashfs_fs_sb.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.15-squashfs3.0/include/linux/squashfs_fs_sb.h 2006-03-07 21:12:37.000000000 +0000
+@@ -0,0 +1,74 @@
++#ifndef SQUASHFS_FS_SB
++#define SQUASHFS_FS_SB
++/*
++ * Squashfs
++ *
++ * Copyright (c) 2002, 2003, 2004, 2005, 2006
++ * Phillip Lougher <phillip@lougher.org.uk>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2,
++ * or (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ * squashfs_fs_sb.h
++ */
++
++#include <linux/squashfs_fs.h>
++
++struct squashfs_cache {
++ long long block;
++ int length;
++ long long next_index;
++ char *data;
++};
++
++struct squashfs_fragment_cache {
++ long long block;
++ int length;
++ unsigned int locked;
++ char *data;
++};
++
++struct squashfs_sb_info {
++ struct squashfs_super_block sblk;
++ int devblksize;
++ int devblksize_log2;
++ int swap;
++ struct squashfs_cache *block_cache;
++ struct squashfs_fragment_cache *fragment;
++ int next_cache;
++ int next_fragment;
++ int next_meta_index;
++ unsigned int *uid;
++ unsigned int *guid;
++ long long *fragment_index;
++ unsigned int *fragment_index_2;
++ unsigned int read_size;
++ char *read_data;
++ char *read_page;
++ struct semaphore read_data_mutex;
++ struct semaphore read_page_mutex;
++ struct semaphore block_cache_mutex;
++ struct semaphore fragment_mutex;
++ struct semaphore meta_index_mutex;
++ wait_queue_head_t waitq;
++ wait_queue_head_t fragment_wait_queue;
++ struct meta_index *meta_index;
++ struct inode *(*iget)(struct super_block *s, squashfs_inode_t \
++ inode);
++ long long (*read_blocklist)(struct inode *inode, int \
++ index, int readahead_blks, char *block_list, \
++ unsigned short **block_p, unsigned int *bsize);
++ int (*read_fragment_index_table)(struct super_block *s);
++};
++#endif
+diff --new-file -urp linux-2.6.15/init/do_mounts_rd.c linux-2.6.15-squashfs3.0/init/do_mounts_rd.c
+--- linux-2.6.15/init/do_mounts_rd.c 2006-03-01 22:37:27.000000000 +0000
++++ linux-2.6.15-squashfs3.0/init/do_mounts_rd.c 2006-03-07 21:12:37.000000000 +0000
+@@ -5,6 +5,7 @@
+ #include <linux/ext2_fs.h>
+ #include <linux/romfs_fs.h>
+ #include <linux/cramfs_fs.h>
++#include <linux/squashfs_fs.h>
+ #include <linux/initrd.h>
+ #include <linux/string.h>
+
+@@ -39,6 +40,7 @@ static int __init crd_load(int in_fd, in
+ * numbers could not be found.
+ *
+ * We currently check for the following magic numbers:
++ * squashfs
+ * minix
+ * ext2
+ * romfs
+@@ -53,6 +55,7 @@ identify_ramdisk_image(int fd, int start
+ struct ext2_super_block *ext2sb;
+ struct romfs_super_block *romfsb;
+ struct cramfs_super *cramfsb;
++ struct squashfs_super_block *squashfsb;
+ int nblocks = -1;
+ unsigned char *buf;
+
+@@ -64,6 +67,7 @@ identify_ramdisk_image(int fd, int start
+ ext2sb = (struct ext2_super_block *) buf;
+ romfsb = (struct romfs_super_block *) buf;
+ cramfsb = (struct cramfs_super *) buf;
++ squashfsb = (struct squashfs_super_block *) buf;
+ memset(buf, 0xe5, size);
+
+ /*
+@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
+ goto done;
+ }
+
++ /* squashfs is at block zero too */
++ if (squashfsb->s_magic == SQUASHFS_MAGIC) {
++ printk(KERN_NOTICE
++ "RAMDISK: squashfs filesystem found at block %d\n",
++ start_block);
++ nblocks = (squashfsb->bytes_used+BLOCK_SIZE-1)>>BLOCK_SIZE_BITS;
++ goto done;
++ }
++
+ /*
+ * Read block 1 to test for minix and ext2 superblock
+ */
diff --git a/meta/packages/linux/linux-openzaurus.inc b/meta/packages/linux/linux-openzaurus.inc
new file mode 100644
index 0000000000..984002784a
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus.inc
@@ -0,0 +1,199 @@
+DESCRIPTION = "2.6 Linux Development Kernel for Zaurus devices and iPAQ hx2750."
+SECTION = "kernel"
+MAINTAINER = "Richard Purdie <rpurdie@rpsys.net>, \
+ Michael 'Mickey' Lauer <mickey@vanille.de>, \
+ Marcin 'Hrw' Juszkiewicz <openembedded@hrw.one.pl>"
+LICENSE = "GPL"
+
+inherit kernel
+
+RPROVIDES_kernel-image += "hostap-modules"
+
+DOSRC = "http://www.do13.de/openzaurus/patches"
+RPSRC = "http://www.rpsys.net/openzaurus/patches/archive"
+JLSRC = "http://www.cs.wisc.edu/~lenz/zaurus/files"
+BASRC = "http://www.orca.cx/zaurus/patches"
+CHSRC = "http://oz.drigon.com/patches"
+
+##############################################################
+# Compensate for sucky bootloader on all Sharp Zaurus models
+#
+FILES_kernel-image = ""
+ALLOW_EMPTY = 1
+
+EXTRA_OEMAKE = "OPENZAURUS_RELEASE=-${DISTRO_VERSION}"
+COMPATIBLE_HOST = "arm.*-linux"
+COMPATIBLE_MACHINE = '(collie|poodle|c7x0|akita|spitz|tosa|ipaq-pxa270|qemuarm)'
+
+CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
+CMDLINE_ROOT = "root=/dev/mtdblock2 rootfstype=jffs2"
+CMDLINE_ROOT_spitz = "root=/dev/hda1 rootfstype=ext3 rw"
+CMDLINE_OTHER = "dyntick=enable"
+CMDLINE_DEBUG = '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug",d)}'
+
+##############################################################
+# Configure memory/ramdisk split for collie
+#
+export mem = ${@bb.data.getVar("COLLIE_MEMORY_SIZE",d,1) or "32"}
+export rd = ${@bb.data.getVar("COLLIE_RAMDISK_SIZE",d,1) or "32"}
+
+CMDLINE_MEM_collie = "mem=${mem}M"
+CMDLINE_ROTATE_spitz = "fbcon=rotate:1"
+CMDLINE_ROTATE_akita = "fbcon=rotate:1"
+CMDLINE_ROTATE_collie = "fbcon=rotate:1"
+CMDLINE_ROTATE_poodle = "fbcon=rotate:1"
+CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_MEM} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}"
+
+###############################################################
+# Enable or disable ELPP via local.conf - default is "no"
+#
+ENABLE_ELPP = ${@bb.data.getVar("OZ_KERNEL_ENABLE_ELPP",d,1) or "no"}
+
+###############################################################
+# module configs specific to this kernel
+#
+module_autoload_pxaficp_ir = "pxaficp_ir"
+module_autoload_snd-pcm-oss = "snd-pcm-oss"
+module_autoload_snd-soc-corgi_c7x0 = "snd-soc-corgi"
+module_autoload_snd-soc-spitz_akita = "snd-soc-spitz"
+module_autoload_snd-soc-spitz_spitz = "snd-soc-spitz"
+
+do_configure() {
+ rm -f ${S}/.config
+
+ if [ "${MACHINE}" == "tosa" ]; then
+ gcc_version=`${KERNEL_CC} -dumpversion`
+ if [ "${gcc_version}" == "4.0.1" ] || [ "${gcc_version}" == "4.0.2" ]; then
+ die "tosa kernel wont work with gcc 4.0.x"
+ fi
+ fi
+
+ if [ ! -e ${WORKDIR}/defconfig-${MACHINE} ]; then
+ die "No default configuration for ${MACHINE} available."
+ fi
+
+ if [ "${MACHINE}" == "collie" ]; then
+ mempos=`echo "obase=16; $mem * 1024 * 1024" | bc`
+ rdsize=`echo "$rd * 1024" | bc`
+ total=`expr $mem + $rd`
+ addr=`echo "obase=16; ibase=16; C0000000 + $mempos" | bc`
+ if [ "$rd" == "0" ]
+ then
+ echo "No RAMDISK"
+ echo "# CONFIG_MTD_MTDRAM_SA1100 is not set" >> ${S}/.config
+ else
+ echo "RAMDIR = $rdsize on $addr"
+ echo "CONFIG_MTD_MTDRAM_SA1100=y" >> ${S}/.config
+ echo "CONFIG_MTDRAM_TOTAL_SIZE=$rdsize" >> ${S}/.config
+ echo "CONFIG_MTDRAM_ERASE_SIZE=1" >> ${S}/.config
+ echo "CONFIG_MTDRAM_ABS_POS=$addr" >> ${S}/.config
+ fi
+ fi
+
+ echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
+
+ #if [ "${ENABLE_ELPP}" == "yes" ]; then
+ # echo "# Enhanced Linux Progress Patch" >> ${S}/.config
+ # echo "CONFIG_FB_ELPP=y" >> ${S}/.config
+ # echo "CONFIG_LOGO=y" >> ${S}/.config
+ # echo "CONFIG_LOGO_LINUX_CLUT224=y" >> ${S}/.config
+ #else
+ # echo "# CONFIG_FB_ELPP is not set" >> ${S}/.config
+ #fi
+
+ if [ "${TARGET_OS}" == "linux-gnueabi" ]; then
+ echo "CONFIG_AEABI=y" >> ${S}/.config
+ echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
+ else
+ echo "# CONFIG_AEABI is not set" >> ${S}/.config
+ echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
+ fi
+
+ if [ "${DISTRO}" == "openzaurus" ]; then
+ case ${MACHINE} in
+ c7x0 | akita | spitz )
+ echo "CONFIG_LOGO_OZ640_CLUT224=y" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
+ ;;
+ tosa )
+ echo "CONFIG_LOGO_OZ480_CLUT224=y" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
+ ;;
+ poodle | collie )
+ echo "CONFIG_LOGO_OZ240_CLUT224=y" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
+ ;;
+ esac
+ echo "CONFIG_LOGO=y" >> ${S}/.config
+ echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OHAND_CLUT224 is not set" >> ${S}/.config
+ elif [ "${DISTRO}" == "poky" ]; then
+ echo "CONFIG_LOGO=y" >> ${S}/.config
+ echo "CONFIG_LOGO_OHAND_CLUT224=y" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
+ else
+ echo "# CONFIG_LOGO is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OHAND_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_LINUX_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ240_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ480_CLUT224 is not set" >> ${S}/.config
+ echo "# CONFIG_LOGO_OZ640_CLUT224 is not set" >> ${S}/.config
+ fi
+
+ sed -e '/CONFIG_AEABI/d' \
+ -e '/CONFIG_OABI_COMPAT=/d' \
+ -e '/CONFIG_CMDLINE=/d' \
+ -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \
+ -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \
+ -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \
+ -e '/CONFIG_MTDRAM_ABS_POS=/d' \
+ -e '/CONFIG_LOGO=/d' \
+ -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
+ -e '/CONFIG_LOGO_OHAND_CLUT224=/d' \
+ -e '/CONFIG_LOGO_OZ240_CLUT224=/d' \
+ -e '/CONFIG_LOGO_OZ480_CLUT224=/d' \
+ -e '/CONFIG_LOGO_OZ640_CLUT224=/d' \
+ '${WORKDIR}/defconfig-${MACHINE}' >>'${S}/.config'
+
+ yes '' | oe_runmake oldconfig
+}
+
+# Check the kernel is below the 1264*1024 byte limit for the PXA Zaurii
+do_compile_append() {
+ case ${MACHINE} in
+ c7x0 | akita | poodle | spitz | tosa )
+ size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
+ if [ $size -ge 1294336 ]; then
+ rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
+ echo "Size is $size"
+ die "This kernel is too big for your PXA Zaurus and will destroy data if you flash it. Please reduce the size of the kernel by making more of it modular."
+ fi
+ ;;
+ collie )
+ size=`ls -l arch/${ARCH}/boot/${KERNEL_IMAGETYPE} | awk '{ print $5}'`
+ if [ $size -ge 1048576 ]; then
+ rm arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
+ echo "Size is $size"
+ die "This kernel is too big for your Collie and will not be flashed. Please reduce the size of the kernel by making more of it modular."
+ fi
+ ;;
+ *)
+ ;;
+ esac
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin
+ tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${MACHINE}.tgz -C ${D} lib
+}
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_package after do_install
diff --git a/meta/packages/linux/linux-openzaurus_2.6.16.bb b/meta/packages/linux/linux-openzaurus_2.6.16.bb
new file mode 100644
index 0000000000..08a64160c1
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus_2.6.16.bb
@@ -0,0 +1,158 @@
+include linux-openzaurus.inc
+
+PR = "r38"
+
+# Handy URLs
+# git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \
+# http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.gz \
+# http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.15-rc1.bz2;patch=1 \
+# http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.15-rc2-git1.bz2;patch=1 \
+# http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.10/patch-2.6.10-ac8.gz;patch=1 \
+# http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc2/2.6.14-rc2-mm1/2.6.14-rc2-mm1.bz2;patch=1 \
+
+# Patches submitted upstream are towards top of this list
+# Hacks should clearly named and at the bottom
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \
+ file://rmk-mmc1.patch;patch=1;status=merged \
+ file://rmk-mmc2.patch;patch=1;status=merged \
+ ${RPSRC}/led_core-r15.patch;patch=1;status=merged \
+ ${RPSRC}/led_triggers-r14.patch;patch=1;status=merged \
+ ${RPSRC}/led_trig_timer-r8.patch;patch=1;status=merged \
+ ${RPSRC}/led_trig_sharpsl_pm-r5.patch;patch=1;status=merged \
+ ${RPSRC}/led_zaurus-r10.patch;patch=1;status=merged \
+ ${RPSRC}/led_locomo-r7.patch;patch=1;status=merged \
+ ${RPSRC}/led_ixp4xx-r2.patch;patch=1;status=merged \
+ ${RPSRC}/led_tosa-r5.patch;patch=1;status=merged \
+ ${RPSRC}/led_ide-r6.patch;patch=1;status=merged \
+ ${RPSRC}/led_nand-r3.patch;patch=1;status=merged \
+ ${RPSRC}/ide_end_request-r1.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-library-functions.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-arm-cleanup-r1.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-class.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-class-fix.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-class-fix-2.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-i2c-cleanup-r1.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-sysfs-interface.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-proc-interface.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-dev-interface.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-x1205-driver.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-test-device-driver.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-ds1672-driver.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-pcf8563-driver.patch;patch=1;status=merged \
+ ${RPSRC}/rtc-subsystem-rs5c372-driver.patch;patch=1;status=merged \
+ ${RPSRC}/rtc_class_pxa-r2.patch;patch=1;status=merged \
+ ${RPSRC}/rmk_pxa_mmc_timeout-r0.patch;patch=1;status=merged \
+ ${RPSRC}/integrator_rtc-r0.patch;patch=1;status=merged \
+ ${RPSRC}/zaurus_keyboard_tweak-r3.patch;patch=1;status=merged \
+ ${RPSRC}/arm_eabi_enum_fix-r0.patch;patch=1;status=merged \
+ ${RPSRC}/pxafb_tweaks-r0.patch;patch=1;status=merged \
+ ${RPSRC}/spitz_kbd_fix-r0.patch;patch=1;status=merged \
+ ${RPSRC}/fbmem_fix-r1.patch;patch=1;status=merged \
+ ${RPSRC}/scoop_linkage-r0.patch;patch=1;status=merged \
+ ${RPSRC}/ssp_cleanup-r0.patch;patch=1;status=merged \
+ ${RPSRC}/misc_fix1-r0.patch;patch=1;status=merged \
+ ${RPSRC}/corgi_bl_cleanup-r3.patch;patch=1;status=merged \
+ ${RPSRC}/corgi_bl_generic-r3.patch;patch=1;status=merged \
+ ${RPSRC}/w100_accel1-r0.patch;patch=1;status=merged \
+ ${RPSRC}/poodle_memsize-r0.patch;patch=1;status=merged \
+ ${RPSRC}/led_class_kconfig-r0.patch;patch=1;status=merged \
+ ${RPSRC}/led_maintainer-r0.patch;patch=1;status=merged \
+ ${RPSRC}/led_sysfs_fix-r0.patch;patch=1;status=merged \
+ ${RPSRC}/backlight_sysfs_fix-r0.patch;patch=1;status=merged \
+ ${RPSRC}/pxaohci_pwrlimit-r0.patch;patch=1;status=merged \
+ ${RPSRC}/mmc_oops_fix-r1.patch;patch=1;status=merged \
+ ${RPSRC}/zlib_inflate-r3.patch;patch=1;status=pending \
+ ${RPSRC}/logo_rotate_fix-r1.patch;patch=1;status=pending \
+ ${RPSRC}/poodle_partsize-r0.patch;patch=1;status=pending \
+ ${RPSRC}/jffs2_longfilename-r1.patch;patch=1;status=pending \
+ file://00-hostap.patch;patch=1;status=pending \
+ file://10-pcnet.patch;patch=1;status=pending \
+ ${RPSRC}/alsa/asoc-v0.10rc4.patch;patch=1 \
+ ${RPSRC}/asoc_fixups-r0.patch;patch=1 \
+ ${RPSRC}/hx2750_base-r24.patch;patch=1 \
+ ${RPSRC}/hx2750_bl-r5.patch;patch=1 \
+ ${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
+ ${RPSRC}/pxa_keys-r5.patch;patch=1 \
+ ${RPSRC}/tsc2101-r12.patch;patch=1 \
+ ${RPSRC}/hx2750_test1-r3.patch;patch=1 \
+ ${RPSRC}/pxa_timerfix-r0.patch;patch=1 \
+ ${RPSRC}/input_power-r4.patch;patch=1 \
+ ${RPSRC}/pxa25x_cpufreq-r0.patch;patch=1 \
+ ${RPSRC}/collie_frontlight-r1.patch;patch=1;status=pending \
+ ${RPSRC}/zaurus_reboot-r0.patch;patch=1;status=merged \
+ ${RPSRC}/sharpsl_pm_fixes1-r0.patch;patch=1 \
+ ${RPSRC}/pm_changes-r1.patch;patch=1 \
+ ${RPSRC}/sharpsl_pm-do-r2.patch;patch=1;status=merged \
+ ${RPSRC}/usb_pxa27x_udc-r0.patch;patch=1 \
+ ${RPSRC}/usb_add_epalloc-r1.patch;patch=1 \
+ ${DOSRC}/kexec-arm-r2.patch;patch=1 \
+ file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
+ file://hrw-pcmcia-ids-r2.patch;patch=1 \
+ file://locomo-kbd-hotkeys.patch;patch=1 \
+ file://locomo-sysrq+keyrepeat.patch;patch=1 \
+ file://locomo-lcd-def-bightness.patch;patch=1 \
+ ${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
+ ${RPSRC}/logo_oz-r2.patch.bz2;patch=1;status=unmergable \
+ ${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
+ file://add-oz-release-string.patch;patch=1;status=unmergable \
+ ${RPSRC}/mmcsd_large_cards-r0.patch;patch=1;status=hack \
+ ${RPSRC}/mmcsd_no_scr_check-r0.patch;patch=1;status=hack \
+ ${RPSRC}/integrator_rgb-r0.patch;patch=1;status=hack \
+ ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
+ ${RPSRC}/poodle_ts_hack-r0.patch;patch=1;status=hack \
+ file://pxa-serial-hack.patch;patch=1;status=hack \
+ file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
+ file://squashfs3.0-2.6.15.patch;patch=1;status=external \
+ file://defconfig-c7x0 \
+ file://defconfig-ipaq-pxa270 \
+ file://defconfig-collie \
+ file://defconfig-poodle \
+ file://defconfig-akita \
+ file://defconfig-spitz \
+ file://defconfig-qemuarm \
+ file://defconfig-tosa "
+
+# Add this to enable pm debug code (useful with a serial lead)
+# ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1
+
+# Disabled until I find the reason this gives issues with cdc_subset
+# ${RPSRC}/usb_rndis_tweaks-r0.patch;patch=1 \
+
+# These patches would really help collie/poodle but we
+# need someone to maintain them
+# ${JLSRC}/zaurus-lcd-2.6.11.diff.gz;patch=1
+# (Pavel Machek's git tree has updated versions of this?)
+# Also parts were recently committed to mainline by rmk (drivers/mfd/)
+# ${JLSRC}/zaurus-base-2.6.11.diff.gz;patch=1
+# (This is mostly in mainline now?)
+# ${JLSRC}/zaurus-local-2.6.11.diff.gz;patch=1 \
+# ${JLSRC}/zaurus-leds-2.6.11.diff.gz;patch=1 \
+
+SRC_URI_append_tosa = "\
+ ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \
+ ${CHSRC}/tmio-core-r4.patch;patch=1 \
+ ${CHSRC}/tmio-tc6393-r5.patch;patch=1 \
+ ${CHSRC}/tmio-nand-r5.patch;patch=1 \
+ ${CHSRC}/tmio-ohci-r3.patch;patch=1 \
+ ${CHSRC}/tmio-fb-r6.patch;patch=1 \
+ ${DOSRC}/tosa-keyboard-r14.patch;patch=1 \
+ ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \
+ ${DOSRC}/tosa-tmio-r6.patch;patch=1 \
+ ${DOSRC}/tosa-power-r15.patch;patch=1 \
+ ${DOSRC}/tosa-tmio-lcd-r7.patch;patch=1 \
+ ${DOSRC}/tosa-bluetooth-r6.patch;patch=1 \
+ ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \
+ ${DOSRC}/wm9712-suspend-cold-res-r0.patch;patch=1 \
+ ${DOSRC}/sharpsl-pm-postresume-r0.patch;patch=1 \
+ ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
+ ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
+ ${DOSRC}/wm9712-reset-loop-r0.patch;patch=1 \
+ ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
+
+SRC_URI_append_poodle = "\
+ ${RPSRC}/rp_poodle_hacks-r0.patch;patch=1"
+
+S = "${WORKDIR}/linux-2.6.16"
+
+# to get module dependencies working
+KERNEL_RELEASE = "2.6.16"
diff --git a/meta/packages/linux/linux-openzaurus_2.6.17.bb b/meta/packages/linux/linux-openzaurus_2.6.17.bb
new file mode 100644
index 0000000000..b5380a91bd
--- /dev/null
+++ b/meta/packages/linux/linux-openzaurus_2.6.17.bb
@@ -0,0 +1,120 @@
+include linux-openzaurus.inc
+
+PR = "r5"
+
+# Handy URLs
+# git://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git \
+# http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.gz \
+# http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.15-rc1.bz2;patch=1 \
+# http://www.kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.15-rc2-git1.bz2;patch=1 \
+# http://www.kernel.org/pub/linux/kernel/people/alan/linux-2.6/2.6.10/patch-2.6.10-ac8.gz;patch=1 \
+# http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc2/2.6.14-rc2-mm1/2.6.14-rc2-mm1.bz2;patch=1 \
+
+# Patches submitted upstream are towards top of this list
+# Hacks should clearly named and at the bottom
+# ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc2/2.6.14-rc2-mm1/2.6.14-rc2-mm1.bz2;patch=1 \
+SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.bz2 \
+ ${RPSRC}/poodle_partsize-r0.patch;patch=1;status=merged \
+ ${RPSRC}/jffs2_longfilename-r1.patch;patch=1;status=merged \
+ ${RPSRC}/locomo_led_default_trigger-r0.patch;patch=1;status=merged \
+ ${RPSRC}/zaurus_reboot-r3.patch;patch=1;status=merged \
+ ${RPSRC}/poodle_mmcsd_fix-r0.patch;patch=1;status=merged \
+ ${RPSRC}/poodle_ssp-r1.patch;patch=1;status=merged \
+ ${RPSRC}/sharpsl_pm-do-r2.patch;patch=1;status=merged \
+ ${RPSRC}/zlib_inflate-r3.patch;patch=1;status=merged \
+ ${RPSRC}/logo_rotate_fix-r1.patch;patch=1;status=merged \
+ ${RPSRC}/collie_frontlight-r6.patch;patch=1;status=merged \
+ ${RPSRC}/input_modalias_fix-r0.patch;patch=1;status=merged \
+ file://00-hostap.patch;patch=1;status=merged \
+ file://10-pcnet.patch;patch=1;status=merged \
+ ${RPSRC}/asoc-v0.11pre2-oz.patch;patch=1 \
+ ${RPSRC}/asoc_updates-r1.patch;patch=1 \
+ ${RPSRC}/hx2750_base-r25.patch;patch=1 \
+ ${RPSRC}/hx2750_bl-r7.patch;patch=1 \
+ ${RPSRC}/hx2750_pcmcia-r2.patch;patch=1 \
+ ${RPSRC}/pxa_keys-r5.patch;patch=1 \
+ ${RPSRC}/tsc2101-r12.patch;patch=1 \
+ ${RPSRC}/hx2750_test1-r3.patch;patch=1 \
+ ${RPSRC}/pxa_timerfix-r0.patch;patch=1 \
+ ${RPSRC}/input_power-r5.patch;patch=1 \
+ ${RPSRC}/pxa25x_cpufreq-r0.patch;patch=1 \
+ ${RPSRC}/sharpsl_pm_fixes1-r0.patch;patch=1 \
+ ${RPSRC}/pm_changes-r1.patch;patch=1 \
+ ${RPSRC}/usb_pxa27x_udc-r0.patch;patch=1 \
+ ${RPSRC}/usb_add_epalloc-r1.patch;patch=1 \
+ ${DOSRC}/kexec-arm-r3.patch;patch=1 \
+ ${RPSRC}/locomo_kbd_tweak-r0.patch;patch=1 \
+ ${RPSRC}/poodle_pm-r1.patch;patch=1 \
+ ${RPSRC}/pxafb_changeres-r0.patch;patch=1 \
+ file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1 \
+ file://hrw-pcmcia-ids-r2.patch;patch=1 \
+ ${RPSRC}/logo_oh-r0.patch.bz2;patch=1;status=unmergable \
+ ${RPSRC}/logo_oz-r2.patch.bz2;patch=1;status=unmergable \
+ ${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
+ file://add-oz-release-string.patch;patch=1;status=unmergable \
+ ${RPSRC}/mmcsd_large_cards-r0.patch;patch=1;status=hack \
+ ${RPSRC}/mmcsd_no_scr_check-r0.patch;patch=1;status=hack \
+ ${RPSRC}/integrator_rgb-r0.patch;patch=1;status=hack \
+ ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \
+ file://pxa-serial-hack.patch;patch=1;status=hack \
+ file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \
+ file://squashfs3.0-2.6.15.patch;patch=1;status=external \
+ file://defconfig-c7x0 \
+ file://defconfig-ipaq-pxa270 \
+ file://defconfig-collie \
+ file://defconfig-poodle \
+ file://defconfig-akita \
+ file://defconfig-spitz \
+ file://defconfig-qemuarm \
+ file://defconfig-tosa "
+
+# Add this to enable pm debug code (useful with a serial lead)
+# ${RPSRC}/sharpsl_pm_debug-r0.patch;patch=1
+
+# Disabled until I find the reason this gives issues with cdc_subset
+# ${RPSRC}/usb_rndis_tweaks-r0.patch;patch=1 \
+
+# http://tglx.de/projects/armirq/2.6.17-rc3/patch-2.6.17-rc3-armirq4.patch;patch=1 \
+# ${RPSRC}/../pxa27x_overlay-r0.patch;patch=1 \
+
+# Is anything out of this still needed? Parts were commited to mainline by rmk (drivers/mfd/)
+# (Pavel Machek's git tree has updated versions of this?)
+# ${JLSRC}/zaurus-lcd-2.6.11.diff.gz;patch=1
+
+# These patches are extracted from Pavel Machek's git tree
+# (diff against vanilla kernel)
+SRC_URI_append_collie = "\
+ ${DOSRC}/collie/mtd-sharp-flash-hack-r0.patch;patch=1 \
+ ${DOSRC}/collie/collie-r0.patch;patch=1 \
+ ${DOSRC}/collie/locomolcd-backlight-r0.patch;patch=1 \
+ ${DOSRC}/collie/ucb1x00-touch-audio-r0.patch;patch=1 \
+ ${DOSRC}/collie/collie-mcp-r0.patch;patch=1 \
+ ${DOSRC}/collie/sa1100-udc-r0.patch;patch=1 \
+# ${DOSRC}/collie/collie-pm-r1.patch;patch=1 \
+ "
+
+SRC_URI_append_tosa = "\
+ ${CHSRC}/usb-ohci-hooks-r1.patch;patch=1 \
+ ${CHSRC}/tmio-core-r4.patch;patch=1 \
+ ${DOSRC}/temp/tmio-tc6393-r6.patch;patch=1 \
+ ${CHSRC}/tmio-nand-r5.patch;patch=1 \
+ ${DOSRC}/temp/tmio-ohci-r4.patch;patch=1 \
+ ${CHSRC}/tmio-fb-r6.patch;patch=1 \
+ ${DOSRC}/tosa-keyboard-r17.patch;patch=1 \
+ ${DOSRC}/tosa-pxaac97-r6.patch;patch=1 \
+ ${DOSRC}/tosa-tmio-r6.patch;patch=1 \
+ ${DOSRC}/tosa-power-r17.patch;patch=1 \
+ ${DOSRC}/tosa-tmio-lcd-r8.patch;patch=1 \
+ ${DOSRC}/tosa-bluetooth-r8.patch;patch=1 \
+ ${DOSRC}/wm97xx-lg7-r0.patch;patch=1 \
+ ${DOSRC}/wm9712-suspend-cold-res-r1.patch;patch=1 \
+ ${DOSRC}/sharpsl-pm-postresume-r0.patch;patch=1 \
+ ${DOSRC}/wm97xx-dig-restore-r0.patch;patch=1 \
+ ${DOSRC}/wm97xx-miscdevs-resume-r0.patch;patch=1 \
+ ${DOSRC}/wm9712-reset-loop-r1.patch;patch=1"
+# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
+
+S = "${WORKDIR}/linux-2.6.17"
+
+# to get module dependencies working
+KERNEL_RELEASE = "2.6.17"
diff --git a/meta/packages/lirc/files/lirc_sir-sa1100.patch b/meta/packages/lirc/files/lirc_sir-sa1100.patch
new file mode 100644
index 0000000000..245b28ac51
--- /dev/null
+++ b/meta/packages/lirc/files/lirc_sir-sa1100.patch
@@ -0,0 +1,10 @@
+--- lirc/drivers/lirc_sir/lirc_sir.c.orig 2004-11-18 17:30:17 +0100
++++ lirc/drivers/lirc_sir/lirc_sir.c 2004-11-18 17:30:21 +0100
+@@ -628,6 +628,7 @@
+ struct timeval curr_tv;
+ static unsigned long deltv;
+ #ifdef LIRC_ON_SA1100
++ unsigned long deltintrtv;
+ int status;
+ static int n=0;
+
diff --git a/meta/packages/lirc/files/lircd.conf_nslu2 b/meta/packages/lirc/files/lircd.conf_nslu2
new file mode 100644
index 0000000000..5fbaba469c
--- /dev/null
+++ b/meta/packages/lirc/files/lircd.conf_nslu2
@@ -0,0 +1,1886 @@
+# This file is modified for the NSLU2.
+# It's based on http://lirc.sourceforge.net/remotes/philips/RC-5
+# and should support all RC5 compatible remotes.
+# The timings are for a de-underclocked NSLU2.
+
+# To see which key generates which code, run "irw".
+# To check whether lirc works at all, run "mode2 -d /dev/lirc"
+# after stopping lircd with "/etc/init.d/lircd stop".
+# To learn a new remote, run "irrecord -d /dev/lirc /etc/lircd.conf.new" and after
+# success "mv /etc/lircd.conf.new /etc/lircd.conf".
+# You could also take the timing values from /etc/lircd.conf.new
+# and paste it in here.
+# See also /etc/lircrc.
+
+begin remote
+
+ name RC5
+ bits 13
+ flags RC5|CONST_LENGTH
+ eps 30
+ aeps 100
+# if it doesn't work, you could change the following values:
+ one 863 921
+ zero 863 921
+ plead 947
+ gap 113626
+ min_repeat 1
+ repeat_bit 2
+
+ begin codes
+ amp1-0 0x0000000000001400
+ amp1-1 0x0000000000001401
+ amp1-2 0x0000000000001402
+ amp1-3 0x0000000000001403
+ amp1-4 0x0000000000001404
+ amp1-5 0x0000000000001405
+ amp1-6 0x0000000000001406
+ amp1-7 0x0000000000001407
+ amp1-8 0x0000000000001408
+ amp1-9 0x0000000000001409
+ amp1-graphic_equalizer_left 0x000000000000140A
+ amp1-graphic_equalizer_right 0x000000000000140B
+ amp1-standby 0x000000000000140C
+ amp1-mute/demute 0x000000000000140D
+ amp1-P.P. 0x000000000000140E
+ amp1-display 0x000000000000140F
+ amp1-volume+ 0x0000000000001410
+ amp1-volume- 0x0000000000001411
+ amp1-brightness+ 0x0000000000001412
+ amp1-brightness- 0x0000000000001413
+ amp1-colour_saturation+ 0x0000000000001414
+ amp1-colour_saturation- 0x0000000000001415
+ amp1-bass+ 0x0000000000001416
+ amp1-bass- 0x0000000000001417
+ amp1-treble+ 0x0000000000001418
+ amp1-treble- 0x0000000000001419
+ amp1-balance_right 0x000000000000141A
+ amp1-balance_left 0x000000000000141B
+ amp1-graph_equal_left&right 0x000000000000141C
+ amp1-loudness 0x000000000000141D
+ amp1-high_tone_filter 0x000000000000141E
+ amp1-low_tone_filter 0x000000000000141F
+ amp1-step+ 0x0000000000001420
+ amp1-step- 0x0000000000001421
+ amp1-signal_path_scroll 0x0000000000001422
+ amp1-INVALID 0x0000000000001423
+ amp1-INVALID 0x0000000000001424
+ amp1-surround_mode 0x0000000000001425
+ amp1-sleeptimer 0x0000000000001426
+ amp1-balance_rear 0x0000000000001427
+ amp1-balance_front 0x0000000000001428
+ amp1-TPS 0x0000000000001429
+ amp1-timer_set 0x000000000000142A
+ amp1-timer_up 0x000000000000142B
+ amp1-timer_down 0x000000000000142C
+ amp1-timer_memo 0x000000000000142D
+ amp1-acoustic_memory 0x000000000000142E
+ amp1-acoustic_memory_select 0x000000000000142F
+ amp1-pause 0x0000000000001430
+ amp1-erase 0x0000000000001431
+ amp1-rewind 0x0000000000001432
+ amp1-go_to 0x0000000000001433
+ amp1-wind 0x0000000000001434
+ amp1-play 0x0000000000001435
+ amp1-stop 0x0000000000001436
+ amp1-recording 0x0000000000001437
+ amp1-external1 0x0000000000001438
+ amp1-external2 0x0000000000001439
+ amp1-clear_all_memory 0x000000000000143A
+ amp1-INVALID 0x000000000000143B
+ amp1-dyn_range_expand/compr 0x000000000000143C
+ amp1-system_standby 0x000000000000143D
+ amp1-INVALID 0x000000000000143E
+ amp1-system_select 0x000000000000143F
+ amp1-surround_sound 0x0000000000000400
+ amp1-balance_front 0x0000000000000401
+ amp1-balance_rear 0x0000000000000402
+ amp1-sound_effects1 0x0000000000000403
+ amp1-sound_effects2 0x0000000000000404
+ amp1-sound_effects3 0x0000000000000405
+ amp1-sound_effects4 0x0000000000000406
+ amp1-sound_effects5 0x0000000000000407
+ amp1-sound_or_menu_func.1 0x0000000000000408
+ amp1-sound_or_menu_func.2 0x0000000000000409
+ amp1-sound_or_menu_func.3 0x000000000000040A
+ amp1-linear_function_up 0x000000000000040D
+ amp1-linear_function_down 0x000000000000040E
+ amp1-catalogue 0x000000000000040F
+ amp1-cursor_step_up 0x0000000000000410
+ amp1-cursor_step_down 0x0000000000000411
+ amp1-menu_on 0x0000000000000412
+ amp1-menu_off 0x0000000000000413
+ amp1-display_A/V_status 0x0000000000000414
+ amp1-cursor_step_left 0x0000000000000415
+ amp1-cursor_step_right 0x0000000000000416
+ amp1-menu_function 0x0000000000000417
+ amp1-PIP_on/off 0x0000000000000418
+ amp1-PIP_shift 0x0000000000000419
+ amp1-PIP_main_swap 0x000000000000041A
+ amp1-strobe_on/off 0x000000000000041B
+ amp1-multi_strobe 0x000000000000041C
+ amp1-main_freezed 0x000000000000041D
+ amp1-3/9_multi_scan 0x000000000000041E
+ amp1-PIP_mode_select 0x000000000000041F
+ amp1-mosaic 0x0000000000000420
+ amp1-solarization 0x0000000000000421
+ amp1-main_stored 0x0000000000000422
+ amp1-PIP_strobe 0x0000000000000423
+ amp1-recall_main 0x0000000000000424
+ amp1-PIP_freeze 0x0000000000000425
+ amp1-PIP_step_up 0x0000000000000426
+ amp1-PIP_step_down 0x0000000000000427
+ amp1-INVALID 0x000000000000042C
+ amp1-INVALID 0x0000000000000430
+ amp1-INVALID 0x0000000000000431
+ amp1-INVALID 0x0000000000000436
+ amp1-INVALID 0x0000000000000437
+ amp1-connect 0x000000000000043B
+ amp1-disconnect 0x000000000000043C
+ amp2-0 0x00000000000014C0
+ amp2-1 0x00000000000014C1
+ amp2-2 0x00000000000014C2
+ amp2-3 0x00000000000014C3
+ amp2-4 0x00000000000014C4
+ amp2-5 0x00000000000014C5
+ amp2-6 0x00000000000014C6
+ amp2-7 0x00000000000014C7
+ amp2-8 0x00000000000014C8
+ amp2-9 0x00000000000014C9
+ amp2-graphic_equalizer_left 0x00000000000014CA
+ amp2-graphic_equalizer_right 0x00000000000014CB
+ amp2-standby 0x00000000000014CC
+ amp2-mute/demute 0x00000000000014CD
+ amp2-P.P. 0x00000000000014CE
+ amp2-display 0x00000000000014CF
+ amp2-volume+ 0x00000000000014D0
+ amp2-volume- 0x00000000000014D1
+ amp2-brightness+ 0x00000000000014D2
+ amp2-brightness- 0x00000000000014D3
+ amp2-colour_saturation+ 0x00000000000014D4
+ amp2-colour_saturation- 0x00000000000014D5
+ amp2-bass+ 0x00000000000014D6
+ amp2-bass- 0x00000000000014D7
+ amp2-treble+ 0x00000000000014D8
+ amp2-treble- 0x00000000000014D9
+ amp2-balance_right 0x00000000000014DA
+ amp2-balance_left 0x00000000000014DB
+ amp2-graph_equal_left&right 0x00000000000014DC
+ amp2-loudness 0x00000000000014DD
+ amp2-high_tone_filter 0x00000000000014DE
+ amp2-low_tone_filter 0x00000000000014DF
+ amp2-step+ 0x00000000000014E0
+ amp2-step- 0x00000000000014E1
+ amp2-signal_path_scroll 0x00000000000014E2
+ amp2-INVALID 0x00000000000014E3
+ amp2-INVALID 0x00000000000014E4
+ amp2-surround_mode 0x00000000000014E5
+ amp2-sleeptimer 0x00000000000014E6
+ amp2-balance_rear 0x00000000000014E7
+ amp2-balance_front 0x00000000000014E8
+ amp2-TPS 0x00000000000014E9
+ amp2-timer_set 0x00000000000014EA
+ amp2-timer_up 0x00000000000014EB
+ amp2-timer_down 0x00000000000014EC
+ amp2-timer_memo 0x00000000000014ED
+ amp2-acoustic_memory 0x00000000000014EE
+ amp2-acoustic_memory_select 0x00000000000014EF
+ amp2-pause 0x00000000000014F0
+ amp2-erase 0x00000000000014F1
+ amp2-rewind 0x00000000000014F2
+ amp2-go_to 0x00000000000014F3
+ amp2-wind 0x00000000000014F4
+ amp2-play 0x00000000000014F5
+ amp2-stop 0x00000000000014F6
+ amp2-recording 0x00000000000014F7
+ amp2-external1 0x00000000000014F8
+ amp2-external2 0x00000000000014F9
+ amp2-clear_all_memory 0x00000000000014FA
+ amp2-INVALID 0x00000000000014FB
+ amp2-dyn_range_expand/compr 0x00000000000014FC
+ amp2-system_standby 0x00000000000014FD
+ amp2-INVALID 0x00000000000014FE
+ amp2-system_select 0x00000000000014FF
+ amp2-surround_sound 0x00000000000004C0
+ amp2-balance_front 0x00000000000004C1
+ amp2-balance_rear 0x00000000000004C2
+ amp2-sound_effects1 0x00000000000004C3
+ amp2-sound_effects2 0x00000000000004C4
+ amp2-sound_effects3 0x00000000000004C5
+ amp2-sound_effects4 0x00000000000004C6
+ amp2-sound_effects5 0x00000000000004C7
+ amp2-sound_or_menu_func.1 0x00000000000004C8
+ amp2-sound_or_menu_func.2 0x00000000000004C9
+ amp2-sound_or_menu_func.3 0x00000000000004CA
+ amp2-linear_function_up 0x00000000000004CD
+ amp2-linear_function_down 0x00000000000004CE
+ amp2-catalogue 0x00000000000004CF
+ amp2-cursor_step_up 0x00000000000004D0
+ amp2-cursor_step_down 0x00000000000004D1
+ amp2-menu_on 0x00000000000004D2
+ amp2-menu_off 0x00000000000004D3
+ amp2-display_A/V_status 0x00000000000004D4
+ amp2-cursor_step_left 0x00000000000004D5
+ amp2-cursor_step_right 0x00000000000004D6
+ amp2-menu_function 0x00000000000004D7
+ amp2-PIP_on/off 0x00000000000004D8
+ amp2-PIP_shift 0x00000000000004D9
+ amp2-PIP_main_swap 0x00000000000004DA
+ amp2-strobe_on/off 0x00000000000004DB
+ amp2-multi_strobe 0x00000000000004DC
+ amp2-main_freezed 0x00000000000004DD
+ amp2-3/9_multi_scan 0x00000000000004DE
+ amp2-PIP_mode_select 0x00000000000004DF
+ amp2-mosaic 0x00000000000004E0
+ amp2-solarization 0x00000000000004E1
+ amp2-main_stored 0x00000000000004E2
+ amp2-PIP_strobe 0x00000000000004E3
+ amp2-recall_main 0x00000000000004E4
+ amp2-PIP_freeze 0x00000000000004E5
+ amp2-PIP_step_up 0x00000000000004E6
+ amp2-PIP_step_down 0x00000000000004E7
+ amp2-INVALID 0x00000000000004EC
+ amp2-INVALID 0x00000000000004F0
+ amp2-INVALID 0x00000000000004F1
+ amp2-INVALID 0x00000000000004F6
+ amp2-INVALID 0x00000000000004F7
+ amp2-connect 0x00000000000004FB
+ amp2-disconnect 0x00000000000004FC
+ cd-0 0x0000000000001500
+ cd-1 0x0000000000001501
+ cd-2 0x0000000000001502
+ cd-3 0x0000000000001503
+ cd-4 0x0000000000001504
+ cd-5 0x0000000000001505
+ cd-6 0x0000000000001506
+ cd-7 0x0000000000001507
+ cd-8 0x0000000000001508
+ cd-9 0x0000000000001509
+ cd-cursor_scroll 0x000000000000150A
+ cd-display_scroll 0x000000000000150B
+ cd-standby 0x000000000000150C
+ cd-mute/demute 0x000000000000150D
+ cd-P.P._(personal_pref.) 0x000000000000150E
+ cd-display 0x000000000000150F
+ cd-volume+ 0x0000000000001510
+ cd-volume- 0x0000000000001511
+ cd-brightness+ 0x0000000000001512
+ cd-brightness- 0x0000000000001513
+ cd-colour_saturation+ 0x0000000000001514
+ cd-colour_saturation- 0x0000000000001515
+ cd-bass+ 0x0000000000001516
+ cd-bass- 0x0000000000001517
+ cd-treble+ 0x0000000000001518
+ cd-treble- 0x0000000000001519
+ cd-balance_right 0x000000000000151A
+ cd-balance_left 0x000000000000151B
+ cd-rept_once/TSPo/shuffle 0x000000000000151C
+ cd-repeat_cont/TSPc 0x000000000000151D
+ cd-select+ 0x000000000000151E
+ cd-select- 0x000000000000151F
+ cd-next 0x0000000000001520
+ cd-previous 0x0000000000001521
+ cd-index_next 0x0000000000001522
+ cd-index_previous 0x0000000000001523
+ cd-play/program 0x0000000000001524
+ cd-speed_nominal 0x0000000000001525
+ cd-speed+ 0x0000000000001526
+ cd-speed- 0x0000000000001527
+ cd-INVALID 0x0000000000001528
+ cd-store_execute 0x0000000000001529
+ cd-INVALID 0x000000000000152A
+ cd-scan_forward 0x000000000000152B
+ cd-INVALID 0x000000000000152C
+ cd-open/close 0x000000000000152D
+ cd-INVALID 0x000000000000152E
+ cd-INVALID 0x000000000000152F
+ cd-pause 0x0000000000001530
+ cd-erase 0x0000000000001531
+ cd-rewind 0x0000000000001532
+ cd-go_to 0x0000000000001533
+ cd-wind 0x0000000000001534
+ cd-play 0x0000000000001535
+ cd-stop 0x0000000000001536
+ cd-recording 0x0000000000001537
+ cd-external1 0x0000000000001538
+ cd-external2 0x0000000000001539
+ cd-clear_all_memory 0x000000000000153A
+ cd-repeat_A/B_program 0x000000000000153B
+ cd-dynamic_range_expand 0x000000000000153C
+ cd-system_standby 0x000000000000153D
+ cd-dynamic_range_compress 0x000000000000153E
+ cd-system_select 0x000000000000153F
+ cd-surround_sound 0x0000000000000500
+ cd-balance_front 0x0000000000000501
+ cd-balance_rear 0x0000000000000502
+ cd-sound_effects1 0x0000000000000503
+ cd-sound_effects2 0x0000000000000504
+ cd-sound_effects3 0x0000000000000505
+ cd-sound_effects4 0x0000000000000506
+ cd-sound_effects5 0x0000000000000507
+ cd-sound_or_menu_func.1 0x0000000000000508
+ cd-sound_or_menu_func.2 0x0000000000000509
+ cd-sound_or_menu_func.3 0x000000000000050A
+ cd-linear_function_up 0x000000000000050D
+ cd-linear_function_down 0x000000000000050E
+ cd-sound_or_menu_func. 0x000000000000050F
+ cd-cursor_step_up 0x0000000000000510
+ cd-cursor_step_down 0x0000000000000511
+ cd-menu_on 0x0000000000000512
+ cd-menu_off 0x0000000000000513
+ cd-display_A/V_status 0x0000000000000514
+ cd-cursor_step_left 0x0000000000000515
+ cd-cursor_step_right 0x0000000000000516
+ cd-menu_function 0x0000000000000517
+ cd-PIP_on/off 0x0000000000000518
+ cd-PIP_shift 0x0000000000000519
+ cd-PIP_main_swap 0x000000000000051A
+ cd-strobe_on/off 0x000000000000051B
+ cd-multi_strobe 0x000000000000051C
+ cd-main_freezed 0x000000000000051D
+ cd-3/9_multi_scan 0x000000000000051E
+ cd-PIP_mode_select 0x000000000000051F
+ cd-mosaic 0x0000000000000520
+ cd-solarization 0x0000000000000521
+ cd-main_stored 0x0000000000000522
+ cd-PIP_strobe 0x0000000000000523
+ cd-recall_main 0x0000000000000524
+ cd-PIP_freeze 0x0000000000000525
+ cd-PIP_step_up 0x0000000000000526
+ cd-PIP_step_down 0x0000000000000527
+ cd-INVALID 0x0000000000000528
+ cd-INVALID 0x0000000000000529
+ cd-INVALID 0x000000000000052A
+ cd-INVALID 0x000000000000052B
+ cd-FTS 0x000000000000052C
+ cd-INVALID 0x000000000000052D
+ cd-INVALID 0x0000000000000532
+ cd-INVALID 0x0000000000000533
+ cd-INVALID 0x0000000000000534
+ cd-INVALID 0x0000000000000535
+ cd-sub_mode1 0x0000000000000536
+ cd-sub_mode2 0x0000000000000537
+ cd-connect 0x000000000000053B
+ cd-disconnect 0x000000000000053C
+ lv1-0 0x0000000000001100
+ lv1-1 0x0000000000001101
+ lv1-2 0x0000000000001102
+ lv1-3 0x0000000000001103
+ lv1-4 0x0000000000001104
+ lv1-5 0x0000000000001105
+ lv1-6 0x0000000000001106
+ lv1-7 0x0000000000001107
+ lv1-8 0x0000000000001108
+ lv1-9 0x0000000000001109
+ lv1-picture_number/time 0x000000000000110A
+ lv1-channel_number 0x000000000000110B
+ lv1-standby 0x000000000000110C
+ lv1-mute/demute 0x000000000000110D
+ lv1-P.P._(personal_pref.) 0x000000000000110E
+ lv1-display 0x000000000000110F
+ lv1-volume+ 0x0000000000001110
+ lv1-volume- 0x0000000000001111
+ lv1-brightness+ 0x0000000000001112
+ lv1-brightness- 0x0000000000001113
+ lv1-colour_saturation+ 0x0000000000001114
+ lv1-colour_saturation- 0x0000000000001115
+ lv1-bass+ 0x0000000000001116
+ lv1-bass- 0x0000000000001117
+ lv1-treble+ 0x0000000000001118
+ lv1-treble- 0x0000000000001119
+ lv1-balance_right 0x000000000000111A
+ lv1-balance_left 0x000000000000111B
+ lv1-repeat_once/TSPo 0x000000000000111C
+ lv1-repeat_cont/TSPc 0x000000000000111D
+ lv1-next 0x000000000000111E
+ lv1-fast_run_reverse 0x000000000000111F
+ lv1-entry 0x0000000000001120
+ lv1-auto_stop/memory 0x0000000000001121
+ lv1-slow_run_reverse 0x0000000000001122
+ lv1-audio1 0x0000000000001123
+ lv1-audio2 0x0000000000001124
+ lv1-still_picture 0x0000000000001125
+ lv1-speed+ 0x0000000000001126
+ lv1-speed- 0x0000000000001127
+ lv1-slow_run_forward 0x0000000000001128
+ lv1-still_forward 0x0000000000001129
+ lv1-fast_run_forward 0x000000000000112A
+ lv1-search_automatic 0x000000000000112B
+ lv1-scan_reverse 0x000000000000112C
+ lv1-open/close_(eject) 0x000000000000112D
+ lv1-scan_forward 0x000000000000112E
+ lv1-play_reverse 0x000000000000112F
+ lv1-pause 0x0000000000001130
+ lv1-erase 0x0000000000001131
+ lv1-rewind 0x0000000000001132
+ lv1-go_to 0x0000000000001133
+ lv1-wind 0x0000000000001134
+ lv1-play 0x0000000000001135
+ lv1-stop 0x0000000000001136
+ lv1-recording 0x0000000000001137
+ lv1-external1 0x0000000000001138
+ lv1-external2 0x0000000000001139
+ lv1-clear_all_memory 0x000000000000113A
+ lv1-freeze_segment 0x000000000000113B
+ lv1-TXT_(pal)/ant.sw_(ntsc) 0x000000000000113C
+ lv1-system_standby 0x000000000000113D
+ lv1-CX_on/off 0x000000000000113E
+ lv1-system_select 0x000000000000113F
+ lv1-surround_sound 0x0000000000000100
+ lv1-balance_front 0x0000000000000101
+ lv1-balance_rear 0x0000000000000102
+ lv1-sound_effects1 0x0000000000000103
+ lv1-sound_effects2 0x0000000000000104
+ lv1-sound_effects3 0x0000000000000105
+ lv1-sound_effects4 0x0000000000000106
+ lv1-sound_effects5 0x0000000000000107
+ lv1-sound_or_menu_func.1 0x0000000000000108
+ lv1-sound_or_menu_func.2 0x0000000000000109
+ lv1-sound_or_menu_func.3 0x000000000000010A
+ lv1-INVALID 0x000000000000010B
+ lv1-INVALID 0x000000000000010C
+ lv1-linear_function_up 0x000000000000010D
+ lv1-linear_function_down 0x000000000000010E
+ lv1-sound_or_menu_func. 0x000000000000010F
+ lv1-cursor_step_up 0x0000000000000110
+ lv1-cursor_step_down 0x0000000000000111
+ lv1-menu_on 0x0000000000000112
+ lv1-menu_off 0x0000000000000113
+ lv1-display_A/V_status 0x0000000000000114
+ lv1-cursor_step_left 0x0000000000000115
+ lv1-cursor_step_right 0x0000000000000116
+ lv1-menu_function 0x0000000000000117
+ lv1-PIP_on/off 0x0000000000000118
+ lv1-PIP_shift 0x0000000000000119
+ lv1-PIP_main_swap 0x000000000000011A
+ lv1-strobe_on/off 0x000000000000011B
+ lv1-multi_strobe 0x000000000000011C
+ lv1-main_freezed 0x000000000000011D
+ lv1-3/9_multi_scan 0x000000000000011E
+ lv1-PIP_mode_select 0x000000000000011F
+ lv1-mosaic 0x0000000000000120
+ lv1-solarization 0x0000000000000121
+ lv1-main_stored 0x0000000000000122
+ lv1-PIP_strobe 0x0000000000000123
+ lv1-recall_main 0x0000000000000124
+ lv1-PIP_freeze 0x0000000000000125
+ lv1-PIP_step_up 0x0000000000000126
+ lv1-PIP_step_down 0x0000000000000127
+ lv1-INVALID 0x0000000000000128
+ lv1-INVALID 0x0000000000000129
+ lv1-INVALID 0x000000000000012A
+ lv1-INVALID 0x000000000000012B
+ lv1-INVALID 0x000000000000012C
+ lv1-INVALID 0x000000000000012D
+ lv1-INVALID 0x0000000000000130
+ lv1-INVALID 0x0000000000000131
+ lv1-INVALID 0x0000000000000132
+ lv1-INVALID 0x0000000000000133
+ lv1-INVALID 0x0000000000000134
+ lv1-INVALID 0x0000000000000135
+ lv1-sub_mode1 0x0000000000000136
+ lv1-sub_mode2 0x0000000000000137
+ lv1-INVALID 0x0000000000000138
+ lv1-INVALID 0x0000000000000139
+ lv1-INVALID 0x000000000000013A
+ lv1-connect 0x000000000000013B
+ lv1-disconnect 0x000000000000013C
+ lv2-0 0x0000000000001300
+ lv2-1 0x0000000000001301
+ lv2-2 0x0000000000001302
+ lv2-3 0x0000000000001303
+ lv2-4 0x0000000000001304
+ lv2-5 0x0000000000001305
+ lv2-6 0x0000000000001306
+ lv2-7 0x0000000000001307
+ lv2-8 0x0000000000001308
+ lv2-9 0x0000000000001309
+ lv2-picture_number/time 0x000000000000130A
+ lv2-chapter_number 0x000000000000130B
+ lv2-standby 0x000000000000130C
+ lv2-mute/demute 0x000000000000130D
+ lv2-P.P._(personal_pref.) 0x000000000000130E
+ lv2-display 0x000000000000130F
+ lv2-volume+ 0x0000000000001310
+ lv2-volume- 0x0000000000001311
+ lv2-brightness+ 0x0000000000001312
+ lv2-brightness- 0x0000000000001313
+ lv2-colour_saturation+ 0x0000000000001314
+ lv2-colour_saturation- 0x0000000000001315
+ lv2-bass+ 0x0000000000001316
+ lv2-bass- 0x0000000000001317
+ lv2-treble+ 0x0000000000001318
+ lv2-treble- 0x0000000000001319
+ lv2-balance_right 0x000000000000131A
+ lv2-balance_left 0x000000000000131B
+ lv2-repeat_once/TSPo 0x000000000000131C
+ lv2-repeat_cont/TSPc 0x000000000000131D
+ lv2-next 0x000000000000131E
+ lv2-programming 0x000000000000131F
+ lv2-INVALID 0x0000000000001320
+ lv2-auto_stop/memory 0x0000000000001321
+ lv2-slow_run_reverse 0x0000000000001322
+ lv2-stereo_left/right 0x0000000000001323
+ lv2-previous 0x0000000000001324
+ lv2-still_reverse 0x0000000000001325
+ lv2-speed+ 0x0000000000001326
+ lv2-speed- 0x0000000000001327
+ lv2-slow_run_forward 0x0000000000001328
+ lv2-still_forward 0x0000000000001329
+ lv2-digital_multi_screen 0x000000000000132A
+ lv2-strobe 0x000000000000132B
+ lv2-scan_reverse 0x000000000000132C
+ lv2-open/close_(eject) 0x000000000000132D
+ lv2-scan_forward 0x000000000000132E
+ lv2-INVALID 0x000000000000132F
+ lv2-pause 0x0000000000001330
+ lv2-erase 0x0000000000001331
+ lv2-rewind 0x0000000000001332
+ lv2-go_to 0x0000000000001333
+ lv2-wind 0x0000000000001334
+ lv2-play 0x0000000000001335
+ lv2-stop 0x0000000000001336
+ lv2-recording 0x0000000000001337
+ lv2-external1 0x0000000000001338
+ lv2-external2 0x0000000000001339
+ lv2-clear_all_memory 0x000000000000133A
+ lv2-repeat_A/B_program 0x000000000000133B
+ lv2-TXT_(pal)/ant.sw_(ntsc) 0x000000000000133C
+ lv2-system_standby 0x000000000000133D
+ lv2-CX_on/off 0x000000000000133E
+ lv2-system_select 0x000000000000133F
+ lv2-surround_sound 0x0000000000000300
+ lv2-balance_front 0x0000000000000301
+ lv2-balance_rear 0x0000000000000302
+ lv2-sound_effects1 0x0000000000000303
+ lv2-sound_effects2 0x0000000000000304
+ lv2-sound_effects3 0x0000000000000305
+ lv2-sound_effects4 0x0000000000000306
+ lv2-sound_effects5 0x0000000000000307
+ lv2-sound_or_menu_func.1 0x0000000000000308
+ lv2-sound_or_menu_func.2 0x0000000000000309
+ lv2-sound_or_menu_func.3 0x000000000000030A
+ lv2-linear_function_up 0x000000000000030D
+ lv2-linear_function_down 0x000000000000030E
+ lv2-sound_or_menu_func. 0x000000000000030F
+ lv2-cursor_step_up 0x0000000000000310
+ lv2-cursor_step_down 0x0000000000000311
+ lv2-menu_on 0x0000000000000312
+ lv2-menu_off 0x0000000000000313
+ lv2-display_A/V_status 0x0000000000000314
+ lv2-cursor_step_left 0x0000000000000315
+ lv2-cursor_step_right 0x0000000000000316
+ lv2-menu_function 0x0000000000000317
+ lv2-PIP_on/off 0x0000000000000318
+ lv2-PIP_shift 0x0000000000000319
+ lv2-PIP_main_swap 0x000000000000031A
+ lv2-strobe_on/off 0x000000000000031B
+ lv2-multi_strobe 0x000000000000031C
+ lv2-main_freezed 0x000000000000031D
+ lv2-3/9_multi_scan 0x000000000000031E
+ lv2-PIP_mode_select 0x000000000000031F
+ lv2-mosaic 0x0000000000000320
+ lv2-solarization 0x0000000000000321
+ lv2-main_stored 0x0000000000000322
+ lv2-PIP_strobe 0x0000000000000323
+ lv2-recall_main 0x0000000000000324
+ lv2-PIP_freeze 0x0000000000000325
+ lv2-PIP_step_up 0x0000000000000326
+ lv2-PIP_step_down 0x0000000000000327
+ lv2-FTS 0x000000000000032C
+ lv2-index_next 0x0000000000000330
+ lv2-index_previous 0x0000000000000331
+ lv2-sub_mode1 0x0000000000000336
+ lv2-sub_mode2 0x0000000000000337
+ lv2-connect 0x000000000000033B
+ lv2-disconnect 0x000000000000033C
+ phono-0 0x0000000000001540
+ phono-1 0x0000000000001541
+ phono-2 0x0000000000001542
+ phono-3 0x0000000000001543
+ phono-4 0x0000000000001544
+ phono-5 0x0000000000001545
+ phono-6 0x0000000000001546
+ phono-7 0x0000000000001547
+ phono-8 0x0000000000001548
+ phono-9 0x0000000000001549
+ phono-INVALID 0x000000000000154A
+ phono-INVALID 0x000000000000154B
+ phono-standby 0x000000000000154C
+ phono-mute/demute 0x000000000000154D
+ phono-P.P. 0x000000000000154E
+ phono-display 0x000000000000154F
+ phono-volume+ 0x0000000000001550
+ phono-volume- 0x0000000000001551
+ phono-brightness+ 0x0000000000001552
+ phono-brightness- 0x0000000000001553
+ phono-colour_saturation+ 0x0000000000001554
+ phono-colour_saturation- 0x0000000000001555
+ phono-bass+ 0x0000000000001556
+ phono-bass- 0x0000000000001557
+ phono-treble+ 0x0000000000001558
+ phono-treble- 0x0000000000001559
+ phono-balance_right 0x000000000000155A
+ phono-balance_left 0x000000000000155B
+ phono-repeat_once 0x000000000000155C
+ phono-repeat_continuously 0x000000000000155D
+ phono-select+ 0x000000000000155E
+ phono-select- 0x000000000000155F
+ phono-next 0x0000000000001560
+ phono-previous 0x0000000000001561
+ phono-index_next 0x0000000000001562
+ phono-index_previous 0x0000000000001563
+ phono-stereo/mono 0x0000000000001564
+ phono-INVALID 0x0000000000001565
+ phono-INVALID 0x0000000000001566
+ phono-INVALID 0x0000000000001567
+ phono-INVALID 0x0000000000001568
+ phono-store_execute 0x0000000000001569
+ phono-INVALID 0x000000000000156A
+ phono-scan_forward 0x000000000000156B
+ phono-INVALID 0x000000000000156C
+ phono-open/close 0x000000000000156D
+ phono-wave_scroll 0x000000000000156E
+ phono-INVALID 0x000000000000156F
+ phono-pause 0x0000000000001570
+ phono-erase 0x0000000000001571
+ phono-rewind 0x0000000000001572
+ phono-go_to 0x0000000000001573
+ phono-wind 0x0000000000001574
+ phono-play 0x0000000000001575
+ phono-stop 0x0000000000001576
+ phono-recording 0x0000000000001577
+ phono-external1 0x0000000000001578
+ phono-external2 0x0000000000001579
+ phono-clear_all_memory 0x000000000000157A
+ phono-INVALID 0x000000000000157B
+ phono-INVALID 0x000000000000157C
+ phono-system_standby 0x000000000000157D
+ phono-counter_memory 0x000000000000157E
+ phono-system_select 0x000000000000157F
+ phono-surround_sound 0x0000000000000540
+ phono-balance_front 0x0000000000000541
+ phono-balance_rear 0x0000000000000542
+ phono-sound_effects1 0x0000000000000543
+ phono-sound_effects2 0x0000000000000544
+ phono-sound_effects3 0x0000000000000545
+ phono-sound_effects4 0x0000000000000546
+ phono-sound_effects5 0x0000000000000547
+ phono-sound_or_menu_func.1 0x0000000000000548
+ phono-sound_or_menu_func.2 0x0000000000000549
+ phono-sound_or_menu_func.3 0x000000000000054A
+ phono-linear_function_up 0x000000000000054D
+ phono-linear_function_down 0x000000000000054E
+ phono-sound_or_menu_func. 0x000000000000054F
+ phono-cursor_step_up 0x0000000000000550
+ phono-cursor_step_down 0x0000000000000551
+ phono-menu_on 0x0000000000000552
+ phono-menu_off 0x0000000000000553
+ phono-display_A/V_status 0x0000000000000554
+ phono-cursor_step_left 0x0000000000000555
+ phono-cursor_step_right 0x0000000000000556
+ phono-menu_function 0x0000000000000557
+ phono-PIP_on/off 0x0000000000000558
+ phono-PIP_shift 0x0000000000000559
+ phono-PIP_main_swap 0x000000000000055A
+ phono-strobe_on/off 0x000000000000055B
+ phono-multi_strobe 0x000000000000055C
+ phono-main_freezed 0x000000000000055D
+ phono-3/9_multi_scan 0x000000000000055E
+ phono-PIP_mode_select 0x000000000000055F
+ phono-mosaic 0x0000000000000560
+ phono-solarization 0x0000000000000561
+ phono-main_stored 0x0000000000000562
+ phono-PIP_strobe 0x0000000000000563
+ phono-recall_main 0x0000000000000564
+ phono-PIP_freeze 0x0000000000000565
+ phono-PIP_step_up 0x0000000000000566
+ phono-PIP_step_down 0x0000000000000567
+ phono-INVALID 0x0000000000000568
+ phono-INVALID 0x0000000000000569
+ phono-INVALID 0x000000000000056A
+ phono-INVALID 0x000000000000056B
+ phono-INVALID 0x000000000000056C
+ phono-INVALID 0x000000000000056D
+ phono-INVALID 0x0000000000000572
+ phono-INVALID 0x0000000000000573
+ phono-INVALID 0x0000000000000574
+ phono-INVALID 0x0000000000000575
+ phono-sub_mode 0x0000000000000576
+ phono-sub_mode 0x0000000000000577
+ phono-connect 0x000000000000057B
+ phono-disconnect 0x000000000000057C
+ rec1-0 0x0000000000001480
+ rec1-1 0x0000000000001481
+ rec1-2 0x0000000000001482
+ rec1-3 0x0000000000001483
+ rec1-4 0x0000000000001484
+ rec1-5 0x0000000000001485
+ rec1-6 0x0000000000001486
+ rec1-7 0x0000000000001487
+ rec1-8 0x0000000000001488
+ rec1-9 0x0000000000001489
+ rec1-INVALID 0x000000000000148A
+ rec1-INVALID 0x000000000000148B
+ rec1-standby 0x000000000000148C
+ rec1-mute/demute 0x000000000000148D
+ rec1-P.P. 0x000000000000148E
+ rec1-display 0x000000000000148F
+ rec1-volume+ 0x0000000000001490
+ rec1-volume- 0x0000000000001491
+ rec1-brightness+ 0x0000000000001492
+ rec1-brightness- 0x0000000000001493
+ rec1-colour_saturation+ 0x0000000000001494
+ rec1-colour_saturation- 0x0000000000001495
+ rec1-bass+ 0x0000000000001496
+ rec1-bass- 0x0000000000001497
+ rec1-treble+ 0x0000000000001498
+ rec1-treble- 0x0000000000001499
+ rec1-balance_right 0x000000000000149A
+ rec1-balance_left 0x000000000000149B
+ rec1-repeat_once 0x000000000000149C
+ rec1-repeat_continuously 0x000000000000149D
+ rec1-select+ 0x000000000000149E
+ rec1-select- 0x000000000000149F
+ rec1-next 0x00000000000014A0
+ rec1-previous 0x00000000000014A1
+ rec1-INVALID 0x00000000000014A2
+ rec1-last_record_cancel 0x00000000000014A3
+ rec1-sequential 0x00000000000014A4
+ rec1-blank_search 0x00000000000014A5
+ rec1-INVALID 0x00000000000014A6
+ rec1-INVALID 0x00000000000014A7
+ rec1-recording_pause 0x00000000000014A8
+ rec1-store_execute 0x00000000000014A9
+ rec1-recording_blank 0x00000000000014AA
+ rec1-scan_forward 0x00000000000014AB
+ rec1-mechanism_A 0x00000000000014AC
+ rec1-eject 0x00000000000014AD
+ rec1-mechanism_B 0x00000000000014AE
+ rec1-play_reverse 0x00000000000014AF
+ rec1-pause 0x00000000000014B0
+ rec1-erase 0x00000000000014B1
+ rec1-rewind 0x00000000000014B2
+ rec1-go_to 0x00000000000014B3
+ rec1-wind 0x00000000000014B4
+ rec1-play 0x00000000000014B5
+ rec1-stop 0x00000000000014B6
+ rec1-recording 0x00000000000014B7
+ rec1-external1 0x00000000000014B8
+ rec1-external2 0x00000000000014B9
+ rec1-clear_all_memory 0x00000000000014BA
+ rec1-INVALID 0x00000000000014BB
+ rec1-INVALID 0x00000000000014BC
+ rec1-system_standby 0x00000000000014BD
+ rec1-INVALID 0x00000000000014BE
+ rec1-system_select 0x00000000000014BF
+ rec1-surround_sound 0x0000000000000480
+ rec1-balance_front 0x0000000000000481
+ rec1-balance_rear 0x0000000000000482
+ rec1-sound_effects1 0x0000000000000483
+ rec1-sound_effects2 0x0000000000000484
+ rec1-sound_effects3 0x0000000000000485
+ rec1-sound_effects4 0x0000000000000486
+ rec1-sound_effects5 0x0000000000000487
+ rec1-sound_or_menu_func.1 0x0000000000000488
+ rec1-sound_or_menu_func.2 0x0000000000000489
+ rec1-sound_or_menu_func.3 0x000000000000048A
+ rec1-linear_function_up 0x000000000000048D
+ rec1-linear_function_down 0x000000000000048E
+ rec1-sound_or_menu_func. 0x000000000000048F
+ rec1-cursor_step_up 0x0000000000000490
+ rec1-cursor_step_down 0x0000000000000491
+ rec1-menu_on 0x0000000000000492
+ rec1-menu_off 0x0000000000000493
+ rec1-display_A/V_status 0x0000000000000494
+ rec1-cursor_step_left 0x0000000000000495
+ rec1-cursor_step_right 0x0000000000000496
+ rec1-menu_function 0x0000000000000497
+ rec1-PIP_on/off 0x0000000000000498
+ rec1-PIP_shift 0x0000000000000499
+ rec1-PIP_main_swap 0x000000000000049A
+ rec1-strobe_on/off 0x000000000000049B
+ rec1-multi_strobe 0x000000000000049C
+ rec1-main_freezed 0x000000000000049D
+ rec1-3/9_multi_scan 0x000000000000049E
+ rec1-PIP_mode_select 0x000000000000049F
+ rec1-mosaic 0x00000000000004A0
+ rec1-solarization 0x00000000000004A1
+ rec1-main_stored 0x00000000000004A2
+ rec1-PIP_strobe 0x00000000000004A3
+ rec1-recall_main 0x00000000000004A4
+ rec1-PIP_freeze 0x00000000000004A5
+ rec1-PIP_step_up 0x00000000000004A6
+ rec1-PIP_step_down 0x00000000000004A7
+ rec1-automatic_start_ID 0x00000000000004A8
+ rec1-write_skip_ID 0x00000000000004A9
+ rec1-skip_on/off 0x00000000000004AA
+ rec1-write_end_ID 0x00000000000004AB
+ rec1-write_FTS 0x00000000000004AC
+ rec1-write_TOC 0x00000000000004AD
+ rec1-write_start_ID 0x00000000000004B2
+ rec1-Ca/Er/SK_ID 0x00000000000004B3
+ rec1-reformat 0x00000000000004B4
+ rec1-blank_search 0x00000000000004B5
+ rec1-sub_mode 0x00000000000004B6
+ rec1-sub_mode 0x00000000000004B7
+ rec1-connect 0x00000000000004BB
+ rec1-disconnect 0x00000000000004BC
+ rec2-0 0x00000000000015C0
+ rec2-1 0x00000000000015C1
+ rec2-2 0x00000000000015C2
+ rec2-3 0x00000000000015C3
+ rec2-4 0x00000000000015C4
+ rec2-5 0x00000000000015C5
+ rec2-6 0x00000000000015C6
+ rec2-7 0x00000000000015C7
+ rec2-8 0x00000000000015C8
+ rec2-9 0x00000000000015C9
+ rec2-INVALID 0x00000000000015CA
+ rec2-INVALID 0x00000000000015CB
+ rec2-standby 0x00000000000015CC
+ rec2-mute/demute 0x00000000000015CD
+ rec2-P.P. 0x00000000000015CE
+ rec2-display 0x00000000000015CF
+ rec2-volume+ 0x00000000000015D0
+ rec2-volume- 0x00000000000015D1
+ rec2-brightness+ 0x00000000000015D2
+ rec2-brightness- 0x00000000000015D3
+ rec2-colour_saturation+ 0x00000000000015D4
+ rec2-colour_saturation- 0x00000000000015D5
+ rec2-bass+ 0x00000000000015D6
+ rec2-bass- 0x00000000000015D7
+ rec2-treble+ 0x00000000000015D8
+ rec2-treble- 0x00000000000015D9
+ rec2-balance_right 0x00000000000015DA
+ rec2-balance_left 0x00000000000015DB
+ rec2-repeat_once 0x00000000000015DC
+ rec2-repeat_continuously 0x00000000000015DD
+ rec2-select+ 0x00000000000015DE
+ rec2-select- 0x00000000000015DF
+ rec2-next 0x00000000000015E0
+ rec2-previous 0x00000000000015E1
+ rec2-INVALID 0x00000000000015E2
+ rec2-last_record_cancel 0x00000000000015E3
+ rec2-sequential 0x00000000000015E4
+ rec2-blank_search 0x00000000000015E5
+ rec2-INVALID 0x00000000000015E6
+ rec2-INVALID 0x00000000000015E7
+ rec2-recording_pause 0x00000000000015E8
+ rec2-store_execute 0x00000000000015E9
+ rec2-recording_blank 0x00000000000015EA
+ rec2-scan_forward 0x00000000000015EB
+ rec2-mechanism_A 0x00000000000015EC
+ rec2-eject 0x00000000000015ED
+ rec2-mechanism_B 0x00000000000015EE
+ rec2-play_reverse 0x00000000000015EF
+ rec2-pause 0x00000000000015F0
+ rec2-erase 0x00000000000015F1
+ rec2-rewind 0x00000000000015F2
+ rec2-go_to 0x00000000000015F3
+ rec2-wind 0x00000000000015F4
+ rec2-play 0x00000000000015F5
+ rec2-stop 0x00000000000015F6
+ rec2-recording 0x00000000000015F7
+ rec2-external1 0x00000000000015F8
+ rec2-external2 0x00000000000015F9
+ rec2-clear_all_memory 0x00000000000015FA
+ rec2-INVALID 0x00000000000015FB
+ rec2-INVALID 0x00000000000015FC
+ rec2-system_standby 0x00000000000015FD
+ rec2-INVALID 0x00000000000015FE
+ rec2-system_select 0x00000000000015FF
+ rec2-surround_sound 0x00000000000005C0
+ rec2-balance_front 0x00000000000005C1
+ rec2-balance_rear 0x00000000000005C2
+ rec2-sound_effects1 0x00000000000005C3
+ rec2-sound_effects2 0x00000000000005C4
+ rec2-sound_effects3 0x00000000000005C5
+ rec2-sound_effects4 0x00000000000005C6
+ rec2-sound_effects5 0x00000000000005C7
+ rec2-sound_or_menu_func.1 0x00000000000005C8
+ rec2-sound_or_menu_func.2 0x00000000000005C9
+ rec2-sound_or_menu_func.3 0x00000000000005CA
+ rec2-linear_function_up 0x00000000000005CD
+ rec2-linear_function_down 0x00000000000005CE
+ rec2-sound_or_menu_func. 0x00000000000005CF
+ rec2-cursor_step_up 0x00000000000005D0
+ rec2-cursor_step_down 0x00000000000005D1
+ rec2-menu_on 0x00000000000005D2
+ rec2-menu_off 0x00000000000005D3
+ rec2-display_A/V_status 0x00000000000005D4
+ rec2-cursor_step_left 0x00000000000005D5
+ rec2-cursor_step_right 0x00000000000005D6
+ rec2-menu_function 0x00000000000005D7
+ rec2-PIP_on/off 0x00000000000005D8
+ rec2-PIP_shift 0x00000000000005D9
+ rec2-PIP_main_swap 0x00000000000005DA
+ rec2-strobe_on/off 0x00000000000005DB
+ rec2-multi_strobe 0x00000000000005DC
+ rec2-main_freezed 0x00000000000005DD
+ rec2-3/9_multi_scan 0x00000000000005DE
+ rec2-PIP_mode_select 0x00000000000005DF
+ rec2-mosaic 0x00000000000005E0
+ rec2-solarization 0x00000000000005E1
+ rec2-main_stored 0x00000000000005E2
+ rec2-PIP_strobe 0x00000000000005E3
+ rec2-recall_main 0x00000000000005E4
+ rec2-PIP_freeze 0x00000000000005E5
+ rec2-PIP_step_up 0x00000000000005E6
+ rec2-PIP_step_down 0x00000000000005E7
+ rec2-automatic_start_ID 0x00000000000005E8
+ rec2-write_skip_ID 0x00000000000005E9
+ rec2-skip_on/off 0x00000000000005EA
+ rec2-write_end_ID 0x00000000000005EB
+ rec2-write_FTS 0x00000000000005EC
+ rec2-write_TOC 0x00000000000005ED
+ rec2-write_start_ID 0x00000000000005F2
+ rec2-Ca/Er/SK_ID 0x00000000000005F3
+ rec2-reformat 0x00000000000005F4
+ rec2-blank_search 0x00000000000005F5
+ rec2-sub_mode 0x00000000000005F6
+ rec2-sub_mode 0x00000000000005F7
+ rec2-connect 0x00000000000005FB
+ rec2-disconnect 0x00000000000005FC
+ sat-0 0x0000000000001200
+ sat-1 0x0000000000001201
+ sat-2 0x0000000000001202
+ sat-3 0x0000000000001203
+ sat-4 0x0000000000001204
+ sat-5 0x0000000000001205
+ sat-6 0x0000000000001206
+ sat-7 0x0000000000001207
+ sat-8 0x0000000000001208
+ sat-9 0x0000000000001209
+ sat-1/2_digits 0x000000000000120A
+ sat-channel/program_mode 0x000000000000120B
+ sat-standby 0x000000000000120C
+ sat-mute/demute 0x000000000000120D
+ sat-P.P. 0x000000000000120E
+ sat-display 0x000000000000120F
+ sat-volume+ 0x0000000000001210
+ sat-volume- 0x0000000000001211
+ sat-brightness+ 0x0000000000001212
+ sat-brightness- 0x0000000000001213
+ sat-colour_saturation+ 0x0000000000001214
+ sat-colour_saturation- 0x0000000000001215
+ sat-bass+ 0x0000000000001216
+ sat-bass- 0x0000000000001217
+ sat-treble+ 0x0000000000001218
+ sat-treble- 0x0000000000001219
+ sat-balance_right 0x000000000000121A
+ sat-balance_left 0x000000000000121B
+ sat-INVALID 0x000000000000121C
+ sat-INVALID 0x000000000000121D
+ sat-INVALID 0x000000000000121E
+ sat-INVALID 0x000000000000121F
+ sat-channel/program+ 0x0000000000001220
+ sat-channel/program- 0x0000000000001221
+ sat-INVALID 0x0000000000001222
+ sat-language_select/mode1 0x0000000000001223
+ sat-special_stereo_on/off 0x0000000000001224
+ sat-audio_mixed_/_mode2 0x0000000000001225
+ sat-INVALID 0x0000000000001226
+ sat-INVALID 0x0000000000001227
+ sat-INVALID 0x0000000000001228
+ sat-INVALID 0x0000000000001229
+ sat-INVALID 0x000000000000122A
+ sat-INVALID 0x000000000000122B
+ sat-INVALID 0x000000000000122C
+ sat-INVALID 0x000000000000122D
+ sat-subtitle 0x000000000000122E
+ sat-INVALID 0x000000000000122F
+ sat-pause 0x0000000000001230
+ sat-erase 0x0000000000001231
+ sat-rewind 0x0000000000001232
+ sat-go_to 0x0000000000001233
+ sat-wind 0x0000000000001234
+ sat-play 0x0000000000001235
+ sat-stop 0x0000000000001236
+ sat-recording 0x0000000000001237
+ sat-external1 0x0000000000001238
+ sat-external2 0x0000000000001239
+ sat-INVALID 0x000000000000123A
+ sat-INVALID 0x000000000000123B
+ sat-TXT_submode 0x000000000000123C
+ sat-system_standby 0x000000000000123D
+ sat-INVALID 0x000000000000123E
+ sat-system_select 0x000000000000123F
+ sat-surround_sound 0x0000000000000200
+ sat-balance_front 0x0000000000000201
+ sat-balance_rear 0x0000000000000202
+ sat-sound_effects1 0x0000000000000203
+ sat-sound_effects2 0x0000000000000204
+ sat-sound_effects3 0x0000000000000205
+ sat-sound_effects4 0x0000000000000206
+ sat-sound_effects5 0x0000000000000207
+ sat-sound_or_menu_func.1 0x0000000000000208
+ sat-sound_or_menu_func.2 0x0000000000000209
+ sat-sound_or_menu_func.3 0x000000000000020A
+ sat-INVALID 0x000000000000020B
+ sat-INVALID 0x000000000000020C
+ sat-linear_function_up 0x000000000000020D
+ sat-linear_function_down 0x000000000000020E
+ sat-sound_or_menu_func. 0x000000000000020F
+ sat-cursor_step_up 0x0000000000000210
+ sat-cursor_step_down 0x0000000000000211
+ sat-menu_on 0x0000000000000212
+ sat-menu_off 0x0000000000000213
+ sat-display_A/V_status 0x0000000000000214
+ sat-cursor_step_left 0x0000000000000215
+ sat-cursor_step_right 0x0000000000000216
+ sat-menu_function 0x0000000000000217
+ sat-PIP_on/off 0x0000000000000218
+ sat-PIP_shift 0x0000000000000219
+ sat-PIP_main_swap 0x000000000000021A
+ sat-strobe_on/off 0x000000000000021B
+ sat-multi_strobe 0x000000000000021C
+ sat-main_freezed 0x000000000000021D
+ sat-3/9_multi_scan 0x000000000000021E
+ sat-PIP_mode_select 0x000000000000021F
+ sat-mosaic 0x0000000000000220
+ sat-solarization 0x0000000000000221
+ sat-main_stored 0x0000000000000222
+ sat-PIP_strobe 0x0000000000000223
+ sat-recall_main 0x0000000000000224
+ sat-PIP_freeze 0x0000000000000225
+ sat-PIP_step_up 0x0000000000000226
+ sat-PIP_step_down 0x0000000000000227
+ sat-INVALID 0x0000000000000228
+ sat-INVALID 0x0000000000000229
+ sat-INVALID 0x000000000000022A
+ sat-INVALID 0x000000000000022B
+ sat-INVALID 0x000000000000022C
+ sat-INVALID 0x000000000000022D
+ sat-INVALID 0x0000000000000230
+ sat-INVALID 0x0000000000000231
+ sat-INVALID 0x0000000000000232
+ sat-INVALID 0x0000000000000233
+ sat-INVALID 0x0000000000000234
+ sat-INVALID 0x0000000000000235
+ sat-sub_mode 0x0000000000000236
+ sat-sub_mode 0x0000000000000237
+ sat-INVALID 0x0000000000000238
+ sat-INVALID 0x0000000000000239
+ sat-INVALID 0x000000000000023A
+ sat-connect 0x000000000000023B
+ sat-INVALID 0x000000000000023C
+ text-0 0x0000000000001080
+ text-1 0x0000000000001081
+ text-2 0x0000000000001082
+ text-3 0x0000000000001083
+ text-4 0x0000000000001084
+ text-5 0x0000000000001085
+ text-6 0x0000000000001086
+ text-7 0x0000000000001087
+ text-8 0x0000000000001088
+ text-9 0x0000000000001089
+ text-step_page+ 0x000000000000108A
+ text-step_page- 0x000000000000108B
+ text-standby 0x000000000000108C
+ text-mute/demute 0x000000000000108D
+ text-P.P. 0x000000000000108E
+ text-display 0x000000000000108F
+ text-volume+ 0x0000000000001090
+ text-volume- 0x0000000000001091
+ text-brightness+ 0x0000000000001092
+ text-brightness- 0x0000000000001093
+ text-colour_saturation+ 0x0000000000001094
+ text-colour_saturation- 0x0000000000001095
+ text-bass+ 0x0000000000001096
+ text-bass- 0x0000000000001097
+ text-treble+ 0x0000000000001098
+ text-treble- 0x0000000000001099
+ text-balance_right 0x000000000000109A
+ text-balance_left 0x000000000000109B
+ text-enter/validation_(Frnc) 0x000000000000109C
+ text-memory_out 0x000000000000109D
+ text-sequence_out 0x000000000000109E
+ text-INVALID 0x000000000000109F
+ text-exchange 0x00000000000010A0
+ text-index/summary_(France) 0x00000000000010A1
+ text-row_zero_(France) 0x00000000000010A2
+ text-1st/2nd_language 0x00000000000010A3
+ text-spacial_stereo_on/off 0x00000000000010A4
+ text-INVALID 0x00000000000010A5
+ text-hardcopy_printer 0x00000000000010A6
+ text-antiope_TV_mixed_(Frnc) 0x00000000000010A7
+ text-PIP_select 0x00000000000010A8
+ text-page_hold_on/off 0x00000000000010A9
+ text-clck_timed_page_(F:magazine) 0x00000000000010AA
+ text-large_top/lrge_bot/norm 0x00000000000010AB
+ text-reveal/conceal/canc_pic 0x00000000000010AC
+ text-cancel_teletext_picture 0x00000000000010AD
+ text-TV/Text_mixed/Subtitle 0x00000000000010AE
+ text-PIP_shift 0x00000000000010AF
+ text-pause 0x00000000000010B0
+ text-erase 0x00000000000010B1
+ text-rewind 0x00000000000010B2
+ text-go_to 0x00000000000010B3
+ text-wind 0x00000000000010B4
+ text-play 0x00000000000010B5
+ text-stop 0x00000000000010B6
+ text-recording 0x00000000000010B7
+ text-external1 0x00000000000010B8
+ text-external2 0x00000000000010B9
+ text-PIP_display_mode 0x00000000000010BA
+ text-INVALID 0x00000000000010BB
+ text-INVALID 0x00000000000010BC
+ text-system_standby 0x00000000000010BD
+ text-news_flash_(France) 0x00000000000010BE
+ text-system_select 0x00000000000010BF
+ text-surround_sound 0x0000000000000080
+ text-balance_front 0x0000000000000081
+ text-balance_rear 0x0000000000000082
+ text-sound_effects1 0x0000000000000083
+ text-sound_effects2 0x0000000000000084
+ text-sound_effects3 0x0000000000000085
+ text-sound_effects4 0x0000000000000086
+ text-sound_effects5 0x0000000000000087
+ text-sound_or_menu_func.1 0x0000000000000088
+ text-sound_or_menu_func.2 0x0000000000000089
+ text-sound_or_menu_func.3 0x000000000000008A
+ text-linear_function_up 0x000000000000008D
+ text-linear_function_down 0x000000000000008E
+ text-sound_or_menu_func. 0x000000000000008F
+ text-cursor_step_up 0x0000000000000090
+ text-cursor_step_down 0x0000000000000091
+ text-menu_on 0x0000000000000092
+ text-menu_off 0x0000000000000093
+ text-display_A/V_status 0x0000000000000094
+ text-cursor_step_left 0x0000000000000095
+ text-cursor_step_right 0x0000000000000096
+ text-menu_function 0x0000000000000097
+ text-PIP_on/off 0x0000000000000098
+ text-PIP_shift 0x0000000000000099
+ text-PIP_main_swap 0x000000000000009A
+ text-strobe_on/off 0x000000000000009B
+ text-multi_strobe 0x000000000000009C
+ text-main_freezed 0x000000000000009D
+ text-3/9_multi_scan 0x000000000000009E
+ text-PIP_mode_select 0x000000000000009F
+ text-mosaic 0x00000000000000A0
+ text-solarization 0x00000000000000A1
+ text-main_stored 0x00000000000000A2
+ text-PIP_strobe 0x00000000000000A3
+ text-recall_main 0x00000000000000A4
+ text-PIP_freeze 0x00000000000000A5
+ text-PIP_step_up 0x00000000000000A6
+ text-PIP_step_down 0x00000000000000A7
+ text-red 0x00000000000000AB
+ text-green 0x00000000000000AC
+ text-yellow 0x00000000000000AD
+ text-cyan 0x00000000000000AE
+ text-INVALID 0x00000000000000AF
+ text-sub_mode 0x00000000000000B6
+ text-sub_mode 0x00000000000000B7
+ text-cleaning_up 0x00000000000000BA
+ text-connect 0x00000000000000BB
+ text-disconnect 0x00000000000000BC
+ text-cleaning_up1 0x00000000000000BD
+ text-cleaning_up2 0x00000000000000BE
+ text-cleaning_up3 0x00000000000000BF
+ tuner-0 0x0000000000001440
+ tuner-1 0x0000000000001441
+ tuner-2 0x0000000000001442
+ tuner-3 0x0000000000001443
+ tuner-4 0x0000000000001444
+ tuner-5 0x0000000000001445
+ tuner-6 0x0000000000001446
+ tuner-7 0x0000000000001447
+ tuner-8 0x0000000000001448
+ tuner-9 0x0000000000001449
+ tuner-1/2_digits 0x000000000000144A
+ tuner-INVALID 0x000000000000144B
+ tuner-standby 0x000000000000144C
+ tuner-mute/demute 0x000000000000144D
+ tuner-P.P. 0x000000000000144E
+ tuner-display 0x000000000000144F
+ tuner-volume+ 0x0000000000001450
+ tuner-volume- 0x0000000000001451
+ tuner-brightness+ 0x0000000000001452
+ tuner-brightness- 0x0000000000001453
+ tuner-colour_saturation+ 0x0000000000001454
+ tuner-colour_saturation- 0x0000000000001455
+ tuner-bass+ 0x0000000000001456
+ tuner-bass- 0x0000000000001457
+ tuner-treble+ 0x0000000000001458
+ tuner-treble- 0x0000000000001459
+ tuner-balance_right 0x000000000000145A
+ tuner-balance_left 0x000000000000145B
+ tuner-INVALID 0x000000000000145C
+ tuner-INVALID 0x000000000000145D
+ tuner-search+ 0x000000000000145E
+ tuner-search- 0x000000000000145F
+ tuner-preset+ 0x0000000000001460
+ tuner-preset- 0x0000000000001461
+ tuner-INVALID 0x0000000000001462
+ tuner-INVALID 0x0000000000001463
+ tuner-INVALID 0x0000000000001464
+ tuner-mono/stereo 0x0000000000001465
+ tuner-INVALID 0x0000000000001466
+ tuner-INVALID 0x0000000000001467
+ tuner-RF_switch 0x0000000000001468
+ tuner-store_execute 0x0000000000001469
+ tuner-INVALID 0x000000000000146A
+ tuner-scan_forward 0x000000000000146B
+ tuner-INVALID 0x000000000000146C
+ tuner-FM 0x000000000000146D
+ tuner-MW_(USA:_MW/FM) 0x000000000000146E
+ tuner-LW 0x000000000000146F
+ tuner-pause 0x0000000000001470
+ tuner-erase 0x0000000000001471
+ tuner-rewind 0x0000000000001472
+ tuner-go_to 0x0000000000001473
+ tuner-wind 0x0000000000001474
+ tuner-play 0x0000000000001475
+ tuner-stop 0x0000000000001476
+ tuner-recording 0x0000000000001477
+ tuner-external1 0x0000000000001478
+ tuner-external2 0x0000000000001479
+ tuner-clear_all_memory 0x000000000000147A
+ tuner-INVALID 0x000000000000147B
+ tuner-INVALID 0x000000000000147C
+ tuner-system_standby 0x000000000000147D
+ tuner-INVALID 0x000000000000147E
+ tuner-system_select 0x000000000000147F
+ tuner-surround_sound 0x0000000000000440
+ tuner-balance_front 0x0000000000000441
+ tuner-balance_rear 0x0000000000000442
+ tuner-sound_effects1 0x0000000000000443
+ tuner-sound_effects2 0x0000000000000444
+ tuner-sound_effects3 0x0000000000000445
+ tuner-sound_effects4 0x0000000000000446
+ tuner-sound_effects5 0x0000000000000447
+ tuner-sound_or_menu_func.1 0x0000000000000448
+ tuner-sound_or_menu_func.2 0x0000000000000449
+ tuner-sound_or_menu_func.3 0x000000000000044A
+ tuner-linear_function_up 0x000000000000044D
+ tuner-linear_function_down 0x000000000000044E
+ tuner-sound_or_menu_func. 0x000000000000044F
+ tuner-cursor_step_up 0x0000000000000450
+ tuner-cursor_step_down 0x0000000000000451
+ tuner-menu_on 0x0000000000000452
+ tuner-menu_off 0x0000000000000453
+ tuner-display_A/V_status 0x0000000000000454
+ tuner-cursor_step_left 0x0000000000000455
+ tuner-cursor_step_right 0x0000000000000456
+ tuner-menu_function 0x0000000000000457
+ tuner-PIP_on/off 0x0000000000000458
+ tuner-PIP_shift 0x0000000000000459
+ tuner-PIP_main_swap 0x000000000000045A
+ tuner-strobe_on/off 0x000000000000045B
+ tuner-multi_strobe 0x000000000000045C
+ tuner-main_freezed 0x000000000000045D
+ tuner-3/9_multi_scan 0x000000000000045E
+ tuner-PIP_mode_select 0x000000000000045F
+ tuner-mosaic 0x0000000000000460
+ tuner-solarization 0x0000000000000461
+ tuner-main_stored 0x0000000000000462
+ tuner-PIP_strobe 0x0000000000000463
+ tuner-recall_main 0x0000000000000464
+ tuner-PIP_freeze 0x0000000000000465
+ tuner-PIP_step_up 0x0000000000000466
+ tuner-PIP_step_down 0x0000000000000467
+ tuner-INVALID 0x000000000000046C
+ tuner-INVALID 0x0000000000000470
+ tuner-INVALID 0x0000000000000471
+ tuner-INVALID 0x0000000000000476
+ tuner-INVALID 0x0000000000000477
+ tuner-connect 0x000000000000047B
+ tuner-disconnect 0x000000000000047C
+ tv1-0 0x0000000000001000
+ tv1-1 0x0000000000001001
+ tv1-2 0x0000000000001002
+ tv1-3 0x0000000000001003
+ tv1-4 0x0000000000001004
+ tv1-5 0x0000000000001005
+ tv1-6 0x0000000000001006
+ tv1-7 0x0000000000001007
+ tv1-8 0x0000000000001008
+ tv1-9 0x0000000000001009
+ tv1-1/2/3_digs_(japan:10) 0x000000000000100A
+ tv1-channel/program(jap:11) 0x000000000000100B
+ tv1-standby 0x000000000000100C
+ tv1-mute/demute 0x000000000000100D
+ tv1-P.P._(personal_pref.) 0x000000000000100E
+ tv1-display 0x000000000000100F
+ tv1-volume+ 0x0000000000001010
+ tv1-volume- 0x0000000000001011
+ tv1-brightness+ 0x0000000000001012
+ tv1-brightness- 0x0000000000001013
+ tv1-colour_saturation+ 0x0000000000001014
+ tv1-colour_saturation- 0x0000000000001015
+ tv1-bass+ 0x0000000000001016
+ tv1-bass- 0x0000000000001017
+ tv1-treble+ 0x0000000000001018
+ tv1-treble- 0x0000000000001019
+ tv1-balance_right 0x000000000000101A
+ tv1-balance_left 0x000000000000101B
+ tv1-contrast+ 0x000000000000101C
+ tv1-contrast- 0x000000000000101D
+ tv1-search+ 0x000000000000101E
+ tv1-tint/hue+ 0x000000000000101F
+ tv1-channel/program+ 0x0000000000001020
+ tv1-channel/program- 0x0000000000001021
+ tv1-alt/channel 0x0000000000001022
+ tv1-1st/2nd_language 0x0000000000001023
+ tv1-spacial_stereo_on/off 0x0000000000001024
+ tv1-mono/stereo_(USA) 0x0000000000001025
+ tv1-sleeptimer 0x0000000000001026
+ tv1-tint/hue- 0x0000000000001027
+ tv1-RF_switch/PIP_select 0x0000000000001028
+ tv1-vote 0x0000000000001029
+ tv1-timed_page/channel 0x000000000000102A
+ tv1-increment_(USA) 0x000000000000102B
+ tv1-decrement_(USA) 0x000000000000102C
+ tv1-INVALID 0x000000000000102D
+ tv1-2nd_controls_(USA:menu) 0x000000000000102E
+ tv1-PIP_shift 0x000000000000102F
+ tv1-pause 0x0000000000001030
+ tv1-erase 0x0000000000001031
+ tv1-rewind 0x0000000000001032
+ tv1-go_to 0x0000000000001033
+ tv1-wind 0x0000000000001034
+ tv1-play 0x0000000000001035
+ tv1-stop 0x0000000000001036
+ tv1-recording 0x0000000000001037
+ tv1-external1 0x0000000000001038
+ tv1-external2 0x0000000000001039
+ tv1-PIP_display_mode 0x000000000000103A
+ tv1-view_data_mode/advance 0x000000000000103B
+ tv1-teletext_submode_(J:12) 0x000000000000103C
+ tv1-system_standby 0x000000000000103D
+ tv1-crispener_on/off 0x000000000000103E
+ tv1-system_select 0x000000000000103F
+ tv1-surround_sound 0x0000000000000000
+ tv1-balance_front 0x0000000000000001
+ tv1-balance_rear 0x0000000000000002
+ tv1-sound_effects1 0x0000000000000003
+ tv1-sound_effects2 0x0000000000000004
+ tv1-sound_effects3 0x0000000000000005
+ tv1-sound_effects4 0x0000000000000006
+ tv1-sound_effects5 0x0000000000000007
+ tv1-sound_or_menu_func.1 0x0000000000000008
+ tv1-sound_or_menu_func.2 0x0000000000000009
+ tv1-sound_or_menu_func.3 0x000000000000000A
+ tv1-linear_function_up 0x000000000000000D
+ tv1-linear_function_down 0x000000000000000E
+ tv1-sound_or_menu_func. 0x000000000000000F
+ tv1-cursor_step_up 0x0000000000000010
+ tv1-cursor_step_down 0x0000000000000011
+ tv1-menu_on 0x0000000000000012
+ tv1-menu_off 0x0000000000000013
+ tv1-display_A/V_status 0x0000000000000014
+ tv1-cursor_step_left 0x0000000000000015
+ tv1-cursor_step_right 0x0000000000000016
+ tv1-menu_function 0x0000000000000017
+ tv1-PIP_on/off 0x0000000000000018
+ tv1-PIP_shift 0x0000000000000019
+ tv1-PIP_main_swap 0x000000000000001A
+ tv1-strobe_on/off 0x000000000000001B
+ tv1-multi_strobe 0x000000000000001C
+ tv1-main_freezed 0x000000000000001D
+ tv1-3/9_multi_scan 0x000000000000001E
+ tv1-PIP_mode_select 0x000000000000001F
+ tv1-mosaic 0x0000000000000020
+ tv1-solarization 0x0000000000000021
+ tv1-main_stored 0x0000000000000022
+ tv1-PIP_strobe 0x0000000000000023
+ tv1-recall_main 0x0000000000000024
+ tv1-PIP_freeze 0x0000000000000025
+ tv1-PIP_step_up 0x0000000000000026
+ tv1-PIP_step_down 0x0000000000000027
+ tv1-INVALID 0x000000000000002B
+ tv1-INVALID 0x000000000000002C
+ tv1-INVALID 0x000000000000002D
+ tv1-INVALID 0x000000000000002E
+ tv1-index 0x000000000000002F
+ tv1-sub_mode 0x0000000000000036
+ tv1-sub_mode 0x0000000000000037
+ tv1-cleaning_up 0x000000000000003A
+ tv1-connect 0x000000000000003B
+ tv1-disconnect 0x000000000000003C
+ tv1-cleaning_up1 0x000000000000003D
+ tv1-cleaning_up2 0x000000000000003E
+ tv1-cleaning_up3 0x000000000000003F
+ tv2-0 0x0000000000001040
+ tv2-1 0x0000000000001041
+ tv2-2 0x0000000000001042
+ tv2-3 0x0000000000001043
+ tv2-4 0x0000000000001044
+ tv2-5 0x0000000000001045
+ tv2-6 0x0000000000001046
+ tv2-7 0x0000000000001047
+ tv2-8 0x0000000000001048
+ tv2-9 0x0000000000001049
+ tv2-1/2/3_digs_(japan:10) 0x000000000000104A
+ tv2-channel/program(jap:11) 0x000000000000104B
+ tv2-standby 0x000000000000104C
+ tv2-mute/demute 0x000000000000104D
+ tv2-P.P._(personal_pref.) 0x000000000000104E
+ tv2-display 0x000000000000104F
+ tv2-volume+ 0x0000000000001050
+ tv2-volume- 0x0000000000001051
+ tv2-brightness+ 0x0000000000001052
+ tv2-brightness- 0x0000000000001053
+ tv2-colour_saturation+ 0x0000000000001054
+ tv2-colour_saturation- 0x0000000000001055
+ tv2-bass+ 0x0000000000001056
+ tv2-bass- 0x0000000000001057
+ tv2-treble+ 0x0000000000001058
+ tv2-treble- 0x0000000000001059
+ tv2-balance_right 0x000000000000105A
+ tv2-balance_left 0x000000000000105B
+ tv2-contrast+ 0x000000000000105C
+ tv2-contrast- 0x000000000000105D
+ tv2-search+ 0x000000000000105E
+ tv2-tint/hue+ 0x000000000000105F
+ tv2-channel/program+ 0x0000000000001060
+ tv2-channel/program- 0x0000000000001061
+ tv2-alt/channel 0x0000000000001062
+ tv2-1st/2nd_language 0x0000000000001063
+ tv2-spacial_stereo_on/off 0x0000000000001064
+ tv2-mono/stereo_(USA) 0x0000000000001065
+ tv2-sleeptimer 0x0000000000001066
+ tv2-tint/hue- 0x0000000000001067
+ tv2-RF_switch/PIP_select 0x0000000000001068
+ tv2-vote 0x0000000000001069
+ tv2-timed_page/channel 0x000000000000106A
+ tv2-increment_(USA) 0x000000000000106B
+ tv2-decrement_(USA) 0x000000000000106C
+ tv2-INVALID 0x000000000000106D
+ tv2-2nd_controls_(USA:menu) 0x000000000000106E
+ tv2-PIP_shift 0x000000000000106F
+ tv2-pause 0x0000000000001070
+ tv2-erase 0x0000000000001071
+ tv2-rewind 0x0000000000001072
+ tv2-go_to 0x0000000000001073
+ tv2-wind 0x0000000000001074
+ tv2-play 0x0000000000001075
+ tv2-stop 0x0000000000001076
+ tv2-recording 0x0000000000001077
+ tv2-external1 0x0000000000001078
+ tv2-external2 0x0000000000001079
+ tv2-PIP_display_mode 0x000000000000107A
+ tv2-view_data_mode/advance 0x000000000000107B
+ tv2-teletext_submode_(J:12) 0x000000000000107C
+ tv2-system_standby 0x000000000000107D
+ tv2-crispener_on/off 0x000000000000107E
+ tv2-system_select 0x000000000000107F
+ tv2-surround_sound 0x0000000000000040
+ tv2-balance_front 0x0000000000000041
+ tv2-balance_rear 0x0000000000000042
+ tv2-sound_effects1 0x0000000000000043
+ tv2-sound_effects2 0x0000000000000044
+ tv2-sound_effects3 0x0000000000000045
+ tv2-sound_effects4 0x0000000000000046
+ tv2-sound_effects5 0x0000000000000047
+ tv2-sound_or_menu_func.1 0x0000000000000048
+ tv2-sound_or_menu_func.2 0x0000000000000049
+ tv2-sound_or_menu_func.3 0x000000000000004A
+ tv2-linear_function_up 0x000000000000004D
+ tv2-linear_function_down 0x000000000000004E
+ tv2-sound_or_menu_func. 0x000000000000004F
+ tv2-cursor_step_up 0x0000000000000050
+ tv2-cursor_step_down 0x0000000000000051
+ tv2-menu_on 0x0000000000000052
+ tv2-menu_off 0x0000000000000053
+ tv2-display_A/V_status 0x0000000000000054
+ tv2-cursor_step_left 0x0000000000000055
+ tv2-cursor_step_right 0x0000000000000056
+ tv2-menu_function 0x0000000000000057
+ tv2-PIP_on/off 0x0000000000000058
+ tv2-PIP_shift 0x0000000000000059
+ tv2-PIP_main_swap 0x000000000000005A
+ tv2-strobe_on/off 0x000000000000005B
+ tv2-multi_strobe 0x000000000000005C
+ tv2-main_freezed 0x000000000000005D
+ tv2-3/9_multi_scan 0x000000000000005E
+ tv2-PIP_mode_select 0x000000000000005F
+ tv2-mosaic 0x0000000000000060
+ tv2-solarization 0x0000000000000061
+ tv2-main_stored 0x0000000000000062
+ tv2-PIP_strobe 0x0000000000000063
+ tv2-recall_main 0x0000000000000064
+ tv2-PIP_freeze 0x0000000000000065
+ tv2-PIP_step_up 0x0000000000000066
+ tv2-PIP_step_down 0x0000000000000067
+ tv2-INVALID 0x000000000000006B
+ tv2-INVALID 0x000000000000006C
+ tv2-INVALID 0x000000000000006D
+ tv2-INVALID 0x000000000000006E
+ tv2-index 0x000000000000006F
+ tv2-sub_mode 0x0000000000000076
+ tv2-sub_mode 0x0000000000000077
+ tv2-cleaning_up 0x000000000000007A
+ tv2-connect 0x000000000000007B
+ tv2-disconnect 0x000000000000007C
+ tv2-cleaning_up1 0x000000000000007D
+ tv2-cleaning_up2 0x000000000000007E
+ tv2-cleaning_up3 0x000000000000007F
+ vcr1-0 0x0000000000001140
+ vcr1-1 0x0000000000001141
+ vcr1-2 0x0000000000001142
+ vcr1-3 0x0000000000001143
+ vcr1-4 0x0000000000001144
+ vcr1-5 0x0000000000001145
+ vcr1-6 0x0000000000001146
+ vcr1-7 0x0000000000001147
+ vcr1-8 0x0000000000001148
+ vcr1-9 0x0000000000001149
+ vcr1-1/2_digits/AM/PM 0x000000000000114A
+ vcr1-channel/program_mode 0x000000000000114B
+ vcr1-standby 0x000000000000114C
+ vcr1-mute/demute 0x000000000000114D
+ vcr1-P.P. 0x000000000000114E
+ vcr1-display 0x000000000000114F
+ vcr1-volume+ 0x0000000000001150
+ vcr1-volume- 0x0000000000001151
+ vcr1-brightness+ 0x0000000000001152
+ vcr1-brightness- 0x0000000000001153
+ vcr1-colour_saturation+ 0x0000000000001154
+ vcr1-colour_saturation- 0x0000000000001155
+ vcr1-bass+ 0x0000000000001156
+ vcr1-bass- 0x0000000000001157
+ vcr1-treble+ 0x0000000000001158
+ vcr1-treble- 0x0000000000001159
+ vcr1-balance_right 0x000000000000115A
+ vcr1-balance_left 0x000000000000115B
+ vcr1-ITR_(OTR)_delay 0x000000000000115C
+ vcr1-timer_programming 0x000000000000115D
+ vcr1-record_select 0x000000000000115E
+ vcr1-fast_run_reverse 0x000000000000115F
+ vcr1-step+ 0x0000000000001160
+ vcr1-step- 0x0000000000001161
+ vcr1-slow_run_reverse 0x0000000000001162
+ vcr1-audio_output_select 0x0000000000001163
+ vcr1-clock/channel 0x0000000000001164
+ vcr1-speed- 0x0000000000001165
+ vcr1-speed+ 0x0000000000001166
+ vcr1-Instant_Time_Recording 0x0000000000001167
+ vcr1-slow_run_forward 0x0000000000001168
+ vcr1-still_forward 0x0000000000001169
+ vcr1-fast_run_forward 0x000000000000116A
+ vcr1-index_scan 0x000000000000116B
+ vcr1-scan_reverse 0x000000000000116C
+ vcr1-eject 0x000000000000116D
+ vcr1-scan_forward 0x000000000000116E
+ vcr1-play_reverse 0x000000000000116F
+ vcr1-pause 0x0000000000001170
+ vcr1-erase 0x0000000000001171
+ vcr1-rewind 0x0000000000001172
+ vcr1-go_to 0x0000000000001173
+ vcr1-wind 0x0000000000001174
+ vcr1-play 0x0000000000001175
+ vcr1-stop 0x0000000000001176
+ vcr1-recording 0x0000000000001177
+ vcr1-external1 0x0000000000001178
+ vcr1-external2 0x0000000000001179
+ vcr1-short/long_play 0x000000000000117A
+ vcr1-counter_memory 0x000000000000117B
+ vcr1-scroll_local_display 0x000000000000117C
+ vcr1-system_standby 0x000000000000117D
+ vcr1-RF_switch 0x000000000000117E
+ vcr1-system_select 0x000000000000117F
+ vcr1-surround_sound 0x0000000000000140
+ vcr1-balance_front 0x0000000000000141
+ vcr1-balance_rear 0x0000000000000142
+ vcr1-sound_effects1 0x0000000000000143
+ vcr1-sound_effects2 0x0000000000000144
+ vcr1-sound_effects3 0x0000000000000145
+ vcr1-sound_effects4 0x0000000000000146
+ vcr1-sound_effects5 0x0000000000000147
+ vcr1-sound_or_menu_func.1 0x0000000000000148
+ vcr1-sound_or_menu_func.2 0x0000000000000149
+ vcr1-sound_or_menu_func.3 0x000000000000014A
+ vcr1-data_stream_start 0x000000000000014B
+ vcr1-data_stream_end 0x000000000000014C
+ vcr1-linear_function_up 0x000000000000014D
+ vcr1-linear_function_down 0x000000000000014E
+ vcr1-catalogue 0x000000000000014F
+ vcr1-cursor_step_up 0x0000000000000150
+ vcr1-cursor_step_down 0x0000000000000151
+ vcr1-menu_on 0x0000000000000152
+ vcr1-menu_off 0x0000000000000153
+ vcr1-display_A/V_status 0x0000000000000154
+ vcr1-cursor_step_left 0x0000000000000155
+ vcr1-cursor_step_right 0x0000000000000156
+ vcr1-acknowledge 0x0000000000000157
+ vcr1-PIP_on/off 0x0000000000000158
+ vcr1-PIP_shift 0x0000000000000159
+ vcr1-PIP_main_swap 0x000000000000015A
+ vcr1-strobe_on/off 0x000000000000015B
+ vcr1-multi_strobe 0x000000000000015C
+ vcr1-main_freezed 0x000000000000015D
+ vcr1-3/9_multi_scan 0x000000000000015E
+ vcr1-PIP_mode_select 0x000000000000015F
+ vcr1-mosaic 0x0000000000000160
+ vcr1-solarization 0x0000000000000161
+ vcr1-main_stored 0x0000000000000162
+ vcr1-PIP_strobe 0x0000000000000163
+ vcr1-recall_main 0x0000000000000164
+ vcr1-PIP_freeze 0x0000000000000165
+ vcr1-PIP_step_up 0x0000000000000166
+ vcr1-PIP_step_down 0x0000000000000167
+ vcr1-automatic_start_ID 0x0000000000000168
+ vcr1-write_skip_ID 0x0000000000000169
+ vcr1-skip_on/off 0x000000000000016A
+ vcr1-write_end_ID 0x000000000000016B
+ vcr1-write_FTS 0x000000000000016C
+ vcr1-write_TOC 0x000000000000016D
+ vcr1-viss_index_next 0x0000000000000170
+ vcr1-viss_index_previous 0x0000000000000171
+ vcr1-mark 0x0000000000000172
+ vcr1-erase 0x0000000000000173
+ vcr1-renumber 0x0000000000000174
+ vcr1-blank_search 0x0000000000000175
+ vcr1-sub_mode 0x0000000000000176
+ vcr1-sub_mode 0x0000000000000177
+ vcr1-auto_repeat 0x0000000000000178
+ vcr1-insert_temp 0x0000000000000179
+ vcr1-scr_loc_disp 0x000000000000017A
+ vcr1-connect 0x000000000000017B
+ vcr1-INVALID 0x000000000000017C
+ vcr2-0 0x0000000000001180
+ vcr2-1 0x0000000000001181
+ vcr2-2 0x0000000000001182
+ vcr2-3 0x0000000000001183
+ vcr2-4 0x0000000000001184
+ vcr2-5 0x0000000000001185
+ vcr2-6 0x0000000000001186
+ vcr2-7 0x0000000000001187
+ vcr2-8 0x0000000000001188
+ vcr2-9 0x0000000000001189
+ vcr2-1/2_digits/AM/PM 0x000000000000118A
+ vcr2-channel/program_mode 0x000000000000118B
+ vcr2-standby 0x000000000000118C
+ vcr2-mute/demute 0x000000000000118D
+ vcr2-P.P. 0x000000000000118E
+ vcr2-display 0x000000000000118F
+ vcr2-volume+ 0x0000000000001190
+ vcr2-volume- 0x0000000000001191
+ vcr2-brightness+ 0x0000000000001192
+ vcr2-brightness- 0x0000000000001193
+ vcr2-colour_saturation+ 0x0000000000001194
+ vcr2-colour_saturation- 0x0000000000001195
+ vcr2-bass+ 0x0000000000001196
+ vcr2-bass- 0x0000000000001197
+ vcr2-treble+ 0x0000000000001198
+ vcr2-treble- 0x0000000000001199
+ vcr2-balance_right 0x000000000000119A
+ vcr2-balance_left 0x000000000000119B
+ vcr2-ITR_(OTR)_delay 0x000000000000119C
+ vcr2-timer_programming 0x000000000000119D
+ vcr2-record_select 0x000000000000119E
+ vcr2-fast_run_reverse 0x000000000000119F
+ vcr2-step+ 0x00000000000011A0
+ vcr2-step- 0x00000000000011A1
+ vcr2-slow_run_reverse 0x00000000000011A2
+ vcr2-audio_output_select 0x00000000000011A3
+ vcr2-clock/channel 0x00000000000011A4
+ vcr2-speed- 0x00000000000011A5
+ vcr2-speed+ 0x00000000000011A6
+ vcr2-Instant_Time_Recording 0x00000000000011A7
+ vcr2-slow_run_forward 0x00000000000011A8
+ vcr2-still_forward 0x00000000000011A9
+ vcr2-fast_run_forward 0x00000000000011AA
+ vcr2-index_scan 0x00000000000011AB
+ vcr2-scan_reverse 0x00000000000011AC
+ vcr2-eject 0x00000000000011AD
+ vcr2-scan_forward 0x00000000000011AE
+ vcr2-play_reverse 0x00000000000011AF
+ vcr2-pause 0x00000000000011B0
+ vcr2-erase 0x00000000000011B1
+ vcr2-rewind 0x00000000000011B2
+ vcr2-go_to 0x00000000000011B3
+ vcr2-wind 0x00000000000011B4
+ vcr2-play 0x00000000000011B5
+ vcr2-stop 0x00000000000011B6
+ vcr2-recording 0x00000000000011B7
+ vcr2-external1 0x00000000000011B8
+ vcr2-external2 0x00000000000011B9
+ vcr2-short/long_play 0x00000000000011BA
+ vcr2-counter_memory 0x00000000000011BB
+ vcr2-scroll_local_display 0x00000000000011BC
+ vcr2-system_standby 0x00000000000011BD
+ vcr2-RF_switch 0x00000000000011BE
+ vcr2-system_select 0x00000000000011BF
+ vcr2-surround_sound 0x0000000000000180
+ vcr2-balance_front 0x0000000000000181
+ vcr2-balance_rear 0x0000000000000182
+ vcr2-sound_effects1 0x0000000000000183
+ vcr2-sound_effects2 0x0000000000000184
+ vcr2-sound_effects3 0x0000000000000185
+ vcr2-sound_effects4 0x0000000000000186
+ vcr2-sound_effects5 0x0000000000000187
+ vcr2-sound_or_menu_func.1 0x0000000000000188
+ vcr2-sound_or_menu_func.2 0x0000000000000189
+ vcr2-sound_or_menu_func.3 0x000000000000018A
+ vcr2-data_stream_start 0x000000000000018B
+ vcr2-data_stream_end 0x000000000000018C
+ vcr2-linear_function_up 0x000000000000018D
+ vcr2-linear_function_down 0x000000000000018E
+ vcr2-catalogue 0x000000000000018F
+ vcr2-cursor_step_up 0x0000000000000190
+ vcr2-cursor_step_down 0x0000000000000191
+ vcr2-menu_on 0x0000000000000192
+ vcr2-menu_off 0x0000000000000193
+ vcr2-display_A/V_status 0x0000000000000194
+ vcr2-cursor_step_left 0x0000000000000195
+ vcr2-cursor_step_right 0x0000000000000196
+ vcr2-acknowledge 0x0000000000000197
+ vcr2-PIP_on/off 0x0000000000000198
+ vcr2-PIP_shift 0x0000000000000199
+ vcr2-PIP_main_swap 0x000000000000019A
+ vcr2-strobe_on/off 0x000000000000019B
+ vcr2-multi_strobe 0x000000000000019C
+ vcr2-main_freezed 0x000000000000019D
+ vcr2-3/9_multi_scan 0x000000000000019E
+ vcr2-PIP_mode_select 0x000000000000019F
+ vcr2-mosaic 0x00000000000001A0
+ vcr2-solarization 0x00000000000001A1
+ vcr2-main_stored 0x00000000000001A2
+ vcr2-PIP_strobe 0x00000000000001A3
+ vcr2-recall_main 0x00000000000001A4
+ vcr2-PIP_freeze 0x00000000000001A5
+ vcr2-PIP_step_up 0x00000000000001A6
+ vcr2-PIP_step_down 0x00000000000001A7
+ vcr2-automatic_start_ID 0x00000000000001A8
+ vcr2-write_skip_ID 0x00000000000001A9
+ vcr2-skip_on/off 0x00000000000001AA
+ vcr2-write_end_ID 0x00000000000001AB
+ vcr2-write_FTS 0x00000000000001AC
+ vcr2-write_TOC 0x00000000000001AD
+ vcr2-viss_index_next 0x00000000000001B0
+ vcr2-viss_index_previous 0x00000000000001B1
+ vcr2-mark 0x00000000000001B2
+ vcr2-erase 0x00000000000001B3
+ vcr2-renumber 0x00000000000001B4
+ vcr2-blank_search 0x00000000000001B5
+ vcr2-sub_mode 0x00000000000001B6
+ vcr2-sub_mode 0x00000000000001B7
+ vcr2-auto_repeat 0x00000000000001B8
+ vcr2-insert_temp 0x00000000000001B9
+ vcr2-scr_loc_disp 0x00000000000001BA
+ vcr2-connect 0x00000000000001BB
+ vcr2-INVALID 0x00000000000001BC
+ vd-0 0x00000000000010C0
+ vd-1 0x00000000000010C1
+ vd-2 0x00000000000010C2
+ vd-3 0x00000000000010C3
+ vd-4 0x00000000000010C4
+ vd-5 0x00000000000010C5
+ vd-6 0x00000000000010C6
+ vd-7 0x00000000000010C7
+ vd-8 0x00000000000010C8
+ vd-9 0x00000000000010C9
+ vd-=/=_=/= 0x00000000000010CA
+ vd-* 0x00000000000010CB
+ vd-standby 0x00000000000010CC
+ vd-mute/demute 0x00000000000010CD
+ vd-P.P. 0x00000000000010CE
+ vd-display 0x00000000000010CF
+ vd-volume+ 0x00000000000010D0
+ vd-volume- 0x00000000000010D1
+ vd-brightness+ 0x00000000000010D2
+ vd-brightness- 0x00000000000010D3
+ vd-colour_saturation+ 0x00000000000010D4
+ vd-colour_saturation- 0x00000000000010D5
+ vd-bass+ 0x00000000000010D6
+ vd-bass- 0x00000000000010D7
+ vd-treble+ 0x00000000000010D8
+ vd-treble- 0x00000000000010D9
+ vd-balance_right 0x00000000000010DA
+ vd-balance_left 0x00000000000010DB
+ vd-INVALID 0x00000000000010DC
+ vd-INVALID 0x00000000000010DD
+ vd-attribute_on/off 0x00000000000010DE
+ vd-INVALID 0x00000000000010DF
+ vd-INVALID 0x00000000000010E0
+ vd-index 0x00000000000010E1
+ vd-INVALID 0x00000000000010E2
+ vd-1st/2nd_language 0x00000000000010E3
+ vd-spacial_stereo_on/off 0x00000000000010E4
+ vd-INVALID 0x00000000000010E5
+ vd-hardcopy_printer 0x00000000000010E6
+ vd-INVALID 0x00000000000010E7
+ vd-terminal_initiation 0x00000000000010E8
+ vd-INVALID 0x00000000000010E9
+ vd-INVALID 0x00000000000010EA
+ vd-large_top/lrge_bot/norm 0x00000000000010EB
+ vd-INVALID 0x00000000000010EC
+ vd-INVALID 0x00000000000010ED
+ vd-TV/Text_mixed 0x00000000000010EE
+ vd-view_data_line_off 0x00000000000010EF
+ vd-pause 0x00000000000010F0
+ vd-erase 0x00000000000010F1
+ vd-rewind 0x00000000000010F2
+ vd-go_to 0x00000000000010F3
+ vd-wind 0x00000000000010F4
+ vd-play 0x00000000000010F5
+ vd-stop 0x00000000000010F6
+ vd-recording 0x00000000000010F7
+ vd-external1 0x00000000000010F8
+ vd-external2 0x00000000000010F9
+ vd-INVALID 0x00000000000010FA
+ vd-view_data_line_on 0x00000000000010FB
+ vd-INVALID 0x00000000000010FC
+ vd-system_standby 0x00000000000010FD
+ vd-INVALID 0x00000000000010FE
+ vd-system_select 0x00000000000010FF
+ vd-surround_sound 0x00000000000000C0
+ vd-balance_front 0x00000000000000C1
+ vd-balance_rear 0x00000000000000C2
+ vd-sound_effects1 0x00000000000000C3
+ vd-sound_effects2 0x00000000000000C4
+ vd-sound_effects3 0x00000000000000C5
+ vd-sound_effects4 0x00000000000000C6
+ vd-sound_effects5 0x00000000000000C7
+ vd-sound_or_menu_func.1 0x00000000000000C8
+ vd-sound_or_menu_func.2 0x00000000000000C9
+ vd-sound_or_menu_func.3 0x00000000000000CA
+ vd-linear_function_up 0x00000000000000CD
+ vd-linear_function_down 0x00000000000000CE
+ vd-sound_or_menu_func. 0x00000000000000CF
+ vd-cursor_step_up 0x00000000000000D0
+ vd-cursor_step_down 0x00000000000000D1
+ vd-menu_on 0x00000000000000D2
+ vd-menu_off 0x00000000000000D3
+ vd-display_A/V_status 0x00000000000000D4
+ vd-cursor_step_left 0x00000000000000D5
+ vd-cursor_step_right 0x00000000000000D6
+ vd-menu_function 0x00000000000000D7
+ vd-PIP_on/off 0x00000000000000D8
+ vd-PIP_shift 0x00000000000000D9
+ vd-PIP_main_swap 0x00000000000000DA
+ vd-strobe_on/off 0x00000000000000DB
+ vd-multi_strobe 0x00000000000000DC
+ vd-main_freezed 0x00000000000000DD
+ vd-3/9_multi_scan 0x00000000000000DE
+ vd-PIP_mode_select 0x00000000000000DF
+ vd-mosaic 0x00000000000000E0
+ vd-solarization 0x00000000000000E1
+ vd-main_stored 0x00000000000000E2
+ vd-PIP_strobe 0x00000000000000E3
+ vd-recall_main 0x00000000000000E4
+ vd-PIP_freeze 0x00000000000000E5
+ vd-PIP_step_up 0x00000000000000E6
+ vd-PIP_step_down 0x00000000000000E7
+ vd-INVALID 0x00000000000000EB
+ vd-INVALID 0x00000000000000EC
+ vd-INVALID 0x00000000000000ED
+ vd-INVALID 0x00000000000000EE
+ vd-INVALID 0x00000000000000EF
+ vd-sub_mode 0x00000000000000F6
+ vd-sub_mode 0x00000000000000F7
+ vd-cleaning_up 0x00000000000000FA
+ vd-connect 0x00000000000000FB
+ vd-disconnect 0x00000000000000FC
+ vd-cleaning_up1 0x00000000000000FD
+ vd-cleaning_up2 0x00000000000000FE
+ vd-cleaning_up3 0x00000000000000FF
+ end codes
+
+end remote
+
diff --git a/meta/packages/lirc/files/lircd.init b/meta/packages/lirc/files/lircd.init
new file mode 100755
index 0000000000..11ce62447f
--- /dev/null
+++ b/meta/packages/lirc/files/lircd.init
@@ -0,0 +1,39 @@
+#! /bin/sh
+#
+# This is an init script for Familiar
+# Copy it to /etc/init.d/lircd and type
+# > update-rc.d lircd defaults 20
+#
+
+
+test -f /usr/sbin/lircd || exit 0
+test -f /etc/lircd.conf || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting lirc daemon: lircd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping lirc daemon: lircd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/lircd
+ echo "."
+ ;;
+ reload|force-reload)
+ start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircd
+ ;;
+ restart)
+ echo -n "Stopping lirc daemon: lircd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/lircd
+ sleep 1
+ echo -n "Starting lirc daemon: lircd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc
+ echo "."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}"
+ exit 1
+esac
+
+exit 0
diff --git a/meta/packages/lirc/files/lircexec.init b/meta/packages/lirc/files/lircexec.init
new file mode 100755
index 0000000000..3a8c1a306e
--- /dev/null
+++ b/meta/packages/lirc/files/lircexec.init
@@ -0,0 +1,37 @@
+#! /bin/sh
+#
+# This is an init script for Familiar
+# Copy it to /etc/init.d/lircexecd and type
+# > update-rc.d lircexecd defaults 20
+# It must be started after lircd (and it does alphabetically :-)
+# irexec reads /etc/lircrc by default
+
+
+test -f /usr/bin/irexec || exit 0
+test -f /etc/lircrc || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting lircexec daemon: irexec"
+ start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping lircexec daemon: irexec"
+ start-stop-daemon --stop --quiet --exec /usr/bin/irexec
+ echo "."
+ ;;
+ restart|force-restart)
+ echo -n "Stopping lircexec daemon: irexec"
+ start-stop-daemon --stop --quiet --exec /usr/bin/irexec
+ sleep 1
+ echo -n "Starting lircexec daemon: irexec"
+ start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon
+ echo "."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/lircexec {start|stop|reload|restart|force-restart}"
+ exit 1
+esac
+
+exit 0
diff --git a/meta/packages/lirc/files/lircmd.init b/meta/packages/lirc/files/lircmd.init
new file mode 100755
index 0000000000..1a96207dbb
--- /dev/null
+++ b/meta/packages/lirc/files/lircmd.init
@@ -0,0 +1,38 @@
+#! /bin/sh
+#
+# This is an init script for Familiar
+# Copy it to /etc/init.d/lirc and type
+# > update-rc.d lirc defaults 20
+#
+
+
+test -f /usr/sbin/lircmd || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting lirc daemon: lircmd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/lircmd
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping lirc daemon: lircmd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd
+ echo "."
+ ;;
+ reload|force-reload)
+ start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircmd
+ ;;
+ restart)
+ echo -n "Stopping lirc daemon: lircmd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd
+ sleep 1
+ echo -n "Starting lirc daemon: lircmd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/lircmd
+ echo "."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/lircmd {start|stop|reload|restart|force-reload}"
+ exit 1
+esac
+
+exit 0
diff --git a/meta/packages/lirc/files/lircrc_nslu2 b/meta/packages/lirc/files/lircrc_nslu2
new file mode 100644
index 0000000000..0669d90b09
--- /dev/null
+++ b/meta/packages/lirc/files/lircrc_nslu2
@@ -0,0 +1,113 @@
+# This is the default files read by all lirc clients
+# (see also /etc/lircd.conf)
+
+# I run /sbin/buzzer before every command to get an audible feedback
+
+## Here LIRC could shutdown your system
+#begin
+# prog = irexec
+# remote = RC5
+# repeat = 0
+# button = vcr2-standby
+# config = /sbin/buzzer; /sbin/halt
+#end
+
+
+## Here LIRC controls your mpd music deamon
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-pause
+ config = /sbin/buzzer; mpc toggle
+end
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-step+
+ config = /sbin/buzzer; mpc next
+end
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-step-
+ config = /sbin/buzzer; mpc prev
+end
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-scan_forward
+ config = /sbin/buzzer; mpc seek +00:00:30
+end
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-scan_reverse
+ config = /sbin/buzzer; mpc seek -00:00:30
+end
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-brightness+
+ config = /sbin/buzzer; mpc volume +20
+end
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-brightness-
+ config = /sbin/buzzer; mpc volume -20
+end
+
+
+## Here LIRC acts as an repeater
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-volume+
+ config = /sbin/buzzer; irsend SEND_ONCE RC5 amp1-volume+
+end
+begin
+ prog = irexec
+ remote = RC5
+ repeat = 0
+ button = vcr2-volume-
+ config = /sbin/buzzer; irsend SEND_ONCE RC5 amp1-volume-
+end
+
+
+## Here LIRC is the input device for your LC display software
+begin
+ prog = lcdd
+ remote = RC5
+ repeat = 0
+ button = vcr2-1
+ config = A
+end
+begin
+ prog = lcdd
+ remote = RC5
+ repeat = 0
+ button = vcr2-2
+ config = B
+end
+begin
+ prog = lcdd
+ remote = RC5
+ repeat = 0
+ button = vcr2-3
+ config = C
+end
+begin
+ prog = lcdd
+ remote = RC5
+ repeat = 0
+ button = vcr2-4
+ config = D
+end
diff --git a/meta/packages/lirc/files/split-hauppauge.patch b/meta/packages/lirc/files/split-hauppauge.patch
new file mode 100644
index 0000000000..170a233ffb
--- /dev/null
+++ b/meta/packages/lirc/files/split-hauppauge.patch
@@ -0,0 +1,141 @@
+--- lirc/remotes/hauppauge/lircd.conf.hauppauge~ 2003-05-03 15:42:30.000000000 +0100
++++ lirc/remotes/hauppauge/lircd.conf.hauppauge 2004-10-10 20:14:14.000000000 +0100
+@@ -51,71 +51,3 @@
+ end codes
+
+ end remote
+-
+-
+-#
+-# this config file was automatically generated
+-# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
+-#
+-# contributed by
+-#
+-# brand: Hauppauge
+-# model no. of remote control:
+-# devices being controlled by this remote: PVR 2/350
+-#
+-
+-begin remote
+-
+- name hauppauge_pvr
+- bits 13
+- flags RC5|CONST_LENGTH
+- eps 30
+- aeps 100
+-
+- one 969 811
+- zero 969 811
+- plead 1097
+- gap 114605
+- toggle_bit 2
+-
+-
+- begin codes
+- Power 0x00000000000017FD
+- Go 0x00000000000017FB
+- 1 0x00000000000017C1
+- 2 0x00000000000017C2
+- 3 0x00000000000017C3
+- 4 0x00000000000017C4
+- 5 0x00000000000017C5
+- 6 0x00000000000017C6
+- 7 0x00000000000017C7
+- 8 0x00000000000017C8
+- 9 0x00000000000017C9
+- Back/Exit 0x00000000000017DF
+- 0 0x00000000000017C0
+- Menu 0x00000000000017CD
+- Red 0x00000000000017CB
+- Green 0x00000000000017EE
+- Yellow 0x00000000000017F8
+- Blue 0x00000000000017E9
+- Ch+ 0x00000000000017E0
+- Ch- 0x00000000000017E1
+- Vol- 0x00000000000017D1
+- Vol+ 0x00000000000017D0
+- Ok 0x00000000000017E5
+- Mute 0x00000000000017CF
+- Blank 0x00000000000017CC
+- Full 0x00000000000017FC
+- Rewind 0x00000000000017F2
+- Play 0x00000000000017F5
+- Forward 0x00000000000017F4
+- Record 0x00000000000017F7
+- Stop 0x00000000000017F6
+- Pause 0x00000000000017F0
+- Replay 0x00000000000017E4
+- Skip 0x00000000000017DE
+- end codes
+-
+-end remote
+-
+-
+--- /dev/null 2004-06-13 02:32:19.000000000 +0100
++++ lirc/remotes/hauppauge/lircd.conf.hauppauge-pvr 2004-10-10 20:14:05.000000000 +0100
+@@ -0,0 +1,64 @@
++#
++# this config file was automatically generated
++# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003
++#
++# contributed by
++#
++# brand: Hauppauge
++# model no. of remote control:
++# devices being controlled by this remote: PVR 2/350
++#
++
++begin remote
++
++ name hauppauge_pvr
++ bits 13
++ flags RC5|CONST_LENGTH
++ eps 30
++ aeps 100
++
++ one 969 811
++ zero 969 811
++ plead 1097
++ gap 114605
++ toggle_bit 2
++
++
++ begin codes
++ Power 0x00000000000017FD
++ Go 0x00000000000017FB
++ 1 0x00000000000017C1
++ 2 0x00000000000017C2
++ 3 0x00000000000017C3
++ 4 0x00000000000017C4
++ 5 0x00000000000017C5
++ 6 0x00000000000017C6
++ 7 0x00000000000017C7
++ 8 0x00000000000017C8
++ 9 0x00000000000017C9
++ Back/Exit 0x00000000000017DF
++ 0 0x00000000000017C0
++ Menu 0x00000000000017CD
++ Red 0x00000000000017CB
++ Green 0x00000000000017EE
++ Yellow 0x00000000000017F8
++ Blue 0x00000000000017E9
++ Ch+ 0x00000000000017E0
++ Ch- 0x00000000000017E1
++ Vol- 0x00000000000017D1
++ Vol+ 0x00000000000017D0
++ Ok 0x00000000000017E5
++ Mute 0x00000000000017CF
++ Blank 0x00000000000017CC
++ Full 0x00000000000017FC
++ Rewind 0x00000000000017F2
++ Play 0x00000000000017F5
++ Forward 0x00000000000017F4
++ Record 0x00000000000017F7
++ Stop 0x00000000000017F6
++ Pause 0x00000000000017F0
++ Replay 0x00000000000017E4
++ Skip 0x00000000000017DE
++ end codes
++
++end remote
diff --git a/meta/packages/lirc/lirc-config.inc b/meta/packages/lirc/lirc-config.inc
new file mode 100644
index 0000000000..9106e556cf
--- /dev/null
+++ b/meta/packages/lirc/lirc-config.inc
@@ -0,0 +1,12 @@
+EXTRA_OECONF = "--with-kerneldir=${STAGING_KERNEL_DIR} --with-driver=${DRIVER}"
+
+DRIVER ?= "serial"
+DRIVER_collie = "sa1100"
+DRIVER_h3600 = "sa1100"
+DRIVER_simpad = "sa1100"
+DRIVER_nslu2 = "nslu2"
+# XXX Why is X disabled on all these platforms anyway?
+EXTRA_OECONF_append_collie = " --without-x"
+EXTRA_OECONF_append_h3600 = " --without-x"
+EXTRA_OECONF_append_simpad = " --without-x"
+EXTRA_OECONF_append_nslu2 = " --without-x --with-transmitter --with-soft-carrier"
diff --git a/meta/packages/lirc/lirc-modules_0.7.1.bb b/meta/packages/lirc/lirc-modules_0.7.1.bb
new file mode 100644
index 0000000000..0bf709ee92
--- /dev/null
+++ b/meta/packages/lirc/lirc-modules_0.7.1.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+LICENSE = "GPL"
+DEPENDS = "virtual/kernel fakeroot-native"
+PR = "r2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \
+ file://lirc_sir-sa1100.patch;patch=1"
+S = "${WORKDIR}/lirc-${PV}"
+
+inherit autotools module-base
+
+include lirc-config.inc
+
+do_compile() {
+ # ${KERNEL_LD} doesn't understand the LDFLAGS, so suppress them
+ cd drivers && oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" LDFLAGS=""
+}
+
+fakeroot do_install() {
+ oe_runmake -C drivers DESTDIR="${D}" moduledir="/lib/modules/${KERNEL_VERSION}/lirc" install
+ rm -rf ${D}/dev
+}
+
+pkg_postinst() {
+#!/bin/sh
+set -e
+if [ ! -c $D/dev/lirc ]; then mknod $D/dev/lirc c 61 0; fi
+exit 0
+}
+
+FILES_${PN} = "/lib/modules"
diff --git a/meta/packages/lirc/lirc_0.7.1.bb b/meta/packages/lirc/lirc_0.7.1.bb
new file mode 100644
index 0000000000..cd65dcedae
--- /dev/null
+++ b/meta/packages/lirc/lirc_0.7.1.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
+SECTION = "console/network"
+PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+LICENSE = "GPL"
+DEPENDS = "virtual/kernel libx11 libxau libsm libice"
+PR = "r5"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \
+ file://lircd.init file://lircmd.init"
+S = "${WORKDIR}/lirc-${PV}"
+
+inherit autotools module-base update-rc.d
+
+INITSCRIPT_NAME = "lircd"
+INITSCRIPT_PARAMS = "defaults 20"
+
+include lirc-config.inc
+
+EXTRA_OEMAKE = 'SUBDIRS="daemons tools"'
+
+do_stage() {
+ oe_libinstall -so -C tools liblirc_client ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/lirc/
+ install -m 0644 tools/lirc_client.h ${STAGING_INCDIR}/lirc/
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d
+ install ${WORKDIR}/lircd.init ${D}${sysconfdir}/init.d/lircd
+
+ install -d ${D}${datadir}/lirc/
+ cp -pPR ${S}/remotes ${D}${datadir}/lirc/
+}
+
+PACKAGES =+ "lirc-x"
+
+FILES_lirc-x = "${bindir}/irxevent ${bindir}/xmode2"
diff --git a/meta/packages/loudmouth/loudmouth_1.0.1.bb b/meta/packages/loudmouth/loudmouth_1.0.1.bb
new file mode 100755
index 0000000000..9161cd630b
--- /dev/null
+++ b/meta/packages/loudmouth/loudmouth_1.0.1.bb
@@ -0,0 +1,13 @@
+LICENSE = "LGPL"
+DEPENDS = "glib-2.0 gnutls"
+MAINTAINER = "Koen Kooi <koen@handhelds.org>"
+DESCRIPTION = "Loudmouth is a lightweight and easy-to-use C library for programming with the Jabber protocol."
+PR = "r1"
+
+SRC_URI = "http://ftp.imendio.com/pub/imendio/${PN}/src/${PN}-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/lrzsz/lrzsz-0.12.20/autotools.patch b/meta/packages/lrzsz/lrzsz-0.12.20/autotools.patch
new file mode 100644
index 0000000000..73f5a062ef
--- /dev/null
+++ b/meta/packages/lrzsz/lrzsz-0.12.20/autotools.patch
@@ -0,0 +1,37 @@
+--- lrzsz-0.12.20/acinclude.m4~autotools 1998-12-27 17:08:59.000000000 -0500
++++ lrzsz-0.12.20/acinclude.m4 2004-05-09 22:26:19.000000000 -0400
+@@ -1,12 +1,11 @@
+ dnl AC_REPLACE_GNU_GETOPT
+-AC_DEFUN(AC_REPLACE_GNU_GETOPT,
+-[AC_CHECK_FUNC(getopt_long, , [LIBOBJS="$LIBOBJS getopt1.o getopt.o"])
+-AC_SUBST(LIBOBJS)dnl
+-])
++AC_DEFUN([AC_REPLACE_GNU_GETOPT],
++[AC_CHECK_FUNC(getopt_long, , [AC_LIBOBJ([getopt1])
++AC_LIBOBJ([getopt])dnl])])
+
+ dnl
+ dnl taken from taylor uucp
+-AC_DEFUN(LRZSZ_ERRNO_DECL,[
++AC_DEFUN([LRZSZ_ERRNO_DECL],[
+ AC_MSG_CHECKING(for errno declaration)
+ AC_CACHE_VAL(lrzsz_cv_decl_errno,
+ [AC_TRY_COMPILE([#include <errno.h>], [int i = errno; errno = 1;],
+@@ -23,7 +21,7 @@
+ ])
+
+ dnl LRZSZ_TYPE_SPEED_T
+-AC_DEFUN(LRZSZ_TYPE_SPEED_T,[
++AC_DEFUN([LRZSZ_TYPE_SPEED_T],[
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_REQUIRE([LRZSZ_HEADERS_TERM_IO])dnl
+ AC_MSG_CHECKING(for speed_t)
+@@ -61,7 +59,7 @@
+ fi
+ ])
+
+-AC_DEFUN(lrzsz_HEADER_SYS_SELECT,
++AC_DEFUN([lrzsz_HEADER_SYS_SELECT],
+ [AC_CACHE_CHECK([whether sys/time.h and sys/select.h may both be included],
+ lrzsz_cv_header_sys_select,
+ [AC_TRY_COMPILE([#include <sys/types.h>
diff --git a/meta/packages/lrzsz/lrzsz-0.12.20/gettext.patch b/meta/packages/lrzsz/lrzsz-0.12.20/gettext.patch
new file mode 100644
index 0000000000..241ffd90ba
--- /dev/null
+++ b/meta/packages/lrzsz/lrzsz-0.12.20/gettext.patch
@@ -0,0 +1,21882 @@
+--- lrzsz-0.12.20.safe/ABOUT-NLS 1998-04-26 09:22:30.000000000 -0400
++++ lrzsz-0.12.20/ABOUT-NLS 2004-09-12 14:40:34.323752952 -0400
+@@ -1,14 +1,14 @@
+ Notes on the Free Translation Project
+ *************************************
+
+- Free software is going international! The Free Translation Project
+-is a way to get maintainers of free software, translators, and users all
++Free software is going international! The Free Translation Project is
++a way to get maintainers of free software, translators, and users all
+ together, so that will gradually become able to speak many languages.
+ A few packages already provide translations for their messages.
+
+ If you found this `ABOUT-NLS' file inside a distribution, you may
+ assume that the distributed package does use GNU `gettext' internally,
+-itself available at your nearest GNU archive site. But you do *not*
++itself available at your nearest GNU archive site. But you do _not_
+ need to install GNU `gettext' prior to configuring, installing or using
+ this package with messages translated.
+
+@@ -22,10 +22,10 @@
+ `gettext' which is used. The information can be found in the
+ `intl/VERSION' file, in internationalized packages.
+
+-One advise in advance
+-=====================
++Quick configuration advice
++==========================
+
+- If you want to exploit the full power of internationalization, you
++If you want to exploit the full power of internationalization, you
+ should configure it using
+
+ ./configure --with-included-gettext
+@@ -34,42 +34,40 @@
+ package, despite the existence of internationalizing capabilities in the
+ operating system where this package is being installed. So far, only
+ the `gettext' implementation in the GNU C library version 2 provides as
+-many features (such as locale alias or message inheritance) as the
+-implementation here. It is also not possible to offer this additional
+-functionality on top of a `catgets' implementation. Future versions of
+-GNU `gettext' will very likely convey even more functionality. So it
+-might be a good idea to change to GNU `gettext' as soon as possible.
++many features (such as locale alias, message inheritance, automatic
++charset conversion or plural form handling) as the implementation here.
++It is also not possible to offer this additional functionality on top
++of a `catgets' implementation. Future versions of GNU `gettext' will
++very likely convey even more functionality. So it might be a good idea
++to change to GNU `gettext' as soon as possible.
+
+- So you need not provide this option if you are using GNU libc 2 or
++ So you need _not_ provide this option if you are using GNU libc 2 or
+ you have installed a recent copy of the GNU gettext package with the
+ included `libintl'.
+
+ INSTALL Matters
+ ===============
+
+- Some packages are "localizable" when properly installed; the
+-programs they contain can be made to speak your own native language.
+-Most such packages use GNU `gettext'. Other packages have their own
+-ways to internationalization, predating GNU `gettext'.
++Some packages are "localizable" when properly installed; the programs
++they contain can be made to speak your own native language. Most such
++packages use GNU `gettext'. Other packages have their own ways to
++internationalization, predating GNU `gettext'.
+
+ By default, this package will be installed to allow translation of
+-messages. It will automatically detect whether the system provides
+-usable `catgets' (if using this is selected by the installer) or
+-`gettext' functions. If neither is available, the GNU `gettext' own
++messages. It will automatically detect whether the system already
++provides the GNU `gettext' functions. If not, the GNU `gettext' own
+ library will be used. This library is wholly contained within this
+ package, usually in the `intl/' subdirectory, so prior installation of
+-the GNU `gettext' package is *not* required. Installers may use
++the GNU `gettext' package is _not_ required. Installers may use
+ special options at configuration time for changing the default
+ behaviour. The commands:
+
+ ./configure --with-included-gettext
+- ./configure --with-catgets
+ ./configure --disable-nls
+
+-will respectively bypass any pre-existing `catgets' or `gettext' to use
+-the internationalizing routines provided within this package, enable
+-the use of the `catgets' functions (if found on the locale system), or
+-else, *totally* disable translation of messages.
++will respectively bypass any pre-existing `gettext' to use the
++internationalizing routines provided within this package, or else,
++_totally_ disable translation of messages.
+
+ When you already have GNU `gettext' installed on your system and run
+ configure without an option for your new package, `configure' will
+@@ -83,18 +81,10 @@
+
+ to prevent auto-detection.
+
+- By default the configuration process will not test for the `catgets'
+-function and therefore they will not be used. The reasons are already
+-given above: the emulation on top of `catgets' cannot provide all the
+-extensions provided by the GNU `gettext' library. If you nevertheless
+-want to use the `catgets' functions use
+-
+- ./configure --with-catgets
+-
+-to enable the test for `catgets' (this causes no harm if `catgets' is
+-not available on your system). If you really select this option we
+-would like to hear about the reasons because we cannot think of any
+-good one ourself.
++ The configuration process will not test for the `catgets' function
++and therefore it will not be used. The reason is that even an
++emulation of `gettext' on top of `catgets' could not provide all the
++extensions of the GNU `gettext' library.
+
+ Internationalized packages have usually many `po/LL.po' files, where
+ LL gives an ISO 639 two-letter code identifying the language. Unless
+@@ -108,57 +98,73 @@
+ Using This Package
+ ==================
+
+- As a user, if your language has been installed for this package, you
++As a user, if your language has been installed for this package, you
+ only have to set the `LANG' environment variable to the appropriate
+-ISO 639 `LL' two-letter code prior to using the programs in the
+-package. For example, let's suppose that you speak German. At the
+-shell prompt, merely execute `setenv LANG de' (in `csh'),
+-`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
+-can be done from your `.login' or `.profile' file, once and for all.
++`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
++and `CC' is an ISO 3166 two-letter country code. For example, let's
++suppose that you speak German and live in Germany. At the shell
++prompt, merely execute `setenv LANG de_DE' (in `csh'),
++`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
++This can be done from your `.login' or `.profile' file, once and for
++all.
+
+- An operating system might already offer message localization for
+-many of its programs, while other programs have been installed locally
+-with the full capabilities of GNU `gettext'. Just using `gettext'
+-extended syntax for `LANG' would break proper localization of already
+-available operating system programs. In this case, users should set
+-both `LANGUAGE' and `LANG' variables in their environment, as programs
+-using GNU `gettext' give preference to `LANGUAGE'. For example, some
+-Swedish users would rather read translations in German than English for
+-when Swedish is not available. This is easily accomplished by setting
+-`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
++ You might think that the country code specification is redundant.
++But in fact, some languages have dialects in different countries. For
++example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
++country code serves to distinguish the dialects.
++
++ The locale naming convention of `LL_CC', with `LL' denoting the
++language and `CC' denoting the country, is the one use on systems based
++on GNU libc. On other systems, some variations of this scheme are
++used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
++locales supported by your system for your country by running the command
++`locale -a | grep '^LL''.
++
++ Not all programs have translations for all languages. By default, an
++English message is shown in place of a nonexistent translation. If you
++understand other languages, you can set up a priority list of languages.
++This is done through a different environment variable, called
++`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
++for the purpose of message handling, but you still need to have `LANG'
++set to the primary language; this is required by other parts of the
++system libraries. For example, some Swedish users who would rather
++read translations in German than English for when Swedish is not
++available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
++
++ Special advice for Norwegian users: The language code for Norwegian
++bokma*l changed from `no' to `nb' recently (in 2003). During the
++transition period, while some message catalogs for this language are
++installed under `nb' and some older ones under `no', it's recommended
++for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
++older translations are used.
++
++ In the `LANGUAGE' environment variable, but not in the `LANG'
++environment variable, `LL_CC' combinations can be abbreviated as `LL'
++to denote the language's main dialect. For example, `de' is equivalent
++to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
++(Portuguese as spoken in Portugal) in this context.
+
+ Translating Teams
+ =================
+
+- For the Free Translation Project to be a success, we need interested
++For the Free Translation Project to be a success, we need interested
+ people who like their own language and write it well, and who are also
+ able to synergize with other translators speaking the same language.
+-Each translation team has its own mailing list, courtesy of Linux
+-International. You may reach your translation team at the address
+-`LL@li.org', replacing LL by the two-letter ISO 639 code for your
+-language. Language codes are *not* the same as the country codes given
+-in ISO 3166. The following translation teams exist, as of August 1997:
+-
+- Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
+- Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
+- `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
+- Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
+- `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
+- Swedish `sv', and Turkish `tr'.
+-
+-For example, you may reach the Chinese translation team by writing to
+-`zh@li.org'.
++Each translation team has its own mailing list. The up-to-date list of
++teams can be found at the Free Translation Project's homepage,
++`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
++area.
+
+- If you'd like to volunteer to *work* at translating messages, you
++ If you'd like to volunteer to _work_ at translating messages, you
+ should become a member of the translating team for your own language.
+-The subscribing address is *not* the same as the list itself, it has
++The subscribing address is _not_ the same as the list itself, it has
+ `-request' appended. For example, speakers of Swedish can send a
+ message to `sv-request@li.org', having this message body:
+
+ subscribe
+
+ Keep in mind that team members are expected to participate
+-*actively* in translations, or at solving translational difficulties,
++_actively_ in translations, or at solving translational difficulties,
+ rather than merely lurking around. If your team does not exist yet and
+ you want to start one, or if you are unsure about what to do or how to
+ get started, please write to `translation@iro.umontreal.ca' to reach the
+@@ -171,43 +177,559 @@
+ Available Packages
+ ==================
+
+- Languages are not equally supported in all packages. The following
+-matrix shows the current state of internationalization, as of August
+-1997. The matrix shows, in regard of each package, for which languages
+-PO files have been submitted to translation coordination.
++Languages are not equally supported in all packages. The following
++matrix shows the current state of internationalization, as of January
++2004. The matrix shows, in regard of each package, for which languages
++PO files have been submitted to translation coordination, with a
++translation percentage of at least 50%.
+
+- Ready PO files cs da de en es fi fr it ja ko nl no pl pt sl sv
+- .-------------------------------------------------.
+- bash | [] [] [] | 3
+- bison | [] [] [] | 3
+- clisp | [] [] [] [] | 4
+- cpio | [] [] [] [] [] | 5
+- diffutils | [] [] [] [] [] | 5
+- enscript | [] [] [] [] [] [] | 6
+- fileutils | [] [] [] [] [] [] [] [] [] [] | 10
+- findutils | [] [] [] [] [] [] [] [] | 8
+- flex | [] [] [] [] | 4
+- gcal | [] [] [] [] [] | 5
+- gettext | [] [] [] [] [] [] [] [] [] [] | 11
+- grep | [] [] [] [] [] [] [] [] [] | 9
+- hello | [] [] [] [] [] [] [] [] [] [] | 10
+- id-utils | [] [] [] | 3
+- indent | [] [] [] [] | 4
+- libc | [] [] [] [] [] [] [] | 7
+- m4 | [] [] [] [] [] | 5
+- make | [] [] [] [] [] [] | 6
+- music | [] [] | 2
+- ptx | [] [] [] [] [] [] [] [] | 8
+- recode | [] [] [] [] [] [] [] [] [] | 9
+- sh-utils | [] [] [] [] [] [] [] | 7
+- sharutils | [] [] [] [] [] | 5
+- tar | [] [] [] [] [] [] [] [] [] [] | 10
+- texinfo | [] | 1
+- textutils | [] [] [] [] [] [] [] [] [] | 9
+- wdiff | [] [] [] [] [] [] [] [] | 8
+- `-------------------------------------------------'
+- 16 languages cs da de en es fi fr it ja ko nl no pl pt sl sv
+- 27 packages 3 2 24 1 17 1 26 2 1 11 20 9 19 7 7 17 167
++ Ready PO files af am ar az be bg bs ca cs da de el en en_GB eo es
++ +----------------------------------------------------+
++ a2ps | [] [] [] [] |
++ aegis | () |
++ ant-phone | () |
++ anubis | |
++ ap-utils | |
++ aspell | [] |
++ bash | [] [] [] [] |
++ batchelor | |
++ bfd | [] [] |
++ binutils | [] [] |
++ bison | [] [] [] |
++ bluez-pin | [] [] [] |
++ clisp | |
++ clisp | [] [] [] |
++ console-tools | [] [] |
++ coreutils | [] [] [] [] |
++ cpio | [] [] [] |
++ darkstat | [] () [] |
++ diffutils | [] [] [] [] [] [] [] |
++ e2fsprogs | [] [] [] |
++ enscript | [] [] [] [] |
++ error | [] [] [] [] [] |
++ fetchmail | [] () [] [] [] [] |
++ fileutils | [] [] [] |
++ findutils | [] [] [] [] [] [] [] |
++ flex | [] [] [] [] |
++ fslint | |
++ gas | [] |
++ gawk | [] [] [] [] |
++ gbiff | [] |
++ gcal | [] |
++ gcc | [] [] |
++ gettext | [] [] [] [] [] |
++ gettext-examples | [] [] [] [] |
++ gettext-runtime | [] [] [] [] [] |
++ gettext-tools | [] [] [] |
++ gimp-print | [] [] [] [] [] |
++ gliv | |
++ glunarclock | [] [] |
++ gnubiff | [] |
++ gnucash | [] () [] [] |
++ gnucash-glossary | [] () [] |
++ gnupg | [] () [] [] [] [] |
++ gpe-aerial | [] |
++ gpe-beam | [] [] |
++ gpe-calendar | [] [] |
++ gpe-clock | [] [] |
++ gpe-conf | [] [] |
++ gpe-contacts | [] [] |
++ gpe-edit | [] |
++ gpe-go | [] |
++ gpe-login | [] [] |
++ gpe-ownerinfo | [] [] |
++ gpe-sketchbook | [] [] |
++ gpe-su | [] [] |
++ gpe-taskmanager | [] [] |
++ gpe-timesheet | [] |
++ gpe-today | [] [] |
++ gpe-todo | [] [] |
++ gphoto2 | [] [] [] [] |
++ gprof | [] [] [] |
++ gpsdrive | () () () |
++ gramadoir | [] |
++ grep | [] [] [] [] [] [] |
++ gretl | [] |
++ gtick | [] () |
++ hello | [] [] [] [] [] [] |
++ id-utils | [] [] |
++ indent | [] [] [] [] |
++ iso_3166 | [] [] [] [] [] [] [] [] [] [] |
++ iso_3166_1 | [] [] [] [] [] [] |
++ iso_3166_2 | |
++ iso_3166_3 | [] |
++ iso_4217 | [] [] [] [] |
++ iso_639 | |
++ jpilot | [] [] [] |
++ jtag | |
++ jwhois | [] |
++ kbd | [] [] [] [] [] |
++ latrine | () |
++ ld | [] [] |
++ libc | [] [] [] [] [] [] |
++ libgpewidget | [] [] |
++ libiconv | [] [] [] [] [] |
++ lifelines | [] () |
++ lilypond | [] |
++ lingoteach | |
++ lingoteach_lessons | () () |
++ lynx | [] [] [] [] |
++ m4 | [] [] [] [] |
++ mailutils | [] [] |
++ make | [] [] [] |
++ man-db | [] () [] [] () |
++ minicom | [] [] [] |
++ mysecretdiary | [] [] [] |
++ nano | [] () [] [] [] |
++ nano_1_0 | [] () [] [] [] |
++ opcodes | [] |
++ parted | [] [] [] [] [] |
++ ptx | [] [] [] [] [] |
++ python | |
++ radius | [] |
++ recode | [] [] [] [] [] [] [] |
++ rpm | [] [] |
++ screem | |
++ scrollkeeper | [] [] [] [] [] [] |
++ sed | [] [] [] [] [] [] |
++ sh-utils | [] [] [] |
++ shared-mime-info | |
++ sharutils | [] [] [] [] [] [] |
++ silky | () |
++ skencil | [] () [] |
++ sketch | [] () [] |
++ soundtracker | [] [] [] |
++ sp | [] |
++ tar | [] [] [] [] |
++ texinfo | [] [] [] |
++ textutils | [] [] [] [] |
++ tin | () () |
++ tp-robot | |
++ tuxpaint | [] [] [] [] [] [] [] |
++ unicode-han-tra... | |
++ unicode-transla... | |
++ util-linux | [] [] [] [] [] |
++ vorbis-tools | [] [] [] [] |
++ wastesedge | () |
++ wdiff | [] [] [] [] |
++ wget | [] [] [] [] [] [] |
++ xchat | [] [] [] [] |
++ xfree86_xkb_xml | [] [] |
++ xpad | [] |
++ +----------------------------------------------------+
++ af am ar az be bg bs ca cs da de el en en_GB eo es
++ 4 0 0 1 9 4 1 40 41 60 78 17 1 5 13 68
++
++ et eu fa fi fr ga gl he hr hu id is it ja ko lg
++ +-------------------------------------------------+
++ a2ps | [] [] [] () () |
++ aegis | |
++ ant-phone | [] |
++ anubis | [] |
++ ap-utils | [] |
++ aspell | [] [] |
++ bash | [] [] |
++ batchelor | [] [] |
++ bfd | [] |
++ binutils | [] [] |
++ bison | [] [] [] [] |
++ bluez-pin | [] [] [] [] [] |
++ clisp | |
++ clisp | [] |
++ console-tools | |
++ coreutils | [] [] [] [] [] [] |
++ cpio | [] [] [] [] |
++ darkstat | () [] [] [] |
++ diffutils | [] [] [] [] [] [] [] |
++ e2fsprogs | |
++ enscript | [] [] |
++ error | [] [] [] [] |
++ fetchmail | [] |
++ fileutils | [] [] [] [] [] [] |
++ findutils | [] [] [] [] [] [] [] [] [] [] [] |
++ flex | [] [] [] |
++ fslint | [] |
++ gas | [] |
++ gawk | [] [] [] |
++ gbiff | [] |
++ gcal | [] |
++ gcc | [] |
++ gettext | [] [] [] |
++ gettext-examples | [] [] |
++ gettext-runtime | [] [] [] [] [] |
++ gettext-tools | [] [] [] |
++ gimp-print | [] [] |
++ gliv | () |
++ glunarclock | [] [] [] [] |
++ gnubiff | [] |
++ gnucash | () [] |
++ gnucash-glossary | [] |
++ gnupg | [] [] [] [] [] [] [] |
++ gpe-aerial | [] |
++ gpe-beam | [] |
++ gpe-calendar | [] [] [] |
++ gpe-clock | [] |
++ gpe-conf | [] |
++ gpe-contacts | [] [] |
++ gpe-edit | [] [] |
++ gpe-go | [] |
++ gpe-login | [] [] |
++ gpe-ownerinfo | [] [] [] |
++ gpe-sketchbook | [] |
++ gpe-su | [] |
++ gpe-taskmanager | [] |
++ gpe-timesheet | [] [] [] |
++ gpe-today | [] [] |
++ gpe-todo | [] [] |
++ gphoto2 | [] [] [] |
++ gprof | [] [] |
++ gpsdrive | () () () |
++ gramadoir | [] [] |
++ grep | [] [] [] [] [] [] [] [] [] [] [] |
++ gretl | [] [] |
++ gtick | [] [] [] |
++ hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
++ id-utils | [] [] [] [] |
++ indent | [] [] [] [] [] [] [] [] [] |
++ iso_3166 | [] [] [] [] [] [] [] |
++ iso_3166_1 | [] [] [] [] [] |
++ iso_3166_2 | |
++ iso_3166_3 | |
++ iso_4217 | [] [] [] [] [] [] |
++ iso_639 | |
++ jpilot | [] () |
++ jtag | [] |
++ jwhois | [] [] [] [] |
++ kbd | [] |
++ latrine | [] |
++ ld | [] |
++ libc | [] [] [] [] [] [] |
++ libgpewidget | [] [] [] [] |
++ libiconv | [] [] [] [] [] [] [] [] [] |
++ lifelines | () |
++ lilypond | [] |
++ lingoteach | [] [] |
++ lingoteach_lessons | |
++ lynx | [] [] [] [] |
++ m4 | [] [] [] [] |
++ mailutils | |
++ make | [] [] [] [] [] [] |
++ man-db | () () |
++ minicom | [] [] [] [] |
++ mysecretdiary | [] [] |
++ nano | [] [] [] [] |
++ nano_1_0 | [] [] [] [] |
++ opcodes | [] |
++ parted | [] [] [] |
++ ptx | [] [] [] [] [] [] [] |
++ python | |
++ radius | [] |
++ recode | [] [] [] [] [] [] |
++ rpm | [] [] |
++ screem | |
++ scrollkeeper | [] |
++ sed | [] [] [] [] [] [] [] [] [] |
++ sh-utils | [] [] [] [] [] [] [] |
++ shared-mime-info | [] [] [] |
++ sharutils | [] [] [] [] [] |
++ silky | () [] () () |
++ skencil | [] |
++ sketch | [] |
++ soundtracker | [] [] |
++ sp | [] () |
++ tar | [] [] [] [] [] [] [] [] [] |
++ texinfo | [] [] [] [] |
++ textutils | [] [] [] [] [] [] |
++ tin | [] () |
++ tp-robot | [] |
++ tuxpaint | [] [] [] [] [] [] [] [] [] |
++ unicode-han-tra... | |
++ unicode-transla... | [] [] |
++ util-linux | [] [] [] [] () [] |
++ vorbis-tools | [] |
++ wastesedge | () |
++ wdiff | [] [] [] [] [] [] |
++ wget | [] [] [] [] [] [] [] |
++ xchat | [] [] [] |
++ xfree86_xkb_xml | [] [] |
++ xpad | [] [] |
++ +-------------------------------------------------+
++ et eu fa fi fr ga gl he hr hu id is it ja ko lg
++ 22 2 1 26 106 28 24 8 10 41 33 1 26 33 12 0
++
++ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
++ +-----------------------------------------------------+
++ a2ps | [] [] () () [] [] [] |
++ aegis | () () () |
++ ant-phone | [] [] |
++ anubis | [] [] [] [] [] [] |
++ ap-utils | [] () [] |
++ aspell | [] |
++ bash | [] [] [] |
++ batchelor | [] |
++ bfd | [] |
++ binutils | [] |
++ bison | [] [] [] [] [] |
++ bluez-pin | [] [] [] |
++ clisp | |
++ clisp | [] |
++ console-tools | [] |
++ coreutils | [] [] |
++ cpio | [] [] [] [] [] |
++ darkstat | [] [] [] [] |
++ diffutils | [] [] [] [] [] [] |
++ e2fsprogs | [] |
++ enscript | [] [] [] [] |
++ error | [] [] [] |
++ fetchmail | [] [] () [] |
++ fileutils | [] [] [] |
++ findutils | [] [] [] [] [] |
++ flex | [] [] [] [] |
++ fslint | [] [] |
++ gas | |
++ gawk | [] [] [] |
++ gbiff | [] [] |
++ gcal | |
++ gcc | |
++ gettext | [] [] [] |
++ gettext-examples | [] [] [] |
++ gettext-runtime | [] [] [] [] |
++ gettext-tools | [] [] |
++ gimp-print | [] |
++ gliv | [] [] [] |
++ glunarclock | [] [] [] [] |
++ gnubiff | [] |
++ gnucash | [] [] () [] |
++ gnucash-glossary | [] [] |
++ gnupg | [] |
++ gpe-aerial | [] [] [] [] |
++ gpe-beam | [] [] [] [] |
++ gpe-calendar | [] [] [] [] |
++ gpe-clock | [] [] [] [] |
++ gpe-conf | [] [] [] [] |
++ gpe-contacts | [] [] [] [] |
++ gpe-edit | [] [] [] [] |
++ gpe-go | [] [] [] |
++ gpe-login | [] [] [] [] |
++ gpe-ownerinfo | [] [] [] [] |
++ gpe-sketchbook | [] [] [] [] |
++ gpe-su | [] [] [] [] |
++ gpe-taskmanager | [] [] [] [] |
++ gpe-timesheet | [] [] [] [] |
++ gpe-today | [] [] [] [] |
++ gpe-todo | [] [] [] [] |
++ gphoto2 | [] |
++ gprof | [] [] |
++ gpsdrive | () () [] |
++ gramadoir | () [] |
++ grep | [] [] [] [] [] |
++ gretl | |
++ gtick | [] [] [] |
++ hello | [] [] [] [] [] [] [] [] [] [] |
++ id-utils | [] [] [] [] |
++ indent | [] [] [] [] |
++ iso_3166 | [] [] [] |
++ iso_3166_1 | [] [] |
++ iso_3166_2 | |
++ iso_3166_3 | [] |
++ iso_4217 | [] [] [] [] [] [] [] [] |
++ iso_639 | [] |
++ jpilot | () () |
++ jtag | |
++ jwhois | [] [] [] [] () |
++ kbd | [] [] [] |
++ latrine | [] |
++ ld | |
++ libc | [] [] [] [] |
++ libgpewidget | [] [] [] |
++ libiconv | [] [] [] [] [] |
++ lifelines | |
++ lilypond | |
++ lingoteach | |
++ lingoteach_lessons | |
++ lynx | [] [] [] |
++ m4 | [] [] [] [] [] |
++ mailutils | [] [] [] |
++ make | [] [] [] [] |
++ man-db | [] |
++ minicom | [] [] [] [] |
++ mysecretdiary | [] [] [] |
++ nano | [] [] [] [] [] |
++ nano_1_0 | [] [] [] [] [] [] |
++ opcodes | [] [] |
++ parted | [] [] [] [] |
++ ptx | [] [] [] [] [] [] [] [] |
++ python | |
++ radius | [] [] |
++ recode | [] [] [] [] |
++ rpm | [] [] [] |
++ screem | |
++ scrollkeeper | [] [] [] [] [] |
++ sed | [] [] [] |
++ sh-utils | [] [] |
++ shared-mime-info | [] [] |
++ sharutils | [] [] |
++ silky | () |
++ skencil | [] [] |
++ sketch | [] [] |
++ soundtracker | |
++ sp | |
++ tar | [] [] [] [] [] [] |
++ texinfo | [] [] [] [] |
++ textutils | [] [] |
++ tin | |
++ tp-robot | [] |
++ tuxpaint | [] [] [] [] [] [] [] [] |
++ unicode-han-tra... | |
++ unicode-transla... | |
++ util-linux | [] [] [] |
++ vorbis-tools | [] [] [] |
++ wastesedge | |
++ wdiff | [] [] [] [] [] |
++ wget | [] [] [] |
++ xchat | [] [] [] |
++ xfree86_xkb_xml | [] [] |
++ xpad | [] [] |
++ +-----------------------------------------------------+
++ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
++ 1 2 0 3 12 0 10 69 6 7 1 40 26 36 76 63
++
++ sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
++ +-----------------------------------------------------+
++ a2ps | [] [] [] [] | 16
++ aegis | | 0
++ ant-phone | | 3
++ anubis | [] [] | 9
++ ap-utils | () | 3
++ aspell | | 4
++ bash | | 9
++ batchelor | | 3
++ bfd | [] [] | 6
++ binutils | [] [] [] | 8
++ bison | [] [] | 14
++ bluez-pin | [] [] [] | 14
++ clisp | | 0
++ clisp | | 5
++ console-tools | | 3
++ coreutils | [] [] [] [] | 16
++ cpio | [] [] | 14
++ darkstat | [] [] [] () () | 12
++ diffutils | [] [] [] | 23
++ e2fsprogs | [] [] | 6
++ enscript | [] [] | 12
++ error | [] [] [] | 15
++ fetchmail | [] [] | 11
++ fileutils | [] [] [] [] [] | 17
++ findutils | [] [] [] [] [] [] | 29
++ flex | [] [] | 13
++ fslint | | 3
++ gas | [] | 3
++ gawk | [] [] | 12
++ gbiff | | 4
++ gcal | [] [] | 4
++ gcc | [] | 4
++ gettext | [] [] [] [] [] | 16
++ gettext-examples | [] [] [] [] [] | 14
++ gettext-runtime | [] [] [] [] [] [] [] [] | 22
++ gettext-tools | [] [] [] [] [] [] | 14
++ gimp-print | [] [] | 10
++ gliv | | 3
++ glunarclock | [] [] [] | 13
++ gnubiff | | 3
++ gnucash | [] [] | 9
++ gnucash-glossary | [] [] [] | 8
++ gnupg | [] [] [] [] | 17
++ gpe-aerial | [] | 7
++ gpe-beam | [] | 8
++ gpe-calendar | [] [] [] [] | 13
++ gpe-clock | [] [] [] | 10
++ gpe-conf | [] [] | 9
++ gpe-contacts | [] [] [] | 11
++ gpe-edit | [] [] [] [] [] | 12
++ gpe-go | | 5
++ gpe-login | [] [] [] [] [] | 13
++ gpe-ownerinfo | [] [] [] [] | 13
++ gpe-sketchbook | [] [] | 9
++ gpe-su | [] [] [] | 10
++ gpe-taskmanager | [] [] [] | 10
++ gpe-timesheet | [] [] [] [] | 12
++ gpe-today | [] [] [] [] [] | 13
++ gpe-todo | [] [] [] [] | 12
++ gphoto2 | [] [] [] | 11
++ gprof | [] [] | 9
++ gpsdrive | [] [] | 3
++ gramadoir | [] | 5
++ grep | [] [] [] [] | 26
++ gretl | | 3
++ gtick | | 7
++ hello | [] [] [] [] [] | 34
++ id-utils | [] [] | 12
++ indent | [] [] [] [] | 21
++ iso_3166 | [] [] [] [] [] [] [] | 27
++ iso_3166_1 | [] [] [] | 16
++ iso_3166_2 | | 0
++ iso_3166_3 | | 2
++ iso_4217 | [] [] [] [] [] [] | 24
++ iso_639 | | 1
++ jpilot | [] [] [] [] [] | 9
++ jtag | [] | 2
++ jwhois | () [] [] | 11
++ kbd | [] [] | 11
++ latrine | | 2
++ ld | [] [] | 5
++ libc | [] [] [] [] | 20
++ libgpewidget | [] [] [] [] | 13
++ libiconv | [] [] [] [] [] [] [] [] | 27
++ lifelines | [] | 2
++ lilypond | [] | 3
++ lingoteach | | 2
++ lingoteach_lessons | () | 0
++ lynx | [] [] [] | 14
++ m4 | [] [] | 15
++ mailutils | | 5
++ make | [] [] [] | 16
++ man-db | [] | 5
++ minicom | | 11
++ mysecretdiary | [] [] | 10
++ nano | [] [] [] [] | 17
++ nano_1_0 | [] [] [] | 17
++ opcodes | [] [] | 6
++ parted | [] [] [] | 15
++ ptx | [] [] | 22
++ python | | 0
++ radius | | 4
++ recode | [] [] [] | 20
++ rpm | [] [] | 9
++ screem | [] [] | 2
++ scrollkeeper | [] [] [] | 15
++ sed | [] [] [] [] [] [] | 24
++ sh-utils | [] [] | 14
++ shared-mime-info | [] [] | 7
++ sharutils | [] [] [] [] | 17
++ silky | () | 3
++ skencil | [] | 6
++ sketch | [] | 6
++ soundtracker | [] [] | 7
++ sp | [] | 3
++ tar | [] [] [] [] [] | 24
++ texinfo | [] [] [] | 14
++ textutils | [] [] [] [] | 16
++ tin | | 1
++ tp-robot | | 2
++ tuxpaint | [] [] [] [] [] | 29
++ unicode-han-tra... | | 0
++ unicode-transla... | | 2
++ util-linux | [] [] | 15
++ vorbis-tools | | 8
++ wastesedge | | 0
++ wdiff | [] [] [] | 18
++ wget | [] [] [] [] [] [] [] [] | 24
++ xchat | [] [] [] [] [] | 15
++ xfree86_xkb_xml | [] [] [] [] [] | 11
++ xpad | | 5
++ +-----------------------------------------------------+
++ 63 teams sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
++ 131 domains 47 19 28 83 0 0 59 13 1 1 11 0 22 22 0 1373
+
+ Some counters in the preceding matrix are higher than the number of
+ visible blocks let us expect. This is because a few extra PO files are
+@@ -220,6 +742,27 @@
+ lag between the mere existence a PO file and its wide availability in a
+ distribution.
+
+- If August 1997 seems to be old, you may fetch a more recent copy of
+-this `ABOUT-NLS' file on most GNU archive sites.
++ If January 2004 seems to be old, you may fetch a more recent copy of
++this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
++matrix with full percentage details can be found at
++`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
++
++Using `gettext' in new packages
++===============================
++
++If you are writing a freely available program and want to
++internationalize it you are welcome to use GNU `gettext' in your
++package. Of course you have to respect the GNU Library General Public
++License which covers the use of the GNU `gettext' library. This means
++in particular that even non-free programs can use `libintl' as a shared
++library, whereas only free software can use `libintl' as a static
++library or use modified versions of `libintl'.
++
++ Once the sources are changed appropriately and the setup can handle
++the use of `gettext' the only thing missing are the translations. The
++Free Translation Project is also available for packages which are not
++developed inside the GNU project. Therefore the information given above
++applies also for every other Free Software Project. Contact
++`translation@iro.umontreal.ca' to make the `.pot' files available to
++the translation teams.
+
+--- lrzsz-0.12.20.safe/ChangeLog 1998-12-29 17:49:56.000000000 -0500
++++ lrzsz-0.12.20/ChangeLog 2004-09-12 14:40:35.846521456 -0400
+@@ -1,3 +1,11 @@
++2004-09-12 gettextize <bug-gnu-gettext@gnu.org>
++
++ * Makefile.am (ACLOCAL_AMFLAGS): New variable.
++ (EXTRA_DIST): Add config.rpath.
++ * configure.in (AC_OUTPUT): Add m4/Makefile.
++ (AC_OUTPUT): Remove command that created po/Makefile.
++ (AC_LINK_FILES): Remove invocation.
++
+ 1998-12-29 Uwe Ohse <uwe@ohse.de>
+
+ * src/lrz.c: removed stpcpy call.
+--- lrzsz-0.12.20.safe/config.rpath 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/config.rpath 2004-09-12 14:40:34.329752040 -0400
+@@ -0,0 +1,548 @@
++#! /bin/sh
++# Output a system dependent set of variables, describing how to set the
++# run time search path of shared libraries in an executable.
++#
++# Copyright 1996-2003 Free Software Foundation, Inc.
++# Taken from GNU libtool, 2001
++# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that program.
++#
++# The first argument passed to this file is the canonical host specification,
++# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
++# or
++# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
++# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
++# should be set by the caller.
++#
++# The set of defined variables is at the end of this script.
++
++# Known limitations:
++# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
++# than 256 bytes, otherwise the compiler driver will dump core. The only
++# known workaround is to choose shorter directory names for the build
++# directory and/or the installation directory.
++
++# All known linkers require a `.a' archive for static linking (except M$VC,
++# which needs '.lib').
++libext=a
++shrext=.so
++
++host="$1"
++host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
++host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
++host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
++
++# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
++
++wl=
++if test "$GCC" = yes; then
++ wl='-Wl,'
++else
++ case "$host_os" in
++ aix*)
++ wl='-Wl,'
++ ;;
++ mingw* | pw32* | os2*)
++ ;;
++ hpux9* | hpux10* | hpux11*)
++ wl='-Wl,'
++ ;;
++ irix5* | irix6* | nonstopux*)
++ wl='-Wl,'
++ ;;
++ newsos6)
++ ;;
++ linux*)
++ case $CC in
++ icc|ecc)
++ wl='-Wl,'
++ ;;
++ ccc)
++ wl='-Wl,'
++ ;;
++ esac
++ ;;
++ osf3* | osf4* | osf5*)
++ wl='-Wl,'
++ ;;
++ sco3.2v5*)
++ ;;
++ solaris*)
++ wl='-Wl,'
++ ;;
++ sunos4*)
++ wl='-Qoption ld '
++ ;;
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ wl='-Wl,'
++ ;;
++ sysv4*MP*)
++ ;;
++ uts4*)
++ ;;
++ esac
++fi
++
++# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
++
++hardcode_libdir_flag_spec=
++hardcode_libdir_separator=
++hardcode_direct=no
++hardcode_minus_L=no
++
++case "$host_os" in
++ cygwin* | mingw* | pw32*)
++ # FIXME: the MSVC++ port hasn't been tested in a loooong time
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ if test "$GCC" != yes; then
++ with_gnu_ld=no
++ fi
++ ;;
++ openbsd*)
++ with_gnu_ld=no
++ ;;
++esac
++
++ld_shlibs=yes
++if test "$with_gnu_ld" = yes; then
++ case "$host_os" in
++ aix3* | aix4* | aix5*)
++ # On AIX/PPC, the GNU linker is very broken
++ if test "$host_cpu" != ia64; then
++ ld_shlibs=no
++ fi
++ ;;
++ amigaos*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
++ # that the semantics of dynamic libraries on AmigaOS, at least up
++ # to version 4, is to share data among multiple programs linked
++ # with the same dynamic library. Since this doesn't match the
++ # behavior of shared libraries on other platforms, we can use
++ # them.
++ ld_shlibs=no
++ ;;
++ beos*)
++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
++ :
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ cygwin* | mingw* | pw32*)
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec='-L$libdir'
++ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
++ :
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ netbsd*)
++ ;;
++ solaris* | sysv5*)
++ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
++ ld_shlibs=no
++ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
++ :
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ sunos4*)
++ hardcode_direct=yes
++ ;;
++ *)
++ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
++ :
++ else
++ ld_shlibs=no
++ fi
++ ;;
++ esac
++ if test "$ld_shlibs" = yes; then
++ # Unlike libtool, we use -rpath here, not --rpath, since the documented
++ # option of GNU ld is called -rpath, not --rpath.
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ fi
++else
++ case "$host_os" in
++ aix3*)
++ # Note: this linker hardcodes the directories in LIBPATH if there
++ # are no directories specified by -L.
++ hardcode_minus_L=yes
++ if test "$GCC" = yes; then
++ # Neither direct hardcoding nor static linking is supported with a
++ # broken collect2.
++ hardcode_direct=unsupported
++ fi
++ ;;
++ aix4* | aix5*)
++ if test "$host_cpu" = ia64; then
++ # On IA64, the linker does run time linking by default, so we don't
++ # have to do anything special.
++ aix_use_runtimelinking=no
++ else
++ aix_use_runtimelinking=no
++ # Test if we are trying to use run time linking or normal
++ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
++ # need to do runtime linking.
++ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
++ for ld_flag in $LDFLAGS; do
++ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
++ aix_use_runtimelinking=yes
++ break
++ fi
++ done
++ esac
++ fi
++ hardcode_direct=yes
++ hardcode_libdir_separator=':'
++ if test "$GCC" = yes; then
++ case $host_os in aix4.[012]|aix4.[012].*)
++ collect2name=`${CC} -print-prog-name=collect2`
++ if test -f "$collect2name" && \
++ strings "$collect2name" | grep resolve_lib_name >/dev/null
++ then
++ # We have reworked collect2
++ hardcode_direct=yes
++ else
++ # We have old collect2
++ hardcode_direct=unsupported
++ hardcode_minus_L=yes
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_libdir_separator=
++ fi
++ esac
++ fi
++ # Begin _LT_AC_SYS_LIBPATH_AIX.
++ echo 'int main () { return 0; }' > conftest.c
++ ${CC} ${LDFLAGS} conftest.c -o conftest
++ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
++}'`
++ if test -z "$aix_libpath"; then
++ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
++}'`
++ fi
++ if test -z "$aix_libpath"; then
++ aix_libpath="/usr/lib:/lib"
++ fi
++ rm -f conftest.c conftest
++ # End _LT_AC_SYS_LIBPATH_AIX.
++ if test "$aix_use_runtimelinking" = yes; then
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ else
++ if test "$host_cpu" = ia64; then
++ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
++ else
++ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
++ fi
++ fi
++ ;;
++ amigaos*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ # see comment about different semantics on the GNU ld section
++ ld_shlibs=no
++ ;;
++ bsdi4*)
++ ;;
++ cygwin* | mingw* | pw32*)
++ # When not using gcc, we currently assume that we are using
++ # Microsoft Visual C++.
++ # hardcode_libdir_flag_spec is actually meaningless, as there is
++ # no search path for DLLs.
++ hardcode_libdir_flag_spec=' '
++ libext=lib
++ ;;
++ darwin* | rhapsody*)
++ if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
++ hardcode_direct=no
++ fi
++ ;;
++ dgux*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ ;;
++ freebsd1*)
++ ld_shlibs=no
++ ;;
++ freebsd2.2*)
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ ;;
++ freebsd2*)
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ ;;
++ freebsd*)
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ ;;
++ hpux9*)
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ ;;
++ hpux10* | hpux11*)
++ if test "$with_gnu_ld" = no; then
++ case "$host_cpu" in
++ hppa*64*)
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=no
++ ;;
++ ia64*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_direct=no
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ ;;
++ *)
++ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
++ hardcode_libdir_separator=:
++ hardcode_direct=yes
++ # hardcode_minus_L: Not really in the search PATH,
++ # but as the default location of the library.
++ hardcode_minus_L=yes
++ ;;
++ esac
++ fi
++ ;;
++ irix5* | irix6* | nonstopux*)
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
++ netbsd*)
++ hardcode_libdir_flag_spec='-R$libdir'
++ hardcode_direct=yes
++ ;;
++ newsos6)
++ hardcode_direct=yes
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
++ openbsd*)
++ hardcode_direct=yes
++ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ else
++ case "$host_os" in
++ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
++ hardcode_libdir_flag_spec='-R$libdir'
++ ;;
++ *)
++ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
++ ;;
++ esac
++ fi
++ ;;
++ os2*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_minus_L=yes
++ ;;
++ osf3*)
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ hardcode_libdir_separator=:
++ ;;
++ osf4* | osf5*)
++ if test "$GCC" = yes; then
++ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
++ else
++ # Both cc and cxx compiler support -rpath directly
++ hardcode_libdir_flag_spec='-rpath $libdir'
++ fi
++ hardcode_libdir_separator=:
++ ;;
++ sco3.2v5*)
++ ;;
++ solaris*)
++ hardcode_libdir_flag_spec='-R$libdir'
++ ;;
++ sunos4*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ hardcode_direct=yes
++ hardcode_minus_L=yes
++ ;;
++ sysv4)
++ case $host_vendor in
++ sni)
++ hardcode_direct=yes # is this really true???
++ ;;
++ siemens)
++ hardcode_direct=no
++ ;;
++ motorola)
++ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
++ ;;
++ esac
++ ;;
++ sysv4.3*)
++ ;;
++ sysv4*MP*)
++ if test -d /usr/nec; then
++ ld_shlibs=yes
++ fi
++ ;;
++ sysv4.2uw2*)
++ hardcode_direct=yes
++ hardcode_minus_L=no
++ ;;
++ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
++ ;;
++ sysv5*)
++ hardcode_libdir_flag_spec=
++ ;;
++ uts4*)
++ hardcode_libdir_flag_spec='-L$libdir'
++ ;;
++ *)
++ ld_shlibs=no
++ ;;
++ esac
++fi
++
++# Check dynamic linker characteristics
++# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
++libname_spec='lib$name'
++case "$host_os" in
++ aix3*)
++ ;;
++ aix4* | aix5*)
++ ;;
++ amigaos*)
++ ;;
++ beos*)
++ ;;
++ bsdi4*)
++ ;;
++ cygwin* | mingw* | pw32*)
++ shrext=.dll
++ ;;
++ darwin* | rhapsody*)
++ shrext=.dylib
++ ;;
++ dgux*)
++ ;;
++ freebsd1*)
++ ;;
++ freebsd*)
++ ;;
++ gnu*)
++ ;;
++ hpux9* | hpux10* | hpux11*)
++ case "$host_cpu" in
++ ia64*)
++ shrext=.so
++ ;;
++ hppa*64*)
++ shrext=.sl
++ ;;
++ *)
++ shrext=.sl
++ ;;
++ esac
++ ;;
++ irix5* | irix6* | nonstopux*)
++ case "$host_os" in
++ irix5* | nonstopux*)
++ libsuff= shlibsuff=
++ ;;
++ *)
++ case $LD in
++ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
++ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
++ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
++ *) libsuff= shlibsuff= ;;
++ esac
++ ;;
++ esac
++ ;;
++ linux*oldld* | linux*aout* | linux*coff*)
++ ;;
++ linux*)
++ ;;
++ netbsd*)
++ ;;
++ newsos6)
++ ;;
++ nto-qnx)
++ ;;
++ openbsd*)
++ ;;
++ os2*)
++ libname_spec='$name'
++ shrext=.dll
++ ;;
++ osf3* | osf4* | osf5*)
++ ;;
++ sco3.2v5*)
++ ;;
++ solaris*)
++ ;;
++ sunos4*)
++ ;;
++ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
++ ;;
++ sysv4*MP*)
++ ;;
++ uts4*)
++ ;;
++esac
++
++sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
++escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
++shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
++escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
++
++sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
++
++# How to pass a linker flag through the compiler.
++wl="$escaped_wl"
++
++# Static library suffix (normally "a").
++libext="$libext"
++
++# Shared library suffix (normally "so").
++shlibext="$shlibext"
++
++# Flag to hardcode \$libdir into a binary during linking.
++# This must work even if \$libdir does not exist.
++hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
++
++# Whether we need a single -rpath flag with a separated argument.
++hardcode_libdir_separator="$hardcode_libdir_separator"
++
++# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
++# resulting binary.
++hardcode_direct="$hardcode_direct"
++
++# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
++# resulting binary.
++hardcode_minus_L="$hardcode_minus_L"
++
++EOF
+--- lrzsz-0.12.20.safe/configure.in 2004-09-12 14:39:55.161706488 -0400
++++ lrzsz-0.12.20/configure.in 2004-09-12 14:40:35.816526016 -0400
+@@ -260,11 +260,10 @@
+ AM_GNU_GETTEXT
+
+ AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME")
+-AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
+
+-AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile \
++AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile m4/Makefile \
+ man/Makefile po/Makefile.in src/Makefile debian/rules Specfile systype \
+ src/lrzszbug],
+-[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile;
++[
+ chmod +x debian/rules;
+ test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])
+--- lrzsz-0.12.20.safe/intl/bindtextdom.c 1998-04-26 09:22:36.000000000 -0400
++++ lrzsz-0.12.20/intl/bindtextdom.c 2004-09-12 14:40:34.343749912 -0400
+@@ -1,59 +1,75 @@
+ /* Implementation of the bindtextdomain(3) function
+- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
++ Copyright (C) 1995-1998, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
+-#if defined STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-#else
+-# ifdef HAVE_MALLOC_H
+-# include <malloc.h>
+-# else
+-void free ();
+-# endif
+-#endif
++#include <stddef.h>
++#include <stdlib.h>
++#include <string.h>
+
+-#if defined HAVE_STRING_H || defined _LIBC
+-# include <string.h>
++#ifdef _LIBC
++# include <libintl.h>
+ #else
+-# include <strings.h>
+-# ifndef memcpy
+-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
+-# endif
++# include "libgnuintl.h"
+ #endif
++#include "gettextP.h"
+
+ #ifdef _LIBC
+-# include <libintl.h>
++/* We have to handle multi-threaded applications. */
++# include <bits/libc-lock.h>
+ #else
+-# include "libgettext.h"
++/* Provide dummy implementation if this is outside glibc. */
++# define __libc_rwlock_define(CLASS, NAME)
++# define __libc_rwlock_wrlock(NAME)
++# define __libc_rwlock_unlock(NAME)
++#endif
++
++/* The internal variables in the standalone libintl.a must have different
++ names than the internal variables in GNU libc, otherwise programs
++ using libintl.a cannot be linked statically. */
++#if !defined _LIBC
++# define _nl_default_dirname libintl_nl_default_dirname
++# define _nl_domain_bindings libintl_nl_domain_bindings
++#endif
++
++/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */
++#ifndef offsetof
++# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
+ #endif
+-#include "gettext.h"
+-#include "gettextP.h"
+
+ /* @@ end of prolog @@ */
+
+ /* Contains the default location of the message catalogs. */
+ extern const char _nl_default_dirname[];
++#ifdef _LIBC
++extern const char _nl_default_dirname_internal[] attribute_hidden;
++#else
++# define INTUSE(name) name
++#endif
+
+ /* List with bindings of specific domains. */
+ extern struct binding *_nl_domain_bindings;
+
++/* Lock variable to protect the global data in the gettext implementation. */
++__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
++
+
+ /* Names for the libintl functions are a problem. They must not clash
+ with existing names and they should follow ANSI C. But this source
+@@ -61,23 +77,41 @@
+ prefix. So we have to make a difference here. */
+ #ifdef _LIBC
+ # define BINDTEXTDOMAIN __bindtextdomain
+-# define strdup(str) __strdup (str)
++# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset
++# ifndef strdup
++# define strdup(str) __strdup (str)
++# endif
+ #else
+-# define BINDTEXTDOMAIN bindtextdomain__
++# define BINDTEXTDOMAIN libintl_bindtextdomain
++# define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset
+ #endif
+
+-/* Specify that the DOMAINNAME message catalog will be found
+- in DIRNAME rather than in the system locale data base. */
+-char *
+-BINDTEXTDOMAIN (domainname, dirname)
+- const char *domainname;
+- const char *dirname;
++/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP
++ to be used for the DOMAINNAME message catalog.
++ If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
++ modified, only the current value is returned.
++ If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither
++ modified nor returned. */
++static void
++set_binding_values (const char *domainname,
++ const char **dirnamep, const char **codesetp)
+ {
+ struct binding *binding;
++ int modified;
+
+ /* Some sanity checks. */
+ if (domainname == NULL || domainname[0] == '\0')
+- return NULL;
++ {
++ if (dirnamep)
++ *dirnamep = NULL;
++ if (codesetp)
++ *codesetp = NULL;
++ return;
++ }
++
++ __libc_rwlock_wrlock (_nl_state_lock);
++
++ modified = 0;
+
+ for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
+ {
+@@ -93,81 +127,173 @@
+ }
+ }
+
+- if (dirname == NULL)
+- /* The current binding has be to returned. */
+- return binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
+-
+ if (binding != NULL)
+ {
+- /* The domain is already bound. If the new value and the old
+- one are equal we simply do nothing. Otherwise replace the
+- old binding. */
+- if (strcmp (dirname, binding->dirname) != 0)
++ if (dirnamep)
+ {
+- char *new_dirname;
++ const char *dirname = *dirnamep;
+
+- if (strcmp (dirname, _nl_default_dirname) == 0)
+- new_dirname = (char *) _nl_default_dirname;
++ if (dirname == NULL)
++ /* The current binding has be to returned. */
++ *dirnamep = binding->dirname;
+ else
+ {
++ /* The domain is already bound. If the new value and the old
++ one are equal we simply do nothing. Otherwise replace the
++ old binding. */
++ char *result = binding->dirname;
++ if (strcmp (dirname, result) != 0)
++ {
++ if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
++ result = (char *) INTUSE(_nl_default_dirname);
++ else
++ {
+ #if defined _LIBC || defined HAVE_STRDUP
+- new_dirname = strdup (dirname);
+- if (new_dirname == NULL)
+- return NULL;
++ result = strdup (dirname);
+ #else
+- size_t len = strlen (dirname) + 1;
+- new_dirname = (char *) malloc (len);
+- if (new_dirname == NULL)
+- return NULL;
+-
+- memcpy (new_dirname, dirname, len);
++ size_t len = strlen (dirname) + 1;
++ result = (char *) malloc (len);
++ if (__builtin_expect (result != NULL, 1))
++ memcpy (result, dirname, len);
+ #endif
++ }
++
++ if (__builtin_expect (result != NULL, 1))
++ {
++ if (binding->dirname != INTUSE(_nl_default_dirname))
++ free (binding->dirname);
++
++ binding->dirname = result;
++ modified = 1;
++ }
++ }
++ *dirnamep = result;
+ }
++ }
+
+- if (binding->dirname != _nl_default_dirname)
+- free (binding->dirname);
++ if (codesetp)
++ {
++ const char *codeset = *codesetp;
+
+- binding->dirname = new_dirname;
++ if (codeset == NULL)
++ /* The current binding has be to returned. */
++ *codesetp = binding->codeset;
++ else
++ {
++ /* The domain is already bound. If the new value and the old
++ one are equal we simply do nothing. Otherwise replace the
++ old binding. */
++ char *result = binding->codeset;
++ if (result == NULL || strcmp (codeset, result) != 0)
++ {
++#if defined _LIBC || defined HAVE_STRDUP
++ result = strdup (codeset);
++#else
++ size_t len = strlen (codeset) + 1;
++ result = (char *) malloc (len);
++ if (__builtin_expect (result != NULL, 1))
++ memcpy (result, codeset, len);
++#endif
++
++ if (__builtin_expect (result != NULL, 1))
++ {
++ if (binding->codeset != NULL)
++ free (binding->codeset);
++
++ binding->codeset = result;
++ binding->codeset_cntr++;
++ modified = 1;
++ }
++ }
++ *codesetp = result;
++ }
+ }
+ }
++ else if ((dirnamep == NULL || *dirnamep == NULL)
++ && (codesetp == NULL || *codesetp == NULL))
++ {
++ /* Simply return the default values. */
++ if (dirnamep)
++ *dirnamep = INTUSE(_nl_default_dirname);
++ if (codesetp)
++ *codesetp = NULL;
++ }
+ else
+ {
+ /* We have to create a new binding. */
+- size_t len;
++ size_t len = strlen (domainname) + 1;
+ struct binding *new_binding =
+- (struct binding *) malloc (sizeof (*new_binding));
++ (struct binding *) malloc (offsetof (struct binding, domainname) + len);
+
+- if (new_binding == NULL)
+- return NULL;
++ if (__builtin_expect (new_binding == NULL, 0))
++ goto failed;
+
++ memcpy (new_binding->domainname, domainname, len);
++
++ if (dirnamep)
++ {
++ const char *dirname = *dirnamep;
++
++ if (dirname == NULL)
++ /* The default value. */
++ dirname = INTUSE(_nl_default_dirname);
++ else
++ {
++ if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
++ dirname = INTUSE(_nl_default_dirname);
++ else
++ {
++ char *result;
+ #if defined _LIBC || defined HAVE_STRDUP
+- new_binding->domainname = strdup (domainname);
+- if (new_binding->domainname == NULL)
+- return NULL;
++ result = strdup (dirname);
++ if (__builtin_expect (result == NULL, 0))
++ goto failed_dirname;
+ #else
+- len = strlen (domainname) + 1;
+- new_binding->domainname = (char *) malloc (len);
+- if (new_binding->domainname == NULL)
+- return NULL;
+- memcpy (new_binding->domainname, domainname, len);
++ size_t len = strlen (dirname) + 1;
++ result = (char *) malloc (len);
++ if (__builtin_expect (result == NULL, 0))
++ goto failed_dirname;
++ memcpy (result, dirname, len);
+ #endif
+-
+- if (strcmp (dirname, _nl_default_dirname) == 0)
+- new_binding->dirname = (char *) _nl_default_dirname;
++ dirname = result;
++ }
++ }
++ *dirnamep = dirname;
++ new_binding->dirname = (char *) dirname;
++ }
+ else
++ /* The default value. */
++ new_binding->dirname = (char *) INTUSE(_nl_default_dirname);
++
++ new_binding->codeset_cntr = 0;
++
++ if (codesetp)
+ {
++ const char *codeset = *codesetp;
++
++ if (codeset != NULL)
++ {
++ char *result;
++
+ #if defined _LIBC || defined HAVE_STRDUP
+- new_binding->dirname = strdup (dirname);
+- if (new_binding->dirname == NULL)
+- return NULL;
++ result = strdup (codeset);
++ if (__builtin_expect (result == NULL, 0))
++ goto failed_codeset;
+ #else
+- len = strlen (dirname) + 1;
+- new_binding->dirname = (char *) malloc (len);
+- if (new_binding->dirname == NULL)
+- return NULL;
+- memcpy (new_binding->dirname, dirname, len);
++ size_t len = strlen (codeset) + 1;
++ result = (char *) malloc (len);
++ if (__builtin_expect (result == NULL, 0))
++ goto failed_codeset;
++ memcpy (result, codeset, len);
+ #endif
++ codeset = result;
++ new_binding->codeset_cntr++;
++ }
++ *codesetp = codeset;
++ new_binding->codeset = (char *) codeset;
+ }
++ else
++ new_binding->codeset = NULL;
+
+ /* Now enqueue it. */
+ if (_nl_domain_bindings == NULL
+@@ -187,13 +313,51 @@
+ binding->next = new_binding;
+ }
+
+- binding = new_binding;
++ modified = 1;
++
++ /* Here we deal with memory allocation failures. */
++ if (0)
++ {
++ failed_codeset:
++ if (new_binding->dirname != INTUSE(_nl_default_dirname))
++ free (new_binding->dirname);
++ failed_dirname:
++ free (new_binding);
++ failed:
++ if (dirnamep)
++ *dirnamep = NULL;
++ if (codesetp)
++ *codesetp = NULL;
++ }
+ }
+
+- return binding->dirname;
++ /* If we modified any binding, we flush the caches. */
++ if (modified)
++ ++_nl_msg_cat_cntr;
++
++ __libc_rwlock_unlock (_nl_state_lock);
++}
++
++/* Specify that the DOMAINNAME message catalog will be found
++ in DIRNAME rather than in the system locale data base. */
++char *
++BINDTEXTDOMAIN (const char *domainname, const char *dirname)
++{
++ set_binding_values (domainname, &dirname, NULL);
++ return (char *) dirname;
++}
++
++/* Specify the character encoding in which the messages from the
++ DOMAINNAME message catalog will be returned. */
++char *
++BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset)
++{
++ set_binding_values (domainname, NULL, &codeset);
++ return (char *) codeset;
+ }
+
+ #ifdef _LIBC
+-/* Alias for function name in GNU C Library. */
++/* Aliases for function names in GNU C Library. */
+ weak_alias (__bindtextdomain, bindtextdomain);
++weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset);
+ #endif
+--- lrzsz-0.12.20.safe/intl/cat-compat.c 1998-04-26 09:22:37.000000000 -0400
++++ lrzsz-0.12.20/intl/cat-compat.c 1969-12-31 19:00:00.000000000 -0500
+@@ -1,262 +0,0 @@
+-/* Compatibility code for gettext-using-catgets interface.
+- Copyright (C) 1995, 1997 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 2, or (at your option)
+- any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+-
+-#ifdef HAVE_CONFIG_H
+-# include <config.h>
+-#endif
+-
+-#include <stdio.h>
+-
+-#ifdef STDC_HEADERS
+-# include <stdlib.h>
+-# include <string.h>
+-#else
+-char *getenv ();
+-# ifdef HAVE_MALLOC_H
+-# include <malloc.h>
+-# endif
+-#endif
+-
+-#ifdef HAVE_NL_TYPES_H
+-# include <nl_types.h>
+-#endif
+-
+-#include "libgettext.h"
+-
+-/* @@ end of prolog @@ */
+-
+-/* XPG3 defines the result of `setlocale (category, NULL)' as:
+- ``Directs `setlocale()' to query `category' and return the current
+- setting of `local'.''
+- However it does not specify the exact format. And even worse: POSIX
+- defines this not at all. So we can use this feature only on selected
+- system (e.g. those using GNU C Library). */
+-#ifdef _LIBC
+-# define HAVE_LOCALE_NULL
+-#endif
+-
+-/* The catalog descriptor. */
+-static nl_catd catalog = (nl_catd) -1;
+-
+-/* Name of the default catalog. */
+-static const char default_catalog_name[] = "messages";
+-
+-/* Name of currently used catalog. */
+-static const char *catalog_name = default_catalog_name;
+-
+-/* Get ID for given string. If not found return -1. */
+-static int msg_to_cat_id PARAMS ((const char *msg));
+-
+-/* Substitution for systems lacking this function in their C library. */
+-#if !_LIBC && !HAVE_STPCPY
+-static char *stpcpy PARAMS ((char *dest, const char *src));
+-#endif
+-
+-
+-/* Set currently used domain/catalog. */
+-char *
+-textdomain (domainname)
+- const char *domainname;
+-{
+- nl_catd new_catalog;
+- char *new_name;
+- size_t new_name_len;
+- char *lang;
+-
+-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \
+- && defined HAVE_LOCALE_NULL
+- lang = setlocale (LC_MESSAGES, NULL);
+-#else
+- lang = getenv ("LC_ALL");
+- if (lang == NULL || lang[0] == '\0')
+- {
+- lang = getenv ("LC_MESSAGES");
+- if (lang == NULL || lang[0] == '\0')
+- lang = getenv ("LANG");
+- }
+-#endif
+- if (lang == NULL || lang[0] == '\0')
+- lang = "C";
+-
+- /* See whether name of currently used domain is asked. */
+- if (domainname == NULL)
+- return (char *) catalog_name;
+-
+- if (domainname[0] == '\0')
+- domainname = default_catalog_name;
+-
+- /* Compute length of added path element. */
+- new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang)
+- + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1
+- + sizeof (".cat");
+-
+- new_name = (char *) malloc (new_name_len);
+- if (new_name == NULL)
+- return NULL;
+-
+- strcpy (new_name, PACKAGE);
+- new_catalog = catopen (new_name, 0);
+-
+- if (new_catalog == (nl_catd) -1)
+- {
+- /* NLSPATH search didn't work, try absolute path */
+- sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang,
+- PACKAGE);
+- new_catalog = catopen (new_name, 0);
+-
+- if (new_catalog == (nl_catd) -1)
+- {
+- free (new_name);
+- return (char *) catalog_name;
+- }
+- }
+-
+- /* Close old catalog. */
+- if (catalog != (nl_catd) -1)
+- catclose (catalog);
+- if (catalog_name != default_catalog_name)
+- free ((char *) catalog_name);
+-
+- catalog = new_catalog;
+- catalog_name = new_name;
+-
+- return (char *) catalog_name;
+-}
+-
+-char *
+-bindtextdomain (domainname, dirname)
+- const char *domainname;
+- const char *dirname;
+-{
+-#if HAVE_SETENV || HAVE_PUTENV
+- char *old_val, *new_val, *cp;
+- size_t new_val_len;
+-
+- /* This does not make much sense here but to be compatible do it. */
+- if (domainname == NULL)
+- return NULL;
+-
+- /* Compute length of added path element. If we use setenv we don't need
+- the first byts for NLSPATH=, but why complicate the code for this
+- peanuts. */
+- new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname)
+- + sizeof ("/%L/LC_MESSAGES/%N.cat");
+-
+- old_val = getenv ("NLSPATH");
+- if (old_val == NULL || old_val[0] == '\0')
+- {
+- old_val = NULL;
+- new_val_len += 1 + sizeof (LOCALEDIR) - 1
+- + sizeof ("/%L/LC_MESSAGES/%N.cat");
+- }
+- else
+- new_val_len += strlen (old_val);
+-
+- new_val = (char *) malloc (new_val_len);
+- if (new_val == NULL)
+- return NULL;
+-
+-# if HAVE_SETENV
+- cp = new_val;
+-# else
+- cp = stpcpy (new_val, "NLSPATH=");
+-# endif
+-
+- cp = stpcpy (cp, dirname);
+- cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:");
+-
+- if (old_val == NULL)
+- {
+-# if __STDC__
+- stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat");
+-# else
+-
+- cp = stpcpy (cp, LOCALEDIR);
+- stpcpy (cp, "/%L/LC_MESSAGES/%N.cat");
+-# endif
+- }
+- else
+- stpcpy (cp, old_val);
+-
+-# if HAVE_SETENV
+- setenv ("NLSPATH", new_val, 1);
+- free (new_val);
+-# else
+- putenv (new_val);
+- /* Do *not* free the environment entry we just entered. It is used
+- from now on. */
+-# endif
+-
+-#endif
+-
+- return (char *) domainname;
+-}
+-
+-#undef gettext
+-char *
+-gettext (msg)
+- const char *msg;
+-{
+- int msgid;
+-
+- if (msg == NULL || catalog == (nl_catd) -1)
+- return (char *) msg;
+-
+- /* Get the message from the catalog. We always use set number 1.
+- The message ID is computed by the function `msg_to_cat_id'
+- which works on the table generated by `po-to-tbl'. */
+- msgid = msg_to_cat_id (msg);
+- if (msgid == -1)
+- return (char *) msg;
+-
+- return catgets (catalog, 1, msgid, (char *) msg);
+-}
+-
+-/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries
+- for the one equal to msg. If it is found return the ID. In case when
+- the string is not found return -1. */
+-static int
+-msg_to_cat_id (msg)
+- const char *msg;
+-{
+- int cnt;
+-
+- for (cnt = 0; cnt < _msg_tbl_length; ++cnt)
+- if (strcmp (msg, _msg_tbl[cnt]._msg) == 0)
+- return _msg_tbl[cnt]._msg_number;
+-
+- return -1;
+-}
+-
+-
+-/* @@ begin of epilog @@ */
+-
+-/* We don't want libintl.a to depend on any other library. So we
+- avoid the non-standard function stpcpy. In GNU C Library this
+- function is available, though. Also allow the symbol HAVE_STPCPY
+- to be defined. */
+-#if !_LIBC && !HAVE_STPCPY
+-static char *
+-stpcpy (dest, src)
+- char *dest;
+- const char *src;
+-{
+- while ((*dest++ = *src++) != '\0')
+- /* Do nothing. */ ;
+- return dest - 1;
+-}
+-#endif
+--- lrzsz-0.12.20.safe/intl/ChangeLog 1998-04-26 09:22:35.000000000 -0400
++++ lrzsz-0.12.20/intl/ChangeLog 2004-09-12 14:40:34.349749000 -0400
+@@ -1,1022 +1,4 @@
+-1997-09-06 02:10 Ulrich Drepper <drepper@cygnus.com>
+-
+- * intlh.inst.in: Reformat copyright.
+-
+-1997-08-19 15:22 Ulrich Drepper <drepper@cygnus.com>
+-
+- * dcgettext.c (DCGETTEXT): Remove wrong comment.
+-
+-1997-08-16 00:13 Ulrich Drepper <drepper@cygnus.com>
+-
+- * Makefile.in (install-data): Don't change directory to install.
+-
+-1997-08-01 14:30 Ulrich Drepper <drepper@cygnus.com>
+-
+- * cat-compat.c: Fix copyright.
+-
+- * localealias.c: Don't define strchr unless !HAVE_STRCHR.
+-
+- * loadmsgcat.c: Update copyright. Fix typos.
+-
+- * l10nflist.c: Don't define strchr unless !HAVE_STRCHR.
+- (_nl_make_l10nflist): Handle sponsor and revision correctly.
+-
+- * gettext.c: Update copyright.
+- * gettext.h: Likewise.
+- * hash-string.h: Likewise.
+-
+- * finddomain.c: Remoave dead code. Define strchr only if
+- !HAVE_STRCHR.
+-
+- * explodename.c: Include <sys/types.h>.
+-
+- * explodename.c: Reformat copyright text.
+- (_nl_explode_name): Fix typo.
+-
+- * dcgettext.c: Define and use __set_errno.
+- (guess_category_value): Don't use setlocale if HAVE_LC_MESSAGES is
+- not defined.
+-
+- * bindtextdom.c: Pretty printing.
+-
+-1997-05-01 02:25 Ulrich Drepper <drepper@cygnus.com>
+-
+- * dcgettext.c (guess_category_value): Don't depend on
+- HAVE_LC_MESSAGES. We don't need the macro here.
+- Patch by Bruno Haible <haible@ilog.fr>.
+-
+- * cat-compat.c (textdomain): DoN't refer to HAVE_SETLOCALE_NULL
+- macro. Instead use HAVE_LOCALE_NULL and define it when using
+- glibc, as in dcgettext.c.
+- Patch by Bruno Haible <haible@ilog.fr>.
+-
+- * Makefile.in (CPPFLAGS): New variable. Reported by Franc,ois
+- Pinard.
+-
+-Mon Mar 10 06:51:17 1997 Ulrich Drepper <drepper@cygnus.com>
+-
+- * Makefile.in: Implement handling of libtool.
+-
+- * gettextP.h: Change data structures for use of generic lowlevel
+- i18n file handling.
+-
+-Wed Dec 4 20:21:18 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * textdomain.c: Put parentheses around arguments of memcpy macro
+- definition.
+- * localealias.c: Likewise.
+- * l10nflist.c: Likewise.
+- * finddomain.c: Likewise.
+- * bindtextdom.c: Likewise.
+- Reported by Thomas Esken.
+-
+-Mon Nov 25 22:57:51 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * textdomain.c: Move definition of `memcpy` macro to right
+- position.
+-
+-Fri Nov 22 04:01:58 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * finddomain.c [!HAVE_STRING_H && !_LIBC]: Define memcpy using
+- bcopy if not already defined. Reported by Thomas Esken.
+- * bindtextdom.c: Likewise.
+- * l10nflist.c: Likewise.
+- * localealias.c: Likewise.
+- * textdomain.c: Likewise.
+-
+-Tue Oct 29 11:10:27 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * Makefile.in (libdir): Change to use exec_prefix instead of
+- prefix. Reported by Knut-HåvardAksnes <etokna@eto.ericsson.se>.
+-
+-Sat Aug 31 03:07:09 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * l10nflist.c (_nl_normalize_codeset): We convert to lower case,
+- so don't prepend uppercase `ISO' for only numeric arg.
+-
+-Fri Jul 19 00:15:46 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * l10nflist.c: Move inclusion of argz.h, ctype.h, stdlib.h after
+- definition of _GNU_SOURCE. Patch by Roland McGrath.
+-
+- * Makefile.in (uninstall): Fix another bug with `for' loop and
+- empty arguments. Patch by Jim Meyering. Correct name os
+- uninstalled files: no intl- prefix anymore.
+-
+- * Makefile.in (install-data): Again work around shells which
+- cannot handle mpty for list. Reported by Jim Meyering.
+-
+-Sat Jul 13 18:11:35 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * Makefile.in (install): Split goal. Now depend on install-exec
+- and install-data.
+- (install-exec, install-data): New goals. Created from former
+- install goal.
+- Reported by Karl Berry.
+-
+-Sat Jun 22 04:58:14 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * Makefile.in (MKINSTALLDIRS): New variable. Path to
+- mkinstalldirs script.
+- (install): use MKINSTALLDIRS variable or if the script is not present
+- try to find it in the $top_scrdir).
+-
+-Wed Jun 19 02:56:56 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * l10nflist.c: Linux libc *partly* includes the argz_* functions.
+- Grr. Work around by renaming the static version and use macros
+- for renaming.
+-
+-Tue Jun 18 20:11:17 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * l10nflist.c: Correct presence test macros of __argz_* functions.
+-
+- * l10nflist.c: Include <argz.h> based on test of it instead when
+- __argz_* functions are available.
+- Reported by Andreas Schwab.
+-
+-Thu Jun 13 15:17:44 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * explodename.c, l10nflist.c: Define NULL for dumb systems.
+-
+-Tue Jun 11 17:05:13 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * intlh.inst.in, libgettext.h (dcgettext): Rename local variable
+- result to __result to prevent name clash.
+-
+- * l10nflist.c, localealias.c, dcgettext.c: Define _GNU_SOURCE to
+- get prototype for stpcpy and strcasecmp.
+-
+- * intlh.inst.in, libgettext.h: Move declaration of
+- `_nl_msg_cat_cntr' outside __extension__ block to prevent warning
+- from gcc's -Wnested-extern option.
+-
+-Fri Jun 7 01:58:00 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * Makefile.in (install): Remove comment.
+-
+-Thu Jun 6 17:28:17 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * Makefile.in (install): Work around for another Buglix stupidity.
+- Always use an `else' close for `if's. Reported by Nelson Beebe.
+-
+- * Makefile.in (intlh.inst): Correct typo in phony rule.
+- Reported by Nelson Beebe.
+-
+-Thu Jun 6 01:49:52 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * dcgettext.c (read_alias_file): Rename variable alloca_list to
+- block_list as the macro calls assume.
+- Patch by Eric Backus.
+-
+- * localealias.c [!HAVE_ALLOCA]: Define alloca as macro using
+- malloc.
+- (read_alias_file): Rename varriabe alloca_list to block_list as the
+- macro calls assume.
+- Patch by Eric Backus.
+-
+- * l10nflist.c: Correct conditional for <argz.h> inclusion.
+- Reported by Roland McGrath.
+-
+- * Makefile.in (all): Depend on all-@USE_INCLUDED_LIBINTL@, not
+- all-@USE_NLS@.
+-
+- * Makefile.in (install): intlh.inst comes from local dir, not
+- $(srcdir).
+-
+- * Makefile.in (intlh.inst): Special handling of this goal. If
+- used in gettext, this is really a rul to construct this file. If
+- used in any other package it is defined as a .PHONY rule with
+- empty body.
+-
+- * finddomain.c: Extract locale file information handling into
+- l10nfile.c. Rename local stpcpy__ function to stpcpy.
+-
+- * dcgettext.c (stpcpy): Add local definition.
+-
+- * l10nflist.c: Solve some portability problems. Patches partly by
+- Thomas Esken. Add local definition of stpcpy.
+-
+-Tue Jun 4 02:47:49 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * intlh.inst.in: Don't depend including <locale.h> on
+- HAVE_LOCALE_H. Instead configure must rewrite this fiile
+- depending on the result of the configure run.
+-
+- * Makefile.in (install): libintl.inst is now called intlh.inst.
+- Add rules for updating intlh.inst from intlh.inst.in.
+-
+- * libintl.inst: Renamed to intlh.inst.in.
+-
+- * localealias.c, dcgettext.c [__GNUC__]: Define HAVE_ALLOCA to 1
+- because gcc has __buitlin_alloca.
+- Reported by Roland McGrath.
+-
+-Mon Jun 3 00:32:16 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * Makefile.in (installcheck): New goal to fulfill needs of
+- automake's distcheck.
+-
+- * Makefile.in (install): Reorder commands so that VERSION is
+- found.
+-
+- * Makefile.in (gettextsrcdir): Now use subdirectory intl/ in
+- @datadir@/gettext.
+- (COMSRCS): Add l10nfile.c.
+- (OBJECTS): Add l10nfile.o.
+- (DISTFILES): Rename to DISTFILE.normal. Remove $(DISTFILES.common).
+- (DISTFILE.gettext): Remove $(DISTFILES.common).
+- (all-gettext): Remove goal.
+- (install): If $(PACKAGE) = gettext install, otherwose do nothing. No
+- package but gettext itself should install libintl.h + headers.
+- (dist): Extend goal to work for gettext, too.
+- (dist-gettext): Remove goal.
+-
+- * dcgettext.c [!HAVE_ALLOCA]: Define macro alloca by using malloc.
+-
+-Sun Jun 2 17:33:06 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * loadmsgcat.c (_nl_load_domain): Parameter is now comes from
+- find_l10nfile.
+-
+-Sat Jun 1 02:23:03 1996 Ulrich Drepper <drepper@cygnus.com>
+-
+- * l10nflist.c (__argz_next): Add definition.
+-
+- * dcgettext.c [!HAVE_ALLOCA]: Add code for handling missing alloca
+- code. Use new l10nfile handling.
+-
+- * localealias.c [!HAVE_ALLOCA]: Add code for handling missing
+- alloca code.
+-
+- * l10nflist.c: Initial revision.
+-
+-Tue Apr 2 18:51:18 1996 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (all-gettext): New goal. Same as all-yes.
+-
+-Thu Mar 28 23:01:22 1996 Karl Eichwalder <ke@ke.central.de>
+-
+- * Makefile.in (gettextsrcdir): Define using @datadir@.
+-
+-Tue Mar 26 12:39:14 1996 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c: Include <ctype.h>. Reported by Roland McGrath.
+-
+-Sat Mar 23 02:00:35 1996 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c (stpcpy): Rename to stpcpy__ to prevent clashing
+- with external declaration.
+-
+-Sat Mar 2 00:47:09 1996 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (all-no): Rename from all_no.
+-
+-Sat Feb 17 00:25:59 1996 Ulrich Drepper <drepper@myware>
+-
+- * gettextP.h [loaded_domain]: Array `successor' must now contain up
+- to 63 elements (because of codeset name normalization).
+-
+- * finddomain.c: Implement codeset name normalization.
+-
+-Thu Feb 15 04:39:09 1996 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (all): Define to `all-@USE_NLS@'.
+- (all-yes, all_no): New goals. `all-no' is noop, `all-yes'
+- is former all.
+-
+-Mon Jan 15 21:46:01 1996 Howard Gayle <howard@hal.com>
+-
+- * localealias.c (alias_compare): Increment string pointers in loop
+- of strcasecmp replacement.
+-
+-Fri Dec 29 21:16:34 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (install-src): Who commented this goal out ? :-)
+-
+-Fri Dec 29 15:08:16 1995 Ulrich Drepper <drepper@myware>
+-
+- * dcgettext.c (DCGETTEXT): Save `errno'. Failing system calls
+- should not effect it because a missing catalog is no error.
+- Reported by Harald K<o:>nig <koenig@tat.physik.uni-tuebingen.de>.
+-
+-Tue Dec 19 22:09:13 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (Makefile): Explicitly use $(SHELL) for running
+- shell scripts.
+-
+-Fri Dec 15 17:34:59 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+-
+- * Makefile.in (install-src): Only install library and header when
+- we use the own implementation. Don't do it when using the
+- system's gettext or catgets functions.
+-
+- * dcgettext.c (find_msg): Must not swap domain->hash_size here.
+-
+-Sat Dec 9 16:24:37 1995 Ulrich Drepper <drepper@myware>
+-
+- * localealias.c, libintl.inst, libgettext.h, hash-string.h,
+- gettextP.h, finddomain.c, dcgettext.c, cat-compat.c:
+- Use PARAMS instead of __P. Suggested by Roland McGrath.
+-
+-Tue Dec 5 11:39:14 1995 Larry Schwimmer <rosebud@cyclone.stanford.edu>
+-
+- * libgettext.h: Use `#if !defined (_LIBINTL_H)' instead of `#if
+- !_LIBINTL_H' because Solaris defines _LIBINTL_H as empty.
+-
+-Mon Dec 4 15:42:07 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (install-src):
+- Install libintl.inst instead of libintl.h.install.
+-
+-Sat Dec 2 22:51:38 1995 Marcus Daniels <marcus@sysc.pdx.edu>
+-
+- * cat-compat.c (textdomain):
+- Reverse order in which files are tried you load. First
+- try local file, when this failed absolute path.
+-
+-Wed Nov 29 02:03:53 1995 Nelson H. F. Beebe <beebe@math.utah.edu>
+-
+- * cat-compat.c (bindtextdomain): Add missing { }.
+-
+-Sun Nov 26 18:21:41 1995 Ulrich Drepper <drepper@myware>
+-
+- * libintl.inst: Add missing __P definition. Reported by Nelson Beebe.
+-
+- * Makefile.in:
+- Add dummy `all' and `dvi' goals. Reported by Tom Tromey.
+-
+-Sat Nov 25 16:12:01 1995 Franc,ois Pinard <pinard@iro.umontreal.ca>
+-
+- * hash-string.h: Capitalize arguments of macros.
+-
+-Sat Nov 25 12:01:36 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (DISTFILES): Prevent files names longer than 13
+- characters. libintl.h.glibc->libintl.glibc,
+- libintl.h.install->libintl.inst. Reported by Joshua R. Poulson.
+-
+-Sat Nov 25 11:31:12 1995 Eric Backus <ericb@lsid.hp.com>
+-
+- * dcgettext.c: Fix bug in preprocessor conditionals.
+-
+-Sat Nov 25 02:35:27 1995 Nelson H. F. Beebe <beebe@math.utah.edu>
+-
+- * libgettext.h: Solaris cc does not understand
+- #if !SYMBOL1 && !SYMBOL2. Sad but true.
+-
+-Thu Nov 23 16:22:14 1995 Ulrich Drepper <drepper@myware>
+-
+- * hash-string.h (hash_string):
+- Fix for machine with >32 bit `unsigned long's.
+-
+- * dcgettext.c (DCGETTEXT):
+- Fix horrible bug in loop for alternative translation.
+-
+-Thu Nov 23 01:45:29 1995 Ulrich Drepper <drepper@myware>
+-
+- * po2tbl.sed.in, linux-msg.sed, xopen-msg.sed:
+- Some further simplifications in message number generation.
+-
+-Mon Nov 20 21:08:43 1995 Ulrich Drepper <drepper@myware>
+-
+- * libintl.h.glibc: Use __const instead of const in prototypes.
+-
+- * Makefile.in (install-src):
+- Install libintl.h.install instead of libintl.h. This
+- is a stripped-down version. Suggested by Peter Miller.
+-
+- * libintl.h.install, libintl.h.glibc: Initial revision.
+-
+- * localealias.c (_nl_expand_alias, read_alias_file):
+- Protect prototypes in type casts by __P.
+-
+-Tue Nov 14 16:43:58 1995 Ulrich Drepper <drepper@myware>
+-
+- * hash-string.h: Correct prototype for hash_string.
+-
+-Sun Nov 12 12:42:30 1995 Ulrich Drepper <drepper@myware>
+-
+- * hash-string.h (hash_string): Add prototype.
+-
+- * gettextP.h: Fix copyright.
+- (SWAP): Add prototype.
+-
+-Wed Nov 8 22:56:33 1995 Ulrich Drepper <drepper@myware>
+-
+- * localealias.c (read_alias_file): Forgot sizeof.
+- Avoid calling *printf function. This introduces a big overhead.
+- Patch by Roland McGrath.
+-
+-Tue Nov 7 14:21:08 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c, cat-compat.c: Wrong indentation in #if for stpcpy.
+-
+- * finddomain.c (stpcpy):
+- Define substitution function local. The macro was to flaky.
+-
+- * cat-compat.c: Fix typo.
+-
+- * xopen-msg.sed, linux-msg.sed:
+- While bringing message number to right place only accept digits.
+-
+- * linux-msg.sed, xopen-msg.sed: Now that the counter does not have
+- leading 0s we don't need to remove them. Reported by Marcus
+- Daniels.
+-
+- * Makefile.in (../po/cat-id-tbl.o): Use $(top_srdir) in
+- dependency. Reported by Marcus Daniels.
+-
+- * cat-compat.c: (stpcpy) [!_LIBC && !HAVE_STPCPY]: Define replacement.
+- Generally cleanup using #if instead of #ifndef.
+-
+- * Makefile.in: Correct typos in comment. By Franc,ois Pinard.
+-
+-Mon Nov 6 00:27:02 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (install-src): Don't install libintl.h and libintl.a
+- if we use an available gettext implementation.
+-
+-Sun Nov 5 22:02:08 1995 Ulrich Drepper <drepper@myware>
+-
+- * libgettext.h: Fix typo: HAVE_CATGETTS -> HAVE_CATGETS. Reported
+- by Franc,ois Pinard.
+-
+- * libgettext.h: Use #if instead of #ifdef/#ifndef.
+-
+- * finddomain.c:
+- Comments describing what has to be done should start with FIXME.
+-
+-Sun Nov 5 19:38:01 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (DISTFILES): Split. Use DISTFILES with normal meaning.
+- DISTFILES.common names the files common to both dist goals.
+- DISTFILES.gettext are the files only distributed in GNU gettext.
+-
+-Sun Nov 5 17:32:54 1995 Ulrich Drepper <drepper@myware>
+-
+- * dcgettext.c (DCGETTEXT): Correct searching in derived locales.
+- This was necessary since a change in _nl_find_msg several weeks
+- ago. I really don't know this is still not fixed.
+-
+-Sun Nov 5 12:43:12 1995 Ulrich Drepper <drepper@myware>
+-
+- * loadmsgcat.c (_nl_load_domain): Test for FILENAME == NULL. This
+- might mark a special condition.
+-
+- * finddomain.c (make_entry_rec): Don't make illegal entry as decided.
+-
+- * Makefile.in (dist): Suppress error message when ln failed.
+- Get files from $(srcdir) explicitly.
+-
+- * libgettext.h (gettext_const): Rename to gettext_noop.
+-
+-Fri Nov 3 07:36:50 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c (make_entry_rec):
+- Protect against wrong locale names by testing mask.
+-
+- * libgettext.h (gettext_const): Add macro definition.
+- Capitalize macro arguments.
+-
+-Thu Nov 2 23:15:51 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c (_nl_find_domain):
+- Test for pointer != NULL before accessing value.
+- Reported by Tom Tromey.
+-
+- * gettext.c (NULL):
+- Define as (void*)0 instad of 0. Reported by Franc,ois Pinard.
+-
+-Mon Oct 30 21:28:52 1995 Ulrich Drepper <drepper@myware>
+-
+- * po2tbl.sed.in: Serious typo bug fixed by Jim Meyering.
+-
+-Sat Oct 28 23:20:47 1995 Ulrich Drepper <drepper@myware>
+-
+- * libgettext.h: Disable dcgettext optimization for Solaris 2.3.
+-
+- * localealias.c (alias_compare):
+- Peter Miller reported that tolower in some systems is
+- even dumber than I thought. Protect call by `isupper'.
+-
+-Fri Oct 27 22:22:51 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (libdir, includedir): New variables.
+- (install-src): Install libintl.a and libintl.h in correct dirs.
+-
+-Fri Oct 27 22:07:29 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (SOURCES): Fix typo: intrl.compat.c -> intl-compat.c.
+-
+- * po2tbl.sed.in: Patch for buggy SEDs by Christian von Roques.
+-
+- * localealias.c:
+- Fix typo and superflous test. Reported by Christian von Roques.
+-
+-Fri Oct 6 11:52:05 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c (_nl_find_domain):
+- Correct some remainder from the pre-CEN syntax. Now
+- we don't have a constant number of successors anymore.
+-
+-Wed Sep 27 21:41:13 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (DISTFILES): Add libintl.h.glibc.
+-
+- * Makefile.in (dist-libc): Add goal for packing sources for glibc.
+- (COMSRCS, COMHDRS): Splitted to separate sources shared with glibc.
+-
+- * loadmsgcat.c: Forget to continue #if line.
+-
+- * localealias.c:
+- [_LIBC]: Rename strcasecmp to __strcasecmp to keep ANSI C name
+- space clean.
+-
+- * dcgettext.c, finddomain.c: Better comment to last change.
+-
+- * loadmsgcat.c:
+- [_LIBC]: Rename fstat, open, close, read, mmap, and munmap to
+- __fstat, __open, __close, __read, __mmap, and __munmap resp
+- to keep ANSI C name space clean.
+-
+- * finddomain.c:
+- [_LIBC]: Rename stpcpy to __stpcpy to keep ANSI C name space clean.
+-
+- * dcgettext.c:
+- [_LIBC]: Rename getced and stpcpy to __getcwd and __stpcpy resp to
+- keep ANSI C name space clean.
+-
+- * libgettext.h:
+- Include sys/types.h for those old SysV systems out there.
+- Reported by Francesco Potorti`.
+-
+- * loadmsgcat.c (use_mmap): Define if compiled for glibc.
+-
+- * bindtextdom.c: Include all those standard headers
+- unconditionally if _LIBC is defined.
+-
+- * finddomain.c: Fix 2 times defiend -> defined.
+-
+- * textdomain.c: Include libintl.h instead of libgettext.h when
+- compiling for glibc. Include all those standard headers
+- unconditionally if _LIBC is defined.
+-
+- * localealias.c, loadmsgcat.c: Prepare to be compiled in glibc.
+-
+- * gettext.c:
+- Include libintl.h instead of libgettext.h when compiling for glibc.
+- Get NULL from stddef.h if we compile for glibc.
+-
+- * finddomain.c: Include libintl.h instead of libgettext.h when
+- compiling for glibc. Include all those standard headers
+- unconditionally if _LIBC is defined.
+-
+- * dcgettext.c: Include all those standard headers unconditionally
+- if _LIBC is defined.
+-
+- * dgettext.c: If compiled in glibc include libintl.h instead of
+- libgettext.h.
+- (locale.h): Don't rely on HAVE_LOCALE_H when compiling for glibc.
+-
+- * dcgettext.c: If compiled in glibc include libintl.h instead of
+- libgettext.h.
+- (getcwd): Don't rely on HAVE_GETCWD when compiling for glibc.
+-
+- * bindtextdom.c:
+- If compiled in glibc include libintl.h instead of libgettext.h.
+-
+-Mon Sep 25 22:23:06 1995 Ulrich Drepper <drepper@myware>
+-
+- * localealias.c (_nl_expand_alias): Don't call bsearch if NMAP <= 0.
+- Reported by Marcus Daniels.
+-
+- * cat-compat.c (bindtextdomain):
+- String used in putenv must not be recycled.
+- Reported by Marcus Daniels.
+-
+- * libgettext.h (__USE_GNU_GETTEXT):
+- Additional symbol to signal that we use GNU gettext
+- library.
+-
+- * cat-compat.c (bindtextdomain):
+- Fix bug with the strange stpcpy replacement.
+- Reported by Nelson Beebe.
+-
+-Sat Sep 23 08:23:51 1995 Ulrich Drepper <drepper@myware>
+-
+- * cat-compat.c: Include <string.h> for stpcpy prototype.
+-
+- * localealias.c (read_alias_file):
+- While expand strdup code temporary variable `cp' hided
+- higher level variable with same name. Rename to `tp'.
+-
+- * textdomain.c (textdomain):
+- Avoid warning by using temporary variable in strdup code.
+-
+- * finddomain.c (_nl_find_domain): Remove unused variable `application'.
+-
+-Thu Sep 21 15:51:44 1995 Ulrich Drepper <drepper@myware>
+-
+- * localealias.c (alias_compare):
+- Use strcasecmp() only if available. Else use
+- implementation in place.
+-
+- * intl-compat.c:
+- Wrapper functions now call *__ functions instead of __*.
+-
+- * libgettext.h: Declare prototypes for *__ functions instead for __*.
+-
+- * cat-compat.c, loadmsgcat.c:
+- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
+- of the standard libc and so prevent libintl.a from being used
+- standalone.
+-
+- * bindtextdom.c:
+- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
+- of the standard libc and so prevent libintl.a from being used
+- standalone.
+- Rename to bindtextdomain__ if not used in GNU C Library.
+-
+- * dgettext.c:
+- Rename function to dgettext__ if not used in GNU C Library.
+-
+- * gettext.c:
+- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
+- of the standard libc and so prevent libintl.a from being used
+- standalone.
+- Functions now called gettext__ if not used in GNU C Library.
+-
+- * dcgettext.c, localealias.c, textdomain.c, finddomain.c:
+- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
+- of the standard libc and so prevent libintl.a from being used
+- standalone.
+-
+-Sun Sep 17 23:14:49 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c: Correct some bugs in handling of CEN standard
+- locale definitions.
+-
+-Thu Sep 7 01:49:28 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c: Implement CEN syntax.
+-
+- * gettextP.h (loaded_domain): Extend number of successors to 31.
+-
+-Sat Aug 19 19:25:29 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (aliaspath): Remove path to X11 locale dir.
+-
+- * Makefile.in: Make install-src depend on install. This helps
+- gettext to install the sources and other packages can use the
+- install goal.
+-
+-Sat Aug 19 15:19:33 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (uninstall): Remove stuff installed by install-src.
+-
+-Tue Aug 15 13:13:53 1995 Ulrich Drepper <drepper@myware>
+-
+- * VERSION.in: Initial revision.
+-
+- * Makefile.in (DISTFILES):
+- Add VERSION file. This is not necessary for gettext, but
+- for other packages using this library.
+-
+-Tue Aug 15 06:16:44 1995 Ulrich Drepper <drepper@myware>
+-
+- * gettextP.h (_nl_find_domain):
+- New prototype after changing search strategy.
+-
+- * finddomain.c (_nl_find_domain):
+- We now try only to find a specified catalog. Fall back to other
+- catalogs listed in the locale list is now done in __dcgettext.
+-
+- * dcgettext.c (__dcgettext):
+- Now we provide message fall back even to different languages.
+- I.e. if a message is not available in one language all the other
+- in the locale list a tried. Formerly fall back was only possible
+- within one language. Implemented by moving one loop from
+- _nl_find_domain to here.
+-
+-Mon Aug 14 23:45:50 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (gettextsrcdir):
+- Directory where source of GNU gettext library are made
+- available.
+- (INSTALL, INSTALL_DATA): Programs used for installing sources.
+- (gettext-src): New. Rule to install GNU gettext sources for use in
+- gettextize shell script.
+-
+-Sun Aug 13 14:40:48 1995 Ulrich Drepper <drepper@myware>
+-
+- * loadmsgcat.c (_nl_load_domain):
+- Use mmap for loading only when munmap function is
+- also available.
+-
+- * Makefile.in (install): Depend on `all' goal.
+-
+-Wed Aug 9 11:04:33 1995 Ulrich Drepper <drepper@myware>
+-
+- * localealias.c (read_alias_file):
+- Do not overwrite '\n' when terminating alias value string.
+-
+- * localealias.c (read_alias_file):
+- Handle long lines. Ignore the rest not fitting in
+- the buffer after the initial `fgets' call.
+-
+-Wed Aug 9 00:54:29 1995 Ulrich Drepper <drepper@myware>
+-
+- * gettextP.h (_nl_load_domain):
+- Add prototype, replacing prototype for _nl_load_msg_cat.
+-
+- * finddomain.c (_nl_find_domain):
+- Remove unneeded variable filename and filename_len.
+- (expand_alias): Remove prototype because functions does not
+- exist anymore.
+-
+- * localealias.c (read_alias_file):
+- Change type of fname_len parameter to int.
+- (xmalloc): Add prototype.
+-
+- * loadmsgcat.c: Better prototypes for xmalloc.
+-
+-Tue Aug 8 22:30:39 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c (_nl_find_domain):
+- Allow alias name to be constructed from the four components.
+-
+- * Makefile.in (aliaspath): New variable. Set to preliminary value.
+- (SOURCES): Add localealias.c.
+- (OBJECTS): Add localealias.o.
+-
+- * gettextP.h: Add prototype for _nl_expand_alias.
+-
+- * finddomain.c: Aliasing handled in intl/localealias.c.
+-
+- * localealias.c: Aliasing for locale names.
+-
+- * bindtextdom.c: Better prototypes for xmalloc and xstrdup.
+-
+-Mon Aug 7 23:47:42 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (DISTFILES): gettext.perl is now found in misc/.
+-
+- * cat-compat.c (bindtextdomain):
+- Correct implementation. dirname parameter was not used.
+- Reported by Marcus Daniels.
+-
+- * gettextP.h (loaded_domain):
+- New fields `successor' and `decided' for oo, lazy
+- message handling implementation.
+-
+- * dcgettext.c:
+- Adopt for oo, lazy message handliing.
+- Now we can inherit translations from less specific locales.
+- (find_msg): New function.
+-
+- * loadmsgcat.c, finddomain.c:
+- Complete rewrite. Implement oo, lazy message handling :-).
+- We now have an additional environment variable `LANGUAGE' with
+- a higher priority than LC_ALL for the LC_MESSAGE locale.
+- Here we can set a colon separated list of specifications each
+- of the form `language[_territory[.codeset]][@modifier]'.
+-
+-Sat Aug 5 09:55:42 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c (unistd.h):
+- Include to get _PC_PATH_MAX defined on system having it.
+-
+-Fri Aug 4 22:42:00 1995 Ulrich Drepper <drepper@myware>
+-
+- * finddomain.c (stpcpy): Include prototype.
+-
+- * Makefile.in (dist): Remove `copying instead' message.
+-
+-Wed Aug 2 18:52:03 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (ID, TAGS): Do not use $^.
+-
+-Tue Aug 1 20:07:11 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (TAGS, ID): Use $^ as command argument.
+- (TAGS): Give etags -o option t write to current directory,
+- not $(srcdir).
+- (ID): Use $(srcdir) instead os $(top_srcdir)/src.
+- (distclean): Remove ID.
+-
+-Sun Jul 30 11:51:46 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (gnulocaledir):
+- New variable, always using share/ for data directory.
+- (DEFS): Add GNULOCALEDIR, used in finddomain.c.
+-
+- * finddomain.c (_nl_default_dirname):
+- Set to GNULOCALEDIR, because it always has to point
+- to the directory where GNU gettext Library writes it to.
+-
+- * intl-compat.c (textdomain, bindtextdomain):
+- Undefine macros before function definition.
+-
+-Sat Jul 22 01:10:02 1995 Ulrich Drepper <drepper@myware>
+-
+- * libgettext.h (_LIBINTL_H):
+- Protect definition in case where this file is included as
+- libgettext.h on Solaris machines. Add comment about this.
+-
+-Wed Jul 19 02:36:42 1995 Ulrich Drepper <drepper@myware>
+-
+- * intl-compat.c (textdomain): Correct typo.
+-
+-Wed Jul 19 01:51:35 1995 Ulrich Drepper <drepper@myware>
+-
+- * dcgettext.c (dcgettext): Function now called __dcgettext.
+-
+- * dgettext.c (dgettext): Now called __dgettext and calls
+- __dcgettext.
+-
+- * gettext.c (gettext):
+- Function now called __gettext and calls __dgettext.
+-
+- * textdomain.c (textdomain): Function now called __textdomain.
+-
+- * bindtextdom.c (bindtextdomain): Function now called
+- __bindtextdomain.
+-
+- * intl-compat.c: Initial revision.
+-
+- * Makefile.in (SOURCES): Add intl-compat.c.
+- (OBJECTS): We always compile the GNU gettext library functions.
+- OBJECTS contains all objects but cat-compat.o, ../po/cat-if-tbl.o,
+- and intl-compat.o.
+- (GETTOBJS): Contains now only intl-compat.o.
+-
+- * libgettext.h:
+- Re-include protection matches dualistic character of libgettext.h.
+- For all functions in GNU gettext library define __ counter part.
+-
+- * finddomain.c (strchr): Define as index if not found in C library.
+- (_nl_find_domain): For relative paths paste / in between.
+-
+-Tue Jul 18 16:37:45 1995 Ulrich Drepper <drepper@myware>
+-
+- * loadmsgcat.c, finddomain.c: Add inclusion of sys/types.h.
+-
+- * xopen-msg.sed: Fix bug with `msgstr ""' lines.
+- A little bit better comments.
+-
+-Tue Jul 18 01:18:27 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in:
+- po-mode.el, makelinks, combine-sh are now found in ../misc.
+-
+- * po-mode.el, makelinks, combine-sh, elisp-comp:
+- Moved to ../misc/.
+-
+- * libgettext.h, gettextP.h, gettext.h: Uniform test for __STDC__.
+-
+-Sun Jul 16 22:33:02 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (INSTALL, INSTALL_DATA): New variables.
+- (install-data, uninstall): Install/uninstall .elc file.
+-
+- * po-mode.el (Installation comment):
+- Add .pox as possible extension of .po files.
+-
+-Sun Jul 16 13:23:27 1995 Ulrich Drepper <drepper@myware>
+-
+- * elisp-comp: Complete new version by Franc,ois: This does not
+- fail when not compiling in the source directory.
+-
+-Sun Jul 16 00:12:17 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (../po/cat-id-tbl.o):
+- Use $(MAKE) instead of make for recursive make.
+-
+- * Makefile.in (.el.elc): Use $(SHELL) instead of /bin/sh.
+- (install-exec): Add missing dummy goal.
+- (install-data, uninstall): @ in multi-line shell command at
+- beginning, not in front of echo. Reported by Eric Backus.
+-
+-Sat Jul 15 00:21:28 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (DISTFILES):
+- Rename libgettext.perl to gettext.perl to fit in 14 chars
+- file systems.
+-
+- * gettext.perl:
+- Rename to gettext.perl to fit in 14 chars file systems.
+-
+-Thu Jul 13 23:17:20 1995 Ulrich Drepper <drepper@myware>
+-
+- * cat-compat.c: If !STDC_HEADERS try to include malloc.h.
+-
+-Thu Jul 13 20:55:02 1995 Ulrich Drepper <drepper@myware>
+-
+- * po2tbl.sed.in: Pretty printing.
+-
+- * linux-msg.sed, xopen-msg.sed:
+- Correct bugs with handling substitute flags in branches.
+-
+- * hash-string.h (hash_string):
+- Old K&R compilers don't under stand `unsigned char'.
+-
+- * gettext.h (nls_uint32):
+- Some old K&R compilers (eg HP) don't understand `unsigned int'.
+-
+- * cat-compat.c (msg_to_cat_id): De-ANSI-fy prototypes.
+-
+-Thu Jul 13 01:34:33 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (ELCFILES): New variable.
+- (DISTFILES): Add elisp-comp.
+- Add implicit rule for .el -> .elc compilation.
+- (install-data): install $ELCFILES
+- (clean): renamed po-to-tbl and po-to-msg to po2tbl and po2msg resp.
+-
+- * elisp-comp: Initial revision
+-
+-Wed Jul 12 16:14:52 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in:
+- cat-id-tbl.c is now found in po/. This enables us to use an identical
+- intl/ directory in all packages.
+-
+- * dcgettext.c (dcgettext): hashing does not work for table size <= 2.
+-
+- * textdomain.c: fix typo (#if def -> #if defined)
+-
+-Tue Jul 11 18:44:43 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in (stamp-cat-id): use top_srcdir to address source files
+- (DISTFILES,distclean): move tupdate.perl to src/
+-
+- * po-to-tbl.sed.in:
+- add additional jump to clear change flag to recognize multiline strings
+-
+-Tue Jul 11 01:32:50 1995 Ulrich Drepper <drepper@myware>
+-
+- * textdomain.c: Protect inclusion of stdlib.h and string.h.
+-
+- * loadmsgcat.c: Protect inclusion of stdlib.h.
+-
+- * libgettext.h: Protect inclusion of locale.h.
+- Allow use in C++ programs.
+- Define NULL is not happened already.
+-
+- * Makefile.in (DISTFILES): ship po-to-tbl.sed.in instead of
+- po-to-tbl.sed.
+- (distclean): remove po-to-tbl.sed and tupdate.perl.
+-
+- * tupdate.perl.in: Substitute Perl path even in exec line.
+- Don't include entries without translation from old .po file.
+-
+-Tue Jul 4 00:41:51 1995 Ulrich Drepper <drepper@myware>
+-
+- * tupdate.perl.in: use "Updated: " in msgid "".
+-
+- * cat-compat.c: Fix typo (LOCALDIR -> LOCALEDIR).
+- Define getenv if !__STDC__.
+-
+- * bindtextdom.c: Protect stdlib.h and string.h inclusion.
+- Define free if !__STDC__.
+-
+- * finddomain.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
+- Define free if !__STDC__.
+-
+- * cat-compat.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
+-
+-Mon Jul 3 23:56:30 1995 Ulrich Drepper <drepper@myware>
+-
+- * Makefile.in: Use LOCALEDIR instead of DEF_MSG_DOM_DIR.
+- Remove unneeded $(srcdir) from Makefile.in dependency.
+-
+- * makelinks: Add copyright and short description.
+-
+- * po-mode.el: Last version for 0.7.
+-
+- * tupdate.perl.in: Fix die message.
+-
+- * dcgettext.c: Protect include of string.h.
+-
+- * gettext.c: Protect include of stdlib.h and further tries to get NULL.
+-
+- * finddomain.c: Some corrections in includes.
+-
+- * Makefile.in (INCLUDES): Prune list correct path to Makefile.in.
+-
+- * po-to-tbl.sed: Adopt for new .po file format.
+-
+- * linux-msg.sed, xopen-msg.sed: Adopt for new .po file format.
+-
+-Sun Jul 2 23:55:03 1995 Ulrich Drepper <drepper@myware>
+-
+- * tupdate.perl.in: Complete rewrite for new .po file format.
++2004-01-29 GNU <bug-gnu-gettext@gnu.org>
+
+-Sun Jul 2 02:06:50 1995 Ulrich Drepper <drepper@myware>
++ * Version 0.14.1 released.
+
+- * First official release. This directory contains all the code
+- needed to internationalize own packages. It provides functions
+- which allow to use the X/Open catgets function with an interface
+- like the Uniforum gettext function. For system which does not
+- have neither of those a complete implementation is provided.
+--- lrzsz-0.12.20.safe/intl/config.charset 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/config.charset 2004-09-12 14:40:34.354748240 -0400
+@@ -0,0 +1,608 @@
++#! /bin/sh
++# Output a system dependent table of character encoding aliases.
++#
++# Copyright (C) 2000-2004 Free Software Foundation, Inc.
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU Library General Public License as published
++# by the Free Software Foundation; either version 2, 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
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public
++# License along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++# USA.
++#
++# The table consists of lines of the form
++# ALIAS CANONICAL
++#
++# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
++# ALIAS is compared in a case sensitive way.
++#
++# CANONICAL is the GNU canonical name for this character encoding.
++# It must be an encoding supported by libiconv. Support by GNU libc is
++# also desirable. CANONICAL is case insensitive. Usually an upper case
++# MIME charset name is preferred.
++# The current list of GNU canonical charset names is as follows.
++#
++# name MIME? used by which systems
++# ASCII, ANSI_X3.4-1968 glibc solaris freebsd darwin
++# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd darwin
++# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd darwin
++# ISO-8859-3 Y glibc solaris
++# ISO-8859-4 Y osf solaris freebsd darwin
++# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd darwin
++# ISO-8859-6 Y glibc aix hpux solaris
++# ISO-8859-7 Y glibc aix hpux irix osf solaris
++# ISO-8859-8 Y glibc aix hpux osf solaris
++# ISO-8859-9 Y glibc aix hpux irix osf solaris
++# ISO-8859-13 glibc
++# ISO-8859-14 glibc
++# ISO-8859-15 glibc aix osf solaris freebsd
++# KOI8-R Y glibc solaris freebsd darwin
++# KOI8-U Y glibc freebsd darwin
++# KOI8-T glibc
++# CP437 dos
++# CP775 dos
++# CP850 aix osf dos
++# CP852 dos
++# CP855 dos
++# CP856 aix
++# CP857 dos
++# CP861 dos
++# CP862 dos
++# CP864 dos
++# CP865 dos
++# CP866 freebsd darwin dos
++# CP869 dos
++# CP874 woe32 dos
++# CP922 aix
++# CP932 aix woe32 dos
++# CP943 aix
++# CP949 osf woe32 dos
++# CP950 woe32 dos
++# CP1046 aix
++# CP1124 aix
++# CP1125 dos
++# CP1129 aix
++# CP1250 woe32
++# CP1251 glibc solaris darwin woe32
++# CP1252 aix woe32
++# CP1253 woe32
++# CP1254 woe32
++# CP1255 glibc woe32
++# CP1256 woe32
++# CP1257 woe32
++# GB2312 Y glibc aix hpux irix solaris freebsd darwin
++# EUC-JP Y glibc aix hpux irix osf solaris freebsd darwin
++# EUC-KR Y glibc aix hpux irix osf solaris freebsd darwin
++# EUC-TW glibc aix hpux irix osf solaris
++# BIG5 Y glibc aix hpux osf solaris freebsd darwin
++# BIG5-HKSCS glibc solaris
++# GBK glibc aix osf solaris woe32 dos
++# GB18030 glibc solaris
++# SHIFT_JIS Y hpux osf solaris freebsd darwin
++# JOHAB glibc solaris woe32
++# TIS-620 glibc aix hpux osf solaris
++# VISCII Y glibc
++# TCVN5712-1 glibc
++# GEORGIAN-PS glibc
++# HP-ROMAN8 hpux
++# HP-ARABIC8 hpux
++# HP-GREEK8 hpux
++# HP-HEBREW8 hpux
++# HP-TURKISH8 hpux
++# HP-KANA8 hpux
++# DEC-KANJI osf
++# DEC-HANYU osf
++# UTF-8 Y glibc aix hpux osf solaris
++#
++# Note: Names which are not marked as being a MIME name should not be used in
++# Internet protocols for information interchange (mail, news, etc.).
++#
++# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
++# must understand both names and treat them as equivalent.
++#
++# The first argument passed to this file is the canonical host specification,
++# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
++# or
++# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
++
++host="$1"
++os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
++echo "# This file contains a table of character encoding aliases,"
++echo "# suitable for operating system '${os}'."
++echo "# It was automatically generated from config.charset."
++# List of references, updated during installation:
++echo "# Packages using this file: "
++case "$os" in
++ linux-gnulibc1*)
++ # Linux libc5 doesn't have nl_langinfo(CODESET); therefore
++ # localcharset.c falls back to using the full locale name
++ # from the environment variables.
++ echo "C ASCII"
++ echo "POSIX ASCII"
++ for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \
++ en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \
++ en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \
++ es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \
++ et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \
++ fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \
++ it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \
++ sv_FI sv_SE; do
++ echo "$l ISO-8859-1"
++ echo "$l.iso-8859-1 ISO-8859-1"
++ echo "$l.iso-8859-15 ISO-8859-15"
++ echo "$l.iso-8859-15@euro ISO-8859-15"
++ echo "$l@euro ISO-8859-15"
++ echo "$l.cp-437 CP437"
++ echo "$l.cp-850 CP850"
++ echo "$l.cp-1252 CP1252"
++ echo "$l.cp-1252@euro CP1252"
++ #echo "$l.atari-st ATARI-ST" # not a commonly used encoding
++ echo "$l.utf-8 UTF-8"
++ echo "$l.utf-8@euro UTF-8"
++ done
++ for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \
++ sl_SI sr sr_CS sr_YU; do
++ echo "$l ISO-8859-2"
++ echo "$l.iso-8859-2 ISO-8859-2"
++ echo "$l.cp-852 CP852"
++ echo "$l.cp-1250 CP1250"
++ echo "$l.utf-8 UTF-8"
++ done
++ for l in mk mk_MK ru ru_RU; do
++ echo "$l ISO-8859-5"
++ echo "$l.iso-8859-5 ISO-8859-5"
++ echo "$l.koi8-r KOI8-R"
++ echo "$l.cp-866 CP866"
++ echo "$l.cp-1251 CP1251"
++ echo "$l.utf-8 UTF-8"
++ done
++ for l in ar ar_SA; do
++ echo "$l ISO-8859-6"
++ echo "$l.iso-8859-6 ISO-8859-6"
++ echo "$l.cp-864 CP864"
++ #echo "$l.cp-868 CP868" # not a commonly used encoding
++ echo "$l.cp-1256 CP1256"
++ echo "$l.utf-8 UTF-8"
++ done
++ for l in el el_GR gr gr_GR; do
++ echo "$l ISO-8859-7"
++ echo "$l.iso-8859-7 ISO-8859-7"
++ echo "$l.cp-869 CP869"
++ echo "$l.cp-1253 CP1253"
++ echo "$l.cp-1253@euro CP1253"
++ echo "$l.utf-8 UTF-8"
++ echo "$l.utf-8@euro UTF-8"
++ done
++ for l in he he_IL iw iw_IL; do
++ echo "$l ISO-8859-8"
++ echo "$l.iso-8859-8 ISO-8859-8"
++ echo "$l.cp-862 CP862"
++ echo "$l.cp-1255 CP1255"
++ echo "$l.utf-8 UTF-8"
++ done
++ for l in tr tr_TR; do
++ echo "$l ISO-8859-9"
++ echo "$l.iso-8859-9 ISO-8859-9"
++ echo "$l.cp-857 CP857"
++ echo "$l.cp-1254 CP1254"
++ echo "$l.utf-8 UTF-8"
++ done
++ for l in lt lt_LT lv lv_LV; do
++ #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
++ echo "$l ISO-8859-13"
++ done
++ for l in ru_UA uk uk_UA; do
++ echo "$l KOI8-U"
++ done
++ for l in zh zh_CN; do
++ #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
++ echo "$l GB2312"
++ done
++ for l in ja ja_JP ja_JP.EUC; do
++ echo "$l EUC-JP"
++ done
++ for l in ko ko_KR; do
++ echo "$l EUC-KR"
++ done
++ for l in th th_TH; do
++ echo "$l TIS-620"
++ done
++ for l in fa fa_IR; do
++ #echo "$l ISIRI-3342" # a broken encoding
++ echo "$l.utf-8 UTF-8"
++ done
++ ;;
++ linux* | *-gnu*)
++ # With glibc-2.1 or newer, we don't need any canonicalization,
++ # because glibc has iconv and both glibc and libiconv support all
++ # GNU canonical names directly. Therefore, the Makefile does not
++ # need to install the alias file at all.
++ # The following applies only to glibc-2.0.x and older libcs.
++ echo "ISO_646.IRV:1983 ASCII"
++ ;;
++ aix*)
++ echo "ISO8859-1 ISO-8859-1"
++ echo "ISO8859-2 ISO-8859-2"
++ echo "ISO8859-5 ISO-8859-5"
++ echo "ISO8859-6 ISO-8859-6"
++ echo "ISO8859-7 ISO-8859-7"
++ echo "ISO8859-8 ISO-8859-8"
++ echo "ISO8859-9 ISO-8859-9"
++ echo "ISO8859-15 ISO-8859-15"
++ echo "IBM-850 CP850"
++ echo "IBM-856 CP856"
++ echo "IBM-921 ISO-8859-13"
++ echo "IBM-922 CP922"
++ echo "IBM-932 CP932"
++ echo "IBM-943 CP943"
++ echo "IBM-1046 CP1046"
++ echo "IBM-1124 CP1124"
++ echo "IBM-1129 CP1129"
++ echo "IBM-1252 CP1252"
++ echo "IBM-eucCN GB2312"
++ echo "IBM-eucJP EUC-JP"
++ echo "IBM-eucKR EUC-KR"
++ echo "IBM-eucTW EUC-TW"
++ echo "big5 BIG5"
++ echo "GBK GBK"
++ echo "TIS-620 TIS-620"
++ echo "UTF-8 UTF-8"
++ ;;
++ hpux*)
++ echo "iso88591 ISO-8859-1"
++ echo "iso88592 ISO-8859-2"
++ echo "iso88595 ISO-8859-5"
++ echo "iso88596 ISO-8859-6"
++ echo "iso88597 ISO-8859-7"
++ echo "iso88598 ISO-8859-8"
++ echo "iso88599 ISO-8859-9"
++ echo "iso885915 ISO-8859-15"
++ echo "roman8 HP-ROMAN8"
++ echo "arabic8 HP-ARABIC8"
++ echo "greek8 HP-GREEK8"
++ echo "hebrew8 HP-HEBREW8"
++ echo "turkish8 HP-TURKISH8"
++ echo "kana8 HP-KANA8"
++ echo "tis620 TIS-620"
++ echo "big5 BIG5"
++ echo "eucJP EUC-JP"
++ echo "eucKR EUC-KR"
++ echo "eucTW EUC-TW"
++ echo "hp15CN GB2312"
++ #echo "ccdc ?" # what is this?
++ echo "SJIS SHIFT_JIS"
++ echo "utf8 UTF-8"
++ ;;
++ irix*)
++ echo "ISO8859-1 ISO-8859-1"
++ echo "ISO8859-2 ISO-8859-2"
++ echo "ISO8859-5 ISO-8859-5"
++ echo "ISO8859-7 ISO-8859-7"
++ echo "ISO8859-9 ISO-8859-9"
++ echo "eucCN GB2312"
++ echo "eucJP EUC-JP"
++ echo "eucKR EUC-KR"
++ echo "eucTW EUC-TW"
++ ;;
++ osf*)
++ echo "ISO8859-1 ISO-8859-1"
++ echo "ISO8859-2 ISO-8859-2"
++ echo "ISO8859-4 ISO-8859-4"
++ echo "ISO8859-5 ISO-8859-5"
++ echo "ISO8859-7 ISO-8859-7"
++ echo "ISO8859-8 ISO-8859-8"
++ echo "ISO8859-9 ISO-8859-9"
++ echo "ISO8859-15 ISO-8859-15"
++ echo "cp850 CP850"
++ echo "big5 BIG5"
++ echo "dechanyu DEC-HANYU"
++ echo "dechanzi GB2312"
++ echo "deckanji DEC-KANJI"
++ echo "deckorean EUC-KR"
++ echo "eucJP EUC-JP"
++ echo "eucKR EUC-KR"
++ echo "eucTW EUC-TW"
++ echo "GBK GBK"
++ echo "KSC5601 CP949"
++ echo "sdeckanji EUC-JP"
++ echo "SJIS SHIFT_JIS"
++ echo "TACTIS TIS-620"
++ echo "UTF-8 UTF-8"
++ ;;
++ solaris*)
++ echo "646 ASCII"
++ echo "ISO8859-1 ISO-8859-1"
++ echo "ISO8859-2 ISO-8859-2"
++ echo "ISO8859-3 ISO-8859-3"
++ echo "ISO8859-4 ISO-8859-4"
++ echo "ISO8859-5 ISO-8859-5"
++ echo "ISO8859-6 ISO-8859-6"
++ echo "ISO8859-7 ISO-8859-7"
++ echo "ISO8859-8 ISO-8859-8"
++ echo "ISO8859-9 ISO-8859-9"
++ echo "ISO8859-15 ISO-8859-15"
++ echo "koi8-r KOI8-R"
++ echo "ansi-1251 CP1251"
++ echo "BIG5 BIG5"
++ echo "Big5-HKSCS BIG5-HKSCS"
++ echo "gb2312 GB2312"
++ echo "GBK GBK"
++ echo "GB18030 GB18030"
++ echo "cns11643 EUC-TW"
++ echo "5601 EUC-KR"
++ echo "ko_KR.johap92 JOHAB"
++ echo "eucJP EUC-JP"
++ echo "PCK SHIFT_JIS"
++ echo "TIS620.2533 TIS-620"
++ #echo "sun_eu_greek ?" # what is this?
++ echo "UTF-8 UTF-8"
++ ;;
++ freebsd* | os2*)
++ # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
++ # localcharset.c falls back to using the full locale name
++ # from the environment variables.
++ # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just
++ # reuse FreeBSD's locale data for OS/2.
++ echo "C ASCII"
++ echo "US-ASCII ASCII"
++ for l in la_LN lt_LN; do
++ echo "$l.ASCII ASCII"
++ done
++ for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
++ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
++ lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
++ echo "$l.ISO_8859-1 ISO-8859-1"
++ echo "$l.DIS_8859-15 ISO-8859-15"
++ done
++ for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
++ echo "$l.ISO_8859-2 ISO-8859-2"
++ done
++ for l in la_LN lt_LT; do
++ echo "$l.ISO_8859-4 ISO-8859-4"
++ done
++ for l in ru_RU ru_SU; do
++ echo "$l.KOI8-R KOI8-R"
++ echo "$l.ISO_8859-5 ISO-8859-5"
++ echo "$l.CP866 CP866"
++ done
++ echo "uk_UA.KOI8-U KOI8-U"
++ echo "zh_TW.BIG5 BIG5"
++ echo "zh_TW.Big5 BIG5"
++ echo "zh_CN.EUC GB2312"
++ echo "ja_JP.EUC EUC-JP"
++ echo "ja_JP.SJIS SHIFT_JIS"
++ echo "ja_JP.Shift_JIS SHIFT_JIS"
++ echo "ko_KR.EUC EUC-KR"
++ ;;
++ netbsd*)
++ echo "646 ASCII"
++ echo "ISO8859-1 ISO-8859-1"
++ echo "ISO8859-2 ISO-8859-2"
++ echo "ISO8859-4 ISO-8859-4"
++ echo "ISO8859-5 ISO-8859-5"
++ echo "ISO8859-15 ISO-8859-15"
++ echo "eucCN GB2312"
++ echo "eucJP EUC-JP"
++ echo "eucKR EUC-KR"
++ echo "eucTW EUC-TW"
++ echo "BIG5 BIG5"
++ echo "SJIS SHIFT_JIS"
++ ;;
++ darwin*)
++ # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
++ # localcharset.c falls back to using the full locale name
++ # from the environment variables.
++ echo "C ASCII"
++ for l in en_AU en_CA en_GB en_US la_LN; do
++ echo "$l.US-ASCII ASCII"
++ done
++ for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
++ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \
++ nl_NL no_NO pt_PT sv_SE; do
++ echo "$l ISO-8859-1"
++ echo "$l.ISO8859-1 ISO-8859-1"
++ echo "$l.ISO8859-15 ISO-8859-15"
++ done
++ for l in la_LN; do
++ echo "$l.ISO8859-1 ISO-8859-1"
++ echo "$l.ISO8859-15 ISO-8859-15"
++ done
++ for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
++ echo "$l.ISO8859-2 ISO-8859-2"
++ done
++ for l in la_LN lt_LT; do
++ echo "$l.ISO8859-4 ISO-8859-4"
++ done
++ for l in ru_RU; do
++ echo "$l.KOI8-R KOI8-R"
++ echo "$l.ISO8859-5 ISO-8859-5"
++ echo "$l.CP866 CP866"
++ done
++ for l in bg_BG; do
++ echo "$l.CP1251 CP1251"
++ done
++ echo "uk_UA.KOI8-U KOI8-U"
++ echo "zh_TW.BIG5 BIG5"
++ echo "zh_TW.Big5 BIG5"
++ echo "zh_CN.EUC GB2312"
++ echo "ja_JP.EUC EUC-JP"
++ echo "ja_JP.SJIS SHIFT_JIS"
++ echo "ko_KR.EUC EUC-KR"
++ ;;
++ beos*)
++ # BeOS has a single locale, and it has UTF-8 encoding.
++ echo "* UTF-8"
++ ;;
++ msdosdjgpp*)
++ # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
++ # localcharset.c falls back to using the full locale name
++ # from the environment variables.
++ echo "#"
++ echo "# The encodings given here may not all be correct."
++ echo "# If you find that the encoding given for your language and"
++ echo "# country is not the one your DOS machine actually uses, just"
++ echo "# correct it in this file, and send a mail to"
++ echo "# Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>"
++ echo "# and Bruno Haible <bruno@clisp.org>."
++ echo "#"
++ echo "C ASCII"
++ # ISO-8859-1 languages
++ echo "ca CP850"
++ echo "ca_ES CP850"
++ echo "da CP865" # not CP850 ??
++ echo "da_DK CP865" # not CP850 ??
++ echo "de CP850"
++ echo "de_AT CP850"
++ echo "de_CH CP850"
++ echo "de_DE CP850"
++ echo "en CP850"
++ echo "en_AU CP850" # not CP437 ??
++ echo "en_CA CP850"
++ echo "en_GB CP850"
++ echo "en_NZ CP437"
++ echo "en_US CP437"
++ echo "en_ZA CP850" # not CP437 ??
++ echo "es CP850"
++ echo "es_AR CP850"
++ echo "es_BO CP850"
++ echo "es_CL CP850"
++ echo "es_CO CP850"
++ echo "es_CR CP850"
++ echo "es_CU CP850"
++ echo "es_DO CP850"
++ echo "es_EC CP850"
++ echo "es_ES CP850"
++ echo "es_GT CP850"
++ echo "es_HN CP850"
++ echo "es_MX CP850"
++ echo "es_NI CP850"
++ echo "es_PA CP850"
++ echo "es_PY CP850"
++ echo "es_PE CP850"
++ echo "es_SV CP850"
++ echo "es_UY CP850"
++ echo "es_VE CP850"
++ echo "et CP850"
++ echo "et_EE CP850"
++ echo "eu CP850"
++ echo "eu_ES CP850"
++ echo "fi CP850"
++ echo "fi_FI CP850"
++ echo "fr CP850"
++ echo "fr_BE CP850"
++ echo "fr_CA CP850"
++ echo "fr_CH CP850"
++ echo "fr_FR CP850"
++ echo "ga CP850"
++ echo "ga_IE CP850"
++ echo "gd CP850"
++ echo "gd_GB CP850"
++ echo "gl CP850"
++ echo "gl_ES CP850"
++ echo "id CP850" # not CP437 ??
++ echo "id_ID CP850" # not CP437 ??
++ echo "is CP861" # not CP850 ??
++ echo "is_IS CP861" # not CP850 ??
++ echo "it CP850"
++ echo "it_CH CP850"
++ echo "it_IT CP850"
++ echo "lt CP775"
++ echo "lt_LT CP775"
++ echo "lv CP775"
++ echo "lv_LV CP775"
++ echo "nb CP865" # not CP850 ??
++ echo "nb_NO CP865" # not CP850 ??
++ echo "nl CP850"
++ echo "nl_BE CP850"
++ echo "nl_NL CP850"
++ echo "nn CP865" # not CP850 ??
++ echo "nn_NO CP865" # not CP850 ??
++ echo "no CP865" # not CP850 ??
++ echo "no_NO CP865" # not CP850 ??
++ echo "pt CP850"
++ echo "pt_BR CP850"
++ echo "pt_PT CP850"
++ echo "sv CP850"
++ echo "sv_SE CP850"
++ # ISO-8859-2 languages
++ echo "cs CP852"
++ echo "cs_CZ CP852"
++ echo "hr CP852"
++ echo "hr_HR CP852"
++ echo "hu CP852"
++ echo "hu_HU CP852"
++ echo "pl CP852"
++ echo "pl_PL CP852"
++ echo "ro CP852"
++ echo "ro_RO CP852"
++ echo "sk CP852"
++ echo "sk_SK CP852"
++ echo "sl CP852"
++ echo "sl_SI CP852"
++ echo "sq CP852"
++ echo "sq_AL CP852"
++ echo "sr CP852" # CP852 or CP866 or CP855 ??
++ echo "sr_CS CP852" # CP852 or CP866 or CP855 ??
++ echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
++ # ISO-8859-3 languages
++ echo "mt CP850"
++ echo "mt_MT CP850"
++ # ISO-8859-5 languages
++ echo "be CP866"
++ echo "be_BE CP866"
++ echo "bg CP866" # not CP855 ??
++ echo "bg_BG CP866" # not CP855 ??
++ echo "mk CP866" # not CP855 ??
++ echo "mk_MK CP866" # not CP855 ??
++ echo "ru CP866"
++ echo "ru_RU CP866"
++ echo "uk CP1125"
++ echo "uk_UA CP1125"
++ # ISO-8859-6 languages
++ echo "ar CP864"
++ echo "ar_AE CP864"
++ echo "ar_DZ CP864"
++ echo "ar_EG CP864"
++ echo "ar_IQ CP864"
++ echo "ar_IR CP864"
++ echo "ar_JO CP864"
++ echo "ar_KW CP864"
++ echo "ar_MA CP864"
++ echo "ar_OM CP864"
++ echo "ar_QA CP864"
++ echo "ar_SA CP864"
++ echo "ar_SY CP864"
++ # ISO-8859-7 languages
++ echo "el CP869"
++ echo "el_GR CP869"
++ # ISO-8859-8 languages
++ echo "he CP862"
++ echo "he_IL CP862"
++ # ISO-8859-9 languages
++ echo "tr CP857"
++ echo "tr_TR CP857"
++ # Japanese
++ echo "ja CP932"
++ echo "ja_JP CP932"
++ # Chinese
++ echo "zh_CN GBK"
++ echo "zh_TW CP950" # not CP938 ??
++ # Korean
++ echo "kr CP949" # not CP934 ??
++ echo "kr_KR CP949" # not CP934 ??
++ # Thai
++ echo "th CP874"
++ echo "th_TH CP874"
++ # Other
++ echo "eo CP850"
++ echo "eo_EO CP850"
++ ;;
++esac
+--- lrzsz-0.12.20.safe/intl/dcgettext.c 1998-04-26 09:22:36.000000000 -0400
++++ lrzsz-0.12.20/intl/dcgettext.c 2004-09-12 14:40:34.359747480 -0400
+@@ -1,593 +1,56 @@
+-/* Implementation of the dcgettext(3) function
+- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
++/* Implementation of the dcgettext(3) function.
++ Copyright (C) 1995-1999, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
+-#include <sys/types.h>
+-
+-#ifdef __GNUC__
+-# define alloca __builtin_alloca
+-# define HAVE_ALLOCA 1
+-#else
+-# if defined HAVE_ALLOCA_H || defined _LIBC
+-# include <alloca.h>
+-# else
+-# ifdef _AIX
+- #pragma alloca
+-# else
+-# ifndef alloca
+-char *alloca ();
+-# endif
+-# endif
+-# endif
+-#endif
+-
+-#include <errno.h>
+-#ifndef errno
+-extern int errno;
+-#endif
+-#ifndef __set_errno
+-# define __set_errno(val) errno = (val)
+-#endif
+-
+-#if defined STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-#else
+-char *getenv ();
+-# ifdef HAVE_MALLOC_H
+-# include <malloc.h>
+-# else
+-void free ();
+-# endif
+-#endif
+-
+-#if defined HAVE_STRING_H || defined _LIBC
+-# ifndef _GNU_SOURCE
+-# define _GNU_SOURCE 1
+-# endif
+-# include <string.h>
+-#else
+-# include <strings.h>
+-#endif
+-#if !HAVE_STRCHR && !defined _LIBC
+-# ifndef strchr
+-# define strchr index
+-# endif
+-#endif
+-
+-#if defined HAVE_UNISTD_H || defined _LIBC
+-# include <unistd.h>
+-#endif
+-
+-#include "gettext.h"
+ #include "gettextP.h"
+ #ifdef _LIBC
+ # include <libintl.h>
+ #else
+-# include "libgettext.h"
++# include "libgnuintl.h"
+ #endif
+-#include "hash-string.h"
+
+ /* @@ end of prolog @@ */
+
+-#ifdef _LIBC
+-/* Rename the non ANSI C functions. This is required by the standard
+- because some ANSI C functions will require linking with this object
+- file and the name space must not be polluted. */
+-# define getcwd __getcwd
+-# define stpcpy __stpcpy
+-#else
+-# if !defined HAVE_GETCWD
+-char *getwd ();
+-# define getcwd(buf, max) getwd (buf)
+-# else
+-char *getcwd ();
+-# endif
+-# ifndef HAVE_STPCPY
+-static char *stpcpy PARAMS ((char *dest, const char *src));
+-# endif
+-#endif
+-
+-/* Amount to increase buffer size by in each try. */
+-#define PATH_INCR 32
+-
+-/* The following is from pathmax.h. */
+-/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
+- PATH_MAX but might cause redefinition warnings when sys/param.h is
+- later included (as on MORE/BSD 4.3). */
+-#if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && !defined(__GNUC__))
+-# include <limits.h>
+-#endif
+-
+-#ifndef _POSIX_PATH_MAX
+-# define _POSIX_PATH_MAX 255
+-#endif
+-
+-#if !defined(PATH_MAX) && defined(_PC_PATH_MAX)
+-# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
+-#endif
+-
+-/* Don't include sys/param.h if it already has been. */
+-#if defined(HAVE_SYS_PARAM_H) && !defined(PATH_MAX) && !defined(MAXPATHLEN)
+-# include <sys/param.h>
+-#endif
+-
+-#if !defined(PATH_MAX) && defined(MAXPATHLEN)
+-# define PATH_MAX MAXPATHLEN
+-#endif
+-
+-#ifndef PATH_MAX
+-# define PATH_MAX _POSIX_PATH_MAX
+-#endif
+-
+-/* XPG3 defines the result of `setlocale (category, NULL)' as:
+- ``Directs `setlocale()' to query `category' and return the current
+- setting of `local'.''
+- However it does not specify the exact format. And even worse: POSIX
+- defines this not at all. So we can use this feature only on selected
+- system (e.g. those using GNU C Library). */
+-#ifdef _LIBC
+-# define HAVE_LOCALE_NULL
+-#endif
+-
+-/* Name of the default domain used for gettext(3) prior any call to
+- textdomain(3). The default value for this is "messages". */
+-const char _nl_default_default_domain[] = "messages";
+-
+-/* Value used as the default domain for gettext(3). */
+-const char *_nl_current_default_domain = _nl_default_default_domain;
+-
+-/* Contains the default location of the message catalogs. */
+-const char _nl_default_dirname[] = GNULOCALEDIR;
+-
+-/* List with bindings of specific domains created by bindtextdomain()
+- calls. */
+-struct binding *_nl_domain_bindings;
+-
+-/* Prototypes for local functions. */
+-static char *find_msg PARAMS ((struct loaded_l10nfile *domain_file,
+- const char *msgid));
+-static const char *category_to_name PARAMS ((int category));
+-static const char *guess_category_value PARAMS ((int category,
+- const char *categoryname));
+-
+-
+-/* For those loosing systems which don't have `alloca' we have to add
+- some additional code emulating it. */
+-#ifdef HAVE_ALLOCA
+-/* Nothing has to be done. */
+-# define ADD_BLOCK(list, address) /* nothing */
+-# define FREE_BLOCKS(list) /* nothing */
+-#else
+-struct block_list
+-{
+- void *address;
+- struct block_list *next;
+-};
+-# define ADD_BLOCK(list, addr) \
+- do { \
+- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \
+- /* If we cannot get a free block we cannot add the new element to \
+- the list. */ \
+- if (newp != NULL) { \
+- newp->address = (addr); \
+- newp->next = (list); \
+- (list) = newp; \
+- } \
+- } while (0)
+-# define FREE_BLOCKS(list) \
+- do { \
+- while (list != NULL) { \
+- struct block_list *old = list; \
+- list = list->next; \
+- free (old); \
+- } \
+- } while (0)
+-# undef alloca
+-# define alloca(size) (malloc (size))
+-#endif /* have alloca */
+-
+-
+ /* Names for the libintl functions are a problem. They must not clash
+ with existing names and they should follow ANSI C. But this source
+ code is also used in GNU C Library where the names have a __
+ prefix. So we have to make a difference here. */
+ #ifdef _LIBC
+ # define DCGETTEXT __dcgettext
++# define DCIGETTEXT __dcigettext
+ #else
+-# define DCGETTEXT dcgettext__
++# define DCGETTEXT libintl_dcgettext
++# define DCIGETTEXT libintl_dcigettext
+ #endif
+
+ /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
+ locale. */
+ char *
+-DCGETTEXT (domainname, msgid, category)
+- const char *domainname;
+- const char *msgid;
+- int category;
++DCGETTEXT (const char *domainname, const char *msgid, int category)
+ {
+-#ifndef HAVE_ALLOCA
+- struct block_list *block_list = NULL;
+-#endif
+- struct loaded_l10nfile *domain;
+- struct binding *binding;
+- const char *categoryname;
+- const char *categoryvalue;
+- char *dirname, *xdomainname;
+- char *single_locale;
+- char *retval;
+- int saved_errno = errno;
+-
+- /* If no real MSGID is given return NULL. */
+- if (msgid == NULL)
+- return NULL;
+-
+- /* If DOMAINNAME is NULL, we are interested in the default domain. If
+- CATEGORY is not LC_MESSAGES this might not make much sense but the
+- defintion left this undefined. */
+- if (domainname == NULL)
+- domainname = _nl_current_default_domain;
+-
+- /* First find matching binding. */
+- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
+- {
+- int compare = strcmp (domainname, binding->domainname);
+- if (compare == 0)
+- /* We found it! */
+- break;
+- if (compare < 0)
+- {
+- /* It is not in the list. */
+- binding = NULL;
+- break;
+- }
+- }
+-
+- if (binding == NULL)
+- dirname = (char *) _nl_default_dirname;
+- else if (binding->dirname[0] == '/')
+- dirname = binding->dirname;
+- else
+- {
+- /* We have a relative path. Make it absolute now. */
+- size_t dirname_len = strlen (binding->dirname) + 1;
+- size_t path_max;
+- char *ret;
+-
+- path_max = (unsigned) PATH_MAX;
+- path_max += 2; /* The getcwd docs say to do this. */
+-
+- dirname = (char *) alloca (path_max + dirname_len);
+- ADD_BLOCK (block_list, dirname);
+-
+- __set_errno (0);
+- while ((ret = getcwd (dirname, path_max)) == NULL && errno == ERANGE)
+- {
+- path_max += PATH_INCR;
+- dirname = (char *) alloca (path_max + dirname_len);
+- ADD_BLOCK (block_list, dirname);
+- __set_errno (0);
+- }
+-
+- if (ret == NULL)
+- {
+- /* We cannot get the current working directory. Don't signal an
+- error but simply return the default string. */
+- FREE_BLOCKS (block_list);
+- __set_errno (saved_errno);
+- return (char *) msgid;
+- }
+-
+- stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
+- }
+-
+- /* Now determine the symbolic name of CATEGORY and its value. */
+- categoryname = category_to_name (category);
+- categoryvalue = guess_category_value (category, categoryname);
+-
+- xdomainname = (char *) alloca (strlen (categoryname)
+- + strlen (domainname) + 5);
+- ADD_BLOCK (block_list, xdomainname);
+-
+- stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
+- domainname),
+- ".mo");
+-
+- /* Creating working area. */
+- single_locale = (char *) alloca (strlen (categoryvalue) + 1);
+- ADD_BLOCK (block_list, single_locale);
+-
+-
+- /* Search for the given string. This is a loop because we perhaps
+- got an ordered list of languages to consider for th translation. */
+- while (1)
+- {
+- /* Make CATEGORYVALUE point to the next element of the list. */
+- while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
+- ++categoryvalue;
+- if (categoryvalue[0] == '\0')
+- {
+- /* The whole contents of CATEGORYVALUE has been searched but
+- no valid entry has been found. We solve this situation
+- by implicitly appending a "C" entry, i.e. no translation
+- will take place. */
+- single_locale[0] = 'C';
+- single_locale[1] = '\0';
+- }
+- else
+- {
+- char *cp = single_locale;
+- while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
+- *cp++ = *categoryvalue++;
+- *cp = '\0';
+- }
+-
+- /* If the current locale value is C (or POSIX) we don't load a
+- domain. Return the MSGID. */
+- if (strcmp (single_locale, "C") == 0
+- || strcmp (single_locale, "POSIX") == 0)
+- {
+- FREE_BLOCKS (block_list);
+- __set_errno (saved_errno);
+- return (char *) msgid;
+- }
+-
+-
+- /* Find structure describing the message catalog matching the
+- DOMAINNAME and CATEGORY. */
+- domain = _nl_find_domain (dirname, single_locale, xdomainname);
+-
+- if (domain != NULL)
+- {
+- retval = find_msg (domain, msgid);
+-
+- if (retval == NULL)
+- {
+- int cnt;
+-
+- for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
+- {
+- retval = find_msg (domain->successor[cnt], msgid);
+-
+- if (retval != NULL)
+- break;
+- }
+- }
+-
+- if (retval != NULL)
+- {
+- FREE_BLOCKS (block_list);
+- __set_errno (saved_errno);
+- return retval;
+- }
+- }
+- }
+- /* NOTREACHED */
++ return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category);
+ }
+
+ #ifdef _LIBC
+ /* Alias for function name in GNU C Library. */
++INTDEF(__dcgettext)
+ weak_alias (__dcgettext, dcgettext);
+ #endif
+-
+-
+-static char *
+-find_msg (domain_file, msgid)
+- struct loaded_l10nfile *domain_file;
+- const char *msgid;
+-{
+- size_t top, act, bottom;
+- struct loaded_domain *domain;
+-
+- if (domain_file->decided == 0)
+- _nl_load_domain (domain_file);
+-
+- if (domain_file->data == NULL)
+- return NULL;
+-
+- domain = (struct loaded_domain *) domain_file->data;
+-
+- /* Locate the MSGID and its translation. */
+- if (domain->hash_size > 2 && domain->hash_tab != NULL)
+- {
+- /* Use the hashing table. */
+- nls_uint32 len = strlen (msgid);
+- nls_uint32 hash_val = hash_string (msgid);
+- nls_uint32 idx = hash_val % domain->hash_size;
+- nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
+- nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
+-
+- if (nstr == 0)
+- /* Hash table entry is empty. */
+- return NULL;
+-
+- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
+- && strcmp (msgid,
+- domain->data + W (domain->must_swap,
+- domain->orig_tab[nstr - 1].offset)) == 0)
+- return (char *) domain->data + W (domain->must_swap,
+- domain->trans_tab[nstr - 1].offset);
+-
+- while (1)
+- {
+- if (idx >= domain->hash_size - incr)
+- idx -= domain->hash_size - incr;
+- else
+- idx += incr;
+-
+- nstr = W (domain->must_swap, domain->hash_tab[idx]);
+- if (nstr == 0)
+- /* Hash table entry is empty. */
+- return NULL;
+-
+- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
+- && strcmp (msgid,
+- domain->data + W (domain->must_swap,
+- domain->orig_tab[nstr - 1].offset))
+- == 0)
+- return (char *) domain->data
+- + W (domain->must_swap, domain->trans_tab[nstr - 1].offset);
+- }
+- /* NOTREACHED */
+- }
+-
+- /* Now we try the default method: binary search in the sorted
+- array of messages. */
+- bottom = 0;
+- top = domain->nstrings;
+- while (bottom < top)
+- {
+- int cmp_val;
+-
+- act = (bottom + top) / 2;
+- cmp_val = strcmp (msgid, domain->data
+- + W (domain->must_swap,
+- domain->orig_tab[act].offset));
+- if (cmp_val < 0)
+- top = act;
+- else if (cmp_val > 0)
+- bottom = act + 1;
+- else
+- break;
+- }
+-
+- /* If an translation is found return this. */
+- return bottom >= top ? NULL : (char *) domain->data
+- + W (domain->must_swap,
+- domain->trans_tab[act].offset);
+-}
+-
+-
+-/* Return string representation of locale CATEGORY. */
+-static const char *
+-category_to_name (category)
+- int category;
+-{
+- const char *retval;
+-
+- switch (category)
+- {
+-#ifdef LC_COLLATE
+- case LC_COLLATE:
+- retval = "LC_COLLATE";
+- break;
+-#endif
+-#ifdef LC_CTYPE
+- case LC_CTYPE:
+- retval = "LC_CTYPE";
+- break;
+-#endif
+-#ifdef LC_MONETARY
+- case LC_MONETARY:
+- retval = "LC_MONETARY";
+- break;
+-#endif
+-#ifdef LC_NUMERIC
+- case LC_NUMERIC:
+- retval = "LC_NUMERIC";
+- break;
+-#endif
+-#ifdef LC_TIME
+- case LC_TIME:
+- retval = "LC_TIME";
+- break;
+-#endif
+-#ifdef LC_MESSAGES
+- case LC_MESSAGES:
+- retval = "LC_MESSAGES";
+- break;
+-#endif
+-#ifdef LC_RESPONSE
+- case LC_RESPONSE:
+- retval = "LC_RESPONSE";
+- break;
+-#endif
+-#ifdef LC_ALL
+- case LC_ALL:
+- /* This might not make sense but is perhaps better than any other
+- value. */
+- retval = "LC_ALL";
+- break;
+-#endif
+- default:
+- /* If you have a better idea for a default value let me know. */
+- retval = "LC_XXX";
+- }
+-
+- return retval;
+-}
+-
+-/* Guess value of current locale from value of the environment variables. */
+-static const char *
+-guess_category_value (category, categoryname)
+- int category;
+- const char *categoryname;
+-{
+- const char *retval;
+-
+- /* The highest priority value is the `LANGUAGE' environment
+- variable. This is a GNU extension. */
+- retval = getenv ("LANGUAGE");
+- if (retval != NULL && retval[0] != '\0')
+- return retval;
+-
+- /* `LANGUAGE' is not set. So we have to proceed with the POSIX
+- methods of looking to `LC_ALL', `LC_xxx', and `LANG'. On some
+- systems this can be done by the `setlocale' function itself. */
+-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
+- return setlocale (category, NULL);
+-#else
+- /* Setting of LC_ALL overwrites all other. */
+- retval = getenv ("LC_ALL");
+- if (retval != NULL && retval[0] != '\0')
+- return retval;
+-
+- /* Next comes the name of the desired category. */
+- retval = getenv (categoryname);
+- if (retval != NULL && retval[0] != '\0')
+- return retval;
+-
+- /* Last possibility is the LANG environment variable. */
+- retval = getenv ("LANG");
+- if (retval != NULL && retval[0] != '\0')
+- return retval;
+-
+- /* We use C as the default domain. POSIX says this is implementation
+- defined. */
+- return "C";
+-#endif
+-}
+-
+-/* @@ begin of epilog @@ */
+-
+-/* We don't want libintl.a to depend on any other library. So we
+- avoid the non-standard function stpcpy. In GNU C Library this
+- function is available, though. Also allow the symbol HAVE_STPCPY
+- to be defined. */
+-#if !_LIBC && !HAVE_STPCPY
+-static char *
+-stpcpy (dest, src)
+- char *dest;
+- const char *src;
+-{
+- while ((*dest++ = *src++) != '\0')
+- /* Do nothing. */ ;
+- return dest - 1;
+-}
+-#endif
+--- lrzsz-0.12.20.safe/intl/dcigettext.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/dcigettext.c 2004-09-12 14:40:34.369745960 -0400
+@@ -0,0 +1,1219 @@
++/* Implementation of the internal dcigettext function.
++ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Tell glibc's <string.h> to provide a prototype for mempcpy().
++ This must come before <config.h> because <config.h> may include
++ <features.h>, and once <features.h> has been included, it's too late. */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <sys/types.h>
++
++#ifdef __GNUC__
++# define alloca __builtin_alloca
++# define HAVE_ALLOCA 1
++#else
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
++# else
++# if defined HAVE_ALLOCA_H || defined _LIBC
++# include <alloca.h>
++# else
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca
++char *alloca ();
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#include <errno.h>
++#ifndef errno
++extern int errno;
++#endif
++#ifndef __set_errno
++# define __set_errno(val) errno = (val)
++#endif
++
++#include <stddef.h>
++#include <stdlib.h>
++#include <string.h>
++
++#if defined HAVE_UNISTD_H || defined _LIBC
++# include <unistd.h>
++#endif
++
++#include <locale.h>
++
++#ifdef _LIBC
++ /* Guess whether integer division by zero raises signal SIGFPE.
++ Set to 1 only if you know for sure. In case of doubt, set to 0. */
++# if defined __alpha__ || defined __arm__ || defined __i386__ \
++ || defined __m68k__ || defined __s390__
++# define INTDIV0_RAISES_SIGFPE 1
++# else
++# define INTDIV0_RAISES_SIGFPE 0
++# endif
++#endif
++#if !INTDIV0_RAISES_SIGFPE
++# include <signal.h>
++#endif
++
++#if defined HAVE_SYS_PARAM_H || defined _LIBC
++# include <sys/param.h>
++#endif
++
++#include "gettextP.h"
++#include "plural-exp.h"
++#ifdef _LIBC
++# include <libintl.h>
++#else
++# include "libgnuintl.h"
++#endif
++#include "hash-string.h"
++
++/* Thread safetyness. */
++#ifdef _LIBC
++# include <bits/libc-lock.h>
++#else
++/* Provide dummy implementation if this is outside glibc. */
++# define __libc_lock_define_initialized(CLASS, NAME)
++# define __libc_lock_lock(NAME)
++# define __libc_lock_unlock(NAME)
++# define __libc_rwlock_define_initialized(CLASS, NAME)
++# define __libc_rwlock_rdlock(NAME)
++# define __libc_rwlock_unlock(NAME)
++#endif
++
++/* Alignment of types. */
++#if defined __GNUC__ && __GNUC__ >= 2
++# define alignof(TYPE) __alignof__ (TYPE)
++#else
++# define alignof(TYPE) \
++ ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2)
++#endif
++
++/* The internal variables in the standalone libintl.a must have different
++ names than the internal variables in GNU libc, otherwise programs
++ using libintl.a cannot be linked statically. */
++#if !defined _LIBC
++# define _nl_default_default_domain libintl_nl_default_default_domain
++# define _nl_current_default_domain libintl_nl_current_default_domain
++# define _nl_default_dirname libintl_nl_default_dirname
++# define _nl_domain_bindings libintl_nl_domain_bindings
++#endif
++
++/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */
++#ifndef offsetof
++# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
++#endif
++
++/* @@ end of prolog @@ */
++
++#ifdef _LIBC
++/* Rename the non ANSI C functions. This is required by the standard
++ because some ANSI C functions will require linking with this object
++ file and the name space must not be polluted. */
++# define getcwd __getcwd
++# ifndef stpcpy
++# define stpcpy __stpcpy
++# endif
++# define tfind __tfind
++#else
++# if !defined HAVE_GETCWD
++char *getwd ();
++# define getcwd(buf, max) getwd (buf)
++# else
++# if VMS
++# define getcwd(buf, max) (getcwd) (buf, max, 0)
++# else
++char *getcwd ();
++# endif
++# endif
++# ifndef HAVE_STPCPY
++static char *stpcpy (char *dest, const char *src);
++# endif
++# ifndef HAVE_MEMPCPY
++static void *mempcpy (void *dest, const void *src, size_t n);
++# endif
++#endif
++
++/* Amount to increase buffer size by in each try. */
++#define PATH_INCR 32
++
++/* The following is from pathmax.h. */
++/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
++ PATH_MAX but might cause redefinition warnings when sys/param.h is
++ later included (as on MORE/BSD 4.3). */
++#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__)
++# include <limits.h>
++#endif
++
++#ifndef _POSIX_PATH_MAX
++# define _POSIX_PATH_MAX 255
++#endif
++
++#if !defined PATH_MAX && defined _PC_PATH_MAX
++# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
++#endif
++
++/* Don't include sys/param.h if it already has been. */
++#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
++# include <sys/param.h>
++#endif
++
++#if !defined PATH_MAX && defined MAXPATHLEN
++# define PATH_MAX MAXPATHLEN
++#endif
++
++#ifndef PATH_MAX
++# define PATH_MAX _POSIX_PATH_MAX
++#endif
++
++/* Pathname support.
++ ISSLASH(C) tests whether C is a directory separator character.
++ IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,
++ it may be concatenated to a directory pathname.
++ IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.
++ */
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++# define HAS_DEVICE(P) \
++ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
++ && (P)[1] == ':')
++# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
++# define IS_PATH_WITH_DIR(P) \
++ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
++#else
++ /* Unix */
++# define ISSLASH(C) ((C) == '/')
++# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
++# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
++#endif
++
++/* This is the type used for the search tree where known translations
++ are stored. */
++struct known_translation_t
++{
++ /* Domain in which to search. */
++ char *domainname;
++
++ /* The category. */
++ int category;
++
++ /* State of the catalog counter at the point the string was found. */
++ int counter;
++
++ /* Catalog where the string was found. */
++ struct loaded_l10nfile *domain;
++
++ /* And finally the translation. */
++ const char *translation;
++ size_t translation_length;
++
++ /* Pointer to the string in question. */
++ char msgid[ZERO];
++};
++
++/* Root of the search tree with known translations. We can use this
++ only if the system provides the `tsearch' function family. */
++#if defined HAVE_TSEARCH || defined _LIBC
++# include <search.h>
++
++static void *root;
++
++# ifdef _LIBC
++# define tsearch __tsearch
++# endif
++
++/* Function to compare two entries in the table of known translations. */
++static int
++transcmp (const void *p1, const void *p2)
++{
++ const struct known_translation_t *s1;
++ const struct known_translation_t *s2;
++ int result;
++
++ s1 = (const struct known_translation_t *) p1;
++ s2 = (const struct known_translation_t *) p2;
++
++ result = strcmp (s1->msgid, s2->msgid);
++ if (result == 0)
++ {
++ result = strcmp (s1->domainname, s2->domainname);
++ if (result == 0)
++ /* We compare the category last (though this is the cheapest
++ operation) since it is hopefully always the same (namely
++ LC_MESSAGES). */
++ result = s1->category - s2->category;
++ }
++
++ return result;
++}
++#endif
++
++#ifndef INTVARDEF
++# define INTVARDEF(name)
++#endif
++#ifndef INTUSE
++# define INTUSE(name) name
++#endif
++
++/* Name of the default domain used for gettext(3) prior any call to
++ textdomain(3). The default value for this is "messages". */
++const char _nl_default_default_domain[] attribute_hidden = "messages";
++
++/* Value used as the default domain for gettext(3). */
++const char *_nl_current_default_domain attribute_hidden
++ = _nl_default_default_domain;
++
++/* Contains the default location of the message catalogs. */
++#if defined __EMX__
++extern const char _nl_default_dirname[];
++#else
++const char _nl_default_dirname[] = LOCALEDIR;
++INTVARDEF (_nl_default_dirname)
++#endif
++
++/* List with bindings of specific domains created by bindtextdomain()
++ calls. */
++struct binding *_nl_domain_bindings;
++
++/* Prototypes for local functions. */
++static char *plural_lookup (struct loaded_l10nfile *domain,
++ unsigned long int n,
++ const char *translation, size_t translation_len)
++ internal_function;
++static const char *guess_category_value (int category,
++ const char *categoryname)
++ internal_function;
++#ifdef _LIBC
++# include "../locale/localeinfo.h"
++# define category_to_name(category) _nl_category_names[category]
++#else
++static const char *category_to_name (int category) internal_function;
++#endif
++
++
++/* For those loosing systems which don't have `alloca' we have to add
++ some additional code emulating it. */
++#ifdef HAVE_ALLOCA
++/* Nothing has to be done. */
++# define freea(p) /* nothing */
++# define ADD_BLOCK(list, address) /* nothing */
++# define FREE_BLOCKS(list) /* nothing */
++#else
++struct block_list
++{
++ void *address;
++ struct block_list *next;
++};
++# define ADD_BLOCK(list, addr) \
++ do { \
++ struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \
++ /* If we cannot get a free block we cannot add the new element to \
++ the list. */ \
++ if (newp != NULL) { \
++ newp->address = (addr); \
++ newp->next = (list); \
++ (list) = newp; \
++ } \
++ } while (0)
++# define FREE_BLOCKS(list) \
++ do { \
++ while (list != NULL) { \
++ struct block_list *old = list; \
++ list = list->next; \
++ free (old->address); \
++ free (old); \
++ } \
++ } while (0)
++# undef alloca
++# define alloca(size) (malloc (size))
++# define freea(p) free (p)
++#endif /* have alloca */
++
++
++#ifdef _LIBC
++/* List of blocks allocated for translations. */
++typedef struct transmem_list
++{
++ struct transmem_list *next;
++ char data[ZERO];
++} transmem_block_t;
++static struct transmem_list *transmem_list;
++#else
++typedef unsigned char transmem_block_t;
++#endif
++
++
++/* Names for the libintl functions are a problem. They must not clash
++ with existing names and they should follow ANSI C. But this source
++ code is also used in GNU C Library where the names have a __
++ prefix. So we have to make a difference here. */
++#ifdef _LIBC
++# define DCIGETTEXT __dcigettext
++#else
++# define DCIGETTEXT libintl_dcigettext
++#endif
++
++/* Lock variable to protect the global data in the gettext implementation. */
++#ifdef _LIBC
++__libc_rwlock_define_initialized (, _nl_state_lock attribute_hidden)
++#endif
++
++/* Checking whether the binaries runs SUID must be done and glibc provides
++ easier methods therefore we make a difference here. */
++#ifdef _LIBC
++# define ENABLE_SECURE __libc_enable_secure
++# define DETERMINE_SECURE
++#else
++# ifndef HAVE_GETUID
++# define getuid() 0
++# endif
++# ifndef HAVE_GETGID
++# define getgid() 0
++# endif
++# ifndef HAVE_GETEUID
++# define geteuid() getuid()
++# endif
++# ifndef HAVE_GETEGID
++# define getegid() getgid()
++# endif
++static int enable_secure;
++# define ENABLE_SECURE (enable_secure == 1)
++# define DETERMINE_SECURE \
++ if (enable_secure == 0) \
++ { \
++ if (getuid () != geteuid () || getgid () != getegid ()) \
++ enable_secure = 1; \
++ else \
++ enable_secure = -1; \
++ }
++#endif
++
++/* Get the function to evaluate the plural expression. */
++#include "eval-plural.h"
++
++/* Look up MSGID in the DOMAINNAME message catalog for the current
++ CATEGORY locale and, if PLURAL is nonzero, search over string
++ depending on the plural form determined by N. */
++char *
++DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
++ int plural, unsigned long int n, int category)
++{
++#ifndef HAVE_ALLOCA
++ struct block_list *block_list = NULL;
++#endif
++ struct loaded_l10nfile *domain;
++ struct binding *binding;
++ const char *categoryname;
++ const char *categoryvalue;
++ char *dirname, *xdomainname;
++ char *single_locale;
++ char *retval;
++ size_t retlen;
++ int saved_errno;
++#if defined HAVE_TSEARCH || defined _LIBC
++ struct known_translation_t *search;
++ struct known_translation_t **foundp = NULL;
++ size_t msgid_len;
++#endif
++ size_t domainname_len;
++
++ /* If no real MSGID is given return NULL. */
++ if (msgid1 == NULL)
++ return NULL;
++
++#ifdef _LIBC
++ if (category < 0 || category >= __LC_LAST || category == LC_ALL)
++ /* Bogus. */
++ return (plural == 0
++ ? (char *) msgid1
++ /* Use the Germanic plural rule. */
++ : n == 1 ? (char *) msgid1 : (char *) msgid2);
++#endif
++
++ __libc_rwlock_rdlock (_nl_state_lock);
++
++ /* If DOMAINNAME is NULL, we are interested in the default domain. If
++ CATEGORY is not LC_MESSAGES this might not make much sense but the
++ definition left this undefined. */
++ if (domainname == NULL)
++ domainname = _nl_current_default_domain;
++
++ /* OS/2 specific: backward compatibility with older libintl versions */
++#ifdef LC_MESSAGES_COMPAT
++ if (category == LC_MESSAGES_COMPAT)
++ category = LC_MESSAGES;
++#endif
++
++#if defined HAVE_TSEARCH || defined _LIBC
++ msgid_len = strlen (msgid1) + 1;
++
++ /* Try to find the translation among those which we found at
++ some time. */
++ search = (struct known_translation_t *)
++ alloca (offsetof (struct known_translation_t, msgid) + msgid_len);
++ memcpy (search->msgid, msgid1, msgid_len);
++ search->domainname = (char *) domainname;
++ search->category = category;
++
++ foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
++ freea (search);
++ if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
++ {
++ /* Now deal with plural. */
++ if (plural)
++ retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation,
++ (*foundp)->translation_length);
++ else
++ retval = (char *) (*foundp)->translation;
++
++ __libc_rwlock_unlock (_nl_state_lock);
++ return retval;
++ }
++#endif
++
++ /* Preserve the `errno' value. */
++ saved_errno = errno;
++
++ /* See whether this is a SUID binary or not. */
++ DETERMINE_SECURE;
++
++ /* First find matching binding. */
++ for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
++ {
++ int compare = strcmp (domainname, binding->domainname);
++ if (compare == 0)
++ /* We found it! */
++ break;
++ if (compare < 0)
++ {
++ /* It is not in the list. */
++ binding = NULL;
++ break;
++ }
++ }
++
++ if (binding == NULL)
++ dirname = (char *) INTUSE(_nl_default_dirname);
++ else if (IS_ABSOLUTE_PATH (binding->dirname))
++ dirname = binding->dirname;
++ else
++ {
++ /* We have a relative path. Make it absolute now. */
++ size_t dirname_len = strlen (binding->dirname) + 1;
++ size_t path_max;
++ char *ret;
++
++ path_max = (unsigned int) PATH_MAX;
++ path_max += 2; /* The getcwd docs say to do this. */
++
++ for (;;)
++ {
++ dirname = (char *) alloca (path_max + dirname_len);
++ ADD_BLOCK (block_list, dirname);
++
++ __set_errno (0);
++ ret = getcwd (dirname, path_max);
++ if (ret != NULL || errno != ERANGE)
++ break;
++
++ path_max += path_max / 2;
++ path_max += PATH_INCR;
++ }
++
++ if (ret == NULL)
++ /* We cannot get the current working directory. Don't signal an
++ error but simply return the default string. */
++ goto return_untranslated;
++
++ stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
++ }
++
++ /* Now determine the symbolic name of CATEGORY and its value. */
++ categoryname = category_to_name (category);
++ categoryvalue = guess_category_value (category, categoryname);
++
++ domainname_len = strlen (domainname);
++ xdomainname = (char *) alloca (strlen (categoryname)
++ + domainname_len + 5);
++ ADD_BLOCK (block_list, xdomainname);
++
++ stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
++ domainname, domainname_len),
++ ".mo");
++
++ /* Creating working area. */
++ single_locale = (char *) alloca (strlen (categoryvalue) + 1);
++ ADD_BLOCK (block_list, single_locale);
++
++
++ /* Search for the given string. This is a loop because we perhaps
++ got an ordered list of languages to consider for the translation. */
++ while (1)
++ {
++ /* Make CATEGORYVALUE point to the next element of the list. */
++ while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
++ ++categoryvalue;
++ if (categoryvalue[0] == '\0')
++ {
++ /* The whole contents of CATEGORYVALUE has been searched but
++ no valid entry has been found. We solve this situation
++ by implicitly appending a "C" entry, i.e. no translation
++ will take place. */
++ single_locale[0] = 'C';
++ single_locale[1] = '\0';
++ }
++ else
++ {
++ char *cp = single_locale;
++ while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
++ *cp++ = *categoryvalue++;
++ *cp = '\0';
++
++ /* When this is a SUID binary we must not allow accessing files
++ outside the dedicated directories. */
++ if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale))
++ /* Ingore this entry. */
++ continue;
++ }
++
++ /* If the current locale value is C (or POSIX) we don't load a
++ domain. Return the MSGID. */
++ if (strcmp (single_locale, "C") == 0
++ || strcmp (single_locale, "POSIX") == 0)
++ break;
++
++ /* Find structure describing the message catalog matching the
++ DOMAINNAME and CATEGORY. */
++ domain = _nl_find_domain (dirname, single_locale, xdomainname, binding);
++
++ if (domain != NULL)
++ {
++ retval = _nl_find_msg (domain, binding, msgid1, &retlen);
++
++ if (retval == NULL)
++ {
++ int cnt;
++
++ for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
++ {
++ retval = _nl_find_msg (domain->successor[cnt], binding,
++ msgid1, &retlen);
++
++ if (retval != NULL)
++ {
++ domain = domain->successor[cnt];
++ break;
++ }
++ }
++ }
++
++ if (retval != NULL)
++ {
++ /* Found the translation of MSGID1 in domain DOMAIN:
++ starting at RETVAL, RETLEN bytes. */
++ FREE_BLOCKS (block_list);
++#if defined HAVE_TSEARCH || defined _LIBC
++ if (foundp == NULL)
++ {
++ /* Create a new entry and add it to the search tree. */
++ struct known_translation_t *newp;
++
++ newp = (struct known_translation_t *)
++ malloc (offsetof (struct known_translation_t, msgid)
++ + msgid_len + domainname_len + 1);
++ if (newp != NULL)
++ {
++ newp->domainname =
++ mempcpy (newp->msgid, msgid1, msgid_len);
++ memcpy (newp->domainname, domainname, domainname_len + 1);
++ newp->category = category;
++ newp->counter = _nl_msg_cat_cntr;
++ newp->domain = domain;
++ newp->translation = retval;
++ newp->translation_length = retlen;
++
++ /* Insert the entry in the search tree. */
++ foundp = (struct known_translation_t **)
++ tsearch (newp, &root, transcmp);
++ if (foundp == NULL
++ || __builtin_expect (*foundp != newp, 0))
++ /* The insert failed. */
++ free (newp);
++ }
++ }
++ else
++ {
++ /* We can update the existing entry. */
++ (*foundp)->counter = _nl_msg_cat_cntr;
++ (*foundp)->domain = domain;
++ (*foundp)->translation = retval;
++ (*foundp)->translation_length = retlen;
++ }
++#endif
++ __set_errno (saved_errno);
++
++ /* Now deal with plural. */
++ if (plural)
++ retval = plural_lookup (domain, n, retval, retlen);
++
++ __libc_rwlock_unlock (_nl_state_lock);
++ return retval;
++ }
++ }
++ }
++
++ return_untranslated:
++ /* Return the untranslated MSGID. */
++ FREE_BLOCKS (block_list);
++ __libc_rwlock_unlock (_nl_state_lock);
++#ifndef _LIBC
++ if (!ENABLE_SECURE)
++ {
++ extern void _nl_log_untranslated (const char *logfilename,
++ const char *domainname,
++ const char *msgid1, const char *msgid2,
++ int plural);
++ const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED");
++
++ if (logfilename != NULL && logfilename[0] != '\0')
++ _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural);
++ }
++#endif
++ __set_errno (saved_errno);
++ return (plural == 0
++ ? (char *) msgid1
++ /* Use the Germanic plural rule. */
++ : n == 1 ? (char *) msgid1 : (char *) msgid2);
++}
++
++
++char *
++internal_function
++_nl_find_msg (struct loaded_l10nfile *domain_file,
++ struct binding *domainbinding, const char *msgid,
++ size_t *lengthp)
++{
++ struct loaded_domain *domain;
++ nls_uint32 nstrings;
++ size_t act;
++ char *result;
++ size_t resultlen;
++
++ if (domain_file->decided == 0)
++ _nl_load_domain (domain_file, domainbinding);
++
++ if (domain_file->data == NULL)
++ return NULL;
++
++ domain = (struct loaded_domain *) domain_file->data;
++
++ nstrings = domain->nstrings;
++
++ /* Locate the MSGID and its translation. */
++ if (domain->hash_tab != NULL)
++ {
++ /* Use the hashing table. */
++ nls_uint32 len = strlen (msgid);
++ nls_uint32 hash_val = hash_string (msgid);
++ nls_uint32 idx = hash_val % domain->hash_size;
++ nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
++
++ while (1)
++ {
++ nls_uint32 nstr =
++ W (domain->must_swap_hash_tab, domain->hash_tab[idx]);
++
++ if (nstr == 0)
++ /* Hash table entry is empty. */
++ return NULL;
++
++ nstr--;
++
++ /* Compare msgid with the original string at index nstr.
++ We compare the lengths with >=, not ==, because plural entries
++ are represented by strings with an embedded NUL. */
++ if (nstr < nstrings
++ ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len
++ && (strcmp (msgid,
++ domain->data + W (domain->must_swap,
++ domain->orig_tab[nstr].offset))
++ == 0)
++ : domain->orig_sysdep_tab[nstr - nstrings].length > len
++ && (strcmp (msgid,
++ domain->orig_sysdep_tab[nstr - nstrings].pointer)
++ == 0))
++ {
++ act = nstr;
++ goto found;
++ }
++
++ if (idx >= domain->hash_size - incr)
++ idx -= domain->hash_size - incr;
++ else
++ idx += incr;
++ }
++ /* NOTREACHED */
++ }
++ else
++ {
++ /* Try the default method: binary search in the sorted array of
++ messages. */
++ size_t top, bottom;
++
++ bottom = 0;
++ top = nstrings;
++ while (bottom < top)
++ {
++ int cmp_val;
++
++ act = (bottom + top) / 2;
++ cmp_val = strcmp (msgid, (domain->data
++ + W (domain->must_swap,
++ domain->orig_tab[act].offset)));
++ if (cmp_val < 0)
++ top = act;
++ else if (cmp_val > 0)
++ bottom = act + 1;
++ else
++ goto found;
++ }
++ /* No translation was found. */
++ return NULL;
++ }
++
++ found:
++ /* The translation was found at index ACT. If we have to convert the
++ string to use a different character set, this is the time. */
++ if (act < nstrings)
++ {
++ result = (char *)
++ (domain->data + W (domain->must_swap, domain->trans_tab[act].offset));
++ resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;
++ }
++ else
++ {
++ result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer;
++ resultlen = domain->trans_sysdep_tab[act - nstrings].length;
++ }
++
++#if defined _LIBC || HAVE_ICONV
++ if (domain->codeset_cntr
++ != (domainbinding != NULL ? domainbinding->codeset_cntr : 0))
++ {
++ /* The domain's codeset has changed through bind_textdomain_codeset()
++ since the message catalog was initialized or last accessed. We
++ have to reinitialize the converter. */
++ _nl_free_domain_conv (domain);
++ _nl_init_domain_conv (domain_file, domain, domainbinding);
++ }
++
++ if (
++# ifdef _LIBC
++ domain->conv != (__gconv_t) -1
++# else
++# if HAVE_ICONV
++ domain->conv != (iconv_t) -1
++# endif
++# endif
++ )
++ {
++ /* We are supposed to do a conversion. First allocate an
++ appropriate table with the same structure as the table
++ of translations in the file, where we can put the pointers
++ to the converted strings in.
++ There is a slight complication with plural entries. They
++ are represented by consecutive NUL terminated strings. We
++ handle this case by converting RESULTLEN bytes, including
++ NULs. */
++
++ if (domain->conv_tab == NULL
++ && ((domain->conv_tab =
++ (char **) calloc (nstrings + domain->n_sysdep_strings,
++ sizeof (char *)))
++ == NULL))
++ /* Mark that we didn't succeed allocating a table. */
++ domain->conv_tab = (char **) -1;
++
++ if (__builtin_expect (domain->conv_tab == (char **) -1, 0))
++ /* Nothing we can do, no more memory. */
++ goto converted;
++
++ if (domain->conv_tab[act] == NULL)
++ {
++ /* We haven't used this string so far, so it is not
++ translated yet. Do this now. */
++ /* We use a bit more efficient memory handling.
++ We allocate always larger blocks which get used over
++ time. This is faster than many small allocations. */
++ __libc_lock_define_initialized (static, lock)
++# define INITIAL_BLOCK_SIZE 4080
++ static unsigned char *freemem;
++ static size_t freemem_size;
++
++ const unsigned char *inbuf;
++ unsigned char *outbuf;
++ int malloc_count;
++# ifndef _LIBC
++ transmem_block_t *transmem_list = NULL;
++# endif
++
++ __libc_lock_lock (lock);
++
++ inbuf = (const unsigned char *) result;
++ outbuf = freemem + sizeof (size_t);
++
++ malloc_count = 0;
++ while (1)
++ {
++ transmem_block_t *newmem;
++# ifdef _LIBC
++ size_t non_reversible;
++ int res;
++
++ if (freemem_size < sizeof (size_t))
++ goto resize_freemem;
++
++ res = __gconv (domain->conv,
++ &inbuf, inbuf + resultlen,
++ &outbuf,
++ outbuf + freemem_size - sizeof (size_t),
++ &non_reversible);
++
++ if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT)
++ break;
++
++ if (res != __GCONV_FULL_OUTPUT)
++ {
++ __libc_lock_unlock (lock);
++ goto converted;
++ }
++
++ inbuf = result;
++# else
++# if HAVE_ICONV
++ const char *inptr = (const char *) inbuf;
++ size_t inleft = resultlen;
++ char *outptr = (char *) outbuf;
++ size_t outleft;
++
++ if (freemem_size < sizeof (size_t))
++ goto resize_freemem;
++
++ outleft = freemem_size - sizeof (size_t);
++ if (iconv (domain->conv,
++ (ICONV_CONST char **) &inptr, &inleft,
++ &outptr, &outleft)
++ != (size_t) (-1))
++ {
++ outbuf = (unsigned char *) outptr;
++ break;
++ }
++ if (errno != E2BIG)
++ {
++ __libc_lock_unlock (lock);
++ goto converted;
++ }
++# endif
++# endif
++
++ resize_freemem:
++ /* We must allocate a new buffer or resize the old one. */
++ if (malloc_count > 0)
++ {
++ ++malloc_count;
++ freemem_size = malloc_count * INITIAL_BLOCK_SIZE;
++ newmem = (transmem_block_t *) realloc (transmem_list,
++ freemem_size);
++# ifdef _LIBC
++ if (newmem != NULL)
++ transmem_list = transmem_list->next;
++ else
++ {
++ struct transmem_list *old = transmem_list;
++
++ transmem_list = transmem_list->next;
++ free (old);
++ }
++# endif
++ }
++ else
++ {
++ malloc_count = 1;
++ freemem_size = INITIAL_BLOCK_SIZE;
++ newmem = (transmem_block_t *) malloc (freemem_size);
++ }
++ if (__builtin_expect (newmem == NULL, 0))
++ {
++ freemem = NULL;
++ freemem_size = 0;
++ __libc_lock_unlock (lock);
++ goto converted;
++ }
++
++# ifdef _LIBC
++ /* Add the block to the list of blocks we have to free
++ at some point. */
++ newmem->next = transmem_list;
++ transmem_list = newmem;
++
++ freemem = newmem->data;
++ freemem_size -= offsetof (struct transmem_list, data);
++# else
++ transmem_list = newmem;
++ freemem = newmem;
++# endif
++
++ outbuf = freemem + sizeof (size_t);
++ }
++
++ /* We have now in our buffer a converted string. Put this
++ into the table of conversions. */
++ *(size_t *) freemem = outbuf - freemem - sizeof (size_t);
++ domain->conv_tab[act] = (char *) freemem;
++ /* Shrink freemem, but keep it aligned. */
++ freemem_size -= outbuf - freemem;
++ freemem = outbuf;
++ freemem += freemem_size & (alignof (size_t) - 1);
++ freemem_size = freemem_size & ~ (alignof (size_t) - 1);
++
++ __libc_lock_unlock (lock);
++ }
++
++ /* Now domain->conv_tab[act] contains the translation of all
++ the plural variants. */
++ result = domain->conv_tab[act] + sizeof (size_t);
++ resultlen = *(size_t *) domain->conv_tab[act];
++ }
++
++ converted:
++ /* The result string is converted. */
++
++#endif /* _LIBC || HAVE_ICONV */
++
++ *lengthp = resultlen;
++ return result;
++}
++
++
++/* Look up a plural variant. */
++static char *
++internal_function
++plural_lookup (struct loaded_l10nfile *domain, unsigned long int n,
++ const char *translation, size_t translation_len)
++{
++ struct loaded_domain *domaindata = (struct loaded_domain *) domain->data;
++ unsigned long int index;
++ const char *p;
++
++ index = plural_eval (domaindata->plural, n);
++ if (index >= domaindata->nplurals)
++ /* This should never happen. It means the plural expression and the
++ given maximum value do not match. */
++ index = 0;
++
++ /* Skip INDEX strings at TRANSLATION. */
++ p = translation;
++ while (index-- > 0)
++ {
++#ifdef _LIBC
++ p = __rawmemchr (p, '\0');
++#else
++ p = strchr (p, '\0');
++#endif
++ /* And skip over the NUL byte. */
++ p++;
++
++ if (p >= translation + translation_len)
++ /* This should never happen. It means the plural expression
++ evaluated to a value larger than the number of variants
++ available for MSGID1. */
++ return (char *) translation;
++ }
++ return (char *) p;
++}
++
++#ifndef _LIBC
++/* Return string representation of locale CATEGORY. */
++static const char *
++internal_function
++category_to_name (int category)
++{
++ const char *retval;
++
++ switch (category)
++ {
++#ifdef LC_COLLATE
++ case LC_COLLATE:
++ retval = "LC_COLLATE";
++ break;
++#endif
++#ifdef LC_CTYPE
++ case LC_CTYPE:
++ retval = "LC_CTYPE";
++ break;
++#endif
++#ifdef LC_MONETARY
++ case LC_MONETARY:
++ retval = "LC_MONETARY";
++ break;
++#endif
++#ifdef LC_NUMERIC
++ case LC_NUMERIC:
++ retval = "LC_NUMERIC";
++ break;
++#endif
++#ifdef LC_TIME
++ case LC_TIME:
++ retval = "LC_TIME";
++ break;
++#endif
++#ifdef LC_MESSAGES
++ case LC_MESSAGES:
++ retval = "LC_MESSAGES";
++ break;
++#endif
++#ifdef LC_RESPONSE
++ case LC_RESPONSE:
++ retval = "LC_RESPONSE";
++ break;
++#endif
++#ifdef LC_ALL
++ case LC_ALL:
++ /* This might not make sense but is perhaps better than any other
++ value. */
++ retval = "LC_ALL";
++ break;
++#endif
++ default:
++ /* If you have a better idea for a default value let me know. */
++ retval = "LC_XXX";
++ }
++
++ return retval;
++}
++#endif
++
++/* Guess value of current locale from value of the environment variables. */
++static const char *
++internal_function
++guess_category_value (int category, const char *categoryname)
++{
++ const char *language;
++ const char *retval;
++
++ /* The highest priority value is the `LANGUAGE' environment
++ variable. But we don't use the value if the currently selected
++ locale is the C locale. This is a GNU extension. */
++ language = getenv ("LANGUAGE");
++ if (language != NULL && language[0] == '\0')
++ language = NULL;
++
++ /* We have to proceed with the POSIX methods of looking to `LC_ALL',
++ `LC_xxx', and `LANG'. On some systems this can be done by the
++ `setlocale' function itself. */
++#ifdef _LIBC
++ retval = __current_locale_name (category);
++#else
++ retval = _nl_locale_name (category, categoryname);
++#endif
++
++ /* Ignore LANGUAGE if the locale is set to "C" because
++ 1. "C" locale usually uses the ASCII encoding, and most international
++ messages use non-ASCII characters. These characters get displayed
++ as question marks (if using glibc's iconv()) or as invalid 8-bit
++ characters (because other iconv()s refuse to convert most non-ASCII
++ characters to ASCII). In any case, the output is ugly.
++ 2. The precise output of some programs in the "C" locale is specified
++ by POSIX and should not depend on environment variables like
++ "LANGUAGE". We allow such programs to use gettext(). */
++ return language != NULL && strcmp (retval, "C") != 0 ? language : retval;
++}
++
++/* @@ begin of epilog @@ */
++
++/* We don't want libintl.a to depend on any other library. So we
++ avoid the non-standard function stpcpy. In GNU C Library this
++ function is available, though. Also allow the symbol HAVE_STPCPY
++ to be defined. */
++#if !_LIBC && !HAVE_STPCPY
++static char *
++stpcpy (char *dest, const char *src)
++{
++ while ((*dest++ = *src++) != '\0')
++ /* Do nothing. */ ;
++ return dest - 1;
++}
++#endif
++
++#if !_LIBC && !HAVE_MEMPCPY
++static void *
++mempcpy (void *dest, const void *src, size_t n)
++{
++ return (void *) ((char *) memcpy (dest, src, n) + n);
++}
++#endif
++
++
++#ifdef _LIBC
++/* If we want to free all resources we have to do some work at
++ program's end. */
++libc_freeres_fn (free_mem)
++{
++ void *old;
++
++ while (_nl_domain_bindings != NULL)
++ {
++ struct binding *oldp = _nl_domain_bindings;
++ _nl_domain_bindings = _nl_domain_bindings->next;
++ if (oldp->dirname != INTUSE(_nl_default_dirname))
++ /* Yes, this is a pointer comparison. */
++ free (oldp->dirname);
++ free (oldp->codeset);
++ free (oldp);
++ }
++
++ if (_nl_current_default_domain != _nl_default_default_domain)
++ /* Yes, again a pointer comparison. */
++ free ((char *) _nl_current_default_domain);
++
++ /* Remove the search tree with the known translations. */
++ __tdestroy (root, free);
++ root = NULL;
++
++ while (transmem_list != NULL)
++ {
++ old = transmem_list;
++ transmem_list = transmem_list->next;
++ free (old);
++ }
++}
++#endif
+--- lrzsz-0.12.20.safe/intl/dcngettext.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/dcngettext.c 2004-09-12 14:40:34.375745048 -0400
+@@ -0,0 +1,57 @@
++/* Implementation of the dcngettext(3) function.
++ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include "gettextP.h"
++#ifdef _LIBC
++# include <libintl.h>
++#else
++# include "libgnuintl.h"
++#endif
++
++/* @@ end of prolog @@ */
++
++/* Names for the libintl functions are a problem. They must not clash
++ with existing names and they should follow ANSI C. But this source
++ code is also used in GNU C Library where the names have a __
++ prefix. So we have to make a difference here. */
++#ifdef _LIBC
++# define DCNGETTEXT __dcngettext
++# define DCIGETTEXT __dcigettext
++#else
++# define DCNGETTEXT libintl_dcngettext
++# define DCIGETTEXT libintl_dcigettext
++#endif
++
++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
++ locale. */
++char *
++DCNGETTEXT (const char *domainname,
++ const char *msgid1, const char *msgid2, unsigned long int n,
++ int category)
++{
++ return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category);
++}
++
++#ifdef _LIBC
++/* Alias for function name in GNU C Library. */
++weak_alias (__dcngettext, dcngettext);
++#endif
+--- lrzsz-0.12.20.safe/intl/dgettext.c 1998-04-26 09:20:52.000000000 -0400
++++ lrzsz-0.12.20/intl/dgettext.c 2004-09-12 14:40:34.380744288 -0400
+@@ -1,32 +1,33 @@
+-/* dgettext.c -- implementation of the dgettext(3) function
+- Copyright (C) 1995 Software Foundation, Inc.
++/* Implementation of the dgettext(3) function.
++ Copyright (C) 1995-1997, 2000-2003 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 2, or (at your option)
+-any later version.
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ 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
++ Library General Public License for more details.
+
+-You should have received a copy of the GNU General Public License
+-along with this program; if not, write to the Free Software
+-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
+-#if defined HAVE_LOCALE_H || defined _LIBC
+-# include <locale.h>
+-#endif
++#include "gettextP.h"
++
++#include <locale.h>
+
+ #ifdef _LIBC
+ # include <libintl.h>
+ #else
+-# include "libgettext.h"
++# include "libgnuintl.h"
+ #endif
+
+ /* @@ end of prolog @@ */
+@@ -37,18 +38,16 @@
+ prefix. So we have to make a difference here. */
+ #ifdef _LIBC
+ # define DGETTEXT __dgettext
+-# define DCGETTEXT __dcgettext
++# define DCGETTEXT INTUSE(__dcgettext)
+ #else
+-# define DGETTEXT dgettext__
+-# define DCGETTEXT dcgettext__
++# define DGETTEXT libintl_dgettext
++# define DCGETTEXT libintl_dcgettext
+ #endif
+
+ /* Look up MSGID in the DOMAINNAME message catalog of the current
+ LC_MESSAGES locale. */
+ char *
+-DGETTEXT (domainname, msgid)
+- const char *domainname;
+- const char *msgid;
++DGETTEXT (const char *domainname, const char *msgid)
+ {
+ return DCGETTEXT (domainname, msgid, LC_MESSAGES);
+ }
+--- lrzsz-0.12.20.safe/intl/dngettext.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/dngettext.c 2004-09-12 14:40:34.385743528 -0400
+@@ -0,0 +1,59 @@
++/* Implementation of the dngettext(3) function.
++ Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include "gettextP.h"
++
++#include <locale.h>
++
++#ifdef _LIBC
++# include <libintl.h>
++#else
++# include "libgnuintl.h"
++#endif
++
++/* @@ end of prolog @@ */
++
++/* Names for the libintl functions are a problem. They must not clash
++ with existing names and they should follow ANSI C. But this source
++ code is also used in GNU C Library where the names have a __
++ prefix. So we have to make a difference here. */
++#ifdef _LIBC
++# define DNGETTEXT __dngettext
++# define DCNGETTEXT __dcngettext
++#else
++# define DNGETTEXT libintl_dngettext
++# define DCNGETTEXT libintl_dcngettext
++#endif
++
++/* Look up MSGID in the DOMAINNAME message catalog of the current
++ LC_MESSAGES locale and skip message according to the plural form. */
++char *
++DNGETTEXT (const char *domainname,
++ const char *msgid1, const char *msgid2, unsigned long int n)
++{
++ return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES);
++}
++
++#ifdef _LIBC
++/* Alias for function name in GNU C Library. */
++weak_alias (__dngettext, dngettext);
++#endif
+--- lrzsz-0.12.20.safe/intl/eval-plural.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/eval-plural.h 2004-09-12 14:40:34.390742768 -0400
+@@ -0,0 +1,108 @@
++/* Plural expression evaluation.
++ Copyright (C) 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef STATIC
++#define STATIC static
++#endif
++
++/* Evaluate the plural expression and return an index value. */
++STATIC
++unsigned long int
++internal_function
++plural_eval (struct expression *pexp, unsigned long int n)
++{
++ switch (pexp->nargs)
++ {
++ case 0:
++ switch (pexp->operation)
++ {
++ case var:
++ return n;
++ case num:
++ return pexp->val.num;
++ default:
++ break;
++ }
++ /* NOTREACHED */
++ break;
++ case 1:
++ {
++ /* pexp->operation must be lnot. */
++ unsigned long int arg = plural_eval (pexp->val.args[0], n);
++ return ! arg;
++ }
++ case 2:
++ {
++ unsigned long int leftarg = plural_eval (pexp->val.args[0], n);
++ if (pexp->operation == lor)
++ return leftarg || plural_eval (pexp->val.args[1], n);
++ else if (pexp->operation == land)
++ return leftarg && plural_eval (pexp->val.args[1], n);
++ else
++ {
++ unsigned long int rightarg = plural_eval (pexp->val.args[1], n);
++
++ switch (pexp->operation)
++ {
++ case mult:
++ return leftarg * rightarg;
++ case divide:
++#if !INTDIV0_RAISES_SIGFPE
++ if (rightarg == 0)
++ raise (SIGFPE);
++#endif
++ return leftarg / rightarg;
++ case module:
++#if !INTDIV0_RAISES_SIGFPE
++ if (rightarg == 0)
++ raise (SIGFPE);
++#endif
++ return leftarg % rightarg;
++ case plus:
++ return leftarg + rightarg;
++ case minus:
++ return leftarg - rightarg;
++ case less_than:
++ return leftarg < rightarg;
++ case greater_than:
++ return leftarg > rightarg;
++ case less_or_equal:
++ return leftarg <= rightarg;
++ case greater_or_equal:
++ return leftarg >= rightarg;
++ case equal:
++ return leftarg == rightarg;
++ case not_equal:
++ return leftarg != rightarg;
++ default:
++ break;
++ }
++ }
++ /* NOTREACHED */
++ break;
++ }
++ case 3:
++ {
++ /* pexp->operation must be qmop. */
++ unsigned long int boolarg = plural_eval (pexp->val.args[0], n);
++ return plural_eval (pexp->val.args[boolarg ? 1 : 2], n);
++ }
++ }
++ /* NOTREACHED */
++ return 0;
++}
+--- lrzsz-0.12.20.safe/intl/explodename.c 1998-04-26 09:22:37.000000000 -0400
++++ lrzsz-0.12.20/intl/explodename.c 2004-09-12 14:40:34.395742008 -0400
+@@ -1,19 +1,20 @@
+-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
++/* Copyright (C) 1995-1998, 2000-2001, 2003 Free Software Foundation, Inc.
+ Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -36,18 +37,23 @@
+
+ /* @@ end of prolog @@ */
+
++char *
++_nl_find_language (const char *name)
++{
++ while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
++ && name[0] != '+' && name[0] != ',')
++ ++name;
++
++ return (char *) name;
++}
++
++
+ int
+-_nl_explode_name (name, language, modifier, territory, codeset,
+- normalized_codeset, special, sponsor, revision)
+- char *name;
+- const char **language;
+- const char **modifier;
+- const char **territory;
+- const char **codeset;
+- const char **normalized_codeset;
+- const char **special;
+- const char **sponsor;
+- const char **revision;
++_nl_explode_name (char *name,
++ const char **language, const char **modifier,
++ const char **territory, const char **codeset,
++ const char **normalized_codeset, const char **special,
++ const char **sponsor, const char **revision)
+ {
+ enum { undecided, xpg, cen } syntax;
+ char *cp;
+@@ -67,9 +73,7 @@
+ mask = 0;
+ syntax = undecided;
+ *language = cp = name;
+- while (cp[0] != '\0' && cp[0] != '_' && cp[0] != '@'
+- && cp[0] != '+' && cp[0] != ',')
+- ++cp;
++ cp = _nl_find_language (*language);
+
+ if (*language == cp)
+ /* This does not make sense: language has to be specified. Use
+--- lrzsz-0.12.20.safe/intl/finddomain.c 1998-04-26 09:22:36.000000000 -0400
++++ lrzsz-0.12.20/intl/finddomain.c 2004-09-12 14:40:34.415738968 -0400
+@@ -1,64 +1,40 @@
+ /* Handle list of needed message catalogs
+- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
++ Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.
++ Written by Ulrich Drepper <drepper@gnu.org>, 1995.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
+-#include <ctype.h>
+-#include <errno.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+-
+-#if defined STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-#else
+-# ifdef HAVE_MALLOC_H
+-# include <malloc.h>
+-# else
+-void free ();
+-# endif
+-#endif
+-
+-#if defined HAVE_STRING_H || defined _LIBC
+-# include <string.h>
+-#else
+-# include <strings.h>
+-# ifndef memcpy
+-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
+-# endif
+-#endif
+-#if !HAVE_STRCHR && !defined _LIBC
+-# ifndef strchr
+-# define strchr index
+-# endif
+-#endif
++#include <stdlib.h>
++#include <string.h>
+
+ #if defined HAVE_UNISTD_H || defined _LIBC
+ # include <unistd.h>
+ #endif
+
+-#include "gettext.h"
+ #include "gettextP.h"
+ #ifdef _LIBC
+ # include <libintl.h>
+ #else
+-# include "libgettext.h"
++# include "libgnuintl.h"
+ #endif
+
+ /* @@ end of prolog @@ */
+@@ -70,10 +46,9 @@
+ the DOMAINNAME and CATEGORY parameters with respect to the currently
+ established bindings. */
+ struct loaded_l10nfile *
+-_nl_find_domain (dirname, locale, domainname)
+- const char *dirname;
+- char *locale;
+- const char *domainname;
++internal_function
++_nl_find_domain (const char *dirname, char *locale,
++ const char *domainname, struct binding *domainbinding)
+ {
+ struct loaded_l10nfile *retval;
+ const char *language;
+@@ -95,9 +70,9 @@
+
+ language[_territory][+audience][+special][,[sponsor][_revision]]
+
+- Beside the first all of them are allowed to be missing. If the
+- full specified locale is not found, the less specific one are
+- looked for. The various part will be stripped of according to
++ Beside the first part all of them are allowed to be missing. If
++ the full specified locale is not found, the less specific one are
++ looked for. The various parts will be stripped off according to
+ the following order:
+ (1) revision
+ (2) sponsor
+@@ -119,7 +94,7 @@
+ int cnt;
+
+ if (retval->decided == 0)
+- _nl_load_domain (retval);
++ _nl_load_domain (retval, domainbinding);
+
+ if (retval->data != NULL)
+ return retval;
+@@ -127,7 +102,7 @@
+ for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
+ {
+ if (retval->successor[cnt]->decided == 0)
+- _nl_load_domain (retval->successor[cnt]);
++ _nl_load_domain (retval->successor[cnt], domainbinding);
+
+ if (retval->successor[cnt]->data != NULL)
+ break;
+@@ -142,12 +117,18 @@
+ alias_value = _nl_expand_alias (locale);
+ if (alias_value != NULL)
+ {
++#if defined _LIBC || defined HAVE_STRDUP
++ locale = strdup (alias_value);
++ if (locale == NULL)
++ return NULL;
++#else
+ size_t len = strlen (alias_value) + 1;
+ locale = (char *) malloc (len);
+ if (locale == NULL)
+ return NULL;
+
+ memcpy (locale, alias_value, len);
++#endif
+ }
+
+ /* Now we determine the single parts of the locale name. First
+@@ -168,14 +149,14 @@
+ return NULL;
+
+ if (retval->decided == 0)
+- _nl_load_domain (retval);
++ _nl_load_domain (retval, domainbinding);
+ if (retval->data == NULL)
+ {
+ int cnt;
+ for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
+ {
+ if (retval->successor[cnt]->decided == 0)
+- _nl_load_domain (retval->successor[cnt]);
++ _nl_load_domain (retval->successor[cnt], domainbinding);
+ if (retval->successor[cnt]->data != NULL)
+ break;
+ }
+@@ -185,5 +166,27 @@
+ if (alias_value != NULL)
+ free (locale);
+
++ /* The space for normalized_codeset is dynamically allocated. Free it. */
++ if (mask & XPG_NORM_CODESET)
++ free ((void *) normalized_codeset);
++
+ return retval;
+ }
++
++
++#ifdef _LIBC
++libc_freeres_fn (free_mem)
++{
++ struct loaded_l10nfile *runp = _nl_loaded_domains;
++
++ while (runp != NULL)
++ {
++ struct loaded_l10nfile *here = runp;
++ if (runp->data != NULL)
++ _nl_unload_domain ((struct loaded_domain *) runp->data);
++ runp = runp->next;
++ free ((char *) here->filename);
++ free (here);
++ }
++}
++#endif
+--- lrzsz-0.12.20.safe/intl/gettext.c 1998-04-26 09:22:36.000000000 -0400
++++ lrzsz-0.12.20/intl/gettext.c 2004-09-12 14:40:34.420738208 -0400
+@@ -1,19 +1,20 @@
+-/* Implementation of gettext(3) function
+- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
++/* Implementation of gettext(3) function.
++ Copyright (C) 1995, 1997, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -23,21 +24,14 @@
+ # define __need_NULL
+ # include <stddef.h>
+ #else
+-# ifdef STDC_HEADERS
+-# include <stdlib.h> /* Just for NULL. */
+-# else
+-# ifdef HAVE_STRING_H
+-# include <string.h>
+-# else
+-# define NULL ((void *) 0)
+-# endif
+-# endif
++# include <stdlib.h> /* Just for NULL. */
+ #endif
+
++#include "gettextP.h"
+ #ifdef _LIBC
+ # include <libintl.h>
+ #else
+-# include "libgettext.h"
++# include "libgnuintl.h"
+ #endif
+
+ /* @@ end of prolog @@ */
+@@ -48,20 +42,19 @@
+ prefix. So we have to make a difference here. */
+ #ifdef _LIBC
+ # define GETTEXT __gettext
+-# define DGETTEXT __dgettext
++# define DCGETTEXT INTUSE(__dcgettext)
+ #else
+-# define GETTEXT gettext__
+-# define DGETTEXT dgettext__
++# define GETTEXT libintl_gettext
++# define DCGETTEXT libintl_dcgettext
+ #endif
+
+ /* Look up MSGID in the current default message catalog for the current
+ LC_MESSAGES locale. If not found, returns MSGID itself (the default
+ text). */
+ char *
+-GETTEXT (msgid)
+- const char *msgid;
++GETTEXT (const char *msgid)
+ {
+- return DGETTEXT (NULL, msgid);
++ return DCGETTEXT (NULL, msgid, LC_MESSAGES);
+ }
+
+ #ifdef _LIBC
+--- lrzsz-0.12.20.safe/intl/gettext.h 1998-04-26 09:22:35.000000000 -0400
++++ lrzsz-0.12.20/intl/gettext.h 1969-12-31 19:00:00.000000000 -0500
+@@ -1,105 +0,0 @@
+-/* Internal header for GNU gettext internationalization functions
+- Copyright (C) 1995, 1997 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 2, 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 Library General Public
+- License along with the GNU C Library; see the file COPYING.LIB. If not,
+- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+- Boston, MA 02111-1307, USA. */
+-
+-#ifndef _GETTEXT_H
+-#define _GETTEXT_H 1
+-
+-#include <stdio.h>
+-
+-#if HAVE_LIMITS_H || _LIBC
+-# include <limits.h>
+-#endif
+-
+-/* @@ end of prolog @@ */
+-
+-/* The magic number of the GNU message catalog format. */
+-#define _MAGIC 0x950412de
+-#define _MAGIC_SWAPPED 0xde120495
+-
+-/* Revision number of the currently used .mo (binary) file format. */
+-#define MO_REVISION_NUMBER 0
+-
+-/* The following contortions are an attempt to use the C preprocessor
+- to determine an unsigned integral type that is 32 bits wide. An
+- alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
+- doing that would require that the configure script compile and *run*
+- the resulting executable. Locally running cross-compiled executables
+- is usually not possible. */
+-
+-#if __STDC__
+-# define UINT_MAX_32_BITS 4294967295U
+-#else
+-# define UINT_MAX_32_BITS 0xFFFFFFFF
+-#endif
+-
+-/* If UINT_MAX isn't defined, assume it's a 32-bit type.
+- This should be valid for all systems GNU cares about because
+- that doesn't include 16-bit systems, and only modern systems
+- (that certainly have <limits.h>) have 64+-bit integral types. */
+-
+-#ifndef UINT_MAX
+-# define UINT_MAX UINT_MAX_32_BITS
+-#endif
+-
+-#if UINT_MAX == UINT_MAX_32_BITS
+-typedef unsigned nls_uint32;
+-#else
+-# if USHRT_MAX == UINT_MAX_32_BITS
+-typedef unsigned short nls_uint32;
+-# else
+-# if ULONG_MAX == UINT_MAX_32_BITS
+-typedef unsigned long nls_uint32;
+-# else
+- /* The following line is intended to throw an error. Using #error is
+- not portable enough. */
+- "Cannot determine unsigned 32-bit data type."
+-# endif
+-# endif
+-#endif
+-
+-
+-/* Header for binary .mo file format. */
+-struct mo_file_header
+-{
+- /* The magic number. */
+- nls_uint32 magic;
+- /* The revision number of the file format. */
+- nls_uint32 revision;
+- /* The number of strings pairs. */
+- nls_uint32 nstrings;
+- /* Offset of table with start offsets of original strings. */
+- nls_uint32 orig_tab_offset;
+- /* Offset of table with start offsets of translation strings. */
+- nls_uint32 trans_tab_offset;
+- /* Size of hashing table. */
+- nls_uint32 hash_tab_size;
+- /* Offset of first hashing entry. */
+- nls_uint32 hash_tab_offset;
+-};
+-
+-struct string_desc
+-{
+- /* Length of addressed string. */
+- nls_uint32 length;
+- /* Offset of string in file. */
+- nls_uint32 offset;
+-};
+-
+-/* @@ begin of epilog @@ */
+-
+-#endif /* gettext.h */
+--- lrzsz-0.12.20.safe/intl/gettextP.h 1998-04-26 09:22:35.000000000 -0400
++++ lrzsz-0.12.20/intl/gettextP.h 2004-09-12 14:40:34.426737296 -0400
+@@ -1,33 +1,53 @@
+-/* Header describing internals of gettext library
+- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
++/* Header describing internals of libintl library.
++ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
++ Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifndef _GETTEXTP_H
+ #define _GETTEXTP_H
+
++#include <stddef.h> /* Get size_t. */
++
++#ifdef _LIBC
++# include "../iconv/gconv_int.h"
++#else
++# if HAVE_ICONV
++# include <iconv.h>
++# endif
++#endif
++
+ #include "loadinfo.h"
+
++#include "gmo.h" /* Get nls_uint32. */
++
+ /* @@ end of prolog @@ */
+
+-#ifndef PARAMS
+-# if __STDC__
+-# define PARAMS(args) args
+-# else
+-# define PARAMS(args) ()
+-# endif
++#ifndef internal_function
++# define internal_function
++#endif
++
++#ifndef attribute_hidden
++# define attribute_hidden
++#endif
++
++/* Tell the compiler when a conditional or integer expression is
++ almost always true or almost always false. */
++#ifndef HAVE_BUILTIN_EXPECT
++# define __builtin_expect(expr, val) (expr)
+ #endif
+
+ #ifndef W
+@@ -35,38 +55,160 @@
+ #endif
+
+
+-static nls_uint32 SWAP PARAMS ((nls_uint32 i));
+-
++#ifdef _LIBC
++# include <byteswap.h>
++# define SWAP(i) bswap_32 (i)
++#else
+ static inline nls_uint32
+ SWAP (i)
+ nls_uint32 i;
+ {
+ return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
+ }
++#endif
++
+
++/* In-memory representation of system dependent string. */
++struct sysdep_string_desc
++{
++ /* Length of addressed string, including the trailing NUL. */
++ size_t length;
++ /* Pointer to addressed string. */
++ const char *pointer;
++};
+
++/* The representation of an opened message catalog. */
+ struct loaded_domain
+ {
++ /* Pointer to memory containing the .mo file. */
+ const char *data;
++ /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */
++ int use_mmap;
++ /* Size of mmap()ed memory. */
++ size_t mmap_size;
++ /* 1 if the .mo file uses a different endianness than this machine. */
+ int must_swap;
++ /* Pointer to additional malloc()ed memory. */
++ void *malloced;
++
++ /* Number of static strings pairs. */
+ nls_uint32 nstrings;
+- struct string_desc *orig_tab;
+- struct string_desc *trans_tab;
++ /* Pointer to descriptors of original strings in the file. */
++ const struct string_desc *orig_tab;
++ /* Pointer to descriptors of translated strings in the file. */
++ const struct string_desc *trans_tab;
++
++ /* Number of system dependent strings pairs. */
++ nls_uint32 n_sysdep_strings;
++ /* Pointer to descriptors of original sysdep strings. */
++ const struct sysdep_string_desc *orig_sysdep_tab;
++ /* Pointer to descriptors of translated sysdep strings. */
++ const struct sysdep_string_desc *trans_sysdep_tab;
++
++ /* Size of hash table. */
+ nls_uint32 hash_size;
+- nls_uint32 *hash_tab;
++ /* Pointer to hash table. */
++ const nls_uint32 *hash_tab;
++ /* 1 if the hash table uses a different endianness than this machine. */
++ int must_swap_hash_tab;
++
++ int codeset_cntr;
++#ifdef _LIBC
++ __gconv_t conv;
++#else
++# if HAVE_ICONV
++ iconv_t conv;
++# endif
++#endif
++ char **conv_tab;
++
++ struct expression *plural;
++ unsigned long int nplurals;
+ };
+
++/* We want to allocate a string at the end of the struct. But ISO C
++ doesn't allow zero sized arrays. */
++#ifdef __GNUC__
++# define ZERO 0
++#else
++# define ZERO 1
++#endif
++
++/* A set of settings bound to a message domain. Used to store settings
++ from bindtextdomain() and bind_textdomain_codeset(). */
+ struct binding
+ {
+ struct binding *next;
+- char *domainname;
+ char *dirname;
++ int codeset_cntr; /* Incremented each time codeset changes. */
++ char *codeset;
++ char domainname[ZERO];
+ };
+
+-struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
+- char *__locale,
+- const char *__domainname));
+-void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain));
++/* A counter which is incremented each time some previous translations
++ become invalid.
++ This variable is part of the external ABI of the GNU libintl. */
++extern int _nl_msg_cat_cntr;
++
++#ifndef _LIBC
++const char *_nl_locale_name (int category, const char *categoryname);
++#endif
++
++struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale,
++ const char *__domainname,
++ struct binding *__domainbinding)
++ internal_function;
++void _nl_load_domain (struct loaded_l10nfile *__domain,
++ struct binding *__domainbinding)
++ internal_function;
++void _nl_unload_domain (struct loaded_domain *__domain)
++ internal_function;
++const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file,
++ struct loaded_domain *__domain,
++ struct binding *__domainbinding)
++ internal_function;
++void _nl_free_domain_conv (struct loaded_domain *__domain)
++ internal_function;
++
++char *_nl_find_msg (struct loaded_l10nfile *domain_file,
++ struct binding *domainbinding, const char *msgid,
++ size_t *lengthp)
++ internal_function;
++
++#ifdef _LIBC
++extern char *__gettext (const char *__msgid);
++extern char *__dgettext (const char *__domainname, const char *__msgid);
++extern char *__dcgettext (const char *__domainname, const char *__msgid,
++ int __category);
++extern char *__ngettext (const char *__msgid1, const char *__msgid2,
++ unsigned long int __n);
++extern char *__dngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int n);
++extern char *__dcngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n, int __category);
++extern char *__dcigettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ int __plural, unsigned long int __n,
++ int __category);
++extern char *__textdomain (const char *__domainname);
++extern char *__bindtextdomain (const char *__domainname,
++ const char *__dirname);
++extern char *__bind_textdomain_codeset (const char *__domainname,
++ const char *__codeset);
++#else
++/* Declare the exported libintl_* functions, in a way that allows us to
++ call them under their real name. */
++# undef _INTL_REDIRECT_INLINE
++# undef _INTL_REDIRECT_MACROS
++# define _INTL_REDIRECT_MACROS
++# include "libgnuintl.h"
++extern char *libintl_dcigettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ int __plural, unsigned long int __n,
++ int __category);
++#endif
+
+ /* @@ begin of epilog @@ */
+
+--- lrzsz-0.12.20.safe/intl/gmo.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/gmo.h 2004-09-12 14:40:34.431736536 -0400
+@@ -0,0 +1,149 @@
++/* Description of GNU message catalog format: general file layout.
++ Copyright (C) 1995, 1997, 2000-2002, 2004 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _GETTEXT_H
++#define _GETTEXT_H 1
++
++#include <limits.h>
++
++/* @@ end of prolog @@ */
++
++/* The magic number of the GNU message catalog format. */
++#define _MAGIC 0x950412de
++#define _MAGIC_SWAPPED 0xde120495
++
++/* Revision number of the currently used .mo (binary) file format. */
++#define MO_REVISION_NUMBER 0
++#define MO_REVISION_NUMBER_WITH_SYSDEP_I 1
++
++/* The following contortions are an attempt to use the C preprocessor
++ to determine an unsigned integral type that is 32 bits wide. An
++ alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
++ as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work
++ when cross-compiling. */
++
++#if __STDC__
++# define UINT_MAX_32_BITS 4294967295U
++#else
++# define UINT_MAX_32_BITS 0xFFFFFFFF
++#endif
++
++/* If UINT_MAX isn't defined, assume it's a 32-bit type.
++ This should be valid for all systems GNU cares about because
++ that doesn't include 16-bit systems, and only modern systems
++ (that certainly have <limits.h>) have 64+-bit integral types. */
++
++#ifndef UINT_MAX
++# define UINT_MAX UINT_MAX_32_BITS
++#endif
++
++#if UINT_MAX == UINT_MAX_32_BITS
++typedef unsigned nls_uint32;
++#else
++# if USHRT_MAX == UINT_MAX_32_BITS
++typedef unsigned short nls_uint32;
++# else
++# if ULONG_MAX == UINT_MAX_32_BITS
++typedef unsigned long nls_uint32;
++# else
++ /* The following line is intended to throw an error. Using #error is
++ not portable enough. */
++ "Cannot determine unsigned 32-bit data type."
++# endif
++# endif
++#endif
++
++
++/* Header for binary .mo file format. */
++struct mo_file_header
++{
++ /* The magic number. */
++ nls_uint32 magic;
++ /* The revision number of the file format. */
++ nls_uint32 revision;
++
++ /* The following are only used in .mo files with major revision 0 or 1. */
++
++ /* The number of strings pairs. */
++ nls_uint32 nstrings;
++ /* Offset of table with start offsets of original strings. */
++ nls_uint32 orig_tab_offset;
++ /* Offset of table with start offsets of translated strings. */
++ nls_uint32 trans_tab_offset;
++ /* Size of hash table. */
++ nls_uint32 hash_tab_size;
++ /* Offset of first hash table entry. */
++ nls_uint32 hash_tab_offset;
++
++ /* The following are only used in .mo files with minor revision >= 1. */
++
++ /* The number of system dependent segments. */
++ nls_uint32 n_sysdep_segments;
++ /* Offset of table describing system dependent segments. */
++ nls_uint32 sysdep_segments_offset;
++ /* The number of system dependent strings pairs. */
++ nls_uint32 n_sysdep_strings;
++ /* Offset of table with start offsets of original sysdep strings. */
++ nls_uint32 orig_sysdep_tab_offset;
++ /* Offset of table with start offsets of translated sysdep strings. */
++ nls_uint32 trans_sysdep_tab_offset;
++};
++
++/* Descriptor for static string contained in the binary .mo file. */
++struct string_desc
++{
++ /* Length of addressed string, not including the trailing NUL. */
++ nls_uint32 length;
++ /* Offset of string in file. */
++ nls_uint32 offset;
++};
++
++/* The following are only used in .mo files with minor revision >= 1. */
++
++/* Descriptor for system dependent string segment. */
++struct sysdep_segment
++{
++ /* Length of addressed string, including the trailing NUL. */
++ nls_uint32 length;
++ /* Offset of string in file. */
++ nls_uint32 offset;
++};
++
++/* Descriptor for system dependent string. */
++struct sysdep_string
++{
++ /* Offset of static string segments in file. */
++ nls_uint32 offset;
++ /* Alternating sequence of static and system dependent segments.
++ The last segment is a static segment, including the trailing NUL. */
++ struct segment_pair
++ {
++ /* Size of static segment. */
++ nls_uint32 segsize;
++ /* Reference to system dependent string segment, or ~0 at the end. */
++ nls_uint32 sysdepref;
++ } segments[1];
++};
++
++/* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF,
++ regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */
++#define SEGMENTS_END ((nls_uint32) ~0)
++
++/* @@ begin of epilog @@ */
++
++#endif /* gettext.h */
+--- lrzsz-0.12.20.safe/intl/hash-string.h 1998-04-26 09:22:36.000000000 -0400
++++ lrzsz-0.12.20/intl/hash-string.h 2004-09-12 14:40:34.436735776 -0400
+@@ -1,35 +1,23 @@
+-/* Implements a string hashing function.
+- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
++/* Description of GNU message catalog format: string hashing function.
++ Copyright (C) 1995, 1997-1998, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+- License along with the GNU C Library; see the file COPYING.LIB. If not,
+- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+- Boston, MA 02111-1307, USA. */
+-
+-#ifdef HAVE_VALUES_H
+-# include <values.h>
+-#endif
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ /* @@ end of prolog @@ */
+
+-#ifndef PARAMS
+-# if __STDC__
+-# define PARAMS(Args) Args
+-# else
+-# define PARAMS(Args) ()
+-# endif
+-#endif
+-
+ /* We assume to have `unsigned long int' value with at least 32 bits. */
+ #define HASHWORDBITS 32
+
+@@ -37,11 +25,8 @@
+ /* Defines the so called `hashpjw' function by P.J. Weinberger
+ [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
+ 1986, 1987 Bell Telephone Laboratories, Inc.] */
+-static unsigned long hash_string PARAMS ((const char *__str_param));
+-
+-static inline unsigned long
+-hash_string (str_param)
+- const char *str_param;
++static inline unsigned long int
++hash_string (const char *str_param)
+ {
+ unsigned long int hval, g;
+ const char *str = str_param;
+@@ -51,8 +36,8 @@
+ while (*str != '\0')
+ {
+ hval <<= 4;
+- hval += (unsigned long) *str++;
+- g = hval & ((unsigned long) 0xf << (HASHWORDBITS - 4));
++ hval += (unsigned char) *str++;
++ g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
+ if (g != 0)
+ {
+ hval ^= g >> (HASHWORDBITS - 8);
+--- lrzsz-0.12.20.safe/intl/intl-compat.c 1998-04-26 09:20:52.000000000 -0400
++++ lrzsz-0.12.20/intl/intl-compat.c 2004-09-12 14:40:34.441735016 -0400
+@@ -1,76 +1,131 @@
+ /* intl-compat.c - Stub functions to call gettext functions from GNU gettext
+ Library.
+- Copyright (C) 1995 Software Foundation, Inc.
++ Copyright (C) 1995, 2000-2003 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 2, or (at your option)
+-any later version.
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ 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
++ Library General Public License for more details.
+
+-You should have received a copy of the GNU General Public License
+-along with this program; if not, write to the Free Software
+-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
+-#include "libgettext.h"
++#include "gettextP.h"
+
+ /* @@ end of prolog @@ */
+
++/* This file redirects the gettext functions (without prefix) to those
++ defined in the included GNU libintl library (with "libintl_" prefix).
++ It is compiled into libintl in order to make the AM_GNU_GETTEXT test
++ of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which
++ has the redirections primarily in the <libintl.h> include file.
++ It is also compiled into libgnuintl so that libgnuintl.so can be used
++ as LD_PRELOADable library on glibc systems, to provide the extra
++ features that the functions in the libc don't have (namely, logging). */
++
+
+ #undef gettext
+ #undef dgettext
+ #undef dcgettext
++#undef ngettext
++#undef dngettext
++#undef dcngettext
+ #undef textdomain
+ #undef bindtextdomain
++#undef bind_textdomain_codeset
++
++
++/* When building a DLL, we must export some functions. Note that because
++ the functions are only defined for binary backward compatibility, we
++ don't need to use __declspec(dllimport) in any case. */
++#if defined _MSC_VER && BUILDING_DLL
++# define DLL_EXPORTED __declspec(dllexport)
++#else
++# define DLL_EXPORTED
++#endif
+
+
++DLL_EXPORTED
+ char *
+-bindtextdomain (domainname, dirname)
+- const char *domainname;
+- const char *dirname;
++gettext (const char *msgid)
+ {
+- return bindtextdomain__ (domainname, dirname);
++ return libintl_gettext (msgid);
+ }
+
+
++DLL_EXPORTED
+ char *
+-dcgettext (domainname, msgid, category)
+- const char *domainname;
+- const char *msgid;
+- int category;
++dgettext (const char *domainname, const char *msgid)
+ {
+- return dcgettext__ (domainname, msgid, category);
++ return libintl_dgettext (domainname, msgid);
+ }
+
+
++DLL_EXPORTED
+ char *
+-dgettext (domainname, msgid)
+- const char *domainname;
+- const char *msgid;
++dcgettext (const char *domainname, const char *msgid, int category)
+ {
+- return dgettext__ (domainname, msgid);
++ return libintl_dcgettext (domainname, msgid, category);
+ }
+
+
++DLL_EXPORTED
+ char *
+-gettext (msgid)
+- const char *msgid;
++ngettext (const char *msgid1, const char *msgid2, unsigned long int n)
+ {
+- return gettext__ (msgid);
++ return libintl_ngettext (msgid1, msgid2, n);
+ }
+
+
++DLL_EXPORTED
+ char *
+-textdomain (domainname)
+- const char *domainname;
++dngettext (const char *domainname,
++ const char *msgid1, const char *msgid2, unsigned long int n)
+ {
+- return textdomain__ (domainname);
++ return libintl_dngettext (domainname, msgid1, msgid2, n);
++}
++
++
++DLL_EXPORTED
++char *
++dcngettext (const char *domainname,
++ const char *msgid1, const char *msgid2, unsigned long int n,
++ int category)
++{
++ return libintl_dcngettext (domainname, msgid1, msgid2, n, category);
++}
++
++
++DLL_EXPORTED
++char *
++textdomain (const char *domainname)
++{
++ return libintl_textdomain (domainname);
++}
++
++
++DLL_EXPORTED
++char *
++bindtextdomain (const char *domainname, const char *dirname)
++{
++ return libintl_bindtextdomain (domainname, dirname);
++}
++
++
++DLL_EXPORTED
++char *
++bind_textdomain_codeset (const char *domainname, const char *codeset)
++{
++ return libintl_bind_textdomain_codeset (domainname, codeset);
+ }
+--- lrzsz-0.12.20.safe/intl/l10nflist.c 1998-04-26 09:22:37.000000000 -0400
++++ lrzsz-0.12.20/intl/l10nflist.c 2004-09-12 14:40:34.457732584 -0400
+@@ -1,52 +1,40 @@
+-/* Handle list of needed message catalogs
+- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
++/* Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
++ Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Tell glibc's <string.h> to provide a prototype for stpcpy().
++ This must come before <config.h> because <config.h> may include
++ <features.h>, and once <features.h> has been included, it's too late. */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
+-
+-#if defined HAVE_STRING_H || defined _LIBC
+-# ifndef _GNU_SOURCE
+-# define _GNU_SOURCE 1
+-# endif
+-# include <string.h>
+-#else
+-# include <strings.h>
+-# ifndef memcpy
+-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
+-# endif
+-#endif
+-#if !HAVE_STRCHR && !defined _LIBC
+-# ifndef strchr
+-# define strchr index
+-# endif
+-#endif
++#include <string.h>
+
+ #if defined _LIBC || defined HAVE_ARGZ_H
+ # include <argz.h>
+ #endif
+ #include <ctype.h>
+ #include <sys/types.h>
+-
+-#if defined STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-#endif
++#include <stdlib.h>
+
+ #include "loadinfo.h"
+
+@@ -65,23 +53,39 @@
+ /* Rename the non ANSI C functions. This is required by the standard
+ because some ANSI C functions will require linking with this object
+ file and the name space must not be polluted. */
+-# define stpcpy(dest, src) __stpcpy(dest, src)
++# ifndef stpcpy
++# define stpcpy(dest, src) __stpcpy(dest, src)
++# endif
+ #else
+ # ifndef HAVE_STPCPY
+-static char *stpcpy PARAMS ((char *dest, const char *src));
++static char *stpcpy (char *dest, const char *src);
+ # endif
+ #endif
+
++/* Pathname support.
++ ISSLASH(C) tests whether C is a directory separator character.
++ IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,
++ it may be concatenated to a directory pathname.
++ */
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++# define HAS_DEVICE(P) \
++ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
++ && (P)[1] == ':')
++# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
++#else
++ /* Unix */
++# define ISSLASH(C) ((C) == '/')
++# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
++#endif
++
+ /* Define function which are usually not available. */
+
+ #if !defined _LIBC && !defined HAVE___ARGZ_COUNT
+ /* Returns the number of strings in ARGZ. */
+-static size_t argz_count__ PARAMS ((const char *argz, size_t len));
+-
+ static size_t
+-argz_count__ (argz, len)
+- const char *argz;
+- size_t len;
++argz_count__ (const char *argz, size_t len)
+ {
+ size_t count = 0;
+ while (len > 0)
+@@ -95,18 +99,17 @@
+ }
+ # undef __argz_count
+ # define __argz_count(argz, len) argz_count__ (argz, len)
++#else
++# ifdef _LIBC
++# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)
++# endif
+ #endif /* !_LIBC && !HAVE___ARGZ_COUNT */
+
+ #if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
+ /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
+ except the last into the character SEP. */
+-static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));
+-
+ static void
+-argz_stringify__ (argz, len, sep)
+- char *argz;
+- size_t len;
+- int sep;
++argz_stringify__ (char *argz, size_t len, int sep)
+ {
+ while (len > 0)
+ {
+@@ -119,17 +122,16 @@
+ }
+ # undef __argz_stringify
+ # define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
++#else
++# ifdef _LIBC
++# define __argz_stringify(argz, len, sep) \
++ INTUSE(__argz_stringify) (argz, len, sep)
++# endif
+ #endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */
+
+ #if !defined _LIBC && !defined HAVE___ARGZ_NEXT
+-static char *argz_next__ PARAMS ((char *argz, size_t argz_len,
+- const char *entry));
+-
+ static char *
+-argz_next__ (argz, argz_len, entry)
+- char *argz;
+- size_t argz_len;
+- const char *entry;
++argz_next__ (char *argz, size_t argz_len, const char *entry)
+ {
+ if (entry)
+ {
+@@ -150,11 +152,8 @@
+
+
+ /* Return number of bits set in X. */
+-static int pop PARAMS ((int x));
+-
+ static inline int
+-pop (x)
+- int x;
++pop (int x)
+ {
+ /* We assume that no more than 16 bits are used. */
+ x = ((x & ~0x5555) >> 1) + (x & 0x5555);
+@@ -167,31 +166,27 @@
+
+
+ struct loaded_l10nfile *
+-_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
+- territory, codeset, normalized_codeset, modifier, special,
+- sponsor, revision, filename, do_allocate)
+- struct loaded_l10nfile **l10nfile_list;
+- const char *dirlist;
+- size_t dirlist_len;
+- int mask;
+- const char *language;
+- const char *territory;
+- const char *codeset;
+- const char *normalized_codeset;
+- const char *modifier;
+- const char *special;
+- const char *sponsor;
+- const char *revision;
+- const char *filename;
+- int do_allocate;
++_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
++ const char *dirlist, size_t dirlist_len,
++ int mask, const char *language, const char *territory,
++ const char *codeset, const char *normalized_codeset,
++ const char *modifier, const char *special,
++ const char *sponsor, const char *revision,
++ const char *filename, int do_allocate)
+ {
+ char *abs_filename;
+- struct loaded_l10nfile *last = NULL;
++ struct loaded_l10nfile **lastp;
+ struct loaded_l10nfile *retval;
+ char *cp;
++ size_t dirlist_count;
+ size_t entries;
+ int cnt;
+
++ /* If LANGUAGE contains an absolute directory specification, we ignore
++ DIRLIST. */
++ if (IS_ABSOLUTE_PATH (language))
++ dirlist_len = 0;
++
+ /* Allocate room for the full file name. */
+ abs_filename = (char *) malloc (dirlist_len
+ + strlen (language)
+@@ -209,7 +204,7 @@
+ + (((mask & CEN_SPONSOR) != 0
+ || (mask & CEN_REVISION) != 0)
+ ? (1 + ((mask & CEN_SPONSOR) != 0
+- ? strlen (sponsor) + 1 : 0)
++ ? strlen (sponsor) : 0)
+ + ((mask & CEN_REVISION) != 0
+ ? strlen (revision) + 1 : 0)) : 0)
+ + 1 + strlen (filename) + 1);
+@@ -217,14 +212,16 @@
+ if (abs_filename == NULL)
+ return NULL;
+
+- retval = NULL;
+- last = NULL;
+-
+ /* Construct file name. */
+- memcpy (abs_filename, dirlist, dirlist_len);
+- __argz_stringify (abs_filename, dirlist_len, ':');
+- cp = abs_filename + (dirlist_len - 1);
+- *cp++ = '/';
++ cp = abs_filename;
++ if (dirlist_len > 0)
++ {
++ memcpy (cp, dirlist, dirlist_len);
++ __argz_stringify (cp, dirlist_len, PATH_SEPARATOR);
++ cp += dirlist_len;
++ cp[-1] = '/';
++ }
++
+ cp = stpcpy (cp, language);
+
+ if ((mask & TERRITORY) != 0)
+@@ -271,7 +268,7 @@
+
+ /* Look in list of already loaded domains whether it is already
+ available. */
+- last = NULL;
++ lastp = l10nfile_list;
+ for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
+ if (retval->filename != NULL)
+ {
+@@ -286,7 +283,7 @@
+ break;
+ }
+
+- last = retval;
++ lastp = &retval->next;
+ }
+
+ if (retval != NULL || do_allocate == 0)
+@@ -295,48 +292,66 @@
+ return retval;
+ }
+
+- retval = (struct loaded_l10nfile *)
+- malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
+- * (1 << pop (mask))
+- * sizeof (struct loaded_l10nfile *)));
++ dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1);
++
++ /* Allocate a new loaded_l10nfile. */
++ retval =
++ (struct loaded_l10nfile *)
++ malloc (sizeof (*retval)
++ + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0))
++ * sizeof (struct loaded_l10nfile *)));
+ if (retval == NULL)
+ return NULL;
+
+ retval->filename = abs_filename;
+- retval->decided = (__argz_count (dirlist, dirlist_len) != 1
++
++ /* We set retval->data to NULL here; it is filled in later.
++ Setting retval->decided to 1 here means that retval does not
++ correspond to a real file (dirlist_count > 1) or is not worth
++ looking up (if an unnormalized codeset was specified). */
++ retval->decided = (dirlist_count > 1
+ || ((mask & XPG_CODESET) != 0
+ && (mask & XPG_NORM_CODESET) != 0));
+ retval->data = NULL;
+
+- if (last == NULL)
+- {
+- retval->next = *l10nfile_list;
+- *l10nfile_list = retval;
+- }
+- else
+- {
+- retval->next = last->next;
+- last->next = retval;
+- }
++ retval->next = *lastp;
++ *lastp = retval;
+
+ entries = 0;
+- /* If the DIRLIST is a real list the RETVAL entry corresponds not to
+- a real file. So we have to use the DIRLIST separation mechanism
+- of the inner loop. */
+- cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
+- for (; cnt >= 0; --cnt)
++ /* Recurse to fill the inheritance list of RETVAL.
++ If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL
++ entry does not correspond to a real file; retval->filename contains
++ colons. In this case we loop across all elements of DIRLIST and
++ across all bit patterns dominated by MASK.
++ If the DIRLIST is a single directory or entirely redundant (i.e.
++ DIRLIST_COUNT == 1), we loop across all bit patterns dominated by
++ MASK, excluding MASK itself.
++ In either case, we loop down from MASK to 0. This has the effect
++ that the extra bits in the locale name are dropped in this order:
++ first the modifier, then the territory, then the codeset, then the
++ normalized_codeset. */
++ for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt)
+ if ((cnt & ~mask) == 0
+ && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
+ && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
+ {
+- /* Iterate over all elements of the DIRLIST. */
+- char *dir = NULL;
++ if (dirlist_count > 1)
++ {
++ /* Iterate over all elements of the DIRLIST. */
++ char *dir = NULL;
+
+- while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
+- != NULL)
++ while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
++ != NULL)
++ retval->successor[entries++]
++ = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1,
++ cnt, language, territory, codeset,
++ normalized_codeset, modifier, special,
++ sponsor, revision, filename, 1);
++ }
++ else
+ retval->successor[entries++]
+- = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,
+- language, territory, codeset,
++ = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len,
++ cnt, language, territory, codeset,
+ normalized_codeset, modifier, special,
+ sponsor, revision, filename, 1);
+ }
+@@ -347,11 +362,10 @@
+
+ /* Normalize codeset name. There is no standard for the codeset
+ names. Normalization allows the user to use any of the common
+- names. */
++ names. The return value is dynamically allocated and has to be
++ freed by the caller. */
+ const char *
+-_nl_normalize_codeset (codeset, name_len)
+- const char *codeset;
+- size_t name_len;
++_nl_normalize_codeset (const char *codeset, size_t name_len)
+ {
+ int len = 0;
+ int only_digit = 1;
+@@ -360,11 +374,11 @@
+ size_t cnt;
+
+ for (cnt = 0; cnt < name_len; ++cnt)
+- if (isalnum (codeset[cnt]))
++ if (isalnum ((unsigned char) codeset[cnt]))
+ {
+ ++len;
+
+- if (isalpha (codeset[cnt]))
++ if (isalpha ((unsigned char) codeset[cnt]))
+ only_digit = 0;
+ }
+
+@@ -378,9 +392,9 @@
+ wp = retval;
+
+ for (cnt = 0; cnt < name_len; ++cnt)
+- if (isalpha (codeset[cnt]))
+- *wp++ = tolower (codeset[cnt]);
+- else if (isdigit (codeset[cnt]))
++ if (isalpha ((unsigned char) codeset[cnt]))
++ *wp++ = tolower ((unsigned char) codeset[cnt]);
++ else if (isdigit ((unsigned char) codeset[cnt]))
+ *wp++ = codeset[cnt];
+
+ *wp = '\0';
+@@ -398,9 +412,7 @@
+ to be defined. */
+ #if !_LIBC && !HAVE_STPCPY
+ static char *
+-stpcpy (dest, src)
+- char *dest;
+- const char *src;
++stpcpy (char *dest, const char *src)
+ {
+ while ((*dest++ = *src++) != '\0')
+ /* Do nothing. */ ;
+--- lrzsz-0.12.20.safe/intl/libgettext.h 1998-04-26 09:22:36.000000000 -0400
++++ lrzsz-0.12.20/intl/libgettext.h 1969-12-31 19:00:00.000000000 -0500
+@@ -1,182 +0,0 @@
+-/* Message catalogs for internationalization.
+- Copyright (C) 1995, 1996, 1997 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 2, or (at your option)
+- any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+-
+-/* Because on some systems (e.g. Solaris) we sometimes have to include
+- the systems libintl.h as well as this file we have more complex
+- include protection above. But the systems header might perhaps also
+- define _LIBINTL_H and therefore we have to protect the definition here. */
+-
+-#if !defined (_LIBINTL_H) || !defined (_LIBGETTEXT_H)
+-#if !defined (_LIBINTL_H)
+-# define _LIBINTL_H 1
+-#endif
+-#define _LIBGETTEXT_H 1
+-
+-/* We define an additional symbol to signal that we use the GNU
+- implementation of gettext. */
+-#define __USE_GNU_GETTEXT 1
+-
+-#include <sys/types.h>
+-
+-#if HAVE_LOCALE_H
+-# include <locale.h>
+-#endif
+-
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-/* @@ end of prolog @@ */
+-
+-#ifndef PARAMS
+-# if __STDC__
+-# define PARAMS(args) args
+-# else
+-# define PARAMS(args) ()
+-# endif
+-#endif
+-
+-#ifndef NULL
+-# if !defined __cplusplus || defined __GNUC__
+-# define NULL ((void *) 0)
+-# else
+-# define NULL (0)
+-# endif
+-#endif
+-
+-#if !HAVE_LC_MESSAGES
+-/* This value determines the behaviour of the gettext() and dgettext()
+- function. But some system does not have this defined. Define it
+- to a default value. */
+-# define LC_MESSAGES (-1)
+-#endif
+-
+-
+-/* Declarations for gettext-using-catgets interface. Derived from
+- Jim Meyering's libintl.h. */
+-struct _msg_ent
+-{
+- const char *_msg;
+- int _msg_number;
+-};
+-
+-
+-#if HAVE_CATGETS
+-/* These two variables are defined in the automatically by po-to-tbl.sed
+- generated file `cat-id-tbl.c'. */
+-extern const struct _msg_ent _msg_tbl[];
+-extern int _msg_tbl_length;
+-#endif
+-
+-
+-/* For automatical extraction of messages sometimes no real
+- translation is needed. Instead the string itself is the result. */
+-#define gettext_noop(Str) (Str)
+-
+-/* Look up MSGID in the current default message catalog for the current
+- LC_MESSAGES locale. If not found, returns MSGID itself (the default
+- text). */
+-extern char *gettext PARAMS ((const char *__msgid));
+-extern char *gettext__ PARAMS ((const char *__msgid));
+-
+-/* Look up MSGID in the DOMAINNAME message catalog for the current
+- LC_MESSAGES locale. */
+-extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
+-extern char *dgettext__ PARAMS ((const char *__domainname,
+- const char *__msgid));
+-
+-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
+- locale. */
+-extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
+- int __category));
+-extern char *dcgettext__ PARAMS ((const char *__domainname,
+- const char *__msgid, int __category));
+-
+-
+-/* Set the current default message catalog to DOMAINNAME.
+- If DOMAINNAME is null, return the current default.
+- If DOMAINNAME is "", reset to the default of "messages". */
+-extern char *textdomain PARAMS ((const char *__domainname));
+-extern char *textdomain__ PARAMS ((const char *__domainname));
+-
+-/* Specify that the DOMAINNAME message catalog will be found
+- in DIRNAME rather than in the system locale data base. */
+-extern char *bindtextdomain PARAMS ((const char *__domainname,
+- const char *__dirname));
+-extern char *bindtextdomain__ PARAMS ((const char *__domainname,
+- const char *__dirname));
+-
+-#if ENABLE_NLS
+-
+-/* Solaris 2.3 has the gettext function but dcgettext is missing.
+- So we omit this optimization for Solaris 2.3. BTW, Solaris 2.4
+- has dcgettext. */
+-# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT)
+-
+-# define gettext(Msgid) \
+- dgettext (NULL, Msgid)
+-
+-# define dgettext(Domainname, Msgid) \
+- dcgettext (Domainname, Msgid, LC_MESSAGES)
+-
+-# if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7
+-/* This global variable is defined in loadmsgcat.c. We need a sign,
+- whether a new catalog was loaded, which can be associated with all
+- translations. */
+-extern int _nl_msg_cat_cntr;
+-
+-# define dcgettext(Domainname, Msgid, Category) \
+- (__extension__ \
+- ({ \
+- char *__result; \
+- if (__builtin_constant_p (Msgid)) \
+- { \
+- static char *__translation__; \
+- static int __catalog_counter__; \
+- if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \
+- { \
+- __translation__ = \
+- dcgettext__ (Domainname, Msgid, Category); \
+- __catalog_counter__ = _nl_msg_cat_cntr; \
+- } \
+- __result = __translation__; \
+- } \
+- else \
+- __result = dcgettext__ (Domainname, Msgid, Category); \
+- __result; \
+- }))
+-# endif
+-# endif
+-
+-#else
+-
+-# define gettext(Msgid) (Msgid)
+-# define dgettext(Domainname, Msgid) (Msgid)
+-# define dcgettext(Domainname, Msgid, Category) (Msgid)
+-# define textdomain(Domainname) while (0) /* nothing */
+-# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */
+-
+-#endif
+-
+-/* @@ begin of epilog @@ */
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#endif
+--- lrzsz-0.12.20.safe/intl/libgnuintl.h.in 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/libgnuintl.h.in 2004-09-12 14:40:34.462731824 -0400
+@@ -0,0 +1,383 @@
++/* Message catalogs for internationalization.
++ Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _LIBINTL_H
++#define _LIBINTL_H 1
++
++#include <locale.h>
++
++/* The LC_MESSAGES locale category is the category used by the functions
++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.
++ On systems that don't define it, use an arbitrary value instead.
++ On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5)
++ then includes <libintl.h> (i.e. this file!) and then only defines
++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES
++ in this case. */
++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
++# define LC_MESSAGES 1729
++#endif
++
++/* We define an additional symbol to signal that we use the GNU
++ implementation of gettext. */
++#define __USE_GNU_GETTEXT 1
++
++/* Provide information about the supported file formats. Returns the
++ maximum minor revision number supported for a given major revision. */
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
++ ((major) == 0 ? 1 : -1)
++
++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
++ precedence over _conio_gettext. */
++#ifdef __DJGPP__
++# undef gettext
++#endif
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* We redirect the functions to those prefixed with "libintl_". This is
++ necessary, because some systems define gettext/textdomain/... in the C
++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
++ If we used the unprefixed names, there would be cases where the
++ definition in the C library would override the one in the libintl.so
++ shared library. Recall that on ELF systems, the symbols are looked
++ up in the following order:
++ 1. in the executable,
++ 2. in the shared libraries specified on the link command line, in order,
++ 3. in the dependencies of the shared libraries specified on the link
++ command line,
++ 4. in the dlopen()ed shared libraries, in the order in which they were
++ dlopen()ed.
++ The definition in the C library would override the one in libintl.so if
++ either
++ * -lc is given on the link command line and -lintl isn't, or
++ * -lc is given on the link command line before -lintl, or
++ * libintl.so is a dependency of a dlopen()ed shared library but not
++ linked to the executable at link time.
++ Since Solaris gettext() behaves differently than GNU gettext(), this
++ would be unacceptable.
++
++ The redirection happens by default through macros in C, so that &gettext
++ is independent of the compilation unit, but through inline functions in
++ C++, in order not to interfere with the name mangling of class fields or
++ class methods called 'gettext'. */
++
++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.
++ If he doesn't, we choose the method. A third possible method is
++ _INTL_REDIRECT_ASM, supported only by GCC. */
++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
++# if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
++# define _INTL_REDIRECT_ASM
++# else
++# ifdef __cplusplus
++# define _INTL_REDIRECT_INLINE
++# else
++# define _INTL_REDIRECT_MACROS
++# endif
++# endif
++#endif
++/* Auxiliary macros. */
++#ifdef _INTL_REDIRECT_ASM
++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
++# define _INTL_STRINGIFY(prefix) #prefix
++#else
++# define _INTL_ASM(cname)
++#endif
++
++/* Look up MSGID in the current default message catalog for the current
++ LC_MESSAGES locale. If not found, returns MSGID itself (the default
++ text). */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_gettext (const char *__msgid);
++static inline char *gettext (const char *__msgid)
++{
++ return libintl_gettext (__msgid);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define gettext libintl_gettext
++#endif
++extern char *gettext (const char *__msgid)
++ _INTL_ASM (libintl_gettext);
++#endif
++
++/* Look up MSGID in the DOMAINNAME message catalog for the current
++ LC_MESSAGES locale. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_dgettext (const char *__domainname, const char *__msgid);
++static inline char *dgettext (const char *__domainname, const char *__msgid)
++{
++ return libintl_dgettext (__domainname, __msgid);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define dgettext libintl_dgettext
++#endif
++extern char *dgettext (const char *__domainname, const char *__msgid)
++ _INTL_ASM (libintl_dgettext);
++#endif
++
++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
++ locale. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
++ int __category);
++static inline char *dcgettext (const char *__domainname, const char *__msgid,
++ int __category)
++{
++ return libintl_dcgettext (__domainname, __msgid, __category);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define dcgettext libintl_dcgettext
++#endif
++extern char *dcgettext (const char *__domainname, const char *__msgid,
++ int __category)
++ _INTL_ASM (libintl_dcgettext);
++#endif
++
++
++/* Similar to `gettext' but select the plural form corresponding to the
++ number N. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
++ unsigned long int __n);
++static inline char *ngettext (const char *__msgid1, const char *__msgid2,
++ unsigned long int __n)
++{
++ return libintl_ngettext (__msgid1, __msgid2, __n);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define ngettext libintl_ngettext
++#endif
++extern char *ngettext (const char *__msgid1, const char *__msgid2,
++ unsigned long int __n)
++ _INTL_ASM (libintl_ngettext);
++#endif
++
++/* Similar to `dgettext' but select the plural form corresponding to the
++ number N. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
++ const char *__msgid2, unsigned long int __n);
++static inline char *dngettext (const char *__domainname, const char *__msgid1,
++ const char *__msgid2, unsigned long int __n)
++{
++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define dngettext libintl_dngettext
++#endif
++extern char *dngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n)
++ _INTL_ASM (libintl_dngettext);
++#endif
++
++/* Similar to `dcgettext' but select the plural form corresponding to the
++ number N. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_dcngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n, int __category);
++static inline char *dcngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n, int __category)
++{
++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define dcngettext libintl_dcngettext
++#endif
++extern char *dcngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n, int __category)
++ _INTL_ASM (libintl_dcngettext);
++#endif
++
++
++/* Set the current default message catalog to DOMAINNAME.
++ If DOMAINNAME is null, return the current default.
++ If DOMAINNAME is "", reset to the default of "messages". */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_textdomain (const char *__domainname);
++static inline char *textdomain (const char *__domainname)
++{
++ return libintl_textdomain (__domainname);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define textdomain libintl_textdomain
++#endif
++extern char *textdomain (const char *__domainname)
++ _INTL_ASM (libintl_textdomain);
++#endif
++
++/* Specify that the DOMAINNAME message catalog will be found
++ in DIRNAME rather than in the system locale data base. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_bindtextdomain (const char *__domainname,
++ const char *__dirname);
++static inline char *bindtextdomain (const char *__domainname,
++ const char *__dirname)
++{
++ return libintl_bindtextdomain (__domainname, __dirname);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define bindtextdomain libintl_bindtextdomain
++#endif
++extern char *bindtextdomain (const char *__domainname, const char *__dirname)
++ _INTL_ASM (libintl_bindtextdomain);
++#endif
++
++/* Specify the character encoding in which the messages from the
++ DOMAINNAME message catalog will be returned. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_bind_textdomain_codeset (const char *__domainname,
++ const char *__codeset);
++static inline char *bind_textdomain_codeset (const char *__domainname,
++ const char *__codeset)
++{
++ return libintl_bind_textdomain_codeset (__domainname, __codeset);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define bind_textdomain_codeset libintl_bind_textdomain_codeset
++#endif
++extern char *bind_textdomain_codeset (const char *__domainname,
++ const char *__codeset)
++ _INTL_ASM (libintl_bind_textdomain_codeset);
++#endif
++
++
++/* Support for format strings with positions in *printf(), following the
++ POSIX/XSI specification.
++ Note: These replacements for the *printf() functions are visible only
++ in source files that #include <libintl.h> or #include "gettext.h".
++ Packages that use *printf() in source files that don't refer to _()
++ or gettext() but for which the format string could be the return value
++ of _() or gettext() need to add this #include. Oh well. */
++
++#if !@HAVE_POSIX_PRINTF@
++
++#include <stdio.h>
++#include <stddef.h>
++
++/* Get va_list. */
++#if __STDC__ || defined __cplusplus || defined _MSC_VER
++# include <stdarg.h>
++#else
++# include <varargs.h>
++#endif
++
++#undef fprintf
++#define fprintf libintl_fprintf
++extern int fprintf (FILE *, const char *, ...);
++#undef vfprintf
++#define vfprintf libintl_vfprintf
++extern int vfprintf (FILE *, const char *, va_list);
++
++#undef printf
++#define printf libintl_printf
++extern int printf (const char *, ...);
++#undef vprintf
++#define vprintf libintl_vprintf
++extern int vprintf (const char *, va_list);
++
++#undef sprintf
++#define sprintf libintl_sprintf
++extern int sprintf (char *, const char *, ...);
++#undef vsprintf
++#define vsprintf libintl_vsprintf
++extern int vsprintf (char *, const char *, va_list);
++
++#if @HAVE_SNPRINTF@
++
++#undef snprintf
++#define snprintf libintl_snprintf
++extern int snprintf (char *, size_t, const char *, ...);
++#undef vsnprintf
++#define vsnprintf libintl_vsnprintf
++extern int vsnprintf (char *, size_t, const char *, va_list);
++
++#endif
++
++#if @HAVE_ASPRINTF@
++
++#undef asprintf
++#define asprintf libintl_asprintf
++extern int asprintf (char **, const char *, ...);
++#undef vasprintf
++#define vasprintf libintl_vasprintf
++extern int vasprintf (char **, const char *, va_list);
++
++#endif
++
++#if @HAVE_WPRINTF@
++
++#undef fwprintf
++#define fwprintf libintl_fwprintf
++extern int fwprintf (FILE *, const wchar_t *, ...);
++#undef vfwprintf
++#define vfwprintf libintl_vfwprintf
++extern int vfwprintf (FILE *, const wchar_t *, va_list);
++
++#undef wprintf
++#define wprintf libintl_wprintf
++extern int wprintf (const wchar_t *, ...);
++#undef vwprintf
++#define vwprintf libintl_vwprintf
++extern int vwprintf (const wchar_t *, va_list);
++
++#undef swprintf
++#define swprintf libintl_swprintf
++extern int swprintf (wchar_t *, size_t, const wchar_t *, ...);
++#undef vswprintf
++#define vswprintf libintl_vswprintf
++extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
++
++#endif
++
++#endif
++
++
++/* Support for relocatable packages. */
++
++/* Sets the original and the current installation prefix of the package.
++ Relocation simply replaces a pathname starting with the original prefix
++ by the corresponding pathname with the current prefix instead. Both
++ prefixes should be directory names without trailing slash (i.e. use ""
++ instead of "/"). */
++#define libintl_set_relocation_prefix libintl_set_relocation_prefix
++extern void
++ libintl_set_relocation_prefix (const char *orig_prefix,
++ const char *curr_prefix);
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* libintl.h */
+--- lrzsz-0.12.20.safe/intl/linux-msg.sed 1998-04-26 09:20:52.000000000 -0400
++++ lrzsz-0.12.20/intl/linux-msg.sed 1969-12-31 19:00:00.000000000 -0500
+@@ -1,100 +0,0 @@
+-# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
+-# Copyright (C) 1995 Free Software Foundation, Inc.
+-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2, or (at your option)
+-# any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-#
+-#
+-# The first directive in the .msg should be the definition of the
+-# message set number. We use always set number 1.
+-#
+-1 {
+- i\
+-$set 1 # Automatically created by po2msg.sed
+- h
+- s/.*/0/
+- x
+-}
+-#
+-# Mitch's old catalog format does not allow comments.
+-#
+-# We copy the original message as a comment into the .msg file.
+-#
+-/^msgid/ {
+- s/msgid[ ]*"//
+-#
+-# This does not work now with the new format.
+-# /"$/! {
+-# s/\\$//
+-# s/$/ ... (more lines following)"/
+-# }
+- x
+-# The following nice solution is by
+-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
+- td
+-# Increment a decimal number in pattern space.
+-# First hide trailing `9' digits.
+- :d
+- s/9\(_*\)$/_\1/
+- td
+-# Assure at least one digit is available.
+- s/^\(_*\)$/0\1/
+-# Increment the last digit.
+- s/8\(_*\)$/9\1/
+- s/7\(_*\)$/8\1/
+- s/6\(_*\)$/7\1/
+- s/5\(_*\)$/6\1/
+- s/4\(_*\)$/5\1/
+- s/3\(_*\)$/4\1/
+- s/2\(_*\)$/3\1/
+- s/1\(_*\)$/2\1/
+- s/0\(_*\)$/1\1/
+-# Convert the hidden `9' digits to `0's.
+- s/_/0/g
+- x
+- G
+- s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p
+-}
+-#
+-# The .msg file contains, other then the .po file, only the translations
+-# but each given a unique ID. Starting from 1 and incrementing by 1 for
+-# each message we assign them to the messages.
+-# It is important that the .po file used to generate the cat-id-tbl.c file
+-# (with po-to-tbl) is the same as the one used here. (At least the order
+-# of declarations must not be changed.)
+-#
+-/^msgstr/ {
+- s/msgstr[ ]*"\(.*\)"/# \1/
+-# Clear substitution flag.
+- tb
+-# Append the next line.
+- :b
+- N
+-# Look whether second part is continuation line.
+- s/\(.*\n\)"\(.*\)"/\1\2/
+-# Yes, then branch.
+- ta
+- P
+- D
+-# Note that D includes a jump to the start!!
+-# We found a continuation line. But before printing insert '\'.
+- :a
+- s/\(.*\)\(\n.*\)/\1\\\2/
+- P
+-# We cannot use D here.
+- s/.*\n\(.*\)/\1/
+- tb
+-}
+-d
+--- lrzsz-0.12.20.safe/intl/loadinfo.h 1998-04-26 09:20:52.000000000 -0400
++++ lrzsz-0.12.20/intl/loadinfo.h 2004-09-12 14:40:34.468730912 -0400
+@@ -1,9 +1,54 @@
+-#ifndef PARAMS
+-# if __STDC__
+-# define PARAMS(args) args
+-# else
+-# define PARAMS(args) ()
+-# endif
++/* Copyright (C) 1996-1999, 2000-2003 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _LOADINFO_H
++#define _LOADINFO_H 1
++
++/* Declarations of locale dependent catalog lookup functions.
++ Implemented in
++
++ localealias.c Possibly replace a locale name by another.
++ explodename.c Split a locale name into its various fields.
++ l10nflist.c Generate a list of filenames of possible message catalogs.
++ finddomain.c Find and open the relevant message catalogs.
++
++ The main function _nl_find_domain() in finddomain.c is declared
++ in gettextP.h.
++ */
++
++#ifndef internal_function
++# define internal_function
++#endif
++
++/* Tell the compiler when a conditional or integer expression is
++ almost always true or almost always false. */
++#ifndef HAVE_BUILTIN_EXPECT
++# define __builtin_expect(expr, val) (expr)
++#endif
++
++/* Separator in PATH like lists of pathnames. */
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS */
++# define PATH_SEPARATOR ';'
++#else
++ /* Unix */
++# define PATH_SEPARATOR ':'
+ #endif
+
+ /* Encoding of locale name parts. */
+@@ -32,27 +77,69 @@
+ };
+
+
+-extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
+- size_t name_len));
++/* Normalize codeset name. There is no standard for the codeset
++ names. Normalization allows the user to use any of the common
++ names. The return value is dynamically allocated and has to be
++ freed by the caller. */
++extern const char *_nl_normalize_codeset (const char *codeset,
++ size_t name_len);
+
++/* Lookup a locale dependent file.
++ *L10NFILE_LIST denotes a pool of lookup results of locale dependent
++ files of the same kind, sorted in decreasing order of ->filename.
++ DIRLIST and DIRLIST_LEN are an argz list of directories in which to
++ look, containing at least one directory (i.e. DIRLIST_LEN > 0).
++ MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER,
++ SPECIAL, SPONSOR, REVISION are the pieces of the locale name, as
++ produced by _nl_explode_name(). FILENAME is the filename suffix.
++ The return value is the lookup result, either found in *L10NFILE_LIST,
++ or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL.
++ If the return value is non-NULL, it is added to *L10NFILE_LIST, and
++ its ->next field denotes the chaining inside *L10NFILE_LIST, and
++ furthermore its ->successor[] field contains a list of other lookup
++ results from which this lookup result inherits. */
+ extern struct loaded_l10nfile *
+-_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
+- const char *dirlist, size_t dirlist_len, int mask,
+- const char *language, const char *territory,
+- const char *codeset,
+- const char *normalized_codeset,
+- const char *modifier, const char *special,
+- const char *sponsor, const char *revision,
+- const char *filename, int do_allocate));
++_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
++ const char *dirlist, size_t dirlist_len, int mask,
++ const char *language, const char *territory,
++ const char *codeset, const char *normalized_codeset,
++ const char *modifier, const char *special,
++ const char *sponsor, const char *revision,
++ const char *filename, int do_allocate);
+
++/* Lookup the real locale name for a locale alias NAME, or NULL if
++ NAME is not a locale alias (but possibly a real locale name).
++ The return value is statically allocated and must not be freed. */
++extern const char *_nl_expand_alias (const char *name);
+
+-extern const char *_nl_expand_alias PARAMS ((const char *name));
++/* Split a locale name NAME into its pieces: language, modifier,
++ territory, codeset, special, sponsor, revision.
++ NAME gets destructively modified: NUL bytes are inserted here and
++ there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY,
++ *CODESET, *SPECIAL, *SPONSOR, *REVISION gets assigned either a
++ pointer into the old NAME string, or NULL. *NORMALIZED_CODESET
++ gets assigned the expanded *CODESET, if it is different from *CODESET;
++ this one is dynamically allocated and has to be freed by the caller.
++ The return value is a bitmask, where each bit corresponds to one
++ filled-in value:
++ XPG_MODIFIER, CEN_AUDIENCE for *MODIFIER,
++ TERRITORY for *TERRITORY,
++ XPG_CODESET for *CODESET,
++ XPG_NORM_CODESET for *NORMALIZED_CODESET,
++ CEN_SPECIAL for *SPECIAL,
++ CEN_SPONSOR for *SPONSOR,
++ CEN_REVISION for *REVISION.
++ */
++extern int _nl_explode_name (char *name, const char **language,
++ const char **modifier, const char **territory,
++ const char **codeset,
++ const char **normalized_codeset,
++ const char **special, const char **sponsor,
++ const char **revision);
+
+-extern int _nl_explode_name PARAMS ((char *name, const char **language,
+- const char **modifier,
+- const char **territory,
+- const char **codeset,
+- const char **normalized_codeset,
+- const char **special,
+- const char **sponsor,
+- const char **revision));
++/* Split a locale name NAME into a leading language part and all the
++ rest. Return a pointer to the first character after the language,
++ i.e. to the first byte of the rest. */
++extern char *_nl_find_language (const char *name);
++
++#endif /* loadinfo.h */
+--- lrzsz-0.12.20.safe/intl/loadmsgcat.c 1998-04-26 09:22:37.000000000 -0400
++++ lrzsz-0.12.20/intl/loadmsgcat.c 2004-09-12 14:40:34.473730152 -0400
+@@ -1,42 +1,455 @@
+-/* Load needed message catalogs
+- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
++/* Load needed message catalogs.
++ Copyright (C) 1995-1999, 2000-2004 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Tell glibc's <string.h> to provide a prototype for mempcpy().
++ This must come before <config.h> because <config.h> may include
++ <features.h>, and once <features.h> has been included, it's too late. */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
++#include <ctype.h>
++#include <errno.h>
+ #include <fcntl.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
+-#if defined STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
++#ifdef __GNUC__
++# undef alloca
++# define alloca __builtin_alloca
++# define HAVE_ALLOCA 1
++#else
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
++# else
++# if defined HAVE_ALLOCA_H || defined _LIBC
++# include <alloca.h>
++# else
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca
++char *alloca ();
++# endif
++# endif
++# endif
++# endif
+ #endif
+
++#include <stdlib.h>
++#include <string.h>
++
+ #if defined HAVE_UNISTD_H || defined _LIBC
+ # include <unistd.h>
+ #endif
+
+-#if (defined HAVE_MMAP && defined HAVE_MUNMAP) || defined _LIBC
++#ifdef _LIBC
++# include <langinfo.h>
++# include <locale.h>
++#endif
++
++#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
++ || (defined _LIBC && defined _POSIX_MAPPED_FILES)
+ # include <sys/mman.h>
++# undef HAVE_MMAP
++# define HAVE_MMAP 1
++#else
++# undef HAVE_MMAP
+ #endif
+
+-#include "gettext.h"
++#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC
++# include <stdint.h>
++#endif
++#if defined HAVE_INTTYPES_H || defined _LIBC
++# include <inttypes.h>
++#endif
++
++#include "gmo.h"
+ #include "gettextP.h"
++#include "hash-string.h"
++#include "plural-exp.h"
++
++#ifdef _LIBC
++# include "../locale/localeinfo.h"
++#endif
++
++/* Provide fallback values for macros that ought to be defined in <inttypes.h>.
++ Note that our fallback values need not be literal strings, because we don't
++ use them with preprocessor string concatenation. */
++#if !defined PRId8 || PRI_MACROS_BROKEN
++# undef PRId8
++# define PRId8 "d"
++#endif
++#if !defined PRIi8 || PRI_MACROS_BROKEN
++# undef PRIi8
++# define PRIi8 "i"
++#endif
++#if !defined PRIo8 || PRI_MACROS_BROKEN
++# undef PRIo8
++# define PRIo8 "o"
++#endif
++#if !defined PRIu8 || PRI_MACROS_BROKEN
++# undef PRIu8
++# define PRIu8 "u"
++#endif
++#if !defined PRIx8 || PRI_MACROS_BROKEN
++# undef PRIx8
++# define PRIx8 "x"
++#endif
++#if !defined PRIX8 || PRI_MACROS_BROKEN
++# undef PRIX8
++# define PRIX8 "X"
++#endif
++#if !defined PRId16 || PRI_MACROS_BROKEN
++# undef PRId16
++# define PRId16 "d"
++#endif
++#if !defined PRIi16 || PRI_MACROS_BROKEN
++# undef PRIi16
++# define PRIi16 "i"
++#endif
++#if !defined PRIo16 || PRI_MACROS_BROKEN
++# undef PRIo16
++# define PRIo16 "o"
++#endif
++#if !defined PRIu16 || PRI_MACROS_BROKEN
++# undef PRIu16
++# define PRIu16 "u"
++#endif
++#if !defined PRIx16 || PRI_MACROS_BROKEN
++# undef PRIx16
++# define PRIx16 "x"
++#endif
++#if !defined PRIX16 || PRI_MACROS_BROKEN
++# undef PRIX16
++# define PRIX16 "X"
++#endif
++#if !defined PRId32 || PRI_MACROS_BROKEN
++# undef PRId32
++# define PRId32 "d"
++#endif
++#if !defined PRIi32 || PRI_MACROS_BROKEN
++# undef PRIi32
++# define PRIi32 "i"
++#endif
++#if !defined PRIo32 || PRI_MACROS_BROKEN
++# undef PRIo32
++# define PRIo32 "o"
++#endif
++#if !defined PRIu32 || PRI_MACROS_BROKEN
++# undef PRIu32
++# define PRIu32 "u"
++#endif
++#if !defined PRIx32 || PRI_MACROS_BROKEN
++# undef PRIx32
++# define PRIx32 "x"
++#endif
++#if !defined PRIX32 || PRI_MACROS_BROKEN
++# undef PRIX32
++# define PRIX32 "X"
++#endif
++#if !defined PRId64 || PRI_MACROS_BROKEN
++# undef PRId64
++# define PRId64 (sizeof (long) == 8 ? "ld" : "lld")
++#endif
++#if !defined PRIi64 || PRI_MACROS_BROKEN
++# undef PRIi64
++# define PRIi64 (sizeof (long) == 8 ? "li" : "lli")
++#endif
++#if !defined PRIo64 || PRI_MACROS_BROKEN
++# undef PRIo64
++# define PRIo64 (sizeof (long) == 8 ? "lo" : "llo")
++#endif
++#if !defined PRIu64 || PRI_MACROS_BROKEN
++# undef PRIu64
++# define PRIu64 (sizeof (long) == 8 ? "lu" : "llu")
++#endif
++#if !defined PRIx64 || PRI_MACROS_BROKEN
++# undef PRIx64
++# define PRIx64 (sizeof (long) == 8 ? "lx" : "llx")
++#endif
++#if !defined PRIX64 || PRI_MACROS_BROKEN
++# undef PRIX64
++# define PRIX64 (sizeof (long) == 8 ? "lX" : "llX")
++#endif
++#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN
++# undef PRIdLEAST8
++# define PRIdLEAST8 "d"
++#endif
++#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN
++# undef PRIiLEAST8
++# define PRIiLEAST8 "i"
++#endif
++#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN
++# undef PRIoLEAST8
++# define PRIoLEAST8 "o"
++#endif
++#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN
++# undef PRIuLEAST8
++# define PRIuLEAST8 "u"
++#endif
++#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN
++# undef PRIxLEAST8
++# define PRIxLEAST8 "x"
++#endif
++#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN
++# undef PRIXLEAST8
++# define PRIXLEAST8 "X"
++#endif
++#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN
++# undef PRIdLEAST16
++# define PRIdLEAST16 "d"
++#endif
++#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN
++# undef PRIiLEAST16
++# define PRIiLEAST16 "i"
++#endif
++#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN
++# undef PRIoLEAST16
++# define PRIoLEAST16 "o"
++#endif
++#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN
++# undef PRIuLEAST16
++# define PRIuLEAST16 "u"
++#endif
++#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN
++# undef PRIxLEAST16
++# define PRIxLEAST16 "x"
++#endif
++#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN
++# undef PRIXLEAST16
++# define PRIXLEAST16 "X"
++#endif
++#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN
++# undef PRIdLEAST32
++# define PRIdLEAST32 "d"
++#endif
++#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN
++# undef PRIiLEAST32
++# define PRIiLEAST32 "i"
++#endif
++#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN
++# undef PRIoLEAST32
++# define PRIoLEAST32 "o"
++#endif
++#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN
++# undef PRIuLEAST32
++# define PRIuLEAST32 "u"
++#endif
++#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN
++# undef PRIxLEAST32
++# define PRIxLEAST32 "x"
++#endif
++#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN
++# undef PRIXLEAST32
++# define PRIXLEAST32 "X"
++#endif
++#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN
++# undef PRIdLEAST64
++# define PRIdLEAST64 PRId64
++#endif
++#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN
++# undef PRIiLEAST64
++# define PRIiLEAST64 PRIi64
++#endif
++#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN
++# undef PRIoLEAST64
++# define PRIoLEAST64 PRIo64
++#endif
++#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN
++# undef PRIuLEAST64
++# define PRIuLEAST64 PRIu64
++#endif
++#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN
++# undef PRIxLEAST64
++# define PRIxLEAST64 PRIx64
++#endif
++#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN
++# undef PRIXLEAST64
++# define PRIXLEAST64 PRIX64
++#endif
++#if !defined PRIdFAST8 || PRI_MACROS_BROKEN
++# undef PRIdFAST8
++# define PRIdFAST8 "d"
++#endif
++#if !defined PRIiFAST8 || PRI_MACROS_BROKEN
++# undef PRIiFAST8
++# define PRIiFAST8 "i"
++#endif
++#if !defined PRIoFAST8 || PRI_MACROS_BROKEN
++# undef PRIoFAST8
++# define PRIoFAST8 "o"
++#endif
++#if !defined PRIuFAST8 || PRI_MACROS_BROKEN
++# undef PRIuFAST8
++# define PRIuFAST8 "u"
++#endif
++#if !defined PRIxFAST8 || PRI_MACROS_BROKEN
++# undef PRIxFAST8
++# define PRIxFAST8 "x"
++#endif
++#if !defined PRIXFAST8 || PRI_MACROS_BROKEN
++# undef PRIXFAST8
++# define PRIXFAST8 "X"
++#endif
++#if !defined PRIdFAST16 || PRI_MACROS_BROKEN
++# undef PRIdFAST16
++# define PRIdFAST16 "d"
++#endif
++#if !defined PRIiFAST16 || PRI_MACROS_BROKEN
++# undef PRIiFAST16
++# define PRIiFAST16 "i"
++#endif
++#if !defined PRIoFAST16 || PRI_MACROS_BROKEN
++# undef PRIoFAST16
++# define PRIoFAST16 "o"
++#endif
++#if !defined PRIuFAST16 || PRI_MACROS_BROKEN
++# undef PRIuFAST16
++# define PRIuFAST16 "u"
++#endif
++#if !defined PRIxFAST16 || PRI_MACROS_BROKEN
++# undef PRIxFAST16
++# define PRIxFAST16 "x"
++#endif
++#if !defined PRIXFAST16 || PRI_MACROS_BROKEN
++# undef PRIXFAST16
++# define PRIXFAST16 "X"
++#endif
++#if !defined PRIdFAST32 || PRI_MACROS_BROKEN
++# undef PRIdFAST32
++# define PRIdFAST32 "d"
++#endif
++#if !defined PRIiFAST32 || PRI_MACROS_BROKEN
++# undef PRIiFAST32
++# define PRIiFAST32 "i"
++#endif
++#if !defined PRIoFAST32 || PRI_MACROS_BROKEN
++# undef PRIoFAST32
++# define PRIoFAST32 "o"
++#endif
++#if !defined PRIuFAST32 || PRI_MACROS_BROKEN
++# undef PRIuFAST32
++# define PRIuFAST32 "u"
++#endif
++#if !defined PRIxFAST32 || PRI_MACROS_BROKEN
++# undef PRIxFAST32
++# define PRIxFAST32 "x"
++#endif
++#if !defined PRIXFAST32 || PRI_MACROS_BROKEN
++# undef PRIXFAST32
++# define PRIXFAST32 "X"
++#endif
++#if !defined PRIdFAST64 || PRI_MACROS_BROKEN
++# undef PRIdFAST64
++# define PRIdFAST64 PRId64
++#endif
++#if !defined PRIiFAST64 || PRI_MACROS_BROKEN
++# undef PRIiFAST64
++# define PRIiFAST64 PRIi64
++#endif
++#if !defined PRIoFAST64 || PRI_MACROS_BROKEN
++# undef PRIoFAST64
++# define PRIoFAST64 PRIo64
++#endif
++#if !defined PRIuFAST64 || PRI_MACROS_BROKEN
++# undef PRIuFAST64
++# define PRIuFAST64 PRIu64
++#endif
++#if !defined PRIxFAST64 || PRI_MACROS_BROKEN
++# undef PRIxFAST64
++# define PRIxFAST64 PRIx64
++#endif
++#if !defined PRIXFAST64 || PRI_MACROS_BROKEN
++# undef PRIXFAST64
++# define PRIXFAST64 PRIX64
++#endif
++#if !defined PRIdMAX || PRI_MACROS_BROKEN
++# undef PRIdMAX
++# define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld")
++#endif
++#if !defined PRIiMAX || PRI_MACROS_BROKEN
++# undef PRIiMAX
++# define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli")
++#endif
++#if !defined PRIoMAX || PRI_MACROS_BROKEN
++# undef PRIoMAX
++# define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo")
++#endif
++#if !defined PRIuMAX || PRI_MACROS_BROKEN
++# undef PRIuMAX
++# define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu")
++#endif
++#if !defined PRIxMAX || PRI_MACROS_BROKEN
++# undef PRIxMAX
++# define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx")
++#endif
++#if !defined PRIXMAX || PRI_MACROS_BROKEN
++# undef PRIXMAX
++# define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX")
++#endif
++#if !defined PRIdPTR || PRI_MACROS_BROKEN
++# undef PRIdPTR
++# define PRIdPTR \
++ (sizeof (void *) == sizeof (long) ? "ld" : \
++ sizeof (void *) == sizeof (int) ? "d" : \
++ "lld")
++#endif
++#if !defined PRIiPTR || PRI_MACROS_BROKEN
++# undef PRIiPTR
++# define PRIiPTR \
++ (sizeof (void *) == sizeof (long) ? "li" : \
++ sizeof (void *) == sizeof (int) ? "i" : \
++ "lli")
++#endif
++#if !defined PRIoPTR || PRI_MACROS_BROKEN
++# undef PRIoPTR
++# define PRIoPTR \
++ (sizeof (void *) == sizeof (long) ? "lo" : \
++ sizeof (void *) == sizeof (int) ? "o" : \
++ "llo")
++#endif
++#if !defined PRIuPTR || PRI_MACROS_BROKEN
++# undef PRIuPTR
++# define PRIuPTR \
++ (sizeof (void *) == sizeof (long) ? "lu" : \
++ sizeof (void *) == sizeof (int) ? "u" : \
++ "llu")
++#endif
++#if !defined PRIxPTR || PRI_MACROS_BROKEN
++# undef PRIxPTR
++# define PRIxPTR \
++ (sizeof (void *) == sizeof (long) ? "lx" : \
++ sizeof (void *) == sizeof (int) ? "x" : \
++ "llx")
++#endif
++#if !defined PRIXPTR || PRI_MACROS_BROKEN
++# undef PRIXPTR
++# define PRIXPTR \
++ (sizeof (void *) == sizeof (long) ? "lX" : \
++ sizeof (void *) == sizeof (int) ? "X" : \
++ "llX")
++#endif
+
+ /* @@ end of prolog @@ */
+
+@@ -44,7 +457,6 @@
+ /* Rename the non ISO C functions. This is required by the standard
+ because some ISO C functions will require linking with this object
+ file and the name space must not be polluted. */
+-# define fstat __fstat
+ # define open __open
+ # define close __close
+ # define read __read
+@@ -52,30 +464,471 @@
+ # define munmap __munmap
+ #endif
+
++/* For those losing systems which don't have `alloca' we have to add
++ some additional code emulating it. */
++#ifdef HAVE_ALLOCA
++# define freea(p) /* nothing */
++#else
++# define alloca(n) malloc (n)
++# define freea(p) free (p)
++#endif
++
++/* For systems that distinguish between text and binary I/O.
++ O_BINARY is usually declared in <fcntl.h>. */
++#if !defined O_BINARY && defined _O_BINARY
++ /* For MSC-compatible compilers. */
++# define O_BINARY _O_BINARY
++# define O_TEXT _O_TEXT
++#endif
++#ifdef __BEOS__
++ /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */
++# undef O_BINARY
++# undef O_TEXT
++#endif
++/* On reasonable systems, binary I/O is the default. */
++#ifndef O_BINARY
++# define O_BINARY 0
++#endif
++
++
+ /* We need a sign, whether a new catalog was loaded, which can be associated
+ with all translations. This is important if the translations are
+ cached by one of GCC's features. */
+-int _nl_msg_cat_cntr = 0;
++int _nl_msg_cat_cntr;
+
+
++/* Expand a system dependent string segment. Return NULL if unsupported. */
++static const char *
++get_sysdep_segment_value (const char *name)
++{
++ /* Test for an ISO C 99 section 7.8.1 format string directive.
++ Syntax:
++ P R I { d | i | o | u | x | X }
++ { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */
++ /* We don't use a table of 14 times 6 'const char *' strings here, because
++ data relocations cost startup time. */
++ if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I')
++ {
++ if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u'
++ || name[3] == 'x' || name[3] == 'X')
++ {
++ if (name[4] == '8' && name[5] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRId8;
++ if (name[3] == 'i')
++ return PRIi8;
++ if (name[3] == 'o')
++ return PRIo8;
++ if (name[3] == 'u')
++ return PRIu8;
++ if (name[3] == 'x')
++ return PRIx8;
++ if (name[3] == 'X')
++ return PRIX8;
++ abort ();
++ }
++ if (name[4] == '1' && name[5] == '6' && name[6] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRId16;
++ if (name[3] == 'i')
++ return PRIi16;
++ if (name[3] == 'o')
++ return PRIo16;
++ if (name[3] == 'u')
++ return PRIu16;
++ if (name[3] == 'x')
++ return PRIx16;
++ if (name[3] == 'X')
++ return PRIX16;
++ abort ();
++ }
++ if (name[4] == '3' && name[5] == '2' && name[6] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRId32;
++ if (name[3] == 'i')
++ return PRIi32;
++ if (name[3] == 'o')
++ return PRIo32;
++ if (name[3] == 'u')
++ return PRIu32;
++ if (name[3] == 'x')
++ return PRIx32;
++ if (name[3] == 'X')
++ return PRIX32;
++ abort ();
++ }
++ if (name[4] == '6' && name[5] == '4' && name[6] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRId64;
++ if (name[3] == 'i')
++ return PRIi64;
++ if (name[3] == 'o')
++ return PRIo64;
++ if (name[3] == 'u')
++ return PRIu64;
++ if (name[3] == 'x')
++ return PRIx64;
++ if (name[3] == 'X')
++ return PRIX64;
++ abort ();
++ }
++ if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A'
++ && name[7] == 'S' && name[8] == 'T')
++ {
++ if (name[9] == '8' && name[10] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdLEAST8;
++ if (name[3] == 'i')
++ return PRIiLEAST8;
++ if (name[3] == 'o')
++ return PRIoLEAST8;
++ if (name[3] == 'u')
++ return PRIuLEAST8;
++ if (name[3] == 'x')
++ return PRIxLEAST8;
++ if (name[3] == 'X')
++ return PRIXLEAST8;
++ abort ();
++ }
++ if (name[9] == '1' && name[10] == '6' && name[11] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdLEAST16;
++ if (name[3] == 'i')
++ return PRIiLEAST16;
++ if (name[3] == 'o')
++ return PRIoLEAST16;
++ if (name[3] == 'u')
++ return PRIuLEAST16;
++ if (name[3] == 'x')
++ return PRIxLEAST16;
++ if (name[3] == 'X')
++ return PRIXLEAST16;
++ abort ();
++ }
++ if (name[9] == '3' && name[10] == '2' && name[11] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdLEAST32;
++ if (name[3] == 'i')
++ return PRIiLEAST32;
++ if (name[3] == 'o')
++ return PRIoLEAST32;
++ if (name[3] == 'u')
++ return PRIuLEAST32;
++ if (name[3] == 'x')
++ return PRIxLEAST32;
++ if (name[3] == 'X')
++ return PRIXLEAST32;
++ abort ();
++ }
++ if (name[9] == '6' && name[10] == '4' && name[11] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdLEAST64;
++ if (name[3] == 'i')
++ return PRIiLEAST64;
++ if (name[3] == 'o')
++ return PRIoLEAST64;
++ if (name[3] == 'u')
++ return PRIuLEAST64;
++ if (name[3] == 'x')
++ return PRIxLEAST64;
++ if (name[3] == 'X')
++ return PRIXLEAST64;
++ abort ();
++ }
++ }
++ if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S'
++ && name[7] == 'T')
++ {
++ if (name[8] == '8' && name[9] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdFAST8;
++ if (name[3] == 'i')
++ return PRIiFAST8;
++ if (name[3] == 'o')
++ return PRIoFAST8;
++ if (name[3] == 'u')
++ return PRIuFAST8;
++ if (name[3] == 'x')
++ return PRIxFAST8;
++ if (name[3] == 'X')
++ return PRIXFAST8;
++ abort ();
++ }
++ if (name[8] == '1' && name[9] == '6' && name[10] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdFAST16;
++ if (name[3] == 'i')
++ return PRIiFAST16;
++ if (name[3] == 'o')
++ return PRIoFAST16;
++ if (name[3] == 'u')
++ return PRIuFAST16;
++ if (name[3] == 'x')
++ return PRIxFAST16;
++ if (name[3] == 'X')
++ return PRIXFAST16;
++ abort ();
++ }
++ if (name[8] == '3' && name[9] == '2' && name[10] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdFAST32;
++ if (name[3] == 'i')
++ return PRIiFAST32;
++ if (name[3] == 'o')
++ return PRIoFAST32;
++ if (name[3] == 'u')
++ return PRIuFAST32;
++ if (name[3] == 'x')
++ return PRIxFAST32;
++ if (name[3] == 'X')
++ return PRIXFAST32;
++ abort ();
++ }
++ if (name[8] == '6' && name[9] == '4' && name[10] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdFAST64;
++ if (name[3] == 'i')
++ return PRIiFAST64;
++ if (name[3] == 'o')
++ return PRIoFAST64;
++ if (name[3] == 'u')
++ return PRIuFAST64;
++ if (name[3] == 'x')
++ return PRIxFAST64;
++ if (name[3] == 'X')
++ return PRIXFAST64;
++ abort ();
++ }
++ }
++ if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X'
++ && name[7] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdMAX;
++ if (name[3] == 'i')
++ return PRIiMAX;
++ if (name[3] == 'o')
++ return PRIoMAX;
++ if (name[3] == 'u')
++ return PRIuMAX;
++ if (name[3] == 'x')
++ return PRIxMAX;
++ if (name[3] == 'X')
++ return PRIXMAX;
++ abort ();
++ }
++ if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R'
++ && name[7] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdPTR;
++ if (name[3] == 'i')
++ return PRIiPTR;
++ if (name[3] == 'o')
++ return PRIoPTR;
++ if (name[3] == 'u')
++ return PRIuPTR;
++ if (name[3] == 'x')
++ return PRIxPTR;
++ if (name[3] == 'X')
++ return PRIXPTR;
++ abort ();
++ }
++ }
++ }
++ /* Test for a glibc specific printf() format directive flag. */
++ if (name[0] == 'I' && name[1] == '\0')
++ {
++#if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
++ /* The 'I' flag, in numeric format directives, replaces ASCII digits
++ with the 'outdigits' defined in the LC_CTYPE locale facet. This is
++ used for Farsi (Persian) and maybe Arabic. */
++ return "I";
++#else
++ return "";
++#endif
++ }
++ /* Other system dependent strings are not valid. */
++ return NULL;
++}
++
++/* Initialize the codeset dependent parts of an opened message catalog.
++ Return the header entry. */
++const char *
++internal_function
++_nl_init_domain_conv (struct loaded_l10nfile *domain_file,
++ struct loaded_domain *domain,
++ struct binding *domainbinding)
++{
++ /* Find out about the character set the file is encoded with.
++ This can be found (in textual form) in the entry "". If this
++ entry does not exist or if this does not contain the `charset='
++ information, we will assume the charset matches the one the
++ current locale and we don't have to perform any conversion. */
++ char *nullentry;
++ size_t nullentrylen;
++
++ /* Preinitialize fields, to avoid recursion during _nl_find_msg. */
++ domain->codeset_cntr =
++ (domainbinding != NULL ? domainbinding->codeset_cntr : 0);
++#ifdef _LIBC
++ domain->conv = (__gconv_t) -1;
++#else
++# if HAVE_ICONV
++ domain->conv = (iconv_t) -1;
++# endif
++#endif
++ domain->conv_tab = NULL;
++
++ /* Get the header entry. */
++ nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen);
++
++ if (nullentry != NULL)
++ {
++#if defined _LIBC || HAVE_ICONV
++ const char *charsetstr;
++
++ charsetstr = strstr (nullentry, "charset=");
++ if (charsetstr != NULL)
++ {
++ size_t len;
++ char *charset;
++ const char *outcharset;
++
++ charsetstr += strlen ("charset=");
++ len = strcspn (charsetstr, " \t\n");
++
++ charset = (char *) alloca (len + 1);
++# if defined _LIBC || HAVE_MEMPCPY
++ *((char *) mempcpy (charset, charsetstr, len)) = '\0';
++# else
++ memcpy (charset, charsetstr, len);
++ charset[len] = '\0';
++# endif
++
++ /* The output charset should normally be determined by the
++ locale. But sometimes the locale is not used or not correctly
++ set up, so we provide a possibility for the user to override
++ this. Moreover, the value specified through
++ bind_textdomain_codeset overrides both. */
++ if (domainbinding != NULL && domainbinding->codeset != NULL)
++ outcharset = domainbinding->codeset;
++ else
++ {
++ outcharset = getenv ("OUTPUT_CHARSET");
++ if (outcharset == NULL || outcharset[0] == '\0')
++ {
++# ifdef _LIBC
++ outcharset = _NL_CURRENT (LC_CTYPE, CODESET);
++# else
++# if HAVE_ICONV
++ extern const char *locale_charset (void);
++ outcharset = locale_charset ();
++# endif
++# endif
++ }
++ }
++
++# ifdef _LIBC
++ /* We always want to use transliteration. */
++ outcharset = norm_add_slashes (outcharset, "TRANSLIT");
++ charset = norm_add_slashes (charset, NULL);
++ if (__gconv_open (outcharset, charset, &domain->conv,
++ GCONV_AVOID_NOCONV)
++ != __GCONV_OK)
++ domain->conv = (__gconv_t) -1;
++# else
++# if HAVE_ICONV
++ /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
++ we want to use transliteration. */
++# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
++ || _LIBICONV_VERSION >= 0x0105
++ if (strchr (outcharset, '/') == NULL)
++ {
++ char *tmp;
++
++ len = strlen (outcharset);
++ tmp = (char *) alloca (len + 10 + 1);
++ memcpy (tmp, outcharset, len);
++ memcpy (tmp + len, "//TRANSLIT", 10 + 1);
++ outcharset = tmp;
++
++ domain->conv = iconv_open (outcharset, charset);
++
++ freea (outcharset);
++ }
++ else
++# endif
++ domain->conv = iconv_open (outcharset, charset);
++# endif
++# endif
++
++ freea (charset);
++ }
++#endif /* _LIBC || HAVE_ICONV */
++ }
++
++ return nullentry;
++}
++
++/* Frees the codeset dependent parts of an opened message catalog. */
++void
++internal_function
++_nl_free_domain_conv (struct loaded_domain *domain)
++{
++ if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
++ free (domain->conv_tab);
++
++#ifdef _LIBC
++ if (domain->conv != (__gconv_t) -1)
++ __gconv_close (domain->conv);
++#else
++# if HAVE_ICONV
++ if (domain->conv != (iconv_t) -1)
++ iconv_close (domain->conv);
++# endif
++#endif
++}
++
+ /* Load the message catalogs specified by FILENAME. If it is no valid
+ message catalog do nothing. */
+ void
+-_nl_load_domain (domain_file)
+- struct loaded_l10nfile *domain_file;
++internal_function
++_nl_load_domain (struct loaded_l10nfile *domain_file,
++ struct binding *domainbinding)
+ {
+ int fd;
++ size_t size;
++#ifdef _LIBC
++ struct stat64 st;
++#else
+ struct stat st;
++#endif
+ struct mo_file_header *data = (struct mo_file_header *) -1;
+-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+- || defined _LIBC
+ int use_mmap = 0;
+-#endif
+ struct loaded_domain *domain;
++ int revision;
++ const char *nullentry;
+
+ domain_file->decided = 1;
+ domain_file->data = NULL;
+
++ /* Note that it would be useless to store domainbinding in domain_file
++ because domainbinding might be == NULL now but != NULL later (after
++ a call to bind_textdomain_codeset). */
++
+ /* If the record does not represent a valid locale the FILENAME
+ might be NULL. This can happen when according to the given
+ specification the locale file name is different for XPG and CEN
+@@ -84,27 +937,32 @@
+ return;
+
+ /* Try to open the addressed file. */
+- fd = open (domain_file->filename, O_RDONLY);
++ fd = open (domain_file->filename, O_RDONLY | O_BINARY);
+ if (fd == -1)
+ return;
+
+ /* We must know about the size of the file. */
+- if (fstat (fd, &st) != 0
+- && st.st_size < (off_t) sizeof (struct mo_file_header))
++ if (
++#ifdef _LIBC
++ __builtin_expect (fstat64 (fd, &st) != 0, 0)
++#else
++ __builtin_expect (fstat (fd, &st) != 0, 0)
++#endif
++ || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0)
++ || __builtin_expect (size < sizeof (struct mo_file_header), 0))
+ {
+ /* Something went wrong. */
+ close (fd);
+ return;
+ }
+
+-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+- || defined _LIBC
++#ifdef HAVE_MMAP
+ /* Now we are ready to load the file. If mmap() is available we try
+ this first. If not available or it failed we try to load it. */
+- data = (struct mo_file_header *) mmap (NULL, st.st_size, PROT_READ,
++ data = (struct mo_file_header *) mmap (NULL, size, PROT_READ,
+ MAP_PRIVATE, fd, 0);
+
+- if (data != (struct mo_file_header *) -1)
++ if (__builtin_expect (data != (struct mo_file_header *) -1, 1))
+ {
+ /* mmap() call was successful. */
+ close (fd);
+@@ -116,24 +974,27 @@
+ it manually. */
+ if (data == (struct mo_file_header *) -1)
+ {
+- off_t to_read;
++ size_t to_read;
+ char *read_ptr;
+
+- data = (struct mo_file_header *) malloc (st.st_size);
++ data = (struct mo_file_header *) malloc (size);
+ if (data == NULL)
+ return;
+
+- to_read = st.st_size;
++ to_read = size;
+ read_ptr = (char *) data;
+ do
+ {
+ long int nb = (long int) read (fd, read_ptr, to_read);
+- if (nb == -1)
++ if (nb <= 0)
+ {
++#ifdef EINTR
++ if (nb == -1 && errno == EINTR)
++ continue;
++#endif
+ close (fd);
+ return;
+ }
+-
+ read_ptr += nb;
+ to_read -= nb;
+ }
+@@ -144,47 +1005,378 @@
+
+ /* Using the magic number we can test whether it really is a message
+ catalog file. */
+- if (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED)
++ if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED,
++ 0))
+ {
+ /* The magic number is wrong: not a message catalog file. */
+-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+- || defined _LIBC
++#ifdef HAVE_MMAP
+ if (use_mmap)
+- munmap ((caddr_t) data, st.st_size);
++ munmap ((caddr_t) data, size);
+ else
+ #endif
+ free (data);
+ return;
+ }
+
+- domain_file->data
+- = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
+- if (domain_file->data == NULL)
++ domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
++ if (domain == NULL)
+ return;
++ domain_file->data = domain;
+
+- domain = (struct loaded_domain *) domain_file->data;
+ domain->data = (char *) data;
++ domain->use_mmap = use_mmap;
++ domain->mmap_size = size;
+ domain->must_swap = data->magic != _MAGIC;
++ domain->malloced = NULL;
+
+ /* Fill in the information about the available tables. */
+- switch (W (domain->must_swap, data->revision))
++ revision = W (domain->must_swap, data->revision);
++ /* We support only the major revisions 0 and 1. */
++ switch (revision >> 16)
+ {
+ case 0:
++ case 1:
+ domain->nstrings = W (domain->must_swap, data->nstrings);
+- domain->orig_tab = (struct string_desc *)
++ domain->orig_tab = (const struct string_desc *)
+ ((char *) data + W (domain->must_swap, data->orig_tab_offset));
+- domain->trans_tab = (struct string_desc *)
++ domain->trans_tab = (const struct string_desc *)
+ ((char *) data + W (domain->must_swap, data->trans_tab_offset));
+ domain->hash_size = W (domain->must_swap, data->hash_tab_size);
+- domain->hash_tab = (nls_uint32 *)
+- ((char *) data + W (domain->must_swap, data->hash_tab_offset));
++ domain->hash_tab =
++ (domain->hash_size > 2
++ ? (const nls_uint32 *)
++ ((char *) data + W (domain->must_swap, data->hash_tab_offset))
++ : NULL);
++ domain->must_swap_hash_tab = domain->must_swap;
++
++ /* Now dispatch on the minor revision. */
++ switch (revision & 0xffff)
++ {
++ case 0:
++ domain->n_sysdep_strings = 0;
++ domain->orig_sysdep_tab = NULL;
++ domain->trans_sysdep_tab = NULL;
++ break;
++ case 1:
++ default:
++ {
++ nls_uint32 n_sysdep_strings;
++
++ if (domain->hash_tab == NULL)
++ /* This is invalid. These minor revisions need a hash table. */
++ goto invalid;
++
++ n_sysdep_strings =
++ W (domain->must_swap, data->n_sysdep_strings);
++ if (n_sysdep_strings > 0)
++ {
++ nls_uint32 n_sysdep_segments;
++ const struct sysdep_segment *sysdep_segments;
++ const char **sysdep_segment_values;
++ const nls_uint32 *orig_sysdep_tab;
++ const nls_uint32 *trans_sysdep_tab;
++ nls_uint32 n_inmem_sysdep_strings;
++ size_t memneed;
++ char *mem;
++ struct sysdep_string_desc *inmem_orig_sysdep_tab;
++ struct sysdep_string_desc *inmem_trans_sysdep_tab;
++ nls_uint32 *inmem_hash_tab;
++ unsigned int i, j;
++
++ /* Get the values of the system dependent segments. */
++ n_sysdep_segments =
++ W (domain->must_swap, data->n_sysdep_segments);
++ sysdep_segments = (const struct sysdep_segment *)
++ ((char *) data
++ + W (domain->must_swap, data->sysdep_segments_offset));
++ sysdep_segment_values =
++ alloca (n_sysdep_segments * sizeof (const char *));
++ for (i = 0; i < n_sysdep_segments; i++)
++ {
++ const char *name =
++ (char *) data
++ + W (domain->must_swap, sysdep_segments[i].offset);
++ nls_uint32 namelen =
++ W (domain->must_swap, sysdep_segments[i].length);
++
++ if (!(namelen > 0 && name[namelen - 1] == '\0'))
++ {
++ freea (sysdep_segment_values);
++ goto invalid;
++ }
++
++ sysdep_segment_values[i] = get_sysdep_segment_value (name);
++ }
++
++ orig_sysdep_tab = (const nls_uint32 *)
++ ((char *) data
++ + W (domain->must_swap, data->orig_sysdep_tab_offset));
++ trans_sysdep_tab = (const nls_uint32 *)
++ ((char *) data
++ + W (domain->must_swap, data->trans_sysdep_tab_offset));
++
++ /* Compute the amount of additional memory needed for the
++ system dependent strings and the augmented hash table.
++ At the same time, also drop string pairs which refer to
++ an undefined system dependent segment. */
++ n_inmem_sysdep_strings = 0;
++ memneed = domain->hash_size * sizeof (nls_uint32);
++ for (i = 0; i < n_sysdep_strings; i++)
++ {
++ int valid = 1;
++ size_t needs[2];
++
++ for (j = 0; j < 2; j++)
++ {
++ const struct sysdep_string *sysdep_string =
++ (const struct sysdep_string *)
++ ((char *) data
++ + W (domain->must_swap,
++ j == 0
++ ? orig_sysdep_tab[i]
++ : trans_sysdep_tab[i]));
++ size_t need = 0;
++ const struct segment_pair *p = sysdep_string->segments;
++
++ if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END)
++ for (p = sysdep_string->segments;; p++)
++ {
++ nls_uint32 sysdepref;
++
++ need += W (domain->must_swap, p->segsize);
++
++ sysdepref = W (domain->must_swap, p->sysdepref);
++ if (sysdepref == SEGMENTS_END)
++ break;
++
++ if (sysdepref >= n_sysdep_segments)
++ {
++ /* Invalid. */
++ freea (sysdep_segment_values);
++ goto invalid;
++ }
++
++ if (sysdep_segment_values[sysdepref] == NULL)
++ {
++ /* This particular string pair is invalid. */
++ valid = 0;
++ break;
++ }
++
++ need += strlen (sysdep_segment_values[sysdepref]);
++ }
++
++ needs[j] = need;
++ if (!valid)
++ break;
++ }
++
++ if (valid)
++ {
++ n_inmem_sysdep_strings++;
++ memneed += needs[0] + needs[1];
++ }
++ }
++ memneed += 2 * n_inmem_sysdep_strings
++ * sizeof (struct sysdep_string_desc);
++
++ if (n_inmem_sysdep_strings > 0)
++ {
++ unsigned int k;
++
++ /* Allocate additional memory. */
++ mem = (char *) malloc (memneed);
++ if (mem == NULL)
++ goto invalid;
++
++ domain->malloced = mem;
++ inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem;
++ mem += n_inmem_sysdep_strings
++ * sizeof (struct sysdep_string_desc);
++ inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem;
++ mem += n_inmem_sysdep_strings
++ * sizeof (struct sysdep_string_desc);
++ inmem_hash_tab = (nls_uint32 *) mem;
++ mem += domain->hash_size * sizeof (nls_uint32);
++
++ /* Compute the system dependent strings. */
++ k = 0;
++ for (i = 0; i < n_sysdep_strings; i++)
++ {
++ int valid = 1;
++
++ for (j = 0; j < 2; j++)
++ {
++ const struct sysdep_string *sysdep_string =
++ (const struct sysdep_string *)
++ ((char *) data
++ + W (domain->must_swap,
++ j == 0
++ ? orig_sysdep_tab[i]
++ : trans_sysdep_tab[i]));
++ const struct segment_pair *p =
++ sysdep_string->segments;
++
++ if (W (domain->must_swap, p->sysdepref)
++ != SEGMENTS_END)
++ for (p = sysdep_string->segments;; p++)
++ {
++ nls_uint32 sysdepref;
++
++ sysdepref =
++ W (domain->must_swap, p->sysdepref);
++ if (sysdepref == SEGMENTS_END)
++ break;
++
++ if (sysdep_segment_values[sysdepref] == NULL)
++ {
++ /* This particular string pair is
++ invalid. */
++ valid = 0;
++ break;
++ }
++ }
++
++ if (!valid)
++ break;
++ }
++
++ if (valid)
++ {
++ for (j = 0; j < 2; j++)
++ {
++ const struct sysdep_string *sysdep_string =
++ (const struct sysdep_string *)
++ ((char *) data
++ + W (domain->must_swap,
++ j == 0
++ ? orig_sysdep_tab[i]
++ : trans_sysdep_tab[i]));
++ const char *static_segments =
++ (char *) data
++ + W (domain->must_swap, sysdep_string->offset);
++ const struct segment_pair *p =
++ sysdep_string->segments;
++
++ /* Concatenate the segments, and fill
++ inmem_orig_sysdep_tab[k] (for j == 0) and
++ inmem_trans_sysdep_tab[k] (for j == 1). */
++
++ struct sysdep_string_desc *inmem_tab_entry =
++ (j == 0
++ ? inmem_orig_sysdep_tab
++ : inmem_trans_sysdep_tab)
++ + k;
++
++ if (W (domain->must_swap, p->sysdepref)
++ == SEGMENTS_END)
++ {
++ /* Only one static segment. */
++ inmem_tab_entry->length =
++ W (domain->must_swap, p->segsize);
++ inmem_tab_entry->pointer = static_segments;
++ }
++ else
++ {
++ inmem_tab_entry->pointer = mem;
++
++ for (p = sysdep_string->segments;; p++)
++ {
++ nls_uint32 segsize =
++ W (domain->must_swap, p->segsize);
++ nls_uint32 sysdepref =
++ W (domain->must_swap, p->sysdepref);
++ size_t n;
++
++ if (segsize > 0)
++ {
++ memcpy (mem, static_segments, segsize);
++ mem += segsize;
++ static_segments += segsize;
++ }
++
++ if (sysdepref == SEGMENTS_END)
++ break;
++
++ n = strlen (sysdep_segment_values[sysdepref]);
++ memcpy (mem, sysdep_segment_values[sysdepref], n);
++ mem += n;
++ }
++
++ inmem_tab_entry->length =
++ mem - inmem_tab_entry->pointer;
++ }
++ }
++
++ k++;
++ }
++ }
++ if (k != n_inmem_sysdep_strings)
++ abort ();
++
++ /* Compute the augmented hash table. */
++ for (i = 0; i < domain->hash_size; i++)
++ inmem_hash_tab[i] =
++ W (domain->must_swap_hash_tab, domain->hash_tab[i]);
++ for (i = 0; i < n_inmem_sysdep_strings; i++)
++ {
++ const char *msgid = inmem_orig_sysdep_tab[i].pointer;
++ nls_uint32 hash_val = hash_string (msgid);
++ nls_uint32 idx = hash_val % domain->hash_size;
++ nls_uint32 incr =
++ 1 + (hash_val % (domain->hash_size - 2));
++
++ for (;;)
++ {
++ if (inmem_hash_tab[idx] == 0)
++ {
++ /* Hash table entry is empty. Use it. */
++ inmem_hash_tab[idx] = 1 + domain->nstrings + i;
++ break;
++ }
++
++ if (idx >= domain->hash_size - incr)
++ idx -= domain->hash_size - incr;
++ else
++ idx += incr;
++ }
++ }
++
++ domain->n_sysdep_strings = n_inmem_sysdep_strings;
++ domain->orig_sysdep_tab = inmem_orig_sysdep_tab;
++ domain->trans_sysdep_tab = inmem_trans_sysdep_tab;
++
++ domain->hash_tab = inmem_hash_tab;
++ domain->must_swap_hash_tab = 0;
++ }
++ else
++ {
++ domain->n_sysdep_strings = 0;
++ domain->orig_sysdep_tab = NULL;
++ domain->trans_sysdep_tab = NULL;
++ }
++
++ freea (sysdep_segment_values);
++ }
++ else
++ {
++ domain->n_sysdep_strings = 0;
++ domain->orig_sysdep_tab = NULL;
++ domain->trans_sysdep_tab = NULL;
++ }
++ }
++ break;
++ }
+ break;
+ default:
+- /* This is an illegal revision. */
+-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
+- || defined _LIBC
++ /* This is an invalid revision. */
++ invalid:
++ /* This is an invalid .mo file. */
++ if (domain->malloced)
++ free (domain->malloced);
++#ifdef HAVE_MMAP
+ if (use_mmap)
+- munmap ((caddr_t) data, st.st_size);
++ munmap ((caddr_t) data, size);
+ else
+ #endif
+ free (data);
+@@ -193,7 +1385,36 @@
+ return;
+ }
+
+- /* Show that one domain is changed. This might make some cached
+- translations invalid. */
+- ++_nl_msg_cat_cntr;
++ /* Now initialize the character set converter from the character set
++ the file is encoded with (found in the header entry) to the domain's
++ specified character set or the locale's character set. */
++ nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);
++
++ /* Also look for a plural specification. */
++ EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals);
+ }
++
++
++#ifdef _LIBC
++void
++internal_function
++_nl_unload_domain (struct loaded_domain *domain)
++{
++ if (domain->plural != &__gettext_germanic_plural)
++ __gettext_free_exp (domain->plural);
++
++ _nl_free_domain_conv (domain);
++
++ if (domain->malloced)
++ free (domain->malloced);
++
++# ifdef _POSIX_MAPPED_FILES
++ if (domain->use_mmap)
++ munmap ((caddr_t) domain->data, domain->mmap_size);
++ else
++# endif /* _POSIX_MAPPED_FILES */
++ free ((void *) domain->data);
++
++ free (domain);
++}
++#endif
+--- lrzsz-0.12.20.safe/intl/localcharset.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/localcharset.c 2004-09-12 14:40:34.478729392 -0400
+@@ -0,0 +1,398 @@
++/* Determine a canonical name for the current locale's character encoding.
++
++ Copyright (C) 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Written by Bruno Haible <bruno@clisp.org>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++/* Specification. */
++#include "localcharset.h"
++
++#if HAVE_STDDEF_H
++# include <stddef.h>
++#endif
++
++#include <stdio.h>
++#if HAVE_STRING_H
++# include <string.h>
++#else
++# include <strings.h>
++#endif
++#if HAVE_STDLIB_H
++# include <stdlib.h>
++#endif
++
++#if defined _WIN32 || defined __WIN32__
++# undef WIN32 /* avoid warning on mingw32 */
++# define WIN32
++#endif
++
++#if defined __EMX__
++/* Assume EMX program runs on OS/2, even if compiled under DOS. */
++# define OS2
++#endif
++
++#if !defined WIN32
++# if HAVE_LANGINFO_CODESET
++# include <langinfo.h>
++# else
++# if HAVE_SETLOCALE
++# include <locale.h>
++# endif
++# endif
++#elif defined WIN32
++# define WIN32_LEAN_AND_MEAN
++# include <windows.h>
++#endif
++#if defined OS2
++# define INCL_DOS
++# include <os2.h>
++#endif
++
++#if ENABLE_RELOCATABLE
++# include "relocatable.h"
++#else
++# define relocate(pathname) (pathname)
++#endif
++
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++#endif
++
++#ifndef DIRECTORY_SEPARATOR
++# define DIRECTORY_SEPARATOR '/'
++#endif
++
++#ifndef ISSLASH
++# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
++#endif
++
++#if HAVE_DECL_GETC_UNLOCKED
++# undef getc
++# define getc getc_unlocked
++#endif
++
++/* The following static variable is declared 'volatile' to avoid a
++ possible multithread problem in the function get_charset_aliases. If we
++ are running in a threaded environment, and if two threads initialize
++ 'charset_aliases' simultaneously, both will produce the same value,
++ and everything will be ok if the two assignments to 'charset_aliases'
++ are atomic. But I don't know what will happen if the two assignments mix. */
++#if __STDC__ != 1
++# define volatile /* empty */
++#endif
++/* Pointer to the contents of the charset.alias file, if it has already been
++ read, else NULL. Its format is:
++ ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */
++static const char * volatile charset_aliases;
++
++/* Return a pointer to the contents of the charset.alias file. */
++static const char *
++get_charset_aliases ()
++{
++ const char *cp;
++
++ cp = charset_aliases;
++ if (cp == NULL)
++ {
++#if !(defined VMS || defined WIN32)
++ FILE *fp;
++ const char *dir = relocate (LIBDIR);
++ const char *base = "charset.alias";
++ char *file_name;
++
++ /* Concatenate dir and base into freshly allocated file_name. */
++ {
++ size_t dir_len = strlen (dir);
++ size_t base_len = strlen (base);
++ int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));
++ file_name = (char *) malloc (dir_len + add_slash + base_len + 1);
++ if (file_name != NULL)
++ {
++ memcpy (file_name, dir, dir_len);
++ if (add_slash)
++ file_name[dir_len] = DIRECTORY_SEPARATOR;
++ memcpy (file_name + dir_len + add_slash, base, base_len + 1);
++ }
++ }
++
++ if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)
++ /* Out of memory or file not found, treat it as empty. */
++ cp = "";
++ else
++ {
++ /* Parse the file's contents. */
++ int c;
++ char buf1[50+1];
++ char buf2[50+1];
++ char *res_ptr = NULL;
++ size_t res_size = 0;
++ size_t l1, l2;
++
++ for (;;)
++ {
++ c = getc (fp);
++ if (c == EOF)
++ break;
++ if (c == '\n' || c == ' ' || c == '\t')
++ continue;
++ if (c == '#')
++ {
++ /* Skip comment, to end of line. */
++ do
++ c = getc (fp);
++ while (!(c == EOF || c == '\n'));
++ if (c == EOF)
++ break;
++ continue;
++ }
++ ungetc (c, fp);
++ if (fscanf (fp, "%50s %50s", buf1, buf2) < 2)
++ break;
++ l1 = strlen (buf1);
++ l2 = strlen (buf2);
++ if (res_size == 0)
++ {
++ res_size = l1 + 1 + l2 + 1;
++ res_ptr = (char *) malloc (res_size + 1);
++ }
++ else
++ {
++ res_size += l1 + 1 + l2 + 1;
++ res_ptr = (char *) realloc (res_ptr, res_size + 1);
++ }
++ if (res_ptr == NULL)
++ {
++ /* Out of memory. */
++ res_size = 0;
++ break;
++ }
++ strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);
++ strcpy (res_ptr + res_size - (l2 + 1), buf2);
++ }
++ fclose (fp);
++ if (res_size == 0)
++ cp = "";
++ else
++ {
++ *(res_ptr + res_size) = '\0';
++ cp = res_ptr;
++ }
++ }
++
++ if (file_name != NULL)
++ free (file_name);
++
++#else
++
++# if defined VMS
++ /* To avoid the troubles of an extra file charset.alias_vms in the
++ sources of many GNU packages, simply inline the aliases here. */
++ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation
++ "Compaq C Run-Time Library Reference Manual for OpenVMS systems"
++ section 10.7 "Handling Different Character Sets". */
++ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
++ "ISO8859-2" "\0" "ISO-8859-2" "\0"
++ "ISO8859-5" "\0" "ISO-8859-5" "\0"
++ "ISO8859-7" "\0" "ISO-8859-7" "\0"
++ "ISO8859-8" "\0" "ISO-8859-8" "\0"
++ "ISO8859-9" "\0" "ISO-8859-9" "\0"
++ /* Japanese */
++ "eucJP" "\0" "EUC-JP" "\0"
++ "SJIS" "\0" "SHIFT_JIS" "\0"
++ "DECKANJI" "\0" "DEC-KANJI" "\0"
++ "SDECKANJI" "\0" "EUC-JP" "\0"
++ /* Chinese */
++ "eucTW" "\0" "EUC-TW" "\0"
++ "DECHANYU" "\0" "DEC-HANYU" "\0"
++ "DECHANZI" "\0" "GB2312" "\0"
++ /* Korean */
++ "DECKOREAN" "\0" "EUC-KR" "\0";
++# endif
++
++# if defined WIN32
++ /* To avoid the troubles of installing a separate file in the same
++ directory as the DLL and of retrieving the DLL's directory at
++ runtime, simply inline the aliases here. */
++
++ cp = "CP936" "\0" "GBK" "\0"
++ "CP1361" "\0" "JOHAB" "\0"
++ "CP20127" "\0" "ASCII" "\0"
++ "CP20866" "\0" "KOI8-R" "\0"
++ "CP21866" "\0" "KOI8-RU" "\0"
++ "CP28591" "\0" "ISO-8859-1" "\0"
++ "CP28592" "\0" "ISO-8859-2" "\0"
++ "CP28593" "\0" "ISO-8859-3" "\0"
++ "CP28594" "\0" "ISO-8859-4" "\0"
++ "CP28595" "\0" "ISO-8859-5" "\0"
++ "CP28596" "\0" "ISO-8859-6" "\0"
++ "CP28597" "\0" "ISO-8859-7" "\0"
++ "CP28598" "\0" "ISO-8859-8" "\0"
++ "CP28599" "\0" "ISO-8859-9" "\0"
++ "CP28605" "\0" "ISO-8859-15" "\0";
++# endif
++#endif
++
++ charset_aliases = cp;
++ }
++
++ return cp;
++}
++
++/* Determine the current locale's character encoding, and canonicalize it
++ into one of the canonical names listed in config.charset.
++ The result must not be freed; it is statically allocated.
++ If the canonical name cannot be determined, the result is a non-canonical
++ name. */
++
++#ifdef STATIC
++STATIC
++#endif
++const char *
++locale_charset ()
++{
++ const char *codeset;
++ const char *aliases;
++
++#if !(defined WIN32 || defined OS2)
++
++# if HAVE_LANGINFO_CODESET
++
++ /* Most systems support nl_langinfo (CODESET) nowadays. */
++ codeset = nl_langinfo (CODESET);
++
++# else
++
++ /* On old systems which lack it, use setlocale or getenv. */
++ const char *locale = NULL;
++
++ /* But most old systems don't have a complete set of locales. Some
++ (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't
++ use setlocale here; it would return "C" when it doesn't support the
++ locale name the user has set. */
++# if HAVE_SETLOCALE && 0
++ locale = setlocale (LC_CTYPE, NULL);
++# endif
++ if (locale == NULL || locale[0] == '\0')
++ {
++ locale = getenv ("LC_ALL");
++ if (locale == NULL || locale[0] == '\0')
++ {
++ locale = getenv ("LC_CTYPE");
++ if (locale == NULL || locale[0] == '\0')
++ locale = getenv ("LANG");
++ }
++ }
++
++ /* On some old systems, one used to set locale = "iso8859_1". On others,
++ you set it to "language_COUNTRY.charset". In any case, we resolve it
++ through the charset.alias file. */
++ codeset = locale;
++
++# endif
++
++#elif defined WIN32
++
++ static char buf[2 + 10 + 1];
++
++ /* Woe32 has a function returning the locale's codepage as a number. */
++ sprintf (buf, "CP%u", GetACP ());
++ codeset = buf;
++
++#elif defined OS2
++
++ const char *locale;
++ static char buf[2 + 10 + 1];
++ ULONG cp[3];
++ ULONG cplen;
++
++ /* Allow user to override the codeset, as set in the operating system,
++ with standard language environment variables. */
++ locale = getenv ("LC_ALL");
++ if (locale == NULL || locale[0] == '\0')
++ {
++ locale = getenv ("LC_CTYPE");
++ if (locale == NULL || locale[0] == '\0')
++ locale = getenv ("LANG");
++ }
++ if (locale != NULL && locale[0] != '\0')
++ {
++ /* If the locale name contains an encoding after the dot, return it. */
++ const char *dot = strchr (locale, '.');
++
++ if (dot != NULL)
++ {
++ const char *modifier;
++
++ dot++;
++ /* Look for the possible @... trailer and remove it, if any. */
++ modifier = strchr (dot, '@');
++ if (modifier == NULL)
++ return dot;
++ if (modifier - dot < sizeof (buf))
++ {
++ memcpy (buf, dot, modifier - dot);
++ buf [modifier - dot] = '\0';
++ return buf;
++ }
++ }
++
++ /* Resolve through the charset.alias file. */
++ codeset = locale;
++ }
++ else
++ {
++ /* OS/2 has a function returning the locale's codepage as a number. */
++ if (DosQueryCp (sizeof (cp), cp, &cplen))
++ codeset = "";
++ else
++ {
++ sprintf (buf, "CP%u", cp[0]);
++ codeset = buf;
++ }
++ }
++
++#endif
++
++ if (codeset == NULL)
++ /* The canonical name cannot be determined. */
++ codeset = "";
++
++ /* Resolve alias. */
++ for (aliases = get_charset_aliases ();
++ *aliases != '\0';
++ aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
++ if (strcmp (codeset, aliases) == 0
++ || (aliases[0] == '*' && aliases[1] == '\0'))
++ {
++ codeset = aliases + strlen (aliases) + 1;
++ break;
++ }
++
++ /* Don't return an empty string. GNU libc and GNU libiconv interpret
++ the empty string as denoting "the locale's character encoding",
++ thus GNU libiconv would call this function a second time. */
++ if (codeset[0] == '\0')
++ codeset = "ASCII";
++
++ return codeset;
++}
+--- lrzsz-0.12.20.safe/intl/localcharset.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/localcharset.h 2004-09-12 14:40:34.483728632 -0400
+@@ -0,0 +1,42 @@
++/* Determine a canonical name for the current locale's character encoding.
++ Copyright (C) 2000-2003 Free Software Foundation, Inc.
++ This file is part of the GNU CHARSET Library.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _LOCALCHARSET_H
++#define _LOCALCHARSET_H
++
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* Determine the current locale's character encoding, and canonicalize it
++ into one of the canonical names listed in config.charset.
++ The result must not be freed; it is statically allocated.
++ If the canonical name cannot be determined, the result is a non-canonical
++ name. */
++extern const char * locale_charset (void);
++
++
++#ifdef __cplusplus
++}
++#endif
++
++
++#endif /* _LOCALCHARSET_H */
+--- lrzsz-0.12.20.safe/intl/locale.alias 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/locale.alias 2004-09-12 14:40:34.499726200 -0400
+@@ -0,0 +1,78 @@
++# Locale name alias data base.
++# Copyright (C) 1996-2001,2003 Free Software Foundation, Inc.
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU Library General Public License as published
++# by the Free Software Foundation; either version 2, 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
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public
++# License along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++# USA.
++
++# The format of this file is the same as for the corresponding file of
++# the X Window System, which normally can be found in
++# /usr/lib/X11/locale/locale.alias
++# A single line contains two fields: an alias and a substitution value.
++# All entries are case independent.
++
++# Note: This file is far from being complete. If you have a value for
++# your own site which you think might be useful for others too, share
++# it with the rest of us. Send it using the `glibcbug' script to
++# bugs@gnu.org.
++
++# Packages using this file:
++
++bokmal nb_NO.ISO-8859-1
++bokmål nb_NO.ISO-8859-1
++catalan ca_ES.ISO-8859-1
++croatian hr_HR.ISO-8859-2
++czech cs_CZ.ISO-8859-2
++danish da_DK.ISO-8859-1
++dansk da_DK.ISO-8859-1
++deutsch de_DE.ISO-8859-1
++dutch nl_NL.ISO-8859-1
++eesti et_EE.ISO-8859-1
++estonian et_EE.ISO-8859-1
++finnish fi_FI.ISO-8859-1
++français fr_FR.ISO-8859-1
++french fr_FR.ISO-8859-1
++galego gl_ES.ISO-8859-1
++galician gl_ES.ISO-8859-1
++german de_DE.ISO-8859-1
++greek el_GR.ISO-8859-7
++hebrew he_IL.ISO-8859-8
++hrvatski hr_HR.ISO-8859-2
++hungarian hu_HU.ISO-8859-2
++icelandic is_IS.ISO-8859-1
++italian it_IT.ISO-8859-1
++japanese ja_JP.eucJP
++japanese.euc ja_JP.eucJP
++ja_JP ja_JP.eucJP
++ja_JP.ujis ja_JP.eucJP
++japanese.sjis ja_JP.SJIS
++korean ko_KR.eucKR
++korean.euc ko_KR.eucKR
++ko_KR ko_KR.eucKR
++lithuanian lt_LT.ISO-8859-13
++no_NO nb_NO.ISO-8859-1
++no_NO.ISO-8859-1 nb_NO.ISO-8859-1
++norwegian nb_NO.ISO-8859-1
++nynorsk nn_NO.ISO-8859-1
++polish pl_PL.ISO-8859-2
++portuguese pt_PT.ISO-8859-1
++romanian ro_RO.ISO-8859-2
++russian ru_RU.ISO-8859-5
++slovak sk_SK.ISO-8859-2
++slovene sl_SI.ISO-8859-2
++slovenian sl_SI.ISO-8859-2
++spanish es_ES.ISO-8859-1
++swedish sv_SE.ISO-8859-1
++thai th_TH.TIS-620
++turkish tr_TR.ISO-8859-9
+--- lrzsz-0.12.20.safe/intl/localealias.c 1998-04-26 09:22:37.000000000 -0400
++++ lrzsz-0.12.20/intl/localealias.c 2004-09-12 14:40:34.505725288 -0400
+@@ -1,20 +1,27 @@
+-/* Handle aliases for locale names
+- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
++/* Handle aliases for locale names.
++ Copyright (C) 1995-1999, 2000-2001, 2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Tell glibc's <string.h> to provide a prototype for mempcpy().
++ This must come before <config.h> because <config.h> may include
++ <features.h>, and once <features.h> has been included, it's too late. */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -22,56 +29,45 @@
+
+ #include <ctype.h>
+ #include <stdio.h>
++#if defined _LIBC || defined HAVE___FSETLOCKING
++# include <stdio_ext.h>
++#endif
+ #include <sys/types.h>
+
+ #ifdef __GNUC__
++# undef alloca
+ # define alloca __builtin_alloca
+ # define HAVE_ALLOCA 1
+ #else
+-# if defined HAVE_ALLOCA_H || defined _LIBC
+-# include <alloca.h>
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
+ # else
+-# ifdef _AIX
+- #pragma alloca
++# if defined HAVE_ALLOCA_H || defined _LIBC
++# include <alloca.h>
+ # else
+-# ifndef alloca
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca
+ char *alloca ();
++# endif
+ # endif
+ # endif
+ # endif
+ #endif
+
+-#if defined STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-#else
+-char *getenv ();
+-# ifdef HAVE_MALLOC_H
+-# include <malloc.h>
+-# else
+-void free ();
+-# endif
+-#endif
++#include <stdlib.h>
++#include <string.h>
+
+-#if defined HAVE_STRING_H || defined _LIBC
+-# ifndef _GNU_SOURCE
+-# define _GNU_SOURCE 1
+-# endif
+-# include <string.h>
++#include "gettextP.h"
++
++#if ENABLE_RELOCATABLE
++# include "relocatable.h"
+ #else
+-# include <strings.h>
+-# ifndef memcpy
+-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
+-# endif
+-#endif
+-#if !HAVE_STRCHR && !defined _LIBC
+-# ifndef strchr
+-# define strchr index
+-# endif
++# define relocate(pathname) (pathname)
+ #endif
+
+-#include "gettext.h"
+-#include "gettextP.h"
+-
+ /* @@ end of prolog @@ */
+
+ #ifdef _LIBC
+@@ -79,43 +75,49 @@
+ because some ANSI C functions will require linking with this object
+ file and the name space must not be polluted. */
+ # define strcasecmp __strcasecmp
++
++# ifndef mempcpy
++# define mempcpy __mempcpy
++# endif
++# define HAVE_MEMPCPY 1
++# define HAVE___FSETLOCKING 1
++
++/* We need locking here since we can be called from different places. */
++# include <bits/libc-lock.h>
++
++__libc_lock_define_initialized (static, lock);
++#endif
++
++#ifndef internal_function
++# define internal_function
+ #endif
+
++/* Some optimizations for glibc. */
++#ifdef _LIBC
++# define FEOF(fp) feof_unlocked (fp)
++# define FGETS(buf, n, fp) fgets_unlocked (buf, n, fp)
++#else
++# define FEOF(fp) feof (fp)
++# define FGETS(buf, n, fp) fgets (buf, n, fp)
++#endif
+
+-/* For those loosing systems which don't have `alloca' we have to add
++/* For those losing systems which don't have `alloca' we have to add
+ some additional code emulating it. */
+ #ifdef HAVE_ALLOCA
+-/* Nothing has to be done. */
+-# define ADD_BLOCK(list, address) /* nothing */
+-# define FREE_BLOCKS(list) /* nothing */
++# define freea(p) /* nothing */
+ #else
+-struct block_list
+-{
+- void *address;
+- struct block_list *next;
+-};
+-# define ADD_BLOCK(list, addr) \
+- do { \
+- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \
+- /* If we cannot get a free block we cannot add the new element to \
+- the list. */ \
+- if (newp != NULL) { \
+- newp->address = (addr); \
+- newp->next = (list); \
+- (list) = newp; \
+- } \
+- } while (0)
+-# define FREE_BLOCKS(list) \
+- do { \
+- while (list != NULL) { \
+- struct block_list *old = list; \
+- list = list->next; \
+- free (old); \
+- } \
+- } while (0)
+-# undef alloca
+-# define alloca(size) (malloc (size))
+-#endif /* have alloca */
++# define alloca(n) malloc (n)
++# define freea(p) free (p)
++#endif
++
++#if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED
++# undef fgets
++# define fgets(buf, len, s) fgets_unlocked (buf, len, s)
++#endif
++#if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED
++# undef feof
++# define feof(s) feof_unlocked (s)
++#endif
+
+
+ struct alias_map
+@@ -125,26 +127,41 @@
+ };
+
+
+-static struct alias_map *map;
+-static size_t nmap = 0;
+-static size_t maxmap = 0;
++#ifndef _LIBC
++# define libc_freeres_ptr(decl) decl
++#endif
++
++libc_freeres_ptr (static char *string_space);
++static size_t string_space_act;
++static size_t string_space_max;
++libc_freeres_ptr (static struct alias_map *map);
++static size_t nmap;
++static size_t maxmap;
+
+
+ /* Prototypes for local functions. */
+-static size_t read_alias_file PARAMS ((const char *fname, int fname_len));
+-static void extend_alias_table PARAMS ((void));
+-static int alias_compare PARAMS ((const struct alias_map *map1,
+- const struct alias_map *map2));
++static size_t read_alias_file (const char *fname, int fname_len)
++ internal_function;
++static int extend_alias_table (void);
++static int alias_compare (const struct alias_map *map1,
++ const struct alias_map *map2);
+
+
+ const char *
+-_nl_expand_alias (name)
+- const char *name;
++_nl_expand_alias (const char *name)
+ {
+- static const char *locale_alias_path = LOCALE_ALIAS_PATH;
++ static const char *locale_alias_path;
+ struct alias_map *retval;
++ const char *result = NULL;
+ size_t added;
+
++#ifdef _LIBC
++ __libc_lock_lock (lock);
++#endif
++
++ if (locale_alias_path == NULL)
++ locale_alias_path = LOCALE_ALIAS_PATH;
++
+ do
+ {
+ struct alias_map item;
+@@ -154,15 +171,18 @@
+ if (nmap > 0)
+ retval = (struct alias_map *) bsearch (&item, map, nmap,
+ sizeof (struct alias_map),
+- (int (*) PARAMS ((const void *,
+- const void *))
++ (int (*) (const void *,
++ const void *)
+ ) alias_compare);
+ else
+ retval = NULL;
+
+ /* We really found an alias. Return the value. */
+ if (retval != NULL)
+- return retval->value;
++ {
++ result = retval->value;
++ break;
++ }
+
+ /* Perhaps we can find another alias file. */
+ added = 0;
+@@ -170,11 +190,12 @@
+ {
+ const char *start;
+
+- while (locale_alias_path[0] == ':')
++ while (locale_alias_path[0] == PATH_SEPARATOR)
+ ++locale_alias_path;
+ start = locale_alias_path;
+
+- while (locale_alias_path[0] != '\0' && locale_alias_path[0] != ':')
++ while (locale_alias_path[0] != '\0'
++ && locale_alias_path[0] != PATH_SEPARATOR)
+ ++locale_alias_path;
+
+ if (start < locale_alias_path)
+@@ -183,78 +204,87 @@
+ }
+ while (added != 0);
+
+- return NULL;
++#ifdef _LIBC
++ __libc_lock_unlock (lock);
++#endif
++
++ return result;
+ }
+
+
+ static size_t
+-read_alias_file (fname, fname_len)
+- const char *fname;
+- int fname_len;
++internal_function
++read_alias_file (const char *fname, int fname_len)
+ {
+-#ifndef HAVE_ALLOCA
+- struct block_list *block_list = NULL;
+-#endif
+ FILE *fp;
+ char *full_fname;
+ size_t added;
+ static const char aliasfile[] = "/locale.alias";
+
+ full_fname = (char *) alloca (fname_len + sizeof aliasfile);
+- ADD_BLOCK (block_list, full_fname);
++#ifdef HAVE_MEMPCPY
++ mempcpy (mempcpy (full_fname, fname, fname_len),
++ aliasfile, sizeof aliasfile);
++#else
+ memcpy (full_fname, fname, fname_len);
+ memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
++#endif
+
+- fp = fopen (full_fname, "r");
++ fp = fopen (relocate (full_fname), "r");
++ freea (full_fname);
+ if (fp == NULL)
+- {
+- FREE_BLOCKS (block_list);
+- return 0;
+- }
++ return 0;
++
++#ifdef HAVE___FSETLOCKING
++ /* No threads present. */
++ __fsetlocking (fp, FSETLOCKING_BYCALLER);
++#endif
+
+ added = 0;
+- while (!feof (fp))
++ while (!FEOF (fp))
+ {
+ /* It is a reasonable approach to use a fix buffer here because
+ a) we are only interested in the first two fields
+ b) these fields must be usable as file names and so must not
+ be that long
+- */
+- char buf[BUFSIZ];
++ We avoid a multi-kilobyte buffer here since this would use up
++ stack space which we might not have if the program ran out of
++ memory. */
++ char buf[400];
+ char *alias;
+ char *value;
+ char *cp;
+
+- if (fgets (buf, BUFSIZ, fp) == NULL)
++ if (FGETS (buf, sizeof buf, fp) == NULL)
+ /* EOF reached. */
+ break;
+
+ cp = buf;
+ /* Ignore leading white space. */
+- while (isspace (cp[0]))
++ while (isspace ((unsigned char) cp[0]))
+ ++cp;
+
+ /* A leading '#' signals a comment line. */
+ if (cp[0] != '\0' && cp[0] != '#')
+ {
+ alias = cp++;
+- while (cp[0] != '\0' && !isspace (cp[0]))
++ while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
+ ++cp;
+ /* Terminate alias name. */
+ if (cp[0] != '\0')
+ *cp++ = '\0';
+
+ /* Now look for the beginning of the value. */
+- while (isspace (cp[0]))
++ while (isspace ((unsigned char) cp[0]))
+ ++cp;
+
+ if (cp[0] != '\0')
+ {
+- char *tp;
+- size_t len;
++ size_t alias_len;
++ size_t value_len;
+
+ value = cp++;
+- while (cp[0] != '\0' && !isspace (cp[0]))
++ while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
+ ++cp;
+ /* Terminate value. */
+ if (cp[0] == '\n')
+@@ -269,28 +299,44 @@
+ *cp++ = '\0';
+
+ if (nmap >= maxmap)
+- extend_alias_table ();
+-
+- /* We cannot depend on strdup available in the libc. Sigh! */
+- len = strlen (alias) + 1;
+- tp = (char *) malloc (len);
+- if (tp == NULL)
+- {
+- FREE_BLOCKS (block_list);
++ if (__builtin_expect (extend_alias_table (), 0))
+ return added;
+- }
+- memcpy (tp, alias, len);
+- map[nmap].alias = tp;
+
+- len = strlen (value) + 1;
+- tp = (char *) malloc (len);
+- if (tp == NULL)
++ alias_len = strlen (alias) + 1;
++ value_len = strlen (value) + 1;
++
++ if (string_space_act + alias_len + value_len > string_space_max)
+ {
+- FREE_BLOCKS (block_list);
+- return added;
++ /* Increase size of memory pool. */
++ size_t new_size = (string_space_max
++ + (alias_len + value_len > 1024
++ ? alias_len + value_len : 1024));
++ char *new_pool = (char *) realloc (string_space, new_size);
++ if (new_pool == NULL)
++ return added;
++
++ if (__builtin_expect (string_space != new_pool, 0))
++ {
++ size_t i;
++
++ for (i = 0; i < nmap; i++)
++ {
++ map[i].alias += new_pool - string_space;
++ map[i].value += new_pool - string_space;
++ }
++ }
++
++ string_space = new_pool;
++ string_space_max = new_size;
+ }
+- memcpy (tp, value, len);
+- map[nmap].value = tp;
++
++ map[nmap].alias = memcpy (&string_space[string_space_act],
++ alias, alias_len);
++ string_space_act += alias_len;
++
++ map[nmap].value = memcpy (&string_space[string_space_act],
++ value, value_len);
++ string_space_act += value_len;
+
+ ++nmap;
+ ++added;
+@@ -299,14 +345,11 @@
+
+ /* Possibly not the whole line fits into the buffer. Ignore
+ the rest of the line. */
+- while (strchr (cp, '\n') == NULL)
+- {
+- cp = buf;
+- if (fgets (buf, BUFSIZ, fp) == NULL)
+- /* Make sure the inner loop will be left. The outer loop
+- will exit at the `feof' test. */
+- *cp = '\n';
+- }
++ while (strchr (buf, '\n') == NULL)
++ if (FGETS (buf, sizeof buf, fp) == NULL)
++ /* Make sure the inner loop will be left. The outer loop
++ will exit at the `feof' test. */
++ break;
+ }
+
+ /* Should we test for ferror()? I think we have to silently ignore
+@@ -315,40 +358,33 @@
+
+ if (added > 0)
+ qsort (map, nmap, sizeof (struct alias_map),
+- (int (*) PARAMS ((const void *, const void *))) alias_compare);
++ (int (*) (const void *, const void *)) alias_compare);
+
+- FREE_BLOCKS (block_list);
+ return added;
+ }
+
+
+-static void
++static int
+ extend_alias_table ()
+ {
+ size_t new_size;
+ struct alias_map *new_map;
+
+ new_size = maxmap == 0 ? 100 : 2 * maxmap;
+- new_map = (struct alias_map *) malloc (new_size
+- * sizeof (struct alias_map));
++ new_map = (struct alias_map *) realloc (map, (new_size
++ * sizeof (struct alias_map)));
+ if (new_map == NULL)
+ /* Simply don't extend: we don't have any more core. */
+- return;
+-
+- memcpy (new_map, map, nmap * sizeof (struct alias_map));
+-
+- if (maxmap != 0)
+- free (map);
++ return -1;
+
+ map = new_map;
+ maxmap = new_size;
++ return 0;
+ }
+
+
+ static int
+-alias_compare (map1, map2)
+- const struct alias_map *map1;
+- const struct alias_map *map2;
++alias_compare (const struct alias_map *map1, const struct alias_map *map2)
+ {
+ #if defined _LIBC || defined HAVE_STRCASECMP
+ return strcasecmp (map1->alias, map2->alias);
+--- lrzsz-0.12.20.safe/intl/localename.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/localename.c 2004-09-12 14:40:34.510724528 -0400
+@@ -0,0 +1,1142 @@
++/* Determine the current selected locale.
++ Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
++/* Win32 code written by Tor Lillqvist <tml@iki.fi>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdlib.h>
++#include <locale.h>
++
++#if defined _WIN32 || defined __WIN32__
++# undef WIN32 /* avoid warning on mingw32 */
++# define WIN32
++#endif
++
++#ifdef WIN32
++# define WIN32_LEAN_AND_MEAN
++# include <windows.h>
++/* List of language codes, sorted by value:
++ 0x01 LANG_ARABIC
++ 0x02 LANG_BULGARIAN
++ 0x03 LANG_CATALAN
++ 0x04 LANG_CHINESE
++ 0x05 LANG_CZECH
++ 0x06 LANG_DANISH
++ 0x07 LANG_GERMAN
++ 0x08 LANG_GREEK
++ 0x09 LANG_ENGLISH
++ 0x0a LANG_SPANISH
++ 0x0b LANG_FINNISH
++ 0x0c LANG_FRENCH
++ 0x0d LANG_HEBREW
++ 0x0e LANG_HUNGARIAN
++ 0x0f LANG_ICELANDIC
++ 0x10 LANG_ITALIAN
++ 0x11 LANG_JAPANESE
++ 0x12 LANG_KOREAN
++ 0x13 LANG_DUTCH
++ 0x14 LANG_NORWEGIAN
++ 0x15 LANG_POLISH
++ 0x16 LANG_PORTUGUESE
++ 0x17 LANG_RHAETO_ROMANCE
++ 0x18 LANG_ROMANIAN
++ 0x19 LANG_RUSSIAN
++ 0x1a LANG_CROATIAN == LANG_SERBIAN
++ 0x1b LANG_SLOVAK
++ 0x1c LANG_ALBANIAN
++ 0x1d LANG_SWEDISH
++ 0x1e LANG_THAI
++ 0x1f LANG_TURKISH
++ 0x20 LANG_URDU
++ 0x21 LANG_INDONESIAN
++ 0x22 LANG_UKRAINIAN
++ 0x23 LANG_BELARUSIAN
++ 0x24 LANG_SLOVENIAN
++ 0x25 LANG_ESTONIAN
++ 0x26 LANG_LATVIAN
++ 0x27 LANG_LITHUANIAN
++ 0x28 LANG_TAJIK
++ 0x29 LANG_FARSI
++ 0x2a LANG_VIETNAMESE
++ 0x2b LANG_ARMENIAN
++ 0x2c LANG_AZERI
++ 0x2d LANG_BASQUE
++ 0x2e LANG_SORBIAN
++ 0x2f LANG_MACEDONIAN
++ 0x30 LANG_SUTU
++ 0x31 LANG_TSONGA
++ 0x32 LANG_TSWANA
++ 0x33 LANG_VENDA
++ 0x34 LANG_XHOSA
++ 0x35 LANG_ZULU
++ 0x36 LANG_AFRIKAANS
++ 0x37 LANG_GEORGIAN
++ 0x38 LANG_FAEROESE
++ 0x39 LANG_HINDI
++ 0x3a LANG_MALTESE
++ 0x3b LANG_SAAMI
++ 0x3c LANG_GAELIC
++ 0x3d LANG_YIDDISH
++ 0x3e LANG_MALAY
++ 0x3f LANG_KAZAK
++ 0x40 LANG_KYRGYZ
++ 0x41 LANG_SWAHILI
++ 0x42 LANG_TURKMEN
++ 0x43 LANG_UZBEK
++ 0x44 LANG_TATAR
++ 0x45 LANG_BENGALI
++ 0x46 LANG_PUNJABI
++ 0x47 LANG_GUJARATI
++ 0x48 LANG_ORIYA
++ 0x49 LANG_TAMIL
++ 0x4a LANG_TELUGU
++ 0x4b LANG_KANNADA
++ 0x4c LANG_MALAYALAM
++ 0x4d LANG_ASSAMESE
++ 0x4e LANG_MARATHI
++ 0x4f LANG_SANSKRIT
++ 0x50 LANG_MONGOLIAN
++ 0x51 LANG_TIBETAN
++ 0x52 LANG_WELSH
++ 0x53 LANG_CAMBODIAN
++ 0x54 LANG_LAO
++ 0x55 LANG_BURMESE
++ 0x56 LANG_GALICIAN
++ 0x57 LANG_KONKANI
++ 0x58 LANG_MANIPURI
++ 0x59 LANG_SINDHI
++ 0x5a LANG_SYRIAC
++ 0x5b LANG_SINHALESE
++ 0x5c LANG_CHEROKEE
++ 0x5d LANG_INUKTITUT
++ 0x5e LANG_AMHARIC
++ 0x5f LANG_TAMAZIGHT
++ 0x60 LANG_KASHMIRI
++ 0x61 LANG_NEPALI
++ 0x62 LANG_FRISIAN
++ 0x63 LANG_PASHTO
++ 0x64 LANG_TAGALOG
++ 0x65 LANG_DIVEHI
++ 0x66 LANG_EDO
++ 0x67 LANG_FULFULDE
++ 0x68 LANG_HAUSA
++ 0x69 LANG_IBIBIO
++ 0x6a LANG_YORUBA
++ 0x70 LANG_IGBO
++ 0x71 LANG_KANURI
++ 0x72 LANG_OROMO
++ 0x73 LANG_TIGRINYA
++ 0x74 LANG_GUARANI
++ 0x75 LANG_HAWAIIAN
++ 0x76 LANG_LATIN
++ 0x77 LANG_SOMALI
++ 0x78 LANG_YI
++ 0x79 LANG_PAPIAMENTU
++*/
++/* Mingw headers don't have latest language and sublanguage codes. */
++# ifndef LANG_AFRIKAANS
++# define LANG_AFRIKAANS 0x36
++# endif
++# ifndef LANG_ALBANIAN
++# define LANG_ALBANIAN 0x1c
++# endif
++# ifndef LANG_AMHARIC
++# define LANG_AMHARIC 0x5e
++# endif
++# ifndef LANG_ARABIC
++# define LANG_ARABIC 0x01
++# endif
++# ifndef LANG_ARMENIAN
++# define LANG_ARMENIAN 0x2b
++# endif
++# ifndef LANG_ASSAMESE
++# define LANG_ASSAMESE 0x4d
++# endif
++# ifndef LANG_AZERI
++# define LANG_AZERI 0x2c
++# endif
++# ifndef LANG_BASQUE
++# define LANG_BASQUE 0x2d
++# endif
++# ifndef LANG_BELARUSIAN
++# define LANG_BELARUSIAN 0x23
++# endif
++# ifndef LANG_BENGALI
++# define LANG_BENGALI 0x45
++# endif
++# ifndef LANG_BURMESE
++# define LANG_BURMESE 0x55
++# endif
++# ifndef LANG_CAMBODIAN
++# define LANG_CAMBODIAN 0x53
++# endif
++# ifndef LANG_CATALAN
++# define LANG_CATALAN 0x03
++# endif
++# ifndef LANG_CHEROKEE
++# define LANG_CHEROKEE 0x5c
++# endif
++# ifndef LANG_DIVEHI
++# define LANG_DIVEHI 0x65
++# endif
++# ifndef LANG_EDO
++# define LANG_EDO 0x66
++# endif
++# ifndef LANG_ESTONIAN
++# define LANG_ESTONIAN 0x25
++# endif
++# ifndef LANG_FAEROESE
++# define LANG_FAEROESE 0x38
++# endif
++# ifndef LANG_FARSI
++# define LANG_FARSI 0x29
++# endif
++# ifndef LANG_FRISIAN
++# define LANG_FRISIAN 0x62
++# endif
++# ifndef LANG_FULFULDE
++# define LANG_FULFULDE 0x67
++# endif
++# ifndef LANG_GAELIC
++# define LANG_GAELIC 0x3c
++# endif
++# ifndef LANG_GALICIAN
++# define LANG_GALICIAN 0x56
++# endif
++# ifndef LANG_GEORGIAN
++# define LANG_GEORGIAN 0x37
++# endif
++# ifndef LANG_GUARANI
++# define LANG_GUARANI 0x74
++# endif
++# ifndef LANG_GUJARATI
++# define LANG_GUJARATI 0x47
++# endif
++# ifndef LANG_HAUSA
++# define LANG_HAUSA 0x68
++# endif
++# ifndef LANG_HAWAIIAN
++# define LANG_HAWAIIAN 0x75
++# endif
++# ifndef LANG_HEBREW
++# define LANG_HEBREW 0x0d
++# endif
++# ifndef LANG_HINDI
++# define LANG_HINDI 0x39
++# endif
++# ifndef LANG_IBIBIO
++# define LANG_IBIBIO 0x69
++# endif
++# ifndef LANG_IGBO
++# define LANG_IGBO 0x70
++# endif
++# ifndef LANG_INDONESIAN
++# define LANG_INDONESIAN 0x21
++# endif
++# ifndef LANG_INUKTITUT
++# define LANG_INUKTITUT 0x5d
++# endif
++# ifndef LANG_KANNADA
++# define LANG_KANNADA 0x4b
++# endif
++# ifndef LANG_KANURI
++# define LANG_KANURI 0x71
++# endif
++# ifndef LANG_KASHMIRI
++# define LANG_KASHMIRI 0x60
++# endif
++# ifndef LANG_KAZAK
++# define LANG_KAZAK 0x3f
++# endif
++# ifndef LANG_KONKANI
++# define LANG_KONKANI 0x57
++# endif
++# ifndef LANG_KYRGYZ
++# define LANG_KYRGYZ 0x40
++# endif
++# ifndef LANG_LAO
++# define LANG_LAO 0x54
++# endif
++# ifndef LANG_LATIN
++# define LANG_LATIN 0x76
++# endif
++# ifndef LANG_LATVIAN
++# define LANG_LATVIAN 0x26
++# endif
++# ifndef LANG_LITHUANIAN
++# define LANG_LITHUANIAN 0x27
++# endif
++# ifndef LANG_MACEDONIAN
++# define LANG_MACEDONIAN 0x2f
++# endif
++# ifndef LANG_MALAY
++# define LANG_MALAY 0x3e
++# endif
++# ifndef LANG_MALAYALAM
++# define LANG_MALAYALAM 0x4c
++# endif
++# ifndef LANG_MALTESE
++# define LANG_MALTESE 0x3a
++# endif
++# ifndef LANG_MANIPURI
++# define LANG_MANIPURI 0x58
++# endif
++# ifndef LANG_MARATHI
++# define LANG_MARATHI 0x4e
++# endif
++# ifndef LANG_MONGOLIAN
++# define LANG_MONGOLIAN 0x50
++# endif
++# ifndef LANG_NEPALI
++# define LANG_NEPALI 0x61
++# endif
++# ifndef LANG_ORIYA
++# define LANG_ORIYA 0x48
++# endif
++# ifndef LANG_OROMO
++# define LANG_OROMO 0x72
++# endif
++# ifndef LANG_PAPIAMENTU
++# define LANG_PAPIAMENTU 0x79
++# endif
++# ifndef LANG_PASHTO
++# define LANG_PASHTO 0x63
++# endif
++# ifndef LANG_PUNJABI
++# define LANG_PUNJABI 0x46
++# endif
++# ifndef LANG_RHAETO_ROMANCE
++# define LANG_RHAETO_ROMANCE 0x17
++# endif
++# ifndef LANG_SAAMI
++# define LANG_SAAMI 0x3b
++# endif
++# ifndef LANG_SANSKRIT
++# define LANG_SANSKRIT 0x4f
++# endif
++# ifndef LANG_SERBIAN
++# define LANG_SERBIAN 0x1a
++# endif
++# ifndef LANG_SINDHI
++# define LANG_SINDHI 0x59
++# endif
++# ifndef LANG_SINHALESE
++# define LANG_SINHALESE 0x5b
++# endif
++# ifndef LANG_SLOVAK
++# define LANG_SLOVAK 0x1b
++# endif
++# ifndef LANG_SOMALI
++# define LANG_SOMALI 0x77
++# endif
++# ifndef LANG_SORBIAN
++# define LANG_SORBIAN 0x2e
++# endif
++# ifndef LANG_SUTU
++# define LANG_SUTU 0x30
++# endif
++# ifndef LANG_SWAHILI
++# define LANG_SWAHILI 0x41
++# endif
++# ifndef LANG_SYRIAC
++# define LANG_SYRIAC 0x5a
++# endif
++# ifndef LANG_TAGALOG
++# define LANG_TAGALOG 0x64
++# endif
++# ifndef LANG_TAJIK
++# define LANG_TAJIK 0x28
++# endif
++# ifndef LANG_TAMAZIGHT
++# define LANG_TAMAZIGHT 0x5f
++# endif
++# ifndef LANG_TAMIL
++# define LANG_TAMIL 0x49
++# endif
++# ifndef LANG_TATAR
++# define LANG_TATAR 0x44
++# endif
++# ifndef LANG_TELUGU
++# define LANG_TELUGU 0x4a
++# endif
++# ifndef LANG_THAI
++# define LANG_THAI 0x1e
++# endif
++# ifndef LANG_TIBETAN
++# define LANG_TIBETAN 0x51
++# endif
++# ifndef LANG_TIGRINYA
++# define LANG_TIGRINYA 0x73
++# endif
++# ifndef LANG_TSONGA
++# define LANG_TSONGA 0x31
++# endif
++# ifndef LANG_TSWANA
++# define LANG_TSWANA 0x32
++# endif
++# ifndef LANG_TURKMEN
++# define LANG_TURKMEN 0x42
++# endif
++# ifndef LANG_UKRAINIAN
++# define LANG_UKRAINIAN 0x22
++# endif
++# ifndef LANG_URDU
++# define LANG_URDU 0x20
++# endif
++# ifndef LANG_UZBEK
++# define LANG_UZBEK 0x43
++# endif
++# ifndef LANG_VENDA
++# define LANG_VENDA 0x33
++# endif
++# ifndef LANG_VIETNAMESE
++# define LANG_VIETNAMESE 0x2a
++# endif
++# ifndef LANG_WELSH
++# define LANG_WELSH 0x52
++# endif
++# ifndef LANG_XHOSA
++# define LANG_XHOSA 0x34
++# endif
++# ifndef LANG_YI
++# define LANG_YI 0x78
++# endif
++# ifndef LANG_YIDDISH
++# define LANG_YIDDISH 0x3d
++# endif
++# ifndef LANG_YORUBA
++# define LANG_YORUBA 0x6a
++# endif
++# ifndef LANG_ZULU
++# define LANG_ZULU 0x35
++# endif
++# ifndef SUBLANG_ARABIC_SAUDI_ARABIA
++# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
++# endif
++# ifndef SUBLANG_ARABIC_IRAQ
++# define SUBLANG_ARABIC_IRAQ 0x02
++# endif
++# ifndef SUBLANG_ARABIC_EGYPT
++# define SUBLANG_ARABIC_EGYPT 0x03
++# endif
++# ifndef SUBLANG_ARABIC_LIBYA
++# define SUBLANG_ARABIC_LIBYA 0x04
++# endif
++# ifndef SUBLANG_ARABIC_ALGERIA
++# define SUBLANG_ARABIC_ALGERIA 0x05
++# endif
++# ifndef SUBLANG_ARABIC_MOROCCO
++# define SUBLANG_ARABIC_MOROCCO 0x06
++# endif
++# ifndef SUBLANG_ARABIC_TUNISIA
++# define SUBLANG_ARABIC_TUNISIA 0x07
++# endif
++# ifndef SUBLANG_ARABIC_OMAN
++# define SUBLANG_ARABIC_OMAN 0x08
++# endif
++# ifndef SUBLANG_ARABIC_YEMEN
++# define SUBLANG_ARABIC_YEMEN 0x09
++# endif
++# ifndef SUBLANG_ARABIC_SYRIA
++# define SUBLANG_ARABIC_SYRIA 0x0a
++# endif
++# ifndef SUBLANG_ARABIC_JORDAN
++# define SUBLANG_ARABIC_JORDAN 0x0b
++# endif
++# ifndef SUBLANG_ARABIC_LEBANON
++# define SUBLANG_ARABIC_LEBANON 0x0c
++# endif
++# ifndef SUBLANG_ARABIC_KUWAIT
++# define SUBLANG_ARABIC_KUWAIT 0x0d
++# endif
++# ifndef SUBLANG_ARABIC_UAE
++# define SUBLANG_ARABIC_UAE 0x0e
++# endif
++# ifndef SUBLANG_ARABIC_BAHRAIN
++# define SUBLANG_ARABIC_BAHRAIN 0x0f
++# endif
++# ifndef SUBLANG_ARABIC_QATAR
++# define SUBLANG_ARABIC_QATAR 0x10
++# endif
++# ifndef SUBLANG_AZERI_LATIN
++# define SUBLANG_AZERI_LATIN 0x01
++# endif
++# ifndef SUBLANG_AZERI_CYRILLIC
++# define SUBLANG_AZERI_CYRILLIC 0x02
++# endif
++# ifndef SUBLANG_BENGALI_INDIA
++# define SUBLANG_BENGALI_INDIA 0x00
++# endif
++# ifndef SUBLANG_BENGALI_BANGLADESH
++# define SUBLANG_BENGALI_BANGLADESH 0x01
++# endif
++# ifndef SUBLANG_CHINESE_MACAU
++# define SUBLANG_CHINESE_MACAU 0x05
++# endif
++# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
++# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
++# endif
++# ifndef SUBLANG_ENGLISH_JAMAICA
++# define SUBLANG_ENGLISH_JAMAICA 0x08
++# endif
++# ifndef SUBLANG_ENGLISH_CARIBBEAN
++# define SUBLANG_ENGLISH_CARIBBEAN 0x09
++# endif
++# ifndef SUBLANG_ENGLISH_BELIZE
++# define SUBLANG_ENGLISH_BELIZE 0x0a
++# endif
++# ifndef SUBLANG_ENGLISH_TRINIDAD
++# define SUBLANG_ENGLISH_TRINIDAD 0x0b
++# endif
++# ifndef SUBLANG_ENGLISH_ZIMBABWE
++# define SUBLANG_ENGLISH_ZIMBABWE 0x0c
++# endif
++# ifndef SUBLANG_ENGLISH_PHILIPPINES
++# define SUBLANG_ENGLISH_PHILIPPINES 0x0d
++# endif
++# ifndef SUBLANG_ENGLISH_INDONESIA
++# define SUBLANG_ENGLISH_INDONESIA 0x0e
++# endif
++# ifndef SUBLANG_ENGLISH_HONGKONG
++# define SUBLANG_ENGLISH_HONGKONG 0x0f
++# endif
++# ifndef SUBLANG_ENGLISH_INDIA
++# define SUBLANG_ENGLISH_INDIA 0x10
++# endif
++# ifndef SUBLANG_ENGLISH_MALAYSIA
++# define SUBLANG_ENGLISH_MALAYSIA 0x11
++# endif
++# ifndef SUBLANG_ENGLISH_SINGAPORE
++# define SUBLANG_ENGLISH_SINGAPORE 0x12
++# endif
++# ifndef SUBLANG_FRENCH_LUXEMBOURG
++# define SUBLANG_FRENCH_LUXEMBOURG 0x05
++# endif
++# ifndef SUBLANG_FRENCH_MONACO
++# define SUBLANG_FRENCH_MONACO 0x06
++# endif
++# ifndef SUBLANG_FRENCH_WESTINDIES
++# define SUBLANG_FRENCH_WESTINDIES 0x07
++# endif
++# ifndef SUBLANG_FRENCH_REUNION
++# define SUBLANG_FRENCH_REUNION 0x08
++# endif
++# ifndef SUBLANG_FRENCH_CONGO
++# define SUBLANG_FRENCH_CONGO 0x09
++# endif
++# ifndef SUBLANG_FRENCH_SENEGAL
++# define SUBLANG_FRENCH_SENEGAL 0x0a
++# endif
++# ifndef SUBLANG_FRENCH_CAMEROON
++# define SUBLANG_FRENCH_CAMEROON 0x0b
++# endif
++# ifndef SUBLANG_FRENCH_COTEDIVOIRE
++# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c
++# endif
++# ifndef SUBLANG_FRENCH_MALI
++# define SUBLANG_FRENCH_MALI 0x0d
++# endif
++# ifndef SUBLANG_FRENCH_MOROCCO
++# define SUBLANG_FRENCH_MOROCCO 0x0e
++# endif
++# ifndef SUBLANG_FRENCH_HAITI
++# define SUBLANG_FRENCH_HAITI 0x0f
++# endif
++# ifndef SUBLANG_GERMAN_LUXEMBOURG
++# define SUBLANG_GERMAN_LUXEMBOURG 0x04
++# endif
++# ifndef SUBLANG_GERMAN_LIECHTENSTEIN
++# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
++# endif
++# ifndef SUBLANG_KASHMIRI_INDIA
++# define SUBLANG_KASHMIRI_INDIA 0x02
++# endif
++# ifndef SUBLANG_MALAY_MALAYSIA
++# define SUBLANG_MALAY_MALAYSIA 0x01
++# endif
++# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
++# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
++# endif
++# ifndef SUBLANG_NEPALI_INDIA
++# define SUBLANG_NEPALI_INDIA 0x02
++# endif
++# ifndef SUBLANG_PUNJABI_INDIA
++# define SUBLANG_PUNJABI_INDIA 0x00
++# endif
++# ifndef SUBLANG_PUNJABI_PAKISTAN
++# define SUBLANG_PUNJABI_PAKISTAN 0x01
++# endif
++# ifndef SUBLANG_ROMANIAN_ROMANIA
++# define SUBLANG_ROMANIAN_ROMANIA 0x00
++# endif
++# ifndef SUBLANG_ROMANIAN_MOLDOVA
++# define SUBLANG_ROMANIAN_MOLDOVA 0x01
++# endif
++# ifndef SUBLANG_SERBIAN_LATIN
++# define SUBLANG_SERBIAN_LATIN 0x02
++# endif
++# ifndef SUBLANG_SERBIAN_CYRILLIC
++# define SUBLANG_SERBIAN_CYRILLIC 0x03
++# endif
++# ifndef SUBLANG_SINDHI_INDIA
++# define SUBLANG_SINDHI_INDIA 0x00
++# endif
++# ifndef SUBLANG_SINDHI_PAKISTAN
++# define SUBLANG_SINDHI_PAKISTAN 0x01
++# endif
++# ifndef SUBLANG_SPANISH_GUATEMALA
++# define SUBLANG_SPANISH_GUATEMALA 0x04
++# endif
++# ifndef SUBLANG_SPANISH_COSTA_RICA
++# define SUBLANG_SPANISH_COSTA_RICA 0x05
++# endif
++# ifndef SUBLANG_SPANISH_PANAMA
++# define SUBLANG_SPANISH_PANAMA 0x06
++# endif
++# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
++# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
++# endif
++# ifndef SUBLANG_SPANISH_VENEZUELA
++# define SUBLANG_SPANISH_VENEZUELA 0x08
++# endif
++# ifndef SUBLANG_SPANISH_COLOMBIA
++# define SUBLANG_SPANISH_COLOMBIA 0x09
++# endif
++# ifndef SUBLANG_SPANISH_PERU
++# define SUBLANG_SPANISH_PERU 0x0a
++# endif
++# ifndef SUBLANG_SPANISH_ARGENTINA
++# define SUBLANG_SPANISH_ARGENTINA 0x0b
++# endif
++# ifndef SUBLANG_SPANISH_ECUADOR
++# define SUBLANG_SPANISH_ECUADOR 0x0c
++# endif
++# ifndef SUBLANG_SPANISH_CHILE
++# define SUBLANG_SPANISH_CHILE 0x0d
++# endif
++# ifndef SUBLANG_SPANISH_URUGUAY
++# define SUBLANG_SPANISH_URUGUAY 0x0e
++# endif
++# ifndef SUBLANG_SPANISH_PARAGUAY
++# define SUBLANG_SPANISH_PARAGUAY 0x0f
++# endif
++# ifndef SUBLANG_SPANISH_BOLIVIA
++# define SUBLANG_SPANISH_BOLIVIA 0x10
++# endif
++# ifndef SUBLANG_SPANISH_EL_SALVADOR
++# define SUBLANG_SPANISH_EL_SALVADOR 0x11
++# endif
++# ifndef SUBLANG_SPANISH_HONDURAS
++# define SUBLANG_SPANISH_HONDURAS 0x12
++# endif
++# ifndef SUBLANG_SPANISH_NICARAGUA
++# define SUBLANG_SPANISH_NICARAGUA 0x13
++# endif
++# ifndef SUBLANG_SPANISH_PUERTO_RICO
++# define SUBLANG_SPANISH_PUERTO_RICO 0x14
++# endif
++# ifndef SUBLANG_SWEDISH_FINLAND
++# define SUBLANG_SWEDISH_FINLAND 0x02
++# endif
++# ifndef SUBLANG_TAMAZIGHT_ARABIC
++# define SUBLANG_TAMAZIGHT_ARABIC 0x01
++# endif
++# ifndef SUBLANG_TAMAZIGHT_LATIN
++# define SUBLANG_TAMAZIGHT_LATIN 0x02
++# endif
++# ifndef SUBLANG_TIGRINYA_ETHIOPIA
++# define SUBLANG_TIGRINYA_ETHIOPIA 0x00
++# endif
++# ifndef SUBLANG_TIGRINYA_ERITREA
++# define SUBLANG_TIGRINYA_ERITREA 0x01
++# endif
++# ifndef SUBLANG_URDU_PAKISTAN
++# define SUBLANG_URDU_PAKISTAN 0x01
++# endif
++# ifndef SUBLANG_URDU_INDIA
++# define SUBLANG_URDU_INDIA 0x02
++# endif
++# ifndef SUBLANG_UZBEK_LATIN
++# define SUBLANG_UZBEK_LATIN 0x01
++# endif
++# ifndef SUBLANG_UZBEK_CYRILLIC
++# define SUBLANG_UZBEK_CYRILLIC 0x02
++# endif
++#endif
++
++/* XPG3 defines the result of 'setlocale (category, NULL)' as:
++ "Directs 'setlocale()' to query 'category' and return the current
++ setting of 'local'."
++ However it does not specify the exact format. Neither do SUSV2 and
++ ISO C 99. So we can use this feature only on selected systems (e.g.
++ those using GNU C Library). */
++#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)
++# define HAVE_LOCALE_NULL
++#endif
++
++/* Determine the current locale's name, and canonicalize it into XPG syntax
++ language[_territory[.codeset]][@modifier]
++ The codeset part in the result is not reliable; the locale_charset()
++ should be used for codeset information instead.
++ The result must not be freed; it is statically allocated. */
++
++const char *
++_nl_locale_name (int category, const char *categoryname)
++{
++ const char *retval;
++
++#ifndef WIN32
++
++ /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
++ On some systems this can be done by the 'setlocale' function itself. */
++# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
++ retval = setlocale (category, NULL);
++# else
++ /* Setting of LC_ALL overwrites all other. */
++ retval = getenv ("LC_ALL");
++ if (retval == NULL || retval[0] == '\0')
++ {
++ /* Next comes the name of the desired category. */
++ retval = getenv (categoryname);
++ if (retval == NULL || retval[0] == '\0')
++ {
++ /* Last possibility is the LANG environment variable. */
++ retval = getenv ("LANG");
++ if (retval == NULL || retval[0] == '\0')
++ /* We use C as the default domain. POSIX says this is
++ implementation defined. */
++ retval = "C";
++ }
++ }
++# endif
++
++ return retval;
++
++#else /* WIN32 */
++
++ /* Return an XPG style locale name language[_territory][@modifier].
++ Don't even bother determining the codeset; it's not useful in this
++ context, because message catalogs are not specific to a single
++ codeset. */
++
++ LCID lcid;
++ LANGID langid;
++ int primary, sub;
++
++ /* Let the user override the system settings through environment
++ variables, as on POSIX systems. */
++ retval = getenv ("LC_ALL");
++ if (retval != NULL && retval[0] != '\0')
++ return retval;
++ retval = getenv (categoryname);
++ if (retval != NULL && retval[0] != '\0')
++ return retval;
++ retval = getenv ("LANG");
++ if (retval != NULL && retval[0] != '\0')
++ return retval;
++
++ /* Use native Win32 API locale ID. */
++ lcid = GetThreadLocale ();
++
++ /* Strip off the sorting rules, keep only the language part. */
++ langid = LANGIDFROMLCID (lcid);
++
++ /* Split into language and territory part. */
++ primary = PRIMARYLANGID (langid);
++ sub = SUBLANGID (langid);
++
++ /* Dispatch on language.
++ See also http://www.unicode.org/unicode/onlinedat/languages.html .
++ For details about languages, see http://www.ethnologue.com/ . */
++ switch (primary)
++ {
++ case LANG_AFRIKAANS: return "af_ZA";
++ case LANG_ALBANIAN: return "sq_AL";
++ case LANG_AMHARIC: return "am_ET";
++ case LANG_ARABIC:
++ switch (sub)
++ {
++ case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
++ case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
++ case SUBLANG_ARABIC_EGYPT: return "ar_EG";
++ case SUBLANG_ARABIC_LIBYA: return "ar_LY";
++ case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
++ case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
++ case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
++ case SUBLANG_ARABIC_OMAN: return "ar_OM";
++ case SUBLANG_ARABIC_YEMEN: return "ar_YE";
++ case SUBLANG_ARABIC_SYRIA: return "ar_SY";
++ case SUBLANG_ARABIC_JORDAN: return "ar_JO";
++ case SUBLANG_ARABIC_LEBANON: return "ar_LB";
++ case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
++ case SUBLANG_ARABIC_UAE: return "ar_AE";
++ case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
++ case SUBLANG_ARABIC_QATAR: return "ar_QA";
++ }
++ return "ar";
++ case LANG_ARMENIAN: return "hy_AM";
++ case LANG_ASSAMESE: return "as_IN";
++ case LANG_AZERI:
++ switch (sub)
++ {
++ /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */
++ case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
++ case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
++ }
++ return "az";
++ case LANG_BASQUE:
++ return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
++ case LANG_BELARUSIAN: return "be_BY";
++ case LANG_BENGALI:
++ switch (sub)
++ {
++ case SUBLANG_BENGALI_INDIA: return "bn_IN";
++ case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
++ }
++ return "bn";
++ case LANG_BULGARIAN: return "bg_BG";
++ case LANG_BURMESE: return "my_MM";
++ case LANG_CAMBODIAN: return "km_KH";
++ case LANG_CATALAN: return "ca_ES";
++ case LANG_CHEROKEE: return "chr_US";
++ case LANG_CHINESE:
++ switch (sub)
++ {
++ case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW";
++ case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN";
++ case SUBLANG_CHINESE_HONGKONG: return "zh_HK";
++ case SUBLANG_CHINESE_SINGAPORE: return "zh_SG";
++ case SUBLANG_CHINESE_MACAU: return "zh_MO";
++ }
++ return "zh";
++ case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN
++ * What used to be called Serbo-Croatian
++ * should really now be two separate
++ * languages because of political reasons.
++ * (Says tml, who knows nothing about Serbian
++ * or Croatian.)
++ * (I can feel those flames coming already.)
++ */
++ switch (sub)
++ {
++ case SUBLANG_DEFAULT: return "hr_HR";
++ case SUBLANG_SERBIAN_LATIN: return "sr_CS";
++ case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";
++ }
++ return "hr";
++ case LANG_CZECH: return "cs_CZ";
++ case LANG_DANISH: return "da_DK";
++ case LANG_DIVEHI: return "dv_MV";
++ case LANG_DUTCH:
++ switch (sub)
++ {
++ case SUBLANG_DUTCH: return "nl_NL";
++ case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
++ }
++ return "nl";
++ case LANG_EDO: return "bin_NG";
++ case LANG_ENGLISH:
++ switch (sub)
++ {
++ /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
++ * English was the language spoken in England.
++ * Oh well.
++ */
++ case SUBLANG_ENGLISH_US: return "en_US";
++ case SUBLANG_ENGLISH_UK: return "en_GB";
++ case SUBLANG_ENGLISH_AUS: return "en_AU";
++ case SUBLANG_ENGLISH_CAN: return "en_CA";
++ case SUBLANG_ENGLISH_NZ: return "en_NZ";
++ case SUBLANG_ENGLISH_EIRE: return "en_IE";
++ case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
++ case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
++ case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
++ case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
++ case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
++ case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
++ case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
++ case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
++ case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
++ case SUBLANG_ENGLISH_INDIA: return "en_IN";
++ case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
++ case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
++ }
++ return "en";
++ case LANG_ESTONIAN: return "et_EE";
++ case LANG_FAEROESE: return "fo_FO";
++ case LANG_FARSI: return "fa_IR";
++ case LANG_FINNISH: return "fi_FI";
++ case LANG_FRENCH:
++ switch (sub)
++ {
++ case SUBLANG_FRENCH: return "fr_FR";
++ case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
++ case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
++ case SUBLANG_FRENCH_SWISS: return "fr_CH";
++ case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
++ case SUBLANG_FRENCH_MONACO: return "fr_MC";
++ case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
++ case SUBLANG_FRENCH_REUNION: return "fr_RE";
++ case SUBLANG_FRENCH_CONGO: return "fr_CG";
++ case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
++ case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
++ case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
++ case SUBLANG_FRENCH_MALI: return "fr_ML";
++ case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
++ case SUBLANG_FRENCH_HAITI: return "fr_HT";
++ }
++ return "fr";
++ case LANG_FRISIAN: return "fy_NL";
++ case LANG_FULFULDE:
++ /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */
++ return "ff_NG";
++ case LANG_GAELIC:
++ switch (sub)
++ {
++ case 0x01: /* SCOTTISH */ return "gd_GB";
++ case 0x02: /* IRISH */ return "ga_IE";
++ }
++ return "C";
++ case LANG_GALICIAN: return "gl_ES";
++ case LANG_GEORGIAN: return "ka_GE";
++ case LANG_GERMAN:
++ switch (sub)
++ {
++ case SUBLANG_GERMAN: return "de_DE";
++ case SUBLANG_GERMAN_SWISS: return "de_CH";
++ case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
++ case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
++ case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
++ }
++ return "de";
++ case LANG_GREEK: return "el_GR";
++ case LANG_GUARANI: return "gn_PY";
++ case LANG_GUJARATI: return "gu_IN";
++ case LANG_HAUSA: return "ha_NG";
++ case LANG_HAWAIIAN:
++ /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
++ or Hawaii Creole English ("cpe_US", 600000 speakers)? */
++ return "cpe_US";
++ case LANG_HEBREW: return "he_IL";
++ case LANG_HINDI: return "hi_IN";
++ case LANG_HUNGARIAN: return "hu_HU";
++ case LANG_IBIBIO: return "nic_NG";
++ case LANG_ICELANDIC: return "is_IS";
++ case LANG_IGBO: return "ig_NG";
++ case LANG_INDONESIAN: return "id_ID";
++ case LANG_INUKTITUT: return "iu_CA";
++ case LANG_ITALIAN:
++ switch (sub)
++ {
++ case SUBLANG_ITALIAN: return "it_IT";
++ case SUBLANG_ITALIAN_SWISS: return "it_CH";
++ }
++ return "it";
++ case LANG_JAPANESE: return "ja_JP";
++ case LANG_KANNADA: return "kn_IN";
++ case LANG_KANURI: return "kr_NG";
++ case LANG_KASHMIRI:
++ switch (sub)
++ {
++ case SUBLANG_DEFAULT: return "ks_PK";
++ case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
++ }
++ return "ks";
++ case LANG_KAZAK: return "kk_KZ";
++ case LANG_KONKANI:
++ /* FIXME: Adjust this when such locales appear on Unix. */
++ return "kok_IN";
++ case LANG_KOREAN: return "ko_KR";
++ case LANG_KYRGYZ: return "ky_KG";
++ case LANG_LAO: return "lo_LA";
++ case LANG_LATIN: return "la_VA";
++ case LANG_LATVIAN: return "lv_LV";
++ case LANG_LITHUANIAN: return "lt_LT";
++ case LANG_MACEDONIAN: return "mk_MK";
++ case LANG_MALAY:
++ switch (sub)
++ {
++ case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
++ case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
++ }
++ return "ms";
++ case LANG_MALAYALAM: return "ml_IN";
++ case LANG_MALTESE: return "mt_MT";
++ case LANG_MANIPURI:
++ /* FIXME: Adjust this when such locales appear on Unix. */
++ return "mni_IN";
++ case LANG_MARATHI: return "mr_IN";
++ case LANG_MONGOLIAN:
++ return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
++ case LANG_NEPALI:
++ switch (sub)
++ {
++ case SUBLANG_DEFAULT: return "ne_NP";
++ case SUBLANG_NEPALI_INDIA: return "ne_IN";
++ }
++ return "ne";
++ case LANG_NORWEGIAN:
++ switch (sub)
++ {
++ case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO";
++ case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
++ }
++ return "no";
++ case LANG_ORIYA: return "or_IN";
++ case LANG_OROMO: return "om_ET";
++ case LANG_PAPIAMENTU: return "pap_AN";
++ case LANG_PASHTO:
++ return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */
++ case LANG_POLISH: return "pl_PL";
++ case LANG_PORTUGUESE:
++ switch (sub)
++ {
++ case SUBLANG_PORTUGUESE: return "pt_PT";
++ /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
++ Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
++ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
++ }
++ return "pt";
++ case LANG_PUNJABI:
++ switch (sub)
++ {
++ case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
++ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
++ }
++ return "pa";
++ case LANG_RHAETO_ROMANCE: return "rm_CH";
++ case LANG_ROMANIAN:
++ switch (sub)
++ {
++ case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
++ case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
++ }
++ return "ro";
++ case LANG_RUSSIAN:
++ return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */
++ case LANG_SAAMI: /* actually Northern Sami */ return "se_NO";
++ case LANG_SANSKRIT: return "sa_IN";
++ case LANG_SINDHI:
++ switch (sub)
++ {
++ case SUBLANG_SINDHI_INDIA: return "sd_IN";
++ case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
++ }
++ return "sd";
++ case LANG_SINHALESE: return "si_LK";
++ case LANG_SLOVAK: return "sk_SK";
++ case LANG_SLOVENIAN: return "sl_SI";
++ case LANG_SOMALI: return "so_SO";
++ case LANG_SORBIAN:
++ /* FIXME: Adjust this when such locales appear on Unix. */
++ return "wen_DE";
++ case LANG_SPANISH:
++ switch (sub)
++ {
++ case SUBLANG_SPANISH: return "es_ES";
++ case SUBLANG_SPANISH_MEXICAN: return "es_MX";
++ case SUBLANG_SPANISH_MODERN:
++ return "es_ES@modern"; /* not seen on Unix */
++ case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
++ case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
++ case SUBLANG_SPANISH_PANAMA: return "es_PA";
++ case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
++ case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
++ case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
++ case SUBLANG_SPANISH_PERU: return "es_PE";
++ case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
++ case SUBLANG_SPANISH_ECUADOR: return "es_EC";
++ case SUBLANG_SPANISH_CHILE: return "es_CL";
++ case SUBLANG_SPANISH_URUGUAY: return "es_UY";
++ case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
++ case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
++ case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
++ case SUBLANG_SPANISH_HONDURAS: return "es_HN";
++ case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
++ case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
++ }
++ return "es";
++ case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
++ case LANG_SWAHILI: return "sw_KE";
++ case LANG_SWEDISH:
++ switch (sub)
++ {
++ case SUBLANG_DEFAULT: return "sv_SE";
++ case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
++ }
++ return "sv";
++ case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */
++ case LANG_TAGALOG: return "tl_PH";
++ case LANG_TAJIK: return "tg_TJ";
++ case LANG_TAMAZIGHT:
++ switch (sub)
++ {
++ /* FIXME: Adjust this when Tamazight locales appear on Unix. */
++ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";
++ case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin";
++ }
++ return "ber_MA";
++ case LANG_TAMIL:
++ return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
++ case LANG_TATAR: return "tt_RU";
++ case LANG_TELUGU: return "te_IN";
++ case LANG_THAI: return "th_TH";
++ case LANG_TIBETAN: return "bo_CN";
++ case LANG_TIGRINYA:
++ switch (sub)
++ {
++ case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
++ case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
++ }
++ return "ti";
++ case LANG_TSONGA: return "ts_ZA";
++ case LANG_TSWANA: return "tn_BW";
++ case LANG_TURKISH: return "tr_TR";
++ case LANG_TURKMEN: return "tk_TM";
++ case LANG_UKRAINIAN: return "uk_UA";
++ case LANG_URDU:
++ switch (sub)
++ {
++ case SUBLANG_URDU_PAKISTAN: return "ur_PK";
++ case SUBLANG_URDU_INDIA: return "ur_IN";
++ }
++ return "ur";
++ case LANG_UZBEK:
++ switch (sub)
++ {
++ case SUBLANG_UZBEK_LATIN: return "uz_UZ";
++ case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
++ }
++ return "uz";
++ case LANG_VENDA: return "ve_ZA";
++ case LANG_VIETNAMESE: return "vi_VN";
++ case LANG_WELSH: return "cy_GB";
++ case LANG_XHOSA: return "xh_ZA";
++ case LANG_YI: return "sit_CN";
++ case LANG_YIDDISH: return "yi_IL";
++ case LANG_YORUBA: return "yo_NG";
++ case LANG_ZULU: return "zu_ZA";
++ default: return "C";
++ }
++
++#endif
++}
+--- lrzsz-0.12.20.safe/intl/log.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/log.c 2004-09-12 14:40:34.515723768 -0400
+@@ -0,0 +1,98 @@
++/* Log file output.
++ Copyright (C) 2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Written by Bruno Haible <bruno@clisp.org>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++
++/* Print an ASCII string with quotes and escape sequences where needed. */
++static void
++print_escaped (FILE *stream, const char *str)
++{
++ putc ('"', stream);
++ for (; *str != '\0'; str++)
++ if (*str == '\n')
++ {
++ fputs ("\\n\"", stream);
++ if (str[1] == '\0')
++ return;
++ fputs ("\n\"", stream);
++ }
++ else
++ {
++ if (*str == '"' || *str == '\\')
++ putc ('\\', stream);
++ putc (*str, stream);
++ }
++ putc ('"', stream);
++}
++
++/* Add to the log file an entry denoting a failed translation. */
++void
++_nl_log_untranslated (const char *logfilename, const char *domainname,
++ const char *msgid1, const char *msgid2, int plural)
++{
++ static char *last_logfilename = NULL;
++ static FILE *last_logfile = NULL;
++ FILE *logfile;
++
++ /* Can we reuse the last opened logfile? */
++ if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0)
++ {
++ /* Close the last used logfile. */
++ if (last_logfilename != NULL)
++ {
++ if (last_logfile != NULL)
++ {
++ fclose (last_logfile);
++ last_logfile = NULL;
++ }
++ free (last_logfilename);
++ last_logfilename = NULL;
++ }
++ /* Open the logfile. */
++ last_logfilename = (char *) malloc (strlen (logfilename) + 1);
++ if (last_logfilename == NULL)
++ return;
++ strcpy (last_logfilename, logfilename);
++ last_logfile = fopen (logfilename, "a");
++ if (last_logfile == NULL)
++ return;
++ }
++ logfile = last_logfile;
++
++ fprintf (logfile, "domain ");
++ print_escaped (logfile, domainname);
++ fprintf (logfile, "\nmsgid ");
++ print_escaped (logfile, msgid1);
++ if (plural)
++ {
++ fprintf (logfile, "\nmsgid_plural ");
++ print_escaped (logfile, msgid2);
++ fprintf (logfile, "\nmsgstr[0] \"\"\n");
++ }
++ else
++ fprintf (logfile, "\nmsgstr \"\"\n");
++ putc ('\n', logfile);
++}
+--- lrzsz-0.12.20.safe/intl/Makefile.in 1998-04-26 09:22:35.000000000 -0400
++++ lrzsz-0.12.20/intl/Makefile.in 2004-09-12 14:40:34.521722856 -0400
+@@ -1,19 +1,20 @@
+-# Makefile for directory with message catalog handling in GNU NLS Utilities.
+-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
++# Makefile for directory with message catalog handling library of GNU gettext
++# Copyright (C) 1995-1998, 2000-2003 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 2, or (at your option)
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU Library General Public License as published
++# by the Free Software Foundation; either version 2, 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.
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
+ #
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++# You should have received a copy of the GNU Library General Public
++# License along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++# USA.
+
+ PACKAGE = @PACKAGE@
+ VERSION = @VERSION@
+@@ -23,118 +24,341 @@
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+ top_builddir = ..
+-VPATH = @srcdir@
++#VPATH = $(srcdir)
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ transform = @program_transform_name@
+-libdir = $(exec_prefix)/lib
+-includedir = $(prefix)/include
+-datadir = $(prefix)/@DATADIRNAME@
++libdir = @libdir@
++includedir = @includedir@
++datadir = @datadir@
+ localedir = $(datadir)/locale
+-gnulocaledir = $(prefix)/share/locale
+-gettextsrcdir = @datadir@/gettext/intl
+-aliaspath = $(localedir):.
++gettextsrcdir = $(datadir)/gettext/intl
++aliaspath = $(localedir)
+ subdir = intl
+
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
++mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
+
+-l = @l@
++l = @INTL_LIBTOOL_SUFFIX_PREFIX@
+
+ AR = ar
+ CC = @CC@
+ LIBTOOL = @LIBTOOL@
+ RANLIB = @RANLIB@
++YACC = @INTLBISON@ -y -d
++YFLAGS = --name-prefix=__gettext
+
+-DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
+--DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
++DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
++-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
++-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
++-Dset_relocation_prefix=libintl_set_relocation_prefix \
++-Drelocate=libintl_relocate \
++-DDEPENDS_ON_LIBICONV=1 @DEFS@
+ CPPFLAGS = @CPPFLAGS@
+ CFLAGS = @CFLAGS@
+ LDFLAGS = @LDFLAGS@
++LIBS = @LIBS@
+
+ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+
+-HEADERS = $(COMHDRS) libgettext.h loadinfo.h
+-COMHDRS = gettext.h gettextP.h hash-string.h
+-SOURCES = $(COMSRCS) intl-compat.c cat-compat.c
+-COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
+-finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \
+-explodename.c
+-OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \
+-finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \
+-explodename.$lo
+-CATOBJS = cat-compat.$lo ../po/cat-id-tbl.$lo
+-GETTOBJS = intl-compat.$lo
+-DISTFILES.common = ChangeLog Makefile.in linux-msg.sed po2tbl.sed.in \
+-xopen-msg.sed $(HEADERS) $(SOURCES)
++HEADERS = \
++ gmo.h \
++ gettextP.h \
++ hash-string.h \
++ loadinfo.h \
++ plural-exp.h \
++ eval-plural.h \
++ localcharset.h \
++ relocatable.h \
++ xsize.h \
++ printf-args.h printf-args.c \
++ printf-parse.h wprintf-parse.h printf-parse.c \
++ vasnprintf.h vasnwprintf.h vasnprintf.c \
++ os2compat.h \
++ libgnuintl.h.in
++SOURCES = \
++ bindtextdom.c \
++ dcgettext.c \
++ dgettext.c \
++ gettext.c \
++ finddomain.c \
++ loadmsgcat.c \
++ localealias.c \
++ textdomain.c \
++ l10nflist.c \
++ explodename.c \
++ dcigettext.c \
++ dcngettext.c \
++ dngettext.c \
++ ngettext.c \
++ plural.y \
++ plural-exp.c \
++ localcharset.c \
++ relocatable.c \
++ localename.c \
++ log.c \
++ printf.c \
++ osdep.c \
++ os2compat.c \
++ intl-compat.c
++OBJECTS = \
++ bindtextdom.$lo \
++ dcgettext.$lo \
++ dgettext.$lo \
++ gettext.$lo \
++ finddomain.$lo \
++ loadmsgcat.$lo \
++ localealias.$lo \
++ textdomain.$lo \
++ l10nflist.$lo \
++ explodename.$lo \
++ dcigettext.$lo \
++ dcngettext.$lo \
++ dngettext.$lo \
++ ngettext.$lo \
++ plural.$lo \
++ plural-exp.$lo \
++ localcharset.$lo \
++ relocatable.$lo \
++ localename.$lo \
++ log.$lo \
++ printf.$lo \
++ osdep.$lo \
++ intl-compat.$lo
++DISTFILES.common = Makefile.in \
++config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
++DISTFILES.generated = plural.c
+ DISTFILES.normal = VERSION
+-DISTFILES.gettext = libintl.glibc intlh.inst.in
++DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
++libgnuintl.h_vms Makefile.vms \
++libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32 Makefile.msvc
++DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \
++COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h
++
++all: all-@USE_INCLUDED_LIBINTL@
++all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
++all-no: all-no-@BUILD_INCLUDED_LIBINTL@
++all-no-yes: libgnuintl.$la
++all-no-no:
++
++libintl.a libgnuintl.a: $(OBJECTS)
++ rm -f $@
++ $(AR) cru $@ $(OBJECTS)
++ $(RANLIB) $@
++
++libintl.la libgnuintl.la: $(OBJECTS)
++ $(LIBTOOL) --mode=link \
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
++ $(OBJECTS) @LTLIBICONV@ $(LIBS) -lc \
++ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
++ -rpath $(libdir) \
++ -no-undefined
++
++# Libtool's library version information for libintl.
++# Before making a gettext release, the gettext maintainer must change this
++# according to the libtool documentation, section "Library interface versions".
++# Maintainers of other packages that include the intl directory must *not*
++# change these values.
++LTV_CURRENT=7
++LTV_REVISION=0
++LTV_AGE=4
+
+ .SUFFIXES:
+-.SUFFIXES: .c .o .lo
++.SUFFIXES: .c .y .o .lo .sin .sed
++
+ .c.o:
+ $(COMPILE) $<
+-.c.lo:
+- $(LIBTOOL) --mode=compile $(COMPILE) $<
+
+-INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib
++.y.c:
++ $(YACC) $(YFLAGS) --output $@ $<
++ rm -f $*.h
+
+-all: all-@USE_INCLUDED_LIBINTL@
++bindtextdom.lo: $(srcdir)/bindtextdom.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c
++dcgettext.lo: $(srcdir)/dcgettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c
++dgettext.lo: $(srcdir)/dgettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c
++gettext.lo: $(srcdir)/gettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
++finddomain.lo: $(srcdir)/finddomain.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
++loadmsgcat.lo: $(srcdir)/loadmsgcat.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
++localealias.lo: $(srcdir)/localealias.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c
++textdomain.lo: $(srcdir)/textdomain.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c
++l10nflist.lo: $(srcdir)/l10nflist.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c
++explodename.lo: $(srcdir)/explodename.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c
++dcigettext.lo: $(srcdir)/dcigettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c
++dcngettext.lo: $(srcdir)/dcngettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c
++dngettext.lo: $(srcdir)/dngettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c
++ngettext.lo: $(srcdir)/ngettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c
++plural.lo: $(srcdir)/plural.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c
++plural-exp.lo: $(srcdir)/plural-exp.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
++localcharset.lo: $(srcdir)/localcharset.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
++relocatable.lo: $(srcdir)/relocatable.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
++localename.lo: $(srcdir)/localename.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
++log.lo: $(srcdir)/log.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
++printf.lo: $(srcdir)/printf.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c
++osdep.lo: $(srcdir)/osdep.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
++intl-compat.lo: $(srcdir)/intl-compat.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c
+
+-all-yes: libintl.$la intlh.inst
+-all-no:
++ref-add.sed: $(srcdir)/ref-add.sin
++ sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed
++ mv t-ref-add.sed ref-add.sed
++ref-del.sed: $(srcdir)/ref-del.sin
++ sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed
++ mv t-ref-del.sed ref-del.sed
+
+-libintl.a: $(OBJECTS)
+- rm -f $@
+- $(AR) cru $@ $(OBJECTS)
+- $(RANLIB) $@
++INCLUDES = -I. -I$(srcdir) -I..
+
+-libintl.la: $(OBJECTS)
+- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) \
+- -version-info 1:0 -rpath $(libdir)
++libgnuintl.h: $(srcdir)/libgnuintl.h.in
++ sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
++ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
++ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
++ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
++ < $(srcdir)/libgnuintl.h.in > libgnuintl.h
+
+-../po/cat-id-tbl.$lo: ../po/cat-id-tbl.c $(top_srcdir)/po/$(PACKAGE).pot
+- cd ../po && $(MAKE) cat-id-tbl.$lo
++libintl.h: libgnuintl.h
++ cp libgnuintl.h libintl.h
+
+-check: all
++charset.alias: $(srcdir)/config.charset
++ $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
++ mv t-$@ $@
+
+-# This installation goal is only used in GNU gettext. Packages which
+-# only use the library should use install instead.
++check: all
+
+ # We must not install the libintl.h/libintl.a files if we are on a
+-# system which has the gettext() function in its C library or in a
+-# separate library or use the catgets interface. A special case is
+-# where configure found a previously installed GNU gettext library.
++# system which has the GNU gettext() function in its C library or in a
++# separate library.
+ # If you want to use the one which comes with this version of the
+ # package, you have to use `configure --with-included-gettext'.
+ install: install-exec install-data
+ install-exec: all
+- if test "$(PACKAGE)" = "gettext" \
+- && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
+- if test -r $(MKINSTALLDIRS); then \
+- $(MKINSTALLDIRS) $(libdir) $(includedir); \
+- else \
+- $(top_srcdir)/mkinstalldirs $(libdir) $(includedir); \
++ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
++ && test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
++ $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
++ $(LIBTOOL) --mode=install \
++ $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
++ if test "@RELOCATABLE@" = yes; then \
++ dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \
++ if test -n "$$dependencies"; then \
++ rm -f $(DESTDIR)$(libdir)/libintl.la; \
++ fi; \
+ fi; \
+- $(INSTALL_DATA) intlh.inst $(includedir)/libintl.h; \
+- $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \
+ else \
+ : ; \
+ fi
+-install-data: all
+- if test "$(PACKAGE)" = "gettext"; then \
+- if test -r $(MKINSTALLDIRS); then \
+- $(MKINSTALLDIRS) $(gettextsrcdir); \
++ if test "$(PACKAGE)" = "gettext-tools" \
++ && test '@USE_INCLUDED_LIBINTL@' = no; then \
++ $(mkinstalldirs) $(DESTDIR)$(libdir); \
++ $(LIBTOOL) --mode=install \
++ $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \
++ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
++ $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \
++ $(LIBTOOL) --mode=uninstall \
++ rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \
++ else \
++ : ; \
++ fi
++ if test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
++ temp=$(DESTDIR)$(libdir)/t-charset.alias; \
++ dest=$(DESTDIR)$(libdir)/charset.alias; \
++ if test -f $(DESTDIR)$(libdir)/charset.alias; then \
++ orig=$(DESTDIR)$(libdir)/charset.alias; \
++ sed -f ref-add.sed $$orig > $$temp; \
++ $(INSTALL_DATA) $$temp $$dest; \
++ rm -f $$temp; \
+ else \
+- $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
++ if test @GLIBC21@ = no; then \
++ orig=charset.alias; \
++ sed -f ref-add.sed $$orig > $$temp; \
++ $(INSTALL_DATA) $$temp $$dest; \
++ rm -f $$temp; \
++ fi; \
+ fi; \
+- $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \
+- dists="$(DISTFILES.common)"; \
++ $(mkinstalldirs) $(DESTDIR)$(localedir); \
++ test -f $(DESTDIR)$(localedir)/locale.alias \
++ && orig=$(DESTDIR)$(localedir)/locale.alias \
++ || orig=$(srcdir)/locale.alias; \
++ temp=$(DESTDIR)$(localedir)/t-locale.alias; \
++ dest=$(DESTDIR)$(localedir)/locale.alias; \
++ sed -f ref-add.sed $$orig > $$temp; \
++ $(INSTALL_DATA) $$temp $$dest; \
++ rm -f $$temp; \
++ else \
++ : ; \
++ fi
++install-data: all
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
++ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
++ $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
++ dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
+ for file in $$dists; do \
+- $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \
++ $(INSTALL_DATA) $(srcdir)/$$file \
++ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
++ chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \
++ dists="$(DISTFILES.generated)"; \
++ for file in $$dists; do \
++ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
++ $(INSTALL_DATA) $$dir/$$file \
++ $(DESTDIR)$(gettextsrcdir)/$$file; \
++ done; \
++ dists="$(DISTFILES.obsolete)"; \
++ for file in $$dists; do \
++ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
++ done; \
++ else \
++ : ; \
++ fi
++
++install-strip: install
++
++installdirs:
++ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
++ && test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
++ else \
++ : ; \
++ fi
++ if test "$(PACKAGE)" = "gettext-tools" \
++ && test '@USE_INCLUDED_LIBINTL@' = no; then \
++ $(mkinstalldirs) $(DESTDIR)$(libdir); \
++ else \
++ : ; \
++ fi
++ if test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
++ $(mkinstalldirs) $(DESTDIR)$(localedir); \
++ else \
++ : ; \
++ fi
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+@@ -143,22 +367,76 @@
+ installcheck:
+
+ uninstall:
+- dists="$(DISTFILES.common)"; \
+- for file in $$dists; do \
+- rm -f $(gettextsrcdir)/$$file; \
+- done
++ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
++ && test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ rm -f $(DESTDIR)$(includedir)/libintl.h; \
++ $(LIBTOOL) --mode=uninstall \
++ rm -f $(DESTDIR)$(libdir)/libintl.$la; \
++ else \
++ : ; \
++ fi
++ if test "$(PACKAGE)" = "gettext-tools" \
++ && test '@USE_INCLUDED_LIBINTL@' = no; then \
++ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
++ else \
++ : ; \
++ fi
++ if test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ if test -f $(DESTDIR)$(libdir)/charset.alias; then \
++ temp=$(DESTDIR)$(libdir)/t-charset.alias; \
++ dest=$(DESTDIR)$(libdir)/charset.alias; \
++ sed -f ref-del.sed $$dest > $$temp; \
++ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
++ rm -f $$dest; \
++ else \
++ $(INSTALL_DATA) $$temp $$dest; \
++ fi; \
++ rm -f $$temp; \
++ fi; \
++ if test -f $(DESTDIR)$(localedir)/locale.alias; then \
++ temp=$(DESTDIR)$(localedir)/t-locale.alias; \
++ dest=$(DESTDIR)$(localedir)/locale.alias; \
++ sed -f ref-del.sed $$dest > $$temp; \
++ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \
++ rm -f $$dest; \
++ else \
++ $(INSTALL_DATA) $$temp $$dest; \
++ fi; \
++ rm -f $$temp; \
++ fi; \
++ else \
++ : ; \
++ fi
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \
++ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
++ done; \
++ else \
++ : ; \
++ fi
+
+-info dvi:
++info dvi ps pdf html:
+
+-$(OBJECTS): ../config.h libgettext.h
+-bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
+-dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
++$(OBJECTS): ../config.h libgnuintl.h
++bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
++dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
++explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
++dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h
++dcigettext.$lo: $(srcdir)/eval-plural.h
++localcharset.$lo: $(srcdir)/localcharset.h
++localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
++printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c
+
+ tags: TAGS
+
+ TAGS: $(HEADERS) $(SOURCES)
+ here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
+
++ctags: CTAGS
++
++CTAGS: $(HEADERS) $(SOURCES)
++ here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES)
++
+ id: ID
+
+ ID: $(HEADERS) $(SOURCES)
+@@ -166,12 +444,19 @@
+
+
+ mostlyclean:
+- rm -f *.a *.o *.lo core core.*
++ rm -f *.a *.la *.o *.obj *.lo core core.*
++ rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed
++ rm -f -r .libs _libs
+
+ clean: mostlyclean
+
+ distclean: clean
+- rm -f Makefile ID TAGS po2msg.sed po2tbl.sed libintl.h
++ rm -f Makefile ID TAGS
++ if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \
++ rm -f ChangeLog.inst $(DISTFILES.normal); \
++ else \
++ : ; \
++ fi
+
+ maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+@@ -181,33 +466,27 @@
+ # GNU gettext needs not contain the file `VERSION' but contains some
+ # other files which should not be distributed in other packages.
+ distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+-dist distdir: Makefile $(DISTFILES)
+- if test "$(PACKAGE)" = gettext; then \
+- additional="$(DISTFILES.gettext)"; \
++dist distdir: Makefile
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ : ; \
+ else \
+- additional="$(DISTFILES.normal)"; \
+- fi; \
+- for file in $(DISTFILES.common) $$additional; do \
+- ln $(srcdir)/$$file $(distdir) 2> /dev/null \
+- || cp -p $(srcdir)/$$file $(distdir); \
+- done
+-
+-dist-libc:
+- tar zcvf intl-glibc.tar.gz $(COMSRCS) $(COMHDRS) libintl.h.glibc
+-
+-Makefile: Makefile.in ../config.status
+- cd .. \
+- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
++ if test "$(PACKAGE)" = "gettext-runtime"; then \
++ additional="$(DISTFILES.gettext)"; \
++ else \
++ additional="$(DISTFILES.normal)"; \
++ fi; \
++ $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
++ for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
++ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
++ cp -p $$dir/$$file $(distdir); \
++ done; \
++ fi
+
+-# The dependency for intlh.inst is different in gettext and all other
+-# packages. Because we cannot you GNU make features we have to solve
+-# the problem while rewriting Makefile.in.
+-@GT_YES@intlh.inst: intlh.inst.in ../config.status
+-@GT_YES@ cd .. \
+-@GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
+-@GT_YES@ $(SHELL) ./config.status
+-@GT_NO@.PHONY: intlh.inst
+-@GT_NO@intlh.inst:
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ cd $(top_builddir) && $(SHELL) ./config.status
++# This would be more efficient, but doesn't work any more with autoconf-2.57,
++# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
++# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+ # Tell versions [3.59,3.63) of GNU make not to export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+--- lrzsz-0.12.20.safe/intl/ngettext.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/ngettext.c 2004-09-12 14:40:34.533721032 -0400
+@@ -0,0 +1,65 @@
++/* Implementation of ngettext(3) function.
++ Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#ifdef _LIBC
++# define __need_NULL
++# include <stddef.h>
++#else
++# include <stdlib.h> /* Just for NULL. */
++#endif
++
++#include "gettextP.h"
++#ifdef _LIBC
++# include <libintl.h>
++#else
++# include "libgnuintl.h"
++#endif
++
++#include <locale.h>
++
++/* @@ end of prolog @@ */
++
++/* Names for the libintl functions are a problem. They must not clash
++ with existing names and they should follow ANSI C. But this source
++ code is also used in GNU C Library where the names have a __
++ prefix. So we have to make a difference here. */
++#ifdef _LIBC
++# define NGETTEXT __ngettext
++# define DCNGETTEXT __dcngettext
++#else
++# define NGETTEXT libintl_ngettext
++# define DCNGETTEXT libintl_dcngettext
++#endif
++
++/* Look up MSGID in the current default message catalog for the current
++ LC_MESSAGES locale. If not found, returns MSGID itself (the default
++ text). */
++char *
++NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n)
++{
++ return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);
++}
++
++#ifdef _LIBC
++/* Alias for function name in GNU C Library. */
++weak_alias (__ngettext, ngettext);
++#endif
+--- lrzsz-0.12.20.safe/intl/os2compat.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/os2compat.c 2004-09-12 14:40:34.539720120 -0400
+@@ -0,0 +1,98 @@
++/* OS/2 compatibility functions.
++ Copyright (C) 2001-2002 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#define OS2_AWARE
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/param.h>
++
++/* A version of getenv() that works from DLLs */
++extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue);
++
++char *
++_nl_getenv (const char *name)
++{
++ unsigned char *value;
++ if (DosScanEnv (name, &value))
++ return NULL;
++ else
++ return value;
++}
++
++/* A fixed size buffer. */
++char libintl_nl_default_dirname[MAXPATHLEN+1];
++
++char *_nlos2_libdir = NULL;
++char *_nlos2_localealiaspath = NULL;
++char *_nlos2_localedir = NULL;
++
++static __attribute__((constructor)) void
++nlos2_initialize ()
++{
++ char *root = getenv ("UNIXROOT");
++ char *gnulocaledir = getenv ("GNULOCALEDIR");
++
++ _nlos2_libdir = gnulocaledir;
++ if (!_nlos2_libdir)
++ {
++ if (root)
++ {
++ size_t sl = strlen (root);
++ _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1);
++ memcpy (_nlos2_libdir, root, sl);
++ memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1);
++ }
++ else
++ _nlos2_libdir = LIBDIR;
++ }
++
++ _nlos2_localealiaspath = gnulocaledir;
++ if (!_nlos2_localealiaspath)
++ {
++ if (root)
++ {
++ size_t sl = strlen (root);
++ _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1);
++ memcpy (_nlos2_localealiaspath, root, sl);
++ memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1);
++ }
++ else
++ _nlos2_localealiaspath = LOCALE_ALIAS_PATH;
++ }
++
++ _nlos2_localedir = gnulocaledir;
++ if (!_nlos2_localedir)
++ {
++ if (root)
++ {
++ size_t sl = strlen (root);
++ _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1);
++ memcpy (_nlos2_localedir, root, sl);
++ memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1);
++ }
++ else
++ _nlos2_localedir = LOCALEDIR;
++ }
++
++ if (strlen (_nlos2_localedir) <= MAXPATHLEN)
++ strcpy (libintl_nl_default_dirname, _nlos2_localedir);
++}
+--- lrzsz-0.12.20.safe/intl/os2compat.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/os2compat.h 2004-09-12 14:40:34.544719360 -0400
+@@ -0,0 +1,46 @@
++/* OS/2 compatibility defines.
++ This file is intended to be included from config.h
++ Copyright (C) 2001-2002 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* When included from os2compat.h we need all the original definitions */
++#ifndef OS2_AWARE
++
++#undef LIBDIR
++#define LIBDIR _nlos2_libdir
++extern char *_nlos2_libdir;
++
++#undef LOCALEDIR
++#define LOCALEDIR _nlos2_localedir
++extern char *_nlos2_localedir;
++
++#undef LOCALE_ALIAS_PATH
++#define LOCALE_ALIAS_PATH _nlos2_localealiaspath
++extern char *_nlos2_localealiaspath;
++
++#endif
++
++#undef HAVE_STRCASECMP
++#define HAVE_STRCASECMP 1
++#define strcasecmp stricmp
++#define strncasecmp strnicmp
++
++/* We have our own getenv() which works even if library is compiled as DLL */
++#define getenv _nl_getenv
++
++/* Older versions of gettext used -1 as the value of LC_MESSAGES */
++#define LC_MESSAGES_COMPAT (-1)
+--- lrzsz-0.12.20.safe/intl/osdep.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/osdep.c 2004-09-12 14:40:34.550718448 -0400
+@@ -0,0 +1,24 @@
++/* OS dependent parts of libintl.
++ Copyright (C) 2001-2002 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#if defined __EMX__
++# include "os2compat.c"
++#else
++/* Avoid AIX compiler warning. */
++typedef int dummy;
++#endif
+--- lrzsz-0.12.20.safe/intl/plural.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/plural.c 2004-09-12 14:40:36.571411256 -0400
+@@ -0,0 +1,1490 @@
++/* A Bison parser, made from plural.y
++ by GNU bison 1.35. */
++
++#define YYBISON 1 /* Identify Bison output. */
++
++#define yyparse __gettextparse
++#define yylex __gettextlex
++#define yyerror __gettexterror
++#define yylval __gettextlval
++#define yychar __gettextchar
++#define yydebug __gettextdebug
++#define yynerrs __gettextnerrs
++# define EQUOP2 257
++# define CMPOP2 258
++# define ADDOP2 259
++# define MULOP2 260
++# define NUMBER 261
++
++#line 1 "plural.y"
++
++/* Expression parsing for plural form selection.
++ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
++ Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* The bison generated parser uses alloca. AIX 3 forces us to put this
++ declaration at the beginning of the file. The declaration in bison's
++ skeleton file comes too late. This must come before <config.h>
++ because <config.h> may include arbitrary system headers. */
++#if defined _AIX && !defined __GNUC__
++ #pragma alloca
++#endif
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stddef.h>
++#include <stdlib.h>
++#include "plural-exp.h"
++
++/* The main function generated by the parser is called __gettextparse,
++ but we want it to be called PLURAL_PARSE. */
++#ifndef _LIBC
++# define __gettextparse PLURAL_PARSE
++#endif
++
++#define YYLEX_PARAM &((struct parse_args *) arg)->cp
++#define YYPARSE_PARAM arg
++
++#line 49 "plural.y"
++#ifndef YYSTYPE
++typedef union {
++ unsigned long int num;
++ enum operator op;
++ struct expression *exp;
++} yystype;
++# define YYSTYPE yystype
++# define YYSTYPE_IS_TRIVIAL 1
++#endif
++#line 55 "plural.y"
++
++/* Prototypes for local functions. */
++static int yylex (YYSTYPE *lval, const char **pexp);
++static void yyerror (const char *str);
++
++/* Allocation of expressions. */
++
++static struct expression *
++new_exp (int nargs, enum operator op, struct expression * const *args)
++{
++ int i;
++ struct expression *newp;
++
++ /* If any of the argument could not be malloc'ed, just return NULL. */
++ for (i = nargs - 1; i >= 0; i--)
++ if (args[i] == NULL)
++ goto fail;
++
++ /* Allocate a new expression. */
++ newp = (struct expression *) malloc (sizeof (*newp));
++ if (newp != NULL)
++ {
++ newp->nargs = nargs;
++ newp->operation = op;
++ for (i = nargs - 1; i >= 0; i--)
++ newp->val.args[i] = args[i];
++ return newp;
++ }
++
++ fail:
++ for (i = nargs - 1; i >= 0; i--)
++ FREE_EXPRESSION (args[i]);
++
++ return NULL;
++}
++
++static inline struct expression *
++new_exp_0 (enum operator op)
++{
++ return new_exp (0, op, NULL);
++}
++
++static inline struct expression *
++new_exp_1 (enum operator op, struct expression *right)
++{
++ struct expression *args[1];
++
++ args[0] = right;
++ return new_exp (1, op, args);
++}
++
++static struct expression *
++new_exp_2 (enum operator op, struct expression *left, struct expression *right)
++{
++ struct expression *args[2];
++
++ args[0] = left;
++ args[1] = right;
++ return new_exp (2, op, args);
++}
++
++static inline struct expression *
++new_exp_3 (enum operator op, struct expression *bexp,
++ struct expression *tbranch, struct expression *fbranch)
++{
++ struct expression *args[3];
++
++ args[0] = bexp;
++ args[1] = tbranch;
++ args[2] = fbranch;
++ return new_exp (3, op, args);
++}
++
++#ifndef YYDEBUG
++# define YYDEBUG 0
++#endif
++
++
++
++#define YYFINAL 27
++#define YYFLAG -32768
++#define YYNTBASE 16
++
++/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
++#define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18)
++
++/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
++static const char 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, 10, 2, 2, 2, 2, 5, 2,
++ 14, 15, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 12, 2,
++ 2, 2, 2, 3, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 13, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 4, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 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, 6, 7, 8,
++ 9, 11
++};
++
++#if YYDEBUG
++static const short yyprhs[] =
++{
++ 0, 0, 2, 8, 12, 16, 20, 24, 28, 32,
++ 35, 37, 39
++};
++static const short yyrhs[] =
++{
++ 17, 0, 17, 3, 17, 12, 17, 0, 17, 4,
++ 17, 0, 17, 5, 17, 0, 17, 6, 17, 0,
++ 17, 7, 17, 0, 17, 8, 17, 0, 17, 9,
++ 17, 0, 10, 17, 0, 13, 0, 11, 0, 14,
++ 17, 15, 0
++};
++
++#endif
++
++#if YYDEBUG
++/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
++static const short yyrline[] =
++{
++ 0, 150, 158, 162, 166, 170, 174, 178, 182, 186,
++ 190, 194, 199
++};
++#endif
++
++
++#if (YYDEBUG) || defined YYERROR_VERBOSE
++
++/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
++static const char *const yytname[] =
++{
++ "$", "error", "$undefined.", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2",
++ "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'",
++ "start", "exp", 0
++};
++#endif
++
++/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
++static const short yyr1[] =
++{
++ 0, 16, 17, 17, 17, 17, 17, 17, 17, 17,
++ 17, 17, 17
++};
++
++/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
++static const short yyr2[] =
++{
++ 0, 1, 5, 3, 3, 3, 3, 3, 3, 2,
++ 1, 1, 3
++};
++
++/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
++ doesn't specify something else to do. Zero means the default is an
++ error. */
++static const short yydefact[] =
++{
++ 0, 0, 11, 10, 0, 1, 9, 0, 0, 0,
++ 0, 0, 0, 0, 0, 12, 0, 3, 4, 5,
++ 6, 7, 8, 0, 2, 0, 0, 0
++};
++
++static const short yydefgoto[] =
++{
++ 25, 5
++};
++
++static const short yypact[] =
++{
++ -9, -9,-32768,-32768, -9, 34,-32768, 11, -9, -9,
++ -9, -9, -9, -9, -9,-32768, 24, 39, 43, 16,
++ 26, -3,-32768, -9, 34, 21, 53,-32768
++};
++
++static const short yypgoto[] =
++{
++ -32768, -1
++};
++
++
++#define YYLAST 53
++
++
++static const short yytable[] =
++{
++ 6, 1, 2, 7, 3, 4, 14, 16, 17, 18,
++ 19, 20, 21, 22, 8, 9, 10, 11, 12, 13,
++ 14, 26, 24, 12, 13, 14, 15, 8, 9, 10,
++ 11, 12, 13, 14, 13, 14, 23, 8, 9, 10,
++ 11, 12, 13, 14, 10, 11, 12, 13, 14, 11,
++ 12, 13, 14, 27
++};
++
++static const short yycheck[] =
++{
++ 1, 10, 11, 4, 13, 14, 9, 8, 9, 10,
++ 11, 12, 13, 14, 3, 4, 5, 6, 7, 8,
++ 9, 0, 23, 7, 8, 9, 15, 3, 4, 5,
++ 6, 7, 8, 9, 8, 9, 12, 3, 4, 5,
++ 6, 7, 8, 9, 5, 6, 7, 8, 9, 6,
++ 7, 8, 9, 0
++};
++#define YYPURE 1
++
++/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
++#line 3 "/usr/local/share/bison/bison.simple"
++
++/* Skeleton output parser for bison,
++
++ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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 2, or (at your option)
++ any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License
++ along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330,
++ Boston, MA 02111-1307, USA. */
++
++/* As a special exception, when this file is copied by Bison into a
++ Bison output file, you may use that output file without restriction.
++ This special exception was added by the Free Software Foundation
++ in version 1.24 of Bison. */
++
++/* This is the parser code that is written into each bison parser when
++ the %semantic_parser declaration is not specified in the grammar.
++ It was written by Richard Stallman by simplifying the hairy parser
++ used when %semantic_parser is specified. */
++
++/* 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. */
++
++#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
++
++/* The parser invokes alloca or malloc; define the necessary symbols. */
++
++# if YYSTACK_USE_ALLOCA
++# define YYSTACK_ALLOC alloca
++# else
++# ifndef YYSTACK_USE_ALLOCA
++# if defined (alloca) || defined (_ALLOCA_H)
++# define YYSTACK_ALLOC alloca
++# else
++# ifdef __GNUC__
++# define YYSTACK_ALLOC __builtin_alloca
++# endif
++# endif
++# endif
++# endif
++
++# ifdef YYSTACK_ALLOC
++ /* Pacify GCC's `empty if-body' warning. */
++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
++# else
++# if defined (__STDC__) || defined (__cplusplus)
++# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++# define YYSIZE_T size_t
++# endif
++# define YYSTACK_ALLOC malloc
++# define YYSTACK_FREE free
++# endif
++#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
++
++
++#if (! defined (yyoverflow) \
++ && (! defined (__cplusplus) \
++ || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
++
++/* A type that is properly aligned for any stack member. */
++union yyalloc
++{
++ short yyss;
++ YYSTYPE yyvs;
++# if YYLSP_NEEDED
++ YYLTYPE yyls;
++# endif
++};
++
++/* The size of the maximum gap between one aligned stack and the next. */
++# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
++
++/* The size of an array large to enough to hold all stacks, each with
++ N elements. */
++# if YYLSP_NEEDED
++# define YYSTACK_BYTES(N) \
++ ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
++ + 2 * YYSTACK_GAP_MAX)
++# else
++# define YYSTACK_BYTES(N) \
++ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
++ + YYSTACK_GAP_MAX)
++# endif
++
++/* Copy COUNT objects from FROM to TO. The source and destination do
++ not overlap. */
++# ifndef YYCOPY
++# if 1 < __GNUC__
++# define YYCOPY(To, From, Count) \
++ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
++# else
++# define YYCOPY(To, From, Count) \
++ do \
++ { \
++ register YYSIZE_T yyi; \
++ for (yyi = 0; yyi < (Count); yyi++) \
++ (To)[yyi] = (From)[yyi]; \
++ } \
++ while (0)
++# endif
++# endif
++
++/* 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) \
++ do \
++ { \
++ YYSIZE_T yynewbytes; \
++ YYCOPY (&yyptr->Stack, Stack, yysize); \
++ Stack = &yyptr->Stack; \
++ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \
++ yyptr += yynewbytes / sizeof (*yyptr); \
++ } \
++ while (0)
++
++#endif
++
++
++#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
++# define YYSIZE_T __SIZE_TYPE__
++#endif
++#if ! defined (YYSIZE_T) && defined (size_t)
++# define YYSIZE_T size_t
++#endif
++#if ! defined (YYSIZE_T)
++# if defined (__STDC__) || defined (__cplusplus)
++# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
++# define YYSIZE_T size_t
++# endif
++#endif
++#if ! defined (YYSIZE_T)
++# define YYSIZE_T unsigned int
++#endif
++
++#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 yyerrlab1
++/* 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. */
++#define YYFAIL goto yyerrlab
++#define YYRECOVERING() (!!yyerrstatus)
++#define YYBACKUP(Token, Value) \
++do \
++ if (yychar == YYEMPTY && yylen == 1) \
++ { \
++ yychar = (Token); \
++ yylval = (Value); \
++ yychar1 = YYTRANSLATE (yychar); \
++ YYPOPSTACK; \
++ goto yybackup; \
++ } \
++ else \
++ { \
++ yyerror ("syntax error: cannot back up"); \
++ YYERROR; \
++ } \
++while (0)
++
++#define YYTERROR 1
++#define YYERRCODE 256
++
++
++/* YYLLOC_DEFAULT -- Compute the default location (before the actions
++ are run).
++
++ When YYLLOC_DEFAULT is run, CURRENT is set the location of the
++ first token. By default, to implement support for ranges, extend
++ its range to the last symbol. */
++
++#ifndef YYLLOC_DEFAULT
++# define YYLLOC_DEFAULT(Current, Rhs, N) \
++ Current.last_line = Rhs[N].last_line; \
++ Current.last_column = Rhs[N].last_column;
++#endif
++
++
++/* YYLEX -- calling `yylex' with the right arguments. */
++
++#if YYPURE
++# if YYLSP_NEEDED
++# ifdef YYLEX_PARAM
++# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
++# else
++# define YYLEX yylex (&yylval, &yylloc)
++# endif
++# else /* !YYLSP_NEEDED */
++# ifdef YYLEX_PARAM
++# define YYLEX yylex (&yylval, YYLEX_PARAM)
++# else
++# define YYLEX yylex (&yylval)
++# endif
++# endif /* !YYLSP_NEEDED */
++#else /* !YYPURE */
++# define YYLEX yylex ()
++#endif /* !YYPURE */
++
++
++/* Enable debugging if requested. */
++#if YYDEBUG
++
++# ifndef YYFPRINTF
++# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
++# define YYFPRINTF fprintf
++# endif
++
++# define YYDPRINTF(Args) \
++do { \
++ if (yydebug) \
++ YYFPRINTF Args; \
++} while (0)
++/* Nonzero means print parse trace. It is left uninitialized so that
++ multiple parsers can coexist. */
++int yydebug;
++#else /* !YYDEBUG */
++# define YYDPRINTF(Args)
++#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
++ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
++ evaluated with infinite-precision integer arithmetic. */
++
++#if YYMAXDEPTH == 0
++# undef YYMAXDEPTH
++#endif
++
++#ifndef YYMAXDEPTH
++# define YYMAXDEPTH 10000
++#endif
++
++#ifdef YYERROR_VERBOSE
++
++# ifndef yystrlen
++# if defined (__GLIBC__) && defined (_STRING_H)
++# define yystrlen strlen
++# else
++/* Return the length of YYSTR. */
++static YYSIZE_T
++# if defined (__STDC__) || defined (__cplusplus)
++yystrlen (const char *yystr)
++# else
++yystrlen (yystr)
++ const char *yystr;
++# endif
++{
++ register const char *yys = yystr;
++
++ while (*yys++ != '\0')
++ continue;
++
++ return yys - yystr - 1;
++}
++# 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 *
++# if defined (__STDC__) || defined (__cplusplus)
++yystpcpy (char *yydest, const char *yysrc)
++# else
++yystpcpy (yydest, yysrc)
++ char *yydest;
++ const char *yysrc;
++# endif
++{
++ register char *yyd = yydest;
++ register const char *yys = yysrc;
++
++ while ((*yyd++ = *yys++) != '\0')
++ continue;
++
++ return yyd - 1;
++}
++# endif
++# endif
++#endif
++
++#line 315 "/usr/local/share/bison/bison.simple"
++
++
++/* The user can define YYPARSE_PARAM as the name of an argument to be passed
++ into yyparse. The argument should have type void *.
++ It should actually point to an object.
++ Grammar actions can access the variable by casting it
++ to the proper pointer type. */
++
++#ifdef YYPARSE_PARAM
++# if defined (__STDC__) || defined (__cplusplus)
++# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
++# define YYPARSE_PARAM_DECL
++# else
++# define YYPARSE_PARAM_ARG YYPARSE_PARAM
++# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
++# endif
++#else /* !YYPARSE_PARAM */
++# define YYPARSE_PARAM_ARG
++# define YYPARSE_PARAM_DECL
++#endif /* !YYPARSE_PARAM */
++
++/* Prevent warning if -Wstrict-prototypes. */
++#ifdef __GNUC__
++# ifdef YYPARSE_PARAM
++int yyparse (void *);
++# else
++int yyparse (void);
++# endif
++#endif
++
++/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
++ variables are global, or local to YYPARSE. */
++
++#define YY_DECL_NON_LSP_VARIABLES \
++/* The lookahead symbol. */ \
++int yychar; \
++ \
++/* The semantic value of the lookahead symbol. */ \
++YYSTYPE yylval; \
++ \
++/* Number of parse errors so far. */ \
++int yynerrs;
++
++#if YYLSP_NEEDED
++# define YY_DECL_VARIABLES \
++YY_DECL_NON_LSP_VARIABLES \
++ \
++/* Location data for the lookahead symbol. */ \
++YYLTYPE yylloc;
++#else
++# define YY_DECL_VARIABLES \
++YY_DECL_NON_LSP_VARIABLES
++#endif
++
++
++/* If nonreentrant, generate the variables here. */
++
++#if !YYPURE
++YY_DECL_VARIABLES
++#endif /* !YYPURE */
++
++int
++yyparse (YYPARSE_PARAM_ARG)
++ YYPARSE_PARAM_DECL
++{
++ /* If reentrant, generate the variables here. */
++#if YYPURE
++ YY_DECL_VARIABLES
++#endif /* !YYPURE */
++
++ register int yystate;
++ register int yyn;
++ int yyresult;
++ /* Number of tokens to shift before error messages enabled. */
++ int yyerrstatus;
++ /* Lookahead token as an internal (translated) token number. */
++ int yychar1 = 0;
++
++ /* Three stacks and their tools:
++ `yyss': related to states,
++ `yyvs': related to semantic values,
++ `yyls': related to locations.
++
++ Refer to the stacks thru separate pointers, to allow yyoverflow
++ to reallocate them elsewhere. */
++
++ /* The state stack. */
++ short yyssa[YYINITDEPTH];
++ short *yyss = yyssa;
++ register short *yyssp;
++
++ /* The semantic value stack. */
++ YYSTYPE yyvsa[YYINITDEPTH];
++ YYSTYPE *yyvs = yyvsa;
++ register YYSTYPE *yyvsp;
++
++#if YYLSP_NEEDED
++ /* The location stack. */
++ YYLTYPE yylsa[YYINITDEPTH];
++ YYLTYPE *yyls = yylsa;
++ YYLTYPE *yylsp;
++#endif
++
++#if YYLSP_NEEDED
++# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
++#else
++# define YYPOPSTACK (yyvsp--, yyssp--)
++#endif
++
++ YYSIZE_T yystacksize = YYINITDEPTH;
++
++
++ /* The variables used to return semantic value and location from the
++ action routines. */
++ YYSTYPE yyval;
++#if YYLSP_NEEDED
++ YYLTYPE yyloc;
++#endif
++
++ /* When reducing, the number of symbols on the RHS of the reduced
++ rule. */
++ int yylen;
++
++ YYDPRINTF ((stderr, "Starting parse\n"));
++
++ yystate = 0;
++ yyerrstatus = 0;
++ yynerrs = 0;
++ yychar = YYEMPTY; /* Cause a token to be read. */
++
++ /* Initialize stack pointers.
++ Waste one element of value and location stack
++ so that they stay on the same level as the state stack.
++ The wasted elements are never initialized. */
++
++ yyssp = yyss;
++ yyvsp = yyvs;
++#if YYLSP_NEEDED
++ yylsp = yyls;
++#endif
++ 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 (yyssp >= yyss + yystacksize - 1)
++ {
++ /* 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;
++ short *yyss1 = yyss;
++
++ /* Each stack pointer address is followed by the size of the
++ data in use in that stack, in bytes. */
++# if YYLSP_NEEDED
++ YYLTYPE *yyls1 = yyls;
++ /* This used to be a conditional around just the two extra args,
++ but that might be undefined if yyoverflow is a macro. */
++ yyoverflow ("parser stack overflow",
++ &yyss1, yysize * sizeof (*yyssp),
++ &yyvs1, yysize * sizeof (*yyvsp),
++ &yyls1, yysize * sizeof (*yylsp),
++ &yystacksize);
++ yyls = yyls1;
++# else
++ yyoverflow ("parser stack overflow",
++ &yyss1, yysize * sizeof (*yyssp),
++ &yyvs1, yysize * sizeof (*yyvsp),
++ &yystacksize);
++# endif
++ yyss = yyss1;
++ yyvs = yyvs1;
++ }
++#else /* no yyoverflow */
++# ifndef YYSTACK_RELOCATE
++ goto yyoverflowlab;
++# else
++ /* Extend the stack our own way. */
++ if (yystacksize >= YYMAXDEPTH)
++ goto yyoverflowlab;
++ yystacksize *= 2;
++ if (yystacksize > YYMAXDEPTH)
++ yystacksize = YYMAXDEPTH;
++
++ {
++ short *yyss1 = yyss;
++ union yyalloc *yyptr =
++ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
++ if (! yyptr)
++ goto yyoverflowlab;
++ YYSTACK_RELOCATE (yyss);
++ YYSTACK_RELOCATE (yyvs);
++# if YYLSP_NEEDED
++ YYSTACK_RELOCATE (yyls);
++# endif
++# undef YYSTACK_RELOCATE
++ if (yyss1 != yyssa)
++ YYSTACK_FREE (yyss1);
++ }
++# endif
++#endif /* no yyoverflow */
++
++ yyssp = yyss + yysize - 1;
++ yyvsp = yyvs + yysize - 1;
++#if YYLSP_NEEDED
++ yylsp = yyls + yysize - 1;
++#endif
++
++ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
++ (unsigned long int) yystacksize));
++
++ if (yyssp >= yyss + yystacksize - 1)
++ YYABORT;
++ }
++
++ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++
++ 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. */
++/* yyresume: */
++
++ /* First try to decide what to do without reference to lookahead token. */
++
++ yyn = yypact[yystate];
++ if (yyn == YYFLAG)
++ goto yydefault;
++
++ /* Not known => get a lookahead token if don't already have one. */
++
++ /* yychar is either YYEMPTY or YYEOF
++ or a valid token in external form. */
++
++ if (yychar == YYEMPTY)
++ {
++ YYDPRINTF ((stderr, "Reading a token: "));
++ yychar = YYLEX;
++ }
++
++ /* Convert token to internal form (in yychar1) for indexing tables with */
++
++ if (yychar <= 0) /* This means end of input. */
++ {
++ yychar1 = 0;
++ yychar = YYEOF; /* Don't call YYLEX any more */
++
++ YYDPRINTF ((stderr, "Now at end of input.\n"));
++ }
++ else
++ {
++ yychar1 = YYTRANSLATE (yychar);
++
++#if YYDEBUG
++ /* We have to keep this `#if YYDEBUG', since we use variables
++ which are defined only if `YYDEBUG' is set. */
++ if (yydebug)
++ {
++ YYFPRINTF (stderr, "Next token is %d (%s",
++ yychar, yytname[yychar1]);
++ /* Give the individual parser a way to print the precise
++ meaning of a token, for further debugging info. */
++# ifdef YYPRINT
++ YYPRINT (stderr, yychar, yylval);
++# endif
++ YYFPRINTF (stderr, ")\n");
++ }
++#endif
++ }
++
++ yyn += yychar1;
++ if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
++ goto yydefault;
++
++ yyn = yytable[yyn];
++
++ /* yyn is what to do for this token type in this state.
++ Negative => reduce, -yyn is rule number.
++ Positive => shift, yyn is new state.
++ New state is final state => don't bother to shift,
++ just return success.
++ 0, or most negative number => error. */
++
++ if (yyn < 0)
++ {
++ if (yyn == YYFLAG)
++ goto yyerrlab;
++ yyn = -yyn;
++ goto yyreduce;
++ }
++ else if (yyn == 0)
++ goto yyerrlab;
++
++ if (yyn == YYFINAL)
++ YYACCEPT;
++
++ /* Shift the lookahead token. */
++ YYDPRINTF ((stderr, "Shifting token %d (%s), ",
++ yychar, yytname[yychar1]));
++
++ /* Discard the token being shifted unless it is eof. */
++ if (yychar != YYEOF)
++ yychar = YYEMPTY;
++
++ *++yyvsp = yylval;
++#if YYLSP_NEEDED
++ *++yylsp = yylloc;
++#endif
++
++ /* Count tokens shifted since error; after three, turn off error
++ status. */
++ if (yyerrstatus)
++ yyerrstatus--;
++
++ yystate = yyn;
++ 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 the semantic value of
++ the lookahead token. 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];
++
++#if YYLSP_NEEDED
++ /* Similarly for the default location. Let the user run additional
++ commands if for instance locations are ranges. */
++ yyloc = yylsp[1-yylen];
++ YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
++#endif
++
++#if YYDEBUG
++ /* We have to keep this `#if YYDEBUG', since we use variables which
++ are defined only if `YYDEBUG' is set. */
++ if (yydebug)
++ {
++ int yyi;
++
++ YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
++ yyn, yyrline[yyn]);
++
++ /* Print the symbols being reduced, and their result. */
++ for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
++ YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
++ YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
++ }
++#endif
++
++ switch (yyn) {
++
++case 1:
++#line 151 "plural.y"
++{
++ if (yyvsp[0].exp == NULL)
++ YYABORT;
++ ((struct parse_args *) arg)->res = yyvsp[0].exp;
++ }
++ break;
++case 2:
++#line 159 "plural.y"
++{
++ yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp);
++ }
++ break;
++case 3:
++#line 163 "plural.y"
++{
++ yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp);
++ }
++ break;
++case 4:
++#line 167 "plural.y"
++{
++ yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp);
++ }
++ break;
++case 5:
++#line 171 "plural.y"
++{
++ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
++ }
++ break;
++case 6:
++#line 175 "plural.y"
++{
++ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
++ }
++ break;
++case 7:
++#line 179 "plural.y"
++{
++ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
++ }
++ break;
++case 8:
++#line 183 "plural.y"
++{
++ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
++ }
++ break;
++case 9:
++#line 187 "plural.y"
++{
++ yyval.exp = new_exp_1 (lnot, yyvsp[0].exp);
++ }
++ break;
++case 10:
++#line 191 "plural.y"
++{
++ yyval.exp = new_exp_0 (var);
++ }
++ break;
++case 11:
++#line 195 "plural.y"
++{
++ if ((yyval.exp = new_exp_0 (num)) != NULL)
++ yyval.exp->val.num = yyvsp[0].num;
++ }
++ break;
++case 12:
++#line 200 "plural.y"
++{
++ yyval.exp = yyvsp[-1].exp;
++ }
++ break;
++}
++
++#line 705 "/usr/local/share/bison/bison.simple"
++
++
++ yyvsp -= yylen;
++ yyssp -= yylen;
++#if YYLSP_NEEDED
++ yylsp -= yylen;
++#endif
++
++#if YYDEBUG
++ if (yydebug)
++ {
++ short *yyssp1 = yyss - 1;
++ YYFPRINTF (stderr, "state stack now");
++ while (yyssp1 != yyssp)
++ YYFPRINTF (stderr, " %d", *++yyssp1);
++ YYFPRINTF (stderr, "\n");
++ }
++#endif
++
++ *++yyvsp = yyval;
++#if YYLSP_NEEDED
++ *++yylsp = yyloc;
++#endif
++
++ /* 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 - YYNTBASE] + *yyssp;
++ if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
++ yystate = yytable[yystate];
++ else
++ yystate = yydefgoto[yyn - YYNTBASE];
++
++ goto yynewstate;
++
++
++/*------------------------------------.
++| yyerrlab -- here on detecting error |
++`------------------------------------*/
++yyerrlab:
++ /* If not already recovering from an error, report this error. */
++ if (!yyerrstatus)
++ {
++ ++yynerrs;
++
++#ifdef YYERROR_VERBOSE
++ yyn = yypact[yystate];
++
++ if (yyn > YYFLAG && yyn < YYLAST)
++ {
++ YYSIZE_T yysize = 0;
++ char *yymsg;
++ int yyx, yycount;
++
++ yycount = 0;
++ /* Start YYX at -YYN if negative to avoid negative indexes in
++ YYCHECK. */
++ for (yyx = yyn < 0 ? -yyn : 0;
++ yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
++ if (yycheck[yyx + yyn] == yyx)
++ yysize += yystrlen (yytname[yyx]) + 15, yycount++;
++ yysize += yystrlen ("parse error, unexpected ") + 1;
++ yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
++ yymsg = (char *) YYSTACK_ALLOC (yysize);
++ if (yymsg != 0)
++ {
++ char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
++ yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
++
++ if (yycount < 5)
++ {
++ yycount = 0;
++ for (yyx = yyn < 0 ? -yyn : 0;
++ yyx < (int) (sizeof (yytname) / sizeof (char *));
++ yyx++)
++ if (yycheck[yyx + yyn] == yyx)
++ {
++ const char *yyq = ! yycount ? ", expecting " : " or ";
++ yyp = yystpcpy (yyp, yyq);
++ yyp = yystpcpy (yyp, yytname[yyx]);
++ yycount++;
++ }
++ }
++ yyerror (yymsg);
++ YYSTACK_FREE (yymsg);
++ }
++ else
++ yyerror ("parse error; also virtual memory exhausted");
++ }
++ else
++#endif /* defined (YYERROR_VERBOSE) */
++ yyerror ("parse error");
++ }
++ goto yyerrlab1;
++
++
++/*--------------------------------------------------.
++| yyerrlab1 -- error raised explicitly by an action |
++`--------------------------------------------------*/
++yyerrlab1:
++ if (yyerrstatus == 3)
++ {
++ /* If just tried and failed to reuse lookahead token after an
++ error, discard it. */
++
++ /* return failure if at end of input */
++ if (yychar == YYEOF)
++ YYABORT;
++ YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
++ yychar, yytname[yychar1]));
++ yychar = YYEMPTY;
++ }
++
++ /* Else will try to reuse lookahead token after shifting the error
++ token. */
++
++ yyerrstatus = 3; /* Each real token shifted decrements this */
++
++ goto yyerrhandle;
++
++
++/*-------------------------------------------------------------------.
++| yyerrdefault -- current state does not do anything special for the |
++| error token. |
++`-------------------------------------------------------------------*/
++yyerrdefault:
++#if 0
++ /* This is wrong; only states that explicitly want error tokens
++ should shift them. */
++
++ /* If its default is to accept any token, ok. Otherwise pop it. */
++ yyn = yydefact[yystate];
++ if (yyn)
++ goto yydefault;
++#endif
++
++
++/*---------------------------------------------------------------.
++| yyerrpop -- pop the current state because it cannot handle the |
++| error token |
++`---------------------------------------------------------------*/
++yyerrpop:
++ if (yyssp == yyss)
++ YYABORT;
++ yyvsp--;
++ yystate = *--yyssp;
++#if YYLSP_NEEDED
++ yylsp--;
++#endif
++
++#if YYDEBUG
++ if (yydebug)
++ {
++ short *yyssp1 = yyss - 1;
++ YYFPRINTF (stderr, "Error: state stack now");
++ while (yyssp1 != yyssp)
++ YYFPRINTF (stderr, " %d", *++yyssp1);
++ YYFPRINTF (stderr, "\n");
++ }
++#endif
++
++/*--------------.
++| yyerrhandle. |
++`--------------*/
++yyerrhandle:
++ yyn = yypact[yystate];
++ if (yyn == YYFLAG)
++ goto yyerrdefault;
++
++ yyn += YYTERROR;
++ if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
++ goto yyerrdefault;
++
++ yyn = yytable[yyn];
++ if (yyn < 0)
++ {
++ if (yyn == YYFLAG)
++ goto yyerrpop;
++ yyn = -yyn;
++ goto yyreduce;
++ }
++ else if (yyn == 0)
++ goto yyerrpop;
++
++ if (yyn == YYFINAL)
++ YYACCEPT;
++
++ YYDPRINTF ((stderr, "Shifting error token, "));
++
++ *++yyvsp = yylval;
++#if YYLSP_NEEDED
++ *++yylsp = yylloc;
++#endif
++
++ yystate = yyn;
++ goto yynewstate;
++
++
++/*-------------------------------------.
++| yyacceptlab -- YYACCEPT comes here. |
++`-------------------------------------*/
++yyacceptlab:
++ yyresult = 0;
++ goto yyreturn;
++
++/*-----------------------------------.
++| yyabortlab -- YYABORT comes here. |
++`-----------------------------------*/
++yyabortlab:
++ yyresult = 1;
++ goto yyreturn;
++
++/*---------------------------------------------.
++| yyoverflowab -- parser overflow comes here. |
++`---------------------------------------------*/
++yyoverflowlab:
++ yyerror ("parser stack overflow");
++ yyresult = 2;
++ /* Fall through. */
++
++yyreturn:
++#ifndef yyoverflow
++ if (yyss != yyssa)
++ YYSTACK_FREE (yyss);
++#endif
++ return yyresult;
++}
++#line 205 "plural.y"
++
++
++void
++internal_function
++FREE_EXPRESSION (struct expression *exp)
++{
++ if (exp == NULL)
++ return;
++
++ /* Handle the recursive case. */
++ switch (exp->nargs)
++ {
++ case 3:
++ FREE_EXPRESSION (exp->val.args[2]);
++ /* FALLTHROUGH */
++ case 2:
++ FREE_EXPRESSION (exp->val.args[1]);
++ /* FALLTHROUGH */
++ case 1:
++ FREE_EXPRESSION (exp->val.args[0]);
++ /* FALLTHROUGH */
++ default:
++ break;
++ }
++
++ free (exp);
++}
++
++
++static int
++yylex (YYSTYPE *lval, const char **pexp)
++{
++ const char *exp = *pexp;
++ int result;
++
++ while (1)
++ {
++ if (exp[0] == '\0')
++ {
++ *pexp = exp;
++ return YYEOF;
++ }
++
++ if (exp[0] != ' ' && exp[0] != '\t')
++ break;
++
++ ++exp;
++ }
++
++ result = *exp++;
++ switch (result)
++ {
++ case '0': case '1': case '2': case '3': case '4':
++ case '5': case '6': case '7': case '8': case '9':
++ {
++ unsigned long int n = result - '0';
++ while (exp[0] >= '0' && exp[0] <= '9')
++ {
++ n *= 10;
++ n += exp[0] - '0';
++ ++exp;
++ }
++ lval->num = n;
++ result = NUMBER;
++ }
++ break;
++
++ case '=':
++ if (exp[0] == '=')
++ {
++ ++exp;
++ lval->op = equal;
++ result = EQUOP2;
++ }
++ else
++ result = YYERRCODE;
++ break;
++
++ case '!':
++ if (exp[0] == '=')
++ {
++ ++exp;
++ lval->op = not_equal;
++ result = EQUOP2;
++ }
++ break;
++
++ case '&':
++ case '|':
++ if (exp[0] == result)
++ ++exp;
++ else
++ result = YYERRCODE;
++ break;
++
++ case '<':
++ if (exp[0] == '=')
++ {
++ ++exp;
++ lval->op = less_or_equal;
++ }
++ else
++ lval->op = less_than;
++ result = CMPOP2;
++ break;
++
++ case '>':
++ if (exp[0] == '=')
++ {
++ ++exp;
++ lval->op = greater_or_equal;
++ }
++ else
++ lval->op = greater_than;
++ result = CMPOP2;
++ break;
++
++ case '*':
++ lval->op = mult;
++ result = MULOP2;
++ break;
++
++ case '/':
++ lval->op = divide;
++ result = MULOP2;
++ break;
++
++ case '%':
++ lval->op = module;
++ result = MULOP2;
++ break;
++
++ case '+':
++ lval->op = plus;
++ result = ADDOP2;
++ break;
++
++ case '-':
++ lval->op = minus;
++ result = ADDOP2;
++ break;
++
++ case 'n':
++ case '?':
++ case ':':
++ case '(':
++ case ')':
++ /* Nothing, just return the character. */
++ break;
++
++ case ';':
++ case '\n':
++ case '\0':
++ /* Be safe and let the user call this function again. */
++ --exp;
++ result = YYEOF;
++ break;
++
++ default:
++ result = YYERRCODE;
++#if YYDEBUG != 0
++ --exp;
++#endif
++ break;
++ }
++
++ *pexp = exp;
++
++ return result;
++}
++
++
++static void
++yyerror (const char *str)
++{
++ /* Do nothing. We don't print error messages here. */
++}
+--- lrzsz-0.12.20.safe/intl/plural-exp.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/plural-exp.c 2004-09-12 14:40:34.578714192 -0400
+@@ -0,0 +1,154 @@
++/* Expression parsing for plural form selection.
++ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
++ Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <ctype.h>
++#include <stdlib.h>
++#include <string.h>
++
++#include "plural-exp.h"
++
++#if (defined __GNUC__ && !defined __APPLE_CC__) \
++ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
++
++/* These structs are the constant expression for the germanic plural
++ form determination. It represents the expression "n != 1". */
++static const struct expression plvar =
++{
++ .nargs = 0,
++ .operation = var,
++};
++static const struct expression plone =
++{
++ .nargs = 0,
++ .operation = num,
++ .val =
++ {
++ .num = 1
++ }
++};
++struct expression GERMANIC_PLURAL =
++{
++ .nargs = 2,
++ .operation = not_equal,
++ .val =
++ {
++ .args =
++ {
++ [0] = (struct expression *) &plvar,
++ [1] = (struct expression *) &plone
++ }
++ }
++};
++
++# define INIT_GERMANIC_PLURAL()
++
++#else
++
++/* For compilers without support for ISO C 99 struct/union initializers:
++ Initialization at run-time. */
++
++static struct expression plvar;
++static struct expression plone;
++struct expression GERMANIC_PLURAL;
++
++static void
++init_germanic_plural ()
++{
++ if (plone.val.num == 0)
++ {
++ plvar.nargs = 0;
++ plvar.operation = var;
++
++ plone.nargs = 0;
++ plone.operation = num;
++ plone.val.num = 1;
++
++ GERMANIC_PLURAL.nargs = 2;
++ GERMANIC_PLURAL.operation = not_equal;
++ GERMANIC_PLURAL.val.args[0] = &plvar;
++ GERMANIC_PLURAL.val.args[1] = &plone;
++ }
++}
++
++# define INIT_GERMANIC_PLURAL() init_germanic_plural ()
++
++#endif
++
++void
++internal_function
++EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression **pluralp,
++ unsigned long int *npluralsp)
++{
++ if (nullentry != NULL)
++ {
++ const char *plural;
++ const char *nplurals;
++
++ plural = strstr (nullentry, "plural=");
++ nplurals = strstr (nullentry, "nplurals=");
++ if (plural == NULL || nplurals == NULL)
++ goto no_plural;
++ else
++ {
++ char *endp;
++ unsigned long int n;
++ struct parse_args args;
++
++ /* First get the number. */
++ nplurals += 9;
++ while (*nplurals != '\0' && isspace ((unsigned char) *nplurals))
++ ++nplurals;
++ if (!(*nplurals >= '0' && *nplurals <= '9'))
++ goto no_plural;
++#if defined HAVE_STRTOUL || defined _LIBC
++ n = strtoul (nplurals, &endp, 10);
++#else
++ for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)
++ n = n * 10 + (*endp - '0');
++#endif
++ if (nplurals == endp)
++ goto no_plural;
++ *npluralsp = n;
++
++ /* Due to the restrictions bison imposes onto the interface of the
++ scanner function we have to put the input string and the result
++ passed up from the parser into the same structure which address
++ is passed down to the parser. */
++ plural += 7;
++ args.cp = plural;
++ if (PLURAL_PARSE (&args) != 0)
++ goto no_plural;
++ *pluralp = args.res;
++ }
++ }
++ else
++ {
++ /* By default we are using the Germanic form: singular form only
++ for `one', the plural form otherwise. Yes, this is also what
++ English is using since English is a Germanic language. */
++ no_plural:
++ INIT_GERMANIC_PLURAL ();
++ *pluralp = &GERMANIC_PLURAL;
++ *npluralsp = 2;
++ }
++}
+--- lrzsz-0.12.20.safe/intl/plural-exp.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/plural-exp.h 2004-09-12 14:40:34.584713280 -0400
+@@ -0,0 +1,118 @@
++/* Expression parsing and evaluation for plural form selection.
++ Copyright (C) 2000-2003 Free Software Foundation, Inc.
++ Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _PLURAL_EXP_H
++#define _PLURAL_EXP_H
++
++#ifndef internal_function
++# define internal_function
++#endif
++
++#ifndef attribute_hidden
++# define attribute_hidden
++#endif
++
++
++/* This is the representation of the expressions to determine the
++ plural form. */
++struct expression
++{
++ int nargs; /* Number of arguments. */
++ enum operator
++ {
++ /* Without arguments: */
++ var, /* The variable "n". */
++ num, /* Decimal number. */
++ /* Unary operators: */
++ lnot, /* Logical NOT. */
++ /* Binary operators: */
++ mult, /* Multiplication. */
++ divide, /* Division. */
++ module, /* Modulo operation. */
++ plus, /* Addition. */
++ minus, /* Subtraction. */
++ less_than, /* Comparison. */
++ greater_than, /* Comparison. */
++ less_or_equal, /* Comparison. */
++ greater_or_equal, /* Comparison. */
++ equal, /* Comparison for equality. */
++ not_equal, /* Comparison for inequality. */
++ land, /* Logical AND. */
++ lor, /* Logical OR. */
++ /* Ternary operators: */
++ qmop /* Question mark operator. */
++ } operation;
++ union
++ {
++ unsigned long int num; /* Number value for `num'. */
++ struct expression *args[3]; /* Up to three arguments. */
++ } val;
++};
++
++/* This is the data structure to pass information to the parser and get
++ the result in a thread-safe way. */
++struct parse_args
++{
++ const char *cp;
++ struct expression *res;
++};
++
++
++/* Names for the libintl functions are a problem. This source code is used
++ 1. in the GNU C Library library,
++ 2. in the GNU libintl library,
++ 3. in the GNU gettext tools.
++ The function names in each situation must be different, to allow for
++ binary incompatible changes in 'struct expression'. Furthermore,
++ 1. in the GNU C Library library, the names have a __ prefix,
++ 2.+3. in the GNU libintl library and in the GNU gettext tools, the names
++ must follow ANSI C and not start with __.
++ So we have to distinguish the three cases. */
++#ifdef _LIBC
++# define FREE_EXPRESSION __gettext_free_exp
++# define PLURAL_PARSE __gettextparse
++# define GERMANIC_PLURAL __gettext_germanic_plural
++# define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural
++#elif defined (IN_LIBINTL)
++# define FREE_EXPRESSION libintl_gettext_free_exp
++# define PLURAL_PARSE libintl_gettextparse
++# define GERMANIC_PLURAL libintl_gettext_germanic_plural
++# define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural
++#else
++# define FREE_EXPRESSION free_plural_expression
++# define PLURAL_PARSE parse_plural_expression
++# define GERMANIC_PLURAL germanic_plural
++# define EXTRACT_PLURAL_EXPRESSION extract_plural_expression
++#endif
++
++extern void FREE_EXPRESSION (struct expression *exp)
++ internal_function;
++extern int PLURAL_PARSE (void *arg);
++extern struct expression GERMANIC_PLURAL attribute_hidden;
++extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry,
++ struct expression **pluralp,
++ unsigned long int *npluralsp)
++ internal_function;
++
++#if !defined (_LIBC) && !defined (IN_LIBINTL)
++extern unsigned long int plural_eval (struct expression *pexp,
++ unsigned long int n);
++#endif
++
++#endif /* _PLURAL_EXP_H */
+--- lrzsz-0.12.20.safe/intl/plural.y 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/plural.y 2004-09-12 14:40:34.589712520 -0400
+@@ -0,0 +1,381 @@
++%{
++/* Expression parsing for plural form selection.
++ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
++ Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* The bison generated parser uses alloca. AIX 3 forces us to put this
++ declaration at the beginning of the file. The declaration in bison's
++ skeleton file comes too late. This must come before <config.h>
++ because <config.h> may include arbitrary system headers. */
++#if defined _AIX && !defined __GNUC__
++ #pragma alloca
++#endif
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stddef.h>
++#include <stdlib.h>
++#include "plural-exp.h"
++
++/* The main function generated by the parser is called __gettextparse,
++ but we want it to be called PLURAL_PARSE. */
++#ifndef _LIBC
++# define __gettextparse PLURAL_PARSE
++#endif
++
++#define YYLEX_PARAM &((struct parse_args *) arg)->cp
++#define YYPARSE_PARAM arg
++%}
++%pure_parser
++%expect 7
++
++%union {
++ unsigned long int num;
++ enum operator op;
++ struct expression *exp;
++}
++
++%{
++/* Prototypes for local functions. */
++static int yylex (YYSTYPE *lval, const char **pexp);
++static void yyerror (const char *str);
++
++/* Allocation of expressions. */
++
++static struct expression *
++new_exp (int nargs, enum operator op, struct expression * const *args)
++{
++ int i;
++ struct expression *newp;
++
++ /* If any of the argument could not be malloc'ed, just return NULL. */
++ for (i = nargs - 1; i >= 0; i--)
++ if (args[i] == NULL)
++ goto fail;
++
++ /* Allocate a new expression. */
++ newp = (struct expression *) malloc (sizeof (*newp));
++ if (newp != NULL)
++ {
++ newp->nargs = nargs;
++ newp->operation = op;
++ for (i = nargs - 1; i >= 0; i--)
++ newp->val.args[i] = args[i];
++ return newp;
++ }
++
++ fail:
++ for (i = nargs - 1; i >= 0; i--)
++ FREE_EXPRESSION (args[i]);
++
++ return NULL;
++}
++
++static inline struct expression *
++new_exp_0 (enum operator op)
++{
++ return new_exp (0, op, NULL);
++}
++
++static inline struct expression *
++new_exp_1 (enum operator op, struct expression *right)
++{
++ struct expression *args[1];
++
++ args[0] = right;
++ return new_exp (1, op, args);
++}
++
++static struct expression *
++new_exp_2 (enum operator op, struct expression *left, struct expression *right)
++{
++ struct expression *args[2];
++
++ args[0] = left;
++ args[1] = right;
++ return new_exp (2, op, args);
++}
++
++static inline struct expression *
++new_exp_3 (enum operator op, struct expression *bexp,
++ struct expression *tbranch, struct expression *fbranch)
++{
++ struct expression *args[3];
++
++ args[0] = bexp;
++ args[1] = tbranch;
++ args[2] = fbranch;
++ return new_exp (3, op, args);
++}
++
++%}
++
++/* This declares that all operators have the same associativity and the
++ precedence order as in C. See [Harbison, Steele: C, A Reference Manual].
++ There is no unary minus and no bitwise operators.
++ Operators with the same syntactic behaviour have been merged into a single
++ token, to save space in the array generated by bison. */
++%right '?' /* ? */
++%left '|' /* || */
++%left '&' /* && */
++%left EQUOP2 /* == != */
++%left CMPOP2 /* < > <= >= */
++%left ADDOP2 /* + - */
++%left MULOP2 /* * / % */
++%right '!' /* ! */
++
++%token <op> EQUOP2 CMPOP2 ADDOP2 MULOP2
++%token <num> NUMBER
++%type <exp> exp
++
++%%
++
++start: exp
++ {
++ if ($1 == NULL)
++ YYABORT;
++ ((struct parse_args *) arg)->res = $1;
++ }
++ ;
++
++exp: exp '?' exp ':' exp
++ {
++ $$ = new_exp_3 (qmop, $1, $3, $5);
++ }
++ | exp '|' exp
++ {
++ $$ = new_exp_2 (lor, $1, $3);
++ }
++ | exp '&' exp
++ {
++ $$ = new_exp_2 (land, $1, $3);
++ }
++ | exp EQUOP2 exp
++ {
++ $$ = new_exp_2 ($2, $1, $3);
++ }
++ | exp CMPOP2 exp
++ {
++ $$ = new_exp_2 ($2, $1, $3);
++ }
++ | exp ADDOP2 exp
++ {
++ $$ = new_exp_2 ($2, $1, $3);
++ }
++ | exp MULOP2 exp
++ {
++ $$ = new_exp_2 ($2, $1, $3);
++ }
++ | '!' exp
++ {
++ $$ = new_exp_1 (lnot, $2);
++ }
++ | 'n'
++ {
++ $$ = new_exp_0 (var);
++ }
++ | NUMBER
++ {
++ if (($$ = new_exp_0 (num)) != NULL)
++ $$->val.num = $1;
++ }
++ | '(' exp ')'
++ {
++ $$ = $2;
++ }
++ ;
++
++%%
++
++void
++internal_function
++FREE_EXPRESSION (struct expression *exp)
++{
++ if (exp == NULL)
++ return;
++
++ /* Handle the recursive case. */
++ switch (exp->nargs)
++ {
++ case 3:
++ FREE_EXPRESSION (exp->val.args[2]);
++ /* FALLTHROUGH */
++ case 2:
++ FREE_EXPRESSION (exp->val.args[1]);
++ /* FALLTHROUGH */
++ case 1:
++ FREE_EXPRESSION (exp->val.args[0]);
++ /* FALLTHROUGH */
++ default:
++ break;
++ }
++
++ free (exp);
++}
++
++
++static int
++yylex (YYSTYPE *lval, const char **pexp)
++{
++ const char *exp = *pexp;
++ int result;
++
++ while (1)
++ {
++ if (exp[0] == '\0')
++ {
++ *pexp = exp;
++ return YYEOF;
++ }
++
++ if (exp[0] != ' ' && exp[0] != '\t')
++ break;
++
++ ++exp;
++ }
++
++ result = *exp++;
++ switch (result)
++ {
++ case '0': case '1': case '2': case '3': case '4':
++ case '5': case '6': case '7': case '8': case '9':
++ {
++ unsigned long int n = result - '0';
++ while (exp[0] >= '0' && exp[0] <= '9')
++ {
++ n *= 10;
++ n += exp[0] - '0';
++ ++exp;
++ }
++ lval->num = n;
++ result = NUMBER;
++ }
++ break;
++
++ case '=':
++ if (exp[0] == '=')
++ {
++ ++exp;
++ lval->op = equal;
++ result = EQUOP2;
++ }
++ else
++ result = YYERRCODE;
++ break;
++
++ case '!':
++ if (exp[0] == '=')
++ {
++ ++exp;
++ lval->op = not_equal;
++ result = EQUOP2;
++ }
++ break;
++
++ case '&':
++ case '|':
++ if (exp[0] == result)
++ ++exp;
++ else
++ result = YYERRCODE;
++ break;
++
++ case '<':
++ if (exp[0] == '=')
++ {
++ ++exp;
++ lval->op = less_or_equal;
++ }
++ else
++ lval->op = less_than;
++ result = CMPOP2;
++ break;
++
++ case '>':
++ if (exp[0] == '=')
++ {
++ ++exp;
++ lval->op = greater_or_equal;
++ }
++ else
++ lval->op = greater_than;
++ result = CMPOP2;
++ break;
++
++ case '*':
++ lval->op = mult;
++ result = MULOP2;
++ break;
++
++ case '/':
++ lval->op = divide;
++ result = MULOP2;
++ break;
++
++ case '%':
++ lval->op = module;
++ result = MULOP2;
++ break;
++
++ case '+':
++ lval->op = plus;
++ result = ADDOP2;
++ break;
++
++ case '-':
++ lval->op = minus;
++ result = ADDOP2;
++ break;
++
++ case 'n':
++ case '?':
++ case ':':
++ case '(':
++ case ')':
++ /* Nothing, just return the character. */
++ break;
++
++ case ';':
++ case '\n':
++ case '\0':
++ /* Be safe and let the user call this function again. */
++ --exp;
++ result = YYEOF;
++ break;
++
++ default:
++ result = YYERRCODE;
++#if YYDEBUG != 0
++ --exp;
++#endif
++ break;
++ }
++
++ *pexp = exp;
++
++ return result;
++}
++
++
++static void
++yyerror (const char *str)
++{
++ /* Do nothing. We don't print error messages here. */
++}
+--- lrzsz-0.12.20.safe/intl/po2tbl.sed.in 1998-04-26 09:20:52.000000000 -0400
++++ lrzsz-0.12.20/intl/po2tbl.sed.in 1969-12-31 19:00:00.000000000 -0500
+@@ -1,102 +0,0 @@
+-# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets
+-# Copyright (C) 1995 Free Software Foundation, Inc.
+-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2, or (at your option)
+-# any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-#
+-1 {
+- i\
+-/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\
+-\
+-#if HAVE_CONFIG_H\
+-# include <config.h>\
+-#endif\
+-\
+-#include "libgettext.h"\
+-\
+-const struct _msg_ent _msg_tbl[] = {
+- h
+- s/.*/0/
+- x
+-}
+-#
+-# Write msgid entries in C array form.
+-#
+-/^msgid/ {
+- s/msgid[ ]*\(".*"\)/ {\1/
+- tb
+-# Append the next line
+- :b
+- N
+-# Look whether second part is continuation line.
+- s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
+-# Yes, then branch.
+- ta
+-# Because we assume that the input file correctly formed the line
+-# just read cannot be again be a msgid line. So it's safe to ignore
+-# it.
+- s/\(.*\)\n.*/\1/
+- bc
+-# We found a continuation line. But before printing insert '\'.
+- :a
+- s/\(.*\)\(\n.*\)/\1\\\2/
+- P
+-# We cannot use D here.
+- s/.*\n\(.*\)/\1/
+-# Some buggy seds do not clear the `successful substitution since last ``t'''
+-# flag on `N', so we do a `t' here to clear it.
+- tb
+-# Not reached
+- :c
+- x
+-# The following nice solution is by
+-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
+- td
+-# Increment a decimal number in pattern space.
+-# First hide trailing `9' digits.
+- :d
+- s/9\(_*\)$/_\1/
+- td
+-# Assure at least one digit is available.
+- s/^\(_*\)$/0\1/
+-# Increment the last digit.
+- s/8\(_*\)$/9\1/
+- s/7\(_*\)$/8\1/
+- s/6\(_*\)$/7\1/
+- s/5\(_*\)$/6\1/
+- s/4\(_*\)$/5\1/
+- s/3\(_*\)$/4\1/
+- s/2\(_*\)$/3\1/
+- s/1\(_*\)$/2\1/
+- s/0\(_*\)$/1\1/
+-# Convert the hidden `9' digits to `0's.
+- s/_/0/g
+- x
+- G
+- s/\(.*\)\n\([0-9]*\)/\1, \2},/
+- s/\(.*\)"$/\1/
+- p
+-}
+-#
+-# Last line.
+-#
+-$ {
+- i\
+-};\
+-
+- g
+- s/0*\(.*\)/int _msg_tbl_length = \1;/p
+-}
+-d
+--- lrzsz-0.12.20.safe/intl/printf-args.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/printf-args.c 2004-09-12 14:40:34.595711608 -0400
+@@ -0,0 +1,119 @@
++/* Decomposed printf argument list.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++/* Specification. */
++#include "printf-args.h"
++
++#ifdef STATIC
++STATIC
++#endif
++int
++printf_fetchargs (va_list args, arguments *a)
++{
++ size_t i;
++ argument *ap;
++
++ for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++)
++ switch (ap->type)
++ {
++ case TYPE_SCHAR:
++ ap->a.a_schar = va_arg (args, /*signed char*/ int);
++ break;
++ case TYPE_UCHAR:
++ ap->a.a_uchar = va_arg (args, /*unsigned char*/ int);
++ break;
++ case TYPE_SHORT:
++ ap->a.a_short = va_arg (args, /*short*/ int);
++ break;
++ case TYPE_USHORT:
++ ap->a.a_ushort = va_arg (args, /*unsigned short*/ int);
++ break;
++ case TYPE_INT:
++ ap->a.a_int = va_arg (args, int);
++ break;
++ case TYPE_UINT:
++ ap->a.a_uint = va_arg (args, unsigned int);
++ break;
++ case TYPE_LONGINT:
++ ap->a.a_longint = va_arg (args, long int);
++ break;
++ case TYPE_ULONGINT:
++ ap->a.a_ulongint = va_arg (args, unsigned long int);
++ break;
++#ifdef HAVE_LONG_LONG
++ case TYPE_LONGLONGINT:
++ ap->a.a_longlongint = va_arg (args, long long int);
++ break;
++ case TYPE_ULONGLONGINT:
++ ap->a.a_ulonglongint = va_arg (args, unsigned long long int);
++ break;
++#endif
++ case TYPE_DOUBLE:
++ ap->a.a_double = va_arg (args, double);
++ break;
++#ifdef HAVE_LONG_DOUBLE
++ case TYPE_LONGDOUBLE:
++ ap->a.a_longdouble = va_arg (args, long double);
++ break;
++#endif
++ case TYPE_CHAR:
++ ap->a.a_char = va_arg (args, int);
++ break;
++#ifdef HAVE_WINT_T
++ case TYPE_WIDE_CHAR:
++ ap->a.a_wide_char = va_arg (args, wint_t);
++ break;
++#endif
++ case TYPE_STRING:
++ ap->a.a_string = va_arg (args, const char *);
++ break;
++#ifdef HAVE_WCHAR_T
++ case TYPE_WIDE_STRING:
++ ap->a.a_wide_string = va_arg (args, const wchar_t *);
++ break;
++#endif
++ case TYPE_POINTER:
++ ap->a.a_pointer = va_arg (args, void *);
++ break;
++ case TYPE_COUNT_SCHAR_POINTER:
++ ap->a.a_count_schar_pointer = va_arg (args, signed char *);
++ break;
++ case TYPE_COUNT_SHORT_POINTER:
++ ap->a.a_count_short_pointer = va_arg (args, short *);
++ break;
++ case TYPE_COUNT_INT_POINTER:
++ ap->a.a_count_int_pointer = va_arg (args, int *);
++ break;
++ case TYPE_COUNT_LONGINT_POINTER:
++ ap->a.a_count_longint_pointer = va_arg (args, long int *);
++ break;
++#ifdef HAVE_LONG_LONG
++ case TYPE_COUNT_LONGLONGINT_POINTER:
++ ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
++ break;
++#endif
++ default:
++ /* Unknown type. */
++ return -1;
++ }
++ return 0;
++}
+--- lrzsz-0.12.20.safe/intl/printf-args.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/printf-args.h 2004-09-12 14:40:34.601710696 -0400
+@@ -0,0 +1,137 @@
++/* Decomposed printf argument list.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _PRINTF_ARGS_H
++#define _PRINTF_ARGS_H
++
++/* Get size_t. */
++#include <stddef.h>
++
++/* Get wchar_t. */
++#ifdef HAVE_WCHAR_T
++# include <stddef.h>
++#endif
++
++/* Get wint_t. */
++#ifdef HAVE_WINT_T
++# include <wchar.h>
++#endif
++
++/* Get va_list. */
++#include <stdarg.h>
++
++
++/* Argument types */
++typedef enum
++{
++ TYPE_NONE,
++ TYPE_SCHAR,
++ TYPE_UCHAR,
++ TYPE_SHORT,
++ TYPE_USHORT,
++ TYPE_INT,
++ TYPE_UINT,
++ TYPE_LONGINT,
++ TYPE_ULONGINT,
++#ifdef HAVE_LONG_LONG
++ TYPE_LONGLONGINT,
++ TYPE_ULONGLONGINT,
++#endif
++ TYPE_DOUBLE,
++#ifdef HAVE_LONG_DOUBLE
++ TYPE_LONGDOUBLE,
++#endif
++ TYPE_CHAR,
++#ifdef HAVE_WINT_T
++ TYPE_WIDE_CHAR,
++#endif
++ TYPE_STRING,
++#ifdef HAVE_WCHAR_T
++ TYPE_WIDE_STRING,
++#endif
++ TYPE_POINTER,
++ TYPE_COUNT_SCHAR_POINTER,
++ TYPE_COUNT_SHORT_POINTER,
++ TYPE_COUNT_INT_POINTER,
++ TYPE_COUNT_LONGINT_POINTER
++#ifdef HAVE_LONG_LONG
++, TYPE_COUNT_LONGLONGINT_POINTER
++#endif
++} arg_type;
++
++/* Polymorphic argument */
++typedef struct
++{
++ arg_type type;
++ union
++ {
++ signed char a_schar;
++ unsigned char a_uchar;
++ short a_short;
++ unsigned short a_ushort;
++ int a_int;
++ unsigned int a_uint;
++ long int a_longint;
++ unsigned long int a_ulongint;
++#ifdef HAVE_LONG_LONG
++ long long int a_longlongint;
++ unsigned long long int a_ulonglongint;
++#endif
++ float a_float;
++ double a_double;
++#ifdef HAVE_LONG_DOUBLE
++ long double a_longdouble;
++#endif
++ int a_char;
++#ifdef HAVE_WINT_T
++ wint_t a_wide_char;
++#endif
++ const char* a_string;
++#ifdef HAVE_WCHAR_T
++ const wchar_t* a_wide_string;
++#endif
++ void* a_pointer;
++ signed char * a_count_schar_pointer;
++ short * a_count_short_pointer;
++ int * a_count_int_pointer;
++ long int * a_count_longint_pointer;
++#ifdef HAVE_LONG_LONG
++ long long int * a_count_longlongint_pointer;
++#endif
++ }
++ a;
++}
++argument;
++
++typedef struct
++{
++ size_t count;
++ argument *arg;
++}
++arguments;
++
++
++/* Fetch the arguments, putting them into a. */
++#ifdef STATIC
++STATIC
++#else
++extern
++#endif
++int printf_fetchargs (va_list args, arguments *a);
++
++#endif /* _PRINTF_ARGS_H */
+--- lrzsz-0.12.20.safe/intl/printf.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/printf.c 2004-09-12 14:40:34.607709784 -0400
+@@ -0,0 +1,371 @@
++/* Formatted output to strings, using POSIX/XSI format strings with positions.
++ Copyright (C) 2003 Free Software Foundation, Inc.
++ Written by Bruno Haible <bruno@clisp.org>, 2003.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#ifdef __GNUC__
++# define alloca __builtin_alloca
++# define HAVE_ALLOCA 1
++#else
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
++# else
++# if defined HAVE_ALLOCA_H || defined _LIBC
++# include <alloca.h>
++# else
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca
++char *alloca ();
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#include <stdio.h>
++
++#if !HAVE_POSIX_PRINTF
++
++#include <stdlib.h>
++#include <string.h>
++
++/* When building a DLL, we must export some functions. Note that because
++ the functions are only defined for binary backward compatibility, we
++ don't need to use __declspec(dllimport) in any case. */
++#if defined _MSC_VER && BUILDING_DLL
++# define DLL_EXPORTED __declspec(dllexport)
++#else
++# define DLL_EXPORTED
++#endif
++
++#define STATIC static
++
++/* Define auxiliary functions declared in "printf-args.h". */
++#include "printf-args.c"
++
++/* Define auxiliary functions declared in "printf-parse.h". */
++#include "printf-parse.c"
++
++/* Define functions declared in "vasnprintf.h". */
++#define vasnprintf libintl_vasnprintf
++#include "vasnprintf.c"
++#if 0 /* not needed */
++#define asnprintf libintl_asnprintf
++#include "asnprintf.c"
++#endif
++
++DLL_EXPORTED
++int
++libintl_vfprintf (FILE *stream, const char *format, va_list args)
++{
++ if (strchr (format, '$') == NULL)
++ return vfprintf (stream, format, args);
++ else
++ {
++ size_t length;
++ char *result = libintl_vasnprintf (NULL, &length, format, args);
++ int retval = -1;
++ if (result != NULL)
++ {
++ if (fwrite (result, 1, length, stream) == length)
++ retval = length;
++ free (result);
++ }
++ return retval;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_fprintf (FILE *stream, const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vfprintf (stream, format, args);
++ va_end (args);
++ return retval;
++}
++
++DLL_EXPORTED
++int
++libintl_vprintf (const char *format, va_list args)
++{
++ return libintl_vfprintf (stdout, format, args);
++}
++
++DLL_EXPORTED
++int
++libintl_printf (const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vprintf (format, args);
++ va_end (args);
++ return retval;
++}
++
++DLL_EXPORTED
++int
++libintl_vsprintf (char *resultbuf, const char *format, va_list args)
++{
++ if (strchr (format, '$') == NULL)
++ return vsprintf (resultbuf, format, args);
++ else
++ {
++ size_t length = (size_t) ~0 / (4 * sizeof (char));
++ char *result = libintl_vasnprintf (resultbuf, &length, format, args);
++ if (result != resultbuf)
++ {
++ free (result);
++ return -1;
++ }
++ else
++ return length;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_sprintf (char *resultbuf, const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vsprintf (resultbuf, format, args);
++ va_end (args);
++ return retval;
++}
++
++#if HAVE_SNPRINTF
++
++# if HAVE_DECL__SNPRINTF
++ /* Windows. */
++# define system_vsnprintf _vsnprintf
++# else
++ /* Unix. */
++# define system_vsnprintf vsnprintf
++# endif
++
++DLL_EXPORTED
++int
++libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args)
++{
++ if (strchr (format, '$') == NULL)
++ return system_vsnprintf (resultbuf, length, format, args);
++ else
++ {
++ size_t maxlength = length;
++ char *result = libintl_vasnprintf (resultbuf, &length, format, args);
++ if (result != resultbuf)
++ {
++ if (maxlength > 0)
++ {
++ if (length < maxlength)
++ abort ();
++ memcpy (resultbuf, result, maxlength - 1);
++ resultbuf[maxlength - 1] = '\0';
++ }
++ free (result);
++ return -1;
++ }
++ else
++ return length;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_snprintf (char *resultbuf, size_t length, const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vsnprintf (resultbuf, length, format, args);
++ va_end (args);
++ return retval;
++}
++
++#endif
++
++#if HAVE_ASPRINTF
++
++DLL_EXPORTED
++int
++libintl_vasprintf (char **resultp, const char *format, va_list args)
++{
++ size_t length;
++ char *result = libintl_vasnprintf (NULL, &length, format, args);
++ if (result == NULL)
++ return -1;
++ *resultp = result;
++ return length;
++}
++
++DLL_EXPORTED
++int
++libintl_asprintf (char **resultp, const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vasprintf (resultp, format, args);
++ va_end (args);
++ return retval;
++}
++
++#endif
++
++#if HAVE_FWPRINTF
++
++#include <wchar.h>
++
++#define WIDE_CHAR_VERSION 1
++
++/* Define auxiliary functions declared in "wprintf-parse.h". */
++#include "printf-parse.c"
++
++/* Define functions declared in "vasnprintf.h". */
++#define vasnwprintf libintl_vasnwprintf
++#include "vasnprintf.c"
++#if 0 /* not needed */
++#define asnwprintf libintl_asnwprintf
++#include "asnprintf.c"
++#endif
++
++# if HAVE_DECL__SNWPRINTF
++ /* Windows. */
++# define system_vswprintf _vsnwprintf
++# else
++ /* Unix. */
++# define system_vswprintf vswprintf
++# endif
++
++DLL_EXPORTED
++int
++libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args)
++{
++ if (wcschr (format, '$') == NULL)
++ return vfwprintf (stream, format, args);
++ else
++ {
++ size_t length;
++ wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args);
++ int retval = -1;
++ if (result != NULL)
++ {
++ size_t i;
++ for (i = 0; i < length; i++)
++ if (fputwc (result[i], stream) == WEOF)
++ break;
++ if (i == length)
++ retval = length;
++ free (result);
++ }
++ return retval;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_fwprintf (FILE *stream, const wchar_t *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vfwprintf (stream, format, args);
++ va_end (args);
++ return retval;
++}
++
++DLL_EXPORTED
++int
++libintl_vwprintf (const wchar_t *format, va_list args)
++{
++ return libintl_vfwprintf (stdout, format, args);
++}
++
++DLL_EXPORTED
++int
++libintl_wprintf (const wchar_t *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vwprintf (format, args);
++ va_end (args);
++ return retval;
++}
++
++DLL_EXPORTED
++int
++libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args)
++{
++ if (wcschr (format, '$') == NULL)
++ return system_vswprintf (resultbuf, length, format, args);
++ else
++ {
++ size_t maxlength = length;
++ wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args);
++ if (result != resultbuf)
++ {
++ if (maxlength > 0)
++ {
++ if (length < maxlength)
++ abort ();
++ memcpy (resultbuf, result, (maxlength - 1) * sizeof (wchar_t));
++ resultbuf[maxlength - 1] = 0;
++ }
++ free (result);
++ return -1;
++ }
++ else
++ return length;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vswprintf (resultbuf, length, format, args);
++ va_end (args);
++ return retval;
++}
++
++#endif
++
++#endif
+--- lrzsz-0.12.20.safe/intl/printf-parse.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/printf-parse.c 2004-09-12 14:40:34.622707504 -0400
+@@ -0,0 +1,537 @@
++/* Formatted output to strings.
++ Copyright (C) 1999-2000, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++/* Specification. */
++#if WIDE_CHAR_VERSION
++# include "wprintf-parse.h"
++#else
++# include "printf-parse.h"
++#endif
++
++/* Get size_t, NULL. */
++#include <stddef.h>
++
++/* Get intmax_t. */
++#if HAVE_STDINT_H_WITH_UINTMAX
++# include <stdint.h>
++#endif
++#if HAVE_INTTYPES_H_WITH_UINTMAX
++# include <inttypes.h>
++#endif
++
++/* malloc(), realloc(), free(). */
++#include <stdlib.h>
++
++/* Checked size_t computations. */
++#include "xsize.h"
++
++#if WIDE_CHAR_VERSION
++# define PRINTF_PARSE wprintf_parse
++# define CHAR_T wchar_t
++# define DIRECTIVE wchar_t_directive
++# define DIRECTIVES wchar_t_directives
++#else
++# define PRINTF_PARSE printf_parse
++# define CHAR_T char
++# define DIRECTIVE char_directive
++# define DIRECTIVES char_directives
++#endif
++
++#ifdef STATIC
++STATIC
++#endif
++int
++PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
++{
++ const CHAR_T *cp = format; /* pointer into format */
++ size_t arg_posn = 0; /* number of regular arguments consumed */
++ size_t d_allocated; /* allocated elements of d->dir */
++ size_t a_allocated; /* allocated elements of a->arg */
++ size_t max_width_length = 0;
++ size_t max_precision_length = 0;
++
++ d->count = 0;
++ d_allocated = 1;
++ d->dir = malloc (d_allocated * sizeof (DIRECTIVE));
++ if (d->dir == NULL)
++ /* Out of memory. */
++ return -1;
++
++ a->count = 0;
++ a_allocated = 0;
++ a->arg = NULL;
++
++#define REGISTER_ARG(_index_,_type_) \
++ { \
++ size_t n = (_index_); \
++ if (n >= a_allocated) \
++ { \
++ size_t memory_size; \
++ argument *memory; \
++ \
++ a_allocated = xtimes (a_allocated, 2); \
++ if (a_allocated <= n) \
++ a_allocated = xsum (n, 1); \
++ memory_size = xtimes (a_allocated, sizeof (argument)); \
++ if (size_overflow_p (memory_size)) \
++ /* Overflow, would lead to out of memory. */ \
++ goto error; \
++ memory = (a->arg \
++ ? realloc (a->arg, memory_size) \
++ : malloc (memory_size)); \
++ if (memory == NULL) \
++ /* Out of memory. */ \
++ goto error; \
++ a->arg = memory; \
++ } \
++ while (a->count <= n) \
++ a->arg[a->count++].type = TYPE_NONE; \
++ if (a->arg[n].type == TYPE_NONE) \
++ a->arg[n].type = (_type_); \
++ else if (a->arg[n].type != (_type_)) \
++ /* Ambiguous type for positional argument. */ \
++ goto error; \
++ }
++
++ while (*cp != '\0')
++ {
++ CHAR_T c = *cp++;
++ if (c == '%')
++ {
++ size_t arg_index = ARG_NONE;
++ DIRECTIVE *dp = &d->dir[d->count];/* pointer to next directive */
++
++ /* Initialize the next directive. */
++ dp->dir_start = cp - 1;
++ dp->flags = 0;
++ dp->width_start = NULL;
++ dp->width_end = NULL;
++ dp->width_arg_index = ARG_NONE;
++ dp->precision_start = NULL;
++ dp->precision_end = NULL;
++ dp->precision_arg_index = ARG_NONE;
++ dp->arg_index = ARG_NONE;
++
++ /* Test for positional argument. */
++ if (*cp >= '0' && *cp <= '9')
++ {
++ const CHAR_T *np;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ ;
++ if (*np == '$')
++ {
++ size_t n = 0;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ n = xsum (xtimes (n, 10), *np - '0');
++ if (n == 0)
++ /* Positional argument 0. */
++ goto error;
++ if (size_overflow_p (n))
++ /* n too large, would lead to out of memory later. */
++ goto error;
++ arg_index = n - 1;
++ cp = np + 1;
++ }
++ }
++
++ /* Read the flags. */
++ for (;;)
++ {
++ if (*cp == '\'')
++ {
++ dp->flags |= FLAG_GROUP;
++ cp++;
++ }
++ else if (*cp == '-')
++ {
++ dp->flags |= FLAG_LEFT;
++ cp++;
++ }
++ else if (*cp == '+')
++ {
++ dp->flags |= FLAG_SHOWSIGN;
++ cp++;
++ }
++ else if (*cp == ' ')
++ {
++ dp->flags |= FLAG_SPACE;
++ cp++;
++ }
++ else if (*cp == '#')
++ {
++ dp->flags |= FLAG_ALT;
++ cp++;
++ }
++ else if (*cp == '0')
++ {
++ dp->flags |= FLAG_ZERO;
++ cp++;
++ }
++ else
++ break;
++ }
++
++ /* Parse the field width. */
++ if (*cp == '*')
++ {
++ dp->width_start = cp;
++ cp++;
++ dp->width_end = cp;
++ if (max_width_length < 1)
++ max_width_length = 1;
++
++ /* Test for positional argument. */
++ if (*cp >= '0' && *cp <= '9')
++ {
++ const CHAR_T *np;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ ;
++ if (*np == '$')
++ {
++ size_t n = 0;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ n = xsum (xtimes (n, 10), *np - '0');
++ if (n == 0)
++ /* Positional argument 0. */
++ goto error;
++ if (size_overflow_p (n))
++ /* n too large, would lead to out of memory later. */
++ goto error;
++ dp->width_arg_index = n - 1;
++ cp = np + 1;
++ }
++ }
++ if (dp->width_arg_index == ARG_NONE)
++ {
++ dp->width_arg_index = arg_posn++;
++ if (dp->width_arg_index == ARG_NONE)
++ /* arg_posn wrapped around. */
++ goto error;
++ }
++ REGISTER_ARG (dp->width_arg_index, TYPE_INT);
++ }
++ else if (*cp >= '0' && *cp <= '9')
++ {
++ size_t width_length;
++
++ dp->width_start = cp;
++ for (; *cp >= '0' && *cp <= '9'; cp++)
++ ;
++ dp->width_end = cp;
++ width_length = dp->width_end - dp->width_start;
++ if (max_width_length < width_length)
++ max_width_length = width_length;
++ }
++
++ /* Parse the precision. */
++ if (*cp == '.')
++ {
++ cp++;
++ if (*cp == '*')
++ {
++ dp->precision_start = cp - 1;
++ cp++;
++ dp->precision_end = cp;
++ if (max_precision_length < 2)
++ max_precision_length = 2;
++
++ /* Test for positional argument. */
++ if (*cp >= '0' && *cp <= '9')
++ {
++ const CHAR_T *np;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ ;
++ if (*np == '$')
++ {
++ size_t n = 0;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ n = xsum (xtimes (n, 10), *np - '0');
++ if (n == 0)
++ /* Positional argument 0. */
++ goto error;
++ if (size_overflow_p (n))
++ /* n too large, would lead to out of memory
++ later. */
++ goto error;
++ dp->precision_arg_index = n - 1;
++ cp = np + 1;
++ }
++ }
++ if (dp->precision_arg_index == ARG_NONE)
++ {
++ dp->precision_arg_index = arg_posn++;
++ if (dp->precision_arg_index == ARG_NONE)
++ /* arg_posn wrapped around. */
++ goto error;
++ }
++ REGISTER_ARG (dp->precision_arg_index, TYPE_INT);
++ }
++ else
++ {
++ size_t precision_length;
++
++ dp->precision_start = cp - 1;
++ for (; *cp >= '0' && *cp <= '9'; cp++)
++ ;
++ dp->precision_end = cp;
++ precision_length = dp->precision_end - dp->precision_start;
++ if (max_precision_length < precision_length)
++ max_precision_length = precision_length;
++ }
++ }
++
++ {
++ arg_type type;
++
++ /* Parse argument type/size specifiers. */
++ {
++ int flags = 0;
++
++ for (;;)
++ {
++ if (*cp == 'h')
++ {
++ flags |= (1 << (flags & 1));
++ cp++;
++ }
++ else if (*cp == 'L')
++ {
++ flags |= 4;
++ cp++;
++ }
++ else if (*cp == 'l')
++ {
++ flags += 8;
++ cp++;
++ }
++#ifdef HAVE_INTMAX_T
++ else if (*cp == 'j')
++ {
++ if (sizeof (intmax_t) > sizeof (long))
++ {
++ /* intmax_t = long long */
++ flags += 16;
++ }
++ else if (sizeof (intmax_t) > sizeof (int))
++ {
++ /* intmax_t = long */
++ flags += 8;
++ }
++ cp++;
++ }
++#endif
++ else if (*cp == 'z' || *cp == 'Z')
++ {
++ /* 'z' is standardized in ISO C 99, but glibc uses 'Z'
++ because the warning facility in gcc-2.95.2 understands
++ only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */
++ if (sizeof (size_t) > sizeof (long))
++ {
++ /* size_t = long long */
++ flags += 16;
++ }
++ else if (sizeof (size_t) > sizeof (int))
++ {
++ /* size_t = long */
++ flags += 8;
++ }
++ cp++;
++ }
++ else if (*cp == 't')
++ {
++ if (sizeof (ptrdiff_t) > sizeof (long))
++ {
++ /* ptrdiff_t = long long */
++ flags += 16;
++ }
++ else if (sizeof (ptrdiff_t) > sizeof (int))
++ {
++ /* ptrdiff_t = long */
++ flags += 8;
++ }
++ cp++;
++ }
++ else
++ break;
++ }
++
++ /* Read the conversion character. */
++ c = *cp++;
++ switch (c)
++ {
++ case 'd': case 'i':
++#ifdef HAVE_LONG_LONG
++ if (flags >= 16 || (flags & 4))
++ type = TYPE_LONGLONGINT;
++ else
++#endif
++ if (flags >= 8)
++ type = TYPE_LONGINT;
++ else if (flags & 2)
++ type = TYPE_SCHAR;
++ else if (flags & 1)
++ type = TYPE_SHORT;
++ else
++ type = TYPE_INT;
++ break;
++ case 'o': case 'u': case 'x': case 'X':
++#ifdef HAVE_LONG_LONG
++ if (flags >= 16 || (flags & 4))
++ type = TYPE_ULONGLONGINT;
++ else
++#endif
++ if (flags >= 8)
++ type = TYPE_ULONGINT;
++ else if (flags & 2)
++ type = TYPE_UCHAR;
++ else if (flags & 1)
++ type = TYPE_USHORT;
++ else
++ type = TYPE_UINT;
++ break;
++ case 'f': case 'F': case 'e': case 'E': case 'g': case 'G':
++ case 'a': case 'A':
++#ifdef HAVE_LONG_DOUBLE
++ if (flags >= 16 || (flags & 4))
++ type = TYPE_LONGDOUBLE;
++ else
++#endif
++ type = TYPE_DOUBLE;
++ break;
++ case 'c':
++ if (flags >= 8)
++#ifdef HAVE_WINT_T
++ type = TYPE_WIDE_CHAR;
++#else
++ goto error;
++#endif
++ else
++ type = TYPE_CHAR;
++ break;
++#ifdef HAVE_WINT_T
++ case 'C':
++ type = TYPE_WIDE_CHAR;
++ c = 'c';
++ break;
++#endif
++ case 's':
++ if (flags >= 8)
++#ifdef HAVE_WCHAR_T
++ type = TYPE_WIDE_STRING;
++#else
++ goto error;
++#endif
++ else
++ type = TYPE_STRING;
++ break;
++#ifdef HAVE_WCHAR_T
++ case 'S':
++ type = TYPE_WIDE_STRING;
++ c = 's';
++ break;
++#endif
++ case 'p':
++ type = TYPE_POINTER;
++ break;
++ case 'n':
++#ifdef HAVE_LONG_LONG
++ if (flags >= 16 || (flags & 4))
++ type = TYPE_COUNT_LONGLONGINT_POINTER;
++ else
++#endif
++ if (flags >= 8)
++ type = TYPE_COUNT_LONGINT_POINTER;
++ else if (flags & 2)
++ type = TYPE_COUNT_SCHAR_POINTER;
++ else if (flags & 1)
++ type = TYPE_COUNT_SHORT_POINTER;
++ else
++ type = TYPE_COUNT_INT_POINTER;
++ break;
++ case '%':
++ type = TYPE_NONE;
++ break;
++ default:
++ /* Unknown conversion character. */
++ goto error;
++ }
++ }
++
++ if (type != TYPE_NONE)
++ {
++ dp->arg_index = arg_index;
++ if (dp->arg_index == ARG_NONE)
++ {
++ dp->arg_index = arg_posn++;
++ if (dp->arg_index == ARG_NONE)
++ /* arg_posn wrapped around. */
++ goto error;
++ }
++ REGISTER_ARG (dp->arg_index, type);
++ }
++ dp->conversion = c;
++ dp->dir_end = cp;
++ }
++
++ d->count++;
++ if (d->count >= d_allocated)
++ {
++ size_t memory_size;
++ DIRECTIVE *memory;
++
++ d_allocated = xtimes (d_allocated, 2);
++ memory_size = xtimes (d_allocated, sizeof (DIRECTIVE));
++ if (size_overflow_p (memory_size))
++ /* Overflow, would lead to out of memory. */
++ goto error;
++ memory = realloc (d->dir, memory_size);
++ if (memory == NULL)
++ /* Out of memory. */
++ goto error;
++ d->dir = memory;
++ }
++ }
++ }
++ d->dir[d->count].dir_start = cp;
++
++ d->max_width_length = max_width_length;
++ d->max_precision_length = max_precision_length;
++ return 0;
++
++error:
++ if (a->arg)
++ free (a->arg);
++ if (d->dir)
++ free (d->dir);
++ return -1;
++}
++
++#undef DIRECTIVES
++#undef DIRECTIVE
++#undef CHAR_T
++#undef PRINTF_PARSE
+--- lrzsz-0.12.20.safe/intl/printf-parse.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/printf-parse.h 2004-09-12 14:40:34.628706592 -0400
+@@ -0,0 +1,75 @@
++/* Parse printf format string.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _PRINTF_PARSE_H
++#define _PRINTF_PARSE_H
++
++#include "printf-args.h"
++
++
++/* Flags */
++#define FLAG_GROUP 1 /* ' flag */
++#define FLAG_LEFT 2 /* - flag */
++#define FLAG_SHOWSIGN 4 /* + flag */
++#define FLAG_SPACE 8 /* space flag */
++#define FLAG_ALT 16 /* # flag */
++#define FLAG_ZERO 32
++
++/* arg_index value indicating that no argument is consumed. */
++#define ARG_NONE (~(size_t)0)
++
++/* A parsed directive. */
++typedef struct
++{
++ const char* dir_start;
++ const char* dir_end;
++ int flags;
++ const char* width_start;
++ const char* width_end;
++ size_t width_arg_index;
++ const char* precision_start;
++ const char* precision_end;
++ size_t precision_arg_index;
++ char conversion; /* d i o u x X f e E g G c s p n U % but not C S */
++ size_t arg_index;
++}
++char_directive;
++
++/* A parsed format string. */
++typedef struct
++{
++ size_t count;
++ char_directive *dir;
++ size_t max_width_length;
++ size_t max_precision_length;
++}
++char_directives;
++
++
++/* Parses the format string. Fills in the number N of directives, and fills
++ in directives[0], ..., directives[N-1], and sets directives[N].dir_start
++ to the end of the format string. Also fills in the arg_type fields of the
++ arguments and the needed count of arguments. */
++#ifdef STATIC
++STATIC
++#else
++extern
++#endif
++int printf_parse (const char *format, char_directives *d, arguments *a);
++
++#endif /* _PRINTF_PARSE_H */
+--- lrzsz-0.12.20.safe/intl/ref-add.sin 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/ref-add.sin 2004-09-12 14:40:34.633705832 -0400
+@@ -0,0 +1,31 @@
++# Add this package to a list of references stored in a text file.
++#
++# Copyright (C) 2000 Free Software Foundation, Inc.
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU Library General Public License as published
++# by the Free Software Foundation; either version 2, 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
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public
++# License along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++# USA.
++#
++# Written by Bruno Haible <haible@clisp.cons.org>.
++#
++/^# Packages using this file: / {
++ s/# Packages using this file://
++ ta
++ :a
++ s/ @PACKAGE@ / @PACKAGE@ /
++ tb
++ s/ $/ @PACKAGE@ /
++ :b
++ s/^/# Packages using this file:/
++}
+--- lrzsz-0.12.20.safe/intl/ref-del.sin 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/ref-del.sin 2004-09-12 14:40:34.638705072 -0400
+@@ -0,0 +1,26 @@
++# Remove this package from a list of references stored in a text file.
++#
++# Copyright (C) 2000 Free Software Foundation, Inc.
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU Library General Public License as published
++# by the Free Software Foundation; either version 2, 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
++# Library General Public License for more details.
++#
++# You should have received a copy of the GNU Library General Public
++# License along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++# USA.
++#
++# Written by Bruno Haible <haible@clisp.cons.org>.
++#
++/^# Packages using this file: / {
++ s/# Packages using this file://
++ s/ @PACKAGE@ / /
++ s/^/# Packages using this file:/
++}
+--- lrzsz-0.12.20.safe/intl/relocatable.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/relocatable.c 2004-09-12 14:40:34.644704160 -0400
+@@ -0,0 +1,449 @@
++/* Provide relocatable packages.
++ Copyright (C) 2003 Free Software Foundation, Inc.
++ Written by Bruno Haible <bruno@clisp.org>, 2003.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++
++/* Tell glibc's <stdio.h> to provide a prototype for getline().
++ This must come before <config.h> because <config.h> may include
++ <features.h>, and once <features.h> has been included, it's too late. */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
++
++#ifdef HAVE_CONFIG_H
++# include "config.h"
++#endif
++
++/* Specification. */
++#include "relocatable.h"
++
++#if ENABLE_RELOCATABLE
++
++#include <stddef.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++
++#ifdef NO_XMALLOC
++# define xmalloc malloc
++#else
++# include "xalloc.h"
++#endif
++
++#if defined _WIN32 || defined __WIN32__
++# define WIN32_LEAN_AND_MEAN
++# include <windows.h>
++#endif
++
++#if DEPENDS_ON_LIBCHARSET
++# include <libcharset.h>
++#endif
++#if DEPENDS_ON_LIBICONV && HAVE_ICONV
++# include <iconv.h>
++#endif
++#if DEPENDS_ON_LIBINTL && ENABLE_NLS
++# include <libintl.h>
++#endif
++
++/* Faked cheap 'bool'. */
++#undef bool
++#undef false
++#undef true
++#define bool int
++#define false 0
++#define true 1
++
++/* Pathname support.
++ ISSLASH(C) tests whether C is a directory separator character.
++ IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.
++ */
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++# define HAS_DEVICE(P) \
++ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
++ && (P)[1] == ':')
++# define IS_PATH_WITH_DIR(P) \
++ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
++# define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
++#else
++ /* Unix */
++# define ISSLASH(C) ((C) == '/')
++# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
++# define FILESYSTEM_PREFIX_LEN(P) 0
++#endif
++
++/* Original installation prefix. */
++static char *orig_prefix;
++static size_t orig_prefix_len;
++/* Current installation prefix. */
++static char *curr_prefix;
++static size_t curr_prefix_len;
++/* These prefixes do not end in a slash. Anything that will be concatenated
++ to them must start with a slash. */
++
++/* Sets the original and the current installation prefix of this module.
++ Relocation simply replaces a pathname starting with the original prefix
++ by the corresponding pathname with the current prefix instead. Both
++ prefixes should be directory names without trailing slash (i.e. use ""
++ instead of "/"). */
++static void
++set_this_relocation_prefix (const char *orig_prefix_arg,
++ const char *curr_prefix_arg)
++{
++ if (orig_prefix_arg != NULL && curr_prefix_arg != NULL
++ /* Optimization: if orig_prefix and curr_prefix are equal, the
++ relocation is a nop. */
++ && strcmp (orig_prefix_arg, curr_prefix_arg) != 0)
++ {
++ /* Duplicate the argument strings. */
++ char *memory;
++
++ orig_prefix_len = strlen (orig_prefix_arg);
++ curr_prefix_len = strlen (curr_prefix_arg);
++ memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1);
++#ifdef NO_XMALLOC
++ if (memory != NULL)
++#endif
++ {
++ memcpy (memory, orig_prefix_arg, orig_prefix_len + 1);
++ orig_prefix = memory;
++ memory += orig_prefix_len + 1;
++ memcpy (memory, curr_prefix_arg, curr_prefix_len + 1);
++ curr_prefix = memory;
++ return;
++ }
++ }
++ orig_prefix = NULL;
++ curr_prefix = NULL;
++ /* Don't worry about wasted memory here - this function is usually only
++ called once. */
++}
++
++/* Sets the original and the current installation prefix of the package.
++ Relocation simply replaces a pathname starting with the original prefix
++ by the corresponding pathname with the current prefix instead. Both
++ prefixes should be directory names without trailing slash (i.e. use ""
++ instead of "/"). */
++void
++set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg)
++{
++ set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
++
++ /* Now notify all dependent libraries. */
++#if DEPENDS_ON_LIBCHARSET
++ libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
++#endif
++#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109
++ libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
++#endif
++#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix
++ libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
++#endif
++}
++
++#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
++
++/* Convenience function:
++ Computes the current installation prefix, based on the original
++ installation prefix, the original installation directory of a particular
++ file, and the current pathname of this file. Returns NULL upon failure. */
++#ifdef IN_LIBRARY
++#define compute_curr_prefix local_compute_curr_prefix
++static
++#endif
++const char *
++compute_curr_prefix (const char *orig_installprefix,
++ const char *orig_installdir,
++ const char *curr_pathname)
++{
++ const char *curr_installdir;
++ const char *rel_installdir;
++
++ if (curr_pathname == NULL)
++ return NULL;
++
++ /* Determine the relative installation directory, relative to the prefix.
++ This is simply the difference between orig_installprefix and
++ orig_installdir. */
++ if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix))
++ != 0)
++ /* Shouldn't happen - nothing should be installed outside $(prefix). */
++ return NULL;
++ rel_installdir = orig_installdir + strlen (orig_installprefix);
++
++ /* Determine the current installation directory. */
++ {
++ const char *p_base = curr_pathname + FILESYSTEM_PREFIX_LEN (curr_pathname);
++ const char *p = curr_pathname + strlen (curr_pathname);
++ char *q;
++
++ while (p > p_base)
++ {
++ p--;
++ if (ISSLASH (*p))
++ break;
++ }
++
++ q = (char *) xmalloc (p - curr_pathname + 1);
++#ifdef NO_XMALLOC
++ if (q == NULL)
++ return NULL;
++#endif
++ memcpy (q, curr_pathname, p - curr_pathname);
++ q[p - curr_pathname] = '\0';
++ curr_installdir = q;
++ }
++
++ /* Compute the current installation prefix by removing the trailing
++ rel_installdir from it. */
++ {
++ const char *rp = rel_installdir + strlen (rel_installdir);
++ const char *cp = curr_installdir + strlen (curr_installdir);
++ const char *cp_base =
++ curr_installdir + FILESYSTEM_PREFIX_LEN (curr_installdir);
++
++ while (rp > rel_installdir && cp > cp_base)
++ {
++ bool same = false;
++ const char *rpi = rp;
++ const char *cpi = cp;
++
++ while (rpi > rel_installdir && cpi > cp_base)
++ {
++ rpi--;
++ cpi--;
++ if (ISSLASH (*rpi) || ISSLASH (*cpi))
++ {
++ if (ISSLASH (*rpi) && ISSLASH (*cpi))
++ same = true;
++ break;
++ }
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS - case insignificant filesystem */
++ if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi)
++ != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi))
++ break;
++#else
++ if (*rpi != *cpi)
++ break;
++#endif
++ }
++ if (!same)
++ break;
++ /* The last pathname component was the same. opi and cpi now point
++ to the slash before it. */
++ rp = rpi;
++ cp = cpi;
++ }
++
++ if (rp > rel_installdir)
++ /* Unexpected: The curr_installdir does not end with rel_installdir. */
++ return NULL;
++
++ {
++ size_t curr_prefix_len = cp - curr_installdir;
++ char *curr_prefix;
++
++ curr_prefix = (char *) xmalloc (curr_prefix_len + 1);
++#ifdef NO_XMALLOC
++ if (curr_prefix == NULL)
++ return NULL;
++#endif
++ memcpy (curr_prefix, curr_installdir, curr_prefix_len);
++ curr_prefix[curr_prefix_len] = '\0';
++
++ return curr_prefix;
++ }
++ }
++}
++
++#endif /* !IN_LIBRARY || PIC */
++
++#if defined PIC && defined INSTALLDIR
++
++/* Full pathname of shared library, or NULL. */
++static char *shared_library_fullname;
++
++#if defined _WIN32 || defined __WIN32__
++
++/* Determine the full pathname of the shared library when it is loaded. */
++
++BOOL WINAPI
++DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
++{
++ (void) reserved;
++
++ if (event == DLL_PROCESS_ATTACH)
++ {
++ /* The DLL is being loaded into an application's address range. */
++ static char location[MAX_PATH];
++
++ if (!GetModuleFileName (module_handle, location, sizeof (location)))
++ /* Shouldn't happen. */
++ return FALSE;
++
++ if (!IS_PATH_WITH_DIR (location))
++ /* Shouldn't happen. */
++ return FALSE;
++
++ shared_library_fullname = strdup (location);
++ }
++
++ return TRUE;
++}
++
++#else /* Unix */
++
++static void
++find_shared_library_fullname ()
++{
++#if defined __linux__ && __GLIBC__ >= 2
++ /* Linux has /proc/self/maps. glibc 2 has the getline() function. */
++ FILE *fp;
++
++ /* Open the current process' maps file. It describes one VMA per line. */
++ fp = fopen ("/proc/self/maps", "r");
++ if (fp)
++ {
++ unsigned long address = (unsigned long) &find_shared_library_fullname;
++ for (;;)
++ {
++ unsigned long start, end;
++ int c;
++
++ if (fscanf (fp, "%lx-%lx", &start, &end) != 2)
++ break;
++ if (address >= start && address <= end - 1)
++ {
++ /* Found it. Now see if this line contains a filename. */
++ while (c = getc (fp), c != EOF && c != '\n' && c != '/')
++ continue;
++ if (c == '/')
++ {
++ size_t size;
++ int len;
++
++ ungetc (c, fp);
++ shared_library_fullname = NULL; size = 0;
++ len = getline (&shared_library_fullname, &size, fp);
++ if (len >= 0)
++ {
++ /* Success: filled shared_library_fullname. */
++ if (len > 0 && shared_library_fullname[len - 1] == '\n')
++ shared_library_fullname[len - 1] = '\0';
++ }
++ }
++ break;
++ }
++ while (c = getc (fp), c != EOF && c != '\n')
++ continue;
++ }
++ fclose (fp);
++ }
++#endif
++}
++
++#endif /* WIN32 / Unix */
++
++/* Return the full pathname of the current shared library.
++ Return NULL if unknown.
++ Guaranteed to work only on Linux and Woe32. */
++static char *
++get_shared_library_fullname ()
++{
++#if !(defined _WIN32 || defined __WIN32__)
++ static bool tried_find_shared_library_fullname;
++ if (!tried_find_shared_library_fullname)
++ {
++ find_shared_library_fullname ();
++ tried_find_shared_library_fullname = true;
++ }
++#endif
++ return shared_library_fullname;
++}
++
++#endif /* PIC */
++
++/* Returns the pathname, relocated according to the current installation
++ directory. */
++const char *
++relocate (const char *pathname)
++{
++#if defined PIC && defined INSTALLDIR
++ static int initialized;
++
++ /* Initialization code for a shared library. */
++ if (!initialized)
++ {
++ /* At this point, orig_prefix and curr_prefix likely have already been
++ set through the main program's set_program_name_and_installdir
++ function. This is sufficient in the case that the library has
++ initially been installed in the same orig_prefix. But we can do
++ better, to also cover the cases that 1. it has been installed
++ in a different prefix before being moved to orig_prefix and (later)
++ to curr_prefix, 2. unlike the program, it has not moved away from
++ orig_prefix. */
++ const char *orig_installprefix = INSTALLPREFIX;
++ const char *orig_installdir = INSTALLDIR;
++ const char *curr_prefix_better;
++
++ curr_prefix_better =
++ compute_curr_prefix (orig_installprefix, orig_installdir,
++ get_shared_library_fullname ());
++ if (curr_prefix_better == NULL)
++ curr_prefix_better = curr_prefix;
++
++ set_relocation_prefix (orig_installprefix, curr_prefix_better);
++
++ initialized = 1;
++ }
++#endif
++
++ /* Note: It is not necessary to perform case insensitive comparison here,
++ even for DOS-like filesystems, because the pathname argument was
++ typically created from the same Makefile variable as orig_prefix came
++ from. */
++ if (orig_prefix != NULL && curr_prefix != NULL
++ && strncmp (pathname, orig_prefix, orig_prefix_len) == 0)
++ {
++ if (pathname[orig_prefix_len] == '\0')
++ /* pathname equals orig_prefix. */
++ return curr_prefix;
++ if (ISSLASH (pathname[orig_prefix_len]))
++ {
++ /* pathname starts with orig_prefix. */
++ const char *pathname_tail = &pathname[orig_prefix_len];
++ char *result =
++ (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1);
++
++#ifdef NO_XMALLOC
++ if (result != NULL)
++#endif
++ {
++ memcpy (result, curr_prefix, curr_prefix_len);
++ strcpy (result + curr_prefix_len, pathname_tail);
++ return result;
++ }
++ }
++ }
++ /* Nothing to relocate. */
++ return pathname;
++}
++
++#endif
+--- lrzsz-0.12.20.safe/intl/relocatable.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/relocatable.h 2004-09-12 14:40:34.651703096 -0400
+@@ -0,0 +1,77 @@
++/* Provide relocatable packages.
++ Copyright (C) 2003 Free Software Foundation, Inc.
++ Written by Bruno Haible <bruno@clisp.org>, 2003.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _RELOCATABLE_H
++#define _RELOCATABLE_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* This can be enabled through the configure --enable-relocatable option. */
++#if ENABLE_RELOCATABLE
++
++/* When building a DLL, we must export some functions. Note that because
++ this is a private .h file, we don't need to use __declspec(dllimport)
++ in any case. */
++#if defined _MSC_VER && BUILDING_DLL
++# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport)
++#else
++# define RELOCATABLE_DLL_EXPORTED
++#endif
++
++/* Sets the original and the current installation prefix of the package.
++ Relocation simply replaces a pathname starting with the original prefix
++ by the corresponding pathname with the current prefix instead. Both
++ prefixes should be directory names without trailing slash (i.e. use ""
++ instead of "/"). */
++extern RELOCATABLE_DLL_EXPORTED void
++ set_relocation_prefix (const char *orig_prefix,
++ const char *curr_prefix);
++
++/* Returns the pathname, relocated according to the current installation
++ directory. */
++extern const char * relocate (const char *pathname);
++
++/* Memory management: relocate() leaks memory, because it has to construct
++ a fresh pathname. If this is a problem because your program calls
++ relocate() frequently, think about caching the result. */
++
++/* Convenience function:
++ Computes the current installation prefix, based on the original
++ installation prefix, the original installation directory of a particular
++ file, and the current pathname of this file. Returns NULL upon failure. */
++extern const char * compute_curr_prefix (const char *orig_installprefix,
++ const char *orig_installdir,
++ const char *curr_pathname);
++
++#else
++
++/* By default, we use the hardwired pathnames. */
++#define relocate(pathname) (pathname)
++
++#endif
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _RELOCATABLE_H */
+--- lrzsz-0.12.20.safe/intl/textdomain.c 1998-04-26 09:22:37.000000000 -0400
++++ lrzsz-0.12.20/intl/textdomain.c 2004-09-12 14:40:34.656702336 -0400
+@@ -1,51 +1,60 @@
+-/* Implementation of the textdomain(3) function
+- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
++/* Implementation of the textdomain(3) function.
++ Copyright (C) 1995-1998, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
+-#if defined STDC_HEADERS || defined _LIBC
+-# include <stdlib.h>
+-#endif
++#include <stdlib.h>
++#include <string.h>
+
+-#if defined STDC_HEADERS || defined HAVE_STRING_H || defined _LIBC
+-# include <string.h>
++#ifdef _LIBC
++# include <libintl.h>
+ #else
+-# include <strings.h>
+-# ifndef memcpy
+-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
+-# endif
++# include "libgnuintl.h"
+ #endif
++#include "gettextP.h"
+
+ #ifdef _LIBC
+-# include <libintl.h>
++/* We have to handle multi-threaded applications. */
++# include <bits/libc-lock.h>
+ #else
+-# include "libgettext.h"
++/* Provide dummy implementation if this is outside glibc. */
++# define __libc_rwlock_define(CLASS, NAME)
++# define __libc_rwlock_wrlock(NAME)
++# define __libc_rwlock_unlock(NAME)
++#endif
++
++/* The internal variables in the standalone libintl.a must have different
++ names than the internal variables in GNU libc, otherwise programs
++ using libintl.a cannot be linked statically. */
++#if !defined _LIBC
++# define _nl_default_default_domain libintl_nl_default_default_domain
++# define _nl_current_default_domain libintl_nl_current_default_domain
+ #endif
+
+ /* @@ end of prolog @@ */
+
+ /* Name of the default text domain. */
+-extern const char _nl_default_default_domain[];
++extern const char _nl_default_default_domain[] attribute_hidden;
+
+ /* Default text domain in which entries for gettext(3) are to be found. */
+-extern const char *_nl_current_default_domain;
++extern const char *_nl_current_default_domain attribute_hidden;
+
+
+ /* Names for the libintl functions are a problem. They must not clash
+@@ -54,50 +63,76 @@
+ prefix. So we have to make a difference here. */
+ #ifdef _LIBC
+ # define TEXTDOMAIN __textdomain
+-# define strdup(str) __strdup (str)
++# ifndef strdup
++# define strdup(str) __strdup (str)
++# endif
+ #else
+-# define TEXTDOMAIN textdomain__
++# define TEXTDOMAIN libintl_textdomain
+ #endif
+
++/* Lock variable to protect the global data in the gettext implementation. */
++__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
++
+ /* Set the current default message catalog to DOMAINNAME.
+ If DOMAINNAME is null, return the current default.
+ If DOMAINNAME is "", reset to the default of "messages". */
+ char *
+-TEXTDOMAIN (domainname)
+- const char *domainname;
++TEXTDOMAIN (const char *domainname)
+ {
+- char *old;
++ char *new_domain;
++ char *old_domain;
+
+ /* A NULL pointer requests the current setting. */
+ if (domainname == NULL)
+ return (char *) _nl_current_default_domain;
+
+- old = (char *) _nl_current_default_domain;
++ __libc_rwlock_wrlock (_nl_state_lock);
++
++ old_domain = (char *) _nl_current_default_domain;
+
+ /* If domain name is the null string set to default domain "messages". */
+ if (domainname[0] == '\0'
+ || strcmp (domainname, _nl_default_default_domain) == 0)
+- _nl_current_default_domain = _nl_default_default_domain;
++ {
++ _nl_current_default_domain = _nl_default_default_domain;
++ new_domain = (char *) _nl_current_default_domain;
++ }
++ else if (strcmp (domainname, old_domain) == 0)
++ /* This can happen and people will use it to signal that some
++ environment variable changed. */
++ new_domain = old_domain;
+ else
+ {
+ /* If the following malloc fails `_nl_current_default_domain'
+ will be NULL. This value will be returned and so signals we
+ are out of core. */
+ #if defined _LIBC || defined HAVE_STRDUP
+- _nl_current_default_domain = strdup (domainname);
++ new_domain = strdup (domainname);
+ #else
+ size_t len = strlen (domainname) + 1;
+- char *cp = (char *) malloc (len);
+- if (cp != NULL)
+- memcpy (cp, domainname, len);
+- _nl_current_default_domain = cp;
++ new_domain = (char *) malloc (len);
++ if (new_domain != NULL)
++ memcpy (new_domain, domainname, len);
+ #endif
++
++ if (new_domain != NULL)
++ _nl_current_default_domain = new_domain;
+ }
+
+- if (old != _nl_default_default_domain)
+- free (old);
++ /* We use this possibility to signal a change of the loaded catalogs
++ since this is most likely the case and there is no other easy we
++ to do it. Do it only when the call was successful. */
++ if (new_domain != NULL)
++ {
++ ++_nl_msg_cat_cntr;
+
+- return (char *) _nl_current_default_domain;
++ if (old_domain != new_domain && old_domain != _nl_default_default_domain)
++ free (old_domain);
++ }
++
++ __libc_rwlock_unlock (_nl_state_lock);
++
++ return new_domain;
+ }
+
+ #ifdef _LIBC
+--- lrzsz-0.12.20.safe/intl/vasnprintf.c 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/vasnprintf.c 2004-09-12 14:40:34.662701424 -0400
+@@ -0,0 +1,887 @@
++/* vsprintf with automatic memory allocation.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Tell glibc's <stdio.h> to provide a prototype for snprintf().
++ This must come before <config.h> because <config.h> may include
++ <features.h>, and once <features.h> has been included, it's too late. */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++#ifndef IN_LIBINTL
++# include <alloca.h>
++#endif
++
++/* Specification. */
++#if WIDE_CHAR_VERSION
++# include "vasnwprintf.h"
++#else
++# include "vasnprintf.h"
++#endif
++
++#include <stdio.h> /* snprintf(), sprintf() */
++#include <stdlib.h> /* abort(), malloc(), realloc(), free() */
++#include <string.h> /* memcpy(), strlen() */
++#include <errno.h> /* errno */
++#include <limits.h> /* CHAR_BIT */
++#include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */
++#if WIDE_CHAR_VERSION
++# include "wprintf-parse.h"
++#else
++# include "printf-parse.h"
++#endif
++
++/* Checked size_t computations. */
++#include "xsize.h"
++
++#ifdef HAVE_WCHAR_T
++# ifdef HAVE_WCSLEN
++# define local_wcslen wcslen
++# else
++ /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid
++ a dependency towards this library, here is a local substitute.
++ Define this substitute only once, even if this file is included
++ twice in the same compilation unit. */
++# ifndef local_wcslen_defined
++# define local_wcslen_defined 1
++static size_t
++local_wcslen (const wchar_t *s)
++{
++ const wchar_t *ptr;
++
++ for (ptr = s; *ptr != (wchar_t) 0; ptr++)
++ ;
++ return ptr - s;
++}
++# endif
++# endif
++#endif
++
++#if WIDE_CHAR_VERSION
++# define VASNPRINTF vasnwprintf
++# define CHAR_T wchar_t
++# define DIRECTIVE wchar_t_directive
++# define DIRECTIVES wchar_t_directives
++# define PRINTF_PARSE wprintf_parse
++# define USE_SNPRINTF 1
++# if HAVE_DECL__SNWPRINTF
++ /* On Windows, the function swprintf() has a different signature than
++ on Unix; we use the _snwprintf() function instead. */
++# define SNPRINTF _snwprintf
++# else
++ /* Unix. */
++# define SNPRINTF swprintf
++# endif
++#else
++# define VASNPRINTF vasnprintf
++# define CHAR_T char
++# define DIRECTIVE char_directive
++# define DIRECTIVES char_directives
++# define PRINTF_PARSE printf_parse
++# define USE_SNPRINTF (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF)
++# if HAVE_DECL__SNPRINTF
++ /* Windows. */
++# define SNPRINTF _snprintf
++# else
++ /* Unix. */
++# define SNPRINTF snprintf
++# endif
++#endif
++
++CHAR_T *
++VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list args)
++{
++ DIRECTIVES d;
++ arguments a;
++
++ if (PRINTF_PARSE (format, &d, &a) < 0)
++ {
++ errno = EINVAL;
++ return NULL;
++ }
++
++#define CLEANUP() \
++ free (d.dir); \
++ if (a.arg) \
++ free (a.arg);
++
++ if (printf_fetchargs (args, &a) < 0)
++ {
++ CLEANUP ();
++ errno = EINVAL;
++ return NULL;
++ }
++
++ {
++ size_t buf_neededlength;
++ CHAR_T *buf;
++ CHAR_T *buf_malloced;
++ const CHAR_T *cp;
++ size_t i;
++ DIRECTIVE *dp;
++ /* Output string accumulator. */
++ CHAR_T *result;
++ size_t allocated;
++ size_t length;
++
++ /* Allocate a small buffer that will hold a directive passed to
++ sprintf or snprintf. */
++ buf_neededlength =
++ xsum4 (7, d.max_width_length, d.max_precision_length, 6);
++#if HAVE_ALLOCA
++ if (buf_neededlength < 4000 / sizeof (CHAR_T))
++ {
++ buf = (CHAR_T *) alloca (buf_neededlength * sizeof (CHAR_T));
++ buf_malloced = NULL;
++ }
++ else
++#endif
++ {
++ size_t buf_memsize = xtimes (buf_neededlength, sizeof (CHAR_T));
++ if (size_overflow_p (buf_memsize))
++ goto out_of_memory_1;
++ buf = (CHAR_T *) malloc (buf_memsize);
++ if (buf == NULL)
++ goto out_of_memory_1;
++ buf_malloced = buf;
++ }
++
++ if (resultbuf != NULL)
++ {
++ result = resultbuf;
++ allocated = *lengthp;
++ }
++ else
++ {
++ result = NULL;
++ allocated = 0;
++ }
++ length = 0;
++ /* Invariants:
++ result is either == resultbuf or == NULL or malloc-allocated.
++ If length > 0, then result != NULL. */
++
++ /* Ensures that allocated >= needed. Aborts through a jump to
++ out_of_memory if needed is SIZE_MAX or otherwise too big. */
++#define ENSURE_ALLOCATION(needed) \
++ if ((needed) > allocated) \
++ { \
++ size_t memory_size; \
++ CHAR_T *memory; \
++ \
++ allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \
++ if ((needed) > allocated) \
++ allocated = (needed); \
++ memory_size = xtimes (allocated, sizeof (CHAR_T)); \
++ if (size_overflow_p (memory_size)) \
++ goto out_of_memory; \
++ if (result == resultbuf || result == NULL) \
++ memory = (CHAR_T *) malloc (memory_size); \
++ else \
++ memory = (CHAR_T *) realloc (result, memory_size); \
++ if (memory == NULL) \
++ goto out_of_memory; \
++ if (result == resultbuf && length > 0) \
++ memcpy (memory, result, length * sizeof (CHAR_T)); \
++ result = memory; \
++ }
++
++ for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++)
++ {
++ if (cp != dp->dir_start)
++ {
++ size_t n = dp->dir_start - cp;
++ size_t augmented_length = xsum (length, n);
++
++ ENSURE_ALLOCATION (augmented_length);
++ memcpy (result + length, cp, n * sizeof (CHAR_T));
++ length = augmented_length;
++ }
++ if (i == d.count)
++ break;
++
++ /* Execute a single directive. */
++ if (dp->conversion == '%')
++ {
++ size_t augmented_length;
++
++ if (!(dp->arg_index == ARG_NONE))
++ abort ();
++ augmented_length = xsum (length, 1);
++ ENSURE_ALLOCATION (augmented_length);
++ result[length] = '%';
++ length = augmented_length;
++ }
++ else
++ {
++ if (!(dp->arg_index != ARG_NONE))
++ abort ();
++
++ if (dp->conversion == 'n')
++ {
++ switch (a.arg[dp->arg_index].type)
++ {
++ case TYPE_COUNT_SCHAR_POINTER:
++ *a.arg[dp->arg_index].a.a_count_schar_pointer = length;
++ break;
++ case TYPE_COUNT_SHORT_POINTER:
++ *a.arg[dp->arg_index].a.a_count_short_pointer = length;
++ break;
++ case TYPE_COUNT_INT_POINTER:
++ *a.arg[dp->arg_index].a.a_count_int_pointer = length;
++ break;
++ case TYPE_COUNT_LONGINT_POINTER:
++ *a.arg[dp->arg_index].a.a_count_longint_pointer = length;
++ break;
++#ifdef HAVE_LONG_LONG
++ case TYPE_COUNT_LONGLONGINT_POINTER:
++ *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length;
++ break;
++#endif
++ default:
++ abort ();
++ }
++ }
++ else
++ {
++ arg_type type = a.arg[dp->arg_index].type;
++ CHAR_T *p;
++ unsigned int prefix_count;
++ int prefixes[2];
++#if !USE_SNPRINTF
++ size_t tmp_length;
++ CHAR_T tmpbuf[700];
++ CHAR_T *tmp;
++
++ /* Allocate a temporary buffer of sufficient size for calling
++ sprintf. */
++ {
++ size_t width;
++ size_t precision;
++
++ width = 0;
++ if (dp->width_start != dp->width_end)
++ {
++ if (dp->width_arg_index != ARG_NONE)
++ {
++ int arg;
++
++ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
++ abort ();
++ arg = a.arg[dp->width_arg_index].a.a_int;
++ width = (arg < 0 ? (unsigned int) (-arg) : arg);
++ }
++ else
++ {
++ const CHAR_T *digitp = dp->width_start;
++
++ do
++ width = xsum (xtimes (width, 10), *digitp++ - '0');
++ while (digitp != dp->width_end);
++ }
++ }
++
++ precision = 6;
++ if (dp->precision_start != dp->precision_end)
++ {
++ if (dp->precision_arg_index != ARG_NONE)
++ {
++ int arg;
++
++ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
++ abort ();
++ arg = a.arg[dp->precision_arg_index].a.a_int;
++ precision = (arg < 0 ? 0 : arg);
++ }
++ else
++ {
++ const CHAR_T *digitp = dp->precision_start + 1;
++
++ precision = 0;
++ do
++ precision = xsum (xtimes (precision, 10), *digitp++ - '0');
++ while (digitp != dp->precision_end);
++ }
++ }
++
++ switch (dp->conversion)
++ {
++
++ case 'd': case 'i': case 'u':
++# ifdef HAVE_LONG_LONG
++ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ else
++# endif
++ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ else
++ tmp_length =
++ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ break;
++
++ case 'o':
++# ifdef HAVE_LONG_LONG
++ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
++ * 0.333334 /* binary -> octal */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ else
++# endif
++ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
++ * 0.333334 /* binary -> octal */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ else
++ tmp_length =
++ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
++ * 0.333334 /* binary -> octal */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ break;
++
++ case 'x': case 'X':
++# ifdef HAVE_LONG_LONG
++ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
++ * 0.25 /* binary -> hexadecimal */
++ )
++ + 1 /* turn floor into ceil */
++ + 2; /* account for leading sign or alternate form */
++ else
++# endif
++ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
++ * 0.25 /* binary -> hexadecimal */
++ )
++ + 1 /* turn floor into ceil */
++ + 2; /* account for leading sign or alternate form */
++ else
++ tmp_length =
++ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
++ * 0.25 /* binary -> hexadecimal */
++ )
++ + 1 /* turn floor into ceil */
++ + 2; /* account for leading sign or alternate form */
++ break;
++
++ case 'f': case 'F':
++# ifdef HAVE_LONG_DOUBLE
++ if (type == TYPE_LONGDOUBLE)
++ tmp_length =
++ (unsigned int) (LDBL_MAX_EXP
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 10; /* sign, decimal point etc. */
++ else
++# endif
++ tmp_length =
++ (unsigned int) (DBL_MAX_EXP
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 10; /* sign, decimal point etc. */
++ tmp_length = xsum (tmp_length, precision);
++ break;
++
++ case 'e': case 'E': case 'g': case 'G':
++ case 'a': case 'A':
++ tmp_length =
++ 12; /* sign, decimal point, exponent etc. */
++ tmp_length = xsum (tmp_length, precision);
++ break;
++
++ case 'c':
++# if defined HAVE_WINT_T && !WIDE_CHAR_VERSION
++ if (type == TYPE_WIDE_CHAR)
++ tmp_length = MB_CUR_MAX;
++ else
++# endif
++ tmp_length = 1;
++ break;
++
++ case 's':
++# ifdef HAVE_WCHAR_T
++ if (type == TYPE_WIDE_STRING)
++ {
++ tmp_length =
++ local_wcslen (a.arg[dp->arg_index].a.a_wide_string);
++
++# if !WIDE_CHAR_VERSION
++ tmp_length = xtimes (tmp_length, MB_CUR_MAX);
++# endif
++ }
++ else
++# endif
++ tmp_length = strlen (a.arg[dp->arg_index].a.a_string);
++ break;
++
++ case 'p':
++ tmp_length =
++ (unsigned int) (sizeof (void *) * CHAR_BIT
++ * 0.25 /* binary -> hexadecimal */
++ )
++ + 1 /* turn floor into ceil */
++ + 2; /* account for leading 0x */
++ break;
++
++ default:
++ abort ();
++ }
++
++ if (tmp_length < width)
++ tmp_length = width;
++
++ tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */
++ }
++
++ if (tmp_length <= sizeof (tmpbuf) / sizeof (CHAR_T))
++ tmp = tmpbuf;
++ else
++ {
++ size_t tmp_memsize = xtimes (tmp_length, sizeof (CHAR_T));
++
++ if (size_overflow_p (tmp_memsize))
++ /* Overflow, would lead to out of memory. */
++ goto out_of_memory;
++ tmp = (CHAR_T *) malloc (tmp_memsize);
++ if (tmp == NULL)
++ /* Out of memory. */
++ goto out_of_memory;
++ }
++#endif
++
++ /* Construct the format string for calling snprintf or
++ sprintf. */
++ p = buf;
++ *p++ = '%';
++ if (dp->flags & FLAG_GROUP)
++ *p++ = '\'';
++ if (dp->flags & FLAG_LEFT)
++ *p++ = '-';
++ if (dp->flags & FLAG_SHOWSIGN)
++ *p++ = '+';
++ if (dp->flags & FLAG_SPACE)
++ *p++ = ' ';
++ if (dp->flags & FLAG_ALT)
++ *p++ = '#';
++ if (dp->flags & FLAG_ZERO)
++ *p++ = '0';
++ if (dp->width_start != dp->width_end)
++ {
++ size_t n = dp->width_end - dp->width_start;
++ memcpy (p, dp->width_start, n * sizeof (CHAR_T));
++ p += n;
++ }
++ if (dp->precision_start != dp->precision_end)
++ {
++ size_t n = dp->precision_end - dp->precision_start;
++ memcpy (p, dp->precision_start, n * sizeof (CHAR_T));
++ p += n;
++ }
++
++ switch (type)
++ {
++#ifdef HAVE_LONG_LONG
++ case TYPE_LONGLONGINT:
++ case TYPE_ULONGLONGINT:
++ *p++ = 'l';
++ /*FALLTHROUGH*/
++#endif
++ case TYPE_LONGINT:
++ case TYPE_ULONGINT:
++#ifdef HAVE_WINT_T
++ case TYPE_WIDE_CHAR:
++#endif
++#ifdef HAVE_WCHAR_T
++ case TYPE_WIDE_STRING:
++#endif
++ *p++ = 'l';
++ break;
++#ifdef HAVE_LONG_DOUBLE
++ case TYPE_LONGDOUBLE:
++ *p++ = 'L';
++ break;
++#endif
++ default:
++ break;
++ }
++ *p = dp->conversion;
++#if USE_SNPRINTF
++ p[1] = '%';
++ p[2] = 'n';
++ p[3] = '\0';
++#else
++ p[1] = '\0';
++#endif
++
++ /* Construct the arguments for calling snprintf or sprintf. */
++ prefix_count = 0;
++ if (dp->width_arg_index != ARG_NONE)
++ {
++ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
++ abort ();
++ prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int;
++ }
++ if (dp->precision_arg_index != ARG_NONE)
++ {
++ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
++ abort ();
++ prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int;
++ }
++
++#if USE_SNPRINTF
++ /* Prepare checking whether snprintf returns the count
++ via %n. */
++ ENSURE_ALLOCATION (xsum (length, 1));
++ result[length] = '\0';
++#endif
++
++ for (;;)
++ {
++ size_t maxlen;
++ int count;
++ int retcount;
++
++ maxlen = allocated - length;
++ count = -1;
++ retcount = 0;
++
++#if USE_SNPRINTF
++# define SNPRINTF_BUF(arg) \
++ switch (prefix_count) \
++ { \
++ case 0: \
++ retcount = SNPRINTF (result + length, maxlen, buf, \
++ arg, &count); \
++ break; \
++ case 1: \
++ retcount = SNPRINTF (result + length, maxlen, buf, \
++ prefixes[0], arg, &count); \
++ break; \
++ case 2: \
++ retcount = SNPRINTF (result + length, maxlen, buf, \
++ prefixes[0], prefixes[1], arg, \
++ &count); \
++ break; \
++ default: \
++ abort (); \
++ }
++#else
++# define SNPRINTF_BUF(arg) \
++ switch (prefix_count) \
++ { \
++ case 0: \
++ count = sprintf (tmp, buf, arg); \
++ break; \
++ case 1: \
++ count = sprintf (tmp, buf, prefixes[0], arg); \
++ break; \
++ case 2: \
++ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\
++ arg); \
++ break; \
++ default: \
++ abort (); \
++ }
++#endif
++
++ switch (type)
++ {
++ case TYPE_SCHAR:
++ {
++ int arg = a.arg[dp->arg_index].a.a_schar;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_UCHAR:
++ {
++ unsigned int arg = a.arg[dp->arg_index].a.a_uchar;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_SHORT:
++ {
++ int arg = a.arg[dp->arg_index].a.a_short;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_USHORT:
++ {
++ unsigned int arg = a.arg[dp->arg_index].a.a_ushort;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_INT:
++ {
++ int arg = a.arg[dp->arg_index].a.a_int;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_UINT:
++ {
++ unsigned int arg = a.arg[dp->arg_index].a.a_uint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_LONGINT:
++ {
++ long int arg = a.arg[dp->arg_index].a.a_longint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_ULONGINT:
++ {
++ unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#ifdef HAVE_LONG_LONG
++ case TYPE_LONGLONGINT:
++ {
++ long long int arg = a.arg[dp->arg_index].a.a_longlongint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_ULONGLONGINT:
++ {
++ unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#endif
++ case TYPE_DOUBLE:
++ {
++ double arg = a.arg[dp->arg_index].a.a_double;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#ifdef HAVE_LONG_DOUBLE
++ case TYPE_LONGDOUBLE:
++ {
++ long double arg = a.arg[dp->arg_index].a.a_longdouble;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#endif
++ case TYPE_CHAR:
++ {
++ int arg = a.arg[dp->arg_index].a.a_char;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#ifdef HAVE_WINT_T
++ case TYPE_WIDE_CHAR:
++ {
++ wint_t arg = a.arg[dp->arg_index].a.a_wide_char;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#endif
++ case TYPE_STRING:
++ {
++ const char *arg = a.arg[dp->arg_index].a.a_string;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#ifdef HAVE_WCHAR_T
++ case TYPE_WIDE_STRING:
++ {
++ const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#endif
++ case TYPE_POINTER:
++ {
++ void *arg = a.arg[dp->arg_index].a.a_pointer;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ default:
++ abort ();
++ }
++
++#if USE_SNPRINTF
++ /* Portability: Not all implementations of snprintf()
++ are ISO C 99 compliant. Determine the number of
++ bytes that snprintf() has produced or would have
++ produced. */
++ if (count >= 0)
++ {
++ /* Verify that snprintf() has NUL-terminated its
++ result. */
++ if (count < maxlen && result[length + count] != '\0')
++ abort ();
++ /* Portability hack. */
++ if (retcount > count)
++ count = retcount;
++ }
++ else
++ {
++ /* snprintf() doesn't understand the '%n'
++ directive. */
++ if (p[1] != '\0')
++ {
++ /* Don't use the '%n' directive; instead, look
++ at the snprintf() return value. */
++ p[1] = '\0';
++ continue;
++ }
++ else
++ {
++ /* Look at the snprintf() return value. */
++ if (retcount < 0)
++ {
++ /* HP-UX 10.20 snprintf() is doubly deficient:
++ It doesn't understand the '%n' directive,
++ *and* it returns -1 (rather than the length
++ that would have been required) when the
++ buffer is too small. */
++ size_t bigger_need =
++ xsum (xtimes (allocated, 2), 12);
++ ENSURE_ALLOCATION (bigger_need);
++ continue;
++ }
++ else
++ count = retcount;
++ }
++ }
++#endif
++
++ /* Attempt to handle failure. */
++ if (count < 0)
++ {
++ if (!(result == resultbuf || result == NULL))
++ free (result);
++ if (buf_malloced != NULL)
++ free (buf_malloced);
++ CLEANUP ();
++ errno = EINVAL;
++ return NULL;
++ }
++
++#if !USE_SNPRINTF
++ if (count >= tmp_length)
++ /* tmp_length was incorrectly calculated - fix the
++ code above! */
++ abort ();
++#endif
++
++ /* Make room for the result. */
++ if (count >= maxlen)
++ {
++ /* Need at least count bytes. But allocate
++ proportionally, to avoid looping eternally if
++ snprintf() reports a too small count. */
++ size_t n =
++ xmax (xsum (length, count), xtimes (allocated, 2));
++
++ ENSURE_ALLOCATION (n);
++#if USE_SNPRINTF
++ continue;
++#endif
++ }
++
++#if USE_SNPRINTF
++ /* The snprintf() result did fit. */
++#else
++ /* Append the sprintf() result. */
++ memcpy (result + length, tmp, count * sizeof (CHAR_T));
++ if (tmp != tmpbuf)
++ free (tmp);
++#endif
++
++ length += count;
++ break;
++ }
++ }
++ }
++ }
++
++ /* Add the final NUL. */
++ ENSURE_ALLOCATION (xsum (length, 1));
++ result[length] = '\0';
++
++ if (result != resultbuf && length + 1 < allocated)
++ {
++ /* Shrink the allocated memory if possible. */
++ CHAR_T *memory;
++
++ memory = (CHAR_T *) realloc (result, (length + 1) * sizeof (CHAR_T));
++ if (memory != NULL)
++ result = memory;
++ }
++
++ if (buf_malloced != NULL)
++ free (buf_malloced);
++ CLEANUP ();
++ *lengthp = length;
++ return result;
++
++ out_of_memory:
++ if (!(result == resultbuf || result == NULL))
++ free (result);
++ if (buf_malloced != NULL)
++ free (buf_malloced);
++ out_of_memory_1:
++ CLEANUP ();
++ errno = ENOMEM;
++ return NULL;
++ }
++}
++
++#undef SNPRINTF
++#undef USE_SNPRINTF
++#undef PRINTF_PARSE
++#undef DIRECTIVES
++#undef DIRECTIVE
++#undef CHAR_T
++#undef VASNPRINTF
+--- lrzsz-0.12.20.safe/intl/vasnprintf.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/vasnprintf.h 2004-09-12 14:40:34.667700664 -0400
+@@ -0,0 +1,61 @@
++/* vsprintf with automatic memory allocation.
++ Copyright (C) 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _VASNPRINTF_H
++#define _VASNPRINTF_H
++
++/* Get va_list. */
++#include <stdarg.h>
++
++/* Get size_t. */
++#include <stddef.h>
++
++#ifndef __attribute__
++/* This feature is available in gcc versions 2.5 and later. */
++# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
++# define __attribute__(Spec) /* empty */
++# endif
++/* The __-protected variants of `format' and `printf' attributes
++ are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
++# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
++# define __format__ format
++# define __printf__ printf
++# endif
++#endif
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/* Write formatted output to a string dynamically allocated with malloc().
++ You can pass a preallocated buffer for the result in RESULTBUF and its
++ size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
++ If successful, return the address of the string (this may be = RESULTBUF
++ if no dynamic memory allocation was necessary) and set *LENGTHP to the
++ number of resulting bytes, excluding the trailing NUL. Upon error, set
++ errno and return NULL. */
++extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
++ __attribute__ ((__format__ (__printf__, 3, 4)));
++extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args)
++ __attribute__ ((__format__ (__printf__, 3, 0)));
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _VASNPRINTF_H */
+--- lrzsz-0.12.20.safe/intl/vasnwprintf.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/vasnwprintf.h 2004-09-12 14:40:34.673699752 -0400
+@@ -0,0 +1,46 @@
++/* vswprintf with automatic memory allocation.
++ Copyright (C) 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _VASNWPRINTF_H
++#define _VASNWPRINTF_H
++
++/* Get va_list. */
++#include <stdarg.h>
++
++/* Get wchar_t, size_t. */
++#include <stddef.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/* Write formatted output to a string dynamically allocated with malloc().
++ You can pass a preallocated buffer for the result in RESULTBUF and its
++ size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
++ If successful, return the address of the string (this may be = RESULTBUF
++ if no dynamic memory allocation was necessary) and set *LENGTHP to the
++ number of resulting bytes, excluding the trailing NUL. Upon error, set
++ errno and return NULL. */
++extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...);
++extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _VASNWPRINTF_H */
+--- lrzsz-0.12.20.safe/intl/VERSION 1998-04-26 09:22:37.000000000 -0400
++++ lrzsz-0.12.20/intl/VERSION 2004-09-12 14:40:34.679698840 -0400
+@@ -1 +1 @@
+-GNU gettext library from gettext-0.10.32
++GNU gettext library from gettext-0.14.1
+--- lrzsz-0.12.20.safe/intl/wprintf-parse.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/wprintf-parse.h 2004-09-12 14:40:34.695696408 -0400
+@@ -0,0 +1,75 @@
++/* Parse printf format string.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _WPRINTF_PARSE_H
++#define _WPRINTF_PARSE_H
++
++#include "printf-args.h"
++
++
++/* Flags */
++#define FLAG_GROUP 1 /* ' flag */
++#define FLAG_LEFT 2 /* - flag */
++#define FLAG_SHOWSIGN 4 /* + flag */
++#define FLAG_SPACE 8 /* space flag */
++#define FLAG_ALT 16 /* # flag */
++#define FLAG_ZERO 32
++
++/* arg_index value indicating that no argument is consumed. */
++#define ARG_NONE (~(size_t)0)
++
++/* A parsed directive. */
++typedef struct
++{
++ const wchar_t* dir_start;
++ const wchar_t* dir_end;
++ int flags;
++ const wchar_t* width_start;
++ const wchar_t* width_end;
++ size_t width_arg_index;
++ const wchar_t* precision_start;
++ const wchar_t* precision_end;
++ size_t precision_arg_index;
++ wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */
++ size_t arg_index;
++}
++wchar_t_directive;
++
++/* A parsed format string. */
++typedef struct
++{
++ size_t count;
++ wchar_t_directive *dir;
++ size_t max_width_length;
++ size_t max_precision_length;
++}
++wchar_t_directives;
++
++
++/* Parses the format string. Fills in the number N of directives, and fills
++ in directives[0], ..., directives[N-1], and sets directives[N].dir_start
++ to the end of the format string. Also fills in the arg_type fields of the
++ arguments and the needed count of arguments. */
++#ifdef STATIC
++STATIC
++#else
++extern
++#endif
++int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a);
++
++#endif /* _WPRINTF_PARSE_H */
+--- lrzsz-0.12.20.safe/intl/xopen-msg.sed 1998-04-26 09:20:52.000000000 -0400
++++ lrzsz-0.12.20/intl/xopen-msg.sed 1969-12-31 19:00:00.000000000 -0500
+@@ -1,104 +0,0 @@
+-# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file
+-# Copyright (C) 1995 Free Software Foundation, Inc.
+-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+-#
+-# This program is free software; you can redistribute it and/or modify
+-# it under the terms of the GNU General Public License as published by
+-# the Free Software Foundation; either version 2, or (at your option)
+-# any later version.
+-#
+-# This program is distributed in the hope that it will be useful,
+-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-# GNU General Public License for more details.
+-#
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-#
+-#
+-# The first directive in the .msg should be the definition of the
+-# message set number. We use always set number 1.
+-#
+-1 {
+- i\
+-$set 1 # Automatically created by po2msg.sed
+- h
+- s/.*/0/
+- x
+-}
+-#
+-# We copy all comments into the .msg file. Perhaps they can help.
+-#
+-/^#/ s/^#[ ]*/$ /p
+-#
+-# We copy the original message as a comment into the .msg file.
+-#
+-/^msgid/ {
+-# Does not work now
+-# /"$/! {
+-# s/\\$//
+-# s/$/ ... (more lines following)"/
+-# }
+- s/^msgid[ ]*"\(.*\)"$/$ Original Message: \1/
+- p
+-}
+-#
+-# The .msg file contains, other then the .po file, only the translations
+-# but each given a unique ID. Starting from 1 and incrementing by 1 for
+-# each message we assign them to the messages.
+-# It is important that the .po file used to generate the cat-id-tbl.c file
+-# (with po-to-tbl) is the same as the one used here. (At least the order
+-# of declarations must not be changed.)
+-#
+-/^msgstr/ {
+- s/msgstr[ ]*"\(.*\)"/\1/
+- x
+-# The following nice solution is by
+-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
+- td
+-# Increment a decimal number in pattern space.
+-# First hide trailing `9' digits.
+- :d
+- s/9\(_*\)$/_\1/
+- td
+-# Assure at least one digit is available.
+- s/^\(_*\)$/0\1/
+-# Increment the last digit.
+- s/8\(_*\)$/9\1/
+- s/7\(_*\)$/8\1/
+- s/6\(_*\)$/7\1/
+- s/5\(_*\)$/6\1/
+- s/4\(_*\)$/5\1/
+- s/3\(_*\)$/4\1/
+- s/2\(_*\)$/3\1/
+- s/1\(_*\)$/2\1/
+- s/0\(_*\)$/1\1/
+-# Convert the hidden `9' digits to `0's.
+- s/_/0/g
+- x
+-# Bring the line in the format `<number> <message>'
+- G
+- s/^[^\n]*$/& /
+- s/\(.*\)\n\([0-9]*\)/\2 \1/
+-# Clear flag from last substitution.
+- tb
+-# Append the next line.
+- :b
+- N
+-# Look whether second part is a continuation line.
+- s/\(.*\n\)"\(.*\)"/\1\2/
+-# Yes, then branch.
+- ta
+- P
+- D
+-# Note that `D' includes a jump to the start!!
+-# We found a continuation line. But before printing insert '\'.
+- :a
+- s/\(.*\)\(\n.*\)/\1\\\2/
+- P
+-# We cannot use the sed command `D' here
+- s/.*\n\(.*\)/\1/
+- tb
+-}
+-d
+--- lrzsz-0.12.20.safe/intl/xsize.h 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/intl/xsize.h 2004-09-12 14:40:34.700695648 -0400
+@@ -0,0 +1,109 @@
++/* xsize.h -- Checked size_t computations.
++
++ Copyright (C) 2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _XSIZE_H
++#define _XSIZE_H
++
++/* Get size_t. */
++#include <stddef.h>
++
++/* Get SIZE_MAX. */
++#include <limits.h>
++#if HAVE_STDINT_H
++# include <stdint.h>
++#endif
++
++/* The size of memory objects is often computed through expressions of
++ type size_t. Example:
++ void* p = malloc (header_size + n * element_size).
++ These computations can lead to overflow. When this happens, malloc()
++ returns a piece of memory that is way too small, and the program then
++ crashes while attempting to fill the memory.
++ To avoid this, the functions and macros in this file check for overflow.
++ The convention is that SIZE_MAX represents overflow.
++ malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc
++ implementation that uses mmap --, it's recommended to use size_overflow_p()
++ or size_in_bounds_p() before invoking malloc().
++ The example thus becomes:
++ size_t size = xsum (header_size, xtimes (n, element_size));
++ void *p = (size_in_bounds_p (size) ? malloc (size) : NULL);
++*/
++
++/* Convert an arbitrary value >= 0 to type size_t. */
++#define xcast_size_t(N) \
++ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX)
++
++/* Sum of two sizes, with overflow check. */
++static inline size_t
++#if __GNUC__ >= 3
++__attribute__ ((__pure__))
++#endif
++xsum (size_t size1, size_t size2)
++{
++ size_t sum = size1 + size2;
++ return (sum >= size1 ? sum : SIZE_MAX);
++}
++
++/* Sum of three sizes, with overflow check. */
++static inline size_t
++#if __GNUC__ >= 3
++__attribute__ ((__pure__))
++#endif
++xsum3 (size_t size1, size_t size2, size_t size3)
++{
++ return xsum (xsum (size1, size2), size3);
++}
++
++/* Sum of four sizes, with overflow check. */
++static inline size_t
++#if __GNUC__ >= 3
++__attribute__ ((__pure__))
++#endif
++xsum4 (size_t size1, size_t size2, size_t size3, size_t size4)
++{
++ return xsum (xsum (xsum (size1, size2), size3), size4);
++}
++
++/* Maximum of two sizes, with overflow check. */
++static inline size_t
++#if __GNUC__ >= 3
++__attribute__ ((__pure__))
++#endif
++xmax (size_t size1, size_t size2)
++{
++ /* No explicit check is needed here, because for any n:
++ max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */
++ return (size1 >= size2 ? size1 : size2);
++}
++
++/* Multiplication of a count with an element size, with overflow check.
++ The count must be >= 0 and the element size must be > 0.
++ This is a macro, not an inline function, so that it works correctly even
++ when N is of a wider tupe and N > SIZE_MAX. */
++#define xtimes(N, ELSIZE) \
++ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX)
++
++/* Check for overflow. */
++#define size_overflow_p(SIZE) \
++ ((SIZE) == SIZE_MAX)
++/* Check against overflow. */
++#define size_in_bounds_p(SIZE) \
++ ((SIZE) != SIZE_MAX)
++
++#endif /* _XSIZE_H */
+--- lrzsz-0.12.20.safe/m4/ChangeLog 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/ChangeLog 2004-09-12 14:40:35.054641840 -0400
+@@ -0,0 +1,32 @@
++2004-09-12 gettextize <bug-gnu-gettext@gnu.org>
++
++ * codeset.m4: New file, from gettext-0.14.1.
++ * gettext.m4: New file, from gettext-0.14.1.
++ * glibc21.m4: New file, from gettext-0.14.1.
++ * iconv.m4: New file, from gettext-0.14.1.
++ * intdiv0.m4: New file, from gettext-0.14.1.
++ * intmax.m4: New file, from gettext-0.14.1.
++ * inttypes.m4: New file, from gettext-0.14.1.
++ * inttypes_h.m4: New file, from gettext-0.14.1.
++ * inttypes-pri.m4: New file, from gettext-0.14.1.
++ * isc-posix.m4: New file, from gettext-0.14.1.
++ * lcmessage.m4: New file, from gettext-0.14.1.
++ * lib-ld.m4: New file, from gettext-0.14.1.
++ * lib-link.m4: New file, from gettext-0.14.1.
++ * lib-prefix.m4: New file, from gettext-0.14.1.
++ * longdouble.m4: New file, from gettext-0.14.1.
++ * longlong.m4: New file, from gettext-0.14.1.
++ * nls.m4: New file, from gettext-0.14.1.
++ * po.m4: New file, from gettext-0.14.1.
++ * printf-posix.m4: New file, from gettext-0.14.1.
++ * progtest.m4: New file, from gettext-0.14.1.
++ * signed.m4: New file, from gettext-0.14.1.
++ * size_max.m4: New file, from gettext-0.14.1.
++ * stdint_h.m4: New file, from gettext-0.14.1.
++ * uintmax_t.m4: New file, from gettext-0.14.1.
++ * ulonglong.m4: New file, from gettext-0.14.1.
++ * wchar_t.m4: New file, from gettext-0.14.1.
++ * wint_t.m4: New file, from gettext-0.14.1.
++ * xsize.m4: New file, from gettext-0.14.1.
++ * Makefile.am: New file.
++
+--- lrzsz-0.12.20.safe/m4/codeset.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/codeset.m4 2004-09-12 14:40:34.820677408 -0400
+@@ -0,0 +1,23 @@
++# codeset.m4 serial AM1 (gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_LANGINFO_CODESET],
++[
++ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
++ [AC_TRY_LINK([#include <langinfo.h>],
++ [char* cs = nl_langinfo(CODESET);],
++ am_cv_langinfo_codeset=yes,
++ am_cv_langinfo_codeset=no)
++ ])
++ if test $am_cv_langinfo_codeset = yes; then
++ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
++ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/gettext.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/gettext.m4 2004-09-12 14:40:34.826676496 -0400
+@@ -0,0 +1,487 @@
++# gettext.m4 serial 28 (gettext-0.13)
++dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
++
++dnl Macro to add for using GNU gettext.
++
++dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
++dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
++dnl default (if it is not specified or empty) is 'no-libtool'.
++dnl INTLSYMBOL should be 'external' for packages with no intl directory,
++dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
++dnl If INTLSYMBOL is 'use-libtool', then a libtool library
++dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
++dnl depending on --{enable,disable}-{shared,static} and on the presence of
++dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
++dnl $(top_builddir)/intl/libintl.a will be created.
++dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
++dnl implementations (in libc or libintl) without the ngettext() function
++dnl will be ignored. If NEEDSYMBOL is specified and is
++dnl 'need-formatstring-macros', then GNU gettext implementations that don't
++dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
++dnl INTLDIR is used to find the intl libraries. If empty,
++dnl the value `$(top_builddir)/intl/' is used.
++dnl
++dnl The result of the configuration is one of three cases:
++dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
++dnl and used.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 2) GNU gettext has been found in the system's C library.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 3) No internationalization, always use English msgid.
++dnl Catalog format: none
++dnl Catalog extension: none
++dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
++dnl The use of .gmo is historical (it was needed to avoid overwriting the
++dnl GNU format catalogs when building on a platform with an X/Open gettext),
++dnl but we keep it in order not to force irrelevant filename changes on the
++dnl maintainers.
++dnl
++AC_DEFUN([AM_GNU_GETTEXT],
++[
++ dnl Argument checking.
++ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
++ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
++])])])])])
++ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
++ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
++])])])])
++ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
++ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
++
++ AC_REQUIRE([AM_PO_SUBDIRS])dnl
++ ifelse(gt_included_intl, yes, [
++ AC_REQUIRE([AM_INTL_SUBDIR])dnl
++ ])
++
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ dnl Ideally we would do this search only after the
++ dnl if test "$USE_NLS" = "yes"; then
++ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
++ dnl the configure script would need to contain the same shell code
++ dnl again, outside any 'if'. There are two solutions:
++ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
++ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
++ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
++ dnl documented, we avoid it.
++ ifelse(gt_included_intl, yes, , [
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++ ])
++
++ dnl Set USE_NLS.
++ AM_NLS
++
++ ifelse(gt_included_intl, yes, [
++ BUILD_INCLUDED_LIBINTL=no
++ USE_INCLUDED_LIBINTL=no
++ ])
++ LIBINTL=
++ LTLIBINTL=
++ POSUB=
++
++ dnl If we use NLS figure out what method
++ if test "$USE_NLS" = "yes"; then
++ gt_use_preinstalled_gnugettext=no
++ ifelse(gt_included_intl, yes, [
++ AC_MSG_CHECKING([whether included gettext is requested])
++ AC_ARG_WITH(included-gettext,
++ [ --with-included-gettext use the GNU gettext library included here],
++ nls_cv_force_use_gnu_gettext=$withval,
++ nls_cv_force_use_gnu_gettext=no)
++ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
++
++ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
++ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
++ ])
++ dnl User does not insist on using GNU NLS library. Figure out what
++ dnl to use. If GNU gettext is available we use this. Else we have
++ dnl to fall back to GNU NLS library.
++
++ dnl Add a version number to the cache macros.
++ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
++ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
++ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
++
++ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
++ [AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern int *_nl_domain_bindings;],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
++ gt_cv_func_gnugettext_libc=yes,
++ gt_cv_func_gnugettext_libc=no)])
++
++ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ ifelse(gt_included_intl, yes, , [
++ AM_ICONV_LINK
++ ])
++ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
++ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
++ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
++ dnl even if libiconv doesn't exist.
++ AC_LIB_LINKFLAGS_BODY([intl])
++ AC_CACHE_CHECK([for GNU gettext in libintl],
++ gt_cv_func_gnugettext_libintl,
++ [gt_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $INCINTL"
++ gt_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBINTL"
++ dnl Now see whether libintl exists and does not depend on libiconv.
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ gt_cv_func_gnugettext_libintl=yes,
++ gt_cv_func_gnugettext_libintl=no)
++ dnl Now see whether libintl exists and depends on libiconv.
++ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ [LIBINTL="$LIBINTL $LIBICONV"
++ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
++ gt_cv_func_gnugettext_libintl=yes
++ ])
++ fi
++ CPPFLAGS="$gt_save_CPPFLAGS"
++ LIBS="$gt_save_LIBS"])
++ fi
++
++ dnl If an already present or preinstalled GNU gettext() is found,
++ dnl use it. But if this macro is used in GNU gettext, and GNU
++ dnl gettext is already preinstalled in libintl, we update this
++ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
++ if test "$gt_cv_func_gnugettext_libc" = "yes" \
++ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
++ && test "$PACKAGE" != gettext-runtime \
++ && test "$PACKAGE" != gettext-tools; }; then
++ gt_use_preinstalled_gnugettext=yes
++ else
++ dnl Reset the values set by searching for libintl.
++ LIBINTL=
++ LTLIBINTL=
++ INCINTL=
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
++ dnl GNU gettext is not found in the C library.
++ dnl Fall back on included GNU gettext library.
++ nls_cv_use_gnu_gettext=yes
++ fi
++ fi
++
++ if test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions used to generate GNU NLS library.
++ BUILD_INCLUDED_LIBINTL=yes
++ USE_INCLUDED_LIBINTL=yes
++ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
++ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
++ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
++ fi
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions to use GNU gettext tools.
++ CATOBJEXT=.gmo
++ fi
++ ])
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ AC_DEFINE(ENABLE_NLS, 1,
++ [Define to 1 if translation of program messages to the user's native language
++ is requested.])
++ else
++ USE_NLS=no
++ fi
++ fi
++
++ AC_MSG_CHECKING([whether to use NLS])
++ AC_MSG_RESULT([$USE_NLS])
++ if test "$USE_NLS" = "yes"; then
++ AC_MSG_CHECKING([where the gettext function comes from])
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
++ gt_source="external libintl"
++ else
++ gt_source="libc"
++ fi
++ else
++ gt_source="included intl directory"
++ fi
++ AC_MSG_RESULT([$gt_source])
++ fi
++
++ if test "$USE_NLS" = "yes"; then
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
++ AC_MSG_CHECKING([how to link with libintl])
++ AC_MSG_RESULT([$LIBINTL])
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
++ fi
++
++ dnl For backward compatibility. Some packages may be using this.
++ AC_DEFINE(HAVE_GETTEXT, 1,
++ [Define if the GNU gettext() function is already present or preinstalled.])
++ AC_DEFINE(HAVE_DCGETTEXT, 1,
++ [Define if the GNU dcgettext() function is already present or preinstalled.])
++ fi
++
++ dnl We need to process the po/ directory.
++ POSUB=po
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
++ dnl to 'yes' because some of the testsuite requires it.
++ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
++ BUILD_INCLUDED_LIBINTL=yes
++ fi
++
++ dnl Make all variables we use known to autoconf.
++ AC_SUBST(BUILD_INCLUDED_LIBINTL)
++ AC_SUBST(USE_INCLUDED_LIBINTL)
++ AC_SUBST(CATOBJEXT)
++
++ dnl For backward compatibility. Some configure.ins may be using this.
++ nls_cv_header_intl=
++ nls_cv_header_libgt=
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ DATADIRNAME=share
++ AC_SUBST(DATADIRNAME)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INSTOBJEXT=.mo
++ AC_SUBST(INSTOBJEXT)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ GENCAT=gencat
++ AC_SUBST(GENCAT)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ if test "$USE_INCLUDED_LIBINTL" = yes; then
++ INTLOBJS="\$(GETTOBJS)"
++ fi
++ AC_SUBST(INTLOBJS)
++
++ dnl Enable libtool support if the surrounding package wishes it.
++ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
++ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
++ ])
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INTLLIBS="$LIBINTL"
++ AC_SUBST(INTLLIBS)
++
++ dnl Make all documented variables known to autoconf.
++ AC_SUBST(LIBINTL)
++ AC_SUBST(LTLIBINTL)
++ AC_SUBST(POSUB)
++])
++
++
++dnl Checks for all prerequisites of the intl subdirectory,
++dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
++dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
++AC_DEFUN([AM_INTL_SUBDIR],
++[
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++ AC_REQUIRE([AC_PROG_RANLIB])dnl
++ AC_REQUIRE([AC_ISC_POSIX])dnl
++ AC_REQUIRE([AC_HEADER_STDC])dnl
++ AC_REQUIRE([AC_C_CONST])dnl
++ AC_REQUIRE([bh_C_SIGNED])dnl
++ AC_REQUIRE([AC_C_INLINE])dnl
++ AC_REQUIRE([AC_TYPE_OFF_T])dnl
++ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
++ AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl
++ AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
++ AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
++ AC_REQUIRE([gt_TYPE_WINT_T])dnl
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ AC_REQUIRE([gt_TYPE_INTMAX_T])
++ AC_REQUIRE([gt_PRINTF_POSIX])
++ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
++ AC_REQUIRE([AC_FUNC_MMAP])dnl
++ AC_REQUIRE([jm_GLIBC21])dnl
++ AC_REQUIRE([gt_INTDIV0])dnl
++ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
++ AC_REQUIRE([gt_INTTYPES_PRI])dnl
++ AC_REQUIRE([gl_XSIZE])dnl
++
++ AC_CHECK_TYPE([ptrdiff_t], ,
++ [AC_DEFINE([ptrdiff_t], [long],
++ [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
++ ])
++ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
++stdlib.h string.h unistd.h sys/param.h])
++ AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
++mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
++strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
++__fsetlocking])
++
++ dnl Use the _snprintf function only if it is declared (because on NetBSD it
++ dnl is defined as a weak alias of snprintf; we prefer to use the latter).
++ gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
++ gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
++
++ dnl Use the *_unlocked functions only if they are declared.
++ dnl (because some of them were defined without being declared in Solaris
++ dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
++ dnl on Solaris 2.5.1 to run on Solaris 2.6).
++ dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
++ gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
++ gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
++ gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
++
++ case $gt_cv_func_printf_posix in
++ *yes) HAVE_POSIX_PRINTF=1 ;;
++ *) HAVE_POSIX_PRINTF=0 ;;
++ esac
++ AC_SUBST([HAVE_POSIX_PRINTF])
++ if test "$ac_cv_func_asprintf" = yes; then
++ HAVE_ASPRINTF=1
++ else
++ HAVE_ASPRINTF=0
++ fi
++ AC_SUBST([HAVE_ASPRINTF])
++ if test "$ac_cv_func_snprintf" = yes; then
++ HAVE_SNPRINTF=1
++ else
++ HAVE_SNPRINTF=0
++ fi
++ AC_SUBST([HAVE_SNPRINTF])
++ if test "$ac_cv_func_wprintf" = yes; then
++ HAVE_WPRINTF=1
++ else
++ HAVE_WPRINTF=0
++ fi
++ AC_SUBST([HAVE_WPRINTF])
++
++ AM_ICONV
++ AM_LANGINFO_CODESET
++ if test $ac_cv_header_locale_h = yes; then
++ AM_LC_MESSAGES
++ fi
++
++ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
++ dnl because plural.y uses bison specific features. It requires at least
++ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
++ dnl compile.
++ dnl bison is only needed for the maintainer (who touches plural.y). But in
++ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
++ dnl the rule in general Makefile. Now, some people carelessly touch the
++ dnl files or have a broken "make" program, hence the plural.c rule will
++ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
++ dnl present or too old.
++ AC_CHECK_PROGS([INTLBISON], [bison])
++ if test -z "$INTLBISON"; then
++ ac_verc_fail=yes
++ else
++ dnl Found it, now check the version.
++ AC_MSG_CHECKING([version of bison])
++changequote(<<,>>)dnl
++ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
++ case $ac_prog_version in
++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
++ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
++changequote([,])dnl
++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
++ esac
++ AC_MSG_RESULT([$ac_prog_version])
++ fi
++ if test $ac_verc_fail = yes; then
++ INTLBISON=:
++ fi
++])
++
++
++dnl gt_CHECK_DECL(FUNC, INCLUDES)
++dnl Check whether a function is declared.
++AC_DEFUN([gt_CHECK_DECL],
++[
++ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
++ [AC_TRY_COMPILE([$2], [
++#ifndef $1
++ char *p = (char *) $1;
++#endif
++], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
++ if test $ac_cv_have_decl_$1 = yes; then
++ gt_value=1
++ else
++ gt_value=0
++ fi
++ AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
++ [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
++])
++
++
++dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
++AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+--- lrzsz-0.12.20.safe/m4/glibc21.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/glibc21.m4 2004-09-12 14:40:34.833675432 -0400
+@@ -0,0 +1,32 @@
++# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# Test for the GNU C Library, version 2.1 or newer.
++# From Bruno Haible.
++
++AC_DEFUN([jm_GLIBC21],
++ [
++ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
++ ac_cv_gnu_library_2_1,
++ [AC_EGREP_CPP([Lucky GNU user],
++ [
++#include <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
++ Lucky GNU user
++ #endif
++#endif
++ ],
++ ac_cv_gnu_library_2_1=yes,
++ ac_cv_gnu_library_2_1=no)
++ ]
++ )
++ AC_SUBST(GLIBC21)
++ GLIBC21="$ac_cv_gnu_library_2_1"
++ ]
++)
+--- lrzsz-0.12.20.safe/m4/iconv.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/iconv.m4 2004-09-12 14:40:34.839674520 -0400
+@@ -0,0 +1,103 @@
++# iconv.m4 serial AM4 (gettext-0.11.3)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
++[
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([iconv])
++])
++
++AC_DEFUN([AM_ICONV_LINK],
++[
++ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
++ dnl those with the standalone portable GNU libiconv installed).
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++
++ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed libiconv and not disabled its use
++ dnl via --without-libiconv-prefix, he wants to use it. The first
++ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
++ am_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
++
++ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
++ am_cv_func_iconv="no, consider installing GNU libiconv"
++ am_cv_lib_iconv=no
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_func_iconv=yes)
++ if test "$am_cv_func_iconv" != yes; then
++ am_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_lib_iconv=yes
++ am_cv_func_iconv=yes)
++ LIBS="$am_save_LIBS"
++ fi
++ ])
++ if test "$am_cv_func_iconv" = yes; then
++ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
++ fi
++ if test "$am_cv_lib_iconv" = yes; then
++ AC_MSG_CHECKING([how to link with libiconv])
++ AC_MSG_RESULT([$LIBICONV])
++ else
++ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
++ dnl either.
++ CPPFLAGS="$am_save_CPPFLAGS"
++ LIBICONV=
++ LTLIBICONV=
++ fi
++ AC_SUBST(LIBICONV)
++ AC_SUBST(LTLIBICONV)
++])
++
++AC_DEFUN([AM_ICONV],
++[
++ AM_ICONV_LINK
++ if test "$am_cv_func_iconv" = yes; then
++ AC_MSG_CHECKING([for iconv declaration])
++ AC_CACHE_VAL(am_cv_proto_iconv, [
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <iconv.h>
++extern
++#ifdef __cplusplus
++"C"
++#endif
++#if defined(__STDC__) || defined(__cplusplus)
++size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
++#else
++size_t iconv();
++#endif
++], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
++ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
++ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
++ AC_MSG_RESULT([$]{ac_t:-
++ }[$]am_cv_proto_iconv)
++ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
++ [Define as const if the declaration of iconv() needs const.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/intdiv0.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/intdiv0.m4 2004-09-12 14:40:34.845673608 -0400
+@@ -0,0 +1,72 @@
++# intdiv0.m4 serial 1 (gettext-0.11.3)
++dnl Copyright (C) 2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([gt_INTDIV0],
++[
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
++ gt_cv_int_divbyzero_sigfpe,
++ [
++ AC_TRY_RUN([
++#include <stdlib.h>
++#include <signal.h>
++
++static void
++#ifdef __cplusplus
++sigfpe_handler (int sig)
++#else
++sigfpe_handler (sig) int sig;
++#endif
++{
++ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
++ exit (sig != SIGFPE);
++}
++
++int x = 1;
++int y = 0;
++int z;
++int nan;
++
++int main ()
++{
++ signal (SIGFPE, sigfpe_handler);
++/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
++#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
++ signal (SIGTRAP, sigfpe_handler);
++#endif
++/* Linux/SPARC yields signal SIGILL. */
++#if defined (__sparc__) && defined (__linux__)
++ signal (SIGILL, sigfpe_handler);
++#endif
++
++ z = x / y;
++ nan = y / y;
++ exit (1);
++}
++], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
++ [
++ # Guess based on the CPU.
++ case "$host_cpu" in
++ alpha* | i[34567]86 | m68k | s390*)
++ gt_cv_int_divbyzero_sigfpe="guessing yes";;
++ *)
++ gt_cv_int_divbyzero_sigfpe="guessing no";;
++ esac
++ ])
++ ])
++ case "$gt_cv_int_divbyzero_sigfpe" in
++ *yes) value=1;;
++ *) value=0;;
++ esac
++ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
++ [Define if integer division by zero raises signal SIGFPE.])
++])
+--- lrzsz-0.12.20.safe/m4/intmax.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/intmax.m4 2004-09-12 14:40:34.855672088 -0400
+@@ -0,0 +1,32 @@
++# intmax.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether the system has the 'intmax_t' type, but don't attempt to
++dnl find a replacement if it is lacking.
++
++AC_DEFUN([gt_TYPE_INTMAX_T],
++[
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
++ [AC_TRY_COMPILE([
++#include <stddef.h>
++#include <stdlib.h>
++#if HAVE_STDINT_H_WITH_UINTMAX
++#include <stdint.h>
++#endif
++#if HAVE_INTTYPES_H_WITH_UINTMAX
++#include <inttypes.h>
++#endif
++], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
++ if test $gt_cv_c_intmax_t = yes; then
++ AC_DEFINE(HAVE_INTMAX_T, 1,
++ [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/inttypes_h.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/inttypes_h.m4 2004-09-12 14:40:34.868670112 -0400
+@@ -0,0 +1,28 @@
++# inttypes_h.m4 serial 5 (gettext-0.12)
++dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_inttypes_h=yes,
++ jm_ac_cv_header_inttypes_h=no)])
++ if test $jm_ac_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
++ [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/inttypes.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/inttypes.m4 2004-09-12 14:40:34.861671176 -0400
+@@ -0,0 +1,27 @@
++# inttypes.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
++# <sys/types.h>.
++
++AC_DEFUN([gt_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
++ [
++ AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
++ ])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
++ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/inttypes-pri.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/inttypes-pri.m4 2004-09-12 14:40:34.874669200 -0400
+@@ -0,0 +1,32 @@
++# inttypes-pri.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
++# macros to non-string values. This is the case on AIX 4.3.3.
++
++AC_DEFUN([gt_INTTYPES_PRI],
++[
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
++ gt_cv_inttypes_pri_broken,
++ [
++ AC_TRY_COMPILE([#include <inttypes.h>
++#ifdef PRId32
++char *p = PRId32;
++#endif
++], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
++ ])
++ fi
++ if test "$gt_cv_inttypes_pri_broken" = yes; then
++ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
++ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/isc-posix.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/isc-posix.m4 2004-09-12 14:40:34.885667528 -0400
+@@ -0,0 +1,26 @@
++# isc-posix.m4 serial 2 (gettext-0.11.2)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
++
++# This test replaces the one in autoconf.
++# Currently this macro should have the same name as the autoconf macro
++# because gettext's gettext.m4 (distributed in the automake package)
++# still uses it. Otherwise, the use in gettext.m4 makes autoheader
++# give these diagnostics:
++# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
++# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
++
++undefine([AC_ISC_POSIX])
++
++AC_DEFUN([AC_ISC_POSIX],
++ [
++ dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
++ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
++ ]
++)
+--- lrzsz-0.12.20.safe/m4/lcmessage.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/lcmessage.m4 2004-09-12 14:40:34.902664944 -0400
+@@ -0,0 +1,32 @@
++# lcmessage.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
++
++# Check whether LC_MESSAGES is available in <locale.h>.
++
++AC_DEFUN([AM_LC_MESSAGES],
++[
++ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
++ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
++ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
++ if test $am_cv_val_LC_MESSAGES = yes; then
++ AC_DEFINE(HAVE_LC_MESSAGES, 1,
++ [Define if your <locale.h> file defines LC_MESSAGES.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/lib-ld.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/lib-ld.m4 2004-09-12 14:40:34.908664032 -0400
+@@ -0,0 +1,112 @@
++# lib-ld.m4 serial 3 (gettext-0.13)
++dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl Subroutines of libtool.m4,
++dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
++dnl with libtool.m4.
++
++dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
++AC_DEFUN([AC_LIB_PROG_LD_GNU],
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
++[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++ acl_cv_prog_gnu_ld=yes ;;
++*)
++ acl_cv_prog_gnu_ld=no ;;
++esac])
++with_gnu_ld=$acl_cv_prog_gnu_ld
++])
++
++dnl From libtool-1.4. Sets the variable LD.
++AC_DEFUN([AC_LIB_PROG_LD],
++[AC_ARG_WITH(gnu-ld,
++[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
++test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ AC_MSG_CHECKING([for ld used by GCC])
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [[\\/]* | [A-Za-z]:[\\/]*)]
++ [re_direlt='/[^/][^/]*/\.\./']
++ # Canonicalize the path of ld
++ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
++ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ AC_MSG_CHECKING([for GNU ld])
++else
++ AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(acl_cv_path_LD,
++[if test -z "$LD"; then
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
++ for ac_dir in $PATH; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ acl_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some GNU ld's only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break ;;
++ *)
++ test "$with_gnu_ld" != yes && break ;;
++ esac
++ fi
++ done
++ IFS="$ac_save_ifs"
++else
++ acl_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$acl_cv_path_LD"
++if test -n "$LD"; then
++ AC_MSG_RESULT($LD)
++else
++ AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++AC_LIB_PROG_LD_GNU
++])
+--- lrzsz-0.12.20.safe/m4/lib-link.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/lib-link.m4 2004-09-12 14:40:34.914663120 -0400
+@@ -0,0 +1,551 @@
++# lib-link.m4 serial 4 (gettext-0.12)
++dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
++dnl augments the CPPFLAGS variable.
++AC_DEFUN([AC_LIB_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
++ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
++ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
++ ])
++ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
++ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
++ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
++ dnl results of this search when this library appears as a dependency.
++ HAVE_LIB[]NAME=yes
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
++dnl searches for libname and the libraries corresponding to explicit and
++dnl implicit dependencies, together with the specified include files and
++dnl the ability to compile and link the specified testcode. If found, it
++dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
++dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
++dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
++dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
++AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++
++ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++
++ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed lib[]Name and not disabled its use
++ dnl via --without-lib[]Name-prefix, he wants to use it.
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++
++ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
++ ac_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIB[]NAME"
++ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
++ LIBS="$ac_save_LIBS"
++ ])
++ if test "$ac_cv_lib[]Name" = yes; then
++ HAVE_LIB[]NAME=yes
++ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
++ AC_MSG_CHECKING([how to link with lib[]$1])
++ AC_MSG_RESULT([$LIB[]NAME])
++ else
++ HAVE_LIB[]NAME=no
++ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
++ dnl $INC[]NAME either.
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ LIB[]NAME=
++ LTLIB[]NAME=
++ fi
++ AC_SUBST([HAVE_LIB]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl Determine the platform dependent parameters needed to use rpath:
++dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
++dnl hardcode_direct, hardcode_minus_L.
++AC_DEFUN([AC_LIB_RPATH],
++[
++ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
++ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
++ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
++ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
++ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
++ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
++ . ./conftest.sh
++ rm -f ./conftest.sh
++ acl_cv_rpath=done
++ ])
++ wl="$acl_cv_wl"
++ libext="$acl_cv_libext"
++ shlibext="$acl_cv_shlibext"
++ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
++ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
++ hardcode_direct="$acl_cv_hardcode_direct"
++ hardcode_minus_L="$acl_cv_hardcode_minus_L"
++ dnl Determine whether the user wants rpath handling at all.
++ AC_ARG_ENABLE(rpath,
++ [ --disable-rpath do not hardcode runtime library paths],
++ :, enable_rpath=yes)
++])
++
++dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
++AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
++[
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_LIB_ARG_WITH([lib$1-prefix],
++[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
++ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ dnl Search the library and its dependencies in $additional_libdir and
++ dnl $LDFLAGS. Using breadth-first-seach.
++ LIB[]NAME=
++ LTLIB[]NAME=
++ INC[]NAME=
++ rpathdirs=
++ ltrpathdirs=
++ names_already_handled=
++ names_next_round='$1 $2'
++ while test -n "$names_next_round"; do
++ names_this_round="$names_next_round"
++ names_next_round=
++ for name in $names_this_round; do
++ already_handled=
++ for n in $names_already_handled; do
++ if test "$n" = "$name"; then
++ already_handled=yes
++ break
++ fi
++ done
++ if test -z "$already_handled"; then
++ names_already_handled="$names_already_handled $name"
++ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
++ dnl or AC_LIB_HAVE_LINKFLAGS call.
++ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++ eval value=\"\$HAVE_LIB$uppername\"
++ if test -n "$value"; then
++ if test "$value" = yes; then
++ eval value=\"\$LIB$uppername\"
++ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
++ eval value=\"\$LTLIB$uppername\"
++ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
++ else
++ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
++ dnl that this library doesn't exist. So just drop it.
++ :
++ fi
++ else
++ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
++ dnl and the already constructed $LIBNAME/$LTLIBNAME.
++ found_dir=
++ found_la=
++ found_so=
++ found_a=
++ if test $use_additional = yes; then
++ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
++ found_dir="$additional_libdir"
++ found_so="$additional_libdir/lib$name.$shlibext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ else
++ if test -f "$additional_libdir/lib$name.$libext"; then
++ found_dir="$additional_libdir"
++ found_a="$additional_libdir/lib$name.$libext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ fi
++ fi
++ fi
++ if test "X$found_dir" = "X"; then
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ case "$x" in
++ -L*)
++ dir=`echo "X$x" | sed -e 's/^X-L//'`
++ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
++ found_dir="$dir"
++ found_so="$dir/lib$name.$shlibext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ else
++ if test -f "$dir/lib$name.$libext"; then
++ found_dir="$dir"
++ found_a="$dir/lib$name.$libext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ fi
++ fi
++ ;;
++ esac
++ if test "X$found_dir" != "X"; then
++ break
++ fi
++ done
++ fi
++ if test "X$found_dir" != "X"; then
++ dnl Found the library.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
++ if test "X$found_so" != "X"; then
++ dnl Linking with a shared library. We attempt to hardcode its
++ dnl directory into the executable's runpath, unless it's the
++ dnl standard /usr/lib.
++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
++ dnl No hardcoding is needed.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $found_dir"
++ fi
++ dnl The hardcoding into $LIBNAME is system dependent.
++ if test "$hardcode_direct" = yes; then
++ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
++ dnl resulting binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $found_dir"
++ fi
++ else
++ dnl Rely on "-L$found_dir".
++ dnl But don't add it if it's already contained in the LDFLAGS
++ dnl or the already constructed $LIBNAME
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
++ fi
++ if test "$hardcode_minus_L" != no; then
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
++ dnl here, because this doesn't fit in flags passed to the
++ dnl compiler. So give up. No hardcoding. This affects only
++ dnl very old systems.
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ fi
++ else
++ if test "X$found_a" != "X"; then
++ dnl Linking with a static library.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
++ else
++ dnl We shouldn't come here, but anyway it's good to have a
++ dnl fallback.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
++ fi
++ fi
++ dnl Assume the include files are nearby.
++ additional_includedir=
++ case "$found_dir" in
++ */lib | */lib/)
++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
++ additional_includedir="$basedir/include"
++ ;;
++ esac
++ if test "X$additional_includedir" != "X"; then
++ dnl Potentially add $additional_includedir to $INCNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 3. if it's already present in $CPPFLAGS or the already
++ dnl constructed $INCNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ for x in $CPPFLAGS $INC[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $INCNAME.
++ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ fi
++ dnl Look for dependencies.
++ if test -n "$found_la"; then
++ dnl Read the .la file. It defines the variables
++ dnl dlname, library_names, old_library, dependency_libs, current,
++ dnl age, revision, installed, dlopen, dlpreopen, libdir.
++ save_libdir="$libdir"
++ case "$found_la" in
++ */* | *\\*) . "$found_la" ;;
++ *) . "./$found_la" ;;
++ esac
++ libdir="$save_libdir"
++ dnl We use only dependency_libs.
++ for dep in $dependency_libs; do
++ case "$dep" in
++ -L*)
++ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 3. if it's already present in $LDFLAGS or the already
++ dnl constructed $LIBNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LIBNAME.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ haveit=
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LTLIBNAME.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ ;;
++ -R*)
++ dir=`echo "X$dep" | sed -e 's/^X-R//'`
++ if test "$enable_rpath" != no; then
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $dir"
++ fi
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $dir"
++ fi
++ fi
++ ;;
++ -l*)
++ dnl Handle this in the next round.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++ ;;
++ *.la)
++ dnl Handle this in the next round. Throw away the .la's
++ dnl directory; it is already contained in a preceding -L
++ dnl option.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++ ;;
++ *)
++ dnl Most likely an immediate library name.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
++ ;;
++ esac
++ done
++ fi
++ else
++ dnl Didn't find the library; assume it is in the system directories
++ dnl known to the linker and runtime loader. (All the system
++ dnl directories known to the linker should also be known to the
++ dnl runtime loader, otherwise the system is severely misconfigured.)
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ done
++ done
++ if test "X$rpathdirs" != "X"; then
++ if test -n "$hardcode_libdir_separator"; then
++ dnl Weird platform: only the last -rpath option counts, the user must
++ dnl pass all path elements in one option. We can arrange that for a
++ dnl single library, but not when more than one $LIBNAMEs are used.
++ alldirs=
++ for found_dir in $rpathdirs; do
++ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++ done
++ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
++ acl_save_libdir="$libdir"
++ libdir="$alldirs"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ else
++ dnl The -rpath options are cumulative.
++ for found_dir in $rpathdirs; do
++ acl_save_libdir="$libdir"
++ libdir="$found_dir"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ done
++ fi
++ fi
++ if test "X$ltrpathdirs" != "X"; then
++ dnl When using libtool, the option that works for both libraries and
++ dnl executables is -R. The -R options are cumulative.
++ for found_dir in $ltrpathdirs; do
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
++ done
++ fi
++])
++
++dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
++dnl unless already present in VAR.
++dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
++dnl contains two or three consecutive elements that belong together.
++AC_DEFUN([AC_LIB_APPENDTOVAR],
++[
++ for element in [$2]; do
++ haveit=
++ for x in $[$1]; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X$element"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ [$1]="${[$1]}${[$1]:+ }$element"
++ fi
++ done
++])
+--- lrzsz-0.12.20.safe/m4/lib-prefix.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/lib-prefix.m4 2004-09-12 14:40:34.921662056 -0400
+@@ -0,0 +1,155 @@
++# lib-prefix.m4 serial 3 (gettext-0.13)
++dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
++dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
++dnl require excessive bracketing.
++ifdef([AC_HELP_STRING],
++[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
++[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
++
++dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
++dnl to access previously installed libraries. The basic assumption is that
++dnl a user will want packages to use other packages he previously installed
++dnl with the same --prefix option.
++dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
++dnl libraries, but is otherwise very convenient.
++AC_DEFUN([AC_LIB_PREFIX],
++[
++ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
++ AC_REQUIRE([AC_PROG_CC])
++ AC_REQUIRE([AC_CANONICAL_HOST])
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_LIB_ARG_WITH([lib-prefix],
++[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
++ --without-lib-prefix don't search for libraries in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ if test $use_additional = yes; then
++ dnl Potentially add $additional_includedir to $CPPFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's already present in $CPPFLAGS,
++ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ for x in $CPPFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $CPPFLAGS.
++ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ dnl Potentially add $additional_libdir to $LDFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's already present in $LDFLAGS,
++ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ for x in $LDFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LDFLAGS.
++ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ fi
++])
++
++dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
++dnl acl_final_exec_prefix, containing the values to which $prefix and
++dnl $exec_prefix will expand at the end of the configure script.
++AC_DEFUN([AC_LIB_PREPARE_PREFIX],
++[
++ dnl Unfortunately, prefix and exec_prefix get only finally determined
++ dnl at the end of configure.
++ if test "X$prefix" = "XNONE"; then
++ acl_final_prefix="$ac_default_prefix"
++ else
++ acl_final_prefix="$prefix"
++ fi
++ if test "X$exec_prefix" = "XNONE"; then
++ acl_final_exec_prefix='${prefix}'
++ else
++ acl_final_exec_prefix="$exec_prefix"
++ fi
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
++ prefix="$acl_save_prefix"
++])
++
++dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
++dnl variables prefix and exec_prefix bound to the values they will have
++dnl at the end of the configure script.
++AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
++[
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ $1
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++])
+--- lrzsz-0.12.20.safe/m4/longdouble.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/longdouble.m4 2004-09-12 14:40:34.942658864 -0400
+@@ -0,0 +1,30 @@
++# longdouble.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether the compiler supports the 'long double' type.
++dnl Prerequisite: AC_PROG_CC
++
++AC_DEFUN([gt_TYPE_LONGDOUBLE],
++[
++ AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
++ [if test "$GCC" = yes; then
++ gt_cv_c_long_double=yes
++ else
++ AC_TRY_COMPILE([
++ /* The Stardent Vistra knows sizeof(long double), but does not support it. */
++ long double foo = 0.0;
++ /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
++ int array [2*(sizeof(long double) >= sizeof(double)) - 1];
++ ], ,
++ gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
++ fi])
++ if test $gt_cv_c_long_double = yes; then
++ AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/longlong.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/longlong.m4 2004-09-12 14:40:34.949657800 -0400
+@@ -0,0 +1,25 @@
++# longlong.m4 serial 4
++dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_LONG_LONG if 'long long' works.
++
++AC_DEFUN([jm_AC_TYPE_LONG_LONG],
++[
++ AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
++ [AC_TRY_LINK([long long ll = 1LL; int i = 63;],
++ [long long llmax = (long long) -1;
++ return ll << i | ll >> i | llmax / ll | llmax % ll;],
++ ac_cv_type_long_long=yes,
++ ac_cv_type_long_long=no)])
++ if test $ac_cv_type_long_long = yes; then
++ AC_DEFINE(HAVE_LONG_LONG, 1,
++ [Define if you have the 'long long' type.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/Makefile.am 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/Makefile.am 2004-09-12 14:40:35.048642752 -0400
+@@ -0,0 +1 @@
++EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 intmax.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 longdouble.m4 longlong.m4 nls.m4 po.m4 printf-posix.m4 progtest.m4 signed.m4 size_max.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 wchar_t.m4 wint_t.m4 xsize.m4
+--- lrzsz-0.12.20.safe/m4/nls.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/nls.m4 2004-09-12 14:40:34.955656888 -0400
+@@ -0,0 +1,49 @@
++# nls.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
++
++AC_DEFUN([AM_NLS],
++[
++ AC_MSG_CHECKING([whether NLS is requested])
++ dnl Default is enabled NLS
++ AC_ARG_ENABLE(nls,
++ [ --disable-nls do not use Native Language Support],
++ USE_NLS=$enableval, USE_NLS=yes)
++ AC_MSG_RESULT($USE_NLS)
++ AC_SUBST(USE_NLS)
++])
++
++AC_DEFUN([AM_MKINSTALLDIRS],
++[
++ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
++ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
++ dnl Try to locate it.
++ MKINSTALLDIRS=
++ if test -n "$ac_aux_dir"; then
++ case "$ac_aux_dir" in
++ /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
++ *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
++ esac
++ fi
++ if test -z "$MKINSTALLDIRS"; then
++ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
++ fi
++ AC_SUBST(MKINSTALLDIRS)
++])
+--- lrzsz-0.12.20.safe/m4/po.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/po.m4 2004-09-12 14:40:34.961655976 -0400
+@@ -0,0 +1,426 @@
++# po.m4 serial 3 (gettext-0.14)
++dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
++
++dnl Checks for all prerequisites of the po subdirectory.
++AC_DEFUN([AM_PO_SUBDIRS],
++[
++ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++ AC_REQUIRE([AM_NLS])dnl
++
++ dnl Perform the following tests also if --disable-nls has been given,
++ dnl because they are needed for "make dist" to work.
++
++ dnl Search for GNU msgfmt in the PATH.
++ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
++ dnl The second test excludes FreeBSD msgfmt.
++ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
++ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
++
++ dnl Search for GNU xgettext 0.12 or newer in the PATH.
++ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
++ dnl The second test excludes FreeBSD xgettext.
++ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
++ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++
++ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
++ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
++ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU msgfmt.
++ if test "$GMSGFMT" != ":"; then
++ dnl If it is no GNU msgfmt we define it as : so that the
++ dnl Makefiles still can work.
++ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
++ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
++ AC_MSG_RESULT(
++ [found $GMSGFMT program is not GNU msgfmt; ignore it])
++ GMSGFMT=":"
++ fi
++ fi
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU xgettext.
++ if test "$XGETTEXT" != ":"; then
++ dnl If it is no GNU xgettext we define it as : so that the
++ dnl Makefiles still can work.
++ if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
++ (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ AC_MSG_RESULT(
++ [found xgettext program is not GNU xgettext; ignore it])
++ XGETTEXT=":"
++ fi
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++ fi
++
++ AC_OUTPUT_COMMANDS([
++ for ac_file in $CONFIG_FILES; do
++ # Support "outfile[:infile[:infile...]]"
++ case "$ac_file" in
++ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++ esac
++ # PO directories have a Makefile.in generated from Makefile.in.in.
++ case "$ac_file" in */Makefile.in)
++ # Adjust a relative srcdir.
++ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++ # In autoconf-2.13 it is called $ac_given_srcdir.
++ # In autoconf-2.50 it is called $srcdir.
++ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++ case "$ac_given_srcdir" in
++ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++ /*) top_srcdir="$ac_given_srcdir" ;;
++ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
++ esac
++ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
++ rm -f "$ac_dir/POTFILES"
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
++ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
++ POMAKEFILEDEPS="POTFILES.in"
++ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
++ # on $ac_dir but don't depend on user-specified configuration
++ # parameters.
++ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++ # The LINGUAS file contains the set of available languages.
++ if test -n "$OBSOLETE_ALL_LINGUAS"; then
++ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++ fi
++ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++ # Hide the ALL_LINGUAS assigment from automake.
++ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
++ else
++ # The set of available languages was given in configure.in.
++ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
++ fi
++ # Compute POFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
++ # Compute UPDATEPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
++ # Compute DUMMYPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
++ # Compute GMOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
++ case "$ac_given_srcdir" in
++ .) srcdirpre= ;;
++ *) srcdirpre='$(srcdir)/' ;;
++ esac
++ POFILES=
++ UPDATEPOFILES=
++ DUMMYPOFILES=
++ GMOFILES=
++ for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ done
++ # CATALOGS depends on both $ac_dir and the user's LINGUAS
++ # environment variable.
++ INST_LINGUAS=
++ if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test "%UNSET%" != "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ # Use the presentlang catalog if desiredlang is
++ # a. equal to presentlang, or
++ # b. a variant of presentlang (because in this case,
++ # presentlang can be used as a fallback for messages
++ # which are not translated in the desiredlang catalog).
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++ fi
++ CATALOGS=
++ if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ done
++ fi
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
++ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
++ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
++ if test -f "$f"; then
++ case "$f" in
++ *.orig | *.bak | *~) ;;
++ *) cat "$f" >> "$ac_dir/Makefile" ;;
++ esac
++ fi
++ done
++ fi
++ ;;
++ esac
++ done],
++ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
++ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
++ # from automake.
++ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
++ # Capture the value of LINGUAS because we need it to compute CATALOGS.
++ LINGUAS="${LINGUAS-%UNSET%}"
++ ])
++])
++
++dnl Postprocesses a Makefile in a directory containing PO files.
++AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
++[
++ # When this code is run, in config.status, two variables have already been
++ # set:
++ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
++ # - LINGUAS is the value of the environment variable LINGUAS at configure
++ # time.
++
++changequote(,)dnl
++ # Adjust a relative srcdir.
++ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++ # In autoconf-2.13 it is called $ac_given_srcdir.
++ # In autoconf-2.50 it is called $srcdir.
++ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++ case "$ac_given_srcdir" in
++ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++ /*) top_srcdir="$ac_given_srcdir" ;;
++ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
++ esac
++
++ # Find a way to echo strings without interpreting backslash.
++ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
++ gt_echo='echo'
++ else
++ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
++ gt_echo='printf %s\n'
++ else
++ echo_func () {
++ cat <<EOT
++$*
++EOT
++ }
++ gt_echo='echo_func'
++ fi
++ fi
++
++ # A sed script that extracts the value of VARIABLE from a Makefile.
++ sed_x_variable='
++# Test if the hold space is empty.
++x
++s/P/P/
++x
++ta
++# Yes it was empty. Look if we have the expected variable definition.
++/^[ ]*VARIABLE[ ]*=/{
++ # Seen the first line of the variable definition.
++ s/^[ ]*VARIABLE[ ]*=//
++ ba
++}
++bd
++:a
++# Here we are processing a line from the variable definition.
++# Remove comment, more precisely replace it with a space.
++s/#.*$/ /
++# See if the line ends in a backslash.
++tb
++:b
++s/\\$//
++# Print the line, without the trailing backslash.
++p
++tc
++# There was no trailing backslash. The end of the variable definition is
++# reached. Clear the hold space.
++s/^.*$//
++x
++bd
++:c
++# A trailing backslash means that the variable definition continues in the
++# next line. Put a nonempty string into the hold space to indicate this.
++s/^.*$/P/
++x
++:d
++'
++changequote([,])dnl
++
++ # Set POTFILES to the value of the Makefile variable POTFILES.
++ sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
++ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
++ # Compute POTFILES_DEPS as
++ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
++ POTFILES_DEPS=
++ for file in $POTFILES; do
++ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
++ done
++ POMAKEFILEDEPS=""
++
++ if test -n "$OBSOLETE_ALL_LINGUAS"; then
++ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++ fi
++ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++ # The LINGUAS file contains the set of available languages.
++ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
++ else
++ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
++ sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
++ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
++ fi
++ # Hide the ALL_LINGUAS assigment from automake.
++ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++ # Compute POFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
++ # Compute UPDATEPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
++ # Compute DUMMYPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
++ # Compute GMOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
++ # Compute PROPERTIESFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
++ # Compute CLASSFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
++ # Compute QMFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
++ # Compute MSGFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
++ # Compute RESOURCESDLLFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
++ case "$ac_given_srcdir" in
++ .) srcdirpre= ;;
++ *) srcdirpre='$(srcdir)/' ;;
++ esac
++ POFILES=
++ UPDATEPOFILES=
++ DUMMYPOFILES=
++ GMOFILES=
++ PROPERTIESFILES=
++ CLASSFILES=
++ QMFILES=
++ MSGFILES=
++ RESOURCESDLLFILES=
++ for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
++ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
++ QMFILES="$QMFILES $srcdirpre$lang.qm"
++ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
++ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
++ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
++ done
++ # CATALOGS depends on both $ac_dir and the user's LINGUAS
++ # environment variable.
++ INST_LINGUAS=
++ if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test "%UNSET%" != "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ # Use the presentlang catalog if desiredlang is
++ # a. equal to presentlang, or
++ # b. a variant of presentlang (because in this case,
++ # presentlang can be used as a fallback for messages
++ # which are not translated in the desiredlang catalog).
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++ fi
++ CATALOGS=
++ JAVACATALOGS=
++ QTCATALOGS=
++ TCLCATALOGS=
++ CSHARPCATALOGS=
++ if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
++ QTCATALOGS="$QTCATALOGS $lang.qm"
++ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
++ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
++ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
++ done
++ fi
++
++ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
++ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
++ # Add dependencies that cannot be formulated as a simple suffix rule.
++ for lang in $ALL_LINGUAS; do
++ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++ cat >> "$ac_file.tmp" <<EOF
++$frobbedlang.msg: $lang.po
++ @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
++ \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
++EOF
++ done
++ fi
++ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
++ # Add dependencies that cannot be formulated as a simple suffix rule.
++ for lang in $ALL_LINGUAS; do
++ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
++ cat >> "$ac_file.tmp" <<EOF
++$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
++ @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
++ \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
++EOF
++ done
++ fi
++ if test -n "$POMAKEFILEDEPS"; then
++ cat >> "$ac_file.tmp" <<EOF
++Makefile: $POMAKEFILEDEPS
++EOF
++ fi
++ mv "$ac_file.tmp" "$ac_file"
++])
+--- lrzsz-0.12.20.safe/m4/printf-posix.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/printf-posix.m4 2004-09-12 14:40:34.974654000 -0400
+@@ -0,0 +1,46 @@
++# printf-posix.m4 serial 2 (gettext-0.13.1)
++dnl Copyright (C) 2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether the printf() function supports POSIX/XSI format strings with
++dnl positions.
++
++AC_DEFUN([gt_PRINTF_POSIX],
++[
++ AC_REQUIRE([AC_PROG_CC])
++ AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
++ gt_cv_func_printf_posix,
++ [
++ AC_TRY_RUN([
++#include <stdio.h>
++#include <string.h>
++/* The string "%2$d %1$d", with dollar characters protected from the shell's
++ dollar expansion (possibly an autoconf bug). */
++static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
++static char buf[100];
++int main ()
++{
++ sprintf (buf, format, 33, 55);
++ return (strcmp (buf, "55 33") != 0);
++}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
++ [
++ AC_EGREP_CPP(notposix, [
++#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
++ notposix
++#endif
++ ], gt_cv_func_printf_posix="guessing no",
++ gt_cv_func_printf_posix="guessing yes")
++ ])
++ ])
++ case $gt_cv_func_printf_posix in
++ *yes)
++ AC_DEFINE(HAVE_POSIX_PRINTF, 1,
++ [Define if your printf() function supports format strings with positions.])
++ ;;
++ esac
++])
+--- lrzsz-0.12.20.safe/m4/progtest.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/progtest.m4 2004-09-12 14:40:34.990651568 -0400
+@@ -0,0 +1,91 @@
++# progtest.m4 serial 3 (gettext-0.12)
++dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
++
++# Search path for a program which passes the given test.
++
++dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
++dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
++AC_DEFUN([AM_PATH_PROG_WITH_TEST],
++[
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Find out how to test for executable files. Don't use a zero-byte file,
++# as systems may use methods other than mode bits to determine executability.
++cat >conf$$.file <<_ASEOF
++#! /bin/sh
++exit 0
++_ASEOF
++chmod +x conf$$.file
++if test -x conf$$.file >/dev/null 2>&1; then
++ ac_executable_p="test -x"
++else
++ ac_executable_p="test -f"
++fi
++rm -f conf$$.file
++
++# Extract the first word of "$2", so it can be a program name with args.
++set dummy $2; ac_word=[$]2
++AC_MSG_CHECKING([for $ac_word])
++AC_CACHE_VAL(ac_cv_path_$1,
++[case "[$]$1" in
++ [[\\/]]* | ?:[[\\/]]*)
++ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in ifelse([$5], , $PATH, [$5]); do
++ IFS="$ac_save_IFS"
++ test -z "$ac_dir" && ac_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
++ if [$3]; then
++ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
++ break 2
++ fi
++ fi
++ done
++ done
++ IFS="$ac_save_IFS"
++dnl If no 4th arg is given, leave the cache variable unset,
++dnl so AC_PATH_PROGS will keep looking.
++ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
++])dnl
++ ;;
++esac])dnl
++$1="$ac_cv_path_$1"
++if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
++ AC_MSG_RESULT([$]$1)
++else
++ AC_MSG_RESULT(no)
++fi
++AC_SUBST($1)dnl
++])
+--- lrzsz-0.12.20.safe/m4/signed.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/signed.m4 2004-09-12 14:40:34.996650656 -0400
+@@ -0,0 +1,19 @@
++# signed.m4 serial 1 (gettext-0.10.40)
++dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([bh_C_SIGNED],
++[
++ AC_CACHE_CHECK([for signed], bh_cv_c_signed,
++ [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
++ if test $bh_cv_c_signed = no; then
++ AC_DEFINE(signed, ,
++ [Define to empty if the C compiler doesn't support this keyword.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/size_max.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/size_max.m4 2004-09-12 14:40:35.003649592 -0400
+@@ -0,0 +1,61 @@
++# size_max.m4 serial 2
++dnl Copyright (C) 2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([gl_SIZE_MAX],
++[
++ AC_CHECK_HEADERS(stdint.h)
++ dnl First test whether the system already has SIZE_MAX.
++ AC_MSG_CHECKING([for SIZE_MAX])
++ result=
++ AC_EGREP_CPP([Found it], [
++#include <limits.h>
++#if HAVE_STDINT_H
++#include <stdint.h>
++#endif
++#ifdef SIZE_MAX
++Found it
++#endif
++], result=yes)
++ if test -z "$result"; then
++ dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
++ dnl than the type 'unsigned long'.
++ dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
++ dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
++ _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
++ [#include <stddef.h>], result=?)
++ _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
++ [#include <stddef.h>], result=?)
++ _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
++ [#include <stddef.h>], result=?)
++ if test "$fits_in_uint" = 1; then
++ dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
++ dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
++ AC_TRY_COMPILE([#include <stddef.h>
++ extern size_t foo;
++ extern unsigned long foo;
++ ], [], fits_in_uint=0)
++ fi
++ if test -z "$result"; then
++ if test "$fits_in_uint" = 1; then
++ result="$res_hi$res_lo"U
++ else
++ result="$res_hi$res_lo"UL
++ fi
++ else
++ dnl Shouldn't happen, but who knows...
++ result='~(size_t)0'
++ fi
++ fi
++ AC_MSG_RESULT([$result])
++ if test "$result" != yes; then
++ AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
++ [Define as the maximum value of type 'size_t', if the system doesn't define it.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/stdint_h.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/stdint_h.m4 2004-09-12 14:40:35.009648680 -0400
+@@ -0,0 +1,28 @@
++# stdint_h.m4 serial 3 (gettext-0.12)
++dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_STDINT_H],
++[
++ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <stdint.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_stdint_h=yes,
++ jm_ac_cv_header_stdint_h=no)])
++ if test $jm_ac_cv_header_stdint_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
++ [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/uintmax_t.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/uintmax_t.m4 2004-09-12 14:40:35.021646856 -0400
+@@ -0,0 +1,32 @@
++# uintmax_t.m4 serial 7 (gettext-0.12)
++dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_PREREQ(2.13)
++
++# Define uintmax_t to 'unsigned long' or 'unsigned long long'
++# if it is not already defined in <stdint.h> or <inttypes.h>.
++
++AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
++[
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
++ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
++ test $ac_cv_type_unsigned_long_long = yes \
++ && ac_type='unsigned long long' \
++ || ac_type='unsigned long'
++ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
++ [Define to unsigned long or unsigned long long
++ if <stdint.h> and <inttypes.h> don't define.])
++ else
++ AC_DEFINE(HAVE_UINTMAX_T, 1,
++ [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/ulonglong.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/ulonglong.m4 2004-09-12 14:40:35.028645792 -0400
+@@ -0,0 +1,25 @@
++# ulonglong.m4 serial 3
++dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
++
++AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
++[
++ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
++ [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
++ [unsigned long long ullmax = (unsigned long long) -1;
++ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
++ ac_cv_type_unsigned_long_long=yes,
++ ac_cv_type_unsigned_long_long=no)])
++ if test $ac_cv_type_unsigned_long_long = yes; then
++ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
++ [Define if you have the 'unsigned long long' type.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/wchar_t.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/wchar_t.m4 2004-09-12 14:40:35.034644880 -0400
+@@ -0,0 +1,22 @@
++# wchar_t.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether <stddef.h> has the 'wchar_t' type.
++dnl Prerequisite: AC_PROG_CC
++
++AC_DEFUN([gt_TYPE_WCHAR_T],
++[
++ AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
++ [AC_TRY_COMPILE([#include <stddef.h>
++ wchar_t foo = (wchar_t)'\0';], ,
++ gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
++ if test $gt_cv_c_wchar_t = yes; then
++ AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/wint_t.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/wint_t.m4 2004-09-12 14:40:35.040643968 -0400
+@@ -0,0 +1,22 @@
++# wint_t.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether <wchar.h> has the 'wint_t' type.
++dnl Prerequisite: AC_PROG_CC
++
++AC_DEFUN([gt_TYPE_WINT_T],
++[
++ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
++ [AC_TRY_COMPILE([#include <wchar.h>
++ wint_t foo = (wchar_t)'\0';], ,
++ gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
++ if test $gt_cv_c_wint_t = yes; then
++ AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
++ fi
++])
+--- lrzsz-0.12.20.safe/m4/xsize.m4 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/m4/xsize.m4 2004-09-12 14:40:35.047642904 -0400
+@@ -0,0 +1,14 @@
++# xsize.m4 serial 2
++dnl Copyright (C) 2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++AC_DEFUN([gl_XSIZE],
++[
++ dnl Prerequisites of lib/xsize.h.
++ AC_REQUIRE([gl_SIZE_MAX])
++ AC_CHECK_HEADERS(stdint.h)
++])
+--- lrzsz-0.12.20.safe/Makefile.am 1998-12-30 06:19:40.000000000 -0500
++++ lrzsz-0.12.20/Makefile.am 2004-09-12 14:40:35.121631656 -0400
+@@ -1,5 +1,5 @@
+ SUBDIRS = lib intl src po man testsuite
+-EXTRA_DIST = check.lrzsz COMPATABILITY README.cvs README.isdn4linux \
++EXTRA_DIST = config.rpath check.lrzsz COMPATABILITY README.cvs README.isdn4linux \
+ README.gettext rpmrc buildrpm systype.in fastcheck.sh README.tests \
+ beos-runpiped.c fastcheck.beos
+ noinst_SCRIPTS=systype
+@@ -83,3 +83,5 @@
+ rpm: $(PR).tar.gz Specfile
+ $(srcdir)/buildrpm $(srcdir)
+
++
++ACLOCAL_AMFLAGS = -I m4
+--- lrzsz-0.12.20.safe/Makefile.in 1998-12-30 11:31:40.000000000 -0500
++++ lrzsz-0.12.20/Makefile.in 2004-09-12 14:40:35.109633480 -0400
+@@ -125,7 +125,7 @@
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+ $(ACLOCAL_M4): configure.in acinclude.m4
+- cd $(srcdir) && $(ACLOCAL)
++ cd $(srcdir) && $(ACLOCAL) -I m4
+
+ config.status: $(srcdir)/configure
+ $(SHELL) ./config.status --recheck
+--- lrzsz-0.12.20.safe/mkinstalldirs 1998-04-26 09:20:52.000000000 -0400
++++ lrzsz-0.12.20/mkinstalldirs 2004-09-12 14:40:34.337750824 -0400
+@@ -1,34 +1,150 @@
+ #! /bin/sh
+ # mkinstalldirs --- make directory hierarchy
+-# Author: Noah Friedman <friedman@prep.ai.mit.edu>
++
++scriptversion=2004-02-15.20
++
++# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
+ # Created: 1993-05-16
+-# Last modified: 1995-03-05
+-# Public domain
++# Public domain.
++#
++# This file is maintained in Automake, please report
++# bugs to <bug-automake@gnu.org> or send patches to
++# <automake-patches@gnu.org>.
+
+ errstatus=0
++dirmode=""
+
+-for file in ${1+"$@"} ; do
+- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+- shift
++usage="\
++Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+- pathcomp=
+- for d in ${1+"$@"} ; do
+- pathcomp="$pathcomp$d"
+- case "$pathcomp" in
+- -* ) pathcomp=./$pathcomp ;;
+- esac
++Create each directory DIR (with mode MODE, if specified), including all
++leading file name components.
+
+- if test ! -d "$pathcomp"; then
+- echo "mkdir $pathcomp" 1>&2
+- mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?
+- fi
++Report bugs to <bug-automake@gnu.org>."
+
+- if test ! -d "$pathcomp"; then
++# process command line arguments
++while test $# -gt 0 ; do
++ case $1 in
++ -h | --help | --h*) # -h for help
++ echo "$usage"
++ exit 0
++ ;;
++ -m) # -m PERM arg
++ shift
++ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
++ dirmode=$1
++ shift
++ ;;
++ --version)
++ echo "$0 $scriptversion"
++ exit 0
++ ;;
++ --) # stop option processing
++ shift
++ break
++ ;;
++ -*) # unknown option
++ echo "$usage" 1>&2
++ exit 1
++ ;;
++ *) # first non-opt arg
++ break
++ ;;
++ esac
++done
++
++for file
++do
++ if test -d "$file"; then
++ shift
++ else
++ break
++ fi
++done
++
++case $# in
++ 0) exit 0 ;;
++esac
++
++# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
++# mkdir -p a/c at the same time, both will detect that a is missing,
++# one will create a, then the other will try to create a and die with
++# a "File exists" error. This is a problem when calling mkinstalldirs
++# from a parallel make. We use --version in the probe to restrict
++# ourselves to GNU mkdir, which is thread-safe.
++case $dirmode in
++ '')
++ if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
++ echo "mkdir -p -- $*"
++ exec mkdir -p -- "$@"
++ else
++ # On NextStep and OpenStep, the `mkdir' command does not
++ # recognize any option. It will interpret all options as
++ # directories to create, and then abort because `.' already
++ # exists.
++ test -d ./-p && rmdir ./-p
++ test -d ./--version && rmdir ./--version
++ fi
++ ;;
++ *)
++ if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
++ test ! -d ./--version; then
++ echo "mkdir -m $dirmode -p -- $*"
++ exec mkdir -m "$dirmode" -p -- "$@"
++ else
++ # Clean up after NextStep and OpenStep mkdir.
++ for d in ./-m ./-p ./--version "./$dirmode";
++ do
++ test -d $d && rmdir $d
++ done
++ fi
++ ;;
++esac
++
++for file
++do
++ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
++ shift
++
++ pathcomp=
++ for d
++ do
++ pathcomp="$pathcomp$d"
++ case $pathcomp in
++ -*) pathcomp=./$pathcomp ;;
++ esac
++
++ if test ! -d "$pathcomp"; then
++ echo "mkdir $pathcomp"
++
++ mkdir "$pathcomp" || lasterr=$?
++
++ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+- fi
++ else
++ if test ! -z "$dirmode"; then
++ echo "chmod $dirmode $pathcomp"
++ lasterr=""
++ chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+- pathcomp="$pathcomp/"
+- done
++ if test ! -z "$lasterr"; then
++ errstatus=$lasterr
++ fi
++ fi
++ fi
++ fi
++
++ pathcomp="$pathcomp/"
++ done
+ done
+
+ exit $errstatus
++
++# Local Variables:
++# mode: shell-script
++# sh-indentation: 2
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "scriptversion="
++# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-end: "$"
++# End:
+--- lrzsz-0.12.20.safe/po/boldquot.sed 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/po/boldquot.sed 2004-09-12 14:40:34.723692152 -0400
+@@ -0,0 +1,10 @@
++s/"\([^"]*\)"/“\1â€/g
++s/`\([^`']*\)'/‘\1’/g
++s/ '\([^`']*\)' / ‘\1’ /g
++s/ '\([^`']*\)'$/ ‘\1’/g
++s/^'\([^`']*\)' /‘\1’ /g
++s/“â€/""/g
++s/“/“/g
++s/â€/â€/g
++s/‘/‘/g
++s/’/’/g
+--- lrzsz-0.12.20.safe/po/cat-id-tbl.c 1998-12-29 04:24:24.000000000 -0500
++++ lrzsz-0.12.20/po/cat-id-tbl.c 1969-12-31 19:00:00.000000000 -0500
+@@ -1,234 +0,0 @@
+-/* Automatically generated by po2tbl.sed from lrzsz.pot. */
+-
+-#if HAVE_CONFIG_H
+-# include <config.h>
+-#endif
+-
+-#include "libgettext.h"
+-
+-const struct _msg_ent _msg_tbl[] = {
+- {"", 1},
+- {"io_mode(,2) in rbsb.c not implemented\n", 2},
+- {"caught signal %d; exiting", 3},
+- {"command tries", 4},
+- {"packetlength", 5},
+- {"packetlength out of range 24..%ld", 6},
+- {"framelength", 7},
+- {"framelength out of range 32..%ld", 8},
+- {"min_bps", 9},
+- {"min_bps must be >= 0", 10},
+- {"min_bps_time", 11},
+- {"min_bps_time must be > 1", 12},
+- {"hour to large (0..23)", 13},
+- {"unparsable stop time\n", 14},
+- {"minute to large (0..59)", 15},
+- {"stop time to small", 16},
+- {"stop-at", 17},
+- {"timeout", 18},
+- {"timeout out of range 10..1000", 19},
+- {"security violation: can't do that under restricted shell\n", 20},
+- {"window size", 21},
+- {"cannot turnoff syslog", 22},
+- {"startup delay", 23},
+- {"out of memory", 24},
+- {"this program was never intended to be used setuid\n", 25},
+- {"need at least one file to send", 26},
+- {"Can't send command in restricted mode\n", 27},
+- {"hostname too long\n", 28},
+- {"illegal server address\n", 29},
+- {"can read only one file from stdin", 30},
+- {"Transfer incomplete\n", 31},
+- {"Transfer complete\n", 32},
+- {"send_pseudo %s: cannot open tmpfile %s: %s", 33},
+- {"send_pseudo %s: cannot lstat tmpfile %s: %s", 34},
+- {"send_pseudo %s: avoiding symlink trap", 35},
+- {"send_pseudo %s: cannot write to tmpfile %s: %s", 36},
+- {"send_pseudo %s: failed", 37},
+- {"send_pseudo %s: ok", 38},
+- {"tcp protocol init failed\n", 39},
+- {"Answering TIMESYNC at %s", 40},
+- {"timezone", 41},
+- {"timezone unknown", 42},
+- {"Can't open any requested files.", 43},
+- {"security violation: not allowed to upload from %s", 44},
+- {"cannot open %s", 45},
+- {"is not a file: %s", 46},
+- {"%s/%s: error occured", 47},
+- {"skipped: %s", 48},
+- {"%s/%s: skipped", 49},
+- {"Bytes Sent:%7ld BPS:%-8ld \n", 50},
+- {"Sending %s, %ld blocks: ", 51},
+- {"Give your local XMODEM receive command now.", 52},
+- {"Sending: %s\n", 53},
+- {"Timeout on pathname", 54},
+- {"Receiver Cancelled", 55},
+- {"No ACK on EOT", 56},
+- {"Xmodem sectors/kbytes sent: %3d/%2dk", 57},
+- {"Ymodem sectors/kbytes sent: %3d/%2dk", 58},
+- {"Cancelled", 59},
+- {"Timeout on sector ACK", 60},
+- {"NAK on sector", 61},
+- {"Got burst for sector ACK", 62},
+- {"Got %02x for sector ACK", 63},
+- {"Retry Count Exceeded", 64},
+- {"Try `%s --help' for more information.\n", 65},
+- {"%s version %s\n", 66},
+- {"Usage: %s [options] file ...\n", 67},
+- {" or: %s [options] -{c|i} COMMAND\n", 68},
+- {"Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n", 69},
+- {"\
+- (X) = option applies to XMODEM only\n\
+- (Y) = option applies to YMODEM only\n\
+- (Z) = option applies to ZMODEM only\n", 70},
+- {"\
+- -+, --append append to existing destination file (Z)\n\
+- -2, --twostop use 2 stop bits\n\
+- -4, --try-4k go up to 4K blocksize\n\
+- --start-4k start with 4K blocksize (doesn't try 8)\n\
+- -8, --try-8k go up to 8K blocksize\n\
+- --start-8k start with 8K blocksize\n\
+- -a, --ascii ASCII transfer (change CR/LF to LF)\n\
+- -b, --binary binary transfer\n\
+- -B, --bufsize N buffer N bytes (N==auto: buffer whole file)\n\
+- -c, --command COMMAND execute remote command COMMAND (Z)\n\
+- -C, --command-tries N try N times to execute a command (Z)\n\
+- -d, --dot-to-slash change '.' to '/' in pathnames (Y/Z)\n\
+- --delay-startup N sleep N seconds before doing anything\n\
+- -e, --escape escape all control characters (Z)\n\
+- -E, --rename force receiver to rename files it already has\n\
+- -f, --full-path send full pathname (Y/Z)\n\
+- -i, --immediate-command CMD send remote CMD, return immediately (Z)\n\
+- -h, --help print this usage message\n\
+- -k, --1k send 1024 byte packets (X)\n\
+- -L, --packetlen N limit subpacket length to N bytes (Z)\n\
+- -l, --framelen N limit frame length to N bytes (l>=L) (Z)\n\
+- -m, --min-bps N stop transmission if BPS below N\n\
+- -M, --min-bps-time N for at least N seconds (default: 120)\n", 71},
+- {"\
+- -n, --newer send file if source newer (Z)\n\
+- -N, --newer-or-longer send file if source newer or longer (Z)\n\
+- -o, --16-bit-crc use 16 bit CRC instead of 32 bit CRC (Z)\n\
+- -O, --disable-timeouts disable timeout code, wait forever\n\
+- -p, --protect protect existing destination file (Z)\n\
+- -r, --resume resume interrupted file transfer (Z)\n\
+- -R, --restricted restricted, more secure mode\n\
+- -q, --quiet quiet (no progress reports)\n\
+- -s, --stop-at {HH:MM|+N} stop transmission at HH:MM or in N seconds\n\
+- --tcp build a TCP connection to transmit files\n\
+- --tcp-server open socket, wait for connection\n\
+- -u, --unlink unlink file after transmission\n\
+- -U, --unrestrict turn off restricted mode (if allowed to)\n\
+- -v, --verbose be verbose, provide debugging information\n\
+- -w, --windowsize N Window is N bytes (Z)\n\
+- -X, --xmodem use XMODEM protocol\n\
+- -y, --overwrite overwrite existing files\n\
+- -Y, --overwrite-or-skip overwrite existing files, else skip\n\
+- --ymodem use YMODEM protocol\n\
+- -Z, --zmodem use ZMODEM protocol\n\
+-\n\
+-short options use the same arguments as the long ones\n", 72},
+- {"got ZRQINIT", 73},
+- {"got ZCAN", 74},
+- {"blklen now %d\n", 75},
+- {"zsendfdata: bps rate %ld below min %ld", 76},
+- {"zsendfdata: reached stop time", 77},
+- {"Bytes Sent:%7ld/%7ld BPS:%-8ld ETA %02d:%02d ", 78},
+- {"calc_blklen: reduced to %d due to error\n", 79},
+- {"calc_blklen: returned old value %d due to low bpe diff\n", 80},
+- {"calc_blklen: old %ld, new %ld, d %ld\n", 81},
+- {"calc_blklen: calc total_bytes=%ld, bpe=%ld, ec=%ld\n", 82},
+- {"calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n", 83},
+- {"calc_blklen: returned %d as best\n", 84},
+- {"\
+-\n\
+-countem: Total %d %ld\n", 85},
+- {"Bad escape sequence %x", 86},
+- {"Sender Canceled", 87},
+- {"TIMEOUT", 88},
+- {"Bad data subpacket", 89},
+- {"Data subpacket too long", 90},
+- {"Garbage count exceeded", 91},
+- {"Got %s", 92},
+- {"Retry %d: ", 93},
+- {"don't have settimeofday, will not set time\n", 94},
+- {"not running as root (this is good!), can not set time\n", 95},
+- {"bytes_per_error", 96},
+- {"bytes-per-error should be >100", 97},
+- {"O_SYNC not supported by the kernel", 98},
+- {"garbage on commandline", 99},
+- {"Usage: %s [options] [filename.if.xmodem]\n", 100},
+- {"Receive files with ZMODEM/YMODEM/XMODEM protocol\n", 101},
+- {"\
+- -+, --append append to existing files\n\
+- -a, --ascii ASCII transfer (change CR/LF to LF)\n\
+- -b, --binary binary transfer\n\
+- -B, --bufsize N buffer N bytes (N==auto: buffer whole file)\n\
+- -c, --with-crc Use 16 bit CRC (X)\n\
+- -C, --allow-remote-commands allow execution of remote commands (Z)\n\
+- -D, --null write all received data to /dev/null\n\
+- --delay-startup N sleep N seconds before doing anything\n\
+- -e, --escape Escape control characters (Z)\n\
+- -E, --rename rename any files already existing\n\
+- --errors N generate CRC error every N bytes (debugging)\n\
+- -h, --help Help, print this usage message\n\
+- -m, --min-bps N stop transmission if BPS below N\n\
+- -M, --min-bps-time N for at least N seconds (default: 120)\n\
+- -O, --disable-timeouts disable timeout code, wait forever for data\n\
+- --o-sync open output file(s) in synchronous write mode\n\
+- -p, --protect protect existing files\n\
+- -q, --quiet quiet, no progress reports\n\
+- -r, --resume try to resume interrupted file transfer (Z)\n\
+- -R, --restricted restricted, more secure mode\n\
+- -s, --stop-at {HH:MM|+N} stop transmission at HH:MM or in N seconds\n\
+- -S, --timesync request remote time (twice: set local time)\n\
+- --syslog[=off] turn syslog on or off, if possible\n\
+- -t, --timeout N set timeout to N tenths of a second\n\
+- -u, --keep-uppercase keep upper case filenames\n\
+- -U, --unrestrict disable restricted mode (if allowed to)\n\
+- -v, --verbose be verbose, provide debugging information\n\
+- -w, --windowsize N Window is N bytes (Z)\n\
+- -X --xmodem use XMODEM protocol\n\
+- -y, --overwrite Yes, clobber existing file if any\n\
+- --ymodem use YMODEM protocol\n\
+- -Z, --zmodem use ZMODEM protocol\n\
+-\n\
+-short options use the same arguments as the long ones\n", 102},
+- {"%s waiting to receive.", 103},
+- {"\rBytes received: %7ld/%7ld BPS:%-6ld \r\n", 104},
+- {"%s: ready to receive %s", 105},
+- {"\rBytes received: %7ld BPS:%-6ld \r\n", 106},
+- {"\
+-\r\n\
+-%s: %s removed.\r\n", 107},
+- {"Pathname fetch returned EOT", 108},
+- {"Received dup Sector", 109},
+- {"Sync Error", 110},
+- {"CRC", 111},
+- {"Checksum", 112},
+- {"Sector number garbled", 113},
+- {"Sender Cancelled", 114},
+- {"Got 0%o sector header", 115},
+- {"file name ends with a /, skipped: %s\n", 116},
+- {"zmanag=%d, Lzmanag=%d\n", 117},
+- {"zconv=%d\n", 118},
+- {"file exists, skipped: %s\n", 119},
+- {"TIMESYNC: here %ld, remote %ld, diff %ld seconds\n", 120},
+- {"TIMESYNC: cannot set time: %s\n", 121},
+- {"cannot tmpfile() for tcp protocol synchronization", 122},
+- {"Topipe", 123},
+- {"Receiving: %s\n", 124},
+- {"Blocks received: %d", 125},
+- {"%s: %s exists\n", 126},
+- {"%s:\tSecurity Violation", 127},
+- {"remote command execution requested", 128},
+- {"not executed", 129},
+- {"got ZRINIT", 130},
+- {"Skipped", 131},
+- {"rzfile: bps rate %ld below min %ld", 132},
+- {"rzfile: reached stop time", 133},
+- {"\rBytes received: %7ld/%7ld BPS:%-6ld ETA %02d:%02d ", 134},
+- {"fgets for tcp protocol synchronization failed: ", 135},
+- {"file close error", 136},
+-};
+-
+-int _msg_tbl_length = 136;
+--- lrzsz-0.12.20.safe/po/ChangeLog 1998-04-26 09:20:52.000000000 -0400
++++ lrzsz-0.12.20/po/ChangeLog 2004-09-12 14:40:34.793681512 -0400
+@@ -1,3 +1,15 @@
++2004-09-12 gettextize <bug-gnu-gettext@gnu.org>
++
++ * boldquot.sed: New file, from gettext-0.14.1.
++ * en@boldquot.header: New file, from gettext-0.14.1.
++ * en@quot.header: New file, from gettext-0.14.1.
++ * insert-header.sin: New file, from gettext-0.14.1.
++ * quot.sed: New file, from gettext-0.14.1.
++ * remove-potcdate.sin: New file, from gettext-0.14.1.
++ * Rules-quot: New file, from gettext-0.14.1.
++ * cat-id-tbl.c: Remove file.
++ * stamp-cat-id: Remove file.
++
+ /* Automatically generated by po2tbl.sed from lrzsz.pot. */
+
+ #if HAVE_CONFIG_H
+--- lrzsz-0.12.20.safe/po/en@boldquot.header 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/po/en@boldquot.header 2004-09-12 14:40:34.731690936 -0400
+@@ -0,0 +1,25 @@
++# All this catalog "translates" are quotation characters.
++# The msgids must be ASCII and therefore cannot contain real quotation
++# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
++# and double quote (0x22). These substitutes look strange; see
++# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
++#
++# This catalog translates grave accent (0x60) and apostrophe (0x27) to
++# left single quotation mark (U+2018) and right single quotation mark (U+2019).
++# It also translates pairs of apostrophe (0x27) to
++# left single quotation mark (U+2018) and right single quotation mark (U+2019)
++# and pairs of quotation mark (0x22) to
++# left double quotation mark (U+201C) and right double quotation mark (U+201D).
++#
++# When output to an UTF-8 terminal, the quotation characters appear perfectly.
++# When output to an ISO-8859-1 terminal, the single quotation marks are
++# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
++# grave/acute accent (by libiconv), and the double quotation marks are
++# transliterated to 0x22.
++# When output to an ASCII terminal, the single quotation marks are
++# transliterated to apostrophes, and the double quotation marks are
++# transliterated to 0x22.
++#
++# This catalog furthermore displays the text between the quotation marks in
++# bold face, assuming the VT100/XTerm escape sequences.
++#
+--- lrzsz-0.12.20.safe/po/en@quot.header 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/po/en@quot.header 2004-09-12 14:40:34.737690024 -0400
+@@ -0,0 +1,22 @@
++# All this catalog "translates" are quotation characters.
++# The msgids must be ASCII and therefore cannot contain real quotation
++# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
++# and double quote (0x22). These substitutes look strange; see
++# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
++#
++# This catalog translates grave accent (0x60) and apostrophe (0x27) to
++# left single quotation mark (U+2018) and right single quotation mark (U+2019).
++# It also translates pairs of apostrophe (0x27) to
++# left single quotation mark (U+2018) and right single quotation mark (U+2019)
++# and pairs of quotation mark (0x22) to
++# left double quotation mark (U+201C) and right double quotation mark (U+201D).
++#
++# When output to an UTF-8 terminal, the quotation characters appear perfectly.
++# When output to an ISO-8859-1 terminal, the single quotation marks are
++# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
++# grave/acute accent (by libiconv), and the double quotation marks are
++# transliterated to 0x22.
++# When output to an ASCII terminal, the single quotation marks are
++# transliterated to apostrophes, and the double quotation marks are
++# transliterated to 0x22.
++#
+--- lrzsz-0.12.20.safe/po/insert-header.sin 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/po/insert-header.sin 2004-09-12 14:40:34.743689112 -0400
+@@ -0,0 +1,23 @@
++# Sed script that inserts the file called HEADER before the header entry.
++#
++# At each occurrence of a line starting with "msgid ", we execute the following
++# commands. At the first occurrence, insert the file. At the following
++# occurrences, do nothing. The distinction between the first and the following
++# occurrences is achieved by looking at the hold space.
++/^msgid /{
++x
++# Test if the hold space is empty.
++s/m/m/
++ta
++# Yes it was empty. First occurrence. Read the file.
++r HEADER
++# Output the file's contents by reading the next line. But don't lose the
++# current line while doing this.
++g
++N
++bb
++:a
++# The hold space was nonempty. Following occurrences. Do nothing.
++x
++:b
++}
+--- lrzsz-0.12.20.safe/po/Makevars 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/po/Makevars 2004-09-12 14:40:34.748688352 -0400
+@@ -0,0 +1,41 @@
++# Makefile variables for PO directory in any package using GNU gettext.
++
++# Usually the message domain is the same as the package name.
++DOMAIN = $(PACKAGE)
++
++# These two variables depend on the location of this directory.
++subdir = po
++top_builddir = ..
++
++# These options get passed to xgettext.
++XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
++
++# This is the copyright holder that gets inserted into the header of the
++# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
++# package. (Note that the msgstr strings, extracted from the package's
++# sources, belong to the copyright holder of the package.) Translators are
++# expected to transfer the copyright for their translations to this person
++# or entity, or to disclaim their copyright. The empty string stands for
++# the public domain; in this case the translators are expected to disclaim
++# their copyright.
++COPYRIGHT_HOLDER = Free Software Foundation, Inc.
++
++# This is the email address or URL to which the translators shall report
++# bugs in the untranslated strings:
++# - Strings which are not entire sentences, see the maintainer guidelines
++# in the GNU gettext documentation, section 'Preparing Strings'.
++# - Strings which use unclear terms or require additional context to be
++# understood.
++# - Strings which make invalid assumptions about notation of date, time or
++# money.
++# - Pluralisation problems.
++# - Incorrect English spelling.
++# - Incorrect formatting.
++# It can be your email address, or a mailing list address where translators
++# can write to without being subscribed, or the URL of a web page through
++# which the translators can contact you.
++MSGID_BUGS_ADDRESS =
++
++# This is the list of locale categories, beyond LC_MESSAGES, for which the
++# message catalogs shall be used. It is usually empty.
++EXTRA_LOCALE_CATEGORIES =
+--- lrzsz-0.12.20.safe/po/quot.sed 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/po/quot.sed 2004-09-12 14:40:34.754687440 -0400
+@@ -0,0 +1,6 @@
++s/"\([^"]*\)"/“\1â€/g
++s/`\([^`']*\)'/‘\1’/g
++s/ '\([^`']*\)' / ‘\1’ /g
++s/ '\([^`']*\)'$/ ‘\1’/g
++s/^'\([^`']*\)' /‘\1’ /g
++s/“â€/""/g
+--- lrzsz-0.12.20.safe/po/remove-potcdate.sin 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/po/remove-potcdate.sin 2004-09-12 14:40:34.762686224 -0400
+@@ -0,0 +1,19 @@
++# Sed script that remove the POT-Creation-Date line in the header entry
++# from a POT file.
++#
++# The distinction between the first and the following occurrences of the
++# pattern is achieved by looking at the hold space.
++/^"POT-Creation-Date: .*"$/{
++x
++# Test if the hold space is empty.
++s/P/P/
++ta
++# Yes it was empty. First occurrence. Remove the line.
++g
++d
++bb
++:a
++# The hold space was nonempty. Following occurrences. Do nothing.
++x
++:b
++}
+--- lrzsz-0.12.20.safe/po/Rules-quot 1969-12-31 19:00:00.000000000 -0500
++++ lrzsz-0.12.20/po/Rules-quot 2004-09-12 14:40:34.778683792 -0400
+@@ -0,0 +1,47 @@
++# Special Makefile rules for English message catalogs with quotation marks.
++
++DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
++
++.SUFFIXES: .insert-header .po-update-en
++
++en@quot.po-create:
++ $(MAKE) en@quot.po-update
++en@boldquot.po-create:
++ $(MAKE) en@boldquot.po-update
++
++en@quot.po-update: en@quot.po-update-en
++en@boldquot.po-update: en@boldquot.po-update-en
++
++.insert-header.po-update-en:
++ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
++ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
++ tmpdir=`pwd`; \
++ echo "$$lang:"; \
++ ll=`echo $$lang | sed -e 's/@.*//'`; \
++ LC_ALL=C; export LC_ALL; \
++ cd $(srcdir); \
++ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
++ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
++ rm -f $$tmpdir/$$lang.new.po; \
++ else \
++ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
++ :; \
++ else \
++ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
++ exit 1; \
++ fi; \
++ fi; \
++ else \
++ echo "creation of $$lang.po failed!" 1>&2; \
++ rm -f $$tmpdir/$$lang.new.po; \
++ fi
++
++en@quot.insert-header: insert-header.sin
++ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
++
++en@boldquot.insert-header: insert-header.sin
++ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
++
++mostlyclean: mostlyclean-quot
++mostlyclean-quot:
++ rm -f *.insert-header
+--- lrzsz-0.12.20.safe/po/stamp-cat-id 1998-12-30 02:50:01.000000000 -0500
++++ lrzsz-0.12.20/po/stamp-cat-id 1969-12-31 19:00:00.000000000 -0500
+@@ -1 +0,0 @@
+-timestamp
+--- lrzsz-0.12.20.safe/src/Makefile.am 1998-12-28 03:38:47.000000000 -0500
++++ lrzsz-0.12.20/src/Makefile.am 2004-09-12 14:40:53.665812512 -0400
+@@ -2,12 +2,12 @@
+ lrz_SOURCES=lrz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c protname.c tcp.c lsyslog.c canit.c
+ lsz_SOURCES=lsz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c protname.c tcp.c lsyslog.c canit.c
+ noinst_HEADERS = timing.h zglobal.h zmodem.h
+-datadir = $(prefix)/@DATADIRNAME@
++datadir = $(prefix)/share
+ localedir = $(datadir)/locale
+ CFLAGS=@CFLAGS@
+ DISTCLEAN_FILES=lrzszbug
+
+-LDADD = ../lib/libzmodem.a @INTLLIBS@
++LDADD = ../lib/libzmodem.a @LIBINTL@
+ AUTOMAKE_OPTIONS=ansi2knr
+ EXTRA_DIST = ansi2knr.1 ansi2knr.c lrzszbug.in
+ INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/src -I../intl -I$(top_srcdir)/lib
diff --git a/meta/packages/lrzsz/lrzsz-0.12.20/makefile.patch b/meta/packages/lrzsz/lrzsz-0.12.20/makefile.patch
new file mode 100644
index 0000000000..c553c8bf34
--- /dev/null
+++ b/meta/packages/lrzsz/lrzsz-0.12.20/makefile.patch
@@ -0,0 +1,20 @@
+diff -ruN lrzsz-0.12.20_org/src/Makefile.in lrzsz-0.12.20_patch/src/Makefile.in
+--- lrzsz-0.12.20_org/src/Makefile.in 1998-12-30 17:31:46.000000000 +0100
++++ lrzsz-0.12.20_patch/src/Makefile.in 2004-04-29 13:57:33.434909656 +0200
+@@ -372,13 +372,13 @@
+ rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lsx | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lsx | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lsx |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lrb | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lrb | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lrb |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lrx | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lrx | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lrx |sed -e '$(transform)'`
+ # rm -f $(bindir)/`echo lrzszbug | sed -e '$(transform)'`
diff --git a/meta/packages/lrzsz/lrzsz_0.12.20.bb b/meta/packages/lrzsz/lrzsz_0.12.20.bb
new file mode 100644
index 0000000000..8110661ac1
--- /dev/null
+++ b/meta/packages/lrzsz/lrzsz_0.12.20.bb
@@ -0,0 +1,24 @@
+LICENSE = "GPL"
+SECTION = "console/network"
+PRIORITY = "standard"
+DESCRIPTION = "Tools for zmodem/xmodem/ymodem file transfer"
+DEPENDS = ""
+PR = "r2"
+
+SRC_URI = "http://www.ohse.de/uwe/releases/lrzsz-${PV}.tar.gz \
+ file://autotools.patch;patch=1 \
+ file://makefile.patch;patch=1 \
+ file://gettext.patch;patch=1"
+
+inherit autotools gettext
+
+do_install() {
+ install -d ${D}${bindir}/
+ install -m 0755 src/lrz src/lsz ${D}${bindir}/
+ ln -sf ./lrz ${D}${bindir}/rz
+ ln -sf ./lrz ${D}${bindir}/rx
+ ln -sf ./lrz ${D}${bindir}/rb
+ ln -sf ./lsz ${D}${bindir}/sz
+ ln -sf ./lsz ${D}${bindir}/sx
+ ln -sf ./lsz ${D}${bindir}/sb
+}
diff --git a/meta/packages/lsof/lsof_4.75.bb b/meta/packages/lsof/lsof_4.75.bb
new file mode 100644
index 0000000000..0562a57fb1
--- /dev/null
+++ b/meta/packages/lsof/lsof_4.75.bb
@@ -0,0 +1,38 @@
+SECTION = "console/utils"
+DESCRIPTION = "Lsof is a Unix-specific diagnostic \
+tool. Its name stands for LiSt Open Files, and it \
+does just that."
+LICENSE = "BSD"
+
+SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/lsof_${PV}.tar.bz2"
+LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar"
+S = "${WORKDIR}/lsof_${PV}_src"
+
+python do_unpack () {
+ bb.build.exec_func('base_do_unpack', d)
+ src_uri = bb.data.getVar('SRC_URI', d)
+ bb.data.setVar('SRC_URI', '${LOCALSRC}', d)
+ bb.build.exec_func('base_do_unpack', d)
+ bb.data.setVar('SRC_URI', src_uri, d)
+}
+
+LSOF_OS = "${TARGET_OS}"
+LSOF_OS_linux-uclibc = "linux"
+
+do_configure () {
+ ./Configure ${LSOF_OS}
+}
+
+export I = "${STAGING_INCDIR}"
+export L = "${STAGING_INCDIR}"
+export EXTRA_OEMAKE = ""
+
+do_compile () {
+ oe_runmake 'CC=${CC}' 'CFGL=${LDFLAGS} -L./lib -llsof' 'DEBUG=' 'INCL=${CFLAGS}'
+}
+
+do_install () {
+ install -d ${D}${sbindir} ${D}${mandir}/man8
+ install -m 4755 lsof ${D}${sbindir}/lsof
+ install -m 0644 lsof.8 ${D}${mandir}/man8/lsof.8
+}
diff --git a/meta/packages/lttng/lttng-control-0.10/lttctl_sti-r0.patch b/meta/packages/lttng/lttng-control-0.10/lttctl_sti-r0.patch
new file mode 100644
index 0000000000..9b04752bca
--- /dev/null
+++ b/meta/packages/lttng/lttng-control-0.10/lttctl_sti-r0.patch
@@ -0,0 +1,147 @@
+Index: ltt-control-0.6-28042006/liblttctl/liblttctl.c
+===================================================================
+--- ltt-control-0.6-28042006.orig/liblttctl/liblttctl.c 2006-03-11 17:30:32.000000000 +0000
++++ ltt-control-0.6-28042006/liblttctl/liblttctl.c 2006-06-01 14:39:05.000000000 +0100
+@@ -298,7 +298,7 @@
+
+
+ int lttctl_create_trace(const struct lttctl_handle *h,
+- char *name, enum trace_mode mode, unsigned subbuf_size, unsigned n_subbufs)
++ char *name, enum trace_mode mode, char *trace_type, unsigned subbuf_size, unsigned n_subbufs)
+ {
+ int err;
+
+@@ -320,6 +320,7 @@
+ req.nlh.nlmsg_seq = 0;
+
+ strncpy(req.msg.trace_name, name, NAME_MAX);
++ strncpy(req.msg.trace_type, trace_type, NAME_MAX);
+ req.msg.op = OP_CREATE;
+ req.msg.args.new_trace.mode = mode;
+ req.msg.args.new_trace.subbuf_size = subbuf_size;
+Index: ltt-control-0.6-28042006/liblttctl/lttctl.h
+===================================================================
+--- ltt-control-0.6-28042006.orig/liblttctl/lttctl.h 2006-03-11 17:30:32.000000000 +0000
++++ ltt-control-0.6-28042006/liblttctl/lttctl.h 2006-06-01 14:40:16.000000000 +0100
+@@ -47,6 +47,7 @@
+
+ typedef struct lttctl_peer_msg {
+ char trace_name[NAME_MAX];
++ char trace_type[NAME_MAX];
+ enum trace_op op;
+ union {
+ struct {
+@@ -76,7 +77,7 @@
+
+
+ int lttctl_create_trace(const struct lttctl_handle *h,
+- char *name, enum trace_mode mode, unsigned subbuf_size, unsigned n_subbufs);
++ char *name, enum trace_mode mode, char *trace_type, unsigned subbuf_size, unsigned n_subbufs);
+
+ int lttctl_destroy_trace(const struct lttctl_handle *handle, char *name);
+
+Index: ltt-control-0.6-28042006/lttctl/lttctl.c
+===================================================================
+--- ltt-control-0.6-28042006.orig/lttctl/lttctl.c 2006-03-11 17:30:27.000000000 +0000
++++ ltt-control-0.6-28042006/lttctl/lttctl.c 2006-06-01 14:40:47.000000000 +0100
+@@ -40,6 +40,7 @@
+ };
+
+ static char *trace_name = NULL;
++static char *trace_type = "relayfs";
+ static char *mode_name = NULL;
+ static unsigned subbuf_size = 0;
+ static unsigned n_subbufs = 0;
+@@ -81,6 +82,7 @@
+ printf(" (optionnaly, you can set LTT_DAEMON\n");
+ printf(" and the LTT_FACILITIES env. vars.)\n");
+ printf("-t Trace root path. (ex. /root/traces/example_trace)\n");
++ printf("-T Type of trace (ex. relayfs, sti, stirelayfs)\n");
+ printf("-l LTT channels root path. (ex. /mnt/relayfs/ltt)\n");
+ printf("-z Size of the subbuffers (will be rounded to next page size)\n");
+ printf("-x Number of subbuffers\n");
+@@ -217,6 +219,16 @@
+ argn++;
+ }
+ break;
++ case 'T':
++ if(argn+1 < argc) {
++ trace_type = argv[argn+1];
++ argn++;
++ } else {
++ printf("Specify a trace type after -T.\n");
++ printf("\n");
++ ret = EINVAL;
++ }
++ break;
+ default:
+ printf("Invalid argument '%s'.\n", argv[argn]);
+ printf("\n");
+@@ -390,7 +402,7 @@
+ strcat(channel_path, trace_name);
+
+
+- ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size, n_subbufs);
++ ret = lttctl_create_trace(handle, trace_name, mode, trace_type, subbuf_size, n_subbufs);
+ if(ret != 0) goto create_error;
+
+ act.sa_handler = sigchld_handler;
+@@ -466,13 +478,13 @@
+
+ switch(op) {
+ case CTL_OP_CREATE_START:
+- ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size,
++ ret = lttctl_create_trace(handle, trace_name, mode, trace_type, subbuf_size,
+ n_subbufs);
+ if(!ret)
+ ret = lttctl_start(handle, trace_name);
+ break;
+ case CTL_OP_CREATE:
+- ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size,
++ ret = lttctl_create_trace(handle, trace_name, mode, trace_type, subbuf_size,
+ n_subbufs);
+ break;
+ case CTL_OP_DESTROY:
+Index: ltt-control-0.6-28042006/facilities/dynticks.xml
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ ltt-control-0.6-28042006/facilities/dynticks.xml 2006-06-05 18:03:41.000000000 +0100
+@@ -0,0 +1,18 @@
++<?xml version="1.0"?>
++<facility name="dynticks">
++ <description>Dynamic Timer Events</description>
++
++ <event name="handler_entry">
++ <description>Dynticks Handler Entered</description>
++ </event>
++
++ <event name="handler_exit">
++ <description>Dynticks Handler Exitted</description>
++ </event>
++
++ <event name="reprogram">
++ <description>Dynticks Reprogram</description>
++ <field name="ticks"><description>Number of ticks to sleep for</description><uint size="4"></field>
++ </event>
++
++</facility>
+Index: ltt-control-0.6-28042006/facilities/Makefile.am
+===================================================================
+--- ltt-control-0.6-28042006.orig/facilities/Makefile.am 2006-04-28 21:26:26.000000000 +0100
++++ ltt-control-0.6-28042006/facilities/Makefile.am 2006-06-05 18:04:30.000000000 +0100
+@@ -1,6 +1,7 @@
+
+ EXTRA_DIST = \
+ core.xml \
++dynticks.xml \
+ fs.xml \
+ ipc.xml \
+ kernel.xml \
+@@ -21,6 +22,7 @@
+
+ facilities_DATA = \
+ core.xml \
++dynticks.xml \
+ fs.xml \
+ ipc.xml \
+ kernel.xml \
diff --git a/meta/packages/lttng/lttng-control-0.6/lttctl_sti-r0.patch b/meta/packages/lttng/lttng-control-0.6/lttctl_sti-r0.patch
new file mode 100644
index 0000000000..f1e45ac159
--- /dev/null
+++ b/meta/packages/lttng/lttng-control-0.6/lttctl_sti-r0.patch
@@ -0,0 +1,134 @@
+Index: ltt-control-0.6-28042006/liblttctl/liblttctl.c
+===================================================================
+--- ltt-control-0.6-28042006.orig/liblttctl/liblttctl.c 2006-03-11 17:30:32.000000000 +0000
++++ ltt-control-0.6-28042006/liblttctl/liblttctl.c 2006-05-12 11:21:13.000000000 +0100
+@@ -298,7 +298,7 @@
+
+
+ int lttctl_create_trace(const struct lttctl_handle *h,
+- char *name, enum trace_mode mode, unsigned subbuf_size, unsigned n_subbufs)
++ char *name, enum trace_mode mode, enum ltt_trace_type type, unsigned subbuf_size, unsigned n_subbufs)
+ {
+ int err;
+
+@@ -324,6 +324,7 @@
+ req.msg.args.new_trace.mode = mode;
+ req.msg.args.new_trace.subbuf_size = subbuf_size;
+ req.msg.args.new_trace.n_subbufs = n_subbufs;
++ req.msg.args.new_trace.type = type;
+
+ err = lttctl_netlink_sendto(h, (void *)&req, req.nlh.nlmsg_len);
+ if(err < 0) goto senderr;
+Index: ltt-control-0.6-28042006/liblttctl/lttctl.h
+===================================================================
+--- ltt-control-0.6-28042006.orig/liblttctl/lttctl.h 2006-03-11 17:30:32.000000000 +0000
++++ ltt-control-0.6-28042006/liblttctl/lttctl.h 2006-05-12 11:20:46.000000000 +0100
+@@ -45,6 +45,12 @@
+ LTT_TRACE_FLIGHT
+ };
+
++enum ltt_trace_type {
++ LTT_TYPE_RELAYFS,
++ LTT_TYPE_STI,
++ LTT_TYPE_STIRELAYFS
++};
++
+ typedef struct lttctl_peer_msg {
+ char trace_name[NAME_MAX];
+ enum trace_op op;
+@@ -53,6 +59,7 @@
+ enum trace_mode mode;
+ unsigned subbuf_size;
+ unsigned n_subbufs;
++ enum ltt_trace_type type;
+ } new_trace;
+ } args;
+ } lttctl_peer_msg_t;
+@@ -76,7 +83,7 @@
+
+
+ int lttctl_create_trace(const struct lttctl_handle *h,
+- char *name, enum trace_mode mode, unsigned subbuf_size, unsigned n_subbufs);
++ char *name, enum trace_mode mode, enum ltt_trace_type type, unsigned subbuf_size, unsigned n_subbufs);
+
+ int lttctl_destroy_trace(const struct lttctl_handle *handle, char *name);
+
+Index: ltt-control-0.6-28042006/lttctl/lttctl.c
+===================================================================
+--- ltt-control-0.6-28042006.orig/lttctl/lttctl.c 2006-03-11 17:30:27.000000000 +0000
++++ ltt-control-0.6-28042006/lttctl/lttctl.c 2006-05-12 11:19:53.000000000 +0100
+@@ -40,11 +40,13 @@
+ };
+
+ static char *trace_name = NULL;
++static char *trace_type = NULL;
+ static char *mode_name = NULL;
+ static unsigned subbuf_size = 0;
+ static unsigned n_subbufs = 0;
+ static unsigned append_trace = 0;
+ static enum trace_mode mode = LTT_TRACE_NORMAL;
++static enum ltt_trace_type type = LTT_TYPE_RELAYFS;
+ static enum trace_ctl_op op = CTL_OP_NONE;
+ static char *channel_root = NULL;
+ static char *trace_root = NULL;
+@@ -81,6 +83,7 @@
+ printf(" (optionnaly, you can set LTT_DAEMON\n");
+ printf(" and the LTT_FACILITIES env. vars.)\n");
+ printf("-t Trace root path. (ex. /root/traces/example_trace)\n");
++ printf("-T Type of trace (ex. relayfs, sti, stirelayfs)\n");
+ printf("-l LTT channels root path. (ex. /mnt/relayfs/ltt)\n");
+ printf("-z Size of the subbuffers (will be rounded to next page size)\n");
+ printf("-x Number of subbuffers\n");
+@@ -217,6 +220,27 @@
+ argn++;
+ }
+ break;
++ case 'T':
++ if(argn+1 < argc) {
++ trace_type = argv[argn+1];
++ argn++;
++ if(strcmp(trace_type, "relayfs") == 0)
++ type = LTT_TYPE_RELAYFS;
++ else if(strcmp(trace_type, "sti") == 0)
++ type = LTT_TYPE_STI;
++ else if(strcmp(trace_type, "stirelayfs") == 0)
++ type = LTT_TYPE_STIRELAYFS;
++ else {
++ printf("Invalid trace type '%s'.\n", argv[argn]);
++ printf("\n");
++ ret = EINVAL;
++ }
++ } else {
++ printf("Specify a trace type after -T.\n");
++ printf("\n");
++ ret = EINVAL;
++ }
++ break;
+ default:
+ printf("Invalid argument '%s'.\n", argv[argn]);
+ printf("\n");
+@@ -390,7 +414,7 @@
+ strcat(channel_path, trace_name);
+
+
+- ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size, n_subbufs);
++ ret = lttctl_create_trace(handle, trace_name, mode, type, subbuf_size, n_subbufs);
+ if(ret != 0) goto create_error;
+
+ act.sa_handler = sigchld_handler;
+@@ -466,13 +490,13 @@
+
+ switch(op) {
+ case CTL_OP_CREATE_START:
+- ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size,
++ ret = lttctl_create_trace(handle, trace_name, mode, type, subbuf_size,
+ n_subbufs);
+ if(!ret)
+ ret = lttctl_start(handle, trace_name);
+ break;
+ case CTL_OP_CREATE:
+- ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size,
++ ret = lttctl_create_trace(handle, trace_name, mode, type, subbuf_size,
+ n_subbufs);
+ break;
+ case CTL_OP_DESTROY:
diff --git a/meta/packages/lttng/lttng-control_0.10.bb b/meta/packages/lttng/lttng-control_0.10.bb
new file mode 100644
index 0000000000..24399e4ec8
--- /dev/null
+++ b/meta/packages/lttng/lttng-control_0.10.bb
@@ -0,0 +1,17 @@
+SECTION = "devel"
+DESCRIPTION = "The Linux trace toolkit is a suite of tools designed to \
+extract program execution details from the Linux operating system and \
+interpret them."
+LICENSE = "GPL"
+MAINTAINER = "Richard Purdie <rpurdie@rpsys.net>"
+
+SRC_URI = "http://ltt.polymtl.ca/lttng/ltt-control-${PV}-12062006.tar.gz \
+ file://lttctl_sti-r0.patch;patch=1 "
+
+S = "${WORKDIR}/ltt-control-${PV}-12062006"
+
+inherit autotools
+
+export KERNELDIR="${STAGING_KERNEL_DIR}"
+
+FILES_${PN} += "${datadir}/ltt-control/facilities/*" \ No newline at end of file
diff --git a/meta/packages/lttng/lttng-control_0.6.bb b/meta/packages/lttng/lttng-control_0.6.bb
new file mode 100644
index 0000000000..b18f507e9d
--- /dev/null
+++ b/meta/packages/lttng/lttng-control_0.6.bb
@@ -0,0 +1,16 @@
+SECTION = "devel"
+DESCRIPTION = "The Linux trace toolkit is a suite of tools designed to \
+extract program execution details from the Linux operating system and \
+interpret them."
+LICENSE = "GPL"
+MAINTAINER = "Richard Purdie <rpurdie@rpsys.net>"
+
+SRC_URI = "http://ltt.polymtl.ca/lttng/ltt-control-${PV}-28042006.tar.gz"
+
+S = "${WORKDIR}/ltt-control-${PV}-28042006"
+
+inherit autotools
+
+export KERNELDIR="${STAGING_KERNEL_DIR}"
+
+FILES_${PN} += "${datadir}/ltt-control/facilities/*" \ No newline at end of file
diff --git a/meta/packages/lttng/lttng-viewer_0.8.41-20060512.bb b/meta/packages/lttng/lttng-viewer_0.8.41-20060512.bb
new file mode 100644
index 0000000000..c6069bc794
--- /dev/null
+++ b/meta/packages/lttng/lttng-viewer_0.8.41-20060512.bb
@@ -0,0 +1,20 @@
+SECTION = "devel"
+DESCRIPTION = "The Linux trace toolkit is a suite of tools designed to \
+extract program execution details from the Linux operating system and \
+interpret them."
+LICENSE = "GPL"
+MAINTAINER = "Richrd Purdie <richard@openedhand.com>"
+PR = "r1"
+DEPENDS = "gtk+ pango popt"
+
+ALTNAME = "LinuxTraceToolkitViewer-0.8.41-12052006"
+
+SRC_URI = "http://ltt.polymtl.ca/packages/${ALTNAME}.tar.gz "
+S = "${WORKDIR}/${ALTNAME}"
+
+inherit autotools
+
+FILES_${PN} += "\
+ ${libdir}/lttv/plugins/* \
+ ${datadir}/LinuxTraceToolkitViewer/facilities/* \
+ ${datadir}/LinuxTraceToolkitViewer/pixmaps/* "
diff --git a/meta/packages/m4/m4-native_1.4.2.bb b/meta/packages/m4/m4-native_1.4.2.bb
new file mode 100644
index 0000000000..67fe36c7a1
--- /dev/null
+++ b/meta/packages/m4/m4-native_1.4.2.bb
@@ -0,0 +1,19 @@
+include m4_${PV}.bb
+
+inherit native
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/m4"
+
+INHIBIT_AUTOTOOLS_DEPS = "1"
+DEPENDS += "gnu-config-native"
+
+do_configure() {
+ install -m 0644 ${STAGING_DATADIR}/gnu-config/config.sub .
+ install -m 0644 ${STAGING_DATADIR}/gnu-config/config.guess .
+ oe_runconf
+}
+
+do_stage() {
+ install -m 0755 src/m4 ${STAGING_BINDIR}/
+}
+
diff --git a/meta/packages/m4/m4/make.patch b/meta/packages/m4/m4/make.patch
new file mode 100644
index 0000000000..3577b0b7db
--- /dev/null
+++ b/meta/packages/m4/m4/make.patch
@@ -0,0 +1,41 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- m4-1.4.2/doc/Makefile.in~make
++++ m4-1.4.2/doc/Makefile.in
+@@ -57,9 +57,9 @@
+ date > $(srcdir)/stamp-vti
+
+ install: all
+- $(srcdir)/../mkinstalldirs $(infodir)
++ $(srcdir)/../mkinstalldirs $(DESTDIR)$(infodir)
+ cd $(srcdir) && for file in m4.info*; do \
+- $(INSTALL_DATA) $$file $(infodir)/$$file; \
++ $(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$file; \
+ done
+
+ uninstall:
+--- m4-1.4.2/src/Makefile.in~make
++++ m4-1.4.2/src/Makefile.in
+@@ -35,7 +35,7 @@
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ transform = @program_transform_name@
+-bindir = $(exec_prefix)/bin
++bindir = @bindir@
+
+ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+ LINK = $(CC) $(LDFLAGS) -o $@
+@@ -84,8 +84,8 @@
+ $(LINK) ansi2knr.o $(LIBS)
+
+ install: all
+- $(srcdir)/../mkinstalldirs $(bindir)
+- $(INSTALL_PROGRAM) m4 $(bindir)/`echo m4 | sed '$(transform)'`
++ $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir)
++ $(INSTALL_PROGRAM) m4 $(DESTDIR)$(bindir)/`echo m4 | sed '$(transform)'`
+
+ uninstall:
+ rm -f $(bindir)/`echo m4 | sed '$(transform)'`
diff --git a/meta/packages/m4/m4_1.4.2.bb b/meta/packages/m4/m4_1.4.2.bb
new file mode 100644
index 0000000000..9228ef4334
--- /dev/null
+++ b/meta/packages/m4/m4_1.4.2.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "GNU m4 is an implementation of the traditional Unix macro \
+processor."
+LICENSE = "GPL"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
+ file://make.patch;patch=1"
+S = "${WORKDIR}/m4-${PV}"
+
+inherit autotools
+
+EXTRA_AUTORECONF = "--exclude=autopoint,aclocal"
+EXTRA_OEMAKE += "'infodir=${infodir}'"
diff --git a/meta/packages/maemo/nokia770-init/fixup-770.sh b/meta/packages/maemo/nokia770-init/fixup-770.sh
new file mode 100644
index 0000000000..b65fb131e3
--- /dev/null
+++ b/meta/packages/maemo/nokia770-init/fixup-770.sh
@@ -0,0 +1,25 @@
+#! /bin/sh
+case "$1" in
+ start)
+ echo -n "Unmounting virtual fs from initrd"
+ umount /mnt/initfs/sys
+ umount /mnt/initfs/proc
+ ln -s /dev/vc/0 /dev/tty0
+ ln -s /dev/vc/1 /dev/tty1
+ ln -s /dev/vc/2 /dev/tty2
+ ln -s /dev/vc/3 /dev/tty3
+ ln -s /dev/vc/4 /dev/tty4
+ ln -s /dev/vc/5 /dev/tty5
+ ln -s /dev/vc/6 /dev/tty6
+ ln -s /dev/vc/7 /dev/tty7
+ ;;
+ stop)
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+ \ No newline at end of file
diff --git a/meta/packages/maemo/nokia770-init_1.0.bb b/meta/packages/maemo/nokia770-init_1.0.bb
new file mode 100644
index 0000000000..84c1e3c279
--- /dev/null
+++ b/meta/packages/maemo/nokia770-init_1.0.bb
@@ -0,0 +1,42 @@
+LICENSE = "GPL"
+MAINTAINER = "Florian Boor <florian@kernelconcepts.de"
+PR = "r5"
+
+DEPENDS = "base-passwd"
+#RDEPENDS = "hotplug"
+
+SRC_URI = "file://fixup-770.sh"
+
+FILES_${PN} = "${sysconfdir} ${libdir}"
+
+inherit update-rc.d
+
+
+INITSCRIPT_NAME = "fixup-770.sh"
+INITSCRIPT_PARAMS = "defaults 01"
+
+
+do_install () {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/fixup-770.sh ${D}/${sysconfdir}/init.d/fixup-770.sh
+
+ install -d ${D}/lib/firmware
+}
+
+pkg_postinst () {
+#!/bin/sh
+
+# can't do adduser stuff offline
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+# set up some links to firmware and modules in initrd
+ mkdir -p /lib/firmware
+ ln -sf /mnt/initfs/usr/lib/hotplug/firmware/3825.arm /lib/firmware/3825.arm
+ ln -sf /mnt/initfs/usr/lib/hotplug/firmware/brf6150fw.bin /lib/firmware/brf6150fw.bin
+ ln -sf /mnt/initfs/usr/lib/hotplug/firmware/mtlm3825.arm /lib/firmware/mtlm3825.arm
+
+# rm -rf /lib/modules
+# ln -s /mnt/initfs/lib/modules /lib/modules
+}
diff --git a/meta/packages/maemo/xpext/auxdir.patch b/meta/packages/maemo/xpext/auxdir.patch
new file mode 100644
index 0000000000..da5841a132
--- /dev/null
+++ b/meta/packages/maemo/xpext/auxdir.patch
@@ -0,0 +1,13 @@
+--- configure.ac.old 2005-06-03 12:53:28.000000000 +0200
++++ configure.ac 2005-06-03 12:54:29.000000000 +0200
+@@ -25,9 +25,9 @@
+
+ AC_PREREQ([2.57])
+ AC_INIT([spext], [1.0], [lauri.leukkunen@nokia.com], spext)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+-AC_CONFIG_AUX_DIR(.)
+
+ dnl PKG_CHECK_MODULES(FIXESEXT, fixesext)
+
diff --git a/meta/packages/maemo/xpext_1.0-5.bb b/meta/packages/maemo/xpext_1.0-5.bb
new file mode 100644
index 0000000000..75b7903e84
--- /dev/null
+++ b/meta/packages/maemo/xpext_1.0-5.bb
@@ -0,0 +1,27 @@
+PR = "r0"
+LICENSE= "MIT"
+DESCRIPTION = "X Server Nokia 770 extensions library"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+DEPENDS = "libx11 xextensions libxext"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${PN}/${PN}_${PV}.tar.gz \
+ file://auxdir.patch;patch=1;pnum=0"
+S = "${WORKDIR}/xpext-1.0"
+
+inherit autotools pkgconfig
+
+do_configure_prepend () {
+ cd ${S}
+ chmod +x ./autogen.sh
+ ./autogen.sh
+}
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR} \
+ mandir=${STAGING_DATADIR}/man
+}
diff --git a/meta/packages/maemo/xsp_1.0.0-8.bb b/meta/packages/maemo/xsp_1.0.0-8.bb
new file mode 100644
index 0000000000..068193c6aa
--- /dev/null
+++ b/meta/packages/maemo/xsp_1.0.0-8.bb
@@ -0,0 +1,20 @@
+PR = "r0"
+LICENSE= "MIT"
+DESCRIPTION = "X Server Nokia 770 extensions library"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+DEPENDS = "libx11 xextensions libxext xpext"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${PN}_${PV}.tar.gz"
+S = "${WORKDIR}/Xsp"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR} \
+ mandir=${STAGING_DATADIR}/man
+}
diff --git a/meta/packages/make/make-3.80/SCCS.patch b/meta/packages/make/make-3.80/SCCS.patch
new file mode 100644
index 0000000000..c998e118ed
--- /dev/null
+++ b/meta/packages/make/make-3.80/SCCS.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- make-3.80/configure.in~SCCS
++++ make-3.80/configure.in
+@@ -264,7 +264,7 @@
+ [Define this if the SCCS 'get' command understands the '-G<file>' option.]);;
+ esac
+ fi
+-rm -f s.conftest conftoast
++rm -f s.conftest conftoast SCCS/*s.conftest
+
+ # Check the system to see if it provides GNU glob. If not, use our
+ # local version.
diff --git a/meta/packages/make/make_3.80.bb b/meta/packages/make/make_3.80.bb
new file mode 100644
index 0000000000..565b460f10
--- /dev/null
+++ b/meta/packages/make/make_3.80.bb
@@ -0,0 +1,9 @@
+SECTION = "devel"
+DESCRIPTION = "GNU Make examines the timestamps on a set of \
+interdependent files, and, if necessary, issues commands \
+to bring them up-to-date."
+LICENSE = "GPL"
+SRC_URI = "${GNU_MIRROR}/make/make-${PV}.tar.bz2 \
+ file://SCCS.patch;patch=1"
+
+inherit autotools
diff --git a/meta/packages/makedevs/makedevs-1.0.0/makedevs.c b/meta/packages/makedevs/makedevs-1.0.0/makedevs.c
new file mode 100644
index 0000000000..a9bf8e782a
--- /dev/null
+++ b/meta/packages/makedevs/makedevs-1.0.0/makedevs.c
@@ -0,0 +1,338 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <time.h>
+#include <getopt.h>
+#include <libgen.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#define MINORBITS 8
+#define MKDEV(ma,mi) (((ma) << MINORBITS) | (mi))
+
+/* These are all stolen from busybox's libbb to make
+ * error handling simpler (and since I maintain busybox,
+ * I'm rather partial to these for error handling).
+ * -Erik
+ */
+static const char *const app_name = "makedevs";
+static const char *const memory_exhausted = "memory exhausted";
+static char default_rootdir[]=".";
+static char *rootdir = default_rootdir;
+
+static void verror_msg(const char *s, va_list p)
+{
+ fflush(stdout);
+ fprintf(stderr, "%s: ", app_name);
+ vfprintf(stderr, s, p);
+}
+
+static void error_msg_and_die(const char *s, ...)
+{
+ va_list p;
+
+ va_start(p, s);
+ verror_msg(s, p);
+ va_end(p);
+ putc('\n', stderr);
+ exit(EXIT_FAILURE);
+}
+
+static void vperror_msg(const char *s, va_list p)
+{
+ int err = errno;
+
+ if (s == 0)
+ s = "";
+ verror_msg(s, p);
+ if (*s)
+ s = ": ";
+ fprintf(stderr, "%s%s\n", s, strerror(err));
+}
+
+#if 0
+static void perror_msg(const char *s, ...)
+{
+ va_list p;
+
+ va_start(p, s);
+ vperror_msg(s, p);
+ va_end(p);
+}
+#endif
+
+static void perror_msg_and_die(const char *s, ...)
+{
+ va_list p;
+
+ va_start(p, s);
+ vperror_msg(s, p);
+ va_end(p);
+ exit(EXIT_FAILURE);
+}
+
+static FILE *xfopen(const char *path, const char *mode)
+{
+ FILE *fp;
+
+ if ((fp = fopen(path, mode)) == NULL)
+ perror_msg_and_die("%s", path);
+ return fp;
+}
+
+static char *xstrdup(const char *s)
+{
+ char *t;
+
+ if (s == NULL)
+ return NULL;
+
+ t = strdup(s);
+
+ if (t == NULL)
+ error_msg_and_die(memory_exhausted);
+
+ return t;
+}
+
+
+static void add_new_directory(char *name, char *path,
+ unsigned long uid, unsigned long gid, unsigned long mode)
+{
+// printf("Directory: %s %s UID: %ld GID %ld MODE: %ld\n", path, name, uid, gid, mode);
+}
+
+static void add_new_device(char *name, char *path, unsigned long uid,
+ unsigned long gid, unsigned long mode, dev_t rdev)
+{
+ int status;
+ struct stat sb;
+ time_t timestamp = time(NULL);
+
+ memset(&sb, 0, sizeof(struct stat));
+ status = lstat(path, &sb);
+
+ if (status >= 0) {
+ /* It is ok for some types of files to not exit on disk (such as
+ * device nodes), but if they _do_ exist the specified mode had
+ * better match the actual file or strange things will happen.... */
+ if ((mode & S_IFMT) != (sb.st_mode & S_IFMT))
+ error_msg_and_die("%s: file type does not match specified type!", path);
+ timestamp = sb.st_mtime;
+ }
+
+ mknod(name, mode, rdev);
+// printf("Device: %s %s UID: %ld GID: %ld MODE: %ld MAJOR: %d MINOR: %d\n",
+// path, name, uid, gid, mode, (short)(rdev >> 8), (short)(rdev & 0xff));
+}
+
+static void add_new_file(char *name, char *path, unsigned long uid,
+ unsigned long gid, unsigned long mode)
+{
+// printf("File: %s %s UID: %ld GID: %ld MODE: %ld\n",
+// path, name, gid, uid, mode);
+}
+
+
+/* device table entries take the form of:
+ <path> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
+ /dev/mem c 640 0 0 1 1 0 0 -
+
+ type can be one of:
+ f A regular file
+ d Directory
+ c Character special device file
+ b Block special device file
+ p Fifo (named pipe)
+
+ I don't bother with symlinks (permissions are irrelevant), hard
+ links (special cases of regular files), or sockets (why bother).
+
+ Regular files must exist in the target root directory. If a char,
+ block, fifo, or directory does not exist, it will be created.
+*/
+static int interpret_table_entry(char *line)
+{
+ char *name;
+ char path[4096], type;
+ unsigned long mode = 0755, uid = 0, gid = 0, major = 0, minor = 0;
+ unsigned long start = 0, increment = 1, count = 0;
+
+ if (0 > sscanf(line, "%40s %c %lo %lu %lu %lu %lu %lu %lu %lu", path,
+ &type, &mode, &uid, &gid, &major, &minor, &start,
+ &increment, &count))
+ {
+ return 1;
+ }
+
+ if (!strcmp(path, "/")) {
+ error_msg_and_die("Device table entries require absolute paths");
+ }
+ name = xstrdup(path + 1);
+ sprintf(path, "%s/%s\0", rootdir, name);
+
+ switch (type) {
+ case 'd':
+ mode |= S_IFDIR;
+ add_new_directory(name, path, uid, gid, mode);
+ break;
+ case 'f':
+ mode |= S_IFREG;
+ add_new_file(name, path, uid, gid, mode);
+ break;
+ case 'p':
+ mode |= S_IFIFO;
+ add_new_file(name, path, uid, gid, mode);
+ break;
+ case 'c':
+ case 'b':
+ mode |= (type == 'c') ? S_IFCHR : S_IFBLK;
+ if (count > 0) {
+ int i;
+ dev_t rdev;
+ char buf[80];
+
+ for (i = start; i < count; i++) {
+ sprintf(buf, "%s%d", name, i);
+ /* FIXME: MKDEV uses illicit insider knowledge of kernel
+ * major/minor representation... */
+ rdev = MKDEV(major, minor + (i * increment - start));
+ add_new_device(buf, path, uid, gid, mode, rdev);
+ }
+ } else {
+ /* FIXME: MKDEV uses illicit insider knowledge of kernel
+ * major/minor representation... */
+ dev_t rdev = MKDEV(major, minor);
+
+ add_new_device(name, path, uid, gid, mode, rdev);
+ }
+ break;
+ default:
+ error_msg_and_die("Unsupported file type");
+ }
+ if (name) free(name);
+ return 0;
+}
+
+
+static void parse_device_table(FILE * file)
+{
+ char *line;
+ size_t length = 256;
+ int len = 0;
+
+ /* Looks ok so far. The general plan now is to read in one
+ * line at a time, check for leading comment delimiters ('#'),
+ * then try and parse the line as a device table. If we fail
+ * to parse things, try and help the poor fool to fix their
+ * device table with a useful error msg... */
+
+ if((line = (char *)malloc(length)) == NULL) {
+ fclose(file);
+ return;
+ }
+
+ while ((len = getline(&line, &length, file)) != -1) {
+ /* First trim off any whitespace */
+
+ /* trim trailing whitespace */
+ while (len > 0 && isspace(line[len - 1]))
+ line[--len] = '\0';
+
+ /* trim leading whitespace */
+ memmove(line, &line[strspn(line, " \n\r\t\v")], len + 1);
+
+ /* If this is NOT a comment line, try to interpret it */
+ if (*line != '#') interpret_table_entry(line);
+ }
+ if (line) free(line);
+
+ fclose(file);
+}
+
+static int go(char *dname, FILE * devtable)
+{
+ struct stat sb;
+
+ if (lstat(dname, &sb)) {
+ perror_msg_and_die("%s", dname);
+ }
+ if (chdir(dname))
+ perror_msg_and_die("%s", dname);
+
+ if (devtable)
+ parse_device_table(devtable);
+
+ return 0;
+}
+
+
+static struct option long_options[] = {
+ {"root", 1, NULL, 'r'},
+ {"help", 0, NULL, 'h'},
+ {"squash", 0, NULL, 'q'},
+ {"version", 0, NULL, 'v'},
+ {"devtable", 1, NULL, 'D'},
+ {NULL, 0, NULL, 0}
+};
+
+static char *helptext =
+ "Usage: makedevs [OPTIONS]\n"
+ "Build entries based upon device_table.txt\n\n"
+ "Options:\n"
+ " -r, -d, --root=DIR Build filesystem from directory DIR (default: cwd)\n"
+ " -D, --devtable=FILE Use the named FILE as a device table file\n"
+ " -q, --squash Squash permissions and owners making all files be owned by root\n"
+ " -h, --help Display this help text\n"
+ " -v, --version Display version information\n\n";
+
+
+static char *revtext = "$Revision: 0.1 $";
+
+int main(int argc, char **argv)
+{
+ int c, opt;
+ extern char *optarg;
+ struct stat statbuf;
+ FILE *devtable = NULL;
+
+ umask (0);
+
+ while ((opt = getopt_long(argc, argv, "D:d:r:qhv",
+ long_options, &c)) >= 0) {
+ switch (opt) {
+ case 'D':
+ devtable = xfopen(optarg, "r");
+ if (fstat(fileno(devtable), &statbuf) < 0)
+ perror_msg_and_die(optarg);
+ if (statbuf.st_size < 10)
+ error_msg_and_die("%s: not a proper device table file", optarg);
+ break;
+ case 'h':
+ fprintf(stderr, helptext);
+ exit(1);
+ case 'r':
+ case 'd': /* for compatibility with mkfs.jffs, genext2fs, etc... */
+ if (rootdir != default_rootdir) {
+ error_msg_and_die("root directory specified more than once");
+ }
+ rootdir = xstrdup(optarg);
+ break;
+
+ case 'v':
+ fprintf(stderr, "makedevs revision %.*s\n",
+ (int) strlen(revtext) - 13, revtext + 11);
+ exit(1);
+ }
+ }
+
+ go(rootdir, devtable);
+ return 0;
+}
diff --git a/meta/packages/makedevs/makedevs-native_1.0.0.bb b/meta/packages/makedevs/makedevs-native_1.0.0.bb
new file mode 100644
index 0000000000..1a79403550
--- /dev/null
+++ b/meta/packages/makedevs/makedevs-native_1.0.0.bb
@@ -0,0 +1,10 @@
+SECTION = "base"
+include makedevs_${PV}.bb
+inherit native
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/makedevs-${PV}"
+
+do_stage() {
+ install -d ${STAGING_BINDIR}/
+ install -m 0755 ${S}/makedevs ${STAGING_BINDIR}/
+}
diff --git a/meta/packages/makedevs/makedevs_1.0.0.bb b/meta/packages/makedevs/makedevs_1.0.0.bb
new file mode 100644
index 0000000000..f6c1ffbfa1
--- /dev/null
+++ b/meta/packages/makedevs/makedevs_1.0.0.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "A tool to make device nodes"
+LICENSE = "GPL"
+SECTION = "base"
+PRIORITY = "required"
+SRC_URI = "file://makedevs.c"
+S = "${WORKDIR}/makedevs-${PV}"
+PR = "r2"
+
+do_configure() {
+ install -m 0644 ${WORKDIR}/makedevs.c ${S}/
+}
+
+do_compile() {
+ ${CC} ${CFLAGS} -o ${S}/makedevs ${S}/makedevs.c
+}
+
+do_install() {
+ install -d ${D}${base_sbindir}
+ install -m 0755 ${S}/makedevs ${D}${base_sbindir}/makedevs
+}
diff --git a/meta/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb b/meta/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb
new file mode 100644
index 0000000000..85dee09a72
--- /dev/null
+++ b/meta/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Matchbox input manager"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm libmatchbox"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/${PV}/mb-applet-input-manager-${PV}.tar.gz"
+S = "${WORKDIR}/mb-applet-input-manager-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir} ${datadir}/applications ${datadir}/pixmaps"
+
diff --git a/meta/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb b/meta/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb
new file mode 100644
index 0000000000..d5f0d24540
--- /dev/null
+++ b/meta/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Matchbox Startup monitor applet"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox startup-notification"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-startup-monitor/${PV}/mb-applet-startup-monitor-${PV}.tar.gz"
+S = "${WORKDIR}/mb-applet-startup-monitor-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir} ${datadir}/applications ${datadir}/pixmaps"
+
diff --git a/meta/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb b/meta/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb
new file mode 100644
index 0000000000..61b4756059
--- /dev/null
+++ b/meta/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Matchbox Volume Applet"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm libmatchbox"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-volume/${PV}/mb-applet-volume-${PV}.tar.gz"
+S = "${WORKDIR}/mb-applet-volume-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir} ${datadir}/applications ${datadir}/pixmaps"
+
diff --git a/meta/packages/matchbox-common/matchbox-common_0.9.1.bb b/meta/packages/matchbox-common/matchbox-common_0.9.1.bb
new file mode 100644
index 0000000000..2927ccd08f
--- /dev/null
+++ b/meta/packages/matchbox-common/matchbox-common_0.9.1.bb
@@ -0,0 +1,14 @@
+SECTION = "x11/wm"
+DESCRIPTION = "Matchbox window manager common files"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-pda-folders"
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/matchbox/vfolders \
+ ${datadir}/pixmaps"
diff --git a/meta/packages/matchbox-common/matchbox-common_svn.bb b/meta/packages/matchbox-common/matchbox-common_svn.bb
new file mode 100644
index 0000000000..97709bf31e
--- /dev/null
+++ b/meta/packages/matchbox-common/matchbox-common_svn.bb
@@ -0,0 +1,17 @@
+SECTION = "x11/wm"
+DESCRIPTION = "Matchbox window manager common files"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox"
+PV = "0.9.1+svn${SRCDATE}"
+S = "${WORKDIR}/matchbox-common"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-common;proto=http"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --enable-pda-folders "
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/matchbox/vfolders \
+ ${datadir}/pixmaps"
diff --git a/meta/packages/matchbox-common/matchbox_0.9.1.bb b/meta/packages/matchbox-common/matchbox_0.9.1.bb
new file mode 100644
index 0000000000..a74e6d1398
--- /dev/null
+++ b/meta/packages/matchbox-common/matchbox_0.9.1.bb
@@ -0,0 +1,7 @@
+DESCRIPTION = "Metapackage for Matchbox suite"
+LICENSE = "GPL"
+DEPENDS = "matchbox-common matchbox-wm matchbox-panel matchbox-desktop"
+RDEPENDS = "matchbox-common matchbox-wm matchbox-panel matchbox-desktop"
+SECTION = "x11/wm"
+PACKAGES= "${PN}"
+ALLOW_EMPTY = 1
diff --git a/meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb b/meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb
new file mode 100644
index 0000000000..ec11e45ad7
--- /dev/null
+++ b/meta/packages/matchbox-config-gtk/matchbox-config-gtk_svn.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "Matchbox gtk theme configuration application."
+LICENSE = "GPL"
+DEPENDS = "gconf libglade gtk+"
+RDEPENDS = "settings-daemon"
+PV = "0.0+svn${SRCDATE}"
+S = "${WORKDIR}/${PN}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+
+inherit autotools pkgconfig
+
diff --git a/meta/packages/matchbox-desktop/matchbox-desktop_0.9.1.bb b/meta/packages/matchbox-desktop/matchbox-desktop_0.9.1.bb
new file mode 100644
index 0000000000..5b1e472de7
--- /dev/null
+++ b/meta/packages/matchbox-desktop/matchbox-desktop_0.9.1.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Matchbox Window Manager Desktop"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox startup-notification"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-desktop/0.9/matchbox-desktop-${PV}.tar.bz2"
+
+EXTRA_OECONF = "--enable-startup-notification --enable-dnotify"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/applications \
+ ${libdir}/matchbox/desktop/*.so \
+ ${datadir}/matchbox-desktop \
+ ${datadir}/pixmaps \
+ ${sysconfdir}/matchbox"
+
+FILES_${PN}-dev = "${libdir}/matchbox-desktop \
+ ${includedir}/matchbox-desktop \
+ ${datadir}/matchbox/desktop/modules/*a"
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/matchbox-desktop/
+ install -m 0644 ${S}/src/*.h ${STAGING_INCDIR}/matchbox-desktop/
+
+}
diff --git a/meta/packages/matchbox-desktop/matchbox-desktop_svn.bb b/meta/packages/matchbox-desktop/matchbox-desktop_svn.bb
new file mode 100644
index 0000000000..6f2365c016
--- /dev/null
+++ b/meta/packages/matchbox-desktop/matchbox-desktop_svn.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Matchbox Window Manager Desktop"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox startup-notification"
+SECTION = "x11/wm"
+PV = "0.9.1+svn${SRCDATE}"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+
+EXTRA_OECONF = "--enable-startup-notification --enable-dnotify"
+
+S = ${WORKDIR}/${PN}
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/applications \
+ ${libdir}/matchbox/desktop/*.so \
+ ${datadir}/matchbox-desktop \
+ ${datadir}/pixmaps \
+ ${sysconfdir}/matchbox"
+
+FILES_${PN}-dev = "${libdir}/matchbox-desktop \
+ ${includedir}/matchbox-desktop \
+ ${datadir}/matchbox/desktop/modules/*a"
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/matchbox-desktop/
+ install -m 0644 ${S}/src/*.h ${STAGING_INCDIR}/matchbox-desktop/
+}
+
diff --git a/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb b/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
new file mode 100644
index 0000000000..d2514d95c3
--- /dev/null
+++ b/meta/packages/matchbox-keyboard/matchbox-keyboard_svn.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Matchbox virtual keyboard for X11"
+LICENSE = "GPL"
+DEPENDS = "libfakekey expat libxft"
+SECTION = "x11"
+MAINTAINER = "Koen Kooi <koen@handhelds.org>"
+PV = "0.0+svn${SRCDATE}"
+PR="r2"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+
+
+S = ${WORKDIR}/${PN}
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF = "--disable-cairo"
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/applications \
+ ${datadir}/pixmaps \
+ ${datadir}/matchbox-keyboard"
+
diff --git a/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop
new file mode 100644
index 0000000000..4e08dfd379
--- /dev/null
+++ b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=Home
+Comment=Home
+Exec=mb-applet-home
+Type=PanelApp
+Icon=xrandr.png
+Categories=Panel;Utility;MB
diff --git a/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home
new file mode 100755
index 0000000000..72aa76f227
--- /dev/null
+++ b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home
@@ -0,0 +1,2 @@
+#!/bin/sh
+mb-applet-launcher -na -o -1 -l --title "Home" mbdesktop.png matchbox-remote -d
diff --git a/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop
new file mode 100644
index 0000000000..512e3771e4
--- /dev/null
+++ b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Name=Screen Rotator
+Comment=Panel based Rotation tool.
+Exec=mb-applet-launcher -na -l --title "Screen Rotator" /usr/share/pixmaps/xrandr.png xrandr-panelapp.sh
+Type=PanelApp
+Icon=xrandr.png
+Categories=Panel;Utility;MB
diff --git a/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh
new file mode 100755
index 0000000000..d17c805ffc
--- /dev/null
+++ b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+if [ -n "$(xrandr | grep rotation | grep left)" ]
+then
+xrandr -o normal
+xmodmap /etc/X11/xmodmap-portrait
+else
+xrandr -o left
+xmodmap /etc/X11/xmodmap-left
+fi
diff --git a/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png
new file mode 100644
index 0000000000..08cd476e8a
--- /dev/null
+++ b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png
Binary files differ
diff --git a/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb
new file mode 100644
index 0000000000..46b0acfe2e
--- /dev/null
+++ b/meta/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Simple dockapps created with monolaunch and shell script"
+DEPENDS = "matchbox xmodmap"
+SRC_URI = "file://xrandr-panelapp.sh \
+ file://xrandr-panelapp.desktop \
+ file://mb-applet-home \
+ file://home-panelapp.desktop \
+ file://xrandr.png"
+SECTION = "x11/wm"
+PRIORITY = "optional"
+PR = "r6"
+LICENSE = "MIT"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -d ${D}${datadir}/applications
+ install -d ${D}${datadir}/pixmaps
+ install -m 0755 ${WORKDIR}/xrandr-panelapp.sh ${D}${bindir}/
+ install -m 0644 ${WORKDIR}/xrandr-panelapp.desktop ${D}${datadir}/applications/
+ install -m 0644 ${WORKDIR}/xrandr.png ${D}${datadir}/pixmaps/
+ install -m 0755 ${WORKDIR}/mb-applet-home ${D}${bindir}/
+ install -m 0644 ${WORKDIR}/home-panelapp.desktop ${D}${datadir}/applications/
+
+}
diff --git a/meta/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb b/meta/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb
new file mode 100644
index 0000000000..1023a6aa72
--- /dev/null
+++ b/meta/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "Matchbox Panel Manager"
+LICENSE = "GPL"
+DEPENDS = "gtk+"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.bz2"
+S = "${WORKDIR}/${PN}-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${bindir} ${datadir}/applications ${datadir}/pixmaps"
+
diff --git a/meta/packages/matchbox-panel/matchbox-panel.inc b/meta/packages/matchbox-panel/matchbox-panel.inc
new file mode 100644
index 0000000000..d5d3551619
--- /dev/null
+++ b/meta/packages/matchbox-panel/matchbox-panel.inc
@@ -0,0 +1,22 @@
+DESCRIPTION = "Matchbox Window Manager Panel"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox libx11 libxext libxpm apmd startup-notification virtual/kernel wireless-tools"
+SECTION = "x11/wm"
+
+inherit autotools pkgconfig gettext
+
+CFLAGS += "-D_GNU_SOURCE"
+
+EXTRA_OECONF = " --enable-startup-notification --enable-dnotify "
+EXTRA_OECONF_append_h3600 = " --enable-small-icons "
+EXTRA_OECONF_append_h3900 = " --enable-small-icons "
+EXTRA_OECONF_append_h2200 = " --enable-small-icons "
+EXTRA_OECONF_append_collie = " --enable-small-icons "
+EXTRA_OECONF_append_poodle = " --enable-small-icons "
+EXTRA_OECONF_append_mnci = " --enable-small-icons "
+EXTRA_OECONF_append_integral13 = " --enable-small-icons "
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/applications \
+ ${datadir}/pixmaps"
+
diff --git a/meta/packages/matchbox-panel/matchbox-panel_0.9.2.bb b/meta/packages/matchbox-panel/matchbox-panel_0.9.2.bb
new file mode 100644
index 0000000000..78d1b282d9
--- /dev/null
+++ b/meta/packages/matchbox-panel/matchbox-panel_0.9.2.bb
@@ -0,0 +1,6 @@
+include matchbox-panel.inc
+
+PR="r3"
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz"
+
+
diff --git a/meta/packages/matchbox-panel/matchbox-panel_svn.bb b/meta/packages/matchbox-panel/matchbox-panel_svn.bb
new file mode 100644
index 0000000000..211cf3caa2
--- /dev/null
+++ b/meta/packages/matchbox-panel/matchbox-panel_svn.bb
@@ -0,0 +1,11 @@
+include matchbox-panel.inc
+PV = "0.9.2+svn${SRCDATE}"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+
+EXTRA_OECONF = "--enable-startup-notification --enable-dnotify"
+
+S = ${WORKDIR}/${PN}
+
+
diff --git a/meta/packages/matchbox-poky/matchbox-poky/etc/matchbox/session b/meta/packages/matchbox-poky/matchbox-poky/etc/matchbox/session
new file mode 100755
index 0000000000..fede9e44b9
--- /dev/null
+++ b/meta/packages/matchbox-poky/matchbox-poky/etc/matchbox/session
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+module_id() {
+ awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+}
+
+SHOWCURSOR="no"
+
+## Start up machine specific input devices. Really needs to go in its own session
+case `module_id` in
+ "SHARP Shepherd" | "SHARP Husky" | "SHARP Corgi" | "SHARP Spitz" | "SHARP Akita" | "SHARP Borzoi")
+ chkhinge26 /dev/input/event0 hinge-handler &
+ ;;
+ "Generic OMAP1510/1610/1710")
+ /usr/bin/mbinputmgr &
+ ;;
+ "ARM-IntegratorCP")
+ /usr/bin/mbinputmgr &
+ SHOWCURSOR="yes"
+ ;;
+esac
+
+## All this should be done by themeing/xsettings.. ##
+matchbox-desktop --icon-size 48 \
+ --icon-padding 64 \
+ --font sans-8:bold \
+ --titlefont sans-8:bold &
+
+# let theme set it
+# --bg /usr/share/themes/Clearlooks/background/default.png \
+
+mb-applet-startup-monitor &
+
+matchbox-panel --orientation east \
+ --padding 4 \
+ --no-menu \
+ --no-session \
+ --default-apps mb-applet-home,mb-applet-clock,mb-applet-battery &
+
+## eek ugly no cursor hack - transparent theme should do this
+exec matchbox-window-manager -theme Clearlooks -use_cursor $SHOWCURSOR $@
+
+
diff --git a/meta/packages/matchbox-poky/matchbox-poky_0.1.bb b/meta/packages/matchbox-poky/matchbox-poky_0.1.bb
new file mode 100644
index 0000000000..041a6ea904
--- /dev/null
+++ b/meta/packages/matchbox-poky/matchbox-poky_0.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Custom MB session files for poky"
+LICENSE = "GPL"
+SECTION = "x11"
+RDEPENDS = "matchbox matchbox-applet-startup-monitor gtk-theme-clearlooks"
+PR = "r15"
+
+SRC_URI = "file://etc"
+S = ${WORKDIR}
+
+do_install() {
+ cp -R ${S}/etc ${D}/etc
+ rm -fR ${D}/etc/.svn
+ rm -fR ${D}/etc/matchbox/.svn
+ chmod -R 755 ${D}/etc
+}
+
+pkg_postinst_matchbox-poky () {
+#!/bin/sh -e
+gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type string --set /desktop/poky/theme Clearlooks
+}
diff --git a/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb b/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb
new file mode 100644
index 0000000000..9bbbe89027
--- /dev/null
+++ b/meta/packages/matchbox-stroke/matchbox-stroke_svn.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Matchbox keyboard"
+LICENSE = "GPL"
+DEPENDS = "libfakekey expat libxft"
+SECTION = "x11/wm"
+PV = "0.0+svn${SRCDATE}"
+PR="r1"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http"
+
+
+S = ${WORKDIR}/${PN}
+
+inherit autotools pkgconfig gettext
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/applications \
+ ${datadir}/pixmaps \
+ ${datadir}/matchbox-stroke"
+
diff --git a/meta/packages/matchbox-themes-extra/matchbox-themes-extra_0.3.bb b/meta/packages/matchbox-themes-extra/matchbox-themes-extra_0.3.bb
new file mode 100644
index 0000000000..ac00978c41
--- /dev/null
+++ b/meta/packages/matchbox-themes-extra/matchbox-themes-extra_0.3.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Matchbox window manager extra themes"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm"
+SECTION = "x11/wm"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-themes-extra/${PV}/matchbox-themes-extra-${PV}.tar.bz2"
+S = "${WORKDIR}/matchbox-themes-extra-${PV}"
+
+inherit autotools pkgconfig
+
+# split into several packages plus one meta package
+PACKAGES = "${PN} ${PN}-industrial ${PN}-expose ${PN}-mbcrystal"
+
+ALLOW_EMPTY_${PN} = 1
+FILES_${PN} = ""
+RDEPENDS_${PN} = "${PN}-industrial ${PN}-expose ${PN}-mbcrystal"
+
+FILES_${PN}-industrial = "${datadir}/themes/Industrial \
+ ${datadir}/icons/Industrial"
+
+FILES_${PN}-expose = "${datadir}/themes/expose \
+ ${datadir}/icons/expose"
+
+FILES_${PN}-mbcrystal = "${datadir}/themes/mbcrystal \
+ ${datadir}/icons/mbcrystal"
diff --git a/meta/packages/matchbox-themes-extra/matchbox-themes-extra_svn.bb b/meta/packages/matchbox-themes-extra/matchbox-themes-extra_svn.bb
new file mode 100644
index 0000000000..6247ad4b25
--- /dev/null
+++ b/meta/packages/matchbox-themes-extra/matchbox-themes-extra_svn.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "Matchbox window manager extra themes"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm"
+SECTION = "x11/wm"
+PV = "0.3+svn${SRCDATE}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-themes-extra;proto=http"
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig
+
+# split into several packages plus one meta package
+PACKAGES = "${PN} ${PN}-industrial ${PN}-expose ${PN}-mbcrystal ${PN}-clearlooks"
+
+ALLOW_EMPTY_${PN} = 1
+FILES_${PN} = ""
+RDEPENDS_${PN} = "${PN}-industrial ${PN}-expose ${PN}-mbcrystal ${PN}-clearlooks"
+
+FILES_${PN}-industrial = "${datadir}/themes/Industrial \
+ ${datadir}/icons/Industrial"
+
+FILES_${PN}-expose = "${datadir}/themes/expose \
+ ${datadir}/icons/expose"
+
+FILES_${PN}-mbcrystal = "${datadir}/themes/mbcrystal \
+ ${datadir}/icons/mbcrystal"
+
+FILES_${PN}-clearlooks = "${datadir}/themes/Clearlooks \
+ ${datadir}/icons/Clearlooks"
+
diff --git a/meta/packages/matchbox-themes-gtk/files/gtkrc b/meta/packages/matchbox-themes-gtk/files/gtkrc
new file mode 100644
index 0000000000..6dc40c0aa5
--- /dev/null
+++ b/meta/packages/matchbox-themes-gtk/files/gtkrc
@@ -0,0 +1 @@
+include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc"
diff --git a/meta/packages/matchbox-themes-gtk/matchbox-themes-gtk.bb b/meta/packages/matchbox-themes-gtk/matchbox-themes-gtk.bb
new file mode 100644
index 0000000000..602a96efa3
--- /dev/null
+++ b/meta/packages/matchbox-themes-gtk/matchbox-themes-gtk.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Gtk2 theme files to accompany default Matchbox themes"
+LICENSE = "GPL"
+DEPENDS = "matchbox-wm gtk-clearlooks-engine"
+RDEPENDS = "matchbox-wm gtk-clearlooks-engine"
+SECTION = "x11/base"
+PR = "r2"
+
+SRC_URI = "file://gtkrc"
+
+FILES_${PN} = "${datadir}/themes"
+
+do_install() {
+ install -d ${D}${datadir}/themes/blondie/gtk-2.0
+ install -d ${D}${datadir}/themes/MBOpus/gtk-2.0
+ install -m 644 ${WORKDIR}/gtkrc ${D}${datadir}/themes/blondie/gtk-2.0/
+ install -m 644 ${WORKDIR}/gtkrc ${D}${datadir}/themes/MBOpus/gtk-2.0/
+}
diff --git a/meta/packages/matchbox-wm/matchbox-wm/collie/kbdconfig b/meta/packages/matchbox-wm/matchbox-wm/collie/kbdconfig
new file mode 100644
index 0000000000..d56625f394
--- /dev/null
+++ b/meta/packages/matchbox-wm/matchbox-wm/collie/kbdconfig
@@ -0,0 +1,54 @@
+#
+# This is an example keyboard config file for matchbox
+#
+# You can edit this file or change per user by copying to
+# ~/.matchbox/kbdconfig
+#
+# Se the matchbox manual for more info ( http://projects.o-hand.com/matchbox )
+
+### Window operation short cuts
+
+<Alt>n=next
+<Alt>p=prev
+<Alt>c=close
+<Alt>d=desktop
+<Alt>m=!matchbox-remote -mbmenu
+
+### App launching.
+
+<ctrl><alt>x=!xterm
+<ctrl><alt>r=!rxvt
+
+### App launching with startup notify
+
+<ctrl><alt>e=!!gpe-calender
+
+### windows style key shortcuts
+
+<alt>Tab=next
+<alt><shift>Tab=prev
+
+<alt>space=taskmenu
+<alt>escape=!matchbox-remote -mbmenu
+<alt>f4=close
+
+f11=fullscreen
+
+### super should be a 'window' key, uncomment '#' if you have one.
+
+#<super>d=desktop
+#<super>r=!xterm
+#<super>e=!!nautilus
+
+### Special keys, likely probably only available on extended keyboards.
+
+#App=!matchbox-remote -mbmenu
+#Menu=!matchbox-remote -mbmenu
+
+# Shortcut keys for collie
+XF86Calendar=!$gpe-calendar
+telephone=!$gpe-contacts
+XF86Start=!matchbox-remote -desktop
+F2=!matchbox-remote -mbmenu
+XF86Mail=!$gpe-taskmanager
+Escape=close
diff --git a/meta/packages/matchbox-wm/matchbox-wm/kbdconfig b/meta/packages/matchbox-wm/matchbox-wm/kbdconfig
new file mode 100644
index 0000000000..633d3672a3
--- /dev/null
+++ b/meta/packages/matchbox-wm/matchbox-wm/kbdconfig
@@ -0,0 +1,47 @@
+#
+# This is an example keyboard config file for matchbox
+#
+# You can edit this file or change per user by copying to
+# ~/.matchbox/kbdconfig
+#
+# Se the matchbox manual for more info ( http://projects.o-hand.com/matchbox )
+
+### Window operation short cuts
+
+<Alt>n=next
+<Alt>p=prev
+<Alt>c=close
+<Alt>d=desktop
+<Alt>m=!matchbox-remote -mbmenu
+
+### App launching.
+
+<ctrl><alt>x=!xterm
+<ctrl><alt>r=!rxvt
+
+### App launching with startup notify
+
+<ctrl><alt>e=!!gpe-calender
+
+### windows style key shortcuts
+
+<alt>Tab=next
+<alt><shift>Tab=prev
+
+<alt>space=taskmenu
+<alt>escape=!matchbox-remote -mbmenu
+<alt>f4=close
+
+f11=fullscreen
+
+### super should be a 'window' key, uncomment '#' if you have one.
+
+#<super>d=desktop
+#<super>r=!xterm
+#<super>e=!!nautilus
+
+### Special keys, likely probably only available on extended keyboards.
+
+#App=!matchbox-remote -mbmenu
+#Menu=!matchbox-remote -mbmenu
+
diff --git a/meta/packages/matchbox-wm/matchbox-wm/kbdconfig_keylaunch_simpad.patch b/meta/packages/matchbox-wm/matchbox-wm/kbdconfig_keylaunch_simpad.patch
new file mode 100644
index 0000000000..8fd1dc3f4b
--- /dev/null
+++ b/meta/packages/matchbox-wm/matchbox-wm/kbdconfig_keylaunch_simpad.patch
@@ -0,0 +1,12 @@
+--- data/kbdconfig~ 2004-07-11 00:59:25.000000000 +0200
++++ data/kbdconfig 2004-07-11 00:59:25.000000000 +0200
+@@ -28,7 +28,8 @@
+ <alt>escape=!mbcontrol -mbmenu
+ <alt>f4=close
+
+-f11=fullscreen
++#Please don't do this, it breaks suspending on SimPad
++#f11=fullscreen
+
+ ### super should be windows keys
+
diff --git a/meta/packages/matchbox-wm/matchbox-wm/simpad/kbdconfig b/meta/packages/matchbox-wm/matchbox-wm/simpad/kbdconfig
new file mode 100644
index 0000000000..4c2d949e43
--- /dev/null
+++ b/meta/packages/matchbox-wm/matchbox-wm/simpad/kbdconfig
@@ -0,0 +1,48 @@
+#
+# This is an example keyboard config file for matchbox
+#
+# You can edit this file or change per user by copying to
+# ~/.matchbox/kbdconfig
+#
+# Se the matchbox manual for more info ( http://projects.o-hand.com/matchbox )
+
+### Window operation short cuts
+
+<Alt>n=next
+<Alt>p=prev
+<Alt>c=close
+<Alt>d=desktop
+<Alt>m=!matchbox-remote -mbmenu
+
+### App launching.
+
+<ctrl><alt>x=!xterm
+<ctrl><alt>r=!rxvt
+
+### App launching with startup notify
+
+<ctrl><alt>e=!!gpe-calender
+
+### windows style key shortcuts
+
+<alt>Tab=next
+<alt><shift>Tab=prev
+
+<alt>space=taskmenu
+<alt>escape=!matchbox-remote -mbmenu
+<alt>f4=close
+
+#Please don't do this, it breaks suspending on SimPad
+#f11=fullscreen
+
+### super should be a 'window' key, uncomment '#' if you have one.
+
+#<super>d=desktop
+#<super>r=!xterm
+#<super>e=!!nautilus
+
+### Special keys, likely probably only available on extended keyboards.
+
+#App=!matchbox-remote -mbmenu
+#Menu=!matchbox-remote -mbmenu
+
diff --git a/meta/packages/matchbox-wm/matchbox-wm_0.9.5.bb b/meta/packages/matchbox-wm/matchbox-wm_0.9.5.bb
new file mode 100644
index 0000000000..c158f590ce
--- /dev/null
+++ b/meta/packages/matchbox-wm/matchbox-wm_0.9.5.bb
@@ -0,0 +1,33 @@
+SECTION = "x11/wm"
+DESCRIPTION = "Matchbox window manager"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox libx11 libxext libxcomposite libxfixes xdamage libxrender startup-notification expat gconf matchbox-common"
+RDEPENDS = "matchbox-common"
+PR="r0"
+
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/matchbox-window-manager/0.9/matchbox-window-manager-${PV}.tar.gz \
+ file://kbdconfig"
+
+S = "${WORKDIR}/matchbox-window-manager-${PV}"
+
+inherit autotools pkgconfig update-alternatives
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/matchbox \
+ ${sysconfdir}/matchbox \
+ ${datadir}/themes/blondie/matchbox \
+ ${datadir}/themes/Default/matchbox \
+ ${datadir}/themes/MBOpus/matchbox"
+
+ALTERNATIVE_NAME = "x-window-manager"
+ALTERNATIVE_LINK = "${bindir}/x-window-manager"
+ALTERNATIVE_PATH = "${bindir}/matchbox-session"
+ALTERNATIVE_PRIORITY = "10"
+
+EXTRA_OECONF = " --enable-startup-notification --disable-xrm"
+
+do_install_prepend() {
+ install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig
+}
+
diff --git a/meta/packages/matchbox-wm/matchbox-wm_svn.bb b/meta/packages/matchbox-wm/matchbox-wm_svn.bb
new file mode 100644
index 0000000000..ad37976dd4
--- /dev/null
+++ b/meta/packages/matchbox-wm/matchbox-wm_svn.bb
@@ -0,0 +1,34 @@
+SECTION = "x11/wm"
+DESCRIPTION = "Matchbox window manager"
+LICENSE = "GPL"
+DEPENDS = "libmatchbox libx11 libxext libxrender startup-notification expat matchbox-common gconf"
+RDEPENDS = "matchbox-common"
+PV = "0.9.5+svn${SRCDATE}"
+PR = "r4"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-window-manager;proto=http \
+ file://kbdconfig"
+
+S = "${WORKDIR}/matchbox-window-manager"
+
+inherit autotools pkgconfig update-alternatives
+
+ALTERNATIVE_NAME = "x-window-manager"
+ALTERNATIVE_LINK = "${bindir}/x-window-manager"
+ALTERNATIVE_PATH = "${bindir}/matchbox-session"
+ALTERNATIVE_PRIORITY = "10"
+
+FILES_${PN} = "${bindir} \
+ ${datadir}/matchbox \
+ ${sysconfdir}/matchbox \
+ ${datadir}/themes/blondie/matchbox \
+ ${datadir}/themes/Default/matchbox \
+ ${datadir}/themes/MBOpus/matchbox"
+
+EXTRA_OECONF = "--enable-startup-notification --disable-xrm --enable-expat"
+
+do_install_prepend() {
+ install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig
+}
+
diff --git a/meta/packages/meta/bootstrap-image.bb b/meta/packages/meta/bootstrap-image.bb
new file mode 100644
index 0000000000..c7d3b5d52d
--- /dev/null
+++ b/meta/packages/meta/bootstrap-image.bb
@@ -0,0 +1,17 @@
+export IMAGE_BASENAME = "bootstrap-image"
+export IMAGE_LINGUAS = ""
+export IPKG_INSTALL = "task-bootstrap"
+
+DEPENDS = "task-bootstrap"
+
+inherit image_ipk
+
+FEED_URIS_append_openzaurus = " x11##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/x11 \
+ gpe##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/gpe \
+ opie##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/opie \
+ e##http://openzaurus.org/official/unstable/${DISTRO_VERSION}/feed/e"
+
+FEED_URIS_append_familiar = " x11##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/x11 \
+ opie##http://familiar.handhelds.org/releases/${DISTRO_VERSION}/feed/opie"
+
+LICENSE = MIT
diff --git a/meta/packages/meta/oh-image-devel.bb b/meta/packages/meta/oh-image-devel.bb
new file mode 100644
index 0000000000..2865151b03
--- /dev/null
+++ b/meta/packages/meta/oh-image-devel.bb
@@ -0,0 +1,24 @@
+PR = "r9"
+
+export IMAGE_BASENAME = "oh-devel"
+
+GUI_MACHINE_CLASS ?= "none"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+DEPENDS = "task-oh"
+
+RDEPENDS = "\
+ task-oh-boot \
+ task-oh-boot-extras \
+ task-oh-base \
+ task-oh-standard \
+ task-oh-devtools \
+ task-oh-testapps \
+ ${XSERVER} "
+
+export IPKG_INSTALL = "${RDEPENDS}"
+#ROOTFS_POSTPROCESS_COMMAND += "zap_root_password; "
+
+inherit image_ipk
+LICENSE = MIT
diff --git a/meta/packages/meta/oh-image-minimal.bb b/meta/packages/meta/oh-image-minimal.bb
new file mode 100644
index 0000000000..b1e2050a1c
--- /dev/null
+++ b/meta/packages/meta/oh-image-minimal.bb
@@ -0,0 +1,21 @@
+PR = "r0"
+
+export IMAGE_BASENAME = "oh-image-minimal"
+
+GUI_MACHINE_CLASS ?= "none"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+DEPENDS = "task-oh"
+
+RDEPENDS = "\
+ task-oh-boot \
+ task-oh-boot-min-extras \
+ task-oh-base \
+ ${XSERVER} "
+
+export IPKG_INSTALL = "${RDEPENDS}"
+#ROOTFS_POSTPROCESS_COMMAND += "zap_root_password; "
+
+inherit image_ipk
+LICENSE = MIT
diff --git a/meta/packages/meta/oh-image-sdk.bb b/meta/packages/meta/oh-image-sdk.bb
new file mode 100644
index 0000000000..b5dfee740c
--- /dev/null
+++ b/meta/packages/meta/oh-image-sdk.bb
@@ -0,0 +1,27 @@
+PR = "r9"
+
+export IMAGE_BASENAME = "oh-sdk"
+
+GUI_MACHINE_CLASS ?= "none"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+DEPENDS = "\
+ task-oh \
+ task-oh-sdk"
+
+RDEPENDS = "\
+ task-oh-boot \
+ task-oh-boot-extras \
+ task-oh-base \
+ task-oh-standard \
+ task-oh-devtools \
+ task-oh-testapps \
+ task-oh-sdk \
+ ${XSERVER} "
+
+export IPKG_INSTALL = "${RDEPENDS}"
+#ROOTFS_POSTPROCESS_COMMAND += "zap_root_password; "
+
+inherit image_ipk
+LICENSE = MIT
diff --git a/meta/packages/meta/oh-image.bb b/meta/packages/meta/oh-image.bb
new file mode 100644
index 0000000000..7750eeb6f8
--- /dev/null
+++ b/meta/packages/meta/oh-image.bb
@@ -0,0 +1,22 @@
+PR = "r10"
+
+export IMAGE_BASENAME = "oh-image"
+
+GUI_MACHINE_CLASS ?= "none"
+
+XSERVER ?= "xserver-kdrive-fbdev"
+
+DEPENDS = "task-oh"
+
+RDEPENDS = "\
+ task-oh-boot \
+ task-oh-boot-extras \
+ task-oh-base \
+ task-oh-standard \
+ ${XSERVER} "
+
+export IPKG_INSTALL = "${RDEPENDS}"
+#ROOTFS_POSTPROCESS_COMMAND += "zap_root_password; "
+
+inherit image_ipk
+LICENSE = MIT
diff --git a/meta/packages/meta/package-index.bb b/meta/packages/meta/package-index.bb
new file mode 100644
index 0000000000..f230af0e27
--- /dev/null
+++ b/meta/packages/meta/package-index.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Rebuild the package index"
+LICENSE = "MIT"
+PR = "r0"
+
+DEPENDS = "ipkg-native"
+
+INHIBIT_DEFAULT_DEPS = "1"
+ALLOW_EMPTY = 1
+PACKAGES = ""
+
+do_fetch() {
+}
+do_unpack() {
+}
+do_patch() {
+}
+do_configure() {
+}
+do_compile() {
+}
+do_install() {
+}
+do_stage() {
+}
+
+do_build[nostamp] = 1
+do_build[dirs] = "${DEPLOY_DIR_IPK}"
+do_build() {
+ set -ex
+ rm -f Packages
+ touch Packages
+ ipkg-make-index -r Packages -p Packages -l Packages.filelist -m .
+ set +ex
+}
diff --git a/meta/packages/meta/task-oh-sdk.bb b/meta/packages/meta/task-oh-sdk.bb
new file mode 100644
index 0000000000..e6f120653a
--- /dev/null
+++ b/meta/packages/meta/task-oh-sdk.bb
@@ -0,0 +1,188 @@
+DESCRIPTON = "Software Development Tasks for OpenedHand Poky"
+MAINTAINER = "Richard Purdie <richard@openedhand.com>"
+PR = "r7"
+
+PACKAGES = "\
+ task-oh-sdk \
+ task-oh-sdk-base \
+ task-oh-sdk-apps \
+ task-oh-sdk-libs \
+ task-oh-sdk-x11-base \
+ task-oh-sdk-x11-apps \
+ task-oh-sdk-x11-libs \
+ task-oh-sdk-x11-xext \
+ task-oh-sdk-x11-xlibs"
+
+ALLOW_EMPTY = "1"
+
+RDEPENDS_task-oh-sdk := "\
+ task-oh-sdk-base \
+ task-oh-sdk-apps \
+ task-oh-sdk-libs \
+ task-oh-sdk-x11-base \
+ task-oh-sdk-x11-apps \
+ task-oh-sdk-x11-libs \
+ task-oh-sdk-x11-xext \
+ task-oh-sdk-x11-xlibs"
+
+RDEPENDS_task-oh-sdk-base := "\
+ autoconf \
+ automake \
+ binutils \
+ binutils-symlinks \
+ gcc \
+ gcc-symlinks \
+ glibc-dev \
+ make \
+ perl-module-re \
+ perl-module-text-wrap \
+ pkgconfig"
+
+RDEPENDS_task-oh-sdk-apps := "\
+ avahi-dev \
+ binutils-dev \
+ console-tools-dev \
+ db-dev \
+ gdb-dev \
+ udev-dev"
+
+RDEPENDS_task-oh-sdk-libs := "\
+ bzip2-dev \
+ dbus-dev \
+ eds-dbus-dev \
+ glib-2.0-dev \
+ ncurses-dev \
+ zlib-dev"
+
+RDEPENDS_task-oh-sdk-x11-base := "\
+ atk-dev \
+ cairo-dev \
+ gconf-dbus-dev \
+ gtk+-dev \
+ libmatchbox-dev \
+ matchbox-desktop-dev \
+ pango-dev \
+ startup-notification-dev"
+# gtk-engines-dev \
+# libsvg-cairo-dev \
+
+RDEPENDS_task-oh-sdk-x11-apps := "\
+ dates-dev \
+"
+
+RDEPENDS_task-oh-sdk-x11-libs := "\
+ gconf-dbus-dev \
+ gnome-vfs-dbus-dev \
+"
+
+RDEPENDS_task-oh-sdk-x11-xext := "\
+ compositeext-dev \
+ damageext-dev \
+ fixesext-dev \
+ randrext-dev \
+ recordext-dev \
+ renderext-dev \
+ resourceext-dev \
+ xcalibrate-dev \
+ xcalibrateext-dev \
+ xextensions-dev \
+ xproto-dev \
+ xtrans-dev"
+
+RDEPENDS_task-oh-sdk-x11-xlibs := "\
+ libx11-dev \
+ libxau-dev \
+ libxcursor-dev \
+ libxdmcp-dev \
+ libxext-dev \
+ libxfixes-dev \
+ libxfont-dev \
+ libxft-dev \
+ libxpm-dev \
+ libxrandr-dev \
+ libxrender-dev \
+ libxsettings-client-dev \
+ libxt-dev \
+ libxtst-dev"
+# libxdamage-dev \
+# libxcomposite-dev \
+
+
+
+RDEPENDS_task-sdk-unsorted := "\
+ gnome-mime-data-dev \
+ gtk-clearlooks-engine-dev \
+ ipkg-dev \
+ js-dev \
+ kernel-dev \
+ libapm-dev \
+ libcurl-dev \
+ libdaemon-dev \
+ libexpat-dev \
+ libfakekey-dev \
+ libfontconfig-dev \
+ libfreetype-dev \
+ libgcrypt-dev \
+ libglade-2.0-dev \
+ libgmp-dev \
+ libgnutls-dev \
+ libgpg-error-dev \
+ libgtkhtml-2-dev \
+ libice-dev \
+ libiconv-dev \
+ libipkg-dev \
+ libiw-dev \
+ libjpeg-dev \
+ libloudmouth-1-dev \
+ libpcap-dev \
+ libpng-dev \
+ libpng12-dev \
+ libpopt-dev \
+ libreadline-dev \
+ libsm-dev \
+ libstartup-notification-1-dev \
+ libxau-dev \
+ libxcalibrate-dev \
+ libxml2-dev \
+ libxmu-dev \
+ libxmuu-dev \
+ libxsettings-dev \
+ linux-libc-headers-dev \
+ lttng-viewer-dev \
+ matchbox-desktop-dev \
+ ppp-dev \
+ shared-mime-info-dev \
+ sysfsutils-dev \
+ sysvinit-dev \
+ others found \
+ expat-dev \
+ fontconfig-dev \
+ freetype-dev \
+ gstreamer-dev \
+ ice-dev \
+ ipkg-dev \
+ jpeg-dev \
+ libapm-dev \
+ libdisplaymigration-dev \
+ libetpan-dev \
+ libgcrypt-dev \
+ libglade-dev \
+ libgpg-error-dev \
+ libidl-dev \
+ libiw-dev \
+ libmimedir-dev \
+ libpcap-dev \
+ libpixman-dev \
+ libpng-dev \
+ libschedule-dev \
+ libsm-dev \
+ libsoundgen-dev \
+ libsvg-dev \
+ libtododb-dev \
+ libts-dev \
+ libxml2-dev \
+ openobex-dev \
+ popt-dev \
+ readline-dev \
+ sqlite-dev \
+ xmu-dev"
diff --git a/meta/packages/meta/task-oh.bb b/meta/packages/meta/task-oh.bb
new file mode 100644
index 0000000000..8c0c637ffb
--- /dev/null
+++ b/meta/packages/meta/task-oh.bb
@@ -0,0 +1,124 @@
+DESCRIPTION = "Tasks for OpenedHand Poky"
+MAINTAINER = "Richard Purdie <richard@openedhand.com>"
+PR = "r37"
+
+PACKAGES = "\
+ task-oh-base \
+ task-oh-boot \
+ task-oh-standard \
+ task-oh-boot-extras \
+ task-oh-boot-min-extras \
+ task-oh-devtools \
+ task-oh-testapps"
+
+ALLOW_EMPTY = "1"
+
+RDEPENDS_task-oh-boot = "\
+ base-files \
+ base-passwd \
+ busybox \
+ initscripts \
+ netbase \
+ sysvinit \
+ sysvinit-pidof \
+ tinylogin \
+ modutils-initscripts \
+ fuser \
+ setserial \
+ linux-hotplug \
+ ipkg \
+ module-init-tools-depmod"
+
+RDEPENDS_task-oh-boot-extras = "\
+ ${BOOTSTRAP_EXTRA_RDEPENDS}"
+
+RDEPENDS_task-oh-boot-min-extras = "\
+ kernel \
+ udev \
+ sysfsutils \
+ ${PCMCIA_MANAGER} \
+ apm \
+ udev-utils"
+
+RDEPENDS_task-oh-base = "\
+ matchbox-common \
+ matchbox-wm \
+ matchbox-keyboard \
+ matchbox-panel \
+ xserver-kdrive-common \
+ xserver-nodm-init \
+ ttf-bitstream-vera \
+ xauth \
+ xhost \
+ udev \
+ sysfsutils \
+ gdk-pixbuf-loader-png \
+ gdk-pixbuf-loader-gif \
+ gdk-pixbuf-loader-xpm \
+ gdk-pixbuf-loader-jpeg \
+ pango-module-basic-x \
+ pango-module-basic-fc \
+ gtk+ "
+
+RDEPENDS_task-oh-standard = "\
+ leafpad \
+ dropbear \
+ portmap \
+ matchbox-desktop \
+ matchbox-poky \
+ matchbox-keyboard \
+ matchbox-stroke \
+ matchbox-config-gtk \
+ matchbox-panel-manager \
+ matchbox-panel-hacks \
+ matchbox-themes-extra \
+ matchbox-themes-gtk \
+ matchbox-applet-inputmanager \
+ matchbox-applet-startup-monitor \
+ xcursor-transparent-theme \
+ usbinit \
+ settings-daemon \
+ gtk-clearlooks-engine \
+ eds-dbus \
+ contacts \
+ dates \
+ web \
+ pcmanfm \
+ puzzles \
+ kf \
+ xset \
+ rxvt-unicode \
+ avahi-daemon \
+ gnome-vfs-plugin-dbus \
+ gnome-vfs-plugin-file \
+ gnome-vfs-plugin-http \
+ gtk-theme-clearlooks"
+
+RDEPENDS_task-oh-standard_append_c7x0 = " zaurusd "
+RDEPENDS_task-oh-standard_append_spitz = " zaurusd "
+RDEPENDS_task-oh-standard_append_akita = " zaurusd "
+
+PACKAGE_ARCH_task-oh-standard = "${MACHINE_ARCH}"
+
+RDEPENDS_task-oh-devtools = "\
+ oprofile \
+ gdb \
+ strace \
+ less \
+ lttng-viewer"
+RRECOMMENDS_task-oh-devtools = "\
+ kernel-module-oprofile"
+
+RDEPENDS_task-oh-testapps = "\
+ tslib-calibrate \
+ tslib-tests \
+ lrzsz \
+ alsa-utils-amixer \
+ alsa-utils-aplay"
+
+
+# minimo \
+# teleport \
+# xst \
+# libgtkstylus \
+# xrdb \
diff --git a/meta/packages/misc-binary-only/prism3-firmware_1.8.4.bb b/meta/packages/misc-binary-only/prism3-firmware_1.8.4.bb
new file mode 100644
index 0000000000..2983ea7710
--- /dev/null
+++ b/meta/packages/misc-binary-only/prism3-firmware_1.8.4.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Firmware for the Prism3 cards"
+SECTION = "base"
+LICENSE = "Unknown"
+PR = "r0"
+
+SRC_URI = "http://www.red-bean.com/~proski/firmware/${PV}.tar.bz2 \
+ http://www.red-bean.com/~proski/firmware/primary.tar.bz2"
+S = "${WORKDIR}"
+
+do_install() {
+ install -d ${D}${sysconfdir}/pcmcia/
+ install -m 0644 primary/pm010102.hex ${D}${sysconfdir}/pcmcia/
+ install -m 0644 ${PV}/rf010804.hex ${D}${sysconfdir}/pcmcia/
+ cat >${D}${sysconfdir}/pcmcia/README.prism3-firmware <<EOF
+To make a prism3 card w/ downloadable firmware work, do the following:
+ 0.) Install hostap-utils
+ 1.) Add "needs_reset yes" and "needs_firmware hostap_fw_load" to
+ the proper interface in /etc/network/interfaces
+ 2.) echo -e "#!/bin/sh\nifdown wlan0" >> /etc/apm/suspend.d/ifdown
+ 3.) chmod a+rx /etc/apm/suspend.d/ifdown
+ 4.) echo -e "#!/bin/sh\nifup wlan0" >> /etc/apm/resume.d/ifup
+ 5.) chmod a+rx /etc/apm/suspend.d/ifup
+EOF
+}
+
+PACKAGE_ARCH = "all"
+
diff --git a/meta/packages/module-init-tools/files/ignore_arch_directory b/meta/packages/module-init-tools/files/ignore_arch_directory
new file mode 100644
index 0000000000..185ea7a3a5
--- /dev/null
+++ b/meta/packages/module-init-tools/files/ignore_arch_directory
@@ -0,0 +1,24 @@
+diff -ruN module-init-tools-3.1-pre6.orig/modprobe.8 module-init-tools-3.1-pre6/modprobe.8
+--- module-init-tools-3.2-pre7/modprobe.8.orig 2005-07-05 13:52:32.000000000 +0200
++++ module-init-tools-3.2-pre7/modprobe.8 2005-07-05 13:52:42.000000000 +0200
+@@ -31,6 +31,7 @@
+ \fI/etc/modprobe.conf\fR configuration file and
+ \fI/etc/modprobe.d\fR directory
+ (see \fBmodprobe.conf\fR(5)).
++All files in the \fI/etc/modprobe.d/arch/\fR directory are ignored.
+ .PP
+ Note that this version of \fBmodprobe\fR does not
+ do anything to the module itself: the work of resolving symbols
+--- module-init-tools-3.2-pre7/modprobe.c.orig 2005-07-05 13:50:00.000000000 +0200
++++ module-init-tools-3.2-pre7/modprobe.c 2005-07-05 13:50:15.000000000 +0200
+@@ -1158,6 +1158,10 @@
+ DIR *dir;
+ int ret = 0;
+
++ /* ignore everything in this directory */
++ if (streq(filename, "/etc/modprobe.d/arch"))
++ return 1;
++
+ /* Reiser4 has file/directory duality: treat it as both. */
+ dir = opendir(filename);
+ if (dir) {
diff --git a/meta/packages/module-init-tools/files/manpagesopt b/meta/packages/module-init-tools/files/manpagesopt
new file mode 100644
index 0000000000..5d5cac609e
--- /dev/null
+++ b/meta/packages/module-init-tools/files/manpagesopt
@@ -0,0 +1,41 @@
+Index: module-init-tools-3.2-pre9/configure.in
+===================================================================
+--- module-init-tools-3.2-pre9.orig/configure.in 2005-08-09 04:31:26.000000000 +0000
++++ module-init-tools-3.2-pre9/configure.in 2005-09-20 22:06:10.000000000 +0000
+@@ -41,5 +41,14 @@
+ fi])
+ AC_SUBST(MODULE_DIR)
+
+-AC_OUTPUT([Makefile])
++AC_ARG_ENABLE(manpages,
++[ --disable-manpages Disable man page generation.],
++[if test x"$enableval" != x"no"; then
++ enable_manpages=yes
++else
++ enable_manpages=no
++fi],
++[enable_manpages=yes])
++AM_CONDITIONAL([MANPAGES], test x"$enable_manpages" = x"yes")
+
++AC_OUTPUT([Makefile])
+Index: module-init-tools-3.2-pre9/Makefile.am
+===================================================================
+--- module-init-tools-3.2-pre9.orig/Makefile.am 2005-08-09 04:54:28.000000000 +0000
++++ module-init-tools-3.2-pre9/Makefile.am 2005-09-20 22:09:03.000000000 +0000
+@@ -21,13 +21,14 @@
+ MAN5 = modprobe.conf.5 modules.dep.5
+ MAN8 = depmod.8 insmod.8 lsmod.8 rmmod.8 modprobe.8 modinfo.8
+ SGML = $(addprefix doc/, $(MAN5:%.5=%.sgml) $(MAN8:%.8=%.sgml))
+-man_MANS = $(MAN5) $(MAN8)
+ # If they haven't overridden mandir, fix it (never /man!)
+ mandir =$(shell if [ @mandir@ = $(prefix)/man ]; then if [ $(prefix) = / ]; then echo /usr/share/man; else echo $(prefix)/share/man; fi; else echo @mandir@; fi)
+
+ TESTSUITE := $(shell find tests -type f ! -name '*~') tests/vg-suppressions
+
+-EXTRA_DIST = generate-modprobe.conf modprobe.devfs FAQ CODING stress_modules.sh install-with-care $(SGML) $(man_MANS) $(TESTSUITE)
++if MANPAGES
++man_MANS = $(MAN5) $(MAN8)
++endif
+
+ sbin_PROGRAMS = insmod modprobe rmmod depmod modinfo insmod.static
+ bin_PROGRAMS = lsmod
diff --git a/meta/packages/module-init-tools/files/modutils_extension b/meta/packages/module-init-tools/files/modutils_extension
new file mode 100644
index 0000000000..fd84ca2550
--- /dev/null
+++ b/meta/packages/module-init-tools/files/modutils_extension
@@ -0,0 +1,55 @@
+--- module-init-tools-3.0-pre10.orig/depmod.c
++++ module-init-tools-3.0-pre10/depmod.c
+@@ -217,13 +217,13 @@
+ {
+ char *sep;
+ char pathname[strlen(argv[0])+1];
+- char oldname[strlen("depmod") + strlen(argv[0]) + sizeof(".old")];
++ char oldname[strlen("depmod") + strlen(argv[0]) + sizeof(".24")];
+
+ memset(pathname, 0, strlen(argv[0])+1);
+ sep = strrchr(argv[0], '/');
+ if (sep)
+ memcpy(pathname, argv[0], sep - argv[0]+1);
+- sprintf(oldname, "%s%s.old", pathname, "depmod");
++ sprintf(oldname, "%s%s.24", pathname, "depmod");
+
+ /* Recursion detection: we need an env var since we can't
+ change argv[0] (as older modutils uses it to determine
+--- module-init-tools-3.0-pre10.orig/backwards_compat.c
++++ module-init-tools-3.0-pre10/backwards_compat.c
+@@ -21,13 +21,13 @@
+ pid_t pid;
+ char ascii_pid[32];
+ char pathname[strlen(argv[0])+1];
+- char oldname[strlen(progname) + strlen(argv[0]) + sizeof(".old")];
++ char oldname[strlen(progname) + strlen(argv[0]) + sizeof(".24")];
+
+ memset(pathname, 0, strlen(argv[0])+1);
+ sep = strrchr(argv[0], '/');
+ if (sep)
+ memcpy(pathname, argv[0], sep - argv[0]+1);
+- sprintf(oldname, "%s%s.old", pathname, progname);
++ sprintf(oldname, "%s%s.24", pathname, progname);
+
+ /* Recursion detection: we need an env var since we can't
+ change argv[0] (as older modutils uses it to determine
+--- module-init-tools-3.0-pre10.orig/generate-modprobe.conf
++++ module-init-tools-3.0-pre10/generate-modprobe.conf
+@@ -26,12 +26,12 @@
+ cp $TESTING_MODPROBE_CONF $MODPROBECONF
+ elif [ "$STDIN" = "1" ]; then
+ cat > $MODPROBECONF
+-elif [ -x /sbin/modprobe.old ]; then
++elif [ -x /sbin/modprobe.24 ]; then
+ # In sbin.
+- /sbin/modprobe.old -c > $MODPROBECONF
+-elif modprobe.old -c >/dev/null 2>&1; then
++ /sbin/modprobe.24 -c > $MODPROBECONF
++elif modprobe.24 -c >/dev/null 2>&1; then
+ # Somewhere in path.
+- modprobe.old -c > $MODPROBECONF
++ modprobe.24 -c > $MODPROBECONF
+ elif /sbin/modprobe -V 2>/dev/null | grep -q 'modprobe version'; then
+ # Running /sbin/modprobe gives old version.
+ /sbin/modprobe -c > $MODPROBECONF
diff --git a/meta/packages/module-init-tools/files/no_man_rebuild b/meta/packages/module-init-tools/files/no_man_rebuild
new file mode 100644
index 0000000000..d38866aece
--- /dev/null
+++ b/meta/packages/module-init-tools/files/no_man_rebuild
@@ -0,0 +1,12 @@
+diff -ruN module-init-tools-3.1.orig/Makefile.in module-init-tools-3.1/Makefile.in
+--- module-init-tools-3.1.orig/Makefile.in 2004-11-15 01:59:48.000000000 +0100
++++ module-init-tools-3.1/Makefile.in 2004-11-21 02:18:58.000000000 +0100
+@@ -613,7 +613,7 @@
+ check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+ check: check-am
+-all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS)
++all-am: Makefile $(PROGRAMS) $(SCRIPTS) #$(MANS)
+
+ installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir)
diff --git a/meta/packages/module-init-tools/module-init-tools-cross_3.2.2.bb b/meta/packages/module-init-tools/module-init-tools-cross_3.2.2.bb
new file mode 100644
index 0000000000..fc8b461945
--- /dev/null
+++ b/meta/packages/module-init-tools/module-init-tools-cross_3.2.2.bb
@@ -0,0 +1,16 @@
+LICENSE = "GPL"
+include module-init-tools_${PV}.bb
+inherit cross
+DEFAULT_PREFERENCE = "0"
+PROVIDES += "virtual/${TARGET_PREFIX}depmod virtual/${TARGET_PREFIX}depmod-2.6"
+
+EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX}"
+
+do_stage () {
+ oe_runmake install
+ mv ${bindir}/${TARGET_PREFIX}depmod ${bindir}/${TARGET_PREFIX}depmod-2.6
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/module-init-tools/module-init-tools_3.2.2.bb b/meta/packages/module-init-tools/module-init-tools_3.2.2.bb
new file mode 100644
index 0000000000..727bfaac1b
--- /dev/null
+++ b/meta/packages/module-init-tools/module-init-tools_3.2.2.bb
@@ -0,0 +1,63 @@
+DESCRIPTION = "This package contains a set of programs for loading, inserting, and \
+removing kernel modules for Linux (versions 2.5.48 and above). It serves \
+the same function that the modutils package serves for Linux 2.4."
+LICENSE = "GPL"
+SECTION = "base"
+PR = "r2"
+
+PACKAGES =+ "module-init-tools-insmod-static module-init-tools-depmod"
+RDEPENDS_${PN} += "module-init-tools-depmod"
+
+FILES_module-init-tools-depmod = "${sbindir}/depmod.26"
+FILES_module-init-tools-insmod-static = "${sbindir}/insmod.static"
+
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-${PV}.tar.bz2 \
+ file://ignore_arch_directory;patch=1 \
+ file://modutils_extension;patch=1 \
+ file://no_man_rebuild;patch=1 \
+ file://manpagesopt;patch=1 "
+S = "${WORKDIR}/module-init-tools-${PV}"
+
+EXTRA_OECONF = "--disable-manpages"
+
+bindir = "/bin"
+sbindir = "/sbin"
+
+inherit autotools
+
+do_install() {
+ autotools_do_install
+ for f in bin/lsmod sbin/insmod sbin/rmmod sbin/modprobe sbin/modinfo sbin/depmod; do
+ mv ${D}/$f ${D}/$f.26
+ done
+}
+
+pkg_postinst_module-init-tools() {
+#!/bin/sh
+for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
+bn=`basename $f`
+ update-alternatives --install /$f $bn /$f.26 60
+done
+update-alternatives --install /bin/lsmod bin-lsmod /bin/lsmod.26 60
+update-alternatives --install /sbin/lsmod lsmod /bin/lsmod.26 60
+}
+
+pkg_prerm_module-init-tools() {
+#!/bin/sh
+for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/modinfo; do
+bn=`basename $f`
+ update-alternatives --remove $bn /$f.26
+done
+update-alternatives --remove bin-lsmod /bin/lsmod.26
+update-alternatives --remove lsmod /bin/lsmod.26
+}
+
+pkg_postinst_module-init-tools-depmod() {
+#!/bin/sh
+update-alternatives --install /sbin/depmod depmod /sbin/depmod.26 60
+}
+
+pkg_prerm_module-init-tools-depmod() {
+#!/bin/sh
+update-alternatives --remove depmod /sbin/depmod.26
+}
diff --git a/meta/packages/modutils/files/armeb.patch b/meta/packages/modutils/files/armeb.patch
new file mode 100644
index 0000000000..a26a3a24eb
--- /dev/null
+++ b/meta/packages/modutils/files/armeb.patch
@@ -0,0 +1,14 @@
+--- modutils-2.4.27/include/elf_arm.h.orig 2004-09-21 18:37:00.000000000 -0400
++++ modutils-2.4.27/include/elf_arm.h 2004-09-21 18:38:18.000000000 -0400
+@@ -1,7 +1,11 @@
+ /* Machine-specific elf macros for ARM. */
+
+ #define ELFCLASSM ELFCLASS32
++#ifdef __ARMEB__
++#define ELFDATAM ELFDATA2MSB
++#else
+ #define ELFDATAM ELFDATA2LSB
++#endif
+
+ #define MATCH_MACHINE(x) (x == EM_ARM)
+
diff --git a/meta/packages/modutils/files/configure.patch b/meta/packages/modutils/files/configure.patch
new file mode 100644
index 0000000000..cdf501593f
--- /dev/null
+++ b/meta/packages/modutils/files/configure.patch
@@ -0,0 +1,33 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- modutils-2.4.25/./configure.in~configure
++++ modutils-2.4.25/./configure.in
+@@ -1,4 +1,5 @@
+-AC_INIT(insmod/insmod.c)
++AC_INIT
++AC_CONFIG_SRCDIR([insmod/insmod.c])
+ AC_PREFIX_DEFAULT(/usr)
+
+ # Canonical system uses CC_FOR_BUILD while Linux may use BUILDCC
+@@ -15,7 +16,7 @@
+ BUILDCC="$CC_FOR_BUILD"
+ export CC_FOR_BUILD
+
+-AC_CANONICAL_SYSTEM
++AC_CANONICAL_TARGET([])
+
+ # Handle target_cpu for compatibility.
+ if test "$host_cpu" != "$target_cpu"; then
+@@ -350,6 +351,7 @@
+ fi
+ fi
+
+-AC_OUTPUT(Makefile Makefile.common depmod/Makefile genksyms/Makefile
++AC_CONFIG_FILES([Makefile Makefile.common depmod/Makefile genksyms/Makefile
+ insmod/Makefile $kerneld_Makefiles obj/Makefile util/Makefile
+- man/Makefile)
++ man/Makefile])
++AC_OUTPUT
diff --git a/meta/packages/modutils/files/gcc4.patch b/meta/packages/modutils/files/gcc4.patch
new file mode 100644
index 0000000000..e204898f05
--- /dev/null
+++ b/meta/packages/modutils/files/gcc4.patch
@@ -0,0 +1,66 @@
+--- modutils-2.4.27/depmod/depmod.c.old 2005-06-05 23:25:28.000000000 +0100
++++ modutils-2.4.27/depmod/depmod.c 2005-06-05 23:25:38.000000000 +0100
+@@ -1133,7 +1133,7 @@
+
+ for (ksym = ksyms; so_far < nksyms; ++so_far, ksym++) {
+ if (strncmp((char *)ksym->name, "GPLONLY_", 8) == 0)
+- ((char *)ksym->name) += 8;
++ ksym->name += 8;
+ assert(n_syms < MAX_MAP_SYM);
+ symtab[n_syms++] = addsym((char *)ksym->name, mod, SYM_DEFINED, 0);
+ }
+--- modutils-2.4.27/genksyms/genksyms.c.old 2005-06-05 23:24:16.000000000 +0100
++++ modutils-2.4.27/genksyms/genksyms.c 2005-06-05 23:24:35.000000000 +0100
+@@ -45,7 +45,7 @@
+ int flag_debug, flag_dump_defs, flag_warnings;
+ int checksum_version = 1, kernel_version = version(2,0,0);
+
+-static int errors;
++int errors;
+ static int nsyms;
+
+ static struct symbol *expansion_trail;
+--- modutils-2.4.27/insmod/insmod.c.old 2005-06-05 23:21:47.000000000 +0100
++++ modutils-2.4.27/insmod/insmod.c 2005-06-05 23:22:34.000000000 +0100
+@@ -275,7 +275,7 @@
+ if (strncmp((char *)s->name, "GPLONLY_", 8) == 0) {
+ gplonly_seen = 1;
+ if (gpl)
+- ((char *)s->name) += 8;
++ s->name += 8;
+ else
+ continue;
+ }
+--- modutils-2.4.27/obj/obj_kallsyms.c.old 2005-06-05 23:20:08.000000000 +0100
++++ modutils-2.4.27/obj/obj_kallsyms.c 2005-06-05 23:20:24.000000000 +0100
+@@ -200,7 +200,7 @@
+
+ /* Initial contents, header + one entry per input section. No strings. */
+ osec->header.sh_size = sizeof(*a_hdr) + loaded*sizeof(*a_sec);
+- a_hdr = (struct kallsyms_header *) osec->contents =
++ a_hdr = osec->contents =
+ xmalloc(osec->header.sh_size);
+ memset(osec->contents, 0, osec->header.sh_size);
+ a_hdr->size = sizeof(*a_hdr);
+@@ -275,7 +275,7 @@
+ a_hdr->symbol_off +
+ a_hdr->symbols*a_hdr->symbol_size +
+ strings_size - strings_left;
+- a_hdr = (struct kallsyms_header *) osec->contents =
++ a_hdr = osec->contents =
+ xrealloc(a_hdr, a_hdr->total_size);
+ p = (char *)a_hdr + a_hdr->symbol_off;
+ memcpy(p, symbols, a_hdr->symbols*a_hdr->symbol_size);
+--- modutils-2.4.27/obj/obj_mips.c.orig 2003-04-05 00:47:17.000000000 +0200
++++ modutils-2.4.27/obj/obj_mips.c 2005-07-21 12:51:48.000000000 +0200
+@@ -244,7 +244,9 @@
+ archdata_sec->header.sh_size = 0;
+ sec = obj_find_section(f, "__dbe_table");
+ if (sec) {
+- ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));
++/* ad = (struct archdata *) (archdata_sec->contents) = xmalloc(sizeof(*ad));*/
++ archdata_sec->contents = xmalloc(sizeof(*ad));
++ ad = (struct archdata *) (archdata_sec->contents);
+ memset(ad, 0, sizeof(*ad));
+ archdata_sec->header.sh_size = sizeof(*ad);
+ ad->__start___dbe_table = sec->header.sh_addr;
diff --git a/meta/packages/modutils/files/ipaq-pxa-2.6/modules b/meta/packages/modutils/files/ipaq-pxa-2.6/modules
new file mode 100644
index 0000000000..ca99e71df0
--- /dev/null
+++ b/meta/packages/modutils/files/ipaq-pxa-2.6/modules
@@ -0,0 +1,18 @@
+mq11xx_base
+soc-device
+h2200_lcd
+h4000_lcd
+cfbcopyarea
+cfbfillrect
+cfbimgblt
+mq1100fb
+pxafb
+lcd
+backlight
+font
+fbcon
+pxa2xx_udc
+g_ether
+sunrpc
+lockd
+nfs
diff --git a/meta/packages/modutils/files/ipaq-pxa-2.6/modules.conf b/meta/packages/modutils/files/ipaq-pxa-2.6/modules.conf
new file mode 100644
index 0000000000..ef2e561e89
--- /dev/null
+++ b/meta/packages/modutils/files/ipaq-pxa-2.6/modules.conf
@@ -0,0 +1 @@
+# Add ipaq-pxa-2.6 modules parameters and aliases here
diff --git a/meta/packages/modutils/files/lex.l.diff b/meta/packages/modutils/files/lex.l.diff
new file mode 100644
index 0000000000..65904b6b02
--- /dev/null
+++ b/meta/packages/modutils/files/lex.l.diff
@@ -0,0 +1,33 @@
+--- modutils-2.4.26.orig/genksyms/lex.l
++++ modutils-2.4.26/genksyms/lex.l
+@@ -130,6 +130,7 @@
+
+ static int suppress_type_lookup, dont_want_brace_phrase;
+ static struct string_list *next_node;
++ static int next_token = 0;
+
+ int token, count = 0;
+ struct string_list *cur_node;
+@@ -144,7 +145,12 @@
+ }
+
+ repeat:
+- token = yylex1();
++ if (next_token != 0) {
++ token = next_token;
++ next_token = 0;
++ }
++ else
++ token = yylex1();
+
+ if (token == 0)
+ return 0;
+@@ -425,7 +431,7 @@
+ {
+ /* Put back the token we just read so's we can find it again
+ after registering the expression. */
+- unput(token);
++ next_token = token;
+
+ lexstate = ST_NORMAL;
+ token = EXPRESSION_PHRASE;
diff --git a/meta/packages/modutils/files/mnci/modules b/meta/packages/modutils/files/mnci/modules
new file mode 100644
index 0000000000..e228d2e8a8
--- /dev/null
+++ b/meta/packages/modutils/files/mnci/modules
@@ -0,0 +1 @@
+sysctl
diff --git a/meta/packages/modutils/files/mnci/modules-ramses b/meta/packages/modutils/files/mnci/modules-ramses
new file mode 100644
index 0000000000..e228d2e8a8
--- /dev/null
+++ b/meta/packages/modutils/files/mnci/modules-ramses
@@ -0,0 +1 @@
+sysctl
diff --git a/meta/packages/modutils/files/mnci/modules.conf b/meta/packages/modutils/files/mnci/modules.conf
new file mode 100644
index 0000000000..310e5bb6c8
--- /dev/null
+++ b/meta/packages/modutils/files/mnci/modules.conf
@@ -0,0 +1,20 @@
+alias irda0 pxa_ir
+alias usbd0 usbdmonitor
+alias usbf usb-eth
+alias sound-slot-0 pxa-ac97
+alias sound-slot-1 pxa-ac97
+
+# Affix modules
+alias net-pf-27 affix
+alias char-major-60 affix_rfcomm
+
+# BlueZ modules
+alias net-pf-31 bluez
+alias bt-proto-0 l2cap
+alias bt-proto-2 sco
+alias bt-proto-3 rfcomm
+alias bt-proto-4 bnep
+alias bt-proto-5 cmtp
+alias bt-proto-6 hidp
+alias tty-ldisc-15 hci_uart
+alias char-major-10-250 hci_vhci
diff --git a/meta/packages/modutils/files/mnci/modutils.sh b/meta/packages/modutils/files/mnci/modutils.sh
new file mode 100755
index 0000000000..378915c270
--- /dev/null
+++ b/meta/packages/modutils/files/mnci/modutils.sh
@@ -0,0 +1,10 @@
+depmod -Ae
+
+(cat /etc/modules; echo; ) |
+while read module args
+do
+ case "$module" in
+ \#*|"") continue ;;
+ esac
+ modprobe $module $args
+done
diff --git a/meta/packages/modutils/files/modules b/meta/packages/modutils/files/modules
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/modutils/files/modules
diff --git a/meta/packages/modutils/files/modules.conf b/meta/packages/modutils/files/modules.conf
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/modutils/files/modules.conf
diff --git a/meta/packages/modutils/files/modutils-notest.patch b/meta/packages/modutils/files/modutils-notest.patch
new file mode 100644
index 0000000000..0e15a1014c
--- /dev/null
+++ b/meta/packages/modutils/files/modutils-notest.patch
@@ -0,0 +1,14 @@
+This test disables the annoying
+ Note: /etc/modules.conf is more recent than /lib/modules/2.4.19-rmk6-pxa1/modules.dep
+message.
+
+--- modutils-2.4.6/insmod/modprobe.c~notest Mon Feb 26 02:07:17 2001
++++ modutils-2.4.6/insmod/modprobe.c Wed Feb 19 14:31:52 2003
+@@ -785,7 +785,6 @@
+ return -1;
+ }
+
+-#define EXTREMELY_CAUTIOUS
+ #ifdef EXTREMELY_CAUTIOUS
+ if (fstat(fileno(fin), &statbuf) != 0)
+ error("Could not stat %s", depfile);
diff --git a/meta/packages/modutils/files/modutils.sh b/meta/packages/modutils/files/modutils.sh
new file mode 100755
index 0000000000..89281276fd
--- /dev/null
+++ b/meta/packages/modutils/files/modutils.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+LOAD_MODULE=modprobe
+[ -f /proc/modules ] || exit 0
+[ -f /etc/modules ] || exit 0
+[ -e /sbin/modprobe ] || LOAD_MODULE=insmod
+
+if [ ! -e /sbin/depmod ]; then
+ [ -f /lib/modules/`uname -r`/modules.dep ] || LOAD_MODULE=insmod
+else
+ [ "$VERBOSE" != no ] && echo "Calculating module dependencies ..."
+ depmod -Ae
+fi
+
+[ "$VERBOSE" != no ] && echo -n "Loading modules: "
+(cat /etc/modules; echo; ) |
+while read module args
+do
+ case "$module" in
+ \#*|"") continue ;;
+ esac
+ [ "$VERBOSE" != no ] && echo -n "$module "
+ eval "$LOAD_MODULE $module $args >/dev/null 2>&1"
+done
+[ "$VERBOSE" != no ] && echo
+
+exit 0
diff --git a/meta/packages/modutils/files/mtx-1/modules b/meta/packages/modutils/files/mtx-1/modules
new file mode 100644
index 0000000000..3eb719acf9
--- /dev/null
+++ b/meta/packages/modutils/files/mtx-1/modules
@@ -0,0 +1,3 @@
+tun
+ppp_async
+hostap_pci \ No newline at end of file
diff --git a/meta/packages/modutils/files/omap1610h2/modules b/meta/packages/modutils/files/omap1610h2/modules
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/modutils/files/omap1610h2/modules
diff --git a/meta/packages/modutils/files/omap1610h2/modules.conf b/meta/packages/modutils/files/omap1610h2/modules.conf
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/modutils/files/omap1610h2/modules.conf
diff --git a/meta/packages/modutils/files/poodle/modules b/meta/packages/modutils/files/poodle/modules
new file mode 100644
index 0000000000..28d14f6584
--- /dev/null
+++ b/meta/packages/modutils/files/poodle/modules
@@ -0,0 +1,3 @@
+usbdcore
+net_fd
+pxa_bi
diff --git a/meta/packages/modutils/files/poodle/modules.conf b/meta/packages/modutils/files/poodle/modules.conf
new file mode 100644
index 0000000000..8ff87872f3
--- /dev/null
+++ b/meta/packages/modutils/files/poodle/modules.conf
@@ -0,0 +1,4 @@
+alias irda0 pxa_ir
+alias usbd0 usbdmonitor
+alias usbf usb-eth
+
diff --git a/meta/packages/modutils/files/program_prefix.patch b/meta/packages/modutils/files/program_prefix.patch
new file mode 100644
index 0000000000..2927a23a22
--- /dev/null
+++ b/meta/packages/modutils/files/program_prefix.patch
@@ -0,0 +1,69 @@
+--- modutils-2.4.25/Makefile.common.in Sun Nov 24 21:23:35 2002
++++ modutils-2.4.25/Makefile.common.in Thu Jan 29 17:16:30 2004
+@@ -7,6 +7,7 @@
+ mandir = @mandir@
+ prefix = @prefix@
+ sbindir = @sbindir@
++transform = @program_transform_name@
+
+ AR = @AR@
+ ARCH = @ARCH@
+--- modutils-2.4.25/configure.in Thu Jan 29 17:24:10 2004
++++ modutils-2.4.25/configure.in Thu Jan 29 17:13:59 2004
+@@ -17,6 +17,7 @@
+ export CC_FOR_BUILD
+
+ AC_CANONICAL_TARGET([])
++AC_ARG_PROGRAM
+
+ # Handle target_cpu for compatibility.
+ if test "$host_cpu" != "$target_cpu"; then
+--- modutils-2.4.25/depmod/Makefile.in Fri Mar 28 17:54:20 2003
++++ modutils-2.4.25/depmod/Makefile.in Thu Jan 29 17:16:41 2004
+@@ -60,7 +60,7 @@
+
+ install install-bin: all
+ $(MKDIR) $(DESTDIR)$(sbindir)
+- $(INSTALL) $(STRIP) depmod $(DESTDIR)$(sbindir)
++ $(INSTALL) $(STRIP) depmod $(DESTDIR)$(sbindir)/`echo depmod | sed -e'$(transform)'`
+
+ dep depend .depend: depmod.c
+ $(CC) -M $(CFLAGS) $(DEFSNOARCH) $(DEFS) $^ > .depend
+--- modutils-2.4.25/genksyms/Makefile.in Sun Nov 24 21:23:35 2002
++++ modutils-2.4.25/genksyms/Makefile.in Thu Jan 29 17:17:07 2004
+@@ -62,7 +62,7 @@
+
+ install install-bin: all
+ $(MKDIR) $(DESTDIR)$(sbindir)
+- $(INSTALL) $(STRIP) genksyms $(DESTDIR)$(sbindir)
++ $(INSTALL) $(STRIP) genksyms $(DESTDIR)$(sbindir)/`echo genksyms | sed -e'$(transform)'`
+
+ # auto-generated dependancies are almost redundant once we add all the
+ # rules to get the generated files built first.
+--- modutils-2.4.25/insmod/Makefile.in Fri Mar 28 17:54:20 2003
++++ modutils-2.4.25/insmod/Makefile.in Thu Jan 29 17:21:10 2004
+@@ -120,16 +120,19 @@
+ @set -ex;\
+ for i in $(TARGETS_REAL); do \
+ $(MKDIR) $(DESTDIR)$(sbindir); \
+- $(INSTALL) $(STRIP) $$i $(DESTDIR)$(sbindir); done;
++ f=`echo $$i|sed -e'$(transform)'`; \
++ $(INSTALL) $(STRIP) $$i $(DESTDIR)$(sbindir)/$$f; done;
+ set -e; \
+- for i in $(srcdir)/insmod_ksymoops_clean $(srcdir)/kernelversion; do \
++ for i in insmod_ksymoops_clean kernelversion; do \
+ $(MKDIR) $(DESTDIR)$(sbindir); \
+- $(INSTALL) $$i $(DESTDIR)$(sbindir); done;
++ f=`echo $$i|sed -e'$(transform)'`; \
++ $(INSTALL) $$i $(DESTDIR)$(sbindir)/$$f; done;
+ set -e; \
+ for i in $(COMB); do \
+- ln -sf insmod $(DESTDIR)$(sbindir)/$$i; \
++ f=`echo $$i|sed -e'$(transform)'`; \
++ ln -sf `echo insmod|sed -e'$(transform)'` $(DESTDIR)$(sbindir)/$$f; \
+ (test "$(insmod_static)" = yes && \
+- ln -sf insmod.static $(DESTDIR)$(sbindir)/$$i.static) || true; \
++ ln -sf `echo insmod.static|sed -e'$(transform)'` $(DESTDIR)$(sbindir)/$$f.static) || true; \
+ done
+
+ clean:
diff --git a/meta/packages/modutils/files/tosa/modules b/meta/packages/modutils/files/tosa/modules
new file mode 100644
index 0000000000..754cc7f606
--- /dev/null
+++ b/meta/packages/modutils/files/tosa/modules
@@ -0,0 +1,4 @@
+usbdcore
+net_fd
+pxa_bi
+usb_ohci_tc6393 \ No newline at end of file
diff --git a/meta/packages/modutils/files/tosa/modules.conf b/meta/packages/modutils/files/tosa/modules.conf
new file mode 100644
index 0000000000..8ff87872f3
--- /dev/null
+++ b/meta/packages/modutils/files/tosa/modules.conf
@@ -0,0 +1,4 @@
+alias irda0 pxa_ir
+alias usbd0 usbdmonitor
+alias usbf usb-eth
+
diff --git a/meta/packages/modutils/files/wrt54/modules b/meta/packages/modutils/files/wrt54/modules
new file mode 100644
index 0000000000..78f651a83d
--- /dev/null
+++ b/meta/packages/modutils/files/wrt54/modules
@@ -0,0 +1,4 @@
+et
+wl
+wlcompat
+diag
diff --git a/meta/packages/modutils/modutils-collateral.bb b/meta/packages/modutils/modutils-collateral.bb
new file mode 100644
index 0000000000..5c502021f9
--- /dev/null
+++ b/meta/packages/modutils/modutils-collateral.bb
@@ -0,0 +1,16 @@
+SECTION = "base"
+DESCRIPTION = "modutils configuration files"
+PR = "r2"
+LICENSE = "MIT"
+
+SRC_URI = "file://modules \
+ file://modules.conf"
+
+do_compile () {
+}
+
+do_install () {
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/modules ${D}${sysconfdir}/modules
+ install -m 0644 ${WORKDIR}/modules.conf ${D}${sysconfdir}/modules.conf
+}
diff --git a/meta/packages/modutils/modutils-cross/module.h.diff b/meta/packages/modutils/modutils-cross/module.h.diff
new file mode 100644
index 0000000000..077baaf3eb
--- /dev/null
+++ b/meta/packages/modutils/modutils-cross/module.h.diff
@@ -0,0 +1,33 @@
+diff -urN modutils-2.4.27.orig/include/module.h modutils-2.4.27/include/module.h
+--- modutils-2.4.27.orig/include/module.h 2003-01-27 11:22:02.000000000 -0500
++++ modutils-2.4.27/include/module.h 2004-08-23 19:52:34.756772712 -0400
+@@ -88,6 +88,20 @@
+ /* For sizeof() which are related to the module platform and not to the
+ environment isnmod is running in, use sizeof_xx instead of sizeof(xx). */
+
++/* Additional test for OE, set tgt_blah correct for the target arch, *not* the
++ native arch. If int isn't 32bit on the native machine we're in trouble. */
++
++#ifdef ARCH_arm
++#define tgt_sizeof_char sizeof(char)
++#define tgt_sizeof_short sizeof(short)
++#define tgt_sizeof_int sizeof(int)
++#define tgt_sizeof_long 4
++#define tgt_sizeof_char_p 4
++#define tgt_sizeof_void_p 4
++#define tgt_long int
++#define tgt_long_fmt "l"
++#define tgt_strtoul strtoul
++#else
+ #define tgt_sizeof_char sizeof(char)
+ #define tgt_sizeof_short sizeof(short)
+ #define tgt_sizeof_int sizeof(int)
+@@ -97,7 +111,7 @@
+ #define tgt_long long
+ #define tgt_long_fmt "l"
+ #define tgt_strtoul strtoul
+-
++#endif
+ /* This assumes that long long on a 32 bit system is equivalent to long on the
+ * equivalent 64 bit system. Also that void and char pointers are 8 bytes on
+ * all 64 bit systems. Add per system tweaks if it ever becomes necessary.
diff --git a/meta/packages/modutils/modutils-cross_2.4.27.bb b/meta/packages/modutils/modutils-cross_2.4.27.bb
new file mode 100644
index 0000000000..834f13adbd
--- /dev/null
+++ b/meta/packages/modutils/modutils-cross_2.4.27.bb
@@ -0,0 +1,27 @@
+SECTION = "base"
+include modutils_${PV}.bb
+PR = "r8"
+inherit cross
+S = "${WORKDIR}/modutils-${PV}"
+DEPENDS = ""
+PACKAGES = ""
+PROVIDES += "virtual/${TARGET_PREFIX}depmod virtual/${TARGET_PREFIX}depmod-2.4"
+DEFAULT_PREFERENCE = "1"
+
+SRC_URI += "file://modutils-cross/module.h.diff;patch=1"
+
+sbindir = "${prefix}/bin"
+
+EXTRA_OECONF_append = " --program-prefix=${TARGET_PREFIX}"
+
+CFLAGS_prepend_mipsel = "-D__MIPSEL__"
+CFLAGS_prepend_mipseb = "-D__MIPSEB__"
+
+do_stage () {
+ oe_runmake install
+ mv ${bindir}/${TARGET_PREFIX}depmod ${bindir}/${TARGET_PREFIX}depmod-2.4
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/modutils/modutils-initscripts.bb b/meta/packages/modutils/modutils-initscripts.bb
new file mode 100644
index 0000000000..bf51ca87f6
--- /dev/null
+++ b/meta/packages/modutils/modutils-initscripts.bb
@@ -0,0 +1,18 @@
+SECTION = "base"
+DESCRIPTION = "modutils configuration files"
+LICENSE = "PD"
+SRC_URI = "file://modutils.sh"
+PR = "r2"
+
+INITSCRIPT_NAME = "modutils.sh"
+INITSCRIPT_PARAMS = "start 20 S ."
+
+inherit update-rc.d
+
+do_compile () {
+}
+
+do_install () {
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/modutils.sh ${D}${sysconfdir}/init.d/
+}
diff --git a/meta/packages/modutils/modutils_2.4.27.bb b/meta/packages/modutils/modutils_2.4.27.bb
new file mode 100644
index 0000000000..56420f7de0
--- /dev/null
+++ b/meta/packages/modutils/modutils_2.4.27.bb
@@ -0,0 +1,88 @@
+SECTION = "base"
+DESCRIPTION = "These utilities are intended to make a Linux modular kernel \
+manageable for all users, administrators and distribution maintainers."
+LICENSE = "GPLv2"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/files"
+PR = "r7"
+
+SRC_URI = "ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.4/modutils-${PV}.tar.bz2 \
+ file://lex.l.diff;patch=1 \
+ file://modutils-notest.patch;patch=1 \
+ file://configure.patch;patch=1 \
+ file://program_prefix.patch;patch=1 \
+ file://armeb.patch;patch=1 \
+ file://gcc4.patch;patch=1"
+
+inherit autotools
+
+# modutils go in /sbin
+sbindir = "/sbin"
+EXTRA_OECONF = "--disable-strip"
+export BUILDCC = "${BUILD_CC}"
+export BUILDCFLAGS = "${BUILD_CFLAGS}"
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ install -d ${D}${sysconfdir}
+ rm ${D}${base_sbindir}/lsmod
+ install -d ${D}${base_bindir}/
+ ln -s ../sbin/insmod ${D}${base_bindir}/lsmod
+ for f in bin/lsmod sbin/insmod sbin/rmmod sbin/modprobe sbin/modinfo sbin/depmod; do mv ${D}/$f ${D}/$f.24
+ done
+}
+
+pkg_postinst_modutils () {
+#!/bin/sh
+for f in sbin/insmod sbin/modprobe sbin/rmmod bin/lsmod; do
+ bn=`basename $f`
+ update-alternatives --install /$f $bn /$f.24 10
+done
+if test -n "$D"; then
+ D="-r $D"
+ if test -n "`which ${TARGET_PREFIX}depmod-2.4`"; then
+ for kerneldir in `ls -p ${IMAGE_ROOTFS}/lib/modules|grep /`; do
+ kernelver=`basename $kerneldir`
+ ${TARGET_PREFIX}depmod-2.4 -a -b ${IMAGE_ROOTFS} -C ${IMAGE_ROOTFS}/${sysconfdir}/modules.conf -r $kernelver
+ done
+ fi
+fi
+update-rc.d $D modutils.sh start 20 S .
+}
+
+pkg_prerm_modutils () {
+#!/bin/sh
+for f in sbin/insmod sbin/modprobe sbin/rmmod sbin/depmod sbin/modinfo bin/lsmod; do
+bn=`basename $f`
+ update-alternatives --remove $bn /$f.24
+done
+if test -n "$D"; then
+ D="-r $D"
+fi
+update-rc.d $D modutils.sh remove
+}
+
+pkg_postinst_modutils-depmod() {
+#!/bin/sh
+update-alternatives --install /sbin/depmod depmod /sbin/depmod.24 10
+}
+
+pkg_postinst_modutils-modinfo() {
+#!/bin/sh
+update-alternatives --install /sbin/modinfo modinfo /sbin/modinfo.24 10
+}
+
+pkg_prerm_modutils-depmod() {
+#!/bin/sh
+update-alternatives --remove depmod /sbin/depmod.24
+}
+
+pkg_prerm_modutils-modinfo() {
+#!/bin/sh
+update-alternatives --remove modinfo /sbin/modinfo.24
+}
+
+PACKAGES = "modutils-depmod modutils-modinfo modutils-doc modutils"
+
+FILES_modutils-depmod = "sbin/depmod.24"
+FILES_modutils-modinfo = "sbin/modinfo.24"
+RDEPENDS_modutils = "modutils-depmod"
diff --git a/meta/packages/mozilla/files/minimo.desktop b/meta/packages/mozilla/files/minimo.desktop
new file mode 100644
index 0000000000..5ef0f2075a
--- /dev/null
+++ b/meta/packages/mozilla/files/minimo.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Minimo
+Comment=Minimo web browser
+Exec=minimo http://www.mozilla.org/projects/minimo/home.html
+Terminal=0
+Type=Application
+Icon=minimo.png
+Categories=Application;Network;
+StartupNotify=True
diff --git a/meta/packages/mozilla/files/minimo.png b/meta/packages/mozilla/files/minimo.png
new file mode 100644
index 0000000000..f8b2e2192b
--- /dev/null
+++ b/meta/packages/mozilla/files/minimo.png
Binary files differ
diff --git a/meta/packages/mozilla/files/mozilla-firefox.desktop b/meta/packages/mozilla/files/mozilla-firefox.desktop
new file mode 100644
index 0000000000..00c0ea4fa3
--- /dev/null
+++ b/meta/packages/mozilla/files/mozilla-firefox.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Firefox Browser
+Comment=Firefox Web Browser
+Exec=firefox
+Terminal=false
+MultipleArgs=false
+Type=Application
+Icon=mozilla-firefox.png
+Categories=Application;Internet;
+SingleInstance=true
+
diff --git a/meta/packages/mozilla/files/mozilla-firefox.png b/meta/packages/mozilla/files/mozilla-firefox.png
new file mode 100644
index 0000000000..f8b2e2192b
--- /dev/null
+++ b/meta/packages/mozilla/files/mozilla-firefox.png
Binary files differ
diff --git a/meta/packages/mozilla/files/mozilla-thunderbird.desktop b/meta/packages/mozilla/files/mozilla-thunderbird.desktop
new file mode 100644
index 0000000000..61615d94c2
--- /dev/null
+++ b/meta/packages/mozilla/files/mozilla-thunderbird.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Thunderbird Email Client
+Comment=Thunderbird Email Client
+Exec=thunderbird
+Terminal=false
+MultipleArgs=false
+Type=Application
+Icon=mozilla-thunderbird.png
+Categories=Application;Internet;
+SingleInstance=true
+
diff --git a/meta/packages/mozilla/files/mozilla-thunderbird.png b/meta/packages/mozilla/files/mozilla-thunderbird.png
new file mode 100644
index 0000000000..90ff395ff5
--- /dev/null
+++ b/meta/packages/mozilla/files/mozilla-thunderbird.png
Binary files differ
diff --git a/meta/packages/mozilla/files/no-xmb.patch b/meta/packages/mozilla/files/no-xmb.patch
new file mode 100644
index 0000000000..1b909a677c
--- /dev/null
+++ b/meta/packages/mozilla/files/no-xmb.patch
@@ -0,0 +1,18 @@
+--- mozilla/gfx/src/gtk/nsGdkUtils.cpp.old 2004-07-02 09:33:33.000000000 +0100
++++ mozilla/gfx/src/gtk/nsGdkUtils.cpp 2004-07-02 09:33:34.000000000 +0100
+@@ -115,6 +115,7 @@
+ #endif /* MOZ_WIDGET_GTK2 */
+ }
+ }
++#if 0
+ else if (font->type == GDK_FONT_FONTSET)
+ {
+ #ifdef MOZ_WIDGET_GTK
+@@ -128,6 +129,7 @@
+ fontset, GDK_GC_XGC(gc), x, y, text, text_length);
+ #endif /* MOZ_WIDGET_GTK2 */
+ }
++#endif
+ else
+ g_error("undefined font type\n");
+ }
diff --git a/meta/packages/mozilla/files/xptcstubs.patch b/meta/packages/mozilla/files/xptcstubs.patch
new file mode 100644
index 0000000000..7517acef27
--- /dev/null
+++ b/meta/packages/mozilla/files/xptcstubs.patch
@@ -0,0 +1,19 @@
+Index: xptcstubs_arm.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp,v
+retrieving revision 1.7
+diff -u -r1.7 xptcstubs_arm.cpp
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 18 Apr 2004 14:18:18 -0000 1.7
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 4 May 2004 18:36:44 -0000
+@@ -45,9 +45,9 @@
+ #endif
+
+ /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */
+-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch");
++nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch");
+
+-static nsresult
++nsresult
+ PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args)
+ {
+ #define PARAM_BUFFER_COUNT 16
diff --git a/meta/packages/mozilla/minimo/host_ldflags_fix.patch b/meta/packages/mozilla/minimo/host_ldflags_fix.patch
new file mode 100644
index 0000000000..888f545e9d
--- /dev/null
+++ b/meta/packages/mozilla/minimo/host_ldflags_fix.patch
@@ -0,0 +1,62 @@
+Index: mozilla/nsprpub/config/rules.mk
+===================================================================
+--- mozilla.orig/nsprpub/config/rules.mk 2005-01-04 21:27:36.000000000 +0000
++++ mozilla/nsprpub/config/rules.mk 2005-09-30 11:27:33.000000000 +0000
+@@ -87,6 +87,9 @@
+ CCC=$(HOST_CXX)
+ CFLAGS=$(HOST_CFLAGS)
+ CXXFLAGS=$(HOST_CXXFLAGS)
++LDFLAGS=$(HOST_LDFLAGS)
++RANLIB=$(HOST_RANLIB)
++AR=$(HOST_AR)
+ endif
+ endif
+ endif
+Index: mozilla/configure.in
+===================================================================
+--- mozilla.orig/configure.in 2005-03-30 17:57:38.000000000 +0000
++++ mozilla/configure.in 2005-09-30 11:36:44.000000000 +0000
+@@ -5612,13 +5612,18 @@
+ fi
+
+ if test -n "$CROSS_COMPILE"; then
+- if test -z "$HOST_LIBIDL_CONFIG"; then
++ if test -z "$HOST_LIBIDL_CONFIG"; then
++ AC_MSG_WARN([HOST_LIBIDL_CONFIG not defined])
+ HOST_LIBIDL_CONFIG="$LIBIDL_CONFIG"
+ fi
+ if test -n "$HOST_LIBIDL_CONFIG"; then
++ AC_MSG_WARN([using $HOST_LIBIDL_CONFIG as config for libIDL on host])
+ HOST_LIBIDL_CFLAGS=`${HOST_LIBIDL_CONFIG} --cflags`
++ AC_MSG_WARN([HOST_LIBIDL_CFLAGS=$HOST_LIBIDL_CFLAGS])
+ HOST_LIBIDL_LIBS=`${HOST_LIBIDL_CONFIG} --libs`
++ AC_MSG_WARN([HOST_LIBIDL_LIBS=$HOST_LIBIDL_LIBS])
+ else
++ AC_MSG_WARN([no config for libIDL found, using LIBIDL_CFLAGS and LIBIDL_LIBS])
+ HOST_LIBIDL_CFLAGS="$LIBIDL_CFLAGS"
+ HOST_LIBIDL_LIBS="$LIBIDL_LIBS"
+ fi
+Index: mozilla/configure
+===================================================================
+--- mozilla.orig/configure 2005-03-30 17:58:47.000000000 +0000
++++ mozilla/configure 2005-09-30 11:38:36.000000000 +0000
+@@ -16572,11 +16572,18 @@
+
+ if test -n "$CROSS_COMPILE"; then
+ if test -z "$HOST_LIBIDL_CONFIG"; then
++ echo "HOST_LIBIDL_CONFIG nto defined"
+ HOST_LIBIDL_CONFIG="$LIBIDL_CONFIG"
+ fi
+- if test -n "$HOST_LIBIDL_CONFIG"; then
++ if test -n "$HOST_LIBIDL_CONFIG" && test -n "$HOST_PKG_CONFIG_PATH"; then
++ echo "using $HOST_LIBIDL_CONFIG as HOST_LIBIDL_CONFIG with HOST_PKG_CONFIG_PATH=$HOST_PKG_CONFIG_PATH"
++ _SAVE_PKG_CONFIG_PATH=$PKG_CONFIG_PATH
++ PKG_CONFIG_PATH=$HOST_PKG_CONFIG_PATH
+ HOST_LIBIDL_CFLAGS=`${HOST_LIBIDL_CONFIG} --cflags`
++ echo "HOST_LIBIDL_CFLAGS = $HOST_LIBIDL_CFLAGS"
+ HOST_LIBIDL_LIBS=`${HOST_LIBIDL_CONFIG} --libs`
++ echo "HOST_LIBIDL_LIBS = $HOST_LIBIDL_LIBS"
++ PKG_CONFIG_PATH=$_SAVE_PKG_CONFIG_PATH
+ else
+ HOST_LIBIDL_CFLAGS="$LIBIDL_CFLAGS"
+ HOST_LIBIDL_LIBS="$LIBIDL_LIBS"
diff --git a/meta/packages/mozilla/minimo/mozconfig b/meta/packages/mozilla/minimo/mozconfig
new file mode 100644
index 0000000000..5a84bcf87e
--- /dev/null
+++ b/meta/packages/mozilla/minimo/mozconfig
@@ -0,0 +1,76 @@
+# build minimo
+MINIMO=1
+mk_add_options MINIMO=1
+
+# enable building the browser
+ac_add_options --enable-application=browser
+
+# use GTK+-2 widget set with XFT font rendering
+
+MOZ_ENABLE_COREXFONTS=0
+mk_add_options MOZ_ENABLE_COREXFONTS=0
+ac_add_options --enable-default-toolkit=gtk2
+ac_add_options --enable-xft
+ac_add_options --disable-freetype2
+
+# disable XUL support to reduce codesize
+ac_add_options --disable-xul
+
+# enable minimal profile support
+ac_add_options --disable-profilesharing
+ac_add_options --disable-profilelocking
+ac_add_options --enable-single-profile
+
+# disable features and skip various build steps
+ac_add_options --disable-extensions
+ac_add_options --disable-accessibility
+ac_add_options --disable-composer
+ac_add_options --disable-extensions
+ac_add_options --disable-installer
+ac_add_options --disable-jsd
+ac_add_options --disable-jsloader
+ac_add_options --disable-ldap
+ac_add_options --disable-mailnews
+ac_add_options --disable-mathml
+ac_add_options --disable-necko-disk-cache
+ac_add_options --disable-postscript
+ac_add_options --disable-view-source
+ac_add_options --disable-xpfe-components
+ac_add_options --disable-xpinstall
+ac_add_options --disable-xprint
+ac_add_options --enable-native-uconv
+ac_add_options --enable-plaintext-editor-only
+ac_add_options --disable-v1-string-abi
+ac_add_options --disable-plugins
+
+# configure necko to allocate smaller network buffers
+ac_add_options --enable-necko-small-buffers
+
+# disable debug logging and tests
+ac_add_options --disable-dtd-debug
+ac_add_options --disable-logging
+ac_add_options --disable-tests
+
+# build crypto module (PSM + NSS)
+ac_add_options --enable-crypto
+
+# build minimal set of protocol handlers
+ac_add_options --enable-necko-protocols=http,file,res,jar
+
+# build minimal set of image decoders
+ac_add_options --enable-image-decoders=png,gif,jpeg
+
+# code generation options (optimize for size)
+ac_add_options --enable-optimize=-Os
+ac_add_options --enable-strip
+ac_add_options --disable-debug
+ac_add_options --enable-reorder
+ac_add_options --enable-elf-dynstr-gc
+
+# enable static build
+ac_add_options --disable-shared
+ac_add_options --enable-static
+
+# remove link dependency on libstdc++.so
+LIBS=-lsupc++
+
diff --git a/meta/packages/mozilla/minimo_cvs.bb b/meta/packages/mozilla/minimo_cvs.bb
new file mode 100644
index 0000000000..7904951277
--- /dev/null
+++ b/meta/packages/mozilla/minimo_cvs.bb
@@ -0,0 +1,54 @@
+DESCRIPTION = "A minimal version of the Mozilla web browser"
+HOMEPAGE="http://www.mozilla.org/projects/minimo/"
+SRC_URI = "cvs://anonymous@cvs-mirror.mozilla.org/cvsroot;module=mozilla \
+ file://xptcstubs.patch;patch=1 \
+ file://no-xmb.patch;patch=1 \
+ file://host_ldflags_fix.patch;patch=1 \
+ file://minimo.png file://minimo.desktop"
+S = "${WORKDIR}/mozilla"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+SECTION = "x11"
+PRIORITY = "optional"
+PV = "0.0+cvs${SRCDATE}"
+FILES_${PN} += "${libdir}/mozilla-minimo"
+PR = "r8"
+LICENSE = "MPL/LGPL/GPL"
+
+inherit mozilla
+
+EXTRA_OECONF += "--enable-application=suite --disable-native-uconv"
+export MOZ_CO_PROJECT="suite"
+
+export MINIMO=1
+export MOZ_OBJDIR="${WORKDIR}/build-${TARGET_SYS}"
+
+include mozilla-cvs.inc
+
+do_compile () {
+ mozilla_do_compile
+ cd $MOZ_OBJDIR/embedding/minimo
+ oe_runmake
+}
+
+mozdir="${D}${libdir}/mozilla-minimo"
+
+do_install () {
+ cd ${S}/embedding/minimo/
+ sh ./package.sh
+ cd ${S}
+ mkdir -p ${mozdir}
+ cp -rL $MOZ_OBJDIR/dist/Embed/* ${mozdir}/
+ rm -f ${mozdir}/TestGtkEmbed
+ mkdir -p ${D}${datadir}/applications
+ install -m 0644 ${WORKDIR}/minimo.desktop ${D}${datadir}/applications/minimo.desktop
+ mkdir -p ${D}${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/minimo.png ${D}${datadir}/pixmaps/minimo.png
+ mkdir -p ${D}${bindir}
+ echo "#!/bin/sh" > ${D}${bindir}/minimo
+ cat >>${D}${bindir}/minimo << EOF
+cd ${libdir}/mozilla-minimo
+export LD_LIBRARY_PATH=${libdir}/mozilla-minimo
+exec ./Minimo http://www.mozilla.org/projects/minimo/home.html
+EOF
+ chmod 755 ${D}${bindir}/minimo
+}
diff --git a/meta/packages/mozilla/mozilla-cvs.inc b/meta/packages/mozilla/mozilla-cvs.inc
new file mode 100644
index 0000000000..6e278aaaf5
--- /dev/null
+++ b/meta/packages/mozilla/mozilla-cvs.inc
@@ -0,0 +1,12 @@
+do_fetch () {
+ export MOZ_CO_DATE="${SRCDATE}"
+ mkdir -p ${WORKDIR}
+ cd ${WORKDIR}
+ if [ ! -f ${DL_DIR}/mozilla_cvs-mirror.mozilla.org__${SRCDATE}.tar.gz ]; then
+ cvs $CVSCOOPTS -d :pserver:anonymous@cvs-mirror.mozilla.org/cvsroot co mozilla/client.mk
+ cd mozilla
+ oe_runmake -f client.mk checkout
+ cd ..
+ tar czf ${DL_DIR}/mozilla_cvs-mirror.mozilla.org__${SRCDATE}.tar.gz mozilla
+ fi
+}
diff --git a/meta/packages/mpfr/mpfr-native_2.1.1.bb b/meta/packages/mpfr/mpfr-native_2.1.1.bb
new file mode 100644
index 0000000000..119249895d
--- /dev/null
+++ b/meta/packages/mpfr/mpfr-native_2.1.1.bb
@@ -0,0 +1,4 @@
+include mpfr_${PV}.bb
+inherit native
+DEPENDS = "gmp-native"
+
diff --git a/meta/packages/mpfr/mpfr_2.1.1.bb b/meta/packages/mpfr/mpfr_2.1.1.bb
new file mode 100644
index 0000000000..1bf29fb6b1
--- /dev/null
+++ b/meta/packages/mpfr/mpfr_2.1.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "A C library for multiple-precision floating-point computations with exact rounding"
+LICENSE = "LGPL"
+MAINTAINER = "Rene Wagner <rw@handhelds.org>"
+SECTION = "libs"
+DEPENDS = "gmp"
+PR = "r2"
+
+SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.bz2"
+S = "${WORKDIR}/mpfr-${PV}"
+
+inherit autotools
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR} \
+ infodir=${STAGING_DIR}/${HOST_SYS}/info
+}
diff --git a/meta/packages/mtd/mtd-utils-native_20060223.bb b/meta/packages/mtd/mtd-utils-native_20060223.bb
new file mode 100644
index 0000000000..cd1fb7d11b
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils-native_20060223.bb
@@ -0,0 +1,12 @@
+LICENSE = "GPLv2"
+SECTION = "base"
+include mtd-utils_${PV}.bb
+inherit native
+DEPENDS = "zlib-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/mtd-utils"
+
+do_stage () {
+ for binary in ${mtd_utils}; do
+ install -m 0755 util/$binary ${STAGING_BINDIR}/
+ done
+}
diff --git a/meta/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-20060131.patch b/meta/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-20060131.patch
new file mode 100644
index 0000000000..e24f395890
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2-20060131.patch
@@ -0,0 +1,100 @@
+--- mtd/util/mkfs.jffs2.c~add-exclusion-to-mkfs-jffs2.patch
++++ mtd/util/mkfs.jffs2.c
+@@ -92,7 +92,12 @@
+ struct filesystem_entry *files; /* Only relevant to directories */
+ };
+
+-
++struct ignorepath_entry {
++ struct ignorepath_entry* next; /* Points to the next ignorepath element */
++ char name[PATH_MAX]; /* Name of the entry */
++};
++
++static struct ignorepath_entry* ignorepath = 0;
+ static int out_fd = -1;
+ static int in_fd = -1;
+ static char default_rootdir[] = ".";
+@@ -367,7 +372,7 @@
+ char *hpath, *tpath;
+ struct dirent *dp, **namelist;
+ struct filesystem_entry *entry;
+-
++ struct ignorepath_entry* element = ignorepath;
+
+ if (lstat(hostpath, &sb)) {
+ perror_msg_and_die("%s", hostpath);
+@@ -376,6 +381,15 @@
+ entry = add_host_filesystem_entry(targetpath, hostpath,
+ sb.st_uid, sb.st_gid, sb.st_mode, 0, parent);
+
++ while ( element ) {
++ if ( strcmp( element->name, targetpath ) == 0 ) {
++ printf( "Note: ignoring directories below '%s'\n", targetpath );
++ return entry;
++ break;
++ }
++ element = element->next;
++ }
++
+ n = scandir(hostpath, &namelist, 0, alphasort);
+ if (n < 0) {
+ perror_msg_and_die("opening directory %s", hostpath);
+@@ -1157,6 +1171,7 @@
+ {"root", 1, NULL, 'r'},
+ {"pagesize", 1, NULL, 's'},
+ {"eraseblock", 1, NULL, 'e'},
++ {"ignore", 1, NULL, 'I'},
+ {"output", 1, NULL, 'o'},
+ {"help", 0, NULL, 'h'},
+ {"verbose", 0, NULL, 'v'},
+@@ -1199,6 +1214,7 @@
+ " -L, --list-compressors Show the list of the avaiable compressors\n"
+ " -t, --test-compression Call decompress and compare with the original (for test)\n"
+ " -n, --no-eraseblock-headers Don't add a eraseblock header to every eraseblock\n"
++ " -I, --ignore=PATH Ignore sub directory and file tree below PATH when recursing over the file system\n"
+ " -o, --output=FILE Output to FILE (default: stdout)\n"
+ " -l, --little-endian Create a little-endian filesystem\n"
+ " -b, --big-endian Create a big-endian filesystem\n"
+@@ -1368,11 +1384,12 @@
+ struct filesystem_entry *root;
+ char *compr_name = NULL;
+ int compr_prior = -1;
++ struct ignorepath_entry* element = ignorepath;
+
+ jffs2_compressors_init();
+
+ while ((opt = getopt_long(argc, argv,
+- "D:d:r:s:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
++ "D:d:r:s:I:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
+ {
+ switch (opt) {
+ case 'D':
+@@ -1395,6 +1412,28 @@
+ page_size = strtol(optarg, NULL, 0);
+ break;
+
++ case 'I':
++ printf( "Note: Adding '%s' to ignore Path\n", optarg );
++ element = ignorepath;
++ if ( !ignorepath ) {
++ ignorepath = xmalloc( sizeof( struct ignorepath_entry ) );
++ ignorepath->next = 0;
++ strcpy( &ignorepath->name[0], optarg );
++ } else {
++ while ( element->next ) element = element->next;
++ element->next = xmalloc( sizeof( struct ignorepath_entry ) );
++ element->next->next = 0;
++ strcpy( &element->next->name[0], optarg );
++ }
++ printf( "--------- Dumping ignore path list ----------------\n" );
++ element = ignorepath;
++ while ( element ) {
++ printf( " * '%s'\n", &element->name[0] );
++ element = element->next;
++ }
++ printf( "---------------------------------------------------\n" );
++ break;
++
+ case 'o':
+ if (out_fd != -1) {
+ error_msg_and_die("output filename specified more than once");
diff --git a/meta/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2.patch b/meta/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2.patch
new file mode 100644
index 0000000000..3ac41280bb
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils/add-exclusion-to-mkfs-jffs2.patch
@@ -0,0 +1,103 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- mtd/util/mkfs.jffs2.c~add-exclusion-to-mkfs-jffs2.patch
++++ mtd/util/mkfs.jffs2.c
+@@ -92,7 +92,12 @@
+ struct filesystem_entry *files; /* Only relevant to directories */
+ };
+
++struct ignorepath_entry {
++ struct ignorepath_entry* next; /* Points to the next ignorepath element */
++ char name[PATH_MAX]; /* Name of the entry */
++};
+
++static struct ignorepath_entry* ignorepath = 0;
+ static int out_fd = -1;
+ static int in_fd = -1;
+ static char default_rootdir[] = ".";
+@@ -367,6 +372,7 @@
+ char *hpath, *tpath;
+ struct dirent *dp, **namelist;
+ struct filesystem_entry *entry;
++ struct ignorepath_entry* element = ignorepath;
+
+
+ if (lstat(hostpath, &sb)) {
+@@ -376,6 +382,15 @@
+ entry = add_host_filesystem_entry(targetpath, hostpath,
+ sb.st_uid, sb.st_gid, sb.st_mode, 0, parent);
+
++ while ( element ) {
++ if ( strcmp( element->name, targetpath ) == 0 ) {
++ printf( "Note: ignoring directories below '%s'\n", targetpath );
++ return entry;
++ break;
++ }
++ element = element->next;
++ }
++
+ n = scandir(hostpath, &namelist, 0, alphasort);
+ if (n < 0) {
+ perror_msg_and_die("opening directory %s", hostpath);
+@@ -1147,6 +1162,7 @@
+ {"root", 1, NULL, 'r'},
+ {"pagesize", 1, NULL, 's'},
+ {"eraseblock", 1, NULL, 'e'},
++ {"ignore", 1, NULL, 'I'},
+ {"output", 1, NULL, 'o'},
+ {"help", 0, NULL, 'h'},
+ {"verbose", 0, NULL, 'v'},
+@@ -1189,6 +1205,7 @@
+ " -L, --list-compressors Show the list of the avaiable compressors\n"
+ " -t, --test-compression Call decompress and compare with the original (for test)\n"
+ " -n, --no-cleanmarkers Don't add a cleanmarker to every eraseblock\n"
++ " -I, --ignore=PATH Ignore sub directory and file tree below PATH when recursing over the file system\n"
+ " -o, --output=FILE Output to FILE (default: stdout)\n"
+ " -l, --little-endian Create a little-endian filesystem\n"
+ " -b, --big-endian Create a big-endian filesystem\n"
+@@ -1349,11 +1366,12 @@
+ struct filesystem_entry *root;
+ char *compr_name = NULL;
+ int compr_prior = -1;
++ struct ignorepath_entry* element = ignorepath;
+
+ jffs2_compressors_init();
+
+ while ((opt = getopt_long(argc, argv,
+- "D:d:r:s:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
++ "D:d:r:s:I:o:qUPfh?vVe:lbp::nc:m:x:X:Lty:i:", long_options, &c)) >= 0)
+ {
+ switch (opt) {
+ case 'D':
+@@ -1376,6 +1394,28 @@
+ page_size = strtol(optarg, NULL, 0);
+ break;
+
++ case 'I':
++ printf( "Note: Adding '%s' to ignore Path\n", optarg );
++ element = ignorepath;
++ if ( !ignorepath ) {
++ ignorepath = xmalloc( sizeof( struct ignorepath_entry ) );
++ ignorepath->next = 0;
++ strcpy( &ignorepath->name[0], optarg );
++ } else {
++ while ( element->next ) element = element->next;
++ element->next = xmalloc( sizeof( struct ignorepath_entry ) );
++ element->next->next = 0;
++ strcpy( &element->next->name[0], optarg );
++ }
++ printf( "--------- Dumping ignore path list ----------------\n" );
++ element = ignorepath;
++ while ( element ) {
++ printf( " * '%s'\n", &element->name[0] );
++ element = element->next;
++ }
++ printf( "---------------------------------------------------\n" );
++ break;
++
+ case 'o':
+ if (out_fd != -1) {
+ error_msg_and_die("output filename specified more than once");
diff --git a/meta/packages/mtd/mtd-utils/fix-ignoreerrors-20060131.patch b/meta/packages/mtd/mtd-utils/fix-ignoreerrors-20060131.patch
new file mode 100644
index 0000000000..8266a37c46
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils/fix-ignoreerrors-20060131.patch
@@ -0,0 +1,20 @@
+--- mtd/util/nanddump.c.orig 2006-01-30 21:19:22.000000000 +0100
++++ mtd/util/nanddump.c 2006-01-30 21:19:24.000000000 +0100
+@@ -224,7 +224,7 @@
+ }
+ }
+
+- if (badblock) {
++ if (badblock && !ignoreerrors) {
+ if (omitbad)
+ continue;
+ memset (readbuf, 0xff, bs);
+@@ -259,7 +259,7 @@
+ if (omitoob)
+ continue;
+
+- if (badblock) {
++ if (badblock && !ignoreerrors) {
+ memset (readbuf, 0xff, meminfo.oobsize);
+ } else {
+ /* Read OOB data and exit on failure */
diff --git a/meta/packages/mtd/mtd-utils/fix-ignoreerrors.patch b/meta/packages/mtd/mtd-utils/fix-ignoreerrors.patch
new file mode 100644
index 0000000000..b1f702a316
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils/fix-ignoreerrors.patch
@@ -0,0 +1,20 @@
+--- mtd/util/nanddump.c.orig 2005-12-30 19:07:39.000000000 +0100
++++ mtd/util/nanddump.c 2005-12-30 19:08:53.000000000 +0100
+@@ -224,7 +224,7 @@
+ }
+ }
+
+- if (badblock) {
++ if (badblock && !ignoreerrors) {
+ if (omitbad)
+ continue;
+ memset (readbuf, 0xff, bs);
+@@ -259,7 +259,7 @@
+ if (omitoob)
+ continue;
+
+- if (badblock) {
++ if (badblock && !ignoreerrors) {
+ memset (readbuf, 0xff, meminfo.oobsize);
+ } else {
+ /* Read OOB data and exit on failure */
diff --git a/meta/packages/mtd/mtd-utils/more-verbosity.patch b/meta/packages/mtd/mtd-utils/more-verbosity.patch
new file mode 100644
index 0000000000..cdc842a8f9
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils/more-verbosity.patch
@@ -0,0 +1,17 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- mtd/util/mkfs.jffs2.c~more-verbosity.patch
++++ mtd/util/mkfs.jffs2.c
+@@ -374,6 +374,9 @@
+ struct filesystem_entry *entry;
+ struct ignorepath_entry* element = ignorepath;
+
++ if (verbose) {
++ printf( "mkfs.jffs2: scanning '%s'...\n", targetpath );
++ }
+
+ if (lstat(hostpath, &sb)) {
+ perror_msg_and_die("%s", hostpath);
diff --git a/meta/packages/mtd/mtd-utils_20060223.bb b/meta/packages/mtd/mtd-utils_20060223.bb
new file mode 100644
index 0000000000..21d0f21fcd
--- /dev/null
+++ b/meta/packages/mtd/mtd-utils_20060223.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "Tools for managing memory technology devices."
+SECTION = "base"
+DEPENDS = "zlib"
+HOMEPAGE = "http://www.linux-mtd.infradead.org/"
+LICENSE = "GPLv2"
+PR = "r0"
+SRCDATE = "${PV}"
+
+SRC_URI = "cvs://anoncvs:anoncvs@cvs.infradead.org/home/cvs;module=mtd \
+ file://add-exclusion-to-mkfs-jffs2-20060131.patch;patch=1 \
+ file://fix-ignoreerrors-20060131.patch;patch=1"
+S = "${WORKDIR}/mtd/"
+
+CFLAGS_prepend = "-I${S}/include "
+
+do_compile () {
+ oe_runmake -C util ${mtd_utils}
+}
+
+do_stage () {
+ install -d ${STAGING_INCDIR}/mtd
+ for f in ${S}/include/mtd/*.h; do
+ install -m 0644 $f ${STAGING_INCDIR}/mtd/
+ done
+}
+
+mtd_utils = "ftl_format flash_erase flash_eraseall nanddump doc_loadbios \
+ mkfs.jffs ftl_check mkfs.jffs2 flash_lock flash_unlock flash_info mtd_debug \
+ flashcp nandwrite jffs2dump sumtool"
+
+do_install () {
+ install -d ${D}${bindir}
+ for binary in ${mtd_utils}; do
+ install -m 0755 util/$binary ${D}${bindir}
+ done
+}
diff --git a/meta/packages/ncurses/ncurses-native_5.4.bb b/meta/packages/ncurses/ncurses-native_5.4.bb
new file mode 100644
index 0000000000..26d0897c9f
--- /dev/null
+++ b/meta/packages/ncurses/ncurses-native_5.4.bb
@@ -0,0 +1,6 @@
+SECTION = "libs"
+include ncurses_${PV}.bb
+inherit native
+EXTRA_OEMAKE = '"BUILD_CCFLAGS=${BUILD_CCFLAGS}"'
+DEPENDS = ""
+FILESPATH = "${FILE_DIRNAME}/local:${FILE_DIRNAME}/ncurses-${PV}-${PR}:${FILE_DIRNAME}/ncurses-${PV}:${FILE_DIRNAME}/ncurses:${FILE_DIRNAME}"
diff --git a/meta/packages/ncurses/ncurses.inc b/meta/packages/ncurses/ncurses.inc
new file mode 100644
index 0000000000..030cd1034c
--- /dev/null
+++ b/meta/packages/ncurses/ncurses.inc
@@ -0,0 +1,86 @@
+DESCRIPTION = "Ncurses library"
+HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html"
+LICENSE = "MIT"
+SECTION = "libs"
+DEPENDS = "ncurses-native"
+PACKAGES_prepend = "ncurses-tools "
+PACKAGES_append = " ncurses-terminfo"
+FILES_ncurses_append = " ${datadir}/tabset"
+RSUGGESTS_${PN} = "ncurses-terminfo"
+RPROVIDES = "libncurses5"
+
+inherit autotools
+
+# This keeps only tput/tset in ncurses
+# clear/reset are in already busybox
+FILES_ncurses-tools = "${bindir}/tic ${bindir}/toe ${bindir}/infotocap ${bindir}/captoinfo ${bindir}/infocmp ${bindir}/clear.${PN} ${bindir}/reset.${PN} ${bindir}/tack "
+FILES_ncurses-terminfo = "${datadir}/terminfo"
+FILES_${PN} = "${bindir}/tput ${bindir}/tset ${libdir}/lib*.so.* usr/share/tabset etc/terminfo"
+
+PARALLEL_MAKE=""
+
+EXTRA_OECONF = "--with-shared \
+ --without-profile \
+ --without-debug \
+ --disable-rpath \
+ --enable-echo \
+ --enable-const \
+ --without-ada \
+ --enable-termcap \
+ --without-cxx-binding \
+ --with-terminfo-dirs=${sysconfdir}/terminfo:${datadir}/terminfo \
+ --enable-overwrite"
+export BUILD_CCFLAGS = "-I${S}/ncurses -I${S}/include ${BUILD_CFLAGS}"
+export BUILD_LDFLAGS = ""
+export EXTRA_OEMAKE = '"BUILD_LDFLAGS=" "BUILD_CCFLAGS=${BUILD_CCFLAGS}"'
+
+do_stage() {
+ autotools_stage_all
+ ln -sf curses.h ${STAGING_INCDIR}/ncurses.h
+ ln -sf libncurses.so ${STAGING_LIBDIR}/libtermcap.so
+ ln -sf libncurses.a ${STAGING_LIBDIR}/libtermcap.a
+}
+
+do_install() {
+ autotools_do_install
+
+ # our ncurses has termcap support
+ ln -sf libncurses.so ${D}${libdir}/libtermcap.so
+ ln -sf libncurses.a ${D}${libdir}/libtermcap.a
+
+ # include some basic terminfo files
+ # stolen ;) from gentoo and modified a bit
+ for x in ansi console dumb linux rxvt screen sun vt{52,100,102,200,220} xterm-color xterm-xfree86
+ do
+ local termfile="$(find "${D}${datadir}/terminfo/" -name "${x}" 2>/dev/null)"
+ local basedir="$(basename $(dirname "${termfile}"))"
+
+ if [ -n "${termfile}" ]
+ then
+ install -d ${D}${sysconfdir}/terminfo/${basedir}
+ mv ${termfile} ${D}${sysconfdir}/terminfo/${basedir}/
+ ln -s /etc/terminfo/${basedir}/${x} \
+ ${D}${datadir}/terminfo/${basedir}/${x}
+ fi
+ done
+ # i think we can use xterm-color as default xterm
+ if [ -e ${D}${sysconfdir}/terminfo/x/xterm-color ]
+ then
+ ln -sf xterm-color ${D}${sysconfdir}/terminfo/x/xterm
+ fi
+
+ mv ${D}${bindir}/clear ${D}${bindir}/clear.${PN}
+ mv ${D}${bindir}/reset ${D}${bindir}/reset.${PN}
+}
+
+
+pkg_postinst_ncurses-tools () {
+ update-alternatives --install ${bindir}/clear clear clear.${PN} 100
+ update-alternatives --install ${bindir}/reset reset reset.${PN} 100
+}
+
+
+pkg_prerm_ncurses-tools () {
+ update-alternatives --remove clear clear.${PN}
+ update-alternatives --remove reset reset.${PN}
+}
diff --git a/meta/packages/ncurses/ncurses/20030906.patch b/meta/packages/ncurses/ncurses/20030906.patch
new file mode 100644
index 0000000000..f65dfafef1
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/20030906.patch
@@ -0,0 +1,43248 @@
+diff -urNd -urNd ncurses-5.3/ANNOUNCE ncurses-5.3.20030906.orig/ANNOUNCE
+--- ncurses-5.3/ANNOUNCE Sat Oct 12 18:36:19 2002
++++ ncurses-5.3.20030906.orig/ANNOUNCE Tue May 13 20:08:22 2003
+@@ -23,8 +23,8 @@
+ manual pages are provided for the library and tools.
+
+ The ncurses distribution is available via anonymous FTP at the GNU
+- distribution site [1]ftp://ftp.gnu.org/pub/gnu/ncurses.
+- It is also available at [2]ftp://invisible-island.net/ncurses.
++ distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ .
++ It is also available at [2]ftp://invisible-island.net/ncurses/ .
+
+ Release Notes
+
+@@ -268,60 +268,60 @@
+
+ cdk
+ Curses Development Kit
+- [3]http://invisible-island.net/cdk.
+- [4]http://www.vexus.ca/CDK.html
++ [3]http://invisible-island.net/cdk/
++ [4]http://www.vexus.ca/products/CDK/
+
+ ded
+ directory-editor
+- [5]http://invisible-island.net/ded.
++ [5]http://invisible-island.net/ded/
+
+ dialog
+ the underlying application used in Slackware's setup, and the
+ basis for similar applications on GNU/Linux.
+- [6]http://invisible-island.net/dialog.
++ [6]http://invisible-island.net/dialog/
+
+ lynx
+ the character-screen WWW browser
+- [7]http://lynx.isc.org/release.
++ [7]http://lynx.isc.org/release/
+
+ Midnight Commander
+ file manager
+- [8]www.gnome.org/mc/.
++ [8]http://www.ibiblio.org/mc/
+
+ mutt
+ mail utility
+- [9]http://www.mutt.org.
++ [9]http://www.mutt.org/
+
+ ncftp
+ file-transfer utility
+- [10]http://www.ncftp.com.
++ [10]http://www.ncftp.com/
+
+ nvi
+ New vi versions 1.50 are able to use ncurses versions 1.9.7 and
+ later.
+- [11]http://www.bostic.com/vi/.
++ [11]http://www.bostic.com/vi/
+
+ tin
+ newsreader, supporting color, MIME
+- [12]http://www.tin.org.
++ [12]http://www.tin.org/
+
+ taper
+ tape archive utility
+- [13]http://members.iinet.net.au/~yusuf/taper/.
++ [13]http://taper.e-survey.net.au/
+
+ vh-1.6
+ Volks-Hypertext browser for the Jargon File
+- [14]http://www.bg.debian.org/Packages/unstable/text/vh.html.
++ [14]http://www.debian.org/Packages/unstable/text/vh.html
+
+ as well as some that use ncurses for the terminfo support alone:
+
+ minicom
+ terminal emulator
+- [15]http://www.pp.clinet.fi/~walker/minicom.html.
++ [15]http://www.netsonic.fi/~walker/minicom.html
+
+ vile
+ vi-like-emacs
+- [16]http://invisible-island.net/vile.
++ [16]http://invisible-island.net/vile/
+
+ The ncurses distribution includes a selection of test programs
+ (including a few games).
+@@ -342,7 +342,7 @@
+ and testing of this package.
+
+ Beta versions of ncurses and patches to the current release are made
+- available at [23]ftp://invisible-island.net/ncurses.
++ available at [23]ftp://invisible-island.net/ncurses/ .
+
+ Future Plans
+
+@@ -357,35 +357,35 @@
+
+ The distribution includes and uses a version of the terminfo-format
+ terminal description file maintained by Eric Raymond.
+- [24]http://earthspace.net/~esr/terminfo.
++ [24]http://www.tuxedo.org/~esr/terminfo/ .
+
+ You can find lots of information on terminal-related topics not
+- covered in the terminfo file at [25]Richard Shuford's archive.
++ covered in the terminfo file at [25]Richard Shuford's archive .
+
+ References
+
+- 1. ftp://ftp.gnu.org/pub/gnu/ncurses
+- 2. ftp://invisible-island.net/ncurses
+- 3. http://invisible-island.net/cdk/cdk.html
+- 4. http://www.vexus.ca/CDK.html
+- 5. http://invisible-island.net/ded/ded.html
+- 6. http://invisible-island.net/dialog/dialog.html
++ 1. ftp://ftp.gnu.org/gnu/ncurses/
++ 2. ftp://invisible-island.net/ncurses/
++ 3. http://invisible-island.net/cdk/
++ 4. http://www.vexus.ca/products/CDK/
++ 5. http://invisible-island.net/ded/
++ 6. http://invisible-island.net/dialog/
+ 7. http://lynx.isc.org/release/
+- 8. file://localhost/usr/build/ncurses/ncurses-5.2-20021012/doc/html/www.gnome.org/mc/
++ 8. http://www.ibiblio.org/mc/
+ 9. http://www.mutt.org/
+ 10. http://www.ncftp.com/
+ 11. http://www.bostic.com/vi/
+ 12. http://www.tin.org/
+- 13. http://members.iinet.net.au/~yusuf/taper/
+- 14. http://www.bg.debian.org/Packages/unstable/text/vh.html
+- 15. http://www.pp.clinet.fi/~walker/minicom.html
+- 16. http://invisible-island.net/vile/vile.html
++ 13. http://taper.e-survey.net.au/
++ 14. http://www.debian.org/Packages/unstable/text/vh.html
++ 15. http://www.netsonic.fi/~walker/minicom.html
++ 16. http://invisible-island.net/vile/
+ 17. mailto:zmbenhal@netcom.com
+- 18. http://www.ccil.org/~esr/home.html
++ 18. http://www.tuxedo.org/~esr/
+ 19. mailto:dickey@herndon4.his.com
+ 20. http://www.familiepfeifer.de/Contact.aspx?Lang=en
+ 21. mailto:dickey@herndon4.his.com
+ 22. mailto:bug-ncurses@gnu.org
+- 23. ftp://invisible-island.net/ncurses
+- 24. http://earthspace.net/~esr/terminfo
++ 23. ftp://invisible-island.net/ncurses/
++ 24. http://www.tuxedo.org/~esr/terminfo/
+ 25. http://www.cs.utk.edu/~shuford/terminal_index.html
+diff -urNd -urNd ncurses-5.3/Ada95/gen/Makefile.in ncurses-5.3.20030906.orig/Ada95/gen/Makefile.in
+--- ncurses-5.3/Ada95/gen/Makefile.in Sat Jul 13 07:02:28 2002
++++ ncurses-5.3.20030906.orig/Ada95/gen/Makefile.in Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ ##############################################################################
+-# Copyright (c) 1998 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -30,7 +30,7 @@
+ # Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en
+ #
+ # Version Control
+-# $Revision: 1.41 $
++# $Revision: 1.43 $
+ #
+ .SUFFIXES:
+
+@@ -53,6 +53,7 @@
+ AWK = @AWK@
+ LN_S = @LN_S@
+
++CC = @CC@
+ HOST_CC = @BUILD_CC@
+ CFLAGS = @CFLAGS@
+
+@@ -171,9 +172,9 @@
+ install \
+ install.libs :: $(ADA_OBJECTS)
+ @echo installing package $(ALIB) in $(ADA_OBJECTS)
+- @chmod a-wx $(ADA_SRCDIR)/*.ali
++ @-chmod a-wx $(ADA_SRCDIR)/*.ali
+ @$(top_srcdir)/tar-copy.sh '$(ALIB)[-.]*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS)
+- @chmod u+x $(ADA_SRCDIR)/*.ali
++ @-chmod u+x $(ADA_SRCDIR)/*.ali
+
+ uninstall \
+ uninstall.libs ::
+diff -urNd -urNd ncurses-5.3/Ada95/src/Makefile.in ncurses-5.3.20030906.orig/Ada95/src/Makefile.in
+--- ncurses-5.3/Ada95/src/Makefile.in Sat Jul 13 07:02:23 2002
++++ ncurses-5.3.20030906.orig/Ada95/src/Makefile.in Tue May 13 20:08:22 2003
+@@ -30,7 +30,7 @@
+ # Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en
+ #
+ # Version Control
+-# $Revision: 1.26 $
++# $Revision: 1.27 $
+ #
+ .SUFFIXES:
+
+@@ -214,19 +214,19 @@
+
+
+ $(ABASE)-terminfo.o: \
+- $(ABASE)-terminfo.ads \
++ $(srcdir)/$(ABASE)-terminfo.ads \
+ $(srcdir)/$(ABASE)-terminfo.adb $(BASEDEPS)
+ $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-terminfo.adb
+
+
+ $(ABASE)-termcap.o: \
+- $(ABASE)-termcap.ads \
++ $(srcdir)/$(ABASE)-termcap.ads \
+ $(srcdir)/$(ABASE)-termcap.adb $(BASEDEPS)
+ $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-termcap.adb
+
+
+ $(ABASE)-putwin.o: \
+- $(ABASE)-putwin.ads \
++ $(srcdir)/$(ABASE)-putwin.ads \
+ $(srcdir)/$(ABASE)-putwin.adb $(BASEDEPS)
+ $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-putwin.adb
+
+diff -urNd -urNd ncurses-5.3/INSTALL ncurses-5.3.20030906.orig/INSTALL
+--- ncurses-5.3/INSTALL Sun Sep 1 17:42:11 2002
++++ ncurses-5.3.20030906.orig/INSTALL Fri Sep 12 16:42:40 2003
+@@ -1,4 +1,4 @@
+--- $Id: INSTALL,v 1.56 2002/09/01 22:42:11 tom Exp $
++-- $Id: INSTALL,v 1.65 2003/08/30 22:44:10 tom Exp $
+ ---------------------------------------------------------------------
+ How to install Ncurses/Terminfo on your system
+ ---------------------------------------------------------------------
+@@ -168,6 +168,11 @@
+ databases are SVr4-compatible, but most seem to be. Exceptions include
+ DEC's Digital Unix (formerly known as OSF/1).
+
++ If you run the test programs WITHOUT installing terminfo, ncurses may
++ read the termcap file and cache that in $HOME/.terminfo, which will
++ thereafter be used instead of the terminfo database. See the comments
++ on "--enable-getcap-cache", to see why this is a Bad Thing.
++
+ It is possible to configure ncurses to use other terminfo database formats.
+ A few are provided as examples in the include-directory (see --with-caps).
+
+@@ -312,10 +317,6 @@
+ Compile without scroll-hints code. This option is ignored when
+ hashmap scrolling is configured, which is the default.
+
+- --enable-add-ons=DIR...
+- This is used to check if this package is a glibc add-on. This is used
+- only by the glibc makefiles.
+-
+ --enable-assertions
+ For testing, compile-in assertion code. This is used only for a few
+ places where ncurses cannot easily recover by returning an error code.
+@@ -454,6 +455,11 @@
+ --enable-xmc-glitch
+ Compile-in support experimental xmc (magic cookie) code.
+
++ --with-abi-version=NUM
++ Override the ABI version, which is used in shared library filenames.
++ Normally this is the same as the release version; some ports have
++ special requirements for compatibility.
++
+ --with-ada-compiler=CMD
+ Specify the Ada95 compiler command (default "gnatmake")
+
+@@ -472,7 +478,7 @@
+
+ --with-build-cc=XXX
+ If cross-compiling, specify a host C compiler, which is needed to
+- compile a few utilties which generate source modules for ncurses.
++ compile a few utilities which generate source modules for ncurses.
+ If you do not give this option, the configure script checks if the
+ $BUILD_CC variable is set, and otherwise defaults to gcc or cc.
+
+@@ -482,7 +488,7 @@
+ host compiler.
+
+ --with-build-cppflags=XXX
+- If cross-compiling, specify the host C preprocesor-flags. You might
++ If cross-compiling, specify the host C preprocessor-flags. You might
+ need to do this if the target compiler has unusual flags which confuse
+ the host compiler.
+
+@@ -544,9 +550,17 @@
+ NOTE: a few systems build shared libraries with fixed pathnames; this
+ option probably will not work for those configurations.
+
+- --with-libtool
+- Generate libraries with libtool. If this option is selected, then
+- it overrides all other library model specifications.
++ --with-libtool[=XXX]
++ Generate libraries with libtool. If this option is selected, then it
++ overrides all other library model specifications. Note that libtool
++ must already be installed, uses makefile rules dependent on GNU make,
++ and does not promise to follow the version numbering convention of
++ other shared libraries on your system. However, if the --with-shared
++ option does not succeed, you may get better results with this option.
++
++ If a parameter value is given, it must be the full pathname of the
++ particular version of libtool, e.g.,
++ /usr/bin/libtool-1.2.3
+
+ --with-manpage-format=XXX
+ Tell the configure script how you would like to install man-pages. The
+@@ -609,6 +623,9 @@
+ This is normally chosen automatically based on the type of system
+ which you are building on. We use it for testing the configure script.
+
++ --with-sysmouse
++ use FreeBSD sysmouse interface provide mouse support on the console.
++
+ --with-system-type=XXX
+ For testing, override the derived host system-type which is used to
+ decide things such as the linker commands used to build shared
+@@ -673,7 +690,7 @@
+ you may encounter when building a system with different versions of
+ ncurses:
+
+- 5.3 (pre-release)
++ 5.3 (October 12, 2002)
+ Interface changes:
+
+ + change type for bool used in headers to NCURSES_BOOL, which usually
+@@ -895,31 +912,34 @@
+ IF YOU ARE A SYSTEM INTEGRATOR:
+ ------------------------------
+
+- Beginning with 1.9.9, the ncurses distribution includes both a tset
+- utility and /usr/share/tabset directory. If you are installing ncurses,
+- it is no longer either necessary or desirable to install tset-jv.
+-
+ Configuration and Installation:
+
+- Configure with --prefix=/usr to make the install productions put
+- libraries and headers in the correct locations (overwriting any
+- previous curses libraries and headers). This will put the terminfo
+- hierarchy under /usr/share/terminfo; you may want to override this with
+- --datadir=/usr/share/misc; terminfo and tabset are installed under the
+- data directory.
++ On platforms where ncurses is assumed to be installed in /usr/lib,
++ the configure script uses "/usr" as a default:
+
+- Please configure the ncurses library in a pure-terminfo mode; that
+- is, with the --disable-termcap option. This will make the ncurses
+- library smaller and faster. The ncurses library includes a termcap
+- emulation that queries the terminfo database, so even applications
+- that use raw termcap to query terminal characteristics will win
+- (providing you recompile and relink them!).
++ Linux, FreeBSD, NetBSD, OpenBSD, Cygwin
+
+- If you must configure with termcap fallback enabled, you may also
+- wish to use the --enable-getcap option. This option speeds up
+- termcap-based startups, at the expense of not allowing personal
+- termcap entries to reference the terminfo tree. See the code in
+- ncurses/tinfo/read_termcap.c for details.
++ For other platforms, the default is "/usr/local". See the discussion
++ of the "--disable-overwrite" option.
++
++ The location of the terminfo is set indirectly by the "--datadir"
++ configure option, e.g., /usr/share/terminfo, given a datadir of
++ /usr/share. You may want to override this if you are installing
++ ncurses libraries in nonstandard locations, but wish to share the
++ terminfo database.
++
++ Normally the ncurses library is configured in a pure-terminfo mode;
++ that is, with the --disable-termcap option. This makes the ncurses
++ library smaller and faster. The ncurses library includes a termcap
++ emulation that queries the terminfo database, so even applications that
++ use raw termcap to query terminal characteristics will win (providing
++ you recompile and relink them!).
++
++ If you must configure with termcap fallback enabled, you may also wish
++ to use the --enable-getcap option. This speeds up termcap-based
++ startups, at the expense of not allowing personal termcap entries to
++ reference the terminfo tree. See comments in
++ ncurses/tinfo/read_termcap.c for further details.
+
+ Note that if you have $TERMCAP set, ncurses will use that value
+ to locate termcap data. In particular, running from xterm will
+@@ -939,11 +959,11 @@
+
+ Naming the Console Terminal
+
+- In various Linuxes (and possibly elsewhere) there has been a practice
+- of designating the system console driver type as `console'. Please
+- do not do this any more! It complicates peoples' lives, because it
+- can mean that several different terminfo entries from different
+- operating systems all logically want to be called `console'.
++ In various systems there has been a practice of designating the system
++ console driver type as `console'. Please do not do this! It
++ complicates peoples' lives, because it can mean that several different
++ terminfo entries from different operating systems all logically want to
++ be called `console'.
+
+ Please pick a name unique to your console driver and set that up
+ in the /etc/inittab table or local equivalent. Send the entry to the
+diff -urNd -urNd ncurses-5.3/MANIFEST ncurses-5.3.20030906.orig/MANIFEST
+--- ncurses-5.3/MANIFEST Sun Sep 1 17:08:22 2002
++++ ncurses-5.3.20030906.orig/MANIFEST Sun Jul 20 14:02:09 2003
+@@ -166,13 +166,11 @@
+ ./Ada95/src/terminal_interface.ads
+ ./INSTALL
+ ./MANIFEST
+-./Makefile.glibc
+ ./Makefile.in
+ ./Makefile.os2
+ ./NEWS
+ ./README
+ ./README.emx
+-./README.glibc
+ ./TO-DO
+ ./aclocal.m4
+ ./announce.html.in
+@@ -394,6 +392,7 @@
+ ./doc/html/man/form_win.3x.html
+ ./doc/html/man/infocmp.1m.html
+ ./doc/html/man/infotocap.1m.html
++./doc/html/man/key_defined.3x.html
+ ./doc/html/man/keybound.3x.html
+ ./doc/html/man/keyok.3x.html
+ ./doc/html/man/menu.3x.html
+@@ -593,6 +592,7 @@
+ ./man/form_win.3x
+ ./man/infocmp.1m
+ ./man/infotocap.1m
++./man/key_defined.3x
+ ./man/keybound.3x
+ ./man/keyok.3x
+ ./man/make_sed.sh
+@@ -673,6 +673,7 @@
+ ./misc/chkdef.cmd
+ ./misc/cleantic.cmd
+ ./misc/cmpdef.cmd
++./misc/csort
+ ./misc/emx.src
+ ./misc/form.def
+ ./misc/form.ref
+@@ -706,6 +707,7 @@
+ ./ncurses/base/MKunctrl.awk
+ ./ncurses/base/README
+ ./ncurses/base/define_key.c
++./ncurses/base/key_defined.c
+ ./ncurses/base/keybound.c
+ ./ncurses/base/keyok.c
+ ./ncurses/base/lib_addch.c
+@@ -736,7 +738,6 @@
+ ./ncurses/base/lib_initscr.c
+ ./ncurses/base/lib_insch.c
+ ./ncurses/base/lib_insdel.c
+-./ncurses/base/lib_insstr.c
+ ./ncurses/base/lib_instr.c
+ ./ncurses/base/lib_isendwin.c
+ ./ncurses/base/lib_leaveok.c
+@@ -861,6 +862,7 @@
+ ./ncurses/tty/tty_display.h
+ ./ncurses/tty/tty_input.h
+ ./ncurses/tty/tty_update.c
++./ncurses/widechar/charable.c
+ ./ncurses/widechar/lib_box_set.c
+ ./ncurses/widechar/lib_cchar.c
+ ./ncurses/widechar/lib_erasewchar.c
+@@ -869,9 +871,9 @@
+ ./ncurses/widechar/lib_hline_set.c
+ ./ncurses/widechar/lib_in_wch.c
+ ./ncurses/widechar/lib_in_wchnstr.c
+-./ncurses/widechar/lib_ins_nwstr.c
+ ./ncurses/widechar/lib_ins_wch.c
+ ./ncurses/widechar/lib_inwstr.c
++./ncurses/widechar/lib_slk_wset.c
+ ./ncurses/widechar/lib_unget_wch.c
+ ./ncurses/widechar/lib_vid_attr.c
+ ./ncurses/widechar/lib_vline_set.c
+@@ -913,12 +915,6 @@
+ ./progs/toe.c
+ ./progs/tput.c
+ ./progs/tset.c
+-./sysdeps/unix/sysv/linux/Makefile
+-./sysdeps/unix/sysv/linux/alpha/configure
+-./sysdeps/unix/sysv/linux/configure
+-./sysdeps/unix/sysv/linux/edit_man.sed
+-./sysdeps/unix/sysv/linux/edit_man.sh
+-./sysdeps/unix/sysv/linux/run_tic.sh
+ ./tack/COPYING
+ ./tack/HISTORY
+ ./tack/Makefile.in
+@@ -945,6 +941,7 @@
+ ./tar-copy.sh
+ ./test/Makefile.in
+ ./test/README
++./test/aclocal.m4
+ ./test/blue.c
+ ./test/bs.6
+ ./test/bs.c
+@@ -952,8 +949,15 @@
+ ./test/cardfile.dat
+ ./test/configure
+ ./test/configure.in
++./test/demo_defkey.c
++./test/demo_forms.c
++./test/demo_keyok.c
++./test/demo_menus.c
++./test/demo_panels.c
+ ./test/ditto.c
+ ./test/dots.c
++./test/edit_field.c
++./test/edit_field.h
+ ./test/filter.c
+ ./test/firework.c
+ ./test/firstlast.c
+@@ -961,8 +965,11 @@
+ ./test/gdc.c
+ ./test/hanoi.c
+ ./test/hashtest.c
++./test/ins_wide.c
++./test/inserts.c
+ ./test/keynames.c
+ ./test/knight.c
++./test/listused.sh
+ ./test/lrtest.c
+ ./test/modules
+ ./test/ncurses.c
+diff -urNd -urNd ncurses-5.3/NEWS ncurses-5.3.20030906.orig/NEWS
+--- ncurses-5.3/NEWS Sat Oct 12 17:35:42 2002
++++ ncurses-5.3.20030906.orig/NEWS Fri Sep 12 16:42:59 2003
+@@ -1,4 +1,4 @@
+--- $Id: NEWS,v 1.714 2002/10/12 22:35:42 tom Exp $
++-- $Id: NEWS,v 1.766 2003/09/06 22:40:56 tom Exp $
+
+ This is a log of changes that ncurses has gone through since Zeyd started
+ working with Pavel Curtis' original work, pcurses, in 1992.
+@@ -6,6 +6,531 @@
+ Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim.
+ Changes since 1.9.9e are recorded by Thomas Dickey.
+
++20030906
++ + modify configure script to avoid using "head -1", which does not
++ work if POSIXLY_CORRECT (sic) is set.
++ + modify run_tic.in to avoid using wrong shared libraries when
++ cross-compiling (Dan Kegel).
++
++20030830
++ + alter configure script help message to make it clearer that
++ --with-build-cc does not specify a cross-compiler (suggested by Dan
++ Kegel <dank@kegel.com>).
++ + modify configure script to accommodate libtool 1.5, as well as add an
++ parameter to the "--with-libtool" option which can specify the
++ pathname of libtool (report by Chris Zubrzycki). We note that
++ libtool 1.5 has more than one bug in its C++ support, so it is not
++ able to install libncurses++, for instance, if $DESTDIR or the option
++ --with-install-prefix is used.
++
++20030823
++ > Philippe Blain:
++ + move assignments to SP->_cursrow, SP->_curscol into online_mvcur().
++ + make baudrate computation in delay_output() consistent with the
++ assumption in _nc_mvcur_init(), i.e., a byte is 9 bits.
++
++20030816
++ + modify logic in waddch_literal() to take into account zh_TW.Big5
++ whose multibyte sequences may contain "printable" characters, e.g.,
++ a "g" in the sequence "\247g" (Debian #204889, cf: 20030621).
++ + improve storage used by _nc_safe_strcpy() by ensuring that the size
++ is reset based on the initialization call, in case it were called
++ after other strcpy/strcat calls (report by Philippe Blain).
++ > Philippe Blain:
++ + remove an unused ifdef for REAL_ATTR & WANT_CHAR
++ + correct a place where _cup_cost was used rather than _cuu_cost
++
++20030809
++ + fix a small memory leak in _nc_free_termtype().
++ + close trace-file if trace() is called with a zero parameter.
++ + free memory allocated for soft-key strings, in delscreen().
++ + fix an allocation size in safe_sprintf.c for the "*" format code.
++ + correct safe_sprintf.c to not return a null pointer if the format
++ happens to be an empty string. This applies to the "configure
++ --enable-safe-sprintf" option (Redhat #101486).
++
++20030802
++ + modify casts used for ABSENT_BOOLEAN and CANCELLED_BOOLEAN (report by
++ Daniel Jacobowitz).
++ > Philippe Blain:
++ + change padding for change_scroll_region to not be proportional to
++ the size of the scroll-region.
++ + correct error-return in _nc_safe_strcat().
++
++20030726
++ + correct limit-checks in _nc_scroll_window() (report and test-case by
++ Thomas Graf <graf@dms.at> cf: 20011020).
++ + re-order configure checks for _XOPEN_SOURCE to avoid conflict with
++ _GNU_SOURCE check.
++
++20030719
++ + use clr_eol in preference to blanks for bce terminals, so select and
++ paste will have fewer trailing blanks, e.g., when using xterm
++ (request by Vincent Lefevre).
++ + correct prototype for wunctrl() in manpage.
++ + add configure --with-abi-version option (discussion with Charles
++ Wilson).
++ > cygwin changes from Charles Wilson:
++ + aclocal.m4: on cygwin, use autodetected prefix for import
++ and static lib, but use "cyg" for DLL.
++ + include/ncurses_dll.h: correct the comments to reflect current
++ status of cygwin/mingw port. Fix compiler warning.
++ + misc/run_tic.in: ensure that tic.exe can find the uninstalled
++ DLL, by adding the lib-directory to the PATH variable.
++ + misc/terminfo.src (nxterm|xterm-color): make xterm-color
++ primary instead of nxterm, to match XFree86's xterm.terminfo
++ usage and to prevent circular links.
++ (rxvt): add additional codes from rxvt.org.
++ (rxvt-color): new alias
++ (rxvt-xpm): new alias
++ (rxvt-cygwin): like rxvt, but with special acsc codes.
++ (rxvt-cygwin-native): ditto. rxvt may be run under XWindows, or
++ with a "native" MSWin GUI. Each takes different acsc codes,
++ which are both different from the "normal" rxvt's acsc.
++ (cygwin): cygwin-in-cmd.exe window. Lots of fixes.
++ (cygwinDBG): ditto.
++ + mk-1st.awk: use "cyg" for the DLL prefix, but "lib" for import
++ and static libs.
++
++20030712
++ + update config.guess, config.sub
++ + add triples for configuring shared libraries with the Debian
++ GNU/FreeBSD packages (patch by Robert Millan <zeratul2@wanadoo.es>).
++
++20030705
++ + modify CF_GCC_WARNINGS so it only applies to gcc, not g++. Some
++ platforms have installed g++ along with the native C compiler, which
++ would not accept gcc warning options.
++ + add -D_XOPEN_SOURCE=500 when configuring with --enable-widec, to
++ get mbstate_t declaration on HPUX 11.11 (report by David Ellement).
++ + add _nc_pathlast() to get rid of casts in _nc_basename() calls.
++ + correct a sign-extension in wadd_wch() and wecho_wchar() from
++ 20030628 (report by Tomohiro KUBOTA).
++ + work around omission of btowc() and wctob() from wide-character
++ support (sic) in NetBSD 1.6 using mbtowc() and wctomb() (report by
++ Gabor Z Papp).
++ + add portability note to curs_get_wstr.3x (Debian #199957).
++
++20030628
++ + rewrite wadd_wch() and wecho_wchar() to call waddch() and wechochar()
++ respectively, to avoid calling waddch_noecho() with wide-character
++ data, since that function assumes its input is 8-bit data.
++ Similarly, modify waddnwstr() to call wadd_wch().
++ + remove logic from waddnstr() which transformed multibyte character
++ strings into wide-characters. Rewrite of waddch_literal() from
++ 20030621 assumes its input is raw multibyte data rather than wide
++ characters (report by Tomohiro KUBOTA).
++
++20030621
++ + write getyx() and related 2-return macros in terms of getcury(),
++ getcurx(), etc.
++ + modify waddch_literal() in case an application passes bytes of a
++ multibyte character directly to waddch(). In this case, waddch()
++ must reassemble the bytes into a wide-character (report by Tomohiro
++ KUBOTA <kubota@debian.org>).
++
++20030614
++ + modify waddch_literal() in case a multibyte value occupies more than
++ two cells.
++ + modify PutAttrChar() to compute the number of character cells that
++ are used in multibyte values. This fixes a problem displaying
++ double-width characters (report/test by Mitsuru Chinen
++ <mchinen@yamato.ibm.com>).
++ + add a null-pointer check for result of keyname() in _tracechar()
++ + modify _tracechar() to work around glibc sprintf bug.
++
++20030607
++ + add a call to setlocale() in cursesmain.cc, making demo display
++ properly in a UTF-8 locale.
++ + add a fallback definition in curses.priv.h for MB_LEN_MAX (prompted
++ by discussion with Gabor Z Papp).
++ + use macros NCURSES_ACS() and NCURSES_WACS() to hide cast needed to
++ appease -Wchar-subscript with g++ 3.3 (Debian #195732).
++ + fix a redefinition of $RANLIB in the configure script when libtool
++ is used, which broke configure on Mac OS X (report by Chris Zubrzycki
++ <beren@mac.com>).
++ + simplify ifdef for bool declaration in curses.h.in (suggested by
++ Albert Chin-A-Young).
++ + remove configure script check to allow -Wconversion for older
++ versions of gcc (suggested by Albert Chin-A-Young).
++
++20030531
++ + regenerated html manpages.
++ + modify ifdef's in curses.h.in that disabled use of __attribute__()
++ for g++, since recent versions implement the cases which ncurses uses
++ (Debian #195230).
++ + modify _nc_get_token() to handle a case where an entry has no
++ description, and capabilities begin on the same line as the entry
++ name.
++ + fix a typo in ncurses_dll.h reported by gcc 3.3.
++ + add an entry for key_defined.3x to man_db.renames.
++
++20030524
++ + modify setcchar() to allow converting control characters to complex
++ characters (report/test by Mitsuru Chinen <mchinen@yamato.ibm.com>).
++ + add tkterm entry -TD
++ + modify parse_entry.c to allow a terminfo entry with a leading
++ 2-character name (report by Don Libes).
++ + corrected acsc in screen.teraterm, which requires a PC-style mapping.
++ + fix trace statements in read_entry.c to use lseek() rather than
++ tell().
++ + fix signed/unsigned warnings from Sun's compiler (gcc should give
++ these warnings, but it is unpredictable).
++ + modify configure script to omit -Winline for gcc 3.3, since that
++ feature is broken.
++ + modify manlinks.sed to add a few functions that were overlooked since
++ they return function pointers: field_init, field_term, form_init,
++ form_term, item_init, item_term, menu_init and menu_term.
++
++20030517
++ + prevent recursion in wgetch() via wgetnstr() if the connection cannot
++ be switched between cooked/raw modes because it is not a TTY (report
++ by Wolfgang Gutjahr <gutw@knapp.com>).
++ + change parameter of define_key() and key_defined() to const (prompted
++ by Debian #192860).
++ + add a check in test/configure for ncurses extensions, since there
++ are some older versions, etc., which would not compile with the
++ current test programs.
++ + corrected demo in test/ncurses.c of wgetn_wstr(), which did not
++ convert wchar_t string to multibyte form before printing it.
++ + corrections to lib_get_wstr.c:
++ + null-terminate buffer passed to setcchar(), which occasionally
++ failed.
++ + map special characters such as erase- and kill-characters into
++ key-codes so those will work as expected even if they are not
++ mentioned in the terminfo.
++ + modify PUTC() and Charable() macros to make wide-character line
++ drawing work for POSIX locale on Linux console (cf: 20021221).
++
++20030510
++ + make typography for program options in manpages consistent (report
++ by Miloslav Trmac <mitr@volny.cz>).
++ + correct dependencies in Ada95/src/Makefile.in, so the builds with
++ "--srcdir" work (report by Warren L Dodge).
++ + correct missing definition of $(CC) in Ada95/gen/Makefile.in
++ (reported by Warren L Dodge <warrend@mdhost.cse.tek.com>).
++ + fix typos and whitespace in manpages (patch by jmc
++ <jmc@prioris.mini.pw.edu.pl>).
++
++20030503
++ + fix form_driver() cases for REQ_CLR_EOF, REQ_CLR_EOL, REQ_DEL_CHAR,
++ REQ_DEL_PREV and REQ_NEW_LINE, which did not ensure the cursor was at
++ the editing position before making modifications.
++ + add test/demo_forms and associated test/edit_field.c demos.
++ + modify test/configure.in to use test/modules for the list of objects
++ to compile rather than using the list of programs.
++
++20030419
++ + modify logic of acsc to use the original character if no mapping is
++ defined, noting that Solaris does this.
++ + modify ncurses 'b' test to avoid using the acs_map[] array since
++ 20021231 changes it to no longer contain information from the acsc
++ string.
++ + modify makefile rules in c++, progs, tack and test to ensure that
++ the compiler flags (e.g., $CFLAGS or $CCFLAGS) are used in the link
++ command (report by Jose Luis Rico Botella <informatica@serpis.com>).
++ + modify soft-key initialization to use A_REVERSE if A_STANDOUT would
++ not be shown when colors are used, i.e., if ncv#1 is set in the
++ terminfo as is done in "screen".
++
++20030412
++ + add a test for slk_color(), in ncurses.c
++ + fix some issues reported by valgrind in the slk_set() and slk_wset()
++ code, from recent rewrite.
++ + modify ncurses 'E' test to use show previous label via slk_label(),
++ as in 'e' test.
++ + modify wide-character versions of NewChar(), NewChar2() macros to
++ ensure that the whole struct is initialized.
++
++20030405
++ + modify setupterm() to check if the terminfo and terminal-modes have
++ already been read. This ensures that it does not reinvoke
++ def_prog_mode() when an application calls more than one function,
++ such as tgetent() and initscr() (report by Olaf Buddenhagen).
++
++20030329
++ + add 'E' test to ncurses.c, to exercise slk_wset().
++ + correct handling of carriage-return in wgetn_wstr(), used in demo of
++ slk_wset().
++ + first draft of slk_wset() function.
++
++20030322
++ + improved warnings in tic when suppressing items to fit in termcap's
++ 1023-byte limit.
++ + built a list in test/README showing which externals are being used
++ by either programs in the test-directory or via internal library
++ calls.
++ + adjust include-options in CF_ETIP_DEFINES to avoid missing
++ ncurses_dll.h, fixing special definitions that may be needed for
++ etip.h (reported by Greg Schafer <gschafer@zip.com.au>).
++
++20030315
++ + minor fixes for cardfile.c, to make it write the updated fields to
++ a file when ^W is given.
++ + add/use _nc_trace_bufcat() to eliminate some fixed buffer limits in
++ trace code.
++
++20030308
++ + correct a case in _nc_remove_string(), used by define_key(), to avoid
++ infinite loop if the given string happens to be a substring of other
++ strings which are assigned to keys (report by John McCutchan).
++ + add key_defined() function, to tell which keycode a string is bound
++ to (discussion with John McCutchan <ttb@tentacle.dhs.org>).
++ + correct keybound(), which reported definitions in the wrong table,
++ i.e., the list of definitions which are disabled by keyok().
++ + modify demo_keydef.c to show the details it changes, and to check
++ for errors.
++
++20030301
++ + restructured test/configure script, make it work for libncursesw.
++ + add description of link_fieldtype() to manpage (report by
++ L Dee Holtsclaw <dee@sunbeltsoft.com>).
++
++20030222
++ + corrected ifdef's relating to configure check for wchar_t, etc.
++ + if the output is a socket or other non-tty device, use 1 millisecond
++ for the cost in mvcur; previously it was 9 milliseconds because the
++ baudrate was not known.
++ + in _nc_get_tty_mode(), initialize the TTY buffer on error, since
++ glibc copies uninitialized data in that case, as noted by valgrind.
++ + modify tput to use the same parameter analysis as tparm() does, to
++ provide for user-defined strings, e.g., for xterm title, a
++ corresponding capability might be
++ title=\E]2;%p1%s^G,
++ + modify MKlib_gen.sh to avoid passing "#" tokens through the C
++ preprocessor. This works around Mac OS X's preprocessor, which
++ insists on adding a blank on each side of the token (report/analysis
++ by Kevin Murphy <murphy@genome.chop.edu>).
++
++20030215
++ + add configure check for wchar_t and wint_t types, rather than rely
++ on preprocessor definitions. Also work around for gcc fixinclude
++ bug which creates a shadow copy of curses.h if it sees these symbols
++ apparently typedef'd.
++ + if database is disabled, do not generate run_tic.sh
++ + minor fixes for memory-leak checking when termcap is read.
++
++20030208
++ + add checking in tic for incomplete line-drawing character mapping.
++ + update configure script to reflect fix for AC_PROG_GCC_TRADITIONAL,
++ which is broken in autoconf 2.5x for Mac OS X 10.2.3 (report by
++ Gerben Wierda <Sherlock@rna.nl>).
++ + make return value from _nc_printf_string() consistent. Before,
++ depending on whether --enable-safe-sprintf was used, it might not be
++ cached for reallocating.
++
++20030201
++ + minor fixes for memory-leak checking in lib_tparm.c, hardscroll.c
++ + correct a potentially-uninitialized value if _read_termtype() does
++ not read as much data as expected (report by Wolfgang Rohdewald
++ <wr6@uni.de>).
++ + correct several places where the aclocal.m4 macros relied on cache
++ variable names which were incompatible (as usual) between autoconf
++ 2.13 and 2.5x, causing the test for broken-linker to give incorrect
++ results (reports by Gerben Wierda <Sherlock@rna.nl> and Thomas Esser
++ <te@dbs.uni-hannover.de>).
++ + do not try to open gpm mouse driver if standard output is not a tty;
++ the gpm library does not make this check (from bug report for dialog
++ by David Oliveira <davidoliveira@develop.prozone.ws>).
++
++20030125
++ + modified emx.src to correspond more closely to terminfo.src, added
++ emx-base to the latter -TD
++ + add configure option for FreeBSD sysmouse, --with-sysmouse, and
++ implement support for that in lib_mouse.c, lib_getch.c
++
++20030118
++ + revert 20030105 change to can_clear_with(), does not work for the
++ case where the update is made on cells which are blanks with
++ attributes, e.g., reverse.
++ + improve ifdef's to guard against redefinition of wchar_t and wint_t
++ in curses.h (report by Urs Jansen).
++
++20030111
++ + improve mvcur() by checking if it is safe to move when video
++ attributes are set (msgr), and if not, reset/restore attributes
++ within that function rather than doing it separately in the GoTo()
++ function in tty_update.c (suggested by Philippe Blain).
++ + add a message in run_tic.in to explain more clearly what does not
++ work when attempting to create a symbolic link for /usr/lib/terminfo
++ on OS/2 and other platforms with no symbolic links (report by John
++ Polterak).
++ + change several sed scripts to avoid using "\+" since it is not a BRE
++ (basic regular expression). One instance caused terminfo.5 to be
++ misformatted on FreeBSD (from a FreeBSD bug report by Kazuo Horikawa
++ <horikawa@FreeBSD.org>).
++ + correct misspelled 'wint_t' in curs_get_wch.3x (Michael Elkins).
++
++20030105
++ + improve description of terminfo operators, especially static/dynamic
++ variables (comments by Mark I Manning IV <mark4th@earthlink.net>).
++ + demonstrate use of FIELDTYPE by modifying test/ncurses 'r' test to
++ use the predefined TYPE_ALPHA field-type, and by defining a
++ specialized type for the middle initial/name.
++ + fix MKterminfo.sh, another workaround for POSIXLY_CORRECT misfeature
++ of sed 4.0
++ > Philippe Blain:
++ + optimize can_clear_with() a little by testing first if the parameter
++ is indeed a "blank".
++ + simplify ClrBottom() a little by allowing it to use clr_eos to clear
++ sections as small as one line.
++ + improve ClrToEOL() by checking if clr_eos is available before trying
++ to use it.
++ + use tputs() rather than putp() in a few cases in tty_update.c since
++ the corresponding delays are proportional to the number of lines
++ affected: repeat_char, clr_eos, change_scroll_region.
++
++20021231
++ + rewrite of lib_acs.c conflicts with copying of SCREEN acs_map to/from
++ global acs_map[] array; removed the lines that did the copying.
++
++20021228
++ + change some overlooked tputs() calls in scrolling code to use putp()
++ (report by Philippe Blain).
++ + modify lib_getch.c to avoid recursion via wgetnstr() when the input
++ is not a tty and consequently mode-changes do not work (report by
++ <R.Chamberlin@querix.com>).
++ + rewrote lib_acs.c to allow PutAttrChar() to decide how to render
++ alternate-characters, i.e., to work with Linux console and UTF-8
++ locale.
++ + correct line/column reference in adjust_window(), needed to make
++ special windows such as curscr track properly when resizing (report
++ by Lucas Gonze <lgonze@panix.com>).
++ > Philippe Blain:
++ + correct the value used for blank in ClrBottom() (broken in 20000708).
++ + correct an off-by-one in GoTo() parameter in _nc_scrolln().
++
++20021221
++ + change several tputs() calls in scrolling code to use putp(), to
++ enable padding which may be needed for some terminals (patch by
++ by Philippe Blain).
++ + use '%' as sed substitute delimiter in run_tic script to avoid
++ problems with pathname delimiters such as ':' and '@' (report by John
++ Polterak).
++ + implement a workaround so that line-drawing works with screen's
++ crippled UTF-8 support (tested with 3.9.13). This only works with
++ the wide-character support (--enable-widec); the normal library will
++ simply suppress line-drawing when running in a UTF-8 locale in screen.
++
++20021214
++ + allow BUILD_CC and related configure script variables to be
++ overridden from the environment.
++ + make build-tools variables in ncurses/Makefile.in consistent with
++ the configure script variables (report by Maciej W Rozycki).
++ + modify ncurses/modules to allow
++ configure --disable-leaks --disable-ext-funcs
++ to build (report by Gary Samuelson).
++ + fix a few places in configure.in which lacked quotes (report by
++ Gary Samuelson <gary.samuelson@verizon.com>).
++ + correct handling of multibyte characters in waddch_literal() which
++ force wrapping because they are started too late on the line (report
++ by Sam Varshavchik).
++ + small fix for CF_GNAT_VERSION to ignore the help-message which
++ gnatmake adds to its version-message.
++ > Maciej W Rozycki <macro@ds2.pg.gda.pl>:
++ + use AC_CHECK_TOOL to get proper values for AR and LD for cross
++ compiling.
++ + use $cross_compiling variable in configure script rather than
++ comparing $host_alias and $target alias, since "host" is
++ traditionally misused in autoconf to refer to the target platform.
++ + change configure --help message to use "build" rather than "host"
++ when referring to the --with-build-XXX options.
++
++20021206
++ + modify CF_GNAT_VERSION to print gnatmake's version, and to allow for
++ possible gnat versions such as 3.2 (report by Chris Lingard
++ <chris@stockwith.co.uk>).
++ + modify #define's for CKILL and other default control characters in
++ tset to use the system's default values if they are defined.
++ + correct interchanged defaults for kill and interrupt characters
++ in tset, which caused it to report unnecessarily (Debian #171583).
++ + repair check for missing C++ compiler, which is broken in autoconf
++ 2.5x by hardcoding it to g++ (report by Martin Mokrejs).
++ + update config.guess, config.sub (2002-11-30)
++ + modify configure script to skip --with-shared, etc., when the
++ --with-libtool option is given, since they would be ignored anyway.
++ + fix to allow "configure --with-libtool --with-termlib" to build.
++ + modify configure script to show version number of libtool, to help
++ with bug reports. libtool still gets confused if the installed
++ ncurses libraries are old, since it ignores the -L options at some
++ point (tested with libtool 1.3.3 and 1.4.3).
++ + reorder configure script's updating of $CPPFLAGS and $CFLAGS to
++ prevent -I options in the user's environment from introducing
++ conflicts with the build -I options (may be related to reports by
++ Patrick Ash and George Goffe).
++ + rename test/define_key.c to test/demo_defkey.c, test/keyok.c to
++ test/demo_keyok.c to allow building these with libtool.
++
++20021123
++ + add example program test/define_key.c for define_key().
++ + add example program test/keyok.c for keyok().
++ + add example program test/ins_wide.c for wins_wch() and wins_wstr().
++ + modify wins_wch() and wins_wstr() to interpret tabs by using the
++ winsch() internal function.
++ + modify setcchar() to allow for wchar_t input strings that have
++ more than one spacing character.
++
++20021116
++ + fix a boundary check in lib_insch.c (patch by Philippe Blain).
++ + change type for *printw functions from NCURSES_CONST to const
++ (prompted by comment by Pedro Palhoto Matos <plpm@mega.ist.utl.pt>,
++ but really from a note on X/Open's website stating that either is
++ acceptable, and the latter will be used in a future revision).
++ + add xterm-1002, xterm-1003 terminfo entries to demonstrate changes in
++ lib_mouse.c (20021026) -TD
++ + add screen-bce, screen-s entries from screen 3.9.13 (report by
++ Adam Lazur <zal@debian.org>) -TD
++ + add mterm terminfo entries -TD
++
++20021109
++ + split-out useful fragments in terminfo for vt100 and vt220 numeric
++ keypad, i.e., vt100+keypad, vt100+pfkeys, vt100+fnkeys and
++ vt220+keypad. The last as embedded in various entries had ka3 and
++ kb2 interchanged (report/discussion with Leonard den Ottolander
++ <leonardjo@hetnet.nl>).
++ + add check in tic for keypads consistent with vt100 layout.
++ + improve checks in tic for color capabilities
++
++20021102
++ + check for missing/empty/illegal terminfo name in _nc_read_entry()
++ (report by Martin Mokrejs, where $TERM was set to an empty string).
++ + rewrote lib_insch.c, combining it with lib_insstr.c so both handle
++ tab and other control characters consistently (report by Philippe
++ Blain).
++ + remove an #undef for KEY_EVENT from curses.tail used in the
++ experimental NCURSES_WGETCH_EVENTS feature. The #undef confuses
++ dpkg's build script (Debian #165897).
++ + fix MKlib_gen.sh, working around the ironically named POSIXLY_CORRECT
++ feature of GNU sed 4.0 (reported by Ervin Nemeth <airwin@inf.bme.hu>).
++
++20021026
++ + implement logic in lib_mouse.c to handle position reports which are
++ generated when XFree86 xterm is initialized with private modes 1002
++ or 1003. These are returned to the application as the
++ REPORT_MOUSE_POSITION mask, which was not implemented. Tested both
++ with ncurses 'a' menu (prompted by discussion with Larry Riedel
++ <Larry@Riedel.org>).
++ + modify lib_mouse.c to look for "XM" terminfo string, which allows
++ one to override the escape sequence used to enable/disable mouse
++ mode. In particular this works for XFree86 xterm private modes
++ 1002 and 1003. If "XM" is missing (note that this is an extended
++ name), lib_mouse uses the conventional private mode 1000.
++ + correct NOT_LOCAL() macro in lib_mvcur.c to refer to screen_columns
++ where it used screen_lines (report by Philippe Blain).
++ + correct makefile rules for the case when both --with-libtool and
++ --with-gpm are given (report by Mr E_T <troll@logi.net.au>).
++ + add note to terminfo manpage regarding the differences between
++ setaf/setab and setf/setb capabilities (report by Pavel Roskin).
++
++20021019
++ + remove redundant initialization of TABSIZE in newterm(), since it is
++ already done in setupterm() (report by Philippe Blain).
++ + add test/inserts.c, to test winnstr() and winsch().
++ + replace 'sort' in dist.mk with script that sets locale to POSIX.
++ + update URLs in announce.html.in (patch by Frederic L W Meunier).
++ + remove glibc add-on files, which are no longer needed (report by
++ Frederic L W Meunier).
++
+ 20021012 5.3 release for upload to ftp.gnu.org
+ + modify ifdef's in etip.h.in to allow the etip.h header to compile
+ with gcc 3.2 (patch by Dimitar Zhekov <jimmy@is-vn.bg>).
+diff -urNd -urNd ncurses-5.3/README ncurses-5.3.20030906.orig/README
+--- ncurses-5.3/README Sat Aug 12 18:31:21 2000
++++ ncurses-5.3.20030906.orig/README Tue May 13 20:08:22 2003
+@@ -1,4 +1,4 @@
+--- $Id: README,v 1.20 2000/08/12 23:31:21 tom Exp $
++-- $Id: README,v 1.21 2003/02/08 19:36:39 tom Exp $
+ -------------------------------------------------------------------------------
+ README file for the ncurses package
+
+@@ -43,6 +43,14 @@
+ libform.so (shared)
+ libform_g.a (debug enabled)
+
++If you configure using the --enable-widec option, a "w" is appended to the
++library names (e.g., libncursesw.a), and the resulting libraries support
++wide-characters, e.g., via a UTF-8 locale. The corresponding header files
++are compatible with the non-wide-character configuration; wide-character
++features are provided by ifdef's in the header files. The wide-character
++library interfaces are not binary-compatible with the non-wide-character
++version.
++
+ The ncurses libraries implement the curses API. The panel, menu and forms
+ libraries implement clones of the SVr4 panel, menu and forms APIs. The source
+ code for these lives in the `ncurses', `panel', `menu', and `form' directories
+diff -urNd -urNd ncurses-5.3/aclocal.m4 ncurses-5.3.20030906.orig/aclocal.m4
+--- ncurses-5.3/aclocal.m4 Sat Sep 21 18:59:01 2002
++++ ncurses-5.3.20030906.orig/aclocal.m4 Fri Sep 12 16:42:59 2003
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2000,2001,2002 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -26,22 +26,24 @@
+ dnl authorization. *
+ dnl***************************************************************************
+ dnl
+-dnl Author: Thomas E. Dickey 1996,1997,1998,1999,2000,2001
++dnl Author: Thomas E. Dickey 1995-2003
+ dnl
+-dnl $Id: aclocal.m4,v 1.285 2002/09/21 23:59:01 tom Exp $
++dnl $Id: aclocal.m4,v 1.313 2003/09/06 23:46:28 tom Exp $
+ dnl Macros used in NCURSES auto-configuration script.
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl
+ dnl ---------------------------------------------------------------------------
+ dnl ---------------------------------------------------------------------------
++dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
++dnl -------------------
+ dnl Construct the list of include-options for the C programs in the Ada95
+ dnl binding.
+ AC_DEFUN([CF_ADA_INCLUDE_DIRS],
+ [
+-ACPPFLAGS="$ACPPFLAGS -I. -I../../include"
++ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
+ if test "$srcdir" != "."; then
+- ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
++ ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS"
+ fi
+ if test "$GCC" != yes; then
+ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
+@@ -57,6 +59,8 @@
+ AC_SUBST(ACPPFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ADD_CFLAGS version: 5 updated: 2002/12/01 00:12:15
++dnl -------------
+ dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
+ dnl The second parameter if given makes this macro verbose.
+ AC_DEFUN([CF_ADD_CFLAGS],
+@@ -88,11 +92,13 @@
+
+ if test -n "$cf_new_cppflags" ; then
+ ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
+ fi
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
++dnl ----------------
+ dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+ dnl in the sharutils 4.2 distribution.
+ AC_DEFUN([CF_ANSI_CC_CHECK],
+@@ -143,6 +149,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44
++dnl ---------------
+ dnl For programs that must use an ANSI compiler, obtain compiler options that
+ dnl will make it recognize prototypes. We'll do preprocessor checks in other
+ dnl macros, since tools such as unproto can fake prototypes, but only part of
+@@ -159,6 +167,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_BOOL_DECL version: 6 updated: 2001/12/02 01:39:28
++dnl ------------
+ dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
+ dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
+ dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
+@@ -185,6 +195,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31
++dnl ------------
+ dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
+ dnl Don't bother looking for bool.h, since it's been deprecated.
+ dnl
+@@ -251,6 +263,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_CFG_DEFAULTS version: 6 updated: 2003/07/12 15:15:19
++dnl ---------------
+ dnl Determine the default configuration into which we'll install ncurses. This
+ dnl can be overridden by the user's command-line options. There's two items to
+ dnl look for:
+@@ -267,7 +281,7 @@
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|netbsd*|freebsd*|linux*|cygwin*)
++ openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+@@ -303,6 +317,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
++dnl ----------
+ dnl Check if the terminal-capability database functions are available. If not,
+ dnl ncurses has a much-reduced version.
+ AC_DEFUN([CF_CGETENT],[
+@@ -324,6 +340,8 @@
+ test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_CACHE version: 7 updated: 2001/12/19 00:50:10
++dnl --------------
+ dnl Check if we're accidentally using a cache from a different machine.
+ dnl Derive the system name, as a check for reusing the autoconf cache.
+ dnl
+@@ -354,6 +372,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23
++dnl --------------
+ dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
+ dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
+ dnl ourselves.
+@@ -383,6 +403,8 @@
+ CF_CHECK_EXTERN_DATA($1,int)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
++dnl --------------------
+ dnl Check for existence of external data in the current set of libraries. If
+ dnl we can modify it, it's real enough.
+ dnl $1 = the name to check
+@@ -406,6 +428,8 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
++dnl -----------------
+ dnl Check if the C++ compiler accepts duplicate parameter initialization. This
+ dnl is a late feature for the standard and is not in some recent compilers
+ dnl (1999/9/11).
+@@ -439,6 +463,8 @@
+ test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28
++dnl -----------------
+ dnl Check if the g++ compiler supports vscan function (not a standard feature).
+ AC_DEFUN([CF_CPP_VSCAN_FUNC],
+ [
+@@ -515,9 +541,13 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
++dnl ----------
+ dnl "dirname" is not portable, so we fake it with a shell script.
+-AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's:/[[^/]]*$::'`])dnl
++AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
++dnl ---------------
+ AC_DEFUN([CF_DIRS_TO_MAKE],
+ [
+ DIRS_TO_MAKE="lib"
+@@ -537,12 +567,16 @@
+ AC_SUBST(DIRS_TO_MAKE)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
++dnl --------
+ dnl Check if 'errno' is declared in <errno.h>
+ AC_DEFUN([CF_ERRNO],
+ [
+ CF_CHECK_ERRNO(errno)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
++dnl ---------------
+ dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
+ dnl math.h and builtin.h, only for ncurses
+ AC_DEFUN([CF_ETIP_DEFINES],
+@@ -554,7 +588,7 @@
+ do
+ for cf_excp in "" MATH_EXCEPTION
+ do
+- CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu"
++ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
+ AC_TRY_COMPILE([
+@@ -571,6 +605,8 @@
+ CXXFLAGS="$cf_save_CXXFLAGS"
+ ])
+ dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52
++dnl ---------------
+ dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
+ dnl is found, add our own version of memmove to the list of objects.
+ AC_DEFUN([CF_FUNC_MEMMOVE],
+@@ -600,6 +636,8 @@
+ fi
+ ])])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04
++dnl ------------
+ dnl See if the poll function really works. Some platforms have poll(), but
+ dnl it does not work for terminals or files.
+ AC_DEFUN([CF_FUNC_POLL],[
+@@ -627,6 +665,8 @@
+ test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
++dnl ---------------
+ dnl Some old/broken variations define tcgetattr() only as a macro in
+ dnl termio(s).h
+ AC_DEFUN([CF_FUNC_TERMIOS],[
+@@ -654,6 +694,8 @@
+ test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
++dnl ---------------
+ dnl Check for vsscanf() function, which is in c9x but generally not in earlier
+ dnl versions of C. It is in the GNU C library, and can often be simulated by
+ dnl other functions.
+@@ -697,6 +739,8 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52
++dnl -----------------
+ dnl Test for availability of useful gcc __attribute__ directives to quiet
+ dnl compiler warnings. Though useful, not all are supported -- and contrary
+ dnl to documentation, unrecognized directives cause older compilers to barf.
+@@ -761,8 +805,6 @@
+ if AC_TRY_EVAL(ac_compile); then
+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
+ cat conftest.h >>confdefs.h
+-# else
+-# sed -e 's/__attr.*/\/*nothing*\//' conftest.h >>confdefs.h
+ fi
+ done
+ else
+@@ -772,17 +814,35 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57
++dnl --------------
++dnl Find version of gcc
++AC_DEFUN([CF_GCC_VERSION],[
++AC_REQUIRE([AC_PROG_CC])
++GCC_VERSION=none
++if test "$GCC" = yes ; then
++ AC_MSG_CHECKING(version of $CC)
++ GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
++ test -z "$GCC_VERSION" && GCC_VERSION=unknown
++ AC_MSG_RESULT($GCC_VERSION)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30
++dnl ---------------
+ dnl Check if the compiler supports useful warning options. There's a few that
+ dnl we don't use, simply because they're too noisy:
+ dnl
+ dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
+ dnl -Wredundant-decls (system headers make this too noisy)
+ dnl -Wtraditional (combines too many unrelated messages, only a few useful)
+-dnl -Wwrite-strings (too noisy, but should review occasionally)
++dnl -Wwrite-strings (too noisy, but should review occasionally). This
++dnl is enabled for ncurses using "--enable-const".
+ dnl -pedantic
+ dnl
+ AC_DEFUN([CF_GCC_WARNINGS],
+ [
++AC_REQUIRE([CF_GCC_VERSION])
+ if test "$GCC" = yes
+ then
+ cat > conftest.$ac_ext <<EOF
+@@ -810,8 +870,19 @@
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+ if AC_TRY_EVAL(ac_compile); then
+ test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
++ case $cf_opt in #(vi
++ Wcast-qual) #(vi
++ CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
++ ;;
++ Winline) #(vi
++ case $GCC_VERSION in
++ 3.3*)
++ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
++ continue;;
++ esac
++ ;;
++ esac
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+- test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
+ fi
+ done
+ rm -f conftest*
+@@ -820,6 +891,8 @@
+ AC_SUBST(EXTRA_CFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GNAT_TRY_RUN version: 2 updated: 1998/07/19 00:25:18
++dnl ---------------
+ dnl Verify that a test program compiles and runs with GNAT
+ dnl $cf_ada_make is set to the program that compiles/links
+ AC_DEFUN([CF_GNAT_TRY_RUN],
+@@ -843,21 +916,26 @@
+ rm -f conftest*
+ ])dnl
+ dnl ---------------------------------------------------------------------------
+-dnl Verify Version of GNAT.
++dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09
++dnl ---------------
++dnl Verify version of GNAT.
+ AC_DEFUN([CF_GNAT_VERSION],
+ [
+-cf_cv_gnat_version=`$cf_ada_make -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
+- sed -e 's/[[^0-9 \.]]//g' | $AWK '{print $[1];}'`
+-case $cf_cv_gnat_version in
++AC_MSG_CHECKING(for gnat version)
++cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
++ sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
++AC_MSG_RESULT($cf_gnat_version)
++
++case $cf_gnat_version in
+ 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
+ cf_cv_prog_gnat_correct=yes
+ ;;
+- *) echo Unsupported GNAT version $cf_cv_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
++ *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
+ cf_cv_prog_gnat_correct=no
+ ;;
+ esac
+-case $cf_cv_gnat_version in
+- 3.1*|[[4-9]].*)
++case $cf_gnat_version in
++ 3.[[1-9]]*|[[4-9]].*)
+ cf_compile_generics=generics
+ cf_generic_objects="\$(GENOBJS)"
+ ;;
+@@ -867,6 +945,8 @@
+ esac
+ ])
+ dnl ---------------------------------------------------------------------------
++dnl CF_GNU_SOURCE version: 3 updated: 2000/10/29 23:30:53
++dnl -------------
+ dnl Check if we must define _GNU_SOURCE to get a reasonable value for
+ dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
+ dnl (or misfeature) of glibc2, which breaks portability of many applications,
+@@ -895,6 +975,8 @@
+ test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46
++dnl --------------
+ dnl If we're trying to use g++, test if libg++ is installed (a rather common
+ dnl problem :-). If we have the compiler but no library, we'll be able to
+ dnl configure, but won't be able to build the c++ demo program.
+@@ -909,7 +991,7 @@
+ cf_gpp_libname=g++
+ ;;
+ esac
+-if test "$ac_cv_prog_gxx" = yes; then
++if test "$GXX" = yes; then
+ AC_MSG_CHECKING([for lib$cf_gpp_libname])
+ cf_save="$LIBS"
+ LIBS="$LIBS -l$cf_gpp_libname"
+@@ -937,20 +1019,37 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_GXX_VERSION version: 3 updated: 2003/09/06 19:16:21
++dnl --------------
++dnl Check for version of g++
++AC_DEFUN([CF_GXX_VERSION],[
++AC_REQUIRE([AC_PROG_CPP])
++GXX_VERSION=none
++if test "$GXX" = yes; then
++ AC_MSG_CHECKING(version of g++)
++ GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`"
++ AC_MSG_RESULT($GXX_VERSION)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
++dnl ---------------
+ dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
+ AC_DEFUN([CF_HELP_MESSAGE],
+ [AC_DIVERT_HELP([$1])dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
++dnl ---------------
+ dnl Construct the list of include-options according to whether we're building
+ dnl in the source directory or using '--srcdir=DIR' option. If we're building
+ dnl with gcc, don't append the includedir if it happens to be /usr/include,
+ dnl since that usually breaks gcc's shadow-includes.
+ AC_DEFUN([CF_INCLUDE_DIRS],
+ [
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
++ CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
+ fi
+ if test "$GCC" != yes; then
+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
+@@ -966,6 +1065,8 @@
+ AC_SUBST(CPPFLAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
++dnl ----------
+ dnl Check if we have either a function or macro for 'isascii()'.
+ AC_DEFUN([CF_ISASCII],
+ [
+@@ -979,6 +1080,8 @@
+ test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
++dnl ----------
+ dnl Check for libutf8
+ AC_DEFUN([CF_LIBUTF8],
+ [
+@@ -998,6 +1101,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48
++dnl -------------
+ dnl Compute the library-prefix for the given host system
+ dnl $1 = variable to set
+ AC_DEFUN([CF_LIB_PREFIX],
+@@ -1011,6 +1116,8 @@
+ AC_SUBST(LIB_PREFIX)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LIB_RULES version: 29 updated: 2003/07/19 16:05:52
++dnl ------------
+ dnl Append definitions and rules for the given models to the subdirectory
+ dnl Makefiles, and the recursion rule for the top-level Makefile. If the
+ dnl subdirectory is a library-source directory, modify the LIBRARIES list in
+@@ -1054,8 +1161,10 @@
+ esac
+ fi
+ # cygwin needs import library, and has unique naming convention
++ # use autodetected ${cf_prefix} for import lib and static lib, but
++ # use 'cyg' prefix for shared lib.
+ if test $cf_cv_shlib_version = cygdll ; then
+- SHARED_LIB="../lib/${cf_prefix}${cf_dir}\$(ABI_VERSION).dll"
++ SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
+ IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
+ LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
+ continue
+@@ -1070,7 +1179,7 @@
+ termlib+*) #(vi
+ ;;
+ *) #(vi
+- cf_item=`echo $LIBS_TO_MAKE |sed -e s/$LIB_NAME/$TINFO_NAME/g`
++ cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g`
+ LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
+ ;;
+ esac
+@@ -1128,7 +1237,7 @@
+ ldconfig="$LDCONFIG" \
+ overwrite=$WITH_OVERWRITE \
+ depend="$cf_depend" \
+- target="$target" \
++ host="$host" \
+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
+ for cf_subdir2 in $cf_subdirs lib
+ do
+@@ -1364,6 +1473,8 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LIB_SUFFIX version: 12 updated: 2002/01/20 01:43:41
++dnl -------------
+ dnl Compute the library file-suffix from the given model name
+ dnl $1 = model name
+ dnl $2 = variable to set
+@@ -1387,6 +1498,8 @@
+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
++dnl -----------
+ dnl Compute the string to append to -library from the given model name
+ dnl $1 = model name
+ dnl $2 = variable to set
+@@ -1403,6 +1516,8 @@
+ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46
++dnl ----------------
+ dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
+ dnl only data (i.e., no functions), for example NeXT. On those systems we'll
+ dnl have to provide wrappers for global tables to ensure they're linked
+@@ -1418,7 +1533,7 @@
+ EOF
+ if AC_TRY_EVAL(ac_compile) ; then
+ mv conftest.o data.o && \
+- ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null
++ ( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
+ fi
+ rm -f conftest.$ac_ext data.o
+ cat >conftest.$ac_ext <<EOF
+@@ -1437,10 +1552,10 @@
+ EOF
+ if AC_TRY_EVAL(ac_compile); then
+ mv conftest.o func.o && \
+- ( $AR $AR_OPTS conftest.a func.o ) 2>&5 1>/dev/null
++ ( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
+ fi
+ rm -f conftest.$ac_ext func.o
+- ( eval $ac_cv_prog_RANLIB conftest.a ) 2>&5 >/dev/null
++ ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
+ cf_saveLIBS="$LIBS"
+ LIBS="conftest.a $LIBS"
+ AC_TRY_RUN([
+@@ -1464,6 +1579,8 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46
++dnl -------------
+ dnl Most Unix systems have both link and symlink, a few don't have symlink.
+ dnl A few non-Unix systems implement symlink, but not link.
+ dnl A few non-systems implement neither (or have nonfunctional versions).
+@@ -1473,7 +1590,7 @@
+ remove \
+ unlink )
+
+-if test "$ac_cv_prog_cc_cross" = yes ; then
++if test "$cross_compiling" = yes ; then
+ AC_CHECK_FUNCS( \
+ link \
+ symlink )
+@@ -1519,6 +1636,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27
++dnl ------------
+ dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
+ dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
+ dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
+@@ -1556,6 +1675,8 @@
+ AC_SUBST(cf_cv_makeflags)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
++dnl ------------
+ dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
+ dnl a monocase filesystem.
+ AC_DEFUN([CF_MAKE_TAGS],[
+@@ -1583,6 +1704,8 @@
+ AC_SUBST(MAKE_LOWER_TAGS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MANPAGE_FORMAT version: 6 updated: 2002/01/19 22:51:32
++dnl -----------------
+ dnl Option to allow user to override automatic configuration of manpage format.
+ dnl There are several special cases.
+ AC_DEFUN([CF_MANPAGE_FORMAT],
+@@ -1635,6 +1758,8 @@
+ AC_MSG_RESULT($MANPAGE_FORMAT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MANPAGE_RENAMES version: 6 updated: 2002/01/19 22:51:32
++dnl ------------------
+ dnl The Debian people have their own naming convention for manpages. This
+ dnl option lets us override the name of the file containing renaming, or
+ dnl disable it altogether.
+@@ -1680,6 +1805,8 @@
+ AC_SUBST(MANPAGE_RENAMES)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MANPAGE_SYMLINKS version: 3 updated: 2002/01/19 22:51:32
++dnl -------------------
+ dnl Some people expect each tool to make all aliases for manpages in the
+ dnl man-directory. This accommodates the older, less-capable implementations
+ dnl of 'man', and is optional.
+@@ -1695,6 +1822,8 @@
+ AC_MSG_RESULT($MANPAGE_SYMLINKS)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
++dnl --------------
+ dnl This option causes manpages to be run through tbl(1) to generate tables
+ dnl correctly.
+ AC_DEFUN([CF_MANPAGE_TBL],
+@@ -1709,6 +1838,8 @@
+ AC_MSG_RESULT($MANPAGE_TBL)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MAN_PAGES version: 23 updated: 2002/12/21 22:46:07
++dnl ------------
+ dnl Try to determine if the man-pages on the system are compressed, and if
+ dnl so, what format is used. Use this information to construct a script that
+ dnl will install man-pages.
+@@ -1888,7 +2019,7 @@
+ ;;
+ esac
+ cat >>man/edit_man.sh <<CF_EOF
+- suffix=\`basename \$target | sed -e 's/^[[^.]]*//'\`
++ suffix=\`basename \$target | sed -e 's%^[[^.]]*%%'\`
+ if test \$verb = installing ; then
+ echo \$verb \$target
+ \$INSTALL_DATA \$TMP \$target
+@@ -1947,6 +2078,8 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
++dnl -----------
+ dnl Checks for libraries. At least one UNIX system, Apple Macintosh
+ dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
+ dnl AC_CHECK_LIB(m,sin), because that fails for C++.
+@@ -1969,37 +2102,8 @@
+ fi
+ ])
+ dnl ---------------------------------------------------------------------------
+-dnl Check if mbstate_t is declared, and if so, which header file.
+-AC_DEFUN([CF_MBSTATE_T],
+-[
+-# This is needed on Tru64 5.0 to declare mbstate_t
+-AC_CACHE_CHECK(if we must include wchar.h to declare mbstate_t,cf_cv_mbstate_t,[
+-AC_TRY_COMPILE([
+-#include <stdlib.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
+-#endif],
+- [mbstate_t state],
+- [cf_cv_mbstate_t=no],
+- [AC_TRY_COMPILE([
+-#include <stdlib.h>
+-#include <wchar.h>
+-#ifdef HAVE_LIBUTF8_H
+-#include <libutf8.h>
+-#endif],
+- [mbstate_t value],
+- [cf_cv_mbstate_t=yes],
+- [cf_cv_mbstate_t=unknown])])])
+-
+-if test "$cf_cv_mbstate_t" = yes ; then
+- AC_DEFINE(NEED_WCHAR_H)
+-fi
+-
+-if test "$cf_cv_mbstate_t" != unknown ; then
+- AC_DEFINE(HAVE_MBSTATE_T)
+-fi
+-])dnl
+-dnl ---------------------------------------------------------------------------
++dnl CF_MIXEDCASE_FILENAMES version: 2 updated: 2000/10/04 09:18:40
++dnl ----------------------
+ dnl Check if the file-system supports mixed-case filenames. If we're able to
+ dnl create a lowercase name and see it as uppercase, it doesn't support that.
+ AC_DEFUN([CF_MIXEDCASE_FILENAMES],
+@@ -2017,6 +2121,8 @@
+ test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59
++dnl ----------
+ dnl Check for a working mkstemp. This creates two files, checks that they are
+ dnl successfully created and distinct (AmigaOS apparently fails on the last).
+ AC_DEFUN([CF_MKSTEMP],[
+@@ -2065,6 +2171,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
++dnl -------------
+ dnl Compute the object-directory name from the given model name
+ AC_DEFUN([CF_OBJ_SUBDIR],
+ [
+@@ -2083,6 +2191,8 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
++dnl ----------
+ dnl Provide a value for the $PATH and similar separator
+ AC_DEFUN([CF_PATHSEP],
+ [
+@@ -2094,6 +2204,8 @@
+ AC_SUBST(PATHSEP)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
++dnl --------------
+ dnl Check the argument to see that it looks like a pathname. Rewrite it if it
+ dnl begins with one of the prefix/exec_prefix variables, and then again if the
+ dnl result begins with 'NONE'. This is necessary to work around autoconf's
+@@ -2123,6 +2235,41 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56
++dnl ------------
++dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
++dnl
++dnl $1 = symbol to test
++dnl $2 = value (if any) to use for a predefinition
++AC_DEFUN([CF_PREDEFINE],
++[
++AC_MSG_CHECKING(if we must define $1)
++AC_TRY_COMPILE([#include <sys/types.h>
++],[
++#ifndef $1
++make an error
++#endif],[cf_result=no],[cf_result=yes])
++AC_MSG_RESULT($cf_result)
++
++if test "$cf_result" = yes ; then
++ CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])"
++elif test "x$2" != "x" ; then
++ AC_MSG_CHECKING(checking for compatible value versus $2)
++ AC_TRY_COMPILE([#include <sys/types.h>
++],[
++#if $1-$2 < 0
++make an error
++#endif],[cf_result=yes],[cf_result=no])
++ AC_MSG_RESULT($cf_result)
++ if test "$cf_result" = no ; then
++ # perhaps we can override it - try...
++ CPPFLAGS="$CPPFLAGS -D$1=$2"
++ fi
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_PROG_EXT version: 8 updated: 2002/12/21 19:25:52
++dnl -----------
+ dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
+ AC_DEFUN([CF_PROG_EXT],
+ [
+@@ -2134,7 +2281,7 @@
+ CFLAGS="$CFLAGS -Zmt"
+ CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+ CXXFLAGS="$CXXFLAGS -Zmt"
+- LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed "s/-Zexe//g"`
++ LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed -e "s%-Zexe%%g"`
+ PROG_EXT=".exe"
+ ;;
+ cygwin*)
+@@ -2145,6 +2292,8 @@
+ test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
++dnl ---------------
+ dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
+ dnl misc/tabset install won't work properly. Usually this happens only when
+ dnl using the fallback mkinstalldirs script
+@@ -2156,11 +2305,13 @@
+ *)
+ CF_DIRNAME(cf_dir,$INSTALL)
+ test -z "$cf_dir" && cf_dir=.
+- INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's:^.*/::'`
++ INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
+ ;;
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
++dnl --------
+ dnl Attempt to determine if we've got one of the flavors of regular-expression
+ dnl code that we can support.
+ AC_DEFUN([CF_REGEX],
+@@ -2193,6 +2344,8 @@
+ esac
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_SHARED_OPTS version: 29 updated: 2003/07/12 15:15:19
++dnl --------------
+ dnl Attempt to determine the appropriate CC/LD options for creating a shared
+ dnl library.
+ dnl
+@@ -2303,7 +2456,7 @@
+ MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
+ cf_cv_rm_so_locs=yes
+ ;;
+- linux*|gnu*)
++ linux*|gnu*|k*bsd*-gnu)
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+@@ -2364,7 +2517,7 @@
+ ;;
+ sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98
+ # tested with osr5.0.5
+- if test "$ac_cv_prog_gcc" != yes; then
++ if test "$GCC" != yes; then
+ CC_SHARED_OPTS='-belf -KPIC'
+ fi
+ MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
+@@ -2378,7 +2531,7 @@
+ ;;
+ sunos4*)
+ # tested with SunOS 4.1.1 and gcc 2.7.0
+- if test "$ac_cv_prog_gcc" != yes; then
++ if test "$GCC" != yes; then
+ CC_SHARED_OPTS='-KPIC'
+ fi
+ MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
+@@ -2386,7 +2539,7 @@
+ ;;
+ solaris2*)
+ # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
+- if test "$ac_cv_prog_gcc" != yes; then
++ if test "$GCC" != yes; then
+ CC_SHARED_OPTS='-KPIC'
+ fi
+ MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
+@@ -2402,7 +2555,7 @@
+ ;;
+ sysv5uw7*|unix_sv*)
+ # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
+- if test "$ac_cv_prog_gcc" != yes; then
++ if test "$GCC" != yes; then
+ CC_SHARED_OPTS='-KPIC'
+ fi
+ MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
+@@ -2449,6 +2602,8 @@
+ AC_SUBST(INSTALL_LIB)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
++dnl -------------
+ dnl Check for definitions & structures needed for window size-changing
+ dnl FIXME: check that this works with "snake" (HP-UX 10.x)
+ AC_DEFUN([CF_SIZECHANGE],
+@@ -2517,6 +2672,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_SRC_MODULES version: 14 updated: 2002/01/19 22:51:32
++dnl --------------
+ dnl For each parameter, test if the source-directory exists, and if it contains
+ dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
+ dnl use in CF_LIB_RULES.
+@@ -2614,6 +2771,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52
++dnl -----------------
+ dnl Check for -lstdc++, which is GNU's standard C++ library.
+ AC_DEFUN([CF_STDCPP_LIBRARY],
+ [
+@@ -2642,10 +2801,14 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
++dnl --------------
+ dnl Remove "-g" option from the compiler options
+ AC_DEFUN([CF_STRIP_G_OPT],
+-[$1=`echo ${$1} | sed -e 's/-g //' -e 's/-g$//'`])dnl
++[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
++dnl -------------------
+ dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
+ dnl do this if we've found the sigaction function.
+ dnl
+@@ -2671,6 +2834,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
++dnl -----------------
+ dnl Some machines require _POSIX_SOURCE to completely define struct termios.
+ dnl If so, define SVR4_TERMIO
+ AC_DEFUN([CF_STRUCT_TERMIOS],[
+@@ -2705,6 +2870,8 @@
+ fi
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28
++dnl --------
+ dnl Shorthand macro for substituting things that the user may override
+ dnl with an environment variable.
+ dnl
+@@ -2721,6 +2888,8 @@
+ $2=${cf_cv_subst_$2}
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51
++dnl ------------------------
+ dnl Get the version-number for use in shared-library naming, etc.
+ AC_DEFUN([CF_SUBST_NCURSES_VERSION],
+ [
+@@ -2739,12 +2908,13 @@
+ dnl We need these values in the generated makefiles
+ AC_SUBST(cf_cv_rel_version)
+ AC_SUBST(cf_cv_abi_version)
+-AC_SUBST(cf_cv_cc_bool_type)
+ AC_SUBST(cf_cv_builtin_bool)
+ AC_SUBST(cf_cv_header_stdbool_h)
+ AC_SUBST(cf_cv_type_of_bool)dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
++dnl ------------------
+ dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
+ dnl older SCO configurations.
+ AC_DEFUN([CF_SYS_TIME_SELECT],
+@@ -2766,6 +2936,8 @@
+ test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_TYPEOF_CHTYPE version: 4 updated: 2000/10/04 09:18:40
++dnl ----------------
+ dnl Determine the type we should use for chtype (and attr_t, which is treated
+ dnl as the same thing). We want around 32 bits, so on most machines want a
+ dnl long, but on newer 64-bit machines, probably want an int. If we're using
+@@ -2835,6 +3007,8 @@
+
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
++dnl -----------------
+ dnl
+ AC_DEFUN([CF_TYPE_SIGACTION],
+ [
+@@ -2849,6 +3023,8 @@
+ test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
++dnl --------------------
+ dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers
+ dnl won't, but they're still there.
+ AC_DEFUN([CF_UNSIGNED_LITERALS],
+@@ -2862,6 +3038,8 @@
+ AC_MSG_RESULT($cf_cv_unsigned_literals)
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
++dnl --------
+ dnl Make an uppercase version of a variable
+ dnl $1=uppercase($2)
+ AC_DEFUN([CF_UPPER],
+@@ -2869,11 +3047,184 @@
+ $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
++dnl ----------
+ dnl Use AC_VERBOSE w/o the warnings
+ AC_DEFUN([CF_VERBOSE],
+ [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_WCHAR_TYPE version: 1 updated: 2003/03/22 19:13:43
++dnl -------------
++dnl Check if type wide-character type $1 is declared, and if so, which header
++dnl file is needed. The second parameter is used to set a shell variable when
++dnl the type is not found. The first parameter sets a shell variable for the
++dnl opposite sense.
++AC_DEFUN([CF_WCHAR_TYPE],
++[
++# This is needed on Tru64 5.0 to declare $1
++AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
++AC_TRY_COMPILE([
++#include <stdlib.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif],
++ [$1 state],
++ [cf_cv_$1=no],
++ [AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif],
++ [$1 value],
++ [cf_cv_$1=yes],
++ [cf_cv_$1=unknown])])])
++
++if test "$cf_cv_$1" = yes ; then
++ AC_DEFINE(NEED_WCHAR_H)
++ NEED_WCHAR_H=1
++fi
++
++ifelse($2,,,[
++# if we do not find $1 in either place, use substitution to provide a fallback.
++if test "$cf_cv_$1" = unknown ; then
++ $2=1
++fi
++])
++ifelse($3,,,[
++# if we find $1 in either place, use substitution to provide a fallback.
++if test "$cf_cv_$1" != unknown ; then
++ $3=1
++fi
++])
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_DBMALLOC version: 2 updated: 2002/12/29 21:11:45
++dnl ----------------
++dnl Configure-option for dbmalloc
++AC_DEFUN([CF_WITH_DBMALLOC],[
++AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
++AC_ARG_WITH(dbmalloc,
++ [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
++ [with_dbmalloc=$withval],
++ [with_dbmalloc=no])
++AC_MSG_RESULT($with_dbmalloc)
++if test $with_dbmalloc = yes ; then
++ AC_CHECK_LIB(dbmalloc,debug_malloc)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_DMALLOC version: 2 updated: 2002/12/29 21:11:45
++dnl ---------------
++dnl Configure-option for dmalloc
++AC_DEFUN([CF_WITH_DMALLOC],[
++AC_MSG_CHECKING(if you want to link with dmalloc for testing)
++AC_ARG_WITH(dmalloc,
++ [ --with-dmalloc test: use Gray Watson's dmalloc library],
++ [with_dmalloc=$withval],
++ [with_dmalloc=no])
++AC_MSG_RESULT($with_dmalloc)
++if test $with_dmalloc = yes ; then
++ AC_CHECK_LIB(dmalloc,dmalloc_debug)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_LIBTOOL version: 8 updated: 2003/09/06 19:15:56
++dnl ---------------
++dnl Provide a configure option to incorporate libtool. Define several useful
++dnl symbols for the makefile rules.
++AC_DEFUN([CF_WITH_LIBTOOL],
++[
++LIBTOOL=
++
++# common library maintenance symbols that are convenient for libtool scripts:
++LIB_CREATE='$(AR) -cr'
++LIB_OBJECT='$(OBJECTS)'
++LIB_SUFFIX=.a
++LIB_PREP="$RANLIB"
++
++# symbols used to prop libtool up to enable it to determine what it should be
++# doing:
++LIB_CLEAN=
++LIB_COMPILE=
++LIB_LINK=
++LIB_INSTALL=
++LIB_UNINSTALL=
++
++AC_MSG_CHECKING(if you want to build libraries with libtool)
++AC_ARG_WITH(libtool,
++ [ --with-libtool generate libraries with libtool],
++ [with_libtool=$withval],
++ [with_libtool=no])
++AC_MSG_RESULT($with_libtool)
++if test "$with_libtool" != "no"; then
++ if test "$with_libtool" != "yes" ; then
++ CF_PATH_SYNTAX(with_libtool)
++ LIBTOOL=$with_libtool
++ else
++ AC_PATH_PROG(LIBTOOL,libtool)
++ fi
++ if test -z "$LIBTOOL" ; then
++ AC_MSG_ERROR(Cannot find libtool)
++ fi
++
++ LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
++ LIB_OBJECT='$(OBJECTS:.o=.lo)'
++ LIB_SUFFIX=.la
++ LIB_CLEAN='$(LIBTOOL) --mode=clean'
++ LIB_COMPILE='$(LIBTOOL) --mode=compile'
++ LIB_LINK='$(LIBTOOL) --mode=link'
++ LIB_INSTALL='$(LIBTOOL) --mode=install'
++ LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
++ LIB_PREP=:
++
++ # Show the version of libtool
++ AC_MSG_CHECKING(version of libtool)
++
++ # Save the version in a cache variable - this is not entirely a good
++ # thing, but the version string from libtool is very ugly, and for
++ # bug reports it might be useful to have the original string.
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
++ AC_MSG_RESULT($cf_cv_libtool_version)
++ if test -z "$cf_cv_libtool_version" ; then
++ AC_MSG_ERROR(This is not libtool)
++ fi
++
++ # special hack to add --tag option for C++ compiler
++ case $cf_cv_libtool_version in
++ 1.[[5-9]]*|[[2-9]]*)
++ LIBTOOL_CXX="$LIBTOOL --tag=CXX"
++ ;;
++ *)
++ LIBTOOL_CXX="$LIBTOOL"
++ ;;
++ esac
++else
++ LIBTOOL=""
++ LIBTOOL_CXX=""
++fi
++
++test -z "$LIBTOOL" && ECHO_LT=
++
++AC_SUBST(LIBTOOL)
++AC_SUBST(LIBTOOL_CXX)
++
++AC_SUBST(LIB_CREATE)
++AC_SUBST(LIB_OBJECT)
++AC_SUBST(LIB_SUFFIX)
++AC_SUBST(LIB_PREP)
++
++AC_SUBST(LIB_CLEAN)
++AC_SUBST(LIB_COMPILE)
++AC_SUBST(LIB_LINK)
++AC_SUBST(LIB_INSTALL)
++AC_SUBST(LIB_UNINSTALL)
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17
++dnl ------------
+ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
+ dnl defaulting to yes/no.
+ dnl
+@@ -2891,6 +3242,8 @@
+ AC_SUBST($3)dnl
+ ])dnl
+ dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30
++dnl ----------------
+ dnl Process an option specifying a list of colon-separated paths.
+ dnl
+ dnl $1 = option name
+@@ -2930,3 +3283,33 @@
+ AC_SUBST($3)dnl
+
+ ])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
++dnl ----------------
++dnl If we can compile with sysmouse, make it available unless it is not wanted.
++AC_DEFUN([CF_WITH_SYSMOUSE],[
++# not everyone has "test -c"
++if test -c /dev/sysmouse 2>/dev/null ; then
++AC_MSG_CHECKING(if you want to use sysmouse)
++AC_ARG_WITH(sysmouse,
++ [ --with-sysmouse use sysmouse (FreeBSD console)],
++ [cf_with_sysmouse=$withval],
++ [cf_with_sysmouse=maybe])
++ if test "$cf_with_sysmouse" != no ; then
++ AC_TRY_COMPILE([
++#include <osreldate.h>
++#if (__FreeBSD_version >= 400017)
++#include <sys/consio.h>
++#include <sys/fbio.h>
++#else
++#include <machine/console.h>
++#endif
++],[
++ struct mouse_info the_mouse;
++ ioctl(0, CONS_MOUSECTL, &the_mouse);
++],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
++ fi
++AC_MSG_RESULT($cf_with_sysmouse)
++test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
++fi
++])dnl
+diff -urNd -urNd ncurses-5.3/announce.html.in ncurses-5.3.20030906.orig/announce.html.in
+--- ncurses-5.3/announce.html.in Sat Oct 12 18:35:32 2002
++++ ncurses-5.3.20030906.orig/announce.html.in Tue May 13 20:08:22 2003
+@@ -1,11 +1,12 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
+ <!--
+- $Id: announce.html.in,v 1.44 2002/10/12 23:35:32 tom Exp $
++ $Id: announce.html.in,v 1.48 2002/10/19 21:46:46 tom Exp $
+ -->
+ <HTML>
+ <HEAD>
+-<TITLE>Announcing ncurses @VERSION@ Pre-Release</TITLE>
++<TITLE>Announcing ncurses @VERSION@</TITLE>
+ <link rev=made href="mailto:bug-ncurses@gnu.org">
++<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ </HEAD>
+ <BODY>
+
+@@ -35,9 +36,9 @@
+
+ The ncurses distribution is available via anonymous FTP at
+ the GNU distribution site
+-<A HREF="ftp://ftp.gnu.org/pub/gnu/ncurses">ftp://ftp.gnu.org/pub/gnu/ncurses</A>.
++<A HREF="ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</A>&nbsp;.
+ <br>It is also available at
+-<A HREF="ftp://invisible-island.net/ncurses">ftp://invisible-island.net/ncurses</A>.
++<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A>&nbsp;.
+
+ <H1>Release Notes</H1>
+
+@@ -317,61 +318,61 @@
+ <DT> cdk
+ <DD> Curses Development Kit
+ <br>
+-<A HREF="http://invisible-island.net/cdk/cdk.html">http://invisible-island.net/cdk</A>.
++<A HREF="http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</A>
+ <br>
+-<A HREF="http://www.vexus.ca/CDK.html">http://www.vexus.ca/CDK.html</a>
++<A HREF="http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a>
+ <DT> ded
+ <DD> directory-editor
+ <br>
+-<A HREF="http://invisible-island.net/ded/ded.html">http://invisible-island.net/ded</A>.
++<A HREF="http://invisible-island.net/ded/">http://invisible-island.net/ded/</A>
+ <DT> dialog
+ <DD> the underlying application used in Slackware's setup, and the basis
+ for similar applications on GNU/Linux.
+ <br>
+-<A HREF="http://invisible-island.net/dialog/dialog.html">http://invisible-island.net/dialog</A>.
++<A HREF="http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</A>
+ <DT> lynx
+ <DD> the character-screen WWW browser
+ <br>
+-<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release</A>.
++<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release/</A>
+ <DT> Midnight Commander
+ <DD> file manager
+ <br>
+-<A HREF="www.gnome.org/mc/">www.gnome.org/mc/</A>.
++<A HREF="http://www.ibiblio.org/mc/">http://www.ibiblio.org/mc/</A>
+ <DT> mutt
+ <DD> mail utility
+ <br>
+-<A HREF="http://www.mutt.org">http://www.mutt.org</A>.
++<A HREF="http://www.mutt.org/">http://www.mutt.org/</A>
+ <DT> ncftp
+ <DD> file-transfer utility
+ <br>
+-<A HREF="http://www.ncftp.com">http://www.ncftp.com</A>.
++<A HREF="http://www.ncftp.com/">http://www.ncftp.com/</A>
+ <DT> nvi
+ <DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
+ <br>
+-<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>.
++<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>
+ <DT> tin
+ <DD> newsreader, supporting color, MIME
+ <br>
+-<A HREF="http://www.tin.org">http://www.tin.org</A>.
++<A HREF="http://www.tin.org/">http://www.tin.org/</A>
+ <DT> taper
+ <DD> tape archive utility
+ <br>
+-<A HREF="http://members.iinet.net.au/~yusuf/taper/">http://members.iinet.net.au/~yusuf/taper/</A>.
++<A HREF="http://taper.e-survey.net.au/">http://taper.e-survey.net.au/</A>
+ <DT> vh-1.6
+ <DD> Volks-Hypertext browser for the Jargon File
+ <br>
+-<A HREF="http://www.bg.debian.org/Packages/unstable/text/vh.html">http://www.bg.debian.org/Packages/unstable/text/vh.html</A>.
++<A HREF="http://www.debian.org/Packages/unstable/text/vh.html">http://www.debian.org/Packages/unstable/text/vh.html</A>
+ </DL>
+ as well as some that use ncurses for the terminfo support alone:
+ <DL>
+ <DT> minicom
+ <DD> terminal emulator
+ <br>
+-<A HREF="http://www.pp.clinet.fi/~walker/minicom.html">http://www.pp.clinet.fi/~walker/minicom.html</A>.
++<A HREF="http://www.netsonic.fi/~walker/minicom.html">http://www.netsonic.fi/~walker/minicom.html</A>
+ <DT> vile
+ <DD> vi-like-emacs
+ <br>
+-<A HREF="http://invisible-island.net/vile/vile.html">http://invisible-island.net/vile</A>.
++<A HREF="http://invisible-island.net/vile/">http://invisible-island.net/vile/</A>
+ </DL>
+ <P>
+
+@@ -382,7 +383,7 @@
+
+ The original developers of ncurses are <A
+ HREF="mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</A> and
+-<A HREF="http://www.ccil.org/~esr/home.html">Eric S. Raymond</A>.
++<A HREF="http://www.tuxedo.org/~esr/">Eric S. Raymond</A>.
+ Ongoing work is being done by
+ <A HREF="mailto:dickey@herndon4.his.com">Thomas Dickey</A>
+ and
+@@ -404,7 +405,7 @@
+ testing of this package.<P>
+
+ Beta versions of ncurses and patches to the current release are made available at
+-<A HREF="ftp://invisible-island.net/ncurses">ftp://invisible-island.net/ncurses</A>.
++<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A>&nbsp;.
+
+ <H2>Future Plans</H2>
+ <UL>
+@@ -418,12 +419,12 @@
+
+ The distribution includes and uses a version of the terminfo-format
+ terminal description file maintained by Eric Raymond.
+-<A HREF="http://earthspace.net/~esr/terminfo">http://earthspace.net/~esr/terminfo</A>.<P>
++<A HREF="http://www.tuxedo.org/~esr/terminfo/">http://www.tuxedo.org/~esr/terminfo/</A>&nbsp;.<P>
+
+ You can find lots of information on terminal-related topics
+ not covered in the terminfo file at
+ <A HREF="http://www.cs.utk.edu/~shuford/terminal_index.html">Richard Shuford's
+-archive</A>.
++archive</A>&nbsp;.
+ </BODY>
+ </HTML>
+ <!--
+diff -urNd -urNd ncurses-5.3/c++/Makefile.in ncurses-5.3.20030906.orig/c++/Makefile.in
+--- ncurses-5.3/c++/Makefile.in Sat Jan 19 14:25:31 2002
++++ ncurses-5.3.20030906.orig/c++/Makefile.in Fri Sep 12 16:42:40 2003
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.64 2002/01/19 20:25:31 NIIBE.Yutaka Exp $
++# $Id: Makefile.in,v 1.69 2003/08/24 00:19:44 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -48,7 +48,12 @@
+ libdir = @libdir@
+ includedir = @includedir@
+
+-LIBTOOL = @LIBTOOL@
++LIBTOOL = @LIBTOOL_CXX@
++LIBTOOL_CLEAN = @LIB_CLEAN@
++LIBTOOL_COMPILE = @LIB_COMPILE@
++LIBTOOL_LINK = @LIB_LINK@
++LIBTOOL_INSTALL = @LIB_INSTALL@
++LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
+
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+@@ -58,7 +63,7 @@
+
+ CXX_AR = @CXX_AR@
+ CXX_AR_OPTS = @CXX_AR_OPTS@
+-RANLIB = @RANLIB@
++RANLIB = @LIB_PREP@
+
+ CXX = @CXX@
+ CPP = @CPP@
+@@ -83,7 +88,9 @@
+ REL_VERSION = @cf_cv_rel_version@
+ ABI_VERSION = @cf_cv_abi_version@
+
+-LINK = @LINK_PROGS@ $(LIBTOOL) $(CXX) @CXXLDFLAGS@
++LINK = @LINK_PROGS@ $(LIBTOOL_LINK) $(CXX) @CXXLDFLAGS@
++SHLIB_DIRS = -L../lib
++SHLIB_LIST = $(SHLIB_DIRS) -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
+
+ LIBROOT = ncurses++
+
+@@ -102,11 +109,11 @@
+ LDFLAGS = @TEST_ARGS@ @LDFLAGS@ \
+ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
+
+-LDFLAGS_LIBTOOL = $(LDFLAGS)
+-LDFLAGS_NORMAL = $(LDFLAGS)
+-LDFLAGS_DEBUG = $(LDFLAGS) @CC_G_OPT@
+-LDFLAGS_PROFILE = $(LDFLAGS) -pg
+-LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
++LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
++LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
++LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
++LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
++LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+ LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
+
+@@ -140,9 +147,9 @@
+ $(RANLIB) $@
+
+ ../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS)
+- cd ../lib && $(LIBTOOL) $(CXX) -o $(LIBNAME) $(LIB_OBJS:.o=.lo) \
++ cd ../lib && $(LIBTOOL_LINK) $(CXX) -o $(LIBNAME) $(LIB_OBJS:.o=.lo) \
+ -rpath $(INSTALL_PREFIX)$(libdir) \
+- -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR)
++ -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)
+
+ OBJS_DEMO = $(MODEL)/demo.o
+
+@@ -163,18 +170,18 @@
+
+ install \
+ install.libs:: ../lib/$(LIBNAME) $(DESTDIR)$(libdir)
+- $(LIBTOOL) $(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME)
++ $(LIBTOOL_INSTALL) $(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME)
+
+ uninstall \
+ uninstall.libs::
+- -$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
++ -$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
+
+ mostlyclean ::
+ -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
+
+ clean :: mostlyclean
+ -rm -rf $(MODEL)/SunWS_cache
+- -$(LIBTOOL) rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(LIB_OBJS:.o=.lo) $(OBJS_DEMO)
++ -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(LIB_OBJS:.o=.lo) $(OBJS_DEMO)
+ -rm -rf .libs
+
+ distclean :: clean
+diff -urNd -urNd ncurses-5.3/c++/cursesmain.cc ncurses-5.3.20030906.orig/c++/cursesmain.cc
+--- ncurses-5.3/c++/cursesmain.cc Sat Jul 6 10:47:52 2002
++++ ncurses-5.3.20030906.orig/c++/cursesmain.cc Sun Jul 20 14:02:08 2003
+@@ -1,6 +1,6 @@
+ // * this is for making emacs happy: -*-Mode: C++;-*-
+ /****************************************************************************
+- * Copyright (c) 1998,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,14 +35,22 @@
+ #include "internal.h"
+ #include "cursesapp.h"
+
+-MODULE_ID("$Id: cursesmain.cc,v 1.9 2002/07/06 15:47:52 juergen Exp $")
++MODULE_ID("$Id: cursesmain.cc,v 1.10 2003/06/07 23:39:54 tom Exp $")
++
++#if HAVE_LOCALE_H
++#include <locale.h>
++#else
++#define setlocale(name,string) /* nothing */
++#endif
+
+ /* This is the default implementation of main() for a NCursesApplication.
+ * You only have to instantiate a static NCursesApplication object in your
+ * main application source file and link this module with your application.
+- */
++ */
+ int main(int argc, char* argv[])
+ {
++ setlocale(LC_ALL, "");
++
+ NCursesApplication* A = NCursesApplication::getApplication();
+ if (!A)
+ return(1);
+diff -urNd -urNd ncurses-5.3/config.guess ncurses-5.3.20030906.orig/config.guess
+--- ncurses-5.3/config.guess Sat Aug 31 14:53:33 2002
++++ ncurses-5.3.20030906.orig/config.guess Sun Jul 20 14:02:09 2003
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002 Free Software Foundation, Inc.
++# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+-timestamp='2002-08-23'
++timestamp='2003-07-02'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -98,30 +98,32 @@
+ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+ # use `HOST_CC' if defined, but it is deprecated.
+
+-# This shell variable is my proudest work .. or something. --bje
++# Portable tmp directory creation inspired by the Autoconf team.
+
+-set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ;
+-(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old)
+- || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ;
+-dummy=$tmpdir/dummy ;
+-files="$dummy.c $dummy.o $dummy.rel $dummy" ;
+-trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ;
++set_cc_for_build='
++trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
++trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
++: ${TMPDIR=/tmp} ;
++ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
++ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
++ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
++dummy=$tmp/dummy ;
++tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+ case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+- if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then
++ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+- rm -f $files ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+-esac ;
+-unset files'
++esac ;'
+
+ # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+ # (ghazi@noc.rutgers.edu 1994-08-24)
+@@ -178,7 +180,18 @@
+ ;;
+ esac
+ # The OS release
+- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++ # Debian GNU/NetBSD machines have a different userland, and
++ # thus, need a distinct triplet. However, they do not need
++ # kernel version information, so it can be replaced with a
++ # suitable tag, in the style of linux-gnu.
++ case "${UNAME_VERSION}" in
++ Debian*)
++ release='-gnu'
++ ;;
++ *)
++ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
++ ;;
++ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+@@ -227,68 +240,52 @@
+ if test $UNAME_RELEASE = "V4.0"; then
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ fi
++ # According to Compaq, /usr/sbin/psrinfo has been available on
++ # OSF/1 and Tru64 systems produced since 1995. I hope that
++ # covers most systems running today. This code pipes the CPU
++ # types through head -n 1, so we only detect the type of CPU 0.
++ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
++ case "$ALPHA_CPU_TYPE" in
++ "EV4 (21064)")
++ UNAME_MACHINE="alpha" ;;
++ "EV4.5 (21064)")
++ UNAME_MACHINE="alpha" ;;
++ "LCA4 (21066/21068)")
++ UNAME_MACHINE="alpha" ;;
++ "EV5 (21164)")
++ UNAME_MACHINE="alphaev5" ;;
++ "EV5.6 (21164A)")
++ UNAME_MACHINE="alphaev56" ;;
++ "EV5.6 (21164PC)")
++ UNAME_MACHINE="alphapca56" ;;
++ "EV5.7 (21164PC)")
++ UNAME_MACHINE="alphapca57" ;;
++ "EV6 (21264)")
++ UNAME_MACHINE="alphaev6" ;;
++ "EV6.7 (21264A)")
++ UNAME_MACHINE="alphaev67" ;;
++ "EV6.8CB (21264C)")
++ UNAME_MACHINE="alphaev68" ;;
++ "EV6.8AL (21264B)")
++ UNAME_MACHINE="alphaev68" ;;
++ "EV6.8CX (21264D)")
++ UNAME_MACHINE="alphaev68" ;;
++ "EV6.9A (21264/EV69A)")
++ UNAME_MACHINE="alphaev69" ;;
++ "EV7 (21364)")
++ UNAME_MACHINE="alphaev7" ;;
++ "EV7.9 (21364A)")
++ UNAME_MACHINE="alphaev79" ;;
++ esac
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+- eval $set_cc_for_build
+- cat <<EOF >$dummy.s
+- .data
+-\$Lformat:
+- .byte 37,100,45,37,120,10,0 # "%d-%x\n"
+-
+- .text
+- .globl main
+- .align 4
+- .ent main
+-main:
+- .frame \$30,16,\$26,0
+- ldgp \$29,0(\$27)
+- .prologue 1
+- .long 0x47e03d80 # implver \$0
+- lda \$2,-1
+- .long 0x47e20c21 # amask \$2,\$1
+- lda \$16,\$Lformat
+- mov \$0,\$17
+- not \$1,\$18
+- jsr \$26,printf
+- ldgp \$29,0(\$26)
+- mov 0,\$16
+- jsr \$26,exit
+- .end main
+-EOF
+- $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+- if test "$?" = 0 ; then
+- case `$dummy` in
+- 0-0)
+- UNAME_MACHINE="alpha"
+- ;;
+- 1-0)
+- UNAME_MACHINE="alphaev5"
+- ;;
+- 1-1)
+- UNAME_MACHINE="alphaev56"
+- ;;
+- 1-101)
+- UNAME_MACHINE="alphapca56"
+- ;;
+- 2-303)
+- UNAME_MACHINE="alphaev6"
+- ;;
+- 2-307)
+- UNAME_MACHINE="alphaev67"
+- ;;
+- 2-1307)
+- UNAME_MACHINE="alphaev68"
+- ;;
+- 3-1307)
+- UNAME_MACHINE="alphaev7"
+- ;;
+- esac
+- fi
+- rm -f $dummy.s $dummy && rmdir $tmpdir
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit 0 ;;
++ Alpha*:OpenVMS:*:*)
++ echo alpha-hp-vms
++ exit 0 ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+@@ -327,6 +324,9 @@
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit 0 ;;
++ DRS?6000:unix:4.0:6*)
++ echo sparc-icl-nx6
++ exit 0 ;;
+ DRS?6000:UNIX_SV:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7 && exit 0 ;;
+@@ -437,10 +437,9 @@
+ exit (-1);
+ }
+ EOF
+- $CC_FOR_BUILD $dummy.c -o $dummy \
++ $CC_FOR_BUILD -o $dummy $dummy.c \
+ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+- && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+- rm -f $dummy.c $dummy && rmdir $tmpdir
++ && exit 0
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit 0 ;;
+ Motorola:PowerMAX_OS:*:*)
+@@ -449,7 +448,7 @@
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit 0 ;;
+- Night_Hawk:*:*:PowerMAX_OS)
++ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit 0 ;;
+ Night_Hawk:Power_UNIX:*:*)
+@@ -524,8 +523,7 @@
+ exit(0);
+ }
+ EOF
+- $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+- rm -f $dummy.c $dummy && rmdir $tmpdir
++ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ echo rs6000-ibm-aix3.2.5
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+@@ -623,11 +621,21 @@
+ exit (0);
+ }
+ EOF
+- (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy`
+- if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
+- rm -f $dummy.c $dummy && rmdir $tmpdir
++ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
++ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
++ if [ ${HP_ARCH} = "hppa2.0w" ]
++ then
++ # avoid double evaluation of $set_cc_for_build
++ test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
++ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
++ then
++ HP_ARCH="hppa2.0w"
++ else
++ HP_ARCH="hppa64"
++ fi
++ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ ia64:HP-UX:*:*)
+@@ -661,8 +669,7 @@
+ exit (0);
+ }
+ EOF
+- $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+- rm -f $dummy.c $dummy && rmdir $tmpdir
++ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ echo unknown-hitachi-hiuxwe2
+ exit 0 ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+@@ -720,15 +727,15 @@
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+- CRAY*T3D:*:*:*)
+- echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+- exit 0 ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
++ *:UNICOS/mp:*:*)
++ echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit 0 ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+@@ -744,7 +751,7 @@
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+- *:FreeBSD:*:*)
++ *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
+ # Determine whether the default compiler uses glibc.
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -756,8 +763,10 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+- rm -f $dummy.c && rmdir $tmpdir
+- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
++ # GNU/FreeBSD systems have a "k" prefix to indicate we are using
++ # FreeBSD's kernel, but not the complete OS.
++ case ${LIBC} in gnu) kernel_only='k' ;; esac
++ echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+ exit 0 ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+@@ -768,14 +777,17 @@
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit 0 ;;
+- x86:Interix*:3*)
+- echo i386-pc-interix3
++ x86:Interix*:[34]*)
++ echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
++ exit 0 ;;
++ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
++ echo i${UNAME_MACHINE}-pc-mks
+ exit 0 ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+- echo i386-pc-interix
++ echo i586-pc-interix
+ exit 0 ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+@@ -795,6 +807,9 @@
+ arm*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
++ cris:Linux:*:*)
++ echo cris-axis-linux-gnu
++ exit 0 ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+@@ -818,8 +833,26 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+- rm -f $dummy.c && rmdir $tmpdir
+- test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
++ test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
++ ;;
++ mips64:Linux:*:*)
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++ #undef CPU
++ #undef mips64
++ #undef mips64el
++ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
++ CPU=mips64el
++ #else
++ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
++ CPU=mips64
++ #else
++ CPU=
++ #endif
++ #endif
++EOF
++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
++ test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+@@ -855,6 +888,9 @@
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit 0 ;;
++ sh64*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit 0 ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+@@ -914,7 +950,6 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+- rm -f $dummy.c && rmdir $tmpdir
+ test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+ ;;
+@@ -932,6 +967,23 @@
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit 0 ;;
++ i*86:OS/2:*:*)
++ # If we were able to find `uname', then EMX Unix compatibility
++ # is probably installed.
++ echo ${UNAME_MACHINE}-pc-os2-emx
++ exit 0 ;;
++ i*86:XTS-300:*:STOP)
++ echo ${UNAME_MACHINE}-unknown-stop
++ exit 0 ;;
++ i*86:atheos:*:*)
++ echo ${UNAME_MACHINE}-unknown-atheos
++ exit 0 ;;
++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
++ echo i386-unknown-lynxos${UNAME_RELEASE}
++ exit 0 ;;
++ i*86:*DOS:*:*)
++ echo ${UNAME_MACHINE}-pc-msdosdjgpp
++ exit 0 ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+@@ -966,9 +1018,6 @@
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit 0 ;;
+- i*86:*DOS:*:*)
+- echo ${UNAME_MACHINE}-pc-msdosdjgpp
+- exit 0 ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+@@ -995,9 +1044,12 @@
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit 0 ;;
++ M680?0:D-NIX:5.3:*)
++ echo m68k-diab-dnix
++ exit 0 ;;
+ M68*:*:R3V[567]*:*)
+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+- 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
++ 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+@@ -1014,9 +1066,6 @@
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit 0 ;;
+- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+- echo i386-unknown-lynxos${UNAME_RELEASE}
+- exit 0 ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+@@ -1098,7 +1147,11 @@
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Darwin:*:*)
+- echo `uname -p`-apple-darwin${UNAME_RELEASE}
++ case `uname -p` in
++ *86) UNAME_PROCESSOR=i686 ;;
++ powerpc) UNAME_PROCESSOR=powerpc ;;
++ esac
++ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit 0 ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+@@ -1111,7 +1164,7 @@
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit 0 ;;
+- NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
++ NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit 0 ;;
+ *:NonStop-UX:*:*)
+@@ -1134,11 +1187,6 @@
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit 0 ;;
+- i*86:OS/2:*:*)
+- # If we were able to find `uname', then EMX Unix compatibility
+- # is probably installed.
+- echo ${UNAME_MACHINE}-pc-os2-emx
+- exit 0 ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit 0 ;;
+@@ -1157,11 +1205,8 @@
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit 0 ;;
+- i*86:XTS-300:*:STOP)
+- echo ${UNAME_MACHINE}-unknown-stop
+- exit 0 ;;
+- i*86:atheos:*:*)
+- echo ${UNAME_MACHINE}-unknown-atheos
++ SEI:*:*:SEIUX)
++ echo mips-sei-seiux${UNAME_RELEASE}
+ exit 0 ;;
+ esac
+
+@@ -1283,8 +1328,7 @@
+ }
+ EOF
+
+-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0
+-rm -f $dummy.c $dummy && rmdir $tmpdir
++$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+
+ # Apollos put the system type in the environment.
+
+diff -urNd -urNd ncurses-5.3/config.sub ncurses-5.3.20030906.orig/config.sub
+--- ncurses-5.3/config.sub Sat Aug 31 14:53:19 2002
++++ ncurses-5.3.20030906.orig/config.sub Sun Jul 20 14:02:09 2003
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002 Free Software Foundation, Inc.
++# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+-timestamp='2002-08-22'
++timestamp='2003-07-04'
+
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -118,7 +118,7 @@
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+- nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
++ nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+@@ -245,21 +245,23 @@
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mipsisa32 | mipsisa32el \
++ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
++ | msp430 \
+ | ns16k | ns32k \
+ | openrisc | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+- | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
++ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+ | strongarm \
+- | tahoe | thumb | tic80 | tron \
++ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xscale | xstormy16 | xtensa \
+@@ -294,7 +296,7 @@
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* \
+ | bs2000-* \
+- | c[123]* | c30-* | [cjt]90-* | c54x-* \
++ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+@@ -315,21 +317,25 @@
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mipsisa32-* | mipsisa32el-* \
++ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+- | mipstx39 | mipstx39el \
+- | none-* | np1-* | ns16k-* | ns32k-* \
++ | mipstx39-* | mipstx39el-* \
++ | msp430-* \
++ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+- | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
++ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+- | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
++ | tahoe-* | thumb-* \
++ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+@@ -367,6 +373,9 @@
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
++ amd64)
++ basic_machine=x86_64-pc
++ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+@@ -716,6 +725,10 @@
+ np1)
+ basic_machine=np1-gould
+ ;;
++ nv1)
++ basic_machine=nv1-cray
++ os=-unicosmp
++ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+@@ -758,18 +771,24 @@
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+- pentiumii | pentium2)
++ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
++ pentium4)
++ basic_machine=i786-pc
++ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+- pentiumii-* | pentium2-*)
++ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
++ pentium4-*)
++ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+@@ -828,6 +847,10 @@
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
++ sei)
++ basic_machine=mips-sei
++ os=-seiux
++ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+@@ -835,6 +858,9 @@
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
++ sh64)
++ basic_machine=sh64-unknown
++ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+@@ -901,10 +927,6 @@
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+- t3d)
+- basic_machine=alpha-cray
+- os=-unicos
+- ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+@@ -917,6 +939,14 @@
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
++ tic55x | c55x*)
++ basic_machine=tic55x-unknown
++ os=-coff
++ ;;
++ tic6x | c6x*)
++ basic_machine=tic6x-unknown
++ os=-coff
++ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+@@ -973,10 +1003,6 @@
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+- windows32)
+- basic_machine=i386-pc
+- os=-windows32-msvcrt
+- ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+@@ -1023,7 +1049,7 @@
+ we32k)
+ basic_machine=we32k-att
+ ;;
+- sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
++ sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sh64)
+@@ -1047,10 +1073,6 @@
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+- c4x*)
+- basic_machine=c4x-none
+- os=-coff
+- ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+@@ -1106,18 +1128,19 @@
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
++ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+- | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
++ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
++ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
++ | -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+@@ -1129,8 +1152,10 @@
+ ;;
+ esac
+ ;;
++ -nto-qnx*)
++ ;;
+ -nto*)
+- os=-nto-qnx
++ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+@@ -1224,6 +1249,12 @@
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
++ -aros*)
++ os=-aros
++ ;;
++ -kaos*)
++ os=-kaos
++ ;;
+ -none)
+ ;;
+ *)
+@@ -1255,6 +1286,9 @@
+ arm*-semi)
+ os=-aout
+ ;;
++ c4x-* | tic4x-*)
++ os=-coff
++ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+diff -urNd -urNd ncurses-5.3/configure ncurses-5.3.20030906.orig/configure
+--- ncurses-5.3/configure Sat Sep 21 19:49:14 2002
++++ ncurses-5.3.20030906.orig/configure Fri Sep 12 16:42:59 2003
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# From configure.in Revision: 1.274 .
++# From configure.in Revision: 1.297 .
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated by Autoconf 2.52.20011227.
++# Generated by Autoconf 2.52.20030208.
+ #
+ # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ # Free Software Foundation, Inc.
+@@ -655,19 +655,20 @@
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+
++ --with-abi-version=XXX override derived ABI version
+ --with-system-type=XXX test: override derived host system-type
+- --enable-add-ons=DIR... used to check if we are a glibc add-on.
+- --with-build-cc=XXX if cross-compiling, the host C compiler (\$BUILD_CC)
+- --with-build-cflags=XXX if cross-compiling, the host C compiler-flags
+- --with-build-cppflags=XXX if cross-compiling, the host C preprocessor-flags
+- --with-build-ldflags=XXX if cross-compiling, the host linker-flags
+- --with-build-libs=XXX if cross-compiling, the host libraries
+ --without-cxx do not adjust ncurses bool to match C++
+ --without-cxx-binding do not build C++ binding and demo
+ --without-ada suppress check for Ada95, don't build demo
+ --without-progs suppress build with programs (e.g., tic)
+ --without-curses-h install curses.h as ncurses.h only
+ --with-install-prefix prefixes actual install-location (\$DESTDIR)
++Build-Tools Needed to Compile Temporary Applications for Cross-compiling:
++ --with-build-cc=XXX the build C compiler (\$BUILD_CC)
++ --with-build-cflags=XXX the build C compiler-flags
++ --with-build-cppflags=XXX the build C preprocessor-flags
++ --with-build-ldflags=XXX the build linker-flags
++ --with-build-libs=XXX the build libraries
+ Options to Specify the Libraries Built/Used:
+ --with-libtool generate libraries with libtool
+ --with-shared generate shared-libraries
+@@ -678,6 +679,7 @@
+ --with-dbmalloc test: use Conor Cahill's dbmalloc library
+ --with-dmalloc test: use Gray Watson's dmalloc library
+ --with-gpm use Alessandro Rubini's GPM library
++ --with-sysmouse use sysmouse (FreeBSD console)
+ --enable-rpath use rpath option when generating shared libraries
+ --with-shlib-version=X Specify rel or abi version for shared libs
+ Fine-Tuning Your Configuration:
+@@ -806,7 +808,7 @@
+ running configure, to aid debugging if configure makes a mistake.
+
+ It was created by $as_me, which was
+-generated by GNU Autoconf 2.52.20011227. Invocation command line was
++generated by GNU Autoconf 2.52.20030208. Invocation command line was
+
+ $ $0 $@
+
+@@ -930,7 +932,7 @@
+ fi
+ for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+- { echo "$as_me:933: loading site script $ac_site_file" >&5
++ { echo "$as_me:935: loading site script $ac_site_file" >&5
+ echo "$as_me: loading site script $ac_site_file" >&6;}
+ cat "$ac_site_file" >&5
+ . "$ac_site_file"
+@@ -941,7 +943,7 @@
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+- { echo "$as_me:944: loading cache $cache_file" >&5
++ { echo "$as_me:946: loading cache $cache_file" >&5
+ echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+@@ -949,7 +951,7 @@
+ esac
+ fi
+ else
+- { echo "$as_me:952: creating cache $cache_file" >&5
++ { echo "$as_me:954: creating cache $cache_file" >&5
+ echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+ fi
+@@ -965,21 +967,21 @@
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+- { echo "$as_me:968: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++ { echo "$as_me:970: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+- { echo "$as_me:972: error: \`$ac_var' was not set in the previous run" >&5
++ { echo "$as_me:974: error: \`$ac_var' was not set in the previous run" >&5
+ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+- { echo "$as_me:978: error: \`$ac_var' has changed since the previous run:" >&5
++ { echo "$as_me:980: error: \`$ac_var' has changed since the previous run:" >&5
+ echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+- { echo "$as_me:980: former value: $ac_old_val" >&5
++ { echo "$as_me:982: former value: $ac_old_val" >&5
+ echo "$as_me: former value: $ac_old_val" >&2;}
+- { echo "$as_me:982: current value: $ac_new_val" >&5
++ { echo "$as_me:984: current value: $ac_new_val" >&5
+ echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+@@ -998,9 +1000,9 @@
+ fi
+ done
+ if $ac_cache_corrupted; then
+- { echo "$as_me:1001: error: changes in the environment can compromise the build" >&5
++ { echo "$as_me:1003: error: changes in the environment can compromise the build" >&5
+ echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+- { { echo "$as_me:1003: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++ { { echo "$as_me:1005: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1020,10 +1022,10 @@
+ echo "#! $SHELL" >conftest.sh
+ echo "exit 0" >>conftest.sh
+ chmod +x conftest.sh
+-if { (echo "$as_me:1023: PATH=\".;.\"; conftest.sh") >&5
++if { (echo "$as_me:1025: PATH=\".;.\"; conftest.sh") >&5
+ (PATH=".;."; conftest.sh) 2>&5
+ ac_status=$?
+- echo "$as_me:1026: \$? = $ac_status" >&5
++ echo "$as_me:1028: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ ac_path_separator=';'
+ else
+@@ -1040,9 +1042,17 @@
+ cf_cv_abi_version=${NCURSES_MAJOR}
+ cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
+ cf_cv_timestamp=`date`
+-echo "$as_me:1043: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
++echo "$as_me:1045: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5
+ echo "${ECHO_T}Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&6
+
++# Check whether --with-abi-version or --without-abi-version was given.
++if test "${with_abi_version+set}" = set; then
++ withval="$with_abi_version"
++ { echo "$as_me:1051: WARNING: overriding ABI version to $withval" >&5
++echo "$as_me: WARNING: overriding ABI version to $withval" >&2;}
++ cf_cv_abi_version=$withval
++fi;
++
+ ac_aux_dir=
+ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+@@ -1060,7 +1070,7 @@
+ fi
+ done
+ if test -z "$ac_aux_dir"; then
+- { { echo "$as_me:1063: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
++ { { echo "$as_me:1073: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+ echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1070,11 +1080,11 @@
+
+ # Make sure we can run config.sub.
+ $ac_config_sub sun4 >/dev/null 2>&1 ||
+- { { echo "$as_me:1073: error: cannot run $ac_config_sub" >&5
++ { { echo "$as_me:1083: error: cannot run $ac_config_sub" >&5
+ echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+ { (exit 1); exit 1; }; }
+
+-echo "$as_me:1077: checking build system type" >&5
++echo "$as_me:1087: checking build system type" >&5
+ echo $ECHO_N "checking build system type... $ECHO_C" >&6
+ if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1083,23 +1093,23 @@
+ test -z "$ac_cv_build_alias" &&
+ ac_cv_build_alias=`$ac_config_guess`
+ test -z "$ac_cv_build_alias" &&
+- { { echo "$as_me:1086: error: cannot guess build type; you must specify one" >&5
++ { { echo "$as_me:1096: error: cannot guess build type; you must specify one" >&5
+ echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
+ ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+- { { echo "$as_me:1090: error: $ac_config_sub $ac_cv_build_alias failed." >&5
++ { { echo "$as_me:1100: error: $ac_config_sub $ac_cv_build_alias failed." >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1095: result: $ac_cv_build" >&5
++echo "$as_me:1105: result: $ac_cv_build" >&5
+ echo "${ECHO_T}$ac_cv_build" >&6
+ build=$ac_cv_build
+ build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+ build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+ build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+-echo "$as_me:1102: checking host system type" >&5
++echo "$as_me:1112: checking host system type" >&5
+ echo $ECHO_N "checking host system type... $ECHO_C" >&6
+ if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1108,12 +1118,12 @@
+ test -z "$ac_cv_host_alias" &&
+ ac_cv_host_alias=$ac_cv_build_alias
+ ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+- { { echo "$as_me:1111: error: $ac_config_sub $ac_cv_host_alias failed" >&5
++ { { echo "$as_me:1121: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1116: result: $ac_cv_host" >&5
++echo "$as_me:1126: result: $ac_cv_host" >&5
+ echo "${ECHO_T}$ac_cv_host" >&6
+ host=$ac_cv_host
+ host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1121,7 +1131,7 @@
+ host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+ if test -f $srcdir/config.guess ; then
+- echo "$as_me:1124: checking target system type" >&5
++ echo "$as_me:1134: checking target system type" >&5
+ echo $ECHO_N "checking target system type... $ECHO_C" >&6
+ if test "${ac_cv_target+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1130,12 +1140,12 @@
+ test "x$ac_cv_target_alias" = "x" &&
+ ac_cv_target_alias=$ac_cv_host_alias
+ ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
+- { { echo "$as_me:1133: error: $ac_config_sub $ac_cv_target_alias failed" >&5
++ { { echo "$as_me:1143: error: $ac_config_sub $ac_cv_target_alias failed" >&5
+ echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
+
+ fi
+-echo "$as_me:1138: result: $ac_cv_target" >&5
++echo "$as_me:1148: result: $ac_cv_target" >&5
+ echo "${ECHO_T}$ac_cv_target" >&6
+ target=$ac_cv_target
+ target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+@@ -1166,13 +1176,13 @@
+ fi
+
+ test -z "$system_name" && system_name="$cf_cv_system_name"
+-test -n "$cf_cv_system_name" && echo "$as_me:1169: result: Configuring for $cf_cv_system_name" >&5
++test -n "$cf_cv_system_name" && echo "$as_me:1179: result: Configuring for $cf_cv_system_name" >&5
+ echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6
+
+ if test ".$system_name" != ".$cf_cv_system_name" ; then
+- echo "$as_me:1173: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
++ echo "$as_me:1183: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5
+ echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6
+- { { echo "$as_me:1175: error: \"Please remove config.cache and try again.\"" >&5
++ { { echo "$as_me:1185: error: \"Please remove config.cache and try again.\"" >&5
+ echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -1180,62 +1190,33 @@
+ # Check whether --with-system-type or --without-system-type was given.
+ if test "${with_system_type+set}" = set; then
+ withval="$with_system_type"
+- { echo "$as_me:1183: WARNING: overriding system type to $withval" >&5
++ { echo "$as_me:1193: WARNING: overriding system type to $withval" >&5
+ echo "$as_me: WARNING: overriding system type to $withval" >&2;}
+ cf_cv_system_name=$withval
+ fi;
+
+-# We need a configure script only when compiling as part of GNU C library.
+-# Here we have to generate one of the files we need while compiling.
+-#
+-# The only problem is that users of the package might think they have to
+-# run configure themself and find it irritating when nothing happens.
+-#
+-# So we try here to find out whether we are called from the glibc configure
+-# or by a user.
+-#
+-
+-# Check whether --enable-add-ons or --disable-add-ons was given.
+-if test "${enable_add_ons+set}" = set; then
+- enableval="$enable_add_ons"
+- glibc_add_on=yes
+-else
+- glibc_add_on=
+-fi;
+-
+-if test x"$glibc_add_on" = "xyes" ; then
+- rm -f $srcdir/Banner
+- # We are in glibc.
+- rm -f $srcdir/Makefile
+- cp $srcdir/Makefile.glibc $srcdir/Makefile
+- echo "ncurses `grep \"^[ ]*ncurses-version[ ]*=.*$\" \
+- $srcdir/Makefile | sed -e \
+- 's/^[ ]*ncurses-version[ ]*=[ ]*\([^ ^ ]*\)[ ]*$/\1/'`" > $srcdir/Banner
+- exit 0
+-fi
+-
+ ### Save the given $CFLAGS to allow user-override.
+ cf_user_CFLAGS="$CFLAGS"
+
+ ### Default install-location
+
+-echo "$as_me:1222: checking for prefix" >&5
++echo "$as_me:1203: checking for prefix" >&5
+ echo $ECHO_N "checking for prefix... $ECHO_C" >&6
+ if test "x$prefix" = "xNONE" ; then
+ case "$cf_cv_system_name" in
+ # non-vendor systems don't have a conflict
+- openbsd*|netbsd*|freebsd*|linux*|cygwin*)
++ openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
+ prefix=/usr
+ ;;
+ *) prefix=$ac_default_prefix
+ ;;
+ esac
+ fi
+-echo "$as_me:1234: result: $prefix" >&5
++echo "$as_me:1215: result: $prefix" >&5
+ echo "${ECHO_T}$prefix" >&6
+
+ if test "x$prefix" = "xNONE" ; then
+-echo "$as_me:1238: checking for default include-directory" >&5
++echo "$as_me:1219: checking for default include-directory" >&5
+ echo $ECHO_N "checking for default include-directory... $ECHO_C" >&6
+ test -n "$verbose" && echo 1>&6
+ for cf_symbol in \
+@@ -1258,7 +1239,7 @@
+ fi
+ test -n "$verbose" && echo " tested $cf_dir" 1>&6
+ done
+-echo "$as_me:1261: result: $includedir" >&5
++echo "$as_me:1242: result: $includedir" >&5
+ echo "${ECHO_T}$includedir" >&6
+ fi
+
+@@ -1271,7 +1252,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}gcc; ac_word=$2
+-echo "$as_me:1274: checking for $ac_word" >&5
++echo "$as_me:1255: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1286,7 +1267,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+-echo "$as_me:1289: found $ac_dir/$ac_word" >&5
++echo "$as_me:1270: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1294,10 +1275,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1297: result: $CC" >&5
++ echo "$as_me:1278: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1300: result: no" >&5
++ echo "$as_me:1281: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1306,7 +1287,7 @@
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+-echo "$as_me:1309: checking for $ac_word" >&5
++echo "$as_me:1290: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1321,7 +1302,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="gcc"
+-echo "$as_me:1324: found $ac_dir/$ac_word" >&5
++echo "$as_me:1305: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1329,10 +1310,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1332: result: $ac_ct_CC" >&5
++ echo "$as_me:1313: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1335: result: no" >&5
++ echo "$as_me:1316: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1345,7 +1326,7 @@
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}cc; ac_word=$2
+-echo "$as_me:1348: checking for $ac_word" >&5
++echo "$as_me:1329: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1360,7 +1341,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+-echo "$as_me:1363: found $ac_dir/$ac_word" >&5
++echo "$as_me:1344: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1368,10 +1349,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1371: result: $CC" >&5
++ echo "$as_me:1352: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1374: result: no" >&5
++ echo "$as_me:1355: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1380,7 +1361,7 @@
+ ac_ct_CC=$CC
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+-echo "$as_me:1383: checking for $ac_word" >&5
++echo "$as_me:1364: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1395,7 +1376,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="cc"
+-echo "$as_me:1398: found $ac_dir/$ac_word" >&5
++echo "$as_me:1379: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1403,10 +1384,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1406: result: $ac_ct_CC" >&5
++ echo "$as_me:1387: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1409: result: no" >&5
++ echo "$as_me:1390: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1419,7 +1400,7 @@
+ if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+-echo "$as_me:1422: checking for $ac_word" >&5
++echo "$as_me:1403: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1439,7 +1420,7 @@
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+-echo "$as_me:1442: found $ac_dir/$ac_word" >&5
++echo "$as_me:1423: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1461,10 +1442,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1464: result: $CC" >&5
++ echo "$as_me:1445: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1467: result: no" >&5
++ echo "$as_me:1448: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1475,7 +1456,7 @@
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:1478: checking for $ac_word" >&5
++echo "$as_me:1459: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1490,7 +1471,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+-echo "$as_me:1493: found $ac_dir/$ac_word" >&5
++echo "$as_me:1474: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1498,10 +1479,10 @@
+ fi
+ CC=$ac_cv_prog_CC
+ if test -n "$CC"; then
+- echo "$as_me:1501: result: $CC" >&5
++ echo "$as_me:1482: result: $CC" >&5
+ echo "${ECHO_T}$CC" >&6
+ else
+- echo "$as_me:1504: result: no" >&5
++ echo "$as_me:1485: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1514,7 +1495,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:1517: checking for $ac_word" >&5
++echo "$as_me:1498: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -1529,7 +1510,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+-echo "$as_me:1532: found $ac_dir/$ac_word" >&5
++echo "$as_me:1513: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -1537,10 +1518,10 @@
+ fi
+ ac_ct_CC=$ac_cv_prog_ac_ct_CC
+ if test -n "$ac_ct_CC"; then
+- echo "$as_me:1540: result: $ac_ct_CC" >&5
++ echo "$as_me:1521: result: $ac_ct_CC" >&5
+ echo "${ECHO_T}$ac_ct_CC" >&6
+ else
+- echo "$as_me:1543: result: no" >&5
++ echo "$as_me:1524: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -1552,32 +1533,32 @@
+
+ fi
+
+-test -z "$CC" && { { echo "$as_me:1555: error: no acceptable cc found in \$PATH" >&5
++test -z "$CC" && { { echo "$as_me:1536: error: no acceptable cc found in \$PATH" >&5
+ echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Provide some information about the compiler.
+-echo "$as_me:1560:" \
++echo "$as_me:1541:" \
+ "checking for C compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:1563: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1544: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1566: \$? = $ac_status" >&5
++ echo "$as_me:1547: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1568: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1549: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1571: \$? = $ac_status" >&5
++ echo "$as_me:1552: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:1573: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:1554: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:1576: \$? = $ac_status" >&5
++ echo "$as_me:1557: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1580 "configure"
++#line 1561 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1593,13 +1574,13 @@
+ # Try to create an executable without -o first, disregard a.out.
+ # It will help us diagnose broken compilers, and finding out an intuition
+ # of exeext.
+-echo "$as_me:1596: checking for C compiler default output" >&5
++echo "$as_me:1577: checking for C compiler default output" >&5
+ echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+-if { (eval echo "$as_me:1599: \"$ac_link_default\"") >&5
++if { (eval echo "$as_me:1580: \"$ac_link_default\"") >&5
+ (eval $ac_link_default) 2>&5
+ ac_status=$?
+- echo "$as_me:1602: \$? = $ac_status" >&5
++ echo "$as_me:1583: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # Find the output, starting from the most likely. This scheme is
+ # not robust to junk in `.', hence go to wildcards (a.*) only as a last
+@@ -1622,34 +1603,34 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1625: error: C compiler cannot create executables" >&5
++{ { echo "$as_me:1606: error: C compiler cannot create executables" >&5
+ echo "$as_me: error: C compiler cannot create executables" >&2;}
+ { (exit 77); exit 77; }; }
+ fi
+
+ ac_exeext=$ac_cv_exeext
+-echo "$as_me:1631: result: $ac_file" >&5
++echo "$as_me:1612: result: $ac_file" >&5
+ echo "${ECHO_T}$ac_file" >&6
+
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1636: checking whether the C compiler works" >&5
++echo "$as_me:1617: checking whether the C compiler works" >&5
+ echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+ # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+ # If not cross compiling, check that we can run a simple program.
+ if test "$cross_compiling" != yes; then
+ if { ac_try='./$ac_file'
+- { (eval echo "$as_me:1642: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1623: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1645: \$? = $ac_status" >&5
++ echo "$as_me:1626: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+- { { echo "$as_me:1652: error: cannot run C compiled programs.
++ { { echo "$as_me:1633: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&5
+ echo "$as_me: error: cannot run C compiled programs.
+ If you meant to cross compile, use \`--host'." >&2;}
+@@ -1657,24 +1638,24 @@
+ fi
+ fi
+ fi
+-echo "$as_me:1660: result: yes" >&5
++echo "$as_me:1641: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+
+ rm -f a.out a.exe conftest$ac_cv_exeext
+ ac_clean_files=$ac_clean_files_save
+ # Check the compiler produces executables we can run. If not, either
+ # the compiler is broken, or we cross compile.
+-echo "$as_me:1667: checking whether we are cross compiling" >&5
++echo "$as_me:1648: checking whether we are cross compiling" >&5
+ echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+-echo "$as_me:1669: result: $cross_compiling" >&5
++echo "$as_me:1650: result: $cross_compiling" >&5
+ echo "${ECHO_T}$cross_compiling" >&6
+
+-echo "$as_me:1672: checking for executable suffix" >&5
++echo "$as_me:1653: checking for executable suffix" >&5
+ echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6
+-if { (eval echo "$as_me:1674: \"$ac_link\"") >&5
++if { (eval echo "$as_me:1655: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:1677: \$? = $ac_status" >&5
++ echo "$as_me:1658: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+ # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+@@ -1690,25 +1671,25 @@
+ esac
+ done
+ else
+- { { echo "$as_me:1693: error: cannot compute EXEEXT: cannot compile and link" >&5
++ { { echo "$as_me:1674: error: cannot compute EXEEXT: cannot compile and link" >&5
+ echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest$ac_cv_exeext
+-echo "$as_me:1699: result: $ac_cv_exeext" >&5
++echo "$as_me:1680: result: $ac_cv_exeext" >&5
+ echo "${ECHO_T}$ac_cv_exeext" >&6
+
+ rm -f conftest.$ac_ext
+ EXEEXT=$ac_cv_exeext
+ ac_exeext=$EXEEXT
+-echo "$as_me:1705: checking for object suffix" >&5
++echo "$as_me:1686: checking for object suffix" >&5
+ echo $ECHO_N "checking for object suffix... $ECHO_C" >&6
+ if test "${ac_cv_objext+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1711 "configure"
++#line 1692 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1720,10 +1701,10 @@
+ }
+ _ACEOF
+ rm -f conftest.o conftest.obj
+-if { (eval echo "$as_me:1723: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1704: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1726: \$? = $ac_status" >&5
++ echo "$as_me:1707: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+ case $ac_file in
+@@ -1735,24 +1716,24 @@
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-{ { echo "$as_me:1738: error: cannot compute OBJEXT: cannot compile" >&5
++{ { echo "$as_me:1719: error: cannot compute OBJEXT: cannot compile" >&5
+ echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ rm -f conftest.$ac_cv_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1745: result: $ac_cv_objext" >&5
++echo "$as_me:1726: result: $ac_cv_objext" >&5
+ echo "${ECHO_T}$ac_cv_objext" >&6
+ OBJEXT=$ac_cv_objext
+ ac_objext=$OBJEXT
+-echo "$as_me:1749: checking whether we are using the GNU C compiler" >&5
++echo "$as_me:1730: checking whether we are using the GNU C compiler" >&5
+ echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+ if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1755 "configure"
++#line 1736 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1767,16 +1748,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1770: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1751: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1773: \$? = $ac_status" >&5
++ echo "$as_me:1754: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1776: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1757: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1779: \$? = $ac_status" >&5
++ echo "$as_me:1760: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -1788,19 +1769,19 @@
+ ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:1791: result: $ac_cv_c_compiler_gnu" >&5
++echo "$as_me:1772: result: $ac_cv_c_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+ GCC=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CFLAGS=${CFLAGS+set}
+ ac_save_CFLAGS=$CFLAGS
+ CFLAGS="-g"
+-echo "$as_me:1797: checking whether $CC accepts -g" >&5
++echo "$as_me:1778: checking whether $CC accepts -g" >&5
+ echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+ if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1803 "configure"
++#line 1784 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -1812,16 +1793,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1815: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1796: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1818: \$? = $ac_status" >&5
++ echo "$as_me:1799: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1821: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1802: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1824: \$? = $ac_status" >&5
++ echo "$as_me:1805: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_g=yes
+ else
+@@ -1831,7 +1812,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:1834: result: $ac_cv_prog_cc_g" >&5
++echo "$as_me:1815: result: $ac_cv_prog_cc_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+@@ -1858,16 +1839,16 @@
+ #endif
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1861: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1842: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1864: \$? = $ac_status" >&5
++ echo "$as_me:1845: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1867: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1848: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1870: \$? = $ac_status" >&5
++ echo "$as_me:1851: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ for ac_declaration in \
+ ''\
+@@ -1879,7 +1860,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1882 "configure"
++#line 1863 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -1892,16 +1873,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1895: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1876: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1898: \$? = $ac_status" >&5
++ echo "$as_me:1879: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1901: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1882: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1904: \$? = $ac_status" >&5
++ echo "$as_me:1885: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -1911,7 +1892,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 1914 "configure"
++#line 1895 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -1923,16 +1904,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:1926: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:1907: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:1929: \$? = $ac_status" >&5
++ echo "$as_me:1910: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:1932: \"$ac_try\"") >&5
++ { (eval echo "$as_me:1913: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:1935: \$? = $ac_status" >&5
++ echo "$as_me:1916: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -1961,98 +1942,20 @@
+
+ GCC_VERSION=none
+ if test "$GCC" = yes ; then
+- echo "$as_me:1964: checking version of gcc" >&5
+-echo $ECHO_N "checking version of gcc... $ECHO_C" >&6
+- GCC_VERSION="`${CC} --version|head -1`"
+- echo "$as_me:1967: result: $GCC_VERSION" >&5
++ echo "$as_me:1945: checking version of $CC" >&5
++echo $ECHO_N "checking version of $CC... $ECHO_C" >&6
++ GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`"
++ test -z "$GCC_VERSION" && GCC_VERSION=unknown
++ echo "$as_me:1949: result: $GCC_VERSION" >&5
+ echo "${ECHO_T}$GCC_VERSION" >&6
+ fi
+
+-# If we're cross-compiling, allow the user to override the tools and their
+-# options. The configure script is oriented toward identifying the target
+-# compiler, etc., but we need a host compiler to generate parts of the source.
+-BUILD_CC='$(CC)'
+-BUILD_CFLAGS='$(CFLAGS)'
+-BUILD_CPPFLAGS='$(CPPFLAGS)'
+-BUILD_LDFLAGS='$(LDFLAGS)'
+-BUILD_LIBS='$(LIBS)'
+-if test "$host_alias" != "$target_alias" ; then
+-
+-# Check whether --with-build-cc or --without-build-cc was given.
+-if test "${with_build_cc+set}" = set; then
+- withval="$with_build_cc"
+- BUILD_CC="$withval"
+-else
+- for ac_prog in $CC gcc cc
+-do
+- # Extract the first word of "$ac_prog", so it can be a program name with args.
+-set dummy $ac_prog; ac_word=$2
+-echo "$as_me:1990: checking for $ac_word" >&5
+-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+-if test "${ac_cv_prog_BUILD_CC+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+- if test -n "$BUILD_CC"; then
+- ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
+-else
+- ac_save_IFS=$IFS; IFS=$ac_path_separator
+-ac_dummy="$PATH"
+-for ac_dir in $ac_dummy; do
+- IFS=$ac_save_IFS
+- test -z "$ac_dir" && ac_dir=.
+- $as_executable_p "$ac_dir/$ac_word" || continue
+-ac_cv_prog_BUILD_CC="$ac_prog"
+-echo "$as_me:2005: found $ac_dir/$ac_word" >&5
+-break
+-done
+-
+-fi
+-fi
+-BUILD_CC=$ac_cv_prog_BUILD_CC
+-if test -n "$BUILD_CC"; then
+- echo "$as_me:2013: result: $BUILD_CC" >&5
+-echo "${ECHO_T}$BUILD_CC" >&6
+-else
+- echo "$as_me:2016: result: no" >&5
+-echo "${ECHO_T}no" >&6
+-fi
+-
+- test -n "$BUILD_CC" && break
+-done
+-
+-fi;
+-
+-# Check whether --with-build-cflags or --without-build-cflags was given.
+-if test "${with_build_cflags+set}" = set; then
+- withval="$with_build_cflags"
+- BUILD_CFLAGS="$withval"
+-fi;
+-
+-# Check whether --with-build-cppflags or --without-build-cppflags was given.
+-if test "${with_build_cppflags+set}" = set; then
+- withval="$with_build_cppflags"
+- BUILD_CPPFLAGS="$withval"
+-fi;
+-
+-# Check whether --with-build-ldflags or --without-build-ldflags was given.
+-if test "${with_build_ldflags+set}" = set; then
+- withval="$with_build_ldflags"
+- BUILD_LDFLAGS="$withval"
+-fi;
+-
+-# Check whether --with-build-libs or --without-build-libs was given.
+-if test "${with_build_libs+set}" = set; then
+- withval="$with_build_libs"
+- BUILD_LIBS="$withval"
+-fi;
+-fi
+-
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
+ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+-echo "$as_me:2055: checking how to run the C preprocessor" >&5
++echo "$as_me:1958: checking how to run the C preprocessor" >&5
+ echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+ # On Suns, sometimes $CPP names a directory.
+ if test -n "$CPP" && test -d "$CPP"; then
+@@ -2073,18 +1976,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2076 "configure"
++#line 1979 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:2081: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:1984: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2087: \$? = $ac_status" >&5
++ echo "$as_me:1990: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2107,17 +2010,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2110 "configure"
++#line 2013 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2114: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2017: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2120: \$? = $ac_status" >&5
++ echo "$as_me:2023: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2154,7 +2057,7 @@
+ else
+ ac_cv_prog_CPP=$CPP
+ fi
+-echo "$as_me:2157: result: $CPP" >&5
++echo "$as_me:2060: result: $CPP" >&5
+ echo "${ECHO_T}$CPP" >&6
+ ac_preproc_ok=false
+ for ac_c_preproc_warn_flag in '' yes
+@@ -2164,18 +2067,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2167 "configure"
++#line 2070 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:2172: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2075: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2178: \$? = $ac_status" >&5
++ echo "$as_me:2081: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2198,17 +2101,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2201 "configure"
++#line 2104 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:2205: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:2108: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:2211: \$? = $ac_status" >&5
++ echo "$as_me:2114: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -2236,7 +2139,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:2239: error: C preprocessor \"$CPP\" fails sanity check" >&5
++ { { echo "$as_me:2142: error: C preprocessor \"$CPP\" fails sanity check" >&5
+ echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -2248,17 +2151,17 @@
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ if test $ac_cv_c_compiler_gnu = yes; then
+- echo "$as_me:2251: checking whether $CC needs -traditional" >&5
++ echo "$as_me:2154: checking whether $CC needs -traditional" >&5
+ echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
+ if test "${ac_cv_prog_gcc_traditional+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ ac_pattern="Autoconf.*'x'"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2258 "configure"
++#line 2161 "configure"
+ #include "confdefs.h"
+ #include <sgtty.h>
+-Autoconf TIOCGETP
++int Autoconf = TIOCGETP;
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "$ac_pattern" >/dev/null 2>&1; then
+@@ -2270,10 +2173,10 @@
+
+ if test $ac_cv_prog_gcc_traditional = no; then
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2273 "configure"
++#line 2176 "configure"
+ #include "confdefs.h"
+ #include <termio.h>
+-Autoconf TCGETA
++int Autoconf = TCGETA;
+ _ACEOF
+ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "$ac_pattern" >/dev/null 2>&1; then
+@@ -2283,19 +2186,19 @@
+
+ fi
+ fi
+-echo "$as_me:2286: result: $ac_cv_prog_gcc_traditional" >&5
++echo "$as_me:2189: result: $ac_cv_prog_gcc_traditional" >&5
+ echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
+ if test $ac_cv_prog_gcc_traditional = yes; then
+ CC="$CC -traditional"
+ fi
+ fi
+
+-echo "$as_me:2293: checking for POSIXized ISC" >&5
++echo "$as_me:2196: checking for POSIXized ISC" >&5
+ echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6
+ if test -d /etc/conf/kconfig.d &&
+ grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+ then
+- echo "$as_me:2298: result: yes" >&5
++ echo "$as_me:2201: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ ISC=yes # If later tests want to check for ISC.
+
+@@ -2309,12 +2212,12 @@
+ CC="$CC -Xp"
+ fi
+ else
+- echo "$as_me:2312: result: no" >&5
++ echo "$as_me:2215: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ ISC=
+ fi
+
+-echo "$as_me:2317: checking for ${CC-cc} option to accept ANSI C" >&5
++echo "$as_me:2220: checking for ${CC-cc} option to accept ANSI C" >&5
+ echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6
+ if test "${cf_cv_ansi_cc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2366,11 +2269,11 @@
+
+ if test -n "$cf_new_cppflags" ; then
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
+ fi
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2373 "configure"
++#line 2276 "configure"
+ #include "confdefs.h"
+
+ #ifndef CC_HAS_PROTOS
+@@ -2391,16 +2294,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2394: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2297: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2397: \$? = $ac_status" >&5
++ echo "$as_me:2300: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2400: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2303: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2403: \$? = $ac_status" >&5
++ echo "$as_me:2306: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_ansi_cc="$cf_arg"; break
+ else
+@@ -2413,7 +2316,7 @@
+ CPPFLAGS="$cf_save_CPPFLAGS"
+
+ fi
+-echo "$as_me:2416: result: $cf_cv_ansi_cc" >&5
++echo "$as_me:2319: result: $cf_cv_ansi_cc" >&5
+ echo "${ECHO_T}$cf_cv_ansi_cc" >&6
+
+ if test "$cf_cv_ansi_cc" != "no"; then
+@@ -2446,7 +2349,7 @@
+
+ if test -n "$cf_new_cppflags" ; then
+
+- CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
++ CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
+ fi
+
+ else
+@@ -2458,7 +2361,7 @@
+ fi
+
+ if test "$cf_cv_ansi_cc" = "no"; then
+- { { echo "$as_me:2461: error: Your compiler does not appear to recognize prototypes.
++ { { echo "$as_me:2364: error: Your compiler does not appear to recognize prototypes.
+ You have the following choices:
+ a. adjust your compiler options
+ b. get an up-to-date compiler
+@@ -2478,7 +2381,7 @@
+ CFLAGS="$CFLAGS -Zmt"
+ CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
+ CXXFLAGS="$CXXFLAGS -Zmt"
+- LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed "s/-Zexe//g"`
++ LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed -e "s%-Zexe%%g"`
+ PROG_EXT=".exe"
+ ;;
+ cygwin*)
+@@ -2497,7 +2400,7 @@
+ *) LDPATH=$PATH:/sbin:/usr/sbin
+ # Extract the first word of "ldconfig", so it can be a program name with args.
+ set dummy ldconfig; ac_word=$2
+-echo "$as_me:2500: checking for $ac_word" >&5
++echo "$as_me:2403: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_path_LDCONFIG+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2514,7 +2417,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ if $as_executable_p "$ac_dir/$ac_word"; then
+ ac_cv_path_LDCONFIG="$ac_dir/$ac_word"
+- echo "$as_me:2517: found $ac_dir/$ac_word" >&5
++ echo "$as_me:2420: found $ac_dir/$ac_word" >&5
+ break
+ fi
+ done
+@@ -2525,17 +2428,17 @@
+ LDCONFIG=$ac_cv_path_LDCONFIG
+
+ if test -n "$LDCONFIG"; then
+- echo "$as_me:2528: result: $LDCONFIG" >&5
++ echo "$as_me:2431: result: $LDCONFIG" >&5
+ echo "${ECHO_T}$LDCONFIG" >&6
+ else
+- echo "$as_me:2531: result: no" >&5
++ echo "$as_me:2434: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ ;;
+ esac
+
+-echo "$as_me:2538: checking if you want to ensure bool is consistent with C++" >&5
++echo "$as_me:2441: checking if you want to ensure bool is consistent with C++" >&5
+ echo $ECHO_N "checking if you want to ensure bool is consistent with C++... $ECHO_C" >&6
+
+ # Check whether --with-cxx or --without-cxx was given.
+@@ -2545,12 +2448,13 @@
+ else
+ cf_with_cxx=yes
+ fi;
+-echo "$as_me:2548: result: $cf_with_cxx" >&5
++echo "$as_me:2451: result: $cf_with_cxx" >&5
+ echo "${ECHO_T}$cf_with_cxx" >&6
+ if test "X$cf_with_cxx" = Xno ; then
+ CXX=""
+ GXX=""
+ else
++ # with autoconf 2.13, we can change the error to a warning:
+ ac_ext=cc
+ ac_cpp='$CXXCPP $CPPFLAGS'
+ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+@@ -2561,7 +2465,7 @@
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+ set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+-echo "$as_me:2564: checking for $ac_word" >&5
++echo "$as_me:2468: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2576,7 +2480,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+-echo "$as_me:2579: found $ac_dir/$ac_word" >&5
++echo "$as_me:2483: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2584,10 +2488,10 @@
+ fi
+ CXX=$ac_cv_prog_CXX
+ if test -n "$CXX"; then
+- echo "$as_me:2587: result: $CXX" >&5
++ echo "$as_me:2491: result: $CXX" >&5
+ echo "${ECHO_T}$CXX" >&6
+ else
+- echo "$as_me:2590: result: no" >&5
++ echo "$as_me:2494: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2600,7 +2504,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2603: checking for $ac_word" >&5
++echo "$as_me:2507: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2615,7 +2519,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+-echo "$as_me:2618: found $ac_dir/$ac_word" >&5
++echo "$as_me:2522: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2623,10 +2527,10 @@
+ fi
+ ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+ if test -n "$ac_ct_CXX"; then
+- echo "$as_me:2626: result: $ac_ct_CXX" >&5
++ echo "$as_me:2530: result: $ac_ct_CXX" >&5
+ echo "${ECHO_T}$ac_ct_CXX" >&6
+ else
+- echo "$as_me:2629: result: no" >&5
++ echo "$as_me:2533: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -2638,32 +2542,32 @@
+ fi
+
+ # Provide some information about the compiler.
+-echo "$as_me:2641:" \
++echo "$as_me:2545:" \
+ "checking for C++ compiler version" >&5
+ ac_compiler=`set X $ac_compile; echo $2`
+-{ (eval echo "$as_me:2644: \"$ac_compiler --version </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2548: \"$ac_compiler --version </dev/null >&5\"") >&5
+ (eval $ac_compiler --version </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2647: \$? = $ac_status" >&5
++ echo "$as_me:2551: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:2649: \"$ac_compiler -v </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2553: \"$ac_compiler -v </dev/null >&5\"") >&5
+ (eval $ac_compiler -v </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2652: \$? = $ac_status" >&5
++ echo "$as_me:2556: \$? = $ac_status" >&5
+ (exit $ac_status); }
+-{ (eval echo "$as_me:2654: \"$ac_compiler -V </dev/null >&5\"") >&5
++{ (eval echo "$as_me:2558: \"$ac_compiler -V </dev/null >&5\"") >&5
+ (eval $ac_compiler -V </dev/null >&5) 2>&5
+ ac_status=$?
+- echo "$as_me:2657: \$? = $ac_status" >&5
++ echo "$as_me:2561: \$? = $ac_status" >&5
+ (exit $ac_status); }
+
+-echo "$as_me:2660: checking whether we are using the GNU C++ compiler" >&5
++echo "$as_me:2564: checking whether we are using the GNU C++ compiler" >&5
+ echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6
+ if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2666 "configure"
++#line 2570 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -2678,16 +2582,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2681: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2585: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2684: \$? = $ac_status" >&5
++ echo "$as_me:2588: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2687: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2591: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2690: \$? = $ac_status" >&5
++ echo "$as_me:2594: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_compiler_gnu=yes
+ else
+@@ -2699,19 +2603,19 @@
+ ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+ fi
+-echo "$as_me:2702: result: $ac_cv_cxx_compiler_gnu" >&5
++echo "$as_me:2606: result: $ac_cv_cxx_compiler_gnu" >&5
+ echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6
+ GXX=`test $ac_compiler_gnu = yes && echo yes`
+ ac_test_CXXFLAGS=${CXXFLAGS+set}
+ ac_save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="-g"
+-echo "$as_me:2708: checking whether $CXX accepts -g" >&5
++echo "$as_me:2612: checking whether $CXX accepts -g" >&5
+ echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6
+ if test "${ac_cv_prog_cxx_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2714 "configure"
++#line 2618 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -2723,16 +2627,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2726: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2630: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2729: \$? = $ac_status" >&5
++ echo "$as_me:2633: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2732: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2636: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2735: \$? = $ac_status" >&5
++ echo "$as_me:2639: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cxx_g=yes
+ else
+@@ -2742,7 +2646,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:2745: result: $ac_cv_prog_cxx_g" >&5
++echo "$as_me:2649: result: $ac_cv_prog_cxx_g" >&5
+ echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6
+ if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+@@ -2769,7 +2673,7 @@
+ 'void exit (int);'
+ do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2772 "configure"
++#line 2676 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ $ac_declaration
+@@ -2782,16 +2686,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2785: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2689: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2788: \$? = $ac_status" >&5
++ echo "$as_me:2692: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2791: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2695: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2794: \$? = $ac_status" >&5
++ echo "$as_me:2698: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -2801,7 +2705,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 2804 "configure"
++#line 2708 "configure"
+ #include "confdefs.h"
+ $ac_declaration
+ int
+@@ -2813,16 +2717,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:2816: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:2720: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:2819: \$? = $ac_status" >&5
++ echo "$as_me:2723: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:2822: \"$ac_try\"") >&5
++ { (eval echo "$as_me:2726: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:2825: \$? = $ac_status" >&5
++ echo "$as_me:2729: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -2844,26 +2748,72 @@
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
++ # autoconf 2.5x removed the error - by hardcoding it to g++.
++ if test "$CXX" = "g++" ; then
++ # Extract the first word of "g++", so it can be a program name with args.
++set dummy g++; ac_word=$2
++echo "$as_me:2755: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_CXX+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $CXX in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_CXX="$CXX" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ if $as_executable_p "$ac_dir/$ac_word"; then
++ ac_cv_path_CXX="$ac_dir/$ac_word"
++ echo "$as_me:2772: found $ac_dir/$ac_word" >&5
++ break
++fi
++done
++
++ ;;
++esac
++fi
++CXX=$ac_cv_path_CXX
++
++if test -n "$CXX"; then
++ echo "$as_me:2783: result: $CXX" >&5
++echo "${ECHO_T}$CXX" >&6
++else
++ echo "$as_me:2786: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ fi
++ if test "$CXX" = "g++" ; then
++ { echo "$as_me:2792: WARNING: ignoring hardcoded g++" >&5
++echo "$as_me: WARNING: ignoring hardcoded g++" >&2;}
++ cf_with_cxx=no; CXX=""; GXX="";
+ fi
++fi
+
+ GXX_VERSION=none
+ if test "$GXX" = yes; then
+- echo "$as_me:2851: checking version of g++" >&5
++ echo "$as_me:2800: checking version of g++" >&5
+ echo $ECHO_N "checking version of g++... $ECHO_C" >&6
+- GXX_VERSION="`${CXX-g++} --version|head -1`"
+- echo "$as_me:2854: result: $GXX_VERSION" >&5
++ GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`"
++ echo "$as_me:2803: result: $GXX_VERSION" >&5
+ echo "${ECHO_T}$GXX_VERSION" >&6
+- case $GXX_VERSION in
+- 1*|2.[0-6]*)
+- GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
+- cf_cxx_library=no
+- { echo "$as_me:2860: WARNING: templates do not work" >&5
+-echo "$as_me: WARNING: templates do not work" >&2;}
+- ;;
+- esac
+ fi
+
+-echo "$as_me:2866: checking if you want to build C++ binding and demo" >&5
++case $GXX_VERSION in
++1*|2.[0-6]*)
++ GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
++ cf_cxx_library=no
++ { echo "$as_me:2811: WARNING: templates do not work" >&5
++echo "$as_me: WARNING: templates do not work" >&2;}
++ ;;
++esac
++
++echo "$as_me:2816: checking if you want to build C++ binding and demo" >&5
+ echo $ECHO_N "checking if you want to build C++ binding and demo... $ECHO_C" >&6
+
+ # Check whether --with-cxx-binding or --without-cxx-binding was given.
+@@ -2873,10 +2823,10 @@
+ else
+ cf_with_cxx_binding=$cf_with_cxx
+ fi;
+-echo "$as_me:2876: result: $cf_with_cxx_binding" >&5
++echo "$as_me:2826: result: $cf_with_cxx_binding" >&5
+ echo "${ECHO_T}$cf_with_cxx_binding" >&6
+
+-echo "$as_me:2879: checking if you want to build with Ada95" >&5
++echo "$as_me:2829: checking if you want to build with Ada95" >&5
+ echo $ECHO_N "checking if you want to build with Ada95... $ECHO_C" >&6
+
+ # Check whether --with-ada or --without-ada was given.
+@@ -2886,10 +2836,10 @@
+ else
+ cf_with_ada=yes
+ fi;
+-echo "$as_me:2889: result: $cf_with_ada" >&5
++echo "$as_me:2839: result: $cf_with_ada" >&5
+ echo "${ECHO_T}$cf_with_ada" >&6
+
+-echo "$as_me:2892: checking if you want to build programs such as tic" >&5
++echo "$as_me:2842: checking if you want to build programs such as tic" >&5
+ echo $ECHO_N "checking if you want to build programs such as tic... $ECHO_C" >&6
+
+ # Check whether --with-progs or --without-progs was given.
+@@ -2899,10 +2849,10 @@
+ else
+ cf_with_progs=yes
+ fi;
+-echo "$as_me:2902: result: $cf_with_progs" >&5
++echo "$as_me:2852: result: $cf_with_progs" >&5
+ echo "${ECHO_T}$cf_with_progs" >&6
+
+-echo "$as_me:2905: checking if you wish to install curses.h" >&5
++echo "$as_me:2855: checking if you wish to install curses.h" >&5
+ echo $ECHO_N "checking if you wish to install curses.h... $ECHO_C" >&6
+
+ # Check whether --with-curses-h or --without-curses-h was given.
+@@ -2912,7 +2862,7 @@
+ else
+ with_curses_h=yes
+ fi;
+-echo "$as_me:2915: result: $with_curses_h" >&5
++echo "$as_me:2865: result: $with_curses_h" >&5
+ echo "${ECHO_T}$with_curses_h" >&6
+
+ modules_to_build="ncurses"
+@@ -2938,7 +2888,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:2941: checking for $ac_word" >&5
++echo "$as_me:2891: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -2953,7 +2903,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_AWK="$ac_prog"
+-echo "$as_me:2956: found $ac_dir/$ac_word" >&5
++echo "$as_me:2906: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -2961,17 +2911,17 @@
+ fi
+ AWK=$ac_cv_prog_AWK
+ if test -n "$AWK"; then
+- echo "$as_me:2964: result: $AWK" >&5
++ echo "$as_me:2914: result: $AWK" >&5
+ echo "${ECHO_T}$AWK" >&6
+ else
+- echo "$as_me:2967: result: no" >&5
++ echo "$as_me:2917: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ test -n "$AWK" && break
+ done
+
+-echo "$as_me:2974: checking whether ${MAKE-make} sets \${MAKE}" >&5
++echo "$as_me:2924: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
+ set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+ if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+@@ -2991,11 +2941,11 @@
+ rm -f conftest.make
+ fi
+ if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+- echo "$as_me:2994: result: yes" >&5
++ echo "$as_me:2944: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+ else
+- echo "$as_me:2998: result: no" >&5
++ echo "$as_me:2948: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+ fi
+@@ -3012,7 +2962,7 @@
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+-echo "$as_me:3015: checking for a BSD compatible install" >&5
++echo "$as_me:2965: checking for a BSD compatible install" >&5
+ echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6
+ if test -z "$INSTALL"; then
+ if test "${ac_cv_path_install+set}" = set; then
+@@ -3061,7 +3011,7 @@
+ INSTALL=$ac_install_sh
+ fi
+ fi
+-echo "$as_me:3064: result: $INSTALL" >&5
++echo "$as_me:3014: result: $INSTALL" >&5
+ echo "${ECHO_T}$INSTALL" >&6
+
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+@@ -3076,13 +3026,13 @@
+ /*)
+ ;;
+ *)
+- cf_dir=`echo $INSTALL | sed -e 's:/[^/]*$::'`
++ cf_dir=`echo $INSTALL | sed -e 's%/[^/]*$%%'`
+ test -z "$cf_dir" && cf_dir=.
+- INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's:^.*/::'`
++ INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
+ ;;
+ esac
+
+-echo "$as_me:3085: checking for long file names" >&5
++echo "$as_me:3035: checking for long file names" >&5
+ echo $ECHO_N "checking for long file names... $ECHO_C" >&6
+ if test "${ac_cv_sys_long_file_names+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3121,7 +3071,7 @@
+ rm -rf $ac_xdir 2>/dev/null
+ done
+ fi
+-echo "$as_me:3124: result: $ac_cv_sys_long_file_names" >&5
++echo "$as_me:3074: result: $ac_cv_sys_long_file_names" >&5
+ echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6
+ if test $ac_cv_sys_long_file_names = yes; then
+
+@@ -3131,7 +3081,7 @@
+
+ fi
+
+-echo "$as_me:3134: checking if filesystem supports mixed-case filenames" >&5
++echo "$as_me:3084: checking if filesystem supports mixed-case filenames" >&5
+ echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6
+ if test "${cf_cv_mixedcase+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3147,27 +3097,27 @@
+ rm -f conftest CONFTEST
+
+ fi
+-echo "$as_me:3150: result: $cf_cv_mixedcase" >&5
++echo "$as_me:3100: result: $cf_cv_mixedcase" >&5
+ echo "${ECHO_T}$cf_cv_mixedcase" >&6
+ test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF
+ #define MIXEDCASE_FILENAMES 1
+ EOF
+
+-echo "$as_me:3156: checking whether ln -s works" >&5
++echo "$as_me:3106: checking whether ln -s works" >&5
+ echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+ LN_S=$as_ln_s
+ if test "$LN_S" = "ln -s"; then
+- echo "$as_me:3160: result: yes" >&5
++ echo "$as_me:3110: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+ else
+- echo "$as_me:3163: result: no, using $LN_S" >&5
++ echo "$as_me:3113: result: no, using $LN_S" >&5
+ echo "${ECHO_T}no, using $LN_S" >&6
+ fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+-echo "$as_me:3170: checking for $ac_word" >&5
++echo "$as_me:3120: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3182,7 +3132,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+-echo "$as_me:3185: found $ac_dir/$ac_word" >&5
++echo "$as_me:3135: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3190,10 +3140,10 @@
+ fi
+ RANLIB=$ac_cv_prog_RANLIB
+ if test -n "$RANLIB"; then
+- echo "$as_me:3193: result: $RANLIB" >&5
++ echo "$as_me:3143: result: $RANLIB" >&5
+ echo "${ECHO_T}$RANLIB" >&6
+ else
+- echo "$as_me:3196: result: no" >&5
++ echo "$as_me:3146: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3202,7 +3152,7 @@
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+ set dummy ranlib; ac_word=$2
+-echo "$as_me:3205: checking for $ac_word" >&5
++echo "$as_me:3155: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3217,7 +3167,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+-echo "$as_me:3220: found $ac_dir/$ac_word" >&5
++echo "$as_me:3170: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3226,10 +3176,10 @@
+ fi
+ ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+ if test -n "$ac_ct_RANLIB"; then
+- echo "$as_me:3229: result: $ac_ct_RANLIB" >&5
++ echo "$as_me:3179: result: $ac_ct_RANLIB" >&5
+ echo "${ECHO_T}$ac_ct_RANLIB" >&6
+ else
+- echo "$as_me:3232: result: no" >&5
++ echo "$as_me:3182: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3240,7 +3190,7 @@
+
+ # Extract the first word of "ctags", so it can be a program name with args.
+ set dummy ctags; ac_word=$2
+-echo "$as_me:3243: checking for $ac_word" >&5
++echo "$as_me:3193: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3255,7 +3205,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_LOWER_TAGS="yes"
+-echo "$as_me:3258: found $ac_dir/$ac_word" >&5
++echo "$as_me:3208: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3264,17 +3214,17 @@
+ fi
+ MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS
+ if test -n "$MAKE_LOWER_TAGS"; then
+- echo "$as_me:3267: result: $MAKE_LOWER_TAGS" >&5
++ echo "$as_me:3217: result: $MAKE_LOWER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6
+ else
+- echo "$as_me:3270: result: no" >&5
++ echo "$as_me:3220: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ if test "$cf_cv_mixedcase" = yes ; then
+ # Extract the first word of "etags", so it can be a program name with args.
+ set dummy etags; ac_word=$2
+-echo "$as_me:3277: checking for $ac_word" >&5
++echo "$as_me:3227: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3289,7 +3239,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAKE_UPPER_TAGS="yes"
+-echo "$as_me:3292: found $ac_dir/$ac_word" >&5
++echo "$as_me:3242: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3298,10 +3248,10 @@
+ fi
+ MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS
+ if test -n "$MAKE_UPPER_TAGS"; then
+- echo "$as_me:3301: result: $MAKE_UPPER_TAGS" >&5
++ echo "$as_me:3251: result: $MAKE_UPPER_TAGS" >&5
+ echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6
+ else
+- echo "$as_me:3304: result: no" >&5
++ echo "$as_me:3254: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3325,7 +3275,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:3328: checking for $ac_word" >&5
++echo "$as_me:3278: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_LINT+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3340,7 +3290,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_LINT="$ac_prog"
+-echo "$as_me:3343: found $ac_dir/$ac_word" >&5
++echo "$as_me:3293: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3348,10 +3298,10 @@
+ fi
+ LINT=$ac_cv_prog_LINT
+ if test -n "$LINT"; then
+- echo "$as_me:3351: result: $LINT" >&5
++ echo "$as_me:3301: result: $LINT" >&5
+ echo "${ECHO_T}$LINT" >&6
+ else
+- echo "$as_me:3354: result: no" >&5
++ echo "$as_me:3304: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -3362,7 +3312,7 @@
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+-echo "$as_me:3365: checking for $ac_word" >&5
++echo "$as_me:3315: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_MAN+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3377,7 +3327,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_MAN="$ac_prog"
+-echo "$as_me:3380: found $ac_dir/$ac_word" >&5
++echo "$as_me:3330: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -3385,54 +3335,172 @@
+ fi
+ MAN=$ac_cv_prog_MAN
+ if test -n "$MAN"; then
+- echo "$as_me:3388: result: $MAN" >&5
++ echo "$as_me:3338: result: $MAN" >&5
+ echo "${ECHO_T}$MAN" >&6
+ else
+- echo "$as_me:3391: result: no" >&5
++ echo "$as_me:3341: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+ test -n "$MAN" && break
+ done
+
+-if test "${cf_cv_subst_LD+set}" = set; then
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ld; ac_word=$2
++echo "$as_me:3351: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_LD+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ if test -n "$LD"; then
++ ac_cv_prog_LD="$LD" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_LD="${ac_tool_prefix}ld"
++echo "$as_me:3366: found $ac_dir/$ac_word" >&5
++break
++done
+
+-echo "$as_me:3402: checking for loader (symbol LD)" >&5
+-echo $ECHO_N "checking for loader (symbol LD)... $ECHO_C" >&6
+-test -z "$LD" && LD=ld
+-echo "$as_me:3405: result: $LD" >&5
++fi
++fi
++LD=$ac_cv_prog_LD
++if test -n "$LD"; then
++ echo "$as_me:3374: result: $LD" >&5
+ echo "${ECHO_T}$LD" >&6
++else
++ echo "$as_me:3377: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-cf_cv_subst_LD=$LD
+ fi
++if test -z "$ac_cv_prog_LD"; then
++ ac_ct_LD=$LD
++ # Extract the first word of "ld", so it can be a program name with args.
++set dummy ld; ac_word=$2
++echo "$as_me:3386: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_LD+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_LD"; then
++ ac_cv_prog_ac_ct_LD="$ac_ct_LD" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_LD="ld"
++echo "$as_me:3401: found $ac_dir/$ac_word" >&5
++break
++done
+
+-LD=${cf_cv_subst_LD}
++ test -z "$ac_cv_prog_ac_ct_LD" && ac_cv_prog_ac_ct_LD="ld"
++fi
++fi
++ac_ct_LD=$ac_cv_prog_ac_ct_LD
++if test -n "$ac_ct_LD"; then
++ echo "$as_me:3410: result: $ac_ct_LD" >&5
++echo "${ECHO_T}$ac_ct_LD" >&6
++else
++ echo "$as_me:3413: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-if test "${cf_cv_subst_AR+set}" = set; then
++ LD=$ac_ct_LD
++else
++ LD="$ac_cv_prog_LD"
++fi
++
++if test -n "$ac_tool_prefix"; then
++ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ar; ac_word=$2
++echo "$as_me:3425: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_AR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++ if test -n "$AR"; then
++ ac_cv_prog_AR="$AR" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_AR="${ac_tool_prefix}ar"
++echo "$as_me:3440: found $ac_dir/$ac_word" >&5
++break
++done
+
+-echo "$as_me:3417: checking for archiver (symbol AR)" >&5
+-echo $ECHO_N "checking for archiver (symbol AR)... $ECHO_C" >&6
+-test -z "$AR" && AR=ar
+-echo "$as_me:3420: result: $AR" >&5
++fi
++fi
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++ echo "$as_me:3448: result: $AR" >&5
+ echo "${ECHO_T}$AR" >&6
++else
++ echo "$as_me:3451: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
+
+-cf_cv_subst_AR=$AR
++fi
++if test -z "$ac_cv_prog_AR"; then
++ ac_ct_AR=$AR
++ # Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++echo "$as_me:3460: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$ac_ct_AR"; then
++ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_ac_ct_AR="ar"
++echo "$as_me:3475: found $ac_dir/$ac_word" >&5
++break
++done
++
++ test -z "$ac_cv_prog_ac_ct_AR" && ac_cv_prog_ac_ct_AR="ar"
++fi
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++ echo "$as_me:3484: result: $ac_ct_AR" >&5
++echo "${ECHO_T}$ac_ct_AR" >&6
++else
++ echo "$as_me:3487: result: no" >&5
++echo "${ECHO_T}no" >&6
+ fi
+
+-AR=${cf_cv_subst_AR}
++ AR=$ac_ct_AR
++else
++ AR="$ac_cv_prog_AR"
++fi
+
+ if test "${cf_cv_subst_AR_OPTS+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+-echo "$as_me:3432: checking for archiver options (symbol AR_OPTS)" >&5
++echo "$as_me:3500: checking for archiver options (symbol AR_OPTS)" >&5
+ echo $ECHO_N "checking for archiver options (symbol AR_OPTS)... $ECHO_C" >&6
+ test -z "$AR_OPTS" && AR_OPTS=rv
+-echo "$as_me:3435: result: $AR_OPTS" >&5
++echo "$as_me:3503: result: $AR_OPTS" >&5
+ echo "${ECHO_T}$AR_OPTS" >&6
+
+ cf_cv_subst_AR_OPTS=$AR_OPTS
+@@ -3440,7 +3508,7 @@
+
+ AR_OPTS=${cf_cv_subst_AR_OPTS}
+
+-echo "$as_me:3443: checking for makeflags variable" >&5
++echo "$as_me:3511: checking for makeflags variable" >&5
+ echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6
+ if test "${cf_cv_makeflags+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3473,10 +3541,10 @@
+ rm -f cf_makeflags.tmp
+
+ fi
+-echo "$as_me:3476: result: $cf_cv_makeflags" >&5
++echo "$as_me:3544: result: $cf_cv_makeflags" >&5
+ echo "${ECHO_T}$cf_cv_makeflags" >&6
+
+-echo "$as_me:3479: checking if you have specified an install-prefix" >&5
++echo "$as_me:3547: checking if you have specified an install-prefix" >&5
+ echo $ECHO_N "checking if you have specified an install-prefix... $ECHO_C" >&6
+
+ # Check whether --with-install-prefix or --without-install-prefix was given.
+@@ -3489,17 +3557,114 @@
+ ;;
+ esac
+ fi;
+-echo "$as_me:3492: result: $DESTDIR" >&5
++echo "$as_me:3560: result: $DESTDIR" >&5
+ echo "${ECHO_T}$DESTDIR" >&6
+
+ ###############################################################################
+
++# If we're cross-compiling, allow the user to override the tools and their
++# options. The configure script is oriented toward identifying the host
++# compiler, etc., but we need a build compiler to generate parts of the source.
++: ${BUILD_CC:='$(CC)'}
++: ${BUILD_CFLAGS:='$(CFLAGS)'}
++: ${BUILD_CPPFLAGS:='$(CPPFLAGS)'}
++: ${BUILD_LDFLAGS:='$(LDFLAGS)'}
++: ${BUILD_LIBS:='$(LIBS)'}
++if test "$cross_compiling" = yes ; then
++
++# Check whether --with-build-cc or --without-build-cc was given.
++if test "${with_build_cc+set}" = set; then
++ withval="$with_build_cc"
++ BUILD_CC="$withval"
++else
++ for ac_prog in $CC gcc cc
++do
++ # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++echo "$as_me:3584: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_BUILD_CC+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$BUILD_CC"; then
++ ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
++else
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ $as_executable_p "$ac_dir/$ac_word" || continue
++ac_cv_prog_BUILD_CC="$ac_prog"
++echo "$as_me:3599: found $ac_dir/$ac_word" >&5
++break
++done
++
++fi
++fi
++BUILD_CC=$ac_cv_prog_BUILD_CC
++if test -n "$BUILD_CC"; then
++ echo "$as_me:3607: result: $BUILD_CC" >&5
++echo "${ECHO_T}$BUILD_CC" >&6
++else
++ echo "$as_me:3610: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ test -n "$BUILD_CC" && break
++done
++
++fi;
++
++# Check whether --with-build-cflags or --without-build-cflags was given.
++if test "${with_build_cflags+set}" = set; then
++ withval="$with_build_cflags"
++ BUILD_CFLAGS="$withval"
++fi;
++
++# Check whether --with-build-cppflags or --without-build-cppflags was given.
++if test "${with_build_cppflags+set}" = set; then
++ withval="$with_build_cppflags"
++ BUILD_CPPFLAGS="$withval"
++fi;
++
++# Check whether --with-build-ldflags or --without-build-ldflags was given.
++if test "${with_build_ldflags+set}" = set; then
++ withval="$with_build_ldflags"
++ BUILD_LDFLAGS="$withval"
++fi;
++
++# Check whether --with-build-libs or --without-build-libs was given.
++if test "${with_build_libs+set}" = set; then
++ withval="$with_build_libs"
++ BUILD_LIBS="$withval"
++fi;
++fi
++
++###############################################################################
++
+ ### Options to allow the user to specify the set of libraries which are used.
+ ### Use "--without-normal --with-shared" to allow the default model to be
+ ### shared, for example.
+ cf_list_models=""
+
+-echo "$as_me:3502: checking if you want to build libraries with libtool" >&5
++LIBTOOL=
++
++# common library maintenance symbols that are convenient for libtool scripts:
++LIB_CREATE='$(AR) -cr'
++LIB_OBJECT='$(OBJECTS)'
++LIB_SUFFIX=.a
++LIB_PREP="$RANLIB"
++
++# symbols used to prop libtool up to enable it to determine what it should be
++# doing:
++LIB_CLEAN=
++LIB_COMPILE=
++LIB_LINK=
++LIB_INSTALL=
++LIB_UNINSTALL=
++
++echo "$as_me:3667: checking if you want to build libraries with libtool" >&5
+ echo $ECHO_N "checking if you want to build libraries with libtool... $ECHO_C" >&6
+
+ # Check whether --with-libtool or --without-libtool was given.
+@@ -3509,16 +3674,131 @@
+ else
+ with_libtool=no
+ fi;
+-echo "$as_me:3512: result: $with_libtool" >&5
++echo "$as_me:3677: result: $with_libtool" >&5
+ echo "${ECHO_T}$with_libtool" >&6
+-if test "$with_libtool" = "yes"; then
+- cf_list_models="$cf_list_models libtool"
+- test -z "$LIBTOOL" && LIBTOOL=libtool
++if test "$with_libtool" != "no"; then
++ if test "$with_libtool" != "yes" ; then
++
++case ".$with_libtool" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*) #(vi
++ eval with_libtool="$with_libtool"
++ case ".$with_libtool" in #(vi
++ .NONE/*)
++ with_libtool=`echo $with_libtool | sed -e s%NONE%$ac_default_prefix%`
++ ;;
++ esac
++ ;; #(vi
++.NONE/*)
++ with_libtool=`echo $with_libtool | sed -e s%NONE%$ac_default_prefix%`
++ ;;
++*)
++ { { echo "$as_me:3701: error: expected a pathname, not \"$with_libtool\"" >&5
++echo "$as_me: error: expected a pathname, not \"$with_libtool\"" >&2;}
++ { (exit 1); exit 1; }; }
++ ;;
++esac
++
++ LIBTOOL=$with_libtool
++ else
++ # Extract the first word of "libtool", so it can be a program name with args.
++set dummy libtool; ac_word=$2
++echo "$as_me:3711: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_LIBTOOL+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ case $LIBTOOL in
++ [\\/]* | ?:[\\/]*)
++ ac_cv_path_LIBTOOL="$LIBTOOL" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS=$IFS; IFS=$ac_path_separator
++ac_dummy="$PATH"
++for ac_dir in $ac_dummy; do
++ IFS=$ac_save_IFS
++ test -z "$ac_dir" && ac_dir=.
++ if $as_executable_p "$ac_dir/$ac_word"; then
++ ac_cv_path_LIBTOOL="$ac_dir/$ac_word"
++ echo "$as_me:3728: found $ac_dir/$ac_word" >&5
++ break
++fi
++done
++
++ ;;
++esac
++fi
++LIBTOOL=$ac_cv_path_LIBTOOL
++
++if test -n "$LIBTOOL"; then
++ echo "$as_me:3739: result: $LIBTOOL" >&5
++echo "${ECHO_T}$LIBTOOL" >&6
++else
++ echo "$as_me:3742: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ fi
++ if test -z "$LIBTOOL" ; then
++ { { echo "$as_me:3748: error: Cannot find libtool" >&5
++echo "$as_me: error: Cannot find libtool" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++
++ LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
++ LIB_OBJECT='$(OBJECTS:.o=.lo)'
++ LIB_SUFFIX=.la
++ LIB_CLEAN='$(LIBTOOL) --mode=clean'
++ LIB_COMPILE='$(LIBTOOL) --mode=compile'
++ LIB_LINK='$(LIBTOOL) --mode=link'
++ LIB_INSTALL='$(LIBTOOL) --mode=install'
++ LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
++ LIB_PREP=:
++
++ # Show the version of libtool
++ echo "$as_me:3764: checking version of libtool" >&5
++echo $ECHO_N "checking version of libtool... $ECHO_C" >&6
++
++ # Save the version in a cache variable - this is not entirely a good
++ # thing, but the version string from libtool is very ugly, and for
++ # bug reports it might be useful to have the original string.
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'`
++ echo "$as_me:3771: result: $cf_cv_libtool_version" >&5
++echo "${ECHO_T}$cf_cv_libtool_version" >&6
++ if test -z "$cf_cv_libtool_version" ; then
++ { { echo "$as_me:3774: error: This is not libtool" >&5
++echo "$as_me: error: This is not libtool" >&2;}
++ { (exit 1); exit 1; }; }
++ fi
++
++ # special hack to add --tag option for C++ compiler
++ case $cf_cv_libtool_version in
++ 1.[5-9]*|[2-9]*)
++ LIBTOOL_CXX="$LIBTOOL --tag=CXX"
++ ;;
++ *)
++ LIBTOOL_CXX="$LIBTOOL"
++ ;;
++ esac
+ else
+ LIBTOOL=""
++ LIBTOOL_CXX=""
+ fi
+
+-echo "$as_me:3521: checking if you want to build shared libraries" >&5
++test -z "$LIBTOOL" && ECHO_LT=
++
++if test "$with_libtool" != "no" ; then
++
++cf_list_models="$cf_list_models libtool"
++
++else
++
++echo "$as_me:3801: checking if you want to build shared libraries" >&5
+ echo $ECHO_N "checking if you want to build shared libraries... $ECHO_C" >&6
+
+ # Check whether --with-shared or --without-shared was given.
+@@ -3528,11 +3808,11 @@
+ else
+ with_shared=no
+ fi;
+-echo "$as_me:3531: result: $with_shared" >&5
++echo "$as_me:3811: result: $with_shared" >&5
+ echo "${ECHO_T}$with_shared" >&6
+ test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
+
+-echo "$as_me:3535: checking if you want to build static libraries" >&5
++echo "$as_me:3815: checking if you want to build static libraries" >&5
+ echo $ECHO_N "checking if you want to build static libraries... $ECHO_C" >&6
+
+ # Check whether --with-normal or --without-normal was given.
+@@ -3542,11 +3822,11 @@
+ else
+ with_normal=yes
+ fi;
+-echo "$as_me:3545: result: $with_normal" >&5
++echo "$as_me:3825: result: $with_normal" >&5
+ echo "${ECHO_T}$with_normal" >&6
+ test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
+
+-echo "$as_me:3549: checking if you want to build debug libraries" >&5
++echo "$as_me:3829: checking if you want to build debug libraries" >&5
+ echo $ECHO_N "checking if you want to build debug libraries... $ECHO_C" >&6
+
+ # Check whether --with-debug or --without-debug was given.
+@@ -3556,11 +3836,11 @@
+ else
+ with_debug=yes
+ fi;
+-echo "$as_me:3559: result: $with_debug" >&5
++echo "$as_me:3839: result: $with_debug" >&5
+ echo "${ECHO_T}$with_debug" >&6
+ test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
+
+-echo "$as_me:3563: checking if you want to build profiling libraries" >&5
++echo "$as_me:3843: checking if you want to build profiling libraries" >&5
+ echo $ECHO_N "checking if you want to build profiling libraries... $ECHO_C" >&6
+
+ # Check whether --with-profile or --without-profile was given.
+@@ -3570,25 +3850,27 @@
+ else
+ with_profile=no
+ fi;
+-echo "$as_me:3573: result: $with_profile" >&5
++echo "$as_me:3853: result: $with_profile" >&5
+ echo "${ECHO_T}$with_profile" >&6
+ test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
+
++fi
++
+ ###############################################################################
+
+-echo "$as_me:3579: checking for specified models" >&5
++echo "$as_me:3861: checking for specified models" >&5
+ echo $ECHO_N "checking for specified models... $ECHO_C" >&6
+ test -z "$cf_list_models" && cf_list_models=normal
+-test "$with_libtool" = "yes" && cf_list_models=libtool
+-echo "$as_me:3583: result: $cf_list_models" >&5
++test "$with_libtool" != "no" && cf_list_models=libtool
++echo "$as_me:3865: result: $cf_list_models" >&5
+ echo "${ECHO_T}$cf_list_models" >&6
+
+ ### Use the first model as the default, and save its suffix for use in building
+ ### up test-applications.
+-echo "$as_me:3588: checking for default model" >&5
++echo "$as_me:3870: checking for default model" >&5
+ echo $ECHO_N "checking for default model... $ECHO_C" >&6
+-DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
+-echo "$as_me:3591: result: $DFT_LWR_MODEL" >&5
++DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
++echo "$as_me:3873: result: $DFT_LWR_MODEL" >&5
+ echo "${ECHO_T}$DFT_LWR_MODEL" >&6
+
+ DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+@@ -3612,7 +3894,7 @@
+
+ ###############################################################################
+
+-echo "$as_me:3615: checking if you want to build a separate terminfo library" >&5
++echo "$as_me:3897: checking if you want to build a separate terminfo library" >&5
+ echo $ECHO_N "checking if you want to build a separate terminfo library... $ECHO_C" >&6
+
+ # Check whether --with-termlib or --without-termlib was given.
+@@ -3622,11 +3904,12 @@
+ else
+ with_termlib=no
+ fi;
+-echo "$as_me:3625: result: $with_termlib" >&5
++echo "$as_me:3907: result: $with_termlib" >&5
+ echo "${ECHO_T}$with_termlib" >&6
+
+ ### Checks for special libraries, must be done up-front.
+-echo "$as_me:3629: checking if you want to link with dbmalloc for testing" >&5
++
++echo "$as_me:3912: checking if you want to link with dbmalloc for testing" >&5
+ echo $ECHO_N "checking if you want to link with dbmalloc for testing... $ECHO_C" >&6
+
+ # Check whether --with-dbmalloc or --without-dbmalloc was given.
+@@ -3636,11 +3919,11 @@
+ else
+ with_dbmalloc=no
+ fi;
+-echo "$as_me:3639: result: $with_dbmalloc" >&5
++echo "$as_me:3922: result: $with_dbmalloc" >&5
+ echo "${ECHO_T}$with_dbmalloc" >&6
+-if test "$with_dbmalloc" = yes ; then
++if test $with_dbmalloc = yes ; then
+
+-echo "$as_me:3643: checking for debug_malloc in -ldbmalloc" >&5
++echo "$as_me:3926: checking for debug_malloc in -ldbmalloc" >&5
+ echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
+ if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3648,7 +3931,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldbmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3651 "configure"
++#line 3934 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -3667,16 +3950,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3670: \"$ac_link\"") >&5
++if { (eval echo "$as_me:3953: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3673: \$? = $ac_status" >&5
++ echo "$as_me:3956: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3676: \"$ac_try\"") >&5
++ { (eval echo "$as_me:3959: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3679: \$? = $ac_status" >&5
++ echo "$as_me:3962: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dbmalloc_debug_malloc=yes
+ else
+@@ -3687,7 +3970,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:3690: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
++echo "$as_me:3973: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
+ echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
+ if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then
+ cat >>confdefs.h <<EOF
+@@ -3700,7 +3983,7 @@
+
+ fi
+
+-echo "$as_me:3703: checking if you want to link with dmalloc for testing" >&5
++echo "$as_me:3986: checking if you want to link with dmalloc for testing" >&5
+ echo $ECHO_N "checking if you want to link with dmalloc for testing... $ECHO_C" >&6
+
+ # Check whether --with-dmalloc or --without-dmalloc was given.
+@@ -3710,11 +3993,11 @@
+ else
+ with_dmalloc=no
+ fi;
+-echo "$as_me:3713: result: $with_dmalloc" >&5
++echo "$as_me:3996: result: $with_dmalloc" >&5
+ echo "${ECHO_T}$with_dmalloc" >&6
+-if test "$with_dmalloc" = yes ; then
++if test $with_dmalloc = yes ; then
+
+-echo "$as_me:3717: checking for dmalloc_debug in -ldmalloc" >&5
++echo "$as_me:4000: checking for dmalloc_debug in -ldmalloc" >&5
+ echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
+ if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3722,7 +4005,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldmalloc $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3725 "configure"
++#line 4008 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -3741,16 +4024,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3744: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4027: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3747: \$? = $ac_status" >&5
++ echo "$as_me:4030: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3750: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4033: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3753: \$? = $ac_status" >&5
++ echo "$as_me:4036: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dmalloc_dmalloc_debug=yes
+ else
+@@ -3761,7 +4044,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:3764: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
++echo "$as_me:4047: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
+ echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
+ if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then
+ cat >>confdefs.h <<EOF
+@@ -3775,7 +4058,7 @@
+ fi
+
+ SHLIB_LIST=""
+-echo "$as_me:3778: checking if you want to link with the gpm mouse library" >&5
++echo "$as_me:4061: checking if you want to link with the gpm mouse library" >&5
+ echo $ECHO_N "checking if you want to link with the gpm mouse library... $ECHO_C" >&6
+
+ # Check whether --with-gpm or --without-gpm was given.
+@@ -3785,10 +4068,10 @@
+ else
+ with_gpm=no
+ fi;
+-echo "$as_me:3788: result: $with_gpm" >&5
++echo "$as_me:4071: result: $with_gpm" >&5
+ echo "${ECHO_T}$with_gpm" >&6
+ if test "$with_gpm" = yes ; then
+- echo "$as_me:3791: checking for Gpm_Open in -lgpm" >&5
++ echo "$as_me:4074: checking for Gpm_Open in -lgpm" >&5
+ echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6
+ if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -3796,7 +4079,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lgpm $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3799 "configure"
++#line 4082 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -3815,16 +4098,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:3818: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4101: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:3821: \$? = $ac_status" >&5
++ echo "$as_me:4104: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:3824: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4107: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:3827: \$? = $ac_status" >&5
++ echo "$as_me:4110: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_gpm_Gpm_Open=yes
+ else
+@@ -3835,7 +4118,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:3838: result: $ac_cv_lib_gpm_Gpm_Open" >&5
++echo "$as_me:4121: result: $ac_cv_lib_gpm_Gpm_Open" >&5
+ echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
+ if test $ac_cv_lib_gpm_Gpm_Open = yes; then
+
+@@ -3848,23 +4131,23 @@
+ for ac_header in gpm.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:3851: checking for $ac_header" >&5
++echo "$as_me:4134: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3857 "configure"
++#line 4140 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:3861: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:4144: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:3867: \$? = $ac_status" >&5
++ echo "$as_me:4150: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -3883,7 +4166,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:3886: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:4169: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -3894,12 +4177,76 @@
+ done
+
+ else
+- { echo "$as_me:3897: WARNING: Cannot link with gpm library - read the FAQ" >&5
++ { echo "$as_me:4180: WARNING: Cannot link with gpm library - read the FAQ" >&5
+ echo "$as_me: WARNING: Cannot link with gpm library - read the FAQ" >&2;}
+ fi
+
+ fi
+
++# not everyone has "test -c"
++if test -c /dev/sysmouse 2>/dev/null ; then
++echo "$as_me:4188: checking if you want to use sysmouse" >&5
++echo $ECHO_N "checking if you want to use sysmouse... $ECHO_C" >&6
++
++# Check whether --with-sysmouse or --without-sysmouse was given.
++if test "${with_sysmouse+set}" = set; then
++ withval="$with_sysmouse"
++ cf_with_sysmouse=$withval
++else
++ cf_with_sysmouse=maybe
++fi;
++ if test "$cf_with_sysmouse" != no ; then
++ cat >conftest.$ac_ext <<_ACEOF
++#line 4200 "configure"
++#include "confdefs.h"
++
++#include <osreldate.h>
++#if (__FreeBSD_version >= 400017)
++#include <sys/consio.h>
++#include <sys/fbio.h>
++#else
++#include <machine/console.h>
++#endif
++
++int
++main ()
++{
++
++ struct mouse_info the_mouse;
++ ioctl(0, CONS_MOUSECTL, &the_mouse);
++
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:4223: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:4226: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:4229: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:4232: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_with_sysmouse=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_with_sysmouse=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ fi
++echo "$as_me:4242: result: $cf_with_sysmouse" >&5
++echo "${ECHO_T}$cf_with_sysmouse" >&6
++test "$cf_with_sysmouse" = yes && cat >>confdefs.h <<\EOF
++#define USE_SYSMOUSE 1
++EOF
++
++fi
++
+ if test X"$CC_G_OPT" = X"" ; then
+ CC_G_OPT='-g'
+ test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
+@@ -3910,7 +4257,7 @@
+ test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
+ fi
+
+-echo "$as_me:3913: checking for default loader flags" >&5
++echo "$as_me:4260: checking for default loader flags" >&5
+ echo $ECHO_N "checking for default loader flags... $ECHO_C" >&6
+ case $DFT_LWR_MODEL in
+ libtool) LD_MODEL='' ;;
+@@ -3919,10 +4266,10 @@
+ profile) LD_MODEL='-pg';;
+ shared) LD_MODEL='' ;;
+ esac
+-echo "$as_me:3922: result: $LD_MODEL" >&5
++echo "$as_me:4269: result: $LD_MODEL" >&5
+ echo "${ECHO_T}$LD_MODEL" >&6
+
+-echo "$as_me:3925: checking if rpath option should be used" >&5
++echo "$as_me:4272: checking if rpath option should be used" >&5
+ echo $ECHO_N "checking if rpath option should be used... $ECHO_C" >&6
+
+ # Check whether --enable-rpath or --disable-rpath was given.
+@@ -3932,7 +4279,7 @@
+ else
+ cf_cv_ld_rpath=no
+ fi;
+-echo "$as_me:3935: result: $cf_cv_ld_rpath" >&5
++echo "$as_me:4282: result: $cf_cv_ld_rpath" >&5
+ echo "${ECHO_T}$cf_cv_ld_rpath" >&6
+
+ LOCAL_LDFLAGS=
+@@ -3942,7 +4289,7 @@
+
+ cf_cv_do_symlinks=no
+
+- echo "$as_me:3945: checking if release/abi version should be used for shared libs" >&5
++ echo "$as_me:4292: checking if release/abi version should be used for shared libs" >&5
+ echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6
+
+ # Check whether --with-shlib-version or --without-shlib-version was given.
+@@ -3957,7 +4304,7 @@
+ cf_cv_shlib_version=$withval
+ ;;
+ *)
+- { { echo "$as_me:3960: error: option value must be one of: rel, abi, auto or no" >&5
++ { { echo "$as_me:4307: error: option value must be one of: rel, abi, auto or no" >&5
+ echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -3966,7 +4313,7 @@
+ else
+ cf_cv_shlib_version=auto
+ fi;
+- echo "$as_me:3969: result: $cf_cv_shlib_version" >&5
++ echo "$as_me:4316: result: $cf_cv_shlib_version" >&5
+ echo "${ECHO_T}$cf_cv_shlib_version" >&6
+
+ cf_cv_rm_so_locs=no
+@@ -3975,14 +4322,14 @@
+ CC_SHARED_OPTS=
+ if test "$GCC" = yes
+ then
+- echo "$as_me:3978: checking which $CC option to use" >&5
++ echo "$as_me:4325: checking which $CC option to use" >&5
+ echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6
+ cf_save_CFLAGS="$CFLAGS"
+ for CC_SHARED_OPTS in -fPIC -fpic ''
+ do
+ CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 3985 "configure"
++#line 4332 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ int
+@@ -3994,16 +4341,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:3997: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:4344: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:4000: \$? = $ac_status" >&5
++ echo "$as_me:4347: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:4003: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4350: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4006: \$? = $ac_status" >&5
++ echo "$as_me:4353: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ break
+ else
+@@ -4012,7 +4359,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+- echo "$as_me:4015: result: $CC_SHARED_OPTS" >&5
++ echo "$as_me:4362: result: $CC_SHARED_OPTS" >&5
+ echo "${ECHO_T}$CC_SHARED_OPTS" >&6
+ CFLAGS="$cf_save_CFLAGS"
+ fi
+@@ -4061,7 +4408,7 @@
+ MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $@` -o $@'
+ cf_cv_rm_so_locs=yes
+ ;;
+- linux*|gnu*)
++ linux*|gnu*|k*bsd*-gnu)
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+@@ -4122,7 +4469,7 @@
+ ;;
+ sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98
+ # tested with osr5.0.5
+- if test "$ac_cv_c_compiler_gnu" != yes; then
++ if test "$GCC" != yes; then
+ CC_SHARED_OPTS='-belf -KPIC'
+ fi
+ MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
+@@ -4136,7 +4483,7 @@
+ ;;
+ sunos4*)
+ # tested with SunOS 4.1.1 and gcc 2.7.0
+- if test "$ac_cv_c_compiler_gnu" != yes; then
++ if test "$GCC" != yes; then
+ CC_SHARED_OPTS='-KPIC'
+ fi
+ MK_SHARED_LIB='$(LD) -assert pure-text -o $@'
+@@ -4144,7 +4491,7 @@
+ ;;
+ solaris2*)
+ # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
+- if test "$ac_cv_c_compiler_gnu" != yes; then
++ if test "$GCC" != yes; then
+ CC_SHARED_OPTS='-KPIC'
+ fi
+ MK_SHARED_LIB='$(LD) -dy -G -h `basename $@ .$(REL_VERSION)`.$(ABI_VERSION) -o $@'
+@@ -4160,7 +4507,7 @@
+ ;;
+ sysv5uw7*|unix_sv*)
+ # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
+- if test "$ac_cv_c_compiler_gnu" != yes; then
++ if test "$GCC" != yes; then
+ CC_SHARED_OPTS='-KPIC'
+ fi
+ MK_SHARED_LIB='$(LD) -d y -G -o $@'
+@@ -4179,7 +4526,7 @@
+ test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
+ ;;
+ *)
+- { echo "$as_me:4182: WARNING: ignored --with-shlib-version" >&5
++ { echo "$as_me:4529: WARNING: ignored --with-shlib-version" >&5
+ echo "$as_me: WARNING: ignored --with-shlib-version" >&2;}
+ ;;
+ esac
+@@ -4187,12 +4534,12 @@
+ esac
+
+ if test -n "$cf_ld_rpath_opt" ; then
+- echo "$as_me:4190: checking if we need a space after rpath option" >&5
++ echo "$as_me:4537: checking if we need a space after rpath option" >&5
+ echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
+ cf_save_LIBS="$LIBS"
+ LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4195 "configure"
++#line 4542 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -4204,16 +4551,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4207: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4554: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4210: \$? = $ac_status" >&5
++ echo "$as_me:4557: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4213: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4560: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4216: \$? = $ac_status" >&5
++ echo "$as_me:4563: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_rpath_space=no
+ else
+@@ -4223,7 +4570,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$cf_save_LIBS"
+- echo "$as_me:4226: result: $cf_rpath_space" >&5
++ echo "$as_me:4573: result: $cf_rpath_space" >&5
+ echo "${ECHO_T}$cf_rpath_space" >&6
+ test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
+ MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
+@@ -4232,7 +4579,7 @@
+ if test "$CC_SHARED_OPTS" = "unknown"; then
+ for model in $cf_list_models; do
+ if test "$model" = "shared"; then
+- { { echo "$as_me:4235: error: Shared libraries are not supported in this version" >&5
++ { { echo "$as_me:4582: error: Shared libraries are not supported in this version" >&5
+ echo "$as_me: error: Shared libraries are not supported in this version" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -4242,7 +4589,7 @@
+ ###############################################################################
+
+ ### use option --disable-overwrite to leave out the link to -lcurses
+-echo "$as_me:4245: checking if you wish to install ncurses overwriting curses" >&5
++echo "$as_me:4592: checking if you wish to install ncurses overwriting curses" >&5
+ echo $ECHO_N "checking if you wish to install ncurses overwriting curses... $ECHO_C" >&6
+
+ # Check whether --enable-overwrite or --disable-overwrite was given.
+@@ -4252,10 +4599,10 @@
+ else
+ if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi
+ fi;
+-echo "$as_me:4255: result: $with_overwrite" >&5
++echo "$as_me:4602: result: $with_overwrite" >&5
+ echo "${ECHO_T}$with_overwrite" >&6
+
+-echo "$as_me:4258: checking if external terminfo-database is used" >&5
++echo "$as_me:4605: checking if external terminfo-database is used" >&5
+ echo $ECHO_N "checking if external terminfo-database is used... $ECHO_C" >&6
+
+ # Check whether --enable-database or --disable-database was given.
+@@ -4265,7 +4612,7 @@
+ else
+ use_database=yes
+ fi;
+-echo "$as_me:4268: result: $use_database" >&5
++echo "$as_me:4615: result: $use_database" >&5
+ echo "${ECHO_T}$use_database" >&6
+
+ case $host_os in #(vi
+@@ -4287,7 +4634,7 @@
+ #define USE_DATABASE 1
+ EOF
+
+- echo "$as_me:4290: checking which terminfo source-file will be installed" >&5
++ echo "$as_me:4637: checking which terminfo source-file will be installed" >&5
+ echo $ECHO_N "checking which terminfo source-file will be installed... $ECHO_C" >&6
+
+ # Check whether --enable-database or --disable-database was given.
+@@ -4295,11 +4642,11 @@
+ enableval="$enable_database"
+ TERMINFO_SRC=$withval
+ fi;
+- echo "$as_me:4298: result: $TERMINFO_SRC" >&5
++ echo "$as_me:4645: result: $TERMINFO_SRC" >&5
+ echo "${ECHO_T}$TERMINFO_SRC" >&6
+ fi
+
+-echo "$as_me:4302: checking for list of fallback descriptions" >&5
++echo "$as_me:4649: checking for list of fallback descriptions" >&5
+ echo $ECHO_N "checking for list of fallback descriptions... $ECHO_C" >&6
+
+ # Check whether --with-fallbacks or --without-fallbacks was given.
+@@ -4309,9 +4656,9 @@
+ else
+ with_fallback=
+ fi;
+-echo "$as_me:4312: result: $with_fallback" >&5
++echo "$as_me:4659: result: $with_fallback" >&5
+ echo "${ECHO_T}$with_fallback" >&6
+-FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
++FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
+
+ MAKE_TERMINFO=
+ if test "$use_database" = no ; then
+@@ -4319,7 +4666,7 @@
+ MAKE_TERMINFO="#"
+ else
+
+-echo "$as_me:4322: checking for list of terminfo directories" >&5
++echo "$as_me:4669: checking for list of terminfo directories" >&5
+ echo $ECHO_N "checking for list of terminfo directories... $ECHO_C" >&6
+
+ # Check whether --with-terminfo-dirs or --without-terminfo-dirs was given.
+@@ -4353,7 +4700,7 @@
+ cf_src_path=`echo $cf_src_path | sed -e s%NONE%$ac_default_prefix%`
+ ;;
+ *)
+- { { echo "$as_me:4356: error: expected a pathname, not \"$cf_src_path\"" >&5
++ { { echo "$as_me:4703: error: expected a pathname, not \"$cf_src_path\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -4366,13 +4713,13 @@
+
+ eval 'TERMINFO_DIRS="$cf_dst_path"'
+
+-echo "$as_me:4369: result: $TERMINFO_DIRS" >&5
++echo "$as_me:4716: result: $TERMINFO_DIRS" >&5
+ echo "${ECHO_T}$TERMINFO_DIRS" >&6
+ test -n "$TERMINFO_DIRS" && cat >>confdefs.h <<EOF
+ #define TERMINFO_DIRS "$TERMINFO_DIRS"
+ EOF
+
+-echo "$as_me:4375: checking for default terminfo directory" >&5
++echo "$as_me:4722: checking for default terminfo directory" >&5
+ echo $ECHO_N "checking for default terminfo directory... $ECHO_C" >&6
+
+ # Check whether --with-default-terminfo-dir or --without-default-terminfo-dir was given.
+@@ -4401,7 +4748,7 @@
+ withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
+ ;;
+ *)
+- { { echo "$as_me:4404: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:4751: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -4409,7 +4756,7 @@
+
+ eval TERMINFO="$withval"
+
+-echo "$as_me:4412: result: $TERMINFO" >&5
++echo "$as_me:4759: result: $TERMINFO" >&5
+ echo "${ECHO_T}$TERMINFO" >&6
+ cat >>confdefs.h <<EOF
+ #define TERMINFO "$TERMINFO"
+@@ -4419,7 +4766,7 @@
+
+ ### use option --disable-big-core to make tic run on small machines
+ ### We need 4Mb, check if we can allocate 50% more than that.
+-echo "$as_me:4422: checking if big-core option selected" >&5
++echo "$as_me:4769: checking if big-core option selected" >&5
+ echo $ECHO_N "checking if big-core option selected... $ECHO_C" >&6
+
+ # Check whether --enable-big-core or --disable-big-core was given.
+@@ -4431,7 +4778,7 @@
+ with_big_core=no
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4434 "configure"
++#line 4781 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -4445,15 +4792,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:4448: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4795: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4451: \$? = $ac_status" >&5
++ echo "$as_me:4798: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:4453: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4800: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4456: \$? = $ac_status" >&5
++ echo "$as_me:4803: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ with_big_core=yes
+ else
+@@ -4465,14 +4812,14 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi;
+-echo "$as_me:4468: result: $with_big_core" >&5
++echo "$as_me:4815: result: $with_big_core" >&5
+ echo "${ECHO_T}$with_big_core" >&6
+ test "$with_big_core" = "yes" && cat >>confdefs.h <<\EOF
+ #define HAVE_BIG_CORE 1
+ EOF
+
+ ### use option --enable-termcap to compile in the termcap fallback support
+-echo "$as_me:4475: checking if you want termcap-fallback support" >&5
++echo "$as_me:4822: checking if you want termcap-fallback support" >&5
+ echo $ECHO_N "checking if you want termcap-fallback support... $ECHO_C" >&6
+
+ # Check whether --enable-termcap or --disable-termcap was given.
+@@ -4482,13 +4829,13 @@
+ else
+ with_termcap=no
+ fi;
+-echo "$as_me:4485: result: $with_termcap" >&5
++echo "$as_me:4832: result: $with_termcap" >&5
+ echo "${ECHO_T}$with_termcap" >&6
+
+ if test "$with_termcap" != "yes" ; then
+ if test "$use_database" = no ; then
+- if test -z $with_fallback ; then
+- { { echo "$as_me:4491: error: You have disabled the database w/o specifying fallbacks" >&5
++ if test -z "$with_fallback" ; then
++ { { echo "$as_me:4838: error: You have disabled the database w/o specifying fallbacks" >&5
+ echo "$as_me: error: You have disabled the database w/o specifying fallbacks" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -4503,7 +4850,7 @@
+ #define USE_TERMCAP 1
+ EOF
+
+-echo "$as_me:4506: checking for list of termcap files" >&5
++echo "$as_me:4853: checking for list of termcap files" >&5
+ echo $ECHO_N "checking for list of termcap files... $ECHO_C" >&6
+
+ # Check whether --with-termpath or --without-termpath was given.
+@@ -4537,7 +4884,7 @@
+ cf_src_path=`echo $cf_src_path | sed -e s%NONE%$ac_default_prefix%`
+ ;;
+ *)
+- { { echo "$as_me:4540: error: expected a pathname, not \"$cf_src_path\"" >&5
++ { { echo "$as_me:4887: error: expected a pathname, not \"$cf_src_path\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -4550,14 +4897,14 @@
+
+ eval 'TERMPATH="$cf_dst_path"'
+
+-echo "$as_me:4553: result: $TERMPATH" >&5
++echo "$as_me:4900: result: $TERMPATH" >&5
+ echo "${ECHO_T}$TERMPATH" >&6
+ test -n "$TERMPATH" && cat >>confdefs.h <<EOF
+ #define TERMPATH "$TERMPATH"
+ EOF
+
+ ### use option --enable-getcap to use a hacked getcap for reading termcaps
+-echo "$as_me:4560: checking if fast termcap-loader is needed" >&5
++echo "$as_me:4907: checking if fast termcap-loader is needed" >&5
+ echo $ECHO_N "checking if fast termcap-loader is needed... $ECHO_C" >&6
+
+ # Check whether --enable-getcap or --disable-getcap was given.
+@@ -4567,13 +4914,13 @@
+ else
+ with_getcap=no
+ fi;
+-echo "$as_me:4570: result: $with_getcap" >&5
++echo "$as_me:4917: result: $with_getcap" >&5
+ echo "${ECHO_T}$with_getcap" >&6
+ test "$with_getcap" = "yes" && cat >>confdefs.h <<\EOF
+ #define USE_GETCAP 1
+ EOF
+
+-echo "$as_me:4576: checking if translated termcaps will be cached in ~/.terminfo" >&5
++echo "$as_me:4923: checking if translated termcaps will be cached in ~/.terminfo" >&5
+ echo $ECHO_N "checking if translated termcaps will be cached in ~/.terminfo... $ECHO_C" >&6
+
+ # Check whether --enable-getcap-cache or --disable-getcap-cache was given.
+@@ -4583,7 +4930,7 @@
+ else
+ with_getcap_cache=no
+ fi;
+-echo "$as_me:4586: result: $with_getcap_cache" >&5
++echo "$as_me:4933: result: $with_getcap_cache" >&5
+ echo "${ECHO_T}$with_getcap_cache" >&6
+ test "$with_getcap_cache" = "yes" && cat >>confdefs.h <<\EOF
+ #define USE_GETCAP_CACHE 1
+@@ -4599,13 +4946,13 @@
+ unlink
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:4602: checking for $ac_func" >&5
++echo "$as_me:4949: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4608 "configure"
++#line 4955 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -4636,16 +4983,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4639: \"$ac_link\"") >&5
++if { (eval echo "$as_me:4986: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4642: \$? = $ac_status" >&5
++ echo "$as_me:4989: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4645: \"$ac_try\"") >&5
++ { (eval echo "$as_me:4992: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4648: \$? = $ac_status" >&5
++ echo "$as_me:4995: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -4655,7 +5002,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:4658: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:5005: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -4665,20 +5012,20 @@
+ fi
+ done
+
+-if test "$ac_cv_prog_cc_cross" = yes ; then
++if test "$cross_compiling" = yes ; then
+
+ for ac_func in \
+ link \
+ symlink
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:4675: checking for $ac_func" >&5
++echo "$as_me:5022: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4681 "configure"
++#line 5028 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -4709,16 +5056,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:4712: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5059: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4715: \$? = $ac_status" >&5
++ echo "$as_me:5062: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:4718: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5065: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4721: \$? = $ac_status" >&5
++ echo "$as_me:5068: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -4728,7 +5075,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:4731: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:5078: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -4739,7 +5086,7 @@
+ done
+
+ else
+- echo "$as_me:4742: checking if link/symlink functions work" >&5
++ echo "$as_me:5089: checking if link/symlink functions work" >&5
+ echo $ECHO_N "checking if link/symlink functions work... $ECHO_C" >&6
+ if test "${cf_cv_link_funcs+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -4752,7 +5099,7 @@
+ eval 'ac_cv_func_'$cf_func'=error'
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 4755 "configure"
++#line 5102 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -4782,15 +5129,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:4785: \"$ac_link\"") >&5
++if { (eval echo "$as_me:5132: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:4788: \$? = $ac_status" >&5
++ echo "$as_me:5135: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:4790: \"$ac_try\"") >&5
++ { (eval echo "$as_me:5137: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:4793: \$? = $ac_status" >&5
++ echo "$as_me:5140: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
+@@ -4808,7 +5155,7 @@
+ test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
+
+ fi
+-echo "$as_me:4811: result: $cf_cv_link_funcs" >&5
++echo "$as_me:5158: result: $cf_cv_link_funcs" >&5
+ echo "${ECHO_T}$cf_cv_link_funcs" >&6
+ test "$ac_cv_func_link" = yes && cat >>confdefs.h <<\EOF
+ #define HAVE_LINK 1
+@@ -4824,27 +5171,27 @@
+ with_symlinks=no
+
+ if test "$ac_cv_func_link" != yes ; then
+- echo "$as_me:4827: checking if tic should use symbolic links" >&5
++ echo "$as_me:5174: checking if tic should use symbolic links" >&5
+ echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6
+ if test "$ac_cv_func_symlink" = yes ; then
+ with_symlinks=yes
+ else
+ with_symlinks=no
+ fi
+- echo "$as_me:4834: result: $with_symlinks" >&5
++ echo "$as_me:5181: result: $with_symlinks" >&5
+ echo "${ECHO_T}$with_symlinks" >&6
+ elif test "$ac_cv_func_symlink" != yes ; then
+- echo "$as_me:4837: checking if tic should use hard links" >&5
++ echo "$as_me:5184: checking if tic should use hard links" >&5
+ echo $ECHO_N "checking if tic should use hard links... $ECHO_C" >&6
+ if test "$ac_cv_func_link" = yes ; then
+ with_links=yes
+ else
+ with_links=no
+ fi
+- echo "$as_me:4844: result: $with_links" >&5
++ echo "$as_me:5191: result: $with_links" >&5
+ echo "${ECHO_T}$with_links" >&6
+ else
+- echo "$as_me:4847: checking if tic should use symbolic links" >&5
++ echo "$as_me:5194: checking if tic should use symbolic links" >&5
+ echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6
+
+ # Check whether --enable-symlinks or --disable-symlinks was given.
+@@ -4854,7 +5201,7 @@
+ else
+ with_symlinks=no
+ fi;
+- echo "$as_me:4857: result: $with_symlinks" >&5
++ echo "$as_me:5204: result: $with_symlinks" >&5
+ echo "${ECHO_T}$with_symlinks" >&6
+ fi
+
+@@ -4867,7 +5214,7 @@
+ EOF
+
+ ### use option --enable-broken-linker to force on use of broken-linker support
+-echo "$as_me:4870: checking if you want broken-linker support code" >&5
++echo "$as_me:5217: checking if you want broken-linker support code" >&5
+ echo $ECHO_N "checking if you want broken-linker support code... $ECHO_C" >&6
+
+ # Check whether --enable-broken_linker or --disable-broken_linker was given.
+@@ -4877,7 +5224,7 @@
+ else
+ with_broken_linker=$BROKEN_LINKER
+ fi;
+-echo "$as_me:4880: result: $with_broken_linker" >&5
++echo "$as_me:5227: result: $with_broken_linker" >&5
+ echo "${ECHO_T}$with_broken_linker" >&6
+
+ BROKEN_LINKER=0
+@@ -4887,7 +5234,7 @@
+ EOF
+
+ BROKEN_LINKER=1
+-elif test $DFT_LWR_MODEL = shared ; then
++elif test "$DFT_LWR_MODEL" = shared ; then
+ case $cf_cv_system_name in #(vi
+ cygwin*)
+ cat >>confdefs.h <<\EOF
+@@ -4902,7 +5249,7 @@
+ fi
+
+ ### use option --with-bool to override bool's type
+-echo "$as_me:4905: checking for type of bool" >&5
++echo "$as_me:5252: checking for type of bool" >&5
+ echo $ECHO_N "checking for type of bool... $ECHO_C" >&6
+
+ # Check whether --with-bool or --without-bool was given.
+@@ -4912,11 +5259,11 @@
+ else
+ NCURSES_BOOL=auto
+ fi;
+-echo "$as_me:4915: result: $NCURSES_BOOL" >&5
++echo "$as_me:5262: result: $NCURSES_BOOL" >&5
+ echo "${ECHO_T}$NCURSES_BOOL" >&6
+
+ ### use option --with-ospeed to override ospeed's type
+-echo "$as_me:4919: checking for type of ospeed" >&5
++echo "$as_me:5266: checking for type of ospeed" >&5
+ echo $ECHO_N "checking for type of ospeed... $ECHO_C" >&6
+
+ # Check whether --with-ospeed or --without-ospeed was given.
+@@ -4926,11 +5273,11 @@
+ else
+ NCURSES_OSPEED=short
+ fi;
+-echo "$as_me:4929: result: $NCURSES_OSPEED" >&5
++echo "$as_me:5276: result: $NCURSES_OSPEED" >&5
+ echo "${ECHO_T}$NCURSES_OSPEED" >&6
+
+ ### use option --enable-bsdpad to have tputs process BSD-style prefix padding
+-echo "$as_me:4933: checking if tputs should process BSD-style prefix padding" >&5
++echo "$as_me:5280: checking if tputs should process BSD-style prefix padding" >&5
+ echo $ECHO_N "checking if tputs should process BSD-style prefix padding... $ECHO_C" >&6
+
+ # Check whether --enable-bsdpad or --disable-bsdpad was given.
+@@ -4940,14 +5287,14 @@
+ else
+ with_bsdpad=no
+ fi;
+-echo "$as_me:4943: result: $with_bsdpad" >&5
++echo "$as_me:5290: result: $with_bsdpad" >&5
+ echo "${ECHO_T}$with_bsdpad" >&6
+ test "$with_bsdpad" = yes && cat >>confdefs.h <<\EOF
+ #define BSD_TPUTS 1
+ EOF
+
+ ### Enable compiling-in rcs id's
+-echo "$as_me:4950: checking if RCS identifiers should be compiled-in" >&5
++echo "$as_me:5297: checking if RCS identifiers should be compiled-in" >&5
+ echo $ECHO_N "checking if RCS identifiers should be compiled-in... $ECHO_C" >&6
+
+ # Check whether --with-rcs-ids or --without-rcs-ids was given.
+@@ -4957,7 +5304,7 @@
+ else
+ with_rcs_ids=no
+ fi;
+-echo "$as_me:4960: result: $with_rcs_ids" >&5
++echo "$as_me:5307: result: $with_rcs_ids" >&5
+ echo "${ECHO_T}$with_rcs_ids" >&6
+ test "$with_rcs_ids" = yes && cat >>confdefs.h <<\EOF
+ #define USE_RCS_IDS 1
+@@ -4965,7 +5312,7 @@
+
+ ###############################################################################
+
+-echo "$as_me:4968: checking format of man-pages" >&5
++echo "$as_me:5315: checking format of man-pages" >&5
+ echo $ECHO_N "checking format of man-pages... $ECHO_C" >&6
+
+ # Check whether --with-manpage-format or --without-manpage-format was given.
+@@ -5008,15 +5355,15 @@
+ IFS="$ac_save_ifs"
+ ;;
+ .*) # (vi
+- { echo "$as_me:5011: WARNING: Unexpected manpage-format" >&5
++ { echo "$as_me:5358: WARNING: Unexpected manpage-format" >&5
+ echo "$as_me: WARNING: Unexpected manpage-format" >&2;}
+ ;;
+ esac
+
+-echo "$as_me:5016: result: $MANPAGE_FORMAT" >&5
++echo "$as_me:5363: result: $MANPAGE_FORMAT" >&5
+ echo "${ECHO_T}$MANPAGE_FORMAT" >&6
+
+-echo "$as_me:5019: checking for manpage renaming" >&5
++echo "$as_me:5366: checking for manpage renaming" >&5
+ echo $ECHO_N "checking for manpage renaming... $ECHO_C" >&6
+
+ # Check whether --with-manpage-renames or --without-manpage-renames was given.
+@@ -5044,7 +5391,7 @@
+ if test -f $srcdir/man/$MANPAGE_RENAMES ; then
+ MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
+ elif test ! -f $MANPAGE_RENAMES ; then
+- { { echo "$as_me:5047: error: not a filename: $MANPAGE_RENAMES" >&5
++ { { echo "$as_me:5394: error: not a filename: $MANPAGE_RENAMES" >&5
+ echo "$as_me: error: not a filename: $MANPAGE_RENAMES" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -5058,10 +5405,10 @@
+ fi
+ fi
+
+-echo "$as_me:5061: result: $MANPAGE_RENAMES" >&5
++echo "$as_me:5408: result: $MANPAGE_RENAMES" >&5
+ echo "${ECHO_T}$MANPAGE_RENAMES" >&6
+
+-echo "$as_me:5064: checking for manpage symlinks" >&5
++echo "$as_me:5411: checking for manpage symlinks" >&5
+ echo $ECHO_N "checking for manpage symlinks... $ECHO_C" >&6
+
+ # Check whether --with-manpage-symlinks or --without-manpage-symlinks was given.
+@@ -5072,10 +5419,10 @@
+ MANPAGE_SYMLINKS=yes
+ fi;
+
+-echo "$as_me:5075: result: $MANPAGE_SYMLINKS" >&5
++echo "$as_me:5422: result: $MANPAGE_SYMLINKS" >&5
+ echo "${ECHO_T}$MANPAGE_SYMLINKS" >&6
+
+-echo "$as_me:5078: checking for manpage tbl" >&5
++echo "$as_me:5425: checking for manpage tbl" >&5
+ echo $ECHO_N "checking for manpage tbl... $ECHO_C" >&6
+
+ # Check whether --with-manpage-tbl or --without-manpage-tbl was given.
+@@ -5086,7 +5433,7 @@
+ MANPAGE_TBL=no
+ fi;
+
+-echo "$as_me:5089: result: $MANPAGE_TBL" >&5
++echo "$as_me:5436: result: $MANPAGE_TBL" >&5
+ echo "${ECHO_T}$MANPAGE_TBL" >&6
+
+ if test "$prefix" = "NONE" ; then
+@@ -5257,7 +5604,7 @@
+ ;;
+ esac
+ cat >>man/edit_man.sh <<CF_EOF
+- suffix=\`basename \$target | sed -e 's/^[^.]*//'\`
++ suffix=\`basename \$target | sed -e 's%^[^.]*%%'\`
+ if test \$verb = installing ; then
+ echo \$verb \$target
+ \$INSTALL_DATA \$TMP \$target
+@@ -5317,7 +5664,7 @@
+ ###############################################################################
+
+ ### Note that some functions (such as const) are normally disabled anyway.
+-echo "$as_me:5320: checking if you want to build with function extensions" >&5
++echo "$as_me:5667: checking if you want to build with function extensions" >&5
+ echo $ECHO_N "checking if you want to build with function extensions... $ECHO_C" >&6
+
+ # Check whether --enable-ext-funcs or --disable-ext-funcs was given.
+@@ -5327,7 +5674,7 @@
+ else
+ with_ext_funcs=yes
+ fi;
+-echo "$as_me:5330: result: $with_ext_funcs" >&5
++echo "$as_me:5677: result: $with_ext_funcs" >&5
+ echo "${ECHO_T}$with_ext_funcs" >&6
+ if test "$with_ext_funcs" = yes ; then
+ NCURSES_EXT_FUNCS=1
+@@ -5344,6 +5691,10 @@
+ EOF
+
+ cat >>confdefs.h <<\EOF
++#define HAVE_RESIZE_TERM 1
++EOF
++
++ cat >>confdefs.h <<\EOF
+ #define HAVE_USE_DEFAULT_COLORS 1
+ EOF
+
+@@ -5360,7 +5711,7 @@
+ fi
+
+ ### use option --enable-const to turn on use of const beyond that in XSI.
+-echo "$as_me:5363: checking for extended use of const keyword" >&5
++echo "$as_me:5714: checking for extended use of const keyword" >&5
+ echo $ECHO_N "checking for extended use of const keyword... $ECHO_C" >&6
+
+ # Check whether --enable-const or --disable-const was given.
+@@ -5370,14 +5721,14 @@
+ else
+ with_ext_const=no
+ fi;
+-echo "$as_me:5373: result: $with_ext_const" >&5
++echo "$as_me:5724: result: $with_ext_const" >&5
+ echo "${ECHO_T}$with_ext_const" >&6
+ NCURSES_CONST='/*nothing*/'
+ if test "$with_ext_const" = yes ; then
+ NCURSES_CONST=const
+ fi
+
+-echo "$as_me:5380: checking if you want \$NCURSES_NO_PADDING code" >&5
++echo "$as_me:5731: checking if you want \$NCURSES_NO_PADDING code" >&5
+ echo $ECHO_N "checking if you want \$NCURSES_NO_PADDING code... $ECHO_C" >&6
+
+ # Check whether --enable-no-padding or --disable-no-padding was given.
+@@ -5387,14 +5738,14 @@
+ else
+ with_no_padding=$with_ext_funcs
+ fi;
+-echo "$as_me:5390: result: $with_no_padding" >&5
++echo "$as_me:5741: result: $with_no_padding" >&5
+ echo "${ECHO_T}$with_no_padding" >&6
+ test "$with_no_padding" = yes && cat >>confdefs.h <<\EOF
+ #define NCURSES_NO_PADDING 1
+ EOF
+
+ ### use option --enable-sigwinch to turn on use of SIGWINCH logic
+-echo "$as_me:5397: checking if you want SIGWINCH handler" >&5
++echo "$as_me:5748: checking if you want SIGWINCH handler" >&5
+ echo $ECHO_N "checking if you want SIGWINCH handler... $ECHO_C" >&6
+
+ # Check whether --enable-sigwinch or --disable-sigwinch was given.
+@@ -5404,14 +5755,14 @@
+ else
+ with_sigwinch=$with_ext_funcs
+ fi;
+-echo "$as_me:5407: result: $with_sigwinch" >&5
++echo "$as_me:5758: result: $with_sigwinch" >&5
+ echo "${ECHO_T}$with_sigwinch" >&6
+ test "$with_sigwinch" = yes && cat >>confdefs.h <<\EOF
+ #define USE_SIGWINCH 1
+ EOF
+
+ ### use option --enable-tcap-names to allow user to define new capabilities
+-echo "$as_me:5414: checking if you want user-definable terminal capabilities like termcap" >&5
++echo "$as_me:5765: checking if you want user-definable terminal capabilities like termcap" >&5
+ echo $ECHO_N "checking if you want user-definable terminal capabilities like termcap... $ECHO_C" >&6
+
+ # Check whether --enable-tcap-names or --disable-tcap-names was given.
+@@ -5421,7 +5772,7 @@
+ else
+ with_tcap_names=$with_ext_funcs
+ fi;
+-echo "$as_me:5424: result: $with_tcap_names" >&5
++echo "$as_me:5775: result: $with_tcap_names" >&5
+ echo "${ECHO_T}$with_tcap_names" >&6
+ NCURSES_XNAMES=0
+ test "$with_tcap_names" = yes && NCURSES_XNAMES=1
+@@ -5429,7 +5780,7 @@
+ ###############################################################################
+ # These options are relatively safe to experiment with.
+
+-echo "$as_me:5432: checking if you want all development code" >&5
++echo "$as_me:5783: checking if you want all development code" >&5
+ echo $ECHO_N "checking if you want all development code... $ECHO_C" >&6
+
+ # Check whether --with-develop or --without-develop was given.
+@@ -5439,11 +5790,11 @@
+ else
+ with_develop=no
+ fi;
+-echo "$as_me:5442: result: $with_develop" >&5
++echo "$as_me:5793: result: $with_develop" >&5
+ echo "${ECHO_T}$with_develop" >&6
+
+ ### use option --enable-hard-tabs to turn on use of hard-tabs optimize
+-echo "$as_me:5446: checking if you want hard-tabs code" >&5
++echo "$as_me:5797: checking if you want hard-tabs code" >&5
+ echo $ECHO_N "checking if you want hard-tabs code... $ECHO_C" >&6
+
+ # Check whether --enable-hard-tabs or --disable-hard-tabs was given.
+@@ -5453,13 +5804,13 @@
+ else
+ with_hardtabs=$with_develop
+ fi;
+-echo "$as_me:5456: result: $with_hardtabs" >&5
++echo "$as_me:5807: result: $with_hardtabs" >&5
+ echo "${ECHO_T}$with_hardtabs" >&6
+ test "$with_hardtabs" = yes && cat >>confdefs.h <<\EOF
+ #define USE_HARD_TABS 1
+ EOF
+
+-echo "$as_me:5462: checking if you want to use restrict environment when running as root" >&5
++echo "$as_me:5813: checking if you want to use restrict environment when running as root" >&5
+ echo $ECHO_N "checking if you want to use restrict environment when running as root... $ECHO_C" >&6
+
+ # Check whether --enable-root-environ or --disable-root-environ was given.
+@@ -5469,14 +5820,14 @@
+ else
+ with_root_environ=yes
+ fi;
+-echo "$as_me:5472: result: $with_root_environ" >&5
++echo "$as_me:5823: result: $with_root_environ" >&5
+ echo "${ECHO_T}$with_root_environ" >&6
+ test "$with_root_environ" = yes && cat >>confdefs.h <<\EOF
+ #define USE_ROOT_ENVIRON 1
+ EOF
+
+ ### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+-echo "$as_me:5479: checking if you want limited support for xmc" >&5
++echo "$as_me:5830: checking if you want limited support for xmc" >&5
+ echo $ECHO_N "checking if you want limited support for xmc... $ECHO_C" >&6
+
+ # Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
+@@ -5486,7 +5837,7 @@
+ else
+ with_xmc_glitch=$with_develop
+ fi;
+-echo "$as_me:5489: result: $with_xmc_glitch" >&5
++echo "$as_me:5840: result: $with_xmc_glitch" >&5
+ echo "${ECHO_T}$with_xmc_glitch" >&6
+ test "$with_xmc_glitch" = yes && cat >>confdefs.h <<\EOF
+ #define USE_XMC_SUPPORT 1
+@@ -5495,7 +5846,7 @@
+ ###############################################################################
+ # These are just experimental, probably should not be in a package:
+
+-echo "$as_me:5498: checking if you do not want to assume colors are white-on-black" >&5
++echo "$as_me:5849: checking if you do not want to assume colors are white-on-black" >&5
+ echo $ECHO_N "checking if you do not want to assume colors are white-on-black... $ECHO_C" >&6
+
+ # Check whether --enable-assumed-color or --disable-assumed-color was given.
+@@ -5505,14 +5856,14 @@
+ else
+ with_assumed_color=yes
+ fi;
+-echo "$as_me:5508: result: $with_assumed_color" >&5
++echo "$as_me:5859: result: $with_assumed_color" >&5
+ echo "${ECHO_T}$with_assumed_color" >&6
+ test "$with_assumed_color" = yes && cat >>confdefs.h <<\EOF
+ #define USE_ASSUMED_COLOR 1
+ EOF
+
+ ### use option --enable-hashmap to turn on use of hashmap scrolling logic
+-echo "$as_me:5515: checking if you want hashmap scrolling-optimization code" >&5
++echo "$as_me:5866: checking if you want hashmap scrolling-optimization code" >&5
+ echo $ECHO_N "checking if you want hashmap scrolling-optimization code... $ECHO_C" >&6
+
+ # Check whether --enable-hashmap or --disable-hashmap was given.
+@@ -5522,14 +5873,14 @@
+ else
+ with_hashmap=yes
+ fi;
+-echo "$as_me:5525: result: $with_hashmap" >&5
++echo "$as_me:5876: result: $with_hashmap" >&5
+ echo "${ECHO_T}$with_hashmap" >&6
+ test "$with_hashmap" = yes && cat >>confdefs.h <<\EOF
+ #define USE_HASHMAP 1
+ EOF
+
+ ### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
+-echo "$as_me:5532: checking if you want colorfgbg code" >&5
++echo "$as_me:5883: checking if you want colorfgbg code" >&5
+ echo $ECHO_N "checking if you want colorfgbg code... $ECHO_C" >&6
+
+ # Check whether --enable-colorfgbg or --disable-colorfgbg was given.
+@@ -5539,13 +5890,13 @@
+ else
+ with_colorfgbg=no
+ fi;
+-echo "$as_me:5542: result: $with_colorfgbg" >&5
++echo "$as_me:5893: result: $with_colorfgbg" >&5
+ echo "${ECHO_T}$with_colorfgbg" >&6
+ test "$with_colorfgbg" = yes && cat >>confdefs.h <<\EOF
+ #define USE_COLORFGBG 1
+ EOF
+
+-echo "$as_me:5548: checking if you want experimental safe-sprintf code" >&5
++echo "$as_me:5899: checking if you want experimental safe-sprintf code" >&5
+ echo $ECHO_N "checking if you want experimental safe-sprintf code... $ECHO_C" >&6
+
+ # Check whether --enable-safe-sprintf or --disable-safe-sprintf was given.
+@@ -5555,7 +5906,7 @@
+ else
+ with_safe_sprintf=no
+ fi;
+-echo "$as_me:5558: result: $with_safe_sprintf" >&5
++echo "$as_me:5909: result: $with_safe_sprintf" >&5
+ echo "${ECHO_T}$with_safe_sprintf" >&6
+ test "$with_safe_sprintf" = yes && cat >>confdefs.h <<\EOF
+ #define USE_SAFE_SPRINTF 1
+@@ -5564,7 +5915,7 @@
+ ### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
+ # when hashmap is used scroll hints are useless
+ if test "$with_hashmap" = no ; then
+-echo "$as_me:5567: checking if you want to experiment without scrolling-hints code" >&5
++echo "$as_me:5918: checking if you want to experiment without scrolling-hints code" >&5
+ echo $ECHO_N "checking if you want to experiment without scrolling-hints code... $ECHO_C" >&6
+
+ # Check whether --enable-scroll-hints or --disable-scroll-hints was given.
+@@ -5574,7 +5925,7 @@
+ else
+ with_scroll_hints=yes
+ fi;
+-echo "$as_me:5577: result: $with_scroll_hints" >&5
++echo "$as_me:5928: result: $with_scroll_hints" >&5
+ echo "${ECHO_T}$with_scroll_hints" >&6
+ test "$with_scroll_hints" = yes && cat >>confdefs.h <<\EOF
+ #define USE_SCROLL_HINTS 1
+@@ -5585,8 +5936,102 @@
+ ### use option --enable-widec to turn on use of wide-character support
+ NCURSES_CH_T=chtype
+ NCURSES_LIBUTF8=0
++
++NEED_WCHAR_H=0
+ NCURSES_MBSTATE_T=0
+-echo "$as_me:5589: checking if you want experimental wide-character code" >&5
++NCURSES_WCHAR_T=0
++NCURSES_WINT_T=0
++
++# Check to define _XOPEN_SOURCE "automatically"
++
++echo "$as_me:5947: checking if we must define _GNU_SOURCE" >&5
++echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
++if test "${cf_cv_gnu_source+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 5954 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:5969: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:5972: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:5975: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:5978: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_gnu_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++ cat >conftest.$ac_ext <<_ACEOF
++#line 5987 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++int
++main ()
++{
++
++#ifdef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6002: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6005: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6008: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6011: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_gnu_source=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_gnu_source=yes
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ CPPFLAGS="$cf_save"
++
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++
++fi
++echo "$as_me:6026: result: $cf_cv_gnu_source" >&5
++echo "${ECHO_T}$cf_cv_gnu_source" >&6
++test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++
++# use these variables to work around a defect in gcc's fixincludes.
++NCURSES_OK_WCHAR_T=
++NCURSES_OK_WINT_T=
++
++echo "$as_me:6034: checking if you want experimental wide-character code" >&5
+ echo $ECHO_N "checking if you want experimental wide-character code... $ECHO_C" >&6
+
+ # Check whether --enable-widec or --disable-widec was given.
+@@ -5596,7 +6041,7 @@
+ else
+ with_widec=no
+ fi;
+-echo "$as_me:5599: result: $with_widec" >&5
++echo "$as_me:6044: result: $with_widec" >&5
+ echo "${ECHO_T}$with_widec" >&6
+ if test "$with_widec" = yes ; then
+ LIB_SUFFIX="w${LIB_SUFFIX}"
+@@ -5604,19 +6049,198 @@
+ #define USE_WIDEC_SUPPORT 1
+ EOF
+
++echo "$as_me:6052: checking if we must define _XOPEN_SOURCE" >&5
++echo $ECHO_N "checking if we must define _XOPEN_SOURCE... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++#line 6055 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6071: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6074: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6077: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6080: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_result=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_result=yes
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:6089: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++
++if test "$cf_result" = yes ; then
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
++elif test "x500" != "x" ; then
++ echo "$as_me:6095: checking checking for compatible value versus 500" >&5
++echo $ECHO_N "checking checking for compatible value versus 500... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6098 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#if _XOPEN_SOURCE-500 < 0
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6114: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6117: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6120: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6123: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_result=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_result=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:6132: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test "$cf_result" = no ; then
++ # perhaps we can override it - try...
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
++ fi
++fi
++
++echo "$as_me:6140: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5
++echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++#line 6143 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#ifndef _XOPEN_SOURCE_EXTENDED
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6159: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6162: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6165: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6168: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_result=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_result=yes
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:6177: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++
++if test "$cf_result" = yes ; then
+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
++elif test "x" != "x" ; then
++ echo "$as_me:6183: checking checking for compatible value versus " >&5
++echo $ECHO_N "checking checking for compatible value versus ... $ECHO_C" >&6
++ cat >conftest.$ac_ext <<_ACEOF
++#line 6186 "configure"
++#include "confdefs.h"
++#include <sys/types.h>
++
++int
++main ()
++{
++
++#if _XOPEN_SOURCE_EXTENDED- < 0
++make an error
++#endif
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6202: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6205: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6208: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6211: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_result=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_result=no
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++ echo "$as_me:6220: result: $cf_result" >&5
++echo "${ECHO_T}$cf_result" >&6
++ if test "$cf_result" = no ; then
++ # perhaps we can override it - try...
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED="
++ fi
++fi
++
+ # with_overwrite=no
+ NCURSES_CH_T=cchar_t
+- echo "$as_me:5610: checking for putwc" >&5
+-echo $ECHO_N "checking for putwc... $ECHO_C" >&6
+-if test "${ac_cv_func_putwc+set}" = set; then
++
++for ac_func in putwc btowc wctob mbtowc wctomb
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:6234: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5616 "configure"
++#line 6240 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char putwc (); below. */
++ which can conflict with char $ac_func (); below. */
+ #include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error. */
+ #ifdef __cplusplus
+@@ -5624,7 +6248,7 @@
+ #endif
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char putwc ();
++char $ac_func ();
+ char (*f) ();
+
+ int
+@@ -5633,10 +6257,10 @@
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+-#if defined (__stub_putwc) || defined (__stub___putwc)
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+ choke me
+ #else
+-f = putwc;
++f = $ac_func;
+ #endif
+
+ ;
+@@ -5644,31 +6268,38 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5647: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6271: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5650: \$? = $ac_status" >&5
++ echo "$as_me:6274: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5653: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6277: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5656: \$? = $ac_status" >&5
++ echo "$as_me:6280: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- ac_cv_func_putwc=yes
++ eval "$as_ac_var=yes"
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-ac_cv_func_putwc=no
++eval "$as_ac_var=no"
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:5666: result: $ac_cv_func_putwc" >&5
+-echo "${ECHO_T}$ac_cv_func_putwc" >&6
++echo "$as_me:6290: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<EOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++EOF
+
+-if test "$ac_cv_func_putwc" != yes ; then
++fi
++done
+
+-echo "$as_me:5671: checking for putwc in libutf8" >&5
++ if test "$ac_cv_func_putwc" != yes ; then
++
++echo "$as_me:6302: checking for putwc in libutf8" >&5
+ echo $ECHO_N "checking for putwc in libutf8... $ECHO_C" >&6
+ if test "${cf_cv_libutf8+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -5677,7 +6308,7 @@
+ cf_save_LIBS="$LIBS"
+ LIBS="-lutf8 $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5680 "configure"
++#line 6311 "configure"
+ #include "confdefs.h"
+
+ #include <libutf8.h>
+@@ -5690,16 +6321,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:5693: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6324: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:5696: \$? = $ac_status" >&5
++ echo "$as_me:6327: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:5699: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6330: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5702: \$? = $ac_status" >&5
++ echo "$as_me:6333: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_libutf8=yes
+ else
+@@ -5711,7 +6342,7 @@
+ LIBS="$cf_save_LIBS"
+
+ fi
+-echo "$as_me:5714: result: $cf_cv_libutf8" >&5
++echo "$as_me:6345: result: $cf_cv_libutf8" >&5
+ echo "${ECHO_T}$cf_cv_libutf8" >&6
+
+ if test "$cf_cv_libutf8" = yes ; then
+@@ -5722,20 +6353,20 @@
+ LIBS="-lutf8 $LIBS"
+ fi
+
+- if test "$cf_cv_libutf8" = yes ; then
+- NCURSES_LIBUTF8=1
++ if test "$cf_cv_libutf8" = yes ; then
++ NCURSES_LIBUTF8=1
++ fi
+ fi
+-fi
+
+ # This is needed on Tru64 5.0 to declare mbstate_t
+-echo "$as_me:5731: checking if we must include wchar.h to declare mbstate_t" >&5
++echo "$as_me:6362: checking if we must include wchar.h to declare mbstate_t" >&5
+ echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6
+ if test "${cf_cv_mbstate_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5738 "configure"
++#line 6369 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -5751,23 +6382,23 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5754: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6385: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5757: \$? = $ac_status" >&5
++ echo "$as_me:6388: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5760: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6391: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5763: \$? = $ac_status" >&5
++ echo "$as_me:6394: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_mbstate_t=no
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 5770 "configure"
++#line 6401 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -5784,16 +6415,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:5787: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:6418: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5790: \$? = $ac_status" >&5
++ echo "$as_me:6421: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:5793: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6424: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:5796: \$? = $ac_status" >&5
++ echo "$as_me:6427: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_mbstate_t=yes
+ else
+@@ -5805,7 +6436,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:5808: result: $cf_cv_mbstate_t" >&5
++echo "$as_me:6439: result: $cf_cv_mbstate_t" >&5
+ echo "${ECHO_T}$cf_cv_mbstate_t" >&6
+
+ if test "$cf_cv_mbstate_t" = yes ; then
+@@ -5813,21 +6444,215 @@
+ #define NEED_WCHAR_H 1
+ EOF
+
++ NEED_WCHAR_H=1
+ fi
+
+-if test "$cf_cv_mbstate_t" != unknown ; then
++# if we do not find mbstate_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_mbstate_t" = unknown ; then
++ NCURSES_MBSTATE_T=1
++fi
++
++# This is needed on Tru64 5.0 to declare wchar_t
++echo "$as_me:6456: checking if we must include wchar.h to declare wchar_t" >&5
++echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6
++if test "${cf_cv_wchar_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 6463 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
++int
++main ()
++{
++wchar_t state
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6479: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6482: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6485: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6488: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_wchar_t=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cat >conftest.$ac_ext <<_ACEOF
++#line 6495 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
++int
++main ()
++{
++wchar_t value
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6512: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6515: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6518: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6521: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_wchar_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_wchar_t=unknown
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:6533: result: $cf_cv_wchar_t" >&5
++echo "${ECHO_T}$cf_cv_wchar_t" >&6
++
++if test "$cf_cv_wchar_t" = yes ; then
+ cat >>confdefs.h <<\EOF
+-#define HAVE_MBSTATE_T 1
++#define NEED_WCHAR_H 1
+ EOF
+
++ NEED_WCHAR_H=1
+ fi
+
+- if test $cf_cv_mbstate_t = yes ; then
+- NCURSES_MBSTATE_T=1
+- fi
++# if we do not find wchar_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wchar_t" = unknown ; then
++ NCURSES_WCHAR_T=1
+ fi
+
+-echo "$as_me:5830: checking for terminal capabilities file" >&5
++# if we find wchar_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wchar_t" != unknown ; then
++ NCURSES_OK_WCHAR_T=1
++fi
++
++# This is needed on Tru64 5.0 to declare wint_t
++echo "$as_me:6555: checking if we must include wchar.h to declare wint_t" >&5
++echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6
++if test "${cf_cv_wint_t+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++cat >conftest.$ac_ext <<_ACEOF
++#line 6562 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
++int
++main ()
++{
++wint_t state
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6578: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6581: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6584: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6587: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_wint_t=no
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cat >conftest.$ac_ext <<_ACEOF
++#line 6594 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif
++int
++main ()
++{
++wint_t value
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:6611: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>&5
++ ac_status=$?
++ echo "$as_me:6614: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:6617: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:6620: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ cf_cv_wint_t=yes
++else
++ echo "$as_me: failed program was:" >&5
++cat conftest.$ac_ext >&5
++cf_cv_wint_t=unknown
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:6632: result: $cf_cv_wint_t" >&5
++echo "${ECHO_T}$cf_cv_wint_t" >&6
++
++if test "$cf_cv_wint_t" = yes ; then
++ cat >>confdefs.h <<\EOF
++#define NEED_WCHAR_H 1
++EOF
++
++ NEED_WCHAR_H=1
++fi
++
++# if we do not find wint_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wint_t" = unknown ; then
++ NCURSES_WINT_T=1
++fi
++
++# if we find wint_t in either place, use substitution to provide a fallback.
++if test "$cf_cv_wint_t" != unknown ; then
++ NCURSES_OK_WINT_T=1
++fi
++
++fi
++
++echo "$as_me:6655: checking for terminal capabilities file" >&5
+ echo $ECHO_N "checking for terminal capabilities file... $ECHO_C" >&6
+
+ # Check whether --with-caps or --without-caps was given.
+@@ -5838,13 +6663,13 @@
+ TERMINFO_CAPS=Caps
+ fi;
+ test -f ${srcdir}/include/${TERMINFO_CAPS} || TERMINFO_CAPS=Caps
+-echo "$as_me:5841: result: $TERMINFO_CAPS" >&5
++echo "$as_me:6666: result: $TERMINFO_CAPS" >&5
+ echo "${ECHO_T}$TERMINFO_CAPS" >&6
+
+ ###############################################################################
+
+ ### use option --disable-echo to suppress full display compiling commands
+-echo "$as_me:5847: checking if you want to display full commands during build" >&5
++echo "$as_me:6672: checking if you want to display full commands during build" >&5
+ echo $ECHO_N "checking if you want to display full commands during build... $ECHO_C" >&6
+
+ # Check whether --enable-echo or --disable-echo was given.
+@@ -5860,11 +6685,11 @@
+ ECHO_LINK='@ echo linking $@ ... ;'
+ test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
+ fi
+-echo "$as_me:5863: result: $with_echo" >&5
++echo "$as_me:6688: result: $with_echo" >&5
+ echo "${ECHO_T}$with_echo" >&6
+
+ ### use option --enable-warnings to turn on all gcc warnings
+-echo "$as_me:5867: checking if you want to see compiler warnings" >&5
++echo "$as_me:6692: checking if you want to see compiler warnings" >&5
+ echo $ECHO_N "checking if you want to see compiler warnings... $ECHO_C" >&6
+
+ # Check whether --enable-warnings or --disable-warnings was given.
+@@ -5872,7 +6697,7 @@
+ enableval="$enable_warnings"
+ with_warnings=$enableval
+ fi;
+-echo "$as_me:5875: result: $with_warnings" >&5
++echo "$as_me:6700: result: $with_warnings" >&5
+ echo "${ECHO_T}$with_warnings" >&6
+
+ if test -n "$with_warnings"; then
+@@ -5881,10 +6706,10 @@
+ if test "$GCC" = yes
+ then
+ cat > conftest.$ac_ext <<EOF
+-#line 5884 "configure"
++#line 6709 "configure"
+ int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
+ EOF
+- { echo "$as_me:5887: checking for $CC warning options..." >&5
++ { echo "$as_me:6712: checking for $CC warning options..." >&5
+ echo "$as_me: checking for $CC warning options..." >&6;}
+ cf_save_CFLAGS="$CFLAGS"
+ EXTRA_CFLAGS="-W -Wall"
+@@ -5904,15 +6729,27 @@
+ Wundef $cf_warn_CONST
+ do
+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
+- if { (eval echo "$as_me:5907: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:6732: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5910: \$? = $ac_status" >&5
++ echo "$as_me:6735: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:5912: result: ... -$cf_opt" >&5
++ test -n "$verbose" && echo "$as_me:6737: result: ... -$cf_opt" >&5
+ echo "${ECHO_T}... -$cf_opt" >&6
++ case $cf_opt in #(vi
++ Wcast-qual) #(vi
++ CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
++ ;;
++ Winline) #(vi
++ case $GCC_VERSION in
++ 3.3*)
++ test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6
++
++ continue;;
++ esac
++ ;;
++ esac
+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
+- test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
+ fi
+ done
+ rm -f conftest*
+@@ -5939,10 +6776,10 @@
+ EOF
+ if test "$GCC" = yes
+ then
+- { echo "$as_me:5942: checking for $CC __attribute__ directives..." >&5
++ { echo "$as_me:6779: checking for $CC __attribute__ directives..." >&5
+ echo "$as_me: checking for $CC __attribute__ directives..." >&6;}
+ cat > conftest.$ac_ext <<EOF
+-#line 5945 "configure"
++#line 6782 "configure"
+ #include "confdefs.h"
+ #include "conftest.h"
+ #include "conftest.i"
+@@ -5980,16 +6817,14 @@
+ EOF
+ ;;
+ esac
+- if { (eval echo "$as_me:5983: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:6820: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:5986: \$? = $ac_status" >&5
++ echo "$as_me:6823: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- test -n "$verbose" && echo "$as_me:5988: result: ... $cf_attribute" >&5
++ test -n "$verbose" && echo "$as_me:6825: result: ... $cf_attribute" >&5
+ echo "${ECHO_T}... $cf_attribute" >&6
+ cat conftest.h >>confdefs.h
+-# else
+-# sed -e 's/__attr.*/\/*nothing*\//' conftest.h >>confdefs.h
+ fi
+ done
+ else
+@@ -5999,7 +6834,7 @@
+ fi
+
+ ### use option --enable-assertions to turn on generation of assertion code
+-echo "$as_me:6002: checking if you want to enable runtime assertions" >&5
++echo "$as_me:6837: checking if you want to enable runtime assertions" >&5
+ echo $ECHO_N "checking if you want to enable runtime assertions... $ECHO_C" >&6
+
+ # Check whether --enable-assertions or --disable-assertions was given.
+@@ -6009,7 +6844,7 @@
+ else
+ with_assertions=no
+ fi;
+-echo "$as_me:6012: result: $with_assertions" >&5
++echo "$as_me:6847: result: $with_assertions" >&5
+ echo "${ECHO_T}$with_assertions" >&6
+ if test -n "$GCC"
+ then
+@@ -6062,13 +6897,13 @@
+ fi;
+
+ ### Checks for libraries.
+-echo "$as_me:6065: checking for gettimeofday" >&5
++echo "$as_me:6900: checking for gettimeofday" >&5
+ echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6
+ if test "${ac_cv_func_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6071 "configure"
++#line 6906 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char gettimeofday (); below. */
+@@ -6099,16 +6934,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6102: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6937: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6105: \$? = $ac_status" >&5
++ echo "$as_me:6940: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6108: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6943: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6111: \$? = $ac_status" >&5
++ echo "$as_me:6946: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_gettimeofday=yes
+ else
+@@ -6118,7 +6953,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:6121: result: $ac_cv_func_gettimeofday" >&5
++echo "$as_me:6956: result: $ac_cv_func_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
+ if test $ac_cv_func_gettimeofday = yes; then
+ cat >>confdefs.h <<\EOF
+@@ -6127,7 +6962,7 @@
+
+ else
+
+-echo "$as_me:6130: checking for gettimeofday in -lbsd" >&5
++echo "$as_me:6965: checking for gettimeofday in -lbsd" >&5
+ echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6
+ if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6135,7 +6970,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lbsd $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6138 "configure"
++#line 6973 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6154,16 +6989,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6157: \"$ac_link\"") >&5
++if { (eval echo "$as_me:6992: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6160: \$? = $ac_status" >&5
++ echo "$as_me:6995: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6163: \"$ac_try\"") >&5
++ { (eval echo "$as_me:6998: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6166: \$? = $ac_status" >&5
++ echo "$as_me:7001: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_bsd_gettimeofday=yes
+ else
+@@ -6174,7 +7009,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6177: result: $ac_cv_lib_bsd_gettimeofday" >&5
++echo "$as_me:7012: result: $ac_cv_lib_bsd_gettimeofday" >&5
+ echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6
+ if test $ac_cv_lib_bsd_gettimeofday = yes; then
+ cat >>confdefs.h <<\EOF
+@@ -6186,14 +7021,14 @@
+
+ fi
+
+-echo "$as_me:6189: checking if -lm needed for math functions" >&5
++echo "$as_me:7024: checking if -lm needed for math functions" >&5
+ echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6
+ if test "${cf_cv_need_libm+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6196 "configure"
++#line 7031 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -6208,16 +7043,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6211: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7046: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6214: \$? = $ac_status" >&5
++ echo "$as_me:7049: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6217: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7052: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6220: \$? = $ac_status" >&5
++ echo "$as_me:7055: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_need_libm=no
+ else
+@@ -6227,7 +7062,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:6230: result: $cf_cv_need_libm" >&5
++echo "$as_me:7065: result: $cf_cv_need_libm" >&5
+ echo "${ECHO_T}$cf_cv_need_libm" >&6
+ if test "$cf_cv_need_libm" = yes
+ then
+@@ -6235,97 +7070,13 @@
+ fi
+
+ ### Checks for header files.
+-
+-echo "$as_me:6239: checking if we must define _GNU_SOURCE" >&5
+-echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6
+-if test "${cf_cv_gnu_source+set}" = set; then
+- echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-cat >conftest.$ac_ext <<_ACEOF
+-#line 6246 "configure"
+-#include "confdefs.h"
+-#include <sys/types.h>
+-int
+-main ()
+-{
+-
+-#ifndef _XOPEN_SOURCE
+-make an error
+-#endif
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6261: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:6264: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6267: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:6270: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_gnu_source=no
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_save="$CPPFLAGS"
+- CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+- cat >conftest.$ac_ext <<_ACEOF
+-#line 6279 "configure"
+-#include "confdefs.h"
+-#include <sys/types.h>
+-int
+-main ()
+-{
+-
+-#ifdef _XOPEN_SOURCE
+-make an error
+-#endif
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6294: \"$ac_compile\"") >&5
+- (eval $ac_compile) 2>&5
+- ac_status=$?
+- echo "$as_me:6297: \$? = $ac_status" >&5
+- (exit $ac_status); } &&
+- { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6300: \"$ac_try\"") >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- echo "$as_me:6303: \$? = $ac_status" >&5
+- (exit $ac_status); }; }; then
+- cf_cv_gnu_source=no
+-else
+- echo "$as_me: failed program was:" >&5
+-cat conftest.$ac_ext >&5
+-cf_cv_gnu_source=yes
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+- CPPFLAGS="$cf_save"
+-
+-fi
+-rm -f conftest.$ac_objext conftest.$ac_ext
+-
+-fi
+-echo "$as_me:6318: result: $cf_cv_gnu_source" >&5
+-echo "${ECHO_T}$cf_cv_gnu_source" >&6
+-test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+-
+-echo "$as_me:6322: checking for ANSI C header files" >&5
++echo "$as_me:7073: checking for ANSI C header files" >&5
+ echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+ if test "${ac_cv_header_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6328 "configure"
++#line 7079 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -6333,13 +7084,13 @@
+ #include <float.h>
+
+ _ACEOF
+-if { (eval echo "$as_me:6336: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:7087: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:6342: \$? = $ac_status" >&5
++ echo "$as_me:7093: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -6361,7 +7112,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6364 "configure"
++#line 7115 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+
+@@ -6379,7 +7130,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6382 "configure"
++#line 7133 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+
+@@ -6400,7 +7151,7 @@
+ :
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6403 "configure"
++#line 7154 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #if ((' ' & 0x0FF) == 0x020)
+@@ -6426,15 +7177,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:6429: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7180: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6432: \$? = $ac_status" >&5
++ echo "$as_me:7183: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:6434: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7185: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6437: \$? = $ac_status" >&5
++ echo "$as_me:7188: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ :
+ else
+@@ -6447,7 +7198,7 @@
+ fi
+ fi
+ fi
+-echo "$as_me:6450: result: $ac_cv_header_stdc" >&5
++echo "$as_me:7201: result: $ac_cv_header_stdc" >&5
+ echo "${ECHO_T}$ac_cv_header_stdc" >&6
+ if test $ac_cv_header_stdc = yes; then
+
+@@ -6460,13 +7211,13 @@
+ ac_header_dirent=no
+ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+ as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+-echo "$as_me:6463: checking for $ac_hdr that defines DIR" >&5
++echo "$as_me:7214: checking for $ac_hdr that defines DIR" >&5
+ echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6469 "configure"
++#line 7220 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <$ac_hdr>
+@@ -6481,16 +7232,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6484: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7235: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6487: \$? = $ac_status" >&5
++ echo "$as_me:7238: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6490: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7241: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6493: \$? = $ac_status" >&5
++ echo "$as_me:7244: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_Header=yes"
+ else
+@@ -6500,7 +7251,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:6503: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:7254: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6513,7 +7264,7 @@
+ done
+ # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+ if test $ac_header_dirent = dirent.h; then
+- echo "$as_me:6516: checking for opendir in -ldir" >&5
++ echo "$as_me:7267: checking for opendir in -ldir" >&5
+ echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6
+ if test "${ac_cv_lib_dir_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6521,7 +7272,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-ldir $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6524 "configure"
++#line 7275 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6540,16 +7291,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6543: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7294: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6546: \$? = $ac_status" >&5
++ echo "$as_me:7297: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6549: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7300: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6552: \$? = $ac_status" >&5
++ echo "$as_me:7303: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_dir_opendir=yes
+ else
+@@ -6560,14 +7311,14 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6563: result: $ac_cv_lib_dir_opendir" >&5
++echo "$as_me:7314: result: $ac_cv_lib_dir_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6
+ if test $ac_cv_lib_dir_opendir = yes; then
+ LIBS="$LIBS -ldir"
+ fi
+
+ else
+- echo "$as_me:6570: checking for opendir in -lx" >&5
++ echo "$as_me:7321: checking for opendir in -lx" >&5
+ echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6
+ if test "${ac_cv_lib_x_opendir+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6575,7 +7326,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lx $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6578 "configure"
++#line 7329 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6594,16 +7345,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6597: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7348: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6600: \$? = $ac_status" >&5
++ echo "$as_me:7351: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6603: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7354: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6606: \$? = $ac_status" >&5
++ echo "$as_me:7357: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_x_opendir=yes
+ else
+@@ -6614,7 +7365,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6617: result: $ac_cv_lib_x_opendir" >&5
++echo "$as_me:7368: result: $ac_cv_lib_x_opendir" >&5
+ echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6
+ if test $ac_cv_lib_x_opendir = yes; then
+ LIBS="$LIBS -lx"
+@@ -6622,13 +7373,13 @@
+
+ fi
+
+-echo "$as_me:6625: checking whether time.h and sys/time.h may both be included" >&5
++echo "$as_me:7376: checking whether time.h and sys/time.h may both be included" >&5
+ echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+ if test "${ac_cv_header_time+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6631 "configure"
++#line 7382 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -6644,16 +7395,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:6647: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7398: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:6650: \$? = $ac_status" >&5
++ echo "$as_me:7401: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:6653: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7404: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6656: \$? = $ac_status" >&5
++ echo "$as_me:7407: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_header_time=yes
+ else
+@@ -6663,7 +7414,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:6666: result: $ac_cv_header_time" >&5
++echo "$as_me:7417: result: $ac_cv_header_time" >&5
+ echo "${ECHO_T}$ac_cv_header_time" >&6
+ if test $ac_cv_header_time = yes; then
+
+@@ -6673,14 +7424,14 @@
+
+ fi
+
+-echo "$as_me:6676: checking for regular-expression headers" >&5
++echo "$as_me:7427: checking for regular-expression headers" >&5
+ echo $ECHO_N "checking for regular-expression headers... $ECHO_C" >&6
+ if test "${cf_cv_regex+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6683 "configure"
++#line 7434 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <regex.h>
+@@ -6698,16 +7449,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6701: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7452: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6704: \$? = $ac_status" >&5
++ echo "$as_me:7455: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6707: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7458: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6710: \$? = $ac_status" >&5
++ echo "$as_me:7461: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_regex="regex.h"
+ else
+@@ -6715,7 +7466,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6718 "configure"
++#line 7469 "configure"
+ #include "confdefs.h"
+ #include <regexp.h>
+ int
+@@ -6730,16 +7481,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6733: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7484: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6736: \$? = $ac_status" >&5
++ echo "$as_me:7487: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6739: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7490: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6742: \$? = $ac_status" >&5
++ echo "$as_me:7493: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_regex="regexp.h"
+ else
+@@ -6749,7 +7500,7 @@
+ cf_save_LIBS="$LIBS"
+ LIBS="-lgen $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6752 "configure"
++#line 7503 "configure"
+ #include "confdefs.h"
+ #include <regexpr.h>
+ int
+@@ -6764,16 +7515,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6767: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7518: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6770: \$? = $ac_status" >&5
++ echo "$as_me:7521: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6773: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7524: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6776: \$? = $ac_status" >&5
++ echo "$as_me:7527: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_regex="regexpr.h"
+ else
+@@ -6789,7 +7540,7 @@
+
+ fi
+
+-echo "$as_me:6792: result: $cf_cv_regex" >&5
++echo "$as_me:7543: result: $cf_cv_regex" >&5
+ echo "${ECHO_T}$cf_cv_regex" >&6
+ case $cf_cv_regex in
+ regex.h) cat >>confdefs.h <<\EOF
+@@ -6825,23 +7576,23 @@
+
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:6828: checking for $ac_header" >&5
++echo "$as_me:7579: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6834 "configure"
++#line 7585 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:6838: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:7589: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:6844: \$? = $ac_status" >&5
++ echo "$as_me:7595: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -6860,7 +7611,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:6863: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:7614: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6874,7 +7625,7 @@
+ # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
+ if test "$ISC" = yes ; then
+
+-echo "$as_me:6877: checking for main in -lcposix" >&5
++echo "$as_me:7628: checking for main in -lcposix" >&5
+ echo $ECHO_N "checking for main in -lcposix... $ECHO_C" >&6
+ if test "${ac_cv_lib_cposix_main+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6882,7 +7633,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-lcposix $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6885 "configure"
++#line 7636 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -6894,16 +7645,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6897: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7648: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6900: \$? = $ac_status" >&5
++ echo "$as_me:7651: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6903: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7654: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6906: \$? = $ac_status" >&5
++ echo "$as_me:7657: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_cposix_main=yes
+ else
+@@ -6914,7 +7665,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6917: result: $ac_cv_lib_cposix_main" >&5
++echo "$as_me:7668: result: $ac_cv_lib_cposix_main" >&5
+ echo "${ECHO_T}$ac_cv_lib_cposix_main" >&6
+ if test $ac_cv_lib_cposix_main = yes; then
+ cat >>confdefs.h <<EOF
+@@ -6925,7 +7676,7 @@
+
+ fi
+
+- echo "$as_me:6928: checking for bzero in -linet" >&5
++ echo "$as_me:7679: checking for bzero in -linet" >&5
+ echo $ECHO_N "checking for bzero in -linet... $ECHO_C" >&6
+ if test "${ac_cv_lib_inet_bzero+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -6933,7 +7684,7 @@
+ ac_check_lib_save_LIBS=$LIBS
+ LIBS="-linet $LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6936 "configure"
++#line 7687 "configure"
+ #include "confdefs.h"
+
+ /* Override any gcc2 internal prototype to avoid an error. */
+@@ -6952,16 +7703,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:6955: \"$ac_link\"") >&5
++if { (eval echo "$as_me:7706: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:6958: \$? = $ac_status" >&5
++ echo "$as_me:7709: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:6961: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7712: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:6964: \$? = $ac_status" >&5
++ echo "$as_me:7715: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_inet_bzero=yes
+ else
+@@ -6972,21 +7723,21 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-echo "$as_me:6975: result: $ac_cv_lib_inet_bzero" >&5
++echo "$as_me:7726: result: $ac_cv_lib_inet_bzero" >&5
+ echo "${ECHO_T}$ac_cv_lib_inet_bzero" >&6
+ if test $ac_cv_lib_inet_bzero = yes; then
+ LIBS="$LIBS -linet"
+ fi
+ fi
+
+-echo "$as_me:6982: checking if sys/time.h works with sys/select.h" >&5
++echo "$as_me:7733: checking if sys/time.h works with sys/select.h" >&5
+ echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
+ if test "${cf_cv_sys_time_select+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 6989 "configure"
++#line 7740 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -7006,16 +7757,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7009: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7760: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7012: \$? = $ac_status" >&5
++ echo "$as_me:7763: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7015: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7766: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7018: \$? = $ac_status" >&5
++ echo "$as_me:7769: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_sys_time_select=yes
+ else
+@@ -7027,7 +7778,7 @@
+
+ fi
+
+-echo "$as_me:7030: result: $cf_cv_sys_time_select" >&5
++echo "$as_me:7781: result: $cf_cv_sys_time_select" >&5
+ echo "${ECHO_T}$cf_cv_sys_time_select" >&6
+ test "$cf_cv_sys_time_select" = yes && cat >>confdefs.h <<\EOF
+ #define HAVE_SYS_TIME_SELECT 1
+@@ -7040,7 +7791,7 @@
+ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+-echo "$as_me:7043: checking for $CC option to accept ANSI C" >&5
++echo "$as_me:7794: checking for $CC option to accept ANSI C" >&5
+ echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+ if test "${ac_cv_prog_cc_stdc+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7048,7 +7799,7 @@
+ ac_cv_prog_cc_stdc=no
+ ac_save_CC=$CC
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7051 "configure"
++#line 7802 "configure"
+ #include "confdefs.h"
+ #include <stdarg.h>
+ #include <stdio.h>
+@@ -7097,16 +7848,16 @@
+ do
+ CC="$ac_save_CC $ac_arg"
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7100: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7851: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7103: \$? = $ac_status" >&5
++ echo "$as_me:7854: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7106: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7857: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7109: \$? = $ac_status" >&5
++ echo "$as_me:7860: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_prog_cc_stdc=$ac_arg
+ break
+@@ -7123,21 +7874,21 @@
+
+ case "x$ac_cv_prog_cc_stdc" in
+ x|xno)
+- echo "$as_me:7126: result: none needed" >&5
++ echo "$as_me:7877: result: none needed" >&5
+ echo "${ECHO_T}none needed" >&6 ;;
+ *)
+- echo "$as_me:7129: result: $ac_cv_prog_cc_stdc" >&5
++ echo "$as_me:7880: result: $ac_cv_prog_cc_stdc" >&5
+ echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+ CC="$CC $ac_cv_prog_cc_stdc" ;;
+ esac
+
+-echo "$as_me:7134: checking for an ANSI C-conforming const" >&5
++echo "$as_me:7885: checking for an ANSI C-conforming const" >&5
+ echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+ if test "${ac_cv_c_const+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7140 "configure"
++#line 7891 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -7195,16 +7946,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7198: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7949: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7201: \$? = $ac_status" >&5
++ echo "$as_me:7952: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7204: \"$ac_try\"") >&5
++ { (eval echo "$as_me:7955: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7207: \$? = $ac_status" >&5
++ echo "$as_me:7958: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_const=yes
+ else
+@@ -7214,7 +7965,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:7217: result: $ac_cv_c_const" >&5
++echo "$as_me:7968: result: $ac_cv_c_const" >&5
+ echo "${ECHO_T}$ac_cv_c_const" >&6
+ if test $ac_cv_c_const = no; then
+
+@@ -7224,7 +7975,7 @@
+
+ fi
+
+-echo "$as_me:7227: checking for inline" >&5
++echo "$as_me:7978: checking for inline" >&5
+ echo $ECHO_N "checking for inline... $ECHO_C" >&6
+ if test "${ac_cv_c_inline+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7232,7 +7983,7 @@
+ ac_cv_c_inline=no
+ for ac_kw in inline __inline__ __inline; do
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7235 "configure"
++#line 7986 "configure"
+ #include "confdefs.h"
+ #ifndef __cplusplus
+ static $ac_kw int static_foo () {return 0; }
+@@ -7241,16 +7992,16 @@
+
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7244: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:7995: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7247: \$? = $ac_status" >&5
++ echo "$as_me:7998: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7250: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8001: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7253: \$? = $ac_status" >&5
++ echo "$as_me:8004: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_c_inline=$ac_kw; break
+ else
+@@ -7261,7 +8012,7 @@
+ done
+
+ fi
+-echo "$as_me:7264: result: $ac_cv_c_inline" >&5
++echo "$as_me:8015: result: $ac_cv_c_inline" >&5
+ echo "${ECHO_T}$ac_cv_c_inline" >&6
+ case $ac_cv_c_inline in
+ inline | yes) ;;
+@@ -7280,14 +8031,14 @@
+ #define CC_HAS_INLINE_FUNCS 1
+ EOF
+
+-echo "$as_me:7283: checking if unsigned literals are legal" >&5
++echo "$as_me:8034: checking if unsigned literals are legal" >&5
+ echo $ECHO_N "checking if unsigned literals are legal... $ECHO_C" >&6
+ if test "${cf_cv_unsigned_literals+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7290 "configure"
++#line 8041 "configure"
+ #include "confdefs.h"
+
+ int
+@@ -7299,16 +8050,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7302: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8053: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7305: \$? = $ac_status" >&5
++ echo "$as_me:8056: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7308: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8059: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7311: \$? = $ac_status" >&5
++ echo "$as_me:8062: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_unsigned_literals=yes
+ else
+@@ -7320,10 +8071,10 @@
+
+ fi
+
+-echo "$as_me:7323: result: $cf_cv_unsigned_literals" >&5
++echo "$as_me:8074: result: $cf_cv_unsigned_literals" >&5
+ echo "${ECHO_T}$cf_cv_unsigned_literals" >&6
+
+-echo "$as_me:7326: checking for type of chtype" >&5
++echo "$as_me:8077: checking for type of chtype" >&5
+ echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6
+ if test "${cf_cv_typeof_chtype+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7333,7 +8084,7 @@
+ cf_cv_typeof_chtype=long
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7336 "configure"
++#line 8087 "configure"
+ #include "confdefs.h"
+
+ #ifdef USE_WIDEC_SUPPORT
+@@ -7380,15 +8131,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:7383: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8134: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7386: \$? = $ac_status" >&5
++ echo "$as_me:8137: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:7388: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8139: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7391: \$? = $ac_status" >&5
++ echo "$as_me:8142: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_typeof_chtype=`cat cf_test.out`
+ else
+@@ -7403,7 +8154,7 @@
+
+ fi
+
+-echo "$as_me:7406: result: $cf_cv_typeof_chtype" >&5
++echo "$as_me:8157: result: $cf_cv_typeof_chtype" >&5
+ echo "${ECHO_T}$cf_cv_typeof_chtype" >&6
+
+ cat >>confdefs.h <<EOF
+@@ -7416,14 +8167,14 @@
+
+ ### Checks for external-data
+
+-echo "$as_me:7419: checking if external errno is declared" >&5
++echo "$as_me:8170: checking if external errno is declared" >&5
+ echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6
+ if test "${cf_cv_dcl_errno+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7426 "configure"
++#line 8177 "configure"
+ #include "confdefs.h"
+
+ #ifdef HAVE_STDLIB_H
+@@ -7441,16 +8192,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7444: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8195: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7447: \$? = $ac_status" >&5
++ echo "$as_me:8198: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7450: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8201: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7453: \$? = $ac_status" >&5
++ echo "$as_me:8204: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_dcl_errno=yes
+ else
+@@ -7461,7 +8212,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7464: result: $cf_cv_dcl_errno" >&5
++echo "$as_me:8215: result: $cf_cv_dcl_errno" >&5
+ echo "${ECHO_T}$cf_cv_dcl_errno" >&6
+
+ if test "$cf_cv_dcl_errno" = no ; then
+@@ -7476,14 +8227,14 @@
+
+ # It's possible (for near-UNIX clones) that the data doesn't exist
+
+-echo "$as_me:7479: checking if external errno exists" >&5
++echo "$as_me:8230: checking if external errno exists" >&5
+ echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6
+ if test "${cf_cv_have_errno+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7486 "configure"
++#line 8237 "configure"
+ #include "confdefs.h"
+
+ #undef errno
+@@ -7498,16 +8249,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7501: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8252: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7504: \$? = $ac_status" >&5
++ echo "$as_me:8255: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7507: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8258: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7510: \$? = $ac_status" >&5
++ echo "$as_me:8261: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_errno=yes
+ else
+@@ -7518,7 +8269,7 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7521: result: $cf_cv_have_errno" >&5
++echo "$as_me:8272: result: $cf_cv_have_errno" >&5
+ echo "${ECHO_T}$cf_cv_have_errno" >&6
+
+ if test "$cf_cv_have_errno" = yes ; then
+@@ -7531,7 +8282,7 @@
+
+ fi
+
+-echo "$as_me:7534: checking if data-only library module links" >&5
++echo "$as_me:8285: checking if data-only library module links" >&5
+ echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6
+ if test "${cf_cv_link_dataonly+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -7539,20 +8290,20 @@
+
+ rm -f conftest.a
+ cat >conftest.$ac_ext <<EOF
+-#line 7542 "configure"
++#line 8293 "configure"
+ int testdata[3] = { 123, 456, 789 };
+ EOF
+- if { (eval echo "$as_me:7545: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:8296: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7548: \$? = $ac_status" >&5
++ echo "$as_me:8299: \$? = $ac_status" >&5
+ (exit $ac_status); } ; then
+ mv conftest.o data.o && \
+ ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null
+ fi
+ rm -f conftest.$ac_ext data.o
+ cat >conftest.$ac_ext <<EOF
+-#line 7555 "configure"
++#line 8306 "configure"
+ int testfunc()
+ {
+ #if defined(NeXT)
+@@ -7565,23 +8316,23 @@
+ #endif
+ }
+ EOF
+- if { (eval echo "$as_me:7568: \"$ac_compile\"") >&5
++ if { (eval echo "$as_me:8319: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7571: \$? = $ac_status" >&5
++ echo "$as_me:8322: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ mv conftest.o func.o && \
+ ( $AR $AR_OPTS conftest.a func.o ) 2>&5 1>/dev/null
+ fi
+ rm -f conftest.$ac_ext func.o
+- ( eval $ac_cv_prog_RANLIB conftest.a ) 2>&5 >/dev/null
++ ( eval $RANLIB conftest.a ) 2>&5 >/dev/null
+ cf_saveLIBS="$LIBS"
+ LIBS="conftest.a $LIBS"
+ if test "$cross_compiling" = yes; then
+ cf_cv_link_dataonly=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7584 "configure"
++#line 8335 "configure"
+ #include "confdefs.h"
+
+ int main()
+@@ -7592,15 +8343,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:7595: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8346: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7598: \$? = $ac_status" >&5
++ echo "$as_me:8349: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:7600: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8351: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7603: \$? = $ac_status" >&5
++ echo "$as_me:8354: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_link_dataonly=yes
+ else
+@@ -7615,7 +8366,7 @@
+
+ fi
+
+-echo "$as_me:7618: result: $cf_cv_link_dataonly" >&5
++echo "$as_me:8369: result: $cf_cv_link_dataonly" >&5
+ echo "${ECHO_T}$cf_cv_link_dataonly" >&6
+
+ if test "$cf_cv_link_dataonly" = no ; then
+@@ -7652,13 +8403,13 @@
+
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-echo "$as_me:7655: checking for $ac_func" >&5
++echo "$as_me:8406: checking for $ac_func" >&5
+ echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7661 "configure"
++#line 8412 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func (); below. */
+@@ -7689,16 +8440,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7692: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8443: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7695: \$? = $ac_status" >&5
++ echo "$as_me:8446: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7698: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8449: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7701: \$? = $ac_status" >&5
++ echo "$as_me:8452: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+ else
+@@ -7708,7 +8459,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:7711: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "$as_me:8462: result: `eval echo '${'$as_ac_var'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -7720,14 +8471,14 @@
+
+ if test "$with_getcap" = "yes" ; then
+
+-echo "$as_me:7723: checking for terminal-capability database functions" >&5
++echo "$as_me:8474: checking for terminal-capability database functions" >&5
+ echo $ECHO_N "checking for terminal-capability database functions... $ECHO_C" >&6
+ if test "${cf_cv_cgetent+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7730 "configure"
++#line 8481 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -7747,16 +8498,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7750: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8501: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7753: \$? = $ac_status" >&5
++ echo "$as_me:8504: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7756: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8507: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7759: \$? = $ac_status" >&5
++ echo "$as_me:8510: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cgetent=yes
+ else
+@@ -7768,7 +8519,7 @@
+
+ fi
+
+-echo "$as_me:7771: result: $cf_cv_cgetent" >&5
++echo "$as_me:8522: result: $cf_cv_cgetent" >&5
+ echo "${ECHO_T}$cf_cv_cgetent" >&6
+ test "$cf_cv_cgetent" = yes && cat >>confdefs.h <<\EOF
+ #define HAVE_BSD_CGETENT 1
+@@ -7776,14 +8527,14 @@
+
+ fi
+
+-echo "$as_me:7779: checking for isascii" >&5
++echo "$as_me:8530: checking for isascii" >&5
+ echo $ECHO_N "checking for isascii... $ECHO_C" >&6
+ if test "${cf_cv_have_isascii+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7786 "configure"
++#line 8537 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ int
+@@ -7795,16 +8546,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:7798: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8549: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:7801: \$? = $ac_status" >&5
++ echo "$as_me:8552: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:7804: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8555: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7807: \$? = $ac_status" >&5
++ echo "$as_me:8558: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_isascii=yes
+ else
+@@ -7815,17 +8566,17 @@
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+ fi
+-echo "$as_me:7818: result: $cf_cv_have_isascii" >&5
++echo "$as_me:8569: result: $cf_cv_have_isascii" >&5
+ echo "${ECHO_T}$cf_cv_have_isascii" >&6
+ test "$cf_cv_have_isascii" = yes && cat >>confdefs.h <<\EOF
+ #define HAVE_ISASCII 1
+ EOF
+
+ if test "$ac_cv_func_sigaction" = yes; then
+-echo "$as_me:7825: checking whether sigaction needs _POSIX_SOURCE" >&5
++echo "$as_me:8576: checking whether sigaction needs _POSIX_SOURCE" >&5
+ echo $ECHO_N "checking whether sigaction needs _POSIX_SOURCE... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7828 "configure"
++#line 8579 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -7839,16 +8590,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7842: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8593: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7845: \$? = $ac_status" >&5
++ echo "$as_me:8596: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7848: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8599: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7851: \$? = $ac_status" >&5
++ echo "$as_me:8602: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ sigact_bad=no
+ else
+@@ -7856,7 +8607,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7859 "configure"
++#line 8610 "configure"
+ #include "confdefs.h"
+
+ #define _POSIX_SOURCE
+@@ -7871,16 +8622,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:7874: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8625: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:7877: \$? = $ac_status" >&5
++ echo "$as_me:8628: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:7880: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8631: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:7883: \$? = $ac_status" >&5
++ echo "$as_me:8634: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ sigact_bad=yes
+ cat >>confdefs.h <<\EOF
+@@ -7895,7 +8646,7 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+-echo "$as_me:7898: result: $sigact_bad" >&5
++echo "$as_me:8649: result: $sigact_bad" >&5
+ echo "${ECHO_T}$sigact_bad" >&6
+ fi
+
+@@ -7906,23 +8657,23 @@
+
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:7909: checking for $ac_header" >&5
++echo "$as_me:8660: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7915 "configure"
++#line 8666 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:7919: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:8670: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:7925: \$? = $ac_status" >&5
++ echo "$as_me:8676: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -7941,7 +8692,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:7944: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:8695: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -7956,23 +8707,23 @@
+ for ac_header in sys/termio.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:7959: checking for $ac_header" >&5
++echo "$as_me:8710: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 7965 "configure"
++#line 8716 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:7969: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:8720: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:7975: \$? = $ac_status" >&5
++ echo "$as_me:8726: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -7991,7 +8742,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:7994: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:8745: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -8009,10 +8760,10 @@
+ *) termios_bad=maybe ;;
+ esac
+ if test "$termios_bad" = maybe ; then
+- echo "$as_me:8012: checking whether termios.h needs _POSIX_SOURCE" >&5
++ echo "$as_me:8763: checking whether termios.h needs _POSIX_SOURCE" >&5
+ echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8015 "configure"
++#line 8766 "configure"
+ #include "confdefs.h"
+ #include <termios.h>
+ int
+@@ -8024,16 +8775,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8027: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8778: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8030: \$? = $ac_status" >&5
++ echo "$as_me:8781: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8033: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8784: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8036: \$? = $ac_status" >&5
++ echo "$as_me:8787: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ termios_bad=no
+ else
+@@ -8041,7 +8792,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8044 "configure"
++#line 8795 "configure"
+ #include "confdefs.h"
+
+ #define _POSIX_SOURCE
+@@ -8055,16 +8806,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8058: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:8809: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8061: \$? = $ac_status" >&5
++ echo "$as_me:8812: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8064: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8815: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8067: \$? = $ac_status" >&5
++ echo "$as_me:8818: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ termios_bad=unknown
+ else
+@@ -8079,19 +8830,19 @@
+
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+- echo "$as_me:8082: result: $termios_bad" >&5
++ echo "$as_me:8833: result: $termios_bad" >&5
+ echo "${ECHO_T}$termios_bad" >&6
+ fi
+ fi
+
+-echo "$as_me:8087: checking for tcgetattr" >&5
++echo "$as_me:8838: checking for tcgetattr" >&5
+ echo $ECHO_N "checking for tcgetattr... $ECHO_C" >&6
+ if test "${cf_cv_have_tcgetattr+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8094 "configure"
++#line 8845 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -8119,16 +8870,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8122: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8873: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8125: \$? = $ac_status" >&5
++ echo "$as_me:8876: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8128: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8879: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8131: \$? = $ac_status" >&5
++ echo "$as_me:8882: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_tcgetattr=yes
+ else
+@@ -8138,20 +8889,20 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8141: result: $cf_cv_have_tcgetattr" >&5
++echo "$as_me:8892: result: $cf_cv_have_tcgetattr" >&5
+ echo "${ECHO_T}$cf_cv_have_tcgetattr" >&6
+ test "$cf_cv_have_tcgetattr" = yes && cat >>confdefs.h <<\EOF
+ #define HAVE_TCGETATTR 1
+ EOF
+
+-echo "$as_me:8147: checking for vsscanf function or workaround" >&5
++echo "$as_me:8898: checking for vsscanf function or workaround" >&5
+ echo $ECHO_N "checking for vsscanf function or workaround... $ECHO_C" >&6
+ if test "${cf_cv_func_vsscanf+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8154 "configure"
++#line 8905 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -8167,16 +8918,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8170: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8921: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8173: \$? = $ac_status" >&5
++ echo "$as_me:8924: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8176: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8927: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8179: \$? = $ac_status" >&5
++ echo "$as_me:8930: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=vsscanf
+ else
+@@ -8184,7 +8935,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8187 "configure"
++#line 8938 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -8206,16 +8957,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8209: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8960: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8212: \$? = $ac_status" >&5
++ echo "$as_me:8963: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8215: \"$ac_try\"") >&5
++ { (eval echo "$as_me:8966: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8218: \$? = $ac_status" >&5
++ echo "$as_me:8969: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=vfscanf
+ else
+@@ -8223,7 +8974,7 @@
+ cat conftest.$ac_ext >&5
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8226 "configure"
++#line 8977 "configure"
+ #include "confdefs.h"
+
+ #include <stdarg.h>
+@@ -8245,16 +8996,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8248: \"$ac_link\"") >&5
++if { (eval echo "$as_me:8999: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8251: \$? = $ac_status" >&5
++ echo "$as_me:9002: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8254: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9005: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8257: \$? = $ac_status" >&5
++ echo "$as_me:9008: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_vsscanf=_doscan
+ else
+@@ -8269,7 +9020,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8272: result: $cf_cv_func_vsscanf" >&5
++echo "$as_me:9023: result: $cf_cv_func_vsscanf" >&5
+ echo "${ECHO_T}$cf_cv_func_vsscanf" >&6
+
+ case $cf_cv_func_vsscanf in #(vi
+@@ -8287,7 +9038,7 @@
+ ;;
+ esac
+
+-echo "$as_me:8290: checking for working mkstemp" >&5
++echo "$as_me:9041: checking for working mkstemp" >&5
+ echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6
+ if test "${cf_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8295,13 +9046,13 @@
+
+ rm -f conftest*
+ if test "$cross_compiling" = yes; then
+- echo "$as_me:8298: checking for mkstemp" >&5
++ echo "$as_me:9049: checking for mkstemp" >&5
+ echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
+ if test "${ac_cv_func_mkstemp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8304 "configure"
++#line 9055 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char mkstemp (); below. */
+@@ -8332,16 +9083,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8335: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9086: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8338: \$? = $ac_status" >&5
++ echo "$as_me:9089: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8341: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9092: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8344: \$? = $ac_status" >&5
++ echo "$as_me:9095: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_mkstemp=yes
+ else
+@@ -8351,12 +9102,12 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8354: result: $ac_cv_func_mkstemp" >&5
++echo "$as_me:9105: result: $ac_cv_func_mkstemp" >&5
+ echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
+
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8359 "configure"
++#line 9110 "configure"
+ #include "confdefs.h"
+
+ #include <sys/types.h>
+@@ -8394,15 +9145,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:8397: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9148: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8400: \$? = $ac_status" >&5
++ echo "$as_me:9151: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:8402: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9153: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8405: \$? = $ac_status" >&5
++ echo "$as_me:9156: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_func_mkstemp=yes
+
+@@ -8417,7 +9168,7 @@
+ fi
+
+ fi
+-echo "$as_me:8420: result: $cf_cv_func_mkstemp" >&5
++echo "$as_me:9171: result: $cf_cv_func_mkstemp" >&5
+ echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
+ if test "$cf_cv_func_mkstemp" = yes ; then
+ cat >>confdefs.h <<\EOF
+@@ -8434,21 +9185,21 @@
+ fi
+
+ if test "$cross_compiling" = yes ; then
+- { echo "$as_me:8437: WARNING: cross compiling: assume setvbuf params not reversed" >&5
++ { echo "$as_me:9188: WARNING: cross compiling: assume setvbuf params not reversed" >&5
+ echo "$as_me: WARNING: cross compiling: assume setvbuf params not reversed" >&2;}
+ else
+- echo "$as_me:8440: checking whether setvbuf arguments are reversed" >&5
++ echo "$as_me:9191: checking whether setvbuf arguments are reversed" >&5
+ echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
+ if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:8446: error: cannot run test program while cross compiling" >&5
++ { { echo "$as_me:9197: error: cannot run test program while cross compiling" >&5
+ echo "$as_me: error: cannot run test program while cross compiling" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8451 "configure"
++#line 9202 "configure"
+ #include "confdefs.h"
+ #include <stdio.h>
+ /* If setvbuf has the reversed format, exit 0. */
+@@ -8465,15 +9216,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:8468: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9219: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8471: \$? = $ac_status" >&5
++ echo "$as_me:9222: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:8473: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9224: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8476: \$? = $ac_status" >&5
++ echo "$as_me:9227: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_setvbuf_reversed=yes
+ else
+@@ -8486,7 +9237,7 @@
+ fi
+ rm -f core core.* *.core
+ fi
+-echo "$as_me:8489: result: $ac_cv_func_setvbuf_reversed" >&5
++echo "$as_me:9240: result: $ac_cv_func_setvbuf_reversed" >&5
+ echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
+ if test $ac_cv_func_setvbuf_reversed = yes; then
+
+@@ -8497,13 +9248,13 @@
+ fi
+
+ fi
+-echo "$as_me:8500: checking return type of signal handlers" >&5
++echo "$as_me:9251: checking return type of signal handlers" >&5
+ echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+ if test "${ac_cv_type_signal+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8506 "configure"
++#line 9257 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <signal.h>
+@@ -8525,16 +9276,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8528: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9279: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8531: \$? = $ac_status" >&5
++ echo "$as_me:9282: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8534: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9285: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8537: \$? = $ac_status" >&5
++ echo "$as_me:9288: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_type_signal=void
+ else
+@@ -8544,21 +9295,21 @@
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:8547: result: $ac_cv_type_signal" >&5
++echo "$as_me:9298: result: $ac_cv_type_signal" >&5
+ echo "${ECHO_T}$ac_cv_type_signal" >&6
+
+ cat >>confdefs.h <<EOF
+ #define RETSIGTYPE $ac_cv_type_signal
+ EOF
+
+-echo "$as_me:8554: checking for type sigaction_t" >&5
++echo "$as_me:9305: checking for type sigaction_t" >&5
+ echo $ECHO_N "checking for type sigaction_t... $ECHO_C" >&6
+ if test "${cf_cv_type_sigaction+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8561 "configure"
++#line 9312 "configure"
+ #include "confdefs.h"
+
+ #include <signal.h>
+@@ -8571,16 +9322,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8574: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9325: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8577: \$? = $ac_status" >&5
++ echo "$as_me:9328: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8580: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9331: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8583: \$? = $ac_status" >&5
++ echo "$as_me:9334: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_sigaction=yes
+ else
+@@ -8591,13 +9342,13 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ fi
+
+-echo "$as_me:8594: result: $cf_cv_type_sigaction" >&5
++echo "$as_me:9345: result: $cf_cv_type_sigaction" >&5
+ echo "${ECHO_T}$cf_cv_type_sigaction" >&6
+ test "$cf_cv_type_sigaction" = yes && cat >>confdefs.h <<\EOF
+ #define HAVE_TYPE_SIGACTION 1
+ EOF
+
+-echo "$as_me:8600: checking declaration of size-change" >&5
++echo "$as_me:9351: checking declaration of size-change" >&5
+ echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6
+ if test "${cf_cv_sizechange+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8612,7 +9363,7 @@
+ CPPFLAGS="$cf_save_CPPFLAGS"
+ test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8615 "configure"
++#line 9366 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #ifdef HAVE_TERMIOS_H
+@@ -8656,16 +9407,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:8659: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9410: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:8662: \$? = $ac_status" >&5
++ echo "$as_me:9413: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:8665: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9416: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8668: \$? = $ac_status" >&5
++ echo "$as_me:9419: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_sizechange=yes
+ else
+@@ -8684,7 +9435,7 @@
+ done
+
+ fi
+-echo "$as_me:8687: result: $cf_cv_sizechange" >&5
++echo "$as_me:9438: result: $cf_cv_sizechange" >&5
+ echo "${ECHO_T}$cf_cv_sizechange" >&6
+ if test "$cf_cv_sizechange" != no ; then
+ cat >>confdefs.h <<\EOF
+@@ -8701,13 +9452,13 @@
+ esac
+ fi
+
+-echo "$as_me:8704: checking for memmove" >&5
++echo "$as_me:9455: checking for memmove" >&5
+ echo $ECHO_N "checking for memmove... $ECHO_C" >&6
+ if test "${ac_cv_func_memmove+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8710 "configure"
++#line 9461 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char memmove (); below. */
+@@ -8738,16 +9489,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8741: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9492: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8744: \$? = $ac_status" >&5
++ echo "$as_me:9495: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8747: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9498: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8750: \$? = $ac_status" >&5
++ echo "$as_me:9501: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_memmove=yes
+ else
+@@ -8757,19 +9508,19 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8760: result: $ac_cv_func_memmove" >&5
++echo "$as_me:9511: result: $ac_cv_func_memmove" >&5
+ echo "${ECHO_T}$ac_cv_func_memmove" >&6
+ if test $ac_cv_func_memmove = yes; then
+ :
+ else
+
+-echo "$as_me:8766: checking for bcopy" >&5
++echo "$as_me:9517: checking for bcopy" >&5
+ echo $ECHO_N "checking for bcopy... $ECHO_C" >&6
+ if test "${ac_cv_func_bcopy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8772 "configure"
++#line 9523 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char bcopy (); below. */
+@@ -8800,16 +9551,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:8803: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9554: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8806: \$? = $ac_status" >&5
++ echo "$as_me:9557: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:8809: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9560: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8812: \$? = $ac_status" >&5
++ echo "$as_me:9563: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_bcopy=yes
+ else
+@@ -8819,11 +9570,11 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ fi
+-echo "$as_me:8822: result: $ac_cv_func_bcopy" >&5
++echo "$as_me:9573: result: $ac_cv_func_bcopy" >&5
+ echo "${ECHO_T}$ac_cv_func_bcopy" >&6
+ if test $ac_cv_func_bcopy = yes; then
+
+- echo "$as_me:8826: checking if bcopy does overlapping moves" >&5
++ echo "$as_me:9577: checking if bcopy does overlapping moves" >&5
+ echo $ECHO_N "checking if bcopy does overlapping moves... $ECHO_C" >&6
+ if test "${cf_cv_good_bcopy+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8833,7 +9584,7 @@
+ cf_cv_good_bcopy=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8836 "configure"
++#line 9587 "configure"
+ #include "confdefs.h"
+
+ int main() {
+@@ -8847,15 +9598,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:8850: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9601: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8853: \$? = $ac_status" >&5
++ echo "$as_me:9604: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:8855: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9606: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8858: \$? = $ac_status" >&5
++ echo "$as_me:9609: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_good_bcopy=yes
+ else
+@@ -8868,7 +9619,7 @@
+ fi
+
+ fi
+-echo "$as_me:8871: result: $cf_cv_good_bcopy" >&5
++echo "$as_me:9622: result: $cf_cv_good_bcopy" >&5
+ echo "${ECHO_T}$cf_cv_good_bcopy" >&6
+
+ else
+@@ -8889,7 +9640,7 @@
+
+ fi
+
+-echo "$as_me:8892: checking if poll really works" >&5
++echo "$as_me:9643: checking if poll really works" >&5
+ echo $ECHO_N "checking if poll really works... $ECHO_C" >&6
+ if test "${cf_cv_working_poll+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -8899,7 +9650,7 @@
+ cf_cv_working_poll=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8902 "configure"
++#line 9653 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -8920,15 +9671,15 @@
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:8923: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9674: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:8926: \$? = $ac_status" >&5
++ echo "$as_me:9677: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:8928: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9679: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:8931: \$? = $ac_status" >&5
++ echo "$as_me:9682: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_working_poll=yes
+ else
+@@ -8940,34 +9691,36 @@
+ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-echo "$as_me:8943: result: $cf_cv_working_poll" >&5
++echo "$as_me:9694: result: $cf_cv_working_poll" >&5
+ echo "${ECHO_T}$cf_cv_working_poll" >&6
+ test "$cf_cv_working_poll" = "yes" && cat >>confdefs.h <<\EOF
+ #define HAVE_WORKING_POLL 1
+ EOF
+
+ if test -z "$cf_user_CFLAGS" ; then
+- CFLAGS=`echo ${CFLAGS} | sed -e 's/-g //' -e 's/-g$//'`
+- CXXFLAGS=`echo ${CXXFLAGS} | sed -e 's/-g //' -e 's/-g$//'`
++ CFLAGS=`echo ${CFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'`
++ CXXFLAGS=`echo ${CXXFLAGS} | sed -e 's%-g %%' -e 's%-g$%%'`
+ fi
+
+-echo "$as_me:8954: checking for stdbool.h" >&5
++# Just in case, check if the C compiler has a bool type.
++
++echo "$as_me:9707: checking for stdbool.h" >&5
+ echo $ECHO_N "checking for stdbool.h... $ECHO_C" >&6
+ if test "${ac_cv_header_stdbool_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 8960 "configure"
++#line 9713 "configure"
+ #include "confdefs.h"
+ #include <stdbool.h>
+ _ACEOF
+-if { (eval echo "$as_me:8964: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:9717: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:8970: \$? = $ac_status" >&5
++ echo "$as_me:9723: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_c_preproc_warn_flag
+@@ -8986,7 +9739,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:8989: result: $ac_cv_header_stdbool_h" >&5
++echo "$as_me:9742: result: $ac_cv_header_stdbool_h" >&5
+ echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6
+ if test $ac_cv_header_stdbool_h = yes; then
+ cf_cv_header_stdbool_h=1
+@@ -8994,14 +9747,14 @@
+ cf_cv_header_stdbool_h=0
+ fi
+
+-echo "$as_me:8997: checking for builtin bool type" >&5
++echo "$as_me:9750: checking for builtin bool type" >&5
+ echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
+-if test "${cf_cv_cc_bool_type+set}" = set; then
++if test "${cv_cv_cc_bool_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9004 "configure"
++#line 9757 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -9016,34 +9769,35 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9019: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:9772: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9022: \$? = $ac_status" >&5
++ echo "$as_me:9775: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9025: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9778: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9028: \$? = $ac_status" >&5
++ echo "$as_me:9781: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+- cf_cv_cc_bool_type=1
++ cv_cv_cc_bool_type=1
+ else
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-cf_cv_cc_bool_type=0
++cv_cv_cc_bool_type=0
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
+
+ fi
+
+-if test "$cf_cv_cc_bool_type" = 1
+-then echo "$as_me:9041: result: yes" >&5
++if test "$cv_cv_cc_bool_type" = 1
++then echo "$as_me:9794: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:9043: result: no" >&5
++else echo "$as_me:9796: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
++# Check for C++ compiler characteristics (and ensure that it's there!)
+ if test -n "$CXX" ; then
+ ac_ext=cc
+ ac_cpp='$CXXCPP $CPPFLAGS'
+@@ -9060,7 +9814,7 @@
+ cf_stdcpp_libname=stdc++
+ ;;
+ esac
+-echo "$as_me:9063: checking for library $cf_stdcpp_libname" >&5
++echo "$as_me:9817: checking for library $cf_stdcpp_libname" >&5
+ echo $ECHO_N "checking for library $cf_stdcpp_libname... $ECHO_C" >&6
+ if test "${cf_cv_libstdcpp+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9069,7 +9823,7 @@
+ cf_save="$LIBS"
+ LIBS="$LIBS -l$cf_stdcpp_libname"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9072 "configure"
++#line 9826 "configure"
+ #include "confdefs.h"
+
+ #include <strstream.h>
+@@ -9085,16 +9839,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9088: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9842: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9091: \$? = $ac_status" >&5
++ echo "$as_me:9845: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9094: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9848: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9097: \$? = $ac_status" >&5
++ echo "$as_me:9851: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_libstdcpp=yes
+ else
+@@ -9106,7 +9860,7 @@
+ LIBS="$cf_save"
+
+ fi
+-echo "$as_me:9109: result: $cf_cv_libstdcpp" >&5
++echo "$as_me:9863: result: $cf_cv_libstdcpp" >&5
+ echo "${ECHO_T}$cf_cv_libstdcpp" >&6
+ test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
+ fi
+@@ -9126,13 +9880,13 @@
+ cf_gpp_libname=g++
+ ;;
+ esac
+-if test "$ac_cv_cxx_compiler_gnu" = yes; then
+- echo "$as_me:9130: checking for lib$cf_gpp_libname" >&5
++if test "$GXX" = yes; then
++ echo "$as_me:9884: checking for lib$cf_gpp_libname" >&5
+ echo $ECHO_N "checking for lib$cf_gpp_libname... $ECHO_C" >&6
+ cf_save="$LIBS"
+ LIBS="$LIBS -l$cf_gpp_libname"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9135 "configure"
++#line 9889 "configure"
+ #include "confdefs.h"
+
+ #include <$cf_gpp_libname/builtin.h>
+@@ -9146,16 +9900,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9149: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9903: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9152: \$? = $ac_status" >&5
++ echo "$as_me:9906: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9155: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9909: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9158: \$? = $ac_status" >&5
++ echo "$as_me:9912: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cxx_library=yes
+ CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
+@@ -9174,7 +9928,7 @@
+ echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9177 "configure"
++#line 9931 "configure"
+ #include "confdefs.h"
+
+ #include <builtin.h>
+@@ -9188,16 +9942,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9191: \"$ac_link\"") >&5
++if { (eval echo "$as_me:9945: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9194: \$? = $ac_status" >&5
++ echo "$as_me:9948: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9197: \"$ac_try\"") >&5
++ { (eval echo "$as_me:9951: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9200: \$? = $ac_status" >&5
++ echo "$as_me:9954: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cxx_library=yes
+ CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
+@@ -9214,7 +9968,7 @@
+ fi
+ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+ LIBS="$cf_save"
+- echo "$as_me:9217: result: $cf_cxx_library" >&5
++ echo "$as_me:9971: result: $cf_cxx_library" >&5
+ echo "${ECHO_T}$cf_cxx_library" >&6
+ fi
+
+@@ -9229,7 +9983,7 @@
+ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+-echo "$as_me:9232: checking how to run the C++ preprocessor" >&5
++echo "$as_me:9986: checking how to run the C++ preprocessor" >&5
+ echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
+ if test -z "$CXXCPP"; then
+ if test "${ac_cv_prog_CXXCPP+set}" = set; then
+@@ -9246,18 +10000,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9249 "configure"
++#line 10003 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:9254: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10008: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9260: \$? = $ac_status" >&5
++ echo "$as_me:10014: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -9280,17 +10034,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9283 "configure"
++#line 10037 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:9287: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10041: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9293: \$? = $ac_status" >&5
++ echo "$as_me:10047: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -9327,7 +10081,7 @@
+ else
+ ac_cv_prog_CXXCPP=$CXXCPP
+ fi
+-echo "$as_me:9330: result: $CXXCPP" >&5
++echo "$as_me:10084: result: $CXXCPP" >&5
+ echo "${ECHO_T}$CXXCPP" >&6
+ ac_preproc_ok=false
+ for ac_cxx_preproc_warn_flag in '' yes
+@@ -9337,18 +10091,18 @@
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9340 "configure"
++#line 10094 "configure"
+ #include "confdefs.h"
+ #include <assert.h>
+ Syntax error
+ _ACEOF
+-if { (eval echo "$as_me:9345: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10099: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9351: \$? = $ac_status" >&5
++ echo "$as_me:10105: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -9371,17 +10125,17 @@
+ # OK, works on sane cases. Now check whether non-existent headers
+ # can be detected and how.
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9374 "configure"
++#line 10128 "configure"
+ #include "confdefs.h"
+ #include <ac_nonexistent.h>
+ _ACEOF
+-if { (eval echo "$as_me:9378: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10132: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9384: \$? = $ac_status" >&5
++ echo "$as_me:10138: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -9409,7 +10163,7 @@
+ if $ac_preproc_ok; then
+ :
+ else
+- { { echo "$as_me:9412: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
++ { { echo "$as_me:10166: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
+ echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+@@ -9423,23 +10177,23 @@
+ for ac_header in typeinfo
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:9426: checking for $ac_header" >&5
++echo "$as_me:10180: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9432 "configure"
++#line 10186 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:9436: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10190: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9442: \$? = $ac_status" >&5
++ echo "$as_me:10196: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -9458,7 +10212,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:9461: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:10215: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -9468,23 +10222,23 @@
+ fi
+ done
+
+-echo "$as_me:9471: checking for stdbool.h" >&5
++echo "$as_me:10225: checking for stdbool.h" >&5
+ echo $ECHO_N "checking for stdbool.h... $ECHO_C" >&6
+ if test "${ac_cv_header_stdbool_h+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9477 "configure"
++#line 10231 "configure"
+ #include "confdefs.h"
+ #include <stdbool.h>
+ _ACEOF
+-if { (eval echo "$as_me:9481: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10235: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9487: \$? = $ac_status" >&5
++ echo "$as_me:10241: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -9503,7 +10257,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:9506: result: $ac_cv_header_stdbool_h" >&5
++echo "$as_me:10260: result: $ac_cv_header_stdbool_h" >&5
+ echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6
+ if test $ac_cv_header_stdbool_h = yes; then
+ cf_cv_header_stdbool_h=1
+@@ -9511,14 +10265,14 @@
+ cf_cv_header_stdbool_h=0
+ fi
+
+-echo "$as_me:9514: checking for builtin bool type" >&5
++echo "$as_me:10268: checking for builtin bool type" >&5
+ echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
+ if test "${cf_cv_builtin_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9521 "configure"
++#line 10275 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -9533,16 +10287,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9536: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:10290: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9539: \$? = $ac_status" >&5
++ echo "$as_me:10293: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9542: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10296: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9545: \$? = $ac_status" >&5
++ echo "$as_me:10299: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_builtin_bool=1
+ else
+@@ -9555,13 +10309,13 @@
+ fi
+
+ if test "$cf_cv_builtin_bool" = 1
+-then echo "$as_me:9558: result: yes" >&5
++then echo "$as_me:10312: result: yes" >&5
+ echo "${ECHO_T}yes" >&6
+-else echo "$as_me:9560: result: no" >&5
++else echo "$as_me:10314: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+-echo "$as_me:9564: checking for size of bool" >&5
++echo "$as_me:10318: checking for size of bool" >&5
+ echo $ECHO_N "checking for size of bool... $ECHO_C" >&6
+ if test "${cf_cv_type_of_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9572,7 +10326,7 @@
+ cf_cv_type_of_bool=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9575 "configure"
++#line 10329 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -9614,15 +10368,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:9617: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10371: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9620: \$? = $ac_status" >&5
++ echo "$as_me:10374: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:9622: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10376: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9625: \$? = $ac_status" >&5
++ echo "$as_me:10379: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_of_bool=`cat cf_test.out`
+ if test -z "$cf_cv_type_of_bool"; then
+@@ -9640,18 +10394,18 @@
+ fi
+
+ rm -f cf_test.out
+-echo "$as_me:9643: result: $cf_cv_type_of_bool" >&5
++echo "$as_me:10397: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ if test "$cf_cv_type_of_bool" = unknown ; then
+ case .$NCURSES_BOOL in #(vi
+ .auto|.) NCURSES_BOOL=unsigned;;
+ esac
+- { echo "$as_me:9649: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
++ { echo "$as_me:10403: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
+ cf_cv_type_of_bool=$NCURSES_BOOL
+ fi
+
+-echo "$as_me:9654: checking for special defines needed for etip.h" >&5
++echo "$as_me:10408: checking for special defines needed for etip.h" >&5
+ echo $ECHO_N "checking for special defines needed for etip.h... $ECHO_C" >&6
+ cf_save_CXXFLAGS="$CXXFLAGS"
+ cf_result="none"
+@@ -9659,11 +10413,11 @@
+ do
+ for cf_excp in "" MATH_EXCEPTION
+ do
+- CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu"
++ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
+ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
+ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9666 "configure"
++#line 10420 "configure"
+ #include "confdefs.h"
+
+ #include <etip.h.in>
+@@ -9677,16 +10431,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+-if { (eval echo "$as_me:9680: \"$ac_compile\"") >&5
++if { (eval echo "$as_me:10434: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+- echo "$as_me:9683: \$? = $ac_status" >&5
++ echo "$as_me:10437: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+- { (eval echo "$as_me:9686: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10440: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9689: \$? = $ac_status" >&5
++ echo "$as_me:10443: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+
+ test -n "$cf_math" && cat >>confdefs.h <<EOF
+@@ -9707,12 +10461,12 @@
+ rm -f conftest.$ac_objext conftest.$ac_ext
+ done
+ done
+-echo "$as_me:9710: result: $cf_result" >&5
++echo "$as_me:10464: result: $cf_result" >&5
+ echo "${ECHO_T}$cf_result" >&6
+ CXXFLAGS="$cf_save_CXXFLAGS"
+
+ if test -n "$CXX"; then
+-echo "$as_me:9715: checking if $CXX accepts parameter initialization" >&5
++echo "$as_me:10469: checking if $CXX accepts parameter initialization" >&5
+ echo $ECHO_N "checking if $CXX accepts parameter initialization... $ECHO_C" >&6
+ if test "${cf_cv_cpp_param_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9728,7 +10482,7 @@
+ cf_cv_cpp_param_init=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9731 "configure"
++#line 10485 "configure"
+ #include "confdefs.h"
+
+ class TEST {
+@@ -9747,15 +10501,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:9750: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10504: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9753: \$? = $ac_status" >&5
++ echo "$as_me:10507: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:9755: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10509: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9758: \$? = $ac_status" >&5
++ echo "$as_me:10512: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cpp_param_init=yes
+ else
+@@ -9773,7 +10527,7 @@
+ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ fi
+-echo "$as_me:9776: result: $cf_cv_cpp_param_init" >&5
++echo "$as_me:10530: result: $cf_cv_cpp_param_init" >&5
+ echo "${ECHO_T}$cf_cv_cpp_param_init" >&6
+ fi
+ test "$cf_cv_cpp_param_init" = yes && cat >>confdefs.h <<\EOF
+@@ -9791,23 +10545,23 @@
+ for ac_header in strstream.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-echo "$as_me:9794: checking for $ac_header" >&5
++echo "$as_me:10548: checking for $ac_header" >&5
+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9800 "configure"
++#line 10554 "configure"
+ #include "confdefs.h"
+ #include <$ac_header>
+ _ACEOF
+-if { (eval echo "$as_me:9804: \"$ac_cpp conftest.$ac_ext\"") >&5
++if { (eval echo "$as_me:10558: \"$ac_cpp conftest.$ac_ext\"") >&5
+ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+ ac_status=$?
+ egrep -v '^ *\+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+- echo "$as_me:9810: \$? = $ac_status" >&5
++ echo "$as_me:10564: \$? = $ac_status" >&5
+ (exit $ac_status); } >/dev/null; then
+ if test -s conftest.err; then
+ ac_cpp_err=$ac_cxx_preproc_warn_flag
+@@ -9826,7 +10580,7 @@
+ fi
+ rm -f conftest.err conftest.$ac_ext
+ fi
+-echo "$as_me:9829: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "$as_me:10583: result: `eval echo '${'$as_ac_Header'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ if test `eval echo '${'$as_ac_Header'}'` = yes; then
+ cat >>confdefs.h <<EOF
+@@ -9836,7 +10590,7 @@
+ fi
+ done
+
+-echo "$as_me:9839: checking if $CXX supports vscan function" >&5
++echo "$as_me:10593: checking if $CXX supports vscan function" >&5
+ echo $ECHO_N "checking if $CXX supports vscan function... $ECHO_C" >&6
+ if test "${cf_cv_cpp_vscan_func+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -9850,7 +10604,7 @@
+ strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;;
+ esac
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 9853 "configure"
++#line 10607 "configure"
+ #include "confdefs.h"
+
+ #include <stdio.h>
+@@ -9895,16 +10649,16 @@
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (eval echo "$as_me:9898: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10652: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:9901: \$? = $ac_status" >&5
++ echo "$as_me:10655: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+- { (eval echo "$as_me:9904: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10658: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:9907: \$? = $ac_status" >&5
++ echo "$as_me:10661: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_cpp_vscan_func=$cf_vscan_func; break
+ else
+@@ -9917,7 +10671,7 @@
+ done
+
+ fi
+-echo "$as_me:9920: result: $cf_cv_cpp_vscan_func" >&5
++echo "$as_me:10674: result: $cf_cv_cpp_vscan_func" >&5
+ echo "${ECHO_T}$cf_cv_cpp_vscan_func" >&6
+
+ ac_ext=cc
+@@ -9999,7 +10753,7 @@
+ else
+ if test "$cf_cv_header_stdbool_h" = 1 ; then
+
+-echo "$as_me:10002: checking for size of bool" >&5
++echo "$as_me:10756: checking for size of bool" >&5
+ echo $ECHO_N "checking for size of bool... $ECHO_C" >&6
+ if test "${cf_cv_type_of_bool+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10010,7 +10764,7 @@
+ cf_cv_type_of_bool=unknown
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+-#line 10013 "configure"
++#line 10767 "configure"
+ #include "confdefs.h"
+
+ #include <stdlib.h>
+@@ -10052,15 +10806,15 @@
+
+ _ACEOF
+ rm -f conftest$ac_exeext
+-if { (eval echo "$as_me:10055: \"$ac_link\"") >&5
++if { (eval echo "$as_me:10809: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+- echo "$as_me:10058: \$? = $ac_status" >&5
++ echo "$as_me:10812: \$? = $ac_status" >&5
+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+- { (eval echo "$as_me:10060: \"$ac_try\"") >&5
++ { (eval echo "$as_me:10814: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+- echo "$as_me:10063: \$? = $ac_status" >&5
++ echo "$as_me:10817: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_type_of_bool=`cat cf_test.out`
+ if test -z "$cf_cv_type_of_bool"; then
+@@ -10078,35 +10832,54 @@
+ fi
+
+ rm -f cf_test.out
+-echo "$as_me:10081: result: $cf_cv_type_of_bool" >&5
++echo "$as_me:10835: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ if test "$cf_cv_type_of_bool" = unknown ; then
+ case .$NCURSES_BOOL in #(vi
+ .auto|.) NCURSES_BOOL=unsigned;;
+ esac
+- { echo "$as_me:10087: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
++ { echo "$as_me:10841: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
+ cf_cv_type_of_bool=$NCURSES_BOOL
+ fi
+
+ else
+- echo "$as_me:10093: checking for fallback type of bool" >&5
++ echo "$as_me:10847: checking for fallback type of bool" >&5
+ echo $ECHO_N "checking for fallback type of bool... $ECHO_C" >&6
+ case "$host_cpu" in #(vi
+ i?86) cf_cv_type_of_bool=char ;; #(vi
+ *) cf_cv_type_of_bool=int ;;
+ esac
+- echo "$as_me:10099: result: $cf_cv_type_of_bool" >&5
++ echo "$as_me:10853: result: $cf_cv_type_of_bool" >&5
+ echo "${ECHO_T}$cf_cv_type_of_bool" >&6
+ fi
+ fi
+ fi
+
++# If the C compiler did not declare bool, and we did not determine that the C++
++# compiler does not declare bool, turn on an ifdef in curses.h that makes the
++# ncurses library use the same type as C++ bool. Note that this allows one to
++# specify the type of bool in a configure-script option and postpone
++# integration with the C++ compiler provided that the types are compatible.
++USE_CXX_BOOL=1
++if test $cv_cv_cc_bool_type = 1
++then
++ # oops: C has a bool. Unlikely, but C++ could differ.
++ USE_CXX_BOOL=0
++elif test $cf_cv_builtin_bool = 0
++then
++ # C++ has no bool
++ USE_CXX_BOOL=0
++else
++ # this is the normal case
++ USE_CXX_BOOL='!defined(__cplusplus)'
++fi
++
+ if test "$cf_with_ada" != "no" ; then
+ cf_ada_make=gnatmake
+ # Extract the first word of "$cf_ada_make", so it can be a program name with args.
+ set dummy $cf_ada_make; ac_word=$2
+-echo "$as_me:10109: checking for $ac_word" >&5
++echo "$as_me:10882: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_gnat_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10121,7 +10894,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_gnat_exists="yes"
+-echo "$as_me:10124: found $ac_dir/$ac_word" >&5
++echo "$as_me:10897: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -10130,10 +10903,10 @@
+ fi
+ gnat_exists=$ac_cv_prog_gnat_exists
+ if test -n "$gnat_exists"; then
+- echo "$as_me:10133: result: $gnat_exists" >&5
++ echo "$as_me:10906: result: $gnat_exists" >&5
+ echo "${ECHO_T}$gnat_exists" >&6
+ else
+- echo "$as_me:10136: result: no" >&5
++ echo "$as_me:10909: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -10141,18 +10914,23 @@
+ cf_ada_make=
+ else
+
+-cf_cv_gnat_version=`$cf_ada_make -v 2>&1 | grep '[0-9].[0-9][0-9]*' |\
+- sed -e 's/[^0-9 \.]//g' | $AWK '{print $1;}'`
+-case $cf_cv_gnat_version in
++echo "$as_me:10917: checking for gnat version" >&5
++echo $ECHO_N "checking for gnat version... $ECHO_C" >&6
++cf_gnat_version=`$cf_ada_make -v 2>&1 | grep '[0-9].[0-9][0-9]*' |\
++ sed -e 's/[^0-9 \.]//g' | $AWK '{print $1;}' | sed -e '2,$d'`
++echo "$as_me:10921: result: $cf_gnat_version" >&5
++echo "${ECHO_T}$cf_gnat_version" >&6
++
++case $cf_gnat_version in
+ 3.1[1-9]*|3.[2-9]*|[4-9].*)
+ cf_cv_prog_gnat_correct=yes
+ ;;
+- *) echo Unsupported GNAT version $cf_cv_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
++ *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
+ cf_cv_prog_gnat_correct=no
+ ;;
+ esac
+-case $cf_cv_gnat_version in
+- 3.1*|[4-9].*)
++case $cf_gnat_version in
++ 3.[1-9]*|[4-9].*)
+ cf_compile_generics=generics
+ cf_generic_objects="\$(GENOBJS)"
+ ;;
+@@ -10163,7 +10941,7 @@
+
+ # Extract the first word of "m4", so it can be a program name with args.
+ set dummy m4; ac_word=$2
+-echo "$as_me:10166: checking for $ac_word" >&5
++echo "$as_me:10944: checking for $ac_word" >&5
+ echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+ if test "${ac_cv_prog_M4_exists+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+@@ -10178,7 +10956,7 @@
+ test -z "$ac_dir" && ac_dir=.
+ $as_executable_p "$ac_dir/$ac_word" || continue
+ ac_cv_prog_M4_exists="yes"
+-echo "$as_me:10181: found $ac_dir/$ac_word" >&5
++echo "$as_me:10959: found $ac_dir/$ac_word" >&5
+ break
+ done
+
+@@ -10187,10 +10965,10 @@
+ fi
+ M4_exists=$ac_cv_prog_M4_exists
+ if test -n "$M4_exists"; then
+- echo "$as_me:10190: result: $M4_exists" >&5
++ echo "$as_me:10968: result: $M4_exists" >&5
+ echo "${ECHO_T}$M4_exists" >&6
+ else
+- echo "$as_me:10193: result: no" >&5
++ echo "$as_me:10971: result: no" >&5
+ echo "${ECHO_T}no" >&6
+ fi
+
+@@ -10199,7 +10977,7 @@
+ echo Ada95 binding required program m4 not found. Ada95 binding disabled.
+ fi
+ if test "$cf_cv_prog_gnat_correct" = yes; then
+- echo "$as_me:10202: checking if GNAT works" >&5
++ echo "$as_me:10980: checking if GNAT works" >&5
+ echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6
+
+ rm -f conftest*
+@@ -10227,7 +11005,7 @@
+ fi
+ rm -f conftest*
+
+- echo "$as_me:10230: result: $cf_cv_prog_gnat_correct" >&5
++ echo "$as_me:11008: result: $cf_cv_prog_gnat_correct" >&5
+ echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6
+ fi
+ fi
+@@ -10270,7 +11048,7 @@
+ withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
+ ;;
+ *)
+- { { echo "$as_me:10273: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:11051: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -10304,7 +11082,7 @@
+ withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
+ ;;
+ *)
+- { { echo "$as_me:10307: error: expected a pathname, not \"$withval\"" >&5
++ { { echo "$as_me:11085: error: expected a pathname, not \"$withval\"" >&5
+ echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+@@ -10315,25 +11093,9 @@
+ fi
+ fi
+
+-### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
+-### using a 'char' for bools. gcc 2.7.0's conversion-warnings are broken too
+-### badly to consider using for development purposes, but 2.5.8 is okay.
+-if test -n "$with_warnings"; then
+- case $GCC_VERSION in
+- 2.6.3)
+- if test "$cf_cv_type_of_bool" != "char"; then
+- EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
+- fi
+- ;;
+- 2.5*)
+- EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
+- ;;
+- esac
+-fi
+-
+ ### Construct the library-subsets, if any, from this set of keywords:
+ ### none, base, ext_funcs, termlib.
+-echo "$as_me:10336: checking for library subsets" >&5
++echo "$as_me:11098: checking for library subsets" >&5
+ echo $ECHO_N "checking for library subsets... $ECHO_C" >&6
+ if test "$with_termlib" = yes ; then
+ LIB_SUBSETS="termlib "
+@@ -10343,7 +11105,7 @@
+ LIB_SUBSETS="${LIB_SUBSETS}base"
+ test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
+ test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
+-echo "$as_me:10346: result: $LIB_SUBSETS" >&5
++echo "$as_me:11108: result: $LIB_SUBSETS" >&5
+ echo "${ECHO_T}$LIB_SUBSETS" >&6
+
+ LIB_TRACING=DEBUG
+@@ -10357,9 +11119,9 @@
+
+ ### Construct the list of include-directories to be generated
+
+-CPPFLAGS="$CPPFLAGS -I. -I../include"
++CPPFLAGS="-I. -I../include $CPPFLAGS"
+ if test "$srcdir" != "."; then
+- CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
++ CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
+ fi
+ if test "$GCC" != yes; then
+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
+@@ -10373,9 +11135,9 @@
+ fi
+ fi
+
+-ACPPFLAGS="$ACPPFLAGS -I. -I../../include"
++ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
+ if test "$srcdir" != "."; then
+- ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
++ ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS"
+ fi
+ if test "$GCC" != yes; then
+ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
+@@ -10390,7 +11152,7 @@
+ fi
+
+ ### Build up pieces for makefile rules
+-echo "$as_me:10393: checking default library suffix" >&5
++echo "$as_me:11155: checking default library suffix" >&5
+ echo $ECHO_N "checking default library suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -10401,10 +11163,10 @@
+ shared) DFT_ARG_SUFFIX='' ;;
+ esac
+ test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}"
+-echo "$as_me:10404: result: $DFT_ARG_SUFFIX" >&5
++echo "$as_me:11166: result: $DFT_ARG_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6
+
+-echo "$as_me:10407: checking default library-dependency suffix" >&5
++echo "$as_me:11169: checking default library-dependency suffix" >&5
+ echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -10428,10 +11190,10 @@
+ ;;
+ esac
+ fi
+-echo "$as_me:10431: result: $DFT_DEP_SUFFIX" >&5
++echo "$as_me:11193: result: $DFT_DEP_SUFFIX" >&5
+ echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6
+
+-echo "$as_me:10434: checking default object directory" >&5
++echo "$as_me:11196: checking default object directory" >&5
+ echo $ECHO_N "checking default object directory... $ECHO_C" >&6
+
+ case $DFT_LWR_MODEL in
+@@ -10447,13 +11209,14 @@
+ DFT_OBJ_SUBDIR='obj_s' ;;
+ esac
+ esac
+-echo "$as_me:10450: result: $DFT_OBJ_SUBDIR" >&5
++echo "$as_me:11212: result: $DFT_OBJ_SUBDIR" >&5
+ echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6
+
+ # libtool thinks it can make c++ shared libraries (perhaps only g++)
+-echo "$as_me:10454: checking c++ library-dependency suffix" >&5
++if test "$cf_with_cxx" = yes ; then
++echo "$as_me:11217: checking c++ library-dependency suffix" >&5
+ echo $ECHO_N "checking c++ library-dependency suffix... $ECHO_C" >&6
+-if test "$with_libtool" = "yes"; then
++if test "$with_libtool" != "no"; then
+ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+ else
+
+@@ -10472,18 +11235,22 @@
+ esac
+ test -n "$LIB_SUFFIX" && CXX_LIB_SUFFIX="${LIB_SUFFIX}${CXX_LIB_SUFFIX}"
+ fi
+-echo "$as_me:10475: result: $CXX_LIB_SUFFIX" >&5
++echo "$as_me:11238: result: $CXX_LIB_SUFFIX" >&5
+ echo "${ECHO_T}$CXX_LIB_SUFFIX" >&6
+
++fi
++
+ TINFO_LIST="$SHLIB_LIST"
+-test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
++if test "$with_libtool" = no ; then
++ test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
++fi
+
+-echo "$as_me:10481: checking where we will install curses.h" >&5
++echo "$as_me:11248: checking where we will install curses.h" >&5
+ echo $ECHO_N "checking where we will install curses.h... $ECHO_C" >&6
+ test "$with_overwrite" = no && \
+ test "x$includedir" = 'x${prefix}/include' && \
+ includedir='$(prefix)/include/ncurses'${LIB_SUFFIX}
+-echo "$as_me:10486: result: $includedir" >&5
++echo "$as_me:11253: result: $includedir" >&5
+ echo "${ECHO_T}$includedir" >&6
+
+ ### Resolve a conflict between normal and wide-curses by forcing applications
+@@ -10491,7 +11258,7 @@
+ if test "$with_overwrite" != no ; then
+ if test "$NCURSES_LIBUTF8" = 1 ; then
+ NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
+- { echo "$as_me:10494: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
++ { echo "$as_me:11261: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
+ echo "$as_me: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&2;}
+ fi
+ fi
+@@ -10509,10 +11276,15 @@
+ PROG_DEPS="$TEST_DEPS"
+ PROG_ARGS="$TEST_ARGS"
+
++### predefined stuff for the test programs
++cat >>confdefs.h <<\EOF
++#define HAVE_SLK_COLOR 1
++EOF
++
+ ### Construct the list of subdirectories for which we'll customize makefiles
+ ### with the appropriate compile-rules.
+
+-echo "$as_me:10515: checking for src modules" >&5
++echo "$as_me:11287: checking for src modules" >&5
+ echo $ECHO_N "checking for src modules... $ECHO_C" >&6
+
+ # dependencies and linker-arguments for test-programs
+@@ -10572,7 +11344,7 @@
+ fi
+ fi
+ done
+-echo "$as_me:10575: result: $cf_cv_src_modules" >&5
++echo "$as_me:11347: result: $cf_cv_src_modules" >&5
+ echo "${ECHO_T}$cf_cv_src_modules" >&6
+ TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
+
+@@ -10641,10 +11413,40 @@
+ EOF
+
+ ### Now that we're done running tests, add the compiler-warnings, if any
+-CFLAGS="$CFLAGS $EXTRA_CFLAGS"
++
++cf_new_cflags=
++cf_new_cppflags=
++for cf_add_cflags in $EXTRA_CFLAGS
++do
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++done
++
++if test -n "$cf_new_cflags" ; then
++
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++
++ CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
++fi
+
+ ################################################################################
+-ac_config_files="$ac_config_files include/MKterm.h.awk include/curses.head:include/curses.h.in include/termcap.h include/unctrl.h misc/run_tic.sh:misc/run_tic.in $SUB_MAKEFILES Makefile"
++test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
++ac_config_files="$ac_config_files include/MKterm.h.awk include/curses.head:include/curses.h.in include/termcap.h include/unctrl.h $SUB_MAKEFILES Makefile"
+ ac_config_commands="$ac_config_commands default"
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+@@ -10725,7 +11527,7 @@
+ : ${CONFIG_STATUS=./config.status}
+ ac_clean_files_save=$ac_clean_files
+ ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+-{ echo "$as_me:10728: creating $CONFIG_STATUS" >&5
++{ echo "$as_me:11530: creating $CONFIG_STATUS" >&5
+ echo "$as_me: creating $CONFIG_STATUS" >&6;}
+ cat >$CONFIG_STATUS <<_ACEOF
+ #! $SHELL
+@@ -10857,7 +11659,7 @@
+ cat >>$CONFIG_STATUS <<EOF
+ ac_cs_version="\\
+ config.status
+-configured by $0, generated by GNU Autoconf 2.52.20011227,
++configured by $0, generated by GNU Autoconf 2.52.20030208,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+ Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+@@ -10901,7 +11703,7 @@
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+- { { echo "$as_me:10904: error: ambiguous option: $1
++ { { echo "$as_me:11706: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: ambiguous option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -10920,7 +11722,7 @@
+ ac_need_defaults=false;;
+
+ # This is an error.
+- -*) { { echo "$as_me:10923: error: unrecognized option: $1
++ -*) { { echo "$as_me:11725: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&5
+ echo "$as_me: error: unrecognized option: $1
+ Try \`$0 --help' for more information." >&2;}
+@@ -10939,7 +11741,7 @@
+ ## Running config.status. ##
+ ## ----------------------- ##
+
+-This file was extended by $as_me 2.52.20011227, executed with
++This file was extended by $as_me 2.52.20030208, executed with
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+@@ -10982,7 +11784,7 @@
+ cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
+ cf_cv_system_name="$cf_cv_system_name"
+ cf_with_cxx_binding="$cf_with_cxx_binding"
+-target="$target"
++host="$host"
+
+ EOF
+
+@@ -10995,12 +11797,11 @@
+ "include/curses.head" ) CONFIG_FILES="$CONFIG_FILES include/curses.head:include/curses.h.in" ;;
+ "include/termcap.h" ) CONFIG_FILES="$CONFIG_FILES include/termcap.h" ;;
+ "include/unctrl.h" ) CONFIG_FILES="$CONFIG_FILES include/unctrl.h" ;;
+- "misc/run_tic.sh" ) CONFIG_FILES="$CONFIG_FILES misc/run_tic.sh:misc/run_tic.in" ;;
+ "$SUB_MAKEFILES" ) CONFIG_FILES="$CONFIG_FILES $SUB_MAKEFILES" ;;
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+ "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
+- *) { { echo "$as_me:11003: error: invalid argument: $ac_config_target" >&5
++ *) { { echo "$as_me:11804: error: invalid argument: $ac_config_target" >&5
+ echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+@@ -11087,7 +11888,6 @@
+ s,@NCURSES_PATCH@,$NCURSES_PATCH,;t t
+ s,@cf_cv_rel_version@,$cf_cv_rel_version,;t t
+ s,@cf_cv_abi_version@,$cf_cv_abi_version,;t t
+-s,@cf_cv_cc_bool_type@,$cf_cv_cc_bool_type,;t t
+ s,@cf_cv_builtin_bool@,$cf_cv_builtin_bool,;t t
+ s,@cf_cv_header_stdbool_h@,$cf_cv_header_stdbool_h,;t t
+ s,@cf_cv_type_of_bool@,$cf_cv_type_of_bool,;t t
+@@ -11110,11 +11910,6 @@
+ s,@ac_ct_CC@,$ac_ct_CC,;t t
+ s,@EXEEXT@,$EXEEXT,;t t
+ s,@OBJEXT@,$OBJEXT,;t t
+-s,@BUILD_CC@,$BUILD_CC,;t t
+-s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t
+-s,@BUILD_CPPFLAGS@,$BUILD_CPPFLAGS,;t t
+-s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
+-s,@BUILD_LIBS@,$BUILD_LIBS,;t t
+ s,@CPP@,$CPP,;t t
+ s,@PROG_EXT@,$PROG_EXT,;t t
+ s,@LDCONFIG@,$LDCONFIG,;t t
+@@ -11135,18 +11930,34 @@
+ s,@MAN@,$MAN,;t t
+ s,@LINT_OPTS@,$LINT_OPTS,;t t
+ s,@LD@,$LD,;t t
++s,@ac_ct_LD@,$ac_ct_LD,;t t
+ s,@AR@,$AR,;t t
++s,@ac_ct_AR@,$ac_ct_AR,;t t
+ s,@AR_OPTS@,$AR_OPTS,;t t
+ s,@cf_cv_makeflags@,$cf_cv_makeflags,;t t
+ s,@DESTDIR@,$DESTDIR,;t t
++s,@BUILD_CC@,$BUILD_CC,;t t
++s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t
++s,@BUILD_CPPFLAGS@,$BUILD_CPPFLAGS,;t t
++s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
++s,@BUILD_LIBS@,$BUILD_LIBS,;t t
+ s,@cf_list_models@,$cf_list_models,;t t
+ s,@LIBTOOL@,$LIBTOOL,;t t
++s,@LIBTOOL_CXX@,$LIBTOOL_CXX,;t t
++s,@LIB_CREATE@,$LIB_CREATE,;t t
++s,@LIB_OBJECT@,$LIB_OBJECT,;t t
++s,@LIB_SUFFIX@,$LIB_SUFFIX,;t t
++s,@LIB_PREP@,$LIB_PREP,;t t
++s,@LIB_CLEAN@,$LIB_CLEAN,;t t
++s,@LIB_COMPILE@,$LIB_COMPILE,;t t
++s,@LIB_LINK@,$LIB_LINK,;t t
++s,@LIB_INSTALL@,$LIB_INSTALL,;t t
++s,@LIB_UNINSTALL@,$LIB_UNINSTALL,;t t
+ s,@DFT_LWR_MODEL@,$DFT_LWR_MODEL,;t t
+ s,@DFT_UPR_MODEL@,$DFT_UPR_MODEL,;t t
+ s,@TINFO_NAME@,$TINFO_NAME,;t t
+ s,@LIB_NAME@,$LIB_NAME,;t t
+ s,@LIB_PREFIX@,$LIB_PREFIX,;t t
+-s,@LIB_SUFFIX@,$LIB_SUFFIX,;t t
+ s,@CC_G_OPT@,$CC_G_OPT,;t t
+ s,@CXX_G_OPT@,$CXX_G_OPT,;t t
+ s,@LD_MODEL@,$LD_MODEL,;t t
+@@ -11175,7 +11986,12 @@
+ s,@NCURSES_XNAMES@,$NCURSES_XNAMES,;t t
+ s,@NCURSES_CH_T@,$NCURSES_CH_T,;t t
+ s,@NCURSES_LIBUTF8@,$NCURSES_LIBUTF8,;t t
++s,@NEED_WCHAR_H@,$NEED_WCHAR_H,;t t
+ s,@NCURSES_MBSTATE_T@,$NCURSES_MBSTATE_T,;t t
++s,@NCURSES_WCHAR_T@,$NCURSES_WCHAR_T,;t t
++s,@NCURSES_WINT_T@,$NCURSES_WINT_T,;t t
++s,@NCURSES_OK_WCHAR_T@,$NCURSES_OK_WCHAR_T,;t t
++s,@NCURSES_OK_WINT_T@,$NCURSES_OK_WINT_T,;t t
+ s,@TERMINFO_CAPS@,$TERMINFO_CAPS,;t t
+ s,@ECHO_LINK@,$ECHO_LINK,;t t
+ s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t
+@@ -11188,6 +12004,7 @@
+ s,@CXX_AR@,$CXX_AR,;t t
+ s,@CXX_AR_OPTS@,$CXX_AR_OPTS,;t t
+ s,@CXXLIBS@,$CXXLIBS,;t t
++s,@USE_CXX_BOOL@,$USE_CXX_BOOL,;t t
+ s,@gnat_exists@,$gnat_exists,;t t
+ s,@M4_exists@,$M4_exists,;t t
+ s,@cf_ada_make@,$cf_ada_make,;t t
+@@ -11326,7 +12143,7 @@
+ esac
+
+ if test x"$ac_file" != x-; then
+- { echo "$as_me:11329: creating $ac_file" >&5
++ { echo "$as_me:12146: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+@@ -11344,7 +12161,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:11347: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:12164: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -11357,7 +12174,7 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:11360: error: cannot find input file: $f" >&5
++ { { echo "$as_me:12177: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -11423,7 +12240,7 @@
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+- test x"$ac_file" != x- && { echo "$as_me:11426: creating $ac_file" >&5
++ test x"$ac_file" != x- && { echo "$as_me:12243: creating $ac_file" >&5
+ echo "$as_me: creating $ac_file" >&6;}
+
+ # First look for the input files in the build tree, otherwise in the
+@@ -11434,7 +12251,7 @@
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+- test -f "$f" || { { echo "$as_me:11437: error: cannot find input file: $f" >&5
++ test -f "$f" || { { echo "$as_me:12254: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo $f;;
+@@ -11447,7 +12264,7 @@
+ echo $srcdir/$f
+ else
+ # /dev/null tree
+- { { echo "$as_me:11450: error: cannot find input file: $f" >&5
++ { { echo "$as_me:12267: error: cannot find input file: $f" >&5
+ echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+@@ -11505,7 +12322,7 @@
+ rm -f $tmp/in
+ if test x"$ac_file" != x-; then
+ if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
+- { echo "$as_me:11508: $ac_file is unchanged" >&5
++ { echo "$as_me:12325: $ac_file is unchanged" >&5
+ echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+@@ -11608,8 +12425,10 @@
+ esac
+ fi
+ # cygwin needs import library, and has unique naming convention
++ # use autodetected ${cf_prefix} for import lib and static lib, but
++ # use 'cyg' prefix for shared lib.
+ if test $cf_cv_shlib_version = cygdll ; then
+- SHARED_LIB="../lib/${cf_prefix}${cf_dir}\$(ABI_VERSION).dll"
++ SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
+ IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
+ LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
+ continue
+@@ -11624,7 +12443,7 @@
+ termlib+*) #(vi
+ ;;
+ *) #(vi
+- cf_item=`echo $LIBS_TO_MAKE |sed -e s/$LIB_NAME/$TINFO_NAME/g`
++ cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g`
+ LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
+ ;;
+ esac
+@@ -11710,7 +12529,7 @@
+ ldconfig="$LDCONFIG" \
+ overwrite=$WITH_OVERWRITE \
+ depend="$cf_depend" \
+- target="$target" \
++ host="$host" \
+ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
+ for cf_subdir2 in $cf_subdirs lib
+ do
+diff -urNd -urNd ncurses-5.3/configure.in ncurses-5.3.20030906.orig/configure.in
+--- ncurses-5.3/configure.in Sat Sep 14 19:11:28 2002
++++ ncurses-5.3.20030906.orig/configure.in Fri Sep 12 16:42:40 2003
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,50 +28,29 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1995-on
+ dnl
+-dnl $Id: configure.in,v 1.274 2002/09/15 00:11:28 tom Exp $
++dnl $Id: configure.in,v 1.297 2003/08/30 22:52:21 tom Exp $
+ dnl Process this file with autoconf to produce a configure script.
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl
+ dnl ---------------------------------------------------------------------------
+ AC_PREREQ(2.13.20020210)
+-AC_REVISION($Revision: 1.274 $)
++AC_REVISION($Revision: 1.297 $)
+ AC_INIT(ncurses/base/lib_initscr.c)
+ AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
+
+ CF_SUBST_NCURSES_VERSION
++AC_ARG_WITH(abi-version,
++[ --with-abi-version=XXX override derived ABI version],
++[AC_MSG_WARN(overriding ABI version to $withval)
++ cf_cv_abi_version=$withval])
++
+ CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
+ AC_ARG_WITH(system-type,
+ [ --with-system-type=XXX test: override derived host system-type],
+ [AC_MSG_WARN(overriding system type to $withval)
+ cf_cv_system_name=$withval])
+
+-# We need a configure script only when compiling as part of GNU C library.
+-# Here we have to generate one of the files we need while compiling.
+-#
+-# The only problem is that users of the package might think they have to
+-# run configure themself and find it irritating when nothing happens.
+-#
+-# So we try here to find out whether we are called from the glibc configure
+-# or by a user.
+-#
+-dnl Check if we are a drop-in addition to glibc.
+-AC_ARG_ENABLE(add-ons, dnl
+-[ --enable-add-ons=DIR... used to check if we are a glibc add-on.],
+- [glibc_add_on=yes],
+- [glibc_add_on=])
+-
+-if test x"$glibc_add_on" = "xyes" ; then
+- rm -f $srcdir/Banner
+- # We are in glibc.
+- rm -f $srcdir/Makefile
+- cp $srcdir/Makefile.glibc $srcdir/Makefile
+- echo "ncurses `grep \"^[[ ]]*ncurses-version[[ ]]*=.*$\" \
+- $srcdir/Makefile | sed -e \
+- 's/^[[ ]]*ncurses-version[[ ]]*=[[ ]]*\([[^ ^ ]]*\)[[ ]]*$/\1/'`" > $srcdir/Banner
+- exit 0
+-fi
+-
+ ### Save the given $CFLAGS to allow user-override.
+ cf_user_CFLAGS="$CFLAGS"
+
+@@ -80,44 +59,7 @@
+
+ ### Checks for programs.
+ AC_PROG_CC
+-GCC_VERSION=none
+-if test "$GCC" = yes ; then
+- AC_MSG_CHECKING(version of gcc)
+- GCC_VERSION="`${CC} --version|head -1`"
+- AC_MSG_RESULT($GCC_VERSION)
+-fi
+-
+-# If we're cross-compiling, allow the user to override the tools and their
+-# options. The configure script is oriented toward identifying the target
+-# compiler, etc., but we need a host compiler to generate parts of the source.
+-BUILD_CC='$(CC)'
+-BUILD_CFLAGS='$(CFLAGS)'
+-BUILD_CPPFLAGS='$(CPPFLAGS)'
+-BUILD_LDFLAGS='$(LDFLAGS)'
+-BUILD_LIBS='$(LIBS)'
+-if test "$host_alias" != "$target_alias" ; then
+- AC_ARG_WITH(build-cc,
+- [ --with-build-cc=XXX if cross-compiling, the host C compiler (\$BUILD_CC)],
+- [BUILD_CC="$withval"],
+- [AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)])
+- AC_ARG_WITH(build-cflags,
+- [ --with-build-cflags=XXX if cross-compiling, the host C compiler-flags],
+- [BUILD_CFLAGS="$withval"])
+- AC_ARG_WITH(build-cppflags,
+- [ --with-build-cppflags=XXX if cross-compiling, the host C preprocessor-flags],
+- [BUILD_CPPFLAGS="$withval"])
+- AC_ARG_WITH(build-ldflags,
+- [ --with-build-ldflags=XXX if cross-compiling, the host linker-flags],
+- [BUILD_LDFLAGS="$withval"])
+- AC_ARG_WITH(build-libs,
+- [ --with-build-libs=XXX if cross-compiling, the host libraries],
+- [BUILD_LIBS="$withval"])
+-fi
+-AC_SUBST(BUILD_CC)
+-AC_SUBST(BUILD_CFLAGS)
+-AC_SUBST(BUILD_CPPFLAGS)
+-AC_SUBST(BUILD_LDFLAGS)
+-AC_SUBST(BUILD_LIBS)
++CF_GCC_VERSION
+
+ AC_PROG_CPP
+ AC_PROG_GCC_TRADITIONAL
+@@ -148,26 +90,31 @@
+ CXX=""
+ GXX=""
+ else
++ # with autoconf 2.13, we can change the error to a warning:
+ pushdef([AC_MSG_ERROR],
+- [AC_MSG_RESULT([You don't have any C++ compiler, too bad]); dnl
++ [AC_MSG_RESULT(no)
++ AC_MSG_WARN([You don't have any C++ compiler, too bad])
+ cf_with_cxx=no; CXX=""; GXX="";])dnl
+ AC_PROG_CXX
+ popdef([AC_MSG_ERROR])dnl
++ # autoconf 2.5x removed the error - by hardcoding it to g++.
++ if test "$CXX" = "g++" ; then
++ AC_PATH_PROG(CXX,g++)
++ fi
++ if test "$CXX" = "g++" ; then
++ AC_MSG_WARN(ignoring hardcoded g++)
++ cf_with_cxx=no; CXX=""; GXX="";
++ fi
+ fi
+
+-GXX_VERSION=none
+-if test "$GXX" = yes; then
+- AC_MSG_CHECKING(version of g++)
+- GXX_VERSION="`${CXX-g++} --version|head -1`"
+- AC_MSG_RESULT($GXX_VERSION)
+- case $GXX_VERSION in
+- 1*|2.[[0-6]]*)
+- GXX=""; CXX=""; ac_cv_prog_gxx=no
+- cf_cxx_library=no
+- AC_MSG_WARN(templates do not work)
+- ;;
+- esac
+-fi
++CF_GXX_VERSION
++case $GXX_VERSION in
++1*|2.[[0-6]]*)
++ GXX=""; CXX=""; ac_cv_prog_gxx=no
++ cf_cxx_library=no
++ AC_MSG_WARN(templates do not work)
++ ;;
++esac
+
+ AC_MSG_CHECKING(if you want to build C++ binding and demo)
+ AC_ARG_WITH(cxx-binding,
+@@ -217,8 +164,8 @@
+ AC_SUBST(LINT_OPTS)
+
+ dnl These are standard among *NIX systems, but not when cross-compiling
+-CF_SUBST(loader,LD,ld)
+-CF_SUBST(archiver,AR,ar)
++AC_CHECK_TOOL(LD, ld, ld)
++AC_CHECK_TOOL(AR, ar, ar)
+ CF_SUBST(archiver options,AR_OPTS,rv)
+
+ CF_MAKEFLAGS
+@@ -239,6 +186,40 @@
+ AC_SUBST(DESTDIR)
+
+ ###############################################################################
++CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
++# If we're cross-compiling, allow the user to override the tools and their
++# options. The configure script is oriented toward identifying the host
++# compiler, etc., but we need a build compiler to generate parts of the source.
++: ${BUILD_CC:='$(CC)'}
++: ${BUILD_CFLAGS:='$(CFLAGS)'}
++: ${BUILD_CPPFLAGS:='$(CPPFLAGS)'}
++: ${BUILD_LDFLAGS:='$(LDFLAGS)'}
++: ${BUILD_LIBS:='$(LIBS)'}
++if test "$cross_compiling" = yes ; then
++ AC_ARG_WITH(build-cc,
++ [ --with-build-cc=XXX the build C compiler (\$BUILD_CC)],
++ [BUILD_CC="$withval"],
++ [AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)])
++ AC_ARG_WITH(build-cflags,
++ [ --with-build-cflags=XXX the build C compiler-flags],
++ [BUILD_CFLAGS="$withval"])
++ AC_ARG_WITH(build-cppflags,
++ [ --with-build-cppflags=XXX the build C preprocessor-flags],
++ [BUILD_CPPFLAGS="$withval"])
++ AC_ARG_WITH(build-ldflags,
++ [ --with-build-ldflags=XXX the build linker-flags],
++ [BUILD_LDFLAGS="$withval"])
++ AC_ARG_WITH(build-libs,
++ [ --with-build-libs=XXX the build libraries],
++ [BUILD_LIBS="$withval"])
++fi
++AC_SUBST(BUILD_CC)
++AC_SUBST(BUILD_CFLAGS)
++AC_SUBST(BUILD_CPPFLAGS)
++AC_SUBST(BUILD_LDFLAGS)
++AC_SUBST(BUILD_LIBS)
++
++###############################################################################
+ CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
+
+ ### Options to allow the user to specify the set of libraries which are used.
+@@ -247,19 +228,12 @@
+ cf_list_models=""
+ AC_SUBST(cf_list_models)dnl the complete list of models ("normal debug")
+
+-AC_MSG_CHECKING(if you want to build libraries with libtool)
+-AC_ARG_WITH(libtool,
+- [ --with-libtool generate libraries with libtool],
+- [with_libtool=$withval],
+- [with_libtool=no])
+-AC_MSG_RESULT($with_libtool)
+-if test "$with_libtool" = "yes"; then
+- cf_list_models="$cf_list_models libtool"
+- test -z "$LIBTOOL" && LIBTOOL=libtool
++CF_WITH_LIBTOOL
++if test "$with_libtool" != "no" ; then
++
++cf_list_models="$cf_list_models libtool"
++
+ else
+- LIBTOOL=""
+-fi
+-AC_SUBST(LIBTOOL)
+
+ AC_MSG_CHECKING(if you want to build shared libraries)
+ AC_ARG_WITH(shared,
+@@ -293,19 +267,21 @@
+ AC_MSG_RESULT($with_profile)
+ test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
+
++fi
++
+ ###############################################################################
+
+ AC_MSG_CHECKING(for specified models)
+ test -z "$cf_list_models" && cf_list_models=normal
+ dnl If we use libtool to generate libraries, then it must be the only
+ dnl specified model.
+-test "$with_libtool" = "yes" && cf_list_models=libtool
++test "$with_libtool" != "no" && cf_list_models=libtool
+ AC_MSG_RESULT($cf_list_models)
+
+ ### Use the first model as the default, and save its suffix for use in building
+ ### up test-applications.
+ AC_MSG_CHECKING(for default model)
+-DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
++DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'`
+ AC_MSG_RESULT($DFT_LWR_MODEL)
+
+ CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
+@@ -337,25 +313,8 @@
+ AC_MSG_RESULT($with_termlib)
+
+ ### Checks for special libraries, must be done up-front.
+-AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
+-AC_ARG_WITH(dbmalloc,
+- [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
+- [with_dbmalloc=$withval],
+- [with_dbmalloc=no])
+-AC_MSG_RESULT($with_dbmalloc)
+-if test "$with_dbmalloc" = yes ; then
+- AC_CHECK_LIB(dbmalloc,debug_malloc)
+-fi
+-
+-AC_MSG_CHECKING(if you want to link with dmalloc for testing)
+-AC_ARG_WITH(dmalloc,
+- [ --with-dmalloc test: use Gray Watson's dmalloc library],
+- [with_dmalloc=$withval],
+- [with_dmalloc=no])
+-AC_MSG_RESULT($with_dmalloc)
+-if test "$with_dmalloc" = yes ; then
+- AC_CHECK_LIB(dmalloc,dmalloc_debug)
+-fi
++CF_WITH_DBMALLOC
++CF_WITH_DMALLOC
+
+ SHLIB_LIST=""
+ AC_MSG_CHECKING(if you want to link with the gpm mouse library)
+@@ -373,6 +332,8 @@
+ ],AC_MSG_WARN(Cannot link with gpm library - read the FAQ))
+ fi
+
++CF_WITH_SYSMOUSE
++
+ dnl Not all ports of gcc support the -g option
+
+ if test X"$CC_G_OPT" = X"" ; then
+@@ -458,7 +419,7 @@
+ [with_fallback=$withval],
+ [with_fallback=])
+ AC_MSG_RESULT($with_fallback)
+-FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
++FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
+ AC_SUBST(FALLBACK_LIST)
+
+ MAKE_TERMINFO=
+@@ -522,7 +483,7 @@
+
+ if test "$with_termcap" != "yes" ; then
+ if test "$use_database" = no ; then
+- if test -z $with_fallback ; then
++ if test -z "$with_fallback" ; then
+ AC_ERROR(You have disabled the database w/o specifying fallbacks)
+ fi
+ fi
+@@ -604,7 +565,7 @@
+ if test "$with_broken_linker" = yes ; then
+ AC_DEFINE(BROKEN_LINKER)
+ BROKEN_LINKER=1
+-elif test $DFT_LWR_MODEL = shared ; then
++elif test "$DFT_LWR_MODEL" = shared ; then
+ case $cf_cv_system_name in #(vi
+ cygwin*)
+ AC_DEFINE(BROKEN_LINKER)
+@@ -669,6 +630,7 @@
+ AC_DEFINE(HAVE_CURSES_VERSION)
+ AC_DEFINE(HAVE_HAS_KEY)
+ AC_DEFINE(HAVE_RESIZETERM)
++ AC_DEFINE(HAVE_RESIZE_TERM)
+ AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
+ AC_DEFINE(HAVE_WRESIZE)
+ AC_DEFINE(NCURSES_EXT_FUNCS)
+@@ -807,7 +769,19 @@
+ ### use option --enable-widec to turn on use of wide-character support
+ NCURSES_CH_T=chtype
+ NCURSES_LIBUTF8=0
++
++NEED_WCHAR_H=0
+ NCURSES_MBSTATE_T=0
++NCURSES_WCHAR_T=0
++NCURSES_WINT_T=0
++
++# Check to define _XOPEN_SOURCE "automatically"
++CF_GNU_SOURCE
++
++# use these variables to work around a defect in gcc's fixincludes.
++NCURSES_OK_WCHAR_T=
++NCURSES_OK_WINT_T=
++
+ AC_MSG_CHECKING(if you want experimental wide-character code)
+ AC_ARG_ENABLE(widec,
+ [ --enable-widec compile with experimental wide-char/UTF-8 code],
+@@ -817,24 +791,31 @@
+ if test "$with_widec" = yes ; then
+ LIB_SUFFIX="w${LIB_SUFFIX}"
+ AC_DEFINE(USE_WIDEC_SUPPORT)
+- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
++ CF_PREDEFINE(_XOPEN_SOURCE,500)
++ CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
+ # with_overwrite=no
+ NCURSES_CH_T=cchar_t
+- AC_CHECK_FUNC(putwc)
+-if test "$ac_cv_func_putwc" != yes ; then
+- CF_LIBUTF8
+- if test "$cf_cv_libutf8" = yes ; then
+- NCURSES_LIBUTF8=1
+- fi
+-fi
+- CF_MBSTATE_T
+- if test $cf_cv_mbstate_t = yes ; then
+- NCURSES_MBSTATE_T=1
++ AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb)
++ if test "$ac_cv_func_putwc" != yes ; then
++ CF_LIBUTF8
++ if test "$cf_cv_libutf8" = yes ; then
++ NCURSES_LIBUTF8=1
++ fi
+ fi
++ CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T)
++ CF_WCHAR_TYPE(wchar_t, NCURSES_WCHAR_T, NCURSES_OK_WCHAR_T)
++ CF_WCHAR_TYPE(wint_t, NCURSES_WINT_T, NCURSES_OK_WINT_T)
+ fi
+ AC_SUBST(NCURSES_CH_T)
+ AC_SUBST(NCURSES_LIBUTF8)
++
++AC_SUBST(NEED_WCHAR_H)
+ AC_SUBST(NCURSES_MBSTATE_T)
++AC_SUBST(NCURSES_WCHAR_T)
++AC_SUBST(NCURSES_WINT_T)
++
++AC_SUBST(NCURSES_OK_WCHAR_T)
++AC_SUBST(NCURSES_OK_WINT_T)
+
+ AC_MSG_CHECKING(for terminal capabilities file)
+ AC_ARG_WITH(caps,
+@@ -922,7 +903,6 @@
+ AC_SUBST(MATH_LIB)
+
+ ### Checks for header files.
+-CF_GNU_SOURCE
+ AC_STDC_HEADERS
+ AC_HEADER_DIRENT
+ AC_HEADER_TIME
+@@ -1027,8 +1007,10 @@
+ CF_STRIP_G_OPT(CXXFLAGS)
+ fi
+
+-dnl Check for C++ compiler characteristics (and ensure that it's there!)
+-CF_BOOL_DECL(cf_cv_cc_bool_type)
++# Just in case, check if the C compiler has a bool type.
++CF_BOOL_DECL(cv_cv_cc_bool_type)
++
++# Check for C++ compiler characteristics (and ensure that it's there!)
+ if test -n "$CXX" ; then
+ AC_LANG_CPLUSPLUS
+ CF_STDCPP_LIBRARY
+@@ -1105,6 +1087,26 @@
+ fi
+ AC_SUBST(CXXLIBS)
+
++# If the C compiler did not declare bool, and we did not determine that the C++
++# compiler does not declare bool, turn on an ifdef in curses.h that makes the
++# ncurses library use the same type as C++ bool. Note that this allows one to
++# specify the type of bool in a configure-script option and postpone
++# integration with the C++ compiler provided that the types are compatible.
++USE_CXX_BOOL=1
++if test $cv_cv_cc_bool_type = 1
++then
++ # oops: C has a bool. Unlikely, but C++ could differ.
++ USE_CXX_BOOL=0
++elif test $cf_cv_builtin_bool = 0
++then
++ # C++ has no bool
++ USE_CXX_BOOL=0
++else
++ # this is the normal case
++ USE_CXX_BOOL='!defined(__cplusplus)'
++fi
++AC_SUBST(USE_CXX_BOOL)
++
+ CF_HELP_MESSAGE(Ada95 Binding Options:)
+
+ dnl Check for availability of GNU Ada Translator (GNAT).
+@@ -1169,22 +1171,6 @@
+ fi
+ fi
+
+-### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
+-### using a 'char' for bools. gcc 2.7.0's conversion-warnings are broken too
+-### badly to consider using for development purposes, but 2.5.8 is okay.
+-if test -n "$with_warnings"; then
+- case $GCC_VERSION in
+- 2.6.3)
+- if test "$cf_cv_type_of_bool" != "char"; then
+- EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
+- fi
+- ;;
+- 2.5*)
+- EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
+- ;;
+- esac
+-fi
+-
+ ### Construct the library-subsets, if any, from this set of keywords:
+ ### none, base, ext_funcs, termlib.
+ AC_MSG_CHECKING(for library subsets)
+@@ -1236,17 +1222,21 @@
+ AC_MSG_RESULT($DFT_OBJ_SUBDIR)
+
+ # libtool thinks it can make c++ shared libraries (perhaps only g++)
++if test "$cf_with_cxx" = yes ; then
+ AC_MSG_CHECKING(c++ library-dependency suffix)
+-if test "$with_libtool" = "yes"; then
++if test "$with_libtool" != "no"; then
+ CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+ else
+ CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
+ fi
+ AC_MSG_RESULT($CXX_LIB_SUFFIX)
+ AC_SUBST(CXX_LIB_SUFFIX)
++fi
+
+ TINFO_LIST="$SHLIB_LIST"
+-test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
++if test "$with_libtool" = no ; then
++ test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
++fi
+
+ AC_MSG_CHECKING(where we will install curses.h)
+ test "$with_overwrite" = no && \
+@@ -1280,6 +1270,9 @@
+ PROG_DEPS="$TEST_DEPS"
+ PROG_ARGS="$TEST_ARGS"
+
++### predefined stuff for the test programs
++AC_DEFINE(HAVE_SLK_COLOR)
++
+ ### Construct the list of subdirectories for which we'll customize makefiles
+ ### with the appropriate compile-rules.
+
+@@ -1289,15 +1282,15 @@
+ AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
+
+ ### Now that we're done running tests, add the compiler-warnings, if any
+-CFLAGS="$CFLAGS $EXTRA_CFLAGS"
++CF_ADD_CFLAGS($EXTRA_CFLAGS)
+
+ ################################################################################
++test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+ AC_OUTPUT( \
+ include/MKterm.h.awk \
+ include/curses.head:include/curses.h.in \
+ include/termcap.h \
+ include/unctrl.h \
+- misc/run_tic.sh:misc/run_tic.in \
+ $SUB_MAKEFILES \
+ Makefile,[
+ CF_LIB_RULES
+@@ -1329,7 +1322,7 @@
+ cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
+ cf_cv_system_name="$cf_cv_system_name"
+ cf_with_cxx_binding="$cf_with_cxx_binding"
+-target="$target"
++host="$host"
+
+ ],cat)dnl
+ ${MAKE-make} preinstall
+diff -urNd -urNd ncurses-5.3/dist.mk ncurses-5.3.20030906.orig/dist.mk
+--- ncurses-5.3/dist.mk Sat Oct 12 18:27:36 2002
++++ ncurses-5.3.20030906.orig/dist.mk Fri Sep 12 16:42:59 2003
+@@ -1,4 +1,4 @@
+-# $Id: dist.mk,v 1.327 2002/10/12 23:27:36 tom Exp $
++# $Id: dist.mk,v 1.376 2003/09/06 20:16:49 tom Exp $
+ # Makefile for creating ncurses distributions.
+ #
+ # This only needs to be used directly as a makefile by developers, but
+@@ -10,7 +10,7 @@
+ # These define the major/minor/patch versions of ncurses.
+ NCURSES_MAJOR = 5
+ NCURSES_MINOR = 3
+-NCURSES_PATCH = 20021012
++NCURSES_PATCH = 20030906
+
+ # We don't append the patch to the version, since this only applies to releases
+ VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
+@@ -68,7 +68,7 @@
+ @echo 's/<\/B>/<\/STRONG>/g' >> subst.tmp
+ @echo 's/<I>/<EM>/g' >> subst.tmp
+ @echo 's/<\/I>/<\/EM>/g' >> subst.tmp
+- @sort < subst.tmp | uniq > subst.sed
++ @misc/csort < subst.tmp | uniq > subst.sed
+ @echo '/<\/TITLE>/a\' >> subst.sed
+ @echo '<link rev=made href="mailto:bug-ncurses@gnu.org">\' >> subst.sed
+ @echo '<meta http-equiv="Content-Type" content="text\/html; charset=iso-8859-1">' >> subst.sed
+@@ -97,7 +97,7 @@
+ @sed -e "\%./doc/html/man/%d" < MANIFEST > MANIFEST.tmp
+ @find ./doc/html/man -type f -print >> MANIFEST.tmp
+ @chmod u+w MANIFEST
+- @sort -u < MANIFEST.tmp > MANIFEST
++ @misc/csort -u < MANIFEST.tmp > MANIFEST
+ @rm -f MANIFEST.tmp
+
+ #
+@@ -110,7 +110,7 @@
+ (cd ./Ada95/gen ; make html) ;\
+ sed -e "\%./doc/html/ada/%d" < MANIFEST > MANIFEST.tmp ;\
+ find ./doc/html/ada -type f -print >> MANIFEST.tmp ;\
+- sort -u < MANIFEST.tmp > MANIFEST ;\
++ misc/csort -u < MANIFEST.tmp > MANIFEST ;\
+ rm -f MANIFEST.tmp ;\
+ fi
+
+@@ -128,7 +128,7 @@
+ MANIFEST:
+ -rm -f $@
+ touch $@
+- find . -type f -print |sort | fgrep -v .lsm |fgrep -v .spec >$@
++ find . -type f -print |misc/csort | fgrep -v .lsm |fgrep -v .spec >$@
+
+ TAGS:
+ etags */*.[ch]
+diff -urNd -urNd ncurses-5.3/doc/html/announce.html ncurses-5.3.20030906.orig/doc/html/announce.html
+--- ncurses-5.3/doc/html/announce.html Sat Oct 12 18:35:53 2002
++++ ncurses-5.3.20030906.orig/doc/html/announce.html Tue May 13 20:08:22 2003
+@@ -1,11 +1,12 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
+ <!--
+- $Id: announce.html,v 1.41 2002/10/12 23:35:53 tom Exp $
++ $Id: announce.html,v 1.42 2002/10/19 21:47:00 tom Exp $
+ -->
+ <HTML>
+ <HEAD>
+-<TITLE>Announcing ncurses 5.3 Pre-Release</TITLE>
++<TITLE>Announcing ncurses 5.3</TITLE>
+ <link rev=made href="mailto:bug-ncurses@gnu.org">
++<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ </HEAD>
+ <BODY>
+
+@@ -35,9 +36,9 @@
+
+ The ncurses distribution is available via anonymous FTP at
+ the GNU distribution site
+-<A HREF="ftp://ftp.gnu.org/pub/gnu/ncurses">ftp://ftp.gnu.org/pub/gnu/ncurses</A>.
++<A HREF="ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</A>&nbsp;.
+ <br>It is also available at
+-<A HREF="ftp://invisible-island.net/ncurses">ftp://invisible-island.net/ncurses</A>.
++<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A>&nbsp;.
+
+ <H1>Release Notes</H1>
+
+@@ -317,61 +318,61 @@
+ <DT> cdk
+ <DD> Curses Development Kit
+ <br>
+-<A HREF="http://invisible-island.net/cdk/cdk.html">http://invisible-island.net/cdk</A>.
++<A HREF="http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</A>
+ <br>
+-<A HREF="http://www.vexus.ca/CDK.html">http://www.vexus.ca/CDK.html</a>
++<A HREF="http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a>
+ <DT> ded
+ <DD> directory-editor
+ <br>
+-<A HREF="http://invisible-island.net/ded/ded.html">http://invisible-island.net/ded</A>.
++<A HREF="http://invisible-island.net/ded/">http://invisible-island.net/ded/</A>
+ <DT> dialog
+ <DD> the underlying application used in Slackware's setup, and the basis
+ for similar applications on GNU/Linux.
+ <br>
+-<A HREF="http://invisible-island.net/dialog/dialog.html">http://invisible-island.net/dialog</A>.
++<A HREF="http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</A>
+ <DT> lynx
+ <DD> the character-screen WWW browser
+ <br>
+-<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release</A>.
++<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release/</A>
+ <DT> Midnight Commander
+ <DD> file manager
+ <br>
+-<A HREF="www.gnome.org/mc/">www.gnome.org/mc/</A>.
++<A HREF="http://www.ibiblio.org/mc/">http://www.ibiblio.org/mc/</A>
+ <DT> mutt
+ <DD> mail utility
+ <br>
+-<A HREF="http://www.mutt.org">http://www.mutt.org</A>.
++<A HREF="http://www.mutt.org/">http://www.mutt.org/</A>
+ <DT> ncftp
+ <DD> file-transfer utility
+ <br>
+-<A HREF="http://www.ncftp.com">http://www.ncftp.com</A>.
++<A HREF="http://www.ncftp.com/">http://www.ncftp.com/</A>
+ <DT> nvi
+ <DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
+ <br>
+-<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>.
++<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>
+ <DT> tin
+ <DD> newsreader, supporting color, MIME
+ <br>
+-<A HREF="http://www.tin.org">http://www.tin.org</A>.
++<A HREF="http://www.tin.org/">http://www.tin.org/</A>
+ <DT> taper
+ <DD> tape archive utility
+ <br>
+-<A HREF="http://members.iinet.net.au/~yusuf/taper/">http://members.iinet.net.au/~yusuf/taper/</A>.
++<A HREF="http://taper.e-survey.net.au/">http://taper.e-survey.net.au/</A>
+ <DT> vh-1.6
+ <DD> Volks-Hypertext browser for the Jargon File
+ <br>
+-<A HREF="http://www.bg.debian.org/Packages/unstable/text/vh.html">http://www.bg.debian.org/Packages/unstable/text/vh.html</A>.
++<A HREF="http://www.debian.org/Packages/unstable/text/vh.html">http://www.debian.org/Packages/unstable/text/vh.html</A>
+ </DL>
+ as well as some that use ncurses for the terminfo support alone:
+ <DL>
+ <DT> minicom
+ <DD> terminal emulator
+ <br>
+-<A HREF="http://www.pp.clinet.fi/~walker/minicom.html">http://www.pp.clinet.fi/~walker/minicom.html</A>.
++<A HREF="http://www.netsonic.fi/~walker/minicom.html">http://www.netsonic.fi/~walker/minicom.html</A>
+ <DT> vile
+ <DD> vi-like-emacs
+ <br>
+-<A HREF="http://invisible-island.net/vile/vile.html">http://invisible-island.net/vile</A>.
++<A HREF="http://invisible-island.net/vile/">http://invisible-island.net/vile/</A>
+ </DL>
+ <P>
+
+@@ -382,7 +383,7 @@
+
+ The original developers of ncurses are <A
+ HREF="mailto:zmbenhal@netcom.com">Zeyd Ben-Halim</A> and
+-<A HREF="http://www.ccil.org/~esr/home.html">Eric S. Raymond</A>.
++<A HREF="http://www.tuxedo.org/~esr/">Eric S. Raymond</A>.
+ Ongoing work is being done by
+ <A HREF="mailto:dickey@herndon4.his.com">Thomas Dickey</A>
+ and
+@@ -404,7 +405,7 @@
+ testing of this package.<P>
+
+ Beta versions of ncurses and patches to the current release are made available at
+-<A HREF="ftp://invisible-island.net/ncurses">ftp://invisible-island.net/ncurses</A>.
++<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A>&nbsp;.
+
+ <H2>Future Plans</H2>
+ <UL>
+@@ -418,12 +419,12 @@
+
+ The distribution includes and uses a version of the terminfo-format
+ terminal description file maintained by Eric Raymond.
+-<A HREF="http://earthspace.net/~esr/terminfo">http://earthspace.net/~esr/terminfo</A>.<P>
++<A HREF="http://www.tuxedo.org/~esr/terminfo/">http://www.tuxedo.org/~esr/terminfo/</A>&nbsp;.<P>
+
+ You can find lots of information on terminal-related topics
+ not covered in the terminfo file at
+ <A HREF="http://www.cs.utk.edu/~shuford/terminal_index.html">Richard Shuford's
+-archive</A>.
++archive</A>&nbsp;.
+ </BODY>
+ </HTML>
+ <!--
+diff -urNd -urNd ncurses-5.3/doc/html/man/captoinfo.1m.html ncurses-5.3.20030906.orig/doc/html/man/captoinfo.1m.html
+--- ncurses-5.3/doc/html/man/captoinfo.1m.html Sat Jun 22 16:25:15 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/captoinfo.1m.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: captoinfo.1m,v 1.16 2000/08/13 01:56:49 tom Exp @
++ * @Id: captoinfo.1m,v 1.17 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -192,7 +192,7 @@
+ mode. You can use other <EM>tic</EM> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
+
+ The trace option isn't identical to SVr4's. Under SVr4,
+- instead of following the -v with a trace level n, you
++ instead of following the <STRONG>-v</STRONG> with a trace level n, you
+ repeat it n times.
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_addch.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_addch.3x.html
+--- ncurses-5.3/doc/html/man/curs_addch.3x.html Sat Aug 31 16:59:20 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_addch.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_addch.3x,v 1.20 2002/08/10 22:12:36 tom Exp @
++ * @Id: curs_addch.3x,v 1.21 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -77,7 +77,7 @@
+ sor one character left; at the left edge of a window it
+ does nothing. Newline does a <STRONG>clrtoeol</STRONG>, then moves the
+ cursor to the window left margin on the next line,
+- scrolling the window if on the last line). Tabs are con-
++ scrolling the window if on the last line. Tabs are con-
+ sidered to be at every eighth column. The tab interval
+ may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
+
+@@ -91,7 +91,7 @@
+ passed to <STRONG>addch</STRONG> or related functions by logical-ORing them
+ into the character. (Thus, text, including attributes,
+ can be copied from one place to another using <STRONG>inch</STRONG> and
+- <STRONG>addch</STRONG>.). See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
++ <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for values of prede-
+ fined video attribute constants that can be usefully OR'ed
+ into characters.
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_beep.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_beep.3x.html
+--- ncurses-5.3/doc/html/man/curs_beep.3x.html Sat Jun 22 16:25:17 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_beep.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998 Free Software Foundation, Inc. *
++ * Copyright (c) 1998,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_beep.3x,v 1.7 1998/03/11 21:12:53 juergen Exp @
++ * @Id: curs_beep.3x,v 1.8 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_deleteln.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_deleteln.3x.html
+--- ncurses-5.3/doc/html/man/curs_deleteln.3x.html Sat Jun 22 16:25:19 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_deleteln.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_deleteln.3x,v 1.7 2000/11/11 20:43:20 Bernhard.Rosenkraenzer Exp @
++ * @Id: curs_deleteln.3x,v 1.8 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -73,7 +73,7 @@
+ and move the remaining lines up. The bottom <EM>n</EM> lines are
+ cleared. The current cursor position remains the same.
+
+- The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines, insert a blank line
++ The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line
+ above the current line and the bottom line is lost.
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_extend.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_extend.3x.html
+--- ncurses-5.3/doc/html/man/curs_extend.3x.html Sat Jun 22 16:25:19 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_extend.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey &lt;dickey@clark.net&gt; 1999
+- * @Id: curs_extend.3x,v 1.9 2002/02/16 22:39:04 tom Exp @
++ * @Id: curs_extend.3x,v 1.11 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -70,10 +70,10 @@
+ standard names which may be compiled into the terminfo
+ description, i.e., via the terminfo or termcap interfaces.
+ Normally these names are available for use, since the
+- essential descision is made by using the <STRONG>-x</STRONG> option of <EM>tic</EM>
++ essential decision is made by using the <STRONG>-x</STRONG> option of <EM>tic</EM>
+ to compile extended terminal definitions. However you can
+ disable this feature to ensure compatiblity with other
+- implementations of curses
++ implementations of curses.
+
+
+ </PRE>
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_get_wch.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_get_wch.3x.html
+--- ncurses-5.3/doc/html/man/curs_get_wch.3x.html Sat Jun 22 16:25:19 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_get_wch.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2002 Free Software Foundation, Inc. *
++ * Copyright (c) 2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_get_wch.3x,v 1.3 2002/05/18 21:48:53 tom Exp @
++ * @Id: curs_get_wch.3x,v 1.5 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -52,10 +52,10 @@
+ <H2>SYNOPSIS</H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>get_wch(win_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>win_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>win_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>win_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>get_wch(wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_getcchar.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_getcchar.3x.html
+--- ncurses-5.3/doc/html/man/curs_getcchar.3x.html Sat Jun 22 16:25:20 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_getcchar.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getcchar.3x,v 1.6 2002/03/24 01:08:55 tom Exp @
++ * @Id: curs_getcchar.3x,v 1.7 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_getch.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_getch.3x.html
+--- ncurses-5.3/doc/html/man/curs_getch.3x.html Sat Jun 22 16:25:20 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_getch.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getch.3x,v 1.21 2002/03/17 14:36:21 tom Exp @
++ * @Id: curs_getch.3x,v 1.22 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -89,7 +89,7 @@
+ token for that function key is returned instead of the raw
+ characters. Possible function keys are defined in
+ <STRONG>&lt;curses.h&gt;</STRONG> as macros with values outside the range of
+- 8-bit characters whose names begin with <STRONG>KEY_.</STRONG> Thus, a
++ 8-bit characters whose names begin with <STRONG>KEY_</STRONG>. Thus, a
+ variable intended to hold the return value of a function
+ key must be of short size or larger.
+
+@@ -114,103 +114,103 @@
+ that not all of these are necessarily supported on any
+ particular terminal.
+
+- <EM>Name</EM> <EM>Key</EM> <EM>name</EM>
++ <EM>Name</EM> <EM>Key</EM> <EM>name</EM>
+
+- KEY_BREAK Break key
+- KEY_DOWN The four arrow keys ...
+- KEY_UP
+- KEY_LEFT
+- KEY_RIGHT
+- KEY_HOME Home key (upward+left arrow)
+- KEY_BACKSPACE Backspace
+- KEY_F0 Function keys; space for 64 keys
+- is reserved.
+- KEY_F(<EM>n</EM>) For 0 &lt;= <EM>n</EM> &lt;= 63
+- KEY_DL Delete line
+- KEY_IL Insert line
+- KEY_DC Delete character
+- KEY_IC Insert char or enter insert mode
+- KEY_EIC Exit insert char mode
+- KEY_CLEAR Clear screen
+- KEY_EOS Clear to end of screen
+- KEY_EOL Clear to end of line
+- KEY_SF Scroll 1 line forward
+- KEY_SR Scroll 1 line backward (reverse)
+- KEY_NPAGE Next page
+- KEY_PPAGE Previous page
+- KEY_STAB Set tab
+- KEY_CTAB Clear tab
+- KEY_CATAB Clear all tabs
+- KEY_ENTER Enter or send
+- KEY_SRESET Soft (partial) reset
+- KEY_RESET Reset or hard reset
+- KEY_PRINT Print or copy
+- KEY_LL Home down or bottom (lower left).
+- KEY_A1 Upper left of keypad
+- KEY_A3 Upper right of keypad
+- KEY_B2 Center of keypad
+- KEY_C1 Lower left of keypad
+- KEY_C3 Lower right of keypad
+- KEY_BTAB Back tab key
+- KEY_BEG Beg(inning) key
+- KEY_CANCEL Cancel key
++ KEY_BREAK Break key
++ KEY_DOWN The four arrow keys ...
++ KEY_UP
++ KEY_LEFT
++ KEY_RIGHT
++ KEY_HOME Home key (upward+left arrow)
++ KEY_BACKSPACE Backspace
++ KEY_F0 Function keys; space for 64 keys
++ is reserved.
++ KEY_F(<EM>n</EM>) For 0 &lt;= <EM>n</EM> &lt;= 63
++ KEY_DL Delete line
++ KEY_IL Insert line
++ KEY_DC Delete character
++ KEY_IC Insert char or enter insert mode
++ KEY_EIC Exit insert char mode
++ KEY_CLEAR Clear screen
++ KEY_EOS Clear to end of screen
++ KEY_EOL Clear to end of line
++ KEY_SF Scroll 1 line forward
++ KEY_SR Scroll 1 line backward (reverse)
++ KEY_NPAGE Next page
++ KEY_PPAGE Previous page
++ KEY_STAB Set tab
++ KEY_CTAB Clear tab
++ KEY_CATAB Clear all tabs
++ KEY_ENTER Enter or send
++ KEY_SRESET Soft (partial) reset
++ KEY_RESET Reset or hard reset
++ KEY_PRINT Print or copy
++ KEY_LL Home down or bottom (lower left)
++ KEY_A1 Upper left of keypad
++ KEY_A3 Upper right of keypad
++ KEY_B2 Center of keypad
++ KEY_C1 Lower left of keypad
++ KEY_C3 Lower right of keypad
++ KEY_BTAB Back tab key
++ KEY_BEG Beg(inning) key
++ KEY_CANCEL Cancel key
+
+- KEY_CLOSE Close key
+- KEY_COMMAND Cmd (command) key
+- KEY_COPY Copy key
+- KEY_CREATE Create key
+- KEY_END End key
+- KEY_EXIT Exit key
+- KEY_FIND Find key
+- KEY_HELP Help key
+- KEY_MARK Mark key
+- KEY_MESSAGE Message key
+- KEY_MOUSE Mouse event read
+- KEY_MOVE Move key
+- KEY_NEXT Next object key
+- KEY_OPEN Open key
+- KEY_OPTIONS Options key
+- KEY_PREVIOUS Previous object key
+- KEY_REDO Redo key
+- KEY_REFERENCE Ref(erence) key
+- KEY_REFRESH Refresh key
+- KEY_REPLACE Replace key
+- KEY_RESIZE Screen resized
+- KEY_RESTART Restart key
+- KEY_RESUME Resume key
+- KEY_SAVE Save key
+- KEY_SBEG Shifted beginning key
+- KEY_SCANCEL Shifted cancel key
+- KEY_SCOMMAND Shifted command key
+- KEY_SCOPY Shifted copy key
+- KEY_SCREATE Shifted create key
+- KEY_SDC Shifted delete char key
+- KEY_SDL Shifted delete line key
+- KEY_SELECT Select key
+- KEY_SEND Shifted end key
+- KEY_SEOL Shifted clear line key
+- KEY_SEXIT Shifted exit key
+- KEY_SFIND Shifted find key
+- KEY_SHELP Shifted help key
+- KEY_SHOME Shifted home key
+- KEY_SIC Shifted input key
+- KEY_SLEFT Shifted left arrow key
+- KEY_SMESSAGE Shifted message key
+- KEY_SMOVE Shifted move key
+- KEY_SNEXT Shifted next key
+- KEY_SOPTIONS Shifted options key
+- KEY_SPREVIOUS Shifted prev key
+- KEY_SPRINT Shifted print key
+- KEY_SREDO Shifted redo key
+- KEY_SREPLACE Shifted replace key
+- KEY_SRIGHT Shifted right arrow
+- KEY_SRSUME Shifted resume key
+- KEY_SSAVE Shifted save key
+- KEY_SSUSPEND Shifted suspend key
+- KEY_SUNDO Shifted undo key
++ KEY_CLOSE Close key
++ KEY_COMMAND Cmd (command) key
++ KEY_COPY Copy key
++ KEY_CREATE Create key
++ KEY_END End key
++ KEY_EXIT Exit key
++ KEY_FIND Find key
++ KEY_HELP Help key
++ KEY_MARK Mark key
++ KEY_MESSAGE Message key
++ KEY_MOUSE Mouse event read
++ KEY_MOVE Move key
++ KEY_NEXT Next object key
++ KEY_OPEN Open key
++ KEY_OPTIONS Options key
++ KEY_PREVIOUS Previous object key
++ KEY_REDO Redo key
++ KEY_REFERENCE Ref(erence) key
++ KEY_REFRESH Refresh key
++ KEY_REPLACE Replace key
++ KEY_RESIZE Screen resized
++ KEY_RESTART Restart key
++ KEY_RESUME Resume key
++ KEY_SAVE Save key
++ KEY_SBEG Shifted beginning key
++ KEY_SCANCEL Shifted cancel key
++ KEY_SCOMMAND Shifted command key
++ KEY_SCOPY Shifted copy key
++ KEY_SCREATE Shifted create key
++ KEY_SDC Shifted delete char key
++ KEY_SDL Shifted delete line key
++ KEY_SELECT Select key
++ KEY_SEND Shifted end key
++ KEY_SEOL Shifted clear line key
++ KEY_SEXIT Shifted exit key
++ KEY_SFIND Shifted find key
++ KEY_SHELP Shifted help key
++ KEY_SHOME Shifted home key
++ KEY_SIC Shifted input key
++ KEY_SLEFT Shifted left arrow key
++ KEY_SMESSAGE Shifted message key
++ KEY_SMOVE Shifted move key
++ KEY_SNEXT Shifted next key
++ KEY_SOPTIONS Shifted options key
++ KEY_SPREVIOUS Shifted prev key
++ KEY_SPRINT Shifted print key
++ KEY_SREDO Shifted redo key
++ KEY_SREPLACE Shifted replace key
++ KEY_SRIGHT Shifted right arrow
++ KEY_SRSUME Shifted resume key
++ KEY_SSAVE Shifted save key
++ KEY_SSUSPEND Shifted suspend key
++ KEY_SUNDO Shifted undo key
+
+- KEY_SUSPEND Suspend key
+- KEY_UNDO Undo key
++ KEY_SUSPEND Suspend key
++ KEY_UNDO Undo key
+
+ Keypad is arranged like this:
+
+@@ -247,7 +247,7 @@
+ according to whether they treat these control keys spe-
+ cially (and ignore the terminfo), or use the terminfo def-
+ initions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it
+- says that KEY_ENTER is control/M, <STRONG>getch</STRONG>, will return
++ says that KEY_ENTER is control/M, <STRONG>getch</STRONG> will return
+ KEY_ENTER when you press control/M.
+
+ When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_getstr.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_getstr.3x.html
+--- ncurses-5.3/doc/html/man/curs_getstr.3x.html Sat Jun 22 16:37:28 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_getstr.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getstr.3x,v 1.11 2002/04/13 22:14:30 tom Exp @
++ * @Id: curs_getstr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -109,7 +109,7 @@
+ SVr3 and early SVr4 curses implementations did not reject
+ function keys; the SVr4.0 documentation claimed that "spe-
+ cial keys" (such as function keys, "home" key, "clear"
+- key, <EM>etc</EM>.) are interpreted" without giving details. It
++ key, <EM>etc</EM>.) are "interpreted", without giving details. It
+ lied. In fact, the `character' value appended to the
+ string by those implementations was predictable but not
+ useful (being, in fact, the low-order eight bits of the
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_getyx.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_getyx.3x.html
+--- ncurses-5.3/doc/html/man/curs_getyx.3x.html Sat Oct 12 18:27:50 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_getyx.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_getyx.3x,v 1.8 2002/09/21 19:00:38 tom Exp @
++ * @Id: curs_getyx.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -74,7 +74,7 @@
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- The return values of these macros are undefined (<EM>i</EM>.<EM>e</EM>.,
++ The return values of these macros are undefined (i.e.,
+ they should not be used as the right-hand side of assign-
+ ment statements).
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_initscr.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_initscr.3x.html
+--- ncurses-5.3/doc/html/man/curs_initscr.3x.html Sat Jul 27 19:39:31 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_initscr.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_initscr.3x,v 1.11 2002/07/20 14:51:04 tom Exp @
++ * @Id: curs_initscr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_inopts.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_inopts.3x.html
+--- ncurses-5.3/doc/html/man/curs_inopts.3x.html Sat Aug 31 16:59:27 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_inopts.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_inopts.3x,v 1.9 2002/08/10 22:29:49 tom Exp @
++ * @Id: curs_inopts.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -172,9 +172,9 @@
+
+ The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-
+ blocking read for a given window. If <EM>delay</EM> is negative,
+- blocking read is used (<EM>i</EM>.<EM>e</EM>., waits indefinitely for
++ blocking read is used (i.e., waits indefinitely for
+ input). If <EM>delay</EM> is zero, then non-blocking read is used
+- (<EM>i</EM>.<EM>e</EM>., read returns <STRONG>ERR</STRONG> if no input is waiting). If <EM>delay</EM>
++ (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting). If <EM>delay</EM>
+ is positive, then read blocks for <EM>delay</EM> milliseconds, and
+ returns <STRONG>ERR</STRONG> if there is still no input. Hence, these rou-
+ tines provide the same functionality as <STRONG>nodelay</STRONG>, plus the
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_insch.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_insch.3x.html
+--- ncurses-5.3/doc/html/man/curs_insch.3x.html Sat Jun 22 16:25:23 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_insch.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_insch.3x,v 1.7 2000/07/01 19:57:21 tom Exp @
++ * @Id: curs_insch.3x,v 1.8 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -59,7 +59,7 @@
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- These routines, insert the character <EM>ch</EM> before the charac-
++ These routines insert the character <EM>ch</EM> before the charac-
+ ter under the cursor. All characters to the right of the
+ cursor are moved one space to the right, with the possi-
+ bility of the rightmost character on the line being lost.
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_mouse.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_mouse.3x.html
+--- ncurses-5.3/doc/html/man/curs_mouse.3x.html Sat Jul 27 19:39:34 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_mouse.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_mouse.3x,v 1.20 2002/07/20 14:52:14 tom Exp @
++ * @Id: curs_mouse.3x,v 1.22 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -213,29 +213,36 @@
+ than xterm and there is no gpm daemon running on your
+ machine, mouse events will not be visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ (and the <STRONG>wmousemask</STRONG> function will always return <STRONG>0</STRONG>).
++ If the terminfo entry contains a <STRONG>XM</STRONG> string, this is used
++ in the xterm mouse driver to control the way the terminal
++ is initialized for mouse operation. The default, if <STRONG>XM</STRONG> is
++ not found, corresponds to private mode 1000 of xterm:
++
++ \E[?1000%?%p1%{1}%=%th%el%;
++
+ The z member in the event structure is not presently used.
+- It is intended for use with touch screens (which may be
++ It is intended for use with touch screens (which may be
+ pressure-sensitive) or with 3D-mice/trackballs/power
+ gloves.
+
+
+ </PRE>
+ <H2>BUGS</H2><PRE>
+- Mouse events under xterm will not in fact be ignored dur-
+- ing cooked mode, if they have been enabled by <STRONG>wmousemask</STRONG>.
+- Instead, the xterm mouse report sequence will appear in
++ Mouse events under xterm will not in fact be ignored dur-
++ ing cooked mode, if they have been enabled by <STRONG>wmousemask</STRONG>.
++ Instead, the xterm mouse report sequence will appear in
+ the string read.
+
+ Mouse events under xterm will not be detected correctly in
+- a window with its keypad bit off, since they are inter-
+- preted as a variety of function key. Your terminfo
+- description must have <STRONG>kmous</STRONG> set to "\E[M" (the beginning
++ a window with its keypad bit off, since they are inter-
++ preted as a variety of function key. Your terminfo
++ description must have <STRONG>kmous</STRONG> set to "\E[M" (the beginning
+ of the response from xterm for mouse clicks).
+
+- Because there are no standard terminal responses that
+- would serve to identify terminals which support the xterm
+- mouse protocol, <STRONG>ncurses</STRONG> assumes that if your $TERM envi-
+- ronment variable contains "xterm", or <STRONG>kmous</STRONG> is defined in
++ Because there are no standard terminal responses that
++ would serve to identify terminals which support the xterm
++ mouse protocol, <STRONG>ncurses</STRONG> assumes that if your $TERM envi-
++ ronment variable contains "xterm", or <STRONG>kmous</STRONG> is defined in
+ the terminal description, then the terminal may send mouse
+ events.
+
+@@ -246,13 +253,6 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_outopts.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_outopts.3x.html
+--- ncurses-5.3/doc/html/man/curs_outopts.3x.html Sat Jun 22 16:25:25 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_outopts.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_outopts.3x,v 1.17 2001/10/14 00:50:30 tom Exp @
++ * @Id: curs_outopts.3x,v 1.18 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -100,7 +100,7 @@
+
+ If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in
+ the window image, such as the ones caused by <STRONG>waddch,</STRONG>
+- <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, <EM>etc</EM>., automatically cause a call to <STRONG>wre-</STRONG>
++ <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc., automatically cause a call to <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG>. However, it may degrade performance considerably,
+ due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled by
+ default.
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_pad.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_pad.3x.html
+--- ncurses-5.3/doc/html/man/curs_pad.3x.html Sat Jun 22 16:25:25 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_pad.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_pad.3x,v 1.9 2000/07/04 22:38:13 tom Exp @
++ * @Id: curs_pad.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -70,7 +70,7 @@
+ sarily associated with a particular part of the screen.
+ Pads can be used when a large window is needed, and only a
+ part of the window will be on the screen at one time.
+- Automatic refreshes of pads (<EM>e</EM>.<EM>g</EM>., from scrolling or echo-
++ Automatic refreshes of pads (e.g., from scrolling or echo-
+ ing of input) do not occur. It is not legal to call <STRONG>wre-</STRONG>
+ <STRONG>fresh</STRONG> with a <EM>pad</EM> as an argument; the routines <STRONG>prefresh</STRONG> or
+ <STRONG>pnoutrefresh</STRONG> should be called instead. Note that these
+@@ -106,7 +106,7 @@
+ The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call
+ to <STRONG>addch</STRONG> followed by a call to <STRONG>refresh</STRONG>, a call to <STRONG>waddch</STRONG>
+ followed by a call to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> fol-
+- lowed by a call to <STRONG>prefresh.</STRONG> The knowledge that only a
++ lowed by a call to <STRONG>prefresh</STRONG>. The knowledge that only a
+ single character is being output is taken into considera-
+ tion and, for non-control characters, a considerable per-
+ formance gain might be seen by using these routines
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_print.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_print.3x.html
+--- ncurses-5.3/doc/html/man/curs_print.3x.html Sat Jun 22 16:25:26 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_print.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_print.3x,v 1.5 2002/02/16 22:39:04 tom Exp @
++ * @Id: curs_print.3x,v 1.6 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_printw.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_printw.3x.html
+--- ncurses-5.3/doc/html/man/curs_printw.3x.html Sat Jul 27 19:39:35 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_printw.3x.html Tue May 13 20:08:22 2003
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_printw.3x,v 1.12 2002/07/20 15:01:43 tom Exp @
++ * @Id: curs_printw.3x,v 1.13 2002/11/16 22:28:57 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -51,45 +51,48 @@
+ <H2>SYNOPSIS</H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>printw(char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+- <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+- <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+- <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
++ <STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
++ <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
++ <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG>
++ <STRONG>...);</STRONG>
++ <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
++ <STRONG>glist);</STRONG>
++ <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>var-</STRONG>
++ <STRONG>glist);</STRONG>
+
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+- The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are
+- analogous to <STRONG>printf</STRONG> [see <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>]. In effect, the
++ The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are
++ analogous to <STRONG>printf</STRONG> [see <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>]. In effect, the
+ string that would be output by <STRONG>printf</STRONG> is output instead as
+ though <STRONG>waddstr</STRONG> were used on the given window.
+
+- The <STRONG>vwprintw</STRONG> and <STRONG>wv_printw</STRONG> routines are analogous to
+- <STRONG>vprintf</STRONG> [see <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>] and perform a <STRONG>wprintw</STRONG> using a
+- variable argument list. The third argument is a <STRONG>va_list</STRONG>,
+- a pointer to a list of arguments, as defined in
++ The <STRONG>vwprintw</STRONG> and <STRONG>wv_printw</STRONG> routines are analogous to
++ <STRONG>vprintf</STRONG> [see <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>] and perform a <STRONG>wprintw</STRONG> using a
++ variable argument list. The third argument is a <STRONG>va_list</STRONG>,
++ a pointer to a list of arguments, as defined in
+ <STRONG>&lt;stdarg.h&gt;</STRONG>.
+
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- Routines that return an integer return <STRONG>ERR</STRONG> upon failure
+- and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
++ Routines that return an integer return <STRONG>ERR</STRONG> upon failure
++ and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than
+ <STRONG>ERR</STRONG>") upon successful completion.
+
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The XSI Curses standard, Issue 4 describes these func-
+- tions. The function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN,
+- and is to be replaced by a function <STRONG>vw_printw</STRONG> using the
++ The XSI Curses standard, Issue 4 describes these func-
++ tions. The function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN,
++ and is to be replaced by a function <STRONG>vw_printw</STRONG> using the
+ <STRONG>&lt;stdarg.h&gt;</STRONG> interface. The Single Unix Specification, Ver-
+- sion 2 states that <STRONG>vw_printw</STRONG> is preferred to <STRONG>vwprintw</STRONG>
+- since the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which
+- cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>. This
+- implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that
++ sion 2 states that <STRONG>vw_printw</STRONG> is preferred to <STRONG>vwprintw</STRONG>
++ since the latter requires including <STRONG>&lt;varargs.h&gt;</STRONG>, which
++ cannot be used in the same file as <STRONG>&lt;stdarg.h&gt;</STRONG>. This
++ implementation uses <STRONG>&lt;stdarg.h&gt;</STRONG> for both, because that
+ header is included in <STRONG>&lt;curses.h</STRONG>&gt;.
+
+
+@@ -99,9 +102,6 @@
+
+
+
+-
+-
+-
+
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_scroll.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_scroll.3x.html
+--- ncurses-5.3/doc/html/man/curs_scroll.3x.html Sat Jun 22 16:25:27 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_scroll.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_scroll.3x,v 1.9 2001/10/14 00:51:56 tom Exp @
++ * @Id: curs_scroll.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_slk.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_slk.3x.html
+--- ncurses-5.3/doc/html/man/curs_slk.3x.html Sat Jun 22 16:25:27 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_slk.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_slk.3x,v 1.11 2001/03/03 21:05:41 Todd.C.Miller Exp @
++ * @Id: curs_slk.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -115,7 +115,7 @@
+ The <STRONG>slk_clear</STRONG> routine clears the soft labels from the
+ screen.
+
+- The <STRONG>slk_restore</STRONG> routine, restores the soft labels to the
++ The <STRONG>slk_restore</STRONG> routine restores the soft labels to the
+ screen after a <STRONG>slk_clear</STRONG> has been performed.
+
+ The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_termcap.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_termcap.3x.html
+--- ncurses-5.3/doc/html/man/curs_termcap.3x.html Sat Jun 22 16:25:28 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_termcap.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_termcap.3x,v 1.16 2002/02/16 19:26:41 tom Exp @
++ * @Id: curs_termcap.3x,v 1.18 2003/02/08 22:25:47 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -136,32 +136,86 @@
+ will put out a literal "50" rather than busy-waiting for
+ 50 milliseconds. Cope with it.
+
++ Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG>
++ string. One consequence of this is that termcap applica-
++ tions assume me (terminfo <STRONG>sgr0</STRONG>) does not reset the alter-
++ nate character set. This implementation checks for, and
++ modifies the data shown to the termcap interface to accom-
++ modate termcap's limitation in this respect.
++
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The XSI Curses standard, Issue 4 describes these func-
+- tions. However, they are marked TO BE WITHDRAWN and may
++ The XSI Curses standard, Issue 4 describes these func-
++ tions. However, they are marked TO BE WITHDRAWN and may
+ be removed in future versions.
+
+- Neither the XSI Curses standard nor the SVr4 man pages
+- documented the return values of <STRONG>tgetent</STRONG> correctly, though
+- all three were in fact returned ever since SVr1. In par-
+- ticular, an omission in the XSI Curses documentation has
+- been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
++ Neither the XSI Curses standard nor the SVr4 man pages
++ documented the return values of <STRONG>tgetent</STRONG> correctly, though
++ all three were in fact returned ever since SVr1. In par-
++ ticular, an omission in the XSI Curses documentation has
++ been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG> or
+ <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide
+- compatibility with the <EM>termcap</EM> library, that is a defect
++ compatibility with the <EM>termcap</EM> library, that is a defect
+ in XCurses, Issue 4, Version 2 rather than in ncurses.
+
+- External variables are provided for support of certain
+- termcap applications. However, termcap applications' use
++ External variables are provided for support of certain
++ termcap applications. However, termcap applications' use
+ of those variables is poorly documented, e.g., not distin-
+- guishing between input and output. In particular, some
++ guishing between input and output. In particular, some
+ applications are reported to declare and/or modify <STRONG>ospeed</STRONG>.
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="putc.3S.html">putc(3S)</A></STRONG>.
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+ </PRE>
+ <HR>
+ <ADDRESS>
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_terminfo.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_terminfo.3x.html
+--- ncurses-5.3/doc/html/man/curs_terminfo.3x.html Sat Jul 27 19:39:37 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_terminfo.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_terminfo.3x,v 1.16 2002/07/20 16:05:19 tom Exp @
++ * @Id: curs_terminfo.3x,v 1.17 2003/05/10 20:22:01 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_util.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_util.3x.html
+--- ncurses-5.3/doc/html/man/curs_util.3x.html Sat Oct 12 18:27:58 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_util.3x.html Tue May 13 20:08:22 2003
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_util.3x,v 1.9 2002/09/01 19:44:37 tom Exp @
++ * @Id: curs_util.3x,v 1.10 2002/12/21 22:21:37 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -110,17 +110,18 @@
+ The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause
+ in output. This routine should not be used extensively
+ because padding characters are used rather than a CPU
+- pause.
++ pause. If no padding character is specified, this uses
++ <STRONG>napms</STRONG> to perform the delay.
+
+- The <STRONG>flushinp</STRONG> routine throws away any typeahead that has
+- been typed by the user and has not yet been read by the
++ The <STRONG>flushinp</STRONG> routine throws away any typeahead that has
++ been typed by the user and has not yet been read by the
+ program.
+
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- Except for <STRONG>flushinp</STRONG>, routines that return an integer
+- return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
++ Except for <STRONG>flushinp</STRONG>, routines that return an integer
++ return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
+ integer value other than <STRONG>ERR</STRONG>") upon successful completion.
+
+ <STRONG>flushinp</STRONG> always returns <STRONG>OK</STRONG>.
+@@ -130,22 +131,21 @@
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- The XSI Curses standard, Issue 4 describes these func-
+- tions. It states that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a
+- null pointer if unsuccessful, but does not define any
++ The XSI Curses standard, Issue 4 describes these func-
++ tions. It states that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a
++ null pointer if unsuccessful, but does not define any
+ error conditions.
+
+ The SVr4 documentation describes the action of <STRONG>filter</STRONG> only
+- in the vaguest terms. The description here is adapted
+- from the XSI Curses standard (which erroneously fails to
++ in the vaguest terms. The description here is adapted
++ from the XSI Curses standard (which erroneously fails to
+ describe the disabling of <STRONG>cuu</STRONG>).
+
+
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>.
+-
+-
++ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
++ <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>.
+
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/curs_window.3x.html ncurses-5.3.20030906.orig/doc/html/man/curs_window.3x.html
+--- ncurses-5.3/doc/html/man/curs_window.3x.html Sat Jun 22 16:25:29 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/curs_window.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: curs_window.3x,v 1.9 2000/07/01 20:08:37 tom Exp @
++ * @Id: curs_window.3x,v 1.10 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/define_key.3x.html ncurses-5.3.20030906.orig/doc/html/man/define_key.3x.html
+--- ncurses-5.3/doc/html/man/define_key.3x.html Sat Jun 22 16:25:29 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/define_key.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey &lt;dickey@clark.net&gt; 1997
+- * @Id: define_key.3x,v 1.8 2002/02/16 22:39:52 tom Exp @
++ * @Id: define_key.3x,v 1.9 2003/05/17 23:25:11 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -51,7 +51,7 @@
+ <H2>SYNOPSIS</H2><PRE>
+ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
+
+- <STRONG>int</STRONG> <STRONG>define_key(char</STRONG> <STRONG>*definition,</STRONG> <STRONG>int</STRONG> <STRONG>keycode);</STRONG>
++ <STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition,</STRONG> <STRONG>int</STRONG> <STRONG>keycode);</STRONG>
+
+
+ </PRE>
+diff -urNd -urNd ncurses-5.3/doc/html/man/form_field.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field.3x.html
+--- ncurses-5.3/doc/html/man/form_field.3x.html Sat Jun 22 16:25:31 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/form_field.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998 Free Software Foundation, Inc. *
++ * Copyright (c) 1998,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_field.3x,v 1.5 1998/11/29 01:05:52 Rick.Ohnemus Exp @
++ * @Id: form_field.3x,v 1.6 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -69,7 +69,7 @@
+ The function <STRONG>field_count</STRONG> returns the count of fields in
+ <EM>form</EM>.
+
+- The function <STRONG>move_field</STRONG> move the given field (which must
++ The function <STRONG>move_field</STRONG> moves the given field (which must
+ be disconnected) to a specified location on the screen.
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_buffer.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_buffer.3x.html
+--- ncurses-5.3/doc/html/man/form_field_buffer.3x.html Sat Jun 22 16:25:31 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/form_field_buffer.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_field_buffer.3x,v 1.9 2002/01/19 22:48:23 tom Exp @
++ * @Id: form_field_buffer.3x,v 1.10 2003/05/10 20:22:01 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_just.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_just.3x.html
+--- ncurses-5.3/doc/html/man/form_field_just.3x.html Sat Jun 22 16:25:32 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/form_field_just.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_field_just.3x,v 1.6 2002/01/19 22:48:41 tom Exp @
++ * @Id: form_field_just.3x,v 1.7 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -68,7 +68,7 @@
+ The function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION,
+ JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+
+- The function <STRONG>set_field_just</STRONG> return one of the following:
++ The function <STRONG>set_field_just</STRONG> returns one of the following:
+
+ <STRONG>E_OK</STRONG> The routine succeeded.
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_new.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_new.3x.html
+--- ncurses-5.3/doc/html/man/form_field_new.3x.html Sat Jun 22 16:25:32 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/form_field_new.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_field_new.3x,v 1.11 2002/02/16 22:39:52 tom Exp @
++ * @Id: form_field_new.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -115,8 +115,8 @@
+
+ It may be unwise to count on the set of attributes copied
+ by <STRONG><A HREF="dup_field.3x.html">dup_field(3x)</A></STRONG> being portable; the System V forms
+- library documents are not very explicit on what gets
+- copied and was not.
++ library documents are not very explicit about what gets
++ copied and what doesn't.
+
+
+ </PRE>
+diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_opts.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_opts.3x.html
+--- ncurses-5.3/doc/html/man/form_field_opts.3x.html Sat Jun 22 16:25:32 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/form_field_opts.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998 Free Software Foundation, Inc. *
++ * Copyright (c) 1998,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_field_opts.3x,v 1.7 1998/11/29 01:06:54 Rick.Ohnemus Exp @
++ * @Id: form_field_opts.3x,v 1.8 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -75,7 +75,7 @@
+
+ O_VISIBLE
+ The field is displayed. If this option is off, dis-
+- play of the field is suppressed,
++ play of the field is suppressed.
+
+ O_ACTIVE
+ The field is visited during processing. If this
+@@ -98,7 +98,7 @@
+ at the first position.
+
+ O_AUTOSKIP
+- Skip to the next field when this one fills
++ Skip to the next field when this one fills.
+
+
+ O_NULLOK
+diff -urNd -urNd ncurses-5.3/doc/html/man/form_field_validation.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_field_validation.3x.html
+--- ncurses-5.3/doc/html/man/form_field_validation.3x.html Sat Jun 22 16:25:33 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/form_field_validation.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_field_validation.3x,v 1.12 2002/02/16 22:39:52 tom Exp @
++ * @Id: form_field_validation.3x,v 1.14 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -53,12 +53,20 @@
+ FIELDTYPE *field_type(const FIELD *field);
+ void *field_arg(const FIELD *field);
+
++ FIELDTYPE *TYPE_ALNUM;
++ FIELDTYPE *TYPE_ALPHA;
++ FIELDTYPE *TYPE_ENUM;
++ FIELDTYPE *TYPE_INTEGER;
++ FIELDTYPE *TYPE_NUMERIC;
++ FIELDTYPE *TYPE_REGEXP;
++ FIELDTYPE *TYPE_IPV4;
++
+
+ </PRE>
+ <H2>DESCRIPTION</H2><PRE>
+ The function <STRONG>set_field_type</STRONG> declares a data type for a
+ given form field. This is the type checked by validation
+- functions. The types are as follows:
++ functions. The predefined types are as follows:
+
+ TYPE_ALNUM
+ Alphanumeric data. Requires a third <STRONG>int</STRONG> argument, a
+@@ -78,7 +86,7 @@
+ than one list elements with that prefix). Please
+ notice that the string list is not copied, only a
+ reference to it is stored in the field. So you should
+- avoid to use a list that lives in automatic variables
++ avoid using a list that lives in automatic variables
+ on the stack.
+
+ TYPE_INTEGER
+@@ -86,9 +94,9 @@
+ Requires a third <STRONG>int</STRONG> argument controlling the preci-
+ sion, a fourth <STRONG>long</STRONG> argument constraining minimum
+ value, and a fifth <STRONG>long</STRONG> constraining maximum value.
+- If the maximum value is less or equal the minimum
+- value, the range is simply ignored. On return the
+- field buffer is formatted according to the <STRONG>printf</STRONG>
++ If the maximum value is less than or equal to the
++ minimum value, the range is simply ignored. On return
++ the field buffer is formatted according to the <STRONG>printf</STRONG>
+ format specification ".*ld", where the '*' is
+ replaced by the precision argument. For details of
+ the precision handling see <STRONG>printf's</STRONG> man-page.
+@@ -98,47 +106,48 @@
+ Requires a third <STRONG>int</STRONG> argument controlling the preci-
+ sion, a fourth <STRONG>double</STRONG> argument constraining minimum
+ value, and a fifth <STRONG>double</STRONG> constraining maximum value.
+- If your system supports locale's, the decimal point
++ If your system supports locales, the decimal point
+ character to be used must be the one specified by
+- your locale. If the maximum value is less or equal
+- the minimum value, the range is simply ignored. On
+- return the field buffer is formatted according to the
+- <STRONG>printf</STRONG> format specification ".*f", where the '*' is
+- replaced by the precision argument. For details of
+- the precision handling see <STRONG>printf's</STRONG> man-page.
++ your locale. If the maximum value is less than or
++ equal to the minimum value, the range is simply
++ ignored. On return the field buffer is formatted
++ according to the <STRONG>printf</STRONG> format specification ".*f",
++ where the '*' is replaced by the precision argument.
++ For details of the precision handling see <STRONG>printf's</STRONG>
++ man-page.
+
+ TYPE_REGEXP
+- Regular expression data. Requires a regular expres-
+- sion <STRONG>(char</STRONG> <STRONG>*)</STRONG> third argument; the data is valid if
+- the regular expression matches it. Regular expres-
+- sions are in the format of <STRONG><A HREF="regcomp.3x.html">regcomp(3x)</A></STRONG> and
+- <STRONG><A HREF="regexec.3x.html">regexec(3x)</A></STRONG>. Please notice that the regular expres-
+- sion must match the whole field. If you have for
+- example an eight character wide field, a regular
+- expression "^[0-9]*$" always means that you have to
+- fill all eight positions with digits. If you want to
+- allow fewer digits, you may use for example "^[0-9]*
++ Regular expression data. Requires a regular expres-
++ sion <STRONG>(char</STRONG> <STRONG>*)</STRONG> third argument; the data is valid if
++ the regular expression matches it. Regular expres-
++ sions are in the format of <STRONG><A HREF="regcomp.3x.html">regcomp(3x)</A></STRONG> and
++ <STRONG><A HREF="regexec.3x.html">regexec(3x)</A></STRONG>. Please notice that the regular expres-
++ sion must match the whole field. If you have for
++ example an eight character wide field, a regular
++ expression "^[0-9]*$" always means that you have to
++ fill all eight positions with digits. If you want to
++ allow fewer digits, you may use for example "^[0-9]*
+ *$" which is good for trailing spaces (up to an empty
+- field), or "^ *[0-9]* *$" which is good for leading
++ field), or "^ *[0-9]* *$" which is good for leading
+ and trailing spaces around the digits.
+
+ TYPE_IPV4
+ An Internet Protocol Version 4 address. This requires
+- no additional argument. It is checked whether or not
+- the buffer has the form a.b.c.d, where a,b,c and d
++ no additional argument. It is checked whether or not
++ the buffer has the form a.b.c.d, where a,b,c and d
+ are numbers between 0 and 255. Trailing blanks in the
+- buffer are ignored. The address itself is not vali-
++ buffer are ignored. The address itself is not vali-
+ dated. Please note that this is an ncurses extension.
+- This field type may not be available in other curses
++ This field type may not be available in other curses
+ implementations.
+
+- It is possible to set up new programmer-defined field
+- types. See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
++ It is possible to set up new programmer-defined field
++ types. See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page.
+
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on
++ The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on
+ error. The function <STRONG>set_field_type</STRONG> returns one of the fol-
+ lowing:
+
+@@ -148,6 +157,7 @@
+ System error occurred (see <STRONG>errno</STRONG>).
+
+
++
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+@@ -161,26 +171,17 @@
+
+ </PRE>
+ <H2>PORTABILITY</H2><PRE>
+- These routines emulate the System V forms library. They
++ These routines emulate the System V forms library. They
+ were not supported on Version 7 or BSD versions.
+
+
+ </PRE>
+ <H2>AUTHORS</H2><PRE>
+- Juergen Pfeifer. Manual pages and adaptation for new
++ Juergen Pfeifer. Manual pages and adaptation for new
+ curses by Eric S. Raymond.
+
+
+
+-
+-
+-
+-
+-
+-
+-
+-
+-
+
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/form_fieldtype.3x.html ncurses-5.3.20030906.orig/doc/html/man/form_fieldtype.3x.html
+--- ncurses-5.3/doc/html/man/form_fieldtype.3x.html Sat Jun 22 16:25:33 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/form_fieldtype.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: form_fieldtype.3x,v 1.9 2001/08/04 20:36:25 William.Setzer Exp @
++ * @Id: form_fieldtype.3x,v 1.12 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -72,11 +72,11 @@
+ The function <STRONG>new_fieldtype</STRONG> creates a new field type usable
+ for data validation. You supply it with <EM>field</EM><STRONG>_</STRONG><EM>check</EM>, a
+ predicate to check the validity of an entered data string
+- whenever the user attempt to leave a field. The (FIELD *)
+- argument is passed in so the validation predicate can see
+- the field's buffer, sizes and other attributes; the second
+- argument is an argument-block structure, about which more
+- below.
++ whenever the user attempts to leave a field. The (FIELD
++ *) argument is passed in so the validation predicate can
++ see the field's buffer, sizes and other attributes; the
++ second argument is an argument-block structure, about
++ which more below.
+
+ You also supply <STRONG>new_fieldtype</STRONG> with <EM>char</EM><STRONG>_</STRONG><EM>check</EM>, a function
+ to validate input characters as they are entered; it will
+@@ -86,20 +86,24 @@
+ The function <STRONG>free_fieldtype</STRONG> frees the space allocated for
+ a given validation type.
+
+- The function <STRONG>set_fieldtype</STRONG> associates three storage-man-
+- agement functions with a field type. The <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM> function
+- is automatically applied to the list of arguments you give
+- <STRONG>set_field_type</STRONG> when attaching validation to a field; its
+- job is to bundle these into an allocated argument-block
+- object which can later be passed to validation predicated.
+- The other two hook arguments should copy and free argu-
+- ment-block structures. They will be used by the forms-
+- driver code. You must supply the <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM> function, the
+- other two are optional, you may supply NULL for them. In
+- this case it is assumed, that <EM>mak</EM><STRONG>_</STRONG><EM>arg</EM> doesn't allocate
++ The function <STRONG>set_fieldtype_arg</STRONG> associates three storage-
++ management functions with a field type. The <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
++ function is automatically applied to the list of arguments
++ you give <STRONG>set_field_type</STRONG> when attaching validation to a
++ field; its job is to bundle these into an allocated argu-
++ ment-block object which can later be passed to validation
++ predicated. The other two hook arguments should copy and
++ free argument-block structures. They will be used by the
++ forms-driver code. You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function,
++ the other two are optional, you may supply NULL for them.
++ In this case it is assumed that <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate
+ memory but simply loads the argument into a single scalar
+ value.
+
++ The function <STRONG>link_fieldtype</STRONG> creates a new field type from
++ the two given types. They are connected by an logical
++ 'OR'.
++
+ The form driver requests <STRONG>REQ_NEXT_CHOICE</STRONG> and
+ <STRONG>REQ_PREV_CHOICE</STRONG> assume that the possible values of a field
+ form an ordered set, and provide the forms user with a way
+@@ -158,10 +162,6 @@
+
+
+
+-
+-
+-
+-
+
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/infocmp.1m.html ncurses-5.3.20030906.orig/doc/html/man/infocmp.1m.html
+--- ncurses-5.3/doc/html/man/infocmp.1m.html Sat Oct 12 18:28:05 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/infocmp.1m.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: infocmp.1m,v 1.30 2002/10/05 21:22:21 tom Exp @
++ * @Id: infocmp.1m,v 1.33 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -313,8 +313,8 @@
+
+ An SGR0 designates an empty highlight sequence
+ (equivalent to {SGR:NORMAL}).
+- -
+- l Set output format to terminfo.
++
++ <STRONG>-l</STRONG> Set output format to terminfo.
+
+ <STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
+
+@@ -387,13 +387,13 @@
+
+ The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System
+ V Release 4's. Actual BSD curses versions will have a
+- more restricted set. To see only the 4.4BSD set, use -r
+- -RBSD.
++ more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG>
++ <STRONG>-RBSD</STRONG>.
+
+
+ </PRE>
+ <H2>BUGS</H2><PRE>
+- The -F option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
++ The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
+
+
+ </PRE>
+diff -urNd -urNd ncurses-5.3/doc/html/man/infotocap.1m.html ncurses-5.3.20030906.orig/doc/html/man/infotocap.1m.html
+--- ncurses-5.3/doc/html/man/infotocap.1m.html Sat Jun 22 16:25:36 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/infotocap.1m.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1999,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: infotocap.1m,v 1.3 2000/08/13 01:56:03 tom Exp @
++ * @Id: infotocap.1m,v 1.4 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/key_defined.3x.html ncurses-5.3.20030906.orig/doc/html/man/key_defined.3x.html
+--- ncurses-5.3/doc/html/man/key_defined.3x.html Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/doc/html/man/key_defined.3x.html Sun Jul 20 14:02:08 2003
+@@ -0,0 +1,119 @@
++<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
++<!--
++ ****************************************************************************
++ * Copyright (c) 2003 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************
++ * Author: Thomas E. Dickey 2003
++ * @Id: key_defined.3x,v 1.2 2003/05/17 23:24:45 tom Exp @
++-->
++<HTML>
++<HEAD>
++<TITLE>key_defined 3x</TITLE>
++<link rev=made href="mailto:bug-ncurses@gnu.org">
++<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
++</HEAD>
++<BODY>
++<H1>key_defined 3x</H1>
++<HR>
++<PRE>
++<!-- Manpage converted by man2html 3.0.1 -->
++
++</PRE>
++<H2>NAME</H2><PRE>
++ <STRONG>define_key</STRONG> - define a keycode
++
++
++</PRE>
++<H2>SYNOPSIS</H2><PRE>
++ <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
++
++ <STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*definition);</STRONG>
++
++
++</PRE>
++<H2>DESCRIPTION</H2><PRE>
++ This is an extension to the curses library. It permits an
++ application to determine if a string is currently bound to
++ any keycode.
++
++
++</PRE>
++<H2>RETURN VALUE</H2><PRE>
++ If the string is bound to a keycode, its value (greater
++ than zero) is returned. If no keycode is bound, zero is
++ returned. If the string conflicts with longer strings
++ which are bound to keys, -1 is returned.
++
++
++</PRE>
++<H2>PORTABILITY</H2><PRE>
++ These routines are specific to ncurses. They were not
++ supported on Version 7, BSD or System V implementations.
++ It is recommended that any code depending on them be con-
++ ditioned using NCURSES_VERSION.
++
++
++</PRE>
++<H2>SEE ALSO</H2><PRE>
++ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
++
++
++</PRE>
++<H2>AUTHOR</H2><PRE>
++ Thomas Dickey.
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++</PRE>
++<HR>
++<ADDRESS>
++Man(1) output converted with
++<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
++</ADDRESS>
++</BODY>
++</HTML>
+diff -urNd -urNd ncurses-5.3/doc/html/man/keybound.3x.html ncurses-5.3.20030906.orig/doc/html/man/keybound.3x.html
+--- ncurses-5.3/doc/html/man/keybound.3x.html Sat Jun 22 16:25:36 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/keybound.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1999,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * authorization. *
+ ****************************************************************************
+ * Author: Thomas E. Dickey &lt;dickey@clark.net&gt; 1999
+- * @Id: keybound.3x,v 1.3 2002/02/16 22:30:36 tom Exp @
++ * @Id: keybound.3x,v 1.4 2003/03/08 19:08:33 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -63,10 +63,12 @@
+
+ </PRE>
+ <H2>RETURN VALUE</H2><PRE>
+- The keycode must be greater than zero, else NULL is
+- returned. If it does not correspond to a defined key,
+- then NULL is returned. Otherwise, the function returns a
+- string, which must be freed by the caller.
++ The <EM>keycode</EM> parameter must be greater than zero, else NULL
++ is returned. If it does not correspond to a defined key,
++ then NULL is returned. The <EM>count</EM> parameter is used to
++ allow the application to iterate through multiple defini-
++ tions, counting from zero. When successful, the function
++ returns a string which must be freed by the caller.
+
+
+ </PRE>
+@@ -88,8 +90,6 @@
+
+
+
+-
+-
+
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/menu_driver.3x.html ncurses-5.3.20030906.orig/doc/html/man/menu_driver.3x.html
+--- ncurses-5.3/doc/html/man/menu_driver.3x.html Sat Jun 22 16:25:37 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/menu_driver.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: menu_driver.3x,v 1.10 2002/02/16 22:40:59 tom Exp @
++ * @Id: menu_driver.3x,v 1.11 2003/05/10 20:22:01 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/menu_pattern.3x.html ncurses-5.3.20030906.orig/doc/html/man/menu_pattern.3x.html
+--- ncurses-5.3/doc/html/man/menu_pattern.3x.html Sat Jun 22 16:25:39 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/menu_pattern.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: menu_pattern.3x,v 1.7 2002/02/16 22:40:59 tom Exp @
++ * @Id: menu_pattern.3x,v 1.8 2003/05/10 20:22:01 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/ncurses.3x.html ncurses-5.3.20030906.orig/doc/html/man/ncurses.3x.html
+--- ncurses-5.3/doc/html/man/ncurses.3x.html Sat Aug 31 16:59:48 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/ncurses.3x.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998,1999,2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: ncurses.3x,v 1.63 2002/08/10 21:56:07 tom Exp @
++ * @Id: ncurses.3x,v 1.66 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -354,6 +354,7 @@
+ is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
++ key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
+ key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
+ keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+@@ -369,8 +370,8 @@
+ mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
+ move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+- mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+
++ mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+@@ -423,8 +424,8 @@
+ mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+- mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+
++ mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+@@ -477,8 +478,8 @@
+ putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+- redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+
++ redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+@@ -531,8 +532,8 @@
+ tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+- tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+
++ tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+@@ -585,8 +586,8 @@
+ wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+- wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+
++ wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+@@ -639,8 +640,8 @@
+ wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+- wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
++ wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+@@ -655,9 +656,9 @@
+ descriptions.
+
+ All macros return the value of the <STRONG>w</STRONG> version, except
+- <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG>. The
++ <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The
+ return values of <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>,
+- and <STRONG>getmaxyx</STRONG> are undefined (<EM>i</EM>.<EM>e</EM>., these should not be used
++ and <STRONG>getmaxyx</STRONG> are undefined (i.e., these should not be used
+ as the right-hand side of assignment statements).
+
+ Routines that return pointers return <STRONG>NULL</STRONG> on error.
+@@ -674,7 +675,7 @@
+ The debugging library checks this environment symbol
+ when the application has redirected output to a file.
+ The symbol's numeric value is used for the baudrate.
+- If no value is found <STRONG>ncurses</STRONG> uses 9600. This allows
++ If no value is found, <STRONG>ncurses</STRONG> uses 9600. This allows
+ testers to construct repeatable test-cases that take
+ into account costs that depend on baudrate.
+
+@@ -698,7 +699,6 @@
+ host which does not honor NAWS (Negotiations About
+ Window Size), or because you are temporarily running
+ as another user.
+-
+ Either COLUMNS or LINES symbols may be specified
+ independently. This is mainly useful to circumvent
+ legacy misfeatures of terminal descriptions, e.g.,
+@@ -838,7 +838,7 @@
+ The complete list of directories in order follows:
+
+ - the last directory to which <STRONG>ncurses</STRONG> wrote, if any,
+- is searched first.
++ is searched first
+
+ - the directory specified by the TERMINFO symbol
+
+@@ -910,8 +910,8 @@
+ The <STRONG>ncurses</STRONG> library extends the fixed set of function key
+ capabilities of terminals by allowing the application
+ designer to define additional key sequences at runtime.
+- See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for
+- details.
++ See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
++ manual pages for details.
+
+ The <STRONG>ncurses</STRONG> library can exploit the capabilities of
+ terminals which implement the ISO-6429 SGR 39 and SGR 49
+diff -urNd -urNd ncurses-5.3/doc/html/man/panel.3x.html ncurses-5.3.20030906.orig/doc/html/man/panel.3x.html
+--- ncurses-5.3/doc/html/man/panel.3x.html Sat Jun 22 16:25:43 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/panel.3x.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: panel.3x,v 1.10 2000/08/13 01:56:47 tom Exp @
++ * @Id: panel.3x,v 1.11 2003/05/17 22:44:09 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -81,7 +81,7 @@
+ of the stack.
+
+ A window is associated with every panel. The panel rou-
+- tines enable you to create, move, hides, and show panels,
++ tines enable you to create, move, hide, and show panels,
+ as well as position a panel at any desired location in the
+ stack.
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/term.5.html ncurses-5.3.20030906.orig/doc/html/man/term.5.html
+--- ncurses-5.3/doc/html/man/term.5.html Sat Aug 31 16:59:49 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/term.5.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: term.5,v 1.14 2002/08/10 21:59:37 tom Exp @
++ * @Id: term.5,v 1.15 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/term.7.html ncurses-5.3.20030906.orig/doc/html/man/term.7.html
+--- ncurses-5.3/doc/html/man/term.7.html Sat Jun 22 16:25:44 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/term.7.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: term.7,v 1.13 2002/04/20 16:50:47 tom Exp @
++ * @Id: term.7,v 1.14 2003/05/10 20:33:49 jmc Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -126,10 +126,10 @@
+ ters or digits. You need to avoid using punctuation char-
+ acters in root names, because they are used and inter-
+ preted as filenames and shell meta-characters (such as !,
+- $, *, ? etc.) embedded in them may cause odd and unhelpful
+- behavior. The slash (/), or any other character that may
+- be interpreted by anyone's file system (\, $, [, ]), is
+- especially dangerous (terminfo is platform-independent,
++ $, *, ?, etc.) embedded in them may cause odd and unhelp-
++ ful behavior. The slash (/), or any other character that
++ may be interpreted by anyone's file system (\, $, [, ]),
++ is especially dangerous (terminfo is platform-independent,
+ and choosing names with special characters could someday
+ make life difficult for users of a future port). The dot
+ (.) character is relatively safe as long as there is at
+@@ -169,23 +169,23 @@
+ another that has this suffix and uses magic cookies
+ to support multiple attributes.
+
+- -am Enable auto-margin (right-margin wraparound)
++ -am Enable auto-margin (right-margin wraparound).
+
+- -m Mono mode - suppress color support
++ -m Mono mode - suppress color support.
+
+ -na No arrow keys - termcap ignores arrow keys which are
+ actually there on the terminal, so the user can use
+ the arrow keys locally.
+
+- -nam No auto-margin - suppress am capability
++ -nam No auto-margin - suppress am capability.
+
+- -nl No labels - suppress soft labels
++ -nl No labels - suppress soft labels.
+
+- -nsl No status line - suppress status line
++ -nsl No status line - suppress status line.
+
+ -pp Has a printer port which is used.
+
+- -rv Terminal in reverse video mode (black on white)
++ -rv Terminal in reverse video mode (black on white).
+
+ -s Enable status line.
+
+@@ -223,10 +223,10 @@
+ compiled terminal capability data base
+
+ /etc/inittab
+- tty line initialization (AT&amp;T-like UNIXes).
++ tty line initialization (AT&amp;T-like UNIXes)
+
+ /etc/ttys
+- tty line initialization (BSD-like UNIXes).
++ tty line initialization (BSD-like UNIXes)
+
+
+ </PRE>
+diff -urNd -urNd ncurses-5.3/doc/html/man/terminfo.5.html ncurses-5.3.20030906.orig/doc/html/man/terminfo.5.html
+--- ncurses-5.3/doc/html/man/terminfo.5.html Sat Aug 31 16:59:51 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/terminfo.5.html Tue May 13 20:08:22 2003
+@@ -34,7 +34,7 @@
+ ****************************************************************************
+ * @Id: terminfo.head,v 1.10 2002/08/17 23:37:10 tom Exp @
+ * Head of terminfo man page ends here
+- * @Id: terminfo.tail,v 1.35 2002/04/20 16:49:33 tom Exp @
++ * @Id: terminfo.tail,v 1.38 2003/01/05 22:47:05 tom Exp @
+ * Beginning of terminfo.tail file
+ *.TH
+ -->
+@@ -1221,38 +1221,75 @@
+ The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes
+ to manipulate it. Typically a sequence will push one of
+ the parameters onto the stack and then print it in some
+- format. Often more complex operations are necessary.
++ format. Print (e.g., "%d") is a special case. Other
++ operations, including "%t" pop their operand from the
++ stack. It is noted that more complex operations are often
++ necessary, e.g., in the <STRONG>sgr</STRONG> string.
+
+ The <STRONG>%</STRONG> encodings have the following meanings:
+
+- %% outputs `%'
+- %<EM>[[</EM>:<EM>]flags][width[.precision]][</EM>doxXs<EM>]</EM>
+- as in <STRONG>printf</STRONG>, flags are [-+#] and space
+- %c print pop() like %c in printf()
+- %s print pop() like %s in printf()
+
+- %p[1-9] push <EM>i</EM>'th parm
+- %P[a-z] set dynamic variable [a-z] to pop()
+- %g[a-z] get dynamic variable [a-z] and push it
+- %P[A-Z] set static variable [a-z] to pop()
+- %g[A-Z] get static variable [a-z] and push it
+- %'<EM>c</EM>' char constant <EM>c</EM>
+- %{<EM>nn</EM>} integer constant <EM>nn</EM>
+- %l push strlen(pop)
++ %% outputs `%'
+
+- %+ %- %* %/ %m
+- arithmetic (%m is mod): push(pop() op pop())
+- %&amp; %| %^ bit operations: push(pop() op pop())
+- %= %&gt; %&lt; logical operations: push(pop() op pop())
+- %A, %O logical and &amp; or operations (for conditionals)
+- %! %~ unary operations push(op pop())
+- %i add 1 to first two parameters (for ANSI terminals)
++ %<EM>[[</EM>:<EM>]flags][width[.precision]][</EM>doxXs<EM>]</EM>
++ as in <STRONG>printf</STRONG>, flags are [-+#] and space
+
+- %? expr %t thenpart %e elsepart %;
+- if-then-else, %e elsepart is optional.
+- else-if's are possible a la Algol 68:
+- %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;
+- ci are conditions, bi are bodies.
++ %c print pop() like %c in <STRONG>printf</STRONG>
++
++ %s print pop() like %s in <STRONG>printf</STRONG>
++
++ %p[1-9]
++ push <EM>i</EM>'th parameter
++
++ %P[a-z]
++ set dynamic variable [a-z] to pop()
++
++
++ %g[a-z]
++ get dynamic variable [a-z] and push it
++
++ %P[A-Z]
++ set static variable [a-z] to pop()
++
++ %g[A-Z]
++ get static variable [a-z] and push it
++
++ The terms "static" and "dynamic" are misleading.
++ Historically, these are simply two different sets of
++ variables, whose values are not reset between calls
++ to <STRONG>tparm</STRONG>. However, that fact is not documented in
++ other implementations. Relying on it will adversely
++ impact portability to other implementations.
++
++ %'<EM>c</EM>' char constant <EM>c</EM>
++
++ %{<EM>nn</EM>}
++ integer constant <EM>nn</EM>
++
++ %l push strlen(pop)
++
++ %+ %- %* %/ %m
++ arithmetic (%m is mod): push(pop() op pop())
++
++ %&amp; %| %^
++ bit operations: push(pop() op pop())
++
++ %= %&gt; %&lt;
++ logical operations: push(pop() op pop())
++
++ %A, %O
++ logical and &amp; or operations (for conditionals)
++
++ %! %~
++ unary operations push(op pop())
++
++ %i add 1 to first two parameters (for ANSI terminals)
++
++ %? <EM>expr</EM> %t <EM>thenpart</EM> %e <EM>elsepart</EM> %;
++ if-then-else, %e <EM>elsepart</EM> is optional. else-if's are
++ possible a la Algol 68:
++ %? c1 %t b1 %e c2 %t b2 %e c3 %t b3 %e c4 %t b4 %e %;
++ ci are conditions, bi are bodies.
+
+ Binary operations are in postfix form with the operands in
+ the usual order. That is, to get x-5 one would use
+@@ -1531,6 +1568,7 @@
+
+ <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+
++
+ none none \E[0m
+ p1 standout \E[0;1;7m
+ p2 underline \E[0;4m
+@@ -1568,7 +1606,6 @@
+ ;5 if p4 %?%p4%|%t;5%;
+ ;7 if p1 or p3 %?%p1%p3%|%t;7%;
+ ;8 if p7 %?%p7%|%t;8%;
+-
+ m always m
+ ^N or ^O if p9 ^N, else ^O %?%p9%t^N%e^O%;
+
+@@ -1622,170 +1659,168 @@
+ <STRONG>rmkx</STRONG>. Otherwise the keypad is assumed to always transmit.
+ The codes sent by the left arrow, right arrow, up arrow,
+ down arrow, and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG>
+- <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are
+- function keys such as f0, f1, ..., f10, the codes they
+- send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys
+- have labels other than the default f0 through f10, the
+- labels can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>. The codes
+- transmitted by certain other special keys can be given:
+- <STRONG>kll</STRONG> (home down), <STRONG>kbs</STRONG> (backspace), <STRONG>ktbc</STRONG> (clear all tabs),
+- <STRONG>kctab</STRONG> (clear the tab stop in this column), <STRONG>kclr</STRONG> (clear
+- screen or erase key), <STRONG>kdch1</STRONG> (delete character), <STRONG>kdl1</STRONG>
+- (delete line), <STRONG>krmir</STRONG> (exit insert mode), <STRONG>kel</STRONG> (clear to end
+- of line), <STRONG>ked</STRONG> (clear to end of screen), <STRONG>kich1</STRONG> (insert
+- character or enter insert mode), <STRONG>kil1</STRONG> (insert line), <STRONG>knp</STRONG>
+- (next page), <STRONG>kpp</STRONG> (previous page), <STRONG>kind</STRONG> (scroll for-
+- ward/down), <STRONG>kri</STRONG> (scroll backward/up), <STRONG>khts</STRONG> (set a tab stop
+- in this column). In addition, if the keypad has a 3 by 3
+- array of keys including the four arrow keys, the other
+- five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>.
+- These keys are useful when the effects of a 3 by 3 direc-
+- tional pad are needed.
+-
+- Strings to program function keys can be given as <STRONG>pfkey</STRONG>,
+- <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>. A string to program screen labels should
+- be specified as <STRONG>pln</STRONG>. Each of these strings takes two
+- parameters: the function key number to program (from 0 to
+- 10) and the string to program it with. Function key num-
+- bers out of this range may program undefined keys in a
+- terminal dependent manner. The difference between the
+- capabilities is that <STRONG>pfkey</STRONG> causes pressing the given key
+- to be the same as the user typing the given string; <STRONG>pfloc</STRONG>
++ <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG> respectively. If there are func-
++ tion keys such as f0, f1, ..., f10, the codes they send
++ can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys have
++ labels other than the default f0 through f10, the labels
++ can be given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>. The codes transmit-
++ ted by certain other special keys can be given: <STRONG>kll</STRONG> (home
++ down), <STRONG>kbs</STRONG> (backspace), <STRONG>ktbc</STRONG> (clear all tabs), <STRONG>kctab</STRONG>
++ (clear the tab stop in this column), <STRONG>kclr</STRONG> (clear screen or
++ erase key), <STRONG>kdch1</STRONG> (delete character), <STRONG>kdl1</STRONG> (delete line),
++ <STRONG>krmir</STRONG> (exit insert mode), <STRONG>kel</STRONG> (clear to end of line), <STRONG>ked</STRONG>
++ (clear to end of screen), <STRONG>kich1</STRONG> (insert character or enter
++ insert mode), <STRONG>kil1</STRONG> (insert line), <STRONG>knp</STRONG> (next page), <STRONG>kpp</STRONG>
++ (previous page), <STRONG>kind</STRONG> (scroll forward/down), <STRONG>kri</STRONG> (scroll
++ backward/up), <STRONG>khts</STRONG> (set a tab stop in this column). In
++ addition, if the keypad has a 3 by 3 array of keys includ-
++ ing the four arrow keys, the other five keys can be given
++ as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>, <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful
++ when the effects of a 3 by 3 directional pad are needed.
++ Strings to program function keys can be given as <STRONG>pfkey</STRONG>,
++ <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>. A string to program screen labels should
++ be specified as <STRONG>pln</STRONG>. Each of these strings takes two
++ parameters: the function key number to program (from 0 to
++ 10) and the string to program it with. Function key num-
++ bers out of this range may program undefined keys in a
++ terminal dependent manner. The difference between the
++ capabilities is that <STRONG>pfkey</STRONG> causes pressing the given key
++ to be the same as the user typing the given string; <STRONG>pfloc</STRONG>
+ causes the string to be executed by the terminal in local;
+- and <STRONG>pfx</STRONG> causes the string to be transmitted to the com-
++ and <STRONG>pfx</STRONG> causes the string to be transmitted to the com-
+ puter.
+
+ The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of pro-
+- grammable screen labels and their width and height. If
+- there are commands to turn the labels on and off, give
+- them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is normally output after one
++ grammable screen labels and their width and height. If
++ there are commands to turn the labels on and off, give
++ them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is normally output after one
+ or more pln sequences to make sure that the change becomes
+ visible.
+
+
+ <STRONG>Tabs</STRONG> <STRONG>and</STRONG> <STRONG>Initialization</STRONG>
+- If the terminal has hardware tabs, the command to advance
+- to the next tab stop can be given as <STRONG>ht</STRONG> (usually control
+- I). A ``back-tab'' command which moves leftward to the
++ If the terminal has hardware tabs, the command to advance
++ to the next tab stop can be given as <STRONG>ht</STRONG> (usually control
++ I). A ``back-tab'' command which moves leftward to the
+ preceding tab stop can be given as <STRONG>cbt</STRONG>. By convention, if
+- the teletype modes indicate that tabs are being expanded
+- by the computer rather than being sent to the terminal,
+- programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are pre-
+- sent, since the user may not have the tab stops properly
+- set. If the terminal has hardware tabs which are ini-
++ the teletype modes indicate that tabs are being expanded
++ by the computer rather than being sent to the terminal,
++ programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are pre-
++ sent, since the user may not have the tab stops properly
++ set. If the terminal has hardware tabs which are ini-
+ tially set every <EM>n</EM> spaces when the terminal is powered up,
+- the numeric parameter <STRONG>it</STRONG> is given, showing the number of
+- spaces the tabs are set to. This is normally used by the
+- <EM>tset</EM> command to determine whether to set the mode for
+- hardware tab expansion, and whether to set the tab stops.
+- If the terminal has tab stops that can be saved in non-
+- volatile memory, the terminfo description can assume that
++ the numeric parameter <STRONG>it</STRONG> is given, showing the number of
++ spaces the tabs are set to. This is normally used by the
++ <EM>tset</EM> command to determine whether to set the mode for
++ hardware tab expansion, and whether to set the tab stops.
++ If the terminal has tab stops that can be saved in non-
++ volatile memory, the terminfo description can assume that
+ they are properly set.
+
+- Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initializa-
+- tion strings for the terminal, <STRONG>iprog</STRONG>, the path name of a
+- program to be run to initialize the terminal, and <STRONG>if</STRONG>, the
+- name of a file containing long initialization strings.
+- These strings are expected to set the terminal into modes
+- consistent with the rest of the terminfo description.
++ Other capabilities include <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initializa-
++ tion strings for the terminal, <STRONG>iprog</STRONG>, the path name of a
++ program to be run to initialize the terminal, and <STRONG>if</STRONG>, the
++ name of a file containing long initialization strings.
++ These strings are expected to set the terminal into modes
++ consistent with the rest of the terminfo description.
+ They are normally sent to the terminal, by the <EM>init</EM> option
+- of the <EM>tput</EM> program, each time the user logs in. They
+- will be printed in the following order: run the program
+- <STRONG>iprog</STRONG>; output <STRONG>is1</STRONG>; <STRONG>is2</STRONG>; set the margins using <STRONG>mgc</STRONG>, <STRONG>smgl</STRONG>
+- and <STRONG>smgr</STRONG>; set tabs using <STRONG>tbc</STRONG> and <STRONG>hts</STRONG>; print the file <STRONG>if</STRONG>;
++ of the <EM>tput</EM> program, each time the user logs in. They
++ will be printed in the following order: run the program
++ <STRONG>iprog</STRONG>; output <STRONG>is1</STRONG>; <STRONG>is2</STRONG>; set the margins using <STRONG>mgc</STRONG>, <STRONG>smgl</STRONG>
++ and <STRONG>smgr</STRONG>; set tabs using <STRONG>tbc</STRONG> and <STRONG>hts</STRONG>; print the file <STRONG>if</STRONG>;
+ and finally output <STRONG>is3</STRONG>.
+
+- Most initialization is done with <STRONG>is2</STRONG>. Special terminal
++ Most initialization is done with <STRONG>is2</STRONG>. Special terminal
+ modes can be set up without duplicating strings by putting
+- the common sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and
+- <STRONG>is3</STRONG>. A pair of sequences that does a harder reset from a
+- totally unknown state can be analogously given as <STRONG>rs1</STRONG>,
+- <STRONG>rs2</STRONG>, <STRONG>rf</STRONG>, and <STRONG>rs3</STRONG>, analogous to <STRONG>is2</STRONG> and <STRONG>if</STRONG>. These strings
+- are output by the <EM>reset</EM> program, which is used when the
+- terminal gets into a wedged state. Commands are normally
+- placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoy-
+- ing effects on the screen and are not necessary when log-
+- ging in. For example, the command to set the vt100 into
+- 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
+- causes an annoying glitch of the screen and is not nor-
+- mally needed since the terminal is usually already in 80
++ the common sequences in <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and
++ <STRONG>is3</STRONG>. A pair of sequences that does a harder reset from a
++ totally unknown state can be analogously given as <STRONG>rs1</STRONG>,
++ <STRONG>rs2</STRONG>, <STRONG>rf</STRONG>, and <STRONG>rs3</STRONG>, analogous to <STRONG>is2</STRONG> and <STRONG>if</STRONG>. These strings
++ are output by the <EM>reset</EM> program, which is used when the
++ terminal gets into a wedged state. Commands are normally
++ placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoy-
++ ing effects on the screen and are not necessary when log-
++ ging in. For example, the command to set the vt100 into
++ 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
++ causes an annoying glitch of the screen and is not nor-
++ mally needed since the terminal is usually already in 80
+ column mode.
+
+ If there are commands to set and clear tab stops, they can
+- be given as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab
+- stop in the current column of every row). If a more com-
+- plex sequence is needed to set the tabs than can be
+- described by this, the sequence can be placed in <STRONG>is2</STRONG> or
++ be given as <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab
++ stop in the current column of every row). If a more com-
++ plex sequence is needed to set the tabs than can be
++ described by this, the sequence can be placed in <STRONG>is2</STRONG> or
+ <STRONG>if</STRONG>.
+
+ <STRONG>Delays</STRONG> <STRONG>and</STRONG> <STRONG>Padding</STRONG>
+- Many older and slower terminals don't support either
++ Many older and slower terminals don't support either
+ XON/XOFF or DTR handshaking, including hard copy terminals
+- and some very archaic CRTs (including, for example, DEC
+- VT100s). These may require padding characters after cer-
++ and some very archaic CRTs (including, for example, DEC
++ VT100s). These may require padding characters after cer-
+ tain cursor motions and screen changes.
+
+ If the terminal uses xon/xoff handshaking for flow control
+- (that is, it automatically emits ^S back to the host when
++ (that is, it automatically emits ^S back to the host when
+ its input buffers are close to full), set <STRONG>xon</STRONG>. This capa-
+- bility suppresses the emission of padding. You can also
+- set it for memory-mapped console devices effectively that
+- don't have a speed limit. Padding information should
+- still be included so that routines can make better deci-
++ bility suppresses the emission of padding. You can also
++ set it for memory-mapped console devices effectively that
++ don't have a speed limit. Padding information should
++ still be included so that routines can make better deci-
+ sions about relative costs, but actual pad characters will
+ not be transmitted.
+
+- If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed
+- at baud rates below the value of <STRONG>pb</STRONG>. If the entry has no
+- padding baud rate, then whether padding is emitted or not
++ If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed
++ at baud rates below the value of <STRONG>pb</STRONG>. If the entry has no
++ padding baud rate, then whether padding is emitted or not
+ is completely controlled by <STRONG>xon</STRONG>.
+
+- If the terminal requires other than a null (zero) charac-
+- ter as a pad, then this can be given as <STRONG>pad</STRONG>. Only the
++ If the terminal requires other than a null (zero) charac-
++ ter as a pad, then this can be given as <STRONG>pad</STRONG>. Only the
+ first character of the <STRONG>pad</STRONG> string is used.
+
+
+ <STRONG>Status</STRONG> <STRONG>Lines</STRONG>
+- Some terminals have an extra `status line' which is not
+- normally used by software (and thus not counted in the
++ Some terminals have an extra `status line' which is not
++ normally used by software (and thus not counted in the
+ terminal's <STRONG>lines</STRONG> capability).
+
+- The simplest case is a status line which is cursor-
+- addressable but not part of the main scrolling region on
+- the screen; the Heathkit H19 has a status line of this
+- kind, as would a 24-line VT100 with a 23-line scrolling
+- region set up on initialization. This situation is indi-
++ The simplest case is a status line which is cursor-
++ addressable but not part of the main scrolling region on
++ the screen; the Heathkit H19 has a status line of this
++ kind, as would a 24-line VT100 with a 23-line scrolling
++ region set up on initialization. This situation is indi-
+ cated by the <STRONG>hs</STRONG> capability.
+
+ Some terminals with status lines need special sequences to
+- access the status line. These may be expressed as a
++ access the status line. These may be expressed as a
+ string with single parameter <STRONG>tsl</STRONG> which takes the cursor to
+- a given zero-origin column on the status line. The capa-
++ a given zero-origin column on the status line. The capa-
+ bility <STRONG>fsl</STRONG> must return to the main-screen cursor positions
+- before the last <STRONG>tsl</STRONG>. You may need to embed the string
+- values of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG>
++ before the last <STRONG>tsl</STRONG>. You may need to embed the string
++ values of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG>
+ and <STRONG>fsl</STRONG> to accomplish this.
+
+- The status line is normally assumed to be the same width
+- as the width of the terminal. If this is untrue, you can
++ The status line is normally assumed to be the same width
++ as the width of the terminal. If this is untrue, you can
+ specify it with the numeric capability <STRONG>wsl</STRONG>.
+
+- A command to erase or blank the status line may be speci-
++ A command to erase or blank the status line may be speci-
+ fied as <STRONG>dsl</STRONG>.
+
+- The boolean capability <STRONG>eslok</STRONG> specifies that escape
++ The boolean capability <STRONG>eslok</STRONG> specifies that escape
+ sequences, tabs, etc., work ordinarily in the status line.
+
+- The <STRONG>ncurses</STRONG> implementation does not yet use any of these
+- capabilities. They are documented here in case they ever
++ The <STRONG>ncurses</STRONG> implementation does not yet use any of these
++ capabilities. They are documented here in case they ever
+ become important.
+
+
+ <STRONG>Line</STRONG> <STRONG>Graphics</STRONG>
+- Many terminals have alternate character sets useful for
+- forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
+- the drawing characters supported by the VT100, with some
+- characters from the AT&amp;T 4410v1 added. This alternate
++ Many terminals have alternate character sets useful for
++ forms-drawing. Terminfo and <STRONG>curses</STRONG> build in support for
++ the drawing characters supported by the VT100, with some
++ characters from the AT&amp;T 4410v1 added. This alternate
+ character set may be specified by the <STRONG>acsc</STRONG> capability.
+
+ <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>VT100</STRONG>
+@@ -1803,6 +1838,7 @@
+ greater-than-or-equal-to ACS_GEQUAL &gt; z
+ greek pi ACS_PI * {
+ horizontal line ACS_HLINE - q
++
+ lantern symbol ACS_LANTERN # i
+ large plus or crossover ACS_PLUS + n
+ less-than-or-equal-to ACS_LEQUAL &lt; y
+@@ -1823,59 +1859,59 @@
+ upper right corner ACS_URCORNER + k
+ vertical line ACS_VLINE | x
+
+- The best way to define a new device's graphics set is to
+- add a column to a copy of this table for your terminal,
+- giving the character which (when emitted between
+- <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the correspond-
+- ing graphic. Then read off the VT100/your terminal char-
+- acter pairs right to left in sequence; these become the
++ The best way to define a new device's graphics set is to
++ add a column to a copy of this table for your terminal,
++ giving the character which (when emitted between
++ <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the correspond-
++ ing graphic. Then read off the VT100/your terminal char-
++ acter pairs right to left in sequence; these become the
+ ACSC string.
+
+
+ <STRONG>Color</STRONG> <STRONG>Handling</STRONG>
+- Most color terminals are either `Tektronix-like' or `HP-
+- like'. Tektronix-like terminals have a predefined set of
+- N colors (where N usually 8), and can set character-cell
++ Most color terminals are either `Tektronix-like' or `HP-
++ like'. Tektronix-like terminals have a predefined set of
++ N colors (where N usually 8), and can set character-cell
+ foreground and background characters independently, mixing
+- them into N * N color-pairs. On HP-like terminals, the
++ them into N * N color-pairs. On HP-like terminals, the
+ use must set each color pair up separately (foreground and
+- background are not independently settable). Up to M
+- color-pairs may be set up from 2*M different colors.
++ background are not independently settable). Up to M
++ color-pairs may be set up from 2*M different colors.
+ ANSI-compatible terminals are Tektronix-like.
+
+ Some basic color capabilities are independent of the color
+ method. The numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify
+- the maximum numbers of colors and color-pairs that can be
+- displayed simultaneously. The <STRONG>op</STRONG> (original pair) string
+- resets foreground and background colors to their default
+- values for the terminal. The <STRONG>oc</STRONG> string resets all colors
+- or color-pairs to their default values for the terminal.
+- Some terminals (including many PC terminal emulators)
+- erase screen areas with the current background color
+- rather than the power-up default background; these should
++ the maximum numbers of colors and color-pairs that can be
++ displayed simultaneously. The <STRONG>op</STRONG> (original pair) string
++ resets foreground and background colors to their default
++ values for the terminal. The <STRONG>oc</STRONG> string resets all colors
++ or color-pairs to their default values for the terminal.
++ Some terminals (including many PC terminal emulators)
++ erase screen areas with the current background color
++ rather than the power-up default background; these should
+ have the boolean capability <STRONG>bce</STRONG>.
+
+- To change the current foreground or background color on a
+- Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground)
+- and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
+- and <STRONG>setb</STRONG> (set background). These take one parameter, the
++ To change the current foreground or background color on a
++ Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground)
++ and <STRONG>setab</STRONG> (set ANSI background) or <STRONG>setf</STRONG> (set foreground)
++ and <STRONG>setb</STRONG> (set background). These take one parameter, the
+ color number. The SVr4 documentation describes only
+- <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that "If the terminal
++ <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that "If the terminal
+ supports ANSI escape sequences to set background and fore-
+- ground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
+- tively. If the terminal supports other escape sequences
+- to set background and foreground, they should be coded as
+- <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively. The <EM>vidputs()</EM> function and
+- the refresh functions use <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> if they are
++ ground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>, respec-
++ tively. If the terminal supports other escape sequences
++ to set background and foreground, they should be coded as
++ <STRONG>setf</STRONG> and <STRONG>setb</STRONG>, respectively. The <EM>vidputs()</EM> function and
++ the refresh functions use <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> if they are
+ defined."
+
+- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
+- numeric argument each. Argument values 0-7 are portably
+- defined as follows (the middle column is the symbolic
+- #define available in the header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG>
+- libraries). The terminal hardware is free to map these as
+- it likes, but the RGB values indicate normal locations in
+- color space.
++ The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single
++ numeric argument each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>
++ are portably defined as follows (the middle column is the
++ symbolic #define available in the header for the <STRONG>curses</STRONG> or
++ <STRONG>ncurses</STRONG> libraries). The terminal hardware is free to map
++ these as it likes, but the RGB values indicate normal
++ locations in color space.
+
+ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
+ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
+@@ -1887,6 +1923,21 @@
+ cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
+ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+
++ The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond
++ to a different mapping, i.e.,
++ <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
++ black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
++ blue <STRONG>COLOR_BLUE</STRONG> 1 0,0,max
++ green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
++ cyan <STRONG>COLOR_CYAN</STRONG> 3 0,max,max
++ red <STRONG>COLOR_RED</STRONG> 4 max,0,0
++ magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
++ yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
++ white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
++ It is important to not confuse the two sets of color capa-
++ bilities; otherwise red/blue will be interchanged on the
++ display.
++
+ On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number
+ parameter to set which color pair is current.
+
+@@ -2005,7 +2056,6 @@
+ text, including <STRONG>mc4</STRONG>, is transparently passed to the
+ printer while an <STRONG>mc5p</STRONG> is in effect.
+
+-
+ <STRONG>Glitches</STRONG> <STRONG>and</STRONG> <STRONG>Braindamage</STRONG>
+ Hazeltine terminals, which do not allow `~' characters to
+ be displayed should indicate <STRONG>hz</STRONG>.
+@@ -2055,6 +2105,7 @@
+ A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of
+ the use reference that imports it, where <EM>xx</EM> is the capa-
+ bility. For example, the entry
++
+ 2621-nl, smkx@, rmkx@, use=2621,
+
+ defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG>
+@@ -2222,12 +2273,12 @@
+ descriptions
+
+
+-
+ </PRE>
+ <H2>SEE ALSO</H2><PRE>
+ <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="printf.3S.html">printf(3S)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
+
+
++
+ </PRE>
+ <H2>AUTHORS</H2><PRE>
+ Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
+@@ -2235,6 +2286,9 @@
+
+
+
++
++
++
+
+
+
+diff -urNd -urNd ncurses-5.3/doc/html/man/tic.1m.html ncurses-5.3.20030906.orig/doc/html/man/tic.1m.html
+--- ncurses-5.3/doc/html/man/tic.1m.html Sat Oct 12 18:28:15 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/tic.1m.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tic.1m,v 1.33 2002/10/05 20:06:13 tom Exp @
++ * @Id: tic.1m,v 1.35 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -85,7 +85,7 @@
+ entries as user-defined names.
+
+ <STRONG>-C</STRONG> Force source translation to termcap format. Note:
+- this differs from the -C option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
++ this differs from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in
+ that it does not merely translate capability names,
+ but also translates terminfo strings to termcap
+ format. Capabilities that are not translatable are
+@@ -110,7 +110,7 @@
+ it. The option value is interpreted as a file con-
+ taining the list if it contains a '/'. (Note:
+ depending on how tic was compiled, this option may
+- require -I or -C.)
++ require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
+
+ <STRONG>-f</STRONG> Display complex terminfo strings which contain
+ if/then/else/endif expressions indented for read-
+@@ -277,7 +277,7 @@
+
+ The <STRONG>-C</STRONG>, <STRONG>-G</STRONG>, <STRONG>-I</STRONG>, <STRONG>-N</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-o</STRONG>, <STRONG>-r</STRONG>,
+ <STRONG>-s</STRONG>, <STRONG>-t</STRONG> and <STRONG>-x</STRONG> options are not supported under SVr4. The
+- SVr4 -c mode does not report bad use links.
++ SVr4 <STRONG>-c</STRONG> mode does not report bad use links.
+
+ System V does not compile entries to or read entries from
+ your <EM>$HOME/.terminfo</EM> directory unless TERMINFO is explic-
+diff -urNd -urNd ncurses-5.3/doc/html/man/toe.1m.html ncurses-5.3.20030906.orig/doc/html/man/toe.1m.html
+--- ncurses-5.3/doc/html/man/toe.1m.html Sat Jun 22 16:25:46 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/toe.1m.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: toe.1m,v 1.10 2000/08/19 18:51:05 tom Exp @
++ * @Id: toe.1m,v 1.12 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -57,7 +57,7 @@
+ primary name with descriptions. File arguments specify
+ the directories to be scanned; if no such arguments are
+ given, your default terminfo directory is scanned. If you
+- also specify the -h option, a directory header will be
++ also specify the <STRONG>-h</STRONG> option, a directory header will be
+ issued as each directory is entered.
+
+ There are other options intended for use by terminfo file
+diff -urNd -urNd ncurses-5.3/doc/html/man/tput.1.html ncurses-5.3.20030906.orig/doc/html/man/tput.1.html
+--- ncurses-5.3/doc/html/man/tput.1.html Sat Oct 12 18:28:16 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/tput.1.html Sun Jul 20 14:02:08 2003
+@@ -2,7 +2,7 @@
+ <!--
+ * t
+ ****************************************************************************
+- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tput.1,v 1.18 2002/10/12 13:53:20 tom Exp @
++ * @Id: tput.1,v 1.20 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+diff -urNd -urNd ncurses-5.3/doc/html/man/tset.1.html ncurses-5.3.20030906.orig/doc/html/man/tset.1.html
+--- ncurses-5.3/doc/html/man/tset.1.html Sat Jun 22 16:25:47 2002
++++ ncurses-5.3.20030906.orig/doc/html/man/tset.1.html Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+ <!--
+ ****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+- * @Id: tset.1,v 1.12 2000/09/09 20:33:07 tom Exp @
++ * @Id: tset.1,v 1.13 2003/05/11 00:32:53 tom Exp @
+ -->
+ <HTML>
+ <HEAD>
+@@ -73,7 +73,7 @@
+ 4. The default terminal type, ``unknown''.
+
+ If the terminal type was not specified on the command-
+- line, the -m option mappings are then applied (see below
++ line, the <STRONG>-m</STRONG> option mappings are then applied (see below
+ for more information). Then, if the terminal type begins
+ with a question mark (``?''), the user is prompted for
+ confirmation of the terminal type. An empty response con-
+@@ -108,36 +108,36 @@
+
+ The options are as follows:
+
+- -q The terminal type is displayed to the standard out-
++ <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
+ put, and the terminal is not initialized in any way.
+ The option `-' by itself is equivalent but archaic.
+
+- -e Set the erase character to <EM>ch</EM>.
++ <STRONG>-e</STRONG> Set the erase character to <EM>ch</EM>.
+
+- -I Do not send the terminal or tab initialization
++ <STRONG>-I</STRONG> Do not send the terminal or tab initialization
+ strings to the terminal.
+
+- -Q Don't display any values for the erase, interrupt and
++ <STRONG>-Q</STRONG> Don't display any values for the erase, interrupt and
+ line kill characters.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this
+ program, and exits.
+
+- -i Set the interrupt character to <EM>ch</EM>.
++ <STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>.
+
+- -k Set the line kill character to <EM>ch</EM>.
++ <STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>.
+
+- -m Specify a mapping from a port type to a terminal.
++ <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
+ See below for more information.
+
+- -r Print the terminal type to the standard error output.
++ <STRONG>-r</STRONG> Print the terminal type to the standard error output.
+
+- -s Print the sequence of shell commands to initialize
++ <STRONG>-s</STRONG> Print the sequence of shell commands to initialize
+ the environment variable <STRONG>TERM</STRONG> to the standard output.
+ See the section below on setting the environment for
+ details.
+
+- The arguments for the -e, -i, and -k options may either be
++ The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
+ entered as actual characters or by using the `hat' nota-
+ tion, i.e. control-h may be specified as ``^H'' or ``^h''.
+
+@@ -146,9 +146,9 @@
+ <H2>SETTING THE ENVIRONMENT</H2><PRE>
+ It is often desirable to enter the terminal type and
+ information about the terminal's capabilities into the
+- shell's environment. This is done using the -s option.
++ shell's environment. This is done using the <STRONG>-s</STRONG> option.
+
+- When the -s option is specified, the commands to enter the
++ When the <STRONG>-s</STRONG> option is specified, the commands to enter the
+ information into the shell's environment are written to
+ the standard output. If the <STRONG>SHELL</STRONG> environmental variable
+ ends in ``csh'', the commands are for <STRONG>csh</STRONG>, otherwise, they
+@@ -171,12 +171,12 @@
+ often desirable to provide information about the type of
+ terminal used on such ports.
+
+- The purpose of the -m option is to map from some set of
++ The purpose of the <STRONG>-m</STRONG> option is to map from some set of
+ conditions to a terminal type, that is, to tell <STRONG>tset</STRONG> ``If
+ I'm on this port at a particular speed, guess that I'm on
+ that kind of terminal''.
+
+- The argument to the -m option consists of an optional port
++ The argument to the <STRONG>-m</STRONG> option consists of an optional port
+ type, an optional operator, an optional baud rate specifi-
+ cation, an optional colon (``:'') character and a terminal
+ type. The port type is a string (delimited by either the
+@@ -189,7 +189,7 @@
+ terminal). The terminal type is a string.
+
+ If the terminal type is not specified on the command line,
+- the -m mappings are applied to the terminal type. If the
++ the <STRONG>-m</STRONG> mappings are applied to the terminal type. If the
+ port type and baud rate match the mapping, the terminal
+ type specified in the mapping replaces the current type.
+ If more than one mapping is specified, the first applica-
+@@ -213,9 +213,9 @@
+ user will be queried on a default port as to whether they
+ are actually using an xterm terminal.
+
+- No whitespace characters are permitted in the -m option
++ No whitespace characters are permitted in the <STRONG>-m</STRONG> option
+ argument. Also, to avoid problems with meta-characters,
+- it is suggested that the entire -m option argument be
++ it is suggested that the entire <STRONG>-m</STRONG> option argument be
+ placed within single quote characters, and that <STRONG>csh</STRONG> users
+ insert a backslash character (``\'') before any exclama-
+ tion marks (``!'').
+@@ -238,8 +238,8 @@
+ important use). This implementation behaves like 4.4BSD
+ tset, with a few exceptions specified here.
+
+- The -S option of BSD tset no longer works; it prints an
+- error message to stderr and dies. The -s option only sets
++ The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an
++ error message to stderr and dies. The <STRONG>-s</STRONG> option only sets
+ <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both these changes are because the
+ <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo-
+ based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
+@@ -250,28 +250,28 @@
+ ning with an upper-case letter) set the terminal to use
+ upper-case only. This feature has been omitted.
+
+- The -A, -E, -h, -u and -v options were deleted from the
+- <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
+- 4.3BSD and all are of limited utility at best. The -a, -d,
+- and -p options are similarly not documented or useful, but
+- were retained as they appear to be in widespread use. It
+- is strongly recommended that any usage of these three
+- options be changed to use the -m option instead. The -n
+- option remains, but has no effect. The -adnp options are
+- therefore omitted from the usage summary above.
++ The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the
++ <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
++ 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>, -,
++ and -
++ options are similarly not documented or useful, but were
++ retained as they appear to be in widespread use. It is
++ strongly recommended that any usage of these three options
++ be changed to use the <STRONG>-m</STRONG> option instead. The -n option
++ remains, but has no effect. The <STRONG>-adnp</STRONG> options are there-
++ fore omitted from the usage summary above.
+
+- It is still permissible to specify the -e, -i, and -k
+- options without arguments, although it is strongly recom-
+- mended that such usage be fixed to explicitly specify the
++ It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
++ options without arguments, although it is strongly recom-
++ mended that such usage be fixed to explicitly specify the
+ character.
+
+- As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
+- the -Q option. Also, the interaction between the - option
++ As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
++ the <STRONG>-Q</STRONG> option. Also, the interaction between the - option
+ and the <EM>terminal</EM> argument in some historic implementations
+ of <STRONG>tset</STRONG> has been removed.
+
+
+-
+ </PRE>
+ <H2>ENVIRONMENT</H2><PRE>
+ The <STRONG>tset</STRONG> command uses the <STRONG>SHELL</STRONG> and <STRONG>TERM</STRONG> environment vari-
+@@ -281,7 +281,7 @@
+ </PRE>
+ <H2>FILES</H2><PRE>
+ /etc/ttys
+- system port name to terminal type mapping database
++ system port name to terminal type mapping database
+ (BSD versions only).
+
+ /usr/share/terminfo
+diff -urNd -urNd ncurses-5.3/form/Makefile.in ncurses-5.3.20030906.orig/form/Makefile.in
+--- ncurses-5.3/form/Makefile.in Sat Jan 19 19:49:17 2002
++++ ncurses-5.3.20030906.orig/form/Makefile.in Fri Sep 12 16:42:40 2003
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.36 2002/01/20 01:49:17 tom Exp $
++# $Id: Makefile.in,v 1.39 2003/08/23 23:25:01 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -55,6 +55,11 @@
+ includedir = @includedir@
+
+ LIBTOOL = @LIBTOOL@
++LIBTOOL_CLEAN = @LIB_CLEAN@
++LIBTOOL_COMPILE = @LIB_COMPILE@
++LIBTOOL_LINK = @LIB_LINK@
++LIBTOOL_INSTALL = @LIB_INSTALL@
++LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
+
+ INSTALL = @INSTALL@
+ INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
+@@ -84,7 +89,7 @@
+
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+-LINK = $(LIBTOOL) $(CC)
++LINK = $(LIBTOOL_LINK) $(CC)
+ LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
+
+ SHLIB_DIRS = -L../lib
+@@ -97,7 +102,7 @@
+ REL_VERSION = @cf_cv_rel_version@
+ ABI_VERSION = @cf_cv_abi_version@
+
+-RANLIB = @RANLIB@
++RANLIB = @LIB_PREP@
+
+ IMPORT_LIB = @IMPORT_LIB@
+ SHARED_LIB = @SHARED_LIB@
+diff -urNd -urNd ncurses-5.3/form/form.h ncurses-5.3.20030906.orig/form/form.h
+--- ncurses-5.3/form/form.h Sat Jul 13 06:35:08 2002
++++ ncurses-5.3.20030906.orig/form/form.h Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -31,6 +31,8 @@
+ * Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en *
+ ****************************************************************************/
+
++/* $Id: form.h,v 0.15 2003/05/03 21:59:32 tom Exp $ */
++
+ #ifndef FORM_H
+ #define FORM_H
+
+@@ -208,7 +210,7 @@
+ #define REQ_DEL_CHAR (KEY_MAX + 34) /* delete char at cursor */
+ #define REQ_DEL_PREV (KEY_MAX + 35) /* delete char before cursor */
+ #define REQ_DEL_LINE (KEY_MAX + 36) /* delete line at cursor */
+-#define REQ_DEL_WORD (KEY_MAX + 37) /* delete line at cursor */
++#define REQ_DEL_WORD (KEY_MAX + 37) /* delete word at cursor */
+ #define REQ_CLR_EOL (KEY_MAX + 38) /* clear to end of line */
+ #define REQ_CLR_EOF (KEY_MAX + 39) /* clear to end of field */
+ #define REQ_CLR_FIELD (KEY_MAX + 40) /* clear entire field */
+diff -urNd -urNd ncurses-5.3/form/frm_driver.c ncurses-5.3.20030906.orig/form/frm_driver.c
+--- ncurses-5.3/form/frm_driver.c Sat Jul 6 10:33:27 2002
++++ ncurses-5.3.20030906.orig/form/frm_driver.c Tue May 13 20:08:22 2003
+@@ -32,7 +32,7 @@
+ ****************************************************************************/
+ #include "form.priv.h"
+
+-MODULE_ID("$Id: frm_driver.c,v 1.39 2002/07/06 15:33:27 juergen Exp $")
++MODULE_ID("$Id: frm_driver.c,v 1.42 2003/05/03 23:05:21 tom Exp $")
+
+ /*----------------------------------------------------------------------------
+ This is the core module of the form library. It contains the majority
+@@ -42,7 +42,7 @@
+ all the functions in this module depends on some others in the module,
+ so it makes no sense to split them into separate files because they
+ will always be linked together. The only acceptable concern is turnaround
+- time for this module, but now we have all Pentiums or Riscs, so what!
++ time for this module, but now we have all Pentiums or RISCs, so what!
+
+ The driver routines are grouped into nine generic categories:
+
+@@ -55,10 +55,10 @@
+ c) Intra-Field Navigation ( all functions prefixed by IFN_ )
+ The current position in the current field is changed.
+ d) Vertical Scrolling ( all functions prefixed by VSC_ )
+- Esseantially this is a specialization of Intra-Field navigation.
++ Essentially this is a specialization of Intra-Field navigation.
+ It has to check for a multi-line field.
+ e) Horizontal Scrolling ( all functions prefixed by HSC_ )
+- Esseantially this is a specialization of Intra-Field navigation.
++ Essentially this is a specialization of Intra-Field navigation.
+ It has to check for a single-line field.
+ f) Field Editing ( all functions prefixed by FE_ )
+ The content of the current field is changed
+@@ -79,11 +79,11 @@
+
+ /*
+ Some options that may effect compatibility in behavior to SVr4 forms,
+-but they are here to allow a more intuitive and user friendly behaviour of
++but they are here to allow a more intuitive and user friendly behavior of
+ our form implementation. This doesn't affect the API, so we feel it is
+ uncritical.
+
+-The initial implementation tries to stay very close with the behaviour
++The initial implementation tries to stay very close with the behavior
+ of the original SVr4 implementation, although in some areas it is quite
+ clear that this isn't the most appropriate way. As far as possible this
+ sources will allow you to build a forms lib that behaves quite similar
+@@ -91,9 +91,9 @@
+ Perhaps at some time we will make this configurable at runtime.
+ */
+
+-/* Implement a more user-friendly previous/next word behaviour */
++/* Implement a more user-friendly previous/next word behavior */
+ #define FRIENDLY_PREV_NEXT_WORD (1)
+-/* Fix the wrong behaviour for forms with all fields inactive */
++/* Fix the wrong behavior for forms with all fields inactive */
+ #define FIX_FORM_INACTIVE_BUG (1)
+ /* Allow dynamic field growth also when navigating past the end */
+ #define GROW_IF_NAVIGATE (1)
+@@ -918,7 +918,7 @@
+ |
+ | Description : Propagate the Synchronize_Field function to all linked
+ | fields. The first error that occurs in the sequence
+-| of updates is the returnvalue.
++| of updates is the return value.
+ |
+ | Return Values : E_OK - success
+ | E_BAD_ARGUMENT - invalid field pointer
+@@ -1012,7 +1012,7 @@
+ |
+ | Description : If a fields options have changed, this routine is
+ | called to propagate these changes to the screen and
+-| to really change the behaviour of the field.
++| to really change the behavior of the field.
+ |
+ | Return Values : E_OK - success
+ | E_BAD_ARGUMENT - invalid field pointer
+@@ -1089,7 +1089,7 @@
+ (!single_line_field && (field->drows < field->maxgrow)))
+ {
+ field->status |= _MAY_GROW;
+- /* a field with justification now changes its behaviour,
++ /* a field with justification now changes its behavior,
+ so we must redisplay it */
+ if (single_line_field &&
+ (field->just != NO_JUSTIFICATION) &&
+@@ -2141,7 +2141,7 @@
+ int res = E_REQUEST_DENIED;
+
+ /* We have to deal here with the specific case of the overloaded
+- behaviour of New_Line and Delete_Previous requests.
++ behavior of New_Line and Delete_Previous requests.
+ They may end up in navigational requests if we are on the first
+ character in a field. But navigation is also allowed on non-
+ editable fields.
+@@ -2205,6 +2205,7 @@
+ {
+ if (!(form->opts & O_NL_OVERLOAD))
+ return(E_REQUEST_DENIED);
++ wmove(form->w,form->currow,form->curcol);
+ wclrtoeol(form->w);
+ /* we have to set this here, although it is also
+ handled in the generic routine. The reason is,
+@@ -2221,6 +2222,7 @@
+ a single-line field */
+ return(E_SYSTEM_ERROR);
+ }
++ wmove(form->w,form->currow,form->curcol);
+ wclrtoeol(form->w);
+ form->currow++;
+ form->curcol = 0;
+@@ -2248,6 +2250,7 @@
+
+ bp= Address_Of_Current_Position_In_Buffer(form);
+ t = After_End_Of_Data(bp,field->dcols - form->curcol);
++ wmove(form->w,form->currow,form->curcol);
+ wclrtoeol(form->w);
+ form->currow++;
+ form->curcol=0;
+@@ -2338,6 +2341,7 @@
+ +--------------------------------------------------------------------------*/
+ static int FE_Delete_Character(FORM * form)
+ {
++ wmove(form->w,form->currow,form->curcol);
+ wdelch(form->w);
+ return E_OK;
+ }
+@@ -2378,6 +2382,7 @@
+ if ((int)(this_end-this_line) >
+ (field->cols-(int)(prev_end-prev_line)))
+ return E_REQUEST_DENIED;
++ wmove(form->w,form->currow,form->curcol);
+ wdeleteln(form->w);
+ Adjust_Cursor_Position(form,prev_end);
+ wmove(form->w,form->currow,form->curcol);
+@@ -2455,20 +2460,22 @@
+ +--------------------------------------------------------------------------*/
+ static int FE_Clear_To_End_Of_Line(FORM * form)
+ {
++ wmove(form->w,form->currow,form->curcol);
+ wclrtoeol(form->w);
+ return E_OK;
+ }
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+-| Function : static int FE_Clear_To_End_Of_Form(FORM * form)
++| Function : static int FE_Clear_To_End_Of_Field(FORM * form)
+ |
+-| Description : Clear to end of form.
++| Description : Clear to end of field.
+ |
+ | Return Values : E_OK - success
+ +--------------------------------------------------------------------------*/
+-static int FE_Clear_To_End_Of_Form(FORM * form)
++static int FE_Clear_To_End_Of_Field(FORM * form)
+ {
++ wmove(form->w,form->currow,form->curcol);
+ wclrtobot(form->w);
+ return E_OK;
+ }
+@@ -3053,7 +3060,7 @@
+ | int (* const fct) (FORM *),
+ | FORM * form)
+ |
+-| Description : Generic behaviour for changing the current field, the
++| Description : Generic behavior for changing the current field, the
+ | field is left and a new field is entered. So the field
+ | must be validated and the field init/term hooks must
+ | be called.
+@@ -3366,7 +3373,7 @@
+ | int (* const fct) (FORM *),
+ | FORM * form)
+ |
+-| Description : Generic behaviour for changing a page. This means
++| Description : Generic behavior for changing a page. This means
+ | that the field is left and a new field is entered.
+ | So the field must be validated and the field init/term
+ | hooks must be called. Because also the page is changed,
+@@ -3598,7 +3605,7 @@
+ { REQ_DEL_LINE |ID_FE ,FE_Delete_Line},
+ { REQ_DEL_WORD |ID_FE ,FE_Delete_Word},
+ { REQ_CLR_EOL |ID_FE ,FE_Clear_To_End_Of_Line},
+- { REQ_CLR_EOF |ID_FE ,FE_Clear_To_End_Of_Form},
++ { REQ_CLR_EOF |ID_FE ,FE_Clear_To_End_Of_Field},
+ { REQ_CLR_FIELD |ID_FE ,FE_Clear_Field},
+
+ { REQ_OVL_MODE |ID_EM ,EM_Overlay_Mode},
+diff -urNd -urNd ncurses-5.3/include/MKkey_defs.sh ncurses-5.3.20030906.orig/include/MKkey_defs.sh
+--- ncurses-5.3/include/MKkey_defs.sh Sat Sep 28 18:32:16 2002
++++ ncurses-5.3.20030906.orig/include/MKkey_defs.sh Tue May 13 20:08:22 2003
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# $Id: MKkey_defs.sh,v 1.10 2002/09/28 23:32:16 tom Exp $
++# $Id: MKkey_defs.sh,v 1.11 2003/01/11 22:20:40 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -49,10 +49,10 @@
+ if sort -k 6 $DATA >$data 2>/dev/null
+ then
+ # POSIX
+- sed -e 's/[ ]\+/ /g' < $DATA |sort -n -k 6 >$data
++ sed -e 's/[ ][ ]*/ /g' < $DATA |sort -n -k 6 >$data
+ else
+ # SunOS (and SVr4, marked as obsolete but still recognized)
+- sed -e 's/[ ]\+/ /g' < $DATA |sort -n +5 >$data
++ sed -e 's/[ ][ ]*/ /g' < $DATA |sort -n +5 >$data
+ fi
+
+ # add keys that we generate automatically:
+diff -urNd -urNd ncurses-5.3/include/curses.h.in ncurses-5.3.20030906.orig/include/curses.h.in
+--- ncurses-5.3/include/curses.h.in Sat Sep 28 10:08:06 2002
++++ ncurses-5.3.20030906.orig/include/curses.h.in Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+ * and: Thomas E. Dickey 1996-on *
+ ****************************************************************************/
+
+-/* $Id: curses.h.in,v 1.134 2002/09/28 15:08:06 tom Exp $ */
++/* $Id: curses.h.in,v 1.145 2003/06/15 23:42:18 tom Exp $ */
+
+ #ifndef __NCURSES_H
+ #define __NCURSES_H
+@@ -125,7 +125,7 @@
+
+ typedef @cf_cv_type_of_bool@ NCURSES_BOOL;
+
+-#if (!defined(__cplusplus) || !@cf_cv_builtin_bool@) && (!@cf_cv_cc_bool_type@)
++#if @USE_CXX_BOOL@ /* !__cplusplus, etc. */
+
+ #if @cf_cv_header_stdbool_h@
+ #include <stdbool.h>
+@@ -136,7 +136,7 @@
+ #if @cf_cv_header_stdbool_h@
+ #define bool NCURSES_BOOL
+ #else
+-typedef @cf_cv_type_of_bool@ bool;
++typedef NCURSES_BOOL bool;
+ #endif
+
+ #endif /* !__cplusplus, etc. */
+@@ -189,45 +189,47 @@
+ extern NCURSES_EXPORT_VAR(chtype) acs_map[];
+ #endif
+
++#define NCURSES_ACS(c) (acs_map[(unsigned char)c])
++
+ /* VT100 symbols begin here */
+-#define ACS_ULCORNER (acs_map['l']) /* upper left corner */
+-#define ACS_LLCORNER (acs_map['m']) /* lower left corner */
+-#define ACS_URCORNER (acs_map['k']) /* upper right corner */
+-#define ACS_LRCORNER (acs_map['j']) /* lower right corner */
+-#define ACS_LTEE (acs_map['t']) /* tee pointing right */
+-#define ACS_RTEE (acs_map['u']) /* tee pointing left */
+-#define ACS_BTEE (acs_map['v']) /* tee pointing up */
+-#define ACS_TTEE (acs_map['w']) /* tee pointing down */
+-#define ACS_HLINE (acs_map['q']) /* horizontal line */
+-#define ACS_VLINE (acs_map['x']) /* vertical line */
+-#define ACS_PLUS (acs_map['n']) /* large plus or crossover */
+-#define ACS_S1 (acs_map['o']) /* scan line 1 */
+-#define ACS_S9 (acs_map['s']) /* scan line 9 */
+-#define ACS_DIAMOND (acs_map['`']) /* diamond */
+-#define ACS_CKBOARD (acs_map['a']) /* checker board (stipple) */
+-#define ACS_DEGREE (acs_map['f']) /* degree symbol */
+-#define ACS_PLMINUS (acs_map['g']) /* plus/minus */
+-#define ACS_BULLET (acs_map['~']) /* bullet */
++#define ACS_ULCORNER NCURSES_ACS('l') /* upper left corner */
++#define ACS_LLCORNER NCURSES_ACS('m') /* lower left corner */
++#define ACS_URCORNER NCURSES_ACS('k') /* upper right corner */
++#define ACS_LRCORNER NCURSES_ACS('j') /* lower right corner */
++#define ACS_LTEE NCURSES_ACS('t') /* tee pointing right */
++#define ACS_RTEE NCURSES_ACS('u') /* tee pointing left */
++#define ACS_BTEE NCURSES_ACS('v') /* tee pointing up */
++#define ACS_TTEE NCURSES_ACS('w') /* tee pointing down */
++#define ACS_HLINE NCURSES_ACS('q') /* horizontal line */
++#define ACS_VLINE NCURSES_ACS('x') /* vertical line */
++#define ACS_PLUS NCURSES_ACS('n') /* large plus or crossover */
++#define ACS_S1 NCURSES_ACS('o') /* scan line 1 */
++#define ACS_S9 NCURSES_ACS('s') /* scan line 9 */
++#define ACS_DIAMOND NCURSES_ACS('`') /* diamond */
++#define ACS_CKBOARD NCURSES_ACS('a') /* checker board (stipple) */
++#define ACS_DEGREE NCURSES_ACS('f') /* degree symbol */
++#define ACS_PLMINUS NCURSES_ACS('g') /* plus/minus */
++#define ACS_BULLET NCURSES_ACS('~') /* bullet */
+ /* Teletype 5410v1 symbols begin here */
+-#define ACS_LARROW (acs_map[',']) /* arrow pointing left */
+-#define ACS_RARROW (acs_map['+']) /* arrow pointing right */
+-#define ACS_DARROW (acs_map['.']) /* arrow pointing down */
+-#define ACS_UARROW (acs_map['-']) /* arrow pointing up */
+-#define ACS_BOARD (acs_map['h']) /* board of squares */
+-#define ACS_LANTERN (acs_map['i']) /* lantern symbol */
+-#define ACS_BLOCK (acs_map['0']) /* solid square block */
++#define ACS_LARROW NCURSES_ACS(',') /* arrow pointing left */
++#define ACS_RARROW NCURSES_ACS('+') /* arrow pointing right */
++#define ACS_DARROW NCURSES_ACS('.') /* arrow pointing down */
++#define ACS_UARROW NCURSES_ACS('-') /* arrow pointing up */
++#define ACS_BOARD NCURSES_ACS('h') /* board of squares */
++#define ACS_LANTERN NCURSES_ACS('i') /* lantern symbol */
++#define ACS_BLOCK NCURSES_ACS('0') /* solid square block */
+ /*
+ * These aren't documented, but a lot of System Vs have them anyway
+ * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
+ * The ACS_names may not match AT&T's, our source didn't know them.
+ */
+-#define ACS_S3 (acs_map['p']) /* scan line 3 */
+-#define ACS_S7 (acs_map['r']) /* scan line 7 */
+-#define ACS_LEQUAL (acs_map['y']) /* less/equal */
+-#define ACS_GEQUAL (acs_map['z']) /* greater/equal */
+-#define ACS_PI (acs_map['{']) /* Pi */
+-#define ACS_NEQUAL (acs_map['|']) /* not equal */
+-#define ACS_STERLING (acs_map['}']) /* UK pound sign */
++#define ACS_S3 NCURSES_ACS('p') /* scan line 3 */
++#define ACS_S7 NCURSES_ACS('r') /* scan line 7 */
++#define ACS_LEQUAL NCURSES_ACS('y') /* less/equal */
++#define ACS_GEQUAL NCURSES_ACS('z') /* greater/equal */
++#define ACS_PI NCURSES_ACS('{') /* Pi */
++#define ACS_NEQUAL NCURSES_ACS('|') /* not equal */
++#define ACS_STERLING NCURSES_ACS('}') /* UK pound sign */
+
+ /*
+ * Line drawing ACS names are of the form ACS_trbl, where t is the top, r
+@@ -286,20 +288,19 @@
+ #undef mblen
+ #endif
+ #include <libutf8.h>
+-#define _WCHAR_T
+-#define _WINT_T
+ #endif
+
+-#if @NCURSES_MBSTATE_T@
++#if @NEED_WCHAR_H@
+ #include <wchar.h> /* ...to get mbstate_t, etc. */
+ #endif
+
+-#ifndef _WCHAR_T
+-typedef unsigned long wchar_t;
+-#endif /* _WCHAR_T */
+-#ifndef _WINT_T
+-typedef long int wint_t;
+-#endif /* _WINT_T */
++#if @NCURSES_WCHAR_T@
++typedef unsigned short wchar_t@NCURSES_OK_WCHAR_T@;
++#endif
++
++#if @NCURSES_WINT_T@
++typedef unsigned int wint_t@NCURSES_OK_WCHAR_T@;
++#endif
+
+ #define CCHARW_MAX 5
+ typedef struct
+@@ -388,7 +389,8 @@
+ extern NCURSES_EXPORT(char *) keybound (int, int);
+ extern NCURSES_EXPORT(const char *) curses_version (void);
+ extern NCURSES_EXPORT(int) assume_default_colors (int, int);
+-extern NCURSES_EXPORT(int) define_key (char *, int);
++extern NCURSES_EXPORT(int) define_key (const char *, int);
++extern NCURSES_EXPORT(int) key_defined (const char *);
+ extern NCURSES_EXPORT(int) keyok (int, bool);
+ extern NCURSES_EXPORT(int) resize_term (int, int);
+ extern NCURSES_EXPORT(int) resizeterm (int, int);
+@@ -451,24 +453,14 @@
+ * GCC (and some other compilers) define '__attribute__'; we're using this
+ * macro to alert the compiler to flag inconsistencies in printf/scanf-like
+ * function calls. Just in case '__attribute__' isn't defined, make a dummy.
+- * G++ doesn't accept it anyway.
++ * Old versions of G++ do not accept it anyway, at least not consistently with
++ * GCC.
+ */
+-#if !defined(__GNUC__) && !defined(__attribute__)
++#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__))
+ #define __attribute__(p) /* nothing */
+ #endif
+
+ /*
+- * For g++, turn off our macros that use __attribute__ (g++ recognizes some
+- * of them, but not at the same version levels as gcc).
+- */
+-#ifdef __cplusplus
+-#undef GCC_NORETURN
+-#undef GCC_PRINTF
+-#undef GCC_SCANF
+-#undef GCC_UNUSED
+-#endif
+-
+-/*
+ * We cannot define these in ncurses_cfg.h, since they require parameters to be
+ * passed (that's non-portable).
+ */
+@@ -609,7 +601,7 @@
+ extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int); /* generated */
+ extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *); /* generated */
+ extern NCURSES_EXPORT(int) mvinstr (int, int, char *); /* generated */
+-extern NCURSES_EXPORT(int) mvprintw (int,int, NCURSES_CONST char *,...) /* implemented */
++extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...) /* implemented */
+ GCC_PRINTFLIKE(3,4);
+ extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...) /* implemented */
+ GCC_SCANFLIKE(3,4);
+@@ -634,7 +626,7 @@
+ extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */
+ extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */
+ extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */
+-extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, NCURSES_CONST char *,...) /* implemented */
++extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */
+ GCC_PRINTFLIKE(4,5);
+ extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...) /* implemented */
+ GCC_SCANFLIKE(4,5);
+@@ -658,7 +650,7 @@
+ extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype); /* implemented */
+ extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */
+ extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int); /* implemented */
+-extern NCURSES_EXPORT(int) printw (NCURSES_CONST char *,...) /* implemented */
++extern NCURSES_EXPORT(int) printw (const char *,...) /* implemented */
+ GCC_PRINTFLIKE(1,2);
+ extern NCURSES_EXPORT(int) putp (const char *); /* implemented */
+ extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *); /* implemented */
+@@ -720,8 +712,8 @@
+ extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */
+ extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int)); /* implemented */
+ extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */
+-extern NCURSES_EXPORT(int) vwprintw (WINDOW *, NCURSES_CONST char *,va_list); /* implemented */
+-extern NCURSES_EXPORT(int) vw_printw (WINDOW *, NCURSES_CONST char *,va_list); /* generated */
++extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */
++extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */
+ extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list); /* implemented */
+ extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list); /* generated */
+ extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype); /* implemented */
+@@ -765,7 +757,7 @@
+ extern NCURSES_EXPORT(int) winstr (WINDOW *, char *); /* generated */
+ extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int); /* implemented */
+ extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *); /* implemented */
+-extern NCURSES_EXPORT(int) wprintw (WINDOW *, NCURSES_CONST char *,...) /* implemented */
++extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...) /* implemented */
+ GCC_PRINTFLIKE(2,3);
+ extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int); /* implemented */
+ extern NCURSES_EXPORT(int) wrefresh (WINDOW *); /* implemented */
+@@ -831,10 +823,11 @@
+ #define nocrmode() nocbreak()
+ #define gettmode()
+
+-#define getyx(win,y,x) (y = (win)?(win)->_cury:ERR, x = (win)?(win)->_curx:ERR)
+-#define getbegyx(win,y,x) (y = (win)?(win)->_begy:ERR, x = (win)?(win)->_begx:ERR)
+-#define getmaxyx(win,y,x) (y = (win)?((win)->_maxy + 1):ERR, x = (win)?((win)->_maxx + 1):ERR)
+-#define getparyx(win,y,x) (y = (win)?(win)->_pary:ERR, x = (win)?(win)->_parx:ERR)
++#define getyx(win,y,x) (y = getcury(win), x = getcurx(win))
++#define getbegyx(win,y,x) (y = getbegy(win), x = getbegx(win))
++#define getmaxyx(win,y,x) (y = getmaxy(win), x = getmaxx(win))
++#define getparyx(win,y,x) (y = getpary(win), x = getparx(win))
++
+ #define getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \
+ else getyx(newscr,(y),(x)); \
+ } while(0)
+diff -urNd -urNd ncurses-5.3/include/curses.tail ncurses-5.3.20030906.orig/include/curses.tail
+--- ncurses-5.3/include/curses.tail Sat Oct 12 10:46:02 2002
++++ ncurses-5.3.20030906.orig/include/curses.tail Tue May 13 20:08:22 2003
+@@ -1,4 +1,4 @@
+-/* $Id: curses.tail,v 1.7 2002/10/12 15:46:02 tom Exp $ */
++/* $Id: curses.tail,v 1.8 2002/11/02 20:26:26 tom Exp $ */
+
+ /* mouse interface */
+ #define NCURSES_MOUSE_VERSION 1
+@@ -121,10 +121,6 @@
+ #define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) */
+ #endif
+
+-#ifndef NCURSES_WGETCH_EVENTS
+-#undef KEY_EVENT
+-#endif
+-
+ #ifdef __cplusplus
+
+ /* these names conflict with STL */
+diff -urNd -urNd ncurses-5.3/include/curses.wide ncurses-5.3.20030906.orig/include/curses.wide
+--- ncurses-5.3/include/curses.wide Sat Aug 31 12:48:53 2002
++++ ncurses-5.3.20030906.orig/include/curses.wide Sun Jul 20 14:02:08 2003
+@@ -1,21 +1,23 @@
+
+ #ifdef _XOPEN_SOURCE_EXTENDED
+
+-/* $Id: curses.wide,v 1.25 2002/08/31 17:48:53 tom Exp $ */
++/* $Id: curses.wide,v 1.27 2003/06/07 21:59:37 tom Exp $ */
+
+ extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
+
+-#define WACS_BSSB (&_nc_wacs['l'])
+-#define WACS_SSBB (&_nc_wacs['m'])
+-#define WACS_BBSS (&_nc_wacs['k'])
+-#define WACS_SBBS (&_nc_wacs['j'])
+-#define WACS_SBSS (&_nc_wacs['u'])
+-#define WACS_SSSB (&_nc_wacs['t'])
+-#define WACS_SSBS (&_nc_wacs['v'])
+-#define WACS_BSSS (&_nc_wacs['w'])
+-#define WACS_BSBS (&_nc_wacs['q'])
+-#define WACS_SBSB (&_nc_wacs['x'])
+-#define WACS_SSSS (&_nc_wacs['n'])
++#define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c])
++
++#define WACS_BSSB NCURSES_WACS('l')
++#define WACS_SSBB NCURSES_WACS('m')
++#define WACS_BBSS NCURSES_WACS('k')
++#define WACS_SBBS NCURSES_WACS('j')
++#define WACS_SBSS NCURSES_WACS('u')
++#define WACS_SSSB NCURSES_WACS('t')
++#define WACS_SSBS NCURSES_WACS('v')
++#define WACS_BSSS NCURSES_WACS('w')
++#define WACS_BSBS NCURSES_WACS('q')
++#define WACS_SBSB NCURSES_WACS('x')
++#define WACS_SSSS NCURSES_WACS('n')
+
+ #define WACS_ULCORNER WACS_BSSB
+ #define WACS_LLCORNER WACS_SSBB
+@@ -29,31 +31,31 @@
+ #define WACS_VLINE WACS_SBSB
+ #define WACS_PLUS WACS_SSSS
+
+-#define WACS_S1 (&_nc_wacs['o']) /* scan line 1 */
+-#define WACS_S9 (&_nc_wacs['s']) /* scan line 9 */
+-#define WACS_DIAMOND (&_nc_wacs['`']) /* diamond */
+-#define WACS_CKBOARD (&_nc_wacs['a']) /* checker board */
+-#define WACS_DEGREE (&_nc_wacs['f']) /* degree symbol */
+-#define WACS_PLMINUS (&_nc_wacs['g']) /* plus/minus */
+-#define WACS_BULLET (&_nc_wacs['~']) /* bullet */
++#define WACS_S1 NCURSES_WACS('o') /* scan line 1 */
++#define WACS_S9 NCURSES_WACS('s') /* scan line 9 */
++#define WACS_DIAMOND NCURSES_WACS('`') /* diamond */
++#define WACS_CKBOARD NCURSES_WACS('a') /* checker board */
++#define WACS_DEGREE NCURSES_WACS('f') /* degree symbol */
++#define WACS_PLMINUS NCURSES_WACS('g') /* plus/minus */
++#define WACS_BULLET NCURSES_WACS('~') /* bullet */
+
+ /* Teletype 5410v1 symbols */
+-#define WACS_LARROW (&_nc_wacs[',']) /* arrow left */
+-#define WACS_RARROW (&_nc_wacs['+']) /* arrow right */
+-#define WACS_DARROW (&_nc_wacs['.']) /* arrow down */
+-#define WACS_UARROW (&_nc_wacs['-']) /* arrow up */
+-#define WACS_BOARD (&_nc_wacs['h']) /* board of squares */
+-#define WACS_LANTERN (&_nc_wacs['i']) /* lantern symbol */
+-#define WACS_BLOCK (&_nc_wacs['0']) /* solid square block */
++#define WACS_LARROW NCURSES_WACS(',') /* arrow left */
++#define WACS_RARROW NCURSES_WACS('+') /* arrow right */
++#define WACS_DARROW NCURSES_WACS('.') /* arrow down */
++#define WACS_UARROW NCURSES_WACS('-') /* arrow up */
++#define WACS_BOARD NCURSES_WACS('h') /* board of squares */
++#define WACS_LANTERN NCURSES_WACS('i') /* lantern symbol */
++#define WACS_BLOCK NCURSES_WACS('0') /* solid square block */
+
+ /* ncurses extensions */
+-#define WACS_S3 (&_nc_wacs['p']) /* scan line 3 */
+-#define WACS_S7 (&_nc_wacs['r']) /* scan line 7 */
+-#define WACS_LEQUAL (&_nc_wacs['y']) /* less/equal */
+-#define WACS_GEQUAL (&_nc_wacs['z']) /* greater/equal */
+-#define WACS_PI (&_nc_wacs['{']) /* Pi */
+-#define WACS_NEQUAL (&_nc_wacs['|']) /* not equal */
+-#define WACS_STERLING (&_nc_wacs['}']) /* UK pound sign */
++#define WACS_S3 NCURSES_WACS('p') /* scan line 3 */
++#define WACS_S7 NCURSES_WACS('r') /* scan line 7 */
++#define WACS_LEQUAL NCURSES_WACS('y') /* less/equal */
++#define WACS_GEQUAL NCURSES_WACS('z') /* greater/equal */
++#define WACS_PI NCURSES_WACS('{') /* Pi */
++#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */
++#define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */
+
+ /*
+ * Function prototypes for wide-character operations.
+@@ -129,7 +131,7 @@
+ extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */
+ extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *); /* missing */
+ extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, short, const void *); /* implemented */
+-extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* missing */
++extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* implemented */
+ extern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */
+ extern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */
+ extern NCURSES_EXPORT(int) vid_attr (attr_t, short, void *); /* implemented */
+diff -urNd -urNd ncurses-5.3/include/ncurses_defs ncurses-5.3.20030906.orig/include/ncurses_defs
+--- ncurses-5.3/include/ncurses_defs Sat Aug 24 18:13:43 2002
++++ ncurses-5.3.20030906.orig/include/ncurses_defs Sun Jul 20 14:02:09 2003
+@@ -1,6 +1,6 @@
+-# $Id: ncurses_defs,v 1.15 2002/08/24 23:13:43 tom Exp $
++# $Id: ncurses_defs,v 1.18 2003/07/05 15:14:30 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2000-2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -45,6 +45,7 @@
+ GCC_UNUSED /* nothing */
+ HAVE_BIG_CORE
+ HAVE_BSD_CGETENT
++HAVE_BTOWC
+ HAVE_BUILTIN_H
+ HAVE_DIRENT_H
+ HAVE_ERRNO
+@@ -72,6 +73,7 @@
+ HAVE_LINK
+ HAVE_LOCALE_H
+ HAVE_LONG_FILE_NAMES
++HAVE_MBTOWC
+ HAVE_MEMCCPY
+ HAVE_MENU_H
+ HAVE_MKSTEMP
+@@ -81,6 +83,7 @@
+ HAVE_POLL
+ HAVE_POLL_H
+ HAVE_PURIFY
++HAVE_PUTWC
+ HAVE_REGEXPR_H_FUNCS
+ HAVE_REGEXP_H_FUNCS
+ HAVE_REGEX_H_FUNCS
+@@ -93,6 +96,7 @@
+ HAVE_SIGACTION
+ HAVE_SIGVEC
+ HAVE_SIZECHANGE
++HAVE_SLK_COLOR
+ HAVE_STRDUP
+ HAVE_STRSTR
+ HAVE_SYMLINK
+@@ -121,6 +125,8 @@
+ HAVE_VFSCANF
+ HAVE_VSNPRINTF
+ HAVE_VSSCANF
++HAVE_WCTOB
++HAVE_WCTOMB
+ HAVE_WORKING_POLL
+ HAVE_WRESIZE
+ HAVE__DOSCAN
+@@ -160,6 +166,7 @@
+ USE_STRSTREAM_VSCAN
+ USE_STRSTREAM_VSCAN_CAST
+ USE_SYMLINKS
++USE_SYSMOUSE
+ USE_TERMCAP
+ USE_WIDEC_SUPPORT
+ USE_XMC_SUPPORT
+diff -urNd -urNd ncurses-5.3/include/ncurses_dll.h ncurses-5.3.20030906.orig/include/ncurses_dll.h
+--- ncurses-5.3/include/ncurses_dll.h Sat Dec 8 19:36:34 2001
++++ ncurses-5.3.20030906.orig/include/ncurses_dll.h Sun Jul 20 14:02:09 2003
+@@ -1,10 +1,14 @@
+-/* $Id: ncurses_dll.h,v 1.2 2001/12/09 01:36:34 tom Exp $ */
++/* $Id: ncurses_dll.h,v 1.4 2003/07/19 18:44:32 Charles.Wilson Exp $ */
+
+ #ifndef NCURSES_DLL_H_incl
+ #define NCURSES_DLL_H_incl 1
+
+-#undef NCURSES_DLL /* cygwin dll not implemented */
+-#define NCURSES_STATIC /* cygwin dll not implemented */
++/* no longer needed on cygwin or mingw, thanks to auto-import */
++/* but this structure may be useful at some point for an MSVC build */
++/* so, for now unconditionally define the important flags */
++/* "the right way" for proper static and dll+auto-import behavior */
++#undef NCURSES_DLL
++#define NCURSES_STATIC
+
+ #if defined(__CYGWIN__)
+ # if defined(NCURSES_DLL)
+@@ -14,8 +18,8 @@
+ # endif
+ # undef NCURSES_IMPEXP
+ # undef NCURSES_API
+-# undef NCURSES_EXPORT(type)
+-# undef NCURSES_EXPORT_VAR(type)
++# undef NCURSES_EXPORT
++# undef NCURSES_EXPORT_VAR
+ # if defined(NCURSES_DLL)
+ /* building a DLL */
+ # define NCURSES_IMPEXP __declspec(dllexport)
+diff -urNd -urNd ncurses-5.3/include/tic.h ncurses-5.3.20030906.orig/include/tic.h
+--- ncurses-5.3/include/tic.h Sat Oct 12 10:46:15 2002
++++ ncurses-5.3.20030906.orig/include/tic.h Fri Sep 12 16:41:41 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+ ****************************************************************************/
+
+ /*
+- * $Id: tic.h,v 1.42 2002/10/12 15:46:15 tom Exp $
++ * $Id: tic.h,v 1.45 2003/08/02 23:54:19 tom Exp $
+ * tic.h - Global variables and structures for the terminfo
+ * compiler.
+ */
+@@ -203,8 +203,6 @@
+ const char *source;
+ };
+
+-extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
+-
+ extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[];
+ extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[];
+
+@@ -217,7 +215,7 @@
+ #define NOTFOUND ((struct name_table_entry *) 0)
+
+ /* out-of-band values for representing absent capabilities */
+-#define ABSENT_BOOLEAN (-1) /* 255 */
++#define ABSENT_BOOLEAN (char)(-1) /* 255 */
+ #define ABSENT_NUMERIC (-1)
+ #define ABSENT_STRING (char *)0
+
+@@ -241,6 +239,7 @@
+ #endif
+
+ /* access.c */
++extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *);
+ extern NCURSES_EXPORT(char *) _nc_basename (char *);
+ extern NCURSES_EXPORT(char *) _nc_rootname (char *);
+
+@@ -284,6 +283,13 @@
+ extern NCURSES_EXPORT(char *) _nc_captoinfo (const char *, const char *, int const);
+ extern NCURSES_EXPORT(char *) _nc_infotocap (const char *, const char *, int const);
+
++/* lib_tparm.c */
++#define NUM_PARM 9
++
++extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
++
++extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount);
++
+ /* lib_tputs.c */
+ extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent; /* Add one for every null sent */
+
+diff -urNd -urNd ncurses-5.3/man/MKterminfo.sh ncurses-5.3.20030906.orig/man/MKterminfo.sh
+--- ncurses-5.3/man/MKterminfo.sh Sat Jun 29 15:04:28 2002
++++ ncurses-5.3.20030906.orig/man/MKterminfo.sh Tue May 13 20:08:22 2003
+@@ -1,10 +1,10 @@
+ #!/bin/sh
+-# $Id: MKterminfo.sh,v 1.10 2002/06/29 20:04:28 tom Exp $
++# $Id: MKterminfo.sh,v 1.12 2003/01/11 21:42:12 tom Exp $
+ #
+ # MKterminfo.sh -- generate terminfo.5 from Caps tabular data
+ #
+ #***************************************************************************
+-# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++# Copyright (c) 1998,2002,2003 Free Software Foundation, Inc. *
+ # *
+ # Permission is hereby granted, free of charge, to any person obtaining a *
+ # copy of this software and associated documentation files (the *
+@@ -69,11 +69,11 @@
+
+ sed -n <$caps "\
+ /%%-STOP-HERE-%%/q
+-/^#%/s///p
++/^#%/s/#%//p
+ /^#/d
+-s/[ ]\+/ /g
++s/[ ][ ]*/ /g
+ s/$/T}/
+-s/ [A-Z0-9_()\-]\+ [0-9\-]\+ [Y\-][B\-][C\-][G\-][EK\-]\** / T{/
++s/ [A-Z0-9_()\-][A-Z0-9_()\-]* [0-9\-][0-9\-]* [Y\-][B\-][C\-][G\-][EK\-]\** / T{/
+ s/ bool / /p
+ s/ num / /p
+ s/ str / /p
+diff -urNd -urNd ncurses-5.3/man/captoinfo.1m ncurses-5.3.20030906.orig/man/captoinfo.1m
+--- ncurses-5.3/man/captoinfo.1m Sat Aug 12 20:56:49 2000
++++ ncurses-5.3.20030906.orig/man/captoinfo.1m Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,14 +27,14 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: captoinfo.1m,v 1.16 2000/08/13 01:56:49 tom Exp $
++.\" $Id: captoinfo.1m,v 1.17 2003/05/11 00:32:53 tom Exp $
+ .TH captoinfo 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
+ .SH NAME
+ \fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
+ .SH SYNOPSIS
+-\fBcaptoinfo\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
++\fBcaptoinfo\fR [\fB\-v\fR\fIn\fR \fIwidth\fR] [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR . . .
+ .SH DESCRIPTION
+ \fBcaptoinfo\fR looks in \fIfile\fR for \fBtermcap\fR descriptions. For each
+ one found, an equivalent \fBterminfo\fR description is written to standard
+@@ -47,18 +47,18 @@
+ extracted from that file. If the environment variable \fBTERMCAP\fR is not
+ set, then the file \fB\*d\fR is read.
+ .TP 5
+-\fB-v\fR
++\fB\-v\fR
+ print out tracing information on standard error as the program runs.
+ .TP 5
+-\fB-V\fR
++\fB\-V\fR
+ print out the version of the program in use on standard error and exit.
+ .TP 5
+-\fB-1\fR
++\fB\-1\fR
+ cause the fields to print out one to a line. Otherwise, the fields
+ will be printed several to a line to a maximum width of 60
+ characters.
+ .TP 5
+-\fB-w\fR
++\fB\-w\fR
+ change the output to \fIwidth\fR characters.
+ .SH FILES
+ .TP 20
+@@ -172,11 +172,11 @@
+ capabilities \fBmeml\fR (memory lock) and \fBmemu\fR (memory unlock).
+ These will be discarded with a warning message.
+ .SH NOTES
+-This utility is actually a link to \fItic\fR(1M), running in \fI-I\fR mode.
+-You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR.
++This utility is actually a link to \fItic\fR(1M), running in \fI\-I\fR mode.
++You can use other \fItic\fR options such as \fB\-f\fR and \fB\-x\fR.
+
+ The trace option isn't identical to SVr4's. Under SVr4, instead of following
+-the -v with a trace level n, you repeat it n times.
++the \fB\-v\fR with a trace level n, you repeat it n times.
+ .SH SEE ALSO
+ \fBcurses\fR(3X), \fB@INFOCMP@\fR(1M), \fBterminfo\fR(\*n)
+ .SH AUTHOR
+diff -urNd -urNd ncurses-5.3/man/curs_addch.3x ncurses-5.3.20030906.orig/man/curs_addch.3x
+--- ncurses-5.3/man/curs_addch.3x Sat Aug 10 17:12:36 2002
++++ ncurses-5.3.20030906.orig/man/curs_addch.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_addch.3x,v 1.20 2002/08/10 22:12:36 tom Exp $
++.\" $Id: curs_addch.3x,v 1.21 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_addch 3X ""
+ .SH NAME
+ \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
+@@ -62,7 +62,7 @@
+ edge of a window it does nothing.
+ Newline does a \fBclrtoeol\fR,
+ then moves the cursor to the window left margin on the next line,
+-scrolling the window if on the last line).
++scrolling the window if on the last line.
+ Tabs are considered to be at every eighth column.
+ The tab interval may be altered by setting the \fBTABSIZE\fR variable.
+
+@@ -74,7 +74,7 @@
+ Video attributes can be combined with a character argument passed to
+ \fBaddch\fR or related functions by logical-ORing them into the character.
+ (Thus, text, including attributes, can be copied from one place to another
+-using \fBinch\fR and \fBaddch\fR.). See the \fBcurs_attr\fR(3X) page for
++using \fBinch\fR and \fBaddch\fR.) See the \fBcurs_attr\fR(3X) page for
+ values of predefined video attribute constants that can be usefully OR'ed
+ into characters.
+
+diff -urNd -urNd ncurses-5.3/man/curs_beep.3x ncurses-5.3.20030906.orig/man/curs_beep.3x
+--- ncurses-5.3/man/curs_beep.3x Wed Mar 11 15:12:53 1998
++++ ncurses-5.3.20030906.orig/man/curs_beep.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_beep.3x,v 1.7 1998/03/11 21:12:53 juergen Exp $
++.\" $Id: curs_beep.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_beep 3X ""
+ .SH NAME
+ \fBbeep\fR, \fBflash\fR - \fBcurses\fR bell and screen flash routines
+@@ -45,7 +45,7 @@
+ alert is possible, nothing happens. Nearly all terminals have an audible alert
+ (bell or beep), but only some can flash the screen.
+ .SH RETURN VALUE
+-These routines return \fBOK\fR if they succeed in beeping or flashing,
++These routines return \fBOK\fR if they succeed in beeping or flashing,
+ \fBERR\fR otherwise.
+ .SH EXTENSIONS
+ SVr4's beep and flash routines always returned \fBOK\fR, so it was not
+diff -urNd -urNd ncurses-5.3/man/curs_deleteln.3x ncurses-5.3.20030906.orig/man/curs_deleteln.3x
+--- ncurses-5.3/man/curs_deleteln.3x Sat Nov 11 14:43:20 2000
++++ ncurses-5.3.20030906.orig/man/curs_deleteln.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_deleteln.3x,v 1.7 2000/11/11 20:43:20 Bernhard.Rosenkraenzer Exp $
++.\" $Id: curs_deleteln.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_deleteln 3X ""
+ .SH NAME
+ \fBdeleteln\fR,
+@@ -61,7 +61,7 @@
+ with the one under the cursor), and move the remaining lines up. The bottom
+ \fIn\fR lines are cleared. The current cursor position remains the same.
+
+-The \fBinsertln\fR and \fBwinsertln\fR routines, insert a blank line above the
++The \fBinsertln\fR and \fBwinsertln\fR routines insert a blank line above the
+ current line and the bottom line is lost.
+ .SH RETURN VALUE
+ All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4
+diff -urNd -urNd ncurses-5.3/man/curs_extend.3x ncurses-5.3.20030906.orig/man/curs_extend.3x
+--- ncurses-5.3/man/curs_extend.3x Sat Feb 16 16:39:04 2002
++++ ncurses-5.3.20030906.orig/man/curs_extend.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1999-2000,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ .\"
+ .\" Author: Thomas E. Dickey <dickey@clark.net> 1999
+ .\"
+-.\" $Id: curs_extend.3x,v 1.9 2002/02/16 22:39:04 tom Exp $
++.\" $Id: curs_extend.3x,v 1.11 2003/05/11 00:32:53 tom Exp $
+ .TH curs_extend 3X ""
+ .SH NAME
+ \fBcurses_version\fP,
+@@ -55,11 +55,11 @@
+ is able to use user-defined or nonstandard names
+ which may be compiled into the terminfo
+ description, i.e., via the terminfo or termcap interfaces.
+-Normally these names are available for use, since the essential descision
+-is made by using the \fB-x\fP option of \fItic\fP to compile
++Normally these names are available for use, since the essential decision
++is made by using the \fB\-x\fP option of \fItic\fP to compile
+ extended terminal definitions.
+ However you can disable this feature
+-to ensure compatiblity with other implementations of curses
++to ensure compatiblity with other implementations of curses.
+ .SH PORTABILITY
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that
+diff -urNd -urNd ncurses-5.3/man/curs_get_wch.3x ncurses-5.3.20030906.orig/man/curs_get_wch.3x
+--- ncurses-5.3/man/curs_get_wch.3x Sat May 18 16:48:53 2002
++++ ncurses-5.3.20030906.orig/man/curs_get_wch.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wch.3x,v 1.3 2002/05/18 21:48:53 tom Exp $
++.\" $Id: curs_get_wch.3x,v 1.5 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_get_wch 3X ""
+ .SH NAME
+ \fBget_wch\fR,
+@@ -37,13 +37,13 @@
+ .SH SYNOPSIS
+ \fB#include <curses.h>\fR
+ .sp
+-\fBint get_wch(win_t *\fR\fIwch\fR\fB);\fR
++\fBint get_wch(wint_t *\fR\fIwch\fR\fB);\fR
+ .br
+-\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
++\fBint wget_wch(WINDOW *\fR\fIwin\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
+ .br
+-\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
++\fBint mvget_wch(int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
+ .br
+-\fBint mvwget_wch(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, win_t *\fR\fIwch\fR\fB);\fR
++\fBint mvwget_wch(WINDOW *\fR\fIwin\fR\fB, int \fR\fIy\fR\fB, int \fR\fIx\fR\fB, wint_t *\fR\fIwch\fR\fB);\fR
+ .br
+ \fBint unget_wch(const wchar_t \fR\fIwch\fR\fB);\fR
+ .SH DESCRIPTION
+@@ -130,7 +130,7 @@
+ Depending on the state of the tty driver when each character
+ is typed, the program may produce undesirable results.
+ .PP
+-All functions except \fBwget_wch\fR and \fBunget_wch\fR
++All functions except \fBwget_wch\fR and \fBunget_wch\fR
+ may be macros.
+ .SH RETURN VALUES
+ When
+diff -urNd -urNd ncurses-5.3/man/curs_get_wstr.3x ncurses-5.3.20030906.orig/man/curs_get_wstr.3x
+--- ncurses-5.3/man/curs_get_wstr.3x Sat May 18 16:48:15 2002
++++ ncurses-5.3.20030906.orig/man/curs_get_wstr.3x Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_get_wstr.3x,v 1.2 2002/05/18 21:48:15 tom Exp $
++.\" $Id: curs_get_wstr.3x,v 1.3 2003/07/05 11:15:28 tom Exp $
+ .TH curs_get_wstr 3X ""
+ .SH NAME
+ \fBget_wstr\fR,
+@@ -151,6 +151,9 @@
+ In the latter case,
+ an ERR return without other data is treated as an end-of-file condition,
+ and the returned array contains a \fBWEOF\fR followed by a null \fBwchar_t\fR.
++.PP
++X/Open curses documents these functions to pass an array of \fBwchar_t\fR,
++but all of the vendors implement this using \fBwint_t\fR.
+ .SH SEE ALSO
+ Functions:
+ \fBcurses\fR(3X),
+diff -urNd -urNd ncurses-5.3/man/curs_getcchar.3x ncurses-5.3.20030906.orig/man/curs_getcchar.3x
+--- ncurses-5.3/man/curs_getcchar.3x Sat Mar 23 19:08:55 2002
++++ ncurses-5.3.20030906.orig/man/curs_getcchar.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 2001,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getcchar.3x,v 1.6 2002/03/24 01:08:55 tom Exp $
++.\" $Id: curs_getcchar.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_getcchar 3X ""
+ .SH NAME
+ \fBgetcchar\fP,
+@@ -108,7 +108,7 @@
+ The string must be L'\\0' terminated,
+ contain at most one character with strictly positive width,
+ which must be the first,
+-and contain no characters of negative width.
++and contain no characters of negative width.
+ .SH NOTES
+ .PP
+ The \fIopts\fP argument is reserved for future use.
+diff -urNd -urNd ncurses-5.3/man/curs_getch.3x ncurses-5.3.20030906.orig/man/curs_getch.3x
+--- ncurses-5.3/man/curs_getch.3x Sun Mar 17 08:36:21 2002
++++ ncurses-5.3.20030906.orig/man/curs_getch.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getch.3x,v 1.21 2002/03/17 14:36:21 tom Exp $
++.\" $Id: curs_getch.3x,v 1.22 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_getch 3X ""
+ .SH NAME
+ \fBgetch\fR,
+@@ -82,7 +82,7 @@
+ that function key is returned instead of the raw characters.
+ Possible function
+ keys are defined in \fB<curses.h>\fR as macros with values outside the range
+-of 8-bit characters whose names begin with \fBKEY_.\fR Thus, a variable
++of 8-bit characters whose names begin with \fBKEY_\fR. Thus, a variable
+ intended to hold the return value of a function key must be of short size or
+ larger.
+
+@@ -143,7 +143,7 @@
+ KEY_SRESET/Soft (partial) reset
+ KEY_RESET/Reset or hard reset
+ KEY_PRINT/Print or copy
+-KEY_LL/Home down or bottom (lower left).
++KEY_LL/Home down or bottom (lower left)
+ KEY_A1/Upper left of keypad
+ KEY_A3/Upper right of keypad
+ KEY_B2/Center of keypad
+@@ -238,7 +238,7 @@
+ treat these control keys specially (and ignore the terminfo), or
+ use the terminfo definitions.
+ \fBNcurses\fR uses the terminfo definition.
+-If it says that KEY_ENTER is control/M, \fBgetch\fR, will return KEY_ENTER
++If it says that KEY_ENTER is control/M, \fBgetch\fR will return KEY_ENTER
+ when you press control/M.
+
+ When using \fBgetch\fR, \fBwgetch\fR, \fBmvgetch\fR, or
+diff -urNd -urNd ncurses-5.3/man/curs_getstr.3x ncurses-5.3.20030906.orig/man/curs_getstr.3x
+--- ncurses-5.3/man/curs_getstr.3x Sat Apr 13 17:14:30 2002
++++ ncurses-5.3.20030906.orig/man/curs_getstr.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getstr.3x,v 1.11 2002/04/13 22:14:30 tom Exp $
++.\" $Id: curs_getstr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_getstr 3X ""
+ .SH NAME
+ \fBgetstr\fR,
+@@ -90,7 +90,7 @@
+
+ SVr3 and early SVr4 curses implementations did not reject function keys;
+ the SVr4.0 documentation claimed that "special keys" (such as function
+-keys, "home" key, "clear" key, \fIetc\fR.) are interpreted" without
++keys, "home" key, "clear" key, \fIetc\fR.) are "interpreted", without
+ giving details. It lied. In fact, the `character' value appended to the
+ string by those implementations was predictable but not useful
+ (being, in fact, the low-order eight bits of the key's KEY_ value).
+diff -urNd -urNd ncurses-5.3/man/curs_getyx.3x ncurses-5.3.20030906.orig/man/curs_getyx.3x
+--- ncurses-5.3/man/curs_getyx.3x Sat Sep 21 14:00:38 2002
++++ ncurses-5.3.20030906.orig/man/curs_getyx.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,17 +26,9 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_getyx.3x,v 1.8 2002/09/21 19:00:38 tom Exp $
++.\" $Id: curs_getyx.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_getyx 3X ""
+ .SH NAME
+-.IX getbegx
+-.IX getbegy
+-.IX getcurx
+-.IX getcury
+-.IX getmaxx
+-.IX getmaxy
+-.IX getparx
+-.IX getpary
+ \fBgetyx\fR,
+ \fBgetparyx\fR,
+ \fBgetbegyx\fR,
+@@ -64,7 +56,7 @@
+ Like \fBgetyx\fR, the \fBgetbegyx\fR and \fBgetmaxyx\fR macros store
+ the current beginning coordinates and size of the specified window.
+ .SH RETURN VALUE
+-The return values of these macros are undefined (\fIi\fR.\fIe\fR.,
++The return values of these macros are undefined (i.e.,
+ they should not be used as the right-hand side of assignment statements).
+ .SH NOTES
+ All of these interfaces are macros.
+diff -urNd -urNd ncurses-5.3/man/curs_initscr.3x ncurses-5.3.20030906.orig/man/curs_initscr.3x
+--- ncurses-5.3/man/curs_initscr.3x Sat Jul 20 09:51:04 2002
++++ ncurses-5.3.20030906.orig/man/curs_initscr.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_initscr.3x,v 1.11 2002/07/20 14:51:04 tom Exp $
++.\" $Id: curs_initscr.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_initscr 3X ""
+ .SH NAME
+ \fBinitscr\fR,
+@@ -111,7 +111,7 @@
+
+ Old versions of curses, e.g., BSD 4.4, may have returned a null pointer
+ from \fBinitscr\fR when an error is detected, rather than exiting.
+-It is safe but redundant to check the return value of \fBinitscr\fR
++It is safe but redundant to check the return value of \fBinitscr\fR
+ in XSI Curses.
+ .SH SEE ALSO
+ \fBcurses\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_refresh\fR(3X),
+diff -urNd -urNd ncurses-5.3/man/curs_inopts.3x ncurses-5.3.20030906.orig/man/curs_inopts.3x
+--- ncurses-5.3/man/curs_inopts.3x Sat Aug 10 17:29:49 2002
++++ ncurses-5.3.20030906.orig/man/curs_inopts.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2001 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_inopts.3x,v 1.9 2002/08/10 22:29:49 tom Exp $
++.\" $Id: curs_inopts.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_inopts 3X ""
+ .SH NAME
+ \fBcbreak\fR, \fBnocbreak\fR, \fBecho\fR,
+@@ -163,9 +163,9 @@
+
+ The \fBtimeout\fR and \fBwtimeout\fR routines set blocking or
+ non-blocking read for a given window. If \fIdelay\fR is negative,
+-blocking read is used (\fIi\fR.\fIe\fR., waits indefinitely for
++blocking read is used (i.e., waits indefinitely for
+ input). If \fIdelay\fR is zero, then non-blocking read is used
+-(\fIi\fR.\fIe\fR., read returns \fBERR\fR if no input is waiting). If
++(i.e., read returns \fBERR\fR if no input is waiting). If
+ \fIdelay\fR is positive, then read blocks for \fIdelay\fR
+ milliseconds, and returns \fBERR\fR if there is still no input.
+ Hence, these routines provide the same functionality as \fBnodelay\fR,
+@@ -193,7 +193,7 @@
+ AT&T curses implementations, in that the echo bit is cleared when curses
+ initializes the terminal state. BSD curses differed from this slightly; it
+ left the echo bit on at initialization, but the BSD \fBraw\fR call turned it
+-off as a side-effect. For best portability, set echo or noecho explicitly
++off as a side-effect. For best portability, set echo or noecho explicitly
+ just after initialization, even if your program remains in cooked mode.
+ .SH NOTES
+ Note that \fBecho\fR, \fBnoecho\fR, \fBhalfdelay\fR, \fBintrflush\fR,
+diff -urNd -urNd ncurses-5.3/man/curs_insch.3x ncurses-5.3.20030906.orig/man/curs_insch.3x
+--- ncurses-5.3/man/curs_insch.3x Sat Jul 1 14:57:21 2000
++++ ncurses-5.3.20030906.orig/man/curs_insch.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_insch.3x,v 1.7 2000/07/01 19:57:21 tom Exp $
++.\" $Id: curs_insch.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_insch 3X ""
+ .SH NAME
+ \fBinsch\fR,
+@@ -45,7 +45,7 @@
+ \fBint mvwinsch(WINDOW *win, int y, int x, chtype ch);\fR
+ .br
+ .SH DESCRIPTION
+-These routines, insert the character \fIch\fR before the character under the
++These routines insert the character \fIch\fR before the character under the
+ cursor. All characters to the right of the cursor are moved one space to the
+ right, with the possibility of the rightmost character on the line being lost.
+ The insertion operation does not change the cursor position.
+diff -urNd -urNd ncurses-5.3/man/curs_mouse.3x ncurses-5.3.20030906.orig/man/curs_mouse.3x
+--- ncurses-5.3/man/curs_mouse.3x Sat Jul 20 09:52:14 2002
++++ ncurses-5.3.20030906.orig/man/curs_mouse.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_mouse.3x,v 1.20 2002/07/20 14:52:14 tom Exp $
++.\" $Id: curs_mouse.3x,v 1.22 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_mouse 3X ""
+ .SH NAME
+ \fBgetmouse\fR, \fBungetmouse\fR,
+@@ -149,8 +149,8 @@
+ to screen-relative coordinates due to the mechanism to reserve lines on top
+ or bottom of the screen for other purposes (ripoff() call, see also slk_...
+ functions).
+-If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
+-\fBpY, pX\fR must reference the coordinates of a location inside the window
++If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
++\fBpY, pX\fR must reference the coordinates of a location inside the window
+ \fBwin\fR.
+ They are converted to screen-relative coordinates and returned
+ through the pointers.
+@@ -168,7 +168,7 @@
+ Please notice, that the referenced coordinates
+ are only replaced by the converted coordinates if the transformation was
+ successful.
+-
++
+ The \fBmouseinterval\fR function sets the maximum time (in thousands of a
+ second) that can elapse between press and release events for them to
+ be recognized as a click.
+@@ -209,6 +209,14 @@
+ \fBncurses\fR(3X) (and the \fBwmousemask\fR function will always
+ return \fB0\fR).
+
++If the terminfo entry contains a \fBXM\fR string,
++this is used in the xterm mouse driver to control the
++way the terminal is initialized for mouse operation.
++The default, if \fBXM\fR is not found,
++corresponds to private mode 1000 of xterm:
++
++ \\E[?1000%?%p1%{1}%=%th%el%;
++
+ The z member in the event structure is not presently used.
+ It is intended
+ for use with touch screens (which may be pressure-sensitive) or with
+diff -urNd -urNd ncurses-5.3/man/curs_outopts.3x ncurses-5.3.20030906.orig/man/curs_outopts.3x
+--- ncurses-5.3/man/curs_outopts.3x Sat Oct 13 19:50:30 2001
++++ ncurses-5.3.20030906.orig/man/curs_outopts.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2001 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_outopts.3x,v 1.17 2001/10/14 00:50:30 tom Exp $
++.\" $Id: curs_outopts.3x,v 1.18 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_outopts 3X ""
+ .SH NAME
+ \fBclearok\fR, \fBidlok\fR, \fBidcok\fR, \fBimmedok\fR,
+@@ -93,7 +93,7 @@
+
+ If \fBimmedok\fR is called with \fBTRUE as argument\fR, any change
+ in the window image, such as the ones caused by \fBwaddch, wclrtobot, wscrl\fR,
+-\fIetc\fR., automatically cause a call to \fBwrefresh\fR.
++etc., automatically cause a call to \fBwrefresh\fR.
+ However, it may
+ degrade performance considerably, due to repeated calls to \fBwrefresh\fR.
+ It is disabled by default.
+@@ -165,7 +165,7 @@
+ This will not work under
+ ncurses.
+
+-Earlier System V curses implementations specified that with \fBscrollok\fR
++Earlier System V curses implementations specified that with \fBscrollok\fR
+ enabled, any window modification triggering a scroll also forced a physical
+ refresh.
+ XSI Curses does not require this, and \fBncurses\fR avoids doing
+diff -urNd -urNd ncurses-5.3/man/curs_pad.3x ncurses-5.3.20030906.orig/man/curs_pad.3x
+--- ncurses-5.3/man/curs_pad.3x Tue Jul 4 17:38:13 2000
++++ ncurses-5.3.20030906.orig/man/curs_pad.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_pad.3x,v 1.9 2000/07/04 22:38:13 tom Exp $
++.\" $Id: curs_pad.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_pad 3X ""
+ .SH NAME
+ \fBnewpad\fR, \fBsubpad\fR, \fBprefresh\fR,
+@@ -53,7 +53,7 @@
+ screen size, and is not necessarily associated with a particular part of the
+ screen. Pads can be used when a large window is needed, and only a part of the
+ window will be on the screen at one time. Automatic refreshes of pads
+-(\fIe\fR.\fIg\fR., from scrolling or echoing of input) do not occur. It is not
++(e.g., from scrolling or echoing of input) do not occur. It is not
+ legal to call \fBwrefresh\fR with a \fIpad\fR as an argument; the routines
+ \fBprefresh\fR or \fBpnoutrefresh\fR should be called instead. Note that these
+ routines require additional parameters to specify the part of the pad to be
+@@ -84,7 +84,7 @@
+ The \fBpechochar\fR routine is functionally equivalent to a call to \fBaddch\fR
+ followed by a call to \fBrefresh\fR, a call to \fBwaddch\fR followed by a call
+ to \fBwrefresh\fR, or a call to \fBwaddch\fR followed by a call to
+-\fBprefresh.\fR The knowledge that only a single character is being output is
++\fBprefresh\fR. The knowledge that only a single character is being output is
+ taken into consideration and, for non-control characters, a considerable
+ performance gain might be seen by using these routines instead of their
+ equivalents. In the case of \fBpechochar\fR, the last location of the pad on
+@@ -95,7 +95,7 @@
+ completion.
+
+ Routines that return pointers return \fBNULL\fR on error, and set \fBerrno\fR
+-to \fBENOMEM\fR.
++to \fBENOMEM\fR.
+ .SH NOTES
+ Note that \fBpechochar\fR may be a macro.
+ .SH PORTABILITY
+diff -urNd -urNd ncurses-5.3/man/curs_print.3x ncurses-5.3.20030906.orig/man/curs_print.3x
+--- ncurses-5.3/man/curs_print.3x Sat Feb 16 16:39:04 2002
++++ ncurses-5.3.20030906.orig/man/curs_print.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_print.3x,v 1.5 2002/02/16 22:39:04 tom Exp $
++.\" $Id: curs_print.3x,v 1.6 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_print 3X ""
+ .SH NAME
+ \fBmcprint\fR - ship binary data to printer
+@@ -46,7 +46,7 @@
+ rule of thumb is to sleep for a second after shipping each 80-character line.
+
+ .SH RETURN VALUE
+-The \fBmcprint\fR function returns \fBERR\fR if the write operation aborted
++The \fBmcprint\fR function returns \fBERR\fR if the write operation aborted
+ for some reason. In this case, errno will contain either an error associated
+ with \fBwrite(2)\fR or one of the following:
+ .TP 5
+diff -urNd -urNd ncurses-5.3/man/curs_printw.3x ncurses-5.3.20030906.orig/man/curs_printw.3x
+--- ncurses-5.3/man/curs_printw.3x Sat Jul 20 10:01:43 2002
++++ ncurses-5.3.20030906.orig/man/curs_printw.3x Tue May 13 20:08:22 2003
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_printw.3x,v 1.12 2002/07/20 15:01:43 tom Exp $
++.\" $Id: curs_printw.3x,v 1.13 2002/11/16 22:28:57 tom Exp $
+ .TH curs_printw 3X ""
+ .SH NAME
+ \fBprintw\fR,
+@@ -37,17 +37,17 @@
+ .SH SYNOPSIS
+ \fB#include <curses.h>\fR
+
+-\fBint printw(char *fmt, ...);\fR
++\fBint printw(const char *fmt, ...);\fR
+ .br
+-\fBint wprintw(WINDOW *win, char *fmt, ...);\fR
++\fBint wprintw(WINDOW *win, const char *fmt, ...);\fR
+ .br
+-\fBint mvprintw(int y, int x, char *fmt, ...);\fR
++\fBint mvprintw(int y, int x, const char *fmt, ...);\fR
+ .br
+-\fBint mvwprintw(WINDOW *win, int y, int x, char *fmt, ...);\fR
++\fBint mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);\fR
+ .br
+-\fBint vwprintw(WINDOW *win, char *fmt, va_list varglist);\fR
++\fBint vwprintw(WINDOW *win, const char *fmt, va_list varglist);\fR
+ .br
+-\fBint vw_printw(WINDOW *win, char *fmt, va_list varglist);\fR
++\fBint vw_printw(WINDOW *win, const char *fmt, va_list varglist);\fR
+ .br
+ .SH DESCRIPTION
+ The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR
+diff -urNd -urNd ncurses-5.3/man/curs_scroll.3x ncurses-5.3.20030906.orig/man/curs_scroll.3x
+--- ncurses-5.3/man/curs_scroll.3x Sat Oct 13 19:51:56 2001
++++ ncurses-5.3.20030906.orig/man/curs_scroll.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_scroll.3x,v 1.9 2001/10/14 00:51:56 tom Exp $
++.\" $Id: curs_scroll.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_scroll 3X ""
+ .SH NAME
+ \fBscroll\fR, \fBscrl\fR, \fBwscrl\fR - scroll a \fBcurses\fR window
+@@ -61,12 +61,12 @@
+ .SH NOTES
+ Note that \fBscrl\fR and \fBscroll\fR may be macros.
+
+-The SVr4 documentation says that the optimization of physically scrolling
++The SVr4 documentation says that the optimization of physically scrolling
+ immediately if the scroll region is the entire screen "is" performed, not
+ "may be" performed.
+ This implementation deliberately does not guarantee
+ that this will occur, to leave open the possibility of smarter
+-optimization of multiple scroll actions on the next update.
++optimization of multiple scroll actions on the next update.
+
+ Neither the SVr4 nor the XSI documentation specify whether the current
+ attribute or
+diff -urNd -urNd ncurses-5.3/man/curs_slk.3x ncurses-5.3.20030906.orig/man/curs_slk.3x
+--- ncurses-5.3/man/curs_slk.3x Sat Mar 3 15:05:41 2001
++++ ncurses-5.3.20030906.orig/man/curs_slk.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_slk.3x,v 1.11 2001/03/03 21:05:41 Todd.C.Miller Exp $
++.\" $Id: curs_slk.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_slk 3X ""
+ .SH NAME
+ \fBslk_init\fR, \fBslk_set\fR, \fBslk_refresh\fR,
+@@ -77,7 +77,7 @@
+ many terminals. For those terminals that do not have soft labels,
+ \fBcurses\fR takes over the bottom line of \fBstdscr\fR, reducing the size of
+ \fBstdscr\fR and the variable \fBLINES\fR. \fBcurses\fR standardizes on eight
+-labels of up to eight characters each. In addition to this, the ncurses
++labels of up to eight characters each. In addition to this, the ncurses
+ implementation supports a mode where it simulates 12 labels of up to five
+ characters each. This is most common for todays PC like enduser devices.
+ Please note that ncurses simulates this mode by taking over up to two lines at
+@@ -94,10 +94,10 @@
+ identify the key numbers easily.
+
+ The \fBslk_set\fR routine requires \fIlabnum\fR to be a label number,
+-from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string
++from \fB1\fR to \fB8\fR (resp. \fB12\fR); \fIlabel\fR must be the string
+ to be put on the label, up to eight (resp. five) characters in length.
+ A null string or a null pointer sets up a blank label. \fIfmt\fR is either
+-\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is to be
++\fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the label is to be
+ left-justified, centered, or right-justified, respectively, within the
+ label.
+
+@@ -109,7 +109,7 @@
+
+ The \fBslk_clear\fR routine clears the soft labels from the screen.
+
+-The \fBslk_restore\fR routine, restores the soft labels to the screen
++The \fBslk_restore\fR routine restores the soft labels to the screen
+ after a \fBslk_clear\fR has been performed.
+
+ The \fBslk_touch\fR routine forces all the soft labels to be output
+@@ -118,7 +118,7 @@
+ The \fBslk_attron\fR, \fBslk_attrset\fR, \fBslk_attroff\fR and \fBslk_attr\fR
+ routines correspond to \fBattron\fR, \fBattrset\fR, \fBattroff\fR and \fBattr_get\fR.
+ They have an effect only if soft labels are simulated on the bottom line of
+-the screen. The default highlight for soft keys is A_STANDOUT (as in
++the screen. The default highlight for soft keys is A_STANDOUT (as in
+ System V curses, which does not document this fact).
+
+ The \fBslk_color\fR routine corresponds to \fBcolor_set\fR. It has an effect only
+diff -urNd -urNd ncurses-5.3/man/curs_termcap.3x ncurses-5.3.20030906.orig/man/curs_termcap.3x
+--- ncurses-5.3/man/curs_termcap.3x Sat Feb 16 13:26:41 2002
++++ ncurses-5.3.20030906.orig/man/curs_termcap.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_termcap.3x,v 1.16 2002/02/16 19:26:41 tom Exp $
++.\" $Id: curs_termcap.3x,v 1.18 2003/02/08 22:25:47 tom Exp $
+ .TH curs_termcap 3X ""
+ .ds n 5
+ .SH NAME
+@@ -130,6 +130,12 @@
+ Because terminfo conventions for representing padding in string capabilities
+ differ from termcap's, \fBtputs("50");\fR will put out a literal "50" rather
+ than busy-waiting for 50 milliseconds. Cope with it.
++
++Note that termcap has nothing analogous to terminfo's \fBsgr\fR string.
++One consequence of this is that termcap applications assume \fRme\fR
++(terminfo \fBsgr0\fR) does not reset the alternate character set.
++This implementation checks for, and modifies the data shown to the
++termcap interface to accommodate termcap's limitation in this respect.
+ .SH PORTABILITY
+ The XSI Curses standard, Issue 4 describes these functions. However, they
+ are marked TO BE WITHDRAWN and may be removed in future versions.
+diff -urNd -urNd ncurses-5.3/man/curs_terminfo.3x ncurses-5.3.20030906.orig/man/curs_terminfo.3x
+--- ncurses-5.3/man/curs_terminfo.3x Sat Jul 20 11:05:19 2002
++++ ncurses-5.3.20030906.orig/man/curs_terminfo.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1999-2000,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_terminfo.3x,v 1.16 2002/07/20 16:05:19 tom Exp $
++.\" $Id: curs_terminfo.3x,v 1.17 2003/05/10 20:22:01 tom Exp $
+ .TH curs_terminfo 3X ""
+ .ds n 5
+ .SH NAME
+@@ -108,7 +108,7 @@
+
+ The header files \fBcurses.h\fR and \fBterm.h\fR should be included (in this
+ order) to get the definitions for these strings, numbers, and flags.
+-Parameterized strings should be passed through \fBtparm\fR to instantiate them.
++Parameterized strings should be passed through \fBtparm\fR to instantiate them.
+ All \fBterminfo\fR strings [including the output of \fBtparm\fR] should be printed
+ with \fBtputs\fR or \fBputp\fR. Call the \fBreset_shell_mode\fR to restore the
+ tty modes before exiting [see \fBcurs_kernel\fR(3X)]. Programs which use
+@@ -280,7 +280,7 @@
+ actual terminal state, and that an application should touch and refresh
+ the window before resuming normal curses calls.
+ Both ncurses and System V Release 4 curses implement \fBmvcur\fR using
+-the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR.
++the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR.
+ So though it is documented as a terminfo function,
+ \fBmvcur\fR is really a curses function which is not well specified.
+ .SH SEE ALSO
+diff -urNd -urNd ncurses-5.3/man/curs_util.3x ncurses-5.3.20030906.orig/man/curs_util.3x
+--- ncurses-5.3/man/curs_util.3x Sun Sep 1 14:44:37 2002
++++ ncurses-5.3.20030906.orig/man/curs_util.3x Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_util.3x,v 1.9 2002/09/01 19:44:37 tom Exp $
++.\" $Id: curs_util.3x,v 1.11 2003/07/19 19:59:56 tom Exp $
+ .TH curs_util 3X ""
+ .SH NAME
+ \fBdelay_output\fR,
+@@ -44,7 +44,7 @@
+
+ \fBchar *unctrl(chtype c);\fR
+ .br
+-\fBchar *wunctrl(wchar_t w);\fR
++\fBchar *wunctrl(cchar_t *c);\fR
+ .br
+ \fBchar *keyname(int c);\fR
+ .br
+@@ -105,6 +105,7 @@
+ The \fBdelay_output\fR routine inserts an \fIms\fR millisecond pause
+ in output. This routine should not be used extensively because
+ padding characters are used rather than a CPU pause.
++If no padding character is specified, this uses \fBnapms\fR to perform the delay.
+
+ The \fBflushinp\fR routine throws away any typeahead that has been typed by the
+ user and has not yet been read by the program.
+@@ -125,7 +126,10 @@
+ terms. The description here is adapted from the XSI Curses standard (which
+ erroneously fails to describe the disabling of \fBcuu\fR).
+ .SH SEE ALSO
+-\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_scr_dump\fR(3X).
++\fBcurses\fR(3X),
++\fBcurs_initscr\fR(3X),
++\fBcurs_kernel\fR(3X),
++\fBcurs_scr_dump\fR(3X).
+ .\"#
+ .\"# The following sets edit modes for GNU EMACS
+ .\"# Local Variables:
+diff -urNd -urNd ncurses-5.3/man/curs_window.3x ncurses-5.3.20030906.orig/man/curs_window.3x
+--- ncurses-5.3/man/curs_window.3x Sat Jul 1 15:08:37 2000
++++ ncurses-5.3.20030906.orig/man/curs_window.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: curs_window.3x,v 1.9 2000/07/01 20:08:37 tom Exp $
++.\" $Id: curs_window.3x,v 1.10 2003/05/10 20:33:49 jmc Exp $
+ .TH curs_window 3X ""
+ .SH NAME
+ \fBnewwin\fR,
+@@ -142,7 +142,7 @@
+ incompletely implemented, and not well tested.
+
+ The System V curses documentation is very unclear about what \fBwsyncup\fR
+-and \fBwsyncdown\fR actually do. It seems to imply that they are only
++and \fBwsyncdown\fR actually do. It seems to imply that they are only
+ supposed to touch exactly those lines that are affected by ancestor changes.
+ The language here, and the behavior of the \fBcurses\fR implementation,
+ is patterned on the XPG4 curses standard. The weaker XPG4 spec may result
+diff -urNd -urNd ncurses-5.3/man/define_key.3x ncurses-5.3.20030906.orig/man/define_key.3x
+--- ncurses-5.3/man/define_key.3x Sat Feb 16 16:39:52 2002
++++ ncurses-5.3.20030906.orig/man/define_key.3x Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -28,14 +28,14 @@
+ .\"
+ .\" Author: Thomas E. Dickey <dickey@clark.net> 1997
+ .\"
+-.\" $Id: define_key.3x,v 1.8 2002/02/16 22:39:52 tom Exp $
++.\" $Id: define_key.3x,v 1.9 2003/05/17 23:25:11 tom Exp $
+ .TH define_key 3X ""
+ .SH NAME
+ \fBdefine_key\fP \- define a keycode
+ .SH SYNOPSIS
+ \fB#include <curses.h>\fP
+
+-\fBint define_key(char *definition, int keycode);\fP
++\fBint define_key(const char *definition, int keycode);\fP
+ .SH DESCRIPTION
+ This is an extension to the curses library.
+ It permits an application to define keycodes with their corresponding control
+diff -urNd -urNd ncurses-5.3/man/form_field.3x ncurses-5.3.20030906.orig/man/form_field.3x
+--- ncurses-5.3/man/form_field.3x Sat Nov 28 19:05:52 1998
++++ ncurses-5.3.20030906.orig/man/form_field.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field.3x,v 1.5 1998/11/29 01:05:52 Rick.Ohnemus Exp $
++.\" $Id: form_field.3x,v 1.6 2003/05/10 20:33:49 jmc Exp $
+ .TH form_field 3X ""
+ .SH NAME
+ \fBform_field\fR - make and break connections between fields and forms
+@@ -50,7 +50,7 @@
+
+ The function \fBfield_count\fR returns the count of fields in \fIform\fR.
+
+-The function \fBmove_field\fR move the given field (which must be disconnected)
++The function \fBmove_field\fR moves the given field (which must be disconnected)
+ to a specified location on the screen.
+ .SH RETURN VALUES
+ The function \fBform_fields\fR returns \fBNULL\fR on error.
+diff -urNd -urNd ncurses-5.3/man/form_field_buffer.3x ncurses-5.3.20030906.orig/man/form_field_buffer.3x
+--- ncurses-5.3/man/form_field_buffer.3x Sat Jan 19 16:48:23 2002
++++ ncurses-5.3.20030906.orig/man/form_field_buffer.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field_buffer.3x,v 1.9 2002/01/19 22:48:23 tom Exp $
++.\" $Id: form_field_buffer.3x,v 1.10 2003/05/10 20:22:01 tom Exp $
+ .TH form_field_buffer 3X ""
+ .SH NAME
+ \fBform_field_buffer\fR - field buffer control
+@@ -50,7 +50,7 @@
+ numbered buffers may be allocated by applications through the \fBnbuf\fR
+ argument of (see \fBform_field_new\fR(3X)) but are not manipulated by the forms
+ library. The function \fBfield_buffer\fR returns the address of the buffer.
+-Please note that this buffer has always the length of the buffer, that means
++Please note that this buffer has always the length of the buffer, that means
+ that it may typically contain trailing spaces. If you entered leading spaces
+ the buffer may also contain them. If you want the raw data, you must write your
+ own routine that copies the value out of the buffer and removes the leading
+diff -urNd -urNd ncurses-5.3/man/form_field_just.3x ncurses-5.3.20030906.orig/man/form_field_just.3x
+--- ncurses-5.3/man/form_field_just.3x Sat Jan 19 16:48:41 2002
++++ ncurses-5.3.20030906.orig/man/form_field_just.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field_just.3x,v 1.6 2002/01/19 22:48:41 tom Exp $
++.\" $Id: form_field_just.3x,v 1.7 2003/05/10 20:33:49 jmc Exp $
+ .TH form_field_just 3X ""
+ .SH NAME
+ \fBform_field_just\fR - retrieve field characteristics
+@@ -48,7 +48,7 @@
+ The function \fBfield_just\fR returns one of: NO_JUSTIFICATION,
+ JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
+
+-The function \fBset_field_just\fR return one of the following:
++The function \fBset_field_just\fR returns one of the following:
+ .TP 5
+ \fBE_OK\fR
+ The routine succeeded.
+diff -urNd -urNd ncurses-5.3/man/form_field_new.3x ncurses-5.3.20030906.orig/man/form_field_new.3x
+--- ncurses-5.3/man/form_field_new.3x Sat Feb 16 16:39:52 2002
++++ ncurses-5.3.20030906.orig/man/form_field_new.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field_new.3x,v 1.11 2002/02/16 22:39:52 tom Exp $
++.\" $Id: form_field_new.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
+ .TH form_field_new 3X ""
+ .SH NAME
+ \fBform_field_new\fR - create and destroy form fields
+@@ -84,7 +84,7 @@
+
+ It may be unwise to count on the set of attributes copied by
+ \fBdup_field\fR(3X) being portable; the System V forms library documents are
+-not very explicit on what gets copied and was not.
++not very explicit about what gets copied and what doesn't.
+ .SH AUTHORS
+ Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
+ S. Raymond.
+diff -urNd -urNd ncurses-5.3/man/form_field_opts.3x ncurses-5.3.20030906.orig/man/form_field_opts.3x
+--- ncurses-5.3/man/form_field_opts.3x Sat Nov 28 19:06:54 1998
++++ ncurses-5.3.20030906.orig/man/form_field_opts.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field_opts.3x,v 1.7 1998/11/29 01:06:54 Rick.Ohnemus Exp $
++.\" $Id: form_field_opts.3x,v 1.8 2003/05/10 20:33:49 jmc Exp $
+ .TH form_field_opts 3X ""
+ .SH NAME
+ \fBform_field_opts\fR - set and get field options
+@@ -58,7 +58,7 @@
+ .TP 5
+ O_VISIBLE
+ The field is displayed. If this option is off, display of the field is
+-suppressed,
++suppressed.
+ .TP 5
+ O_ACTIVE
+ The field is visited during processing. If this option is off, the field will
+@@ -79,7 +79,7 @@
+ The field is cleared whenever a character is entered at the first position.
+ .TP 5
+ O_AUTOSKIP
+-Skip to the next field when this one fills
++Skip to the next field when this one fills.
+ .TP 5
+ O_NULLOK
+ Allow a blank field.
+diff -urNd -urNd ncurses-5.3/man/form_field_validation.3x ncurses-5.3.20030906.orig/man/form_field_validation.3x
+--- ncurses-5.3/man/form_field_validation.3x Sat Feb 16 16:39:52 2002
++++ ncurses-5.3.20030906.orig/man/form_field_validation.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,10 +26,10 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_field_validation.3x,v 1.12 2002/02/16 22:39:52 tom Exp $
++.\" $Id: form_field_validation.3x,v 1.14 2003/05/10 20:33:49 jmc Exp $
+ .TH form_field_validation 3X ""
+ .SH NAME
+-\fBform_field_validation\fR - data type validation for fields
++\fBform_field_validation\fR - data type validation for fields
+ .SH SYNOPSIS
+ \fB#include <form.h>\fR
+ .br
+@@ -38,10 +38,25 @@
+ FIELDTYPE *field_type(const FIELD *field);
+ .br
+ void *field_arg(const FIELD *field);
++.sp
++FIELDTYPE *TYPE_ALNUM;
++.br
++FIELDTYPE *TYPE_ALPHA;
++.br
++FIELDTYPE *TYPE_ENUM;
++.br
++FIELDTYPE *TYPE_INTEGER;
++.br
++FIELDTYPE *TYPE_NUMERIC;
++.br
++FIELDTYPE *TYPE_REGEXP;
++.br
++FIELDTYPE *TYPE_IPV4;
+ .br
+ .SH DESCRIPTION
+ The function \fBset_field_type\fR declares a data type for a given form field.
+-This is the type checked by validation functions. The types are as follows:
++This is the type checked by validation functions.
++The predefined types are as follows:
+ .TP 5
+ TYPE_ALNUM
+ Alphanumeric data. Requires a third \fBint\fR argument, a minimum field width.
+@@ -56,27 +71,29 @@
+ match must be a unique one (if this flag is off, a prefix matches the first
+ of any set of more than one list elements with that prefix). Please notice
+ that the string list is not copied, only a reference to it is stored in the
+-field. So you should avoid to use a list that lives in automatic variables
++field. So you should avoid using a list that lives in automatic variables
+ on the stack.
+ .TP 5
+ TYPE_INTEGER
+ Integer data, parsable to an integer by \fBatoi(3)\fR. Requires a third
+-\fBint\fR argument controlling the precision, a fourth \fBlong\fR argument
++\fBint\fR argument controlling the precision, a fourth \fBlong\fR argument
+ constraining minimum value, and a fifth \fBlong\fR constraining maximum value.
+-If the maximum value is less or equal the minimum value, the range is simply
+-ignored. On return the field buffer is formatted according to the \fBprintf\fR
+-format specification ".*ld", where the '*' is replaced by the precision argument.
++If the maximum value is less than or equal to the minimum value, the range is
++simply ignored. On return the field buffer is formatted according to the
++\fBprintf\fR format specification ".*ld", where the '*' is replaced by the
++precision argument.
+ For details of the precision handling see \fBprintf's\fR man-page.
+ .TP 5
+ TYPE_NUMERIC
+ Numeric data (may have a decimal-point part). Requires a third
+ \fBint\fR argument controlling the precision, a fourth \fBdouble\fR
+-argument constraining minimum value, and a fifth \fBdouble\fR constraining
+-maximum value. If your system supports locale's, the decimal point character
++argument constraining minimum value, and a fifth \fBdouble\fR constraining
++maximum value. If your system supports locales, the decimal point character
+ to be used must be the one specified by your locale.
+-If the maximum value is less or equal the minimum value, the range is simply
+-ignored. On return the field buffer is formatted according to the \fBprintf\fR
+-format specification ".*f", where the '*' is replaced by the precision argument.
++If the maximum value is less than or equal to the minimum value, the range is
++simply ignored. On return the field buffer is formatted according to the
++\fBprintf\fR format specification ".*f", where the '*' is replaced by the
++precision argument.
+ For details of the precision handling see \fBprintf's\fR man-page.
+ .TP 5
+ TYPE_REGEXP
+@@ -96,7 +113,7 @@
+ numbers between 0 and 255. Trailing blanks in the buffer are ignored. The address
+ itself is not validated. Please note that this is an ncurses extension. This
+ field type may not be available in other curses implementations.
+-
++.PP
+ It is possible to set up new programmer-defined field types. See the
+ \fBform_fieldtype\fR(3X) manual page.
+ .SH RETURN VALUE
+diff -urNd -urNd ncurses-5.3/man/form_fieldtype.3x ncurses-5.3.20030906.orig/man/form_fieldtype.3x
+--- ncurses-5.3/man/form_fieldtype.3x Sat Aug 4 15:36:25 2001
++++ ncurses-5.3.20030906.orig/man/form_fieldtype.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: form_fieldtype.3x,v 1.9 2001/08/04 20:36:25 William.Setzer Exp $
++.\" $Id: form_fieldtype.3x,v 1.12 2003/05/10 20:33:49 jmc Exp $
+ .TH form_fieldtype 3X ""
+ .SH NAME
+ \fBform_fieldtype\fR - define validation-field types
+@@ -57,7 +57,7 @@
+ .SH DESCRIPTION
+ The function \fBnew_fieldtype\fR creates a new field type usable for data
+ validation. You supply it with \fIfield_check\fR, a predicate to check the
+-validity of an entered data string whenever the user attempt to leave a field.
++validity of an entered data string whenever the user attempts to leave a field.
+ The (FIELD *) argument is passed in so the validation predicate can see the
+ field's buffer, sizes and other attributes; the second argument is an
+ argument-block structure, about which more below.
+@@ -69,22 +69,31 @@
+ The function \fBfree_fieldtype\fR frees the space allocated for a given
+ validation type.
+
+-The function \fBset_fieldtype\fR associates three storage-management functions
+-with a field type. The \fImak_arg\fR function is automatically applied to the
++The function \fBset_fieldtype_arg\fR associates three storage-management functions
++with a field type.
++The \fImake_arg\fR function is automatically applied to the
+ list of arguments you give \fBset_field_type\fR when attaching validation
+ to a field; its job is to bundle these into an allocated argument-block
+-object which can later be passed to validation predicated. The other two
+-hook arguments should copy and free argument-block structures. They will
+-be used by the forms-driver code. You must supply the \fImak_arg\fR function,
+-the other two are optional, you may supply NULL for them. In this case it
+-is assumed, that \fImak_arg\fR doesn't allocate memory but simply loads the
++object which can later be passed to validation predicated.
++The other two hook arguments should copy and free argument-block structures.
++They will be used by the forms-driver code.
++You must supply the \fImake_arg\fR function,
++the other two are optional, you may supply NULL for them.
++In this case it is assumed
++that \fImake_arg\fR does not allocate memory but simply loads the
+ argument into a single scalar value.
+
++The function \fBlink_fieldtype\fR creates
++a new field type from the two given types.
++They are connected by an logical 'OR'.
++
+ The form driver requests \fBREQ_NEXT_CHOICE\fR and \fBREQ_PREV_CHOICE\fR assume
+ that the possible values of a field form an ordered set, and provide the forms
+-user with a way to move through the set. The \fBset_fieldtype_choice\fR
++user with a way to move through the set.
++The \fBset_fieldtype_choice\fR
+ function allows forms programmers to define successor and predecessor functions
+-for the field type. These functions take the field pointer and an
++for the field type.
++These functions take the field pointer and an
+ argument-block structure as arguments.
+ .SH RETURN VALUE
+ The pointer-valued routines return NULL on error.
+diff -urNd -urNd ncurses-5.3/man/infocmp.1m ncurses-5.3.20030906.orig/man/infocmp.1m
+--- ncurses-5.3/man/infocmp.1m Sat Oct 5 16:22:21 2002
++++ ncurses-5.3.20030906.orig/man/infocmp.1m Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,14 +27,14 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: infocmp.1m,v 1.30 2002/10/05 21:22:21 tom Exp $
++.\" $Id: infocmp.1m,v 1.33 2003/05/11 00:32:53 tom Exp $
+ .TH infocmp 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
+ .SH NAME
+ \fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions
+ .SH SYNOPSIS
+-\fBinfocmp\fR [\fB-\
++\fBinfocmp\fR [\fB\-\
+ 1\
+ C\
+ E\
+@@ -58,9 +58,9 @@
+ u\
+ \fR]
+ .br
+- [\fB-v\fR \fIn\fR] [\fB-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB-R \fR\fBsubset\fR]
++ [\fB\-v\fR \fIn\fR] [\fB\-s d\fR| \fBi\fR| \fBl\fR| \fBc\fR] [\fB\-R \fR\fBsubset\fR]
+ .br
+- [\fB-w\fR\ \fIwidth\fR] [\fB-A\fR\ \fIdirectory\fR] [\fB-B\fR\ \fIdirectory\fR]
++ [\fB\-w\fR\ \fIwidth\fR] [\fB\-A\fR\ \fIdirectory\fR] [\fB\-B\fR\ \fIdirectory\fR]
+ .br
+ [\fItermname\fR...]
+ .SH DESCRIPTION
+@@ -72,9 +72,9 @@
+ string fields.
+ .SS Default Options
+ If no options are specified and zero or one \fItermnames\fR are specified, the
+-\fB-I\fR option will be assumed. If more than one \fItermname\fR is specified,
+-the \fB-d\fR option will be assumed.
+-.SS Comparison Options [-d] [-c] [-n]
++\fB\-I\fR option will be assumed. If more than one \fItermname\fR is specified,
++the \fB\-d\fR option will be assumed.
++.SS Comparison Options [\-d] [\-c] [\-n]
+ \fBinfocmp\fR compares the \fBterminfo\fR description of the first terminal
+ \fItermname\fR with each of the descriptions given by the entries for the other
+ terminal's \fItermnames\fR. If a capability is defined for only one of the
+@@ -82,35 +82,35 @@
+ \fBF\fR for boolean variables, \fB-1\fR for integer variables, and \fBNULL\fR
+ for string variables.
+
+-The \fB-d\fR option produces a list of each capability that is different
++The \fB\-d\fR option produces a list of each capability that is different
+ between two entries. This option is useful to show the difference between two
+ entries, created by different people, for the same or similar terminals.
+
+-The \fB-c\fR option produces a list of each capability that is common between
++The \fB\-c\fR option produces a list of each capability that is common between
+ two entries. Capabilities that are not set are ignored. This option can be
+-used as a quick check to see if the \fB-u\fR option is worth using.
++used as a quick check to see if the \fB\-u\fR option is worth using.
+
+-The \fB-n\fR option produces a list of each capability that is in neither
++The \fB\-n\fR option produces a list of each capability that is in neither
+ entry. If no \fItermnames\fR are given, the environment variable \fBTERM\fR
+ will be used for both of the \fItermnames\fR. This can be used as a quick
+ check to see if anything was left out of a description.
+-.SS Source Listing Options [-I] [-L] [-C] [-r]
+-The \fB-I\fR, \fB-L\fR, and \fB-C\fR options will produce a source listing for
++.SS Source Listing Options [\-I] [\-L] [\-C] [\-r]
++The \fB\-I\fR, \fB\-L\fR, and \fB\-C\fR options will produce a source listing for
+ each terminal named.
+
+ .TS
+ center tab(/) ;
+ l l .
+-\fB-I\fR/use the \fBterminfo\fR names
+-\fB-L\fR/use the long C variable name listed in <\fBterm.h\fR>
+-\fB-C\fR/use the \fBtermcap\fR names
+-\fB-r\fR/when using \fB-C\fR, put out all capabilities in \fBtermcap\fR form
++\fB\-I\fR/use the \fBterminfo\fR names
++\fB\-L\fR/use the long C variable name listed in <\fBterm.h\fR>
++\fB\-C\fR/use the \fBtermcap\fR names
++\fB\-r\fR/when using \fB\-C\fR, put out all capabilities in \fBtermcap\fR form
+ .TE
+
+ If no \fItermnames\fR are given, the environment variable \fBTERM\fR will be
+ used for the terminal name.
+
+-The source produced by the \fB-C\fR option may be used directly as a
++The source produced by the \fB\-C\fR option may be used directly as a
+ \fBtermcap\fR entry, but not all parameterized strings can be changed to
+ the \fBtermcap\fR format. \fBinfocmp\fR will attempt to convert most of the
+ parameterized information, and anything not converted will be plainly marked in
+@@ -123,7 +123,7 @@
+ All \fBtermcap\fR variables no longer supported by \fBterminfo\fR, but which
+ are derivable from other \fBterminfo\fR variables, will be output. Not all
+ \fBterminfo\fR capabilities will be translated; only those variables which were
+-part of \fBtermcap\fR will normally be output. Specifying the \fB-r\fR option
++part of \fBtermcap\fR will normally be output. Specifying the \fB\-r\fR option
+ will take off this restriction, allowing all capabilities to be output in
+ \fItermcap\fR form.
+
+@@ -151,8 +151,8 @@
+ \fB%p1%?%'x'%>%t%p1%'y'%+%;/%>xy\fR/concept
+ \fB%p2\fR is printed before \fB%p1/%r\fR/hp
+ .TE
+-.SS Use= Option [-u]
+-The \fB-u\fR option produces a \fBterminfo\fR source description of the first
++.SS Use= Option [\-u]
++The \fB\-u\fR option produces a \fBterminfo\fR source description of the first
+ terminal \fItermname\fR which is relative to the sum of the descriptions given
+ by the entries for the other terminals \fItermnames\fR. It does this by
+ analyzing the differences between the first \fItermname\fR and the other
+@@ -187,29 +187,29 @@
+ the compilation time, is specifying extra \fBuse=\fR fields that are
+ superfluous. \fBinfocmp\fR will flag any other \fItermname use=\fR fields that
+ were not needed.
+-.SS Changing Databases [-A \fIdirectory\fR] [-B \fIdirectory\fR]
++.SS Changing Databases [\-A \fIdirectory\fR] [\-B \fIdirectory\fR]
+ The location of the compiled \fBterminfo\fR database is taken from the
+ environment variable \fBTERMINFO\fR . If the variable is not defined, or the
+ terminal is not found in that location, the system \fBterminfo\fR database,
+-in \fB@TERMINFO@\fR, will be used. The options \fB-A\fR
+-and \fB-B\fR may be used to override this location. The \fB-A\fR option will
+-set \fBTERMINFO\fR for the first \fItermname\fR and the \fB-B\fR option will
++in \fB@TERMINFO@\fR, will be used. The options \fB\-A\fR
++and \fB\-B\fR may be used to override this location. The \fB\-A\fR option will
++set \fBTERMINFO\fR for the first \fItermname\fR and the \fB\-B\fR option will
+ set \fBTERMINFO\fR for the other \fItermnames\fR. With this, it is possible to
+ compare descriptions for a terminal with the same name located in two different
+ databases. This is useful for comparing descriptions for the same terminal
+ created by different people.
+ .SS Other Options
+ .TP 5
+-\fB-1\fR
++\fB\-1\fR
+ causes the fields to be printed out one to a line. Otherwise,
+ the fields will be printed several to a line to a maximum width
+ of 60 characters.
+ .TP
+-\fB-a\fR
++\fB\-a\fR
+ tells \fBinfocmp\fP to retain commented-out capabilities rather than discarding
+ them. Capabilities are commented by prefixing them with a period.
+ .TP 5
+-\fB-E\fR
++\fB\-E\fR
+ Dump the capabilities of the given terminal as tables, needed in
+ the C initializer for a
+ TERMTYPE structure (the terminal capability structure in the \fB<term.h>\fR).
+@@ -218,17 +218,17 @@
+ The tables are all declared static, and are named according to the type
+ and the name of the corresponding terminal entry.
+ .sp
+-Before ncurses 5.0, the split between the \fB\-e\fP and \fB\-E\fP
++Before ncurses 5.0, the split between the \fB\-e\fP and \fB\-E\fP
+ options was not needed; but support for extended names required making
+ the arrays of terminal capabilities separate from the TERMTYPE structure.
+ .TP 5
+-\fB-e\fR
++\fB\-e\fR
+ Dump the capabilities of the given terminal as a C initializer for a
+ TERMTYPE structure (the terminal capability structure in the \fB<term.h>\fR).
+ This option is useful for preparing versions of the curses library hardwired
+ for a given terminal type.
+ .TP 5
+-\fB-F\fR
++\fB\-F\fR
+ compare terminfo files. This assumes that two following arguments are
+ filenames. The files are searched for pairwise matches between
+ entries, with two entries considered to match if any of their names do.
+@@ -237,21 +237,21 @@
+ with exactly one match it includes a difference report. Normally,
+ to reduce the volume of the report, use references are
+ not resolved before looking for differences, but resolution can be forced
+-by also specifying \fB-r\fR.
++by also specifying \fB\-r\fR.
+ .TP 5
+-\fB-f\fR
++\fB\-f\fR
+ Display complex terminfo strings which contain if/then/else/endif expressions
+ indented for readability.
+ .TP 5
+-\fB-G\fR
++\fB\-G\fR
+ Display constant literals in decimal form
+ rather than their character equivalents.
+ .TP 5
+-\fB-g\fR
++\fB\-g\fR
+ Display constant character literals in quoted form
+ rather than their decimal equivalents.
+ .TP 5
+-\fB-i\fR
++\fB\-i\fR
+ Analyze the initialization (\fBis1\fR, \fBis2\fR, \fBis3\fR), and reset
+ (\fBrs1\fR, \fBrs2\fR, \fBrs3\fR), strings in the entry. For each string, the
+ code tries to analyze it into actions in terms of the other capabilities in the
+@@ -302,17 +302,17 @@
+
+ An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}).
+ .TP 5
+-\bB-l\fR
++\fB\-l\fR
+ Set output format to terminfo.
+ .TP 5
+-\fB-p\fR
++\fB\-p\fR
+ Ignore padding specifications when comparing strings.
+ .TP 5
+-\fB-q\fR
++\fB\-q\fR
+ Make the comparison listing shorter by omitting subheadings, and using
+ "-" for absent capabilities, "@" for canceled rather than "NULL".
+ .TP 5
+-\fB-R\fR\fIsubset\fR
++\fB\-R\fR\fIsubset\fR
+ Restrict output to a given subset. This option is for use with archaic
+ versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
+ the full set of SVR4/XSI Curses terminfo; and variants such as AIX
+@@ -321,8 +321,8 @@
+ details. You can also choose the subset "BSD" which selects only capabilities
+ with termcap equivalents recognized by 4.4BSD.
+ .TP
+-\fB-s \fR\fI[d|i|l|c]\fR
+-The \fB-s\fR option sorts the fields within each type according to the argument
++\fB\-s \fR\fI[d|i|l|c]\fR
++The \fB\-s\fR option sorts the fields within each type according to the argument
+ below:
+ .br
+ .RS 5
+@@ -340,30 +340,30 @@
+ sort by the \fItermcap\fR name.
+ .RE
+ .IP
+-If the \fB-s\fR option is not given, the fields printed out will be
++If the \fB\-s\fR option is not given, the fields printed out will be
+ sorted alphabetically by the \fBterminfo\fR name within each type,
+-except in the case of the \fB-C\fR or the \fB-L\fR options, which cause the
++except in the case of the \fB\-C\fR or the \fB\-L\fR options, which cause the
+ sorting to be done by the \fBtermcap\fR name or the long C variable
+ name, respectively.
+ .TP 5
+-\fB-T\fR
++\fB\-T\fR
+ eliminates size-restrictions on the generated text.
+ This is mainly useful for testing and analysis, since the compiled
+ descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
+ .TP
+-\fB-t\fR
++\fB\-t\fR
+ tells \fBtic\fP to discard commented-out capabilities.
+ Normally when translating from terminfo to termcap,
+ untranslatable capabilities are commented-out.
+ .TP 5
+-\fB-V\fR
++\fB\-V\fR
+ reports the version of ncurses which was used in this program, and exits.
+ .TP 5
+-\fB-v\fR \fIn\fR
++\fB\-v\fR \fIn\fR
+ prints out tracing information on standard error as the program runs.
+ Higher values of n induce greater verbosity.
+ .TP 5
+-\fB-w\fR \fIwidth\fR
++\fB\-w\fR \fIwidth\fR
+ changes the output to \fIwidth\fR characters.
+ .SH FILES
+ .TP 20
+@@ -371,28 +371,28 @@
+ Compiled terminal description database.
+ .SH EXTENSIONS
+ The
+-\fB-E\fR,
+-\fB-F\fR,
+-\fB-G\fR,
+-\fB-R\fR,
+-\fB-T\fR,
+-\fB-V\fR,
+-\fB-a\fR,
+-\fB-e\fR,
+-\fB-f\fR,
+-\fB-g\fR,
+-\fB-i\fR,
+-\fB-l\fR,
+-\fB-p\fR,
+-\fB-q\fR and
+-\fB-t\fR
++\fB\-E\fR,
++\fB\-F\fR,
++\fB\-G\fR,
++\fB\-R\fR,
++\fB\-T\fR,
++\fB\-V\fR,
++\fB\-a\fR,
++\fB\-e\fR,
++\fB\-f\fR,
++\fB\-g\fR,
++\fB\-i\fR,
++\fB\-l\fR,
++\fB\-p\fR,
++\fB\-q\fR and
++\fB\-t\fR
+ options are not supported in SVr4 curses.
+
+-The \fB-r\fR option's notion of `termcap' capabilities is System V Release 4's.
++The \fB\-r\fR option's notion of `termcap' capabilities is System V Release 4's.
+ Actual BSD curses versions will have a more restricted set. To see only the
+-4.4BSD set, use -r -RBSD.
++4.4BSD set, use \fB\-r\fR \fB\-RBSD\fR.
+ .SH BUGS
+-The -F option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode.
++The \fB\-F\fR option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode.
+ .SH SEE ALSO
+ \fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M),
+ \fBtic\fR(1M), \fBtoe\fR(1M),
+diff -urNd -urNd ncurses-5.3/man/infotocap.1m ncurses-5.3.20030906.orig/man/infotocap.1m
+--- ncurses-5.3/man/infotocap.1m Sat Aug 12 20:56:03 2000
++++ ncurses-5.3.20030906.orig/man/infotocap.1m Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1999,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1999-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,40 +27,40 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: infotocap.1m,v 1.3 2000/08/13 01:56:03 tom Exp $
++.\" $Id: infotocap.1m,v 1.4 2003/05/11 00:32:53 tom Exp $
+ .TH infotocap 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
+ .SH NAME
+ \fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
+ .SH SYNOPSIS
+-\fBinfotocap\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
++\fBinfotocap\fR [\fB\-v\fR\fIn\fR \fIwidth\fR] [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR . . .
+ .SH DESCRIPTION
+ \fBinfotocap\fR looks in \fIfile\fR for \fBterminfo\fR descriptions. For each
+ one found, an equivalent \fBtermcap\fR description is written to standard
+ output. Terminfo \fBuse\fR capabilities are translated directly to termcap
+ \fBtc\fR capabilities.
+ .TP 5
+-\fB-v\fR
++\fB\-v\fR
+ print out tracing information on standard error as the program runs.
+ .TP 5
+-\fB-V\fR
++\fB\-V\fR
+ print out the version of the program in use on standard error and exit.
+ .TP 5
+-\fB-1\fR
++\fB\-1\fR
+ cause the fields to print out one to a line. Otherwise, the fields
+ will be printed several to a line to a maximum width of 60
+ characters.
+ .TP 5
+-\fB-w\fR
++\fB\-w\fR
+ change the output to \fIwidth\fR characters.
+ .SH FILES
+ .TP 20
+ \*d
+ Compiled terminal description database.
+ .SH NOTES
+-This utility is actually a link to \fItic\fR(1M), running in \fI-C\fR mode.
+-You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR.
++This utility is actually a link to \fItic\fR(1M), running in \fI\-C\fR mode.
++You can use other \fItic\fR options such as \fB\-f\fR and \fB\-x\fR.
+ .SH SEE ALSO
+ \fBcurses\fR(3X),
+ \fBtic\fR(1M),
+diff -urNd -urNd ncurses-5.3/man/key_defined.3x ncurses-5.3.20030906.orig/man/key_defined.3x
+--- ncurses-5.3/man/key_defined.3x Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/man/key_defined.3x Sun Jul 20 14:02:08 2003
+@@ -0,0 +1,60 @@
++.\"***************************************************************************
++.\" Copyright (c) 2003 Free Software Foundation, Inc. *
++.\" *
++.\" Permission is hereby granted, free of charge, to any person obtaining a *
++.\" copy of this software and associated documentation files (the *
++.\" "Software"), to deal in the Software without restriction, including *
++.\" without limitation the rights to use, copy, modify, merge, publish, *
++.\" distribute, distribute with modifications, sublicense, and/or sell *
++.\" copies of the Software, and to permit persons to whom the Software is *
++.\" furnished to do so, subject to the following conditions: *
++.\" *
++.\" The above copyright notice and this permission notice shall be included *
++.\" in all copies or substantial portions of the Software. *
++.\" *
++.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++.\" *
++.\" Except as contained in this notice, the name(s) of the above copyright *
++.\" holders shall not be used in advertising or otherwise to promote the *
++.\" sale, use or other dealings in this Software without prior written *
++.\" authorization. *
++.\"***************************************************************************
++.\"
++.\" Author: Thomas E. Dickey 2003
++.\"
++.\" $Id: key_defined.3x,v 1.2 2003/05/17 23:24:45 tom Exp $
++.TH key_defined 3X ""
++.SH NAME
++\fBdefine_key\fP \- define a keycode
++.SH SYNOPSIS
++\fB#include <curses.h>\fP
++
++\fBint key_defined(const char *definition);\fP
++.SH DESCRIPTION
++This is an extension to the curses library.
++It permits an application to determine if a string is currently bound
++to any keycode.
++.SH RETURN VALUE
++If the string is bound to a keycode, its value (greater than zero) is returned.
++If no keycode is bound, zero is returned.
++If the string conflicts with longer strings which are bound to keys, -1 is returned.
++.SH PORTABILITY
++These routines are specific to ncurses. They were not supported on
++Version 7, BSD or System V implementations. It is recommended that
++any code depending on them be conditioned using NCURSES_VERSION.
++.SH SEE ALSO
++\fBdefine_key\fR(3X).
++.SH AUTHOR
++Thomas Dickey.
++.\"#
++.\"# The following sets edit modes for GNU EMACS
++.\"# Local Variables:
++.\"# mode:nroff
++.\"# fill-column:79
++.\"# End:
+diff -urNd -urNd ncurses-5.3/man/keybound.3x ncurses-5.3.20030906.orig/man/keybound.3x
+--- ncurses-5.3/man/keybound.3x Sat Feb 16 16:30:36 2002
++++ ncurses-5.3.20030906.orig/man/keybound.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1999,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ .\"
+ .\" Author: Thomas E. Dickey <dickey@clark.net> 1999
+ .\"
+-.\" $Id: keybound.3x,v 1.3 2002/02/16 22:30:36 tom Exp $
++.\" $Id: keybound.3x,v 1.4 2003/03/08 19:08:33 tom Exp $
+ .TH keyok 3X ""
+ .SH NAME
+ \fBkeybound\fP \- return definition of keycode
+@@ -41,9 +41,12 @@
+ It permits an application to determine the string which is defined
+ in the terminfo for specific keycodes.
+ .SH RETURN VALUE
+-The keycode must be greater than zero, else NULL is returned.
++The \fIkeycode\fP parameter must be greater than zero, else NULL is returned.
+ If it does not correspond to a defined key, then NULL is returned.
+-Otherwise, the function returns a string, which must be freed by the caller.
++The \fIcount\fP parameter is used to allow the application to iterate
++through multiple definitions, counting from zero.
++When successful,
++the function returns a string which must be freed by the caller.
+ .SH PORTABILITY
+ These routines are specific to ncurses. They were not supported on
+ Version 7, BSD or System V implementations. It is recommended that
+diff -urNd -urNd ncurses-5.3/man/make_sed.sh ncurses-5.3.20030906.orig/man/make_sed.sh
+--- ncurses-5.3/man/make_sed.sh Wed Feb 11 06:13:48 1998
++++ ncurses-5.3.20030906.orig/man/make_sed.sh Tue May 13 20:08:22 2003
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+-# $Id: make_sed.sh,v 1.5 1998/02/11 12:13:48 tom Exp $
++# $Id: make_sed.sh,v 1.6 2003/01/11 22:23:11 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998 Free Software Foundation, Inc. #
++# Copyright (c) 1998,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -47,7 +47,7 @@
+ rm -f $UPPER $SCRIPT $RESULT
+ trap "rm -f $COL.* $INPUT $UPPER $SCRIPT $RESULT" 0 1 2 5 15
+ fgrep -v \# $1 | \
+-sed -e 's/[ ]\+/ /g' >$INPUT
++sed -e 's/[ ][ ]*/ /g' >$INPUT
+
+ for F in 1 2 3 4
+ do
+diff -urNd -urNd ncurses-5.3/man/man_db.renames ncurses-5.3.20030906.orig/man/man_db.renames
+--- ncurses-5.3/man/man_db.renames Sat Apr 13 16:49:08 2002
++++ ncurses-5.3.20030906.orig/man/man_db.renames Sun Jul 20 14:02:08 2003
+@@ -1,4 +1,4 @@
+-# $Id: man_db.renames,v 0.31 2002/04/13 21:49:08 tom Exp $
++# $Id: man_db.renames,v 0.32 2003/05/31 17:27:11 tom Exp $
+ # Manual-page renamings for the man_db program
+ #
+ # Files:
+@@ -89,6 +89,7 @@
+ infotocap.1m infotocap.1
+ keybound.3x keybound.3ncurses
+ keyok.3x keyok.3ncurses
++key_defined.3x key_defined.3ncurses
+ menu.3x menu.3menu
+ menu_attributes.3x attributes.3menu
+ menu_cursor.3x cursor.3menu
+diff -urNd -urNd ncurses-5.3/man/manlinks.sed ncurses-5.3.20030906.orig/man/manlinks.sed
+--- ncurses-5.3/man/manlinks.sed Sat Sep 21 14:02:03 2002
++++ ncurses-5.3.20030906.orig/man/manlinks.sed Sun Jul 20 14:02:08 2003
+@@ -1,6 +1,6 @@
+-# $Id: manlinks.sed,v 1.10 2002/09/21 19:02:03 tom Exp $
++# $Id: manlinks.sed,v 1.11 2003/05/24 18:57:33 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2000,2002 Free Software Foundation, Inc. #
++# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,6 +29,8 @@
+ # Given a manpage (nroff) as input, writes a list of the names that are
+ # listed in the "NAME" section, i.e., the names that we would like to use
+ # as aliases for the manpage -T.Dickey
++#
++# eliminate formatting controls that get in the way
+ /^'\\"/d
+ /\.\\"/d
+ /^\.br/d
+@@ -36,11 +38,18 @@
+ s/^\.IX//
+ s/\\f.//g
+ s/[:,]/ /g
++#
++# eliminate unnecessary whitespace, convert multiple blanks to single space
+ s/^[ ][ ]*//
+ s/[ ][ ]*$//
+ s/[ ][ ]*/ /g
++#
++# convert ".SH" into a more manageable form
+ s/\.SH[ ][ ]*/.SH_(/
+ #
++# in ".SH NAME"
++# change "\-" to "-", eliminate text after "-", and split the remaining lines
++# at each space, making a list of names:
+ /^\.SH_(NAME/,/^\.SH_(SYNOPSIS/{
+ s/\\-.*/ -/
+ / -/{
+@@ -54,16 +63,39 @@
+ s/ /\
+ /g
+ }
++#
++# in ".SH SYNOPSIS"
++# remove any line that does not contain a '(', since we only want functions.
++# then strip off return-type of each function.
++# finally, remove the parameter list, which begins with a '('.
+ /^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
+- /^#/d
+ /^[^(]*$/d
++ # reduce
++ # .B "int add_wch( const cchar_t *\fIwch\fB );"
++ # to
++ # add_wch( const cchar_t *\fIwch\fB );"
+ s/^\([^ (]* [^ (]* [*]*\)//g
+ s/^\([^ (]* [*]*\)//g
++ # trim blanks in case we have
++ # void (*) (FORM *) field_init(const FORM *form);
++ s/) (/)(/g
++ # reduce stuff like
++ # void (*)(FORM *) field_init(const FORM *form);
++ # to
++ # field_init(const FORM *form);
++ s/^\(([^)]*)\)\(([^)]*)\)*[ ]*//g
++ # rename marker temporarily
+ s/\.SH_(/.SH_/
+- s/(.*//
++ # kill lines with ");", and trim off beginning of argument list.
++ s/[()].*//
++ # rename marker back
+ s/\.SH_/.SH_(/
+ }
++#
++# delete ".SH DESCRIPTION" and following lines
+ /^\.SH_(DESCRIPTION/,${
+ d
+ }
++#
++# delete any remaining directives
+ /^\./d
+diff -urNd -urNd ncurses-5.3/man/menu_driver.3x ncurses-5.3.20030906.orig/man/menu_driver.3x
+--- ncurses-5.3/man/menu_driver.3x Sat Feb 16 16:40:59 2002
++++ ncurses-5.3.20030906.orig/man/menu_driver.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: menu_driver.3x,v 1.10 2002/02/16 22:40:59 tom Exp $
++.\" $Id: menu_driver.3x,v 1.11 2003/05/10 20:22:01 tom Exp $
+ .TH menu_driver 3X ""
+ .SH NAME
+ \fBmenu_driver\fR - command-processing loop of the menu system
+@@ -115,10 +115,10 @@
+ is generated and \fBE_UNKNOWN_COMMAND\fR is returned. This return value makes
+ sense, because a double click usually means that an item-specific action should
+ be returned. It's exactly the purpose of this return value to signal that an
+-application specific command should be executed. If a translation
++application specific command should be executed. If a translation
+ into a request was done, \fBmenu_driver\fR returns the result of this request.
+ If you clicked outside the user window or the mouse event couldn't be translated
+-into a menu request an \fBE_REQUEST_DENIED\fR is returned.
++into a menu request an \fBE_REQUEST_DENIED\fR is returned.
+ .PP
+ If the second argument is neither printable ASCII nor one of the above
+ pre-defined menu requests or KEY_MOUSE, the drive assumes it is an application-specific
+diff -urNd -urNd ncurses-5.3/man/menu_pattern.3x ncurses-5.3.20030906.orig/man/menu_pattern.3x
+--- ncurses-5.3/man/menu_pattern.3x Sat Feb 16 16:40:59 2002
++++ ncurses-5.3.20030906.orig/man/menu_pattern.3x Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: menu_pattern.3x,v 1.7 2002/02/16 22:40:59 tom Exp $
++.\" $Id: menu_pattern.3x,v 1.8 2003/05/10 20:22:01 tom Exp $
+ .TH menu_pattern 3X ""
+ .SH NAME
+ \fBmenu_pattern\fR - get and set a menu's pattern buffer
+@@ -44,7 +44,7 @@
+
+ The function \fBset_menu_pattern\fR sets the pattern buffer for the given menu
+ and tries to find the first matching item. If it succeeds, that item becomes
+-current; if not, the current item does not change.
++current; if not, the current item does not change.
+
+ The function \fBmenu_pattern\fR returns the pattern buffer of the given
+ \fImenu\fR.
+diff -urNd -urNd ncurses-5.3/man/ncurses.3x ncurses-5.3.20030906.orig/man/ncurses.3x
+--- ncurses-5.3/man/ncurses.3x Sat Aug 10 16:56:07 2002
++++ ncurses-5.3.20030906.orig/man/ncurses.3x Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,1999,2001,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: ncurses.3x,v 1.63 2002/08/10 21:56:07 tom Exp $
++.\" $Id: ncurses.3x,v 1.66 2003/05/11 00:32:53 tom Exp $
+ .hy 0
+ .TH ncurses 3X ""
+ .ds n 5
+@@ -322,6 +322,7 @@
+ is_linetouched/\fBcurs_touch\fR(3X)
+ is_wintouched/\fBcurs_touch\fR(3X)
+ isendwin/\fBcurs_initscr\fR(3X)
++key_defined/\fBkey_defined\fR(3X)*
+ key_name/\fBcurs_util\fR(3X)
+ keybound/\fBkeybound\fR(3X)*
+ keyname/\fBcurs_util\fR(3X)
+@@ -614,9 +615,9 @@
+ otherwise noted in the routine descriptions.
+
+ All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR,
+-\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, \fBgetmaxyx\fR. The return
++\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR. The return
+ values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
+-\fBgetmaxyx\fR are undefined (\fIi\fR.\fIe\fR., these should not be used as the
++\fBgetmaxyx\fR are undefined (i.e., these should not be used as the
+ right-hand side of assignment statements).
+
+ Routines that return pointers return \fBNULL\fR on error.
+@@ -629,7 +630,7 @@
+ The debugging library checks this environment symbol when the application
+ has redirected output to a file.
+ The symbol's numeric value is used for the baudrate.
+-If no value is found \fBncurses\fR uses 9600.
++If no value is found, \fBncurses\fR uses 9600.
+ This allows testers to construct repeatable test-cases
+ that take into account costs that depend on baudrate.
+ .TP 5
+@@ -784,7 +785,7 @@
+ .RS
+ .TP 3
+ -
+-the last directory to which \fBncurses\fR wrote, if any, is searched first.
++the last directory to which \fBncurses\fR wrote, if any, is searched first
+ .TP 3
+ -
+ the directory specified by the TERMINFO symbol
+@@ -828,7 +829,7 @@
+ \fBterminfo\fR(\*n) and related pages whose names begin "curs_" for detailed routine
+ descriptions.
+ .SH EXTENSIONS
+-The \fBncurses\fR library can be compiled with an option (\fB-DUSE_GETCAP\fR)
++The \fBncurses\fR library can be compiled with an option (\fB\-DUSE_GETCAP\fR)
+ that falls back to the old-style /etc/termcap file if the terminal setup code
+ cannot find a terminfo entry corresponding to \fBTERM\fR. Use of this feature
+ is not recommended, as it essentially includes an entire termcap compiler in
+@@ -848,6 +849,7 @@
+ of terminals by allowing the application designer to define additional
+ key sequences at runtime.
+ See the \fBdefine_key\fR(3X)
++\fBkey_defined\fR(3X),
+ and \fBkeyok\fR(3X) manual pages for details.
+
+ The \fBncurses\fR library can exploit the capabilities of terminals which
+diff -urNd -urNd ncurses-5.3/man/panel.3x ncurses-5.3.20030906.orig/man/panel.3x
+--- ncurses-5.3/man/panel.3x Sat Aug 12 20:56:47 2000
++++ ncurses-5.3.20030906.orig/man/panel.3x Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: panel.3x,v 1.10 2000/08/13 01:56:47 tom Exp $
++.\" $Id: panel.3x,v 1.11 2003/05/17 22:44:09 jmc Exp $
+ .TH panel 3X ""
+ .ds n 5
+ .ds d @TERMINFO@
+@@ -77,7 +77,7 @@
+ of the stack.
+ .P
+ A window is associated with every panel. The panel routines enable
+-you to create, move, hides, and show panels, as well as position a
++you to create, move, hide, and show panels, as well as position a
+ panel at any desired location in the stack.
+ .P
+ Panel routines are a functional layer added to \fBcurses\fR(3X), make only
+diff -urNd -urNd ncurses-5.3/man/term.5 ncurses-5.3.20030906.orig/man/term.5
+--- ncurses-5.3/man/term.5 Sat Aug 10 16:59:37 2002
++++ ncurses-5.3.20030906.orig/man/term.5 Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: term.5,v 1.14 2002/08/10 21:59:37 tom Exp $
++.\" $Id: term.5,v 1.15 2003/05/10 20:33:49 jmc Exp $
+ .TH TERM 5
+ .ds n 5
+ .ds d @TERMINFO@
+@@ -56,7 +56,7 @@
+ or sign extension are made.
+ .PP
+ The compiled file is created with the
+-.I tic
++.I tic
+ program, and read by the routine
+ .IR setupterm .
+ The file is divided into six parts:
+@@ -84,7 +84,7 @@
+ and the second byte contains the most significant 8 bits.
+ (Thus, the value represented is 256*second+first.)
+ The value \-1 is represented by the two bytes 0377, 0377; other negative
+-values are illegal. This value generally
++values are illegal. This value generally
+ means that the corresponding capability is missing from this terminal.
+ Note that this format corresponds to the hardware of the \s-1VAX\s+1
+ and \s-1PDP\s+1-11 (that is, little-endian machines).
+@@ -160,12 +160,12 @@
+ ADM-3, a popular though rather stupid early terminal:
+ .nf
+ .sp
+-adm3a|lsi adm3a,
+- am,
+- cols#80, lines#24,
+- bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J,
+- cuf1=^L, cup=\\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+- home=^^, ind=^J,
++adm3a|lsi adm3a,
++ am,
++ cols#80, lines#24,
++ bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J,
++ cuf1=^L, cup=\\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
++ home=^^, ind=^J,
+ .sp
+ .ft CW
+ \s-20000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3
+diff -urNd -urNd ncurses-5.3/man/term.7 ncurses-5.3.20030906.orig/man/term.7
+--- ncurses-5.3/man/term.7 Sat Apr 20 11:50:47 2002
++++ ncurses-5.3.20030906.orig/man/term.7 Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: term.7,v 1.13 2002/04/20 16:50:47 tom Exp $
++.\" $Id: term.7,v 1.14 2003/05/10 20:33:49 jmc Exp $
+ .TH TERM 7
+ .ds n 5
+ .ds d @TERMINFO@
+@@ -96,7 +96,7 @@
+ First, choose a root name. The root will consist of a lower-case letter
+ followed by up to seven lower-case letters or digits. You need to avoid using
+ punctuation characters in root names, because they are used and interpreted as
+-filenames and shell meta-characters (such as !, $, *, ? etc.) embedded in them
++filenames and shell meta-characters (such as !, $, *, ?, etc.) embedded in them
+ may cause odd and unhelpful behavior. The slash (/), or any other character
+ that may be interpreted by anyone's file system (\e, $, [, ]), is especially
+ dangerous (terminfo is platform-independent, and choosing names with special
+@@ -136,29 +136,29 @@
+ attributes.
+ .TP 5
+ -am
+-Enable auto-margin (right-margin wraparound)
++Enable auto-margin (right-margin wraparound).
+ .TP 5
+ -m
+-Mono mode - suppress color support
++Mono mode - suppress color support.
+ .TP 5
+ -na
+ No arrow keys - termcap ignores arrow keys which are actually there on the
+ terminal, so the user can use the arrow keys locally.
+ .TP 5
+ -nam
+-No auto-margin - suppress am capability
++No auto-margin - suppress am capability.
+ .TP 5
+ -nl
+-No labels - suppress soft labels
++No labels - suppress soft labels.
+ .TP 5
+ -nsl
+-No status line - suppress status line
++No status line - suppress status line.
+ .TP 5
+ -pp
+ Has a printer port which is used.
+ .TP 5
+ -rv
+-Terminal in reverse video mode (black on white)
++Terminal in reverse video mode (black on white).
+ .TP 5
+ -s
+ Enable status line.
+@@ -190,10 +190,10 @@
+ compiled terminal capability data base
+ .TP 5
+ /etc/inittab
+-tty line initialization (AT&T-like UNIXes).
++tty line initialization (AT&T-like UNIXes)
+ .TP 5
+ /etc/ttys
+-tty line initialization (BSD-like UNIXes).
++tty line initialization (BSD-like UNIXes)
+ .SH SEE ALSO
+ \fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBterm\fR(\*n).
+ .\"#
+diff -urNd -urNd ncurses-5.3/man/terminfo.tail ncurses-5.3.20030906.orig/man/terminfo.tail
+--- ncurses-5.3/man/terminfo.tail Sat Apr 20 11:49:33 2002
++++ ncurses-5.3.20030906.orig/man/terminfo.tail Tue May 13 20:08:22 2003
+@@ -1,4 +1,4 @@
+-.\" $Id: terminfo.tail,v 1.35 2002/04/20 16:49:33 tom Exp $
++.\" $Id: terminfo.tail,v 1.38 2003/01/05 22:47:05 tom Exp $
+ .\" Beginning of terminfo.tail file
+ .ps +1
+ .PP
+@@ -311,42 +311,81 @@
+ to manipulate it.
+ Typically a sequence will push one of the
+ parameters onto the stack and then print it in some format.
+-Often more complex operations are necessary.
++Print (e.g., "%d") is a special case.
++Other operations, including "%t" pop their operand from the stack.
++It is noted that more complex operations are often necessary,
++e.g., in the \fBsgr\fP string.
+ .PP
+ The \fB%\fR encodings have the following meanings:
+ .PP
+-.DT
+-.nf
+-.ta .5i 1.5i
+- \s-1%% outputs `%'
+- %\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP
+- as in \fBprintf\fP, flags are [-+#] and space
+- %c print pop() like %c in printf()
+- %s print pop() like %s in printf()
+-
+- %p[1-9] push \fIi\fP'th parm
+- %P[a-z] set dynamic variable [a-z] to pop()
+- %g[a-z] get dynamic variable [a-z] and push it
+- %P[A-Z] set static variable [a-z] to pop()
+- %g[A-Z] get static variable [a-z] and push it
+- %'\fIc\fP' char constant \fIc\fP
+- %{\fInn\fP} integer constant \fInn\fP
+- %l push strlen(pop)
+-
+- %+ %- %* %/ %m
+- arithmetic (%m is mod): push(pop() op pop())
+- %& %| %^ bit operations: push(pop() op pop())
+- %= %> %< logical operations: push(pop() op pop())
+- %A, %O logical and & or operations (for conditionals)
+- %! %~ unary operations push(op pop())
+- %i add 1 to first two parameters (for ANSI terminals)
+-
+- %? expr %t thenpart %e elsepart %;
+- if-then-else, %e elsepart is optional.
+- else-if's are possible a la Algol 68:
+- %? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %;
+-\s+1 c\di\u are conditions, b\di\u are bodies.
+-.fi
++.TP 5
++\s-1%%
++outputs `%'
++.TP
++%\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP
++as in \fBprintf\fP, flags are [-+#] and space
++.TP
++%c
++print pop() like %c in \fBprintf\fP
++.TP
++%s
++print pop() like %s in \fBprintf\fP
++.TP
++%p[1-9]
++push \fIi\fP'th parameter
++.TP
++%P[a-z]
++set dynamic variable [a-z] to pop()
++.TP
++%g[a-z]
++get dynamic variable [a-z] and push it
++.TP
++%P[A-Z]
++set static variable [a-z] to pop()
++.TP
++%g[A-Z]
++get static variable [a-z] and push it
++.IP
++The terms "static" and "dynamic" are misleading.
++Historically, these are simply two different sets of variables,
++whose values are not reset between calls to \fBtparm\fP.
++However, that fact is not documented in other implementations.
++Relying on it will adversely impact portability to other implementations.
++.TP
++%'\fIc\fP'
++char constant \fIc\fP
++.TP
++%{\fInn\fP}
++integer constant \fInn\fP
++.TP
++%l
++push strlen(pop)
++.TP
++%+ %- %* %/ %m
++arithmetic (%m is mod): push(pop() op pop())
++.TP
++%& %| %^
++bit operations: push(pop() op pop())
++.TP
++%= %> %<
++logical operations: push(pop() op pop())
++.TP
++%A, %O
++logical and & or operations (for conditionals)
++.TP
++%! %~
++unary operations push(op pop())
++.TP
++%i
++add 1 to first two parameters (for ANSI terminals)
++.TP
++%? \fIexpr\fP %t \fIthenpart\fP %e \fIelsepart\fP %;
++if-then-else, %e \fIelsepart\fP is optional.
++else-if's are possible a la Algol 68:
++.br
++%? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %;
++.br
++c\di\u are conditions, b\di\u are bodies.
+ .PP
+ Binary operations are in postfix form with the operands in the usual order.
+ That is, to get x-5 one would use "%gx%{5}%-".
+@@ -1170,7 +1209,7 @@
+ .PP
+ The \fBsetaf\fR/\fBsetab\fR and \fBsetf\fR/\fBsetb\fR capabilities take a
+ single numeric argument each.
+-Argument values 0-7 are portably defined as
++Argument values 0-7 of \fBsetaf\fR/\fBsetab\fR are portably defined as
+ follows (the middle column is the symbolic #define available in the header for
+ the \fBcurses\fR or \fBncurses\fR libraries).
+ The terminal hardware is free to
+@@ -1192,6 +1231,25 @@
+ white \fBCOLOR_WHITE\fR 7 max,max,max
+ .TE
+ .PP
++The argument values of \fBsetf\fR/\fBsetb\fR historically correspond to
++a different mapping, i.e.,
++.TS H
++center;
++l c c c
++l l n l.
++\fBColor #define Value RGB\fR
++black \fBCOLOR_BLACK\fR 0 0, 0, 0
++blue \fBCOLOR_BLUE\fR 1 0,0,max
++green \fBCOLOR_GREEN\fR 2 0,max,0
++cyan \fBCOLOR_CYAN\fR 3 0,max,max
++red \fBCOLOR_RED\ \fR 4 max,0,0
++magenta \fBCOLOR_MAGENTA\fR 5 max,0,max
++yellow \fBCOLOR_YELLOW\fR 6 max,max,0
++white \fBCOLOR_WHITE\fR 7 max,max,max
++.TE
++It is important to not confuse the two sets of color capabilities;
++otherwise red/blue will be interchanged on the display.
++.PP
+ On an HP-like terminal, use \fBscp\fR with a color-pair number parameter to set
+ which color pair is current.
+ .PP
+diff -urNd -urNd ncurses-5.3/man/tic.1m ncurses-5.3.20030906.orig/man/tic.1m
+--- ncurses-5.3/man/tic.1m Sat Oct 5 15:06:13 2002
++++ ncurses-5.3.20030906.orig/man/tic.1m Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,7 +26,7 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tic.1m,v 1.33 2002/10/05 20:06:13 tom Exp $
++.\" $Id: tic.1m,v 1.35 2003/05/11 00:32:53 tom Exp $
+ .TH tic 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
+@@ -52,11 +52,11 @@
+ t\
+ x\
+ \fR]
+-[\fB-e\fR \fInames\fR]
+-[\fB-o\fR \fIdir\fR]
+-[\fB-R\fR \fIsubset\fR]
+-[\fB-v\fR[\fIn\fR]]
+-[\fB-w\fR[\fIn\fR]]
++[\fB\-e\fR \fInames\fR]
++[\fB\-o\fR \fIdir\fR]
++[\fB\-R\fR \fIsubset\fR]
++[\fB\-v\fR[\fIn\fR]]
++[\fB\-w\fR[\fIn\fR]]
+ \fIfile\fR
+ .br
+ .SH DESCRIPTION
+@@ -78,31 +78,31 @@
+ directory first, look at \fI$HOME/.terminfo\fR if TERMINFO is not set, and
+ finally look in \fI\*d\fR.
+ .TP
+-\fB-1\fR
++\fB\-1\fR
+ restricts the output to a single column
+ .TP
+-\fB-a\fR
++\fB\-a\fR
+ tells \fBtic\fP to retain commented-out capabilities rather than discarding
+ them. Capabilities are commented by prefixing them with a period.
+-This sets the \fB-x\fR option, because it treats the commented-out
++This sets the \fB\-x\fR option, because it treats the commented-out
+ entries as user-defined names.
+ .TP
+-\fB-C\fR
+-Force source translation to termcap format. Note: this differs from the -C
++\fB\-C\fR
++Force source translation to termcap format. Note: this differs from the \fB\-C\fR
+ option of \fIinfocmp\fR(1M) in that it does not merely translate capability
+ names, but also translates terminfo strings to termcap format. Capabilities
+ that are not translatable are left in the entry under their terminfo names
+ but commented out with two preceding dots.
+ .TP
+-\fB-c\fR
++\fB\-c\fR
+ tells \fBtic\fP to only check \fIfile\fR for errors, including syntax problems and
+-bad use links. If you specify \fB-C\fR (\fB-I\fR) with this option, the code
++bad use links. If you specify \fB\-C\fR (\fB\-I\fR) with this option, the code
+ will print warnings about entries which, after use resolution, are more than
+ 1023 (4096) bytes long. Due to a fixed buffer length in older termcap
+ libraries (and a documented limit in terminfo), these entries may cause core
+ dumps.
+ .TP
+-\fB-e \fR\fInames\fR
++\fB\-e \fR\fInames\fR
+ Limit writes and translations to the following comma-separated list of
+ terminals.
+ If any name or alias of a terminal matches one of the names in
+@@ -110,32 +110,32 @@
+ Otherwise no output will be generated for it.
+ The option value is interpreted as a file containing the list if it
+ contains a '/'.
+-(Note: depending on how tic was compiled, this option may require -I or -C.)
++(Note: depending on how tic was compiled, this option may require \fB\-I\fR or \fB\-C\fR.)
+ .TP
+-\fB-f\fR
++\fB\-f\fR
+ Display complex terminfo strings which contain if/then/else/endif expressions
+ indented for readability.
+ .TP
+-\fB-G\fR
++\fB\-G\fR
+ Display constant literals in decimal form
+ rather than their character equivalents.
+ .TP
+-\fB-g\fR
++\fB\-g\fR
+ Display constant character literals in quoted form
+ rather than their decimal equivalents.
+ .TP
+-\fB-I\fR
++\fB\-I\fR
+ Force source translation to terminfo format.
+ .TP
+-\fB-L\fR
++\fB\-L\fR
+ Force source translation to terminfo format
+ using the long C variable names listed in <\fBterm.h\fR>
+ .TP
+-\fB-N\fR
+-Disable smart defaults.
+-Normally, when translating from termcap to terminfo, the compiler makes
++\fB\-N\fR
++Disable smart defaults.
++Normally, when translating from termcap to terminfo, the compiler makes
+ a number of assumptions about the defaults of string capabilities
+-\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR,
++\fBreset1_string\fR, \fBcarriage_return\fR, \fBcursor_left\fR,
+ \fBcursor_down\fR, \fBscroll_forward\fR, \fBtab\fR, \fBnewline\fR,
+ \fBkey_backspace\fR, \fBkey_left\fR, and \fBkey_down\fR, then attempts
+ to use obsolete termcap capabilities to deduce correct values. It also
+@@ -143,42 +143,42 @@
+ This option forces a more literal translation that also preserves the
+ obsolete capabilities.
+ .TP
+-\fB-o\fR\fIdir\fR
++\fB\-o\fR\fIdir\fR
+ Write compiled entries to given directory. Overrides the TERMINFO environment
+ variable.
+ .TP
+-\fB-R\fR\fIsubset\fR
++\fB\-R\fR\fIsubset\fR
+ Restrict output to a given subset. This option is for use with archaic
+ versions of terminfo like those on SVr1, Ultrix, or HP/UX that do not support
+ the full set of SVR4/XSI Curses terminfo; and outright broken ports like AIX 3.x
+ that have their own extensions incompatible with SVr4/XSI. Available subsets
+ are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see \fBterminfo\fR(\*n) for details.
+ .TP
+-\fB-r\fR
++\fB\-r\fR
+ Force entry resolution (so there are no remaining tc capabilities) even
+ when doing translation to termcap format. This may be needed if you are
+ preparing a termcap file for a termcap library (such as GNU termcap through
+ version 1.3 or BSD termcap through 4.3BSD) that does not handle multiple
+ tc capabilities per entry.
+ .TP
+-\fB-s\fR
++\fB\-s\fR
+ Summarize the compile by showing the directory into which entries
+ are written, and the number of entries which are compiled.
+ .TP
+-\fB-T\fR
++\fB\-T\fR
+ eliminates size-restrictions on the generated text.
+ This is mainly useful for testing and analysis, since the compiled
+ descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
+ .TP
+-\fB-t\fR
++\fB\-t\fR
+ tells \fBtic\fP to discard commented-out capabilities.
+ Normally when translating from terminfo to termcap,
+ untranslatable capabilities are commented-out.
+ .TP
+-\fB-V\fR
++\fB\-V\fR
+ reports the version of ncurses which was used in this program, and exits.
+ .TP
+-\fB-v\fR\fIn\fR
++\fB\-v\fR\fIn\fR
+ specifies that (verbose) output be written to standard error trace
+ information showing \fBtic\fR's progress. The optional integer
+ \fIn\fR is a number from 1 to 10, inclusive, indicating the desired
+@@ -186,10 +186,10 @@
+ level is 1. If \fIn\fR is specified and greater than 1, the level of
+ detail is increased.
+ .TP
+-\fB-w\fR\fIn\fR
++\fB\-w\fR\fIn\fR
+ specifies the width of the output.
+ .TP
+-\fB-x\fR
++\fB\-x\fR
+ Treat unknown capabilities as user-defined.
+ That is, if you supply a capability name which \fBtic\fP does not recognize,
+ it will infer its type (boolean, number or string) from the syntax and
+@@ -274,25 +274,25 @@
+ error messages, and can be parsed by GNU Emacs's compile facility.
+
+ The
+-\fB-C\fR,
+-\fB-G\fR,
+-\fB-I\fR,
+-\fB-N\fR,
+-\fB-R\fR,
+-\fB-T\fR,
+-\fB-V\fR,
+-\fB-a\fR,
+-\fB-e\fR,
+-\fB-f\fR,
+-\fB-g\fR,
+-\fB-o\fR,
+-\fB-r\fR,
+-\fB-s\fR,
+-\fB-t\fR and
+-\fB-x\fR
++\fB\-C\fR,
++\fB\-G\fR,
++\fB\-I\fR,
++\fB\-N\fR,
++\fB\-R\fR,
++\fB\-T\fR,
++\fB\-V\fR,
++\fB\-a\fR,
++\fB\-e\fR,
++\fB\-f\fR,
++\fB\-g\fR,
++\fB\-o\fR,
++\fB\-r\fR,
++\fB\-s\fR,
++\fB\-t\fR and
++\fB\-x\fR
+ options
+ are not supported under SVr4.
+-The SVr4 -c mode does not report bad use links.
++The SVr4 \fB\-c\fR mode does not report bad use links.
+
+ System V does not compile entries to or read entries from your
+ \fI$HOME/.terminfo\fR directory unless TERMINFO is explicitly set to it.
+diff -urNd -urNd ncurses-5.3/man/toe.1m ncurses-5.3.20030906.orig/man/toe.1m
+--- ncurses-5.3/man/toe.1m Sat Aug 19 13:51:05 2000
++++ ncurses-5.3.20030906.orig/man/toe.1m Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,45 +26,45 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: toe.1m,v 1.10 2000/08/19 18:51:05 tom Exp $
++.\" $Id: toe.1m,v 1.12 2003/05/11 00:32:53 tom Exp $
+ .TH toe 1M ""
+ .ds n 5
+ .ds d @TERMINFO@
+ .SH NAME
+ \fBtoe\fR - table of (terminfo) entries
+ .SH SYNOPSIS
+-\fBtoe\fR [\fB-v\fR[\fIn\fR]] [\fB-huUV\fR] \fIfile...\fR
++\fBtoe\fR [\fB\-v\fR[\fIn\fR]] [\fB\-huUV\fR] \fIfile...\fR
+ .br
+ .SH DESCRIPTION
+ .PP
+ With no options, \fBtoe\fR lists all available terminal types by primary name
+ with descriptions. File arguments specify the directories to be scanned; if no
+ such arguments are given, your default terminfo directory is scanned. If you
+-also specify the -h option, a directory header will be issued as each
+-directory is entered.
++also specify the \fB\-h\fR option, a directory header will be issued as each
++directory is entered.
+ .PP
+ There are other options intended for use by terminfo file maintainers:
+ .TP
+-\fB-u\fR \fIfile\fR
++\fB\-u\fR \fIfile\fR
+ says to issue a report on dependencies in the given file. This report condenses
+ the `use' relation: each line consists of the primary name of a terminal that
+ has use capabilities, followed by a colon, followed by the
+ whitespace-separated primary names of all terminals which occur in those use
+ capabilities, followed by a newline
+ .TP
+-\fB-U\fR \fIfile\fR
++\fB\-U\fR \fIfile\fR
+ says to issue a report on reverse dependencies in the given file. This report
+ reverses the `use' relation: each line consists of the primary name of a
+ terminal that occurs in use capabilities, followed by a colon, followed by the
+ whitespace-separated primary names of all terminals which depend on it,
+ followed by a newline.
+ .TP
+-\fB-v\fR\fIn\fR
++\fB\-v\fR\fIn\fR
+ specifies that (verbose) output be written to standard error trace
+ information showing \fBtoe\fR's progress. The optional integer
+ \fIn\fR is a number from 1 to 10, interpreted as for \fBtic\fR(1).
+ .TP 5
+-\fB-V\fR
++\fB\-V\fR
+ reports the version of ncurses which was used in this program, and exits.
+ .SH FILES
+ .TP 5
+diff -urNd -urNd ncurses-5.3/man/tput.1 ncurses-5.3.20030906.orig/man/tput.1
+--- ncurses-5.3/man/tput.1 Sat Oct 12 08:53:20 2002
++++ ncurses-5.3.20030906.orig/man/tput.1 Tue May 13 20:08:22 2003
+@@ -1,6 +1,6 @@
+ '\" t
+ .\"***************************************************************************
+-.\" Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -27,24 +27,24 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tput.1,v 1.18 2002/10/12 13:53:20 tom Exp $
++.\" $Id: tput.1,v 1.20 2003/05/11 00:32:53 tom Exp $
+ .TH tput 1 ""
+ .ds d @TERMINFO@
+ .ds n 1
+ .SH NAME
+ \fBtput\fR, \fBreset\fR - initialize a terminal or query terminfo database
+ .SH SYNOPSIS
+-\fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
++\fBtput\fR [\fB\-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
+ .br
+-\fBtput\fR [\fB-T\fR\fItype\fR] \fBinit\fR
++\fBtput\fR [\fB\-T\fR\fItype\fR] \fBinit\fR
+ .br
+-\fBtput\fR [\fB-T\fR\fItype\fR] \fBreset\fR
++\fBtput\fR [\fB\-T\fR\fItype\fR] \fBreset\fR
+ .br
+-\fBtput\fR [\fB-T\fR\fItype\fR] \fBlongname\fR
++\fBtput\fR [\fB\-T\fR\fItype\fR] \fBlongname\fR
+ .br
+-\fBtput -S\fR \fB<<\fR
++\fBtput \-S\fR \fB<<\fR
+ .br
+-\fBtput -V\fR
++\fBtput \-V\fR
+ .br
+ .SH DESCRIPTION
+ The \fBtput\fR utility uses the \fBterminfo\fR database to make the
+@@ -62,10 +62,10 @@
+ For a complete list of capabilities
+ and the \fIcapname\fR associated with each, see \fBterminfo\fR(\*n).
+ .TP
+-\fB-T\fR\fItype\fR
++\fB\-T\fR\fItype\fR
+ indicates the \fItype\fR of terminal. Normally this option is
+ unnecessary, because the default is taken from the environment
+-variable \fBTERM\fR. If \fB-T\fR is specified, then the shell
++variable \fBTERM\fR. If \fB\-T\fR is specified, then the shell
+ variables \fBLINES\fR and \fBCOLUMNS\fR will be ignored,and the
+ operating system will not be queried for the actual screen size.
+ .TP
+@@ -83,14 +83,14 @@
+ \fBtput\fR uses a table to decide which to pass as strings.
+ Normally \fBtput\fR uses \fBtparm\fR (3X) to perform the substitution.
+ If no parameters are given for the attribute,
+-\fBtput\fR writes the string without performing the substitution.
++\fBtput\fR writes the string without performing the substitution.
+ .TP
+-\fB-S\fR
++\fB\-S\fR
+ allows more than one capability per invocation of \fBtput\fR. The
+ capabilities must be passed to \fBtput\fR from the standard input
+ instead of from the command line (see example).
+ Only one \fIcapname\fR is allowed per line.
+-The \fB-S\fR option changes the
++The \fB\-S\fR option changes the
+ meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the
+ EXIT CODES section).
+ .IP
+@@ -98,12 +98,12 @@
+ to decide whether to use \fBtparm\fR (3X),
+ and how to interpret the parameters.
+ .TP
+-\fB-V\fR
++\fB\-V\fR
+ reports the version of ncurses which was used in this program, and exits.
+ .TP
+ \fBinit\fR
+ If the \fBterminfo\fR database is present and an entry for the user's
+-terminal exists (see \fB-T\fR\fItype\fR, above), the following will
++terminal exists (see \fB\-T\fR\fItype\fR, above), the following will
+ occur: (1) if present, the terminal's initialization strings will be
+ output (\fBis1\fR, \fBis2\fR, \fBis3\fR, \fBif\fR, \fBiprog\fR), (2)
+ any delays (e.g., newline) specified in the entry will be set in the
+@@ -122,7 +122,7 @@
+ .TP
+ \fBlongname\fR
+ If the \fBterminfo\fR database is present and an entry for the
+-user's terminal exists (see \fB-T\fR\fItype\fR above), then the long name
++user's terminal exists (see \fB\-T\fR\fItype\fR above), then the long name
+ of the terminal will be put out. The long name is the last
+ name in the first line of the terminal's description in the
+ \fBterminfo\fR database [see \fBterm\fR(5)].
+@@ -139,7 +139,7 @@
+ the environmental variable \fBTERM\fR has been exported, as
+ illustrated on the \fBprofile\fR(5) manual page.
+ .TP 5
+-\fBtput -T5620 reset\fR
++\fBtput \-T5620 reset\fR
+ Reset an AT&T 5620 terminal, overriding the type of
+ terminal in the environmental variable \fBTERM\fR.
+ .TP 5
+@@ -154,7 +154,7 @@
+ \fBtput cols\fR
+ Print the number of columns for the current terminal.
+ .TP 5
+-\fBtput -T450 cols\fR
++\fBtput \-T450 cols\fR
+ Print the number of columns for the 450 terminal.
+ .TP 5
+ \fBbold=`tput smso` offbold=`tput rmso`\fR
+@@ -178,7 +178,7 @@
+ variable \fBTERM\fR.
+ .PP
+ .RS 5
+-\fBtput -S <<!\fR
++\fBtput \-S <<!\fR
+ .br
+ \fB> clear\fR
+ .br
+@@ -213,7 +213,7 @@
+ information, see the "Tabs and Initialization"
+ section of \fBterminfo\fR(5)
+ .SH EXIT CODES
+-If the \fB-S\fR option is used,
++If the \fB\-S\fR option is used,
+ \fBtput\fR checks for errors from each line,
+ and if any errors are found, will set the exit code to 4 plus the
+ number of lines with errors.
+@@ -221,7 +221,7 @@
+ No indication of which line failed can be given so
+ exit code \fB1\fR will never appear. Exit codes \fB2\fR, \fB3\fR, and
+ \fB4\fR retain their usual interpretation.
+-If the \fB-S\fR option is not used,
++If the \fB\-S\fR option is not used,
+ the exit code depends on the type of \fIcapname\fR:
+ .RS 5
+ .TP
+@@ -241,7 +241,7 @@
+ whether or not \fIcapname\fR is defined for this terminal \fItype\fR.
+ To determine if \fIcapname\fR is defined for this terminal \fItype\fR,
+ the user must test the value written to standard output.
+-A value of \fB-1\fR
++A value of \fB\-1\fR
+ means that \fIcapname\fR is not defined for this terminal \fItype\fR.
+ .TP
+ .I other
+@@ -262,17 +262,17 @@
+ \fB0\fR T{
+ (\fIcapname\fR is a numeric variable that is not specified in the
+ \fBterminfo\fR(\*n) database for this terminal type, e.g.
+-\fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR)
++\fBtput \-T450 lines\fR and \fBtput \-T2621 xmc\fR)
+ T}
+ \fB1\fR no error message is printed, see the \fBEXIT CODES\fR section.
+ \fB2\fR usage error
+ \fB3\fR unknown terminal \fItype\fR or no \fBterminfo\fR database
+ \fB4\fR unknown \fBterminfo\fR capability \fIcapname\fR
+-\fB>4\fR error occurred in -S
++\fB>4\fR error occurred in \-S
+ =
+ .TE
+ .SH PORTABILITY
+-The \fBlongname\fR and \fB-S\fR options, and the parameter-substitution
++The \fBlongname\fR and \fB\-S\fR options, and the parameter-substitution
+ features used in the \fBcup\fR example, are not supported in BSD curses or in
+ AT&T/USL curses before SVr4.
+ .SH SEE ALSO
+diff -urNd -urNd ncurses-5.3/man/tset.1 ncurses-5.3.20030906.orig/man/tset.1
+--- ncurses-5.3/man/tset.1 Sat Sep 9 15:33:07 2000
++++ ncurses-5.3.20030906.orig/man/tset.1 Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ .\"***************************************************************************
+-.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++.\" Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ .\" *
+ .\" Permission is hereby granted, free of charge, to any person obtaining a *
+ .\" copy of this software and associated documentation files (the *
+@@ -26,14 +26,14 @@
+ .\" authorization. *
+ .\"***************************************************************************
+ .\"
+-.\" $Id: tset.1,v 1.12 2000/09/09 20:33:07 tom Exp $
++.\" $Id: tset.1,v 1.13 2003/05/11 00:32:53 tom Exp $
+ .TH tset 1 ""
+ .SH NAME
+ \fBtset\fR, \fBreset\fR - terminal initialization
+ .SH SYNOPSIS
+-tset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
++tset [\-IQVqrs] [\-] [\-e \fIch\fR] [\-i \fIch\fR] [\-k \fIch\fR] [\-m \fImapping\fR] [\fIterminal\fR]
+ .br
+-reset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
++reset [\-IQVqrs] [\-] [\-e \fIch\fR] [\-i \fIch\fR] [\-k \fIch\fR] [\-m \fImapping\fR] [\fIterminal\fR]
+ .SH DESCRIPTION
+ \&\fBTset\fR initializes terminals.
+ \fBTset\fR first determines the type of terminal that you are using.
+@@ -50,7 +50,7 @@
+ .PP
+ 4. The default terminal type, ``unknown''.
+ .PP
+-If the terminal type was not specified on the command-line, the -m
++If the terminal type was not specified on the command-line, the \fB\-m\fR
+ option mappings are then applied (see below for more information).
+ Then, if the terminal type begins with a question mark (``?''), the
+ user is prompted for confirmation of the terminal type. An empty
+@@ -81,50 +81,50 @@
+ .PP
+ The options are as follows:
+ .TP 5
+--q
++.B \-q
+ The terminal type is displayed to the standard output, and the terminal is
+ not initialized in any way. The option `-' by itself is equivalent but
+ archaic.
+-.TP 5
+--e
++.TP
++.B \-e
+ Set the erase character to \fIch\fR.
+-.TP 5
+--I
++.TP
++.B \-I
+ Do not send the terminal or tab initialization strings to the terminal.
+-.TP 5
+--Q
++.TP
++.B \-Q
+ Don't display any values for the erase, interrupt and line kill characters.
+ .TP
+-\fB-V\fR
++.B \-V
+ reports the version of ncurses which was used in this program, and exits.
+-.TP 5
+--i
++.TP
++.B \-i
+ Set the interrupt character to \fIch\fR.
+-.TP 5
+--k
++.TP
++.B \-k
+ Set the line kill character to \fIch\fR.
+-.TP 5
+--m
++.TP
++.B \-m
+ Specify a mapping from a port type to a terminal.
+ See below for more information.
+-.TP 5
+--r
++.TP
++.B \-r
+ Print the terminal type to the standard error output.
+-.TP 5
+--s
++.TP
++.B \-s
+ Print the sequence of shell commands to initialize the environment variable
+ \fBTERM\fR to the standard output.
+ See the section below on setting the environment for details.
+ .PP
+-The arguments for the -e, -i, and -k
++The arguments for the \fB-e\fR, \fB-i\fR, and \fB-k\fR
+ options may either be entered as actual characters or by using the `hat'
+ notation, i.e. control-h may be specified as ``^H'' or ``^h''.
+ .SH SETTING THE ENVIRONMENT
+ It is often desirable to enter the terminal type and information about
+ the terminal's capabilities into the shell's environment.
+-This is done using the -s option.
++This is done using the \fB\-s\fR option.
+ .PP
+-When the -s option is specified, the commands to enter the information
++When the \fB\-s\fR option is specified, the commands to enter the information
+ into the shell's environment are written to the standard output. If
+ the \fBSHELL\fR environmental variable ends in ``csh'', the commands
+ are for \fBcsh\fR, otherwise, they are for \fBsh\fR.
+@@ -132,7 +132,7 @@
+ \fBnoglob\fR, leaving it unset. The following line in the \fB.login\fR
+ or \fB.profile\fR files will initialize the environment correctly:
+
+- eval \`tset -s options ... \`
++ eval \`tset \-s options ... \`
+
+ .SH TERMINAL TYPE MAPPING
+ When the terminal is not hardwired into the system (or the current
+@@ -142,13 +142,13 @@
+ When \fBtset\fR is used in a startup script it is often desirable to
+ provide information about the type of terminal used on such ports.
+ .PP
+-The purpose of the -m option is to map
++The purpose of the \fB\-m\fR option is to map
+ from some set of conditions to a terminal type, that is, to
+ tell \fBtset\fR
+ ``If I'm on this port at a particular speed, guess that I'm on that
+ kind of terminal''.
+ .PP
+-The argument to the -m option consists of an optional port type, an
++The argument to the \fB\-m\fR option consists of an optional port type, an
+ optional operator, an optional baud rate specification, an optional
+ colon (``:'') character and a terminal type. The port type is a
+ string (delimited by either the operator or the colon character). The
+@@ -159,7 +159,7 @@
+ of the standard error output (which should be the control terminal).
+ The terminal type is a string.
+ .PP
+-If the terminal type is not specified on the command line, the -m
++If the terminal type is not specified on the command line, the \fB\-m\fR
+ mappings are applied to the terminal type. If the port type and baud
+ rate match the mapping, the terminal type specified in the mapping
+ replaces the current type. If more than one mapping is specified, the
+@@ -174,16 +174,16 @@
+ .PP
+ If no baud rate is specified, the terminal type will match any baud rate.
+ If no port type is specified, the terminal type will match any port type.
+-For example, \fB-m dialup:vt100 -m :?xterm\fR
++For example, \fB\-m dialup:vt100 \-m :?xterm\fR
+ will cause any dialup port, regardless of baud rate, to match the terminal
+ type vt100, and any non-dialup port type to match the terminal type ?xterm.
+ Note, because of the leading question mark, the user will be
+ queried on a default port as to whether they are actually using an xterm
+ terminal.
+ .PP
+-No whitespace characters are permitted in the -m option argument.
++No whitespace characters are permitted in the \fB\-m\fR option argument.
+ Also, to avoid problems with meta-characters, it is suggested that the
+-entire -m option argument be placed within single quote characters,
++entire \fB\-m\fR option argument be placed within single quote characters,
+ and that \fBcsh\fR users insert a backslash character (``\e'') before
+ any exclamation marks (``!'').
+ .SH HISTORY
+@@ -197,30 +197,33 @@
+ \fBtset\fR's most important use). This implementation behaves like 4.4BSD
+ tset, with a few exceptions specified here.
+ .PP
+-The -S option of BSD tset no longer works; it prints an error message to stderr
+-and dies. The -s option only sets \fBTERM\fR, not \fBTERMCAP\fP. Both these
++The \fB\-S\fR option of BSD tset no longer works; it prints an error message to stderr
++and dies. The \fB\-s\fR option only sets \fBTERM\fR, not \fBTERMCAP\fP. Both these
+ changes are because the \fBTERMCAP\fR variable is no longer supported under
+-terminfo-based \fBncurses\fR, which makes \fBtset -S\fR useless (we made it die
++terminfo-based \fBncurses\fR, which makes \fBtset \-S\fR useless (we made it die
+ noisily rather than silently induce lossage).
+ .PP
+ There was an undocumented 4.4BSD feature that invoking tset via a link named
+ `TSET` (or via any other name beginning with an upper-case letter) set the
+ terminal to use upper-case only. This feature has been omitted.
+ .PP
+-The -A, -E, -h, -u and -v options were deleted from the \fBtset\fR
+-utility in 4.4BSD. None of them were documented in 4.3BSD and all are
+-of limited utility at best. The -a, -d, and -p options are similarly
++The \fB\-A\fR, \fB\-E\fR, \fB\-h\fR, \fB\-u\fR and \fB\-v\fR
++options were deleted from the \fBtset\fR
++utility in 4.4BSD.
++None of them were documented in 4.3BSD and all are
++of limited utility at best.
++The \fB\-a\fR, -\fB\d\fR, and -\fB\p\fR options are similarly
+ not documented or useful, but were retained as they appear to be in
+ widespread use. It is strongly recommended that any usage of these
+-three options be changed to use the -m option instead. The
+--n option remains, but has no effect. The -adnp options are therefore
++three options be changed to use the \fB\-m\fR option instead. The
++-n option remains, but has no effect. The \fB\-adnp\fR options are therefore
+ omitted from the usage summary above.
+ .PP
+-It is still permissible to specify the -e, -i, and -k options without
++It is still permissible to specify the \fB\-e\fR, \fB\-i\fR, and \fB\-k\fR options without
+ arguments, although it is strongly recommended that such usage be fixed to
+ explicitly specify the character.
+ .PP
+-As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the -Q
++As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the \fB\-Q\fR
+ option. Also, the interaction between the - option and the \fIterminal\fR
+ argument in some historic implementations of \fBtset\fR has been removed.
+ .SH ENVIRONMENT
+@@ -230,7 +233,7 @@
+ .TP 5
+ /etc/ttys
+ system port name to terminal type mapping database (BSD versions only).
+-.TP 5
++.TP
+ @TERMINFO@
+ terminal capability database
+ .SH SEE ALSO
+diff -urNd -urNd ncurses-5.3/menu/Makefile.in ncurses-5.3.20030906.orig/menu/Makefile.in
+--- ncurses-5.3/menu/Makefile.in Sat Jan 19 19:49:17 2002
++++ ncurses-5.3.20030906.orig/menu/Makefile.in Fri Sep 12 16:42:40 2003
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.36 2002/01/20 01:49:17 tom Exp $
++# $Id: Makefile.in,v 1.40 2003/08/23 23:25:32 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -55,6 +55,11 @@
+ includedir = @includedir@
+
+ LIBTOOL = @LIBTOOL@
++LIBTOOL_CLEAN = @LIB_CLEAN@
++LIBTOOL_COMPILE = @LIB_COMPILE@
++LIBTOOL_LINK = @LIB_LINK@
++LIBTOOL_INSTALL = @LIB_INSTALL@
++LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
+
+ INSTALL = @INSTALL@
+ INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
+@@ -71,8 +76,7 @@
+ CPP = @CPP@
+ CFLAGS = @CFLAGS@
+
+-CPPFLAGS = @CPPFLAGS@ \
+- -DHAVE_CONFIG_H
++CPPFLAGS = -DHAVE_CONFIG_H @CPPFLAGS@
+
+ CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+
+@@ -84,7 +88,7 @@
+
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+-LINK = $(LIBTOOL) $(CC)
++LINK = $(LIBTOOL_LINK) $(CC)
+ LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
+
+ SHLIB_DIRS = -L../lib
+@@ -97,7 +101,7 @@
+ REL_VERSION = @cf_cv_rel_version@
+ ABI_VERSION = @cf_cv_abi_version@
+
+-RANLIB = @RANLIB@
++RANLIB = @LIB_PREP@
+
+ IMPORT_LIB = @IMPORT_LIB@
+ SHARED_LIB = @SHARED_LIB@
+diff -urNd -urNd ncurses-5.3/misc/csort ncurses-5.3.20030906.orig/misc/csort
+--- ncurses-5.3/misc/csort Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/misc/csort Tue May 13 20:08:22 2003
+@@ -0,0 +1,36 @@
++#!/bin/sh
++# $Id: csort,v 1.2 2002/10/19 21:42:09 tom Exp $
++##############################################################################
++# Copyright (c) 2002 Free Software Foundation, Inc. #
++# #
++# Permission is hereby granted, free of charge, to any person obtaining a #
++# copy of this software and associated documentation files (the "Software"), #
++# to deal in the Software without restriction, including without limitation #
++# the rights to use, copy, modify, merge, publish, distribute, distribute #
++# with modifications, sublicense, and/or sell copies of the Software, and to #
++# permit persons to whom the Software is furnished to do so, subject to the #
++# following conditions: #
++# #
++# The above copyright notice and this permission notice shall be included in #
++# all copies or substantial portions of the Software. #
++# #
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
++# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
++# DEALINGS IN THE SOFTWARE. #
++# #
++# Except as contained in this notice, the name(s) of the above copyright #
++# holders shall not be used in advertising or otherwise to promote the sale, #
++# use or other dealings in this Software without prior written #
++# authorization. #
++##############################################################################
++#
++# override anything that might cause 'sort' to do the wrong thing...
++LANG=C; export LANG
++LANGUAGE=C; export LANGUAGE
++LC_ALL=C; export LC_ALL
++LC_CTYPE=C; export LC_CTYPE
++sort $*
+diff -urNd -urNd ncurses-5.3/misc/emx.src ncurses-5.3.20030906.orig/misc/emx.src
+--- ncurses-5.3/misc/emx.src Sat Aug 26 21:16:08 2000
++++ ncurses-5.3.20030906.orig/misc/emx.src Tue May 13 20:08:22 2003
+@@ -1,4 +1,4 @@
+-# $Id: emx.src,v 1.7 2000/08/27 02:16:08 jmcoopr Exp $
++# $Id: emx.src,v 1.8 2003/01/26 01:17:55 tom Exp $
+ # This is a reformatted copy of the terminfo source for OS/2 EMX from
+ # Juan Jose Garcia Ripoll <worm@arrakis.es>.
+ # http://www.arrakis.es/~worm/
+@@ -85,6 +85,7 @@
+ smpch=\E[11m,
+ smso=\E[7m,
+ smul=\E[4m,
++ use=klone+acs,
+
+ # Highlight controls corresponding to the ANSI.SYS standard. *All*
+ # console drivers for Intel boxes obey these. Does not assume \E[11m will
+@@ -103,6 +104,7 @@
+ smacs=\E[12m,
+ smso=\E[7m,
+ smul=\E[4m,
++ use=klone+acs,
+
+ # ANSI.SYS color control.
+ # The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
+@@ -113,8 +115,17 @@
+ op=\E[37;40m,
+ setab=\E[4%p1%dm,
+ setaf=\E[3%p1%dm,
+- setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+- setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
++
++# This is better than klone+color, it doesn't assume white-on-black as the
++# default color pair, but many `ANSI' terminals don't grok the <op> cap.
++ecma+color|color control for ECMA-48-compatible terminals,
++ AX,
++ colors#8,
++ ncv#3,
++ pairs#64,
++ op=\E[39;49m,
++ setab=\E[4%p1%dm,
++ setaf=\E[3%p1%dm,
+
+ #### ANSI/ECMA-48 terminals and terminal emulators
+ #
+@@ -209,7 +220,9 @@
+ # no_color_video to inform the application that standout(1), underline(2)
+ # reverse(4) and invisible(64) don't work with color.
+ emx-base|DOS special keys,
++ bce,
+ bw,
++ it#8,
+ ncv#71,
+ bel=^G,
+ ka1=\0G,
+@@ -293,7 +306,7 @@
+ # me <-> sgr0 turn off all atributes
+ #
+ # On my terminal, \E[4m looks dim.
+-ansi|ANSI.SYS color,
++ansi-emx|ANSI.SYS color,
+ blink=\E[5m,
+ bold=\E[1m,
+ kmous=\E[M,
+@@ -319,17 +332,17 @@
+ smul=\E[1;31;47m,
+ use=emx-base,
+ os2|OS/2-emx ANSI.SYS,
+- cuu=\E[%p1%dA,
+- cuu1=\E[A,
++ cub=\E[%p1%dD,
++ cub1=\E[D,
+ cud=\E[%p1%dB,
+ cud1=\E[B,
+ cuf=\E[%p1%dC,
+ cuf1=\E[C,
+- cub=\E[%p1%dD,
+- cub1=\E[D,
+- sc=\E[s,
++ cuu=\E[%p1%dA,
++ cuu1=\E[A,
+ rc=\E[u,
+- use=ansi,
++ sc=\E[s,
++ use=ansi-emx,
+ use=mono,
+ mono|ANSI.SYS mono,
+ blink=\E[5m,
+@@ -353,7 +366,7 @@
+ smul=\E[1;31;40m,
+ use=mono,
+ # nice colors for Emacs (white on blue, mode line white on cyan)
+-ansi-color-2|ANSI.SYS color 2,
++ansi-color-2-emx|ANSI.SYS color 2,
+ rmcup=\E[0m,
+ rmso=\E[0;37;44m,
+ rmul=\E[0m,
+@@ -361,9 +374,9 @@
+ smcup=\E[0;37;44m,
+ smso=\E[1;37;46m,
+ smul=\E[1;31;40m,
+- use=ansi,
++ use=ansi-emx,
+ # nice colors for Emacs (white on black, mode line black on cyan)
+-ansi-color-3|ANSI.SYS color 3,
++ansi-color-3-emx|ANSI.SYS color 3,
+ rmcup=\E[0m,
+ rmso=\E[0m,
+ rmul=\E[0m,
+@@ -371,7 +384,7 @@
+ smcup=\E[0m,
+ smso=\E[30;46m,
+ smul=\E[1;31;40m,
+- use=ansi,
++ use=ansi-emx,
+
+ #### X terminal emulators
+ #
+@@ -437,7 +450,7 @@
+ # xterm's internal mouse-tracking facility; ncurses will interpret the
+ # following three bytes of mouse status information.
+ # From: Eric S. Raymond <esr@snark.thyrsus.com> 14 Dec 1995
+-xterm|vs100|xterm terminal emulator (X11R6 Window System),
++xterm-r6|xterm terminal emulator (X11R6 Window System),
+ am,
+ km,
+ mir,
+@@ -488,7 +501,15 @@
+ kf10=\E[21~,
+ kf11=\E[23~,
+ kf12=\E[24~,
++ kf13=\E[25~,
++ kf14=\E[26~,
++ kf15=\E[28~,
++ kf16=\E[29~,
++ kf17=\E[31~,
++ kf18=\E[32~,
++ kf19=\E[33~,
+ kf2=\E[12~,
++ kf20=\E[34~,
+ kf3=\E[13~,
+ kf4=\E[14~,
+ kf5=\E[15~,
+@@ -496,6 +517,7 @@
+ kf7=\E[18~,
+ kf8=\E[19~,
+ kf9=\E[20~,
++ kfnd=\E[1~,
+ khome=\EO\0,
+ kich1=\E[2~,
+ kmous=\E[M,
+@@ -545,6 +567,7 @@
+ sc=\E7,
+ tsl=\E[?E\E[?%i%dT,
+ use=xterm,
++ use=ecma+color,
+
+ # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+ xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
+@@ -758,7 +781,6 @@
+ cup=\EE%p1%d;%p2%d;,
+ cuu=\Ep-%p1%d;,
+ cuu1=\EA,
+- cvvis=\Ea,
+ dch=\EI%p1%d;,
+ dch1=\EI1;,
+ dl=\ER%p1%d;,
+@@ -816,10 +838,21 @@
+ rmso=\ES,
+ rmul=\ES,
+ rs2=\ES\Es0;\Er0;,
+- setab=\Es%i%p1%d; setaf=\Er%i%p1%d;,
++ setab=\Es%i%p1%d;,
++ setaf=\Er%i%p1%d;,
+ sgr0=\ES,
+ smacs=\0,
+ smir=\EY,
+ smso=\ES\ET,
+ smul=\ES\EV,
+ tbc=\Ej,
++###############################################################################
++# Aliases which conflict with terminfo.src
++ansi|ANSI.SYS color,
++ use=ansi-emx,
++ansi-color-2|ANSI.SYS color 2,
++ use=ansi-color-2-emx,
++ansi-color-3|ANSI.SYS color 3,
++ use=ansi-color-3-emx,
++xterm|vs100|xterm terminal emulator (X11R6 Window System),
++ use=xterm-r6,
+diff -urNd -urNd ncurses-5.3/misc/run_tic.in ncurses-5.3.20030906.orig/misc/run_tic.in
+--- ncurses-5.3/misc/run_tic.in Sat Oct 13 19:44:33 2001
++++ ncurses-5.3.20030906.orig/misc/run_tic.in Fri Sep 12 16:42:59 2003
+@@ -1,6 +1,6 @@
+ #!@SHELL@
+ ##############################################################################
+-# Copyright (c) 1998,2000 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -29,7 +29,7 @@
+ #
+ # Author: Thomas E. Dickey 1996,2000
+ #
+-# $Id: run_tic.in,v 1.11 2001/10/14 00:44:33 tom Exp $
++# $Id: run_tic.in,v 1.15 2003/09/06 22:31:44 Dan.Kegel Exp $
+ # This script is used to install terminfo.src using tic. We use a script
+ # because the path checking is too awkward to do in a makefile.
+ #
+@@ -62,10 +62,14 @@
+ # on the host's copy of tic to compile the terminfo database.
+ if test "$THAT_CC" = "$THIS_CC" ; then
+ case "$PATH" in
+-:*) PATH=../progs:${DESTDIR}$bindir$PATH ;;
+-*) PATH=../progs:${DESTDIR}$bindir:$PATH ;;
++:*) PATH=../progs:../lib:${DESTDIR}$bindir$PATH ;;
++*) PATH=../progs:../lib:${DESTDIR}$bindir:$PATH ;;
+ esac
+ export PATH
++SHLIB="sh $srcdir/shlib"
++else
++# Cross-compiling, so don't set PATH or run shlib.
++SHLIB=
+ fi
+
+ #
+@@ -81,7 +85,7 @@
+ umask 022
+
+ # Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
+-TICDIR=`echo $TERMINFO | sed -e 's@/share/@/lib/@'`
++TICDIR=`echo $TERMINFO | sed -e 's%/share/%/lib/%'`
+
+ # Remove the old terminfo stuff; we don't care if it existed before, and it
+ # would generate a lot of confusing error messages if we tried to overwrite it.
+@@ -91,11 +95,11 @@
+
+ # If we're not installing into /usr/share/, we'll have to adjust the location
+ # of the tabset files in terminfo.src (which are in a parallel directory).
+-TABSET=`echo $ticdir | sed -e 's@/terminfo$@/tabset@'`
++TABSET=`echo $ticdir | sed -e 's%/terminfo$%/tabset%'`
+ if test "x$TABSET" != "x/usr/share/tabset" ; then
+ echo '** adjusting tabset paths'
+ TMP=${TMPDIR-/tmp}/$$
+- sed -e s:/usr/share/tabset:$TABSET:g $source >$TMP
++ sed -e s%/usr/share/tabset%$TABSET%g $source >$TMP
+ trap "rm -f $TMP" 0 1 2 5 15
+ source=$TMP
+ fi
+@@ -111,7 +115,7 @@
+ problems for older ncurses applications.
+
+ EOF
+-if ( $srcdir/shlib tic$suffix -s -o $TERMINFO $source )
++if ( $SHLIB tic$suffix -s -o $TERMINFO $source )
+ then
+ echo '** built new '$TERMINFO
+ else
+@@ -140,13 +144,15 @@
+ cd ${DESTDIR}$prefix
+ # Construct a symbolic link that only assumes $ticdir has the
+ # same $prefix as the other installed directories.
+- RELATIVE=`echo $ticdir|sed -e 's:^'$prefix'/::'`
++ RELATIVE=`echo $ticdir|sed -e 's%^'$prefix'/%%'`
+ if test "$RELATIVE" != "$ticdir" ; then
+- RELATIVE=../`echo $ticdir|sed -e 's:^'$prefix'/::' -e 's:^/::'`
++ RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'`
+ fi
+ if ( @LN_S@ $RELATIVE $TICDIR )
+ then
+- echo '** linked '$TICDIR' for compatibility'
++ echo '** sym-linked '$TICDIR' for compatibility'
++ else
++ echo '** could not sym-link '$TICDIR' for compatibility'
+ fi
+ fi
+ fi
+diff -urNd -urNd ncurses-5.3/misc/shlib ncurses-5.3.20030906.orig/misc/shlib
+--- ncurses-5.3/misc/shlib Sat May 20 18:01:17 2000
++++ ncurses-5.3.20030906.orig/misc/shlib Sun Jul 20 14:02:09 2003
+@@ -29,7 +29,7 @@
+ #
+ # Author: Thomas E. Dickey <dickey@clark.net> 1996
+ #
+-# $Id: shlib,v 1.6 2000/05/20 23:01:17 tom Exp $
++# $Id: shlib,v 1.7 2003/07/19 22:58:14 tom Exp $
+ # Use this script as a wrapper when running executables linked to shared
+ # libraries on systems that use the $LD_LIBRARY_PATH variable and don't embed
+ # the soname's path within the linked executable (such as IRIX), e.g,
+@@ -84,4 +84,11 @@
+ fi
+ export LD_LIBRARY_PATH
+ fi
++
++# cygwin doesn't use LD_LIBRARY_PATH, but does use PATH
++if test -n "$PATHEXT" ; then
++ PATH=$LD_LIBRARY_PATH:$PATH;
++ export PATH
++fi
++
+ eval "$*"
+diff -urNd -urNd ncurses-5.3/misc/terminfo.src ncurses-5.3.20030906.orig/misc/terminfo.src
+--- ncurses-5.3/misc/terminfo.src Sat Oct 5 13:40:53 2002
++++ ncurses-5.3.20030906.orig/misc/terminfo.src Sun Jul 20 14:02:09 2003
+@@ -10,7 +10,7 @@
+ #
+ #------------------------------------------------------------------------------
+ # Version 10.2.1
+-# $Date: 2002/10/05 18:40:53 $
++# $Date: 2003/07/19 19:44:24 $
+ # terminfo syntax
+ #
+ # Eric S. Raymond (current maintainer)
+@@ -562,7 +562,7 @@
+ #
+ # This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
+ # documentation (except for the keyboard key reassignment feature, which
+-# doen't fit the <pfkey> model well). The klone+acs sequences were valid
++# doesn't fit the <pfkey> model well). The klone+acs sequences were valid
+ # though undocumented. The <pfkey> capability is untested but should work for
+ # keys F1-F10 (%p1 values outside this range will yield unpredictable results).
+ # From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 7 1995
+@@ -1468,7 +1468,9 @@
+ kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W,
+ kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r,
+ kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m,
+- rmso=\2330m, rmul=\2330m, sgr0=\2330m,
++ rmso=\2330m, rmul=\2330m,
++ sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
++ sgr0=\2330m,
+
+ # NetBSD "wscons" emulator in vt220 mode
+ # These are micro-minimal and probably need to be redone for real
+@@ -1484,7 +1486,7 @@
+ # DECstation/pmax.
+ rcons|BSD rasterconsole,
+ use=sun-il,
+-# Color version of above. Color currenly only provided by NetBSD.
++# Color version of above. Color currently only provided by NetBSD.
+ rcons-color|BSD rasterconsole with ANSI color,
+ bce,
+ colors#8, pairs#64,
+@@ -1809,6 +1811,44 @@
+ # | $Op | $On | |
+ # |___kc1_______K4____|_kc3__K5_|_kent_@8_|
+ #
++# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
++# terminfo guidelines. That is a compromise used to assign the remaining
++# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
++# support:
++vt100+keypad|dec vt100 numeric keypad no fkeys,
++ ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn,
++vt100+pfkeys|dec vt100 numeric keypad,
++ kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
++ use=vt100+keypad,
++vt100+fnkeys|dec vt100 numeric keypad,
++ kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,
++ kf9=\EOw, use=vt100+pfkeys,
++#
++# A better adaptation to modern keyboards such as the PC's, which have a dozen
++# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
++# use the 5-key arrangement to model the arrow keys as suggested in the
++# terminfo guidelines:
++# _______________________________________
++# | PF1 | PF2 | PF3 | PF4 |
++# | $OP | $OQ | $OR | $OS |
++# |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
++# | 7 8 9 - |
++# | $Ow | $Ox | $Oy | $Om |
++# |_ka1__K1_|_________|_ka3__K3_|_________|
++# | 4 | 5 | 6 | , |
++# | $Ot | $Ou | $Ov | $Ol |
++# |_________|_kb2__K2_|_________|_________|
++# | 1 | 2 | 3 | |
++# | $Oq | $Or | $Os | enter |
++# |_kc1__K4_|_________|_kc3__K5_| $OM |
++# | 0 | . | |
++# | $Op | $On | |
++# |___________________|_________|_kent_@8_|
++#
++vt220+keypad|dec vt220 numeric keypad,
++ ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, kent=\EOM,
++ kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
++#
+ # And here, for those of you with orphaned VT100s lacking documentation, is
+ # a description of the soft switches invoked when you do `Set Up'.
+ #
+@@ -1853,17 +1893,15 @@
+ cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+ cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+ cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+- enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq,
+- ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD,
+- kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy,
+- kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt,
+- kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8,
++ enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H,
++ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8,
+ rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+ rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
+ sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+ smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
++ use=vt100+fnkeys,
+ vt100nam|vt100-nam|vt100 no automargins,
+ am@, xenl@, use=vt100-am,
+ vt100-vb|dec vt100 (w/advanced video) & no beep,
+@@ -2132,22 +2170,21 @@
+ home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL,
+ il1=\E[L, ind=\ED,
+ is2=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+- ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=\177, kc1=\EOq, kc3=\EOs,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+- kdch1=\E[3~, kel=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~,
+- kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+- kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+- kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS,
+- kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+- khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, kpp=\E[5~,
+- kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i,
+- nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt300,
+- ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l,
+- rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
++ kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
++ kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~,
++ kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
++ kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
++ kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
++ kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I,
++ kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i,
++ mc5=\E[?5i, nel=\EE, rc=\E8, rev=\E[7m,
++ rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
++ rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
++ rmul=\E[m,
+ rs2=\E>\E[?3l\E[?4l\E[5?l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+ sc=\E7, sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+- tsl=\E[1$}\E[H\E[K,
++ tsl=\E[1$}\E[H\E[K, use=vt220+keypad,
+ vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy,
+ am@,
+ is2=\E>\E[?3l\E[?4l\E[5?l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+@@ -2584,6 +2621,13 @@
+ dch=\E[%p1%dP, ich=\E[%p1%d@, use=ecma+color,
+ use=ms-vt100,
+
++# a minimal subset of a vt100 (compare with "news-unk).
++tt|tkterm|Don Libes' tk text widget terminal emulator,
++ clear=\E[H\E[J, cr=^M, cuf1=\E[C, cup=\E[%p1%d;%p2%dH,
++ cuu1=\E[A, ind=^J, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
++ kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, rmso=\E[m,
++ smso=\E[7m,
++
+ #### X terminal emulators
+ #
+ # You can add the following line to your .Xdefaults to change the terminal type
+@@ -2691,9 +2735,8 @@
+ ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
+ il1=\E[L, ind=^J,
+ is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
+- ka1=\EOw, ka3=\EOu, kb2=\EOy, kbeg=\EOE, kbs=^H, kc1=\EOq,
+- kc3=\EOs, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+- kdch1=\177, kend=\EOF, kent=\EOM, kf1=\E[11~, kf10=\E[21~,
++ kbeg=\EOE, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
++ kcuu1=\EOA, kdch1=\177, kend=\EOF, kf1=\E[11~, kf10=\E[21~,
+ kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+ kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+ kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~,
+@@ -2710,7 +2753,7 @@
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
+- vpa=\E[%i%p1%dd, use=ecma+color,
++ vpa=\E[%i%p1%dd, use=ecma+color, use=vt220+keypad,
+
+ # This is the stock xterm entry supplied with XFree86 3.3, which uses VT100
+ # codes for F1-F4 except while in VT220 mode.
+@@ -2752,8 +2795,8 @@
+
+ xterm-xfree86|xterm-new|xterm terminal emulator (XFree86 4.0 Window System),
+ npc,
+- kDC=\E[3;2~, kEND=\EO2F, kHOM=\EO2H, kIC=\E[2;2~,
+- kLFT=\EO2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\EO2C,
++ kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
++ kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C,
+ kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+ kcuu1=\EOA, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~,
+ kf11=\E[23~, kf12=\E[24~, kf13=\EO2P, kf14=\EO2Q,
+@@ -2819,6 +2862,14 @@
+ xterm-88color|xterm with 88 colors,
+ colors#88, pairs#88, use=xterm-256color,
+
++# These two are used to demonstrate the any-event mouse support, i.e., by
++# using an extended name "XM" which tells ncurses to put the terminal into
++# a special mode when initializing the xterm mouse.
++xterm-1002|testing xterm-mouse,
++ XM=\E[?1002%?%p1%{1}%=%th%el%;, use=xterm-xfree86,
++xterm-1003|testing xterm-mouse,
++ XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-xfree86,
++
+ # This is another variant, for XFree86 4.0 xterm (T.Dickey)
+ # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color.
+ # To use it, your decTerminalID resource must be set to 200 or above.
+@@ -2895,15 +2946,14 @@
+ # + uses DEC-style control sequences for the application keypad.
+ #
+ xterm-vt220|XFree86 xterm emulating vt220,
+- ka1=\EOw, ka3=\EOy, kbeg=\EOu, kc1=\EOq, kc3=\EOs, kcbt=\E[Z,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~,
+- kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+- kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+- kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
+- kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~,
+- kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~,
+- kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+- use=xterm-basic,
++ kbeg=\EOu, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
++ kcuu1=\EOA, kend=\E[4~, kf10=\E[21~, kf11=\E[23~,
++ kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
++ kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
++ kf20=\E[34~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
++ kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
++ kmous=\E[M, knp=\E[6~, kpp=\E[5~, use=xterm-basic,
++ use=vt220+keypad,
+
+ xterm-vt52|XFree86 xterm emulating dec vt52,
+ cols#80, it#8, lines#24,
+@@ -2951,7 +3001,7 @@
+ # -- MATSUMOTO Shoji)
+ kterm|kterm kanji terminal emulator (X window system),
+ eslok, hs,
+- acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ acsc=++\,\,--..00ii``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+ csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs=, fsl=\E[?F,
+ kmous=\E[M, rc=\E8, rmacs=\E(B, sc=\E7, smacs=\E(0,
+ tsl=\E[?E\E[?%i%dT, use=xterm-r6, use=ecma+color,
+@@ -2981,9 +3031,8 @@
+ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+ el=\E[K, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I,
+ ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J,
+- is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, ka1=\EOw, ka3=\EOy,
+- kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\EOD, kcud1=\EOB,
+- kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kent=\EOM, kf1=\E[11~,
++ is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l, kbs=^H, kcub1=\EOD,
++ kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[8~, kf1=\E[11~,
+ kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~,
+ kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+ kf8=\E[19~, kf9=\E[20~, khome=\E[7~, kich1=\E[2~,
+@@ -2995,7 +3044,7 @@
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m, smacs=^N, smam=\E[?7h,
+ smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m,
+- smul=\E[4m, use=ecma+color,
++ smul=\E[4m, use=ecma+color, use=vt220+keypad,
+
+ # The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of
+ # xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support
+@@ -3005,7 +3054,9 @@
+ #
+ # Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce
+ # colors; note that this is not compatible with the 5.2 version.
+-nxterm|xterm-color|generic color xterm,
++# csw (2002-05-15): make xterm-color primary instead of nxterm, to
++# match XFree86's xterm.terminfo usage and prevent circular links
++xterm-color|nxterm|generic color xterm,
+ ncv@,
+ op=\E[m, use=xterm-r6, use=klone+color,
+
+@@ -3146,10 +3197,9 @@
+ il=\E[%p1%dL, il1=\E[L, ind=^J, is1=\E[?47l\E=\E[?1l,
+ is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
+ kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kLFT=\E[d, kNXT=\E[6$,
+- kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H,
+- kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+- kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^,
+- kend=\E[8~, kent=\EOM, kf1=\E[11~, kf10=\E[21~,
++ kPRV=\E[5$, kRIT=\E[c, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
++ kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
++ kel=\E[8\^, kend=\E[8~, kf1=\E[11~, kf10=\E[21~,
+ kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+ kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+ kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~,
+@@ -3162,10 +3212,22 @@
+ rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>,
+ s0ds=\E(B, s1ds=\E(0, sc=\E7, sgr0=\E[0m\017, smacs=^N,
+ smcup=\E7\E[?47h, smir=\E[4h, smkx=\E=, smso=\E[7m,
+- smul=\E[4m, tbc=\E[3g,
++ smul=\E[4m, tbc=\E[3g, use=vt220+keypad,
+ rxvt|rxvt terminal emulator (X Window System),
+ ncv@,
+- sgr0=\E[m\017, use=rxvt-basic, use=ecma+color,
++ cvvis=\E[?25h, hpa=\E[%i%p1%dG, kf0=\E[21~,
++ sgr0=\E[m\017, vpa=\E[%i%p1%dd, use=rxvt-basic,
++ use=ecma+color,
++rxvt-color|rxvt terminal emulator (X Window System),
++ use=rxvt,
++rxvt-xpm|rxvt terminal emulator (X Window System),
++ use=rxvt,
++rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin,
++ acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
++ use=rxvt,
++rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin,
++ acsc=0\333+\257\,\256-\^`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330~\376,
++ use=rxvt-cygwin,
+
+ # This variant is supposed to work with rxvt 2.7.7 when compiled with
+ # NO_BRIGHTCOLOR defined. rxvt needs more work...
+@@ -3227,19 +3289,17 @@
+ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+ el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY,
+ home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+- il=\E[%p1%dL, il1=\E[L, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr,
+- kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB,
+- kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kent=\EOM, kf0=\EOy,
+- kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ,
+- kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+- kf9=\EOX, khome=\E[H, kmous=\E[^_, knp=\E[U, kpp=\E[V,
+- rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, rmacs=^O,
+- rmcup=\E@0\E[?4r, rmso=\E[m,
++ il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD,
++ kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy,
++ kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU,
++ kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_,
++ knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM,
++ rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m,
+ rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
+- smso=\E[7m, tbc=\E[3g,
++ smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys,
+
+ xtermc|xterm terminal emulator (color),
+ colors#8, ncv#7, pairs#64,
+@@ -3332,7 +3392,7 @@
+ # print interface, ANSI X3.64 colour escape sequences, etc. Newsgroup postings
+ # indicate that it emulates more than one terminal, but incompletely.
+ #
+-# This is dapted from a FreeBSD bug-report by Daniel Rudy <dcrudy@pacbell.net>
++# This is adapted from a FreeBSD bug-report by Daniel Rudy <dcrudy@pacbell.net>
+ # It is based on vt102's entry, with some subtle differences, but also
+ # has status line
+ # supports ANSI colors (except for 'op' string)
+@@ -3349,19 +3409,71 @@
+ dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
+ dsl=\E[?E, ed=\E[J, el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0,
+ fsl=\E[?F, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
+- ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, ka1=\EOq,
+- ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD,
+- kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy,
+- kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt,
+- kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, op=\E[100m, rc=\E8,
+- rev=\E[7m, ri=\EM, rmacs=^O, rmcup=\E[2J\E[?47l\E8,
+- rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
++ ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H,
++ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOy,
++ kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw,
++ op=\E[100m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
++ rmcup=\E[2J\E[?47l\E8, rmkx=\E[?1l\E>, rmso=\E[m,
++ rmul=\E[m,
+ rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H,
+ sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smcup=\E7\E[?47h,
+ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+- tsl=\E[?E\E[?%i%p1%dT,
++ tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys,
++
++### MTERM
++#
++# This application is available by email from <mouse@Rodents.Montreal.QC.CA>.
++#
++# "mterm -type ansi" sets $TERM to "ansi"
++mterm-ansi|ANSI emulation,
++ am, bw, mir, msgr,
++ it#8,
++ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M,
++ cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
++ cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
++ cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
++ dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J,
++ el=\E[K, home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=,
++ il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS,
++ invis=\E[8m, is2=\E)0\017, kbs=^H, nel=\EE, rev=\E[7m,
++ ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmir=\E[4l, rmso=\E[27m,
++ rmul=\E[24m, sgr0=\E[m, smacs=^N, smir=\E[4h, smso=\E[7m,
++ smul=\E[4m, vpa=\E[%i%p1%dd,
++# mterm normally sets $TERM to "mterm"
++mterm|mouse-sun|Der Mouse term,
++ am, bw, mir,
++ it#8,
++ bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^N, cuf1=^S,
++ cup=\006%p1%d.%p2%d., cuu1=^X, dch1=^Y, dl1=^K, ed=^B, el=^C,
++ home=^P, ht=^I, il1=^A, ind=^U, kbs=^H, ll=^R, nel=^M^U, ri=^W,
++ rmir=^O, rmso=^T, smir=^Q, smso=^V,
++# "mterm -type decansi" sets $TERM to "decansi"
++decansi|ANSI emulation with DEC compatibility hacks,
++ am, mir, msgr, xenl,
++ colors#8, it#8, pairs#64,
++ acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
++ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
++ clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
++ csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
++ cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
++ dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM,
++ dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, enacs=\E(B\E)0,
++ home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich1=, il=\E[%p1%dL,
++ il1=\E[L, ind=\E[S, indn=\E[%p1%dS, invis=\E[8m,
++ is2=\E)0\E[r\017, kbs=^H, kcub1=\EOD, kcud1=\EOB,
++ kcuf1=\EOC, kcuu1=\EOA, nel=\EE, op=\E[0m, rc=\E8, rev=\E[7m,
++ ri=\E[T, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmir=\E[4l,
++ rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, sc=\E7,
++ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
++ sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h,
++ smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR,
++ u7=\E[6n, vpa=\E[%i%p1%dd,
++
+ #### MGR
+ #
+ # MGR is a Bell Labs window system lighter-weight than X.
+@@ -3467,11 +3579,18 @@
+ kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+ khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+- nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmir=\E[4l,
+- rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec, sc=\E7,
+- sgr0=\E[m, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=,
+- smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B, S0=\E(%p1%c,
++ nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
++ rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m,
++ rmul=\E[24m, rs2=\Ec, sc=\E7, sgr0=\E[m, smacs=^N,
++ smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[3m,
++ smul=\E[4m, tbc=\E[3g, E0=\E(B, S0=\E(%p1%c,
+ use=ecma+color,
++# The bce and status-line entries are from screen 3.9.13 (and require some
++# changes to .screenrc).
++screen-bce|VT 100/ANSI X3.64 virtual terminal with bce,
++ bce, use=screen,
++screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line,
++ dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen,
+
+ # Read the fine manpage:
+ # When screen tries to figure out a terminal name for
+@@ -3508,9 +3627,11 @@
+ screen.xterm-r6|screen customized for X11R6 xterm,
+ bw, use=xterm-r6,
+ # Color applications running in screen and TeraTerm do not play well together
+-# on Solaris.
++# on Solaris because Sun's curses implementation gets confused.
+ screen.teraterm|disable ncv in teraterm,
+- ncv#127, use=screen,
++ ncv#127,
++ acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
++ use=screen,
+
+ screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
+ cols#132, use=screen,
+@@ -3631,7 +3752,7 @@
+ #### Pilot Pro Palm-Top
+ #
+ # Termcap for Top Gun Telnet and SSH on the Palm Pilot.
+-# http://www.isaac.cs.berkeley.edu/pilot/tgtelnet.html
++# http://www.ai/~iang/TGssh/
+ pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional,
+ OTbs, am, xenl,
+ cols#39, lines#16,
+@@ -3763,6 +3884,9 @@
+ sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history,
+ lines#35,
+ rmcup=\E[>4h, smcup=\E[>4l, use=sun,
++sun-type4|Sun Workstation console with type 4 keyboard,
++ kcub1=\E[217z, kcud1=\E[221z, kcuf1=\E[219z,
++ kcuu1=\E[215z, use=sun-il,
+
+ #### Iris consoles
+ #
+@@ -4032,62 +4156,79 @@
+ #### Non-Unix Consoles
+ #
+
++### EMX termcap.dat compatibility modes
++#
++# Keypad: Home=\0G Up=\0H PrPag=\0I
++# ka1,kh kcuu1 kpp,ka3
++#
++# Left=\0K 5=\0L Right=\0M
++# kcub1 kb2 kcuf1
++#
++# End=\0O Down=\0P NxPag=\0Q
++# kc1,kend kcud1 kc3,knp
++#
++# Ins=\0R Del=\0S
++# kich1 kdch1
++#
++# On keyboard with 12 function keys,
++# shifted f-keys: F13-F24
++# control f-keys: F25-F36
++# alt f-keys: F37-F48
++# The shift/control/alt keys do not modify each other, but alt overrides both,
++# and control overrides shift.
++#
++# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
++# no_color_video to inform the application that standout(1), underline(2)
++# reverse(4) and invisible(64) don't work with color.
++emx-base|DOS special keys,
++ bce, bw,
++ it#8, ncv#71,
++ bel=^G, ka1=\0G, ka3=\0I, kb2=\0L, kbs=^H, kc1=\0O, kc3=\0Q,
++ kcbt=\0^O, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H,
++ kdch1=\0S, kend=\0O, kf1=\0;, kf10=\0D, kf11=\0\205,
++ kf12=\0\206, kf13=\0T, kf14=\0U, kf15=\0V, kf16=\0W,
++ kf17=\0X, kf18=\0Y, kf19=\0Z, kf2=\0<, kf20=\0[, kf21=\0\\,
++ kf22=\0], kf23=\0\207, kf24=\0\210, kf25=\0\^, kf26=\0_,
++ kf27=\0`, kf28=\0a, kf29=\0b, kf3=\0=, kf30=\0c, kf31=\0d,
++ kf32=\0e, kf33=\0f, kf34=\0g, kf35=\0\211, kf36=\0\212,
++ kf37=\0h, kf38=\0i, kf39=\0j, kf4=\0>, kf40=\0k, kf41=\0l,
++ kf42=\0m, kf43=\0n, kf44=\0o, kf45=\0p, kf46=\0q,
++ kf47=\0\213, kf48=\0\214, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B,
++ kf9=\0C, khome=\0G, kich1=\0R, knp=\0Q, kpp=\0I,
++ use=ansi.sys,
++
+ # Except for the "-emx" suffixes, these are as distributed with EMX 0.9b,
+ # a Unix-style environment used on OS/2. (Note that the suffix makes some
+ # names longer than 14 characters, the nominal maximum).
+ #
+ # Removed: rmacs=\E[10m, smacs=\E[11m, because OS/2 does not implement acs.
+ ansi-emx|ANSI.SYS color,
+- am, bce, eo, mir, msgr, xenl, xon,
++ am, bce, eo, mir, msgr, xon,
+ colors#8, cols#80, it#8, lines#25, pairs#64,
+ bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+ clear=\E[1;33;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H,
+ cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+ dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l,
+ home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J,
+- kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H,
+- kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@,
+- kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O,
+- knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[5;37;41m,
+- rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;44m\E[1;33m,
+- rmul=\E[0;44m\E[1;33m, rs1=\Ec, setab=\E[4%p1%dm,
+- setaf=\E[3%p1%dm, sgr0=\E[0m\E[1;33;44m, smir=\E[4h,
+- smpch=\E[11m, smso=\E[0;31;47m, smul=\E[1;31;44m,
+- tbc=\E[3g, u8=\E[?6c, u9=\E[c,
++ kb2=\E[G, kbs=^H, kf0=\0D, kll=\0O, kspd=^Z, nel=^M^J,
++ rev=\E[5;37;41m, rmir=\E[4l, rmpch=\E[10m,
++ rmso=\E[0;44m\E[1;33m, rmul=\E[0;44m\E[1;33m, rs1=\Ec,
++ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ sgr0=\E[0m\E[1;33;44m, smir=\E[4h, smpch=\E[11m,
++ smso=\E[0;31;47m, smul=\E[1;31;44m, tbc=\E[3g, u8=\E[?6c,
++ u9=\E[c, use=emx-base,
++# nice colors for Emacs (white on blue, mode line white on cyan)
+ ansi-color-2-emx|ANSI.SYS color 2,
+- am, bce, eo, mir, msgr, xenl, xon,
+- colors#8, cols#80, it#8, lines#25, pairs#64,
+- bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+- clear=\E[0;37;44m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H,
+- cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+- dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l,
+- home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J,
+- kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H,
+- kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@,
+- kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O,
+- knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[1;37;46m,
+- rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;37;44m,
+- rmul=\E[0;37;44m, rs1=\Ec, setab=\E[4%p1%dm,
+- setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smir=\E[4h,
+- smpch=\E[11m, smso=\E[1;37;46m, smul=\E[1;36;44m,
+- tbc=\E[3g, u8=\E[?6c, u9=\E[c,
++ clear=\E[0;37;44m\E[H\E[J, rev=\E[1;37;46m,
++ rmso=\E[0;37;44m, rmul=\E[0;37;44m, rs1=\Ec,
++ setaf=\E[3%p1%dm, sgr0=\E[0;37;44m, smso=\E[1;37;46m,
++ smul=\E[1;36;44m, use=ansi-emx,
++# nice colors for Emacs (white on black, mode line black on cyan)
+ ansi-color-3-emx|ANSI.SYS color 3,
+- am, bce, eo, mir, msgr, xenl, xon,
+- colors#8, cols#80, it#8, lines#25, pairs#64,
+- bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+- clear=\E[0;37;40m\E[H\E[J, cnorm=\E[?25h, cr=^M, cub1=^H,
+- cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+- dch=\E[%p1%dp, ed=\E[J, el=\E[K, flash=\E[?5h\E[?5l,
+- home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=^J,
+- kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H,
+- kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=, kf4=\0>, kf5=\0?, kf6=\0@,
+- kf7=\0A, kf8=\0B, kf9=\0C, khome=\0G, kich1=\0R, kll=\0O,
+- knp=\0Q, kpp=\0I, kspd=^Z, nel=^M^J, rev=\E[1;37;46m,
+- rmir=\E[4l, rmpch=\E[10m, rmso=\E[0;37;40m,
+- rmul=\E[0;37;40m, rs1=\Ec, setab=\E[4%p1%dm,
+- setaf=\E[3%p1%dm, sgr0=\E[0;10m, smir=\E[4h,
+- smpch=\E[11m, smso=\E[1;37;46m, smul=\E[0;36;40m,
+- tbc=\E[3g, u8=\E[?6c, u9=\E[c,
++ clear=\E[0;37;40m\E[H\E[J, rev=\E[1;37;46m,
++ rmso=\E[0;37;40m, rmul=\E[0;37;40m, rs1=\Ec,
++ setaf=\E[3%p1%dm, sgr0=\E[0;10m, smso=\E[1;37;46m,
++ smul=\E[0;36;40m, use=ansi-emx,
+ mono-emx|stupid monochrome ansi terminal with only one kind of emphasis,
+ am,
+ cols#80, it#8, lines#24,
+@@ -4117,31 +4258,112 @@
+ # I've indicated which of these were and which I used.
+ # Cheers, earnie_boyd@yahoo.com
+ # several changes based on running with tack and comparing with older entry -TD
++# more changes from csw:
++# add cbt [backtab]
++# remove eo [erase overstrike with blank]
++# change clear was \E[H\E[J now \E[2J (faster?)
++# remove cols
++# remove lines
++# remove ncv#3 [colors collide with highlights, bitmask] not applicable
++# to MSDOS box?
++# add cub [cursor back param]
++# add cuf [cursor forward param]
++# add cuu [cursor up param]
++# add cud [cursor down param]
++# add hs [has status line]
++# add fsl [return from status line]
++# add tsl [go to status line]
++# add smacs [Start alt charset] (not sure if this works)
++# add rmacs [End alt charset] (ditto)
++# add smcup [enter_ca_mode] (save console; thanks Corinna)
++# add rmcup [exit_ca_mode] (restore console; thanks Corinna)
++# add kb2 [center of keypad]
++# add u8 [user string 8] \E[?6c
++# add el [clear to end of line] \E[K
++# Notes:
++# cnorm [make cursor normal] not implemented
++# flash [flash] not implemented
++# blink [blink] not implemented very usefully in cygwin? \E[5m
++# dim [dim] not implemented very usefully in cygwin? \E[2m
++# cub1 [cursor back 1] typically \E[D, but ^H is faster?
++# kNXT [shifted next key] not implemented
++# kPRV [shifted prev key] not implemented
++# khome [home key] really is \E[1~ NOT \E[H
++# tbc [clear tab stops] not implemented
++# xenl [newline ignnored after 80 cols] messes up last line? Ehud Karni
++# smpch [Start PC charset] is \E[11m, same as smacs
++# rmpch [End PC charset] is \E[10m, same as rmacs
++# mir [move in insert mode] fails in tack?
++# bce [back color erase] causes problems with change background color?
++# cvvis [make cursor very visible] causes a stackdump when testing with
++# testcurs using the output option? \E[?25h\E[?8c
++# civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c
++# ech [erase characters param] broken \E[%p1%dX
++# kcbt [back-tab key] not implemented in cygwin? \E[Z
+ cygwin|ansi emulation for Cygwin,
+- am, eo, in, msgr, xon,
+- colors#8, cols#80, it#8, lines#25, ncv#3, pairs#64,
++ am, hs, in, msgr, xon,
++ colors#8, it#8, pairs#64,
+ acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+- bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, cub1=^H,
+- cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+- dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
+- el=\E[K, el1=\E[1K, home=\E[H, hpa=\E[%i%p1%dG, ht=^I,
+- hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
+- ind=^J, invis=\E[8m, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+- kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
++ bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J, cr=^M,
++ cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
++ cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
++ cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
++ dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, fsl=^G,
++ home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
++ ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, invis=\E[8m,
++ kb2=\E[G, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
++ kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
+ kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+ kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+ kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~,
+ kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+ kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
+ knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m,
+- rc=\E8, rev=\E[7m, ri=\EM, rmir=\E[4l, rmpch=\E[10m,
++ rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m,
++ rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmpch=\E[10m,
+ rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7,
+ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+- sgr0=\E[0;10m, smir=\E[4h, smpch=\E[11m, smso=\E[7m,
+- smul=\E[4m, u6=\E[%i%d;%dR, u7=\E[6n, u9=\E[c,
++ sgr0=\E[0;10m, smacs=\E11m, smcup=\E7\E[?47h, smir=\E[4h,
++ smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];,
++ u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c,
+ vpa=\E[%i%p1%dd,
+
++# I've supplied this so that you can help test new values and add other
++# features. Cheers, earnie_boyd@yahoo.com.
++#
++# Some features are from pcansi. The op value is from linux. Function-keys
++# are from linux. These have been tested not to cause problems. xenl was in
++# this list, but DOES cause problems so it has been removed
++cygwinDBG|Debug Version for Cygwin,
++ am, eo, mir, msgr, xon,
++ colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
++ acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
++ bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J,
++ cnorm=\E[?25h, cr=^M, cub=\E[%p1%dD, cub1=\E[D,
++ cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
++ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
++ dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM,
++ dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
++ flash=\E[?5h\E[?5l$<200/>, home=\E[H, hpa=\E[%i%p1%dG,
++ ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL,
++ il1=\E[L, ind=^J, invis=\E[8m, kNXT=\E[6$, kPRV=\E[5$,
++ kb2=\E[G, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
++ kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~, kf1=\E[[A,
++ kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
++ kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
++ kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~,
++ kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
++ kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~,
++ knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, op=\E[39;49m,
++ rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l,
++ rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7,
++ setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
++ sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
++ sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m,
++ smul=\E[4m, tbc=\E[2g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c,
++ u9=\E[c, vpa=\E[%i%p1%dd,
++
+ # This entry fits the Windows NT console when the _POSIX_TERM environment
+ # variable is set to 'on'. While the Windows NT POSIX console is seldom used,
+ # the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP
+@@ -6939,9 +7161,8 @@
+ ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>,
+ ind=\n$<2>, ip=$<1>,
+ is1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h,
+- is2=\E>\E(B\E)0\017, is3=\E[m, ka1=\EOw, ka3=\EOy,
+- kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B,
+- kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K, kent=\EOM,
++ is2=\E>\E(B\E)0\017, is3=\E[m, kbs=^H, kcub1=\E[D,
++ kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdl1=\E[M, kel=\E[K,
+ kf1=\E[?5i, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+ kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+ kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[?3i,
+@@ -6956,7 +7177,7 @@
+ sgr=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t\E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m,
+- tbc=\E[3g, tsl=\E[>\,\001,
++ tbc=\E[3g, tsl=\E[>\,\001, use=vt220+keypad,
+ #
+ # This terminal description uses the non-hidden attribute mode
+ # (with magic cookie).
+@@ -7008,23 +7229,22 @@
+ ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>, il1=\E[L$<5>,
+ ind=\n$<3>, invis=\E[8m, ip=$<3>, is1=\E[62;1"p\E[?5W,
+ is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>,
+- is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu,
+- kbs=^H, kc1=\EOq, kc3=\EOs, kcub1=\E[D, kcud1=\E[B,
+- kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kent=\EOM, kf1=\EOP,
+- kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+- kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+- kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR,
+- kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+- kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~,
+- knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3,
+- lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m,
+- ri=\EM$<3>, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+- rmso=\E[m, rmul=\E[m, rs1=\E[13l\E[3l\E!p,
+- rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l, sc=\E7,
++ is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcub1=\E[D, kcud1=\E[B,
++ kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf10=\E[21~,
++ kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
++ kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
++ kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~,
++ kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
++ khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
++ kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i,
++ mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<3>,
++ rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m,
++ rmul=\E[m, rs1=\E[13l\E[3l\E!p, rs2=\E[35h\E[?3l$<70>,
++ rs3=\E[?5l, sc=\E7,
+ sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+ smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+- tsl=\E[40h\E7\E[25;%i%p1%dH,
++ tsl=\E[40h\E7\E[25;%i%p1%dH, use=vt220+keypad,
+ #
+ # Wyse 85 with visual bell.
+ wy85-vb|wyse85-vb|wyse 85 with visible bell,
+@@ -7113,25 +7333,24 @@
+ ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, il1=\E[L$<3>,
+ ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W,
+ is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h,
+- is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu,
+- kbs=^H, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D,
+- kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kent=\EOM,
+- kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+- kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+- kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
+- kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~,
+- kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
+- khome=\E[26~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+- kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i,
+- mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM$<2>,
+- rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, rmkx=\E>,
+- rmso=\E[27m, rmul=\E[24m,
++ is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
++ kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP,
++ kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
++ kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
++ kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR,
++ kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
++ kfnd=\E[1~, khlp=\E[28~, khome=\E[26~, kich1=\E[2~,
++ knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3,
++ lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m,
++ ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l,
++ rmkx=\E>, rmso=\E[27m, rmul=\E[24m,
+ rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l,
+ rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7,
+ sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q,
+ smir=\E[4h, smkx=\E[?1l\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E7\E[99;%i%p1%dH, vpa=\E[%i%p1%dd,
++ use=vt220+keypad,
+ #
+ # Wyse 185 with 24 data lines and top status (terminal status)
+ wy185-24|wyse185-24|wyse 185 with 24 data lines,
+@@ -7322,16 +7541,14 @@
+ # Function key set for the VT-320 (and wy85) compatible keyboard
+ #
+ wy370-105k|Wyse 370 with 105 key keyboard,
+- ka1=\EOw, ka3=\EOy, kb2=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs,
+- kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+- kdch1=\E[3~, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+- kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+- kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+- kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+- kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
++ kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
++ kdch1=\E[3~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
++ kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
++ kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
++ kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+ khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~,
+ kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4,
+- use=wy370-nk,
++ use=wy370-nk, use=vt220+keypad,
+ #
+ # Function key set for the PC compatible keyboard
+ #
+@@ -7435,26 +7652,24 @@
+ hts=\EH, ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>,
+ il1=\E[L$<3>, ind=\n$<2>, invis=\E[8m, ip=$<4>, is1=\E[?5W,
+ is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h,
+- is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOu, kb2=\EOy,
+- kbs=^H, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kcub1=\E[D,
++ is3=\E>\E(B\E)0\017\E[m, kbs=^H, kcbt=\E[Z, kcub1=\E[D,
+ kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, ked=\E[1~,
+- kel=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
++ kel=\E[4~, kent=\EOM, kf10=\E[21~, kf11=\E[23~,
+ kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+ kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+- kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+- kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+- khlp=\E[28~, khome=\E[26~, kich1=\E[2~, knp=\E[6~,
+- kpp=\E[5~, kslt=\E[4~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4,
+- mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m,
+- ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l,
+- rmso=\E[m, rmul=\E[24m,
++ kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
++ kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, khome=\E[26~,
++ kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, lf1=PF1,
++ lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
++ rc=\E8, rev=\E[7m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l,
++ rmcup=\E[ R, rmir=\E[4l, rmso=\E[m, rmul=\E[24m,
+ rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l,
+ rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7,
+ sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+ sgr0=\E[m\017, smacs=^N, smam=\E[?7h,
+ smcup=\E[ Q\E[?67;8h, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
+- vpa=\E[%i%p1%dd,
++ vpa=\E[%i%p1%dd, use=vt220+keypad,
+ #
+ # Wyse 520 with 24 data lines and status (terminal status)
+ wy520-24|wyse520-24|wyse 520 with 24 data lines,
+@@ -7976,17 +8191,15 @@
+ cup=\E[%i%p1%d;%p2%dH$<5>, cuu1=\E[A$<2>, dch1=\E[P,
+ dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+ enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ich1=\E[@,
+- il1=\E[L, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H,
+- kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+- kcuu1=\EOA, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\EOx,
+- kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv,
+- kf8=\EOl, kf9=\EOw, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>,
+- rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>,
++ il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
++ kcuu1=\EOA, rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O,
++ rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>,
+ rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+ sc=\E7,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
+ sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+ smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
++ use=vt100+fnkeys,
+
+ #
+ # Teletype Model 5420 -- A souped up 5410, with multiple windows,
+@@ -11380,16 +11593,14 @@
+ cuu1=\E[A$<2>, dch1=\E~W, dl1=\E~R, ed=\E[J$<50>,
+ el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H,
+ ht=^I, hts=\EH, ich1=\E~Q, il1=\E~E, ind=^J, is1=\E~)\E~ea,
+- ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM,
+- kf0=\EOy, kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+- kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8,
+- rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
++ kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
++ rc=\E8, rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+ rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
+ sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+ smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
++ use=vt100+fnkeys,
+ ts100-ctxt|falco ts-100 saving context,
+ rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100,
+
+@@ -13192,19 +13403,17 @@
+ il1=\E[L$<5>, ind=\ED$<5>, indn=\E[%p1%dE$<5>,
+ invis=\E[8m,
+ is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+- ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+- kdch1=\E[3~, kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
+- kf4=\EOS, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, knp=\E[6~,
+- kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>, rc=\E8,
+- rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l,
++ kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
++ kdch1=\E[3~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~,
++ knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, nel=\EE$<5>,
++ rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=^O, rmir=\E[4l,
+ rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m,
+ rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+ sc=\E7,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>,
+ sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h,
+ smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g,
+- tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
++ tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad,
+ ncr260vt100wan|NCR 2900_260 vt100 wide mode ansi kybd,
+ cols#132,
+ cup=\E[%i%p1%d;%p2%dH$<30>,
+@@ -13242,15 +13451,14 @@
+ ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>,
+ ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m,
+ is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+- ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+- kdch1=\E[3~, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\E[21~,
+- kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+- kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+- kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf21=\E[31~,
+- kf22=\E[32~, kf23=\E[33~, kf24=\E[34~, kf25=\E[35~,
+- kf26=\E[1~, kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR,
+- kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~,
++ kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
++ kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~,
++ kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
++ kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
++ kf2=\EOQ, kf20=\E[34~, kf21=\E[31~, kf22=\E[32~,
++ kf23=\E[33~, kf24=\E[34~, kf25=\E[35~, kf26=\E[1~,
++ kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR, kf30=\E[5~,
++ kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~,
+ kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
+ kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
+ kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~,
+@@ -13263,6 +13471,7 @@
+ sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
++ use=vt220+keypad,
+ ncr260vt200wan|NCR 2900_260 vt200 wide mode ansi kybd,
+ cols#132,
+ cup=\E[%i%p1%d;%p2%dH$<30>,
+@@ -13298,27 +13507,27 @@
+ ich=\E[%p1%d@$<5>, il=\E[%p1%dL$<5>, il1=\E[L$<5>,
+ ind=\ED$<5>, indn=\E[%p1%dE$<5>, invis=\E[8m,
+ is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+- ka1=\EOw, ka3=\EOu, kb2=\EOy, kbs=^H, kc1=\EOq, kc3=\EOs,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+- kdch1=\E[3~, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\E[21~,
+- kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+- kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+- kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf21=\E[31~,
+- kf22=\E[32~, kf23=\E[33~, kf24=\E[34~, kf25=\E[35~,
+- kf26=\E[1~, kf27=\E[2~, kf28=\E[3~, kf29=\E[4~, kf3=\EOR,
+- kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~, kf34=\E[9~,
+- kf35=\E[10~, kf4=\EOS, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
+- kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~,
+- kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~,
+- mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m,
+- ri=\EM$<5>, rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l,
+- rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
++ kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
++ kdch1=\E[3~, kf0=\EOy, kf10=\E[21~, kf11=\E[23~,
++ kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
++ kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
++ kf20=\E[34~, kf21=\E[31~, kf22=\E[32~, kf23=\E[33~,
++ kf24=\E[34~, kf25=\E[35~, kf26=\E[1~, kf27=\E[2~,
++ kf28=\E[3~, kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~,
++ kf33=\E[8~, kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~,
++ kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
++ khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
++ krdo=\E[29~, kslt=\E[4~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
++ nel=\EE, rc=\E8, rev=\E[7m, ri=\EM$<5>, rmacs=\017$<20>,
++ rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
++ rmul=\E[24m,
+ rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>,
+ sc=\E7,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>,
+ sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+ smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+ tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>,
++ use=vt220+keypad,
+ ncr260vt300wan|NCR 2900_260 vt300 wide mode ansi kybd,
+ cols#132,
+ cup=\E[%i%p1%d;%p2%dH$<30>,
+@@ -13406,7 +13615,7 @@
+ #
+ ncr260wy350pp|NCR 2900_260 wyse 350,
+ am, bw, hs, km, mc5i, mir, msgr, xon,
+- colors#16, cols#80, lines#24, ncv#33, nlab#32, xmc#1,
++ colors#16, cols#80, lines#24, ncv#33, nlab#32, pairs#16, xmc#1,
+ acsc=07a?h;j5k3l2m1n8q\:t4u9v=w0x6, bel=^G, blink=\EG2,
+ cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=^M,
+ cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>,
+@@ -14005,17 +14214,15 @@
+ cuf=\E[%p1%dC, cuf1=\E[C$<2>,
+ cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+ cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+- enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq,
+- ka3=\EOs, kb2=\EOr, kbs=^H, kc1=\EOp, kc3=\EOn, kcub1=\EOD,
+- kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM, kf0=\EOy,
+- kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt,
+- kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8,
++ enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=^H,
++ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8,
+ rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+ rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>,
+ sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+ smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
++ use=vt100+fnkeys,
+
+ # Tektronix 4105 from BRL
+ # The following setup modes are assumed for normal operation:
+@@ -14831,15 +15038,14 @@
+ cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+ dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
+ home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J,
+- ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=\177, kc1=\EOp, kc3=\EOn,
+- kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kent=\EOM,
+- kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m,
+- ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
++ kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
++ kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l,
++ rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m,
+ sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+ smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
+- u8=\E[?1;2c, u9=\E[c,
++ u8=\E[?1;2c, u9=\E[c, use=vt100+pfkeys,
+
+ nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset,
+ acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+@@ -15026,14 +15232,14 @@
+ cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B,
+ cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+ cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K,
+- el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, ka1=\EOq,
+- ka3=\EOs, kb2=\EOr, kbs=\177, kc1=\EOp, kc3=\EOn, kcub1=\EOD,
+- kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, rev=\E[7m,
+- ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+- rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
++ el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=\177,
++ kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8,
++ rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m,
++ rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
++ sc=\E7,
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+ sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+- smul=\E[4m, tbc=\E[3g,
++ smul=\E[4m, tbc=\E[3g, use=vt100+keypad,
+
+ xnuppc+c|Darwin PowerPC Console ANSI color support,
+ colors#8, ncv#32, pairs#64,
+@@ -17642,7 +17848,7 @@
+ # respectively, to be able to restore them when color changes
+ # (because any color change turns off ALL attributes)
+ # 3. <bold> and <rev> sequences alternate modes,
+-# rather then simply entering them. Thus we have to check the
++# rather than simply entering them. Thus we have to check the
+ # static register B and H to determine the status, before sending the
+ # escape sequence.
+ # 4. <sgr0> now must set the status of all 3 register (A,B,H) to zero
+@@ -17744,15 +17950,12 @@
+ cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA,
+ cuu1=\E[A$<2>, dl1=\E[M$<99>, ed=\E[J$<50>, el=\E[K$<3>,
+ el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH,
+- il1=\E[L$<99>, ind=^J, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=^H,
+- kc1=\EOp, kc3=\EOn, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+- kcuu1=\EOA, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\EOx,
+- kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv,
+- kf8=\EOl, kf9=\EOw, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
++ il1=\E[L$<99>, ind=^J, kbs=^H, kcub1=\EOD, kcud1=\EOB,
++ kcuf1=\EOC, kcuu1=\EOA, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+ rmkx=\E[?1l\E>, rmso=\E[m\s,
+ rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m,
+ smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s,
+- tbc=\E[3g,
++ tbc=\E[3g, use=vt100+fnkeys,
+
+ # The official PC terminal emulator program of the AT&T Product Centers.
+ # Note - insert mode commented out - doesn't seem to work on AT&T PC.
+@@ -18325,12 +18528,12 @@
+ # (T) ECMA-48 calls this "Partial Line Forward" but retains the PLD
+ # abbreviation.
+ #
+-# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLD
++# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLU
+ # abbreviation.
+ #
+ # (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation.
+ #
+-# (W) RM/SM modes are as follows: 1 = Guarder Area Transfer Mode (GATM),
++# (W) RM/SM modes are as follows: 1 = Guarded Area Transfer Mode (GATM),
+ # 2 = Keyboard Action Mode (KAM), 3 = Control Representation Mode (CRM),
+ # 4 = Insertion Replacement Mode, 5 = Status Report Transfer Mode (SRTM),
+ # 6 = Erasure Mode (ERM), 7 = Line Editing Mode (LEM), 8 = Bi-Directional
+@@ -19536,9 +19739,46 @@
+ # * scaled the linux-c terminfo entry to match linux-c-nc, i.e., the
+ # r/g/b parameters of initc are in the range 0 to 1000 -TD
+ #
+-# 2002-1005
++# 2002-10-05
+ # * minor fix for scale-factor of linux-c and linux-c-nc -TD
+ #
++# 2002-11-09
++# * split-out vt100+keypad and vt220+keypad, fix interchanged ka3/kb2
++# in the latter -TD
++#
++# 2002-11-16
++# * add entries for mterm (mterm, mterm-ansi, decansi) -TD
++# * ncr260wy350pp has only 16 color pairs -TD
++# * add sun-type4 from NetBSD -TD
++# * update xterm-xfree86 to current (patch 170) -TD
++# * add screen-bce, screen-s entries -TD
++# * add xterm-1002, xterm-1003 entries -TD
++#
++# 2003-01-11
++# * update homepage for Top Gun Telnet/SSH
++#
++# 2003-01-25
++# * reduce duplication in emx entries, added emx-base -TD
++#
++# 2003-05-24
++# * corrected acs for screen.teraterm -TD
++# * add tkterm entry -TD
++#
++# 2003-07-15
++# * cygwin changes from Charles Wilson:
++# misc/terminfo.src (nxterm|xterm-color): make xterm-color
++# primary instead of nxterm, to match XFree86's xterm.terminfo
++# usage and to prevent circular links.
++# (rxvt): add additional codes from rxvt.org.
++# (rxvt-color): new alias
++# (rxvt-xpm): new alias
++# (rxvt-cygwin): like rxvt, but with special acsc codes.
++# (rxvt-cygwin-native): ditto. rxvt may be run under XWindows, or
++# with a "native" MSWin GUI. Each takes different acsc codes,
++# which are both different from the "normal" rxvt's acsc.
++# (cygwin): cygwin-in-cmd.exe window. Lots of fixes.
++# (cygwinDBG): ditto.
++#
+ # The following sets edit modes for GNU EMACS.
+ # Local Variables:
+ # fill-prefix:"\t"
+diff -urNd -urNd ncurses-5.3/mk-1st.awk ncurses-5.3.20030906.orig/mk-1st.awk
+--- ncurses-5.3/mk-1st.awk Sat Apr 20 12:32:47 2002
++++ ncurses-5.3.20030906.orig/mk-1st.awk Fri Sep 12 16:42:40 2003
+@@ -1,4 +1,4 @@
+-# $Id: mk-1st.awk,v 1.55 2002/04/20 17:32:47 tom Exp $
++# $Id: mk-1st.awk,v 1.60 2003/08/30 20:48:52 tom Exp $
+ ##############################################################################
+ # Copyright (c) 1998,2000,2002 Free Software Foundation, Inc. #
+ # #
+@@ -27,7 +27,7 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,2000
++# Author: Thomas E. Dickey 1996,1997,2000,2002
+ #
+ # Generate list of objects for a given model library
+ # Variables:
+@@ -38,7 +38,7 @@
+ # MODEL (e.g., "DEBUG", uppercase; toupper is not portable)
+ # depend (optional dependencies for all objects, e.g, ncurses_cfg.h)
+ # subset ("none", "base", "base+ext_funcs" or "termlib")
+-# target (cross-compile target, if any)
++# host (cross-compile host, if any)
+ # ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable)
+ # ShlibVerInfix ("yes" or "no", determines location of version #)
+ # DoLinks ("yes", "reverse" or "no", flag to add symbolic links)
+@@ -110,7 +110,7 @@
+ if (using == 0) {
+ if (found == 0) {
+ print ""
+- print "# generated by mk-1st.awk"
++ printf "# generated by mk-1st.awk (subset=%s)\n", subset
+ print ""
+ }
+ using = 1
+@@ -162,8 +162,8 @@
+ if ( MODEL == "SHARED" )
+ {
+ if (ShlibVerInfix == "cygdll") {
+- abi_name = sprintf("%s%s$(ABI_VERSION)%s", prefix, name, suffix);
+- rel_name = sprintf("%s%s$(REL_VERSION)%s", prefix, name, suffix);
++ abi_name = sprintf("%s%s$(ABI_VERSION)%s", "cyg", name, suffix);
++ rel_name = sprintf("%s%s$(REL_VERSION)%s", "cyg", name, suffix);
+ imp_name = sprintf("%s%s%s.a", prefix, name, suffix);
+ } else if (ShlibVerInfix == "yes") {
+ abi_name = sprintf("%s%s.$(ABI_VERSION)%s", prefix, name, suffix);
+@@ -194,7 +194,7 @@
+ print "\t-@rm -f $@";
+ }
+ if ( subset == "termlib") {
+- printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST)\n", OBJS
++ printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST) $(LDFLAGS)\n", OBJS
+ } else {
+ printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(SHLIB_LIST) $(LDFLAGS)\n", OBJS
+ }
+@@ -233,9 +233,15 @@
+
+ if ( overwrite == "yes" && name == "ncurses" )
+ {
+- ovr_name = sprintf("libcurses%s", suffix)
+- printf "\t@echo linking %s to %s\n", end_name, ovr_name
+- printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
++ if ( ShlibVer == "cygdll" ) {
++ ovr_name = sprintf("libcurses%s.a", suffix)
++ printf "\t@echo linking %s to %s\n", imp_name, ovr_name
++ printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, imp_name, ovr_name
++ } else {
++ ovr_name = sprintf("libcurses%s", suffix)
++ printf "\t@echo linking %s to %s\n", end_name, ovr_name
++ printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
++ }
+ }
+ if ( ldconfig != "" ) {
+ printf "\t- test -z \"$(DESTDIR)\" && %s\n", ldconfig
+@@ -257,7 +263,11 @@
+ removelinks("$(DESTDIR)$(libdir)")
+ if ( overwrite == "yes" && name == "ncurses" )
+ {
+- ovr_name = sprintf("libcurses%s", suffix)
++ if ( ShlibVer == "cygdll" ) {
++ ovr_name = sprintf("libcurses%s.a", suffix)
++ } else {
++ ovr_name = sprintf("libcurses%s", suffix)
++ }
+ printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name
+ }
+ }
+@@ -277,19 +287,19 @@
+ }
+ end_name = lib_name;
+ printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
+- printf "\tcd ../lib && $(LIBTOOL) $(%s) -o %s $(%s_OBJS:.o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR)\n", compile, lib_name, OBJS
++ printf "\tcd ../lib && $(LIBTOOL_LINK) $(%s) -o %s $(%s_OBJS:.o=.lo) -rpath $(DESTDIR)$(libdir) -version-info $(NCURSES_MAJOR):$(NCURSES_MINOR) $(SHLIB_LIST)\n", compile, lib_name, OBJS
+ print ""
+ print "install \\"
+ print "install.libs \\"
+ printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name
+ printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name
+- printf "\tcd ../lib; $(LIBTOOL) $(INSTALL_DATA) %s $(DESTDIR)$(libdir)\n", lib_name
++ printf "\tcd ../lib; $(LIBTOOL_INSTALL) $(INSTALL) %s $(DESTDIR)$(libdir)\n", lib_name
+ print ""
+ print "uninstall \\"
+ print "uninstall.libs \\"
+ printf "uninstall.%s ::\n", name
+ printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name
+- printf "\t-@$(LIBTOOL) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
++ printf "\t-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
+ }
+ else
+ {
+@@ -297,7 +307,7 @@
+ printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
+ printf "\t$(AR) $(AR_OPTS) $@ $?\n"
+ printf "\t$(RANLIB) $@\n"
+- if ( target == "vxworks" )
++ if ( host == "vxworks" )
+ {
+ printf "\t$(LD) $(LD_OPTS) $? -o $(@:.a=.o)\n"
+ }
+@@ -314,7 +324,7 @@
+ printf "\t(cd $(DESTDIR)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n"
+ }
+ printf "\t$(RANLIB) $(DESTDIR)$(libdir)/%s\n", lib_name
+- if ( target == "vxworks" )
++ if ( host == "vxworks" )
+ {
+ printf "\t@echo installing ../lib/lib%s.o as $(DESTDIR)$(libdir)/lib%s.o\n", name, name
+ printf "\t$(INSTALL_DATA) ../lib/lib%s.o $(DESTDIR)$(libdir)/lib%s.o\n", name, name
+@@ -330,7 +340,7 @@
+ printf "\t@echo linking libcurses.a to libncurses.a\n"
+ printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n"
+ }
+- if ( target == "vxworks" )
++ if ( host == "vxworks" )
+ {
+ printf "\t@echo uninstalling $(DESTDIR)$(libdir)/lib%s.o\n", name
+ printf "\t-@rm -f $(DESTDIR)$(libdir)/lib%s.o\n", name
+@@ -343,7 +353,7 @@
+ print "mostlyclean::"
+ printf "\t-rm -f $(%s_OBJS)\n", OBJS
+ if ( MODEL == "LIBTOOL" ) {
+- printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
++ printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
+ }
+ }
+ else if ( found == 2 )
+@@ -352,13 +362,13 @@
+ print "mostlyclean::"
+ printf "\t-rm -f $(%s_OBJS)\n", OBJS
+ if ( MODEL == "LIBTOOL" ) {
+- printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
++ printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
+ }
+ print ""
+ print "clean ::"
+ printf "\t-rm -f $(%s_OBJS)\n", OBJS
+ if ( MODEL == "LIBTOOL" ) {
+- printf "\t-rm -f $(%s_OBJS:.o=.lo)\n", OBJS
++ printf "\t-$(LIBTOOL_CLEAN) rm -f $(%s_OBJS:.o=.lo)\n", OBJS
+ }
+ }
+ }
+diff -urNd -urNd ncurses-5.3/mk-2nd.awk ncurses-5.3.20030906.orig/mk-2nd.awk
+--- ncurses-5.3/mk-2nd.awk Sat Oct 14 12:57:02 2000
++++ ncurses-5.3.20030906.orig/mk-2nd.awk Fri Sep 12 16:42:40 2003
+@@ -1,6 +1,6 @@
+-# $Id: mk-2nd.awk,v 1.13 2000/10/14 17:57:02 Johnny.C.Lam Exp $
++# $Id: mk-2nd.awk,v 1.14 2003/08/30 20:59:40 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -100,9 +100,9 @@
+ dir = $3 "/"
+ sub("^\\$\\(srcdir\\)/","",dir);
+ sub("^\\./","",dir);
+- printf "\t%scd ../%s; $(LIBTOOL) $(%s) $(CFLAGS_%s) -c ../%s/%s%s%s", atsign, model, compile, MODEL, name, dir, $1, suffix
++ printf "\t%scd ../%s; $(LIBTOOL_COMPILE) $(%s) $(CFLAGS_%s) -c ../%s/%s%s%s", atsign, model, compile, MODEL, name, dir, $1, suffix
+ } else
+- printf "\t%scd ../%s; $(LIBTOOL) $(%s) $(CFLAGS_%s) -c %s/%s%s", atsign, model, compile, MODEL, $3, $1, suffix
++ printf "\t%scd ../%s; $(LIBTOOL_COMPILE) $(%s) $(CFLAGS_%s) -c %s/%s%s", atsign, model, compile, MODEL, $3, $1, suffix
+ } else {
+ printf "%s", $1
+ for (n = 2; n <= NF; n++) printf " %s", $n
+diff -urNd -urNd ncurses-5.3/ncurses/Makefile.in ncurses-5.3.20030906.orig/ncurses/Makefile.in
+--- ncurses-5.3/ncurses/Makefile.in Sat Jun 29 17:36:25 2002
++++ ncurses-5.3.20030906.orig/ncurses/Makefile.in Fri Sep 12 16:42:40 2003
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.84 2002/06/29 22:36:25 tom Exp $
++# $Id: Makefile.in,v 1.89 2003/08/23 23:25:48 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -27,7 +27,7 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey 1996-2001
++# Author: Thomas E. Dickey 1996-2002
+ #
+ # Makefile for ncurses source code.
+ #
+@@ -65,6 +65,11 @@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
++LIBTOOL_CLEAN = @LIB_CLEAN@
++LIBTOOL_COMPILE = @LIB_COMPILE@
++LIBTOOL_LINK = @LIB_LINK@
++LIBTOOL_INSTALL = @LIB_INSTALL@
++LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
+
+ INSTALL = @INSTALL@
+ INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
+@@ -86,10 +91,10 @@
+
+ CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+
+-HOSTCC = @BUILD_CC@
+-HOSTCCFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @BUILD_CFLAGS@ @BUILD_CPPFLAGS@
+-HOSTLDFLAGS = @BUILD_LDFLAGS@
+-HOSTLIBS = @BUILD_LIBS@
++BUILD_CC = @BUILD_CC@
++BUILD_CCFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @BUILD_CPPFLAGS@ @BUILD_CFLAGS@
++BUILD_LDFLAGS = @BUILD_LDFLAGS@
++BUILD_LIBS = @BUILD_LIBS@
+
+ CFLAGS_LIBTOOL = $(CCFLAGS)
+ CFLAGS_NORMAL = $(CCFLAGS)
+@@ -113,7 +118,7 @@
+ REL_VERSION = @cf_cv_rel_version@
+ ABI_VERSION = @cf_cv_abi_version@
+
+-RANLIB = @RANLIB@
++RANLIB = @LIB_PREP@
+
+ IMPORT_LIB = @IMPORT_LIB@
+ SHARED_LIB = @SHARED_LIB@
+@@ -189,12 +194,12 @@
+ make_keys$x : \
+ $(tinfo)/make_keys.c \
+ names.c
+- $(HOSTCC) -o $@ $(HOSTCCFLAGS) $(tinfo)/make_keys.c $(HOSTLDFLAGS) $(HOSTLIBS)
++ $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+
+ make_hash$x : \
+ $(tinfo)/comp_hash.c \
+ ../include/hashsize.h
+- $(HOSTCC) -o $@ $(HOSTCCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(HOSTLDFLAGS) $(HOSTLIBS)
++ $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+
+ expanded.c : $(serial)/MKexpanded.sh
+ sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
+diff -urNd -urNd ncurses-5.3/ncurses/base/MKlib_gen.sh ncurses-5.3.20030906.orig/ncurses/base/MKlib_gen.sh
+--- ncurses-5.3/ncurses/base/MKlib_gen.sh Sat Sep 28 10:02:11 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/MKlib_gen.sh Tue May 13 20:08:22 2003
+@@ -2,10 +2,10 @@
+ #
+ # MKlib_gen.sh -- generate sources from curses.h macro definitions
+ #
+-# ($Id: MKlib_gen.sh,v 1.20 2002/09/28 15:02:11 tom Exp $)
++# ($Id: MKlib_gen.sh,v 1.22 2003/02/22 19:58:07 tom Exp $)
+ #
+ ##############################################################################
+-# Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -82,19 +82,19 @@
+ cat >$ED1 <<EOF1
+ /^extern.*implemented/{
+ h
+- s/^.*implemented:\([^ *]*\).*/P_#if_USE_\1_SUPPORT/p
++ s/^.*implemented:\([^ *]*\).*/P_POUNDCif_USE_\1_SUPPORT/p
+ g
+ s/^extern \([^;]*\);.*/\1/p
+ g
+- s/^.*implemented:\([^ *]*\).*/P_#endif/p
++ s/^.*implemented:\([^ *]*\).*/P_POUNDCendif/p
+ }
+ /^extern.*generated/{
+ h
+- s/^.*generated:\([^ *]*\).*/P_#if_USE_\1_SUPPORT/p
++ s/^.*generated:\([^ *]*\).*/P_POUNDCif_USE_\1_SUPPORT/p
+ g
+ s/^extern \([^;]*\);.*/\1/p
+ g
+- s/^.*generated:\([^ *]*\).*/P_#endif/p
++ s/^.*generated:\([^ *]*\).*/P_POUNDCendif/p
+ }
+ EOF1
+ else
+@@ -102,11 +102,11 @@
+ cat >$ED1 <<EOF1
+ /^extern.*${ALL}/{
+ h
+- s/^.*${ALL}:\([^ *]*\).*/P_#if_USE_\1_SUPPORT/p
++ s/^.*${ALL}:\([^ *]*\).*/P_POUNDCif_USE_\1_SUPPORT/p
+ g
+ s/^extern \([^;]*\);.*/\1/p
+ g
+- s/^.*${ALL}:\([^ *]*\).*/P_#endif/p
++ s/^.*${ALL}:\([^ *]*\).*/P_POUNDCendif/p
+ }
+ EOF1
+ fi
+@@ -134,13 +134,14 @@
+ s/)/ z)/
+ s/\.\.\. z)/...)/
+ :nc
+- /(/s// ( /
++ s/(/ ( /
+ s/)/ )/
+ EOF2
+
+ cat >$ED3 <<EOF3
+ /^P_/{
+- s/^P_#if_/#if /
++ s/^P_POUNDCif_/#if /
++ s/^P_POUNDCendif/#endif/
+ s/^P_//
+ b done
+ }
+@@ -151,7 +152,7 @@
+ s/ )/)/g
+ s/ gen_/ /
+ s/^M_/#undef /
+- /^%%/s// /
++ /^%%/s/%%/ /
+ :done
+ EOF3
+
+@@ -175,12 +176,12 @@
+ BEGIN {
+ skip=0;
+ }
+-/^P_#if/ {
++/^P_POUNDCif/ {
+ print "\n"
+ print $0
+ skip=0;
+ }
+-/^P_#endif/ {
++/^P_POUNDCendif/ {
+ print $0
+ skip=1;
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/define_key.c ncurses-5.3.20030906.orig/ncurses/base/define_key.c
+--- ncurses-5.3/ncurses/base/define_key.c Sat Dec 9 20:43:26 2000
++++ ncurses-5.3.20030906.orig/ncurses/base/define_key.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,11 +32,10 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: define_key.c,v 1.6 2000/12/10 02:43:26 tom Exp $")
++MODULE_ID("$Id: define_key.c,v 1.8 2003/05/17 23:28:05 tom Exp $")
+
+ NCURSES_EXPORT(int)
+-define_key
+-(char *str, int keycode)
++define_key(const char *str, int keycode)
+ {
+ int code = ERR;
+
+@@ -49,8 +48,12 @@
+ code = OK;
+ }
+ if (str != 0) {
+- (void) _nc_add_to_try(&(SP->_keytry), str, keycode);
+- code = OK;
++ if (key_defined(str) == 0) {
++ (void) _nc_add_to_try(&(SP->_keytry), str, keycode);
++ code = OK;
++ } else {
++ code = ERR;
++ }
+ }
+ } else {
+ while (_nc_remove_string(&(SP->_keytry), str))
+diff -urNd -urNd ncurses-5.3/ncurses/base/key_defined.c ncurses-5.3.20030906.orig/ncurses/base/key_defined.c
+--- ncurses-5.3/ncurses/base/key_defined.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/ncurses/base/key_defined.c Sun Jul 20 14:02:08 2003
+@@ -0,0 +1,76 @@
++/****************************************************************************
++ * Copyright (c) 2003 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey, 2003 *
++ ****************************************************************************/
++
++#include <curses.priv.h>
++
++MODULE_ID("$Id: key_defined.c,v 1.3 2003/05/17 23:12:27 tom Exp $")
++
++static int
++find_definition(struct tries *tree, const char *str)
++{
++ struct tries *ptr;
++ int result = 0;
++
++ if (str != 0 && *str != '\0') {
++ for (ptr = tree; ptr != 0; ptr = ptr->sibling) {
++ if (UChar(*str) == UChar(ptr->ch)) {
++ if (str[1] == '\0' && ptr->child != 0) {
++ result = -1;
++ } else if ((result = find_definition(ptr->child, str + 1)) == 0) {
++ result = ptr->value;
++ } else if (str[1] == '\0') {
++ result = -1;
++ }
++ }
++ if (result != 0)
++ break;
++ }
++ }
++ return (result);
++}
++
++/*
++ * Returns the keycode associated with the given string. If none is found,
++ * return 0. If the string is only a prefix to other strings, return -1.
++ */
++NCURSES_EXPORT(int)
++key_defined(const char *str)
++{
++ int code = ERR;
++
++ T((T_CALLED("key_defined(%s)"), _nc_visbuf(str)));
++ if (SP != 0 && str != 0) {
++ code = find_definition(SP->_keytry, str);
++ }
++
++ returnCode(code);
++}
+diff -urNd -urNd ncurses-5.3/ncurses/base/keybound.c ncurses-5.3.20030906.orig/ncurses/base/keybound.c
+--- ncurses-5.3/ncurses/base/keybound.c Sat Dec 9 20:43:26 2000
++++ ncurses-5.3.20030906.orig/ncurses/base/keybound.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -32,7 +32,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: keybound.c,v 1.3 2000/12/10 02:43:26 tom Exp $")
++MODULE_ID("$Id: keybound.c,v 1.4 2003/03/08 19:39:31 tom Exp $")
+
+ /*
+ * Returns the count'th string definition which is associated with the
+@@ -42,5 +42,6 @@
+ NCURSES_EXPORT(char *)
+ keybound(int code, int count)
+ {
+- return _nc_expand_try(SP->_key_ok, code, &count, 0);
++ T((T_CALLED("keybound(%d,%d)"), code, count));
++ returnPtr(_nc_expand_try(SP->_keytry, code, &count, 0));
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_addch.c ncurses-5.3.20030906.orig/ncurses/base/lib_addch.c
+--- ncurses-5.3/ncurses/base/lib_addch.c Sat Sep 28 12:48:13 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_addch.c Fri Sep 12 16:42:10 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_addch.c,v 1.68 2002/09/28 17:48:13 tom Exp $")
++MODULE_ID("$Id: lib_addch.c,v 1.77 2003/08/17 00:09:05 tom Exp $")
+
+ /*
+ * Ugly microtweaking alert. Everything from here to end of module is
+@@ -68,7 +68,7 @@
+ AddAttr(ch, (a & COLOR_MASK(AttrOf(ch))));
+ }
+
+- TR(TRACE_VIRTPUT, ("bkg = %s, attrs = %s -> ch = %s",
++ TR(TRACE_VIRTPUT, ("render_char bkg %s, attrs %s -> ch %s",
+ _tracech_t2(1, CHREF(win->_nc_bkgd)),
+ _traceattr(win->_attrs),
+ _tracech_t2(3, CHREF(ch))));
+@@ -99,15 +99,21 @@
+ #define CHECK_POSITION(win, x, y) /* nothing */
+ #endif
+
+-static inline int
++static
++#if !USE_WIDEC_SUPPORT /* cannot be inline if it is recursive */
++ inline
++#endif
++int
+ waddch_literal(WINDOW *win, NCURSES_CH_T ch)
+ {
+ int x;
++ int y;
+ struct ldat *line;
+
+ x = win->_curx;
++ y = win->_cury;
+
+- CHECK_POSITION(win, x, win->_cury);
++ CHECK_POSITION(win, x, y);
+
+ /*
+ * If we're trying to add a character at the lower-right corner more
+@@ -122,20 +128,65 @@
+ #endif
+
+ ch = render_char(win, ch);
+- TR(TRACE_VIRTPUT, ("win attr = %s", _traceattr(win->_attrs)));
+
+- line = win->_line + win->_cury;
++ line = win->_line + y;
+
+ CHANGED_CELL(line, x);
+
+ /*
++ * Build up multibyte characters until we have a wide-character.
++ */
++ if_WIDEC({
++ if (WINDOW_EXT(win, addch_used) == 0 && Charable(ch)) {
++ WINDOW_EXT(win, addch_used) = 0;
++ } else {
++ char *buffer = WINDOW_EXT(win, addch_work);
++ int len;
++ mbstate_t state;
++ wchar_t result;
++
++ if ((WINDOW_EXT(win, addch_used) != 0) &&
++ (WINDOW_EXT(win, addch_x) != x ||
++ WINDOW_EXT(win, addch_y) != y)) {
++ /* discard the incomplete multibyte character */
++ WINDOW_EXT(win, addch_used) = 0;
++ }
++ WINDOW_EXT(win, addch_x) = x;
++ WINDOW_EXT(win, addch_y) = y;
++
++ memset(&state, 0, sizeof(state));
++ buffer[WINDOW_EXT(win, addch_used)] = CharOf(ch);
++ WINDOW_EXT(win, addch_used) += 1;
++ buffer[WINDOW_EXT(win, addch_used)] = '\0';
++ if ((len = mbrtowc(&result,
++ buffer,
++ WINDOW_EXT(win, addch_used), &state)) > 0) {
++ attr_t attrs = AttrOf(ch);
++ SetChar(ch, result, attrs);
++ WINDOW_EXT(win, addch_used) = 0;
++ } else {
++ if (len == -1) {
++ /*
++ * An error occurred. We could either discard everything,
++ * or assume that the error was in the previous input.
++ * Try the latter.
++ */
++ TR(TRACE_VIRTPUT, ("Alert! mbrtowc returns error"));
++ buffer[0] = CharOf(ch);
++ WINDOW_EXT(win, addch_used) = 1;
++ }
++ return OK;
++ }
++ }
++ });
++
++ /*
+ * Handle non-spacing characters
+ */
+ if_WIDEC({
+ if (wcwidth(CharOf(ch)) == 0) {
+ int i;
+- int y;
+- if ((x > 0 && ((y = win->_cury) >= 0))
++ if ((x > 0 && y >= 0)
+ || ((y = win->_cury - 1) >= 0 &&
+ (x = win->_maxx) > 0)) {
+ wchar_t *chars = (win->_line[y].text[x - 1].chars);
+@@ -154,8 +205,18 @@
+ * Provide for multi-column characters
+ */
+ if_WIDEC({
+- if (wcwidth(CharOf(ch)) > 1)
++ int len = wcwidth(CharOf(ch));
++ while (len-- > 1) {
++ if (x + (len - 1) > win->_maxx) {
++ NCURSES_CH_T blank = NewChar2(BLANK_TEXT, BLANK_ATTR);
++ AddAttr(blank, AttrOf(ch));
++ if (waddch_literal(win, blank) != ERR)
++ return waddch_literal(win, ch);
++ return ERR;
++ }
+ AddAttr(line->text[x++], WA_NAC);
++ TR(TRACE_VIRTPUT, ("added NAC %d", x - 1));
++ }
+ }
+ testwrapping:
+ );
+@@ -330,14 +391,30 @@
+ NCURSES_EXPORT(int)
+ wadd_wch(WINDOW *win, const cchar_t * wch)
+ {
++ PUTC_DATA;
++ int n;
+ int code = ERR;
+
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wadd_wch(%p, %s)"), win,
+ _tracech_t(wch)));
+
+- if (win && (waddch_nosync(win, *wch) != ERR)) {
+- _nc_synchook(win);
+- code = OK;
++ if (win != 0) {
++ PUTC_INIT;
++ while (PUTC_i < CCHARW_MAX) {
++ if ((PUTC_ch = wch->chars[PUTC_i++]) == L'\0')
++ break;
++ if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) {
++ code = ERR;
++ break;
++ }
++ for (n = 0; n < PUTC_n; n++) {
++ if ((code = waddch(win, UChar(PUTC_buf[n]))) == ERR) {
++ break;
++ }
++ }
++ if (code == ERR)
++ break;
++ }
+ }
+
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code));
+@@ -347,18 +424,32 @@
+ NCURSES_EXPORT(int)
+ wecho_wchar(WINDOW *win, const cchar_t * wch)
+ {
++ PUTC_DATA;
++ int n;
+ int code = ERR;
+
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_CALLED("wecho_wchar(%p, %s)"), win,
+ _tracech_t(wch)));
+
+- if (win && (waddch_nosync(win, *wch) != ERR)) {
+- bool save_immed = win->_immed;
+- win->_immed = TRUE;
+- _nc_synchook(win);
+- win->_immed = save_immed;
+- code = OK;
++ if (win != 0) {
++ PUTC_INIT;
++ while (PUTC_i < CCHARW_MAX) {
++ if ((PUTC_ch = wch->chars[PUTC_i++]) == L'\0')
++ break;
++ if ((PUTC_n = wcrtomb(PUTC_buf, PUTC_ch, &PUT_st)) <= 0) {
++ code = ERR;
++ break;
++ }
++ for (n = 0; n < PUTC_n; n++) {
++ if ((code = wechochar(win, UChar(PUTC_buf[n]))) == ERR) {
++ break;
++ }
++ }
++ if (code == ERR)
++ break;
++ }
+ }
++
+ TR(TRACE_VIRTPUT | TRACE_CCALLS, (T_RETURN("%d"), code));
+ return (code);
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_addstr.c ncurses-5.3.20030906.orig/ncurses/base/lib_addstr.c
+--- ncurses-5.3/ncurses/base/lib_addstr.c Sat Oct 5 19:25:25 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_addstr.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,6 +29,10 @@
+ /****************************************************************************
+ * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
++ * *
++ * Rewritten 2001-2002 to support wide-characters by *
++ * Sven Verdoolaege *
++ * Thomas Dickey *
+ ****************************************************************************/
+
+ /*
+@@ -40,53 +44,13 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_addstr.c,v 1.34 2002/10/06 00:25:25 tom Exp $")
+-
+-#if USE_WIDEC_SUPPORT
+-#define CONV_DATA mbstate_t state; wchar_t cached; int clen = 0
+-#define CONV_INIT memset (&state, '\0', sizeof (state)); cached = (wchar_t)WEOF
+-#define NEXT_CHAR(s,ch, n) \
+- { \
+- int len, i = 0; \
+- memset(&ch, 0, sizeof(cchar_t)); \
+- if (cached != (wchar_t) WEOF) { \
+- ch.chars[i++] = cached; \
+- cached = (wchar_t) WEOF; \
+- n -= clen; \
+- s += clen; \
+- } \
+- for (; i < CCHARW_MAX && n > 0; ++i) { \
+- if ((len = mbrtowc(&ch.chars[i], s, n, &state)) < 0) { \
+- code = ERR; \
+- break; \
+- } \
+- if (i == 0 || wcwidth(ch.chars[i]) == 0) { \
+- n -= len; \
+- s += len; \
+- } else { \
+- cached = ch.chars[i]; \
+- clen = len; \
+- ch.chars[i] = L'\0'; \
+- break; \
+- } \
+- } \
+- if (code == ERR) \
+- break; \
+- }
+-#else
+-#define CONV_DATA
+-#define CONV_INIT
+-#define NEXT_CHAR(s,ch, n) \
+- ch = *s++; \
+- --n
+-#endif
++MODULE_ID("$Id: lib_addstr.c,v 1.38 2003/07/05 19:45:21 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ waddnstr(WINDOW *win, const char *astr, int n)
+ {
+- unsigned const char *str = (unsigned const char *) astr;
++ const char *str = astr;
+ int code = ERR;
+- CONV_DATA;
+
+ T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbufn(astr, n), n));
+
+@@ -97,11 +61,10 @@
+ n = (int) strlen(astr);
+
+ TR(TRACE_VIRTPUT, ("str is not null, length = %d", n));
+- CONV_INIT;
+- while ((n > 0) && (*str != '\0')) {
++ while ((n-- > 0) && (*str != '\0')) {
+ NCURSES_CH_T ch;
+- TR(TRACE_VIRTPUT, ("*str = %#x", *str));
+- NEXT_CHAR(str, ch, n);
++ TR(TRACE_VIRTPUT, ("*str = %#o", UChar(*str)));
++ SetChar(ch, UChar(*str++), A_NORMAL);
+ if (_nc_waddch_nosync(win, ch) == ERR) {
+ code = ERR;
+ break;
+@@ -114,7 +77,7 @@
+ }
+
+ NCURSES_EXPORT(int)
+-waddchnstr(WINDOW *win, const chtype * astr, int n)
++waddchnstr(WINDOW *win, const chtype *astr, int n)
+ {
+ NCURSES_SIZE_T y = win->_cury;
+ NCURSES_SIZE_T x = win->_curx;
+@@ -155,7 +118,7 @@
+
+ #if USE_WIDEC_SUPPORT
+
+-int
++NCURSES_EXPORT(int)
+ _nc_wchstrlen(const cchar_t * s)
+ {
+ int result = 0;
+@@ -217,9 +180,8 @@
+ waddnwstr(WINDOW *win, const wchar_t * str, int n)
+ {
+ int code = ERR;
+- int i;
+
+- T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str,n), n));
++ T((T_CALLED("waddnwstr(%p,%s,%d)"), win, _nc_viswbufn(str, n), n));
+
+ if (win && (str != 0)) {
+ TR(TRACE_VIRTPUT | TRACE_ATTRS, ("... current %s", _traceattr(win->_attrs)));
+@@ -230,16 +192,9 @@
+ TR(TRACE_VIRTPUT, ("str is not null, length = %d", n));
+ while ((n-- > 0) && (*str != L('\0'))) {
+ NCURSES_CH_T ch;
+- TR(TRACE_VIRTPUT, ("*str[0] = %#lx", *str));
++ TR(TRACE_VIRTPUT, ("*str[0] = %#lx", (unsigned long) *str));
+ SetChar(ch, *str++, A_NORMAL);
+- i = 1;
+- while (i < CCHARW_MAX && n > 0 && (*str != L('\0'))
+- && wcwidth(*str) == 0) {
+- TR(TRACE_VIRTPUT, ("*str[%d] = %#lx", i, *str));
+- ch.chars[i++] = *str++;
+- --n;
+- }
+- if (_nc_waddch_nosync(win, ch) == ERR) {
++ if (wadd_wch(win, &ch) == ERR) {
+ code = ERR;
+ break;
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_bkgd.c ncurses-5.3.20030906.orig/ncurses/base/lib_bkgd.c
+--- ncurses-5.3/ncurses/base/lib_bkgd.c Sun Sep 22 15:30:32 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_bkgd.c Sun Jul 20 14:02:09 2003
+@@ -33,7 +33,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_bkgd.c,v 1.29 2002/09/22 20:30:32 tom Exp $")
++MODULE_ID("$Id: lib_bkgd.c,v 1.30 2003/07/05 16:46:49 tom Exp $")
+
+ /*
+ * Set the window's background information.
+@@ -70,7 +70,7 @@
+ int tmp;
+
+ wgetbkgrnd(win, &wch);
+- tmp = wctob(CharOf(wch));
++ tmp = _nc_to_char(CharOf(wch));
+
+ win->_bkgd = ((tmp == EOF) ? ' ' : (chtype) tmp) | AttrOf(wch);
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_freeall.c ncurses-5.3.20030906.orig/ncurses/base/lib_freeall.c
+--- ncurses-5.3/ncurses/base/lib_freeall.c Sat Jul 27 19:35:25 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_freeall.c Fri Sep 12 16:41:56 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ extern int malloc_errfd; /* FIXME */
+ #endif
+
+-MODULE_ID("$Id: lib_freeall.c,v 1.20 2002/07/28 00:35:25 tom Exp $")
++MODULE_ID("$Id: lib_freeall.c,v 1.25 2003/08/09 21:32:53 tom Exp $")
+
+ /*
+ * Free all ncurses data. This is used for testing only (there's no practical
+@@ -51,8 +51,10 @@
+ WINDOWLIST *p, *q;
+ char *s;
+
++ T((T_CALLED("_nc_freeall()")));
+ #if NO_LEAKS
+ _nc_free_tparm();
++ FreeAndNull(_nc_oldnums);
+ #endif
+ if (SP != 0) {
+ while (_nc_windows != 0) {
+@@ -82,24 +84,37 @@
+ _nc_free_termtype(&(cur_term->type));
+ free(cur_term);
+ }
++ _nc_free_entries(_nc_head);
+
+ if ((s = _nc_home_terminfo()) != 0)
+ free(s);
++
++ (void) _nc_printf_string(0, 0);
+ #ifdef TRACE
+ (void) _nc_trace_buf(-1, 0);
+ #endif
++
+ #if HAVE_LIBDBMALLOC
+ malloc_dump(malloc_errfd);
+ #elif HAVE_LIBDMALLOC
+ #elif HAVE_PURIFY
+ purify_all_inuse();
+ #endif
++ returnVoid;
+ }
+
+ NCURSES_EXPORT(void)
+ _nc_free_and_exit(int code)
+ {
++ char *last_setbuf = (SP != 0) ? SP->_setbuf : 0;
++
+ _nc_freeall();
++#ifdef TRACE
++ trace(0); /* close trace file, freeing its setbuf */
++ free(_nc_varargs("?", 0));
++#endif
++ fclose(stdout);
++ FreeIfNeeded(last_setbuf);
+ exit(code);
+ }
+
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_getch.c ncurses-5.3.20030906.orig/ncurses/base/lib_getch.c
+--- ncurses-5.3/ncurses/base/lib_getch.c Sat Sep 7 12:17:59 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_getch.c Sun Jul 20 14:02:08 2003
+@@ -40,7 +40,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_getch.c,v 1.67 2002/09/07 17:17:59 tom Exp $")
++MODULE_ID("$Id: lib_getch.c,v 1.71 2003/05/17 23:49:28 tom Exp $")
+
+ #include <fifo_defs.h>
+
+@@ -53,6 +53,32 @@
+ #define TWAIT_MASK 3
+ #endif
+
++/*
++ * Check for mouse activity, returning nonzero if we find any.
++ */
++static int
++check_mouse_activity(int delay EVENTLIST_2nd(_nc_eventlist * evl))
++{
++ int rc;
++
++#if USE_SYSMOUSE
++ if ((SP->_mouse_type == M_SYSMOUSE)
++ && (SP->_sysmouse_head < SP->_sysmouse_tail)) {
++ return 2;
++ }
++#endif
++ rc = _nc_timed_wait(TWAIT_MASK, delay, (int *) 0 EVENTLIST_2nd(evl));
++#if USE_SYSMOUSE
++ if ((SP->_mouse_type == M_SYSMOUSE)
++ && (SP->_sysmouse_head < SP->_sysmouse_tail)
++ && (rc == 0)
++ && (errno == EINTR)) {
++ rc |= 2;
++ }
++#endif
++ return rc;
++}
++
+ static inline int
+ fifo_peek(void)
+ {
+@@ -88,7 +114,7 @@
+ {
+ int n;
+ int ch = 0;
+- int mask;
++ int mask = 0;
+
+ (void) mask;
+ if (tail == -1)
+@@ -101,11 +127,11 @@
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ if (evl
+-#if USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
++#if USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE
+ || (SP->_mouse_fd >= 0)
+ #endif
+ ) {
+- mask = _nc_timed_wait(TWAIT_MASK, -1, (int *) 0, evl);
++ mask = check_mouse_activity(-1 EVENTLIST_2nd(evl));
+ } else
+ mask = 0;
+
+@@ -114,18 +140,32 @@
+ ungetch(KEY_EVENT);
+ return KEY_EVENT;
+ }
+-#elif USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
+- if (SP->_mouse_fd >= 0)
+- mask = _nc_timed_wait(TWAIT_MASK, -1, (int *) 0 EVENTLIST_2nd(evl));
++#elif USE_GPM_SUPPORT || USE_EMX_MOUSE || USE_SYSMOUSE
++ if (SP->_mouse_fd >= 0) {
++ mask = check_mouse_activity(-1 EVENTLIST_2nd(evl));
++ }
+ #endif
+
+-#if USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
++#if USE_GPM_SUPPORT || USE_EMX_MOUSE
+ if ((SP->_mouse_fd >= 0) && (mask & 2)) {
+ SP->_mouse_event(SP);
+ ch = KEY_MOUSE;
+ n = 1;
+ } else
+ #endif
++#if USE_SYSMOUSE
++ if ((SP->_mouse_type == M_SYSMOUSE)
++ && (SP->_sysmouse_head < SP->_sysmouse_tail)) {
++ SP->_mouse_event(SP);
++ ch = KEY_MOUSE;
++ n = 1;
++ } else if ((SP->_mouse_type == M_SYSMOUSE)
++ && (mask <= 0) && errno == EINTR) {
++ SP->_mouse_event(SP);
++ ch = KEY_MOUSE;
++ n = 1;
++ } else
++#endif
+ { /* Can block... */
+ unsigned char c2 = 0;
+ n = read(SP->_ifd, &c2, 1);
+@@ -214,13 +254,19 @@
+ * stuff its contents in the FIFO queue, and pop off
+ * the first character to return it.
+ */
+- if (head == -1 && !SP->_raw && !SP->_cbreak) {
++ if (head == -1 &&
++ !SP->_notty &&
++ !SP->_raw &&
++ !SP->_cbreak &&
++ !SP->_called_wgetch) {
+ char buf[MAXCOLUMNS], *sp;
+ int rc;
+
+ TR(TRACE_IEVENT, ("filling queue in cooked mode"));
+
++ SP->_called_wgetch = TRUE;
+ rc = wgetnstr(win, buf, MAXCOLUMNS);
++ SP->_called_wgetch = FALSE;
+
+ /* ungetch in reverse order */
+ #ifdef NCURSES_WGETCH_EVENTS
+@@ -265,10 +311,7 @@
+ TR(TRACE_IEVENT, ("delay is %d milliseconds", delay));
+
+ if (head == -1) { /* fifo is empty */
+- int rc = _nc_timed_wait(TWAIT_MASK,
+- delay,
+- (int *) 0
+- EVENTLIST_2nd(evl));
++ int rc = check_mouse_activity(delay EVENTLIST_2nd(evl));
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ if (rc & 4) {
+@@ -308,10 +351,8 @@
+ break;
+ } while
+ (ch == KEY_MOUSE
+- && (((rc = _nc_timed_wait(TWAIT_MASK,
+- SP->_maxclick,
+- (int *) 0
+- EVENTLIST_2nd(evl))) != 0
++ && (((rc = check_mouse_activity(SP->_maxclick
++ EVENTLIST_2nd(evl))) != 0
+ && !(rc & 4))
+ || !SP->_mouse_parse(runcount)));
+ #ifdef NCURSES_WGETCH_EVENTS
+@@ -513,14 +554,11 @@
+ int rc;
+
+ TR(TRACE_IEVENT, ("waiting for rest of sequence"));
+- rc = _nc_timed_wait(TWAIT_MASK,
+- timeleft,
+- &timeleft
+- EVENTLIST_2nd(evl));
++ rc = check_mouse_activity(timeleft EVENTLIST_2nd(evl));
+ #ifdef NCURSES_WGETCH_EVENTS
+ if (rc & 4) {
+ TR(TRACE_IEVENT, ("interrupted by a user event"));
+- /* FIXME Should have preserved timeleft for reusal... */
++ /* FIXME Should have preserved remainder timeleft for reusal... */
+ peek = head; /* Restart interpreting later */
+ return KEY_EVENT;
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_insch.c ncurses-5.3.20030906.orig/ncurses/base/lib_insch.c
+--- ncurses-5.3/ncurses/base/lib_insch.c Sat Jun 9 18:47:38 2001
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_insch.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,6 +29,8 @@
+ /****************************************************************************
+ * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
++ * and: Sven Verdoolaege *
++ * and: Thomas E. Dickey *
+ ****************************************************************************/
+
+ /*
+@@ -39,29 +41,98 @@
+ */
+
+ #include <curses.priv.h>
++#include <ctype.h>
+
+-MODULE_ID("$Id: lib_insch.c,v 1.15 2001/06/09 23:47:38 skimo Exp $")
++MODULE_ID("$Id: lib_insch.c,v 1.18 2002/11/23 21:41:05 tom Exp $")
++
++/*
++ * Insert the given character, updating the current location to simplify
++ * inserting a string.
++ */
++void
++_nc_insert_ch(WINDOW *win, chtype ch)
++{
++ NCURSES_CH_T wch;
++ int count;
++
++ switch (ch) {
++ case '\t':
++ for (count = (TABSIZE - (win->_curx % TABSIZE)); count > 0; count--)
++ _nc_insert_ch(win, ' ');
++ break;
++ case '\n':
++ case '\r':
++ case '\b':
++ SetChar2(wch, ch);
++ _nc_waddch_nosync(win, wch);
++ break;
++ default:
++ if (is7bits(ch) && iscntrl(ch)) {
++ _nc_insert_ch(win, '^');
++ _nc_insert_ch(win, '@' + (ch));
++ } else if (win->_curx <= win->_maxx) {
++ struct ldat *line = &(win->_line[win->_cury]);
++ NCURSES_CH_T *end = &(line->text[win->_curx]);
++ NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
++ NCURSES_CH_T *temp2 = temp1 - 1;
++
++ SetChar2(wch, ch);
++
++ CHANGED_TO_EOL(line, win->_curx, win->_maxx);
++ while (temp1 > end)
++ *temp1-- = *temp2--;
++
++ *temp1 = _nc_render(win, wch);
++
++ win->_curx++;
++ }
++ break;
++ }
++}
+
+ NCURSES_EXPORT(int)
+ winsch(WINDOW *win, chtype c)
+ {
++ NCURSES_SIZE_T oy;
++ NCURSES_SIZE_T ox;
+ int code = ERR;
+
+ T((T_CALLED("winsch(%p, %s)"), win, _tracechtype(c)));
+
+- if (win) {
+- struct ldat *line = &(win->_line[win->_cury]);
+- NCURSES_CH_T *end = &(line->text[win->_curx]);
+- NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
+- NCURSES_CH_T *temp2 = temp1 - 1;
+- NCURSES_CH_T wch;
+- SetChar2(wch, c);
++ if (win != 0) {
++ oy = win->_cury;
++ ox = win->_curx;
+
+- CHANGED_TO_EOL(line, win->_curx, win->_maxx);
+- while (temp1 > end)
+- *temp1-- = *temp2--;
++ _nc_insert_ch(win, c);
+
+- *temp1 = _nc_render(win, wch);
++ win->_curx = ox;
++ win->_cury = oy;
++ _nc_synchook(win);
++ code = OK;
++ }
++ returnCode(code);
++}
++
++NCURSES_EXPORT(int)
++winsnstr(WINDOW *win, const char *s, int n)
++{
++ int code = ERR;
++ NCURSES_SIZE_T oy;
++ NCURSES_SIZE_T ox;
++ const unsigned char *str = (const unsigned char *) s;
++ const unsigned char *cp;
++
++ T((T_CALLED("winsnstr(%p,%s,%d)"), win, _nc_visbufn(s, n), n));
++
++ if (win != 0 && str != 0) {
++ oy = win->_cury;
++ ox = win->_curx;
++ for (cp = str; *cp && (n <= 0 || (cp - str) < n); cp++) {
++ _nc_insert_ch(win, (chtype) UChar(*cp));
++ }
++ win->_curx = ox;
++ win->_cury = oy;
++ _nc_synchook(win);
+ code = OK;
+ }
+ returnCode(code);
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_insdel.c ncurses-5.3.20030906.orig/ncurses/base/lib_insdel.c
+--- ncurses-5.3/ncurses/base/lib_insdel.c Tue Dec 18 19:10:49 2001
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_insdel.c Fri Sep 12 16:41:24 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -42,14 +42,14 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_insdel.c,v 1.11 2001/12/19 01:10:49 tom Exp $")
++MODULE_ID("$Id: lib_insdel.c,v 1.12 2003/07/26 22:40:06 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ winsdelln(WINDOW *win, int n)
+ {
+ int code = ERR;
+
+- T((T_CALLED("winsdel(%p,%d)"), win, n));
++ T((T_CALLED("winsdelln(%p,%d)"), win, n));
+
+ if (win) {
+ if (n != 0) {
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_mouse.c ncurses-5.3.20030906.orig/ncurses/base/lib_mouse.c
+--- ncurses-5.3/ncurses/base/lib_mouse.c Sat Sep 28 11:08:58 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_mouse.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,6 +29,7 @@
+ /****************************************************************************
+ * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
++ * and: Thomas E. Dickey 1996-2003 *
+ ****************************************************************************/
+
+ /*
+@@ -74,7 +75,11 @@
+ #endif
+
+ #include <curses.priv.h>
++
++MODULE_ID("$Id: lib_mouse.c,v 1.67 2003/05/31 22:18:18 tom Exp $")
++
+ #include <term.h>
++#include <tic.h>
+
+ #if USE_GPM_SUPPORT
+ #ifndef LINT /* don't need this for llib-lncurses */
+@@ -84,18 +89,33 @@
+ #endif
+ #endif
+
+-MODULE_ID("$Id: lib_mouse.c,v 1.61 2002/09/28 16:08:58 tom Exp $")
++#if USE_SYSMOUSE
++#undef buttons /* symbol conflict in consio.h */
++#undef mouse_info /* symbol conflict in consio.h */
++#include <osreldate.h>
++#if (__FreeBSD_version >= 400017)
++#include <sys/consio.h>
++#include <sys/fbio.h>
++#else
++#include <machine/console.h>
++#endif
++#endif /* use_SYSMOUSE */
+
+ #define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
+
+-#define INVALID_EVENT -1
++#define MASK_RELEASE(x) ((001 << (6 * ((x) - 1))))
++#define MASK_PRESS(x) ((002 << (6 * ((x) - 1))))
++#define MASK_CLICK(x) ((004 << (6 * ((x) - 1))))
++#define MASK_DOUBLE_CLICK(x) ((010 << (6 * ((x) - 1))))
++#define MASK_TRIPLE_CLICK(x) ((020 << (6 * ((x) - 1))))
++#define MASK_RESERVED_EVENT(x) ((040 << (6 * ((x) - 1))))
+
+-static int mousetype;
+-#define M_XTERM -1 /* use xterm's mouse tracking? */
+-#define M_NONE 0 /* no mouse device */
+-#define M_GPM 1 /* use GPM */
+-#define M_QNX 2 /* QNX mouse on console */
+-#define M_QNX_TERM 3 /* QNX mouse on pterm/xterm (using qansi-m) */
++#define BUTTON_CLICKED (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED)
++#define BUTTON_PRESSED (BUTTON1_PRESSED | BUTTON2_PRESSED | BUTTON3_PRESSED)
++#define BUTTON_RELEASED (BUTTON1_RELEASED | BUTTON2_RELEASED | BUTTON3_RELEASED)
++
++#define INVALID_EVENT -1
++#define NORMAL_EVENT 0
+
+ #if USE_GPM_SUPPORT
+ #ifndef LINT
+@@ -117,7 +137,11 @@
+ */
+ static MEVENT events[EV_MAX]; /* hold the last mouse event seen */
+ static MEVENT *eventp = events; /* next free slot in event queue */
++
++#undef NEXT
+ #define NEXT(ep) ((ep == events + EV_MAX - 1) ? events : ep + 1)
++
++#undef PREV
+ #define PREV(ep) ((ep == events) ? events + EV_MAX - 1 : ep - 1)
+
+ #ifdef TRACE
+@@ -135,7 +159,7 @@
+ }
+ #endif
+
+-#ifdef USE_EMX_MOUSE
++#if USE_EMX_MOUSE
+
+ # define TOP_ROW 0
+ # define LEFT_COL 0
+@@ -229,31 +253,110 @@
+ mouse_activated = state;
+ }
+
++#endif /* USE_EMX_MOUSE */
++
++#if USE_SYSMOUSE
++static void
++handle_sysmouse(int sig GCC_UNUSED)
++{
++ struct mouse_info the_mouse;
++ MEVENT *work;
++
++ the_mouse.operation = MOUSE_GETINFO;
++ if (SP != 0
++ && SP->_mouse_fd >= 0
++ && SP->_sysmouse_tail < FIFO_SIZE
++ && ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse) != -1) {
++
++ if (SP->_sysmouse_head > SP->_sysmouse_tail) {
++ SP->_sysmouse_tail = 0;
++ SP->_sysmouse_head = 0;
++ }
++ work = &(SP->_sysmouse_fifo[SP->_sysmouse_tail]);
++ memset(work, 0, sizeof(*work));
++ work->id = NORMAL_EVENT; /* there's only one mouse... */
++
++ SP->_sysmouse_old_buttons = SP->_sysmouse_new_buttons;
++ SP->_sysmouse_new_buttons = the_mouse.u.data.buttons & 0x7;
++
++ if (SP->_sysmouse_new_buttons) {
++ if (SP->_sysmouse_new_buttons & 1)
++ work->bstate |= BUTTON1_PRESSED;
++ if (SP->_sysmouse_new_buttons & 2)
++ work->bstate |= BUTTON2_PRESSED;
++ if (SP->_sysmouse_new_buttons & 4)
++ work->bstate |= BUTTON3_PRESSED;
++ } else {
++ if (SP->_sysmouse_old_buttons & 1)
++ work->bstate |= BUTTON1_RELEASED;
++ if (SP->_sysmouse_old_buttons & 2)
++ work->bstate |= BUTTON2_RELEASED;
++ if (SP->_sysmouse_old_buttons & 4)
++ work->bstate |= BUTTON3_RELEASED;
++ }
++
++ /* for cosmetic bug in syscons.c on FreeBSD 3.[34] */
++ the_mouse.operation = MOUSE_HIDE;
++ ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
++ the_mouse.operation = MOUSE_SHOW;
++ ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
++
++ /*
++ * We're only interested if the button is pressed or released.
++ * FIXME: implement continuous event-tracking.
++ */
++ if (SP->_sysmouse_new_buttons != SP->_sysmouse_old_buttons) {
++ SP->_sysmouse_tail += 1;
++ }
++ work->x = the_mouse.u.data.x / SP->_sysmouse_char_width;
++ work->y = the_mouse.u.data.y / SP->_sysmouse_char_height;
++ }
++}
+ #endif
+
+ static int initialized;
+
+ static void
++init_xterm_mouse(void)
++{
++ SP->_mouse_type = M_XTERM;
++ SP->_mouse_xtermcap = tigetstr("XM");
++ if (!VALID_STRING(SP->_mouse_xtermcap))
++ SP->_mouse_xtermcap = "\033[?1000%?%p1%{1}%=%th%el%;";
++}
++
++#if !USE_EMX_MOUSE
++static void
++enable_xterm_mouse(int enable)
++{
++ putp(tparm(SP->_mouse_xtermcap, enable));
++}
++#endif /* !USE_EMX_MOUSE */
++
++static void
+ initialize_mousetype(void)
+ {
+ static const char *xterm_kmous = "\033[M";
+
+ /* Try gpm first, because gpm may be configured to run in xterm */
+ #if USE_GPM_SUPPORT
+- /* GPM: initialize connection to gpm server */
+- gpm_connect.eventMask = GPM_DOWN | GPM_UP;
+- gpm_connect.defaultMask = ~(gpm_connect.eventMask | GPM_HARD);
+- gpm_connect.minMod = 0;
+- gpm_connect.maxMod = ~((1 << KG_SHIFT) | (1 << KG_SHIFTL) | (1 << KG_SHIFTR));
+- if (Gpm_Open(&gpm_connect, 0) >= 0) { /* returns the file-descriptor */
+- mousetype = M_GPM;
+- SP->_mouse_fd = gpm_fd;
+- return;
++ /* GPM does printf's without checking if stdout is a terminal */
++ if (isatty(fileno(stdout))) {
++ /* GPM: initialize connection to gpm server */
++ gpm_connect.eventMask = GPM_DOWN | GPM_UP;
++ gpm_connect.defaultMask = ~(gpm_connect.eventMask | GPM_HARD);
++ gpm_connect.minMod = 0;
++ gpm_connect.maxMod = ~((1 << KG_SHIFT) | (1 << KG_SHIFTL) | (1 << KG_SHIFTR));
++ if (Gpm_Open(&gpm_connect, 0) >= 0) { /* returns the file-descriptor */
++ SP->_mouse_type = M_GPM;
++ SP->_mouse_fd = gpm_fd;
++ return;
++ }
+ }
+ #endif
+
+ /* OS/2 VIO */
+-#ifdef USE_EMX_MOUSE
++#if USE_EMX_MOUSE
+ if (!mouse_thread
+ && strstr(cur_term->type.term_names, "xterm") == 0
+ && key_mouse) {
+@@ -287,22 +390,87 @@
+ printf("mouse thread error %d=%#x", rc, rc);
+ return;
+ } else {
+- mousetype = M_XTERM;
++ SP->_mouse_type = M_XTERM;
+ return;
+ }
+ }
+ }
+ #endif
+
++#if USE_SYSMOUSE
++ {
++ struct mouse_info the_mouse;
++ char *the_device = 0;
++
++ if (isatty(SP->_ifd))
++ the_device = ttyname(SP->_ifd);
++ if (the_device == 0)
++ the_device = "/dev/tty";
++
++ SP->_mouse_fd = open(the_device, O_RDWR);
++
++ if (SP->_mouse_fd >= 0) {
++ /*
++ * sysmouse does not have a usable user interface for obtaining
++ * mouse events. The logical way to proceed (reading data on a
++ * stream) only works if one opens the device as root. Even in
++ * that mode, careful examination shows we lose events
++ * occasionally. The interface provided for user programs is to
++ * establish a signal handler. really.
++ *
++ * Take over SIGUSR2 for this purpose since SIGUSR1 is more
++ * likely to be used by an application. getch() will have to
++ * handle the misleading EINTR's.
++ */
++ signal(SIGUSR2, SIG_IGN);
++ the_mouse.operation = MOUSE_MODE;
++ the_mouse.u.mode.mode = 0;
++ the_mouse.u.mode.signal = SIGUSR2;
++ if (ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse) != -1) {
++ signal(SIGUSR2, handle_sysmouse);
++ the_mouse.operation = MOUSE_SHOW;
++ ioctl(SP->_mouse_fd, CONS_MOUSECTL, &the_mouse);
++
++#if defined(FBIO_MODEINFO) || defined(CONS_MODEINFO) /* FreeBSD > 2.x */
++ {
++#ifndef FBIO_GETMODE /* FreeBSD 3.x */
++#define FBIO_GETMODE CONS_GET
++#define FBIO_MODEINFO CONS_MODEINFO
++#endif /* FBIO_GETMODE */
++ video_info_t the_video;
++
++ if (ioctl(SP->_mouse_fd,
++ FBIO_GETMODE,
++ &the_video.vi_mode) != -1
++ && ioctl(SP->_mouse_fd,
++ FBIO_MODEINFO,
++ &the_video) != -1) {
++ SP->_sysmouse_char_width = the_video.vi_cwidth;
++ SP->_sysmouse_char_height = the_video.vi_cheight;
++ }
++ }
++#endif /* defined(FBIO_MODEINFO) || defined(CONS_MODEINFO) */
++
++ if (SP->_sysmouse_char_width <= 0)
++ SP->_sysmouse_char_width = 8;
++ if (SP->_sysmouse_char_height <= 0)
++ SP->_sysmouse_char_height = 16;
++ SP->_mouse_type = M_SYSMOUSE;
++ return;
++ }
++ }
++ }
++#endif /* USE_SYSMOUSE */
++
+ /* we know how to recognize mouse events under "xterm" */
+ if (key_mouse != 0) {
+ if (!strcmp(key_mouse, xterm_kmous)) {
+- mousetype = M_XTERM;
++ init_xterm_mouse();
+ return;
+ }
+ } else if (strstr(cur_term->type.term_names, "xterm") != 0) {
+ (void) _nc_add_to_try(&(SP->_keytry), xterm_kmous, KEY_MOUSE);
+- mousetype = M_XTERM;
++ init_xterm_mouse();
+ return;
+ }
+ }
+@@ -323,7 +491,7 @@
+
+ initialize_mousetype();
+
+- T(("_nc_mouse_init() set mousetype to %d", mousetype));
++ T(("_nc_mouse_init() set mousetype to %d", SP->_mouse_type));
+ }
+ }
+
+@@ -334,74 +502,113 @@
+ static bool
+ _nc_mouse_event(SCREEN * sp GCC_UNUSED)
+ {
+-#if USE_GPM_SUPPORT
+- /* GPM: query server for event, return TRUE if we find one */
+- Gpm_Event ev;
++ bool result = FALSE;
+
+- if (Gpm_GetEvent(&ev) == 1) {
+- eventp->id = 0; /* there's only one mouse... */
++ switch (SP->_mouse_type) {
++ case M_XTERM:
++ /* xterm: never have to query, mouse events are in the keyboard stream */
++#if USE_EMX_MOUSE
++ {
++ char kbuf[3];
+
+- eventp->bstate = 0;
+- switch (ev.type & 0x0f) {
+- case (GPM_DOWN):
+- if (ev.buttons & GPM_B_LEFT)
+- eventp->bstate |= BUTTON1_PRESSED;
+- if (ev.buttons & GPM_B_MIDDLE)
+- eventp->bstate |= BUTTON2_PRESSED;
+- if (ev.buttons & GPM_B_RIGHT)
+- eventp->bstate |= BUTTON3_PRESSED;
+- break;
+- case (GPM_UP):
+- if (ev.buttons & GPM_B_LEFT)
+- eventp->bstate |= BUTTON1_RELEASED;
+- if (ev.buttons & GPM_B_MIDDLE)
+- eventp->bstate |= BUTTON2_RELEASED;
+- if (ev.buttons & GPM_B_RIGHT)
+- eventp->bstate |= BUTTON3_RELEASED;
+- break;
+- default:
+- break;
++ int i, res = read(M_FD(sp), &kbuf, 3); /* Eat the prefix */
++ if (res != 3)
++ printf("Got %d chars instead of 3 for prefix.\n", res);
++ for (i = 0; i < res; i++) {
++ if (kbuf[i] != key_mouse[i])
++ printf("Got char %d instead of %d for prefix.\n",
++ (int) kbuf[i], (int) key_mouse[i]);
++ }
++ result = TRUE;
+ }
++#endif /* USE_EMX_MOUSE */
++ break;
+
+- eventp->x = ev.x - 1;
+- eventp->y = ev.y - 1;
+- eventp->z = 0;
++#if USE_GPM_SUPPORT
++ case M_GPM:
++ {
++ /* query server for event, return TRUE if we find one */
++ Gpm_Event ev;
+
+- /* bump the next-free pointer into the circular list */
+- eventp = NEXT(eventp);
+- return (TRUE);
+- }
++ if (Gpm_GetEvent(&ev) == 1) {
++ /* there's only one mouse... */
++ eventp->id = NORMAL_EVENT;
++
++ eventp->bstate = 0;
++ switch (ev.type & 0x0f) {
++ case (GPM_DOWN):
++ if (ev.buttons & GPM_B_LEFT)
++ eventp->bstate |= BUTTON1_PRESSED;
++ if (ev.buttons & GPM_B_MIDDLE)
++ eventp->bstate |= BUTTON2_PRESSED;
++ if (ev.buttons & GPM_B_RIGHT)
++ eventp->bstate |= BUTTON3_PRESSED;
++ break;
++ case (GPM_UP):
++ if (ev.buttons & GPM_B_LEFT)
++ eventp->bstate |= BUTTON1_RELEASED;
++ if (ev.buttons & GPM_B_MIDDLE)
++ eventp->bstate |= BUTTON2_RELEASED;
++ if (ev.buttons & GPM_B_RIGHT)
++ eventp->bstate |= BUTTON3_RELEASED;
++ break;
++ default:
++ break;
++ }
++
++ eventp->x = ev.x - 1;
++ eventp->y = ev.y - 1;
++ eventp->z = 0;
++
++ /* bump the next-free pointer into the circular list */
++ eventp = NEXT(eventp);
++ result = TRUE;
++ }
++ }
++ break;
+ #endif
+
+-#ifdef USE_EMX_MOUSE
+- {
+- char kbuf[3];
++#if USE_SYSMOUSE
++ case M_SYSMOUSE:
++ if (SP->_sysmouse_head < SP->_sysmouse_tail) {
++ *eventp = SP->_sysmouse_fifo[SP->_sysmouse_head];
+
+- int i, res = read(M_FD(sp), &kbuf, 3); /* Eat the prefix */
+- if (res != 3)
+- printf("Got %d chars instead of 3 for prefix.\n", res);
+- for (i = 0; i < res; i++) {
+- if (kbuf[i] != key_mouse[i])
+- printf("Got char %d instead of %d for prefix.\n",
+- (int) kbuf[i], (int) key_mouse[i]);
++ /*
++ * Point the fifo-head to the next possible location. If there
++ * are none, reset the indices. This may be interrupted by the
++ * signal handler, doing essentially the same reset.
++ */
++ SP->_sysmouse_head += 1;
++ if (SP->_sysmouse_head == SP->_sysmouse_tail) {
++ SP->_sysmouse_tail = 0;
++ SP->_sysmouse_head = 0;
++ }
++
++ /* bump the next-free pointer into the circular list */
++ eventp = NEXT(eventp);
++ result = TRUE;
+ }
+- return TRUE;
++ break;
++#endif /* USE_SYSMOUSE */
++
++ case M_NONE:
++ break;
+ }
+-#endif /* USE_EMX_MOUSE */
+
+- /* xterm: never have to query, mouse events are in the keyboard stream */
+- return (FALSE); /* no event waiting */
++ return result; /* true if we found an event */
+ }
+
+ static bool
+ _nc_mouse_inline(SCREEN * sp)
+ /* mouse report received in the keyboard stream -- parse its info */
+ {
++ bool result = FALSE;
++
+ TR(MY_TRACE, ("_nc_mouse_inline() called"));
+
+- if (mousetype == M_XTERM) {
++ if (SP->_mouse_type == M_XTERM) {
+ unsigned char kbuf[4];
+- MEVENT *prev;
++ mmask_t prev;
+ size_t grabbed;
+ int res;
+
+@@ -438,7 +645,7 @@
+ for (grabbed = 0; grabbed < 3; grabbed += res) {
+
+ /* For VIO mouse we add extra bit 64 to disambiguate button-up. */
+-#ifdef USE_EMX_MOUSE
++#if USE_EMX_MOUSE
+ res = read(M_FD(sp) >= 0 ? M_FD(sp) : sp->_ifd, &kbuf, 3);
+ #else
+ res = read(sp->_ifd, kbuf + grabbed, 3 - grabbed);
+@@ -451,59 +658,65 @@
+ TR(TRACE_IEVENT,
+ ("_nc_mouse_inline sees the following xterm data: '%s'", kbuf));
+
+- eventp->id = 0; /* there's only one mouse... */
++ /* there's only one mouse... */
++ eventp->id = NORMAL_EVENT;
+
+ /* processing code goes here */
+ eventp->bstate = 0;
++ prev = PREV(eventp)->bstate;
++
++#if USE_EMX_MOUSE
++#define PRESS_POSITION(n) \
++ eventp->bstate = MASK_PRESS(n); \
++ if (kbuf[0] & 0x40) \
++ eventp->bstate = MASK_RELEASE(n)
++#else
++#define PRESS_POSITION(n) \
++ eventp->bstate = (prev & MASK_PRESS(n) \
++ ? REPORT_MOUSE_POSITION \
++ : MASK_PRESS(n))
++#endif
++
+ switch (kbuf[0] & 0x3) {
+ case 0x0:
+- eventp->bstate = BUTTON1_PRESSED;
+-#ifdef USE_EMX_MOUSE
+- if (kbuf[0] & 0x40)
+- eventp->bstate = BUTTON1_RELEASED;
+-#endif
++ PRESS_POSITION(1);
+ break;
+
+ case 0x1:
+- eventp->bstate = BUTTON2_PRESSED;
+-#ifdef USE_EMX_MOUSE
+- if (kbuf[0] & 0x40)
+- eventp->bstate = BUTTON2_RELEASED;
+-#endif
++ PRESS_POSITION(2);
+ break;
+
+ case 0x2:
+- eventp->bstate = BUTTON3_PRESSED;
+-#ifdef USE_EMX_MOUSE
+- if (kbuf[0] & 0x40)
+- eventp->bstate = BUTTON3_RELEASED;
+-#endif
++ PRESS_POSITION(3);
+ break;
+
+ case 0x3:
+ /*
+- * Release events aren't reported for individual buttons,
+- * just for the button set as a whole...
+- */
+- eventp->bstate =
+- (BUTTON1_RELEASED |
+- BUTTON2_RELEASED |
+- BUTTON3_RELEASED);
+- /*
+- * ...however, because there are no kinds of mouse events under
+- * xterm that can intervene between press and release, we can
+- * deduce which buttons were actually released by looking at the
+- * previous event.
++ * Release events aren't reported for individual buttons, just for
++ * the button set as a whole. However, because there are normally
++ * no mouse events under xterm that intervene between press and
++ * release, we can infer the button actually released by looking at
++ * the previous event.
+ */
+- prev = PREV(eventp);
+- if (!(prev->bstate & BUTTON1_PRESSED))
+- eventp->bstate &= ~BUTTON1_RELEASED;
+- if (!(prev->bstate & BUTTON2_PRESSED))
+- eventp->bstate &= ~BUTTON2_RELEASED;
+- if (!(prev->bstate & BUTTON3_PRESSED))
+- eventp->bstate &= ~BUTTON3_RELEASED;
++ if (prev & (BUTTON_PRESSED | BUTTON_RELEASED)) {
++ eventp->bstate = BUTTON_RELEASED;
++ if (!(prev & BUTTON1_PRESSED))
++ eventp->bstate &= ~BUTTON1_RELEASED;
++ if (!(prev & BUTTON2_PRESSED))
++ eventp->bstate &= ~BUTTON2_RELEASED;
++ if (!(prev & BUTTON3_PRESSED))
++ eventp->bstate &= ~BUTTON3_RELEASED;
++ } else {
++ /*
++ * XFree86 xterm will return a stream of release-events to
++ * let the application know where the mouse is going, if the
++ * private mode 1002 or 1003 is enabled.
++ */
++ eventp->bstate = REPORT_MOUSE_POSITION;
++ }
+ break;
+ }
++ result = (eventp->bstate & REPORT_MOUSE_POSITION) ? TRUE : FALSE;
+
+ if (kbuf[0] & 4) {
+ eventp->bstate |= BUTTON_SHIFT;
+@@ -529,7 +742,7 @@
+ #endif
+ }
+
+- return (FALSE);
++ return (result);
+ }
+
+ static void
+@@ -542,16 +755,16 @@
+
+ if (on) {
+
+- switch (mousetype) {
++ switch (SP->_mouse_type) {
+ case M_XTERM:
+ #if NCURSES_EXT_FUNCS
+ keyok(KEY_MOUSE, on);
+ #endif
+ TPUTS_TRACE("xterm mouse initialization");
+-#ifdef USE_EMX_MOUSE
++#if USE_EMX_MOUSE
+ server_state(1);
+ #else
+- putp("\033[?1000h");
++ enable_xterm_mouse(1);
+ #endif
+ break;
+ #if USE_GPM_SUPPORT
+@@ -559,6 +772,13 @@
+ SP->_mouse_fd = gpm_fd;
+ break;
+ #endif
++#if USE_SYSMOUSE
++ case M_SYSMOUSE:
++ signal(SIGUSR2, handle_sysmouse);
++ break;
++#endif
++ case M_NONE:
++ return;
+ }
+ /* Make runtime binding to cut down on object size of applications that
+ * do not use the mouse (e.g., 'clear').
+@@ -571,19 +791,26 @@
+
+ } else {
+
+- switch (mousetype) {
++ switch (SP->_mouse_type) {
+ case M_XTERM:
+ TPUTS_TRACE("xterm mouse deinitialization");
+-#ifdef USE_EMX_MOUSE
++#if USE_EMX_MOUSE
+ server_state(0);
+ #else
+- putp("\033[?1000l");
++ enable_xterm_mouse(0);
+ #endif
+ break;
+ #if USE_GPM_SUPPORT
+ case M_GPM:
+ break;
+ #endif
++#if USE_SYSMOUSE
++ case M_SYSMOUSE:
++ signal(SIGUSR2, SIG_IGN);
++ break;
++#endif
++ case M_NONE:
++ return;
+ }
+ }
+ _nc_flush();
+@@ -631,7 +858,7 @@
+ ("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
+ _tracemouse(prev),
+ (long) (prev - events)));
+- return (prev->id >= 0)
++ return (prev->id >= NORMAL_EVENT)
+ ? ((prev->bstate & eventmask) ? TRUE : FALSE)
+ : FALSE;
+ }
+@@ -657,7 +884,7 @@
+ merge = FALSE;
+ for (ep = runp; (next = NEXT(ep)) != eventp; ep = next) {
+ if (ep->x == next->x && ep->y == next->y
+- && (ep->bstate & (BUTTON1_PRESSED | BUTTON2_PRESSED | BUTTON3_PRESSED))
++ && (ep->bstate & BUTTON_PRESSED)
+ && (!(ep->bstate & BUTTON1_PRESSED)
+ == !(next->bstate & BUTTON1_RELEASED))
+ && (!(ep->bstate & BUTTON2_PRESSED)
+@@ -729,10 +956,8 @@
+ continue;
+
+ /* merge click events forward */
+- if ((ep->bstate &
+- (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))
+- && (follower->bstate &
+- (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
++ if ((ep->bstate & BUTTON_CLICKED)
++ && (follower->bstate & BUTTON_CLICKED)) {
+ if ((eventmask & BUTTON1_DOUBLE_CLICKED)
+ && (follower->bstate & BUTTON1_CLICKED)) {
+ follower->bstate &= ~BUTTON1_CLICKED;
+@@ -760,8 +985,7 @@
+ (BUTTON1_DOUBLE_CLICKED
+ | BUTTON2_DOUBLE_CLICKED
+ | BUTTON3_DOUBLE_CLICKED))
+- && (follower->bstate &
+- (BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
++ && (follower->bstate & BUTTON_CLICKED)) {
+ if ((eventmask & BUTTON1_TRIPLE_CLICKED)
+ && (follower->bstate & BUTTON1_CLICKED)) {
+ follower->bstate &= ~BUTTON1_CLICKED;
+@@ -831,7 +1055,7 @@
+ {
+ TR(MY_TRACE, ("_nc_mouse_wrap() called"));
+
+- switch (mousetype) {
++ switch (SP->_mouse_type) {
+ case M_XTERM:
+ if (eventmask)
+ mouse_activate(FALSE);
+@@ -841,6 +1065,13 @@
+ case M_GPM:
+ break;
+ #endif
++#if USE_SYSMOUSE
++ case M_SYSMOUSE:
++ mouse_activate(FALSE);
++ break;
++#endif
++ case M_NONE:
++ break;
+ }
+ }
+
+@@ -850,11 +1081,27 @@
+ {
+ TR(MY_TRACE, ("_nc_mouse_resume() called"));
+
+- /* xterm: re-enable reporting */
+- if (mousetype == M_XTERM && eventmask)
+- mouse_activate(TRUE);
++ switch (SP->_mouse_type) {
++ case M_XTERM:
++ /* xterm: re-enable reporting */
++ if (eventmask)
++ mouse_activate(TRUE);
++ break;
+
+- /* GPM: reclaim our event set */
++#if USE_GPM_SUPPORT
++ case M_GPM:
++ /* GPM: reclaim our event set */
++ break;
++#endif
++
++#if USE_SYSMOUSE
++ case M_SYSMOUSE:
++ mouse_activate(TRUE);
++ break;
++#endif
++ case M_NONE:
++ break;
++ }
+ }
+
+ /**************************************************************************
+@@ -869,7 +1116,7 @@
+ {
+ T((T_CALLED("getmouse(%p)"), aevent));
+
+- if (aevent && (mousetype != M_NONE)) {
++ if (aevent && (SP->_mouse_type != M_NONE)) {
+ /* compute the current-event pointer */
+ MEVENT *prev = PREV(eventp);
+
+@@ -917,14 +1164,14 @@
+ returnBits(0);
+
+ _nc_mouse_init();
+- if (mousetype != M_NONE) {
++ if (SP->_mouse_type != M_NONE) {
+ eventmask = newmask &
+- (BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
+- | BUTTON1_PRESSED | BUTTON1_RELEASED | BUTTON1_CLICKED
++ (REPORT_MOUSE_POSITION | BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
++ | BUTTON_PRESSED
++ | BUTTON_RELEASED
++ | BUTTON_CLICKED
+ | BUTTON1_DOUBLE_CLICKED | BUTTON1_TRIPLE_CLICKED
+- | BUTTON2_PRESSED | BUTTON2_RELEASED | BUTTON2_CLICKED
+ | BUTTON2_DOUBLE_CLICKED | BUTTON2_TRIPLE_CLICKED
+- | BUTTON3_PRESSED | BUTTON3_RELEASED | BUTTON3_CLICKED
+ | BUTTON3_DOUBLE_CLICKED | BUTTON3_TRIPLE_CLICKED);
+
+ mouse_activate(eventmask != 0);
+@@ -977,7 +1224,7 @@
+ NCURSES_EXPORT(int)
+ _nc_has_mouse(void)
+ {
+- return (mousetype == M_NONE ? 0 : 1);
++ return (SP->_mouse_type == M_NONE ? 0 : 1);
+ }
+
+ NCURSES_EXPORT(bool)
+@@ -1010,5 +1257,3 @@
+ }
+ returnBool(result);
+ }
+-
+-/* lib_mouse.c ends here */
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_newterm.c ncurses-5.3.20030906.orig/ncurses/base/lib_newterm.c
+--- ncurses-5.3/ncurses/base/lib_newterm.c Sat Oct 12 10:24:08 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_newterm.c Tue May 13 20:08:22 2003
+@@ -47,7 +47,7 @@
+ #include <term.h> /* clear_screen, cup & friends, cur_term */
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_newterm.c,v 1.56 2002/10/12 15:24:08 tom Exp $")
++MODULE_ID("$Id: lib_newterm.c,v 1.57 2002/10/20 00:10:56 Philippe.Blain Exp $")
+
+ #ifndef ONLCR /* Allows compilation under the QNX 4.2 OS */
+ #define ONLCR 0
+@@ -119,13 +119,6 @@
+ if (filter_mode) {
+ LINES = 1;
+
+- if (VALID_NUMERIC(init_tabs))
+- TABSIZE = init_tabs;
+- else
+- TABSIZE = 8;
+-
+- T(("TABSIZE = %d", TABSIZE));
+-
+ clear_screen = 0;
+ cursor_down = parm_down_cursor = 0;
+ cursor_address = 0;
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_printw.c ncurses-5.3.20030906.orig/ncurses/base/lib_printw.c
+--- ncurses-5.3/ncurses/base/lib_printw.c Sat Oct 5 17:52:21 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_printw.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,10 +39,10 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_printw.c,v 1.13 2002/10/05 22:52:21 tom Exp $")
++MODULE_ID("$Id: lib_printw.c,v 1.15 2003/02/08 20:50:13 tom Exp $")
+
+ NCURSES_EXPORT(int)
+-printw(NCURSES_CONST char *fmt,...)
++printw(const char *fmt,...)
+ {
+ va_list argp;
+ int code;
+@@ -62,7 +62,7 @@
+ }
+
+ NCURSES_EXPORT(int)
+-wprintw(WINDOW *win, NCURSES_CONST char *fmt,...)
++wprintw(WINDOW *win, const char *fmt,...)
+ {
+ va_list argp;
+ int code;
+@@ -82,7 +82,7 @@
+ }
+
+ NCURSES_EXPORT(int)
+-mvprintw(int y, int x, NCURSES_CONST char *fmt,...)
++mvprintw(int y, int x, const char *fmt,...)
+ {
+ va_list argp;
+ int code;
+@@ -103,7 +103,7 @@
+ }
+
+ NCURSES_EXPORT(int)
+-mvwprintw(WINDOW *win, int y, int x, NCURSES_CONST char *fmt,...)
++mvwprintw(WINDOW *win, int y, int x, const char *fmt,...)
+ {
+ va_list argp;
+ int code;
+@@ -124,7 +124,7 @@
+ }
+
+ NCURSES_EXPORT(int)
+-vwprintw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp)
++vwprintw(WINDOW *win, const char *fmt, va_list argp)
+ {
+ char *buf;
+ int code = ERR;
+@@ -134,9 +134,6 @@
+
+ if ((buf = _nc_printf_string(fmt, argp)) != 0) {
+ code = waddstr(win, buf);
+-#if USE_SAFE_SPRINTF
+- free(buf);
+-#endif
+ }
+ returnCode(code);
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_scroll.c ncurses-5.3.20030906.orig/ncurses/base/lib_scroll.c
+--- ncurses-5.3/ncurses/base/lib_scroll.c Tue Dec 18 19:06:55 2001
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_scroll.c Fri Sep 12 16:41:24 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998,2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas E. Dickey 1996-2001 *
++ * Author: Thomas E. Dickey 1996-2003 *
+ * and: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
+ ****************************************************************************/
+@@ -43,7 +43,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_scroll.c,v 1.23 2001/12/19 01:06:55 tom Exp $")
++MODULE_ID("$Id: lib_scroll.c,v 1.24 2003/07/26 23:25:26 tom Exp $")
+
+ NCURSES_EXPORT(void)
+ _nc_scroll_window(WINDOW *win, int const n, NCURSES_SIZE_T const top,
+@@ -77,24 +77,15 @@
+ /* shift n lines downwards */
+ if (n < 0) {
+ limit = top - n;
+- if (limit > win->_maxy)
+- limit = win->_maxy;
+- for (line = bottom; line >= limit; line--) {
+- if (line + n >= 0) {
+- TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
+- memcpy(win->_line[line].text,
+- win->_line[line + n].text,
+- to_copy);
+- if_USE_SCROLL_HINTS(win->_line[line].oldindex =
+- win->_line[line + n].oldindex);
+- } else {
+- TR(TRACE_MOVE, ("...filling %d", line));
+- for (j = 0; j <= win->_maxx; j++)
+- win->_line[line].text[j] = blank;
+- if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
+- }
++ for (line = bottom; line >= limit && line >= 0; line--) {
++ TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
++ memcpy(win->_line[line].text,
++ win->_line[line + n].text,
++ to_copy);
++ if_USE_SCROLL_HINTS(win->_line[line].oldindex =
++ win->_line[line + n].oldindex);
+ }
+- for (line = top; line < limit; line++) {
++ for (line = top; line < limit && line <= win->_maxy; line++) {
+ TR(TRACE_MOVE, ("...filling %d", line));
+ for (j = 0; j <= win->_maxx; j++)
+ win->_line[line].text[j] = blank;
+@@ -105,25 +96,14 @@
+ /* shift n lines upwards */
+ if (n > 0) {
+ limit = bottom - n;
+- if (limit < 0)
+- limit = 0;
+- for (line = top; line <= limit; line++) {
+- if (line + n <= win->_maxy) {
+- TR(TRACE_MOVE, ("...copying %d to %d", line + n, line));
+- memcpy(win->_line[line].text,
+- win->_line[line + n].text,
+- to_copy);
+- if_USE_SCROLL_HINTS(win->_line[line].oldindex =
+- win->_line[line + n].oldindex);
+- } else {
+- TR(TRACE_MOVE, ("...filling %d", line));
+- for (j = 0; j <= win->_maxx; j++)
+- win->_line[line].text[j] = blank;
+- if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
+- }
++ for (line = top; line <= limit && line <= win->_maxy; line++) {
++ memcpy(win->_line[line].text,
++ win->_line[line + n].text,
++ to_copy);
++ if_USE_SCROLL_HINTS(win->_line[line].oldindex =
++ win->_line[line + n].oldindex);
+ }
+- for (line = bottom; line > limit; line--) {
+- TR(TRACE_MOVE, ("...filling %d", line));
++ for (line = bottom; line > limit && line >= 0; line--) {
+ for (j = 0; j <= win->_maxx; j++)
+ win->_line[line].text[j] = blank;
+ if_USE_SCROLL_HINTS(win->_line[line].oldindex = _NEWINDEX);
+@@ -142,11 +122,9 @@
+ returnCode(ERR);
+ }
+
+- if (n == 0)
+- returnCode(OK);
+-
+- _nc_scroll_window(win, n, win->_regtop, win->_regbottom, win->_nc_bkgd);
+-
+- _nc_synchook(win);
++ if (n != 0) {
++ _nc_scroll_window(win, n, win->_regtop, win->_regbottom, win->_nc_bkgd);
++ _nc_synchook(win);
++ }
+ returnCode(OK);
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_set_term.c ncurses-5.3.20030906.orig/ncurses/base/lib_set_term.c
+--- ncurses-5.3/ncurses/base/lib_set_term.c Sat Sep 14 17:48:00 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_set_term.c Fri Sep 12 16:41:56 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+ #include <term.h> /* cur_term */
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_set_term.c,v 1.71 2002/09/14 22:48:00 tom Exp $")
++MODULE_ID("$Id: lib_set_term.c,v 1.78 2003/08/09 20:41:12 tom Exp $")
+
+ NCURSES_EXPORT(SCREEN *)
+ set_term(SCREEN * screenp)
+@@ -61,7 +61,6 @@
+ stdscr = SP->_stdscr;
+ COLORS = SP->_color_count;
+ COLOR_PAIRS = SP->_pair_count;
+- memcpy(acs_map, SP->_acs_map, sizeof(SP->_acs_map[0]) * ACS_LEN);
+
+ T((T_RETURN("%p"), oldSP));
+ return (oldSP);
+@@ -84,6 +83,7 @@
+ delscreen(SCREEN * sp)
+ {
+ SCREEN **scan = &_nc_screen_chain;
++ int i;
+
+ T((T_CALLED("delscreen(%p)"), sp));
+
+@@ -100,8 +100,13 @@
+ (void) _nc_freewin(sp->_stdscr);
+
+ if (sp->_slk != 0) {
+- FreeIfNeeded(sp->_slk->ent);
+- FreeIfNeeded(sp->_slk->buffer);
++ if (sp->_slk->ent != 0) {
++ for (i = 0; i < sp->_slk->labcnt; ++i) {
++ FreeIfNeeded(sp->_slk->ent[i].ent_text);
++ FreeIfNeeded(sp->_slk->ent[i].form_text);
++ }
++ free(sp->_slk->ent);
++ }
+ free(sp->_slk);
+ sp->_slk = 0;
+ }
+@@ -204,7 +209,7 @@
+ #endif
+
+ NCURSES_EXPORT(int)
+-_nc_setupscreen(short slines, short const scolumns, FILE * output)
++_nc_setupscreen(short slines, short const scolumns, FILE *output)
+ /* OS-independent screen initializations */
+ {
+ int bottom_stolen = 0;
+@@ -377,8 +382,15 @@
+ _nc_init_acs();
+ #if USE_WIDEC_SUPPORT
+ _nc_init_wacs();
++
++ SP->_screen_acs_fix = (_nc_unicode_locale() && _nc_locale_breaks_acs());
++ {
++ char *env = _nc_get_locale();
++ SP->_posix_locale = ((env == 0)
++ || !strcmp(env, "C")
++ || !strcmp(env, "POSIX"));
++ }
+ #endif
+- memcpy(SP->_acs_map, acs_map, sizeof(chtype) * ACS_LEN);
+
+ _nc_idcok = TRUE;
+ _nc_idlok = FALSE;
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slk.c ncurses-5.3.20030906.orig/ncurses/base/lib_slk.c
+--- ncurses-5.3/ncurses/base/lib_slk.c Sat Sep 28 12:46:40 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_slk.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+ #include <ctype.h>
+ #include <term.h> /* num_labels, label_*, plab_norm */
+
+-MODULE_ID("$Id: lib_slk.c,v 1.24 2002/09/28 17:46:40 tom Exp $")
++MODULE_ID("$Id: lib_slk.c,v 1.28 2003/05/24 21:10:28 tom Exp $")
+
+ /*
+ * We'd like to move these into the screen context structure, but cannot,
+@@ -64,12 +64,26 @@
+ wmove(win, 0, 0);
+
+ for (i = 0; i < SP->_slk->maxlab; i++) {
+- mvwprintw(win, 0, SP->_slk->ent[i].x, "F%d", i + 1);
++ mvwprintw(win, 0, SP->_slk->ent[i].ent_x, "F%d", i + 1);
+ }
+ }
+ }
+
+ /*
++ * Free any memory related to soft labels, return an error.
++ */
++static int
++slk_failed(void)
++{
++ if (SP->_slk) {
++ FreeIfNeeded(SP->_slk->ent);
++ free(SP->_slk);
++ SP->_slk = (SLK *) 0;
++ }
++ return ERR;
++}
++
++/*
+ * Initialize soft labels.
+ * Called from newterm()
+ */
+@@ -78,19 +92,26 @@
+ {
+ int i, x;
+ int res = OK;
+- char *p;
+ unsigned max_length;
+
+- T(("slk_initialize()"));
++ T((T_CALLED("_nc_slk_initialize()")));
+
+ if (SP->_slk) { /* we did this already, so simply return */
+- return (OK);
++ returnCode(OK);
+ } else if ((SP->_slk = typeCalloc(SLK, 1)) == 0)
+- return (ERR);
++ returnCode(ERR);
+
+ SP->_slk->ent = NULL;
+- SP->_slk->buffer = NULL;
+- SP->_slk->attr = A_STANDOUT;
++
++ /*
++ * If we use colors, vidputs() will suppress video attributes that conflict
++ * with colors. In that case, we're still guaranteed that "reverse" would
++ * work.
++ */
++ if ((no_color_video & 1) == 0)
++ SP->_slk->attr = A_STANDOUT;
++ else
++ SP->_slk->attr = A_REVERSE;
+
+ SP->_slk->maxlab = ((num_labels > 0)
+ ? num_labels
+@@ -106,19 +127,19 @@
+ || SP->_slk->labcnt <= 0
+ || (SP->_slk->ent = typeCalloc(slk_ent,
+ (unsigned) SP->_slk->labcnt)) == NULL)
+- goto exception;
++ returnCode(slk_failed());
+
+ max_length = SP->_slk->maxlen;
+- p = SP->_slk->buffer = (char *) calloc((unsigned) (2 * SP->_slk->labcnt),
+- (1 + max_length));
+- if (SP->_slk->buffer == NULL)
+- goto exception;
+-
+ for (i = 0; i < SP->_slk->labcnt; i++) {
+- SP->_slk->ent[i].text = p;
+- p += (1 + max_length);
+- SP->_slk->ent[i].form_text = p;
+- p += (1 + max_length);
++
++ if ((SP->_slk->ent[i].ent_text = (char *)_nc_doalloc(0, max_length + 1)) == 0)
++ returnCode(slk_failed());
++ memset(SP->_slk->ent[i].ent_text, 0, max_length + 1);
++
++ if ((SP->_slk->ent[i].form_text = (char *)_nc_doalloc(0, max_length + 1)) == 0)
++ returnCode(slk_failed());
++ memset(SP->_slk->ent[i].form_text, 0, max_length + 1);
++
+ memset(SP->_slk->ent[i].form_text, ' ', max_length);
+ SP->_slk->ent[i].visible = (i < SP->_slk->maxlab);
+ }
+@@ -129,7 +150,7 @@
+ gap = 1;
+
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+- SP->_slk->ent[i].x = x;
++ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 3 || i == 7) ? gap : 1;
+ }
+@@ -141,7 +162,7 @@
+ if (gap < 1)
+ gap = 1;
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+- SP->_slk->ent[i].x = x;
++ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 3) ? gap : 1;
+ }
+@@ -153,24 +174,17 @@
+ if (gap < 1)
+ gap = 1;
+ for (i = x = 0; i < SP->_slk->maxlab; i++) {
+- SP->_slk->ent[i].x = x;
++ SP->_slk->ent[i].ent_x = x;
+ x += max_length;
+ x += (i == 2 || i == 4) ? gap : 1;
+ }
+ } else
+- goto exception;
++ returnCode(slk_failed());
+ }
+ }
+ SP->_slk->dirty = TRUE;
+ if ((SP->_slk->win = stwin) == NULL) {
+- exception:
+- if (SP->_slk) {
+- FreeIfNeeded(SP->_slk->buffer);
+- FreeIfNeeded(SP->_slk->ent);
+- free(SP->_slk);
+- SP->_slk = (SLK *) 0;
+- res = (ERR);
+- }
++ returnCode(slk_failed());
+ }
+
+ /* We now reset the format so that the next newterm has again
+@@ -179,7 +193,7 @@
+ */
+ SP->slk_format = _nc_slk_format;
+ _nc_slk_format = 0;
+- return (res);
++ returnCode(res);
+ }
+
+ /*
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slklab.c ncurses-5.3.20030906.orig/ncurses/base/lib_slklab.c
+--- ncurses-5.3/ncurses/base/lib_slklab.c Sat Dec 9 20:43:27 2000
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_slklab.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -38,7 +38,7 @@
+ */
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_slklab.c,v 1.6 2000/12/10 02:43:27 tom Exp $")
++MODULE_ID("$Id: lib_slklab.c,v 1.7 2003/03/29 22:53:48 tom Exp $")
+
+ NCURSES_EXPORT(char *)
+ slk_label(int n)
+@@ -47,5 +47,5 @@
+
+ if (SP == NULL || SP->_slk == NULL || n < 1 || n > SP->_slk->labcnt)
+ returnPtr(0);
+- returnPtr(SP->_slk->ent[n - 1].text);
++ returnPtr(SP->_slk->ent[n - 1].ent_text);
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slkrefr.c ncurses-5.3.20030906.orig/ncurses/base/lib_slkrefr.c
+--- ncurses-5.3/ncurses/base/lib_slkrefr.c Sat Dec 9 20:43:27 2000
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_slkrefr.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -38,7 +38,7 @@
+ #include <curses.priv.h>
+ #include <term.h> /* num_labels, label_*, plab_norm */
+
+-MODULE_ID("$Id: lib_slkrefr.c,v 1.10 2000/12/10 02:43:27 tom Exp $")
++MODULE_ID("$Id: lib_slkrefr.c,v 1.11 2003/03/29 22:53:48 tom Exp $")
+
+ /*
+ * Write the soft labels to the soft-key window.
+@@ -58,7 +58,7 @@
+ putp(tparm(plab_norm, i + 1, slk->ent[i].form_text));
+ }
+ } else {
+- wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].x);
++ wmove(slk->win, SLK_LINES(fmt) - 1, slk->ent[i].ent_x);
+ if (SP && SP->_slk)
+ wattrset(slk->win, SP->_slk->attr);
+ waddnstr(slk->win, slk->ent[i].form_text,
+diff -urNd -urNd ncurses-5.3/ncurses/base/lib_slkset.c ncurses-5.3.20030906.orig/ncurses/base/lib_slkset.c
+--- ncurses-5.3/ncurses/base/lib_slkset.c Sat Jun 2 17:50:29 2001
++++ ncurses-5.3.20030906.orig/ncurses/base/lib_slkset.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -38,13 +38,14 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_slkset.c,v 1.7 2001/06/02 22:50:29 skimo Exp $")
++MODULE_ID("$Id: lib_slkset.c,v 1.10 2003/04/12 21:32:16 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ slk_set(int i, const char *astr, int format)
+ {
+ SLK *slk = SP->_slk;
+ size_t len;
++ int offset;
+ const char *str = astr;
+ const char *p;
+
+@@ -64,33 +65,30 @@
+ --i; /* Adjust numbering of labels */
+
+ len = (size_t) (p - str);
+- if (len > (unsigned) slk->maxlen)
++ if (len > (size_t) slk->maxlen)
+ len = slk->maxlen;
+ if (len == 0)
+- slk->ent[i].text[0] = 0;
++ slk->ent[i].ent_text[0] = 0;
+ else
+- (void) strncpy(slk->ent[i].text, str, len);
++ strncpy(slk->ent[i].ent_text, str, len)[len] = 0;
+ memset(slk->ent[i].form_text, ' ', (unsigned) slk->maxlen);
+- slk->ent[i].text[slk->maxlen] = 0;
+- /* len = strlen(slk->ent[i].text); */
++ slk->ent[i].ent_text[slk->maxlen] = 0;
+
+ switch (format) {
++ default:
+ case 0: /* left-justified */
+- memcpy(slk->ent[i].form_text,
+- slk->ent[i].text,
+- len);
++ offset = 0;
+ break;
+ case 1: /* centered */
+- memcpy(slk->ent[i].form_text + (slk->maxlen - len) / 2,
+- slk->ent[i].text,
+- len);
++ offset = (slk->maxlen - len) / 2;
+ break;
+ case 2: /* right-justified */
+- memcpy(slk->ent[i].form_text + slk->maxlen - len,
+- slk->ent[i].text,
+- len);
++ offset = slk->maxlen - len;
+ break;
+ }
++ memcpy(slk->ent[i].form_text + offset,
++ slk->ent[i].ent_text,
++ len);
+ slk->ent[i].form_text[slk->maxlen] = 0;
+ slk->ent[i].dirty = TRUE;
+ returnCode(OK);
+diff -urNd -urNd ncurses-5.3/ncurses/base/resizeterm.c ncurses-5.3.20030906.orig/ncurses/base/resizeterm.c
+--- ncurses-5.3/ncurses/base/resizeterm.c Sat Jul 13 16:32:57 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/resizeterm.c Tue May 13 20:08:22 2003
+@@ -41,10 +41,13 @@
+ #include <curses.priv.h>
+ #include <term.h>
+
+-MODULE_ID("$Id: resizeterm.c,v 1.14 2002/07/13 21:32:57 tom Exp $")
++MODULE_ID("$Id: resizeterm.c,v 1.15 2002/12/28 01:21:34 tom Exp $")
+
+ #define stolen_lines (screen_lines - SP->_lines_avail)
+
++static int current_lines;
++static int current_cols;
++
+ NCURSES_EXPORT(bool)
+ is_term_resized(int ToLines, int ToCols)
+ {
+@@ -99,7 +102,7 @@
+ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen)
+ {
+ int result;
+- int bottom = screen_lines + SP->_topstolen - stolen;
++ int bottom = current_lines + SP->_topstolen - stolen;
+ int myLines = win->_maxy + 1;
+ int myCols = win->_maxx + 1;
+
+@@ -109,13 +112,13 @@
+ getbegy(win), getbegx(win)));
+
+ if (win->_begy >= bottom) {
+- win->_begy += (ToLines - screen_lines);
++ win->_begy += (ToLines - current_lines);
+ } else {
+- if (myLines == screen_lines - stolen
+- && ToLines != screen_lines)
++ if (myLines == current_lines - stolen
++ && ToLines != current_lines)
+ myLines = ToLines - stolen;
+- else if (myLines == screen_lines
+- && ToLines != screen_lines)
++ else if (myLines == current_lines
++ && ToLines != current_lines)
+ myLines = ToLines;
+ }
+
+@@ -125,12 +128,12 @@
+ if (myCols > ToCols)
+ myCols = ToCols;
+
+- if (myLines == screen_lines
+- && ToLines != screen_lines)
+- myCols = ToLines;
++ if (myLines == current_lines
++ && ToLines != current_lines)
++ myLines = ToLines;
+
+- if (myCols == screen_columns
+- && ToCols != screen_columns)
++ if (myCols == current_cols
++ && ToCols != current_cols)
+ myCols = ToCols;
+
+ result = wresize(win, myLines, myCols);
+@@ -216,15 +219,19 @@
+ screen_lines, screen_columns));
+
+ if (is_term_resized(ToLines, ToCols)) {
+- int myLines = screen_lines;
+- int myCols = screen_columns;
++ int myLines = current_lines = screen_lines;
++ int myCols = current_cols = screen_columns;
+
+ if (ToLines > screen_lines) {
+ increase_size(myLines = ToLines, myCols, was_stolen);
++ current_lines = myLines;
++ current_cols = myCols;
+ }
+
+ if (ToCols > screen_columns) {
+ increase_size(myLines, myCols = ToCols, was_stolen);
++ current_lines = myLines;
++ current_cols = myCols;
+ }
+
+ if (ToLines < myLines ||
+diff -urNd -urNd ncurses-5.3/ncurses/base/safe_sprintf.c ncurses-5.3.20030906.orig/ncurses/base/safe_sprintf.c
+--- ncurses-5.3/ncurses/base/safe_sprintf.c Sat Jul 7 19:58:34 2001
++++ ncurses-5.3.20030906.orig/ncurses/base/safe_sprintf.c Fri Sep 12 16:41:56 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -33,7 +33,7 @@
+ #include <curses.priv.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: safe_sprintf.c,v 1.14 2001/07/08 00:58:34 tom Exp $")
++MODULE_ID("$Id: safe_sprintf.c,v 1.18 2003/08/09 21:52:04 tom Exp $")
+
+ #if USE_SAFE_SPRINTF
+
+@@ -56,10 +56,13 @@
+ char *buffer;
+ char *format;
+ int len = 0;
++ size_t fmt_len;
++ char fmt_arg[BUFSIZ];
+
+ if (fmt == 0 || *fmt == '\0')
+- return -1;
+- if ((format = typeMalloc(char, strlen(fmt) + 1)) == 0)
++ return 0;
++ fmt_len = strlen(fmt) + 1;
++ if ((format = typeMalloc(char, fmt_len)) == 0)
+ return -1;
+ if ((buffer = typeMalloc(char, length)) == 0) {
+ free(format);
+@@ -106,7 +109,12 @@
+ } else if (state == Prec) {
+ prec = ival;
+ }
+- sprintf(&format[--f], "%d", ival);
++ sprintf(fmt_arg, "%d", ival);
++ fmt_len += strlen(fmt_arg);
++ if ((format = realloc(format, fmt_len)) == 0) {
++ return -1;
++ }
++ strcpy(&format[--f], fmt_arg);
+ f = strlen(format);
+ } else if (isalpha(UChar(*fmt))) {
+ done = TRUE;
+@@ -203,42 +211,52 @@
+ * Wrapper for vsprintf that allocates a buffer big enough to hold the result.
+ */
+ NCURSES_EXPORT(char *)
+-_nc_printf_string
+-(const char *fmt, va_list ap)
++_nc_printf_string(const char *fmt, va_list ap)
+ {
++ static char *buf;
++ static size_t used;
++ char *result = 0;
++
++ if (fmt != 0) {
+ #if USE_SAFE_SPRINTF
+- char *buf = 0;
+- int len = _nc_printf_length(fmt, ap);
++ int len = _nc_printf_length(fmt, ap);
+
+- if (len > 0) {
+- if ((buf = typeMalloc(char, len + 1)) == 0)
+- return (0);
+- vsprintf(buf, fmt, ap);
+- }
++ if ((int) used < len + 1) {
++ used = 2 * (len + 1);
++ buf = typeRealloc(char, used, buf);
++ }
++ if (buf != 0) {
++ *buf = '\0';
++ if (len >= 0) {
++ vsprintf(buf, fmt, ap);
++ }
++ result = buf;
++ }
+ #else
+- static int rows, cols;
+- static char *buf;
+- static size_t len;
++ static int rows, cols;
+
+- if (screen_lines > rows || screen_columns > cols) {
+- if (screen_lines > rows)
+- rows = screen_lines;
+- if (screen_columns > cols)
+- cols = screen_columns;
+- len = (rows * (cols + 1)) + 1;
+- buf = typeRealloc(char, len, buf);
+- if (buf == 0) {
+- return (0);
++ if (screen_lines > rows || screen_columns > cols) {
++ if (screen_lines > rows)
++ rows = screen_lines;
++ if (screen_columns > cols)
++ cols = screen_columns;
++ used = (rows * (cols + 1)) + 1;
++ buf = typeRealloc(char, used, buf);
+ }
+- }
+
+- if (buf != 0) {
++ if (buf != 0) {
+ # if HAVE_VSNPRINTF
+- vsnprintf(buf, len, fmt, ap); /* GNU extension */
++ vsnprintf(buf, used, fmt, ap); /* GNU extension */
+ # else
+- vsprintf(buf, fmt, ap); /* ANSI */
++ vsprintf(buf, fmt, ap); /* ANSI */
+ # endif
+- }
++ result = buf;
++ }
+ #endif
+- return buf;
++ } else if (buf != 0) { /* see _nc_freeall() */
++ free(buf);
++ buf = 0;
++ used = 0;
++ }
++ return result;
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/tries.c ncurses-5.3.20030906.orig/ncurses/base/tries.c
+--- ncurses-5.3/ncurses/base/tries.c Sat Dec 15 18:50:40 2001
++++ ncurses-5.3.20030906.orig/ncurses/base/tries.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,15 +39,14 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: tries.c,v 1.15 2001/12/16 00:50:40 tom Exp $")
++MODULE_ID("$Id: tries.c,v 1.19 2003/05/17 23:11:24 tom Exp $")
+
+ /*
+ * Expand a keycode into the string that it corresponds to, returning null if
+ * no match was found, otherwise allocating a string of the result.
+ */
+ NCURSES_EXPORT(char *)
+-_nc_expand_try
+-(struct tries *tree, unsigned short code, int *count, size_t len)
++_nc_expand_try(struct tries *tree, unsigned short code, int *count, size_t len)
+ {
+ struct tries *ptr = tree;
+ char *result = 0;
+@@ -84,8 +83,7 @@
+ * true if the code was found/removed.
+ */
+ NCURSES_EXPORT(int)
+-_nc_remove_key
+-(struct tries **tree, unsigned short code)
++_nc_remove_key(struct tries **tree, unsigned short code)
+ {
+ T((T_CALLED("_nc_remove_key(%p,%d)"), tree, code));
+
+@@ -117,7 +115,7 @@
+ * true if the string was found/removed.
+ */
+ NCURSES_EXPORT(int)
+-_nc_remove_string(struct tries **tree, char *string)
++_nc_remove_string(struct tries **tree, const char *string)
+ {
+ T((T_CALLED("_nc_remove_string(%p,%s)"), tree, _nc_visbuf(string)));
+
+@@ -125,18 +123,17 @@
+ returnCode(FALSE);
+
+ while (*tree != 0) {
+- if ((unsigned char) (*tree)->ch == (unsigned char) *string) {
++ if (UChar((*tree)->ch) == UChar(*string)) {
+ if (string[1] != 0)
+ returnCode(_nc_remove_string(&(*tree)->child, string + 1));
+- if ((*tree)->child) {
+- /* don't cut the whole sub-tree */
+- (*tree)->value = 0;
+- } else {
++ if ((*tree)->child == 0) {
+ struct tries *to_free = *tree;
+ *tree = (*tree)->sibling;
+ free(to_free);
++ returnCode(TRUE);
++ } else {
++ returnCode(FALSE);
+ }
+- returnCode(TRUE);
+ }
+ tree = &(*tree)->sibling;
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/base/vsscanf.c ncurses-5.3.20030906.orig/ncurses/base/vsscanf.c
+--- ncurses-5.3/ncurses/base/vsscanf.c Sat Sep 7 12:27:56 2002
++++ ncurses-5.3.20030906.orig/ncurses/base/vsscanf.c Sun Jul 20 14:02:08 2003
+@@ -38,7 +38,7 @@
+
+ #if !HAVE_VSSCANF
+
+-MODULE_ID("$Id: vsscanf.c,v 1.16 2002/09/07 17:27:56 tom Exp $")
++MODULE_ID("$Id: vsscanf.c,v 1.17 2003/05/24 21:10:28 tom Exp $")
+
+ #if !(HAVE_VFSCANF || HAVE__DOSCAN)
+
+@@ -230,7 +230,7 @@
+ /* find a chunk */
+ state = sUnknown;
+ chunk = cUnknown;
+- other = cUnknown;
++ other = oUnknown;
+ pointer = 0;
+ for (n = 0; format[n] != 0 && state != sFinal; ++n) {
+ my_fmt[n] = format[n];
+diff -urNd -urNd ncurses-5.3/ncurses/curses.priv.h ncurses-5.3.20030906.orig/ncurses/curses.priv.h
+--- ncurses-5.3/ncurses/curses.priv.h Sat Oct 12 10:49:10 2002
++++ ncurses-5.3.20030906.orig/ncurses/curses.priv.h Fri Sep 12 16:42:24 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+
+ /*
+- * $Id: curses.priv.h,v 1.228 2002/10/12 15:49:10 tom Exp $
++ * $Id: curses.priv.h,v 1.252 2003/08/23 21:38:49 tom Exp $
+ *
+ * curses.priv.h
+ *
+@@ -130,7 +130,9 @@
+
+ /* EMX mouse support */
+ #ifdef __EMX__
+-#define USE_EMX_MOUSE
++#define USE_EMX_MOUSE 1
++#else
++#define USE_EMX_MOUSE 0
+ #endif
+
+ #define DEFAULT_MAXCLICK 166
+@@ -259,21 +261,32 @@
+
+ struct ldat
+ {
+- NCURSES_CH_T *text; /* text of the line */
+- NCURSES_SIZE_T firstchar; /* first changed character in the line */
+- NCURSES_SIZE_T lastchar; /* last changed character in the line */
+- NCURSES_SIZE_T oldindex; /* index of the line at last update */
++ NCURSES_CH_T *text; /* text of the line */
++ NCURSES_SIZE_T firstchar; /* first changed character in the line */
++ NCURSES_SIZE_T lastchar; /* last changed character in the line */
++ NCURSES_SIZE_T oldindex; /* index of the line at last update */
+ };
+
++typedef enum {
++ M_XTERM = -1 /* use xterm's mouse tracking? */
++ ,M_NONE = 0 /* no mouse device */
++#if USE_GPM_SUPPORT
++ ,M_GPM /* use GPM */
++#endif
++#if USE_SYSMOUSE
++ ,M_SYSMOUSE /* FreeBSD sysmouse on console */
++#endif
++} MouseType;
++
+ /*
+ * Structure for soft labels.
+ */
+
+ typedef struct
+ {
+- char *text; /* text for the label */
++ char *ent_text; /* text for the label */
+ char *form_text; /* formatted text (left/center/...) */
+- int x; /* x coordinate of this field */
++ int ent_x; /* x coordinate of this field */
+ char dirty; /* this label has changed */
+ char visible; /* field is visible */
+ } slk_ent;
+@@ -283,11 +296,10 @@
+ char hidden; /* soft labels are hidden */
+ WINDOW *win;
+ slk_ent *ent;
+- char* buffer; /* buffer for labels */
+- short maxlab; /* number of available labels */
+- short labcnt; /* number of allocated labels */
+- short maxlen; /* length of labels */
+- chtype attr; /* soft label attribute */
++ short maxlab; /* number of available labels */
++ short labcnt; /* number of allocated labels */
++ short maxlen; /* length of labels */
++ chtype attr; /* soft label attribute */
+ } SLK;
+
+ typedef struct {
+@@ -308,7 +320,7 @@
+ char *_setbuf; /* buffered I/O for output */
+ int _buffered; /* setvbuf uses _setbuf data */
+ int _checkfd; /* filedesc for typeahead check */
+- struct term *_term; /* terminal type information */
++ TERMINAL *_term; /* terminal type information */
+ short _lines; /* screen lines */
+ short _columns; /* screen columns */
+
+@@ -326,6 +338,7 @@
+ bool _tried; /* keypad mode was initialized */
+ bool _keypad_on; /* keypad mode is currently on */
+
++ bool _called_wgetch; /* check for recursion in wgetch() */
+ int _fifo[FIFO_SIZE]; /* input push-back buffer */
+ short _fifohead, /* head of fifo queue */
+ _fifotail, /* tail of fifo queue */
+@@ -339,6 +352,7 @@
+ int _cursor; /* visibility of the cursor */
+ int _cursrow; /* physical cursor row */
+ int _curscol; /* physical cursor column */
++ bool _notty; /* true if we cannot switch non-tty */
+ int _nl; /* True if NL -> CR/NL is on */
+ int _raw; /* True if in raw mode */
+ int _cbreak; /* 1 if in cbreak mode */
+@@ -405,7 +419,7 @@
+ #endif
+ chtype _xmc_suppress; /* attributes to suppress if xmc */
+ chtype _xmc_triggers; /* attributes to process if xmc */
+- chtype _acs_map[ACS_LEN];
++ chtype _acs_map[ACS_LEN]; /* the real alternate-charset map */
+
+ /* used in lib_vidattr.c */
+ bool _use_rmso; /* true if we may use 'rmso' */
+@@ -426,6 +440,7 @@
+ /*
+ * These are the data that support the mouse interface.
+ */
++ MouseType _mouse_type;
+ int _maxclick;
+ bool (*_mouse_event) (SCREEN *);
+ bool (*_mouse_inline)(SCREEN *);
+@@ -433,6 +448,16 @@
+ void (*_mouse_resume)(SCREEN *);
+ void (*_mouse_wrap) (SCREEN *);
+ int _mouse_fd; /* file-descriptor, if any */
++ NCURSES_CONST char *_mouse_xtermcap; /* string to enable/disable mouse */
++#if USE_SYSMOUSE
++ MEVENT _sysmouse_fifo[FIFO_SIZE];
++ int _sysmouse_head;
++ int _sysmouse_tail;
++ int _sysmouse_char_width; /* character width */
++ int _sysmouse_char_height; /* character height */
++ int _sysmouse_old_buttons;
++ int _sysmouse_new_buttons;
++#endif
+
+ /*
+ * This supports automatic resizing
+@@ -461,6 +486,14 @@
+ HASHMAP *hashtab;
+ int hashtab_len;
+
++ /* recent versions of 'screen' have partially-working support for
++ * UTF-8, but do not permit ACS at the same time (see tty_update.c).
++ */
++#if USE_WIDEC_SUPPORT
++ bool _posix_locale;
++ bool _screen_acs_fix;
++#endif
++
+ bool _cleanup; /* cleanup after int/quit signal */
+ int (*_outch)(int); /* output handler if not putc */
+ };
+@@ -471,21 +504,19 @@
+ #include <nomacros.h>
+ #endif
+
+-/*
+- * The margins are used in resizeterm() to retain the original layout after
+- * resizing.
+- */
+ WINDOWLIST {
++ WINDOW win; /* first, so WINDOW_EXT() works */
+ WINDOWLIST *next;
+-#if HAVE_RESIZETERM
+- int l_margin;
+- int r_margin;
+- int t_margin;
+- int b_margin;
++#ifdef _XOPEN_SOURCE_EXTENDED
++ char addch_work[(MB_LEN_MAX * 9) + 1];
++ int addch_used;
++ int addch_x;
++ int addch_y;
+ #endif
+- WINDOW win;
+ };
+
++#define WINDOW_EXT(win,field) (((WINDOWLIST *)(win))->field)
++
+ /* The terminfo source is assumed to be 7-bit ASCII */
+ #define is7bits(c) ((unsigned)(c) < 128)
+
+@@ -539,18 +570,29 @@
+ #define O_BINARY 0
+ #endif
+
++#ifdef TRACE
++#define TRACE_OUTCHARS(n) _nc_outchars += (n);
++#else
++#define TRACE_OUTCHARS(n) /* nothing */
++#endif
++
+ #define UChar(c) ((unsigned char)(c))
+ #define ChCharOf(c) ((c) & (chtype)A_CHARTEXT)
+ #define ChAttrOf(c) ((c) & (chtype)A_ATTRIBUTES)
+
++#ifndef MB_LEN_MAX
++#define MB_LEN_MAX 8 /* should be >= MB_CUR_MAX, but that may be a function */
++#endif
++
+ #if USE_WIDEC_SUPPORT /* { */
++#define NulChar 0,0,0,0 /* FIXME: see CCHARW_MAX */
+ #define CharOf(c) ((c).chars[0])
+ #define AttrOf(c) ((c).attr)
+ #define AddAttr(c,a) (c).attr |= a
+ #define RemAttr(c,a) (c).attr &= ~(a)
+ #define SetAttr(c,a) (c).attr = a
+-#define NewChar(ch) { ChAttrOf(ch), { ChCharOf(ch) } }
+-#define NewChar2(c,a) { a, { c } }
++#define NewChar(ch) { ChAttrOf(ch), { ChCharOf(ch), NulChar } }
++#define NewChar2(c,a) { a, { c, NulChar } }
+ #define CharEq(a,b) (!memcmp(&a, &b, sizeof(a)))
+ #define SetChar(ch,c,a) do { \
+ NCURSES_CH_T *_cp = &ch; \
+@@ -562,9 +604,14 @@
+ #define CARG_CH_T const NCURSES_CH_T *
+ #define PUTC_DATA char PUTC_buf[MB_LEN_MAX]; int PUTC_i, PUTC_n; \
+ mbstate_t PUT_st; wchar_t PUTC_ch
++#define PUTC_INIT memset (&PUT_st, '\0', sizeof (PUT_st)); \
++ PUTC_i = 0
+ #define PUTC(ch,b) do { if(!isnac(ch)) { \
+- memset (&PUT_st, '\0', sizeof (PUT_st)); \
+- PUTC_i = 0; \
++ if (Charable(ch)) { \
++ fputc(CharOf(ch), b); \
++ TRACE_OUTCHARS(1); \
++ } else { \
++ PUTC_INIT; \
+ do { \
+ PUTC_ch = PUTC_i < CCHARW_MAX ? \
+ (ch).chars[PUTC_i] : L'\0'; \
+@@ -577,7 +624,8 @@
+ fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b); \
+ ++PUTC_i; \
+ } while (PUTC_ch != L'\0'); \
+- } } while (0)
++ TRACE_OUTCHARS(PUTC_i); \
++ } } } while (0)
+
+ #define BLANK { WA_NORMAL, ' ' }
+ #define ISBLANK(ch) ((ch).chars[0] == L' ' && (ch).chars[1] == L'\0')
+@@ -585,9 +633,10 @@
+ #define WA_NAC 1
+ #define isnac(ch) (AttrOf(ch) & WA_NAC)
+ #define if_WIDEC(code) code
+-#define Charable(ch) (!isnac(ch) && \
+- (ch).chars[1] == L'\0' && \
+- (wctob(CharOf(ch)) == (char)CharOf(ch)))
++#define Charable(ch) ((SP != 0 && SP->_posix_locale) \
++ || (!isnac(ch) && \
++ (ch).chars[1] == L'\0' && \
++ _nc_is_charable(CharOf(ch))))
+
+ #define L(ch) L ## ch
+ #else /* }{ */
+@@ -743,7 +792,7 @@
+
+ #define ALL_BUT_COLOR ((chtype)~(A_COLOR))
+ #define IGNORE_COLOR_OFF FALSE
+-#define NONBLANK_ATTR (A_BOLD|A_DIM|A_BLINK)
++#define NONBLANK_ATTR (A_NORMAL|A_BOLD|A_DIM|A_BLINK)
+ #define XMC_CHANGES(c) ((c) & SP->_xmc_suppress)
+
+ #define toggle_attr_on(S,at) {\
+@@ -781,7 +830,7 @@
+ : ((enter_insert_mode && exit_insert_mode) \
+ ? SP->_smir_cost + SP->_rmir_cost + (SP->_ip_cost * count) \
+ : ((insert_character != 0) \
+- ? (SP->_ich1_cost * count) \
++ ? ((SP->_ich1_cost + SP->_ip_cost) * count) \
+ : INFINITY)))
+
+ #if USE_XMC_SUPPORT
+@@ -847,6 +896,13 @@
+ #define getcwd(buf,len) getwd(buf)
+ #endif
+
++/* charable.c */
++#if USE_WIDEC_SUPPORT
++extern NCURSES_EXPORT(bool) _nc_is_charable(wchar_t);
++extern NCURSES_EXPORT(int) _nc_to_char(wint_t);
++extern NCURSES_EXPORT(wint_t) _nc_to_widechar(int);
++#endif
++
+ /* doupdate.c */
+ #if USE_XMC_SUPPORT
+ extern NCURSES_EXPORT(void) _nc_do_xmc_glitch (attr_t);
+@@ -872,6 +928,9 @@
+ /* lib_getch.c */
+ extern NCURSES_EXPORT(int) _nc_wgetch(WINDOW *, unsigned long *, int EVENTLIST_2nd(_nc_eventlist *));
+
++/* lib_insch.c */
++extern NCURSES_EXPORT(void) _nc_insert_ch(WINDOW *, chtype);
++
+ /* lib_mvcur.c */
+ #define INFINITY 1000000 /* cost: too high to use */
+
+@@ -890,6 +949,12 @@
+
+ /* lib_mvcur.c */
+ #define INFINITY 1000000 /* cost: too high to use */
++#define BAUDBYTE 9 /* 9 = 7 bits + 1 parity + 1 stop */
++
++/* lib_setup.c */
++extern NCURSES_EXPORT(char *) _nc_get_locale(void);
++extern NCURSES_EXPORT(int) _nc_unicode_locale(void);
++extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(void);
+
+ /* lib_wacs.c */
+ #if USE_WIDEC_SUPPORT
+@@ -897,9 +962,10 @@
+ #endif
+
+ typedef struct {
+- char *s_head;
+- char *s_tail;
+- size_t s_size;
++ char *s_head; /* beginning of the string (may be null) */
++ char *s_tail; /* end of the string (may be null) */
++ size_t s_size; /* current remaining size available */
++ size_t s_init; /* total size available */
+ } string_desc;
+
+ /* strings.c */
+@@ -931,14 +997,15 @@
+ extern NCURSES_EXPORT(void) _nc_add_to_try (struct tries **, const char *, unsigned short);
+ extern NCURSES_EXPORT(char *) _nc_expand_try (struct tries *, unsigned short, int *, size_t);
+ extern NCURSES_EXPORT(int) _nc_remove_key (struct tries **, unsigned short);
+-extern NCURSES_EXPORT(int) _nc_remove_string (struct tries **, char *);
++extern NCURSES_EXPORT(int) _nc_remove_string (struct tries **, const char *);
+
+ /* elsewhere ... */
++extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
+ extern NCURSES_EXPORT(WINDOW *) _nc_makenew (int, int, int, int, int);
+ extern NCURSES_EXPORT(char *) _nc_home_terminfo (void);
+ extern NCURSES_EXPORT(char *) _nc_trace_buf (int, size_t);
+-extern NCURSES_EXPORT(NCURSES_CH_T) _nc_render (WINDOW *, NCURSES_CH_T);
+-extern NCURSES_EXPORT(int) _nc_access (const char *, int);
++extern NCURSES_EXPORT(char *) _nc_trace_bufcat (int, const char *);
++extern NCURSES_EXPORT(int) _nc_access (const char *, int);
+ extern NCURSES_EXPORT(int) _nc_baudrate (int);
+ extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
+ extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
+diff -urNd -urNd ncurses-5.3/ncurses/llib-lncurses ncurses-5.3.20030906.orig/ncurses/llib-lncurses
+--- ncurses-5.3/ncurses/llib-lncurses Sat Aug 31 16:34:07 2002
++++ ncurses-5.3.20030906.orig/ncurses/llib-lncurses Fri Sep 12 16:42:59 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas E. Dickey 1996-2001,2002 *
++ * Author: Thomas E. Dickey 1996-2002,2003 *
+ ****************************************************************************/
+ /* LINTLIBRARY */
+
+@@ -59,8 +59,8 @@
+
+ #undef _nc_scroll_oldhash
+ void _nc_scroll_oldhash(
+- int n,
+- int top,
++ int n,
++ int top,
+ int bot)
+ { /* void */ }
+
+@@ -70,25 +70,25 @@
+
+ #undef _nc_render
+ chtype _nc_render(
+- WINDOW *win,
++ WINDOW *win,
+ chtype ch)
+ { return(*(chtype *)0); }
+
+ #undef _nc_waddch_nosync
+ int _nc_waddch_nosync(
+- WINDOW *win,
++ WINDOW *win,
+ const chtype c)
+ { return(*(int *)0); }
+
+ #undef waddch
+ int waddch(
+- WINDOW *win,
++ WINDOW *win,
+ const chtype ch)
+ { return(*(int *)0); }
+
+ #undef wechochar
+ int wechochar(
+- WINDOW *win,
++ WINDOW *win,
+ const chtype ch)
+ { return(*(int *)0); }
+
+@@ -96,15 +96,15 @@
+
+ #undef waddnstr
+ int waddnstr(
+- WINDOW *win,
+- const char *astr,
++ WINDOW *win,
++ const char *astr,
+ int n)
+ { return(*(int *)0); }
+
+ #undef waddchnstr
+ int waddchnstr(
+- WINDOW *win,
+- const chtype *astr,
++ WINDOW *win,
++ const chtype *astr,
+ int n)
+ { return(*(int *)0); }
+
+@@ -118,13 +118,13 @@
+
+ #undef wbkgdset
+ void wbkgdset(
+- WINDOW *win,
++ WINDOW *win,
+ chtype ch)
+ { /* void */ }
+
+ #undef wbkgd
+ int wbkgd(
+- WINDOW *win,
++ WINDOW *win,
+ chtype ch)
+ { return(*(int *)0); }
+
+@@ -132,14 +132,14 @@
+
+ #undef wborder
+ int wborder(
+- WINDOW *win,
+- chtype ls,
+- chtype rs,
+- chtype ts,
+- chtype bs,
+- chtype tl,
+- chtype tr,
+- chtype bl,
++ WINDOW *win,
++ chtype ls,
++ chtype rs,
++ chtype ts,
++ chtype bs,
++ chtype tl,
++ chtype tr,
++ chtype bl,
+ chtype br)
+ { return(*(int *)0); }
+
+@@ -147,10 +147,10 @@
+
+ #undef wchgat
+ int wchgat(
+- WINDOW *win,
+- int n,
+- attr_t attr,
+- short color,
++ WINDOW *win,
++ int n,
++ attr_t attr,
++ short color,
+ const void *opts)
+ { return(*(int *)0); }
+
+@@ -165,7 +165,7 @@
+
+ #undef clearok
+ int clearok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -192,22 +192,26 @@
+ #undef COLORS
+ int COLORS;
+
++#undef _nc_reset_colors
++NCURSES_BOOL _nc_reset_colors(void)
++ { return(*(NCURSES_BOOL *)0); }
++
+ #undef start_color
+ int start_color(void)
+ { return(*(int *)0); }
+
+ #undef init_pair
+ int init_pair(
+- short pair,
+- short f,
++ short pair,
++ short f,
+ short b)
+ { return(*(int *)0); }
+
+ #undef init_color
+ int init_color(
+- short color,
+- short r,
+- short g,
++ short color,
++ short r,
++ short g,
+ short b)
+ { return(*(int *)0); }
+
+@@ -221,24 +225,24 @@
+
+ #undef color_content
+ int color_content(
+- short color,
+- short *r,
+- short *g,
++ short color,
++ short *r,
++ short *g,
+ short *b)
+ { return(*(int *)0); }
+
+ #undef pair_content
+ int pair_content(
+- short pair,
+- short *f,
++ short pair,
++ short *f,
+ short *b)
+ { return(*(int *)0); }
+
+ #undef _nc_do_color
+ void _nc_do_color(
+- int old_pair,
+- int pair,
+- NCURSES_BOOL reverse,
++ int old_pair,
++ int pair,
++ NCURSES_BOOL reverse,
+ int (*outc)(
+ int p1))
+ { /* void */ }
+@@ -247,8 +251,8 @@
+
+ #undef wcolor_set
+ int wcolor_set(
+- WINDOW *win,
+- short color_pair_number,
++ WINDOW *win,
++ short color_pair_number,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -304,7 +308,7 @@
+
+ #undef addchnstr
+ int addchnstr(
+- const chtype *a1,
++ const chtype *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -315,7 +319,7 @@
+
+ #undef addnstr
+ int addnstr(
+- const char *a1,
++ const char *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -341,27 +345,27 @@
+
+ #undef attr_get
+ int attr_get(
+- attr_t *a1,
+- short *a2,
++ attr_t *a1,
++ short *a2,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef attr_off
+ int attr_off(
+- attr_t a1,
++ attr_t a1,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef attr_on
+ int attr_on(
+- attr_t a1,
++ attr_t a1,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef attr_set
+ int attr_set(
+- attr_t a1,
+- short a2,
++ attr_t a1,
++ short a2,
+ void *z)
+ { return(*(int *)0); }
+
+@@ -377,28 +381,28 @@
+
+ #undef border
+ int border(
+- chtype a1,
+- chtype a2,
+- chtype a3,
+- chtype a4,
+- chtype a5,
+- chtype a6,
+- chtype a7,
++ chtype a1,
++ chtype a2,
++ chtype a3,
++ chtype a4,
++ chtype a5,
++ chtype a6,
++ chtype a7,
+ chtype z)
+ { return(*(int *)0); }
+
+ #undef box
+ int box(
+- WINDOW *a1,
+- chtype a2,
++ WINDOW *a1,
++ chtype a2,
+ chtype z)
+ { return(*(int *)0); }
+
+ #undef chgat
+ int chgat(
+- int a1,
+- attr_t a2,
+- short a3,
++ int a1,
++ attr_t a2,
++ short a3,
+ const void *z)
+ { return(*(int *)0); }
+
+@@ -416,7 +420,7 @@
+
+ #undef color_set
+ int color_set(
+- short a1,
++ short a1,
+ void *z)
+ { return(*(int *)0); }
+
+@@ -453,7 +457,7 @@
+
+ #undef getnstr
+ int getnstr(
+- char *a1,
++ char *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -464,7 +468,7 @@
+
+ #undef hline
+ int hline(
+- chtype a1,
++ chtype a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -474,7 +478,7 @@
+
+ #undef inchnstr
+ int inchnstr(
+- chtype *a1,
++ chtype *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -485,7 +489,7 @@
+
+ #undef innstr
+ int innstr(
+- char *a1,
++ char *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -505,7 +509,7 @@
+
+ #undef insnstr
+ int insnstr(
+- const char *a1,
++ const char *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -521,323 +525,323 @@
+
+ #undef move
+ int move(
+- int a1,
++ int a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvaddch
+ int mvaddch(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const chtype z)
+ { return(*(int *)0); }
+
+ #undef mvaddchnstr
+ int mvaddchnstr(
+- int a1,
+- int a2,
+- const chtype *a3,
++ int a1,
++ int a2,
++ const chtype *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvaddchstr
+ int mvaddchstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const chtype *z)
+ { return(*(int *)0); }
+
+ #undef mvaddnstr
+ int mvaddnstr(
+- int a1,
+- int a2,
+- const char *a3,
++ int a1,
++ int a2,
++ const char *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvaddstr
+ int mvaddstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef mvchgat
+ int mvchgat(
+- int a1,
+- int a2,
+- int a3,
+- attr_t a4,
+- short a5,
++ int a1,
++ int a2,
++ int a3,
++ attr_t a4,
++ short a5,
+ const void *z)
+ { return(*(int *)0); }
+
+ #undef mvdelch
+ int mvdelch(
+- int a1,
++ int a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvgetch
+ int mvgetch(
+- int a1,
++ int a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvgetnstr
+ int mvgetnstr(
+- int a1,
+- int a2,
+- char *a3,
++ int a1,
++ int a2,
++ char *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvgetstr
+ int mvgetstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef mvhline
+ int mvhline(
+- int a1,
+- int a2,
+- chtype a3,
++ int a1,
++ int a2,
++ chtype a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvinch
+ chtype mvinch(
+- int a1,
++ int a1,
+ int z)
+ { return(*(chtype *)0); }
+
+ #undef mvinchnstr
+ int mvinchnstr(
+- int a1,
+- int a2,
+- chtype *a3,
++ int a1,
++ int a2,
++ chtype *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvinchstr
+ int mvinchstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ chtype *z)
+ { return(*(int *)0); }
+
+ #undef mvinnstr
+ int mvinnstr(
+- int a1,
+- int a2,
+- char *a3,
++ int a1,
++ int a2,
++ char *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvinsch
+ int mvinsch(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ chtype z)
+ { return(*(int *)0); }
+
+ #undef mvinsnstr
+ int mvinsnstr(
+- int a1,
+- int a2,
+- const char *a3,
++ int a1,
++ int a2,
++ const char *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvinsstr
+ int mvinsstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef mvinstr
+ int mvinstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef mvvline
+ int mvvline(
+- int a1,
+- int a2,
+- chtype a3,
++ int a1,
++ int a2,
++ chtype a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwaddch
+ int mvwaddch(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const chtype z)
+ { return(*(int *)0); }
+
+ #undef mvwaddchnstr
+ int mvwaddchnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const chtype *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const chtype *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwaddchstr
+ int mvwaddchstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const chtype *z)
+ { return(*(int *)0); }
+
+ #undef mvwaddnstr
+ int mvwaddnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const char *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const char *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwaddstr
+ int mvwaddstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef mvwchgat
+ int mvwchgat(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- int a4,
+- attr_t a5,
+- short a6,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ int a4,
++ attr_t a5,
++ short a6,
+ const void *z)
+ { return(*(int *)0); }
+
+ #undef mvwdelch
+ int mvwdelch(
+- WINDOW *a1,
+- int a2,
++ WINDOW *a1,
++ int a2,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwgetch
+ int mvwgetch(
+- WINDOW *a1,
+- int a2,
++ WINDOW *a1,
++ int a2,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwgetnstr
+ int mvwgetnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- char *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ char *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwgetstr
+ int mvwgetstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef mvwhline
+ int mvwhline(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- chtype a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ chtype a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwinch
+ chtype mvwinch(
+- WINDOW *a1,
+- int a2,
++ WINDOW *a1,
++ int a2,
+ int z)
+ { return(*(chtype *)0); }
+
+ #undef mvwinchnstr
+ int mvwinchnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- chtype *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ chtype *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwinchstr
+ int mvwinchstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ chtype *z)
+ { return(*(int *)0); }
+
+ #undef mvwinnstr
+ int mvwinnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- char *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ char *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwinsch
+ int mvwinsch(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ chtype z)
+ { return(*(int *)0); }
+
+ #undef mvwinsnstr
+ int mvwinsnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const char *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const char *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwinsstr
+ int mvwinsstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef mvwinstr
+ int mvwinstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef mvwvline
+ int mvwvline(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- chtype a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ chtype a4,
+ int z)
+ { return(*(int *)0); }
+
+@@ -867,7 +871,7 @@
+
+ #undef setscrreg
+ int setscrreg(
+- int a1,
++ int a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -886,8 +890,8 @@
+
+ #undef touchline
+ int touchline(
+- WINDOW *a1,
+- int a2,
++ WINDOW *a1,
++ int a2,
+ int z)
+ { return(*(int *)0); }
+
+@@ -903,67 +907,67 @@
+
+ #undef vline
+ int vline(
+- chtype a1,
++ chtype a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef vw_printw
+ int vw_printw(
+- WINDOW *a1,
+- char *a2,
++ WINDOW *a1,
++ const char *a2,
+ va_list z)
+ { return(*(int *)0); }
+
+ #undef vw_scanw
+ int vw_scanw(
+- WINDOW *a1,
+- char *a2,
++ WINDOW *a1,
++ char *a2,
+ va_list z)
+ { return(*(int *)0); }
+
+ #undef waddchstr
+ int waddchstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const chtype *z)
+ { return(*(int *)0); }
+
+ #undef waddstr
+ int waddstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef wattron
+ int wattron(
+- WINDOW *a1,
++ WINDOW *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef wattroff
+ int wattroff(
+- WINDOW *a1,
++ WINDOW *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef wattrset
+ int wattrset(
+- WINDOW *a1,
++ WINDOW *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef wattr_get
+ int wattr_get(
+- WINDOW *a1,
+- attr_t *a2,
+- short *a3,
++ WINDOW *a1,
++ attr_t *a2,
++ short *a3,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef wattr_set
+ int wattr_set(
+- WINDOW *a1,
+- attr_t a2,
+- short a3,
++ WINDOW *a1,
++ attr_t a2,
++ short a3,
+ void *z)
+ { return(*(int *)0); }
+
+@@ -974,13 +978,13 @@
+
+ #undef wgetstr
+ int wgetstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef winchstr
+ int winchstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ chtype *z)
+ { return(*(int *)0); }
+
+@@ -991,13 +995,13 @@
+
+ #undef winsstr
+ int winsstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef winstr
+ int winstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ char *z)
+ { return(*(int *)0); }
+
+@@ -1013,8 +1017,8 @@
+
+ #undef mouse_trafo
+ NCURSES_BOOL mouse_trafo(
+- int *a1,
+- int *a2,
++ int *a1,
++ int *a2,
+ NCURSES_BOOL z)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -1027,8 +1031,8 @@
+
+ #undef _nc_wgetch
+ int _nc_wgetch(
+- WINDOW *win,
+- unsigned long *result,
++ WINDOW *win,
++ unsigned long *result,
+ int use_meta)
+ { return(*(int *)0); }
+
+@@ -1041,8 +1045,8 @@
+
+ #undef wgetnstr
+ int wgetnstr(
+- WINDOW *win,
+- char *str,
++ WINDOW *win,
++ char *str,
+ int maxlen)
+ { return(*(int *)0); }
+
+@@ -1050,8 +1054,8 @@
+
+ #undef whline
+ int whline(
+- WINDOW *win,
+- chtype ch,
++ WINDOW *win,
++ chtype ch,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1059,7 +1063,7 @@
+
+ #undef immedok
+ void immedok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { /* void */ }
+
+@@ -1067,8 +1071,8 @@
+
+ #undef winchnstr
+ int winchnstr(
+- WINDOW *win,
+- chtype *str,
++ WINDOW *win,
++ chtype *str,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1080,26 +1084,30 @@
+
+ /* ./base/lib_insch.c */
+
++#undef _nc_insert_ch
++void _nc_insert_ch(
++ WINDOW *win,
++ chtype ch)
++ { /* void */ }
++
+ #undef winsch
+ int winsch(
+- WINDOW *win,
++ WINDOW *win,
+ chtype c)
+ { return(*(int *)0); }
+
+-/* ./base/lib_insdel.c */
+-
+-#undef winsdelln
+-int winsdelln(
+- WINDOW *win,
++#undef winsnstr
++int winsnstr(
++ WINDOW *win,
++ const char *s,
+ int n)
+ { return(*(int *)0); }
+
+-/* ./base/lib_insstr.c */
++/* ./base/lib_insdel.c */
+
+-#undef winsnstr
+-int winsnstr(
+- WINDOW *win,
+- const char *s,
++#undef winsdelln
++int winsdelln(
++ WINDOW *win,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1107,8 +1115,8 @@
+
+ #undef winnstr
+ int winnstr(
+- WINDOW *win,
+- char *str,
++ WINDOW *win,
++ char *str,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1122,7 +1130,7 @@
+
+ #undef leaveok
+ int leaveok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -1140,14 +1148,14 @@
+
+ #undef mousemask
+ mmask_t mousemask(
+- mmask_t newmask,
++ mmask_t newmask,
+ mmask_t *oldmask)
+ { return(*(mmask_t *)0); }
+
+ #undef wenclose
+ NCURSES_BOOL wenclose(
+- const WINDOW *win,
+- int y,
++ const WINDOW *win,
++ int y,
+ int x)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -1162,9 +1170,9 @@
+
+ #undef wmouse_trafo
+ NCURSES_BOOL wmouse_trafo(
+- const WINDOW *win,
+- int *pY,
+- int *pX,
++ const WINDOW *win,
++ int *pY,
++ int *pX,
+ NCURSES_BOOL to_screen)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -1172,8 +1180,8 @@
+
+ #undef wmove
+ int wmove(
+- WINDOW *win,
+- int y,
++ WINDOW *win,
++ int y,
+ int x)
+ { return(*(int *)0); }
+
+@@ -1181,7 +1189,7 @@
+
+ #undef _nc_msec_cost
+ int _nc_msec_cost(
+- const char *const cap,
++ const char *const cap,
+ int affcnt)
+ { return(*(int *)0); }
+
+@@ -1199,9 +1207,9 @@
+
+ #undef mvcur
+ int mvcur(
+- int yold,
+- int xold,
+- int ynew,
++ int yold,
++ int xold,
++ int ynew,
+ int xnew)
+ { return(*(int *)0); }
+
+@@ -1212,8 +1220,8 @@
+
+ #undef mvwin
+ int mvwin(
+- WINDOW *win,
+- int by,
++ WINDOW *win,
++ int by,
+ int bx)
+ { return(*(int *)0); }
+
+@@ -1225,8 +1233,8 @@
+
+ #undef newterm
+ SCREEN *newterm(
+- char *name,
+- FILE *ofp,
++ char *name,
++ FILE *ofp,
+ FILE *ifp)
+ { return(*(SCREEN **)0); }
+
+@@ -1239,36 +1247,36 @@
+
+ #undef newwin
+ WINDOW *newwin(
+- int num_lines,
+- int num_columns,
+- int begy,
++ int num_lines,
++ int num_columns,
++ int begy,
+ int begx)
+ { return(*(WINDOW **)0); }
+
+ #undef derwin
+ WINDOW *derwin(
+- WINDOW *orig,
+- int num_lines,
+- int num_columns,
+- int begy,
++ WINDOW *orig,
++ int num_lines,
++ int num_columns,
++ int begy,
+ int begx)
+ { return(*(WINDOW **)0); }
+
+ #undef subwin
+ WINDOW *subwin(
+- WINDOW *w,
+- int l,
+- int c,
+- int y,
++ WINDOW *w,
++ int l,
++ int c,
++ int y,
+ int x)
+ { return(*(WINDOW **)0); }
+
+ #undef _nc_makenew
+ WINDOW *_nc_makenew(
+- int num_lines,
+- int num_columns,
+- int begy,
+- int begx,
++ int num_lines,
++ int num_columns,
++ int begy,
++ int begx,
+ int flags)
+ { return(*(WINDOW **)0); }
+
+@@ -1286,26 +1294,26 @@
+
+ #undef overlay
+ int overlay(
+- const WINDOW *win1,
++ const WINDOW *win1,
+ WINDOW *win2)
+ { return(*(int *)0); }
+
+ #undef overwrite
+ int overwrite(
+- const WINDOW *win1,
++ const WINDOW *win1,
+ WINDOW *win2)
+ { return(*(int *)0); }
+
+ #undef copywin
+ int copywin(
+- const WINDOW *src,
+- WINDOW *dst,
+- int sminrow,
+- int smincol,
+- int dminrow,
+- int dmincol,
+- int dmaxrow,
+- int dmaxcol,
++ const WINDOW *src,
++ WINDOW *dst,
++ int sminrow,
++ int smincol,
++ int dminrow,
++ int dmincol,
++ int dmaxrow,
++ int dmaxcol,
+ int over)
+ { return(*(int *)0); }
+
+@@ -1313,44 +1321,44 @@
+
+ #undef newpad
+ WINDOW *newpad(
+- int l,
++ int l,
+ int c)
+ { return(*(WINDOW **)0); }
+
+ #undef subpad
+ WINDOW *subpad(
+- WINDOW *orig,
+- int l,
+- int c,
+- int begy,
++ WINDOW *orig,
++ int l,
++ int c,
++ int begy,
+ int begx)
+ { return(*(WINDOW **)0); }
+
+ #undef prefresh
+ int prefresh(
+- WINDOW *win,
+- int pminrow,
+- int pmincol,
+- int sminrow,
+- int smincol,
+- int smaxrow,
++ WINDOW *win,
++ int pminrow,
++ int pmincol,
++ int sminrow,
++ int smincol,
++ int smaxrow,
+ int smaxcol)
+ { return(*(int *)0); }
+
+ #undef pnoutrefresh
+ int pnoutrefresh(
+- WINDOW *win,
+- int pminrow,
+- int pmincol,
+- int sminrow,
+- int smincol,
+- int smaxrow,
++ WINDOW *win,
++ int pminrow,
++ int pmincol,
++ int sminrow,
++ int smincol,
++ int smaxrow,
+ int smaxcol)
+ { return(*(int *)0); }
+
+ #undef pechochar
+ int pechochar(
+- WINDOW *pad,
++ WINDOW *pad,
+ const chtype ch)
+ { return(*(int *)0); }
+
+@@ -1358,38 +1366,38 @@
+
+ #undef printw
+ int printw(
+- char *fmt,
++ const char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef wprintw
+ int wprintw(
+- WINDOW *win,
+- char *fmt,
++ WINDOW *win,
++ const char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef mvprintw
+ int mvprintw(
+- int y,
+- int x,
+- char *fmt,
++ int y,
++ int x,
++ const char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef mvwprintw
+ int mvwprintw(
+- WINDOW *win,
+- int y,
+- int x,
+- char *fmt,
++ WINDOW *win,
++ int y,
++ int x,
++ const char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef vwprintw
+ int vwprintw(
+- WINDOW *win,
+- char *fmt,
++ WINDOW *win,
++ const char *fmt,
+ va_list argp)
+ { return(*(int *)0); }
+
+@@ -1397,8 +1405,8 @@
+
+ #undef wredrawln
+ int wredrawln(
+- WINDOW *win,
+- int beg,
++ WINDOW *win,
++ int beg,
+ int num)
+ { return(*(int *)0); }
+
+@@ -1418,8 +1426,8 @@
+
+ #undef restartterm
+ int restartterm(
+- char *termp,
+- int filenum,
++ char *termp,
++ int filenum,
+ int *errret)
+ { return(*(int *)0); }
+
+@@ -1427,38 +1435,38 @@
+
+ #undef vwscanw
+ int vwscanw(
+- WINDOW *win,
+- char *fmt,
++ WINDOW *win,
++ char *fmt,
+ va_list argp)
+ { return(*(int *)0); }
+
+ #undef scanw
+ int scanw(
+- char *fmt,
++ char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef wscanw
+ int wscanw(
+- WINDOW *win,
+- char *fmt,
++ WINDOW *win,
++ char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef mvscanw
+ int mvscanw(
+- int y,
+- int x,
+- char *fmt,
++ int y,
++ int x,
++ char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef mvwscanw
+ int mvwscanw(
+- WINDOW *win,
+- int y,
+- int x,
+- char *fmt,
++ WINDOW *win,
++ int y,
++ int x,
++ char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+@@ -1471,7 +1479,7 @@
+
+ #undef putwin
+ int putwin(
+- WINDOW *win,
++ WINDOW *win,
+ FILE *filep)
+ { return(*(int *)0); }
+
+@@ -1499,16 +1507,16 @@
+
+ #undef _nc_scroll_window
+ void _nc_scroll_window(
+- WINDOW *win,
+- int const n,
+- short const top,
+- short const bottom,
++ WINDOW *win,
++ int const n,
++ short const top,
++ short const bottom,
+ chtype blank)
+ { /* void */ }
+
+ #undef wscrl
+ int wscrl(
+- WINDOW *win,
++ WINDOW *win,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1516,7 +1524,7 @@
+
+ #undef scrollok
+ int scrollok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -1524,8 +1532,8 @@
+
+ #undef wsetscrreg
+ int wsetscrreg(
+- WINDOW *win,
+- int top,
++ WINDOW *win,
++ int top,
+ int bottom)
+ { return(*(int *)0); }
+
+@@ -1543,24 +1551,24 @@
+
+ #undef _nc_setupscreen
+ int _nc_setupscreen(
+- short slines,
+- short const scolumns,
++ short slines,
++ short const scolumns,
+ FILE *output)
+ { return(*(int *)0); }
+
+ #undef _nc_ripoffline
+ int _nc_ripoffline(
+- int line,
++ int line,
+ int (*init)(
+- WINDOW *p1,
++ WINDOW *p1,
+ int p2))
+ { return(*(int *)0); }
+
+ #undef ripoffline
+ int ripoffline(
+- int line,
++ int line,
+ int (*init)(
+- WINDOW *p1,
++ WINDOW *p1,
+ int p2))
+ { return(*(int *)0); }
+
+@@ -1571,7 +1579,7 @@
+
+ #undef _nc_slk_initialize
+ int _nc_slk_initialize(
+- WINDOW *stwin,
++ WINDOW *stwin,
+ int cols)
+ { return(*(int *)0); }
+
+@@ -1583,8 +1591,8 @@
+
+ #undef slk_attr_set
+ int slk_attr_set(
+- const attr_t attr,
+- short color_pair_number,
++ const attr_t attr,
++ short color_pair_number,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -1656,8 +1664,8 @@
+
+ #undef slk_set
+ int slk_set(
+- int i,
+- const char *astr,
++ int i,
++ const char *astr,
+ int format)
+ { return(*(int *)0); }
+
+@@ -1671,7 +1679,7 @@
+
+ #undef is_linetouched
+ NCURSES_BOOL is_linetouched(
+- WINDOW *win,
++ WINDOW *win,
+ int line)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -1682,9 +1690,9 @@
+
+ #undef wtouchln
+ int wtouchln(
+- WINDOW *win,
+- int y,
+- int n,
++ WINDOW *win,
++ int y,
++ int n,
+ int changed)
+ { return(*(int *)0); }
+
+@@ -1692,7 +1700,7 @@
+
+ #undef _traceattr2
+ char *_traceattr2(
+- int bufnum,
++ int bufnum,
+ attr_t newmode)
+ { return(*(char **)0); }
+
+@@ -1708,13 +1716,13 @@
+
+ #undef _nc_altcharset_name
+ const char *_nc_altcharset_name(
+- attr_t attr,
++ attr_t attr,
+ chtype ch)
+ { return(*(const char **)0); }
+
+ #undef _tracechtype2
+ char *_tracechtype2(
+- int bufnum,
++ int bufnum,
+ chtype ch)
+ { return(*(char **)0); }
+
+@@ -1724,15 +1732,15 @@
+ { return(*(char **)0); }
+
+ #undef _nc_retrace_chtype
+-attr_t _nc_retrace_chtype(
+- attr_t code)
+- { return(*(attr_t *)0); }
++chtype _nc_retrace_chtype(
++ chtype code)
++ { return(*(chtype *)0); }
+
+ /* ./trace/lib_tracedmp.c */
+
+ #undef _tracedump
+ void _tracedump(
+- const char *name,
++ const char *name,
+ WINDOW *win)
+ { /* void */ }
+
+@@ -1767,7 +1775,7 @@
+
+ #undef vidputs
+ int vidputs(
+- chtype newmode,
++ chtype newmode,
+ int (*outc)(
+ int p1))
+ { return(*(int *)0); }
+@@ -1785,8 +1793,8 @@
+
+ #undef wvline
+ int wvline(
+- WINDOW *win,
+- chtype ch,
++ WINDOW *win,
++ chtype ch,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1794,8 +1802,8 @@
+
+ #undef wattr_off
+ int wattr_off(
+- WINDOW *win,
+- attr_t at,
++ WINDOW *win,
++ attr_t at,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -1803,8 +1811,8 @@
+
+ #undef wattr_on
+ int wattr_on(
+- WINDOW *win,
+- attr_t at,
++ WINDOW *win,
++ attr_t at,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -1824,14 +1832,14 @@
+
+ #undef mvderwin
+ int mvderwin(
+- WINDOW *win,
+- int y,
++ WINDOW *win,
++ int y,
+ int x)
+ { return(*(int *)0); }
+
+ #undef syncok
+ int syncok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL bf)
+ { return(*(int *)0); }
+
+@@ -1865,7 +1873,7 @@
+
+ #undef _nc_printf_string
+ char *_nc_printf_string(
+- const char *fmt,
++ const char *fmt,
+ va_list ap)
+ { return(*(char **)0); }
+
+@@ -1885,9 +1893,9 @@
+
+ #undef _nc_scrolln
+ int _nc_scrolln(
+- int n,
+- int top,
+- int bot,
++ int n,
++ int top,
++ int bot,
+ int maxy)
+ { return(*(int *)0); }
+
+@@ -1916,7 +1924,7 @@
+
+ #undef _nc_varargs
+ char *_nc_varargs(
+- const char *fmt,
++ const char *fmt,
+ va_list ap)
+ { return(*(char **)0); }
+
+@@ -1938,11 +1946,19 @@
+ void _nc_vsscanf(void)
+ { /* void */ }
+
++/* ./base/lib_freeall.c */
++
++#include <term_entry.h>
++
++#undef _nc_freeall
++void _nc_freeall(void)
++ { /* void */ }
++
+ /* ./base/define_key.c */
+
+ #undef define_key
+ int define_key(
+- char *str,
++ const char *str,
+ int keycode)
+ { return(*(int *)0); }
+
+@@ -1950,13 +1966,13 @@
+
+ #undef _nc_toggle_attr_on
+ void _nc_toggle_attr_on(
+- attr_t *S,
++ attr_t *S,
+ attr_t at)
+ { /* void */ }
+
+ #undef _nc_toggle_attr_off
+ void _nc_toggle_attr_off(
+- attr_t *S,
++ attr_t *S,
+ attr_t at)
+ { /* void */ }
+
+@@ -1975,11 +1991,18 @@
+ chtype c)
+ { /* void */ }
+
++/* ./base/key_defined.c */
++
++#undef key_defined
++int key_defined(
++ const char *str)
++ { return(*(int *)0); }
++
+ /* ./base/keybound.c */
+
+ #undef keybound
+ char *keybound(
+- int code,
++ int code,
+ int count)
+ { return(*(char **)0); }
+
+@@ -1987,7 +2010,7 @@
+
+ #undef keyok
+ int keyok(
+- int c,
++ int c,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -1999,23 +2022,15 @@
+
+ #undef assume_default_colors
+ int assume_default_colors(
+- int fg,
++ int fg,
+ int bg)
+ { return(*(int *)0); }
+
+-/* ./base/lib_freeall.c */
+-
+-#include <term_entry.h>
+-
+-#undef _nc_freeall
+-void _nc_freeall(void)
+- { /* void */ }
+-
+ /* ./tinfo/lib_print.c */
+
+ #undef mcprint
+ int mcprint(
+- char *data,
++ char *data,
+ int len)
+ { return(*(int *)0); }
+
+@@ -2023,19 +2038,19 @@
+
+ #undef is_term_resized
+ NCURSES_BOOL is_term_resized(
+- int ToLines,
++ int ToLines,
+ int ToCols)
+ { return(*(NCURSES_BOOL *)0); }
+
+ #undef resize_term
+ int resize_term(
+- int ToLines,
++ int ToLines,
+ int ToCols)
+ { return(*(int *)0); }
+
+ #undef resizeterm
+ int resizeterm(
+- int ToLines,
++ int ToLines,
+ int ToCols)
+ { return(*(int *)0); }
+
+@@ -2050,22 +2065,22 @@
+
+ #undef _nc_expand_try
+ char *_nc_expand_try(
+- struct tries *tree,
+- unsigned short code,
+- int *count,
++ struct tries *tree,
++ unsigned short code,
++ int *count,
+ size_t len)
+ { return(*(char **)0); }
+
+ #undef _nc_remove_key
+ int _nc_remove_key(
+- struct tries **tree,
++ struct tries **tree,
+ unsigned short code)
+ { return(*(int *)0); }
+
+ #undef _nc_remove_string
+ int _nc_remove_string(
+- struct tries **tree,
+- char *string)
++ struct tries **tree,
++ const char *string)
+ { return(*(int *)0); }
+
+ /* ./base/version.c */
+@@ -2078,8 +2093,8 @@
+
+ #undef wresize
+ int wresize(
+- WINDOW *win,
+- int ToLines,
++ WINDOW *win,
++ int ToLines,
+ int ToCols)
+ { return(*(int *)0); }
+
+@@ -2090,6 +2105,11 @@
+ char *path)
+ { return(*(char **)0); }
+
++#undef _nc_pathlast
++unsigned _nc_pathlast(
++ const char *path)
++ { return(*(unsigned *)0); }
++
+ #undef _nc_basename
+ char *_nc_basename(
+ char *path)
+@@ -2097,7 +2117,7 @@
+
+ #undef _nc_access
+ int _nc_access(
+- const char *path,
++ const char *path,
+ int mode)
+ { return(*(int *)0); }
+
+@@ -2109,8 +2129,8 @@
+
+ #undef _nc_add_to_try
+ void _nc_add_to_try(
+- struct tries **tree,
+- const char *str,
++ struct tries **tree,
++ const char *str,
+ unsigned short code)
+ { /* void */ }
+
+@@ -2133,13 +2153,13 @@
+
+ #undef _nc_wrap_entry
+ void _nc_wrap_entry(
+- ENTRY *const ep,
++ ENTRY *const ep,
+ NCURSES_BOOL copy_strings)
+ { /* void */ }
+
+ #undef _nc_merge_entry
+ void _nc_merge_entry(
+- TERMTYPE *const to,
++ TERMTYPE *const to,
+ TERMTYPE *const from)
+ { /* void */ }
+
+@@ -2147,13 +2167,13 @@
+
+ #undef _nc_align_termtype
+ void _nc_align_termtype(
+- TERMTYPE *to,
++ TERMTYPE *to,
+ TERMTYPE *from)
+ { /* void */ }
+
+ #undef _nc_copy_termtype
+ void _nc_copy_termtype(
+- TERMTYPE *dst,
++ TERMTYPE *dst,
+ TERMTYPE *src)
+ { /* void */ }
+
+@@ -2161,15 +2181,15 @@
+
+ #undef _nc_captoinfo
+ char *_nc_captoinfo(
+- const char *cap,
+- const char *s,
++ const char *cap,
++ const char *s,
+ int const parametrized)
+ { return(*(char **)0); }
+
+ #undef _nc_infotocap
+ char *_nc_infotocap(
+- const char *cap,
+- const char *str,
++ const char *cap,
++ const char *str,
+ int const parametrized)
+ { return(*(char **)0); }
+
+@@ -2231,19 +2251,19 @@
+
+ #undef _nc_warning
+ void _nc_warning(
+- const char *const fmt,
++ const char *const fmt,
+ ...)
+ { /* void */ }
+
+ #undef _nc_err_abort
+ void _nc_err_abort(
+- const char *const fmt,
++ const char *const fmt,
+ ...)
+ { /* void */ }
+
+ #undef _nc_syserr_abort
+ void _nc_syserr_abort(
+- const char *const fmt,
++ const char *const fmt,
+ ...)
+ { /* void */ }
+
+@@ -2251,8 +2271,8 @@
+
+ #undef _nc_tic_expand
+ char *_nc_tic_expand(
+- const char *srcp,
+- NCURSES_BOOL tic_format,
++ const char *srcp,
++ NCURSES_BOOL tic_format,
+ int numbers)
+ { return(*(char **)0); }
+
+@@ -2262,14 +2282,14 @@
+
+ #undef _nc_find_entry
+ struct name_table_entry const *_nc_find_entry(
+- const char *string,
++ const char *string,
+ const struct name_table_entry *const *hash_table)
+ { return(*(struct name_table_entry const **)0); }
+
+ #undef _nc_find_type_entry
+ struct name_table_entry const *_nc_find_type_entry(
+- const char *string,
+- int type,
++ const char *string,
++ int type,
+ const struct name_table_entry *table)
+ { return(*(struct name_table_entry const **)0); }
+
+@@ -2290,16 +2310,16 @@
+
+ #undef _nc_entry_match
+ NCURSES_BOOL _nc_entry_match(
+- char *n1,
++ char *n1,
+ char *n2)
+ { return(*(NCURSES_BOOL *)0); }
+
+ #undef _nc_read_entry_source
+ void _nc_read_entry_source(
+- FILE *fp,
+- char *buf,
+- int literal,
+- NCURSES_BOOL silent,
++ FILE *fp,
++ char *buf,
++ int literal,
++ NCURSES_BOOL silent,
+ NCURSES_BOOL (*hook)(
+ ENTRY *p1))
+ { /* void */ }
+@@ -2333,7 +2353,7 @@
+
+ #undef _nc_trans_string
+ char _nc_trans_string(
+- char *ptr,
++ char *ptr,
+ char *last)
+ { return(*(char *)0); }
+
+@@ -2349,7 +2369,7 @@
+
+ #undef _nc_reset_input
+ void _nc_reset_input(
+- FILE *fp,
++ FILE *fp,
+ char *buf)
+ { /* void */ }
+
+@@ -2357,7 +2377,7 @@
+
+ #undef _nc_doalloc
+ void *_nc_doalloc(
+- void *oldp,
++ void *oldp,
+ size_t amount)
+ { return(*(void **)0); }
+
+@@ -2425,8 +2445,8 @@
+ #include <termcap.h>
+
+ struct speed {
+- int s;
+- int sp;
++ int s;
++ int sp;
+ };
+
+ #undef _nc_baudrate
+@@ -2524,13 +2544,13 @@
+
+ #undef idlok
+ int idlok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+ #undef idcok
+ void idcok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { /* void */ }
+
+@@ -2541,31 +2561,31 @@
+
+ #undef nodelay
+ int nodelay(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+ #undef notimeout
+ int notimeout(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL f)
+ { return(*(int *)0); }
+
+ #undef wtimeout
+ void wtimeout(
+- WINDOW *win,
++ WINDOW *win,
+ int delay)
+ { /* void */ }
+
+ #undef keypad
+ int keypad(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+ #undef meta
+ int meta(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -2617,7 +2637,7 @@
+
+ #undef intrflush
+ int intrflush(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -2625,11 +2645,8 @@
+
+ #include <sys/ioctl.h>
+
+-#undef use_env
+-void use_env(
+- NCURSES_BOOL f)
+- { /* void */ }
+-
++#undef ttytype
++char ttytype[256 ];
+ #undef LINES
+ int LINES;
+ #undef COLS
+@@ -2637,17 +2654,31 @@
+ #undef TABSIZE
+ int TABSIZE;
+
++#undef use_env
++void use_env(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_update_screensize
+ void _nc_update_screensize(void)
+ { /* void */ }
+
+-#undef ttytype
+-char ttytype[256 ];
++#undef _nc_get_locale
++char *_nc_get_locale(void)
++ { return(*(char **)0); }
++
++#undef _nc_unicode_locale
++int _nc_unicode_locale(void)
++ { return(*(int *)0); }
++
++#undef _nc_locale_breaks_acs
++int _nc_locale_breaks_acs(void)
++ { return(*(int *)0); }
+
+ #undef setupterm
+ int setupterm(
+- char *tname,
+- int Filedes,
++ char *tname,
++ int Filedes,
+ int *errret)
+ { return(*(int *)0); }
+
+@@ -2660,7 +2691,7 @@
+
+ #undef tgetent
+ int tgetent(
+- char *bufp,
++ char *bufp,
+ const char *name)
+ { return(*(int *)0); }
+
+@@ -2682,7 +2713,7 @@
+
+ #undef tgetstr
+ char *tgetstr(
+- char *id,
++ char *id,
+ char **area)
+ { return(*(char **)0); }
+
+@@ -2696,8 +2727,8 @@
+
+ #undef tgoto
+ char *tgoto(
+- const char *string,
+- int x,
++ const char *string,
++ int x,
+ int y)
+ { return(*(char **)0); }
+
+@@ -2731,9 +2762,16 @@
+ #undef _nc_tparm_err
+ int _nc_tparm_err;
+
++#undef _nc_tparm_analyze
++int _nc_tparm_analyze(
++ const char *string,
++ char *p_is_s[9 ],
++ int *popcount)
++ { return(*(int *)0); }
++
+ #undef tparm
+ char *tparm(
+- char *string,
++ char *string,
+ ...)
+ { return(*(char **)0); }
+
+@@ -2767,8 +2805,8 @@
+
+ #undef tputs
+ int tputs(
+- const char *string,
+- int affcnt,
++ const char *string,
++ int affcnt,
+ int (*outc)(
+ int p1))
+ { return(*(int *)0); }
+@@ -2789,15 +2827,25 @@
+
+ #undef _tracef
+ void _tracef(
+- const char *fmt,
++ const char *fmt,
+ ...)
+ { /* void */ }
+
++#undef _nc_retrace_bool
++NCURSES_BOOL _nc_retrace_bool(
++ NCURSES_BOOL code)
++ { return(*(NCURSES_BOOL *)0); }
++
+ #undef _nc_retrace_int
+ int _nc_retrace_int(
+ int code)
+ { return(*(int *)0); }
+
++#undef _nc_retrace_unsigned
++unsigned _nc_retrace_unsigned(
++ unsigned code)
++ { return(*(unsigned *)0); }
++
+ #undef _nc_retrace_ptr
+ char *_nc_retrace_ptr(
+ char *code)
+@@ -2876,8 +2924,8 @@
+
+ #undef _nc_timed_wait
+ int _nc_timed_wait(
+- int mode,
+- int milliseconds,
++ int mode,
++ int milliseconds,
+ int *timeleft)
+ { return(*(int *)0); }
+
+@@ -2890,8 +2938,8 @@
+
+ #undef _nc_name_match
+ int _nc_name_match(
+- const char *const namelst,
+- const char *const name,
++ const char *const namelst,
++ const char *const name,
+ const char *const delim)
+ { return(*(int *)0); }
+
+@@ -2914,14 +2962,14 @@
+
+ #undef _nc_parse_entry
+ int _nc_parse_entry(
+- struct entry *entryp,
+- int literal,
++ struct entry *entryp,
++ int literal,
+ NCURSES_BOOL silent)
+ { return(*(int *)0); }
+
+ #undef _nc_capcmp
+ int _nc_capcmp(
+- const char *s,
++ const char *s,
+ const char *t)
+ { return(*(int *)0); }
+
+@@ -2944,14 +2992,14 @@
+
+ #undef _nc_read_file_entry
+ int _nc_read_file_entry(
+- const char *const filename,
++ const char *const filename,
+ TERMTYPE *ptr)
+ { return(*(int *)0); }
+
+ #undef _nc_read_entry
+ int _nc_read_entry(
+- const char *const tn,
+- char *const filename,
++ const char *const tn,
++ char *const filename,
+ TERMTYPE *const tp)
+ { return(*(int *)0); }
+
+@@ -2959,7 +3007,7 @@
+
+ #undef _nc_read_termcap_entry
+ int _nc_read_termcap_entry(
+- const char *const tn,
++ const char *const tn,
+ TERMTYPE *const tp)
+ { return(*(int *)0); }
+
+@@ -2967,7 +3015,7 @@
+
+ #undef _nc_set_buffer
+ void _nc_set_buffer(
+- FILE *ofp,
++ FILE *ofp,
+ NCURSES_BOOL buffered)
+ { /* void */ }
+
+@@ -2975,32 +3023,32 @@
+
+ #undef _nc_str_init
+ string_desc *_nc_str_init(
+- string_desc *dst,
+- char *src,
++ string_desc *dst,
++ char *src,
+ size_t len)
+ { return(*(string_desc **)0); }
+
+ #undef _nc_str_null
+ string_desc *_nc_str_null(
+- string_desc *dst,
++ string_desc *dst,
+ size_t len)
+ { return(*(string_desc **)0); }
+
+ #undef _nc_str_copy
+ string_desc *_nc_str_copy(
+- string_desc *dst,
++ string_desc *dst,
+ string_desc *src)
+ { return(*(string_desc **)0); }
+
+ #undef _nc_safe_strcat
+ NCURSES_BOOL _nc_safe_strcat(
+- string_desc *dst,
++ string_desc *dst,
+ const char *src)
+ { return(*(NCURSES_BOOL *)0); }
+
+ #undef _nc_safe_strcpy
+ NCURSES_BOOL _nc_safe_strcpy(
+- string_desc *dst,
++ string_desc *dst,
+ const char *src)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -3013,10 +3061,16 @@
+
+ #undef _nc_trace_buf
+ char *_nc_trace_buf(
+- int bufnum,
++ int bufnum,
+ size_t want)
+ { return(*(char **)0); }
+
++#undef _nc_trace_bufcat
++char *_nc_trace_bufcat(
++ int bufnum,
++ const char *value)
++ { return(*(char **)0); }
++
+ /* ./trace/trace_tries.c */
+
+ #undef _nc_trace_tries
+@@ -3035,7 +3089,7 @@
+
+ #undef _nc_visbuf2
+ const char *_nc_visbuf2(
+- int bufnum,
++ int bufnum,
+ const char *buf)
+ { return(*(const char **)0); }
+
+@@ -3044,6 +3098,12 @@
+ const char *buf)
+ { return(*(const char **)0); }
+
++#undef _nc_visbufn
++const char *_nc_visbufn(
++ const char *buf,
++ int len)
++ { return(*(const char **)0); }
++
+ /* ./tinfo/write_entry.c */
+
+ #undef _nc_set_writedir
+diff -urNd -urNd ncurses-5.3/ncurses/llib-lncursesw ncurses-5.3.20030906.orig/ncurses/llib-lncursesw
+--- ncurses-5.3/ncurses/llib-lncursesw Sat Aug 31 16:58:14 2002
++++ ncurses-5.3.20030906.orig/ncurses/llib-lncursesw Fri Sep 12 16:42:59 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas E. Dickey 2001,2002 *
++ * Author: Thomas E. Dickey 2001-2003 *
+ ****************************************************************************/
+ /* LINTLIBRARY */
+
+@@ -59,8 +59,8 @@
+
+ #undef _nc_scroll_oldhash
+ void _nc_scroll_oldhash(
+- int n,
+- int top,
++ int n,
++ int top,
+ int bot)
+ { /* void */ }
+
+@@ -70,37 +70,37 @@
+
+ #undef _nc_render
+ cchar_t _nc_render(
+- WINDOW *win,
++ WINDOW *win,
+ cchar_t ch)
+ { return(*(cchar_t *)0); }
+
+ #undef _nc_waddch_nosync
+ int _nc_waddch_nosync(
+- WINDOW *win,
++ WINDOW *win,
+ const cchar_t c)
+ { return(*(int *)0); }
+
+ #undef waddch
+ int waddch(
+- WINDOW *win,
++ WINDOW *win,
+ const chtype ch)
+ { return(*(int *)0); }
+
+ #undef wechochar
+ int wechochar(
+- WINDOW *win,
++ WINDOW *win,
+ const chtype ch)
+ { return(*(int *)0); }
+
+ #undef wadd_wch
+ int wadd_wch(
+- WINDOW *win,
++ WINDOW *win,
+ const cchar_t *wch)
+ { return(*(int *)0); }
+
+ #undef wecho_wchar
+ int wecho_wchar(
+- WINDOW *win,
++ WINDOW *win,
+ const cchar_t *wch)
+ { return(*(int *)0); }
+
+@@ -108,15 +108,15 @@
+
+ #undef waddnstr
+ int waddnstr(
+- WINDOW *win,
+- const char *astr,
++ WINDOW *win,
++ const char *astr,
+ int n)
+ { return(*(int *)0); }
+
+ #undef waddchnstr
+ int waddchnstr(
+- WINDOW *win,
+- const chtype *astr,
++ WINDOW *win,
++ const chtype *astr,
+ int n)
+ { return(*(int *)0); }
+
+@@ -127,15 +127,15 @@
+
+ #undef wadd_wchnstr
+ int wadd_wchnstr(
+- WINDOW *win,
+- const cchar_t *const astr,
++ WINDOW *win,
++ const cchar_t *const astr,
+ int n)
+ { return(*(int *)0); }
+
+ #undef waddnwstr
+ int waddnwstr(
+- WINDOW *win,
+- const wchar_t *str,
++ WINDOW *win,
++ const wchar_t *str,
+ int n)
+ { return(*(int *)0); }
+
+@@ -149,25 +149,25 @@
+
+ #undef wbkgrndset
+ void wbkgrndset(
+- WINDOW *win,
++ WINDOW *win,
+ const cchar_t *ch)
+ { /* void */ }
+
+ #undef wbkgdset
+ void wbkgdset(
+- WINDOW *win,
++ WINDOW *win,
+ chtype ch)
+ { /* void */ }
+
+ #undef wbkgrnd
+ int wbkgrnd(
+- WINDOW *win,
++ WINDOW *win,
+ const cchar_t *ch)
+ { return(*(int *)0); }
+
+ #undef wbkgd
+ int wbkgd(
+- WINDOW *win,
++ WINDOW *win,
+ chtype ch)
+ { return(*(int *)0); }
+
+@@ -175,14 +175,14 @@
+
+ #undef wborder
+ int wborder(
+- WINDOW *win,
+- chtype ls,
+- chtype rs,
+- chtype ts,
+- chtype bs,
+- chtype tl,
+- chtype tr,
+- chtype bl,
++ WINDOW *win,
++ chtype ls,
++ chtype rs,
++ chtype ts,
++ chtype bs,
++ chtype tl,
++ chtype tr,
++ chtype bl,
+ chtype br)
+ { return(*(int *)0); }
+
+@@ -190,10 +190,10 @@
+
+ #undef wchgat
+ int wchgat(
+- WINDOW *win,
+- int n,
+- attr_t attr,
+- short color,
++ WINDOW *win,
++ int n,
++ attr_t attr,
++ short color,
+ const void *opts)
+ { return(*(int *)0); }
+
+@@ -208,7 +208,7 @@
+
+ #undef clearok
+ int clearok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -235,22 +235,26 @@
+ #undef COLORS
+ int COLORS;
+
++#undef _nc_reset_colors
++NCURSES_BOOL _nc_reset_colors(void)
++ { return(*(NCURSES_BOOL *)0); }
++
+ #undef start_color
+ int start_color(void)
+ { return(*(int *)0); }
+
+ #undef init_pair
+ int init_pair(
+- short pair,
+- short f,
++ short pair,
++ short f,
+ short b)
+ { return(*(int *)0); }
+
+ #undef init_color
+ int init_color(
+- short color,
+- short r,
+- short g,
++ short color,
++ short r,
++ short g,
+ short b)
+ { return(*(int *)0); }
+
+@@ -264,24 +268,24 @@
+
+ #undef color_content
+ int color_content(
+- short color,
+- short *r,
+- short *g,
++ short color,
++ short *r,
++ short *g,
+ short *b)
+ { return(*(int *)0); }
+
+ #undef pair_content
+ int pair_content(
+- short pair,
+- short *f,
++ short pair,
++ short *f,
+ short *b)
+ { return(*(int *)0); }
+
+ #undef _nc_do_color
+ void _nc_do_color(
+- int old_pair,
+- int pair,
+- NCURSES_BOOL reverse,
++ int old_pair,
++ int pair,
++ NCURSES_BOOL reverse,
+ int (*outc)(
+ int p1))
+ { /* void */ }
+@@ -290,8 +294,8 @@
+
+ #undef wcolor_set
+ int wcolor_set(
+- WINDOW *win,
+- short color_pair_number,
++ WINDOW *win,
++ short color_pair_number,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -347,7 +351,7 @@
+
+ #undef addchnstr
+ int addchnstr(
+- const chtype *a1,
++ const chtype *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -358,7 +362,7 @@
+
+ #undef addnstr
+ int addnstr(
+- const char *a1,
++ const char *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -384,27 +388,27 @@
+
+ #undef attr_get
+ int attr_get(
+- attr_t *a1,
+- short *a2,
++ attr_t *a1,
++ short *a2,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef attr_off
+ int attr_off(
+- attr_t a1,
++ attr_t a1,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef attr_on
+ int attr_on(
+- attr_t a1,
++ attr_t a1,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef attr_set
+ int attr_set(
+- attr_t a1,
+- short a2,
++ attr_t a1,
++ short a2,
+ void *z)
+ { return(*(int *)0); }
+
+@@ -420,28 +424,28 @@
+
+ #undef border
+ int border(
+- chtype a1,
+- chtype a2,
+- chtype a3,
+- chtype a4,
+- chtype a5,
+- chtype a6,
+- chtype a7,
++ chtype a1,
++ chtype a2,
++ chtype a3,
++ chtype a4,
++ chtype a5,
++ chtype a6,
++ chtype a7,
+ chtype z)
+ { return(*(int *)0); }
+
+ #undef box
+ int box(
+- WINDOW *a1,
+- chtype a2,
++ WINDOW *a1,
++ chtype a2,
+ chtype z)
+ { return(*(int *)0); }
+
+ #undef chgat
+ int chgat(
+- int a1,
+- attr_t a2,
+- short a3,
++ int a1,
++ attr_t a2,
++ short a3,
+ const void *z)
+ { return(*(int *)0); }
+
+@@ -459,7 +463,7 @@
+
+ #undef color_set
+ int color_set(
+- short a1,
++ short a1,
+ void *z)
+ { return(*(int *)0); }
+
+@@ -496,7 +500,7 @@
+
+ #undef getnstr
+ int getnstr(
+- char *a1,
++ char *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -507,7 +511,7 @@
+
+ #undef hline
+ int hline(
+- chtype a1,
++ chtype a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -517,7 +521,7 @@
+
+ #undef inchnstr
+ int inchnstr(
+- chtype *a1,
++ chtype *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -528,7 +532,7 @@
+
+ #undef innstr
+ int innstr(
+- char *a1,
++ char *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -548,7 +552,7 @@
+
+ #undef insnstr
+ int insnstr(
+- const char *a1,
++ const char *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -564,323 +568,323 @@
+
+ #undef move
+ int move(
+- int a1,
++ int a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvaddch
+ int mvaddch(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const chtype z)
+ { return(*(int *)0); }
+
+ #undef mvaddchnstr
+ int mvaddchnstr(
+- int a1,
+- int a2,
+- const chtype *a3,
++ int a1,
++ int a2,
++ const chtype *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvaddchstr
+ int mvaddchstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const chtype *z)
+ { return(*(int *)0); }
+
+ #undef mvaddnstr
+ int mvaddnstr(
+- int a1,
+- int a2,
+- const char *a3,
++ int a1,
++ int a2,
++ const char *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvaddstr
+ int mvaddstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef mvchgat
+ int mvchgat(
+- int a1,
+- int a2,
+- int a3,
+- attr_t a4,
+- short a5,
++ int a1,
++ int a2,
++ int a3,
++ attr_t a4,
++ short a5,
+ const void *z)
+ { return(*(int *)0); }
+
+ #undef mvdelch
+ int mvdelch(
+- int a1,
++ int a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvgetch
+ int mvgetch(
+- int a1,
++ int a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvgetnstr
+ int mvgetnstr(
+- int a1,
+- int a2,
+- char *a3,
++ int a1,
++ int a2,
++ char *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvgetstr
+ int mvgetstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef mvhline
+ int mvhline(
+- int a1,
+- int a2,
+- chtype a3,
++ int a1,
++ int a2,
++ chtype a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvinch
+ chtype mvinch(
+- int a1,
++ int a1,
+ int z)
+ { return(*(chtype *)0); }
+
+ #undef mvinchnstr
+ int mvinchnstr(
+- int a1,
+- int a2,
+- chtype *a3,
++ int a1,
++ int a2,
++ chtype *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvinchstr
+ int mvinchstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ chtype *z)
+ { return(*(int *)0); }
+
+ #undef mvinnstr
+ int mvinnstr(
+- int a1,
+- int a2,
+- char *a3,
++ int a1,
++ int a2,
++ char *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvinsch
+ int mvinsch(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ chtype z)
+ { return(*(int *)0); }
+
+ #undef mvinsnstr
+ int mvinsnstr(
+- int a1,
+- int a2,
+- const char *a3,
++ int a1,
++ int a2,
++ const char *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvinsstr
+ int mvinsstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef mvinstr
+ int mvinstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef mvvline
+ int mvvline(
+- int a1,
+- int a2,
+- chtype a3,
++ int a1,
++ int a2,
++ chtype a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwaddch
+ int mvwaddch(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const chtype z)
+ { return(*(int *)0); }
+
+ #undef mvwaddchnstr
+ int mvwaddchnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const chtype *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const chtype *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwaddchstr
+ int mvwaddchstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const chtype *z)
+ { return(*(int *)0); }
+
+ #undef mvwaddnstr
+ int mvwaddnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const char *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const char *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwaddstr
+ int mvwaddstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef mvwchgat
+ int mvwchgat(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- int a4,
+- attr_t a5,
+- short a6,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ int a4,
++ attr_t a5,
++ short a6,
+ const void *z)
+ { return(*(int *)0); }
+
+ #undef mvwdelch
+ int mvwdelch(
+- WINDOW *a1,
+- int a2,
++ WINDOW *a1,
++ int a2,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwgetch
+ int mvwgetch(
+- WINDOW *a1,
+- int a2,
++ WINDOW *a1,
++ int a2,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwgetnstr
+ int mvwgetnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- char *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ char *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwgetstr
+ int mvwgetstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef mvwhline
+ int mvwhline(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- chtype a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ chtype a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwinch
+ chtype mvwinch(
+- WINDOW *a1,
+- int a2,
++ WINDOW *a1,
++ int a2,
+ int z)
+ { return(*(chtype *)0); }
+
+ #undef mvwinchnstr
+ int mvwinchnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- chtype *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ chtype *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwinchstr
+ int mvwinchstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ chtype *z)
+ { return(*(int *)0); }
+
+ #undef mvwinnstr
+ int mvwinnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- char *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ char *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwinsch
+ int mvwinsch(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ chtype z)
+ { return(*(int *)0); }
+
+ #undef mvwinsnstr
+ int mvwinsnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const char *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const char *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwinsstr
+ int mvwinsstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef mvwinstr
+ int mvwinstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef mvwvline
+ int mvwvline(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- chtype a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ chtype a4,
+ int z)
+ { return(*(int *)0); }
+
+@@ -910,19 +914,19 @@
+
+ #undef setscrreg
+ int setscrreg(
+- int a1,
++ int a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef slk_attr_off
+ int slk_attr_off(
+- const attr_t a1,
++ const attr_t a1,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef slk_attr_on
+ int slk_attr_on(
+- attr_t a1,
++ attr_t a1,
+ void *z)
+ { return(*(int *)0); }
+
+@@ -941,8 +945,8 @@
+
+ #undef touchline
+ int touchline(
+- WINDOW *a1,
+- int a2,
++ WINDOW *a1,
++ int a2,
+ int z)
+ { return(*(int *)0); }
+
+@@ -958,67 +962,67 @@
+
+ #undef vline
+ int vline(
+- chtype a1,
++ chtype a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef vw_printw
+ int vw_printw(
+- WINDOW *a1,
+- char *a2,
++ WINDOW *a1,
++ const char *a2,
+ va_list z)
+ { return(*(int *)0); }
+
+ #undef vw_scanw
+ int vw_scanw(
+- WINDOW *a1,
+- char *a2,
++ WINDOW *a1,
++ char *a2,
+ va_list z)
+ { return(*(int *)0); }
+
+ #undef waddchstr
+ int waddchstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const chtype *z)
+ { return(*(int *)0); }
+
+ #undef waddstr
+ int waddstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef wattron
+ int wattron(
+- WINDOW *a1,
++ WINDOW *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef wattroff
+ int wattroff(
+- WINDOW *a1,
++ WINDOW *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef wattrset
+ int wattrset(
+- WINDOW *a1,
++ WINDOW *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef wattr_get
+ int wattr_get(
+- WINDOW *a1,
+- attr_t *a2,
+- short *a3,
++ WINDOW *a1,
++ attr_t *a2,
++ short *a3,
+ void *z)
+ { return(*(int *)0); }
+
+ #undef wattr_set
+ int wattr_set(
+- WINDOW *a1,
+- attr_t a2,
+- short a3,
++ WINDOW *a1,
++ attr_t a2,
++ short a3,
+ void *z)
+ { return(*(int *)0); }
+
+@@ -1029,13 +1033,13 @@
+
+ #undef wgetstr
+ int wgetstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ char *z)
+ { return(*(int *)0); }
+
+ #undef winchstr
+ int winchstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ chtype *z)
+ { return(*(int *)0); }
+
+@@ -1046,13 +1050,13 @@
+
+ #undef winsstr
+ int winsstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const char *z)
+ { return(*(int *)0); }
+
+ #undef winstr
+ int winstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ char *z)
+ { return(*(int *)0); }
+
+@@ -1073,7 +1077,7 @@
+
+ #undef add_wchnstr
+ int add_wchnstr(
+- const cchar_t *a1,
++ const cchar_t *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -1084,7 +1088,7 @@
+
+ #undef addnwstr
+ int addnwstr(
+- const wchar_t *a1,
++ const wchar_t *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -1105,20 +1109,20 @@
+
+ #undef border_set
+ int border_set(
+- const cchar_t *a1,
+- const cchar_t *a2,
+- const cchar_t *a3,
+- const cchar_t *a4,
+- const cchar_t *a5,
+- const cchar_t *a6,
+- const cchar_t *a7,
++ const cchar_t *a1,
++ const cchar_t *a2,
++ const cchar_t *a3,
++ const cchar_t *a4,
++ const cchar_t *a5,
++ const cchar_t *a6,
++ const cchar_t *a7,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef box_set
+ int box_set(
+- WINDOW *a1,
+- const cchar_t *a2,
++ WINDOW *a1,
++ const cchar_t *a2,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+@@ -1129,12 +1133,12 @@
+
+ #undef get_wch
+ int get_wch(
+- wint_t *z)
++ wint_t *z)
+ { return(*(int *)0); }
+
+ #undef get_wstr
+ int get_wstr(
+- wint_t *z)
++ wint_t *z)
+ { return(*(int *)0); }
+
+ #undef getbkgrnd
+@@ -1144,13 +1148,13 @@
+
+ #undef getn_wstr
+ int getn_wstr(
+- wint_t *a1,
++ wint_t *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef hline_set
+ int hline_set(
+- const cchar_t *a1,
++ const cchar_t *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -1161,7 +1165,7 @@
+
+ #undef in_wchnstr
+ int in_wchnstr(
+- cchar_t *a1,
++ cchar_t *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -1172,13 +1176,13 @@
+
+ #undef innwstr
+ int innwstr(
+- wchar_t *a1,
++ wchar_t *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef ins_nwstr
+ int ins_nwstr(
+- const wchar_t *a1,
++ const wchar_t *a1,
+ int z)
+ { return(*(int *)0); }
+
+@@ -1194,335 +1198,335 @@
+
+ #undef inwstr
+ int inwstr(
+- wchar_t *z)
++ wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvadd_wch
+ int mvadd_wch(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvadd_wchnstr
+ int mvadd_wchnstr(
+- int a1,
+- int a2,
+- const cchar_t *a3,
++ int a1,
++ int a2,
++ const cchar_t *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvadd_wchstr
+ int mvadd_wchstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvaddnwstr
+ int mvaddnwstr(
+- int a1,
+- int a2,
+- const wchar_t *a3,
++ int a1,
++ int a2,
++ const wchar_t *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvaddwstr
+ int mvaddwstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvget_wch
+ int mvget_wch(
+- int a1,
+- int a2,
+- wint_t *z)
++ int a1,
++ int a2,
++ wint_t *z)
+ { return(*(int *)0); }
+
+ #undef mvget_wstr
+ int mvget_wstr(
+- int a1,
+- int a2,
+- wint_t *z)
++ int a1,
++ int a2,
++ wint_t *z)
+ { return(*(int *)0); }
+
+ #undef mvgetn_wstr
+ int mvgetn_wstr(
+- int a1,
+- int a2,
+- wint_t *a3,
++ int a1,
++ int a2,
++ wint_t *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvhline_set
+ int mvhline_set(
+- int a1,
+- int a2,
+- const cchar_t *a3,
++ int a1,
++ int a2,
++ const cchar_t *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvin_wch
+ int mvin_wch(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvin_wchnstr
+ int mvin_wchnstr(
+- int a1,
+- int a2,
+- cchar_t *a3,
++ int a1,
++ int a2,
++ cchar_t *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvin_wchstr
+ int mvin_wchstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvinnwstr
+ int mvinnwstr(
+- int a1,
+- int a2,
+- wchar_t *a3,
++ int a1,
++ int a2,
++ wchar_t *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvins_nwstr
+ int mvins_nwstr(
+- int a1,
+- int a2,
+- const wchar_t *a3,
++ int a1,
++ int a2,
++ const wchar_t *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvins_wch
+ int mvins_wch(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvins_wstr
+ int mvins_wstr(
+- int a1,
+- int a2,
++ int a1,
++ int a2,
+ const wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvinwstr
+ int mvinwstr(
+- int a1,
+- int a2,
+- wchar_t *z)
++ int a1,
++ int a2,
++ wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvvline_set
+ int mvvline_set(
+- int a1,
+- int a2,
+- const cchar_t *a3,
++ int a1,
++ int a2,
++ const cchar_t *a3,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwadd_wch
+ int mvwadd_wch(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwadd_wchnstr
+ int mvwadd_wchnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const cchar_t *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const cchar_t *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwadd_wchstr
+ int mvwadd_wchstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwaddnwstr
+ int mvwaddnwstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const wchar_t *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const wchar_t *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwaddwstr
+ int mvwaddwstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwget_wch
+ int mvwget_wch(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- wint_t *z)
++ WINDOW *a1,
++ int a2,
++ int a3,
++ wint_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwget_wstr
+ int mvwget_wstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- wint_t *z)
++ WINDOW *a1,
++ int a2,
++ int a3,
++ wint_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwgetn_wstr
+ int mvwgetn_wstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- wint_t *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ wint_t *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwhline_set
+ int mvwhline_set(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const cchar_t *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const cchar_t *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwin_wch
+ int mvwin_wch(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwin_wchnstr
+ int mvwin_wchnstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- cchar_t *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ cchar_t *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwin_wchstr
+ int mvwin_wchstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwinnwstr
+ int mvwinnwstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- wchar_t *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ wchar_t *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwins_nwstr
+ int mvwins_nwstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const wchar_t *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const wchar_t *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef mvwins_wch
+ int mvwins_wch(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwins_wstr
+ int mvwins_wstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
++ WINDOW *a1,
++ int a2,
++ int a3,
+ const wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwinwstr
+ int mvwinwstr(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- wchar_t *z)
++ WINDOW *a1,
++ int a2,
++ int a3,
++ wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mvwvline_set
+ int mvwvline_set(
+- WINDOW *a1,
+- int a2,
+- int a3,
+- const cchar_t *a4,
++ WINDOW *a1,
++ int a2,
++ int a3,
++ const cchar_t *a4,
+ int z)
+ { return(*(int *)0); }
+
+ #undef vline_set
+ int vline_set(
+- const cchar_t *a1,
++ const cchar_t *a1,
+ int z)
+ { return(*(int *)0); }
+
+ #undef wadd_wchstr
+ int wadd_wchstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef waddwstr
+ int waddwstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef wget_wstr
+ int wget_wstr(
+- WINDOW *a1,
+- wint_t *z)
++ WINDOW *a1,
++ wint_t *z)
+ { return(*(int *)0); }
+
+ #undef win_wchstr
+ int win_wchstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ cchar_t *z)
+ { return(*(int *)0); }
+
+ #undef wins_wstr
+ int wins_wstr(
+- WINDOW *a1,
++ WINDOW *a1,
+ const wchar_t *z)
+ { return(*(int *)0); }
+
+ #undef mouse_trafo
+ NCURSES_BOOL mouse_trafo(
+- int *a1,
+- int *a2,
++ int *a1,
++ int *a2,
+ NCURSES_BOOL z)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -1535,8 +1539,8 @@
+
+ #undef _nc_wgetch
+ int _nc_wgetch(
+- WINDOW *win,
+- unsigned long *result,
++ WINDOW *win,
++ unsigned long *result,
+ int use_meta)
+ { return(*(int *)0); }
+
+@@ -1549,8 +1553,8 @@
+
+ #undef wgetnstr
+ int wgetnstr(
+- WINDOW *win,
+- char *str,
++ WINDOW *win,
++ char *str,
+ int maxlen)
+ { return(*(int *)0); }
+
+@@ -1558,8 +1562,8 @@
+
+ #undef whline
+ int whline(
+- WINDOW *win,
+- chtype ch,
++ WINDOW *win,
++ chtype ch,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1567,7 +1571,7 @@
+
+ #undef immedok
+ void immedok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { /* void */ }
+
+@@ -1575,8 +1579,8 @@
+
+ #undef winchnstr
+ int winchnstr(
+- WINDOW *win,
+- chtype *str,
++ WINDOW *win,
++ chtype *str,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1588,26 +1592,30 @@
+
+ /* ./base/lib_insch.c */
+
++#undef _nc_insert_ch
++void _nc_insert_ch(
++ WINDOW *win,
++ chtype ch)
++ { /* void */ }
++
+ #undef winsch
+ int winsch(
+- WINDOW *win,
++ WINDOW *win,
+ chtype c)
+ { return(*(int *)0); }
+
+-/* ./base/lib_insdel.c */
+-
+-#undef winsdelln
+-int winsdelln(
+- WINDOW *win,
++#undef winsnstr
++int winsnstr(
++ WINDOW *win,
++ const char *s,
+ int n)
+ { return(*(int *)0); }
+
+-/* ./base/lib_insstr.c */
++/* ./base/lib_insdel.c */
+
+-#undef winsnstr
+-int winsnstr(
+- WINDOW *win,
+- const char *s,
++#undef winsdelln
++int winsdelln(
++ WINDOW *win,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1615,8 +1623,8 @@
+
+ #undef winnstr
+ int winnstr(
+- WINDOW *win,
+- char *str,
++ WINDOW *win,
++ char *str,
+ int n)
+ { return(*(int *)0); }
+
+@@ -1630,7 +1638,7 @@
+
+ #undef leaveok
+ int leaveok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -1648,14 +1656,14 @@
+
+ #undef mousemask
+ mmask_t mousemask(
+- mmask_t newmask,
++ mmask_t newmask,
+ mmask_t *oldmask)
+ { return(*(mmask_t *)0); }
+
+ #undef wenclose
+ NCURSES_BOOL wenclose(
+- const WINDOW *win,
+- int y,
++ const WINDOW *win,
++ int y,
+ int x)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -1670,9 +1678,9 @@
+
+ #undef wmouse_trafo
+ NCURSES_BOOL wmouse_trafo(
+- const WINDOW *win,
+- int *pY,
+- int *pX,
++ const WINDOW *win,
++ int *pY,
++ int *pX,
+ NCURSES_BOOL to_screen)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -1680,8 +1688,8 @@
+
+ #undef wmove
+ int wmove(
+- WINDOW *win,
+- int y,
++ WINDOW *win,
++ int y,
+ int x)
+ { return(*(int *)0); }
+
+@@ -1689,7 +1697,7 @@
+
+ #undef _nc_msec_cost
+ int _nc_msec_cost(
+- const char *const cap,
++ const char *const cap,
+ int affcnt)
+ { return(*(int *)0); }
+
+@@ -1707,9 +1715,9 @@
+
+ #undef mvcur
+ int mvcur(
+- int yold,
+- int xold,
+- int ynew,
++ int yold,
++ int xold,
++ int ynew,
+ int xnew)
+ { return(*(int *)0); }
+
+@@ -1720,8 +1728,8 @@
+
+ #undef mvwin
+ int mvwin(
+- WINDOW *win,
+- int by,
++ WINDOW *win,
++ int by,
+ int bx)
+ { return(*(int *)0); }
+
+@@ -1733,8 +1741,8 @@
+
+ #undef newterm
+ SCREEN *newterm(
+- char *name,
+- FILE *ofp,
++ char *name,
++ FILE *ofp,
+ FILE *ifp)
+ { return(*(SCREEN **)0); }
+
+@@ -1747,36 +1755,36 @@
+
+ #undef newwin
+ WINDOW *newwin(
+- int num_lines,
+- int num_columns,
+- int begy,
++ int num_lines,
++ int num_columns,
++ int begy,
+ int begx)
+ { return(*(WINDOW **)0); }
+
+ #undef derwin
+ WINDOW *derwin(
+- WINDOW *orig,
+- int num_lines,
+- int num_columns,
+- int begy,
++ WINDOW *orig,
++ int num_lines,
++ int num_columns,
++ int begy,
+ int begx)
+ { return(*(WINDOW **)0); }
+
+ #undef subwin
+ WINDOW *subwin(
+- WINDOW *w,
+- int l,
+- int c,
+- int y,
++ WINDOW *w,
++ int l,
++ int c,
++ int y,
+ int x)
+ { return(*(WINDOW **)0); }
+
+ #undef _nc_makenew
+ WINDOW *_nc_makenew(
+- int num_lines,
+- int num_columns,
+- int begy,
+- int begx,
++ int num_lines,
++ int num_columns,
++ int begy,
++ int begx,
+ int flags)
+ { return(*(WINDOW **)0); }
+
+@@ -1794,26 +1802,26 @@
+
+ #undef overlay
+ int overlay(
+- const WINDOW *win1,
++ const WINDOW *win1,
+ WINDOW *win2)
+ { return(*(int *)0); }
+
+ #undef overwrite
+ int overwrite(
+- const WINDOW *win1,
++ const WINDOW *win1,
+ WINDOW *win2)
+ { return(*(int *)0); }
+
+ #undef copywin
+ int copywin(
+- const WINDOW *src,
+- WINDOW *dst,
+- int sminrow,
+- int smincol,
+- int dminrow,
+- int dmincol,
+- int dmaxrow,
+- int dmaxcol,
++ const WINDOW *src,
++ WINDOW *dst,
++ int sminrow,
++ int smincol,
++ int dminrow,
++ int dmincol,
++ int dmaxrow,
++ int dmaxcol,
+ int over)
+ { return(*(int *)0); }
+
+@@ -1821,44 +1829,44 @@
+
+ #undef newpad
+ WINDOW *newpad(
+- int l,
++ int l,
+ int c)
+ { return(*(WINDOW **)0); }
+
+ #undef subpad
+ WINDOW *subpad(
+- WINDOW *orig,
+- int l,
+- int c,
+- int begy,
++ WINDOW *orig,
++ int l,
++ int c,
++ int begy,
+ int begx)
+ { return(*(WINDOW **)0); }
+
+ #undef prefresh
+ int prefresh(
+- WINDOW *win,
+- int pminrow,
+- int pmincol,
+- int sminrow,
+- int smincol,
+- int smaxrow,
++ WINDOW *win,
++ int pminrow,
++ int pmincol,
++ int sminrow,
++ int smincol,
++ int smaxrow,
+ int smaxcol)
+ { return(*(int *)0); }
+
+ #undef pnoutrefresh
+ int pnoutrefresh(
+- WINDOW *win,
+- int pminrow,
+- int pmincol,
+- int sminrow,
+- int smincol,
+- int smaxrow,
++ WINDOW *win,
++ int pminrow,
++ int pmincol,
++ int sminrow,
++ int smincol,
++ int smaxrow,
+ int smaxcol)
+ { return(*(int *)0); }
+
+ #undef pechochar
+ int pechochar(
+- WINDOW *pad,
++ WINDOW *pad,
+ const chtype ch)
+ { return(*(int *)0); }
+
+@@ -1866,38 +1874,38 @@
+
+ #undef printw
+ int printw(
+- char *fmt,
++ const char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef wprintw
+ int wprintw(
+- WINDOW *win,
+- char *fmt,
++ WINDOW *win,
++ const char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef mvprintw
+ int mvprintw(
+- int y,
+- int x,
+- char *fmt,
++ int y,
++ int x,
++ const char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef mvwprintw
+ int mvwprintw(
+- WINDOW *win,
+- int y,
+- int x,
+- char *fmt,
++ WINDOW *win,
++ int y,
++ int x,
++ const char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef vwprintw
+ int vwprintw(
+- WINDOW *win,
+- char *fmt,
++ WINDOW *win,
++ const char *fmt,
+ va_list argp)
+ { return(*(int *)0); }
+
+@@ -1905,8 +1913,8 @@
+
+ #undef wredrawln
+ int wredrawln(
+- WINDOW *win,
+- int beg,
++ WINDOW *win,
++ int beg,
+ int num)
+ { return(*(int *)0); }
+
+@@ -1926,8 +1934,8 @@
+
+ #undef restartterm
+ int restartterm(
+- char *termp,
+- int filenum,
++ char *termp,
++ int filenum,
+ int *errret)
+ { return(*(int *)0); }
+
+@@ -1935,38 +1943,38 @@
+
+ #undef vwscanw
+ int vwscanw(
+- WINDOW *win,
+- char *fmt,
++ WINDOW *win,
++ char *fmt,
+ va_list argp)
+ { return(*(int *)0); }
+
+ #undef scanw
+ int scanw(
+- char *fmt,
++ char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef wscanw
+ int wscanw(
+- WINDOW *win,
+- char *fmt,
++ WINDOW *win,
++ char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef mvscanw
+ int mvscanw(
+- int y,
+- int x,
+- char *fmt,
++ int y,
++ int x,
++ char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+ #undef mvwscanw
+ int mvwscanw(
+- WINDOW *win,
+- int y,
+- int x,
+- char *fmt,
++ WINDOW *win,
++ int y,
++ int x,
++ char *fmt,
+ ...)
+ { return(*(int *)0); }
+
+@@ -1979,7 +1987,7 @@
+
+ #undef putwin
+ int putwin(
+- WINDOW *win,
++ WINDOW *win,
+ FILE *filep)
+ { return(*(int *)0); }
+
+@@ -2007,16 +2015,16 @@
+
+ #undef _nc_scroll_window
+ void _nc_scroll_window(
+- WINDOW *win,
+- int const n,
+- short const top,
+- short const bottom,
++ WINDOW *win,
++ int const n,
++ short const top,
++ short const bottom,
+ cchar_t blank)
+ { /* void */ }
+
+ #undef wscrl
+ int wscrl(
+- WINDOW *win,
++ WINDOW *win,
+ int n)
+ { return(*(int *)0); }
+
+@@ -2024,7 +2032,7 @@
+
+ #undef scrollok
+ int scrollok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -2032,8 +2040,8 @@
+
+ #undef wsetscrreg
+ int wsetscrreg(
+- WINDOW *win,
+- int top,
++ WINDOW *win,
++ int top,
+ int bottom)
+ { return(*(int *)0); }
+
+@@ -2051,24 +2059,24 @@
+
+ #undef _nc_setupscreen
+ int _nc_setupscreen(
+- short slines,
+- short const scolumns,
++ short slines,
++ short const scolumns,
+ FILE *output)
+ { return(*(int *)0); }
+
+ #undef _nc_ripoffline
+ int _nc_ripoffline(
+- int line,
++ int line,
+ int (*init)(
+- WINDOW *p1,
++ WINDOW *p1,
+ int p2))
+ { return(*(int *)0); }
+
+ #undef ripoffline
+ int ripoffline(
+- int line,
++ int line,
+ int (*init)(
+- WINDOW *p1,
++ WINDOW *p1,
+ int p2))
+ { return(*(int *)0); }
+
+@@ -2079,7 +2087,7 @@
+
+ #undef _nc_slk_initialize
+ int _nc_slk_initialize(
+- WINDOW *stwin,
++ WINDOW *stwin,
+ int cols)
+ { return(*(int *)0); }
+
+@@ -2091,8 +2099,8 @@
+
+ #undef slk_attr_set
+ int slk_attr_set(
+- const attr_t attr,
+- short color_pair_number,
++ const attr_t attr,
++ short color_pair_number,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -2164,8 +2172,8 @@
+
+ #undef slk_set
+ int slk_set(
+- int i,
+- const char *astr,
++ int i,
++ const char *astr,
+ int format)
+ { return(*(int *)0); }
+
+@@ -2179,7 +2187,7 @@
+
+ #undef is_linetouched
+ NCURSES_BOOL is_linetouched(
+- WINDOW *win,
++ WINDOW *win,
+ int line)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -2190,9 +2198,9 @@
+
+ #undef wtouchln
+ int wtouchln(
+- WINDOW *win,
+- int y,
+- int n,
++ WINDOW *win,
++ int y,
++ int n,
+ int changed)
+ { return(*(int *)0); }
+
+@@ -2200,7 +2208,7 @@
+
+ #undef _traceattr2
+ char *_traceattr2(
+- int bufnum,
++ int bufnum,
+ attr_t newmode)
+ { return(*(char **)0); }
+
+@@ -2216,13 +2224,13 @@
+
+ #undef _nc_altcharset_name
+ const char *_nc_altcharset_name(
+- attr_t attr,
++ attr_t attr,
+ chtype ch)
+ { return(*(const char **)0); }
+
+ #undef _tracechtype2
+ char *_tracechtype2(
+- int bufnum,
++ int bufnum,
+ chtype ch)
+ { return(*(char **)0); }
+
+@@ -2232,13 +2240,13 @@
+ { return(*(char **)0); }
+
+ #undef _nc_retrace_chtype
+-attr_t _nc_retrace_chtype(
+- attr_t code)
+- { return(*(attr_t *)0); }
++chtype _nc_retrace_chtype(
++ chtype code)
++ { return(*(chtype *)0); }
+
+ #undef _tracecchar_t2
+ char *_tracecchar_t2(
+- int bufnum,
++ int bufnum,
+ const cchar_t *ch)
+ { return(*(char **)0); }
+
+@@ -2251,7 +2259,7 @@
+
+ #undef _tracedump
+ void _tracedump(
+- const char *name,
++ const char *name,
+ WINDOW *win)
+ { /* void */ }
+
+@@ -2286,7 +2294,7 @@
+
+ #undef vidputs
+ int vidputs(
+- chtype newmode,
++ chtype newmode,
+ int (*outc)(
+ int p1))
+ { return(*(int *)0); }
+@@ -2304,8 +2312,8 @@
+
+ #undef wvline
+ int wvline(
+- WINDOW *win,
+- chtype ch,
++ WINDOW *win,
++ chtype ch,
+ int n)
+ { return(*(int *)0); }
+
+@@ -2313,8 +2321,8 @@
+
+ #undef wattr_off
+ int wattr_off(
+- WINDOW *win,
+- attr_t at,
++ WINDOW *win,
++ attr_t at,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -2322,8 +2330,8 @@
+
+ #undef wattr_on
+ int wattr_on(
+- WINDOW *win,
+- attr_t at,
++ WINDOW *win,
++ attr_t at,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -2343,14 +2351,14 @@
+
+ #undef mvderwin
+ int mvderwin(
+- WINDOW *win,
+- int y,
++ WINDOW *win,
++ int y,
+ int x)
+ { return(*(int *)0); }
+
+ #undef syncok
+ int syncok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL bf)
+ { return(*(int *)0); }
+
+@@ -2384,7 +2392,7 @@
+
+ #undef _nc_printf_string
+ char *_nc_printf_string(
+- const char *fmt,
++ const char *fmt,
+ va_list ap)
+ { return(*(char **)0); }
+
+@@ -2404,9 +2412,9 @@
+
+ #undef _nc_scrolln
+ int _nc_scrolln(
+- int n,
+- int top,
+- int bot,
++ int n,
++ int top,
++ int bot,
+ int maxy)
+ { return(*(int *)0); }
+
+@@ -2435,7 +2443,7 @@
+
+ #undef _nc_varargs
+ char *_nc_varargs(
+- const char *fmt,
++ const char *fmt,
+ va_list ap)
+ { return(*(char **)0); }
+
+@@ -2457,18 +2465,43 @@
+ void _nc_vsscanf(void)
+ { /* void */ }
+
++/* ./base/lib_freeall.c */
++
++#include <term_entry.h>
++
++#undef _nc_freeall
++void _nc_freeall(void)
++ { /* void */ }
++
++/* ./widechar/charable.c */
++
++#undef _nc_is_charable
++NCURSES_BOOL _nc_is_charable(
++ wchar_t ch)
++ { return(*(NCURSES_BOOL *)0); }
++
++#undef _nc_to_char
++int _nc_to_char(
++ wint_t ch)
++ { return(*(int *)0); }
++
++#undef _nc_to_widechar
++wint_t _nc_to_widechar(
++ int ch)
++ { return(*(wint_t *)0); }
++
+ /* ./widechar/lib_box_set.c */
+
+ #undef wborder_set
+ int wborder_set(
+- WINDOW *win,
+- const cchar_t *ls,
+- const cchar_t *rs,
+- const cchar_t *ts,
+- const cchar_t *bs,
+- const cchar_t *tl,
+- const cchar_t *tr,
+- const cchar_t *bl,
++ WINDOW *win,
++ const cchar_t *ls,
++ const cchar_t *rs,
++ const cchar_t *ts,
++ const cchar_t *bs,
++ const cchar_t *tl,
++ const cchar_t *tr,
++ const cchar_t *bl,
+ const cchar_t *br)
+ { return(*(int *)0); }
+
+@@ -2476,19 +2509,19 @@
+
+ #undef setcchar
+ int setcchar(
+- cchar_t *wcval,
+- const wchar_t *wch,
+- const attr_t attrs,
+- short color_pair,
++ cchar_t *wcval,
++ const wchar_t *wch,
++ const attr_t attrs,
++ short color_pair,
+ const void *opts)
+ { return(*(int *)0); }
+
+ #undef getcchar
+ int getcchar(
+- const cchar_t *wcval,
+- wchar_t *wch,
+- attr_t *attrs,
+- short *color_pair,
++ const cchar_t *wcval,
++ wchar_t *wch,
++ attr_t *attrs,
++ short *color_pair,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -2496,28 +2529,28 @@
+
+ #undef wget_wch
+ int wget_wch(
+- WINDOW *win,
+- wint_t *result)
++ WINDOW *win,
++ wint_t *result)
+ { return(*(int *)0); }
+
+ /* ./widechar/lib_erasewchar.c */
+
+ #undef erasewchar
+ int erasewchar(
+- wchar_t *wch)
++ wchar_t *wch)
+ { return(*(int *)0); }
+
+ #undef killwchar
+ int killwchar(
+- wchar_t *wch)
++ wchar_t *wch)
+ { return(*(int *)0); }
+
+ /* ./widechar/lib_get_wstr.c */
+
+ #undef wgetn_wstr
+ int wgetn_wstr(
+- WINDOW *win,
+- wint_t *str,
++ WINDOW *win,
++ wint_t *str,
+ int maxlen)
+ { return(*(int *)0); }
+
+@@ -2525,8 +2558,8 @@
+
+ #undef whline_set
+ int whline_set(
+- WINDOW *win,
+- const cchar_t *ch,
++ WINDOW *win,
++ const cchar_t *ch,
+ int n)
+ { return(*(int *)0); }
+
+@@ -2534,7 +2567,7 @@
+
+ #undef win_wch
+ int win_wch(
+- WINDOW *win,
++ WINDOW *win,
+ cchar_t *wcval)
+ { return(*(int *)0); }
+
+@@ -2542,17 +2575,8 @@
+
+ #undef win_wchnstr
+ int win_wchnstr(
+- WINDOW *win,
+- cchar_t *wchstr,
+- int n)
+- { return(*(int *)0); }
+-
+-/* ./widechar/lib_ins_nwstr.c */
+-
+-#undef wins_nwstr
+-int wins_nwstr(
+- WINDOW *win,
+- const wchar_t *wstr,
++ WINDOW *win,
++ cchar_t *wchstr,
+ int n)
+ { return(*(int *)0); }
+
+@@ -2560,23 +2584,39 @@
+
+ #undef wins_wch
+ int wins_wch(
+- WINDOW *win,
++ WINDOW *win,
+ const cchar_t *wch)
+ { return(*(int *)0); }
+
++#undef wins_nwstr
++int wins_nwstr(
++ WINDOW *win,
++ const wchar_t *wstr,
++ int n)
++ { return(*(int *)0); }
++
+ /* ./widechar/lib_inwstr.c */
+
+ #undef winnwstr
+ int winnwstr(
+- WINDOW *win,
+- wchar_t *wstr,
++ WINDOW *win,
++ wchar_t *wstr,
+ int n)
+ { return(*(int *)0); }
+
+ #undef winwstr
+ int winwstr(
+- WINDOW *win,
+- wchar_t *wstr)
++ WINDOW *win,
++ wchar_t *wstr)
++ { return(*(int *)0); }
++
++/* ./widechar/lib_slk_wset.c */
++
++#undef slk_wset
++int slk_wset(
++ int i,
++ const wchar_t *astr,
++ int format)
+ { return(*(int *)0); }
+
+ /* ./widechar/lib_unget_wch.c */
+@@ -2590,17 +2630,17 @@
+
+ #undef vid_puts
+ int vid_puts(
+- attr_t newmode,
+- short pair,
+- void *opts,
++ attr_t newmode,
++ short pair,
++ void *opts,
+ int (*outc)(
+ int p1))
+ { return(*(int *)0); }
+
+ #undef vid_attr
+ int vid_attr(
+- attr_t newmode,
+- short pair,
++ attr_t newmode,
++ short pair,
+ void *opts)
+ { return(*(int *)0); }
+
+@@ -2612,8 +2652,8 @@
+
+ #undef wvline_set
+ int wvline_set(
+- WINDOW *win,
+- const cchar_t *ch,
++ WINDOW *win,
++ const cchar_t *ch,
+ int n)
+ { return(*(int *)0); }
+
+@@ -2629,7 +2669,7 @@
+ /* ./widechar/lib_wunctrl.c */
+
+ #undef wunctrl
+-wchar_t *wunctrl(
++wchar_t *wunctrl(
+ cchar_t *wc)
+ { return(*(wchar_t **)0); }
+
+@@ -2637,7 +2677,7 @@
+
+ #undef define_key
+ int define_key(
+- char *str,
++ const char *str,
+ int keycode)
+ { return(*(int *)0); }
+
+@@ -2645,13 +2685,13 @@
+
+ #undef _nc_toggle_attr_on
+ void _nc_toggle_attr_on(
+- attr_t *S,
++ attr_t *S,
+ attr_t at)
+ { /* void */ }
+
+ #undef _nc_toggle_attr_off
+ void _nc_toggle_attr_off(
+- attr_t *S,
++ attr_t *S,
+ attr_t at)
+ { /* void */ }
+
+@@ -2670,11 +2710,18 @@
+ chtype c)
+ { /* void */ }
+
++/* ./base/key_defined.c */
++
++#undef key_defined
++int key_defined(
++ const char *str)
++ { return(*(int *)0); }
++
+ /* ./base/keybound.c */
+
+ #undef keybound
+ char *keybound(
+- int code,
++ int code,
+ int count)
+ { return(*(char **)0); }
+
+@@ -2682,7 +2729,7 @@
+
+ #undef keyok
+ int keyok(
+- int c,
++ int c,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -2694,23 +2741,15 @@
+
+ #undef assume_default_colors
+ int assume_default_colors(
+- int fg,
++ int fg,
+ int bg)
+ { return(*(int *)0); }
+
+-/* ./base/lib_freeall.c */
+-
+-#include <term_entry.h>
+-
+-#undef _nc_freeall
+-void _nc_freeall(void)
+- { /* void */ }
+-
+ /* ./tinfo/lib_print.c */
+
+ #undef mcprint
+ int mcprint(
+- char *data,
++ char *data,
+ int len)
+ { return(*(int *)0); }
+
+@@ -2718,19 +2757,19 @@
+
+ #undef is_term_resized
+ NCURSES_BOOL is_term_resized(
+- int ToLines,
++ int ToLines,
+ int ToCols)
+ { return(*(NCURSES_BOOL *)0); }
+
+ #undef resize_term
+ int resize_term(
+- int ToLines,
++ int ToLines,
+ int ToCols)
+ { return(*(int *)0); }
+
+ #undef resizeterm
+ int resizeterm(
+- int ToLines,
++ int ToLines,
+ int ToCols)
+ { return(*(int *)0); }
+
+@@ -2745,22 +2784,22 @@
+
+ #undef _nc_expand_try
+ char *_nc_expand_try(
+- struct tries *tree,
+- unsigned short code,
+- int *count,
++ struct tries *tree,
++ unsigned short code,
++ int *count,
+ size_t len)
+ { return(*(char **)0); }
+
+ #undef _nc_remove_key
+ int _nc_remove_key(
+- struct tries **tree,
++ struct tries **tree,
+ unsigned short code)
+ { return(*(int *)0); }
+
+ #undef _nc_remove_string
+ int _nc_remove_string(
+- struct tries **tree,
+- char *string)
++ struct tries **tree,
++ const char *string)
+ { return(*(int *)0); }
+
+ /* ./base/version.c */
+@@ -2773,8 +2812,8 @@
+
+ #undef wresize
+ int wresize(
+- WINDOW *win,
+- int ToLines,
++ WINDOW *win,
++ int ToLines,
+ int ToCols)
+ { return(*(int *)0); }
+
+@@ -2785,6 +2824,11 @@
+ char *path)
+ { return(*(char **)0); }
+
++#undef _nc_pathlast
++unsigned _nc_pathlast(
++ const char *path)
++ { return(*(unsigned *)0); }
++
+ #undef _nc_basename
+ char *_nc_basename(
+ char *path)
+@@ -2792,7 +2836,7 @@
+
+ #undef _nc_access
+ int _nc_access(
+- const char *path,
++ const char *path,
+ int mode)
+ { return(*(int *)0); }
+
+@@ -2804,8 +2848,8 @@
+
+ #undef _nc_add_to_try
+ void _nc_add_to_try(
+- struct tries **tree,
+- const char *str,
++ struct tries **tree,
++ const char *str,
+ unsigned short code)
+ { /* void */ }
+
+@@ -2828,13 +2872,13 @@
+
+ #undef _nc_wrap_entry
+ void _nc_wrap_entry(
+- ENTRY *const ep,
++ ENTRY *const ep,
+ NCURSES_BOOL copy_strings)
+ { /* void */ }
+
+ #undef _nc_merge_entry
+ void _nc_merge_entry(
+- TERMTYPE *const to,
++ TERMTYPE *const to,
+ TERMTYPE *const from)
+ { /* void */ }
+
+@@ -2842,13 +2886,13 @@
+
+ #undef _nc_align_termtype
+ void _nc_align_termtype(
+- TERMTYPE *to,
++ TERMTYPE *to,
+ TERMTYPE *from)
+ { /* void */ }
+
+ #undef _nc_copy_termtype
+ void _nc_copy_termtype(
+- TERMTYPE *dst,
++ TERMTYPE *dst,
+ TERMTYPE *src)
+ { /* void */ }
+
+@@ -2856,15 +2900,15 @@
+
+ #undef _nc_captoinfo
+ char *_nc_captoinfo(
+- const char *cap,
+- const char *s,
++ const char *cap,
++ const char *s,
+ int const parametrized)
+ { return(*(char **)0); }
+
+ #undef _nc_infotocap
+ char *_nc_infotocap(
+- const char *cap,
+- const char *str,
++ const char *cap,
++ const char *str,
+ int const parametrized)
+ { return(*(char **)0); }
+
+@@ -2926,19 +2970,19 @@
+
+ #undef _nc_warning
+ void _nc_warning(
+- const char *const fmt,
++ const char *const fmt,
+ ...)
+ { /* void */ }
+
+ #undef _nc_err_abort
+ void _nc_err_abort(
+- const char *const fmt,
++ const char *const fmt,
+ ...)
+ { /* void */ }
+
+ #undef _nc_syserr_abort
+ void _nc_syserr_abort(
+- const char *const fmt,
++ const char *const fmt,
+ ...)
+ { /* void */ }
+
+@@ -2946,8 +2990,8 @@
+
+ #undef _nc_tic_expand
+ char *_nc_tic_expand(
+- const char *srcp,
+- NCURSES_BOOL tic_format,
++ const char *srcp,
++ NCURSES_BOOL tic_format,
+ int numbers)
+ { return(*(char **)0); }
+
+@@ -2957,14 +3001,14 @@
+
+ #undef _nc_find_entry
+ struct name_table_entry const *_nc_find_entry(
+- const char *string,
++ const char *string,
+ const struct name_table_entry *const *hash_table)
+ { return(*(struct name_table_entry const **)0); }
+
+ #undef _nc_find_type_entry
+ struct name_table_entry const *_nc_find_type_entry(
+- const char *string,
+- int type,
++ const char *string,
++ int type,
+ const struct name_table_entry *table)
+ { return(*(struct name_table_entry const **)0); }
+
+@@ -2985,16 +3029,16 @@
+
+ #undef _nc_entry_match
+ NCURSES_BOOL _nc_entry_match(
+- char *n1,
++ char *n1,
+ char *n2)
+ { return(*(NCURSES_BOOL *)0); }
+
+ #undef _nc_read_entry_source
+ void _nc_read_entry_source(
+- FILE *fp,
+- char *buf,
+- int literal,
+- NCURSES_BOOL silent,
++ FILE *fp,
++ char *buf,
++ int literal,
++ NCURSES_BOOL silent,
+ NCURSES_BOOL (*hook)(
+ ENTRY *p1))
+ { /* void */ }
+@@ -3028,7 +3072,7 @@
+
+ #undef _nc_trans_string
+ char _nc_trans_string(
+- char *ptr,
++ char *ptr,
+ char *last)
+ { return(*(char *)0); }
+
+@@ -3044,7 +3088,7 @@
+
+ #undef _nc_reset_input
+ void _nc_reset_input(
+- FILE *fp,
++ FILE *fp,
+ char *buf)
+ { /* void */ }
+
+@@ -3052,7 +3096,7 @@
+
+ #undef _nc_doalloc
+ void *_nc_doalloc(
+- void *oldp,
++ void *oldp,
+ size_t amount)
+ { return(*(void **)0); }
+
+@@ -3120,8 +3164,8 @@
+ #include <termcap.h>
+
+ struct speed {
+- int s;
+- int sp;
++ int s;
++ int sp;
+ };
+
+ #undef _nc_baudrate
+@@ -3202,7 +3246,7 @@
+
+ #undef key_name
+ char *key_name(
+- wchar_t c)
++ wchar_t c)
+ { return(*(char **)0); }
+
+ /* ./tinfo/lib_longname.c */
+@@ -3224,13 +3268,13 @@
+
+ #undef idlok
+ int idlok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+ #undef idcok
+ void idcok(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { /* void */ }
+
+@@ -3241,31 +3285,31 @@
+
+ #undef nodelay
+ int nodelay(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+ #undef notimeout
+ int notimeout(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL f)
+ { return(*(int *)0); }
+
+ #undef wtimeout
+ void wtimeout(
+- WINDOW *win,
++ WINDOW *win,
+ int delay)
+ { /* void */ }
+
+ #undef keypad
+ int keypad(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+ #undef meta
+ int meta(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -3317,7 +3361,7 @@
+
+ #undef intrflush
+ int intrflush(
+- WINDOW *win,
++ WINDOW *win,
+ NCURSES_BOOL flag)
+ { return(*(int *)0); }
+
+@@ -3325,11 +3369,8 @@
+
+ #include <sys/ioctl.h>
+
+-#undef use_env
+-void use_env(
+- NCURSES_BOOL f)
+- { /* void */ }
+-
++#undef ttytype
++char ttytype[256 ];
+ #undef LINES
+ int LINES;
+ #undef COLS
+@@ -3337,17 +3378,31 @@
+ #undef TABSIZE
+ int TABSIZE;
+
++#undef use_env
++void use_env(
++ NCURSES_BOOL f)
++ { /* void */ }
++
+ #undef _nc_update_screensize
+ void _nc_update_screensize(void)
+ { /* void */ }
+
+-#undef ttytype
+-char ttytype[256 ];
++#undef _nc_get_locale
++char *_nc_get_locale(void)
++ { return(*(char **)0); }
++
++#undef _nc_unicode_locale
++int _nc_unicode_locale(void)
++ { return(*(int *)0); }
++
++#undef _nc_locale_breaks_acs
++int _nc_locale_breaks_acs(void)
++ { return(*(int *)0); }
+
+ #undef setupterm
+ int setupterm(
+- char *tname,
+- int Filedes,
++ char *tname,
++ int Filedes,
+ int *errret)
+ { return(*(int *)0); }
+
+@@ -3360,7 +3415,7 @@
+
+ #undef tgetent
+ int tgetent(
+- char *bufp,
++ char *bufp,
+ const char *name)
+ { return(*(int *)0); }
+
+@@ -3382,7 +3437,7 @@
+
+ #undef tgetstr
+ char *tgetstr(
+- char *id,
++ char *id,
+ char **area)
+ { return(*(char **)0); }
+
+@@ -3396,8 +3451,8 @@
+
+ #undef tgoto
+ char *tgoto(
+- const char *string,
+- int x,
++ const char *string,
++ int x,
+ int y)
+ { return(*(char **)0); }
+
+@@ -3431,9 +3486,16 @@
+ #undef _nc_tparm_err
+ int _nc_tparm_err;
+
++#undef _nc_tparm_analyze
++int _nc_tparm_analyze(
++ const char *string,
++ char *p_is_s[9 ],
++ int *popcount)
++ { return(*(int *)0); }
++
+ #undef tparm
+ char *tparm(
+- char *string,
++ char *string,
+ ...)
+ { return(*(char **)0); }
+
+@@ -3467,8 +3529,8 @@
+
+ #undef tputs
+ int tputs(
+- const char *string,
+- int affcnt,
++ const char *string,
++ int affcnt,
+ int (*outc)(
+ int p1))
+ { return(*(int *)0); }
+@@ -3489,15 +3551,25 @@
+
+ #undef _tracef
+ void _tracef(
+- const char *fmt,
++ const char *fmt,
+ ...)
+ { /* void */ }
+
++#undef _nc_retrace_bool
++NCURSES_BOOL _nc_retrace_bool(
++ NCURSES_BOOL code)
++ { return(*(NCURSES_BOOL *)0); }
++
+ #undef _nc_retrace_int
+ int _nc_retrace_int(
+ int code)
+ { return(*(int *)0); }
+
++#undef _nc_retrace_unsigned
++unsigned _nc_retrace_unsigned(
++ unsigned code)
++ { return(*(unsigned *)0); }
++
+ #undef _nc_retrace_ptr
+ char *_nc_retrace_ptr(
+ char *code)
+@@ -3576,8 +3648,8 @@
+
+ #undef _nc_timed_wait
+ int _nc_timed_wait(
+- int mode,
+- int milliseconds,
++ int mode,
++ int milliseconds,
+ int *timeleft)
+ { return(*(int *)0); }
+
+@@ -3590,8 +3662,8 @@
+
+ #undef _nc_name_match
+ int _nc_name_match(
+- const char *const namelst,
+- const char *const name,
++ const char *const namelst,
++ const char *const name,
+ const char *const delim)
+ { return(*(int *)0); }
+
+@@ -3614,14 +3686,14 @@
+
+ #undef _nc_parse_entry
+ int _nc_parse_entry(
+- struct entry *entryp,
+- int literal,
++ struct entry *entryp,
++ int literal,
+ NCURSES_BOOL silent)
+ { return(*(int *)0); }
+
+ #undef _nc_capcmp
+ int _nc_capcmp(
+- const char *s,
++ const char *s,
+ const char *t)
+ { return(*(int *)0); }
+
+@@ -3644,14 +3716,14 @@
+
+ #undef _nc_read_file_entry
+ int _nc_read_file_entry(
+- const char *const filename,
++ const char *const filename,
+ TERMTYPE *ptr)
+ { return(*(int *)0); }
+
+ #undef _nc_read_entry
+ int _nc_read_entry(
+- const char *const tn,
+- char *const filename,
++ const char *const tn,
++ char *const filename,
+ TERMTYPE *const tp)
+ { return(*(int *)0); }
+
+@@ -3659,7 +3731,7 @@
+
+ #undef _nc_read_termcap_entry
+ int _nc_read_termcap_entry(
+- const char *const tn,
++ const char *const tn,
+ TERMTYPE *const tp)
+ { return(*(int *)0); }
+
+@@ -3667,7 +3739,7 @@
+
+ #undef _nc_set_buffer
+ void _nc_set_buffer(
+- FILE *ofp,
++ FILE *ofp,
+ NCURSES_BOOL buffered)
+ { /* void */ }
+
+@@ -3675,32 +3747,32 @@
+
+ #undef _nc_str_init
+ string_desc *_nc_str_init(
+- string_desc *dst,
+- char *src,
++ string_desc *dst,
++ char *src,
+ size_t len)
+ { return(*(string_desc **)0); }
+
+ #undef _nc_str_null
+ string_desc *_nc_str_null(
+- string_desc *dst,
++ string_desc *dst,
+ size_t len)
+ { return(*(string_desc **)0); }
+
+ #undef _nc_str_copy
+ string_desc *_nc_str_copy(
+- string_desc *dst,
++ string_desc *dst,
+ string_desc *src)
+ { return(*(string_desc **)0); }
+
+ #undef _nc_safe_strcat
+ NCURSES_BOOL _nc_safe_strcat(
+- string_desc *dst,
++ string_desc *dst,
+ const char *src)
+ { return(*(NCURSES_BOOL *)0); }
+
+ #undef _nc_safe_strcpy
+ NCURSES_BOOL _nc_safe_strcpy(
+- string_desc *dst,
++ string_desc *dst,
+ const char *src)
+ { return(*(NCURSES_BOOL *)0); }
+
+@@ -3713,10 +3785,16 @@
+
+ #undef _nc_trace_buf
+ char *_nc_trace_buf(
+- int bufnum,
++ int bufnum,
+ size_t want)
+ { return(*(char **)0); }
+
++#undef _nc_trace_bufcat
++char *_nc_trace_bufcat(
++ int bufnum,
++ const char *value)
++ { return(*(char **)0); }
++
+ /* ./trace/trace_tries.c */
+
+ #undef _nc_trace_tries
+@@ -3735,7 +3813,7 @@
+
+ #undef _nc_visbuf2
+ const char *_nc_visbuf2(
+- int bufnum,
++ int bufnum,
+ const char *buf)
+ { return(*(const char **)0); }
+
+@@ -3744,9 +3822,15 @@
+ const char *buf)
+ { return(*(const char **)0); }
+
++#undef _nc_visbufn
++const char *_nc_visbufn(
++ const char *buf,
++ int len)
++ { return(*(const char **)0); }
++
+ #undef _nc_viswbuf2
+ const char *_nc_viswbuf2(
+- int bufnum,
++ int bufnum,
+ const wchar_t *buf)
+ { return(*(const char **)0); }
+
+@@ -3755,16 +3839,22 @@
+ const wchar_t *buf)
+ { return(*(const char **)0); }
+
++#undef _nc_viswbufn
++const char *_nc_viswbufn(
++ const wchar_t *buf,
++ int len)
++ { return(*(const char **)0); }
++
+ #undef _nc_viscbuf2
+ const char *_nc_viscbuf2(
+- int bufnum,
+- const cchar_t *buf,
++ int bufnum,
++ const cchar_t *buf,
+ int len)
+ { return(*(const char **)0); }
+
+ #undef _nc_viscbuf
+ const char *_nc_viscbuf(
+- const cchar_t *buf,
++ const cchar_t *buf,
+ int len)
+ { return(*(const char **)0); }
+
+diff -urNd -urNd ncurses-5.3/ncurses/modules ncurses-5.3.20030906.orig/ncurses/modules
+--- ncurses-5.3/ncurses/modules Sat May 11 15:14:41 2002
++++ ncurses-5.3.20030906.orig/ncurses/modules Sun Jul 20 14:02:09 2003
+@@ -1,4 +1,4 @@
+-# $Id: modules,v 1.90 2002/05/11 20:14:41 tom Exp $
++# $Id: modules,v 1.96 2003/07/05 16:01:45 tom Exp $
+ ##############################################################################
+ # Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. #
+ # #
+@@ -61,7 +61,6 @@
+ lib_initscr lib $(base) $(INCDIR)/tic.h
+ lib_insch lib $(base)
+ lib_insdel lib $(base)
+-lib_insstr lib $(base)
+ lib_instr lib $(base)
+ lib_isendwin lib $(base)
+ lib_leaveok lib $(base)
+@@ -120,8 +119,12 @@
+ sigaction lib $(base)
+ vsscanf lib $(base)
+
++# actually an extension, but with its own configure option (--disable-leaks)
++lib_freeall lib $(base)
++
+ # XSI extensions to the base library (wide-character)
+ @ widechar
++charable lib $(wide)
+ lib_box_set lib $(wide)
+ lib_cchar lib $(wide)
+ lib_get_wch lib $(wide)
+@@ -130,9 +133,9 @@
+ lib_hline_set lib $(wide)
+ lib_in_wch lib $(wide)
+ lib_in_wchnstr lib $(wide)
+-lib_ins_nwstr lib $(wide)
+ lib_ins_wch lib $(wide)
+ lib_inwstr lib $(wide)
++lib_slk_wset lib $(wide)
+ lib_unget_wch lib $(wide)
+ lib_vid_attr lib $(wide) ../include/term.h
+ lib_vline_set lib $(wide)
+@@ -143,10 +146,10 @@
+ @ ext_funcs
+ define_key lib $(base)
+ expanded lib .
++key_defined lib $(base)
+ keybound lib $(base)
+ keyok lib $(base)
+ lib_dft_fgbg lib $(base) ../include/term.h
+-lib_freeall lib $(base)
+ lib_print lib $(tinfo) ../include/term.h
+ resizeterm lib $(base) ../include/term.h
+ trace_xnames lib $(trace) ../include/term.h $(INCDIR)/term_entry.h
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/MKkeys_list.sh ncurses-5.3.20030906.orig/ncurses/tinfo/MKkeys_list.sh
+--- ncurses-5.3/ncurses/tinfo/MKkeys_list.sh Sat Jun 16 11:50:35 2001
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/MKkeys_list.sh Tue May 13 20:08:22 2003
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+-# $Id: MKkeys_list.sh,v 1.2 2001/06/16 16:50:35 tom Exp $
++# $Id: MKkeys_list.sh,v 1.3 2003/01/11 22:24:53 tom Exp $
+ ##############################################################################
+-# Copyright (c) 2001 Free Software Foundation, Inc. #
++# Copyright (c) 2001,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -39,7 +39,7 @@
+
+ data=data$$
+ trap 'rm -f $data' 0 1 2 5 15
+-sed -e 's/[ ]\+/ /g' < $DATA >$data
++sed -e 's/[ ][ ]*/ /g' < $DATA >$data
+
+ cat <<EOF
+ # These definitions were generated by $0 $DATA
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/access.c ncurses-5.3.20030906.orig/ncurses/tinfo/access.c
+--- ncurses-5.3/ncurses/tinfo/access.c Sat Jun 23 17:11:49 2001
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/access.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998,2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+ #include <tic.h>
+ #include <nc_alloc.h>
+
+-MODULE_ID("$Id: access.c,v 1.9 2001/06/23 22:11:49 tom Exp $")
++MODULE_ID("$Id: access.c,v 1.10 2003/07/05 19:31:28 tom Exp $")
+
+ #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
+
+@@ -64,19 +64,28 @@
+ return result;
+ }
+
+-NCURSES_EXPORT(char *)
+-_nc_basename(char *path)
++/*
++ * Return index of the basename
++ */
++NCURSES_EXPORT(unsigned)
++_nc_pathlast(const char *path)
+ {
+- char *result = strrchr(path, '/');
++ const char *test = strrchr(path, '/');
+ #ifdef __EMX__
+- if (result == 0)
+- result = strrchr(path, '\\');
++ if (test == 0)
++ test = strrchr(path, '\\');
+ #endif
+- if (result == 0)
+- result = path;
++ if (test == 0)
++ test = path;
+ else
+- result++;
+- return result;
++ test++;
++ return (test - path);
++}
++
++NCURSES_EXPORT(char *)
++_nc_basename(char *path)
++{
++ return path + _nc_pathlast(path);
+ }
+
+ NCURSES_EXPORT(int)
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/alloc_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_entry.c
+--- ncurses-5.3/ncurses/tinfo/alloc_entry.c Sat Sep 7 15:04:15 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_entry.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+ #include <tic.h>
+ #include <term_entry.h>
+
+-MODULE_ID("$Id: alloc_entry.c,v 1.37 2002/09/07 20:04:15 tom Exp $")
++MODULE_ID("$Id: alloc_entry.c,v 1.38 2003/05/24 21:10:28 tom Exp $")
+
+ #define ABSENT_OFFSET -1
+ #define CANCELLED_OFFSET -2
+@@ -61,10 +61,10 @@
+ _nc_init_entry(TERMTYPE * const tp)
+ /* initialize a terminal type data block */
+ {
+- int i;
++ unsigned i;
+
+ if (stringbuf == 0)
+- stringbuf = malloc(MAX_STRTAB);
++ stringbuf = (char *) malloc(MAX_STRTAB);
+
+ #if NCURSES_XNAMES
+ tp->num_Booleans = BOOLCOUNT;
+@@ -126,7 +126,8 @@
+ /* copy the string parts to allocated storage, preserving pointers to it */
+ {
+ int offsets[MAX_ENTRY_SIZE / 2], useoffsets[MAX_USES];
+- int i, n;
++ unsigned i, n;
++ unsigned nuses = ep->nuses;
+ TERMTYPE *tp = &(ep->tterm);
+
+ if (copy_strings) {
+@@ -141,7 +142,7 @@
+ }
+ }
+
+- for (i = 0; i < ep->nuses; i++) {
++ for (i = 0; i < nuses; i++) {
+ if (ep->uses[i].name == 0) {
+ ep->uses[i].name = _nc_save_str(ep->uses[i].name);
+ }
+@@ -160,7 +161,7 @@
+ offsets[i] = tp->Strings[i] - stringbuf;
+ }
+
+- for (i = 0; i < ep->nuses; i++) {
++ for (i = 0; i < nuses; i++) {
+ if (ep->uses[i].name == 0)
+ useoffsets[i] = ABSENT_OFFSET;
+ else
+@@ -200,7 +201,7 @@
+ }
+ #endif
+
+- for (i = 0; i < ep->nuses; i++) {
++ for (i = 0; i < nuses; i++) {
+ if (useoffsets[i] == ABSENT_OFFSET)
+ ep->uses[i].name = 0;
+ else
+@@ -209,11 +210,10 @@
+ }
+
+ NCURSES_EXPORT(void)
+-_nc_merge_entry
+-(TERMTYPE * const to, TERMTYPE * const from)
++_nc_merge_entry(TERMTYPE * const to, TERMTYPE * const from)
+ /* merge capabilities from `from' entry into `to' entry */
+ {
+- int i;
++ unsigned i;
+
+ #if NCURSES_XNAMES
+ _nc_align_termtype(to, from);
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/alloc_ttype.c ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_ttype.c
+--- ncurses-5.3/ncurses/tinfo/alloc_ttype.c Sat Sep 28 10:28:43 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/alloc_ttype.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+ #include <tic.h>
+ #include <term_entry.h>
+
+-MODULE_ID("$Id: alloc_ttype.c,v 1.13 2002/09/28 15:28:43 tom Exp $")
++MODULE_ID("$Id: alloc_ttype.c,v 1.14 2003/05/24 21:10:28 tom Exp $")
+
+ #if NCURSES_XNAMES
+ /*
+@@ -92,8 +92,10 @@
+ }
+
+ static void
+-realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
+- ext_Numbers, int ext_Strings)
++realign_data(TERMTYPE * to, char **ext_Names,
++ int ext_Booleans,
++ int ext_Numbers,
++ int ext_Strings)
+ {
+ int n, m, base;
+ int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings);
+@@ -371,8 +373,7 @@
+ }
+
+ NCURSES_EXPORT(void)
+-_nc_align_termtype
+-(TERMTYPE * to, TERMTYPE * from)
++_nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
+ {
+ int na = NUM_EXT_NAMES(to);
+ int nb = NUM_EXT_NAMES(from);
+@@ -457,10 +458,9 @@
+ #endif
+
+ NCURSES_EXPORT(void)
+-_nc_copy_termtype
+-(TERMTYPE * dst, TERMTYPE * src)
++_nc_copy_termtype(TERMTYPE * dst, TERMTYPE * src)
+ {
+- int i;
++ unsigned i;
+
+ *dst = *src; /* ...to copy the sizes and string-tables */
+ dst->Booleans = typeMalloc(char, NUM_BOOLEANS(dst));
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/comp_parse.c ncurses-5.3.20030906.orig/ncurses/tinfo/comp_parse.c
+--- ncurses-5.3/ncurses/tinfo/comp_parse.c Sat Sep 7 15:01:28 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/comp_parse.c Fri Sep 12 16:41:41 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -52,7 +52,7 @@
+ #include <tic.h>
+ #include <term_entry.h>
+
+-MODULE_ID("$Id: comp_parse.c,v 1.53 2002/09/07 20:01:28 tom Exp $")
++MODULE_ID("$Id: comp_parse.c,v 1.55 2003/08/02 23:53:42 tom Exp $")
+
+ static void sanity_check(TERMTYPE *);
+ NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check;
+@@ -163,7 +163,7 @@
+ ****************************************************************************/
+
+ NCURSES_EXPORT(void)
+-_nc_read_entry_source(FILE * fp, char *buf,
++_nc_read_entry_source(FILE *fp, char *buf,
+ int literal, bool silent,
+ bool(*hook) (ENTRY *))
+ /* slurp all entries in the given file into core */
+@@ -216,7 +216,8 @@
+ {
+ ENTRY *qp, *rp, *lastread = 0;
+ bool keepgoing;
+- int i, j, unresolved, total_unresolved, multiples;
++ int i, unresolved, total_unresolved, multiples;
++ unsigned j;
+
+ DEBUG(2, ("RESOLUTION BEGINNING"));
+
+@@ -397,7 +398,7 @@
+ */
+ for_entry_list(qp) {
+ for_each_boolean(j, &(qp->tterm)) {
+- if ((int) qp->tterm.Booleans[j] == CANCELLED_BOOLEAN)
++ if (qp->tterm.Booleans[j] == CANCELLED_BOOLEAN)
+ qp->tterm.Booleans[j] = ABSENT_BOOLEAN;
+ }
+ for_each_number(j, &(qp->tterm)) {
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/comp_scan.c ncurses-5.3.20030906.orig/ncurses/tinfo/comp_scan.c
+--- ncurses-5.3/ncurses/tinfo/comp_scan.c Sat Sep 7 15:04:09 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/comp_scan.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -50,7 +50,7 @@
+ #include <term_entry.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: comp_scan.c,v 1.61 2002/09/07 20:04:09 tom Exp $")
++MODULE_ID("$Id: comp_scan.c,v 1.64 2003/05/31 23:27:20 tom Exp $")
+
+ /*
+ * Maximum length of string capability we'll accept before raising an error.
+@@ -93,10 +93,10 @@
+ _nc_disable_period = FALSE; /* used by tic -a option */
+ #endif
+
++static bool end_of_stream(void);
+ static int last_char(void);
+ static int next_char(void);
+ static long stream_pos(void);
+-static bool end_of_stream(void);
+ static void push_back(char c);
+
+ /* Assume we may be looking at a termcap-style continuation */
+@@ -148,8 +148,11 @@
+ static const char terminfo_punct[] = "@%&*!#";
+ static char *buffer;
+
++ char *after_list;
++ char *after_name;
+ char *numchk;
+ char *ptr;
++ char *s;
+ char numbuf[80];
+ int ch;
+ int dot_flag = FALSE;
+@@ -173,8 +176,12 @@
+ return (retval);
+ }
+
+- if (end_of_stream())
++ if (end_of_stream()) {
++ if (buffer != 0) {
++ FreeAndNull(buffer);
++ }
+ return (EOF);
++ }
+
+ start_token:
+ token_start = stream_pos();
+@@ -227,17 +234,21 @@
+ *(ptr++) = ch;
+
+ if (first_column) {
+- char *desc;
+-
+ _nc_comment_start = token_start;
+ _nc_comment_end = _nc_curr_file_pos;
+ _nc_start_line = _nc_curr_line;
+
+ _nc_syntax = ERR;
++ after_name = 0;
++ after_list = 0;
+ while ((ch = next_char()) != '\n') {
+- if (ch == EOF)
++ if (ch == EOF) {
+ _nc_err_abort(MSG_NO_MEMORY);
+- else if (ch == ':' && last_char() != ',') {
++ } else if (ch == '|') {
++ after_list = ptr;
++ if (after_name == 0)
++ after_name = ptr;
++ } else if (ch == ':' && last_char() != ',') {
+ _nc_syntax = SYN_TERMCAP;
+ separator = ':';
+ break;
+@@ -245,14 +256,18 @@
+ _nc_syntax = SYN_TERMINFO;
+ separator = ',';
+ /*
+- * Fall-through here is not an accident. The idea is that
+- * if we see a comma, we figure this is terminfo unless we
+- * subsequently run into a colon -- but we don't stop
+- * looking for that colon until hitting a newline. This
++ * If we did not see a '|', then we found a name with no
++ * aliases or description.
++ */
++ if (after_name == 0)
++ break;
++ /*
++ * If we see a comma, we assume this is terminfo unless we
++ * subsequently run into a colon. But we don't stop
++ * looking for a colon until hitting a newline. This
+ * allows commas to be embedded in description fields of
+ * either syntax.
+ */
+- /* FALLTHRU */
+ } else
+ ch = eat_escaped_newline(ch);
+
+@@ -277,53 +292,53 @@
+
+ /*
+ * This is the soonest we have the terminal name fetched. Set up
+- * for following warning messages.
++ * for following warning messages. If there's no '|', then there
++ * is no description.
+ */
+- ptr = strchr(buffer, '|');
+- if (ptr == (char *) NULL)
+- ptr = buffer + strlen(buffer);
+- ch = *ptr;
+- *ptr = '\0';
+- _nc_set_type(buffer);
+- *ptr = ch;
++ if (after_name != 0) {
++ ch = *after_name;
++ *after_name = '\0';
++ _nc_set_type(buffer);
++ *after_name = ch;
++ }
+
+ /*
+ * Compute the boundary between the aliases and the description
+ * field for syntax-checking purposes.
+ */
+- desc = strrchr(buffer, '|');
+- if (!silent && desc) {
+- if (*desc == '\0')
+- _nc_warning("empty longname field");
+- else if (strchr(desc, ' ') == (char *) NULL)
+- _nc_warning("older tic versions may treat the description field as an alias");
++ if (after_list != 0) {
++ if (!silent) {
++ if (*after_list == '\0')
++ _nc_warning("empty longname field");
++ else if (strchr(after_list, ' ') == 0)
++ _nc_warning("older tic versions may treat the description field as an alias");
++ }
++ } else {
++ after_list = buffer + strlen(buffer);
++ DEBUG(1, ("missing description"));
+ }
+- if (!desc)
+- desc = buffer + strlen(buffer);
+
+ /*
+ * Whitespace in a name field other than the long name can confuse
+ * rdist and some termcap tools. Slashes are a no-no. Other
+ * special characters can be dangerous due to shell expansion.
+ */
+- for (ptr = buffer; ptr < desc; ptr++) {
+- if (isspace(UChar(*ptr))) {
++ for (s = buffer; s < after_list; ++s) {
++ if (isspace(UChar(*s))) {
+ if (!silent)
+ _nc_warning("whitespace in name or alias field");
+ break;
+- } else if (*ptr == '/') {
++ } else if (*s == '/') {
+ if (!silent)
+ _nc_warning("slashes aren't allowed in names or aliases");
+ break;
+- } else if (strchr("$[]!*?", *ptr)) {
++ } else if (strchr("$[]!*?", *s)) {
+ if (!silent)
+- _nc_warning("dubious character `%c' in name or alias field", *ptr);
++ _nc_warning("dubious character `%c' in name or alias field", *s);
+ break;
+ }
+ }
+
+- ptr = buffer;
+-
+ _nc_curr_token.tk_name = buffer;
+ type = NAMES;
+ } else {
+@@ -684,7 +699,7 @@
+ */
+
+ NCURSES_EXPORT(void)
+-_nc_reset_input(FILE * fp, char *buf)
++_nc_reset_input(FILE *fp, char *buf)
+ {
+ pushtype = NO_PUSHBACK;
+ if (pushname != 0)
+@@ -766,7 +781,7 @@
+ if (used == 0)
+ _nc_curr_file_pos = ftell(yyin);
+
+- if (fgets(result + used, allocated - used, yyin) != NULL) {
++ if (fgets(result + used, allocated - used, yyin) != 0) {
+ bufstart = result;
+ if (used == 0) {
+ _nc_curr_line++;
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/free_ttype.c ncurses-5.3.20030906.orig/ncurses/tinfo/free_ttype.c
+--- ncurses-5.3/ncurses/tinfo/free_ttype.c Sun Sep 1 15:29:03 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/free_ttype.c Fri Sep 12 16:41:56 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2000,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,11 +43,43 @@
+ #include <tic.h>
+ #include <term_entry.h>
+
+-MODULE_ID("$Id: free_ttype.c,v 1.8 2002/09/01 20:29:03 tom Exp $")
++MODULE_ID("$Id: free_ttype.c,v 1.10 2003/08/09 21:22:03 tom Exp $")
+
+ NCURSES_EXPORT(void)
+ _nc_free_termtype(TERMTYPE * ptr)
+ {
++ T(("_nc_free_termtype(%s)", ptr->term_names));
++
++ if (ptr->str_table == 0
++ || (ptr->term_names < ptr->str_table
++ || ptr->term_names >= ptr->str_table + MAX_ENTRY_SIZE)) {
++ FreeIfNeeded(ptr->term_names);
++ }
++#if NO_LEAKS
++ else {
++ if (ptr->str_table != 0
++ && (ptr->term_names < ptr->str_table + MAX_ENTRY_SIZE)) {
++ int j;
++ char *last = ptr->str_table;
++ /*
++ * We should have saved the entry-size someplace. Too late,
++ * but this is useful for the memory-leak checking, though more
++ * work/time than should be in the normal library.
++ */
++ for (j = 0; j < NUM_STRINGS(ptr); j++) {
++ char *s = ptr->Strings[j];
++ if (VALID_STRING(s)) {
++ char *t = s + strlen(s) + 1;
++ if (t > last)
++ last = t;
++ }
++ }
++ if (last < ptr->term_names) {
++ FreeIfNeeded(ptr->term_names);
++ }
++ }
++ }
++#endif
+ FreeIfNeeded(ptr->str_table);
+ FreeIfNeeded(ptr->Booleans);
+ FreeIfNeeded(ptr->Numbers);
+@@ -66,7 +98,9 @@
+ use_extended_names(bool flag)
+ {
+ int oldflag = _nc_user_definable;
++
++ T((T_CALLED("use_extended_names(%d)"), flag));
+ _nc_user_definable = flag;
+- return oldflag;
++ returnBool(oldflag);
+ }
+ #endif
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_acs.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_acs.c
+--- ncurses-5.3/ncurses/tinfo/lib_acs.c Sun Sep 1 14:26:57 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_acs.c Tue May 13 20:08:22 2003
+@@ -34,7 +34,7 @@
+ #include <curses.priv.h>
+ #include <term.h> /* ena_acs, acs_chars */
+
+-MODULE_ID("$Id: lib_acs.c,v 1.22 2002/09/01 19:26:57 tom Exp $")
++MODULE_ID("$Id: lib_acs.c,v 1.25 2002/12/28 16:26:46 tom Exp $")
+
+ #if BROKEN_LINKER
+ NCURSES_EXPORT_VAR(chtype *)
+@@ -55,101 +55,88 @@
+ NCURSES_EXPORT(void)
+ _nc_init_acs(void)
+ {
++ chtype *fake_map = acs_map;
++ chtype *real_map = SP != 0 ? SP->_acs_map : fake_map;
++ int j;
++
+ T(("initializing ACS map"));
+-#if !BROKEN_LINKER
+- memset(acs_map, 0, sizeof(acs_map));
+-#endif
++
++ /*
++ * If we're using this from curses (rather than terminfo), we are storing
++ * the mapping information in the SCREEN struct so we can decide how to
++ * render it.
++ */
++ if (real_map != fake_map) {
++ for (j = 1; j < ACS_LEN; ++j) {
++ real_map[j] = 0;
++ fake_map[j] = A_ALTCHARSET | j;
++ }
++ } else {
++ for (j = 1; j < ACS_LEN; ++j) {
++ real_map[j] = 0;
++ }
++ }
+
+ /*
+ * Initializations for a UNIX-like multi-terminal environment. Use
+ * ASCII chars and count on the terminfo description to do better.
+ */
+- ACS_ULCORNER = '+'; /* should be upper left corner */
+- ACS_LLCORNER = '+'; /* should be lower left corner */
+- ACS_URCORNER = '+'; /* should be upper right corner */
+- ACS_LRCORNER = '+'; /* should be lower right corner */
+- ACS_RTEE = '+'; /* should be tee pointing left */
+- ACS_LTEE = '+'; /* should be tee pointing right */
+- ACS_BTEE = '+'; /* should be tee pointing up */
+- ACS_TTEE = '+'; /* should be tee pointing down */
+- ACS_HLINE = '-'; /* should be horizontal line */
+- ACS_VLINE = '|'; /* should be vertical line */
+- ACS_PLUS = '+'; /* should be large plus or crossover */
+- ACS_S1 = '~'; /* should be scan line 1 */
+- ACS_S9 = '_'; /* should be scan line 9 */
+- ACS_DIAMOND = '+'; /* should be diamond */
+- ACS_CKBOARD = ':'; /* should be checker board (stipple) */
+- ACS_DEGREE = '\''; /* should be degree symbol */
+- ACS_PLMINUS = '#'; /* should be plus/minus */
+- ACS_BULLET = 'o'; /* should be bullet */
+- ACS_LARROW = '<'; /* should be arrow pointing left */
+- ACS_RARROW = '>'; /* should be arrow pointing right */
+- ACS_DARROW = 'v'; /* should be arrow pointing down */
+- ACS_UARROW = '^'; /* should be arrow pointing up */
+- ACS_BOARD = '#'; /* should be board of squares */
+- ACS_LANTERN = '#'; /* should be lantern symbol */
+- ACS_BLOCK = '#'; /* should be solid square block */
++ real_map['l'] = '+'; /* should be upper left corner */
++ real_map['m'] = '+'; /* should be lower left corner */
++ real_map['k'] = '+'; /* should be upper right corner */
++ real_map['j'] = '+'; /* should be lower right corner */
++ real_map['u'] = '+'; /* should be tee pointing left */
++ real_map['t'] = '+'; /* should be tee pointing right */
++ real_map['v'] = '+'; /* should be tee pointing up */
++ real_map['w'] = '+'; /* should be tee pointing down */
++ real_map['q'] = '-'; /* should be horizontal line */
++ real_map['x'] = '|'; /* should be vertical line */
++ real_map['n'] = '+'; /* should be large plus or crossover */
++ real_map['o'] = '~'; /* should be scan line 1 */
++ real_map['s'] = '_'; /* should be scan line 9 */
++ real_map['`'] = '+'; /* should be diamond */
++ real_map['a'] = ':'; /* should be checker board (stipple) */
++ real_map['f'] = '\''; /* should be degree symbol */
++ real_map['g'] = '#'; /* should be plus/minus */
++ real_map['~'] = 'o'; /* should be bullet */
++ real_map[','] = '<'; /* should be arrow pointing left */
++ real_map['+'] = '>'; /* should be arrow pointing right */
++ real_map['.'] = 'v'; /* should be arrow pointing down */
++ real_map['-'] = '^'; /* should be arrow pointing up */
++ real_map['h'] = '#'; /* should be board of squares */
++ real_map['i'] = '#'; /* should be lantern symbol */
++ real_map['0'] = '#'; /* should be solid square block */
+ /* these defaults were invented for ncurses */
+- ACS_S3 = '-'; /* should be scan line 3 */
+- ACS_S7 = '-'; /* should be scan line 7 */
+- ACS_LEQUAL = '<'; /* should be less-than-or-equal-to */
+- ACS_GEQUAL = '>'; /* should be greater-than-or-equal-to */
+- ACS_PI = '*'; /* should be greek pi */
+- ACS_NEQUAL = '!'; /* should be not-equal */
+- ACS_STERLING = 'f'; /* should be pound-sterling symbol */
++ real_map['p'] = '-'; /* should be scan line 3 */
++ real_map['r'] = '-'; /* should be scan line 7 */
++ real_map['y'] = '<'; /* should be less-than-or-equal-to */
++ real_map['z'] = '>'; /* should be greater-than-or-equal-to */
++ real_map['{'] = '*'; /* should be greek pi */
++ real_map['|'] = '!'; /* should be not-equal */
++ real_map['}'] = 'f'; /* should be pound-sterling symbol */
++
++#if !USE_WIDEC_SUPPORT
++ if (_nc_unicode_locale() && _nc_locale_breaks_acs()) {
++ acs_chars = NULL;
++ ena_acs = NULL;
++ }
++#endif
+
+ if (ena_acs != NULL) {
+ TPUTS_TRACE("ena_acs");
+ putp(ena_acs);
+ }
+-#define ALTCHAR(c) ((chtype)(((unsigned char)(c)) | A_ALTCHARSET))
+
+ if (acs_chars != NULL) {
+ size_t i = 0;
+ size_t length = strlen(acs_chars);
+
+- while (i < length)
+- switch (acs_chars[i]) {
+- case 'l':
+- case 'm':
+- case 'k':
+- case 'j':
+- case 'u':
+- case 't':
+- case 'v':
+- case 'w':
+- case 'q':
+- case 'x':
+- case 'n':
+- case 'o':
+- case 's':
+- case '`':
+- case 'a':
+- case 'f':
+- case 'g':
+- case '~':
+- case ',':
+- case '+':
+- case '.':
+- case '-':
+- case 'h':
+- case 'i':
+- case '0':
+- case 'p':
+- case 'r':
+- case 'y':
+- case 'z':
+- case '{':
+- case '|':
+- case '}':
+- acs_map[(unsigned int) acs_chars[i]] =
+- ALTCHAR(acs_chars[i + 1]);
+- i++;
+- /* FALLTHRU */
+- default:
+- i++;
+- break;
++ while (i + 1 < length) {
++ if (acs_chars[i] != 0 && UChar(acs_chars[i]) < ACS_LEN) {
++ real_map[UChar(acs_chars[i])] = UChar(acs_chars[i + 1]) | A_ALTCHARSET;
+ }
++ i += 2;
++ }
+ }
+ #ifdef TRACE
+ /* Show the equivalent mapping, noting if it does not match the
+@@ -159,9 +146,9 @@
+ size_t n, m;
+ char show[ACS_LEN + 1];
+ for (n = 1, m = 0; n < ACS_LEN; n++) {
+- if (acs_map[n] != 0) {
++ if (real_map[n] != 0) {
+ show[m++] = (char) n;
+- show[m++] = ChCharOf(acs_map[n]);
++ show[m++] = ChCharOf(real_map[n]);
+ }
+ }
+ show[m] = 0;
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_cur_term.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_cur_term.c
+--- ncurses-5.3/ncurses/tinfo/lib_cur_term.c Sat Dec 9 20:55:07 2000
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_cur_term.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ #include <term_entry.h> /* TTY, cur_term */
+ #include <termcap.h> /* ospeed */
+
+-MODULE_ID("$Id: lib_cur_term.c,v 1.11 2000/12/10 02:55:07 tom Exp $")
++MODULE_ID("$Id: lib_cur_term.c,v 1.12 2003/02/23 01:00:56 tom Exp $")
+
+ NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
+
+@@ -49,11 +49,14 @@
+ {
+ TERMINAL *oldterm = cur_term;
+
++ T((T_CALLED("set_curterm(%p)"), termp));
++
+ if ((cur_term = termp) != 0) {
+ ospeed = _nc_ospeed(cur_term->_baudrate);
+ PC = (pad_char != NULL) ? pad_char[0] : 0;
+ }
+- return oldterm;
++ T((T_RETURN("%p"), oldterm));
++ return (oldterm);
+ }
+
+ NCURSES_EXPORT(int)
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_kernel.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_kernel.c
+--- ncurses-5.3/ncurses/tinfo/lib_kernel.c Sat May 11 15:32:18 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_kernel.c Tue May 13 20:08:22 2003
+@@ -48,12 +48,12 @@
+ #include <curses.priv.h>
+ #include <term.h> /* cur_term */
+
+-MODULE_ID("$Id: lib_kernel.c,v 1.22 2002/05/11 20:32:18 tom Exp $")
++MODULE_ID("$Id: lib_kernel.c,v 1.23 2003/01/26 00:24:53 tom Exp $")
+
+ static int
+ _nc_vdisable(void)
+ {
+- int value;
++ int value = -1;
+ #if defined(_POSIX_VDISABLE) && defined(HAVE_UNISTD_H)
+ value = _POSIX_VDISABLE;
+ #endif
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_setup.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_setup.c
+--- ncurses-5.3/ncurses/tinfo/lib_setup.c Sat Oct 12 16:50:18 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_setup.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,6 +29,7 @@
+ /****************************************************************************
+ * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
++ * and: Thomas E. Dickey 1996-2003 *
+ ****************************************************************************/
+
+ /*
+@@ -48,7 +49,7 @@
+
+ #include <term.h> /* lines, columns, cur_term */
+
+-MODULE_ID("$Id: lib_setup.c,v 1.70 2002/10/12 21:50:18 tom Exp $")
++MODULE_ID("$Id: lib_setup.c,v 1.77 2003/05/24 21:10:28 tom Exp $")
+
+ /****************************************************************************
+ *
+@@ -90,9 +91,12 @@
+ # endif
+ #endif
+
+-static int _use_env = TRUE;
++NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
++NCURSES_EXPORT_VAR(int) LINES = 0;
++NCURSES_EXPORT_VAR(int) COLS = 0;
++NCURSES_EXPORT_VAR(int) TABSIZE = 0;
+
+-static void do_prototype(void);
++static int _use_env = TRUE;
+
+ NCURSES_EXPORT(void)
+ use_env(bool f)
+@@ -102,10 +106,6 @@
+ returnVoid;
+ }
+
+-NCURSES_EXPORT_VAR(int) LINES = 0;
+-NCURSES_EXPORT_VAR(int) COLS = 0;
+-NCURSES_EXPORT_VAR(int) TABSIZE = 0;
+-
+ static void
+ _nc_get_screensize(int *linep, int *colp)
+ /* Obtain lines/columns values from the environment and/or terminfo entry */
+@@ -199,7 +199,6 @@
+ else
+ TABSIZE = 8;
+ T(("TABSIZE = %d", TABSIZE));
+-
+ }
+
+ #if USE_SIZECHANGE
+@@ -241,7 +240,9 @@
+ grab_entry(const char *const tn, TERMTYPE * const tp)
+ /* return 1 if entry found, 0 if not found, -1 if database not accessible */
+ {
++#if USE_DATABASE
+ char filename[PATH_MAX];
++#endif
+ int status;
+
+ /*
+@@ -275,7 +276,7 @@
+ * a string is cancelled, for merging entries).
+ */
+ if (status == 1) {
+- int n;
++ unsigned n;
+ for_each_boolean(n, tp) {
+ if (!VALID_BOOLEAN(tp->Booleans[n]))
+ tp->Booleans[n] = FALSE;
+@@ -289,7 +290,82 @@
+ }
+ #endif
+
+-NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
++/*
++** do_prototype()
++**
++** Take the real command character out of the CC environment variable
++** and substitute it in for the prototype given in 'command_character'.
++**
++*/
++static void
++do_prototype(void)
++{
++ int i;
++ char CC;
++ char proto;
++ char *tmp;
++
++ tmp = getenv("CC");
++ CC = *tmp;
++ proto = *command_character;
++
++ for_each_string(i, &(cur_term->type)) {
++ for (tmp = cur_term->type.Strings[i]; *tmp; tmp++) {
++ if (*tmp == proto)
++ *tmp = CC;
++ }
++ }
++}
++
++/*
++ * Check if we are running in a UTF-8 locale.
++ */
++NCURSES_EXPORT(char *)
++_nc_get_locale(void)
++{
++ char *env;
++ if (((env = getenv("LC_ALL")) != 0 && *env != '\0')
++ || ((env = getenv("LC_CTYPE")) != 0 && *env != '\0')
++ || ((env = getenv("LANG")) != 0 && *env != '\0')) {
++ return env;
++ }
++ return 0;
++}
++
++/*
++ * Check if we are running in a UTF-8 locale.
++ */
++NCURSES_EXPORT(int)
++_nc_unicode_locale(void)
++{
++ char *env = _nc_get_locale();
++ if (env != 0) {
++ if (strstr(env, ".UTF-8") != 0)
++ return 1;
++ }
++ return 0;
++}
++
++/*
++ * Check for known broken cases where a UTF-8 locale breaks the alternate
++ * character set.
++ */
++NCURSES_EXPORT(int)
++_nc_locale_breaks_acs(void)
++{
++ char *env = getenv("TERM");
++ if (env != 0) {
++ if (strstr(env, "linux"))
++ return 1; /* always broken */
++ if (strstr(env, "screen") != 0
++ && ((env = getenv("TERMCAP")) != 0
++ && strstr(env, "screen") != 0)
++ && strstr(env, "hhII00") != 0) {
++ return 1;
++ }
++ }
++ return 0;
++}
+
+ /*
+ * setupterm(termname, Filedes, errret)
+@@ -302,7 +378,6 @@
+ NCURSES_EXPORT(int)
+ setupterm(NCURSES_CONST char *tname, int Filedes, int *errret)
+ {
+- struct term *term_ptr;
+ int status;
+
+ START_TRACE();
+@@ -321,77 +396,89 @@
+
+ T(("your terminal name is %s", tname));
+
+- term_ptr = typeCalloc(TERMINAL, 1);
++ /*
++ * Allow output redirection. This is what SVr3 does. If stdout is
++ * directed to a file, screen updates go to standard error.
++ */
++ if (Filedes == STDOUT_FILENO && !isatty(Filedes))
++ Filedes = STDERR_FILENO;
+
+- if (term_ptr == 0) {
+- ret_error0(-1, "Not enough memory to create terminal structure.\n");
+- }
++ /*
++ * Check if we have already initialized to use this terminal. If so, we
++ * do not need to re-read the terminfo entry, or obtain TTY settings.
++ *
++ * This is an improvement on SVr4 curses. If an application mixes curses
++ * and termcap calls, it may call both initscr and tgetent. This is not
++ * really a good thing to do, but can happen if someone tries using ncurses
++ * with the readline library. The problem we are fixing is that when
++ * tgetent calls setupterm, the resulting Ottyb struct in cur_term is
++ * zeroed. A subsequent call to endwin uses the zeroed terminal settings
++ * rather than the ones saved in initscr. So we check if cur_term appears
++ * to contain terminal settings for the same output file as our current
++ * call - and copy those terminal settings. (SVr4 curses does not do this,
++ * however applications that are working around the problem will still work
++ * properly with this feature).
++ */
++ if (cur_term != 0
++ && cur_term->Filedes == Filedes
++ && _nc_name_match(cur_term->type.term_names, tname, "|")) {
++ T(("reusing existing terminal information and mode-settings"));
++ } else {
++ TERMINAL *term_ptr;
++
++ term_ptr = typeCalloc(TERMINAL, 1);
++
++ if (term_ptr == 0) {
++ ret_error0(-1,
++ "Not enough memory to create terminal structure.\n");
++ }
+ #if USE_DATABASE || USE_TERMCAP
+- status = grab_entry(tname, &term_ptr->type);
++ status = grab_entry(tname, &term_ptr->type);
+ #else
+- status = 0;
++ status = 0;
+ #endif
+
+- /* try fallback list if entry on disk */
+- if (status != 1) {
+- const TERMTYPE *fallback = _nc_fallback(tname);
++ /* try fallback list if entry on disk */
++ if (status != 1) {
++ const TERMTYPE *fallback = _nc_fallback(tname);
+
+- if (fallback) {
+- term_ptr->type = *fallback;
+- status = 1;
++ if (fallback) {
++ term_ptr->type = *fallback;
++ status = 1;
++ }
+ }
+- }
+
+- if (status == -1) {
+- ret_error0(-1, "terminals database is inaccessible\n");
+- } else if (status == 0) {
+- ret_error(0, "'%s': unknown terminal type.\n", tname);
+- }
++ if (status == -1) {
++ ret_error0(-1, "terminals database is inaccessible\n");
++ } else if (status == 0) {
++ ret_error(0, "'%s': unknown terminal type.\n", tname);
++ }
+
+- /*
+- * Improve on SVr4 curses. If an application mixes curses and termcap
+- * calls, it may call both initscr and tgetent. This is not really a
+- * good thing to do, but can happen if someone tries using ncurses with
+- * the readline library. The problem we are fixing is that when
+- * tgetent calls setupterm, the resulting Ottyb struct in cur_term is
+- * zeroed. A subsequent call to endwin uses the zeroed terminal
+- * settings rather than the ones saved in initscr. So we check if
+- * cur_term appears to contain terminal settings for the same output
+- * file as our current call - and copy those terminal settings. (SVr4
+- * curses does not do this, however applications that are working
+- * around the problem will still work properly with this feature).
+- */
+- if (cur_term != 0) {
+- if (cur_term->Filedes == Filedes)
+- term_ptr->Ottyb = cur_term->Ottyb;
+- }
++ set_curterm(term_ptr);
+
+- set_curterm(term_ptr);
++ if (command_character && getenv("CC"))
++ do_prototype();
+
+- if (command_character && getenv("CC"))
+- do_prototype();
++ strncpy(ttytype, cur_term->type.term_names, NAMESIZE - 1);
++ ttytype[NAMESIZE - 1] = '\0';
+
+- strncpy(ttytype, cur_term->type.term_names, NAMESIZE - 1);
+- ttytype[NAMESIZE - 1] = '\0';
++ cur_term->Filedes = Filedes;
+
+- /*
+- * Allow output redirection. This is what SVr3 does. If stdout is
+- * directed to a file, screen updates go to standard error.
+- */
+- if (Filedes == STDOUT_FILENO && !isatty(Filedes))
+- Filedes = STDERR_FILENO;
+- cur_term->Filedes = Filedes;
++ /*
++ * If an application calls setupterm() rather than initscr() or
++ * newterm(), we will not have the def_prog_mode() call in
++ * _nc_setupscreen(). Do it now anyway, so we can initialize the
++ * baudrate.
++ */
++ if (isatty(Filedes)) {
++ def_prog_mode();
++ baudrate();
++ }
++ }
+
+ /*
+- * If an application calls setupterm() rather than initscr() or newterm(),
+- * we will not have the def_prog_mode() call in _nc_setupscreen(). Do it
+- * now anyway, so we can initialize the baudrate.
++ * We should always check the screensize, just in case.
+ */
+- if (isatty(Filedes)) {
+- def_prog_mode();
+- baudrate();
+- }
+-
+ _nc_get_screensize(&LINES, &COLS);
+
+ if (errret)
+@@ -407,31 +494,3 @@
+ }
+ returnCode(OK);
+ }
+-
+-/*
+-** do_prototype()
+-**
+-** Take the real command character out of the CC environment variable
+-** and substitute it in for the prototype given in 'command_character'.
+-**
+-*/
+-
+-static void
+-do_prototype(void)
+-{
+- int i;
+- char CC;
+- char proto;
+- char *tmp;
+-
+- tmp = getenv("CC");
+- CC = *tmp;
+- proto = *command_character;
+-
+- for_each_string(i, &(cur_term->type)) {
+- for (tmp = cur_term->type.Strings[i]; *tmp; tmp++) {
+- if (*tmp == proto)
+- *tmp = CC;
+- }
+- }
+-}
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_termcap.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_termcap.c
+--- ncurses-5.3/ncurses/tinfo/lib_termcap.c Sat May 25 07:24:13 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_termcap.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+
+ #include <term_entry.h>
+
+-MODULE_ID("$Id: lib_termcap.c,v 1.43 2002/05/25 12:24:13 tom Exp $")
++MODULE_ID("$Id: lib_termcap.c,v 1.44 2003/05/24 21:10:28 tom Exp $")
+
+ #define CSI 233
+ #define ESC 033 /* ^[ */
+@@ -233,7 +233,7 @@
+ NCURSES_EXPORT(int)
+ tgetflag(NCURSES_CONST char *id)
+ {
+- int i;
++ unsigned i;
+
+ T((T_CALLED("tgetflag(%s)"), id));
+ if (cur_term != 0) {
+@@ -261,7 +261,7 @@
+ NCURSES_EXPORT(int)
+ tgetnum(NCURSES_CONST char *id)
+ {
+- int i;
++ unsigned i;
+
+ T((T_CALLED("tgetnum(%s)"), id));
+ if (cur_term != 0) {
+@@ -290,7 +290,7 @@
+ NCURSES_EXPORT(char *)
+ tgetstr(NCURSES_CONST char *id, char **area)
+ {
+- int i;
++ unsigned i;
+ char *result = NULL;
+
+ T((T_CALLED("tgetstr(%s,%p)"), id, area));
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_ti.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ti.c
+--- ncurses-5.3/ncurses/tinfo/lib_ti.c Sat Dec 9 20:55:08 2000
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ti.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,12 +36,12 @@
+ #include <term_entry.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_ti.c,v 1.22 2000/12/10 02:55:08 tom Exp $")
++MODULE_ID("$Id: lib_ti.c,v 1.23 2003/05/24 21:10:28 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ tigetflag(NCURSES_CONST char *str)
+ {
+- int i;
++ unsigned i;
+
+ T((T_CALLED("tigetflag(%s)"), str));
+
+@@ -62,7 +62,7 @@
+ NCURSES_EXPORT(int)
+ tigetnum(NCURSES_CONST char *str)
+ {
+- int i;
++ unsigned i;
+
+ T((T_CALLED("tigetnum(%s)"), str));
+
+@@ -84,7 +84,7 @@
+ NCURSES_EXPORT(char *)
+ tigetstr(NCURSES_CONST char *str)
+ {
+- int i;
++ unsigned i;
+
+ T((T_CALLED("tigetstr(%s)"), str));
+
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_tparm.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tparm.c
+--- ncurses-5.3/ncurses/tinfo/lib_tparm.c Sat Oct 5 14:33:24 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tparm.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -43,7 +43,7 @@
+ #include <term.h>
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_tparm.c,v 1.62 2002/10/05 19:33:24 Frank.Henigman Exp $")
++MODULE_ID("$Id: lib_tparm.c,v 1.67 2003/05/24 20:18:50 tom Exp $")
+
+ /*
+ * char *
+@@ -129,6 +129,9 @@
+ static size_t out_size;
+ static size_t out_used;
+
++static char *fmt_buff;
++static size_t fmt_size;
++
+ #if NO_LEAKS
+ NCURSES_EXPORT(void)
+ _nc_free_tparm(void)
+@@ -137,6 +140,8 @@
+ FreeAndNull(out_buff);
+ out_size = 0;
+ out_used = 0;
++ FreeAndNull(fmt_buff);
++ fmt_size = 0;
+ }
+ }
+ #endif
+@@ -247,153 +252,136 @@
+ static inline const char *
+ parse_format(const char *s, char *format, int *len)
+ {
+- bool done = FALSE;
+- bool allowminus = FALSE;
+- bool dot = FALSE;
+- bool err = FALSE;
+- char *fmt = format;
+- int my_width = 0;
+- int my_prec = 0;
+- int value = 0;
+-
+ *len = 0;
+- *format++ = '%';
+- while (*s != '\0' && !done) {
+- switch (*s) {
+- case 'c': /* FALLTHRU */
+- case 'd': /* FALLTHRU */
+- case 'o': /* FALLTHRU */
+- case 'x': /* FALLTHRU */
+- case 'X': /* FALLTHRU */
+- case 's':
+- *format++ = *s;
+- done = TRUE;
+- break;
+- case '.':
+- *format++ = *s++;
+- if (dot) {
+- err = TRUE;
+- } else { /* value before '.' is the width */
+- dot = TRUE;
+- my_width = value;
+- }
+- value = 0;
+- break;
+- case '#':
+- *format++ = *s++;
+- break;
+- case ' ':
+- *format++ = *s++;
+- break;
+- case ':':
+- s++;
+- allowminus = TRUE;
+- break;
+- case '-':
+- if (allowminus) {
+- *format++ = *s++;
+- } else {
++ if (format != 0) {
++ bool done = FALSE;
++ bool allowminus = FALSE;
++ bool dot = FALSE;
++ bool err = FALSE;
++ char *fmt = format;
++ int my_width = 0;
++ int my_prec = 0;
++ int value = 0;
++
++ *len = 0;
++ *format++ = '%';
++ while (*s != '\0' && !done) {
++ switch (*s) {
++ case 'c': /* FALLTHRU */
++ case 'd': /* FALLTHRU */
++ case 'o': /* FALLTHRU */
++ case 'x': /* FALLTHRU */
++ case 'X': /* FALLTHRU */
++ case 's':
++ *format++ = *s;
+ done = TRUE;
+- }
+- break;
+- default:
+- if (isdigit(UChar(*s))) {
+- value = (value * 10) + (*s - '0');
+- if (value > 10000)
++ break;
++ case '.':
++ *format++ = *s++;
++ if (dot) {
+ err = TRUE;
++ } else { /* value before '.' is the width */
++ dot = TRUE;
++ my_width = value;
++ }
++ value = 0;
++ break;
++ case '#':
+ *format++ = *s++;
+- } else {
+- done = TRUE;
++ break;
++ case ' ':
++ *format++ = *s++;
++ break;
++ case ':':
++ s++;
++ allowminus = TRUE;
++ break;
++ case '-':
++ if (allowminus) {
++ *format++ = *s++;
++ } else {
++ done = TRUE;
++ }
++ break;
++ default:
++ if (isdigit(UChar(*s))) {
++ value = (value * 10) + (*s - '0');
++ if (value > 10000)
++ err = TRUE;
++ *format++ = *s++;
++ } else {
++ done = TRUE;
++ }
+ }
+ }
+- }
+
+- /*
+- * If we found an error, ignore (and remove) the flags.
+- */
+- if (err) {
+- my_width = my_prec = value = 0;
+- format = fmt;
+- *format++ = '%';
+- *format++ = *s;
+- }
++ /*
++ * If we found an error, ignore (and remove) the flags.
++ */
++ if (err) {
++ my_width = my_prec = value = 0;
++ format = fmt;
++ *format++ = '%';
++ *format++ = *s;
++ }
+
+- /*
+- * Any value after '.' is the precision. If we did not see '.', then
+- * the value is the width.
+- */
+- if (dot)
+- my_prec = value;
+- else
+- my_width = value;
++ /*
++ * Any value after '.' is the precision. If we did not see '.', then
++ * the value is the width.
++ */
++ if (dot)
++ my_prec = value;
++ else
++ my_width = value;
+
+- *format = '\0';
+- /* return maximum string length in print */
+- *len = (my_width > my_prec) ? my_width : my_prec;
++ *format = '\0';
++ /* return maximum string length in print */
++ *len = (my_width > my_prec) ? my_width : my_prec;
++ }
+ return s;
+ }
+
+ #define isUPPER(c) ((c) >= 'A' && (c) <= 'Z')
+ #define isLOWER(c) ((c) >= 'a' && (c) <= 'z')
+
+-static inline char *
+-tparam_internal(const char *string, va_list ap)
++/*
++ * Analyze the string to see how many parameters we need from the varargs list,
++ * and what their types are. We will only accept string parameters if they
++ * appear as a %l or %s format following an explicit parameter reference (e.g.,
++ * %p2%s). All other parameters are numbers.
++ *
++ * 'number' counts coarsely the number of pop's we see in the string, and
++ * 'popcount' shows the highest parameter number in the string. We would like
++ * to simply use the latter count, but if we are reading termcap strings, there
++ * may be cases that we cannot see the explicit parameter numbers.
++ */
++NCURSES_EXPORT(int)
++_nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount)
+ {
+-#define NUM_VARS 26
+- char *p_is_s[9];
+- long param[9];
+- int lastpop;
+- int popcount;
+- int number;
+- int len;
+- int level;
+- int x, y;
+- int i;
+ size_t len2;
+- register const char *cp;
+- static size_t len_fmt;
++ int i;
++ int lastpop = -1;
++ int len;
++ int number = 0;
++ const char *cp = string;
+ static char dummy[] = "";
+- static char *format;
+- static int dynamic_var[NUM_VARS];
+- static int static_vars[NUM_VARS];
+
+- out_used = 0;
+- if (string == NULL)
+- return NULL;
++ if (cp == 0)
++ return 0;
+
+- if ((len2 = strlen(string)) > len_fmt) {
+- len_fmt = len2 + len_fmt + 2;
+- if ((format = typeRealloc(char, len_fmt, format)) == 0)
++ if ((len2 = strlen(cp)) > fmt_size) {
++ fmt_size = len2 + fmt_size + 2;
++ if ((fmt_buff = typeRealloc(char, fmt_size, fmt_buff)) == 0)
+ return 0;
+ }
+
+- /*
+- * Find the highest parameter-number referred to in the format string.
+- * Use this value to limit the number of arguments copied from the
+- * variable-length argument list.
+- */
+-
+- number = 0;
+- lastpop = -1;
+- popcount = 0;
+- memset(p_is_s, 0, sizeof(p_is_s));
++ memset(p_is_s, 0, sizeof(p_is_s[0]) * NUM_PARM);
++ *popcount = 0;
+
+- /*
+- * Analyze the string to see how many parameters we need from the varargs
+- * list, and what their types are. We will only accept string parameters
+- * if they appear as a %l or %s format following an explicit parameter
+- * reference (e.g., %p2%s). All other parameters are numbers.
+- *
+- * 'number' counts coarsely the number of pop's we see in the string, and
+- * 'popcount' shows the highest parameter number in the string. We would
+- * like to simply use the latter count, but if we are reading termcap
+- * strings, there may be cases that we cannot see the explicit parameter
+- * numbers.
+- */
+- for (cp = string; (cp - string) < (int) len2;) {
++ while ((cp - string) < (int) len2) {
+ if (*cp == '%') {
+ cp++;
+- cp = parse_format(cp, format, &len);
++ cp = parse_format(cp, fmt_buff, &len);
+ switch (*cp) {
+ default:
+ break;
+@@ -416,11 +404,11 @@
+
+ case 'p':
+ cp++;
+- i = (*cp - '0');
+- if (i >= 0 && i <= 9) {
++ i = (UChar(*cp) - '0');
++ if (i >= 0 && i <= NUM_PARM) {
+ lastpop = i;
+- if (lastpop > popcount)
+- popcount = lastpop;
++ if (lastpop > *popcount)
++ *popcount = lastpop;
+ }
+ break;
+
+@@ -440,7 +428,7 @@
+
+ case L_BRACE:
+ cp++;
+- while (*cp >= '0' && *cp <= '9') {
++ while (isdigit(UChar(*cp))) {
+ cp++;
+ }
+ break;
+@@ -470,8 +458,8 @@
+
+ case 'i':
+ lastpop = -1;
+- if (popcount < 2)
+- popcount = 2;
++ if (*popcount < 2)
++ *popcount = 2;
+ break;
+ }
+ }
+@@ -479,8 +467,43 @@
+ cp++;
+ }
+
+- if (number > 9)
+- number = 9;
++ if (number > NUM_PARM)
++ number = NUM_PARM;
++ return number;
++}
++
++static inline char *
++tparam_internal(const char *string, va_list ap)
++{
++#define NUM_VARS 26
++ char *p_is_s[NUM_PARM];
++ long param[NUM_PARM];
++ int popcount;
++ int number;
++ int len;
++ int level;
++ int x, y;
++ int i;
++ const char *cp = string;
++ size_t len2;
++ static int dynamic_var[NUM_VARS];
++ static int static_vars[NUM_VARS];
++
++ if (cp == NULL)
++ return NULL;
++
++ out_used = 0;
++ len2 = strlen(cp);
++
++ /*
++ * Find the highest parameter-number referred to in the format string.
++ * Use this value to limit the number of arguments copied from the
++ * variable-length argument list.
++ */
++ number = _nc_tparm_analyze(cp, p_is_s, &popcount);
++ if (fmt_buff == 0)
++ return NULL;
++
+ for (i = 0; i < max(popcount, number); i++) {
+ /*
+ * A few caps (such as plab_norm) have string-valued parms.
+@@ -517,18 +540,18 @@
+ else
+ save_number(", %d", param[i], 0);
+ }
+- _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(string), out_buff);
++ _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(cp), out_buff);
+ out_used = 0;
+ }
+ #endif /* TRACE */
+
+- while (*string) {
+- if (*string != '%') {
+- save_char(*string);
++ while ((cp - string) < (int) len2) {
++ if (*cp != '%') {
++ save_char(UChar(*cp));
+ } else {
+- tparam_base = string++;
+- string = parse_format(string, format, &len);
+- switch (*string) {
++ tparam_base = cp++;
++ cp = parse_format(cp, fmt_buff, &len);
++ switch (*cp) {
+ default:
+ break;
+ case '%':
+@@ -539,7 +562,7 @@
+ case 'o': /* FALLTHRU */
+ case 'x': /* FALLTHRU */
+ case 'X': /* FALLTHRU */
+- save_number(format, npop(), len);
++ save_number(fmt_buff, npop(), len);
+ break;
+
+ case 'c': /* FALLTHRU */
+@@ -551,13 +574,13 @@
+ break;
+
+ case 's':
+- save_text(format, spop(), len);
++ save_text(fmt_buff, spop(), len);
+ break;
+
+ case 'p':
+- string++;
+- i = (*string - '1');
+- if (i >= 0 && i < 9) {
++ cp++;
++ i = (UChar(*cp) - '1');
++ if (i >= 0 && i < NUM_PARM) {
+ if (p_is_s[i])
+ spush(p_is_s[i]);
+ else
+@@ -566,39 +589,39 @@
+ break;
+
+ case 'P':
+- string++;
+- if (isUPPER(*string)) {
+- i = (*string - 'A');
++ cp++;
++ if (isUPPER(*cp)) {
++ i = (UChar(*cp) - 'A');
+ static_vars[i] = npop();
+- } else if (isLOWER(*string)) {
+- i = (*string - 'a');
++ } else if (isLOWER(*cp)) {
++ i = (UChar(*cp) - 'a');
+ dynamic_var[i] = npop();
+ }
+ break;
+
+ case 'g':
+- string++;
+- if (isUPPER(*string)) {
+- i = (*string - 'A');
++ cp++;
++ if (isUPPER(*cp)) {
++ i = (UChar(*cp) - 'A');
+ npush(static_vars[i]);
+- } else if (isLOWER(*string)) {
+- i = (*string - 'a');
++ } else if (isLOWER(*cp)) {
++ i = (UChar(*cp) - 'a');
+ npush(dynamic_var[i]);
+ }
+ break;
+
+ case S_QUOTE:
+- string++;
+- npush(*string);
+- string++;
++ cp++;
++ npush(UChar(*cp));
++ cp++;
+ break;
+
+ case L_BRACE:
+ number = 0;
+- string++;
+- while (*string >= '0' && *string <= '9') {
+- number = number * 10 + *string - '0';
+- string++;
++ cp++;
++ while (isdigit(UChar(*cp))) {
++ number = (number * 10) + (UChar(*cp) - '0');
++ cp++;
+ }
+ npush(number);
+ break;
+@@ -689,38 +712,38 @@
+ x = npop();
+ if (!x) {
+ /* scan forward for %e or %; at level zero */
+- string++;
++ cp++;
+ level = 0;
+- while (*string) {
+- if (*string == '%') {
+- string++;
+- if (*string == '?')
++ while (*cp) {
++ if (*cp == '%') {
++ cp++;
++ if (*cp == '?')
+ level++;
+- else if (*string == ';') {
++ else if (*cp == ';') {
+ if (level > 0)
+ level--;
+ else
+ break;
+- } else if (*string == 'e' && level == 0)
++ } else if (*cp == 'e' && level == 0)
+ break;
+ }
+
+- if (*string)
+- string++;
++ if (*cp)
++ cp++;
+ }
+ }
+ break;
+
+ case 'e':
+ /* scan forward for a %; at level zero */
+- string++;
++ cp++;
+ level = 0;
+- while (*string) {
+- if (*string == '%') {
+- string++;
+- if (*string == '?')
++ while (*cp) {
++ if (*cp == '%') {
++ cp++;
++ if (*cp == '?')
+ level++;
+- else if (*string == ';') {
++ else if (*cp == ';') {
+ if (level > 0)
+ level--;
+ else
+@@ -728,22 +751,22 @@
+ }
+ }
+
+- if (*string)
+- string++;
++ if (*cp)
++ cp++;
+ }
+ break;
+
+ case ';':
+ break;
+
+- } /* endswitch (*string) */
+- } /* endelse (*string == '%') */
++ } /* endswitch (*cp) */
++ } /* endelse (*cp == '%') */
+
+- if (*string == '\0')
++ if (*cp == '\0')
+ break;
+
+- string++;
+- } /* endwhile (*string) */
++ cp++;
++ } /* endwhile (*cp) */
+
+ get_space(1);
+ out_buff[out_used] = '\0';
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_tputs.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tputs.c
+--- ncurses-5.3/ncurses/tinfo/lib_tputs.c Sat Aug 17 18:44:08 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_tputs.c Fri Sep 12 16:42:24 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -45,7 +45,7 @@
+ #include <termcap.h> /* ospeed */
+ #include <tic.h>
+
+-MODULE_ID("$Id: lib_tputs.c,v 1.60 2002/08/17 23:44:08 tom Exp $")
++MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $")
+
+ NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */
+ NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
+@@ -65,7 +65,7 @@
+ } else {
+ register int nullcount;
+
+- nullcount = (ms * _nc_baudrate(ospeed)) / 10000;
++ nullcount = (ms * _nc_baudrate(ospeed)) / (BAUDBYTE * 1000);
+ for (_nc_nulls_sent += nullcount; nullcount > 0; nullcount--)
+ my_outch(PC);
+ if (my_outch == _nc_outch)
+@@ -84,9 +84,7 @@
+ NCURSES_EXPORT(int)
+ _nc_outch(int ch)
+ {
+-#ifdef TRACE
+- _nc_outchars++;
+-#endif /* TRACE */
++ TRACE_OUTCHARS(1);
+
+ if (SP != 0
+ && SP->_cleanup) {
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/lib_ttyflags.c ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ttyflags.c
+--- ncurses-5.3/ncurses/tinfo/lib_ttyflags.c Sat Oct 12 16:28:16 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/lib_ttyflags.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -38,7 +38,7 @@
+ #include <curses.priv.h>
+ #include <term.h> /* cur_term */
+
+-MODULE_ID("$Id: lib_ttyflags.c,v 1.9 2002/10/12 21:28:16 tom Exp $")
++MODULE_ID("$Id: lib_ttyflags.c,v 1.11 2003/05/17 23:50:37 tom Exp $")
+
+ #undef tabs
+
+@@ -60,8 +60,10 @@
+ _nc_get_tty_mode(TTY * buf)
+ {
+ if (cur_term == 0
+- || GET_TTY(cur_term->Filedes, buf) != 0)
++ || GET_TTY(cur_term->Filedes, buf) != 0) {
++ memset(buf, 0, sizeof(*buf));
+ return (ERR);
++ }
+ TR(TRACE_BITS, ("_nc_get_tty_mode(%d): %s",
+ cur_term->Filedes, _nc_trace_ttymode(buf)));
+ return (OK);
+@@ -71,8 +73,11 @@
+ _nc_set_tty_mode(TTY * buf)
+ {
+ if (cur_term == 0
+- || SET_TTY(cur_term->Filedes, buf) != 0)
++ || SET_TTY(cur_term->Filedes, buf) != 0) {
++ if ((errno == ENOTTY) && (SP != 0))
++ SP->_notty = TRUE;
+ return (ERR);
++ }
+ TR(TRACE_BITS, ("_nc_set_tty_mode(%d): %s",
+ cur_term->Filedes, _nc_trace_ttymode(buf)));
+ return (OK);
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/parse_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/parse_entry.c
+--- ncurses-5.3/ncurses/tinfo/parse_entry.c Sat Aug 31 12:02:02 2002
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/parse_entry.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -47,7 +47,7 @@
+ #include <tic.h>
+ #include <term_entry.h>
+
+-MODULE_ID("$Id: parse_entry.c,v 1.57 2002/08/31 17:02:02 tom Exp $")
++MODULE_ID("$Id: parse_entry.c,v 1.58 2003/05/24 22:51:38 tom Exp $")
+
+ #ifdef LINT
+ static short const parametrized[] =
+@@ -196,8 +196,7 @@
+ */
+
+ NCURSES_EXPORT(int)
+-_nc_parse_entry
+-(struct entry *entryp, int literal, bool silent)
++_nc_parse_entry(struct entry *entryp, int literal, bool silent)
+ {
+ int token_type;
+ struct name_table_entry const *entry_ptr;
+@@ -217,11 +216,21 @@
+ entryp->startline = _nc_start_line;
+ DEBUG(2, ("Comment range is %ld to %ld", entryp->cstart, entryp->cend));
+
+- /* junk the 2-character termcap name, if present */
++ /*
++ * Strip off the 2-character termcap name, if present. Originally termcap
++ * used that as an indexing aid. We can retain 2-character terminfo names,
++ * but note that they would be lost if we translate to/from termcap. This
++ * feature is supposedly obsolete since "newer" BSD implementations do not
++ * use it; however our reference for this feature is SunOS 4.x, which
++ * implemented it. Note that the resulting terminal type was never the
++ * 2-character name, but was instead the first alias after that.
++ */
+ ptr = _nc_curr_token.tk_name;
+- if (ptr[2] == '|') {
+- ptr = _nc_curr_token.tk_name + 3;
+- _nc_curr_token.tk_name[2] = '\0';
++ if (_nc_syntax == SYN_TERMCAP) {
++ if (ptr[2] == '|') {
++ ptr += 3;
++ _nc_curr_token.tk_name[2] = '\0';
++ }
+ }
+
+ entryp->tterm.str_table = entryp->tterm.term_names = _nc_save_str(ptr);
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/read_entry.c ncurses-5.3.20030906.orig/ncurses/tinfo/read_entry.c
+--- ncurses-5.3/ncurses/tinfo/read_entry.c Sat Dec 9 20:55:08 2000
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/read_entry.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,6 +29,7 @@
+ /****************************************************************************
+ * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
++ * and: Thomas E. Dickey *
+ ****************************************************************************/
+
+ /*
+@@ -41,10 +42,10 @@
+ #include <tic.h>
+ #include <term_entry.h>
+
+-MODULE_ID("$Id: read_entry.c,v 1.72 2000/12/10 02:55:08 tom Exp $")
++MODULE_ID("$Id: read_entry.c,v 1.76 2003/07/05 19:31:51 tom Exp $")
+
+ #if !HAVE_TELL
+-#define tell(fd) 0 /* lseek() is POSIX, but not tell() - odd... */
++#define tell(fd) lseek(fd, 0, SEEK_CUR) /* lseek() is POSIX, but not tell() */
+ #endif
+
+ /*
+@@ -156,9 +157,10 @@
+ {
+ int name_size, bool_count, num_count, str_count, str_size;
+ int i;
+- char buf[MAX_ENTRY_SIZE];
++ char buf[MAX_ENTRY_SIZE + 1];
++ unsigned want, have;
+
+- TR(TRACE_DATABASE, ("READ termtype header @%d", tell(fd)));
++ TR(TRACE_DATABASE, ("READ termtype header @%ld", (long) tell(fd)));
+
+ memset(ptr, 0, sizeof(*ptr));
+
+@@ -197,16 +199,19 @@
+ str_count = 0;
+ }
+
+- /* grab the name (a null-terminate string) */
+- read(fd, buf, min(MAX_NAME_SIZE, (unsigned) name_size));
+- buf[MAX_NAME_SIZE] = '\0';
++ /* grab the name (a null-terminated string) */
++ want = min(MAX_NAME_SIZE, (unsigned) name_size);
++ if ((have = read(fd, buf, want)) != want) {
++ memset(buf + have, 0, want - have);
++ }
++ buf[want] = '\0';
+ ptr->term_names = typeCalloc(char, strlen(buf) + 1);
+ if (ptr->term_names == NULL) {
+ return (0);
+ }
+ (void) strcpy(ptr->term_names, buf);
+- if (name_size > MAX_NAME_SIZE)
+- lseek(fd, (off_t) (name_size - MAX_NAME_SIZE), 1);
++ if (have > MAX_NAME_SIZE)
++ lseek(fd, (off_t) (have - MAX_NAME_SIZE), 1);
+
+ /* grab the booleans */
+ if ((ptr->Booleans = typeCalloc(char, max(BOOLCOUNT, bool_count))) == 0
+@@ -252,7 +257,7 @@
+ * Read extended entries, if any, after the normal end of terminfo data.
+ */
+ even_boundary(str_size);
+- TR(TRACE_DATABASE, ("READ extended_header @%d", tell(fd)));
++ TR(TRACE_DATABASE, ("READ extended_header @%ld", (long) tell(fd)));
+ if (_nc_user_definable && read_shorts(fd, buf, 5)) {
+ int ext_bool_count = LOW_MSB(buf + 0);
+ int ext_num_count = LOW_MSB(buf + 2);
+@@ -284,8 +289,8 @@
+ ext_bool_count, ext_num_count, ext_str_count,
+ ext_str_size, ext_str_limit));
+
+- TR(TRACE_DATABASE, ("READ %d extended-booleans @%d",
+- ext_bool_count, tell(fd)));
++ TR(TRACE_DATABASE, ("READ %d extended-booleans @%ld",
++ ext_bool_count, (long) tell(fd)));
+ if ((ptr->ext_Booleans = ext_bool_count) != 0) {
+ if (read(fd, ptr->Booleans + BOOLCOUNT, (unsigned)
+ ext_bool_count) != ext_bool_count)
+@@ -293,8 +298,8 @@
+ }
+ even_boundary(ext_bool_count);
+
+- TR(TRACE_DATABASE, ("READ %d extended-numbers @%d",
+- ext_num_count, tell(fd)));
++ TR(TRACE_DATABASE, ("READ %d extended-numbers @%ld",
++ ext_num_count, (long) tell(fd)));
+ if ((ptr->ext_Numbers = ext_num_count) != 0) {
+ if (!read_shorts(fd, buf, ext_num_count))
+ return (0);
+@@ -302,13 +307,13 @@
+ convert_shorts(buf, ptr->Numbers + NUMCOUNT, ext_num_count);
+ }
+
+- TR(TRACE_DATABASE, ("READ extended-offsets @%d", tell(fd)));
++ TR(TRACE_DATABASE, ("READ extended-offsets @%ld", (long) tell(fd)));
+ if ((ext_str_count || need)
+ && !read_shorts(fd, buf, ext_str_count + need))
+ return (0);
+
+- TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%d",
+- ext_str_limit, tell(fd)));
++ TR(TRACE_DATABASE, ("READ %d bytes of extended-strings @%ld",
++ ext_str_limit, (long) tell(fd)));
+
+ if (ext_str_limit) {
+ if ((ptr->ext_str_table = typeMalloc(char, ext_str_limit)) == 0)
+@@ -374,8 +379,7 @@
+ }
+
+ NCURSES_EXPORT(int)
+-_nc_read_file_entry
+-(const char *const filename, TERMTYPE * ptr)
++_nc_read_file_entry(const char *const filename, TERMTYPE * ptr)
+ /* return 1 if read, 0 if not found or garbled */
+ {
+ int code, fd = -1;
+@@ -458,13 +462,20 @@
+ */
+
+ NCURSES_EXPORT(int)
+-_nc_read_entry
+-(const char *const tn, char *const filename, TERMTYPE * const tp)
++_nc_read_entry(const char *const tn, char *const filename, TERMTYPE * const tp)
+ {
+ char *envp;
+ char ttn[MAX_ALIAS + 3];
+
+- /* truncate the terminal name to prevent dangerous buffer airline */
++ if (strlen(tn) == 0
++ || strcmp(tn, ".") == 0
++ || strcmp(tn, "..") == 0
++ || _nc_pathlast(tn) != 0) {
++ T(("illegal or missing entry name '%s'", tn));
++ return 0;
++ }
++
++ /* truncate the terminal name to prevent buffer overflow */
+ (void) sprintf(ttn, "%c/%.*s", *tn, MAX_ALIAS, tn);
+
+ /* This is System V behavior, in conjunction with our requirements for
+@@ -482,7 +493,7 @@
+ /* this is an ncurses extension */
+ if ((envp = _nc_home_terminfo()) != 0) {
+ if (_nc_read_tic_entry(filename, envp, ttn, tp) == 1) {
+- return (1);
++ return 1;
+ }
+ }
+
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/read_termcap.c ncurses-5.3.20030906.orig/ncurses/tinfo/read_termcap.c
+--- ncurses-5.3/ncurses/tinfo/read_termcap.c Sat Oct 27 20:11:34 2001
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/read_termcap.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -57,7 +57,7 @@
+ #include <tic.h>
+ #include <term_entry.h>
+
+-MODULE_ID("$Id: read_termcap.c,v 1.58 2001/10/28 01:11:34 tom Exp $")
++MODULE_ID("$Id: read_termcap.c,v 1.60 2003/07/05 19:31:16 tom Exp $")
+
+ #if !PURE_TERMINFO
+
+@@ -945,6 +945,15 @@
+ static int lineno;
+
+ T(("read termcap entry for %s", tn));
++
++ if (strlen(tn) == 0
++ || strcmp(tn, ".") == 0
++ || strcmp(tn, "..") == 0
++ || _nc_pathlast(tn) != 0) {
++ T(("illegal or missing entry name '%s'", tn));
++ return 0;
++ }
++
+ if (use_terminfo_vars() && (p = getenv("TERMCAP")) != 0
+ && !is_pathname(p) && _nc_name_match(p, tn, "|:")) {
+ /* TERMCAP holds a termcap entry */
+diff -urNd -urNd ncurses-5.3/ncurses/tinfo/strings.c ncurses-5.3.20030906.orig/ncurses/tinfo/strings.c
+--- ncurses-5.3/ncurses/tinfo/strings.c Sat Dec 9 20:55:08 2000
++++ ncurses-5.3.20030906.orig/ncurses/tinfo/strings.c Fri Sep 12 16:42:10 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2000 Free Software Foundation, Inc. *
++ * Copyright (c) 2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,7 +36,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: strings.c,v 1.3 2000/12/10 02:55:08 tom Exp $")
++MODULE_ID("$Id: strings.c,v 1.5 2003/08/16 23:46:00 tom Exp $")
+
+ /****************************************************************************
+ * Useful string functions (especially for mvcur)
+@@ -44,8 +44,7 @@
+
+ #if !HAVE_STRSTR
+ NCURSES_EXPORT(char *)
+-_nc_strstr
+-(const char *haystack, const char *needle)
++_nc_strstr(const char *haystack, const char *needle)
+ {
+ size_t len1 = strlen(haystack);
+ size_t len2 = strlen(needle);
+@@ -63,16 +62,18 @@
+ #endif
+
+ /*
+- * Initialize the descriptor so we can append to it.
++ * Initialize the descriptor so we can append to it. Note that 'src' may
++ * be a null pointer (see _nc_str_null), so the corresponding strcat and
++ * strcpy calls have to allow for this.
+ */
+ NCURSES_EXPORT(string_desc *)
+-_nc_str_init
+-(string_desc * dst, char *src, size_t len)
++_nc_str_init(string_desc * dst, char *src, size_t len)
+ {
+ if (dst != 0) {
+ dst->s_head = src;
+ dst->s_tail = src;
+ dst->s_size = len - 1;
++ dst->s_init = dst->s_size;
+ if (src != 0)
+ *src = 0;
+ }
+@@ -83,8 +84,7 @@
+ * Initialize the descriptor for only tracking the amount of memory used.
+ */
+ NCURSES_EXPORT(string_desc *)
+-_nc_str_null
+-(string_desc * dst, size_t len)
++_nc_str_null(string_desc * dst, size_t len)
+ {
+ return _nc_str_init(dst, 0, len);
+ }
+@@ -93,8 +93,7 @@
+ * Copy a descriptor
+ */
+ NCURSES_EXPORT(string_desc *)
+-_nc_str_copy
+-(string_desc * dst, string_desc * src)
++_nc_str_copy(string_desc * dst, string_desc * src)
+ {
+ *dst = *src;
+ return dst;
+@@ -135,7 +134,7 @@
+ strcpy(dst->s_head, src);
+ dst->s_tail = dst->s_head + len;
+ }
+- dst->s_size -= len;
++ dst->s_size = dst->s_init - len;
+ return TRUE;
+ }
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_trace.c ncurses-5.3.20030906.orig/ncurses/trace/lib_trace.c
+--- ncurses-5.3/ncurses/trace/lib_trace.c Sat Oct 12 10:20:15 2002
++++ ncurses-5.3.20030906.orig/ncurses/trace/lib_trace.c Fri Sep 12 16:41:56 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_trace.c,v 1.50 2002/10/12 15:20:15 tom Exp $")
++MODULE_ID("$Id: lib_trace.c,v 1.52 2003/08/09 22:15:44 tom Exp $")
+
+ NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
+
+@@ -48,20 +48,21 @@
+ NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = "";
+ NCURSES_EXPORT_VAR(long) _nc_outchars = 0;
+
+-static FILE *tracefp; /* default to writing to stderr */
++static FILE *tracefp = 0; /* default to writing to stderr */
+
+ NCURSES_EXPORT(void)
+-trace(const unsigned int tracelevel GCC_UNUSED)
++trace(const unsigned int tracelevel)
+ {
+ static bool been_here = FALSE;
+ static char my_name[] = "trace";
+
+- if (!been_here && tracelevel) {
+- been_here = TRUE;
++ if ((tracefp == 0) && tracelevel) {
++ const char *mode = been_here ? "ab" : "wb";
+
++ been_here = TRUE;
+ _nc_tracing = tracelevel;
+ if (_nc_access(my_name, W_OK) < 0
+- || (tracefp = fopen(my_name, "wb")) == 0) {
++ || (tracefp = fopen(my_name, mode)) == 0) {
+ perror("curses: Can't open 'trace' file: ");
+ exit(EXIT_FAILURE);
+ }
+@@ -74,8 +75,16 @@
+ #elif HAVE_SETBUF /* POSIX */
+ (void) setbuffer(tracefp, (char *) 0);
+ #endif
+- _tracef("TRACING NCURSES version %s (tracelevel=%#x)",
+- curses_version(), tracelevel);
++ _tracef("TRACING NCURSES version %s.%d (tracelevel=%#x)",
++ NCURSES_VERSION,
++ NCURSES_VERSION_PATCH,
++ tracelevel);
++ } else if (tracelevel == 0) {
++ if (tracefp != 0) {
++ fclose(tracefp);
++ tracefp = 0;
++ }
++ _nc_tracing = tracelevel;
+ } else if (_nc_tracing != tracelevel) {
+ _nc_tracing = tracelevel;
+ _tracef("tracelevel=%#x", tracelevel);
+diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_traceatr.c ncurses-5.3.20030906.orig/ncurses/trace/lib_traceatr.c
+--- ncurses-5.3/ncurses/trace/lib_traceatr.c Sat Sep 28 07:37:03 2002
++++ ncurses-5.3.20030906.orig/ncurses/trace/lib_traceatr.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas Dickey 1996-2001 *
++ * Author: Thomas Dickey 1996-2003 *
+ * and: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
+ ****************************************************************************/
+@@ -39,7 +39,7 @@
+ #include <curses.priv.h>
+ #include <term.h> /* acs_chars */
+
+-MODULE_ID("$Id: lib_traceatr.c,v 1.43 2002/09/28 12:37:03 tom Exp $")
++MODULE_ID("$Id: lib_traceatr.c,v 1.47 2003/06/28 23:20:26 tom Exp $")
+
+ #define COLOR_OF(c) (c < 0 || c > 7 ? "default" : colors[c].name)
+
+@@ -52,7 +52,7 @@
+ _traceattr2(int bufnum, attr_t newmode)
+ {
+ char *buf = _nc_trace_buf(bufnum, BUFSIZ);
+- char *tmp = buf;
++ char temp[80];
+ static const struct {
+ unsigned int val;
+ const char *name;
+@@ -92,39 +92,39 @@
+ unsigned save_nc_tracing = _nc_tracing;
+ _nc_tracing = 0;
+
+- strcpy(tmp++, l_brace);
++ strcpy(buf, l_brace);
+
+ for (n = 0; n < SIZEOF(names); n++) {
+ if ((newmode & names[n].val) != 0) {
+ if (buf[1] != '\0')
+- strcat(tmp, "|");
+- strcat(tmp, names[n].name);
+- tmp += strlen(tmp);
++ buf = _nc_trace_bufcat(bufnum, "|");
++ buf = _nc_trace_bufcat(bufnum, names[n].name);
+
+ if (names[n].val == A_COLOR) {
+ short pairnum = PAIR_NUMBER(newmode);
+ short fg, bg;
+
+- if (pair_content(pairnum, &fg, &bg) == OK)
+- (void) sprintf(tmp,
++ if (pair_content(pairnum, &fg, &bg) == OK) {
++ (void) sprintf(temp,
+ "{%d = {%s, %s}}",
+ pairnum,
+ COLOR_OF(fg),
+- COLOR_OF(bg)
+- );
+- else
+- (void) sprintf(tmp, "{%d}", pairnum);
++ COLOR_OF(bg));
++ } else {
++ (void) sprintf(temp, "{%d}", pairnum);
++ }
++ buf = _nc_trace_bufcat(bufnum, temp);
+ }
+ }
+ }
+ if (ChAttrOf(newmode) == A_NORMAL) {
+ if (buf[1] != '\0')
+- strcat(tmp, "|");
+- strcat(tmp, "A_NORMAL");
++ (void) _nc_trace_bufcat(bufnum, "|");
++ (void) _nc_trace_bufcat(bufnum, "A_NORMAL");
+ }
+
+ _nc_tracing = save_nc_tracing;
+- return (strcat(buf, r_brace));
++ return (_nc_trace_bufcat(bufnum, r_brace));
+ }
+
+ NCURSES_EXPORT(char *)
+@@ -146,7 +146,7 @@
+ {
+ const char *result = 0;
+
+- if (attr & A_ALTCHARSET) {
++ if ((attr & A_ALTCHARSET) && (acs_chars != 0)) {
+ char *cp;
+ char *found = 0;
+ static const struct {
+@@ -214,20 +214,21 @@
+ NCURSES_EXPORT(char *)
+ _tracechtype2(int bufnum, chtype ch)
+ {
+- char *buf = _nc_trace_buf(bufnum, BUFSIZ);
+ const char *found;
+
+- strcpy(buf, l_brace);
++ strcpy(_nc_trace_buf(bufnum, BUFSIZ), l_brace);
+ if ((found = _nc_altcharset_name(ChAttrOf(ch), ch)) != 0) {
+- (void) strcat(buf, found);
++ (void) _nc_trace_bufcat(bufnum, found);
+ } else
+- (void) strcat(buf, _tracechar(ChCharOf(ch)));
++ (void) _nc_trace_bufcat(bufnum, _tracechar(ChCharOf(ch)));
+
+- if (ChAttrOf(ch) != A_NORMAL)
+- (void) sprintf(buf + strlen(buf), " | %s",
++ if (ChAttrOf(ch) != A_NORMAL) {
++ (void) _nc_trace_bufcat(bufnum, " | ");
++ (void) _nc_trace_bufcat(bufnum,
+ _traceattr2(bufnum + 20, ChAttrOf(ch)));
++ }
+
+- return (strcat(buf, r_brace));
++ return (_nc_trace_bufcat(bufnum, r_brace));
+ }
+
+ NCURSES_EXPORT(char *)
+@@ -256,15 +257,16 @@
+ if (ch != 0) {
+ attr = AttrOfD(ch);
+ if ((found = _nc_altcharset_name(attr, CharOfD(ch))) != 0) {
+- (void) strcat(buf, found);
++ (void) _nc_trace_bufcat(bufnum, found);
+ attr &= ~A_ALTCHARSET;
+- } else if (!isnac(CHDEREF(ch))) {
++ } else if (isnac(CHDEREF(ch))) {
++ (void) _nc_trace_bufcat(bufnum, "{NAC}");
++ } else {
+ PUTC_DATA;
+ int n;
+
+- memset (&PUT_st, '\0', sizeof (PUT_st));
+- PUTC_i = 0;
+- (void) strcat(buf, "{ ");
++ PUTC_INIT;
++ (void) _nc_trace_bufcat(bufnum, "{ ");
+ do {
+ PUTC_ch = PUTC_i < CCHARW_MAX ? ch->chars[PUTC_i] : L'\0';
+ PUTC_n = wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st);
+@@ -274,19 +276,20 @@
+ break;
+ for (n = 0; n < PUTC_n; n++) {
+ if (n)
+- (void) strcat(buf, ", ");
+- (void) strcat(buf, _tracechar(UChar(PUTC_buf[n])));
++ (void) _nc_trace_bufcat(bufnum, ", ");
++ (void) _nc_trace_bufcat(bufnum, _tracechar(UChar(PUTC_buf[n])));
+ }
+ ++PUTC_i;
+ } while (PUTC_ch != L'\0');
+- (void) strcat(buf, " }");
++ (void) _nc_trace_bufcat(bufnum, " }");
++ }
++ if (attr != A_NORMAL) {
++ (void) _nc_trace_bufcat(bufnum, " | ");
++ (void) _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr));
+ }
+- if (attr != A_NORMAL)
+- (void) sprintf(buf + strlen(buf), " | %s",
+- _traceattr2(bufnum + 20, attr));
+ }
+
+- return (strcat(buf, r_brace));
++ return (_nc_trace_bufcat(bufnum, r_brace));
+ }
+
+ NCURSES_EXPORT(char *)
+diff -urNd -urNd ncurses-5.3/ncurses/trace/lib_tracechr.c ncurses-5.3.20030906.orig/ncurses/trace/lib_tracechr.c
+--- ncurses-5.3/ncurses/trace/lib_tracechr.c Sat May 25 18:34:19 2002
++++ ncurses-5.3.20030906.orig/ncurses/trace/lib_tracechr.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -36,19 +36,36 @@
+ */
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_tracechr.c,v 1.9 2002/05/25 23:34:19 tom Exp $")
++#include <ctype.h>
++
++MODULE_ID("$Id: lib_tracechr.c,v 1.10 2003/06/14 11:05:42 tom Exp $")
+
+ #ifdef TRACE
+ NCURSES_EXPORT(char *)
+ _tracechar(int ch)
+ {
+- static char crep[40];
+- (void) sprintf(crep, "'%.30s' = %#03o",
+- ((ch > KEY_MIN || ch < 0)
+- ? keyname(ch)
+- : unctrl(ch)),
+- ch);
+- return (crep);
++ static char result[40];
++ char *name;
++
++ if (ch > KEY_MIN || ch < 0) {
++ name = keyname(ch);
++ if (name == 0 || *name == '\0')
++ name = "NULL";
++ (void) sprintf(result, "'%.30s' = %#03o", name, ch);
++ } else if (!isprint(ch) || ch > 255) {
++ /*
++ * workaround for glibc bug:
++ * sprintf changes the result from unctrl() to an empty string if it
++ * does not correspond to a valid multibyte sequence.
++ */
++ (void) sprintf(result, "%#03o", ch);
++ } else {
++ name = unctrl(ch);
++ if (name == 0 || *name == 0)
++ name = "null"; /* shouldn't happen */
++ (void) sprintf(result, "'%.30s' = %#03o", name, ch);
++ }
++ return (result);
+ }
+ #else
+ empty_module(_nc_lib_tracechr)
+diff -urNd -urNd ncurses-5.3/ncurses/trace/trace_buf.c ncurses-5.3.20030906.orig/ncurses/trace/trace_buf.c
+--- ncurses-5.3/ncurses/trace/trace_buf.c Sat Jul 13 19:08:08 2002
++++ ncurses-5.3.20030906.orig/ncurses/trace/trace_buf.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,15 +35,15 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: trace_buf.c,v 1.11 2002/07/14 00:08:08 tom Exp $")
++MODULE_ID("$Id: trace_buf.c,v 1.12 2003/03/15 21:21:36 tom Exp $")
+
+ typedef struct {
+ char *text;
+ size_t size;
+ } LIST;
+
+-NCURSES_EXPORT(char *)
+-_nc_trace_buf(int bufnum, size_t want)
++static char *
++_nc_trace_alloc(int bufnum, size_t want)
+ {
+ char *result = 0;
+ static LIST *list;
+@@ -65,8 +65,6 @@
+ list[bufnum].size = want;
+ }
+
+- if (list[bufnum].text != 0)
+- *(list[bufnum].text) = '\0';
+ result = list[bufnum].text;
+ }
+ #if NO_LEAKS
+@@ -82,3 +80,30 @@
+ #endif
+ return result;
+ }
++
++/*
++ * (re)Allocate a buffer big enough for the caller's wants.
++ */
++NCURSES_EXPORT(char *)
++_nc_trace_buf(int bufnum, size_t want)
++{
++ char *result = _nc_trace_alloc(bufnum, want);
++ if (result != 0)
++ *result = '\0';
++ return result;
++}
++
++/*
++ * Append a new string to an existing buffer.
++ */
++NCURSES_EXPORT(char *)
++_nc_trace_bufcat(int bufnum, const char *value)
++{
++ char *buffer = _nc_trace_alloc(bufnum, 0);
++ size_t have = strlen(buffer);
++
++ buffer = _nc_trace_alloc(bufnum, 1 + have + strlen(value));
++ (void) strcpy(buffer + have, value);
++
++ return buffer;
++}
+diff -urNd -urNd ncurses-5.3/ncurses/trace/varargs.c ncurses-5.3.20030906.orig/ncurses/trace/varargs.c
+--- ncurses-5.3/ncurses/trace/varargs.c Sat Oct 5 18:04:17 2002
++++ ncurses-5.3.20030906.orig/ncurses/trace/varargs.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -34,7 +34,7 @@
+
+ #include <ctype.h>
+
+-MODULE_ID("$Id: varargs.c,v 1.3 2002/10/05 23:04:17 tom Exp $")
++MODULE_ID("$Id: varargs.c,v 1.4 2003/05/24 21:10:28 tom Exp $")
+
+ #ifdef TRACE
+
+@@ -46,7 +46,7 @@
+
+ #define VA_INT(type) ival = va_arg(ap, type)
+ #define VA_FLT(type) fval = va_arg(ap, type)
+-#define VA_PTR(type) pval = (void *)va_arg(ap, type)
++#define VA_PTR(type) pval = (char *)va_arg(ap, type)
+ #define VA_STR(type) sval = va_arg(ap, type)
+
+ /*
+diff -urNd -urNd ncurses-5.3/ncurses/trace/visbuf.c ncurses-5.3.20030906.orig/ncurses/trace/visbuf.c
+--- ncurses-5.3/ncurses/trace/visbuf.c Sat Oct 5 19:03:43 2002
++++ ncurses-5.3.20030906.orig/ncurses/trace/visbuf.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -27,7 +27,7 @@
+ ****************************************************************************/
+
+ /****************************************************************************
+- * Author: Thomas E. Dickey 1996-2001 *
++ * Author: Thomas E. Dickey 1996-2003 *
+ * and: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
+ ****************************************************************************/
+@@ -41,7 +41,7 @@
+ #include <tic.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: visbuf.c,v 1.6 2002/10/06 00:03:43 tom Exp $")
++MODULE_ID("$Id: visbuf.c,v 1.8 2003/06/28 23:20:37 tom Exp $")
+
+ static char *
+ _nc_vischar(char *tp, unsigned c)
+@@ -187,9 +187,7 @@
+ NCURSES_EXPORT(const char *)
+ _nc_viscbuf2(int bufnum, const cchar_t * buf, int len)
+ {
+- size_t have = BUFSIZ;
+- char *result = _nc_trace_buf(bufnum, have);
+- char *tp = result;
++ char *result = _nc_trace_buf(bufnum, BUFSIZ);
+ int n;
+ bool same = TRUE;
+ attr_t attr = A_NORMAL;
+@@ -211,17 +209,18 @@
+ * detailed trace function that displays each character separately.
+ */
+ if (same) {
+- *tp++ = D_QUOTE;
++ static const char d_quote[] =
++ {D_QUOTE, 0};
++
++ result = _nc_trace_bufcat(bufnum, d_quote);
+ while (len-- > 0) {
+ if ((found = _nc_altcharset_name(attr, CharOfD(buf))) != 0) {
+- (void) strcpy(tp, found);
+- tp += strlen(tp);
++ result = _nc_trace_bufcat(bufnum, found);
+ attr &= ~A_ALTCHARSET;
+ } else if (!isnac(CHDEREF(buf))) {
+ PUTC_DATA;
+
+- memset(&PUT_st, '\0', sizeof(PUT_st));
+- PUTC_i = 0;
++ PUTC_INIT;
+ do {
+ PUTC_ch = PUTC_i < CCHARW_MAX ? buf->chars[PUTC_i] : L'\0';
+ PUTC_n = wcrtomb(PUTC_buf, buf->chars[PUTC_i], &PUT_st);
+@@ -230,33 +229,31 @@
+ if (PUTC_n <= 0)
+ break;
+ for (n = 0; n < PUTC_n; n++) {
+- tp = _nc_vischar(tp, UChar(PUTC_buf[n]));
++ char temp[80];
++ _nc_vischar(temp, UChar(PUTC_buf[n]));
++ result = _nc_trace_bufcat(bufnum, temp);
+ }
+ ++PUTC_i;
+ } while (PUTC_ch != L'\0');
+ }
+ buf++;
+ }
+- *tp++ = D_QUOTE;
+- *tp++ = '\0';
+- if (attr != A_NORMAL)
+- (void) sprintf(tp, " | %s",
+- _traceattr2(bufnum + 20, attr));
++ result = _nc_trace_bufcat(bufnum, d_quote);
++ if (attr != A_NORMAL) {
++ result = _nc_trace_bufcat(bufnum, " | ");
++ result = _nc_trace_bufcat(bufnum, _traceattr2(bufnum + 20, attr));
++ }
+ } else {
+- *tp++ = L_BRACE;
++ static const char l_brace[] =
++ {L_BRACE, 0};
++ static const char r_brace[] =
++ {R_BRACE, 0};
++ strcpy(result, l_brace);
+ while (len-- > 0) {
+- char *temp = _tracecchar_t2(bufnum + 20, buf++);
+- size_t used = (tp - result);
+- size_t want = strlen(temp) + 5 + used;
+- if (want > have) {
+- result = _nc_trace_buf(bufnum, have = want);
+- tp = result + used;
+- }
+- (void) strcpy(tp, temp);
+- tp += strlen(tp);
++ result = _nc_trace_bufcat(bufnum,
++ _tracecchar_t2(bufnum + 20, buf++));
+ }
+- *tp++ = R_BRACE;
+- *tp++ = '\0';
++ result = _nc_trace_bufcat(bufnum, r_brace);
+ }
+ return result;
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/tty/lib_mvcur.c ncurses-5.3.20030906.orig/ncurses/tty/lib_mvcur.c
+--- ncurses-5.3/ncurses/tty/lib_mvcur.c Sat Sep 14 18:02:06 2002
++++ ncurses-5.3.20030906.orig/ncurses/tty/lib_mvcur.c Fri Sep 12 16:42:24 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -108,7 +108,9 @@
+ * LONG_DIST and (b) further inward from the right or left edge than LONG_DIST,
+ * we'll consider nonlocal.
+ */
+-#define NOT_LOCAL(fy, fx, ty, tx) ((tx > LONG_DIST) && (tx < screen_lines - 1 - LONG_DIST) && (abs(ty-fy) + abs(tx-fx) > LONG_DIST))
++#define NOT_LOCAL(fy, fx, ty, tx) ((tx > LONG_DIST) \
++ && (tx < screen_columns - 1 - LONG_DIST) \
++ && (abs(ty-fy) + abs(tx-fx) > LONG_DIST))
+
+ /****************************************************************************
+ *
+@@ -152,12 +154,8 @@
+ #include <term.h>
+ #include <ctype.h>
+
+-MODULE_ID("$Id: lib_mvcur.c,v 1.86 2002/09/14 23:02:06 Philippe.Blain Exp $")
++MODULE_ID("$Id: lib_mvcur.c,v 1.93 2003/08/23 21:51:58 tom Exp $")
+
+-#define CURRENT_ROW SP->_cursrow /* phys cursor row */
+-#define CURRENT_COLUMN SP->_curscol /* phys cursor column */
+-#define CURRENT_ATTR SP->_current_attr /* current phys attribute */
+-#define REAL_ATTR SP->_current_attr /* phys current attribute */
+ #define WANT_CHAR(y, x) SP->_newscr->_line[y].text[x] /* desired state */
+ #define BAUDRATE cur_term->_baudrate /* bits per second */
+
+@@ -296,10 +294,11 @@
+ _nc_mvcur_init(void)
+ /* initialize the cost structure */
+ {
+- /*
+- * 9 = 7 bits + 1 parity + 1 stop.
+- */
+- SP->_char_padding = (9 * 1000 * 10) / (BAUDRATE > 0 ? BAUDRATE : 9600);
++ if (isatty(fileno(SP->_ofp)))
++ SP->_char_padding = ((BAUDBYTE * 1000 * 10)
++ / (BAUDRATE > 0 ? BAUDRATE : 9600));
++ else
++ SP->_char_padding = 1; /* must be nonzero */
+ if (SP->_char_padding <= 0)
+ SP->_char_padding = 1; /* must be nonzero */
+ TR(TRACE_CHARPUT | TRACE_MOVE, ("char_padding %d msecs", SP->_char_padding));
+@@ -371,6 +370,13 @@
+ SP->_dch1_cost = NormalizedCost(delete_character, 1);
+ SP->_ich1_cost = NormalizedCost(insert_character, 1);
+
++ /*
++ * If this is a bce-terminal, we want to bias the choice so we use clr_eol
++ * rather than spaces at the end of a line.
++ */
++ if (back_color_erase)
++ SP->_el_cost = 0;
++
+ /* parameterized screen-update strings */
+ SP->_dch_cost = NormalizedCost(tparm(parm_dch, 23), 1);
+ SP->_ich_cost = NormalizedCost(tparm(parm_ich, 23), 1);
+@@ -508,10 +514,10 @@
+ n = (from_y - to_y);
+
+ if (parm_up_cursor
+- && SP->_cup_cost < vcost
++ && SP->_cuu_cost < vcost
+ && _nc_safe_strcat(_nc_str_copy(target, &save),
+ tparm(parm_up_cursor, n))) {
+- vcost = SP->_cup_cost;
++ vcost = SP->_cuu_cost;
+ }
+
+ if (cursor_up && (n * SP->_cuu1_cost < vcost)) {
+@@ -570,7 +576,6 @@
+ }
+ #endif /* USE_HARD_TABS */
+
+-#if defined(REAL_ATTR) && defined(WANT_CHAR)
+ if (n <= 0 || n >= (int) check.s_size)
+ ovw = FALSE;
+ #if BSD_TPUTS
+@@ -601,7 +606,7 @@
+
+ for (i = 0; i < n; i++) {
+ NCURSES_CH_T ch = WANT_CHAR(to_y, from_x + i);
+- if (AttrOf(ch) != CURRENT_ATTR
++ if (AttrOf(ch) != SP->_current_attr
+ #if USE_WIDEC_SUPPORT
+ || !Charable(ch)
+ #endif
+@@ -619,9 +624,7 @@
+ *check.s_tail = '\0';
+ check.s_size -= n;
+ lhcost += n * SP->_char_padding;
+- } else
+-#endif /* defined(REAL_ATTR) && defined(WANT_CHAR) */
+- {
++ } else {
+ lhcost = repeated_append(&check, lhcost, SP->_cuf1_cost,
+ n, cursor_right);
+ }
+@@ -831,6 +834,8 @@
+ if (usecost != INFINITY) {
+ TPUTS_TRACE("mvcur");
+ tputs(buffer, 1, _nc_outch);
++ SP->_cursrow = ynew;
++ SP->_curscol = xnew;
+ return (OK);
+ } else
+ return (ERR);
+@@ -840,67 +845,94 @@
+ mvcur(int yold, int xold, int ynew, int xnew)
+ /* optimized cursor move from (yold, xold) to (ynew, xnew) */
+ {
++ attr_t oldattr;
++ int code;
++
+ TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("mvcur(%d,%d,%d,%d)"),
+ yold, xold, ynew, xnew));
+
+- if (SP == 0)
+- returnCode(ERR);
++ if (SP == 0) {
++ code = ERR;
++ } else if (yold == ynew && xold == xnew) {
++ code = OK;
++ } else {
+
+- if (yold == ynew && xold == xnew)
+- returnCode(OK);
++ /*
++ * Most work here is rounding for terminal boundaries getting the
++ * column position implied by wraparound or the lack thereof and
++ * rolling up the screen to get ynew on the screen.
++ */
++ if (xnew >= screen_columns) {
++ ynew += xnew / screen_columns;
++ xnew %= screen_columns;
++ }
+
+- /*
+- * Most work here is rounding for terminal boundaries getting the
+- * column position implied by wraparound or the lack thereof and
+- * rolling up the screen to get ynew on the screen.
+- */
++ /*
++ * Force restore even if msgr is on when we're in an alternate
++ * character set -- these have a strong tendency to screw up the CR &
++ * LF used for local character motions!
++ */
++ oldattr = SP->_current_attr;
++ if ((oldattr & A_ALTCHARSET)
++ || (oldattr && !move_standout_mode)) {
++ TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
++ oldattr, _traceattr(oldattr)));
++ (void) vidattr(A_NORMAL);
++ }
+
+- if (xnew >= screen_columns) {
+- ynew += xnew / screen_columns;
+- xnew %= screen_columns;
+- }
+- if (xold >= screen_columns) {
+- int l;
++ if (xold >= screen_columns) {
++ int l;
+
+- if (SP->_nl) {
+- l = (xold + 1) / screen_columns;
+- yold += l;
+- if (yold >= screen_lines)
+- l -= (yold - screen_lines - 1);
++ if (SP->_nl) {
++ l = (xold + 1) / screen_columns;
++ yold += l;
++ if (yold >= screen_lines)
++ l -= (yold - screen_lines - 1);
+
+- while (l > 0) {
+- if (newline) {
+- TPUTS_TRACE("newline");
+- tputs(newline, 0, _nc_outch);
+- } else
+- putchar('\n');
+- l--;
+- if (xold > 0) {
+- if (carriage_return) {
+- TPUTS_TRACE("carriage_return");
+- tputs(carriage_return, 0, _nc_outch);
++ while (l > 0) {
++ if (newline) {
++ TPUTS_TRACE("newline");
++ putp(newline);
+ } else
+- putchar('\r');
+- xold = 0;
++ putchar('\n');
++ l--;
++ if (xold > 0) {
++ if (carriage_return) {
++ TPUTS_TRACE("carriage_return");
++ putp(carriage_return);
++ } else
++ putchar('\r');
++ xold = 0;
++ }
+ }
++ } else {
++ /*
++ * If caller set nonl(), we cannot really use newlines to
++ * position to the next row.
++ */
++ xold = -1;
++ yold = -1;
+ }
+- } else {
+- /*
+- * If caller set nonl(), we cannot really use newlines to position
+- * to the next row.
+- */
+- xold = -1;
+- yold = -1;
+ }
+- }
+
+- if (yold > screen_lines - 1)
+- yold = screen_lines - 1;
+- if (ynew > screen_lines - 1)
+- ynew = screen_lines - 1;
++ if (yold > screen_lines - 1)
++ yold = screen_lines - 1;
++ if (ynew > screen_lines - 1)
++ ynew = screen_lines - 1;
+
+- /* destination location is on screen now */
+- returnCode(onscreen_mvcur(yold, xold, ynew, xnew, TRUE));
++ /* destination location is on screen now */
++ code = onscreen_mvcur(yold, xold, ynew, xnew, TRUE);
++
++ /*
++ * Restore attributes if we disabled them before moving.
++ */
++ if (oldattr != SP->_current_attr) {
++ TR(TRACE_CHARPUT, ("turning on (%#lx) %s after move",
++ oldattr, _traceattr(oldattr)));
++ (void) vidattr(oldattr);
++ }
++ }
++ returnCode(code);
+ }
+
+ #if defined(TRACE) || defined(NCURSES_TEST)
+diff -urNd -urNd ncurses-5.3/ncurses/tty/lib_twait.c ncurses-5.3.20030906.orig/ncurses/tty/lib_twait.c
+--- ncurses-5.3/ncurses/tty/lib_twait.c Sat Aug 31 19:28:18 2002
++++ ncurses-5.3.20030906.orig/ncurses/tty/lib_twait.c Tue May 13 20:08:22 2003
+@@ -61,7 +61,7 @@
+ # endif
+ #endif
+
+-MODULE_ID("$Id: lib_twait.c,v 1.46 2002/09/01 00:28:18 tom Exp $")
++MODULE_ID("$Id: lib_twait.c,v 1.47 2003/01/25 18:21:17 tom Exp $")
+
+ static long
+ _nc_gettime(bool first)
+@@ -388,7 +388,7 @@
+ * then come back for more.
+ */
+ if (result == 0 && milliseconds > 100) {
+- napms(100);
++ napms(100); /* FIXME: this won't be right if I recur! */
+ milliseconds -= 100;
+ goto retry;
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/tty/tty_display.h ncurses-5.3.20030906.orig/ncurses/tty/tty_display.h
+--- ncurses-5.3/ncurses/tty/tty_display.h Sat Dec 9 20:27:01 2000
++++ ncurses-5.3.20030906.orig/ncurses/tty/tty_display.h Fri Sep 12 16:41:41 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,2000 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,6 +29,9 @@
+ #ifndef TTY_DISPLAY_H
+ #define TTY_DISPLAY_H 1
+
++/*
++ * $Id: tty_display.h,v 1.5 2003/08/02 22:59:07 Philippe.Blain Exp $
++ */
+ extern NCURSES_EXPORT(bool) _nc_tty_beep (void);
+ extern NCURSES_EXPORT(bool) _nc_tty_check_resize (void);
+ extern NCURSES_EXPORT(bool) _nc_tty_cursor (int);
+@@ -111,7 +114,7 @@
+ : ((enter_insert_mode && exit_insert_mode) \
+ ? D->_smir_cost + D->_rmir_cost + (D->_ip_cost * count) \
+ : ((insert_character != 0) \
+- ? (D->_ich1_cost * count) \
++ ? ((D->_ich1_cost + D->_ip_cost) * count) \
+ : INFINITY)))
+
+ #if USE_XMC_SUPPORT
+diff -urNd -urNd ncurses-5.3/ncurses/tty/tty_update.c ncurses-5.3.20030906.orig/ncurses/tty/tty_update.c
+--- ncurses-5.3/ncurses/tty/tty_update.c Sat Sep 28 15:41:55 2002
++++ ncurses-5.3.20030906.orig/ncurses/tty/tty_update.c Fri Sep 12 16:42:24 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,6 +29,7 @@
+ /****************************************************************************
+ * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
+ * and: Eric S. Raymond <esr@snark.thyrsus.com> *
++ * and: Thomas E. Dickey 1996-2002 *
+ ****************************************************************************/
+
+ /*-----------------------------------------------------------------
+@@ -72,7 +73,7 @@
+
+ #include <term.h>
+
+-MODULE_ID("$Id: tty_update.c,v 1.177 2002/09/28 20:41:55 tom Exp $")
++MODULE_ID("$Id: tty_update.c,v 1.199 2003/08/23 21:25:08 tom Exp $")
+
+ /*
+ * This define controls the line-breakout optimization. Every once in a
+@@ -165,61 +166,90 @@
+ static inline void
+ GoTo(int const row, int const col)
+ {
+- attr_t oldattr = SP->_current_attr;
+-
+ TR(TRACE_MOVE, ("GoTo(%d, %d) from (%d, %d)",
+ row, col, SP->_cursrow, SP->_curscol));
+
+ position_check(SP->_cursrow, SP->_curscol, "GoTo");
+
+- /*
+- * Force restore even if msgr is on when we're in an alternate
+- * character set -- these have a strong tendency to screw up the
+- * CR & LF used for local character motions!
+- */
+- if ((oldattr & A_ALTCHARSET)
+- || (oldattr && !move_standout_mode)) {
+- TR(TRACE_CHARPUT, ("turning off (%#lx) %s before move",
+- oldattr, _traceattr(oldattr)));
+- vidattr(A_NORMAL);
+- }
+-
+ mvcur(SP->_cursrow, SP->_curscol, row, col);
+- SP->_cursrow = row;
+- SP->_curscol = col;
+ position_check(SP->_cursrow, SP->_curscol, "GoTo2");
+ }
+
+ static inline void
+ PutAttrChar(CARG_CH_T ch)
+ {
++ int chlen = 1;
++ NCURSES_CH_T my_ch;
+ PUTC_DATA;
+ NCURSES_CH_T tilde;
++ NCURSES_ATTR_T attr = AttrOfD(ch);
++
++ TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
++ _tracech_t(ch),
++ SP->_cursrow, SP->_curscol));
++#if USE_WIDEC_SUPPORT
++ /*
++ * If this is not a valid character, there is nothing more to do.
++ */
++ if (isnac(CHDEREF(ch)))
++ return;
++ /*
++ * Determine the number of character cells which the 'ch' value will use
++ * on the screen. It should be at least one.
++ */
++ if ((chlen = wcwidth(CharOf(CHDEREF(ch)))) <= 0) {
++ static NCURSES_CH_T blank = NewChar(BLANK_TEXT);
++
++ ch = CHREF(blank);
++ chlen = 1;
++ TR(TRACE_CHARPUT, ("forced to blank"));
++ }
++#endif
+
++ if ((attr & A_ALTCHARSET)
++ && SP->_acs_map != 0
++ && CharOfD(ch) < ACS_LEN) {
++ my_ch = CHDEREF(ch); /* work around const param */
++#if USE_WIDEC_SUPPORT
++ /*
++ * This is crude & ugly, but works most of the time. It checks if the
++ * acs_chars string specified that we have a mapping for this
++ * character, and uses the wide-character mapping when we expect the
++ * normal one to be broken (by mis-design ;-).
++ */
++ if (SP->_screen_acs_fix
++ && SP->_acs_map[CharOf(my_ch)] & A_ALTCHARSET) {
++ attr &= ~(A_ALTCHARSET);
++ my_ch = _nc_wacs[CharOf(my_ch)];
++ }
++#endif
++ if (attr & A_ALTCHARSET) {
++ chtype temp = UChar(SP->_acs_map[CharOfD(ch)]);
++ if (temp != 0)
++ SetChar(my_ch, temp, attr);
++ RemAttr(my_ch, A_ALTCHARSET);
++ }
++ ch = CHREF(my_ch);
++ }
+ if (tilde_glitch && (CharOfD(ch) == L('~'))) {
+- SetChar(tilde, L('`'), AttrOfD(ch));
++ SetChar(tilde, L('`'), attr);
+ ch = CHREF(tilde);
+ }
+
+- TR(TRACE_CHARPUT, ("PutAttrChar(%s) at (%d, %d)",
+- _tracech_t(ch),
+- SP->_cursrow, SP->_curscol));
+- UpdateAttrs(AttrOfD(ch));
++ UpdateAttrs(attr);
+ #if !USE_WIDEC_SUPPORT
+ /* FIXME - we do this special case for signal handling, should see how to
+ * make it work for wide characters.
+ */
+ if (SP->_outch != 0) {
+- SP->_outch((int) ch);
++ SP->_outch(UChar(ch));
+ } else
+ #endif
+ {
+ PUTC(CHDEREF(ch), SP->_ofp); /* macro's fastest... */
+-#ifdef TRACE
+- _nc_outchars++;
+-#endif /* TRACE */
++ TRACE_OUTCHARS(1);
+ }
+- SP->_curscol++;
++ SP->_curscol += chlen;
+ if (char_padding) {
+ TPUTS_TRACE("char_padding");
+ putp(char_padding);
+@@ -456,7 +486,8 @@
+ rep_count--;
+
+ UpdateAttrs(AttrOf(ntext0));
+- putp(tparm(repeat_char, CharOf(ntext0), rep_count));
++ tputs(tparm(repeat_char, CharOf(ntext0), rep_count),
++ rep_count, _nc_outch);
+ SP->_curscol += rep_count;
+
+ if (wrap_possible)
+@@ -888,12 +919,12 @@
+ if (needclear) {
+ UpdateAttrs(AttrOf(blank));
+ TPUTS_TRACE("clr_eol");
+- if (SP->_el_cost > (screen_columns - SP->_curscol)) {
++ if (clr_eol && SP->_el_cost <= (screen_columns - SP->_curscol)) {
++ putp(clr_eol);
++ } else {
+ int count = (screen_columns - SP->_curscol);
+ while (count-- > 0)
+ PutChar(CHREF(blank));
+- } else {
+- putp(clr_eol);
+ }
+ }
+ }
+@@ -939,7 +970,7 @@
+ int col;
+ int top = total;
+ int last = min(screen_columns, newscr->_maxx + 1);
+- NCURSES_CH_T blank = ClrBlank(stdscr);
++ NCURSES_CH_T blank = newscr->_line[total - 1].text[last - 1];
+ bool ok;
+
+ if (clr_eos && can_clear_with(CHREF(blank))) {
+@@ -959,17 +990,16 @@
+ }
+
+ /* don't use clr_eos for just one line if clr_eol available */
+- if (top < total - 1 || (top < total && !clr_eol && !clr_bol)) {
++ if (top < total) {
+ GoTo(top, 0);
+ ClrToEOS(blank);
+- total = top;
+ if (SP->oldhash && SP->newhash) {
+ for (row = top; row < screen_lines; row++)
+ SP->oldhash[row] = SP->newhash[row];
+ }
+ }
+ }
+- return total;
++ return top;
+ }
+
+ #if USE_XMC_SUPPORT
+@@ -1314,7 +1344,7 @@
+
+ UpdateAttrs(AttrOf(blank));
+ TPUTS_TRACE("clr_eos");
+- putp(clr_eos);
++ tputs(clr_eos, screen_lines, _nc_outch);
+ } else if (clr_eol) {
+ SP->_cursrow = SP->_curscol = -1;
+
+@@ -1478,12 +1508,12 @@
+ GoTo(bot, 0);
+ UpdateAttrs(AttrOf(blank));
+ TPUTS_TRACE("scroll_forward");
+- tputs(scroll_forward, 0, _nc_outch);
++ putp(scroll_forward);
+ } else if (n == 1 && delete_line && bot == maxy) {
+ GoTo(top, 0);
+ UpdateAttrs(AttrOf(blank));
+ TPUTS_TRACE("delete_line");
+- tputs(delete_line, 0, _nc_outch);
++ putp(delete_line);
+ } else if (parm_index && top == miny && bot == maxy) {
+ GoTo(bot, 0);
+ UpdateAttrs(AttrOf(blank));
+@@ -1499,14 +1529,14 @@
+ UpdateAttrs(AttrOf(blank));
+ for (i = 0; i < n; i++) {
+ TPUTS_TRACE("scroll_forward");
+- tputs(scroll_forward, 0, _nc_outch);
++ putp(scroll_forward);
+ }
+ } else if (delete_line && bot == maxy) {
+ GoTo(top, 0);
+ UpdateAttrs(AttrOf(blank));
+ for (i = 0; i < n; i++) {
+ TPUTS_TRACE("delete_line");
+- tputs(delete_line, 0, _nc_outch);
++ putp(delete_line);
+ }
+ } else
+ return ERR;
+@@ -1536,12 +1566,12 @@
+ GoTo(top, 0);
+ UpdateAttrs(AttrOf(blank));
+ TPUTS_TRACE("scroll_reverse");
+- tputs(scroll_reverse, 0, _nc_outch);
++ putp(scroll_reverse);
+ } else if (n == 1 && insert_line && bot == maxy) {
+ GoTo(top, 0);
+ UpdateAttrs(AttrOf(blank));
+ TPUTS_TRACE("insert_line");
+- tputs(insert_line, 0, _nc_outch);
++ putp(insert_line);
+ } else if (parm_rindex && top == miny && bot == maxy) {
+ GoTo(top, 0);
+ UpdateAttrs(AttrOf(blank));
+@@ -1557,14 +1587,14 @@
+ UpdateAttrs(AttrOf(blank));
+ for (i = 0; i < n; i++) {
+ TPUTS_TRACE("scroll_reverse");
+- tputs(scroll_reverse, 0, _nc_outch);
++ putp(scroll_reverse);
+ }
+ } else if (insert_line && bot == maxy) {
+ GoTo(top, 0);
+ UpdateAttrs(AttrOf(blank));
+ for (i = 0; i < n; i++) {
+ TPUTS_TRACE("insert_line");
+- tputs(insert_line, 0, _nc_outch);
++ putp(insert_line);
+ }
+ } else
+ return ERR;
+@@ -1596,14 +1626,14 @@
+ UpdateAttrs(AttrOf(blank));
+ if (n == 1 && delete_line) {
+ TPUTS_TRACE("delete_line");
+- tputs(delete_line, 0, _nc_outch);
++ putp(delete_line);
+ } else if (parm_delete_line) {
+ TPUTS_TRACE("parm_delete_line");
+ tputs(tparm(parm_delete_line, n, 0), n, _nc_outch);
+ } else { /* if (delete_line) */
+ for (i = 0; i < n; i++) {
+ TPUTS_TRACE("delete_line");
+- tputs(delete_line, 0, _nc_outch);
++ putp(delete_line);
+ }
+ }
+
+@@ -1611,20 +1641,28 @@
+ UpdateAttrs(AttrOf(blank));
+ if (n == 1 && insert_line) {
+ TPUTS_TRACE("insert_line");
+- tputs(insert_line, 0, _nc_outch);
++ putp(insert_line);
+ } else if (parm_insert_line) {
+ TPUTS_TRACE("parm_insert_line");
+ tputs(tparm(parm_insert_line, n, 0), n, _nc_outch);
+ } else { /* if (insert_line) */
+ for (i = 0; i < n; i++) {
+ TPUTS_TRACE("insert_line");
+- tputs(insert_line, 0, _nc_outch);
++ putp(insert_line);
+ }
+ }
+
+ return OK;
+ }
+
++/*
++ * Note: some terminals require the cursor to be within the scrolling margins
++ * before setting them. Generally, the cursor must be at the appropriate end
++ * of the scrolling margins when issuing an indexing operation (it is not
++ * apparent whether it must also be at the left margin; we do this just to be
++ * safe). To make the related cursor movement a little faster, we use the
++ * save/restore cursor capabilities if the terminal has them.
++ */
+ NCURSES_EXPORT(int)
+ _nc_scrolln(int n, int top, int bot, int maxy)
+ /* scroll region from top to bot by n lines */
+@@ -1658,13 +1696,13 @@
+ && save_cursor && restore_cursor) {
+ cursor_saved = TRUE;
+ TPUTS_TRACE("save_cursor");
+- tputs(save_cursor, 0, _nc_outch);
++ putp(save_cursor);
+ }
+ TPUTS_TRACE("change_scroll_region");
+- tputs(tparm(change_scroll_region, top, bot), 0, _nc_outch);
++ putp(tparm(change_scroll_region, top, bot));
+ if (cursor_saved) {
+ TPUTS_TRACE("restore_cursor");
+- tputs(restore_cursor, 0, _nc_outch);
++ putp(restore_cursor);
+ } else {
+ SP->_cursrow = SP->_curscol = -1;
+ }
+@@ -1672,7 +1710,7 @@
+ res = scroll_csr_forward(n, top, bot, top, bot, blank);
+
+ TPUTS_TRACE("change_scroll_region");
+- tputs(tparm(change_scroll_region, 0, maxy), 0, _nc_outch);
++ putp(tparm(change_scroll_region, 0, maxy));
+ SP->_cursrow = SP->_curscol = -1;
+ }
+
+@@ -1686,7 +1724,7 @@
+ && (non_dest_scroll_region || (memory_below && bot == maxy))) {
+ NCURSES_CH_T blank2 = NewChar(BLANK_TEXT);
+ if (bot == maxy && clr_eos) {
+- GoTo(bot - n, 0);
++ GoTo(bot - n + 1, 0);
+ ClrToEOS(blank2);
+ } else {
+ for (i = 0; i < n; i++) {
+@@ -1704,13 +1742,13 @@
+ && save_cursor && restore_cursor) {
+ cursor_saved = TRUE;
+ TPUTS_TRACE("save_cursor");
+- tputs(save_cursor, 0, _nc_outch);
++ putp(save_cursor);
+ }
+ TPUTS_TRACE("change_scroll_region");
+- tputs(tparm(change_scroll_region, top, bot), 0, _nc_outch);
++ putp(tparm(change_scroll_region, top, bot));
+ if (cursor_saved) {
+ TPUTS_TRACE("restore_cursor");
+- tputs(restore_cursor, 0, _nc_outch);
++ putp(restore_cursor);
+ } else {
+ SP->_cursrow = SP->_curscol = -1;
+ }
+@@ -1718,7 +1756,7 @@
+ res = scroll_csr_backward(-n, top, bot, top, bot, blank);
+
+ TPUTS_TRACE("change_scroll_region");
+- tputs(tparm(change_scroll_region, 0, maxy), 0, _nc_outch);
++ putp(tparm(change_scroll_region, 0, maxy));
+ SP->_cursrow = SP->_curscol = -1;
+ }
+
+@@ -1811,8 +1849,6 @@
+ SP->_default_color = FALSE;
+
+ mvcur(SP->_cursrow, SP->_curscol, screen_lines - 1, 0);
+- SP->_cursrow = screen_lines - 1;
+- SP->_curscol = 0;
+
+ ClrToEOL(blank, TRUE);
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/widechar/charable.c ncurses-5.3.20030906.orig/ncurses/widechar/charable.c
+--- ncurses-5.3/ncurses/widechar/charable.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/ncurses/widechar/charable.c Sun Jul 20 14:02:09 2003
+@@ -0,0 +1,77 @@
++/****************************************************************************
++ * Copyright (c) 2003 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/*
++** Support functions for wide/narrow conversion.
++*/
++
++#include <curses.priv.h>
++
++MODULE_ID("$Id: charable.c,v 1.2 2003/07/05 18:04:08 tom Exp $")
++
++NCURSES_EXPORT(bool) _nc_is_charable(wchar_t ch)
++{
++ bool result;
++#if HAVE_WCTOB
++ result = (wctob(ch) == ch);
++#else
++ result = (_nc_to_char(ch) >= 0);
++#endif
++ return result;
++}
++
++NCURSES_EXPORT(int) _nc_to_char(wint_t ch)
++{
++ int result;
++#if HAVE_WCTOB
++ result = wctob(ch);
++#elif HAVE_WCTOMB
++ char temp[MB_LEN_MAX];
++ result = wctomb(temp, ch);
++ if (strlen(temp) == 1)
++ result = UChar(temp[0]);
++ else
++ result = -1;
++#endif
++ return result;
++}
++
++NCURSES_EXPORT(wint_t) _nc_to_widechar(int ch)
++{
++ wint_t result;
++#if HAVE_BTOWC
++ result = btowc(ch);
++#elif HAVE_MBTOWC
++ char temp[2];
++ temp[0] = ch;
++ temp[1] = '\0';
++ if (mbtowc((wchar_t *) (&result), temp, 1) != 1)
++ result = WEOF;
++#endif
++ return result;
++}
+diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_cchar.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_cchar.c
+--- ncurses-5.3/ncurses/widechar/lib_cchar.c Sat Aug 10 17:27:37 2002
++++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_cchar.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -35,7 +35,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_cchar.c,v 1.6 2002/08/10 22:27:37 tom Exp $")
++MODULE_ID("$Id: lib_cchar.c,v 1.8 2003/05/25 00:07:41 tom Exp $")
+
+ /*
+ * The SuSv2 description leaves some room for interpretation. We'll assume wch
+@@ -55,26 +55,28 @@
+ wcval, _nc_viswbuf(wch), attrs, color_pair, opts));
+
+ if (opts != NULL || (len = wcslen(wch)) > CCHARW_MAX
+- || (len > 0 && wcwidth(wch[0]) < 0)) {
++ || (len > 1 && wcwidth(wch[0]) < 0)) {
+ code = ERR;
+ } else {
+
++ /*
++ * If we have a following spacing-character, stop at that point. We
++ * are only interested in adding non-spacing characters.
++ */
+ for (i = 1; i < len; ++i) {
+ if (wcwidth(wch[i]) != 0) {
+- code = ERR;
++ len = i;
+ break;
+ }
+ }
+
+- if (code != ERR) {
+- memset(wcval, 0, sizeof(*wcval));
++ memset(wcval, 0, sizeof(*wcval));
+
+- if (len != 0) {
+- SetAttr(*wcval, attrs | color_pair);
+- memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
+- TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
+- _tracecchar_t(wcval)));
+- }
++ if (len != 0) {
++ SetAttr(*wcval, attrs | color_pair);
++ memcpy(&wcval->chars, wch, len * sizeof(wchar_t));
++ TR(TRACE_CCALLS, ("copy %d wchars, first is %s", len,
++ _tracecchar_t(wcval)));
+ }
+ }
+
+@@ -100,6 +102,8 @@
+
+ if (wch == NULL) {
+ code = len;
++ } else if (attrs == 0 || color_pair == 0) {
++ code = ERR;
+ } else if (len >= 0) {
+ *attrs = AttrOf(*wcval);
+ *color_pair = AttrOf(*wcval) & A_COLOR;
+diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_get_wstr.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_get_wstr.c
+--- ncurses-5.3/ncurses/widechar/lib_get_wstr.c Sat Jul 20 14:28:29 2002
++++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_get_wstr.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002 Free Software Foundation, Inc. *
++ * Copyright (c) 2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,7 +40,7 @@
+ #include <curses.priv.h>
+ #include <term.h>
+
+-MODULE_ID("$Id: lib_get_wstr.c,v 1.4 2002/07/20 19:28:29 tom Exp $")
++MODULE_ID("$Id: lib_get_wstr.c,v 1.6 2003/05/17 21:33:03 tom Exp $")
+
+ /*
+ * This wipes out the last character, no matter whether it was a tab, control
+@@ -109,6 +109,25 @@
+ wrefresh(win);
+
+ while ((code = wget_wch(win, &ch)) != ERR) {
++ /*
++ * Map special characters into key-codes.
++ */
++ if (ch == '\r')
++ ch = '\n';
++ if (ch == '\n') {
++ code = KEY_CODE_YES;
++ ch = KEY_ENTER;
++ }
++ if (ch < KEY_MIN) {
++ if (ch == erasec) {
++ ch = KEY_BACKSPACE;
++ code = KEY_CODE_YES;
++ }
++ if (ch == killc) {
++ ch = KEY_EOL;
++ code = KEY_CODE_YES;
++ }
++ }
+ if (code == KEY_CODE_YES) {
+ /*
+ * Some terminals (the Wyse-50 is the most common) generate a \n
+@@ -116,21 +135,18 @@
+ * choice whether to set kcud=\n for wget_wch(); terminating
+ * *getn_wstr() with \n should work either way.
+ */
+- if (ch == '\n'
+- || ch == '\r'
+- || ch == KEY_DOWN
+- || ch == KEY_ENTER) {
++ if (ch == KEY_DOWN || ch == KEY_ENTER) {
+ if (oldecho == TRUE
+ && win->_cury == win->_maxy
+ && win->_scroll)
+ wechochar(win, (chtype) '\n');
+ break;
+ }
+- if (ch == erasec || ch == KEY_LEFT || ch == KEY_BACKSPACE) {
++ if (ch == KEY_LEFT || ch == KEY_BACKSPACE) {
+ if (tmpstr > oldstr) {
+ tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho);
+ }
+- } else if (ch == killc) {
++ } else if (ch == KEY_EOL) {
+ while (tmpstr > oldstr) {
+ tmpstr = WipeOut(win, y, x, oldstr, tmpstr, oldecho);
+ }
+@@ -141,6 +157,7 @@
+ beep();
+ } else {
+ *tmpstr++ = ch;
++ *tmpstr = 0;
+ if (oldecho == TRUE) {
+ int oldy = win->_cury;
+ cchar_t tmp;
+@@ -193,7 +210,7 @@
+ *tmpstr = 0;
+ if (code == ERR) {
+ if (tmpstr == oldstr) {
+- *tmpstr++ = (wchar_t)WEOF;
++ *tmpstr++ = (wchar_t) WEOF;
+ *tmpstr = 0;
+ }
+ returnCode(ERR);
+diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_ins_wch.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_ins_wch.c
+--- ncurses-5.3/ncurses/widechar/lib_ins_wch.c Sun Mar 10 16:25:06 2002
++++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_ins_wch.c Tue May 13 20:08:22 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002 Free Software Foundation, Inc. *
++ * Copyright (c) 2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,16 +39,16 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_ins_wch.c,v 1.1 2002/03/10 22:25:06 tom Exp $")
++MODULE_ID("$Id: lib_ins_wch.c,v 1.3 2003/03/29 21:52:29 tom Exp $")
+
+-NCURSES_EXPORT(int)
+-wins_wch(WINDOW *win, const cchar_t * wch)
++/*
++ * Insert the given character, updating the current location to simplify
++ * inserting a string.
++ */
++static void
++_nc_insert_wch(WINDOW *win, const cchar_t * wch)
+ {
+- int code = ERR;
+-
+- T((T_CALLED("wins_wch(%p, %s)"), win, _tracecchar_t(wch)));
+-
+- if (win) {
++ if (win->_curx <= win->_maxx) {
+ struct ldat *line = &(win->_line[win->_cury]);
+ NCURSES_CH_T *end = &(line->text[win->_curx]);
+ NCURSES_CH_T *temp1 = &(line->text[win->_maxx]);
+@@ -59,6 +59,71 @@
+ *temp1-- = *temp2--;
+
+ *temp1 = _nc_render(win, *wch);
++
++ win->_curx++;
++ }
++}
++
++NCURSES_EXPORT(int)
++wins_wch(WINDOW *win, const cchar_t * wch)
++{
++ NCURSES_SIZE_T oy;
++ NCURSES_SIZE_T ox;
++ int code = ERR;
++
++ T((T_CALLED("wins_wch(%p, %s)"), win, _tracecchar_t(wch)));
++
++ if (win != 0) {
++ oy = win->_cury;
++ ox = win->_curx;
++
++ _nc_insert_wch(win, wch);
++
++ win->_curx = ox;
++ win->_cury = oy;
++ _nc_synchook(win);
++ code = OK;
++ }
++ returnCode(code);
++}
++
++NCURSES_EXPORT(int)
++wins_nwstr(WINDOW *win, const wchar_t * wstr, int n)
++{
++ int code = ERR;
++ NCURSES_SIZE_T oy;
++ NCURSES_SIZE_T ox;
++ const wchar_t *cp;
++
++ T((T_CALLED("wins_nwstr(%p,%s,%d)"), win, _nc_viswbufn(wstr, n), n));
++
++ if (win != 0
++ && wstr != 0) {
++ if (n < 1)
++ n = wcslen(wstr);
++ if (n > 0) {
++ oy = win->_cury;
++ ox = win->_curx;
++ for (cp = wstr; *cp && ((cp - wstr) < n); cp++) {
++ if (wcwidth(*cp) > 1) {
++ cchar_t tmp_cchar;
++ wchar_t tmp_wchar = *cp;
++ memset(&tmp_cchar, 0, sizeof(tmp_cchar));
++ (void) setcchar(&tmp_cchar,
++ &tmp_wchar,
++ WA_NORMAL,
++ 0,
++ (void *) 0);
++ _nc_insert_wch(win, &tmp_cchar);
++ } else {
++ _nc_insert_ch(win, *cp); /* tabs, other ASCII stuff */
++ }
++ }
++
++ win->_curx = ox;
++ win->_cury = oy;
++ _nc_synchook(win);
++ }
+ code = OK;
+ }
+ returnCode(code);
+diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_slk_wset.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_slk_wset.c
+--- ncurses-5.3/ncurses/widechar/lib_slk_wset.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_slk_wset.c Sun Jul 20 14:02:08 2003
+@@ -0,0 +1,146 @@
++/****************************************************************************
++ * Copyright (c) 2003 Free Software Foundation, Inc. *
++ * *
++ * Permission is hereby granted, free of charge, to any person obtaining a *
++ * copy of this software and associated documentation files (the *
++ * "Software"), to deal in the Software without restriction, including *
++ * without limitation the rights to use, copy, modify, merge, publish, *
++ * distribute, distribute with modifications, sublicense, and/or sell *
++ * copies of the Software, and to permit persons to whom the Software is *
++ * furnished to do so, subject to the following conditions: *
++ * *
++ * The above copyright notice and this permission notice shall be included *
++ * in all copies or substantial portions of the Software. *
++ * *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++ * *
++ * Except as contained in this notice, the name(s) of the above copyright *
++ * holders shall not be used in advertising or otherwise to promote the *
++ * sale, use or other dealings in this Software without prior written *
++ * authorization. *
++ ****************************************************************************/
++
++/****************************************************************************
++ * Author: Thomas E. Dickey, 2003 *
++ ****************************************************************************/
++
++/*
++ * lib_slk_wset.c
++ * Set soft label text.
++ */
++#include <curses.priv.h>
++#include <wctype.h>
++
++MODULE_ID("$Id: lib_slk_wset.c,v 1.4 2003/06/07 22:17:43 tom Exp $")
++
++NCURSES_EXPORT(int)
++slk_wset(int i, const wchar_t * astr, int format)
++{
++ static wchar_t empty[] =
++ {L'\0'};
++ int result = ERR;
++ SLK *slk = SP->_slk;
++ int offset;
++ size_t arglen;
++ const wchar_t *p;
++
++ T((T_CALLED("slk_wset(%d, %s, %d)"), i, _nc_viswbuf(astr), format));
++
++ if (astr == 0)
++ astr = empty;
++ arglen = wcslen(astr);
++ while (iswspace(*astr)) {
++ --arglen;
++ ++astr; /* skip over leading spaces */
++ }
++ p = astr;
++ while (iswprint(*p))
++ p++; /* The first non-print stops */
++
++ arglen = (size_t) (p - astr);
++
++ if (slk != NULL &&
++ i >= 1 &&
++ i <= slk->labcnt &&
++ format >= 0 &&
++ format <= 2) {
++ char *new_text;
++ size_t n;
++ size_t used = 0;
++ int mycols;
++ mbstate_t state;
++
++ --i; /* Adjust numbering of labels */
++
++ /*
++ * Reduce the actual number of columns to fit in the label field.
++ */
++ while (arglen != 0 && wcswidth(astr, arglen) > slk->maxlen) {
++ --arglen;
++ }
++ mycols = wcswidth(astr, arglen);
++
++ /*
++ * translate the wide-character string to multibyte form.
++ */
++ memset(&state, 0, sizeof(state));
++
++ if ((new_text = (char *) _nc_doalloc(0, MB_LEN_MAX * arglen)) == 0)
++ returnCode(ERR);
++
++ for (n = 0; n < arglen; ++n) {
++ used += wcrtomb(new_text + used, astr[n], &state);
++ }
++ new_text[used] = '\0';
++
++ if (used >= (size_t) (slk->maxlen + 1)) {
++ if ((slk->ent[i].ent_text = (char *) _nc_doalloc(slk->ent[i].ent_text,
++ used + 1)) == 0)
++ returnCode(ERR);
++ if ((slk->ent[i].form_text = (char *) _nc_doalloc(slk->ent[i].form_text,
++ used + 1)) == 0)
++ returnCode(ERR);
++ }
++
++ (void) strcpy(slk->ent[i].ent_text, new_text);
++ free(new_text);
++
++ sprintf(slk->ent[i].form_text, "%*s", (size_t) slk->maxlen, " ");
++
++ switch (format) {
++ default:
++ case 0: /* left-aligned */
++ offset = 0;
++ break;
++ case 1: /* centered */
++ offset = (slk->maxlen - mycols) / 2;
++ break;
++ case 2: /* right-aligned */
++ offset = slk->maxlen - mycols;
++ break;
++ }
++ if (offset < 0)
++ offset = 0;
++ strcpy(slk->ent[i].form_text + offset,
++ slk->ent[i].ent_text);
++ /*
++ * Pad the display with blanks on the right, unless it is already
++ * right-aligned.
++ */
++ if (format != 2 && mycols < slk->maxlen) {
++ sprintf(slk->ent[i].form_text + offset + used,
++ "%*s",
++ slk->maxlen - (mycols - offset),
++ " ");
++ }
++ slk->ent[i].dirty = TRUE;
++ result = OK;
++ }
++ returnCode(result);
++}
+diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_unget_wch.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_unget_wch.c
+--- ncurses-5.3/ncurses/widechar/lib_unget_wch.c Sat Jun 29 16:11:02 2002
++++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_unget_wch.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2002 Free Software Foundation, Inc. *
++ * Copyright (c) 2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+
+ #include <curses.priv.h>
+
+-MODULE_ID("$Id: lib_unget_wch.c,v 1.3 2002/06/29 21:11:02 tom Exp $")
++MODULE_ID("$Id: lib_unget_wch.c,v 1.5 2003/07/05 19:46:51 tom Exp $")
+
+ NCURSES_EXPORT(int)
+ unget_wch(const wchar_t wch)
+@@ -49,25 +49,29 @@
+ size_t length;
+ int n;
+
+- T((T_CALLED("unget_wch(%#lx)"), wch));
++ T((T_CALLED("unget_wch(%#lx)"), (unsigned long) wch));
+
+ memset(&state, 0, sizeof(state));
+ length = wcrtomb(0, wch, &state);
+
+ if (length != (size_t) (-1)
+ && length != 0) {
+- char *string = malloc(length);
++ char *string;
+
+- memset(&state, 0, sizeof(state));
+- wcrtomb(string, wch, &state);
++ if ((string = (char *) malloc(length)) != 0) {
++ memset(&state, 0, sizeof(state));
++ wcrtomb(string, wch, &state);
+
+- for (n = (int) (length - 1); n >= 0; --n) {
+- if (ungetch(string[n]) != OK) {
+- result = ERR;
+- break;
++ for (n = (int) (length - 1); n >= 0; --n) {
++ if (ungetch(string[n]) != OK) {
++ result = ERR;
++ break;
++ }
+ }
++ free(string);
++ } else {
++ result = ERR;
+ }
+- free(string);
+ } else {
+ result = ERR;
+ }
+diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_wacs.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_wacs.c
+--- ncurses-5.3/ncurses/widechar/lib_wacs.c Sat Aug 31 14:44:17 2002
++++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_wacs.c Tue May 13 20:08:22 2003
+@@ -33,23 +33,10 @@
+ #include <curses.priv.h>
+ #include <term.h>
+
+-MODULE_ID("$Id: lib_wacs.c,v 1.5 2002/08/31 19:44:17 tom Exp $")
++MODULE_ID("$Id: lib_wacs.c,v 1.6 2002/12/21 12:30:19 tom Exp $")
+
+ NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
+
+-static int
+-_nc_unicode_locale(void)
+-{
+- char *s;
+- if (((s = getenv("LC_ALL")) != 0 && *s != '\0')
+- || ((s = getenv("LC_ALL")) != 0 && *s != '\0')
+- || ((s = getenv("LC_ALL")) != 0 && *s != '\0')) {
+- if (strstr(s, ".UTF-8") != 0)
+- return 1;
+- }
+- return 0;
+-}
+-
+ NCURSES_EXPORT(void)
+ _nc_init_wacs(void)
+ {
+diff -urNd -urNd ncurses-5.3/ncurses/widechar/lib_wunctrl.c ncurses-5.3.20030906.orig/ncurses/widechar/lib_wunctrl.c
+--- ncurses-5.3/ncurses/widechar/lib_wunctrl.c Sat Sep 22 14:18:02 2001
++++ ncurses-5.3.20030906.orig/ncurses/widechar/lib_wunctrl.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 2001 Free Software Foundation, Inc. *
++ * Copyright (c) 2001,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -37,7 +37,7 @@
+
+ #if USE_WIDEC_SUPPORT
+
+-MODULE_ID("$Id: lib_wunctrl.c,v 1.6 2001/09/22 19:18:02 tom Exp $")
++MODULE_ID("$Id: lib_wunctrl.c,v 1.7 2003/07/05 17:01:43 tom Exp $")
+
+ NCURSES_EXPORT(wchar_t *)
+ wunctrl(cchar_t * wc)
+@@ -46,8 +46,8 @@
+
+ if (Charable(*wc)) {
+ const char *p;
+- for (p = unctrl(wctob(CharOf(*wc))), sp = str; *p;)
+- *sp++ = btowc(*p++);
++ for (p = unctrl(_nc_to_char(CharOf(*wc))), sp = str; *p;)
++ *sp++ = _nc_to_widechar(*p++);
+ return str;
+ } else
+ return wc->chars;
+diff -urNd -urNd ncurses-5.3/panel/Makefile.in ncurses-5.3.20030906.orig/panel/Makefile.in
+--- ncurses-5.3/panel/Makefile.in Sat Jan 19 18:41:18 2002
++++ ncurses-5.3.20030906.orig/panel/Makefile.in Fri Sep 12 16:42:40 2003
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.41 2002/01/20 00:41:18 tom Exp $
++# $Id: Makefile.in,v 1.45 2003/08/23 23:26:21 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -27,7 +27,7 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
++# Author: Thomas E. Dickey 1996-2002
+ #
+ # Makefile for panels source code.
+ #
+@@ -56,6 +56,11 @@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
++LIBTOOL_CLEAN = @LIB_CLEAN@
++LIBTOOL_COMPILE = @LIB_COMPILE@
++LIBTOOL_LINK = @LIB_LINK@
++LIBTOOL_INSTALL = @LIB_INSTALL@
++LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
+
+ INSTALL = @INSTALL@
+ INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
+@@ -72,8 +77,7 @@
+ CPP = @CPP@
+ CFLAGS = @CFLAGS@
+
+-CPPFLAGS = @CPPFLAGS@ -I@top_srcdir@/ncurses \
+- -DHAVE_CONFIG_H
++CPPFLAGS = -I@top_srcdir@/ncurses -DHAVE_CONFIG_H @CPPFLAGS@
+
+ CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+
+@@ -85,7 +89,7 @@
+
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+-LINK = $(LIBTOOL) $(CC)
++LINK = $(LIBTOOL_LINK) $(CC)
+ LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
+
+ SHLIB_DIRS = -L../lib
+@@ -98,7 +102,7 @@
+ REL_VERSION = @cf_cv_rel_version@
+ ABI_VERSION = @cf_cv_abi_version@
+
+-RANLIB = @RANLIB@
++RANLIB = @LIB_PREP@
+
+ IMPORT_LIB = @IMPORT_LIB@
+ SHARED_LIB = @SHARED_LIB@
+diff -urNd -urNd ncurses-5.3/progs/MKtermsort.sh ncurses-5.3.20030906.orig/progs/MKtermsort.sh
+--- ncurses-5.3/progs/MKtermsort.sh Sat Jun 29 15:02:48 2002
++++ ncurses-5.3.20030906.orig/progs/MKtermsort.sh Tue May 13 20:08:22 2003
+@@ -1,10 +1,10 @@
+ #!/bin/sh
+-# $Id: MKtermsort.sh,v 1.8 2002/06/29 20:02:48 tom Exp $
++# $Id: MKtermsort.sh,v 1.9 2003/01/11 22:23:50 tom Exp $
+ #
+ # MKtermsort.sh -- generate indirection vectors for the various sort methods
+ #
+ ##############################################################################
+-# Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -47,7 +47,7 @@
+
+ data=data$$
+ trap 'rm -f $data' 1 2 5 15
+-sed -e 's/[ ]\+/ /g' < $DATA >$data
++sed -e 's/[ ][ ]*/ /g' < $DATA >$data
+ DATA=$data
+
+ echo "/*";
+diff -urNd -urNd ncurses-5.3/progs/Makefile.in ncurses-5.3.20030906.orig/progs/Makefile.in
+--- ncurses-5.3/progs/Makefile.in Sat Dec 8 12:48:01 2001
++++ ncurses-5.3.20030906.orig/progs/Makefile.in Fri Sep 12 16:42:40 2003
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.56 2001/12/08 18:48:01 tom Exp $
++# $Id: Makefile.in,v 1.60 2003/08/30 21:22:14 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -27,7 +27,7 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
++# Author: Thomas E. Dickey 1996-2003
+ #
+ # Makefile for ncurses source code.
+ #
+@@ -60,6 +60,11 @@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
++LIBTOOL_CLEAN = @LIB_CLEAN@
++LIBTOOL_COMPILE = @LIB_COMPILE@
++LIBTOOL_LINK = @LIB_LINK@
++LIBTOOL_INSTALL = @LIB_INSTALL@
++LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
+
+ INSTALL = @INSTALL@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -73,8 +78,7 @@
+ CFLAGS = @CFLAGS@
+
+ INCDIR = $(srcdir)/../include
+-CPPFLAGS = -I../progs -I$(srcdir) @CPPFLAGS@ \
+- -DHAVE_CONFIG_H
++CPPFLAGS = -I../progs -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
+
+ CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+
+@@ -87,15 +91,15 @@
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+ LD = @LD@
+-LINK = @LINK_PROGS@ $(LIBTOOL) $(CC)
++LINK = @LINK_PROGS@ $(LIBTOOL_LINK) $(CC)
+ LDFLAGS = @EXTRA_LDFLAGS@ \
+ @PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
+
+-LDFLAGS_LIBTOOL = $(LDFLAGS)
+-LDFLAGS_NORMAL = $(LDFLAGS)
+-LDFLAGS_DEBUG = $(LDFLAGS) @CC_G_OPT@
+-LDFLAGS_PROFILE = $(LDFLAGS) -pg
+-LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
++LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
++LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
++LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
++LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
++LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+ LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
+
+@@ -150,31 +154,31 @@
+ echo "#define PROG_INIT \"$(actual_init)\"" >>$@
+
+ install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir)
+-@MAKE_TERMINFO@ $(LIBTOOL) $(INSTALL_PROGRAM) tic$x $(DESTDIR)$(bindir)/$(actual_tic)
+-@MAKE_TERMINFO@ $(LIBTOOL) $(INSTALL_PROGRAM) toe$x $(DESTDIR)$(bindir)/$(actual_toe)
++@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tic$x $(DESTDIR)$(bindir)/$(actual_tic)
++@MAKE_TERMINFO@ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) toe$x $(DESTDIR)$(bindir)/$(actual_toe)
+ @MAKE_TERMINFO@ @echo "linking $(actual_infotocap) to $(actual_tic)"
+ @MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
+ @MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap))
+ @MAKE_TERMINFO@ @echo "linking $(actual_captoinfo) to $(actual_tic)"
+ @MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
+ @MAKE_TERMINFO@ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo))
+- $(LIBTOOL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
+- $(LIBTOOL) $(INSTALL_PROGRAM) clear$x $(DESTDIR)$(bindir)/$(actual_clear)
+- $(LIBTOOL) $(INSTALL_PROGRAM) tput$x $(DESTDIR)$(bindir)/$(actual_tput)
+- $(LIBTOOL) $(INSTALL_PROGRAM) tset$x $(DESTDIR)$(bindir)/$(actual_tset)
++ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
++ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) clear$x $(DESTDIR)$(bindir)/$(actual_clear)
++ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tput$x $(DESTDIR)$(bindir)/$(actual_tput)
++ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tset$x $(DESTDIR)$(bindir)/$(actual_tset)
+ @echo "linking $(actual_reset) to $(actual_tset)"
+ -@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
+ (cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset))
+
+ uninstall.progs:
+-@MAKE_TERMINFO@ -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
+-@MAKE_TERMINFO@ -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
++@MAKE_TERMINFO@ -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
++@MAKE_TERMINFO@ -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
+ @MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
+ @MAKE_TERMINFO@ -@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
+- -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
+- -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
+- -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
+- -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
++ -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
++ -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
++ -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
++ -@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
+ -@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
+
+ $(DESTDIR)$(bindir) :
+@@ -225,7 +229,7 @@
+ @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_DEFAULT) -o $@
+
+ termsort.c: $(srcdir)/MKtermsort.sh
+- sh -c "$(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@" >$@
++ sh $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ >$@
+
+ #
+ # Utility productions start here
+diff -urNd -urNd ncurses-5.3/progs/dump_entry.c ncurses-5.3.20030906.orig/progs/dump_entry.c
+--- ncurses-5.3/progs/dump_entry.c Sun Sep 1 12:54:43 2002
++++ ncurses-5.3.20030906.orig/progs/dump_entry.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -39,7 +39,7 @@
+ #include "termsort.c" /* this C file is generated */
+ #include <parametrized.h> /* so is this */
+
+-MODULE_ID("$Id: dump_entry.c,v 1.64 2002/09/01 17:54:43 tom Exp $")
++MODULE_ID("$Id: dump_entry.c,v 1.66 2003/05/24 22:43:59 tom Exp $")
+
+ #define INDENT 8
+ #define DISCARD(string) string = ABSENT_STRING
+@@ -913,15 +913,23 @@
+ */
+ char *oldsgr = set_attributes;
+ char *oldacsc = acs_chars;
+- set_attributes = ABSENT_STRING;
+- SHOW_WHY("# (sgr removed to fit entry within %d bytes)\n",
+- critlen);
+- if ((len = FMT_ENTRY()) > critlen) {
+- acs_chars = ABSENT_STRING;
+- SHOW_WHY("# (acsc removed to fit entry within %d bytes)\n",
++ bool changed = FALSE;
++
++ if (VALID_STRING(set_attributes)) {
++ set_attributes = ABSENT_STRING;
++ SHOW_WHY("# (sgr removed to fit entry within %d bytes)\n",
+ critlen);
++ changed = TRUE;
+ }
+- if ((len = FMT_ENTRY()) > critlen) {
++ if (!changed || ((len = FMT_ENTRY()) > critlen)) {
++ if (VALID_STRING(acs_chars)) {
++ acs_chars = ABSENT_STRING;
++ SHOW_WHY("# (acsc removed to fit entry within %d bytes)\n",
++ critlen);
++ changed = TRUE;
++ }
++ }
++ if (!changed || ((len = FMT_ENTRY()) > critlen)) {
+ int oldversion = tversion;
+
+ tversion = V_BSD;
+diff -urNd -urNd ncurses-5.3/progs/infocmp.c ncurses-5.3.20030906.orig/progs/infocmp.c
+--- ncurses-5.3/progs/infocmp.c Sat Oct 5 20:13:04 2002
++++ ncurses-5.3.20030906.orig/progs/infocmp.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -41,7 +41,7 @@
+ #include <term_entry.h>
+ #include <dump_entry.h>
+
+-MODULE_ID("$Id: infocmp.c,v 1.68 2002/10/06 01:13:04 tom Exp $")
++MODULE_ID("$Id: infocmp.c,v 1.70 2003/05/24 21:05:47 tom Exp $")
+
+ #define L_CURL "{"
+ #define R_CURL "}"
+@@ -120,7 +120,7 @@
+ ***************************************************************************/
+
+ static int
+-capcmp(int idx, const char *s, const char *t)
++capcmp(unsigned idx, const char *s, const char *t)
+ /* capability comparison function */
+ {
+ if (!VALID_STRING(s) && !VALID_STRING(t))
+@@ -248,7 +248,7 @@
+ entryeq(TERMTYPE * t1, TERMTYPE * t2)
+ /* are two entries equivalent? */
+ {
+- int i;
++ unsigned i;
+
+ for (i = 0; i < NUM_BOOLEANS(t1); i++)
+ if (t1->Booleans[i] != t2->Booleans[i])
+@@ -268,7 +268,7 @@
+ #define TIC_EXPAND(result) _nc_tic_expand(result, outform==F_TERMINFO, numbers)
+
+ static void
+-print_uses(ENTRY * ep, FILE * fp)
++print_uses(ENTRY * ep, FILE *fp)
+ /* print an entry's use references */
+ {
+ int i;
+@@ -739,7 +739,7 @@
+ (void) fputc('\n', stderr);
+ }
+ }
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+
+ heads[filecount] = _nc_head;
+@@ -936,7 +936,7 @@
+ else
+ fprintf(stderr, "%s\n", tbl[n]);
+ }
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+
+ static char *
+@@ -975,7 +975,7 @@
+ static void
+ dump_initializers(TERMTYPE * term)
+ {
+- int n;
++ unsigned n;
+ int size;
+ const char *str = 0;
+
+@@ -1145,7 +1145,7 @@
+
+ if (temp == 0 || temp == optarg || *temp != 0) {
+ fprintf(stderr, "Expected a number, not \"%s\"\n", optarg);
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+ return (int) value;
+ }
+diff -urNd -urNd ncurses-5.3/progs/tic.c ncurses-5.3.20030906.orig/progs/tic.c
+--- ncurses-5.3/progs/tic.c Sat Oct 5 14:59:41 2002
++++ ncurses-5.3.20030906.orig/progs/tic.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -45,7 +45,7 @@
+ #include <term_entry.h>
+ #include <transform.h>
+
+-MODULE_ID("$Id: tic.c,v 1.102 2002/10/05 19:59:41 tom Exp $")
++MODULE_ID("$Id: tic.c,v 1.107 2003/07/19 20:48:24 tom Exp $")
+
+ const char *_nc_progname = "tic";
+
+@@ -58,7 +58,7 @@
+ static void (*save_check_termtype) (TERMTYPE *);
+ static void check_termtype(TERMTYPE * tt);
+
+-static const char usage_string[] = "[-V] [-v[n]] [-e names] [-CILNRTcfrswx1] source-file\n";
++static const char usage_string[] = "[-V] [-v[n]] [-e names] [-o dir] [-R name] [-CILNTcfrswx1] source-file\n";
+
+ static void
+ cleanup(void)
+@@ -79,7 +79,7 @@
+ {
+ perror(msg);
+ cleanup();
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+
+ static void
+@@ -126,7 +126,7 @@
+ fputs(tbl[j], stderr);
+ putc('\n', stderr);
+ }
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+
+ #define L_BRACE '{'
+@@ -317,12 +317,12 @@
+
+ if (fp == 0) {
+ fprintf(stderr, "%s: Can't open %s\n", _nc_progname, filename);
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+ if (fstat(fileno(fp), &sb) < 0
+ || (sb.st_mode & S_IFMT) != S_IFREG) {
+ fprintf(stderr, "%s: %s is not a file\n", _nc_progname, filename);
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+ return fp;
+ }
+@@ -769,6 +769,205 @@
+ #define CUR tp->
+
+ /*
++ * Check if the alternate character-set capabilities are consistent.
++ */
++static void
++check_acs(TERMTYPE * tp)
++{
++ if (VALID_STRING(acs_chars)) {
++ const char *boxes = "lmkjtuvwqxn";
++ char mapped[256];
++ char missing[256];
++ const char *p;
++ char *q;
++
++ memset(mapped, 0, sizeof(mapped));
++ for (p = acs_chars; *p != '\0'; p += 2) {
++ if (p[1] == '\0') {
++ _nc_warning("acsc has odd number of characters");
++ break;
++ }
++ mapped[UChar(p[0])] = p[1];
++ }
++ if (mapped['I'] && !mapped['i']) {
++ _nc_warning("acsc refers to 'I', which is probably an error");
++ }
++ for (p = boxes, q = missing; *p != '\0'; ++p) {
++ if (!mapped[UChar(p[0])]) {
++ *q++ = p[0];
++ }
++ *q = '\0';
++ }
++ if (*missing != '\0' && strcmp(missing, boxes)) {
++ _nc_warning("acsc is missing some line-drawing mapping: %s", missing);
++ }
++ }
++}
++
++/*
++ * Check if the color capabilities are consistent
++ */
++static void
++check_colors(TERMTYPE * tp)
++{
++ if ((max_colors > 0) != (max_pairs > 0)
++ || ((max_colors > max_pairs) && (initialize_pair == 0)))
++ _nc_warning("inconsistent values for max_colors (%d) and max_pairs (%d)",
++ max_colors, max_pairs);
++
++ PAIRED(set_foreground, set_background);
++ PAIRED(set_a_foreground, set_a_background);
++ PAIRED(set_color_pair, initialize_pair);
++
++ if (VALID_STRING(set_foreground)
++ && VALID_STRING(set_a_foreground)
++ && !strcmp(set_foreground, set_a_foreground))
++ _nc_warning("expected setf/setaf to be different");
++
++ if (VALID_STRING(set_background)
++ && VALID_STRING(set_a_background)
++ && !strcmp(set_background, set_a_background))
++ _nc_warning("expected setb/setab to be different");
++}
++
++static int
++keypad_final(const char *string)
++{
++ int result = '\0';
++
++ if (VALID_STRING(string)
++ && *string++ == '\033'
++ && *string++ == 'O'
++ && strlen(string) == 1) {
++ result = *string;
++ }
++
++ return result;
++}
++
++static int
++keypad_index(const char *string)
++{
++ char *test;
++ const char *list = "PQRSwxymtuvlqrsPpn"; /* app-keypad except "Enter" */
++ int ch;
++ int result = -1;
++
++ if ((ch = keypad_final(string)) != '\0') {
++ test = strchr(list, ch);
++ if (test != 0)
++ result = (test - list);
++ }
++ return result;
++}
++
++/*
++ * Do a quick sanity-check for vt100-style keypads to see if the 5-key keypad
++ * is mapped inconsistently.
++ */
++static void
++check_keypad(TERMTYPE * tp)
++{
++ char show[80];
++
++ if (VALID_STRING(key_a1) &&
++ VALID_STRING(key_a3) &&
++ VALID_STRING(key_b2) &&
++ VALID_STRING(key_c1) &&
++ VALID_STRING(key_c3)) {
++ char final[6];
++ int list[5];
++ int increase = 0;
++ int j, k, kk;
++ int last;
++ int test;
++
++ final[0] = keypad_final(key_a1);
++ final[1] = keypad_final(key_a3);
++ final[2] = keypad_final(key_b2);
++ final[3] = keypad_final(key_c1);
++ final[4] = keypad_final(key_c3);
++ final[5] = '\0';
++
++ /* special case: legacy coding using 1,2,3,0,. on the bottom */
++ if (!strcmp(final, "qsrpn"))
++ return;
++
++ list[0] = keypad_index(key_a1);
++ list[1] = keypad_index(key_a3);
++ list[2] = keypad_index(key_b2);
++ list[3] = keypad_index(key_c1);
++ list[4] = keypad_index(key_c3);
++
++ /* check that they're all vt100 keys */
++ for (j = 0; j < 5; ++j) {
++ if (list[j] < 0) {
++ return;
++ }
++ }
++
++ /* check if they're all in increasing order */
++ for (j = 1; j < 5; ++j) {
++ if (list[j] > list[j - 1]) {
++ ++increase;
++ }
++ }
++ if (increase != 4) {
++ show[0] = '\0';
++
++ for (j = 0, last = -1; j < 5; ++j) {
++ for (k = 0, kk = -1, test = 100; k < 5; ++k) {
++ if (list[k] > last &&
++ list[k] < test) {
++ test = list[k];
++ kk = k;
++ }
++ }
++ last = test;
++ switch (kk) {
++ case 0:
++ strcat(show, " ka1");
++ break;
++ case 1:
++ strcat(show, " ka3");
++ break;
++ case 2:
++ strcat(show, " kb2");
++ break;
++ case 3:
++ strcat(show, " kc1");
++ break;
++ case 4:
++ strcat(show, " kc3");
++ break;
++ }
++ }
++
++ _nc_warning("vt100 keypad order inconsistent: %s", show);
++ }
++
++ } else if (VALID_STRING(key_a1) ||
++ VALID_STRING(key_a3) ||
++ VALID_STRING(key_b2) ||
++ VALID_STRING(key_c1) ||
++ VALID_STRING(key_c3)) {
++ show[0] = '\0';
++ if (keypad_index(key_a1) >= 0)
++ strcat(show, " ka1");
++ if (keypad_index(key_a3) >= 0)
++ strcat(show, " ka3");
++ if (keypad_index(key_b2) >= 0)
++ strcat(show, " kb2");
++ if (keypad_index(key_c1) >= 0)
++ strcat(show, " kc1");
++ if (keypad_index(key_c3) >= 0)
++ strcat(show, " kc3");
++ if (*show != '\0')
++ _nc_warning("vt100 keypad map incomplete:%s", show);
++ }
++}
++
++/*
+ * Returns the expected number of parameters for the given capability.
+ */
+ static int
+@@ -1076,17 +1275,9 @@
+ check_params(tp, ExtStrname(tp, j, strnames), a);
+ }
+
+- /*
+- * Quick check for color. We could also check if the ANSI versus
+- * non-ANSI strings are misused.
+- */
+- if ((max_colors > 0) != (max_pairs > 0)
+- || ((max_colors > max_pairs) && (initialize_pair == 0)))
+- _nc_warning("inconsistent values for max_colors (%d) and max_pairs (%d)",
+- max_colors, max_pairs);
+-
+- PAIRED(set_foreground, set_background);
+- PAIRED(set_a_foreground, set_a_background);
++ check_acs(tp);
++ check_colors(tp);
++ check_keypad(tp);
+
+ /*
+ * These may be mismatched because the terminal description relies on
+diff -urNd -urNd ncurses-5.3/progs/tput.c ncurses-5.3.20030906.orig/progs/tput.c
+--- ncurses-5.3/progs/tput.c Sat Jul 20 14:09:47 2002
++++ ncurses-5.3.20030906.orig/progs/tput.c Tue May 13 20:08:23 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -45,7 +45,7 @@
+ #endif
+ #include <transform.h>
+
+-MODULE_ID("$Id: tput.c,v 1.31 2002/07/20 19:09:47 tom Exp $")
++MODULE_ID("$Id: tput.c,v 1.33 2003/02/22 22:10:34 tom Exp $")
+
+ #define PUTS(s) fputs(s, stdout)
+ #define PUTCHAR(c) putchar(c)
+@@ -70,14 +70,14 @@
+ vfprintf(stderr, fmt, argp);
+ fprintf(stderr, "\n");
+ va_end(argp);
+- exit(status);
++ ExitProgram(status);
+ }
+
+ static void
+ usage(void)
+ {
+ fprintf(stderr, "usage: %s [-V] [-S] [-T term] capname\n", prg_name);
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ }
+
+ static void
+@@ -297,8 +297,10 @@
+ token = STRING;
+ if (argc > 1) {
+ int k;
+- int numbers[10];
+- char *strings[10];
++ int popcount;
++ long numbers[1 + NUM_PARM];
++ char *strings[1 + NUM_PARM];
++ char *p_is_s[NUM_PARM];
+
+ /* Nasty hack time. The tparm function needs to see numeric
+ * parameters as numbers, not as pointers to their string
+@@ -312,7 +314,7 @@
+ if (tmp == 0 || *tmp != 0)
+ numbers[k] = 0;
+ }
+- for (k = argc; k <= 9; k++) {
++ for (k = argc; k <= NUM_PARM; k++) {
+ numbers[k] = 0;
+ strings[k] = 0;
+ }
+@@ -325,10 +327,18 @@
+ s = tparm(s, numbers[1], strings[2], strings[3]);
+ break;
+ default:
++ (void) _nc_tparm_analyze(s, p_is_s, &popcount);
++#define myParam(n) (p_is_s[n - 1] != 0 ? ((long) strings[n]) : numbers[n])
+ s = tparm(s,
+- numbers[1], numbers[2], numbers[3],
+- numbers[4], numbers[5], numbers[6],
+- numbers[7], numbers[8], numbers[9]);
++ myParam(1),
++ myParam(2),
++ myParam(3),
++ myParam(4),
++ myParam(5),
++ myParam(6),
++ myParam(7),
++ myParam(8),
++ myParam(9));
+ break;
+ }
+ }
+diff -urNd -urNd ncurses-5.3/progs/tset.c ncurses-5.3.20030906.orig/progs/tset.c
+--- ncurses-5.3/progs/tset.c Sat Aug 24 18:18:16 2002
++++ ncurses-5.3.20030906.orig/progs/tset.c Tue May 13 20:08:23 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -103,7 +103,7 @@
+ #include <dump_entry.h>
+ #include <transform.h>
+
+-MODULE_ID("$Id: tset.c,v 0.53 2002/08/24 23:18:16 tom Exp $")
++MODULE_ID("$Id: tset.c,v 0.55 2003/02/09 00:30:09 tom Exp $")
+
+ extern char **environ;
+
+@@ -142,7 +142,7 @@
+ SET_TTY(STDERR_FILENO, &original);
+ (void) fprintf(stderr, "\n");
+ fflush(stderr);
+- exit(EXIT_FAILURE);
++ ExitProgram(EXIT_FAILURE);
+ /* NOTREACHED */
+ }
+
+@@ -627,8 +627,10 @@
+ **************************************************************************/
+
+ /* some BSD systems have these built in, some systems are missing
+- * one or more definitions. The safest solution is to override.
++ * one or more definitions. The safest solution is to override unless the
++ * commonly-altered ones are defined.
+ */
++#if !(defined(CERASE) && defined(CINTR) && defined(CKILL) && defined(CQUIT))
+ #undef CEOF
+ #undef CERASE
+ #undef CINTR
+@@ -639,18 +641,39 @@
+ #undef CSTART
+ #undef CSTOP
+ #undef CSUSP
++#endif
+
+ /* control-character defaults */
++#ifndef CEOF
+ #define CEOF CTRL('D')
++#endif
++#ifndef CERASE
+ #define CERASE CTRL('H')
++#endif
++#ifndef CINTR
+ #define CINTR 127 /* ^? */
++#endif
++#ifndef CKILL
+ #define CKILL CTRL('U')
++#endif
++#ifndef CLNEXT
+ #define CLNEXT CTRL('v')
++#endif
++#ifndef CRPRNT
+ #define CRPRNT CTRL('r')
++#endif
++#ifndef CQUIT
+ #define CQUIT CTRL('\\')
++#endif
++#ifndef CSTART
+ #define CSTART CTRL('Q')
++#endif
++#ifndef CSTOP
+ #define CSTOP CTRL('S')
++#endif
++#ifndef CSUSP
+ #define CSUSP CTRL('Z')
++#endif
+
+ #define CHK(val, dft) ((int)val <= 0 ? dft : val)
+
+@@ -1183,8 +1206,8 @@
+ #ifdef TERMIOS
+ if (!quiet) {
+ report("Erase", VERASE, CERASE);
+- report("Kill", VKILL, CINTR);
+- report("Interrupt", VINTR, CKILL);
++ report("Kill", VKILL, CKILL);
++ report("Interrupt", VINTR, CINTR);
+ }
+ #endif
+ }
+@@ -1193,12 +1216,14 @@
+ err("The -S option is not supported under terminfo.");
+
+ if (sflag) {
++ int len;
+ /*
+ * Figure out what shell we're using. A hack, we look for an
+ * environmental variable SHELL ending in "csh".
+ */
+ if ((p = getenv("SHELL")) != 0
+- && !strcmp(p + strlen(p) - 3, "csh"))
++ && (len = strlen(p)) >= 3
++ && !strcmp(p + len - 3, "csh"))
+ p = "set noglob;\nsetenv TERM %s;\nunset noglob;\n";
+ else
+ p = "TERM=%s;\n";
+@@ -1207,5 +1232,3 @@
+
+ return EXIT_SUCCESS;
+ }
+-
+-/* tset.c ends here */
+diff -urNd -urNd ncurses-5.3/tack/Makefile.in ncurses-5.3.20030906.orig/tack/Makefile.in
+--- ncurses-5.3/tack/Makefile.in Sat Dec 8 12:48:01 2001
++++ ncurses-5.3.20030906.orig/tack/Makefile.in Fri Sep 12 16:42:40 2003
+@@ -1,4 +1,4 @@
+-# $Id: Makefile.in,v 1.27 2001/12/08 18:48:01 tom Exp $
++# $Id: Makefile.in,v 1.29 2003/08/23 23:24:08 tom Exp $
+ # Makefile for tack
+ #
+ # The variable 'srcdir' refers to the source-distribution, and can be set with
+@@ -29,6 +29,11 @@
+ datadir = @datadir@
+
+ LIBTOOL = @LIBTOOL@
++LIBTOOL_CLEAN = @LIB_CLEAN@
++LIBTOOL_COMPILE = @LIB_COMPILE@
++LIBTOOL_LINK = @LIB_LINK@
++LIBTOOL_INSTALL = @LIB_INSTALL@
++LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
+
+ INSTALL = @INSTALL@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -55,15 +60,15 @@
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+ LD = @LD@
+-LINK = @LINK_PROGS@ $(LIBTOOL) $(CC)
++LINK = @LINK_PROGS@ $(LIBTOOL_LINK) $(CC)
+ LDFLAGS = @EXTRA_LDFLAGS@ \
+ @PROG_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ @EXTRA_LIBS@
+
+-LDFLAGS_LIBTOOL = $(LDFLAGS)
+-LDFLAGS_NORMAL = $(LDFLAGS)
+-LDFLAGS_DEBUG = $(LDFLAGS) @CC_G_OPT@
+-LDFLAGS_PROFILE = $(LDFLAGS) -pg
+-LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
++LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
++LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
++LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
++LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
++LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+ LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
+
+@@ -92,11 +97,11 @@
+ install.tack: $(PROGS) \
+ $(DESTDIR)$(bindir) \
+ $(DESTDIR)$(mandir)
+- $(LIBTOOL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x
++ $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) tack$x $(DESTDIR)$(bindir)/tack$x
+ $(INSTALL_DATA) $(srcdir)/tack.1 $(DESTDIR)$(mandir)/tack.1
+
+ uninstall.tack:
+- -@$(LIBTOOL) rm -f $(DESTDIR)$(bindir)/tack$x
++ -@$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(bindir)/tack$x
+ -@rm -f $(DESTDIR)$(mandir)/tack.1
+
+ $(DESTDIR)$(bindir) \
+diff -urNd -urNd ncurses-5.3/tar-copy.sh ncurses-5.3.20030906.orig/tar-copy.sh
+--- ncurses-5.3/tar-copy.sh Wed Feb 11 06:14:03 1998
++++ ncurses-5.3.20030906.orig/tar-copy.sh Tue May 13 20:08:23 2003
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+-# $Id: tar-copy.sh,v 1.3 1998/02/11 12:14:03 tom Exp $
++# $Id: tar-copy.sh,v 1.4 2003/05/11 00:23:28 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998 Free Software Foundation, Inc. #
++# Copyright (c) 1998,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,7 +28,7 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey <dickey@clark.net> 1997,1998
++# Author: Thomas E. Dickey
+ #
+ # Copy a collection of files using 'tar', so that their dates and links are
+ # preserved
+@@ -55,16 +55,24 @@
+ WD=`pwd`
+
+ TMP=$WD/copy$$
+-trap "rm -f $TMP" 0 1 2 5 15
+
+ cd $2
+-if ( tar cf $TMP $1 )
++TEST=`ls -d $1 2>/dev/null`
++if test -z "$TEST"
+ then
+- cd $3
+- LIST=`tar tf $TMP 2>&1`
+- $DOIT rm -rf $LIST 2>/dev/null
+- $DOIT tar xvf $TMP
++ echo "... no match for \"$1\" in $2"
+ else
+- echo "Cannot create tar of $1 files"
+- exit 1
++ echo "... installing files matching \"$1\" in $2"
++ trap "rm -f $TMP" 0 1 2 5 15
++ if ( tar cf $TMP $1 )
++ then
++ cd $3
++ LIST=`tar tf $TMP 2>&1`
++ $DOIT rm -rf $LIST 2>/dev/null
++ $DOIT tar xvf $TMP
++ trap 0 1 2 5 15
++ else
++ echo "Cannot create tar of $1 files"
++ exit 1
++ fi
+ fi
+diff -urNd -urNd ncurses-5.3/test/Makefile.in ncurses-5.3.20030906.orig/test/Makefile.in
+--- ncurses-5.3/test/Makefile.in Sat Feb 2 18:54:10 2002
++++ ncurses-5.3.20030906.orig/test/Makefile.in Fri Sep 12 16:42:40 2003
+@@ -1,6 +1,6 @@
+-# $Id: Makefile.in,v 1.63 2002/02/03 00:54:10 china Exp $
++# $Id: Makefile.in,v 1.73 2003/08/24 00:05:14 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -27,7 +27,7 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,1998
++# Author: Thomas E. Dickey 1996-2002
+ #
+ # Makefile for ncurses tests.
+
+@@ -46,12 +46,15 @@
+ includedir = @includedir@
+
+ LIBTOOL = @LIBTOOL@
++LIBTOOL_CLEAN = @LIB_CLEAN@
++LIBTOOL_COMPILE = @LIB_COMPILE@
++LIBTOOL_LINK = @LIB_LINK@
+
+ CC = @CC@
+ CPP = @CPP@
+
+ CFLAGS = @CFLAGS@
+-CPPFLAGS = -I../test -I$(srcdir) @CPPFLAGS@ -DHAVE_CONFIG_H
++CPPFLAGS = -I../test -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
+
+ CCFLAGS = $(CPPFLAGS) $(CFLAGS)
+
+@@ -69,15 +72,15 @@
+ MATH_LIB = @MATH_LIB@
+
+ LD = @LD@
+-LINK = @LINK_TESTS@ $(LIBTOOL) $(CC) $(CFLAGS)
++LINK = @LINK_TESTS@ $(LIBTOOL_LINK) $(CC) $(CFLAGS)
+
+ LDFLAGS = @LD_MODEL@ @TEST_ARGS@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
+
+-LDFLAGS_LIBTOOL = $(LDFLAGS)
+-LDFLAGS_NORMAL = $(LDFLAGS)
+-LDFLAGS_DEBUG = $(LDFLAGS) @CC_G_OPT@
+-LDFLAGS_PROFILE = $(LDFLAGS) -pg
+-LDFLAGS_SHARED = $(LDFLAGS) @LD_SHARED_OPTS@
++LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
++LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
++LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
++LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
++LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
+
+ LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
+
+@@ -89,6 +92,11 @@
+ blue$x \
+ bs$x \
+ cardfile$x \
++ demo_defkey$x \
++ demo_forms$x \
++ demo_keyok$x \
++ demo_menus$x \
++ demo_panels$x \
+ ditto$x \
+ dots$x \
+ filter$x \
+@@ -97,13 +105,15 @@
+ gdc$x \
+ hanoi$x \
+ hashtest$x \
++ ins_wide$x \
++ inserts$x \
+ keynames$x \
+ knight$x \
+ lrtest$x \
+ ncurses$x \
+ newdemo$x \
+- rain$x \
+ railroad$x \
++ rain$x \
+ tclock$x \
+ testaddch$x \
+ testcurs$x \
+@@ -125,6 +135,21 @@
+ cardfile$x: $(MODEL)/cardfile.o $(LOCAL_LIBS)
+ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/cardfile.o $(LDFLAGS_DEFAULT)
+
++demo_defkey$x: $(MODEL)/demo_defkey.o $(LOCAL_LIBS)
++ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_defkey.o $(LDFLAGS_DEFAULT)
++
++demo_forms$x: $(MODEL)/demo_forms.o $(MODEL)/edit_field.o $(LOCAL_LIBS)
++ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_forms.o $(MODEL)/edit_field.o $(LDFLAGS_DEFAULT)
++
++demo_keyok$x: $(MODEL)/demo_keyok.o $(LOCAL_LIBS)
++ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_keyok.o $(LDFLAGS_DEFAULT)
++
++demo_menus$x: $(MODEL)/demo_menus.o $(LOCAL_LIBS)
++ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_menus.o $(LDFLAGS_DEFAULT)
++
++demo_panels$x: $(MODEL)/demo_panels.o $(LOCAL_LIBS)
++ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/demo_panels.o $(LDFLAGS_DEFAULT)
++
+ ditto$x: $(MODEL)/ditto.o $(LOCAL_LIBS)
+ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ditto.o $(LDFLAGS_DEFAULT)
+
+@@ -149,6 +174,12 @@
+ hashtest$x: $(MODEL)/hashtest.o $(LOCAL_LIBS)
+ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/hashtest.o $(LDFLAGS_DEFAULT)
+
++inserts$x: $(MODEL)/inserts.o $(LOCAL_LIBS)
++ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/inserts.o $(LDFLAGS_DEFAULT)
++
++ins_wide$x: $(MODEL)/ins_wide.o $(LOCAL_LIBS)
++ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/ins_wide.o $(LDFLAGS_DEFAULT)
++
+ keynames$x: $(MODEL)/keynames.o $(LOCAL_LIBS)
+ @ECHO_LINK@ $(LINK) -o $@ $(MODEL)/keynames.o $(LDFLAGS_DEFAULT)
+
+@@ -213,9 +244,3 @@
+
+ lint:
+ sh -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done'
+-
+-# Use this to get a list of test-programs for the standalone configure script.
+-echo_tests :
+- @echo "$(TESTS)"
+-echo_suffix :
+- @echo "$x"
+diff -urNd -urNd ncurses-5.3/test/README ncurses-5.3.20030906.orig/test/README
+--- ncurses-5.3/test/README Sat Nov 25 01:11:22 1995
++++ ncurses-5.3.20030906.orig/test/README Sun Jul 20 14:02:09 2003
+@@ -1,3 +1,6 @@
++-- $Id: README,v 1.15 2003/07/05 19:17:49 tom Exp $
++-------------------------------------------------------------------------------
++
+ The programs in this directory are designed to test your newest toy :-)
+ Check the sources for any further details.
+
+@@ -20,3 +23,601 @@
+ This directory also contains:
+
+ tracemunch - Perl script to crunch trace scripts to make them easier to read
++
++-------------------------------------------------------------------------------
++-------------------------------------------------------------------------------
++
++These programs provide examples of use, but do not comprise a complete set of
++tests. Here is a list of library externals, noting those that are used:
++
++libform:
++-------
++TYPE_ALNUM test: demo_forms
++TYPE_ALPHA test: demo_forms ncurses
++TYPE_ENUM test: demo_forms
++TYPE_INTEGER test: demo_forms
++TYPE_IPV4 -
++TYPE_NUMERIC test: demo_forms
++TYPE_REGEXP test: demo_forms
++current_field test: demo_forms edit_field ncurses
++data_ahead -
++data_behind -
++dup_field -
++dynamic_field_info -
++field_arg -
++field_back -
++field_buffer test: cardfile demo_forms edit_field ncurses
++field_count -
++field_fore -
++field_index test: demo_forms
++field_info test: ncurses
++field_init -
++field_just -
++field_opts test: demo_forms ncurses
++field_opts_off test: cardfile
++field_opts_on -
++field_pad -
++field_status -
++field_term -
++field_type test: demo_forms
++field_userptr test: ncurses
++form_driver test: cardfile demo_forms edit_field ncurses
++form_fields test: cardfile
++form_init -
++form_opts -
++form_opts_off -
++form_opts_on -
++form_page -
++form_request_by_name -
++form_request_name test: edit_field
++form_sub test: cardfile demo_forms ncurses
++form_term -
++form_userptr -
++form_win test: cardfile demo_forms edit_field ncurses
++free_field test: cardfile demo_forms ncurses
++free_fieldtype -
++free_form test: cardfile demo_forms ncurses
++link_field -
++link_fieldtype -
++move_field -
++new_field test: cardfile demo_forms ncurses
++new_fieldtype test: ncurses
++new_form test: cardfile demo_forms ncurses
++new_page -
++pos_form_cursor -
++post_form test: cardfile demo_forms ncurses
++scale_form test: demo_forms ncurses
++set_current_field -
++set_field_back test: cardfile demo_forms edit_field ncurses
++set_field_buffer test: cardfile demo_forms edit_field ncurses
++set_field_fore -
++set_field_init -
++set_field_just test: cardfile
++set_field_opts test: demo_forms ncurses
++set_field_pad -
++set_field_status -
++set_field_term -
++set_field_type test: demo_forms ncurses
++set_field_userptr test: demo_forms ncurses
++set_fieldtype_arg -
++set_fieldtype_choice -
++set_form_fields -
++set_form_init -
++set_form_opts -
++set_form_page -
++set_form_sub test: cardfile demo_forms ncurses
++set_form_term -
++set_form_userptr -
++set_form_win test: cardfile demo_forms ncurses
++set_max_field -
++set_new_page test: demo_forms
++unpost_form test: cardfile demo_forms ncurses
++
++libmenu:
++-------
++current_item test: ncurses
++free_item test: ncurses
++free_menu test: ncurses
++item_count -
++item_description -
++item_index test: ncurses
++item_init -
++item_name test: ncurses
++item_opts -
++item_opts_off -
++item_opts_on -
++item_term -
++item_userptr -
++item_value test: ncurses
++item_visible -
++menu_back -
++menu_driver test: ncurses
++menu_fore -
++menu_format -
++menu_grey -
++menu_init -
++menu_items test: ncurses
++menu_mark -
++menu_opts -
++menu_opts_off test: ncurses
++menu_opts_on -
++menu_pad -
++menu_pattern -
++menu_request_by_name -
++menu_request_name -
++menu_spacing -
++menu_sub -
++menu_term -
++menu_userptr -
++menu_win test: ncurses
++new_item test: ncurses
++new_menu test: ncurses
++pos_menu_cursor lib: menu
++post_menu test: ncurses
++scale_menu test: ncurses
++set_current_item -
++set_item_init -
++set_item_opts -
++set_item_term -
++set_item_userptr -
++set_item_value test: ncurses
++set_menu_back -
++set_menu_fore -
++set_menu_format test: ncurses
++set_menu_grey -
++set_menu_init -
++set_menu_items -
++set_menu_mark -
++set_menu_opts -
++set_menu_pad -
++set_menu_pattern -
++set_menu_spacing -
++set_menu_sub test: ncurses
++set_menu_term -
++set_menu_userptr -
++set_menu_win test: ncurses
++set_top_row -
++top_row -
++unpost_menu test: ncurses
++
++libncurses:
++----------
++BC -
++COLORS test: ncurses xmas
++COLOR_PAIR test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
++COLOR_PAIRS test: ncurses newdemo
++COLS test: cardfile demo_defkey demo_forms demo_keyok edit_field firework hashtest ins_wide inserts lrtest ncurses newdemo rain tclock testcurs view worm
++ESCDELAY lib: ncurses
++LINES test: cardfile demo_defkey demo_keyok edit_field firework hanoi hashtest ins_wide inserts lrtest ncurses newdemo rain tclock testcurs view worm xmas
++PAIR_NUMBER lib: ncurses
++PC lib: ncurses
++SP lib: ncurses
++TABSIZE lib: menu
++UP -
++acs_map test: gdc ins_wide inserts knight ncurses newdemo testcurs
++add_wch -
++add_wchnstr test: ncurses
++add_wchstr test: view
++addch test: blue bs ditto hashtest ncurses testaddch view worm
++addchnstr -
++addchstr -
++addnstr -
++addnwstr -
++addstr test: blue bs cardfile gdc hanoi lrtest ncurses
++addwstr -
++assume_default_colors test: ncurses
++attr_get -
++attr_off test: ncurses
++attr_on test: ncurses
++attr_set -
++attroff test: filter gdc ncurses tclock
++attron test: bs filter gdc ncurses
++attrset test: bs firework gdc hanoi ncurses rain tclock testaddch testcurs
++baudrate lib: ncurses
++beep test: blue bs cardfile demo_forms edit_field hanoi ins_wide inserts knight ncurses tclock testcurs view xmas
++bkgd test: demo_forms ncurses tclock view
++bkgdset test: ncurses testaddch
++bkgrnd -
++bkgrndset -
++boolcodes progs: dump_entry
++boolfnames progs: dump_entry
++boolnames progs: dump_entry infocmp
++border -
++border_set -
++box test: cardfile demo_forms edit_field ins_wide inserts lrtest ncurses newdemo testcurs
++box_set test: ncurses
++can_change_color test: ncurses
++cbreak test: blue bs cardfile demo_defkey demo_forms demo_keyok ditto filter firework gdc hanoi hashtest ins_wide inserts knight lrtest ncurses newdemo tclock testcurs view worm xmas
++chgat -
++clear test: blue bs gdc ncurses testcurs xmas
++clearok test: bs knight
++clrtobot test: ncurses
++clrtoeol test: blue bs hanoi hashtest ncurses view
++color_content test: ncurses
++color_set -
++copywin test: testcurs
++cur_term test: dots lrtest progs: clear tic tput tset
++curs_set test: firework gdc hanoi lrtest newdemo rain tclock testcurs worm xmas
++curscr test: edit_field knight lrtest ncurses tclock view
++curses_version test: ncurses progs: infocmp tic toe tput tset
++def_prog_mode test: bs ncurses
++def_shell_mode lib: ncurses
++define_key test: demo_defkey
++del_curterm lib: ncurses
++delay_output -
++delch -
++deleteln -
++delscreen -
++delwin test: cardfile demo_forms edit_field ncurses newdemo testcurs
++derwin test: cardfile demo_forms ncurses
++doupdate test: cardfile edit_field ins_wide inserts knight ncurses
++dupwin test: edit_field
++echo test: bs hanoi ncurses testcurs testscanw
++echo_wchar test: ncurses
++echochar test: ncurses
++endwin test: blue bs cardfile demo_defkey demo_forms demo_keyok ditto filter firework firstlast gdc hanoi hashtest ins_wide inserts knight lrtest ncurses newdemo rain tclock testaddch testcurs testscanw view worm xmas
++erase test: cardfile filter firework firstlast hanoi lrtest ncurses tclock testcurs
++erasechar lib: ncurses
++erasewchar -
++filter test: filter
++flash test: cardfile lrtest ncurses tclock testcurs
++flushinp test: ncurses newdemo testcurs
++get_wch -
++get_wstr -
++getbkgd test: ncurses
++getbkgrnd -
++getcchar test: view
++getch test: blue bs ditto firework firstlast hanoi hashtest lrtest rain tclock testaddch testcurs view worm xmas
++getmouse test: bs knight ncurses
++getn_wstr -
++getnstr test: filter ncurses
++getstr -
++getwin test: ncurses
++halfdelay test: view
++has_colors test: bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testcurs view worm xmas
++has_ic test: lrtest
++has_il lib: ncurses
++has_key lib: ncurses
++hline test: gdc ncurses
++hline_set -
++idcok -
++idlok test: ncurses testscanw view
++immedok -
++in_wch -
++in_wchnstr -
++in_wchstr -
++inch -
++inchnstr -
++inchstr -
++init_color test: ncurses
++init_pair test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
++initscr test: blue bs cardfile demo_defkey demo_forms demo_keyok firework firstlast gdc hanoi hashtest ins_wide inserts knight lrtest ncurses newdemo rain tclock testaddch testcurs testscanw view worm xmas
++innstr -
++innwstr -
++ins_nwstr -
++ins_wch -
++ins_wstr -
++insch -
++insdelln -
++insertln -
++insnstr -
++insstr -
++instr -
++intrflush test: demo_forms
++inwstr -
++is_linetouched lib: form
++is_term_resized -
++is_wintouched lib: ncurses
++isendwin -
++key_defined test: demo_defkey
++key_name test: ncurses
++keybound test: demo_defkey
++keyname test: demo_defkey demo_keyok edit_field keynames ncurses testcurs view progs: tic
++keyok test: demo_keyok
++keypad test: bs cardfile demo_defkey demo_forms demo_keyok edit_field filter firework hashtest ins_wide inserts knight lrtest ncurses tclock testcurs testscanw view
++killchar lib: ncurses
++killwchar -
++leaveok test: hanoi
++longname test: testcurs progs: tput
++mcprint -
++meta test: ncurses
++mouse_trafo -
++mouseinterval -
++mousemask test: bs knight ncurses
++move test: blue bs cardfile gdc hanoi hashtest knight lrtest ncurses testscanw view worm xmas
++mvadd_wch test: ncurses
++mvadd_wchnstr -
++mvadd_wchstr -
++mvaddch test: bs gdc hanoi lrtest ncurses rain tclock xmas
++mvaddchnstr test: gdc
++mvaddchstr -
++mvaddnstr -
++mvaddnwstr -
++mvaddstr test: bs demo_forms gdc hanoi knight ncurses rain tclock testcurs xmas
++mvaddwstr -
++mvchgat -
++mvcur lib: ncurses
++mvdelch -
++mvderwin lib: menu
++mvget_wch -
++mvget_wstr -
++mvgetch -
++mvgetn_wstr -
++mvgetnstr -
++mvgetstr -
++mvhline test: ncurses
++mvhline_set test: ncurses
++mvin_wch -
++mvin_wchnstr -
++mvin_wchstr -
++mvinch -
++mvinchnstr test: gdc
++mvinchstr -
++mvinnstr -
++mvinnwstr -
++mvins_nwstr -
++mvins_wch -
++mvins_wstr -
++mvinsch -
++mvinsnstr -
++mvinsstr -
++mvinstr -
++mvinwstr -
++mvprintw test: bs firework hanoi ncurses tclock view
++mvscanw -
++mvvline test: ncurses
++mvvline_set test: ncurses
++mvwadd_wch -
++mvwadd_wchnstr -
++mvwadd_wchstr -
++mvwaddch test: newdemo testcurs xmas
++mvwaddchnstr -
++mvwaddchstr -
++mvwaddnstr test: newdemo testcurs
++mvwaddnwstr -
++mvwaddstr test: firstlast ins_wide inserts knight ncurses newdemo testcurs xmas
++mvwaddwstr -
++mvwchgat -
++mvwdelch test: ncurses
++mvwget_wch -
++mvwget_wstr -
++mvwgetch -
++mvwgetn_wstr -
++mvwgetnstr -
++mvwgetstr -
++mvwhline lib: ncurses
++mvwhline_set -
++mvwin test: cardfile testcurs xmas
++mvwin_wch -
++mvwin_wchnstr -
++mvwin_wchstr -
++mvwinch test: newdemo testcurs
++mvwinchnstr -
++mvwinchstr -
++mvwinnstr test: testcurs
++mvwinnwstr -
++mvwins_nwstr -
++mvwins_wch test: ins_wide
++mvwins_wstr test: ins_wide
++mvwinsch test: ins_wide inserts
++mvwinsnstr -
++mvwinsstr test: inserts testcurs
++mvwinstr -
++mvwinwstr -
++mvwprintw test: ncurses testcurs
++mvwscanw test: testcurs
++mvwvline test: ins_wide inserts
++mvwvline_set -
++napms test: firework gdc hanoi lrtest ncurses newdemo railroad rain tclock testcurs view worm xmas progs: tset
++newpad test: edit_field ncurses testcurs
++newscr lib: ncurses
++newterm test: ditto filter gdc
++newwin test: cardfile demo_defkey demo_forms demo_keyok edit_field firstlast ins_wide inserts knight ncurses newdemo testcurs xmas
++nl test: demo_forms ncurses rain testcurs
++nocbreak test: testcurs
++nodelay test: firework gdc lrtest ncurses newdemo rain tclock view xmas
++noecho test: bs cardfile demo_defkey demo_forms demo_keyok ditto firework firstlast gdc hanoi hashtest ins_wide inserts knight lrtest ncurses rain tclock testcurs view worm xmas
++nonl test: bs demo_forms hashtest ncurses view worm xmas
++noqiflush -
++noraw test: demo_forms ncurses testcurs
++notimeout -
++numcodes progs: dump_entry
++numfnames progs: dump_entry
++numnames progs: dump_entry infocmp
++ospeed progs: tset
++overlay test: testcurs xmas
++overwrite test: ncurses
++pair_content lib: ncurses
++pechochar -
++pnoutrefresh test: edit_field ncurses
++prefresh test: testcurs
++printw test: blue bs demo_defkey demo_keyok filter ncurses testcurs testscanw view
++putp progs: tput
++putwin test: ncurses
++qiflush -
++raw test: demo_forms ncurses testcurs
++redrawwin -
++refresh test: blue bs demo_defkey demo_forms demo_keyok ditto filter firstlast gdc hanoi hashtest lrtest ncurses tclock testcurs view worm xmas
++reset_prog_mode test: filter ncurses
++reset_shell_mode test: bs filter
++resetty -
++resize_term test: view
++resizeterm lib: ncurses
++restartterm -
++ripoffline test: ncurses
++savetty -
++scanw test: testcurs testscanw
++scr_dump -
++scr_init -
++scr_restore -
++scr_set -
++scrl -
++scroll test: testcurs
++scrollok test: demo_defkey demo_keyok ditto hashtest knight ncurses testcurs testscanw view
++set_curterm lib: ncurses
++set_term test: ditto
++setcchar test: ins_wide ncurses view
++setscrreg test: view
++setupterm test: dots progs: clear tput tset
++slk_attr -
++slk_attr_off -
++slk_attr_on -
++slk_attr_set -
++slk_attroff lib: ncurses
++slk_attron lib: ncurses
++slk_attrset -
++slk_clear test: ncurses
++slk_color test: ncurses
++slk_init test: ncurses
++slk_label test: ncurses
++slk_noutrefresh test: ncurses
++slk_refresh test: ncurses
++slk_restore test: ncurses
++slk_set test: ncurses
++slk_touch test: ncurses
++slk_wset test: ncurses
++standend test: blue gdc ncurses worm
++standout test: blue ncurses
++start_color test: blue bs demo_forms filter firework gdc hanoi ins_wide inserts knight ncurses newdemo rain tclock testaddch testcurs view worm xmas
++stdscr test: bs demo_forms ditto filter firework gdc hanoi hashtest ins_wide inserts knight lrtest ncurses rain tclock testcurs testscanw view xmas
++strcodes progs: dump_entry
++strfnames progs: dump_entry
++strnames progs: dump_entry infocmp tic
++subpad test: testcurs
++subwin test: ncurses newdemo testcurs
++syncok -
++term_attrs -
++termattrs test: ncurses testcurs
++termname test: testcurs
++tgetent test: railroad
++tgetflag -
++tgetnum test: railroad
++tgetstr test: railroad
++tgoto test: railroad
++tigetflag progs: tput
++tigetnum test: ncurses progs: tput
++tigetstr test: blue demo_defkey testcurs progs: tput
++timeout test: rain
++touchline lib: ncurses
++touchwin test: edit_field filter firstlast ncurses xmas
++tparm test: dots progs: tic tput
++tputs test: dots railroad progs: clear tset
++trace test: hanoi hashtest lrtest ncurses testcurs view worm
++ttytype lib: ncurses
++typeahead test: testcurs
++unctrl test: ncurses testcurs
++unget_wch -
++ungetch test: bs knight
++ungetmouse -
++untouchwin -
++use_default_colors test: filter firework gdc hanoi knight ncurses rain tclock worm xmas
++use_env progs: tput
++use_extended_names progs: infocmp tic
++vid_attr -
++vid_puts -
++vidattr lib: ncurses
++vidputs lib: ncurses
++vline test: gdc ncurses
++vline_set -
++vw_printw -
++vw_scanw -
++vwprintw lib: ncurses
++vwscanw lib: ncurses
++wadd_wch lib: ncurses
++wadd_wchnstr lib: ncurses
++wadd_wchstr -
++waddch test: firstlast knight ncurses
++waddchnstr lib: ncurses
++waddchstr -
++waddnstr lib: form
++waddnwstr test: ncurses
++waddstr test: demo_forms edit_field firstlast ins_wide knight ncurses testcurs
++waddwstr test: ins_wide
++wattr_get -
++wattr_off lib: menu
++wattr_on lib: menu
++wattr_set -
++wattroff test: demo_forms ncurses testcurs xmas
++wattron test: testcurs xmas
++wattrset test: demo_forms ncurses newdemo testcurs xmas
++wbkgd test: demo_forms ncurses newdemo testcurs
++wbkgdset test: ins_wide inserts ncurses
++wbkgrnd lib: ncurses
++wbkgrndset lib: ncurses
++wborder lib: ncurses
++wborder_set lib: ncurses
++wchgat test: view
++wclear test: ncurses testcurs
++wclrtobot test: firstlast ncurses testcurs
++wclrtoeol test: demo_defkey demo_keyok firstlast ins_wide inserts knight ncurses testcurs
++wcolor_set lib: ncurses
++wcursyncup lib: form
++wdelch test: ncurses testcurs
++wdeleteln test: testcurs
++wecho_wchar lib: ncurses
++wechochar lib: ncurses
++wenclose lib: menu
++werase test: cardfile demo_forms edit_field firstlast knight ncurses newdemo testcurs xmas
++wget_wch test: ins_wide ncurses
++wget_wstr -
++wgetch test: cardfile demo_defkey demo_keyok edit_field gdc inserts knight ncurses newdemo testcurs
++wgetn_wstr test: ncurses
++wgetnstr test: ncurses
++wgetstr -
++whline test: testcurs
++whline_set lib: ncurses
++win_wch lib: ncurses
++win_wchnstr lib: ncurses
++win_wchstr -
++winch test: knight testcurs
++winchnstr lib: ncurses
++winchstr -
++winnstr test: demo_defkey
++winnwstr lib: ncurses
++wins_nwstr lib: ncurses
++wins_wch lib: ncurses
++wins_wstr -
++winsch test: testcurs
++winsdelln lib: form
++winsertln test: testcurs
++winsnstr lib: form
++winsstr -
++winstr -
++winwstr lib: ncurses
++wmouse_trafo lib: menu
++wmove test: demo_defkey demo_keyok firstlast ins_wide inserts knight ncurses newdemo testcurs
++wnoutrefresh test: edit_field ins_wide inserts knight ncurses
++wprintw test: demo_defkey demo_forms demo_keyok edit_field ins_wide inserts knight ncurses testcurs
++wredrawln lib: ncurses
++wrefresh test: demo_forms demo_keyok edit_field firstlast knight lrtest ncurses newdemo tclock testcurs view xmas
++wresize test: cardfile ncurses
++wscanw test: testcurs
++wscrl test: ncurses testcurs view
++wsetscrreg test: ncurses testcurs
++wstandend test: xmas
++wstandout test: xmas
++wsyncdown lib: ncurses
++wsyncup lib: form
++wtimeout test: ncurses
++wtouchln lib: form
++wunctrl -
++wvline test: testcurs
++wvline_set lib: ncurses
++
++libpanel:
++--------
++bottom_panel test: ncurses
++del_panel test: ncurses
++hide_panel test: ncurses
++move_panel test: ncurses
++new_panel test: cardfile ncurses
++panel_above -
++panel_below -
++panel_hidden -
++panel_userptr test: ncurses
++panel_window test: cardfile ncurses
++replace_panel -
++set_panel_userptr test: ncurses
++show_panel test: ncurses
++top_panel test: cardfile ncurses
++update_panels test: cardfile ncurses
+diff -urNd -urNd ncurses-5.3/test/aclocal.m4 ncurses-5.3.20030906.orig/test/aclocal.m4
+--- ncurses-5.3/test/aclocal.m4 Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/aclocal.m4 Sun Jul 20 14:02:08 2003
+@@ -0,0 +1,812 @@
++dnl $Id: aclocal.m4,v 1.4 2003/05/17 22:22:52 tom Exp $
++dnl ---------------------------------------------------------------------------
++dnl ---------------------------------------------------------------------------
++dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52
++dnl -------------
++dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
++dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
++dnl but old versions (and some misinstalled ones) need that. To make things
++dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to
++dnl the include-path).
++AC_DEFUN([CF_ADD_INCDIR],
++[
++for cf_add_incdir in $1
++do
++ while true
++ do
++ case $cf_add_incdir in
++ /usr/include) # (vi
++ ;;
++ /usr/local/include) # (vi
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ AC_TRY_COMPILE([#include <stdio.h>],
++ [printf("Hello")],
++ [],
++ [CPPFLAGS="$cf_save_CPPFLAGS"])
++ fi
++ ;;
++ *) # (vi
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ ;;
++ esac
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ done
++done
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_CACHE version: 7 updated: 2001/12/19 00:50:10
++dnl --------------
++dnl Check if we're accidentally using a cache from a different machine.
++dnl Derive the system name, as a check for reusing the autoconf cache.
++dnl
++dnl If we've packaged config.guess and config.sub, run that (since it does a
++dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
++dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
++dnl which is useful in cross-compiles.
++AC_DEFUN([CF_CHECK_CACHE],
++[
++if test -f $srcdir/config.guess ; then
++ ifelse([$1],,[AC_CANONICAL_HOST],[$1])
++ system_name="$host_os"
++else
++ system_name="`(uname -s -r) 2>/dev/null`"
++ if test -z "$system_name" ; then
++ system_name="`(hostname) 2>/dev/null`"
++ fi
++fi
++test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
++AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
++
++test -z "$system_name" && system_name="$cf_cv_system_name"
++test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
++
++if test ".$system_name" != ".$cf_cv_system_name" ; then
++ AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
++ AC_ERROR("Please remove config.cache and try again.")
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_ACS_MAP version: 3 updated: 2003/05/17 22:19:02
++dnl -----------------
++dnl Check for likely values of acs_map[]:
++AC_DEFUN([CF_CURSES_ACS_MAP],
++[
++AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
++cf_cv_curses_acs_map=unknown
++for name in acs_map _acs_map __acs_map _nc_acs_map
++do
++AC_TRY_LINK([
++#include <${cf_cv_ncurses_header-curses.h}>
++],[
++$name['k'] = ACS_PLUS
++],[cf_cv_curses_acs_map=$name; break])
++done
++])
++
++test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_CHECK_TYPE version: 2 updated: 2003/03/01 23:40:33
++dnl --------------------
++dnl Check if curses.h defines the given type
++AC_DEFUN([CF_CURSES_CHECK_TYPE],
++[
++AC_MSG_CHECKING(for type $1 in ${cf_cv_ncurses_header-curses.h})
++AC_TRY_COMPILE([
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
++#include <${cf_cv_ncurses_header-curses.h}>],[
++$1 foo
++],cf_result=yes,cf_result=no)
++AC_MSG_RESULT($cf_result)
++if test $cf_result = yes ; then
++ CF_UPPER(cf_result,have_type_$1)
++ AC_DEFINE_UNQUOTED($cf_result)
++else
++ AC_DEFINE_UNQUOTED($1,$2)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_CPPFLAGS version: 6 updated: 2002/10/27 18:21:42
++dnl ------------------
++dnl Look for the curses headers.
++AC_DEFUN([CF_CURSES_CPPFLAGS],[
++
++AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[
++cf_cv_curses_incdir=no
++case $host_os in #(vi
++hpux10.*|hpux11.*) #(vi
++ test -d /usr/include/curses_colr && \
++ cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ ;;
++sunos3*|sunos4*)
++ test -d /usr/5lib && \
++ test -d /usr/5include && \
++ cf_cv_curses_incdir="-I/usr/5include"
++ ;;
++esac
++])
++test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
++
++AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
++cf_cv_ncurses_header=none
++for cf_header in \
++ curses.h \
++ ncurses.h \
++ ncurses/curses.h \
++ ncurses/ncurses.h
++do
++AC_TRY_COMPILE([#include <${cf_header}>],
++ [initscr(); tgoto("?", 0,0)],
++ [cf_cv_ncurses_header=$cf_header; break],[])
++done
++])
++
++if test "$cf_cv_ncurses_header" = none ; then
++ AC_MSG_ERROR(No curses header-files found)
++fi
++
++# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
++AC_CHECK_HEADERS($cf_cv_ncurses_header)
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_LIBS version: 22 updated: 2002/10/27 18:21:42
++dnl --------------
++dnl Look for the curses libraries. Older curses implementations may require
++dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first.
++AC_DEFUN([CF_CURSES_LIBS],[
++
++AC_MSG_CHECKING(if we have identified curses libraries)
++AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
++ [initscr(); tgoto("?", 0,0)],
++ cf_result=yes,
++ cf_result=no)
++AC_MSG_RESULT($cf_result)
++
++if test "$cf_result" = no ; then
++case $host_os in #(vi
++freebsd*) #(vi
++ AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
++ ;;
++hpux10.*|hpux11.*) #(vi
++ AC_CHECK_LIB(cur_colr,initscr,[
++ LIBS="-lcur_colr $LIBS"
++ ac_cv_func_initscr=yes
++ ],[
++ AC_CHECK_LIB(Hcurses,initscr,[
++ # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
++ LIBS="-lHcurses $LIBS"
++ CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
++ ac_cv_func_initscr=yes
++ ])])
++ ;;
++linux*) # Suse Linux does not follow /usr/lib convention
++ LIBS="$LIBS -L/lib"
++ ;;
++sunos3*|sunos4*)
++ test -d /usr/5lib && \
++ LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
++ ac_cv_func_initscr=yes
++ ;;
++esac
++
++if test ".$ac_cv_func_initscr" != .yes ; then
++ cf_save_LIBS="$LIBS"
++ cf_term_lib=""
++ cf_curs_lib=""
++
++ if test ".${cf_cv_ncurses_version-no}" != .no
++ then
++ cf_check_list="ncurses curses cursesX"
++ else
++ cf_check_list="cursesX curses ncurses"
++ fi
++
++ # Check for library containing tgoto. Do this before curses library
++ # because it may be needed to link the test-case for initscr.
++ AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
++ for cf_term_lib in $cf_check_list termcap termlib unknown
++ do
++ AC_CHECK_LIB($cf_term_lib,tgoto,[break])
++ done
++ ])
++
++ # Check for library containing initscr
++ test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
++ for cf_curs_lib in $cf_check_list xcurses jcurses unknown
++ do
++ AC_CHECK_LIB($cf_curs_lib,initscr,[break])
++ done
++ test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
++
++ LIBS="-l$cf_curs_lib $cf_save_LIBS"
++ if test "$cf_term_lib" = unknown ; then
++ AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
++ [initscr()],
++ [cf_result=yes],
++ [cf_result=no])
++ AC_MSG_RESULT($cf_result)
++ test $cf_result = no && AC_ERROR(Cannot link curses library)
++ elif test "$cf_curs_lib" = "$cf_term_lib" ; then
++ :
++ elif test "$cf_term_lib" != predefined ; then
++ AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
++ [initscr(); tgoto((char *)0, 0, 0);],
++ [cf_result=no],
++ [
++ LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
++ [initscr()],
++ [cf_result=yes],
++ [cf_result=error])
++ ])
++ AC_MSG_RESULT($cf_result)
++ fi
++fi
++fi
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CURSES_WACS_MAP version: 3 updated: 2003/05/17 22:19:02
++dnl ------------------
++dnl Check for likely values of wacs_map[]:
++AC_DEFUN([CF_CURSES_WACS_MAP],
++[
++AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
++ cf_cv_curses_wacs_map=unknown
++ for name in wacs_map _wacs_map __wacs_map _nc_wacs
++ do
++ AC_TRY_LINK([
++#ifndef _XOPEN_SOURCE_EXTENDED
++#define _XOPEN_SOURCE_EXTENDED
++#endif
++#include <${cf_cv_ncurses_header-curses.h}>],
++ [$name['k'] = *WACS_PLUS],
++ [cf_cv_curses_wacs_map=$name
++ break])
++ done])
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
++dnl ----------
++dnl "dirname" is not portable, so we fake it with a shell script.
++AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FIND_LIBRARY version: 7 updated: 2000/04/13 21:38:04
++dnl ---------------
++dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We
++dnl prefer a standard location, and use -L options only if we do not find the
++dnl library in the standard library location(s).
++dnl $1 = library name
++dnl $2 = library class, usually the same as library name
++dnl $3 = includes
++dnl $4 = code fragment to compile/link
++dnl $5 = corresponding function-name
++dnl $6 = flag, nonnull if failure causes an error-exit
++dnl
++dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
++dnl to use a -L option.
++AC_DEFUN([CF_FIND_LIBRARY],
++[
++ eval 'cf_cv_have_lib_'$1'=no'
++ cf_libdir=""
++ AC_CHECK_FUNC($5,
++ eval 'cf_cv_have_lib_'$1'=yes',[
++ cf_save_LIBS="$LIBS"
++ AC_MSG_CHECKING(for $5 in -l$1)
++ LIBS="-l$1 $LIBS"
++ AC_TRY_LINK([$3],[$4],
++ [AC_MSG_RESULT(yes)
++ eval 'cf_cv_have_lib_'$1'=yes'
++ ],
++ [AC_MSG_RESULT(no)
++ CF_LIBRARY_PATH(cf_search,$2)
++ for cf_libdir in $cf_search
++ do
++ AC_MSG_CHECKING(for -l$1 in $cf_libdir)
++ LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
++ AC_TRY_LINK([$3],[$4],
++ [AC_MSG_RESULT(yes)
++ eval 'cf_cv_have_lib_'$1'=yes'
++ break],
++ [AC_MSG_RESULT(no)
++ LIBS="$cf_save_LIBS"])
++ done
++ ])
++ ])
++eval 'cf_found_library=[$]cf_cv_have_lib_'$1
++ifelse($6,,[
++if test $cf_found_library = no ; then
++ AC_ERROR(Cannot link $1 library)
++fi
++])
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_CURSES_VERSION version: 3 updated: 2003/05/17 22:19:02
++dnl ----------------------
++dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
++dnl It's a character string "SVR4", not documented.
++AC_DEFUN([CF_FUNC_CURSES_VERSION],
++[
++AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
++AC_TRY_RUN([
++#include <${cf_cv_ncurses_header-curses.h}>
++int main()
++{
++ char temp[1024];
++ sprintf(temp, "%s\n", curses_version());
++ exit(0);
++}]
++,[cf_cv_func_curses_version=yes]
++,[cf_cv_func_curses_version=no]
++,[cf_cv_func_curses_version=unknown])
++rm -f core])
++test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_HEADER_PATH version: 8 updated: 2002/11/10 14:46:59
++dnl --------------
++dnl Construct a search-list for a nonstandard header-file
++AC_DEFUN([CF_HEADER_PATH],
++[CF_SUBDIR_PATH($1,$2,include)
++test "$includedir" != NONE && \
++test "$includedir" != "/usr/include" && \
++test -d "$includedir" && {
++ test -d $includedir && $1="[$]$1 $includedir"
++ test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
++}
++
++test "$oldincludedir" != NONE && \
++test "$oldincludedir" != "/usr/include" && \
++test -d "$oldincludedir" && {
++ test -d $oldincludedir && $1="[$]$1 $oldincludedir"
++ test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
++}
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_INHERIT_SCRIPT version: 2 updated: 2003/03/01 23:50:42
++dnl -----------------
++dnl If we do not have a given script, look for it in the parent directory.
++AC_DEFUN([CF_INHERIT_SCRIPT],
++[
++test -f $1 || ( test -f ../$1 && cp ../$1 ./ )
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LIBRARY_PATH version: 7 updated: 2002/11/10 14:46:59
++dnl ---------------
++dnl Construct a search-list for a nonstandard library-file
++AC_DEFUN([CF_LIBRARY_PATH],
++[CF_SUBDIR_PATH($1,$2,lib)])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_NCURSES_CC_CHECK version: 3 updated: 2003/01/12 18:59:28
++dnl -------------------
++dnl Check if we can compile with ncurses' header file
++dnl $1 is the cache variable to set
++dnl $2 is the header-file to include
++dnl $3 is the root name (ncurses or ncursesw)
++AC_DEFUN([CF_NCURSES_CC_CHECK],[
++ AC_TRY_COMPILE([
++]ifelse($3,ncursesw,[
++#define _XOPEN_SOURCE_EXTENDED
++#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
++#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
++])[
++#include <$2>],[
++#ifdef NCURSES_VERSION
++]ifelse($3,ncursesw,[
++#ifndef WACS_BSSB
++ make an error
++#endif
++])[
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
++ ]
++ ,[$1=$cf_header]
++ ,[$1=no])
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_NCURSES_CPPFLAGS version: 16 updated: 2002/12/29 18:30:46
++dnl -------------------
++dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
++dnl the CPPFLAGS variable so we can include its header.
++dnl
++dnl The header files may be installed as either curses.h, or ncurses.h (would
++dnl be obsolete, except that some packagers prefer this name to distinguish it
++dnl from a "native" curses implementation). If not installed for overwrite,
++dnl the curses.h file would be in an ncurses subdirectory (e.g.,
++dnl /usr/include/ncurses), but someone may have installed overwriting the
++dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd
++dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
++dnl the header.
++dnl
++dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
++dnl is already in the include-path, don't even bother with this, since we cannot
++dnl easily determine which file it is. In this case, it has to be <curses.h>.
++dnl
++dnl The optional parameter gives the root name of the library, in case it is
++dnl not installed as the default curses library. That is how the
++dnl wide-character version of ncurses is installed.
++AC_DEFUN([CF_NCURSES_CPPFLAGS],
++[AC_REQUIRE([CF_WITH_CURSES_DIR])
++
++cf_ncuhdr_root=ifelse($1,,ncurses,$1)
++
++test -n "$cf_cv_curses_dir" && \
++test "$cf_cv_curses_dir" != "no" && \
++CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
++
++AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
++ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
++ ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
++ for cf_header in $cf_header_list
++ do
++ CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
++ test "$cf_cv_ncurses_h" != no && break
++ done
++])
++
++if test "$cf_cv_ncurses_h" != no ; then
++ cf_cv_ncurses_header=$cf_cv_ncurses_h
++else
++AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
++ test -n "$verbose" && echo
++ CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
++ test -n "$verbose" && echo search path $cf_search
++ cf_save2_CPPFLAGS="$CPPFLAGS"
++ for cf_incdir in $cf_search
++ do
++ CF_ADD_INCDIR($cf_incdir)
++ for cf_header in \
++ ncurses.h \
++ curses.h
++ do
++ CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
++ if test "$cf_cv_ncurses_h2" != no ; then
++ cf_cv_ncurses_h2=$cf_incdir/$cf_header
++ test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG
++ break
++ fi
++ test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
++ done
++ CPPFLAGS="$cf_save2_CPPFLAGS"
++ test "$cf_cv_ncurses_h2" != no && break
++ done
++ test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found)
++ ])
++
++ CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
++ cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
++ if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
++ cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
++ fi
++ CF_ADD_INCDIR($cf_1st_incdir)
++
++fi
++
++AC_DEFINE(NCURSES)
++
++case $cf_cv_ncurses_header in # (vi
++*ncurses.h)
++ AC_DEFINE(HAVE_NCURSES_H)
++ ;;
++esac
++
++case $cf_cv_ncurses_header in # (vi
++ncurses/curses.h|ncurses/ncurses.h)
++ AC_DEFINE(HAVE_NCURSES_NCURSES_H)
++ ;;
++ncursesw/curses.h|ncursesw/ncurses.h)
++ AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
++ ;;
++esac
++
++CF_NCURSES_VERSION
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_NCURSES_LIBS version: 11 updated: 2002/12/22 14:22:25
++dnl ---------------
++dnl Look for the ncurses library. This is a little complicated on Linux,
++dnl because it may be linked with the gpm (general purpose mouse) library.
++dnl Some distributions have gpm linked with (bsd) curses, which makes it
++dnl unusable with ncurses. However, we don't want to link with gpm unless
++dnl ncurses has a dependency, since gpm is normally set up as a shared library,
++dnl and the linker will record a dependency.
++dnl
++dnl The optional parameter gives the root name of the library, in case it is
++dnl not installed as the default curses library. That is how the
++dnl wide-character version of ncurses is installed.
++AC_DEFUN([CF_NCURSES_LIBS],
++[AC_REQUIRE([CF_NCURSES_CPPFLAGS])
++
++cf_nculib_root=ifelse($1,,ncurses,$1)
++ # This works, except for the special case where we find gpm, but
++ # ncurses is in a nonstandard location via $LIBS, and we really want
++ # to link gpm.
++cf_ncurses_LIBS=""
++cf_ncurses_SAVE="$LIBS"
++AC_CHECK_LIB(gpm,Gpm_Open,
++ [AC_CHECK_LIB(gpm,initscr,
++ [LIBS="$cf_ncurses_SAVE"],
++ [cf_ncurses_LIBS="-lgpm"])])
++
++case $host_os in #(vi
++freebsd*)
++ # This is only necessary if you are linking against an obsolete
++ # version of ncurses (but it should do no harm, since it's static).
++ AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
++ ;;
++esac
++
++LIBS="$cf_ncurses_LIBS $LIBS"
++
++if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
++then
++ LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
++else
++ CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
++ [#include <${cf_cv_ncurses_header-curses.h}>],
++ [initscr()],
++ initscr)
++fi
++
++if test -n "$cf_ncurses_LIBS" ; then
++ AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
++ cf_ncurses_SAVE="$LIBS"
++ for p in $cf_ncurses_LIBS ; do
++ q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
++ if test "$q" != "$LIBS" ; then
++ LIBS="$q"
++ fi
++ done
++ AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
++ [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
++ [AC_MSG_RESULT(yes)],
++ [AC_MSG_RESULT(no)
++ LIBS="$cf_ncurses_SAVE"])
++fi
++
++CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
++AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_NCURSES_VERSION version: 10 updated: 2002/10/27 18:21:42
++dnl ------------------
++dnl Check for the version of ncurses, to aid in reporting bugs, etc.
++dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
++dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
++AC_DEFUN([CF_NCURSES_VERSION],
++[
++AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
++ cf_cv_ncurses_version=no
++ cf_tempfile=out$$
++ rm -f $cf_tempfile
++ AC_TRY_RUN([
++#include <${cf_cv_ncurses_header-curses.h}>
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("$cf_tempfile", "w");
++#ifdef NCURSES_VERSION
++# ifdef NCURSES_VERSION_PATCH
++ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
++# else
++ fprintf(fp, "%s\n", NCURSES_VERSION);
++# endif
++#else
++# ifdef __NCURSES_H
++ fprintf(fp, "old\n");
++# else
++ make an error
++# endif
++#endif
++ exit(0);
++}],[
++ cf_cv_ncurses_version=`cat $cf_tempfile`],,[
++
++ # This will not work if the preprocessor splits the line after the
++ # Autoconf token. The 'unproto' program does that.
++ cat > conftest.$ac_ext <<EOF
++#include <${cf_cv_ncurses_header-curses.h}>
++#undef Autoconf
++#ifdef NCURSES_VERSION
++Autoconf NCURSES_VERSION
++#else
++#ifdef __NCURSES_H
++Autoconf "old"
++#endif
++;
++#endif
++EOF
++ cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
++ AC_TRY_EVAL(cf_try)
++ if test -f conftest.out ; then
++ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
++ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
++ rm -f conftest.out
++ fi
++])
++ rm -f $cf_tempfile
++])
++test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
++dnl --------------
++dnl Check the argument to see that it looks like a pathname. Rewrite it if it
++dnl begins with one of the prefix/exec_prefix variables, and then again if the
++dnl result begins with 'NONE'. This is necessary to work around autoconf's
++dnl delayed evaluation of those symbols.
++AC_DEFUN([CF_PATH_SYNTAX],[
++case ".[$]$1" in #(vi
++.\[$]\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
++ ;;
++.\[$]{*prefix}*) #(vi
++ eval $1="[$]$1"
++ case ".[$]$1" in #(vi
++ .NONE/*)
++ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
++ ;;
++ esac
++ ;; #(vi
++.NONE/*)
++ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
++ ;;
++*)
++ ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SUBDIR_PATH version: 3 updated: 2002/12/29 18:30:46
++dnl --------------
++dnl Construct a search-list for a nonstandard header/lib-file
++dnl $1 = the variable to return as result
++dnl $2 = the package name
++dnl $3 = the subdirectory, e.g., bin, include or lib
++AC_DEFUN([CF_SUBDIR_PATH],
++[$1=""
++
++test -d [$]HOME && {
++ test -n "$verbose" && echo " ... testing $3-directories under [$]HOME"
++ test -d [$]HOME/$3 && $1="[$]$1 [$]HOME/$3"
++ test -d [$]HOME/$3/$2 && $1="[$]$1 [$]HOME/$3/$2"
++ test -d [$]HOME/$3/$2/$3 && $1="[$]$1 [$]HOME/$3/$2/$3"
++}
++
++# For other stuff under the home directory, it should be sufficient to put
++# a symbolic link for $HOME/$2 to the actual package location:
++test -d [$]HOME/$2 && {
++ test -n "$verbose" && echo " ... testing $3-directories under [$]HOME/$2"
++ test -d [$]HOME/$2/$3 && $1="[$]$1 [$]HOME/$2/$3"
++ test -d [$]HOME/$2/$3/$2 && $1="[$]$1 [$]HOME/$2/$3/$2"
++}
++
++test "$prefix" != /usr/local && \
++test -d /usr/local && {
++ test -n "$verbose" && echo " ... testing $3-directories under /usr/local"
++ test -d /usr/local/$3 && $1="[$]$1 /usr/local/$3"
++ test -d /usr/local/$3/$2 && $1="[$]$1 /usr/local/$3/$2"
++ test -d /usr/local/$3/$2/$3 && $1="[$]$1 /usr/local/$3/$2/$3"
++ test -d /usr/local/$2/$3 && $1="[$]$1 /usr/local/$2/$3"
++ test -d /usr/local/$2/$3/$2 && $1="[$]$1 /usr/local/$2/$3/$2"
++}
++
++test "$prefix" != NONE && \
++test -d $prefix && {
++ test -n "$verbose" && echo " ... testing $3-directories under $prefix"
++ test -d $prefix/$3 && $1="[$]$1 $prefix/$3"
++ test -d $prefix/$3/$2 && $1="[$]$1 $prefix/$3/$2"
++ test -d $prefix/$3/$2/$3 && $1="[$]$1 $prefix/$3/$2/$3"
++ test -d $prefix/$2/$3 && $1="[$]$1 $prefix/$2/$3"
++ test -d $prefix/$2/$3/$2 && $1="[$]$1 $prefix/$2/$3/$2"
++}
++
++test "$prefix" != /opt && \
++test -d /opt && {
++ test -n "$verbose" && echo " ... testing $3-directories under /opt"
++ test -d /opt/$3 && $1="[$]$1 /opt/$3"
++ test -d /opt/$3/$2 && $1="[$]$1 /opt/$3/$2"
++ test -d /opt/$3/$2/$3 && $1="[$]$1 /opt/$3/$2/$3"
++ test -d /opt/$2/$3 && $1="[$]$1 /opt/$2/$3"
++ test -d /opt/$2/$3/$2 && $1="[$]$1 /opt/$2/$3/$2"
++}
++
++test "$prefix" != /usr && \
++test -d /usr && {
++ test -n "$verbose" && echo " ... testing $3-directories under /usr"
++ test -d /usr/$3 && $1="[$]$1 /usr/$3"
++ test -d /usr/$3/$2 && $1="[$]$1 /usr/$3/$2"
++ test -d /usr/$3/$2/$3 && $1="[$]$1 /usr/$3/$2/$3"
++ test -d /usr/$2/$3 && $1="[$]$1 /usr/$2/$3"
++}
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
++dnl ------------------
++dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
++dnl older SCO configurations.
++AC_DEFUN([CF_SYS_TIME_SELECT],
++[
++AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
++AC_CACHE_VAL(cf_cv_sys_time_select,[
++AC_TRY_COMPILE([
++#include <sys/types.h>
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
++#ifdef HAVE_SYS_SELECT_H
++#include <sys/select.h>
++#endif
++],[],[cf_cv_sys_time_select=yes],
++ [cf_cv_sys_time_select=no])
++ ])
++AC_MSG_RESULT($cf_cv_sys_time_select)
++test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
++dnl --------
++dnl Make an uppercase version of a variable
++dnl $1=uppercase($2)
++AC_DEFUN([CF_UPPER],
++[
++$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_UTF8_LIB version: 4 updated: 2003/03/01 18:36:42
++dnl -----------
++dnl Check for multibyte support, and if not found, utf8 compatibility library
++AC_DEFUN([CF_UTF8_LIB],
++[
++AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
++ cf_save_LIBS="$LIBS"
++ AC_TRY_LINK([
++#include <stdlib.h>],[putwc(0,0);],
++ [cf_cv_utf8_lib=yes],
++ [LIBS="-lutf8 $LIBS"
++ AC_TRY_LINK([
++#include <libutf8.h>],[putwc(0,0);],
++ [cf_cv_utf8_lib=add-on],
++ [cf_cv_utf8_lib=no])
++ LIBS="$cf_save_LIBS"
++])])
++
++# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
++# ncurses/ncursesw:
++if test "$cf_cv_utf8_lib" = "add-on" ; then
++ AC_DEFINE(HAVE_LIBUTF8_H)
++ LIBS="-lutf8 $LIBS"
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59
++dnl ------------------
++dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
++dnl libraries.
++AC_DEFUN([CF_WITH_CURSES_DIR],[
++AC_ARG_WITH(curses-dir,
++ [ --with-curses-dir=DIR directory in which (n)curses is installed],
++ [CF_PATH_SYNTAX(withval)
++ cf_cv_curses_dir=$withval],
++ [cf_cv_curses_dir=no])
++])dnl
+diff -urNd -urNd ncurses-5.3/test/bs.c ncurses-5.3.20030906.orig/test/bs.c
+--- ncurses-5.3/test/bs.c Sat Jun 29 18:32:18 2002
++++ ncurses-5.3.20030906.orig/test/bs.c Tue May 13 20:08:23 2003
+@@ -7,11 +7,9 @@
+ * v2.0 featuring strict ANSI/POSIX conformance, November 1993.
+ * v2.1 with ncurses mouse support, September 1995
+ *
+- * $Id: bs.c,v 1.36 2002/06/29 23:32:18 tom Exp $
++ * $Id: bs.c,v 1.37 2002/10/19 22:11:47 tom Exp $
+ */
+
+-#include <ctype.h>
+-#include <assert.h>
+ #include <time.h>
+
+ #include <test.priv.h>
+diff -urNd -urNd ncurses-5.3/test/cardfile.c ncurses-5.3.20030906.orig/test/cardfile.c
+--- ncurses-5.3/test/cardfile.c Sun Sep 1 12:59:48 2002
++++ ncurses-5.3.20030906.orig/test/cardfile.c Tue May 13 20:08:23 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1999-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1999-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,26 +29,28 @@
+ /*
+ * Author: Thomas E. Dickey <dickey@clark.net> 1999
+ *
+- * $Id: cardfile.c,v 1.19 2002/09/01 17:59:48 tom Exp $
++ * $Id: cardfile.c,v 1.23 2003/04/26 16:43:56 tom Exp $
+ *
+- * File format: text beginning in column 1 is a title; other text forms the content.
++ * File format: text beginning in column 1 is a title; other text is content.
+ */
+
+ #include <test.priv.h>
+
+-#if HAVE_FORM_H && HAVE_PANEL_H && HAVE_LIBFORM && HAVE_LIBPANEL
++#if USE_LIBFORM && USE_LIBPANEL
+
+ #include <form.h>
+ #include <panel.h>
+
+-#include <ctype.h>
+-
+ #define VISIBLE_CARDS 10
+ #define OFFSET_CARD 2
+
+-#ifndef CTRL
+-#define CTRL(x) ((x) & 0x1f)
+-#endif
++enum {
++ MY_CTRL_x = MAX_FORM_COMMAND
++ ,MY_CTRL_N
++ ,MY_CTRL_P
++ ,MY_CTRL_Q
++ ,MY_CTRL_W
++};
+
+ typedef struct _card {
+ struct _card *link;
+@@ -273,14 +275,14 @@
+
+ switch (c) {
+ case CTRL('W'):
+- return (MAX_FORM_COMMAND + 4);
++ return (MY_CTRL_W);
+ case CTRL('N'):
+- return (MAX_FORM_COMMAND + 3);
++ return (MY_CTRL_N);
+ case CTRL('P'):
+- return (MAX_FORM_COMMAND + 2);
++ return (MY_CTRL_P);
+ case CTRL('Q'):
+ case 033:
+- return (MAX_FORM_COMMAND + 1);
++ return (MY_CTRL_Q);
+
+ case KEY_BACKSPACE:
+ return (REQ_DEL_PREV);
+@@ -311,10 +313,12 @@
+ f[0] = new_field(1, form_wide, 0, 0, 0, 0);
+ set_field_back(f[0], A_REVERSE);
+ set_field_buffer(f[0], 0, p->title);
++ field_opts_off(f[0], O_BLANK);
+
+ f[1] = new_field(form_high - 1, form_wide, 1, 0, 0, 0);
+ set_field_buffer(f[1], 0, p->content);
+ set_field_just(f[1], JUSTIFY_LEFT);
++ field_opts_off(f[1], O_BLANK);
+
+ f[2] = 0;
+ return f;
+@@ -394,18 +398,19 @@
+ break;
+ case E_UNKNOWN_COMMAND:
+ switch (ch) {
+- case MAX_FORM_COMMAND + 1:
++ case MY_CTRL_Q:
+ finished = TRUE;
+ break;
+- case MAX_FORM_COMMAND + 2:
++ case MY_CTRL_P:
+ top_card = prev_card(top_card);
+ order_cards(top_card, visible_cards);
+ break;
+- case MAX_FORM_COMMAND + 3:
++ case MY_CTRL_N:
+ top_card = next_card(top_card);
+ order_cards(top_card, visible_cards);
+ break;
+- case MAX_FORM_COMMAND + 4:
++ case MY_CTRL_W:
++ form_driver(top_card->form, REQ_VALIDATION);
+ write_data(fname);
+ break;
+ #if defined(KEY_RESIZE) && HAVE_WRESIZE
+diff -urNd -urNd ncurses-5.3/test/configure ncurses-5.3.20030906.orig/test/configure
+--- ncurses-5.3/test/configure Sat Apr 6 17:16:16 2002
++++ ncurses-5.3.20030906.orig/test/configure Sun Jul 20 14:02:08 2003
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+
+ # Guess values for system-dependent variables and create Makefiles.
+-# Generated automatically using autoconf version 2.13.20000819
++# Generated automatically using autoconf version 2.13.20020210
+ # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+ #
+ # This configure script is free software; the Free Software Foundation
+@@ -183,6 +183,7 @@
+ EOF
+ cat <<EOF
+ --enable and --with options recognized:
++ --with-curses-dir=DIR directory in which (n)curses is installed
+ --with-5lib use SunOS sysv-libraries
+ --with-ncursesw use wide ncurses-libraries (installed)
+ --with-ncurses use ncurses-libraries (installed)
+@@ -336,7 +337,7 @@
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+- echo "configure generated by autoconf version 2.13.20000819"
++ echo "configure generated by autoconf version 2.13.20020210"
+ exit 0 ;;
+
+ -with-* | --with-*)
+@@ -526,10 +527,91 @@
+
+
+
++
++test -f config.guess || ( test -f ../config.guess && cp ../config.guess ./ )
++
++
++test -f config.sub || ( test -f ../config.sub && cp ../config.sub ./ )
++
++ac_aux_dir=
++for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
++ if test -f $ac_dir/install-sh; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install-sh -c"
++ break
++ elif test -f $ac_dir/install.sh; then
++ ac_aux_dir=$ac_dir
++ ac_install_sh="$ac_aux_dir/install.sh -c"
++ break
++ fi
++done
++if test -z "$ac_aux_dir"; then
++ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
++fi
++ac_config_guess=$ac_aux_dir/config.guess
++ac_config_sub=$ac_aux_dir/config.sub
++ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
++
++
++if test -f $srcdir/config.guess ; then
++
++# Make sure we can run config.sub.
++if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
++else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
++fi
++
++echo $ac_n "checking host system type""... $ac_c" 1>&6
++echo "configure:565: checking host system type" >&5
++
++host_alias=$host
++case "$host_alias" in
++NONE)
++ case $nonopt in
++ NONE)
++ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
++ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
++ fi ;;
++ *) host_alias=$nonopt ;;
++ esac ;;
++esac
++
++host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
++host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
++host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
++host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
++echo "$ac_t""$host" 1>&6
++
++ system_name="$host_os"
++else
++ system_name="`(uname -s -r) 2>/dev/null`"
++ if test -z "$system_name" ; then
++ system_name="`(hostname) 2>/dev/null`"
++ fi
++fi
++test -n "$system_name" && cat >> confdefs.h <<EOF
++#define SYSTEM_NAME "$system_name"
++EOF
++
++if eval "test \"`echo '$''{'cf_cv_system_name'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ cf_cv_system_name="$system_name"
++fi
++
++
++test -z "$system_name" && system_name="$cf_cv_system_name"
++test -n "$cf_cv_system_name" && echo "$ac_t""Configuring for $cf_cv_system_name" 1>&6
++
++if test ".$system_name" != ".$cf_cv_system_name" ; then
++ echo "$ac_t""Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" 1>&6
++ { echo "configure: error: "Please remove config.cache and try again."" 1>&2; exit 1; }
++fi
++
++
+ # Extract the first word of "gcc", so it can be a program name with args.
+ set dummy gcc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:533: checking for $ac_word" >&5
++echo "configure:615: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -559,7 +641,7 @@
+ # Extract the first word of "cc", so it can be a program name with args.
+ set dummy cc; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:563: checking for $ac_word" >&5
++echo "configure:645: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -610,7 +692,7 @@
+ # Extract the first word of "cl", so it can be a program name with args.
+ set dummy cl; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:614: checking for $ac_word" >&5
++echo "configure:696: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -642,7 +724,7 @@
+ fi
+
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+-echo "configure:646: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
++echo "configure:728: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ ac_ext=c
+ # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+@@ -653,12 +735,12 @@
+
+ cat > conftest.$ac_ext << EOF
+
+-#line 657 "configure"
++#line 739 "configure"
+ #include "confdefs.h"
+
+ main(){return(0);}
+ EOF
+-if { (eval echo configure:662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ ac_cv_prog_cc_works=yes
+ # If we can't run a trivial program, we are probably using a cross compiler.
+ if (./conftest; exit) 2>/dev/null; then
+@@ -684,12 +766,12 @@
+ { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+-echo "configure:688: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
++echo "configure:770: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+ cross_compiling=$ac_cv_prog_cc_cross
+
+ echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+-echo "configure:693: checking whether we are using GNU C" >&5
++echo "configure:775: checking whether we are using GNU C" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -698,7 +780,7 @@
+ yes;
+ #endif
+ EOF
+-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:702: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
++if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:784: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+ else
+ ac_cv_prog_gcc=no
+@@ -717,7 +799,7 @@
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+-echo "configure:721: checking whether ${CC-cc} accepts -g" >&5
++echo "configure:803: checking whether ${CC-cc} accepts -g" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -748,6 +830,86 @@
+ fi
+ fi
+
++echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
++echo "configure:835: checking how to run the C preprocessor" >&5
++# On Suns, sometimes $CPP names a directory.
++if test -n "$CPP" && test -d "$CPP"; then
++ CPP=
++fi
++if test -z "$CPP"; then
++if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ # This must be in double quotes, not single quotes, because CPP may get
++ # substituted into the Makefile and "${CC-cc}" will confuse make.
++ CPP="${CC-cc} -E"
++ # On the NeXT, cc -E runs the code through the compiler's parser,
++ # not just through cpp.
++ cat > conftest.$ac_ext <<EOF
++#line 850 "configure"
++#include "confdefs.h"
++#include <assert.h>
++Syntax Error
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ :
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ CPP="${CC-cc} -E -traditional-cpp"
++ cat > conftest.$ac_ext <<EOF
++#line 867 "configure"
++#include "confdefs.h"
++#include <assert.h>
++Syntax Error
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:873: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ :
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ CPP="${CC-cc} -nologo -E"
++ cat > conftest.$ac_ext <<EOF
++#line 884 "configure"
++#include "confdefs.h"
++#include <assert.h>
++Syntax Error
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:890: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ :
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ CPP=/lib/cpp
++fi
++rm -f conftest*
++fi
++rm -f conftest*
++fi
++rm -f conftest*
++ ac_cv_prog_CPP="$CPP"
++fi
++ CPP="$ac_cv_prog_CPP"
++else
++ ac_cv_prog_CPP="$CPP"
++fi
++echo "$ac_t""$CPP" 1>&6
++
+
+ CC_G_OPT="-g"
+ CC_SHARED_OPTS=unknown
+@@ -775,6 +937,45 @@
+ cf_cv_abi_version=""
+ cf_cv_rel_version=""
+
++cf_cv_screen=curses
++cf_cv_libtype=
++
++
++
++# Check whether --with-curses-dir or --without-curses-dir was given.
++if test "${with_curses_dir+set}" = set; then
++ withval="$with_curses_dir"
++
++case ".$withval" in #(vi
++.\$\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[a-zA-Z]:[\\/]*) #(vi OS/2 EMX
++ ;;
++.\${*prefix}*) #(vi
++ eval withval="$withval"
++ case ".$withval" in #(vi
++ .NONE/*)
++ withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
++ ;;
++ esac
++ ;; #(vi
++.NONE/*)
++ withval=`echo $withval | sed -e s%NONE%$ac_default_prefix%`
++ ;;
++*)
++ { echo "configure: error: expected a pathname, not \"$withval\"" 1>&2; exit 1; }
++ ;;
++esac
++
++ cf_cv_curses_dir=$withval
++else
++ cf_cv_curses_dir=no
++fi
++
++
++
+
+ # Check whether --with-5lib or --without-5lib was given.
+ if test "${with_5lib+set}" = set; then
+@@ -785,87 +986,303 @@
+
+
+
+-
+ # Check whether --with-ncursesw or --without-ncursesw was given.
+ if test "${with_ncursesw+set}" = set; then
+ withval="$with_ncursesw"
++ cf_cv_screen=ncursesw
++fi
++
++
++
++# Check whether --with-ncurses or --without-ncurses was given.
++if test "${with_ncurses+set}" = set; then
++ withval="$with_ncurses"
++ cf_cv_screen=ncurses
++fi
++
++
++case $cf_cv_screen in
++curses)
++
++
++echo $ac_n "checking for extra include directories""... $ac_c" 1>&6
++echo "configure:1010: checking for extra include directories" >&5
++if eval "test \"`echo '$''{'cf_cv_curses_incdir'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
+
+- cat >> confdefs.h <<\EOF
+-#define _GNU_SOURCE 1
+-EOF
++cf_cv_curses_incdir=no
++case $host_os in #(vi
++hpux10.*|hpux11.*) #(vi
++ test -d /usr/include/curses_colr && \
++ cf_cv_curses_incdir="-I/usr/include/curses_colr"
++ ;;
++sunos3*|sunos4*)
++ test -d /usr/5lib && \
++ test -d /usr/5include && \
++ cf_cv_curses_incdir="-I/usr/5include"
++ ;;
++esac
+
+- cat >> confdefs.h <<\EOF
+-#define _XOPEN_SOURCE_EXTENDED 1
++fi
++
++echo "$ac_t""$cf_cv_curses_incdir" 1>&6
++test "$cf_cv_curses_incdir" != no && CPPFLAGS="$CPPFLAGS $cf_cv_curses_incdir"
++
++echo $ac_n "checking if we have identified curses headers""... $ac_c" 1>&6
++echo "configure:1034: checking if we have identified curses headers" >&5
++if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++cf_cv_ncurses_header=none
++for cf_header in \
++ curses.h \
++ ncurses.h \
++ ncurses/curses.h \
++ ncurses/ncurses.h
++do
++cat > conftest.$ac_ext <<EOF
++#line 1047 "configure"
++#include "confdefs.h"
++#include <${cf_header}>
++int main() {
++initscr(); tgoto("?", 0,0)
++; return 0; }
+ EOF
++if { (eval echo configure:1054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ cf_cv_ncurses_header=$cf_header; break
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++fi
++rm -f conftest*
++done
+
+- echo $ac_n "checking for initscr""... $ac_c" 1>&6
+-echo "configure:803: checking for initscr" >&5
+-if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
++fi
++
++echo "$ac_t""$cf_cv_ncurses_header" 1>&6
++
++if test "$cf_cv_ncurses_header" = none ; then
++ { echo "configure: error: No curses header-files found" 1>&2; exit 1; }
++fi
++
++# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
++for ac_hdr in $cf_cv_ncurses_header
++do
++ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
++echo "configure:1077: checking for $ac_hdr" >&5
++if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 808 "configure"
++#line 1082 "configure"
+ #include "confdefs.h"
+-/* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char initscr(); below. */
+-#include <assert.h>
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr();
++#include <$ac_hdr>
++EOF
++ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
++{ (eval echo configure:1087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
++if test -z "$ac_err"; then
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=yes"
++else
++ echo "$ac_err" >&5
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_header_$ac_safe=no"
++fi
++rm -f conftest*
++fi
++if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
++ cat >> confdefs.h <<EOF
++#define $ac_tr_hdr 1
++EOF
++
++else
++ echo "$ac_t""no" 1>&6
++fi
++done
+
+-int main() {
+
+-/* The GNU C library defines this for functions which it implements
+- to always fail with ENOSYS. Some functions are actually named
+- something starting with __ and the normal name is an alias. */
+-#if defined (__stub_initscr) || defined (__stub___initscr)
+-choke me
++
++
++echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
++echo "configure:1117: checking for ncurses version" >&5
++if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++ cf_cv_ncurses_version=no
++ cf_tempfile=out$$
++ rm -f $cf_tempfile
++ if test "$cross_compiling" = yes; then
++
++
++ # This will not work if the preprocessor splits the line after the
++ # Autoconf token. The 'unproto' program does that.
++ cat > conftest.$ac_ext <<EOF
++#include <${cf_cv_ncurses_header-curses.h}>
++#undef Autoconf
++#ifdef NCURSES_VERSION
++Autoconf NCURSES_VERSION
+ #else
+-initscr();
++#ifdef __NCURSES_H
++Autoconf "old"
++#endif
++;
++#endif
++EOF
++ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
++ { (eval echo configure:1143: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
++ if test -f conftest.out ; then
++ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
++ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
++ rm -f conftest.out
++ fi
++
++else
++ cat > conftest.$ac_ext <<EOF
++#line 1152 "configure"
++#include "confdefs.h"
++
++#include <${cf_cv_ncurses_header-curses.h}>
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("$cf_tempfile", "w");
++#ifdef NCURSES_VERSION
++# ifdef NCURSES_VERSION_PATCH
++ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
++# else
++ fprintf(fp, "%s\n", NCURSES_VERSION);
++# endif
++#else
++# ifdef __NCURSES_H
++ fprintf(fp, "old\n");
++# else
++ make an error
++# endif
+ #endif
++ exit(0);
++}
++EOF
++if { (eval echo configure:1176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++then
++
++ cf_cv_ncurses_version=`cat $cf_tempfile`
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++fi
++rm -fr conftest*
++fi
++
++ rm -f $cf_tempfile
++
++fi
++
++echo "$ac_t""$cf_cv_ncurses_version" 1>&6
++test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
++#define NCURSES 1
++EOF
++
++
++
+
++echo $ac_n "checking if we have identified curses libraries""... $ac_c" 1>&6
++echo "configure:1200: checking if we have identified curses libraries" >&5
++cat > conftest.$ac_ext <<EOF
++#line 1202 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr(); tgoto("?", 0,0)
+ ; return 0; }
+ EOF
+-if { (eval echo configure:831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+- eval "ac_cv_func_initscr=yes"
++ cf_result=yes
+ else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+- eval "ac_cv_func_initscr=no"
++ cf_result=no
+ fi
+ rm -f conftest*
++echo "$ac_t""$cf_result" 1>&6
++
++if test "$cf_result" = no ; then
++case $host_os in #(vi
++freebsd*) #(vi
++ echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
++echo "configure:1225: checking for tgoto in -lmytinfo" >&5
++ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lmytinfo $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 1233 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto();
++
++int main() {
++tgoto()
++; return 0; }
++EOF
++if { (eval echo configure:1244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
+ fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
+
+-if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- :
++ LIBS="-lmytinfo $LIBS"
+ else
+ echo "$ac_t""no" 1>&6
++fi
+
+- echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
+-echo "configure:850: checking for Gpm_Open in -lgpm" >&5
+-ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
++ ;;
++hpux10.*|hpux11.*) #(vi
++ echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6
++echo "configure:1267: checking for initscr in -lcur_colr" >&5
++ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_save_LIBS="$LIBS"
+-LIBS="-lgpm $LIBS"
++LIBS="-lcur_colr $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 858 "configure"
++#line 1275 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char Gpm_Open();
++char initscr();
+
+ int main() {
+-Gpm_Open()
++initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -880,144 +1297,857 @@
+ fi
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- ac_tr_lib=HAVE_LIB`echo gpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+- cat >> confdefs.h <<EOF
+-#define $ac_tr_lib 1
+-EOF
++
++ LIBS="-lcur_colr $LIBS"
++ ac_cv_func_initscr=yes
++
++else
++ echo "$ac_t""no" 1>&6
+
+- LIBS="-lgpm $LIBS"
++ echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
++echo "configure:1309: checking for initscr in -lHcurses" >&5
++ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lHcurses $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 1317 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr();
++
++int main() {
++initscr()
++; return 0; }
++EOF
++if { (eval echo configure:1328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
+
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++
++ # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
++ LIBS="-lHcurses $LIBS"
++ CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
++ ac_cv_func_initscr=yes
++
+ else
+ echo "$ac_t""no" 1>&6
+ fi
+
+- LIB_NAME=ncursesw
+- echo $ac_n "checking for putwc""... $ac_c" 1>&6
+-echo "configure:898: checking for putwc" >&5
+-if eval "test \"`echo '$''{'ac_cv_func_putwc'+set}'`\" = set"; then
++fi
++
++ ;;
++linux*) # Suse Linux does not follow /usr/lib convention
++ LIBS="$LIBS -L/lib"
++ ;;
++sunos3*|sunos4*)
++ test -d /usr/5lib && \
++ LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
++ ac_cv_func_initscr=yes
++ ;;
++esac
++
++if test ".$ac_cv_func_initscr" != .yes ; then
++ cf_save_LIBS="$LIBS"
++ cf_term_lib=""
++ cf_curs_lib=""
++
++ if test ".${cf_cv_ncurses_version-no}" != .no
++ then
++ cf_check_list="ncurses curses cursesX"
++ else
++ cf_check_list="cursesX curses ncurses"
++ fi
++
++ # Check for library containing tgoto. Do this before curses library
++ # because it may be needed to link the test-case for initscr.
++ echo $ac_n "checking for tgoto""... $ac_c" 1>&6
++echo "configure:1381: checking for tgoto" >&5
++if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 903 "configure"
++#line 1386 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+- which can conflict with char putwc(); below. */
++ which can conflict with char tgoto(); below. */
+ #include <assert.h>
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+-char putwc();
++char tgoto();
+
+ int main() {
+
+ /* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+-#if defined (__stub_putwc) || defined (__stub___putwc)
++#if defined (__stub_tgoto) || defined (__stub___tgoto)
+ choke me
+ #else
+-putwc();
++tgoto();
+ #endif
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+- eval "ac_cv_func_putwc=yes"
++ eval "ac_cv_func_tgoto=yes"
+ else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+- eval "ac_cv_func_putwc=no"
++ eval "ac_cv_func_tgoto=no"
+ fi
+ rm -f conftest*
+ fi
+
+-if eval "test \"`echo '$ac_cv_func_'putwc`\" = yes"; then
++if eval "test \"`echo '$ac_cv_func_'tgoto`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- :
++ cf_term_lib=predefined
+ else
+ echo "$ac_t""no" 1>&6
+
+-echo $ac_n "checking for putwc in libutf8""... $ac_c" 1>&6
+-echo "configure:945: checking for putwc in libutf8" >&5
+-if eval "test \"`echo '$''{'cf_cv_libutf8'+set}'`\" = set"; then
++ for cf_term_lib in $cf_check_list termcap termlib unknown
++ do
++ echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6
++echo "configure:1430: checking for tgoto in -l$cf_term_lib" >&5
++ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+-
+- cf_save_LIBS="$LIBS"
+- LIBS="-lutf8 $LIBS"
++ ac_save_LIBS="$LIBS"
++LIBS="-l$cf_term_lib $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 953 "configure"
++#line 1438 "configure"
+ #include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto();
+
+-#include <libutf8.h>
+ int main() {
+-putwc(0,0);
++tgoto()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:1449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+- cf_cv_libutf8=yes
++ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+- cf_cv_libutf8=no
++ eval "ac_cv_lib_$ac_lib_var=no"
+ fi
+ rm -f conftest*
+- LIBS="$cf_save_LIBS"
++LIBS="$ac_save_LIBS"
+
+ fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ break
++else
++ echo "$ac_t""no" 1>&6
++fi
+
+-echo "$ac_t""$cf_cv_libutf8" 1>&6
++ done
++
++fi
+
+-if test "$cf_cv_libutf8" = yes ; then
+- cat >> confdefs.h <<\EOF
+-#define HAVE_LIBUTF8_H 1
++
++ # Check for library containing initscr
++ test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
++ for cf_curs_lib in $cf_check_list xcurses jcurses unknown
++ do
++ echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
++echo "configure:1479: checking for initscr in -l$cf_curs_lib" >&5
++ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-l$cf_curs_lib $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 1487 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr();
++
++int main() {
++initscr()
++; return 0; }
+ EOF
++if { (eval echo configure:1498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
+
+- LIBS="-lutf8 $LIBS"
+ fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ break
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++ done
++ test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; }
+
++ LIBS="-l$cf_curs_lib $cf_save_LIBS"
++ if test "$cf_term_lib" = unknown ; then
++ echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6
++echo "configure:1524: checking if we can link with $cf_curs_lib library" >&5
++ cat > conftest.$ac_ext <<EOF
++#line 1526 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr()
++; return 0; }
++EOF
++if { (eval echo configure:1533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ cf_result=yes
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ cf_result=no
++fi
++rm -f conftest*
++ echo "$ac_t""$cf_result" 1>&6
++ test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; }
++ elif test "$cf_curs_lib" = "$cf_term_lib" ; then
++ :
++ elif test "$cf_term_lib" != predefined ; then
++ echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6
++echo "configure:1549: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
++ cat > conftest.$ac_ext <<EOF
++#line 1551 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr(); tgoto((char *)0, 0, 0);
++; return 0; }
++EOF
++if { (eval echo configure:1558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ cf_result=no
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++
++ LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
++ cat > conftest.$ac_ext <<EOF
++#line 1568 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr()
++; return 0; }
++EOF
++if { (eval echo configure:1575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ cf_result=yes
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ cf_result=error
++fi
++rm -f conftest*
++
++fi
++rm -f conftest*
++ echo "$ac_t""$cf_result" 1>&6
++ fi
++fi
+ fi
+
+- for p in $HOME /usr/local /usr
+- do
+- if test -f $p/include/ncursesw/curses.h
+- then
+- CPPFLAGS="$CPPFLAGS -I$p/include/ncursesw"
+- test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
+- test $p != /usr && LIBS="-L$p/lib $LIBS"
+- break
+- elif test $p != /usr
+- then
+- if test -f $p/include/curses.h
++
++ ;;
++ncurses)
++
++
++cf_ncuhdr_root=ncurses
++
++test -n "$cf_cv_curses_dir" && \
++test "$cf_cv_curses_dir" != "no" && \
++CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
++
++echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6
++echo "configure:1605: checking for $cf_ncuhdr_root header in include-path" >&5
++if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
++ ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
++ for cf_header in $cf_header_list
++ do
++
++ cat > conftest.$ac_ext <<EOF
++#line 1616 "configure"
++#include "confdefs.h"
++
++
++#include <$cf_header>
++int main() {
++
++#ifdef NCURSES_VERSION
++
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
++
++
++; return 0; }
++EOF
++if { (eval echo configure:1637: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ cf_cv_ncurses_h=$cf_header
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ cf_cv_ncurses_h=no
++fi
++rm -f conftest*
++
++ test "$cf_cv_ncurses_h" != no && break
++ done
++
++fi
++
++echo "$ac_t""$cf_cv_ncurses_h" 1>&6
++
++if test "$cf_cv_ncurses_h" != no ; then
++ cf_cv_ncurses_header=$cf_cv_ncurses_h
++else
++echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6
++echo "configure:1660: checking for $cf_ncuhdr_root include-path" >&5
++if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++ test -n "$verbose" && echo
++ cf_search=""
++
++test -d $HOME && {
++ test -n "$verbose" && echo " ... testing include-directories under $HOME"
++ test -d $HOME/include && cf_search="$cf_search $HOME/include"
++ test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
++ test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
++}
++
++# For other stuff under the home directory, it should be sufficient to put
++# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location:
++test -d $HOME/$cf_ncuhdr_root && {
++ test -n "$verbose" && echo " ... testing include-directories under $HOME/$cf_ncuhdr_root"
++ test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
++ test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != /usr/local && \
++test -d /usr/local && {
++ test -n "$verbose" && echo " ... testing include-directories under /usr/local"
++ test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
++ test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
++ test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
++ test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
++ test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != NONE && \
++test -d $prefix && {
++ test -n "$verbose" && echo " ... testing include-directories under $prefix"
++ test -d $prefix/include && cf_search="$cf_search $prefix/include"
++ test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
++ test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
++ test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
++ test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != /opt && \
++test -d /opt && {
++ test -n "$verbose" && echo " ... testing include-directories under /opt"
++ test -d /opt/include && cf_search="$cf_search /opt/include"
++ test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
++ test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
++ test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
++ test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != /usr && \
++test -d /usr && {
++ test -n "$verbose" && echo " ... testing include-directories under /usr"
++ test -d /usr/include && cf_search="$cf_search /usr/include"
++ test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
++ test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
++ test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
++}
++
++test "$includedir" != NONE && \
++test "$includedir" != "/usr/include" && \
++test -d "$includedir" && {
++ test -d $includedir && cf_search="$cf_search $includedir"
++ test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
++}
++
++test "$oldincludedir" != NONE && \
++test "$oldincludedir" != "/usr/include" && \
++test -d "$oldincludedir" && {
++ test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
++ test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
++}
++
++
++ test -n "$verbose" && echo search path $cf_search
++ cf_save2_CPPFLAGS="$CPPFLAGS"
++ for cf_incdir in $cf_search
++ do
++
++for cf_add_incdir in $cf_incdir
++do
++ while true
++ do
++ case $cf_add_incdir in
++ /usr/include) # (vi
++ ;;
++ /usr/local/include) # (vi
++ if test "$GCC" = yes
+ then
+- CPPFLAGS="$CPPFLAGS -I$p/include"
+- LIBS="-L$p/lib $LIBS"
++ cf_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat > conftest.$ac_ext <<EOF
++#line 1755 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int main() {
++printf("Hello")
++; return 0; }
++EOF
++if { (eval echo configure:1762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ :
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ CPPFLAGS="$cf_save_CPPFLAGS"
++fi
++rm -f conftest*
++ fi
++ ;;
++ *) # (vi
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ ;;
++ esac
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ done
++done
++
++ for cf_header in \
++ ncurses.h \
++ curses.h
++ do
++
++ cat > conftest.$ac_ext <<EOF
++#line 1789 "configure"
++#include "confdefs.h"
++
++
++#include <$cf_header>
++int main() {
++
++#ifdef NCURSES_VERSION
++
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
++
++
++; return 0; }
++EOF
++if { (eval echo configure:1810: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ cf_cv_ncurses_h2=$cf_header
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ cf_cv_ncurses_h2=no
++fi
++rm -f conftest*
++
++ if test "$cf_cv_ncurses_h2" != no ; then
++ cf_cv_ncurses_h2=$cf_incdir/$cf_header
++ test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6
+ break
+ fi
+- fi
+- done
++ test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6
++ done
++ CPPFLAGS="$cf_save2_CPPFLAGS"
++ test "$cf_cv_ncurses_h2" != no && break
++ done
++ test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; }
+
+ fi
+
++echo "$ac_t""$cf_cv_ncurses_h2" 1>&6
++
++ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
++ cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
++ if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
++ cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
++ fi
++
++for cf_add_incdir in $cf_1st_incdir
++do
++ while true
++ do
++ case $cf_add_incdir in
++ /usr/include) # (vi
++ ;;
++ /usr/local/include) # (vi
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat > conftest.$ac_ext <<EOF
++#line 1857 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int main() {
++printf("Hello")
++; return 0; }
++EOF
++if { (eval echo configure:1864: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ :
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ CPPFLAGS="$cf_save_CPPFLAGS"
++fi
++rm -f conftest*
++ fi
++ ;;
++ *) # (vi
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ ;;
++ esac
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ done
++done
++
++
+ fi
+
++cat >> confdefs.h <<\EOF
++#define NCURSES 1
++EOF
+
+
+-# Check whether --with-ncurses or --without-ncurses was given.
+-if test "${with_ncurses+set}" = set; then
+- withval="$with_ncurses"
+- echo $ac_n "checking for initscr""... $ac_c" 1>&6
+-echo "configure:1016: checking for initscr" >&5
++case $cf_cv_ncurses_header in # (vi
++*ncurses.h)
++ cat >> confdefs.h <<\EOF
++#define HAVE_NCURSES_H 1
++EOF
++
++ ;;
++esac
++
++case $cf_cv_ncurses_header in # (vi
++ncurses/curses.h|ncurses/ncurses.h)
++ cat >> confdefs.h <<\EOF
++#define HAVE_NCURSES_NCURSES_H 1
++EOF
++
++ ;;
++ncursesw/curses.h|ncursesw/ncurses.h)
++ cat >> confdefs.h <<\EOF
++#define HAVE_NCURSESW_NCURSES_H 1
++EOF
++
++ ;;
++esac
++
++
++echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
++echo "configure:1919: checking for ncurses version" >&5
++if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++ cf_cv_ncurses_version=no
++ cf_tempfile=out$$
++ rm -f $cf_tempfile
++ if test "$cross_compiling" = yes; then
++
++
++ # This will not work if the preprocessor splits the line after the
++ # Autoconf token. The 'unproto' program does that.
++ cat > conftest.$ac_ext <<EOF
++#include <${cf_cv_ncurses_header-curses.h}>
++#undef Autoconf
++#ifdef NCURSES_VERSION
++Autoconf NCURSES_VERSION
++#else
++#ifdef __NCURSES_H
++Autoconf "old"
++#endif
++;
++#endif
++EOF
++ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
++ { (eval echo configure:1945: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
++ if test -f conftest.out ; then
++ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
++ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
++ rm -f conftest.out
++ fi
++
++else
++ cat > conftest.$ac_ext <<EOF
++#line 1954 "configure"
++#include "confdefs.h"
++
++#include <${cf_cv_ncurses_header-curses.h}>
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("$cf_tempfile", "w");
++#ifdef NCURSES_VERSION
++# ifdef NCURSES_VERSION_PATCH
++ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
++# else
++ fprintf(fp, "%s\n", NCURSES_VERSION);
++# endif
++#else
++# ifdef __NCURSES_H
++ fprintf(fp, "old\n");
++# else
++ make an error
++# endif
++#endif
++ exit(0);
++}
++EOF
++if { (eval echo configure:1978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++then
++
++ cf_cv_ncurses_version=`cat $cf_tempfile`
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++fi
++rm -fr conftest*
++fi
++
++ rm -f $cf_tempfile
++
++fi
++
++echo "$ac_t""$cf_cv_ncurses_version" 1>&6
++test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
++#define NCURSES 1
++EOF
++
++
++
++
++
++cf_nculib_root=ncurses
++ # This works, except for the special case where we find gpm, but
++ # ncurses is in a nonstandard location via $LIBS, and we really want
++ # to link gpm.
++cf_ncurses_LIBS=""
++cf_ncurses_SAVE="$LIBS"
++echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
++echo "configure:2009: checking for Gpm_Open in -lgpm" >&5
++ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lgpm $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2017 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char Gpm_Open();
++
++int main() {
++Gpm_Open()
++; return 0; }
++EOF
++if { (eval echo configure:2028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
++echo "configure:2044: checking for initscr in -lgpm" >&5
++ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lgpm $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2052 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr();
++
++int main() {
++initscr()
++; return 0; }
++EOF
++if { (eval echo configure:2063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ LIBS="$cf_ncurses_SAVE"
++else
++ echo "$ac_t""no" 1>&6
++cf_ncurses_LIBS="-lgpm"
++fi
++
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++
++case $host_os in #(vi
++freebsd*)
++ # This is only necessary if you are linking against an obsolete
++ # version of ncurses (but it should do no harm, since it's static).
++ echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
++echo "configure:2094: checking for tgoto in -lmytinfo" >&5
++ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lmytinfo $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2102 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto();
++
++int main() {
++tgoto()
++; return 0; }
++EOF
++if { (eval echo configure:2113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
++
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
++else
++ echo "$ac_t""no" 1>&6
++fi
++
++ ;;
++esac
++
++LIBS="$cf_ncurses_LIBS $LIBS"
++
++if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
++then
++ LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
++else
++
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
++ cf_libdir=""
++ echo $ac_n "checking for initscr""... $ac_c" 1>&6
++echo "configure:2146: checking for initscr" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1021 "configure"
++#line 2151 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr(); below. */
+@@ -1040,7 +2170,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_initscr=yes"
+ else
+@@ -1054,12 +2184,665 @@
+
+ if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- :
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ else
+ echo "$ac_t""no" 1>&6
+
+- echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
+-echo "configure:1063: checking for Gpm_Open in -lgpm" >&5
++ cf_save_LIBS="$LIBS"
++ echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6
++echo "configure:2194: checking for initscr in -l$cf_nculib_root" >&5
++ LIBS="-l$cf_nculib_root $LIBS"
++ cat > conftest.$ac_ext <<EOF
++#line 2197 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr()
++; return 0; }
++EOF
++if { (eval echo configure:2204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ echo "$ac_t""yes" 1>&6
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ echo "$ac_t""no" 1>&6
++ cf_search=""
++
++test -d $HOME && {
++ test -n "$verbose" && echo " ... testing lib-directories under $HOME"
++ test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
++ test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root"
++ test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
++}
++
++# For other stuff under the home directory, it should be sufficient to put
++# a symbolic link for $HOME/$cf_nculib_root to the actual package location:
++test -d $HOME/$cf_nculib_root && {
++ test -n "$verbose" && echo " ... testing lib-directories under $HOME/$cf_nculib_root"
++ test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib"
++ test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
++}
++
++test "$prefix" != /usr/local && \
++test -d /usr/local && {
++ test -n "$verbose" && echo " ... testing lib-directories under /usr/local"
++ test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
++ test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
++ test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
++ test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
++ test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
++}
++
++test "$prefix" != NONE && \
++test -d $prefix && {
++ test -n "$verbose" && echo " ... testing lib-directories under $prefix"
++ test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
++ test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root"
++ test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
++ test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib"
++ test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
++}
++
++test "$prefix" != /opt && \
++test -d /opt && {
++ test -n "$verbose" && echo " ... testing lib-directories under /opt"
++ test -d /opt/lib && cf_search="$cf_search /opt/lib"
++ test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root"
++ test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
++ test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib"
++ test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
++}
++
++test "$prefix" != /usr && \
++test -d /usr && {
++ test -n "$verbose" && echo " ... testing lib-directories under /usr"
++ test -d /usr/lib && cf_search="$cf_search /usr/lib"
++ test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root"
++ test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
++ test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib"
++}
++
++ for cf_libdir in $cf_search
++ do
++ echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6
++echo "configure:2273: checking for -l$cf_nculib_root in $cf_libdir" >&5
++ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
++ cat > conftest.$ac_ext <<EOF
++#line 2276 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr()
++; return 0; }
++EOF
++if { (eval echo configure:2283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ echo "$ac_t""yes" 1>&6
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++ break
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ echo "$ac_t""no" 1>&6
++ LIBS="$cf_save_LIBS"
++fi
++rm -f conftest*
++ done
++
++fi
++rm -f conftest*
++
++fi
++
++eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
++
++if test $cf_found_library = no ; then
++ { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; }
++fi
++
++
++fi
++
++if test -n "$cf_ncurses_LIBS" ; then
++ echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6
++echo "configure:2314: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++ cf_ncurses_SAVE="$LIBS"
++ for p in $cf_ncurses_LIBS ; do
++ q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
++ if test "$q" != "$LIBS" ; then
++ LIBS="$q"
++ fi
++ done
++ cat > conftest.$ac_ext <<EOF
++#line 2323 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
++; return 0; }
++EOF
++if { (eval echo configure:2330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ echo "$ac_t""yes" 1>&6
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ echo "$ac_t""no" 1>&6
++ LIBS="$cf_ncurses_SAVE"
++fi
++rm -f conftest*
++fi
++
++
++cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >> confdefs.h <<EOF
++#define $cf_nculib_ROOT 1
++EOF
++
++
++ LIB_NAME=ncurses
++ ;;
++ncursesw)
++ cf_cv_libtype=w
++
++echo $ac_n "checking for multibyte character support""... $ac_c" 1>&6
++echo "configure:2357: checking for multibyte character support" >&5
++if eval "test \"`echo '$''{'cf_cv_utf8_lib'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++ cf_save_LIBS="$LIBS"
++ cat > conftest.$ac_ext <<EOF
++#line 2364 "configure"
++#include "confdefs.h"
++
++#include <stdlib.h>
++int main() {
++putwc(0,0);
++; return 0; }
++EOF
++if { (eval echo configure:2372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ cf_cv_utf8_lib=yes
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ LIBS="-lutf8 $LIBS"
++ cat > conftest.$ac_ext <<EOF
++#line 2381 "configure"
++#include "confdefs.h"
++
++#include <libutf8.h>
++int main() {
++putwc(0,0);
++; return 0; }
++EOF
++if { (eval echo configure:2389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ cf_cv_utf8_lib=add-on
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ cf_cv_utf8_lib=no
++fi
++rm -f conftest*
++ LIBS="$cf_save_LIBS"
++
++fi
++rm -f conftest*
++fi
++
++echo "$ac_t""$cf_cv_utf8_lib" 1>&6
++
++# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
++# ncurses/ncursesw:
++if test "$cf_cv_utf8_lib" = "add-on" ; then
++ cat >> confdefs.h <<\EOF
++#define HAVE_LIBUTF8_H 1
++EOF
++
++ LIBS="-lutf8 $LIBS"
++fi
++
++
++
++cf_ncuhdr_root=ncursesw
++
++test -n "$cf_cv_curses_dir" && \
++test "$cf_cv_curses_dir" != "no" && \
++CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
++
++echo $ac_n "checking for $cf_ncuhdr_root header in include-path""... $ac_c" 1>&6
++echo "configure:2426: checking for $cf_ncuhdr_root header in include-path" >&5
++if eval "test \"`echo '$''{'cf_cv_ncurses_h'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
++ ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
++ for cf_header in $cf_header_list
++ do
++
++ cat > conftest.$ac_ext <<EOF
++#line 2437 "configure"
++#include "confdefs.h"
++
++
++#define _XOPEN_SOURCE_EXTENDED
++#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
++#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
++
++#include <$cf_header>
++int main() {
++
++#ifdef NCURSES_VERSION
++
++#ifndef WACS_BSSB
++ make an error
++#endif
++
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
++
++
++; return 0; }
++EOF
++if { (eval echo configure:2466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ cf_cv_ncurses_h=$cf_header
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ cf_cv_ncurses_h=no
++fi
++rm -f conftest*
++
++ test "$cf_cv_ncurses_h" != no && break
++ done
++
++fi
++
++echo "$ac_t""$cf_cv_ncurses_h" 1>&6
++
++if test "$cf_cv_ncurses_h" != no ; then
++ cf_cv_ncurses_header=$cf_cv_ncurses_h
++else
++echo $ac_n "checking for $cf_ncuhdr_root include-path""... $ac_c" 1>&6
++echo "configure:2489: checking for $cf_ncuhdr_root include-path" >&5
++if eval "test \"`echo '$''{'cf_cv_ncurses_h2'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++ test -n "$verbose" && echo
++ cf_search=""
++
++test -d $HOME && {
++ test -n "$verbose" && echo " ... testing include-directories under $HOME"
++ test -d $HOME/include && cf_search="$cf_search $HOME/include"
++ test -d $HOME/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root"
++ test -d $HOME/include/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/include/$cf_ncuhdr_root/include"
++}
++
++# For other stuff under the home directory, it should be sufficient to put
++# a symbolic link for $HOME/$cf_ncuhdr_root to the actual package location:
++test -d $HOME/$cf_ncuhdr_root && {
++ test -n "$verbose" && echo " ... testing include-directories under $HOME/$cf_ncuhdr_root"
++ test -d $HOME/$cf_ncuhdr_root/include && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include"
++ test -d $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $HOME/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != /usr/local && \
++test -d /usr/local && {
++ test -n "$verbose" && echo " ... testing include-directories under /usr/local"
++ test -d /usr/local/include && cf_search="$cf_search /usr/local/include"
++ test -d /usr/local/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root"
++ test -d /usr/local/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/include/$cf_ncuhdr_root/include"
++ test -d /usr/local/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include"
++ test -d /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/local/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != NONE && \
++test -d $prefix && {
++ test -n "$verbose" && echo " ... testing include-directories under $prefix"
++ test -d $prefix/include && cf_search="$cf_search $prefix/include"
++ test -d $prefix/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root"
++ test -d $prefix/include/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/include/$cf_ncuhdr_root/include"
++ test -d $prefix/$cf_ncuhdr_root/include && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include"
++ test -d $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search $prefix/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != /opt && \
++test -d /opt && {
++ test -n "$verbose" && echo " ... testing include-directories under /opt"
++ test -d /opt/include && cf_search="$cf_search /opt/include"
++ test -d /opt/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/include/$cf_ncuhdr_root"
++ test -d /opt/include/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/include/$cf_ncuhdr_root/include"
++ test -d /opt/$cf_ncuhdr_root/include && cf_search="$cf_search /opt/$cf_ncuhdr_root/include"
++ test -d /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root && cf_search="$cf_search /opt/$cf_ncuhdr_root/include/$cf_ncuhdr_root"
++}
++
++test "$prefix" != /usr && \
++test -d /usr && {
++ test -n "$verbose" && echo " ... testing include-directories under /usr"
++ test -d /usr/include && cf_search="$cf_search /usr/include"
++ test -d /usr/include/$cf_ncuhdr_root && cf_search="$cf_search /usr/include/$cf_ncuhdr_root"
++ test -d /usr/include/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/include/$cf_ncuhdr_root/include"
++ test -d /usr/$cf_ncuhdr_root/include && cf_search="$cf_search /usr/$cf_ncuhdr_root/include"
++}
++
++test "$includedir" != NONE && \
++test "$includedir" != "/usr/include" && \
++test -d "$includedir" && {
++ test -d $includedir && cf_search="$cf_search $includedir"
++ test -d $includedir/$cf_ncuhdr_root && cf_search="$cf_search $includedir/$cf_ncuhdr_root"
++}
++
++test "$oldincludedir" != NONE && \
++test "$oldincludedir" != "/usr/include" && \
++test -d "$oldincludedir" && {
++ test -d $oldincludedir && cf_search="$cf_search $oldincludedir"
++ test -d $oldincludedir/$cf_ncuhdr_root && cf_search="$cf_search $oldincludedir/$cf_ncuhdr_root"
++}
++
++
++ test -n "$verbose" && echo search path $cf_search
++ cf_save2_CPPFLAGS="$CPPFLAGS"
++ for cf_incdir in $cf_search
++ do
++
++for cf_add_incdir in $cf_incdir
++do
++ while true
++ do
++ case $cf_add_incdir in
++ /usr/include) # (vi
++ ;;
++ /usr/local/include) # (vi
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat > conftest.$ac_ext <<EOF
++#line 2584 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int main() {
++printf("Hello")
++; return 0; }
++EOF
++if { (eval echo configure:2591: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ :
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ CPPFLAGS="$cf_save_CPPFLAGS"
++fi
++rm -f conftest*
++ fi
++ ;;
++ *) # (vi
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ ;;
++ esac
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ done
++done
++
++ for cf_header in \
++ ncurses.h \
++ curses.h
++ do
++
++ cat > conftest.$ac_ext <<EOF
++#line 2618 "configure"
++#include "confdefs.h"
++
++
++#define _XOPEN_SOURCE_EXTENDED
++#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
++#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
++
++#include <$cf_header>
++int main() {
++
++#ifdef NCURSES_VERSION
++
++#ifndef WACS_BSSB
++ make an error
++#endif
++
++printf("%s\n", NCURSES_VERSION);
++#else
++#ifdef __NCURSES_H
++printf("old\n");
++#else
++ make an error
++#endif
++#endif
++
++
++; return 0; }
++EOF
++if { (eval echo configure:2647: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ cf_cv_ncurses_h2=$cf_header
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ cf_cv_ncurses_h2=no
++fi
++rm -f conftest*
++
++ if test "$cf_cv_ncurses_h2" != no ; then
++ cf_cv_ncurses_h2=$cf_incdir/$cf_header
++ test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&6
++ break
++ fi
++ test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&6
++ done
++ CPPFLAGS="$cf_save2_CPPFLAGS"
++ test "$cf_cv_ncurses_h2" != no && break
++ done
++ test "$cf_cv_ncurses_h2" = no && { echo "configure: error: not found" 1>&2; exit 1; }
++
++fi
++
++echo "$ac_t""$cf_cv_ncurses_h2" 1>&6
++
++ cf_1st_incdir=`echo $cf_cv_ncurses_h2 | sed -e 's%/[^/]*$%%'`
++ cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
++ if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
++ cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
++ fi
++
++for cf_add_incdir in $cf_1st_incdir
++do
++ while true
++ do
++ case $cf_add_incdir in
++ /usr/include) # (vi
++ ;;
++ /usr/local/include) # (vi
++ if test "$GCC" = yes
++ then
++ cf_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ cat > conftest.$ac_ext <<EOF
++#line 2694 "configure"
++#include "confdefs.h"
++#include <stdio.h>
++int main() {
++printf("Hello")
++; return 0; }
++EOF
++if { (eval echo configure:2701: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ :
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ CPPFLAGS="$cf_save_CPPFLAGS"
++fi
++rm -f conftest*
++ fi
++ ;;
++ *) # (vi
++ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
++ ;;
++ esac
++ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
++ test "$cf_top_incdir" = "$cf_add_incdir" && break
++ cf_add_incdir="$cf_top_incdir"
++ done
++done
++
++
++fi
++
++cat >> confdefs.h <<\EOF
++#define NCURSES 1
++EOF
++
++
++case $cf_cv_ncurses_header in # (vi
++*ncurses.h)
++ cat >> confdefs.h <<\EOF
++#define HAVE_NCURSES_H 1
++EOF
++
++ ;;
++esac
++
++case $cf_cv_ncurses_header in # (vi
++ncurses/curses.h|ncurses/ncurses.h)
++ cat >> confdefs.h <<\EOF
++#define HAVE_NCURSES_NCURSES_H 1
++EOF
++
++ ;;
++ncursesw/curses.h|ncursesw/ncurses.h)
++ cat >> confdefs.h <<\EOF
++#define HAVE_NCURSESW_NCURSES_H 1
++EOF
++
++ ;;
++esac
++
++
++echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
++echo "configure:2756: checking for ncurses version" >&5
++if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++ cf_cv_ncurses_version=no
++ cf_tempfile=out$$
++ rm -f $cf_tempfile
++ if test "$cross_compiling" = yes; then
++
++
++ # This will not work if the preprocessor splits the line after the
++ # Autoconf token. The 'unproto' program does that.
++ cat > conftest.$ac_ext <<EOF
++#include <${cf_cv_ncurses_header-curses.h}>
++#undef Autoconf
++#ifdef NCURSES_VERSION
++Autoconf NCURSES_VERSION
++#else
++#ifdef __NCURSES_H
++Autoconf "old"
++#endif
++;
++#endif
++EOF
++ cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
++ { (eval echo configure:2782: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
++ if test -f conftest.out ; then
++ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[^"]*"%%' -e 's%".*%%'`
++ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
++ rm -f conftest.out
++ fi
++
++else
++ cat > conftest.$ac_ext <<EOF
++#line 2791 "configure"
++#include "confdefs.h"
++
++#include <${cf_cv_ncurses_header-curses.h}>
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("$cf_tempfile", "w");
++#ifdef NCURSES_VERSION
++# ifdef NCURSES_VERSION_PATCH
++ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
++# else
++ fprintf(fp, "%s\n", NCURSES_VERSION);
++# endif
++#else
++# ifdef __NCURSES_H
++ fprintf(fp, "old\n");
++# else
++ make an error
++# endif
++#endif
++ exit(0);
++}
++EOF
++if { (eval echo configure:2815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++then
++
++ cf_cv_ncurses_version=`cat $cf_tempfile`
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++fi
++rm -fr conftest*
++fi
++
++ rm -f $cf_tempfile
++
++fi
++
++echo "$ac_t""$cf_cv_ncurses_version" 1>&6
++test "$cf_cv_ncurses_version" = no || cat >> confdefs.h <<\EOF
++#define NCURSES 1
++EOF
++
++
++
++
++
++cf_nculib_root=ncursesw
++ # This works, except for the special case where we find gpm, but
++ # ncurses is in a nonstandard location via $LIBS, and we really want
++ # to link gpm.
++cf_ncurses_LIBS=""
++cf_ncurses_SAVE="$LIBS"
++echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
++echo "configure:2846: checking for Gpm_Open in -lgpm" >&5
+ ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+@@ -1067,7 +2850,7 @@
+ ac_save_LIBS="$LIBS"
+ LIBS="-lgpm $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1071 "configure"
++#line 2854 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1078,7 +2861,7 @@
+ Gpm_Open()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:2865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1093,52 +2876,115 @@
+ fi
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- ac_tr_lib=HAVE_LIB`echo gpm | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+- cat >> confdefs.h <<EOF
+-#define $ac_tr_lib 1
+-EOF
++ echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
++echo "configure:2881: checking for initscr in -lgpm" >&5
++ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lgpm $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2889 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char initscr();
+
+- LIBS="-lgpm $LIBS"
++int main() {
++initscr()
++; return 0; }
++EOF
++if { (eval echo configure:2900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
++fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
+
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ LIBS="$cf_ncurses_SAVE"
+ else
+ echo "$ac_t""no" 1>&6
++cf_ncurses_LIBS="-lgpm"
+ fi
+
+- LIB_NAME=ncurses
+- for p in $HOME /usr/local /usr
+- do
+- if test -f $p/include/ncurses/curses.h
+- then
+- CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
+- test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
+- test $p != /usr && LIBS="-L$p/lib $LIBS"
+- break
+- elif test $p != /usr
+- then
+- if test -f $p/include/curses.h
+- then
+- CPPFLAGS="$CPPFLAGS -I$p/include"
+- LIBS="-L$p/lib $LIBS"
+- break
+- fi
+- fi
+- done
+-
++else
++ echo "$ac_t""no" 1>&6
+ fi
+
++
++case $host_os in #(vi
++freebsd*)
++ # This is only necessary if you are linking against an obsolete
++ # version of ncurses (but it should do no harm, since it's static).
++ echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
++echo "configure:2931: checking for tgoto in -lmytinfo" >&5
++ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
++if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++ ac_save_LIBS="$LIBS"
++LIBS="-lmytinfo $LIBS"
++cat > conftest.$ac_ext <<EOF
++#line 2939 "configure"
++#include "confdefs.h"
++/* Override any gcc2 internal prototype to avoid an error. */
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char tgoto();
++
++int main() {
++tgoto()
++; return 0; }
++EOF
++if { (eval echo configure:2950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=yes"
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ eval "ac_cv_lib_$ac_lib_var=no"
+ fi
++rm -f conftest*
++LIBS="$ac_save_LIBS"
+
++fi
++if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
++ echo "$ac_t""yes" 1>&6
++ cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"
++else
++ echo "$ac_t""no" 1>&6
++fi
+
++ ;;
++esac
+
++LIBS="$cf_ncurses_LIBS $LIBS"
+
+-echo $ac_n "checking for initscr""... $ac_c" 1>&6
+-echo "configure:1137: checking for initscr" >&5
++if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
++then
++ LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
++else
++
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=no'
++ cf_libdir=""
++ echo $ac_n "checking for initscr""... $ac_c" 1>&6
++echo "configure:2983: checking for initscr" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1142 "configure"
++#line 2988 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char initscr(); below. */
+@@ -1161,7 +3007,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_initscr=yes"
+ else
+@@ -1175,69 +3021,185 @@
+
+ if eval "test \"`echo '$ac_cv_func_'initscr`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- :
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
+ else
+ echo "$ac_t""no" 1>&6
+
+-echo $ac_n "checking for initscr in -l$LIB_NAME""... $ac_c" 1>&6
+-echo "configure:1184: checking for initscr in -l$LIB_NAME" >&5
+-ac_lib_var=`echo $LIB_NAME'_'initscr | sed 'y%./+-%__p_%'`
+-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- ac_save_LIBS="$LIBS"
+-LIBS="-l$LIB_NAME $LIBS"
+-cat > conftest.$ac_ext <<EOF
+-#line 1192 "configure"
++ cf_save_LIBS="$LIBS"
++ echo $ac_n "checking for initscr in -l$cf_nculib_root""... $ac_c" 1>&6
++echo "configure:3031: checking for initscr in -l$cf_nculib_root" >&5
++ LIBS="-l$cf_nculib_root $LIBS"
++ cat > conftest.$ac_ext <<EOF
++#line 3034 "configure"
+ #include "confdefs.h"
+-/* Override any gcc2 internal prototype to avoid an error. */
+-/* We use char because int might match the return type of a gcc2
+- builtin and then its argument prototype would still apply. */
+-char initscr();
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr()
++; return 0; }
++EOF
++if { (eval echo configure:3041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ echo "$ac_t""yes" 1>&6
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ echo "$ac_t""no" 1>&6
++ cf_search=""
++
++test -d $HOME && {
++ test -n "$verbose" && echo " ... testing lib-directories under $HOME"
++ test -d $HOME/lib && cf_search="$cf_search $HOME/lib"
++ test -d $HOME/lib/$cf_nculib_root && cf_search="$cf_search $HOME/lib/$cf_nculib_root"
++ test -d $HOME/lib/$cf_nculib_root/lib && cf_search="$cf_search $HOME/lib/$cf_nculib_root/lib"
++}
++
++# For other stuff under the home directory, it should be sufficient to put
++# a symbolic link for $HOME/$cf_nculib_root to the actual package location:
++test -d $HOME/$cf_nculib_root && {
++ test -n "$verbose" && echo " ... testing lib-directories under $HOME/$cf_nculib_root"
++ test -d $HOME/$cf_nculib_root/lib && cf_search="$cf_search $HOME/$cf_nculib_root/lib"
++ test -d $HOME/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $HOME/$cf_nculib_root/lib/$cf_nculib_root"
++}
++
++test "$prefix" != /usr/local && \
++test -d /usr/local && {
++ test -n "$verbose" && echo " ... testing lib-directories under /usr/local"
++ test -d /usr/local/lib && cf_search="$cf_search /usr/local/lib"
++ test -d /usr/local/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/lib/$cf_nculib_root"
++ test -d /usr/local/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/lib/$cf_nculib_root/lib"
++ test -d /usr/local/$cf_nculib_root/lib && cf_search="$cf_search /usr/local/$cf_nculib_root/lib"
++ test -d /usr/local/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /usr/local/$cf_nculib_root/lib/$cf_nculib_root"
++}
++
++test "$prefix" != NONE && \
++test -d $prefix && {
++ test -n "$verbose" && echo " ... testing lib-directories under $prefix"
++ test -d $prefix/lib && cf_search="$cf_search $prefix/lib"
++ test -d $prefix/lib/$cf_nculib_root && cf_search="$cf_search $prefix/lib/$cf_nculib_root"
++ test -d $prefix/lib/$cf_nculib_root/lib && cf_search="$cf_search $prefix/lib/$cf_nculib_root/lib"
++ test -d $prefix/$cf_nculib_root/lib && cf_search="$cf_search $prefix/$cf_nculib_root/lib"
++ test -d $prefix/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search $prefix/$cf_nculib_root/lib/$cf_nculib_root"
++}
++
++test "$prefix" != /opt && \
++test -d /opt && {
++ test -n "$verbose" && echo " ... testing lib-directories under /opt"
++ test -d /opt/lib && cf_search="$cf_search /opt/lib"
++ test -d /opt/lib/$cf_nculib_root && cf_search="$cf_search /opt/lib/$cf_nculib_root"
++ test -d /opt/lib/$cf_nculib_root/lib && cf_search="$cf_search /opt/lib/$cf_nculib_root/lib"
++ test -d /opt/$cf_nculib_root/lib && cf_search="$cf_search /opt/$cf_nculib_root/lib"
++ test -d /opt/$cf_nculib_root/lib/$cf_nculib_root && cf_search="$cf_search /opt/$cf_nculib_root/lib/$cf_nculib_root"
++}
++
++test "$prefix" != /usr && \
++test -d /usr && {
++ test -n "$verbose" && echo " ... testing lib-directories under /usr"
++ test -d /usr/lib && cf_search="$cf_search /usr/lib"
++ test -d /usr/lib/$cf_nculib_root && cf_search="$cf_search /usr/lib/$cf_nculib_root"
++ test -d /usr/lib/$cf_nculib_root/lib && cf_search="$cf_search /usr/lib/$cf_nculib_root/lib"
++ test -d /usr/$cf_nculib_root/lib && cf_search="$cf_search /usr/$cf_nculib_root/lib"
++}
+
++ for cf_libdir in $cf_search
++ do
++ echo $ac_n "checking for -l$cf_nculib_root in $cf_libdir""... $ac_c" 1>&6
++echo "configure:3110: checking for -l$cf_nculib_root in $cf_libdir" >&5
++ LIBS="-L$cf_libdir -l$cf_nculib_root $cf_save_LIBS"
++ cat > conftest.$ac_ext <<EOF
++#line 3113 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+ initscr()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=yes"
++ echo "$ac_t""yes" 1>&6
++ eval 'cf_cv_have_lib_'$cf_nculib_root'=yes'
++ break
+ else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+- eval "ac_cv_lib_$ac_lib_var=no"
++ echo "$ac_t""no" 1>&6
++ LIBS="$cf_save_LIBS"
+ fi
+ rm -f conftest*
+-LIBS="$ac_save_LIBS"
++ done
++
++fi
++rm -f conftest*
++
++fi
++
++eval 'cf_found_library=$cf_cv_have_lib_'$cf_nculib_root
+
++if test $cf_found_library = no ; then
++ { echo "configure: error: Cannot link $cf_nculib_root library" 1>&2; exit 1; }
+ fi
+-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+- echo "$ac_t""yes" 1>&6
+- ac_tr_lib=HAVE_LIB`echo $LIB_NAME | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+- cat >> confdefs.h <<EOF
+-#define $ac_tr_lib 1
+-EOF
+
+- LIBS="-l$LIB_NAME $LIBS"
+
++fi
++
++if test -n "$cf_ncurses_LIBS" ; then
++ echo $ac_n "checking if we can link $cf_nculib_root without $cf_ncurses_LIBS""... $ac_c" 1>&6
++echo "configure:3151: checking if we can link $cf_nculib_root without $cf_ncurses_LIBS" >&5
++ cf_ncurses_SAVE="$LIBS"
++ for p in $cf_ncurses_LIBS ; do
++ q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
++ if test "$q" != "$LIBS" ; then
++ LIBS="$q"
++ fi
++ done
++ cat > conftest.$ac_ext <<EOF
++#line 3160 "configure"
++#include "confdefs.h"
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
++; return 0; }
++EOF
++if { (eval echo configure:3167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ echo "$ac_t""yes" 1>&6
+ else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
++ LIBS="$cf_ncurses_SAVE"
+ fi
+-
++rm -f conftest*
+ fi
+
+-echo $ac_n "checking for form_driver in -lform""... $ac_c" 1>&6
+-echo "configure:1233: checking for form_driver in -lform" >&5
+-ac_lib_var=`echo form'_'form_driver | sed 'y%./+-%__p_%'`
++
++cf_nculib_ROOT=`echo "HAVE_LIB$cf_nculib_root" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++
++cat >> confdefs.h <<EOF
++#define $cf_nculib_ROOT 1
++EOF
++
++
++ LIB_NAME=ncursesw
++ ;;
++esac
++
++
++
++echo $ac_n "checking for form_driver in -lform$cf_cv_libtype""... $ac_c" 1>&6
++echo "configure:3195: checking for form_driver in -lform$cf_cv_libtype" >&5
++ac_lib_var=`echo form$cf_cv_libtype'_'form_driver | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_save_LIBS="$LIBS"
+-LIBS="-lform $LIBS"
++LIBS="-lform$cf_cv_libtype $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1241 "configure"
++#line 3203 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1248,7 +3210,7 @@
+ form_driver()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1263,28 +3225,28 @@
+ fi
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- ac_tr_lib=HAVE_LIB`echo form | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++ ac_tr_lib=HAVE_LIB`echo form$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+ #define $ac_tr_lib 1
+ EOF
+
+- LIBS="-lform $LIBS"
++ LIBS="-lform$cf_cv_libtype $LIBS"
+
+ else
+ echo "$ac_t""no" 1>&6
+ fi
+
+-echo $ac_n "checking for menu_driver in -lmenu""... $ac_c" 1>&6
+-echo "configure:1280: checking for menu_driver in -lmenu" >&5
+-ac_lib_var=`echo menu'_'menu_driver | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for menu_driver in -lmenu$cf_cv_libtype""... $ac_c" 1>&6
++echo "configure:3242: checking for menu_driver in -lmenu$cf_cv_libtype" >&5
++ac_lib_var=`echo menu$cf_cv_libtype'_'menu_driver | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_save_LIBS="$LIBS"
+-LIBS="-lmenu $LIBS"
++LIBS="-lmenu$cf_cv_libtype $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1288 "configure"
++#line 3250 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1295,7 +3257,7 @@
+ menu_driver()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1310,28 +3272,28 @@
+ fi
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- ac_tr_lib=HAVE_LIB`echo menu | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++ ac_tr_lib=HAVE_LIB`echo menu$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+ #define $ac_tr_lib 1
+ EOF
+
+- LIBS="-lmenu $LIBS"
++ LIBS="-lmenu$cf_cv_libtype $LIBS"
+
+ else
+ echo "$ac_t""no" 1>&6
+ fi
+
+-echo $ac_n "checking for new_panel in -lpanel""... $ac_c" 1>&6
+-echo "configure:1327: checking for new_panel in -lpanel" >&5
+-ac_lib_var=`echo panel'_'new_panel | sed 'y%./+-%__p_%'`
++echo $ac_n "checking for new_panel in -lpanel$cf_cv_libtype""... $ac_c" 1>&6
++echo "configure:3289: checking for new_panel in -lpanel$cf_cv_libtype" >&5
++ac_lib_var=`echo panel$cf_cv_libtype'_'new_panel | sed 'y%./+-%__p_%'`
+ if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ ac_save_LIBS="$LIBS"
+-LIBS="-lpanel $LIBS"
++LIBS="-lpanel$cf_cv_libtype $LIBS"
+ cat > conftest.$ac_ext <<EOF
+-#line 1335 "configure"
++#line 3297 "configure"
+ #include "confdefs.h"
+ /* Override any gcc2 internal prototype to avoid an error. */
+ /* We use char because int might match the return type of a gcc2
+@@ -1342,7 +3304,7 @@
+ new_panel()
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+ else
+@@ -1357,13 +3319,13 @@
+ fi
+ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+- ac_tr_lib=HAVE_LIB`echo panel | sed -e 's/[^a-zA-Z0-9_]/_/g' \
++ ac_tr_lib=HAVE_LIB`echo panel$cf_cv_libtype | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ cat >> confdefs.h <<EOF
+ #define $ac_tr_lib 1
+ EOF
+
+- LIBS="-lpanel $LIBS"
++ LIBS="-lpanel$cf_cv_libtype $LIBS"
+
+ else
+ echo "$ac_t""no" 1>&6
+@@ -1371,12 +3333,12 @@
+
+
+ echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
+-echo "configure:1375: checking return type of signal handlers" >&5
++echo "configure:3337: checking return type of signal handlers" >&5
+ if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1380 "configure"
++#line 3342 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <signal.h>
+@@ -1393,7 +3355,7 @@
+ int i;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1397: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:3359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_type_signal=void
+ else
+@@ -1412,93 +3374,13 @@
+
+
+
+-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+-echo "configure:1417: checking how to run the C preprocessor" >&5
+-# On Suns, sometimes $CPP names a directory.
+-if test -n "$CPP" && test -d "$CPP"; then
+- CPP=
+-fi
+-if test -z "$CPP"; then
+-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- # This must be in double quotes, not single quotes, because CPP may get
+- # substituted into the Makefile and "${CC-cc}" will confuse make.
+- CPP="${CC-cc} -E"
+- # On the NeXT, cc -E runs the code through the compiler's parser,
+- # not just through cpp.
+- cat > conftest.$ac_ext <<EOF
+-#line 1432 "configure"
+-#include "confdefs.h"
+-#include <assert.h>
+-Syntax Error
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- :
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- CPP="${CC-cc} -E -traditional-cpp"
+- cat > conftest.$ac_ext <<EOF
+-#line 1449 "configure"
+-#include "confdefs.h"
+-#include <assert.h>
+-Syntax Error
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- :
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- CPP="${CC-cc} -nologo -E"
+- cat > conftest.$ac_ext <<EOF
+-#line 1466 "configure"
+-#include "confdefs.h"
+-#include <assert.h>
+-Syntax Error
+-EOF
+-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+-if test -z "$ac_err"; then
+- :
+-else
+- echo "$ac_err" >&5
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- CPP=/lib/cpp
+-fi
+-rm -f conftest*
+-fi
+-rm -f conftest*
+-fi
+-rm -f conftest*
+- ac_cv_prog_CPP="$CPP"
+-fi
+- CPP="$ac_cv_prog_CPP"
+-else
+- ac_cv_prog_CPP="$CPP"
+-fi
+-echo "$ac_t""$CPP" 1>&6
+-
+ echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+-echo "configure:1497: checking for ANSI C header files" >&5
++echo "configure:3379: checking for ANSI C header files" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1502 "configure"
++#line 3384 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ #include <stdarg.h>
+@@ -1506,7 +3388,7 @@
+ #include <float.h>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1510: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:3392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1523,7 +3405,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1527 "configure"
++#line 3409 "configure"
+ #include "confdefs.h"
+ #include <string.h>
+ EOF
+@@ -1541,7 +3423,7 @@
+ if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat > conftest.$ac_ext <<EOF
+-#line 1545 "configure"
++#line 3427 "configure"
+ #include "confdefs.h"
+ #include <stdlib.h>
+ EOF
+@@ -1562,7 +3444,7 @@
+ :
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1566 "configure"
++#line 3448 "configure"
+ #include "confdefs.h"
+ #include <ctype.h>
+ #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+@@ -1573,7 +3455,7 @@
+ exit (0); }
+
+ EOF
+-if { (eval echo configure:1577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:3459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ :
+ else
+@@ -1597,12 +3479,12 @@
+ fi
+
+ echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
+-echo "configure:1601: checking whether time.h and sys/time.h may both be included" >&5
++echo "configure:3483: checking whether time.h and sys/time.h may both be included" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1606 "configure"
++#line 3488 "configure"
+ #include "confdefs.h"
+ #include <sys/types.h>
+ #include <sys/time.h>
+@@ -1611,7 +3493,7 @@
+ struct tm *tp;
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:3497: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_header_time=yes
+ else
+@@ -1648,17 +3530,17 @@
+ do
+ ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+ echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+-echo "configure:1652: checking for $ac_hdr" >&5
++echo "configure:3534: checking for $ac_hdr" >&5
+ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1657 "configure"
++#line 3539 "configure"
+ #include "confdefs.h"
+ #include <$ac_hdr>
+ EOF
+ ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+-{ (eval echo configure:1662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
++{ (eval echo configure:3544: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+ if test -z "$ac_err"; then
+ rm -rf conftest*
+@@ -1691,19 +3573,21 @@
+ napms \
+ resize_term \
+ resizeterm \
++slk_color \
+ strdup \
+ use_default_colors \
+ vsscanf \
++wchgat \
+ wresize \
+
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+-echo "configure:1702: checking for $ac_func" >&5
++echo "configure:3586: checking for $ac_func" >&5
+ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1707 "configure"
++#line 3591 "configure"
+ #include "confdefs.h"
+ /* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+@@ -1726,7 +3610,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+ else
+@@ -1751,8 +3635,85 @@
+ done
+
+
++cat > conftest.$ac_ext <<EOF
++#line 3640 "configure"
++#include "confdefs.h"
++
++#include <${cf_cv_ncurses_header-curses.h}>
++int main() {
++
++ (void) assume_default_colors (0, 0);
++ (void) curses_version ();
++ (void) define_key (0, 0);
++ (void) is_term_resized (0, 0);
++ (void) key_defined (0);
++ (void) keybound (0, 0);
++ (void) keyok (0, 0);
++ (void) resize_term (0, 0);
++ (void) resizeterm (0, 0);
++ (void) use_default_colors ();
++ (void) use_extended_names (0);
++ (void) wresize (0, 0, 0);
++
++; return 0; }
++EOF
++if { (eval echo configure:3661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++ rm -rf conftest*
++ cat >> confdefs.h <<\EOF
++#define NCURSES_EXT_FUNCS 1
++EOF
++
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++fi
++rm -f conftest*
++
++
++echo $ac_n "checking if sys/time.h works with sys/select.h""... $ac_c" 1>&6
++echo "configure:3675: checking if sys/time.h works with sys/select.h" >&5
++if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
++ echo $ac_n "(cached) $ac_c" 1>&6
++else
++
++cat > conftest.$ac_ext <<EOF
++#line 3681 "configure"
++#include "confdefs.h"
++
++#include <sys/types.h>
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
++#ifdef HAVE_SYS_SELECT_H
++#include <sys/select.h>
++#endif
++
++int main() {
++
++; return 0; }
++EOF
++if { (eval echo configure:3696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++ rm -rf conftest*
++ cf_cv_sys_time_select=yes
++else
++ echo "configure: failed program was:" >&5
++ cat conftest.$ac_ext >&5
++ rm -rf conftest*
++ cf_cv_sys_time_select=no
++fi
++rm -f conftest*
++
++fi
++
++echo "$ac_t""$cf_cv_sys_time_select" 1>&6
++test "$cf_cv_sys_time_select" = yes && cat >> confdefs.h <<\EOF
++#define HAVE_SYS_TIME_SELECT 1
++EOF
++
++
++
+ echo $ac_n "checking for function curses_version""... $ac_c" 1>&6
+-echo "configure:1756: checking for function curses_version" >&5
++echo "configure:3717: checking for function curses_version" >&5
+ if eval "test \"`echo '$''{'cf_cv_func_curses_version'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1761,10 +3722,10 @@
+ cf_cv_func_curses_version=unknown
+ else
+ cat > conftest.$ac_ext <<EOF
+-#line 1765 "configure"
++#line 3726 "configure"
+ #include "confdefs.h"
+
+-#include <curses.h>
++#include <${cf_cv_ncurses_header-curses.h}>
+ int main()
+ {
+ char temp[1024];
+@@ -1773,7 +3734,7 @@
+ }
+
+ EOF
+-if { (eval echo configure:1777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
++if { (eval echo configure:3738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+ then
+ cf_cv_func_curses_version=yes
+
+@@ -1796,8 +3757,9 @@
+ EOF
+
+
++
+ echo $ac_n "checking for alternate character set array""... $ac_c" 1>&6
+-echo "configure:1801: checking for alternate character set array" >&5
++echo "configure:3763: checking for alternate character set array" >&5
+ if eval "test \"`echo '$''{'cf_cv_curses_acs_map'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+@@ -1806,10 +3768,10 @@
+ for name in acs_map _acs_map __acs_map _nc_acs_map
+ do
+ cat > conftest.$ac_ext <<EOF
+-#line 1810 "configure"
++#line 3772 "configure"
+ #include "confdefs.h"
+
+-#include <curses.h>
++#include <${cf_cv_ncurses_header-curses.h}>
+
+ int main() {
+
+@@ -1817,7 +3779,7 @@
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ cf_cv_curses_acs_map=$name; break
+ else
+@@ -1836,69 +3798,60 @@
+ EOF
+
+
++
+ echo $ac_n "checking for wide alternate character set array""... $ac_c" 1>&6
+-echo "configure:1841: checking for wide alternate character set array" >&5
++echo "configure:3804: checking for wide alternate character set array" >&5
+ if eval "test \"`echo '$''{'cf_cv_curses_wacs_map'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+ else
+
+-cf_cv_curses_wacs_map=unknown
+-for name in wacs_map _wacs_map __wacs_map _nc_wacs
+-do
+-cat > conftest.$ac_ext <<EOF
+-#line 1850 "configure"
++ cf_cv_curses_wacs_map=unknown
++ for name in wacs_map _wacs_map __wacs_map _nc_wacs
++ do
++ cat > conftest.$ac_ext <<EOF
++#line 3813 "configure"
+ #include "confdefs.h"
+
+ #ifndef _XOPEN_SOURCE_EXTENDED
+ #define _XOPEN_SOURCE_EXTENDED
+ #endif
+-#include <curses.h>
+-
++#include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+-
+-$name['k'] = *WACS_PLUS
+-
++$name['k'] = *WACS_PLUS
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
++if { (eval echo configure:3824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+- cf_cv_curses_wacs_map=$name; break
++ cf_cv_curses_wacs_map=$name
++ break
+ else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest*
+-done
+-
++ done
+ fi
+
+ echo "$ac_t""$cf_cv_curses_wacs_map" 1>&6
+
+-test "$cf_cv_curses_wacs_map" != unknown && cat >> confdefs.h <<EOF
+-#define CURSES_WACS_ARRAY $cf_cv_curses_wacs_map
+-EOF
+-
+-
+
+-
+-
+-echo $ac_n "checking for type attr_t in curses.h""... $ac_c" 1>&6
+-echo "configure:1887: checking for type attr_t in curses.h" >&5
++echo $ac_n "checking for type attr_t in ${cf_cv_ncurses_header-curses.h}""... $ac_c" 1>&6
++echo "configure:3840: checking for type attr_t in ${cf_cv_ncurses_header-curses.h}" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 1889 "configure"
++#line 3842 "configure"
+ #include "confdefs.h"
+
+ #ifndef _XOPEN_SOURCE_EXTENDED
+ #define _XOPEN_SOURCE_EXTENDED
+ #endif
+-#include <curses.h>
++#include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+
+ attr_t foo
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:3855: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_result=yes
+ else
+@@ -1910,7 +3863,7 @@
+ rm -f conftest*
+ echo "$ac_t""$cf_result" 1>&6
+ if test $cf_result = yes ; then
+-
++
+ cf_result=`echo "have_type_attr_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+ cat >> confdefs.h <<EOF
+@@ -1925,23 +3878,23 @@
+ fi
+
+
+-echo $ac_n "checking for type mbstate_t in curses.h""... $ac_c" 1>&6
+-echo "configure:1930: checking for type mbstate_t in curses.h" >&5
++echo $ac_n "checking for type mbstate_t in ${cf_cv_ncurses_header-curses.h}""... $ac_c" 1>&6
++echo "configure:3883: checking for type mbstate_t in ${cf_cv_ncurses_header-curses.h}" >&5
+ cat > conftest.$ac_ext <<EOF
+-#line 1932 "configure"
++#line 3885 "configure"
+ #include "confdefs.h"
+
+ #ifndef _XOPEN_SOURCE_EXTENDED
+ #define _XOPEN_SOURCE_EXTENDED
+ #endif
+-#include <curses.h>
++#include <${cf_cv_ncurses_header-curses.h}>
+ int main() {
+
+ mbstate_t foo
+
+ ; return 0; }
+ EOF
+-if { (eval echo configure:1945: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
++if { (eval echo configure:3898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cf_result=yes
+ else
+@@ -1953,7 +3906,7 @@
+ rm -f conftest*
+ echo "$ac_t""$cf_result" 1>&6
+ if test $cf_result = yes ; then
+-
++
+ cf_result=`echo "have_type_mbstate_t" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+ cat >> confdefs.h <<EOF
+@@ -1969,48 +3922,6 @@
+
+
+
+-echo $ac_n "checking if sys/time.h works with sys/select.h""... $ac_c" 1>&6
+-echo "configure:1974: checking if sys/time.h works with sys/select.h" >&5
+-if eval "test \"`echo '$''{'cf_cv_sys_time_select'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+-
+-cat > conftest.$ac_ext <<EOF
+-#line 1980 "configure"
+-#include "confdefs.h"
+-
+-#include <sys/types.h>
+-#ifdef HAVE_SYS_TIME_H
+-#include <sys/time.h>
+-#endif
+-#ifdef HAVE_SYS_SELECT_H
+-#include <sys/select.h>
+-#endif
+-
+-int main() {
+-
+-; return 0; }
+-EOF
+-if { (eval echo configure:1995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+- rm -rf conftest*
+- cf_cv_sys_time_select=yes
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- cf_cv_sys_time_select=no
+-fi
+-rm -f conftest*
+-
+-fi
+-
+-echo "$ac_t""$cf_cv_sys_time_select" 1>&6
+-test "$cf_cv_sys_time_select" = yes && cat >> confdefs.h <<\EOF
+-#define HAVE_SYS_TIME_SELECT 1
+-EOF
+-
+-
+-
+ trap '' 1 2 15
+ cat > confcache <<\EOF
+ # This file is a shell script that caches the results of configure
+@@ -2101,7 +4012,7 @@
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+- echo "$CONFIG_STATUS generated by autoconf version 2.13.20000819"
++ echo "$CONFIG_STATUS generated by autoconf version 2.13.20020210"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+@@ -2143,7 +4054,13 @@
+ s%@oldincludedir@%$oldincludedir%g
+ s%@infodir@%$infodir%g
+ s%@mandir@%$mandir%g
++s%@host@%$host%g
++s%@host_alias@%$host_alias%g
++s%@host_cpu@%$host_cpu%g
++s%@host_vendor@%$host_vendor%g
++s%@host_os@%$host_os%g
+ s%@CC@%$CC%g
++s%@CPP@%$CPP%g
+ s%@CC_G_OPT@%$CC_G_OPT%g
+ s%@CC_SHARED_OPTS@%$CC_SHARED_OPTS%g
+ s%@DFT_DEP_SUFFIX@%$DFT_DEP_SUFFIX%g
+@@ -2168,7 +4085,6 @@
+ s%@TEST_DEPS@%$TEST_DEPS%g
+ s%@cf_cv_abi_version@%$cf_cv_abi_version%g
+ s%@cf_cv_rel_version@%$cf_cv_rel_version%g
+-s%@CPP@%$CPP%g
+
+ CEOF
+ EOF
+@@ -2379,11 +4295,9 @@
+ # work consistently for different make-programs (the '\$(MODEL)/' confuses
+ # some, and the '\$x' confuses others).
+ TEST_EOF
+-LIST=`make echo_tests`
+-LAST=`make echo_suffix`
+-for n in $LIST
++LIST=`sed -e 's/[ ].*//' -e '/^[#@]/d' $srcdir/modules`
++for N in $LIST
+ do
+- N=`echo $n | sed -e s/${LAST}\$//`
+ cat >>Makefile <<TEST_EOF
+
+ \$(MODEL)/$N.o : $N.c \\
+diff -urNd -urNd ncurses-5.3/test/configure.in ncurses-5.3.20030906.orig/test/configure.in
+--- ncurses-5.3/test/configure.in Sat Sep 7 11:55:23 2002
++++ ncurses-5.3.20030906.orig/test/configure.in Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ dnl***************************************************************************
+-dnl Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
++dnl Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ dnl *
+ dnl Permission is hereby granted, free of charge, to any person obtaining a *
+ dnl copy of this software and associated documentation files (the *
+@@ -28,7 +28,7 @@
+ dnl
+ dnl Author: Thomas E. Dickey 1996, etc.
+ dnl
+-dnl $Id: configure.in,v 1.36 2002/09/07 16:55:23 tom Exp $
++dnl $Id: configure.in,v 1.43 2003/05/17 21:56:58 tom Exp $
+ dnl This is a simple configuration-script for the ncurses test programs that
+ dnl allows the test-directory to be separately configured against a reference
+ dnl system (i.e., sysvr4 curses)
+@@ -38,11 +38,16 @@
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20000819)
++AC_PREREQ(2.13.20020210)
+ AC_INIT(ncurses.c)
+ AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
+
++CF_INHERIT_SCRIPT(config.guess)
++CF_INHERIT_SCRIPT(config.sub)
++CF_CHECK_CACHE
++
+ AC_PROG_CC
++AC_PROG_CPP
+
+ dnl Things that we don't need (or must override) if we're not building ncurses
+ CC_G_OPT="-g" AC_SUBST(CC_G_OPT)
+@@ -71,6 +76,11 @@
+ cf_cv_abi_version="" AC_SUBST(cf_cv_abi_version)
+ cf_cv_rel_version="" AC_SUBST(cf_cv_rel_version)
+
++cf_cv_screen=curses
++cf_cv_libtype=
++
++CF_WITH_CURSES_DIR
++
+ dnl SunOS 4.x
+ AC_ARG_WITH(5lib,
+ [ --with-5lib use SunOS sysv-libraries],
+@@ -78,92 +88,44 @@
+ CPPFLAGS="$CPPFLAGS -I/usr/5include"])
+
+ dnl ---------------------------------------------------------------------------
+-dnl Check for libutf8
+-AC_DEFUN([CF_LIBUTF8],
+-[
+-AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
+- cf_save_LIBS="$LIBS"
+- LIBS="-lutf8 $LIBS"
+-AC_TRY_LINK([
+-#include <libutf8.h>],[putwc(0,0);],
+- [cf_cv_libutf8=yes],
+- [cf_cv_libutf8=no])
+- LIBS="$cf_save_LIBS"
+-])
+-
+-if test "$cf_cv_libutf8" = yes ; then
+- AC_DEFINE(HAVE_LIBUTF8_H)
+- LIBS="-lutf8 $LIBS"
+-fi
+-])dnl
+-
+-dnl ---------------------------------------------------------------------------
+ dnl NcursesW, installed in conventional location
+ AC_ARG_WITH(ncursesw,
+ [ --with-ncursesw use wide ncurses-libraries (installed)],
+- [
+- AC_DEFINE(_GNU_SOURCE)
+- AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
+- AC_CHECK_FUNC(initscr,,[
+- AC_CHECK_LIB(gpm,Gpm_Open)
+- LIB_NAME=ncursesw
+- AC_CHECK_FUNC(putwc,,[CF_LIBUTF8])
+- for p in $HOME /usr/local /usr
+- do
+- if test -f $p/include/ncursesw/curses.h
+- then
+- CPPFLAGS="$CPPFLAGS -I$p/include/ncursesw"
+- test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
+- test $p != /usr && LIBS="-L$p/lib $LIBS"
+- break
+- elif test $p != /usr
+- then
+- if test -f $p/include/curses.h
+- then
+- CPPFLAGS="$CPPFLAGS -I$p/include"
+- LIBS="-L$p/lib $LIBS"
+- break
+- fi
+- fi
+- done
+- ],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
++ [cf_cv_screen=ncursesw])
+
+ dnl Ncurses, installed in conventional location
+ AC_ARG_WITH(ncurses,
+ [ --with-ncurses use ncurses-libraries (installed)],
+- [AC_CHECK_FUNC(initscr,,[
+- AC_CHECK_LIB(gpm,Gpm_Open)
+- LIB_NAME=ncurses
+- for p in $HOME /usr/local /usr
+- do
+- if test -f $p/include/ncurses/curses.h
+- then
+- CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
+- test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
+- test $p != /usr && LIBS="-L$p/lib $LIBS"
+- break
+- elif test $p != /usr
+- then
+- if test -f $p/include/curses.h
+- then
+- CPPFLAGS="$CPPFLAGS -I$p/include"
+- LIBS="-L$p/lib $LIBS"
+- break
+- fi
+- fi
+- done
+- ],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
++ [cf_cv_screen=ncurses])
++
++case $cf_cv_screen in
++curses)
++ CF_CURSES_CPPFLAGS
++ CF_NCURSES_VERSION
++ CF_CURSES_LIBS
++ ;;
++ncurses)
++ CF_NCURSES_CPPFLAGS
++ CF_NCURSES_LIBS
++ LIB_NAME=ncurses
++ ;;
++ncursesw)
++ cf_cv_libtype=w
++ CF_UTF8_LIB
++ CF_NCURSES_CPPFLAGS(ncursesw)
++ CF_NCURSES_LIBS(ncursesw)
++ LIB_NAME=ncursesw
++ ;;
++esac
+
+ dnl If we've not specified a library, assume we're using sysvr4 libraries
+ dnl installed conventionally (e.g., SunOS 5.x - solaris).
+
+ dnl Autoconf builds up the $LIBS in reverse order
+
+-AC_CHECK_FUNC(initscr,,[
+-AC_CHECK_LIB($LIB_NAME,initscr)])
+-AC_CHECK_LIB(form,form_driver)
+-AC_CHECK_LIB(menu,menu_driver)
+-AC_CHECK_LIB(panel,new_panel)
++AC_CHECK_LIB(form$cf_cv_libtype,form_driver)
++AC_CHECK_LIB(menu$cf_cv_libtype,menu_driver)
++AC_CHECK_LIB(panel$cf_cv_libtype,new_panel)
+
+ AC_TYPE_SIGNAL
+
+@@ -190,117 +152,37 @@
+ napms \
+ resize_term \
+ resizeterm \
++slk_color \
+ strdup \
+ use_default_colors \
+ vsscanf \
++wchgat \
+ wresize \
+ )
+
+-dnl ---------------------------------------------------------------------------
+-dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
+-dnl It's a character string "SVR4", not documented.
+-AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
+-AC_TRY_RUN([
+-#include <curses.h>
+-int main()
+-{
+- char temp[1024];
+- sprintf(temp, "%s\n", curses_version());
+- exit(0);
+-}]
+-,[cf_cv_func_curses_version=yes]
+-,[cf_cv_func_curses_version=no]
+-,[cf_cv_func_curses_version=unknown])
+-rm -f core])
+-test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
+-
+-dnl ---------------------------------------------------------------------------
+-dnl Check for likely values of acs_map[]:
+-AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
+-cf_cv_curses_acs_map=unknown
+-for name in acs_map _acs_map __acs_map _nc_acs_map
+-do
+ AC_TRY_LINK([
+-#include <curses.h>
+-],[
+-$name['k'] = ACS_PLUS
+-],[cf_cv_curses_acs_map=$name; break])
+-done
+-])
+-
+-test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
+-
+-dnl ---------------------------------------------------------------------------
+-dnl Check for likely values of wacs_map[]:
+-AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
+-cf_cv_curses_wacs_map=unknown
+-for name in wacs_map _wacs_map __wacs_map _nc_wacs
+-do
+-AC_TRY_LINK([
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
+-#include <curses.h>
+-],[
+-$name['k'] = *WACS_PLUS
+-],[cf_cv_curses_wacs_map=$name; break])
+-done
+-])
+-
+-test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map)
+-
+-dnl ---------------------------------------------------------------------------
+-dnl Make an uppercase version of a variable
+-dnl $1=uppercase($2)
+-AC_DEFUN([CF_UPPER],
+-[
+-$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+-])dnl
+-
+-dnl ---------------------------------------------------------------------------
+-dnl Check if curses.h defines the given type
+-AC_DEFUN([CF_CURSES_TYPE],
++#include <${cf_cv_ncurses_header-curses.h}>],
+ [
+-AC_MSG_CHECKING(for type $1 in curses.h)
+-AC_TRY_COMPILE([
+-#ifndef _XOPEN_SOURCE_EXTENDED
+-#define _XOPEN_SOURCE_EXTENDED
+-#endif
+-#include <curses.h>],[
+-$1 foo
+-],cf_result=yes,cf_result=no)
+-AC_MSG_RESULT($cf_result)
+-if test $cf_result = yes ; then
+- CF_UPPER(cf_result,have_type_$1)
+- AC_DEFINE_UNQUOTED($cf_result)
+-else
+- AC_DEFINE_UNQUOTED($1,$2)
+-fi
+-])dnl
+-
+-CF_CURSES_TYPE(attr_t,long)
+-CF_CURSES_TYPE(mbstate_t,long)
+-
+-dnl ---------------------------------------------------------------------------
+-dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
+-dnl older SCO configurations.
+-dnl [CF_SYS_TIME_SELECT]
++ (void) assume_default_colors (0, 0);
++ (void) curses_version ();
++ (void) define_key (0, 0);
++ (void) is_term_resized (0, 0);
++ (void) key_defined (0);
++ (void) keybound (0, 0);
++ (void) keyok (0, 0);
++ (void) resize_term (0, 0);
++ (void) resizeterm (0, 0);
++ (void) use_default_colors ();
++ (void) use_extended_names (0);
++ (void) wresize (0, 0, 0);
++ ],[AC_DEFINE(NCURSES_EXT_FUNCS)])
+
+-AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
+-AC_CACHE_VAL(cf_cv_sys_time_select,[
+-AC_TRY_COMPILE([
+-#include <sys/types.h>
+-#ifdef HAVE_SYS_TIME_H
+-#include <sys/time.h>
+-#endif
+-#ifdef HAVE_SYS_SELECT_H
+-#include <sys/select.h>
+-#endif
+-],[],[cf_cv_sys_time_select=yes],
+- [cf_cv_sys_time_select=no])
+- ])
+-AC_MSG_RESULT($cf_cv_sys_time_select)
+-test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
++CF_SYS_TIME_SELECT
++CF_FUNC_CURSES_VERSION
++CF_CURSES_ACS_MAP
++CF_CURSES_WACS_MAP
++CF_CURSES_CHECK_TYPE(attr_t,long)
++CF_CURSES_CHECK_TYPE(mbstate_t,long)
+
+ dnl ---------------------------------------------------------------------------
+
+@@ -311,11 +193,9 @@
+ # work consistently for different make-programs (the '\$(MODEL)/' confuses
+ # some, and the '\$x' confuses others).
+ TEST_EOF
+-LIST=`make echo_tests`
+-LAST=`make echo_suffix`
+-for n in $LIST
++LIST=`sed -e 's/[[ ]].*//' -e '/^[[#@]]/d' $srcdir/modules`
++for N in $LIST
+ do
+- N=`echo $n | sed -e s/${LAST}\$//`
+ cat >>Makefile <<TEST_EOF
+
+ \$(MODEL)/$N.o : $N.c \\
+diff -urNd -urNd ncurses-5.3/test/demo_defkey.c ncurses-5.3.20030906.orig/test/demo_defkey.c
+--- ncurses-5.3/test/demo_defkey.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/demo_defkey.c Sun Jul 20 14:02:08 2003
+@@ -0,0 +1,250 @@
++/*
++ * $Id: demo_defkey.c,v 1.11 2003/05/17 23:33:28 tom Exp $
++ *
++ * Demonstrate the define_key() function.
++ * Thomas Dickey - 2002/11/23
++ */
++
++#include <test.priv.h>
++
++#if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS
++
++#include <term.h>
++
++#define MY_LOGFILE "demo_defkey.log"
++
++/*
++ * Log the most recently-written line to our logfile
++ */
++static void
++log_last_line(WINDOW *win)
++{
++ FILE *fp;
++ int y, x, n;
++ char temp[256];
++
++ if ((fp = fopen(MY_LOGFILE, "a")) != 0) {
++ getyx(win, y, x);
++ wmove(win, y - 1, 0);
++ n = winnstr(win, temp, sizeof(temp));
++ while (n-- > 0) {
++ if (isspace(temp[n]))
++ temp[n] = '\0';
++ else
++ break;
++ }
++ wmove(win, y, x);
++ fprintf(fp, "%s\n", temp);
++ fclose(fp);
++ }
++}
++
++/*
++ * Convert a character to visible form.
++ */
++static char *
++visichar(int ch)
++{
++ static char temp[10];
++
++ ch = UChar(ch);
++ if (ch == '\\') {
++ strcpy(temp, "\\\\");
++ } else if (ch == '\033') {
++ strcpy(temp, "\\E");
++ } else if (ch < ' ') {
++ sprintf(temp, "\\%03o", ch);
++ } else if (ch >= 127) {
++ sprintf(temp, "\\%03o", ch);
++ } else {
++ sprintf(temp, "%c", ch);
++ }
++ return temp;
++}
++
++/*
++ * Convert a string to visible form.
++ */
++static char *
++visible(const char *string)
++{
++ char *result = 0;
++ unsigned need = 1;
++ int pass;
++ int n;
++
++ if (string != 0 && *string != '\0') {
++ for (pass = 0; pass < 2; ++pass) {
++ for (n = 0; string[n] != '\0'; ++n) {
++ char temp[80];
++ strcpy(temp, visichar(string[n]));
++ if (pass)
++ strcat(result, temp);
++ else
++ need += strlen(temp);
++ }
++ if (!pass)
++ result = calloc(need, 1);
++ }
++ } else {
++ result = calloc(1, 1);
++ }
++ return result;
++}
++
++static void
++really_define_key(WINDOW *win, const char *new_string, int code)
++{
++ int rc;
++ const char *code_name = keyname(code);
++ char *old_string;
++ char *vis_string = 0;
++ char temp[80];
++
++ if (code_name == 0) {
++ sprintf(temp, "Keycode %d", code);
++ code_name = temp;
++ }
++
++ if ((old_string = keybound(code, 0)) != 0) {
++ wprintw(win, "%s is %s\n",
++ code_name,
++ vis_string = visible(old_string));
++ } else {
++ wprintw(win, "%s is not bound\n",
++ code_name);
++ }
++ log_last_line(win);
++ if (vis_string != 0) {
++ free(vis_string);
++ vis_string = 0;
++ }
++
++ vis_string = visible(new_string);
++ if ((rc = key_defined(new_string)) > 0) {
++ wprintw(win, "%s was bound to %s\n", vis_string, keyname(rc));
++ log_last_line(win);
++ } else if (new_string != 0 && rc < 0) {
++ wprintw(win, "%s conflicts with longer strings\n", vis_string);
++ log_last_line(win);
++ }
++ rc = define_key(new_string, code);
++ if (rc == ERR) {
++ wprintw(win, "%s unchanged\n", code_name);
++ log_last_line(win);
++ } else if (new_string != 0) {
++ wprintw(win, "%s is now bound to %s\n",
++ vis_string,
++ code_name);
++ log_last_line(win);
++ } else if (old_string != 0) {
++ wprintw(win, "%s deleted\n", code_name);
++ log_last_line(win);
++ }
++ if (vis_string != 0 && *vis_string != 0)
++ free(vis_string);
++ if (old_string != 0)
++ free(old_string);
++}
++
++static void
++duplicate(WINDOW *win, NCURSES_CONST char *name, int code)
++{
++ char *value = tigetstr(name);
++
++ if (value != 0) {
++ const char *prefix = 0;
++ char temp[BUFSIZ];
++
++ if (!strncmp(value, "\033[", 2)) {
++ prefix = "\033O";
++ } else if (!strncmp(value, "\033O", 2)) {
++ prefix = "\033[";
++ }
++ if (prefix != 0) {
++ sprintf(temp, "%s%s", prefix, value + 2);
++ really_define_key(win, temp, code);
++ }
++ }
++}
++
++static void
++redefine(WINDOW *win, char *string, int code)
++{
++ really_define_key(win, string, code);
++}
++
++static void
++remove_definition(WINDOW *win, int code)
++{
++ really_define_key(win, 0, code);
++}
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ char *fkeys[12];
++ int n;
++ int ch;
++ WINDOW *win;
++
++ unlink(MY_LOGFILE);
++
++ initscr();
++ (void) cbreak(); /* take input chars one at a time, no wait for \n */
++ (void) noecho(); /* don't echo input */
++
++ printw("This demo is best on xterm: it reverses the definitions for f1-f12,\n");
++ printw("adds duplicate definitions for cursor application and normal modes,\n");
++ printw("and removes any definitions for the mini keypad. Type any of those:\n");
++ refresh();
++
++ win = newwin(LINES - 3, COLS, 3, 0);
++ scrollok(win, TRUE);
++ keypad(win, TRUE);
++ wmove(win, 0, 0);
++
++ /* we do the define_key() calls after keypad(), since the first call to
++ * keypad() initializes the corresponding data.
++ */
++ for (n = 0; n < 12; ++n) {
++ char name[10];
++ sprintf(name, "kf%d", n + 1);
++ fkeys[n] = tigetstr(name);
++ }
++ for (n = 0; n < 12; ++n) {
++ redefine(win, fkeys[11 - n], KEY_F(n + 1));
++ }
++
++ duplicate(win, "kcub1", KEY_LEFT);
++ duplicate(win, "kcuu1", KEY_UP);
++ duplicate(win, "kcud1", KEY_DOWN);
++ duplicate(win, "kcuf1", KEY_RIGHT);
++
++ remove_definition(win, KEY_A1);
++ remove_definition(win, KEY_A3);
++ remove_definition(win, KEY_B2);
++ remove_definition(win, KEY_C1);
++ remove_definition(win, KEY_C3);
++
++ really_define_key(win, "\033O", 1023);
++
++ while ((ch = wgetch(win)) != ERR) {
++ const char *name = keyname(ch);
++ wprintw(win, "Keycode %d, name %s\n",
++ ch,
++ name != 0 ? name : "<null>");
++ log_last_line(win);
++ wclrtoeol(win);
++ }
++ endwin();
++ return EXIT_SUCCESS;
++}
++#else
++int
++main(void)
++{
++ printf("This program requires the ncurses library\n");
++ ExitProgram(EXIT_FAILURE);
++}
++#endif
+diff -urNd -urNd ncurses-5.3/test/demo_forms.c ncurses-5.3.20030906.orig/test/demo_forms.c
+--- ncurses-5.3/test/demo_forms.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/demo_forms.c Tue May 13 20:08:23 2003
+@@ -0,0 +1,295 @@
++/*
++ * $Id: demo_forms.c,v 1.3 2003/05/03 22:08:20 tom Exp $
++ *
++ * Demonstrate a variety of functions from the form library.
++ * Thomas Dickey - 2003/4/26
++ */
++/*
++TYPE_ALNUM -
++TYPE_ENUM -
++TYPE_INTEGER -
++TYPE_IPV4 -
++TYPE_NUMERIC -
++TYPE_REGEXP -
++data_ahead -
++data_behind -
++dup_field -
++dynamic_field_info -
++field_arg -
++field_back -
++field_count -
++field_fore -
++field_init -
++field_just -
++field_opts_on -
++field_pad -
++field_status -
++field_term -
++field_type -
++form_init -
++form_opts -
++form_opts_off -
++form_opts_on -
++form_page -
++form_request_by_name -
++form_term -
++form_userptr -
++free_fieldtype -
++link_field -
++link_fieldtype -
++move_field -
++new_page -
++pos_form_cursor -
++set_current_field -
++set_field_fore -
++set_field_init -
++set_field_pad -
++set_field_status -
++set_field_term -
++set_fieldtype_arg -
++set_fieldtype_choice -
++set_form_fields -
++set_form_init -
++set_form_opts -
++set_form_page -
++set_form_term -
++set_form_userptr -
++set_max_field -
++*/
++
++#include <test.priv.h>
++
++#if USE_LIBFORM
++
++#include <edit_field.h>
++
++static FIELD *
++make_label(int frow, int fcol, NCURSES_CONST char *label)
++{
++ FIELD *f = new_field(1, strlen(label), frow, fcol, 0, 0);
++
++ if (f) {
++ set_field_buffer(f, 0, label);
++ set_field_opts(f, field_opts(f) & ~O_ACTIVE);
++ }
++ return (f);
++}
++
++/*
++ * Define each field with an extra one, for reflecting "actual" text.
++ */
++static FIELD *
++make_field(int frow, int fcol, int rows, int cols)
++{
++ FIELD *f = new_field(rows, cols, frow, fcol, 0, 1);
++
++ if (f) {
++ set_field_back(f, A_UNDERLINE);
++ set_field_userptr(f, (void *) 0);
++ }
++ return (f);
++}
++
++static void
++display_form(FORM * f)
++{
++ WINDOW *w;
++ int rows, cols;
++
++ scale_form(f, &rows, &cols);
++
++ /*
++ * Put the form at the upper-left corner of the display, with just a box
++ * around it.
++ */
++ if ((w = newwin(rows + 2, cols + 4, 0, 0)) != (WINDOW *) 0) {
++ set_form_win(f, w);
++ set_form_sub(f, derwin(w, rows, cols, 1, 2));
++ box(w, 0, 0);
++ keypad(w, TRUE);
++ }
++
++ if (post_form(f) != E_OK)
++ wrefresh(w);
++}
++
++static void
++erase_form(FORM * f)
++{
++ WINDOW *w = form_win(f);
++ WINDOW *s = form_sub(f);
++
++ unpost_form(f);
++ werase(w);
++ wrefresh(w);
++ delwin(s);
++ delwin(w);
++}
++
++static int
++my_form_driver(FORM * form, int c)
++{
++ switch (c) {
++ case EDIT_FIELD('q'):
++ if (form_driver(form, REQ_VALIDATION) == E_OK)
++ return (TRUE);
++ break;
++ case EDIT_FIELD('h'):
++ help_edit_field();
++ break;
++ default:
++ beep();
++ break;
++ }
++ return (FALSE);
++}
++
++static void
++show_current_field(WINDOW *win, FORM * form)
++{
++ FIELD *field;
++ FIELDTYPE *type;
++ char *buffer;
++ int nbuf;
++
++ if (has_colors()) {
++ wbkgd(win, COLOR_PAIR(1));
++ }
++ werase(win);
++ wprintw(win, "Cursor: %d,%d\n", form->currow, form->curcol);
++ if ((field = current_field(form)) != 0) {
++ wprintw(win, "Field %d:", field_index(field));
++ if ((type = field_type(field)) != 0) {
++ if (type == TYPE_ALNUM)
++ waddstr(win, "ALNUM");
++ else if (type == TYPE_ALPHA)
++ waddstr(win, "ALPHA");
++ else if (type == TYPE_ENUM)
++ waddstr(win, "ENUM");
++ else if (type == TYPE_INTEGER)
++ waddstr(win, "INTEGER");
++ else if (type == TYPE_NUMERIC)
++ waddstr(win, "NUMERIC");
++ else if (type == TYPE_REGEXP)
++ waddstr(win, "REGEXP");
++ else
++ waddstr(win, "other");
++ }
++ waddstr(win, "\n");
++ for (nbuf = 0; nbuf <= 2; ++nbuf) {
++ if ((buffer = field_buffer(field, nbuf)) != 0) {
++ wprintw(win, "buffer %d:", nbuf);
++ wattrset(win, A_REVERSE);
++ waddstr(win, buffer);
++ wattroff(win, A_REVERSE);
++ waddstr(win, "\n");
++ }
++ }
++ }
++ wrefresh(win);
++}
++
++static void
++demo_forms(void)
++{
++ WINDOW *w;
++ FORM *form;
++ FIELD *f[100];
++ int finished = 0, c;
++ unsigned n = 0;
++ int pg;
++ WINDOW *also;
++
++ help_edit_field();
++
++ mvaddstr(4, 57, "Forms Entry Test");
++
++ refresh();
++
++ /* describe the form */
++ for (pg = 0; pg < 3; ++pg) {
++ char label[80];
++ sprintf(label, "Sample Form Page %d", pg + 1);
++ f[n++] = make_label(0, 15, label);
++ set_new_page(f[n - 1], TRUE);
++
++ f[n++] = make_label(2, 0, "Last Name");
++ f[n++] = make_field(3, 0, 1, 18);
++ set_field_type(f[n - 1], TYPE_ALPHA, 1);
++
++ f[n++] = make_label(2, 20, "First Name");
++ f[n++] = make_field(3, 20, 1, 12);
++ set_field_type(f[n - 1], TYPE_ALPHA, 1);
++
++ f[n++] = make_label(2, 34, "Middle Name");
++ f[n++] = make_field(3, 34, 1, 12);
++ set_field_type(f[n - 1], TYPE_ALPHA, 1);
++
++ f[n++] = make_label(5, 0, "Comments");
++ f[n++] = make_field(6, 0, 4, 46);
++ }
++
++ f[n++] = (FIELD *) 0;
++
++ form = new_form(f);
++
++ display_form(form);
++
++ w = form_win(form);
++ also = newwin(getmaxy(stdscr) - getmaxy(w), COLS, getmaxy(w), 0);
++ show_current_field(also, form);
++
++ while (!finished) {
++ switch (edit_field(form, &c)) {
++ case E_OK:
++ break;
++ case E_UNKNOWN_COMMAND:
++ finished = my_form_driver(form, c);
++ break;
++ default:
++ beep();
++ break;
++ }
++ show_current_field(also, form);
++ }
++
++ erase_form(form);
++
++ free_form(form);
++ for (c = 0; f[c] != 0; c++)
++ free_field(f[c]);
++ noraw();
++ nl();
++}
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ initscr();
++ cbreak();
++ noecho();
++ raw();
++ nonl(); /* lets us read ^M's */
++ intrflush(stdscr, FALSE);
++ keypad(stdscr, TRUE);
++
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ bkgd(COLOR_PAIR(1));
++ refresh();
++ }
++
++ demo_forms();
++
++ endwin();
++ return EXIT_SUCCESS;
++}
++#else
++int
++main(void)
++{
++ printf("This program requires the curses form library\n");
++ ExitProgram(EXIT_FAILURE);
++}
++#endif
+diff -urNd -urNd ncurses-5.3/test/demo_keyok.c ncurses-5.3.20030906.orig/test/demo_keyok.c
+--- ncurses-5.3/test/demo_keyok.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/demo_keyok.c Sun Jul 20 14:02:08 2003
+@@ -0,0 +1,55 @@
++/*
++ * $Id: demo_keyok.c,v 1.3 2003/05/17 23:18:34 tom Exp $
++ *
++ * Demonstrate the keyok() function.
++ * Thomas Dickey - 2002/11/23
++ */
++
++#include <test.priv.h>
++
++#if defined(NCURSES_VERSION) && NCURSES_EXT_FUNCS
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ int lastch = ERR;
++ int ch;
++ WINDOW *win;
++
++ initscr();
++ (void) cbreak(); /* take input chars one at a time, no wait for \n */
++ (void) noecho(); /* don't echo input */
++
++ printw("Typing any function key will disable it, but typing it twice in\n");
++ printw("a row will turn it back on (just for a demo).");
++ refresh();
++
++ win = newwin(LINES - 2, COLS, 2, 0);
++ scrollok(win, TRUE);
++ keypad(win, TRUE);
++ wmove(win, 0, 0);
++
++ while ((ch = wgetch(win)) != ERR) {
++ const char *name = keyname(ch);
++ wprintw(win, "Keycode %d, name %s\n",
++ ch,
++ name != 0 ? name : "<null>");
++ wclrtoeol(win);
++ wrefresh(win);
++ if (ch >= KEY_MIN) {
++ keyok(ch, FALSE);
++ lastch = ch;
++ } else if (lastch >= KEY_MIN) {
++ keyok(lastch, TRUE);
++ }
++ }
++ endwin();
++ return EXIT_SUCCESS;
++}
++#else
++int
++main(void)
++{
++ printf("This program requires the ncurses library\n");
++ ExitProgram(EXIT_FAILURE);
++}
++#endif
+diff -urNd -urNd ncurses-5.3/test/demo_menus.c ncurses-5.3.20030906.orig/test/demo_menus.c
+--- ncurses-5.3/test/demo_menus.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/demo_menus.c Tue May 13 20:08:23 2003
+@@ -0,0 +1,73 @@
++/*
++ * $Id: demo_menus.c,v 1.1 2003/04/26 22:10:43 tom Exp $
++ *
++ * Demonstrate a variety of functions from the menu library.
++ * Thomas Dickey - 2003/4/26
++ */
++/*
++item_count -
++item_description -
++item_init -
++item_opts -
++item_opts_off -
++item_opts_on -
++item_term -
++item_userptr -
++item_visible -
++menu_back -
++menu_fore -
++menu_format -
++menu_grey -
++menu_init -
++menu_mark -
++menu_opts -
++menu_opts_on -
++menu_pad -
++menu_pattern -
++menu_request_by_name -
++menu_request_name -
++menu_spacing -
++menu_sub -
++menu_term -
++menu_userptr -
++set_current_item -
++set_item_init -
++set_item_opts -
++set_item_term -
++set_item_userptr -
++set_menu_back -
++set_menu_fore -
++set_menu_grey -
++set_menu_init -
++set_menu_items -
++set_menu_mark -
++set_menu_opts -
++set_menu_pad -
++set_menu_pattern -
++set_menu_spacing -
++set_menu_term -
++set_menu_userptr -
++set_top_row -
++top_row -
++*/
++
++#include <test.priv.h>
++
++#if USE_LIBMENU
++
++#include <menu.h>
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ printf("Not implemented - demo for menu library\n");
++ return EXIT_SUCCESS;
++}
++#else
++int
++main(void)
++{
++ printf("This program requires the curses menu library\n");
++ ExitProgram(EXIT_FAILURE);
++}
++#endif
+diff -urNd -urNd ncurses-5.3/test/demo_panels.c ncurses-5.3.20030906.orig/test/demo_panels.c
+--- ncurses-5.3/test/demo_panels.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/demo_panels.c Tue May 13 20:08:23 2003
+@@ -0,0 +1,33 @@
++/*
++ * $Id: demo_panels.c,v 1.1 2003/04/26 22:11:23 tom Exp $
++ *
++ * Demonstrate a variety of functions from the panel library.
++ * Thomas Dickey - 2003/4/26
++ */
++/*
++panel_above -
++panel_below -
++panel_hidden -
++replace_panel -
++*/
++
++#include <test.priv.h>
++
++#if USE_LIBPANEL
++
++#include <panel.h>
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ printf("Not implemented - demo for panel library\n");
++ return EXIT_SUCCESS;
++}
++#else
++int
++main(void)
++{
++ printf("This program requires the curses panel library\n");
++ ExitProgram(EXIT_FAILURE);
++}
++#endif
+diff -urNd -urNd ncurses-5.3/test/edit_field.c ncurses-5.3.20030906.orig/test/edit_field.c
+--- ncurses-5.3/test/edit_field.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/edit_field.c Sun Jul 20 14:02:08 2003
+@@ -0,0 +1,402 @@
++/*
++ * $Id: edit_field.c,v 1.7 2003/05/17 23:16:13 tom Exp $
++ *
++ * A wrapper for form_driver() which keeps track of the user's editing changes
++ * for each field, and makes the result available as a null-terminated string
++ * in field_buffer(field,1).
++ *
++ * Thomas Dickey - 2003/4/26.
++ */
++
++#include <test.priv.h>
++
++#if USE_LIBFORM
++
++#include <edit_field.h>
++
++#define MY_QUIT EDIT_FIELD('q')
++#define MY_INS_MODE EDIT_FIELD('t')
++
++static struct {
++ int code;
++ int result;
++ const char *help;
++} commands[] = {
++
++ {
++ CTRL('A'), REQ_NEXT_CHOICE, ""
++ },
++ {
++ CTRL('B'), REQ_PREV_WORD, "go to previous word"
++ },
++ {
++ CTRL('C'), REQ_CLR_EOL, "clear to end of line"
++ },
++ {
++ CTRL('D'), REQ_DOWN_FIELD, "move downward to field"
++ },
++ {
++ CTRL('E'), REQ_END_FIELD, "go to end of field"
++ },
++ {
++ CTRL('F'), REQ_NEXT_PAGE, "go to next page"
++ },
++ {
++ CTRL('G'), REQ_DEL_WORD, "delete current word"
++ },
++ {
++ CTRL('H'), REQ_DEL_PREV, "delete previous character"
++ },
++ {
++ CTRL('I'), REQ_INS_CHAR, "insert character"
++ },
++ {
++ CTRL('K'), REQ_CLR_EOF, "clear to end of field"
++ },
++ {
++ CTRL('L'), REQ_LEFT_FIELD, "go to field to left"
++ },
++ {
++ CTRL('M'), REQ_NEW_LINE, "insert/overlay new line"
++ },
++ {
++ CTRL('N'), REQ_NEXT_FIELD, "go to next field"
++ },
++ {
++ CTRL('O'), REQ_INS_LINE, "insert blank line at cursor"
++ },
++ {
++ CTRL('P'), REQ_PREV_FIELD, "go to previous field"
++ },
++ {
++ CTRL('Q'), MY_QUIT, "exit form"
++ },
++ {
++ CTRL('R'), REQ_RIGHT_FIELD, "go to field to right"
++ },
++ {
++ CTRL('S'), REQ_BEG_FIELD, "go to beginning of field"
++ },
++ {
++ CTRL('U'), REQ_UP_FIELD, "move upward to field"
++ },
++ {
++ CTRL('V'), REQ_DEL_CHAR, "delete character"
++ },
++ {
++ CTRL('W'), REQ_NEXT_WORD, "go to next word"
++ },
++ {
++ CTRL('X'), REQ_CLR_FIELD, "clear field"
++ },
++ {
++ CTRL('Y'), REQ_DEL_LINE, "delete line"
++ },
++ {
++ CTRL('Z'), REQ_PREV_CHOICE, ""
++ },
++ {
++ CTRL('['), MY_QUIT, "exit form"
++ },
++ {
++ CTRL(']'), MY_INS_MODE, "toggle REQ_INS_MODE/REQ_OVL_MODE",
++ },
++ {
++ KEY_F(1), EDIT_FIELD('h'), "show this screen",
++ },
++ {
++ KEY_BACKSPACE, REQ_DEL_PREV, "delete previous character"
++ },
++ {
++ KEY_DOWN, REQ_DOWN_CHAR, "move down 1 character"
++ },
++ {
++ KEY_END, REQ_LAST_FIELD, "go to last field"
++ },
++ {
++ KEY_HOME, REQ_FIRST_FIELD, "go to first field"
++ },
++ {
++ KEY_LEFT, REQ_LEFT_CHAR, "move left 1 character"
++ },
++ {
++ KEY_LL, REQ_LAST_FIELD, "go to last field"
++ },
++ {
++ KEY_NEXT, REQ_NEXT_FIELD, "go to next field"
++ },
++ {
++ KEY_NPAGE, REQ_NEXT_PAGE, "go to next page"
++ },
++ {
++ KEY_PPAGE, REQ_PREV_PAGE, "go to previous page"
++ },
++ {
++ KEY_PREVIOUS, REQ_PREV_FIELD, "go to previous field"
++ },
++ {
++ KEY_RIGHT, REQ_RIGHT_CHAR, "move right 1 character"
++ },
++ {
++ KEY_UP, REQ_UP_CHAR, "move up 1 character"
++ }
++};
++
++static WINDOW *old_window;
++
++static void
++begin_popup(void)
++{
++ doupdate();
++ old_window = dupwin(curscr);
++}
++
++static void
++end_popup(void)
++{
++ touchwin(old_window);
++ wnoutrefresh(old_window);
++ doupdate();
++ delwin(old_window);
++}
++
++/*
++ * Display a temporary window listing the keystroke-commands we recognize.
++ */
++void
++help_edit_field(void)
++{
++ int x0 = 4;
++ int y0 = 2;
++ int y1 = 0;
++ int y2 = 0;
++ int wide = COLS - ((x0 + 1) * 2);
++ int high = LINES - ((y0 + 1) * 2);
++ WINDOW *help = newwin(high, wide, y0, x0);
++ WINDOW *data = newpad(2 + SIZEOF(commands), wide - 4);
++ unsigned n;
++ int ch = ERR;
++
++ begin_popup();
++
++ keypad(help, TRUE);
++ keypad(data, TRUE);
++ waddstr(data, "Defined form-traversal keys:\n");
++ for (n = 0; n < SIZEOF(commands); ++n) {
++ const char *name;
++#ifdef NCURSES_VERSION
++ if ((name = form_request_name(commands[n].result)) == 0)
++#endif
++ name = commands[n].help;
++ wprintw(data, "%s -- %s\n",
++ keyname(commands[n].code),
++ name != 0 ? name : commands[n].help);
++ }
++ waddstr(data, "Arrow keys move within a field as you would expect.");
++ y2 = getcury(data);
++
++ do {
++ switch (ch) {
++ case CTRL('P'):
++ case KEY_UP:
++ if (y1 > 0)
++ --y1;
++ else
++ beep();
++ break;
++ case CTRL('N'):
++ case KEY_DOWN:
++ if (y1 < y2)
++ ++y1;
++ else
++ beep();
++ break;
++ default:
++ beep();
++ break;
++ case ERR:
++ break;
++ }
++ werase(help);
++ box(help, 0, 0);
++ wnoutrefresh(help);
++ pnoutrefresh(data, y1, 0, y0 + 1, x0 + 1, high, wide);
++ doupdate();
++ } while ((ch = wgetch(data)) != ERR && ch != QUIT && ch != ESCAPE);
++ werase(help);
++ wrefresh(help);
++ delwin(help);
++ delwin(data);
++
++ end_popup();
++}
++
++static int
++offset_in_field(FORM * form)
++{
++ FIELD *field = current_field(form);
++ return form->curcol + form->currow * field->dcols;
++}
++
++int
++edit_field(FORM * form, int *result)
++{
++ int ch = wgetch(form_win(form));
++ int status;
++ FIELD *before;
++ FIELD *after;
++ unsigned n;
++ char lengths[80];
++ int length;
++ char *buffer;
++ int before_row = form->currow;
++ int before_col = form->curcol;
++ int before_off = offset_in_field(form);
++
++ before = current_field(form);
++ set_field_back(before, A_NORMAL);
++ if (ch <= KEY_MAX) {
++ set_field_back(before, A_REVERSE);
++ } else if (ch <= MAX_FORM_COMMAND) {
++ set_field_back(before, A_UNDERLINE);
++ }
++
++ *result = ch;
++ for (n = 0; n < SIZEOF(commands); ++n) {
++ if (commands[n].code == ch) {
++ *result = commands[n].result;
++ break;
++ }
++ }
++
++ status = form_driver(form, *result);
++
++ if (status == E_OK) {
++ bool modified = TRUE;
++
++ length = 0;
++ if ((buffer = field_buffer(before, 1)) != 0)
++ length = atoi(buffer);
++ if (length < before_off)
++ length = before_off;
++ switch (*result) {
++ case REQ_CLR_EOF:
++ length = before_off;
++ break;
++ case REQ_CLR_EOL:
++ if (before_row + 1 == before->rows)
++ length = before_off;
++ break;
++ case REQ_CLR_FIELD:
++ length = 0;
++ break;
++ case REQ_DEL_CHAR:
++ if (length > before_off)
++ --length;
++ break;
++ case REQ_DEL_PREV:
++ if (length > 0) {
++ if (before_col > 0) {
++ --length;
++ } else if (before_row > 0) {
++ length -= before->cols + before_col;
++ }
++ }
++ break;
++ case REQ_NEW_LINE:
++ length += before->cols;
++ break;
++#if 0
++ /* FIXME: finish these */
++ case REQ_DEL_LINE: /* delete line */
++ case REQ_DEL_WORD: /* delete word at cursor */
++ case REQ_INS_CHAR: /* insert blank char at cursor */
++ case REQ_INS_LINE: /* insert blank line at cursor */
++ case REQ_INS_MODE: /* begin insert mode */
++ case REQ_OVL_MODE: /* begin overlay mode */
++#endif
++ /* ignore all of the motion commands */
++ case REQ_SCR_BCHAR: /* FALLTHRU */
++ case REQ_SCR_BHPAGE: /* FALLTHRU */
++ case REQ_SCR_BLINE: /* FALLTHRU */
++ case REQ_SCR_BPAGE: /* FALLTHRU */
++ case REQ_SCR_FCHAR: /* FALLTHRU */
++ case REQ_SCR_FHPAGE: /* FALLTHRU */
++ case REQ_SCR_FLINE: /* FALLTHRU */
++ case REQ_SCR_FPAGE: /* FALLTHRU */
++ case REQ_SCR_HBHALF: /* FALLTHRU */
++ case REQ_SCR_HBLINE: /* FALLTHRU */
++ case REQ_SCR_HFHALF: /* FALLTHRU */
++ case REQ_SCR_HFLINE: /* FALLTHRU */
++ case REQ_BEG_FIELD: /* FALLTHRU */
++ case REQ_BEG_LINE: /* FALLTHRU */
++ case REQ_DOWN_CHAR: /* FALLTHRU */
++ case REQ_DOWN_FIELD: /* FALLTHRU */
++ case REQ_END_FIELD: /* FALLTHRU */
++ case REQ_END_LINE: /* FALLTHRU */
++ case REQ_FIRST_FIELD: /* FALLTHRU */
++ case REQ_FIRST_PAGE: /* FALLTHRU */
++ case REQ_LAST_FIELD: /* FALLTHRU */
++ case REQ_LAST_PAGE: /* FALLTHRU */
++ case REQ_LEFT_CHAR: /* FALLTHRU */
++ case REQ_LEFT_FIELD: /* FALLTHRU */
++ case REQ_NEXT_CHAR: /* FALLTHRU */
++ case REQ_NEXT_CHOICE: /* FALLTHRU */
++ case REQ_NEXT_FIELD: /* FALLTHRU */
++ case REQ_NEXT_LINE: /* FALLTHRU */
++ case REQ_NEXT_PAGE: /* FALLTHRU */
++ case REQ_NEXT_WORD: /* FALLTHRU */
++ case REQ_PREV_CHAR: /* FALLTHRU */
++ case REQ_PREV_CHOICE: /* FALLTHRU */
++ case REQ_PREV_FIELD: /* FALLTHRU */
++ case REQ_PREV_LINE: /* FALLTHRU */
++ case REQ_PREV_PAGE: /* FALLTHRU */
++ case REQ_PREV_WORD: /* FALLTHRU */
++ case REQ_RIGHT_CHAR: /* FALLTHRU */
++ case REQ_RIGHT_FIELD: /* FALLTHRU */
++ case REQ_SFIRST_FIELD: /* FALLTHRU */
++ case REQ_SLAST_FIELD: /* FALLTHRU */
++ case REQ_SNEXT_FIELD: /* FALLTHRU */
++ case REQ_SPREV_FIELD: /* FALLTHRU */
++ case REQ_UP_CHAR: /* FALLTHRU */
++ case REQ_UP_FIELD: /* FALLTHRU */
++ case REQ_VALIDATION: /* FALLTHRU */
++ modified = FALSE;
++ break;
++
++ default:
++ modified = FALSE;
++ if (ch >= MIN_FORM_COMMAND) {
++ beep();
++ } else if (isprint(ch)) {
++ modified = TRUE;
++ }
++ break;
++ }
++
++ /*
++ * If we do not force a re-validation, then field_buffer 0 will
++ * be lagging by one character.
++ */
++ if (modified && form_driver(form, REQ_VALIDATION) == E_OK && *result
++ < MIN_FORM_COMMAND)
++ ++length;
++
++ sprintf(lengths, "%d", length);
++ set_field_buffer(before, 1, lengths);
++ }
++
++ if ((after = current_field(form)) != before)
++ set_field_back(before, A_UNDERLINE);
++ return status;
++}
++#else
++
++extern void no_edit_field(void);
++
++void
++no_edit_field(void)
++{
++}
++
++#endif
+diff -urNd -urNd ncurses-5.3/test/edit_field.h ncurses-5.3.20030906.orig/test/edit_field.h
+--- ncurses-5.3/test/edit_field.h Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/edit_field.h Tue May 13 20:08:23 2003
+@@ -0,0 +1,17 @@
++/*
++ * $Id: edit_field.h,v 1.1 2003/04/26 22:54:50 tom Exp $
++ *
++ * Interface of edit_field.c
++ */
++
++#ifndef EDIT_FORM_H_incl
++#define EDIT_FORM_H_incl 1
++
++#include <form.h>
++
++#define EDIT_FIELD(c) (MAX_FORM_COMMAND + c)
++
++extern void help_edit_field(void);
++extern int edit_field(FORM * form, int *result);
++
++#endif /* EDIT_FORM_H_incl */
+diff -urNd -urNd ncurses-5.3/test/gdc.6 ncurses-5.3.20030906.orig/test/gdc.6
+--- ncurses-5.3/test/gdc.6 Wed Dec 7 00:29:08 1994
++++ ncurses-5.3.20030906.orig/test/gdc.6 Tue May 13 20:08:23 2003
+@@ -1,3 +1,4 @@
++.\" $Id: gdc.6,v 1.2 2003/03/15 20:50:03 tom Exp $
+ .TH GDC 6
+ .SH NAME
+ gdc \- grand digital clock (curses)
+@@ -16,7 +17,7 @@
+ seconds (default never).
+ The optional
+ .B -s
+-flag makes digits scroll as they change. In this curses mode implementation,
++flag makes digits scroll as they change. In some curses mode implementations,
+ the scrolling option has trouble keeping up.
+ .SH AUTHOR
+ Amos Shapir, modified for curses by John Lupien.
+diff -urNd -urNd ncurses-5.3/test/hashtest.c ncurses-5.3.20030906.orig/test/hashtest.c
+--- ncurses-5.3/test/hashtest.c Sat Jun 29 18:32:18 2002
++++ ncurses-5.3.20030906.orig/test/hashtest.c Tue May 13 20:08:23 2003
+@@ -3,7 +3,7 @@
+ *
+ * Generate timing statistics for vertical-motion optimization.
+ *
+- * $Id: hashtest.c,v 1.22 2002/06/29 23:32:18 tom Exp $
++ * $Id: hashtest.c,v 1.23 2002/10/19 22:11:24 tom Exp $
+ */
+
+ #ifdef TRACE
+@@ -14,8 +14,6 @@
+ #define USE_TRACE 0
+ #endif
+
+-#include <ctype.h>
+-
+ #include <test.priv.h>
+
+ #define LO_CHAR ' '
+diff -urNd -urNd ncurses-5.3/test/ins_wide.c ncurses-5.3.20030906.orig/test/ins_wide.c
+--- ncurses-5.3/test/ins_wide.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/ins_wide.c Fri Sep 12 16:41:56 2003
+@@ -0,0 +1,218 @@
++/*
++ * $Id: ins_wide.c,v 1.3 2003/08/09 22:07:23 tom Exp $
++ *
++ * Demonstrate the wins_wstr() and wins_wch functions.
++ * Thomas Dickey - 2002/11/23
++ *
++ * Note: to provide inputs for *ins_wch(), we use setcchar(). A quirk of the
++ * X/Open definition for that function is that the string contains no
++ * characters with negative width. Any control character (such as tab) falls
++ * into that category. So it follows that *ins_wch() cannot render a tab
++ * character because there is no legal way to construct a cchar_t containing
++ * one. X/Open does not document this, and it would be logical to assume that
++ * *ins_wstr() has the same limitation, but it uses a wchar_t string directly,
++ * and does not document how tabs are handled.
++ */
++
++#include <test.priv.h>
++
++#define TABSIZE 8
++
++#if USE_WIDEC_SUPPORT
++static int margin = (2 * TABSIZE) - 1;
++
++static void
++legend(WINDOW *win, wchar_t * buffer, int length)
++{
++ wmove(win, 0, 0);
++ wprintw(win,
++ "The Strings/Chars displays should match. Enter any characters.\n");
++ wprintw(win,
++ "Use down-arrow or ^N to repeat on the next line, 'q' to exit.\n");
++ wclrtoeol(win);
++ wprintw(win, "Inserted %d characters <", length);
++ waddwstr(win, buffer);
++ waddstr(win, ">");
++}
++
++static int
++ColOf(wchar_t * buffer, int length)
++{
++ int n;
++ int result;
++
++ for (n = 0, result = margin + 1; n < length; ++n) {
++ int ch = buffer[n];
++ switch (ch) {
++ case '\n':
++ /* actually newline should clear the remainder of the line
++ * and move to the next line - but that seems a little awkward
++ * in this example.
++ */
++ case '\r':
++ result = 0;
++ break;
++ case '\b':
++ if (result > 0)
++ --result;
++ break;
++ case '\t':
++ result += (TABSIZE - (result % TABSIZE));
++ break;
++ case '\177':
++ result += 2;
++ break;
++ default:
++ ++result;
++ if (ch < 32)
++ ++result;
++ break;
++ }
++ }
++ return result;
++}
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ cchar_t tmp_cchar;
++ wchar_t tmp_wchar[2];
++ wint_t ch;
++ int code;
++ int limit;
++ int row = 1;
++ int col;
++ int length;
++ wchar_t buffer[BUFSIZ];
++ WINDOW *work;
++ WINDOW *show;
++
++ putenv("TABSIZE=8");
++ initscr();
++ (void) cbreak(); /* take input chars one at a time, no wait for \n */
++ (void) noecho(); /* don't echo input */
++ keypad(stdscr, TRUE);
++
++ limit = LINES - 5;
++ work = newwin(limit, COLS, 0, 0);
++ show = newwin(4, COLS, limit + 1, 0);
++ keypad(work, TRUE);
++
++ for (col = margin + 1; col < COLS; col += TABSIZE)
++ mvwvline(work, row, col, '.', limit - 2);
++
++ box(work, 0, 0);
++ mvwvline(work, row, margin, ACS_VLINE, limit - 2);
++ mvwvline(work, row, margin + 1, ACS_VLINE, limit - 2);
++ limit /= 2;
++
++ mvwaddstr(work, 1, 2, "String");
++ mvwaddstr(work, limit + 1, 2, "Chars");
++ wnoutrefresh(work);
++
++ buffer[length = 0] = '\0';
++ legend(show, buffer, length);
++ wnoutrefresh(show);
++
++ doupdate();
++
++ /*
++ * Show the characters inserted in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ wbkgdset(work, COLOR_PAIR(1) | ' ');
++ }
++
++ while ((code = wget_wch(work, &ch)) != ERR) {
++
++ switch (code) {
++ case KEY_CODE_YES:
++ switch (ch) {
++ case KEY_DOWN:
++ ch = CTRL('N');
++ break;
++ case KEY_BACKSPACE:
++ ch = '\b';
++ break;
++ default:
++ beep();
++ continue;
++ }
++ break;
++ }
++ if (ch == 'q')
++ break;
++
++ wmove(work, row, margin + 1);
++ if (ch == CTRL('N')) {
++ if (row < limit) {
++ ++row;
++ /* put the whole string in, all at once */
++ mvwins_wstr(work, row, margin + 1, buffer);
++
++ /* do the corresponding single-character insertion */
++ for (col = 0; col < length; ++col) {
++ memset(&tmp_cchar, 0, sizeof(tmp_cchar));
++ if (setcchar(&tmp_cchar,
++ &(buffer[col]),
++ A_NORMAL,
++ 0,
++ (void *) 0) != ERR) {
++ mvwins_wch(work, limit + row, ColOf(buffer, col), &tmp_cchar);
++ } else {
++ beep(); /* even for tabs! */
++ mvwinsch(work,
++ limit + row,
++ ColOf(buffer, col), buffer[col]);
++ }
++ }
++ } else {
++ beep();
++ }
++ } else {
++ buffer[length++] = ch;
++ buffer[length] = '\0';
++ /* put the string in, one character at a time */
++ mvwins_wstr(work,
++ row,
++ ColOf(buffer, length - 1), buffer + length - 1);
++
++ /* do the corresponding single-character insertion */
++ tmp_wchar[0] = ch;
++ tmp_wchar[1] = 0;
++ if (setcchar(&tmp_cchar,
++ tmp_wchar,
++ A_NORMAL,
++ 0,
++ (void *) 0) != ERR) {
++ mvwins_wch(work,
++ limit + row,
++ ColOf(buffer, length - 1), &tmp_cchar);
++ } else {
++ beep(); /* even for tabs! */
++ mvwinsch(work,
++ limit + row,
++ ColOf(buffer, length - 1), ch);
++ }
++ wnoutrefresh(work);
++
++ legend(show, buffer, length);
++ wnoutrefresh(show);
++
++ doupdate();
++ }
++ }
++ endwin();
++ ExitProgram(EXIT_SUCCESS);
++}
++#else
++int
++main(void)
++{
++ printf("This program requires the wide-ncurses library\n");
++ ExitProgram(EXIT_FAILURE);
++}
++#endif
+diff -urNd -urNd ncurses-5.3/test/inserts.c ncurses-5.3.20030906.orig/test/inserts.c
+--- ncurses-5.3/test/inserts.c Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/inserts.c Fri Sep 12 16:41:56 2003
+@@ -0,0 +1,162 @@
++/*
++ * $Id: inserts.c,v 1.5 2003/08/09 22:07:06 tom Exp $
++ *
++ * Demonstrate the winsstr() and winsch functions.
++ * Thomas Dickey - 2002/10/19
++ */
++
++#include <test.priv.h>
++
++#define TABSIZE 8
++
++static int margin = (2 * TABSIZE) - 1;
++
++static void
++legend(WINDOW *win, char *buffer, int length)
++{
++ wmove(win, 0, 0);
++ wprintw(win,
++ "The Strings/Chars displays should match. Enter any characters.\n");
++ wprintw(win,
++ "Use down-arrow or ^N to repeat on the next line, 'q' to exit.\n");
++ wclrtoeol(win);
++ wprintw(win, "Inserted %d characters <%s>", length, buffer);
++}
++
++static int
++ColOf(char *buffer, int length)
++{
++ int n;
++ int result;
++
++ for (n = 0, result = margin + 1; n < length; ++n) {
++ int ch = UChar(buffer[n]);
++ switch (ch) {
++ case '\n':
++ /* actually newline should clear the remainder of the line
++ * and move to the next line - but that seems a little awkward
++ * in this example.
++ */
++ case '\r':
++ result = 0;
++ break;
++ case '\b':
++ if (result > 0)
++ --result;
++ break;
++ case '\t':
++ result += (TABSIZE - (result % TABSIZE));
++ break;
++ case '\177':
++ result += 2;
++ break;
++ default:
++ ++result;
++ if (ch < 32)
++ ++result;
++ break;
++ }
++ }
++ return result;
++}
++
++int
++main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
++{
++ int ch;
++ int limit;
++ int row = 1;
++ int col;
++ int length;
++ char buffer[BUFSIZ];
++ WINDOW *work;
++ WINDOW *show;
++
++ putenv("TABSIZE=8");
++ initscr();
++ (void) cbreak(); /* take input chars one at a time, no wait for \n */
++ (void) noecho(); /* don't echo input */
++ keypad(stdscr, TRUE);
++
++ limit = LINES - 5;
++ work = newwin(limit, COLS, 0, 0);
++ show = newwin(4, COLS, limit + 1, 0);
++ keypad(work, TRUE);
++
++ for (col = margin + 1; col < COLS; col += TABSIZE)
++ mvwvline(work, row, col, '.', limit - 2);
++
++ box(work, 0, 0);
++ mvwvline(work, row, margin, ACS_VLINE, limit - 2);
++ mvwvline(work, row, margin + 1, ACS_VLINE, limit - 2);
++ limit /= 2;
++
++ mvwaddstr(work, 1, 2, "String");
++ mvwaddstr(work, limit + 1, 2, "Chars");
++ wnoutrefresh(work);
++
++ buffer[length = 0] = '\0';
++ legend(show, buffer, length);
++ wnoutrefresh(show);
++
++ doupdate();
++
++ /*
++ * Show the characters inserted in color, to distinguish from those that
++ * are shifted.
++ */
++ if (has_colors()) {
++ start_color();
++ init_pair(1, COLOR_WHITE, COLOR_BLUE);
++ wbkgdset(work, COLOR_PAIR(1) | ' ');
++ }
++
++ while ((ch = wgetch(work)) != 'q') {
++ wmove(work, row, margin + 1);
++ switch (ch) {
++ case CTRL('N'):
++ case KEY_DOWN:
++ if (row < limit) {
++ ++row;
++ /* put the whole string in, all at once */
++ mvwinsstr(work, row, margin + 1, buffer);
++
++ /* do the corresponding single-character insertion */
++ for (col = 0; col < length; ++col) {
++ mvwinsch(work, limit + row, ColOf(buffer, col), buffer[col]);
++ }
++ } else {
++ beep();
++ }
++ break;
++ case KEY_BACKSPACE:
++ ch = '\b';
++ /* FALLTHRU */
++ default:
++ if (ch <= 0 || ch > 255) {
++ beep();
++ break;
++ }
++ buffer[length++] = ch;
++ buffer[length] = '\0';
++ /* put the string in, one character at a time */
++ mvwinsstr(work,
++ row,
++ ColOf(buffer, length - 1), buffer + length - 1);
++
++ /* do the corresponding single-character insertion */
++ mvwinsch(work,
++ limit + row,
++ ColOf(buffer, length - 1), ch);
++ wnoutrefresh(work);
++
++ legend(show, buffer, length);
++ wnoutrefresh(show);
++
++ doupdate();
++ break;
++ }
++ }
++ endwin();
++ ExitProgram(EXIT_SUCCESS);
++}
+diff -urNd -urNd ncurses-5.3/test/keynames.c ncurses-5.3.20030906.orig/test/keynames.c
+--- ncurses-5.3/test/keynames.c Sun Sep 1 14:42:42 2002
++++ ncurses-5.3.20030906.orig/test/keynames.c Sun Jul 20 14:02:08 2003
+@@ -1,5 +1,5 @@
+ /*
+- * $Id: keynames.c,v 1.4 2002/09/01 19:42:42 tom Exp $
++ * $Id: keynames.c,v 1.5 2003/05/17 23:18:49 tom Exp $
+ */
+
+ #include <test.priv.h>
+@@ -9,7 +9,7 @@
+ {
+ int n;
+ for (n = -1; n < 512; n++) {
+- char *result = keyname(n);
++ const char *result = keyname(n);
+ if (result != 0)
+ printf("%d(%5o):%s\n", n, n, result);
+ }
+diff -urNd -urNd ncurses-5.3/test/knight.c ncurses-5.3.20030906.orig/test/knight.c
+--- ncurses-5.3/test/knight.c Sat Jun 29 18:32:18 2002
++++ ncurses-5.3.20030906.orig/test/knight.c Tue May 13 20:08:23 2003
+@@ -6,11 +6,9 @@
+ * Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995. Mouse support
+ * added September 20th 1995.
+ *
+- * $Id: knight.c,v 1.25 2002/06/29 23:32:18 tom Exp $
++ * $Id: knight.c,v 1.26 2002/10/19 22:11:24 tom Exp $
+ */
+
+-#include <ctype.h>
+-
+ #include <test.priv.h>
+
+ /* board size */
+diff -urNd -urNd ncurses-5.3/test/listused.sh ncurses-5.3.20030906.orig/test/listused.sh
+--- ncurses-5.3/test/listused.sh Wed Dec 31 18:00:00 1969
++++ ncurses-5.3.20030906.orig/test/listused.sh Sun Jul 20 14:02:09 2003
+@@ -0,0 +1,155 @@
++#!/bin/sh
++# $Id: listused.sh,v 1.5 2003/07/05 19:02:41 tom Exp $
++# A very simple script to list entrypoints that are used by either a test
++# program, or within the libraries. This relies on the output format of 'nm',
++# and assumes that the libraries are configured with TRACE defined, and using
++# these options:
++# --disable-macros
++# --enable-widec
++# Static libraries are used, to provide some filtering based on internal usage
++# of the different symbols.
++
++# keep the sorting independent of locale:
++if test "${LANGUAGE+set}" = set; then LANGUAGE=C; export LANGUAGE; fi
++if test "${LANG+set}" = set; then LANG=C; export LANG; fi
++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
++if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
++if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
++if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi
++
++NM_OPTS=
++
++if test ! -d ../objects ; then
++ echo "? need objects to run this script"
++ exit 1
++elif test ! -d ../lib ; then
++ echo "? need libraries to run this script"
++ exit 1
++fi
++
++PROGS=
++for name in `(echo "test:";sort modules; echo "progs:";sort ../progs/modules) |sed -e 's/[ ].*//' -e '/^[#@]/d'`
++do
++ case $name in
++ *:)
++ PROGS="$PROGS $name"
++ ;;
++ *)
++ NAME=../objects/${name}.o
++ if test -f $NAME
++ then
++ PROGS="$PROGS $NAME"
++ fi
++ ;;
++ esac
++done
++
++# For each library -
++for lib in ../lib/*.a
++do
++ LIB=`basename $lib .a`
++ case $LIB in
++ *_*|*+*)
++ continue
++ ;;
++ esac
++
++ tmp=`echo $LIB|sed -e 's/w$//'`
++ echo
++ echo "${tmp}:"
++ echo $tmp |sed -e 's/./-/g'
++ # Construct a list of public externals provided by the library.
++ WANT=`nm $NM_OPTS $lib |\
++ sed -e 's/^[^ ]*//' \
++ -e 's/^ *//' \
++ -e '/^[ a-z] /d' \
++ -e '/:$/d' \
++ -e '/^$/d' \
++ -e '/^U /d' \
++ -e 's/^[A-Z] //' \
++ -e '/^_/d' |\
++ sort -u`
++ # List programs which use that external.
++ for name in $WANT
++ do
++ HAVE=
++ tags=
++ last=
++ for prog in $PROGS
++ do
++ case $prog in
++ *:)
++ tags=$prog
++ ;;
++ *)
++ TEST=`nm $NM_OPTS $prog |\
++ sed -e 's/^[^ ]*//' \
++ -e 's/^ *//' \
++ -e '/^[ a-z] /d' \
++ -e '/:$/d' \
++ -e '/^$/d' \
++ -e 's/^[A-Z] //' \
++ -e '/^_/d' \
++ -e 's/^'${name}'$/_/' \
++ -e '/^[^_]/d'`
++ if test -n "$TEST"
++ then
++ have=`basename $prog .o`
++ if test -n "$HAVE"
++ then
++ if test "$last" = "$tags"
++ then
++ HAVE="$HAVE $have"
++ else
++ HAVE="$HAVE $tags $have"
++ fi
++ else
++ HAVE="$tags $have"
++ fi
++ last="$tags"
++ fi
++ ;;
++ esac
++ done
++ # if we did not find a program using it directly, see if it
++ # is used within a library.
++ if test -z "$HAVE"
++ then
++ for tmp in ../lib/*.a
++ do
++ case $tmp in
++ *_*|*+*)
++ continue
++ ;;
++ esac
++ TEST=`nm $NM_OPTS $tmp |\
++ sed -e 's/^[^ ]*//' \
++ -e 's/^ *//' \
++ -e '/^[ a-z] /d' \
++ -e '/:$/d' \
++ -e '/^$/d' \
++ -e '/^[A-TV-Z] /d' \
++ -e 's/^[A-Z] //' \
++ -e '/^_/d' \
++ -e 's/^'${name}'$/_/' \
++ -e '/^[^_]/d'`
++ if test -n "$TEST"
++ then
++ tmp=`basename $tmp .a |sed -e 's/w$//'`
++ HAVE=`echo $tmp | sed -e 's/lib/lib: /'`
++ break
++ fi
++ done
++ fi
++ test -z "$HAVE" && HAVE="-"
++ lenn=`expr 39 - length $name`
++ lenn=`expr $lenn / 8`
++ tabs=
++ while test $lenn != 0
++ do
++ tabs="${tabs} "
++ lenn=`expr $lenn - 1`
++ done
++ echo "${name}${tabs}${HAVE}"
++ done
++done
+diff -urNd -urNd ncurses-5.3/test/modules ncurses-5.3.20030906.orig/test/modules
+--- ncurses-5.3/test/modules Sat Feb 12 19:05:13 2000
++++ ncurses-5.3.20030906.orig/test/modules Tue May 13 20:08:23 2003
+@@ -1,7 +1,7 @@
+ # Test-Program modules
+-# $Id: modules,v 1.13 2000/02/13 01:05:13 tom Exp $
++# $Id: modules,v 1.19 2003/04/26 16:31:10 tom Exp $
+ ##############################################################################
+-# Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. #
++# Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. #
+ # #
+ # Permission is hereby granted, free of charge, to any person obtaining a #
+ # copy of this software and associated documentation files (the "Software"), #
+@@ -28,28 +28,36 @@
+ # authorization. #
+ ##############################################################################
+ #
+-# Author: Thomas E. Dickey <dickey@clark.net> 1997
++# Author: Thomas E. Dickey 1997-2003
+ #
+
+ @ base
+ blue progs $(srcdir) ../include/term.h
+ bs progs $(srcdir)
+-cardfile progs $(srcdir) ../include/panel.h ../include/menu.h ../include/form.h
++cardfile progs $(srcdir) ../include/panel.h ../include/form.h
++demo_defkey progs $(srcdir)
++demo_keyok progs $(srcdir)
++demo_forms progs $(srcdir) ../include/form.h
++demo_menus progs $(srcdir) ../include/menu.h
++demo_panels progs $(srcdir) ../include/panel.h
+ ditto progs $(srcdir)
+ dots progs $(srcdir) ../include/term.h
+-filter progs $(srcdir)
++edit_field progs $(srcdir)
++filter progs $(srcdir) ../include/form.h
+ firework progs $(srcdir) ../include/term.h
+ firstlast progs $(srcdir)
+ gdc progs $(srcdir)
+ hanoi progs $(srcdir)
+ hashtest progs $(srcdir)
++ins_wide progs $(srcdir)
++inserts progs $(srcdir)
+ keynames progs $(srcdir)
+ knight progs $(srcdir)
+ lrtest progs $(srcdir)
+ ncurses progs $(srcdir) ../include/panel.h ../include/menu.h ../include/form.h
+ newdemo progs $(srcdir)
+-rain progs $(srcdir) ../include/term.h
+ railroad progs $(srcdir) ../include/termcap.h
++rain progs $(srcdir) ../include/term.h
+ tclock progs $(srcdir)
+ testaddch progs $(srcdir)
+ testcurs progs $(srcdir)
+diff -urNd -urNd ncurses-5.3/test/ncurses.c ncurses-5.3.20030906.orig/test/ncurses.c
+--- ncurses-5.3/test/ncurses.c Sat Sep 14 19:39:33 2002
++++ ncurses-5.3.20030906.orig/test/ncurses.c Sun Jul 20 14:02:09 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -40,14 +40,10 @@
+ Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
+ Thomas E. Dickey (beginning revision 1.27 in 1996).
+
+-$Id: ncurses.c,v 1.180 2002/09/15 00:39:33 tom Exp $
++$Id: ncurses.c,v 1.197 2003/07/06 00:06:06 tom Exp $
+
+ ***************************************************************************/
+
+-#include <stdio.h>
+-#include <ctype.h>
+-#include <assert.h>
+-
+ #include <test.priv.h>
+
+ #if HAVE_GETTIMEOFDAY
+@@ -59,25 +55,16 @@
+ #endif
+ #endif
+
+-#if HAVE_PANEL_H && HAVE_LIBPANEL
+-#define USE_LIBPANEL 1
++#if USE_LIBPANEL
+ #include <panel.h>
+-#else
+-#define USE_LIBPANEL 0
+ #endif
+
+-#if HAVE_MENU_H && HAVE_LIBMENU
+-#define USE_LIBMENU 1
++#if USE_LIBMENU
+ #include <menu.h>
+-#else
+-#define USE_LIBMENU 0
+ #endif
+
+-#if HAVE_FORM_H && HAVE_LIBFORM
+-#define USE_LIBFORM 1
++#if USE_LIBFORM
+ #include <form.h>
+-#else
+-#define USE_LIBFORM 0
+ #endif
+
+ #ifdef NCURSES_VERSION
+@@ -122,13 +109,7 @@
+ #endif
+
+ #define P(string) printw("%s\n", string)
+-#ifdef CTRL
+-#undef CTRL
+-#endif
+-#define CTRL(x) ((x) & 0x1f)
+
+-#define QUIT CTRL('Q')
+-#define ESCAPE CTRL('[')
+ #define BLANK ' ' /* this is the background character */
+
+ #undef max_colors
+@@ -181,6 +162,74 @@
+ }
+ #define Getchar() wGetchar(stdscr)
+
++/* replaces wgetnstr(), since we want to be able to edit values */
++static void
++wGetstring(WINDOW *win, char *buffer, int limit)
++{
++ int y0, x0, x, ch;
++ bool done = FALSE;
++
++ echo();
++ getyx(win, y0, x0);
++ wattrset(win, A_REVERSE);
++
++ x = strlen(buffer);
++ while (!done) {
++ if (x > (int) strlen(buffer))
++ x = (int) strlen(buffer);
++ wmove(win, y0, x0);
++ wprintw(win, "%-*s", limit, buffer);
++ wmove(win, y0, x0 + x);
++ switch (ch = wGetchar(win)) {
++ case '\n':
++ case KEY_ENTER:
++ done = TRUE;
++ break;
++ case CTRL('U'):
++ *buffer = '\0';
++ break;
++ case '\b':
++ case KEY_BACKSPACE:
++ case KEY_DC:
++ if (x > 0) {
++ int j;
++ for (j = --x; (buffer[j] = buffer[j + 1]) != '\0'; ++j) {
++ ;
++ }
++ } else {
++ beep();
++ }
++ break;
++ case KEY_LEFT:
++ if (x > 0) {
++ --x;
++ } else {
++ flash();
++ }
++ break;
++ case KEY_RIGHT:
++ ++x;
++ break;
++ default:
++ if (!isprint(ch) || ch >= KEY_MIN) {
++ beep();
++ } else if ((int) strlen(buffer) < limit) {
++ int j;
++ for (j = strlen(buffer) + 1; j > x; --j) {
++ buffer[j] = buffer[j - 1];
++ }
++ buffer[x++] = ch;
++ } else {
++ flash();
++ }
++ }
++ }
++
++ wattroff(win, A_REVERSE);
++ wmove(win, y0, x0);
++ noecho();
++}
++
+ #if USE_WIDEC_SUPPORT
+ static int
+ wGet_wchar(WINDOW *win, wint_t * result)
+@@ -206,6 +255,98 @@
+ }
+ #define Get_wchar(result) wGet_wchar(stdscr, result)
+
++/* replaces wgetn_wstr(), since we want to be able to edit values */
++static void
++wGet_wstring(WINDOW *win, wchar_t * buffer, int limit)
++{
++ int y0, x0, x;
++ wint_t ch;
++ bool done = FALSE;
++
++ echo();
++ getyx(win, y0, x0);
++ wattrset(win, A_REVERSE);
++
++ x = wcslen(buffer);
++ while (!done) {
++ if (x > (int) wcslen(buffer))
++ x = (int) wcslen(buffer);
++ wmove(win, y0, x0);
++ waddnwstr(win, buffer, limit);
++ if (x < limit)
++ wprintw(win, "%*s", limit - x, " ");
++ wmove(win, y0, x0 + x);
++ switch (wGet_wchar(win, &ch)) {
++ case KEY_CODE_YES:
++ switch (ch) {
++ case KEY_ENTER:
++ ch = '\n';
++ break;
++ case KEY_BACKSPACE:
++ case KEY_DC:
++ ch = '\b';
++ break;
++ case KEY_LEFT:
++ case KEY_RIGHT:
++ break;
++ default:
++ ch = -1;
++ break;
++ }
++ case OK:
++ break;
++ default:
++ ch = -1;
++ break;
++ }
++
++ switch (ch) {
++ case '\n':
++ done = TRUE;
++ break;
++ case CTRL('U'):
++ *buffer = '\0';
++ break;
++ case '\b':
++ if (x > 0) {
++ int j;
++ for (j = --x; (buffer[j] = buffer[j + 1]) != '\0'; ++j) {
++ ;
++ }
++ } else {
++ beep();
++ }
++ break;
++ case KEY_LEFT:
++ if (x > 0) {
++ --x;
++ } else {
++ flash();
++ }
++ break;
++ case KEY_RIGHT:
++ ++x;
++ break;
++ default:
++ if (!isprint(ch) || ch >= KEY_MIN) {
++ beep();
++ } else if ((int) wcslen(buffer) < limit) {
++ int j;
++ for (j = wcslen(buffer) + 1; j > x; --j) {
++ buffer[j] = buffer[j - 1];
++ }
++ buffer[x++] = ch;
++ } else {
++ flash();
++ }
++ }
++ }
++
++ wattroff(win, A_REVERSE);
++ wmove(win, y0, x0);
++ noecho();
++}
++
+ #endif
+
+ static void
+@@ -606,6 +747,7 @@
+ * For wgetch_test(), we create pairs of windows - one for a box, one for text.
+ * Resize both and paint the box in the parent.
+ */
++#ifdef KEY_RESIZE
+ static void
+ resize_wide_boxes(int level, WINDOW *win)
+ {
+@@ -640,17 +782,39 @@
+ }
+ doupdate();
+ }
++#endif /* KEY_RESIZE */
++
++static char *
++wcstos(const wchar_t * src)
++{
++ int need;
++ mbstate_t state;
++ char *result = 0;
++ const wchar_t *tmp = src;
++
++ memset(&state, 0, sizeof(state));
++ if ((need = wcsrtombs(0, &tmp, 0, &state)) > 0) {
++ result = calloc(need + 1, 1);
++ tmp = src;
++ if (wcsrtombs(result, &tmp, need, &state) != (size_t) need) {
++ free(result);
++ result = 0;
++ }
++ }
++ return result;
++}
+
+ static void
+ wget_wch_test(int level, WINDOW *win, int delay)
+ {
+- char buf[BUFSIZ];
++ wchar_t buf[BUFSIZ];
+ int first_y, first_x;
+ wint_t c;
+ int incount = 0;
+ bool flags[256];
+ bool blocking = (delay < 0);
+ int y, x, code;
++ char *temp;
+
+ memset(flags, FALSE, sizeof(flags));
+ flags['k'] = (win == stdscr);
+@@ -686,9 +850,14 @@
+ } else if (c == 'g') {
+ waddstr(win, "getstr test: ");
+ echo();
+- wgetnstr(win, buf, sizeof(buf) - 1);
++ wgetn_wstr(win, (wint_t *) buf, sizeof(buf) - 1);
+ noecho();
+- wprintw(win, "I saw %d characters:\n\t`%s'.", strlen(buf), buf);
++ if ((temp = wcstos(buf)) != 0) {
++ wprintw(win, "I saw %d characters:\n\t`%s'.", wcslen(buf), temp);
++ free(temp);
++ } else {
++ wprintw(win, "I saw %d characters (cannot convert).", wcslen(buf));
++ }
+ wclrtoeol(win);
+ wgetch_wrap(win, first_y);
+ } else if (c == 'k') {
+@@ -782,11 +951,40 @@
+ *
+ ****************************************************************************/
+
++#define MAX_ATTRSTRING 31
++#define LEN_ATTRSTRING 26
++
++static char attr_test_string[] = "abcde fghij klmno pqrst uvwxy z";
++
++static void
++adjust_attr_string(int adjust)
++{
++ int first = ((int) UChar(attr_test_string[0])) + adjust;
++ int last = first + LEN_ATTRSTRING;
++
++ if (first >= ' ' && last <= '~') { /* 32..126 */
++ int j, k;
++ for (j = 0, k = first; k <= last; ++j, ++k) {
++ attr_test_string[j] = k;
++ if (((k + 1 - first) % 5) == 0) {
++ ++j;
++ if (j < MAX_ATTRSTRING)
++ attr_test_string[j] = ' ';
++ }
++ }
++ while (j < MAX_ATTRSTRING)
++ attr_test_string[j++] = ' ';
++ attr_test_string[j] = '\0';
++ } else {
++ beep();
++ }
++}
++
+ static int
+ show_attr(int row, int skip, chtype attr, const char *name)
+ {
+- static const char *string = "abcde fghij klmno pqrst uvwxy z";
+ int ncv = tigetnum("ncv");
++ chtype test = attr & ~A_ALTCHARSET;
+
+ mvprintw(row, 8, "%s mode:", name);
+ mvprintw(row, 24, "|");
+@@ -804,29 +1002,24 @@
+ * is possible to turn off the A_ALTCHARSET flag for the characters which
+ * are added, and it would be an unexpected result to have the mapped
+ * characters visible on the screen.
+- *
+- * This example works because the indices into acs_map[] are mostly from
+- * the lowercase characters.
+ */
+ if (attr & A_ALTCHARSET) {
+- const char *s = string;
+- while (*s) {
+- int ch = *s++;
+-#ifdef CURSES_ACS_ARRAY
+- if ((ch = CURSES_ACS_ARRAY[ch]) == 0)
+- ch = ' ';
+-#endif
++ const char *s;
++ int ch;
++
++ for (s = attr_test_string; *s != '\0'; ++s) {
++ ch = UChar(*s);
+ addch(ch);
+ }
+ } else {
+- addstr(string);
++ addstr(attr_test_string);
+ }
+ attroff(attr);
+ if (skip)
+ printw("%*s", skip, " ");
+ printw("|");
+- if (attr != A_NORMAL) {
+- if (!(termattrs() & attr)) {
++ if (test != A_NORMAL) {
++ if (!(termattrs() & test)) {
+ printw(" (N/A)");
+ } else if (ncv > 0 && (getbkgd(stdscr) & A_COLOR)) {
+ static const chtype table[] =
+@@ -867,7 +1060,8 @@
+ } else if (ch == CTRL('L')) {
+ touchwin(stdscr);
+ touchwin(curscr);
+- } else if (has_colors()) {
++ wrefresh(curscr);
++ } else {
+ switch (ch) {
+ case 'a':
+ *ac = 0;
+@@ -875,39 +1069,40 @@
+ case 'A':
+ *ac = A_ALTCHARSET;
+ break;
+- case 'f':
+- *fg = (*fg + 1);
+- break;
+- case 'F':
+- *fg = (*fg - 1);
+- break;
+- case 'b':
+- *bg = (*bg + 1);
++ case '<':
++ adjust_attr_string(-1);
+ break;
+- case 'B':
+- *bg = (*bg - 1);
++ case '>':
++ adjust_attr_string(1);
+ break;
+ default:
+- return FALSE;
+- }
+- if (*fg >= max_colors)
+- *fg = 0;
+- if (*fg < 0)
+- *fg = max_colors - 1;
+- if (*bg >= max_colors)
+- *bg = 0;
+- if (*bg < 0)
+- *bg = max_colors - 1;
+- } else {
+- switch (ch) {
+- case 'a':
+- *ac = 0;
+- break;
+- case 'A':
+- *ac = A_ALTCHARSET;
++ if (has_colors()) {
++ switch (ch) {
++ case 'f':
++ *fg = (*fg + 1);
++ break;
++ case 'F':
++ *fg = (*fg - 1);
++ break;
++ case 'b':
++ *bg = (*bg + 1);
++ break;
++ case 'B':
++ *bg = (*bg - 1);
++ break;
++ default:
++ return FALSE;
++ }
++ if (*fg >= max_colors)
++ *fg = 0;
++ if (*fg < 0)
++ *fg = max_colors - 1;
++ if (*bg >= max_colors)
++ *bg = 0;
++ if (*bg < 0)
++ *bg = max_colors - 1;
++ }
+ break;
+- default:
+- return FALSE;
+ }
+ }
+ return TRUE;
+@@ -965,12 +1160,12 @@
+ mvprintw(row + 1, 8,
+ "Enter a digit to set gaps on each side of displayed attributes");
+ mvprintw(row + 2, 8,
+- "^L = repaint");
++ "^L repaints, </> shifts, ");
+ if (has_colors())
+- printw(". f/F/b/F toggle colors (now %d/%d), a/A altcharset (%d)",
++ printw("f/F/b/F toggle color (now %d/%d), a/A ACS (%d)",
+ fg, bg, ac != 0);
+ else
+- printw(". a/A altcharset (%d)", ac != 0);
++ printw("a/A ACS (%d)", ac != 0);
+
+ refresh();
+ } while (attr_getc(&n, &fg, &bg, &ac));
+@@ -1241,15 +1436,73 @@
+ *
+ ****************************************************************************/
+
++#define SLK_HELP 17
++#define SLK_WORK (SLK_HELP + 3)
++
++static void
++slk_help(void)
++{
++ static const char *table[] =
++ {
++ "Available commands are:"
++ ,""
++ ,"^L -- repaint this message and activate soft keys"
++ ,"a/d -- activate/disable soft keys"
++ ,"c -- set centered format for labels"
++ ,"l -- set left-justified format for labels"
++ ,"r -- set right-justified format for labels"
++ ,"[12345678] -- set label; labels are numbered 1 through 8"
++ ,"e -- erase stdscr (should not erase labels)"
++ ,"s -- test scrolling of shortened screen"
++#if HAVE_SLK_COLOR
++ ,"F/B -- cycle through foreground/background colors"
++#endif
++ ,"x, q -- return to main menu"
++ ,""
++ ,"Note: if activating the soft keys causes your terminal to scroll up"
++ ,"one line, your terminal auto-scrolls when anything is written to the"
++ ,"last screen position. The ncurses code does not yet handle this"
++ ,"gracefully."
++ };
++ unsigned j;
++
++ move(2, 0);
++ for (j = 0; j < SIZEOF(table); ++j) {
++ P(table[j]);
++ }
++ refresh();
++}
++
+ static void
+ slk_test(void)
+ /* exercise the soft keys */
+ {
+ int c, fmt = 1;
+ char buf[9];
++ char *s;
++#if HAVE_SLK_COLOR
++ short fg = COLOR_BLACK;
++ short bg = COLOR_WHITE;
++ bool new_color = FALSE;
++#endif
+
+ c = CTRL('l');
++#if HAVE_SLK_COLOR
++ if (has_colors()) {
++ new_color = TRUE;
++ }
++#endif
++
+ do {
++#if HAVE_SLK_COLOR
++ if (new_color) {
++ init_pair(1, bg, fg);
++ slk_color(1);
++ new_color = FALSE;
++ mvprintw(SLK_WORK, 0, "Colors %d/%d\n", fg, bg);
++ refresh();
++ }
++#endif
+ move(0, 0);
+ switch (c) {
+ case CTRL('l'):
+@@ -1258,25 +1511,7 @@
+ mvaddstr(0, 20, "Soft Key Exerciser");
+ attroff(A_BOLD);
+
+- move(2, 0);
+- P("Available commands are:");
+- P("");
+- P("^L -- refresh screen");
+- P("a -- activate or restore soft keys");
+- P("d -- disable soft keys");
+- P("c -- set centered format for labels");
+- P("l -- set left-justified format for labels");
+- P("r -- set right-justified format for labels");
+- P("[12345678] -- set label; labels are numbered 1 through 8");
+- P("e -- erase stdscr (should not erase labels)");
+- P("s -- test scrolling of shortened screen");
+- P("x, q -- return to main menu");
+- P("");
+- P("Note: if activating the soft keys causes your terminal to");
+- P("scroll up one line, your terminal auto-scrolls when anything");
+- P("is written to the last screen position. The ncurses code");
+- P("does not yet handle this gracefully.");
+- refresh();
++ slk_help();
+ /* fall through */
+
+ case 'a':
+@@ -1288,7 +1523,7 @@
+ break;
+
+ case 's':
+- mvprintw(20, 0, "Press Q to stop the scrolling-test: ");
++ mvprintw(SLK_WORK, 0, "Press Q to stop the scrolling-test: ");
+ while ((c = Getchar()) != 'Q' && (c != ERR))
+ addch((chtype) c);
+ break;
+@@ -1317,20 +1552,155 @@
+ case '6':
+ case '7':
+ case '8':
+- (void) mvaddstr(20, 0, "Please enter the label value: ");
+- echo();
+- wgetnstr(stdscr, buf, 8);
+- noecho();
++ (void) mvaddstr(SLK_WORK, 0, "Please enter the label value: ");
++ strcpy(buf, "");
++ if ((s = slk_label(c - '0')) != 0) {
++ strncpy(buf, s, 8);
++ }
++ wGetstring(stdscr, buf, 8);
+ slk_set((c - '0'), buf, fmt);
+ slk_refresh();
+- move(20, 0);
+- clrtoeol();
++ move(SLK_WORK, 0);
++ clrtobot();
++ break;
++
++ case 'x':
++ case 'q':
++ goto done;
++
++#if HAVE_SLK_COLOR
++ case 'F':
++ if (has_colors()) {
++ fg = (fg + 1) % max_colors;
++ new_color = TRUE;
++ }
++ break;
++ case 'B':
++ if (has_colors()) {
++ bg = (bg + 1) % max_colors;
++ new_color = TRUE;
++ }
++ break;
++#endif
++
++ default:
++ beep();
++ }
++ } while
++ ((c = Getchar()) != EOF);
++
++ done:
++ erase();
++ endwin();
++}
++
++#if USE_WIDEC_SUPPORT
++static void
++wide_slk_test(void)
++/* exercise the soft keys */
++{
++ int c, fmt = 1;
++ wchar_t buf[9];
++ char *s;
++ short fg = COLOR_BLACK;
++ short bg = COLOR_WHITE;
++ bool new_color = FALSE;
++
++ c = CTRL('l');
++ if (has_colors()) {
++ new_color = TRUE;
++ }
++ do {
++ if (new_color) {
++ init_pair(1, bg, fg);
++ slk_color(1);
++ new_color = FALSE;
++ mvprintw(SLK_WORK, 0, "Colors %d/%d\n", fg, bg);
++ refresh();
++ }
++ move(0, 0);
++ switch (c) {
++ case CTRL('l'):
++ erase();
++ attr_on(WA_BOLD, NULL);
++ mvaddstr(0, 20, "Soft Key Exerciser");
++ attr_off(WA_BOLD, NULL);
++
++ slk_help();
++ /* fall through */
++
++ case 'a':
++ slk_restore();
++ break;
++
++ case 'e':
++ wclear(stdscr);
++ break;
++
++ case 's':
++ mvprintw(SLK_WORK, 0, "Press Q to stop the scrolling-test: ");
++ while ((c = Getchar()) != 'Q' && (c != ERR))
++ addch((chtype) c);
++ break;
++
++ case 'd':
++ slk_clear();
++ break;
++
++ case 'l':
++ fmt = 0;
++ break;
++
++ case 'c':
++ fmt = 1;
++ break;
++
++ case 'r':
++ fmt = 2;
++ break;
++
++ case '1':
++ case '2':
++ case '3':
++ case '4':
++ case '5':
++ case '6':
++ case '7':
++ case '8':
++ (void) mvaddstr(SLK_WORK, 0, "Please enter the label value: ");
++ *buf = 0;
++ if ((s = slk_label(c - '0')) != 0) {
++ int j;
++ for (j = 0; j < 8; ++j) {
++ if ((buf[j] = UChar(s[j])) == 0)
++ break;
++ }
++ buf[j] = 0;
++ }
++ wGet_wstring(stdscr, buf, 8);
++ slk_wset((c - '0'), buf, fmt);
++ slk_refresh();
++ move(SLK_WORK, 0);
++ clrtobot();
+ break;
+
+ case 'x':
+ case 'q':
+ goto done;
+
++ case 'F':
++ if (has_colors()) {
++ fg = (fg + 1) % max_colors;
++ new_color = TRUE;
++ }
++ break;
++ case 'B':
++ if (has_colors()) {
++ bg = (bg + 1) % max_colors;
++ new_color = TRUE;
++ }
++ break;
++
+ default:
+ beep();
+ }
+@@ -1341,6 +1711,7 @@
+ erase();
+ endwin();
+ }
++#endif
+
+ /****************************************************************************
+ *
+@@ -1624,13 +1995,15 @@
+ }
+
+ static int
+-show_2_wacs(int n, const char *name, char *code)
++show_2_wacs(int n, const char *name, const char *code)
+ {
+ const int height = 16;
+ int row = 4 + (n % height);
+ int col = (n / height) * COLS / 2;
++ char temp[80];
++
+ mvprintw(row, col, "%*s : ", COLS / 4, name);
+- addstr(code);
++ addstr(strcpy(temp, code));
+ return n + 1;
+ }
+
+@@ -1683,7 +2056,8 @@
+ n = show_2_wacs(n, "WACS_S3", "\342\216\273");
+ n = show_2_wacs(n, "WACS_S7", "\342\216\274");
+ n = show_2_wacs(n, "WACS_S9", "\342\216\275");
+- /* *INDENT-OFF* */
++ /* *INDENT-ON* */
++
+ }
+
+ static void
+@@ -3747,12 +4121,80 @@
+ }
+ }
+
++/*
++ * Allow a middle initial, optionally with a '.' to end it.
++ */
++static bool
++mi_field_check(FIELD * fld, const void *data GCC_UNUSED)
++{
++ char *s = field_buffer(fld, 0);
++ int state = 0;
++ int n;
++
++ for (n = 0; s[n] != '\0'; ++n) {
++ switch (state) {
++ case 0:
++ if (s[n] == '.') {
++ if (n != 1)
++ return FALSE;
++ state = 2;
++ } else if (isspace(UChar(s[n]))) {
++ state = 2;
++ }
++ break;
++ case 2:
++ if (!isspace(UChar(s[n])))
++ return FALSE;
++ break;
++ }
++ }
++
++ /* force the form to display a leading capital */
++ if (islower(UChar(s[0]))) {
++ s[0] = toupper(UChar(s[0]));
++ set_field_buffer(fld, 0, s);
++ }
++ return TRUE;
++}
++
++static bool
++mi_char_check(int ch, const void *data GCC_UNUSED)
++{
++ return ((isalpha(ch) || ch == '.') ? TRUE : FALSE);
++}
++
++/*
++ * Passwords should be at least 6 characters.
++ */
++static bool
++pw_field_check(FIELD * fld, const void *data GCC_UNUSED)
++{
++ char *s = field_buffer(fld, 0);
++ int n;
++
++ for (n = 0; s[n] != '\0'; ++n) {
++ if (isspace(UChar(s[n]))) {
++ if (n < 6)
++ return FALSE;
++ }
++ }
++ return TRUE;
++}
++
++static bool
++pw_char_check(int ch, const void *data GCC_UNUSED)
++{
++ return (isgraph(ch) ? TRUE : FALSE);
++}
++
+ static void
+ demo_forms(void)
+ {
+ WINDOW *w;
+ FORM *form;
+ FIELD *f[12], *secure;
++ FIELDTYPE *fty_middle = new_fieldtype(mi_field_check, mi_char_check);
++ FIELDTYPE *fty_passwd = new_fieldtype(pw_field_check, pw_char_check);
+ int finished = 0, c;
+ unsigned n = 0;
+
+@@ -3775,17 +4217,26 @@
+
+ /* describe the form */
+ f[n++] = make_label(0, 15, "Sample Form");
++
+ f[n++] = make_label(2, 0, "Last Name");
+ f[n++] = make_field(3, 0, 1, 18, FALSE);
++ set_field_type(f[n - 1], TYPE_ALPHA, 1);
++
+ f[n++] = make_label(2, 20, "First Name");
+ f[n++] = make_field(3, 20, 1, 12, FALSE);
++ set_field_type(f[n - 1], TYPE_ALPHA, 1);
++
+ f[n++] = make_label(2, 34, "Middle Name");
+ f[n++] = make_field(3, 34, 1, 12, FALSE);
++ set_field_type(f[n - 1], fty_middle);
++
+ f[n++] = make_label(5, 0, "Comments");
+ f[n++] = make_field(6, 0, 4, 46, FALSE);
++
+ f[n++] = make_label(5, 20, "Password:");
+ secure =
+ f[n++] = make_field(5, 30, 1, 9, TRUE);
++ set_field_type(f[n - 1], fty_passwd);
+ f[n++] = (FIELD *) 0;
+
+ form = new_form(f);
+@@ -3982,6 +4433,11 @@
+ slk_test();
+ break;
+
++#if USE_WIDEC_SUPPORT
++ case 'E':
++ wide_slk_test();
++ break;
++#endif
+ case 'f':
+ acs_display();
+ break;
+@@ -4252,6 +4708,9 @@
+ (void) puts("c = color test pattern");
+ (void) puts("d = edit RGB color values");
+ (void) puts("e = exercise soft keys");
++#if USE_WIDEC_SUPPORT
++ (void) puts("E = exercise soft keys using wide-characters");
++#endif
+ (void) puts("f = display ACS characters");
+ #if USE_WIDEC_SUPPORT
+ (void) puts("F = display Wide-ACS characters");
+diff -urNd -urNd ncurses-5.3/test/railroad.c ncurses-5.3.20030906.orig/test/railroad.c
+--- ncurses-5.3/test/railroad.c Sat Apr 6 14:45:22 2002
++++ ncurses-5.3.20030906.orig/test/railroad.c Tue May 13 20:08:23 2003
+@@ -29,14 +29,12 @@
+ /*
+ * Author: Thomas E. Dickey <dickey@clark.net> 2000
+ *
+- * $Id: railroad.c,v 1.10 2002/04/06 20:45:22 tom Exp $
++ * $Id: railroad.c,v 1.11 2002/10/19 22:11:24 tom Exp $
+ *
+ * A simple demo of the termcap interface.
+ */
+ #include <test.priv.h>
+
+-#include <ctype.h>
+-
+ static char *wipeit;
+ static char *moveit;
+ static int length;
+diff -urNd -urNd ncurses-5.3/test/tclock.c ncurses-5.3.20030906.orig/test/tclock.c
+--- ncurses-5.3/test/tclock.c Sat Jun 29 18:34:13 2002
++++ ncurses-5.3.20030906.orig/test/tclock.c Tue May 13 20:08:23 2003
+@@ -1,6 +1,6 @@
+-/* $Id: tclock.c,v 1.22 2002/06/29 23:34:13 tom Exp $ */
++/* $Id: tclock.c,v 1.24 2002/12/29 01:40:30 tom Exp $ */
+
+-#include "test.priv.h"
++#include <test.priv.h>
+
+ #include <math.h>
+
+@@ -125,9 +125,11 @@
+ int sdx, sdy;
+ int ch;
+ int lastbeep = -1;
++ bool odd = FALSE;
+ time_t tim;
+ struct tm *t;
+ char szChar[10];
++ char *text;
+ int my_bg = COLOR_BLACK;
+ #if HAVE_GETTIMEOFDAY
+ struct timeval current;
+@@ -151,6 +153,7 @@
+ init_pair(1, COLOR_RED, my_bg);
+ init_pair(2, COLOR_MAGENTA, my_bg);
+ init_pair(3, COLOR_GREEN, my_bg);
++ init_pair(4, COLOR_WHITE, COLOR_BLUE);
+ }
+ #ifdef KEY_RESIZE
+ keypad(stdscr, TRUE);
+@@ -218,11 +221,16 @@
+ if (has_colors())
+ attrset(COLOR_PAIR(0));
+
+- mvaddstr(LINES - 2, 0, ctime(&tim));
++ text = ctime(&tim);
++ mvprintw(2, 0, "%.*s", (int) (strlen(text) - 1), text);
+ refresh();
+ if ((t->tm_sec % 5) == 0
+ && t->tm_sec != lastbeep) {
+ lastbeep = t->tm_sec;
++ if (has_colors()) {
++ odd = !odd;
++ bkgd(odd ? COLOR_PAIR(4) : COLOR_PAIR(0));
++ }
+ beep();
+ }
+
+diff -urNd -urNd ncurses-5.3/test/test.priv.h ncurses-5.3.20030906.orig/test/test.priv.h
+--- ncurses-5.3/test/test.priv.h Sat Jun 29 18:36:12 2002
++++ ncurses-5.3.20030906.orig/test/test.priv.h Tue May 13 20:08:23 2003
+@@ -1,5 +1,5 @@
+ /****************************************************************************
+- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
++ * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+@@ -29,17 +29,32 @@
+ /****************************************************************************
+ * Author: Thomas E. Dickey <dickey@clark.net> 1996 *
+ ****************************************************************************/
+-/* $Id: test.priv.h,v 1.35 2002/06/29 23:36:12 tom Exp $ */
++/* $Id: test.priv.h,v 1.45 2003/04/26 18:23:36 tom Exp $ */
++
++#ifndef __TEST_PRIV_H
++#define __TEST_PRIV_H 1
+
+-#if HAVE_CONFIG_H
+ #include <ncurses_cfg.h>
+-#else
+-#define HAVE_CURSES_VERSION 0
+-#define HAVE_RESIZETERM 0
+-#define HAVE_USE_DEFAULT_COLORS 0
+-#define HAVE_WRESIZE 0
++
++/*
++ * Fix ifdef's that look for the form/menu/panel libraries, if we are building
++ * with wide-character ncurses.
++ */
++#ifdef HAVE_LIBFORMW
++#define HAVE_LIBFORM 1
++#endif
++
++#ifdef HAVE_LIBMENUW
++#define HAVE_LIBMENU 1
++#endif
++
++#ifdef HAVE_LIBPANELW
++#define HAVE_LIBPANEL 1
+ #endif
+
++/*
++ * Fallback definitions to accommodate broken compilers
++ */
+ #ifndef HAVE_CURSES_VERSION
+ #define HAVE_CURSES_VERSION 0
+ #endif
+@@ -80,10 +95,18 @@
+ #define HAVE_PANEL_H 0
+ #endif
+
++#ifndef HAVE_SLK_COLOR
++#define HAVE_SLK_COLOR 0
++#endif
++
+ #ifndef HAVE_WRESIZE
+ #define HAVE_WRESIZE 0
+ #endif
+
++#ifndef NCURSES_EXT_FUNCS
++#define NCURSES_EXT_FUNCS 0
++#endif
++
+ #ifndef NCURSES_NOMACROS
+ #define NCURSES_NOMACROS 0
+ #endif
+@@ -125,6 +148,9 @@
+ #define setlocale(name,string) /* nothing */
+ #endif
+
++#include <assert.h>
++#include <ctype.h>
++
+ #ifndef GCC_NORETURN
+ #define GCC_NORETURN /* nothing */
+ #endif
+@@ -144,24 +170,48 @@
+ #endif
+ #endif
+
++#if HAVE_PANEL_H && HAVE_LIBPANEL
++#define USE_LIBPANEL 1
++#else
++#define USE_LIBPANEL 0
++#endif
++
++#if HAVE_MENU_H && HAVE_LIBMENU
++#define USE_LIBMENU 1
++#else
++#define USE_LIBMENU 0
++#endif
++
++#if HAVE_FORM_H && HAVE_LIBFORM
++#define USE_LIBFORM 1
++#else
++#define USE_LIBFORM 0
++#endif
++
+ #ifndef HAVE_TYPE_ATTR_T
+ #if !USE_WIDEC_SUPPORT
+ #define attr_t long
+ #endif
+ #endif
+
+-#ifndef NCURSES_CH_T
++#undef NCURSES_CH_T
+ #if !USE_WIDEC_SUPPORT
+ #define NCURSES_CH_T chtype
+ #else
+ #define NCURSES_CH_T cchar_t
+ #endif
+-#endif
+
+ #ifndef CCHARW_MAX
+ #define CCHARW_MAX 5
+ #endif
+
++#ifndef CTRL
++#define CTRL(x) ((x) & 0x1f)
++#endif
++
++#define QUIT CTRL('Q')
++#define ESCAPE CTRL('[')
++
+ #ifndef KEY_MIN
+ #define KEY_MIN 256 /* not defined in Solaris 8 */
+ #endif
+@@ -216,3 +266,21 @@
+ #ifndef NCURSES_CONST
+ #define NCURSES_CONST /* nothing */
+ #endif
++
++/* out-of-band values for representing absent capabilities */
++#define ABSENT_BOOLEAN (-1) /* 255 */
++#define ABSENT_NUMERIC (-1)
++#define ABSENT_STRING (char *)0
++
++/* out-of-band values for representing cancels */
++#define CANCELLED_BOOLEAN (char)(-2) /* 254 */
++#define CANCELLED_NUMERIC (-2)
++#define CANCELLED_STRING (char *)(-1)
++
++#define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */
++#define VALID_NUMERIC(s) ((s) >= 0)
++#define VALID_STRING(s) ((s) != CANCELLED_STRING && (s) != ABSENT_STRING)
++
++#define VT_ACSC "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~"
++
++#endif /* __TEST_PRIV_H */
+diff -urNd -urNd ncurses-5.3/test/testcurs.c ncurses-5.3.20030906.orig/test/testcurs.c
+--- ncurses-5.3/test/testcurs.c Sat Sep 14 17:45:15 2002
++++ ncurses-5.3.20030906.orig/test/testcurs.c Tue May 13 20:08:23 2003
+@@ -7,11 +7,10 @@
+ * wrs(5/28/93) -- modified to be consistent (perform identically) with either
+ * PDCurses or under Unix System V, R4
+ *
+- * $Id: testcurs.c,v 1.31 2002/09/14 22:45:15 tom Exp $
++ * $Id: testcurs.c,v 1.32 2002/10/19 22:11:24 tom Exp $
+ */
+
+ #include <test.priv.h>
+-#include <ctype.h>
+
+ #if defined(XCURSES)
+ char *XCursesProgramName = "testcurs";
+diff -urNd -urNd ncurses-5.3/test/testscanw.c ncurses-5.3.20030906.orig/test/testscanw.c
+--- ncurses-5.3/test/testscanw.c Sat Jun 29 18:32:18 2002
++++ ncurses-5.3.20030906.orig/test/testscanw.c Tue May 13 20:08:23 2003
+@@ -2,10 +2,9 @@
+ * Date: 1997/03/17
+ * From: bayern@morpheus.cis.yale.edu
+ *
+- * $Id: testscanw.c,v 1.9 2002/06/29 23:32:18 tom Exp $
++ * $Id: testscanw.c,v 1.10 2002/10/19 22:11:24 tom Exp $
+ */
+ #include <test.priv.h>
+-#include <ctype.h>
+
+ int
+ main(int argc, char *argv[])
+diff -urNd -urNd ncurses-5.3/test/view.c ncurses-5.3.20030906.orig/test/view.c
+--- ncurses-5.3/test/view.c Sat Jun 29 18:28:27 2002
++++ ncurses-5.3.20030906.orig/test/view.c Sun Jul 20 14:02:08 2003
+@@ -23,10 +23,9 @@
+ * scroll operation worked, and the refresh() code only had to do a
+ * partial repaint.
+ *
+- * $Id: view.c,v 1.53 2002/06/29 23:28:27 tom Exp $
++ * $Id: view.c,v 1.57 2003/05/17 21:58:43 tom Exp $
+ */
+
+-#include <ctype.h>
+ #include <time.h>
+
+ #include <test.priv.h>
+@@ -54,7 +53,7 @@
+ static RETSIGTYPE finish(int sig) GCC_NORETURN;
+ static void show_all(const char *tag);
+
+-#if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZETERM
++#if defined(SIGWINCH) && defined(TIOCGWINSZ) && HAVE_RESIZE_TERM
+ #define CAN_RESIZE 1
+ #else
+ #define CAN_RESIZE 0
+@@ -496,14 +495,17 @@
+ clrtoeol();
+ if ((s = lptr[i - 1]) != 0) {
+ int len = ch_len(s);
+- if (len > shift)
++ if (len > shift) {
+ #if USE_WIDEC_SUPPORT
+ add_wchstr(s + shift);
+ #else
+ addchstr(s + shift);
+ #endif
++ }
++#if defined(NCURSES_VERSION) || defined(HAVE_WCHGAT)
+ if (try_color)
+ wchgat(stdscr, -1, A_NORMAL, my_pair, NULL);
++#endif
+ }
+ }
+ setscrreg(1, LINES - 1);
diff --git a/meta/packages/ncurses/ncurses/configure.patch b/meta/packages/ncurses/ncurses/configure.patch
new file mode 100644
index 0000000000..992e81008f
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/configure.patch
@@ -0,0 +1,193 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- ncurses-5.3/./configure.in~configure
++++ ncurses-5.3/./configure.in
+@@ -34,9 +34,10 @@
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
++AC_PREREQ(2.57)
+ AC_REVISION($Revision: 1.297 $)
+-AC_INIT(ncurses/base/lib_initscr.c)
++AC_INIT
++AC_CONFIG_SRCDIR([ncurses/base/lib_initscr.c])
+ AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
+
+ CF_SUBST_NCURSES_VERSION
+@@ -45,7 +46,7 @@
+ [AC_MSG_WARN(overriding ABI version to $withval)
+ cf_cv_abi_version=$withval])
+
+-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
++CF_CHECK_CACHE([AC_CANONICAL_TARGET([])])
+ AC_ARG_WITH(system-type,
+ [ --with-system-type=XXX test: override derived host system-type],
+ [AC_MSG_WARN(overriding system type to $withval)
+@@ -110,7 +111,7 @@
+ CF_GXX_VERSION
+ case $GXX_VERSION in
+ 1*|2.[[0-6]]*)
+- GXX=""; CXX=""; ac_cv_prog_gxx=no
++ GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
+ cf_cxx_library=no
+ AC_MSG_WARN(templates do not work)
+ ;;
+@@ -370,7 +371,7 @@
+ if test "$CC_SHARED_OPTS" = "unknown"; then
+ for model in $cf_list_models; do
+ if test "$model" = "shared"; then
+- AC_ERROR(Shared libraries are not supported in this version)
++ AC_MSG_ERROR([Shared libraries are not supported in this version])
+ fi
+ done
+ fi
+@@ -457,7 +458,7 @@
+ AC_ARG_ENABLE(big-core,
+ [ --disable-big-core assume machine has little memory],
+ [with_big_core=$enableval],
+- [AC_TRY_RUN([
++ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <stdlib.h>
+ #include <string.h>
+ int main() {
+@@ -466,10 +467,7 @@
+ if (s != 0)
+ s[0] = s[n-1] = 0;
+ exit(s == 0);
+-}],
+- [with_big_core=yes],
+- [with_big_core=no],
+- [with_big_core=no])])
++}]])],[with_big_core=yes],[with_big_core=no],[with_big_core=no])])
+ AC_MSG_RESULT($with_big_core)
+ test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
+
+@@ -484,7 +482,7 @@
+ if test "$with_termcap" != "yes" ; then
+ if test "$use_database" = no ; then
+ if test -z "$with_fallback" ; then
+- AC_ERROR(You have disabled the database w/o specifying fallbacks)
++ AC_MSG_ERROR([You have disabled the database w/o specifying fallbacks])
+ fi
+ fi
+ AC_DEFINE(PURE_TERMINFO)
+@@ -903,7 +901,7 @@
+ AC_SUBST(MATH_LIB)
+
+ ### Checks for header files.
+-AC_STDC_HEADERS
++AC_HEADER_STDC([])
+ AC_HEADER_DIRENT
+ AC_HEADER_TIME
+ CF_REGEX
+@@ -937,7 +935,7 @@
+ CF_SYS_TIME_SELECT
+
+ ### checks for compiler characteristics
+-AC_LANG_C
++AC_LANG([C])
+ AC_C_CONST
+ AC_C_INLINE
+ test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
+@@ -1012,7 +1010,7 @@
+
+ # Check for C++ compiler characteristics (and ensure that it's there!)
+ if test -n "$CXX" ; then
+- AC_LANG_CPLUSPLUS
++ AC_LANG([C++])
+ CF_STDCPP_LIBRARY
+
+ case $GXX_VERSION in
+@@ -1286,15 +1284,16 @@
+
+ ################################################################################
+ test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+-AC_OUTPUT( \
++AC_CONFIG_FILES([\
+ include/MKterm.h.awk \
+ include/curses.head:include/curses.h.in \
+ include/termcap.h \
+ include/unctrl.h \
+ $SUB_MAKEFILES \
+- Makefile,[
++ Makefile])
++AC_CONFIG_COMMANDS([default],[[
+ CF_LIB_RULES
+-],[
++]],[[
+ ### Special initialization commands, used to pass information from the
+ ### configuration-run into config.status
+
+@@ -1324,5 +1323,6 @@
+ cf_with_cxx_binding="$cf_with_cxx_binding"
+ host="$host"
+
+-],cat)dnl
++]])
++AC_OUTPUTdnl
+ ${MAKE-make} preinstall
+--- ncurses-5.3/./test/configure.in~configure
++++ ncurses-5.3/./test/configure.in
+@@ -38,8 +38,9 @@
+ dnl
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
+-AC_INIT(ncurses.c)
++AC_PREREQ(2.57)
++AC_INIT
++AC_CONFIG_SRCDIR([ncurses.c])
+ AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
+
+ CF_INHERIT_SCRIPT(config.guess)
+@@ -129,7 +130,7 @@
+
+ AC_TYPE_SIGNAL
+
+-AC_STDC_HEADERS
++AC_HEADER_STDC([])
+ AC_HEADER_TIME
+ AC_CHECK_HEADERS( \
+ form.h \
+@@ -160,9 +161,8 @@
+ wresize \
+ )
+
+-AC_TRY_LINK([
+-#include <${cf_cv_ncurses_header-curses.h}>],
+-[
++AC_LINK_IFELSE([AC_LANG_PROGRAM([[
++#include <${cf_cv_ncurses_header-curses.h}>]], [[
+ (void) assume_default_colors (0, 0);
+ (void) curses_version ();
+ (void) define_key (0, 0);
+@@ -175,7 +175,7 @@
+ (void) use_default_colors ();
+ (void) use_extended_names (0);
+ (void) wresize (0, 0, 0);
+- ],[AC_DEFINE(NCURSES_EXT_FUNCS)])
++ ]])],[AC_DEFINE(NCURSES_EXT_FUNCS)],[])
+
+ CF_SYS_TIME_SELECT
+ CF_FUNC_CURSES_VERSION
+@@ -186,7 +186,8 @@
+
+ dnl ---------------------------------------------------------------------------
+
+-AC_OUTPUT(Makefile,[
++AC_CONFIG_FILES([Makefile])
++AC_CONFIG_COMMANDS([default],[[
+ cat >>Makefile <<TEST_EOF
+
+ # These rules are generated so we do not rely on suffix rules, which do not
+@@ -204,4 +205,5 @@
+ @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) $N.c
+ TEST_EOF
+ done
+-],[],sort)
++]],[[]])
++AC_OUTPUT
diff --git a/meta/packages/ncurses/ncurses/mk_shared_lib.patch b/meta/packages/ncurses/ncurses/mk_shared_lib.patch
new file mode 100644
index 0000000000..1e2ea6a028
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/mk_shared_lib.patch
@@ -0,0 +1,27 @@
+
+#
+# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- ncurses-4.2/aclocal.m4~mk_sharedlib
++++ ncurses-4.2/aclocal.m4
+@@ -1201,7 +1201,7 @@
+ linux*)
+ # tested with Linux 2.0.29 and gcc 2.7.2 (ELF)
+ CC_SHARED_OPTS='-fPIC'
+- MK_SHARED_LIB='gcc -o $[@].$(REL_VERSION) -L../lib -L\$(libdir) -shared -Wl,-soname,`basename $[@].$(ABI_VERSION)`,-stats,$(SHLIB_LIST)-lc'
++ MK_SHARED_LIB='$(CC) -o $[@].$(REL_VERSION) -L../lib -shared -Wl,-soname,`basename $[@].$(ABI_VERSION)`,-stats,$(SHLIB_LIST)-lc'
+ test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
+ if test $DFT_LWR_MODEL = "shared" ; then
+ LOCAL_LDFLAGS='-Wl,-rpath,../lib'
+--- ncurses-4.2/configure~mk_sharedlib
++++ ncurses-4.2/configure
+@@ -2216,7 +2216,7 @@
+ linux*)
+ # tested with Linux 2.0.29 and gcc 2.7.2 (ELF)
+ CC_SHARED_OPTS='-fPIC'
+- MK_SHARED_LIB='gcc -o $@.$(REL_VERSION) -L../lib -L\$(libdir) -shared -Wl,-soname,`basename $@.$(ABI_VERSION)`,-stats,$(SHLIB_LIST)-lc'
++ MK_SHARED_LIB='$(CC) -o $@.$(REL_VERSION) -L../lib -shared -Wl,-soname,`basename $@.$(ABI_VERSION)`,-stats,$(SHLIB_LIST)-lc'
+ test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
+ if test $DFT_LWR_MODEL = "shared" ; then
+ LOCAL_LDFLAGS='-Wl,-rpath,../lib'
diff --git a/meta/packages/ncurses/ncurses/run_tic.patch b/meta/packages/ncurses/ncurses/run_tic.patch
new file mode 100644
index 0000000000..bebf8d4018
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/run_tic.patch
@@ -0,0 +1,23 @@
+
+#
+# Made by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- ncurses-4.2/misc/run_tic.sh~run_tic
++++ ncurses-4.2/misc/run_tic.sh
+@@ -108,7 +108,14 @@
+ SRC=$TMP
+ fi
+
+-if ( $srcdir/shlib tic -s $SRC )
++if [ "$HOSTCC" != "$CC" ]
++then
++ SHLIB=""
++else
++ SHLIB="$srcdir/shlib"
++fi
++
++if ( ${SHLIB} tic -s $SRC )
+ then
+ echo '** built new '$TERMINFO
+ else
diff --git a/meta/packages/ncurses/ncurses/tic.patch b/meta/packages/ncurses/ncurses/tic.patch
new file mode 100644
index 0000000000..b09da4cd0c
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/tic.patch
@@ -0,0 +1,19 @@
+--- ncurses-5.2/misc/run_tic.in Mon Oct 9 16:57:35 2000
++++ ncurses-5.2/misc/run_tic.in.new Thu Mar 14 17:13:20 2002
+@@ -105,7 +105,15 @@
+ problems for older ncurses applications.
+
+ EOF
+-if ( $srcdir/shlib tic$suffix -s -o $TERMINFO $source )
++
++if [ "$BUILD_CC" != "$CC" ]
++then
++ SHLIB=""
++else
++ SHLIB="$srcdir/shlib"
++fi
++
++if ( ${SHLIB} tic$suffix -s -o $TERMINFO $source )
+ then
+ echo '** built new '$TERMINFO
+ else
diff --git a/meta/packages/ncurses/ncurses/visibility.patch b/meta/packages/ncurses/ncurses/visibility.patch
new file mode 100644
index 0000000000..29cac5f1b8
--- /dev/null
+++ b/meta/packages/ncurses/ncurses/visibility.patch
@@ -0,0 +1,4904 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- ncurses-5.4/ncurses/Makefile.in~visibility.patch
++++ ncurses-5.4/ncurses/Makefile.in
+@@ -107,7 +107,7 @@
+ CFLAGS_NORMAL = $(CCFLAGS)
+ CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
+ CFLAGS_PROFILE = $(CCFLAGS) -pg
+-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
++CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
+
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+--- ncurses-5.4/panel/Makefile.in~visibility.patch
++++ ncurses-5.4/panel/Makefile.in
+@@ -88,7 +88,7 @@
+ CFLAGS_NORMAL = $(CCFLAGS)
+ CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
+ CFLAGS_PROFILE = $(CCFLAGS) -pg
+-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
++CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
+
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+--- ncurses-5.4/menu/Makefile.in~visibility.patch
++++ ncurses-5.4/menu/Makefile.in
+@@ -87,7 +87,7 @@
+ CFLAGS_NORMAL = $(CCFLAGS)
+ CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
+ CFLAGS_PROFILE = $(CCFLAGS) -pg
+-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
++CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
+
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+--- ncurses-5.4/c++/Makefile.in~visibility.patch
++++ ncurses-5.4/c++/Makefile.in
+@@ -80,7 +80,7 @@
+ CFLAGS_NORMAL = $(CCFLAGS)
+ CFLAGS_DEBUG = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
+ CFLAGS_PROFILE = $(CCFLAGS) -pg
+-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
++CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
+
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+--- ncurses-5.4/form/Makefile.in~visibility.patch
++++ ncurses-5.4/form/Makefile.in
+@@ -88,7 +88,7 @@
+ CFLAGS_NORMAL = $(CCFLAGS)
+ CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
+ CFLAGS_PROFILE = $(CCFLAGS) -pg
+-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
++CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ @LIBOPTS@
+
+ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
+
+--- ncurses-5.4/configure.in~visibility.patch
++++ ncurses-5.4/configure.in
+@@ -34,17 +34,20 @@
+ dnl See http://invisible-island.net/autoconf/ for additional information.
+ dnl
+ dnl ---------------------------------------------------------------------------
+-AC_PREREQ(2.13.20020210)
++AC_PREREQ(2.59)
+ AC_REVISION($Revision: 1.312 $)
+-AC_INIT(ncurses/base/lib_initscr.c)
++AC_INIT
++AC_CONFIG_SRCDIR([ncurses/base/lib_initscr.c])
+ AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
+
++m4_include([m4/templates.m4])
++
+ CF_SUBST_NCURSES_VERSION
+
+ CF_WITH_REL_VERSION(NCURSES)
+ CF_WITH_ABI_VERSION
+
+-CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
++CF_CHECK_CACHE([AC_CANONICAL_TARGET([])])
+ AC_ARG_WITH(system-type,
+ [ --with-system-type=XXX test: override derived host system-type],
+ [AC_MSG_WARN(overriding system type to $withval)
+@@ -100,7 +103,7 @@
+ CF_GXX_VERSION
+ case $GXX_VERSION in
+ 1*|2.[[0-6]]*)
+- GXX=""; CXX=""; ac_cv_prog_gxx=no
++ GXX=""; CXX=""; ac_cv_cxx_compiler_gnu=no
+ cf_cxx_library=no
+ AC_MSG_WARN(templates do not work)
+ ;;
+@@ -176,7 +179,6 @@
+ AC_SUBST(DESTDIR)
+
+ ###############################################################################
+-CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-compiling:)
+ # If we're cross-compiling, allow the user to override the tools and their
+ # options. The configure script is oriented toward identifying the host
+ # compiler, etc., but we need a build compiler to generate parts of the source.
+@@ -213,7 +215,6 @@
+ AC_SUBST(BUILD_EXEEXT)
+
+ ###############################################################################
+-CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
+
+ ### Options to allow the user to specify the set of libraries which are used.
+ ### Use "--without-normal --with-shared" to allow the default model to be
+@@ -343,11 +344,11 @@
+
+ AC_MSG_CHECKING(for default loader flags)
+ case $DFT_LWR_MODEL in
+-libtool) LD_MODEL='' ;;
++libtool) LD_MODEL=''; LIBOPTS="-DNCURSES_DLL" ;;
+ normal) LD_MODEL='' ;;
+ debug) LD_MODEL=$CC_G_OPT ;;
+ profile) LD_MODEL='-pg';;
+-shared) LD_MODEL='' ;;
++shared) LD_MODEL=''; LIBOPTS="-DNCURSES_DLL" ;;
+ esac
+ AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg)
+ AC_MSG_RESULT($LD_MODEL)
+@@ -363,14 +364,14 @@
+ if test "$CC_SHARED_OPTS" = "unknown"; then
+ for model in $cf_list_models; do
+ if test "$model" = "shared"; then
+- AC_ERROR(Shared libraries are not supported in this version)
++ AC_MSG_ERROR([Shared libraries are not supported in this version])
+ fi
+ done
+ fi
+
+-###############################################################################
+-CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
++AC_SUBST(LIBOPTS)
+
++###############################################################################
+ ### use option --disable-overwrite to leave out the link to -lcurses
+ AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
+ AC_ARG_ENABLE(overwrite,
+@@ -450,7 +451,7 @@
+ AC_ARG_ENABLE(big-core,
+ [ --disable-big-core assume machine has little memory],
+ [with_big_core=$enableval],
+- [AC_TRY_RUN([
++ [AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <stdlib.h>
+ #include <string.h>
+ int main() {
+@@ -459,10 +460,7 @@
+ if (s != 0)
+ s[0] = s[n-1] = 0;
+ exit(s == 0);
+-}],
+- [with_big_core=yes],
+- [with_big_core=no],
+- [with_big_core=no])])
++}]])],[with_big_core=yes],[with_big_core=no],[with_big_core=no])])
+ AC_MSG_RESULT($with_big_core)
+ test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
+
+@@ -477,7 +475,7 @@
+ if test "$with_termcap" != "yes" ; then
+ if test "$use_database" = no ; then
+ if test -z "$with_fallback" ; then
+- AC_ERROR(You have disabled the database w/o specifying fallbacks)
++ AC_MSG_ERROR([You have disabled the database w/o specifying fallbacks])
+ fi
+ fi
+ AC_DEFINE(PURE_TERMINFO)
+@@ -614,10 +612,10 @@
+ test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
+
+ ###############################################################################
++
+ CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
+
+ ###############################################################################
+-CF_HELP_MESSAGE(Extensions:)
+
+ ### Note that some functions (such as const) are normally disabled anyway.
+ AC_MSG_CHECKING(if you want to build with function extensions)
+@@ -683,7 +681,6 @@
+
+ ###############################################################################
+ # These options are relatively safe to experiment with.
+-CF_HELP_MESSAGE(Development Code:)
+ AC_MSG_CHECKING(if you want all development code)
+ AC_ARG_WITH(develop,
+ [ --with-develop enable all development options],
+@@ -719,7 +716,6 @@
+
+ ###############################################################################
+ # These are just experimental, probably should not be in a package:
+-CF_HELP_MESSAGE(Experimental Code:)
+
+ AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
+ AC_ARG_ENABLE(assumed-color,
+@@ -828,7 +824,6 @@
+ AC_SUBST(TERMINFO_CAPS)
+
+ ###############################################################################
+-CF_HELP_MESSAGE(Testing/development Options:)
+
+ ### use option --disable-echo to suppress full display compiling commands
+ AC_MSG_CHECKING(if you want to display full commands during build)
+@@ -931,7 +926,7 @@
+ AC_SUBST(MATH_LIB)
+
+ ### Checks for header files.
+-AC_STDC_HEADERS
++AC_HEADER_STDC([])
+ AC_HEADER_DIRENT
+ AC_HEADER_TIME
+ CF_REGEX
+@@ -965,7 +960,7 @@
+ CF_SYS_TIME_SELECT
+
+ ### checks for compiler characteristics
+-AC_LANG_C
++AC_LANG([C])
+ AC_C_CONST
+ AC_C_INLINE
+ test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
+@@ -1040,7 +1035,7 @@
+
+ # Check for C++ compiler characteristics (and ensure that it's there!)
+ if test -n "$CXX" ; then
+- AC_LANG_CPLUSPLUS
++ AC_LANG([C++])
+ CF_STDCPP_LIBRARY
+
+ case $GXX_VERSION in
+@@ -1135,7 +1130,6 @@
+ fi
+ AC_SUBST(USE_CXX_BOOL)
+
+-CF_HELP_MESSAGE(Ada95 Binding Options:)
+
+ dnl Check for availability of GNU Ada Translator (GNAT).
+ dnl At the moment we support no other Ada95 compiler.
+@@ -1309,15 +1303,16 @@
+
+ ################################################################################
+ test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+-AC_OUTPUT( \
++AC_CONFIG_FILES([\
+ include/MKterm.h.awk \
+ include/curses.head:include/curses.h.in \
+ include/termcap.h \
+ include/unctrl.h \
+ $SUB_MAKEFILES \
+- Makefile,[
++ Makefile])
++AC_CONFIG_COMMANDS([default],[
+ CF_LIB_RULES
+-],[
++],[[
+ ### Special initialization commands, used to pass information from the
+ ### configuration-run into config.status
+
+@@ -1348,5 +1343,6 @@
+ host="$host"
+ target="$target"
+
+-],cat)dnl
++]])
++AC_OUTPUT
+ ${MAKE-make} preinstall
+--- ncurses-5.4/include/ncurses_dll.h~visibility.patch
++++ ncurses-5.4/include/ncurses_dll.h
+@@ -7,8 +7,8 @@
+ /* but this structure may be useful at some point for an MSVC build */
+ /* so, for now unconditionally define the important flags */
+ /* "the right way" for proper static and dll+auto-import behavior */
+-#undef NCURSES_DLL
+-#define NCURSES_STATIC
++//#undef NCURSES_DLL
++//#define NCURSES_STATIC
+
+ #if defined(__CYGWIN__)
+ # if defined(NCURSES_DLL)
+@@ -32,12 +32,20 @@
+ # endif
+ # define NCURSES_API __cdecl
+ # define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
+-# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
++# define NCURSES_EXPORT_VAR(var) var NCURSES_IMPEXP
+ #endif
+
+ /* Take care of non-cygwin platforms */
+ #if !defined(NCURSES_IMPEXP)
+-# define NCURSES_IMPEXP /* nothing */
++# if defined(GCC_HASCLASSVISIBILITY)
++# if defined(NCURSES_DLL)
++# define NCURSES_IMPEXP __attribute__ ((visibility("default")))
++# else
++# define NCURSES_IMPEXP /* nothing */
++# endif
++# else
++# define NCURSES_IMPEXP /* nothing */
++# endif
+ #endif
+ #if !defined(NCURSES_API)
+ # define NCURSES_API /* nothing */
+@@ -46,7 +54,7 @@
+ # define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
+ #endif
+ #if !defined(NCURSES_EXPORT_VAR)
+-# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
++# define NCURSES_EXPORT_VAR(var) var NCURSES_IMPEXP
+ #endif
+
+ #endif /* NCURSES_DLL_H_incl */
+--- ncurses-5.4/form/fty_alnum.c~visibility.patch
++++ ncurses-5.4/form/fty_alnum.c
+@@ -132,6 +132,6 @@
+ NULL
+ };
+
+-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALNUM = &typeALNUM;
++FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ALNUM) = &typeALNUM;
+
+ /* fty_alnum.c ends here */
+--- ncurses-5.4/form/fty_alpha.c~visibility.patch
++++ ncurses-5.4/form/fty_alpha.c
+@@ -133,6 +133,6 @@
+ NULL
+ };
+
+-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALPHA = &typeALPHA;
++FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ALPHA) = &typeALPHA;
+
+ /* fty_alpha.c ends here */
+--- ncurses-5.4/form/fld_newftyp.c~visibility.patch
++++ ncurses-5.4/form/fld_newftyp.c
+@@ -48,7 +48,7 @@
+ NULL /* enumerate previous function */
+ };
+
+-NCURSES_EXPORT_VAR(const FIELDTYPE*) _nc_Default_FieldType = &default_fieldtype;
++const FIELDTYPE* NCURSES_EXPORT_VAR(_nc_Default_FieldType) = &default_fieldtype;
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+--- ncurses-5.4/form/form.h~visibility.patch
++++ ncurses-5.4/form/form.h
+@@ -248,24 +248,24 @@
+ /*************************
+ * standard field types *
+ *************************/
+-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA;
+-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM;
+-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM;
+-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER;
+-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC;
+-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
++extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ALPHA);
++extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ALNUM);
++extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_ENUM);
++extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_INTEGER);
++extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_NUMERIC);
++extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_REGEXP);
+
+ /************************************
+ * built-in additional field types *
+ * They are not defined in SVr4 *
+ ************************************/
+-extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Version 4 address */
++extern FIELDTYPE * NCURSES_EXPORT_VAR(TYPE_IPV4); /* Internet IP Version 4 address */
+
+ /***********************
+ * Default objects *
+ ***********************/
+-extern NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form;
+-extern NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field;
++extern FORM * NCURSES_EXPORT_VAR(_nc_Default_Form);
++extern FIELD * NCURSES_EXPORT_VAR(_nc_Default_Field);
+
+
+ /***********************
+--- ncurses-5.4/form/fty_int.c~visibility.patch
++++ ncurses-5.4/form/fty_int.c
+@@ -155,6 +155,6 @@
+ NULL
+ };
+
+-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_INTEGER = &typeINTEGER;
++FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_INTEGER) = &typeINTEGER;
+
+ /* fty_int.c ends here */
+--- ncurses-5.4/form/fty_num.c~visibility.patch
++++ ncurses-5.4/form/fty_num.c
+@@ -190,6 +190,6 @@
+ NULL
+ };
+
+-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_NUMERIC = &typeNUMERIC;
++FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_NUMERIC) = &typeNUMERIC;
+
+ /* fty_num.c ends here */
+--- ncurses-5.4/form/fty_regex.c~visibility.patch
++++ ncurses-5.4/form/fty_regex.c
+@@ -252,6 +252,6 @@
+ NULL
+ };
+
+-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_REGEXP = &typeREGEXP;
++FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_REGEXP) = &typeREGEXP;
+
+ /* fty_regex.c ends here */
+--- ncurses-5.4/form/frm_def.c~visibility.patch
++++ ncurses-5.4/form/frm_def.c
+@@ -60,7 +60,7 @@
+ NULL /* fieldterm */
+ };
+
+-NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form = &default_form;
++FORM * NCURSES_EXPORT_VAR(_nc_Default_Form) = &default_form;
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+--- ncurses-5.4/form/fld_def.c~visibility.patch
++++ ncurses-5.4/form/fld_def.c
+@@ -63,7 +63,7 @@
+ (char *)0 /* usrptr */
+ };
+
+-NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field = &default_field;
++FIELD * NCURSES_EXPORT_VAR(_nc_Default_Field) = &default_field;
+
+ /*---------------------------------------------------------------------------
+ | Facility : libnform
+--- ncurses-5.4/form/fty_enum.c~visibility.patch
++++ ncurses-5.4/form/fty_enum.c
+@@ -290,6 +290,6 @@
+ Previous_Enum
+ };
+
+-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ENUM = &typeENUM;
++FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_ENUM) = &typeENUM;
+
+ /* fty_enum.c ends here */
+--- ncurses-5.4/form/fty_ipv4.c~visibility.patch
++++ ncurses-5.4/form/fty_ipv4.c
+@@ -76,6 +76,6 @@
+ NULL
+ };
+
+-NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_IPV4 = &typeIPV4;
++FIELDTYPE* NCURSES_EXPORT_VAR(TYPE_IPV4) = &typeIPV4;
+
+ /* fty_ipv4.c ends here */
+--- ncurses-5.4/form/form.priv.h~visibility.patch
++++ ncurses-5.4/form/form.priv.h
+@@ -112,7 +112,7 @@
+ #define C_BLANK ' '
+ #define is_blank(c) ((c)==C_BLANK)
+
+-extern NCURSES_EXPORT_VAR(const FIELDTYPE *) _nc_Default_FieldType;
++extern const FIELDTYPE * NCURSES_EXPORT_VAR(_nc_Default_FieldType);
+
+ extern NCURSES_EXPORT(TypeArgument *) _nc_Make_Argument (const FIELDTYPE*,va_list*,int*);
+ extern NCURSES_EXPORT(TypeArgument *) _nc_Copy_Argument (const FIELDTYPE*,const TypeArgument*, int*);
+--- ncurses-5.4/include/tic.h~visibility.patch
++++ ncurses-5.4/include/tic.h
+@@ -117,7 +117,7 @@
+ #define DEBUG(n, a) /*nothing*/
+ #endif
+
+-extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
++extern unsigned NCURSES_EXPORT_VAR(_nc_tracing);
+ extern NCURSES_EXPORT(void) _nc_tracef (char *, ...) GCC_PRINTFLIKE(1,2);
+ extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
+ extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *);
+@@ -151,7 +151,7 @@
+ char *tk_valstring; /* value of capability (if a string) */
+ };
+
+-extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token;
++extern struct token NCURSES_EXPORT_VAR(_nc_curr_token);
+
+ /*
+ * List of keynames with their corresponding code.
+@@ -161,7 +161,7 @@
+ int code;
+ };
+
+-extern NCURSES_EXPORT_VAR(const struct kn) _nc_key_names[];
++extern const struct kn NCURSES_EXPORT_VAR(_nc_key_names[]);
+
+ /*
+ * Offsets to string capabilities, with the corresponding functionkey
+@@ -179,7 +179,7 @@
+
+ #else
+
+-extern NCURSES_EXPORT_VAR(struct tinfo_fkeys) _nc_tinfo_fkeys[];
++extern struct tinfo_fkeys NCURSES_EXPORT_VAR(_nc_tinfo_fkeys[]);
+
+ #endif
+
+@@ -204,11 +204,11 @@
+ const char *source;
+ };
+
+-extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[];
+-extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[];
++extern const struct name_table_entry * const NCURSES_EXPORT_VAR(_nc_info_hash_table[]);
++extern const struct name_table_entry * const NCURSES_EXPORT_VAR(_nc_cap_hash_table[]);
+
+-extern NCURSES_EXPORT_VAR(const struct alias) _nc_capalias_table[];
+-extern NCURSES_EXPORT_VAR(const struct alias) _nc_infoalias_table[];
++extern const struct alias NCURSES_EXPORT_VAR(_nc_capalias_table[]);
++extern const struct alias NCURSES_EXPORT_VAR(_nc_infoalias_table[]);
+
+ extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool);
+ extern NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool);
+@@ -255,13 +255,13 @@
+ extern NCURSES_EXPORT(void) _nc_panic_mode (char);
+ extern NCURSES_EXPORT(void) _nc_push_token (int);
+ extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *);
+-extern NCURSES_EXPORT_VAR(int) _nc_curr_col;
+-extern NCURSES_EXPORT_VAR(int) _nc_curr_line;
+-extern NCURSES_EXPORT_VAR(int) _nc_syntax;
+-extern NCURSES_EXPORT_VAR(long) _nc_comment_end;
+-extern NCURSES_EXPORT_VAR(long) _nc_comment_start;
+-extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos;
+-extern NCURSES_EXPORT_VAR(long) _nc_start_line;
++extern int NCURSES_EXPORT_VAR(_nc_curr_col);
++extern int NCURSES_EXPORT_VAR(_nc_curr_line);
++extern int NCURSES_EXPORT_VAR(_nc_syntax);
++extern long NCURSES_EXPORT_VAR(_nc_comment_end);
++extern long NCURSES_EXPORT_VAR(_nc_comment_start);
++extern long NCURSES_EXPORT_VAR(_nc_curr_file_pos);
++extern long NCURSES_EXPORT_VAR(_nc_start_line);
+ #define SYN_TERMINFO 0
+ #define SYN_TERMCAP 1
+
+@@ -272,7 +272,7 @@
+ extern NCURSES_EXPORT(void) _nc_syserr_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
+ extern NCURSES_EXPORT(void) _nc_err_abort (const char *const,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
+ extern NCURSES_EXPORT(void) _nc_warning (const char *const,...) GCC_PRINTFLIKE(1,2);
+-extern NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings;
++extern bool NCURSES_EXPORT_VAR(_nc_suppress_warnings);
+
+ /* comp_expand.c: expand string into readable form */
+ extern NCURSES_EXPORT(char *) _nc_tic_expand (const char *, bool, int);
+@@ -287,12 +287,12 @@
+ /* lib_tparm.c */
+ #define NUM_PARM 9
+
+-extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
++extern int NCURSES_EXPORT_VAR(_nc_tparm_err);
+
+ extern NCURSES_EXPORT(int) _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount);
+
+ /* lib_tputs.c */
+-extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent; /* Add one for every null sent */
++extern int NCURSES_EXPORT_VAR(_nc_nulls_sent); /* Add one for every null sent */
+
+ /* comp_main.c: compiler main */
+ extern const char * _nc_progname;
+--- ncurses-5.4/include/MKterm.h.awk.in~visibility.patch
++++ ncurses-5.4/include/MKterm.h.awk.in
+@@ -228,9 +228,9 @@
+ print " char * _termname; /* used for termname() */"
+ print "} TERMINAL;"
+ print ""
+- print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
++ print "extern TERMINAL * NCURSES_EXPORT_VAR(cur_term);"
+ print ""
+- print "#if BROKEN_LINKER"
++ print "#if defined(BROKEN_LINKER)"
+ print "#define boolnames _nc_boolnames()"
+ print "#define boolcodes _nc_boolcodes()"
+ print "#define boolfnames _nc_boolfnames()"
+@@ -253,15 +253,15 @@
+ print ""
+ print "#else"
+ print ""
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
+- print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolnames[]);"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolcodes[]);"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(boolfnames[]);"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numnames[]);"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numcodes[]);"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(numfnames[]);"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strnames[]);"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strcodes[]);"
++ print "extern NCURSES_CONST char * const NCURSES_EXPORT_VAR(strfnames[]);"
+ print ""
+ print "#endif"
+ print ""
+@@ -287,7 +287,7 @@
+ print "#if !defined(__NCURSES_H)"
+ print "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);"
+- print "extern NCURSES_EXPORT_VAR(char) ttytype[];"
++ print "extern char NCURSES_EXPORT_VAR(ttytype[]);"
+ print "extern NCURSES_EXPORT(int) putp (const char *);"
+ print "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
+--- ncurses-5.4/include/termcap.h.in~visibility.patch
++++ ncurses-5.4/include/termcap.h.in
+@@ -54,10 +54,10 @@
+ #undef NCURSES_OSPEED
+ #define NCURSES_OSPEED @NCURSES_OSPEED@
+
+-extern NCURSES_EXPORT_VAR(char) PC;
+-extern NCURSES_EXPORT_VAR(char *) UP;
+-extern NCURSES_EXPORT_VAR(char *) BC;
+-extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
++extern char NCURSES_EXPORT_VAR(PC);
++extern char * NCURSES_EXPORT_VAR(UP);
++extern char * NCURSES_EXPORT_VAR(BC);
++extern NCURSES_OSPEED NCURSES_EXPORT_VAR(ospeed);
+
+ #if !defined(NCURSES_TERM_H_incl)
+ extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
+--- ncurses-5.4/include/term_entry.h~visibility.patch
++++ ncurses-5.4/include/term_entry.h
+@@ -90,8 +90,8 @@
+ #define ExtNumname(tp,i,names) EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Numbers - tp->ext_Numbers)) + tp->ext_Booleans, names)
+ #define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_Strings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names)
+
+-extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head;
+-extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
++extern ENTRY * NCURSES_EXPORT_VAR(_nc_head);
++extern ENTRY * NCURSES_EXPORT_VAR(_nc_tail);
+ #define for_entry_list(qp) for (qp = _nc_head; qp; qp = qp->next)
+
+ #define MAX_LINE 132
+@@ -135,8 +135,8 @@
+
+ /* parse_entry.c: entry-parsing code */
+ #if NCURSES_XNAMES
+-extern NCURSES_EXPORT_VAR(bool) _nc_user_definable;
+-extern NCURSES_EXPORT_VAR(bool) _nc_disable_period;
++extern bool NCURSES_EXPORT_VAR(_nc_user_definable);
++extern bool NCURSES_EXPORT_VAR(_nc_disable_period);
+ #endif
+ extern NCURSES_EXPORT(int) _nc_parse_entry (ENTRY *, int, bool);
+ extern NCURSES_EXPORT(int) _nc_capcmp (const char *, const char *);
+--- ncurses-5.4/include/curses.h.in~visibility.patch
++++ ncurses-5.4/include/curses.h.in
+@@ -171,8 +171,8 @@
+ #define WA_VERTICAL A_VERTICAL
+
+ /* colors */
+-extern NCURSES_EXPORT_VAR(int) COLORS;
+-extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
++extern int NCURSES_EXPORT_VAR(COLORS);
++extern int NCURSES_EXPORT_VAR(COLOR_PAIRS);
+
+ #define COLOR_BLACK 0
+ #define COLOR_RED 1
+@@ -186,10 +186,10 @@
+ /* line graphics */
+
+ #if @BROKEN_LINKER@
+-extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void);
++extern chtype* NCURSES_EXPORT_VAR(_nc_acs_map)(void);
+ #define acs_map (_nc_acs_map())
+ #else
+-extern NCURSES_EXPORT_VAR(chtype) acs_map[];
++extern chtype NCURSES_EXPORT_VAR(acs_map[]);
+ #endif
+
+ #define NCURSES_ACS(c) (acs_map[(unsigned char)c])
+@@ -369,20 +369,20 @@
+ #endif
+ };
+
+-extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
+-extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
+-extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
++extern WINDOW * NCURSES_EXPORT_VAR(stdscr);
++extern WINDOW * NCURSES_EXPORT_VAR(curscr);
++extern WINDOW * NCURSES_EXPORT_VAR(newscr);
+
+-extern NCURSES_EXPORT_VAR(int) LINES;
+-extern NCURSES_EXPORT_VAR(int) COLS;
+-extern NCURSES_EXPORT_VAR(int) TABSIZE;
++extern int NCURSES_EXPORT_VAR(LINES);
++extern int NCURSES_EXPORT_VAR(COLS);
++extern int NCURSES_EXPORT_VAR(TABSIZE);
+
+ /*
+ * This global was an undocumented feature under AIX curses.
+ */
+-extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */
++extern int NCURSES_EXPORT_VAR(ESCDELAY); /* ESC expire time in milliseconds */
+
+-extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */
++extern char NCURSES_EXPORT_VAR(ttytype[]); /* needed for backward compatibility */
+
+ /*
+ * These functions are extensions - not in XSI Curses.
+--- ncurses-5.4/include/curses.tail~visibility.patch
++++ ncurses-5.4/include/curses.tail
+@@ -110,7 +110,7 @@
+ #define TRACE_MAXIMUM ((1 << TRACE_SHIFT) - 1) /* maximum trace level */
+
+ #if defined(TRACE) || defined(NCURSES_TEST)
+-extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable optimizations */
++extern int NCURSES_EXPORT_VAR(_nc_optimize_enable); /* enable optimizations */
+ #ifdef _XOPEN_SOURCE_EXTENDED
+ extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);
+ #endif
+--- ncurses-5.4/include/curses.wide~visibility.patch
++++ ncurses-5.4/include/curses.wide
+@@ -3,7 +3,7 @@
+
+ /* $Id: curses.wide,v 1.28 2004/01/03 20:35:14 tom Exp $ */
+
+-extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
++extern cchar_t * NCURSES_EXPORT_VAR(_nc_wacs);
+
+ #define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c])
+
+--- ncurses-5.4/menu/menu.priv.h~visibility.patch
++++ ncurses-5.4/menu/menu.priv.h
+@@ -49,8 +49,8 @@
+ /* Backspace code */
+ #define BS (8)
+
+-extern NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item;
+-extern NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu;
++extern ITEM NCURSES_EXPORT_VAR(_nc_Default_Item);
++extern MENU NCURSES_EXPORT_VAR(_nc_Default_Menu);
+
+ /* Normalize item to default if none was given */
+ #define Normalize_Item( item ) ((item)=(item)?(item):&_nc_Default_Item)
+--- ncurses-5.4/menu/m_global.c~visibility.patch
++++ ncurses-5.4/menu/m_global.c
+@@ -41,7 +41,7 @@
+
+ static char mark[] = "-";
+
+-NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = {
++MENU NCURSES_EXPORT_VAR(_nc_Default_Menu) = {
+ 16, /* Nr. of chars high */
+ 1, /* Nr. of chars wide */
+ 16, /* Nr. of items high */
+@@ -80,7 +80,7 @@
+ 0 /* status */
+ };
+
+-NCURSES_EXPORT_VAR(ITEM) _nc_Default_Item = {
++ITEM NCURSES_EXPORT_VAR(_nc_Default_Item) = {
+ { (char *)0, 0 }, /* name */
+ { (char *)0, 0 }, /* description */
+ (MENU *)0, /* Pointer to parent menu */
+--- ncurses-5.4/ncurses/tty/lib_mvcur.c~visibility.patch
++++ ncurses-5.4/ncurses/tty/lib_mvcur.c
+@@ -937,7 +937,7 @@
+ }
+
+ #if defined(TRACE) || defined(NCURSES_TEST)
+-NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL;
++int NCURSES_EXPORT_VAR(_nc_optimize_enable) = OPTIMIZE_ALL;
+ #endif
+
+ #if defined(MAIN) || defined(NCURSES_TEST)
+@@ -950,7 +950,7 @@
+ #include <tic.h>
+ #include <dump_entry.h>
+
+-NCURSES_EXPORT_VAR(const char *) _nc_progname = "mvcur";
++const char * NCURSES_EXPORT_VAR(_nc_progname) = "mvcur";
+
+ static unsigned long xmits;
+
+--- ncurses-5.4/ncurses/tty/hardscroll.c~visibility.patch
++++ ncurses-5.4/ncurses/tty/hardscroll.c
+@@ -151,8 +151,7 @@
+
+ # undef screen_lines
+ # define screen_lines MAXLINES
+-NCURSES_EXPORT_VAR(int)
+-oldnums[MAXLINES];
++int NCURSES_EXPORT_VAR(oldnums[MAXLINES]);
+ # define OLDNUM(n) oldnums[n]
+ # define _tracef printf
+ # undef TR
+@@ -163,8 +162,7 @@
+ /* OLDNUM(n) indicates which line will be shifted to the position n.
+ if OLDNUM(n) == _NEWINDEX, then the line n in new, not shifted from
+ somewhere. */
+-NCURSES_EXPORT_VAR(int *)
+-_nc_oldnums = 0;
++int * NCURSES_EXPORT_VAR(_nc_oldnums) = 0;
+
+ # if USE_HASHMAP
+ static int oldnums_allocated = 0;
+--- ncurses-5.4/ncurses/base/lib_getch.c~visibility.patch
++++ ncurses-5.4/ncurses/base/lib_getch.c
+@@ -44,8 +44,7 @@
+
+ #include <fifo_defs.h>
+
+-NCURSES_EXPORT_VAR(int)
+-ESCDELAY = 1000; /* max interval betw. chars in funkeys, in millisecs */
++int NCURSES_EXPORT_VAR(ESCDELAY) = 1000; /* max interval betw. chars in funkeys, in millisecs */
+
+ #ifdef NCURSES_WGETCH_EVENTS
+ #define TWAIT_MASK 7
+--- ncurses-5.4/ncurses/base/lib_slk.c~visibility.patch
++++ ncurses-5.4/ncurses/base/lib_slk.c
+@@ -47,8 +47,7 @@
+ * We'd like to move these into the screen context structure, but cannot,
+ * because slk_init() is called before initscr()/newterm().
+ */
+-NCURSES_EXPORT_VAR(int)
+-_nc_slk_format = 0; /* one more than format specified in slk_init() */
++int NCURSES_EXPORT_VAR(_nc_slk_format) = 0; /* one more than format specified in slk_init() */
+
+ /*
+ * Paint the info line for the PC style SLK emulation.
+--- ncurses-5.4/ncurses/base/lib_color.c~visibility.patch
++++ ncurses-5.4/ncurses/base/lib_color.c
+@@ -48,8 +48,8 @@
+ * historical reasons. So we assign them in start_color() and also in
+ * set_term()'s screen-switching logic.
+ */
+-NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0;
+-NCURSES_EXPORT_VAR(int) COLORS = 0;
++int NCURSES_EXPORT_VAR(COLOR_PAIRS) = 0;
++int NCURSES_EXPORT_VAR(COLORS) = 0;
+
+ #define DATA(r,g,b) {r,g,b, 0,0,0, 0}
+
+--- ncurses-5.4/ncurses/tinfo/lib_termcap.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/lib_termcap.c
+@@ -50,8 +50,8 @@
+ #define L_BRACK '['
+ #define SHIFT_OUT 017 /* ^N */
+
+-NCURSES_EXPORT_VAR(char *) UP = 0;
+-NCURSES_EXPORT_VAR(char *) BC = 0;
++char * NCURSES_EXPORT_VAR(UP) = 0;
++char * NCURSES_EXPORT_VAR(BC) = 0;
+
+ static char *fix_me = 0;
+
+--- ncurses-5.4/ncurses/tinfo/lib_cur_term.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/lib_cur_term.c
+@@ -42,7 +42,7 @@
+
+ MODULE_ID("$Id: lib_cur_term.c,v 1.13 2003/12/27 18:21:30 tom Exp $")
+
+-NCURSES_EXPORT_VAR(TERMINAL *) cur_term = 0;
++TERMINAL * NCURSES_EXPORT_VAR(cur_term) = 0;
+
+ NCURSES_EXPORT(TERMINAL *)
+ set_curterm(TERMINAL * termp)
+--- ncurses-5.4/ncurses/tinfo/lib_setup.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/lib_setup.c
+@@ -91,10 +91,10 @@
+ # endif
+ #endif
+
+-NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = "";
+-NCURSES_EXPORT_VAR(int) LINES = 0;
+-NCURSES_EXPORT_VAR(int) COLS = 0;
+-NCURSES_EXPORT_VAR(int) TABSIZE = 0;
++char NCURSES_EXPORT_VAR(ttytype[NAMESIZE]) = "";
++int NCURSES_EXPORT_VAR(LINES) = 0;
++int NCURSES_EXPORT_VAR(COLS) = 0;
++int NCURSES_EXPORT_VAR(TABSIZE) = 0;
+
+ static int _use_env = TRUE;
+
+--- ncurses-5.4/ncurses/tinfo/MKnames.awk~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/MKnames.awk
+@@ -10,7 +10,7 @@
+ print "#include <term.h>" > "namehdr"
+ print "#define DCL(it) static IT data##it[]" > "namehdr"
+ print "#else" > "namehdr"
+- print "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]" > "namehdr"
++ print "#define DCL(it) IT NCURSES_EXPORT_VAR(it[])" > "namehdr"
+ print "#endif" > "namehdr"
+ print "" > "namehdr"
+ print "/*" > "boolnames"
+--- ncurses-5.4/ncurses/tinfo/lib_tparm.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/lib_tparm.c
+@@ -115,7 +115,7 @@
+ bool num_type;
+ } stack_frame;
+
+-NCURSES_EXPORT_VAR(int) _nc_tparm_err = 0;
++int NCURSES_EXPORT_VAR(_nc_tparm_err) = 0;
+
+ static stack_frame stack[STACKSIZE];
+ static int stack_ptr;
+--- ncurses-5.4/ncurses/tinfo/lib_tputs.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/lib_tputs.c
+@@ -47,10 +47,10 @@
+
+ MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $")
+
+-NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */
+-NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */
++char NCURSES_EXPORT_VAR(PC) = 0; /* used by termcap library */
++NCURSES_OSPEED NCURSES_EXPORT_VAR(ospeed) = 0; /* used by termcap library */
+
+-NCURSES_EXPORT_VAR(int) _nc_nulls_sent = 0; /* used by 'tack' program */
++int NCURSES_EXPORT_VAR(_nc_nulls_sent) = 0; /* used by 'tack' program */
+
+ static int (*my_outch) (int c) = _nc_outch;
+
+--- ncurses-5.4/ncurses/tinfo/comp_error.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/comp_error.c
+@@ -42,9 +42,9 @@
+
+ MODULE_ID("$Id: comp_error.c,v 1.25 2002/09/07 20:05:07 tom Exp $")
+
+-NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings = FALSE;
+-NCURSES_EXPORT_VAR(int) _nc_curr_line = 0; /* current line # in input */
+-NCURSES_EXPORT_VAR(int) _nc_curr_col = 0; /* current column # in input */
++bool NCURSES_EXPORT_VAR(_nc_suppress_warnings) = FALSE;
++int NCURSES_EXPORT_VAR(_nc_curr_line) = 0; /* current line # in input */
++int NCURSES_EXPORT_VAR(_nc_curr_col) = 0; /* current column # in input */
+
+ static const char *sourcename;
+ static char *termtype;
+--- ncurses-5.4/ncurses/tinfo/free_ttype.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/free_ttype.c
+@@ -92,7 +92,7 @@
+ }
+
+ #if NCURSES_XNAMES
+-NCURSES_EXPORT_VAR(bool) _nc_user_definable = TRUE;
++bool NCURSES_EXPORT_VAR(_nc_user_definable) = TRUE;
+
+ NCURSES_EXPORT(int)
+ use_extended_names(bool flag)
+--- ncurses-5.4/ncurses/tinfo/comp_parse.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/comp_parse.c
+@@ -78,8 +78,8 @@
+ * _nc_head _nc_tail
+ */
+
+-NCURSES_EXPORT_VAR(ENTRY *) _nc_head = 0;
+-NCURSES_EXPORT_VAR(ENTRY *) _nc_tail = 0;
++ENTRY * NCURSES_EXPORT_VAR(_nc_head) = 0;
++ENTRY * NCURSES_EXPORT_VAR(_nc_tail) = 0;
+
+ static void
+ enqueue(ENTRY * ep)
+--- ncurses-5.4/ncurses/tinfo/comp_scan.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/comp_scan.c
+@@ -60,19 +60,13 @@
+
+ #define iswhite(ch) (ch == ' ' || ch == '\t')
+
+-NCURSES_EXPORT_VAR(int)
+-_nc_syntax = 0; /* termcap or terminfo? */
+-NCURSES_EXPORT_VAR(long)
+-_nc_curr_file_pos = 0; /* file offset of current line */
+-NCURSES_EXPORT_VAR(long)
+-_nc_comment_start = 0; /* start of comment range before name */
+-NCURSES_EXPORT_VAR(long)
+-_nc_comment_end = 0; /* end of comment range before name */
+-NCURSES_EXPORT_VAR(long)
+-_nc_start_line = 0; /* start line of current entry */
++int NCURSES_EXPORT_VAR(_nc_syntax) = 0; /* termcap or terminfo? */
++long NCURSES_EXPORT_VAR(_nc_curr_file_pos) = 0; /* file offset of current line */
++long NCURSES_EXPORT_VAR(_nc_comment_start) = 0; /* start of comment range before name */
++long NCURSES_EXPORT_VAR(_nc_comment_end) = 0; /* end of comment range before name */
++long NCURSES_EXPORT_VAR(_nc_start_line) = 0; /* start line of current entry */
+
+-NCURSES_EXPORT_VAR(struct token)
+-_nc_curr_token =
++struct token NCURSES_EXPORT_VAR(_nc_curr_token) =
+ {
+ 0, 0, 0
+ };
+@@ -90,8 +84,7 @@
+ static char *pushname;
+
+ #if NCURSES_EXT_FUNCS
+-NCURSES_EXPORT_VAR(bool)
+-_nc_disable_period = FALSE; /* used by tic -a option */
++bool NCURSES_EXPORT_VAR(_nc_disable_period) = FALSE; /* used by tic -a option */
+ #endif
+
+ static bool end_of_stream(void);
+--- ncurses-5.4/ncurses/tinfo/lib_acs.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/lib_acs.c
+@@ -37,8 +37,7 @@
+ MODULE_ID("$Id: lib_acs.c,v 1.25 2002/12/28 16:26:46 tom Exp $")
+
+ #if BROKEN_LINKER
+-NCURSES_EXPORT_VAR(chtype *)
+-_nc_acs_map(void)
++chtype * NCURSES_EXPORT_VAR(_nc_acs_map)(void)
+ {
+ static chtype *the_map = 0;
+ if (the_map == 0)
+@@ -46,7 +45,7 @@
+ return the_map;
+ }
+ #else
+-NCURSES_EXPORT_VAR(chtype) acs_map[ACS_LEN] =
++chtype NCURSES_EXPORT_VAR(acs_map[ACS_LEN]) =
+ {
+ 0
+ };
+--- ncurses-5.4/ncurses/tinfo/lib_data.c~visibility.patch
++++ ncurses-5.4/ncurses/tinfo/lib_data.c
+@@ -46,14 +46,11 @@
+ * OS/2's native linker complains if we don't initialize public data when
+ * constructing a dll (reported by J.J.G.Ripoll).
+ */
+-NCURSES_EXPORT_VAR(WINDOW *)
+-stdscr = 0;
+-NCURSES_EXPORT_VAR(WINDOW *)
+-curscr = 0;
+-NCURSES_EXPORT_VAR(WINDOW *)
+-newscr = 0;
++WINDOW * NCURSES_EXPORT_VAR(stdscr) = 0;
++WINDOW * NCURSES_EXPORT_VAR(curscr) = 0;
++WINDOW * NCURSES_EXPORT_VAR(newscr) = 0;
+
+-NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain = 0;
++SCREEN * NCURSES_EXPORT_VAR(_nc_screen_chain) = 0;
+
+ /*
+ * The variable 'SP' will be defined as a function on systems that cannot link
+@@ -87,5 +84,5 @@
+ }
+
+ #else
+-NCURSES_EXPORT_VAR(SCREEN *) SP = NULL; /* Some linkers require initialized data... */
++SCREEN * NCURSES_EXPORT_VAR(SP) = NULL; /* Some linkers require initialized data... */
+ #endif
+--- ncurses-5.4/ncurses/trace/lib_trace.c~visibility.patch
++++ ncurses-5.4/ncurses/trace/lib_trace.c
+@@ -42,11 +42,11 @@
+
+ MODULE_ID("$Id: lib_trace.c,v 1.53 2003/11/23 00:39:30 tom Exp $")
+
+-NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
++unsigned NCURSES_EXPORT_VAR(_nc_tracing) = 0; /* always define this */
+
+ #ifdef TRACE
+-NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = "";
+-NCURSES_EXPORT_VAR(long) _nc_outchars = 0;
++const char * NCURSES_EXPORT_VAR(_nc_tputs_trace) = "";
++long NCURSES_EXPORT_VAR(_nc_outchars) = 0;
+
+ static FILE *tracefp = 0; /* default to writing to stderr */
+
+--- ncurses-5.4/ncurses/curses.priv.h~visibility.patch
++++ ncurses-5.4/ncurses/curses.priv.h
+@@ -498,7 +498,7 @@
+ #endif
+ };
+
+-extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain;
++extern SCREEN * NCURSES_EXPORT_VAR(_nc_screen_chain);
+
+ #if NCURSES_NOMACROS
+ #include <nomacros.h>
+@@ -752,9 +752,9 @@
+ extern NCURSES_EXPORT(int) _nc_retrace_int (int);
+ extern NCURSES_EXPORT(unsigned) _nc_retrace_unsigned (unsigned);
+ extern NCURSES_EXPORT(void) _nc_fifo_dump (void);
+-extern NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace;
+-extern NCURSES_EXPORT_VAR(long) _nc_outchars;
+-extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
++extern const char * NCURSES_EXPORT_VAR(_nc_tputs_trace);
++extern long NCURSES_EXPORT_VAR(_nc_outchars);
++extern unsigned NCURSES_EXPORT_VAR(_nc_tracing);
+
+ #if USE_WIDEC_SUPPORT
+ extern NCURSES_EXPORT(const char *) _nc_viswbuf2 (int, const wchar_t *);
+@@ -1055,7 +1055,7 @@
+ #endif
+
+ /* scroll indices */
+-extern NCURSES_EXPORT_VAR(int *) _nc_oldnums;
++extern int * NCURSES_EXPORT_VAR(_nc_oldnums);
+
+ #define USE_SETBUF_0 0
+
+@@ -1074,7 +1074,7 @@
+ extern NCURSES_EXPORT(void) _nc_set_screen (SCREEN *);
+ #else
+ /* current screen is private data; avoid possible linking conflicts too */
+-extern NCURSES_EXPORT_VAR(SCREEN *) SP;
++extern SCREEN * NCURSES_EXPORT_VAR(SP);
+ #define _nc_alloc_screen() ((SP = typeCalloc(SCREEN, 1)) != 0)
+ #define _nc_set_screen(sp) SP = sp
+ #endif
+@@ -1087,7 +1087,7 @@
+ #define screen_lines SP->_lines
+ #define screen_columns SP->_columns
+
+-extern NCURSES_EXPORT_VAR(int) _nc_slk_format; /* != 0 if slk_init() called */
++extern int NCURSES_EXPORT_VAR(_nc_slk_format); /* != 0 if slk_init() called */
+ extern NCURSES_EXPORT(int) _nc_slk_initialize (WINDOW *, int);
+
+ /*
+--- /dev/null
++++ ncurses-5.4/m4/cf.m4
+@@ -0,0 +1,3703 @@
++dnl***************************************************************************
++dnl Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
++dnl *
++dnl Permission is hereby granted, free of charge, to any person obtaining a *
++dnl copy of this software and associated documentation files (the *
++dnl "Software"), to deal in the Software without restriction, including *
++dnl without limitation the rights to use, copy, modify, merge, publish, *
++dnl distribute, distribute with modifications, sublicense, and/or sell *
++dnl copies of the Software, and to permit persons to whom the Software is *
++dnl furnished to do so, subject to the following conditions: *
++dnl *
++dnl The above copyright notice and this permission notice shall be included *
++dnl in all copies or substantial portions of the Software. *
++dnl *
++dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
++dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
++dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
++dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
++dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
++dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
++dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
++dnl *
++dnl Except as contained in this notice, the name(s) of the above copyright *
++dnl holders shall not be used in advertising or otherwise to promote the *
++dnl sale, use or other dealings in this Software without prior written *
++dnl authorization. *
++dnl***************************************************************************
++dnl
++dnl Author: Thomas E. Dickey 1995-2003
++dnl
++dnl $Id: aclocal.m4,v 1.333 2004/01/30 20:59:56 tom Exp $
++dnl Macros used in NCURSES auto-configuration script.
++dnl
++dnl See http://invisible-island.net/autoconf/ for additional information.
++dnl
++dnl ---------------------------------------------------------------------------
++dnl ---------------------------------------------------------------------------
++dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
++dnl -------------------
++dnl Construct the list of include-options for the C programs in the Ada95
++dnl binding.
++AC_DEFUN([CF_ADA_INCLUDE_DIRS],
++[
++ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
++if test "$srcdir" != "."; then
++ ACPPFLAGS="-I\$(srcdir)/../../include $ACPPFLAGS"
++fi
++if test "$GCC" != yes; then
++ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
++elif test "$includedir" != "/usr/include"; then
++ if test "$includedir" = '${prefix}/include' ; then
++ if test $prefix != /usr ; then
++ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
++ fi
++ else
++ ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
++ fi
++fi
++AC_SUBST(ACPPFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ADD_CFLAGS version: 5 updated: 2002/12/01 00:12:15
++dnl -------------
++dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
++dnl The second parameter if given makes this macro verbose.
++AC_DEFUN([CF_ADD_CFLAGS],
++[
++cf_new_cflags=
++cf_new_cppflags=
++for cf_add_cflags in $1
++do
++ case $cf_add_cflags in #(vi
++ -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi
++ case "$CPPFLAGS" in
++ *$cf_add_cflags) #(vi
++ ;;
++ *) #(vi
++ cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
++ ;;
++ esac
++ ;;
++ *)
++ cf_new_cflags="$cf_new_cflags $cf_add_cflags"
++ ;;
++ esac
++done
++
++if test -n "$cf_new_cflags" ; then
++ ifelse($2,,,[CF_VERBOSE(add to \$CFLAGS $cf_new_cflags)])
++ CFLAGS="$CFLAGS $cf_new_cflags"
++fi
++
++if test -n "$cf_new_cppflags" ; then
++ ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
++ CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
++fi
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
++dnl ----------------
++dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
++dnl in the sharutils 4.2 distribution.
++AC_DEFUN([CF_ANSI_CC_CHECK],
++[
++AC_CACHE_CHECK(for ${CC-cc} option to accept ANSI C, cf_cv_ansi_cc,[
++cf_cv_ansi_cc=no
++cf_save_CFLAGS="$CFLAGS"
++cf_save_CPPFLAGS="$CPPFLAGS"
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX -qlanglvl=ansi
++# Ultrix and OSF/1 -std1
++# HP-UX -Aa -D_HPUX_SOURCE
++# SVR4 -Xc
++# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes)
++for cf_arg in "-DCC_HAS_PROTOS" \
++ "" \
++ -qlanglvl=ansi \
++ -std1 \
++ -Ae \
++ "-Aa -D_HPUX_SOURCE" \
++ -Xc
++do
++ CF_ADD_CFLAGS($cf_arg)
++ AC_TRY_COMPILE(
++[
++#ifndef CC_HAS_PROTOS
++#if !defined(__STDC__) || (__STDC__ != 1)
++choke me
++#endif
++#endif
++],[
++ int test (int i, double x);
++ struct s1 {int (*f) (int a);};
++ struct s2 {int (*f) (double a);};],
++ [cf_cv_ansi_cc="$cf_arg"; break])
++done
++CFLAGS="$cf_save_CFLAGS"
++CPPFLAGS="$cf_save_CPPFLAGS"
++])
++
++if test "$cf_cv_ansi_cc" != "no"; then
++if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
++ CF_ADD_CFLAGS($cf_cv_ansi_cc)
++else
++ AC_DEFINE(CC_HAS_PROTOS)
++fi
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44
++dnl ---------------
++dnl For programs that must use an ANSI compiler, obtain compiler options that
++dnl will make it recognize prototypes. We'll do preprocessor checks in other
++dnl macros, since tools such as unproto can fake prototypes, but only part of
++dnl the preprocessor.
++AC_DEFUN([CF_ANSI_CC_REQD],
++[AC_REQUIRE([CF_ANSI_CC_CHECK])
++if test "$cf_cv_ansi_cc" = "no"; then
++ AC_ERROR(
++[Your compiler does not appear to recognize prototypes.
++You have the following choices:
++ a. adjust your compiler options
++ b. get an up-to-date compiler
++ c. use a wrapper such as unproto])
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
++dnl ------------
++dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
++dnl older compilers (e.g., gcc 2.5.8) don't support 'bool' directly; gcc
++dnl 2.6.3 does, in anticipation of the ANSI C++ standard.
++dnl
++dnl Treat the configuration-variable specially here, since we're directly
++dnl substituting its value (i.e., 1/0).
++dnl
++dnl $1 is the shell variable to store the result in, if not $cv_cv_builtin_bool
++AC_DEFUN([CF_BOOL_DECL],
++[
++AC_MSG_CHECKING(if we should include stdbool.h)
++
++AC_CACHE_VAL(cf_cv_header_stdbool_h,[
++ AC_TRY_COMPILE([],[bool foo = false],
++ [cf_cv_header_stdbool_h=0],
++ [AC_TRY_COMPILE([
++#ifndef __BEOS__
++#include <stdbool.h>
++#endif
++],[bool foo = false],
++ [cf_cv_header_stdbool_h=1],
++ [cf_cv_header_stdbool_h=0])])])
++
++if test "$cf_cv_header_stdbool_h" = 1
++then AC_MSG_RESULT(yes)
++else AC_MSG_RESULT(no)
++fi
++
++AC_MSG_CHECKING([for builtin bool type])
++
++AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
++ AC_TRY_COMPILE([
++#include <stdio.h>
++#include <sys/types.h>
++],[bool x = false],
++ [ifelse($1,,cf_cv_builtin_bool,[$1])=1],
++ [ifelse($1,,cf_cv_builtin_bool,[$1])=0])
++ ])
++
++if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
++then AC_MSG_RESULT(yes)
++else AC_MSG_RESULT(no)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31
++dnl ------------
++dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
++dnl Don't bother looking for bool.h, since it's been deprecated.
++dnl
++dnl If the current compiler is C rather than C++, we get the bool definition
++dnl from <stdbool.h>.
++AC_DEFUN([CF_BOOL_SIZE],
++[
++AC_MSG_CHECKING([for size of bool])
++AC_CACHE_VAL(cf_cv_type_of_bool,[
++ rm -f cf_test.out
++ AC_TRY_RUN([
++#include <stdlib.h>
++#include <stdio.h>
++
++#if defined(__cplusplus)
++
++#ifdef HAVE_GXX_BUILTIN_H
++#include <g++/builtin.h>
++#elif HAVE_GPP_BUILTIN_H
++#include <gpp/builtin.h>
++#elif HAVE_BUILTIN_H
++#include <builtin.h>
++#endif
++
++#else
++
++#if $cf_cv_header_stdbool_h
++#include <stdbool.h>
++#endif
++
++#endif
++
++main()
++{
++ FILE *fp = fopen("cf_test.out", "w");
++ if (fp != 0) {
++ bool x = true;
++ if ((bool)(-x) >= 0)
++ fputs("unsigned ", fp);
++ if (sizeof(x) == sizeof(int)) fputs("int", fp);
++ else if (sizeof(x) == sizeof(char)) fputs("char", fp);
++ else if (sizeof(x) == sizeof(short))fputs("short",fp);
++ else if (sizeof(x) == sizeof(long)) fputs("long", fp);
++ fclose(fp);
++ }
++ exit(0);
++}
++ ],
++ [cf_cv_type_of_bool=`cat cf_test.out`
++ if test -z "$cf_cv_type_of_bool"; then
++ cf_cv_type_of_bool=unknown
++ fi],
++ [cf_cv_type_of_bool=unknown],
++ [cf_cv_type_of_bool=unknown])
++ ])
++ rm -f cf_test.out
++AC_MSG_RESULT($cf_cv_type_of_bool)
++if test "$cf_cv_type_of_bool" = unknown ; then
++ case .$NCURSES_BOOL in #(vi
++ .auto|.) NCURSES_BOOL=unsigned;;
++ esac
++ AC_MSG_WARN(Assuming $NCURSES_BOOL for type of bool)
++ cf_cv_type_of_bool=$NCURSES_BOOL
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CFG_DEFAULTS version: 6 updated: 2003/07/12 15:15:19
++dnl ---------------
++dnl Determine the default configuration into which we'll install ncurses. This
++dnl can be overridden by the user's command-line options. There's two items to
++dnl look for:
++dnl 1. the prefix (e.g., /usr)
++dnl 2. the header files (e.g., /usr/include/ncurses)
++dnl We'll look for a previous installation of ncurses and use the same defaults.
++dnl
++dnl We don't use AC_PREFIX_DEFAULT, because it gets evaluated too soon, and
++dnl we don't use AC_PREFIX_PROGRAM, because we cannot distinguish ncurses's
++dnl programs from a vendor's.
++AC_DEFUN([CF_CFG_DEFAULTS],
++[
++AC_MSG_CHECKING(for prefix)
++if test "x$prefix" = "xNONE" ; then
++ case "$cf_cv_system_name" in
++ # non-vendor systems don't have a conflict
++ openbsd*|netbsd*|freebsd*|linux*|cygwin*|k*bsd*-gnu)
++ prefix=/usr
++ ;;
++ *) prefix=$ac_default_prefix
++ ;;
++ esac
++fi
++AC_MSG_RESULT($prefix)
++
++if test "x$prefix" = "xNONE" ; then
++AC_MSG_CHECKING(for default include-directory)
++test -n "$verbose" && echo 1>&AC_FD_MSG
++for cf_symbol in \
++ $includedir \
++ $includedir/ncurses \
++ $prefix/include \
++ $prefix/include/ncurses \
++ /usr/local/include \
++ /usr/local/include/ncurses \
++ /usr/include \
++ /usr/include/ncurses
++do
++ cf_dir=`eval echo $cf_symbol`
++ if test -f $cf_dir/curses.h ; then
++ if ( fgrep NCURSES_VERSION $cf_dir/curses.h 2>&1 >/dev/null ) ; then
++ includedir="$cf_symbol"
++ test -n "$verbose" && echo $ac_n " found " 1>&AC_FD_MSG
++ break
++ fi
++ fi
++ test -n "$verbose" && echo " tested $cf_dir" 1>&AC_FD_MSG
++done
++AC_MSG_RESULT($includedir)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CGETENT version: 3 updated: 2000/08/12 23:18:52
++dnl ----------
++dnl Check if the terminal-capability database functions are available. If not,
++dnl ncurses has a much-reduced version.
++AC_DEFUN([CF_CGETENT],[
++AC_MSG_CHECKING(for terminal-capability database functions)
++AC_CACHE_VAL(cf_cv_cgetent,[
++AC_TRY_LINK([
++#include <stdlib.h>],[
++ char temp[128];
++ char *buf = temp;
++ char *db_array = temp;
++ cgetent(&buf, /* int *, */ &db_array, "vt100");
++ cgetcap(buf, "tc", '=');
++ cgetmatch(buf, "tc");
++ ],
++ [cf_cv_cgetent=yes],
++ [cf_cv_cgetent=no])
++])
++AC_MSG_RESULT($cf_cv_cgetent)
++test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_CACHE version: 9 updated: 2004/01/30 15:59:13
++dnl --------------
++dnl Check if we're accidentally using a cache from a different machine.
++dnl Derive the system name, as a check for reusing the autoconf cache.
++dnl
++dnl If we've packaged config.guess and config.sub, run that (since it does a
++dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
++dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
++dnl which is useful in cross-compiles.
++dnl
++dnl Note: we would use $ac_config_sub, but that is one of the places where
++dnl autoconf 2.5x broke compatibility with autoconf 2.13
++AC_DEFUN([CF_CHECK_CACHE],
++[
++if test -f $srcdir/config.guess ; then
++ ifelse([$1],,[AC_CANONICAL_HOST],[$1])
++ system_name="$host_os"
++else
++ system_name="`(uname -s -r) 2>/dev/null`"
++ if test -z "$system_name" ; then
++ system_name="`(hostname) 2>/dev/null`"
++ fi
++fi
++test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
++AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
++
++test -z "$system_name" && system_name="$cf_cv_system_name"
++test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
++
++if test ".$system_name" != ".$cf_cv_system_name" ; then
++ AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
++ AC_ERROR("Please remove config.cache and try again.")
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23
++dnl --------------
++dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
++dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
++dnl ourselves.
++dnl
++dnl $1 = the name to check
++AC_DEFUN([CF_CHECK_ERRNO],
++[
++AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
++ AC_TRY_COMPILE([
++#ifdef HAVE_STDLIB_H
++#include <stdlib.h>
++#endif
++#include <stdio.h>
++#include <sys/types.h>
++#include <errno.h> ],
++ [long x = (long) $1],
++ [cf_cv_dcl_$1=yes],
++ [cf_cv_dcl_$1=no])
++])
++
++if test "$cf_cv_dcl_$1" = no ; then
++ CF_UPPER(cf_result,decl_$1)
++ AC_DEFINE_UNQUOTED($cf_result)
++fi
++
++# It's possible (for near-UNIX clones) that the data doesn't exist
++CF_CHECK_EXTERN_DATA($1,int)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
++dnl --------------------
++dnl Check for existence of external data in the current set of libraries. If
++dnl we can modify it, it's real enough.
++dnl $1 = the name to check
++dnl $2 = its type
++AC_DEFUN([CF_CHECK_EXTERN_DATA],
++[
++AC_CACHE_CHECK(if external $1 exists, cf_cv_have_$1,[
++ AC_TRY_LINK([
++#undef $1
++extern $2 $1;
++],
++ [$1 = 2],
++ [cf_cv_have_$1=yes],
++ [cf_cv_have_$1=no])
++])
++
++if test "$cf_cv_have_$1" = yes ; then
++ CF_UPPER(cf_result,have_$1)
++ AC_DEFINE_UNQUOTED($cf_result)
++fi
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
++dnl -----------------
++dnl Check if the C++ compiler accepts duplicate parameter initialization. This
++dnl is a late feature for the standard and is not in some recent compilers
++dnl (1999/9/11).
++AC_DEFUN([CF_CPP_PARAM_INIT],
++[
++if test -n "$CXX"; then
++AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
++ AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ AC_TRY_RUN([
++class TEST {
++private:
++ int value;
++public:
++ TEST(int x = 1);
++ ~TEST();
++};
++
++TEST::TEST(int x = 1) // some compilers do not like second initializer
++{
++ value = x;
++}
++void main() { }
++],
++ [cf_cv_cpp_param_init=yes],
++ [cf_cv_cpp_param_init=no],
++ [cf_cv_cpp_param_init=unknown])
++ AC_LANG_RESTORE
++])
++fi
++test "$cf_cv_cpp_param_init" = yes && AC_DEFINE(CPP_HAS_PARAM_INIT)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28
++dnl -----------------
++dnl Check if the g++ compiler supports vscan function (not a standard feature).
++AC_DEFUN([CF_CPP_VSCAN_FUNC],
++[
++if test -n "$CXX"; then
++
++AC_LANG_SAVE
++AC_LANG_CPLUSPLUS
++AC_CHECK_HEADERS(strstream.h)
++
++AC_CACHE_CHECK(if $CXX supports vscan function,cf_cv_cpp_vscan_func,[
++ for cf_vscan_func in strstream strstream_cast stdio
++ do
++ case $cf_vscan_func in #(vi
++ stdio) cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi
++ strstream) cf_vscan_defs=USE_STRSTREAM_VSCAN ;;
++ strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;;
++ esac
++ AC_TRY_LINK([
++#include <stdio.h>
++#include <stdarg.h>
++#define $cf_vscan_defs 1
++#if defined(USE_STDIO_VSCAN)
++#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN)
++#include <strstream.h>
++#endif
++
++int scanw(const char* fmt, ...)
++{
++ int result = -1;
++ char buf[BUFSIZ];
++
++ va_list args;
++ va_start(args, fmt);
++#if defined(USE_STDIO_VSCAN)
++ if (::vsscanf(buf, fmt, args) != -1)
++ result = 0;
++#elif defined(USE_STRSTREAM_VSCAN)
++ strstreambuf ss(buf, sizeof(buf));
++ if (ss.vscan(fmt, args) != -1)
++ result = 0;
++#elif defined(USE_STRSTREAM_VSCAN_CAST)
++ strstreambuf ss(buf, sizeof(buf));
++ if (ss.vscan(fmt, (_IO_va_list)args) != -1)
++ result = 0;
++#else
++#error case $cf_vscan_func failed
++#endif
++ va_end(args);
++ return result;
++}
++],[int tmp, foo = scanw("%d", &tmp)],
++ [cf_cv_cpp_vscan_func=$cf_vscan_func; break],
++ [cf_cv_cpp_vscan_func=no])
++ test "$cf_cv_cpp_vscan_func" != no && break
++ done
++])
++
++AC_LANG_RESTORE
++fi
++
++case $cf_cv_cpp_vscan_func in #(vi
++stdio) #(vi
++ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
++ AC_DEFINE(USE_STDIO_VSCAN)
++ ;;
++strstream)
++ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
++ AC_DEFINE(USE_STRSTREAM_VSCAN)
++ ;;
++strstream_cast)
++ AC_DEFINE(CPP_HAS_VSCAN_FUNC)
++ AC_DEFINE(USE_STRSTREAM_VSCAN_CAST)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
++dnl ----------
++dnl "dirname" is not portable, so we fake it with a shell script.
++AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_DIRS_TO_MAKE version: 3 updated: 2002/02/23 20:38:31
++dnl ---------------
++AC_DEFUN([CF_DIRS_TO_MAKE],
++[
++DIRS_TO_MAKE="lib"
++for cf_item in $cf_list_models
++do
++ CF_OBJ_SUBDIR($cf_item,cf_subdir)
++ for cf_item2 in $DIRS_TO_MAKE
++ do
++ test $cf_item2 = $cf_subdir && break
++ done
++ test ".$cf_item2" != ".$cf_subdir" && DIRS_TO_MAKE="$DIRS_TO_MAKE $cf_subdir"
++done
++for cf_dir in $DIRS_TO_MAKE
++do
++ test ! -d $cf_dir && mkdir $cf_dir
++done
++AC_SUBST(DIRS_TO_MAKE)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
++dnl --------
++dnl Check if 'errno' is declared in <errno.h>
++AC_DEFUN([CF_ERRNO],
++[
++CF_CHECK_ERRNO(errno)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ETIP_DEFINES version: 3 updated: 2003/03/22 19:13:43
++dnl ---------------
++dnl Test for conflicting definitions of exception in gcc 2.8.0, etc., between
++dnl math.h and builtin.h, only for ncurses
++AC_DEFUN([CF_ETIP_DEFINES],
++[
++AC_MSG_CHECKING(for special defines needed for etip.h)
++cf_save_CXXFLAGS="$CXXFLAGS"
++cf_result="none"
++for cf_math in "" MATH_H
++do
++for cf_excp in "" MATH_EXCEPTION
++do
++ CXXFLAGS="$cf_save_CXXFLAGS -I${srcdir}/c++ -I${srcdir}/menu -I${srcdir}/include"
++ test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
++ test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
++AC_TRY_COMPILE([
++#include <etip.h.in>
++],[],[
++ test -n "$cf_math" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_math})
++ test -n "$cf_excp" && AC_DEFINE_UNQUOTED(ETIP_NEEDS_${cf_excp})
++ cf_result="$cf_math $cf_excp"
++ break
++],[])
++done
++done
++AC_MSG_RESULT($cf_result)
++CXXFLAGS="$cf_save_CXXFLAGS"
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52
++dnl ---------------
++dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
++dnl is found, add our own version of memmove to the list of objects.
++AC_DEFUN([CF_FUNC_MEMMOVE],
++[
++AC_CHECK_FUNC(memmove,,[
++AC_CHECK_FUNC(bcopy,[
++ AC_CACHE_CHECK(if bcopy does overlapping moves,cf_cv_good_bcopy,[
++ AC_TRY_RUN([
++int main() {
++ static char data[] = "abcdefghijklmnopqrstuwwxyz";
++ char temp[40];
++ bcopy(data, temp, sizeof(data));
++ bcopy(temp+10, temp, 15);
++ bcopy(temp+5, temp+15, 10);
++ exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
++}
++ ],
++ [cf_cv_good_bcopy=yes],
++ [cf_cv_good_bcopy=no],
++ [cf_cv_good_bcopy=unknown])
++ ])
++ ],[cf_cv_good_bcopy=no])
++ if test "$cf_cv_good_bcopy" = yes ; then
++ AC_DEFINE(USE_OK_BCOPY)
++ else
++ AC_DEFINE(USE_MY_MEMMOVE)
++ fi
++])])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04
++dnl ------------
++dnl See if the poll function really works. Some platforms have poll(), but
++dnl it does not work for terminals or files.
++AC_DEFUN([CF_FUNC_POLL],[
++AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
++AC_TRY_RUN([
++#include <stdio.h>
++#ifdef HAVE_POLL_H
++#include <poll.h>
++#else
++#include <sys/poll.h>
++#endif
++int main() {
++ struct pollfd myfds;
++ int ret;
++
++ myfds.fd = 0;
++ myfds.events = POLLIN;
++
++ ret = poll(&myfds, 1, 100);
++ exit(ret != 0);
++}],
++ [cf_cv_working_poll=yes],
++ [cf_cv_working_poll=no],
++ [cf_cv_working_poll=unknown])])
++test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_TERMIOS version: 2 updated: 2000/07/22 23:37:24
++dnl ---------------
++dnl Some old/broken variations define tcgetattr() only as a macro in
++dnl termio(s).h
++AC_DEFUN([CF_FUNC_TERMIOS],[
++AC_REQUIRE([CF_STRUCT_TERMIOS])
++AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
++AC_TRY_LINK([
++#include <sys/types.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++#ifdef HAVE_TERMIOS_H
++#include <termios.h>
++#define TTY struct termios
++#else
++#ifdef HAVE_TERMIO_H
++#include <termio.h>
++#define TTY struct termio
++#endif
++#endif
++],[
++TTY foo;
++tcgetattr(1, &foo);],
++[cf_cv_have_tcgetattr=yes],
++[cf_cv_have_tcgetattr=no])])
++test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_FUNC_VSSCANF version: 3 updated: 2001/12/19 00:50:10
++dnl ---------------
++dnl Check for vsscanf() function, which is in c9x but generally not in earlier
++dnl versions of C. It is in the GNU C library, and can often be simulated by
++dnl other functions.
++AC_DEFUN([CF_FUNC_VSSCANF],
++[
++AC_CACHE_CHECK(for vsscanf function or workaround,cf_cv_func_vsscanf,[
++AC_TRY_LINK([
++#include <stdarg.h>
++#include <stdio.h>],[
++ va_list ap;
++ vsscanf("from", "%d", ap)],[cf_cv_func_vsscanf=vsscanf],[
++AC_TRY_LINK([
++#include <stdarg.h>
++#include <stdio.h>],[
++ FILE strbuf;
++ char *str = "from";
++
++ strbuf._flag = _IOREAD;
++ strbuf._ptr = strbuf._base = (unsigned char *) str;
++ strbuf._cnt = strlen(str);
++ strbuf._file = _NFILE;
++ return (vfscanf(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=vfscanf],[
++AC_TRY_LINK([
++#include <stdarg.h>
++#include <stdio.h>],[
++ FILE strbuf;
++ char *str = "from";
++
++ strbuf._flag = _IOREAD;
++ strbuf._ptr = strbuf._base = (unsigned char *) str;
++ strbuf._cnt = strlen(str);
++ strbuf._file = _NFILE;
++ return (_doscan(&strbuf, "%d", ap))],[cf_cv_func_vsscanf=_doscan],[
++cf_cv_func_vsscanf=no])])])])
++
++case $cf_cv_func_vsscanf in #(vi
++vsscanf) AC_DEFINE(HAVE_VSSCANF);; #(vi
++vfscanf) AC_DEFINE(HAVE_VFSCANF);; #(vi
++_doscan) AC_DEFINE(HAVE__DOSCAN);;
++esac
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52
++dnl -----------------
++dnl Test for availability of useful gcc __attribute__ directives to quiet
++dnl compiler warnings. Though useful, not all are supported -- and contrary
++dnl to documentation, unrecognized directives cause older compilers to barf.
++AC_DEFUN([CF_GCC_ATTRIBUTES],
++[
++if test "$GCC" = yes
++then
++cat > conftest.i <<EOF
++#ifndef GCC_PRINTF
++#define GCC_PRINTF 0
++#endif
++#ifndef GCC_SCANF
++#define GCC_SCANF 0
++#endif
++#ifndef GCC_NORETURN
++#define GCC_NORETURN /* nothing */
++#endif
++#ifndef GCC_UNUSED
++#define GCC_UNUSED /* nothing */
++#endif
++EOF
++if test "$GCC" = yes
++then
++ AC_CHECKING([for $CC __attribute__ directives])
++cat > conftest.$ac_ext <<EOF
++#line __oline__ "configure"
++#include "confdefs.h"
++#include "conftest.h"
++#include "conftest.i"
++#if GCC_PRINTF
++#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
++#else
++#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
++#endif
++#if GCC_SCANF
++#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
++#else
++#define GCC_SCANFLIKE(fmt,var) /*nothing*/
++#endif
++extern void wow(char *,...) GCC_SCANFLIKE(1,2);
++extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
++extern void foo(void) GCC_NORETURN;
++int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
++EOF
++ for cf_attribute in scanf printf unused noreturn
++ do
++ CF_UPPER(CF_ATTRIBUTE,$cf_attribute)
++ cf_directive="__attribute__(($cf_attribute))"
++ echo "checking for $CC $cf_directive" 1>&AC_FD_CC
++ case $cf_attribute in
++ scanf|printf)
++ cat >conftest.h <<EOF
++#define GCC_$CF_ATTRIBUTE 1
++EOF
++ ;;
++ *)
++ cat >conftest.h <<EOF
++#define GCC_$CF_ATTRIBUTE $cf_directive
++EOF
++ ;;
++ esac
++ if AC_TRY_EVAL(ac_compile); then
++ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
++ cat conftest.h >>confdefs.h
++ fi
++ done
++else
++ fgrep define conftest.i >>confdefs.h
++fi
++rm -rf conftest*
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57
++dnl --------------
++dnl Find version of gcc
++AC_DEFUN([CF_GCC_VERSION],[
++AC_REQUIRE([AC_PROG_CC])
++GCC_VERSION=none
++if test "$GCC" = yes ; then
++ AC_MSG_CHECKING(version of $CC)
++ GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
++ test -z "$GCC_VERSION" && GCC_VERSION=unknown
++ AC_MSG_RESULT($GCC_VERSION)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30
++dnl ---------------
++dnl Check if the compiler supports useful warning options. There's a few that
++dnl we don't use, simply because they're too noisy:
++dnl
++dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
++dnl -Wredundant-decls (system headers make this too noisy)
++dnl -Wtraditional (combines too many unrelated messages, only a few useful)
++dnl -Wwrite-strings (too noisy, but should review occasionally). This
++dnl is enabled for ncurses using "--enable-const".
++dnl -pedantic
++dnl
++AC_DEFUN([CF_GCC_WARNINGS],
++[
++AC_REQUIRE([CF_GCC_VERSION])
++if test "$GCC" = yes
++then
++ cat > conftest.$ac_ext <<EOF
++#line __oline__ "configure"
++int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
++EOF
++ AC_CHECKING([for $CC warning options])
++ cf_save_CFLAGS="$CFLAGS"
++ EXTRA_CFLAGS="-W -Wall"
++ cf_warn_CONST=""
++ test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
++ for cf_opt in \
++ Wbad-function-cast \
++ Wcast-align \
++ Wcast-qual \
++ Winline \
++ Wmissing-declarations \
++ Wmissing-prototypes \
++ Wnested-externs \
++ Wpointer-arith \
++ Wshadow \
++ Wstrict-prototypes \
++ Wundef $cf_warn_CONST
++ do
++ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
++ if AC_TRY_EVAL(ac_compile); then
++ test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
++ case $cf_opt in #(vi
++ Wcast-qual) #(vi
++ CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
++ ;;
++ Winline) #(vi
++ case $GCC_VERSION in
++ 3.3*)
++ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
++ continue;;
++ esac
++ ;;
++ esac
++ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
++ fi
++ done
++ rm -f conftest*
++ CFLAGS="$cf_save_CFLAGS"
++fi
++AC_SUBST(EXTRA_CFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GNAT_TRY_RUN version: 2 updated: 1998/07/19 00:25:18
++dnl ---------------
++dnl Verify that a test program compiles and runs with GNAT
++dnl $cf_ada_make is set to the program that compiles/links
++AC_DEFUN([CF_GNAT_TRY_RUN],
++[
++rm -f conftest*
++cat >>conftest.ads <<CF_EOF
++$1
++CF_EOF
++cat >>conftest.adb <<CF_EOF
++$2
++CF_EOF
++if ( $cf_ada_make conftest 1>&AC_FD_CC 2>&1 ) ; then
++ if ( ./conftest 1>&AC_FD_CC 2>&1 ) ; then
++ifelse($3,, :,[ $3])
++ifelse($4,,,[ else
++ $4])
++ fi
++ifelse($4,,,[else
++ $4])
++fi
++rm -f conftest*
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09
++dnl ---------------
++dnl Verify version of GNAT.
++AC_DEFUN([CF_GNAT_VERSION],
++[
++AC_MSG_CHECKING(for gnat version)
++cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[[0-9]].[[0-9]][[0-9]]*' |\
++ sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'`
++AC_MSG_RESULT($cf_gnat_version)
++
++case $cf_gnat_version in
++ 3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*)
++ cf_cv_prog_gnat_correct=yes
++ ;;
++ *) echo Unsupported GNAT version $cf_gnat_version. Required is 3.11 or better. Disabling Ada95 binding.
++ cf_cv_prog_gnat_correct=no
++ ;;
++esac
++case $cf_gnat_version in
++ 3.[[1-9]]*|[[4-9]].*)
++ cf_compile_generics=generics
++ cf_generic_objects="\$(GENOBJS)"
++ ;;
++ *) cf_compile_generics=
++ cf_generic_objects=
++ ;;
++esac
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_GNU_SOURCE version: 3 updated: 2000/10/29 23:30:53
++dnl -------------
++dnl Check if we must define _GNU_SOURCE to get a reasonable value for
++dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
++dnl (or misfeature) of glibc2, which breaks portability of many applications,
++dnl since it is interwoven with GNU extensions.
++dnl
++dnl Well, yes we could work around it...
++AC_DEFUN([CF_GNU_SOURCE],
++[
++AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
++AC_TRY_COMPILE([#include <sys/types.h>],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_gnu_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++ AC_TRY_COMPILE([#include <sys/types.h>],[
++#ifdef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_gnu_source=no],
++ [cf_cv_gnu_source=yes])
++ CPPFLAGS="$cf_save"
++ ])
++])
++test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46
++dnl --------------
++dnl If we're trying to use g++, test if libg++ is installed (a rather common
++dnl problem :-). If we have the compiler but no library, we'll be able to
++dnl configure, but won't be able to build the c++ demo program.
++AC_DEFUN([CF_GPP_LIBRARY],
++[
++cf_cxx_library=unknown
++case $cf_cv_system_name in #(vi
++os2*) #(vi
++ cf_gpp_libname=gpp
++ ;;
++*)
++ cf_gpp_libname=g++
++ ;;
++esac
++if test "$GXX" = yes; then
++ AC_MSG_CHECKING([for lib$cf_gpp_libname])
++ cf_save="$LIBS"
++ LIBS="$LIBS -l$cf_gpp_libname"
++ AC_TRY_LINK([
++#include <$cf_gpp_libname/builtin.h>
++ ],
++ [two_arg_error_handler_t foo2 = lib_error_handler],
++ [cf_cxx_library=yes
++ CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
++ if test "$cf_gpp_libname" = cpp ; then
++ AC_DEFINE(HAVE_GPP_BUILTIN_H)
++ else
++ AC_DEFINE(HAVE_GXX_BUILTIN_H)
++ fi],
++ [AC_TRY_LINK([
++#include <builtin.h>
++ ],
++ [two_arg_error_handler_t foo2 = lib_error_handler],
++ [cf_cxx_library=yes
++ CXXLIBS="$CXXLIBS -l$cf_gpp_libname"
++ AC_DEFINE(HAVE_BUILTIN_H)],
++ [cf_cxx_library=no])])
++ LIBS="$cf_save"
++ AC_MSG_RESULT($cf_cxx_library)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_GXX_VERSION version: 3 updated: 2003/09/06 19:16:21
++dnl --------------
++dnl Check for version of g++
++AC_DEFUN([CF_GXX_VERSION],[
++AC_REQUIRE([AC_PROG_CPP])
++GXX_VERSION=none
++if test "$GXX" = yes; then
++ AC_MSG_CHECKING(version of g++)
++ GXX_VERSION="`${CXX-g++} --version|sed -e '2,$d'`"
++ AC_MSG_RESULT($GXX_VERSION)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
++dnl ---------------
++dnl Construct the list of include-options according to whether we're building
++dnl in the source directory or using '--srcdir=DIR' option. If we're building
++dnl with gcc, don't append the includedir if it happens to be /usr/include,
++dnl since that usually breaks gcc's shadow-includes.
++AC_DEFUN([CF_INCLUDE_DIRS],
++[
++CPPFLAGS="-I. -I../include $CPPFLAGS"
++if test "$srcdir" != "."; then
++ CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
++fi
++if test "$GCC" != yes; then
++ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
++elif test "$includedir" != "/usr/include"; then
++ if test "$includedir" = '${prefix}/include' ; then
++ if test $prefix != /usr ; then
++ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
++ fi
++ else
++ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
++ fi
++fi
++AC_SUBST(CPPFLAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_ISASCII version: 3 updated: 2000/08/12 23:18:52
++dnl ----------
++dnl Check if we have either a function or macro for 'isascii()'.
++AC_DEFUN([CF_ISASCII],
++[
++AC_MSG_CHECKING(for isascii)
++AC_CACHE_VAL(cf_cv_have_isascii,[
++ AC_TRY_LINK([#include <ctype.h>],[int x = isascii(' ')],
++ [cf_cv_have_isascii=yes],
++ [cf_cv_have_isascii=no])
++])dnl
++AC_MSG_RESULT($cf_cv_have_isascii)
++test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
++dnl ----------
++dnl Check for libutf8
++AC_DEFUN([CF_LIBUTF8],
++[
++AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
++ cf_save_LIBS="$LIBS"
++ LIBS="-lutf8 $LIBS"
++AC_TRY_LINK([
++#include <libutf8.h>],[putwc(0,0);],
++ [cf_cv_libutf8=yes],
++ [cf_cv_libutf8=no])
++ LIBS="$cf_save_LIBS"
++])
++
++if test "$cf_cv_libutf8" = yes ; then
++ AC_DEFINE(HAVE_LIBUTF8_H)
++ LIBS="-lutf8 $LIBS"
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48
++dnl -------------
++dnl Compute the library-prefix for the given host system
++dnl $1 = variable to set
++AC_DEFUN([CF_LIB_PREFIX],
++[
++ case $cf_cv_system_name in
++ OS/2*) LIB_PREFIX='' ;;
++ os2*) LIB_PREFIX='' ;;
++ *) LIB_PREFIX='lib' ;;
++ esac
++ifelse($1,,,[$1=$LIB_PREFIX])
++ AC_SUBST(LIB_PREFIX)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LIB_RULES version: 30 updated: 2004/01/10 15:50:50
++dnl ------------
++dnl Append definitions and rules for the given models to the subdirectory
++dnl Makefiles, and the recursion rule for the top-level Makefile. If the
++dnl subdirectory is a library-source directory, modify the LIBRARIES list in
++dnl the corresponding makefile to list the models that we'll generate.
++dnl
++dnl For shared libraries, make a list of symbolic links to construct when
++dnl generating each library. The convention used for Linux is the simplest
++dnl one:
++dnl lib<name>.so ->
++dnl lib<name>.so.<major> ->
++dnl lib<name>.so.<maj>.<minor>
++AC_DEFUN([CF_LIB_RULES],
++[
++CF_LIB_PREFIX(cf_prefix)
++AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
++for cf_dir in $SRC_SUBDIRS
++do
++ if test -f $srcdir/$cf_dir/modules; then
++
++ IMPORT_LIB=
++ SHARED_LIB=
++ LIBS_TO_MAKE=
++ for cf_item in $CF_LIST_MODELS
++ do
++ CF_LIB_SUFFIX($cf_item,cf_suffix)
++ if test $cf_item = shared ; then
++ if test "$cf_cv_do_symlinks" = yes ; then
++ case "$cf_cv_shlib_version" in #(vi
++ rel) #(vi
++ case "$cf_cv_system_name" in #(vi
++ darwin*) cf_suffix='.$(REL_VERSION)'"$cf_suffix" ;; #(vi
++ *) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;;
++ esac
++ ;;
++ abi)
++ case "$cf_cv_system_name" in #(vi
++ darwin*) cf_suffix='.$(ABI_VERSION)'"$cf_suffix" ;; #(vi
++ *) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
++ esac
++ ;;
++ esac
++ fi
++ # cygwin needs import library, and has unique naming convention
++ # use autodetected ${cf_prefix} for import lib and static lib, but
++ # use 'cyg' prefix for shared lib.
++ if test $cf_cv_shlib_version = cygdll ; then
++ SHARED_LIB="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
++ IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
++ LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
++ continue
++ fi
++ fi
++ LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
++ done
++
++ if test $cf_dir = ncurses ; then
++ cf_subsets="$LIB_SUBSETS"
++ cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'`
++ if test "$cf_termlib" != "$cf_subsets" ; then
++ cf_item=`echo $LIBS_TO_MAKE |sed -e s%$LIB_NAME%$TINFO_NAME%g`
++ LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
++ fi
++ else
++ cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
++ fi
++
++ sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
++ -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \
++ -e "s%@SHARED_LIB@%$SHARED_LIB%" \
++ $cf_dir/Makefile >$cf_dir/Makefile.out
++ mv $cf_dir/Makefile.out $cf_dir/Makefile
++
++ $AWK -f $srcdir/mk-0th.awk \
++ libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
++ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
++
++ for cf_subset in $cf_subsets
++ do
++ cf_subdirs=
++ for cf_item in $CF_LIST_MODELS
++ do
++ echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
++ CF_UPPER(CF_ITEM,$cf_item)
++ CF_LIB_SUFFIX($cf_item,cf_suffix)
++ CF_OBJ_SUBDIR($cf_item,cf_subdir)
++
++ # These dependencies really are for development, not
++ # builds, but they are useful in porting, too.
++ cf_depend="../include/ncurses_cfg.h"
++ if test "$srcdir" = "."; then
++ cf_reldir="."
++ else
++ cf_reldir="\$(srcdir)"
++ fi
++
++ if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
++ cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
++ elif test -f $srcdir/$cf_dir/curses.priv.h; then
++ cf_depend="$cf_depend $cf_reldir/curses.priv.h"
++ fi
++
++ $AWK -f $srcdir/mk-1st.awk \
++ name=$cf_dir \
++ traces=$LIB_TRACING \
++ MODEL=$CF_ITEM \
++ model=$cf_subdir \
++ prefix=$cf_prefix \
++ suffix=$cf_suffix \
++ subset=$cf_subset \
++ ShlibVer=$cf_cv_shlib_version \
++ ShlibVerInfix=$cf_cv_shlib_version_infix \
++ DoLinks=$cf_cv_do_symlinks \
++ rmSoLocs=$cf_cv_rm_so_locs \
++ ldconfig="$LDCONFIG" \
++ overwrite=$WITH_OVERWRITE \
++ depend="$cf_depend" \
++ host="$host" \
++ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
++ for cf_subdir2 in $cf_subdirs lib
++ do
++ test $cf_subdir = $cf_subdir2 && break
++ done
++ test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
++ $AWK -f $srcdir/mk-2nd.awk \
++ name=$cf_dir \
++ traces=$LIB_TRACING \
++ MODEL=$CF_ITEM \
++ model=$cf_subdir \
++ subset=$cf_subset \
++ srcdir=$srcdir \
++ echo=$WITH_ECHO \
++ $srcdir/$cf_dir/modules >>$cf_dir/Makefile
++ cf_subdirs="$cf_subdirs $cf_subdir"
++ done
++ done
++ fi
++
++ echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >>Makefile
++done
++
++for cf_dir in $SRC_SUBDIRS
++do
++ if test -f $cf_dir/Makefile ; then
++ case "$cf_dir" in
++ Ada95) #(vi
++ echo 'libs \' >> Makefile
++ echo 'install.libs \' >> Makefile
++ echo 'uninstall.libs ::' >> Makefile
++ echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >> Makefile
++ ;;
++ esac
++ fi
++
++ if test -f $srcdir/$cf_dir/modules; then
++ echo >> Makefile
++ if test -f $srcdir/$cf_dir/headers; then
++cat >> Makefile <<CF_EOF
++install.includes \\
++uninstall.includes \\
++CF_EOF
++ fi
++if test "$cf_dir" != "c++" ; then
++echo 'lint \' >> Makefile
++fi
++cat >> Makefile <<CF_EOF
++libs \\
++lintlib \\
++install.libs \\
++uninstall.libs \\
++install.$cf_dir \\
++uninstall.$cf_dir ::
++ cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
++CF_EOF
++ elif test -f $srcdir/$cf_dir/headers; then
++cat >> Makefile <<CF_EOF
++
++libs \\
++install.libs \\
++uninstall.libs \\
++install.includes \\
++uninstall.includes ::
++ cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
++CF_EOF
++fi
++done
++
++cat >> Makefile <<CF_EOF
++
++install.data \\
++uninstall.data ::
++$MAKE_TERMINFO cd misc && \$(MAKE) \$(CF_MFLAGS) \[$]@
++
++install.man \\
++uninstall.man ::
++ cd man && \$(MAKE) \$(CF_MFLAGS) \[$]@
++
++distclean ::
++ rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
++ rm -f headers.sh headers.sed
++ rm -rf \$(DIRS_TO_MAKE)
++CF_EOF
++
++# Special case: tack's manpage lives in its own directory.
++if test -d tack ; then
++if test -f $srcdir/$tack.h; then
++cat >> Makefile <<CF_EOF
++
++install.man \\
++uninstall.man ::
++ cd tack && \$(MAKE) \$(CF_MFLAGS) \[$]@
++CF_EOF
++fi
++fi
++
++dnl If we're installing into a subdirectory of /usr/include, etc., we should
++dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
++dnl anything, and will make it more standardized. It's awkward to decide this
++dnl at configuration because of quoting, so we'll simply make all headers
++dnl installed via a script that can do the right thing.
++
++rm -f headers.sed headers.sh
++
++dnl ( generating this script makes the makefiles a little tidier :-)
++echo creating headers.sh
++cat >headers.sh <<CF_EOF
++#! /bin/sh
++# This shell script is generated by the 'configure' script. It is invoked in a
++# subdirectory of the build tree. It generates a sed-script in the parent
++# directory that is used to adjust includes for header files that reside in a
++# subdirectory of /usr/include, etc.
++PRG=""
++while test \[$]# != 3
++do
++PRG="\$PRG \[$]1"; shift
++done
++DST=\[$]1
++REF=\[$]2
++SRC=\[$]3
++TMPSRC=\${TMPDIR-/tmp}/\`basename \$SRC\`\$\$
++TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
++echo installing \$SRC in \$DST
++CF_EOF
++if test $WITH_CURSES_H = yes; then
++ cat >>headers.sh <<CF_EOF
++case \$DST in
++/*/include/*)
++ END=\`basename \$DST\`
++ for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
++ do
++ NAME=\`basename \$i\`
++ echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
++ done
++ ;;
++*)
++ echo "" >> \$TMPSED
++ ;;
++esac
++CF_EOF
++else
++ cat >>headers.sh <<CF_EOF
++case \$DST in
++/*/include/*)
++ END=\`basename \$DST\`
++ for i in \`cat \$REF/../*/headers |fgrep -v "#"\`
++ do
++ NAME=\`basename \$i\`
++ if test "\$NAME" = "curses.h"
++ then
++ echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
++ NAME=ncurses.h
++ fi
++ echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
++ done
++ ;;
++*)
++ echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
++ ;;
++esac
++CF_EOF
++fi
++cat >>headers.sh <<CF_EOF
++rm -f \$TMPSRC
++sed -f \$TMPSED \$SRC > \$TMPSRC
++NAME=\`basename \$SRC\`
++CF_EOF
++if test $WITH_CURSES_H != yes; then
++ cat >>headers.sh <<CF_EOF
++test "\$NAME" = "curses.h" && NAME=ncurses.h
++CF_EOF
++fi
++cat >>headers.sh <<CF_EOF
++# Just in case someone gzip'd manpages, remove the conflicting copy.
++test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
++
++eval \$PRG \$TMPSRC \$DST/\$NAME
++rm -f \$TMPSRC \$TMPSED
++CF_EOF
++
++chmod 0755 headers.sh
++
++for cf_dir in $SRC_SUBDIRS
++do
++ if test -f $srcdir/$cf_dir/headers; then
++ cat >>$cf_dir/Makefile <<CF_EOF
++\$(DESTDIR)\$(includedir) :
++ sh \$(srcdir)/../mkinstalldirs \[$]@
++
++install \\
++install.libs \\
++install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
++CF_EOF
++ j=""
++ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
++ do
++ test -n "$j" && echo " $j \\" >>$cf_dir/Makefile
++ j=$i
++ done
++ echo " $j" >>$cf_dir/Makefile
++ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
++ do
++ echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
++ test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
++ done
++
++ cat >>$cf_dir/Makefile <<CF_EOF
++
++uninstall \\
++uninstall.libs \\
++uninstall.includes ::
++CF_EOF
++ for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
++ do
++ i=`basename $i`
++ echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
++ test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
++ done
++ fi
++
++ if test -f $srcdir/$cf_dir/modules; then
++ if test "$cf_dir" != "c++" ; then
++ cat >>$cf_dir/Makefile <<"CF_EOF"
++depend : $(AUTO_SRC)
++ makedepend -- $(CPPFLAGS) -- $(C_SRC)
++
++# DO NOT DELETE THIS LINE -- make depend depends on it.
++CF_EOF
++ fi
++ fi
++done
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LIB_SUFFIX version: 13 updated: 2003/11/01 16:09:07
++dnl -------------
++dnl Compute the library file-suffix from the given model name
++dnl $1 = model name
++dnl $2 = variable to set
++dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
++AC_DEFUN([CF_LIB_SUFFIX],
++[
++ AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
++ case $1 in
++ libtool) $2='.la' ;;
++ normal) $2='.a' ;;
++ debug) $2='_g.a' ;;
++ profile) $2='_p.a' ;;
++ shared)
++ case $cf_cv_system_name in
++ cygwin*) $2='.dll' ;;
++ darwin*) $2='.dylib' ;;
++ hpux*)
++ case $target in
++ ia64*) $2='.so' ;;
++ *) $2='.sl' ;;
++ esac
++ ;;
++ *) $2='.so' ;;
++ esac
++ esac
++ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
++dnl -----------
++dnl Compute the string to append to -library from the given model name
++dnl $1 = model name
++dnl $2 = variable to set
++dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
++AC_DEFUN([CF_LIB_TYPE],
++[
++ case $1 in
++ libtool) $2='' ;;
++ normal) $2='' ;;
++ debug) $2='_g' ;;
++ profile) $2='_p' ;;
++ shared) $2='' ;;
++ esac
++ test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46
++dnl ----------------
++dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
++dnl only data (i.e., no functions), for example NeXT. On those systems we'll
++dnl have to provide wrappers for global tables to ensure they're linked
++dnl properly.
++AC_DEFUN([CF_LINK_DATAONLY],
++[
++AC_MSG_CHECKING([if data-only library module links])
++AC_CACHE_VAL(cf_cv_link_dataonly,[
++ rm -f conftest.a
++ cat >conftest.$ac_ext <<EOF
++#line __oline__ "configure"
++int testdata[[3]] = { 123, 456, 789 };
++EOF
++ if AC_TRY_EVAL(ac_compile) ; then
++ mv conftest.o data.o && \
++ ( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
++ fi
++ rm -f conftest.$ac_ext data.o
++ cat >conftest.$ac_ext <<EOF
++#line __oline__ "configure"
++int testfunc()
++{
++#if defined(NeXT)
++ exit(1); /* I'm told this linker is broken */
++#else
++ extern int testdata[[3]];
++ return testdata[[0]] == 123
++ && testdata[[1]] == 456
++ && testdata[[2]] == 789;
++#endif
++}
++EOF
++ if AC_TRY_EVAL(ac_compile); then
++ mv conftest.o func.o && \
++ ( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
++ fi
++ rm -f conftest.$ac_ext func.o
++ ( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
++ cf_saveLIBS="$LIBS"
++ LIBS="conftest.a $LIBS"
++ AC_TRY_RUN([
++ int main()
++ {
++ extern int testfunc();
++ exit (!testfunc());
++ }
++ ],
++ [cf_cv_link_dataonly=yes],
++ [cf_cv_link_dataonly=no],
++ [cf_cv_link_dataonly=unknown])
++ LIBS="$cf_saveLIBS"
++ ])
++AC_MSG_RESULT($cf_cv_link_dataonly)
++
++if test "$cf_cv_link_dataonly" = no ; then
++ AC_DEFINE(BROKEN_LINKER)
++ BROKEN_LINKER=1
++fi
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46
++dnl -------------
++dnl Most Unix systems have both link and symlink, a few don't have symlink.
++dnl A few non-Unix systems implement symlink, but not link.
++dnl A few non-systems implement neither (or have nonfunctional versions).
++AC_DEFUN([CF_LINK_FUNCS],
++[
++AC_CHECK_FUNCS( \
++ remove \
++ unlink )
++
++if test "$cross_compiling" = yes ; then
++ AC_CHECK_FUNCS( \
++ link \
++ symlink )
++else
++ AC_CACHE_CHECK(if link/symlink functions work,cf_cv_link_funcs,[
++ cf_cv_link_funcs=
++ for cf_func in link symlink ; do
++ AC_TRY_RUN([
++#include <sys/types.h>
++#include <sys/stat.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
++int main()
++{
++ int fail = 0;
++ char *src = "config.log";
++ char *dst = "conftest.chk";
++ struct stat src_sb;
++ struct stat dst_sb;
++
++ stat(src, &src_sb);
++ fail = ($cf_func("config.log", "conftest.chk") < 0)
++ || (stat(dst, &dst_sb) < 0)
++ || (dst_sb.st_mtime != src_sb.st_mtime);
++#ifdef HAVE_UNLINK
++ unlink(dst);
++#else
++ remove(dst);
++#endif
++ exit (fail);
++}
++ ],[
++ cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
++ eval 'ac_cv_func_'$cf_func'=yes'],[
++ eval 'ac_cv_func_'$cf_func'=no'],[
++ eval 'ac_cv_func_'$cf_func'=error'])
++ done
++ test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
++ ])
++ test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
++ test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27
++dnl ------------
++dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
++dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
++dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
++dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-)
++AC_DEFUN([CF_MAKEFLAGS],
++[
++AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
++ cf_cv_makeflags=''
++ for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)'
++ do
++ cat >cf_makeflags.tmp <<CF_EOF
++SHELL = /bin/sh
++all :
++ @ echo '.$cf_option'
++CF_EOF
++ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null`
++ case "$cf_result" in
++ .*k)
++ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
++ case "$cf_result" in
++ .*CC=*) cf_cv_makeflags=
++ ;;
++ *) cf_cv_makeflags=$cf_option
++ ;;
++ esac
++ break
++ ;;
++ *) echo no match "$cf_result"
++ ;;
++ esac
++ done
++ rm -f cf_makeflags.tmp
++])
++
++AC_SUBST(cf_cv_makeflags)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
++dnl ------------
++dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
++dnl a monocase filesystem.
++AC_DEFUN([CF_MAKE_TAGS],[
++AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
++AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
++
++if test "$cf_cv_mixedcase" = yes ; then
++ AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
++else
++ MAKE_UPPER_TAGS=no
++fi
++
++if test "$MAKE_UPPER_TAGS" = yes ; then
++ MAKE_UPPER_TAGS=
++else
++ MAKE_UPPER_TAGS="#"
++fi
++AC_SUBST(MAKE_UPPER_TAGS)
++
++if test "$MAKE_LOWER_TAGS" = yes ; then
++ MAKE_LOWER_TAGS=
++else
++ MAKE_LOWER_TAGS="#"
++fi
++AC_SUBST(MAKE_LOWER_TAGS)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MANPAGE_FORMAT version: 7 updated: 2003/12/20 19:30:34
++dnl -----------------
++dnl Option to allow user to override automatic configuration of manpage format.
++dnl There are several special cases:
++dnl
++dnl gzip - man checks for, can display gzip'd files
++dnl compress - man checks for, can display compressed files
++dnl BSDI - files in the cat-directories are suffixed ".0"
++dnl formatted - installer should format (put files in cat-directory)
++dnl catonly - installer should only format, e.g., for a turnkey system.
++dnl
++dnl There are other configurations which this macro does not test, e.g., HPUX's
++dnl compressed manpages (but uncompressed manpages are fine, and HPUX's naming
++dnl convention would not match our use).
++AC_DEFUN([CF_MANPAGE_FORMAT],
++[
++AC_REQUIRE([CF_PATHSEP])
++AC_MSG_CHECKING(format of man-pages)
++
++AC_ARG_WITH(manpage-format,
++ [ --with-manpage-format specify manpage-format: gzip/compress/BSDI/normal and
++ optionally formatted/catonly, e.g., gzip,formatted],
++ [MANPAGE_FORMAT=$withval],
++ [MANPAGE_FORMAT=unknown])
++
++test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=unknown
++MANPAGE_FORMAT=`echo "$MANPAGE_FORMAT" | sed -e 's/,/ /g'`
++
++cf_unknown=
++
++case $MANPAGE_FORMAT in
++unknown)
++ if test -z "$MANPATH" ; then
++ MANPATH="/usr/man:/usr/share/man"
++ fi
++
++ # look for the 'date' man-page (it's most likely to be installed!)
++ MANPAGE_FORMAT=
++ cf_preform=no
++ cf_catonly=yes
++ cf_example=date
++
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}"
++ for cf_dir in $MANPATH; do
++ test -z "$cf_dir" && cf_dir=/usr/man
++ for cf_name in $cf_dir/man*/$cf_example.[[01]]* $cf_dir/cat*/$cf_example.[[01]]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example
++ do
++ cf_test=`echo $cf_name | sed -e 's/*//'`
++ if test "x$cf_test" = "x$cf_name" ; then
++
++ case "$cf_name" in
++ *.gz) MANPAGE_FORMAT="$MANPAGE_FORMAT gzip";;
++ *.Z) MANPAGE_FORMAT="$MANPAGE_FORMAT compress";;
++ *.0) MANPAGE_FORMAT="$MANPAGE_FORMAT BSDI";;
++ *) MANPAGE_FORMAT="$MANPAGE_FORMAT normal";;
++ esac
++
++ case "$cf_name" in
++ $cf_dir/man*)
++ cf_catonly=no
++ ;;
++ $cf_dir/cat*)
++ cf_preform=yes
++ ;;
++ esac
++ break
++ fi
++
++ # if we found a match in either man* or cat*, stop looking
++ if test -n "$MANPAGE_FORMAT" ; then
++ cf_found=no
++ test "$cf_preform" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT formatted"
++ test "$cf_catonly" = yes && MANPAGE_FORMAT="$MANPAGE_FORMAT catonly"
++ case "$cf_name" in
++ $cf_dir/cat*)
++ cf_found=yes
++ ;;
++ esac
++ test $cf_found=yes && break
++ fi
++ done
++ # only check the first directory in $MANPATH where we find manpages
++ if test -n "$MANPAGE_FORMAT" ; then
++ break
++ fi
++ done
++ # if we did not find the example, just assume it is normal
++ test -z "$MANPAGE_FORMAT" && MANPAGE_FORMAT=normal
++ IFS="$ac_save_ifs"
++ ;;
++*)
++ for cf_option in $MANPAGE_FORMAT; do
++ case $cf_option in #(vi
++ gzip|compress|BSDI|normal|formatted|catonly)
++ ;;
++ *)
++ cf_unknown="$cf_unknown $cf_option"
++ ;;
++ esac
++ done
++ ;;
++esac
++
++AC_MSG_RESULT($MANPAGE_FORMAT)
++if test -n "$cf_unknown" ; then
++ AC_MSG_WARN(Unexpected manpage-format $cf_unknown)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MANPAGE_RENAMES version: 6 updated: 2002/01/19 22:51:32
++dnl ------------------
++dnl The Debian people have their own naming convention for manpages. This
++dnl option lets us override the name of the file containing renaming, or
++dnl disable it altogether.
++AC_DEFUN([CF_MANPAGE_RENAMES],
++[
++AC_MSG_CHECKING(for manpage renaming)
++
++AC_ARG_WITH(manpage-renames,
++ [ --with-manpage-renames specify manpage-renaming],
++ [MANPAGE_RENAMES=$withval],
++ [MANPAGE_RENAMES=yes])
++
++case ".$MANPAGE_RENAMES" in #(vi
++.no) #(vi
++ ;;
++.|.yes)
++ # Debian 'man' program?
++ if test -f /etc/debian_version ; then
++ MANPAGE_RENAMES=`cd $srcdir && pwd`/man/man_db.renames
++ else
++ MANPAGE_RENAMES=no
++ fi
++ ;;
++esac
++
++if test "$MANPAGE_RENAMES" != no ; then
++ if test -f $srcdir/man/$MANPAGE_RENAMES ; then
++ MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES
++ elif test ! -f $MANPAGE_RENAMES ; then
++ AC_MSG_ERROR(not a filename: $MANPAGE_RENAMES)
++ fi
++
++ test ! -d man && mkdir man
++
++ # Construct a sed-script to perform renaming within man-pages
++ if test -n "$MANPAGE_RENAMES" ; then
++ test ! -d man && mkdir man
++ sh $srcdir/man/make_sed.sh $MANPAGE_RENAMES >man/edit_man.sed
++ fi
++fi
++
++AC_MSG_RESULT($MANPAGE_RENAMES)
++AC_SUBST(MANPAGE_RENAMES)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MANPAGE_SYMLINKS version: 4 updated: 2003/12/13 18:01:58
++dnl -------------------
++dnl Some people expect each tool to make all aliases for manpages in the
++dnl man-directory. This accommodates the older, less-capable implementations
++dnl of 'man', and is optional.
++AC_DEFUN([CF_MANPAGE_SYMLINKS],
++[
++AC_MSG_CHECKING(if manpage aliases will be installed)
++
++AC_ARG_WITH(manpage-aliases,
++ [ --with-manpage-aliases specify manpage-aliases using .so],
++ [MANPAGE_ALIASES=$withval],
++ [MANPAGE_ALIASES=yes])
++
++AC_MSG_RESULT($MANPAGE_ALIASES)
++
++if test "$LN_S" = "ln -s"; then
++ cf_use_symlinks=yes
++else
++ cf_use_symlinks=no
++fi
++
++MANPAGE_SYMLINKS=no
++if test "$MANPAGE_ALIASES" = yes ; then
++AC_MSG_CHECKING(if manpage symlinks should be used)
++
++AC_ARG_WITH(manpage-symlinks,
++ [ --with-manpage-symlinks specify manpage-aliases using symlinks],
++ [MANPAGE_SYMLINKS=$withval],
++ [MANPAGE_SYMLINKS=$cf_use_symlinks])
++
++if test "$$cf_use_symlinks" = no; then
++if test "$MANPAGE_SYMLINKS" = yes ; then
++ AC_MSG_WARN(cannot make symlinks, will use .so files)
++ MANPAGE_SYMLINKS=no
++fi
++fi
++
++AC_MSG_RESULT($MANPAGE_SYMLINKS)
++fi
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MANPAGE_TBL version: 3 updated: 2002/01/19 22:51:32
++dnl --------------
++dnl This option causes manpages to be run through tbl(1) to generate tables
++dnl correctly.
++AC_DEFUN([CF_MANPAGE_TBL],
++[
++AC_MSG_CHECKING(for manpage tbl)
++
++AC_ARG_WITH(manpage-tbl,
++ [ --with-manpage-tbl specify manpage processing with tbl],
++ [MANPAGE_TBL=$withval],
++ [MANPAGE_TBL=no])
++
++AC_MSG_RESULT($MANPAGE_TBL)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MAN_PAGES version: 27 updated: 2003/12/20 20:39:45
++dnl ------------
++dnl Try to determine if the man-pages on the system are compressed, and if
++dnl so, what format is used. Use this information to construct a script that
++dnl will install man-pages.
++AC_DEFUN([CF_MAN_PAGES],
++[
++CF_MANPAGE_FORMAT
++CF_MANPAGE_RENAMES
++CF_MANPAGE_SYMLINKS
++CF_MANPAGE_TBL
++
++ if test "$prefix" = "NONE" ; then
++ cf_prefix="$ac_default_prefix"
++ else
++ cf_prefix="$prefix"
++ fi
++
++ case "$MANPAGE_FORMAT" in # (vi
++ *catonly*) # (vi
++ cf_format=yes
++ cf_inboth=no
++ ;;
++ *formatted*) # (vi
++ cf_format=yes
++ cf_inboth=yes
++ ;;
++ *)
++ cf_format=no
++ cf_inboth=no
++ ;;
++ esac
++
++test ! -d man && mkdir man
++
++cf_so_strip=
++cf_compress=
++case "$MANPAGE_FORMAT" in #(vi
++*compress*) #(vi
++ cf_so_strip="Z"
++ cf_compress=compress
++ ;;
++*gzip*) #(vi
++ cf_so_strip="gz"
++ cf_compress=gzip
++ ;;
++esac
++
++cf_edit_man=man/edit_man.sh
++
++cat >$cf_edit_man <<CF_EOF
++#! /bin/sh
++# this script is generated by the configure-script CF_MAN_PAGES macro.
++prefix="$cf_prefix"
++datadir="$datadir"
++NCURSES_OSPEED="$NCURSES_OSPEED"
++TERMINFO="$TERMINFO"
++MKDIRS="sh `cd $srcdir && pwd`/mkinstalldirs"
++INSTALL="$INSTALL"
++INSTALL_DATA="$INSTALL_DATA"
++transform="$program_transform_name"
++
++TMP=\${TMPDIR-/tmp}/man\$\$
++trap "rm -f \$TMP" 0 1 2 5 15
++
++form=\[$]1
++shift || exit 1
++
++verb=\[$]1
++shift || exit 1
++
++mandir=\[$]1
++shift || exit 1
++
++srcdir=\[$]1
++shift || exit 1
++
++if test "\$form" = normal ; then
++ if test "$cf_format" = yes ; then
++ if test "$cf_inboth" = no ; then
++ sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
++ exit $?
++ fi
++ fi
++ cf_subdir=\$mandir/man
++ cf_tables=$MANPAGE_TBL
++else
++ cf_subdir=\$mandir/cat
++ cf_tables=yes
++fi
++
++# process the list of source-files
++for i in \[$]* ; do
++case \$i in #(vi
++*.orig|*.rej) ;; #(vi
++*.[[0-9]]*)
++ section=\`expr "\$i" : '.*\\.\\([[0-9]]\\)[[xm]]*'\`;
++ if test \$verb = installing ; then
++ if test ! -d \$cf_subdir\${section} ; then
++ \$MKDIRS \$cf_subdir\$section
++ fi
++ fi
++ aliases=
++ source=\`basename \$i\`
++ inalias=\$source
++ test ! -f \$inalias && inalias="\$srcdir/\$inalias"
++ if test ! -f \$inalias ; then
++ echo .. skipped \$source
++ continue
++ fi
++CF_EOF
++
++if test "$MANPAGE_ALIASES" != no ; then
++cat >>$cf_edit_man <<CF_EOF
++ aliases=\`sed -f \$srcdir/manlinks.sed \$inalias | sort -u\`
++CF_EOF
++fi
++
++if test "$MANPAGE_RENAMES" = no ; then
++cat >>$cf_edit_man <<CF_EOF
++ # perform program transformations for section 1 man pages
++ if test \$section = 1 ; then
++ target=\$cf_subdir\${section}/\`echo \$source|sed "\${transform}"\`
++ else
++ target=\$cf_subdir\${section}/\$source
++ fi
++CF_EOF
++else
++cat >>$cf_edit_man <<CF_EOF
++ target=\`grep "^\$source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
++ if test -z "\$target" ; then
++ echo '? missing rename for '\$source
++ target="\$source"
++ fi
++ target="\$cf_subdir\${section}/\${target}"
++CF_EOF
++fi
++
++ # replace variables in man page
++ ifelse($1,,,[
++ for cf_name in $1
++ do
++cat >>$cf_edit_man <<CF_EOF
++ prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
++CF_EOF
++ done
++ ])
++cat >>$cf_edit_man <<CF_EOF
++ sed -e "s,@DATADIR@,\$datadir," \\
++ -e "s,@TERMINFO@,\$TERMINFO," \\
++ -e "s,@NCURSES_OSPEED@,\$NCURSES_OSPEED," \\
++CF_EOF
++
++ ifelse($1,,,[
++ for cf_name in $1
++ do
++ cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++cat >>$cf_edit_man <<CF_EOF
++ -e "s,@$cf_NAME@,\$prog_$cf_name," \\
++CF_EOF
++ done
++ ])
++
++if test -f $MANPAGE_RENAMES ; then
++cat >>$cf_edit_man <<CF_EOF
++ < \$i | sed -f $srcdir/edit_man.sed >\$TMP
++CF_EOF
++else
++cat >>$cf_edit_man <<CF_EOF
++ < \$i >\$TMP
++CF_EOF
++fi
++
++cat >>$cf_edit_man <<CF_EOF
++if test \$cf_tables = yes ; then
++ tbl \$TMP >\$TMP.out
++ mv \$TMP.out \$TMP
++fi
++CF_EOF
++
++if test $with_curses_h != yes ; then
++cat >>$cf_edit_man <<CF_EOF
++ sed -e "/\#[ ]*include/s,curses.h,ncurses.h," < \$TMP >\$TMP.out
++ mv \$TMP.out \$TMP
++CF_EOF
++fi
++
++cat >>$cf_edit_man <<CF_EOF
++ if test \$form = format ; then
++ nroff -man \$TMP >\$TMP.out
++ mv \$TMP.out \$TMP
++ fi
++CF_EOF
++
++if test -n "$cf_compress" ; then
++cat >>$cf_edit_man <<CF_EOF
++ if test \$verb = installing ; then
++ if ( $cf_compress -f \$TMP )
++ then
++ mv \$TMP.$cf_so_strip \$TMP
++ fi
++ fi
++ target="\$target.$cf_so_strip"
++CF_EOF
++fi
++
++case "$MANPAGE_FORMAT" in #(vi
++*BSDI*)
++cat >>$cf_edit_man <<CF_EOF
++ if test \$form = format ; then
++ # BSDI installs only .0 suffixes in the cat directories
++ target="\`echo \$target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
++ fi
++CF_EOF
++ ;;
++esac
++
++cat >>$cf_edit_man <<CF_EOF
++ suffix=\`basename \$target | sed -e 's%^[[^.]]*%%'\`
++ if test \$verb = installing ; then
++ echo \$verb \$target
++ \$INSTALL_DATA \$TMP \$target
++ test -n "\$aliases" && (
++ cd \$cf_subdir\${section} && (
++ source=\`echo \$target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
++ test -n "$cf_so_strip" && source=\`echo \$source |sed -e 's%\.$cf_so_strip\$%%'\`
++ target=\`basename \$target\`
++ for cf_alias in \$aliases
++ do
++ if test \$section = 1 ; then
++ cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
++ fi
++
++ if test "$MANPAGE_SYMLINKS" = yes ; then
++ if test -f \$cf_alias\${suffix} ; then
++ if ( cmp -s \$target \$cf_alias\${suffix} )
++ then
++ continue
++ fi
++ fi
++ echo .. \$verb alias \$cf_alias\${suffix}
++ rm -f \$cf_alias\${suffix}
++ $LN_S \$target \$cf_alias\${suffix}
++ elif test "\$target" != "\$cf_alias\${suffix}" ; then
++ echo ".so \$source" >\$TMP
++CF_EOF
++if test -n "$cf_compress" ; then
++cat >>$cf_edit_man <<CF_EOF
++ if test -n "$cf_so_strip" ; then
++ $cf_compress -f \$TMP
++ mv \$TMP.$cf_so_strip \$TMP
++ fi
++CF_EOF
++fi
++cat >>$cf_edit_man <<CF_EOF
++ echo .. \$verb alias \$cf_alias\${suffix}
++ rm -f \$cf_alias\${suffix}
++ \$INSTALL_DATA \$TMP \$cf_alias\${suffix}
++ fi
++ done
++ )
++ )
++ elif test \$verb = removing ; then
++ echo \$verb \$target
++ rm -f \$target
++ test -n "\$aliases" && (
++ cd \$cf_subdir\${section} && (
++ for cf_alias in \$aliases
++ do
++ if test \$section = 1 ; then
++ cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
++ fi
++
++ echo .. \$verb alias \$cf_alias\${suffix}
++ rm -f \$cf_alias\${suffix}
++ done
++ )
++ )
++ else
++# echo ".hy 0"
++ cat \$TMP
++ fi
++ ;;
++esac
++done
++
++if test $cf_inboth = yes ; then
++if test \$form != format ; then
++ sh \[$]0 format \$verb \$mandir \$srcdir \[$]*
++fi
++fi
++
++exit 0
++CF_EOF
++chmod 755 $cf_edit_man
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
++dnl -----------
++dnl Checks for libraries. At least one UNIX system, Apple Macintosh
++dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
++dnl AC_CHECK_LIB(m,sin), because that fails for C++.
++AC_DEFUN([CF_MATH_LIB],
++[
++AC_CACHE_CHECK(if -lm needed for math functions,
++ cf_cv_need_libm,[
++ AC_TRY_LINK([
++ #include <stdio.h>
++ #include <math.h>
++ ],
++ [double x = rand(); printf("result = %g\n", ]ifelse($2,,sin(x),$2)[)],
++ [cf_cv_need_libm=no],
++ [cf_cv_need_libm=yes])])
++if test "$cf_cv_need_libm" = yes
++then
++ifelse($1,,[
++ LIBS="$LIBS -lm"
++],[$1=-lm])
++fi
++])
++dnl ---------------------------------------------------------------------------
++dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
++dnl ----------------------
++dnl Check if the file-system supports mixed-case filenames. If we're able to
++dnl create a lowercase name and see it as uppercase, it doesn't support that.
++AC_DEFUN([CF_MIXEDCASE_FILENAMES],
++[
++AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
++if test "$cross_compiling" = yes ; then
++ case $target_alias in #(vi
++ *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
++ cf_cv_mixedcase=no
++ ;;
++ *)
++ cf_cv_mixedcase=yes
++ ;;
++ esac
++else
++ rm -f conftest CONFTEST
++ echo test >conftest
++ if test -f CONFTEST ; then
++ cf_cv_mixedcase=no
++ else
++ cf_cv_mixedcase=yes
++ fi
++ rm -f conftest CONFTEST
++fi
++])
++test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59
++dnl ----------
++dnl Check for a working mkstemp. This creates two files, checks that they are
++dnl successfully created and distinct (AmigaOS apparently fails on the last).
++AC_DEFUN([CF_MKSTEMP],[
++AC_CACHE_CHECK(for working mkstemp, cf_cv_func_mkstemp,[
++rm -f conftest*
++AC_TRY_RUN([
++#include <sys/types.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <string.h>
++#include <sys/stat.h>
++int main()
++{
++ char *tmpl = "conftestXXXXXX";
++ char name[2][80];
++ int n;
++ int result = 0;
++ int fd;
++ struct stat sb;
++
++ umask(077);
++ for (n = 0; n < 2; ++n) {
++ strcpy(name[n], tmpl);
++ if ((fd = mkstemp(name[n])) >= 0) {
++ if (!strcmp(name[n], tmpl)
++ || stat(name[n], &sb) != 0
++ || (sb.st_mode & S_IFMT) != S_IFREG
++ || (sb.st_mode & 077) != 0) {
++ result = 1;
++ }
++ close(fd);
++ }
++ }
++ if (result == 0
++ && !strcmp(name[0], name[1]))
++ result = 1;
++ exit(result);
++}
++],[cf_cv_func_mkstemp=yes
++],[cf_cv_func_mkstemp=no
++],[AC_CHECK_FUNC(mkstemp)
++])
++])
++if test "$cf_cv_func_mkstemp" = yes ; then
++ AC_DEFINE(HAVE_MKSTEMP)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
++dnl ----------------
++dnl Check if the given variable is a number. If not, report an error.
++dnl $1 is the variable
++dnl $2 is the message
++AC_DEFUN([CF_NUMBER_SYNTAX],[
++if test -n "$1" ; then
++ case $1 in #(vi
++ [[0-9]]*) #(vi
++ ;;
++ *)
++ AC_MSG_ERROR($2 is not a number: $1)
++ ;;
++ esac
++else
++ AC_MSG_ERROR($2 value is empty)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_OBJ_SUBDIR version: 4 updated: 2002/02/23 20:38:31
++dnl -------------
++dnl Compute the object-directory name from the given model name
++AC_DEFUN([CF_OBJ_SUBDIR],
++[
++ case $1 in
++ libtool) $2='obj_lo' ;;
++ normal) $2='objects' ;;
++ debug) $2='obj_g' ;;
++ profile) $2='obj_p' ;;
++ shared)
++ case $cf_cv_system_name in #(vi
++ cygwin) #(vi
++ $2='objects' ;;
++ *)
++ $2='obj_s' ;;
++ esac
++ esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
++dnl ----------
++dnl Provide a value for the $PATH and similar separator
++AC_DEFUN([CF_PATHSEP],
++[
++ case $cf_cv_system_name in
++ os2*) PATHSEP=';' ;;
++ *) PATHSEP=':' ;;
++ esac
++ifelse($1,,,[$1=$PATHSEP])
++ AC_SUBST(PATHSEP)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
++dnl --------------
++dnl Check the argument to see that it looks like a pathname. Rewrite it if it
++dnl begins with one of the prefix/exec_prefix variables, and then again if the
++dnl result begins with 'NONE'. This is necessary to work around autoconf's
++dnl delayed evaluation of those symbols.
++AC_DEFUN([CF_PATH_SYNTAX],[
++case ".[$]$1" in #(vi
++.\[$]\(*\)*|.\'*\'*) #(vi
++ ;;
++..|./*|.\\*) #(vi
++ ;;
++.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
++ ;;
++.\[$]{*prefix}*) #(vi
++ eval $1="[$]$1"
++ case ".[$]$1" in #(vi
++ .NONE/*)
++ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
++ ;;
++ esac
++ ;; #(vi
++.NONE/*)
++ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
++ ;;
++*)
++ ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_PREDEFINE version: 1 updated: 2003/07/26 17:53:56
++dnl ------------
++dnl Add definitions to CPPFLAGS to ensure they're predefined for all compiles.
++dnl
++dnl $1 = symbol to test
++dnl $2 = value (if any) to use for a predefinition
++AC_DEFUN([CF_PREDEFINE],
++[
++AC_MSG_CHECKING(if we must define $1)
++AC_TRY_COMPILE([#include <sys/types.h>
++],[
++#ifndef $1
++make an error
++#endif],[cf_result=no],[cf_result=yes])
++AC_MSG_RESULT($cf_result)
++
++if test "$cf_result" = yes ; then
++ CPPFLAGS="$CPPFLAGS ifelse($2,,-D$1,[-D$1=$2])"
++elif test "x$2" != "x" ; then
++ AC_MSG_CHECKING(checking for compatible value versus $2)
++ AC_TRY_COMPILE([#include <sys/types.h>
++],[
++#if $1-$2 < 0
++make an error
++#endif],[cf_result=yes],[cf_result=no])
++ AC_MSG_RESULT($cf_result)
++ if test "$cf_result" = no ; then
++ # perhaps we can override it - try...
++ CPPFLAGS="$CPPFLAGS -D$1=$2"
++ fi
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
++dnl -----------
++dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
++AC_DEFUN([CF_PROG_EXT],
++[
++AC_REQUIRE([CF_CHECK_CACHE])
++case $cf_cv_system_name in
++os2*)
++ CFLAGS="$CFLAGS -Zmt"
++ CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
++ CXXFLAGS="$CXXFLAGS -Zmt"
++ # autoconf's macro sets -Zexe and suffix both, which conflict:w
++ LDFLAGS="$LDFLAGS -Zmt -Zcrtdll"
++ ac_cv_exeext=.exe
++ ;;
++esac
++
++AC_EXEEXT
++AC_OBJEXT
++
++PROG_EXT="$EXEEXT"
++AC_SUBST(PROG_EXT)
++test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_PROG_INSTALL version: 5 updated: 2002/12/21 22:46:07
++dnl ---------------
++dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the
++dnl misc/tabset install won't work properly. Usually this happens only when
++dnl using the fallback mkinstalldirs script
++AC_DEFUN([CF_PROG_INSTALL],
++[AC_PROG_INSTALL
++case $INSTALL in
++/*)
++ ;;
++*)
++ CF_DIRNAME(cf_dir,$INSTALL)
++ test -z "$cf_dir" && cf_dir=.
++ INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'`
++ ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_PROG_LDCONFIG version: 1 updated: 2003/09/20 17:07:55
++dnl ----------------
++dnl Check for ldconfig, needed to fixup shared libraries that would be built
++dnl and then used in the install.
++AC_DEFUN([CF_PROG_LDCONFIG],[
++if test "$cross_compiling" = yes ; then
++ LDCONFIG=:
++else
++case "$cf_cv_system_name" in #(vi
++freebsd*) #(vi
++ test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
++ ;;
++*) LDPATH=$PATH:/sbin:/usr/sbin
++ AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
++ ;;
++esac
++fi
++AC_SUBST(LDCONFIG)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
++dnl --------
++dnl Attempt to determine if we've got one of the flavors of regular-expression
++dnl code that we can support.
++AC_DEFUN([CF_REGEX],
++[
++AC_MSG_CHECKING([for regular-expression headers])
++AC_CACHE_VAL(cf_cv_regex,[
++AC_TRY_LINK([#include <sys/types.h>
++#include <regex.h>],[
++ regex_t *p;
++ int x = regcomp(p, "", 0);
++ int y = regexec(p, "", 0, 0, 0);
++ regfree(p);
++ ],[cf_cv_regex="regex.h"],[
++ AC_TRY_LINK([#include <regexp.h>],[
++ char *p = compile("", "", "", 0);
++ int x = step("", "");
++ ],[cf_cv_regex="regexp.h"],[
++ cf_save_LIBS="$LIBS"
++ LIBS="-lgen $LIBS"
++ AC_TRY_LINK([#include <regexpr.h>],[
++ char *p = compile("", "", "");
++ int x = step("", "");
++ ],[cf_cv_regex="regexpr.h"],[LIBS="$cf_save_LIBS"])])])
++])
++AC_MSG_RESULT($cf_cv_regex)
++case $cf_cv_regex in
++ regex.h) AC_DEFINE(HAVE_REGEX_H_FUNCS) ;;
++ regexp.h) AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;;
++ regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
++esac
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SHARED_OPTS version: 30 updated: 2003/12/27 20:48:07
++dnl --------------
++dnl Attempt to determine the appropriate CC/LD options for creating a shared
++dnl library.
++dnl
++dnl Note: $(LOCAL_LDFLAGS) is used to link executables that will run within the
++dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
++dnl We avoid compiling-in a ../lib path for the shared library since that can
++dnl lead to unexpected results at runtime.
++dnl $(LOCAL_LDFLAGS2) has the same intention but assumes that the shared libraries
++dnl are compiled in ../../lib
++dnl
++dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
++dnl to install symbolic links to the rel/abi versions of shared libraries.
++dnl
++dnl The variable 'cf_cv_shlib_version' controls whether we use the rel or abi
++dnl version when making symbolic links.
++dnl
++dnl The variable 'cf_cv_shlib_version_infix' controls whether shared library
++dnl version numbers are infix (ex: libncurses.<ver>.dylib) or postfix
++dnl (ex: libncurses.so.<ver>).
++dnl
++dnl Some loaders leave 'so_locations' lying around. It's nice to clean up.
++AC_DEFUN([CF_SHARED_OPTS],
++[
++ AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
++ LOCAL_LDFLAGS=
++ LOCAL_LDFLAGS2=
++ LD_SHARED_OPTS=
++ INSTALL_LIB="-m 644"
++
++ cf_cv_do_symlinks=no
++
++ AC_MSG_CHECKING(if release/abi version should be used for shared libs)
++ AC_ARG_WITH(shlib-version,
++ [ --with-shlib-version=X Specify rel or abi version for shared libs],
++ [test -z "$withval" && withval=auto
++ case $withval in #(vi
++ yes) #(vi
++ cf_cv_shlib_version=auto
++ ;;
++ rel|abi|auto|no) #(vi
++ cf_cv_shlib_version=$withval
++ ;;
++ *)
++ AC_ERROR([option value must be one of: rel, abi, auto or no])
++ ;;
++ esac
++ ],[cf_cv_shlib_version=auto])
++ AC_MSG_RESULT($cf_cv_shlib_version)
++
++ cf_cv_rm_so_locs=no
++
++ # Some less-capable ports of gcc support only -fpic
++ CC_SHARED_OPTS=
++ if test "$GCC" = yes
++ then
++ AC_MSG_CHECKING(which $CC option to use)
++ cf_save_CFLAGS="$CFLAGS"
++ for CC_SHARED_OPTS in -fPIC -fpic ''
++ do
++ CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS"
++ AC_TRY_COMPILE([#include <stdio.h>],[int x = 1],[break],[])
++ done
++ AC_MSG_RESULT($CC_SHARED_OPTS)
++ CFLAGS="$cf_save_CFLAGS"
++ fi
++
++ cf_cv_shlib_version_infix=no
++
++ case $cf_cv_system_name in
++ beos*)
++ MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
++ ;;
++ cygwin*)
++ CC_SHARED_OPTS=
++ MK_SHARED_LIB='$(CC) -shared -Wl,--out-implib=$(IMPORT_LIB) -Wl,--export-all-symbols -o $(SHARED_LIB)'
++ cf_cv_shlib_version=cygdll
++ cf_cv_shlib_version_infix=cygdll
++ ;;
++ darwin*)
++ EXTRA_CFLAGS="-no-cpp-precomp"
++ CC_SHARED_OPTS="-dynamic"
++ MK_SHARED_LIB='$(CC) -dynamiclib -install_name $(DESTDIR)$(libdir)/`basename $[@]` -compatibility_version $(ABI_VERSION) -current_version $(ABI_VERSION) -o $[@]'
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
++ cf_cv_shlib_version_infix=yes
++ ;;
++ hpux*)
++ # (tested with gcc 2.7.2 -- I don't have c89)
++ if test "$GCC" = yes; then
++ LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
++ else
++ CC_SHARED_OPTS='+Z'
++ LD_SHARED_OPTS='-Wl,+b,$(libdir)'
++ fi
++ MK_SHARED_LIB='$(LD) +b $(libdir) -b -o $[@]'
++ # HP-UX shared libraries must be executable, and should be
++ # readonly to exploit a quirk in the memory manager.
++ INSTALL_LIB="-m 555"
++ ;;
++ irix*)
++ if test "$cf_cv_ld_rpath" = yes ; then
++ cf_ld_rpath_opt="-Wl,-rpath,"
++ EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
++ fi
++ # tested with IRIX 5.2 and 'cc'.
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='-KPIC'
++ fi
++ MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
++ cf_cv_rm_so_locs=yes
++ ;;
++ linux*|gnu*|k*bsd*-gnu)
++ if test "$DFT_LWR_MODEL" = "shared" ; then
++ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
++ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
++ fi
++ if test "$cf_cv_ld_rpath" = yes ; then
++ cf_ld_rpath_opt="-Wl,-rpath,"
++ EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
++ fi
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]'
++ ;;
++ openbsd2*)
++ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
++ MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $[@].$(ABI_VERSION)` -o $[@]'
++ ;;
++ freebsd[[45]]*)
++ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
++ MK_SHARED_LIB='$(LD) -Bshareable -soname=`basename $[@]` -o $[@]'
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++
++# This doesn't work - I keep getting spurious references to needing
++# libncurses.so.5.3 when ldd says it's resolved. LOCAL_LDFLAGS2 seems to be
++# no longer used anyway. And the rpath logic isn't relative - so I have to
++# add the local and install lib-directories:
++#
++# if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
++# LOCAL_LDFLAGS="-rpath `pwd`/lib"
++# LOCAL_LDFLAGS2="-rpath \$(libdir) $LOCAL_LDFLAGS"
++# cf_ld_rpath_opt="-rpath "
++# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
++# fi
++ ;;
++ openbsd*|freebsd*)
++ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
++ MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ ;;
++ netbsd*)
++ CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
++ test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath,"
++ if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
++ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
++ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
++ EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
++ MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
++ if test "$cf_cv_shlib_version" = auto; then
++ if test ! -f /usr/libexec/ld.elf_so; then
++ cf_cv_shlib_version=rel
++ fi
++ fi
++ else
++ MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
++ fi
++ ;;
++ osf*|mls+*)
++ # tested with OSF/1 V3.2 and 'cc'
++ # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
++ # link with shared libs).
++ MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`'
++ case $host_os in
++ osf4*)
++ MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
++ ;;
++ esac
++ MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
++ if test "$DFT_LWR_MODEL" = "shared" ; then
++ LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
++ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
++ fi
++ if test "$cf_cv_ld_rpath" = yes ; then
++ cf_ld_rpath_opt="-rpath"
++ # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
++ fi
++ cf_cv_rm_so_locs=yes
++ ;;
++ sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98
++ # tested with osr5.0.5
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='-belf -KPIC'
++ fi
++ MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
++ if test "$cf_cv_ld_rpath" = yes ; then
++ # only way is to set LD_RUN_PATH but no switch for it
++ RUN_PATH=$libdir
++ fi
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ LINK_PROGS='LD_RUN_PATH=$(libdir)'
++ LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
++ ;;
++ sunos4*)
++ # tested with SunOS 4.1.1 and gcc 2.7.0
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='-KPIC'
++ fi
++ MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ ;;
++ solaris2*)
++ # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='-KPIC'
++ fi
++ MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
++ if test "$DFT_LWR_MODEL" = "shared" ; then
++ LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)"
++ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
++ fi
++ if test "$cf_cv_ld_rpath" = yes ; then
++ cf_ld_rpath_opt="-R"
++ EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
++ fi
++ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
++ ;;
++ sysv5uw7*|unix_sv*)
++ # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
++ if test "$GCC" != yes; then
++ CC_SHARED_OPTS='-KPIC'
++ fi
++ MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
++ ;;
++ *)
++ CC_SHARED_OPTS='unknown'
++ MK_SHARED_LIB='echo unknown'
++ ;;
++ esac
++
++ # This works if the last tokens in $MK_SHARED_LIB are the -o target.
++ case "$cf_cv_shlib_version" in #(vi
++ rel|abi)
++ case "$MK_SHARED_LIB" in #(vi
++ *'-o $[@]')
++ test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
++ ;;
++ *)
++ AC_MSG_WARN(ignored --with-shlib-version)
++ ;;
++ esac
++ ;;
++ esac
++
++ if test -n "$cf_ld_rpath_opt" ; then
++ AC_MSG_CHECKING(if we need a space after rpath option)
++ cf_save_LIBS="$LIBS"
++ LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
++ AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
++ LIBS="$cf_save_LIBS"
++ AC_MSG_RESULT($cf_rpath_space)
++ test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
++ MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
++ fi
++
++ AC_SUBST(CC_SHARED_OPTS)
++ AC_SUBST(LD_SHARED_OPTS)
++ AC_SUBST(MK_SHARED_LIB)
++ AC_SUBST(LINK_PROGS)
++ AC_SUBST(LINK_TESTS)
++ AC_SUBST(EXTRA_LDFLAGS)
++ AC_SUBST(LOCAL_LDFLAGS)
++ AC_SUBST(LOCAL_LDFLAGS2)
++ AC_SUBST(INSTALL_LIB)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
++dnl -------------
++dnl Check for definitions & structures needed for window size-changing
++dnl FIXME: check that this works with "snake" (HP-UX 10.x)
++AC_DEFUN([CF_SIZECHANGE],
++[
++AC_REQUIRE([CF_STRUCT_TERMIOS])
++AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
++ cf_cv_sizechange=unknown
++ cf_save_CPPFLAGS="$CPPFLAGS"
++
++for cf_opts in "" "NEED_PTEM_H"
++do
++
++ CPPFLAGS="$cf_save_CPPFLAGS"
++ test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts"
++ AC_TRY_COMPILE([#include <sys/types.h>
++#ifdef HAVE_TERMIOS_H
++#include <termios.h>
++#else
++#ifdef HAVE_TERMIO_H
++#include <termio.h>
++#endif
++#endif
++#ifdef NEED_PTEM_H
++/* This is a workaround for SCO: they neglected to define struct winsize in
++ * termios.h -- it's only in termio.h and ptem.h
++ */
++#include <sys/stream.h>
++#include <sys/ptem.h>
++#endif
++#if !defined(sun) || !defined(HAVE_TERMIOS_H)
++#include <sys/ioctl.h>
++#endif
++],[
++#ifdef TIOCGSIZE
++ struct ttysize win; /* FIXME: what system is this? */
++ int y = win.ts_lines;
++ int x = win.ts_cols;
++#else
++#ifdef TIOCGWINSZ
++ struct winsize win;
++ int y = win.ws_row;
++ int x = win.ws_col;
++#else
++ no TIOCGSIZE or TIOCGWINSZ
++#endif /* TIOCGWINSZ */
++#endif /* TIOCGSIZE */
++ ],
++ [cf_cv_sizechange=yes],
++ [cf_cv_sizechange=no])
++
++ CPPFLAGS="$cf_save_CPPFLAGS"
++ if test "$cf_cv_sizechange" = yes ; then
++ echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
++ test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
++ break
++ fi
++done
++])
++if test "$cf_cv_sizechange" != no ; then
++ AC_DEFINE(HAVE_SIZECHANGE)
++ case $cf_cv_sizechange in #(vi
++ NEED*)
++ AC_DEFINE_UNQUOTED($cf_cv_sizechange )
++ ;;
++ esac
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SRC_MODULES version: 15 updated: 2004/01/10 16:05:16
++dnl --------------
++dnl For each parameter, test if the source-directory exists, and if it contains
++dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
++dnl use in CF_LIB_RULES.
++dnl
++dnl This uses the configured value to make the lists SRC_SUBDIRS and
++dnl SUB_MAKEFILES which are used in the makefile-generation scheme.
++AC_DEFUN([CF_SRC_MODULES],
++[
++AC_MSG_CHECKING(for src modules)
++
++# dependencies and linker-arguments for test-programs
++TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${LIB_NAME}${DFT_DEP_SUFFIX} $TEST_DEPS"
++if test "$DFT_LWR_MODEL" = "libtool"; then
++ TEST_ARGS="${TEST_DEPS}"
++else
++ TEST_ARGS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
++fi
++
++# dependencies and linker-arguments for utility-programs
++test "$with_termlib" != yes && PROG_ARGS="$TEST_ARGS"
++
++cf_cv_src_modules=
++for cf_dir in $1
++do
++ if test -f $srcdir/$cf_dir/modules; then
++
++ # We may/may not have tack in the distribution, though the
++ # makefile is.
++ if test $cf_dir = tack ; then
++ if test ! -f $srcdir/${cf_dir}/${cf_dir}.h; then
++ continue
++ fi
++ fi
++
++ if test -z "$cf_cv_src_modules"; then
++ cf_cv_src_modules=$cf_dir
++ else
++ cf_cv_src_modules="$cf_cv_src_modules $cf_dir"
++ fi
++
++ # Make the ncurses_cfg.h file record the library interface files as
++ # well. These are header files that are the same name as their
++ # directory. Ncurses is the only library that does not follow
++ # that pattern.
++ if test $cf_dir = tack ; then
++ continue
++ elif test -f $srcdir/${cf_dir}/${cf_dir}.h; then
++ CF_UPPER(cf_have_include,$cf_dir)
++ AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H)
++ AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include})
++ TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS"
++ if test "$DFT_LWR_MODEL" = "libtool"; then
++ TEST_ARGS="${TEST_DEPS}"
++ else
++ TEST_ARGS="-l${cf_dir}${DFT_ARG_SUFFIX} $TEST_ARGS"
++ fi
++ fi
++ fi
++done
++AC_MSG_RESULT($cf_cv_src_modules)
++TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
++AC_SUBST(TEST_DEPS)
++AC_SUBST(TEST_ARGS)
++
++PROG_ARGS="-L${LIB_DIR} $PROG_ARGS"
++AC_SUBST(PROG_ARGS)
++
++SRC_SUBDIRS="man include"
++for cf_dir in $cf_cv_src_modules
++do
++ SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
++done
++SRC_SUBDIRS="$SRC_SUBDIRS test"
++test -z "$MAKE_TERMINFO" && SRC_SUBDIRS="$SRC_SUBDIRS misc"
++test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
++
++ADA_SUBDIRS=
++if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
++ SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
++ ADA_SUBDIRS="gen src samples"
++fi
++
++SUB_MAKEFILES=
++for cf_dir in $SRC_SUBDIRS
++do
++ SUB_MAKEFILES="$SUB_MAKEFILES $cf_dir/Makefile"
++done
++
++if test -n "$ADA_SUBDIRS"; then
++ for cf_dir in $ADA_SUBDIRS
++ do
++ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
++ done
++ AC_SUBST(ADA_SUBDIRS)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52
++dnl -----------------
++dnl Check for -lstdc++, which is GNU's standard C++ library.
++AC_DEFUN([CF_STDCPP_LIBRARY],
++[
++if test -n "$GXX" ; then
++case $cf_cv_system_name in #(vi
++os2*) #(vi
++ cf_stdcpp_libname=stdcpp
++ ;;
++*)
++ cf_stdcpp_libname=stdc++
++ ;;
++esac
++AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
++ cf_save="$LIBS"
++ LIBS="$LIBS -l$cf_stdcpp_libname"
++AC_TRY_LINK([
++#include <strstream.h>],[
++char buf[80];
++strstreambuf foo(buf, sizeof(buf))
++],
++ [cf_cv_libstdcpp=yes],
++ [cf_cv_libstdcpp=no])
++ LIBS="$cf_save"
++])
++test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_STRIP_G_OPT version: 3 updated: 2002/12/21 19:25:52
++dnl --------------
++dnl Remove "-g" option from the compiler options
++AC_DEFUN([CF_STRIP_G_OPT],
++[$1=`echo ${$1} | sed -e 's%-g %%' -e 's%-g$%%'`])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_STRUCT_SIGACTION version: 3 updated: 2000/08/12 23:18:52
++dnl -------------------
++dnl Check if we need _POSIX_SOURCE defined to use struct sigaction. We'll only
++dnl do this if we've found the sigaction function.
++dnl
++dnl If needed, define SVR4_ACTION.
++AC_DEFUN([CF_STRUCT_SIGACTION],[
++if test "$ac_cv_func_sigaction" = yes; then
++AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
++AC_TRY_COMPILE([
++#include <sys/types.h>
++#include <signal.h>],
++ [struct sigaction act],
++ [sigact_bad=no],
++ [
++AC_TRY_COMPILE([
++#define _POSIX_SOURCE
++#include <sys/types.h>
++#include <signal.h>],
++ [struct sigaction act],
++ [sigact_bad=yes
++ AC_DEFINE(SVR4_ACTION)],
++ [sigact_bad=unknown])])
++AC_MSG_RESULT($sigact_bad)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_STRUCT_TERMIOS version: 5 updated: 2000/11/04 12:22:46
++dnl -----------------
++dnl Some machines require _POSIX_SOURCE to completely define struct termios.
++dnl If so, define SVR4_TERMIO
++AC_DEFUN([CF_STRUCT_TERMIOS],[
++AC_CHECK_HEADERS( \
++termio.h \
++termios.h \
++unistd.h \
++)
++if test "$ISC" = yes ; then
++ AC_CHECK_HEADERS( sys/termio.h )
++fi
++if test "$ac_cv_header_termios_h" = yes ; then
++ case "$CFLAGS $CPPFLAGS" in
++ *-D_POSIX_SOURCE*)
++ termios_bad=dunno ;;
++ *) termios_bad=maybe ;;
++ esac
++ if test "$termios_bad" = maybe ; then
++ AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
++ AC_TRY_COMPILE([#include <termios.h>],
++ [struct termios foo; int x = foo.c_iflag],
++ termios_bad=no, [
++ AC_TRY_COMPILE([
++#define _POSIX_SOURCE
++#include <termios.h>],
++ [struct termios foo; int x = foo.c_iflag],
++ termios_bad=unknown,
++ termios_bad=yes AC_DEFINE(SVR4_TERMIO))
++ ])
++ AC_MSG_RESULT($termios_bad)
++ fi
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28
++dnl --------
++dnl Shorthand macro for substituting things that the user may override
++dnl with an environment variable.
++dnl
++dnl $1 = long/descriptive name
++dnl $2 = environment variable
++dnl $3 = default value
++AC_DEFUN([CF_SUBST],
++[AC_CACHE_VAL(cf_cv_subst_$2,[
++AC_MSG_CHECKING(for $1 (symbol $2))
++test -z "[$]$2" && $2=$3
++AC_MSG_RESULT([$]$2)
++AC_SUBST($2)
++cf_cv_subst_$2=[$]$2])
++$2=${cf_cv_subst_$2}
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51
++dnl ------------------------
++dnl Get the version-number for use in shared-library naming, etc.
++AC_DEFUN([CF_SUBST_NCURSES_VERSION],
++[
++NCURSES_MAJOR="`egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
++NCURSES_MINOR="`egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
++NCURSES_PATCH="`egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
++cf_cv_abi_version=${NCURSES_MAJOR}
++cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
++dnl Show the computed version, for logging
++cf_cv_timestamp=`date`
++AC_MSG_RESULT(Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp))
++dnl We need these values in the generated headers
++AC_SUBST(NCURSES_MAJOR)
++AC_SUBST(NCURSES_MINOR)
++AC_SUBST(NCURSES_PATCH)
++dnl We need these values in the generated makefiles
++AC_SUBST(cf_cv_rel_version)
++AC_SUBST(cf_cv_abi_version)
++AC_SUBST(cf_cv_builtin_bool)
++AC_SUBST(cf_cv_header_stdbool_h)
++AC_SUBST(cf_cv_type_of_bool)dnl
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_SYS_TIME_SELECT version: 4 updated: 2000/10/04 09:18:40
++dnl ------------------
++dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
++dnl older SCO configurations.
++AC_DEFUN([CF_SYS_TIME_SELECT],
++[
++AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
++AC_CACHE_VAL(cf_cv_sys_time_select,[
++AC_TRY_COMPILE([
++#include <sys/types.h>
++#ifdef HAVE_SYS_TIME_H
++#include <sys/time.h>
++#endif
++#ifdef HAVE_SYS_SELECT_H
++#include <sys/select.h>
++#endif
++],[],[cf_cv_sys_time_select=yes],
++ [cf_cv_sys_time_select=no])
++ ])
++AC_MSG_RESULT($cf_cv_sys_time_select)
++test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_TYPEOF_CHTYPE version: 4 updated: 2000/10/04 09:18:40
++dnl ----------------
++dnl Determine the type we should use for chtype (and attr_t, which is treated
++dnl as the same thing). We want around 32 bits, so on most machines want a
++dnl long, but on newer 64-bit machines, probably want an int. If we're using
++dnl wide characters, we have to have a type compatible with that, as well.
++AC_DEFUN([CF_TYPEOF_CHTYPE],
++[
++AC_REQUIRE([CF_UNSIGNED_LITERALS])
++AC_MSG_CHECKING([for type of chtype])
++AC_CACHE_VAL(cf_cv_typeof_chtype,[
++ AC_TRY_RUN([
++#ifdef USE_WIDEC_SUPPORT
++#include <stddef.h> /* we want wchar_t */
++#define WANT_BITS 39
++#else
++#define WANT_BITS 31
++#endif
++#include <stdio.h>
++int main()
++{
++ FILE *fp = fopen("cf_test.out", "w");
++ if (fp != 0) {
++ char *result = "long";
++#ifdef USE_WIDEC_SUPPORT
++ /*
++ * If wchar_t is smaller than a long, it must be an int or a
++ * short. We prefer not to use a short anyway.
++ */
++ if (sizeof(unsigned long) > sizeof(wchar_t))
++ result = "int";
++#endif
++ if (sizeof(unsigned long) > sizeof(unsigned int)) {
++ int n;
++ unsigned int x;
++ for (n = 0; n < WANT_BITS; n++) {
++ unsigned int y = (x >> n);
++ if (y != 1 || x == 0) {
++ x = 0;
++ break;
++ }
++ }
++ /*
++ * If x is nonzero, an int is big enough for the bits
++ * that we want.
++ */
++ result = (x != 0) ? "int" : "long";
++ }
++ fputs(result, fp);
++ fclose(fp);
++ }
++ exit(0);
++}
++ ],
++ [cf_cv_typeof_chtype=`cat cf_test.out`],
++ [cf_cv_typeof_chtype=long],
++ [cf_cv_typeof_chtype=long])
++ rm -f cf_test.out
++ ])
++AC_MSG_RESULT($cf_cv_typeof_chtype)
++
++AC_SUBST(cf_cv_typeof_chtype)
++AC_DEFINE_UNQUOTED(TYPEOF_CHTYPE,$cf_cv_typeof_chtype)
++
++cf_cv_1UL="1"
++test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U"
++test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L"
++AC_SUBST(cf_cv_1UL)
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_TYPE_SIGACTION version: 3 updated: 2000/08/12 23:18:52
++dnl -----------------
++dnl
++AC_DEFUN([CF_TYPE_SIGACTION],
++[
++AC_MSG_CHECKING([for type sigaction_t])
++AC_CACHE_VAL(cf_cv_type_sigaction,[
++ AC_TRY_COMPILE([
++#include <signal.h>],
++ [sigaction_t x],
++ [cf_cv_type_sigaction=yes],
++ [cf_cv_type_sigaction=no])])
++AC_MSG_RESULT($cf_cv_type_sigaction)
++test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_UNSIGNED_LITERALS version: 2 updated: 1998/02/07 22:10:16
++dnl --------------------
++dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers
++dnl won't, but they're still there.
++AC_DEFUN([CF_UNSIGNED_LITERALS],
++[
++AC_MSG_CHECKING([if unsigned literals are legal])
++AC_CACHE_VAL(cf_cv_unsigned_literals,[
++ AC_TRY_COMPILE([],[long x = 1L + 1UL + 1U + 1],
++ [cf_cv_unsigned_literals=yes],
++ [cf_cv_unsigned_literals=no])
++ ])
++AC_MSG_RESULT($cf_cv_unsigned_literals)
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
++dnl --------
++dnl Make an uppercase version of a variable
++dnl $1=uppercase($2)
++AC_DEFUN([CF_UPPER],
++[
++$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
++dnl ----------
++dnl Use AC_VERBOSE w/o the warnings
++AC_DEFUN([CF_VERBOSE],
++[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WCHAR_TYPE version: 2 updated: 2004/01/17 19:18:20
++dnl -------------
++dnl Check if type wide-character type $1 is declared, and if so, which header
++dnl file is needed. The second parameter is used to set a shell variable when
++dnl the type is not found. The first parameter sets a shell variable for the
++dnl opposite sense.
++AC_DEFUN([CF_WCHAR_TYPE],
++[
++# This is needed on Tru64 5.0 to declare $1
++AC_CACHE_CHECK(if we must include wchar.h to declare $1,cf_cv_$1,[
++AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif],
++ [$1 state],
++ [cf_cv_$1=no],
++ [AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <stdarg.h>
++#include <stdio.h>
++#include <wchar.h>
++#ifdef HAVE_LIBUTF8_H
++#include <libutf8.h>
++#endif],
++ [$1 value],
++ [cf_cv_$1=yes],
++ [cf_cv_$1=unknown])])])
++
++if test "$cf_cv_$1" = yes ; then
++ AC_DEFINE(NEED_WCHAR_H)
++ NEED_WCHAR_H=1
++fi
++
++ifelse($2,,,[
++# if we do not find $1 in either place, use substitution to provide a fallback.
++if test "$cf_cv_$1" = unknown ; then
++ $2=1
++fi
++])
++ifelse($3,,,[
++# if we find $1 in either place, use substitution to provide a fallback.
++if test "$cf_cv_$1" != unknown ; then
++ $3=1
++fi
++])
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
++dnl -------------------
++dnl Allow library's ABI to be overridden. Generally this happens when a
++dnl packager has incremented the ABI past that used in the original package,
++dnl and wishes to keep doing this.
++dnl
++dnl $1 is the package name, if any, to derive a corresponding {package}_ABI
++dnl symbol.
++AC_DEFUN([CF_WITH_ABI_VERSION],[
++test -z "$cf_cv_abi_version" && cf_cv_abi_version=0
++AC_ARG_WITH(abi-version,
++[ --with-abi-version=XXX override derived ABI version],
++[AC_MSG_WARN(overriding ABI version $cf_cv_abi_version to $withval)
++ cf_cv_abi_version=$withval])
++ CF_NUMBER_SYNTAX($cf_cv_abi_version,ABI version)
++ifelse($1,,,[
++$1_ABI=$cf_cv_abi_version
++])
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_DBMALLOC version: 2 updated: 2002/12/29 21:11:45
++dnl ----------------
++dnl Configure-option for dbmalloc
++AC_DEFUN([CF_WITH_DBMALLOC],[
++AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
++AC_ARG_WITH(dbmalloc,
++ [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
++ [with_dbmalloc=$withval],
++ [with_dbmalloc=no])
++AC_MSG_RESULT($with_dbmalloc)
++if test $with_dbmalloc = yes ; then
++ AC_CHECK_LIB(dbmalloc,debug_malloc)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_DMALLOC version: 2 updated: 2002/12/29 21:11:45
++dnl ---------------
++dnl Configure-option for dmalloc
++AC_DEFUN([CF_WITH_DMALLOC],[
++AC_MSG_CHECKING(if you want to link with dmalloc for testing)
++AC_ARG_WITH(dmalloc,
++ [ --with-dmalloc test: use Gray Watson's dmalloc library],
++ [with_dmalloc=$withval],
++ [with_dmalloc=no])
++AC_MSG_RESULT($with_dmalloc)
++if test $with_dmalloc = yes ; then
++ AC_CHECK_LIB(dmalloc,dmalloc_debug)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_LIBTOOL version: 9 updated: 2004/01/16 14:55:37
++dnl ---------------
++dnl Provide a configure option to incorporate libtool. Define several useful
++dnl symbols for the makefile rules.
++dnl
++dnl The reference to AC_PROG_LIBTOOL does not normally work, since it uses
++dnl macros from libtool.m4 which is in the aclocal directory of automake.
++dnl Following is a simple script which turns on the AC_PROG_LIBTOOL macro.
++dnl But that still does not work properly since the macro is expanded outside
++dnl the CF_WITH_LIBTOOL macro:
++dnl
++dnl #!/bin/sh
++dnl ACLOCAL=`aclocal --print-ac-dir`
++dnl if test -z "$ACLOCAL" ; then
++dnl echo cannot find aclocal directory
++dnl exit 1
++dnl elif test ! -f $ACLOCAL/libtool.m4 ; then
++dnl echo cannot find libtool.m4 file
++dnl exit 1
++dnl fi
++dnl
++dnl LOCAL=aclocal.m4
++dnl ORIG=aclocal.m4.orig
++dnl
++dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15
++dnl rm -f $ORIG
++dnl mv $LOCAL $ORIG
++dnl
++dnl # sed the LIBTOOL= assignment to omit the current directory?
++dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
++dnl cat $ORIG >>$LOCAL
++dnl
++dnl autoconf-257 $*
++dnl
++AC_DEFUN([CF_WITH_LIBTOOL],
++[
++ifdef([AC_PROG_LIBTOOL],,[
++LIBTOOL=
++])
++# common library maintenance symbols that are convenient for libtool scripts:
++LIB_CREATE='$(AR) -cr'
++LIB_OBJECT='$(OBJECTS)'
++LIB_SUFFIX=.a
++LIB_PREP="$RANLIB"
++
++# symbols used to prop libtool up to enable it to determine what it should be
++# doing:
++LIB_CLEAN=
++LIB_COMPILE=
++LIB_LINK=
++LIB_INSTALL=
++LIB_UNINSTALL=
++
++AC_MSG_CHECKING(if you want to build libraries with libtool)
++AC_ARG_WITH(libtool,
++ [ --with-libtool generate libraries with libtool],
++ [with_libtool=$withval],
++ [with_libtool=no])
++AC_MSG_RESULT($with_libtool)
++if test "$with_libtool" != "no"; then
++ifdef([AC_PROG_LIBTOOL],[
++ # missing_content_AC_PROG_LIBTOOL{{
++ AC_PROG_LIBTOOL
++ # missing_content_AC_PROG_LIBTOOL}}
++],[
++ if test "$with_libtool" != "yes" ; then
++ CF_PATH_SYNTAX(with_libtool)
++ LIBTOOL=$with_libtool
++ else
++ AC_PATH_PROG(LIBTOOL,libtool)
++ fi
++ if test -z "$LIBTOOL" ; then
++ AC_MSG_ERROR(Cannot find libtool)
++ fi
++])dnl
++ LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
++ LIB_OBJECT='$(OBJECTS:.o=.lo)'
++ LIB_SUFFIX=.la
++ LIB_CLEAN='$(LIBTOOL) --mode=clean'
++ LIB_COMPILE='$(LIBTOOL) --mode=compile'
++ LIB_LINK='$(LIBTOOL) --mode=link'
++ LIB_INSTALL='$(LIBTOOL) --mode=install'
++ LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
++ LIB_PREP=:
++
++ # Show the version of libtool
++ AC_MSG_CHECKING(version of libtool)
++
++ # Save the version in a cache variable - this is not entirely a good
++ # thing, but the version string from libtool is very ugly, and for
++ # bug reports it might be useful to have the original string.
++ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
++ AC_MSG_RESULT($cf_cv_libtool_version)
++ if test -z "$cf_cv_libtool_version" ; then
++ AC_MSG_ERROR(This is not libtool)
++ fi
++
++ # special hack to add --tag option for C++ compiler
++ case $cf_cv_libtool_version in
++ 1.[[5-9]]*|[[2-9]]*)
++ LIBTOOL_CXX="$LIBTOOL --tag=CXX"
++ ;;
++ *)
++ LIBTOOL_CXX="$LIBTOOL"
++ ;;
++ esac
++else
++ LIBTOOL=""
++ LIBTOOL_CXX=""
++fi
++
++test -z "$LIBTOOL" && ECHO_LT=
++
++AC_SUBST(LIBTOOL)
++AC_SUBST(LIBTOOL_CXX)
++
++AC_SUBST(LIB_CREATE)
++AC_SUBST(LIB_OBJECT)
++AC_SUBST(LIB_SUFFIX)
++AC_SUBST(LIB_PREP)
++
++AC_SUBST(LIB_CLEAN)
++AC_SUBST(LIB_COMPILE)
++AC_SUBST(LIB_LINK)
++AC_SUBST(LIB_INSTALL)
++AC_SUBST(LIB_UNINSTALL)
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17
++dnl ------------
++dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
++dnl defaulting to yes/no.
++dnl
++dnl $1 = option name
++dnl $2 = help-text
++dnl $3 = environment variable to set
++dnl $4 = default value, shown in the help-message, must be a constant
++dnl $5 = default value, if it's an expression & cannot be in the help-message
++dnl
++AC_DEFUN([CF_WITH_PATH],
++[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
++ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl
++CF_PATH_SYNTAX(withval)
++eval $3="$withval"
++AC_SUBST($3)dnl
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30
++dnl ----------------
++dnl Process an option specifying a list of colon-separated paths.
++dnl
++dnl $1 = option name
++dnl $2 = help-text
++dnl $3 = environment variable to set
++dnl $4 = default value, shown in the help-message, must be a constant
++dnl $5 = default value, if it's an expression & cannot be in the help-message
++dnl $6 = flag to tell if we want to define or substitute
++dnl
++AC_DEFUN([CF_WITH_PATHLIST],[
++AC_REQUIRE([CF_PATHSEP])
++AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
++ifelse($4,,[withval=${$3}],[withval=${$3-ifelse($5,,$4,$5)}]))dnl
++
++IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATHSEP}"
++cf_dst_path=
++for cf_src_path in $withval
++do
++ CF_PATH_SYNTAX(cf_src_path)
++ test -n "$cf_dst_path" && cf_dst_path="${cf_dst_path}:"
++ cf_dst_path="${cf_dst_path}${cf_src_path}"
++done
++IFS="$ac_save_ifs"
++
++ifelse($6,define,[
++# Strip single quotes from the value, e.g., when it was supplied as a literal
++# for $4 or $5.
++case $cf_dst_path in #(vi
++\'*)
++ cf_dst_path=`echo $cf_dst_path |sed -e s/\'// -e s/\'\$//`
++ ;;
++esac
++cf_dst_path=`echo "$cf_dst_path" | sed -e 's/\\\\/\\\\\\\\/g'`
++])
++
++eval '$3="$cf_dst_path"'
++AC_SUBST($3)dnl
++
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
++dnl -------------------
++dnl Allow library's release-version to be overridden. Generally this happens when a
++dnl packager has incremented the release-version past that used in the original package,
++dnl and wishes to keep doing this.
++dnl
++dnl $1 is the package name, if any, to derive corresponding {package}_MAJOR
++dnl and {package}_MINOR symbols
++dnl symbol.
++AC_DEFUN([CF_WITH_REL_VERSION],[
++test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0
++AC_ARG_WITH(rel-version,
++[ --with-rel-version=XXX override derived release version],
++[AC_MSG_WARN(overriding release version $cf_cv_rel_version to $withval)
++ cf_cv_rel_version=$withval])
++ifelse($1,,[
++ CF_NUMBER_SYNTAX($cf_cv_rel_version,Release version)
++],[
++ $1_MAJOR=`echo "$cf_cv_rel_version" | sed -e 's/\..*//'`
++ $1_MINOR=`echo "$cf_cv_rel_version" | sed -e 's/^[[^.]]*//' -e 's/^\.//' -e 's/\..*//'`
++ CF_NUMBER_SYNTAX([$]$1_MAJOR,Release major-version)
++ CF_NUMBER_SYNTAX([$]$1_MINOR,Release minor-version)
++])
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_WITH_SYSMOUSE version: 2 updated: 2003/03/22 19:13:43
++dnl ----------------
++dnl If we can compile with sysmouse, make it available unless it is not wanted.
++AC_DEFUN([CF_WITH_SYSMOUSE],[
++# not everyone has "test -c"
++if test -c /dev/sysmouse 2>/dev/null ; then
++AC_MSG_CHECKING(if you want to use sysmouse)
++AC_ARG_WITH(sysmouse,
++ [ --with-sysmouse use sysmouse (FreeBSD console)],
++ [cf_with_sysmouse=$withval],
++ [cf_with_sysmouse=maybe])
++ if test "$cf_with_sysmouse" != no ; then
++ AC_TRY_COMPILE([
++#include <osreldate.h>
++#if (__FreeBSD_version >= 400017)
++#include <sys/consio.h>
++#include <sys/fbio.h>
++#else
++#include <machine/console.h>
++#endif
++],[
++ struct mouse_info the_mouse;
++ ioctl(0, CONS_MOUSECTL, &the_mouse);
++],[cf_with_sysmouse=yes],[cf_with_sysmouse=no])
++ fi
++AC_MSG_RESULT($cf_with_sysmouse)
++test "$cf_with_sysmouse" = yes && AC_DEFINE(USE_SYSMOUSE)
++fi
++])dnl
++dnl ---------------------------------------------------------------------------
++dnl CF_XOPEN_SOURCE version: 11 updated: 2004/01/26 20:58:41
++dnl ---------------
++dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
++dnl or adapt to the vendor's definitions to get equivalent functionality.
++AC_DEFUN([CF_XOPEN_SOURCE],[
++case $host_os in #(vi
++freebsd*) #(vi
++ CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600"
++ ;;
++hpux*) #(vi
++ CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
++ ;;
++irix6.*) #(vi
++ CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
++ ;;
++linux*) #(vi
++ CF_GNU_SOURCE
++ ;;
++mirbsd*) #(vi
++ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
++ ;;
++netbsd*) #(vi
++ # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
++ ;;
++openbsd*) #(vi
++ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
++ ;;
++osf[[45]]*) #(vi
++ CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
++ ;;
++sco*) #(vi
++ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
++ ;;
++solaris*) #(vi
++ CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
++ ;;
++*)
++ AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
++ AC_TRY_COMPILE([#include <sys/types.h>],[
++#ifndef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
++ AC_TRY_COMPILE([#include <sys/types.h>],[
++#ifdef _XOPEN_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_cv_xopen_source=yes])
++ CPPFLAGS="$cf_save"
++ ])
++])
++test "$cf_cv_xopen_source" = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=500"
++
++ # FreeBSD 5.x headers demand this...
++ AC_CACHE_CHECK(if we should define _POSIX_C_SOURCE,cf_cv_xopen_source,[
++ AC_TRY_COMPILE([#include <sys/types.h>],[
++#ifndef _POSIX_C_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_save="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE"
++ AC_TRY_COMPILE([#include <sys/types.h>],[
++#ifdef _POSIX_C_SOURCE
++make an error
++#endif],
++ [cf_cv_xopen_source=no],
++ [cf_cv_xopen_source=yes])
++ CPPFLAGS="$cf_save"
++ ])
++])
++test "$cf_cv_xopen_source" = yes && CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE"
++ ;;
++esac
++])
+--- /dev/null
++++ ncurses-5.4/m4/templates.m4
+@@ -0,0 +1,78 @@
++AH_TEMPLATE([BROKEN_LINKER], [too lazy to enter descriptions])
++AH_TEMPLATE([BSD_TPUTS], [too lazy to enter descriptions])
++AH_TEMPLATE([CC_HAS_INLINE_FUNCS], [too lazy to enter descriptions])
++AH_TEMPLATE([CC_HAS_PROTOS], [too lazy to enter descriptions])
++AH_TEMPLATE([CPP_HAS_PARAM_INIT], [too lazy to enter descriptions])
++AH_TEMPLATE([CPP_HAS_VSCAN_FUNC], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_BIG_CORE], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_BSD_CGETENT], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_BUILTIN_H], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_CURSES_VERSION], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_GETTIMEOFDAY], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_GPP_BUILTIN_H], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_GXX_BUILTIN_H], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_HAS_KEY], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_ISASCII], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_LIBGPM], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_LIBUTF8_H], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_MKSTEMP], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_NC_ALLOC_H], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_REGEXPR_H_FUNCS], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_REGEXP_H_FUNCS], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_REGEX_H_FUNCS], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_RESIZETERM], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_RESIZE_TERM], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_SIZECHANGE], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_SLK_COLOR], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_SYS_TIME_SELECT], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_TCGETATTR], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_TYPE_SIGACTION], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_USE_DEFAULT_COLORS], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_VFSCANF], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_VSSCANF], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_WORKING_POLL], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE_WRESIZE], [too lazy to enter descriptions])
++AH_TEMPLATE([HAVE__DOSCAN], [too lazy to enter descriptions])
++AH_TEMPLATE([MIXEDCASE_FILENAMES], [too lazy to enter descriptions])
++AH_TEMPLATE([NCURSES_EXPANDED], [too lazy to enter descriptions])
++AH_TEMPLATE([NCURSES_EXT_FUNCS], [too lazy to enter descriptions])
++AH_TEMPLATE([NCURSES_NOMACROS], [too lazy to enter descriptions])
++AH_TEMPLATE([NCURSES_NO_PADDING], [too lazy to enter descriptions])
++AH_TEMPLATE([NCURSES_PATHSEP], [too lazy to enter descriptions])
++AH_TEMPLATE([NCURSES_VERSION_STRING], [too lazy to enter descriptions])
++AH_TEMPLATE([NDEBUG], [too lazy to enter descriptions])
++AH_TEMPLATE([NEED_WCHAR_H], [too lazy to enter descriptions])
++AH_TEMPLATE([NO_LEAKS], [too lazy to enter descriptions])
++AH_TEMPLATE([PROG_EXT], [too lazy to enter descriptions])
++AH_TEMPLATE([PURE_TERMINFO], [too lazy to enter descriptions])
++AH_TEMPLATE([SVR4_ACTION], [too lazy to enter descriptions])
++AH_TEMPLATE([SVR4_TERMIO], [too lazy to enter descriptions])
++AH_TEMPLATE([SYSTEM_NAME], [too lazy to enter descriptions])
++AH_TEMPLATE([TERMINFO], [too lazy to enter descriptions])
++AH_TEMPLATE([TERMINFO_DIRS], [too lazy to enter descriptions])
++AH_TEMPLATE([TERMPATH], [too lazy to enter descriptions])
++AH_TEMPLATE([TYPEOF_CHTYPE], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_ASSUMED_COLOR], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_COLORFGBG], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_DATABASE], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_GETCAP], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_GETCAP_CACHE], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_HARD_TABS], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_HASHMAP], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_HOME_TERMINFO], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_LINKS], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_MY_MEMMOVE], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_OK_BCOPY], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_RCS_IDS], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_ROOT_ENVIRON], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_SAFE_SPRINTF], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_SCROLL_HINTS], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_SIGWINCH], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_STDIO_VSCAN], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_STRSTREAM_VSCAN], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_STRSTREAM_VSCAN_CAST], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_SYMLINKS], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_SYSMOUSE], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_TERMCAP], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_WIDEC_SUPPORT], [too lazy to enter descriptions])
++AH_TEMPLATE([USE_XMC_SUPPORT], [too lazy to enter descriptions])
diff --git a/meta/packages/ncurses/ncurses_5.4.bb b/meta/packages/ncurses/ncurses_5.4.bb
new file mode 100644
index 0000000000..5b03eaaeed
--- /dev/null
+++ b/meta/packages/ncurses/ncurses_5.4.bb
@@ -0,0 +1,7 @@
+PR = "r8"
+
+SRC_URI = "${GNU_MIRROR}/ncurses/ncurses-${PV}.tar.gz \
+ file://visibility.patch;patch=1"
+S = "${WORKDIR}/ncurses-${PV}"
+
+include ncurses.inc
diff --git a/meta/packages/netbase/netbase/busybox.patch b/meta/packages/netbase/netbase/busybox.patch
new file mode 100644
index 0000000000..845bb421ed
--- /dev/null
+++ b/meta/packages/netbase/netbase/busybox.patch
@@ -0,0 +1,13 @@
+--- netbase-3.18.orig/debian/networking.init.d~busybox
++++ netbase-3.18.orig/debian/networking.init.d
+@@ -15,8 +15,8 @@
+ # spoof protection on all current and future interfaces.
+
+ if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
+- for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
+- echo 1 > $f
++ for f in /proc/sys/net/ipv4/conf/*; do
++ echo 1 > $f/rp_filter
+ done
+ return 0
+ else
diff --git a/meta/packages/netbase/netbase/colinux/interfaces b/meta/packages/netbase/netbase/colinux/interfaces
new file mode 100644
index 0000000000..0e495e164e
--- /dev/null
+++ b/meta/packages/netbase/netbase/colinux/interfaces
@@ -0,0 +1,8 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Wired or wireless interfaces
+iface eth0 inet dhcp
diff --git a/meta/packages/netbase/netbase/epia/interfaces b/meta/packages/netbase/netbase/epia/interfaces
new file mode 100644
index 0000000000..673618f636
--- /dev/null
+++ b/meta/packages/netbase/netbase/epia/interfaces
@@ -0,0 +1,10 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
diff --git a/meta/packages/netbase/netbase/hosts b/meta/packages/netbase/netbase/hosts
new file mode 100644
index 0000000000..2f332451b5
--- /dev/null
+++ b/meta/packages/netbase/netbase/hosts
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localdomain localhost
+
diff --git a/meta/packages/netbase/netbase/init b/meta/packages/netbase/netbase/init
new file mode 100644
index 0000000000..8d6b9aa426
--- /dev/null
+++ b/meta/packages/netbase/netbase/init
@@ -0,0 +1,102 @@
+#!/bin/sh
+#
+# manage network interfaces and configure some networking options
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+if ! [ -x /sbin/ifup ]; then
+ exit 0
+fi
+
+spoofprotect_rp_filter () {
+ # This is the best method: turn on Source Address Verification and get
+ # spoof protection on all current and future interfaces.
+
+ if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then
+ for f in /proc/sys/net/ipv4/conf/*; do
+ [ -e $f/rp_filter ] && echo 1 > $f/rp_filter
+ done
+ return 0
+ else
+ return 1
+ fi
+}
+
+spoofprotect () {
+ echo -n "Setting up IP spoofing protection: "
+ if spoofprotect_rp_filter; then
+ echo "rp_filter."
+ else
+ echo "FAILED."
+ fi
+}
+
+ip_forward () {
+ if [ -e /proc/sys/net/ipv4/ip_forward ]; then
+ echo -n "Enabling packet forwarding... "
+ echo 1 > /proc/sys/net/ipv4/ip_forward
+ echo "done."
+ fi
+}
+
+syncookies () {
+ if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then
+ echo -n "Enabling TCP/IP SYN cookies... "
+ echo 1 > /proc/sys/net/ipv4/tcp_syncookies
+ echo "done."
+ fi
+}
+
+doopt () {
+ optname=$1
+ default=$2
+ opt=`grep "^$optname=" /etc/network/options`
+ if [ -z "$opt" ]; then
+ opt="$optname=$default"
+ fi
+ optval=${opt#$optname=}
+ if [ "$optval" = "yes" ]; then
+ eval $optname
+ fi
+}
+
+case "$1" in
+ start)
+ doopt spoofprotect yes
+ doopt syncookies no
+ doopt ip_forward no
+
+ echo -n "Configuring network interfaces... "
+ ifup -a
+ echo "done."
+ ;;
+ stop)
+ if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
+ grep -q "^/ nfs$"; then
+ echo "NOT deconfiguring network interfaces: / is an NFS mount"
+ elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
+ grep -q "^/ smbfs$"; then
+ echo "NOT deconfiguring network interfaces: / is an SMB mount"
+ elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts |
+ grep -qE '^(nfs|smbfs|ncp|coda)$'; then
+ echo "NOT deconfiguring network interfaces: network shares still mounted."
+ else
+ echo -n "Deconfiguring network interfaces... "
+ ifdown -a
+ echo "done."
+ fi
+ ;;
+ force-reload|restart)
+ echo -n "Reconfiguring network interfaces... "
+ ifdown -a
+ ifup -a
+ echo "done."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/networking {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/meta/packages/netbase/netbase/interfaces b/meta/packages/netbase/netbase/interfaces
new file mode 100644
index 0000000000..fbeb14ffbc
--- /dev/null
+++ b/meta/packages/netbase/netbase/interfaces
@@ -0,0 +1,43 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Wireless interfaces
+iface wlan0 inet dhcp
+wireless_mode managed
+wireless_essid any
+iface atml0 inet dhcp
+
+# Wired or wireless interfaces
+iface eth0 inet dhcp
+iface eth1 inet dhcp
+
+# Ethernet/RNDIS gadget (g_ether)
+# ... or on host side, usbnet and random hwaddr
+iface usb0 inet static
+ address 192.168.0.202
+ netmask 255.255.255.0
+ network 192.168.0.0
+ gateway 192.168.0.200
+
+
+# Zaurus 2.4 Lineo net_fd; obsolete
+iface usbd0 inet static
+ address 192.168.129.201
+ netmask 255.255.255.0
+ network 192.168.129.0
+ gateway 192.168.129.200
+
+# iPAQ 2.4 mach-sa1100/usb-eth
+# (192.168.0.202 is the iPAQ's IP, 192.168.0.200 is the host's IP)
+iface usbf inet static
+ address 192.168.0.202
+ netmask 255.255.255.0
+ network 192.168.0.0
+ gateway 192.168.0.200
+
+# Bluetooth networking
+iface bnep0 inet dhcp
+
diff --git a/meta/packages/netbase/netbase/mtx-1/interfaces b/meta/packages/netbase/netbase/mtx-1/interfaces
new file mode 100644
index 0000000000..a7c6da5752
--- /dev/null
+++ b/meta/packages/netbase/netbase/mtx-1/interfaces
@@ -0,0 +1,29 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0
+iface eth0 inet dhcp
+
+# wlan interface 1 for clients
+auto wlan0
+iface wlan0 inet static
+ address 10.0.0.1
+ netmask 255.0.0.0
+ wireless_mode master
+ wireless_essid cube-ap
+ wireless_channel 1
+
+# wlan interface 2 for mesh
+auto wlan1
+iface wlan1 inet static
+ address 172.16.0.1
+ netmask 255.240.0.0
+ broadcast 172.31.255.255
+ wireless_mode ad-hoc
+ wireless_essid cube-mesh
+ wireless_channel 11
+ wireless_rts 250
diff --git a/meta/packages/netbase/netbase/openmn/hosts b/meta/packages/netbase/netbase/openmn/hosts
new file mode 100644
index 0000000000..0205b98fc2
--- /dev/null
+++ b/meta/packages/netbase/netbase/openmn/hosts
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localdomain localhost
+192.168.233.1 www.mn-solutions.de
diff --git a/meta/packages/netbase/netbase/openmn/interfaces b/meta/packages/netbase/netbase/openmn/interfaces
new file mode 100644
index 0000000000..9ebe9b8ff1
--- /dev/null
+++ b/meta/packages/netbase/netbase/openmn/interfaces
@@ -0,0 +1,10 @@
+auto lo
+auto eth1
+
+iface lo inet loopback
+
+iface eth0 inet dhcp
+
+iface eth1 inet dhcp
+ wireless_mode managed
+ wireless_essid any
diff --git a/meta/packages/netbase/netbase/options b/meta/packages/netbase/netbase/options
new file mode 100644
index 0000000000..2000189d19
--- /dev/null
+++ b/meta/packages/netbase/netbase/options
@@ -0,0 +1,3 @@
+ip_forward=no
+spoofprotect=yes
+syncookies=no
diff --git a/meta/packages/netbase/netbase/tosa/interfaces b/meta/packages/netbase/netbase/tosa/interfaces
new file mode 100644
index 0000000000..92b022475c
--- /dev/null
+++ b/meta/packages/netbase/netbase/tosa/interfaces
@@ -0,0 +1,24 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Wireless interfaces
+iface wlan0 inet dhcp
+ wireless_type wlan-ng
+ wireless_mode Managed
+ pre-up modprobe prism2_usb
+ pre-up /sbin/usbctl on 1
+ post-down /sbin/usbctl off 1
+ post-down rmmod prism2_usb
+
+# Wired or wireless interfaces
+iface eth0 inet dhcp
+iface eth1 inet dhcp
+
+# Zaurus usbnet
+iface usbd0 inet dhcp
+
+# usbnet from the other side
+iface usb0 inet dhcp
diff --git a/meta/packages/netbase/netbase/wrt54/interfaces b/meta/packages/netbase/netbase/wrt54/interfaces
new file mode 100644
index 0000000000..8b2852ac51
--- /dev/null
+++ b/meta/packages/netbase/netbase/wrt54/interfaces
@@ -0,0 +1,23 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# loopback interface
+auto lo
+iface lo inet loopback
+
+# the 4 LAN ports
+auto vlan0
+iface vlan0 inet static
+ address 192.168.1.1
+ netmask 255.255.255.0
+
+# WAN port
+auto vlan1
+iface vlan1 inet dhcp
+
+# wireless interface
+auto eth1
+iface eth1 inet static
+ wireless_mode master
+ wireless_essid wrt
+ address 10.0.0.1
+ netmask 255.255.255.0
diff --git a/meta/packages/netbase/netbase/xxs1500/interfaces b/meta/packages/netbase/netbase/xxs1500/interfaces
new file mode 100644
index 0000000000..23ccccd2dd
--- /dev/null
+++ b/meta/packages/netbase/netbase/xxs1500/interfaces
@@ -0,0 +1,15 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet
+auto eth0 eth1
+iface eth0 inet static
+ address 192.168.127.1
+ netmask 255.255.255.0
+
+iface eth1 inet static
+ address 192.168.128.1
+ netmask 255.255.255.0
diff --git a/meta/packages/netbase/netbase_4.21.bb b/meta/packages/netbase/netbase_4.21.bb
new file mode 100644
index 0000000000..d5526776eb
--- /dev/null
+++ b/meta/packages/netbase/netbase_4.21.bb
@@ -0,0 +1,42 @@
+SECTION = "base"
+DESCRIPTION = "This package provides the necessary \
+infrastructure for basic TCP/IP based networking."
+LICENSE = "GPL"
+PR = "r10"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "networking"
+INITSCRIPT_PARAMS = "start 40 S . stop 40 0 6 1 ."
+# On MNCI etc, start very late so that our own apps come up faster
+INITSCRIPT_PARAMS_openmn = "start 85 1 2 3 4 5 . stop 85 0 6 1 ."
+# On SlugOS (NSLU2) delay the stop until after network apps have exited
+# Do not stop in single user - there's no way to sulogin!
+INITSCRIPT_PARAMS_slugos = "start 42 S 0 6 ."
+
+SRC_URI = "${DEBIAN_MIRROR}/main/n/netbase/netbase_${PV}.tar.gz \
+ file://options \
+ file://init \
+ file://hosts \
+ file://interfaces"
+
+do_install () {
+ install -d ${D}${sysconfdir}/init.d \
+ ${D}${sbindir} \
+ ${D}${mandir}/man8 \
+ ${D}${sysconfdir}/network/if-pre-up.d \
+ ${D}${sysconfdir}/network/if-up.d \
+ ${D}${sysconfdir}/network/if-down.d \
+ ${D}${sysconfdir}/network/if-post-down.d
+ install -m 0644 ${WORKDIR}/options ${D}${sysconfdir}/network/options
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/networking
+ install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts
+ install -m 0644 etc-rpc ${D}${sysconfdir}/rpc
+ install -m 0644 etc-protocols ${D}${sysconfdir}/protocols
+ install -m 0644 etc-services ${D}${sysconfdir}/services
+ install -m 0755 update-inetd ${D}${sbindir}/
+ install -m 0644 update-inetd.8 ${D}${mandir}/man8/
+ install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces
+}
+
+CONFFILES_${PN} = "${sysconfdir}/network/options ${sysconfdir}/hosts ${sysconfdir}/network/interfaces"
diff --git a/meta/packages/network-suspend-scripts/files/ifupdown b/meta/packages/network-suspend-scripts/files/ifupdown
new file mode 100644
index 0000000000..d458da6866
--- /dev/null
+++ b/meta/packages/network-suspend-scripts/files/ifupdown
@@ -0,0 +1,26 @@
+#!/bin/sh
+# Unloads/loads all interface that are up at time of suspend
+
+if [ "$1" = suspend ]; then
+ rm -f /var/run/ifstate-suspend
+ rm -f /var/run/ifstate-old
+ cp /var/run/ifstate /var/run/ifstate-old
+ cat /var/run/ifstate-old | (
+ IFS="="
+ while read IFACE LOGICAL; do
+ ifdown $IFACE
+ echo "$IFACE=$LOGICAL" >>/var/run/ifstate-suspend
+ done
+ rm -f /var/run/ifstate-old
+ )
+elif [ "$1" = resume ] && [ "$2" != standby ] && [ -f /var/run/ifstate-suspend ]; then
+ cat /var/run/ifstate-suspend | (
+ while read LINE; do
+ ifup $LINE
+ done
+ )
+ rm -f /var/run/ifstate-suspend
+fi
+
+: exit 0
+
diff --git a/meta/packages/network-suspend-scripts/files/usbnet b/meta/packages/network-suspend-scripts/files/usbnet
new file mode 100644
index 0000000000..3731f6339f
--- /dev/null
+++ b/meta/packages/network-suspend-scripts/files/usbnet
@@ -0,0 +1,16 @@
+#!/bin/sh
+# Unloads/loads usb-eth so it always works
+
+. /etc/default/usbd
+
+if [ "$1" = suspend ]; then
+ rmmod usb-eth
+ rmmod sa1100usb_core
+elif [ "$1" = resume ] && [ "$2" != standby ]; then
+ modprobe usb-eth
+ modprobe -r $usbdmodule
+ modprobe $usbdmodule
+fi
+
+: exit 0
+
diff --git a/meta/packages/network-suspend-scripts/network-suspend-scripts.bb b/meta/packages/network-suspend-scripts/network-suspend-scripts.bb
new file mode 100644
index 0000000000..1161f641ee
--- /dev/null
+++ b/meta/packages/network-suspend-scripts/network-suspend-scripts.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Network suspend/resume scripts"
+SECTION = "base"
+LICENSE = "GPL"
+PV = "1.1"
+PR = "r2"
+
+SRC_URI = "file://ifupdown \
+ file://usbnet"
+
+do_install() {
+ install -d ${D}${sysconfdir}/apm/scripts.d
+ install -m 0755 ${WORKDIR}/ifupdown ${D}${sysconfdir}/apm/scripts.d
+ install -m 0755 ${WORKDIR}/usbnet ${D}${sysconfdir}/apm/scripts.d
+ install -d ${D}${sysconfdir}/apm/suspend.d
+ ln -s ../scripts.d/ifupdown ${D}${sysconfdir}/apm/suspend.d/05ifupdown
+ ln -s ../scripts.d/usbnet ${D}${sysconfdir}/apm/suspend.d/10usbnet
+ install -d ${D}${sysconfdir}/apm/resume.d
+ ln -sf ../scripts.d/ifupdown ${D}${sysconfdir}/apm/resume.d/30ifupdown
+ ln -sf ../scripts.d/usbnet ${D}${sysconfdir}/apm/resume.d/20usbnet
+}
+
+FILES = "${sysconfdir}/apm"
diff --git a/meta/packages/oh/usbinit.bb b/meta/packages/oh/usbinit.bb
new file mode 100644
index 0000000000..bfc8490dc1
--- /dev/null
+++ b/meta/packages/oh/usbinit.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Quick hack to start gadget Ethernet on the 770"
+LICENSE = "GPL"
+SECTION = "x11"
+PRIORITY = "optional"
+PR = "r0"
+
+SRC_URI = "file://usb-gether"
+S = ${WORKDIR}
+
+do_install() {
+ install -d ${D}/etc
+ install -d ${D}/etc/init.d
+ install usb-gether ${D}/etc/init.d
+}
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "usb-gether"
+INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
diff --git a/meta/packages/oh/usbinit/usb-gether b/meta/packages/oh/usbinit/usb-gether
new file mode 100755
index 0000000000..590e77b22a
--- /dev/null
+++ b/meta/packages/oh/usbinit/usb-gether
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+case "$1" in
+ start)
+ /sbin/depmod -a
+ /sbin/modprobe g_ether
+ ifconfig usb0 192.168.1.120
+ ;;
+
+ stop)
+
+ ;;
+
+ *)
+ echo "usage: $0 { start | stop }"
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/openswan/openswan-2.2.0/gcc4-fixes.patch b/meta/packages/openswan/openswan-2.2.0/gcc4-fixes.patch
new file mode 100644
index 0000000000..0e5f6ebe47
--- /dev/null
+++ b/meta/packages/openswan/openswan-2.2.0/gcc4-fixes.patch
@@ -0,0 +1,329 @@
+Index: openswan-2.2.0/linux/lib/libfreeswan/pfkey_v2_build.c
+===================================================================
+--- openswan-2.2.0.orig/linux/lib/libfreeswan/pfkey_v2_build.c 2004-04-12 02:59:06.000000000 +0000
++++ openswan-2.2.0/linux/lib/libfreeswan/pfkey_v2_build.c 2005-11-14 13:49:01.000000000 +0000
+@@ -173,9 +173,9 @@
+ SENDERR(EINVAL);
+ }
+
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_msg = (struct sadb_msg*)
+- MALLOC(sizeof(struct sadb_msg)))) {
++ pfkey_msg = (struct sadb_msg*)MALLOC(sizeof(struct sadb_msg));
++ *pfkey_ext = (struct sadb_ext*)pfkey_msg;
++ if(NULL == pfkey_msg) {
+ DEBUGGING(PF_KEY_DEBUG_BUILD,
+ "pfkey_msg_hdr_build: "
+ "memory allocation failed\n");
+@@ -297,9 +297,9 @@
+ SENDERR(EINVAL);
+ }
+
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_sa = (struct sadb_sa*)
+- MALLOC(sizeof(struct sadb_sa)))) {
++ pfkey_sa = (struct sadb_sa*)MALLOC(sizeof(struct sadb_sa));
++ *pfkey_ext = (struct sadb_ext*)pfkey_sa;
++ if (NULL == pfkey_sa) {
+ DEBUGGING(PF_KEY_DEBUG_BUILD,
+ "pfkey_sa_build: "
+ "memory allocation failed\n");
+@@ -374,9 +374,9 @@
+ SENDERR(EINVAL);
+ }
+
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_lifetime = (struct sadb_lifetime*)
+- MALLOC(sizeof(struct sadb_lifetime)))) {
++ pfkey_lifetime = (struct sadb_lifetime*)MALLOC(sizeof(struct sadb_lifetime));
++ *pfkey_ext = (struct sadb_ext*)pfkey_lifetime;
++ if (NULL == pfkey_lifetime) {
+ DEBUGGING(PF_KEY_DEBUG_BUILD,
+ "pfkey_lifetime_build: "
+ "memory allocation failed\n");
+@@ -563,10 +563,11 @@
+ SENDERR(EINVAL);
+ }
+
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_key = (struct sadb_key*)
+- MALLOC(sizeof(struct sadb_key) +
+- DIVUP(key_bits, 64) * IPSEC_PFKEYv2_ALIGN))) {
++ pfkey_key = (struct sadb_key*)
++ MALLOC(sizeof(struct sadb_key) +
++ DIVUP(key_bits, 64) * IPSEC_PFKEYv2_ALIGN);
++ *pfkey_ext = (struct sadb_ext*)pfkey_key;
++ if (NULL == pfkey_key) {
+ ERROR("pfkey_key_build: "
+ "memory allocation failed\n");
+ SENDERR(ENOMEM);
+@@ -643,10 +644,11 @@
+ if((ident_type == SADB_IDENTTYPE_USERFQDN) ) {
+ }
+ #endif
+-
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_ident = (struct sadb_ident*)
+- MALLOC(ident_len * IPSEC_PFKEYv2_ALIGN))) {
++
++ pfkey_ident = (struct sadb_ident*)
++ MALLOC(ident_len * IPSEC_PFKEYv2_ALIGN);
++ *pfkey_ext = (struct sadb_ext*)pfkey_ident;
++ if (NULL == pfkey_ident) {
+ ERROR("pfkey_ident_build: "
+ "memory allocation failed\n");
+ SENDERR(ENOMEM);
+@@ -696,10 +698,11 @@
+ (*pfkey_ext)->sadb_ext_type);
+ SENDERR(EINVAL); /* don't process these yet */
+
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_sens = (struct sadb_sens*)
+- MALLOC(sizeof(struct sadb_sens) +
+- (sens_len + integ_len) * sizeof(uint64_t)))) {
++ pfkey_sens = (struct sadb_sens*)
++ MALLOC(sizeof(struct sadb_sens) +
++ (sens_len + integ_len) * sizeof(uint64_t));
++ *pfkey_ext = (struct sadb_ext*)pfkey_sens;
++ if (NULL == pfkey_sens) {
+ ERROR("pfkey_sens_build: "
+ "memory allocation failed\n");
+ SENDERR(ENOMEM);
+@@ -753,10 +756,11 @@
+ SENDERR(EINVAL);
+ }
+
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_prop = (struct sadb_prop*)
+- MALLOC(sizeof(struct sadb_prop) +
+- comb_num * sizeof(struct sadb_comb)))) {
++ pfkey_prop = (struct sadb_prop*)
++ MALLOC(sizeof(struct sadb_prop) +
++ comb_num * sizeof(struct sadb_comb));
++ *pfkey_ext = (struct sadb_ext*)pfkey_prop;
++ if (NULL == pfkey_prop) {
+ ERROR("pfkey_prop_build: "
+ "memory allocation failed\n");
+ SENDERR(ENOMEM);
+@@ -833,11 +837,11 @@
+ SENDERR(EINVAL);
+ }
+
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_supported = (struct sadb_supported*)
+- MALLOC(sizeof(struct sadb_supported) +
+- alg_num *
+- sizeof(struct sadb_alg)))) {
++ pfkey_supported = (struct sadb_supported*)
++ MALLOC(sizeof(struct sadb_supported) +
++ alg_num * sizeof(struct sadb_alg));
++ *pfkey_ext = (struct sadb_ext*)pfkey_supported;
++ if (NULL == pfkey_supported) {
+ DEBUGGING(PF_KEY_DEBUG_BUILD,
+ "pfkey_supported_build: "
+ "memory allocation failed\n");
+@@ -913,10 +917,11 @@
+ ntohl(min));
+ SENDERR(EEXIST);
+ }
+-
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_spirange = (struct sadb_spirange*)
+- MALLOC(sizeof(struct sadb_spirange)))) {
++
++ pfkey_spirange = (struct sadb_spirange*)
++ MALLOC(sizeof(struct sadb_spirange));
++ *pfkey_ext = (struct sadb_ext*)pfkey_spirange;
++ if (NULL == pfkey_spirange) {
+ DEBUGGING(PF_KEY_DEBUG_BUILD,
+ "pfkey_spirange_build: "
+ "memory allocation failed\n");
+@@ -958,9 +963,10 @@
+ (*pfkey_ext)->sadb_ext_type);
+ SENDERR(EINVAL); /* don't process these yet */
+
+- if(!(*pfkey_ext = (struct sadb_ext*)
+- pfkey_x_kmprivate = (struct sadb_x_kmprivate*)
+- MALLOC(sizeof(struct sadb_x_kmprivate)))) {
++ pfkey_x_kmprivate = (struct sadb_x_kmprivate*)
++ MALLOC(sizeof(struct sadb_x_kmprivate));
++ *pfkey_ext = (struct sadb_ext*)pfkey_x_kmprivate;
++ if (NULL == pfkey_x_kmprivate) {
+ DEBUGGING(PF_KEY_DEBUG_BUILD,
+ "pfkey_x_kmprivate_build: "
+ "memory allocation failed\n");
+@@ -1009,8 +1015,10 @@
+ SENDERR(EINVAL);
+ }
+
+- if(!(*pfkey_ext = (struct sadb_ext*)pfkey_x_satype = (struct sadb_x_satype*)
+- MALLOC(sizeof(struct sadb_x_satype)))) {
++ pfkey_x_satype = (struct sadb_x_satype*)
++ MALLOC(sizeof(struct sadb_x_satype));
++ *pfkey_ext = (struct sadb_ext*)pfkey_x_satype;
++ if (NULL == pfkey_x_satype) {
+ ERROR("pfkey_x_satype_build: "
+ "memory allocation failed\n");
+ SENDERR(ENOMEM);
+@@ -1064,8 +1072,10 @@
+ "tunnel=%x netlink=%x xform=%x eroute=%x spi=%x radij=%x esp=%x ah=%x rcv=%x pfkey=%x ipcomp=%x verbose=%x?\n",
+ tunnel, netlink, xform, eroute, spi, radij, esp, ah, rcv, pfkey, ipcomp, verbose);
+
+- if(!(*pfkey_ext = (struct sadb_ext*)pfkey_x_debug = (struct sadb_x_debug*)
+- MALLOC(sizeof(struct sadb_x_debug)))) {
++ pfkey_x_debug = (struct sadb_x_debug*)
++ MALLOC(sizeof(struct sadb_x_debug));
++ *pfkey_ext = (struct sadb_ext*)pfkey_x_debug;
++ if (NULL == pfkey_x_debug) {
+ ERROR("pfkey_x_debug_build: "
+ "memory allocation failed\n");
+ SENDERR(ENOMEM);
+@@ -1122,8 +1132,10 @@
+ "pfkey_x_nat_t_type_build: "
+ "type=%d\n", type);
+
+- if(!(*pfkey_ext = (struct sadb_ext*)pfkey_x_nat_t_type = (struct sadb_x_nat_t_type*)
+- MALLOC(sizeof(struct sadb_x_nat_t_type)))) {
++ pfkey_x_nat_t_type = (struct sadb_x_nat_t_type*)
++ MALLOC(sizeof(struct sadb_x_nat_t_type));
++ *pfkey_ext = (struct sadb_ext*)pfkey_x_nat_t_type;
++ if (NULL == pfkey_x_nat_t_type) {
+ DEBUGGING(PF_KEY_DEBUG_BUILD,
+ "pfkey_x_nat_t_type_build: "
+ "memory allocation failed\n");
+@@ -1174,8 +1186,10 @@
+ "pfkey_x_nat_t_port_build: "
+ "ext=%d, port=%d\n", exttype, port);
+
+- if(!(*pfkey_ext = (struct sadb_ext*)pfkey_x_nat_t_port = (struct sadb_x_nat_t_port*)
+- MALLOC(sizeof(struct sadb_x_nat_t_port)))) {
++ pfkey_x_nat_t_port = (struct sadb_x_nat_t_port*)
++ MALLOC(sizeof(struct sadb_x_nat_t_port));
++ *pfkey_ext = (struct sadb_ext*)pfkey_x_nat_t_port;
++ if (NULL == pfkey_x_nat_t_port) {
+ DEBUGGING(PF_KEY_DEBUG_BUILD,
+ "pfkey_x_nat_t_port_build: "
+ "memory allocation failed\n");
+@@ -1328,7 +1342,12 @@
+ memcpy(pfkey_ext,
+ extensions[ext],
+ (extensions[ext])->sadb_ext_len * IPSEC_PFKEYv2_ALIGN);
+- ((char*)pfkey_ext) += (extensions[ext])->sadb_ext_len * IPSEC_PFKEYv2_ALIGN;
++ {
++ char *pfkey_ext_c = (char *)pfkey_ext;
++
++ pfkey_ext_c += (extensions[ext])->sadb_ext_len * IPSEC_PFKEYv2_ALIGN;
++ pfkey_ext = (struct sadb_ext *)pfkey_ext_c;
++ }
+ /* Mark that we have seen this extension and remember the header location */
+ extensions_seen |= ( 1 << ext );
+ }
+Index: openswan-2.2.0/programs/pluto/connections.c
+===================================================================
+--- openswan-2.2.0.orig/programs/pluto/connections.c 2004-06-27 20:46:15.000000000 +0000
++++ openswan-2.2.0/programs/pluto/connections.c 2005-11-14 14:01:09.000000000 +0000
+@@ -30,6 +30,7 @@
+
+ #include <openswan.h>
+ #include <openswan/ipsec_policy.h>
++#include "pfkeyv2.h"
+ #include "kameipsec.h"
+
+ #include "constants.h"
+Index: openswan-2.2.0/programs/pluto/ipsec_doi.c
+===================================================================
+--- openswan-2.2.0.orig/programs/pluto/ipsec_doi.c 2004-09-02 01:24:23.000000000 +0000
++++ openswan-2.2.0/programs/pluto/ipsec_doi.c 2005-11-14 14:03:17.000000000 +0000
+@@ -31,6 +31,7 @@
+
+ #include <openswan.h>
+ #include <openswan/ipsec_policy.h>
++#include "pfkeyv2.h"
+
+ #include "constants.h"
+ #include "defs.h"
+Index: openswan-2.2.0/programs/pluto/rcv_whack.c
+===================================================================
+--- openswan-2.2.0.orig/programs/pluto/rcv_whack.c 2004-06-14 02:01:32.000000000 +0000
++++ openswan-2.2.0/programs/pluto/rcv_whack.c 2005-11-14 14:04:08.000000000 +0000
+@@ -31,6 +31,7 @@
+ #include <sys/queue.h>
+
+ #include <openswan.h>
++#include "pfkeyv2.h"
+
+ #include "constants.h"
+ #include "defs.h"
+Index: openswan-2.2.0/programs/pluto/log.c
+===================================================================
+--- openswan-2.2.0.orig/programs/pluto/log.c 2004-06-14 01:46:03.000000000 +0000
++++ openswan-2.2.0/programs/pluto/log.c 2005-11-14 14:02:33.000000000 +0000
+@@ -30,6 +30,7 @@
+ #include <sys/types.h>
+
+ #include <openswan.h>
++#include "pfkeyv2.h"
+
+ #include "constants.h"
+ #include "oswlog.h"
+Index: openswan-2.2.0/programs/pluto/spdb.c
+===================================================================
+--- openswan-2.2.0.orig/programs/pluto/spdb.c 2004-05-25 22:25:02.000000000 +0000
++++ openswan-2.2.0/programs/pluto/spdb.c 2005-11-14 14:02:55.000000000 +0000
+@@ -24,6 +24,7 @@
+
+ #include <openswan.h>
+ #include <openswan/ipsec_policy.h>
++#include "pfkeyv2.h"
+
+ #include "constants.h"
+ #include "oswlog.h"
+Index: openswan-2.2.0/programs/pluto/db_ops.c
+===================================================================
+--- openswan-2.2.0.orig/programs/pluto/db_ops.c 2004-06-04 01:59:33.000000000 +0000
++++ openswan-2.2.0/programs/pluto/db_ops.c 2005-11-14 13:54:10.000000000 +0000
+@@ -181,7 +181,13 @@
+ ctx->trans0 = ctx->prop.trans = new_trans;
+ /* update trans_cur (by offset) */
+ offset = (char *)(new_trans) - (char *)(old_trans);
+- (char *)(ctx->trans_cur) += offset;
++
++ {
++ char *cctx = (char *)(ctx->trans_cur);
++
++ cctx += offset;
++ ctx->trans_cur = (struct db_trans *)cctx;
++ }
+ /* update elem count */
+ ctx->max_trans = max_trans;
+ PFREE_ST(old_trans, db_trans_st);
+@@ -213,12 +219,25 @@
+
+ /* update attrs0 and attrs_cur (obviously) */
+ offset = (char *)(new_attrs) - (char *)(old_attrs);
+- (char *)ctx->attrs0 += offset;
+- (char *)ctx->attrs_cur += offset;
++ {
++ char *actx = (char *)(ctx->attrs0);
++
++ actx += offset;
++ ctx->attrs0 = (struct db_attr *)actx;
++
++ actx = (char *)ctx->attrs_cur;
++ actx += offset;
++ ctx->attrs_cur = (struct db_attr *)actx;
++ }
++
+ /* for each transform, rewrite attrs pointer by offsetting it */
+- for (t=ctx->prop.trans, ti=0; ti < ctx->prop.trans_cnt; t++, ti++) {
+- (char *)(t->attrs) += offset;
++ for (t=ctx->prop.trans, ti=0; ti < ctx->prop.trans_cnt; t++, ti++) {
++ char *actx = (char *)(t->attrs);
++
++ actx += offset;
++ t->attrs = (struct db_attr *)actx;
+ }
++
+ /* update elem count */
+ ctx->max_attrs = max_attrs;
+ PFREE_ST(old_attrs, db_attrs_st);
diff --git a/meta/packages/openswan/openswan-2.2.0/ld-library-path-breakage.patch b/meta/packages/openswan/openswan-2.2.0/ld-library-path-breakage.patch
new file mode 100644
index 0000000000..e3cc8762cc
--- /dev/null
+++ b/meta/packages/openswan/openswan-2.2.0/ld-library-path-breakage.patch
@@ -0,0 +1,26 @@
+--- openswan-2.2.0.orig/programs/Makefile.program 2004-06-03 03:06:27.000000000 +0200
++++ openswan-2.2.0/programs/Makefile.program 2005-03-05 13:50:19.000000000 +0100
+@@ -30,10 +30,6 @@
+
+ CFLAGS+= ${WERROR}
+
+-ifneq ($(LD_LIBRARY_PATH),)
+-LDFLAGS=-L$(LD_LIBRARY_PATH)
+-endif
+-
+ MANDIR8=$(MANTREE)/man8
+ MANDIR5=$(MANTREE)/man5
+
+--- openswan-2.2.0.orig/programs/pluto/Makefile 2005-01-03 20:40:45.000000000 +0100
++++ openswan-2.2.0/programs/pluto/Makefile 2005-03-05 13:51:21.000000000 +0100
+@@ -234,10 +234,6 @@
+ LIBSPLUTO+=${CURL_LIBS}
+ LIBSPLUTO+= -lgmp -lresolv # -lefence
+
+-ifneq ($(LD_LIBRARY_PATH),)
+-LDFLAGS=-L$(LD_LIBRARY_PATH)
+-endif
+-
+ LIBSADNS = $(OPENSWANLIB)
+ LIBSADNS += -lresolv # -lefence
+
diff --git a/meta/packages/openswan/openswan-2.2.0/makefile-whitespace-fix.patch b/meta/packages/openswan/openswan-2.2.0/makefile-whitespace-fix.patch
new file mode 100644
index 0000000000..e54ff1c63a
--- /dev/null
+++ b/meta/packages/openswan/openswan-2.2.0/makefile-whitespace-fix.patch
@@ -0,0 +1,11 @@
+--- openswan-2.2.0/programs/Makefile.program.orig 2005-12-17 17:15:13 +0100
++++ openswan-2.2.0/programs/Makefile.program 2005-12-17 17:15:36 +0100
+@@ -114,7 +110,7 @@
+ endif
+
+ # cancel the rule that compiles directly
+-%: %.c
++%: %.c
+
+ %: %.o $(OBJS) $(OPENSWANLIB)
+ $(CC) $(CFLAGS) -o $@ $@.o ${OBJS} $(LDFLAGS) $(LIBS)
diff --git a/meta/packages/openswan/openswan-2.2.0/openswan-2.2.0-gentoo.patch b/meta/packages/openswan/openswan-2.2.0/openswan-2.2.0-gentoo.patch
new file mode 100644
index 0000000000..9ccc80cacf
--- /dev/null
+++ b/meta/packages/openswan/openswan-2.2.0/openswan-2.2.0-gentoo.patch
@@ -0,0 +1,382 @@
+diff -Naupr openswan-2.2.0/Makefile.inc openswan-2.2.0-gentoo/Makefile.inc
+--- openswan-2.2.0/Makefile.inc 2004-07-19 21:06:32.000000000 -0500
++++ openswan-2.2.0-gentoo/Makefile.inc 2004-09-17 21:31:29.810687485 -0500
+@@ -64,7 +64,7 @@ POLICYLIB=${OPENSWANSRCDIR}/lib/libipsec
+ DESTDIR?=
+
+ # "local" part of tree, used in building other pathnames
+-INC_USRLOCAL=/usr/local
++INC_USRLOCAL=/usr
+
+ # PUBDIR is where the "ipsec" command goes; beware, many things define PATH
+ # settings which are assumed to include it (or at least, to include *some*
+@@ -98,7 +98,7 @@ MANTREE=$(DESTDIR)$(INC_USRLOCAL)/$(INC_
+ MANPLACES=man3 man5 man8
+
+ # where configuration files go
+-FINALCONFFILE?=/etc/ipsec.conf
++FINALCONFFILE?=/etc/ipsec/ipsec.conf
+ CONFFILE=$(DESTDIR)$(FINALCONFFILE)
+
+ FINALCONFDIR?=/etc
+@@ -109,10 +109,10 @@ CONFDDIR=$(DESTDIR)$(FINALCONFDDIR)
+
+ # sample configuration files go into
+ INC_DOCDIR?=share/doc
+-FINALEXAMPLECONFDIR=${INC_USRLOCAL}/${INC_DOCDIR}/openswan
++FINALEXAMPLECONFDIR=${INC_USRLOCAL}/${INC_DOCDIR}/openswan-2.2.0
+ EXAMPLECONFDIR=${DESTDIR}${FINALEXAMPLECONFDIR}
+
+-FINALDOCDIR?=${INC_USRLOCAL}/${INC_DOCDIR}/openswan
++FINALDOCDIR?=${INC_USRLOCAL}/${INC_DOCDIR}/openswan-2.2.0
+ DOCDIR=${DESTDIR}${FINALDOCDIR}
+
+ # where per-conn pluto logs go
+@@ -243,7 +243,7 @@ RH_KERNELSRC?=/usr/src/linux-2.4
+ # installed one in RH 7.2, won't work - you wind up depending upon
+ # openssl.
+
+-BIND9STATICLIBDIR?=/usr/local/lib
++BIND9STATICLIBDIR?=/usr/lib
+
+ # if you install elsewere, you may need to point the include files to it.
+ #BIND9STATICLIBDIR?=/sandel/lib
+diff -Naupr openswan-2.2.0/lib/libdes/Makefile openswan-2.2.0-gentoo/lib/libdes/Makefile
+--- openswan-2.2.0/lib/libdes/Makefile 2004-04-03 13:44:41.000000000 -0600
++++ openswan-2.2.0-gentoo/lib/libdes/Makefile 2004-09-17 21:31:29.810687485 -0500
+@@ -60,7 +60,7 @@ MAKE=make -f Makefile
+ # normally overridden by FreeS/WAN Makefiles anyway
+ CFLAG= -O3 -fomit-frame-pointer -I${KLIPSD}/include -I${SRCDIR}
+
+-CFLAGS=$(OPTS) $(CFLAG)
++CFLAGS=$(OPTS) $(CFLAG) $(USERCOMPILE)
+ CPP=$(CC) -E
+
+ # Assember version of des_encrypt*().
+diff -Naupr openswan-2.2.0/linux/crypto/ciphers/des/asm/crypt586.pl openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/crypt586.pl
+--- openswan-2.2.0/linux/crypto/ciphers/des/asm/crypt586.pl 2002-04-24 02:36:37.000000000 -0500
++++ openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/crypt586.pl 2004-09-17 21:31:29.811687312 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+ #
+ # The inner loop instruction sequence and the IP/FP modifications are from
+ # Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>
+diff -Naupr openswan-2.2.0/linux/crypto/ciphers/des/asm/des-586.pl openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/des-586.pl
+--- openswan-2.2.0/linux/crypto/ciphers/des/asm/des-586.pl 2002-04-24 02:36:37.000000000 -0500
++++ openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/des-586.pl 2004-09-17 21:31:29.811687312 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+ #
+ # The inner loop instruction sequence and the IP/FP modifications are from
+ # Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>
+diff -Naupr openswan-2.2.0/linux/crypto/ciphers/des/asm/des686.pl openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/des686.pl
+--- openswan-2.2.0/linux/crypto/ciphers/des/asm/des686.pl 2002-04-24 02:36:37.000000000 -0500
++++ openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/des686.pl 2004-09-17 21:31:29.812687139 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+
+ $prog="des686.pl";
+
+diff -Naupr openswan-2.2.0/linux/crypto/ciphers/des/asm/desboth.pl openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/desboth.pl
+--- openswan-2.2.0/linux/crypto/ciphers/des/asm/desboth.pl 2002-04-24 02:36:37.000000000 -0500
++++ openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/desboth.pl 2004-09-17 21:31:29.812687139 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+
+ $L="edi";
+ $R="esi";
+diff -Naupr openswan-2.2.0/linux/crypto/ciphers/des/asm/perlasm/cbc.pl openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/perlasm/cbc.pl
+--- openswan-2.2.0/linux/crypto/ciphers/des/asm/perlasm/cbc.pl 2002-04-24 02:36:37.000000000 -0500
++++ openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/perlasm/cbc.pl 2004-09-17 21:31:29.812687139 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+
+ # void des_ncbc_encrypt(input, output, length, schedule, ivec, enc)
+ # des_cblock (*input);
+diff -Naupr openswan-2.2.0/linux/crypto/ciphers/des/asm/perlasm/x86asm.pl openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/perlasm/x86asm.pl
+--- openswan-2.2.0/linux/crypto/ciphers/des/asm/perlasm/x86asm.pl 2002-04-24 02:36:37.000000000 -0500
++++ openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/perlasm/x86asm.pl 2004-09-17 21:31:29.813686966 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+
+ # require 'x86asm.pl';
+ # &asm_init("cpp","des-586.pl");
+diff -Naupr openswan-2.2.0/linux/crypto/ciphers/des/asm/perlasm/x86ms.pl openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/perlasm/x86ms.pl
+--- openswan-2.2.0/linux/crypto/ciphers/des/asm/perlasm/x86ms.pl 2002-04-24 02:36:37.000000000 -0500
++++ openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/perlasm/x86ms.pl 2004-09-17 21:31:29.813686966 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+
+ package x86ms;
+
+diff -Naupr openswan-2.2.0/linux/crypto/ciphers/des/asm/perlasm/x86unix.pl openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/perlasm/x86unix.pl
+--- openswan-2.2.0/linux/crypto/ciphers/des/asm/perlasm/x86unix.pl 2002-04-24 02:36:37.000000000 -0500
++++ openswan-2.2.0-gentoo/linux/crypto/ciphers/des/asm/perlasm/x86unix.pl 2004-09-17 21:31:29.814686793 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl
++#!/usr/bin/perl
+
+ package x86unix;
+
+diff -Naupr openswan-2.2.0/programs/_include/_include.in openswan-2.2.0-gentoo/programs/_include/_include.in
+--- openswan-2.2.0/programs/_include/_include.in 2003-01-06 15:44:04.000000000 -0600
++++ openswan-2.2.0-gentoo/programs/_include/_include.in 2004-09-17 21:31:29.814686793 -0500
+@@ -47,10 +47,10 @@ for f
+ do
+ if test ! -r "$f"
+ then
+- if test ! "$f" = "/etc/ipsec.conf"
++ if test ! "$f" = "/etc/ipsec/ipsec.conf"
+ then
+ echo "#:cannot open configuration file \'$f\'"
+- if test "$f" = "/etc/ipsec.secrets"
++ if test "$f" = "/etc/ipsec/ipsec.secrets"
+ then
+ echo "#:Your secrets file will be created when you start FreeS/WAN for the first time."
+ fi
+diff -Naupr openswan-2.2.0/programs/barf/barf.in openswan-2.2.0-gentoo/programs/barf/barf.in
+--- openswan-2.2.0/programs/barf/barf.in 2004-06-07 20:02:11.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/barf/barf.in 2004-09-17 21:31:29.815686620 -0500
+@@ -16,7 +16,7 @@
+
+ LOGS=${LOGS-/var/log}
+ CONFS=${IPSEC_CONFS-/etc}
+-CONFDDIR=${IPSEC_CONFDDIR-/etc/ipsec.d}
++CONFDDIR=${IPSEC_CONFDDIR-/etc/ipsec/ipsec.d}
+ me="ipsec barf"
+
+ # kludge to produce no barf output mentioning policygroups if none are present.
+@@ -229,13 +229,13 @@ then
+ done
+ fi
+ _________________________ ipsec/ls-libdir
+-ls -l ${IPSEC_LIBDIR-/usr/local/lib/ipsec}
++ls -l ${IPSEC_LIBDIR-/usr/lib/ipsec}
+ _________________________ ipsec/ls-execdir
+-ls -l ${IPSEC_EXECDIR-/usr/local/libexec/ipsec}
++ls -l ${IPSEC_EXECDIR-/usr/libexec/ipsec}
+ _________________________ ipsec/updowns
+-for f in `ls ${IPSEC_EXECDIR-/usr/local/libexec/ipsec} | egrep updown`
++for f in `ls ${IPSEC_EXECDIR-/usr/libexec/ipsec} | egrep updown`
+ do
+- cat ${IPSEC_EXECDIR-/usr/local/libexec/ipsec}/$f
++ cat ${IPSEC_EXECDIR-/usr/libexec/ipsec}/$f
+ done
+ _________________________ proc/net/dev
+ cat /proc/net/dev
+diff -Naupr openswan-2.2.0/programs/eroute/eroute.5 openswan-2.2.0-gentoo/programs/eroute/eroute.5
+--- openswan-2.2.0/programs/eroute/eroute.5 2003-10-30 20:32:27.000000000 -0600
++++ openswan-2.2.0-gentoo/programs/eroute/eroute.5 2004-09-17 21:31:29.815686620 -0500
+@@ -223,7 +223,7 @@ Parameters Index of
+ in hexadecimal using Authentication Header protocol (51,
+ IPPROTO_AH) with no identies defined for either end.
+ .SH FILES
+-/proc/net/ipsec_eroute, /usr/local/bin/ipsec
++/proc/net/ipsec_eroute, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_tncfg(5), ipsec_spi(5),
+ ipsec_spigrp(5), ipsec_klipsdebug(5), ipsec_eroute(8), ipsec_version(5),
+diff -Naupr openswan-2.2.0/programs/eroute/eroute.8 openswan-2.2.0-gentoo/programs/eroute/eroute.8
+--- openswan-2.2.0/programs/eroute/eroute.8 2003-10-30 20:32:27.000000000 -0600
++++ openswan-2.2.0-gentoo/programs/eroute/eroute.8 2004-09-17 21:31:29.816686447 -0500
+@@ -308,7 +308,7 @@ will be in clear text.
+ .br
+ .LP
+ .SH FILES
+-/proc/net/ipsec_eroute, /usr/local/bin/ipsec
++/proc/net/ipsec_eroute, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_tncfg(8), ipsec_spi(8),
+ ipsec_spigrp(8), ipsec_klipsdebug(8), ipsec_eroute(5)
+diff -Naupr openswan-2.2.0/programs/ipsec/ipsec.8 openswan-2.2.0-gentoo/programs/ipsec/ipsec.8
+--- openswan-2.2.0/programs/ipsec/ipsec.8 2003-02-27 10:51:54.000000000 -0600
++++ openswan-2.2.0-gentoo/programs/ipsec/ipsec.8 2004-09-17 21:31:29.816686447 -0500
+@@ -81,7 +81,7 @@ reports where
+ .I ipsec
+ thinks the IPsec configuration files are stored.
+ .SH FILES
+-/usr/local/lib/ipsec usual utilities directory
++/usr/lib/ipsec usual utilities directory
+ .SH ENVIRONMENT
+ .PP
+ The following environment variables control where FreeS/WAN finds its
+diff -Naupr openswan-2.2.0/programs/klipsdebug/klipsdebug.5 openswan-2.2.0-gentoo/programs/klipsdebug/klipsdebug.5
+--- openswan-2.2.0/programs/klipsdebug/klipsdebug.5 2002-04-24 02:35:38.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/klipsdebug/klipsdebug.5 2004-09-17 21:31:29.817686275 -0500
+@@ -103,7 +103,7 @@ full
+ sockets debugging has been set and everything else is not set.
+ .LP
+ .SH FILES
+-/proc/net/ipsec_klipsdebug, /usr/local/bin/ipsec
++/proc/net/ipsec_klipsdebug, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_tncfg(8), ipsec_eroute(8),
+ ipsec_spi(8), ipsec_spigrp(8), ipsec_klipsdebug(5), ipsec_version(5),
+diff -Naupr openswan-2.2.0/programs/klipsdebug/klipsdebug.8 openswan-2.2.0-gentoo/programs/klipsdebug/klipsdebug.8
+--- openswan-2.2.0/programs/klipsdebug/klipsdebug.8 2002-04-24 02:35:39.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/klipsdebug/klipsdebug.8 2004-09-17 21:31:29.817686275 -0500
+@@ -117,7 +117,7 @@ turns off only the
+ debugging messages.
+ .LP
+ .SH FILES
+-/proc/net/ipsec_klipsdebug, /usr/local/bin/ipsec
++/proc/net/ipsec_klipsdebug, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_tncfg(8), ipsec_eroute(8),
+ ipsec_spi(8), ipsec_spigrp(8), ipsec_klipsdebug(5)
+diff -Naupr openswan-2.2.0/programs/lwdnsq/lwdnsq.xml.in openswan-2.2.0-gentoo/programs/lwdnsq/lwdnsq.xml.in
+--- openswan-2.2.0/programs/lwdnsq/lwdnsq.xml.in 2004-04-03 19:50:56.000000000 -0600
++++ openswan-2.2.0-gentoo/programs/lwdnsq/lwdnsq.xml.in 2004-09-17 21:31:29.817686275 -0500
+@@ -430,7 +430,7 @@ information.
+ <refsect1><title>Special IPSECKEY processing</title>
+
+ <programlisting>
+-/etc/ipsec.d/lwdnsq.conf
++/etc/ipsec/ipsec.d/lwdnsq.conf
+ </programlisting>
+
+ </refsect1>
+diff -Naupr openswan-2.2.0/programs/mailkey/mailkey.in openswan-2.2.0-gentoo/programs/mailkey/mailkey.in
+--- openswan-2.2.0/programs/mailkey/mailkey.in 2003-06-30 00:34:22.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/mailkey/mailkey.in 2004-09-17 21:31:29.818686102 -0500
+@@ -60,7 +60,7 @@ with the following error:
+
+ "$test1st"
+
+-Common concerns: This account must be able to read /etc/ipsec.secrets.
++Common concerns: This account must be able to read /etc/ipsec/ipsec.secrets.
+ If you haven't generated your key yet, please run 'ipsec newhostkey'."
+ exit 0
+ }
+diff -Naupr openswan-2.2.0/programs/pluto/Makefile openswan-2.2.0-gentoo/programs/pluto/Makefile
+--- openswan-2.2.0/programs/pluto/Makefile 2004-07-19 21:05:23.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/pluto/Makefile 2004-09-17 21:31:29.819685929 -0500
+@@ -224,7 +224,7 @@ CPPFLAGS = $(HDRDIRS) $(DEFINES) \
+ -DPOLICYGROUPSDIR=\"${FINALCONFDDIR}/policies\" \
+ -DPERPEERLOGDIR=\"${FINALLOGDIR}/pluto/peer\"
+
+-ALLFLAGS = $(CPPFLAGS) $(CFLAGS)
++ALLFLAGS = $(CPPFLAGS) $(CFLAGS) $(USERCOMPILE)
+
+ # libefence is a free memory allocation debugger
+ # Solaris 2 needs -lsocket -lnsl
+diff -Naupr openswan-2.2.0/programs/setup/Makefile openswan-2.2.0-gentoo/programs/setup/Makefile
+--- openswan-2.2.0/programs/setup/Makefile 2004-04-03 13:44:48.000000000 -0600
++++ openswan-2.2.0-gentoo/programs/setup/Makefile 2004-09-17 21:31:29.819685929 -0500
+@@ -33,25 +33,10 @@ install:: setup
+ @rm -f $(BINDIR)/setup
+ @$(INSTALL) $(INSTBINFLAGS) setup $(RCDIR)/ipsec
+ @ln -s $(FINALRCDIR)/ipsec $(BINDIR)/setup
+- -@for i in 0 1 2 3 4 5 6; do mkdir -p $(RCDIR)/../rc$$i.d; done
+- -@cd $(RCDIR)/../rc0.d && ln -f -s ../init.d/ipsec K76ipsec
+- -@cd $(RCDIR)/../rc1.d && ln -f -s ../init.d/ipsec K76ipsec
+- -@cd $(RCDIR)/../rc2.d && ln -f -s ../init.d/ipsec S47ipsec
+- -@cd $(RCDIR)/../rc3.d && ln -f -s ../init.d/ipsec S47ipsec
+- -@cd $(RCDIR)/../rc4.d && ln -f -s ../init.d/ipsec S47ipsec
+- -@cd $(RCDIR)/../rc5.d && ln -f -s ../init.d/ipsec S47ipsec
+- -@cd $(RCDIR)/../rc6.d && ln -f -s ../init.d/ipsec K76ipsec
+
+ install_file_list::
+ @echo $(RCDIR)/ipsec
+ @echo $(BINDIR)/setup
+- @echo $(RCDIR)/../rc0.d/K76ipsec
+- @echo $(RCDIR)/../rc1.d/K76ipsec
+- @echo $(RCDIR)/../rc2.d/S47ipsec
+- @echo $(RCDIR)/../rc3.d/S47ipsec
+- @echo $(RCDIR)/../rc4.d/S47ipsec
+- @echo $(RCDIR)/../rc5.d/S47ipsec
+- @echo $(RCDIR)/../rc6.d/K76ipsec
+
+ clean::
+ @rm -f setup
+diff -Naupr openswan-2.2.0/programs/showhostkey/showhostkey.in openswan-2.2.0-gentoo/programs/showhostkey/showhostkey.in
+--- openswan-2.2.0/programs/showhostkey/showhostkey.in 2004-03-24 15:08:22.000000000 -0600
++++ openswan-2.2.0-gentoo/programs/showhostkey/showhostkey.in 2004-09-17 21:31:29.820685756 -0500
+@@ -18,7 +18,7 @@ me="ipsec showhostkey"
+ usage="Usage: $me [--file secrets] [--left] [--right] [--txt gateway] [--id id]
+ [--dhclient]"
+
+-file=/etc/ipsec.secrets
++file=/etc/ipsec/ipsec.secrets
+ fmt=""
+ gw=
+ id=
+diff -Naupr openswan-2.2.0/programs/spi/spi.5 openswan-2.2.0-gentoo/programs/spi/spi.5
+--- openswan-2.2.0/programs/spi/spi.5 2002-04-24 02:35:39.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/spi/spi.5 2004-09-17 21:31:29.820685756 -0500
+@@ -162,7 +162,7 @@ since 1 of 8 bits is a parity bit), has
+ 3858 seconds ago and has been idle for 23 seconds.
+ .LP
+ .SH FILES
+-/proc/net/ipsec_spi, /usr/local/bin/ipsec
++/proc/net/ipsec_spi, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_tncfg(5), ipsec_eroute(5),
+ ipsec_spigrp(5), ipsec_klipsdebug(5), ipsec_spi(8), ipsec_version(5),
+diff -Naupr openswan-2.2.0/programs/spi/spi.8 openswan-2.2.0-gentoo/programs/spi/spi.8
+--- openswan-2.2.0/programs/spi/spi.8 2002-04-24 02:35:40.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/spi/spi.8 2004-09-17 21:31:29.820685756 -0500
+@@ -461,7 +461,7 @@ and protocol
+ (4).
+ .LP
+ .SH FILES
+-/proc/net/ipsec_spi, /usr/local/bin/ipsec
++/proc/net/ipsec_spi, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_tncfg(8), ipsec_eroute(8),
+ ipsec_spigrp(8), ipsec_klipsdebug(8), ipsec_spi(5)
+diff -Naupr openswan-2.2.0/programs/spigrp/spigrp.5 openswan-2.2.0-gentoo/programs/spigrp/spigrp.5
+--- openswan-2.2.0/programs/spigrp/spigrp.5 2002-04-24 02:35:40.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/spigrp/spigrp.5 2004-09-17 21:31:29.821685583 -0500
+@@ -77,7 +77,7 @@ be an incoming or outgoing group, depend
+ machine.
+ .LP
+ .SH FILES
+-/proc/net/ipsec_spigrp, /usr/local/bin/ipsec
++/proc/net/ipsec_spigrp, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_tncfg(5), ipsec_eroute(5),
+ ipsec_spi(5), ipsec_klipsdebug(5), ipsec_spigrp(8), ipsec_version(5),
+diff -Naupr openswan-2.2.0/programs/spigrp/spigrp.8 openswan-2.2.0-gentoo/programs/spigrp/spigrp.8
+--- openswan-2.2.0/programs/spigrp/spigrp.8 2002-04-24 02:35:41.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/spigrp/spigrp.8 2004-09-17 21:31:29.821685583 -0500
+@@ -128,7 +128,7 @@ and finally an AH header to authenticate
+ .BR 0x236 .
+ .LP
+ .SH FILES
+-/proc/net/ipsec_spigrp, /usr/local/bin/ipsec
++/proc/net/ipsec_spigrp, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_tncfg(8), ipsec_eroute(8),
+ ipsec_spi(8), ipsec_klipsdebug(8), ipsec_spigrp(5)
+diff -Naupr openswan-2.2.0/programs/tncfg/tncfg.5 openswan-2.2.0-gentoo/programs/tncfg/tncfg.5
+--- openswan-2.2.0/programs/tncfg/tncfg.5 2002-04-24 02:35:41.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/tncfg/tncfg.5 2004-09-17 21:31:29.821685583 -0500
+@@ -75,7 +75,7 @@ shows that virtual device
+ is not connected to any physical device.
+ .LP
+ .SH "FILES"
+-/proc/net/ipsec_tncfg, /usr/local/bin/ipsec
++/proc/net/ipsec_tncfg, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_eroute(5), ipsec_spi(5),
+ ipsec_spigrp(5), ipsec_klipsdebug(5), ipsec_tncfg(8), ipsec_version(5),
+diff -Naupr openswan-2.2.0/programs/tncfg/tncfg.8 openswan-2.2.0-gentoo/programs/tncfg/tncfg.8
+--- openswan-2.2.0/programs/tncfg/tncfg.8 2002-04-24 02:35:41.000000000 -0500
++++ openswan-2.2.0-gentoo/programs/tncfg/tncfg.8 2004-09-17 21:31:29.822685410 -0500
+@@ -76,7 +76,7 @@ virtual device to the
+ physical device.
+ .LP
+ .SH "FILES"
+-/proc/net/ipsec_tncfg, /usr/local/bin/ipsec
++/proc/net/ipsec_tncfg, /usr/bin/ipsec
+ .SH "SEE ALSO"
+ ipsec(8), ipsec_manual(8), ipsec_eroute(8), ipsec_spi(8),
+ ipsec_spigrp(8), ipsec_klipsdebug(8), ipsec_tncfg(5)
diff --git a/meta/packages/openswan/openswan_2.2.0.bb b/meta/packages/openswan/openswan_2.2.0.bb
new file mode 100644
index 0000000000..197fed95f6
--- /dev/null
+++ b/meta/packages/openswan/openswan_2.2.0.bb
@@ -0,0 +1,37 @@
+SECTION = "console/network"
+DESCRIPTION = "Openswan is an Open Source implementation of IPsec for the \
+Linux operating system."
+HOMEPAGE = "http://www.openswan.org"
+LICENSE = "GPLv2"
+MAINTAINER = "Bruno Randolf <bruno.randolf@4g-systems.biz>"
+DEPENDS = "gmp flex-native"
+RRECOMMENDS = "kernel-module-ipsec"
+RDEPENDS_nylon = "perl"
+PR = "r4"
+
+SRC_URI = "http://www.openswan.org/download/old/openswan-${PV}.tar.gz \
+ file://openswan-2.2.0-gentoo.patch;patch=1 \
+ file://gcc4-fixes.patch;patch=1 \
+ file://makefile-whitespace-fix.patch;patch=1 \
+ file://ld-library-path-breakage.patch;patch=1"
+S = "${WORKDIR}/openswan-${PV}"
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = "DESTDIR=${D} \
+ USERCOMPILE="${CFLAGS}" \
+ FINALCONFDIR=${sysconfdir}/ipsec \
+ INC_RCDEFAULT=${sysconfdir}/init.d \
+ INC_USRLOCAL=${prefix} \
+ INC_MANDIR=share/man WERROR=''"
+
+do_compile () {
+ oe_runmake programs
+}
+
+do_install () {
+ oe_runmake install
+}
+
+FILES_${PN} += "${libdir}/ipsec/"
+
+CONFFILES_${PN} = "${sysconfdir}/ipsec/ipsec.conf"
diff --git a/meta/packages/opensync/libopensync-plugin-evolution2-0.17/fix-warnings.patch b/meta/packages/opensync/libopensync-plugin-evolution2-0.17/fix-warnings.patch
new file mode 100644
index 0000000000..474031dcc0
--- /dev/null
+++ b/meta/packages/opensync/libopensync-plugin-evolution2-0.17/fix-warnings.patch
@@ -0,0 +1,11 @@
+--- libopensync-plugin-evolution2-0.17/src/evolution2_ebook.c.old 2005-10-03 19:41:06.000000000 +0100
++++ libopensync-plugin-evolution2-0.17/src/evolution2_ebook.c 2005-10-03 19:41:32.000000000 +0100
+@@ -133,7 +133,7 @@
+ EContact *contact = E_CONTACT(l->data);
+ vcard = contact->parent;
+ char *data = e_vcard_to_string(&vcard, EVC_FORMAT_VCARD_30);
+- char *uid = e_contact_get_const(contact, E_CONTACT_UID);
++ char *uid = (char *)e_contact_get_const(contact, E_CONTACT_UID);
+ int datasize = strlen(data) + 1;
+ evo2_report_change(ctx, "contact", "vcard30", data, datasize, uid, CHANGE_ADDED);
+ }
diff --git a/meta/packages/opensync/libopensync-plugin-evolution2_0.17.bb b/meta/packages/opensync/libopensync-plugin-evolution2_0.17.bb
new file mode 100644
index 0000000000..e7e67d4900
--- /dev/null
+++ b/meta/packages/opensync/libopensync-plugin-evolution2_0.17.bb
@@ -0,0 +1,17 @@
+LICENSE = "LGPL"
+DEPENDS = "libopensync eds-dbus"
+SRC_URI = "http://www.o-hand.com/~chris/${PN}-${PV}.tar.gz \
+ file://fix-warnings.patch;patch=1"
+PR = "r1"
+
+inherit autotools pkgconfig
+
+# Work around opensync's broken pkgconfig usage
+do_install_append () {
+ mv ${D}/${STAGING_DIR}/* ${D}/${prefix}/
+}
+
+FILES_${PN} += "${datadir}/opensync/defaults/evo2-sync \
+ ${libdir}/opensync/*/*.so"
+FILES_${PN}-dev += "${libdir}/opensync/*/*.la"
+
diff --git a/meta/packages/opensync/libopensync-plugin-file_0.17.bb b/meta/packages/opensync/libopensync-plugin-file_0.17.bb
new file mode 100644
index 0000000000..8dfbc5165b
--- /dev/null
+++ b/meta/packages/opensync/libopensync-plugin-file_0.17.bb
@@ -0,0 +1,16 @@
+LICENSE = "LGPL"
+DEPENDS = "libopensync"
+SRC_URI = "http://www.o-hand.com/~chris/${PN}-${PV}.tar.gz"
+PR = "r1"
+
+inherit autotools pkgconfig
+
+# Work around opensync's broken pkgconfig usage
+do_install_append () {
+ mv ${D}/${STAGING_DIR}/* ${D}/${prefix}/
+}
+
+FILES_${PN} += "${datadir}/opensync/defaults/file-sync \
+ ${libdir}/opensync/*/*.so"
+FILES_${PN}-dev += "${libdir}/opensync/*/*.la"
+
diff --git a/meta/packages/opensync/libopensync_0.17.bb b/meta/packages/opensync/libopensync_0.17.bb
new file mode 100644
index 0000000000..5815544a0f
--- /dev/null
+++ b/meta/packages/opensync/libopensync_0.17.bb
@@ -0,0 +1,24 @@
+LICENSE = "LGPL"
+DEPENDS = "sqlite3"
+SRC_URI = "http://www.o-hand.com/~chris/${PN}-${PV}.tar.gz"
+EXTRA_OECONF = " --enable-engine"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ oe_libinstall -so -C opensync libopensync ${STAGING_LIBDIR}
+ oe_libinstall -so -C osengine libosengine ${STAGING_LIBDIR}
+
+ install -d ${STAGING_INCDIR}/opensync-1.0 \
+ ${STAGING_INCDIR}/opensync-1.0/opensync \
+ ${STAGING_INCDIR}/opensync-1.0/osengine
+ install -m 0644 ${S}/opensync/*.h ${STAGING_INCDIR}/opensync-1.0/opensync
+ install -m 0644 ${S}/osengine/*.h ${STAGING_INCDIR}/opensync-1.0/osengine
+
+ install -m 0644 ${S}/opensync-1.0.pc ${STAGING_LIBDIR}/pkgconfig
+ install -m 0644 ${S}/osengine-1.0.pc ${STAGING_LIBDIR}/pkgconfig
+}
+
+FILES_${PN} += "${libdir}/opensync/formats/*.so"
+FILES_${PN}-dev += "${libdir}/opensync/formats/*.la"
+
diff --git a/meta/packages/opensync/multisync_0.90.17.bb b/meta/packages/opensync/multisync_0.90.17.bb
new file mode 100644
index 0000000000..ddc5b53b41
--- /dev/null
+++ b/meta/packages/opensync/multisync_0.90.17.bb
@@ -0,0 +1,6 @@
+LICENSE = "LGPL"
+DEPENDS = "libopensync gtk+"
+SRC_URI = "http://www.o-hand.com/~chris/${PN}-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
diff --git a/meta/packages/oprofile/oprofile-0.9.1/acinclude.m4 b/meta/packages/oprofile/oprofile-0.9.1/acinclude.m4
new file mode 100644
index 0000000000..ffaa8288df
--- /dev/null
+++ b/meta/packages/oprofile/oprofile-0.9.1/acinclude.m4
@@ -0,0 +1,600 @@
+dnl AX_KERNEL_OPTION(option, action-if-found, action-if-not-found)
+dnl see if autoconf.h defines the option
+AC_DEFUN([AX_KERNEL_OPTION], [
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-I$KINC -O2 -D__KERNEL__"
+AC_TRY_COMPILE( [#include <linux/config.h>],
+[
+#ifndef $1
+break_me_hard(\\\);
+#endif
+],[$2],[$3],)
+CFLAGS=$SAVE_CFLAGS
+])
+
+dnl Handle the 2.4 module inside module/
+AC_DEFUN([AX_CONFIG_MODULE],
+[
+if test ! -f $KINC/linux/autoconf.h; then
+ AC_MSG_ERROR([no suitably configured kernel include tree found])
+fi
+
+dnl --- Get Linux kernel version and compile parameters ---
+
+AC_SUBST(KVERS)
+AC_MSG_CHECKING([for kernel version])
+dnl it's like this to handle mandrake's fubar version.h - bug #471448
+eval KVERS=`gcc -I$KINC -E -dM $KINC/linux/version.h | grep -w UTS_RELEASE | awk '{print $[]3}'`
+AC_MSG_RESULT([$KVERS])
+case "$KVERS" in
+2.2.*|2.4.*) ;;
+*) AC_MSG_ERROR([Unsupported kernel version])
+esac
+
+dnl Check for the minimal kernel version supported
+AC_MSG_CHECKING([kernel version])
+AX_KERNEL_VERSION(2, 2, 10, <=, AC_MSG_RESULT([ok]), AC_MSG_ERROR([check html documentation install section]))
+
+dnl linux/spinlock.h added at some point in past
+AC_MSG_CHECKING([for $KINC/linux/spinlock.h])
+if test -f $KINC/linux/spinlock.h; then
+ EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DHAVE_LINUX_SPINLOCK_HEADER"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+AC_MSG_CHECKING([for rtc_lock])
+gcc -I$KINC -E $KINC/linux/mc146818rtc.h | grep rtc_lock >/dev/null
+if test "$?" -eq 0; then
+ EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DRTC_LOCK"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+arch="unknown"
+AC_MSG_CHECKING(for x86-64 architecture)
+AX_KERNEL_OPTION(CONFIG_X86_64, x8664=1, x8664=0)
+AX_MSG_RESULT_YN($x8664)
+BUILD_HAMMER=no
+if test "$x8664" -eq 1; then
+ arch="x86"
+ BUILD_HAMMER=yes
+else
+ AC_MSG_CHECKING(for x86 architecture)
+ AX_KERNEL_OPTION(CONFIG_X86, x86=1, x86=0)
+ AX_KERNEL_OPTION(CONFIG_X86_WP_WORKS_OK, x86=1, x86=$x86)
+ AX_MSG_RESULT_YN($x86)
+ test "$x86" = 1 && arch="x86"
+
+ if test "$arch" = "unknown"; then
+ AC_MSG_CHECKING(for ia64 architecture)
+ AX_KERNEL_OPTION(CONFIG_IA64, ia64=1, ia64=0)
+ AX_MSG_RESULT_YN($ia64)
+ test "$ia64" = 1 && arch="ia64"
+ fi
+
+fi
+AC_SUBST(BUILD_HAMMER)
+
+test "$arch" = "unknown" && AC_MSG_ERROR(Unsupported architecture)
+
+dnl check to see if kernel verion appropriate for arch
+AC_MSG_CHECKING(arch/kernel version combination)
+case "$arch" in
+ia64)
+ AX_KERNEL_VERSION(2, 4, 18, <, AC_MSG_RESULT([ok]),
+ AC_MSG_ERROR([unsupported arch/kernel])) ;;
+*) AC_MSG_RESULT([ok])
+esac
+
+dnl for now we do not support PREEMPT patch
+AC_MSG_CHECKING([for preempt patch])
+AX_KERNEL_OPTION(CONFIG_PREEMPT,preempt=1,preempt=0)
+AX_MSG_RESULT_YN([$preempt])
+test "$preempt" = 0 || AC_MSG_ERROR([unsupported kernel configuration : CONFIG_PREEMPT])
+
+AC_SUBST(KINC)
+
+MODINSTALLDIR=/lib/modules/$KVERS
+
+OPROFILE_MODULE_ARCH=$arch
+AC_SUBST(OPROFILE_MODULE_ARCH)
+]
+)
+
+dnl AX_KERNEL_VERSION(major, minor, level, comparison, action-if-true, action-if-false)
+AC_DEFUN([AX_KERNEL_VERSION], [
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-I$KINC -D__KERNEL__ -Werror"
+AC_TRY_COMPILE(
+ [
+ #include <linux/version.h>
+ #include <linux/config.h>
+ ],
+ [
+ #if LINUX_VERSION_CODE $4 KERNEL_VERSION($1, $2, $3)
+ break_me_hard(\\\);
+ #endif
+ ],
+[$5],[$6],)
+CFLAGS=$SAVE_CFLAGS
+])
+
+
+dnl AX_MSG_RESULT_YN(a)
+dnl results "yes" iff a==1, "no" else
+AC_DEFUN([AX_MSG_RESULT_YN], [x=no
+test "x$1" = "x1" && x=yes
+AC_MSG_RESULT($x)])
+
+dnl AX_MALLOC_ATTRIBUTE - see if gcc will take __attribute__((malloc))
+AC_DEFUN([AX_MALLOC_ATTRIBUTE],
+[
+AC_MSG_CHECKING([whether malloc attribute is understood])
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+AC_TRY_COMPILE(,[
+void monkey() __attribute__((malloc));
+],AC_MSG_RESULT([yes]); AC_DEFINE(MALLOC_ATTRIBUTE_OK, 1, [whether malloc attribute is understood]), AC_MSG_RESULT([no]))
+CFLAGS=$SAVE_CFLAGS
+]
+)
+
+dnl builtin_expect is used in module we can't add that in config.h
+AC_DEFUN([AX_BUILTIN_EXPECT],
+[
+AC_MSG_CHECKING([whether __builtin_expect is understood])
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+AC_TRY_LINK(,[
+int i;
+if (__builtin_expect(i, 0)) { }
+],
+AC_MSG_RESULT([yes]); EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DEXPECT_OK",
+AC_MSG_RESULT([no]);)
+CFLAGS=$SAVE_CFLAGS
+]
+)
+
+dnl AX_EXTRA_DIRS - Let user specify extra dirs for include/libs
+AC_DEFUN([AX_EXTRA_DIRS],
+[
+AC_ARG_WITH(extra-includes,
+[ --with-extra-includes=DIR add extra include paths],
+ use_extra_includes="$withval",
+ use_extra_includes=NO
+)
+if test -n "$use_extra_includes" && \
+ test "$use_extra_includes" != "NO"; then
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $use_extra_includes; do
+ extra_includes="$extra_includes -I$dir"
+ done
+ IFS=$ac_save_ifs
+ CPPFLAGS="$CPPFLAGS $extra_includes"
+fi
+
+AC_ARG_WITH(extra-libs,
+[ --with-extra-libs=DIR add extra library paths],
+ use_extra_libs=$withval,
+ use_extra_libs=NO
+)
+if test -n "$use_extra_libs" && \
+ test "$use_extra_libs" != "NO"; then
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $use_extra_libs; do
+ extra_libraries="$extra_libraries -L$dir"
+ done
+ IFS=$ac_save_ifs
+ LDFLAGS="$LDFLAGS $extra_libraries"
+fi
+]
+)
+
+dnl AX_POPT_CONST - check popt prototype
+AC_DEFUN([AX_POPT_CONST],
+[
+AC_MSG_CHECKING([popt prototype])
+SAVE_CXXFLAGS=$CXXFLAGS
+CXXFLAGS="-Werror $CXXFLAGS"
+AC_TRY_COMPILE([#include <popt.h>],
+[
+int c; char **v;
+poptGetContext(0, c, v, 0, 0);
+],
+AC_MSG_RESULT([takes char **]);,
+AC_MSG_RESULT([takes const char **]); AC_DEFINE(CONST_POPT, 1, [whether popt prototype takes a const char **]))
+CXXFLAGS="$SAVE_CXXFLAGS"
+]
+)
+
+dnl AX_CHECK_SSTREAM - check if local sstream is needed to compile OK
+AC_DEFUN([AX_CHECK_SSTREAM],
+[
+AC_MSG_CHECKING([whether to use included sstream])
+AC_TRY_COMPILE([#include <sstream>], [],
+AC_MSG_RESULT([no]);,
+AC_MSG_RESULT([yes]); OP_CXXFLAGS="$OP_CXXFLAGS -I\${top_srcdir}/include")
+]
+)
+
+dnl AX_CHECK_TYPEDEF(typedef_name, type, action-if-true, action-if-false)
+dnl exec action-if-true if typedef_name is a typedef to type else exec
+dnl action-if-false
+dnl currently work only with type typedef'ed in stddef.h
+AC_DEFUN([AX_CHECK_TYPEDEF], [
+dnl AC_LANG_PUSH(C) not in autoconf 2.13
+AC_LANG_SAVE
+AC_LANG_C
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+
+AC_TRY_COMPILE(
+ [
+ #include <stddef.h>
+ ],
+ [
+ typedef void (*fct1)($1);
+ typedef void (*fct2)($2);
+ fct1 f1 = 0;
+ fct2 f2 = 0;
+ if (f1 == f2) {}
+ ],
+[$3],[$4])
+
+CFLAGS=$SAVE_CFLAGS
+AC_LANG_RESTORE
+])
+
+
+dnl AX_TYPEDEFED_NAME(typedef_name, candidate_list, var_name)
+dnl set var_name to the typedef name of $1 which must be in canditate_list
+dnl else produce a fatal error
+AC_DEFUN([AX_TYPEDEFED_NAME], [
+ AC_MSG_CHECKING([type of $1])
+ for f in $2; do
+ AX_CHECK_TYPEDEF($1, $f, $3="$f", $3="")
+ if test -n "${$3}"; then
+ break
+ fi
+ done
+ if test -n "${$3}"; then
+ AC_MSG_RESULT([${$3}])
+ else
+ AC_MSG_ERROR([not found])
+ fi
+])
+
+dnl find a binary in the path
+AC_DEFUN([QT_FIND_PATH],
+[
+ AC_MSG_CHECKING([for $1])
+ AC_CACHE_VAL(qt_cv_path_$1,
+ [
+ qt_cv_path_$1="NONE"
+ if test -n "$$2"; then
+ qt_cv_path_$1="$$2";
+ else
+ dirs="$3"
+ qt_save_IFS=$IFS
+ IFS=':'
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ IFS=$qt_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/$1"; then
+ if test -n "$5"; then
+ evalstr="$dir/$1 $5 2>&1 "
+ if eval $evalstr; then
+ qt_cv_path_$1="$dir/$1"
+ break
+ fi
+ else
+ qt_cv_path_$1="$dir/$1"
+ break
+ fi
+ fi
+ done
+ fi
+ ])
+
+ if test -z "$qt_cv_path_$1" || test "$qt_cv_path_$1" = "NONE"; then
+ AC_MSG_RESULT(not found)
+ $4
+ else
+ AC_MSG_RESULT($qt_cv_path_$1)
+ $2=$qt_cv_path_$1
+ fi
+])
+
+dnl Find the uic compiler on the path or in qt_cv_dir
+AC_DEFUN([QT_FIND_UIC],
+[
+ QT_FIND_PATH(uic, ac_uic, $qt_cv_dir/bin)
+ if test -z "$ac_uic" -a "$FATAL" = 1; then
+ AC_MSG_ERROR([uic binary not found in \$PATH or $qt_cv_dir/bin !])
+ fi
+])
+
+dnl Find the right moc in path/qt_cv_dir
+AC_DEFUN([QT_FIND_MOC],
+[
+ QT_FIND_PATH(moc2, ac_moc2, $qt_cv_dir/bin)
+ QT_FIND_PATH(moc, ac_moc1, $qt_cv_dir/bin)
+
+ if test -n "$ac_moc1" -a -n "$ac_moc2"; then
+ dnl found both. Prefer Qt3's if it exists else moc2
+ $ac_moc1 -v 2>&1 | grep "Qt 3" >/dev/null
+ if test "$?" = 0; then
+ ac_moc=$ac_moc1;
+ else
+ ac_moc=$ac_moc2;
+ fi
+ else
+ if test -n "$ac_moc1"; then
+ ac_moc=$ac_moc1;
+ else
+ ac_moc=$ac_moc2;
+ fi
+ fi
+
+ if test -z "$ac_moc" -a "$FATAL" = 1; then
+ AC_MSG_ERROR([moc binary not found in \$PATH or $qt_cv_dir/bin !])
+ fi
+])
+
+dnl check a particular libname
+AC_DEFUN([QT_TRY_LINK],
+[
+ SAVE_LIBS="$LIBS"
+ LIBS="$LIBS $1"
+ AC_TRY_LINK([
+ #include <qglobal.h>
+ #include <qstring.h>
+ ],
+ [
+ QString s("mangle_failure");
+ #if (QT_VERSION < 221)
+ break_me_(\\\);
+ #endif
+ ],
+ qt_cv_libname=$1,
+ )
+ LIBS="$SAVE_LIBS"
+])
+
+dnl check we can do a compile
+AC_DEFUN([QT_CHECK_COMPILE],
+[
+ AC_MSG_CHECKING([for Qt library name])
+
+ AC_CACHE_VAL(qt_cv_libname,
+ [
+ AC_LANG_CPLUSPLUS
+ SAVE_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS"
+
+ for libname in -lqt-mt -lqt3 -lqt2 -lqt;
+ do
+ QT_TRY_LINK($libname)
+ if test -n "$qt_cv_libname"; then
+ break;
+ fi
+ done
+
+ CXXFLAGS=$SAVE_CXXFLAGS
+ ])
+
+ if test -z "$qt_cv_libname"; then
+ AC_MSG_RESULT([failed])
+ if test "$FATAL" = 1 ; then
+ AC_MSG_ERROR([Cannot compile a simple Qt executable. Check you have the right \$QTDIR !])
+ fi
+ else
+ AC_MSG_RESULT([$qt_cv_libname])
+ fi
+])
+
+dnl get Qt version we're using
+AC_DEFUN([QT_GET_VERSION],
+[
+ AC_CACHE_CHECK([Qt version],lyx_cv_qtversion,
+ [
+ AC_LANG_CPLUSPLUS
+ SAVE_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $QT_INCLUDES"
+
+ cat > conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+#include "confdefs.h"
+#include <qglobal.h>
+"%%%"QT_VERSION_STR"%%%"
+EOF
+ lyx_cv_qtversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
+ grep '^"%%%"' 2>/dev/null | \
+ sed -e 's/"%%%"//g' -e 's/"//g'`
+ rm -f conftest.$ac_ext
+ CPPFLAGS=$SAVE_CPPFLAGS
+ ])
+
+ QT_VERSION=$lyx_cv_qtversion
+ AC_SUBST(QT_VERSION)
+])
+
+dnl start here
+AC_DEFUN([QT_DO_IT_ALL],
+[
+ dnl Please leave this alone. I use this file in
+ dnl oprofile.
+ FATAL=0
+
+ AC_ARG_WITH(qt-dir, [ --with-qt-dir where the root of Qt is installed ],
+ [ qt_cv_dir=`eval echo "$withval"/` ])
+
+ AC_ARG_WITH(qt-includes, [ --with-qt-includes where the Qt includes are. ],
+ [ qt_cv_includes=`eval echo "$withval"` ])
+
+ AC_ARG_WITH(qt-libraries, [ --with-qt-libraries where the Qt library is installed.],
+ [ qt_cv_libraries=`eval echo "$withval"` ])
+
+ dnl pay attention to $QTDIR unless overridden
+ if test -z "$qt_cv_dir"; then
+ qt_cv_dir=$QTDIR
+ fi
+
+ dnl derive inc/lib if needed
+ if test -n "$qt_cv_dir"; then
+ if test -z "$qt_cv_includes"; then
+ qt_cv_includes=$qt_cv_dir/include
+ fi
+ if test -z "$qt_cv_libraries"; then
+ qt_cv_libraries=$qt_cv_dir/lib
+ fi
+ fi
+
+ dnl flags for compilation
+ QT_INCLUDES=
+ QT_LDFLAGS=
+ if test -n "$qt_cv_includes"; then
+ QT_INCLUDES="-I$qt_cv_includes"
+ fi
+ if test -n "$qt_cv_libraries"; then
+ QT_LDFLAGS="-L$qt_cv_libraries"
+ fi
+ AC_SUBST(QT_INCLUDES)
+ AC_SUBST(QT_LDFLAGS)
+
+ QT_FIND_MOC
+ MOC=$ac_moc
+ AC_SUBST(MOC)
+ QT_FIND_UIC
+ UIC=$ac_uic
+ AC_SUBST(UIC)
+
+ QT_CHECK_COMPILE
+
+ QT_LIB=$qt_cv_libname;
+ AC_SUBST(QT_LIB)
+
+ if test -n "$qt_cv_libname"; then
+ QT_GET_VERSION
+ fi
+])
+
+dnl AX_CXXFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CXX support it.
+AC_DEFUN([AX_CHECK_PRECOMPILED_HEADER], [
+AC_MSG_CHECKING([whether ${CXX} support precompiled header])
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+SAVE_CXXFLAGS=$CXXFLAGS
+dnl we consider than if -Winvalid-pch is accepted pch will works ...
+CXXFLAGS=-Winvalid-pch
+dnl but we don't want -Winvalid-pch else compilation will fail due -Werror and
+dnl the fact than some pch will be invalid for the given compilation option
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} -include bits/stdc++.h", AC_MSG_RESULT([no]))
+CXXFLAGS=$SAVE_CXXFLAGS
+AC_LANG_RESTORE
+])
+
+dnl AX_CHECK_DOCBOOK
+AC_DEFUN([AX_CHECK_DOCBOOK], [
+# It's just rude to go over the net to build
+XSLTPROC_FLAGS=--nonet
+DOCBOOK_ROOT=
+if test ! -f /etc/xml/catalog; then
+ for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/;
+ do
+ if test -d "$i"; then
+ DOCBOOK_ROOT=$i
+ fi
+ done
+
+ # Last resort - try net
+ if test -z "$DOCBOOK_ROOT"; then
+ XSLTPROC_FLAGS=
+ fi
+else
+ XML_CATALOG=/etc/xml/catalog
+ CAT_ENTRY_START='<!--'
+ CAT_ENTRY_END='-->'
+fi
+
+AC_CHECK_PROG(XSLTPROC,xsltproc,xsltproc,)
+XSLTPROC_WORKS=no
+if test -n "$XSLTPROC"; then
+ AC_MSG_CHECKING([whether xsltproc works])
+
+ if test -n "$XML_CATALOG"; then
+ DB_FILE="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"
+ else
+ DB_FILE="$DOCBOOK_ROOT/docbook.xsl"
+ fi
+
+ $XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
+<?xml version="1.0" encoding='ISO-8859-1'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<book id="test">
+</book>
+END
+ if test "$?" = 0; then
+ XSLTPROC_WORKS=yes
+ fi
+ AC_MSG_RESULT($XSLTPROC_WORKS)
+fi
+AM_CONDITIONAL(have_xsltproc, test "$XSLTPROC_WORKS" = "yes")
+
+AC_SUBST(XML_CATALOG)
+AC_SUBST(XSLTPROC_FLAGS)
+AC_SUBST(DOCBOOK_ROOT)
+AC_SUBST(CAT_ENTRY_START)
+AC_SUBST(CAT_ENTRY_END)
+])
+
+dnl AX_CFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CC support it.
+AC_DEFUN([AX_CFLAGS_OPTION], [
+AC_MSG_CHECKING([whether ${CC} $2 is understood])
+AC_LANG_SAVE
+AC_LANG_C
+SAVE_CFLAGS=$CFLAGS
+CFLAGS=$2
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
+CFLAGS=$SAVE_CFLAGS
+AC_LANG_RESTORE
+])
+
+
+dnl AX_CXXFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CXX support it.
+AC_DEFUN([AX_CXXFLAGS_OPTION], [
+AC_MSG_CHECKING([whether ${CXX} $2 is understood])
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+SAVE_CXXFLAGS=$CXXFLAGS
+CXXFLAGS=$2
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
+CXXFLAGS=$SAVE_CXXFLAGS
+AC_LANG_RESTORE
+])
+
+dnl AX_COPY_IF_CHANGE(source, dest)
+dnl copy source to dest if they don't compare equally or if dest doesn't exist
+AC_DEFUN([AX_COPY_IF_CHANGE], [
+if test -r $2; then
+ if cmp $1 $2 > /dev/null; then
+ echo $2 is unchanged
+ else
+ cp -f $1 $2
+ fi
+else
+ cp -f $1 $2
+fi
+])
+
diff --git a/meta/packages/oprofile/oprofile-0.9.1/no_arm_mapping_syms.patch b/meta/packages/oprofile/oprofile-0.9.1/no_arm_mapping_syms.patch
new file mode 100644
index 0000000000..4c07e5c735
--- /dev/null
+++ b/meta/packages/oprofile/oprofile-0.9.1/no_arm_mapping_syms.patch
@@ -0,0 +1,21 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: oprofile-0.9/libutil++/bfd_support.cpp
+===================================================================
+--- oprofile-0.9.orig/libutil++/bfd_support.cpp 2005-05-05 15:43:46.000000000 +0100
++++ oprofile-0.9/libutil++/bfd_support.cpp 2005-06-10 10:18:24.000000000 +0100
+@@ -330,6 +330,11 @@
+ // returning true for fix up in op_bfd_symbol()
+ if (!sym->name || sym->name[0] == '\0')
+ return true;
++ /* ARM assembler internal mapping symbols aren't interesting */
++ if ((strcmp("$a", sym->name) == 0) ||
++ (strcmp("$t", sym->name) == 0) ||
++ (strcmp("$d", sym->name) == 0))
++ return false;
+
+ // C++ exception stuff
+ if (sym->name[0] == '.' && sym->name[1] == 'L')
diff --git a/meta/packages/oprofile/oprofile/acinclude.m4 b/meta/packages/oprofile/oprofile/acinclude.m4
new file mode 100644
index 0000000000..ffaa8288df
--- /dev/null
+++ b/meta/packages/oprofile/oprofile/acinclude.m4
@@ -0,0 +1,600 @@
+dnl AX_KERNEL_OPTION(option, action-if-found, action-if-not-found)
+dnl see if autoconf.h defines the option
+AC_DEFUN([AX_KERNEL_OPTION], [
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-I$KINC -O2 -D__KERNEL__"
+AC_TRY_COMPILE( [#include <linux/config.h>],
+[
+#ifndef $1
+break_me_hard(\\\);
+#endif
+],[$2],[$3],)
+CFLAGS=$SAVE_CFLAGS
+])
+
+dnl Handle the 2.4 module inside module/
+AC_DEFUN([AX_CONFIG_MODULE],
+[
+if test ! -f $KINC/linux/autoconf.h; then
+ AC_MSG_ERROR([no suitably configured kernel include tree found])
+fi
+
+dnl --- Get Linux kernel version and compile parameters ---
+
+AC_SUBST(KVERS)
+AC_MSG_CHECKING([for kernel version])
+dnl it's like this to handle mandrake's fubar version.h - bug #471448
+eval KVERS=`gcc -I$KINC -E -dM $KINC/linux/version.h | grep -w UTS_RELEASE | awk '{print $[]3}'`
+AC_MSG_RESULT([$KVERS])
+case "$KVERS" in
+2.2.*|2.4.*) ;;
+*) AC_MSG_ERROR([Unsupported kernel version])
+esac
+
+dnl Check for the minimal kernel version supported
+AC_MSG_CHECKING([kernel version])
+AX_KERNEL_VERSION(2, 2, 10, <=, AC_MSG_RESULT([ok]), AC_MSG_ERROR([check html documentation install section]))
+
+dnl linux/spinlock.h added at some point in past
+AC_MSG_CHECKING([for $KINC/linux/spinlock.h])
+if test -f $KINC/linux/spinlock.h; then
+ EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DHAVE_LINUX_SPINLOCK_HEADER"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+AC_MSG_CHECKING([for rtc_lock])
+gcc -I$KINC -E $KINC/linux/mc146818rtc.h | grep rtc_lock >/dev/null
+if test "$?" -eq 0; then
+ EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DRTC_LOCK"
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+arch="unknown"
+AC_MSG_CHECKING(for x86-64 architecture)
+AX_KERNEL_OPTION(CONFIG_X86_64, x8664=1, x8664=0)
+AX_MSG_RESULT_YN($x8664)
+BUILD_HAMMER=no
+if test "$x8664" -eq 1; then
+ arch="x86"
+ BUILD_HAMMER=yes
+else
+ AC_MSG_CHECKING(for x86 architecture)
+ AX_KERNEL_OPTION(CONFIG_X86, x86=1, x86=0)
+ AX_KERNEL_OPTION(CONFIG_X86_WP_WORKS_OK, x86=1, x86=$x86)
+ AX_MSG_RESULT_YN($x86)
+ test "$x86" = 1 && arch="x86"
+
+ if test "$arch" = "unknown"; then
+ AC_MSG_CHECKING(for ia64 architecture)
+ AX_KERNEL_OPTION(CONFIG_IA64, ia64=1, ia64=0)
+ AX_MSG_RESULT_YN($ia64)
+ test "$ia64" = 1 && arch="ia64"
+ fi
+
+fi
+AC_SUBST(BUILD_HAMMER)
+
+test "$arch" = "unknown" && AC_MSG_ERROR(Unsupported architecture)
+
+dnl check to see if kernel verion appropriate for arch
+AC_MSG_CHECKING(arch/kernel version combination)
+case "$arch" in
+ia64)
+ AX_KERNEL_VERSION(2, 4, 18, <, AC_MSG_RESULT([ok]),
+ AC_MSG_ERROR([unsupported arch/kernel])) ;;
+*) AC_MSG_RESULT([ok])
+esac
+
+dnl for now we do not support PREEMPT patch
+AC_MSG_CHECKING([for preempt patch])
+AX_KERNEL_OPTION(CONFIG_PREEMPT,preempt=1,preempt=0)
+AX_MSG_RESULT_YN([$preempt])
+test "$preempt" = 0 || AC_MSG_ERROR([unsupported kernel configuration : CONFIG_PREEMPT])
+
+AC_SUBST(KINC)
+
+MODINSTALLDIR=/lib/modules/$KVERS
+
+OPROFILE_MODULE_ARCH=$arch
+AC_SUBST(OPROFILE_MODULE_ARCH)
+]
+)
+
+dnl AX_KERNEL_VERSION(major, minor, level, comparison, action-if-true, action-if-false)
+AC_DEFUN([AX_KERNEL_VERSION], [
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-I$KINC -D__KERNEL__ -Werror"
+AC_TRY_COMPILE(
+ [
+ #include <linux/version.h>
+ #include <linux/config.h>
+ ],
+ [
+ #if LINUX_VERSION_CODE $4 KERNEL_VERSION($1, $2, $3)
+ break_me_hard(\\\);
+ #endif
+ ],
+[$5],[$6],)
+CFLAGS=$SAVE_CFLAGS
+])
+
+
+dnl AX_MSG_RESULT_YN(a)
+dnl results "yes" iff a==1, "no" else
+AC_DEFUN([AX_MSG_RESULT_YN], [x=no
+test "x$1" = "x1" && x=yes
+AC_MSG_RESULT($x)])
+
+dnl AX_MALLOC_ATTRIBUTE - see if gcc will take __attribute__((malloc))
+AC_DEFUN([AX_MALLOC_ATTRIBUTE],
+[
+AC_MSG_CHECKING([whether malloc attribute is understood])
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+AC_TRY_COMPILE(,[
+void monkey() __attribute__((malloc));
+],AC_MSG_RESULT([yes]); AC_DEFINE(MALLOC_ATTRIBUTE_OK, 1, [whether malloc attribute is understood]), AC_MSG_RESULT([no]))
+CFLAGS=$SAVE_CFLAGS
+]
+)
+
+dnl builtin_expect is used in module we can't add that in config.h
+AC_DEFUN([AX_BUILTIN_EXPECT],
+[
+AC_MSG_CHECKING([whether __builtin_expect is understood])
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+AC_TRY_LINK(,[
+int i;
+if (__builtin_expect(i, 0)) { }
+],
+AC_MSG_RESULT([yes]); EXTRA_CFLAGS_MODULE="$EXTRA_CFLAGS_MODULE -DEXPECT_OK",
+AC_MSG_RESULT([no]);)
+CFLAGS=$SAVE_CFLAGS
+]
+)
+
+dnl AX_EXTRA_DIRS - Let user specify extra dirs for include/libs
+AC_DEFUN([AX_EXTRA_DIRS],
+[
+AC_ARG_WITH(extra-includes,
+[ --with-extra-includes=DIR add extra include paths],
+ use_extra_includes="$withval",
+ use_extra_includes=NO
+)
+if test -n "$use_extra_includes" && \
+ test "$use_extra_includes" != "NO"; then
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $use_extra_includes; do
+ extra_includes="$extra_includes -I$dir"
+ done
+ IFS=$ac_save_ifs
+ CPPFLAGS="$CPPFLAGS $extra_includes"
+fi
+
+AC_ARG_WITH(extra-libs,
+[ --with-extra-libs=DIR add extra library paths],
+ use_extra_libs=$withval,
+ use_extra_libs=NO
+)
+if test -n "$use_extra_libs" && \
+ test "$use_extra_libs" != "NO"; then
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $use_extra_libs; do
+ extra_libraries="$extra_libraries -L$dir"
+ done
+ IFS=$ac_save_ifs
+ LDFLAGS="$LDFLAGS $extra_libraries"
+fi
+]
+)
+
+dnl AX_POPT_CONST - check popt prototype
+AC_DEFUN([AX_POPT_CONST],
+[
+AC_MSG_CHECKING([popt prototype])
+SAVE_CXXFLAGS=$CXXFLAGS
+CXXFLAGS="-Werror $CXXFLAGS"
+AC_TRY_COMPILE([#include <popt.h>],
+[
+int c; char **v;
+poptGetContext(0, c, v, 0, 0);
+],
+AC_MSG_RESULT([takes char **]);,
+AC_MSG_RESULT([takes const char **]); AC_DEFINE(CONST_POPT, 1, [whether popt prototype takes a const char **]))
+CXXFLAGS="$SAVE_CXXFLAGS"
+]
+)
+
+dnl AX_CHECK_SSTREAM - check if local sstream is needed to compile OK
+AC_DEFUN([AX_CHECK_SSTREAM],
+[
+AC_MSG_CHECKING([whether to use included sstream])
+AC_TRY_COMPILE([#include <sstream>], [],
+AC_MSG_RESULT([no]);,
+AC_MSG_RESULT([yes]); OP_CXXFLAGS="$OP_CXXFLAGS -I\${top_srcdir}/include")
+]
+)
+
+dnl AX_CHECK_TYPEDEF(typedef_name, type, action-if-true, action-if-false)
+dnl exec action-if-true if typedef_name is a typedef to type else exec
+dnl action-if-false
+dnl currently work only with type typedef'ed in stddef.h
+AC_DEFUN([AX_CHECK_TYPEDEF], [
+dnl AC_LANG_PUSH(C) not in autoconf 2.13
+AC_LANG_SAVE
+AC_LANG_C
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="-Werror $CFLAGS"
+
+AC_TRY_COMPILE(
+ [
+ #include <stddef.h>
+ ],
+ [
+ typedef void (*fct1)($1);
+ typedef void (*fct2)($2);
+ fct1 f1 = 0;
+ fct2 f2 = 0;
+ if (f1 == f2) {}
+ ],
+[$3],[$4])
+
+CFLAGS=$SAVE_CFLAGS
+AC_LANG_RESTORE
+])
+
+
+dnl AX_TYPEDEFED_NAME(typedef_name, candidate_list, var_name)
+dnl set var_name to the typedef name of $1 which must be in canditate_list
+dnl else produce a fatal error
+AC_DEFUN([AX_TYPEDEFED_NAME], [
+ AC_MSG_CHECKING([type of $1])
+ for f in $2; do
+ AX_CHECK_TYPEDEF($1, $f, $3="$f", $3="")
+ if test -n "${$3}"; then
+ break
+ fi
+ done
+ if test -n "${$3}"; then
+ AC_MSG_RESULT([${$3}])
+ else
+ AC_MSG_ERROR([not found])
+ fi
+])
+
+dnl find a binary in the path
+AC_DEFUN([QT_FIND_PATH],
+[
+ AC_MSG_CHECKING([for $1])
+ AC_CACHE_VAL(qt_cv_path_$1,
+ [
+ qt_cv_path_$1="NONE"
+ if test -n "$$2"; then
+ qt_cv_path_$1="$$2";
+ else
+ dirs="$3"
+ qt_save_IFS=$IFS
+ IFS=':'
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ IFS=$qt_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/$1"; then
+ if test -n "$5"; then
+ evalstr="$dir/$1 $5 2>&1 "
+ if eval $evalstr; then
+ qt_cv_path_$1="$dir/$1"
+ break
+ fi
+ else
+ qt_cv_path_$1="$dir/$1"
+ break
+ fi
+ fi
+ done
+ fi
+ ])
+
+ if test -z "$qt_cv_path_$1" || test "$qt_cv_path_$1" = "NONE"; then
+ AC_MSG_RESULT(not found)
+ $4
+ else
+ AC_MSG_RESULT($qt_cv_path_$1)
+ $2=$qt_cv_path_$1
+ fi
+])
+
+dnl Find the uic compiler on the path or in qt_cv_dir
+AC_DEFUN([QT_FIND_UIC],
+[
+ QT_FIND_PATH(uic, ac_uic, $qt_cv_dir/bin)
+ if test -z "$ac_uic" -a "$FATAL" = 1; then
+ AC_MSG_ERROR([uic binary not found in \$PATH or $qt_cv_dir/bin !])
+ fi
+])
+
+dnl Find the right moc in path/qt_cv_dir
+AC_DEFUN([QT_FIND_MOC],
+[
+ QT_FIND_PATH(moc2, ac_moc2, $qt_cv_dir/bin)
+ QT_FIND_PATH(moc, ac_moc1, $qt_cv_dir/bin)
+
+ if test -n "$ac_moc1" -a -n "$ac_moc2"; then
+ dnl found both. Prefer Qt3's if it exists else moc2
+ $ac_moc1 -v 2>&1 | grep "Qt 3" >/dev/null
+ if test "$?" = 0; then
+ ac_moc=$ac_moc1;
+ else
+ ac_moc=$ac_moc2;
+ fi
+ else
+ if test -n "$ac_moc1"; then
+ ac_moc=$ac_moc1;
+ else
+ ac_moc=$ac_moc2;
+ fi
+ fi
+
+ if test -z "$ac_moc" -a "$FATAL" = 1; then
+ AC_MSG_ERROR([moc binary not found in \$PATH or $qt_cv_dir/bin !])
+ fi
+])
+
+dnl check a particular libname
+AC_DEFUN([QT_TRY_LINK],
+[
+ SAVE_LIBS="$LIBS"
+ LIBS="$LIBS $1"
+ AC_TRY_LINK([
+ #include <qglobal.h>
+ #include <qstring.h>
+ ],
+ [
+ QString s("mangle_failure");
+ #if (QT_VERSION < 221)
+ break_me_(\\\);
+ #endif
+ ],
+ qt_cv_libname=$1,
+ )
+ LIBS="$SAVE_LIBS"
+])
+
+dnl check we can do a compile
+AC_DEFUN([QT_CHECK_COMPILE],
+[
+ AC_MSG_CHECKING([for Qt library name])
+
+ AC_CACHE_VAL(qt_cv_libname,
+ [
+ AC_LANG_CPLUSPLUS
+ SAVE_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $QT_INCLUDES $QT_LDFLAGS"
+
+ for libname in -lqt-mt -lqt3 -lqt2 -lqt;
+ do
+ QT_TRY_LINK($libname)
+ if test -n "$qt_cv_libname"; then
+ break;
+ fi
+ done
+
+ CXXFLAGS=$SAVE_CXXFLAGS
+ ])
+
+ if test -z "$qt_cv_libname"; then
+ AC_MSG_RESULT([failed])
+ if test "$FATAL" = 1 ; then
+ AC_MSG_ERROR([Cannot compile a simple Qt executable. Check you have the right \$QTDIR !])
+ fi
+ else
+ AC_MSG_RESULT([$qt_cv_libname])
+ fi
+])
+
+dnl get Qt version we're using
+AC_DEFUN([QT_GET_VERSION],
+[
+ AC_CACHE_CHECK([Qt version],lyx_cv_qtversion,
+ [
+ AC_LANG_CPLUSPLUS
+ SAVE_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $QT_INCLUDES"
+
+ cat > conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+#include "confdefs.h"
+#include <qglobal.h>
+"%%%"QT_VERSION_STR"%%%"
+EOF
+ lyx_cv_qtversion=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | \
+ grep '^"%%%"' 2>/dev/null | \
+ sed -e 's/"%%%"//g' -e 's/"//g'`
+ rm -f conftest.$ac_ext
+ CPPFLAGS=$SAVE_CPPFLAGS
+ ])
+
+ QT_VERSION=$lyx_cv_qtversion
+ AC_SUBST(QT_VERSION)
+])
+
+dnl start here
+AC_DEFUN([QT_DO_IT_ALL],
+[
+ dnl Please leave this alone. I use this file in
+ dnl oprofile.
+ FATAL=0
+
+ AC_ARG_WITH(qt-dir, [ --with-qt-dir where the root of Qt is installed ],
+ [ qt_cv_dir=`eval echo "$withval"/` ])
+
+ AC_ARG_WITH(qt-includes, [ --with-qt-includes where the Qt includes are. ],
+ [ qt_cv_includes=`eval echo "$withval"` ])
+
+ AC_ARG_WITH(qt-libraries, [ --with-qt-libraries where the Qt library is installed.],
+ [ qt_cv_libraries=`eval echo "$withval"` ])
+
+ dnl pay attention to $QTDIR unless overridden
+ if test -z "$qt_cv_dir"; then
+ qt_cv_dir=$QTDIR
+ fi
+
+ dnl derive inc/lib if needed
+ if test -n "$qt_cv_dir"; then
+ if test -z "$qt_cv_includes"; then
+ qt_cv_includes=$qt_cv_dir/include
+ fi
+ if test -z "$qt_cv_libraries"; then
+ qt_cv_libraries=$qt_cv_dir/lib
+ fi
+ fi
+
+ dnl flags for compilation
+ QT_INCLUDES=
+ QT_LDFLAGS=
+ if test -n "$qt_cv_includes"; then
+ QT_INCLUDES="-I$qt_cv_includes"
+ fi
+ if test -n "$qt_cv_libraries"; then
+ QT_LDFLAGS="-L$qt_cv_libraries"
+ fi
+ AC_SUBST(QT_INCLUDES)
+ AC_SUBST(QT_LDFLAGS)
+
+ QT_FIND_MOC
+ MOC=$ac_moc
+ AC_SUBST(MOC)
+ QT_FIND_UIC
+ UIC=$ac_uic
+ AC_SUBST(UIC)
+
+ QT_CHECK_COMPILE
+
+ QT_LIB=$qt_cv_libname;
+ AC_SUBST(QT_LIB)
+
+ if test -n "$qt_cv_libname"; then
+ QT_GET_VERSION
+ fi
+])
+
+dnl AX_CXXFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CXX support it.
+AC_DEFUN([AX_CHECK_PRECOMPILED_HEADER], [
+AC_MSG_CHECKING([whether ${CXX} support precompiled header])
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+SAVE_CXXFLAGS=$CXXFLAGS
+dnl we consider than if -Winvalid-pch is accepted pch will works ...
+CXXFLAGS=-Winvalid-pch
+dnl but we don't want -Winvalid-pch else compilation will fail due -Werror and
+dnl the fact than some pch will be invalid for the given compilation option
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} -include bits/stdc++.h", AC_MSG_RESULT([no]))
+CXXFLAGS=$SAVE_CXXFLAGS
+AC_LANG_RESTORE
+])
+
+dnl AX_CHECK_DOCBOOK
+AC_DEFUN([AX_CHECK_DOCBOOK], [
+# It's just rude to go over the net to build
+XSLTPROC_FLAGS=--nonet
+DOCBOOK_ROOT=
+if test ! -f /etc/xml/catalog; then
+ for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/;
+ do
+ if test -d "$i"; then
+ DOCBOOK_ROOT=$i
+ fi
+ done
+
+ # Last resort - try net
+ if test -z "$DOCBOOK_ROOT"; then
+ XSLTPROC_FLAGS=
+ fi
+else
+ XML_CATALOG=/etc/xml/catalog
+ CAT_ENTRY_START='<!--'
+ CAT_ENTRY_END='-->'
+fi
+
+AC_CHECK_PROG(XSLTPROC,xsltproc,xsltproc,)
+XSLTPROC_WORKS=no
+if test -n "$XSLTPROC"; then
+ AC_MSG_CHECKING([whether xsltproc works])
+
+ if test -n "$XML_CATALOG"; then
+ DB_FILE="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"
+ else
+ DB_FILE="$DOCBOOK_ROOT/docbook.xsl"
+ fi
+
+ $XSLTPROC $XSLTPROC_FLAGS $DB_FILE >/dev/null 2>&1 << END
+<?xml version="1.0" encoding='ISO-8859-1'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<book id="test">
+</book>
+END
+ if test "$?" = 0; then
+ XSLTPROC_WORKS=yes
+ fi
+ AC_MSG_RESULT($XSLTPROC_WORKS)
+fi
+AM_CONDITIONAL(have_xsltproc, test "$XSLTPROC_WORKS" = "yes")
+
+AC_SUBST(XML_CATALOG)
+AC_SUBST(XSLTPROC_FLAGS)
+AC_SUBST(DOCBOOK_ROOT)
+AC_SUBST(CAT_ENTRY_START)
+AC_SUBST(CAT_ENTRY_END)
+])
+
+dnl AX_CFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CC support it.
+AC_DEFUN([AX_CFLAGS_OPTION], [
+AC_MSG_CHECKING([whether ${CC} $2 is understood])
+AC_LANG_SAVE
+AC_LANG_C
+SAVE_CFLAGS=$CFLAGS
+CFLAGS=$2
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
+CFLAGS=$SAVE_CFLAGS
+AC_LANG_RESTORE
+])
+
+
+dnl AX_CXXFLAGS_OPTIONS(var-name, option)
+dnl add option to var-name if $CXX support it.
+AC_DEFUN([AX_CXXFLAGS_OPTION], [
+AC_MSG_CHECKING([whether ${CXX} $2 is understood])
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+SAVE_CXXFLAGS=$CXXFLAGS
+CXXFLAGS=$2
+AC_TRY_COMPILE(,[;],AC_MSG_RESULT([yes]); $1="${$1} $2",AC_MSG_RESULT([no]))
+CXXFLAGS=$SAVE_CXXFLAGS
+AC_LANG_RESTORE
+])
+
+dnl AX_COPY_IF_CHANGE(source, dest)
+dnl copy source to dest if they don't compare equally or if dest doesn't exist
+AC_DEFUN([AX_COPY_IF_CHANGE], [
+if test -r $2; then
+ if cmp $1 $2 > /dev/null; then
+ echo $2 is unchanged
+ else
+ cp -f $1 $2
+ fi
+else
+ cp -f $1 $2
+fi
+])
+
diff --git a/meta/packages/oprofile/oprofile/no_arm_mapping_syms.patch b/meta/packages/oprofile/oprofile/no_arm_mapping_syms.patch
new file mode 100644
index 0000000000..4c07e5c735
--- /dev/null
+++ b/meta/packages/oprofile/oprofile/no_arm_mapping_syms.patch
@@ -0,0 +1,21 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: oprofile-0.9/libutil++/bfd_support.cpp
+===================================================================
+--- oprofile-0.9.orig/libutil++/bfd_support.cpp 2005-05-05 15:43:46.000000000 +0100
++++ oprofile-0.9/libutil++/bfd_support.cpp 2005-06-10 10:18:24.000000000 +0100
+@@ -330,6 +330,11 @@
+ // returning true for fix up in op_bfd_symbol()
+ if (!sym->name || sym->name[0] == '\0')
+ return true;
++ /* ARM assembler internal mapping symbols aren't interesting */
++ if ((strcmp("$a", sym->name) == 0) ||
++ (strcmp("$t", sym->name) == 0) ||
++ (strcmp("$d", sym->name) == 0))
++ return false;
+
+ // C++ exception stuff
+ if (sym->name[0] == '.' && sym->name[1] == 'L')
diff --git a/meta/packages/oprofile/oprofile_0.9.1.bb b/meta/packages/oprofile/oprofile_0.9.1.bb
new file mode 100644
index 0000000000..1cbb05d418
--- /dev/null
+++ b/meta/packages/oprofile/oprofile_0.9.1.bb
@@ -0,0 +1,39 @@
+SECTION = "devel"
+DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
+of profiling all running code at low overhead."
+LICENSE = "GPL"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+DEPENDS = "popt binutils"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/oprofile/oprofile-${PV}.tar.gz \
+ file://no_arm_mapping_syms.patch;patch=1 \
+ file://acinclude.m4"
+S = "${WORKDIR}/oprofile-${PV}"
+
+inherit autotools
+
+# NOTE: this disables the build of the kernel modules.
+# Should add the oprofile kernel modules, for those with 2.4
+# kernels, as a seperate .oe file.
+EXTRA_OECONF = "--with-kernel-support \
+ --without-x"
+
+do_configure () {
+ cp ${WORKDIR}/acinclude.m4 ${S}/
+ autotools_do_configure
+}
+# Available config options
+# --enable-abi enable abi portability code (default is disabled)
+# --enable-pch enable precompiled header (default is disabled)
+# --enable-gcov enable option for gcov coverage testing (default is disabled)
+# --disable-werror disable -Werror flag (default is enabled for non-release)
+# --disable-optimization disable optimization flags (default is enabled)
+# --with-kernel-support Use 2.6 kernel (no kernel source tree required)
+# --with-linux=dir Path to Linux source tree
+# --with-module-dir=dir Path to module installation directory
+# --with-extra-includes=DIR add extra include paths
+# --with-extra-libs=DIR add extra library paths
+# --with-x use the X Window System
+# --with-qt-dir where the root of Qt is installed
+# --with-qt-includes where the Qt includes are.
+# --with-qt-libraries where the Qt library is installed.
diff --git a/meta/packages/oprofile/oprofile_cvs.bb b/meta/packages/oprofile/oprofile_cvs.bb
new file mode 100644
index 0000000000..73ded09a16
--- /dev/null
+++ b/meta/packages/oprofile/oprofile_cvs.bb
@@ -0,0 +1,41 @@
+PV = "0.9.1+cvs${SRCDATE}"
+SECTION = "devel"
+DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
+of profiling all running code at low overhead."
+LICENSE = "GPL"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+DEPENDS = "popt binutils"
+
+SRC_URI = "cvs://anonymous@oprofile.cvs.sourceforge.net/cvsroot/oprofile;module=oprofile \
+ file://no_arm_mapping_syms.patch;patch=1 \
+ file://acinclude.m4"
+S = "${WORKDIR}/oprofile"
+
+inherit autotools
+
+# NOTE: this disables the build of the kernel modules.
+# Should add the oprofile kernel modules, for those with 2.4
+# kernels, as a seperate .oe file.
+EXTRA_OECONF = "--with-kernel-support \
+ --without-x \
+ --disable-werror "
+
+do_configure () {
+ cp ${WORKDIR}/acinclude.m4 ${S}/
+ autotools_do_configure
+}
+# Available config options
+# --enable-abi enable abi portability code (default is disabled)
+# --enable-pch enable precompiled header (default is disabled)
+# --enable-gcov enable option for gcov coverage testing (default is disabled)
+# --disable-werror disable -Werror flag (default is enabled for non-release)
+# --disable-optimization disable optimization flags (default is enabled)
+# --with-kernel-support Use 2.6 kernel (no kernel source tree required)
+# --with-linux=dir Path to Linux source tree
+# --with-module-dir=dir Path to module installation directory
+# --with-extra-includes=DIR add extra include paths
+# --with-extra-libs=DIR add extra library paths
+# --with-x use the X Window System
+# --with-qt-dir where the root of Qt is installed
+# --with-qt-includes where the Qt includes are.
+# --with-qt-libraries where the Qt library is installed.
diff --git a/meta/packages/orinoco/files/hermes.conf b/meta/packages/orinoco/files/hermes.conf
new file mode 100644
index 0000000000..4937d356f2
--- /dev/null
+++ b/meta/packages/orinoco/files/hermes.conf
@@ -0,0 +1,85 @@
+device "orinoco_cs"
+ class "network"
+ module "hermes", "orinoco", "orinoco_cs"
+
+device "spectrum_cs"
+ class "network" module "hermes", "orinoco", "spectrum_cs"
+
+
+# This manfid was used for cards with Lucent/Agere and Intersil firmware.
+# orinoco_cs supports both types, so we don't need to distinguish them.
+
+card "Orinoco or Intersil Prism 2 Wireless"
+ manfid 0x0156,0x0002
+ bind "orinoco_cs"
+
+
+# Cards with Lucent/Agere firmware (Hermes chipset)
+
+card "Lucent Technologies Wavelan/IEEE"
+ version "Lucent Technologies", "WaveLAN/IEEE"
+ bind "orinoco_cs"
+
+card "Avaya World Card"
+ version "Avaya Communication", "Avaya Wireless PC Card"
+ bind "orinoco_cs"
+
+card "Cabletron RoamAbout 802.11 DS"
+ version "Cabletron", "RoamAbout 802.11 DS"
+ bind "orinoco_cs"
+
+card "ELSA AirLancer MC-11"
+ version "ELSA", "AirLancer MC-11"
+ bind "orinoco_cs"
+
+card "MELCO WLI-PCM-L11"
+ version "MELCO", "WLI-PCM-L11"
+ bind "orinoco_cs"
+
+card "ARtem Onair"
+ version "ARtem", "Onair"
+ bind "orinoco_cs"
+
+
+# Cards with Symbol firmware in flash (Spectrum24 chipset)
+
+card "LA4111 Spectrum24 Wireless LAN PC Card"
+ version "Symbol Technologies"
+ bind "orinoco_cs"
+
+card "3Com AirConnect"
+ version "3Com", "3CRWE737A AirConnect Wireless LAN PC Card"
+ bind "orinoco_cs"
+
+card "Intel PRO/Wireless 2011"
+ manfid 0x0089,0x0001
+ bind "orinoco_cs"
+
+card "Ericsson WLAN Card C11"
+ manfid 0x016b,0x0001
+ bind "orinoco_cs"
+
+card "Nortel Networks e-mobility 802.11 Wireless LAN PC Card"
+ version "Nortel Networks", "emobility 802.11 Wireless LAN PC Card", "1.00"
+ bind "orinoco_cs"
+
+card "D-Link DWL-650H"
+ version "D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter"
+ bind "orinoco_cs"
+
+
+# Cards with Symbol firmware without flash memory (Spectrum24 Trilogy).
+# These cards need a separate driver that loads the firmware.
+
+card "LA4100 Spectrum24 CF WLAN Card"
+ manfid 0x026c, 0x0001
+ bind "spectrum_cs"
+
+card "Socket Communications CF+ LP WLAN Card"
+ manfid 0x0104, 0x0001
+ bind "spectrum_cs"
+
+card "Intel PRO/Wireless 2011B"
+ manfid 0x0089, 0x0001
+ bind "spectrum_cs"
+
diff --git a/meta/packages/orinoco/files/orinoco_cs.conf b/meta/packages/orinoco/files/orinoco_cs.conf
new file mode 100644
index 0000000000..8d3db61d13
--- /dev/null
+++ b/meta/packages/orinoco/files/orinoco_cs.conf
@@ -0,0 +1,2 @@
+options orinoco_cs ignore_cis_vcc=1
+
diff --git a/meta/packages/orinoco/files/spectrum.conf b/meta/packages/orinoco/files/spectrum.conf
new file mode 100644
index 0000000000..849455537e
--- /dev/null
+++ b/meta/packages/orinoco/files/spectrum.conf
@@ -0,0 +1,18 @@
+device "spectrum_cs"
+ class "network" module "hermes", "orinoco", "spectrum_cs"
+
+card "LA4100 Spectrum24 CF WLAN Card"
+ manfid 0x026c, 0x0001
+ bind "spectrum_cs"
+
+card "LA4137 Spectrum24 CF WLAN CARD"
+ manfid 0x014d, 0x0001
+ bind "spectrum_cs"
+
+card "Socket Communications CF+ LP WLAN Card"
+ manfid 0x0104, 0x0001
+ bind "spectrum_cs"
+
+card "Intel PRO/Wireless 2011B"
+ manfid 0x0089, 0x0001
+ bind "spectrum_cs"
diff --git a/meta/packages/orinoco/files/spectrum_fw.h b/meta/packages/orinoco/files/spectrum_fw.h
new file mode 100644
index 0000000000..94c825d372
--- /dev/null
+++ b/meta/packages/orinoco/files/spectrum_fw.h
@@ -0,0 +1,4569 @@
+unsigned char primsym[] = {
+0x46,0x49,0x4c,0x45,0x3a,0x20,0x45,0x50,0x52,0x49,0x4d,0x53,0x59,0x4d,0x2c,0x54,
+0x33,0x2e,0x37,0x30,0x2d,0x32,0x37,0x2c,0x46,0x33,0x2e,0x37,0x30,0x2d,0x32,0x37,
+0x2c,0x31,0x32,0x2f,0x31,0x31,0x2f,0x32,0x30,0x30,0x32,0x20,0x50,0x52,0x49,0x4d,
+0x41,0x52,0x59,0x20,0x33,0x20,0x37,0x32,0x20,0x33,0x36,0x20,0x34,0x30,0x0a,0x1a,
+0xfe,0x17,0x7e,0x00,0x02,0x00,0xff,0xff,0x00,0x00,0x7e,0x00,0xfc,0x0f,0x00,0x64,
+0x90,0xff,0x00,0xf7,0x20,0xfe,0x00,0x64,0x91,0xff,0x01,0xf7,0x20,0xfe,0x00,0x64,
+0x92,0xff,0x02,0xf7,0x20,0xfe,0x00,0x64,0x93,0xff,0x03,0xf7,0x20,0xfe,0x00,0x64,
+0x94,0xff,0x04,0xf7,0x20,0xfe,0x00,0x64,0x95,0xff,0x05,0xf7,0x20,0xfe,0x00,0x64,
+0x96,0xff,0x06,0xf7,0x20,0xfe,0x00,0x64,0x97,0xff,0x07,0x04,0x30,0x44,0x04,0xa8,
+0xff,0xff,0x11,0x03,0x00,0x60,0xf6,0x78,0xff,0xff,0x87,0xff,0x8a,0xff,0x98,0xff,
+0x20,0xfe,0x44,0x41,0x00,0x64,0x64,0x40,0x10,0x2b,0x04,0x64,0x40,0x51,0x00,0x64,
+0x40,0x50,0x00,0x64,0x40,0x40,0x99,0xff,0x08,0x60,0x2a,0x62,0x04,0x60,0xff,0x64,
+0xa2,0xdb,0x04,0x60,0xff,0xe5,0xff,0xff,0xff,0xff,0x98,0xff,0x08,0x60,0x28,0x62,
+0x28,0x60,0x10,0x64,0xa2,0xdb,0x28,0x60,0x31,0x40,0x04,0x26,0xa8,0x60,0x99,0xff,
+0x10,0xe4,0xff,0xff,0xff,0xff,0x98,0xff,0x55,0x60,0xfc,0xe0,0xa0,0xfe,0xa1,0xfe,
+0xa2,0xfe,0xa3,0xfe,0xa4,0xfe,0xa5,0xfe,0xa6,0xfe,0xa7,0xfe,0xa8,0xfe,0xa9,0xfe,
+0xaa,0xfe,0xab,0xfe,0xac,0xfe,0xad,0xfe,0xae,0xfe,0xaf,0xfe,0xb0,0xfe,0xb1,0xfe,
+0xb2,0xfe,0xb3,0xfe,0xb4,0xfe,0xb5,0xfe,0xb6,0xfe,0xb7,0xfe,0xb8,0xfe,0xb9,0xfe,
+0xba,0xfe,0xbb,0xfe,0xbc,0xfe,0xbd,0xfe,0xbe,0xfe,0xbf,0xfe,0x99,0xff,0x18,0xec,
+0x0e,0xe3,0x12,0xe3,0x1d,0xe3,0x22,0xe3,0x2a,0xe3,0x32,0xe3,0x3a,0xe3,0x10,0xed,
+0x42,0xe3,0x4a,0xe3,0x52,0xe3,0x5a,0xe3,0x62,0xe3,0x68,0xe3,0x70,0xe3,0x7a,0xe3,
+0x04,0xee,0x82,0xe3,0x8a,0xe3,0x92,0xe3,0x9a,0xe3,0xa2,0xe3,0xaa,0xe3,0xb2,0xe3,
+0xba,0xe3,0x21,0x60,0x7d,0xe7,0x68,0x60,0x7d,0xe7,0x10,0x60,0x7d,0xe7,0x7d,0xe7,
+0xf0,0x60,0x7d,0xe7,0xa5,0x60,0x7d,0xe7,0x7d,0xe7,0x36,0x60,0x7d,0xe7,0x6d,0x60,
+0x7d,0xe7,0x98,0x60,0x7d,0xe7,0x39,0x60,0x7d,0xe7,0x3f,0x60,0x7d,0xe7,0x42,0x60,
+0x7d,0xe7,0x0c,0x60,0x7d,0xe7,0xc2,0x60,0x7d,0xe7,0x7d,0xe7,0xa5,0x60,0x7d,0xe7,
+0x7d,0xe7,0x36,0x60,0x7d,0xe7,0x01,0x60,0x7d,0xe7,0xad,0x60,0x7d,0xe7,0x7d,0xe7,
+0x37,0x60,0x7d,0xe7,0x42,0x60,0x7d,0xe7,0x0e,0x60,0x7d,0xe7,0xc2,0x60,0x7d,0xe7,
+0x07,0x60,0x80,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0x80,0xe7,0xff,0xff,0xff,0xff,0x06,0xe3,0xff,0xff,0x98,0xff,0x30,0x44,
+0x00,0xa8,0xff,0xff,0x09,0x02,0x08,0x60,0x00,0x64,0xc8,0x81,0x3e,0x63,0x00,0x64,
+0x59,0xdb,0xfe,0x1f,0x04,0x60,0x41,0x76,0x00,0x60,0x3c,0x63,0xff,0x60,0xfe,0x61,
+0xfc,0x60,0x00,0x66,0x09,0x60,0xc2,0x64,0x58,0xd0,0x59,0xd9,0xfd,0x1f,0x05,0x60,
+0x08,0x63,0x08,0x60,0xfe,0x61,0xfc,0x60,0x00,0x66,0x0a,0x60,0x00,0x64,0x58,0xd0,
+0x59,0xd9,0xfd,0x1f,0x58,0x4f,0x2e,0x00,0x58,0x4f,0x14,0x00,0x30,0x44,0x00,0xa8,
+0x00,0x64,0x03,0x03,0x0f,0xfb,0xd4,0xfe,0x00,0x00,0x63,0xff,0xff,0xff,0x65,0xff,
+0xff,0xff,0x58,0x4f,0x41,0x00,0x01,0x60,0x9c,0x78,0xff,0xff,0x98,0xff,0x00,0xe1,
+0xa1,0xff,0xfc,0x00,0x00,0x60,0x7c,0x63,0x0e,0x60,0x80,0x64,0xe0,0x87,0x15,0xfb,
+0x04,0x61,0x60,0x46,0xdc,0x84,0x00,0xfa,0xcd,0x81,0x01,0xfc,0xfa,0x02,0x00,0x64,
+0x00,0xfa,0x80,0x60,0x00,0x65,0xb7,0x83,0x01,0xfc,0x15,0xf5,0x3c,0x63,0x01,0xfc,
+0x2f,0x58,0xff,0xff,0x00,0x60,0x7e,0x63,0xfe,0x60,0x00,0x65,0x45,0x4b,0xdc,0x60,
+0xfe,0x61,0xfc,0x60,0x00,0x65,0x0f,0x60,0x0a,0x64,0x65,0x46,0x58,0xd0,0x2b,0x46,
+0x59,0xd8,0xfb,0x1f,0x7e,0x63,0x40,0xa1,0x40,0xa1,0x65,0x46,0x58,0xd0,0x2b,0x46,
+0x59,0xd8,0xfb,0x1f,0x7e,0x63,0x40,0xa1,0x40,0xa1,0x65,0x46,0x58,0xd0,0x2b,0x46,
+0x59,0xd8,0xfb,0x1f,0x2f,0x58,0xff,0xff,0x04,0xee,0x0d,0x60,0x26,0x63,0x0e,0x60,
+0x0a,0x65,0xbd,0xd1,0xff,0xff,0x64,0x48,0x64,0x47,0x00,0x7f,0x60,0x41,0x80,0xbc,
+0x60,0x4a,0xff,0xff,0xff,0xff,0x01,0x16,0xfe,0x00,0xff,0xff,0xff,0xff,0xd7,0x80,
+0xff,0xff,0xef,0x02,0x68,0x40,0x99,0xff,0x3e,0x44,0xfc,0xb4,0x01,0xbc,0x00,0x7f,
+0x40,0x5e,0x98,0xff,0x0d,0x63,0x01,0x60,0x58,0x4e,0x70,0x78,0xff,0xff,0x99,0xff,
+0x3e,0x44,0xfc,0xb4,0x00,0x7f,0x40,0x5e,0x98,0xff,0x0d,0x63,0x01,0x60,0x58,0x4e,
+0x70,0x78,0xff,0xff,0x00,0xee,0x88,0xec,0x00,0xed,0x2f,0x58,0xff,0xff,0xff,0xff,
+0xfe,0x1f,0x2e,0x58,0xff,0xff,0x98,0xff,0x00,0xe1,0x30,0x44,0x01,0xa8,0x02,0xa8,
+0x05,0x03,0x05,0x03,0x83,0xff,0x8d,0xff,0x00,0x64,0x40,0x40,0x43,0xe1,0x00,0x60,
+0x91,0x65,0x78,0x44,0xc4,0x98,0xff,0xff,0x98,0xff,0x88,0xe2,0x00,0xe1,0x30,0x44,
+0x02,0xa8,0x01,0xa8,0x0b,0x03,0x06,0x03,0x85,0xff,0x88,0xff,0xeb,0x60,0x19,0xe2,
+0x00,0x60,0x90,0xe2,0x40,0xe1,0x04,0x60,0x00,0x71,0x8d,0xe2,0x01,0x60,0x3e,0x65,
+0x78,0x44,0xc4,0x98,0xff,0xff,0x0a,0xe1,0xa3,0xff,0xae,0xff,0xff,0xff,0xff,0xff,
+0xae,0xff,0x01,0x60,0x63,0x65,0x78,0x44,0xc4,0x98,0xff,0xff,0xaa,0xff,0x08,0x60,
+0x14,0x64,0xa0,0xd1,0x04,0x60,0x41,0x76,0x3f,0x60,0xff,0x64,0xa0,0x83,0x08,0x60,
+0x14,0x64,0xa0,0xdd,0x64,0x44,0x80,0x2b,0x1d,0x00,0x50,0xfe,0x08,0x60,0x02,0x64,
+0xa0,0xd1,0xfe,0x60,0x01,0x64,0xd0,0x80,0x08,0x60,0x04,0x64,0xa0,0xd1,0xdc,0x60,
+0x23,0x64,0xd0,0x80,0x08,0x60,0x06,0x64,0xa0,0xd1,0xba,0x60,0x45,0x64,0xd0,0x80,
+0x63,0x47,0x01,0x01,0x07,0x00,0xc0,0xbf,0x60,0x43,0x08,0x60,0x14,0x64,0xa0,0xdd,
+0x04,0x60,0x01,0x76,0x41,0x00,0xab,0xff,0xff,0xff,0xff,0xff,0xab,0xff,0x3c,0x00,
+0xa9,0xff,0x77,0x44,0x60,0x57,0x40,0x4a,0x2a,0x44,0x10,0xb0,0x20,0x44,0x04,0x03,
+0xfd,0xb4,0x01,0xb0,0x40,0x40,0x01,0x02,0x2f,0x00,0xfe,0xb4,0x40,0x40,0xa8,0xff,
+0x20,0x44,0x02,0xb0,0x60,0x41,0x08,0x60,0x00,0x64,0xa0,0xd1,0x61,0x44,0x03,0x03,
+0x01,0xbc,0x40,0x40,0x1e,0x00,0x02,0xbc,0x40,0x40,0x64,0x44,0x3f,0xb4,0x0b,0xa8,
+0xff,0xff,0x06,0x02,0x64,0x44,0x80,0xb0,0x00,0x64,0x01,0x03,0x01,0x64,0x13,0xfb,
+0x0f,0xf9,0x08,0x60,0x02,0x64,0xa0,0xd1,0x10,0xf9,0x08,0x60,0x04,0x64,0xa0,0xd1,
+0xd4,0xfe,0x11,0xf9,0x08,0x60,0x06,0x64,0xa0,0xd1,0x12,0xf9,0xae,0xff,0xff,0xff,
+0xae,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xa1,0xff,0xff,0xff,0xba,0x3f,0x75,0x44,
+0x01,0x26,0x08,0xf7,0xff,0xff,0xff,0xff,0x02,0x26,0x09,0xf7,0xff,0xff,0xff,0xff,
+0x04,0x26,0x0a,0xf7,0xff,0xff,0xff,0xff,0x08,0x26,0x0b,0xf7,0xff,0xff,0xff,0xff,
+0x40,0x26,0xa7,0xff,0xe9,0x00,0x0f,0x60,0xfe,0x65,0x08,0x60,0x1c,0x64,0xa0,0xd3,
+0xff,0xff,0x24,0x86,0x80,0x67,0x60,0x5c,0x08,0x60,0x1c,0x64,0xa0,0xd9,0x08,0x60,
+0x18,0x64,0xa0,0xd3,0x15,0xf3,0x40,0x45,0xfc,0x2b,0x02,0x00,0x40,0x45,0x05,0x00,
+0x02,0x60,0x58,0x4f,0xb2,0x78,0xff,0xff,0x07,0x02,0x58,0x4f,0x4a,0x00,0x04,0x05,
+0x66,0x50,0x65,0x52,0x61,0x51,0x0a,0x00,0x40,0x67,0x26,0x45,0xb4,0x84,0x40,0x46,
+0x15,0xf5,0x06,0xf0,0x80,0x60,0x64,0x50,0x20,0x52,0x7e,0x71,0x99,0xff,0xac,0xff,
+0x98,0xff,0x26,0x5c,0x08,0x60,0x1c,0x64,0xa0,0xd9,0xb6,0x00,0x0f,0x60,0xfe,0x65,
+0x08,0x60,0x1e,0x64,0xa0,0xd3,0xff,0xff,0x24,0x86,0x80,0x67,0x60,0x5c,0x08,0x60,
+0x1e,0x64,0xa0,0xd9,0x08,0x60,0x1a,0x64,0xa0,0xd3,0x15,0xf3,0x40,0x45,0xfc,0x2b,
+0x02,0x00,0x40,0x45,0x03,0x00,0x58,0x4f,0x3c,0x00,0x08,0x02,0x58,0x4f,0x19,0x00,
+0x8e,0xff,0x04,0x05,0x66,0x50,0x65,0x52,0x61,0x51,0x0a,0x00,0x40,0x67,0x26,0x45,
+0xb4,0x84,0x40,0x46,0x15,0xf5,0x06,0xf0,0x80,0x60,0x64,0x50,0x20,0x52,0x7e,0x71,
+0x8d,0xff,0x99,0xff,0xad,0xff,0x98,0xff,0x26,0x5c,0x08,0x60,0x1e,0x64,0xa0,0xd9,
+0xcc,0x00,0x25,0x46,0x26,0x41,0x44,0x63,0x01,0xf2,0xff,0xff,0xff,0xb5,0xd5,0x81,
+0xff,0xff,0x07,0x04,0x00,0xf2,0x04,0x63,0x00,0xa8,0x60,0x46,0xf5,0x02,0x42,0xfe,
+0x0e,0x00,0x61,0x44,0xc5,0x81,0x63,0x45,0xc5,0x81,0x60,0x45,0x00,0x64,0xd4,0x84,
+0x01,0xf2,0xf0,0x85,0xf0,0x80,0x65,0x44,0xf8,0x85,0xff,0xff,0x02,0xfe,0x2f,0x58,
+0xff,0xff,0x25,0x44,0x19,0xf1,0x1a,0xf1,0xd0,0x80,0xd0,0x80,0x0e,0x04,0x08,0x06,
+0x1b,0xf1,0x1c,0xf1,0xd0,0x80,0xd0,0x80,0x08,0x04,0x02,0x06,0x48,0xfe,0x05,0x00,
+0x25,0x46,0x01,0xf0,0x03,0x67,0xa0,0x85,0x94,0x80,0x2f,0x58,0xff,0xff,0x84,0xe2,
+0x04,0x60,0x00,0x71,0x8d,0xe2,0x1d,0xf3,0x14,0xf3,0x00,0xbd,0xcc,0x83,0x08,0x03,
+0x14,0xfd,0x06,0x02,0x65,0x44,0x14,0xfb,0x89,0xff,0x80,0x60,0x00,0x75,0x88,0xff,
+0xa1,0xff,0xff,0xff,0xbc,0x3f,0x7f,0x67,0x01,0x61,0x23,0x58,0xff,0xff,0x0f,0xf3,
+0x10,0xf1,0x40,0x44,0x44,0x45,0x11,0xf1,0x12,0xf1,0x44,0x46,0x44,0x47,0x3f,0xb4,
+0x0b,0xa8,0xff,0xff,0x06,0x02,0x24,0x44,0x80,0xb0,0xff,0xff,0x02,0x03,0x00,0x67,
+0x08,0x00,0x24,0x44,0x3f,0xb4,0xe0,0x85,0x09,0x60,0x00,0x64,0x44,0xd7,0x58,0x43,
+0xff,0xff,0x61,0x43,0x60,0x45,0x24,0x44,0x3f,0xb4,0xb4,0x9c,0xff,0x27,0x01,0x00,
+0x03,0x00,0x08,0x60,0x0a,0x64,0xa0,0xdd,0x08,0x60,0x08,0x64,0xa0,0xd9,0x10,0x75,
+0xa1,0xff,0xff,0xff,0xbe,0x3f,0xb4,0xfe,0xff,0xff,0xd1,0x05,0xb5,0xfe,0xb6,0xfe,
+0xb7,0xfe,0xf6,0x00,0x08,0x60,0x28,0x62,0x12,0x60,0x34,0x64,0xa2,0xdb,0x24,0x45,
+0x01,0x27,0x3d,0x00,0x7f,0x60,0xc0,0x64,0xa4,0x80,0x7f,0x67,0x02,0x61,0x40,0x02,
+0x20,0x44,0x20,0xb0,0xdf,0xb4,0x1b,0x03,0x40,0x40,0xfc,0x60,0x00,0x66,0x00,0x60,
+0x16,0x64,0x60,0x41,0x08,0x63,0x58,0xd0,0x59,0xd9,0xfd,0x1f,0x00,0x60,0x26,0x64,
+0x60,0x41,0x08,0x63,0x58,0xd0,0x59,0xd9,0xfd,0x1f,0x02,0x64,0x40,0x50,0x63,0xff,
+0xff,0xff,0x65,0xff,0xff,0xff,0x04,0x64,0x40,0x50,0x67,0xff,0xff,0xff,0xfc,0x60,
+0x00,0x66,0x17,0x60,0xfe,0x63,0xbd,0xd0,0xc0,0x60,0xde,0x64,0xd0,0x80,0xdb,0x83,
+0x0e,0x02,0x20,0x44,0x10,0xbc,0x40,0x40,0x02,0x64,0x40,0x50,0x63,0xff,0xff,0xff,
+0x65,0xff,0xff,0xff,0x00,0x64,0x40,0x50,0x0c,0x60,0x01,0x78,0xff,0xff,0x08,0x60,
+0x00,0x64,0xc8,0x81,0x3e,0x63,0x00,0x64,0x59,0xdb,0xfe,0x1f,0x04,0x60,0x41,0x76,
+0x23,0x58,0xff,0xff,0x7e,0x60,0xc0,0x64,0x24,0x45,0xa4,0x80,0x7f,0x67,0x02,0x61,
+0x23,0x02,0x25,0x45,0xfc,0x2b,0x1e,0x00,0x0c,0x60,0x70,0x63,0x0e,0x61,0x24,0x44,
+0x01,0x27,0x10,0x00,0xbd,0xd3,0xa3,0xd1,0xd4,0x80,0xcd,0x81,0x08,0x24,0x64,0x58,
+0x08,0xa3,0xf8,0x02,0x04,0x61,0x15,0xf5,0x00,0x64,0x22,0xfa,0x25,0x44,0x5a,0xda,
+0x00,0x67,0x0a,0x00,0xbd,0xd3,0xbe,0xd1,0xd4,0x80,0xcd,0x81,0x08,0x24,0x64,0x58,
+0x08,0xa3,0xf8,0x02,0x7f,0x67,0x04,0x61,0x23,0x58,0xff,0xff,0xbf,0xd3,0xff,0xff,
+0x62,0x43,0xbf,0xd1,0xf8,0xa3,0xa3,0xd1,0x64,0x43,0x60,0x41,0x15,0xf5,0xe8,0x84,
+0xdc,0x84,0x22,0xfa,0x5a,0xd8,0x62,0x44,0xbd,0xd1,0xc9,0x81,0x58,0xd8,0xfc,0x02,
+0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x22,0xf2,0xbf,0xd1,0xff,0xff,
+0x62,0x43,0xcc,0x84,0xe0,0x85,0x0b,0x06,0xbf,0xd1,0x64,0x41,0xd5,0x80,0x64,0x43,
+0x01,0x06,0x65,0x41,0x46,0x64,0x58,0xd0,0xc9,0x81,0xbd,0xd9,0xfc,0x02,0x00,0x67,
+0x00,0x61,0x23,0x58,0xff,0xff,0xfc,0x60,0x00,0x64,0x40,0x4b,0x4b,0xd3,0x15,0xf5,
+0x60,0x41,0xd8,0x84,0xe8,0x84,0x22,0xfa,0x25,0x44,0x23,0xfa,0xbf,0xd3,0x66,0x45,
+0x48,0x63,0xc8,0x84,0x2b,0x46,0x58,0xd0,0x65,0x46,0xc9,0x81,0xbd,0xd8,0xfa,0x02,
+0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x00,0x64,0x40,0x45,0x02,0x60,0x00,0x64,
+0x40,0x46,0x77,0x60,0xfc,0xe0,0x99,0xff,0x00,0xec,0x02,0xe3,0xd8,0xe3,0x0a,0xe1,
+0x2f,0x60,0xfe,0x62,0x04,0x60,0x58,0x4e,0x7b,0x78,0xff,0xff,0x25,0x44,0x60,0x47,
+0x01,0xb4,0xe0,0x85,0xa0,0x7e,0xb4,0x84,0x04,0x60,0x58,0x4e,0xa4,0x78,0xff,0xff,
+0x25,0x44,0x04,0x60,0x58,0x4e,0xa4,0x78,0xff,0xff,0x08,0x61,0x61,0x5c,0x5a,0xd1,
+0xff,0xff,0x64,0x47,0x04,0x60,0x58,0x4e,0xa4,0x78,0xff,0xff,0x2c,0x02,0x64,0x44,
+0x04,0x60,0x58,0x4e,0xa4,0x78,0xff,0xff,0x26,0x02,0xcd,0x81,0xff,0xff,0xef,0x02,
+0x04,0x60,0x58,0x4e,0x89,0x78,0xff,0xff,0x03,0x60,0xe8,0x7a,0x2d,0xe2,0xa1,0xff,
+0xff,0xff,0x24,0xe2,0x04,0x60,0x58,0x4e,0x7b,0x78,0xff,0xff,0xa1,0x7e,0x04,0x60,
+0x58,0x4e,0xa4,0x78,0xff,0xff,0xf0,0x02,0x04,0x60,0x58,0x4e,0x97,0x78,0xff,0xff,
+0x04,0x60,0x58,0x4e,0x89,0x78,0xff,0xff,0x26,0x45,0x25,0x44,0x10,0xa4,0xd4,0x80,
+0x40,0x45,0xb8,0x02,0x28,0xe2,0xff,0x60,0xff,0x64,0xa2,0xdb,0x55,0x60,0xfc,0xe0,
+0x98,0xff,0x8d,0xe2,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x77,0x60,0xfc,0xe0,
+0x99,0xff,0x00,0xec,0x02,0xe3,0xd8,0xe3,0x04,0x60,0x58,0x4e,0x97,0x78,0xff,0xff,
+0x04,0x60,0x58,0x4e,0x7b,0x78,0xff,0xff,0xa0,0x7e,0x04,0x60,0x58,0x4e,0xa4,0x78,
+0xff,0xff,0x00,0x7e,0x04,0x60,0x58,0x4e,0xa4,0x78,0xff,0xff,0x04,0x60,0x58,0x4e,
+0x7b,0x78,0xff,0xff,0xa1,0x7e,0x04,0x60,0x58,0x4e,0xa4,0x78,0xff,0xff,0x2f,0x60,
+0xfe,0x62,0x01,0x60,0x00,0x61,0x61,0x5c,0x04,0x60,0x58,0x4e,0xc7,0x78,0xff,0xff,
+0x60,0x47,0x60,0x45,0x04,0x60,0x58,0x4e,0xc7,0x78,0xff,0xff,0xb4,0x84,0xcd,0x81,
+0x5a,0xdb,0xf2,0x02,0x04,0x60,0x58,0x4e,0x89,0x78,0xff,0xff,0xff,0xff,0x04,0x60,
+0x58,0x4e,0x97,0x78,0xff,0xff,0x55,0x60,0xfc,0xe0,0x98,0xff,0x00,0x67,0x00,0x61,
+0x23,0x58,0xff,0xff,0x01,0x60,0x02,0xe3,0xff,0xff,0xff,0xff,0x01,0xec,0xff,0xff,
+0xff,0xff,0x01,0x60,0x06,0xe3,0xff,0xff,0xff,0xff,0x00,0xec,0x2e,0x58,0xff,0xff,
+0x01,0x60,0x06,0xe3,0xff,0xff,0xff,0xff,0x01,0xec,0xff,0xff,0xff,0xff,0x01,0x60,
+0x02,0xe3,0xff,0xff,0xff,0xff,0x00,0xec,0x2e,0x58,0xff,0xff,0x09,0x63,0x01,0xec,
+0xff,0xff,0xff,0xff,0x3f,0x40,0x08,0x26,0x04,0x00,0x00,0xec,0xcf,0x83,0xff,0xff,
+0xf6,0x02,0x2e,0x58,0xff,0xff,0x0e,0x63,0x60,0x40,0x80,0x2a,0x03,0x00,0x01,0x60,
+0x02,0xe3,0x02,0x00,0x01,0x60,0x06,0xe3,0x01,0xec,0xe0,0x84,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0xec,0xf1,0x1f,0x01,0x60,0x02,0xe3,0xff,0xff,0xff,0xff,0x3f,0x40,
+0x08,0x26,0x08,0x00,0x01,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xec,
+0x00,0x64,0x01,0x00,0x01,0x64,0x00,0xbc,0x2e,0x58,0xff,0xff,0x0e,0x63,0xe0,0x84,
+0x3f,0x40,0x08,0x26,0xdc,0x84,0x01,0xec,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x00,0xec,0xf5,0x1f,0xff,0xff,0x01,0x60,0x06,0xe3,0xff,0xff,0x01,0xec,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xec,0x01,0x60,0x02,0xe3,0x00,0x7f,0x2e,0x58,
+0xff,0xff,0xff,0x00,0xff,0x00,0xff,0x00,0x74,0x01,0xff,0x00,0x85,0x01,0xff,0x00,
+0x18,0x02,0xe8,0x01,0xd9,0x01,0xa7,0x01,0xd4,0x01,0xdc,0x01,0xc8,0x02,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x00,0x00,0x00,
+0x13,0x03,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,
+0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,
+0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,
+0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,
+0xdc,0x02,0x63,0x03,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,
+0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,
+0x37,0x04,0xd5,0x03,0xdc,0x02,0xda,0x03,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,
+0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,0xdc,0x02,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x7e,0x00,0x06,0x11,0x00,0xf8,0x7f,0x00,0xfe,0x07,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0x00,0x00,0xc1,0xc0,0x81,0xc1,0x40,0x01,0x01,0xc3,0xc0,0x03,0x80,0x02,
+0x41,0xc2,0x01,0xc6,0xc0,0x06,0x80,0x07,0x41,0xc7,0x00,0x05,0xc1,0xc5,0x81,0xc4,
+0x40,0x04,0x01,0xcc,0xc0,0x0c,0x80,0x0d,0x41,0xcd,0x00,0x0f,0xc1,0xcf,0x81,0xce,
+0x40,0x0e,0x00,0x0a,0xc1,0xca,0x81,0xcb,0x40,0x0b,0x01,0xc9,0xc0,0x09,0x80,0x08,
+0x41,0xc8,0x01,0xd8,0xc0,0x18,0x80,0x19,0x41,0xd9,0x00,0x1b,0xc1,0xdb,0x81,0xda,
+0x40,0x1a,0x00,0x1e,0xc1,0xde,0x81,0xdf,0x40,0x1f,0x01,0xdd,0xc0,0x1d,0x80,0x1c,
+0x41,0xdc,0x00,0x14,0xc1,0xd4,0x81,0xd5,0x40,0x15,0x01,0xd7,0xc0,0x17,0x80,0x16,
+0x41,0xd6,0x01,0xd2,0xc0,0x12,0x80,0x13,0x41,0xd3,0x00,0x11,0xc1,0xd1,0x81,0xd0,
+0x40,0x10,0x01,0xf0,0xc0,0x30,0x80,0x31,0x41,0xf1,0x00,0x33,0xc1,0xf3,0x81,0xf2,
+0x40,0x32,0x00,0x36,0xc1,0xf6,0x81,0xf7,0x40,0x37,0x01,0xf5,0xc0,0x35,0x80,0x34,
+0x41,0xf4,0x00,0x3c,0xc1,0xfc,0x81,0xfd,0x40,0x3d,0x01,0xff,0xc0,0x3f,0x80,0x3e,
+0x41,0xfe,0x01,0xfa,0xc0,0x3a,0x80,0x3b,0x41,0xfb,0x00,0x39,0xc1,0xf9,0x81,0xf8,
+0x40,0x38,0x00,0x28,0xc1,0xe8,0x81,0xe9,0x40,0x29,0x01,0xeb,0xc0,0x2b,0x80,0x2a,
+0x41,0xea,0x01,0xee,0xc0,0x2e,0x80,0x2f,0x41,0xef,0x00,0x2d,0xc1,0xed,0x81,0xec,
+0x40,0x2c,0x01,0xe4,0xc0,0x24,0x80,0x25,0x41,0xe5,0x00,0x27,0xc1,0xe7,0x81,0xe6,
+0x40,0x26,0x00,0x22,0xc1,0xe2,0x81,0xe3,0x40,0x23,0x01,0xe1,0xc0,0x21,0x80,0x20,
+0x41,0xe0,0x01,0xa0,0xc0,0x60,0x80,0x61,0x41,0xa1,0x00,0x63,0xc1,0xa3,0x81,0xa2,
+0x40,0x62,0x00,0x66,0xc1,0xa6,0x81,0xa7,0x40,0x67,0x01,0xa5,0xc0,0x65,0x80,0x64,
+0x41,0xa4,0x00,0x6c,0xc1,0xac,0x81,0xad,0x40,0x6d,0x01,0xaf,0xc0,0x6f,0x80,0x6e,
+0x41,0xae,0x01,0xaa,0xc0,0x6a,0x80,0x6b,0x41,0xab,0x00,0x69,0xc1,0xa9,0x81,0xa8,
+0x40,0x68,0x00,0x78,0xc1,0xb8,0x81,0xb9,0x40,0x79,0x01,0xbb,0xc0,0x7b,0x80,0x7a,
+0x41,0xba,0x01,0xbe,0xc0,0x7e,0x80,0x7f,0x41,0xbf,0x00,0x7d,0xc1,0xbd,0x81,0xbc,
+0x40,0x7c,0x01,0xb4,0xc0,0x74,0x80,0x75,0x41,0xb5,0x00,0x77,0xc1,0xb7,0x81,0xb6,
+0x40,0x76,0x00,0x72,0xc1,0xb2,0x81,0xb3,0x40,0x73,0x01,0xb1,0xc0,0x71,0x80,0x70,
+0x41,0xb0,0x00,0x50,0xc1,0x90,0x81,0x91,0x40,0x51,0x01,0x93,0xc0,0x53,0x80,0x52,
+0x41,0x92,0x01,0x96,0xc0,0x56,0x80,0x57,0x41,0x97,0x00,0x55,0xc1,0x95,0x81,0x94,
+0x40,0x54,0x01,0x9c,0xc0,0x5c,0x80,0x5d,0x41,0x9d,0x00,0x5f,0xc1,0x9f,0x81,0x9e,
+0x40,0x5e,0x00,0x5a,0xc1,0x9a,0x81,0x9b,0x40,0x5b,0x01,0x99,0xc0,0x59,0x80,0x58,
+0x41,0x98,0x01,0x88,0xc0,0x48,0x80,0x49,0x41,0x89,0x00,0x4b,0xc1,0x8b,0x81,0x8a,
+0x40,0x4a,0x00,0x4e,0xc1,0x8e,0x81,0x8f,0x40,0x4f,0x01,0x8d,0xc0,0x4d,0x80,0x4c,
+0x41,0x8c,0x00,0x44,0xc1,0x84,0x81,0x85,0x40,0x45,0x01,0x87,0xc0,0x47,0x80,0x46,
+0x41,0x86,0x01,0x82,0xc0,0x42,0x80,0x43,0x41,0x83,0x00,0x41,0xc1,0x81,0x81,0x80,
+0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x03,
+0xff,0xff,0xbc,0x03,0x8b,0x03,0xda,0x10,0x0e,0x00,0xfe,0xff,0xbc,0x03,0x8b,0x03,
+0xd8,0x10,0x02,0x00,0x00,0xfd,0xbc,0x03,0x8b,0x03,0x8c,0x10,0x02,0x00,0x01,0xfd,
+0xbc,0x03,0x8b,0x03,0x8e,0x10,0x06,0x00,0x02,0xfd,0xbc,0x03,0x8b,0x03,0xa8,0x10,
+0x08,0x00,0x03,0xfd,0xbc,0x03,0x8b,0x03,0xb0,0x10,0x0a,0x00,0x04,0xfd,0xbc,0x03,
+0x8b,0x03,0xc4,0x10,0x0a,0x00,0x05,0xfd,0xbc,0x03,0x8b,0x03,0xe8,0x10,0x0c,0x00,
+0x06,0xfd,0xbc,0x03,0x8b,0x03,0xf6,0x10,0x0c,0x00,0x0a,0xfd,0xbc,0x03,0x8b,0x03,
+0x94,0x10,0x0c,0x00,0x0b,0xfd,0xbc,0x03,0x8b,0x03,0xa0,0x10,0x08,0x00,0x0c,0xfd,
+0xbc,0x03,0x8b,0x03,0xba,0x10,0x0a,0x00,0x0d,0xfd,0xbc,0x03,0x8b,0x03,0xce,0x10,
+0x0a,0x00,0xe0,0xfc,0x8f,0x03,0xa5,0x03,0x3a,0x00,0x02,0x00,0x09,0x00,0x06,0x00,
+0x74,0x01,0x0e,0x00,0x18,0x02,0x10,0x00,0xe8,0x01,0x12,0x00,0xd9,0x01,0x14,0x00,
+0xa7,0x01,0x16,0x00,0xd4,0x01,0x18,0x00,0xdc,0x01,0x1a,0x00,0xc8,0x02,0x0a,0x00,
+0x85,0x01,0x00,0x01,0x80,0x00,0x00,0x02,0x01,0x04,0x38,0x06,0x80,0x08,0x03,0x0a,
+0x04,0x0c,0x04,0x0e,0x00,0x10,0x00,0x12,0xc8,0x14,0x13,0x16,0x00,0x18,0x00,0x1a,
+0x00,0x1c,0x5c,0x1e,0xc1,0x20,0x1e,0x22,0x54,0x24,0x07,0x26,0x6a,0x28,0x12,0x2a,
+0x00,0x2c,0x00,0x2e,0x1c,0x30,0x20,0x32,0x82,0x34,0x08,0x36,0x7a,0x38,0xca,0x3a,
+0x24,0x3c,0xd6,0x3e,0x00,0x40,0x00,0x42,0x00,0x44,0x7f,0x46,0x8b,0x48,0x0f,0x4a,
+0x06,0x4c,0x0a,0x4e,0x0f,0x50,0x20,0x52,0x20,0x54,0x10,0x56,0x10,0x58,0x20,0x5a,
+0xee,0x5c,0x1a,0x5e,0x26,0x60,0x5b,0x62,0x00,0x04,0x00,0x2c,0x0c,0x2e,0x01,0x2c,
+0x10,0x2e,0x02,0x2c,0x14,0x2e,0x03,0x2c,0x18,0x2e,0x04,0x2c,0x1c,0x2e,0x05,0x2c,
+0x20,0x2e,0x06,0x2c,0x24,0x2e,0x07,0x2c,0x28,0x2e,0x08,0x2c,0x2e,0x2e,0x09,0x2c,
+0x34,0x2e,0x0a,0x2c,0x38,0x2e,0x0b,0x2c,0x3c,0x2e,0x0c,0x2c,0x3f,0x2e,0x0d,0x2c,
+0x43,0x2e,0x0e,0x2c,0x46,0x2e,0x0f,0x2c,0x48,0x2e,0x10,0x2c,0x4b,0x2e,0x11,0x2c,
+0x50,0x2e,0x12,0x2c,0x55,0x2e,0x13,0x2c,0x5a,0x2e,0x14,0x2c,0x63,0x2e,0x15,0x2c,
+0x6d,0x2e,0x16,0x2c,0x76,0x2e,0x17,0x2c,0x7f,0x2e,0x18,0x2c,0x7f,0x2e,0x19,0x2c,
+0x7f,0x2e,0x1a,0x2c,0x7f,0x2e,0x1b,0x2c,0x7f,0x2e,0x1c,0x2c,0x7f,0x2e,0x1d,0x2c,
+0x7f,0x2e,0x1e,0x2c,0x7f,0x2e,0x1f,0x2c,0x7f,0x2e,0xff,0xff,0x0e,0xf1,0x02,0x60,
+0x5f,0x64,0xc0,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0e,0xf1,0x02,0x60,
+0x2c,0x64,0xc0,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45,0xff,0x0e,0xf1,
+0x02,0x60,0x15,0x64,0xc0,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0xf7,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x47,0xff,0x0e,0xf1,
+0x02,0x60,0x15,0x64,0xc0,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0x40,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x41,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x42,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x44,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45,0xff,0xff,0x00,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0d,0xf7,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0x0f,0x7e,0x00,0x0a,0x01,
+0xff,0xff,0x47,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xb0,0xfe,0xb1,0xfe,0xb2,0xfe,0xb3,0xfe,0xff,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0x0e,0xf1,0x03,0x60,0x0c,0x64,0xc0,0x98,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xb8,0xfe,0xb9,0xfe,0xba,0xfe,0xbb,0xfe,0xff,0x00,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x20,0x4e,0x60,0x00,0x00,0x00,0x00,0x40,0x39,0x39,0x53,0x41,0x30,0x31,0x30,0x30,
+0x30,0x30,0x30,0x30,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x17,0x00,0x02,0x00,
+0x02,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,
+0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x01,0x00,
+0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x50,0x72,
+0x69,0x6d,0x61,0x72,0x79,0x20,0x46,0x27,0x73,0x20,0x20,0x00,0x46,0x33,0x2e,0x37,
+0x30,0x2d,0x32,0x37,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x32,0x2f,0x31,0x31,0x2f,
+0x32,0x30,0x30,0x32,0x00,0x00,0x00,0x00,0x01,0x80,0xff,0xff,0xff,0xff,0xda,0x10,
+0x7e,0x00,0x0e,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x94,0x10,0x7e,0x00,0x0c,0x00,
+0x00,0x00,0x05,0x00,0x00,0x00,0x24,0x0e,0x7e,0x00,0x02,0x00,0x00,0x00,0x06,0x00,
+0x00,0x00,0xba,0x10,0x7e,0x00,0x0a,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0xce,0x10,
+0x7e,0x00,0x0a,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0xa0,0x10,0x7e,0x00,0x08,0x00,
+0x00,0x00,0xfe,0x17,0x7e,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,
+0x7f,0x00,0xfe,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x06,0x11,
+0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x01,0x00,0x17,0x00,0x02,0x00,0x02,0x00,
+0x01,0x00,0x06,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x02,0x00,0x01,0x00,0x01,0x00,
+0x06,0x00,0x02,0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x41,0x6d,
+};
+unsigned char secsym[] = {
+0x46,0x49,0x4c,0x45,0x3a,0x20,0x45,0x53,0x45,0x43,0x53,0x59,0x4d,0x2c,0x54,0x33,
+0x2e,0x37,0x30,0x2d,0x32,0x37,0x2c,0x46,0x33,0x2e,0x37,0x30,0x2d,0x32,0x37,0x2c,
+0x31,0x32,0x2f,0x31,0x31,0x2f,0x32,0x30,0x30,0x32,0x20,0x53,0x45,0x43,0x4f,0x4e,
+0x44,0x41,0x52,0x59,0x20,0x32,0x33,0x20,0x32,0x34,0x30,0x20,0x31,0x32,0x20,0x35,
+0x34,0x20,0x0a,0x1a,0xfe,0x17,0x7e,0x00,0xf2,0x0f,0xde,0xc0,0x62,0xda,0x0a,0x60,
+0x04,0x63,0xa3,0xd3,0x06,0xa3,0xdc,0x80,0x00,0xa8,0x0b,0x03,0xfa,0x02,0xf6,0xa3,
+0x18,0x60,0x00,0x64,0xbd,0xdb,0x00,0x60,0x7e,0x64,0xbd,0xdb,0xda,0x60,0x62,0x64,
+0xa3,0xdb,0x0c,0x60,0x23,0x78,0xff,0xff,0x7f,0x60,0xc0,0x64,0x24,0x45,0xa4,0x80,
+0x7f,0x67,0x02,0x61,0x02,0x03,0x23,0x58,0xff,0xff,0x02,0x64,0x40,0x50,0x61,0xff,
+0xff,0xff,0x99,0xff,0x88,0xec,0x0e,0xe3,0x12,0xe3,0x1d,0xe3,0x22,0xe3,0x2a,0xe3,
+0x32,0xe3,0x3a,0xe3,0x80,0xed,0x42,0xe3,0x4a,0xe3,0x52,0xe3,0x5a,0xe3,0x62,0xe3,
+0x68,0xe3,0x70,0xe3,0x7a,0xe3,0x00,0xee,0x82,0xe3,0x8a,0xe3,0x92,0xe3,0x9a,0xe3,
+0xa2,0xe3,0xaa,0xe3,0xb2,0xe3,0xba,0xe3,0x01,0x60,0x14,0xe3,0x01,0x60,0x19,0xe3,
+0x01,0x60,0x20,0xe3,0x01,0x60,0x28,0xe3,0x21,0x60,0x7d,0xe7,0x68,0x60,0x7d,0xe7,
+0x10,0x60,0x7d,0xe7,0x7d,0xe7,0xf0,0x60,0x7d,0xe7,0xa5,0x60,0x7d,0xe7,0x7d,0xe7,
+0x36,0x60,0x7d,0xe7,0x6d,0x60,0x7d,0xe7,0x98,0x60,0x7d,0xe7,0x39,0x60,0x7d,0xe7,
+0x3f,0x60,0x7d,0xe7,0x42,0x60,0x7d,0xe7,0x0c,0x60,0x7d,0xe7,0xc2,0x60,0x7d,0xe7,
+0x7d,0xe7,0xa5,0x60,0x7d,0xe7,0x7d,0xe7,0x36,0x60,0x7d,0xe7,0x01,0x60,0x7d,0xe7,
+0xad,0x60,0x7d,0xe7,0x7d,0xe7,0x37,0x60,0x7d,0xe7,0x42,0x60,0x7d,0xe7,0x0e,0x60,
+0x7d,0xe7,0xc2,0x60,0x7d,0xe7,0x07,0x60,0x80,0xe7,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0xe7,0xff,0xff,0xff,0xff,0x06,0xe3,
+0xff,0xff,0x98,0xff,0x78,0x60,0xb5,0x78,0xff,0xff,0x04,0xee,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x00,0x69,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x16,
+0xfe,0x00,0x68,0x5e,0x00,0x7f,0x1e,0xfb,0x88,0xec,0x00,0xee,0xff,0xff,0xff,0xff,
+0x04,0xee,0xff,0xff,0xff,0xff,0x00,0xee,0xb0,0xfe,0xb1,0xfe,0xb2,0xfe,0xb3,0xfe,
+0xb8,0xfe,0xb9,0xfe,0xba,0xfe,0x10,0x64,0x40,0x40,0x00,0x64,0x40,0x41,0x40,0x42,
+0x40,0x54,0x40,0x55,0x40,0x5e,0x40,0x5a,0x40,0x5b,0x20,0x60,0x74,0x62,0xa2,0xd1,
+0x12,0x60,0x34,0x64,0xd0,0x80,0xff,0xff,0x20,0x02,0x20,0x60,0x76,0x62,0xa2,0xd1,
+0x55,0x60,0xaa,0x64,0xd0,0x80,0xff,0xff,0x18,0x02,0x21,0x60,0x38,0x62,0xa2,0xd3,
+0xff,0xff,0x01,0xa4,0xa2,0xdb,0x08,0x60,0x2e,0x64,0xa0,0xd3,0xff,0xff,0x00,0xa4,
+0xe1,0xa0,0x17,0x03,0xe0,0x85,0x15,0x07,0x21,0x60,0x3a,0x62,0xff,0xff,0xc6,0x82,
+0xa2,0xd3,0xff,0xff,0x01,0xa4,0xa2,0xdb,0x0c,0x00,0x21,0x60,0x38,0x62,0x00,0x64,
+0xa2,0xdb,0x21,0x60,0x3a,0x63,0x00,0x64,0x20,0x61,0xbd,0xdb,0xff,0xa1,0xff,0xff,
+0xfc,0x02,0x01,0x60,0x94,0x63,0x00,0x60,0x3c,0x61,0xfe,0x60,0x00,0x66,0x7f,0x60,
+0xfe,0x64,0x58,0xd0,0x59,0xd9,0xfd,0x1f,0x12,0x60,0xb6,0x63,0x0e,0x60,0x7e,0x61,
+0xfe,0x60,0x00,0x66,0x85,0x60,0x14,0x64,0x58,0xd0,0x59,0xd9,0xfd,0x1f,0x5f,0x60,
+0x78,0x63,0x21,0x60,0x78,0x61,0x00,0x64,0x59,0xdb,0xfe,0x1f,0x01,0x63,0x73,0xfd,
+0x00,0x60,0x2a,0x63,0x0c,0x60,0x40,0x61,0x0e,0x60,0x7e,0x64,0x58,0xd1,0x59,0xd9,
+0xfd,0x1f,0x16,0x60,0x8e,0x61,0xa1,0xd3,0xff,0xff,0xe0,0x83,0xcb,0x83,0x59,0xd1,
+0x59,0xd3,0xa4,0xdb,0xfc,0x1f,0x00,0x60,0xfe,0x63,0xfe,0x60,0x00,0x65,0x45,0x4b,
+0xdb,0x60,0xfe,0x61,0xfe,0x60,0x00,0x65,0x81,0x60,0x94,0x64,0x65,0x46,0x58,0xd0,
+0x2b,0x46,0x59,0xd8,0xfb,0x1f,0x01,0x60,0xbe,0x63,0xdd,0x60,0x4e,0x61,0x82,0x60,
+0xe4,0x64,0x65,0x46,0x58,0xd0,0x2b,0x46,0x59,0xd8,0xfb,0x1f,0x00,0x60,0x0e,0x63,
+0xdf,0x60,0x1e,0x61,0x84,0x60,0xb4,0x64,0x65,0x46,0x58,0xd0,0x2b,0x46,0x59,0xd8,
+0xfb,0x1f,0x01,0x60,0x00,0x65,0x80,0x60,0xf4,0x64,0x7f,0xa4,0xe0,0x87,0x00,0x7f,
+0x02,0x24,0xc4,0x84,0x19,0xfb,0x0d,0x60,0x22,0x62,0x08,0x60,0x00,0x65,0xa2,0xd3,
+0xff,0xff,0xd4,0x80,0xff,0xff,0x0b,0x06,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xcc,0x84,
+0x1c,0xfb,0x65,0x44,0xe0,0x84,0xe0,0x84,0xe0,0x84,0x1b,0xfb,0x65,0x44,0x80,0xa4,
+0xe0,0x84,0xe0,0x84,0xe0,0x84,0xcc,0x84,0x1a,0xfb,0x1a,0xf1,0x19,0xf3,0xff,0xff,
+0x94,0xfb,0x7c,0x63,0x60,0x46,0x01,0xfc,0xdc,0x84,0xd0,0x80,0x00,0xfa,0xfa,0x04,
+0x95,0xfb,0x1b,0xf3,0x60,0x46,0x00,0xa8,0x1c,0xf1,0x09,0x03,0x00,0xfa,0x01,0xfc,
+0x60,0x46,0x01,0xfc,0xdc,0x84,0xd0,0x80,0x00,0xfa,0xfa,0x04,0x95,0xfb,0x00,0x64,
+0x00,0xfa,0x63,0x44,0x80,0x7f,0x01,0xfa,0x1a,0xf3,0x19,0xf1,0xdc,0x84,0x50,0x93,
+0x33,0x44,0xfd,0xfb,0x00,0x60,0x7c,0x61,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,
+0x46,0x45,0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x21,0x60,0x86,0x62,0x66,0x44,
+0xa2,0xdb,0x1e,0xf1,0x01,0x65,0x64,0x40,0x10,0x2a,0x07,0x00,0xeb,0x60,0x19,0xe2,
+0x01,0x60,0x76,0x63,0x20,0x64,0xb8,0xfb,0x07,0x00,0xeb,0x60,0x19,0xe2,0x00,0x65,
+0x01,0x60,0x18,0x63,0x14,0x64,0xb5,0xfb,0x17,0x60,0xca,0x62,0xa2,0xdd,0x18,0x60,
+0x14,0x62,0x65,0x44,0xa2,0xdb,0x00,0x60,0x30,0xe2,0x00,0x60,0x50,0xe2,0x00,0x60,
+0x79,0xe2,0x01,0x60,0x90,0xe2,0x01,0x60,0xd0,0xe2,0x01,0x60,0xf9,0xe2,0xa7,0xf3,
+0xa8,0xf1,0x60,0x45,0xc4,0x84,0xc0,0x84,0x23,0xfb,0x01,0x60,0x30,0x64,0xc0,0x84,
+0xa8,0xf3,0x60,0x45,0xc4,0x84,0x24,0xfb,0x00,0x64,0x40,0x50,0x63,0xff,0x00,0x64,
+0x40,0x54,0x40,0x55,0x40,0x41,0x40,0x42,0x40,0x5e,0x40,0x52,0xd1,0xfe,0x82,0xff,
+0x92,0xff,0x98,0xff,0x17,0x60,0xd0,0x65,0x1e,0xf3,0xa5,0xd1,0x60,0x40,0x10,0x2a,
+0xff,0xff,0x20,0x26,0x03,0x00,0x14,0x60,0x2e,0x62,0x02,0x00,0x15,0x60,0x10,0x62,
+0x64,0x44,0x3e,0x7f,0xa2,0xdb,0x1e,0xf3,0xff,0xff,0x17,0x60,0xf2,0x65,0xa5,0xd1,
+0x60,0x40,0x20,0x26,0x05,0x00,0x14,0x60,0x3c,0x62,0x64,0x44,0x4c,0x7f,0x04,0x00,
+0x15,0x60,0x18,0x62,0x64,0x44,0x46,0x7f,0xa2,0xdb,0x00,0x64,0x40,0x41,0x40,0x46,
+0x40,0x47,0x00,0xe1,0x11,0x60,0x50,0x63,0x0e,0x60,0xac,0x64,0xa0,0xdd,0x00,0x60,
+0x13,0x66,0x3c,0x64,0x01,0xfa,0x0a,0x64,0x20,0xfa,0x87,0xff,0x97,0xff,0x08,0x60,
+0x28,0x62,0x23,0x60,0x45,0x64,0xa2,0xdb,0x66,0xff,0xff,0xff,0x65,0xff,0xff,0xff,
+0x64,0xff,0xff,0xff,0x62,0xff,0xff,0xff,0x61,0xff,0xff,0xff,0x3f,0x60,0x8e,0x65,
+0x0c,0x64,0xa5,0xdb,0x0e,0x60,0x2d,0x64,0x8d,0xfb,0xff,0xff,0x2d,0xff,0x08,0x60,
+0x00,0x64,0xc8,0x81,0x3e,0x63,0x00,0x64,0x59,0xdb,0xfe,0x1f,0x04,0x60,0x41,0x76,
+0x10,0x60,0x21,0x78,0xff,0xff,0x10,0x75,0x01,0x60,0x03,0xe8,0x99,0xff,0x08,0x60,
+0x2a,0x62,0x04,0x60,0xff,0x64,0xa2,0xdb,0x04,0x60,0xff,0xe5,0xff,0xff,0xff,0xff,
+0x10,0x60,0xdc,0xe0,0xff,0xff,0xff,0xff,0x98,0xff,0x30,0x60,0x09,0x78,0xff,0xff,
+0xa1,0xff,0xff,0xff,0xfd,0x00,0x98,0xff,0x30,0x44,0x02,0xa8,0x00,0xe1,0x07,0x02,
+0x62,0xff,0x63,0xff,0x64,0xff,0x65,0xff,0x66,0xff,0xa1,0xff,0xff,0xff,0x82,0xff,
+0x91,0xff,0x99,0xff,0x88,0xff,0x6c,0x40,0x41,0xff,0xc4,0xe2,0x43,0xff,0x40,0x49,
+0x08,0xe1,0x10,0x60,0x43,0x78,0xff,0xff,0x98,0xff,0x30,0x44,0x02,0xa8,0x00,0xe1,
+0x02,0x02,0xa1,0xff,0xff,0xff,0x00,0x64,0xcb,0xfb,0x82,0xff,0x92,0xff,0x98,0xff,
+0x88,0xff,0x72,0x44,0x60,0x52,0x03,0x04,0x01,0x64,0x40,0x40,0x05,0x00,0xdc,0x80,
+0xff,0xff,0x02,0x02,0x01,0x64,0x40,0x40,0x48,0xe2,0xd1,0xf3,0xff,0xff,0x60,0x40,
+0x00,0x3a,0x09,0x00,0x6a,0x60,0xdc,0x65,0xa5,0xd1,0xff,0xff,0x64,0x40,0x00,0x3a,
+0x02,0x00,0x64,0xe2,0x01,0x70,0x6d,0xe2,0xbc,0xff,0xb5,0xff,0xff,0x64,0x40,0x4b,
+0x00,0x64,0x40,0x4d,0x40,0x47,0xc6,0xfb,0x21,0xfb,0x00,0xe1,0x08,0x64,0x40,0x4c,
+0x26,0x44,0x02,0xb4,0x40,0x46,0x59,0xf3,0xff,0xff,0x60,0x40,0x04,0x26,0x02,0x00,
+0x00,0x3a,0x03,0x00,0x68,0xe2,0xc8,0xe2,0x68,0x00,0xa7,0xf1,0x02,0x64,0x64,0x56,
+0x60,0x54,0xcd,0xe2,0xc4,0xe2,0x6c,0x40,0x07,0x60,0x80,0xe8,0x44,0xe2,0x64,0xe2,
+0x46,0xff,0x47,0xff,0x6a,0x60,0xb2,0x62,0x01,0x64,0xa2,0xdb,0x9c,0xfe,0xff,0xff,
+0x0b,0x04,0xbf,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x06,0x02,0x01,0x64,0x31,0xfb,
+0x26,0x44,0xfd,0xb4,0x40,0x46,0x05,0xff,0x27,0x44,0x06,0x22,0x06,0x00,0xf9,0xb4,
+0x40,0x47,0x02,0x64,0x20,0xfb,0xc0,0xfe,0x03,0x00,0x20,0x64,0x20,0xfb,0xc0,0xfe,
+0x99,0xff,0x3d,0x44,0xf7,0xb4,0x40,0x5d,0x98,0xff,0x99,0xff,0x3c,0x44,0x7f,0xb4,
+0x10,0xbc,0x40,0x5c,0x3e,0x44,0x7c,0xb4,0x08,0xbc,0x40,0x5e,0x98,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x99,0xff,0x3d,0x44,0x10,0xbc,0x00,0x7f,
+0x40,0x5d,0x98,0xff,0xbc,0xff,0xff,0xff,0xb5,0xff,0xff,0xff,0x99,0xff,0x07,0x60,
+0x80,0xe9,0x98,0xff,0xff,0xff,0xff,0xff,0x80,0xe9,0xff,0xff,0xff,0xff,0xb7,0xff,
+0xb4,0xff,0x99,0xff,0x3e,0x44,0x02,0xbc,0x00,0x7f,0x40,0x5e,0x98,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x46,0xff,0x47,0xff,0x0e,0x60,0xac,0x64,0xa0,0xd7,
+0xff,0xff,0xff,0xff,0x98,0xff,0x30,0x44,0x02,0xa8,0x00,0xe1,0x0f,0x03,0x83,0xff,
+0x8d,0xff,0x00,0x64,0x40,0x40,0x40,0x44,0x40,0x43,0x40,0x42,0x40,0x41,0x1a,0x60,
+0x65,0x64,0x40,0x4e,0x3f,0x60,0x52,0x64,0x40,0x4d,0xe3,0xe1,0x18,0x60,0xed,0x78,
+0xff,0xff,0x98,0xff,0x30,0x44,0x02,0xa8,0x00,0xe1,0x02,0x02,0xa1,0xff,0xff,0xff,
+0x84,0xff,0x88,0xff,0x98,0xff,0x99,0xff,0xf2,0xe6,0xda,0xe6,0x98,0xff,0x1a,0x60,
+0xb9,0x64,0x40,0x40,0x9e,0xf3,0x74,0xfb,0x0a,0x64,0x40,0x4b,0x21,0x60,0x80,0x65,
+0xab,0xf3,0xff,0xff,0xa5,0xdb,0x01,0x64,0x80,0xfb,0x00,0x64,0x82,0xfb,0x81,0xfb,
+0x40,0x5c,0x1a,0x60,0xb9,0x78,0xff,0xff,0x98,0xff,0x88,0xe2,0x30,0x44,0x00,0xe1,
+0x02,0xa8,0x85,0xff,0x02,0x02,0xa1,0xff,0xff,0xff,0x88,0xff,0x99,0xff,0x00,0x60,
+0x00,0xeb,0xff,0xff,0xff,0xff,0x00,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0x4f,0x60,
+0xf3,0xea,0x4f,0x60,0x36,0xeb,0x43,0x60,0x40,0xea,0x43,0x60,0xe4,0xeb,0x44,0x60,
+0x52,0xea,0x44,0x60,0x34,0xeb,0x45,0x60,0x7d,0xea,0x45,0x60,0x58,0xeb,0x47,0x60,
+0x8b,0xea,0x47,0x60,0xd0,0xeb,0x48,0x60,0x47,0xea,0x48,0x60,0xc3,0xeb,0x49,0x60,
+0xa0,0xea,0x49,0x60,0xfd,0xeb,0x4a,0x60,0xb2,0xea,0x4a,0x60,0x34,0xeb,0x4b,0x60,
+0xc1,0xea,0x4b,0x60,0x58,0xeb,0x4c,0x60,0xd7,0xea,0x4c,0x60,0xc0,0xeb,0x4d,0x60,
+0xeb,0xea,0x4d,0x60,0xd0,0xeb,0x4e,0x60,0xa0,0xea,0x4e,0x60,0x91,0xeb,0x40,0x60,
+0xf0,0xea,0x40,0x60,0xfc,0xeb,0x41,0x60,0x24,0xea,0x41,0x60,0xa2,0xeb,0x42,0x60,
+0x20,0xea,0x42,0x60,0x20,0xeb,0x3a,0x5c,0x80,0x2b,0x12,0x00,0x8b,0xff,0x74,0x40,
+0x88,0xff,0x3a,0x5c,0x80,0x2b,0x09,0x00,0x8b,0xff,0x74,0x40,0x88,0xff,0x3a,0x5c,
+0x80,0x2b,0x03,0x00,0x8b,0xff,0x74,0x40,0x88,0xff,0x8b,0xff,0x74,0x40,0x88,0xff,
+0x3a,0x5c,0x80,0x2b,0xff,0xff,0x31,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0x00,0x60,
+0x00,0xea,0x3a,0x5c,0x80,0x27,0x06,0x00,0x31,0x60,0x00,0xea,0xff,0xff,0xff,0xff,
+0x00,0x60,0x00,0xea,0x30,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0x3a,0x5c,0x3a,0x5c,
+0x40,0x27,0xfd,0x00,0x00,0x60,0x00,0xeb,0xa0,0x60,0x00,0xeb,0xc0,0x60,0x00,0xeb,
+0x30,0x60,0x00,0xeb,0x3b,0x5c,0x3b,0x5c,0x40,0x27,0xfd,0x00,0x98,0xff,0xc0,0x60,
+0x00,0xeb,0x00,0x64,0x2f,0xfb,0x31,0xfb,0xff,0xff,0x6a,0x60,0x9e,0x62,0x00,0x64,
+0xa2,0xdb,0x0a,0x64,0x40,0x48,0x03,0x60,0xe8,0x64,0x40,0x4b,0x6a,0x60,0x9c,0x62,
+0x05,0x60,0xdc,0x64,0xa2,0xdb,0x1e,0x64,0x40,0x4c,0x69,0xe1,0x04,0x60,0x00,0x71,
+0x8d,0xe2,0x00,0x64,0x40,0x40,0xfb,0x60,0x27,0x78,0xff,0xff,0xa2,0xff,0x98,0xff,
+0x30,0x44,0x02,0xa8,0x00,0xe1,0x28,0x03,0x86,0xff,0x88,0xff,0x19,0x60,0x5c,0x65,
+0x64,0x64,0xa5,0xdb,0xff,0xff,0x00,0x64,0x40,0x46,0x4c,0xfb,0x28,0x60,0x58,0x4f,
+0x1b,0x78,0xff,0xff,0x28,0x60,0x58,0x4f,0x04,0x78,0xff,0xff,0x28,0x60,0x58,0x4f,
+0x8c,0x78,0xff,0xff,0x27,0x60,0x58,0x4f,0xb8,0x78,0xff,0xff,0x27,0x60,0x58,0x4f,
+0x65,0x78,0xff,0xff,0x27,0x60,0x58,0x4f,0x4e,0x78,0xff,0xff,0x27,0x60,0x58,0x4f,
+0x7c,0x78,0xff,0xff,0x13,0xe1,0xa3,0xff,0x3d,0x60,0x36,0x78,0xff,0xff,0x0f,0x4e,
+0x01,0x60,0xe4,0x61,0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,
+0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,
+0x08,0xfe,0x0e,0x4f,0x66,0x44,0x15,0xfb,0x07,0xe1,0xa3,0xff,0x04,0x60,0x41,0x76,
+0x00,0x60,0x00,0x7c,0x08,0x60,0x14,0x64,0xa0,0xd9,0xae,0xff,0x30,0x60,0x09,0x78,
+0xff,0xff,0xa1,0xff,0xff,0xff,0x2c,0x45,0xb8,0x3f,0x41,0xff,0x30,0x44,0x20,0xb4,
+0x34,0x91,0x9f,0xfe,0xff,0xff,0x43,0x05,0x29,0x44,0x05,0x22,0xf2,0x00,0x04,0x26,
+0x3a,0x00,0x01,0x2a,0xee,0x00,0x44,0xff,0xc8,0x74,0xcd,0xe2,0x0c,0xe1,0x29,0x44,
+0xfe,0xb4,0x40,0x49,0x24,0x41,0xe1,0x81,0x00,0x60,0xc8,0x65,0xc5,0x94,0x0c,0xe1,
+0xe0,0x00,0x1a,0xff,0xde,0x00,0xdd,0x00,0x41,0xff,0x40,0x64,0x96,0xfb,0x3e,0x44,
+0x01,0x26,0xd7,0x00,0x08,0x00,0xc4,0xe2,0x41,0x64,0x96,0xfb,0x3e,0x44,0x01,0x2a,
+0x02,0x00,0x62,0xff,0x09,0x00,0x01,0x64,0xcb,0xfb,0x6a,0x60,0xa8,0x62,0xa2,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x1a,0xff,0x6b,0x60,0x28,0x62,0x01,0x64,0xa2,0xdb,
+0x08,0xe1,0x00,0x64,0x40,0x49,0x72,0x52,0x32,0x7b,0x4d,0xe2,0x44,0xff,0xb9,0x00,
+0xb8,0x00,0xb7,0x00,0xb6,0x00,0x29,0x44,0xfb,0xb4,0x40,0x49,0xb6,0x00,0x59,0xf3,
+0xff,0xff,0xff,0xff,0x04,0x2a,0x04,0x00,0xbf,0xfe,0x10,0x60,0x75,0x78,0xff,0xff,
+0x8f,0xf1,0x99,0xff,0x64,0x40,0x02,0x3b,0x03,0x00,0x11,0x60,0x21,0x78,0xff,0xff,
+0x03,0x60,0xe8,0x74,0xcd,0xe2,0x04,0xe1,0xa1,0xff,0xff,0xff,0x3c,0x44,0x6f,0xb4,
+0x40,0x5c,0x00,0x6b,0x3e,0x44,0x74,0xb4,0x04,0xbc,0x40,0x5e,0xff,0xff,0xff,0xff,
+0x02,0xbd,0x45,0x5e,0xff,0xff,0xff,0xff,0x40,0x5e,0x00,0xe1,0x00,0x7c,0x15,0x60,
+0xb8,0x62,0x58,0x4f,0x18,0x00,0x58,0x4f,0x16,0x00,0x58,0x4f,0x14,0x00,0x58,0x4f,
+0x12,0x00,0x01,0x7c,0x58,0x4f,0x0f,0x00,0x58,0x4f,0x0d,0x00,0x3d,0x44,0x7f,0xb4,
+0x40,0x5d,0xff,0xff,0xff,0xff,0x80,0xbc,0x40,0x5d,0xbf,0xfe,0x2d,0xff,0x08,0xe1,
+0x10,0x60,0x43,0x78,0xff,0xff,0x02,0x65,0xa2,0xd3,0x02,0xa2,0x60,0x47,0xe0,0x84,
+0xe0,0x84,0xe0,0x84,0xe0,0x81,0x06,0x63,0xe1,0x81,0x3d,0x44,0x80,0xb4,0x10,0xbc,
+0x02,0x24,0x04,0xbc,0x40,0x5d,0xff,0xff,0x34,0x9d,0xf6,0x1f,0xff,0xff,0xff,0xff,
+0x40,0x5d,0xa2,0xd3,0x02,0xa2,0x60,0x47,0x60,0x41,0x0e,0x63,0xe1,0x81,0x3d,0x44,
+0x80,0xb4,0x10,0xbc,0x02,0x24,0x04,0xbc,0x40,0x5d,0xff,0xff,0x34,0x9d,0xf6,0x1f,
+0xff,0xff,0xff,0xff,0x40,0x5d,0xa2,0xd3,0x02,0xa2,0x60,0x47,0x60,0x41,0x0e,0x63,
+0xe1,0x81,0x3d,0x44,0x80,0xb4,0x10,0xbc,0x02,0x24,0x04,0xbc,0x40,0x5d,0xff,0xff,
+0x34,0x9d,0xf6,0x1f,0xff,0xff,0xff,0xff,0x40,0x5d,0x64,0x40,0x01,0x26,0x08,0x00,
+0x3c,0x44,0x5f,0xb4,0x20,0x65,0x34,0x9c,0xff,0xff,0xff,0xff,0x40,0x5c,0x05,0x00,
+0x01,0x65,0x34,0x9d,0xff,0xff,0xff,0xff,0x40,0x5d,0x2f,0x58,0xff,0xff,0x8f,0xf1,
+0x00,0xe1,0x64,0x44,0x00,0x7f,0xe0,0x85,0xc4,0x84,0xe0,0x85,0x3c,0x44,0x6f,0xb4,
+0x40,0x5c,0x00,0x6b,0x3e,0x44,0x74,0xb4,0x40,0x5e,0x01,0x7c,0x15,0x60,0xdc,0x62,
+0xc6,0x82,0x58,0x4f,0xa0,0x00,0x01,0x60,0xf4,0x64,0x60,0x54,0xcd,0xe2,0x32,0x44,
+0x08,0x2b,0xfd,0x00,0x3c,0x44,0x7f,0xb4,0x10,0xbc,0x40,0x5c,0x62,0xff,0x01,0x7c,
+0x08,0x60,0x2a,0x64,0xa0,0xd9,0x90,0xf3,0xbf,0xfe,0x60,0x40,0x05,0x36,0x2d,0xff,
+0x07,0x36,0xd8,0xfe,0x08,0xe1,0x10,0x60,0x43,0x78,0xff,0xff,0xcb,0xf3,0xff,0xff,
+0x60,0x40,0x00,0x36,0x03,0x00,0x0e,0x60,0x5e,0x78,0xff,0xff,0x00,0x64,0x96,0xfb,
+0x0a,0x64,0x40,0x4c,0x19,0xff,0x22,0xf3,0x20,0x44,0x01,0x2a,0x04,0x00,0x00,0x64,
+0x40,0x40,0x97,0xf3,0x0b,0x00,0x00,0x3a,0x32,0x00,0x1a,0xe1,0x00,0x64,0xc0,0xfb,
+0x31,0x44,0x01,0x26,0x1b,0xe1,0xa1,0xff,0xff,0xff,0xb9,0x3f,0x72,0x45,0xdc,0x84,
+0x97,0xfb,0x60,0x55,0x65,0x52,0x11,0x64,0x96,0xfb,0x98,0xf3,0x06,0x04,0xdc,0x84,
+0x98,0xfb,0x99,0xf3,0x02,0x04,0xdc,0x84,0x99,0xfb,0x3e,0xf3,0xff,0xff,0xfe,0xa0,
+0x59,0xf3,0xe3,0x04,0x60,0x40,0x02,0x2a,0xe0,0x00,0x99,0xff,0x3d,0x44,0x7f,0xb4,
+0x00,0x7f,0x40,0x5d,0x80,0xbc,0xff,0xff,0xff,0xff,0x40,0x5d,0x98,0xff,0x00,0x64,
+0x3e,0xfb,0xd3,0x00,0x21,0xf1,0x43,0xff,0x64,0x40,0x07,0x26,0x03,0x00,0x12,0x60,
+0x01,0x78,0xff,0xff,0x6c,0x40,0x03,0xe1,0x3c,0x46,0x0f,0xf0,0x46,0xf3,0x64,0x40,
+0x01,0x2a,0x09,0x00,0x60,0x5c,0x62,0x60,0xda,0x61,0xa1,0xd3,0xff,0xff,0xd0,0x80,
+0xff,0xff,0x01,0x06,0x64,0x44,0x1c,0xf0,0xff,0xff,0x64,0x41,0x08,0xb1,0x60,0x45,
+0x03,0x22,0x00,0x61,0xb5,0x85,0x2b,0x5c,0xd1,0x80,0x1e,0xf1,0x0b,0x03,0x41,0x4b,
+0x38,0x64,0x65,0x40,0x08,0x2a,0x80,0x64,0x60,0x48,0x88,0x6a,0xff,0xff,0xff,0xff,
+0x01,0x16,0xfe,0x00,0x00,0x6b,0x99,0xff,0x3e,0x44,0x01,0xbc,0x00,0x7f,0x40,0x5e,
+0xcc,0xf1,0x3d,0x44,0xe7,0xb4,0x40,0x5d,0x3e,0x44,0xed,0xb4,0xb0,0x84,0x40,0x5e,
+0x3d,0x44,0x08,0xbc,0x40,0x5d,0x98,0xff,0x05,0x64,0xcc,0x84,0xff,0xff,0xfd,0x02,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x99,0xff,
+0x3e,0x44,0x77,0xb4,0x80,0xbc,0x40,0x5e,0x98,0xff,0x73,0xf1,0x10,0x64,0x64,0x40,
+0x0e,0x36,0xb4,0x85,0x65,0x48,0x8a,0x6a,0xff,0xff,0xff,0xff,0x01,0x16,0xfe,0x00,
+0x3e,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x0a,0x03,0x99,0xff,0x3d,0x44,0x7f,0xb4,
+0x00,0x7f,0x40,0x5d,0x80,0xbd,0x00,0x64,0x3e,0xfb,0x45,0x5d,0x98,0xff,0x21,0xf1,
+0x22,0xf3,0x64,0x45,0x00,0xbc,0x00,0x64,0x4d,0x03,0x00,0x61,0x22,0xfb,0x52,0xf1,
+0x9a,0xf3,0x64,0x40,0x04,0x2a,0x06,0x00,0x60,0x45,0x73,0x44,0xd4,0x84,0xe7,0xa0,
+0x0d,0x0e,0x0c,0x04,0x2b,0x60,0xc2,0x63,0x72,0x45,0x65,0x44,0xc3,0xfb,0x04,0x05,
+0x65,0x44,0xdc,0x80,0xff,0xff,0x05,0x02,0x01,0x64,0x40,0x40,0x11,0x60,0x50,0x78,
+0xff,0xff,0xff,0x60,0xf0,0x64,0xd4,0x80,0x20,0xa4,0xf8,0x04,0xd4,0x80,0xff,0xff,
+0xf5,0x07,0x02,0xfe,0xbd,0xd3,0xff,0xff,0x44,0x8a,0x02,0x24,0xdd,0x81,0x02,0x24,
+0xdd,0x81,0xbd,0xd3,0x97,0xf1,0x61,0x45,0xc0,0x84,0x00,0x61,0x02,0x24,0x01,0xb9,
+0xc4,0x84,0x60,0x55,0x2a,0x52,0x97,0xfb,0x02,0x24,0x01,0xb9,0xbd,0xd3,0x98,0xf1,
+0x61,0x45,0xc0,0x84,0x00,0x61,0x02,0x24,0x01,0xb9,0xc4,0x84,0x98,0xfb,0x02,0x24,
+0x01,0xb9,0xbd,0xd3,0x99,0xf1,0x61,0x45,0xc0,0x84,0xc4,0x84,0x99,0xfb,0x21,0xf3,
+0xff,0xff,0x60,0x45,0x65,0x40,0x01,0x2a,0x07,0x00,0x3c,0x44,0x40,0x42,0x21,0xf3,
+0xff,0xff,0xfe,0xb4,0x21,0xfb,0x06,0x00,0x11,0x60,0x50,0x78,0xff,0xff,0x11,0x60,
+0x50,0x78,0xff,0xff,0x07,0x64,0x96,0xfb,0x22,0x46,0x0f,0xf0,0xff,0xff,0x64,0x40,
+0x01,0x2a,0x03,0x00,0x16,0x60,0x03,0x78,0xff,0xff,0x15,0x60,0x0c,0x78,0xff,0xff,
+0x27,0x44,0x04,0x2a,0x09,0x00,0xfb,0xb4,0x40,0x47,0x3c,0x46,0x02,0x64,0x20,0xfb,
+0xc0,0xfe,0x11,0x60,0x50,0x78,0xff,0xff,0x27,0x44,0x02,0x2a,0x08,0x00,0xfd,0xb4,
+0x40,0x47,0x06,0x64,0x20,0xfb,0xc0,0xfe,0x11,0x60,0x50,0x78,0xff,0xff,0x02,0x0a,
+0x00,0x64,0x60,0x50,0x11,0x60,0x50,0x78,0xff,0xff,0x01,0x60,0x2c,0x74,0xcd,0xe2,
+0x46,0xff,0x47,0xff,0x01,0x64,0x4a,0xfb,0x83,0xe1,0x00,0x65,0x26,0x44,0x02,0x26,
+0x09,0x00,0x3e,0x44,0x34,0x81,0xff,0xff,0x05,0x03,0x45,0x5e,0x26,0x44,0x02,0xbc,
+0x40,0x46,0xd1,0xfe,0x0c,0x64,0x40,0x4c,0x19,0xff,0xa1,0xff,0x4c,0x4e,0x01,0x25,
+0x00,0x00,0x01,0x64,0xc0,0xfb,0x4b,0x74,0xcd,0xe2,0xf0,0x60,0x00,0x78,0x00,0x61,
+0x46,0xff,0x47,0xff,0x11,0x60,0x50,0x78,0xff,0xff,0x99,0xff,0x3e,0x44,0xfd,0xb4,
+0x40,0x5e,0x98,0xff,0xb5,0xff,0xbc,0xff,0x46,0xff,0xb7,0xff,0xb4,0xff,0xff,0xff,
+0xff,0xff,0x84,0x60,0x1d,0x7d,0xb5,0xff,0xff,0xff,0x99,0xff,0x07,0x60,0x80,0xe9,
+0x98,0xff,0xff,0xff,0xff,0xff,0x80,0xe9,0xff,0xff,0xff,0xff,0xb7,0xff,0xb4,0xff,
+0xff,0xff,0x99,0xff,0x3e,0x44,0x02,0xbc,0x00,0x7f,0x40,0x5e,0x98,0xff,0xff,0xff,
+0xff,0xff,0x46,0xff,0x47,0xff,0x26,0x43,0x04,0x2a,0x54,0x00,0xfb,0xb3,0x43,0x46,
+0x04,0xbb,0x2a,0x44,0x23,0xfa,0x20,0x44,0xe8,0x80,0x00,0x64,0x40,0x40,0x97,0xf3,
+0x05,0x04,0x72,0x45,0xdc,0x84,0x97,0xfb,0x60,0x55,0x65,0x52,0x24,0xfa,0x98,0xf3,
+0x02,0x04,0xdc,0x84,0x98,0xfb,0x27,0xfa,0x99,0xf3,0x02,0x04,0xdc,0x84,0x99,0xfb,
+0x28,0xfa,0x65,0x44,0xdc,0x80,0xff,0xff,0x04,0x03,0x2a,0x44,0xdc,0x80,0xff,0xff,
+0x01,0x02,0x58,0x80,0xf4,0xb3,0x32,0x40,0x01,0x2a,0x08,0x00,0x04,0xbb,0x0f,0xfc,
+0x01,0x5d,0xdc,0xfe,0x05,0xff,0x11,0x60,0x50,0x78,0xff,0xff,0x2d,0x44,0x0c,0x26,
+0x0d,0x00,0xbf,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x04,0x03,0x26,0x44,0x02,0xbc,
+0x40,0x46,0x36,0x00,0x0f,0xfc,0x01,0x5d,0xdc,0xfe,0x05,0xff,0x27,0x44,0x04,0x2a,
+0x09,0x00,0xfb,0xb4,0x40,0x47,0x2d,0x44,0x58,0x36,0x37,0x00,0x02,0x64,0x20,0xfb,
+0xc0,0xfe,0x26,0x00,0x02,0x2a,0x24,0x00,0xfd,0xb4,0x40,0x47,0x06,0x64,0x20,0xfb,
+0xc0,0xfe,0x1e,0x00,0x2a,0x44,0xdc,0x80,0xff,0xff,0x01,0x02,0x58,0x80,0x27,0x44,
+0x80,0x2a,0x13,0x00,0x7f,0xb4,0x40,0x47,0x27,0x44,0x04,0x2a,0x06,0x00,0xfb,0xb4,
+0x40,0x47,0x02,0x64,0x20,0xfb,0xc0,0xfe,0x08,0x00,0x27,0x44,0x02,0x2a,0x05,0x00,
+0xfd,0xb4,0x40,0x47,0x06,0x64,0x20,0xfb,0xc0,0xfe,0x11,0x60,0x50,0x78,0xff,0xff,
+0x26,0x44,0x80,0x2a,0x07,0x00,0x1f,0xf1,0x70,0x44,0xd0,0x80,0xff,0xff,0x02,0x05,
+0x64,0xe2,0x64,0x50,0x11,0x60,0x50,0x78,0xff,0xff,0x06,0x64,0x96,0xfb,0x22,0x46,
+0x29,0xf0,0xf7,0x60,0xff,0x64,0xa0,0x84,0xa2,0xda,0x04,0x64,0x03,0xfa,0x00,0xf2,
+0xff,0xff,0x04,0xfa,0x01,0x64,0x20,0xfb,0xc0,0xfe,0x11,0x60,0x50,0x78,0xff,0xff,
+0x04,0x64,0x96,0xfb,0x46,0xff,0x47,0xff,0x0a,0x64,0x40,0x4c,0x19,0xff,0x03,0xe1,
+0x29,0xf2,0xff,0xff,0x0c,0xb4,0xff,0xff,0x08,0x3a,0x0f,0x00,0x18,0x60,0x80,0x64,
+0xa0,0xd3,0xff,0xff,0xe8,0x84,0xe0,0x84,0x60,0x45,0x18,0x60,0x84,0x64,0xc4,0x84,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0xff,0xff,0xa1,0xff,0xff,0xff,0xb9,0x3f,
+0x22,0xf2,0x08,0x63,0xff,0xff,0x08,0x2a,0x00,0x63,0x28,0x44,0x04,0x26,0x0a,0x00,
+0x25,0x44,0x06,0xfa,0x60,0x46,0x01,0xf2,0xff,0xff,0x61,0x5e,0x03,0x2b,0x01,0xfa,
+0x21,0x46,0x0d,0x00,0x28,0x44,0xb4,0x36,0x0a,0x00,0x08,0x63,0x3c,0x46,0x1c,0xf2,
+0x46,0xf3,0x60,0x40,0x08,0x2a,0x00,0x63,0x21,0x46,0x60,0x45,0x1b,0x00,0x20,0xf2,
+0xff,0xff,0x00,0x7f,0xf6,0xa0,0x00,0x65,0x07,0x03,0xec,0xa0,0x01,0x65,0x04,0x03,
+0xc9,0xa0,0x02,0x65,0x01,0x03,0x03,0x65,0x29,0xf2,0xff,0xff,0x0c,0xb4,0xff,0xff,
+0x00,0x36,0x08,0x00,0x62,0x60,0xda,0x62,0xa2,0xd3,0xff,0xff,0xd4,0x80,0xff,0xff,
+0x01,0x05,0x60,0x45,0x45,0x45,0x65,0x40,0x03,0x22,0x00,0x63,0xb7,0x85,0x2b,0x5c,
+0xd3,0x80,0xff,0xff,0x0b,0x03,0x43,0x4b,0x38,0x64,0x65,0x40,0x08,0x2a,0x80,0x64,
+0x60,0x48,0x88,0x6a,0xff,0xff,0xff,0xff,0x01,0x16,0xfe,0x00,0x00,0x6b,0x99,0xff,
+0x3e,0x44,0x01,0xbc,0x00,0x7f,0x40,0x5e,0xcc,0xf1,0x3d,0x44,0xe7,0xb4,0x40,0x5d,
+0x3e,0x44,0xed,0xb4,0xb0,0x84,0x40,0x5e,0x3d,0x44,0x08,0xbc,0x40,0x5d,0x98,0xff,
+0x05,0x64,0xcc,0x84,0xff,0xff,0xfd,0x02,0xff,0xff,0xff,0xff,0xf0,0x27,0x7e,0x00,
+0x3e,0x06,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x99,0xff,0x3e,0x44,
+0x77,0xb4,0x80,0xbc,0x40,0x5e,0x98,0xff,0x73,0xf1,0x00,0x64,0x64,0x40,0x0e,0x36,
+0x10,0x64,0xb4,0x85,0x65,0x48,0x8a,0x6a,0xff,0xff,0xff,0xff,0x01,0x16,0xfe,0x00,
+0x3e,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x0a,0x03,0x99,0xff,0x3d,0x44,0x7f,0xb4,
+0x00,0x7f,0x40,0x5d,0x80,0xbd,0x00,0x64,0x3e,0xfb,0x45,0x5d,0x98,0xff,0x2a,0x44,
+0x23,0xfa,0x20,0x44,0xe8,0x80,0x00,0x64,0x40,0x40,0x97,0xf3,0x05,0x04,0x72,0x45,
+0xdc,0x84,0x97,0xfb,0x60,0x55,0x65,0x52,0x24,0xfa,0x98,0xf3,0x02,0x04,0xdc,0x84,
+0x98,0xfb,0x27,0xfa,0x99,0xf3,0x02,0x04,0xdc,0x84,0x99,0xfb,0x28,0xfa,0x65,0x44,
+0xdc,0x80,0xff,0xff,0x04,0x03,0x2a,0x44,0xdc,0x80,0xff,0xff,0x01,0x02,0x58,0x80,
+0x08,0x29,0x09,0x00,0x21,0xf1,0xff,0xff,0x64,0x40,0x07,0x2e,0x04,0x00,0x43,0xff,
+0x10,0x64,0x20,0xfb,0xc0,0xfe,0x2d,0x44,0x08,0x22,0x03,0x00,0x0d,0xb0,0x0c,0x3a,
+0x0a,0x00,0x26,0x43,0x84,0xbb,0xf4,0xb3,0x21,0x46,0x0f,0xfc,0x00,0x64,0x40,0x46,
+0x01,0x5d,0xdc,0xfe,0x05,0xff,0x09,0x64,0x96,0xfb,0x28,0x44,0xb4,0x3a,0x0b,0x00,
+0x27,0x44,0x06,0x22,0x05,0x00,0xf9,0xb4,0x40,0x47,0x02,0x64,0x20,0xfb,0xc0,0xfe,
+0x16,0x60,0xc0,0x78,0xff,0xff,0xa4,0x36,0x0a,0x00,0x04,0x26,0x0b,0x00,0x27,0x44,
+0x06,0x22,0x05,0x00,0xf9,0xb4,0x40,0x47,0x02,0x64,0x20,0xfb,0xc0,0xfe,0x16,0x60,
+0x89,0x78,0xff,0xff,0x28,0x44,0xd4,0x3a,0x5b,0x00,0x48,0xe2,0x1c,0x42,0x22,0x46,
+0x1c,0xf2,0xff,0xff,0x07,0xb4,0xfc,0xa0,0x03,0x64,0x01,0x02,0x1c,0xfa,0x27,0xf0,
+0x01,0x60,0x00,0x64,0xc0,0x84,0x27,0xfa,0x26,0xf0,0xff,0x60,0x00,0x64,0xa0,0x84,
+0x26,0xfa,0x63,0x60,0x5e,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x46,0xf3,0x00,0x7c,0x60,0x43,
+0xe0,0x84,0xe0,0x84,0x60,0x45,0x63,0x60,0x62,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x19,0x60,0x52,0x65,0xe3,0x83,0xc7,0x82,0xa2,0xd9,0x27,0x44,0xfb,0xb4,0x40,0x47,
+0x29,0xf0,0xf7,0x60,0xff,0x64,0xa0,0x84,0xa2,0xda,0x0b,0xf2,0x03,0xfa,0xff,0xff,
+0x0c,0xf2,0x04,0xfa,0x34,0xf2,0xff,0xff,0xdc,0x84,0x34,0xfa,0x14,0xf2,0x0f,0xb5,
+0x0f,0xb4,0xcc,0x84,0x94,0x80,0x29,0xf0,0x04,0x02,0xfb,0x60,0xff,0x64,0xa0,0x84,
+0x03,0x00,0x04,0x64,0x60,0x47,0xb0,0x84,0x29,0xfa,0x00,0x64,0x15,0xfa,0x35,0x00,
+0xc4,0x3a,0x1d,0x00,0x27,0x44,0xfd,0xb4,0x40,0x47,0x48,0xe2,0x63,0x60,0xa0,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x64,0x60,0x30,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x16,0x00,0x28,0x44,
+0x04,0x2a,0x01,0x00,0x00,0x00,0x04,0x26,0x08,0x00,0x68,0x3a,0x06,0x00,0x32,0x44,
+0x00,0x2b,0x03,0x00,0x15,0x60,0x07,0x78,0xff,0xff,0x11,0x60,0x50,0x78,0xff,0xff,
+0x0a,0x64,0x96,0xfb,0x11,0x60,0x50,0x78,0xff,0xff,0x1c,0x42,0x22,0x46,0x46,0xf3,
+0xff,0xff,0x40,0x45,0x29,0xf2,0xff,0xff,0xff,0xff,0x04,0x2b,0x59,0x00,0x16,0xf2,
+0xff,0xff,0x40,0x43,0x21,0xf2,0x25,0x40,0x02,0x36,0xe0,0x84,0x48,0xf3,0x60,0x41,
+0x60,0x45,0x22,0x60,0x58,0x4f,0xe1,0x78,0xff,0xff,0xae,0x81,0xff,0xff,0x0d,0x03,
+0xdc,0x84,0x03,0x65,0xd5,0x80,0x25,0x40,0x03,0x3a,0x07,0x00,0x06,0x07,0x23,0x5c,
+0x60,0x41,0x00,0x64,0x80,0x7f,0x30,0x83,0x61,0x44,0x40,0x44,0x0f,0x64,0x14,0xf0,
+0x34,0xf2,0xa0,0x81,0x0f,0xb4,0xc9,0x85,0xd4,0x80,0x24,0x44,0x0f,0x02,0x1f,0xf2,
+0x25,0x40,0x02,0x36,0xe0,0x84,0x48,0xf3,0x60,0x41,0x60,0x45,0x22,0x60,0x58,0x4f,
+0xe1,0x78,0xff,0xff,0xae,0x81,0xff,0xff,0x01,0x03,0xdc,0x84,0xc0,0x65,0xc4,0x85,
+0x62,0x60,0xda,0x61,0xa1,0xd1,0x25,0x44,0xd0,0x80,0xff,0xff,0x01,0x04,0x64,0x44,
+0xe0,0x84,0xe0,0x84,0xe0,0x9c,0x19,0x60,0xf4,0x64,0x2b,0x40,0x08,0x26,0x03,0x00,
+0x40,0xd1,0x65,0x44,0x04,0x00,0x04,0xa4,0x40,0xd1,0x65,0x44,0xa0,0xa4,0xc0,0x84,
+0xa8,0xf1,0xc0,0x84,0xc0,0x84,0x2a,0xfa,0x27,0x44,0x40,0xbc,0x40,0x47,0x3e,0x00,
+0x17,0xf2,0x1f,0xf2,0x40,0x43,0x25,0x40,0x02,0x36,0xe0,0x84,0x48,0xf3,0x60,0x41,
+0x60,0x45,0x22,0x60,0x58,0x4f,0xe1,0x78,0xff,0xff,0xae,0x81,0xff,0xff,0x0d,0x03,
+0xdc,0x84,0x03,0x65,0xd5,0x80,0x25,0x40,0x03,0x3a,0x07,0x00,0x06,0x07,0x23,0x5c,
+0x60,0x41,0x00,0x64,0x80,0x7f,0x30,0x83,0x61,0x44,0x40,0x44,0x29,0xf2,0xff,0xff,
+0x60,0x40,0xc4,0x36,0x18,0x00,0x56,0x64,0xa0,0xd2,0x00,0x7c,0x60,0x40,0x01,0x26,
+0x11,0x00,0x62,0x60,0xda,0x61,0xa1,0xd1,0x25,0x44,0xd0,0x80,0xff,0xff,0x01,0x04,
+0x64,0x44,0xe0,0x84,0xe0,0x84,0xe0,0x85,0x19,0x60,0xf4,0x64,0x2b,0x40,0x08,0x26,
+0x04,0xa4,0x44,0xd1,0x2a,0xf8,0x27,0x44,0xbf,0xb4,0x40,0x47,0x22,0x46,0x29,0xf0,
+0x6b,0x44,0x64,0x40,0x40,0x27,0x80,0xbc,0x60,0x4b,0xf3,0x60,0x58,0x4f,0xd8,0x78,
+0xff,0xff,0xbc,0xff,0x22,0x46,0x2b,0xf2,0xff,0xff,0xff,0xff,0x01,0x26,0x0e,0x00,
+0x27,0x44,0x04,0xbc,0x40,0x47,0x24,0xf3,0xb4,0xff,0x60,0x5b,0x4d,0xe2,0x84,0x60,
+0x1d,0x7d,0x8e,0x60,0x00,0x6b,0x13,0x60,0x72,0x78,0xff,0xff,0xb5,0xff,0xbc,0xff,
+0x46,0xff,0x47,0xff,0xb7,0xff,0xb4,0xff,0x00,0x6b,0x99,0xff,0x3e,0x44,0x7c,0xb4,
+0x08,0xbc,0x40,0x5e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x99,0xff,0x3d,0x44,0x10,0xbc,0x00,0x7f,0x40,0x5d,0x98,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xb7,0xff,0xb4,0xff,0xff,0xff,0xff,0xff,0x84,0x60,0x1d,0x7d,
+0x99,0xff,0x3e,0x44,0x02,0xbc,0x00,0x7f,0x40,0x5e,0x98,0xff,0xff,0xff,0x46,0xff,
+0x47,0xff,0x13,0x60,0x5f,0x78,0xff,0xff,0x0e,0x64,0x96,0xfb,0x00,0x60,0x13,0x66,
+0x46,0x42,0x10,0x60,0x00,0x7c,0x3c,0x46,0x29,0xf2,0x22,0x46,0xa0,0x84,0xb4,0xbc,
+0x29,0xfa,0x62,0x60,0xda,0x61,0xa1,0xd1,0x46,0xf3,0xff,0xff,0xd0,0x80,0xff,0xff,
+0x01,0x06,0x64,0x44,0x40,0x45,0x3c,0x46,0x2b,0xf2,0x2c,0xf0,0x60,0x43,0x2d,0xf2,
+0x22,0x46,0x2b,0xfc,0x2c,0xf8,0x2d,0xfa,0x3c,0x46,0x2e,0xf2,0x2f,0xf0,0x60,0x43,
+0x30,0xf2,0x22,0x46,0x2e,0xfc,0x2f,0xf8,0x30,0xfa,0x3c,0x46,0x29,0xf2,0xff,0xff,
+0xff,0xff,0x04,0x2b,0x13,0x00,0x21,0xf2,0x46,0xf1,0xff,0xff,0x64,0x40,0x02,0x36,
+0xe0,0x84,0x48,0xf3,0x60,0x41,0x60,0x45,0x22,0x60,0x58,0x4f,0xe1,0x78,0xff,0xff,
+0xae,0x81,0xff,0xff,0x01,0x03,0xdc,0x84,0x40,0x44,0x12,0x00,0x1f,0xf2,0x46,0xf1,
+0xff,0xff,0x64,0x40,0x02,0x36,0xe0,0x84,0x48,0xf3,0x60,0x41,0x60,0x45,0x22,0x60,
+0x58,0x4f,0xe1,0x78,0xff,0xff,0xae,0x81,0xff,0xff,0x01,0x03,0xdc,0x84,0x40,0x44,
+0x00,0x64,0x40,0x43,0x19,0x60,0xf2,0x63,0x25,0x44,0xe0,0x84,0xe0,0x84,0xe0,0x85,
+0xc7,0x83,0x2b,0x40,0x08,0x26,0x04,0xa3,0xbd,0xd1,0xa3,0xd1,0x64,0x43,0xc0,0x65,
+0x2b,0x40,0x08,0x26,0x60,0x65,0xd7,0x83,0xa8,0xf3,0xff,0xff,0xc0,0x84,0xc0,0x84,
+0xc4,0x84,0x24,0x45,0xc4,0x84,0x22,0x46,0x2a,0xfa,0x63,0x44,0xa8,0xf1,0xff,0xff,
+0xd0,0x84,0xff,0xff,0x40,0x44,0xf3,0x60,0x58,0x4f,0xd8,0x78,0xff,0xff,0xbc,0xff,
+0x27,0x44,0x02,0xbc,0x40,0x47,0x24,0xf3,0xb4,0xff,0x60,0x5b,0x4d,0xe2,0x13,0x60,
+0x72,0x78,0xff,0xff,0x0d,0x64,0x96,0xfb,0x00,0x64,0x40,0x43,0x25,0x44,0xe0,0x84,
+0xe0,0x84,0xe0,0x85,0x19,0x60,0xf4,0x64,0x2b,0x40,0x08,0x26,0x04,0xa4,0x44,0xd1,
+0x80,0x60,0x00,0x64,0x25,0x40,0x03,0x36,0x40,0x43,0xc0,0x65,0x2b,0x40,0x08,0x26,
+0x60,0x65,0x00,0x60,0x13,0x66,0x1f,0xf3,0x46,0x42,0xd0,0x83,0xff,0xff,0x02,0x28,
+0x00,0x63,0x2a,0xfc,0x64,0x44,0xa8,0xf1,0xd4,0x84,0xd0,0x84,0xff,0xff,0x40,0x44,
+0xd4,0x64,0x29,0xfa,0x21,0x46,0x2e,0xf2,0x2f,0xf0,0x60,0x43,0x30,0xf2,0x22,0x46,
+0x2b,0xfc,0x2c,0xf8,0x2d,0xfa,0xf3,0x60,0x58,0x4f,0xd8,0x78,0xff,0xff,0xbc,0xff,
+0x4c,0x00,0x0f,0x64,0x96,0xfb,0x64,0x60,0x2c,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x00,0x64,
+0x40,0x43,0x00,0x60,0x13,0x66,0x46,0x42,0xc4,0x64,0x29,0xfa,0x21,0x46,0x2e,0xf2,
+0x2f,0xf0,0x60,0x43,0x30,0xf2,0x22,0x46,0x2b,0xfc,0x2c,0xf8,0x2d,0xfa,0x25,0x44,
+0xe0,0x84,0xe0,0x84,0xe0,0x85,0x19,0x60,0xf4,0x64,0x2b,0x40,0x08,0x26,0x04,0xa4,
+0x44,0xd1,0x80,0x60,0x00,0x64,0x25,0x40,0x03,0x36,0x40,0x43,0xc0,0x65,0x2b,0x40,
+0x08,0x26,0x60,0x65,0x1f,0xf3,0x22,0x46,0xd0,0x84,0x2a,0xfa,0x64,0x44,0xa8,0xf1,
+0xd4,0x84,0xd0,0x84,0xff,0xff,0x40,0x44,0xf3,0x60,0x58,0x4f,0xd8,0x78,0xff,0xff,
+0xbc,0xff,0x63,0x60,0xa4,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0xb4,0xff,0xff,0xff,0xff,0xff,
+0x84,0x60,0x1d,0x7d,0x8e,0x60,0x00,0x6b,0x11,0x60,0x50,0x78,0xff,0xff,0xff,0x00,
+0x00,0xe0,0x7f,0x00,0xfe,0x0f,0xc7,0xf1,0x01,0x64,0xd0,0x80,0xbf,0xfb,0x1a,0x03,
+0xc6,0xfb,0x18,0x60,0x7a,0x65,0xa5,0xd3,0x41,0x4d,0xdc,0x84,0xa5,0xdb,0x26,0x44,
+0x02,0x26,0x17,0x00,0x3e,0x45,0x35,0x81,0xff,0xff,0x0f,0x02,0x64,0x60,0x78,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0xf3,0x60,0xac,0x78,0xff,0xff,0x41,0x5e,0x02,0x64,0x40,0x46,
+0xd1,0xfe,0x21,0x46,0x46,0x45,0x4c,0xe2,0x0e,0x64,0x40,0x4c,0x19,0xff,0x03,0xe1,
+0x26,0x44,0x02,0xb4,0x12,0xbc,0x40,0x46,0x2e,0x44,0x20,0xfa,0x18,0x60,0x10,0x62,
+0xa2,0xd1,0xff,0xff,0x64,0x40,0x01,0x2a,0x12,0x00,0x66,0x69,0xff,0xff,0xff,0xff,
+0x01,0x16,0xfe,0x00,0x68,0x44,0x00,0x7f,0x60,0x45,0x7c,0x69,0xff,0xff,0xff,0xff,
+0x01,0x16,0xfe,0x00,0x68,0x44,0x00,0x7f,0x60,0x47,0xb4,0x84,0x0f,0x00,0x00,0x65,
+0x7c,0x69,0xff,0xff,0xff,0xff,0x01,0x16,0xfe,0x00,0x68,0x44,0xce,0xf1,0x00,0x7f,
+0xd0,0x80,0xff,0xff,0x01,0x04,0x64,0x44,0x60,0x47,0xb4,0x84,0x25,0xfa,0x20,0xf2,
+0xff,0xff,0xff,0xb4,0x0a,0x36,0x00,0x7f,0x14,0x36,0x01,0x7f,0x37,0x36,0x02,0x7f,
+0x6e,0x36,0x03,0x7f,0x26,0xfa,0x00,0x7c,0x22,0xf8,0x24,0xf1,0x01,0x64,0x4a,0xfb,
+0x2e,0x44,0xa1,0xff,0x6c,0x43,0x21,0xfc,0x7e,0x69,0xc3,0x94,0xcd,0xe2,0x9c,0xfe,
+0xff,0xff,0x0e,0x04,0x6a,0x60,0xb4,0x62,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x01,0x64,0xbf,0xfb,0x27,0x44,0x80,0xbc,0x40,0x47,0xf3,0x60,0xb2,0x78,0xff,0xff,
+0xcb,0xf1,0xff,0xff,0x64,0x40,0x00,0x36,0x03,0x00,0x0e,0x60,0x5e,0x78,0xff,0xff,
+0x00,0x7c,0xbf,0xf9,0x40,0x45,0x6e,0x36,0x35,0x00,0x37,0x36,0x26,0x00,0x14,0x36,
+0x1f,0x00,0x0a,0x36,0x17,0x00,0x64,0x60,0x6c,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x21,0x63,
+0x96,0xfd,0x27,0x44,0x80,0xbc,0x40,0x47,0x07,0x60,0xd0,0x74,0xcd,0xe2,0xf3,0x60,
+0xb2,0x78,0xff,0xff,0xa1,0xff,0x4c,0x48,0xeb,0x83,0xeb,0x83,0xeb,0x83,0x20,0x00,
+0xa1,0xff,0x4c,0x48,0xeb,0x83,0xeb,0x83,0x1b,0x00,0xa1,0xff,0x4c,0x48,0xe3,0x85,
+0xc7,0x85,0xe3,0x83,0xe3,0x83,0xe3,0x83,0xc7,0x83,0xeb,0x83,0xeb,0x83,0xeb,0x83,
+0xeb,0x83,0x0e,0x00,0xe3,0x85,0xc7,0x85,0xe3,0x83,0xe3,0x83,0xe3,0x83,0xa1,0xff,
+0x4c,0x48,0xc7,0x83,0xeb,0x83,0xeb,0x83,0xeb,0x83,0xff,0xff,0x80,0x27,0xcf,0x83,
+0x1f,0xfc,0xfc,0xa3,0x3b,0xf3,0x43,0x43,0xa1,0xff,0x4c,0x4e,0x1c,0x7c,0xd0,0x9c,
+0xd3,0x80,0x20,0x44,0x0f,0x04,0x64,0x60,0x70,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x27,0x44,0x80,0xbc,0x40,0x47,0x07,0x60,0xd0,0x74,0xcd,0xe2,0xf3,0x60,
+0xb2,0x78,0xff,0xff,0xe8,0x84,0x52,0x4a,0x01,0x05,0x70,0x80,0x52,0x63,0x28,0x44,
+0xbd,0xda,0xff,0xff,0xa1,0xff,0x6c,0x45,0x2e,0x44,0x80,0x2b,0x1f,0xfb,0xbd,0xda,
+0x65,0x44,0xb0,0xf1,0xbd,0xda,0x50,0xfe,0xff,0xff,0x01,0x2a,0x04,0x00,0x26,0x44,
+0x20,0xbc,0x40,0x46,0x01,0x00,0xd0,0x80,0xa1,0xff,0x6c,0x44,0xb1,0xf1,0xbd,0xda,
+0xc4,0x85,0xd0,0x80,0x00,0x61,0x28,0x44,0x04,0x2a,0x03,0x00,0x40,0x27,0xd1,0x00,
+0x01,0x61,0xb2,0xf1,0xff,0xff,0xa1,0xff,0x6c,0x44,0xbd,0xda,0xc4,0x85,0xd0,0x80,
+0x32,0x44,0x01,0x2a,0x27,0x00,0x28,0x44,0xd4,0x36,0x02,0x00,0xc4,0x3a,0x06,0x00,
+0x00,0x64,0x38,0xfa,0x08,0x64,0xf2,0x60,0xe6,0x78,0x40,0x4c,0xa1,0xff,0x6c,0x44,
+0xbd,0xda,0xff,0xff,0xa1,0xff,0x6c,0x44,0xbd,0xda,0x20,0x61,0x28,0x44,0x03,0x2b,
+0x00,0x61,0x60,0x40,0x40,0x27,0x02,0xb9,0x41,0x4e,0xa1,0xff,0x6c,0x44,0xbd,0xda,
+0x28,0x44,0xb4,0x36,0xe5,0x00,0xa4,0x36,0xe3,0x00,0xe4,0x36,0xe1,0x00,0xf1,0x60,
+0xb9,0x78,0xff,0xff,0x61,0x40,0x01,0x22,0x31,0x00,0xa1,0xff,0x6c,0x44,0xbd,0xda,
+0x28,0x44,0xd4,0x3a,0x02,0x00,0x48,0x61,0x08,0x00,0xc4,0x36,0x05,0x00,0x28,0x44,
+0xb4,0x3a,0x03,0x00,0x4d,0x61,0x01,0x00,0x49,0x61,0x41,0x4d,0x46,0x4e,0x08,0x64,
+0x40,0x4c,0x05,0x01,0x00,0x65,0x2d,0x44,0x04,0x2a,0x0a,0x00,0x0d,0x00,0x2d,0x44,
+0x49,0x36,0x05,0x00,0x48,0x3a,0x07,0x00,0x10,0x65,0x27,0x40,0x40,0x26,0x30,0x65,
+0xf2,0x60,0xe9,0x78,0x35,0x8d,0x30,0x65,0xa1,0xff,0x6c,0x44,0xbd,0xda,0xff,0xff,
+0xa1,0xff,0x6c,0x44,0xbd,0xda,0xf2,0x60,0xe6,0x78,0x35,0x8d,0x45,0x4e,0x23,0x44,
+0xe8,0xa5,0xff,0xff,0x05,0x05,0x60,0x43,0xfa,0xa3,0xf3,0x60,0xc6,0x78,0xff,0xff,
+0xa1,0xff,0x6c,0x44,0xbd,0xda,0xff,0xff,0xa1,0xff,0x6c,0x44,0xbd,0xda,0xff,0xff,
+0xa1,0xff,0x6c,0x44,0xbd,0xda,0x26,0x41,0x20,0x26,0x1d,0x00,0x2d,0x44,0x22,0x01,
+0x32,0x40,0x02,0x2a,0x03,0x00,0x50,0xbc,0x40,0x4d,0x1e,0x00,0x01,0x64,0xbf,0xfb,
+0x19,0x60,0x5e,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x27,0x44,0x06,0x22,
+0x06,0x00,0xf9,0xb4,0x40,0x47,0x02,0x64,0x20,0xfb,0xc0,0xfe,0x48,0xe2,0x27,0x44,
+0x80,0xbc,0x40,0x47,0x09,0x00,0x2e,0x44,0x03,0xa4,0xef,0xb1,0x08,0x24,0x40,0xb9,
+0x41,0x46,0x02,0x00,0x70,0xbc,0x40,0x4d,0xa1,0xff,0x6c,0x44,0xbd,0xda,0x20,0x61,
+0x28,0x44,0x03,0x2b,0x00,0x61,0x60,0x40,0x40,0x2b,0x0d,0x00,0xbf,0x60,0xff,0x65,
+0x34,0xf3,0x02,0xb9,0x80,0xb0,0x28,0x44,0x06,0x03,0xa4,0x84,0x40,0x48,0x29,0xfa,
+0x04,0x64,0x22,0xfa,0x02,0xa9,0x23,0x44,0xe8,0xa4,0x41,0x4e,0x20,0x26,0xfa,0xa4,
+0x28,0x40,0x40,0x27,0xf8,0xa4,0x40,0x43,0x38,0xfa,0xff,0xff,0xa1,0xff,0x6c,0x44,
+0xbd,0xda,0x23,0x44,0x80,0x2b,0x03,0x00,0x14,0x64,0x40,0x43,0x38,0xfa,0x23,0x47,
+0x3f,0xfa,0x08,0x65,0x45,0x4c,0x21,0xf2,0x70,0x45,0xd4,0x80,0xff,0xff,0x02,0x06,
+0x64,0xe2,0x60,0x50,0xa1,0xff,0x6c,0x44,0xbd,0xda,0x2e,0x44,0x22,0x26,0x05,0x00,
+0x23,0x41,0xa1,0xff,0x6c,0x44,0x34,0xfa,0x7f,0x00,0xa1,0xff,0x6c,0x44,0xbd,0xda,
+0x2e,0x40,0x20,0x2a,0x12,0x00,0xa1,0xff,0x6c,0x44,0xbd,0xda,0xff,0xff,0xa1,0xff,
+0x6c,0x44,0xbd,0xda,0x2e,0x40,0x02,0x26,0x05,0x00,0x23,0x41,0xa1,0xff,0x6c,0x44,
+0x37,0xfa,0x6a,0x00,0xa1,0xff,0x6c,0x44,0x37,0xfa,0x32,0x44,0x01,0x2a,0x1a,0x00,
+0x00,0xf4,0x02,0x62,0x46,0x45,0xa1,0xff,0xda,0x82,0x6c,0x44,0xa2,0xda,0xff,0xff,
+0xa1,0xff,0xda,0x82,0x6c,0x44,0xa2,0xda,0x23,0x41,0x04,0xa1,0x78,0x7c,0x01,0x65,
+0x61,0x43,0xd1,0x80,0x46,0x45,0x02,0x07,0x04,0xa1,0x62,0x00,0x64,0x43,0xd1,0x81,
+0x7c,0x7c,0x66,0x00,0xbf,0xf3,0x3b,0xf1,0x00,0xa0,0x23,0x44,0x04,0x02,0x00,0xa0,
+0xd0,0x80,0x01,0x03,0x05,0x04,0x60,0x43,0x0c,0xa3,0xf3,0x60,0xc6,0x78,0xff,0xff,
+0xa1,0xff,0x6c,0x44,0xff,0xff,0x1a,0xfa,0xff,0xff,0xa1,0xff,0x6c,0x44,0xff,0xff,
+0x1b,0xfa,0x60,0x40,0x20,0x2b,0x1e,0x00,0x1a,0xf2,0xff,0xff,0x60,0x47,0x1a,0xfa,
+0xff,0xff,0xa1,0xff,0x6c,0x44,0xff,0xff,0x60,0x47,0x10,0xfa,0xff,0xff,0xa1,0xff,
+0x6c,0x44,0xff,0xff,0x60,0x47,0x11,0xfa,0x3b,0xf1,0x23,0x44,0xfc,0xa4,0x00,0xa0,
+0x40,0x43,0xd0,0x80,0x01,0x03,0x03,0x04,0xf3,0x60,0xc6,0x78,0xff,0xff,0x38,0xfa,
+0x23,0x47,0x3f,0xfa,0x28,0x44,0x0c,0x2e,0x01,0x00,0x06,0x00,0x0c,0x26,0xf4,0x00,
+0xf0,0xb4,0xff,0xff,0xb0,0x3a,0xf0,0x00,0xb0,0xff,0x01,0x5d,0xdc,0xfe,0x05,0xff,
+0x2f,0xf3,0x23,0x41,0x04,0xbc,0x2f,0xfb,0x7c,0x7c,0x01,0x65,0x25,0x44,0xd5,0x80,
+0x61,0x43,0x45,0x04,0x35,0x03,0xcb,0xf3,0xff,0xff,0xff,0xff,0x00,0x36,0x03,0x00,
+0x0e,0x60,0x5e,0x78,0xff,0xff,0x00,0xf4,0x02,0x62,0xd1,0x80,0x46,0x45,0x06,0x07,
+0x61,0x40,0x01,0x26,0x01,0xa1,0x61,0x5c,0x00,0x61,0x02,0x00,0x64,0x43,0xd1,0x81,
+0xa1,0xff,0xec,0x44,0x5a,0xda,0xfc,0x1d,0xe2,0x1e,0x23,0x00,0xa1,0xff,0xd5,0x80,
+0x61,0x43,0x37,0x04,0x16,0x03,0x00,0xf4,0x02,0x62,0xd1,0x80,0x46,0x45,0x07,0x07,
+0xec,0x44,0x61,0x40,0x01,0x26,0x01,0xa1,0x61,0x5c,0x00,0x61,0x05,0x00,0x64,0x43,
+0xec,0x44,0xd1,0x81,0x01,0x00,0xec,0x44,0x7a,0xda,0xfd,0x1d,0xe8,0x1e,0x0a,0x00,
+0xa1,0xff,0xb6,0xff,0x6c,0x44,0x00,0xf4,0x02,0xfa,0x02,0x7c,0x46,0x45,0xb7,0xff,
+0x06,0x00,0xa1,0xff,0xb6,0xff,0x00,0x64,0x6c,0x44,0x5a,0xda,0xb7,0xff,0x64,0x41,
+0x28,0x44,0x40,0x2b,0x1d,0x00,0xb1,0xff,0x32,0x44,0x01,0x26,0x19,0x00,0xa1,0xff,
+0x6c,0x44,0xff,0xff,0x2d,0xfb,0xff,0xff,0xa1,0xff,0x6c,0x44,0xff,0xff,0x2e,0xfb,
+0x0f,0x00,0x6c,0x44,0x64,0x41,0x28,0x40,0x40,0x2b,0x0d,0x00,0xb1,0xff,0x32,0x40,
+0x01,0x26,0x09,0x00,0x2d,0xfb,0xff,0xff,0xa1,0xff,0x6c,0x44,0xff,0xff,0x2e,0xfb,
+0x21,0x46,0xa1,0xff,0x6c,0x40,0x21,0x46,0x01,0x16,0xfe,0x00,0x68,0x44,0x60,0x40,
+0x10,0x2a,0x04,0x00,0x22,0xf2,0xff,0xff,0x08,0xbc,0x22,0xfa,0x6a,0x43,0xa1,0xff,
+0x6c,0x40,0x23,0xf1,0xff,0xff,0x64,0x54,0xcd,0xe2,0x19,0xff,0x32,0x44,0x03,0x22,
+0x20,0x00,0x47,0xff,0x26,0x44,0xfd,0xb4,0x84,0xbc,0x63,0x40,0x40,0x27,0x08,0x00,
+0x0d,0x63,0x07,0x15,0x06,0x15,0x05,0x15,0x04,0x15,0xff,0xa3,0x02,0x15,0xf9,0x02,
+0x7f,0xb4,0x40,0x46,0x6c,0x40,0x28,0x44,0x40,0x2b,0x08,0x00,0x32,0x44,0x01,0x2a,
+0x05,0x00,0x23,0x44,0x08,0xa4,0x38,0xfa,0x60,0x47,0x3f,0xfa,0xf3,0x60,0x92,0x78,
+0xff,0xff,0x63,0x40,0x40,0x2b,0x07,0x00,0x6a,0x60,0xaa,0x62,0xa2,0xd3,0xff,0xff,
+0x01,0xa4,0xa2,0xdb,0x08,0x00,0x0d,0x64,0x4b,0x15,0x4a,0x15,0x49,0x15,0x48,0x15,
+0xff,0xa4,0x46,0x15,0xf9,0x02,0x48,0xe2,0xbf,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0x64,0x02,0x27,0x44,0x06,0x22,0x05,0x00,0xf9,0xb4,0x40,0x47,0x02,0x64,0x20,0xfb,
+0xc0,0xfe,0x20,0xf2,0xff,0xff,0xff,0xb4,0x0a,0x36,0x00,0x7f,0x14,0x36,0x01,0x7f,
+0x37,0x36,0x02,0x7f,0x6e,0x36,0x03,0x7f,0x26,0xfa,0x64,0x60,0x44,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x26,0xf2,0xff,0xff,0x60,0x47,0x00,0x7f,0xe0,0x84,0xe0,0x84,0x60,0x45,
+0x64,0x60,0x48,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x28,0x40,0x04,0x26,0x2d,0x00,
+0x28,0x40,0x40,0x2b,0x2a,0x00,0x26,0x44,0x04,0xbc,0xfd,0xb4,0x40,0x46,0x25,0x00,
+0x6c,0x40,0x2d,0x44,0x20,0x2a,0x09,0x00,0x01,0x74,0xcd,0xe2,0x47,0xff,0xb5,0xff,
+0x00,0x64,0xc6,0xfb,0x13,0x60,0x92,0x78,0xff,0xff,0xbf,0xf3,0xff,0xff,0x00,0xa0,
+0x26,0x44,0x03,0x03,0x84,0xbc,0x40,0x46,0x10,0x00,0x84,0xbc,0x2d,0x40,0x0c,0x22,
+0x02,0x00,0x40,0x46,0x0a,0x00,0xfd,0xb4,0x40,0x46,0x25,0x44,0x06,0xfa,0x60,0x46,
+0x01,0xf2,0xff,0xff,0x61,0x5e,0x03,0x2b,0x01,0xfa,0x21,0x46,0x08,0x29,0x09,0x00,
+0x21,0xf1,0xff,0xff,0x64,0x40,0x07,0x2e,0x04,0x00,0x43,0xff,0x10,0x64,0x20,0xfb,
+0xc0,0xfe,0x00,0x64,0xc6,0xfb,0x47,0xff,0x12,0x60,0xb7,0x78,0xff,0xff,0xa1,0xff,
+0x6c,0x43,0x63,0x54,0xcd,0xe2,0x0e,0x64,0x01,0x00,0x0c,0x64,0x40,0x4c,0x19,0xff,
+0x00,0x64,0x40,0x4a,0xc6,0xfb,0x08,0x64,0x40,0x4c,0x27,0x44,0x06,0x22,0x06,0x00,
+0xf9,0xb4,0x40,0x47,0x02,0x64,0x20,0xfb,0xc0,0xfe,0x48,0xe2,0x82,0xe1,0xa1,0xff,
+0xd4,0x00,0x00,0x60,0x18,0x63,0xa1,0xff,0xec,0x44,0xff,0xff,0xfc,0x1d,0x04,0x1e,
+0xb6,0xff,0xa1,0xff,0x6c,0x44,0xb7,0xff,0x08,0x64,0x40,0x4c,0x19,0xff,0x27,0x44,
+0x80,0xbc,0x40,0x47,0xc2,0x00,0x01,0x64,0xc0,0xfb,0x24,0x44,0x60,0x48,0x90,0x6a,
+0x60,0x47,0x23,0x41,0xe1,0x81,0xff,0xff,0x01,0x16,0xfe,0x00,0x60,0x48,0x8e,0x6a,
+0x00,0x64,0x02,0x24,0x80,0x64,0x69,0x83,0xcd,0xf1,0x25,0x45,0x02,0x2a,0x03,0x00,
+0x64,0x40,0x01,0x2a,0x04,0xbc,0x01,0x16,0xfe,0x00,0x60,0x48,0x8c,0x6a,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x01,0x16,0xfe,0x00,0x02,0xe1,0x08,0x64,0x40,0x4c,
+0x29,0x44,0x01,0xbc,0x40,0x49,0x19,0xff,0x52,0x63,0x22,0x46,0xbd,0xd0,0x21,0xf3,
+0x43,0xff,0x60,0x40,0x07,0x22,0x03,0x00,0x10,0x64,0x20,0xfb,0xc0,0xfe,0x01,0xe1,
+0x28,0xf2,0x44,0x48,0x60,0x40,0x01,0x2a,0x03,0x00,0x40,0x67,0xb0,0x84,0x60,0x5c,
+0x99,0xff,0x07,0x60,0x00,0xe8,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x80,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0x64,0x4d,0x64,0x47,
+0x60,0x4d,0xff,0xff,0xff,0xff,0xa1,0xff,0xb5,0xff,0xbb,0xff,0x32,0x64,0x96,0xfb,
+0xff,0xff,0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4d,0x60,0x47,0x60,0x4d,0x26,0x44,
+0x02,0xb4,0x40,0x46,0x20,0x61,0x28,0x44,0x80,0x36,0x02,0x00,0x50,0x3a,0x01,0x00,
+0x04,0xb9,0x41,0x4e,0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4d,0x60,0x47,0x60,0x4d,
+0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4d,0x60,0x47,0x60,0x4d,0xa1,0xff,0xbd,0xd2,
+0xff,0xff,0x60,0x4c,0x28,0x44,0xc4,0x36,0x13,0x00,0xd4,0x36,0x11,0x00,0xa1,0xff,
+0xbd,0xd2,0xff,0xff,0x60,0x4c,0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4c,0xa1,0xff,
+0xbd,0xd2,0xff,0xff,0x60,0x4c,0x28,0x44,0xb4,0x36,0x02,0x00,0xa4,0x3a,0x03,0x00,
+0xf5,0x60,0x33,0x78,0xff,0xff,0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4c,0xff,0x65,
+0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4c,0x2e,0x41,0x28,0x44,0x03,0x2b,0xdf,0xb1,
+0x60,0x40,0x40,0x27,0x02,0xb9,0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4c,0x23,0x44,
+0xcc,0x84,0xdc,0x84,0x03,0x03,0x03,0x02,0x08,0xb9,0x01,0x00,0x10,0xb9,0xbd,0xd0,
+0x41,0x4e,0xa1,0xff,0xff,0xff,0x64,0x4c,0x2e,0x44,0x22,0x22,0x47,0x00,0x20,0x2a,
+0x0f,0x00,0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4c,0xa1,0xff,0xbd,0xd2,0xff,0xff,
+0x60,0x4c,0xa1,0xff,0xbd,0xd2,0xff,0xff,0x60,0x4c,0x2e,0x44,0x02,0x2a,0x36,0x00,
+0xa1,0xff,0xff,0xff,0x1b,0xf0,0x1a,0xf2,0x64,0x40,0x20,0x27,0x06,0x00,0x60,0x4c,
+0xa1,0xff,0xff,0xff,0xff,0xff,0x64,0x4c,0x12,0x00,0xa1,0xff,0xff,0xff,0x60,0x47,
+0x60,0x4c,0xa1,0xff,0xff,0xff,0xff,0xff,0x64,0x4c,0xa1,0xff,0xff,0xff,0x10,0xf2,
+0x11,0xf0,0x60,0x47,0x60,0x4c,0xa1,0xff,0xff,0xff,0x64,0x47,0x60,0x4c,0x03,0xf0,
+0x04,0xf4,0x01,0xf2,0x64,0x42,0x04,0xa4,0xd0,0x81,0x23,0x43,0x2e,0x44,0x10,0x2a,
+0x06,0x00,0xa2,0xd2,0xff,0xff,0xa1,0xff,0xff,0xff,0x60,0x4f,0x60,0x00,0xe2,0xd2,
+0xff,0xff,0xa1,0xff,0xda,0x82,0xc9,0x81,0x60,0x4e,0x4e,0x00,0x18,0x22,0x0a,0x00,
+0x10,0x26,0x03,0x00,0xf5,0x60,0x33,0x78,0xff,0xff,0x03,0xf0,0x04,0xf4,0x00,0x61,
+0x64,0x42,0x48,0x00,0x04,0x2a,0x2f,0x00,0x00,0xf4,0x01,0xf2,0xff,0x65,0xa4,0x81,
+0xa1,0xff,0x02,0xfe,0xff,0xff,0x10,0x25,0x42,0xfe,0x72,0x45,0x65,0x4c,0x23,0x43,
+0x97,0xf3,0x04,0x04,0xdc,0x84,0x97,0xfb,0x60,0x55,0x65,0x52,0xa1,0xff,0xff,0xff,
+0x60,0x4c,0x98,0xf3,0x03,0x04,0xdc,0x84,0x98,0xfb,0xff,0xff,0xa1,0xff,0xff,0xff,
+0x60,0x4c,0x99,0xf3,0x03,0x04,0xdc,0x84,0x99,0xfb,0xff,0xff,0xa1,0xff,0x0c,0x62,
+0x60,0x4c,0xf8,0xa3,0x2e,0x44,0xfb,0xb4,0x40,0x4e,0x65,0x44,0xdc,0x80,0xff,0xff,
+0x01,0x02,0x58,0x80,0x0c,0x00,0x23,0x43,0x03,0xf0,0x04,0xf4,0x01,0xf2,0x64,0x42,
+0x04,0xa4,0xd0,0x81,0x04,0x00,0x00,0xf4,0x01,0xf2,0x04,0x62,0xa4,0x81,0xa1,0xff,
+0xe2,0xd2,0xda,0x82,0xc9,0x81,0x60,0x4c,0xfa,0x1c,0xf5,0x1d,0x08,0x1e,0x02,0x02,
+0x00,0xf4,0x04,0x62,0xa2,0xd2,0xff,0xff,0xa1,0xff,0xff,0xff,0x60,0x4d,0x28,0x44,
+0x40,0x2b,0x04,0x00,0xa1,0xff,0x60,0x4e,0xa1,0xff,0x60,0x4c,0xa1,0xff,0xc3,0x60,
+0x33,0x64,0x60,0x4e,0xa1,0xff,0xff,0xff,0x62,0x5c,0x02,0xe1,0x08,0x64,0x40,0x4c,
+0x19,0xff,0x61,0x40,0x7f,0x26,0x02,0x00,0x00,0xf4,0x04,0x7c,0x66,0x44,0x22,0x46,
+0x0b,0xf8,0x0c,0xfa,0x34,0x64,0x96,0xfb,0x6a,0x40,0x40,0x26,0x02,0x00,0xfc,0x0b,
+0x02,0x00,0x07,0x60,0x80,0xe8,0x23,0xf3,0xff,0xff,0x60,0x54,0xcd,0xe2,0x03,0x64,
+0xcc,0x84,0xff,0xff,0xfd,0x02,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x99,0xff,0x3e,0x44,0x7d,0xb4,0x08,0xbc,0x40,0x5e,0x98,0xff,
+0x05,0x64,0xcc,0x84,0xff,0xff,0xfd,0x02,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x99,0xff,0x3d,0x44,0xf7,0xb4,0x40,0x5d,0x98,0xff,
+0x00,0x60,0x00,0x6b,0x99,0xff,0x3d,0x44,0x10,0xbc,0x40,0x5d,0x3e,0x44,0xfe,0xb4,
+0x40,0x5e,0x98,0xff,0xbc,0xff,0x28,0x44,0x40,0x2b,0x39,0x00,0x99,0xff,0x3a,0x44,
+0x98,0xff,0x10,0x2b,0xfb,0x00,0x99,0xff,0x00,0x60,0x00,0xea,0xff,0xff,0xff,0xff,
+0xff,0xff,0x3a,0x5c,0x80,0x2b,0x12,0x00,0x8b,0xff,0x74,0x40,0x88,0xff,0x3a,0x5c,
+0x80,0x2b,0x09,0x00,0x8b,0xff,0x74,0x40,0x88,0xff,0x3a,0x5c,0x80,0x2b,0x03,0x00,
+0x8b,0xff,0x74,0x40,0x88,0xff,0x8b,0xff,0x74,0x40,0x88,0xff,0x3a,0x5c,0x80,0x2b,
+0xff,0xff,0x31,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0x00,0x60,0x00,0xea,0x3a,0x5c,
+0x80,0x27,0x06,0x00,0x31,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0x00,0x60,0x00,0xea,
+0x00,0x64,0xca,0xfb,0x30,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0x98,0xff,0xff,0xff,
+0xb7,0xff,0xb4,0xff,0xff,0xff,0xff,0xff,0x84,0x60,0x1d,0x7d,0xb5,0xff,0xff,0xff,
+0x99,0xff,0x07,0x60,0x80,0xe9,0x98,0xff,0xff,0xff,0xff,0xff,0x80,0xe9,0xff,0xff,
+0xff,0xff,0xb7,0xff,0xb4,0xff,0xff,0xff,0x99,0xff,0x3e,0x44,0x02,0xbc,0x00,0x7f,
+0x40,0x5e,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x46,0xff,0x47,0xff,
+0x2f,0x58,0xff,0xff,0x01,0x64,0x30,0xfb,0xff,0xff,0x00,0xea,0x99,0xff,0x3b,0x44,
+0x40,0x27,0xfd,0x00,0x98,0xff,0x00,0xeb,0x31,0xf3,0xff,0xff,0x60,0x40,0x01,0x2a,
+0x03,0x00,0x17,0x60,0xae,0x78,0xff,0xff,0x00,0x64,0xd8,0xfb,0xdc,0xfb,0x89,0xf3,
+0xff,0xff,0x00,0xa0,0xff,0xff,0x03,0x02,0xf6,0x60,0x85,0x78,0xff,0xff,0x1a,0x60,
+0x12,0x65,0x30,0xf2,0x2f,0xf0,0x60,0x41,0x64,0x43,0xeb,0x83,0x00,0x7f,0xe0,0x84,
+0x44,0xd1,0x61,0x47,0x93,0x83,0x00,0x7f,0xe0,0x84,0x44,0xd1,0xeb,0x83,0x93,0x83,
+0x0f,0x60,0xf0,0x65,0xa7,0x85,0x4c,0x60,0xc2,0x63,0xc7,0x83,0x02,0x65,0xbd,0xd3,
+0xff,0xff,0x60,0x40,0x80,0x2b,0x0e,0x00,0x5c,0x61,0xa1,0xd0,0xbd,0xd3,0x50,0xfe,
+0x59,0xd0,0xd0,0x80,0xbd,0xd3,0x59,0xd0,0xd0,0x80,0xbd,0xd3,0xff,0xff,0xd0,0x80,
+0xff,0xff,0x23,0x01,0x65,0x44,0xff,0xa5,0xff,0xff,0xe9,0x02,0x5c,0x60,0xc2,0x63,
+0x9e,0x65,0xbd,0xd3,0xff,0xff,0x60,0x40,0x80,0x2b,0x0e,0x00,0x5c,0x61,0xa1,0xd0,
+0xbd,0xd3,0x50,0xfe,0x59,0xd0,0xd0,0x80,0xbd,0xd3,0x59,0xd0,0xd0,0x80,0xbd,0xd3,
+0xff,0xff,0xd0,0x80,0xff,0xff,0x09,0x01,0x65,0x44,0xff,0xa5,0xff,0xff,0xe9,0x02,
+0x0f,0x7c,0x37,0xf9,0x00,0x7c,0x00,0x61,0x16,0x00,0xf8,0xa3,0xa3,0xd3,0xff,0xff,
+0xe0,0x84,0xe8,0x81,0x60,0x5c,0xe0,0x84,0xe0,0x84,0xc0,0x9c,0xc0,0x9c,0x41,0x60,
+0x92,0x63,0x43,0xd3,0x07,0x7c,0x60,0x40,0x01,0x27,0x0f,0x7c,0x37,0xf9,0xee,0xa3,
+0x60,0x47,0x18,0xb4,0x60,0x5c,0x67,0x44,0xc8,0xfb,0x1b,0xf2,0xff,0xff,0x60,0x40,
+0xc0,0x2f,0x03,0x00,0x80,0x2b,0x01,0x00,0x3c,0x00,0xf0,0x81,0xf1,0x81,0xf1,0x81,
+0x03,0xb1,0x64,0x44,0xe8,0x9c,0xc1,0x81,0x90,0x7c,0xc1,0x81,0xe1,0x84,0x60,0x5c,
+0xe0,0x84,0xe0,0x84,0xc0,0x9c,0xc0,0x9c,0x41,0x60,0x80,0x63,0xc3,0x83,0x29,0x00,
+0x1b,0xf2,0x32,0xf1,0x60,0x40,0xc0,0x27,0x07,0x00,0x64,0x40,0x01,0x2a,0x16,0x00,
+0x6a,0x60,0xe6,0x63,0xa0,0x61,0x1d,0x00,0xc0,0x2b,0x07,0x00,0x64,0x40,0x08,0x2a,
+0x0d,0x00,0x6b,0x60,0x16,0x63,0xa3,0x61,0x14,0x00,0x40,0x2b,0x0c,0x00,0x64,0x40,
+0x02,0x2a,0x04,0x00,0x6a,0x60,0xf6,0x63,0xa1,0x61,0x0b,0x00,0x20,0x60,0x00,0xea,
+0xf8,0x60,0x51,0x78,0xff,0xff,0x64,0x40,0x04,0x2a,0xf8,0x00,0x6b,0x60,0x06,0x63,
+0xa2,0x61,0x1b,0xf0,0xff,0xff,0x64,0x40,0x20,0x27,0x03,0x00,0xf7,0x60,0xbb,0x78,
+0xff,0xff,0x67,0x44,0xc8,0xfb,0x79,0x60,0x98,0x64,0xe1,0x85,0x44,0xd1,0xd9,0xfb,
+0x64,0x45,0x61,0x44,0xe0,0x84,0xe0,0x9c,0x7d,0x60,0x70,0x64,0x40,0xd1,0xdb,0xfb,
+0x10,0xf0,0x64,0x42,0x50,0xfe,0xd2,0x80,0x58,0xd1,0x1a,0xf0,0x64,0x42,0xd2,0x80,
+0x90,0x7c,0x01,0x01,0x00,0x65,0x89,0xf3,0xd1,0x80,0x00,0xa0,0x19,0x04,0x18,0x03,
+0x61,0x44,0xd0,0x84,0xe0,0x84,0xe0,0x9c,0xc0,0x9c,0x80,0x60,0x00,0x64,0x40,0xd1,
+0x2e,0xf0,0x64,0x42,0x50,0xfe,0xd2,0x80,0x58,0xd1,0x2f,0xf0,0x64,0x42,0xd2,0x80,
+0x58,0xd1,0x30,0xf0,0x64,0x42,0xd2,0x80,0xfc,0xa4,0x02,0x01,0xdc,0xfb,0x00,0x65,
+0x65,0x5c,0xe1,0x85,0xe1,0x81,0xe1,0x81,0xc5,0x85,0xc5,0x85,0x71,0x60,0xe8,0x61,
+0xc5,0x81,0x1c,0x60,0x12,0x65,0x02,0xa3,0x64,0x40,0x01,0x2a,0x03,0x00,0xf7,0x60,
+0x49,0x78,0xff,0xff,0x61,0x44,0xda,0xfb,0x01,0x64,0xd8,0xfb,0x80,0x60,0x60,0x61,
+0x10,0xf2,0x1a,0xf0,0xa1,0xdb,0xff,0xff,0x59,0xd9,0x2e,0xf2,0x59,0xdb,0xff,0xff,
+0x2f,0xf2,0x59,0xdb,0x30,0xf0,0xff,0xff,0x59,0xd9,0x00,0x64,0xe5,0xfb,0xff,0xff,
+0x60,0x40,0x01,0x26,0x02,0xa3,0x05,0x64,0xe6,0xfb,0xa3,0xd3,0xff,0xff,0x90,0x84,
+0x60,0x5c,0x00,0x7f,0xe0,0x82,0x64,0x47,0x46,0xd1,0x00,0x7f,0xe0,0x84,0x44,0xd3,
+0xff,0xff,0x60,0x47,0x90,0x84,0xe6,0xf3,0x60,0x5c,0x02,0xa1,0x60,0x40,0x05,0x36,
+0xf6,0xa1,0xa1,0xd3,0xff,0xff,0xc0,0x9c,0xe6,0xf3,0xa1,0xd9,0xff,0xa4,0xe6,0xfb,
+0x04,0xa3,0x60,0x40,0x01,0x36,0xf0,0xa3,0x60,0x40,0x00,0x3a,0xde,0x00,0xe5,0xf3,
+0xfc,0xa3,0xff,0xff,0x60,0x40,0x01,0x26,0xfe,0xa3,0xc0,0x9c,0x01,0xa4,0xf8,0xa0,
+0xa1,0xd9,0xe5,0xfb,0xce,0x02,0xf8,0xa1,0x80,0x60,0x7c,0x64,0xfe,0xa1,0x63,0x45,
+0x08,0x63,0x59,0xd1,0x58,0xd9,0xfd,0x1f,0x11,0xf2,0x60,0x43,0xc0,0x9c,0x5b,0xd9,
+0x65,0x41,0xfe,0xa1,0x1c,0x60,0x12,0x65,0x00,0x64,0xe5,0xfb,0x59,0xd3,0xff,0xff,
+0x90,0x84,0x60,0x5c,0x00,0x7f,0xe0,0x82,0x64,0x47,0x46,0xd1,0x00,0x7f,0xe0,0x84,
+0x44,0xd3,0xff,0xff,0x60,0x47,0x90,0x84,0xe5,0xf3,0x60,0x5c,0x02,0xa3,0x60,0x40,
+0x00,0x36,0xf4,0xa3,0xa3,0xd3,0xe5,0xf3,0xc0,0x9c,0xa3,0xd9,0x01,0xa4,0xfa,0xa0,
+0xe5,0xfb,0xe4,0x02,0x61,0x44,0xf6,0xa4,0xe5,0xfb,0x59,0xd3,0xf6,0xa3,0x90,0x84,
+0xa3,0xd1,0xe8,0x85,0x01,0xb4,0xf8,0x84,0x94,0x84,0xc0,0x84,0x59,0xd1,0xa3,0xdb,
+0x90,0x84,0x5b,0xd1,0xe8,0x85,0x01,0xb4,0xf8,0x84,0x94,0x84,0xc0,0x84,0xa3,0xdb,
+0x04,0x61,0x5b,0xd1,0xe8,0x85,0x01,0xb4,0xf8,0x84,0x94,0x84,0xc0,0x84,0xff,0xa1,
+0xa3,0xdb,0x61,0x40,0x00,0x3a,0xf5,0x00,0xe5,0xf3,0x60,0x41,0xa0,0xd1,0x11,0xf2,
+0x91,0x81,0xe9,0x85,0xf2,0xa3,0x60,0x41,0x60,0x47,0x60,0x5c,0x20,0xbc,0x7f,0xb4,
+0x60,0x47,0x64,0x5e,0xa3,0xdb,0x65,0x47,0x61,0x5e,0x5b,0xdb,0x99,0xff,0xdf,0x61,
+0xfc,0xa3,0x01,0xa1,0x5b,0xd1,0x61,0x5f,0x64,0x5e,0x40,0x5b,0x01,0xa1,0x64,0x47,
+0x61,0x5f,0x40,0x5b,0xef,0x3b,0xf5,0x00,0x0f,0x7c,0x28,0x00,0x1a,0xf0,0x99,0xff,
+0x64,0x44,0xe0,0x7f,0x40,0x5b,0x64,0x47,0xe1,0x7f,0x40,0x5b,0x1b,0xf0,0xff,0xff,
+0x64,0x44,0xe2,0x7f,0x40,0x5b,0x60,0x47,0x60,0x41,0xc8,0xf3,0xc8,0xf9,0x37,0xf1,
+0x90,0x84,0x00,0x37,0x13,0x00,0x63,0x42,0x02,0x63,0x64,0x40,0x07,0x3a,0x0a,0x63,
+0x5a,0xd3,0xdd,0x81,0x60,0x45,0x61,0x5f,0x40,0x5b,0x65,0x47,0xdd,0x81,0x61,0x5f,
+0x40,0x5b,0xf6,0x1f,0x5a,0xd3,0xdd,0x81,0x61,0x5f,0x40,0x5b,0x98,0xff,0xa0,0x60,
+0x00,0xeb,0xc0,0x60,0x00,0xeb,0x64,0x40,0x07,0x3a,0x03,0x00,0x80,0x60,0x07,0xeb,
+0x02,0x00,0x80,0x60,0x0f,0xeb,0x33,0x60,0x00,0xeb,0x00,0x64,0x30,0xfb,0x38,0xf2,
+0x00,0xf4,0xff,0xff,0x28,0x87,0x04,0x64,0x40,0x49,0x46,0x4a,0xb3,0xff,0x02,0x64,
+0x92,0xfb,0x99,0xff,0xfe,0xef,0x7f,0x00,0xe8,0x00,0x30,0x44,0x02,0xbc,0x40,0x51,
+0x98,0xff,0xfb,0x60,0x27,0x78,0xff,0xff,0x31,0xf3,0x2a,0x46,0x60,0x40,0x01,0x26,
+0x65,0x00,0x29,0x43,0x27,0x44,0x00,0xa8,0x60,0x41,0xa3,0xd2,0x1b,0x03,0x99,0xff,
+0x3b,0x40,0x80,0x2b,0xfd,0x00,0x98,0xff,0x60,0x57,0xff,0xff,0x77,0x5f,0xc9,0x81,
+0x60,0x57,0xff,0xff,0x77,0x5f,0xbd,0xda,0x01,0x0f,0x25,0x00,0x0b,0x03,0xa3,0xd2,
+0x7f,0x26,0xf2,0x00,0x00,0xf2,0x04,0x63,0x00,0xa8,0x40,0x4a,0x60,0x46,0x3b,0x03,
+0xa3,0xd2,0xea,0x00,0x3d,0x46,0x38,0xf2,0x2a,0x46,0x60,0x40,0x01,0x2a,0x1f,0x00,
+0x63,0x40,0x7f,0x26,0x05,0x00,0x00,0xf2,0x04,0x63,0x00,0xa8,0x60,0x46,0x2b,0x03,
+0x46,0x4a,0x01,0x0f,0x11,0x00,0xa3,0xd2,0xff,0xff,0x60,0x57,0xff,0xff,0x77,0x5f,
+0x60,0x47,0xa3,0xda,0x0c,0x00,0xe6,0x03,0x63,0x40,0x7f,0x26,0x05,0x00,0x00,0xf2,
+0x04,0x63,0x00,0xa8,0x40,0x4a,0x17,0x03,0x43,0x49,0x41,0x47,0x11,0x00,0x00,0x64,
+0x92,0xfb,0x99,0xff,0x30,0x44,0xfd,0xb4,0x40,0x51,0x98,0xff,0x2f,0xf3,0x00,0x7c,
+0x02,0xbc,0x2f,0xfb,0x3d,0x46,0x0f,0xf2,0x44,0x47,0x60,0x40,0x04,0x26,0x0b,0x00,
+0xfb,0x60,0x27,0x78,0xff,0xff,0x3d,0x46,0x0f,0xf0,0xff,0x60,0xf7,0x65,0x64,0x43,
+0x17,0x60,0x56,0x78,0xff,0xff,0x17,0x60,0x17,0x78,0xff,0xff,0x17,0x60,0xae,0x78,
+0xff,0xff,0x2e,0x2e,0x7e,0x00,0x84,0x09,0x3d,0x46,0x0f,0xf0,0x2d,0xf3,0x64,0x43,
+0x60,0x45,0x1b,0xf2,0x32,0xf1,0x60,0x40,0xc0,0x23,0x01,0x64,0xc0,0x2b,0x01,0x00,
+0x08,0x64,0x80,0x2b,0x01,0x00,0x04,0x64,0x40,0x2b,0x01,0x00,0x02,0x64,0xa0,0x84,
+0x0f,0x22,0x53,0x00,0x65,0x44,0x63,0x5c,0x80,0x2a,0x4f,0x00,0x99,0xff,0x3b,0x40,
+0x80,0x2b,0xfd,0x00,0x98,0xff,0x60,0x57,0xff,0xff,0x77,0x5f,0x60,0x57,0xff,0xff,
+0x77,0x5f,0x99,0xff,0x3b,0x40,0x80,0x2b,0xfd,0x00,0x98,0xff,0x2e,0xf3,0xff,0xff,
+0x60,0x57,0xff,0xff,0x77,0x5f,0x60,0x57,0xff,0xff,0x77,0x5f,0xff,0xff,0xff,0x60,
+0xf7,0x65,0x0b,0x14,0x0a,0x14,0x09,0x14,0x08,0x14,0x07,0x14,0x06,0x14,0x05,0x14,
+0x04,0x14,0x03,0x14,0x02,0x14,0xa7,0x83,0x27,0x00,0xd8,0xf3,0x08,0xbb,0x60,0x40,
+0x01,0x3a,0x22,0x00,0x00,0x64,0xd8,0xfb,0x5a,0xd3,0x5a,0xd3,0x60,0x42,0x01,0x7c,
+0xa2,0xd9,0x63,0x45,0x08,0x63,0x60,0x41,0xfe,0xa1,0x80,0x60,0x5e,0x64,0x58,0xd1,
+0x59,0xd9,0xfd,0x1f,0xdb,0xf3,0x10,0xf0,0xa0,0xd9,0xff,0xff,0x1a,0xf0,0x58,0xd9,
+0xdc,0xf3,0xff,0xff,0x00,0xa0,0x2e,0xf0,0x06,0x03,0xa0,0xd9,0x2f,0xf0,0x58,0xd9,
+0xff,0xff,0x30,0xf0,0x58,0xd9,0x65,0x43,0x0f,0xfc,0x0f,0xf0,0x80,0x60,0x00,0x63,
+0xb3,0x9c,0x0f,0xf8,0x00,0x64,0x92,0xfb,0x99,0xff,0x30,0x44,0xfd,0xb4,0x40,0x51,
+0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x20,0x60,0x00,0xea,0x00,0xeb,
+0xa0,0x60,0x00,0xeb,0x30,0x60,0x00,0xeb,0x2f,0xf3,0xff,0xff,0xf9,0xb4,0x2f,0xfb,
+0xfb,0x60,0x75,0x78,0xff,0xff,0x00,0x64,0x92,0xfb,0x99,0xff,0x30,0x44,0xfd,0xb4,
+0x40,0x51,0x98,0xff,0x00,0xeb,0xa0,0x60,0x00,0xeb,0x30,0x60,0x00,0xeb,0x20,0x60,
+0x00,0xea,0x00,0x64,0x2f,0xf3,0xff,0xff,0xf9,0xb4,0x2f,0xfb,0x31,0xfb,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0x99,0xff,0x3a,0x44,0x3b,0x44,0x98,0xff,0x3d,0x46,
+0x0f,0xf0,0x80,0x60,0x00,0x63,0xb3,0x83,0xff,0x60,0x7f,0x7c,0xa3,0x83,0x0f,0xfc,
+0xfb,0x60,0x75,0x78,0xff,0xff,0xa9,0xff,0x77,0x44,0x60,0x57,0x40,0x4a,0x01,0x2a,
+0x31,0x00,0x24,0x44,0x00,0xa8,0x24,0x46,0x09,0xf2,0x2c,0x03,0x00,0xa8,0x40,0x44,
+0x13,0x03,0x60,0x46,0x60,0x5c,0x08,0x60,0x20,0x64,0xa0,0xd9,0x64,0x44,0x3a,0x44,
+0x01,0x26,0x02,0x00,0x01,0x75,0x03,0x00,0x3b,0x44,0x01,0xbc,0x40,0x5b,0x0e,0xf2,
+0xff,0xff,0x01,0xbc,0x0e,0xfa,0x0a,0xf4,0x08,0xf2,0x2d,0x45,0xd4,0x80,0x0e,0xf2,
+0x02,0x03,0xd2,0xfe,0x0f,0x00,0x02,0xbc,0x0e,0xfa,0xd0,0xfe,0x63,0x60,0xe2,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x2a,0x44,0x08,0x2a,0x1c,0x00,0x23,0x44,0x00,0xa8,0xff,0xff,
+0x18,0x03,0x3f,0x60,0x28,0x64,0x40,0x47,0x58,0x4f,0x53,0x00,0x46,0x43,0x11,0x02,
+0x0e,0xf2,0x66,0x43,0x60,0x5c,0x08,0x60,0x22,0x64,0xa0,0xdd,0x64,0x44,0x01,0xbc,
+0x0e,0xfa,0x3a,0x44,0x01,0x26,0x02,0x00,0x08,0x75,0x03,0x00,0x3b,0x44,0x08,0xbc,
+0x40,0x5b,0x2a,0x44,0x06,0x22,0x4b,0x00,0x22,0x44,0x00,0xa8,0x60,0x46,0x0e,0xf2,
+0x46,0x03,0x01,0xb0,0x02,0xbc,0x03,0x02,0x00,0x64,0x40,0x42,0x40,0x00,0x0e,0xfa,
+0xd0,0xfe,0x3f,0x60,0x2e,0x64,0x40,0x47,0x58,0x4f,0x2b,0x00,0x46,0x42,0x37,0x02,
+0x22,0xf2,0x66,0x43,0x00,0xa8,0x0e,0xf2,0x12,0x02,0x01,0xbc,0x40,0x2a,0xe9,0x00,
+0xf7,0xb4,0x0e,0xfa,0xff,0xff,0x08,0x60,0x24,0x64,0xa0,0xdd,0x3a,0x44,0x01,0x26,
+0x02,0x00,0x02,0x75,0x24,0x00,0x3b,0x44,0x02,0xbc,0x40,0x5b,0x20,0x00,0x01,0xbc,
+0x80,0x2a,0xd7,0x00,0xf7,0xb4,0x0e,0xfa,0xff,0xff,0x08,0x60,0x24,0x64,0xa0,0xdd,
+0x3a,0x44,0x01,0x26,0x02,0x00,0x04,0x75,0x12,0x00,0x3b,0x44,0x04,0xbc,0x40,0x5b,
+0x0e,0x00,0x27,0x42,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x0e,0xf2,0x04,0x03,
+0x05,0xb0,0x09,0xf2,0xf9,0x02,0x01,0x00,0x08,0xfe,0x2f,0x58,0xff,0xff,0x2a,0x44,
+0x80,0x2a,0x1f,0x00,0x21,0x44,0x00,0xa8,0x60,0x46,0x0e,0xf2,0x1a,0x03,0x02,0xbc,
+0x0e,0xfa,0xd0,0xfe,0x3f,0x60,0x58,0x64,0x40,0x47,0x58,0x4f,0xe2,0x00,0x46,0x41,
+0x10,0x02,0x0e,0xf2,0x66,0x43,0x01,0xbc,0x0e,0xfa,0xff,0xff,0x08,0x60,0x10,0x64,
+0xa0,0xdd,0x3a,0x44,0x01,0x26,0x02,0x00,0x80,0x75,0x03,0x00,0x3b,0x44,0x80,0xbc,
+0x40,0x5b,0x34,0x40,0xff,0x26,0x3b,0xff,0x2a,0x44,0x0c,0xf7,0xff,0xff,0xff,0xff,
+0x3a,0x44,0x02,0x2a,0x09,0x00,0x3b,0x44,0x00,0xa0,0xff,0xff,0x01,0x03,0x60,0x55,
+0x00,0x64,0x40,0x5a,0x40,0x5b,0x3d,0x00,0x00,0x64,0x40,0x4a,0x35,0x40,0x01,0x2a,
+0x19,0x00,0x24,0x41,0x00,0xb9,0x40,0x55,0x2c,0x02,0x0d,0x47,0x58,0x4f,0xb1,0x00,
+0x28,0x02,0x0e,0xf2,0x46,0x44,0x01,0xbc,0x0e,0xfa,0x66,0x5c,0x08,0x60,0x20,0x64,
+0xa0,0xd9,0x3a,0x44,0x01,0x26,0x02,0x00,0x01,0x75,0x03,0x00,0x3b,0x44,0x01,0xbc,
+0x40,0x5b,0x17,0x00,0x35,0x40,0x04,0x2a,0x07,0x00,0x23,0x41,0x00,0xb9,0x40,0x55,
+0x10,0x02,0x18,0x60,0x14,0x78,0xff,0xff,0x35,0x40,0x02,0x2a,0x07,0x00,0x22,0x41,
+0x00,0xb9,0x40,0x55,0x06,0x02,0x18,0x60,0x3c,0x78,0xff,0xff,0x35,0x40,0x08,0x26,
+0x03,0x00,0x34,0x40,0x08,0x2a,0x05,0x00,0x21,0x41,0x00,0xb9,0x40,0x55,0x40,0x54,
+0x99,0x03,0x00,0x00,0xa1,0xff,0xff,0xff,0xba,0x3f,0x18,0x60,0xff,0x61,0x27,0x42,
+0xa2,0xd3,0x0e,0x4c,0x41,0x4e,0x40,0x45,0x60,0x46,0x00,0xa8,0x09,0xf2,0x06,0x03,
+0x40,0x4b,0x19,0x60,0xf7,0x78,0xff,0xff,0x2b,0x44,0xf5,0x00,0x0c,0x4e,0x2e,0x58,
+0xff,0xff,0x25,0x46,0x08,0xf0,0x27,0x43,0xa4,0xd5,0xbd,0xd3,0x46,0x45,0x63,0x45,
+0x64,0x43,0x60,0x41,0x00,0xa8,0x00,0x64,0xa3,0xdb,0xbe,0xdb,0x04,0x02,0x65,0x43,
+0x25,0x44,0xbf,0xdb,0x05,0x00,0x61,0x44,0x0a,0xfa,0x61,0x46,0x25,0x44,0x09,0xfa,
+0x25,0x44,0x27,0x43,0x08,0xfe,0x05,0x03,0x60,0x46,0x09,0xf2,0x08,0xfc,0x00,0xa8,
+0xfa,0x00,0x66,0x44,0xa5,0xdb,0x2e,0x58,0xff,0xff,0x28,0x41,0x58,0x4f,0x0e,0x00,
+0x2e,0x58,0xff,0xff,0x28,0x41,0x40,0xa1,0x58,0x4f,0x08,0x00,0x05,0x03,0x28,0x41,
+0x58,0x4f,0x26,0x00,0x58,0x4f,0x58,0x00,0x2e,0x58,0xff,0xff,0x94,0xf3,0x7c,0x63,
+0x00,0xbe,0x40,0x45,0x1b,0x03,0x00,0x65,0x65,0x44,0xdc,0x85,0x84,0xa1,0x00,0xf2,
+0x06,0x06,0x01,0xfc,0x00,0xa8,0x60,0x46,0xf7,0x02,0x40,0x45,0x0f,0x00,0x33,0x44,
+0x54,0x93,0x33,0x44,0xfd,0xfb,0x80,0x60,0x7c,0x64,0x01,0xfa,0x00,0x64,0x00,0xf0,
+0x00,0xfa,0xd0,0x80,0x94,0xf9,0x02,0x02,0x95,0xf9,0x08,0xfe,0x2f,0x58,0xff,0xff,
+0x66,0x43,0x25,0x46,0x05,0xfc,0x06,0xfc,0x61,0x44,0x02,0xfa,0x01,0xf0,0x03,0x67,
+0xb0,0x84,0x00,0xf0,0x3c,0x7e,0x01,0xfa,0x04,0x64,0x03,0xfa,0x04,0xf8,0x00,0x64,
+0x23,0xfa,0x1a,0xfa,0x1b,0xfa,0x0c,0x61,0x14,0x63,0x59,0xda,0xfe,0x1f,0x2f,0x58,
+0xff,0xff,0x05,0x4c,0x7c,0x61,0x58,0x4f,0xc1,0x00,0x80,0x63,0x13,0x03,0x2c,0x46,
+0xbf,0xd0,0x25,0x46,0xff,0xd8,0x2c,0x46,0xfb,0x1d,0x25,0x46,0x00,0x64,0xd0,0x80,
+0x09,0xfa,0x0a,0xfa,0x05,0x03,0x64,0x46,0x01,0xf0,0x08,0x67,0xc0,0x84,0x01,0xfa,
+0x58,0x4f,0x02,0x00,0x2e,0x58,0xff,0xff,0x27,0x43,0x00,0xbb,0x25,0x46,0x12,0x03,
+0xbe,0xd3,0x08,0xfc,0x00,0xa8,0xff,0xff,0x03,0x02,0x25,0x44,0xa3,0xdb,0x04,0x00,
+0x0a,0xfa,0x60,0x46,0x25,0x44,0x09,0xfa,0xbe,0xdb,0x04,0xa3,0xa3,0xd3,0xff,0xff,
+0xdc,0x84,0xa3,0xdb,0x2f,0x58,0xff,0xff,0x07,0x4c,0x58,0x4f,0x28,0x00,0x0c,0x47,
+0x58,0x4f,0xe2,0x00,0x2e,0x58,0xff,0xff,0x07,0x4c,0x58,0x4f,0x20,0x00,0x0c,0x47,
+0x58,0x4f,0x5e,0x00,0x2e,0x58,0xff,0xff,0x07,0x4c,0x58,0x4f,0x18,0x00,0x0c,0x47,
+0x27,0x44,0x00,0xbe,0x08,0xf0,0x11,0x03,0x09,0xf2,0x25,0x43,0x09,0xfc,0x63,0x46,
+0x27,0x43,0x0a,0xfc,0x09,0xfa,0x08,0xf8,0x00,0xa8,0x66,0x43,0x03,0x02,0x64,0x44,
+0x58,0xdd,0x03,0x00,0x60,0x46,0x25,0x44,0x0a,0xfa,0x2e,0x58,0xff,0xff,0x25,0x46,
+0x08,0xf2,0x09,0xf0,0x00,0xa8,0x40,0x47,0x1d,0x03,0x0a,0xf2,0x64,0x43,0x00,0xbb,
+0x27,0x42,0xda,0x82,0x08,0x24,0xa2,0xdb,0x00,0xa8,0xca,0x82,0x02,0x02,0xa2,0xdd,
+0x02,0x00,0x60,0x46,0x09,0xfc,0x00,0xbb,0x63,0x46,0x08,0x28,0x0a,0xfa,0x25,0x46,
+0x00,0x64,0x09,0xfa,0x0a,0xfa,0x08,0xfa,0x27,0x42,0x04,0xa2,0xa2,0xd3,0xff,0xff,
+0xcc,0x84,0xa2,0xdb,0x2f,0x58,0xff,0xff,0x25,0x46,0x01,0xf2,0x00,0xf2,0xff,0xff,
+0x03,0x23,0x11,0x00,0x00,0xa8,0x60,0x46,0x0c,0x03,0x01,0xf0,0x78,0x67,0xa0,0x80,
+0xf8,0x67,0x07,0x03,0xc0,0x84,0x01,0xfa,0x25,0x46,0x00,0x64,0x00,0xfa,0x25,0x44,
+0x05,0xfa,0x58,0x4f,0xc4,0x00,0x58,0x4f,0x27,0x00,0xd1,0xfe,0x2e,0x58,0xff,0xff,
+0x27,0x43,0x00,0xbb,0x25,0x46,0x10,0x03,0xa3,0xd3,0x08,0xfc,0x00,0xa8,0x09,0xfa,
+0x03,0x02,0x25,0x44,0xbe,0xdb,0x04,0x00,0x60,0x46,0x25,0x44,0x0a,0xfa,0x25,0x46,
+0x00,0x64,0x0a,0xfa,0x25,0x44,0xa3,0xdb,0x2f,0x58,0xff,0xff,0x95,0xf3,0x05,0xf0,
+0x00,0xbe,0x95,0xf9,0x25,0x44,0x02,0x02,0x94,0xfb,0x01,0x00,0x00,0xfa,0x25,0x46,
+0x7c,0x64,0x01,0xfa,0x2f,0x58,0xff,0xff,0x95,0xf3,0x00,0x61,0x00,0xbe,0x25,0x44,
+0x02,0x03,0x00,0xfa,0x01,0x00,0x94,0xfb,0x60,0x46,0x00,0xf2,0x66,0x43,0x00,0xbe,
+0xdd,0x81,0xfb,0x02,0x95,0xfd,0x33,0x45,0x45,0x93,0x33,0x44,0xfd,0xfb,0x2f,0x58,
+0xff,0xff,0x25,0x46,0x05,0xf0,0x06,0xf2,0x05,0xfa,0xd0,0x80,0x64,0x43,0x0e,0x03,
+0x60,0x46,0x01,0xf0,0x80,0x67,0xb0,0x84,0x01,0xfa,0x00,0xf0,0x00,0x64,0x00,0xfa,
+0x64,0x46,0x05,0xfc,0x46,0x45,0x58,0x4f,0xd7,0x00,0xd1,0xfe,0x2e,0x58,0xff,0xff,
+0x00,0x66,0x46,0x45,0x29,0x43,0xfc,0xa3,0x66,0x44,0xbd,0xdb,0x25,0x44,0xbd,0xdb,
+0x00,0x64,0xbd,0xdb,0x03,0x61,0x1a,0x65,0x3f,0x60,0x68,0x63,0x43,0x49,0xa3,0xd3,
+0x06,0xa3,0x00,0xa8,0xcd,0x81,0x04,0x02,0xf9,0x02,0x18,0x60,0xed,0x78,0xff,0xff,
+0x01,0x26,0xe6,0x00,0xd4,0x80,0x60,0x45,0xe3,0x05,0xf6,0xa3,0xbd,0xd1,0xbd,0xd1,
+0x44,0x47,0x44,0x48,0x44,0x45,0x13,0x60,0xb0,0x64,0x44,0xd7,0xff,0xff,0xff,0xff,
+0x94,0xf3,0x33,0x41,0x00,0xa8,0x40,0x45,0x0f,0x03,0x60,0x46,0x80,0x60,0x7c,0x64,
+0x01,0xfa,0x4d,0x93,0x33,0x44,0xfd,0xfb,0x00,0x64,0x00,0xf0,0x00,0xfa,0xd0,0x80,
+0x94,0xf9,0x02,0x02,0x95,0xf9,0x08,0xfe,0x2f,0x58,0xff,0xff,0xa2,0xfe,0xff,0xff,
+0x12,0x05,0xa0,0xfe,0xff,0xff,0x07,0x05,0xa3,0xfe,0xff,0xff,0x07,0x05,0xa1,0xfe,
+0xff,0xff,0x0a,0x04,0x18,0x00,0x20,0x58,0xff,0xff,0xff,0xff,0x59,0xf3,0xff,0xff,
+0x80,0xbc,0x59,0xfb,0x10,0x00,0xff,0xff,0xff,0xff,0x0a,0x00,0x99,0xff,0x30,0x44,
+0x50,0xbc,0x40,0x51,0x98,0xff,0x99,0xff,0x30,0x44,0x7d,0xb4,0x40,0x51,0x98,0xff,
+0xa1,0xff,0xff,0xff,0xbb,0x3f,0x3c,0x44,0xac,0x84,0x7f,0xf3,0xf9,0x02,0x02,0xa8,
+0x00,0x64,0x09,0x02,0x7f,0xfb,0x80,0xfb,0x81,0xfb,0xca,0xfe,0x00,0x64,0x82,0xfb,
+0x1a,0x60,0xb9,0x78,0xff,0xff,0x7f,0xf3,0x80,0xf3,0x02,0xa8,0x02,0xa8,0x0a,0x02,
+0x00,0x64,0x81,0xfb,0x7f,0xfb,0x80,0xfb,0x00,0x64,0x82,0xfb,0xca,0xfe,0x1b,0x60,
+0x83,0x78,0xff,0xff,0x81,0xf1,0x00,0x64,0x64,0x41,0x02,0x02,0x80,0xfb,0xca,0xfe,
+0x61,0x44,0x01,0xa8,0xff,0xff,0x09,0x02,0x3f,0x60,0x5e,0x62,0xa2,0xd3,0xff,0xff,
+0x00,0xa8,0x60,0x46,0x14,0x02,0xfe,0xb4,0x81,0xfb,0x89,0xf3,0xff,0xff,0x60,0x40,
+0x01,0x26,0x10,0x00,0x80,0xf3,0x82,0xf3,0x01,0xa8,0x02,0xb0,0x01,0x02,0x0a,0x03,
+0x3f,0x60,0x16,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x53,0x03,0x1b,0x60,
+0x9b,0x78,0xff,0xff,0x3f,0x60,0x16,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,
+0xf6,0x02,0xbd,0xf3,0xff,0xff,0xfd,0xa0,0x61,0xf3,0x45,0x02,0x02,0xb0,0x5b,0xf1,
+0x06,0x02,0x64,0x43,0x00,0xbb,0xff,0xff,0x02,0x03,0x63,0x44,0x08,0x00,0xfd,0xb4,
+0x61,0xfb,0x3f,0x60,0x10,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x00,0xbc,
+0x5b,0xfb,0x56,0x03,0x60,0x46,0x2b,0xf2,0xff,0xff,0x01,0xb0,0x61,0xf3,0x04,0x03,
+0x01,0xb0,0xff,0xff,0x19,0x02,0x16,0x00,0xfe,0xb4,0x61,0xfb,0x6e,0x60,0x58,0x4e,
+0x48,0x78,0xff,0xff,0x0f,0x03,0x19,0xf2,0xff,0xff,0x00,0xbc,0xff,0xff,0x0c,0x03,
+0xa0,0xd3,0xff,0xff,0x02,0xb0,0xff,0xff,0x07,0x03,0x6e,0x60,0x58,0x4e,0x2e,0x78,
+0xff,0xff,0x02,0x03,0x09,0xf2,0xdb,0x00,0x0d,0xf2,0xff,0xff,0x00,0x7f,0x0d,0xfa,
+0x09,0xf2,0x5b,0xfb,0x00,0xbc,0xff,0xff,0x43,0x02,0x61,0xf3,0xff,0xff,0xfe,0xb4,
+0x61,0xfb,0x3e,0x00,0x25,0x00,0x3f,0x60,0x10,0x65,0x6a,0x60,0xd0,0x64,0xa0,0xd3,
+0xa5,0xd3,0x00,0xa0,0xff,0xff,0x0a,0x03,0x00,0xa0,0x60,0x46,0x07,0x03,0x0f,0xf2,
+0xff,0xff,0x60,0x40,0x02,0x26,0x07,0x00,0x09,0xf2,0xf6,0x00,0xa5,0xd3,0xff,0xff,
+0x00,0xa8,0x60,0x46,0x0d,0x03,0x13,0xf3,0x89,0xf3,0x00,0xa8,0x00,0xa0,0x20,0x03,
+0x1f,0x03,0x22,0xf0,0x10,0x64,0xb0,0x84,0xa2,0xda,0x1e,0x60,0x58,0x78,0xff,0xff,
+0x00,0x64,0x40,0x5c,0xbd,0xf1,0x59,0xf3,0xff,0xff,0x60,0x40,0x80,0x2a,0x0d,0x00,
+0x7f,0xb4,0x59,0xfb,0x64,0x40,0x04,0x3a,0x08,0x00,0x29,0x44,0x2a,0x37,0x05,0x00,
+0x68,0xf3,0xff,0xff,0x04,0xbc,0x68,0xfb,0xc9,0xfe,0x1a,0x60,0xb9,0x78,0xff,0xff,
+0x59,0xf3,0xff,0xff,0xff,0xff,0x80,0x26,0x0e,0x00,0x02,0x26,0x0a,0x00,0x3f,0x60,
+0x82,0x62,0x08,0x64,0xa2,0xdb,0x00,0x64,0x5a,0xdb,0x2d,0xff,0x1a,0x60,0xc3,0x78,
+0xff,0xff,0x80,0xbc,0x59,0xfb,0xbd,0xf3,0x0e,0xf0,0xfc,0xa0,0xfd,0xa0,0x01,0x03,
+0x17,0x02,0x60,0x41,0x02,0x65,0x64,0x44,0x40,0x49,0x2a,0x37,0x11,0x00,0x18,0x37,
+0x0f,0x00,0xff,0x37,0x02,0x00,0xfd,0x3b,0x06,0x00,0x61,0x44,0xfd,0xa0,0x01,0x65,
+0x02,0x03,0x00,0x64,0x5a,0xfb,0x68,0xf3,0xff,0xff,0xb4,0x84,0x68,0xfb,0xc9,0xfe,
+0x29,0xf2,0x5a,0xf1,0x60,0x40,0xb0,0x36,0x06,0x00,0x00,0x36,0x04,0x00,0x20,0x36,
+0x02,0x00,0xb0,0x84,0x29,0xfa,0xf8,0x60,0x73,0x78,0xff,0xff,0xe6,0xf0,0x7f,0x00,
+0xf6,0x04,0x6a,0x60,0xa0,0x62,0x00,0x64,0xa2,0xdb,0x29,0xf0,0xff,0xff,0x64,0x40,
+0x40,0x27,0x03,0x00,0x1b,0x60,0xd9,0x78,0xff,0xff,0x2f,0xf3,0xff,0xff,0xff,0xff,
+0x04,0x2a,0x19,0x00,0x46,0x5c,0x6a,0x60,0xae,0x62,0x01,0x64,0xa2,0xdb,0xf8,0x60,
+0x94,0x64,0x40,0x44,0x99,0xff,0x30,0x44,0x41,0xbc,0x40,0x51,0x98,0xff,0xa1,0xff,
+0xff,0xff,0xbb,0x3f,0x99,0xff,0x30,0x44,0xfe,0xb4,0x40,0x51,0x98,0xff,0x6a,0x60,
+0xae,0x62,0x00,0x64,0xa2,0xdb,0x33,0xf3,0x00,0x65,0x60,0x41,0x89,0xf3,0xc5,0xf3,
+0x00,0xa0,0x23,0xf2,0x00,0xa0,0x02,0x02,0x3a,0x03,0x37,0x00,0xe2,0xfb,0x60,0x41,
+0x60,0x47,0x00,0x7f,0xe0,0x84,0x60,0x45,0xe0,0x84,0xe0,0x84,0xc4,0x85,0xc4,0x85,
+0x41,0x60,0x92,0x63,0x47,0xd3,0xf0,0xa3,0x00,0x7c,0x60,0x40,0x02,0x27,0x02,0x7c,
+0xd5,0xf9,0xff,0xff,0x07,0x7c,0x60,0x40,0x01,0x27,0x0f,0x7c,0x38,0xf9,0x60,0x47,
+0x18,0xb4,0x60,0x5c,0x61,0x47,0xff,0xb5,0xff,0xb1,0x67,0x44,0xc9,0xfb,0x65,0x44,
+0x80,0xa0,0x61,0x40,0x02,0x36,0x40,0x00,0x3f,0x05,0x64,0x44,0xe8,0x85,0xc5,0x85,
+0x90,0x64,0xc4,0x85,0x65,0x44,0xe0,0x9c,0x64,0x44,0xe0,0x84,0xe0,0x84,0xc0,0x9c,
+0xc0,0x9c,0x41,0x60,0x82,0x63,0xc3,0x83,0x2f,0x00,0xff,0x36,0x03,0x61,0x61,0x5c,
+0x32,0xf3,0x64,0x40,0x03,0x26,0x06,0x00,0x60,0x40,0x01,0x2a,0x15,0x00,0x6a,0x60,
+0xe8,0x63,0x1f,0x00,0x64,0x40,0x03,0x2a,0x06,0x00,0x60,0x40,0x08,0x2a,0x0c,0x00,
+0x6b,0x60,0x18,0x63,0x16,0x00,0x64,0x40,0x01,0x2a,0x0e,0x00,0x60,0x40,0x02,0x2a,
+0x03,0x00,0x6a,0x60,0xf8,0x63,0x0d,0x00,0x46,0x5c,0x22,0xf0,0x04,0x64,0xb0,0x84,
+0xa2,0xda,0x1e,0x60,0x58,0x78,0xff,0xff,0x60,0x40,0x04,0x2a,0xf5,0x00,0x6b,0x60,
+0x08,0x63,0x03,0xb1,0xa0,0x65,0xc5,0x85,0x98,0xff,0x07,0xf2,0xff,0xff,0x60,0x40,
+0x00,0x3a,0x43,0x00,0xd5,0xf3,0xff,0xff,0x60,0x40,0x02,0x26,0x0d,0x00,0x25,0xf3,
+0x26,0xf1,0xdc,0x84,0x25,0xfb,0x1a,0xfa,0x64,0x44,0x02,0x24,0xdc,0x84,0xff,0xb4,
+0x60,0x5c,0x02,0xfe,0x4c,0x62,0x27,0x00,0x29,0xf3,0x2a,0xf1,0xdc,0x84,0x29,0xfb,
+0x11,0xfa,0x64,0x44,0x02,0x28,0x14,0x00,0x89,0xf3,0x63,0x5c,0x60,0x40,0x01,0x3a,
+0x05,0x00,0x78,0x60,0x4e,0x62,0x9f,0x63,0xe3,0x83,0x03,0x00,0x79,0x60,0x8e,0x62,
+0x06,0x63,0x00,0x64,0x5a,0xdb,0xfe,0x1f,0x2a,0xf3,0x64,0x43,0xdc,0x84,0x2a,0xfb,
+0x2c,0xf1,0x10,0xfa,0xff,0xff,0x64,0x44,0x02,0x24,0xdc,0x84,0x2c,0xfb,0x1a,0xfa,
+0x00,0x7c,0x42,0xfe,0x56,0x62,0x61,0x44,0x03,0xb4,0xf8,0x84,0xf8,0x84,0xf8,0x84,
+0xb0,0x84,0xa2,0xdb,0x1b,0xfa,0x01,0x64,0x07,0xfa,0x1b,0xf0,0x21,0xf2,0x64,0x40,
+0x20,0x27,0x04,0xa4,0x21,0xfa,0x64,0x40,0x20,0x27,0x03,0x00,0xfa,0x60,0x4b,0x78,
+0xff,0xff,0x67,0x44,0xc9,0xfb,0x78,0x60,0x50,0x62,0x65,0x44,0xe0,0x85,0x46,0xd1,
+0x01,0x64,0xa2,0xdb,0x65,0x44,0xe0,0x85,0x7a,0x60,0xe0,0x64,0x64,0x41,0x44,0xd1,
+0x10,0xf0,0x64,0x42,0x50,0xfe,0xd2,0x80,0xa0,0xd9,0x58,0xd1,0x1a,0xf0,0x64,0x42,
+0xd2,0x80,0xa0,0xd9,0x61,0x5c,0x01,0x01,0x00,0x7c,0x65,0x44,0xe8,0x85,0xc4,0x85,
+0xc4,0x85,0x6b,0x60,0x80,0x61,0xc5,0x81,0x1c,0x60,0x12,0x65,0x64,0x40,0x00,0x36,
+0x03,0x00,0xf9,0x60,0xd2,0x78,0xff,0xff,0x10,0xf2,0x1a,0xf0,0xa1,0xdb,0xff,0xff,
+0x59,0xd9,0xb0,0xf3,0x59,0xdb,0xff,0xff,0xb1,0xf3,0x59,0xdb,0xb2,0xf1,0xff,0xff,
+0x59,0xd9,0x00,0x64,0xe3,0xfb,0xff,0xff,0x60,0x40,0x01,0x26,0x02,0xa3,0x05,0x64,
+0xe4,0xfb,0xa3,0xd3,0xff,0xff,0x90,0x84,0x60,0x5c,0x00,0x7f,0xe0,0x82,0x64,0x47,
+0x46,0xd1,0x00,0x7f,0xe0,0x84,0x44,0xd3,0xff,0xff,0x60,0x47,0x90,0x84,0xe4,0xf3,
+0x60,0x5c,0x02,0xa1,0x60,0x40,0x05,0x36,0xf6,0xa1,0xa1,0xd3,0xff,0xff,0xc0,0x9c,
+0xe4,0xf3,0xa1,0xd9,0xff,0xa4,0xe4,0xfb,0x04,0xa3,0x60,0x40,0x01,0x36,0xf0,0xa3,
+0x60,0x40,0x00,0x3a,0xde,0x00,0xe3,0xf3,0xfc,0xa3,0xff,0xff,0x60,0x40,0x01,0x26,
+0xfe,0xa3,0xc0,0x9c,0x01,0xa4,0xf8,0xa0,0xa1,0xd9,0xe3,0xfb,0xce,0x02,0xf8,0xa1,
+0x80,0x60,0x6c,0x64,0xfe,0xa1,0x63,0x45,0x08,0x63,0x59,0xd1,0x58,0xd9,0xfd,0x1f,
+0x11,0xf2,0x60,0x43,0xc0,0x9c,0x5b,0xd9,0x65,0x41,0xfe,0xa1,0x1c,0x60,0x12,0x65,
+0x00,0x64,0xe3,0xfb,0x59,0xd3,0xff,0xff,0x90,0x84,0x60,0x5c,0x00,0x7f,0xe0,0x82,
+0x64,0x47,0x46,0xd1,0x00,0x7f,0xe0,0x84,0x44,0xd3,0xff,0xff,0x60,0x47,0x90,0x84,
+0xe3,0xf3,0x60,0x5c,0x02,0xa3,0x60,0x40,0x00,0x36,0xf4,0xa3,0xa3,0xd3,0xe3,0xf3,
+0xc0,0x9c,0xa3,0xd9,0x01,0xa4,0xfa,0xa0,0xe3,0xfb,0xe4,0x02,0x61,0x44,0xf6,0xa4,
+0xe3,0xfb,0x59,0xd3,0xf6,0xa3,0x90,0x84,0xa3,0xd1,0xe8,0x85,0x01,0xb4,0xf8,0x84,
+0x94,0x84,0xc0,0x84,0x59,0xd1,0xa3,0xdb,0x90,0x84,0x5b,0xd1,0xe8,0x85,0x01,0xb4,
+0xf8,0x84,0x94,0x84,0xc0,0x84,0xa3,0xdb,0x04,0x61,0x5b,0xd1,0xe8,0x85,0x01,0xb4,
+0xf8,0x84,0x94,0x84,0xc0,0x84,0xff,0xa1,0xa3,0xdb,0x61,0x40,0x00,0x3a,0xf5,0x00,
+0xe3,0xf3,0x60,0x41,0xa0,0xd1,0x11,0xf2,0x91,0x81,0xe9,0x85,0xf2,0xa3,0x60,0x41,
+0x60,0x47,0x60,0x5c,0x20,0xbc,0x7f,0xb4,0x60,0x47,0x64,0x5e,0xa3,0xdb,0x65,0x47,
+0x61,0x5e,0x5b,0xdb,0x99,0xff,0x00,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0x00,0x60,
+0x00,0xeb,0xff,0xff,0xff,0xff,0xdf,0x61,0xfc,0xa3,0x01,0xa1,0x5b,0xd1,0x61,0x5f,
+0x64,0x5e,0x40,0x5a,0x01,0xa1,0x64,0x47,0x61,0x5f,0x40,0x5a,0xef,0x3b,0xf5,0x00,
+0x4c,0x00,0x00,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0x00,0x60,0x00,0xeb,0xff,0xff,
+0xff,0xff,0x1a,0xf0,0xe0,0x7f,0x64,0x5e,0x99,0xff,0x40,0x5a,0x64,0x47,0xe1,0x7f,
+0x40,0x5a,0x1b,0xf2,0xff,0xff,0xe2,0x7f,0x40,0x5a,0x61,0x5c,0xc9,0xf3,0xc9,0xf9,
+0xd0,0x80,0xff,0xff,0x32,0x03,0xbd,0xd3,0xff,0xff,0x60,0x45,0xe3,0x7f,0x40,0x5a,
+0x65,0x47,0xe4,0x7f,0xbd,0xd3,0x40,0x5a,0x60,0x45,0xe5,0x7f,0x40,0x5a,0x65,0x47,
+0xe6,0x7f,0xbd,0xd3,0x40,0x5a,0x60,0x45,0x38,0xf1,0xe7,0x7f,0x40,0x5a,0x64,0x40,
+0x0f,0x3a,0x1b,0x00,0x65,0x47,0xe8,0x7f,0xbd,0xd3,0x40,0x5a,0x60,0x45,0xe9,0x7f,
+0x40,0x5a,0x65,0x47,0xea,0x7f,0xbd,0xd3,0x40,0x5a,0x60,0x45,0xeb,0x7f,0x40,0x5a,
+0x65,0x47,0xec,0x7f,0xbd,0xd3,0x40,0x5a,0x60,0x45,0xed,0x7f,0x40,0x5a,0x65,0x47,
+0xee,0x7f,0xbd,0xd3,0x40,0x5a,0xef,0x7f,0x40,0x5a,0x20,0x60,0x00,0xeb,0x6b,0x60,
+0x28,0x62,0xa2,0xd3,0xff,0xff,0xff,0xff,0x01,0x2a,0x38,0x00,0x00,0x64,0xa2,0xdb,
+0x00,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0x3a,0x5c,0x80,0x2b,0x12,0x00,
+0x8b,0xff,0x74,0x40,0x88,0xff,0x3a,0x5c,0x80,0x2b,0x09,0x00,0x8b,0xff,0x74,0x40,
+0x88,0xff,0x3a,0x5c,0x80,0x2b,0x03,0x00,0x8b,0xff,0x74,0x40,0x88,0xff,0x8b,0xff,
+0x74,0x40,0x88,0xff,0x3a,0x5c,0x80,0x2b,0xff,0xff,0x31,0x60,0x00,0xea,0xff,0xff,
+0xff,0xff,0x00,0x60,0x00,0xea,0x3a,0x5c,0x80,0x27,0x09,0x00,0x31,0x60,0x00,0xea,
+0xff,0xff,0xff,0xff,0x00,0x60,0x00,0xea,0x3a,0x5c,0x80,0x2b,0xf7,0x00,0x00,0x64,
+0xca,0xfb,0x30,0x60,0x00,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0x3a,0x40,0x40,0x27,
+0xfd,0x00,0x6a,0x60,0xb2,0x62,0x00,0x64,0xa2,0xdb,0x38,0xf1,0x80,0x60,0x00,0x64,
+0xb0,0x84,0x40,0x5a,0x98,0xff,0x33,0x60,0x00,0xea,0x30,0xf3,0xff,0xff,0x01,0xbc,
+0x30,0xfb,0x1b,0x60,0xd9,0x78,0xff,0xff,0xb2,0x37,0x7e,0x00,0xc0,0x06,0x19,0xf2,
+0xff,0xff,0x00,0xb8,0x1d,0xf2,0x06,0x03,0x60,0x47,0x00,0x7f,0x46,0xfb,0x44,0xfb,
+0x60,0x5c,0x07,0x00,0x43,0xf3,0x44,0xf1,0xff,0xff,0x45,0xfb,0x46,0xf9,0x00,0x64,
+0x47,0xfb,0x89,0xf3,0xff,0xff,0x00,0xbc,0xff,0xff,0x06,0x02,0x29,0xf2,0xff,0xff,
+0x0c,0xb4,0xff,0xff,0x00,0x3a,0x02,0x00,0x13,0xf0,0x46,0xf9,0x64,0x44,0x00,0xa0,
+0x01,0x63,0x04,0x03,0xff,0xa0,0x02,0x63,0x01,0x03,0x0b,0x63,0x48,0xfd,0x46,0x5c,
+0x22,0xf2,0xff,0xff,0x60,0x40,0x10,0x26,0x40,0x00,0x21,0xf2,0x16,0xf2,0x60,0x45,
+0x45,0x4c,0xc4,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,0x21,0xfa,0x17,0xf0,0x2c,0x44,
+0xc0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,0x1f,0xfa,0x89,0xf3,0x29,0xf0,0x00,0xbc,
+0x00,0x64,0x03,0x02,0x64,0x40,0x80,0x3a,0x01,0xbc,0x42,0xfb,0x89,0xf3,0xff,0xff,
+0x00,0xa0,0xff,0xff,0x06,0x03,0x27,0xf2,0xff,0xff,0x00,0xa0,0xff,0xff,0x19,0x03,
+0x1c,0x00,0x9c,0xf3,0x56,0x63,0x02,0xa8,0x29,0xf2,0x13,0x03,0x29,0xf0,0x60,0x47,
+0x64,0x40,0x08,0x2a,0x0e,0x00,0x03,0xa8,0x03,0x2e,0x0b,0x00,0x03,0xb0,0x03,0x22,
+0x62,0x63,0x75,0xf1,0xbd,0xd8,0xff,0xff,0x76,0xf1,0xbd,0xd8,0xff,0xff,0x77,0xf1,
+0xa3,0xd8,0x3f,0xf3,0x34,0xfa,0x10,0xa4,0x3f,0xfb,0x89,0xf3,0xff,0xff,0x00,0xa0,
+0xff,0xff,0x6c,0x02,0x29,0xf2,0xbd,0xf3,0x60,0x40,0x08,0x3a,0x67,0x00,0xfd,0xa0,
+0xfc,0xa0,0x05,0x03,0x89,0xf3,0x03,0x03,0x60,0x40,0x00,0x36,0x5f,0x00,0x14,0xf2,
+0x21,0xf0,0xcc,0x84,0x60,0x41,0x04,0x03,0x00,0x64,0xcd,0x81,0xc0,0x84,0xfd,0x02,
+0x1f,0xf0,0x46,0xf1,0xc0,0x84,0x48,0xf1,0x64,0x41,0x02,0x36,0xe0,0x84,0x64,0x45,
+0x00,0x62,0x11,0x61,0xe0,0x84,0xcd,0x81,0xfd,0x04,0x01,0x00,0xe0,0x84,0xf2,0x82,
+0xff,0xff,0x02,0x24,0xc6,0x82,0x02,0x28,0xd6,0x82,0xe2,0x80,0xcd,0x81,0x02,0x28,
+0x01,0xbc,0xf4,0x02,0x01,0x2a,0xc6,0x82,0x14,0xf0,0x60,0x43,0x00,0x60,0xaf,0x65,
+0x00,0x64,0x64,0x41,0xcd,0x81,0xc4,0x84,0xfd,0x02,0x63,0x45,0xc4,0x84,0x40,0x48,
+0x28,0x44,0x70,0x45,0xc4,0x85,0x02,0x60,0x58,0x64,0xc4,0x84,0x9a,0xf1,0xe8,0x84,
+0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xc0,0x84,0x60,0x41,0x73,0x45,
+0xd4,0x80,0xd0,0xf1,0x0d,0x0d,0x64,0x44,0x00,0x36,0x29,0x00,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0xe0,0x84,0x61,0x45,0xc4,0x84,0x73,0x45,0xd4,0x80,0xff,0xff,0x1f,0x0e,
+0xbd,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,0x0a,0x02,0x00,0x64,0x40,0x5c,0x22,0xf0,
+0x10,0x64,0xb0,0x84,0xa2,0xda,0x1a,0x60,0xb9,0x78,0xff,0xff,0x12,0x00,0xd1,0xf3,
+0x28,0x45,0x60,0x40,0x00,0x3a,0x0b,0x00,0x07,0x60,0xd0,0x64,0xc4,0x84,0x70,0x45,
+0xd4,0x80,0xff,0xff,0x04,0x04,0x60,0x50,0x01,0x64,0xd4,0xfb,0x02,0x00,0x28,0x44,
+0x5c,0xfb,0x6a,0x60,0xa0,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0x00,0x64,0x08,0x03,
+0xa2,0xdb,0x6a,0x60,0xb0,0x62,0xa2,0xd1,0x21,0x60,0x82,0x62,0xa2,0xd9,0x35,0x00,
+0x29,0xf2,0x0f,0xf2,0x60,0x40,0x08,0x27,0x04,0x00,0x02,0x2a,0x02,0x00,0x03,0x7c,
+0x03,0x00,0x21,0x60,0x80,0x64,0xa0,0xd1,0x89,0xf3,0x64,0x41,0x00,0xa0,0x29,0xf2,
+0x0b,0x02,0x60,0x40,0x80,0x3a,0x08,0x00,0x65,0xf3,0xdd,0x81,0xf6,0xa0,0xec,0xa0,
+0x03,0x04,0xdd,0x81,0x01,0x04,0xdd,0x81,0x25,0xf2,0xff,0xff,0x60,0x47,0x60,0x43,
+0xff,0xb3,0x61,0x40,0xff,0x22,0x06,0x00,0x61,0x44,0xfe,0xfb,0x22,0x60,0x58,0x4f,
+0xd3,0x78,0xff,0xff,0x21,0x60,0x82,0x64,0xa0,0xdd,0xab,0xf1,0x22,0x60,0x58,0x4f,
+0xd2,0x78,0xff,0xff,0x21,0x60,0x84,0x64,0xa0,0xdd,0x29,0xf2,0xff,0xff,0x60,0x45,
+0x6b,0x60,0x2c,0x62,0x90,0x60,0x60,0x64,0xa2,0xdb,0x6b,0x60,0x2e,0x62,0x65,0x44,
+0xa2,0xdb,0x22,0xf0,0xff,0x60,0xef,0x64,0xa0,0x84,0xa2,0xda,0x82,0xf3,0x46,0x5c,
+0xfd,0xb4,0x01,0xbc,0x82,0xfb,0x66,0x44,0xcf,0xfb,0x1f,0x60,0xac,0x78,0xff,0xff,
+0x00,0x64,0x5c,0xfb,0xcf,0xfb,0x6b,0x60,0x2c,0x62,0x90,0x60,0x61,0x64,0xa2,0xdb,
+0x46,0x5c,0x82,0xf3,0x3c,0x46,0x41,0xf1,0xfe,0xb4,0x82,0xfb,0x01,0x65,0x32,0x40,
+0x04,0x2b,0x64,0x45,0x02,0x22,0x03,0x00,0x1e,0x60,0x80,0x78,0xff,0xff,0x65,0x40,
+0x01,0x26,0x09,0x00,0x63,0x60,0xcc,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x1e,0x60,0x58,0x78,0xff,0xff,0x27,0xf0,0x01,0x60,0x00,0x64,0xc0,0x84,0x27,0xfa,
+0x29,0xf0,0x00,0x60,0x0c,0x64,0xa0,0x84,0x04,0x36,0x02,0x00,0x0c,0x3a,0x03,0x00,
+0x1e,0x60,0x58,0x78,0xff,0xff,0x60,0x41,0x61,0x40,0x08,0x36,0x62,0x00,0x29,0xf0,
+0x00,0x60,0xf0,0x64,0xa0,0x84,0xff,0xff,0x00,0x3a,0x07,0x00,0x63,0x60,0x90,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x51,0x00,0x20,0x3a,0x07,0x00,0x63,0x60,
+0x90,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x48,0x00,0x40,0x3a,0x07,0x00,
+0x63,0x60,0x98,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x3f,0x00,0xb0,0x3a,
+0x07,0x00,0x63,0x60,0x8e,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x36,0x00,
+0x80,0x3a,0x11,0x00,0x65,0xf3,0xff,0xff,0xdc,0x84,0x65,0xfb,0x74,0xf3,0xff,0xff,
+0xfd,0xa4,0x60,0x47,0x01,0xbc,0x62,0xfb,0x63,0x60,0x86,0x64,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x23,0x00,0xa0,0x3a,0x07,0x00,0x63,0x60,0x96,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x1a,0x00,0x50,0x3a,0x07,0x00,0x63,0x60,0x9c,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x11,0x00,0x10,0x3a,0x07,0x00,0x63,0x60,
+0x92,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x08,0x00,0x30,0x3a,0x06,0x00,
+0x63,0x60,0x92,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x1e,0x60,0x58,0x78,
+0xff,0xff,0x2b,0xf2,0x19,0xf2,0x60,0x40,0x01,0x26,0x18,0x00,0x00,0xa0,0x60,0x43,
+0x15,0x03,0x0e,0xa3,0xa3,0xd3,0xff,0xff,0x60,0x45,0x00,0x7f,0xec,0xa0,0xdc,0x84,
+0xa3,0xdb,0x0c,0x04,0x65,0x47,0x00,0x7f,0xfd,0xa0,0xff,0xff,0x05,0x07,0x19,0xf0,
+0x1f,0x60,0x58,0x4e,0x68,0x78,0xff,0xff,0x00,0x64,0xa3,0xdb,0x14,0xf2,0x28,0xf2,
+0x60,0x41,0x60,0x45,0x1e,0x63,0x60,0x47,0x18,0x63,0x04,0xa3,0x63,0x45,0x00,0x63,
+0xcd,0x81,0xc7,0x83,0xfd,0x02,0x38,0xf0,0xff,0xff,0xc3,0x83,0x2b,0xf2,0xff,0xff,
+0xff,0xff,0x01,0x2a,0x31,0x00,0x40,0x60,0x1c,0x64,0xa0,0xd3,0xff,0xff,0x01,0xbc,
+0xa2,0xdb,0x63,0x60,0x72,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x44,0xf3,0xff,0xff,0xe0,0x84,
+0xe0,0x84,0x60,0x45,0x63,0x60,0x76,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x63,0x60,
+0xb4,0x64,0xa0,0xd3,0x63,0x45,0xc4,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x32,0x00,0x63,0x60,0x5e,0x64,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x46,0xf3,0xff,0xff,0xe0,0x84,0xe0,0x84,0x60,0x45,0x63,0x60,0x62,0x64,0xc4,0x84,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x19,0x60,0x52,0x65,0x46,0xf3,0xff,0xff,0xe0,0x84,0xc4,0x82,
+0x00,0x64,0xa2,0xdb,0x63,0x60,0xb4,0x64,0xa0,0xd3,0x63,0x45,0xc4,0x84,0xa2,0xdb,
+0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0xbd,0xf3,0x3c,0x46,
+0xfd,0xa0,0xfc,0xa0,0x01,0x03,0x13,0x00,0x22,0xf2,0xff,0xff,0x60,0x40,0x10,0x2a,
+0x0e,0x00,0x80,0xf1,0x00,0x64,0x40,0x5c,0x13,0xfb,0xcf,0xfb,0x64,0x40,0x02,0x36,
+0x03,0x00,0x1a,0x60,0xb9,0x78,0xff,0xff,0x1a,0x60,0xc6,0x78,0xff,0xff,0x3f,0x60,
+0x64,0x62,0x3f,0x60,0x34,0x64,0xa2,0xdb,0x3c,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0xce,0xfe,0x1a,0x60,0xd6,0x78,0xff,0xff,0x6a,0x60,0xa0,0x62,
+0xa2,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,0x03,0x03,0x1f,0x60,0x34,0x78,0xff,0xff,
+0x0f,0xf0,0xaa,0xf1,0x64,0x41,0x01,0x2a,0xa9,0xf1,0x89,0xf3,0xff,0xff,0x60,0x40,
+0xff,0x26,0x1d,0xf0,0x26,0xf2,0xff,0xff,0xdc,0x84,0x26,0xfa,0x15,0xf2,0xff,0xff,
+0xdc,0x84,0xd0,0x80,0x15,0xfa,0x03,0x04,0x1f,0x60,0x39,0x78,0xff,0xff,0x13,0xf3,
+0xff,0xff,0x00,0xa8,0xff,0xff,0x05,0x03,0x22,0xf0,0x10,0x64,0xb0,0x84,0xa2,0xda,
+0xad,0x00,0x89,0xf3,0xff,0xff,0x00,0xbc,0x29,0xf2,0x02,0x02,0x0c,0xb4,0x00,0x36,
+0x7d,0x00,0x19,0xf2,0xff,0xff,0x00,0xbc,0x0e,0xa4,0x4f,0x03,0x60,0x43,0xa3,0xd1,
+0x01,0x60,0x01,0x64,0xc0,0x84,0xa3,0xdb,0x60,0x45,0x00,0x7f,0xec,0xa0,0xff,0xff,
+0x0c,0x04,0x65,0x47,0x00,0x7f,0xf9,0xa0,0xff,0xff,0x05,0x04,0x19,0xf0,0x1f,0x60,
+0x58,0x4e,0x51,0x78,0xff,0xff,0x00,0x64,0xa3,0xdb,0x0d,0xf2,0xff,0xff,0x01,0xa4,
+0x0d,0xfa,0x00,0x7f,0xfe,0xa0,0xff,0xff,0x15,0x04,0x1f,0x60,0x58,0x4e,0x7f,0x78,
+0xff,0xff,0x1d,0xf2,0xff,0xff,0x00,0x7e,0x60,0x47,0x46,0xfb,0x0b,0x63,0x60,0x40,
+0x00,0x36,0x01,0x63,0x60,0x40,0x01,0x36,0x02,0x63,0x48,0xfd,0x0d,0xf2,0xff,0xff,
+0x00,0x7e,0x0d,0xfa,0x0d,0xf2,0xff,0xff,0x60,0x47,0x01,0xa4,0x60,0x47,0x0d,0xfa,
+0x60,0x47,0x00,0x7f,0xfd,0xa0,0xff,0xff,0x39,0x04,0x6e,0x60,0x58,0x4e,0x48,0x78,
+0xff,0xff,0x04,0x03,0x6e,0x60,0x58,0x4e,0x5f,0x78,0xff,0xff,0x22,0xf0,0x10,0x64,
+0xb0,0x84,0xa2,0xda,0x1e,0x60,0x58,0x78,0xff,0xff,0x47,0xf3,0xff,0xff,0xdc,0x84,
+0xfe,0xa0,0x47,0xfb,0x23,0x04,0x00,0x64,0x47,0xfb,0x46,0xf3,0x45,0xf3,0x60,0x41,
+0xff,0xa0,0xe8,0x84,0x1b,0x03,0xff,0xa1,0x60,0x45,0x62,0x60,0xdc,0x63,0xa3,0xd3,
+0xff,0xff,0xa4,0x80,0x65,0x44,0xf4,0x03,0x45,0xfb,0x61,0x43,0x46,0xfd,0x63,0x44,
+0x00,0x3a,0x02,0x00,0x01,0x63,0x09,0x00,0x01,0x3a,0x02,0x00,0x02,0x63,0x05,0x00,
+0x02,0x3a,0x02,0x00,0x0b,0x63,0x01,0x00,0x0b,0x63,0x48,0xfd,0x29,0xf0,0x08,0x67,
+0xb0,0x84,0xa2,0xda,0x00,0x64,0x42,0xfb,0xfa,0x60,0xee,0x78,0xff,0xff,0xdc,0xf5,
+0x7f,0x00,0x72,0x00,0x29,0xf0,0xff,0xff,0x64,0x40,0x40,0x2b,0x31,0x00,0x2f,0xf3,
+0xff,0xff,0x60,0x40,0x04,0x2a,0x18,0x00,0x6a,0x60,0xae,0x62,0x01,0x64,0xa2,0xdb,
+0xfb,0x60,0x07,0x64,0x40,0x44,0x99,0xff,0x30,0x44,0x41,0xbc,0x40,0x51,0x98,0xff,
+0xa1,0xff,0xff,0xff,0xbb,0x3f,0x99,0xff,0x30,0x44,0xfe,0xb4,0x40,0x51,0x98,0xff,
+0x6a,0x60,0xae,0x62,0x00,0x64,0xa2,0xdb,0x99,0xff,0x3a,0x44,0x98,0xff,0x8f,0x2b,
+0x0f,0x00,0x50,0x27,0x0d,0x00,0x6a,0x60,0xb2,0x62,0x00,0x64,0xa2,0xdb,0x38,0xf1,
+0x80,0x60,0x00,0x64,0xb0,0x84,0x99,0xff,0x40,0x5a,0x98,0xff,0x33,0x60,0x00,0xea,
+0x1c,0x60,0x47,0x78,0xff,0xff,0x72,0x3e,0x7e,0x00,0x94,0x07,0x29,0xf2,0xff,0xff,
+0x60,0x40,0x08,0x3a,0x06,0x00,0x63,0x60,0xcc,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x21,0x60,0x80,0x65,0xab,0xf3,0xff,0xff,0xa5,0xdb,0x22,0xf0,0x01,0x64,
+0xb0,0x84,0xa2,0xda,0x1e,0x60,0x58,0x78,0xff,0xff,0xff,0x00,0x64,0x44,0x08,0xa4,
+0xa0,0xd3,0xff,0xff,0x60,0x41,0x60,0x47,0x00,0x7f,0x60,0x45,0x61,0x44,0x00,0x7f,
+0xe8,0x84,0xa4,0x80,0x00,0xa0,0x02,0x02,0x06,0x03,0xfa,0x00,0x60,0x41,0x65,0x47,
+0x61,0x45,0xb4,0x84,0xa2,0xdb,0x2e,0x58,0xff,0xff,0x64,0x44,0x08,0xa4,0xa0,0xd3,
+0xff,0xff,0x60,0x41,0x60,0x47,0x00,0x7f,0x60,0x45,0x61,0x44,0x00,0x7f,0xe0,0x84,
+0xa4,0x80,0xf0,0xa0,0x02,0x02,0x06,0x03,0xfa,0x00,0x60,0x41,0x65,0x47,0x61,0x45,
+0xb4,0x84,0xa2,0xdb,0x2e,0x58,0xff,0xff,0x19,0xf2,0xff,0xff,0x08,0xa4,0xa0,0xd3,
+0xff,0xff,0x60,0x47,0x00,0x7f,0x60,0x45,0x1d,0xf2,0xff,0xff,0x40,0x4d,0x60,0x47,
+0x00,0x7f,0x60,0x41,0x2d,0x44,0x00,0x7f,0xcd,0x81,0xe8,0x84,0x07,0x0e,0xa4,0x80,
+0xff,0xff,0xfa,0x03,0x60,0x45,0x61,0x47,0xb4,0x84,0x1d,0xfa,0x2e,0x58,0xff,0xff,
+0x21,0x60,0xf5,0x78,0xff,0xff,0x99,0xff,0x30,0x44,0xff,0xff,0x98,0xff,0x80,0x2a,
+0x03,0x00,0x47,0xff,0x21,0x58,0xff,0xff,0x47,0xff,0xa1,0xff,0xff,0xff,0xbb,0x3f,
+0xff,0xff,0x99,0xff,0x32,0x44,0x98,0xff,0x10,0x26,0x57,0x00,0x64,0xe2,0x45,0xff,
+0x47,0xff,0x53,0x0a,0x99,0xff,0x32,0x44,0x98,0xff,0x10,0x26,0x4e,0x00,0x04,0x27,
+0x04,0x00,0xa8,0xf3,0xff,0xff,0x60,0x54,0xcd,0xe2,0x1f,0x60,0xcd,0x64,0x40,0x42,
+0xc4,0xe2,0x99,0xff,0x30,0x44,0x04,0xbc,0x1d,0xb4,0x40,0x51,0x98,0xff,0xa1,0xff,
+0xff,0xff,0xbb,0x3f,0x99,0xff,0x32,0x44,0x98,0xff,0x10,0x26,0x36,0x00,0x64,0xe2,
+0x45,0xff,0x47,0xff,0x32,0x0a,0x99,0xff,0x32,0x44,0x98,0xff,0x10,0x26,0x2d,0x00,
+0xc0,0xf3,0x42,0xf3,0x00,0xa0,0xff,0xff,0xea,0x02,0x01,0x3a,0x63,0x00,0x99,0xff,
+0x3e,0x44,0xfc,0xb4,0x40,0x5e,0x02,0xbc,0xff,0xff,0xff,0xff,0x40,0x5e,0x98,0xff,
+0x1f,0x60,0xf7,0x64,0x40,0x42,0x99,0xff,0x30,0x44,0x44,0xbc,0x5d,0xb4,0x40,0x51,
+0x98,0xff,0xa1,0xff,0xff,0xff,0xbb,0x3f,0x99,0xff,0x32,0x44,0x98,0xff,0x10,0x26,
+0x0c,0x00,0x64,0xe2,0x45,0xff,0x47,0xff,0x08,0x0a,0x99,0xff,0x32,0x44,0x98,0xff,
+0x10,0x26,0x03,0x00,0x20,0x60,0xce,0x78,0xff,0xff,0x20,0x60,0x17,0x64,0x40,0x40,
+0x20,0x60,0x45,0x64,0x40,0x41,0x99,0xff,0x30,0x44,0xe0,0xbc,0xf9,0xb4,0x40,0x51,
+0x98,0xff,0xa1,0xff,0xff,0xff,0xbb,0x3f,0x2b,0x60,0x48,0x62,0xa2,0xd3,0x13,0xf3,
+0x00,0xa0,0x00,0xa0,0x13,0x03,0x6b,0x60,0x28,0x62,0x01,0x64,0xa2,0xdb,0x22,0xf0,
+0x01,0x64,0xb0,0x84,0xa2,0xda,0x99,0xff,0x30,0x44,0x59,0xb4,0x40,0x51,0x98,0xff,
+0x1a,0x60,0xb9,0x64,0x40,0x40,0x1e,0x60,0x58,0x78,0xff,0xff,0x13,0x03,0x6b,0x60,
+0x28,0x62,0x01,0x64,0xa2,0xdb,0x22,0xf0,0x10,0x64,0xb0,0x84,0xa2,0xda,0x99,0xff,
+0x30,0x44,0x59,0xb4,0x40,0x51,0x98,0xff,0x1a,0x60,0xb9,0x64,0x40,0x40,0x1e,0x60,
+0x58,0x78,0xff,0xff,0x20,0x60,0xb0,0x64,0x40,0x40,0x20,0x60,0x75,0x64,0x40,0x42,
+0x99,0xff,0x30,0x44,0x44,0xbc,0x5d,0xb4,0x40,0x51,0x98,0xff,0x99,0xff,0x32,0x44,
+0x98,0xff,0x10,0x26,0xb2,0x00,0xc0,0xf3,0x64,0xe2,0x00,0xa0,0x45,0xff,0x47,0xff,
+0x16,0x02,0xab,0x0a,0x99,0xff,0x32,0x44,0x98,0xff,0x10,0x26,0xa6,0x00,0x21,0x60,
+0x82,0x65,0xa5,0xd3,0xff,0xff,0x01,0xa8,0xff,0xff,0x09,0x02,0x99,0xff,0x3e,0x44,
+0xfc,0xb4,0x40,0x5e,0x02,0xbc,0xff,0xff,0xff,0xff,0x40,0x5e,0x98,0xff,0xa1,0xff,
+0xff,0xff,0xbb,0x3f,0xc0,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0xf8,0x02,0x99,0xff,
+0x32,0x44,0x98,0xff,0x10,0x26,0x89,0x00,0x64,0xe2,0x45,0xff,0x47,0xff,0x29,0x0a,
+0x99,0xff,0x32,0x44,0x98,0xff,0x10,0x26,0x24,0x00,0x13,0xf3,0xff,0xff,0x00,0xa8,
+0xff,0xff,0x13,0x03,0x6b,0x60,0x28,0x62,0x01,0x64,0xa2,0xdb,0x22,0xf0,0x10,0x64,
+0xb0,0x84,0xa2,0xda,0x99,0xff,0x30,0x44,0x59,0xb4,0x40,0x51,0x98,0xff,0x1a,0x60,
+0xb9,0x64,0x40,0x40,0x1e,0x60,0x58,0x78,0xff,0xff,0x21,0x60,0x82,0x65,0xa5,0xd3,
+0xff,0xff,0x00,0xa8,0xcc,0x84,0x27,0x03,0xa5,0xdb,0x25,0x03,0x20,0x60,0x62,0x78,
+0xff,0xff,0x20,0x60,0x08,0x78,0xff,0xff,0x1e,0x00,0x2b,0x60,0x48,0x62,0xa2,0xd3,
+0x13,0xf3,0x00,0xa0,0x00,0xa0,0x13,0x03,0x6b,0x60,0x28,0x62,0x01,0x64,0xa2,0xdb,
+0x22,0xf0,0x01,0x64,0xb0,0x84,0xa2,0xda,0x99,0xff,0x30,0x44,0x59,0xb4,0x40,0x51,
+0x98,0xff,0x1a,0x60,0xb9,0x64,0x40,0x40,0x1e,0x60,0x58,0x78,0xff,0xff,0xc2,0x02,
+0x20,0x60,0x62,0x78,0xff,0xff,0x13,0xf3,0xff,0xff,0x00,0xa8,0xff,0xff,0x13,0x03,
+0x6b,0x60,0x28,0x62,0x01,0x64,0xa2,0xdb,0x22,0xf0,0x10,0x64,0xb0,0x84,0xa2,0xda,
+0x99,0xff,0x30,0x44,0x59,0xb4,0x40,0x51,0x98,0xff,0x1a,0x60,0xb9,0x64,0x40,0x40,
+0x1e,0x60,0x58,0x78,0xff,0xff,0x29,0xf2,0xff,0xff,0x60,0x40,0x40,0x2b,0x25,0x00,
+0x2f,0xf3,0xff,0xff,0x60,0x40,0x04,0x26,0x0b,0x00,0x99,0xff,0x3a,0x5c,0x98,0xff,
+0x64,0x40,0x40,0x27,0x09,0x00,0x64,0x40,0x0f,0x2b,0x02,0x00,0x33,0x60,0x00,0xea,
+0x98,0xff,0x20,0x60,0x45,0x78,0xff,0xff,0x99,0xff,0x3a,0x5c,0x98,0xff,0x64,0x40,
+0x10,0x2b,0xf6,0x00,0xca,0xf3,0xff,0xff,0xff,0xff,0x01,0x26,0x06,0x00,0x8b,0xff,
+0x74,0x40,0x74,0x40,0x88,0xff,0x01,0x64,0xca,0xfb,0x20,0xf3,0xff,0xff,0xc4,0xb4,
+0x20,0xfb,0x21,0x60,0x27,0x64,0x40,0x40,0x01,0x64,0x21,0xfb,0x99,0xff,0x30,0x44,
+0x40,0xbc,0x59,0xb4,0x40,0x51,0x98,0xff,0xa0,0xfe,0x1a,0xff,0x00,0x64,0x5c,0xfb,
+0xff,0xff,0xa1,0xff,0xff,0xff,0xbb,0x3f,0x89,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0x07,0x02,0x13,0xf3,0xff,0xff,0x00,0xa0,0x00,0x64,0x02,0x03,0x13,0xfb,0xec,0x00,
+0x2b,0x60,0x48,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0x00,0x64,0x02,0x03,0xa2,0xdb,
+0xe3,0x00,0x20,0xf3,0xff,0xff,0xff,0xff,0x01,0x2a,0x0d,0x00,0xfe,0xb4,0x20,0xfb,
+0x01,0x64,0x41,0xfb,0x21,0x60,0x80,0x65,0xab,0xf3,0xff,0xff,0xa5,0xdb,0xff,0xff,
+0x21,0x60,0xc6,0x78,0xff,0xff,0x02,0x2a,0x62,0x00,0x27,0xf2,0xff,0xff,0xdc,0x84,
+0x27,0xfa,0x63,0x60,0xb8,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x18,0x60,0x80,0x64,0xa0,0xd3,
+0xff,0xff,0xe8,0x84,0xe0,0x84,0x60,0x45,0x18,0x60,0xec,0x64,0xc4,0x84,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x46,0xf3,0xff,0xff,0xe0,0x84,0x60,0x45,0x19,0x60,
+0x52,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x46,0xf3,0xff,0xff,
+0xe0,0x84,0xe0,0x84,0x60,0x45,0x63,0x60,0xbc,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x20,0xf3,0xff,0xff,0xfd,0xb4,0x20,0xfb,0x02,0x64,0x41,0xfb,0x29,0xf2,0xff,0xff,
+0x0c,0xb4,0xff,0xff,0x00,0x36,0x5e,0x00,0x89,0xf1,0x00,0x63,0xd3,0x80,0xff,0xff,
+0x04,0x02,0xac,0xf1,0xff,0xff,0x64,0x45,0x09,0x00,0x25,0xf2,0xff,0xff,0xe8,0x84,
+0xe8,0x84,0xe8,0x84,0xe8,0x84,0x0f,0xb4,0xff,0xff,0x60,0x45,0x21,0x60,0x80,0x63,
+0xa3,0xd3,0xff,0xff,0xd4,0x80,0xdc,0x84,0x45,0x03,0xa3,0xdb,0x43,0x00,0x10,0x2a,
+0x07,0x00,0x20,0xf3,0x2b,0xf0,0xef,0xb4,0x20,0xfb,0x1f,0x60,0xac,0x78,0xff,0xff,
+0x20,0xf3,0xff,0xff,0xdf,0xb4,0x20,0xfb,0x2b,0xf0,0x02,0x64,0x64,0x40,0x01,0x26,
+0x01,0x64,0x41,0xfb,0x2f,0x00,0x00,0x63,0x89,0xf3,0x5c,0xfd,0x00,0xbc,0xff,0xff,
+0x29,0x02,0x28,0x0a,0x70,0x44,0xac,0x80,0xff,0xff,0x24,0x02,0x32,0x40,0x02,0x27,
+0x21,0x00,0x21,0x60,0x84,0x65,0xa5,0xd3,0xff,0xff,0x00,0xa8,0xff,0xff,0x1a,0x03,
+0x21,0x60,0xe7,0x64,0x40,0x42,0x99,0xff,0x30,0x44,0x04,0xbc,0x1d,0xb4,0x40,0x51,
+0x98,0xff,0xa1,0xff,0xff,0xff,0xbb,0x3f,0x0d,0x0a,0x70,0x44,0xac,0x80,0xff,0xff,
+0x09,0x02,0x21,0x60,0x84,0x65,0xa5,0xd3,0xff,0xff,0xcc,0x84,0xa5,0xdb,0xff,0xff,
+0xf0,0x02,0x00,0x00,0x99,0xff,0x30,0x44,0x59,0xb4,0x40,0x51,0x98,0xff,0x1a,0x60,
+0xb9,0x64,0x40,0x40,0x1d,0x60,0x2a,0x78,0xff,0xff,0x19,0x60,0x92,0x63,0xbd,0xd3,
+0xff,0xff,0x00,0xa0,0x60,0x5c,0x1d,0x03,0xa3,0xd3,0xff,0xff,0x01,0xac,0xa3,0xdb,
+0x10,0x02,0x73,0x44,0x74,0xf3,0x60,0x45,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xd0,0x84,0xc4,0x84,0x60,0x53,0x60,0x53,0x8a,0xff,0x80,0x60,0x00,0x75,0x88,0xff,
+0x2b,0x00,0x73,0x44,0x9a,0xfb,0xc0,0x84,0x60,0x53,0x60,0x53,0x00,0x60,0x01,0x71,
+0x18,0x00,0x73,0x44,0x9a,0xfb,0x74,0xf3,0x60,0x45,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0xc4,0x84,0x60,0x53,0x60,0x53,0x00,0x60,0x01,0x71,0x89,0xf1,0x16,0x60,
+0xd8,0x64,0xa0,0xd3,0x64,0x40,0x00,0x36,0x12,0x00,0x8a,0xff,0x80,0x60,0x00,0x75,
+0x88,0xff,0x6a,0x60,0xd6,0x63,0xd0,0xf3,0xff,0xff,0x00,0xa0,0x60,0x45,0x74,0xf3,
+0x20,0x03,0xd4,0x84,0xa3,0xdb,0x1d,0x00,0x1a,0x60,0xc3,0x78,0xff,0xff,0x01,0x3a,
+0x18,0x00,0xd0,0xf3,0x74,0xf1,0x00,0xa0,0x60,0x45,0x13,0x03,0x6a,0x60,0xd6,0x62,
+0x64,0x41,0xd5,0x84,0xdc,0x84,0xa2,0xdb,0x00,0x64,0xd1,0xfb,0xd2,0xf3,0xff,0xff,
+0x60,0x40,0x00,0x36,0x06,0x00,0x99,0xff,0x3c,0x44,0x00,0x7f,0xbf,0xb4,0x40,0x5c,
+0x98,0xff,0xd4,0xf3,0xd3,0xf1,0x00,0xa0,0xff,0xff,0x03,0x03,0x64,0x50,0x00,0x64,
+0xd4,0xfb,0x52,0xf3,0xff,0xff,0x60,0x41,0xfd,0xb4,0xa2,0xdb,0x61,0x44,0x01,0xb0,
+0x02,0xb0,0x0a,0x03,0x09,0x02,0x3f,0x60,0x96,0x62,0x2b,0x60,0xb6,0x64,0xa2,0xdb,
+0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x16,0x60,0xd8,0x62,0xa2,0xd3,0xff,0xff,
+0xfc,0xa0,0x01,0x64,0x02,0x02,0x69,0xfb,0xc9,0xfe,0x73,0x44,0xbd,0xf3,0x56,0xf3,
+0xfc,0xa0,0x00,0xa0,0x41,0x02,0x0d,0x02,0x58,0xf3,0xff,0xff,0x00,0xa0,0xcc,0x84,
+0x08,0x03,0x58,0xfb,0x39,0x02,0x57,0xf3,0x58,0xfb,0x6a,0x60,0xe2,0x62,0x01,0x64,
+0xa2,0xdb,0x6a,0x60,0xe2,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0x00,0x64,0x2c,0x03,
+0xa2,0xdb,0x6a,0x60,0xdc,0x65,0x6a,0x60,0xda,0x63,0xa5,0xd1,0xa3,0xd3,0x64,0x40,
+0x00,0x36,0x22,0x00,0xcc,0x84,0xa3,0xdb,0x1f,0x02,0x64,0x44,0xa3,0xdb,0x6a,0x60,
+0xde,0x63,0x6a,0x60,0xe4,0x65,0xbd,0xd3,0xa3,0xdb,0xc4,0xa0,0xff,0xff,0x07,0x04,
+0xc4,0xa4,0xa3,0xdb,0xa5,0xdb,0xf0,0x60,0x00,0x64,0x60,0x50,0x0d,0x00,0x60,0x47,
+0xe0,0x84,0xe0,0x84,0x70,0x45,0xd4,0x80,0xff,0xff,0x06,0x04,0x60,0x50,0x6a,0x60,
+0xe4,0x65,0x00,0x64,0xa3,0xdb,0xa5,0xdb,0x1a,0x60,0xc3,0x78,0xff,0xff,0x64,0x41,
+0x40,0x60,0x0b,0x65,0x2b,0x44,0x00,0x63,0xe8,0x80,0xf8,0x84,0x02,0x24,0x94,0x84,
+0xf3,0x83,0xcd,0x81,0xff,0xff,0xf8,0x02,0x2f,0x58,0x40,0x4b,0x00,0x62,0x01,0x64,
+0xd4,0x80,0xe0,0x84,0x1b,0x03,0xd4,0x80,0xe0,0x84,0x16,0x03,0x61,0x44,0x11,0x61,
+0xe0,0x84,0xcd,0x81,0xfd,0x04,0x01,0x00,0xe0,0x84,0xf2,0x82,0xff,0xff,0x02,0x24,
+0xc6,0x82,0x02,0x28,0xd6,0x82,0xe2,0x80,0xcd,0x81,0x02,0x28,0x01,0xbc,0xf4,0x02,
+0x01,0x2a,0xc6,0x82,0x2f,0x58,0xff,0xff,0xe9,0x81,0xf2,0x82,0x61,0x44,0xfa,0x00,
+0x4e,0xf6,0x7f,0x00,0xda,0x00,0xa1,0xff,0xff,0xff,0xbc,0x3f,0x31,0xf3,0xff,0xff,
+0x60,0x40,0x01,0x2a,0x03,0x00,0x17,0x60,0xae,0x78,0xff,0xff,0x3d,0x46,0x29,0xf0,
+0xff,0xff,0x64,0x40,0x40,0x2b,0x27,0x00,0x2f,0xf3,0xff,0xff,0x60,0x40,0x02,0x26,
+0x1a,0x00,0x0f,0xf2,0xff,0xff,0x60,0x40,0x04,0x2a,0x00,0x00,0x99,0xff,0x3b,0x44,
+0x98,0xff,0xff,0xff,0x0f,0x2b,0x05,0x00,0x40,0x27,0xf8,0x00,0xf5,0x60,0xe7,0x78,
+0xff,0xff,0x92,0xf3,0xff,0xff,0xff,0xff,0x02,0x26,0xd5,0x00,0x6b,0x60,0x2a,0x62,
+0x01,0x64,0xa2,0xdb,0xd0,0x00,0x0f,0xf2,0xff,0xff,0x60,0x40,0x04,0x2a,0xcb,0x00,
+0x17,0x60,0x17,0x78,0xff,0xff,0x0f,0xf2,0xff,0xff,0x08,0xbc,0x0f,0xfa,0x3f,0x60,
+0x4c,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x01,0x02,0xbc,0x00,0x0f,0xf0,
+0xff,0xff,0xff,0xff,0x64,0x40,0x00,0x3a,0x04,0x00,0x0f,0xf0,0x70,0x64,0xb0,0x84,
+0xa2,0xda,0x6a,0x60,0xb8,0x62,0x00,0x64,0xa2,0xdb,0x31,0xfb,0x2f,0xf3,0xff,0xff,
+0xf9,0xb4,0x2f,0xfb,0x3d,0x46,0x0f,0xf0,0x04,0x64,0xb0,0x84,0xa2,0xda,0xcb,0xfe,
+0x40,0xff,0xbc,0xfe,0x29,0xf2,0xff,0xff,0xff,0xff,0x40,0x2b,0x9c,0x00,0x6a,0x60,
+0xae,0x64,0xa0,0xd3,0xff,0xff,0xff,0xa0,0xff,0xff,0x95,0x02,0x04,0xff,0x93,0x00,
+0x06,0x46,0x7e,0x00,0x00,0x10,0x73,0xf1,0x10,0x60,0xdc,0xe0,0x43,0x45,0x64,0x44,
+0x60,0x45,0x6b,0x60,0x2c,0x62,0x80,0x60,0x11,0x64,0xa2,0xdb,0x6b,0x60,0x2e,0x62,
+0x65,0x44,0xa2,0xdb,0x59,0xf3,0x44,0x46,0x60,0x40,0x02,0x2a,0x03,0x00,0x23,0x60,
+0x5c,0x78,0xff,0xff,0x01,0x64,0x59,0xfb,0x99,0xff,0x00,0x6b,0x3e,0x44,0x70,0xb4,
+0x40,0x5e,0x3d,0x44,0xf7,0xb4,0x90,0xbc,0x40,0x5d,0x3c,0x44,0x6f,0xb4,0x40,0x5c,
+0x98,0xff,0x20,0x44,0x60,0xbc,0x40,0x40,0x01,0x64,0x60,0x47,0x8f,0xfb,0x05,0x64,
+0x90,0xfb,0xff,0xff,0xdf,0xfe,0x19,0xff,0x23,0x60,0x3a,0x64,0x91,0xfb,0xfb,0x60,
+0x27,0x78,0xff,0xff,0x1e,0xf3,0xff,0xff,0xff,0xff,0x20,0x26,0x05,0x00,0x13,0x60,
+0xf0,0x63,0x14,0x60,0xd4,0x65,0x04,0x00,0x14,0x60,0xd4,0x63,0x15,0x60,0xb8,0x65,
+0x80,0xe1,0x02,0x00,0x01,0x16,0xfe,0x00,0xbd,0xd1,0xff,0xff,0x64,0x48,0x64,0x47,
+0x00,0x7f,0x60,0x41,0x80,0xbc,0x60,0x4a,0xff,0xff,0xff,0xff,0xa1,0xff,0xff,0xff,
+0xd7,0x80,0xff,0xff,0xef,0x02,0x68,0x40,0x20,0x44,0x60,0xbc,0x40,0x40,0x80,0xe1,
+0x15,0x60,0x10,0x63,0xa3,0xd1,0x6a,0x60,0xc6,0x62,0xa2,0xd3,0xff,0xff,0xd0,0x80,
+0xa2,0xd9,0x16,0x03,0x01,0x64,0xc7,0xfb,0xc6,0xf3,0xff,0xff,0xff,0xff,0x01,0x26,
+0xfb,0x00,0x64,0x48,0x64,0x47,0x00,0x7f,0x80,0xbc,0x60,0x4a,0xff,0xff,0xff,0xff,
+0xa1,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x68,0x40,0x00,0x64,0xc7,0xfb,
+0x6a,0x60,0x32,0x62,0x17,0x60,0xe8,0x7c,0xa2,0xd3,0x99,0xff,0xe0,0x84,0x40,0xd1,
+0x00,0x63,0x64,0x40,0x01,0x26,0x10,0x63,0xcc,0xfd,0x00,0x65,0x64,0x40,0x02,0x26,
+0x04,0x65,0x3c,0x44,0xfb,0xb4,0xb4,0x84,0x40,0x5c,0x98,0xff,0x26,0x44,0x73,0xfb,
+0x02,0x7f,0x8f,0xfb,0x05,0x64,0x90,0xfb,0xff,0xff,0xdf,0xfe,0x19,0xff,0x23,0x60,
+0xab,0x64,0x91,0xfb,0x92,0xf3,0x69,0x65,0xb4,0x84,0x99,0xff,0x40,0x51,0x98,0xff,
+0xfb,0x60,0x27,0x78,0xff,0xff,0x59,0xf3,0xff,0xff,0x02,0xbc,0x59,0xfb,0x25,0x43,
+0x24,0x60,0x27,0x78,0xff,0xff,0x20,0x44,0x43,0x45,0x20,0xbc,0x40,0x40,0x59,0xf3,
+0xff,0xff,0x60,0x40,0x80,0x2a,0x03,0x00,0x23,0x60,0xdf,0x78,0xff,0xff,0x00,0xee,
+0x04,0xbc,0x59,0xfb,0xff,0xff,0xdf,0xfe,0x19,0xff,0xff,0xff,0x99,0xff,0x00,0x6b,
+0x3c,0x44,0x40,0xb4,0x80,0xbc,0x40,0x5c,0x00,0xed,0x04,0xee,0xff,0xff,0xff,0xff,
+0x00,0xee,0x98,0xff,0x00,0x64,0x59,0xfb,0x6b,0x60,0x30,0x62,0xa2,0xd3,0xff,0xff,
+0x60,0x40,0x00,0x3a,0x04,0x00,0x55,0x60,0xfc,0xe0,0xff,0xff,0xff,0xff,0x25,0x43,
+0x24,0x60,0x27,0x78,0xff,0xff,0x24,0x60,0x27,0x78,0xff,0xff,0x20,0x44,0x20,0xbc,
+0x40,0x40,0x24,0x60,0x27,0x78,0xff,0xff,0x99,0xff,0x3c,0x44,0x7f,0xb4,0x10,0xbc,
+0x40,0x5c,0x98,0xff,0x99,0xff,0x3d,0x44,0x10,0xbc,0x00,0x7f,0x40,0x5d,0x98,0xff,
+0x99,0xff,0x3e,0x44,0x02,0xbc,0x00,0x7f,0x40,0x5e,0x98,0xff,0x24,0x60,0x27,0x78,
+0xff,0xff,0x20,0x44,0x20,0xbc,0x40,0x40,0x80,0xe1,0x01,0x64,0xc7,0xfb,0xc6,0xf3,
+0xff,0xff,0xff,0xff,0x01,0x26,0xfb,0x00,0x64,0x47,0x3f,0xb4,0xe0,0x85,0x64,0x44,
+0x80,0x2b,0x09,0x00,0x00,0x7f,0x60,0x48,0x65,0x44,0x80,0xbc,0x60,0x4a,0xff,0xff,
+0xff,0xff,0x0b,0x16,0xfe,0x00,0x65,0x49,0xff,0xff,0xff,0xff,0xa1,0xff,0x00,0x64,
+0x68,0x5e,0x60,0x5c,0x08,0x60,0x0a,0x64,0xa0,0xd9,0x00,0x64,0xc7,0xfb,0x92,0xf3,
+0x69,0x65,0xb4,0x84,0x99,0xff,0x40,0x51,0x98,0xff,0x00,0x64,0xbf,0xdb,0x20,0x44,
+0x20,0x2a,0x07,0x00,0x07,0xb4,0x04,0x36,0xc3,0xfe,0x06,0x36,0xcc,0xfe,0x07,0x36,
+0xd8,0xfe,0x20,0x44,0xd8,0xb4,0x40,0x40,0x20,0x44,0x40,0x2a,0x08,0x00,0x9f,0xfe,
+0xff,0xff,0x24,0x05,0xbf,0xb4,0x40,0x40,0x91,0xf7,0xff,0xff,0xff,0xff,0x3f,0x60,
+0x76,0x62,0xa2,0xd3,0xda,0x83,0x00,0xa8,0x02,0x61,0x1b,0x02,0xdb,0x82,0x5a,0xd3,
+0xda,0x83,0x00,0xa8,0x02,0x61,0x15,0x02,0xdb,0x82,0x5a,0xd3,0xda,0x83,0x00,0xa8,
+0x04,0x61,0x0f,0x02,0xdb,0x82,0x5a,0xd3,0xda,0x83,0x00,0xa8,0x06,0x61,0x09,0x02,
+0xdb,0x82,0x5a,0xd3,0xda,0x83,0x00,0xa8,0x07,0x61,0x03,0x02,0xfb,0x60,0x27,0x78,
+0xff,0xff,0xa3,0xd1,0x40,0x44,0x62,0x43,0x20,0x44,0x07,0xb5,0xd4,0x85,0x35,0x80,
+0x24,0x45,0x13,0x60,0xc8,0x64,0x44,0xd7,0xff,0xff,0xff,0xff,0x80,0xe1,0x43,0x45,
+0x20,0x44,0x20,0xbc,0x40,0x40,0x64,0x43,0xbd,0xd3,0xbd,0xd1,0xff,0xff,0x10,0x2b,
+0x01,0x00,0x0b,0x00,0x01,0x16,0xfe,0x00,0x64,0x49,0xff,0xff,0xff,0xff,0xff,0xff,
+0xa1,0xff,0xff,0xff,0x68,0x44,0x00,0x7f,0xa3,0xdb,0x25,0x43,0x98,0x00,0x80,0xe1,
+0x43,0x45,0x20,0x44,0x20,0xbc,0x40,0x40,0x64,0x43,0xbd,0xd3,0xbd,0xd1,0x40,0x44,
+0x10,0x2b,0x01,0x00,0x1a,0x00,0xa3,0xd3,0xff,0xff,0x01,0x16,0xfe,0x00,0x60,0x48,
+0x64,0x44,0x00,0x7f,0x60,0x4a,0xff,0xff,0xff,0xff,0xff,0xff,0xa1,0xff,0xff,0xff,
+0x68,0x40,0x01,0x16,0xfe,0x00,0x64,0x49,0xff,0xff,0xff,0xff,0xff,0xff,0xa1,0xff,
+0xff,0xff,0x68,0x45,0xd4,0x80,0xff,0xff,0xe8,0x02,0x25,0x43,0xd7,0x00,0x3f,0x60,
+0x94,0x61,0xa1,0xd3,0x00,0x63,0x00,0xa8,0x59,0xd1,0x31,0x02,0x59,0xd3,0x00,0x63,
+0x00,0xa8,0x59,0xd1,0x2c,0x02,0x59,0xd3,0x00,0x63,0x00,0xa8,0x59,0xd1,0x27,0x02,
+0x59,0xd3,0x00,0x63,0x00,0xa8,0x59,0xd1,0x22,0x02,0x59,0xd3,0x00,0x63,0x00,0xa8,
+0x59,0xd1,0x1d,0x02,0x59,0xd3,0x00,0x63,0x00,0xa8,0x59,0xd1,0x18,0x02,0x59,0xd3,
+0x00,0x63,0x00,0xa8,0x59,0xd1,0x13,0x02,0x59,0xd3,0x00,0x63,0x00,0xa8,0x59,0xd1,
+0x0e,0x02,0x59,0xd3,0x00,0x63,0x00,0xa8,0x59,0xd1,0x09,0x02,0xfb,0x60,0x27,0x78,
+0xff,0xff,0x27,0x60,0x32,0x78,0xff,0xff,0x27,0x60,0x0c,0x78,0xff,0xff,0x49,0xdd,
+0x60,0x40,0x02,0x36,0xf9,0x00,0x03,0x36,0xf4,0x00,0x01,0x36,0x28,0x00,0x05,0x3a,
+0xbe,0x00,0xa4,0xd3,0x5a,0xd3,0x9c,0x85,0xa4,0x84,0xa2,0xdb,0xb8,0x00,0x84,0xe2,
+0x04,0x60,0x00,0x71,0x1d,0xf3,0x14,0xf3,0x00,0xbd,0xcc,0x84,0x08,0x03,0x14,0xfb,
+0x06,0x02,0x65,0x44,0x14,0xfb,0x8a,0xff,0x80,0x60,0x00,0x75,0x88,0xff,0x73,0x44,
+0xbe,0xfb,0x21,0x60,0x7a,0x62,0xa2,0xd3,0xff,0xff,0x01,0xa4,0xa2,0xdb,0x0a,0x02,
+0x21,0x60,0x7c,0x62,0xa2,0xd3,0xff,0xff,0x01,0xa4,0xa2,0xdb,0x03,0x00,0x27,0x60,
+0x05,0x78,0xff,0xff,0x6a,0x60,0x0e,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0xcc,0x84,
+0x06,0x03,0xa2,0xdb,0x04,0x02,0x3a,0x44,0x02,0xbc,0x40,0x5a,0x3b,0xff,0x62,0xf3,
+0xff,0xff,0x60,0x47,0xff,0x23,0x05,0x00,0xcc,0x84,0x60,0x47,0xff,0x22,0x00,0x64,
+0x62,0xfb,0x9a,0xf3,0xff,0xff,0x10,0xa4,0x9a,0xfb,0x5c,0xf3,0x10,0xa5,0x00,0xa0,
+0x73,0x41,0x40,0x03,0xd5,0x80,0xff,0xff,0x27,0x03,0x70,0x45,0xc4,0x85,0x02,0x60,
+0x58,0x64,0xc4,0x84,0x9a,0xf1,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,
+0xe8,0x84,0x40,0x4d,0xc0,0x84,0x60,0x41,0x73,0x45,0xd4,0x80,0xd0,0xf1,0x14,0x0d,
+0x64,0x44,0x00,0x36,0x27,0x00,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,0x61,0x45,
+0xc4,0x84,0x73,0x45,0xd4,0x80,0xff,0xff,0x07,0x0d,0x6a,0x60,0xd6,0x62,0xa2,0xd3,
+0xff,0xff,0xfe,0xa0,0xff,0xff,0x16,0x02,0xbd,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,
+0x07,0x02,0x01,0x64,0x13,0xfb,0x00,0x64,0x5c,0xfb,0xc0,0xfe,0x13,0xfb,0x0a,0x00,
+0xd3,0xf1,0x2d,0x44,0xc0,0x84,0x70,0x45,0xd4,0x80,0xff,0xff,0x03,0x04,0x60,0x50,
+0x01,0x64,0xd4,0xfb,0x6a,0x60,0x0c,0x64,0xa0,0xd3,0xff,0xff,0x00,0xa0,0xcc,0x84,
+0x12,0x03,0xa2,0xdb,0x10,0x02,0xcf,0xf3,0x6a,0xf3,0x60,0x45,0x6b,0xf3,0xd4,0x80,
+0xd4,0x80,0x01,0x03,0x08,0x02,0x2b,0x60,0x48,0x62,0x80,0x64,0xa2,0xdb,0xff,0xff,
+0xc0,0xfe,0x00,0x64,0xa2,0xdb,0x40,0x60,0x1a,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,
+0xff,0xff,0x0c,0x03,0xcc,0x84,0xa2,0xdb,0x09,0x02,0x40,0x60,0x16,0x63,0xbd,0xd1,
+0x19,0x60,0x5e,0x64,0xa0,0xd3,0xff,0xff,0xd0,0x84,0xa3,0xdb,0x32,0x44,0x01,0x2a,
+0x30,0x00,0x6b,0x60,0x36,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,0xff,0xff,0x3b,0x02,
+0x6b,0x60,0x3c,0x61,0xa1,0xd3,0xff,0xff,0xcc,0x84,0xff,0xff,0xa1,0xdb,0x33,0x02,
+0x20,0x40,0x40,0x2a,0x03,0x00,0x01,0x64,0xa1,0xdb,0x2d,0x00,0xff,0x64,0xa1,0xdb,
+0x73,0xf3,0xff,0xff,0x01,0xa4,0x73,0xfb,0xf2,0xa0,0xff,0xff,0x02,0x06,0x01,0x64,
+0x73,0xfb,0x60,0x41,0x20,0x44,0x40,0xbc,0x40,0x40,0x24,0x60,0x47,0x64,0x91,0xfb,
+0x61,0x44,0x02,0x7f,0x8f,0xfb,0x05,0x64,0x90,0xfb,0xff,0xff,0xdf,0xfe,0x19,0xff,
+0x12,0x00,0x89,0xf3,0x59,0xf3,0x00,0xa0,0xff,0xff,0x0d,0x03,0x02,0x2a,0x0b,0x00,
+0x17,0x60,0x52,0x62,0xa2,0xd3,0x73,0xf1,0xff,0xff,0xd0,0x80,0xff,0xff,0x03,0x03,
+0x20,0x40,0x40,0x2a,0xd8,0x00,0x6a,0x60,0xd6,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,
+0xcc,0x84,0x35,0x03,0xa2,0xdb,0x33,0x02,0x89,0xf3,0xff,0xff,0x60,0x40,0x00,0x36,
+0x09,0x00,0x02,0x7c,0x08,0x60,0x2c,0x64,0xa0,0xd9,0x8a,0xff,0x80,0x60,0x00,0x75,
+0x88,0xff,0x56,0x00,0x01,0x64,0xd1,0xfb,0xd2,0xf3,0xff,0xff,0x60,0x40,0x00,0x36,
+0x06,0x00,0x99,0xff,0x3c,0x44,0x40,0xbc,0x00,0x7f,0x40,0x5c,0x98,0xff,0x21,0xf3,
+0xff,0xff,0x01,0xb4,0xff,0xff,0x06,0x03,0x6a,0x60,0xe6,0x64,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0xd0,0xf3,0xd3,0xf1,0x60,0x47,0xe0,0x84,0xe0,0x84,0xc0,0x84,
+0x70,0x45,0xd4,0x80,0xff,0xff,0x03,0x04,0x60,0x50,0x00,0x64,0xd4,0xfb,0x6a,0x60,
+0xd8,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0xcc,0x84,0x16,0x03,0xa2,0xdb,0x14,0x02,
+0x00,0x64,0xd1,0xfb,0xd2,0xf3,0xff,0xff,0x60,0x40,0x00,0x36,0x06,0x00,0x99,0xff,
+0x3c,0x44,0xbf,0xb4,0x00,0x7f,0x40,0x5c,0x98,0xff,0x6a,0x60,0xd6,0x63,0xd0,0xf3,
+0x74,0xf3,0x60,0x45,0xd4,0x84,0xa3,0xdb,0x6a,0x60,0xe4,0x62,0xa2,0xd3,0xff,0xff,
+0x00,0xa0,0xcc,0x84,0x06,0x03,0xa2,0xdb,0x04,0x60,0x00,0x65,0x70,0x44,0xc4,0x84,
+0x60,0x50,0xd2,0xf3,0xd0,0xf3,0x00,0xa0,0x00,0xa0,0x02,0x03,0x32,0x02,0x27,0x00,
+0x28,0x44,0xcc,0x84,0x40,0x48,0x2d,0x02,0x6a,0x60,0xa2,0x62,0xa2,0xd3,0xff,0xff,
+0xff,0xff,0x03,0x22,0x03,0x00,0x01,0x2a,0x1a,0x00,0x07,0x00,0x6a,0x60,0x9e,0x62,
+0xa2,0xd3,0xff,0xff,0x01,0xac,0xa2,0xdb,0x12,0x03,0x99,0xff,0x3c,0x44,0x40,0xbc,
+0x00,0x7f,0x40,0x5c,0x98,0xff,0xbd,0xf3,0x0a,0x65,0xfc,0xa0,0xfd,0xa0,0x10,0x03,
+0x0f,0x03,0xfb,0xa0,0xff,0xff,0x0c,0x03,0x01,0x60,0xf4,0x65,0x09,0x00,0x99,0xff,
+0x3c,0x44,0xbf,0xb4,0x40,0x5c,0x6a,0x60,0x9c,0x62,0xa2,0xd3,0x98,0xff,0x60,0x45,
+0x45,0x48,0x2b,0x44,0xcc,0x84,0x40,0x4b,0x40,0x02,0x03,0x60,0xe8,0x64,0x40,0x4b,
+0x2c,0x44,0xcc,0x84,0x40,0x4c,0x05,0x02,0x1e,0x64,0x3e,0xf3,0x40,0x4c,0xdc,0x84,
+0x3e,0xfb,0xbd,0xf3,0xff,0xff,0xfc,0xa0,0xfd,0xa0,0x07,0x03,0x06,0x03,0xfb,0xa0,
+0xff,0xff,0x03,0x03,0x05,0x60,0xdc,0x64,0x24,0x00,0x63,0x60,0xe6,0x63,0xa3,0xd1,
+0x63,0x60,0x5e,0x62,0xa2,0xd3,0xff,0xff,0xc0,0x83,0x6a,0x60,0x96,0x62,0xa2,0xd1,
+0xa2,0xdd,0xd3,0x84,0xff,0xff,0xfe,0x27,0x13,0x00,0x01,0x27,0x0f,0x00,0xc0,0x26,
+0x0b,0x00,0x30,0x26,0x07,0x00,0x0f,0x26,0x03,0x00,0x03,0x60,0xde,0x64,0x09,0x00,
+0xf0,0x64,0x07,0x00,0x73,0x64,0x05,0x00,0x38,0x64,0x03,0x00,0x1e,0x64,0x01,0x00,
+0x0f,0x64,0x60,0x5c,0x6a,0x60,0x9c,0x62,0xa2,0xd9,0x01,0x60,0x26,0x61,0xa1,0xd3,
+0x61,0x43,0x00,0xa8,0x60,0x41,0x03,0x02,0xfb,0x60,0x27,0x78,0xff,0xff,0x59,0xd3,
+0x00,0x66,0x00,0xa8,0xcc,0x84,0x02,0x03,0xa1,0xdb,0xf6,0x00,0x49,0xd3,0xa3,0xdb,
+0x00,0xa8,0x60,0x43,0x5b,0xd3,0x06,0x03,0x00,0xa8,0xcc,0x84,0x02,0x02,0x01,0x66,
+0x01,0x00,0xa3,0xdb,0x06,0xa1,0xa1,0xd3,0x59,0xd1,0x60,0x45,0xa5,0xd3,0x59,0xd1,
+0xb0,0x84,0xa5,0xdb,0x64,0x47,0x06,0x36,0xcd,0xfe,0x07,0x37,0xd9,0xfe,0x66,0x40,
+0x00,0x3a,0xd3,0x00,0xfb,0x60,0x27,0x78,0xff,0xff,0x01,0x60,0x26,0x61,0x00,0x64,
+0xa1,0xdb,0x24,0x60,0xb7,0x78,0xff,0xff,0x27,0x60,0x11,0x64,0x40,0x41,0x44,0x42,
+0x24,0x00,0x01,0x60,0x26,0x66,0xa6,0xd3,0x04,0xa1,0x60,0x43,0xa1,0xd3,0xc9,0x81,
+0x60,0x45,0x00,0xbb,0xa1,0xdb,0xbe,0xd3,0x09,0x03,0xd4,0x84,0x9c,0x84,0xdc,0x84,
+0xff,0xff,0x04,0x0e,0xa3,0xd1,0x63,0x46,0x64,0x43,0xf2,0x00,0x9c,0x84,0xdc,0x85,
+0x49,0xdd,0x61,0x44,0x00,0xbb,0xa6,0xdb,0x02,0x03,0x65,0x44,0xbe,0xdb,0x24,0x60,
+0xb7,0x78,0xff,0xff,0x24,0x60,0xb7,0x64,0x40,0x41,0x01,0x60,0x26,0x66,0xa6,0xd3,
+0xff,0xff,0x00,0xa8,0xd0,0x80,0x10,0x03,0x02,0x03,0x60,0x46,0xf8,0x00,0x58,0xd3,
+0xa4,0xd3,0x60,0x45,0x00,0x63,0xa4,0xdd,0x58,0xd3,0x02,0xa8,0xc4,0x83,0x01,0x03,
+0xa2,0xdd,0x62,0x44,0xc8,0x84,0xa6,0xdb,0x21,0x58,0x22,0x41,0x2b,0x60,0x92,0x63,
+0x00,0x64,0xa3,0xdb,0x06,0xa3,0x22,0x60,0x02,0x64,0xbd,0xdb,0xbd,0xdb,0x06,0x64,
+0xa3,0xdb,0x22,0x60,0x00,0x62,0x5d,0x60,0xab,0x64,0xa2,0xdb,0x21,0x60,0xd2,0x62,
+0x53,0x60,0xd9,0x64,0xa2,0xdb,0x2f,0x58,0xff,0xff,0x2b,0x60,0x7a,0x63,0x00,0x64,
+0xa3,0xdb,0x06,0xa3,0x21,0x60,0xfa,0x64,0xbd,0xdb,0xbd,0xdb,0x06,0x64,0xa3,0xdb,
+0x21,0x60,0xf8,0x62,0x60,0x60,0xf7,0x64,0xa2,0xdb,0x21,0x60,0xd2,0x62,0x53,0x60,
+0xd9,0x64,0xa2,0xdb,0x2f,0x58,0xff,0xff,0x00,0x60,0x80,0x66,0x32,0x64,0x55,0xfb,
+0x21,0x60,0x7a,0x64,0xa0,0xd3,0x03,0xfa,0x0f,0x4e,0x00,0x60,0x3c,0x61,0x41,0x4d,
+0x40,0xa1,0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,
+0x2d,0x41,0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,0x66,0x44,
+0x6f,0xfb,0x00,0x64,0x28,0xfa,0x01,0x60,0x48,0x64,0x29,0xfa,0x00,0x64,0x38,0xfa,
+0x2b,0x60,0x86,0x63,0x00,0x64,0xa3,0xdb,0x06,0xa3,0x21,0x60,0xfe,0x64,0xbd,0xdb,
+0x02,0x64,0xbd,0xdb,0x06,0x64,0xa3,0xdb,0x21,0x60,0xfc,0x62,0x68,0x60,0xd8,0x64,
+0xa2,0xdb,0x21,0x60,0xd8,0x62,0x68,0x60,0xe3,0x64,0xa2,0xdb,0x2f,0x58,0xff,0xff,
+0x0f,0x4e,0x00,0x60,0x48,0x61,0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,0x58,0x4f,
+0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,0x5b,0x78,
+0xff,0xff,0x08,0xfe,0x0e,0x4f,0x66,0x44,0x6e,0xfb,0x08,0x64,0x28,0xfa,0xff,0x60,
+0xff,0x64,0x2b,0xfa,0x2c,0xfa,0x2d,0xfa,0xff,0xff,0x31,0xfa,0x32,0xfa,0x33,0xfa,
+0x12,0x60,0x20,0x64,0x0e,0xfa,0x2b,0x60,0x4a,0x63,0x00,0x64,0xa3,0xdb,0x06,0xa3,
+0x21,0x60,0xde,0x64,0xbd,0xdb,0x04,0x64,0xbd,0xdb,0x06,0x64,0xa3,0xdb,0x21,0x60,
+0xdc,0x62,0x59,0x60,0xd7,0x64,0xa2,0xdb,0x2b,0x60,0x56,0x63,0x00,0x64,0xa3,0xdb,
+0x06,0xa3,0x21,0x60,0xe2,0x64,0xbd,0xdb,0x08,0x64,0xbd,0xdb,0x06,0x64,0xa3,0xdb,
+0x21,0x60,0xe0,0x62,0x59,0x60,0xe2,0x64,0xa2,0xdb,0x21,0x60,0xd0,0x62,0x59,0x60,
+0xc7,0x64,0xa2,0xdb,0x2f,0x58,0xff,0xff,0x2b,0x60,0x62,0x63,0x00,0x64,0xa3,0xdb,
+0x06,0xa3,0x21,0x60,0xf2,0x64,0xbd,0xdb,0xbd,0xdb,0x06,0x64,0xa3,0xdb,0x21,0x60,
+0xf0,0x62,0x53,0x60,0xf3,0x64,0xa2,0xdb,0x21,0x60,0xd2,0x62,0x53,0x60,0xd9,0x64,
+0xa2,0xdb,0x2f,0x58,0xff,0xff,0x00,0x64,0xe9,0xfb,0x0f,0x4e,0x00,0x60,0x6c,0x61,
+0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,
+0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,
+0x66,0x44,0x6d,0xfb,0x0f,0x4e,0x00,0x60,0x6c,0x61,0x41,0x4d,0x40,0xa1,0xa2,0xff,
+0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,
+0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,0x66,0x44,0x6c,0xfb,0x0f,0x4e,
+0x00,0x60,0x3c,0x61,0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,
+0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,
+0x08,0xfe,0x0e,0x4f,0x66,0x44,0x6b,0xfb,0x08,0x64,0x28,0xfa,0xf0,0x60,0x20,0x64,
+0x0e,0xfa,0x00,0x64,0x38,0xfa,0x00,0x60,0x90,0x64,0x29,0xfa,0x0f,0x4e,0x00,0x60,
+0xab,0x61,0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,
+0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,
+0x0e,0x4f,0x66,0x44,0x6a,0xfb,0x08,0x64,0x28,0xfa,0x18,0x60,0x20,0x64,0x0e,0xfa,
+0x00,0x60,0x80,0x64,0x29,0xfa,0x00,0x64,0x19,0xfa,0x21,0x60,0xd4,0x62,0x43,0x60,
+0x96,0x64,0xa2,0xdb,0x2f,0x58,0xff,0xff,0x21,0x60,0xcc,0x62,0x2b,0x60,0x8c,0x64,
+0xa2,0xdb,0x2b,0x60,0x9e,0x62,0x00,0x64,0xa2,0xdb,0x06,0xa2,0x21,0x60,0xe6,0x64,
+0xa2,0xdb,0x06,0x64,0x5a,0xdb,0x5a,0xdb,0x2b,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,
+0x06,0xa2,0x21,0x60,0xea,0x64,0xa2,0xdb,0x06,0x64,0x5a,0xdb,0x5a,0xdb,0x2b,0x60,
+0xb6,0x62,0x00,0x64,0xa2,0xdb,0x06,0xa2,0x21,0x60,0xee,0x64,0xa2,0xdb,0x06,0x64,
+0x5a,0xdb,0x5a,0xdb,0xa0,0xf1,0x2b,0x60,0xba,0x62,0xa2,0xd9,0x21,0x60,0xe4,0x62,
+0x2c,0x60,0xa5,0x64,0xa2,0xdb,0x21,0x60,0xe8,0x62,0x2c,0x60,0xb0,0x64,0xa2,0xdb,
+0x21,0x60,0xec,0x62,0x2c,0x60,0xbb,0x64,0xa2,0xdb,0x21,0x60,0x9a,0x62,0x00,0x60,
+0x02,0x64,0xa2,0xdb,0x28,0x60,0xd0,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0x21,0x60,0x98,0x62,0x00,0x64,0xa2,0xdb,0x03,0x64,0x52,0xfb,0x2c,0x60,0x58,0x4e,
+0x99,0x78,0xff,0xff,0x21,0x60,0x98,0x62,0xa2,0xd1,0xff,0x60,0x8f,0x64,0xa0,0x84,
+0xa2,0xdb,0xa1,0xf1,0x2b,0x60,0xae,0x62,0xa2,0xd9,0x3f,0x60,0x9e,0x62,0x2b,0x60,
+0xaa,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x01,0x64,0xe8,0xfb,
+0x21,0x60,0x9a,0x62,0x00,0x60,0x74,0x64,0xa2,0xdb,0x28,0x60,0xfb,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x6a,0x60,0xcc,0x62,0xa2,0xd3,0xff,0xff,0x60,0x40,
+0x02,0x2a,0x03,0x00,0x2a,0x60,0x3b,0x78,0xff,0xff,0x21,0x60,0x98,0x62,0xa2,0xd1,
+0x00,0x60,0x04,0x64,0xa0,0x80,0x9c,0x84,0x05,0x03,0xa0,0x84,0xa2,0xdb,0x2b,0x60,
+0x8c,0x78,0xff,0xff,0x00,0x60,0x40,0x64,0xa0,0x80,0x9c,0x84,0x03,0x03,0xa0,0x84,
+0xa2,0xdb,0xd4,0x00,0x00,0x60,0x20,0x64,0xa0,0x80,0x9c,0x84,0x0e,0x03,0xa0,0x84,
+0xa2,0xdb,0x01,0x65,0x2e,0x60,0x58,0x4e,0x4f,0x78,0xff,0xff,0xff,0x60,0xf7,0x65,
+0x52,0xf3,0xff,0xff,0xa4,0x84,0xa2,0xdb,0xc1,0x00,0x00,0x60,0x10,0x64,0xa0,0x80,
+0x9c,0x84,0xc7,0x03,0xa0,0x84,0xa2,0xdb,0x21,0x60,0x7a,0x63,0xa3,0xd1,0x6a,0x60,
+0x50,0x65,0xa5,0xd3,0xff,0xff,0xd0,0x80,0xff,0xff,0x14,0x0d,0xa2,0xf3,0xff,0xff,
+0xc0,0x84,0xa5,0xdb,0x6a,0x60,0x4e,0x62,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x6a,0x60,0x5c,0x62,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xf8,0xa0,0xff,0xff,0x01,0x04,
+0x08,0x64,0xa2,0xdb,0x6a,0x60,0x52,0x65,0xa5,0xd1,0x4c,0xf3,0xff,0xff,0xd0,0x80,
+0x60,0x41,0x0d,0x06,0xa5,0xdb,0x6a,0x60,0x58,0x63,0x6a,0x60,0x56,0x65,0xa5,0xd1,
+0x61,0x44,0xd0,0x84,0xff,0xff,0x01,0x05,0x00,0x64,0xa3,0xdb,0x16,0x00,0x6a,0x60,
+0x58,0x63,0xa3,0xd1,0x4c,0xf3,0xff,0xff,0xd0,0x80,0x60,0x41,0x0e,0x05,0xa5,0xdb,
+0x6a,0x60,0x56,0x65,0xa5,0xd1,0x61,0x44,0xd0,0x84,0xff,0xff,0x01,0x05,0x00,0x64,
+0xa3,0xdb,0x6a,0x60,0x5a,0x62,0x01,0x64,0xa2,0xdb,0x6a,0x60,0x5a,0x63,0xbd,0xd3,
+0xff,0xff,0x00,0xa0,0xff,0xff,0x35,0x03,0xbd,0xd3,0xa3,0xd1,0xff,0xff,0xd0,0x80,
+0xff,0xff,0x2f,0x04,0x6a,0x60,0x4e,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0x28,0x03,0x64,0x60,0xe4,0x62,0x06,0x64,0xa2,0xdb,0x6a,0x60,0x5c,0x63,0x00,0x64,
+0xbd,0xdb,0xa3,0xd3,0xff,0xff,0xe0,0x84,0xf8,0xa0,0xff,0xff,0x01,0x04,0x08,0x64,
+0xa3,0xdb,0x6a,0x60,0x56,0x62,0xa2,0xd3,0xff,0xff,0xe8,0x84,0xe8,0x84,0xb7,0xfb,
+0x6a,0x60,0x48,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x7e,0xf1,0x01,0x60,
+0x98,0x64,0xd0,0x80,0xe9,0xf3,0x02,0x07,0x04,0xbc,0xe9,0xfb,0x2a,0x60,0x8d,0x78,
+0xff,0xff,0xb5,0xf3,0x4c,0xf1,0xff,0xff,0xd0,0x80,0xff,0xff,0x0d,0x04,0x64,0x60,
+0xe4,0x62,0x06,0x64,0xa2,0xdb,0x63,0x60,0x28,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x2a,0x60,0x8d,0x78,0xff,0xff,0x63,0x60,0x0e,0x62,0xa2,0xd1,0xb6,0xf3,
+0xff,0xff,0xd0,0x80,0xff,0xff,0x0d,0x07,0x64,0x60,0xe4,0x62,0x02,0x64,0xa2,0xdb,
+0x63,0x60,0x28,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x2a,0x60,0x8d,0x78,
+0xff,0xff,0x6a,0x60,0x14,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0x60,0x45,0x0b,0x03,
+0x21,0x60,0x7c,0x62,0xa2,0xd3,0xff,0xff,0xd4,0x80,0xff,0xff,0x35,0x04,0x6a,0x60,
+0x14,0x62,0x00,0x64,0xa2,0xdb,0x6a,0x60,0x12,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,
+0xff,0xff,0x2a,0x02,0x6a,0x60,0x16,0x62,0xa2,0xd1,0x6a,0x60,0x18,0x63,0xa3,0xd3,
+0xff,0xff,0xd0,0x84,0xfe,0xa0,0xff,0xff,0x1f,0x04,0xe0,0x84,0xe0,0x84,0xd0,0x80,
+0xff,0xff,0x1a,0x04,0x6a,0x60,0x16,0x62,0x64,0x44,0x01,0xa4,0xa2,0xdb,0x21,0x60,
+0x7c,0x62,0x6a,0x60,0x14,0x63,0xa2,0xd3,0xff,0xff,0x03,0xa4,0xa3,0xdb,0x64,0x60,
+0xe4,0x62,0x04,0x64,0xa2,0xdb,0x63,0x60,0x2a,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x2a,0x60,0x8d,0x78,0xff,0xff,0x6a,0x60,0x10,0x62,0xa2,0xd1,0x21,0x60,
+0x7c,0x62,0xa2,0xd3,0xff,0xff,0xd0,0x80,0xff,0xff,0x0d,0x04,0x64,0x60,0xe4,0x62,
+0x14,0x64,0xa2,0xdb,0x63,0x60,0x2c,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x2a,0x60,0x8d,0x78,0xff,0xff,0x6a,0x60,0xcc,0x62,0xa2,0xd3,0xff,0xff,0x60,0x40,
+0x03,0x22,0x12,0x00,0x60,0x45,0xfd,0xb4,0xa2,0xdb,0xe9,0xf3,0xff,0xff,0xb4,0x84,
+0xe9,0xfb,0x64,0x60,0xe4,0x62,0x10,0x64,0xa2,0xdb,0x63,0x60,0x2e,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x39,0x00,0x02,0x64,0xe8,0xfb,0x21,0x60,0x9a,0x62,
+0x00,0x60,0x64,0x64,0xa2,0xdb,0x2a,0x60,0x61,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,
+0xff,0xff,0x21,0x60,0x98,0x62,0xa2,0xd1,0x00,0x60,0x04,0x64,0xa0,0x80,0x9c,0x84,
+0x05,0x03,0xa0,0x84,0xa2,0xdb,0x2b,0x60,0x8c,0x78,0xff,0xff,0x00,0x60,0x40,0x64,
+0xa0,0x80,0x9c,0x84,0x05,0x03,0xa0,0x84,0xa2,0xdb,0x29,0x60,0x34,0x78,0xff,0xff,
+0x00,0x60,0x20,0x64,0xa0,0x80,0x9c,0x84,0xe2,0x03,0xa0,0x84,0xa2,0xdb,0x01,0x65,
+0x2e,0x60,0x58,0x4e,0x4f,0x78,0xff,0xff,0xff,0x60,0xf7,0x65,0x52,0xf3,0xff,0xff,
+0xa4,0x84,0xa2,0xdb,0x29,0x60,0x34,0x78,0xff,0xff,0xa2,0xf1,0x2b,0x60,0xae,0x62,
+0xa2,0xd9,0x2a,0x60,0x97,0x64,0x70,0xfb,0x2b,0x60,0xc3,0x78,0xff,0xff,0x3f,0x60,
+0x9a,0x62,0x2b,0x60,0xb6,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,
+0x21,0x60,0x98,0x62,0xa2,0xd1,0xff,0x60,0xdf,0x64,0xa0,0x84,0xa2,0xdb,0x64,0x60,
+0xe4,0x62,0xa2,0xd3,0xff,0xff,0xf0,0xa0,0x60,0x5c,0x20,0x03,0x21,0x60,0x7a,0x65,
+0x6a,0x60,0x4e,0x63,0x00,0x64,0xbd,0xdb,0xa5,0xd3,0xa3,0xdb,0x64,0x44,0xec,0xa0,
+0xfc,0xa0,0x08,0x03,0x1f,0x02,0x6a,0x60,0x12,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,
+0xff,0xff,0x18,0x03,0x3f,0x60,0x9a,0x62,0x2b,0x60,0xaa,0x64,0xa2,0xdb,0x03,0x64,
+0x4a,0xdb,0xff,0xff,0x1d,0xff,0x28,0x60,0xda,0x78,0xff,0xff,0x3f,0x60,0x9a,0x62,
+0x2b,0x60,0xaa,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x29,0x60,
+0x34,0x78,0xff,0xff,0x6a,0x60,0x5a,0x63,0xa3,0xd3,0xff,0xff,0x60,0x40,0x00,0x36,
+0x07,0x00,0x4c,0xf3,0x1e,0x65,0xd4,0x80,0xff,0xff,0x02,0x04,0x00,0x64,0xa3,0xdb,
+0x7c,0xf1,0x2a,0x60,0xc8,0x63,0xd3,0x80,0xb7,0xf1,0x25,0x03,0x00,0x64,0xb7,0xfb,
+0x6a,0x60,0x54,0x65,0x4c,0xf3,0xa5,0xdb,0xa3,0xd3,0xc0,0x85,0xd4,0x80,0x5b,0xd3,
+0x1a,0x04,0x60,0x43,0x63,0x42,0x06,0x65,0x46,0xd3,0x5a,0xd3,0x40,0x48,0x5a,0xd3,
+0x40,0x4c,0x40,0x4d,0x75,0xf3,0x06,0x56,0x7e,0x00,0x00,0x10,0x28,0x45,0xd4,0x80,
+0x5a,0xd3,0x09,0x02,0x2c,0x45,0xd4,0x80,0x5a,0xd3,0x05,0x02,0x2d,0x45,0xd4,0x80,
+0x63,0x42,0x01,0x02,0x03,0x00,0x2b,0x60,0x83,0x78,0xff,0xff,0xb5,0xf1,0x4c,0xf3,
+0xff,0xff,0xd0,0x80,0xff,0xff,0x14,0x06,0x63,0x60,0x0e,0x62,0xa2,0xd3,0xb6,0xf1,
+0xff,0xff,0xd0,0x80,0xff,0xff,0x0c,0x05,0x3f,0x60,0x9a,0x62,0x2b,0x60,0xaa,0x64,
+0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x28,0x60,0xda,0x78,0xff,0xff,
+0x6a,0x60,0xcc,0x62,0xa2,0xd3,0xff,0xff,0x60,0x40,0x02,0x2a,0x03,0x00,0x2a,0x60,
+0x3b,0x78,0xff,0xff,0x03,0x64,0xe8,0xfb,0x21,0x60,0x9a,0x62,0x00,0x60,0x74,0x64,
+0xa2,0xdb,0x2b,0x60,0x44,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,
+0x98,0x62,0xa2,0xd1,0x00,0x60,0x04,0x64,0xa0,0x80,0x9c,0x84,0x05,0x03,0xa0,0x84,
+0xa2,0xdb,0x2b,0x60,0x8c,0x78,0xff,0xff,0x00,0x60,0x40,0x64,0xa0,0x80,0x9c,0x84,
+0x05,0x03,0xa0,0x84,0xa2,0xdb,0x2a,0x60,0xda,0x78,0xff,0xff,0x00,0x60,0x20,0x64,
+0xa0,0x80,0x9c,0x84,0x10,0x03,0xa0,0x84,0xa2,0xdb,0x01,0x65,0x2e,0x60,0x58,0x4e,
+0x4f,0x78,0xff,0xff,0xff,0x60,0xf7,0x65,0x52,0xf3,0xff,0xff,0xa4,0x84,0xa2,0xdb,
+0x2a,0x60,0xda,0x78,0xff,0xff,0x00,0x60,0x10,0x64,0xa0,0x80,0x9c,0x84,0xcd,0x03,
+0xa0,0x84,0xa2,0xdb,0x3f,0x60,0x9a,0x62,0x2b,0x60,0xb6,0x64,0xa2,0xdb,0x03,0x64,
+0x4a,0xdb,0xff,0xff,0x1d,0xff,0x2a,0x60,0x8d,0x78,0xff,0xff,0x21,0x60,0xaa,0x62,
+0xa2,0xd1,0x00,0x60,0x20,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x05,0x64,
+0xe8,0xfb,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x9e,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,
+0xff,0xff,0x1d,0xff,0x3f,0x60,0x9a,0x62,0x2b,0x60,0xaa,0x64,0xa2,0xdb,0x03,0x64,
+0x4a,0xdb,0xff,0xff,0x1d,0xff,0x3f,0x60,0x9a,0x62,0x2b,0x60,0xb6,0x64,0xa2,0xdb,
+0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,0x98,0x62,0x00,0x64,0xa2,0xdb,
+0x5a,0xdb,0x00,0x64,0x52,0xfb,0x21,0x60,0x90,0x62,0xa2,0xd1,0x08,0x60,0x00,0x64,
+0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x21,0x60,0x9a,0x62,0x00,0x60,0x02,0x64,0xa2,0xdb,
+0x28,0x60,0xd0,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0x9a,0x62,
+0x80,0x60,0x00,0x64,0xa2,0xdb,0x2b,0x60,0xcc,0x64,0x5a,0xdb,0xcf,0xfe,0x80,0xf3,
+0xff,0xff,0xff,0xa0,0x02,0x64,0x2a,0x02,0x80,0xfb,0x21,0x60,0x98,0x62,0xa2,0xd1,
+0x7f,0x60,0xff,0x64,0xa0,0x84,0xa2,0xdb,0x21,0x60,0x9a,0x62,0x80,0x60,0x00,0x64,
+0xa2,0xdb,0x2b,0x60,0xe5,0x64,0x5a,0xdb,0xcf,0xfe,0xc1,0xfe,0x2f,0x58,0xff,0xff,
+0x21,0x60,0x98,0x62,0xa2,0xd1,0x7f,0x60,0xff,0x64,0xa0,0x84,0xa2,0xdb,0x80,0xf3,
+0xff,0xff,0x00,0xa0,0xff,0xff,0xf2,0x02,0x21,0x60,0x98,0x62,0xa2,0xd1,0x7f,0x60,
+0xff,0x61,0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0xe9,0xf3,0xff,0xff,
+0x60,0x40,0x40,0x26,0x08,0x00,0x6a,0x60,0xd0,0x62,0xa2,0xd3,0x56,0xf3,0x00,0xa0,
+0x00,0xa0,0x13,0x03,0x12,0x02,0xe9,0xf3,0xff,0xff,0x20,0xbc,0xe9,0xfb,0x11,0x60,
+0x48,0x65,0x2e,0x60,0x58,0x4e,0x9e,0x78,0xff,0xff,0x39,0x60,0x58,0x4e,0xfe,0x78,
+0xff,0xff,0x2e,0x60,0x58,0x4e,0xbd,0x78,0xff,0xff,0x62,0x60,0x92,0x64,0x4f,0xfb,
+0x21,0x60,0x98,0x62,0xa2,0xd1,0xef,0x60,0xff,0x64,0xa0,0x84,0xa2,0xdb,0x0f,0x4e,
+0x53,0x60,0x58,0x4f,0xfe,0x78,0xff,0xff,0x0e,0x4f,0x21,0x60,0x9a,0x62,0x10,0x60,
+0x00,0x64,0xa2,0xdb,0x2c,0x60,0x35,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0xe9,0xf3,0xff,0xff,0x60,0x40,0x20,0x2a,0x12,0x00,0xdf,0xb4,0xe9,0xfb,0x01,0x60,
+0x48,0x65,0x2e,0x60,0x58,0x4e,0x9e,0x78,0xff,0xff,0x39,0x60,0x58,0x4e,0xfe,0x78,
+0xff,0xff,0x2e,0x60,0x58,0x4e,0xbd,0x78,0xff,0xff,0xe9,0xf3,0xff,0xff,0x60,0x5c,
+0x03,0x22,0x09,0x00,0xff,0x60,0xfc,0x64,0xa0,0x84,0xe9,0xfb,0x04,0x65,0x3d,0x60,
+0x58,0x4e,0x39,0x78,0xff,0xff,0x3f,0x60,0x9e,0x62,0x2b,0x60,0xaa,0x64,0xa2,0xdb,
+0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,0x98,0x62,0xa2,0xd1,0xef,0x60,
+0xef,0x64,0xa0,0x84,0xa2,0xdb,0x01,0x64,0x80,0xfb,0xff,0xff,0xc1,0xfe,0xe9,0xf3,
+0xff,0xff,0xfb,0xb4,0xe9,0xfb,0x70,0xf7,0xff,0xff,0xff,0xff,0x4d,0xf1,0x28,0x44,
+0xd0,0x84,0x0f,0xa4,0x03,0x0e,0xe8,0x84,0xe8,0x84,0x04,0x00,0xe2,0xa4,0xe8,0x84,
+0xe8,0x87,0xf0,0xbf,0xc0,0x84,0xa2,0xdb,0x2e,0x58,0xff,0xff,0x4e,0xf1,0x28,0x44,
+0xd0,0x84,0x1f,0xa4,0x06,0x0e,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,
+0x07,0x00,0xc2,0xa4,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x87,0xf8,0xbf,
+0xc0,0x84,0xa2,0xdb,0x2e,0x58,0xff,0xff,0x4e,0xf1,0x4d,0xf3,0x64,0x45,0xd4,0x84,
+0x80,0x65,0xc4,0x87,0x01,0x05,0x00,0x64,0xff,0xb4,0x4c,0xfb,0x2e,0x58,0xff,0xff,
+0x21,0x60,0x98,0x62,0xa2,0xd1,0x00,0x60,0x08,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0x98,0x62,0xa2,0xd1,0x00,0x60,0x10,0x64,
+0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0x98,0x62,
+0xa2,0xd1,0x00,0x60,0x20,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x2f,0x58,
+0xff,0xff,0x2e,0x60,0x3c,0x78,0xff,0xff,0xbd,0xf3,0xff,0xff,0x60,0x40,0x03,0x36,
+0x34,0x00,0x21,0x60,0x9a,0x62,0xa2,0xd3,0xff,0xff,0x60,0x40,0x40,0x22,0xf1,0x00,
+0x6a,0x60,0x2c,0x62,0x00,0x64,0xa2,0xdb,0x6a,0x60,0x12,0x62,0xa2,0xd3,0xff,0xff,
+0xff,0xa0,0xff,0xff,0x11,0x02,0x26,0x46,0x00,0xf4,0x5b,0x60,0x58,0x4e,0x51,0x78,
+0xff,0xff,0x6a,0x60,0x18,0x62,0xa2,0xd9,0x6a,0x60,0x16,0x63,0xa3,0xd3,0xff,0xff,
+0xd0,0x80,0xff,0xff,0x01,0x06,0xa3,0xd9,0x52,0xf3,0xff,0xff,0x60,0x40,0x04,0x26,
+0x06,0x00,0x5c,0x60,0x58,0x4e,0x73,0x78,0xff,0xff,0x65,0x44,0xd0,0xfb,0x00,0x65,
+0x2e,0x60,0x58,0x4e,0x4f,0x78,0xff,0xff,0x09,0x00,0x61,0xf3,0xff,0xff,0x04,0xb4,
+0x04,0xbc,0x03,0x03,0x2e,0x60,0x3c,0x78,0xff,0xff,0x61,0xfb,0x26,0x46,0x20,0xf2,
+0xa0,0x65,0x01,0x37,0x50,0x65,0x02,0x37,0x1e,0x65,0x03,0x37,0x0f,0x65,0x2b,0x60,
+0xc2,0x63,0x00,0xf4,0x02,0xf2,0xff,0xff,0xd4,0x84,0xbd,0xdb,0x03,0xf2,0x01,0x05,
+0xcc,0x84,0xbd,0xdb,0x04,0xf2,0x01,0x05,0xcc,0x84,0xbd,0xdb,0x05,0xf2,0x01,0x05,
+0xcc,0x84,0xa3,0xdb,0xfa,0xa3,0x26,0x46,0x00,0x60,0x00,0x65,0xa3,0xd3,0x23,0xf0,
+0x00,0x61,0xd0,0x84,0xf1,0x81,0xd4,0x84,0xf1,0x81,0xbd,0xdb,0xa3,0xd3,0x03,0xb1,
+0x03,0xa9,0x24,0xf0,0x42,0xfe,0x01,0x03,0xcc,0x84,0xf1,0x81,0xd0,0x84,0xf1,0x81,
+0xbd,0xdb,0xa3,0xd3,0x03,0xb1,0x03,0xa9,0x27,0xf0,0x42,0xfe,0x01,0x03,0xcc,0x84,
+0xf1,0x81,0xd0,0x84,0xf1,0x81,0xbd,0xdb,0xa3,0xd3,0x03,0xb1,0x03,0xa9,0x28,0xf0,
+0x01,0x03,0xcc,0x84,0xd0,0x84,0xa3,0xdb,0x52,0xf3,0xbd,0xf3,0x04,0xb0,0xff,0xff,
+0x35,0x03,0x03,0x3a,0x35,0x00,0x67,0xf3,0xff,0xff,0x60,0x40,0x04,0x26,0x30,0x00,
+0xa3,0xd3,0x4b,0xd1,0x4b,0xd3,0xc0,0x9c,0xc0,0x84,0x4b,0xd1,0x00,0xa0,0x03,0xa0,
+0x01,0x03,0x1f,0x02,0x80,0x60,0x00,0x65,0x64,0x44,0xa4,0x85,0xe8,0x84,0xb4,0x84,
+0xe8,0x84,0xb4,0x84,0xa3,0xdb,0x60,0x45,0xfa,0x64,0xd4,0x80,0xff,0x60,0x06,0x64,
+0xd4,0x80,0x14,0x07,0x13,0x04,0x69,0x60,0xfa,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x40,0xf3,0xff,0xff,0x60,0x40,0x00,0x3a,0x03,0x00,0x01,0x64,0x40,0xfb,
+0x07,0x00,0x69,0x60,0xf4,0x62,0x10,0x64,0xa2,0xdb,0x06,0x00,0x00,0x64,0x40,0xfb,
+0x01,0x64,0x22,0xfb,0xff,0xff,0x1a,0xff,0x52,0xf3,0xff,0xff,0x04,0xb0,0x08,0xb0,
+0x06,0x03,0x74,0x02,0x53,0xf3,0xff,0xff,0xff,0xa4,0x53,0xfb,0x71,0x02,0x26,0x46,
+0x00,0xf4,0x02,0xf2,0x5a,0xd2,0x40,0x48,0x40,0x4c,0x5a,0xd2,0x5a,0xd2,0x40,0x4d,
+0x60,0x41,0x5a,0xd0,0x74,0xf9,0x40,0x63,0xad,0x80,0xf0,0xa3,0x09,0x02,0x3c,0x03,
+0x2d,0x41,0x2c,0x44,0x40,0x4d,0x28,0x44,0x40,0x4c,0x00,0x64,0x40,0x48,0xf4,0x00,
+0xd1,0x80,0x01,0x02,0x31,0x04,0x10,0xa3,0x80,0x60,0x00,0x65,0xa5,0x80,0xcf,0x83,
+0x08,0x02,0x28,0x44,0x60,0x88,0x2c,0x44,0x70,0x8c,0x2d,0x44,0x70,0x8d,0xf1,0x81,
+0xf5,0x00,0xe7,0xa3,0x64,0x44,0x00,0xa0,0x00,0x62,0x02,0x02,0x00,0x61,0x1c,0x00,
+0xe0,0x84,0xde,0x82,0xfd,0x04,0x42,0xfe,0xf8,0x84,0x62,0x45,0xc7,0x83,0x60,0x45,
+0x02,0xfe,0xd5,0x84,0x02,0x05,0x01,0x05,0x61,0x44,0xcf,0x83,0x60,0x41,0x08,0x03,
+0x28,0x44,0x60,0x88,0x2c,0x44,0x70,0x8c,0x2d,0x44,0x70,0x8d,0xf1,0x81,0xf1,0x00,
+0xce,0x82,0xe9,0x81,0xfd,0x02,0xf1,0x81,0x02,0xf2,0xff,0xff,0x60,0x47,0xe8,0x84,
+0xe8,0x84,0x5a,0xd2,0x3f,0xb5,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0xb4,0x84,0x61,0x45,0xd4,0x84,0xc0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0x60,0x53,0x74,0xf3,0x60,0x41,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0x60,0x45,0x61,0x44,0xd4,0x84,0x9a,0xfb,0x04,0x60,0x00,0x71,0x05,0x64,0x53,0xfb,
+0x52,0xf3,0x26,0x46,0x0c,0xbc,0xa2,0xdb,0x80,0x60,0xf0,0x65,0x25,0xf2,0x4c,0xf1,
+0xa5,0xdb,0x60,0x47,0x00,0x7f,0x08,0xa4,0xd0,0x80,0xff,0x60,0x00,0x65,0x04,0x07,
+0x64,0x44,0xfd,0xa4,0x60,0x47,0x02,0x00,0x25,0xf2,0xff,0xff,0x24,0x88,0x60,0x47,
+0x24,0x8c,0x2c,0x60,0x58,0x4e,0x73,0x78,0xff,0xff,0x0c,0x48,0x2c,0x60,0x58,0x4e,
+0x83,0x78,0xff,0xff,0x2c,0x60,0x58,0x4e,0x99,0x78,0xff,0xff,0x21,0x60,0x98,0x62,
+0xa2,0xd1,0x00,0x60,0x40,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x3f,0x60,
+0x9a,0x62,0x2b,0x60,0xb6,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,
+0x21,0x60,0x98,0x62,0xa2,0xd1,0xff,0x60,0xdf,0x64,0xa0,0x84,0xa2,0xdb,0x26,0x46,
+0x2f,0x58,0xff,0xff,0x65,0x44,0x00,0xa0,0x40,0x48,0x13,0x03,0x69,0x60,0x84,0x62,
+0xa2,0xd3,0xff,0xff,0xdc,0x84,0xf6,0xa0,0xa2,0xdb,0x0f,0x04,0x00,0x64,0xa2,0xdb,
+0x21,0x60,0xaa,0x62,0xa2,0xd1,0x00,0x60,0x40,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,
+0xcf,0xfe,0x69,0x60,0x84,0x62,0x00,0x64,0xa2,0xdb,0x69,0x60,0x86,0x62,0xa2,0xd3,
+0x28,0x45,0xc4,0x84,0xa2,0xdb,0x69,0x60,0x88,0x62,0xa2,0xd3,0xff,0xff,0xdc,0x84,
+0xce,0xa0,0xa2,0xdb,0x14,0x06,0x32,0x64,0xa2,0xdb,0x69,0x60,0x8a,0x62,0xa2,0xd1,
+0x69,0x60,0x8c,0x64,0xc0,0x82,0xa2,0xd1,0x69,0x60,0x86,0x62,0xa2,0xd3,0xff,0xff,
+0xd0,0x84,0xa2,0xdb,0xe0,0x85,0x63,0x60,0x0e,0x62,0x65,0x44,0xa2,0xdb,0x69,0x60,
+0x8a,0x62,0xa2,0xd1,0x69,0x60,0x8c,0x64,0xc0,0x82,0x28,0x44,0xa2,0xdb,0x69,0x60,
+0x8a,0x62,0x64,0x44,0x9e,0xa0,0x02,0xa4,0x01,0x02,0x00,0x64,0xa2,0xdb,0x2e,0x58,
+0xff,0xff,0x6f,0xf5,0xff,0xff,0x75,0xf1,0x2b,0xf8,0x31,0xf8,0xff,0xff,0x76,0xf1,
+0x2c,0xf8,0x32,0xf8,0xff,0xff,0x77,0xf1,0x2d,0xf8,0x33,0xf8,0xff,0xff,0xb0,0xf1,
+0x2e,0xf8,0xb1,0xf1,0xff,0xff,0x2f,0xf8,0xb2,0xf1,0x30,0xf8,0xff,0xff,0x00,0x64,
+0x22,0xfa,0x06,0x60,0x20,0x64,0x0e,0xfa,0x65,0x44,0x29,0xfa,0x2e,0x58,0xff,0xff,
+0x6a,0x60,0x28,0x62,0x2e,0x44,0xa2,0xdb,0x21,0x60,0x98,0x62,0xa2,0xd1,0xff,0x60,
+0xfe,0x64,0xa0,0x84,0xa2,0xdb,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x21,0x60,
+0x9a,0x62,0x00,0x60,0x01,0x64,0xa2,0xdb,0x2e,0x60,0xdf,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0x98,0x62,0xa2,0xd1,0xff,0x60,0xfe,0x61,0xa1,0x84,
+0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0x6a,0x60,0x28,0x62,0xa2,0xd3,0xff,0xff,
+0x40,0x4e,0x2e,0x58,0xff,0xff,0x27,0x42,0xa2,0xd3,0xa2,0xd1,0xac,0x86,0x0e,0xf2,
+0x61,0x03,0x60,0x40,0x02,0x2a,0x60,0x00,0x2b,0xf2,0x8b,0xf3,0x60,0x40,0x01,0x2a,
+0x02,0x00,0xcc,0x84,0x8b,0xfb,0x0b,0xf2,0xff,0xff,0x00,0xa4,0x44,0x45,0x3c,0x02,
+0x21,0x44,0xf7,0xa0,0xff,0xff,0x38,0x07,0x5c,0x81,0x22,0x44,0x00,0x7c,0xd0,0x80,
+0xff,0xff,0x01,0x02,0x46,0x42,0x3b,0xf3,0xff,0xff,0x60,0x41,0x02,0xfa,0x40,0xa1,
+0x7c,0x63,0x84,0xa1,0x00,0xf2,0x03,0x06,0x01,0xfc,0x60,0x46,0xfa,0x00,0x80,0x60,
+0x7c,0x64,0x01,0xfa,0x66,0x43,0x25,0x46,0x05,0xfc,0x06,0xfc,0x01,0xf0,0x03,0x67,
+0xb0,0x84,0x00,0xf0,0x3c,0x7e,0x01,0xfa,0x04,0x64,0x03,0xfa,0x04,0xf8,0x00,0x64,
+0x0b,0xfa,0x0c,0xfa,0xff,0xff,0x0e,0xfa,0x0f,0xfa,0x10,0xfa,0xff,0xff,0x11,0xfa,
+0x3f,0x60,0x70,0x62,0x3f,0x60,0x4c,0x64,0xa2,0xdb,0x25,0x44,0x5a,0xdb,0x0a,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xaf,0x00,0x0f,0x4e,0x44,0x45,0x64,0x46,0x3f,0x60,
+0x70,0x62,0x00,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,0xd1,0xfe,
+0x0e,0x4f,0x99,0x00,0x00,0x64,0x8b,0xfb,0x2f,0x58,0xff,0xff,0x3f,0x60,0x52,0x64,
+0x40,0x47,0x58,0x4f,0x90,0x00,0x3f,0x60,0x2e,0x64,0x40,0x47,0x58,0x4f,0x08,0x00,
+0x3f,0x60,0x58,0x64,0x40,0x47,0x58,0x4f,0x03,0x00,0x30,0x60,0x09,0x78,0xff,0xff,
+0x27,0x42,0xa2,0xd3,0xa2,0xd1,0xac,0x86,0x0e,0xf2,0x46,0x03,0x60,0x40,0x02,0x2a,
+0x43,0x00,0x89,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x28,0x03,0x3f,0x60,0x2e,0x64,
+0x27,0x45,0xd4,0x80,0xff,0xff,0x22,0x02,0x00,0x64,0x13,0xfb,0x22,0xf2,0xff,0xff,
+0xff,0xff,0x10,0x26,0x0f,0x00,0x1c,0xf2,0xff,0xff,0x03,0xb4,0xff,0xff,0x00,0x36,
+0x15,0x00,0x01,0x36,0x13,0x00,0x02,0x36,0x05,0x00,0x22,0xf2,0xff,0xff,0x00,0xa8,
+0xff,0xff,0x0c,0x03,0x3f,0x60,0x70,0x62,0x3f,0x60,0x28,0x64,0xa2,0xdb,0x66,0x44,
+0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x16,0x00,0x0f,0x4e,0x44,0x45,
+0x64,0x46,0x3f,0x60,0x70,0x62,0x00,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,
+0xa3,0xff,0xd1,0xfe,0x0e,0x4f,0xb4,0x00,0x2f,0x58,0xff,0xff,0x02,0x64,0x01,0x00,
+0x01,0x64,0x40,0x55,0x3b,0xff,0x48,0x00,0xb2,0xfe,0xff,0xff,0xf9,0x05,0xb3,0xfe,
+0xff,0xff,0xf4,0x05,0xb0,0xfe,0xff,0xff,0x91,0x05,0xb1,0xfe,0xff,0xff,0x26,0x05,
+0x3b,0x00,0x3b,0xf1,0x0f,0x4e,0x64,0x41,0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,
+0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,
+0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,0x26,0x03,0x3f,0x60,0x70,0x62,0x3f,0x60,
+0x4c,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,
+0x22,0x41,0x00,0xb9,0x21,0x44,0x08,0x24,0x46,0x42,0x5c,0x81,0x3e,0x41,0x22,0x44,
+0x00,0xb9,0xac,0x86,0x09,0x02,0xd5,0x03,0x31,0x40,0x01,0x2a,0x05,0x00,0x09,0xf0,
+0x02,0x5e,0x44,0x42,0x21,0x44,0x4c,0x81,0x8a,0xf3,0x21,0x45,0xd4,0x80,0xff,0xff,
+0xc8,0x07,0x58,0x4f,0x04,0x00,0x00,0x00,0xa1,0xff,0xff,0xff,0xbe,0x3f,0x3f,0x60,
+0x1c,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x40,0x03,0x46,0x48,0x03,0x60,
+0x3c,0x64,0x01,0xfa,0x02,0xf0,0x0f,0x4e,0x64,0x41,0x41,0x4d,0x40,0xa1,0xa2,0xff,
+0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,
+0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,0x76,0x03,0x3f,0x60,0x70,0x62,
+0x3f,0x60,0x22,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0x00,0xf2,0x00,0x63,0x00,0xfc,0x05,0xf0,0x06,0xfc,0x66,0x43,0x05,0xfc,
+0x28,0x46,0x00,0xfa,0x04,0xfa,0x04,0x64,0x03,0xfa,0x05,0xf8,0x06,0xf8,0x08,0x64,
+0x0e,0xfa,0x3f,0x60,0x70,0x62,0x3f,0x60,0x28,0x64,0xa2,0xdb,0x28,0x44,0x5a,0xdb,
+0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xd1,0xfe,0x4b,0x00,0x20,0x44,0x01,0x2a,
+0x4b,0x00,0x02,0x2a,0x22,0x00,0x0f,0x4e,0x00,0x60,0x3c,0x61,0x41,0x4d,0x40,0xa1,
+0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,
+0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,0x35,0x03,0x3f,0x60,
+0x70,0x62,0x3f,0x60,0x22,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0x20,0x44,0xfd,0xb4,0x40,0x40,0x85,0xf1,0x0f,0x4e,0x64,0x41,
+0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,
+0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,
+0x13,0x03,0x3f,0x60,0x70,0x62,0x3f,0x60,0x28,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,
+0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x08,0x64,0x0e,0xfa,0x20,0x44,0xfe,0xb4,
+0x40,0x40,0x04,0x64,0x40,0x55,0x3b,0xff,0x2f,0x58,0xff,0xff,0xb8,0xfe,0xff,0xff,
+0x02,0x24,0x8d,0xf7,0xff,0xff,0xff,0xff,0xba,0xfe,0xff,0xff,0x05,0x05,0xb9,0xfe,
+0xbb,0xfe,0x30,0x60,0x09,0x78,0xff,0xff,0x36,0x44,0x00,0x7f,0xfc,0xa0,0x60,0x45,
+0x05,0x05,0x0e,0x60,0xd4,0x64,0x44,0xd7,0xff,0xff,0xff,0xff,0x30,0x60,0x09,0x78,
+0xff,0xff,0x7f,0x60,0xc0,0x64,0x24,0x45,0xa4,0x80,0x7f,0x67,0x02,0x61,0x13,0x02,
+0x20,0x44,0x01,0x2a,0x03,0x00,0x7f,0x67,0x07,0x61,0x0d,0x00,0x3b,0xf1,0x25,0x44,
+0x64,0x45,0x85,0xfb,0xd4,0x80,0x7f,0x67,0x05,0x61,0x05,0x07,0x20,0x44,0x03,0xbc,
+0x40,0x40,0xd1,0xfe,0x00,0x67,0x23,0x58,0xff,0xff,0x24,0x44,0x35,0x60,0x58,0x4f,
+0xc0,0x78,0xff,0xff,0x03,0x61,0x03,0x03,0x31,0x60,0x87,0x78,0xff,0xff,0x24,0x44,
+0x40,0xb0,0xff,0xff,0x48,0x03,0x25,0x46,0x66,0x5c,0xc1,0xf9,0x0e,0xf0,0xff,0xff,
+0x64,0x40,0x08,0x2a,0x1f,0x00,0x3f,0x60,0x22,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,
+0x60,0x46,0x18,0x03,0x0f,0x4e,0x46,0x45,0x3f,0x60,0x70,0x62,0x00,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xa2,0xff,0x1a,0x60,
+0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,0xd1,0xfe,0x0e,0x4f,0x0e,0xf2,0xff,0xff,
+0xf7,0xb4,0x0e,0xfa,0xc1,0xf5,0x22,0xf0,0xff,0x60,0xef,0x64,0xa0,0x84,0xa2,0xda,
+0x00,0x64,0x1c,0xfa,0x3f,0x60,0x70,0x62,0x3f,0x60,0x2e,0x64,0xa2,0xdb,0x66,0x44,
+0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x0e,0xf2,0xff,0xff,0x02,0xbc,
+0x0e,0xfa,0x3f,0x60,0x2e,0x64,0x40,0x47,0x2f,0x60,0x58,0x4f,0x6d,0x78,0xff,0xff,
+0x32,0x60,0x77,0x78,0xff,0xff,0x63,0x60,0x56,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x25,0x46,
+0x3f,0x60,0x10,0x65,0x08,0xf2,0xff,0xff,0xd4,0x80,0x03,0x61,0x43,0x03,0x3f,0x60,
+0x70,0x62,0x00,0x64,0xa2,0xdb,0x25,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0x28,0xf0,0xfd,0x7f,0x04,0x7e,0x64,0x40,0x02,0x26,0x40,0xbc,0x0e,0xf0,
+0x64,0x40,0x04,0x26,0x80,0xbc,0xc0,0x22,0xff,0x7f,0x64,0x40,0x08,0x26,0x08,0xbc,
+0x0e,0xfa,0x3f,0xf0,0xff,0xff,0x28,0xf2,0x38,0xf2,0x60,0x41,0x08,0x2a,0x64,0x47,
+0x38,0xfa,0x60,0x45,0x3c,0xf3,0x00,0x63,0xd4,0x80,0x22,0xfc,0x01,0x04,0x05,0x00,
+0x22,0xf0,0x08,0x64,0xb0,0x84,0xa2,0xda,0x1c,0x00,0x39,0x60,0x58,0x4f,0x72,0x78,
+0xff,0xff,0x05,0x04,0x22,0xf0,0x04,0x64,0xb0,0x84,0xa2,0xda,0x12,0x00,0x25,0x46,
+0xbd,0xf3,0x89,0xf3,0xfe,0xa0,0x00,0xa0,0x06,0x07,0x05,0x02,0x22,0xf0,0x04,0x64,
+0xb0,0x84,0xa2,0xda,0x06,0x00,0x32,0x60,0x58,0x4f,0x7c,0x78,0xff,0xff,0x05,0x61,
+0x00,0x04,0x25,0x46,0x24,0x44,0x01,0x2b,0x3a,0x00,0x02,0x27,0x38,0x00,0x3f,0x60,
+0x22,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x46,0x48,0x10,0x63,0x25,0x46,
+0xbf,0xd0,0x28,0x46,0xff,0xd8,0x25,0x46,0xfb,0x1d,0x64,0x44,0x00,0xa8,0x28,0x44,
+0x03,0x02,0x28,0x46,0x05,0xfa,0x06,0xfa,0x16,0x63,0x6a,0x61,0x25,0x46,0xa3,0xd0,
+0x28,0x46,0xc9,0x81,0xbd,0xd8,0xfa,0x02,0x0e,0xf0,0xff,0x60,0xfc,0x64,0xa0,0x84,
+0x0e,0xfa,0x00,0x64,0x0f,0xfa,0x00,0x64,0x25,0x46,0x00,0xfa,0x66,0x44,0x05,0xfa,
+0x3f,0x60,0x70,0x62,0x3f,0x60,0x1c,0x64,0xa2,0xdb,0x25,0x44,0x5a,0xdb,0x0a,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xd1,0xfe,0x00,0x64,0x0e,0xfa,0x28,0x46,0x0e,0xf0,
+0xff,0x60,0xfb,0x64,0xa0,0x84,0x0e,0xfa,0x22,0xf2,0x66,0x43,0x00,0xa8,0x60,0x5c,
+0x08,0x60,0x0a,0x64,0xa0,0xdd,0x64,0x44,0x69,0x02,0x89,0xf3,0xff,0xff,0x00,0xa0,
+0xff,0xff,0x44,0x03,0x26,0x44,0x0a,0x36,0x00,0x63,0x14,0x36,0x01,0x63,0x37,0x36,
+0x02,0x63,0x6e,0x36,0x03,0x63,0x13,0xfc,0x26,0x44,0xff,0x27,0x06,0x00,0x26,0xf2,
+0x26,0xf2,0x60,0x45,0x60,0x47,0xd4,0x84,0x01,0x00,0x60,0x47,0xff,0x65,0xa4,0x84,
+0x1d,0xfa,0x00,0x64,0x15,0xfa,0x27,0xf2,0xff,0xff,0x00,0xa0,0xff,0xff,0x15,0x02,
+0x21,0x60,0x80,0x65,0x25,0xf2,0xff,0xff,0x0f,0xb4,0xab,0xf1,0x00,0x7f,0xd0,0x80,
+0x60,0x5c,0x06,0x05,0x6a,0x60,0xc4,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0xa5,0xd9,0x64,0x40,0x00,0x3a,0xab,0xf9,0x11,0x00,0x29,0xf0,0x08,0x67,0xb0,0x84,
+0xa2,0xda,0x1e,0x65,0x29,0xf2,0xff,0xff,0x60,0x40,0x03,0x2b,0x18,0x65,0x65,0x44,
+0x04,0xa4,0x64,0x40,0x40,0x27,0x08,0xa4,0x21,0xfa,0x08,0x00,0x39,0x60,0x58,0x4e,
+0xfe,0x78,0xff,0xff,0x3a,0x60,0x58,0x4e,0x79,0x78,0xff,0xff,0x89,0xf3,0xff,0xff,
+0x00,0xa0,0x3a,0xf3,0x03,0x03,0x24,0x47,0x0f,0xb4,0x02,0x00,0xe8,0x84,0xe8,0x84,
+0x1c,0xfa,0x3f,0x60,0x70,0x62,0x3f,0x60,0x10,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,
+0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x0c,0x00,0x3f,0x60,0x70,0x62,
+0x3f,0x60,0x2e,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0xd3,0xfe,0x0e,0xf0,0x24,0x44,0x02,0x27,0x02,0x00,0x01,0x27,0x22,0x00,
+0x64,0x40,0x08,0x2a,0x1f,0x00,0x3f,0x60,0x22,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,
+0x60,0x46,0x18,0x03,0x0f,0x4e,0x46,0x45,0x3f,0x60,0x70,0x62,0x00,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xa2,0xff,0x1a,0x60,
+0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,0xd1,0xfe,0x0e,0x4f,0x0e,0xf2,0xff,0xff,
+0xf7,0xb4,0x0e,0xfa,0x00,0x67,0x01,0x00,0x7f,0x67,0x23,0x58,0xff,0xff,0x0f,0x4e,
+0x25,0x46,0x38,0xf2,0x05,0x48,0x00,0xa8,0x60,0x41,0x66,0x44,0x0a,0x03,0x00,0xf2,
+0x42,0xfe,0xac,0x86,0x01,0xf2,0x1e,0x03,0x7f,0xb5,0xd5,0x81,0x66,0x44,0xf7,0x07,
+0x25,0x46,0x05,0xf0,0x06,0xfa,0x05,0xfa,0xd0,0x80,0x64,0x43,0x12,0x03,0x60,0x46,
+0x01,0xf0,0x80,0x67,0xb0,0x84,0x01,0xfa,0x00,0xf0,0x00,0x64,0x00,0xfa,0x64,0x46,
+0x05,0xfc,0x46,0x45,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,
+0x08,0x45,0x02,0xfe,0x2e,0x58,0xff,0xff,0x20,0x44,0x40,0xb0,0x7f,0x67,0x02,0x61,
+0x03,0x03,0x33,0x60,0xb4,0x78,0xff,0xff,0x00,0x64,0x24,0x45,0x80,0x26,0x01,0x64,
+0x89,0xfb,0x62,0x60,0xc6,0x62,0xa2,0xd3,0xff,0xff,0x01,0xa4,0xa2,0xdb,0x3d,0xf1,
+0x34,0xf1,0x64,0x40,0x01,0x2a,0x08,0x00,0x64,0x40,0x01,0x2a,0x05,0x00,0x21,0x60,
+0x88,0x63,0x09,0x60,0x2b,0x64,0x19,0x00,0xb9,0xf1,0x21,0x60,0x88,0x63,0x64,0x45,
+0x80,0x27,0x19,0x00,0x64,0x44,0x00,0xac,0xff,0xff,0x0d,0x02,0x02,0x60,0x52,0x64,
+0xbd,0xdb,0x03,0x60,0x1c,0x64,0xbd,0xdb,0x7f,0x60,0xff,0x64,0xbd,0xdb,0x7f,0x60,
+0xff,0x64,0xbd,0xdb,0x07,0x00,0xe8,0x84,0xe0,0x84,0xbd,0xdb,0xbd,0xdb,0xbd,0xdb,
+0xff,0xff,0xbd,0xdb,0x36,0x00,0x80,0x67,0x94,0x81,0x61,0x44,0xe8,0x84,0xe8,0x84,
+0xe8,0x84,0xe8,0x84,0xe0,0x84,0xbd,0xdb,0x61,0x44,0xe8,0x84,0xe8,0x84,0xe8,0x84,
+0xe0,0x84,0xbd,0xdb,0x0d,0x60,0x18,0x65,0x61,0x44,0xd4,0x80,0xff,0xff,0x01,0x06,
+0x65,0x44,0xe0,0x85,0xc4,0x85,0xe0,0x84,0xe0,0x84,0xe0,0x84,0x06,0x66,0x7e,0x00,
+0x00,0x10,0xc4,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe0,0x84,
+0xbd,0xdb,0x06,0x60,0x8c,0x65,0x61,0x44,0xd4,0x80,0xff,0xff,0x01,0x06,0x65,0x44,
+0xe0,0x85,0xc4,0x85,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xc4,0x84,0xe8,0x84,0xe8,0x84,
+0xe8,0x84,0xe8,0x84,0xe0,0x84,0xbd,0xdb,0x21,0x60,0x88,0x63,0x04,0x61,0xbd,0xd1,
+0x90,0x65,0x64,0x44,0xd4,0x80,0x65,0x44,0x01,0x05,0xbf,0xdb,0x09,0x60,0x2b,0x65,
+0x64,0x44,0xd4,0x80,0xcd,0x81,0x02,0x06,0x65,0x44,0xbf,0xdb,0xf0,0x02,0x00,0x61,
+0x41,0x56,0xc7,0xfe,0x30,0x60,0x09,0x78,0xff,0xff,0x36,0x47,0xff,0x23,0x06,0x00,
+0x00,0x7f,0x60,0x41,0x7f,0x67,0x33,0x60,0xb4,0x78,0xff,0xff,0x99,0xff,0x00,0x60,
+0x00,0xeb,0x00,0x60,0x00,0xea,0x98,0xff,0x20,0x44,0x80,0xbc,0x40,0x40,0x62,0x60,
+0xdc,0x63,0xbb,0xf3,0xa3,0xdb,0x00,0x63,0x60,0x40,0x01,0x26,0x09,0x00,0x01,0xa3,
+0x60,0x40,0x02,0x26,0x05,0x00,0x01,0xa3,0x60,0x40,0x04,0x26,0x01,0x00,0x01,0xa3,
+0x60,0x41,0x18,0x60,0x74,0x65,0xa5,0xdd,0x61,0x44,0x08,0x2a,0x03,0x00,0x03,0x63,
+0x08,0x64,0x0c,0x00,0x04,0x2a,0x03,0x00,0x02,0x63,0x04,0x64,0x07,0x00,0x02,0x2a,
+0x03,0x00,0x01,0x63,0x02,0x64,0x02,0x00,0x00,0x63,0x01,0x64,0x43,0xfb,0x44,0xfd,
+0x89,0xf3,0xff,0xff,0x00,0xa0,0x00,0x64,0x2d,0x03,0x97,0xfb,0x98,0xfb,0x99,0xfb,
+0xff,0xff,0x74,0xf3,0x88,0xff,0x00,0x75,0x00,0x72,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0x60,0x53,0xed,0xe2,0xb2,0xf3,0xff,0xff,0xff,0xb4,0x60,0x52,0x8a,0xff,
+0xb0,0xf1,0x75,0xf9,0xb1,0xf1,0xff,0xff,0x76,0xf9,0xb2,0xf1,0x77,0xf9,0x18,0x60,
+0x72,0x63,0xa3,0xd3,0x00,0x65,0x60,0x40,0x02,0x26,0x01,0x65,0x60,0x40,0x04,0x26,
+0x02,0x65,0x60,0x40,0x08,0x26,0x03,0x65,0x62,0x60,0xda,0x62,0x65,0x44,0xa2,0xdb,
+0x00,0x67,0x10,0x00,0xbb,0xf3,0x00,0x65,0x60,0x40,0x02,0x26,0x01,0x65,0x60,0x40,
+0x04,0x26,0x02,0x65,0x60,0x40,0x08,0x26,0x03,0x65,0x62,0x60,0xda,0x62,0x65,0x44,
+0xa2,0xdb,0x00,0x67,0x23,0x58,0xff,0xff,0x7f,0x60,0xc0,0x64,0x24,0x45,0xa4,0x80,
+0x7f,0x67,0x02,0x61,0x3a,0x02,0x62,0x60,0xc8,0x62,0xa2,0xd3,0xff,0xff,0x01,0xa4,
+0xa2,0xdb,0xff,0x60,0xfe,0x64,0x32,0x45,0x24,0x92,0x02,0x61,0x41,0x56,0xc7,0xfe,
+0x30,0x60,0x09,0x78,0xff,0xff,0x88,0xf1,0x20,0x44,0x64,0x40,0xff,0x26,0x24,0x00,
+0x7f,0xb4,0x40,0x40,0x00,0x64,0x40,0x5e,0x3f,0x60,0x4c,0x62,0xa2,0xd3,0xff,0xff,
+0x00,0xa8,0x60,0x46,0x0f,0xf2,0x18,0x03,0x00,0xa8,0xff,0xff,0x15,0x03,0x0f,0x4e,
+0x46,0x45,0x3f,0x60,0x70,0x62,0x00,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,
+0xa3,0xff,0xd1,0xfe,0x0e,0x4f,0xe0,0x00,0x00,0x67,0x23,0x58,0xff,0xff,0x00,0x61,
+0x00,0x7c,0x08,0x60,0x0a,0x64,0xa0,0xd9,0x00,0x67,0x23,0x58,0xff,0xff,0x25,0x44,
+0xa0,0xd1,0x08,0x60,0x0a,0x64,0xa0,0xd9,0x00,0x67,0x23,0x58,0xff,0xff,0x7f,0x60,
+0xc0,0x64,0x24,0x45,0xa4,0x80,0x02,0x61,0x25,0x02,0x25,0x45,0x13,0x60,0x92,0x63,
+0x05,0x61,0xbd,0xd3,0xbd,0xd1,0xd4,0x80,0xbd,0xd3,0xcd,0x81,0x02,0x03,0x19,0x03,
+0xf8,0x00,0x40,0x4c,0x0f,0x4e,0x64,0x41,0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,
+0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,
+0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,0x01,0x03,0x2c,0x58,0x0c,0x61,0x05,0x67,
+0x02,0x00,0x04,0x61,0x7f,0x67,0x23,0x58,0xff,0xff,0x03,0x4e,0x0c,0x60,0x6e,0x62,
+0xa2,0xd7,0x58,0x43,0xff,0xff,0x0e,0x43,0x41,0x47,0x7e,0x60,0xc0,0x64,0x24,0x45,
+0xa4,0x80,0x02,0x61,0x26,0x02,0x25,0x45,0xfc,0x2b,0x22,0x00,0x0e,0x60,0xd8,0x63,
+0x79,0x61,0x24,0x44,0x01,0x27,0x11,0x00,0xbd,0xd3,0xa3,0xd1,0xd4,0x80,0xcd,0x81,
+0x08,0x24,0x64,0x58,0x08,0xa3,0xf8,0x02,0x15,0xf5,0x22,0xf2,0xff,0xff,0x00,0xa8,
+0x00,0x61,0x01,0x02,0x04,0x61,0x00,0x67,0x0d,0x00,0x27,0x40,0x04,0x3a,0xfb,0x00,
+0xbd,0xd3,0xbe,0xd1,0xd4,0x80,0xcd,0x81,0x08,0x24,0x64,0x58,0x08,0xa3,0xf5,0x02,
+0x04,0x61,0x7f,0x67,0x23,0x58,0xff,0xff,0x4b,0xd3,0x15,0xf5,0x60,0x41,0x22,0xf0,
+0xe9,0x85,0x64,0x44,0xff,0x22,0xdc,0x84,0xc4,0x84,0x22,0xfa,0x64,0x44,0xc2,0x82,
+0x00,0xa8,0xc2,0x84,0x08,0x24,0xd8,0x84,0xbf,0xd1,0xd8,0x85,0x64,0x43,0x58,0x4f,
+0x6f,0x00,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x6a,0x60,0xc0,0x62,0x01,0x64,
+0xa2,0xdb,0x0d,0x00,0x80,0x60,0xc0,0x62,0x00,0x64,0xa2,0xdb,0x08,0x00,0x79,0x60,
+0x8e,0x64,0x00,0x7c,0x58,0xd9,0x58,0xd9,0x58,0xd9,0xff,0xff,0x58,0xd9,0x21,0x60,
+0xaa,0x62,0xa2,0xd1,0x00,0x60,0x80,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,
+0x05,0x00,0x01,0x64,0x84,0xfb,0x01,0x67,0x79,0xfb,0xff,0xff,0x15,0xf5,0xff,0xff,
+0x22,0xf2,0xbf,0xd1,0xff,0xff,0x62,0x43,0xcc,0x84,0xe0,0x85,0x09,0x06,0xbf,0xd1,
+0x64,0x41,0xd5,0x80,0x64,0x43,0x01,0x06,0x65,0x41,0x48,0x65,0x58,0x4f,0x55,0x00,
+0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x61,0x60,0xcc,0x63,0xa3,0xd3,0x15,0xf5,
+0x60,0x41,0xe8,0x84,0xdc,0x84,0x22,0xfa,0xfc,0x60,0x80,0x64,0x5a,0xda,0xda,0x85,
+0x04,0xa3,0x58,0x4f,0x25,0x00,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,
+0x22,0xf2,0xbf,0xd1,0xff,0xff,0x62,0x43,0xcc,0x84,0xe0,0x81,0x15,0x06,0xbf,0xd1,
+0x64,0x45,0xd5,0x80,0x64,0x43,0xfc,0xa3,0x04,0x06,0x65,0x41,0xe9,0x84,0xdc,0x84,
+0x22,0xfa,0x44,0x65,0x04,0xa1,0x58,0x4f,0x28,0x00,0x61,0x60,0xcc,0x62,0xa2,0xd3,
+0xff,0xff,0xcc,0x84,0xe0,0x84,0xa2,0xdb,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,
+0x41,0x4d,0x00,0xa1,0x80,0x64,0x17,0x03,0x65,0x42,0xd4,0x85,0x2d,0x41,0x55,0x8d,
+0xff,0xff,0x02,0x04,0x65,0x41,0x02,0x00,0x00,0x64,0x40,0x4d,0xca,0x84,0xbd,0xd1,
+0xc9,0x81,0x58,0xd8,0xfc,0x02,0x2d,0x41,0x00,0xa1,0xd8,0x85,0x04,0x03,0x00,0xf4,
+0x7c,0x65,0x04,0x62,0xeb,0x00,0x2f,0x58,0xff,0xff,0x41,0x4d,0x01,0xf2,0x65,0x42,
+0x7f,0xb5,0x2d,0x41,0x00,0xa1,0x55,0x8d,0x0e,0x03,0x02,0x04,0x65,0x41,0x02,0x00,
+0x00,0x64,0x40,0x4d,0xca,0x84,0x58,0xd0,0xc9,0x81,0xbd,0xd9,0xfc,0x02,0x00,0xf4,
+0x01,0xf2,0x04,0x62,0xed,0x00,0x2f,0x58,0xff,0xff,0x66,0x44,0x87,0xfb,0x7e,0xf1,
+0x02,0x64,0xc0,0x84,0xe8,0x84,0x22,0xfa,0xf1,0x60,0x01,0x64,0x23,0xfa,0x5a,0x8d,
+0x7d,0xf1,0x2a,0x60,0xc8,0x63,0x44,0x4b,0x43,0x4c,0x2b,0x45,0xd7,0x80,0xbe,0xd1,
+0x0b,0x05,0x2d,0x45,0x64,0x43,0x44,0x61,0x34,0x60,0x58,0x4f,0xf2,0x78,0xff,0xff,
+0x45,0x4d,0x2c,0x43,0x04,0xa3,0xf0,0x00,0x87,0xf1,0x3f,0x60,0x70,0x62,0x3f,0x60,
+0x58,0x64,0xa2,0xdb,0x5a,0xd9,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x08,0x65,
+0x45,0x55,0x3b,0xff,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x66,0x44,0x86,0xfb,
+0xc6,0xfe,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x66,0x44,0x87,0xfb,0x66,0xf1,
+0x01,0x60,0x00,0x64,0xc0,0x81,0x2b,0x60,0xca,0x63,0x00,0x64,0x40,0x4b,0xf1,0x60,
+0x02,0x64,0x23,0xfa,0xda,0x85,0xa3,0xd3,0xff,0xff,0xff,0xff,0x01,0x2a,0x0b,0x00,
+0x41,0x4c,0x10,0x61,0x34,0x60,0x58,0x4f,0xf2,0x78,0xff,0xff,0x2b,0x44,0xdc,0x84,
+0x40,0x4b,0x2c,0x41,0xf0,0xa3,0xcd,0x81,0x10,0xa3,0xed,0x02,0x87,0xf1,0xff,0xff,
+0x64,0x46,0x2b,0x44,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xdc,0x84,0x22,0xfa,0x3f,0x60,
+0x70,0x62,0x3f,0x60,0x58,0x64,0xa2,0xdb,0x5a,0xd9,0x0a,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0x08,0x65,0x45,0x55,0x3b,0xff,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,
+0x66,0x44,0x87,0xfb,0x41,0x60,0x80,0x64,0xa0,0xd1,0x02,0x64,0xc0,0x84,0xe8,0x84,
+0x22,0xfa,0xf1,0x60,0x04,0x64,0x23,0xfa,0xda,0x85,0x41,0x60,0x82,0x63,0x64,0x41,
+0x34,0x60,0x58,0x4f,0xf2,0x78,0xff,0xff,0x87,0xf1,0x3f,0x60,0x70,0x62,0x3f,0x60,
+0x58,0x64,0xa2,0xdb,0x5a,0xd9,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x08,0x65,
+0x45,0x55,0x3b,0xff,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x25,0x44,0x19,0xf1,
+0x1a,0xf1,0xd0,0x80,0xd0,0x80,0x0e,0x04,0x08,0x06,0x1b,0xf1,0x1c,0xf1,0xd0,0x80,
+0xd0,0x80,0x08,0x04,0x02,0x06,0x48,0xfe,0x05,0x00,0x25,0x46,0x01,0xf0,0x03,0x67,
+0xa0,0x85,0x94,0x80,0x2f,0x58,0xff,0xff,0x15,0xf5,0x00,0x60,0xf1,0x64,0x22,0xfa,
+0x25,0x44,0x23,0xfa,0x01,0x60,0xa8,0x64,0x40,0x4d,0x46,0x4c,0xfc,0x60,0x00,0x64,
+0x40,0x4b,0xfe,0x60,0x00,0x64,0x36,0x63,0x46,0x61,0xc8,0x84,0x2b,0x46,0x58,0xd0,
+0x2c,0x46,0x59,0xd8,0xfb,0x1f,0x2d,0x41,0x00,0xb9,0x84,0xa1,0x08,0x03,0x04,0x24,
+0x00,0x61,0x41,0x4d,0x00,0xf4,0x02,0x61,0x7a,0x63,0x46,0x4c,0xef,0x00,0x00,0x67,
+0x00,0x61,0x23,0x58,0xff,0xff,0xfc,0x60,0x00,0x64,0x40,0x4b,0x4b,0xd3,0x15,0xf5,
+0x60,0x41,0xd8,0x84,0xe8,0x84,0x22,0xfa,0x25,0x44,0x23,0xfa,0xbf,0xd3,0x66,0x45,
+0x48,0x63,0xc8,0x84,0x2b,0x46,0x58,0xd0,0x65,0x46,0xc9,0x81,0xbd,0xd8,0xfa,0x02,
+0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0xfc,0x60,0x00,0x64,0x40,0x4b,0x4b,0xd3,
+0x15,0xf5,0x60,0x41,0x22,0xf0,0xe9,0x85,0x64,0x44,0xff,0x22,0xdc,0x84,0xc4,0x84,
+0x22,0xfa,0x64,0x44,0xc2,0x82,0x00,0xa8,0xc2,0x84,0x08,0x24,0xd8,0x84,0xbf,0xd1,
+0xc9,0x83,0x64,0x41,0xc9,0x81,0x66,0x45,0x2b,0x46,0x59,0xd0,0x65,0x46,0x58,0xd8,
+0xfb,0x1f,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x02,0x64,0x22,0xfa,
+0xfc,0xa3,0xa3,0xd3,0x25,0x43,0xa0,0xd3,0x23,0xfc,0xdc,0x84,0x24,0xfa,0x00,0x67,
+0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x02,0x64,0x22,0xfa,0x25,0x44,0x23,0xfa,
+0x59,0xf3,0xff,0xff,0x02,0xb4,0x01,0x64,0x08,0x24,0x02,0x64,0x24,0xfa,0x00,0x67,
+0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x02,0x64,0x22,0xfa,0x25,0x44,0x23,0xfa,
+0x43,0xf3,0x24,0xfa,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x04,0x64,
+0x22,0xfa,0x25,0x44,0x23,0xfa,0x4c,0xf3,0x24,0xfa,0xff,0xff,0x4d,0xf3,0x4e,0xf1,
+0x80,0x65,0xc4,0x87,0x00,0x7f,0x25,0xfa,0x64,0x44,0xc4,0x87,0x00,0x7f,0x26,0xfa,
+0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x24,0xf0,0x18,0x60,0x5c,0x65,
+0x22,0xf2,0xa5,0xd9,0x02,0xa8,0x64,0x41,0x0f,0x02,0x00,0xb9,0xff,0xff,0x0c,0x03,
+0x17,0x60,0x52,0x62,0xa2,0xd9,0x73,0xf3,0xff,0xff,0xd0,0x80,0xff,0xff,0x04,0x02,
+0x01,0x63,0x08,0x60,0x2a,0x64,0xa0,0xdd,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,
+0x15,0xf5,0x20,0x63,0x17,0x60,0xa4,0x61,0x46,0x64,0x58,0xd0,0x59,0xd9,0xfd,0x1f,
+0x24,0xf0,0x20,0x64,0xd0,0x81,0x17,0x60,0xa8,0x64,0x0d,0x06,0xc0,0x83,0x01,0x2a,
+0x06,0x00,0xcf,0x83,0xa3,0xd3,0xcd,0x81,0x00,0x7f,0xbd,0xdb,0x04,0x03,0x00,0x64,
+0xc9,0x81,0xbd,0xdb,0xfd,0x02,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,
+0x22,0xf2,0x24,0xf0,0x02,0xa8,0x62,0x60,0x90,0x62,0x09,0x02,0xa2,0xd9,0x64,0x41,
+0x32,0x44,0x02,0xb5,0x00,0xb9,0xd4,0x84,0x08,0x28,0x02,0xbc,0x40,0x52,0x00,0x67,
+0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x22,0xf2,0x24,0xf0,0x02,0xa8,0x01,0x60,
+0x76,0x65,0x37,0x02,0xa5,0xd9,0x18,0x60,0x6a,0x62,0x00,0x61,0x00,0x64,0x01,0x65,
+0x64,0x40,0x01,0x2a,0x02,0x00,0x01,0xa1,0x02,0x7e,0x64,0x40,0x02,0x2a,0x09,0x00,
+0x01,0xa1,0xa5,0x80,0xff,0xff,0x02,0x03,0x04,0x7e,0x03,0x00,0x04,0x7f,0xa2,0xdb,
+0x02,0xa2,0x64,0x40,0x04,0x2a,0x09,0x00,0x01,0xa1,0xa5,0x80,0xff,0xff,0x02,0x03,
+0x0b,0x7e,0x03,0x00,0x0b,0x7f,0xa2,0xdb,0x02,0xa2,0x64,0x40,0x08,0x2a,0x08,0x00,
+0x01,0xa1,0xa5,0x80,0xff,0xff,0x02,0x03,0x16,0x7e,0x02,0x00,0x16,0x7f,0xa2,0xdb,
+0xa5,0x80,0xff,0xff,0x02,0x03,0x00,0x7f,0xa2,0xdb,0x18,0x60,0x68,0x62,0x61,0x43,
+0xa2,0xdd,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x63,0x60,0x18,0x63,0x00,0x60,
+0xd5,0x61,0x00,0x64,0xcd,0x81,0xbd,0xdb,0xfd,0x02,0x00,0x67,0x00,0x61,0x23,0x58,
+0xff,0xff,0x15,0xf5,0x24,0xf0,0x40,0x60,0x20,0x62,0xa2,0xd9,0x17,0x60,0x9c,0x62,
+0xa2,0xd9,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x24,0xf0,0x6a,0x60,
+0x0e,0x65,0x03,0x60,0xe8,0x64,0x64,0x40,0x00,0x36,0x03,0x00,0xa5,0xdb,0x01,0x64,
+0x40,0x5a,0x18,0x60,0x0a,0x64,0xa0,0xd9,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,
+0x15,0xf5,0x24,0xf2,0x99,0xff,0x40,0x5b,0x98,0xff,0x00,0x67,0x00,0x61,0x23,0x58,
+0xff,0xff,0x15,0xf5,0x24,0xf2,0x99,0xff,0x40,0x5a,0x98,0xff,0x00,0x67,0x00,0x61,
+0x23,0x58,0xff,0xff,0x01,0x65,0x00,0x7c,0x6a,0x60,0xe6,0x61,0x0e,0x00,0x02,0x65,
+0x02,0x7c,0x6a,0x60,0xf6,0x61,0x09,0x00,0x04,0x65,0x04,0x7c,0x6b,0x60,0x06,0x61,
+0x04,0x00,0x08,0x65,0x06,0x7c,0x6b,0x60,0x16,0x61,0x32,0xf3,0x15,0xf5,0xb4,0x85,
+0x22,0xf2,0x07,0x63,0x60,0x40,0x04,0x36,0x06,0x00,0x0f,0x63,0x60,0x40,0x08,0x36,
+0x02,0x00,0x09,0x3a,0x23,0x00,0x36,0xfd,0x37,0xfd,0x38,0xfd,0x63,0x40,0x07,0x3a,
+0x03,0x00,0x00,0x63,0xd5,0xfd,0xd7,0xfd,0x65,0x43,0x32,0xfd,0x60,0x43,0x79,0x60,
+0x90,0x62,0x7a,0x60,0xd8,0x64,0x64,0x45,0x00,0x7c,0x46,0xd9,0x44,0xd9,0x63,0x45,
+0xfe,0xa3,0xe3,0x83,0x46,0x64,0x58,0xd0,0x59,0xd9,0xfd,0x1f,0x65,0x40,0x08,0x3a,
+0x05,0x00,0x64,0x44,0x00,0x7f,0xa1,0xdb,0x00,0x64,0x59,0xdb,0x67,0x44,0xc8,0xfb,
+0xc9,0xfb,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x02,0x64,0x22,0xfa,
+0x25,0x44,0x23,0xfa,0x34,0xf3,0x83,0xb4,0x24,0xfa,0x00,0x67,0x00,0x61,0x23,0x58,
+0xff,0xff,0xaf,0xf3,0xff,0xff,0x00,0xa4,0xff,0xff,0x16,0x03,0x15,0xf5,0x34,0xf3,
+0x24,0xf2,0x60,0x41,0x83,0xb5,0xff,0x60,0x7c,0x7c,0xa1,0x81,0xb5,0x84,0x34,0xfb,
+0xff,0xff,0x01,0x2a,0x09,0x00,0x21,0x60,0x88,0x63,0x09,0x60,0x2b,0x64,0xbd,0xdb,
+0xbd,0xdb,0xbd,0xdb,0xff,0xff,0xbd,0xdb,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,
+0x15,0xf5,0x22,0xf2,0x24,0xf0,0x02,0xa8,0xff,0xff,0x05,0x02,0x00,0x64,0x64,0x40,
+0x00,0x3a,0x03,0x64,0xc4,0xfb,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x6a,0x60,
+0x36,0x62,0x01,0x64,0xa2,0xdb,0x17,0x60,0x9c,0x62,0x05,0x64,0xa2,0xdb,0x01,0x60,
+0x60,0x63,0x6a,0x60,0x38,0x65,0x03,0x61,0xbd,0xd1,0x00,0x7f,0x64,0x5e,0xa5,0xdb,
+0xda,0x85,0x64,0x47,0x00,0x7f,0xa5,0xdb,0xcd,0x81,0xda,0x85,0xf5,0x02,0x00,0x67,
+0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x22,0xf2,0x24,0xf0,0x02,0xa8,0x1e,0xf3,
+0x14,0x02,0x60,0x40,0x10,0x2a,0x11,0x00,0x18,0x60,0x14,0x62,0xa2,0xd9,0x00,0x64,
+0x64,0x40,0x01,0x26,0x20,0x64,0xb8,0xfb,0x16,0x60,0xd8,0x62,0xa2,0xd3,0xff,0xff,
+0x03,0xa8,0xff,0xff,0x02,0x02,0xb8,0xf3,0x3a,0xfb,0x00,0x67,0x00,0x61,0x23,0x58,
+0xff,0xff,0x15,0xf5,0x78,0x60,0x50,0x63,0x79,0x60,0x98,0x61,0x2f,0xf2,0x00,0x7c,
+0x00,0x7f,0xe0,0x85,0x47,0xd9,0x45,0xd9,0x81,0xa0,0x00,0x61,0x31,0x07,0x1a,0x60,
+0x12,0x65,0x26,0xf2,0x25,0xf0,0x60,0x41,0x64,0x43,0xeb,0x83,0x00,0x7f,0xe0,0x84,
+0x44,0xd1,0x61,0x47,0x93,0x83,0x00,0x7f,0xe0,0x84,0x44,0xd1,0xeb,0x83,0x93,0x83,
+0x0f,0x60,0xf0,0x65,0xa7,0x85,0x02,0x61,0x4c,0x60,0xc2,0x63,0xc7,0x83,0xa3,0xd3,
+0xff,0xff,0x60,0x40,0x80,0x2b,0x13,0x00,0x65,0x44,0xff,0xa1,0x08,0xa5,0xf4,0x02,
+0x00,0x65,0x9e,0x61,0x5c,0x60,0xc2,0x63,0xc7,0x83,0xa3,0xd3,0xff,0xff,0x60,0x40,
+0x80,0x2b,0x05,0x00,0x65,0x44,0xff,0xa1,0x08,0xa5,0xf4,0x02,0x25,0x00,0x01,0x61,
+0x2f,0xf2,0xff,0xff,0x00,0x7f,0x60,0x5c,0xe0,0x84,0x60,0x45,0xe0,0x84,0xe0,0x84,
+0xc4,0x85,0xc4,0x85,0x61,0x40,0x01,0x2a,0x0b,0x00,0x80,0x67,0xb0,0x84,0xbd,0xdb,
+0x24,0xf2,0xbd,0xdb,0xff,0xff,0x25,0xf2,0xbd,0xdb,0x26,0xf0,0xff,0xff,0xa3,0xd9,
+0x41,0x60,0x80,0x61,0xc5,0x81,0x4c,0x64,0x10,0x63,0x58,0xd0,0x59,0xd9,0xfd,0x1f,
+0x32,0xf3,0x0f,0x7c,0xb0,0x84,0x32,0xfb,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,
+0x15,0xf5,0x1a,0x60,0x12,0x65,0x26,0xf2,0x25,0xf0,0x60,0x41,0x64,0x43,0xeb,0x83,
+0x00,0x7f,0xe0,0x84,0x44,0xd1,0x61,0x47,0x93,0x83,0x00,0x7f,0xe0,0x84,0x44,0xd1,
+0xeb,0x83,0x93,0x83,0x0f,0x60,0xf0,0x65,0xa7,0x85,0x02,0x61,0x4c,0x60,0xc2,0x63,
+0xc7,0x83,0xa3,0xd3,0x02,0xa3,0x60,0x40,0x80,0x2b,0x0d,0x00,0x24,0xf0,0xbd,0xd3,
+0x50,0xfe,0x25,0xf0,0xd0,0x80,0xbd,0xd3,0x26,0xf0,0xd0,0x80,0xa3,0xd3,0xff,0xff,
+0xd0,0x80,0xff,0xff,0x20,0x01,0x65,0x44,0xff,0xa1,0x08,0xa5,0xe7,0x02,0x00,0x65,
+0x9e,0x61,0x5c,0x60,0xc2,0x63,0xc7,0x83,0xa3,0xd3,0x02,0xa3,0x60,0x40,0x80,0x2b,
+0x0d,0x00,0x24,0xf0,0xbd,0xd3,0x50,0xfe,0x25,0xf0,0xd0,0x80,0xbd,0xd3,0x26,0xf0,
+0xd0,0x80,0xa3,0xd3,0xff,0xff,0xd0,0x80,0xff,0xff,0x05,0x01,0x65,0x44,0xff,0xa1,
+0x08,0xa5,0xe7,0x02,0x0e,0x00,0xfa,0xa3,0xa3,0xd3,0xff,0xff,0xe0,0x84,0xe8,0x84,
+0xa3,0xdb,0xe0,0x85,0x78,0x60,0x50,0x63,0x79,0x60,0x98,0x61,0x00,0x7c,0x47,0xd9,
+0x45,0xd9,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x66,0x44,0x87,0xfb,0x00,0x60,
+0x92,0x64,0x22,0xfa,0xf1,0x60,0x03,0x64,0x23,0xfa,0x48,0x65,0x38,0x64,0x40,0x4c,
+0x20,0x60,0x78,0x63,0xbd,0xd3,0xff,0xff,0x00,0xa0,0xbd,0xd1,0x12,0x03,0x43,0x48,
+0x60,0x43,0x64,0x41,0xbd,0xd3,0xa5,0xda,0x2c,0x44,0xc8,0x84,0x40,0x4c,0x04,0x02,
+0x00,0xf4,0x78,0x64,0x40,0x4c,0x02,0x62,0xcd,0x81,0xda,0x85,0xf3,0x02,0x28,0x43,
+0xe9,0x00,0x87,0xf1,0x3f,0x60,0x70,0x62,0x3f,0x60,0x58,0x64,0xa2,0xdb,0x5a,0xd9,
+0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x08,0x65,0x45,0x55,0x3b,0xff,0x00,0x67,
+0x00,0x61,0x23,0x58,0xff,0xff,0x1e,0xf3,0x15,0xf5,0x24,0xf0,0x60,0x40,0x20,0x2a,
+0x13,0x00,0x64,0x47,0x00,0x7f,0xfe,0xa4,0x82,0xa0,0x60,0x45,0x0d,0x05,0x14,0x60,
+0xd4,0x62,0x46,0xd9,0x6a,0x60,0xc8,0x62,0xa2,0xd3,0x64,0x40,0x12,0x37,0x01,0xbc,
+0x64,0x40,0x14,0x37,0x02,0xbc,0xa2,0xdb,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,
+0x2b,0x60,0xc2,0x63,0x00,0x64,0xbd,0xdb,0xbd,0xdb,0xff,0xff,0xbd,0xdb,0xbd,0xdb,
+0x01,0x64,0x22,0xfb,0xff,0xff,0x1a,0xff,0x22,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0xfb,0x02,0x15,0xf5,0x05,0x64,0x22,0xfa,0x25,0x44,0x23,0xfa,0xc3,0xf3,0x24,0xfa,
+0xff,0xff,0x97,0xf3,0x25,0xfa,0x98,0xf3,0xff,0xff,0x26,0xfa,0x99,0xf3,0x27,0xfa,
+0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x22,0xf2,0xff,0xff,0xfb,0xa0,
+0x2b,0x60,0xc2,0x63,0x0b,0x02,0x24,0xf2,0xbd,0xdb,0x25,0xf2,0xff,0xff,0xbd,0xdb,
+0xbd,0xdb,0xbd,0xdb,0x01,0x64,0x22,0xfb,0xff,0xff,0x1a,0xff,0x00,0x67,0x00,0x61,
+0x23,0x58,0xff,0xff,0x6b,0x60,0x30,0x65,0x15,0xf5,0x22,0xf2,0x24,0xf2,0x60,0x40,
+0x02,0x3a,0x06,0x00,0xa5,0xdb,0x60,0x40,0x00,0x36,0x02,0x00,0x10,0x60,0xdc,0xe0,
+0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,0x15,0xf5,0x22,0xf2,0x24,0xf2,0x60,0x40,
+0x02,0x3a,0x02,0x00,0xd0,0xfb,0xd2,0xfb,0x00,0x67,0x00,0x61,0x23,0x58,0xff,0xff,
+0x38,0xf2,0xff,0xff,0xff,0xa0,0x02,0x64,0x03,0x02,0x38,0xfa,0x60,0x47,0x3f,0xfa,
+0x28,0xf2,0xff,0xff,0x08,0xb0,0x60,0x47,0x07,0xb5,0x20,0x02,0x9c,0xf3,0x79,0x02,
+0x02,0xa8,0x01,0xa8,0x1c,0x02,0x39,0xf0,0x2b,0xf8,0x3a,0xf0,0xff,0xff,0x2c,0xf8,
+0x3b,0xf0,0x2d,0xf8,0xff,0xff,0x75,0xf1,0x2e,0xf8,0x76,0xf1,0xff,0xff,0x2f,0xf8,
+0x77,0xf1,0x30,0xf8,0xff,0xff,0x3c,0xf0,0x31,0xf8,0x3d,0xf0,0xff,0xff,0x32,0xf8,
+0x3e,0xf0,0x79,0xf3,0xff,0xff,0x33,0xf8,0x08,0xbc,0x29,0xfa,0x5a,0x00,0x50,0xfe,
+0x3c,0xf0,0xb0,0xf3,0x2e,0xf8,0xd0,0x80,0x3d,0xf0,0xb1,0xf3,0x2f,0xf8,0xd0,0x80,
+0x3e,0xf0,0xb2,0xf3,0x30,0xf8,0xd0,0x80,0x79,0xf3,0x07,0x01,0x84,0xf3,0x60,0x41,
+0x04,0xb0,0x61,0x44,0x02,0x02,0x42,0xfe,0x45,0x00,0x3d,0xf1,0x34,0xf1,0x64,0x40,
+0x01,0x2a,0x17,0x00,0x28,0xf0,0x64,0x40,0x01,0x2a,0x13,0x00,0x64,0x40,0x81,0x26,
+0x10,0x00,0x38,0xf2,0x60,0x5c,0x00,0xa8,0x64,0x44,0x0b,0x03,0x39,0xf0,0xe7,0xf1,
+0x64,0x40,0x01,0x2a,0x03,0x00,0x64,0x40,0x01,0x26,0x03,0x00,0x60,0x47,0x40,0xbc,
+0x60,0x47,0x08,0xbc,0x29,0xfa,0x84,0xf3,0xff,0xff,0x04,0xb0,0x39,0xf0,0x21,0x02,
+0x02,0xb0,0x39,0xf0,0x0f,0x03,0x2b,0xf8,0x3a,0xf0,0xff,0xff,0x2c,0xf8,0x3b,0xf0,
+0x2d,0xf8,0xff,0xff,0x75,0xf1,0x31,0xf8,0x76,0xf1,0xff,0xff,0x32,0xf8,0x77,0xf1,
+0x33,0xf8,0x0f,0x00,0x31,0xf8,0x3a,0xf0,0xff,0xff,0x32,0xf8,0x3b,0xf0,0x33,0xf8,
+0xff,0xff,0x75,0xf1,0x2b,0xf8,0x76,0xf1,0xff,0xff,0x2c,0xf8,0x77,0xf1,0x2d,0xf8,
+0x00,0x00,0x02,0xfe,0x2f,0x58,0xff,0xff,0x00,0x64,0x15,0xfa,0x16,0xfa,0x1c,0xfa,
+0xff,0xff,0x07,0xfa,0x19,0xfa,0x21,0x60,0x88,0x65,0x89,0xf1,0x44,0xf3,0x64,0x40,
+0x01,0x2a,0x02,0x00,0x13,0xf2,0xff,0xff,0xe0,0x84,0x44,0xd1,0xbc,0xf9,0x1e,0x63,
+0x29,0xf0,0x73,0x60,0xff,0x64,0xa0,0x84,0x03,0x2b,0x18,0x63,0x29,0xfa,0x04,0xa3,
+0x64,0x40,0x40,0x27,0x08,0xa3,0x43,0x4b,0x21,0xfc,0x56,0x61,0x64,0x40,0x01,0x27,
+0x62,0x61,0x38,0xf0,0xa1,0xd2,0x44,0x4d,0x60,0x40,0x01,0x26,0x22,0x00,0xbc,0xf1,
+0xc3,0x81,0xd1,0x80,0x63,0x45,0x20,0x06,0x64,0x43,0xd7,0x85,0x45,0x4c,0xba,0xf1,
+0x0f,0xf2,0xd3,0x80,0x01,0x65,0x01,0x05,0x00,0x65,0xb4,0x84,0x0f,0xfa,0x00,0x63,
+0x2d,0x44,0x2c,0x45,0x60,0x41,0xd4,0x84,0xdf,0x83,0xfc,0x07,0x14,0xfc,0x61,0x44,
+0x17,0xfa,0x29,0xf0,0x04,0x64,0x60,0x47,0xb0,0x84,0x29,0xfa,0x2c,0x43,0x16,0xfc,
+0x2c,0x00,0x2d,0x44,0x17,0xfa,0x0a,0x00,0x2d,0x44,0x17,0xfa,0x2b,0x45,0xba,0xf1,
+0xc4,0x81,0xd1,0x80,0x0f,0xf2,0x01,0x04,0x01,0xbc,0x0f,0xfa,0x01,0x64,0x14,0xfa,
+0x66,0x41,0x00,0xf4,0x6a,0x60,0xd0,0x64,0xa0,0xd1,0x05,0xf2,0x64,0x40,0x00,0x36,
+0x13,0x00,0x10,0xf2,0xf8,0xa0,0x90,0x84,0x0f,0x02,0x60,0x40,0x00,0x3a,0x0c,0x00,
+0x0a,0xf2,0xff,0xff,0x60,0x40,0x11,0x3b,0x07,0x00,0x61,0x46,0x0f,0xf2,0xff,0xff,
+0x02,0xbc,0x0f,0xfa,0x0a,0x64,0x15,0xfa,0x61,0x46,0x2e,0x58,0xff,0xff,0xbd,0xf3,
+0x2b,0xf2,0xfd,0xa0,0xff,0xff,0x4c,0x02,0x60,0x40,0x01,0x26,0x39,0x00,0x2b,0xf2,
+0xff,0xff,0x60,0x41,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0x5a,0xd2,
+0xf0,0x85,0x94,0x84,0x60,0x41,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,
+0x5a,0xd2,0xf0,0x85,0x94,0x84,0x60,0x41,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,
+0xe1,0x81,0xf0,0x84,0x0e,0x4c,0x3a,0x60,0x58,0x4e,0xcc,0x78,0xff,0xff,0x0c,0x4e,
+0x14,0x03,0x19,0xfc,0x0a,0xa3,0x3c,0x64,0xa3,0xdb,0xfe,0xa3,0xa3,0xd3,0xff,0xff,
+0xff,0xff,0x01,0x26,0x00,0x7f,0x02,0x26,0x01,0x7f,0x04,0x26,0x02,0x7f,0x08,0x26,
+0x03,0x7f,0x1d,0xfa,0x00,0x64,0x0d,0xfa,0x13,0x00,0x19,0xfc,0x43,0xf3,0xf1,0x00,
+0x18,0x60,0x72,0x64,0xa0,0xd1,0x3c,0x60,0xca,0x64,0x19,0xfa,0x64,0x44,0x08,0x26,
+0x03,0x7f,0x04,0x26,0x02,0x7f,0x02,0x26,0x01,0x7f,0x01,0x26,0x00,0x7f,0xe9,0x00,
+0x2e,0x58,0xff,0xff,0x2b,0x60,0xca,0x65,0x00,0x7f,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0x44,0xd3,0x62,0x43,0x60,0x40,0x01,0x2a,0x10,0x00,0x02,0xa3,0x2b,0xf2,
+0x50,0xfe,0xbd,0xd1,0x2c,0xf2,0xd0,0x80,0xbd,0xd1,0x2d,0xf2,0xd0,0x80,0xbd,0xd1,
+0xff,0xff,0xd0,0x80,0xff,0xff,0x02,0x02,0xf8,0xa3,0x1e,0x00,0x66,0xf1,0x3b,0x60,
+0xca,0x63,0x64,0x41,0xff,0x22,0x17,0x00,0xbd,0xd1,0x2b,0xf2,0x50,0xfe,0x64,0x40,
+0x01,0x26,0x04,0x00,0xcd,0x81,0x0e,0xa3,0xf7,0x02,0x0d,0x00,0xbd,0xd1,0x2c,0xf2,
+0xd0,0x80,0xbd,0xd1,0x2d,0xf2,0xd0,0x80,0xbd,0xd1,0xff,0xff,0xd0,0x80,0xcd,0x81,
+0xe3,0x01,0x06,0x76,0x7e,0x00,0x00,0x10,0x08,0xa3,0xe9,0x02,0x00,0x63,0x00,0xbb,
+0x2e,0x58,0xff,0xff,0x0f,0xf3,0x2c,0x65,0x60,0x47,0xff,0xb4,0xd4,0x80,0xff,0xff,
+0x04,0x28,0x06,0x00,0xe0,0x85,0x16,0x60,0x36,0x64,0x44,0xd7,0xff,0xff,0xff,0xff,
+0xff,0x67,0x23,0x58,0xff,0xff,0x3b,0x60,0x34,0x64,0x8d,0xfb,0xff,0xff,0x2d,0xff,
+0x30,0x60,0x09,0x78,0xff,0xff,0x10,0xf3,0x73,0xfb,0x02,0x7f,0x8f,0xfb,0x02,0x60,
+0xee,0x64,0x8e,0xfb,0x07,0x64,0x90,0xfb,0x3b,0x60,0x34,0x64,0x8d,0xfb,0xdf,0xfe,
+0x00,0x64,0x19,0xff,0x30,0x60,0x09,0x78,0xff,0xff,0x00,0x67,0x23,0x58,0xff,0xff,
+0x6b,0x60,0x3e,0x61,0x11,0xf3,0xff,0xff,0xa1,0xdb,0x6b,0x60,0x34,0x61,0x10,0xf3,
+0xff,0xff,0xa1,0xdb,0x6b,0x60,0x36,0x61,0xff,0xff,0x02,0x36,0x06,0x00,0x03,0x36,
+0x06,0x00,0x04,0x36,0x13,0x00,0x00,0x64,0x16,0x00,0x00,0x64,0x14,0x00,0x17,0x60,
+0x4c,0x63,0xbd,0xd3,0x75,0xfb,0xbd,0xd3,0xff,0xff,0x76,0xfb,0xa3,0xd3,0x77,0xfb,
+0x6b,0x60,0x3c,0x62,0xff,0x64,0xa2,0xdb,0x01,0x64,0x05,0x00,0x6b,0x60,0x3c,0x62,
+0xff,0x64,0xa2,0xdb,0x01,0x64,0xa1,0xdb,0x00,0x60,0x01,0x64,0x32,0x45,0x34,0x92,
+0x00,0x67,0x23,0x58,0xff,0xff,0x00,0x60,0x02,0xe8,0x3c,0x60,0x72,0x63,0x0e,0x60,
+0xac,0x64,0xa0,0xdd,0xff,0xff,0x62,0xff,0xff,0xff,0x1a,0xff,0x00,0x67,0x23,0x58,
+0xff,0xff,0x99,0xff,0x3e,0x44,0xfc,0xb4,0x00,0x7f,0x40,0x5e,0x98,0xff,0xbc,0xff,
+0x0d,0x63,0x58,0x4f,0x46,0x00,0x99,0xff,0x3d,0x44,0xf7,0xb4,0x40,0x5d,0x98,0xff,
+0x0d,0x63,0x58,0x4f,0x3e,0x00,0x99,0xff,0x3e,0x44,0x77,0xb4,0x08,0xbc,0x00,0x7f,
+0x40,0x5e,0x98,0xff,0x0d,0x63,0x58,0x4f,0x34,0x00,0x99,0xff,0x3c,0x44,0x10,0xbc,
+0x00,0x7f,0x40,0x5c,0x98,0xff,0x99,0xff,0x3d,0x44,0xef,0xb4,0x40,0x5d,0x98,0xff,
+0xb5,0xff,0xff,0xff,0x6c,0x40,0x11,0x60,0x03,0xe8,0x01,0x60,0x03,0xe8,0xff,0xff,
+0xff,0xff,0xff,0xff,0x0e,0x60,0x00,0x6b,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0x46,0xff,0x47,0xff,0xf9,0x60,0xfe,0x64,0x32,0x45,0x24,0x92,0x99,0xff,0x35,0x47,
+0xff,0xb4,0x60,0x5c,0x08,0x60,0x0e,0x64,0xa0,0xd9,0x64,0x44,0x98,0xff,0x11,0x60,
+0x50,0x63,0x0e,0x60,0xac,0x64,0xa0,0xdd,0xff,0xff,0x62,0xff,0x00,0x67,0x23,0x58,
+0xff,0xff,0xff,0xff,0xfe,0x1f,0x2f,0x58,0xff,0xff,0x99,0xff,0x1e,0x65,0x3d,0x44,
+0xe1,0x81,0xf9,0xb4,0x02,0x24,0x04,0xbc,0x00,0x7f,0x40,0x5d,0x02,0x63,0xff,0xff,
+0xfe,0x1f,0x02,0xbc,0x40,0x5d,0xf4,0x1f,0x98,0xff,0x99,0xff,0x10,0xf3,0xff,0xff,
+0x60,0x47,0x60,0x45,0x60,0x47,0xa4,0x81,0x65,0x44,0xff,0xad,0x04,0x60,0xff,0xe5,
+0x3c,0x44,0x04,0x60,0xff,0xe5,0xa4,0x85,0xb5,0x84,0x00,0x7f,0x40,0x5c,0x04,0x60,
+0xff,0xe5,0x3c,0x44,0x04,0x60,0xff,0xe5,0x00,0x7f,0x60,0x5c,0x08,0x60,0x0a,0x64,
+0xa0,0xd9,0x11,0xf3,0xff,0xff,0x60,0x47,0x60,0x45,0x60,0x47,0xa4,0x81,0x65,0x44,
+0xff,0xad,0x3d,0x44,0xa4,0x85,0xb5,0x84,0x00,0x7f,0x40,0x5d,0x3d,0x44,0x00,0x7f,
+0x60,0x5c,0x08,0x60,0x0c,0x64,0xa0,0xd9,0x12,0xf3,0xff,0xff,0x60,0x47,0x60,0x45,
+0x60,0x47,0xa4,0x81,0x65,0x44,0xff,0xad,0x04,0x60,0xff,0xe5,0x3e,0x44,0x04,0x60,
+0xff,0xe5,0xa4,0x85,0xb5,0x84,0x00,0x7f,0x40,0x5e,0x00,0x6b,0x04,0x60,0xff,0xe5,
+0x3e,0x44,0x04,0x60,0xff,0xe5,0x00,0x7f,0x60,0x5c,0x08,0x60,0x0e,0x64,0xa0,0xd9,
+0x98,0xff,0x00,0x67,0x23,0x58,0xff,0xff,0x10,0xf1,0x3f,0x60,0x90,0x62,0xa2,0xd9,
+0xca,0x82,0x22,0x64,0xa2,0xdb,0x3b,0x60,0x1a,0x78,0xff,0xff,0x10,0xf1,0xff,0xff,
+0x73,0xf9,0x3f,0x60,0x8e,0x62,0x08,0x64,0xa2,0xdb,0x3b,0x60,0x1a,0x78,0xff,0xff,
+0x10,0xf1,0x3f,0x60,0x90,0x62,0xa2,0xd9,0xca,0x82,0x1e,0x64,0xa2,0xdb,0x3b,0x60,
+0x1a,0x78,0xff,0xff,0x3f,0x60,0x8e,0x62,0x02,0x64,0xa2,0xdb,0x3b,0x60,0x1a,0x78,
+0xff,0xff,0x01,0x65,0x01,0x00,0x00,0x65,0x10,0xf1,0x15,0x60,0xdc,0x63,0xbd,0xd9,
+0x11,0xf1,0xbd,0xd9,0xff,0xff,0x12,0xf1,0xa3,0xd9,0x65,0x40,0x01,0x2a,0x06,0x00,
+0x00,0x64,0x10,0xfb,0xff,0xff,0x3b,0x60,0x22,0x78,0xff,0xff,0x00,0x67,0x23,0x58,
+0xff,0xff,0x10,0xf1,0x6a,0x60,0xa2,0x62,0xa2,0xd9,0x00,0x67,0x23,0x58,0xff,0xff,
+0x00,0x67,0x23,0x58,0xff,0xff,0x08,0xe1,0xa1,0xff,0xff,0xff,0x43,0xff,0x01,0xe1,
+0x99,0xff,0x3c,0x44,0x7f,0xb4,0x10,0xbc,0x40,0x5c,0x98,0xff,0x99,0xff,0x3d,0x44,
+0xef,0xb4,0x40,0x5d,0x98,0xff,0x0d,0x63,0x58,0x4f,0x76,0x00,0x99,0xff,0x3e,0x44,
+0x77,0xb4,0x80,0xbc,0x00,0x7f,0x40,0x5e,0x98,0xff,0x0d,0x63,0x58,0x4f,0x6c,0x00,
+0xff,0x6d,0x99,0xff,0x3e,0x44,0xfc,0xb4,0x01,0xbc,0x00,0x7f,0x40,0x5e,0x01,0x60,
+0x00,0x6b,0x98,0xff,0x0d,0x63,0x58,0x4f,0x5f,0x00,0x99,0xff,0x3d,0x44,0xf7,0xb4,
+0x40,0x5d,0x98,0xff,0x99,0xff,0x3d,0x44,0x08,0xbc,0x00,0x7f,0x40,0x5d,0x98,0xff,
+0x10,0xf3,0xff,0xff,0x60,0x5c,0x99,0xff,0x07,0x60,0x00,0xe8,0x98,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0xe8,0xff,0xff,0xff,0xff,
+0xff,0xff,0x64,0x4d,0xa1,0xff,0x64,0x47,0x60,0x4d,0xff,0xff,0xff,0xff,0xa1,0xff,
+0xbb,0xff,0x64,0x44,0xa1,0xff,0x60,0x4d,0xa1,0xff,0x60,0x47,0x60,0x4d,0x64,0x44,
+0xa1,0xff,0x60,0x4d,0xa1,0xff,0x60,0x47,0x60,0x4d,0x64,0x44,0xa1,0xff,0x60,0x4d,
+0xa1,0xff,0x60,0x47,0x60,0x4d,0x11,0xf3,0xff,0xff,0x00,0xa8,0x60,0x43,0x05,0x02,
+0x64,0x44,0xa1,0xff,0xff,0xff,0x60,0x4c,0xfc,0x00,0x63,0x46,0x43,0x4f,0x3f,0xf2,
+0xff,0xff,0x60,0x47,0x60,0x5c,0xff,0x65,0x2f,0x46,0x64,0x43,0x00,0xf4,0x01,0xf2,
+0x04,0x62,0xa4,0x81,0xe2,0xd2,0xff,0xff,0xa1,0xff,0xda,0x82,0xc9,0x81,0x60,0x4c,
+0xf9,0x1c,0xf4,0x1d,0xf1,0x1e,0x02,0x02,0x00,0xf4,0x04,0x62,0xa2,0xd2,0xff,0xff,
+0xa1,0xff,0xff,0xff,0x60,0x4d,0xe8,0x00,0xff,0xff,0xfe,0x1f,0x2f,0x58,0xff,0xff,
+0x6e,0x60,0x9f,0x78,0xff,0xff,0x21,0x60,0x90,0x62,0xa2,0xd1,0x80,0x60,0x00,0x64,
+0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x2b,0x00,0x68,0xf3,0x54,0xf1,0x00,0xa0,0xb0,0x84,
+0x0c,0x03,0x54,0xfb,0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,0x20,0x64,0xb0,0x84,
+0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x00,0x64,0x68,0xfb,0x69,0xf3,0xff,0xff,0x00,0xa0,
+0x00,0x64,0x15,0x03,0x69,0xfb,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x00,0x60,0x02,0x64,
+0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x0a,0x00,0xab,0xfe,0xff,0xff,0xd0,0x05,
+0xaa,0xfe,0xff,0xff,0xd0,0x05,0xa9,0xfe,0xff,0xff,0xd6,0x05,0xff,0xff,0xa1,0xff,
+0xff,0xff,0xbd,0x3f,0x0e,0x57,0x6b,0x60,0x2a,0x62,0xa2,0xd3,0xff,0xff,0xff,0xff,
+0x01,0x26,0x0c,0x65,0x45,0x48,0x0f,0x4e,0x00,0x60,0x06,0x61,0x41,0x4d,0x40,0xa1,
+0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,
+0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,0x15,0x03,0x02,0x64,
+0x22,0xfa,0xf2,0x60,0x00,0x64,0x5a,0xda,0x28,0x44,0x5a,0xda,0x08,0x65,0x3f,0x60,
+0x6a,0x62,0x3f,0x60,0x58,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0x45,0x54,0x3b,0xff,0x37,0x58,0xff,0xff,0x86,0xf3,0x15,0x61,
+0x00,0xa8,0x60,0x46,0x15,0x02,0x0f,0x4e,0x00,0x60,0x2e,0x61,0x41,0x4d,0x40,0xa1,
+0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0xa3,0xff,0x06,0x03,0x2d,0x41,
+0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,0x0e,0x4f,0x21,0x03,0x15,0x61,
+0x00,0x64,0x86,0xfb,0x61,0x60,0xa2,0x63,0x16,0x64,0x22,0xfa,0xf1,0x60,0x00,0x64,
+0x23,0xfa,0x48,0x65,0x00,0x64,0xa3,0xd1,0xbd,0xdb,0xa5,0xd8,0xcd,0x81,0xda,0x85,
+0xfa,0x02,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x58,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,
+0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x08,0x65,0x45,0x54,0x3b,0xff,0xa6,0xfe,
+0x8e,0x00,0xa6,0xfe,0xff,0xff,0xc2,0x05,0xa7,0xfe,0xff,0xff,0x08,0x05,0xa5,0xfe,
+0xff,0xff,0x1f,0x05,0xa4,0xfe,0xff,0xff,0x01,0x05,0x81,0x00,0x80,0x00,0x36,0x45,
+0x0e,0x60,0xd0,0x64,0x44,0xd7,0xff,0xff,0xff,0xff,0x88,0xf3,0xff,0xff,0x01,0xb0,
+0x00,0x64,0x0f,0x03,0x88,0xfb,0x31,0x44,0xfe,0xb4,0x40,0x51,0x21,0x60,0xc8,0x62,
+0xa2,0xd1,0x00,0x60,0x20,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x3d,0x60,0x36,0x78,
+0xff,0xff,0x3e,0x60,0x9e,0x78,0xff,0xff,0x17,0x60,0x4c,0x63,0xbd,0xd3,0xbd,0xd1,
+0xbd,0xd1,0xb0,0x84,0xb0,0x84,0xff,0xff,0x0b,0x02,0x80,0xfb,0x31,0x44,0xfe,0xb4,
+0x40,0x51,0x0d,0x7c,0x08,0x60,0x0a,0x64,0xa0,0xd9,0x3e,0x60,0x9e,0x78,0xff,0xff,
+0x0f,0xf3,0x88,0xf1,0x60,0x47,0x07,0xb4,0x01,0x61,0x03,0x03,0xcc,0x84,0xe1,0x81,
+0xfd,0x02,0xa1,0x80,0xb1,0x83,0x03,0x03,0x3e,0x60,0x9e,0x78,0xff,0xff,0x88,0xfd,
+0x31,0x44,0x01,0xbc,0x40,0x51,0xd1,0xfe,0x1e,0xf3,0xff,0xff,0xff,0xff,0x20,0x26,
+0x18,0x00,0x18,0x60,0x12,0x62,0xa2,0xd3,0xff,0xff,0x60,0x40,0x01,0x3a,0x03,0x00,
+0xe4,0x65,0xbb,0x63,0x0b,0x00,0x60,0x40,0x02,0x3a,0x03,0x00,0xe0,0x65,0xb9,0x63,
+0x05,0x00,0xb8,0x63,0xe6,0x65,0x60,0x40,0x03,0x36,0xe4,0x65,0x14,0x60,0x02,0x62,
+0x15,0x00,0x18,0x60,0x12,0x62,0xa2,0xd3,0xff,0xff,0x60,0x40,0x01,0x3a,0x03,0x00,
+0xe4,0x65,0xcb,0x63,0x0b,0x00,0x60,0x40,0x02,0x3a,0x03,0x00,0xe0,0x65,0xc9,0x63,
+0x05,0x00,0xc8,0x63,0xe6,0x65,0x60,0x40,0x03,0x36,0xe4,0x65,0x6a,0x60,0xc8,0x62,
+0xa2,0xd3,0xff,0xff,0x14,0x60,0xe4,0x62,0x60,0x41,0x01,0x26,0x03,0x00,0x65,0x5e,
+0x12,0x7f,0xa2,0xdb,0x61,0x40,0x02,0x26,0x03,0x00,0x63,0x5e,0x14,0x7f,0x5a,0xdb,
+0x00,0x64,0x59,0xfb,0x17,0x60,0xda,0x62,0xa2,0xd3,0xff,0xff,0xfc,0xa0,0xff,0xff,
+0x01,0x06,0x04,0x64,0xa2,0xdb,0x3e,0x60,0x58,0x4e,0xbf,0x78,0xff,0xff,0x89,0xf3,
+0xff,0xff,0x00,0xa0,0xff,0xff,0x30,0x03,0x00,0x60,0x08,0x63,0x01,0x60,0x5e,0x61,
+0x17,0x60,0x4a,0x64,0x58,0xd1,0x59,0xd9,0xfd,0x1f,0x00,0x60,0x72,0x63,0x16,0x60,
+0xd6,0x61,0x17,0x60,0x54,0x64,0x58,0xd1,0x59,0xd9,0xfd,0x1f,0x00,0x60,0x1a,0x63,
+0x00,0x60,0xe8,0x61,0x00,0x64,0x59,0xdb,0xfe,0x1f,0x01,0x60,0xa0,0x62,0xa2,0xd3,
+0xff,0xff,0x00,0xa0,0x19,0x60,0x92,0x62,0x02,0x02,0x00,0x64,0xa2,0xdb,0x00,0x60,
+0xfa,0x64,0xd3,0xfb,0xb3,0xf1,0x3f,0x60,0x8a,0x62,0xa2,0xd9,0xca,0x82,0x1e,0x64,
+0xa2,0xdb,0xff,0xff,0x2d,0xff,0x1b,0x00,0x0d,0x60,0xac,0x64,0xd3,0xfb,0x32,0x40,
+0x01,0x26,0x0f,0x00,0x17,0x60,0x52,0x62,0xa2,0xd3,0x9b,0xf3,0x60,0x41,0x00,0x36,
+0x04,0x00,0xcd,0x81,0xe8,0x84,0xfd,0x02,0x04,0x05,0xb3,0xf1,0x17,0x60,0x52,0x62,
+0xa2,0xd9,0x0f,0x4e,0x42,0x60,0x58,0x4f,0x7b,0x78,0xff,0xff,0x0e,0x4f,0xda,0xfe,
+0x3d,0x60,0x36,0x78,0xff,0xff,0x66,0x44,0x00,0xa8,0x0e,0x57,0x17,0x03,0x00,0x64,
+0x40,0x46,0xcb,0xfe,0x0f,0x4e,0x46,0x45,0x3f,0x60,0x6a,0x62,0x00,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xa2,0xff,0x1a,0x60,
+0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,0xd1,0xfe,0x0e,0x4f,0x37,0x58,0xff,0xff,
+0x1e,0xf3,0xff,0xff,0xff,0xff,0x10,0x2a,0x34,0x00,0x17,0x60,0xda,0x62,0xa2,0xd3,
+0xff,0xff,0x60,0x45,0xc4,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x19,0x03,0x18,0x60,
+0x16,0x62,0xa2,0xd3,0xff,0xff,0x60,0x45,0x17,0x60,0xde,0x63,0xff,0x60,0xff,0x61,
+0xbd,0xd3,0xdd,0x81,0xd4,0x80,0x61,0x44,0x03,0x06,0xfc,0xa0,0xff,0xff,0xf8,0x02,
+0x17,0x60,0xda,0x62,0xa2,0xd3,0x61,0x45,0xd4,0x80,0xff,0xff,0x01,0x06,0x60,0x45,
+0x6a,0x60,0x32,0x62,0x65,0x44,0xa2,0xdb,0xe0,0x85,0x17,0x60,0xd0,0x64,0x44,0xd3,
+0xff,0xff,0x14,0x60,0x2e,0x62,0x3e,0x7f,0xa2,0xdb,0x15,0x60,0x10,0x62,0x3e,0x7f,
+0xa2,0xdb,0x2e,0x58,0xff,0xff,0x3f,0x60,0x34,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,
+0x60,0x46,0x0e,0xf2,0x69,0x03,0x60,0x47,0xfd,0x37,0x3a,0x00,0xff,0x36,0x17,0x00,
+0xf0,0x36,0x0a,0x00,0xff,0xb5,0x21,0x60,0x92,0x62,0x46,0xd1,0x00,0x60,0x01,0x64,
+0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x3f,0x60,0x6a,0x62,0x00,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xdc,0x00,0x0f,0x4e,
+0x46,0x45,0x3f,0x60,0x6a,0x62,0x00,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,
+0xa3,0xff,0xd1,0xfe,0x0e,0x4f,0x63,0x60,0x5a,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0xbb,0x00,
+0x0f,0xf0,0x15,0xf2,0x64,0x40,0x02,0x2a,0x02,0x00,0xf6,0xa4,0x15,0xfa,0x3f,0x60,
+0x6a,0x62,0x3f,0x60,0x2e,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0xd3,0xfe,0x63,0x60,0x5a,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x9b,0x00,
+0xac,0xfe,0xff,0xff,0x0c,0x05,0xad,0xfe,0xff,0xff,0x12,0x05,0xae,0xfe,0xff,0xff,
+0x92,0x05,0xaf,0xfe,0xff,0xff,0x3a,0x05,0x3d,0x60,0x36,0x78,0xff,0xff,0x21,0x60,
+0x90,0x62,0xa2,0xd1,0x20,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0xf4,0x00,
+0x21,0x60,0xdc,0x65,0x0a,0x61,0x07,0x00,0xa2,0xdd,0x58,0x4f,0x64,0x58,0xff,0xff,
+0x00,0xb9,0xff,0xff,0x08,0x03,0x00,0x63,0xa5,0xd1,0x5a,0xd3,0xda,0x85,0x00,0xa8,
+0xcd,0x81,0xf2,0x02,0xf8,0x02,0xe0,0x00,0x21,0x60,0x8e,0x62,0x21,0x60,0xc6,0x65,
+0x3f,0x60,0xa3,0x63,0x00,0x64,0x5a,0xdb,0xd6,0x80,0xff,0xff,0x04,0x03,0x5a,0xdb,
+0x5a,0xdb,0x5a,0xdd,0xf9,0x00,0x21,0x60,0xda,0x65,0x00,0x64,0x5a,0xdb,0xd6,0x80,
+0xff,0xff,0x02,0x03,0x5a,0xdd,0xfb,0x00,0x2f,0x58,0xff,0xff,0x21,0x60,0x92,0x64,
+0x40,0x41,0x21,0x60,0x90,0x63,0xa3,0xd1,0x00,0x64,0xd0,0x80,0x09,0x61,0x08,0x03,
+0xbd,0xdb,0xa3,0xd3,0xff,0xff,0xb0,0x84,0xcd,0x81,0xa3,0xdb,0x06,0xa3,0xf9,0x02,
+0x21,0x60,0xc8,0x63,0xa3,0xd1,0x00,0x64,0xd0,0x80,0x0a,0x61,0x16,0x03,0xbd,0xdb,
+0x64,0x44,0xfe,0xa3,0x02,0xa3,0xcd,0x81,0xe8,0x84,0xe3,0x03,0x02,0x05,0xe1,0x03,
+0xf9,0x00,0x40,0x42,0xa3,0xd3,0x43,0x44,0x00,0xa8,0x41,0x43,0x02,0x03,0x58,0x4f,
+0x60,0x58,0x22,0x44,0x23,0x41,0x24,0x43,0xed,0x00,0x21,0x43,0x21,0x60,0xc8,0x65,
+0xd7,0x80,0xbd,0xd1,0xbd,0xd3,0x01,0x02,0x8f,0x00,0xa0,0x84,0xbd,0xd1,0x43,0x41,
+0xf7,0x03,0x3f,0x60,0xa8,0x64,0x64,0x58,0x40,0x4f,0x29,0xf2,0xff,0xff,0x60,0x40,
+0x08,0x26,0x03,0x00,0x40,0x60,0x4d,0x78,0xff,0xff,0x60,0x40,0x18,0x36,0x17,0x00,
+0x0c,0x60,0x44,0x64,0xa0,0xd7,0x58,0x4f,0xff,0xff,0x0f,0xf0,0xb0,0xf1,0x64,0x44,
+0x60,0x22,0x17,0x00,0x31,0xf2,0x32,0xf2,0xd0,0x80,0xb1,0xf1,0x0b,0x02,0xd0,0x80,
+0x33,0xf2,0x08,0x02,0xb2,0xf1,0xff,0xff,0xd0,0x80,0x0f,0xf0,0x03,0x02,0x41,0x60,
+0x91,0x78,0xff,0xff,0x8c,0xf3,0x8b,0xf3,0x60,0x45,0xd4,0x80,0xdc,0x84,0xf7,0x07,
+0x8b,0xfb,0x00,0xf4,0xaa,0x60,0xaa,0x65,0x02,0xf2,0x03,0xf0,0xd4,0x80,0x03,0x64,
+0x16,0x02,0xd0,0x80,0x00,0x64,0x04,0xf0,0x12,0x02,0xd0,0x80,0xf8,0x7f,0x06,0x02,
+0x26,0x46,0x22,0xf0,0x20,0x67,0xb0,0x84,0xa2,0xda,0x09,0x00,0xd0,0x80,0xff,0xff,
+0x06,0x02,0x26,0x46,0x22,0xf0,0x40,0x67,0xb0,0x84,0xa2,0xda,0x00,0x00,0x26,0x46,
+0x0f,0xf2,0x75,0xf1,0x29,0xf2,0x60,0x40,0x20,0x2a,0x11,0x00,0x5c,0x63,0x60,0x40,
+0x02,0x2b,0x62,0x63,0xbd,0xd2,0xbd,0xd2,0xd0,0x80,0x76,0xf1,0x5c,0x02,0xd0,0x80,
+0xa3,0xd2,0x77,0xf1,0x58,0x02,0xd0,0x80,0xff,0xff,0x55,0x02,0x00,0x00,0x68,0x60,
+0x58,0x4f,0xf3,0x78,0xff,0xff,0x41,0x60,0x67,0x78,0xff,0xff,0x26,0x46,0x29,0xf2,
+0xff,0xff,0xff,0xff,0x0c,0x26,0x47,0x00,0x89,0xf1,0x00,0x63,0xd3,0x80,0xff,0xff,
+0xf2,0x02,0x60,0x40,0xb0,0x3a,0x07,0x00,0x64,0x60,0x1a,0x64,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x23,0x00,0x10,0x3a,0x07,0x00,0x64,0x60,0x1e,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x1a,0x00,0x30,0x3a,0x07,0x00,0x64,0x60,0x1e,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x11,0x00,0xc0,0x3a,0x07,0x00,0x64,0x60,
+0x20,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x08,0x00,0xa0,0x3a,0x1e,0x00,
+0x64,0x60,0x22,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x0c,0x60,0x48,0x64,
+0xa0,0xd7,0x58,0x4f,0xff,0xff,0x2d,0x00,0xbd,0xf3,0xff,0xff,0x60,0x40,0x03,0x3a,
+0x0a,0x00,0x6d,0x60,0x58,0x4e,0x1c,0x78,0xff,0xff,0x26,0x46,0x04,0x02,0x41,0x60,
+0x58,0x4e,0xa7,0x78,0xff,0xff,0x41,0x60,0x91,0x78,0xff,0xff,0x50,0x3a,0x0c,0x00,
+0x64,0x60,0x28,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x0c,0x60,0x50,0x64,
+0xa0,0xd7,0x58,0x4f,0xff,0xff,0x0d,0x00,0x40,0x3a,0x0e,0x00,0x64,0x60,0x24,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x0c,0x60,0x4a,0x64,0xa0,0xd7,0x58,0x4f,
+0xff,0xff,0x41,0x60,0x8d,0x78,0xff,0xff,0x90,0x3a,0x10,0x00,0x41,0x60,0x58,0x4e,
+0x98,0x78,0xff,0xff,0x0c,0x60,0x52,0x64,0xa0,0xd7,0x58,0x4f,0xff,0xff,0x64,0x60,
+0x16,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0xeb,0x00,0x80,0x3a,0x6f,0x00,
+0xe9,0xf3,0xbd,0xf3,0x60,0x40,0x40,0x26,0x32,0x00,0xfd,0xa0,0xfc,0xa0,0x01,0x03,
+0x29,0x02,0x75,0xf1,0x31,0xf2,0x32,0xf2,0xd0,0x80,0x76,0xf1,0xad,0x02,0xd0,0x80,
+0x33,0xf2,0x77,0xf1,0xa9,0x02,0xd0,0x80,0x64,0xf3,0xa6,0x02,0xdc,0x84,0xbd,0xf1,
+0x64,0xfb,0x00,0x64,0x65,0xfb,0x0a,0x60,0x02,0x64,0x62,0xfb,0x64,0x40,0x03,0x36,
+0x50,0x00,0x64,0x60,0x0e,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x0c,0x60,
+0x4c,0x64,0xa0,0xd7,0x58,0x4f,0xff,0xff,0x0c,0x60,0x4e,0x64,0xa0,0xd7,0x58,0x4f,
+0xff,0xff,0x3d,0x00,0xc4,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,0x08,0x04,0x0c,0x60,
+0x50,0x64,0xa0,0xd7,0x58,0x4f,0xff,0xff,0x41,0x60,0x8d,0x78,0xff,0xff,0x16,0x60,
+0xd8,0x62,0xa2,0xd3,0xff,0xff,0xfc,0xa0,0x75,0xf3,0x29,0x02,0x00,0xa0,0x31,0xf0,
+0x13,0x03,0xd0,0x80,0x76,0xf3,0x32,0xf0,0x0f,0x02,0xd0,0x80,0x77,0xf3,0x33,0xf0,
+0x0b,0x02,0xd0,0x80,0x64,0xf3,0x08,0x02,0xdc,0x84,0x64,0xfb,0x00,0x64,0x65,0xfb,
+0x0a,0x60,0x02,0x64,0x62,0xfb,0x13,0x00,0x62,0x60,0x92,0x64,0xa0,0xd3,0xff,0xff,
+0x60,0x40,0xff,0x22,0x0c,0x00,0x6d,0x60,0x58,0x4e,0x1c,0x78,0xff,0xff,0x07,0x02,
+0x0f,0x4e,0x26,0x46,0x6b,0x60,0x58,0x4f,0xac,0x78,0xff,0xff,0x0e,0x4f,0x26,0x46,
+0x51,0x00,0x29,0xf0,0x40,0x60,0x0e,0x65,0x0a,0x64,0x64,0x40,0x10,0x2b,0xa5,0xdb,
+0x41,0x60,0x58,0x4e,0x98,0x78,0xff,0xff,0x9a,0xf3,0x52,0xf1,0x60,0x45,0x73,0x44,
+0x64,0x40,0x04,0x2a,0x04,0x00,0xd4,0x84,0xe7,0xa0,0x9b,0x0e,0x9a,0x04,0x64,0x60,
+0x0e,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x0c,0x60,0x4c,0x64,0xa0,0xd7,
+0x58,0x4f,0xff,0xff,0x0c,0x60,0x4e,0x64,0xa0,0xd7,0x58,0x4f,0xff,0xff,0xd7,0x00,
+0x6a,0x60,0x36,0x62,0xa2,0xd3,0xff,0xff,0x81,0xa0,0xff,0xa0,0x23,0x03,0x0f,0x02,
+0x42,0x60,0x58,0x4e,0x09,0x78,0xff,0xff,0xff,0xa1,0x26,0x46,0x1b,0x02,0x6a,0x60,
+0x36,0x62,0x7f,0x64,0xa2,0xdb,0xba,0xff,0xff,0xff,0xaf,0xff,0x13,0x00,0x3f,0x60,
+0x6a,0x62,0x3f,0x60,0x52,0x64,0xa2,0xdb,0x26,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0x00,0x64,0x40,0x46,0xd2,0xfe,0x08,0x00,0x66,0x44,0x00,0xbc,
+0xff,0xff,0x04,0x03,0x3e,0x60,0x58,0x4e,0xa2,0x78,0xff,0xff,0x49,0xf7,0xff,0xff,
+0xff,0xff,0x6a,0xf3,0x3c,0x45,0xd4,0x80,0x2b,0x60,0x48,0x62,0x07,0x02,0x80,0x64,
+0xa2,0xdb,0xff,0xff,0xc0,0xfe,0x00,0x64,0xa2,0xdb,0x65,0xfb,0x2e,0x58,0xff,0xff,
+0x26,0x46,0x2b,0x60,0xc2,0x63,0x00,0xf4,0x02,0xf2,0xbd,0xdb,0xff,0xff,0x03,0xf2,
+0xbd,0xdb,0x04,0xf2,0xff,0xff,0xbd,0xdb,0x05,0xf2,0xa3,0xdb,0xfa,0xa3,0x26,0x46,
+0x00,0x60,0x00,0x65,0xa3,0xd3,0x23,0xf0,0x00,0x61,0xd0,0x84,0xf1,0x81,0xd4,0x84,
+0xf1,0x81,0xbd,0xdb,0xa3,0xd3,0x03,0xb1,0x03,0xa9,0x24,0xf0,0x42,0xfe,0x01,0x03,
+0xcc,0x84,0xf1,0x81,0xd0,0x84,0xf1,0x81,0xbd,0xdb,0xa3,0xd3,0x03,0xb1,0x03,0xa9,
+0x27,0xf0,0x42,0xfe,0x01,0x03,0xcc,0x84,0xf1,0x81,0xd0,0x84,0xf1,0x81,0xbd,0xdb,
+0xa3,0xd3,0x03,0xb1,0x03,0xa9,0x28,0xf0,0x01,0x03,0xcc,0x84,0xd0,0x84,0xa3,0xdb,
+0x26,0x0e,0x2b,0x60,0xc2,0x63,0xbd,0xd3,0x00,0x65,0x00,0x61,0xd4,0x84,0xbd,0xd3,
+0xf1,0x81,0x01,0xa9,0x42,0xfe,0x01,0x03,0xcc,0x84,0xf1,0x81,0x01,0x65,0xd4,0x84,
+0xf1,0x81,0xbd,0xd3,0x03,0xb1,0x03,0xa9,0x42,0xfe,0x01,0x03,0xcc,0x84,0xf1,0x81,
+0x00,0x65,0xd4,0x84,0xf1,0x81,0xa3,0xd3,0x03,0xb1,0x03,0xa9,0x42,0xfe,0x01,0x03,
+0xcc,0x84,0xd4,0x84,0x04,0x0e,0x69,0x60,0xf4,0x62,0x01,0x64,0xa2,0xdb,0x26,0x46,
+0x2e,0x58,0xff,0xff,0x6a,0x60,0x34,0x62,0x2e,0x44,0xa2,0xdb,0x00,0x64,0x38,0xf2,
+0x40,0x48,0x40,0x4c,0xa0,0xa0,0xff,0xff,0x43,0x04,0x00,0xf4,0x01,0xf2,0x04,0x63,
+0x60,0x41,0x6a,0x60,0x44,0x62,0x00,0x64,0xa2,0xdb,0x42,0x60,0x58,0x4e,0x5f,0x78,
+0xff,0xff,0x36,0x03,0xff,0x65,0xd4,0x80,0xff,0xff,0xf7,0x02,0x00,0x64,0xdc,0x84,
+0x40,0x4d,0x42,0x60,0x58,0x4e,0x5f,0x78,0xff,0xff,0x2a,0x03,0xff,0x65,0xd4,0x80,
+0x60,0x42,0x2d,0x44,0xf4,0x03,0xfa,0xa0,0xff,0xff,0xe3,0x04,0x06,0x64,0x40,0x4d,
+0x6a,0x60,0x38,0x65,0x62,0x44,0x05,0x00,0x42,0x60,0x58,0x4e,0x5f,0x78,0xff,0xff,
+0x17,0x03,0xa5,0xd1,0xda,0x85,0xd0,0x80,0xff,0xff,0xdc,0x02,0x2d,0x44,0xcc,0x84,
+0x40,0x4d,0xf2,0x02,0x06,0x64,0x40,0x4d,0x6a,0x60,0x38,0x65,0x6a,0x60,0x44,0x62,
+0xa2,0xd3,0xff,0xff,0xdc,0x84,0xf0,0xa0,0xa2,0xdb,0xe6,0x02,0x01,0x61,0x01,0x00,
+0x00,0x61,0x6a,0x60,0x34,0x62,0xa2,0xd3,0xff,0xff,0x40,0x4e,0x2e,0x58,0xff,0xff,
+0x2c,0x44,0xcc,0x84,0x40,0x4c,0x11,0x0e,0xcd,0x81,0xff,0xff,0x05,0x0d,0x00,0xf4,
+0x01,0xf2,0x04,0x63,0xcc,0x84,0x60,0x41,0x28,0x44,0x01,0xac,0x40,0x48,0x07,0x02,
+0xbd,0xd2,0x01,0xb8,0x60,0x47,0x00,0x7f,0x05,0x00,0xdc,0x84,0x03,0x00,0xa3,0xd2,
+0xff,0xff,0x00,0x7f,0x2e,0x58,0xff,0xff,0x01,0x64,0xbd,0xfb,0x21,0x60,0xb0,0x62,
+0x00,0x64,0xa2,0xdb,0x00,0x60,0x08,0x63,0x01,0x60,0x5e,0x61,0x17,0x60,0x4a,0x64,
+0x58,0xd1,0x59,0xd9,0xfd,0x1f,0x00,0x60,0x72,0x63,0x16,0x60,0xd6,0x61,0x17,0x60,
+0x54,0x64,0x58,0xd1,0x59,0xd9,0xfd,0x1f,0xc4,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0x15,0x03,0x19,0x60,0x66,0x63,0x18,0x60,0x18,0x61,0x13,0x64,0xbd,0xd1,0xa1,0xd9,
+0xff,0xa4,0x02,0xa1,0xfb,0x02,0x22,0x60,0x20,0x63,0x05,0x64,0xa3,0xdb,0x0a,0xa3,
+0xa3,0xdb,0x0a,0xa3,0xa3,0xdb,0x06,0xa3,0xa3,0xdb,0x29,0x00,0x22,0x60,0x3e,0x62,
+0x00,0x64,0xa2,0xdb,0x22,0x60,0x04,0x63,0x19,0x60,0x8e,0x64,0xa0,0xd3,0x9b,0xf3,
+0x60,0x45,0xa4,0x85,0x01,0x61,0x65,0x44,0xe8,0x85,0x05,0x64,0x02,0x28,0x00,0x64,
+0xbd,0xdb,0x00,0xa0,0xff,0xff,0x0d,0x03,0x22,0x60,0x3e,0x62,0xa2,0xd3,0xff,0xff,
+0x01,0xa4,0xa2,0xdb,0xff,0xa0,0xff,0xff,0x04,0x02,0x22,0x60,0x3c,0x62,0x61,0x44,
+0xa2,0xdb,0xdd,0x81,0xff,0xff,0x61,0x44,0xf2,0xa0,0xff,0xff,0xe4,0x06,0x62,0x60,
+0x90,0x61,0x16,0x60,0xd8,0x64,0x20,0x63,0x58,0xd1,0x59,0xd9,0xfd,0x1f,0x9e,0xf1,
+0x74,0xf9,0x1e,0xf1,0x6a,0x60,0x56,0x65,0x0a,0x64,0x64,0x40,0x10,0x2a,0x04,0x64,
+0xa5,0xdb,0x32,0x40,0x01,0x26,0x07,0x00,0x00,0x60,0x1a,0x63,0x00,0x60,0xe8,0x61,
+0x00,0x64,0x59,0xdb,0xfe,0x1f,0x00,0x64,0xe9,0xfb,0xb3,0xf3,0xff,0xff,0x40,0x4a,
+0x21,0x60,0xb0,0x62,0x00,0x64,0xa2,0xdb,0xde,0xfe,0xff,0xff,0x0b,0x04,0x21,0x60,
+0xb2,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,0x06,0x86,0x7e,0x00,0x00,0x10,0x42,0x60,
+0xf7,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x3f,0x60,0x8a,0x62,0x2a,0x44,
+0xa2,0xdb,0xca,0x82,0x08,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,0x21,0x60,0xb2,0x62,
+0x20,0x60,0x00,0x64,0xa2,0xdb,0x43,0x60,0x1d,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,
+0xff,0xff,0x21,0x60,0xb0,0x62,0x00,0x64,0xa2,0xdb,0xbe,0xfe,0x21,0x60,0x90,0x62,
+0xa2,0xd1,0x40,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x64,0x60,0xe4,0x62,
+0x0c,0x64,0xa2,0xdb,0x67,0x60,0x74,0x62,0x01,0x64,0xa2,0xdb,0xc4,0xf1,0x03,0x64,
+0x64,0x40,0x00,0x3a,0xc4,0xfb,0x89,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x02,0x02,
+0x00,0x64,0x56,0xfb,0x6a,0x60,0xca,0x62,0xa2,0xd3,0xff,0xff,0x60,0x40,0x00,0x3a,
+0x32,0x00,0x01,0x64,0xa2,0xdb,0x12,0x60,0x34,0x65,0x72,0x44,0xb4,0x83,0x00,0x7f,
+0x60,0x5c,0x10,0x61,0x40,0x60,0x0b,0x65,0x63,0x44,0x00,0x63,0xe8,0x80,0xf8,0x84,
+0x02,0x24,0x94,0x84,0xf3,0x83,0xcd,0x81,0xff,0xff,0xf8,0x02,0x60,0x47,0x60,0x45,
+0x00,0x7f,0x26,0xfb,0x29,0xfb,0x65,0x44,0x00,0x7e,0xb0,0x84,0x25,0xfb,0x2a,0xfb,
+0x60,0x45,0x34,0x60,0x56,0x64,0xb4,0x84,0x2c,0xfb,0x6a,0x60,0x04,0x63,0xb0,0xf3,
+0xff,0xff,0x02,0xbc,0xbd,0xdb,0x26,0xf3,0xb1,0xf1,0x60,0x47,0x00,0x7e,0xb0,0x84,
+0xbd,0xdb,0x25,0xf3,0xa3,0xdb,0x0f,0x4e,0x61,0x60,0x58,0x4f,0x02,0x78,0xff,0xff,
+0x0e,0x4f,0x0f,0x4e,0x5d,0x60,0x58,0x4f,0xb6,0x78,0xff,0xff,0x0e,0x4f,0x0f,0x4e,
+0x63,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,0x0e,0x4f,0x0f,0x4e,0x44,0x60,0x58,0x4f,
+0x50,0x78,0xff,0xff,0x0e,0x4f,0x21,0x60,0xb0,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xb0,0x62,0x00,0x64,0xa2,0xdb,0x02,0x64,0x7f,0xfb,
+0xff,0xff,0xc1,0xfe,0x7f,0xf3,0x00,0x65,0xd4,0x80,0xff,0xff,0x0b,0x03,0x21,0x60,
+0xb2,0x62,0x80,0x60,0x00,0x64,0xa2,0xdb,0x43,0x60,0x9e,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xc8,0x62,0xa2,0xd1,0x00,0x60,0x1f,0x64,0xb0,0x84,
+0xa2,0xdb,0xcf,0xfe,0x21,0x60,0xb0,0x62,0xa2,0xd1,0x00,0x60,0x08,0x64,0xb0,0x84,
+0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x21,0x60,0xb2,0x62,0x00,0x60,0x08,0x64,0xa2,0xdb,
+0x43,0x60,0xca,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xb0,0x62,
+0x00,0x64,0xa2,0xdb,0xde,0xfe,0xff,0xff,0x0b,0x04,0x21,0x60,0xb2,0x62,0x20,0x60,
+0x00,0x64,0xa2,0xdb,0x43,0x60,0xdc,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0x3f,0x60,0x8a,0x62,0xca,0x82,0x06,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,0x21,0x60,
+0xb0,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0xbe,0xfe,0x3f,0x60,0x10,0x61,0x44,0x60,
+0x58,0x4e,0x21,0x78,0xff,0xff,0x3f,0x60,0x16,0x61,0x44,0x60,0x58,0x4e,0x21,0x78,
+0xff,0xff,0x3f,0x60,0x2e,0x61,0x44,0x60,0x58,0x4e,0x21,0x78,0xff,0xff,0x3f,0x60,
+0x52,0x61,0x44,0x60,0x58,0x4e,0x21,0x78,0xff,0xff,0x3f,0x60,0x34,0x61,0x44,0x60,
+0x58,0x4e,0x21,0x78,0xff,0xff,0x3f,0x60,0x5e,0x61,0x44,0x60,0x58,0x4e,0x21,0x78,
+0xff,0xff,0x00,0x64,0x8b,0xfb,0xc5,0xfe,0x01,0x64,0xbd,0xfb,0x0e,0x7c,0x80,0x60,
+0xe6,0x62,0xa2,0xd9,0x00,0x64,0x06,0xa2,0xa2,0xdb,0x5a,0xdb,0x02,0x65,0x3d,0x60,
+0x58,0x4e,0x39,0x78,0xff,0xff,0x2f,0x58,0xff,0xff,0xa1,0xd3,0x0e,0x57,0x00,0xa8,
+0x60,0x46,0x28,0x03,0x09,0xf0,0x0e,0xf2,0x44,0x4c,0x20,0xb0,0x01,0xb0,0x0b,0x03,
+0x3f,0x60,0x6a,0x62,0x00,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0x15,0x00,0x14,0x02,0x0f,0x4e,0x46,0x45,0x3f,0x60,0x6a,0x62,
+0x00,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,
+0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,0xd1,0xfe,0x0e,0x4f,
+0x2c,0x44,0xd5,0x00,0x37,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,
+0x21,0x60,0xaa,0x62,0xa2,0xd1,0x00,0x60,0x02,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,
+0xcf,0xfe,0x21,0x60,0xac,0x62,0x00,0x60,0x02,0x64,0xa2,0xdb,0x44,0x60,0x68,0x64,
+0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,
+0x16,0x60,0xd8,0x62,0xa2,0xd3,0xff,0xff,0x03,0xa8,0x04,0xa8,0x02,0x03,0x04,0x03,
+0x06,0x00,0x45,0x60,0x5d,0x78,0xff,0xff,0x45,0x60,0xa3,0x78,0xff,0xff,0x02,0x64,
+0xbd,0xfb,0x00,0x64,0x75,0xfb,0x76,0xfb,0x77,0xfb,0x00,0x64,0x7e,0xfb,0x2a,0x60,
+0xc8,0x64,0x7d,0xfb,0x6a,0x60,0x1a,0x62,0x01,0x64,0xa2,0xdb,0x16,0x60,0xda,0x64,
+0x4f,0xfb,0x0f,0x4e,0x53,0x60,0x58,0x4f,0xfe,0x78,0xff,0xff,0x0e,0x4f,0x21,0x60,
+0xac,0x62,0x10,0x60,0x00,0x64,0xa2,0xdb,0x44,0x60,0x9e,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x63,0x60,0x26,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x7e,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0x03,0x03,0x4b,0x60,0xb4,0x78,0xff,0xff,0x3e,0x60,0x58,0x4e,0xbf,0x78,0xff,0xff,
+0x02,0x64,0xbd,0xfb,0x67,0x60,0x74,0x62,0xa2,0xd3,0xff,0xff,0x9d,0xa0,0x01,0xa4,
+0x03,0x05,0xfb,0xa0,0xa2,0xdb,0x18,0x06,0x9f,0xf1,0x2b,0x60,0x66,0x64,0xa0,0xd9,
+0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,
+0x1d,0xff,0x21,0x60,0xac,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x44,0x60,0xf4,0x64,
+0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0xd0,0xf3,0xff,0xff,0x00,0xa0,0x60,0x5c,
+0x17,0x03,0x2b,0x60,0x66,0x64,0xa0,0xd9,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,
+0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,0xac,0x62,0x00,0x60,
+0x04,0x64,0xa2,0xdb,0x44,0x60,0xf4,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0xc4,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0x18,0x03,0x6a,0x60,0x1e,0x62,0xa2,0xd3,0xff,0xff,0xdc,0x84,0x88,0xa0,0xa2,0xdb,
+0x10,0x04,0x00,0x64,0xa2,0xdb,0x03,0x64,0xc4,0xfb,0x0a,0x65,0x3d,0x60,0x58,0x4e,
+0x39,0x78,0xff,0xff,0x22,0x60,0x04,0x63,0x0e,0x64,0x00,0x7c,0xcc,0x84,0xbd,0xd9,
+0xfd,0x02,0x6a,0x60,0xcc,0x65,0xa5,0xd3,0xff,0xff,0x60,0x40,0x03,0x22,0x3e,0x00,
+0x01,0x2a,0x0c,0x00,0x21,0x60,0x7a,0x63,0xa3,0xd1,0x6a,0x60,0x50,0x65,0xa2,0xf3,
+0xa5,0xd3,0x60,0x45,0xc4,0x84,0xd0,0x80,0xff,0xff,0x30,0x0d,0x6a,0x60,0xcc,0x65,
+0xa5,0xd3,0xff,0xff,0x60,0x45,0xfd,0xb4,0xa2,0xdb,0xe9,0xf3,0xff,0xff,0xb4,0x84,
+0xe9,0xfb,0x63,0x60,0x2e,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x0f,0x4e,
+0x53,0x60,0x58,0x4f,0xfe,0x78,0xff,0xff,0x0e,0x4f,0x21,0x60,0xac,0x62,0x10,0x60,
+0x00,0x64,0xa2,0xdb,0x45,0x60,0x4c,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0xe9,0xf1,0xff,0x60,0xfc,0x64,0xa0,0x84,0xe9,0xfb,0x04,0x65,0x3d,0x60,0x58,0x4e,
+0x39,0x78,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x44,0x60,0x86,0x78,
+0xff,0xff,0x05,0x64,0xbd,0xfb,0xb8,0xf3,0x3a,0xfb,0x00,0x64,0xb3,0xf1,0x79,0xfb,
+0x44,0x4a,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0xde,0xfe,0xff,0xff,0x0b,0x04,
+0x21,0x60,0xac,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,0x45,0x60,0x65,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x3f,0x60,0x8a,0x62,0x2a,0x44,0xa2,0xdb,0xca,0x82,
+0x1e,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,0x21,0x60,0xac,0x62,0x20,0x60,0x00,0x64,
+0xa2,0xdb,0x45,0x60,0x8b,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,
+0xaa,0x62,0x00,0x64,0xa2,0xdb,0xbe,0xfe,0x21,0x60,0x90,0x62,0xa2,0xd1,0x40,0x60,
+0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x01,0x64,0x80,0xfb,0x02,0x64,0x84,0xfb,
+0x01,0x65,0x3d,0x60,0x58,0x4e,0x39,0x78,0xff,0xff,0x2f,0x58,0xff,0xff,0xc4,0xf3,
+0xff,0xff,0xfd,0xa0,0xff,0xff,0x05,0x05,0x0c,0x60,0x50,0x62,0x6b,0x60,0xac,0x64,
+0xa2,0xdb,0x0c,0x60,0x48,0x62,0x6c,0x60,0x73,0x64,0xa2,0xdb,0x62,0x60,0xe6,0x62,
+0x2b,0x60,0xca,0x64,0xa2,0xdb,0x6b,0xf5,0x00,0x64,0x22,0xfa,0x38,0xfa,0x08,0x64,
+0x28,0xfa,0x18,0x60,0x20,0x64,0x0e,0xfa,0x90,0x64,0x29,0xfa,0x69,0x60,0xfe,0x62,
+0x12,0x60,0x34,0x65,0x72,0x44,0xb4,0x84,0xa2,0xdb,0xb3,0xf3,0x73,0xfb,0x69,0x60,
+0xf0,0x63,0x00,0x64,0xbd,0xdb,0xbd,0xdb,0xa3,0xdb,0xff,0xff,0x65,0xfb,0x64,0xfb,
+0x75,0xfb,0xff,0xff,0x76,0xfb,0x77,0xfb,0xff,0xff,0xb8,0xf3,0x3a,0xfb,0x17,0x60,
+0x54,0x64,0xa0,0xd3,0x7a,0xfb,0x69,0x60,0xfc,0x63,0x06,0x64,0xa3,0xdb,0x01,0x64,
+0x67,0xfb,0x3c,0x60,0xda,0x62,0x00,0x64,0xa2,0xdb,0x52,0xfb,0x6a,0x60,0x00,0x63,
+0x02,0x64,0xbd,0xfb,0xa3,0xdb,0x2b,0x60,0xba,0x63,0x3c,0x60,0x9a,0x7c,0x10,0x65,
+0x00,0x64,0x47,0xdb,0xd3,0x80,0x47,0xdb,0xfc,0x04,0x16,0x60,0xda,0x64,0x4f,0xfb,
+0x0f,0x4e,0x53,0x60,0x58,0x4f,0xfe,0x78,0xff,0xff,0x0e,0x4f,0x21,0x60,0xac,0x62,
+0x10,0x60,0x00,0x64,0xa2,0xdb,0x46,0x60,0x0d,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,
+0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x63,0x60,0x26,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x3c,0x60,0xda,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,
+0xff,0xff,0x09,0x03,0x4b,0x60,0x58,0x4e,0x98,0x78,0xff,0xff,0x04,0x02,0x46,0x60,
+0xc5,0x78,0xff,0xff,0xd2,0x00,0x62,0x60,0x92,0x62,0xa2,0xd3,0x01,0x63,0x60,0x40,
+0x00,0x3a,0x62,0xfd,0x0a,0x61,0x69,0x60,0xfe,0x62,0x40,0x60,0x0b,0x65,0xa2,0xd3,
+0x00,0x63,0xe8,0x80,0xf8,0x84,0x02,0x24,0x94,0x84,0xf3,0x83,0xcd,0x81,0xff,0xff,
+0xf8,0x02,0xa2,0xdb,0x64,0xa3,0x2b,0x60,0x66,0x62,0xa2,0xdd,0x3f,0x60,0x9a,0x62,
+0x2b,0x60,0x62,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,
+0xac,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x46,0x60,0x56,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x00,0x64,0x62,0xfb,
+0x3c,0x60,0xda,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0x60,0x45,0x62,0x02,0x69,0x60,
+0xfc,0x62,0xa2,0xd3,0xff,0xff,0xcc,0x84,0xa2,0xdb,0xbc,0x02,0x62,0x60,0x92,0x62,
+0xa2,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,0x10,0x03,0x6a,0x60,0x02,0x62,0xa2,0xd1,
+0x67,0xf3,0xff,0xff,0xfd,0xa0,0xfe,0xa0,0x2e,0x03,0x07,0x03,0x64,0x44,0x00,0x3a,
+0x2a,0x00,0x65,0x44,0x00,0xa0,0xff,0xff,0x26,0x03,0x17,0x60,0x1e,0x62,0xa2,0xd1,
+0x04,0x7f,0x64,0x40,0xff,0x26,0x08,0x7f,0x60,0x43,0x2b,0x60,0x66,0x62,0xa2,0xdd,
+0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,
+0x1d,0xff,0x21,0x60,0xac,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x46,0x60,0xa0,0x64,
+0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,
+0x45,0x60,0xcb,0x78,0xff,0xff,0x6a,0x60,0x04,0x63,0xbd,0xd3,0x75,0xfb,0xbd,0xd3,
+0xff,0xff,0x76,0xfb,0xa3,0xd3,0xff,0xff,0xdc,0x84,0xa3,0xdb,0x77,0xfb,0xff,0xff,
+0xb4,0xf3,0x7a,0xfb,0x67,0xf3,0xff,0xff,0x04,0xbc,0x67,0xfb,0x04,0x64,0x52,0xfb,
+0x69,0x60,0xf8,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x47,0x60,0x48,0x78,
+0xff,0xff,0x3c,0x60,0xda,0x63,0xbd,0xd1,0x75,0xf9,0xbd,0xd1,0xff,0xff,0x76,0xf9,
+0xbd,0xd1,0x77,0xf9,0x08,0xa3,0xbd,0xd1,0x74,0xf9,0xff,0xff,0xbd,0xd1,0xbd,0xd1,
+0x62,0x60,0x92,0x65,0xa5,0xd9,0x02,0xa2,0x62,0x45,0x64,0x41,0xdd,0x81,0xe9,0x81,
+0xbd,0xd1,0xa5,0xd9,0xda,0x82,0xcd,0x81,0x62,0x45,0xfa,0x02,0x3d,0x60,0x0e,0x63,
+0xbd,0xd3,0x00,0x61,0x60,0x45,0xbd,0xd3,0xff,0xff,0x7f,0xb4,0x02,0x36,0x01,0xb9,
+0x04,0x36,0x02,0xb9,0x0b,0x36,0x04,0xb9,0x16,0x36,0x08,0xb9,0x65,0x44,0xcc,0x84,
+0x60,0x45,0xf1,0x02,0xbb,0xf1,0x61,0x44,0xa0,0x84,0xbb,0xfb,0x00,0x61,0x60,0x45,
+0x3d,0x60,0x10,0x63,0x65,0x40,0x01,0x2a,0x03,0x00,0x02,0x64,0xbd,0xdb,0xdd,0x81,
+0x65,0x40,0x02,0x2a,0x03,0x00,0x04,0x64,0xbd,0xdb,0xdd,0x81,0x65,0x40,0x04,0x2a,
+0x03,0x00,0x0b,0x64,0xbd,0xdb,0xdd,0x81,0x65,0x40,0x08,0x2a,0x03,0x00,0x16,0x64,
+0xbd,0xdb,0xdd,0x81,0x3d,0x60,0x0e,0x63,0x61,0x44,0xbd,0xdb,0x18,0x60,0x68,0x65,
+0x61,0x44,0xa5,0xdb,0xda,0x82,0x62,0x45,0xbd,0xd3,0xbd,0xd1,0x60,0x47,0xb0,0x87,
+0xa5,0xda,0xda,0x85,0xcd,0x81,0xcd,0x81,0x01,0x03,0xf6,0x02,0x3d,0x60,0x1a,0x63,
+0xbd,0xd1,0x18,0x60,0x72,0x62,0xa2,0xd3,0xff,0xff,0xa0,0x84,0xa2,0xdb,0x60,0x45,
+0xbd,0xd3,0x73,0xfb,0xff,0xff,0xbd,0xd3,0x7a,0xfb,0x65,0x44,0x00,0x65,0x60,0x40,
+0x02,0x26,0x01,0x65,0x60,0x40,0x04,0x26,0x02,0x65,0x60,0x40,0x08,0x26,0x03,0x65,
+0x62,0x60,0xda,0x62,0x65,0x44,0xa2,0xdb,0x17,0x60,0x1e,0x63,0xa3,0xd1,0x17,0x60,
+0x9c,0x63,0xa3,0xd9,0x7a,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x02,0x02,0xa3,0xdb,
+0x05,0x00,0xfd,0xa0,0xff,0xff,0x02,0x05,0x03,0x64,0x7a,0xfb,0xff,0x60,0xff,0x64,
+0x56,0xfb,0x6a,0xf5,0x6a,0x60,0x58,0x4e,0xd3,0x78,0xff,0xff,0x18,0x60,0x72,0x62,
+0xa2,0xd3,0xff,0xff,0xff,0xff,0x01,0x2a,0x02,0x00,0x00,0x64,0x09,0x00,0x02,0x2a,
+0x02,0x00,0x01,0x64,0x05,0x00,0x04,0x2a,0x02,0x00,0x02,0x64,0x01,0x00,0x03,0x64,
+0x13,0xfa,0x6b,0xf5,0x13,0xfa,0xff,0xff,0xb0,0xf1,0x2e,0xf8,0xb1,0xf1,0xff,0xff,
+0x2f,0xf8,0xb2,0xf1,0x30,0xf8,0xff,0xff,0x75,0xf1,0x31,0xf8,0x76,0xf1,0xff,0xff,
+0x32,0xf8,0x77,0xf1,0x33,0xf8,0x6a,0x60,0x00,0x63,0x03,0x64,0xbd,0xfb,0xa3,0xdb,
+0x00,0x64,0x73,0xf1,0x79,0xfb,0x44,0x4a,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,
+0xde,0xfe,0xff,0xff,0x0b,0x04,0x21,0x60,0xac,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,
+0x47,0x60,0x90,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x3f,0x60,0x8a,0x62,
+0x2a,0x44,0xa2,0xdb,0xca,0x82,0x1e,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,0x21,0x60,
+0xac,0x62,0x20,0x60,0x00,0x64,0xa2,0xdb,0x47,0x60,0xb6,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0xbe,0xfe,0x21,0x60,
+0x90,0x62,0xa2,0xd1,0x40,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x01,0x64,
+0x80,0xfb,0x02,0x64,0x84,0xfb,0xe9,0xf3,0xff,0xff,0x60,0x40,0x10,0x26,0x05,0x00,
+0x01,0x65,0x3d,0x60,0x58,0x4e,0x39,0x78,0xff,0xff,0xe9,0xf3,0xff,0xff,0xef,0xb4,
+0xe9,0xfb,0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,0x80,0x64,0xb0,0x84,0xa2,0xdb,
+0xff,0xff,0xcf,0xfe,0x21,0x60,0xac,0x62,0x00,0x60,0x02,0x64,0xa2,0xdb,0x47,0x60,
+0xe9,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,
+0xa2,0xdb,0x40,0x60,0x1c,0x62,0xa2,0xd3,0x10,0x61,0x00,0x63,0x60,0x45,0xe0,0x84,
+0xa2,0xdb,0x65,0x44,0x01,0x26,0xdf,0x83,0xcd,0x81,0xe8,0x84,0xfb,0x02,0x63,0x44,
+0xfc,0xa0,0xff,0xff,0x0d,0x04,0x40,0x60,0x1e,0x62,0x32,0x64,0xa2,0xdb,0x56,0xf3,
+0xff,0xff,0x60,0x40,0x00,0x36,0x13,0x00,0x17,0x60,0x9c,0x62,0x00,0x64,0xa2,0xdb,
+0x40,0x60,0x1e,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0xcc,0x84,0x08,0x03,0xa2,0xdb,
+0x06,0x02,0x40,0x60,0x20,0x62,0xa2,0xd1,0x17,0x60,0x9c,0x62,0xa2,0xd9,0x59,0xf1,
+0x00,0x64,0x5e,0xfb,0x5f,0xfb,0xff,0xff,0x61,0xfb,0x63,0xfb,0x64,0x40,0x02,0x26,
+0x03,0x00,0x4b,0x60,0x69,0x78,0xff,0xff,0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,
+0x08,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x6a,0x60,0x0c,0x65,0x7a,0xf3,
+0x9a,0xf1,0xa5,0xdb,0xff,0xff,0xff,0x22,0x06,0x00,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0xc0,0x84,0x60,0xfb,0x52,0xf3,0xff,0xff,0x04,0xb0,0xff,0xff,0x15,0x03,
+0x02,0x64,0x80,0xfb,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x7f,0x60,0xff,0x64,0xa0,0x84,
+0xa2,0xdb,0x21,0x60,0xac,0x62,0x80,0x60,0x00,0x64,0xa2,0xdb,0x48,0x60,0x5c,0x64,
+0x5a,0xdb,0xcf,0xfe,0xc1,0xfe,0x2f,0x58,0xff,0xff,0x49,0x60,0xf8,0x78,0xff,0xff,
+0x21,0x60,0xaa,0x62,0xa2,0xd1,0x7f,0x60,0xff,0x64,0xa0,0x84,0xa2,0xdb,0x80,0xf3,
+0xff,0xff,0x00,0xa0,0xff,0xff,0xef,0x02,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x7f,0x60,
+0xff,0x61,0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0x62,0xf3,0x60,0x40,
+0x02,0x26,0x32,0x00,0x6a,0xf5,0x80,0x64,0x29,0xfa,0x00,0x63,0x38,0xf2,0x22,0xfc,
+0x17,0xfa,0x1c,0x64,0x21,0xfa,0x15,0xfc,0x16,0xfc,0x01,0x64,0x14,0xfa,0x21,0x60,
+0xaa,0x62,0x00,0x64,0xa2,0xdb,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x21,0x60,
+0xac,0x62,0x00,0x60,0x01,0x64,0xa2,0xdb,0x48,0x60,0x9e,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,0xff,0x60,0xfe,0x61,0xa1,0x84,
+0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0x7a,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0x2f,0x03,0x3f,0x60,0x10,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x25,0x03,
+0x40,0x48,0x00,0x64,0x40,0x4c,0x3f,0x60,0x12,0x62,0xa2,0xd3,0x28,0x45,0xd4,0x80,
+0x60,0x46,0x23,0x03,0x2b,0xf2,0xff,0xff,0xff,0xff,0x01,0x2a,0x14,0x00,0x09,0xf2,
+0xff,0xff,0x40,0x4d,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x10,0x64,0xa2,0xdb,0x66,0x44,
+0x5a,0xdb,0x0e,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x01,0x64,0x40,0x4c,0x2d,0x44,
+0x00,0xbc,0x60,0x46,0xe0,0x03,0x0a,0xf2,0xe1,0x00,0x49,0x60,0xc5,0x78,0xff,0xff,
+0x01,0x64,0x61,0xfb,0x49,0x60,0xee,0x78,0xff,0xff,0x2c,0x44,0x01,0x2a,0x11,0x00,
+0x28,0x46,0x2b,0xf2,0xff,0xff,0xff,0xff,0x01,0x2a,0x0b,0x00,0x3f,0x60,0x6a,0x62,
+0x3f,0x60,0x10,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0e,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0x3f,0x60,0x10,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x2b,0xf2,
+0xff,0xff,0xff,0xff,0x01,0x2a,0x31,0x00,0x4b,0x60,0x58,0x4e,0x70,0x78,0xff,0xff,
+0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,
+0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,
+0x21,0x60,0xac,0x62,0x00,0x60,0x01,0x64,0xa2,0xdb,0x49,0x60,0x1f,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,0xff,0x60,0xfe,0x61,
+0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0x6b,0xf5,0x22,0xf2,0xff,0xff,
+0xff,0xff,0x0f,0x26,0x02,0x00,0x01,0x64,0x61,0xfb,0x01,0x64,0x63,0xfb,0x3f,0x60,
+0x10,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x40,0x48,0x00,0xbc,0x60,0x46,
+0x03,0x02,0x49,0x60,0xc5,0x78,0xff,0xff,0x60,0xf3,0x9a,0xf1,0xff,0xff,0xd0,0x80,
+0xff,0xff,0x7f,0x0e,0x2b,0xf2,0xff,0xff,0x01,0xb0,0x19,0xf2,0x77,0x02,0x00,0xbc,
+0x60,0x43,0x6b,0x03,0xa3,0xd3,0xff,0xff,0xff,0xff,0x02,0x2a,0x63,0x00,0x6e,0x60,
+0x58,0x4e,0x2e,0x78,0xff,0xff,0x6a,0x03,0x6e,0x60,0x58,0x4e,0x48,0x78,0xff,0xff,
+0x65,0x03,0x66,0x44,0x5d,0xfb,0x4b,0x60,0x58,0x4e,0x77,0x78,0xff,0xff,0x21,0x60,
+0xaa,0x62,0x00,0x64,0xa2,0xdb,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x21,0x60,
+0xac,0x62,0x00,0x60,0x01,0x64,0xa2,0xdb,0x49,0x60,0x7e,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,0xff,0x60,0xfe,0x61,0xa1,0x84,
+0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0x6b,0xf5,0x22,0xf2,0x5d,0xf5,0x0f,0xb0,
+0x46,0x48,0x07,0x02,0x6e,0x60,0x58,0x4e,0x4c,0x78,0xff,0xff,0x00,0x64,0x15,0xfa,
+0x21,0x00,0x6e,0x60,0x58,0x4e,0x5f,0x78,0xff,0xff,0x15,0xf2,0xff,0xff,0x01,0xa4,
+0xe7,0xa0,0x15,0xfa,0x23,0x04,0x6a,0x60,0x0a,0x62,0xa2,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x09,0xf2,0xff,0xff,0x40,0x48,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x34,0x64,
+0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xce,0xfe,
+0x28,0x44,0x83,0x00,0x01,0x64,0x63,0xfb,0x09,0x00,0x6e,0x60,0x58,0x4e,0x2e,0x78,
+0xff,0xff,0x04,0x03,0x6e,0x60,0x58,0x4e,0x4c,0x78,0xff,0xff,0x28,0x46,0x09,0xf2,
+0xf0,0x00,0x60,0xf3,0x9a,0xf1,0xff,0xff,0xd0,0x84,0xff,0xff,0x23,0x0e,0xe8,0x84,
+0xe8,0x84,0xe8,0x84,0xe8,0x84,0x60,0x40,0xff,0x22,0x01,0x64,0x60,0x43,0x2b,0x60,
+0x66,0x62,0xa2,0xdd,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,0x02,0x64,
+0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,0xac,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,
+0x49,0x60,0xea,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,
+0x00,0x64,0xa2,0xdb,0x61,0xf3,0xff,0xff,0x02,0xbc,0x61,0xfb,0x00,0x64,0x5e,0xfb,
+0x01,0x64,0x80,0xfb,0xff,0xff,0xc1,0xfe,0x69,0x60,0xf4,0x62,0xa2,0xd3,0xff,0xff,
+0x00,0xa0,0xff,0xff,0x40,0x03,0x10,0xb4,0xe9,0xf3,0x60,0x45,0xb4,0x84,0xe9,0xfb,
+0x69,0x60,0xf6,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x80,0xf3,0xff,0xff,
+0x00,0xa0,0x02,0x64,0x2a,0x03,0x80,0xfb,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x7f,0x60,
+0xff,0x64,0xa0,0x84,0xa2,0xdb,0x21,0x60,0xac,0x62,0x80,0x60,0x00,0x64,0xa2,0xdb,
+0x4a,0x60,0x23,0x64,0x5a,0xdb,0xcf,0xfe,0xc1,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,
+0xaa,0x62,0xa2,0xd1,0x7f,0x60,0xff,0x64,0xa0,0x84,0xa2,0xdb,0x80,0xf3,0xff,0xff,
+0x00,0xa0,0xff,0xff,0xf2,0x02,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x7f,0x60,0xff,0x61,
+0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0x45,0x60,0xcb,0x78,0xff,0xff,
+0x4a,0x60,0xc1,0x78,0xff,0xff,0x6a,0x60,0xcc,0x65,0xa5,0xd3,0xff,0xff,0x60,0x40,
+0x03,0x22,0xf6,0x00,0x01,0x2a,0x0c,0x00,0x21,0x60,0x7a,0x63,0xa3,0xd1,0x6a,0x60,
+0x50,0x65,0xa2,0xf3,0xa5,0xd3,0x60,0x45,0xc4,0x84,0xd0,0x80,0xff,0xff,0x64,0x0d,
+0x6a,0x60,0xcc,0x65,0xa5,0xd3,0xff,0xff,0x60,0x45,0xfd,0xb4,0xa2,0xdb,0xe9,0xf3,
+0xff,0xff,0xb4,0x84,0xe9,0xfb,0x63,0x60,0x2e,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x80,0xf3,0xff,0xff,0x00,0xa0,0x02,0x64,0x2a,0x03,0x80,0xfb,0x21,0x60,
+0xaa,0x62,0xa2,0xd1,0x7f,0x60,0xff,0x64,0xa0,0x84,0xa2,0xdb,0x21,0x60,0xac,0x62,
+0x80,0x60,0x00,0x64,0xa2,0xdb,0x4a,0x60,0x7e,0x64,0x5a,0xdb,0xcf,0xfe,0xc1,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x7f,0x60,0xff,0x64,0xa0,0x84,
+0xa2,0xdb,0x80,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0xf2,0x02,0x21,0x60,0xaa,0x62,
+0xa2,0xd1,0x7f,0x60,0xff,0x61,0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,
+0x0c,0x60,0x50,0x62,0x59,0x60,0xed,0x64,0xa2,0xdb,0x0f,0x4e,0x53,0x60,0x58,0x4f,
+0xfe,0x78,0xff,0xff,0x0e,0x4f,0x21,0x60,0xac,0x62,0x10,0x60,0x00,0x64,0xa2,0xdb,
+0x4a,0x60,0xaa,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0xe9,0xf1,0xff,0x60,
+0xfc,0x64,0xa0,0x84,0xe9,0xfb,0x04,0x65,0x3d,0x60,0x58,0x4e,0x39,0x78,0xff,0xff,
+0x01,0x64,0x80,0xfb,0xff,0xff,0xc1,0xfe,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,
+0x0c,0x60,0x50,0x62,0x6b,0x60,0xac,0x64,0xa2,0xdb,0x65,0xf3,0x64,0xf3,0x9c,0xa0,
+0xff,0xff,0x27,0x04,0x64,0x64,0x65,0xfb,0x6a,0x60,0x02,0x62,0xa2,0xd3,0xff,0xff,
+0x00,0xa0,0xff,0xff,0x7a,0x02,0xbd,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,0x48,0x02,
+0x80,0xf3,0xff,0xff,0xff,0xa0,0x02,0x64,0x2b,0x02,0x80,0xfb,0x21,0x60,0xaa,0x62,
+0xa2,0xd1,0x7f,0x60,0xff,0x64,0xa0,0x84,0xa2,0xdb,0x21,0x60,0xac,0x62,0x80,0x60,
+0x00,0x64,0xa2,0xdb,0x4a,0x60,0xee,0x64,0x5a,0xdb,0xcf,0xfe,0xc1,0xfe,0x2f,0x58,
+0xff,0xff,0x5b,0x00,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x7f,0x60,0xff,0x64,0xa0,0x84,
+0xa2,0xdb,0x80,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0xf1,0x02,0x21,0x60,0xaa,0x62,
+0xa2,0xd1,0x7f,0x60,0xff,0x61,0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x06,0x96,
+0x7e,0x00,0x00,0x10,0x5a,0xdb,0x6a,0x60,0x00,0x64,0xa0,0xd3,0xff,0xff,0xfd,0xa0,
+0xff,0xff,0x11,0x02,0x02,0x64,0xa2,0xdb,0x00,0x64,0x64,0xfb,0x12,0x7c,0x80,0x60,
+0xe6,0x62,0xa2,0xd9,0x00,0x64,0x06,0xa2,0xa2,0xdb,0x5a,0xdb,0x02,0x65,0x3d,0x60,
+0x58,0x4e,0x39,0x78,0xff,0xff,0x69,0x60,0xf0,0x65,0xa5,0xd1,0x01,0x60,0xf4,0x64,
+0x64,0x43,0xdf,0x83,0xd0,0x80,0xa5,0xdd,0x43,0x05,0x69,0x60,0xf2,0x62,0xa2,0xd3,
+0xff,0xff,0x00,0xa0,0x00,0x64,0xa5,0xdb,0x3b,0x03,0xc4,0xf3,0x03,0x7c,0x00,0xa0,
+0xff,0xff,0x13,0x03,0xc4,0xf9,0x0a,0x65,0x3d,0x60,0x58,0x4e,0x39,0x78,0xff,0xff,
+0x0c,0x60,0x50,0x62,0x59,0x60,0xed,0x64,0xa2,0xdb,0x22,0x60,0x04,0x63,0x0e,0x64,
+0x00,0x7c,0xbd,0xd9,0xcc,0x84,0xff,0xff,0xfc,0x02,0x45,0x60,0xcb,0x78,0xff,0xff,
+0xfd,0xa0,0xff,0xff,0x1d,0x04,0x69,0x60,0xf0,0x62,0x00,0x64,0xa2,0xdb,0x64,0xfb,
+0x69,0x60,0xf2,0x62,0x01,0x64,0xa2,0xdb,0x6a,0x60,0x00,0x64,0xa0,0xd3,0xff,0xff,
+0xfd,0xa0,0xff,0xff,0x0d,0x03,0x03,0x64,0xa2,0xdb,0x03,0x64,0xbd,0xfb,0x01,0x64,
+0x80,0xfb,0xff,0xff,0xc1,0xfe,0x01,0x65,0x3d,0x60,0x58,0x4e,0x39,0x78,0xff,0xff,
+0x6d,0x60,0x58,0x4e,0xeb,0x78,0xff,0xff,0x47,0x60,0xde,0x78,0xff,0xff,0x6b,0xf5,
+0xff,0x60,0xff,0x64,0x2b,0xfa,0x2c,0xfa,0x2d,0xfa,0x0b,0x00,0x6b,0xf1,0x2b,0xf2,
+0x2c,0xf2,0x60,0x43,0x64,0x46,0x2c,0xfa,0x2b,0xfc,0x28,0x46,0x2d,0xf2,0x64,0x46,
+0x2d,0xfa,0x90,0x64,0x29,0xfa,0x3a,0xf3,0xff,0xff,0xe8,0x84,0xe8,0x84,0x1c,0xfa,
+0x00,0x63,0x38,0xf2,0x22,0xfc,0xff,0xff,0x19,0xfc,0x16,0xfc,0x17,0xfa,0x1c,0x64,
+0x21,0xfa,0x0e,0x64,0x15,0xfa,0x01,0x64,0x14,0xfa,0x2e,0x58,0xff,0xff,0x3c,0x60,
+0xea,0x62,0xa2,0xd3,0x34,0xf1,0x60,0x41,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,
+0x90,0x84,0x01,0xb4,0xb8,0xf1,0x0d,0x02,0x61,0x44,0x90,0x84,0x20,0xb4,0xff,0xff,
+0x08,0x03,0x64,0x44,0x20,0x2a,0x04,0x00,0x00,0x64,0x3a,0xfb,0x00,0xbc,0x01,0x00,
+0x01,0xbc,0x2e,0x58,0xff,0xff,0x00,0x64,0xd5,0xfb,0x4c,0x60,0xb6,0x78,0xff,0xff,
+0x6c,0xf5,0x52,0x60,0x58,0x4e,0x52,0x78,0xff,0xff,0x52,0x60,0x58,0x4e,0xdc,0x78,
+0xff,0xff,0x79,0xf1,0x10,0x67,0xa0,0x84,0xb0,0xbc,0x29,0xfa,0x52,0x60,0x58,0x4e,
+0xcd,0x78,0xff,0xff,0x06,0x63,0x38,0xfc,0x00,0x64,0x22,0xfa,0x39,0x60,0x58,0x4e,
+0xfe,0x78,0xff,0xff,0x66,0x45,0x00,0xf4,0x04,0x61,0x71,0xf1,0x01,0x64,0x64,0x40,
+0x02,0x36,0x05,0x00,0x80,0x64,0x64,0x40,0x04,0x36,0x01,0x00,0x00,0x64,0xa1,0xda,
+0x01,0x63,0x59,0xdc,0x00,0x64,0x59,0xda,0x9d,0xf1,0x2b,0x60,0x66,0x62,0xa2,0xd9,
+0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,0x65,0x44,0x5a,0xdb,0x0a,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x01,0x64,0x51,0xfb,0x3f,0x60,0x9a,0x62,
+0x2b,0x60,0x62,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,
+0xac,0x62,0x00,0x60,0x0c,0x64,0xa2,0xdb,0x4c,0x60,0x0b,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x00,0x60,0x08,0x64,0xa0,0x80,
+0x9c,0x84,0x2e,0x03,0xa0,0x84,0xa2,0xdb,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,
+0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x00,0x64,0x51,0xfb,0x21,0x60,
+0xaa,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x26,0x46,0x38,0xf2,0x00,0xf4,0x04,0xf2,
+0x60,0x41,0x00,0xa8,0xff,0xff,0x03,0x03,0x4c,0x60,0xa6,0x78,0xff,0xff,0x71,0xf3,
+0xff,0xff,0x02,0xb4,0x03,0xf2,0x03,0x02,0x4c,0x60,0x76,0x78,0xff,0xff,0x02,0xa8,
+0x88,0x65,0x38,0x02,0xd5,0x80,0xff,0xff,0x04,0x05,0x4c,0x60,0xa6,0x78,0xff,0xff,
+0x44,0x00,0x26,0x46,0x52,0x60,0x58,0x4e,0x52,0x78,0xff,0xff,0xff,0x7f,0x00,0x7e,
+0x0e,0xfa,0x08,0x64,0x28,0xfa,0x79,0xf1,0x10,0x67,0xa0,0x84,0xb0,0xbd,0x40,0x67,
+0xb4,0x84,0x29,0xfa,0x2b,0xf0,0x2e,0xf2,0xff,0xff,0x2e,0xf8,0x2b,0xfa,0x2c,0xf0,
+0xff,0xff,0x2f,0xf2,0x2f,0xf8,0x2c,0xfa,0xff,0xff,0x2d,0xf0,0x30,0xf2,0x30,0xf8,
+0xff,0xff,0x2d,0xfa,0x00,0x64,0x22,0xfa,0x39,0x60,0x58,0x4e,0xfe,0x78,0xff,0xff,
+0x66,0x45,0x00,0xf4,0x04,0x61,0x01,0x64,0xa1,0xda,0x03,0x63,0x59,0xdc,0x4b,0x60,
+0xe5,0x78,0xff,0xff,0x04,0xa8,0xff,0xff,0x30,0x02,0x26,0x46,0x3e,0x60,0x58,0x4e,
+0xa2,0x78,0xff,0xff,0xe9,0xf3,0xff,0xff,0x08,0xb0,0xff,0xff,0x03,0x03,0x4d,0x60,
+0x50,0x78,0xff,0xff,0x50,0x60,0x46,0x78,0xff,0xff,0x00,0x60,0x04,0x64,0xa0,0x80,
+0x9c,0x84,0x18,0x03,0xa0,0x84,0xa2,0xdb,0x00,0x64,0x51,0xfb,0x21,0x60,0xaa,0x62,
+0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x52,0x60,0x58,0x4e,0xeb,0x78,0xff,0xff,0xe9,0xf3,
+0xff,0xff,0x08,0xb0,0xff,0xff,0x03,0x03,0x4d,0x60,0x50,0x78,0xff,0xff,0x50,0x60,
+0x46,0x78,0xff,0xff,0x4c,0x60,0x09,0x78,0xff,0xff,0x26,0x46,0x3e,0x60,0x58,0x4e,
+0xa2,0x78,0xff,0xff,0xe9,0xf3,0xff,0xff,0x08,0xb0,0xff,0xff,0x03,0x03,0x4c,0x60,
+0xd0,0x78,0xff,0xff,0x4f,0x60,0x33,0x78,0xff,0xff,0x9d,0xf1,0x2b,0x60,0x66,0x62,
+0xa2,0xd9,0x6d,0xf5,0x52,0x60,0x58,0x4e,0xdc,0x78,0xff,0xff,0x00,0x60,0xa0,0x63,
+0x2a,0x60,0xc6,0x64,0xa3,0xdb,0x64,0x60,0xd8,0x63,0xbd,0xd3,0xbd,0xd1,0xff,0xff,
+0xb0,0x84,0xa3,0xd1,0xff,0xff,0xb0,0x83,0x64,0x60,0xd6,0x62,0xa2,0xdd,0x00,0x60,
+0xa0,0x63,0x00,0x60,0xf8,0x65,0xa3,0xd3,0xa5,0xd1,0x04,0xa4,0xa3,0xdb,0xd0,0x80,
+0xa0,0xd3,0x07,0x07,0x40,0x47,0x53,0x60,0x58,0x4e,0x3e,0x78,0xff,0xff,0xef,0x02,
+0x0c,0x00,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x6a,0x60,0x1e,0x65,
+0x00,0x64,0xa5,0xdb,0x44,0x60,0xb0,0x78,0xff,0xff,0x27,0x43,0x3c,0xa3,0xa3,0xd1,
+0x6a,0x60,0x9a,0x63,0xbb,0xf3,0xa3,0xd9,0xa0,0x84,0xd0,0x80,0xff,0xff,0xd7,0x02,
+0x27,0x43,0x40,0xa3,0xa3,0xd3,0xff,0xff,0x01,0xa0,0x60,0x41,0x05,0x02,0x3e,0x60,
+0x58,0x4e,0xbf,0x78,0xff,0xff,0x0d,0x00,0x17,0x60,0xdc,0x62,0xa2,0xd3,0xff,0xff,
+0x60,0x45,0xd5,0x84,0x60,0x45,0x01,0x0d,0x00,0x65,0x3e,0x60,0x58,0x4e,0xe7,0x78,
+0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0xde,0xfe,0xff,0xff,0x0b,0x04,
+0x21,0x60,0xac,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,0x4c,0x60,0xee,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x27,0x44,0xa0,0xd3,0xff,0xff,0x00,0x7f,0x60,0x5c,
+0x3f,0x60,0x8a,0x62,0xa2,0xd9,0xca,0x82,0x1e,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,
+0x21,0x60,0xac,0x62,0x20,0x60,0x00,0x64,0xa2,0xdb,0x4d,0x60,0x3c,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0xbe,0xfe,
+0x21,0x60,0x90,0x62,0xa2,0xd1,0x40,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,
+0xe9,0xf3,0xff,0xff,0x08,0xbc,0xe9,0xfb,0x4b,0x60,0xb9,0x78,0xff,0xff,0x6d,0xf5,
+0x52,0x60,0x58,0x4e,0x52,0x78,0xff,0xff,0x00,0x64,0x29,0xfa,0x52,0x60,0x58,0x4e,
+0xcd,0x78,0xff,0xff,0xff,0xff,0x3a,0xf1,0x00,0xf4,0x04,0x62,0x00,0x60,0x01,0x64,
+0xb0,0x84,0xa2,0xda,0x0f,0x63,0x04,0x61,0x59,0xdc,0x51,0x60,0x58,0x4e,0x9e,0x78,
+0xff,0xff,0x6d,0xf5,0x2d,0x44,0x08,0xa4,0x38,0xfa,0x00,0x64,0x22,0xfa,0x39,0x60,
+0x58,0x4e,0xfe,0x78,0xff,0xff,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x06,0x64,
+0x51,0xfb,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,
+0xff,0xff,0x1d,0xff,0x21,0x60,0xac,0x62,0x00,0x60,0x1c,0x64,0xa2,0xdb,0x4d,0x60,
+0x96,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,
+0x00,0x60,0x08,0x64,0xa0,0x80,0x9c,0x84,0x21,0x03,0xa0,0x84,0xa2,0xdb,0x3f,0x60,
+0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,
+0x00,0x63,0x51,0xfd,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x26,0x46,
+0x00,0xf4,0x03,0xf2,0xff,0xff,0x00,0xb8,0xff,0xff,0x3d,0x03,0x26,0x46,0x3e,0x60,
+0x58,0x4e,0xa2,0x78,0xff,0xff,0x4c,0x60,0xd0,0x78,0xff,0xff,0x00,0x60,0x10,0x64,
+0xa0,0x80,0x9c,0x84,0x1a,0x03,0xa0,0x84,0xa2,0xdb,0x3f,0x60,0x9a,0x62,0x2b,0x60,
+0x62,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x26,0x46,0x3e,0x60,
+0x58,0x4e,0xa2,0x78,0xff,0xff,0x00,0x64,0x51,0xfb,0x21,0x60,0xaa,0x62,0x00,0x64,
+0xa2,0xdb,0x5a,0xdb,0x4d,0x60,0x49,0x78,0xff,0xff,0x00,0x60,0x04,0x64,0xa0,0x80,
+0x9c,0x84,0x10,0x03,0xa0,0x84,0xa2,0xdb,0x00,0x64,0x51,0xfb,0x21,0x60,0xaa,0x62,
+0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x52,0x60,0x58,0x4e,0xeb,0x78,0xff,0xff,0x4c,0x60,
+0xd0,0x78,0xff,0xff,0xa0,0x00,0x53,0x60,0x58,0x4e,0xab,0x78,0xff,0xff,0x21,0x60,
+0xc2,0x62,0xa2,0xd1,0x00,0x60,0x08,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,
+0x52,0x60,0x58,0x4e,0x67,0x78,0xff,0xff,0x52,0x60,0x58,0x4e,0x7e,0x78,0xff,0xff,
+0x5f,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x53,0x60,0x58,0x4e,0x75,0x78,0xff,0xff,
+0x52,0x60,0x58,0x4e,0xfe,0x78,0xff,0xff,0x27,0x43,0x11,0x61,0x10,0x65,0xc7,0x83,
+0x62,0x60,0x90,0x64,0xbd,0xd1,0xcd,0x81,0x58,0xd9,0xfc,0x02,0x26,0x46,0x3e,0x60,
+0x58,0x4e,0xa2,0x78,0xff,0xff,0x01,0x64,0x80,0xfb,0xff,0xff,0xc1,0xfe,0x01,0x64,
+0x84,0xfb,0x01,0x67,0x79,0xfb,0x04,0x64,0xbd,0xfb,0x01,0x65,0x3d,0x60,0x58,0x4e,
+0x39,0x78,0xff,0xff,0x53,0x60,0x58,0x4e,0x9a,0x78,0xff,0xff,0x21,0x60,0x98,0x62,
+0xa2,0xd1,0x00,0x60,0x02,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x21,0x60,
+0xbc,0x62,0xa2,0xd1,0x00,0x60,0x80,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,
+0x0c,0x64,0x51,0xfb,0x21,0x60,0xac,0x62,0x00,0x60,0xf0,0x64,0xa2,0xdb,0x4e,0x60,
+0x56,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,
+0x00,0x60,0x80,0x64,0xa0,0x80,0x9c,0x84,0x07,0x03,0xa0,0x84,0xa2,0xdb,0x64,0x60,
+0xe4,0x62,0x0e,0x64,0xa2,0xdb,0x17,0x00,0x00,0x60,0x40,0x64,0xa0,0x80,0x9c,0x84,
+0x07,0x03,0xa0,0x84,0xa2,0xdb,0x64,0x60,0xe4,0x62,0x00,0x64,0xa2,0xdb,0x0b,0x00,
+0x00,0x60,0x10,0x64,0xa0,0x80,0x9c,0x84,0x5a,0x03,0xa0,0x84,0xa2,0xdb,0x64,0x60,
+0xe4,0x62,0x0a,0x64,0xa2,0xdb,0x52,0xf3,0xff,0xff,0x01,0xb0,0xff,0xff,0x14,0x03,
+0x21,0x60,0x98,0x62,0xa2,0xd1,0x00,0x60,0x04,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,
+0xcf,0xfe,0x21,0x60,0xac,0x62,0x08,0x60,0x00,0x64,0xa2,0xdb,0x4e,0x60,0x95,0x64,
+0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,
+0x5a,0xdb,0x00,0x64,0x51,0xfb,0x21,0x60,0x7a,0x62,0xa2,0xd1,0x64,0x60,0xee,0x62,
+0xa2,0xd9,0x21,0x60,0x7c,0x62,0xa2,0xd1,0x64,0x60,0xf0,0x62,0xa2,0xd9,0x4e,0x60,
+0x58,0x4e,0xe4,0x78,0xff,0xff,0x02,0x64,0x80,0xfb,0xff,0xff,0xc1,0xfe,0x64,0x60,
+0xe4,0x62,0xa2,0xd1,0x80,0x60,0xe6,0x62,0xa2,0xd9,0x64,0x40,0x0a,0x36,0x04,0x00,
+0x06,0xa2,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x6a,0x60,0x1c,0x62,0x00,0x64,0xa2,0xdb,
+0x02,0x65,0x3d,0x60,0x58,0x4e,0x39,0x78,0xff,0xff,0x6a,0x60,0x1e,0x65,0x67,0x60,
+0x74,0x62,0x00,0x64,0xa2,0xdb,0xa5,0xdb,0x44,0x60,0xb0,0x78,0xff,0xff,0x00,0x60,
+0x20,0x64,0xa0,0x80,0x9c,0x84,0x0a,0x03,0xa0,0x84,0xa2,0xdb,0x00,0x63,0x51,0xfd,
+0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x1b,0x00,0x4e,0x60,0x54,0x78,
+0xff,0xff,0x2f,0x58,0xff,0xff,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,
+0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x00,0x64,0x51,0xfb,0x21,0x60,0xaa,0x62,
+0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x01,0x64,0x80,0xfb,0xff,0xff,0xc1,0xfe,0x2e,0x58,
+0xff,0xff,0x02,0x64,0x80,0xfb,0x3a,0xf3,0x39,0xfb,0x00,0x60,0xe6,0x65,0x00,0x60,
+0xe4,0x63,0xa5,0xd3,0xa3,0xdb,0x9d,0xf1,0x2b,0x60,0x66,0x62,0xa2,0xd9,0x80,0xf3,
+0x00,0x65,0xd4,0x80,0xff,0xff,0x0c,0x03,0x21,0x60,0xac,0x62,0x80,0x60,0x00,0x64,
+0xa2,0xdb,0x4f,0x60,0x08,0x64,0x5a,0xdb,0xcf,0xfe,0xc1,0xfe,0x2f,0x58,0xff,0xff,
+0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x00,0x60,0xa0,0x63,0x2a,0x60,
+0xc6,0x64,0xa3,0xdb,0x67,0x60,0x76,0x62,0x00,0x64,0xa2,0xdb,0x64,0x60,0xd8,0x63,
+0xbd,0xd3,0xbd,0xd1,0xff,0xff,0xb0,0x84,0xa3,0xd1,0xff,0xff,0xb0,0x83,0x64,0x60,
+0xd6,0x62,0xa2,0xdd,0x00,0x60,0xa0,0x63,0x00,0x60,0xf8,0x65,0xa3,0xd3,0xff,0xff,
+0x02,0xa4,0xa0,0xd1,0xff,0xff,0x64,0x41,0xa5,0xd1,0x02,0xa4,0xa3,0xdb,0xd0,0x80,
+0xa0,0xd3,0x49,0x07,0x40,0x47,0xb7,0xf1,0x4c,0xf3,0xff,0xff,0xc0,0x85,0xd5,0x80,
+0x60,0x45,0x0e,0x05,0x64,0x60,0xe4,0x62,0xa2,0xd3,0x1e,0xf1,0xfc,0xa0,0x65,0x44,
+0x3a,0x02,0x64,0x40,0x10,0x2a,0x37,0x00,0x03,0xa5,0xd5,0x80,0x34,0x04,0x07,0x00,
+0x64,0x60,0xe4,0x62,0xa2,0xd3,0xff,0xff,0xfc,0xa0,0xff,0xff,0x13,0x02,0x6a,0x60,
+0x18,0x62,0xa2,0xd1,0x27,0x44,0x3e,0xa4,0xa0,0xd3,0xff,0xff,0x60,0x41,0x02,0xa4,
+0xd0,0x80,0xff,0xff,0xc7,0x07,0xe1,0x85,0xc5,0x85,0x64,0x44,0xe0,0x84,0xd4,0x80,
+0xff,0xff,0xc0,0x04,0x53,0x60,0x58,0x4e,0x3e,0x78,0xff,0xff,0xbb,0x02,0x27,0x44,
+0x06,0xa4,0x60,0x41,0xa1,0xd1,0x75,0xf3,0xff,0xff,0xd0,0x80,0x76,0xf1,0x59,0xd3,
+0x68,0x02,0xd0,0x80,0x77,0xf3,0x59,0xd1,0x64,0x02,0xd0,0x80,0xff,0xff,0x61,0x02,
+0x4f,0x60,0x33,0x78,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0xde,0xfe,
+0xff,0xff,0x0b,0x04,0x21,0x60,0xac,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,0x4f,0x60,
+0x8c,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x39,0xf3,0x3a,0xfb,0x00,0x60,
+0xe4,0x63,0xa3,0xd1,0x3f,0x60,0x8a,0x62,0xa2,0xd9,0xca,0x82,0x1e,0x64,0xa2,0xdb,
+0xff,0xff,0x2d,0xff,0x21,0x60,0xac,0x62,0x20,0x60,0x00,0x64,0xa2,0xdb,0x4f,0x60,
+0xb6,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0x00,0x64,
+0xa2,0xdb,0xbe,0xfe,0x21,0x60,0x90,0x62,0xa2,0xd1,0x40,0x60,0x00,0x64,0xb0,0x84,
+0xa2,0xdb,0xcf,0xfe,0x67,0x60,0x76,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,0xff,0xff,
+0x10,0x02,0x3f,0x60,0x10,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0x09,0x02,
+0x21,0x60,0xc2,0x62,0xa2,0xd1,0x00,0x60,0x08,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,
+0xcf,0xfe,0x01,0x63,0x80,0xfd,0xff,0xff,0xc1,0xfe,0x21,0x60,0x98,0x62,0xa2,0xd1,
+0x00,0x60,0x02,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x4e,0x60,0x49,0x78,
+0xff,0xff,0x27,0x43,0x3c,0xa3,0xa3,0xd1,0xbb,0xf3,0xff,0xff,0xa0,0x84,0xd0,0x80,
+0xff,0xff,0x03,0x03,0x4f,0x60,0x33,0x78,0xff,0xff,0x27,0x43,0x40,0xa3,0xa3,0xd3,
+0xff,0xff,0x01,0xa0,0x60,0x41,0x05,0x02,0x3e,0x60,0x58,0x4e,0xbf,0x78,0xff,0xff,
+0x0d,0x00,0x17,0x60,0xdc,0x62,0xa2,0xd3,0xff,0xff,0x60,0x45,0xd5,0x84,0x60,0x45,
+0x01,0x0d,0x00,0x65,0x3e,0x60,0x58,0x4e,0xe7,0x78,0xff,0xff,0x21,0x60,0xaa,0x62,
+0x00,0x64,0xa2,0xdb,0xde,0xfe,0xff,0xff,0x0b,0x04,0x21,0x60,0xac,0x62,0x40,0x60,
+0x00,0x64,0xa2,0xdb,0x4f,0x60,0xf6,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0x27,0x44,0xa0,0xd3,0xff,0xff,0x00,0x7f,0x60,0x5c,0x3f,0x60,0x8a,0x62,0xa2,0xd9,
+0xca,0x82,0x1e,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,0x21,0x60,0xac,0x62,0x20,0x60,
+0x00,0x64,0xa2,0xdb,0x50,0x60,0x39,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0xbe,0xfe,0x21,0x60,0x90,0x62,0xa2,0xd1,
+0x40,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x6d,0xf5,0x52,0x60,0x58,0x4e,
+0x52,0x78,0xff,0xff,0x00,0x60,0x20,0x64,0x29,0xfa,0x52,0x60,0x58,0x4e,0xcd,0x78,
+0xff,0xff,0x52,0x60,0x58,0x4e,0xdc,0x78,0xff,0xff,0x00,0xf4,0x04,0x61,0x3a,0xf1,
+0x01,0x64,0xb0,0x84,0xa1,0xda,0x0f,0x64,0x59,0xda,0x75,0xf1,0xff,0xff,0x59,0xd8,
+0x76,0xf1,0x59,0xd8,0xff,0xff,0x77,0xf1,0x59,0xd8,0x51,0x60,0x58,0x4e,0x9e,0x78,
+0xff,0xff,0x6d,0xf5,0x2d,0x44,0x0e,0xa4,0x38,0xfa,0x00,0x64,0x22,0xfa,0x39,0x60,
+0x58,0x4e,0xfe,0x78,0xff,0xff,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x14,0x64,
+0x51,0xfb,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,
+0xff,0xff,0x1d,0xff,0x21,0x60,0xac,0x62,0x00,0x60,0x1c,0x64,0xa2,0xdb,0x50,0x60,
+0x96,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,
+0x00,0x60,0x04,0x64,0xa0,0x80,0x9c,0x84,0x14,0x03,0xa0,0x84,0xa2,0xdb,0x00,0x64,
+0x51,0xfb,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x52,0x60,0x58,0x4e,
+0xeb,0x78,0xff,0xff,0x67,0x60,0x76,0x62,0x01,0x64,0xa2,0xdb,0x4f,0x60,0x33,0x78,
+0xff,0xff,0x00,0x60,0x10,0x64,0xa0,0x80,0x9c,0x84,0x15,0x03,0xa0,0x84,0xa2,0xdb,
+0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,
+0x1d,0xff,0x00,0x64,0x51,0xfb,0x21,0x60,0xaa,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,
+0x51,0x60,0x4d,0x78,0xff,0xff,0x00,0x60,0x08,0x64,0xa0,0x80,0x9c,0x84,0x22,0x03,
+0xa0,0x84,0xa2,0xdb,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x62,0x64,0xa2,0xdb,0x03,0x64,
+0x4a,0xdb,0xff,0xff,0x1d,0xff,0x00,0x64,0x51,0xfb,0x21,0x60,0xaa,0x62,0x00,0x64,
+0xa2,0xdb,0x5a,0xdb,0x26,0x46,0x00,0xf4,0xff,0xff,0x03,0xf2,0xff,0xff,0x00,0xb8,
+0xff,0xff,0x09,0x03,0x26,0x46,0x3e,0x60,0x58,0x4e,0xa2,0x78,0xff,0xff,0x4f,0x60,
+0x33,0x78,0xff,0xff,0xa0,0x00,0x53,0x60,0x58,0x4e,0xab,0x78,0xff,0xff,0x21,0x60,
+0xc2,0x62,0xa2,0xd1,0x00,0x60,0x08,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,
+0x52,0x60,0x58,0x4e,0x67,0x78,0xff,0xff,0x52,0x60,0x58,0x4e,0x7e,0x78,0xff,0xff,
+0x5f,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x53,0x60,0x58,0x4e,0x75,0x78,0xff,0xff,
+0x52,0x60,0x58,0x4e,0xfe,0x78,0xff,0xff,0x26,0x46,0x3e,0x60,0x58,0x4e,0xa2,0x78,
+0xff,0xff,0x18,0x60,0x0a,0x64,0xa0,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,0x0f,0x02,
+0x64,0x60,0xe4,0x62,0xa2,0xd1,0x80,0x60,0xe6,0x62,0xa2,0xd9,0x00,0x64,0x06,0xa2,
+0xa2,0xdb,0x5a,0xdb,0x03,0x65,0x3d,0x60,0x58,0x4e,0x39,0x78,0xff,0xff,0x53,0x60,
+0x58,0x4e,0x9a,0x78,0xff,0xff,0x01,0x63,0x80,0xfd,0xff,0xff,0xc1,0xfe,0x21,0x60,
+0x98,0x62,0xa2,0xd1,0x00,0x60,0x02,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,
+0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,0x80,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,
+0xcf,0xfe,0x4e,0x60,0x49,0x78,0xff,0xff,0xe9,0xf3,0xff,0xff,0xf7,0xb4,0xe9,0xfb,
+0x4b,0x60,0xb9,0x78,0xff,0xff,0x51,0xf1,0x29,0xf2,0x64,0x41,0x60,0x40,0xa0,0x3a,
+0x14,0x00,0x08,0xb1,0xff,0xff,0x3f,0x03,0x66,0x45,0x00,0xf4,0x80,0x60,0xee,0x64,
+0x02,0xf0,0xa0,0xd9,0x65,0x46,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x00,0x60,0x10,0x64,
+0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x2e,0x00,0xc0,0x3a,0x14,0x00,0x04,0xb1,
+0xff,0xff,0x29,0x03,0x66,0x45,0x00,0xf4,0x80,0x60,0xec,0x64,0x02,0xf0,0xa0,0xd9,
+0x65,0x46,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x00,0x60,0x10,0x64,0xb0,0x84,0xa2,0xdb,
+0xff,0xff,0xcf,0xfe,0x18,0x00,0xb0,0x3a,0x02,0x00,0x01,0x65,0x07,0x00,0x10,0x3a,
+0x02,0x00,0x02,0x65,0x03,0x00,0x30,0x3a,0x0e,0x00,0x10,0x65,0xa5,0x80,0xff,0xff,
+0x0a,0x03,0x21,0x60,0xaa,0x62,0xa2,0xd1,0x00,0x60,0x08,0x64,0xb0,0x84,0xa2,0xdb,
+0xff,0xff,0xcf,0xfe,0x00,0x66,0x2f,0x58,0xff,0xff,0x27,0x43,0x12,0xa3,0xbf,0xd1,
+0xff,0xff,0x64,0x47,0x59,0xda,0x64,0x41,0xdd,0x81,0xe9,0x81,0x62,0x44,0x04,0x03,
+0xbd,0xd1,0xcd,0x81,0x58,0xd8,0xfc,0x02,0x58,0x8d,0x18,0x60,0x68,0x63,0xa3,0xd1,
+0x2d,0x44,0xc8,0x84,0x64,0x45,0x64,0x41,0x03,0xa1,0xe9,0x81,0x41,0x4c,0xbd,0xd1,
+0xcd,0x81,0x58,0xd8,0xfc,0x02,0x2d,0x44,0xa0,0xd2,0x2d,0x43,0x60,0x47,0x01,0x7e,
+0xa3,0xda,0x2d,0x41,0x27,0x44,0x10,0xa4,0xa0,0xd3,0xcb,0x83,0xc5,0x81,0x02,0xa1,
+0x61,0x5c,0x44,0x8d,0xf8,0x84,0x2c,0x41,0x0f,0x04,0x64,0x44,0xff,0xa4,0x60,0x5c,
+0xbe,0xd2,0xff,0xff,0x60,0x47,0xbe,0xda,0x00,0x7e,0xa3,0xd2,0x60,0x45,0x00,0x7f,
+0xb4,0x84,0xcd,0x81,0xbd,0xda,0xf4,0x02,0xe1,0xf3,0x64,0x41,0x60,0x40,0x01,0x3a,
+0x24,0x00,0x64,0x44,0x07,0xa4,0x60,0x5c,0x01,0xa1,0x05,0x60,0xb0,0x64,0xa1,0xda,
+0xa0,0x60,0x00,0x64,0x59,0xda,0x01,0x60,0xf8,0x64,0x59,0xda,0x00,0xb4,0x59,0xda,
+0x2d,0x40,0x01,0x2a,0x0f,0x00,0xf8,0xa1,0x61,0x43,0x04,0x61,0xbe,0xd2,0xff,0xff,
+0x60,0x47,0xbe,0xda,0x00,0x7e,0xa3,0xd2,0x60,0x45,0x00,0x7f,0xb4,0x84,0xcd,0x81,
+0xbd,0xda,0xf4,0x02,0x2d,0x44,0x07,0xa4,0x40,0x4d,0x27,0x44,0x42,0xa4,0x64,0x41,
+0xa0,0xd1,0x01,0xa1,0x36,0xf3,0x64,0x40,0x01,0x2a,0x41,0x00,0x0f,0x3a,0x3f,0x00,
+0x34,0xf3,0xff,0xff,0x60,0x40,0x01,0x2a,0x3a,0x00,0x12,0x65,0xdd,0x64,0x65,0x5f,
+0xa1,0xda,0x50,0x60,0x00,0x64,0x59,0xda,0x01,0x60,0xf2,0x64,0x59,0xda,0x01,0x64,
+0x59,0xda,0x50,0x60,0x00,0x64,0x59,0xda,0x00,0x60,0xf2,0x64,0x59,0xda,0x00,0x64,
+0x59,0xda,0x01,0x64,0x59,0xda,0xa0,0x60,0x00,0x64,0x59,0xda,0xd6,0xf1,0x64,0x47,
+0xfe,0xb4,0x64,0x40,0x01,0x26,0x01,0xbc,0x60,0x47,0xf8,0x7e,0x59,0xda,0x65,0x44,
+0x02,0xa5,0x2d,0x40,0x01,0x2a,0x10,0x00,0xd5,0x81,0x61,0x43,0x65,0x41,0xe9,0x81,
+0xbe,0xd2,0xff,0xff,0x60,0x47,0xbe,0xda,0x00,0x7e,0xa3,0xd2,0x60,0x5c,0x00,0x7f,
+0xb0,0x84,0xcd,0x81,0xbd,0xda,0xf4,0x02,0x2d,0x44,0xc4,0x84,0x40,0x4d,0x2e,0x58,
+0xff,0xff,0x6a,0x60,0x9a,0x62,0xa2,0xd3,0xff,0xff,0xff,0xff,0x01,0x2a,0x02,0x00,
+0x00,0x64,0x09,0x00,0x02,0x2a,0x02,0x00,0x01,0x64,0x05,0x00,0x04,0x2a,0x02,0x00,
+0x02,0x64,0x01,0x00,0x03,0x64,0x13,0xfa,0x2e,0x58,0xff,0xff,0xff,0x60,0xff,0x65,
+0x6a,0x60,0x18,0x63,0x27,0x42,0x3e,0xa2,0xa2,0xd3,0x7f,0x7c,0xa3,0xdb,0xd4,0x80,
+0x01,0x61,0x02,0x02,0x00,0x61,0x65,0x5c,0x6a,0x60,0x1a,0x62,0x61,0x44,0xa2,0xdb,
+0x6a,0x60,0x16,0x62,0xa2,0xd9,0x2e,0x58,0xff,0xff,0x27,0x42,0x32,0xa2,0x00,0x61,
+0x00,0x63,0xa2,0xd3,0xff,0xff,0x00,0xbc,0xe0,0x84,0x24,0x03,0x04,0x3a,0x02,0x00,
+0x01,0xb9,0x1e,0x00,0x08,0x3a,0x0a,0x00,0x02,0xb9,0x60,0x40,0x01,0x2b,0x18,0x00,
+0x01,0x65,0xd7,0x80,0xff,0xff,0x14,0x05,0x01,0x63,0x12,0x00,0x16,0x3a,0x0a,0x00,
+0x04,0xb9,0x60,0x40,0x01,0x2b,0x0c,0x00,0x02,0x65,0xd7,0x80,0xff,0xff,0x08,0x05,
+0x02,0x63,0x06,0x00,0x2c,0x3a,0x04,0x00,0x08,0xb9,0x60,0x40,0x01,0x27,0x03,0x63,
+0x02,0xa2,0xd7,0x00,0x62,0x60,0xda,0x62,0xa2,0xdd,0xbb,0xf1,0x62,0x60,0xdc,0x63,
+0xa1,0x84,0xa3,0xdb,0x60,0x40,0x08,0x2a,0x03,0x00,0x03,0x63,0x08,0x64,0x0c,0x00,
+0x04,0x2a,0x03,0x00,0x02,0x63,0x04,0x64,0x07,0x00,0x02,0x2a,0x03,0x00,0x01,0x63,
+0x02,0x64,0x02,0x00,0x00,0x63,0x01,0x64,0x43,0xfb,0x44,0xf1,0x64,0x60,0xec,0x62,
+0xa2,0xd9,0x44,0xfd,0x2e,0x58,0xff,0xff,0x27,0x43,0x06,0xa3,0xbd,0xd1,0x2b,0xf8,
+0x31,0xf8,0xff,0xff,0xbd,0xd1,0x2c,0xf8,0x32,0xf8,0xff,0xff,0xa3,0xd1,0x2d,0xf8,
+0x33,0xf8,0x2e,0x58,0xff,0xff,0xb0,0xf1,0xff,0xff,0x2e,0xf8,0xb1,0xf1,0x2f,0xf8,
+0xff,0xff,0xb2,0xf1,0x30,0xf8,0xf0,0x60,0x20,0x64,0x0e,0xfa,0x08,0x64,0x28,0xfa,
+0x2e,0x58,0xff,0xff,0x6a,0x60,0xbc,0x62,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xff,0xff,
+0xa2,0xdb,0x2b,0x60,0x48,0x62,0x01,0x64,0xa2,0xdb,0xff,0xff,0xc0,0xfe,0x2b,0x60,
+0x48,0x62,0x00,0x64,0xa2,0xdb,0x2e,0x58,0xff,0xff,0x6a,0x60,0x1c,0x62,0x27,0x43,
+0xa2,0xdd,0x02,0x65,0x06,0xa6,0x7e,0x00,0x00,0x10,0xc7,0x85,0xa5,0xd3,0xff,0xff,
+0x60,0x47,0x4e,0xfb,0x04,0x65,0xc7,0x85,0xa5,0xd3,0xff,0xff,0x60,0x47,0x4d,0xfb,
+0x0c,0x65,0xc7,0x85,0xa5,0xd3,0x74,0xfb,0xf1,0xa4,0xa0,0xfb,0xa0,0xf1,0x2b,0x60,
+0xba,0x62,0xa2,0xd9,0x3f,0x60,0xba,0x65,0x04,0xf0,0x3f,0x60,0xff,0x64,0x78,0xf9,
+0xa0,0x84,0x60,0x41,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xa5,0xdb,0x3f,0x60,0xb8,0x65,
+0x01,0x64,0x07,0xb1,0x03,0x00,0xe0,0x84,0xcd,0x81,0xff,0xff,0xfc,0x02,0xa5,0xdb,
+0x64,0x60,0xe6,0x63,0x26,0x46,0x31,0xf0,0x75,0xf9,0xbd,0xd9,0xff,0xff,0x32,0xf0,
+0x76,0xf9,0xbd,0xd9,0xff,0xff,0x33,0xf0,0x77,0xf9,0xa3,0xd9,0x2e,0x58,0xff,0xff,
+0x27,0x44,0x0e,0xa4,0xa0,0xd3,0xff,0xff,0x60,0x41,0xe8,0x84,0xe8,0x84,0xe8,0x84,
+0x34,0xf3,0xe8,0x85,0x94,0x84,0x01,0x26,0x26,0x00,0xb8,0xf1,0x1e,0xf3,0x91,0x80,
+0x20,0x2a,0x05,0x00,0x60,0x40,0x10,0x2a,0x1e,0x00,0x20,0xb1,0x61,0x5c,0x3a,0xf9,
+0x64,0x60,0xd6,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,0x12,0x03,0x50,0xfe,
+0x27,0x41,0x06,0xa1,0x64,0x60,0xd8,0x63,0xa1,0xd3,0xbd,0xd1,0x59,0xd3,0xd0,0x80,
+0xbd,0xd1,0x59,0xd3,0xd0,0x80,0xbd,0xd1,0xff,0xff,0xd0,0x80,0xff,0xff,0x01,0x01,
+0x02,0x00,0x00,0x64,0x01,0x00,0x01,0x64,0x00,0xbc,0x2e,0x58,0xff,0xff,0x6a,0x60,
+0x5a,0x63,0x00,0x64,0xbd,0xdb,0x01,0x64,0xbd,0xdb,0xa3,0xdb,0x27,0x44,0x02,0xa4,
+0xa0,0xd1,0x27,0x44,0x04,0xa4,0xa0,0xd3,0xff,0xff,0xd0,0x81,0xff,0xff,0x01,0x05,
+0x00,0x61,0x6a,0x60,0x52,0x63,0x61,0x44,0xbd,0xdb,0xa3,0xdb,0x6a,0x60,0x56,0x62,
+0xa2,0xd1,0xff,0xff,0xd1,0x81,0xff,0xff,0x01,0x05,0x00,0x61,0x6a,0x60,0x58,0x62,
+0x61,0x44,0xa2,0xdb,0x2e,0x58,0xff,0xff,0x63,0x60,0x0e,0x62,0x69,0x60,0x84,0x63,
+0x00,0x64,0xa2,0xdb,0xbd,0xdb,0xff,0xff,0xbd,0xdb,0xbd,0xdb,0xbd,0xdb,0x6a,0x60,
+0xdc,0x62,0x00,0x64,0xa2,0xdb,0x2e,0x58,0xff,0xff,0x7a,0x60,0xd6,0x64,0x00,0x7c,
+0x58,0xd9,0x58,0xd9,0x58,0xd9,0xff,0xff,0x58,0xd9,0xd5,0xf9,0xd7,0xf9,0x27,0x44,
+0x42,0xa4,0xa0,0xd1,0x00,0x64,0x64,0x40,0x04,0x27,0x01,0x64,0xe7,0xfb,0x64,0x40,
+0x01,0x2a,0x17,0x00,0x36,0xf3,0xff,0xff,0x60,0x40,0x0f,0x3a,0x12,0x00,0x34,0xf3,
+0xff,0xff,0x60,0x40,0x01,0x2a,0x0d,0x00,0x64,0x47,0x01,0xb4,0x02,0xbc,0xd7,0xfb,
+0x02,0x64,0xd6,0xf1,0x64,0x40,0x01,0x27,0x04,0xbc,0x64,0x40,0x01,0x26,0x08,0xbc,
+0xd5,0xfb,0x2e,0x58,0xff,0xff,0x00,0x64,0x51,0xfb,0x3f,0x60,0x98,0x63,0x21,0x44,
+0xbd,0xdb,0xff,0xff,0x1d,0xff,0x01,0x64,0xbd,0xfb,0x21,0x60,0xaa,0x62,0x00,0x64,
+0xa2,0xdb,0x5a,0xdb,0x00,0x60,0x2a,0x63,0x0c,0x60,0x40,0x61,0x0e,0x60,0x7e,0x64,
+0x58,0xd1,0x59,0xd9,0xfd,0x1f,0x2f,0x58,0xff,0xff,0x21,0x60,0xaa,0x62,0xa2,0xd1,
+0x00,0x60,0x04,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0x6e,0xf5,0xb0,0xf1,0x2e,0xf8,0xff,0xff,0xb1,0xf1,0x2f,0xf8,0xb2,0xf1,0xff,0xff,
+0x30,0xf8,0x73,0xf3,0x72,0xfb,0xe9,0xf3,0xff,0xff,0x60,0x47,0x01,0xbc,0x60,0x47,
+0xe9,0xfb,0x6a,0x60,0x1a,0x62,0xa2,0xd1,0x6a,0x60,0x12,0x62,0xa2,0xd9,0xd0,0xf3,
+0x14,0x7c,0x00,0xa0,0x0f,0x64,0x0e,0x02,0xbd,0xf3,0x14,0x7c,0xfc,0xa0,0x0f,0x64,
+0x09,0x03,0xc4,0xf3,0x28,0x7c,0xfd,0xa0,0x0f,0x64,0x04,0x04,0x01,0x60,0x86,0x64,
+0x01,0x03,0x78,0x64,0xa3,0xf9,0xa5,0xfb,0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,
+0xe9,0xf3,0xff,0xff,0x60,0x40,0x03,0x26,0x4d,0x00,0xbd,0xf3,0xff,0xff,0xfc,0xa0,
+0x6a,0x60,0x1c,0x64,0x0e,0x02,0xa0,0xd3,0xff,0xff,0x00,0xa0,0x4e,0xf3,0x60,0x43,
+0x08,0x03,0x02,0xa3,0x60,0x47,0x00,0x7f,0x4d,0xf1,0xbd,0xdb,0x64,0x47,0x00,0x7f,
+0xa3,0xdb,0xe9,0xf3,0xff,0xff,0x60,0x40,0x04,0x2a,0x21,0x00,0x6b,0x60,0x2c,0x62,
+0x80,0x60,0x02,0x64,0xa2,0xdb,0x00,0x65,0x03,0x61,0x7c,0xf1,0x2a,0x60,0xca,0x63,
+0xd3,0x80,0xa3,0xd3,0x0f,0x05,0x04,0xa3,0xa0,0xd3,0x45,0x48,0x00,0x7f,0xe0,0x85,
+0x19,0x60,0xd2,0x64,0x44,0xd3,0x28,0x45,0xa4,0x80,0xb4,0x85,0xf1,0x02,0xcd,0x81,
+0xff,0xff,0xee,0x02,0x19,0x60,0x90,0x62,0x65,0x44,0xa2,0xdb,0x1d,0x00,0x6b,0x60,
+0x2c,0x62,0x80,0x60,0x01,0x64,0xa2,0xdb,0x6a,0x60,0x2a,0x62,0x2e,0x44,0xa2,0xdb,
+0x59,0x60,0x58,0x4e,0x64,0x78,0xff,0xff,0x6a,0x60,0x2a,0x62,0xa2,0xd3,0xff,0xff,
+0x40,0x4e,0x0a,0x00,0x40,0x2a,0x04,0x00,0x19,0x60,0x8c,0x62,0xa2,0xd3,0xa5,0xfb,
+0x41,0x60,0x80,0x62,0x00,0x64,0xa2,0xdb,0xc4,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,
+0x74,0x05,0xe9,0xf3,0xff,0xff,0x60,0x40,0x40,0x26,0x6f,0x00,0x10,0x60,0x00,0x65,
+0x79,0xf3,0x6e,0xf5,0xa4,0x84,0x40,0x7e,0x29,0xfa,0x18,0x60,0x74,0x64,0xa0,0xd1,
+0x13,0xf8,0xff,0xff,0x4f,0xf3,0x00,0xf4,0x60,0x43,0xbd,0xd1,0x04,0x65,0xe9,0xf3,
+0x60,0x41,0x60,0x40,0x80,0x26,0x00,0x7c,0x61,0x44,0x64,0x47,0xa5,0xda,0x64,0x41,
+0xdd,0x81,0xe9,0x81,0x62,0x44,0x04,0x03,0xbd,0xd1,0xcd,0x81,0x58,0xd8,0xfc,0x02,
+0x58,0x8d,0x18,0x60,0x68,0x63,0xa3,0xd1,0x2d,0x44,0xc8,0x84,0x64,0x45,0x64,0x41,
+0x03,0xa1,0xe9,0x81,0x41,0x4c,0xbd,0xd1,0xcd,0x81,0x58,0xd8,0xfc,0x02,0x2d,0x44,
+0xa0,0xd2,0x2d,0x43,0x60,0x47,0x01,0x7e,0x4f,0xf1,0xa3,0xda,0xa4,0xd3,0xcb,0x83,
+0xe9,0xf3,0x60,0x41,0x60,0x40,0x80,0x26,0x00,0x61,0x61,0x44,0x44,0x8d,0xf8,0x84,
+0x2c,0x41,0x0c,0x04,0xbe,0xd2,0xff,0xff,0x60,0x47,0xbe,0xda,0x00,0x7e,0xa3,0xd2,
+0x60,0x45,0x00,0x7f,0xb4,0x84,0xcd,0x81,0xbd,0xda,0xf4,0x02,0x6e,0xf5,0x2d,0x44,
+0x04,0xa4,0x38,0xfa,0x22,0x60,0x42,0x63,0xb2,0xf3,0x71,0x5c,0x60,0x47,0xc0,0x84,
+0x1f,0xb5,0x01,0xb4,0xa3,0xdb,0x22,0x60,0x3e,0x62,0xa2,0xd3,0x65,0x41,0x60,0x45,
+0x61,0x44,0xd4,0x80,0xff,0xff,0x02,0x04,0xd4,0x84,0xfb,0x00,0x60,0x45,0x22,0x60,
+0x3c,0x62,0xa2,0xd3,0xff,0xff,0xc4,0x84,0x40,0x4a,0x22,0x60,0x40,0x62,0x00,0x64,
+0xa2,0xdb,0x18,0x00,0xc4,0xf3,0xff,0xff,0xfd,0xa0,0xfc,0xa0,0x0e,0x03,0x05,0x02,
+0x01,0x60,0x86,0x64,0xa5,0xfb,0x03,0x64,0xc4,0xfb,0xe9,0xf1,0xfe,0x60,0xff,0x64,
+0xa0,0x84,0xe9,0xfb,0x58,0x60,0x57,0x78,0xff,0xff,0x04,0x64,0xc4,0xfb,0x54,0x60,
+0x07,0x78,0xff,0xff,0x6b,0x60,0x2c,0x62,0x80,0x60,0x14,0x64,0xa2,0xdb,0xc4,0xf1,
+0x22,0x60,0x40,0x62,0xa2,0xd3,0xff,0xff,0xf2,0xa0,0xff,0xff,0xdb,0x03,0x01,0xa4,
+0xa2,0xdb,0x22,0x60,0x42,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,0x07,0x03,
+0x2a,0x44,0xdc,0x84,0xf2,0xa0,0xff,0xff,0x08,0x06,0x01,0x64,0x06,0x00,0x2a,0x44,
+0xcc,0x84,0xff,0xa0,0xff,0xff,0x01,0x05,0x0e,0x64,0x40,0x4a,0x22,0x60,0x02,0x63,
+0xe9,0xf3,0xff,0xff,0x60,0x40,0x40,0x26,0x20,0x00,0x64,0x44,0x04,0x36,0x1d,0x00,
+0x03,0x3a,0x02,0x00,0x22,0x60,0x1e,0x63,0xe9,0xf3,0xff,0xff,0x60,0x40,0x04,0x26,
+0x08,0x00,0x2a,0x44,0xe0,0x85,0x47,0xd3,0xff,0xff,0x01,0xb0,0xff,0xff,0xc2,0x03,
+0x0c,0x00,0x19,0x60,0xd2,0x63,0x2a,0x44,0xe0,0x85,0x19,0x60,0x90,0x62,0xa2,0xd1,
+0x47,0xd3,0xff,0xff,0xa0,0x80,0xff,0xff,0xb5,0x03,0x56,0xf1,0xff,0xff,0x64,0x40,
+0x00,0x3a,0x0d,0x00,0x3f,0x60,0x10,0x64,0xa0,0xd3,0xff,0xff,0x00,0xa0,0x60,0x46,
+0x0f,0xf2,0x05,0x03,0x60,0x40,0x02,0x26,0x05,0x00,0x0a,0xf2,0xf7,0x00,0x56,0x60,
+0x4a,0x78,0xff,0xff,0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,0xde,0xfe,0xff,0xff,
+0x0b,0x04,0x21,0x60,0xa6,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,0x55,0x60,0x80,0x64,
+0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x72,0xf1,0x3f,0x60,0x8a,0x62,0xa2,0xd9,
+0xca,0x82,0x1e,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,0x21,0x60,0xa6,0x62,0x20,0x60,
+0x00,0x64,0xa2,0xdb,0x55,0x60,0xa6,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,
+0xbe,0xfe,0x21,0x60,0x90,0x62,0xa2,0xd1,0x40,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,
+0xcf,0xfe,0x3f,0x60,0x10,0x64,0xa0,0xd3,0xff,0xff,0x00,0xa0,0x60,0x46,0x0f,0xf2,
+0x45,0x03,0x60,0x40,0x02,0x26,0x02,0x00,0x0a,0xf2,0xf7,0x00,0x3f,0x60,0x6a,0x62,
+0x3f,0x60,0x16,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0xc1,0xfe,0x6a,0x60,0xac,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,0xa6,0xf1,0x2b,0x60,0x4e,0x62,0xa2,0xd9,
+0x3f,0x60,0xa2,0x62,0x2b,0x60,0x4a,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,
+0x1d,0xff,0x21,0x60,0xa6,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x55,0x60,0xea,0x64,
+0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xa4,0x62,0xa2,0xd1,0xff,0x60,
+0xfb,0x61,0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0x3f,0x60,0x16,0x62,
+0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,0xd3,0x02,0xb3,0x00,0x21,0x60,0xa4,0x62,
+0x00,0x64,0xa2,0xdb,0xa4,0xf1,0x2b,0x60,0x4e,0x62,0xa2,0xd9,0x3f,0x60,0xa2,0x62,
+0x2b,0x60,0x4a,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,
+0xa6,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x56,0x60,0x18,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,0x11,0x60,0x48,0x65,
+0x2e,0x60,0x58,0x4e,0x9e,0x78,0xff,0xff,0x12,0x60,0x20,0x64,0x0e,0xfa,0x39,0x60,
+0x58,0x4e,0xfe,0x78,0xff,0xff,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x21,0x60,
+0xa6,0x62,0x00,0x60,0x01,0x64,0xa2,0xdb,0x56,0x60,0x40,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x21,0x60,0xa4,0x62,0xa2,0xd1,0xff,0x60,0xfe,0x61,0xa1,0x84,
+0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0xd0,0xf3,0x9a,0xf1,0x00,0xa0,0x73,0x44,
+0x24,0x03,0xd0,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xfe,0xa0,0x60,0x5c,
+0x01,0x05,0x02,0x7c,0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,0x2b,0x60,0x4e,0x62,
+0xa2,0xd9,0x3f,0x60,0xa2,0x62,0x2b,0x60,0x4a,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,
+0xff,0xff,0x1d,0xff,0x21,0x60,0xa6,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x56,0x60,
+0x73,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xa4,0x62,0x00,0x64,
+0xa2,0xdb,0xde,0xfe,0xff,0xff,0x0b,0x04,0x21,0x60,0xa6,0x62,0x40,0x60,0x00,0x64,
+0xa2,0xdb,0x56,0x60,0x73,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x3f,0x60,
+0x8a,0x62,0x2a,0x44,0xa2,0xdb,0xca,0x82,0x1e,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,
+0x21,0x60,0xa6,0x62,0x20,0x60,0x00,0x64,0xa2,0xdb,0x56,0x60,0x99,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0xbe,0xfe,0x21,0x60,0x90,0x62,0xa2,0xd1,0x40,0x60,
+0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x02,0x0a,0x00,0x64,0x4a,0xfb,0xe9,0xf3,
+0xff,0xff,0x60,0x40,0x40,0x2a,0x09,0x00,0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,
+0x80,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0xe9,0xf3,0xff,0xff,0x60,0x40,
+0x40,0x22,0x03,0x00,0x57,0x60,0xb3,0x78,0xff,0xff,0xc4,0xf3,0xff,0xff,0xfd,0xa0,
+0xff,0xff,0x47,0x05,0x6b,0x60,0x2c,0x62,0x80,0x60,0x21,0x64,0xa2,0xdb,0x21,0x60,
+0x7a,0x62,0xa2,0xd1,0x67,0x60,0x78,0x62,0xa2,0xd9,0xd0,0xf1,0x6a,0x60,0xd6,0x62,
+0xa2,0xd3,0x64,0x40,0x00,0x36,0x06,0x00,0xec,0xa0,0xff,0xff,0x03,0x05,0x55,0x60,
+0x20,0x78,0xff,0xff,0x6e,0xf5,0x00,0x64,0x22,0xfa,0x39,0x60,0x58,0x4e,0xfe,0x78,
+0xff,0xff,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,
+0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,
+0xa3,0xf1,0x2b,0x60,0x4e,0x62,0xa2,0xd9,0x3f,0x60,0xa2,0x62,0x2b,0x60,0x4a,0x64,
+0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0xc1,0xfe,0x21,0x60,0xa6,0x62,
+0x00,0x60,0x05,0x64,0xa2,0xdb,0x57,0x60,0x0a,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,
+0xff,0xff,0x57,0x60,0xb3,0x78,0xff,0xff,0x6b,0x60,0x2c,0x62,0x80,0x60,0x22,0x64,
+0xa2,0xdb,0xd0,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x1f,0x02,0x21,0x60,0xa4,0x62,
+0xa2,0xd1,0x00,0x60,0x01,0x64,0xa0,0x80,0x9c,0x84,0x0c,0x03,0xa0,0x84,0xa2,0xdb,
+0x3f,0x60,0xa2,0x62,0x2b,0x60,0x4a,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,
+0x1d,0xff,0x5a,0x00,0x2b,0x60,0x48,0x62,0x01,0x64,0xa2,0xdb,0xff,0xff,0xc0,0xfe,
+0x00,0x64,0xa2,0xdb,0x55,0x60,0x20,0x78,0xff,0xff,0x21,0x60,0xa4,0x62,0xa2,0xd1,
+0x00,0x60,0x01,0x64,0xa0,0x80,0x9c,0x84,0x0d,0x03,0xa0,0x84,0xa2,0xdb,0x21,0x60,
+0xa6,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x56,0x60,0xcb,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0xff,0x60,0xfb,0x64,0xa0,0x84,0xa2,0xdb,0x6a,0x60,0xd6,0x62,
+0xa2,0xd3,0xff,0xff,0xfb,0xa0,0x60,0x5c,0x01,0x07,0x05,0x7c,0x2b,0x60,0x4e,0x62,
+0xa2,0xd9,0x3f,0x60,0xa2,0x62,0x2b,0x60,0x4a,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,
+0xff,0xff,0x1d,0xff,0x21,0x60,0xa6,0x62,0x00,0x60,0x05,0x64,0xa2,0xdb,0x57,0x60,
+0x6b,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xa4,0x62,0xa2,0xd1,
+0x00,0x60,0x01,0x64,0xa0,0x80,0x9c,0x84,0x0e,0x03,0xa0,0x84,0xa2,0xdb,0x3f,0x60,
+0xa2,0x62,0x2b,0x60,0x4a,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,
+0x56,0x60,0xcb,0x78,0xff,0xff,0xa6,0x00,0x6b,0x60,0x2c,0x62,0x80,0x60,0x12,0x64,
+0xa2,0xdb,0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,0xa4,0xf1,0x2b,0x60,0x4e,0x62,
+0xa2,0xd9,0x3f,0x60,0xa2,0x62,0x2b,0x60,0x4a,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,
+0xff,0xff,0x1d,0xff,0x21,0x60,0xa6,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x57,0x60,
+0xa3,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xa4,0x62,0x00,0x64,
+0xa2,0xdb,0x4a,0xf3,0x3d,0x0a,0x00,0xa8,0xff,0xff,0x3a,0x02,0x59,0x60,0x58,0x4e,
+0xb3,0x78,0xff,0xff,0x55,0x60,0x20,0x78,0xff,0xff,0x21,0x60,0xa4,0x62,0x00,0x64,
+0xa2,0xdb,0xa5,0xf1,0x2b,0x60,0x4e,0x62,0xa2,0xd9,0x3f,0x60,0xa2,0x62,0x2b,0x60,
+0x4a,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,0xa6,0x62,
+0x00,0x60,0x04,0x64,0xa2,0xdb,0x57,0x60,0xcf,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,
+0xff,0xff,0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,0xc4,0xf3,0xff,0xff,0xff,0xa0,
+0xff,0xff,0x03,0x03,0x55,0x60,0x20,0x78,0xff,0xff,0xe9,0xf3,0xff,0xff,0x60,0x40,
+0x03,0x26,0x03,0x00,0x54,0x60,0x07,0x78,0xff,0xff,0x55,0x60,0x20,0x78,0xff,0xff,
+0x6b,0x60,0x2c,0x62,0x80,0x60,0x13,0x64,0xa2,0xdb,0xa5,0xf1,0x2b,0x60,0x4e,0x62,
+0xa2,0xd9,0xa6,0xf1,0x2b,0x60,0x5a,0x62,0xa2,0xd9,0x3f,0x60,0xa2,0x62,0x2b,0x60,
+0x4a,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x3f,0x60,0xa6,0x62,
+0x2b,0x60,0x56,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,
+0xa6,0x62,0x00,0x60,0x0c,0x64,0xa2,0xdb,0x58,0x60,0x12,0x64,0x5a,0xdb,0xcf,0xfe,
+0x03,0x64,0x4b,0xfb,0x2f,0x58,0xff,0xff,0x21,0x60,0xa4,0x62,0xa2,0xd1,0x00,0x60,
+0x04,0x64,0xa0,0x80,0x9c,0x84,0x12,0x03,0xa0,0x84,0xa2,0xdb,0x3f,0x60,0xa6,0x62,
+0x2b,0x60,0x56,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x59,0x60,
+0x58,0x4e,0xb3,0x78,0xff,0xff,0x55,0x60,0x20,0x78,0xff,0xff,0x00,0x60,0x08,0x64,
+0xa0,0x80,0x9c,0x84,0xdf,0x03,0xa0,0x84,0xa2,0xdb,0x4a,0xf3,0x18,0x0a,0x00,0xa0,
+0x4b,0xf3,0x13,0x02,0xcc,0x84,0x4b,0xfb,0x12,0x02,0x3f,0x60,0xa2,0x62,0x2b,0x60,
+0x4a,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x59,0x60,0x58,0x4e,
+0xb3,0x78,0xff,0xff,0x55,0x60,0x20,0x78,0xff,0xff,0x00,0x64,0x4a,0xfb,0x3f,0x60,
+0xa6,0x62,0x2b,0x60,0x56,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,
+0xb9,0x00,0x21,0x60,0x7c,0x62,0x6a,0x60,0x10,0x63,0xa2,0xd3,0xff,0xff,0x04,0xa4,
+0xa3,0xdb,0x63,0x60,0x24,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x21,0x60,
+0xa4,0x62,0x00,0x64,0xa2,0xdb,0xde,0xfe,0xff,0xff,0x0b,0x04,0x21,0x60,0xa6,0x62,
+0x40,0x60,0x00,0x64,0xa2,0xdb,0x58,0x60,0x65,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,
+0xff,0xff,0x72,0xf1,0x3f,0x60,0x8a,0x62,0xa2,0xd9,0xca,0x82,0x1e,0x64,0xa2,0xdb,
+0xff,0xff,0x2d,0xff,0x21,0x60,0xa6,0x62,0x20,0x60,0x00,0x64,0xa2,0xdb,0x58,0x60,
+0x8b,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0xbe,0xfe,0x21,0x60,0x90,0x62,
+0xa2,0xd1,0x40,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0xe9,0xf3,0xff,0xff,
+0x60,0x40,0x03,0x22,0x03,0x00,0x59,0x60,0x50,0x78,0xff,0xff,0x6b,0x60,0x2c,0x62,
+0x80,0x60,0x03,0x64,0xa2,0xdb,0x6a,0x60,0xd0,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,
+0xff,0xff,0x01,0x03,0x01,0x64,0x40,0x47,0x7e,0xf1,0x22,0x60,0x48,0x63,0xc3,0x85,
+0x45,0x4d,0x2a,0x60,0xc8,0x65,0x7d,0xf3,0x45,0x4c,0x40,0x48,0x62,0x60,0xfc,0x62,
+0x28,0x44,0xd4,0x84,0xe8,0x84,0xe8,0x84,0xa2,0xdb,0x2d,0x45,0xd7,0x80,0x02,0x65,
+0x24,0x05,0x47,0xd1,0x02,0x65,0x47,0xd3,0x0a,0x65,0xd0,0x81,0x47,0xd3,0x01,0x05,
+0x00,0x61,0xf2,0xa3,0x01,0xb0,0xa3,0xd3,0x11,0x03,0x60,0x47,0x00,0x7f,0x27,0x40,
+0x01,0x2a,0x00,0x64,0xfc,0xa0,0xff,0xff,0x01,0x06,0x04,0x64,0x61,0x45,0xc4,0x84,
+0x2c,0x42,0xa2,0xdb,0x5a,0xdd,0x5a,0x8c,0x44,0xa3,0xdf,0x00,0x61,0x44,0x28,0x42,
+0x4a,0xdd,0x4a,0xdb,0x42,0x48,0x44,0xa3,0xd8,0x00,0x28,0x44,0x7c,0xfb,0x7c,0xf1,
+0x2a,0x60,0xc8,0x63,0x44,0x48,0x28,0x45,0xd7,0x80,0xa3,0xd1,0x15,0x05,0x04,0x65,
+0x46,0xd3,0x28,0x45,0xd6,0x80,0xd0,0x80,0x02,0x04,0x04,0xa3,0xf5,0x00,0xf7,0x06,
+0x62,0x46,0xa2,0xd9,0xa3,0xdb,0x5b,0xd3,0x66,0x42,0x5a,0xd1,0xa2,0xdb,0xa3,0xd9,
+0xfe,0xa3,0xa3,0xd1,0x66,0x42,0xeb,0x00,0x6a,0x60,0x12,0x62,0xa2,0xd3,0xff,0xff,
+0xff,0xa0,0x7c,0xf1,0x47,0x02,0x2a,0x60,0xc8,0x63,0xd3,0x80,0xa3,0xd3,0x43,0x48,
+0xe4,0xa0,0x40,0x05,0x3f,0x04,0xfb,0xa4,0x60,0x45,0x04,0xa2,0xd2,0x80,0xa2,0xd3,
+0x05,0x05,0xd4,0x80,0xff,0xff,0x02,0x04,0x42,0x48,0xf7,0x00,0x28,0x45,0x43,0x4c,
+0xd7,0x80,0x63,0x42,0x5a,0xd3,0x2e,0x05,0x3e,0xa4,0xa0,0xd3,0x04,0xa3,0x63,0x42,
+0xd7,0x80,0x5a,0xd1,0x23,0x07,0x64,0x42,0x3e,0xa2,0xa2,0xd1,0xff,0xff,0x90,0x80,
+0x00,0x3a,0x0a,0x00,0x60,0x41,0x2c,0x42,0xa2,0xd3,0xa3,0xd1,0xff,0xff,0xd0,0x80,
+0x61,0x5c,0x06,0x04,0x61,0x44,0xea,0x00,0xd0,0x80,0xff,0xff,0x01,0x07,0xe6,0x00,
+0x64,0x41,0x5b,0xd3,0x2c,0x42,0x5a,0xd1,0xa2,0xdb,0xa3,0xd9,0xff,0xff,0x4b,0xd3,
+0x2c,0x42,0xa2,0xd1,0xa2,0xdb,0xa3,0xd9,0x61,0x44,0xd8,0x00,0x2c,0x43,0x04,0xa3,
+0x43,0x4c,0xce,0x00,0xe9,0xf1,0xff,0x60,0x3f,0x64,0xa0,0x84,0xe9,0xfb,0x21,0x60,
+0x90,0x62,0xa2,0xd1,0x10,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,0x21,0x60,
+0xa4,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x2f,0x58,0xff,0xff,0x6a,0x60,0x1c,0x62,
+0xa2,0xd3,0xff,0xff,0x00,0xa0,0xa0,0xd3,0x02,0x03,0x80,0xbc,0xa2,0xdb,0x22,0x60,
+0x48,0x63,0x63,0x45,0x2a,0x60,0xc8,0x64,0x7e,0xf3,0x40,0x48,0xc4,0x84,0x40,0x4c,
+0x2c,0x5c,0xd3,0x80,0xa3,0xd3,0x1f,0x05,0x60,0x47,0x80,0x2a,0x02,0x00,0x02,0x36,
+0x02,0xa4,0xfe,0xa4,0x60,0x47,0xa3,0xdb,0x60,0x40,0x00,0x3b,0x02,0x00,0x44,0xa3,
+0xef,0x00,0xd7,0x80,0xff,0xff,0x07,0x03,0x22,0x61,0xbd,0xd1,0xa5,0xd9,0xcd,0x81,
+0xda,0x85,0xfb,0x02,0x04,0x00,0x44,0xa3,0x65,0x44,0x44,0xa4,0x60,0x45,0x28,0x44,
+0x04,0xa4,0x40,0x48,0xdd,0x00,0x45,0x4c,0x22,0x60,0x48,0x65,0x2c,0x44,0xd4,0x84,
+0x7e,0xfb,0x65,0x43,0x2c,0x5c,0xd3,0x80,0xa3,0xd3,0x0b,0x05,0x60,0x40,0x80,0x26,
+0x02,0x00,0x44,0xa3,0xf8,0x00,0x80,0xac,0xa3,0xdb,0x6a,0x60,0x1c,0x65,0x63,0x44,
+0xa5,0xdb,0x28,0x44,0x7d,0xfb,0x2e,0x58,0xff,0xff,0x67,0x60,0x78,0x62,0xa2,0xd1,
+0x21,0x60,0x7a,0x62,0xa2,0xd3,0xff,0xff,0xd0,0x9c,0x67,0x60,0x7a,0x63,0x2a,0x44,
+0xe0,0x84,0xe0,0x85,0x47,0xd3,0xff,0xff,0xdc,0x84,0xbd,0xdb,0xa3,0xd9,0x2e,0x58,
+0xff,0xff,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x4a,0x64,0xa2,0xdb,0x03,0x64,0x4a,0xdb,
+0xff,0xff,0x1d,0xff,0x21,0x60,0xa4,0x62,0x00,0x64,0xa2,0xdb,0x5a,0xdb,0x2f,0x58,
+0xff,0xff,0x21,0x60,0xa4,0x62,0xa2,0xd1,0x00,0x60,0x04,0x64,0xb0,0x84,0xa2,0xdb,
+0xff,0xff,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xa4,0x62,0xa2,0xd1,0x00,0x60,
+0x08,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x2f,0x58,0xff,0xff,0xe9,0xf3,
+0xff,0xff,0x60,0x40,0x03,0x26,0x37,0x00,0x6b,0x60,0x2c,0x62,0x80,0x60,0x23,0x64,
+0xa2,0xdb,0x22,0x60,0x48,0x63,0x7e,0xf3,0xff,0xff,0x00,0xa0,0x60,0x45,0x08,0x03,
+0xc7,0x85,0x5c,0x60,0x58,0x4e,0xd9,0x78,0xff,0xff,0x65,0x40,0x01,0x26,0x06,0x00,
+0x22,0x60,0x48,0x63,0x7e,0xf1,0x08,0x60,0x80,0x64,0x33,0x00,0x63,0x44,0x7b,0xfb,
+0xa3,0xd3,0xff,0xff,0x08,0x7f,0xa3,0xdb,0x25,0xf2,0x02,0xa3,0x60,0x45,0x00,0x7f,
+0xbd,0xdb,0x65,0x47,0x00,0x7f,0xa3,0xdb,0x5b,0x60,0x58,0x4e,0x51,0x78,0xff,0xff,
+0x64,0x44,0x00,0x3b,0x05,0x00,0x7b,0xf1,0xff,0xff,0x64,0x43,0x3e,0xa3,0xa3,0xdb,
+0x5b,0x60,0x4e,0x78,0xff,0xff,0x41,0x60,0x80,0x63,0xbd,0xd3,0xff,0xff,0x00,0xa0,
+0x60,0x45,0x08,0x03,0xc7,0x85,0x5c,0x60,0x58,0x4e,0xd9,0x78,0xff,0xff,0x65,0x40,
+0x01,0x26,0xee,0x00,0x41,0x60,0x82,0x63,0x41,0x60,0x80,0x62,0xa2,0xd1,0x1a,0x60,
+0x90,0x64,0xd0,0x80,0xff,0xff,0xe4,0x06,0xc3,0x83,0x7b,0xfd,0xff,0xff,0x73,0xf3,
+0x25,0xf0,0x08,0x7f,0xbd,0xdb,0x64,0x44,0x00,0x7f,0xbd,0xdb,0x64,0x47,0x00,0x7f,
+0xbd,0xdb,0x31,0xf0,0xbd,0xd9,0xff,0xff,0x32,0xf0,0xbd,0xd9,0x33,0xf0,0xff,0xff,
+0xbd,0xd9,0xff,0x60,0xff,0x7c,0x38,0xf2,0x00,0xf4,0x05,0xa4,0xa0,0xd8,0x06,0xf0,
+0xff,0xff,0xbd,0xd9,0x07,0xf0,0xff,0xff,0xbd,0xd9,0xe9,0xf3,0xff,0xff,0x03,0xb4,
+0xff,0xff,0x0a,0x02,0x16,0x60,0xd8,0x62,0xa2,0xd3,0xff,0xff,0x60,0x40,0x01,0x3a,
+0x03,0x00,0x64,0x40,0x01,0x2a,0xb4,0x00,0x00,0x64,0x32,0xa3,0xa3,0xdb,0x5b,0x60,
+0x58,0x4e,0x51,0x78,0xff,0xff,0xff,0x60,0xfe,0x64,0xd0,0x80,0xff,0xff,0xa8,0x03,
+0xc4,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,0x58,0x05,0x00,0x36,0x13,0x00,0x6a,0x60,
+0x20,0x64,0xa0,0xd3,0xff,0xff,0x00,0xa0,0x60,0x43,0x0c,0x03,0x5c,0x60,0x58,0x4e,
+0xbe,0x78,0xff,0xff,0x64,0x43,0x18,0x60,0x18,0x64,0xa0,0xd1,0x65,0x44,0xd0,0x80,
+0x63,0x5c,0x8e,0x02,0x7b,0xf3,0xff,0xff,0x3e,0xa4,0x60,0x43,0xbd,0xd9,0x61,0x44,
+0xbd,0xdb,0xe9,0xf3,0xff,0xff,0x60,0x40,0x03,0x26,0x28,0x00,0xff,0x60,0xff,0x64,
+0xd0,0x80,0xff,0xff,0x04,0x02,0x6a,0x60,0x12,0x62,0x00,0x64,0xa2,0xdb,0x16,0x60,
+0xd8,0x62,0xa2,0xd1,0x80,0x60,0xc0,0x61,0xa1,0xd3,0x64,0x40,0x01,0x3a,0x16,0x00,
+0x60,0x43,0x00,0x36,0x13,0x00,0xff,0xa3,0xe3,0x83,0x66,0x45,0x26,0x46,0x50,0xfe,
+0x31,0xf2,0x59,0xd1,0x32,0xf2,0xd0,0x80,0x59,0xd1,0x33,0xf2,0xd0,0x80,0x59,0xd1,
+0xff,0xff,0xd0,0x80,0xff,0xff,0x11,0x01,0xf2,0x1f,0x65,0x46,0x5d,0x60,0x58,0x4e,
+0x12,0x78,0xff,0xff,0x7b,0xf3,0x42,0x65,0x44,0xd9,0xce,0xa4,0x60,0x43,0x00,0x64,
+0x08,0xf0,0xa3,0xdb,0x64,0x47,0x60,0x45,0x00,0x3b,0x4b,0x00,0x00,0x36,0x49,0x00,
+0xbd,0xdb,0xdc,0x84,0xe8,0x81,0x10,0x64,0x58,0xd0,0xcd,0x81,0xbd,0xd9,0xfc,0x02,
+0xd8,0x83,0x04,0x64,0x40,0x4d,0x07,0x61,0x65,0x40,0x01,0x2a,0xbd,0xd0,0xff,0xff,
+0x64,0x44,0x00,0x7f,0x2d,0x42,0xa2,0xda,0x5a,0x8d,0x64,0x47,0x00,0x7f,0x2d,0x42,
+0xa2,0xda,0xcd,0x81,0x5a,0x8d,0xf2,0x02,0x7b,0xf1,0x32,0x63,0xc3,0x83,0x04,0x61,
+0x65,0x40,0x01,0x26,0x02,0xa1,0xa1,0xd2,0xff,0xff,0x06,0xb6,0x7e,0x00,0x00,0x10,
+0x01,0xa8,0x59,0xd2,0x21,0x02,0x59,0xd0,0xcc,0x84,0xbd,0xd9,0xfc,0x02,0x00,0x64,
+0xbd,0xdb,0x59,0xd2,0x59,0xd0,0x03,0xa8,0x73,0xf3,0x16,0x02,0x59,0xd0,0xff,0xff,
+0x00,0x7f,0xd0,0x80,0xff,0xff,0x10,0x02,0x7b,0xf3,0x32,0x65,0xc4,0x83,0x00,0x61,
+0xa3,0xd3,0xff,0xff,0x60,0x40,0xff,0x22,0x14,0x00,0x80,0x2a,0x10,0x00,0x60,0x40,
+0x82,0x3a,0x03,0x00,0x01,0xb9,0x0b,0x00,0x26,0x00,0x84,0x3a,0x02,0x00,0x02,0xb9,
+0x06,0x00,0x8b,0x3a,0x02,0x00,0x04,0xb9,0x02,0x00,0x96,0x36,0x08,0xb9,0x02,0xa3,
+0xe7,0x00,0x7b,0xf3,0x3c,0x65,0xc4,0x82,0x61,0x43,0xa2,0xdd,0xe9,0xf3,0xff,0xff,
+0x60,0x40,0x03,0x26,0x09,0x00,0x7e,0xf3,0xff,0xff,0x44,0xa4,0x7e,0xfb,0x7d,0xf3,
+0xff,0xff,0x04,0xa4,0xa2,0xdb,0x07,0x00,0x41,0x60,0x80,0x62,0xa2,0xd3,0xff,0xff,
+0x44,0xa4,0xa2,0xdb,0xff,0xff,0x26,0x46,0x2f,0x58,0xff,0xff,0x6a,0x60,0x26,0x62,
+0x2e,0x44,0xa2,0xdb,0x6a,0x60,0x20,0x62,0x00,0x7c,0xa2,0xd9,0x6a,0x60,0x2c,0x62,
+0xa2,0xd9,0x80,0x60,0x8a,0x62,0xa2,0xd9,0x01,0xf2,0x10,0x63,0x00,0x7f,0xf4,0xa4,
+0x60,0x41,0x10,0x63,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,
+0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x60,0x5c,0x63,0x44,0x01,0x22,
+0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,
+0x00,0x7f,0x60,0x45,0x64,0x44,0xad,0xa8,0x07,0xa8,0x13,0x03,0xdd,0xa8,0x1b,0x03,
+0x05,0x02,0x80,0x60,0x88,0x62,0x5a,0xdd,0x65,0x44,0x5a,0xdb,0xc9,0x81,0xd5,0x81,
+0x61,0x44,0x80,0x27,0x03,0x00,0xff,0xa0,0xc7,0x83,0xd4,0x07,0x5c,0x60,0x68,0x78,
+0xff,0xff,0x6a,0x60,0x2a,0x62,0x5a,0xdd,0x65,0x44,0x5a,0xdb,0x61,0x44,0x5a,0xdb,
+0x5c,0x60,0x20,0x78,0xff,0xff,0x6a,0x60,0x20,0x62,0xa2,0xdd,0xc4,0xf3,0xff,0xff,
+0xfd,0xa0,0xff,0xff,0xe3,0x04,0x18,0x60,0x18,0x61,0x5c,0x60,0x58,0x4e,0xbe,0x78,
+0xff,0xff,0x65,0x44,0xa1,0xdb,0x08,0xa1,0xa1,0xdb,0x02,0xa1,0x63,0x44,0x01,0x22,
+0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,
+0x00,0x7f,0xa1,0xdb,0x22,0x60,0x3c,0x61,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,
+0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0xa1,0xdb,
+0x22,0x60,0x3e,0x61,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,
+0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0xf2,0xa0,0xff,0xff,0x01,0x06,
+0x0e,0x64,0xa1,0xdb,0x18,0x60,0x16,0x61,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,
+0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0xa1,0xdb,
+0x3e,0x60,0x58,0x4e,0xbf,0x78,0xff,0xff,0x22,0x60,0x3e,0x61,0xa1,0xd1,0x22,0x60,
+0x04,0x63,0x22,0x60,0x3c,0x62,0xa2,0xd3,0x01,0x61,0x00,0x65,0xff,0xa0,0xff,0xff,
+0x04,0x03,0xe1,0x81,0xcc,0x84,0x02,0xa3,0xf9,0x00,0x64,0x44,0x05,0x7c,0xb5,0x85,
+0xbd,0xd9,0xcc,0x84,0x00,0xa0,0xe1,0x81,0xfa,0x02,0x65,0x44,0x9b,0xfb,0x16,0x60,
+0xd8,0x62,0xa2,0xd3,0x01,0x7c,0x04,0xa8,0xc4,0xf9,0x05,0x02,0x0c,0x60,0x50,0x62,
+0x6b,0x60,0xac,0x64,0xa2,0xdb,0x0b,0x65,0x3d,0x60,0x58,0x4e,0x39,0x78,0xff,0xff,
+0xff,0x60,0xfe,0x7c,0x5c,0x60,0x6c,0x78,0xff,0xff,0x45,0x4d,0x5c,0x60,0x58,0x4e,
+0xbe,0x78,0xff,0xff,0xa0,0x60,0x00,0x64,0xd4,0x80,0xff,0xff,0x3e,0x02,0x63,0x44,
+0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,
+0x01,0xa3,0x00,0x7f,0xf8,0x65,0xd4,0x80,0xff,0xff,0x2f,0x02,0x5c,0x60,0x58,0x4e,
+0xbe,0x78,0xff,0xff,0x65,0x5c,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x67,0x41,
+0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x2d,0x44,0xf1,0xa0,0xff,0xff,0x21,0x04,
+0x45,0x4d,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x65,0x41,0xe9,0xf3,0xff,0xff,
+0x60,0x40,0x03,0x26,0x10,0x00,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x6a,0x60,
+0x22,0x62,0x65,0x44,0xa2,0xdb,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x6a,0x60,
+0x24,0x62,0x65,0x44,0xa2,0xdb,0x2d,0x45,0x04,0x00,0xff,0x60,0xff,0x7c,0x64,0x41,
+0x00,0x65,0x6a,0x60,0x26,0x62,0xa2,0xd3,0xff,0xff,0x40,0x4e,0x2e,0x58,0xff,0xff,
+0x6a,0x60,0x26,0x62,0x2e,0x44,0xa2,0xdb,0x6a,0x60,0x2a,0x62,0x5a,0xd3,0x5a,0xd1,
+0x00,0xa0,0x60,0x43,0x38,0x03,0x5a,0xd3,0x64,0x45,0x60,0x41,0x1c,0x00,0x63,0x44,
+0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,
+0x01,0xa3,0x00,0x7f,0x60,0x5c,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,
+0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x60,0x45,0x64,0x44,
+0xae,0xa8,0xff,0xff,0x09,0x03,0xc9,0x81,0xd5,0x81,0x61,0x44,0x80,0x27,0x13,0x00,
+0xff,0xa0,0xc7,0x83,0xdc,0x07,0x0f,0x00,0xdf,0x83,0x5c,0x60,0x58,0x4e,0xbe,0x78,
+0xff,0xff,0xf8,0x60,0xa0,0x64,0xd4,0x80,0xff,0xff,0x05,0x02,0x5c,0x60,0x58,0x4e,
+0xbe,0x78,0xff,0xff,0x01,0x00,0x00,0x65,0x6a,0x60,0x26,0x62,0xa2,0xd3,0xff,0xff,
+0x40,0x4e,0x2e,0x58,0xff,0xff,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,
+0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x60,0x45,0x63,0x44,
+0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,
+0x01,0xa3,0x00,0x7f,0x60,0x47,0xb4,0x85,0x2e,0x58,0xff,0xff,0x63,0x5c,0x04,0x64,
+0xc0,0x81,0x31,0xf2,0x50,0xfe,0x59,0xd1,0x32,0xf2,0xd0,0x80,0x59,0xd1,0x33,0xf2,
+0xd0,0x80,0x59,0xd1,0xff,0xff,0xd0,0x80,0xff,0xff,0x01,0x01,0x1e,0x00,0x00,0xf4,
+0x06,0xa1,0x08,0xf2,0xa1,0xd1,0x02,0xa1,0xc1,0x81,0x60,0x47,0xd0,0x80,0x12,0xa4,
+0x13,0x02,0x01,0x2a,0x09,0x00,0x01,0xac,0x01,0xa9,0xa1,0xd1,0xa0,0xd0,0x64,0x42,
+0x92,0x82,0x62,0x40,0x00,0x3a,0x08,0x00,0x48,0xd0,0x49,0xd1,0x64,0x42,0xf0,0xa0,
+0xd2,0x80,0x09,0x03,0x01,0x02,0xf8,0x00,0x26,0x46,0x44,0xa3,0xd7,0x80,0xff,0xff,
+0xcd,0x02,0x00,0x65,0x01,0x00,0x01,0x65,0x26,0x46,0x2e,0x58,0xff,0xff,0x6a,0x60,
+0x26,0x62,0x2e,0x44,0xa2,0xdb,0x80,0x60,0x88,0x62,0x5a,0xd3,0x5a,0xd1,0x00,0xa0,
+0x60,0x43,0x64,0x45,0x30,0x02,0x6a,0x60,0x2a,0x62,0x5a,0xd3,0x5a,0xd1,0x00,0xa0,
+0x60,0x43,0x7c,0x03,0x5a,0xd3,0x64,0x45,0x60,0x41,0x1c,0x00,0x63,0x44,0x01,0x22,
+0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,
+0x00,0x7f,0x60,0x5c,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,
+0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x60,0x45,0x64,0x44,0xdd,0xa8,
+0xff,0xff,0x09,0x03,0xc9,0x81,0xd5,0x81,0x61,0x44,0x80,0x27,0x57,0x00,0xff,0xa0,
+0xc7,0x83,0xdc,0x07,0x53,0x00,0x45,0x4d,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,
+0x50,0x60,0x00,0x64,0xd4,0x80,0xff,0xff,0x49,0x02,0x5c,0x60,0x58,0x4e,0xbe,0x78,
+0xff,0xff,0x01,0x60,0xf2,0x64,0xd4,0x80,0xff,0xff,0x40,0x02,0x5c,0x60,0x58,0x4e,
+0xbe,0x78,0xff,0xff,0x00,0x60,0x01,0x64,0xd4,0x80,0xff,0xff,0x37,0x02,0x2d,0x44,
+0xfa,0xa0,0xf6,0xa4,0x33,0x03,0x04,0xa3,0x40,0x4d,0x00,0x36,0x2f,0x00,0x5c,0x60,
+0x58,0x4e,0xbe,0x78,0xff,0xff,0x65,0x44,0xe0,0x84,0xe0,0x85,0x2d,0x44,0xfe,0xa4,
+0xd4,0x84,0x40,0x4d,0x00,0x36,0x22,0x00,0xc7,0x83,0x5c,0x60,0x58,0x4e,0xbe,0x78,
+0xff,0xff,0x65,0x41,0x00,0x36,0x1a,0x00,0xa0,0x60,0x00,0x7c,0x61,0x40,0x00,0x36,
+0x15,0x00,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x65,0x44,0xd0,0x80,0xff,0xff,
+0x0a,0x02,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x65,0x44,0xf8,0x3a,0x04,0x00,
+0x01,0x7e,0x60,0x5c,0x04,0x00,0x02,0xa3,0xcd,0x81,0xe8,0x00,0x00,0x7c,0x6a,0x60,
+0x26,0x62,0xa2,0xd3,0xff,0xff,0x40,0x4e,0x2e,0x58,0xff,0xff,0x2f,0x58,0xff,0xff,
+0x21,0x60,0xc2,0x62,0xa2,0xd1,0x00,0x60,0x04,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0xae,0xf1,0x2b,0x60,0x96,0x62,0xa2,0xd9,0x3f,0x60,
+0xaa,0x62,0x2b,0x60,0x92,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,
+0x21,0x60,0xc4,0x62,0x00,0x60,0x0c,0x64,0xa2,0xdb,0x5d,0x60,0xce,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xc2,0x62,0xa2,0xd1,0x00,0x60,0x08,0x64,
+0xa0,0x80,0x9c,0x84,0x0c,0x03,0xa0,0x84,0xa2,0xdb,0x0f,0x47,0x6a,0x60,0x94,0x62,
+0x6f,0x60,0x00,0x64,0xa2,0xdb,0x58,0x4f,0x29,0x00,0x07,0x4f,0xd4,0x00,0x21,0x60,
+0xc2,0x62,0xa2,0xd1,0xff,0x60,0xfb,0x61,0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,
+0x5a,0xdb,0xbd,0xf3,0xff,0xff,0xfc,0xa0,0xff,0xff,0xc5,0x02,0x18,0x60,0x10,0x62,
+0xa2,0xd3,0xff,0xff,0xff,0xff,0x02,0x2a,0xbe,0x00,0x0f,0x47,0x6a,0x60,0x94,0x62,
+0x66,0x60,0x00,0x64,0xa2,0xdb,0x58,0x4f,0x09,0x00,0x6a,0x60,0x94,0x62,0x69,0x60,
+0x00,0x64,0xa2,0xdb,0x58,0x4f,0x02,0x00,0x07,0x4f,0xad,0x00,0x3b,0xf1,0x0f,0x4e,
+0x64,0x41,0x41,0x4d,0x40,0xa1,0xa2,0xff,0x19,0x60,0x58,0x4f,0x39,0x78,0xff,0xff,
+0xa3,0xff,0x06,0x03,0x2d,0x41,0x19,0x60,0x58,0x4f,0x5b,0x78,0xff,0xff,0x08,0xfe,
+0x0e,0x4f,0x03,0x02,0x5f,0x60,0xbc,0x78,0xff,0xff,0x6a,0x60,0x94,0x64,0xa0,0xd3,
+0xff,0xff,0x60,0x47,0xff,0xff,0x66,0x3a,0x59,0x00,0x43,0xf1,0x64,0x60,0xaa,0x64,
+0xa0,0xd9,0x73,0xf1,0x64,0x60,0xac,0x64,0xa0,0xd9,0x78,0xf1,0x64,0x60,0xb4,0x64,
+0xa0,0xd9,0xbd,0xf1,0x64,0x60,0xb6,0x64,0xa0,0xd9,0xb0,0xf1,0x64,0x60,0xb8,0x64,
+0xa0,0xd9,0xb9,0xf1,0x64,0x60,0xbe,0x64,0xa0,0xd9,0xba,0xf1,0x64,0x60,0xc0,0x64,
+0xa0,0xd9,0x64,0x60,0xae,0x63,0x75,0xf1,0xbd,0xd9,0x75,0xf1,0xff,0xff,0xbd,0xd9,
+0x75,0xf1,0xa3,0xd9,0x63,0x60,0x18,0x65,0x64,0x60,0xc2,0x64,0x65,0x41,0xd4,0x85,
+0xfe,0xa1,0x65,0x43,0x0a,0xa3,0x38,0xfc,0x46,0x48,0x00,0xf4,0x04,0x63,0x0a,0xa3,
+0x81,0x60,0x87,0x64,0x02,0xfa,0x6a,0x60,0x94,0x64,0xa0,0xd3,0xff,0xff,0x03,0xfa,
+0x65,0x47,0x05,0xfa,0x60,0x47,0x8e,0xa0,0xff,0xff,0x09,0x04,0x8e,0xa5,0x72,0x64,
+0x07,0x00,0x84,0xa0,0xff,0xff,0x03,0x04,0x84,0xa5,0x7c,0x64,0x01,0x00,0x00,0x65,
+0x59,0xd1,0xbd,0xd8,0xfe,0xa4,0xff,0xff,0xfb,0x07,0x65,0x44,0x00,0xa0,0x00,0xf4,
+0x02,0x03,0x04,0x63,0xee,0x00,0x5f,0x60,0x67,0x78,0xff,0xff,0x6e,0x3a,0x00,0x00,
+0x67,0x3a,0x00,0x00,0x68,0x3a,0x00,0x00,0x69,0x36,0x03,0x00,0x5f,0x60,0x23,0x78,
+0xff,0xff,0x64,0x60,0xde,0x63,0x64,0x60,0xe2,0x62,0xa2,0xd3,0xa3,0xd1,0x00,0xa0,
+0xff,0xff,0x56,0x03,0x02,0x60,0x80,0x63,0x64,0x41,0x64,0x60,0xf4,0x65,0xc5,0x81,
+0xfe,0xa1,0xd3,0x85,0x0a,0xa3,0x38,0xfc,0x46,0x48,0x00,0xf4,0x81,0x60,0x87,0x64,
+0x02,0xfa,0x6a,0x60,0x94,0x64,0xa0,0xd3,0xff,0xff,0x03,0xfa,0x63,0x47,0x05,0xfa,
+0x04,0x63,0x0a,0xa3,0x65,0x44,0x8e,0xa0,0xff,0xff,0x09,0x04,0x8e,0xa5,0x72,0x64,
+0x08,0x00,0x84,0xa0,0xff,0xff,0x03,0x04,0x84,0xa5,0x7c,0x64,0x02,0x00,0x00,0x65,
+0x40,0x49,0x59,0xd1,0xbd,0xd8,0xfe,0xa4,0xff,0xff,0xfb,0x07,0x65,0x44,0x00,0xa0,
+0xff,0xff,0x03,0x03,0x00,0xf4,0x04,0x63,0xec,0x00,0x64,0x60,0xde,0x62,0x64,0x60,
+0xf4,0x61,0xfe,0xa1,0xa2,0xd3,0x29,0x45,0x00,0xa0,0x7c,0x62,0x4e,0x03,0xd6,0x85,
+0xd4,0x80,0x60,0x42,0x09,0x06,0x65,0x44,0xd6,0x85,0x07,0x00,0x84,0xa0,0xff,0xff,
+0x03,0x04,0x84,0xa5,0x7c,0x64,0x01,0x00,0x00,0x65,0x59,0xd1,0xbd,0xd8,0xfe,0xa4,
+0xff,0xff,0xfb,0x07,0x65,0x44,0x00,0xa0,0x00,0xf4,0x37,0x03,0x04,0x63,0xee,0x00,
+0x00,0x64,0xd0,0x80,0xff,0xff,0x03,0x02,0x5f,0x60,0xa8,0x78,0xff,0xff,0x64,0x45,
+0x64,0x44,0x0a,0xa4,0x38,0xfa,0x64,0x60,0xf4,0x61,0xfe,0xa1,0x46,0x48,0x00,0xf4,
+0x04,0x63,0x81,0x60,0x87,0x64,0x02,0xfa,0x6a,0x60,0x94,0x64,0xa0,0xd3,0xff,0xff,
+0x03,0xfa,0x65,0x47,0x05,0xfa,0x0a,0xa3,0x65,0x44,0x8e,0xa0,0xff,0xff,0x09,0x04,
+0x8e,0xa5,0x72,0x64,0x07,0x00,0x84,0xa0,0xff,0xff,0x03,0x04,0x84,0xa5,0x7c,0x64,
+0x01,0x00,0x00,0x65,0x59,0xd1,0xbd,0xd8,0xfe,0xa4,0xff,0xff,0xfb,0x07,0x65,0x44,
+0x00,0xa0,0x00,0xf4,0x02,0x03,0x04,0x63,0xee,0x00,0x5f,0x60,0x67,0x78,0xff,0xff,
+0x6a,0x3a,0x00,0x00,0x64,0x3a,0x0f,0x00,0x0a,0x63,0x38,0xfc,0x46,0x48,0x00,0xf4,
+0x81,0x60,0x87,0x64,0x02,0xfa,0x6a,0x60,0x94,0x64,0xa0,0xd3,0xff,0xff,0x03,0xfa,
+0x63,0x47,0x05,0xfa,0x31,0x00,0x6f,0x36,0x03,0x00,0x5f,0x60,0xa8,0x78,0xff,0xff,
+0x12,0x63,0x38,0xfc,0xa0,0x60,0x01,0x64,0x31,0xfa,0xf0,0x60,0xf8,0x64,0x32,0xfa,
+0x04,0x60,0xf0,0x64,0x33,0xfa,0xff,0xff,0x75,0xf1,0x2b,0xf8,0x76,0xf1,0xff,0xff,
+0x2c,0xf8,0x77,0xf1,0x2d,0xf8,0x46,0x48,0x00,0xf4,0xaa,0x60,0xaa,0x64,0x02,0xfa,
+0x00,0x60,0x03,0x64,0x03,0xfa,0x00,0x60,0x00,0x64,0x04,0xfa,0x81,0x60,0x87,0x64,
+0x05,0xfa,0x00,0x64,0x0a,0xfa,0x6a,0x60,0x94,0x64,0xa0,0xd3,0xff,0xff,0x06,0xfa,
+0x63,0x47,0x08,0xfa,0x28,0x46,0x0d,0x00,0x28,0x46,0x75,0xf1,0x2b,0xf8,0x31,0xf8,
+0xff,0xff,0x76,0xf1,0x2c,0xf8,0x32,0xf8,0xff,0xff,0x77,0xf1,0x2d,0xf8,0x33,0xf8,
+0xff,0xff,0xb0,0xf1,0x2e,0xf8,0xb1,0xf1,0xff,0xff,0x2f,0xf8,0xb2,0xf1,0x30,0xf8,
+0xff,0xff,0x79,0xf3,0xff,0xff,0x08,0xbc,0x34,0xf1,0x31,0xf0,0x64,0x40,0x01,0x2a,
+0x0a,0x00,0xe7,0xf1,0x64,0x40,0x01,0x2a,0x03,0x00,0x64,0x40,0x01,0x26,0x03,0x00,
+0x60,0x47,0x40,0xbc,0x60,0x47,0x29,0xfa,0x00,0x63,0x28,0xfc,0x22,0xfc,0x39,0x60,
+0x58,0x4e,0xfe,0x78,0xff,0xff,0xff,0x64,0x23,0xfa,0xff,0x7f,0x00,0x7e,0x0e,0xfa,
+0x3f,0x60,0x6a,0x62,0x3f,0x60,0x10,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x14,0x00,0x0f,0x4e,0x46,0x45,0x3f,0x60,
+0x6a,0x62,0x00,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,0xd1,0xfe,
+0x0e,0x4f,0x2f,0x58,0xff,0xff,0x64,0x60,0xde,0x62,0xa2,0xd1,0x64,0x60,0xf4,0x64,
+0xc0,0x83,0x64,0x60,0xe4,0x62,0xa2,0xd3,0xbd,0xdb,0xf6,0xa0,0x00,0xa0,0x01,0x03,
+0x34,0x02,0x64,0x60,0xf2,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,0xff,0xff,0x2d,0x03,
+0x21,0x60,0x7a,0x62,0x64,0x60,0xee,0x61,0xa2,0xd3,0xa1,0xd1,0xff,0xff,0xd0,0x85,
+0x21,0x60,0x7c,0x62,0x64,0x60,0xf0,0x61,0xa2,0xd3,0xa1,0xd1,0x01,0x05,0xff,0xa4,
+0xd0,0x84,0x65,0x44,0x02,0x02,0xfc,0x23,0x14,0x00,0x64,0x60,0xee,0x62,0xa2,0xd3,
+0xbd,0xdb,0x64,0x60,0xf0,0x62,0xa2,0xd3,0xbd,0xdb,0x00,0x64,0xbd,0xdb,0xbd,0xdb,
+0xbd,0xdb,0xff,0xff,0xbd,0xdb,0xbd,0xdb,0xbd,0xdb,0xff,0xff,0xbd,0xdb,0xbd,0xdb,
+0x2f,0x00,0x64,0x60,0xf2,0x62,0x02,0x64,0xa2,0xdb,0x21,0x60,0x7a,0x62,0xa2,0xd3,
+0xbd,0xdb,0x21,0x60,0x7c,0x62,0xa2,0xd3,0xbd,0xdb,0x2a,0x60,0xc8,0x65,0x7c,0xf3,
+0xff,0xff,0xd4,0x84,0xe8,0x84,0xe8,0x84,0xbd,0xdb,0x67,0x60,0x74,0x62,0xa2,0xd1,
+0x00,0x64,0xa2,0xdb,0xbd,0xd9,0x27,0x41,0x06,0xa1,0xa1,0xd1,0xbd,0xd9,0x59,0xd1,
+0xff,0xff,0xbd,0xd9,0x59,0xd1,0xbd,0xd9,0x27,0x41,0x04,0xa1,0xa1,0xd3,0xbd,0xdb,
+0x27,0x41,0x02,0xa1,0xa1,0xd1,0xff,0xff,0xd0,0x84,0xbd,0xdb,0x44,0xf3,0xbd,0xdb,
+0x64,0x60,0xf2,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,0xff,0xff,0x05,0x02,0x64,0x60,
+0xe0,0x62,0xa2,0xd3,0xbd,0xdb,0x09,0x00,0x64,0x60,0xe0,0x62,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0xff,0xa0,0xbd,0xdb,0x09,0x02,0x00,0x64,0xbd,0xdb,0xbd,0xdb,
+0xbd,0xdb,0xff,0xff,0xbd,0xdb,0xbd,0xdb,0xbd,0xdb,0x20,0x00,0x64,0x60,0xe6,0x62,
+0xa2,0xd1,0xbd,0xd9,0x64,0x60,0xe8,0x62,0xa2,0xd1,0xbd,0xd9,0x64,0x60,0xea,0x62,
+0xa2,0xd1,0xbd,0xd9,0xff,0xff,0x4d,0xf3,0x80,0x65,0xc4,0x87,0xff,0xb4,0xbd,0xdb,
+0x4c,0xf3,0xbd,0xdb,0x64,0x60,0xec,0x62,0xa2,0xd3,0xbd,0xdb,0x63,0x60,0x0e,0x62,
+0xa2,0xd3,0xbd,0xdb,0x63,0x60,0x10,0x62,0xa2,0xd3,0xbd,0xdb,0x64,0x60,0xde,0x63,
+0x02,0x60,0x80,0x65,0xa3,0xd3,0xff,0xff,0x28,0xa4,0xd4,0x80,0xff,0xff,0x05,0x04,
+0x64,0x60,0xe2,0x62,0x01,0x64,0xa2,0xdb,0x00,0x64,0xa3,0xdb,0x64,0x60,0xe4,0x62,
+0xa2,0xd3,0xff,0xff,0xf6,0xa0,0x00,0xa0,0x01,0x03,0x0f,0x02,0x64,0x60,0xf2,0x62,
+0xa2,0xd3,0xff,0xff,0xff,0xa0,0xfe,0xa0,0x06,0x03,0x05,0x03,0x01,0x64,0xa2,0xdb,
+0x5f,0x60,0xbe,0x78,0xff,0xff,0x00,0x64,0xa2,0xdb,0x64,0x60,0xe4,0x62,0xa2,0xd1,
+0xff,0xff,0x64,0x44,0xf4,0xa0,0xff,0xff,0x07,0x03,0x63,0x60,0x32,0x64,0xc0,0x83,
+0xa3,0xd3,0xff,0xff,0xdc,0x84,0xa3,0xdb,0x63,0x60,0x18,0x62,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x2e,0x58,0xff,0xff,0x67,0x60,0xb6,0x62,0xa2,0xd1,0x67,0x60,
+0xbc,0x64,0xc0,0x83,0x67,0x60,0xb8,0x62,0xa2,0xd3,0xff,0xff,0x01,0xa4,0xa2,0xdb,
+0xbd,0xdb,0x21,0x60,0x7a,0x62,0xa2,0xd3,0xbd,0xdb,0x21,0x60,0x7c,0x62,0xa2,0xd3,
+0xbd,0xdb,0x69,0x60,0x7e,0x62,0xa2,0xd3,0xbd,0xdb,0x69,0x60,0x80,0x62,0xa2,0xd3,
+0xbd,0xdb,0x69,0x60,0x82,0x62,0xa2,0xd3,0xbd,0xdb,0x69,0x60,0x7c,0x62,0xa2,0xd3,
+0xbd,0xdb,0x63,0x60,0x0e,0x62,0xa2,0xd3,0xbd,0xdb,0xff,0xff,0x4c,0xf3,0xbd,0xdb,
+0x4d,0xf3,0x80,0x65,0xc4,0x87,0xff,0xb4,0xbd,0xdb,0x4e,0xf3,0x80,0x65,0xc4,0x87,
+0xff,0xb4,0xbd,0xdb,0xff,0xff,0x75,0xf3,0xbd,0xdb,0x76,0xf3,0xff,0xff,0xbd,0xdb,
+0x77,0xf3,0xa3,0xdb,0x67,0x60,0xb6,0x63,0x01,0x60,0xc0,0x65,0xa3,0xd3,0xff,0xff,
+0x1c,0xa4,0xd4,0x80,0xff,0xff,0x05,0x04,0x67,0x60,0xba,0x62,0x01,0x64,0xa2,0xdb,
+0x00,0x64,0xa3,0xdb,0x2e,0x58,0xff,0xff,0x21,0x60,0xb6,0x62,0xa2,0xd1,0x00,0x60,
+0x04,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x2f,0x58,0xff,0xff,0xad,0xf1,
+0x2b,0x60,0x7e,0x62,0xa2,0xd9,0x3f,0x60,0xae,0x62,0x2b,0x60,0x7a,0x64,0xa2,0xdb,
+0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,0xb8,0x62,0x00,0x60,0x04,0x64,
+0xa2,0xdb,0x61,0x60,0x1a,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,
+0xb6,0x62,0x00,0x64,0xa2,0xdb,0xbd,0xf3,0xff,0xff,0xfc,0xa0,0xff,0xff,0xdf,0x02,
+0x69,0x60,0x82,0x62,0x0f,0x64,0xa2,0xdb,0x18,0x60,0x80,0x64,0xa0,0xd3,0xff,0xff,
+0x60,0x41,0x02,0xa4,0xff,0xff,0x9c,0xa0,0xff,0xff,0x01,0x04,0x00,0x64,0x60,0x45,
+0x18,0x60,0xec,0x62,0xc6,0x82,0xa2,0xd1,0x00,0x63,0xa2,0xdd,0x18,0x60,0xea,0x63,
+0xa3,0xd3,0xff,0xff,0xd0,0x84,0xa3,0xdb,0x18,0x60,0x84,0x62,0xc6,0x82,0xa2,0xd1,
+0x00,0x63,0xa2,0xdd,0x18,0x60,0x82,0x63,0xa3,0xd3,0xff,0xff,0xd0,0x84,0xa3,0xdb,
+0x18,0x60,0x80,0x63,0x65,0x44,0xa3,0xdb,0x61,0x45,0x19,0x60,0x50,0x63,0xa3,0xd1,
+0x18,0x60,0xec,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0x60,0x41,0xc0,0x84,0xa3,0xdb,
+0x18,0x60,0xea,0x63,0xa3,0xd1,0xff,0xff,0xc1,0x84,0xa3,0xdb,0x18,0x60,0xe8,0x63,
+0xa3,0xd1,0x18,0x60,0x84,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0x60,0x41,0xc0,0x84,
+0xa3,0xdb,0x18,0x60,0x82,0x63,0xa3,0xd1,0xff,0xff,0xc1,0x84,0xa3,0xdb,0xe2,0xa0,
+0x00,0x64,0x03,0x05,0x05,0x7c,0xab,0xf9,0x3f,0x00,0x00,0x63,0x18,0x60,0xe8,0x64,
+0xa0,0xdd,0x19,0x60,0x50,0x64,0xa0,0xdd,0x19,0x60,0x5c,0x64,0x64,0x63,0xa0,0xdd,
+0x18,0x60,0xea,0x63,0xa3,0xd3,0xff,0xff,0x00,0xbc,0x60,0x41,0x2d,0x03,0x02,0x60,
+0x8f,0x65,0x18,0x60,0x82,0x62,0xa2,0xd3,0xd5,0x80,0xff,0xff,0x03,0x06,0xe9,0x81,
+0xe8,0x84,0xfa,0x00,0x60,0x5c,0x61,0x44,0xe0,0x84,0xe0,0x84,0x60,0x41,0xe0,0x84,
+0xe0,0x84,0xe0,0x84,0x60,0x45,0xe0,0x84,0xc4,0x85,0xc5,0x85,0x00,0x62,0x65,0x44,
+0x64,0x45,0x11,0x61,0xe0,0x84,0xcd,0x81,0xfd,0x04,0x01,0x00,0xe0,0x84,0xf2,0x82,
+0xff,0xff,0x02,0x24,0xc6,0x82,0x02,0x28,0xd6,0x82,0xe2,0x80,0xcd,0x81,0x02,0x28,
+0x01,0xbc,0xf4,0x02,0x01,0x2a,0xc6,0x82,0x60,0x43,0x63,0x60,0x10,0x62,0xa2,0xdd,
+0x69,0x60,0x7c,0x62,0xa2,0xdd,0x63,0x44,0xd3,0xa0,0x01,0x65,0x0e,0x04,0x1e,0xf3,
+0x4d,0xf3,0x60,0x40,0x10,0x2a,0x67,0x00,0xec,0xa0,0x6a,0x60,0xc2,0x64,0x63,0x04,
+0xa0,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,0x5e,0x03,0x19,0x60,0x52,0x65,0x44,0xf3,
+0xff,0xff,0xe0,0x84,0xc4,0x83,0xa3,0xd3,0xff,0xff,0xf8,0xa0,0x03,0x65,0x53,0x05,
+0x18,0x60,0xe8,0x64,0xa0,0xd3,0xff,0xff,0xe2,0xa0,0x19,0x60,0x50,0x63,0x33,0x04,
+0xa3,0xd3,0xff,0xff,0x00,0xbc,0x60,0x41,0x2f,0x03,0x02,0x60,0x8f,0x65,0x18,0x60,
+0xe8,0x62,0xa2,0xd3,0xd5,0x80,0xff,0xff,0x03,0x06,0xe9,0x81,0xe8,0x84,0xfa,0x00,
+0x60,0x5c,0x61,0x44,0xe0,0x84,0xe0,0x84,0x60,0x41,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0x60,0x45,0xe0,0x84,0xc4,0x85,0xc5,0x85,0x00,0x62,0x65,0x44,0x64,0x45,0x11,0x61,
+0xe0,0x84,0xcd,0x81,0xfd,0x04,0x01,0x00,0xe0,0x84,0xf2,0x82,0xff,0xff,0x02,0x24,
+0xc6,0x82,0x02,0x28,0xd6,0x82,0xe2,0x80,0xcd,0x81,0x02,0x28,0x01,0xbc,0xf4,0x02,
+0x01,0x2a,0xc6,0x82,0x01,0x00,0x69,0x00,0x60,0x43,0x19,0x60,0x5c,0x62,0xa2,0xdd,
+0x63,0x44,0xd3,0xa0,0x00,0x63,0x18,0x60,0xe8,0x62,0xa2,0xdd,0x19,0x60,0x50,0x62,
+0xa2,0xdd,0x5b,0x04,0x19,0x60,0x5c,0x63,0xa3,0xd1,0x69,0x60,0x7c,0x62,0xa2,0xd9,
+0x64,0x64,0xa3,0xdb,0x02,0x65,0x05,0x64,0xab,0xfb,0x69,0x60,0x7e,0x63,0x65,0x44,
+0xbd,0xdb,0x44,0xf3,0xa3,0xdb,0x44,0xf3,0x43,0xf3,0x60,0x41,0xff,0xa0,0xe8,0x85,
+0x41,0x03,0xff,0xa1,0x62,0x60,0xdc,0x64,0xa0,0xd3,0xff,0xff,0xa4,0x80,0x65,0x44,
+0xf5,0x03,0x43,0xfb,0x61,0x43,0x69,0x60,0x82,0x62,0xa2,0xdd,0x44,0xfd,0x61,0x45,
+0x00,0x63,0x18,0x60,0x7c,0x62,0xa2,0xdd,0x18,0x60,0x7a,0x62,0xa2,0xdd,0x18,0x60,
+0x82,0x62,0xa2,0xdd,0x18,0x60,0xea,0x62,0xa2,0xdd,0x18,0x60,0x7e,0x62,0xa2,0xdd,
+0x6a,0x60,0xc2,0x62,0xa2,0xdd,0x64,0x61,0x18,0x60,0x84,0x63,0x00,0x64,0xc9,0x81,
+0xbd,0xdb,0xfd,0x02,0x64,0x61,0x18,0x60,0xec,0x63,0x00,0x64,0xc9,0x81,0xbd,0xdb,
+0xfd,0x02,0x65,0x41,0xe1,0x85,0x19,0x60,0x52,0x63,0xc7,0x83,0xa3,0xd3,0xff,0xff,
+0xf8,0xa0,0xff,0xff,0xc0,0x05,0x04,0x61,0x19,0x60,0x52,0x63,0x00,0x64,0xcd,0x81,
+0xbd,0xdb,0xfd,0x02,0x63,0x60,0x18,0x78,0xff,0xff,0x18,0x60,0x82,0x63,0xa3,0xd3,
+0xff,0xff,0xe2,0xa0,0x63,0x60,0x10,0x63,0xa3,0xd3,0x20,0x04,0xdd,0xa0,0xff,0xff,
+0x26,0x05,0x43,0xf3,0x04,0x65,0xf8,0xa0,0xa3,0xd3,0x35,0x02,0xf1,0xa0,0xff,0xff,
+0x1e,0x05,0xab,0xf3,0xff,0xff,0xfd,0xa0,0x03,0x64,0x2d,0x03,0xab,0xfb,0x6a,0x60,
+0xc4,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x25,0x00,0x18,0x60,0x7e,0x62,
+0xa2,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,0x1e,0x02,0x6f,0x00,0x19,0x60,0x5c,0x63,
+0xa3,0xd3,0xff,0xff,0xdd,0xa0,0x64,0x64,0xa3,0xdb,0x05,0x65,0xef,0x04,0x05,0x64,
+0xab,0xfb,0x44,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,0x5f,0x03,0x03,0x60,0xe8,0x65,
+0x18,0x60,0x7a,0x64,0xa0,0xd3,0x4d,0xf3,0xd4,0x80,0x06,0x65,0x56,0x04,0xf1,0xa0,
+0xff,0xff,0xdc,0x05,0x52,0x00,0x69,0x60,0x7e,0x63,0x65,0x44,0xbd,0xdb,0xfa,0xa0,
+0x44,0xf3,0x15,0x02,0xbd,0xdb,0x60,0x5c,0x08,0x65,0x03,0x61,0x6a,0x60,0xc2,0x62,
+0x01,0x64,0xa2,0xdb,0x04,0x00,0xd0,0x80,0xe8,0x85,0x3f,0x03,0xff,0xa1,0x62,0x60,
+0xdc,0x64,0xa0,0xd3,0xff,0xff,0xa4,0x80,0x65,0x44,0xf5,0x03,0x0e,0x00,0xbd,0xdb,
+0x43,0xf3,0x60,0x41,0xf8,0xa0,0xe0,0x85,0x30,0x03,0x01,0xa1,0x62,0x60,0xdc,0x64,
+0xa0,0xd3,0xff,0xff,0xa4,0x80,0x65,0x44,0xf5,0x03,0x43,0xfb,0x61,0x43,0x44,0xfd,
+0x69,0x60,0x82,0x62,0xa2,0xdd,0x00,0x63,0x18,0x60,0x7c,0x62,0xa2,0xdd,0x18,0x60,
+0x7a,0x62,0xa2,0xdd,0x18,0x60,0x82,0x62,0xa2,0xdd,0x18,0x60,0xea,0x62,0xa2,0xdd,
+0x06,0xc6,0x7e,0x00,0x00,0x10,0x64,0x61,0x18,0x60,0x84,0x63,0x00,0x64,0xc9,0x81,
+0xbd,0xdb,0xfd,0x02,0x64,0x61,0x18,0x60,0xec,0x63,0x00,0x64,0xc9,0x81,0xbd,0xdb,
+0xfd,0x02,0x04,0x61,0x19,0x60,0x52,0x63,0x00,0x64,0xcd,0x81,0xbd,0xdb,0xfd,0x02,
+0x00,0x60,0x64,0x65,0x18,0x60,0x7c,0x62,0xa2,0xd3,0xff,0xff,0x01,0xa4,0xd4,0x80,
+0xa2,0xdb,0x09,0x04,0x18,0x60,0x7a,0x63,0x00,0x64,0xa2,0xdb,0xa3,0xdb,0x18,0x60,
+0x7e,0x62,0x01,0x64,0xa2,0xdb,0x69,0x60,0x82,0x62,0xa2,0xd3,0xff,0xff,0xfd,0xa0,
+0xff,0xff,0x04,0x07,0x60,0x60,0x58,0x4e,0xa7,0x78,0xff,0xff,0x61,0x60,0x02,0x78,
+0xff,0xff,0x55,0xf1,0x2b,0x60,0x8a,0x62,0xa2,0xd9,0x3f,0x60,0xb2,0x62,0x2b,0x60,
+0x86,0x64,0xa2,0xdb,0x02,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,0xbe,0x62,
+0x00,0x60,0xfe,0x64,0xa2,0xdb,0x63,0x60,0x51,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,
+0xff,0xff,0x00,0x60,0x80,0x66,0x00,0x64,0x55,0xfb,0x01,0xf2,0xff,0xff,0x00,0xa0,
+0xff,0xff,0x14,0x03,0x21,0x60,0x7a,0x64,0xa0,0xd3,0x03,0xf0,0xff,0xff,0xd0,0x84,
+0x00,0xfa,0x01,0xf2,0x60,0x45,0xd4,0x80,0xff,0xff,0x05,0x06,0xd4,0x84,0x01,0xfa,
+0xfe,0xa0,0xff,0xff,0x03,0x05,0x00,0x64,0x01,0xfa,0x02,0xfa,0x56,0xf1,0x17,0x60,
+0x9c,0x64,0xa0,0xd3,0xff,0xff,0xd0,0x80,0x60,0x45,0x5f,0x03,0x16,0x60,0xd8,0x64,
+0xa0,0xd3,0xff,0xff,0xff,0xa0,0xfc,0xa0,0x06,0x03,0x58,0x02,0x7a,0xf3,0xff,0xff,
+0x00,0xa0,0xff,0xff,0x53,0x03,0x65,0x44,0x19,0xf2,0xff,0xff,0xdc,0x84,0x19,0xfa,
+0x65,0x44,0xff,0x22,0x4b,0x00,0x12,0xfa,0xcc,0x84,0xfc,0xa0,0x60,0x41,0x01,0x06,
+0x04,0x64,0xe0,0x84,0x60,0x45,0xe0,0x84,0xe0,0x84,0xc4,0x85,0x19,0x60,0xa0,0x64,
+0xc4,0x83,0xbd,0xd3,0xff,0xff,0x14,0xfa,0xbd,0xd3,0xff,0xff,0x15,0xfa,0xbd,0xd3,
+0xff,0xff,0x16,0xfa,0xbd,0xd3,0xff,0xff,0x17,0xfa,0xbd,0xd3,0xff,0xff,0x18,0xfa,
+0x16,0x60,0xd8,0x64,0xa0,0xd3,0xff,0xff,0xfc,0xa0,0x61,0x44,0x05,0x02,0xfd,0xa0,
+0x14,0xf2,0x02,0x05,0xfd,0xa4,0x14,0xfa,0xbd,0xf3,0xff,0xff,0xfc,0xa0,0x56,0xf3,
+0x08,0x02,0xff,0xff,0xff,0x26,0x05,0x00,0x01,0x64,0x67,0x60,0x58,0x4e,0x9c,0x78,
+0xff,0xff,0x56,0xf3,0xff,0xff,0x60,0x40,0x00,0x3a,0x2f,0x00,0x15,0xf2,0x01,0xfa,
+0x55,0xfb,0x02,0x64,0x02,0xfa,0x08,0x64,0x54,0xfb,0x01,0x64,0x13,0xfa,0x05,0xfa,
+0x04,0xfa,0x10,0x60,0x00,0x64,0x5a,0xfb,0x20,0x00,0x24,0x00,0x59,0xf3,0xff,0xff,
+0x02,0xb0,0xff,0xff,0x04,0x02,0x68,0x60,0x58,0x4e,0x16,0x78,0xff,0xff,0xbd,0xf3,
+0xff,0xff,0xfc,0xa0,0xff,0xff,0x05,0x02,0x00,0x64,0x67,0x60,0x58,0x4e,0x9c,0x78,
+0xff,0xff,0x80,0x64,0x54,0xfb,0x32,0x64,0x55,0xfb,0x17,0x60,0x9c,0x63,0x00,0x64,
+0x5a,0xfb,0x01,0xfa,0x02,0xfa,0xff,0xff,0xa3,0xdb,0x17,0x60,0x9c,0x64,0xa0,0xd3,
+0x56,0xfb,0x05,0x00,0x00,0xa0,0xff,0xff,0x02,0x02,0x32,0x64,0x55,0xfb,0xff,0xff,
+0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,0x01,0x64,0xa0,0x84,0xa2,0xdb,0x09,0xf8,
+0x16,0x60,0xd8,0x62,0xa2,0xd3,0xff,0xff,0xfc,0xa0,0x56,0xf3,0x03,0x03,0x65,0x60,
+0x53,0x78,0xff,0xff,0x00,0xa0,0xff,0xff,0x64,0x03,0x64,0x44,0x80,0x2a,0x1f,0x00,
+0x20,0xf2,0xff,0xff,0xdc,0x84,0x20,0xfa,0x01,0x60,0x5e,0x64,0xe9,0xf1,0xff,0xff,
+0x64,0x40,0x40,0x2a,0x08,0x00,0x19,0x60,0x8c,0x62,0xa2,0xd3,0xff,0xff,0xe0,0x84,
+0xe0,0x84,0xe0,0x84,0xe0,0x84,0x01,0xfa,0x01,0x64,0x02,0xfa,0x59,0xf3,0xff,0xff,
+0xff,0xff,0xff,0x26,0x04,0x00,0x68,0x60,0x58,0x4e,0x16,0x78,0xff,0xff,0x62,0xf3,
+0x63,0xf1,0xff,0xff,0x01,0xb4,0xb0,0x84,0xff,0xff,0x0f,0x03,0x54,0xf3,0xff,0xff,
+0x08,0xbc,0x54,0xfb,0x67,0x60,0x58,0x4e,0x75,0x78,0xff,0xff,0x00,0xfa,0x01,0xf0,
+0xff,0xff,0xd0,0x80,0xff,0xff,0x01,0x06,0x01,0xfa,0x09,0xf2,0x06,0xf2,0x60,0x40,
+0x08,0x2a,0x28,0x00,0x60,0x40,0xff,0x22,0x02,0x00,0xcc,0x84,0x06,0xfa,0x00,0xa0,
+0xff,0xff,0x13,0x02,0x05,0xf2,0x14,0xf0,0x03,0xa4,0xd0,0x80,0xff,0xff,0x01,0x06,
+0x64,0x44,0x05,0xfa,0x07,0xf2,0xff,0xff,0x60,0x40,0xff,0x22,0x02,0x00,0xcc,0x84,
+0x07,0xfa,0x00,0xa0,0x01,0x64,0x01,0x02,0x05,0xfa,0x7a,0xf3,0x01,0xf0,0x00,0xfa,
+0xd0,0x80,0xff,0xff,0x01,0x06,0x01,0xfa,0x54,0xf3,0xff,0xff,0x08,0xbc,0x54,0xfb,
+0x01,0x00,0x4c,0x00,0x09,0xf2,0x54,0xf1,0x60,0x40,0x04,0x2a,0x22,0x00,0x64,0x40,
+0x20,0x2a,0x0f,0x00,0x01,0x64,0x05,0xfa,0x04,0xfa,0x67,0x60,0x58,0x4e,0x75,0x78,
+0xff,0xff,0x00,0xfa,0x01,0xf0,0xff,0xff,0xd0,0x80,0xff,0xff,0x0d,0x06,0x01,0xfa,
+0x0b,0x00,0x64,0x40,0x10,0x2a,0x08,0x00,0x14,0x64,0x00,0xfa,0x55,0xf1,0xff,0xff,
+0xd0,0x80,0xff,0xff,0x01,0x06,0x55,0xfb,0x54,0xf3,0xff,0xff,0xcf,0xb4,0x08,0xbc,
+0x54,0xfb,0x09,0xf2,0x54,0xf1,0x60,0x40,0x10,0x2a,0x0b,0x00,0x64,0x44,0xbf,0xb4,
+0x08,0xbc,0x54,0xfb,0x14,0x64,0x55,0xf1,0x00,0xfa,0xd0,0x80,0xff,0xff,0x01,0x06,
+0x55,0xfb,0x09,0xf2,0x18,0xf0,0x60,0x40,0x20,0x2a,0x04,0x00,0x01,0x63,0x05,0xfc,
+0x04,0xfc,0x06,0xf8,0x60,0x40,0x40,0x2a,0x01,0x00,0x06,0xf8,0x55,0xf3,0x59,0xf1,
+0x00,0xa0,0x05,0x64,0x03,0x02,0x64,0x40,0x80,0x26,0x55,0xfb,0x01,0xf2,0x55,0xf1,
+0xff,0xff,0xd0,0x80,0xff,0xff,0x01,0x06,0x55,0xfb,0x09,0xf0,0x55,0xf3,0x64,0x40,
+0x02,0x26,0x03,0x00,0x00,0xa0,0xff,0xff,0x7b,0x02,0x56,0xf3,0xff,0xff,0x00,0xa0,
+0x54,0xf3,0x76,0x03,0x00,0xa0,0xbd,0xf3,0x5d,0x02,0xfd,0xa0,0x04,0xf2,0x48,0x02,
+0x60,0x40,0xff,0x22,0x02,0x00,0xcc,0x84,0x04,0xfa,0x60,0x40,0x00,0x36,0x0b,0x00,
+0x65,0xf3,0xff,0xff,0xfb,0xa0,0x3f,0x60,0x10,0x62,0x05,0x05,0xa2,0xd3,0xff,0xff,
+0x00,0xa0,0xff,0xff,0x12,0x03,0x05,0xf2,0x59,0xf1,0x04,0xfa,0x64,0x40,0xff,0x26,
+0x04,0x00,0x68,0x60,0x58,0x4e,0x16,0x78,0xff,0xff,0x54,0xf3,0x7a,0xf1,0x08,0xbc,
+0x54,0xfb,0x05,0x64,0xc0,0x84,0x00,0xfa,0x44,0x00,0x9a,0xf3,0xff,0xff,0x60,0x41,
+0x74,0xf3,0xff,0xff,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x85,0x73,0x44,0xc4,0x84,
+0x61,0x45,0xd4,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0x60,0x45,0x01,0x60,
+0xf4,0x64,0xd4,0x80,0x65,0x44,0x05,0x05,0x23,0xf2,0xff,0xff,0xdc,0x84,0x23,0xfa,
+0x32,0x64,0xfa,0xa0,0xff,0xff,0x01,0x05,0x06,0x64,0xfb,0xa4,0x00,0xfa,0x21,0x00,
+0x55,0xf3,0xff,0xff,0x00,0xa0,0x59,0xf3,0x1c,0x02,0xfd,0xa0,0xff,0xff,0x04,0x02,
+0x68,0x60,0x58,0x4e,0x6e,0x78,0xff,0xff,0x32,0x64,0x00,0xfa,0x01,0x64,0x05,0xfa,
+0x04,0xfa,0x0f,0x00,0x55,0xf3,0xff,0xff,0x00,0xa0,0x00,0x64,0x0a,0x02,0x54,0xfb,
+0x68,0x60,0x58,0x4e,0x6e,0x78,0xff,0xff,0x67,0x60,0x58,0x4e,0x81,0x78,0xff,0xff,
+0x00,0xfa,0x00,0xf2,0x55,0xf1,0xff,0xff,0xd0,0x80,0xff,0xff,0x01,0x06,0x55,0xfb,
+0x67,0x60,0x6e,0x78,0xff,0xff,0x56,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x03,0x02,
+0x66,0x60,0x5e,0x78,0xff,0xff,0x64,0x44,0x80,0x2a,0x1f,0x00,0x20,0xf2,0xff,0xff,
+0xdc,0x84,0x20,0xfa,0x01,0x60,0x5e,0x64,0xe9,0xf1,0xff,0xff,0x64,0x40,0x40,0x2a,
+0x08,0x00,0x19,0x60,0x8c,0x62,0xa2,0xd3,0xff,0xff,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0x01,0xfa,0x01,0x64,0x02,0xfa,0x59,0xf3,0xff,0xff,0xff,0xff,0xff,0x26,
+0x04,0x00,0x68,0x60,0x58,0x4e,0x16,0x78,0xff,0xff,0x09,0xf2,0xff,0xff,0xff,0xff,
+0x04,0x2a,0x62,0x00,0x1c,0xf2,0xff,0xff,0xdc,0x84,0x1c,0xfa,0x00,0x64,0x00,0xfa,
+0x01,0x64,0x08,0xfa,0x06,0xf2,0xff,0xff,0xff,0xff,0xff,0x22,0x03,0x00,0xcc,0x84,
+0x06,0xfa,0x0b,0x02,0x00,0xa0,0xff,0xff,0x07,0x02,0x05,0xf2,0x14,0xf0,0x03,0xa4,
+0xd0,0x80,0xff,0xff,0x01,0x06,0x64,0x44,0x05,0xfa,0x54,0xf3,0xff,0xff,0x60,0x40,
+0x20,0x2a,0x22,0x00,0x01,0x60,0x2c,0x64,0x00,0xfa,0x64,0x60,0x9a,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x13,0xf2,0xff,0xff,0x05,0xfa,0x04,0xfa,0x00,0x64,0x67,0x60,0x58,0x4e,
+0x9c,0x78,0xff,0xff,0x00,0xf2,0x01,0xf0,0xff,0xff,0xd0,0x80,0xff,0xff,0x18,0x06,
+0x01,0xfa,0x04,0x64,0x02,0xfa,0x14,0x00,0x60,0x40,0x10,0x2a,0x11,0x00,0x64,0x60,
+0x9e,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x32,0x64,0x00,0xfa,0xff,0xff,0x57,0xf3,0x58,0xfb,
+0x54,0xf3,0x55,0xf1,0xcf,0xb4,0x54,0xfb,0x00,0xf2,0xff,0xff,0xd0,0x80,0xff,0xff,
+0x01,0x06,0x55,0xfb,0x00,0x64,0x0a,0xfa,0x09,0xf2,0xff,0xff,0xff,0xff,0x10,0x2a,
+0x12,0x00,0x1d,0xf2,0xff,0xff,0xdc,0x84,0x1d,0xfa,0x54,0xf3,0x32,0x65,0x60,0x40,
+0x40,0x2a,0x05,0x65,0xbf,0xb4,0x54,0xfb,0x65,0x44,0x55,0xf1,0x00,0xfa,0xd0,0x80,
+0xff,0xff,0x01,0x06,0x55,0xfb,0x09,0xf2,0xff,0xff,0xff,0xff,0x20,0x2a,0x38,0x00,
+0x1a,0xf2,0xff,0xff,0xdc,0x84,0x1a,0xfa,0x51,0xf3,0x9d,0xf1,0x60,0x40,0xff,0x22,
+0x14,0x7c,0x64,0x44,0x54,0xf1,0x00,0xfa,0x64,0x40,0x01,0x2a,0x09,0x00,0x17,0xf2,
+0x13,0xf0,0x00,0xfa,0xff,0xff,0x05,0xf8,0x04,0xf8,0x18,0xf0,0xff,0xff,0x06,0xf8,
+0x54,0xf1,0xff,0xff,0x64,0x40,0x04,0x2a,0x09,0x00,0x17,0xf2,0x64,0x40,0x01,0x2a,
+0x05,0x64,0x00,0xfa,0x54,0xf3,0xff,0xff,0xfe,0xb4,0x54,0xfb,0x54,0xf3,0xff,0xff,
+0x08,0xbc,0xf9,0xb4,0x54,0xfb,0x00,0xf2,0x01,0xf0,0xff,0xff,0xd0,0x80,0xff,0xff,
+0x01,0x06,0x01,0xfa,0x55,0xf1,0xff,0xff,0xd0,0x80,0xff,0xff,0x01,0x06,0x55,0xfb,
+0x09,0xf2,0xff,0xff,0xff,0xff,0x40,0x22,0x16,0x00,0x1b,0xf2,0xff,0xff,0xdc,0x84,
+0x1b,0xfa,0x18,0xf2,0xff,0xff,0x06,0xfa,0x02,0xf2,0xff,0xff,0xfc,0xa0,0x00,0x64,
+0x03,0x02,0x01,0xfa,0x02,0xfa,0xff,0xff,0x16,0xf2,0x01,0xf0,0x00,0xfa,0xd0,0x80,
+0xff,0xff,0x01,0x06,0x01,0xfa,0x55,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x05,0x02,
+0x59,0xf1,0x05,0x64,0x64,0x40,0x80,0x26,0x55,0xfb,0x04,0x00,0x54,0xf3,0xff,0xff,
+0x80,0xb4,0x54,0xfb,0x54,0xf3,0x59,0xf3,0x60,0x45,0x60,0x47,0xb4,0x84,0x01,0xf2,
+0x55,0xf1,0xff,0xff,0xd0,0x80,0xff,0xff,0x01,0x06,0x55,0xfb,0x09,0xf2,0x55,0xf1,
+0x02,0xb0,0x00,0x64,0x06,0x02,0xd0,0x80,0xff,0xff,0x03,0x03,0x67,0x60,0x6e,0x78,
+0xff,0xff,0x56,0xf3,0x54,0xf3,0x00,0xa0,0xff,0xff,0x03,0x02,0x67,0x60,0x6c,0x78,
+0xff,0xff,0x60,0x40,0xff,0x26,0x58,0x00,0xbd,0xf3,0xff,0xff,0xfc,0xa0,0x58,0xf3,
+0x52,0x02,0x00,0xb8,0xcc,0x84,0x0c,0x03,0x58,0xfb,0x6a,0x60,0xdc,0x64,0xa0,0xd3,
+0x07,0x02,0x00,0xa0,0xff,0xff,0x04,0x03,0x6a,0x60,0xe2,0x62,0x01,0x64,0xa2,0xdb,
+0x04,0xf2,0xff,0xff,0x00,0xb8,0xcc,0x84,0x01,0x03,0x04,0xfa,0x00,0x65,0x58,0xf3,
+0x57,0xf3,0x00,0xa0,0xff,0xff,0x02,0x02,0x58,0xfb,0x01,0x65,0x04,0xf2,0x05,0xf2,
+0x00,0xa0,0xff,0xff,0x02,0x02,0x04,0xfa,0x01,0x65,0x65,0x40,0x00,0x36,0x2d,0x00,
+0x54,0xf3,0xff,0xff,0x08,0xbc,0x54,0xfb,0x00,0x64,0x08,0xfa,0x0a,0xf2,0x15,0xf0,
+0x60,0x40,0x01,0x26,0x0d,0x00,0x69,0x60,0x84,0x62,0xa2,0xd3,0x37,0x7c,0xfe,0xa0,
+0xff,0xff,0x06,0x05,0x0c,0xf2,0x25,0x7c,0xfe,0xa0,0xff,0xff,0x01,0x05,0x15,0x7c,
+0x00,0xf8,0x59,0xf3,0xff,0xff,0xff,0xff,0xff,0x26,0x04,0x00,0x68,0x60,0x58,0x4e,
+0x16,0x78,0xff,0xff,0x19,0x60,0x5e,0x62,0xa2,0xd3,0x10,0x7c,0x0b,0xfa,0x0d,0xf8,
+0x67,0x60,0x64,0x78,0xff,0xff,0x19,0x00,0x36,0x00,0x74,0xf3,0xff,0xff,0xe0,0x84,
+0xe0,0x84,0xe0,0x84,0xe0,0x84,0x73,0x45,0xc4,0x84,0x60,0x53,0x67,0x60,0x58,0x4e,
+0x81,0x78,0xff,0xff,0x00,0xfa,0xd0,0xf1,0x6a,0x60,0xd8,0x65,0x05,0x64,0x64,0x40,
+0x00,0x3a,0xa5,0xdb,0x67,0x60,0x64,0x78,0xff,0xff,0x55,0xf3,0xff,0xff,0x00,0xa0,
+0x32,0x64,0x12,0x02,0x55,0xfb,0x59,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,0x0c,0x02,
+0xe9,0xf1,0x51,0xf3,0x64,0x40,0x01,0x27,0x07,0x00,0x60,0x40,0x13,0x26,0x04,0x00,
+0x68,0x60,0x58,0x4e,0x6e,0x78,0xff,0xff,0x13,0xf2,0xff,0xff,0x05,0xfa,0x04,0xfa,
+0x01,0x64,0x0a,0xfa,0x51,0x00,0x55,0xf3,0xff,0xff,0x00,0xa0,0x00,0x64,0x4c,0x02,
+0x54,0xfb,0x5a,0xf3,0xff,0xff,0x00,0xa0,0x01,0x64,0x04,0x02,0x67,0x60,0x58,0x4e,
+0x9c,0x78,0xff,0xff,0x68,0x60,0x58,0x4e,0x6e,0x78,0xff,0xff,0xbd,0xf3,0xff,0xff,
+0xfc,0xa0,0xff,0xff,0x26,0x02,0x73,0x44,0x74,0xf3,0xff,0xff,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0x60,0x8c,0x9a,0xf3,0xff,0xff,0x60,0x41,0x73,0x44,0x61,0x45,0xd4,0x80,
+0xff,0xff,0x03,0x0d,0x2c,0x45,0xc4,0x84,0xf9,0x00,0x60,0x53,0x08,0xf2,0xff,0xff,
+0x00,0xa0,0xff,0xff,0x08,0x02,0x13,0xf2,0xff,0xff,0x05,0xfa,0x04,0xfa,0x24,0xf2,
+0xff,0xff,0xdc,0x84,0x24,0xfa,0x67,0x60,0x58,0x4e,0x81,0x78,0xff,0xff,0x00,0xfa,
+0x08,0x00,0x32,0x64,0x00,0xfa,0x13,0xf2,0xff,0xff,0x05,0xfa,0x04,0xfa,0x01,0x64,
+0x0a,0xfa,0x59,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,0x06,0x03,0x00,0xf2,0x14,0x65,
+0xd4,0x80,0x02,0x06,0x65,0x44,0x00,0xfa,0x00,0xf2,0x55,0xf1,0xff,0xff,0xd0,0x80,
+0xff,0xff,0x04,0x06,0x55,0xfb,0x02,0x00,0x32,0x64,0x55,0xfb,0x21,0x60,0x7a,0x64,
+0xa0,0xd3,0x03,0xfa,0x63,0x60,0x39,0x78,0xff,0xff,0x9a,0xf1,0x73,0x44,0x64,0x45,
+0x7a,0xf1,0xd4,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xe8,0x84,0xc0,0x84,0x2e,0x58,
+0xff,0xff,0x9a,0xf3,0xff,0xff,0x60,0x45,0x73,0x44,0xd4,0x84,0xe8,0x84,0xe8,0x84,
+0xe8,0x84,0xe8,0x84,0x60,0x45,0x01,0x60,0xf4,0x64,0xd4,0x80,0x65,0x44,0x05,0x05,
+0x23,0xf2,0xff,0xff,0xdc,0x84,0x23,0xfa,0x32,0x64,0xfa,0xa0,0xff,0xff,0x01,0x05,
+0x06,0x64,0xfb,0xa4,0x2e,0x58,0xff,0xff,0x60,0x45,0x6b,0x60,0x2c,0x62,0x20,0x60,
+0x00,0x64,0xb4,0x84,0xa2,0xdb,0x65,0x44,0x2e,0x43,0x11,0xfc,0x10,0x60,0x00,0x65,
+0x60,0x40,0xff,0x22,0x00,0x65,0x65,0x44,0x5a,0xfb,0x21,0xf2,0xff,0xff,0xdc,0x84,
+0x21,0xfa,0x6f,0xf5,0xff,0xff,0x75,0xf1,0x2b,0xf8,0x31,0xf8,0xff,0xff,0x76,0xf1,
+0x2c,0xf8,0x32,0xf8,0xff,0xff,0x77,0xf1,0x2d,0xf8,0x33,0xf8,0xff,0xff,0xb0,0xf1,
+0x2e,0xf8,0xb1,0xf1,0xff,0xff,0x2f,0xf8,0xb2,0xf1,0x30,0xf8,0xff,0xff,0x01,0x60,
+0x48,0x64,0xb4,0x84,0x29,0xfa,0x00,0x63,0x22,0xfc,0x2a,0x60,0x20,0x64,0x0e,0xfa,
+0x39,0x60,0x58,0x4e,0xfe,0x78,0xff,0xff,0x3f,0x60,0x6a,0x62,0x3f,0x60,0x10,0x64,
+0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,
+0x21,0x60,0xbe,0x62,0x00,0x60,0x01,0x64,0xa2,0xdb,0x67,0x60,0xeb,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xbc,0x62,0xa2,0xd1,0xff,0x60,0xfe,0x61,
+0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0x6f,0xf5,0x22,0xf0,0x00,0x60,
+0x80,0x66,0x64,0x44,0x0f,0x22,0x04,0x00,0x22,0xf2,0xff,0xff,0xdc,0x84,0x22,0xfa,
+0x63,0x60,0xac,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,
+0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x11,0xf0,0x6b,0x60,0x2c,0x62,0x20,0x60,
+0x02,0x64,0xa2,0xdb,0xff,0xff,0x44,0x4e,0x2e,0x58,0xff,0xff,0x1e,0xf2,0xff,0xff,
+0xdc,0x84,0x1e,0xfa,0x6b,0x60,0x2c,0x62,0x30,0x60,0x00,0x64,0xa2,0xdb,0x2e,0x43,
+0x11,0xfc,0x21,0x60,0xbc,0x62,0xa2,0xd1,0xbf,0x60,0xff,0x61,0xa1,0x84,0x5a,0xd1,
+0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0xff,0xff,0xde,0xfe,0xff,0xff,0x0b,0x04,0x21,0x60,
+0xbe,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,0x68,0x60,0x3a,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x3f,0x60,0x8a,0x62,0x2a,0x44,0xa2,0xdb,0xca,0x82,0x08,0x64,
+0xa2,0xdb,0xff,0xff,0x2d,0xff,0x21,0x60,0xbe,0x62,0x20,0x60,0x00,0x64,0xa2,0xdb,
+0x68,0x60,0x4e,0x64,0x5a,0xdb,0xcf,0xfe,0x2f,0x58,0xff,0xff,0x21,0x60,0xbc,0x62,
+0xa2,0xd1,0x9f,0x60,0xff,0x61,0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,
+0xff,0xff,0xbe,0xfe,0x21,0x60,0x90,0x62,0xa2,0xd1,0x40,0x60,0x00,0x64,0xb0,0x84,
+0xa2,0xdb,0xcf,0xfe,0x00,0x60,0x80,0x66,0x6b,0x60,0x2c,0x62,0x30,0x60,0x01,0x64,
+0xa2,0xdb,0x11,0xf2,0xff,0xff,0x40,0x4e,0x2e,0x58,0xff,0xff,0x1f,0xf2,0xff,0xff,
+0xdc,0x84,0x1f,0xfa,0x6b,0x60,0x2c,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,0x2e,0x43,
+0x11,0xfc,0x21,0x60,0xbc,0x62,0xa2,0xd1,0xbf,0x60,0xff,0x61,0xa1,0x84,0x5a,0xd1,
+0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0xff,0xff,0xde,0xfe,0xff,0xff,0x0b,0x04,0x21,0x60,
+0xbe,0x62,0x40,0x60,0x00,0x64,0xa2,0xdb,0x68,0x60,0x92,0x64,0x5a,0xdb,0xcf,0xfe,
+0x2f,0x58,0xff,0xff,0x59,0xf3,0xff,0xff,0xff,0xff,0x80,0x26,0x14,0x00,0x3f,0x60,
+0x8a,0x62,0x2a,0x44,0xa2,0xdb,0xca,0x82,0x02,0x64,0xa2,0xdb,0xff,0xff,0x2d,0xff,
+0x21,0x60,0xbe,0x62,0x20,0x60,0x00,0x64,0xa2,0xdb,0x68,0x60,0xac,0x64,0x5a,0xdb,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0xff,0xff,0x21,0x60,0xbc,0x62,0xa2,0xd1,0x9f,0x60,
+0xff,0x61,0xa1,0x84,0x5a,0xd1,0x4a,0xdb,0xa1,0x84,0x5a,0xdb,0xff,0xff,0xbe,0xfe,
+0x21,0x60,0x90,0x62,0xa2,0xd1,0x40,0x60,0x00,0x64,0xb0,0x84,0xa2,0xdb,0xcf,0xfe,
+0x64,0x60,0x96,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,
+0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x00,0x60,0x80,0x66,0x6b,0x60,0x2c,0x62,
+0x40,0x60,0x01,0x64,0xa2,0xdb,0x11,0xf2,0xff,0xff,0x40,0x4e,0x2e,0x58,0xff,0xff,
+0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,0x02,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,
+0xcf,0xfe,0x2f,0x58,0xff,0xff,0x3f,0x60,0x9a,0x62,0x2b,0x60,0x86,0x64,0xa2,0xdb,
+0x03,0x64,0x4a,0xdb,0xff,0xff,0x1d,0xff,0x21,0x60,0xbc,0x62,0x00,0x64,0xa2,0xdb,
+0x5a,0xdb,0x2f,0x58,0xff,0xff,0x56,0xf3,0x26,0x46,0x60,0x40,0xff,0x22,0x37,0x00,
+0x54,0xf3,0x0f,0xf2,0x60,0x43,0x29,0xf0,0x60,0x40,0x10,0x2a,0x15,0x00,0x63,0x44,
+0x60,0x43,0x6b,0x60,0x2c,0x62,0x00,0x60,0x40,0x64,0xa2,0xdb,0x6b,0x60,0x2e,0x62,
+0x63,0x44,0xa2,0xdb,0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,0x40,0x64,0xb0,0x84,
+0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x1b,0x00,0x64,0x40,0x20,0x2b,0x02,0x00,0x40,0xbb,
+0x01,0x00,0xbf,0xb3,0x54,0xfd,0x63,0x44,0x60,0x43,0x6b,0x60,0x2c,0x62,0x00,0x60,
+0x10,0x64,0xa2,0xdb,0x6b,0x60,0x2e,0x62,0x63,0x44,0xa2,0xdb,0x21,0x60,0xbc,0x62,
+0xa2,0xd1,0x00,0x60,0x10,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x26,0x46,
+0x2f,0x58,0xff,0xff,0x22,0x02,0x2e,0xf2,0xff,0xff,0x60,0x41,0xe1,0x81,0xf0,0x84,
+0xe1,0x81,0xf0,0x84,0xe1,0x81,0x5a,0xd2,0xf0,0x85,0x94,0x84,0x60,0x41,0xe1,0x81,
+0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0x5a,0xd2,0xf0,0x85,0x94,0x84,0x60,0x41,
+0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0x6a,0x60,0x58,0x4e,
+0x2b,0x78,0xff,0xff,0x6a,0x60,0x28,0x78,0xff,0xff,0x6a,0x60,0x1a,0x78,0xff,0xff,
+0xbd,0xf3,0xff,0xff,0xfc,0xa0,0xfd,0xa0,0xd5,0x02,0x00,0x64,0x40,0x48,0x26,0x46,
+0x38,0xf2,0x00,0xf4,0x10,0x63,0xf4,0xa4,0x60,0x41,0x00,0x65,0x63,0x44,0x01,0x22,
+0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,
+0x00,0x7f,0x40,0x4c,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,
+0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x60,0x45,0x2c,0x44,0x04,0xa8,
+0x05,0xa8,0x06,0x03,0xc9,0x81,0x2e,0x03,0xd5,0x81,0xc7,0x83,0xce,0x06,0xde,0x00,
+0x41,0x4c,0x6a,0x60,0xd8,0x61,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,
+0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x59,0xdb,0x63,0x44,
+0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,
+0x01,0xa3,0x00,0x7f,0x59,0xdb,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x65,0x44,
+0x59,0xdb,0x5c,0x60,0x58,0x4e,0xbe,0x78,0xff,0xff,0x65,0x44,0x59,0xdb,0x2c,0x41,
+0xf8,0xa1,0xb4,0x00,0x65,0x41,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,
+0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x40,0x4c,0x58,0xfb,
+0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,
+0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x57,0xfb,0x56,0xf3,0xff,0xff,0x00,0xa0,0xff,0xff,
+0x49,0x03,0x63,0x44,0x01,0x22,0x05,0x00,0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,
+0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,0x40,0x4d,0x2c,0x44,0x00,0xb8,0xff,0xff,
+0x05,0x02,0x2d,0x44,0x01,0x2a,0x02,0x00,0x10,0x65,0x45,0x48,0x5a,0xf3,0xff,0xff,
+0x00,0xa0,0xff,0xff,0x2f,0x03,0x2d,0x44,0xfe,0xb5,0x3f,0x60,0xba,0x64,0xa0,0xd3,
+0xff,0xff,0x00,0x7f,0xd4,0x84,0x04,0xa4,0x19,0x04,0x60,0x45,0xd5,0x80,0xfc,0xa5,
+0x15,0x04,0x3f,0x60,0xb8,0x64,0xa0,0xd1,0xc7,0x83,0x63,0x44,0x01,0x22,0x05,0x00,
+0x01,0xac,0xa0,0xd2,0x01,0xa3,0x60,0x47,0x02,0x00,0xa0,0xd2,0x01,0xa3,0x00,0x7f,
+0xa0,0x80,0xff,0xff,0x03,0x03,0x28,0x44,0x20,0xbc,0x40,0x48,0x28,0x44,0xff,0x22,
+0x09,0x00,0x54,0xf1,0xff,0xff,0xb0,0x84,0x54,0xfb,0x60,0x45,0x6b,0x60,0x2e,0x62,
+0x65,0x44,0xa2,0xdb,0x6b,0x60,0x2c,0x62,0x00,0x60,0x04,0x64,0xa2,0xdb,0x21,0x60,
+0xbc,0x62,0xa2,0xd1,0x00,0x60,0x04,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,
+0x26,0x46,0x2f,0x58,0xff,0xff,0x0e,0x48,0x6a,0x60,0x58,0x4e,0x95,0x78,0xff,0xff,
+0x10,0x03,0x29,0xf2,0xa3,0xd1,0x60,0x40,0x10,0x2b,0x03,0x00,0x64,0x44,0x02,0xbc,
+0x02,0x00,0x64,0x44,0xfd,0xb4,0xa3,0xdb,0x0a,0xa3,0x3c,0x64,0xa3,0xdb,0xf6,0xa3,
+0x50,0x00,0x2c,0x43,0xa3,0xd3,0xff,0xff,0x60,0x40,0x01,0x26,0x37,0x00,0x43,0x4c,
+0x29,0xf0,0x01,0x64,0x64,0x40,0x10,0x27,0x03,0x64,0xbd,0xdb,0x2e,0xf2,0xff,0xff,
+0xbd,0xdb,0x2f,0xf2,0xbd,0xdb,0xff,0xff,0x30,0xf2,0xbd,0xdb,0x01,0x60,0x76,0x64,
+0xa0,0xd3,0xff,0xff,0x60,0x40,0x08,0x2a,0x02,0x00,0x08,0x7f,0x0a,0x00,0x04,0x2a,
+0x02,0x00,0x04,0x7f,0x06,0x00,0x02,0x2a,0x02,0x00,0x02,0x7f,0x02,0x00,0x01,0x7f,
+0x01,0x7e,0x60,0x47,0xbd,0xdb,0x3c,0x64,0xbd,0xdb,0x29,0xf0,0x34,0xf2,0x64,0x40,
+0x08,0x27,0xcc,0x84,0xbd,0xdb,0x00,0x64,0xbd,0xdb,0x2c,0x43,0x1a,0x00,0x61,0x44,
+0xdc,0x84,0xd0,0x80,0xff,0xff,0xcb,0x06,0x66,0xfb,0xc9,0x00,0x66,0xf1,0x3b,0x60,
+0xca,0x63,0x00,0x61,0xa3,0xd3,0xff,0xff,0xff,0xff,0x01,0x2a,0xf0,0x00,0x10,0xa3,
+0x61,0x44,0xf1,0xa0,0xdd,0x81,0xf6,0x04,0x00,0x63,0x40,0x60,0x4a,0x62,0x01,0x64,
+0xa2,0xdb,0x08,0x4e,0x00,0xbb,0x2e,0x58,0xff,0xff,0x2b,0x60,0xca,0x65,0x00,0x7f,
+0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,0x44,0xd3,0x62,0x43,0x43,0x4c,0x60,0x40,
+0x01,0x2a,0x10,0x00,0x02,0xa3,0x2e,0xf2,0x50,0xfe,0xbd,0xd1,0x2f,0xf2,0xd0,0x80,
+0xbd,0xd1,0x30,0xf2,0xd0,0x80,0xbd,0xd1,0xff,0xff,0xd0,0x80,0xff,0xff,0x02,0x02,
+0xf8,0xa3,0x1e,0x00,0x66,0xf1,0x3b,0x60,0xca,0x63,0x64,0x41,0xff,0x22,0x17,0x00,
+0xbd,0xd1,0x2e,0xf2,0x50,0xfe,0x64,0x40,0x01,0x26,0x04,0x00,0xcd,0x81,0x0e,0xa3,
+0xf7,0x02,0x0d,0x00,0xbd,0xd1,0x2f,0xf2,0xd0,0x80,0xbd,0xd1,0x30,0xf2,0xd0,0x80,
+0xbd,0xd1,0xff,0xff,0xd0,0x80,0xcd,0x81,0xe3,0x01,0x08,0xa3,0xe9,0x02,0x00,0x63,
+0x00,0xbb,0x2e,0x58,0xff,0xff,0xff,0x60,0xff,0x64,0x2b,0xfa,0x2c,0xfa,0x2d,0xfa,
+0xff,0xff,0x3a,0xf3,0xff,0xff,0xe8,0x84,0xe8,0x84,0x01,0x00,0x00,0x64,0x1c,0xfa,
+0x46,0x4d,0xb0,0xf1,0x2e,0xf8,0xb1,0xf1,0xff,0xff,0x2f,0xf8,0xb2,0xf1,0x30,0xf8,
+0xff,0xff,0x75,0xf1,0x31,0xf8,0x76,0xf1,0xff,0xff,0x32,0xf8,0x77,0xf1,0x33,0xf8,
+0x3e,0x60,0x10,0x63,0x74,0xf1,0x00,0x64,0x64,0x5e,0xbd,0xdb,0x64,0x47,0x00,0x7f,
+0xbd,0xdb,0x34,0xf3,0x3a,0xf1,0x01,0xb4,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,
+0xb0,0x84,0x02,0xbc,0xbd,0xdb,0x06,0xd6,0x7e,0x00,0x00,0x10,0x00,0x64,0xbd,0xdb,
+0x00,0x64,0xbd,0xdb,0x62,0x60,0x92,0x62,0xa2,0xd3,0xda,0x85,0xbd,0xdb,0x60,0x41,
+0x06,0xa4,0x83,0xfb,0xa5,0xd1,0xda,0x85,0x64,0x44,0x00,0x7f,0xcd,0x81,0xbd,0xdb,
+0x05,0x03,0x64,0x47,0x00,0x7f,0xcd,0x81,0xbd,0xdb,0xf4,0x02,0x01,0x64,0xbd,0xdb,
+0x83,0xf1,0x18,0x60,0x68,0x62,0xa2,0xd3,0xda,0x85,0xbd,0xdb,0x43,0x48,0x60,0x41,
+0x41,0x4c,0xc0,0x84,0x02,0xa4,0x83,0xfb,0xa5,0xd1,0xda,0x85,0x64,0x44,0x00,0x7f,
+0xcd,0x81,0xbd,0xdb,0x05,0x03,0x64,0x47,0x00,0x7f,0xcd,0x81,0xbd,0xdb,0xf4,0x02,
+0x03,0x64,0xbd,0xdb,0x01,0x64,0xbd,0xdb,0x73,0xf3,0xbd,0xdb,0xff,0xff,0x83,0xf3,
+0xff,0xff,0x03,0xa4,0x83,0xfb,0x06,0x64,0xbd,0xdb,0x02,0x64,0xbd,0xdb,0x7a,0xf1,
+0x00,0x64,0x64,0x5e,0xbd,0xdb,0x64,0x47,0x00,0x7f,0xbd,0xdb,0x83,0xf3,0xff,0xff,
+0x04,0xa4,0x83,0xfb,0x07,0x64,0xbd,0xdb,0x06,0x64,0xbd,0xdb,0x18,0x60,0x18,0x62,
+0xa2,0xd1,0x00,0x64,0x64,0x5e,0xbd,0xdb,0x64,0x47,0x00,0x7f,0xbd,0xdb,0x00,0x64,
+0xbd,0xdb,0x22,0x60,0x3c,0x62,0xa2,0xd3,0xbd,0xdb,0x22,0x60,0x3e,0x62,0xa2,0xd3,
+0xbd,0xdb,0x00,0x64,0xbd,0xdb,0x83,0xf3,0xff,0xff,0x08,0xa4,0x83,0xfb,0x00,0x64,
+0xa3,0xdb,0x18,0x60,0x72,0x62,0xa2,0xd1,0x28,0x43,0x2c,0x41,0xa3,0xd3,0xff,0xff,
+0x60,0x40,0x02,0x3a,0x04,0x00,0x64,0x40,0x01,0x2a,0x14,0x00,0x11,0x00,0x04,0x3a,
+0x04,0x00,0x64,0x40,0x02,0x2a,0x0e,0x00,0x0b,0x00,0x0b,0x3a,0x04,0x00,0x64,0x40,
+0x04,0x2a,0x08,0x00,0x05,0x00,0x16,0x3a,0x05,0x00,0x64,0x40,0x08,0x2a,0x02,0x00,
+0x80,0xbc,0xa3,0xdb,0xcd,0x81,0xdb,0x83,0xe1,0x02,0x83,0xf3,0xff,0xff,0x60,0x41,
+0x08,0xa4,0x38,0xfa,0x00,0xf4,0x3e,0x60,0x10,0x63,0x01,0xf2,0xff,0xff,0x7c,0x7e,
+0x01,0xfa,0x0c,0x65,0xbd,0xd3,0xbd,0xd1,0x60,0x47,0xb0,0x87,0xa5,0xda,0xda,0x85,
+0xcd,0x81,0xcd,0x81,0x01,0x03,0xf6,0x02,0x2d,0x46,0x2e,0x58,0xff,0xff,0x00,0xf4,
+0x07,0xf0,0x67,0xf3,0x64,0x40,0x02,0x2a,0x49,0x00,0x26,0x46,0x02,0xbc,0x67,0xfb,
+0x60,0x45,0x2e,0xf2,0xff,0xff,0x60,0x47,0xb0,0xf3,0x60,0x5c,0x60,0x47,0x2f,0xf2,
+0xd0,0x80,0x60,0x47,0xb1,0xf3,0x60,0x5c,0x60,0x47,0x10,0x07,0x0b,0x04,0x30,0xf2,
+0xd0,0x80,0x60,0x47,0x60,0x5c,0xb2,0xf3,0x09,0x07,0x04,0x04,0x60,0x47,0xd0,0x80,
+0xff,0xff,0x04,0x07,0xfe,0x64,0xa4,0x84,0x67,0xfb,0xff,0xff,0x31,0xf2,0x32,0xf0,
+0x33,0xf0,0xb0,0x84,0xb0,0x84,0xff,0xff,0x21,0x03,0x3e,0x60,0x10,0x63,0x31,0xf0,
+0xbd,0xd9,0x32,0xf0,0xff,0xff,0xbd,0xd9,0x33,0xf0,0xbd,0xd9,0xff,0xff,0x00,0xf4,
+0x02,0xf0,0xbd,0xd9,0xff,0xff,0x03,0xf0,0xbd,0xd9,0x04,0xf0,0xff,0xff,0xbd,0xd9,
+0x05,0xf0,0xbd,0xd9,0xff,0xff,0x06,0xf0,0xbd,0xd9,0x07,0xf0,0xff,0xff,0xbd,0xd9,
+0x00,0x64,0x08,0xf0,0xa3,0xdb,0x64,0x47,0x60,0x45,0x00,0x3b,0x66,0x00,0x00,0x36,
+0x64,0x00,0xbd,0xdb,0xdc,0x84,0xe8,0x81,0x10,0x64,0x58,0xd0,0xcd,0x81,0xbd,0xd9,
+0xfc,0x02,0xd8,0x83,0x04,0x64,0x40,0x4d,0x09,0x61,0x65,0x40,0x01,0x2a,0xbd,0xd0,
+0xff,0xff,0x64,0x44,0x00,0x7f,0x2d,0x42,0xa2,0xda,0x5a,0x8d,0x64,0x47,0x00,0x7f,
+0x2d,0x42,0xa2,0xda,0xcd,0x81,0x5a,0x8d,0xf2,0x02,0x3e,0x60,0x44,0x63,0x04,0x61,
+0x65,0x40,0x01,0x26,0x02,0xa1,0xa1,0xd2,0xff,0xff,0x01,0xa8,0x59,0xd2,0x4b,0x02,
+0xfc,0xa0,0xff,0xff,0x48,0x07,0xbd,0xdb,0x59,0xd0,0xcc,0x84,0xbd,0xd9,0xfc,0x02,
+0x00,0x64,0xbd,0xdb,0x3e,0x60,0x52,0x63,0x59,0xd2,0x59,0xd0,0x03,0xa8,0x73,0xf3,
+0x3a,0x02,0x59,0xd0,0xff,0xff,0xd0,0x80,0xbd,0xd9,0x35,0x02,0x59,0xd2,0x59,0xd0,
+0x06,0xa8,0x59,0xd0,0x30,0x02,0x59,0xd2,0xff,0xff,0x60,0x47,0xb0,0x84,0xbd,0xdb,
+0x3e,0x60,0x46,0x63,0x00,0x61,0xa3,0xd3,0xff,0xff,0x60,0x40,0xff,0x22,0x16,0x00,
+0x80,0x2a,0x11,0x00,0x7f,0xb4,0xa3,0xdb,0x60,0x40,0x02,0x3a,0x02,0x00,0x01,0xb9,
+0x0a,0x00,0x04,0x3a,0x02,0x00,0x02,0xb9,0x06,0x00,0x0b,0x3a,0x02,0x00,0x04,0xb9,
+0x02,0x00,0x16,0x36,0x08,0xb9,0x02,0xa3,0xe6,0x00,0x0d,0x00,0x3e,0x60,0x50,0x63,
+0x61,0x44,0xa3,0xdb,0x3e,0x60,0x10,0x63,0x3c,0x60,0xd8,0x64,0x23,0x61,0xbd,0xd1,
+0xcd,0x81,0x58,0xd9,0xfc,0x02,0x26,0x46,0x2f,0x58,0xff,0xff,0xbd,0xf3,0x0f,0xf0,
+0xfd,0xa0,0xff,0xff,0x07,0x02,0x64,0x40,0x60,0x26,0x04,0x00,0x6d,0x60,0x58,0x4e,
+0x4d,0x78,0xff,0xff,0x2f,0x58,0xff,0xff,0xc4,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,
+0x4d,0x05,0x16,0x60,0xd8,0x62,0xa2,0xd3,0x62,0xf1,0xfc,0xa0,0xff,0xff,0x46,0x02,
+0x64,0x40,0x01,0x2a,0x43,0x00,0x6d,0x60,0x58,0x4e,0x19,0x78,0xff,0xff,0x26,0x46,
+0x3d,0x02,0x2e,0xf0,0x2b,0xf8,0x2f,0xf0,0xff,0xff,0x2c,0xf8,0x30,0xf0,0x2d,0xf8,
+0x6a,0x60,0x58,0x4e,0xde,0x78,0xff,0xff,0x26,0x46,0x00,0xf0,0x04,0x64,0x03,0xfa,
+0x04,0xf8,0x00,0x64,0x0b,0xfa,0x0c,0xfa,0x0f,0xfa,0xff,0xff,0x79,0xf3,0x38,0xf0,
+0x50,0xbc,0x29,0xfa,0x17,0xf8,0x0c,0x64,0x15,0xfa,0x20,0xf2,0xff,0xff,0x60,0x47,
+0x00,0x7f,0x13,0xfa,0x1c,0x64,0x21,0xfa,0x08,0x64,0x28,0xfa,0x00,0x63,0x22,0xfc,
+0x16,0xfc,0x07,0xfc,0x01,0x64,0x19,0xfc,0x1c,0xfc,0x14,0xfa,0xff,0x67,0x0e,0xfa,
+0x3f,0x60,0x6a,0x62,0x3f,0x60,0x16,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0e,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x00,0x66,0x46,0x46,0x2f,0x58,0xff,0xff,
+0xbd,0xf3,0x0f,0xf0,0xfd,0xa0,0x20,0x64,0x3d,0x02,0x64,0x40,0x60,0x26,0x10,0x64,
+0x54,0xf1,0xff,0xff,0xb0,0x84,0x54,0xfb,0x21,0x60,0xbc,0x62,0xa2,0xd1,0x00,0x60,
+0x04,0x64,0xb0,0x84,0xa2,0xdb,0xff,0xff,0xcf,0xfe,0x2e,0xf2,0xff,0xff,0x60,0x41,
+0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0x5a,0xd2,0xf0,0x85,0x94,0x84,
+0x60,0x41,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0x5a,0xd2,0xf0,0x85,
+0x94,0x84,0x60,0x41,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,
+0x6a,0x60,0x58,0x4e,0x2b,0x78,0xff,0xff,0x29,0xf2,0xff,0xff,0x60,0x40,0x10,0x2b,
+0x09,0x00,0x6e,0x60,0x58,0x4e,0x72,0x78,0xff,0xff,0x04,0x03,0x6e,0x60,0x58,0x4e,
+0x8c,0x78,0xff,0xff,0x2f,0x58,0xff,0xff,0x00,0xf4,0x04,0x63,0x06,0x00,0x00,0xf4,
+0x07,0xf0,0x10,0x63,0x64,0x40,0x02,0x2a,0x27,0x00,0xbd,0xd2,0xff,0xff,0x60,0x47,
+0x00,0x3a,0x22,0x00,0x60,0x41,0x00,0x36,0x1d,0x00,0x62,0x60,0x92,0x62,0xa2,0xd3,
+0x61,0x45,0xd4,0x80,0xff,0xff,0x18,0x02,0xda,0x82,0x61,0x40,0xfe,0x22,0x08,0x00,
+0x62,0x45,0xbd,0xd2,0xa5,0xd1,0xda,0x82,0xd0,0x80,0xc9,0x81,0xf6,0x03,0x0c,0x00,
+0x61,0x40,0x00,0x36,0x07,0x00,0x62,0x45,0xa3,0xd2,0xa5,0xd1,0xff,0xff,0x90,0x80,
+0xff,0x26,0x02,0x00,0x00,0x64,0x01,0x00,0x01,0x64,0x01,0xb4,0x2e,0x58,0xff,0xff,
+0x2e,0xf0,0x2b,0xf8,0x2f,0xf0,0xff,0xff,0x2c,0xf8,0x30,0xf0,0x2d,0xf8,0xff,0xff,
+0xb0,0xf1,0x2e,0xf8,0xff,0xff,0xb1,0xf1,0x2f,0xf8,0xb2,0xf1,0xff,0xff,0x30,0xf8,
+0x75,0xf1,0x31,0xf8,0xff,0xff,0x76,0xf1,0x32,0xf8,0x77,0xf1,0xff,0xff,0x33,0xf8,
+0x00,0xf0,0x04,0x64,0x03,0xfa,0x04,0xf8,0x00,0x64,0x0b,0xfa,0x0c,0xfa,0x0f,0xfa,
+0xff,0xff,0x79,0xf3,0xff,0xff,0xb0,0xbc,0x29,0xfa,0x0c,0x64,0x15,0xfa,0x20,0xf2,
+0xff,0xff,0x60,0x47,0x00,0x7f,0x13,0xfa,0x1c,0x64,0x21,0xfa,0x08,0x64,0x28,0xfa,
+0x00,0x63,0x22,0xfc,0x16,0xfc,0x07,0xfc,0x01,0x64,0x19,0xfc,0x1c,0xfc,0x14,0xfa,
+0xff,0x67,0x0e,0xfa,0x38,0xf0,0x06,0x64,0x38,0xfa,0x17,0xfa,0x44,0x48,0x00,0xf4,
+0x01,0xf2,0xff,0xff,0x7c,0x7e,0x01,0xfa,0x02,0xf2,0x00,0x63,0x00,0xa0,0x04,0xfc,
+0x07,0x02,0x03,0xf2,0x00,0x63,0xff,0xa0,0xff,0xff,0x3b,0x03,0x0e,0x63,0x39,0x00,
+0xff,0xa0,0x0d,0x63,0x36,0x02,0x34,0xf3,0xff,0xff,0x60,0x40,0x01,0x2a,0x31,0x00,
+0x03,0xf2,0x0e,0x63,0xff,0xa0,0xff,0xff,0x1c,0x02,0x0a,0x63,0x80,0x60,0x10,0x64,
+0xbd,0xda,0x00,0x60,0x3a,0x61,0x01,0x60,0x02,0x65,0x55,0x60,0xaa,0x64,0xcd,0x81,
+0xbd,0xda,0xc4,0x84,0xfc,0x02,0x00,0xf4,0x04,0x63,0x06,0x61,0xcd,0x81,0xbd,0xda,
+0xc4,0x84,0xfc,0x02,0x26,0x46,0x88,0x64,0x38,0xfa,0x17,0xfa,0x00,0xf4,0x00,0x63,
+0x10,0x00,0xfd,0xa0,0xff,0xff,0x0d,0x02,0x0f,0x63,0x55,0x60,0xaa,0x65,0x05,0xf2,
+0xff,0xff,0xd4,0x80,0x88,0x64,0x05,0x02,0x28,0x45,0xd4,0x80,0xff,0xff,0x01,0x02,
+0x00,0x63,0x03,0xf2,0x04,0xfc,0xdc,0x84,0x03,0xfa,0x26,0x46,0x3f,0x60,0x6a,0x62,
+0x3f,0x60,0x16,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0e,0x64,0x5a,0xdb,0xff,0xff,
+0x2b,0xff,0xc1,0xfe,0x00,0x66,0x46,0x46,0x2e,0x58,0xff,0xff,0x21,0x60,0x7a,0x62,
+0xa2,0xd1,0x62,0x60,0xe8,0x64,0xa0,0xd3,0xfa,0x65,0xd0,0x80,0xff,0xff,0x37,0x0d,
+0xc4,0x84,0xa2,0xdb,0x62,0x60,0xe6,0x64,0xa0,0xd1,0x3c,0x60,0xca,0x64,0x64,0x43,
+0xd0,0x80,0x2b,0x60,0xca,0x64,0x01,0x07,0x60,0x43,0x10,0x61,0xa3,0xd3,0xff,0xff,
+0xff,0xff,0x01,0x2a,0x1e,0x00,0x0a,0x65,0x46,0xd3,0xff,0xff,0xcc,0x84,0xa2,0xdb,
+0x03,0x02,0x00,0x64,0xa3,0xdb,0x15,0x00,0xfe,0xa2,0xa2,0xd3,0xff,0xff,0x60,0x47,
+0x60,0x40,0x08,0x2a,0x02,0x00,0x08,0x7f,0x0a,0x00,0x04,0x2a,0x02,0x00,0x04,0x7f,
+0x06,0x00,0x02,0x2a,0x02,0x00,0x02,0x7f,0x02,0x00,0x01,0x7f,0x01,0x7e,0x60,0x47,
+0xa2,0xdb,0xcd,0x81,0x10,0xa3,0xda,0x02,0x62,0x60,0xe6,0x64,0xa0,0xdd,0x2e,0x58,
+0xff,0xff,0x3d,0x60,0x98,0x63,0x5f,0xf3,0xff,0xff,0x00,0xbc,0x60,0x41,0x10,0x03,
+0x2b,0xf2,0x50,0xfe,0xbd,0xd1,0x2c,0xf2,0xd0,0x80,0xbd,0xd1,0x2d,0xf2,0xd0,0x80,
+0xbd,0xd1,0xff,0xff,0xd0,0x80,0xff,0xff,0x04,0x03,0xfa,0xa1,0xff,0xff,0xf0,0x02,
+0x01,0xbc,0x2e,0x58,0xff,0xff,0x3d,0x60,0x20,0x63,0x5e,0xf3,0xe6,0x00,0x3d,0x60,
+0x98,0x65,0x5f,0xf3,0xff,0xff,0xc4,0x83,0x88,0xa0,0x06,0xa4,0x09,0x05,0x5f,0xfb,
+0xff,0xff,0x2b,0xf2,0xbd,0xdb,0x2c,0xf2,0xff,0xff,0xbd,0xdb,0x2d,0xf2,0xbd,0xdb,
+0x2e,0x58,0xff,0xff,0x3d,0x60,0x20,0x65,0x5e,0xf3,0xff,0xff,0xc4,0x83,0x88,0xa0,
+0x06,0xa4,0x09,0x05,0x5e,0xfb,0xff,0xff,0x2b,0xf2,0xbd,0xdb,0x2c,0xf2,0xff,0xff,
+0xbd,0xdb,0x2d,0xf2,0xbd,0xdb,0x2e,0x58,0xff,0xff,0x3d,0x60,0x98,0x63,0x5f,0xf3,
+0xff,0xff,0x00,0xbc,0x60,0x41,0x10,0x03,0x2e,0xf2,0x50,0xfe,0xbd,0xd1,0x2f,0xf2,
+0xd0,0x80,0xbd,0xd1,0x30,0xf2,0xd0,0x80,0xbd,0xd1,0xff,0xff,0xd0,0x80,0xff,0xff,
+0x04,0x03,0xfa,0xa1,0xff,0xff,0xf0,0x02,0x01,0xbc,0x2e,0x58,0xff,0xff,0x3d,0x60,
+0x98,0x65,0x5f,0xf3,0xff,0xff,0xc4,0x83,0x88,0xa0,0x06,0xa4,0x09,0x05,0x5f,0xfb,
+0xff,0xff,0x2e,0xf2,0xbd,0xdb,0x2f,0xf2,0xff,0xff,0xbd,0xdb,0x30,0xf2,0xbd,0xdb,
+0x2e,0x58,0xff,0xff,0x3f,0x60,0x4c,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa8,0x60,0x46,
+0x03,0x02,0x3d,0x60,0x36,0x78,0xff,0xff,0x26,0x45,0xd4,0x80,0x0f,0xf0,0xf9,0x03,
+0x64,0x44,0x70,0xb0,0x70,0x2a,0x03,0x00,0x74,0x60,0x40,0x78,0xff,0xff,0x64,0x40,
+0x04,0x2a,0x13,0x00,0x6a,0x60,0xb6,0x62,0x00,0x64,0xa2,0xdb,0x29,0xf2,0xff,0xff,
+0xff,0xff,0x40,0x2b,0x0f,0x00,0x64,0x40,0x80,0x2b,0x07,0x00,0x1b,0xf2,0x22,0xf0,
+0x60,0x47,0xc0,0xb4,0xb0,0x84,0x22,0xfa,0x05,0x00,0x00,0x64,0x40,0x46,0x3d,0x60,
+0x36,0x78,0xff,0xff,0x32,0x40,0x01,0x2a,0x07,0x00,0x75,0x60,0x80,0x78,0xff,0xff,
+0x03,0x03,0x74,0x60,0x40,0x78,0xff,0xff,0x46,0x46,0x0f,0xf0,0xff,0xff,0x64,0x44,
+0x80,0x26,0x0e,0x00,0x32,0x40,0x01,0x2a,0x08,0x00,0x22,0xf0,0x07,0x60,0x01,0x64,
+0xb0,0x84,0x22,0xfa,0x74,0x60,0x59,0x78,0xff,0xff,0x74,0x60,0x40,0x78,0xff,0xff,
+0x08,0x26,0x4d,0x00,0x64,0x60,0x94,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x89,0xf1,0x29,0xf2,
+0x64,0x40,0x01,0x3a,0x1e,0x00,0x0c,0x26,0x1c,0x00,0xf0,0xb4,0xff,0xff,0xb0,0x3a,
+0x18,0x00,0x80,0x60,0xf2,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x66,0x5c,0x00,0xf4,0x00,0x60,
+0x01,0x64,0x02,0xfa,0x00,0x60,0x03,0x64,0x03,0xfa,0x64,0x46,0x74,0x60,0x59,0x78,
+0xff,0xff,0x29,0xf2,0xff,0xff,0xff,0xff,0x03,0x27,0x06,0x00,0x6a,0x60,0xd2,0x62,
+0xa2,0xd3,0xff,0xff,0x01,0xa4,0xa2,0xdb,0x32,0x44,0x01,0x2a,0x05,0x00,0x22,0xf0,
+0x07,0x60,0x02,0x64,0xb0,0x84,0x04,0x00,0x02,0x2a,0x06,0x00,0x00,0x60,0x02,0x64,
+0x22,0xfa,0x74,0x60,0x59,0x78,0xff,0xff,0x74,0x60,0x40,0x78,0xff,0xff,0x32,0x40,
+0x01,0x2a,0x08,0x00,0x22,0xf0,0x07,0x60,0x00,0x64,0xb0,0x84,0x22,0xfa,0x74,0x60,
+0x59,0x78,0xff,0xff,0x29,0xf2,0x0f,0xf0,0x60,0x40,0xa4,0x36,0x08,0x00,0x0c,0xb4,
+0x04,0x36,0x02,0x00,0x0c,0x3a,0x06,0x00,0x74,0x60,0x40,0x78,0xff,0xff,0x74,0x60,
+0x3b,0x78,0xff,0xff,0x64,0x40,0x60,0x26,0x03,0x00,0x70,0x60,0x4a,0x78,0xff,0xff,
+0x89,0xf3,0x29,0xf2,0x00,0xbc,0xc2,0xf1,0x20,0x03,0x64,0x40,0x00,0x3a,0x4e,0x00,
+0x60,0x40,0x40,0x36,0x4b,0x00,0x80,0x3a,0x15,0x00,0x5c,0x63,0x64,0x60,0xd8,0x61,
+0xbd,0xd2,0xa1,0xd1,0x02,0xa1,0xbd,0xd2,0xd0,0x80,0xa1,0xd1,0x02,0xa1,0x0a,0x02,
+0xd0,0x80,0xbd,0xd2,0xa1,0xd1,0x06,0x02,0xd0,0x80,0xff,0xff,0x03,0x02,0x72,0x60,
+0x99,0x78,0xff,0xff,0x74,0x60,0x40,0x78,0xff,0xff,0x5c,0x63,0x60,0x40,0x02,0x2b,
+0x62,0x63,0xbd,0xd2,0x75,0xf1,0xbd,0xd2,0xd0,0x80,0x76,0xf1,0x07,0x02,0xd0,0x80,
+0xbd,0xd2,0x77,0xf1,0x03,0x02,0xd0,0x80,0xff,0xff,0x20,0x03,0xc4,0xf3,0xff,0xff,
+0xfd,0xa0,0x29,0xf2,0x04,0x04,0x60,0x40,0x80,0x36,0x18,0x00,0x14,0x00,0xe9,0xf3,
+0x29,0xf2,0x60,0x40,0x40,0x26,0xf7,0x00,0x16,0x60,0xd8,0x62,0xa2,0xd3,0x29,0xf2,
+0xfc,0xa0,0x2b,0xf0,0x08,0x02,0x60,0x40,0x80,0x36,0x02,0x00,0x40,0x3a,0x03,0x00,
+0x64,0x40,0x01,0x26,0x03,0x00,0x74,0x60,0x40,0x78,0xff,0xff,0x29,0xf2,0xff,0xff,
+0x60,0x5c,0x0c,0xb4,0x08,0x3a,0x47,0x00,0x34,0xf3,0x64,0x40,0x40,0x27,0x09,0x00,
+0xe7,0xf3,0x60,0x40,0x02,0x2a,0x05,0x00,0x01,0x26,0x03,0x00,0x74,0x60,0x40,0x78,
+0xff,0xff,0x74,0x60,0xdb,0x78,0xff,0xff,0x18,0x60,0x0a,0x64,0xa0,0xd3,0xbd,0xf3,
+0x00,0xa0,0xfe,0xa0,0xe0,0x02,0xdf,0x03,0x63,0x60,0xfa,0x64,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x1f,0xf2,0xff,0xff,0x60,0x45,0x64,0x60,0x40,0x64,0xa0,0xd3,0xff,0xff,0xc4,0x84,
+0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x26,0xf2,
+0xff,0xff,0x60,0x47,0x00,0x7f,0xe0,0x84,0xe0,0x84,0x60,0x45,0x63,0x60,0xfe,0x64,
+0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x0f,0xf2,0xff,0xff,0x60,0x40,0x40,0x26,0x42,0x00,
+0x32,0x44,0x02,0x26,0x3f,0x00,0x61,0x60,0xcc,0x64,0xa0,0xd3,0xff,0xff,0x00,0xa0,
+0x60,0x41,0x13,0x03,0x61,0x60,0xd0,0x63,0x2b,0xf2,0x50,0xfe,0xbd,0xd1,0x2c,0xf2,
+0xd0,0x80,0xbd,0xd1,0x2d,0xf2,0xd0,0x80,0xbd,0xd1,0xff,0xff,0xd0,0x80,0xfa,0xa1,
+0x04,0x01,0xf2,0x02,0x74,0x60,0x40,0x78,0xff,0xff,0xbd,0xf3,0xff,0xff,0xfd,0xa0,
+0xff,0xff,0x20,0x02,0x2e,0xf2,0xff,0xff,0x60,0x41,0xe1,0x81,0xf0,0x84,0xe1,0x81,
+0xf0,0x84,0xe1,0x81,0x5a,0xd2,0xf0,0x85,0x94,0x84,0x60,0x41,0xe1,0x81,0xf0,0x84,
+0xe1,0x81,0xf0,0x84,0xe1,0x81,0x5a,0xd2,0xf0,0x85,0x94,0x84,0x60,0x41,0xe1,0x81,
+0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0x6a,0x60,0x58,0x4e,0x2b,0x78,
+0xff,0xff,0x00,0x03,0x74,0x60,0x2a,0x78,0xff,0xff,0x32,0x40,0x02,0x26,0x2e,0x00,
+0x29,0xf0,0x34,0xf3,0x64,0x40,0x08,0x2a,0x29,0x00,0x64,0x40,0x40,0x27,0x0a,0x00,
+0x02,0x2a,0x08,0x00,0x38,0xf2,0xff,0xff,0x00,0xa8,0xff,0xff,0x03,0x03,0x74,0x60,
+0x40,0x78,0xff,0xff,0x29,0xf0,0x03,0x67,0xa0,0x84,0xff,0xff,0x00,0x37,0x62,0x63,
+0x02,0x37,0x5c,0x63,0x01,0x37,0x56,0x63,0x03,0x37,0x10,0x00,0xbd,0xd2,0x75,0xf1,
+0xbd,0xd2,0xd0,0x80,0x76,0xf1,0x07,0x02,0xd0,0x80,0xbd,0xd2,0x77,0xf1,0x03,0x02,
+0xd0,0x80,0xff,0xff,0x03,0x03,0x74,0x60,0x40,0x78,0xff,0xff,0x21,0x60,0x86,0x62,
+0xa2,0xd5,0x21,0x60,0x7a,0x62,0xa2,0xd3,0xff,0xff,0x40,0x48,0x09,0xf2,0x46,0x4b,
+0x00,0xbe,0x12,0xf2,0x19,0x03,0x60,0x45,0x28,0x44,0xd4,0x81,0x27,0x60,0x10,0x65,
+0xd5,0x80,0x46,0x45,0xf3,0x04,0x09,0xf2,0x2b,0x46,0x09,0xfa,0x64,0x60,0x8a,0x62,
+0xa2,0xd3,0xff,0xff,0x01,0xa4,0xa2,0xdb,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,
+0xff,0xff,0xa3,0xff,0x2b,0x46,0xe2,0x00,0x26,0x46,0x34,0xf2,0xff,0xff,0x0f,0xb4,
+0x29,0xf0,0x03,0x02,0x64,0x40,0x04,0x2b,0x67,0x00,0x60,0x40,0x0f,0x26,0x7d,0x00,
+0x63,0x60,0xe6,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,
+0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x26,0xf2,0xff,0xff,0x60,0x47,0x00,0x7f,
+0xe0,0x84,0xe0,0x84,0x60,0x45,0x63,0x60,0xea,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x1f,0xf2,0xff,0xff,0x60,0x45,0x64,0x60,0x40,0x64,0xa0,0xd3,0xff,0xff,0xc4,0x84,
+0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x21,0x60,
+0x7a,0x62,0xa2,0xd1,0xff,0xff,0x12,0xf8,0x3f,0x60,0x6a,0x62,0x00,0x64,0xa2,0xdb,
+0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x00,0x64,0x09,0xfa,
+0x05,0xf2,0x06,0xf2,0x60,0x43,0x05,0xfa,0x60,0x46,0x01,0xf0,0x7f,0x60,0xff,0x64,
+0xa0,0x84,0x01,0xfa,0x00,0x64,0x00,0xf0,0x00,0xfa,0xc0,0x80,0x44,0x45,0x08,0x03,
+0x25,0x46,0x05,0xfc,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,
+0x26,0x46,0x75,0x60,0x58,0x4e,0x63,0x78,0xff,0xff,0x09,0x02,0x2b,0x46,0x26,0x44,
+0x09,0xfa,0x74,0x60,0x54,0x78,0xff,0xff,0x72,0x60,0x7a,0x78,0xff,0xff,0x09,0x45,
+0x09,0xf0,0x26,0x46,0x09,0xf8,0x2b,0x46,0x26,0x44,0x09,0xfa,0xa2,0xff,0x1a,0x60,
+0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,0x64,0x60,0x84,0x62,0xa2,0xd3,0xff,0xff,
+0x01,0xa4,0xa2,0xdb,0x74,0x60,0x54,0x78,0xff,0xff,0x75,0x60,0x58,0x4e,0x63,0x78,
+0xff,0xff,0x39,0x02,0x63,0x60,0xe6,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x26,0xf2,0xff,0xff,
+0x60,0x47,0x00,0x7f,0xe0,0x84,0xe0,0x84,0x60,0x45,0x63,0x60,0xea,0x64,0xc4,0x84,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x1f,0xf2,0xff,0xff,0x60,0x45,0x64,0x60,0x40,0x64,0xa0,0xd3,
+0xff,0xff,0xc4,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x64,0x60,0x88,0x62,0xa2,0xd3,0xff,0xff,0x01,0xa4,0xa2,0xdb,0x26,0x46,
+0x74,0x60,0x40,0x78,0xff,0xff,0x34,0xf2,0x26,0x46,0x34,0xf2,0x01,0xa5,0xd4,0x80,
+0x29,0x46,0x6a,0x03,0x01,0xa4,0xd4,0x80,0x26,0x46,0x23,0x02,0x64,0x60,0x58,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x26,0xf2,0xff,0xff,0x60,0x47,0x00,0x7f,0xe0,0x84,0xe0,0x84,
+0x60,0x45,0x64,0x60,0x5c,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x74,0x60,0x40,0x78,
+0xff,0xff,0x29,0x46,0x05,0xf2,0x09,0xf0,0x2b,0x46,0x09,0xf8,0x26,0x46,0x05,0xf4,
+0x29,0x43,0x00,0xfc,0x26,0x46,0x05,0xfa,0x63,0x60,0xe6,0x64,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x26,0xf2,0xff,0xff,0x60,0x47,0x00,0x7f,0xe0,0x84,0xe0,0x84,0x60,0x45,0x63,0x60,
+0xea,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,
+0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x1f,0xf2,0xff,0xff,0x60,0x45,0x64,0x60,
+0x40,0x64,0xa0,0xd3,0xff,0xff,0xc4,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x64,0x60,0x86,0x62,0xa2,0xd3,0xff,0xff,0x01,0xa4,
+0xa2,0xdb,0x74,0x60,0x40,0x78,0xff,0xff,0x34,0xfa,0x63,0x60,0xe6,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x26,0xf2,0xff,0xff,0x60,0x47,0x00,0x7f,0xe0,0x84,0xe0,0x84,0x60,0x45,
+0x63,0x60,0xea,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x1f,0xf2,0xff,0xff,0x60,0x45,
+0x64,0x60,0x40,0x64,0xa0,0xd3,0xff,0xff,0xc4,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,
+0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x3f,0x60,0x6a,0x62,0x00,0x64,0xa2,0xdb,
+0x26,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,0xff,0xff,0x2b,0xff,0x26,0x46,0x7f,0x60,
+0xff,0x65,0x00,0xf0,0x38,0xf2,0xff,0xff,0x06,0xf4,0x01,0xf2,0x60,0x41,0xa4,0x84,
+0x01,0xfa,0x00,0xf2,0x00,0x63,0x00,0xfc,0x66,0x45,0x26,0x46,0x00,0xfa,0x29,0x46,
+0x65,0x44,0x05,0xfa,0x64,0x45,0x06,0xf0,0x06,0xfa,0x64,0x46,0x65,0x44,0x00,0xfa,
+0x29,0x46,0x38,0xf0,0x61,0x44,0xc0,0x84,0x38,0xfa,0x26,0x46,0x29,0xf0,0x00,0xf2,
+0x06,0x45,0x00,0xa8,0x66,0x44,0x01,0x02,0x05,0xfa,0x64,0x40,0x04,0x2b,0x0e,0x00,
+0x21,0x60,0x7a,0x62,0xa2,0xd3,0x29,0x46,0x12,0xfa,0xa2,0xff,0x1a,0x60,0x58,0x4f,
+0x37,0x78,0xff,0xff,0xa3,0xff,0x74,0x60,0x54,0x78,0xff,0xff,0x29,0x46,0x38,0xf2,
+0x09,0xf0,0x60,0x47,0x3f,0xfa,0x2b,0x46,0x09,0xf8,0x26,0x46,0xff,0x60,0xf0,0x65,
+0x34,0xf2,0x29,0xf0,0xa4,0x84,0x29,0x46,0x34,0xfa,0xf7,0x60,0xff,0x64,0x0b,0xfa,
+0xa0,0x9c,0x29,0xf8,0x00,0x64,0x09,0xfa,0x06,0xf4,0x80,0x67,0x01,0xf2,0x60,0x45,
+0xb4,0x83,0x01,0xfc,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,
+0x09,0x46,0x29,0x46,0x89,0xf3,0xff,0xff,0x60,0x40,0x01,0x26,0x03,0x00,0x74,0x60,
+0x17,0x78,0xff,0xff,0x74,0x60,0x2a,0x78,0xff,0xff,0x89,0xf3,0xff,0xff,0x60,0x40,
+0x01,0x26,0x03,0x00,0x73,0x60,0x44,0x78,0xff,0xff,0x29,0xf2,0xff,0xff,0xff,0xff,
+0x50,0x3a,0xf0,0x00,0x5c,0x63,0x64,0x60,0xd8,0x61,0xbd,0xd2,0xa1,0xd1,0x02,0xa1,
+0xbd,0xd2,0xd0,0x80,0xa1,0xd1,0x02,0xa1,0xe5,0x02,0xd0,0x80,0xbd,0xd2,0xa1,0xd1,
+0xe1,0x02,0xd0,0x80,0xff,0xff,0xde,0x02,0x26,0x46,0x2b,0x60,0xc2,0x63,0x00,0xf4,
+0x02,0xf2,0xbd,0xdb,0xff,0xff,0x03,0xf2,0xbd,0xdb,0x04,0xf2,0xff,0xff,0xbd,0xdb,
+0x05,0xf2,0xa3,0xdb,0xfa,0xa3,0x26,0x46,0x00,0x60,0x00,0x65,0xa3,0xd3,0x23,0xf0,
+0x00,0x61,0xd0,0x84,0xf1,0x81,0xd4,0x84,0xf1,0x81,0xbd,0xdb,0xa3,0xd3,0x03,0xb1,
+0x03,0xa9,0x24,0xf0,0x42,0xfe,0x01,0x03,0xcc,0x84,0xf1,0x81,0xd0,0x84,0xf1,0x81,
+0xbd,0xdb,0xa3,0xd3,0x03,0xb1,0x03,0xa9,0x27,0xf0,0x42,0xfe,0x01,0x03,0xcc,0x84,
+0xf1,0x81,0xd0,0x84,0xf1,0x81,0xbd,0xdb,0xa3,0xd3,0x03,0xb1,0x03,0xa9,0x28,0xf0,
+0x01,0x03,0xcc,0x84,0xd0,0x84,0xa3,0xdb,0x01,0x64,0x22,0xfb,0xff,0xff,0x1a,0xff,
+0x6a,0x60,0xc0,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,0xff,0xff,0x68,0x03,0x26,0x46,
+0x00,0xf4,0x02,0xf2,0x5a,0xd2,0x40,0x47,0x40,0x48,0x5a,0xd2,0x5a,0xd2,0x40,0x49,
+0x60,0x41,0x5a,0xd0,0x74,0xf9,0x40,0x63,0xad,0x80,0xf0,0xa3,0x09,0x02,0x3c,0x03,
+0x29,0x41,0x28,0x44,0x40,0x49,0x27,0x44,0x40,0x48,0x00,0x64,0x40,0x47,0xf4,0x00,
+0xd1,0x80,0x01,0x02,0x31,0x04,0x10,0xa3,0x80,0x60,0x00,0x65,0xa5,0x80,0xcf,0x83,
+0x08,0x02,0x27,0x44,0x60,0x87,0x28,0x44,0x70,0x88,0x29,0x44,0x06,0xe6,0x7e,0x00,
+0x5c,0x0c,0x70,0x89,0xf1,0x81,0xf5,0x00,0xe7,0xa3,0x64,0x44,0x00,0xa0,0x00,0x62,
+0x02,0x02,0x00,0x61,0x1c,0x00,0xe0,0x84,0xde,0x82,0xfd,0x04,0x42,0xfe,0xf8,0x84,
+0x62,0x45,0xc7,0x83,0x60,0x45,0x02,0xfe,0xd5,0x84,0x02,0x05,0x01,0x05,0x61,0x44,
+0xcf,0x83,0x60,0x41,0x08,0x03,0x27,0x44,0x60,0x87,0x28,0x44,0x70,0x88,0x29,0x44,
+0x70,0x89,0xf1,0x81,0xf1,0x00,0xce,0x82,0xe9,0x81,0xfd,0x02,0xf1,0x81,0x02,0xf2,
+0xff,0xff,0x60,0x47,0xe8,0x84,0xe8,0x84,0x5a,0xd2,0x3f,0xb5,0xe0,0x84,0xe0,0x84,
+0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x84,0xb4,0x84,0x61,0x45,0xd4,0x84,0xc0,0x84,
+0xe0,0x84,0xe0,0x84,0xe0,0x84,0xe0,0x93,0x6a,0x60,0xc0,0x62,0x00,0x64,0xa2,0xdb,
+0x26,0x46,0x6d,0x00,0xbd,0xf3,0xff,0xff,0xfd,0xa0,0xff,0xff,0x68,0x02,0x40,0x60,
+0x1c,0x64,0xa0,0xd3,0xff,0xff,0x01,0xbc,0xa2,0xdb,0x29,0xf2,0xff,0xff,0x60,0x40,
+0x10,0x2b,0x09,0x00,0x6e,0x60,0x58,0x4e,0x72,0x78,0xff,0xff,0x04,0x03,0x6e,0x60,
+0x58,0x4e,0x8c,0x78,0xff,0xff,0x2e,0xf2,0xff,0xff,0x60,0x41,0xe1,0x81,0xf0,0x84,
+0xe1,0x81,0xf0,0x84,0xe1,0x81,0x5a,0xd2,0xf0,0x85,0x94,0x84,0x60,0x41,0xe1,0x81,
+0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0x5a,0xd2,0xf0,0x85,0x94,0x84,0x60,0x41,
+0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0xe1,0x81,0xf0,0x84,0x6a,0x60,0x58,0x4e,
+0x2b,0x78,0xff,0xff,0x34,0x03,0x29,0xf2,0x34,0xf0,0x60,0x40,0x08,0x3a,0x61,0x00,
+0x08,0x2b,0x2a,0x00,0x0c,0xa3,0xa3,0xd3,0xff,0xff,0xd0,0x80,0xff,0xff,0x25,0x02,
+0x64,0x60,0x58,0x64,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,
+0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x26,0xf2,0xff,0xff,0x60,0x47,0x00,0x7f,
+0xe0,0x84,0xe0,0x84,0x60,0x45,0x64,0x60,0x5c,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x74,0x60,0x40,0x78,0xff,0xff,0x69,0x00,0x0c,0xa3,0xa3,0xd9,0x32,0x00,0x6a,0x60,
+0x98,0x65,0x29,0xf2,0x34,0xf0,0x60,0x40,0xa4,0x36,0x72,0x00,0x08,0x2b,0x28,0x00,
+0xa5,0xd3,0xff,0xff,0xd0,0x80,0xff,0xff,0x23,0x02,0x64,0x60,0x58,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,
+0xa2,0xdb,0x26,0xf2,0xff,0xff,0x60,0x47,0x00,0x7f,0xe0,0x84,0xe0,0x84,0x60,0x45,
+0x64,0x60,0x5c,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x74,0x60,0x40,0x78,0xff,0xff,
+0xa5,0xd9,0x29,0xf2,0xff,0xff,0xff,0xff,0x0c,0x22,0x42,0x00,0x63,0x60,0xe6,0x64,
+0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x26,0xf2,0xff,0xff,0x60,0x47,0x00,0x7f,0xe0,0x84,0xe0,0x84,
+0x60,0x45,0x63,0x60,0xea,0x64,0xc4,0x84,0xa0,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,
+0x05,0x04,0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x1f,0xf2,0xff,0xff,
+0x60,0x45,0x64,0x60,0x40,0x64,0xa0,0xd3,0xff,0xff,0xc4,0x84,0xa2,0xdb,0x05,0x04,
+0xda,0x82,0xa2,0xd3,0xff,0xff,0xdc,0x84,0xa2,0xdb,0x46,0x48,0x00,0xf4,0x80,0x60,
+0x87,0x65,0x66,0x44,0xac,0x80,0x05,0xf2,0xff,0xff,0xd4,0x80,0x08,0x03,0x07,0x02,
+0x74,0x60,0x8a,0x78,0xff,0xff,0x03,0x02,0x6e,0x60,0x9f,0x78,0xff,0xff,0x28,0x46,
+0x38,0xf2,0x3c,0xf1,0xff,0xff,0xd0,0x80,0xff,0xff,0x10,0x07,0x78,0x43,0x04,0xa3,
+0x49,0xfd,0x0c,0x60,0x46,0x64,0xa0,0xd7,0xff,0xff,0xff,0xff,0x6e,0x60,0x9f,0x78,
+0xff,0xff,0x89,0xf3,0xff,0xff,0x60,0x40,0x01,0x26,0x19,0x00,0x0f,0x4e,0x46,0x45,
+0x3f,0x60,0x6a,0x62,0x00,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0xa2,0xff,0x1a,0x60,0x58,0x4f,0x37,0x78,0xff,0xff,0xa3,0xff,
+0xd1,0xfe,0x0e,0x4f,0x00,0x64,0x40,0x46,0x6e,0x60,0x9f,0x78,0xff,0xff,0x3f,0x60,
+0x6a,0x62,0x3f,0x60,0x52,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0xd2,0xfe,0x00,0x64,0x40,0x46,0x6e,0x60,0x9f,0x78,0xff,0xff,
+0x2f,0x58,0xff,0xff,0x29,0xf2,0xff,0xff,0x60,0x47,0x56,0x63,0x01,0xb0,0x01,0x26,
+0x62,0x63,0xbd,0xd0,0x39,0xf8,0xbd,0xd0,0xff,0xff,0x3a,0xf8,0xbd,0xd0,0x3b,0xf8,
+0x02,0xb0,0x5c,0x63,0x04,0x03,0x62,0x63,0x03,0xb0,0x02,0x3a,0x6a,0x63,0xbd,0xd0,
+0x3c,0xf8,0xbd,0xd0,0xff,0xff,0x3d,0xf8,0xbd,0xd0,0x3e,0xf8,0x2f,0x58,0xff,0xff,
+0x06,0x67,0x06,0xf2,0x60,0x45,0xd4,0x80,0xff,0xff,0x48,0x02,0x18,0x60,0x10,0x63,
+0xa3,0xd3,0x08,0xfe,0xff,0xff,0x04,0x26,0x41,0x00,0x07,0x67,0x06,0xfa,0x28,0x46,
+0x00,0xf0,0x04,0x64,0x03,0xfa,0x04,0xf8,0x00,0x64,0x0b,0xfa,0x0c,0xfa,0xff,0xff,
+0x0f,0xfa,0x2e,0xf2,0x2b,0xfa,0xff,0xff,0x2f,0xf2,0x2c,0xfa,0x30,0xf2,0xff,0xff,
+0x2d,0xfa,0xb0,0xf1,0x2e,0xf8,0xff,0xff,0xb1,0xf1,0x2f,0xf8,0xb2,0xf1,0xff,0xff,
+0x30,0xf8,0x79,0xf3,0xff,0xff,0x08,0xbc,0x34,0xf1,0xff,0xff,0x64,0x40,0x01,0x2a,
+0x03,0x00,0x60,0x47,0x40,0xbc,0x60,0x47,0x29,0xfa,0x00,0x63,0x28,0xfc,0x22,0xfc,
+0x39,0x60,0x58,0x4e,0xfe,0x78,0xff,0xff,0xff,0x7f,0x00,0x7e,0x0e,0xfa,0x3f,0x60,
+0x6a,0x62,0x3f,0x60,0x10,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,0x5a,0xdb,
+0xff,0xff,0x2b,0xff,0xc1,0xfe,0x00,0x64,0x40,0x46,0x48,0xfe,0x74,0x60,0x25,0x78,
+0xff,0xff,0x2b,0xf0,0x67,0x44,0xd0,0x80,0x38,0xf2,0x20,0x02,0xdc,0xa0,0x00,0xf4,
+0x1d,0x04,0x06,0x60,0x08,0x65,0x05,0xf2,0x09,0xf0,0xd4,0x80,0x01,0x60,0x00,0x64,
+0x15,0x02,0xd0,0x80,0x6a,0x60,0x60,0x63,0x11,0x02,0x6a,0x60,0x64,0x64,0xa0,0xd3,
+0xff,0xff,0xdc,0x84,0xa2,0xdb,0x12,0xf0,0xbd,0xd3,0x13,0xf0,0xd0,0x80,0xa3,0xd3,
+0x05,0x02,0xd0,0x80,0x00,0xa0,0x02,0x02,0x01,0x03,0x03,0x00,0x75,0x60,0x5f,0x78,
+0xff,0xff,0xb0,0xf3,0x0f,0xfa,0xb1,0xf3,0xff,0xff,0x10,0xfa,0xb2,0xf3,0x11,0xfa,
+0x02,0x60,0x00,0x64,0x09,0xfa,0x14,0x63,0x1e,0x61,0x26,0x65,0xa3,0xd2,0xa1,0xd0,
+0xa1,0xda,0x64,0x44,0xbd,0xda,0xd5,0x80,0xd9,0x81,0xf8,0x02,0x26,0x46,0x79,0xf3,
+0x34,0xf1,0x08,0xbc,0x60,0x47,0x64,0x40,0x01,0x26,0x40,0xbc,0x60,0x47,0x29,0xfa,
+0xff,0x7f,0x00,0x7e,0x0e,0xfa,0x24,0x64,0x38,0xfa,0x00,0x64,0x22,0xfa,0x28,0xfa,
+0xff,0xff,0x75,0xf3,0x2b,0xfa,0x76,0xf3,0xff,0xff,0x2c,0xfa,0x77,0xf3,0x2d,0xfa,
+0xff,0xff,0xb0,0xf3,0x2e,0xfa,0xb1,0xf3,0xff,0xff,0x2f,0xfa,0xb2,0xf3,0x30,0xfa,
+0xff,0xff,0x00,0xf4,0x0f,0xf2,0x10,0xf0,0x60,0x45,0x11,0xf2,0x26,0x46,0x33,0xfa,
+0x64,0x44,0x32,0xfa,0x65,0x44,0x31,0xfa,0x39,0x60,0x58,0x4e,0xfe,0x78,0xff,0xff,
+0x3f,0x60,0x6a,0x62,0x3f,0x60,0x10,0x64,0xa2,0xdb,0x66,0x44,0x5a,0xdb,0x0a,0x64,
+0x5a,0xdb,0xff,0xff,0x2b,0xff,0xc1,0xfe,0x6a,0x60,0x66,0x64,0xa0,0xd3,0xff,0xff,
+0xdc,0x84,0xa2,0xdb,0x74,0x60,0x54,0x78,0xff,0xff,0x26,0x46,0x6f,0x60,0xc9,0x78,
+0xff,0xff,0x21,0x60,0x86,0x64,0xa0,0xd5,0x66,0x45,0x09,0xf2,0x46,0x4b,0x00,0xbe,
+0x46,0x49,0x12,0x03,0x30,0xf0,0x65,0x46,0x30,0xf2,0x2f,0xf0,0xd0,0x80,0x29,0x46,
+0xf4,0x02,0x2f,0xf2,0x2e,0xf2,0xd0,0x80,0x65,0x46,0x03,0x02,0x2e,0xf0,0xff,0xff,
+0xd0,0x80,0x29,0x46,0xea,0x02,0x08,0xfe,0x2e,0x58,0xff,0xff,0x00,0x64,0x00,0xa0,
+0x6b,0x60,0x36,0x62,0xa2,0xd3,0x29,0xf0,0x60,0x40,0x00,0x36,0x34,0x00,0x01,0x3a,
+0x07,0x00,0x64,0x44,0x00,0x7f,0x80,0x65,0xd4,0x80,0xff,0xff,0x2f,0x03,0x2b,0x00,
+0x64,0x44,0x0c,0xb4,0xf8,0xa0,0xff,0xff,0x44,0x03,0x64,0x44,0x80,0x36,0x26,0x00,
+0xb4,0x36,0x27,0x00,0xc4,0x36,0x28,0x00,0xd4,0x36,0x29,0x00,0x40,0x36,0x2a,0x00,
+0xe4,0x36,0x2b,0x00,0x00,0x36,0x2c,0x00,0x10,0x36,0x2d,0x00,0x20,0x36,0x28,0x00,
+0x30,0x36,0x29,0x00,0x50,0x36,0x27,0x00,0xa0,0x36,0x28,0x00,0xa4,0x36,0x20,0x00,
+0xb0,0x36,0x24,0x00,0xc0,0x36,0x22,0x00,0x6b,0x60,0x38,0x62,0x6b,0x60,0x3a,0x63,
+0x00,0x64,0xa2,0xdb,0xa3,0xdb,0x6e,0x60,0xd5,0x78,0xff,0xff,0x77,0x60,0x82,0x78,
+0xff,0xff,0x76,0x60,0x24,0x78,0xff,0xff,0x76,0x60,0x62,0x78,0xff,0xff,0x76,0x60,
+0x55,0x78,0xff,0xff,0x76,0x60,0x6f,0x78,0xff,0xff,0x76,0x60,0xc7,0x78,0xff,0xff,
+0x75,0x60,0xde,0x78,0xff,0xff,0x76,0x60,0x01,0x78,0xff,0xff,0x76,0x60,0xe5,0x78,
+0xff,0xff,0x77,0x60,0x1c,0x78,0xff,0xff,0x6b,0x60,0x38,0x62,0x6b,0x60,0x3a,0x63,
+0x00,0x64,0xa2,0xdb,0xa3,0xdb,0xff,0xff,0x2b,0xf2,0x75,0xf1,0xff,0xff,0xd0,0x80,
+0x2c,0xf2,0x76,0xf1,0x07,0x02,0xd0,0x80,0x2d,0xf2,0x77,0xf1,0x03,0x02,0xd0,0x80,
+0xff,0xff,0x06,0x03,0x56,0x65,0x78,0x60,0x58,0x4f,0x8c,0x78,0xff,0xff,0x04,0x02,
+0x6b,0x60,0x38,0x62,0x01,0x64,0xa2,0xdb,0x75,0x60,0xbd,0x78,0xff,0xff,0x6b,0x60,
+0x38,0x62,0x6b,0x60,0x3a,0x63,0x00,0x64,0xa2,0xdb,0xa3,0xdb,0xff,0xff,0x2e,0xf2,
+0x75,0xf1,0xff,0xff,0xd0,0x80,0x2f,0xf2,0x76,0xf1,0x07,0x02,0xd0,0x80,0x30,0xf2,
+0x77,0xf1,0x03,0x02,0xd0,0x80,0xff,0xff,0x06,0x03,0x5c,0x65,0x78,0x60,0x58,0x4f,
+0x8c,0x78,0xff,0xff,0x04,0x02,0x6b,0x60,0x38,0x62,0x01,0x64,0xa2,0xdb,0x75,0x60,
+0xbd,0x78,0xff,0xff,0x6b,0x60,0x38,0x62,0x6b,0x60,0x3a,0x63,0x00,0x64,0xa2,0xdb,
+0xa3,0xdb,0xff,0xff,0x2b,0xf2,0x75,0xf1,0xff,0xff,0xd0,0x80,0x2c,0xf2,0x76,0xf1,
+0x15,0x02,0xd0,0x80,0x2d,0xf2,0x77,0xf1,0x11,0x02,0xd0,0x80,0xff,0xff,0x14,0x03,
+0x2e,0xf2,0x75,0xf1,0xff,0xff,0xd0,0x80,0x2f,0xf2,0x76,0xf1,0x07,0x02,0xd0,0x80,
+0x30,0xf2,0x77,0xf1,0x03,0x02,0xd0,0x80,0xff,0xff,0x06,0x03,0x56,0x65,0x78,0x60,
+0x58,0x4f,0x8c,0x78,0xff,0xff,0x04,0x02,0x6b,0x60,0x3a,0x62,0x01,0x64,0xa2,0xdb,
+0x75,0x60,0xbd,0x78,0xff,0xff,0x6b,0x60,0x3a,0x65,0x6b,0x60,0x38,0x63,0x00,0x64,
+0x01,0x61,0xa3,0xd1,0xa5,0xdb,0xd1,0x80,0xa3,0xdb,0x75,0x60,0xbd,0x78,0xff,0xff,
+0x6b,0x60,0x3a,0x65,0x6b,0x60,0x38,0x63,0x00,0x64,0x01,0x61,0xa5,0xd1,0xa3,0xdb,
+0xd1,0x80,0xa5,0xdb,0x75,0x60,0xbd,0x78,0xff,0xff,0x6b,0x60,0x38,0x62,0x6b,0x60,
+0x3a,0x63,0x00,0x64,0xa2,0xdb,0xa3,0xdb,0x46,0x4a,0x2b,0xf2,0x75,0xf1,0xff,0xff,
+0xd0,0x80,0x2c,0xf2,0x76,0xf1,0x0c,0x02,0xd0,0x80,0x2d,0xf2,0x77,0xf1,0x08,0x02,
+0xd0,0x80,0xff,0xff,0x05,0x02,0x6b,0x60,0x38,0x62,0x01,0x64,0xa2,0xdb,0x0c,0x00,
+0x2b,0xf0,0xff,0x60,0xff,0x64,0xd0,0x80,0x2c,0xf0,0x33,0x02,0xd0,0x80,0x2d,0xf0,
+0x30,0x02,0xd0,0x80,0xff,0xff,0x2d,0x02,0x38,0xf2,0xff,0xff,0xfe,0xa0,0xff,0xff,
+0x28,0x04,0x00,0xf4,0x02,0xf0,0x16,0x60,0xda,0x62,0xa2,0xd1,0x64,0x47,0xd0,0x80,
+0xff,0xff,0x1f,0x02,0x60,0x41,0xe9,0x81,0x06,0x63,0x0c,0x03,0x16,0x60,0xdc,0x64,
+0x60,0x45,0xbd,0xd0,0xa5,0xd3,0xff,0xff,0xd0,0x80,0x65,0x44,0x12,0x02,0xcd,0x81,
+0x02,0xa4,0xf6,0x02,0x02,0xf0,0xff,0xff,0x64,0x40,0x01,0x27,0x02,0x00,0x48,0xfe,
+0x08,0x00,0xa3,0xd0,0xa0,0xd1,0x64,0x44,0x00,0x7f,0x60,0x45,0x64,0x44,0x00,0x7f,
+0xd4,0x80,0x2a,0x46,0x75,0x60,0xbd,0x78,0xff,0xff,0x6b,0x60,0x38,0x62,0x6b,0x60,
+0x3a,0x63,0x00,0x64,0xa2,0xdb,0xa3,0xdb,0xff,0xff,0x2e,0xf2,0x75,0xf1,0xff,0xff,
+0xd0,0x80,0x2f,0xf2,0x76,0xf1,0x07,0x02,0xd0,0x80,0x30,0xf2,0x77,0xf1,0x03,0x02,
+0xd0,0x80,0xff,0xff,0x05,0x03,0x5c,0x65,0x78,0x60,0x58,0x4f,0x8c,0x78,0xff,0xff,
+0x75,0x60,0xbd,0x78,0xff,0xff,0x6b,0x60,0x38,0x62,0x6b,0x60,0x3a,0x63,0x00,0x64,
+0xa2,0xdb,0xa3,0xdb,0xff,0xff,0x2b,0xf2,0x75,0xf1,0xff,0xff,0xd0,0x80,0x2c,0xf2,
+0x76,0xf1,0x07,0x02,0xd0,0x80,0x2d,0xf2,0x77,0xf1,0x03,0x02,0xd0,0x80,0xff,0xff,
+0x1a,0x03,0x56,0x65,0x78,0x60,0x58,0x4f,0x8c,0x78,0xff,0xff,0x14,0x03,0x2e,0xf2,
+0x75,0xf1,0xff,0xff,0xd0,0x80,0x2f,0xf2,0x76,0xf1,0x07,0x02,0xd0,0x80,0x30,0xf2,
+0x77,0xf1,0x03,0x02,0xd0,0x80,0xff,0xff,0x06,0x03,0x5c,0x65,0x78,0x60,0x58,0x4f,
+0x8c,0x78,0xff,0xff,0x04,0x00,0x6b,0x60,0x38,0x62,0x01,0x64,0xa2,0xdb,0x75,0x60,
+0xbd,0x78,0xff,0xff,0x6b,0x60,0x38,0x62,0x6b,0x60,0x3a,0x63,0x00,0x64,0xa2,0xdb,
+0xa3,0xdb,0x29,0xf2,0xff,0xff,0xff,0xff,0x01,0x2b,0x3a,0x00,0x2b,0xf2,0x75,0xf1,
+0xff,0xff,0xd0,0x80,0x2c,0xf2,0x76,0xf1,0x07,0x02,0xd0,0x80,0x2d,0xf2,0x77,0xf1,
+0x03,0x02,0xd0,0x80,0xff,0xff,0x40,0x03,0x6b,0x60,0x3e,0x62,0xa2,0xd3,0xff,0xff,
+0xff,0xa0,0xff,0xff,0x42,0x02,0x6b,0x60,0x40,0x62,0xa2,0xd3,0xff,0xff,0x00,0xa0,
+0x40,0x47,0x1e,0x03,0x56,0x65,0x6b,0x60,0x42,0x61,0x65,0x43,0x50,0xfe,0xbd,0xd2,
+0xa1,0xd1,0x02,0xa1,0xd0,0x80,0xbd,0xd2,0xa1,0xd1,0x02,0xa1,0xd0,0x80,0xa3,0xd2,
+0xa1,0xd1,0x02,0xa1,0xd0,0x80,0xff,0xff,0x1f,0x01,0x27,0x44,0xcc,0x84,0x40,0x47,
+0xec,0x02,0x29,0xf2,0xff,0xff,0xff,0xff,0x01,0x27,0x02,0x00,0x08,0xfe,0x1d,0x00,
+0x2e,0xf2,0x75,0xf1,0xff,0xff,0xd0,0x80,0x2f,0xf2,0x76,0xf1,0x07,0x02,0xd0,0x80,
+0x30,0xf2,0x77,0xf1,0x03,0x02,0xd0,0x80,0xff,0xff,0x06,0x03,0x5c,0x65,0x78,0x60,
+0x58,0x4f,0x8c,0x78,0xff,0xff,0x09,0x02,0x2b,0xf2,0xff,0xff,0xff,0xff,0x01,0x26,
+0x04,0x00,0x6b,0x60,0x38,0x62,0x01,0x64,0xa2,0xdb,0x75,0x60,0xbd,0x78,0xff,0xff,
+0x6b,0x60,0x38,0x62,0x6b,0x60,0x3a,0x63,0x00,0x64,0xa2,0xdb,0xa3,0xdb,0x38,0xf2,
+0x46,0x4a,0x60,0x41,0x6b,0x60,0x36,0x62,0xa2,0xd3,0xff,0xff,0xff,0xff,0x02,0x36,
+0x07,0x00,0x6b,0x60,0x34,0x62,0xa2,0xd3,0xff,0xff,0xff,0xff,0x04,0x36,0x07,0x00,
+0x61,0x44,0xf2,0xa0,0xff,0xff,0x06,0x05,0x78,0x60,0x88,0x78,0xff,0xff,0x77,0x60,
+0xdf,0x78,0xff,0xff,0x2e,0xf2,0x75,0xf1,0xff,0xff,0xd0,0x80,0x2f,0xf2,0x76,0xf1,
+0x07,0x02,0xd0,0x80,0x30,0xf2,0x77,0xf1,0x03,0x02,0xd0,0x80,0xff,0xff,0xef,0x03,
+0x6b,0x60,0x36,0x62,0xa2,0xd3,0xff,0xff,0xfe,0xa0,0xff,0xff,0xe5,0x02,0x6b,0x60,
+0x3e,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,0xff,0xff,0xde,0x02,0x6b,0x60,0x40,0x62,
+0xa2,0xd3,0xff,0xff,0x00,0xa0,0x40,0x47,0x22,0x03,0x5c,0x65,0x6b,0x60,0x42,0x61,
+0x65,0x43,0x50,0xfe,0xbd,0xd2,0xa1,0xd1,0x02,0xa1,0xd0,0x80,0xbd,0xd2,0xa1,0xd1,
+0x02,0xa1,0xd0,0x80,0xa3,0xd2,0xa1,0xd1,0x02,0xa1,0xd0,0x80,0xff,0xff,0xc4,0x01,
+0x27,0x44,0xcc,0x84,0x40,0x47,0xec,0x02,0x0a,0x00,0x6b,0x60,0x36,0x62,0xa2,0xd3,
+0xff,0xff,0xff,0xff,0x02,0x3a,0x03,0x00,0x78,0x60,0x88,0x78,0xff,0xff,0x38,0xf2,
+0x00,0xf4,0x08,0xf0,0xf2,0xa0,0xff,0xff,0x03,0x05,0x78,0x60,0x88,0x78,0xff,0xff,
+0x6b,0x60,0x34,0x62,0xa2,0xd3,0xff,0xff,0xff,0xff,0x04,0x36,0x1b,0x00,0x16,0x60,
+0xda,0x62,0x64,0x47,0x00,0xa0,0xff,0xff,0x3c,0x06,0xe0,0xa0,0xff,0xff,0x39,0x07,
+0xa2,0xdb,0x12,0x63,0x60,0x41,0x16,0x60,0xdc,0x64,0xbd,0xd0,0xa0,0xd9,0xcd,0x81,
+0x02,0xa4,0xfb,0x02,0x08,0xf0,0xff,0xff,0x64,0x40,0x01,0x2b,0x2a,0x00,0xa3,0xd0,
+0xa0,0xd9,0x27,0x00,0x16,0x60,0xda,0x62,0x64,0x47,0xa2,0xd1,0xff,0xff,0xd0,0x80,
+0xff,0xff,0x6c,0x02,0x60,0x41,0xe9,0x81,0x12,0x63,0x0c,0x03,0x16,0x60,0xdc,0x64,
+0x60,0x45,0xbd,0xd0,0xa5,0xd3,0xff,0xff,0xd0,0x80,0x65,0x44,0x5f,0x02,0xcd,0x81,
+0x02,0xa4,0xf6,0x02,0x08,0xf0,0xff,0xff,0x64,0x40,0x01,0x2b,0x0a,0x00,0xa3,0xd0,
+0xa0,0xd1,0x64,0x44,0x00,0x7f,0x60,0x45,0x64,0x44,0x00,0x7f,0xd4,0x80,0xff,0xff,
+0x4d,0x02,0x08,0xf2,0x12,0x65,0x00,0x7e,0x60,0x47,0xc4,0x81,0x61,0x45,0x01,0x26,
+0x04,0x00,0xa1,0xd2,0xff,0xff,0x60,0x47,0x02,0x00,0x01,0xa1,0xa1,0xd2,0xff,0xff,
+0x00,0x7f,0x02,0xa4,0xc4,0x81,0x02,0xa1,0x01,0x26,0x02,0x00,0xa1,0xd2,0x04,0x00,
+0xff,0xa1,0xa1,0xd2,0xff,0xff,0x60,0x47,0x73,0xf1,0x00,0x7f,0xd0,0x80,0xff,0xff,
+0x2d,0x02,0x6b,0x60,0x36,0x62,0xa2,0xd3,0xff,0xff,0xfe,0xa0,0xff,0xff,0x19,0x02,
+0x6b,0x60,0x40,0x62,0xa2,0xd3,0xff,0xff,0xf6,0xa0,0x60,0x41,0x12,0x05,0x01,0xa4,
+0xa2,0xdb,0xe1,0x81,0xe1,0x85,0xc5,0x85,0x6b,0x60,0x42,0x64,0xc4,0x81,0x2a,0x46,
+0x5c,0x63,0xbd,0xd2,0xa1,0xdb,0xbd,0xd2,0x02,0xa1,0xa1,0xdb,0xa3,0xd2,0x02,0xa1,
+0xa1,0xdb,0x6b,0x60,0x36,0x62,0x02,0x64,0xa2,0xdb,0x2a,0x46,0xff,0xff,0x2e,0xf0,
+0x75,0xf9,0x2f,0xf0,0xff,0xff,0x76,0xf9,0x30,0xf0,0x77,0xf9,0x2a,0x46,0x75,0x60,
+0xbd,0x78,0xff,0xff,0x6b,0x60,0x3e,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,0xff,0xff,
+0x1d,0x02,0x6b,0x60,0x40,0x62,0xa2,0xd3,0xff,0xff,0xff,0xa0,0x40,0x47,0x16,0x04,
+0x6b,0x60,0x42,0x61,0x65,0x43,0x50,0xfe,0xbd,0xd2,0xa1,0xd1,0x02,0xa1,0xd0,0x80,
+0xbd,0xd2,0xa1,0xd1,0x02,0xa1,0xd0,0x80,0xa3,0xd2,0xa1,0xd1,0x02,0xa1,0xd0,0x80,
+0xff,0xff,0x06,0x01,0x27,0x44,0xcc,0x84,0x40,0x47,0xec,0x02,0x08,0xfe,0x01,0x00,
+0x48,0xfe,0x2f,0x58,0xff,0xff,0x99,0xff,0x08,0x60,0x2a,0x62,0x05,0x60,0xff,0x64,
+0xa2,0xdb,0x05,0x60,0xff,0xe5,0xff,0xff,0xff,0xff,0x98,0xff,0xe0,0x60,0x00,0x63,
+0xfe,0x60,0x00,0x66,0x0d,0x60,0xca,0x64,0xa3,0xd0,0xcc,0x84,0xbd,0xd8,0xfc,0x02,
+0x99,0xff,0x08,0x60,0x2a,0x62,0x04,0x60,0xff,0x64,0xa2,0xdb,0x04,0x60,0xff,0xe5,
+0xff,0xff,0xff,0xff,0x98,0xff,0x0c,0x60,0x87,0x78,0xff,0xff,0x01,0x00,0x01,0x00,
+0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x00,
+0x01,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x21,0x00,0x02,0x00,0x02,0x00,
+0x01,0x00,0x00,0x00,0x04,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x10,0x20,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
+0x02,0x00,0x02,0x00,0x00,0x00,0x53,0x65,0x63,0x6f,0x6e,0x64,0x61,0x72,0x79,0x20,
+0x46,0x27,0x73,0x00,0x0f,0x01,0x00,0x18,0x7e,0x00,0x62,0xda,0x0c,0x01,0x20,0x81,
+0x7f,0x00,0x02,0x00,0x0e,0x01,0x9c,0x8e,0x7f,0x00,0x02,0x00,0x10,0x01,0x00,0x80,
+0x7f,0x00,0xce,0x17,0x0a,0x01,0x64,0x8e,0x7f,0x00,0x02,0x00,0x0b,0x01,0xae,0x8e,
+0x7f,0x00,0x24,0x00,0x08,0x01,0x8a,0x8e,0x7f,0x00,0x12,0x00,0x09,0x01,0x88,0x8e,
+0x7f,0x00,0x02,0x00,0x04,0x01,0xf8,0x80,0x7f,0x00,0x02,0x00,0x05,0x01,0xe8,0x8d,
+0x7f,0x00,0x02,0x00,0x05,0x01,0x28,0x81,0x7f,0x00,0x02,0x00,0x02,0x00,0x00,0x80,
+0x7f,0x00,0xf6,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x08,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x70,0x09,0x34,0x09,
+0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x1b,0x00,0x1b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc8,0x2a,
+0xc8,0x2a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x08,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x07,0x01,0x00,
+0x64,0x00,0x64,0x00,0xe8,0x03,0x14,0x00,0x88,0x13,0x88,0x13,0x14,0x00,0x05,0x00,
+0x32,0x00,0x02,0x00,0x14,0x00,0x0a,0x00,0x0f,0x00,0x0f,0x00,0x05,0x00,0x0a,0x00,
+0x64,0x00,0x88,0x13,0x0d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x05,0x00,
+0x08,0x00,0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2b,0x09,0x03,0x00,0x00,0x00,
+0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x10,0x60,0x65,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x41,0xff,0x10,0x60,
+0x66,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0xe2,0x10,0x60,
+0x6d,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x10,0x60,0x47,0x78,
+0x43,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x44,0xff,0x08,0xe1,
+0x10,0x60,0x88,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x44,0xe2,0x10,0x60,
+0x8a,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x46,0xff,0x10,0x60,
+0x8b,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x10,0x60,0x8c,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x12,0x60,0xab,0x78,
+0x4c,0x4e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x12,0x60,0x72,0x78,
+0x4c,0xe2,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x11,0x60,0x94,0x78,
+0x43,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x11,0x60,0x70,0x78,
+0x97,0xf3,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x12,0x60,0x8f,0x78,
+0x46,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x11,0x60,0x50,0x78,
+0x47,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x42,0xff,0x18,0x60,
+0xed,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x43,0xff,0x18,0x60,
+0xed,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x44,0xff,0x18,0x60,
+0xed,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45,0xff,0x1a,0x60,
+0x6d,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0xf7,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x83,0x7c,0x08,0x60,0x12,0x64,
+0x80,0x29,0xa0,0xd9,0x47,0xff,0x18,0x60,0xa3,0x78,0xff,0xff,0x40,0xff,0x24,0x58,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x41,0xff,0x21,0x58,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc4,0xe2,0x22,0x58,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x60,0x9b,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x22,0x60,0x00,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45,0xff,0x21,0x58,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1a,0x60,0xa1,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1f,0x60,0x9e,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0x60,0x2a,0x78,
+0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xf8,0x60,0x06,0x78,
+0x41,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xfb,0x60,0x93,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0x24,0x60,0xb7,0x78,
+0x43,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xfb,0x60,0x93,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0x24,0x60,0x3c,0x78,
+0x45,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0x24,0x60,0xff,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0xfb,0x60,0x93,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xff,0xff,0x3d,0x60,0x2c,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x60,0x5f,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x79,0x3d,0x60,
+0x35,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x24,0xe2,0x3d,0x60,
+0x35,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3d,0x60,0xa8,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x44,0xe2,0x3d,0x60,
+0x35,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x84,0xe2,0x3d,0x60,
+0x35,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x47,0xff,0x3d,0x60,
+0x35,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x2f,0x60,0xc1,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0x60,0xa3,0x78,
+0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x28,0xe2,0x30,0x60,
+0x09,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x44,0xff,0x30,0x60,
+0x09,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x45,0xff,0x30,0x60,
+0x09,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x46,0xff,0x30,0x60,
+0x09,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x87,0x7c,0x08,0x60,0x12,0x64,
+0x80,0x29,0xa0,0xd9,0x47,0xff,0x30,0x60,0x09,0x78,0x59,0x74,0x6c,0x74,0xe4,0x3f,
+0x54,0x51,0x81,0x6c,0x58,0x69,0xc9,0x2c,0xed,0x59,0xd5,0x6c,0xa9,0x5d,0x6a,0x74,
+0x6a,0x74,0x6a,0x74,0x6a,0x74,0x6a,0x74,0x6a,0x74,0x6a,0x74,0x6a,0x74,0x6a,0x74,
+0x6a,0x74,0x6a,0x74,0x6a,0x74,0x50,0x11,0x00,0x0a,0x10,0x01,0x68,0xa4,0xb0,0x01,
+0x84,0x01,0x30,0x33,0x31,0x33,0x44,0x44,0x30,0x33,0x31,0x33,0x30,0x33,0x31,0x33,
+0x32,0x33,0x32,0x33,0x90,0x00,0x78,0x04,0xae,0xe4,0xd3,0x3d,0xbc,0x3d,0x37,0x33,
+0xcd,0x33,0x03,0xfc,0x6e,0x34,0x76,0x36,0x5c,0x18,0x02,0x00,0x04,0xfc,0x6e,0x34,
+0xa8,0x34,0x7a,0x17,0x22,0x00,0x07,0xfc,0x6e,0x34,0xa8,0x34,0x78,0x00,0x02,0x00,
+0x0e,0xfc,0x6e,0x34,0x92,0x36,0xa6,0x17,0x22,0x00,0x00,0xfc,0x6e,0x34,0xa8,0x34,
+0x56,0x17,0x02,0x00,0x01,0xfc,0x6e,0x34,0x91,0x34,0x4c,0x17,0x06,0x00,0x02,0xfc,
+0x6e,0x34,0x8c,0x34,0x58,0x17,0x22,0x00,0x05,0xfc,0x6e,0x34,0xa8,0x34,0x54,0x17,
+0x02,0x00,0x09,0xfc,0x6e,0x34,0x13,0x37,0xac,0x00,0x02,0x00,0x0a,0xfc,0x6e,0x34,
+0xa8,0x34,0x9e,0x17,0x02,0x00,0x0b,0xfc,0x6e,0x34,0xa8,0x34,0xa0,0x17,0x02,0x00,
+0x0c,0xfc,0x6e,0x34,0xa8,0x34,0xa2,0x17,0x02,0x00,0x0f,0xfc,0x6e,0x34,0xa8,0x34,
+0xf4,0x17,0x02,0x00,0x19,0xfd,0x6e,0x34,0xa8,0x34,0x06,0x18,0x02,0x00,0xb0,0xfc,
+0x6e,0x34,0xa8,0x34,0x9c,0x01,0x02,0x00,0xb1,0xfc,0x6e,0x34,0xa8,0x34,0x18,0x01,
+0x02,0x00,0x1a,0xfd,0x6e,0x34,0xa8,0x34,0xd0,0x17,0x02,0x00,0x8e,0xfc,0x6e,0x34,
+0xa8,0x34,0xda,0x17,0x02,0x00,0xa8,0xfc,0x6e,0x34,0xa8,0x34,0xdc,0x17,0x02,0x00,
+0xb3,0xfc,0x6e,0x34,0xa8,0x34,0x72,0x18,0x02,0x00,0xb4,0xfc,0x6e,0x34,0xc5,0x36,
+0x76,0x01,0x02,0x00,0xa9,0xfc,0x6e,0x34,0x56,0x34,0x32,0x6a,0x02,0x00,0xad,0xfc,
+0x6e,0x34,0xa8,0x34,0x48,0x00,0x02,0x00,0xaa,0xfc,0x6e,0x34,0x66,0x39,0xa0,0x01,
+0x02,0x00,0xab,0xfc,0x6e,0x34,0xa8,0x34,0xcc,0x6a,0x02,0x00,0xac,0xfc,0x6e,0x34,
+0xa8,0x34,0x8c,0x19,0x02,0x00,0xaf,0xfc,0x56,0x34,0xfd,0x38,0x00,0x00,0x02,0x00,
+0x0d,0xfc,0x6e,0x34,0xa8,0x34,0xa4,0x17,0x02,0x00,0x19,0xfc,0x6e,0x34,0xa8,0x34,
+0x84,0x01,0x02,0x00,0x20,0xfc,0x6e,0x34,0xa8,0x34,0xd0,0x64,0x06,0x00,0x21,0xfc,
+0x6e,0x34,0x87,0x34,0xd8,0x64,0x06,0x00,0xb2,0xfc,0x6e,0x34,0xa8,0x34,0x92,0x19,
+0x02,0x00,0x24,0xfc,0xa8,0x34,0x44,0x37,0x00,0x00,0x10,0x00,0x25,0xfc,0xa8,0x34,
+0x49,0x37,0x00,0x00,0x10,0x00,0x26,0xfc,0xa8,0x34,0x4e,0x37,0x00,0x00,0x10,0x00,
+0x27,0xfc,0xa8,0x34,0x53,0x37,0x00,0x00,0x10,0x00,0x23,0xfc,0x6e,0x34,0xa8,0x34,
+0x66,0x00,0x02,0x00,0x28,0xfc,0x8f,0x37,0x9b,0x37,0x00,0x00,0x06,0x00,0x2a,0xfc,
+0x6e,0x34,0xa8,0x34,0xe2,0x00,0x02,0x00,0x2b,0xfc,0x6e,0x34,0x6a,0x34,0x5e,0x01,
+0x02,0x00,0x2c,0xfc,0x6e,0x34,0xc9,0x37,0x36,0x6a,0x02,0x00,0x2d,0xfc,0x6e,0x34,
+0xba,0x37,0x88,0x01,0x02,0x00,0x2e,0xfc,0x6e,0x34,0xa8,0x34,0x02,0x6a,0x02,0x00,
+0x3a,0xfc,0x6e,0x34,0xa8,0x34,0x60,0x6a,0x04,0x00,0x3b,0xfc,0x6e,0x34,0x54,0x39,
+0x30,0x6b,0x02,0x00,0x3c,0xfc,0x6e,0x34,0xa8,0x34,0x8e,0x19,0x02,0x00,0x3d,0xfc,
+0x6e,0x34,0x6a,0x34,0xe6,0x80,0x0a,0x00,0x3e,0xfc,0x56,0x34,0xa8,0x34,0xc2,0x01,
+0x02,0x00,0x3f,0xfc,0x56,0x34,0xa8,0x34,0xc0,0x80,0x26,0x00,0x80,0xfc,0xbe,0x34,
+0xd1,0x34,0xd0,0x61,0xc0,0x00,0x81,0xfc,0x6e,0x34,0xa8,0x34,0x46,0x6a,0x02,0x00,
+0x82,0xfc,0x6e,0x34,0xa8,0x34,0x72,0x01,0x02,0x00,0x83,0xfc,0x6e,0x34,0xa8,0x34,
+0x74,0x01,0x02,0x00,0x84,0xfc,0x6e,0x34,0xc5,0x36,0x76,0x01,0x02,0x00,0x85,0xfc,
+0x6e,0x34,0xb1,0x36,0x90,0x62,0x02,0x00,0x87,0xfc,0x6e,0x34,0xa8,0x34,0x12,0x18,
+0x02,0x00,0x88,0xfc,0x6e,0x34,0xa8,0x34,0x10,0x18,0x02,0x00,0x89,0xfc,0x6e,0x34,
+0xa8,0x34,0xca,0x17,0x02,0x00,0x8a,0xfc,0x6e,0x34,0xa8,0x34,0x72,0x18,0x02,0x00,
+0x8b,0xfc,0x6e,0x34,0xa8,0x34,0xe8,0x00,0x02,0x00,0x8c,0xfc,0x6e,0x34,0xe5,0x37,
+0x14,0x18,0x02,0x00,0xa5,0xfc,0x6e,0x34,0x1f,0x37,0x0a,0x18,0x02,0x00,0xa6,0xfc,
+0x56,0x34,0x07,0x37,0x00,0x00,0x02,0x00,0x18,0xfc,0x6e,0x34,0xa8,0x34,0x52,0x17,
+0x02,0x00,0xae,0xfc,0x6e,0x34,0xa8,0x34,0x9a,0x01,0x02,0x00,0x2f,0xfc,0x6e,0x34,
+0xa8,0x34,0x8a,0x01,0x02,0x00,0x30,0xfc,0x56,0x34,0x03,0x38,0x00,0x00,0x18,0x00,
+0x31,0xfc,0x56,0x34,0x6a,0x38,0x00,0x00,0x06,0x00,0x32,0xfc,0x56,0x34,0xa8,0x34,
+0xac,0x01,0x02,0x00,0x34,0xfc,0x56,0x34,0xa8,0x34,0x8e,0x80,0x20,0x00,0x35,0xfc,
+0x6e,0x34,0x6a,0x34,0xae,0x01,0x02,0x00,0x38,0xfc,0x1a,0x39,0x6a,0x34,0x00,0x00,
+0x08,0x00,0x39,0xfc,0x56,0x34,0x3e,0x39,0xc2,0x2b,0x08,0x00,0xb5,0xfc,0x6e,0x34,
+0xa8,0x34,0xce,0x6a,0x02,0x00,0xb6,0xfc,0x6e,0x34,0xa8,0x34,0xd0,0x6a,0x02,0x00,
+0x10,0xfd,0x6e,0x34,0x6a,0x34,0x36,0x01,0x02,0x00,0x11,0xfd,0x16,0x36,0x6a,0x34,
+0xe0,0xf1,0x0c,0x00,0x12,0xfd,0x16,0x36,0x6a,0x34,0xee,0xf1,0x02,0x00,0x13,0xfd,
+0xd6,0x35,0x6a,0x34,0x00,0x04,0xe0,0x01,0x14,0xfd,0x6e,0x34,0x6a,0x34,0xce,0x17,
+0x02,0x00,0x15,0xfd,0x6e,0x34,0x6a,0x34,0x18,0x18,0x24,0x00,0x16,0xfd,0x6e,0x34,
+0x6a,0x34,0xf6,0x17,0x10,0x00,0x17,0xfd,0x6e,0x34,0x6a,0x34,0xf2,0x17,0x02,0x00,
+0x18,0xfd,0x6e,0x34,0x6a,0x34,0x0c,0x18,0x04,0x00,0x1b,0xfd,0x6e,0x34,0x6a,0x34,
+0x08,0x18,0x02,0x00,0x1c,0xfd,0x6e,0x34,0x6a,0x34,0x3c,0x00,0x02,0x00,0x24,0xfd,
+0x6e,0x34,0x6a,0x34,0x40,0x18,0x0c,0x00,0x25,0xfd,0x6e,0x34,0x6a,0x34,0x4e,0x18,
+0x0c,0x00,0x26,0xfd,0x16,0x36,0x6a,0x34,0x08,0xf2,0x20,0x00,0x27,0xfd,0x16,0x36,
+0x6a,0x34,0x28,0xf2,0x38,0x00,0x45,0xfd,0x6e,0x34,0x6a,0x34,0xe8,0x00,0x02,0x00,
+0x47,0xfd,0x6e,0x34,0x6a,0x34,0x3a,0x01,0x02,0x00,0x48,0xfd,0x37,0x36,0x6a,0x34,
+0x52,0x01,0x02,0x00,0x49,0xfd,0x37,0x36,0x6a,0x34,0x54,0x01,0x02,0x00,0x4a,0xfd,
+0x6e,0x34,0x6a,0x34,0x76,0x18,0x02,0x00,0x4b,0xfd,0x6e,0x34,0x6a,0x34,0x78,0x18,
+0x02,0x00,0x4d,0xfd,0x16,0x36,0x6a,0x34,0xf0,0xf1,0x04,0x00,0x50,0xfd,0x6e,0x34,
+0x6a,0x34,0x24,0x63,0x12,0x00,0x4f,0xfd,0x16,0x36,0x6a,0x34,0xec,0xf1,0x02,0x00,
+0xc0,0xfd,0x16,0x36,0x6a,0x34,0xf4,0xf1,0x02,0x00,0xc1,0xfd,0x6e,0x34,0x6a,0x34,
+0xe6,0x00,0x02,0x00,0xc2,0xfd,0x45,0x36,0x6a,0x34,0x00,0x00,0x02,0x00,0xc3,0xfd,
+0x16,0x36,0x6a,0x34,0xf6,0xf1,0x02,0x00,0xc6,0xfd,0x6e,0x34,0x6a,0x34,0x68,0x18,
+0x0a,0x00,0x20,0xfd,0xfd,0x35,0x6a,0x34,0xce,0xf1,0x08,0x00,0x21,0xfd,0xfd,0x35,
+0x6a,0x34,0xd6,0xf1,0x0a,0x00,0x29,0xfd,0x6e,0x34,0x6a,0x34,0x10,0x3f,0x06,0x00,
+0x22,0xfd,0xfd,0x35,0x6a,0x34,0xb0,0xf1,0x0a,0x00,0x23,0xfd,0xfd,0x35,0x6a,0x34,
+0xc4,0xf1,0x0a,0x00,0x40,0xfd,0x6e,0x34,0x6a,0x34,0x7a,0x01,0x02,0x00,0x41,0xfd,
+0x6e,0x34,0x6a,0x34,0x92,0x62,0x22,0x00,0x42,0xfd,0x6e,0x34,0xa3,0x34,0xea,0x00,
+0x06,0x00,0x43,0xfd,0x60,0x36,0x6a,0x34,0x00,0x00,0x06,0x00,0x44,0xfd,0x55,0x36,
+0x6a,0x34,0x86,0x00,0x02,0x00,0x46,0xfd,0x6e,0x34,0x6a,0x34,0x96,0x19,0x0c,0x00,
+0x4c,0xfd,0x6e,0x34,0x6a,0x34,0x60,0x19,0x02,0x00,0x8d,0xfc,0x6e,0x34,0x6a,0x34,
+0x74,0x00,0x02,0x00,0x8f,0xfc,0x6e,0x34,0x6a,0x34,0x16,0x18,0x02,0x00,0xa7,0xfc,
+0x6e,0x34,0x6a,0x34,0x22,0x6a,0x04,0x00,0xfe,0xff,0x16,0x36,0x6a,0x34,0xf8,0xf1,
+0x02,0x00,0xff,0xff,0x16,0x36,0x6a,0x34,0xfa,0xf1,0x0e,0x00,0x00,0xf1,0x2a,0x00,
+0x58,0x35,0x01,0xf1,0x80,0x08,0x27,0x35,0x02,0xf1,0x80,0x08,0x5f,0x35,0x03,0xf1,
+0x96,0x00,0xc7,0x38,0x04,0xf1,0x90,0x1a,0x9a,0x35,0x71,0x1a,0x28,0x19,0x2d,0x19,
+0xf7,0x19,0x4c,0x1a,0xa7,0x19,0x04,0x19,0xaf,0x19,0xb7,0x19,0x74,0x19,0xf0,0x18,
+0x63,0x1a,0x63,0x1a,0xb3,0x23,0xe6,0x23,0xe3,0x23,0x03,0x23,0xe6,0x23,0xe6,0x23,
+0x00,0x00,0xec,0x23,0xec,0x23,0xec,0x23,0x00,0x00,0x00,0x00,0x76,0x24,0x8f,0x24,
+0x04,0x23,0x00,0x00,0x01,0x24,0x00,0x00,0x00,0x00,0x9b,0x16,0x00,0x02,0x48,0x04,
+0x48,0x06,0x80,0x08,0x03,0x0a,0x04,0x0c,0x04,0x0e,0x00,0x10,0xe4,0x12,0xbb,0x14,
+0x1b,0x16,0x00,0x18,0x00,0x1a,0x00,0x1c,0x5c,0x1e,0xc1,0x20,0x20,0x22,0x74,0x24,
+0x07,0x26,0x0a,0x28,0x16,0x2a,0x00,0x2c,0x00,0x2e,0x1c,0x30,0x20,0x32,0x98,0x34,
+0x08,0x36,0x7a,0x38,0x0a,0x3a,0x24,0x3c,0xb2,0x3e,0x00,0x40,0x00,0x42,0x00,0x44,
+0x0c,0x46,0x26,0x48,0x5b,0x4a,0x7f,0x4c,0x29,0x4e,0x0f,0x50,0x20,0x52,0x20,0x54,
+0x10,0x56,0x10,0x58,0x10,0x5a,0x10,0x5c,0x1e,0x5e,0x1a,0x60,0x18,0x62,0x00,0x2c,
+0x0c,0x2e,0x01,0x2c,0x10,0x2e,0x02,0x2c,0x14,0x2e,0x03,0x2c,0x18,0x2e,0x04,0x2c,
+0x1c,0x2e,0x05,0x2c,0x20,0x2e,0x06,0x2c,0x24,0x2e,0x07,0x2c,0x28,0x2e,0x08,0x2c,
+0x2e,0x2e,0x09,0x2c,0x34,0x2e,0x0a,0x2c,0x38,0x2e,0x0b,0x2c,0x3c,0x2e,0x0c,0x2c,
+0x3f,0x2e,0x0d,0x2c,0x43,0x2e,0x0e,0x2c,0x46,0x2e,0x0f,0x2c,0x48,0x2e,0x10,0x2c,
+0x4b,0x2e,0x11,0x2c,0x50,0x2e,0x12,0x2c,0x55,0x2e,0x13,0x2c,0x5a,0x2e,0x14,0x2c,
+0x63,0x2e,0x15,0x2c,0x6d,0x2e,0x16,0x2c,0x76,0x2e,0x17,0x2c,0x7f,0x2e,0x18,0x2c,
+0x7f,0x2e,0x19,0x2c,0x7f,0x2e,0x1a,0x2c,0x7f,0x2e,0x1b,0x2c,0x7f,0x2e,0x1c,0x2c,
+0x7f,0x2e,0x1d,0x2c,0x7f,0x2e,0x1e,0x2c,0x7f,0x2e,0x1f,0x2c,0x7f,0x2e,0x00,0x02,
+0x01,0x04,0x38,0x06,0x80,0x08,0x03,0x0a,0x04,0x0c,0x04,0x0e,0x00,0x10,0xa2,0x12,
+0xc8,0x14,0x1b,0x16,0x00,0x18,0x00,0x1a,0x00,0x1c,0x5c,0x1e,0xc1,0x20,0x1e,0x22,
+0x54,0x24,0x07,0x26,0x6a,0x28,0x12,0x2a,0x00,0x2c,0x00,0x2e,0x1c,0x30,0x20,0x32,
+0x82,0x34,0x08,0x36,0x7a,0x38,0xca,0x3a,0x24,0x3c,0xb6,0x3e,0x00,0x40,0x00,0x42,
+0x00,0x44,0x7f,0x46,0x8b,0x48,0x0f,0x4a,0x06,0x4c,0x0a,0x4e,0x0f,0x50,0x20,0x52,
+0x20,0x54,0x10,0x56,0x10,0x58,0x20,0x5a,0xee,0x5c,0x1a,0x5e,0x26,0x60,0x5b,0x62,
+0x00,0x04,0x00,0x2c,0x0c,0x2e,0x01,0x2c,0x10,0x2e,0x02,0x2c,0x14,0x2e,0x03,0x2c,
+0x18,0x2e,0x04,0x2c,0x1c,0x2e,0x05,0x2c,0x20,0x2e,0x06,0x2c,0x24,0x2e,0x07,0x2c,
+0x28,0x2e,0x08,0x2c,0x2e,0x2e,0x09,0x2c,0x34,0x2e,0x0a,0x2c,0x38,0x2e,0x0b,0x2c,
+0x3c,0x2e,0x0c,0x2c,0x3f,0x2e,0x0d,0x2c,0x43,0x2e,0x0e,0x2c,0x46,0x2e,0x0f,0x2c,
+0x48,0x2e,0x10,0x2c,0x4b,0x2e,0x11,0x2c,0x50,0x2e,0x12,0x2c,0x55,0x2e,0x13,0x2c,
+0x5a,0x2e,0x14,0x2c,0x63,0x2e,0x15,0x2c,0x6d,0x2e,0x16,0x2c,0x76,0x2e,0x17,0x2c,
+0x7f,0x2e,0x18,0x2c,0x7f,0x2e,0x19,0x2c,0x7f,0x2e,0x1a,0x2c,0x7f,0x2e,0x1b,0x2c,
+0x7f,0x2e,0x1c,0x2c,0x7f,0x2e,0x1d,0x2c,0x7f,0x2e,0x1e,0x2c,0x7f,0x2e,0x1f,0x2c,
+0x7f,0x2e,0x00,0x00,0x04,0x00,0x65,0x00,0x00,0x00,0x00,0x00,0x67,0x00,0x00,0x00,
+0x00,0x00,0xb0,0x00,0x00,0x00,0x5c,0x00,0x32,0x00,0x00,0x00,0x04,0x00,0x65,0x00,
+0x00,0x00,0x00,0x00,0xb0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,
+0x5a,0x00,0x00,0x00,0x7e,0x00,0x6e,0x00,0x00,0x00,0x80,0x00,0x02,0x00,0x00,0x00,
+0x80,0x00,0x16,0x00,0x00,0x00,0x80,0x00,0x2a,0x00,0x00,0x00,0x80,0x00,0x3e,0x00,
+0x00,0x00,0x80,0x00,0x52,0x00,0x00,0x00,0x80,0x00,0x66,0x00,0x00,0x00,0x80,0x00,
+0x7a,0x00,0x00,0x00,0x82,0x00,0x0e,0x00,0x00,0x00,0x82,0x00,0x22,0x00,0x00,0x00,
+0x82,0x00,0x36,0x00,0x00,0x00,0x82,0x00,0x4a,0x00,0x00,0x00,0x82,0x00,0x7a,0x00,
+0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,
+0x22,0x3b,0x17,0x3b,0x17,0x3b,0x37,0x3b,0x17,0x3b,0x17,0x3b,0x6a,0x3b,0x78,0x3b,
+0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,
+0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,0x17,0x3b,
+0xdc,0x3b,0x2b,0x3c,0x50,0x3c,0x49,0x3c,0x35,0x3c,0x3f,0x3c,0x17,0x3b,0x17,0x3b,
+0x17,0x3b,0x52,0x3c,0x68,0x3c,0x6f,0x3c,0x12,0x00,0x02,0x00,0x45,0x0e,0x04,0x00,
+0x5e,0x0e,0x06,0x00,0x0c,0x0f,0x08,0x00,0x23,0x0f,0x0a,0x00,0x46,0x0f,0x0c,0x00,
+0xf0,0x0f,0x12,0x00,0xd6,0x17,0x1a,0x00,0xff,0x24,0x00,0x09,0x16,0x0c,0x02,0x09,
+0xa9,0x32,0x04,0x09,0xb6,0x33,0x06,0x09,0xf9,0x33,0x14,0x09,0xbe,0x30,0x16,0x09,
+0xda,0x30,0x42,0x09,0x37,0x34,0x22,0x09,0x09,0x34,0x64,0x09,0x01,0x34,0x70,0x09,
+0x09,0x3b,0x03,0x00,0x00,0x00,0x53,0x70,0x65,0x63,0x74,0x72,0x75,0x6d,0x32,0x34,
+0x2f,0x48,0x44,0x52,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x14,0x00,0x6e,0x6f,0x6e,0x2d,0x73,0x70,0x65,0x63,
+0x69,0x66,0x69,0x65,0x64,0x20,0x53,0x53,0x49,0x44,0x20,0x21,0x21,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x01,0x00,0x01,0x00,0x64,0x00,
+0x64,0x00,0x00,0x00,0x50,0x72,0x69,0x73,0x6d,0x20,0x20,0x49,0x00,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x05,0x00,
+0x03,0x00,0x00,0x00,0x53,0x70,0x65,0x63,0x74,0x72,0x75,0x6d,0x32,0x34,0x2f,0x48,
+0x44,0x52,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x14,0x00,0x6e,0x6f,0x6e,0x2d,0x73,0x70,0x65,0x63,0x69,0x66,
+0x69,0x65,0x64,0x20,0x53,0x53,0x49,0x44,0x20,0x21,0x21,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x01,0x00,0x01,0x00,0x64,0x00,0x64,0x00,
+0x00,0x00,0x50,0x72,0x69,0x73,0x6d,0x20,0x20,0x49,0x00,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x00,0x00,0x80,0x01,0x2c,0x00,0x01,0x00,0xb6,0x00,0xc0,0x00,0xd4,0x00,
+0xee,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x12,0x00,0x0f,0x00,0x0c,0x00,0x07,0x00,
+0x00,0x00,0x00,0x00,0x02,0x00,0x01,0x00,0x03,0x00,0x03,0x00,0x7f,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x08,0x00,0x00,0x00,0x00,0x00,0x12,0x1e,0x08,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
+0x12,0x00,0x20,0x20,0x53,0x74,0x61,0x6e,0x64,0x61,0x72,0x64,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x33,0x2e,0x37,0x30,0x2d,
+0x32,0x37,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x32,0x2f,0x31,0x31,0x2f,0x32,0x30,
+0x30,0x32,0x00,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x82,0x84,0x8b,0x96,0x00,0x00,
+0x00,0x00,0x04,0x00,0x02,0x04,0x0b,0x16,0x00,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,
+0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf6,0x8f,0x7f,0x00,0xd8,0x07,
+0x00,0x00,0x48,0x22,0xc8,0x2a,0x3f,0x3f,0x49,0x6e,0x74,0x27,0x6c,0x2d,0x73,0x65,
+0x61,0x72,0x63,0x68,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
+0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x7d,0x00,0xff,0x3f,
+0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+0x04,0x00,0xfa,0x00,0xc8,0x00,0xf4,0x01,0x05,0x00,0x07,0x00,0xfa,0x00,0xc8,0x00,
+0x2c,0x01,0x05,0x00,0x0a,0x00,0xfa,0x00,0x32,0x00,0x64,0x00,0x05,0x00,0x0a,0x00,
+0xfa,0x00,0x32,0x00,0x32,0x00,0x05,0x00,0x0a,0x00,0xfa,0x00,0x19,0x00,0x19,0x00,
+0x05,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,
+0x80,0x00,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,
+0x00,0x80,0x6a,0x01,0x3a,0x01,0x6a,0x01,0x3a,0x01,0x1a,0x01,0x02,0x01,0xba,0x00,
+0xa2,0x00,0xe8,0x00,0xdf,0x00,0x88,0x00,0x7f,0x00,0xd9,0x00,0xd5,0x00,0x79,0x00,
+0x75,0x00,0x35,0x44,0x5d,0x65,0xf7,0x98,0xd9,0x6e,0x42,0xf7,0xb8,0x74,0xdc,0x15,
+0xfc,0xf8,0x82,0x05,0x79,0xf3,0x09,0x59,0x97,0x30,0xee,0x53,0x7b,0x83,0x15,0x46,
+0xbd,0x2c,0xd1,0x91,0x43,0x08,0x1e,0x7f,0xc9,0x60,0x53,0x68,0xf4,0xd2,0x88,0x06,
+0x22,0x14,0x39,0x09,0xf5,0x9f,0x05,0x27,0x74,0xfe,0xec,0x75,0x1f,0x42,0xf2,0x0c,
+0xae,0xb0,0x1b,0xfd,0xb5,0x76,0x03,0x39,0x35,0x2a,0x7f,0x42,0x2f,0x45,0xd9,0xd4,
+0x49,0xe6,0xf8,0xd9,0x86,0xee,0x78,0x42,0xca,0x54,0x39,0x10,0x17,0x89,0x15,0xfc,
+0xcd,0x61,0x9c,0x76,0xdc,0xbe,0x02,0x0a,0x46,0xb6,0xea,0xad,0x47,0xaa,0x89,0x11,
+0x97,0xf1,0x0b,0xec,0x22,0x6d,0xf3,0x33,0xd3,0xef,0x02,0x6f,0x58,0xb8,0x73,0x50,
+0x2a,0x8b,0xe8,0x3a,0x53,0xa8,0xe9,0x09,0xbf,0xbc,0x57,0x47,0x83,0xdb,0x5e,0xb1,
+0x62,0x82,0x5c,0xb2,0x71,0x5f,0x23,0x67,0xfd,0xcb,0xe0,0xd1,0x0d,0xe8,0xab,0x44,
+0x33,0x0f,0x4c,0x76,0x92,0x32,0x65,0xb1,0x7e,0xca,0xed,0x21,0x5e,0x45,0xba,0x92,
+0xa4,0x67,0x67,0x9e,0x23,0x33,0x8e,0x6a,0xa1,0xe9,0x94,0x3a,0x39,0xef,0x34,0xb3,
+0x65,0x96,0x3b,0x6e,0x46,0xbd,0xd0,0xc3,0x22,0x87,0x54,0xad,0xbc,0x89,0xd6,0x3a,
+0x3a,0x99,0xe0,0x89,0x0e,0xcf,0xfe,0xa3,0x0a,0x1a,0x68,0x6f,0xcb,0xd7,0xa6,0x25,
+0xd1,0x25,0x4d,0xc0,0x86,0xd8,0x9b,0xf7,0xe2,0xd5,0xf7,0xa3,0x0c,0x33,0xe3,0x83,
+0x87,0xff,0x4c,0x9d,0xd6,0xd6,0x89,0x9a,0x0c,0x38,0xa0,0xe8,0xef,0x52,0x1b,0x0e,
+0xbb,0x52,0xbc,0x9f,0xde,0xbf,0x1a,0xc8,0xf0,0xd0,0xd9,0x54,0xc2,0x6c,0x53,0xa8,
+0x1b,0xc4,0x17,0x42,0x1d,0x51,0x2e,0xc8,0x8e,0xe7,0x63,0x5c,0x00,0xd6,0xc5,0x0d,
+0xcd,0xeb,0xab,0x59,0x13,0xf3,0x02,0x82,0x0c,0x2c,0x36,0x3c,0xe7,0x21,0xb8,0xf9,
+0x57,0x67,0xdd,0xae,0x1d,0x6e,0x39,0x06,0xe2,0xd2,0x16,0x1f,0x8e,0x2c,0xec,0x5f,
+0x71,0xf1,0x01,0x8b,0x6b,0x52,0x72,0x04,0x49,0xa8,0x8b,0xa7,0x27,0xe3,0x3c,0xfa,
+0x55,0x45,0x94,0x54,0xcc,0x68,0xc9,0xf9,0x35,0xa8,0xa5,0x8c,0xa2,0x5c,0xb8,0x7f,
+0x24,0xe5,0x6e,0x15,0xe4,0xdd,0x97,0xf2,0xe8,0x84,0xf9,0xcf,0x92,0x98,0x70,0x25,
+0x24,0xf3,0x6a,0x39,0x15,0x11,0xa0,0x40,0xa2,0x99,0x58,0x7a,0xa2,0x9b,0x2a,0xb2,
+0x74,0xa4,0x7d,0x2d,0x7e,0x5e,0x0e,0xf5,0x59,0x37,0xf6,0x50,0x9f,0x06,0xf3,0x0d,
+0x03,0x87,0xcc,0x18,0xb5,0xca,0x44,0xf1,0x57,0x55,0xe2,0x5f,0x8c,0x82,0x6c,0x1e,
+0xb2,0x83,0x40,0x0f,0xef,0x6d,0x61,0x34,0x9d,0x8f,0x68,0x59,0xcb,0x22,0x9b,0x29,
+0x55,0x1a,0x87,0x3f,0x64,0x22,0x4a,0xbd,0x6c,0x7c,0x0e,0xc3,0x89,0x5d,0x2a,0x86,
+0xa2,0xb6,0xf5,0xa3,0xd8,0x36,0x90,0x08,0x95,0xee,0xca,0xb4,0x95,0xcc,0xa1,0x8b,
+0x98,0xc7,0x48,0xfd,0xa7,0xce,0xd6,0xc5,0x3b,0x7a,0x2e,0x3a,0x0e,0xf8,0x11,0x63,
+0xef,0xb5,0xd1,0x10,0xed,0x67,0xb7,0x25,0x26,0x23,0x2d,0xdb,0x8b,0xf8,0x50,0x8d,
+0xd1,0x2c,0x32,0x14,0xe5,0x92,0xd8,0x88,0x31,0x82,0x7c,0xa1,0x6e,0x59,0xf1,0x54,
+0xb7,0x6f,0xa5,0xc6,0x84,0xf8,0x99,0xee,0x8d,0xf6,0x0d,0xff,0xbd,0xd6,0xb1,0xde,
+0x54,0x91,0x50,0x60,0x03,0x02,0xa9,0xce,0x7d,0x56,0x19,0xe7,0x62,0xb5,0xe6,0x4d,
+0x9a,0xec,0x45,0x8f,0x9d,0x1f,0x40,0x89,0x87,0xfa,0x15,0xef,0xeb,0xb2,0xc9,0x8e,
+0x0b,0xfb,0xec,0x41,0x67,0xb3,0xfd,0x5f,0xea,0x45,0xbf,0x23,0xf7,0x53,0x96,0xe4,
+0x5b,0x9b,0xc2,0x75,0x1c,0xe1,0xae,0x3d,0x6a,0x4c,0x5a,0x6c,0x41,0x7e,0x02,0xf5,
+0x4f,0x83,0x5c,0x68,0xf4,0x51,0x34,0xd1,0x08,0xf9,0x93,0xe2,0x73,0xab,0x53,0x62,
+0x3f,0x2a,0x0c,0x08,0x52,0x95,0x65,0x46,0x5e,0x9d,0x28,0x30,0xa1,0x37,0x0f,0x0a,
+0xb5,0x2f,0x09,0x0e,0x36,0x24,0x9b,0x1b,0x3d,0xdf,0x26,0xcd,0x69,0x4e,0xcd,0x7f,
+0x9f,0xea,0x1b,0x12,0x9e,0x1d,0x74,0x58,0x2e,0x34,0x2d,0x36,0xb2,0xdc,0xee,0xb4,
+0xfb,0x5b,0xf6,0xa4,0x4d,0x76,0x61,0xb7,0xce,0x7d,0x7b,0x52,0x3e,0xdd,0x71,0x5e,
+0x97,0x13,0xf5,0xa6,0x68,0xb9,0x00,0x00,0x2c,0xc1,0x60,0x40,0x1f,0xe3,0xc8,0x79,
+0xed,0xb6,0xbe,0xd4,0x46,0x8d,0xd9,0x67,0x4b,0x72,0xde,0x94,0xd4,0x98,0xe8,0xb0,
+0x4a,0x85,0x6b,0xbb,0x2a,0xc5,0xe5,0x4f,0x16,0xed,0xc5,0x86,0xd7,0x9a,0x55,0x66,
+0x94,0x11,0xcf,0x8a,0x10,0xe9,0x06,0x04,0x81,0xfe,0xf0,0xa0,0x44,0x78,0xba,0x25,
+0xe3,0x4b,0xf3,0xa2,0xfe,0x5d,0xc0,0x80,0x8a,0x05,0xad,0x3f,0xbc,0x21,0x48,0x70,
+0x04,0xf1,0xdf,0x63,0xc1,0x77,0x75,0xaf,0x63,0x42,0x30,0x20,0x1a,0xe5,0x0e,0xfd,
+0x6d,0xbf,0x4c,0x81,0x14,0x18,0x35,0x26,0x2f,0xc3,0xe1,0xbe,0xa2,0x35,0xcc,0x88,
+0x39,0x2e,0x57,0x93,0xf2,0x55,0x82,0xfc,0x47,0x7a,0xac,0xc8,0xe7,0xba,0x2b,0x32,
+0x95,0xe6,0xa0,0xc0,0x98,0x19,0xd1,0x9e,0x7f,0xa3,0x66,0x44,0x7e,0x54,0xab,0x3b,
+0x83,0x0b,0xca,0x8c,0x29,0xc7,0xd3,0x6b,0x3c,0x28,0x79,0xa7,0xe2,0xbc,0x1d,0x16,
+0x76,0xad,0x3b,0xdb,0x56,0x64,0x4e,0x74,0x1e,0x14,0xdb,0x92,0x0a,0x0c,0x6c,0x48,
+0xe4,0xb8,0x5d,0x9f,0x6e,0xbd,0xef,0x43,0xa6,0xc4,0xa8,0x39,0xa4,0x31,0x37,0xd3,
+0x8b,0xf2,0x32,0xd5,0x43,0x8b,0x59,0x6e,0xb7,0xda,0x8c,0x01,0x64,0xb1,0xd2,0x9c,
+0xe0,0x49,0xb4,0xd8,0xfa,0xac,0x07,0xf3,0x25,0xcf,0xaf,0xca,0x8e,0xf4,0xe9,0x47,
+0x18,0x10,0xd5,0x6f,0x88,0xf0,0x6f,0x4a,0x72,0x5c,0x24,0x38,0xf1,0x57,0xc7,0x73,
+0x51,0x97,0x23,0xcb,0x7c,0xa1,0x9c,0xe8,0x21,0x3e,0xdd,0x96,0xdc,0x61,0x86,0x0d,
+0x85,0x0f,0x90,0xe0,0x42,0x7c,0xc4,0x71,0xaa,0xcc,0xd8,0x90,0x05,0x06,0x01,0xf7,
+0x12,0x1c,0xa3,0xc2,0x5f,0x6a,0xf9,0xae,0xd0,0x69,0x91,0x17,0x58,0x99,0x27,0x3a,
+0xb9,0x27,0x38,0xd9,0x13,0xeb,0xb3,0x2b,0x33,0x22,0xbb,0xd2,0x70,0xa9,0x89,0x07,
+0xa7,0x33,0xb6,0x2d,0x22,0x3c,0x92,0x15,0x20,0xc9,0x49,0x87,0xff,0xaa,0x78,0x50,
+0x7a,0xa5,0x8f,0x03,0xf8,0x59,0x80,0x09,0x17,0x1a,0xda,0x65,0x31,0xd7,0xc6,0x84,
+0xb8,0xd0,0xc3,0x82,0xb0,0x29,0x77,0x5a,0x11,0x1e,0xcb,0x7b,0xfc,0xa8,0xd6,0x6d,
+0x3a,0x2c,0xfa,0x00,0x56,0x63,0x5a,0x63,0x5e,0x63,0x62,0x63,0x66,0x63,0x72,0x63,
+0x76,0x63,0x7a,0x63,0x86,0x63,0x8a,0x63,0xb0,0x63,0xb4,0x63,0xb8,0x63,0xbc,0x63,
+0xc0,0x63,0xcc,0xe3,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,
+0x90,0x6a,0x90,0x6a,0x90,0x6a,0xce,0xe3,0xd0,0x63,0x90,0xea,0x90,0xea,0xd4,0x63,
+0xd8,0x63,0x90,0x6a,0xe2,0x63,0xe6,0x63,0xea,0x63,0xee,0x63,0xfa,0x63,0xfe,0x63,
+0x02,0x64,0x0e,0x64,0x12,0x64,0x3c,0x64,0x40,0x64,0x44,0x64,0x48,0x64,0x4c,0x64,
+0x58,0x64,0x90,0x6a,0x90,0xea,0x6c,0x64,0x70,0xe4,0x72,0xe4,0x74,0xe4,0x76,0xe4,
+0x78,0x64,0x90,0xea,0x7c,0x64,0x80,0xe4,0x82,0xe4,0x84,0xe4,0x86,0xe4,0x88,0xe4,
+0x8a,0xe4,0x90,0xea,0x90,0xea,0x8c,0xe4,0x8e,0xe4,0x90,0xe4,0x92,0xe4,0x96,0x64,
+0x9a,0x64,0x9e,0x64,0xa2,0x64,0xa6,0xe4,0xa8,0xe4,0x00,0x63,0x04,0x63,0x0e,0xe3,
+0x10,0xe3,0x90,0xea,0xfa,0xe2,0xfc,0xe2,0xfe,0xe2,0x18,0xe3,0x1a,0xe3,0x1c,0xe3,
+0x26,0xe3,0x28,0xe3,0x30,0xe3,0x12,0xe3,0x14,0xe3,0x16,0xe3,0x32,0xe3,0x34,0xe3,
+0x36,0xe3,0x38,0xe3,0x3a,0xe3,0x3c,0xe3,0x42,0xe3,0x44,0xe3,0x46,0xe3,0x48,0xe3,
+0x4a,0xe3,0x4c,0xe3,0x4e,0xe3,0x50,0xe3,0x52,0xe3,0x54,0xe3,0xde,0xe2,0xe0,0xe2,
+0xb8,0xe2,0xbc,0xe2,0xbe,0xe2,0xc0,0xe2,0xc2,0xe2,0x90,0xea,0xce,0x97,0x90,0xea,
+0xf0,0x80,0x38,0xa1,0xcc,0xe2,0xce,0xe2,0x90,0xea,0xd0,0xe2,0xe2,0xe2,0xe4,0xe2,
+0x90,0xea,0xea,0xe2,0xec,0xe2,0xee,0xe2,0xf0,0xe2,0xf2,0xe2,0xf4,0xe2,0xf6,0xe2,
+0xf8,0xe2,0xac,0x63,0x8e,0xe3,0x90,0xe3,0x92,0xe3,0x94,0xe3,0x96,0xe3,0x98,0x63,
+0x9c,0x63,0xa0,0x63,0xa4,0x63,0xa8,0x63,0x38,0x64,0x1a,0xe4,0x1c,0xe4,0x1e,0xe4,
+0x20,0xe4,0x22,0xe4,0x24,0x64,0x28,0x64,0x2c,0x64,0x30,0x64,0x34,0x64,0x5c,0x64,
+0x60,0x64,0x1e,0xe3,0x20,0xe3,0x3e,0xe3,0x40,0xe3,0x90,0x6a,0xb4,0xe2,0xb6,0xe2,
+0xc4,0xe4,0x90,0xea,0xba,0xe2,0x86,0x80,0x90,0xea,0x90,0xea,0xd2,0xe2,0xdc,0xe3,
+0x90,0xea,0x22,0xe3,0xc6,0xe4,0xd6,0xe2,0x94,0xe4,0xd4,0xe2,0xd8,0xe2,0xde,0x63,
+0x74,0x81,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,
+0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,
+0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,
+0x90,0x6a,0x90,0x6a,0x90,0x6a,0x90,0x6a,0x18,0xea,0x16,0xea,0x2a,0xe3,0x2c,0xe3,
+0x64,0x99,0xb6,0xe7,0xba,0xe7,0xc6,0xe2,0xc8,0xe2,0x6a,0x63,0x6e,0x63,0x7e,0x63,
+0x82,0x63,0xc4,0x63,0xc8,0x63,0xf2,0x63,0xf6,0x63,0x06,0x64,0x0a,0x64,0x50,0x64,
+0x54,0x64,0x64,0x64,0x68,0x64,0x7a,0x21,0xda,0x62,0xdc,0x62,0xde,0xe4,0xe2,0xe4,
+0xfa,0x81,0x14,0xbf,0x1a,0xbf,0x20,0xbf,0x2c,0xbf,0x32,0xbf,0x50,0xbf,0x56,0xbf,
+0x62,0x99,0x98,0x80,0x9a,0x80,0x9c,0x80,0x11,0x00,0x00,0x00,0x00,0x00,0x4c,0x17,
+0x06,0x00,0x01,0x00,0xd0,0x64,0x06,0x00,0x01,0x00,0xd8,0x64,0x06,0x00,0x01,0x00,
+0xf6,0x17,0x10,0x00,0x01,0x00,0x18,0x18,0x24,0x00,0x01,0x00,0x40,0x18,0x0e,0x00,
+0x01,0x00,0x5a,0x17,0x20,0x00,0x01,0x00,0xc2,0x64,0x02,0x00,0x01,0x00,0xc8,0x64,
+0x06,0x00,0x01,0x00,0xbc,0x67,0xc0,0x01,0x10,0x00,0xf4,0x64,0x80,0x02,0x10,0x00,
+0x7c,0x6a,0x38,0x00,0x07,0x00,0x18,0x63,0x99,0x01,0x01,0x00,0x40,0x18,0x0e,0x00,
+0x01,0x00,0x4e,0x18,0x0e,0x00,0x01,0x00,0xea,0x00,0x06,0x00,0x01,0x00,0x68,0x6a,
+0x00,0x00,0x00,0x00,0x34,0x12,0xaa,0x55,0x5a,0x63,0x02,0x00,0x5e,0x63,0x02,0x00,
+0x62,0x63,0x02,0x00,0x66,0x63,0x02,0x00,0x72,0x63,0x02,0x00,0x76,0x63,0x02,0x00,
+0x7a,0x63,0x02,0x00,0xb4,0x63,0x02,0x00,0xcc,0x63,0x01,0x00,0xe2,0x63,0x02,0x00,
+0xe6,0x63,0x02,0x00,0xea,0x63,0x02,0x00,0xee,0x63,0x02,0x00,0xfa,0x63,0x02,0x00,
+0xfe,0x63,0x02,0x00,0x02,0x64,0x02,0x00,0x0e,0x64,0x02,0x00,0x40,0x64,0x02,0x00,
+0x0e,0x63,0x01,0x00,0x10,0x63,0x01,0x00,0x90,0x6a,0x01,0x00,0xfc,0x62,0x01,0x00,
+0x18,0x63,0x01,0x00,0x26,0x63,0x01,0x00,0x28,0x63,0x01,0x00,0x32,0x63,0x01,0x00,
+0x34,0x63,0x01,0x00,0x36,0x63,0x01,0x00,0x38,0x63,0x01,0x00,0x3a,0x63,0x01,0x00,
+0x3c,0x63,0x01,0x00,0xde,0x62,0x01,0x00,0xb8,0x62,0x01,0x00,0x90,0x6a,0x01,0x00,
+0xce,0x17,0x01,0x00,0xe6,0x00,0x01,0x00,0x86,0x00,0x01,0x00,0x6a,0x63,0x02,0x00,
+0x6e,0x63,0x02,0x00,0x7e,0x63,0x02,0x00,0x82,0x63,0x02,0x00,0xf2,0x63,0x02,0x00,
+0xf6,0x63,0x02,0x00,0x06,0x64,0x02,0x00,0x0a,0x64,0x02,0x00,0x62,0x19,0x01,0x00,
+0x98,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xfa,0xf1,0x7e,0x00,
+0x0e,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0xe2,0x8d,0x7f,0x00,0x06,0x00,0x00,0x00,
+0x08,0x01,0x00,0x00,0x8a,0x8e,0x7f,0x00,0x12,0x00,0x00,0x00,0x09,0x01,0x00,0x00,
+0x88,0x8e,0x7f,0x00,0x02,0x00,0x00,0x00,0x0a,0x01,0x00,0x00,0x64,0x8e,0x7f,0x00,
+0x02,0x00,0x00,0x00,0x0b,0x01,0x00,0x00,0xae,0x8e,0x7f,0x00,0x24,0x00,0x00,0x00,
+0x03,0x01,0x00,0x00,0xe0,0xf1,0x7e,0x00,0x0c,0x00,0x00,0x00,0x04,0x01,0x00,0x00,
+0xf8,0x80,0x7f,0x00,0x02,0x00,0x00,0x00,0x05,0x01,0x00,0x00,0xe8,0x8d,0x7f,0x00,
+0x02,0x00,0x00,0x00,0x05,0x01,0x00,0x00,0x28,0x81,0x7f,0x00,0x02,0x00,0x00,0x00,
+0x05,0x01,0x00,0x00,0xf2,0x8e,0x7f,0x00,0x02,0x00,0x00,0x00,0x06,0x01,0x00,0x00,
+0xec,0xf1,0x7e,0x00,0x02,0x00,0x00,0x00,0x07,0x01,0x00,0x00,0xee,0xf1,0x7e,0x00,
+0x02,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xba,0xf1,0x7e,0x00,0x0a,0x00,0x00,0x00,
+0x09,0x00,0x00,0x00,0x60,0x8e,0x7f,0x00,0x02,0x00,0x00,0x00,0x0a,0x00,0x00,0x00,
+0x62,0x8e,0x7f,0x00,0x02,0x00,0x00,0x00,0x0c,0x01,0x00,0x00,0x20,0x81,0x7f,0x00,
+0x02,0x00,0x00,0x00,0x0d,0x01,0x00,0x00,0x66,0x8e,0x7f,0x00,0x02,0x00,0x00,0x00,
+0x0e,0x01,0x00,0x00,0x9c,0x8e,0x7f,0x00,0x02,0x00,0x00,0x00,0x11,0x01,0x00,0x00,
+0x9e,0x8e,0x7f,0x00,0x02,0x00,0x00,0x00,0x00,0x18,0x7e,0x00,0x62,0xda,0x00,0x00,
+0x01,0x00,0x00,0x00,0x05,0x00,0x01,0x00,0x21,0x00,0x02,0x00,0x02,0x00,0x01,0x00,
+0x06,0x00,0x02,0x00,0x00,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x06,0x00,
+0x02,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x06,0x00,0x02,0x00,
+0x01,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x33,0x05,
+};
diff --git a/meta/packages/orinoco/orinoco-conf_1.0.bb b/meta/packages/orinoco/orinoco-conf_1.0.bb
new file mode 100644
index 0000000000..fbb748686e
--- /dev/null
+++ b/meta/packages/orinoco/orinoco-conf_1.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "PCMCIA-cs configuration files for Hermes (Orinoco) wireless LAN cards"
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de> Marcin Juszkiewicz <openembedded@hrw.one.pl>"
+LICENSE = "GPL"
+PACKAGE_ARCH = "all"
+PR = "r2"
+
+SRC_URI = "file://spectrum.conf \
+ file://hermes.conf \
+ file://orinoco_cs.conf"
+
+do_install() {
+ install -d ${D}${sysconfdir}/pcmcia
+ install -d ${D}${sysconfdir}/modutils
+ install -m 0644 ${WORKDIR}/spectrum.conf ${D}${sysconfdir}/pcmcia/
+ install -m 0644 ${WORKDIR}/hermes.conf ${D}${sysconfdir}/pcmcia/
+ install -m 0644 ${WORKDIR}/orinoco_cs.conf ${D}${sysconfdir}/modutils/
+}
diff --git a/meta/packages/orinoco/orinoco-modules-0.15rc2/add_event.patch b/meta/packages/orinoco/orinoco-modules-0.15rc2/add_event.patch
new file mode 100644
index 0000000000..f8b86f335b
--- /dev/null
+++ b/meta/packages/orinoco/orinoco-modules-0.15rc2/add_event.patch
@@ -0,0 +1,56 @@
+Index: orinoco-0.15rc2/orinoco_cs.c
+===================================================================
+--- orinoco-0.15rc2.orig/orinoco_cs.c 2004-07-28 07:06:45.000000000 +0100
++++ orinoco-0.15rc2/orinoco_cs.c 2005-08-03 18:38:34.000000000 +0100
+@@ -189,11 +189,13 @@
+
+ client_reg.dev_info = &dev_info;
+ client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13))
+ client_reg.EventMask =
+ CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
+ CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
+ CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
+ client_reg.event_handler = &orinoco_cs_event;
++#endif
+ client_reg.Version = 0x0210; /* FIXME: what does this mean? */
+ client_reg.event_callback_args.client_data = link;
+
+@@ -612,6 +614,9 @@
+ .name = DRIVER_NAME,
+ },
+ .attach = orinoco_cs_attach,
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
++ .event = orinoco_cs_event,
++#endif
+ .detach = orinoco_cs_detach,
+ };
+
+Index: orinoco-0.15rc2/spectrum_cs.c
+===================================================================
+--- orinoco-0.15rc2.orig/spectrum_cs.c 2005-08-03 11:51:09.000000000 +0100
++++ orinoco-0.15rc2/spectrum_cs.c 2005-08-03 18:38:46.000000000 +0100
+@@ -699,11 +699,13 @@
+
+ client_reg.dev_info = &dev_info;
+ client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13))
+ client_reg.EventMask =
+ CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
+ CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
+ CS_EVENT_PM_SUSPEND | CS_EVENT_PM_RESUME;
+ client_reg.event_handler = &spectrum_cs_event;
++#endif
+ client_reg.Version = 0x0210; /* FIXME: what does this mean? */
+ client_reg.event_callback_args.client_data = link;
+
+@@ -1096,6 +1098,9 @@
+ .name = DRIVER_NAME,
+ },
+ .attach = spectrum_cs_attach,
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
++ .event = spectrum_cs_event,
++#endif
+ .detach = spectrum_cs_detach,
+ };
+
diff --git a/meta/packages/orinoco/orinoco-modules-0.15rc2/add_utsname.patch b/meta/packages/orinoco/orinoco-modules-0.15rc2/add_utsname.patch
new file mode 100644
index 0000000000..7c2efec2f3
--- /dev/null
+++ b/meta/packages/orinoco/orinoco-modules-0.15rc2/add_utsname.patch
@@ -0,0 +1,21 @@
+Index: orinoco-0.15rc1/kcompat.h
+===================================================================
+--- orinoco-0.15rc1.orig/kcompat.h 2005-08-03 14:51:18.000000000 +0000
++++ orinoco-0.15rc1/kcompat.h 2005-08-03 15:11:02.000000000 +0000
+@@ -1,3 +1,4 @@
++#include <linux/utsname.h>
+ #include <linux/version.h>
+
+ /********************************************************************/
+Index: orinoco-0.15rc2/orinoco.h
+===================================================================
+--- orinoco-0.15rc2.orig/orinoco.h 2004-07-28 07:06:45.000000000 +0100
++++ orinoco-0.15rc2/orinoco.h 2005-08-03 18:43:46.000000000 +0100
+@@ -13,6 +13,7 @@
+ #include <linux/spinlock.h>
+ #include <linux/netdevice.h>
+ #include <linux/wireless.h>
++#include <linux/utsname.h>
+ #include <linux/version.h>
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 25)
+ #include <linux/moduleparam.h>
diff --git a/meta/packages/orinoco/orinoco-modules-0.15rc2/catch-up-with-kernel-changes.patch b/meta/packages/orinoco/orinoco-modules-0.15rc2/catch-up-with-kernel-changes.patch
new file mode 100644
index 0000000000..d2e8a5bc4c
--- /dev/null
+++ b/meta/packages/orinoco/orinoco-modules-0.15rc2/catch-up-with-kernel-changes.patch
@@ -0,0 +1,48 @@
+diff -up orinoco-0.15rc2/orinoco_pci.c orinoco-0.15rc2-new/orinoco_pci.c
+--- orinoco-0.15rc2/orinoco_pci.c 2004-07-28 08:06:45.000000000 +0200
++++ orinoco-0.15rc2-new/orinoco_pci.c 2005-06-19 17:13:07.000000000 +0200
+@@ -327,7 +327,7 @@ static int orinoco_pci_suspend(struct pc
+
+ orinoco_unlock(priv, &flags);
+
+- pci_save_state(pdev, card->pci_state);
++ pci_save_state(pdev);
+ pci_set_power_state(pdev, 3);
+
+ return 0;
+@@ -344,7 +344,7 @@ static int orinoco_pci_resume(struct pci
+ printk(KERN_DEBUG "%s: Orinoco-PCI waking up\n", dev->name);
+
+ pci_set_power_state(pdev, 0);
+- pci_restore_state(pdev, card->pci_state);
++ pci_restore_state(pdev);
+
+ err = orinoco_reinit_firmware(dev);
+ if (err) {
+diff -up orinoco-0.15rc2/spectrum_cs.c orinoco-0.15rc2-new/spectrum_cs.c
+--- orinoco-0.15rc2/spectrum_cs.c 2004-07-28 08:06:45.000000000 +0200
++++ orinoco-0.15rc2-new/spectrum_cs.c 2005-06-19 18:06:39.000000000 +0200
+@@ -579,12 +579,13 @@ static int
+ spectrum_dl_firmware(hermes_t *hw, dev_link_t *link)
+ {
+ int ret;
++ client_handle_t handle = link->handle;
+
+ #ifndef SPECTRUM_FW_INCLUDED
+ const struct firmware *fw_entry;
+
+ if (request_firmware(&fw_entry, primary_fw_name,
+- spectrum_cs_device) == 0) {
++ &handle_to_dev(handle)) == 0) {
+ primsym = fw_entry->data;
+ } else {
+ printk(KERN_ERR PFX "Cannot find firmware: %s\n",
+@@ -593,7 +594,7 @@ spectrum_dl_firmware(hermes_t *hw, dev_l
+ }
+
+ if (request_firmware(&fw_entry, secondary_fw_name,
+- spectrum_cs_device) == 0) {
++ &handle_to_dev(handle)) == 0) {
+ secsym = fw_entry->data;
+ } else {
+ printk(KERN_ERR PFX "Cannot find firmware: %s\n",
diff --git a/meta/packages/orinoco/orinoco-modules-0.15rc2/list-move.patch b/meta/packages/orinoco/orinoco-modules-0.15rc2/list-move.patch
new file mode 100644
index 0000000000..cd8bec0ec2
--- /dev/null
+++ b/meta/packages/orinoco/orinoco-modules-0.15rc2/list-move.patch
@@ -0,0 +1,22 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- orinoco-0.15rc1/kcompat.h~list-move.patch 2004-04-19 07:08:24.000000000 +0200
++++ orinoco-0.15rc1/kcompat.h 2004-06-15 19:16:17.000000000 +0200
+@@ -39,13 +39,12 @@
+ typedef void irqreturn_t;
+ #endif
+
+-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,4,20))
++#if 0
+ static inline void list_move(struct list_head *list, struct list_head *head)
+ {
+ __list_del(list->prev, list->next);
+ list_add(list, head);
+ }
+-
+ static inline void list_move_tail(struct list_head *list,
+ struct list_head *head)
+ {
diff --git a/meta/packages/orinoco/orinoco-modules-0.15rc2/makefile_fix.patch b/meta/packages/orinoco/orinoco-modules-0.15rc2/makefile_fix.patch
new file mode 100644
index 0000000000..5421d40b10
--- /dev/null
+++ b/meta/packages/orinoco/orinoco-modules-0.15rc2/makefile_fix.patch
@@ -0,0 +1,13 @@
+Index: orinoco-0.15rc2/Makefile
+===================================================================
+--- orinoco-0.15rc2.orig/Makefile 2004-07-28 07:06:45.000000000 +0100
++++ orinoco-0.15rc2/Makefile 2005-05-24 00:09:07.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ # The default kernel is the one you are running, but you may want to set
+ # it to another configured Linux source tree
+-KERNEL_SRC = $(shell readlink -f /lib/modules/`uname -r`/build)
++KERNEL_SRC = $(KERNEL_SOURCE)
+
+ # Output directory that you used when building Linux kernel, if any.
+ # Note: this driver will be compiled to the current directory regardless.
diff --git a/meta/packages/orinoco/orinoco-modules-0.15rc2/spectrum_cs_ids.patch b/meta/packages/orinoco/orinoco-modules-0.15rc2/spectrum_cs_ids.patch
new file mode 100644
index 0000000000..709e05a435
--- /dev/null
+++ b/meta/packages/orinoco/orinoco-modules-0.15rc2/spectrum_cs_ids.patch
@@ -0,0 +1,101 @@
+Index: orinoco-0.15rc2/spectrum_cs.c
+===================================================================
+--- orinoco-0.15rc2.orig/spectrum_cs.c 2005-08-03 18:43:58.000000000 +0100
++++ orinoco-0.15rc2/spectrum_cs.c 2005-08-03 22:27:03.000000000 +0100
+@@ -1092,6 +1092,17 @@
+ " (Pavel Roskin <proski@gnu.org>,"
+ " David Gibson <hermes@gibson.dropbear.id.au>, et al)";
+
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
++static struct pcmcia_device_id spectrum_cs_ids[] = {
++ PCMCIA_DEVICE_MANF_CARD(0x026c, 0x0001),
++ PCMCIA_DEVICE_MANF_CARD(0x0104, 0x0001),
++ PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0001),
++ PCMCIA_DEVICE_PROD_ID12("Symbol", "Spectrum24 LA4100 Series WLAN PC Card", 0xd20d85fd, 0x63066cd9),
++ PCMCIA_DEVICE_NULL,
++};
++MODULE_DEVICE_TABLE(pcmcia, spectrum_cs_ids);
++#endif
++
+ static struct pcmcia_driver orinoco_driver = {
+ .owner = THIS_MODULE,
+ .drv = {
+@@ -1100,6 +1111,7 @@
+ .attach = spectrum_cs_attach,
+ #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
+ .event = spectrum_cs_event,
++ .id_table = spectrum_cs_ids,
+ #endif
+ .detach = spectrum_cs_detach,
+ };
+Index: orinoco-0.15rc2/orinoco_cs.c
+===================================================================
+--- orinoco-0.15rc2.orig/orinoco_cs.c 2005-08-03 18:43:55.000000000 +0100
++++ orinoco-0.15rc2/orinoco_cs.c 2005-08-03 22:58:58.000000000 +0100
+@@ -608,6 +608,58 @@
+ " (David Gibson <hermes@gibson.dropbear.id.au>, "
+ "Pavel Roskin <proski@gnu.org>, et al)";
+
++#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
++static struct pcmcia_device_id orinoco_cs_ids[] = {
++ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300),
++ PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0001),
++ PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a),
++ PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001),
++ PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305),
++ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613),
++ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673),
++ PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001),
++ PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300),
++ PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021),
++ PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002),
++ PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005),
++ PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005),
++ PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3),
++ PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0),
++ PCMCIA_DEVICE_PROD_ID12("ACTIONTEC", "PRISM Wireless LAN PC Card", 0x393089da, 0xa71e69d5),
++ PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169),
++ PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3),
++ PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90),
++ PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584),
++ PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9),
++ PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac),
++ PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab),
++ PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3),
++ PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c),
++ PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18),
++ PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a),
++ PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410),
++ PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3),
++ PCMCIA_DEVICE_PROD_ID12("Microsoft", "Wireless Notebook Adapter MN-520", 0x5961bf85, 0x6eec8c01),
++ PCMCIA_DEVICE_PROD_ID12("NCR", "WaveLAN/IEEE", 0x24358cd4, 0xc562e72a),
++ PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401RA Wireless PC", "Card", 0x0306467f, 0x9762e8f1),
++ PCMCIA_DEVICE_PROD_ID12("PLANEX", "GeoWave/GW-CF110", 0x209f40ab, 0xd9715264),
++ PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PC CARD HARMONY 80211B", 0xc6536a5e, 0x090c3cd9),
++ PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26),
++ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b),
++ PCMCIA_DEVICE_PROD_ID1("Symbol Technologies", 0x3f02b4d6),
++ PCMCIA_DEVICE_NULL,
++};
++MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids);
++#endif
++
+ static struct pcmcia_driver orinoco_driver = {
+ .owner = THIS_MODULE,
+ .drv = {
+@@ -616,6 +668,7 @@
+ .attach = orinoco_cs_attach,
+ #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,12))
+ .event = orinoco_cs_event,
++ .id_table = orinoco_cs_ids,
+ #endif
+ .detach = orinoco_cs_detach,
+ };
diff --git a/meta/packages/orinoco/orinoco-modules_0.15rc2.bb b/meta/packages/orinoco/orinoco-modules_0.15rc2.bb
new file mode 100644
index 0000000000..e75924c19d
--- /dev/null
+++ b/meta/packages/orinoco/orinoco-modules_0.15rc2.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "A driver for wireless LAN cards based on Hermes(Orinoco) cards. \
+Also contains support for cards using downloadable firmware, i.e. the Symbol/Socket family."
+SECTION = "kernel/modules"
+PRIORITY = "optional"
+PROVIDES = "spectrum-modules"
+DEPENDS = "orinoco-conf spectrum-fw"
+RDEPENDS = "orinoco-conf"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+LICENSE = "GPL"
+PR = "r9"
+
+SRC_URI = "http://ozlabs.org/people/dgibson/dldwd/orinoco-${PV}.tar.gz \
+ file://makefile_fix.patch;patch=1 \
+ file://list-move.patch;patch=1 \
+ file://add_utsname.patch;patch=1 \
+ file://add_event.patch;patch=1 \
+ file://spectrum_cs_ids.patch;patch=1 \
+ file://catch-up-with-kernel-changes.patch;patch=1"
+S = "${WORKDIR}/orinoco-${PV}"
+
+inherit module
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/net/
+ install -m 0644 *${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/net/
+}
+
+PACKAGES = "orinoco-modules-cs orinoco-modules-pci orinoco-modules-usb orinoco-modules-nortel orinoco-modules"
+FILES_orinoco-modules-cs = "/lib/modules/${KERNEL_VERSION}/net/*_cs${KERNEL_OBJECT_SUFFIX}"
+FILES_orinoco-modules-pci = "/lib/modules/${KERNEL_VERSION}/net/orinoco_p*${KERNEL_OBJECT_SUFFIX}"
+FILES_orinoco-modules-usb = "/lib/modules/${KERNEL_VERSION}/net/*_usb${KERNEL_OBJECT_SUFFIX}"
+FILES_orinoco-modules-nortel = "/lib/modules/${KERNEL_VERSION}/net/orinoco_tmd${KERNEL_OBJECT_SUFFIX} \
+ /lib/modules/${KERNEL_VERSION}/net/orinoco_nortel${KERNEL_OBJECT_SUFFIX}"
+FILES_orinoco-modules = "/lib/modules/"
+RDEPENDS_orinoco-modules-cs = "orinoco-modules spectrum-fw"
+RDEPENDS_orinoco-modules-pci = "orinoco-modules"
+RDEPENDS_orinoco-modules-usb = "orinoco-modules"
+RDEPENDS_orinoco-modules-nortel = "orinoco-modules"
diff --git a/meta/packages/orinoco/spectrum-fw.bb b/meta/packages/orinoco/spectrum-fw.bb
new file mode 100644
index 0000000000..dd76000ed1
--- /dev/null
+++ b/meta/packages/orinoco/spectrum-fw.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Firmware for Spectrum Wireless LAN cards"
+LICENSE = "unknown"
+PR = "r0"
+PACKAGE_ARCH = "all"
+
+SRC_URI = "file://get_symbol_fw \
+ file://parse_symbol_fw"
+
+S = "${WORKDIR}"
+
+do_compile() {
+ ./get_symbol_fw
+}
+
+FILES_${PN} += "${base_libdir}/firmware/symbol*"
+
+do_install() {
+ install -d ${D}${base_libdir}/firmware/
+ install -m 0755 ${WORKDIR}/symbol_sp24t_prim_fw ${D}${base_libdir}/firmware/symbol_sp24t_prim_fw
+ install -m 0755 ${WORKDIR}/symbol_sp24t_sec_fw ${D}${base_libdir}/firmware/symbol_sp24t_sec_fw
+}
diff --git a/meta/packages/orinoco/spectrum-fw/get_symbol_fw b/meta/packages/orinoco/spectrum-fw/get_symbol_fw
new file mode 100755
index 0000000000..e7b0bf2d44
--- /dev/null
+++ b/meta/packages/orinoco/spectrum-fw/get_symbol_fw
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+# Get firmware for Symbol Spectrum24 Trilogy.
+# Both the header file and the binary firmware files are produced.
+
+# Copyright (C) 2004 Pavel Roskin <proski@gnu.org>
+
+# This script is Free Software, and it can be copied, distributed and
+# modified as defined in the GNU General Public License. A copy of
+# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
+
+# Usage: get_symbol_fw
+# Output: spectrum_fw.h symbol_sp24t_prim_fw symbol_sp24t_sec_fw
+# Needed tools: curl (or wget), unzip, perl.
+
+set -e
+
+URL_BASE='ftp://symstore.longisland.com/Symstore/services_download/wirless_prod/'
+DL_FILE='MC&DriverOnlyInstallers.zip'
+DL_INT1='S24DRVR392B67-01.exe'
+DL_INT2='Driver Only Installer/NetWLan5.sys'
+DRIVER1=symbol1.drv
+DRIVER2=symbol2.drv
+
+get_file() {
+ curl --remote-name "$1" || \
+ wget --passive-ftp "$1" || \
+ wget "$1" || \
+ ftp "$1" </dev/null || \
+ exit 1
+}
+
+if ! test -f $DL_FILE; then
+ get_file $URL_BASE/$DL_FILE
+fi
+
+unzip -p $DL_FILE "$DL_INT1" >$DRIVER1
+unzip -p $DRIVER1 "$DL_INT2" >$DRIVER2
+
+perl parse_symbol_fw $DRIVER2 spectrum_fw.h symbol_sp24t_prim_fw \
+ symbol_sp24t_sec_fw
+
+rm -f $DRIVER1 $DRIVER2 \ No newline at end of file
diff --git a/meta/packages/orinoco/spectrum-fw/parse_symbol_fw b/meta/packages/orinoco/spectrum-fw/parse_symbol_fw
new file mode 100755
index 0000000000..7fe0ea57c4
--- /dev/null
+++ b/meta/packages/orinoco/spectrum-fw/parse_symbol_fw
@@ -0,0 +1,129 @@
+#!/usr/bin/perl -w
+
+# Extract Symbol firmware and convert is to a header file and two binary
+# files.
+
+# Copyright (C) 2004 Pavel Roskin <proski@gnu.org>
+
+# This script is Free Software, and it can be copied, distributed and
+# modified as defined in the GNU General Public License. A copy of
+# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
+
+# Usage:
+# parse_symbol_fw infile header binfile1 binfile2
+
+use strict;
+
+# Print message and exit (like "die", but without raising an exception).
+# Newline is added at the end.
+sub error
+{
+ printf STDERR "ERROR: ";
+ printf STDERR @_;
+ printf STDERR "\n";
+ exit 1;
+}
+
+sub readnum_ba ()
+{
+ my $byte_a;
+ read INFILE,$byte_a,1;
+ my $byte_b;
+ read INFILE,$byte_b,1;
+ return (ord($byte_b) << 8) + ord($byte_a);
+}
+
+
+if ($#ARGV != 3) {
+ error ("Usage: parse_symbol_fw infile header binfile1 binfile2");
+}
+
+unless (open (INFILE, "< $ARGV[0]")) {
+ error ("couldn't open $ARGV[0] for reading: $!");
+}
+
+unless (open (OUTFILE, "> $ARGV[1]")) {
+ error ("couldn't open $ARGV[1] for writing: $!");
+}
+
+# Process one array, either for primary or for secondary firmware
+sub process_one_array($$) {
+ my $arrname = shift(@_);
+ my $binfile = shift(@_);
+ my $offset = -1;
+ my $str_offset = 0;
+
+ # Skip to the beginning of firmware
+ $/ = "\x00";
+ while (<INFILE>) {
+ if (m{FILE: }g) {
+ $offset = $str_offset + pos() - 6;
+ last;
+ }
+ $str_offset = tell(INFILE);
+ }
+
+ if ($offset == -1) {
+ error("Cannot find FILE: marker");
+ }
+
+ my @fwdata = split;
+ print $fwdata[1] . "\n";
+ seek(INFILE, $offset, 0);
+
+ my $blknum = $fwdata[3];
+ my $pdrlen = $fwdata[4];
+ my $crclen = $fwdata[5];
+ my $compatlen = $fwdata[6];
+
+ while (!eof(INFILE)) {
+ my $byte;
+ read INFILE, $byte, 1;
+ last if (ord($byte) == 0x1a);
+ }
+
+ # Walk all blocks
+ my $block = $blknum;
+ while ($block-- > 0) {
+ seek(INFILE, 4, 1);
+ my $len = readnum_ba();
+ seek(INFILE, $len, 1);
+ }
+
+ my $img_len = tell(INFILE) - $offset + $pdrlen + $crclen + $compatlen + 2;
+ seek(INFILE, $offset, 0);
+
+ # Write binary file for the section
+ unless (open (BINFILE, "> $binfile")) {
+ error ("couldn't open $binfile for writing: $!");
+ }
+
+ # Output the array
+ printf OUTFILE "/* %s %s */\n", $fwdata[1], $fwdata[2];
+ printf OUTFILE "static u8 %s[] = {\n", $arrname;
+
+ my $count = 0;
+ while ($count++ < $img_len) {
+ my $byte;
+ read INFILE, $byte, 1;
+ $byte = ord($byte);
+ printf OUTFILE "0x%02x,", $byte;
+ printf BINFILE "%c", $byte;
+ if ($count % 16 == 0) {
+ printf OUTFILE "\n";
+ }
+ }
+
+ if ($img_len % 16) {
+ printf OUTFILE "\n";
+ }
+
+ print OUTFILE "};\n";
+ close(BINFILE);
+}
+
+process_one_array("primsym", $ARGV[2]);
+process_one_array("secsym", $ARGV[3]);
+
+close(INFILE);
+close(OUTFILE);
diff --git a/meta/packages/pango/files/gtk-doc.patch b/meta/packages/pango/files/gtk-doc.patch
new file mode 100644
index 0000000000..bee5fe6310
--- /dev/null
+++ b/meta/packages/pango/files/gtk-doc.patch
@@ -0,0 +1,59 @@
+--- pango/acinclude.m4.old 2004-05-08 11:31:48.000000000 +0100
++++ pango/acinclude.m4 2004-05-08 11:31:58.000000000 +0100
+@@ -55,3 +55,56 @@
+ ])
+
+
++dnl -*- mode: autoconf -*-
++
++# serial 1
++
++dnl Usage:
++dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
++AC_DEFUN([GTK_DOC_CHECK],
++[
++ AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
++ AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
++ dnl for overriding the documentation installation directory
++ AC_ARG_WITH(html-dir,
++ AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
++ [with_html_dir='${datadir}/gtk-doc/html'])
++ HTML_DIR="$with_html_dir"
++ AC_SUBST(HTML_DIR)
++
++ dnl enable/disable documentation building
++ AC_ARG_ENABLE(gtk-doc,
++ AC_HELP_STRING([--enable-gtk-doc],
++ [use gtk-doc to build documentation [default=no]]),,
++ enable_gtk_doc=no)
++
++ have_gtk_doc=no
++ if test -z "$PKG_CONFIG"; then
++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++ fi
++ if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then
++ have_gtk_doc=yes
++ fi
++
++ dnl do we want to do a version check?
++ifelse([$1],[],,
++ [gtk_doc_min_version=$1
++ if test "$have_gtk_doc" = yes; then
++ AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version])
++ if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then
++ AC_MSG_RESULT(yes)
++ else
++ AC_MSG_RESULT(no)
++ have_gtk_doc=no
++ fi
++ fi
++])
++ if test x$enable_gtk_doc = xyes; then
++ if test "$have_gtk_doc" != yes; then
++ enable_gtk_doc=no
++ fi
++ fi
++
++ AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
++ AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
++])
diff --git a/meta/packages/pango/files/no-tests.patch b/meta/packages/pango/files/no-tests.patch
new file mode 100644
index 0000000000..b382126129
--- /dev/null
+++ b/meta/packages/pango/files/no-tests.patch
@@ -0,0 +1,15 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- pango-1.2.5/Makefile.am~no-tests 2003-01-30 22:43:47.000000000 +0100
++++ pango-1.2.5/Makefile.am 2004-03-11 11:31:25.000000000 +0100
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to create Makefile.in.
+
+-SUBDIRS= pango modules examples docs tools tests
++SUBDIRS= pango modules examples docs tools
+
+ EXTRA_DIST = \
+ pango.pc.in \
diff --git a/meta/packages/pango/pango_1.10.0.bb b/meta/packages/pango/pango_1.10.0.bb
new file mode 100644
index 0000000000..869b146d56
--- /dev/null
+++ b/meta/packages/pango/pango_1.10.0.bb
@@ -0,0 +1,49 @@
+LICENSE = "LGPL"
+SECTION = "x11/libs"
+# Xt needed to keep autoconf's check for X11 happy
+DEPENDS = "glib-2.0 fontconfig freetype zlib libx11 libxft libxt gtk-doc cairo"
+DESCRIPTION = "The goal of the Pango project is to provide an \
+Open Source framework for the layout and rendering of \
+internationalized text."
+PR = "r0"
+
+# seems to go wrong with default cflags
+FULL_OPTIMIZATION_arm = "-O2"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.8/pango-${PV}.tar.bz2 \
+ file://no-tests.patch;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-glibtest \
+ --enable-explicit-deps=no \
+ --disable-debug"
+
+FILES_${PN} = "/etc ${bindir} ${libdir}/libpango*.so.*"
+
+LIBV = "1.4.0"
+
+do_stage () {
+ for lib in pango pangox pangoft2 pangoxft pangocairo; do
+ oe_libinstall -so -C pango lib$lib-1.0 ${STAGING_LIBDIR}/
+ done
+ install -d ${STAGING_INCDIR}/pango
+ install -m 0644 ${S}/pango/pango*.h ${STAGING_INCDIR}/pango/
+}
+
+postinst_prologue() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+}
+
+PACKAGES_DYNAMIC = "pango-module-*"
+
+python populate_packages_prepend () {
+ prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+ modules_root = bb.data.expand('${libdir}/pango/${LIBV}/modules', d)
+
+ do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
+}
diff --git a/meta/packages/pango/pango_1.12.0.bb b/meta/packages/pango/pango_1.12.0.bb
new file mode 100644
index 0000000000..e06e659b7b
--- /dev/null
+++ b/meta/packages/pango/pango_1.12.0.bb
@@ -0,0 +1,49 @@
+LICENSE = "LGPL"
+SECTION = "x11/libs"
+# Xt needed to keep autoconf's check for X11 happy
+DEPENDS = "glib-2.0 fontconfig freetype zlib libx11 libxft libxt gtk-doc cairo"
+DESCRIPTION = "The goal of the Pango project is to provide an \
+Open Source framework for the layout and rendering of \
+internationalized text."
+PR = "r0"
+
+# seems to go wrong with default cflags
+FULL_OPTIMIZATION_arm = "-O2"
+
+SRC_URI = "http://download.gnome.org/sources/pango/1.12/pango-${PV}.tar.bz2 \
+ file://no-tests.patch;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-glibtest \
+ --enable-explicit-deps=no \
+ --disable-debug"
+
+FILES_${PN} = "/etc ${bindir} ${libdir}/libpango*.so.*"
+
+LIBV = "1.5.0"
+
+do_stage () {
+ for lib in pango pangox pangoft2 pangoxft pangocairo; do
+ oe_libinstall -so -C pango lib$lib-1.0 ${STAGING_LIBDIR}/
+ done
+ install -d ${STAGING_INCDIR}/pango
+ install -m 0644 ${S}/pango/pango*.h ${STAGING_INCDIR}/pango/
+}
+
+postinst_prologue() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+}
+
+PACKAGES_DYNAMIC = "pango-module-*"
+
+python populate_packages_prepend () {
+ prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+ modules_root = bb.data.expand('${libdir}/pango/${LIBV}/modules', d)
+
+ do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
+}
diff --git a/meta/packages/pango/pango_1.13.3.bb b/meta/packages/pango/pango_1.13.3.bb
new file mode 100644
index 0000000000..de6346b1cb
--- /dev/null
+++ b/meta/packages/pango/pango_1.13.3.bb
@@ -0,0 +1,49 @@
+LICENSE = "LGPL"
+SECTION = "x11/libs"
+# Xt needed to keep autoconf's check for X11 happy
+DEPENDS = "glib-2.0 fontconfig freetype zlib libx11 libxft libxt gtk-doc cairo"
+DESCRIPTION = "The goal of the Pango project is to provide an \
+Open Source framework for the layout and rendering of \
+internationalized text."
+PR = "r0"
+
+# seems to go wrong with default cflags
+FULL_OPTIMIZATION_arm = "-O2"
+
+SRC_URI = "http://download.gnome.org/sources/pango/1.13/pango-${PV}.tar.bz2 \
+ file://no-tests.patch;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-glibtest \
+ --enable-explicit-deps=no \
+ --disable-debug"
+
+FILES_${PN} = "/etc ${bindir} ${libdir}/libpango*.so.*"
+
+LIBV = "1.5.0"
+
+do_stage () {
+ for lib in pango pangox pangoft2 pangoxft pangocairo; do
+ oe_libinstall -so -C pango lib$lib-1.0 ${STAGING_LIBDIR}/
+ done
+ install -d ${STAGING_INCDIR}/pango
+ install -m 0644 ${S}/pango/pango*.h ${STAGING_INCDIR}/pango/
+}
+
+postinst_prologue() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+}
+
+PACKAGES_DYNAMIC = "pango-module-*"
+
+python populate_packages_prepend () {
+ prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+ modules_root = bb.data.expand('${libdir}/pango/${LIBV}/modules', d)
+
+ do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
+}
diff --git a/meta/packages/pango/pango_1.9.1.bb b/meta/packages/pango/pango_1.9.1.bb
new file mode 100644
index 0000000000..db01079fe1
--- /dev/null
+++ b/meta/packages/pango/pango_1.9.1.bb
@@ -0,0 +1,49 @@
+LICENSE = "LGPL"
+SECTION = "x11/libs"
+# Xt needed to keep autoconf's check for X11 happy
+DEPENDS = "glib-2.0 fontconfig freetype zlib libx11 libxft libxt gtk-doc"
+DESCRIPTION = "The goal of the Pango project is to provide an \
+Open Source framework for the layout and rendering of \
+internationalized text."
+PR = "r0"
+
+# seems to go wrong with default cflags
+FULL_OPTIMIZATION_arm = "-O2"
+
+SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.7/pango-${PV}.tar.bz2 \
+ file://no-tests.patch;patch=1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-glibtest \
+ --enable-explicit-deps=no \
+ --disable-debug"
+
+FILES_${PN} = "/etc ${bindir} ${libdir}/libpango*.so.*"
+
+LIBV = "1.4.0"
+
+do_stage () {
+ for lib in pango pangox pangoft2 pangoxft; do
+ oe_libinstall -so -C pango lib$lib-1.0 ${STAGING_LIBDIR}/
+ done
+ install -d ${STAGING_INCDIR}/pango
+ install -m 0644 ${S}/pango/pango*.h ${STAGING_INCDIR}/pango/
+}
+
+postinst_prologue() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+
+}
+
+PACKAGES_DYNAMIC = "pango-module-*"
+
+python populate_packages_prepend () {
+ prologue = bb.data.getVar("postinst_prologue", d, 1)
+
+ modules_root = bb.data.expand('${libdir}/pango/${LIBV}/modules', d)
+
+ do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules')
+}
diff --git a/meta/packages/pcmanfm/files/emblem-symbolic-link.png b/meta/packages/pcmanfm/files/emblem-symbolic-link.png
new file mode 100644
index 0000000000..b8e559456e
--- /dev/null
+++ b/meta/packages/pcmanfm/files/emblem-symbolic-link.png
Binary files differ
diff --git a/meta/packages/pcmanfm/files/gnome-fs-directory.png b/meta/packages/pcmanfm/files/gnome-fs-directory.png
new file mode 100644
index 0000000000..05921a6689
--- /dev/null
+++ b/meta/packages/pcmanfm/files/gnome-fs-directory.png
Binary files differ
diff --git a/meta/packages/pcmanfm/files/gnome-fs-regular.png b/meta/packages/pcmanfm/files/gnome-fs-regular.png
new file mode 100644
index 0000000000..ce77a8e62d
--- /dev/null
+++ b/meta/packages/pcmanfm/files/gnome-fs-regular.png
Binary files differ
diff --git a/meta/packages/pcmanfm/files/gnome-mime-text-plain.png b/meta/packages/pcmanfm/files/gnome-mime-text-plain.png
new file mode 100644
index 0000000000..bfe4bad56c
--- /dev/null
+++ b/meta/packages/pcmanfm/files/gnome-mime-text-plain.png
Binary files differ
diff --git a/meta/packages/pcmanfm/files/no-fam-gtk2.6.patch b/meta/packages/pcmanfm/files/no-fam-gtk2.6.patch
new file mode 100644
index 0000000000..40ced49d2c
--- /dev/null
+++ b/meta/packages/pcmanfm/files/no-fam-gtk2.6.patch
@@ -0,0 +1,374 @@
+diff -urNd pcmanfm-0.1.9.8.old/configure.in pcmanfm-0.1.9.8/configure.in
+--- pcmanfm-0.1.9.8.old/configure.in 2006-02-08 17:13:05.000000000 +0000
++++ pcmanfm-0.1.9.8/configure.in 2006-02-14 22:53:22.000000000 +0000
+@@ -10,8 +10,12 @@
+ AM_PROG_CC_STDC
+ AC_HEADER_STDC
+
+-pkg_modules="gtk+-2.0 >= 2.8.0 gthread-2.0"
+-PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
++PKG_CHECK_MODULES(PACKAGE, [glib-2.0 >= 2.8.0 gtk+-2.0 >= 2.6.0 gthread-2.0], [
++ PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.8.0], have_gtk28=yes, have_gtk28=no)
++])
++if test x"$have_gtk28" = x"yes"; then
++ AC_DEFINE([HAVE_GTK_2_8],,[Define if you have gtk+-2.0 >= 2.8.0])
++fi
+ AC_SUBST(PACKAGE_CFLAGS)
+ AC_SUBST(PACKAGE_LIBS)
+
+@@ -38,8 +42,8 @@
+ LIBS="$LIBS $FAM_LIBS"
+ AC_CHECK_FUNCS([FAMNoExists])
+ LIBS="$save_LIBS"
+-else
+- AC_MSG_ERROR([Fatal Error: no fam or gamin detected.])
++#else
++# AC_MSG_ERROR([Fatal Error: no fam or gamin detected.])
+ fi
+
+ AC_SUBST([FAM_CFLAGS])
+diff -urNd pcmanfm-0.1.9.8.old/src/foldercontent.c pcmanfm-0.1.9.8/src/foldercontent.c
+--- pcmanfm-0.1.9.8.old/src/foldercontent.c 2006-02-08 18:36:52.000000000 +0000
++++ pcmanfm-0.1.9.8/src/foldercontent.c 2006-02-15 02:51:03.000000000 +0000
+@@ -31,9 +31,11 @@
+ }FolderContentCallback;
+
+ static GHashTable* folder_hash = NULL;
++#ifdef HAVE_FAM_H
+ static FAMConnection fam;
+ static GIOChannel* fam_io_channel = NULL;
+ static guint fam_io_watch = 0;
++#endif
+
+ typedef enum{
+ FCM_FOLDER_VIEW = 1 << 0,
+@@ -58,6 +60,9 @@
+ static FolderContent* folder_content_get( const char* path,
+ FolderContentMode mode,
+ GtkTreeRowReference* tree_parent,
++#ifndef HAVE_GTK_2_8
++ GtkTreeModel* tree_model,
++#endif
+ FolderContentUpdateFunc cb,
+ gpointer user_data );
+
+@@ -72,6 +77,7 @@
+
+ static gboolean connect_to_fam()
+ {
++#ifdef HAVE_FAM_H
+ if( FAMOpen( &fam ) )
+ {
+ fam_io_channel = NULL;
+@@ -100,10 +106,14 @@
+ /*
+ g_print("Connected to FAM server\n");
+ */
++#else
++ return FALSE;
++#endif
+ }
+
+ static void disconnect_from_fam()
+ {
++#ifdef HAVE_FAM_H
+ if( fam_io_channel )
+ {
+ g_io_channel_unref(fam_io_channel);
+@@ -115,6 +125,7 @@
+ g_print("Disonnected from FAM server\n");
+ */
+ }
++#endif
+ }
+
+ /*
+@@ -336,7 +347,11 @@
+ if( ! tree_node )
+ return;
+
++#ifdef HAVE_GTK_2_8
+ tree = gtk_tree_row_reference_get_model (tree_node);
++#else
++ tree = folder_content->tree_model;
++#endif
+ tree_path = gtk_tree_row_reference_get_path (tree_node);
+ if( !tree || !tree_path ){
+ return;
+@@ -428,6 +443,9 @@
+ FolderContent* folder_content_get( const char* path,
+ FolderContentMode mode,
+ GtkTreeRowReference* tree_node,
++#ifndef HAVE_GTK_2_8
++ GtkTreeModel* tree_model,
++#endif
+ FolderContentUpdateFunc callback,
+ gpointer user_data )
+ {
+@@ -467,6 +485,9 @@
+ */
+ if( ! folder_content->tree_node )
+ {
++#ifndef HAVE_GTK_2_8
++ folder_content->tree_model = tree_model;
++#endif
+ folder_content->tree_node = tree_node;
+ dir_tree_sub_folders_new( folder_content );
+ }
+@@ -475,10 +496,12 @@
+
+ /* First new instance */
+ if( add_new ){
++#ifdef HAVE_FAM_H
+ FAMMonitorDirectory( &fam,
+ path,
+ &folder_content->request,
+ folder_content );
++#endif
+ }
+
+ if( callback ) /* Install a callback */
+@@ -548,7 +571,9 @@
+ && 0 >= folder_content->n_ref_tree )
+ {
+ /* g_print("cancel monitor!\n"); */
++#ifdef HAVE_FAM_H
+ FAMCancelMonitor( &fam, &folder_content->request );
++#endif
+ g_hash_table_remove( folder_hash, folder_content->path );
+ g_free( folder_content->path );
+ g_array_free( folder_content->callbacks, TRUE );
+@@ -561,6 +586,7 @@
+ GIOCondition cond,
+ gpointer user_data )
+ {
++#ifdef HAVE_FAM_H
+ FAMEvent evt;
+ FolderContent* content = NULL;
+ GdkPixbuf *folder_icon = get_folder_icon32();
+@@ -613,21 +639,36 @@
+ }
+ }
+ return TRUE;
++#else
++ return FALSE;
++#endif
+ }
+
+ FolderContent* folder_content_list_get( const char* path,
+ FolderContentUpdateFunc cb,
+ gpointer user_data )
+ {
++#ifdef HAVE_GTK_2_8
+ return folder_content_get( path, FCM_FOLDER_VIEW, NULL, cb, user_data );
++#else
++ return folder_content_get( path, FCM_FOLDER_VIEW, NULL, NULL, cb, user_data );
++#endif
+ }
+
+ FolderContent* folder_content_tree_get( const char* path,
+ GtkTreeRowReference* tree_parent,
++#ifndef HAVE_GTK_2_8
++ GtkTreeModel* tree_model,
++#endif
+ FolderContentUpdateFunc cb,
+ gpointer user_data )
+ {
++#ifdef HAVE_GTK_2_8
+ return folder_content_get( path, FCM_DIR_TREE, tree_parent, cb, user_data );
++#else
++ return folder_content_get( path, FCM_DIR_TREE, tree_parent, tree_model, cb,
++ user_data );
++#endif
+ }
+
+ void folder_content_list_unref( FolderContent* folder_content,
+@@ -688,7 +729,11 @@
+ }
+
+ if( content->tree_node ) {
++#ifdef HAVE_GTK_2_8
+ model = gtk_tree_row_reference_get_model( content->tree_node );
++#else
++ model = content->tree_model;
++#endif
+ tree_path = gtk_tree_row_reference_get_path(
+ content->tree_node );
+ gtk_tree_model_get_iter( model, &parent_it, tree_path );
+@@ -724,7 +769,11 @@
+ }
+
+ if( content->tree_node ) {
++#ifdef HAVE_GTK_2_8
+ model = gtk_tree_row_reference_get_model( content->tree_node );
++#else
++ model = content->tree_model;
++#endif
+ tree_path = gtk_tree_row_reference_get_path(
+ content->tree_node );
+ gtk_tree_model_get_iter( model, &parent_it, tree_path );
+@@ -776,7 +825,11 @@
+
+ /* There is no need to update the dir tree currently. */
+ if( content->tree_node ) {
++#ifdef HAVE_GTK_2_8
+ model = gtk_tree_row_reference_get_model( content->tree_node );
++#else
++ model = content->tree_model;
++#endif
+ tree_path = gtk_tree_row_reference_get_path(
+ content->tree_node );
+ gtk_tree_model_get_iter( model, &parent_it, tree_path );
+diff -urNd pcmanfm-0.1.9.8.old/src/foldercontent.h pcmanfm-0.1.9.8/src/foldercontent.h
+--- pcmanfm-0.1.9.8.old/src/foldercontent.h 2006-02-07 10:26:03.000000000 +0000
++++ pcmanfm-0.1.9.8/src/foldercontent.h 2006-02-15 02:13:40.000000000 +0000
+@@ -15,7 +15,12 @@
+
+ #include <gtk/gtk.h>
+ #include <glib.h>
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++#ifdef HAVE_FAM_H
+ #include <fam.h>
++#endif
+
+ /* Columns of folderView */
+ enum{
+@@ -42,10 +47,20 @@
+ typedef struct{
+ GtkListStore* list; /* for Folder View */
+ int n_ref_list; /* reference counting */
++#ifndef HAVE_GTK_2_8
++ GtkTreeModel* tree_model;
++#endif
+ GtkTreeRowReference* tree_node; /* for Dir Tree */
+ int n_ref_tree;
+
++#ifdef HAVE_FAM_H
+ FAMRequest request;
++#else
++ /* A structure the same size as FAMRequest */
++ struct unused {
++ int unused;
++ };
++#endif
+ gchar* path;
+ int n_files;
+
+@@ -82,6 +97,9 @@
+
+ FolderContent* folder_content_tree_get( const char* path,
+ GtkTreeRowReference* tree_node,
++#ifndef HAVE_GTK_2_8
++ GtkTreeModel* tree_model,
++#endif
+ FolderContentUpdateFunc callback,
+ gpointer user_data );
+
+diff -urNd pcmanfm-0.1.9.8.old/src/ptk/ptkfilebrowser.c pcmanfm-0.1.9.8/src/ptk/ptkfilebrowser.c
+--- pcmanfm-0.1.9.8.old/src/ptk/ptkfilebrowser.c 2006-02-09 04:29:32.000000000 +0000
++++ pcmanfm-0.1.9.8/src/ptk/ptkfilebrowser.c 2006-02-15 02:07:16.000000000 +0000
+@@ -31,6 +31,9 @@
+ #include "ptkutils.h"
+
+ #include "settings.h"
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
+
+
+ /* If set to FALSE, all selection changes in folder_view are prevented. */
+@@ -1127,7 +1130,11 @@
+ }
+
+ row_ref = gtk_tree_row_reference_new( store, real_path );
++#ifdef HAVE_GTK_2_8
+ content = folder_content_tree_get( dir_path, row_ref, NULL, NULL );
++#else
++ content = folder_content_tree_get( dir_path, row_ref, model, NULL, NULL );
++#endif
+
+ gtk_tree_model_get_iter( model, &it, tree_path );
+ if( gtk_tree_model_iter_children( model, &child, &it ) ) {
+@@ -1231,12 +1238,15 @@
+ model = ptk_icon_view_get_model( PTK_ICON_VIEW(folder_view) );
+ }
+ else if( file_browser->view_mode == FBVM_LIST_VIEW ) {
++#ifdef HAVE_GTK_2_8
+ if( !gtk_tree_view_get_visible_range ( GTK_TREE_VIEW(folder_view),
+ &start_path, &end_path ) )
+ return;
++#endif
+ model = gtk_tree_view_get_model( GTK_TREE_VIEW(folder_view) );
+ }
+
++#ifdef HAVE_GTK_2_8
+ /*
+ NOTE:It seems that this is a bug of gtk+ 2.8.
+ gtk_tree_view_get_visible_range sometimes returns invalid paths.
+@@ -1252,6 +1262,7 @@
+ gtk_tree_path_free( end_path );
+ return;
+ }
++#endif
+
+ model_sorter = PTK_TREE_MODEL_SORT( gtk_tree_model_filter_get_model(
+ GTK_TREE_MODEL_FILTER(model) ) );
+diff -urNd pcmanfm-0.1.9.8.old/src/ptk/ptkfileiconrenderer.c pcmanfm-0.1.9.8/src/ptk/ptkfileiconrenderer.c
+--- pcmanfm-0.1.9.8.old/src/ptk/ptkfileiconrenderer.c 2006-02-03 04:24:09.000000000 +0000
++++ pcmanfm-0.1.9.8/src/ptk/ptkfileiconrenderer.c 2006-02-15 02:09:00.000000000 +0000
+@@ -346,7 +346,9 @@
+ GdkPixbuf *colorized = NULL;
+ GdkRectangle pix_rect;
+ GdkRectangle draw_rect;
++#ifdef HAVE_GTK_2_8
+ cairo_t *cr;
++#endif
+
+ GtkCellRendererClass* parent_renderer_class;
+
+@@ -432,16 +434,23 @@
+ pixbuf = colorized;
+ }
+ }
++#ifdef HAVE_GTK_2_8
+ cr = gdk_cairo_create (window);
+
+ gdk_cairo_set_source_pixbuf (cr, pixbuf, pix_rect.x, pix_rect.y);
+ gdk_cairo_rectangle (cr, &draw_rect);
+ cairo_fill (cr);
++#else
++ gdk_draw_pixbuf (GDK_DRAWABLE (window), NULL, pixbuf, 0, 0,
++ pix_rect.x, pix_rect.y, pix_rect.width, pix_rect.height,
++ GDK_RGB_DITHER_NORMAL, 0, 0);
++#endif
+
+ if( PTK_FILE_ICON_RENDERER(cell)->file_stat )
+ {
+ if( S_ISLNK(PTK_FILE_ICON_RENDERER(cell)->file_stat->st_mode) )
+ {
++#ifdef HAVE_GTK_2_8
+ gdk_cairo_set_source_pixbuf (cr, link_icon_large,
+ pix_rect.x - 2,
+ pix_rect.y - 2 );
+@@ -449,10 +458,18 @@
+ draw_rect.y -= 2;
+ gdk_cairo_rectangle (cr, &draw_rect);
+ cairo_fill (cr);
++#else
++ gdk_draw_pixbuf (GDK_DRAWABLE (window), NULL, link_icon_large, 0, 0,
++ pix_rect.x - 2, pix_rect.y - 2,
++ -1, -1, GDK_RGB_DITHER_NORMAL,
++ 0, 0);
++#endif
+ }
+ }
+-
++
++#ifdef HAVE_GTK_2_8
+ cairo_destroy (cr);
++#endif
+
+ if (invisible)
+ g_object_unref (invisible);
diff --git a/meta/packages/pcmanfm/files/pcmanfm.desktop b/meta/packages/pcmanfm/files/pcmanfm.desktop
new file mode 100644
index 0000000000..052d38c855
--- /dev/null
+++ b/meta/packages/pcmanfm/files/pcmanfm.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=File Manager
+Exec=/usr/bin/pcmanfm
+Icon=pcmanfm.png
+Terminal=false
+Type=Application
+Categories=Utility;
+SingleInstance=true
+StartupNotify=true
+
diff --git a/meta/packages/pcmanfm/files/pcmanfm.png b/meta/packages/pcmanfm/files/pcmanfm.png
new file mode 100644
index 0000000000..3d35360848
--- /dev/null
+++ b/meta/packages/pcmanfm/files/pcmanfm.png
Binary files differ
diff --git a/meta/packages/pcmanfm/pcmanfm_0.1.9.8.bb b/meta/packages/pcmanfm/pcmanfm_0.1.9.8.bb
new file mode 100644
index 0000000000..f35d0d4454
--- /dev/null
+++ b/meta/packages/pcmanfm/pcmanfm_0.1.9.8.bb
@@ -0,0 +1,29 @@
+LICENSE = "GPL"
+DESCRIPTION = "procfs tools"
+SECTION = "x11"
+PRIORITY = "optional"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DEPENDS = "gtk+"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcmanfm/pcmanfm-${PV}.tar.gz \
+ file://pcmanfm.desktop \
+ file://pcmanfm.png \
+ file://gnome-fs-directory.png \
+ file://gnome-fs-regular.png \
+ file://gnome-mime-text-plain.png \
+ file://emblem-symbolic-link.png \
+ file://no-fam-gtk2.6.patch;patch=1;pnum=1"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps/
+
+ install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/pcmanfm.desktop ${D}/${datadir}/applications
+}
+
+FILES_${PN} += "${datadir}/applications/pcmanfm.desktop ${datadir}/pixmaps/*.png"
+
diff --git a/meta/packages/pcmcia-cs/files/arm/pcmcia b/meta/packages/pcmcia-cs/files/arm/pcmcia
new file mode 100644
index 0000000000..d5346fb13a
--- /dev/null
+++ b/meta/packages/pcmcia-cs/files/arm/pcmcia
@@ -0,0 +1,40 @@
+module_id() {
+ awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+}
+
+
+case `awk 'BEGIN { FS=":" } /Processor/ { gsub(/ /, "", $2) ; print $2 } ' </proc/cpuinfo` in
+ *XScale-PXA2*)
+
+ case "`uname -r`" in
+ 2.4*)
+ PCIC=pxa_cs
+ ;;
+ 2.6*)
+ PCIC=pxa2xx_core
+ ;;
+ esac
+ ;;
+ *StrongARM-1100* | *StrongARM-1110*)
+ PCIC=sa1100_cs
+ ;;
+ *)
+ echo "Unable to determine PCIC value for this CPU"
+ exit 1
+ ;;
+esac
+
+case "`uname -r`" in
+ 2.4*)
+ DS=ds
+ ;;
+ 2.6*)
+ DS=pcmcia
+ ;;
+esac
+
+case `module_id` in
+ "HP iPAQ H3"* | "HP iPAQ H5"*)
+ PCIC_EXTRA=h3600_generic_sleeve
+ ;;
+esac
diff --git a/meta/packages/pcmcia-cs/files/gcc4_fixes.patch b/meta/packages/pcmcia-cs/files/gcc4_fixes.patch
new file mode 100644
index 0000000000..c68ba7a0f9
--- /dev/null
+++ b/meta/packages/pcmcia-cs/files/gcc4_fixes.patch
@@ -0,0 +1,26 @@
+Index: pcmcia-cs-3.2.8/debug-tools/lspnp.c
+===================================================================
+--- pcmcia-cs-3.2.8.orig/debug-tools/lspnp.c 2002-02-13 05:45:01.000000000 +0000
++++ pcmcia-cs-3.2.8/debug-tools/lspnp.c 2005-11-11 23:43:33.000000000 +0000
+@@ -496,7 +496,7 @@
+ dump_io_fixed(r); break;
+ }
+ }
+- (u_char *)p += sz + 1;
++ p = (union pnp_resource *) ((u_char *)p + sz + 1);
+ }
+ return (u_char *)p;
+ }
+Index: pcmcia-cs-3.2.8/debug-tools/setpnp.c
+===================================================================
+--- pcmcia-cs-3.2.8.orig/debug-tools/setpnp.c 2001-10-10 02:58:12.000000000 +0000
++++ pcmcia-cs-3.2.8/debug-tools/setpnp.c 2005-11-11 23:44:32.000000000 +0000
+@@ -163,7 +163,7 @@
+ break;
+ }
+ }
+- (u_char *)p += sz + 1;
++ p = (union pnp_resource *) ((u_char *)p + sz + 1);
+ }
+ return (u_char *)p;
+ }
diff --git a/meta/packages/pcmcia-cs/files/network.conf b/meta/packages/pcmcia-cs/files/network.conf
new file mode 100644
index 0000000000..51a38dd55b
--- /dev/null
+++ b/meta/packages/pcmcia-cs/files/network.conf
@@ -0,0 +1,13 @@
+card "TRENDnet TE-CF100"
+manfid 0x0149, 0xc1ab
+version "Fast Ethernet", "CF Size PC Card", "1.0"
+bind "pcnet_cs"
+
+card "Hawking 10/100 CF Fast Ethernet"
+ manfid 0x0149, 0xc1ab
+ bind "pcnet_cs"
+
+card "Billionton CFLA-100N 10/100 FastEthernet"
+ version "CF", "100Base-Ethernet", "V", "1.0"
+ manfid 0x021b, 0x0202
+ bind "pcnet_cs"
diff --git a/meta/packages/pcmcia-cs/files/pcmcia b/meta/packages/pcmcia-cs/files/pcmcia
new file mode 100644
index 0000000000..c42fea0691
--- /dev/null
+++ b/meta/packages/pcmcia-cs/files/pcmcia
@@ -0,0 +1 @@
+# no defaults for /etc/sysconfig/pcmcia
diff --git a/meta/packages/pcmcia-cs/files/wnv.conf b/meta/packages/pcmcia-cs/files/wnv.conf
new file mode 100644
index 0000000000..f293b67178
--- /dev/null
+++ b/meta/packages/pcmcia-cs/files/wnv.conf
@@ -0,0 +1,14 @@
+device "wnv_cs"
+ module "wnv_cs"
+
+#
+# Winnov PCMCIA Camera
+#
+card "Winnov VideumMPC Camera"
+ version "Winnov", "VideumMPC", "Rev 1.0", ""
+ bind "wnv_cs"
+
+## handhelds.org bugzilla bug 188
+card "Winnov VideumCam Traveler"
+ manfid 0x01a5, 0x0000
+ bind "wnv_cs"
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/automount.patch b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/automount.patch
new file mode 100644
index 0000000000..5f11147eb8
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/automount.patch
@@ -0,0 +1,19 @@
+--- pcmcia-cs-3.2.8/etc/shared.orig 2004-12-15 02:21:11.000000000 +0100
++++ pcmcia-cs-3.2.8/etc/shared 2004-12-27 17:09:51.000000000 +0100
+@@ -55,8 +55,15 @@
+ fi
+ if is_true $DO_MOUNT ; then
+ O=${OPTS:+-o $OPTS} ; FS=${FSTYPE:+-t $FSTYPE}
+- log mount $O $FS $1 $MOUNTPT || return 1
++ if test -x /etc/pcmcia/ide_automount
++ then
++ /etc/pcmcia/ide_automount
++ else
++ log mount $O $FS $1 $MOUNTPT || return 1
++ fi
+ fi
++
++ logger "SHARED [$MOUNTPT] [$1]"
+ return 0
+ }
+
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/busybox.patch b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/busybox.patch
new file mode 100644
index 0000000000..7237f3b813
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/busybox.patch
@@ -0,0 +1,20 @@
+--- pcmcia-cs-3.2.3/etc/shared~ide 2003-03-11 10:26:14.000000000 -0600
++++ pcmcia-cs-3.2.3/etc/shared 2003-03-11 10:32:39.000000000 -0600
+@@ -57,7 +57,7 @@
+ fi
+ if is_true $DO_MOUNT ; then
+ O=${OPTS:+-o $OPTS} ; FS=${FSTYPE:+-t $FSTYPE}
+- log mount -v $O $FS $1 $MOUNTPT || return 1
++ log mount $O $FS $1 $MOUNTPT || return 1
+ fi
+ return 0
+ }
+@@ -85,7 +85,7 @@
+ test -b $1 || return 1
+ do_fuser -k -m $1 > /dev/null
+ if mount | grep -q "$1 on" ; then
+- log umount -v $1 || return 1
++ log umount $1 || return 1
+ fi
+ if is_true $DO_FSTAB ; then
+ grep -v $1 /etc/fstab > /etc/fstab.N
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/ide.opts b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/ide.opts
new file mode 100644
index 0000000000..d13dab0015
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/ide.opts
@@ -0,0 +1,25 @@
+# ATA/IDE drive adapter configuration
+#
+# The address format is "scheme,socket,serial_no[,part]".
+#
+# For multi-partition devices, first return list of partitions in
+# $PARTS. Then, we'll get called for each partition.
+#
+case "$ADDRESS" in
+*,*,*,1)
+ #INFO="Sample IDE setup"
+ DO_FSTAB="n";
+ #DO_FSCK="y" ;
+ DO_MOUNT="y"
+ #FSTYPE="msdos"
+ #FSTYPE="auto"
+ #OPTS=""
+ #MOUNTPT="/mnt/ide"
+ ;;
+*,*,*)
+ PARTS="1"
+ # Card eject policy options
+ NO_CHECK=n
+ NO_FUSER=y
+ ;;
+esac
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/network.patch b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/network.patch
new file mode 100644
index 0000000000..fb808e209c
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/network.patch
@@ -0,0 +1,92 @@
+--- pcmcia-cs/etc/network.old 2004-07-01 00:31:59.000000000 +0100
++++ pcmcia-cs/etc/network 2004-07-01 00:32:57.000000000 +0100
+@@ -31,16 +31,39 @@
+
+ RESOLV=/etc/resolv.conf
+
++# if this interface has an entry in /etc/network/interfaces, let ifupdown
++# handle it
++if grep -q "iface \+$DEVICE" /etc/network/interfaces; then
++ case $ACTION in
++ start)
++ ifup $DEVICE
++ ;;
++ stop)
++ ifdown $DEVICE
++ ;;
++ restart)
++ ifdown $DEVICE
++ ifup $DEVICE
++ ;;
++ esac
++
++ exit 0
++fi
++
++## see if it is a wireless card. Jamey and AntiProxy
++CHECK_WIRELESS=`grep "$DEVICE" /proc/net/wireless`
++if [ -n "$CHECK_WIRELESS" ] ; then
+ # Now, run the specific script for Wireless LAN interfaces
+ # Note : we need the wireless parameters to be set up before IP parameters,
+ # so that we can perform DHCP over the Wireless link if needed. Jean II
+-O_INFO=$INFO ; INFO=
+-if [ -x ./wireless ] ; then
+- . ./wireless
+-else
+- . /etc/pcmcia/wireless
++ O_INFO=$INFO ; INFO=
++ if [ -x ./wireless ] ; then
++ . ./wireless
++ else
++ . /etc/pcmcia/wireless
++ fi
++ INFO=$O_INFO
+ fi
+-INFO=$O_INFO
+
+ bootp_setup ()
+ {
+@@ +225,6 -188,11 @@
+ fi
+ /sbin/dhcpcd -XYZZY 2>&1 | grep -q DHCP || \
+ rm -f /var/run/dhcpcd-$DEVICE.pid
++ # modified for udhcpc
++ elif [ -x /sbin/udhcpc ] ; then
++ PID=`cat /var/run/udhcpc.$DEVICE.pid 2>/dev/null`
++ if [ -n "$PID" ] ; then kill -TERM $PID ; fi
++ # end of modification
+ elif [ -x /sbin/dhclient ] ; then
+ PID=`cat /var/run/dhclient.pid 2>/dev/null`
+ if [ -n "$PID" ] ; then kill -TERM $PID ; fi
+@@ +282,7 -250,30 @@
+ [ -n "$IPADDR" ] && /sbin/ifconfig $DEVICE down up
+ ;;
+
++'resume')
++ #logger RESUME EVENT PCMCIA SEEN FROM CARDMGR
++ if [ -z "$IPADDR" ] || is_true $DHCP ; then
++ if [ ! -x /sbin/dhcpcd ] && [ -x /sbin/udhcpc ] ; then
++ PID=`cat /var/run/udhcpc.$DEVICE.pid 2>/dev/null`
++ if [ -n "$PID" ] ; then
++ kill -USR1 $PID
++ fi
++ fi
++ fi
++ ;;
++
++'suspend')
++ #logger SUSPEND EVENT SEEN FROM CARDMGR
++# ## uncomment this code below if you get problems where
++# ## you are getting in IP conflict upon resume on DHCP networks
++# if [ -z "$IPADDR" ] || is_true $DHCP ; then
++# if [ ! -x /sbin/dhcpcd ] && [ -x /sbin/udhcpc ] ; then
++# PID=`cat /var/run/udhcpc.$DEVICE.pid 2>/dev/null`
++# if [ -n "$PID" ] ; then
++# ifconfig $DEVICE 0.0.0.0
++# fi
++# fi
++# fi
+-'suspend'|'resume')
+ ;;
+
+ *)
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/no-hostap-cards.patch b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/no-hostap-cards.patch
new file mode 100644
index 0000000000..1c1dd54356
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/no-hostap-cards.patch
@@ -0,0 +1,124 @@
+--- pcmcia-cs/etc/config.orig 2004-07-16 18:38:25.000000000 +0200
++++ pcmcia-cs/etc/config 2005-10-03 13:02:49.000000000 +0200
+@@ -1151,10 +1151,6 @@
+ #
+ # Wireless network adapters
+ #
+-card "Intersil PRISM2 11 Mbps Wireless Adapter"
+- manfid 0x0156, 0x0002
+- bind "orinoco_cs"
+-
+ card "350 Series Wireless LAN Adapter"
+ manfid 0x015f, 0x000a
+ bind "airo_cs"
+@@ -1180,25 +1176,11 @@
+ manfid 0x015f, 0x0007
+ bind "airo_cs"
+
+-card "Airvast WN-100"
+- #version "WLAN", "PRISM PCMCIA CARD"
+- manfid 0x50c2, 0x7300
+- bind "orinoco_cs"
+-
+-card "AirWay 802.11 Adapter (PCMCIA)"
+- #version "AirWay", "802.11 Adapter (PCMCIA)"
+- manfid 0x0261, 0x0002
+- bind "orinoco_cs"
+-
+ card "ARtem Onair Version 1.0"
+ #version "ARtem", "Onair", "Version 1.0"
+ manfid 0x0268, 0x0001
+ bind "orinoco_cs"
+
+-card "ASUS SpaceLink WL-100"
+- manfid 0x02aa, 0x0002
+- bind "orinoco_cs"
+-
+ card "AT&T WaveLAN Adapter"
+ version "AT&T", "WaveLAN/PCMCIA"
+ bind "wavelan_cs"
+@@ -1215,18 +1197,6 @@
+ version "Cabletron", "RoamAbout 802.11 DS"
+ bind "orinoco_cs"
+
+-card "Compaq WL100 11 Mbps Wireless Adapter"
+- manfid 0x0138, 0x0002
+- bind "orinoco_cs"
+-
+-card "Compaq HNW-100 11 Mbps Wireless Adapter"
+- manfid 0x028a, 0x0002
+- bind "orinoco_cs"
+-
+-card "Conceptronic CON11Cpro"
+- manfid 0xc250, 0x0002
+- bind "orinoco_cs"
+-
+ card "Corega PCC-11"
+ version "corega K.K.", "Wireless LAN PCC-11"
+ bind "orinoco_cs"
+@@ -1247,10 +1217,6 @@
+ version "D", "Link DRC-650 11Mbps WLAN Card"
+ bind "orinoco_cs"
+
+-card "D-Link DCF660"
+- manfid 0xd601, 0x0005
+- bind "orinoco_cs"
+-
+ card "ELSA AirLancer MC-11"
+ version "ELSA", "AirLancer MC-11"
+ bind "orinoco_cs"
+@@ -1275,14 +1241,6 @@
+ version "Instant Wireless ", " Network PC CARD", "Version 01.02"
+ bind "orinoco_cs"
+
+-card "Linksys WPC11 11Mbps 802.11b WLAN Card"
+- manfid 0x0274, 0x1613
+- bind "orinoco_cs"
+-
+-card "Linksys WCF12 Wireless CompactFlash Card"
+- manfid 0x028a, 0x0673
+- bind "orinoco_cs"
+-
+ card "Lucent Technologies WaveLAN/IEEE Adapter"
+ version "Lucent Technologies", "WaveLAN/IEEE"
+ bind "orinoco_cs"
+@@ -1343,27 +1301,10 @@
+ manfid 0x01a6, 0x0000
+ bind "ray_cs"
+
+-card "Safeway 802.11b Wireless Adapter"
+- manfid 0xd601, 0x0002
+- bind "orinoco_cs"
+-
+ card "SAMSUNG 11Mbps WLAN Card"
+ version "SAMSUNG", "11Mbps WLAN Card"
+ bind "orinoco_cs"
+
+-card "Sandisk Connect SDWCFB-000"
+- manfid 0xd601, 0x0005
+- bind "orinoco_cs"
+-
+-card "Sohoware NCP110"
+- manfid 0x000b,0x7300
+- bind "orinoco_cs"
+-
+-card "SpeedStream SS1021 Wireless Adapter"
+- #version "Siemens", "SpeedStream Wireless PCMCIA"
+- manfid 0x02ac, 0x0002
+- bind "orinoco_cs"
+-
+ card "Xircom CreditCard Netwave"
+ version "Xircom", "CreditCard Netwave"
+ bind "netwave_cs"
+@@ -1372,11 +1313,6 @@
+ manfid 0x0105, 0x0007
+ bind "airo_cs"
+
+-card "ZCOMAX AirRunner/XI-300"
+- #version "ZCOMAX", "AirRunner/XI-300"
+- manfid 0xd601, 0x0002
+- bind "orinoco_cs"
+-
+ #
+ # Modems and other serial devices
+ #
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/nocleanup.patch b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/nocleanup.patch
new file mode 100644
index 0000000000..afebb5a9b9
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/nocleanup.patch
@@ -0,0 +1,11 @@
+--- pcmcia-cs-3.2.8/etc/rc.pcmcia.orig 2005-04-22 23:14:56.308784152 +0100
++++ pcmcia-cs-3.2.8/etc/rc.pcmcia 2005-04-22 23:15:34.637957232 +0100
+@@ -140,7 +140,7 @@
+ echo -n "Shutting down PCMCIA services: "
+ if [ -s /var/run/cardmgr.pid ] ; then
+ PID=`cat /var/run/cardmgr.pid`
+- kill $PID
++ kill -9 $PID
+ # Give cardmgr a few seconds to handle the signal
+ for N in 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 ; do
+ kill -0 $PID 2>/dev/null || break
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/pcic-extra.patch b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/pcic-extra.patch
new file mode 100644
index 0000000000..541c4edf71
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/pcic-extra.patch
@@ -0,0 +1,30 @@
+--- pcmcia-cs-3.2.8/etc/rc.pcmcia~pcic-extra
++++ pcmcia-cs-3.2.8/etc/rc.pcmcia
+@@ -104,11 +104,17 @@ for x in "1" ; do
+ (/sbin/modprobe yenta_socket >/dev/null 2>&1 &&
+ echo "using yenta_socket instead of $PCIC") ||
+ /sbin/modprobe $PCIC $PCIC_OPTS || break
+- /sbin/modprobe ds || break
++ /sbin/modprobe $DS || break
++ if [ "x$PCIC_EXTRA" != "x" ]; then
++ /sbin/modprobe $PCIC_EXTRA
++ fi
+ elif [ -d $PC ] ; then
+ /sbin/insmod $PC/pcmcia_core.o $CORE_OPTS
+ /sbin/insmod $PC/$PCIC.o $PCIC_OPTS
+ /sbin/insmod $PC/ds.o
++ if [ "x$PCIC_EXTRA" != "x" ]; then
++ /sbin/insmod $PC/$PCIC_EXTRA
++ fi
+ else
+ echo "module directory $PC not found."
+ break
+@@ -154,7 +160,7 @@ for x in "1" ; do
+ ;;
+
+ status)
+- pid=`/sbin/pidof cardmgr`
++ pid=`/bin/pidof cardmgr`
+ if [ "$pid" != "" ] ; then
+ echo "cardmgr (pid $pid) is running..."
+ EXITCODE=0
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/ratoc-cfu1u.patch b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/ratoc-cfu1u.patch
new file mode 100644
index 0000000000..069aa65bdd
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/ratoc-cfu1u.patch
@@ -0,0 +1,23 @@
+--- pcmcia-cs/etc/config 2005-02-06 17:02:39.714620456 +1300
++++ pcmcia-cs/etc/config 2005-02-06 17:05:06.123362944 +1300
+@@ -131,6 +131,9 @@
+ device "ohci1394_cb"
+ class "ieee1394" module "cb_enabler", "ohci1394_cb"
+
++device "hc_sl811_cs"
++ class "usb" module "usbcore", "hc_sl811", "hc_sl811_cs"
++
+ # dummy drivers
+
+ device "dummy_cs" module "dummy_cs"
+@@ -2169,6 +2172,10 @@
+ manfid 0x0137, 0x0003
+ bind "parport_cs"
+
++card "RATOC USB HOST CF+ Card"
++ manfid 0xc015, 0x0001
++ bind "hc_sl811_cs"
++
+ card "TELES S0/PC ISDN"
+ version "TELES", "S0/PC"
+ bind "teles_cs"
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/spitz/ide.opts b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/spitz/ide.opts
new file mode 100644
index 0000000000..c67df8e348
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/spitz/ide.opts
@@ -0,0 +1,28 @@
+# ATA/IDE drive adapter configuration
+#
+# The address format is "scheme,socket,serial_no[,part]".
+#
+# For multi-partition devices, first return list of partitions in
+# $PARTS. Then, we'll get called for each partition.
+#
+case "$ADDRESS" in
+*,1,*,*)
+ # Socket 1 is the internal HD; don't do anything clever as it's /
+ ;;
+*,*,*,1)
+ #INFO="Sample IDE setup"
+ DO_FSTAB="n";
+ #DO_FSCK="y" ;
+ DO_MOUNT="y"
+ #FSTYPE="msdos"
+ #FSTYPE="auto"
+ #OPTS=""
+ #MOUNTPT="/mnt/ide"
+ ;;
+*,*,*)
+ PARTS="1"
+ # Card eject policy options
+ NO_CHECK=n
+ NO_FUSER=y
+ ;;
+esac
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/wireless.opts b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/wireless.opts
new file mode 100644
index 0000000000..3e498297fc
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs-3.2.8/wireless.opts
@@ -0,0 +1,47 @@
+# Wireless LAN adapter configuration
+#
+# Theory of operation :
+#
+# The script attempts to match a block of settings to the specific wireless
+# card inserted, the *first* block matching the card is used.
+# The address format is "scheme,socket,instance,hwaddr", with * as a wildcard.
+# 'scheme' is the pcmcia scheme (set via 'cardctl scheme XXX').
+# 'hwaddr' is the unique MAC address identifier of the wireless card.
+# The MAC address is usually printed on the card, or can be found via ifconfig.
+# Some examples here use only half of the MAC address with a wildcard to
+# match a whole family of cards...
+#
+# All the Wireless specific configuration is done through the Wireless
+# Extensions, so we will just call 'iwconfig' with the right parameters
+# defined below.
+# Of course, you need to have iwconfig installled on your system.
+# To download iwconfig, or for more info on Wireless Extensions :
+# http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
+#
+# Note : you don't need to fill all parameters, leave them blank, in most
+# cases the driver will initialise itself with sane defaults values or
+# automatically figure out the value... And no drivers do support all
+# possible settings...
+#
+# If you make any mistakes, you'll get a cryptic message in the system
+# log. You'll need to figure out on your own which parameter was wrong:
+# cardmgr[310]: executing: './network start wvlan0'
+# cardmgr[310]: + SIOCSIWMODE: Invalid argument
+# I've tried to give more troubleshooting help at :
+# http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html#debug
+# In case of doubts, just check "/etc/pcmcia/wireless" for the gory details...
+#
+# Note also that this script will work only with the original Pcmcia scripts,
+# and not with the default Red Hat scripts. Send a bug report to Red Hat ;-)
+#
+# Finally, send comments and flames to me, Jean Tourrilhes <jt@hpl.hp.com>
+#
+
+case "$ADDRESS" in
+*,*,*,*)
+ INFO="Default Config"
+ ESSID=any
+ MODE=Managed
+ RATE=auto
+ ;;
+esac
diff --git a/meta/packages/pcmcia-cs/pcmcia-cs_3.2.8.bb b/meta/packages/pcmcia-cs/pcmcia-cs_3.2.8.bb
new file mode 100644
index 0000000000..1db3006e14
--- /dev/null
+++ b/meta/packages/pcmcia-cs/pcmcia-cs_3.2.8.bb
@@ -0,0 +1,102 @@
+DESCRIPTION = "Utilities and system configuration files for the Linux PCMCIA card services"
+SECTION = "base"
+PRIORITY = "required"
+LICENSE = "GPL"
+DEPENDS = "virtual/kernel"
+PR = "r27"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/pcmcia-cs/pcmcia-cs-${PV}.tar.gz \
+ file://busybox.patch;patch=1 \
+ file://network.patch;patch=1 \
+ file://pcic-extra.patch;patch=1 \
+ file://automount.patch;patch=1 \
+ file://ratoc-cfu1u.patch;patch=1 \
+ file://no-hostap-cards.patch;patch=1 \
+ file://gcc4_fixes.patch;patch=1 \
+ file://pcmcia \
+ file://ide.opts \
+ file://wireless.opts \
+ file://network.conf \
+ file://wnv.conf"
+
+SRC_URI_append_spitz = " file://nocleanup.patch;patch=1"
+S = "${WORKDIR}/pcmcia-cs-${PV}"
+
+INITSCRIPT_NAME = "pcmcia"
+INITSCRIPT_PARAMS = "defaults"
+
+inherit update-rc.d module-base
+
+export KERNEL_SOURCE = ${@base_read_file('${STAGING_KERNEL_DIR}/kernel-source')}
+
+sbindir = "/sbin"
+
+do_configure() {
+ touch .prereq.ok
+ touch config.out
+ cat >config.mk <<EOF
+UCC=${CC}
+UFLAGS=${CFLAGS} -I${S}/include
+HAS_WORDEXP=y
+SYSV_INIT=y
+RC_DIR=/etc
+CONFIG_PNP_BIOS=n
+ARCH=${ARCH}
+CONFIG_CARDBUS=n
+CONFIG_PCMCIA=y
+CONFIG_INET=y
+CONFIG_SCSI=y
+DO_IDE=y
+EOF
+ cat >include/pcmcia/autoconf.h <<EOF
+#define HAS_WORDEXP 1
+EOF
+}
+
+do_compile() {
+ oe_runmake all HAS_XPM= FLIBS="" XMANDIR=""
+}
+
+INSTALL_ETC = "ftl ide ieee1394 memory network parport scsi serial wireless"
+INSTALL_ETC_DATA = "config config.opts ftl.opts ieee1394.opts memory.opts network.opts parport.opts scsi.opts serial.opts shared"
+INSTALL_ETC_DATA_arm = "config ftl.opts ieee1394.opts memory.opts network.opts parport.opts scsi.opts serial.opts shared"
+
+do_install() {
+ install -d ${D}${sbindir}
+ for f in cardmgr/cardctl cardmgr/cardmgr cardmgr/ide_info cardmgr/ifport cardmgr/ifuser cardmgr/pcinitrd flash/ftl_check flash/ftl_format
+ do
+ install -m 0755 $f ${D}${sbindir}/
+ done
+ install -d ${D}${sysconfdir}/init.d \
+ ${D}${sysconfdir}/pcmcia \
+ ${D}${sysconfdir}/pcmcia/cis
+
+ install -m 0644 ${WORKDIR}/network.conf ${D}${sysconfdir}/pcmcia/
+ install -m 0644 ${WORKDIR}/wnv.conf ${D}${sysconfdir}/pcmcia/
+
+ for i in ${INSTALL_ETC}; do
+ install -m 0755 etc/${i} ${D}${sysconfdir}/pcmcia/
+ done
+ for i in ${INSTALL_ETC_DATA}; do
+ install -m 0644 etc/${i} ${D}${sysconfdir}/pcmcia/
+ done
+
+ # ensure that config.opts always exists, albeit empty
+ echo >> ${D}${sysconfdir}/pcmcia/config.opts
+
+ install -m 0644 ${WORKDIR}/ide.opts ${D}${sysconfdir}/pcmcia/
+ install -m 0644 ${WORKDIR}/wireless.opts ${D}${sysconfdir}/pcmcia/
+ for i in etc/cis/*; do
+ install -m 0644 $i ${D}${sysconfdir}/pcmcia/cis/
+ done
+ install -m 0755 etc/rc.pcmcia ${D}${sysconfdir}/init.d/pcmcia
+ install -d ${D}${sysconfdir}/sysconfig
+ install -m 0755 ${WORKDIR}/pcmcia ${D}${sysconfdir}/sysconfig/pcmcia
+}
+
+PACKAGES =+ "${PN}-ftl ${PN}-pcinitrd"
+
+FILES_${PN} = "${sbindir} ${sysconfdir}"
+FILES_${PN}-ftl = "/sbin/ftl_format /sbin/ftl_check /etc/pcmcia/ftl*"
+FILES_${PN}-pcinitrd = "/sbin/pcinitrd"
+
diff --git a/meta/packages/pcmciautils/pcmciautils-013/makefile_fix.patch b/meta/packages/pcmciautils/pcmciautils-013/makefile_fix.patch
new file mode 100644
index 0000000000..a45f9e20e3
--- /dev/null
+++ b/meta/packages/pcmciautils/pcmciautils-013/makefile_fix.patch
@@ -0,0 +1,20 @@
+Hardcoded paths are bad...
+
+Index: pcmciautils-013/Makefile
+===================================================================
+--- pcmciautils-013.orig/Makefile 2006-03-26 11:56:41.000000000 +0100
++++ pcmciautils-013/Makefile 2006-05-09 22:10:16.000000000 +0100
+@@ -69,11 +69,11 @@
+ mandir = ${prefix}/usr/share/man
+ srcdir = .
+
+-INSTALL = /usr/bin/install -c
++INSTALL = install -c
+ INSTALL_PROGRAM = ${INSTALL}
+ INSTALL_DATA = ${INSTALL} -m 644
+ INSTALL_SCRIPT = ${INSTALL_PROGRAM}
+-SYMLINK = /usr/bin/ln -sf
++SYMLINK = ln -sf
+
+ # place to put our hotplug scripts nodes
+ hotplugdir = ${etcdir}/hotplug
diff --git a/meta/packages/pcmciautils/pcmciautils-013/version_workaround.patch b/meta/packages/pcmciautils/pcmciautils-013/version_workaround.patch
new file mode 100644
index 0000000000..ff34e139b3
--- /dev/null
+++ b/meta/packages/pcmciautils/pcmciautils-013/version_workaround.patch
@@ -0,0 +1,16 @@
+PCMCIAUTILS_VERSION is specified on the commandline but doesn't compile properly
+under arm gcc 3.4.x so we work around it.
+
+Index: pcmciautils-013/src/pccardctl.c
+===================================================================
+--- pcmciautils-013.orig/src/pccardctl.c 2006-03-26 11:56:41.000000000 +0100
++++ pcmciautils-013/src/pccardctl.c 2006-05-09 22:11:09.000000000 +0100
+@@ -350,7 +350,7 @@
+ }
+
+ static void print_header(void) {
+- printf("pcmciautils %s\n", PCMCIAUTILS_VERSION);
++ printf("pcmciautils 013\n");
+ printf("Copyright (C) 2004-2005 Dominik Brodowski, (C) 1999 David A. Hinds\n");
+ printf("Report errors and bugs to <linux-pcmcia@lists.infradead.org>, please.\n");
+ }
diff --git a/meta/packages/pcmciautils/pcmciautils_010.bb b/meta/packages/pcmciautils/pcmciautils_010.bb
new file mode 100644
index 0000000000..8045a0e442
--- /dev/null
+++ b/meta/packages/pcmciautils/pcmciautils_010.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Linux Kernel 2.6 Userland Utilities for the PCMCIA Subsystem"
+DEPENDS = "sysfsutils udev module-init-tools"
+RDEPENDS = "udev module-init-tools"
+HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html"
+SECTION = "kernel/userland"
+PRIORITY = "optional"
+
+SRC_URI = "http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmciautils-${PV}.tar.bz2"
+S = "${WORKDIR}/pcmciautils-${PV}"
+
+PR = "r3"
+
+export HOSTCC = "${BUILD_CC}"
+export etcdir = "${sysconfdir}"
+export sbindir = "${base_sbindir}"
+export pcmciaconfdir = "${sysconfdir}/pcmcia"
+export udevrulesdir = "${sysconfdir}/udev/rules.d"
+export UDEV = 1
+LD = "${CC}"
+CFLAGS =+ "-I${S}/src"
+CFLAGS =+ '-DPCMCIAUTILS_VERSION=010'
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = "-e 'STRIP=echo' 'LIB_OBJS=-lc -lsysfs'"
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+CONFFILES_${PN} += "${sysconfdir}/pcmcia/config.opts"
+RCONFLICTS_${PN} += "pcmcia-cs"
diff --git a/meta/packages/pcmciautils/pcmciautils_013.bb b/meta/packages/pcmciautils/pcmciautils_013.bb
new file mode 100644
index 0000000000..3dde683012
--- /dev/null
+++ b/meta/packages/pcmciautils/pcmciautils_013.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Linux Kernel 2.6 Userland Utilities for the PCMCIA Subsystem"
+DEPENDS = "sysfsutils udev module-init-tools"
+RDEPENDS = "udev module-init-tools"
+HOMEPAGE = "http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html"
+SECTION = "kernel/userland"
+PRIORITY = "optional"
+
+SRC_URI = "http://kernel.org/pub/linux/utils/kernel/pcmcia/pcmciautils-${PV}.tar.bz2 \
+ file://makefile_fix.patch;patch=1 \
+ file://version_workaround.patch;patch=1"
+S = "${WORKDIR}/pcmciautils-${PV}"
+
+PR = "r0"
+
+export HOSTCC = "${BUILD_CC}"
+export etcdir = "${sysconfdir}"
+export sbindir = "${base_sbindir}"
+export pcmciaconfdir = "${sysconfdir}/pcmcia"
+export udevrulesdir = "${sysconfdir}/udev/rules.d"
+export UDEV = 1
+LD = "${CC}"
+CFLAGS =+ "-I${S}/src"
+CFLAGS =+ '-DPCMCIAUTILS_VERSION=013'
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = "-e 'STRIP=echo' 'LIB_OBJS=-lc -lsysfs'"
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+CONFFILES_${PN} += "${sysconfdir}/pcmcia/config.opts"
+RCONFLICTS_${PN} += "pcmcia-cs"
diff --git a/meta/packages/perl/files/Configure-multilib.patch b/meta/packages/perl/files/Configure-multilib.patch
new file mode 100644
index 0000000000..d3948a92c0
--- /dev/null
+++ b/meta/packages/perl/files/Configure-multilib.patch
@@ -0,0 +1,11 @@
+--- perl-5.8.7/Configure.orig 2006-01-30 10:50:04.000000000 +0000
++++ perl-5.8.7/Configure 2006-01-30 10:51:18.000000000 +0000
+@@ -1240,7 +1240,7 @@
+ loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
+
+ : general looking path for locating libraries
+-glibpth="/lib /usr/lib $xlibpth"
++glibpth="/lib /usr/lib /lib64 /usr/lib64 $xlibpth"
+ glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
+ test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
+ test -f /shlib/libc.so && glibpth="/shlib $glibpth"
diff --git a/meta/packages/perl/files/Makefile.SH.patch b/meta/packages/perl/files/Makefile.SH.patch
new file mode 100644
index 0000000000..35a4e6dfde
--- /dev/null
+++ b/meta/packages/perl/files/Makefile.SH.patch
@@ -0,0 +1,298 @@
+*** ./Makefile.SH Wed Aug 4 12:16:15 2004
+--- ./Makefile.SH.patch Wed Aug 4 14:03:42 2004
+***************
+*** 110,127 ****
+ # INSTALL file, under "Building a shared perl library".
+ # If there is no pre-existing $libperl, we don't need
+ # to do anything further.
+! if test -f $archlib/CORE/$libperl; then
+! rm -f preload
+! cat <<'EOT' > preload
+! #! /bin/sh
+! lib=$1
+! shift
+! test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
+! exec "$@"
+! EOT
+! chmod 755 preload
+! ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
+! fi
+ ;;
+ os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+ ;;
+--- 110,116 ----
+ # INSTALL file, under "Building a shared perl library".
+ # If there is no pre-existing $libperl, we don't need
+ # to do anything further.
+! echo linux libraries overwritten by cross-compile patches
+ ;;
+ os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+ ;;
+***************
+*** 349,357 ****
+ .c.s:
+ $(CCCMDSRC) -S $*.c
+
+! all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
+! @echo " ";
+! @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
+
+ .PHONY: all compile translators utilities
+
+--- 338,358 ----
+ .c.s:
+ $(CCCMDSRC) -S $*.c
+
+! #all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
+! # @echo " ";
+! # @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
+!
+! all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT)
+! mv miniperl miniperl-cross
+! ln -s hostperl miniperl
+!
+! more: extra.pods $(private) $(public)
+!
+! more2: $(dynamic_ext)
+!
+! more3: $(nonxs_ext)
+!
+! more4: extras.make
+
+ .PHONY: all compile translators utilities
+
+***************
+*** 361,370 ****
+ cd x2p; $(MAKE) compile;
+ cd pod; $(MAKE) compile;
+
+! translators: miniperl$(EXE_EXT) lib/Config.pm FORCE
+ @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all
+
+! utilities: miniperl$(EXE_EXT) lib/Config.pm $(plextract) lib/lib.pm FORCE
+ @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
+
+
+--- 362,371 ----
+ cd x2p; $(MAKE) compile;
+ cd pod; $(MAKE) compile;
+
+! translators: lib/Config.pm FORCE
+ @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all
+
+! utilities: lib/Config.pm $(plextract) lib/lib.pm FORCE
+ @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
+
+
+***************
+*** 541,547 ****
+ $(CC) -o miniperl $(CLDFLAGS) \
+ `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+! $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ beos*|next4*)
+--- 542,548 ----
+ $(CC) -o miniperl $(CLDFLAGS) \
+ `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+! # $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ beos*|next4*)
+***************
+*** 549,555 ****
+ miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
+ $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+! $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ darwin*)
+--- 550,556 ----
+ miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
+ $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+! # $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ darwin*)
+***************
+*** 716,722 ****
+ # We need to autosplit in two steps because VOS can't handle so many args
+ #
+ .PHONY: preplibrary
+! preplibrary: miniperl$(EXE_EXT) lib/Config.pm lib/lib.pm $(PREPLIBRARY_LIBPERL)
+ @sh ./makedir lib/auto
+ @echo " AutoSplitting perl library"
+ $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
+--- 717,723 ----
+ # We need to autosplit in two steps because VOS can't handle so many args
+ #
+ .PHONY: preplibrary
+! preplibrary: lib/Config.pm lib/lib.pm $(PREPLIBRARY_LIBPERL)
+ @sh ./makedir lib/auto
+ @echo " AutoSplitting perl library"
+ $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
+***************
+*** 728,738 ****
+ # Take care to avoid modifying lib/Config.pm without reason
+ # (If trying to create a new port and having problems with the configpm script,
+ # try 'make minitest' and/or commenting out the tests at the end of configpm.)
+! lib/Config.pm: config.sh miniperl$(EXE_EXT) configpm Porting/Glossary
+ $(LDLIBPTH) ./miniperl -Ilib configpm configpm.tmp
+ sh mv-if-diff configpm.tmp $@
+
+! lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl lib/Config.pm
+ $(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp
+ sh mv-if-diff minimod.tmp $@
+ -touch lib/ExtUtils/Miniperl.pm
+--- 729,739 ----
+ # Take care to avoid modifying lib/Config.pm without reason
+ # (If trying to create a new port and having problems with the configpm script,
+ # try 'make minitest' and/or commenting out the tests at the end of configpm.)
+! lib/Config.pm: config.sh configpm Porting/Glossary
+ $(LDLIBPTH) ./miniperl -Ilib configpm configpm.tmp
+ sh mv-if-diff configpm.tmp $@
+
+! lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl lib/Config.pm
+ $(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp
+ sh mv-if-diff minimod.tmp $@
+ -touch lib/ExtUtils/Miniperl.pm
+***************
+*** 740,757 ****
+ lib/re.pm: ext/re/re.pm
+ cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm
+
+! $(plextract): miniperl$(EXE_EXT) lib/Config.pm x2p/s2p
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib $@.PL
+
+! x2p/s2p: miniperl$(EXE_EXT) lib/Config.pm x2p/s2p.PL
+ cd x2p; $(LDLIBPTH) $(MAKE) s2p
+
+! lib/lib.pm: miniperl$(EXE_EXT) lib/Config.pm
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib lib/lib_pm.PL
+
+! extra.pods: miniperl$(EXE_EXT)
+ -@test -f extra.pods && rm -f `cat extra.pods`
+ -@rm -f extra.pods
+ -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
+--- 741,758 ----
+ lib/re.pm: ext/re/re.pm
+ cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm
+
+! $(plextract): lib/Config.pm x2p/s2p
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib $@.PL
+
+! x2p/s2p: lib/Config.pm x2p/s2p.PL
+ cd x2p; $(LDLIBPTH) $(MAKE) s2p
+
+! lib/lib.pm: lib/Config.pm
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib lib/lib_pm.PL
+
+! extra.pods:
+ -@test -f extra.pods && rm -f `cat extra.pods`
+ -@rm -f extra.pods
+ -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
+***************
+*** 798,815 ****
+ INSTALL_DEPENDENCE = all
+
+ install.perl: $(INSTALL_DEPENDENCE) installperl
+! if [ -n "$(COMPILE)" ]; \
+! then \
+! cd utils; $(MAKE) compile; \
+! cd ../x2p; $(MAKE) compile; \
+! cd ../pod; $(MAKE) compile; \
+! else :; \
+! fi
+! $(LDLIBPTH) ./perl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
+! $(MAKE) extras.install
+!
+! install.man: all installman
+! $(LDLIBPTH) ./perl installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
+
+ # XXX Experimental. Hardwired values, but useful for testing.
+ # Eventually Configure could ask for some of these values.
+--- 799,805 ----
+ INSTALL_DEPENDENCE = all
+
+ install.perl: $(INSTALL_DEPENDENCE) installperl
+! hostperl -Ifake_config_library -MConfig installperl $(INSTALLFLAGS) $(STRIPFLAGS)
+
+ # XXX Experimental. Hardwired values, but useful for testing.
+ # Eventually Configure could ask for some of these values.
+***************
+*** 925,940 ****
+ #
+ # DynaLoader may be needed for extensions that use Makefile.PL.
+
+! $(DYNALOADER): miniperl$(EXE_EXT) preplibrary FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+ .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
+--- 915,930 ----
+ #
+ # DynaLoader may be needed for extensions that use Makefile.PL.
+
+! $(DYNALOADER): preplibrary FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! d_dummy $(dynamic_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! s_dummy $(static_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+! n_dummy $(nonxs_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+ .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
+***************
+*** 1074,1080 ****
+
+ test_prep_pre: preplibrary utilities $(nonxs_ext)
+
+! test_prep: test_prep_pre miniperl$(EXE_EXT) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
+ PERL=./perl $(MAKE) _test_prep
+
+ _test_tty:
+--- 1064,1070 ----
+
+ test_prep_pre: preplibrary utilities $(nonxs_ext)
+
+! test_prep: test_prep_pre perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
+ PERL=./perl $(MAKE) _test_prep
+
+ _test_tty:
+***************
+*** 1167,1173 ****
+
+ # Can't depend on lib/Config.pm because that might be where miniperl
+ # is crashing.
+! minitest: miniperl$(EXE_EXT) lib/re.pm
+ -@test -f lib/lib.pm && test -f lib/Config.pm || \
+ $(MAKE) lib/Config.pm lib/lib.pm
+ @echo " "
+--- 1157,1163 ----
+
+ # Can't depend on lib/Config.pm because that might be where miniperl
+ # is crashing.
+! minitest: lib/re.pm
+ -@test -f lib/lib.pm && test -f lib/Config.pm || \
+ $(MAKE) lib/Config.pm lib/lib.pm
+ @echo " "
diff --git a/meta/packages/perl/files/Makefile.patch b/meta/packages/perl/files/Makefile.patch
new file mode 100644
index 0000000000..eec127643b
--- /dev/null
+++ b/meta/packages/perl/files/Makefile.patch
@@ -0,0 +1,23 @@
+*** ./Cross/Makefile 2004-01-12 13:44:01.000000000 -0700
+--- ./Cross/Makefile.patch 2004-08-03 16:34:18.000000000 -0700
+***************
+*** 58,66 ****
+ $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
+ cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
+ cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
+! cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+! cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+! cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; rm -rf install_me_here
+ cd $(TOPDIR)/.. ; make install-strip
+ cd $(TOPDIR)/.. ; sh -x Cross/warp
+--- 58,66 ----
+ $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
+ cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
+ cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
+! cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
+! cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
+! cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; rm -rf install_me_here
+ cd $(TOPDIR)/.. ; make install-strip
+ cd $(TOPDIR)/.. ; sh -x Cross/warp
diff --git a/meta/packages/perl/files/config.sh-arm-linux.patch b/meta/packages/perl/files/config.sh-arm-linux.patch
new file mode 100644
index 0000000000..44d8b1a89d
--- /dev/null
+++ b/meta/packages/perl/files/config.sh-arm-linux.patch
@@ -0,0 +1,46 @@
+*** ./Cross/config.sh-arm-linux Mon Dec 22 06:00:37 2003
+--- ./Cross/config.sh-arm-linux.patch Tue Aug 3 17:57:08 2004
+***************
+*** 794,805 ****
+ passcat='cat /etc/passwd'
+ patchlevel='8'
+ path_sep=':'
+! perl5='/usr/bin/perl'
+ perl=''
+ perl_patchlevel=''
+ perladmin='red@criticalintegration.com'
+ perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+! perlpath='/usr/bin/perl'
+ pg='pg'
+ phostname='hostname'
+ pidtype='pid_t'
+--- 794,805 ----
+ passcat='cat /etc/passwd'
+ patchlevel='8'
+ path_sep=':'
+! perl5='hostperl'
+ perl=''
+ perl_patchlevel=''
+ perladmin='red@criticalintegration.com'
+ perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+! perlpath='hostperl'
+ pg='pg'
+ phostname='hostname'
+ pidtype='pid_t'
+***************
+*** 905,911 ****
+ srandom_r_proto='0'
+ src='.'
+ ssizetype='ssize_t'
+! startperl='#!/usr/bin/perl'
+ startsh='#!/bin/sh'
+ static_ext=' '
+ stdchar='char'
+--- 905,911 ----
+ srandom_r_proto='0'
+ src='.'
+ ssizetype='ssize_t'
+! startperl='#!hostperl'
+ startsh='#!/bin/sh'
+ static_ext=' '
+ stdchar='char'
diff --git a/meta/packages/perl/files/config.sh-i686-linux b/meta/packages/perl/files/config.sh-i686-linux
new file mode 100644
index 0000000000..0978100abc
--- /dev/null
+++ b/meta/packages/perl/files/config.sh-i686-linux
@@ -0,0 +1,1024 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Wed Mar 9 04:09:49 CST 2005
+# Configured by : kergoth
+# Target system : linux hyperion 2.6.11-ck1 #1 wed mar 2 23:48:21 cst 2005 i686 gnulinux
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+Mcc='Mcc'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='4'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='8'
+api_versionstring='5.8.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.8.4/i686-linux'
+archlibexp='/usr/lib/perl5/5.8.4/i686-linux'
+archname64=''
+archname='i686-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+binexp='/usr/bin'
+bison='bison'
+byacc='byacc'
+byteorder='1234'
+c=''
+castflags='0'
+cat='cat'
+cc='cc'
+cccdlflags='-fpic'
+ccdlflags='-Wl,-E -Wl,-rpath,./install_me_here/usr/lib/perl5/5.8.4/i686-linux/CORE'
+ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols='__GNUC_PATCHLEVEL__=5'
+ccversion=''
+cf_by='kergoth'
+cf_email='kergoth@hyperion.kergoth.com'
+cf_time='Wed Mar 9 04:09:49 CST 2005'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols='__GNUC__=3 __GNUC_MINOR__=3'
+cppflags='-fno-strict-aliasing -I/usr/local/include'
+cpplast='-'
+cppminus='-'
+cpprun='cc -E'
+cppstdin='cc -E'
+cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=3 __GNU_LIBRARY__=6 i386=1 __i386=1 __i386__=1 __i486=1 __i486__=1 _LARGEFILE_SOURCE=1 linux=1 __linux=1 __linux__=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 __STDC__=1 unix=1 __unix=1 __unix__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_SVID=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribut='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_bzero='define'
+d_casti32='undef'
+d_castneg='define'
+d_charvspr='define'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime='define'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='undef'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime_r='undef'
+d_gnulibc='define'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_index='undef'
+d_inetaton='define'
+d_int64_t='define'
+d_isascii='define'
+d_isfinite='undef'
+d_isinf='define'
+d_isnan='define'
+d_isnanl='define'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_link='define'
+d_localtime_r='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='undef'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_procselfexe='define'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='define'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sockatmark='define'
+d_sockatmarkproto='undef'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='undef'
+d_statfs_s='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='define'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='undef'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='define'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dynamic_ext='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared Errno'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='/usr/bin/ar'
+full_csh='csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='3.3.5 (Debian 1:3.3.5-6)'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"lu"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version='2.3.2'
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='recommended'
+hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='long'
+i64size='8'
+i64type='long long'
+i8size='1'
+i8type='char'
+i_arpainet='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='define'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+installarchlib='./install_me_here/usr/lib/perl5/5.8.4/i686-linux'
+installbin='./install_me_here/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir='./install_me_here/usr/share/man/man1'
+installman3dir='./install_me_here/usr/share/man/man3'
+installprefix='./install_me_here/usr'
+installprefixexp='./install_me_here/usr'
+installprivlib='./install_me_here/usr/lib/perl5/5.8.4'
+installscript='./install_me_here/usr/bin'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.8.4/i686-linux'
+installsitebin='./install_me_here/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.8.4'
+installsiteman1dir='./install_me_here/usr/share/man/man1'
+installsiteman3dir='./install_me_here/usr/share/man/man3'
+installsitescript='./install_me_here/usr/bin'
+installstyle='./install_me_herelib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='/usr/bin/test -h'
+ivdformat='"ld"'
+ivsize='4'
+ivtype='long'
+known_extensions='attrs B ByteLoader Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
+ksh=''
+ld='cc'
+lddlflags='-shared -L/usr/local/lib'
+ldflags=' -L/usr/local/lib'
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc='/lib/libc-2.3.2.so'
+libperl='libperl.so'
+libpth='/usr/local/lib /lib /usr/lib'
+libs='-ldl -lm -lc -lcrypt'
+libsdirs=' /usr/lib'
+libsfiles=' libdl.so libm.so libc.so libcrypt.so'
+libsfound=' /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libc.so /usr/lib/libcrypt.so'
+libspath=' /usr/local/lib /lib /usr/lib'
+libswanted='gdbm gdbm_compat db dl m c crypt'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='12'
+longlongsize='8'
+longsize='4'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir='/usr/share/man/man1'
+man1direxp='/usr/share/man/man1'
+man1ext='1'
+man3dir='/usr/share/man/man3'
+man3direxp='/usr/share/man/man3'
+man3ext='3'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='i686-linux'
+mydomain='.kergoth.com'
+myhostname='hyperion'
+myuname='linux hyperion 2.6.11-ck1 #1 wed mar 2 23:48:21 cst 2005 i686 gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='const void *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Errno'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_preserves_uv_bits='32'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='2.6.11-ck1'
+otherlibdirs=' '
+package='perl5'
+pager='/usr/bin/less'
+passcat='cat /etc/passwd'
+patchlevel='8'
+path_sep=':'
+perl5='hostperl'
+perl=''
+perl_patchlevel=''
+perladmin=''
+perllibs='-ldl -lm -lc -lcrypt'
+perlpath='hostperl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth=''
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.8.4'
+privlibexp='/usr/lib/perl5/5.8.4'
+procselfexe='"/proc/self/exe"'
+prototype='define'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rmail=''
+run=''
+runnm='false'
+sPRIEUldbl='"LE"'
+sPRIFUldbl='"LF"'
+sPRIGUldbl='"LG"'
+sPRIXU64='"LX"'
+sPRId64='"Ld"'
+sPRIeldbl='"Le"'
+sPRIfldbl='"Lf"'
+sPRIgldbl='"Lg"'
+sPRIi64='"Li"'
+sPRIo64='"Lo"'
+sPRIu64='"Lu"'
+sPRIx64='"Lx"'
+sSCNfldbl='"Lf"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='32'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='65'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 RTMIN NUM34 NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "RTMIN", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
+sig_num='0 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
+sig_num_init='0, 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, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
+sig_size='69'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.8.4/i686-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.8.4/i686-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5/site_perl/5.8.4'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.8.4'
+siteman1dir='/usr/share/man/man1'
+siteman1direxp='/usr/share/man/man1'
+siteman3dir='/usr/share/man/man3'
+siteman3direxp='/usr/share/man/man3'
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='4'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+startperl='#!hostperl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_IO_read_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='4'
+sysman='/usr/share/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned long'
+u64size='8'
+u64type='unsigned long long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"lu"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long long'
+use5005threads='undef'
+use64bitall='undef'
+use64bitint='undef'
+usecrosscompile='undef'
+usedl='define'
+usefaststdio='define'
+useithreads='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemallocwrap='define'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usenm='false'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+usesfio='false'
+useshrplib='true'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+usevfork='false'
+usrinc='/usr/include'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='4'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.8.4'
+version_patchlevel_string='version 8 subversion 4'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+# Configure command line arguments.
+config_arg0='./Configure'
+config_args=''
+config_argc=0
+PERL_REVISION=5
+PERL_VERSION=8
+PERL_SUBVERSION=4
+PERL_API_REVISION=5
+PERL_API_VERSION=8
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=
+PERL_CONFIG_SH=true
diff --git a/meta/packages/perl/files/config.sh-mipsel-linux b/meta/packages/perl/files/config.sh-mipsel-linux
new file mode 100644
index 0000000000..eedf443f04
--- /dev/null
+++ b/meta/packages/perl/files/config.sh-mipsel-linux
@@ -0,0 +1,1026 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Mon Sep 20 18:18:52 CEST 2004
+# Configured by : root
+# Target system : linux mtx-nfs 2.4.24mtx #59 mon jul 12 15:19:41 cest 2004 mips gnulinux
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+Mcc='Mcc'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='8'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='8'
+api_versionstring='5.8.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.8.4/mipsel-linux'
+archlibexp='/usr/lib/perl5/5.8.4/mipsel-linux'
+archname64=''
+archname='mips-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+binexp='/usr/bin'
+bison='bison'
+byacc='byacc'
+byteorder='1234'
+c=''
+castflags='0'
+cat='cat'
+cc='cc'
+cccdlflags='-fpic'
+ccdlflags='-rdynamic'
+ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols='__GNUC_MINOR__=3 __GNUC_PATCHLEVEL__=4'
+ccversion=''
+cf_by='root'
+cf_email='root@mtx-nfs.nonet'
+cf_time='Mon Sep 20 18:18:52 CEST 2004'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols='__GNUC__=3'
+cppflags='-fno-strict-aliasing -I/usr/local/include'
+cpplast='-'
+cppminus='-'
+cpprun='cc -E'
+cppstdin='cc -E'
+cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=3 __GNUC_MINOR__=3 __GNU_LIBRARY__=6 LANGUAGE_C=1 _LANGUAGE_C=1 __LANGUAGE_C=1 __LANGUAGE_C__=1 _LARGEFILE_SOURCE=1 MIPSEL=1 _MIPSEL=1 __MIPSEL=1 __MIPSEL__=1 _MIPS_FPSET=16 _MIPS_ISA=1 _MIPS_SIM=1 _MIPS_SZINT=32 _MIPS_SZLONG=32 _MIPS_SZPTR=32 __PIC__=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 R3000=1 _R3000=1 __R3000=1 __R3000__=1 __STDC__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_SVID=1 linux=1 __linux=1 __linux__=1 mips=1 _mips=1 __mips=1 __mips__=1 __pic__=1 unix=1 __unix=1 __unix__=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribut='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_bzero='define'
+d_casti32='define'
+d_castneg='define'
+d_charvspr='define'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='define'
+d_ctermid_r='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime='define'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='undef'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime_r='undef'
+d_gnulibc='define'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_index='undef'
+d_inetaton='define'
+d_int64_t='define'
+d_isascii='define'
+d_isfinite='undef'
+d_isinf='define'
+d_isnan='define'
+d_isnanl='define'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_link='define'
+d_localtime_r='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='undef'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_procselfexe='define'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='define'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sockatmark='define'
+d_sockatmarkproto='undef'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='undef'
+d_statfs_s='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='define'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='undef'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='define'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared Errno'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='/usr/bin/ar'
+full_csh='/bin/csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='3.3.4 (Debian 1:3.3.4-3)'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"lu"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version='2.3.2'
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='recommended'
+hostcat=''
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='long'
+i64size='8'
+i64type='long long'
+i8size='1'
+i8type='char'
+i_arpainet='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='define'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+installarchlib='./install_me_here/usr/lib/perl5/5.8.4/mipsel-linux'
+installbin='./install_me_here/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir='./install_me_here/usr/share/man/man1'
+installman3dir='./install_me_here/usr/share/man/man3'
+installprefix='./install_me_here/usr'
+installprefixexp='./install_me_here/usr'
+installprivlib='./install_me_here/usr/lib/perl5/5.8.4'
+installscript='./install_me_here/usr/bin'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.8.4/mipsel-linux'
+installsitebin='./install_me_here/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.8.4'
+installsiteman1dir='./install_me_here/usr/share/man/man1'
+installsiteman3dir='./install_me_here/usr/share/man/man3'
+installsitescript='./install_me_here/usr/bin'
+installstyle='./install_me_herelib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='/usr/bin/test -h'
+ivdformat='"ld"'
+ivsize='4'
+ivtype='long'
+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+ksh=''
+ld='cc'
+lddlflags='-shared -L/usr/local/lib'
+ldflags=' -L/usr/local/lib'
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc='/lib/libc-2.3.2.so'
+libperl='libperl.so'
+libpth='/usr/local/lib /lib /usr/lib'
+libs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+libsdirs=' /usr/lib'
+libsfiles=' libnsl.so libdl.so libm.so libcrypt.so libutil.so libc.so'
+libsfound=' /usr/lib/libnsl.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libc.so'
+libspath=' /usr/local/lib /lib /usr/lib'
+libswanted='sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util c cposix posix ucb BSD'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='8'
+longlongsize='8'
+longsize='4'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir='/usr/share/man/man1'
+man1direxp='/usr/share/man/man1'
+man1ext='1'
+man3dir='/usr/share/man/man3'
+man3direxp='/usr/share/man/man3'
+man3ext='3'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='mips-linux'
+mydomain='.nonet'
+myhostname='mtx-nfs'
+myuname='linux mtx-nfs 2.4.24mtx #59 mon jul 12 15:19:41 cest 2004 mips gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='const void *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Errno'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_preserves_uv_bits='32'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='2.4.24mtx'
+otherlibdirs=' '
+package='perl5'
+pager='/usr/bin/less'
+passcat='cat /etc/passwd'
+patchlevel='8'
+path_sep=':'
+perl5='/usr/bin/perl'
+perl=''
+perl_patchlevel=''
+perladmin='root@mtx-nfs.nonet'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perlpath='/usr/bin/perl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth=''
+pm_apiversion='5.005'
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.8.4'
+privlibexp='/usr/lib/perl5/5.8.4'
+procselfexe='"/proc/self/exe"'
+prototype='define'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rmail=''
+run=''
+runnm='false'
+sPRIEUldbl='"E"'
+sPRIFUldbl='"F"'
+sPRIGUldbl='"G"'
+sPRIXU64='"LX"'
+sPRId64='"Ld"'
+sPRIeldbl='"e"'
+sPRIfldbl='"f"'
+sPRIgldbl='"g"'
+sPRIi64='"Li"'
+sPRIo64='"Lo"'
+sPRIu64='"Lu"'
+sPRIx64='"Lx"'
+sSCNfldbl='"f"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='32'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='128'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ NUM32 NUM33 NUM34 RTMIN NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 NUM64 NUM65 NUM66 NUM67 NUM68 NUM69 NUM70 NUM71 NUM72 NUM73 NUM74 NUM75 NUM76 NUM77 NUM78 NUM79 NUM80 NUM81 NUM82 NUM83 NUM84 NUM85 NUM86 NUM87 NUM88 NUM89 NUM90 NUM91 NUM92 NUM93 NUM94 NUM95 NUM96 NUM97 NUM98 NUM99 NUM100 NUM101 NUM102 NUM103 NUM104 NUM105 NUM106 NUM107 NUM108 NUM109 NUM110 NUM111 NUM112 NUM113 NUM114 NUM115 NUM116 NUM117 NUM118 NUM119 NUM120 NUM121 NUM122 NUM123 NUM124 NUM125 NUM126 RTMAX IOT CLD POLL '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "PWR", "WINCH", "URG", "IO", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "VTALRM", "PROF", "XCPU", "XFSZ", "NUM32", "NUM33", "NUM34", "RTMIN", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "NUM64", "NUM65", "NUM66", "NUM67", "NUM68", "NUM69", "NUM70", "NUM71", "NUM72", "NUM73", "NUM74", "NUM75", "NUM76", "NUM77", "NUM78", "NUM79", "NUM80", "NUM81", "NUM82", "NUM83", "NUM84", "NUM85", "NUM86", "NUM87", "NUM88", "NUM89", "NUM90", "NUM91", "NUM92", "NUM93", "NUM94", "NUM95", "NUM96", "NUM97", "NUM98", "NUM99", "NUM100", "NUM101", "NUM102", "NUM103", "NUM104", "NUM105", "NUM106", "NUM107", "NUM108", "NUM109", "NUM110", "NUM111", "NUM112", "NUM113", "NUM114", "NUM115", "NUM116", "NUM117", "NUM118", "NUM119", "NUM120", "NUM121", "NUM122", "NUM123", "NUM124", "NUM125", "NUM126", "RTMAX", "IOT", "CLD", "POLL", 0'
+sig_num='0 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 6 18 22 '
+sig_num_init='0, 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, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, 18, 22, 0'
+sig_size='131'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.8.4/mipsel-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.8.4/mipsel-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5'
+sitelib_stem='/usr/lib/perl5'
+sitelibexp='/usr/lib/perl5'
+siteman1dir='/usr/share/man/man1'
+siteman1direxp='/usr/share/man/man1'
+siteman3dir='/usr/share/man/man3'
+siteman3direxp='/usr/share/man/man3'
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='4'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_IO_read_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='3'
+sysman='/usr/share/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned long'
+u64size='8'
+u64type='unsigned long long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"lu"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long long'
+use5005threads='undef'
+use64bitall='undef'
+use64bitint='undef'
+usecrosscompile='undef'
+usedl='define'
+usefaststdio='define'
+useithreads='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usemallocwrap='define'
+usenm='false'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+usesfio='false'
+useshrplib='true'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+usevfork='false'
+usrinc='/usr/include'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='4'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.8.4'
+version_patchlevel_string='version 8 subversion 3'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+xs_apiversion='5.8.4'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+# Configure command line arguments.
+config_arg0='./Configure'
+config_args='-des'
+config_argc=1
+config_arg1='-des'
+PERL_REVISION=5
+PERL_VERSION=8
+PERL_SUBVERSION=3
+PERL_API_REVISION=5
+PERL_API_VERSION=8
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVELPERL_CONFIG_SH=true
diff --git a/meta/packages/perl/files/libperl-5.8.3-create-libperl-soname.patch b/meta/packages/perl/files/libperl-5.8.3-create-libperl-soname.patch
new file mode 100644
index 0000000000..6b34ec2318
--- /dev/null
+++ b/meta/packages/perl/files/libperl-5.8.3-create-libperl-soname.patch
@@ -0,0 +1,11 @@
+--- Makefile.SH.orig 2003-07-10 14:59:04.000000000 -0700
++++ Makefile.SH 2003-07-10 15:14:08.000000000 -0700
+@@ -494,7 +494,7 @@
+ case "$useshrplib" in
+ true)
+ $spitshell >>Makefile <<'!NO!SUBS!'
+- $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs)
++ $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs) -soname libperl.so.5
+ !NO!SUBS!
+ case "$osname" in
+ aix)
diff --git a/meta/packages/perl/files/uclibc.patch b/meta/packages/perl/files/uclibc.patch
new file mode 100644
index 0000000000..ce8fe80ff2
--- /dev/null
+++ b/meta/packages/perl/files/uclibc.patch
@@ -0,0 +1,26 @@
+As seen at http://codepoet.org/lists/uclibc/2004-March/008512.html:
+
+Try the following (untested). In .26, the field member was filedes.
+Current cvs uses __filedes (double underscore prefix).
+
+Manuel
+
+--- perl-5.8.4.orig/perlio.c 2004-03-22 14:54:03.000000000 -0500
++++ perl-5.8.4/perlio.c 2005-03-09 04:33:49.386767312 -0500
+@@ -2824,7 +2824,15 @@
+ /* XXX this could use PerlIO_canset_fileno() and
+ * PerlIO_set_fileno() support from Configure
+ */
+-# if defined(__GLIBC__)
++# if defined(__UCLIBC__)
++ /* uClibc must come before glibc because it defines __GLIBC__ as well. */
++# if defined(__MASK_READING)
++ f->__filedes = -1;
++# else
++ f->filedes = -1;
++# endif
++ return 1;
++# elif defined(__GLIBC__)
+ /* There may be a better way for GLIBC:
+ - libio.h defines a flag to not close() on cleanup
+ */
diff --git a/meta/packages/perl/libxml-parser-perl-native_2.34.bb b/meta/packages/perl/libxml-parser-perl-native_2.34.bb
new file mode 100644
index 0000000000..be4ddc6da0
--- /dev/null
+++ b/meta/packages/perl/libxml-parser-perl-native_2.34.bb
@@ -0,0 +1,4 @@
+SECTION = "libs"
+include libxml-parser-perl_${PV}.bb
+inherit native
+DEPENDS = "perl-native expat-native"
diff --git a/meta/packages/perl/libxml-parser-perl_2.34.bb b/meta/packages/perl/libxml-parser-perl_2.34.bb
new file mode 100644
index 0000000000..89947376e6
--- /dev/null
+++ b/meta/packages/perl/libxml-parser-perl_2.34.bb
@@ -0,0 +1,6 @@
+SECTION = "libs"
+SRC_URI = "http://www.cpan.org/modules/by-module/XML/XML-Parser-2.34.tar.gz"
+LICENSE = "Artistic"
+S = "${WORKDIR}/XML-Parser-${PV}"
+
+inherit cpan
diff --git a/meta/packages/perl/perl-5.8.7/Makefile.SH.patch b/meta/packages/perl/perl-5.8.7/Makefile.SH.patch
new file mode 100644
index 0000000000..add2952d7e
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/Makefile.SH.patch
@@ -0,0 +1,206 @@
+--- perl-5.8.7/Makefile.SH.orig 2005-07-25 17:20:35.000000000 +0000
++++ perl-5.8.7/Makefile.SH 2005-07-25 17:38:09.000000000 +0000
+@@ -129,18 +129,7 @@
+ # INSTALL file, under "Building a shared perl library".
+ # If there is no pre-existing $libperl, we don't need
+ # to do anything further.
+- if test -f $archlib/CORE/$libperl; then
+- rm -f preload
+- cat <<'EOT' > preload
+-#! /bin/sh
+-lib=$1
+-shift
+-test -r $lib && export LD_PRELOAD="$lib $LD_PRELOAD"
+-exec "$@"
+-EOT
+- chmod 755 preload
+- ldlibpth="$ldlibpth `pwd`/preload `pwd`/$libperl"
+- fi
++ echo linux libraries overwritten by cross-compile patches
+ ;;
+ os390) test -f /bin/env && ldlibpth="/bin/env $ldlibpth"
+ ;;
+@@ -377,9 +366,21 @@
+ .c.s:
+ $(CCCMDSRC) -S $*.c
+
+-all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
+- @echo " ";
+- @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
++#all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT) extra.pods $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
++# @echo " ";
++# @echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
++
++all: $(FIRSTMAKEFILE) miniperl$(EXE_EXT)
++ mv miniperl miniperl-arm
++ ln -s hostperl miniperl
++
++more: extra.pods $(private) $(unidatafiles) $(public)
++
++more2: $(dynamic_ext)
++
++more3: $(nonxs_ext)
++
++more4: extras.make
+
+ .PHONY: all compile translators utilities
+
+@@ -389,10 +390,10 @@
+ cd x2p; $(MAKE) compile;
+ cd pod; $(MAKE) compile;
+
+-translators: miniperl$(EXE_EXT) $(CONFIGPM) FORCE
++translators: $(CONFIGPM) FORCE
+ @echo " "; echo " Making x2p stuff"; cd x2p; $(LDLIBPTH) $(MAKE) all
+
+-utilities: miniperl$(EXE_EXT) $(CONFIGPM) $(plextract) lib/lib.pm FORCE
++utilities: $(CONFIGPM) $(plextract) lib/lib.pm FORCE
+ @echo " "; echo " Making utilities"; cd utils; $(LDLIBPTH) $(MAKE) all
+
+
+@@ -570,7 +571,7 @@
+ $(CC) -o miniperl $(CLDFLAGS) \
+ `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
++# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ next4*)
+@@ -578,7 +579,7 @@
+ miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL) opmini$(OBJ_EXT)
+ $(CC) -o miniperl `echo $(obj) | sed 's/ op$(OBJ_EXT) / /'` \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perl$(OBJ_EXT) $(libs)
+- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
++# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ darwin*)
+@@ -599,7 +600,7 @@
+ -@rm -f miniperl.xok
+ $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o miniperl \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
+- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
++# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ *)
+@@ -608,7 +609,7 @@
+ -@rm -f miniperl.xok
+ $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl \
+ miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs)
+- $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
++# $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
+ !NO!SUBS!
+ ;;
+ esac
+@@ -745,7 +746,7 @@
+ # We need to autosplit in two steps because VOS can't handle so many args
+ #
+ .PHONY: preplibrary
+-preplibrary: miniperl$(EXE_EXT) $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
++preplibrary: $(CONFIGPM) lib/lib.pm $(PREPLIBRARY_LIBPERL)
+ @sh ./makedir lib/auto
+ @echo " AutoSplitting perl library"
+ $(LDLIBPTH) ./miniperl -Ilib -e 'use AutoSplit; \
+@@ -757,11 +758,11 @@
+ # Take care to avoid modifying lib/Config.pm without reason
+ # (If trying to create a new port and having problems with the configpm script,
+ # try 'make minitest' and/or commenting out the tests at the end of configpm.)
+-$(CONFIGPM): config.sh miniperl$(EXE_EXT) configpm Porting/Glossary
++$(CONFIGPM): config.sh configpm Porting/Glossary
+ $(LDLIBPTH) ./miniperl -Ilib configpm --heavy=lib/Config_heavy.pl configpm.tmp
+ sh mv-if-diff configpm.tmp lib/Config.pm
+
+-lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl$(EXE_EXT) minimod.pl $(CONFIGPM)
++lib/ExtUtils/Miniperl.pm: miniperlmain.c minimod.pl $(CONFIGPM)
+ $(LDLIBPTH) ./miniperl minimod.pl > minimod.tmp
+ sh mv-if-diff minimod.tmp $@
+ -touch lib/ExtUtils/Miniperl.pm
+@@ -769,21 +770,21 @@
+ lib/re.pm: ext/re/re.pm
+ cp ext/re/re.pm ext/re/re.tmp && sh mv-if-diff ext/re/re.tmp lib/re.pm
+
+-$(plextract): miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p
++$(plextract): $(CONFIGPM) x2p/s2p
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -I`pwd`/lib $@.PL
+
+-x2p/s2p: miniperl$(EXE_EXT) $(CONFIGPM) x2p/s2p.PL
++x2p/s2p: $(CONFIGPM) x2p/s2p.PL
+ cd x2p; $(LDLIBPTH) $(MAKE) s2p
+
+-lib/lib.pm: miniperl$(EXE_EXT) $(CONFIGPM)
++lib/lib.pm: $(CONFIGPM)
+ @-rm -f $@
+ $(LDLIBPTH) ./miniperl -Ilib lib/lib_pm.PL
+
+-$(unidatafiles): miniperl$(EXE_EXT) $(CONFIGPM) lib/unicore/mktables
++$(unidatafiles): $(CONFIGPM) lib/unicore/mktables
+ cd lib/unicore && $(LDLIBPTH) ../../miniperl -I../../lib mktables -w
+
+-extra.pods: miniperl$(EXE_EXT)
++extra.pods:
+ -@test -f extra.pods && rm -f `cat extra.pods`
+ -@rm -f extra.pods
+ -@for x in `grep -l '^=[a-z]' README.* | grep -v README.vms` ; do \
+@@ -830,18 +831,8 @@
+ INSTALL_DEPENDENCE = all
+
+ install.perl: $(INSTALL_DEPENDENCE) installperl
+- if [ -n "$(COMPILE)" ]; \
+- then \
+- cd utils; $(MAKE) compile; \
+- cd ../x2p; $(MAKE) compile; \
+- cd ../pod; $(MAKE) compile; \
+- else :; \
+- fi
+- $(LDLIBPTH) ./perl installperl --destdir=$(DESTDIR) $(INSTALLFLAGS) $(STRIPFLAGS)
+- $(MAKE) extras.install
+-
+-install.man: all installman
+- $(LDLIBPTH) ./perl installman --destdir=$(DESTDIR) $(INSTALLFLAGS)
++ cp lib/Config.pm lib/Config_heavy.pl .
++ ./hostperl -I. installperl $(INSTALLFLAGS) $(STRIPFLAGS)
+
+ # XXX Experimental. Hardwired values, but useful for testing.
+ # Eventually Configure could ask for some of these values.
+@@ -957,16 +947,16 @@
+ #
+ # DynaLoader may be needed for extensions that use Makefile.PL.
+
+-$(DYNALOADER): miniperl$(EXE_EXT) preplibrary FORCE
++$(DYNALOADER): preplibrary FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+-d_dummy $(dynamic_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
++d_dummy $(dynamic_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext dynamic $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+-s_dummy $(static_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
++s_dummy $(static_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext $(STATIC) $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+-n_dummy $(nonxs_ext): miniperl$(EXE_EXT) preplibrary $(DYNALOADER) FORCE
++n_dummy $(nonxs_ext): preplibrary $(DYNALOADER) FORCE
+ @$(LDLIBPTH) sh ext/util/make_ext nonxs $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL)
+
+ .PHONY: clean _tidy _mopup _cleaner1 _cleaner2 \
+@@ -1108,7 +1098,7 @@
+
+ test_prep_pre: preplibrary utilities $(nonxs_ext)
+
+-test_prep: test_prep_pre miniperl$(EXE_EXT) $(unidatafiles) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
++test_prep: test_prep_pre $(unidatafiles) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
+ PERL=./perl $(MAKE) _test_prep
+
+ _test_tty:
+@@ -1221,7 +1211,7 @@
+
+ # Can't depend on lib/Config.pm because that might be where miniperl
+ # is crashing.
+-minitest: miniperl$(EXE_EXT) lib/re.pm minitest.prep
++minitest: lib/re.pm minitest.prep
+ - cd t && (rm -f perl$(EXE_EXT); $(LNS) ../miniperl$(EXE_EXT) perl$(EXE_EXT)) \
+ && $(LDLIBPTH) ./perl TEST -minitest base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t </dev/tty
+
diff --git a/meta/packages/perl/perl-5.8.7/Makefile.patch b/meta/packages/perl/perl-5.8.7/Makefile.patch
new file mode 100644
index 0000000000..36cc1f942d
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/Makefile.patch
@@ -0,0 +1,18 @@
+--- perl-5.8.7/Cross/Makefile.orig 2005-07-25 19:45:16.000000000 +0000
++++ perl-5.8.7/Cross/Makefile 2005-07-25 19:46:09.000000000 +0000
+@@ -58,11 +58,11 @@
+ $(TOPDIR)/generate_config_sh config.sh-$(SYS) > $(TOPDIR)/../config.sh
+ cd $(TOPDIR)/.. ; ./Configure -S ; make depend ; make ; make more
+ cd $(TOPDIR)/.. ; mkdir -p fake_config_library ; cp lib/Config.pm fake_config_library
+- cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+- cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
+- cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=/usr/bin/perl -I$(TOPDIR)/../fake_config_library -MConfig"
++ cd $(TOPDIR)/.. ; $(MAKE) more2 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
++ cd $(TOPDIR)/.. ; $(MAKE) more3 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
++ cd $(TOPDIR)/.. ; $(MAKE) more4 "PERLRUN=hostperl -I$(TOPDIR)/../fake_config_library -MConfig"
+ cd $(TOPDIR)/.. ; rm -rf install_me_here
+- cd $(TOPDIR)/.. ; make install-strip
++# cd $(TOPDIR)/.. ; make install-strip
+ cd $(TOPDIR)/.. ; sh -x Cross/warp
+
+
diff --git a/meta/packages/perl/perl-5.8.7/config.sh-arm-linux b/meta/packages/perl/perl-5.8.7/config.sh-arm-linux
new file mode 100644
index 0000000000..0e021b26db
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/config.sh-arm-linux
@@ -0,0 +1,1029 @@
+#!/bin/sh
+#NOTE: derived from the armeb script
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Mon Jul 25 15:21:53 UTC 2005
+# Configured by : slug
+# Target system : linux thg-slug1 2.6.12.2 #1 wed jul 20 01:50:24 cest 2005 armv5teb unknown unknown gnulinux
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+Mcc='Mcc'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='4'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='8'
+api_versionstring='5.8.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.8.7/arm-linux'
+archlibexp='/usr/lib/perl5/5.8.7/arm-linux'
+archname64=''
+archname='arm-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+binexp='/usr/bin'
+bison='bison'
+byacc='byacc'
+byteorder='1234'
+c=''
+castflags='1'
+cat='cat'
+cc='cc'
+cccdlflags='-fpic'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.7/arm-linux/CORE'
+ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols='__APCS_32__=1 __ARM_ARCH_3__=1 __CHAR_UNSIGNED__=1 __GNUC_MINOR__=95 __arm__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 cpu=arm machine=arm system=posix system=unix'
+ccversion=''
+cf_by='slug'
+cf_email='slug@thg-slug1.thg.se'
+cf_time='Mon Jul 25 15:21:53 UTC 2005'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols='__ELF__=1 __GNUC__=2 linux=1 unix=1'
+cppflags='-fno-strict-aliasing -I/usr/local/include -pipe -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+cpplast='-'
+cppminus='-'
+cpprun='cc -E'
+cppstdin='cc -E'
+cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=4 __GNUC__=3 __GNUC_MINOR__=4 __GNU_LIBRARY__=6 _LARGEFILE_SOURCE=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 __STDC__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_SVID=1 linux=1 __linux=1 __linux__=1 unix=1 __unix=1 __unix__=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribut='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_bzero='define'
+d_casti32='define'
+d_castneg='undef'
+d_charvspr='define'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime='define'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='undef'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime_r='undef'
+d_gnulibc='define'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_index='undef'
+d_inetaton='define'
+d_int64_t='define'
+d_isascii='define'
+d_isfinite='undef'
+d_isinf='define'
+d_isnan='define'
+d_isnanl='define'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_libm_lib_version='define'
+d_link='define'
+d_localtime_r='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='undef'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_procselfexe='define'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='define'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sockatmark='define'
+d_sockatmarkproto='undef'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='undef'
+d_statfs_s='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strlcat='undef'
+d_strlcpy='undef'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='define'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='define'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='define'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared Errno'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='/usr/bin/ar'
+full_csh='csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='3.4.4'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"lu"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version='2.3.90'
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='previous'
+hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='long'
+i64size='8'
+i64type='long long'
+i8size='1'
+i8type='char'
+i_arpainet='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='define'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+installarchlib='./install_me_here/usr/lib/perl5/5.8.7/arm-linux'
+installbin='./install_me_here/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir='./install_me_here/usr/share/man/man1'
+installman3dir='./install_me_here/usr/share/man/man3'
+installprefix='./install_me_here/usr'
+installprefixexp='./install_me_here/usr'
+installprivlib='./install_me_here/usr/lib/perl5/5.8.7'
+installscript='./install_me_here/usr/bin'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.8.7/arm-linux'
+installsitebin='./install_me_here/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.8.7'
+installsiteman1dir='./install_me_here/usr/share/man/man1'
+installsiteman3dir='./install_me_here/usr/share/man/man3'
+installsitescript='./install_me_here/usr/bin'
+installstyle='./install_me_herelib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='/usr/bin/test -h'
+ivdformat='"ld"'
+ivsize='4'
+ivtype='long'
+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+ksh=''
+ld='cc'
+lddlflags='-shared'
+ldflags=''
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc='/lib/libc-2.3.90.so'
+libperl='libperl.so'
+libpth='/lib /usr/lib'
+libs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+libsdirs=''
+libsfiles=''
+libsfound=''
+libspath=' /lib /usr/lib'
+libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util c cposix posix ucb BSD'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='8'
+longlongsize='8'
+longsize='4'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir='/usr/share/man/man1'
+man1direxp='/usr/share/man/man1'
+man1ext='1'
+man3dir='/usr/share/man/man3'
+man3direxp='/usr/share/man/man3'
+man3ext='3'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='arm-linux'
+mydomain='.thg.se'
+myhostname='thg-slug1'
+myuname='linux thg-slug1 2.6.12.2 #1 wed jul 20 01:50:24 cest 2005 armv5teb unknown unknown gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='const void *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Errno'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_preserves_uv_bits='32'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='2.6.12.2'
+otherlibdirs=' '
+package='perl5'
+pager='/bin/more'
+passcat='cat /etc/passwd'
+patchlevel='8'
+path_sep=':'
+perl5='hostperl'
+perl=''
+perl_patchlevel=''
+perladmin='slug@thg-slug1.thg.se'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc -lgcc_s $$($(CC) -print-libgcc-file-name)'
+perlpath='hostperl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth=''
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.8.7'
+privlibexp='/usr/lib/perl5/5.8.7'
+procselfexe='"/proc/self/exe"'
+prototype='define'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rmail=''
+run=''
+runnm='false'
+sPRIEUldbl='"E"'
+sPRIFUldbl='"F"'
+sPRIGUldbl='"G"'
+sPRIXU64='"LX"'
+sPRId64='"Ld"'
+sPRIeldbl='"e"'
+sPRIfldbl='"f"'
+sPRIgldbl='"g"'
+sPRIi64='"Li"'
+sPRIo64='"Lo"'
+sPRIu64='"Lu"'
+sPRIx64='"Lx"'
+sSCNfldbl='"f"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='32'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='65'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 NUM34 RTMIN NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "NUM34", "RTMIN", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
+sig_num='0 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
+sig_num_init='0, 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, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
+sig_size='69'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.8.7/arm-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.8.7/arm-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5/site_perl/5.8.7'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.8.7'
+siteman1dir='/usr/share/man/man1'
+siteman1direxp='/usr/share/man/man1'
+siteman3dir='/usr/share/man/man3'
+siteman3direxp='/usr/share/man/man3'
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='4'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_IO_read_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='7'
+sysman='/usr/share/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned long'
+u64size='8'
+u64type='unsigned long long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"lu"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long long'
+use5005threads='undef'
+use64bitall='undef'
+use64bitint='undef'
+usecrosscompile='undef'
+usedl='define'
+usefaststdio='define'
+useithreads='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemallocwrap='define'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usenm='false'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+usesfio='false'
+useshrplib='true'
+usesitecustomize='undef'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+usevfork='false'
+usrinc='/usr/include'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='4'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.8.7'
+version_patchlevel_string='version 8 subversion 7'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+# Configure command line arguments.
+config_arg0='Configure'
+config_args=''
+config_argc=0
+PERL_REVISION=5
+PERL_VERSION=8
+PERL_SUBVERSION=7
+PERL_API_REVISION=5
+PERL_API_VERSION=8
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=
+PERL_CONFIG_SH=true
diff --git a/meta/packages/perl/perl-5.8.7/config.sh-arm-linux.patch b/meta/packages/perl/perl-5.8.7/config.sh-arm-linux.patch
new file mode 100644
index 0000000000..0181e37c95
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/config.sh-arm-linux.patch
@@ -0,0 +1,34 @@
+--- ./Cross/config.sh-arm-linux.orig.old 2005-07-29 12:07:16.000000000 +0200
++++ ./Cross/config.sh-arm-linux 2005-07-29 12:09:27.000000000 +0200
+@@ -266,6 +266,7 @@
+ d_killpg='define'
+ d_lchown='define'
+ d_ldbl_dig='define'
++d_libm_lib_version='define'
+ d_link='define'
+ d_localtime_r='undef'
+ d_locconv='define'
+@@ -796,12 +797,12 @@
+ passcat='cat /etc/passwd'
+ patchlevel='8'
+ path_sep=':'
+-perl5='/usr/bin/perl'
++perl5='hostperl'
+ perl=''
+ perl_patchlevel=''
+ perladmin='red@criticalintegration.com'
+-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
++perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc -lgcc_s'
+-perlpath='/usr/bin/perl'
++perlpath='hostperl'
+ pg='pg'
+ phostname='hostname'
+ pidtype='pid_t'
+@@ -971,6 +972,7 @@
+ usereentrant='undef'
+ usesfio='false'
+ useshrplib='true'
++usesitecustomize='undef'
+ usesocks='undef'
+ usethreads='undef'
+ usevendorprefix='undef'
diff --git a/meta/packages/perl/perl-5.8.7/config.sh-armeb-linux b/meta/packages/perl/perl-5.8.7/config.sh-armeb-linux
new file mode 100644
index 0000000000..de17bbf28f
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/config.sh-armeb-linux
@@ -0,0 +1,1028 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Mon Jul 25 15:21:53 UTC 2005
+# Configured by : slug
+# Target system : linux thg-slug1 2.6.12.2 #1 wed jul 20 01:50:24 cest 2005 armv5teb unknown unknown gnulinux
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+Mcc='Mcc'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='4'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='8'
+api_versionstring='5.8.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.8.7/armeb-linux'
+archlibexp='/usr/lib/perl5/5.8.7/armeb-linux'
+archname64=''
+archname='armeb-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+binexp='/usr/bin'
+bison='bison'
+byacc='byacc'
+byteorder='4321'
+c=''
+castflags='1'
+cat='cat'
+cc='cc'
+cccdlflags='-fpic'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.7/armeb-linux/CORE'
+ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols='__APCS_32__=1 __ARM_ARCH_3__=1 __CHAR_UNSIGNED__=1 __GNUC_MINOR__=95 __arm__=1 __linux=1 __linux__=1 __unix=1 __unix__=1 cpu=arm machine=arm system=posix system=unix'
+ccversion=''
+cf_by='slug'
+cf_email='slug@thg-slug1.thg.se'
+cf_time='Mon Jul 25 15:21:53 UTC 2005'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols='__ELF__=1 __GNUC__=2 linux=1 unix=1'
+cppflags='-fno-strict-aliasing -I/usr/local/include -pipe -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+cpplast='-'
+cppminus='-'
+cpprun='cc -E'
+cppstdin='cc -E'
+cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=4 __GNUC__=3 __GNUC_MINOR__=4 __GNU_LIBRARY__=6 _LARGEFILE_SOURCE=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 __STDC__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_SVID=1 linux=1 __linux=1 __linux__=1 unix=1 __unix=1 __unix__=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribut='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_bzero='define'
+d_casti32='define'
+d_castneg='undef'
+d_charvspr='define'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime='define'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='undef'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime_r='undef'
+d_gnulibc='define'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_index='undef'
+d_inetaton='define'
+d_int64_t='define'
+d_isascii='define'
+d_isfinite='undef'
+d_isinf='define'
+d_isnan='define'
+d_isnanl='define'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_libm_lib_version='define'
+d_link='define'
+d_localtime_r='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='undef'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_procselfexe='define'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='define'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sockatmark='define'
+d_sockatmarkproto='undef'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='undef'
+d_statfs_s='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strlcat='undef'
+d_strlcpy='undef'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='define'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='define'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='define'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared Errno'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='/usr/bin/ar'
+full_csh='csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='3.4.4'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"lu"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version='2.3.90'
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='previous'
+hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='long'
+i64size='8'
+i64type='long long'
+i8size='1'
+i8type='char'
+i_arpainet='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='define'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+installarchlib='./install_me_here/usr/lib/perl5/5.8.7/armeb-linux'
+installbin='./install_me_here/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir='./install_me_here/usr/share/man/man1'
+installman3dir='./install_me_here/usr/share/man/man3'
+installprefix='./install_me_here/usr'
+installprefixexp='./install_me_here/usr'
+installprivlib='./install_me_here/usr/lib/perl5/5.8.7'
+installscript='./install_me_here/usr/bin'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.8.7/armeb-linux'
+installsitebin='./install_me_here/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.8.7'
+installsiteman1dir='./install_me_here/usr/share/man/man1'
+installsiteman3dir='./install_me_here/usr/share/man/man3'
+installsitescript='./install_me_here/usr/bin'
+installstyle='./install_me_herelib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='/usr/bin/test -h'
+ivdformat='"ld"'
+ivsize='4'
+ivtype='long'
+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+ksh=''
+ld='cc'
+lddlflags='-shared'
+ldflags=''
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc='/lib/libc-2.3.90.so'
+libperl='libperl.so'
+libpth='/lib /usr/lib'
+libs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+libsdirs=''
+libsfiles=''
+libsfound=''
+libspath=' /lib /usr/lib'
+libswanted='sfio socket inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util c cposix posix ucb BSD'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='8'
+longlongsize='8'
+longsize='4'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir='/usr/share/man/man1'
+man1direxp='/usr/share/man/man1'
+man1ext='1'
+man3dir='/usr/share/man/man3'
+man3direxp='/usr/share/man/man3'
+man3ext='3'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='armeb-linux'
+mydomain='.thg.se'
+myhostname='thg-slug1'
+myuname='linux thg-slug1 2.6.12.2 #1 wed jul 20 01:50:24 cest 2005 armv5teb unknown unknown gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='const void *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Errno'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_preserves_uv_bits='32'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='2.6.12.2'
+otherlibdirs=' '
+package='perl5'
+pager='/bin/more'
+passcat='cat /etc/passwd'
+patchlevel='8'
+path_sep=':'
+perl5='hostperl'
+perl=''
+perl_patchlevel=''
+perladmin='slug@thg-slug1.thg.se'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc -lgcc_s $$($(CC) -print-libgcc-file-name)'
+perlpath='hostperl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth=''
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.8.7'
+privlibexp='/usr/lib/perl5/5.8.7'
+procselfexe='"/proc/self/exe"'
+prototype='define'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rmail=''
+run=''
+runnm='false'
+sPRIEUldbl='"E"'
+sPRIFUldbl='"F"'
+sPRIGUldbl='"G"'
+sPRIXU64='"LX"'
+sPRId64='"Ld"'
+sPRIeldbl='"e"'
+sPRIfldbl='"f"'
+sPRIgldbl='"g"'
+sPRIi64='"Li"'
+sPRIo64='"Lo"'
+sPRIu64='"Lu"'
+sPRIx64='"Lx"'
+sSCNfldbl='"f"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='32'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='65'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 NUM33 NUM34 RTMIN NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "NUM33", "NUM34", "RTMIN", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
+sig_num='0 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
+sig_num_init='0, 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, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
+sig_size='69'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.8.7/armeb-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.8.7/armeb-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5/site_perl/5.8.7'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.8.7'
+siteman1dir='/usr/share/man/man1'
+siteman1direxp='/usr/share/man/man1'
+siteman3dir='/usr/share/man/man3'
+siteman3direxp='/usr/share/man/man3'
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='4'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_IO_read_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='7'
+sysman='/usr/share/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned long'
+u64size='8'
+u64type='unsigned long long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"lu"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long long'
+use5005threads='undef'
+use64bitall='undef'
+use64bitint='undef'
+usecrosscompile='undef'
+usedl='define'
+usefaststdio='define'
+useithreads='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemallocwrap='define'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usenm='false'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+usesfio='false'
+useshrplib='true'
+usesitecustomize='undef'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+usevfork='false'
+usrinc='/usr/include'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='4'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.8.7'
+version_patchlevel_string='version 8 subversion 7'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+# Configure command line arguments.
+config_arg0='Configure'
+config_args=''
+config_argc=0
+PERL_REVISION=5
+PERL_VERSION=8
+PERL_SUBVERSION=7
+PERL_API_REVISION=5
+PERL_API_VERSION=8
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=
+PERL_CONFIG_SH=true
diff --git a/meta/packages/perl/perl-5.8.7/config.sh-i386-linux b/meta/packages/perl/perl-5.8.7/config.sh-i386-linux
new file mode 100644
index 0000000000..ee989f66bb
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/config.sh-i386-linux
@@ -0,0 +1,1028 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Wed Mar 9 04:09:49 CST 2005
+# Configured by : kergoth
+# Target system : linux hyperion 2.6.11-ck1 #1 wed mar 2 23:48:21 cst 2005 i386 gnulinux
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+Mcc='Mcc'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='4'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='8'
+api_versionstring='5.8.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.8.7/i386-linux'
+archlibexp='/usr/lib/perl5/5.8.7/i386-linux'
+archname64=''
+archname='i386-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+binexp='/usr/bin'
+bison='bison'
+byacc='byacc'
+byteorder='1234'
+c=''
+castflags='0'
+cat='cat'
+cc='cc'
+cccdlflags='-fpic'
+ccdlflags='-Wl,-E -Wl,-rpath,./install_me_here/usr/lib/perl5/5.8.7/i386-linux/CORE'
+ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols='__GNUC_PATCHLEVEL__=5'
+ccversion=''
+cf_by='kergoth'
+cf_email='kergoth@hyperion.kergoth.com'
+cf_time='Wed Mar 9 04:09:49 CST 2005'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols='__GNUC__=3 __GNUC_MINOR__=3'
+cppflags='-fno-strict-aliasing -I/usr/local/include'
+cpplast='-'
+cppminus='-'
+cpprun='cc -E'
+cppstdin='cc -E'
+cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=3 __GNU_LIBRARY__=6 i386=1 __i386=1 __i386__=1 __i486=1 __i486__=1 _LARGEFILE_SOURCE=1 linux=1 __linux=1 __linux__=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 __STDC__=1 unix=1 __unix=1 __unix__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_SVID=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribut='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_bzero='define'
+d_casti32='undef'
+d_castneg='define'
+d_charvspr='define'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime='define'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='undef'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime_r='undef'
+d_gnulibc='define'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_index='undef'
+d_inetaton='define'
+d_int64_t='define'
+d_isascii='define'
+d_isfinite='undef'
+d_isinf='define'
+d_isnan='define'
+d_isnanl='define'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_libm_lib_version='define'
+d_link='define'
+d_localtime_r='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='undef'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_procselfexe='define'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='define'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sockatmark='define'
+d_sockatmarkproto='undef'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='undef'
+d_statfs_s='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strlcat='undef'
+d_strlcpy='undef'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='define'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='undef'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='define'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dynamic_ext='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared Errno'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='/usr/bin/ar'
+full_csh='csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='3.3.5 (Debian 1:3.3.5-6)'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"lu"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version='2.3.2'
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='recommended'
+hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='long'
+i64size='8'
+i64type='long long'
+i8size='1'
+i8type='char'
+i_arpainet='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='define'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+installarchlib='./install_me_here/usr/lib/perl5/5.8.7/i386-linux'
+installbin='./install_me_here/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir='./install_me_here/usr/share/man/man1'
+installman3dir='./install_me_here/usr/share/man/man3'
+installprefix='./install_me_here/usr'
+installprefixexp='./install_me_here/usr'
+installprivlib='./install_me_here/usr/lib/perl5/5.8.7'
+installscript='./install_me_here/usr/bin'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.8.7/i386-linux'
+installsitebin='./install_me_here/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.8.7'
+installsiteman1dir='./install_me_here/usr/share/man/man1'
+installsiteman3dir='./install_me_here/usr/share/man/man3'
+installsitescript='./install_me_here/usr/bin'
+installstyle='./install_me_herelib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='/usr/bin/test -h'
+ivdformat='"ld"'
+ivsize='4'
+ivtype='long'
+known_extensions='attrs B ByteLoader Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
+ksh=''
+ld='cc'
+lddlflags='-shared -L/usr/local/lib'
+ldflags=' -L/usr/local/lib'
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc='/lib/libc-2.3.2.so'
+libperl='libperl.so'
+libpth='/usr/local/lib /lib /usr/lib'
+libs='-ldl -lm -lc -lcrypt'
+libsdirs=' /usr/lib'
+libsfiles=' libdl.so libm.so libc.so libcrypt.so'
+libsfound=' /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libc.so /usr/lib/libcrypt.so'
+libspath=' /usr/local/lib /lib /usr/lib'
+libswanted='gdbm gdbm_compat db dl m c crypt'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='12'
+longlongsize='8'
+longsize='4'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir='/usr/share/man/man1'
+man1direxp='/usr/share/man/man1'
+man1ext='1'
+man3dir='/usr/share/man/man3'
+man3direxp='/usr/share/man/man3'
+man3ext='3'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='i386-linux'
+mydomain='.kergoth.com'
+myhostname='hyperion'
+myuname='linux hyperion 2.6.11-ck1 #1 wed mar 2 23:48:21 cst 2005 i386 gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='const void *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Errno'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_preserves_uv_bits='32'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='2.6.11-ck1'
+otherlibdirs=' '
+package='perl5'
+pager='/usr/bin/less'
+passcat='cat /etc/passwd'
+patchlevel='8'
+path_sep=':'
+perl5='hostperl'
+perl=''
+perl_patchlevel=''
+perladmin=''
+perllibs='-ldl -lm -lc -lcrypt'
+perlpath='hostperl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth=''
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.8.7'
+privlibexp='/usr/lib/perl5/5.8.7'
+procselfexe='"/proc/self/exe"'
+prototype='define'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rmail=''
+run=''
+runnm='false'
+sPRIEUldbl='"LE"'
+sPRIFUldbl='"LF"'
+sPRIGUldbl='"LG"'
+sPRIXU64='"LX"'
+sPRId64='"Ld"'
+sPRIeldbl='"Le"'
+sPRIfldbl='"Lf"'
+sPRIgldbl='"Lg"'
+sPRIi64='"Li"'
+sPRIo64='"Lo"'
+sPRIu64='"Lu"'
+sPRIx64='"Lx"'
+sSCNfldbl='"Lf"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='32'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='65'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 RTMIN NUM34 NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "RTMIN", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
+sig_num='0 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
+sig_num_init='0, 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, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
+sig_size='69'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.8.7/i386-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.8.7/i386-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5/site_perl/5.8.7'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.8.7'
+siteman1dir='/usr/share/man/man1'
+siteman1direxp='/usr/share/man/man1'
+siteman3dir='/usr/share/man/man3'
+siteman3direxp='/usr/share/man/man3'
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='4'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_IO_read_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='4'
+sysman='/usr/share/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned long'
+u64size='8'
+u64type='unsigned long long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"lu"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long long'
+use5005threads='undef'
+use64bitall='undef'
+use64bitint='undef'
+usecrosscompile='undef'
+usedl='define'
+usefaststdio='define'
+useithreads='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemallocwrap='define'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usenm='false'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+usesfio='false'
+useshrplib='true'
+usesitecustomize='undef'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+usevfork='false'
+usrinc='/usr/include'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='4'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.8.7'
+version_patchlevel_string='version 8 subversion 4'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+# Configure command line arguments.
+config_arg0='./Configure'
+config_args=''
+config_argc=0
+PERL_REVISION=5
+PERL_VERSION=8
+PERL_SUBVERSION=4
+PERL_API_REVISION=5
+PERL_API_VERSION=8
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=
+PERL_CONFIG_SH=true
diff --git a/meta/packages/perl/perl-5.8.7/config.sh-i686-linux b/meta/packages/perl/perl-5.8.7/config.sh-i686-linux
new file mode 100644
index 0000000000..7d5a531266
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/config.sh-i686-linux
@@ -0,0 +1,1028 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Wed Mar 9 04:09:49 CST 2005
+# Configured by : kergoth
+# Target system : linux hyperion 2.6.11-ck1 #1 wed mar 2 23:48:21 cst 2005 i686 gnulinux
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+Mcc='Mcc'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='4'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='8'
+api_versionstring='5.8.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.8.7/i686-linux'
+archlibexp='/usr/lib/perl5/5.8.7/i686-linux'
+archname64=''
+archname='i686-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+binexp='/usr/bin'
+bison='bison'
+byacc='byacc'
+byteorder='1234'
+c=''
+castflags='0'
+cat='cat'
+cc='cc'
+cccdlflags='-fpic'
+ccdlflags='-Wl,-E -Wl,-rpath,./install_me_here/usr/lib/perl5/5.8.7/i686-linux/CORE'
+ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols='__GNUC_PATCHLEVEL__=5'
+ccversion=''
+cf_by='kergoth'
+cf_email='kergoth@hyperion.kergoth.com'
+cf_time='Wed Mar 9 04:09:49 CST 2005'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols='__GNUC__=3 __GNUC_MINOR__=3'
+cppflags='-fno-strict-aliasing -I/usr/local/include'
+cpplast='-'
+cppminus='-'
+cpprun='cc -E'
+cppstdin='cc -E'
+cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=3 __GNU_LIBRARY__=6 i386=1 __i386=1 __i386__=1 __i486=1 __i486__=1 _LARGEFILE_SOURCE=1 linux=1 __linux=1 __linux__=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 __STDC__=1 unix=1 __unix=1 __unix__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_SVID=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribut='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_bzero='define'
+d_casti32='undef'
+d_castneg='define'
+d_charvspr='define'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='undef'
+d_ctermid_r='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime='define'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='undef'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime_r='undef'
+d_gnulibc='define'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_index='undef'
+d_inetaton='define'
+d_int64_t='define'
+d_isascii='define'
+d_isfinite='undef'
+d_isinf='define'
+d_isnan='define'
+d_isnanl='define'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_libm_lib_version='define'
+d_link='define'
+d_localtime_r='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='undef'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_procselfexe='define'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='define'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sockatmark='define'
+d_sockatmarkproto='undef'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='undef'
+d_statfs_s='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strlcat='undef'
+d_strlcpy='undef'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='define'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='undef'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='define'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dynamic_ext='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='attrs B ByteLoader Cwd Data/Dumper Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared Errno'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='/usr/bin/ar'
+full_csh='csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='3.3.5 (Debian 1:3.3.5-6)'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"lu"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version='2.3.2'
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='recommended'
+hostcat='cat /etc/hosts'
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='long'
+i64size='8'
+i64type='long long'
+i8size='1'
+i8type='char'
+i_arpainet='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='define'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+installarchlib='./install_me_here/usr/lib/perl5/5.8.7/i686-linux'
+installbin='./install_me_here/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir='./install_me_here/usr/share/man/man1'
+installman3dir='./install_me_here/usr/share/man/man3'
+installprefix='./install_me_here/usr'
+installprefixexp='./install_me_here/usr'
+installprivlib='./install_me_here/usr/lib/perl5/5.8.7'
+installscript='./install_me_here/usr/bin'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.8.7/i686-linux'
+installsitebin='./install_me_here/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.8.7'
+installsiteman1dir='./install_me_here/usr/share/man/man1'
+installsiteman3dir='./install_me_here/usr/share/man/man3'
+installsitescript='./install_me_here/usr/bin'
+installstyle='./install_me_herelib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='/usr/bin/test -h'
+ivdformat='"ld"'
+ivsize='4'
+ivtype='long'
+known_extensions='attrs B ByteLoader Cwd Data/Dumper DB_File Devel/DProf Devel/Peek Devel/PPPort Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread threads Time/HiRes Unicode/Normalize XS/APItest XS/Typemap threads/shared'
+ksh=''
+ld='cc'
+lddlflags='-shared -L/usr/local/lib'
+ldflags=' -L/usr/local/lib'
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc='/lib/libc-2.3.2.so'
+libperl='libperl.so'
+libpth='/usr/local/lib /lib /usr/lib'
+libs='-ldl -lm -lc -lcrypt'
+libsdirs=' /usr/lib'
+libsfiles=' libdl.so libm.so libc.so libcrypt.so'
+libsfound=' /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libc.so /usr/lib/libcrypt.so'
+libspath=' /usr/local/lib /lib /usr/lib'
+libswanted='gdbm gdbm_compat db dl m c crypt'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='12'
+longlongsize='8'
+longsize='4'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir='/usr/share/man/man1'
+man1direxp='/usr/share/man/man1'
+man1ext='1'
+man3dir='/usr/share/man/man3'
+man3direxp='/usr/share/man/man3'
+man3ext='3'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='i686-linux'
+mydomain='.kergoth.com'
+myhostname='hyperion'
+myuname='linux hyperion 2.6.11-ck1 #1 wed mar 2 23:48:21 cst 2005 i686 gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='const void *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Errno'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_preserves_uv_bits='32'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='2.6.11-ck1'
+otherlibdirs=' '
+package='perl5'
+pager='/usr/bin/less'
+passcat='cat /etc/passwd'
+patchlevel='8'
+path_sep=':'
+perl5='hostperl'
+perl=''
+perl_patchlevel=''
+perladmin=''
+perllibs='-ldl -lm -lc -lcrypt'
+perlpath='hostperl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth=''
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.8.7'
+privlibexp='/usr/lib/perl5/5.8.7'
+procselfexe='"/proc/self/exe"'
+prototype='define'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rmail=''
+run=''
+runnm='false'
+sPRIEUldbl='"LE"'
+sPRIFUldbl='"LF"'
+sPRIGUldbl='"LG"'
+sPRIXU64='"LX"'
+sPRId64='"Ld"'
+sPRIeldbl='"Le"'
+sPRIfldbl='"Lf"'
+sPRIgldbl='"Lg"'
+sPRIi64='"Li"'
+sPRIo64='"Lo"'
+sPRIu64='"Lu"'
+sPRIx64='"Lx"'
+sSCNfldbl='"Lf"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='32'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='65'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS NUM32 RTMIN NUM34 NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL UNUSED '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "BUS", "FPE", "KILL", "USR1", "SEGV", "USR2", "PIPE", "ALRM", "TERM", "STKFLT", "CHLD", "CONT", "STOP", "TSTP", "TTIN", "TTOU", "URG", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "IO", "PWR", "SYS", "NUM32", "RTMIN", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", "UNUSED", 0'
+sig_num='0 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 17 29 31 '
+sig_num_init='0, 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, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
+sig_size='69'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.8.7/i686-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.8.7/i686-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5/site_perl/5.8.7'
+sitelib_stem='/usr/lib/perl5/site_perl'
+sitelibexp='/usr/lib/perl5/site_perl/5.8.7'
+siteman1dir='/usr/share/man/man1'
+siteman1direxp='/usr/share/man/man1'
+siteman3dir='/usr/share/man/man3'
+siteman3direxp='/usr/share/man/man3'
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='4'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_IO_read_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='4'
+sysman='/usr/share/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned long'
+u64size='8'
+u64type='unsigned long long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"lu"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long long'
+use5005threads='undef'
+use64bitall='undef'
+use64bitint='undef'
+usecrosscompile='undef'
+usedl='define'
+usefaststdio='define'
+useithreads='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemallocwrap='define'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usenm='false'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+usesfio='false'
+useshrplib='true'
+usesitecustomize='undef'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+usevfork='false'
+usrinc='/usr/include'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='4'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.8.7'
+version_patchlevel_string='version 8 subversion 4'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+# Configure command line arguments.
+config_arg0='./Configure'
+config_args=''
+config_argc=0
+PERL_REVISION=5
+PERL_VERSION=8
+PERL_SUBVERSION=4
+PERL_API_REVISION=5
+PERL_API_VERSION=8
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=
+PERL_CONFIG_SH=true
diff --git a/meta/packages/perl/perl-5.8.7/config.sh-mipsel-linux b/meta/packages/perl/perl-5.8.7/config.sh-mipsel-linux
new file mode 100644
index 0000000000..7696a3dff0
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/config.sh-mipsel-linux
@@ -0,0 +1,1031 @@
+#!/bin/sh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : perl5
+# Source directory : .
+# Configuration time: Mon Sep 20 18:18:52 CEST 2004
+# Configured by : root
+# Target system : linux mtx-nfs 2.4.24mtx #59 mon jul 12 15:19:41 cest 2004 mips gnulinux
+
+Author=''
+Date='$Date'
+Header=''
+Id='$Id'
+Locker=''
+Log='$Log'
+Mcc='Mcc'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source=''
+State=''
+_a='.a'
+_exe=''
+_o='.o'
+afs='false'
+afsroot='/afs'
+alignbytes='8'
+ansi2knr=''
+aphostname='/bin/hostname'
+api_revision='5'
+api_subversion='0'
+api_version='8'
+api_versionstring='5.8.0'
+ar='ar'
+archlib='/usr/lib/perl5/5.8.7/mipsel-linux'
+archlibexp='/usr/lib/perl5/5.8.7/mipsel-linux'
+archname64=''
+archname='mips-linux'
+archobjs=''
+asctime_r_proto='0'
+awk='awk'
+baserev='5.0'
+bash=''
+bin='/usr/bin'
+binexp='/usr/bin'
+bison='bison'
+byacc='byacc'
+byteorder='1234'
+c=''
+castflags='0'
+cat='cat'
+cc='cc'
+cccdlflags='-fpic'
+ccdlflags='-rdynamic'
+ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ccname='gcc'
+ccsymbols='__GNUC_MINOR__=3 __GNUC_PATCHLEVEL__=4'
+ccversion=''
+cf_by='root'
+cf_email='root@mtx-nfs.nonet'
+cf_time='Mon Sep 20 18:18:52 CEST 2004'
+charsize='1'
+chgrp=''
+chmod='chmod'
+chown=''
+clocktype='clock_t'
+comm='comm'
+compress=''
+contains='grep'
+cp='cp'
+cpio=''
+cpp='cpp'
+cpp_stuff='42'
+cppccsymbols='__GNUC__=3'
+cppflags='-fno-strict-aliasing -I/usr/local/include'
+cpplast='-'
+cppminus='-'
+cpprun='cc -E'
+cppstdin='cc -E'
+cppsymbols='__ELF__=1 _FILE_OFFSET_BITS=64 __GLIBC__=2 __GLIBC_MINOR__=3 __GNUC_MINOR__=3 __GNU_LIBRARY__=6 LANGUAGE_C=1 _LANGUAGE_C=1 __LANGUAGE_C=1 __LANGUAGE_C__=1 _LARGEFILE_SOURCE=1 MIPSEL=1 _MIPSEL=1 __MIPSEL=1 __MIPSEL__=1 _MIPS_FPSET=16 _MIPS_ISA=1 _MIPS_SIM=1 _MIPS_SZINT=32 _MIPS_SZLONG=32 _MIPS_SZPTR=32 __PIC__=1 _POSIX_C_SOURCE=199506 _POSIX_SOURCE=1 R3000=1 _R3000=1 __R3000=1 __R3000__=1 __STDC__=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_LARGEFILE=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_SVID=1 linux=1 __linux=1 __linux__=1 mips=1 _mips=1 __mips=1 __mips__=1 __pic__=1 unix=1 __unix=1 __unix__=1'
+crypt_r_proto='0'
+cryptlib=''
+csh='csh'
+ctermid_r_proto='0'
+ctime_r_proto='0'
+d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
+d_access='define'
+d_accessx='undef'
+d_aintl='undef'
+d_alarm='define'
+d_archlib='define'
+d_asctime_r='undef'
+d_atolf='undef'
+d_atoll='define'
+d_attribut='define'
+d_bcmp='define'
+d_bcopy='define'
+d_bsd='undef'
+d_bsdgetpgrp='undef'
+d_bsdsetpgrp='undef'
+d_bzero='define'
+d_casti32='define'
+d_castneg='define'
+d_charvspr='define'
+d_chown='define'
+d_chroot='define'
+d_chsize='undef'
+d_class='undef'
+d_closedir='define'
+d_cmsghdr_s='define'
+d_const='define'
+d_copysignl='define'
+d_crypt='define'
+d_crypt_r='undef'
+d_csh='define'
+d_ctermid_r='undef'
+d_ctime_r='undef'
+d_cuserid='define'
+d_dbl_dig='define'
+d_dbminitproto='undef'
+d_difftime='define'
+d_dirfd='define'
+d_dirnamlen='undef'
+d_dlerror='define'
+d_dlopen='define'
+d_dlsymun='undef'
+d_dosuid='undef'
+d_drand48_r='undef'
+d_drand48proto='define'
+d_dup2='define'
+d_eaccess='undef'
+d_endgrent='define'
+d_endgrent_r='undef'
+d_endhent='define'
+d_endhostent_r='undef'
+d_endnent='define'
+d_endnetent_r='undef'
+d_endpent='define'
+d_endprotoent_r='undef'
+d_endpwent='define'
+d_endpwent_r='undef'
+d_endsent='define'
+d_endservent_r='undef'
+d_eofnblk='define'
+d_eunice='undef'
+d_faststdio='undef'
+d_fchdir='define'
+d_fchmod='define'
+d_fchown='define'
+d_fcntl='define'
+d_fcntl_can_lock='define'
+d_fd_macros='define'
+d_fd_set='define'
+d_fds_bits='undef'
+d_fgetpos='define'
+d_finite='define'
+d_finitel='define'
+d_flexfnam='define'
+d_flock='define'
+d_flockproto='define'
+d_fork='define'
+d_fp_class='undef'
+d_fpathconf='define'
+d_fpclass='undef'
+d_fpclassify='undef'
+d_fpclassl='undef'
+d_fpos64_t='undef'
+d_frexpl='define'
+d_fs_data_s='undef'
+d_fseeko='define'
+d_fsetpos='define'
+d_fstatfs='define'
+d_fstatvfs='define'
+d_fsync='define'
+d_ftello='define'
+d_ftime='undef'
+d_getcwd='define'
+d_getespwnam='undef'
+d_getfsstat='undef'
+d_getgrent='define'
+d_getgrent_r='undef'
+d_getgrgid_r='undef'
+d_getgrnam_r='undef'
+d_getgrps='define'
+d_gethbyaddr='define'
+d_gethbyname='define'
+d_gethent='define'
+d_gethname='define'
+d_gethostbyaddr_r='undef'
+d_gethostbyname_r='undef'
+d_gethostent_r='undef'
+d_gethostprotos='define'
+d_getitimer='define'
+d_getlogin='define'
+d_getlogin_r='undef'
+d_getmnt='undef'
+d_getmntent='define'
+d_getnbyaddr='define'
+d_getnbyname='define'
+d_getnent='define'
+d_getnetbyaddr_r='undef'
+d_getnetbyname_r='undef'
+d_getnetent_r='undef'
+d_getnetprotos='define'
+d_getpagsz='define'
+d_getpbyname='define'
+d_getpbynumber='define'
+d_getpent='define'
+d_getpgid='define'
+d_getpgrp2='undef'
+d_getpgrp='define'
+d_getppid='define'
+d_getprior='define'
+d_getprotobyname_r='undef'
+d_getprotobynumber_r='undef'
+d_getprotoent_r='undef'
+d_getprotoprotos='define'
+d_getprpwnam='undef'
+d_getpwent='define'
+d_getpwent_r='undef'
+d_getpwnam_r='undef'
+d_getpwuid_r='undef'
+d_getsbyname='define'
+d_getsbyport='define'
+d_getsent='define'
+d_getservbyname_r='undef'
+d_getservbyport_r='undef'
+d_getservent_r='undef'
+d_getservprotos='define'
+d_getspnam='define'
+d_getspnam_r='undef'
+d_gettimeod='define'
+d_gmtime_r='undef'
+d_gnulibc='define'
+d_grpasswd='define'
+d_hasmntopt='define'
+d_htonl='define'
+d_ilogbl='define'
+d_index='undef'
+d_inetaton='define'
+d_int64_t='define'
+d_isascii='define'
+d_isfinite='undef'
+d_isinf='define'
+d_isnan='define'
+d_isnanl='define'
+d_killpg='define'
+d_lchown='define'
+d_ldbl_dig='define'
+d_libm_lib_version='define'
+d_link='define'
+d_localtime_r='undef'
+d_locconv='define'
+d_lockf='define'
+d_longdbl='define'
+d_longlong='define'
+d_lseekproto='define'
+d_lstat='define'
+d_madvise='define'
+d_mblen='define'
+d_mbstowcs='define'
+d_mbtowc='define'
+d_memchr='define'
+d_memcmp='define'
+d_memcpy='define'
+d_memmove='define'
+d_memset='define'
+d_mkdir='define'
+d_mkdtemp='define'
+d_mkfifo='define'
+d_mkstemp='define'
+d_mkstemps='undef'
+d_mktime='define'
+d_mmap='define'
+d_modfl='define'
+d_modfl_pow32_bug='undef'
+d_modflproto='undef'
+d_mprotect='define'
+d_msg='define'
+d_msg_ctrunc='define'
+d_msg_dontroute='define'
+d_msg_oob='define'
+d_msg_peek='define'
+d_msg_proxy='define'
+d_msgctl='define'
+d_msgget='define'
+d_msghdr_s='define'
+d_msgrcv='define'
+d_msgsnd='define'
+d_msync='define'
+d_munmap='define'
+d_mymalloc='undef'
+d_nice='define'
+d_nl_langinfo='define'
+d_nv_preserves_uv='define'
+d_off64_t='undef'
+d_old_pthread_create_joinable='undef'
+d_oldpthreads='undef'
+d_oldsock='undef'
+d_open3='define'
+d_pathconf='define'
+d_pause='define'
+d_perl_otherlibdirs='undef'
+d_phostname='undef'
+d_pipe='define'
+d_poll='define'
+d_portable='define'
+d_procselfexe='define'
+d_pthread_atfork='undef'
+d_pthread_attr_setscope='define'
+d_pthread_yield='undef'
+d_pwage='undef'
+d_pwchange='undef'
+d_pwclass='undef'
+d_pwcomment='undef'
+d_pwexpire='undef'
+d_pwgecos='define'
+d_pwpasswd='define'
+d_pwquota='undef'
+d_qgcvt='define'
+d_quad='define'
+d_random_r='undef'
+d_readdir64_r='undef'
+d_readdir='define'
+d_readdir_r='undef'
+d_readlink='define'
+d_readv='define'
+d_recvmsg='define'
+d_rename='define'
+d_rewinddir='define'
+d_rmdir='define'
+d_safebcpy='undef'
+d_safemcpy='undef'
+d_sanemcmp='define'
+d_sbrkproto='define'
+d_scalbnl='define'
+d_sched_yield='define'
+d_scm_rights='define'
+d_seekdir='define'
+d_select='define'
+d_sem='define'
+d_semctl='define'
+d_semctl_semid_ds='define'
+d_semctl_semun='define'
+d_semget='define'
+d_semop='define'
+d_sendmsg='define'
+d_setegid='define'
+d_seteuid='define'
+d_setgrent='define'
+d_setgrent_r='undef'
+d_setgrps='define'
+d_sethent='define'
+d_sethostent_r='undef'
+d_setitimer='define'
+d_setlinebuf='define'
+d_setlocale='define'
+d_setlocale_r='undef'
+d_setnent='define'
+d_setnetent_r='undef'
+d_setpent='define'
+d_setpgid='define'
+d_setpgrp2='undef'
+d_setpgrp='define'
+d_setprior='define'
+d_setproctitle='undef'
+d_setprotoent_r='undef'
+d_setpwent='define'
+d_setpwent_r='undef'
+d_setregid='define'
+d_setresgid='define'
+d_setresuid='define'
+d_setreuid='define'
+d_setrgid='undef'
+d_setruid='undef'
+d_setsent='define'
+d_setservent_r='undef'
+d_setsid='define'
+d_setvbuf='define'
+d_sfio='undef'
+d_shm='define'
+d_shmat='define'
+d_shmatprototype='define'
+d_shmctl='define'
+d_shmdt='define'
+d_shmget='define'
+d_sigaction='define'
+d_sigprocmask='define'
+d_sigsetjmp='define'
+d_sockatmark='define'
+d_sockatmarkproto='undef'
+d_socket='define'
+d_socklen_t='define'
+d_sockpair='define'
+d_socks5_init='undef'
+d_sqrtl='define'
+d_srand48_r='undef'
+d_srandom_r='undef'
+d_sresgproto='undef'
+d_sresuproto='undef'
+d_statblks='define'
+d_statfs_f_flags='undef'
+d_statfs_s='define'
+d_statvfs='define'
+d_stdio_cnt_lval='undef'
+d_stdio_ptr_lval='undef'
+d_stdio_ptr_lval_nochange_cnt='undef'
+d_stdio_ptr_lval_sets_cnt='undef'
+d_stdio_stream_array='undef'
+d_stdiobase='undef'
+d_stdstdio='undef'
+d_strchr='define'
+d_strcoll='define'
+d_strctcpy='define'
+d_strerrm='strerror(e)'
+d_strerror='define'
+d_strerror_r='undef'
+d_strftime='define'
+d_strlcat='undef'
+d_strlcpy='undef'
+d_strtod='define'
+d_strtol='define'
+d_strtold='define'
+d_strtoll='define'
+d_strtoq='define'
+d_strtoul='define'
+d_strtoull='define'
+d_strtouq='define'
+d_strxfrm='define'
+d_suidsafe='undef'
+d_symlink='define'
+d_syscall='define'
+d_syscallproto='define'
+d_sysconf='define'
+d_sysernlst=''
+d_syserrlst='define'
+d_system='define'
+d_tcgetpgrp='define'
+d_tcsetpgrp='define'
+d_telldir='define'
+d_telldirproto='define'
+d_time='define'
+d_times='define'
+d_tm_tm_gmtoff='define'
+d_tm_tm_zone='define'
+d_tmpnam_r='undef'
+d_truncate='define'
+d_ttyname_r='undef'
+d_tzname='define'
+d_u32align='undef'
+d_ualarm='define'
+d_umask='define'
+d_uname='define'
+d_union_semun='undef'
+d_unordered='undef'
+d_usleep='define'
+d_usleepproto='define'
+d_ustat='define'
+d_vendorarch='undef'
+d_vendorbin='undef'
+d_vendorlib='undef'
+d_vendorscript='undef'
+d_vfork='undef'
+d_void_closedir='undef'
+d_voidsig='define'
+d_voidtty=''
+d_volatile='define'
+d_vprintf='define'
+d_wait4='define'
+d_waitpid='define'
+d_wcstombs='define'
+d_wctomb='define'
+d_writev='define'
+d_xenix='undef'
+date='date'
+db_hashtype='u_int32_t'
+db_prefixtype='size_t'
+db_version_major=''
+db_version_minor=''
+db_version_patch=''
+defvoidused='15'
+direntrytype='struct dirent'
+dlext='so'
+dlsrc='dl_dlopen.xs'
+doublesize='8'
+drand01='drand48()'
+drand48_r_proto='0'
+dynamic_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+eagain='EAGAIN'
+ebcdic='undef'
+echo='echo'
+egrep='egrep'
+emacs=''
+endgrent_r_proto='0'
+endhostent_r_proto='0'
+endnetent_r_proto='0'
+endprotoent_r_proto='0'
+endpwent_r_proto='0'
+endservent_r_proto='0'
+eunicefix=':'
+exe_ext=''
+expr='expr'
+extensions='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared Errno'
+extras=''
+fflushNULL='define'
+fflushall='undef'
+find=''
+firstmakefile='makefile'
+flex=''
+fpossize='16'
+fpostype='fpos_t'
+freetype='void'
+from=':'
+full_ar='/usr/bin/ar'
+full_csh='/bin/csh'
+full_sed='/bin/sed'
+gccansipedantic=''
+gccosandvers=''
+gccversion='3.3.4 (Debian 1:3.3.4-3)'
+getgrent_r_proto='0'
+getgrgid_r_proto='0'
+getgrnam_r_proto='0'
+gethostbyaddr_r_proto='0'
+gethostbyname_r_proto='0'
+gethostent_r_proto='0'
+getlogin_r_proto='0'
+getnetbyaddr_r_proto='0'
+getnetbyname_r_proto='0'
+getnetent_r_proto='0'
+getprotobyname_r_proto='0'
+getprotobynumber_r_proto='0'
+getprotoent_r_proto='0'
+getpwent_r_proto='0'
+getpwnam_r_proto='0'
+getpwuid_r_proto='0'
+getservbyname_r_proto='0'
+getservbyport_r_proto='0'
+getservent_r_proto='0'
+getspnam_r_proto='0'
+gidformat='"lu"'
+gidsign='1'
+gidsize='4'
+gidtype='gid_t'
+glibpth='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
+gmake='gmake'
+gmtime_r_proto='0'
+gnulibc_version='2.3.2'
+grep='grep'
+groupcat='cat /etc/group'
+groupstype='gid_t'
+gzip='gzip'
+h_fcntl='false'
+h_sysfile='true'
+hint='recommended'
+hostcat=''
+html1dir=' '
+html1direxp=''
+html3dir=' '
+html3direxp=''
+i16size='2'
+i16type='short'
+i32size='4'
+i32type='long'
+i64size='8'
+i64type='long long'
+i8size='1'
+i8type='char'
+i_arpainet='define'
+i_bsdioctl=''
+i_crypt='define'
+i_db='undef'
+i_dbm='undef'
+i_dirent='define'
+i_dld='undef'
+i_dlfcn='define'
+i_fcntl='undef'
+i_float='define'
+i_fp='undef'
+i_fp_class='undef'
+i_gdbm='undef'
+i_grp='define'
+i_ieeefp='undef'
+i_inttypes='define'
+i_langinfo='define'
+i_libutil='undef'
+i_limits='define'
+i_locale='define'
+i_machcthr='undef'
+i_malloc='define'
+i_math='define'
+i_memory='undef'
+i_mntent='define'
+i_ndbm='undef'
+i_netdb='define'
+i_neterrno='undef'
+i_netinettcp='define'
+i_niin='define'
+i_poll='define'
+i_prot='undef'
+i_pthread='define'
+i_pwd='define'
+i_rpcsvcdbm='undef'
+i_sfio='undef'
+i_sgtty='undef'
+i_shadow='define'
+i_socks='undef'
+i_stdarg='define'
+i_stddef='define'
+i_stdlib='define'
+i_string='define'
+i_sunmath='undef'
+i_sysaccess='undef'
+i_sysdir='define'
+i_sysfile='define'
+i_sysfilio='undef'
+i_sysin='undef'
+i_sysioctl='define'
+i_syslog='define'
+i_sysmman='define'
+i_sysmode='undef'
+i_sysmount='define'
+i_sysndir='undef'
+i_sysparam='define'
+i_sysresrc='define'
+i_syssecrt='undef'
+i_sysselct='define'
+i_syssockio='undef'
+i_sysstat='define'
+i_sysstatfs='define'
+i_sysstatvfs='define'
+i_systime='define'
+i_systimek='undef'
+i_systimes='define'
+i_systypes='define'
+i_sysuio='define'
+i_sysun='define'
+i_sysutsname='define'
+i_sysvfs='define'
+i_syswait='define'
+i_termio='undef'
+i_termios='define'
+i_time='define'
+i_unistd='define'
+i_ustat='define'
+i_utime='define'
+i_values='define'
+i_varargs='undef'
+i_varhdr='stdarg.h'
+i_vfork='undef'
+ignore_versioned_solibs='y'
+inc_version_list=' '
+inc_version_list_init='0'
+incpath=''
+inews=''
+installarchlib='./install_me_here/usr/lib/perl5/5.8.7/mipsel-linux'
+installbin='./install_me_here/usr/bin'
+installhtml1dir=''
+installhtml3dir=''
+installman1dir='./install_me_here/usr/share/man/man1'
+installman3dir='./install_me_here/usr/share/man/man3'
+installprefix='./install_me_here/usr'
+installprefixexp='./install_me_here/usr'
+installprivlib='./install_me_here/usr/lib/perl5/5.8.7'
+installscript='./install_me_here/usr/bin'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.8.7/mipsel-linux'
+installsitebin='./install_me_here/usr/bin'
+installsitehtml1dir=''
+installsitehtml3dir=''
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.8.7'
+installsiteman1dir='./install_me_here/usr/share/man/man1'
+installsiteman3dir='./install_me_here/usr/share/man/man3'
+installsitescript='./install_me_here/usr/bin'
+installstyle='./install_me_herelib/perl5'
+installusrbinperl='undef'
+installvendorarch=''
+installvendorbin=''
+installvendorhtml1dir=''
+installvendorhtml3dir=''
+installvendorlib=''
+installvendorman1dir=''
+installvendorman3dir=''
+installvendorscript=''
+intsize='4'
+issymlink='/usr/bin/test -h'
+ivdformat='"ld"'
+ivsize='4'
+ivtype='long'
+known_extensions='B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Thread Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared'
+ksh=''
+ld='cc'
+lddlflags='-shared -L/usr/local/lib'
+ldflags=' -L/usr/local/lib'
+ldflags_uselargefiles=''
+ldlibpthname='LD_LIBRARY_PATH'
+less='less'
+lib_ext='.a'
+libc='/lib/libc-2.3.2.so'
+libperl='libperl.so'
+libpth='/usr/local/lib /lib /usr/lib'
+libs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+libsdirs=' /usr/lib'
+libsfiles=' libnsl.so libdl.so libm.so libcrypt.so libutil.so libc.so'
+libsfound=' /usr/lib/libnsl.so /usr/lib/libdl.so /usr/lib/libm.so /usr/lib/libcrypt.so /usr/lib/libutil.so /usr/lib/libc.so'
+libspath=' /usr/local/lib /lib /usr/lib'
+libswanted='sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun m crypt sec util c cposix posix ucb BSD'
+libswanted_uselargefiles=''
+line=''
+lint=''
+lkflags=''
+ln='ln'
+lns='/bin/ln -s'
+localtime_r_proto='0'
+locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
+loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
+longdblsize='8'
+longlongsize='8'
+longsize='4'
+lp=''
+lpr=''
+ls='ls'
+lseeksize='8'
+lseektype='off_t'
+mail=''
+mailx=''
+make='make'
+make_set_make='#'
+mallocobj=''
+mallocsrc=''
+malloctype='void *'
+man1dir='/usr/share/man/man1'
+man1direxp='/usr/share/man/man1'
+man1ext='1'
+man3dir='/usr/share/man/man3'
+man3direxp='/usr/share/man/man3'
+man3ext='3'
+mips_type=''
+mistrustnm=''
+mkdir='mkdir'
+mmaptype='void *'
+modetype='mode_t'
+more='more'
+multiarch='undef'
+mv=''
+myarchname='mips-linux'
+mydomain='.nonet'
+myhostname='mtx-nfs'
+myuname='linux mtx-nfs 2.4.24mtx #59 mon jul 12 15:19:41 cest 2004 mips gnulinux '
+n='-n'
+need_va_copy='undef'
+netdb_hlen_type='size_t'
+netdb_host_type='const void *'
+netdb_name_type='const char *'
+netdb_net_type='in_addr_t'
+nm='nm'
+nm_opt=''
+nm_so_opt='--dynamic'
+nonxs_ext='Errno'
+nroff='nroff'
+nvEUformat='"E"'
+nvFUformat='"F"'
+nvGUformat='"G"'
+nv_preserves_uv_bits='32'
+nveformat='"e"'
+nvfformat='"f"'
+nvgformat='"g"'
+nvsize='8'
+nvtype='double'
+o_nonblock='O_NONBLOCK'
+obj_ext='.o'
+old_pthread_create_joinable=''
+optimize='-O2'
+orderlib='false'
+osname='linux'
+osvers='2.4.24mtx'
+otherlibdirs=' '
+package='perl5'
+pager='/usr/bin/less'
+passcat='cat /etc/passwd'
+patchlevel='8'
+path_sep=':'
+perl5='/usr/bin/perl'
+perl=''
+perl_patchlevel=''
+perladmin='root@mtx-nfs.nonet'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perlpath='/usr/bin/perl'
+pg='pg'
+phostname='hostname'
+pidtype='pid_t'
+plibpth=''
+pm_apiversion='5.005'
+pmake=''
+pr=''
+prefix='/usr'
+prefixexp='/usr'
+privlib='/usr/lib/perl5/5.8.7'
+privlibexp='/usr/lib/perl5/5.8.7'
+procselfexe='"/proc/self/exe"'
+prototype='define'
+ptrsize='4'
+quadkind='3'
+quadtype='long long'
+randbits='48'
+randfunc='drand48'
+random_r_proto='0'
+randseedtype='long'
+ranlib=':'
+rd_nodata='-1'
+readdir64_r_proto='0'
+readdir_r_proto='0'
+revision='5'
+rm='rm'
+rmail=''
+run=''
+runnm='false'
+sPRIEUldbl='"E"'
+sPRIFUldbl='"F"'
+sPRIGUldbl='"G"'
+sPRIXU64='"LX"'
+sPRId64='"Ld"'
+sPRIeldbl='"e"'
+sPRIfldbl='"f"'
+sPRIgldbl='"g"'
+sPRIi64='"Li"'
+sPRIo64='"Lo"'
+sPRIu64='"Lu"'
+sPRIx64='"Lx"'
+sSCNfldbl='"f"'
+sched_yield='sched_yield()'
+scriptdir='/usr/bin'
+scriptdirexp='/usr/bin'
+sed='sed'
+seedfunc='srand48'
+selectminbits='32'
+selecttype='fd_set *'
+sendmail=''
+setgrent_r_proto='0'
+sethostent_r_proto='0'
+setlocale_r_proto='0'
+setnetent_r_proto='0'
+setprotoent_r_proto='0'
+setpwent_r_proto='0'
+setservent_r_proto='0'
+sh='/bin/sh'
+shar=''
+sharpbang='#!'
+shmattype='void *'
+shortsize='2'
+shrpenv=''
+shsharp='true'
+sig_count='128'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ NUM32 NUM33 NUM34 RTMIN NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 NUM64 NUM65 NUM66 NUM67 NUM68 NUM69 NUM70 NUM71 NUM72 NUM73 NUM74 NUM75 NUM76 NUM77 NUM78 NUM79 NUM80 NUM81 NUM82 NUM83 NUM84 NUM85 NUM86 NUM87 NUM88 NUM89 NUM90 NUM91 NUM92 NUM93 NUM94 NUM95 NUM96 NUM97 NUM98 NUM99 NUM100 NUM101 NUM102 NUM103 NUM104 NUM105 NUM106 NUM107 NUM108 NUM109 NUM110 NUM111 NUM112 NUM113 NUM114 NUM115 NUM116 NUM117 NUM118 NUM119 NUM120 NUM121 NUM122 NUM123 NUM124 NUM125 NUM126 RTMAX IOT CLD POLL '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "PWR", "WINCH", "URG", "IO", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "VTALRM", "PROF", "XCPU", "XFSZ", "NUM32", "NUM33", "NUM34", "RTMIN", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "NUM64", "NUM65", "NUM66", "NUM67", "NUM68", "NUM69", "NUM70", "NUM71", "NUM72", "NUM73", "NUM74", "NUM75", "NUM76", "NUM77", "NUM78", "NUM79", "NUM80", "NUM81", "NUM82", "NUM83", "NUM84", "NUM85", "NUM86", "NUM87", "NUM88", "NUM89", "NUM90", "NUM91", "NUM92", "NUM93", "NUM94", "NUM95", "NUM96", "NUM97", "NUM98", "NUM99", "NUM100", "NUM101", "NUM102", "NUM103", "NUM104", "NUM105", "NUM106", "NUM107", "NUM108", "NUM109", "NUM110", "NUM111", "NUM112", "NUM113", "NUM114", "NUM115", "NUM116", "NUM117", "NUM118", "NUM119", "NUM120", "NUM121", "NUM122", "NUM123", "NUM124", "NUM125", "NUM126", "RTMAX", "IOT", "CLD", "POLL", 0'
+sig_num='0 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 6 18 22 '
+sig_num_init='0, 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, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 6, 18, 22, 0'
+sig_size='131'
+signal_t='void'
+sitearch='/usr/lib/perl5/site_perl/5.8.7/mipsel-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.8.7/mipsel-linux'
+sitebin='/usr/bin'
+sitebinexp='/usr/bin'
+sitehtml1dir=''
+sitehtml1direxp=''
+sitehtml3dir=''
+sitehtml3direxp=''
+sitelib='/usr/lib/perl5'
+sitelib_stem='/usr/lib/perl5'
+sitelibexp='/usr/lib/perl5'
+siteman1dir='/usr/share/man/man1'
+siteman1direxp='/usr/share/man/man1'
+siteman3dir='/usr/share/man/man3'
+siteman3direxp='/usr/share/man/man3'
+siteprefix='/usr'
+siteprefixexp='/usr'
+sitescript='/usr/bin'
+sitescriptexp='/usr/bin'
+sizesize='4'
+sizetype='size_t'
+sleep=''
+smail=''
+so='so'
+sockethdr=''
+socketlib=''
+socksizetype='socklen_t'
+sort='sort'
+spackage='Perl5'
+spitshell='cat'
+srand48_r_proto='0'
+srandom_r_proto='0'
+src='.'
+ssizetype='ssize_t'
+startperl='#!/usr/bin/perl'
+startsh='#!/bin/sh'
+static_ext=' '
+stdchar='char'
+stdio_base='((fp)->_IO_read_base)'
+stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
+stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
+stdio_filbuf=''
+stdio_ptr='((fp)->_IO_read_ptr)'
+stdio_stream_array=''
+strerror_r_proto='0'
+strings='/usr/include/string.h'
+submit=''
+subversion='3'
+sysman='/usr/share/man/man1'
+tail=''
+tar=''
+targetarch=''
+tbl=''
+tee=''
+test='test'
+timeincl='/usr/include/sys/time.h /usr/include/time.h '
+timetype='time_t'
+tmpnam_r_proto='0'
+to=':'
+touch='touch'
+tr='tr'
+trnl='\n'
+troff=''
+ttyname_r_proto='0'
+u16size='2'
+u16type='unsigned short'
+u32size='4'
+u32type='unsigned long'
+u64size='8'
+u64type='unsigned long long'
+u8size='1'
+u8type='unsigned char'
+uidformat='"lu"'
+uidsign='1'
+uidsize='4'
+uidtype='uid_t'
+uname='uname'
+uniq='uniq'
+uquadtype='unsigned long long'
+use5005threads='undef'
+use64bitall='undef'
+use64bitint='undef'
+usecrosscompile='undef'
+usedl='define'
+usefaststdio='define'
+useithreads='undef'
+uselargefiles='define'
+uselongdouble='undef'
+usemorebits='undef'
+usemultiplicity='undef'
+usemymalloc='n'
+usemallocwrap='define'
+usenm='false'
+useopcode='true'
+useperlio='define'
+useposix='true'
+usereentrant='undef'
+usesfio='false'
+useshrplib='true'
+usesitecustomize='undef'
+usesocks='undef'
+usethreads='undef'
+usevendorprefix='undef'
+usevfork='false'
+usrinc='/usr/include'
+uuname=''
+uvXUformat='"lX"'
+uvoformat='"lo"'
+uvsize='4'
+uvtype='unsigned long'
+uvuformat='"lu"'
+uvxformat='"lx"'
+vendorarch=''
+vendorarchexp=''
+vendorbin=''
+vendorbinexp=''
+vendorhtml1dir=' '
+vendorhtml1direxp=''
+vendorhtml3dir=' '
+vendorhtml3direxp=''
+vendorlib=''
+vendorlib_stem=''
+vendorlibexp=''
+vendorman1dir=' '
+vendorman1direxp=''
+vendorman3dir=' '
+vendorman3direxp=''
+vendorprefix=''
+vendorprefixexp=''
+vendorscript=''
+vendorscriptexp=''
+version='5.8.7'
+version_patchlevel_string='version 8 subversion 7'
+versiononly='undef'
+vi=''
+voidflags='15'
+xlibpth='/usr/lib/386 /lib/386'
+xs_apiversion='5.8.7'
+yacc='yacc'
+yaccflags=''
+zcat=''
+zip='zip'
+# Configure command line arguments.
+config_arg0='./Configure'
+config_args='-des'
+config_argc=1
+config_arg1='-des'
+PERL_REVISION=5
+PERL_VERSION=8
+PERL_SUBVERSION=3
+PERL_API_REVISION=5
+PERL_API_VERSION=8
+PERL_API_SUBVERSION=0
+PERL_PATCHLEVEL=
+PERL_CONFIG_SH=true
diff --git a/meta/packages/perl/perl-5.8.7/libperl-5.8.3-create-libperl-soname.patch b/meta/packages/perl/perl-5.8.7/libperl-5.8.3-create-libperl-soname.patch
new file mode 100644
index 0000000000..6b34ec2318
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/libperl-5.8.3-create-libperl-soname.patch
@@ -0,0 +1,11 @@
+--- Makefile.SH.orig 2003-07-10 14:59:04.000000000 -0700
++++ Makefile.SH 2003-07-10 15:14:08.000000000 -0700
+@@ -494,7 +494,7 @@
+ case "$useshrplib" in
+ true)
+ $spitshell >>Makefile <<'!NO!SUBS!'
+- $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs)
++ $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs) -soname libperl.so.5
+ !NO!SUBS!
+ case "$osname" in
+ aix)
diff --git a/meta/packages/perl/perl-5.8.7/uclibc.patch b/meta/packages/perl/perl-5.8.7/uclibc.patch
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/perl/perl-5.8.7/uclibc.patch
diff --git a/meta/packages/perl/perl-native_5.8.7.bb b/meta/packages/perl/perl-native_5.8.7.bb
new file mode 100644
index 0000000000..170a0ebf8d
--- /dev/null
+++ b/meta/packages/perl/perl-native_5.8.7.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Perl is a popular scripting language."
+MAINTAINER="David Karlstrom <daka@thg.se>"
+HOMEPAGE = "http://www.perl.org/"
+LICENSE = "Artistic|GPL"
+PR = "r1"
+
+SECTION = "libs"
+inherit native
+
+DEPENDS = "virtual/db-native gdbm-native"
+
+SRC_URI = "http://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
+ file://Configure-multilib.patch;patch=1"
+S = "${WORKDIR}/perl-${PV}"
+
+#perl is not parallel_make safe
+PARALLEL_MAKE = ""
+
+do_configure () {
+ ./Configure \
+ -Dcc="${BUILD_CC}" \
+ -Dcflags="${BUILD_CFLAGS}" \
+ -Dldflags="${BUILD_LDFLAGS} -Wl,-rpath,${STAGING_LIBDIR}" \
+ -Dusethreads \
+ -Duselargefiles \
+ -Dprefix=${prefix} \
+ -Dvendorprefix=${prefix} \
+ -Dsiteprefix=${prefix}/local \
+ -Dman1ext=1 \
+ -Dman3ext=3perl \
+ -Uafs \
+ -Ud_csh \
+ -Uusesfio \
+ -Uusenm -des
+ sed 's!${STAGING_DIR}/bin!${STAGING_BINDIR}!;
+ s!${STAGING_DIR}/lib!${STAGING_LIBDIR}!' < config.sh > config.sh.new
+ mv config.sh.new config.sh
+}
diff --git a/meta/packages/perl/perl-rdepends_5.8.7.inc b/meta/packages/perl/perl-rdepends_5.8.7.inc
new file mode 100644
index 0000000000..905edbdaaf
--- /dev/null
+++ b/meta/packages/perl/perl-rdepends_5.8.7.inc
@@ -0,0 +1,1137 @@
+RDEPENDS_perl-misc += "perl-module-exporter "
+RDEPENDS_perl-misc += "perl-module-strict "
+RDEPENDS_perl-misc += "perl-module-warnings "
+RDEPENDS_perl-module-attribute-handlers-demo-demo += "perl-module-attribute-handlers "
+RDEPENDS_perl-module-attribute-handlers-demo-descriptions += "perl-module-attribute-handlers "
+RDEPENDS_perl-module-attribute-handlers-demo-myclass += "perl-module-base "
+RDEPENDS_perl-module-attribute-handlers += "perl-module-carp "
+RDEPENDS_perl-module-attribute-handlers += "perl-module-warnings "
+RDEPENDS_perl-module-attributes += "perl-module-strict "
+RDEPENDS_perl-module-attrs += "perl-module-xsloader "
+RDEPENDS_perl-module-autoloader += "perl-module-strict "
+RDEPENDS_perl-module-autosplit += "perl-module-carp "
+RDEPENDS_perl-module-autosplit += "perl-module-config "
+RDEPENDS_perl-module-autosplit += "perl-module-exporter "
+RDEPENDS_perl-module-autosplit += "perl-module-file-basename "
+RDEPENDS_perl-module-autosplit += "perl-module-file-path "
+RDEPENDS_perl-module-autosplit += "perl-module-file-spec-functions "
+RDEPENDS_perl-module-autosplit += "perl-module-strict "
+RDEPENDS_perl-module-base += "perl-module-strict "
+RDEPENDS_perl-module-base += "perl-module-vars "
+RDEPENDS_perl-module-b-asmdata += "perl-module-exporter "
+RDEPENDS_perl-module-b-assembler += "perl-module-b "
+RDEPENDS_perl-module-b-assembler += "perl-module-b-asmdata "
+RDEPENDS_perl-module-b-assembler += "perl-module-config "
+RDEPENDS_perl-module-b-assembler += "perl-module-exporter "
+RDEPENDS_perl-module-b-assembler += "perl-module-strict "
+RDEPENDS_perl-module-b-bblock += "perl-module-b-concise "
+RDEPENDS_perl-module-b-bblock += "perl-module-exporter "
+RDEPENDS_perl-module-b-bblock += "perl-module-strict "
+RDEPENDS_perl-module-b-bytecode += "perl-module-b-asmdata "
+RDEPENDS_perl-module-b-bytecode += "perl-module-b-assembler "
+RDEPENDS_perl-module-b-bytecode += "perl-module-config "
+RDEPENDS_perl-module-b-bytecode += "perl-module-strict "
+RDEPENDS_perl-module-b-cc += "perl-module-b-bblock "
+RDEPENDS_perl-module-b-cc += "perl-module-b-stackobj "
+RDEPENDS_perl-module-b-cc += "perl-module-config "
+RDEPENDS_perl-module-b-cc += "perl-module-strict "
+RDEPENDS_perl-module-b-c += "perl-module-b "
+RDEPENDS_perl-module-b-c += "perl-module-base "
+RDEPENDS_perl-module-b-c += "perl-module-b-asmdata "
+RDEPENDS_perl-module-b-c += "perl-module-carp "
+RDEPENDS_perl-module-b-c += "perl-module-config "
+RDEPENDS_perl-module-b-c += "perl-module-exporter "
+RDEPENDS_perl-module-b-c += "perl-module-filehandle "
+RDEPENDS_perl-module-b-c += "perl-module-strict "
+RDEPENDS_perl-module-b-debug += "perl-module-b-asmdata "
+RDEPENDS_perl-module-b-debug += "perl-module-strict "
+RDEPENDS_perl-module-b-deparse += "perl-module-bytes "
+RDEPENDS_perl-module-b-deparse += "perl-module-carp "
+RDEPENDS_perl-module-b-deparse += "perl-module-integer "
+RDEPENDS_perl-module-b-deparse += "perl-module-re "
+RDEPENDS_perl-module-b-deparse += "perl-module-strict "
+RDEPENDS_perl-module-b-deparse += "perl-module-utf8 "
+RDEPENDS_perl-module-b-deparse += "perl-module-warnings "
+RDEPENDS_perl-module-b-deparse += "perl-module-warnings "
+RDEPENDS_perl-module-b-deparse += "perl-module-vars "
+RDEPENDS_perl-module-b-disassembler += "perl-module-b "
+RDEPENDS_perl-module-b-disassembler += "perl-module-b-asmdata "
+RDEPENDS_perl-module-b-disassembler += "perl-module-carp "
+RDEPENDS_perl-module-b-disassembler += "perl-module-config "
+RDEPENDS_perl-module-b-disassembler += "perl-module-exporter "
+RDEPENDS_perl-module-b-disassembler += "perl-module-filehandle "
+RDEPENDS_perl-module-b-disassembler += "perl-module-strict "
+RDEPENDS_perl-module-benchmark += "perl-module-carp "
+RDEPENDS_perl-module-benchmark += "perl-module-exporter "
+RDEPENDS_perl-module-benchmark += "perl-module-strict "
+RDEPENDS_perl-module-bigint += "perl-module-exporter "
+RDEPENDS_perl-module-bigint += "perl-module-overload "
+RDEPENDS_perl-module-bigint += "perl-module-strict "
+RDEPENDS_perl-module-bignum += "perl-module-exporter "
+RDEPENDS_perl-module-bignum += "perl-module-strict "
+RDEPENDS_perl-module-bigrat += "perl-module-exporter "
+RDEPENDS_perl-module-bigrat += "perl-module-strict "
+RDEPENDS_perl-module-blib += "perl-module-cwd "
+RDEPENDS_perl-module-blib += "perl-module-file-spec "
+RDEPENDS_perl-module-blib += "perl-module-vars "
+RDEPENDS_perl-module-b-lint += "perl-module-strict "
+RDEPENDS_perl-module-b-showlex += "perl-module-b "
+RDEPENDS_perl-module-b-showlex += "perl-module-b-concise "
+RDEPENDS_perl-module-b-showlex += "perl-module-b-terse "
+RDEPENDS_perl-module-b-showlex += "perl-module-strict "
+RDEPENDS_perl-module-b-stackobj += "perl-module-b "
+RDEPENDS_perl-module-b-stackobj += "perl-module-carp "
+RDEPENDS_perl-module-b-stackobj += "perl-module-exporter "
+RDEPENDS_perl-module-b-stackobj += "perl-module-strict "
+RDEPENDS_perl-module-b-terse += "perl-module-b "
+RDEPENDS_perl-module-b-terse += "perl-module-b-asmdata "
+RDEPENDS_perl-module-b-terse += "perl-module-b-concise "
+RDEPENDS_perl-module-b-terse += "perl-module-carp "
+RDEPENDS_perl-module-b-terse += "perl-module-strict "
+RDEPENDS_perl-module-b += "perl-module-exporter "
+RDEPENDS_perl-module-b += "perl-module-strict "
+RDEPENDS_perl-module-b += "perl-module-xsloader "
+RDEPENDS_perl-module-b-xref += "perl-module-config "
+RDEPENDS_perl-module-b-xref += "perl-module-strict "
+RDEPENDS_perl-module-byteloader += "perl-module-xsloader "
+RDEPENDS_perl-module-carp-heavy += "perl-module-carp "
+RDEPENDS_perl-module-carp += "perl-module-exporter "
+RDEPENDS_perl-module-cgi-apache += "perl-module-cgi "
+RDEPENDS_perl-module-cgi-carp += "perl-module-exporter "
+RDEPENDS_perl-module-cgi-carp += "perl-module-file-spec "
+RDEPENDS_perl-module-cgi-cookie += "perl-module-cgi-util "
+RDEPENDS_perl-module-cgi-fast += "perl-module-cgi "
+RDEPENDS_perl-module-cgi-fast += "perl-module-vars "
+RDEPENDS_perl-module-cgi-pretty += "perl-module-cgi "
+RDEPENDS_perl-module-cgi-pretty += "perl-module-strict "
+RDEPENDS_perl-module-cgi-push += "perl-module-cgi "
+RDEPENDS_perl-module-cgi-push += "perl-module-cgi-util "
+RDEPENDS_perl-module-cgi-switch += "perl-module-cgi "
+RDEPENDS_perl-module-cgi += "perl-module-carp "
+RDEPENDS_perl-module-cgi += "perl-module-cgi-util "
+RDEPENDS_perl-module-cgi += "perl-module-constant "
+RDEPENDS_perl-module-cgi-util += "perl-module-exporter "
+RDEPENDS_perl-module-cgi-util += "perl-module-strict "
+RDEPENDS_perl-module-cgi-util += "perl-module-vars "
+RDEPENDS_perl-module-charnames += "perl-module-carp "
+RDEPENDS_perl-module-charnames += "perl-module-file-spec "
+RDEPENDS_perl-module-charnames += "perl-module-strict "
+RDEPENDS_perl-module-charnames += "perl-module-warnings "
+RDEPENDS_perl-module-class-isa += "perl-module-strict "
+RDEPENDS_perl-module-class-isa += "perl-module-vars "
+RDEPENDS_perl-module-class-struct += "perl-module-exporter "
+RDEPENDS_perl-module-class-struct += "perl-module-carp "
+RDEPENDS_perl-module-class-struct += "perl-module-strict "
+RDEPENDS_perl-module-class-struct += "perl-module-warnings-register "
+RDEPENDS_perl-module-config += "perl-module-strict "
+RDEPENDS_perl-module-constant += "perl-module-strict "
+RDEPENDS_perl-module-constant += "perl-module-warnings-register "
+RDEPENDS_perl-module-cpan-firsttime += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-cpan-firsttime += "perl-module-file-basename "
+RDEPENDS_perl-module-cpan-firsttime += "perl-module-filehandle "
+RDEPENDS_perl-module-cpan-firsttime += "perl-module-file-path "
+RDEPENDS_perl-module-cpan-firsttime += "perl-module-file-spec "
+RDEPENDS_perl-module-cpan-firsttime += "perl-module-strict "
+RDEPENDS_perl-module-cpan-firsttime += "perl-module-vars "
+RDEPENDS_perl-module-cpan-nox += "perl-module-base "
+RDEPENDS_perl-module-cpan-nox += "perl-module-cpan "
+RDEPENDS_perl-module-cpan-nox += "perl-module-strict "
+RDEPENDS_perl-module-cpan-nox += "perl-module-vars "
+RDEPENDS_perl-module-cpan += "perl-module-carp "
+RDEPENDS_perl-module-cpan += "perl-module-config "
+RDEPENDS_perl-module-cpan += "perl-module-cwd "
+RDEPENDS_perl-module-cpan += "perl-module-dirhandle "
+RDEPENDS_perl-module-cpan += "perl-module-exporter "
+RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-cpan += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-cpan += "perl-module-file-basename "
+RDEPENDS_perl-module-cpan += "perl-module-file-copy "
+RDEPENDS_perl-module-cpan += "perl-module-file-find "
+RDEPENDS_perl-module-cpan += "perl-module-filehandle "
+RDEPENDS_perl-module-cpan += "perl-module-file-path "
+RDEPENDS_perl-module-cpan += "perl-module-file-spec "
+RDEPENDS_perl-module-cpan += "perl-module-overload "
+RDEPENDS_perl-module-cpan += "perl-module-safe "
+RDEPENDS_perl-module-cpan += "perl-module-strict "
+RDEPENDS_perl-module-cpan += "perl-module-sys-hostname "
+RDEPENDS_perl-module-cpan += "perl-module-text-parsewords "
+RDEPENDS_perl-module-cpan += "perl-module-text-wrap "
+RDEPENDS_perl-module-cpan += "perl-module-vars "
+RDEPENDS_perl-module-cwd += "perl-module-exporter "
+RDEPENDS_perl-module-cwd += "perl-module-strict "
+RDEPENDS_perl-module-cwd += "perl-module-vars "
+RDEPENDS_perl-module-data-dumper += "perl-module-exporter "
+RDEPENDS_perl-module-data-dumper += "perl-module-overload "
+RDEPENDS_perl-module-data-dumper += "perl-module-carp "
+RDEPENDS_perl-module-dbm-filter-compress += "perl-module-carp "
+RDEPENDS_perl-module-dbm-filter-compress += "perl-module-strict "
+RDEPENDS_perl-module-dbm-filter-compress += "perl-module-warnings "
+RDEPENDS_perl-module-dbm-filter-encode += "perl-module-carp "
+RDEPENDS_perl-module-dbm-filter-encode += "perl-module-strict "
+RDEPENDS_perl-module-dbm-filter-encode += "perl-module-warnings "
+RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-strict "
+RDEPENDS_perl-module-dbm-filter-int32 += "perl-module-warnings "
+RDEPENDS_perl-module-dbm-filter-null += "perl-module-strict "
+RDEPENDS_perl-module-dbm-filter-null += "perl-module-warnings "
+RDEPENDS_perl-module-dbm-filter += "perl-module-carp "
+RDEPENDS_perl-module-dbm-filter += "perl-module-strict "
+RDEPENDS_perl-module-dbm-filter += "perl-module-warnings "
+RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-carp "
+RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-strict "
+RDEPENDS_perl-module-dbm-filter-utf8 += "perl-module-warnings "
+RDEPENDS_perl-module-devel-dprof += "perl-module-xsloader "
+RDEPENDS_perl-module-devel-peek += "perl-module-exporter "
+RDEPENDS_perl-module-devel-peek += "perl-module-xsloader "
+RDEPENDS_perl-module-devel-ppport += "perl-module-dynaloader "
+RDEPENDS_perl-module-devel-ppport += "perl-module-strict "
+RDEPENDS_perl-module-devel-ppport += "perl-module-vars "
+RDEPENDS_perl-module-devel-selfstubber += "perl-module-selfloader "
+RDEPENDS_perl-module-devel-selfstubber += "perl-module-file-spec "
+RDEPENDS_perl-module-diagnostics += "perl-module-carp "
+RDEPENDS_perl-module-diagnostics += "perl-module-config "
+RDEPENDS_perl-module-diagnostics += "perl-module-strict "
+RDEPENDS_perl-module-digest-base += "perl-module-strict "
+RDEPENDS_perl-module-digest-base += "perl-module-vars "
+RDEPENDS_perl-module-digest-file += "perl-module-carp "
+RDEPENDS_perl-module-digest-file += "perl-module-digest "
+RDEPENDS_perl-module-digest-file += "perl-module-exporter "
+RDEPENDS_perl-module-digest-file += "perl-module-strict "
+RDEPENDS_perl-module-digest-file += "perl-module-vars "
+RDEPENDS_perl-module-digest-md5 += "perl-module-dynaloader "
+RDEPENDS_perl-module-digest-md5 += "perl-module-exporter "
+RDEPENDS_perl-module-digest-md5 += "perl-module-strict "
+RDEPENDS_perl-module-digest-md5 += "perl-module-vars "
+RDEPENDS_perl-module-digest += "perl-module-strict "
+RDEPENDS_perl-module-digest += "perl-module-vars "
+RDEPENDS_perl-module-dirhandle += "perl-module-carp "
+RDEPENDS_perl-module-dirhandle += "perl-module-symbol "
+RDEPENDS_perl-module-dumpvalue += "perl-module-strict "
+RDEPENDS_perl-module-dynaloader += "perl-module-autoloader "
+RDEPENDS_perl-module-dynaloader += "perl-module-config "
+RDEPENDS_perl-module-dynaloader += "perl-module-vars "
+RDEPENDS_perl-module-encode-alias += "perl-module-base "
+RDEPENDS_perl-module-encode-alias += "perl-module-encode "
+RDEPENDS_perl-module-encode-alias += "perl-module-strict "
+RDEPENDS_perl-module-encode-byte += "perl-module-encode "
+RDEPENDS_perl-module-encode-byte += "perl-module-xsloader "
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-exporter "
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-carp "
+RDEPENDS_perl-module-encode-cjkconstants += "perl-module-strict "
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-base "
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-encode "
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-strict "
+RDEPENDS_perl-module-encode-cn-hz += "perl-module-vars "
+RDEPENDS_perl-module-encode-cn += "perl-module-encode "
+RDEPENDS_perl-module-encode-cn += "perl-module-encode-cn-hz "
+RDEPENDS_perl-module-encode-cn += "perl-module-xsloader "
+RDEPENDS_perl-module-encode-config += "perl-module-strict "
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-encode "
+RDEPENDS_perl-module-encode-ebcdic += "perl-module-xsloader "
+RDEPENDS_perl-module-encode-encoder += "perl-module-exporter "
+RDEPENDS_perl-module-encode-encoder += "perl-module-carp "
+RDEPENDS_perl-module-encode-encoder += "perl-module-encode "
+RDEPENDS_perl-module-encode-encoder += "perl-module-strict "
+RDEPENDS_perl-module-encode-encoder += "perl-module-warnings "
+RDEPENDS_perl-module-encode-encoding += "perl-module-encode "
+RDEPENDS_perl-module-encode-encoding += "perl-module-strict "
+RDEPENDS_perl-module-encode-guess += "perl-module-base "
+RDEPENDS_perl-module-encode-guess += "perl-module-encode "
+RDEPENDS_perl-module-encode-guess += "perl-module-strict "
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-encode-cjkconstants "
+RDEPENDS_perl-module-encode-jp-h2z += "perl-module-strict "
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-base "
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode "
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-encode-cjkconstants "
+RDEPENDS_perl-module-encode-jp-jis7 += "perl-module-strict "
+RDEPENDS_perl-module-encode-jp += "perl-module-encode "
+RDEPENDS_perl-module-encode-jp += "perl-module-encode-jp-jis7 "
+RDEPENDS_perl-module-encode-jp += "perl-module-xsloader "
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-base "
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode "
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-encode-cjkconstants "
+RDEPENDS_perl-module-encode-kr-2022-kr += "perl-module-strict "
+RDEPENDS_perl-module-encode-kr += "perl-module-encode "
+RDEPENDS_perl-module-encode-kr += "perl-module-encode-kr-2022-kr "
+RDEPENDS_perl-module-encode-kr += "perl-module-xsloader "
+RDEPENDS_perl-module-encode-mime-header += "perl-module-base "
+RDEPENDS_perl-module-encode-mime-header += "perl-module-carp "
+RDEPENDS_perl-module-encode-mime-header += "perl-module-constant "
+RDEPENDS_perl-module-encode-mime-header += "perl-module-encode "
+RDEPENDS_perl-module-encode-mime-header += "perl-module-mime-base64 "
+RDEPENDS_perl-module-encode-mime-header += "perl-module-strict "
+RDEPENDS_perl-module-encode-symbol += "perl-module-encode "
+RDEPENDS_perl-module-encode-symbol += "perl-module-xsloader "
+RDEPENDS_perl-module-encode-tw += "perl-module-encode "
+RDEPENDS_perl-module-encode-tw += "perl-module-xsloader "
+RDEPENDS_perl-module-encode-unicode += "perl-module-encode "
+RDEPENDS_perl-module-encode-unicode += "perl-module-base "
+RDEPENDS_perl-module-encode-unicode += "perl-module-strict "
+RDEPENDS_perl-module-encode-unicode += "perl-module-warnings "
+RDEPENDS_perl-module-encode-unicode += "perl-module-xsloader "
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-base "
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-encode "
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-mime-base64 "
+RDEPENDS_perl-module-encode-unicode-utf7 += "perl-module-strict "
+RDEPENDS_perl-module-encode += "perl-module-encode-config "
+RDEPENDS_perl-module-encode += "perl-module-exporter "
+RDEPENDS_perl-module-encode += "perl-module-base "
+RDEPENDS_perl-module-encode += "perl-module-encode-alias "
+RDEPENDS_perl-module-encode += "perl-module-strict "
+RDEPENDS_perl-module-encode += "perl-module-xsloader "
+RDEPENDS_perl-module-encoding += "perl-module-encode "
+RDEPENDS_perl-module-encoding += "perl-module-strict "
+RDEPENDS_perl-module-english += "perl-module-exporter "
+RDEPENDS_perl-module-env += "perl-module-config "
+RDEPENDS_perl-module-env += "perl-module-tie-array "
+RDEPENDS_perl-module-errno += "perl-module-config "
+RDEPENDS_perl-module-errno += "perl-module-exporter "
+RDEPENDS_perl-module-errno += "perl-module-strict "
+RDEPENDS_perl-module-exporter-heavy += "perl-module-exporter "
+RDEPENDS_perl-module-exporter-heavy += "perl-module-strict "
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-strict "
+RDEPENDS_perl-module-extutils-command-mm += "perl-module-vars "
+RDEPENDS_perl-module-extutils-command += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-command += "perl-module-carp "
+RDEPENDS_perl-module-extutils-command += "perl-module-file-basename "
+RDEPENDS_perl-module-extutils-command += "perl-module-file-compare "
+RDEPENDS_perl-module-extutils-command += "perl-module-file-copy "
+RDEPENDS_perl-module-extutils-command += "perl-module-file-path "
+RDEPENDS_perl-module-extutils-command += "perl-module-strict "
+RDEPENDS_perl-module-extutils-command += "perl-module-vars "
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-carp "
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-extutils-constant-utils "
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-strict "
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-text-wrap "
+RDEPENDS_perl-module-extutils-constant-base += "perl-module-vars "
+RDEPENDS_perl-module-extutils-constant += "perl-module-carp "
+RDEPENDS_perl-module-extutils-constant += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-utils "
+RDEPENDS_perl-module-extutils-constant += "perl-module-extutils-constant-xs "
+RDEPENDS_perl-module-extutils-constant += "perl-module-strict "
+RDEPENDS_perl-module-extutils-constant += "perl-module-vars "
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-carp "
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-strict "
+RDEPENDS_perl-module-extutils-constant-utils += "perl-module-vars "
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-base "
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-carp "
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant "
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-extutils-constant-utils "
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-strict "
+RDEPENDS_perl-module-extutils-constant-xs += "perl-module-vars "
+RDEPENDS_perl-module-extutils-embed += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-embed += "perl-module-filehandle "
+RDEPENDS_perl-module-extutils-embed += "perl-module-config "
+RDEPENDS_perl-module-extutils-embed += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-embed += "perl-module-getopt-std "
+RDEPENDS_perl-module-extutils-embed += "perl-module-strict "
+RDEPENDS_perl-module-extutils-installed += "perl-module-carp "
+RDEPENDS_perl-module-extutils-installed += "perl-module-config "
+RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-extutils-installed += "perl-module-extutils-packlist "
+RDEPENDS_perl-module-extutils-installed += "perl-module-file-basename "
+RDEPENDS_perl-module-extutils-installed += "perl-module-file-find "
+RDEPENDS_perl-module-extutils-installed += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-installed += "perl-module-strict "
+RDEPENDS_perl-module-extutils-installed += "perl-module-vars "
+RDEPENDS_perl-module-extutils-install += "perl-module-carp "
+RDEPENDS_perl-module-extutils-install += "perl-module-config "
+RDEPENDS_perl-module-extutils-install += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-install += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-install += "perl-module-vars "
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-config "
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-cwd "
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-basename "
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-strict "
+RDEPENDS_perl-module-extutils-liblist-kid += "perl-module-vars "
+RDEPENDS_perl-module-extutils-liblist += "perl-module-extutils-liblist-kid "
+RDEPENDS_perl-module-extutils-liblist += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-liblist += "perl-module-vars "
+RDEPENDS_perl-module-extutils-makemaker-bytes += "perl-module-vars "
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-carp "
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-config "
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-file-path "
+RDEPENDS_perl-module-extutils-makemaker += "perl-module-strict "
+RDEPENDS_perl-module-extutils-makemaker-vmsish += "perl-module-vmsish "
+RDEPENDS_perl-module-extutils-makemaker-vmsish += "perl-module-vars "
+RDEPENDS_perl-module-extutils-manifest += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-manifest += "perl-module-carp "
+RDEPENDS_perl-module-extutils-manifest += "perl-module-config "
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-copy "
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-find "
+RDEPENDS_perl-module-extutils-manifest += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-manifest += "perl-module-strict "
+RDEPENDS_perl-module-extutils-miniperl += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-config "
+RDEPENDS_perl-module-extutils-mkbootstrap += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-carp "
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-config "
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mksymlists += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm-any += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-any "
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-extutils-mm-unix "
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-mm-beos += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-any "
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-extutils-mm-unix "
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm-cygwin += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-any "
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-extutils-mm-unix "
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm-dos += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-extutils-mm-any "
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-extutils-mm-unix "
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-cwd "
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-file-basename "
+RDEPENDS_perl-module-extutils-mm-macos += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-mm-win32 "
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-file-basename "
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm-nw5 += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-any "
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-mm-unix "
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm-os2 += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-mm-any "
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-carp "
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-dirhandle "
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-file-basename "
+RDEPENDS_perl-module-extutils-mm-unix += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-liblist "
+RDEPENDS_perl-module-extutils-mm += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-extutils-mm += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-extutils-mm-unix "
+RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm-uwin += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-any "
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-mm-unix "
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-basename "
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm-win32 += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-extutils-mm-win32 "
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-win95 += "perl-module-vars "
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-exporter "
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-any "
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-mm-unix "
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-config "
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-extutils-makemaker "
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-file-basename "
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-strict "
+RDEPENDS_perl-module-extutils-mm-vms += "perl-module-vars "
+RDEPENDS_perl-module-extutils-my += "perl-module-extutils-mm "
+RDEPENDS_perl-module-extutils-my += "perl-module-strict "
+RDEPENDS_perl-module-extutils-my += "perl-module-vars "
+RDEPENDS_perl-module-extutils-packlist += "perl-module-carp "
+RDEPENDS_perl-module-extutils-packlist += "perl-module-strict "
+RDEPENDS_perl-module-extutils-packlist += "perl-module-vars "
+RDEPENDS_perl-module-extutils-testlib += "perl-module-cwd "
+RDEPENDS_perl-module-extutils-testlib += "perl-module-file-spec "
+RDEPENDS_perl-module-extutils-testlib += "perl-module-lib "
+RDEPENDS_perl-module-fatal += "perl-module-carp "
+RDEPENDS_perl-module-fatal += "perl-module-strict "
+RDEPENDS_perl-module-fcntl += "perl-module-exporter "
+RDEPENDS_perl-module-fcntl += "perl-module-xsloader "
+RDEPENDS_perl-module-fields += "perl-module-strict "
+RDEPENDS_perl-module-fields += "perl-module-vars "
+RDEPENDS_perl-module-file-basename += "perl-module-exporter "
+RDEPENDS_perl-module-file-basename += "perl-module-warnings "
+RDEPENDS_perl-module-filecache += "perl-module-base "
+RDEPENDS_perl-module-filecache += "perl-module-carp "
+RDEPENDS_perl-module-filecache += "perl-module-config "
+RDEPENDS_perl-module-filecache += "perl-module-strict "
+RDEPENDS_perl-module-filecache += "perl-module-vars "
+RDEPENDS_perl-module-file-checktree += "perl-module-cwd "
+RDEPENDS_perl-module-file-checktree += "perl-module-exporter "
+RDEPENDS_perl-module-file-checktree += "perl-module-file-spec "
+RDEPENDS_perl-module-file-checktree += "perl-module-strict "
+RDEPENDS_perl-module-file-checktree += "perl-module-warnings "
+RDEPENDS_perl-module-file-compare += "perl-module-exporter "
+RDEPENDS_perl-module-file-compare += "perl-module-carp "
+RDEPENDS_perl-module-file-compare += "perl-module-strict "
+RDEPENDS_perl-module-file-compare += "perl-module-warnings "
+RDEPENDS_perl-module-file-copy += "perl-module-exporter "
+RDEPENDS_perl-module-file-copy += "perl-module-carp "
+RDEPENDS_perl-module-file-copy += "perl-module-config "
+RDEPENDS_perl-module-file-copy += "perl-module-file-spec "
+RDEPENDS_perl-module-file-copy += "perl-module-strict "
+RDEPENDS_perl-module-file-copy += "perl-module-warnings "
+RDEPENDS_perl-module-file-dosglob += "perl-module-strict "
+RDEPENDS_perl-module-file-dosglob += "perl-module-warnings "
+RDEPENDS_perl-module-file-find += "perl-module-cwd "
+RDEPENDS_perl-module-file-find += "perl-module-exporter "
+RDEPENDS_perl-module-file-find += "perl-module-file-basename "
+RDEPENDS_perl-module-file-find += "perl-module-file-spec "
+RDEPENDS_perl-module-file-find += "perl-module-strict "
+RDEPENDS_perl-module-file-find += "perl-module-warnings "
+RDEPENDS_perl-module-file-find += "perl-module-warnings-register "
+RDEPENDS_perl-module-file-glob += "perl-module-strict "
+RDEPENDS_perl-module-file-glob += "perl-module-xsloader "
+RDEPENDS_perl-module-filehandle += "perl-module-io-file "
+RDEPENDS_perl-module-filehandle += "perl-module-strict "
+RDEPENDS_perl-module-file-path += "perl-module-carp "
+RDEPENDS_perl-module-file-path += "perl-module-exporter "
+RDEPENDS_perl-module-file-path += "perl-module-file-basename "
+RDEPENDS_perl-module-file-path += "perl-module-strict "
+RDEPENDS_perl-module-file-path += "perl-module-warnings "
+RDEPENDS_perl-module-file-spec-cygwin += "perl-module-file-spec-unix "
+RDEPENDS_perl-module-file-spec-cygwin += "perl-module-strict "
+RDEPENDS_perl-module-file-spec-cygwin += "perl-module-vars "
+RDEPENDS_perl-module-file-spec-epoc += "perl-module-file-spec-unix "
+RDEPENDS_perl-module-file-spec-epoc += "perl-module-strict "
+RDEPENDS_perl-module-file-spec-epoc += "perl-module-vars "
+RDEPENDS_perl-module-file-spec-functions += "perl-module-exporter "
+RDEPENDS_perl-module-file-spec-functions += "perl-module-file-spec "
+RDEPENDS_perl-module-file-spec-functions += "perl-module-strict "
+RDEPENDS_perl-module-file-spec-functions += "perl-module-vars "
+RDEPENDS_perl-module-file-spec-mac += "perl-module-file-spec-unix "
+RDEPENDS_perl-module-file-spec-mac += "perl-module-strict "
+RDEPENDS_perl-module-file-spec-mac += "perl-module-vars "
+RDEPENDS_perl-module-file-spec-os2 += "perl-module-file-spec-unix "
+RDEPENDS_perl-module-file-spec-os2 += "perl-module-strict "
+RDEPENDS_perl-module-file-spec-os2 += "perl-module-vars "
+RDEPENDS_perl-module-file-spec-unix += "perl-module-strict "
+RDEPENDS_perl-module-file-spec-unix += "perl-module-vars "
+RDEPENDS_perl-module-file-spec += "perl-module-strict "
+RDEPENDS_perl-module-file-spec += "perl-module-vars "
+RDEPENDS_perl-module-file-spec-win32 += "perl-module-file-spec-unix "
+RDEPENDS_perl-module-file-spec-win32 += "perl-module-strict "
+RDEPENDS_perl-module-file-spec-win32 += "perl-module-vars "
+RDEPENDS_perl-module-file-spec-vms += "perl-module-file-spec-unix "
+RDEPENDS_perl-module-file-spec-vms += "perl-module-file-basename "
+RDEPENDS_perl-module-file-spec-vms += "perl-module-strict "
+RDEPENDS_perl-module-file-spec-vms += "perl-module-vars "
+RDEPENDS_perl-module-file-stat += "perl-module-class-struct "
+RDEPENDS_perl-module-file-stat += "perl-module-strict "
+RDEPENDS_perl-module-file-stat += "perl-module-warnings "
+RDEPENDS_perl-module-file-stat += "perl-module-vars "
+RDEPENDS_perl-module-file-temp += "perl-module-base "
+RDEPENDS_perl-module-file-temp += "perl-module-carp "
+RDEPENDS_perl-module-file-temp += "perl-module-constant "
+RDEPENDS_perl-module-file-temp += "perl-module-errno "
+RDEPENDS_perl-module-file-temp += "perl-module-fcntl "
+RDEPENDS_perl-module-file-temp += "perl-module-file-path "
+RDEPENDS_perl-module-file-temp += "perl-module-file-spec "
+RDEPENDS_perl-module-file-temp += "perl-module-overload "
+RDEPENDS_perl-module-file-temp += "perl-module-strict "
+RDEPENDS_perl-module-file-temp += "perl-module-vars "
+RDEPENDS_perl-module-filter-simple += "perl-module-carp "
+RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call "
+RDEPENDS_perl-module-filter-simple += "perl-module-text-balanced "
+RDEPENDS_perl-module-filter-simple += "perl-module-vars "
+RDEPENDS_perl-module-filter-util-call += "perl-module-dynaloader "
+RDEPENDS_perl-module-filter-util-call += "perl-module-exporter "
+RDEPENDS_perl-module-filter-util-call += "perl-module-carp "
+RDEPENDS_perl-module-filter-util-call += "perl-module-strict "
+RDEPENDS_perl-module-filter-util-call += "perl-module-warnings "
+RDEPENDS_perl-module-filter-util-call += "perl-module-vars "
+RDEPENDS_perl-module-findbin += "perl-module-exporter "
+RDEPENDS_perl-module-findbin += "perl-module-carp "
+RDEPENDS_perl-module-findbin += "perl-module-config "
+RDEPENDS_perl-module-findbin += "perl-module-cwd "
+RDEPENDS_perl-module-findbin += "perl-module-file-basename "
+RDEPENDS_perl-module-findbin += "perl-module-file-spec "
+RDEPENDS_perl-module-getopt-long += "perl-module-constant "
+RDEPENDS_perl-module-getopt-long += "perl-module-exporter "
+RDEPENDS_perl-module-getopt-long += "perl-module-strict "
+RDEPENDS_perl-module-getopt-long += "perl-module-vars "
+RDEPENDS_perl-module-getopt-std += "perl-module-exporter "
+RDEPENDS_perl-module-hash-util += "perl-module-exporter "
+RDEPENDS_perl-module-hash-util += "perl-module-carp "
+RDEPENDS_perl-module-hash-util += "perl-module-strict "
+RDEPENDS_perl-module-i18n-collate += "perl-module-exporter "
+RDEPENDS_perl-module-i18n-collate += "perl-module-posix "
+RDEPENDS_perl-module-i18n-collate += "perl-module-strict "
+RDEPENDS_perl-module-i18n-collate += "perl-module-warnings-register "
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-dynaloader "
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-exporter "
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-autoloader "
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-carp "
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-strict "
+RDEPENDS_perl-module-i18n-langinfo += "perl-module-warnings "
+RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-i18n-langtags "
+RDEPENDS_perl-module-i18n-langtags-detect += "perl-module-strict "
+RDEPENDS_perl-module-i18n-langtags-list += "perl-module-strict "
+RDEPENDS_perl-module-i18n-langtags-list += "perl-module-vars "
+RDEPENDS_perl-module-i18n-langtags += "perl-module-exporter "
+RDEPENDS_perl-module-i18n-langtags += "perl-module-strict "
+RDEPENDS_perl-module-i18n-langtags += "perl-module-vars "
+RDEPENDS_perl-module-io-dir += "perl-module-carp "
+RDEPENDS_perl-module-io-dir += "perl-module-exporter "
+RDEPENDS_perl-module-io-dir += "perl-module-file-spec "
+RDEPENDS_perl-module-io-dir += "perl-module-file-stat "
+RDEPENDS_perl-module-io-dir += "perl-module-io-file "
+RDEPENDS_perl-module-io-dir += "perl-module-strict "
+RDEPENDS_perl-module-io-dir += "perl-module-symbol "
+RDEPENDS_perl-module-io-dir += "perl-module-tie-hash "
+RDEPENDS_perl-module-io-file += "perl-module-exporter "
+RDEPENDS_perl-module-io-file += "perl-module-carp "
+RDEPENDS_perl-module-io-file += "perl-module-file-spec "
+RDEPENDS_perl-module-io-file += "perl-module-io-seekable "
+RDEPENDS_perl-module-io-file += "perl-module-selectsaver "
+RDEPENDS_perl-module-io-file += "perl-module-strict "
+RDEPENDS_perl-module-io-file += "perl-module-symbol "
+RDEPENDS_perl-module-io-handle += "perl-module-exporter "
+RDEPENDS_perl-module-io-handle += "perl-module-carp "
+RDEPENDS_perl-module-io-handle += "perl-module-selectsaver "
+RDEPENDS_perl-module-io-handle += "perl-module-strict "
+RDEPENDS_perl-module-io-handle += "perl-module-symbol "
+RDEPENDS_perl-module-io-pipe += "perl-module-carp "
+RDEPENDS_perl-module-io-pipe += "perl-module-io-handle "
+RDEPENDS_perl-module-io-pipe += "perl-module-strict "
+RDEPENDS_perl-module-io-pipe += "perl-module-symbol "
+RDEPENDS_perl-module-io-poll += "perl-module-exporter "
+RDEPENDS_perl-module-io-poll += "perl-module-io-handle "
+RDEPENDS_perl-module-io-poll += "perl-module-strict "
+RDEPENDS_perl-module-io-seekable += "perl-module-exporter "
+RDEPENDS_perl-module-io-seekable += "perl-module-carp "
+RDEPENDS_perl-module-io-seekable += "perl-module-fcntl "
+RDEPENDS_perl-module-io-seekable += "perl-module-io-handle "
+RDEPENDS_perl-module-io-seekable += "perl-module-strict "
+RDEPENDS_perl-module-io-select += "perl-module-exporter "
+RDEPENDS_perl-module-io-select += "perl-module-strict "
+RDEPENDS_perl-module-io-select += "perl-module-warnings-register "
+RDEPENDS_perl-module-io-select += "perl-module-vars "
+RDEPENDS_perl-module-io-socket-inet += "perl-module-carp "
+RDEPENDS_perl-module-io-socket-inet += "perl-module-errno "
+RDEPENDS_perl-module-io-socket-inet += "perl-module-exporter "
+RDEPENDS_perl-module-io-socket-inet += "perl-module-io-socket "
+RDEPENDS_perl-module-io-socket-inet += "perl-module-socket "
+RDEPENDS_perl-module-io-socket-inet += "perl-module-strict "
+RDEPENDS_perl-module-io-socket-unix += "perl-module-carp "
+RDEPENDS_perl-module-io-socket-unix += "perl-module-io-socket "
+RDEPENDS_perl-module-io-socket-unix += "perl-module-socket "
+RDEPENDS_perl-module-io-socket-unix += "perl-module-strict "
+RDEPENDS_perl-module-io-socket += "perl-module-io-socket-inet "
+RDEPENDS_perl-module-io-socket += "perl-module-io-socket-unix "
+RDEPENDS_perl-module-io-socket += "perl-module-carp "
+RDEPENDS_perl-module-io-socket += "perl-module-errno "
+RDEPENDS_perl-module-io-socket += "perl-module-exporter "
+RDEPENDS_perl-module-io-socket += "perl-module-io-handle "
+RDEPENDS_perl-module-io-socket += "perl-module-socket "
+RDEPENDS_perl-module-io-socket += "perl-module-strict "
+RDEPENDS_perl-module-io += "perl-module-carp "
+RDEPENDS_perl-module-io += "perl-module-strict "
+RDEPENDS_perl-module-io += "perl-module-warnings "
+RDEPENDS_perl-module-io += "perl-module-xsloader "
+RDEPENDS_perl-module-ipc-msg += "perl-module-carp "
+RDEPENDS_perl-module-ipc-msg += "perl-module-ipc-sysv "
+RDEPENDS_perl-module-ipc-msg += "perl-module-strict "
+RDEPENDS_perl-module-ipc-msg += "perl-module-vars "
+RDEPENDS_perl-module-ipc-open2 += "perl-module-exporter "
+RDEPENDS_perl-module-ipc-open2 += "perl-module-ipc-open3 "
+RDEPENDS_perl-module-ipc-open2 += "perl-module-strict "
+RDEPENDS_perl-module-ipc-open3 += "perl-module-exporter "
+RDEPENDS_perl-module-ipc-open3 += "perl-module-carp "
+RDEPENDS_perl-module-ipc-open3 += "perl-module-strict "
+RDEPENDS_perl-module-ipc-open3 += "perl-module-symbol "
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-carp "
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-strict "
+RDEPENDS_perl-module-ipc-semaphore += "perl-module-vars "
+RDEPENDS_perl-module-ipc-sysv += "perl-module-exporter "
+RDEPENDS_perl-module-ipc-sysv += "perl-module-carp "
+RDEPENDS_perl-module-ipc-sysv += "perl-module-config "
+RDEPENDS_perl-module-ipc-sysv += "perl-module-strict "
+RDEPENDS_perl-module-ipc-sysv += "perl-module-vars "
+RDEPENDS_perl-module-lib += "perl-module-config "
+RDEPENDS_perl-module-lib += "perl-module-strict "
+RDEPENDS_perl-module-list-util += "perl-module-exporter "
+RDEPENDS_perl-module-list-util += "perl-module-vars "
+RDEPENDS_perl-module-locale-constants += "perl-module-exporter "
+RDEPENDS_perl-module-locale-constants += "perl-module-constant "
+RDEPENDS_perl-module-locale-constants += "perl-module-strict "
+RDEPENDS_perl-module-locale-constants += "perl-module-vars "
+RDEPENDS_perl-module-locale-country += "perl-module-exporter "
+RDEPENDS_perl-module-locale-country += "perl-module-carp "
+RDEPENDS_perl-module-locale-country += "perl-module-locale-constants "
+RDEPENDS_perl-module-locale-country += "perl-module-strict "
+RDEPENDS_perl-module-locale-country += "perl-module-vars "
+RDEPENDS_perl-module-locale-currency += "perl-module-exporter "
+RDEPENDS_perl-module-locale-currency += "perl-module-strict "
+RDEPENDS_perl-module-locale-currency += "perl-module-vars "
+RDEPENDS_perl-module-locale-language += "perl-module-exporter "
+RDEPENDS_perl-module-locale-language += "perl-module-strict "
+RDEPENDS_perl-module-locale-language += "perl-module-vars "
+RDEPENDS_perl-module-locale-maketext-gutsloader += "perl-module-strict "
+RDEPENDS_perl-module-locale-maketext-guts += "perl-module-strict "
+RDEPENDS_perl-module-locale-maketext-guts += "perl-module-utf8 "
+RDEPENDS_perl-module-locale-maketext-guts += "perl-module-vars "
+RDEPENDS_perl-module-locale-maketext += "perl-module-carp "
+RDEPENDS_perl-module-locale-maketext += "perl-module-i18n-langtags "
+RDEPENDS_perl-module-locale-maketext += "perl-module-locale-maketext-gutsloader "
+RDEPENDS_perl-module-locale-maketext += "perl-module-strict "
+RDEPENDS_perl-module-locale-script += "perl-module-exporter "
+RDEPENDS_perl-module-locale-script += "perl-module-carp "
+RDEPENDS_perl-module-locale-script += "perl-module-locale-constants "
+RDEPENDS_perl-module-locale-script += "perl-module-strict "
+RDEPENDS_perl-module-locale-script += "perl-module-vars "
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-exporter "
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-math-bigfloat "
+RDEPENDS_perl-module-math-bigfloat-trace += "perl-module-strict "
+RDEPENDS_perl-module-math-bigfloat += "perl-module-exporter "
+RDEPENDS_perl-module-math-bigfloat += "perl-module-strict "
+RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-strict "
+RDEPENDS_perl-module-math-bigint-calcemu += "perl-module-vars "
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-strict "
+RDEPENDS_perl-module-math-bigint-calc += "perl-module-vars "
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-exporter "
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-math-bigint "
+RDEPENDS_perl-module-math-bigint-trace += "perl-module-strict "
+RDEPENDS_perl-module-math-bigint += "perl-module-strict "
+RDEPENDS_perl-module-math-bigrat += "perl-module-math-bigfloat "
+RDEPENDS_perl-module-math-bigrat += "perl-module-strict "
+RDEPENDS_perl-module-math-complex += "perl-module-exporter "
+RDEPENDS_perl-module-math-complex += "perl-module-strict "
+RDEPENDS_perl-module-math-trig += "perl-module-exporter "
+RDEPENDS_perl-module-math-trig += "perl-module-math-complex "
+RDEPENDS_perl-module-math-trig += "perl-module-strict "
+RDEPENDS_perl-module-memoize-anydbm-file += "perl-module-vars "
+RDEPENDS_perl-module-memoize-expirefile += "perl-module-carp "
+RDEPENDS_perl-module-memoize-expire += "perl-module-carp "
+RDEPENDS_perl-module-memoize-sdbm-file += "perl-module-sdbm-file "
+RDEPENDS_perl-module-memoize-storable += "perl-module-storable "
+RDEPENDS_perl-module-memoize += "perl-module-carp "
+RDEPENDS_perl-module-memoize += "perl-module-exporter "
+RDEPENDS_perl-module-memoize += "perl-module-strict "
+RDEPENDS_perl-module-memoize += "perl-module-vars "
+RDEPENDS_perl-module-mime-base64 += "perl-module-dynaloader "
+RDEPENDS_perl-module-mime-base64 += "perl-module-exporter "
+RDEPENDS_perl-module-mime-base64 += "perl-module-strict "
+RDEPENDS_perl-module-mime-base64 += "perl-module-vars "
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-exporter "
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-strict "
+RDEPENDS_perl-module-mime-quotedprint += "perl-module-vars "
+RDEPENDS_perl-module-net-cmd += "perl-module-exporter "
+RDEPENDS_perl-module-net-cmd += "perl-module-carp "
+RDEPENDS_perl-module-net-cmd += "perl-module-strict "
+RDEPENDS_perl-module-net-cmd += "perl-module-symbol "
+RDEPENDS_perl-module-net-cmd += "perl-module-vars "
+RDEPENDS_perl-module-net-config += "perl-module-exporter "
+RDEPENDS_perl-module-net-config += "perl-module-socket "
+RDEPENDS_perl-module-net-config += "perl-module-strict "
+RDEPENDS_perl-module-net-config += "perl-module-vars "
+RDEPENDS_perl-module-net-domain += "perl-module-exporter "
+RDEPENDS_perl-module-net-domain += "perl-module-carp "
+RDEPENDS_perl-module-net-domain += "perl-module-net-config "
+RDEPENDS_perl-module-net-domain += "perl-module-strict "
+RDEPENDS_perl-module-net-domain += "perl-module-vars "
+RDEPENDS_perl-module-net-ftp-a += "perl-module-net-ftp-dataconn "
+RDEPENDS_perl-module-net-ftp-a += "perl-module-carp "
+RDEPENDS_perl-module-net-ftp-a += "perl-module-strict "
+RDEPENDS_perl-module-net-ftp-a += "perl-module-vars "
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-carp "
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-errno "
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-net-cmd "
+RDEPENDS_perl-module-net-ftp-dataconn += "perl-module-vars "
+RDEPENDS_perl-module-net-ftp-e += "perl-module-net-ftp-i "
+RDEPENDS_perl-module-net-ftp-i += "perl-module-net-ftp-dataconn "
+RDEPENDS_perl-module-net-ftp-i += "perl-module-carp "
+RDEPENDS_perl-module-net-ftp-i += "perl-module-vars "
+RDEPENDS_perl-module-net-ftp-l += "perl-module-net-ftp-i "
+RDEPENDS_perl-module-net-ftp += "perl-module-carp "
+RDEPENDS_perl-module-net-ftp += "perl-module-fcntl "
+RDEPENDS_perl-module-net-ftp += "perl-module-io-socket "
+RDEPENDS_perl-module-net-ftp += "perl-module-net-cmd "
+RDEPENDS_perl-module-net-ftp += "perl-module-net-config "
+RDEPENDS_perl-module-net-ftp += "perl-module-socket "
+RDEPENDS_perl-module-net-ftp += "perl-module-strict "
+RDEPENDS_perl-module-net-ftp += "perl-module-time-local "
+RDEPENDS_perl-module-net-ftp += "perl-module-vars "
+RDEPENDS_perl-module-net-hostent += "perl-module-class-struct "
+RDEPENDS_perl-module-net-hostent += "perl-module-strict "
+RDEPENDS_perl-module-net-hostent += "perl-module-vars "
+RDEPENDS_perl-module-net-netent += "perl-module-class-struct "
+RDEPENDS_perl-module-net-netent += "perl-module-strict "
+RDEPENDS_perl-module-net-netent += "perl-module-vars "
+RDEPENDS_perl-module-net-netrc += "perl-module-carp "
+RDEPENDS_perl-module-net-netrc += "perl-module-filehandle "
+RDEPENDS_perl-module-net-netrc += "perl-module-strict "
+RDEPENDS_perl-module-net-netrc += "perl-module-vars "
+RDEPENDS_perl-module-net-nntp += "perl-module-carp "
+RDEPENDS_perl-module-net-nntp += "perl-module-io-socket "
+RDEPENDS_perl-module-net-nntp += "perl-module-net-cmd "
+RDEPENDS_perl-module-net-nntp += "perl-module-net-config "
+RDEPENDS_perl-module-net-nntp += "perl-module-strict "
+RDEPENDS_perl-module-net-nntp += "perl-module-time-local "
+RDEPENDS_perl-module-net-nntp += "perl-module-vars "
+RDEPENDS_perl-module-net-ping += "perl-module-exporter "
+RDEPENDS_perl-module-net-ping += "perl-module-carp "
+RDEPENDS_perl-module-net-ping += "perl-module-constant "
+RDEPENDS_perl-module-net-ping += "perl-module-fcntl "
+RDEPENDS_perl-module-net-ping += "perl-module-filehandle "
+RDEPENDS_perl-module-net-ping += "perl-module-posix "
+RDEPENDS_perl-module-net-ping += "perl-module-strict "
+RDEPENDS_perl-module-net-pop3 += "perl-module-carp "
+RDEPENDS_perl-module-net-pop3 += "perl-module-io-socket "
+RDEPENDS_perl-module-net-pop3 += "perl-module-net-cmd "
+RDEPENDS_perl-module-net-pop3 += "perl-module-net-config "
+RDEPENDS_perl-module-net-pop3 += "perl-module-strict "
+RDEPENDS_perl-module-net-pop3 += "perl-module-vars "
+RDEPENDS_perl-module-net-protoent += "perl-module-class-struct "
+RDEPENDS_perl-module-net-protoent += "perl-module-strict "
+RDEPENDS_perl-module-net-protoent += "perl-module-vars "
+RDEPENDS_perl-module-net-servent += "perl-module-class-struct "
+RDEPENDS_perl-module-net-servent += "perl-module-strict "
+RDEPENDS_perl-module-net-servent += "perl-module-vars "
+RDEPENDS_perl-module-net-smtp += "perl-module-carp "
+RDEPENDS_perl-module-net-smtp += "perl-module-io-socket "
+RDEPENDS_perl-module-net-smtp += "perl-module-net-cmd "
+RDEPENDS_perl-module-net-smtp += "perl-module-net-config "
+RDEPENDS_perl-module-net-smtp += "perl-module-socket "
+RDEPENDS_perl-module-net-smtp += "perl-module-strict "
+RDEPENDS_perl-module-net-smtp += "perl-module-vars "
+RDEPENDS_perl-module-net-time += "perl-module-exporter "
+RDEPENDS_perl-module-net-time += "perl-module-carp "
+RDEPENDS_perl-module-net-time += "perl-module-io-select "
+RDEPENDS_perl-module-net-time += "perl-module-io-socket "
+RDEPENDS_perl-module-net-time += "perl-module-net-config "
+RDEPENDS_perl-module-net-time += "perl-module-strict "
+RDEPENDS_perl-module-net-time += "perl-module-vars "
+RDEPENDS_perl-module-next += "perl-module-carp "
+RDEPENDS_perl-module-next += "perl-module-strict "
+RDEPENDS_perl-module-opcode += "perl-module-carp "
+RDEPENDS_perl-module-opcode += "perl-module-exporter "
+RDEPENDS_perl-module-opcode += "perl-module-strict "
+RDEPENDS_perl-module-opcode += "perl-module-subs "
+RDEPENDS_perl-module-opcode += "perl-module-xsloader "
+RDEPENDS_perl-module-open += "perl-module-carp "
+RDEPENDS_perl-module-open += "perl-module-warnings "
+RDEPENDS_perl-module-ops += "perl-module-opcode "
+RDEPENDS_perl-module-o += "perl-module-b "
+RDEPENDS_perl-module-o += "perl-module-carp "
+RDEPENDS_perl-module-overload += "perl-module-warnings-register "
+RDEPENDS_perl-module-perlio-encoding += "perl-module-strict "
+RDEPENDS_perl-module-perlio-encoding += "perl-module-xsloader "
+RDEPENDS_perl-module-perlio-scalar += "perl-module-xsloader "
+RDEPENDS_perl-module-perlio-via-quotedprint += "perl-module-strict "
+RDEPENDS_perl-module-perlio-via += "perl-module-xsloader "
+RDEPENDS_perl-module-pod-checker += "perl-module-carp "
+RDEPENDS_perl-module-pod-checker += "perl-module-exporter "
+RDEPENDS_perl-module-pod-checker += "perl-module-pod-parser "
+RDEPENDS_perl-module-pod-checker += "perl-module-strict "
+RDEPENDS_perl-module-pod-checker += "perl-module-vars "
+RDEPENDS_perl-module-pod-find += "perl-module-carp "
+RDEPENDS_perl-module-pod-find += "perl-module-cwd "
+RDEPENDS_perl-module-pod-find += "perl-module-exporter "
+RDEPENDS_perl-module-pod-find += "perl-module-file-find "
+RDEPENDS_perl-module-pod-find += "perl-module-file-spec "
+RDEPENDS_perl-module-pod-find += "perl-module-strict "
+RDEPENDS_perl-module-pod-find += "perl-module-vars "
+RDEPENDS_perl-module-pod-functions += "perl-module-exporter "
+RDEPENDS_perl-module-pod-functions += "perl-module-strict "
+RDEPENDS_perl-module-pod-html += "perl-module-exporter "
+RDEPENDS_perl-module-pod-html += "perl-module-carp "
+RDEPENDS_perl-module-pod-html += "perl-module-config "
+RDEPENDS_perl-module-pod-html += "perl-module-cwd "
+RDEPENDS_perl-module-pod-html += "perl-module-file-spec "
+RDEPENDS_perl-module-pod-html += "perl-module-file-spec-unix "
+RDEPENDS_perl-module-pod-html += "perl-module-getopt-long "
+RDEPENDS_perl-module-pod-html += "perl-module-strict "
+RDEPENDS_perl-module-pod-html += "perl-module-vars "
+RDEPENDS_perl-module-pod-inputobjects += "perl-module-strict "
+RDEPENDS_perl-module-pod-inputobjects += "perl-module-vars "
+RDEPENDS_perl-module-pod-latex += "perl-module-pod-parseutils "
+RDEPENDS_perl-module-pod-latex += "perl-module-base "
+RDEPENDS_perl-module-pod-latex += "perl-module-carp "
+RDEPENDS_perl-module-pod-latex += "perl-module-strict "
+RDEPENDS_perl-module-pod-latex += "perl-module-vars "
+RDEPENDS_perl-module-pod-man += "perl-module-carp "
+RDEPENDS_perl-module-pod-man += "perl-module-pod-parselink "
+RDEPENDS_perl-module-pod-man += "perl-module-pod-parser "
+RDEPENDS_perl-module-pod-man += "perl-module-strict "
+RDEPENDS_perl-module-pod-man += "perl-module-subs "
+RDEPENDS_perl-module-pod-man += "perl-module-vars "
+RDEPENDS_perl-module-pod-parselink += "perl-module-exporter "
+RDEPENDS_perl-module-pod-parselink += "perl-module-strict "
+RDEPENDS_perl-module-pod-parselink += "perl-module-vars "
+RDEPENDS_perl-module-pod-parser += "perl-module-carp "
+RDEPENDS_perl-module-pod-parser += "perl-module-exporter "
+RDEPENDS_perl-module-pod-parser += "perl-module-pod-inputobjects "
+RDEPENDS_perl-module-pod-parser += "perl-module-strict "
+RDEPENDS_perl-module-pod-parser += "perl-module-vars "
+RDEPENDS_perl-module-pod-parseutils += "perl-module-carp "
+RDEPENDS_perl-module-pod-parseutils += "perl-module-vars "
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-baseto += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-getoptsoo += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-tochecker += "perl-module-vars "
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-base "
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-file-spec-functions "
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-toman += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-base "
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-pod-man "
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-tonroff += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-base "
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-topod += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-base "
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-tortf += "perl-module-vars "
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-base "
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-pod-text "
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-totext += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-base "
+RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-file-spec-functions "
+RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-pod-perldoc "
+RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-totk += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-base "
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-warnings "
+RDEPENDS_perl-module-pod-perldoc-toxml += "perl-module-vars "
+RDEPENDS_perl-module-pod-perldoc += "perl-module-config "
+RDEPENDS_perl-module-pod-perldoc += "perl-module-file-spec-functions "
+RDEPENDS_perl-module-pod-perldoc += "perl-module-strict "
+RDEPENDS_perl-module-pod-perldoc += "perl-module-warnings "
+RDEPENDS_perl-module-pod-plainer += "perl-module-pod-parser "
+RDEPENDS_perl-module-pod-plainer += "perl-module-strict "
+RDEPENDS_perl-module-pod-plaintext += "perl-module-carp "
+RDEPENDS_perl-module-pod-plaintext += "perl-module-pod-select "
+RDEPENDS_perl-module-pod-plaintext += "perl-module-strict "
+RDEPENDS_perl-module-pod-plaintext += "perl-module-vars "
+RDEPENDS_perl-module-pod-select += "perl-module-carp "
+RDEPENDS_perl-module-pod-select += "perl-module-pod-parser "
+RDEPENDS_perl-module-pod-select += "perl-module-strict "
+RDEPENDS_perl-module-pod-select += "perl-module-vars "
+RDEPENDS_perl-module-pod-text-color += "perl-module-pod-text "
+RDEPENDS_perl-module-pod-text-color += "perl-module-strict "
+RDEPENDS_perl-module-pod-text-color += "perl-module-term-ansicolor "
+RDEPENDS_perl-module-pod-text-color += "perl-module-vars "
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-pod-text "
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-strict "
+RDEPENDS_perl-module-pod-text-overstrike += "perl-module-vars "
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-pod-text "
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-posix "
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-strict "
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-term-cap "
+RDEPENDS_perl-module-pod-text-termcap += "perl-module-vars "
+RDEPENDS_perl-module-pod-text += "perl-module-carp "
+RDEPENDS_perl-module-pod-text += "perl-module-exporter "
+RDEPENDS_perl-module-pod-text += "perl-module-pod-parselink "
+RDEPENDS_perl-module-pod-text += "perl-module-pod-select "
+RDEPENDS_perl-module-pod-text += "perl-module-strict "
+RDEPENDS_perl-module-pod-text += "perl-module-vars "
+RDEPENDS_perl-module-pod-usage += "perl-module-carp "
+RDEPENDS_perl-module-pod-usage += "perl-module-config "
+RDEPENDS_perl-module-pod-usage += "perl-module-exporter "
+RDEPENDS_perl-module-pod-usage += "perl-module-file-spec "
+RDEPENDS_perl-module-pod-usage += "perl-module-strict "
+RDEPENDS_perl-module-pod-usage += "perl-module-vars "
+RDEPENDS_perl-module-posix += "perl-module-exporter "
+RDEPENDS_perl-module-posix += "perl-module-autoloader "
+RDEPENDS_perl-module-posix += "perl-module-autoloader "
+RDEPENDS_perl-module-posix += "perl-module-xsloader "
+RDEPENDS_perl-module-safe += "perl-module-carp "
+RDEPENDS_perl-module-safe += "perl-module-carp-heavy "
+RDEPENDS_perl-module-safe += "perl-module-strict "
+RDEPENDS_perl-module-scalar-util += "perl-module-exporter "
+RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash "
+RDEPENDS_perl-module-sdbm-file += "perl-module-strict "
+RDEPENDS_perl-module-sdbm-file += "perl-module-warnings "
+RDEPENDS_perl-module-sdbm-file += "perl-module-xsloader "
+RDEPENDS_perl-module-search-dict += "perl-module-exporter "
+RDEPENDS_perl-module-search-dict += "perl-module-strict "
+RDEPENDS_perl-module-selectsaver += "perl-module-carp "
+RDEPENDS_perl-module-selectsaver += "perl-module-symbol "
+RDEPENDS_perl-module-selfloader += "perl-module-exporter "
+RDEPENDS_perl-module-shell += "perl-module-file-spec-functions "
+RDEPENDS_perl-module-shell += "perl-module-strict "
+RDEPENDS_perl-module-shell += "perl-module-warnings "
+RDEPENDS_perl-module-sigtrap += "perl-module-carp "
+RDEPENDS_perl-module-socket += "perl-module-exporter "
+RDEPENDS_perl-module-socket += "perl-module-carp "
+RDEPENDS_perl-module-socket += "perl-module-warnings-register "
+RDEPENDS_perl-module-socket += "perl-module-xsloader "
+RDEPENDS_perl-module-sort += "perl-module-strict "
+RDEPENDS_perl-module-storable += "perl-module-carp "
+RDEPENDS_perl-module-storable += "perl-module-dynaloader "
+RDEPENDS_perl-module-storable += "perl-module-exporter "
+RDEPENDS_perl-module-storable += "perl-module-autoloader "
+RDEPENDS_perl-module-storable += "perl-module-vars "
+RDEPENDS_perl-module-switch += "perl-module-carp "
+RDEPENDS_perl-module-switch += "perl-module-filter-util-call "
+RDEPENDS_perl-module-switch += "perl-module-strict "
+RDEPENDS_perl-module-switch += "perl-module-text-balanced "
+RDEPENDS_perl-module-switch += "perl-module-vars "
+RDEPENDS_perl-module-symbol += "perl-module-exporter "
+RDEPENDS_perl-module-sys-hostname += "perl-module-autoloader "
+RDEPENDS_perl-module-sys-hostname += "perl-module-exporter "
+RDEPENDS_perl-module-sys-hostname += "perl-module-carp "
+RDEPENDS_perl-module-sys-hostname += "perl-module-strict "
+RDEPENDS_perl-module-sys-syslog += "perl-module-dynaloader "
+RDEPENDS_perl-module-sys-syslog += "perl-module-exporter "
+RDEPENDS_perl-module-sys-syslog += "perl-module-carp "
+RDEPENDS_perl-module-sys-syslog += "perl-module-socket "
+RDEPENDS_perl-module-sys-syslog += "perl-module-strict "
+RDEPENDS_perl-module-sys-syslog += "perl-module-sys-hostname "
+RDEPENDS_perl-module-term-ansicolor += "perl-module-exporter "
+RDEPENDS_perl-module-term-ansicolor += "perl-module-strict "
+RDEPENDS_perl-module-term-cap += "perl-module-strict "
+RDEPENDS_perl-module-term-cap += "perl-module-vars "
+RDEPENDS_perl-module-term-complete += "perl-module-exporter "
+RDEPENDS_perl-module-term-complete += "perl-module-strict "
+RDEPENDS_perl-module-term-readline += "perl-module-strict "
+RDEPENDS_perl-module-test-builder += "perl-module-strict "
+RDEPENDS_perl-module-test-builder += "perl-module-vars "
+RDEPENDS_perl-module-test-harness-assert += "perl-module-exporter "
+RDEPENDS_perl-module-test-harness-assert += "perl-module-strict "
+RDEPENDS_perl-module-test-harness-assert += "perl-module-vars "
+RDEPENDS_perl-module-test-harness-iterator += "perl-module-strict "
+RDEPENDS_perl-module-test-harness-iterator += "perl-module-vars "
+RDEPENDS_perl-module-test-harness-point += "perl-module-strict "
+RDEPENDS_perl-module-test-harness-point += "perl-module-vars "
+RDEPENDS_perl-module-test-harness-straps += "perl-module-config "
+RDEPENDS_perl-module-test-harness-straps += "perl-module-strict "
+RDEPENDS_perl-module-test-harness-straps += "perl-module-test-harness-assert "
+RDEPENDS_perl-module-test-harness-straps += "perl-module-test-harness-iterator "
+RDEPENDS_perl-module-test-harness-straps += "perl-module-test-harness-point "
+RDEPENDS_perl-module-test-harness-straps += "perl-module-vars "
+RDEPENDS_perl-module-test-harness += "perl-module-benchmark "
+RDEPENDS_perl-module-test-harness += "perl-module-config "
+RDEPENDS_perl-module-test-harness += "perl-module-exporter "
+RDEPENDS_perl-module-test-harness += "perl-module-strict "
+RDEPENDS_perl-module-test-harness += "perl-module-test-harness-assert "
+RDEPENDS_perl-module-test-harness += "perl-module-test-harness-straps "
+RDEPENDS_perl-module-test-more += "perl-module-exporter "
+RDEPENDS_perl-module-test-more += "perl-module-strict "
+RDEPENDS_perl-module-test-more += "perl-module-test-builder "
+RDEPENDS_perl-module-test-more += "perl-module-vars "
+RDEPENDS_perl-module-test-simple += "perl-module-strict "
+RDEPENDS_perl-module-test-simple += "perl-module-test-builder "
+RDEPENDS_perl-module-test-simple += "perl-module-vars "
+RDEPENDS_perl-module-test += "perl-module-exporter "
+RDEPENDS_perl-module-test += "perl-module-carp "
+RDEPENDS_perl-module-test += "perl-module-strict "
+RDEPENDS_perl-module-text-abbrev += "perl-module-exporter "
+RDEPENDS_perl-module-text-balanced += "perl-module-exporter "
+RDEPENDS_perl-module-text-balanced += "perl-module-overload "
+RDEPENDS_perl-module-text-balanced += "perl-module-selfloader "
+RDEPENDS_perl-module-text-balanced += "perl-module-strict "
+RDEPENDS_perl-module-text-balanced += "perl-module-vars "
+RDEPENDS_perl-module-text-parsewords += "perl-module-exporter "
+RDEPENDS_perl-module-text-parsewords += "perl-module-vars "
+RDEPENDS_perl-module-text-soundex += "perl-module-exporter "
+RDEPENDS_perl-module-text-tabs += "perl-module-exporter "
+RDEPENDS_perl-module-text-tabs += "perl-module-strict "
+RDEPENDS_perl-module-text-tabs += "perl-module-vars "
+RDEPENDS_perl-module-text-wrap += "perl-module-exporter "
+RDEPENDS_perl-module-text-wrap += "perl-module-strict "
+RDEPENDS_perl-module-text-wrap += "perl-module-text-tabs "
+RDEPENDS_perl-module-thread-queue += "perl-module-strict "
+RDEPENDS_perl-module-thread-queue += "perl-module-threads-shared "
+RDEPENDS_perl-module-thread-semaphore += "perl-module-threads-shared "
+RDEPENDS_perl-module-threads-shared += "perl-module-strict "
+RDEPENDS_perl-module-threads-shared += "perl-module-warnings "
+RDEPENDS_perl-module-threads += "perl-module-dynaloader "
+RDEPENDS_perl-module-threads += "perl-module-exporter "
+RDEPENDS_perl-module-threads += "perl-module-config "
+RDEPENDS_perl-module-threads += "perl-module-strict "
+RDEPENDS_perl-module-threads += "perl-module-warnings "
+RDEPENDS_perl-module-thread += "perl-module-exporter "
+RDEPENDS_perl-module-thread += "perl-module-strict "
+RDEPENDS_perl-module-thread += "perl-module-xsloader "
+RDEPENDS_perl-module-tie-array += "perl-module-carp "
+RDEPENDS_perl-module-tie-array += "perl-module-strict "
+RDEPENDS_perl-module-tie-array += "perl-module-vars "
+RDEPENDS_perl-module-tie-file += "perl-module-carp "
+RDEPENDS_perl-module-tie-file += "perl-module-fcntl "
+RDEPENDS_perl-module-tie-file += "perl-module-posix "
+RDEPENDS_perl-module-tie-file += "perl-module-strict "
+RDEPENDS_perl-module-tie-handle += "perl-module-carp "
+RDEPENDS_perl-module-tie-handle += "perl-module-warnings-register "
+RDEPENDS_perl-module-tie-hash += "perl-module-carp "
+RDEPENDS_perl-module-tie-hash += "perl-module-warnings-register "
+RDEPENDS_perl-module-tie-memoize += "perl-module-strict "
+RDEPENDS_perl-module-tie-memoize += "perl-module-tie-hash "
+RDEPENDS_perl-module-tie-refhash += "perl-module-strict "
+RDEPENDS_perl-module-tie-refhash += "perl-module-tie-hash "
+RDEPENDS_perl-module-tie-refhash += "perl-module-vars "
+RDEPENDS_perl-module-tie-scalar += "perl-module-carp "
+RDEPENDS_perl-module-tie-scalar += "perl-module-warnings-register "
+RDEPENDS_perl-module-tie-substrhash += "perl-module-carp "
+RDEPENDS_perl-module-time-gmtime += "perl-module-strict "
+RDEPENDS_perl-module-time-gmtime += "perl-module-time-tm "
+RDEPENDS_perl-module-time-gmtime += "perl-module-vars "
+RDEPENDS_perl-module-time-hires += "perl-module-dynaloader "
+RDEPENDS_perl-module-time-hires += "perl-module-exporter "
+RDEPENDS_perl-module-time-hires += "perl-module-strict "
+RDEPENDS_perl-module-time-hires += "perl-module-vars "
+RDEPENDS_perl-module-time-localtime += "perl-module-strict "
+RDEPENDS_perl-module-time-localtime += "perl-module-time-tm "
+RDEPENDS_perl-module-time-localtime += "perl-module-vars "
+RDEPENDS_perl-module-time-local += "perl-module-exporter "
+RDEPENDS_perl-module-time-local += "perl-module-carp "
+RDEPENDS_perl-module-time-local += "perl-module-config "
+RDEPENDS_perl-module-time-local += "perl-module-integer "
+RDEPENDS_perl-module-time-local += "perl-module-strict "
+RDEPENDS_perl-module-time-local += "perl-module-vars "
+RDEPENDS_perl-module-time-tm += "perl-module-class-struct "
+RDEPENDS_perl-module-time-tm += "perl-module-strict "
+RDEPENDS_perl-module-unicode-collate += "perl-module-carp "
+RDEPENDS_perl-module-unicode-collate += "perl-module-constant "
+RDEPENDS_perl-module-unicode-collate += "perl-module-file-spec "
+RDEPENDS_perl-module-unicode-collate += "perl-module-strict "
+RDEPENDS_perl-module-unicode-collate += "perl-module-warnings "
+RDEPENDS_perl-module-unicode-normalize += "perl-module-dynaloader "
+RDEPENDS_perl-module-unicode-normalize += "perl-module-exporter "
+RDEPENDS_perl-module-unicode-normalize += "perl-module-carp "
+RDEPENDS_perl-module-unicode-normalize += "perl-module-constant "
+RDEPENDS_perl-module-unicode-normalize += "perl-module-strict "
+RDEPENDS_perl-module-unicode-normalize += "perl-module-warnings "
+RDEPENDS_perl-module-unicode-ucd += "perl-module-exporter "
+RDEPENDS_perl-module-unicode-ucd += "perl-module-carp "
+RDEPENDS_perl-module-unicode-ucd += "perl-module-storable "
+RDEPENDS_perl-module-unicode-ucd += "perl-module-strict "
+RDEPENDS_perl-module-unicode-ucd += "perl-module-warnings "
+RDEPENDS_perl-module-universal += "perl-module-exporter "
+RDEPENDS_perl-module-user-grent += "perl-module-class-struct "
+RDEPENDS_perl-module-user-grent += "perl-module-strict "
+RDEPENDS_perl-module-user-grent += "perl-module-vars "
+RDEPENDS_perl-module-user-pwent += "perl-module-carp "
+RDEPENDS_perl-module-user-pwent += "perl-module-class-struct "
+RDEPENDS_perl-module-user-pwent += "perl-module-config "
+RDEPENDS_perl-module-user-pwent += "perl-module-strict "
+RDEPENDS_perl-module-user-pwent += "perl-module-warnings "
+RDEPENDS_perl-module-user-pwent += "perl-module-vars "
+RDEPENDS_perl-module-warnings-register += "perl-module-warnings "
+RDEPENDS_perl-module-warnings += "perl-module-carp "
+RDEPENDS_perl-module-vars += "perl-module-strict "
+RDEPENDS_perl-module-vars += "perl-module-warnings-register "
+RDEPENDS_perl-module-xs-apitest += "perl-module-base "
+RDEPENDS_perl-module-xs-apitest += "perl-module-carp "
+RDEPENDS_perl-module-xs-apitest += "perl-module-strict "
+RDEPENDS_perl-module-xs-apitest += "perl-module-warnings "
+RDEPENDS_perl-module-xs-typemap += "perl-module-base "
+RDEPENDS_perl-module-xs-typemap += "perl-module-vars "
diff --git a/meta/packages/perl/perl.inc b/meta/packages/perl/perl.inc
new file mode 100644
index 0000000000..52418903a2
--- /dev/null
+++ b/meta/packages/perl/perl.inc
@@ -0,0 +1,73 @@
+DESCRIPTION = "Perl is a popular scripting language."
+HOMEPAGE = "http://www.perl.org/"
+LICENSE = "Artistic|GPL"
+SECTION = "devel"
+PRIORITY = "optional"
+DEPENDS = "virtual/db perl-native"
+
+SRC_URI = "ftp://ftp.funet.fi/pub/CPAN/src/perl-${PV}.tar.gz \
+ file://Makefile.patch;patch=1 \
+ file://config.sh-arm-linux.patch;patch=1 \
+ file://libperl-5.8.3-create-libperl-soname.patch;patch=1;pnum=0 \
+ file://uclibc.patch;patch=1 \
+ file://Makefile.SH.patch \
+ file://config.sh-mipsel-linux \
+ file://config.sh-i686-linux"
+
+HOSTPERL=${STAGING_BINDIR}/perl${PV}
+
+do_configure() {
+ ln -sf ${HOSTPERL} ${STAGING_BINDIR}/hostperl
+ cp ${HOSTPERL} hostperl
+ cd Cross
+ rm Makefile.SH.patch
+ cp ${WORKDIR}/Makefile.SH.patch .
+ cp ${WORKDIR}/config.sh-mipsel-linux .
+ cp ${WORKDIR}/config.sh-i686-linux .
+ cat config.sh-arm-linux | sed -e "s,arm-linux,armeb-linux,g" > config.sh-armeb-linux
+ for i in config.sh-*-linux; do
+ a="`echo $i|sed -e 's,^config.sh-,,; s,-linux$,,'`"
+ newfile="`echo $i|sed -e 's,-linux$,-linux-uclibc,g'`"
+ cat $i | sed -e "s,${a}-linux,${a}-linux-uclibc,g; \
+ s,d_sockatmark='define',d_sockatmark='undef',g;" > $newfile
+ done
+ sed -i -e 's,./install_me_here,${D},g' config.sh-${TARGET_ARCH}-${TARGET_OS}
+ rm -f config
+ echo "ARCH = ${TARGET_ARCH}" > config
+ echo "OS = ${TARGET_OS}" >> config
+ oe_runmake patch
+}
+
+do_compile() {
+ sed -i -e 's|/usr/include|${STAGING_INCDIR}|g' ext/Errno/Errno_pm.PL
+ cd Cross
+ oe_runmake perl
+}
+
+do_install() {
+ oe_runmake install
+ mv ${D}/${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/CORE/libperl.so ${D}/${libdir}/libperl.so.${PV}
+ ( cd ${D}/usr/bin/; rm perl; ln -s perl${PV} perl )
+}
+
+do_stage() {
+ install -d ${STAGING_DIR}/${HOST_SYS}/perl/
+ install config.sh ${STAGING_DIR}/${HOST_SYS}/perl/
+}
+
+PACKAGES_DYNAMIC = "perl-module-*"
+
+python populate_packages_prepend () {
+ libdir = bb.data.expand('${libdir}/perl5/${PV}', d)
+ archlibdir = bb.data.expand('${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}', d)
+ do_split_packages(d, archlibdir, 'auto/(.*)/', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
+ do_split_packages(d, archlibdir, '(.*)\.(pm|pl)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
+ do_split_packages(d, libdir, '(.*)\.(pm|pl)', 'perl-module-%s', 'perl module %s', recursive=True, allow_dirs=False, match_path=True)
+}
+
+PACKAGES = "perl perl-misc perl-lib perl-dev perl-pod"
+FILES_${PN} = "/usr/bin/perl /usr/bin/perl${PV}"
+FILES_${PN}-lib = "/usr/lib/libperl.so*"
+FILES_${PN}-dev = "/usr/lib/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/CORE/"
+FILES_${PN}-pod = "/usr/lib/perl5/${PV}/pod"
+FILES_perl-misc = "/usr/bin/"
diff --git a/meta/packages/perl/perl_5.8.7.bb b/meta/packages/perl/perl_5.8.7.bb
new file mode 100644
index 0000000000..456cc95c84
--- /dev/null
+++ b/meta/packages/perl/perl_5.8.7.bb
@@ -0,0 +1,101 @@
+MAINTAINER="David Karlstrom <daka@thg.se>"
+
+include perl.inc
+
+SRC_URI += "file://config.sh-armeb-linux \
+ file://config.sh-arm-linux \
+ file://config.sh-i386-linux"
+
+PR = "r15"
+
+do_configure() {
+ ln -sf ${HOSTPERL} ${STAGING_BINDIR}/hostperl
+ cp ${HOSTPERL} hostperl
+ cd Cross
+ rm Makefile.SH.patch
+ cp ${WORKDIR}/Makefile.SH.patch .
+ cp ${WORKDIR}/config.sh-mipsel-linux .
+ cp ${WORKDIR}/config.sh-i686-linux .
+ cp ${WORKDIR}/config.sh-i386-linux .
+ cp ${WORKDIR}/config.sh-armeb-linux .
+ #perl insists on an extra config.sh for arm EABI
+ cp config.sh-arm-linux config.sh-arm-linux-gnueabi
+ # nslu2 LE uclibc builds do not work with the default config.sh
+ if test "${MACHINE}" = nslu2
+ then
+ rm -f ./config.sh-arm-linux
+ cp ${WORKDIR}/config.sh-arm-linux .
+ fi
+ for i in config.sh-*-linux; do
+ a="`echo $i|sed -e 's,^config.sh-,,; s,-linux$,,'`"
+ newfile="`echo $i|sed -e 's,-linux$,-linux-uclibc,g'`"
+ cat $i | sed -e "s,${a}-linux,${a}-linux-uclibc,g; \
+ s,d_sockatmark='define',d_sockatmark='undef',g;" > $newfile
+ done
+ sed -i -e 's,./install_me_here,${D},g' config.sh-${TARGET_ARCH}-${TARGET_OS}
+ rm -f config
+ echo "ARCH = ${TARGET_ARCH}" > config
+ echo "OS = ${TARGET_OS}" >> config
+ oe_runmake patch
+}
+
+do_install_append() {
+ ln -s libperl.so.${PV} ${D}/${libdir}/libperl.so.5
+ sed -i -e "s,${D},,g" ${D}/${libdir}/perl5/${PV}/${TARGET_ARCH}-${TARGET_OS}/Config_heavy.pl
+}
+
+# Create a perl-modules package recommending all the other perl
+# packages (actually the non modules packages and not created too)
+ALLOW_EMPTY_perl-modules = 1
+PACKAGES_append = " perl-modules"
+RRECOMMENDS_perl-modules = "${PACKAGES}"
+RPROVIDES_perl-lib = "perl-lib"
+
+
+include perl-rdepends_${PV}.inc
+
+# To create/update the perl-rdepends_${PV}.inc use this piece of ugly script (modified for your arch/paths etc):
+# daka@DaKa2:/home/slug/slugos/tmp/work/perl-5.8.7-r14/install$ egrep -r "use|require" * | grep ";$" | egrep ".pm:use |.pm:require " | grep -v v5.6.0 | grep -v 5.00 | grep -v \$module | sed -e "s, \+, ,g" | cut -f1,2 -d" " | sed -e "s,;, ,g" | sed -e "s,(), ,g" | sed -e "s,::,-,g" | sort | uniq | tr [:upper:] [:lower:] | sed -e "s,/[^ ]\+ , += \"perl-module-,g" | sed -e "s, \?$, \",g" | sed -e "s,_,-,g" | sed -e "s,^,RDEPENDS_,g" | sed -e "s,armeb-linux,\$\{TARGET_ARCH\}-\$\{TARGET_OS\},g" | egrep -v "perl-module-5|perl-module-tk|perl-module-mac-internetconfig|perl-module-ndbm-file|perl-module-html-treebuilder|perl-module-lwp-simple|perl-module-vms-filespec|perl-module-fcgi|perl-module-vms-stdio|perl-module-mac-buildtools" > /home/slug/openembedded/packages/perl/perl-rdepends_5.8.7.inc
+
+# Some packages changed names in 5.8.7-r14, RPROVIDE them
+RPROVIDES_perl-module-b-asmdata = "perl-module-${TARGET_SYS}-b-asmdata"
+RPROVIDES_perl-module-b-assembler = "perl-module-${TARGET_SYS}-b-assembler"
+RPROVIDES_perl-module-b-bblock = "perl-module-${TARGET_SYS}-b-bblock"
+RPROVIDES_perl-module-b-bytecode = "perl-module-${TARGET_SYS}-b-bytecode"
+RPROVIDES_perl-module-b-cc = "perl-module-${TARGET_SYS}-b-cc"
+RPROVIDES_perl-module-b-concise = "perl-module-${TARGET_SYS}-b-concise"
+RPROVIDES_perl-module-b-debug = "perl-module-${TARGET_SYS}-b-debug"
+RPROVIDES_perl-module-b-deparse = "perl-module-${TARGET_SYS}-b-deparse"
+RPROVIDES_perl-module-b-disassembler = "perl-module-${TARGET_SYS}-b-disassembler"
+RPROVIDES_perl-module-b-lint = "perl-module-${TARGET_SYS}-b-lint"
+RPROVIDES_perl-module-b-showlex = "perl-module-${TARGET_SYS}-b-showlex"
+RPROVIDES_perl-module-b-stackobj = "perl-module-${TARGET_SYS}-b-stackobj"
+RPROVIDES_perl-module-b-stash = "perl-module-${TARGET_SYS}-b-stash"
+RPROVIDES_perl-module-b-terse = "perl-module-${TARGET_SYS}-b-terse"
+RPROVIDES_perl-module-b-xref = "perl-module-${TARGET_SYS}-b-xref"
+RPROVIDES_perl-module-config = "perl-module-${TARGET_SYS}-config"
+RPROVIDES_perl-module-config-heavy = "perl-module-${TARGET_SYS}-config-heavy"
+RPROVIDES_perl-module-encode-alias = "perl-module-${TARGET_SYS}-encode-alias"
+RPROVIDES_perl-module-encode-cjkconstants = "perl-module-${TARGET_SYS}-encode-cjkconstants"
+RPROVIDES_perl-module-encode-config = "perl-module-${TARGET_SYS}-encode-config"
+RPROVIDES_perl-module-encode-encoder = "perl-module-${TARGET_SYS}-encode-encoder"
+RPROVIDES_perl-module-encode-encoding = "perl-module-${TARGET_SYS}-encode-encoding"
+RPROVIDES_perl-module-encode-guess = "perl-module-${TARGET_SYS}-encode-guess"
+RPROVIDES_perl-module-encoding = "perl-module-${TARGET_SYS}-encoding"
+RPROVIDES_perl-module-errno = "perl-module-${TARGET_SYS}-errno"
+RPROVIDES_perl-module-io-dir = "perl-module-${TARGET_SYS}-io-dir"
+RPROVIDES_perl-module-io-file = "perl-module-${TARGET_SYS}-io-file"
+RPROVIDES_perl-module-io-handle = "perl-module-${TARGET_SYS}-io-handle"
+RPROVIDES_perl-module-io-pipe = "perl-module-${TARGET_SYS}-io-pipe"
+RPROVIDES_perl-module-io-poll = "perl-module-${TARGET_SYS}-io-poll"
+RPROVIDES_perl-module-io-seekable = "perl-module-${TARGET_SYS}-io-seekable"
+RPROVIDES_perl-module-io-select = "perl-module-${TARGET_SYS}-io-select"
+RPROVIDES_perl-module-io-socket = "perl-module-${TARGET_SYS}-io-socket"
+RPROVIDES_perl-module-ipc-msg = "perl-module-${TARGET_SYS}-ipc-msg"
+RPROVIDES_perl-module-ipc-semaphore = "perl-module-${TARGET_SYS}-ipc-semaphore"
+RPROVIDES_perl-module-lib = "perl-module-${TARGET_SYS}-lib"
+RPROVIDES_perl-module-mime-quotedprint = "perl-module-${TARGET_SYS}-mime-quotedprint"
+RPROVIDES_perl-module-o = "perl-module-${TARGET_SYS}-o"
+RPROVIDES_perl-module-ops = "perl-module-${TARGET_SYS}-ops"
+RPROVIDES_perl-module-safe = "perl-module-${TARGET_SYS}-safe"
+RPROVIDES_perl-module-xsloader = "perl-module-${TARGET_SYS}-xsloader"
diff --git a/meta/packages/pkgconfig/pkgconfig-0.15.0/configure.patch b/meta/packages/pkgconfig/pkgconfig-0.15.0/configure.patch
new file mode 100644
index 0000000000..4218e917d4
--- /dev/null
+++ b/meta/packages/pkgconfig/pkgconfig-0.15.0/configure.patch
@@ -0,0 +1,495 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- pkgconfig-0.15.0/glib-1.2.8/Makefile.am~configure.patch
++++ pkgconfig-0.15.0/glib-1.2.8/Makefile.am
+@@ -65,7 +65,7 @@
+
+ CONFIGURE_DEPENDENCIES = acglib.m4
+
+-BUILT_SOURCES = stamp-gc-h #note: not glibconfig.h
++BUILT_SOURCES += stamp-gc-h #note: not glibconfig.h
+ glibconfig.h: stamp-gc-h
+ @:
+ stamp-gc-h: config.status
+--- pkgconfig-0.15.0/glib-1.2.8/configure.in~configure.patch
++++ pkgconfig-0.15.0/glib-1.2.8/configure.in
+@@ -1,10 +1,11 @@
+ dnl ***********************************
+ dnl *** include special GLib macros ***
+ dnl ***********************************
+-builtin(include, acglib.m4)dnl
++dnl no need, just use aclocal -I . --CL
++dnl builtin(include, acglib.m4)dnl
+
+ # require autoconf 2.13
+-AC_PREREQ(2.13)
++AC_PREREQ(2.53)
+
+ # init autoconf (and check for presence of glist.c)
+ AC_INIT(glist.c)
+@@ -13,11 +14,48 @@
+ cflags_set=${CFLAGS+set}
+
+ # we rewrite this file
++if test "x$cross_compiling" != "xyes"; then
+ rm -f glibconfig-sysdefs.h
++fi
++
++# config defines
++
++AH_TEMPLATE([ENABLE_MEM_CHECK],
++ [Define if enabling memory checking])
++AH_TEMPLATE([ENABLE_MEM_PROFILE], [])
++AH_TEMPLATE([GLIB_BINARY_AGE], [])
++AH_TEMPLATE([GLIB_BYTE_CONTENTS_GMUTEX], [])
++AH_TEMPLATE([GLIB_INTERFACE_AGE], [])
++AH_TEMPLATE([GLIB_MAJOR_VERSION], [])
++AH_TEMPLATE([GLIB_MINOR_VERSION], [])
++AH_TEMPLATE([GLIB_MICRO_VERSION], [])
++AH_TEMPLATE([GLIB_SIZEOF_GMUTEX], [])
++AH_TEMPLATE([G_COMPILED_WITH_DEBUGGING], [])
++AH_TEMPLATE([G_HAVE_INLINE], [])
++AH_TEMPLATE([G_HAVE___INLINE], [])
++AH_TEMPLATE([G_HAVE___INLINE__], [])
++AH_TEMPLATE([G_THREAD_SOURCE], [])
++AH_TEMPLATE([G_VA_COPY], [])
++AH_TEMPLATE([G_VA_COPY_AS_ARRAY], [])
++AH_TEMPLATE([HAVE_BROKEN_WCTYPE], [])
++AH_TEMPLATE([HAVE_GETPWUID_R], [])
++AH_TEMPLATE([HAVE_GETPWUID_R_POSIX], [])
++AH_TEMPLATE([HAVE_PTHREAD_COND_TIMEDWAIT_POSIX], [])
++AH_TEMPLATE([HAVE_PTHREAD_GETSPECIFIC_POSIX], [])
++AH_TEMPLATE([HAVE_PTHREAD_MUTEX_TRYLOCK_POSIX], [])
++AH_TEMPLATE([HAVE_WCHAR_H], [])
++AH_TEMPLATE([HAVE_WCTYPE_H], [])
++AH_TEMPLATE([NO_FD_SET], [])
++AH_TEMPLATE([NO_SYS_ERRLIST], [])
++AH_TEMPLATE([NO_SYS_SIGLIST], [])
++AH_TEMPLATE([NO_SYS_SIGLIST_DECL], [])
++AH_TEMPLATE([REALLOC_0_WORKS], [])
++
+
+ dnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
+ dnl are available for $ac_help expansion (don't we all *love* autoconf?)
+-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
++#AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)
++#dnl
+ #
+ # The following version number definitions apply to GLib, GModule and GThread
+ # as a whole, so if changes occoured in any of them, they are all
+@@ -38,7 +76,7 @@
+ GLIB_BINARY_AGE=8
+ GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
+ dnl
+-AC_DIVERT_POP()dnl
++#AC_DIVERT_POP()dnl
+
+ AC_SUBST(GLIB_MAJOR_VERSION)
+ AC_SUBST(GLIB_MINOR_VERSION)
+@@ -77,17 +115,15 @@
+ dnl Initialize maintainer mode
+ AM_MAINTAINER_MODE
+
+-AC_CANONICAL_HOST
+-
+ dnl figure debugging default, prior to $ac_help setup
+ dnl
+-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
++#AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+ if test `expr $GLIB_MINOR_VERSION \% 2` = 1 ; then
+ debug_default=yes
+ else
+ debug_default=minimum
+ fi
+-AC_DIVERT_POP()dnl
++#AC_DIVERT_POP()dnl
+
+ dnl declare --enable-* args and collect ac_help strings
+ AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
+@@ -173,7 +209,9 @@
+ CFLAGS=$glib_save_CFLAGS
+ AC_MSG_WARN(
+ [No ANSI prototypes found in library. (-std1 didn't work.)])
++ , AC_MSG_WARN([Skipping test due to crosscompilation])
+ )
++ , AC_MSG_WARN([Skipping test due to crosscompilation])
+ )
+ LIBS=$glib_save_LIBS
+
+@@ -384,11 +422,13 @@
+ return realloc (0, sizeof (int)) == 0;
+ }],
+ glib_cv_sane_realloc=yes
+- AC_DEFINE(REALLOC_0_WORKS)
+ ,
+ glib_cv_sane_realloc=no
+ ,)
+ ])
++if test "x$glib_cv_sane_realloc" = "xyes"; then
++ AC_DEFINE(REALLOC_0_WORKS)
++fi
+ AC_MSG_RESULT($glib_cv_sane_realloc)
+
+
+@@ -464,7 +504,8 @@
+ ])
+ if test "x$glib_cv_va_copy" = "xyes"; then
+ AC_DEFINE(G_VA_COPY, va_copy)
+-else if test "x$glib_cv___va_copy" = "xyes"; then
++else
++if test "x$glib_cv___va_copy" = "xyes"; then
+ AC_DEFINE(G_VA_COPY, __va_copy)
+ fi
+ fi
+@@ -473,6 +514,7 @@
+ fi
+ AC_MSG_RESULT($glib_cv_va_val_copy)
+
++AC_MSG_WARN([hi mom])
+
+ dnl ***********************
+ dnl *** g_module checks ***
+@@ -483,21 +525,27 @@
+ G_MODULE_NEED_USCORE=0
+ G_MODULE_HAVE_DLERROR=0
+ dnl *** dlopen() and dlsym() in system libraries
++AC_CHECK_FUNC(dlopen,[
++ AC_CHECK_FUNC(dlsym,[
++ G_MODULE_IMPL=G_MODULE_IMPL_DL
++ ],
++ )],
++)
+ if test -z "$G_MODULE_IMPL"; then
+- AC_CHECK_FUNC(dlopen,
+- AC_CHECK_FUNC(dlsym,
++ AC_CHECK_FUNC(dlopen,[
++ AC_CHECK_FUNC(dlsym,[
+ G_MODULE_IMPL=G_MODULE_IMPL_DL
+- ,)
+- ,)
++ ])],
++ )
+ fi
+ dnl *** dlopen() and dlsym() in libdl
+ if test -z "$G_MODULE_IMPL"; then
+- AC_CHECK_LIB(dl, dlopen,
+- AC_CHECK_LIB(dl, dlsym,
++ AC_CHECK_LIB(dl, dlopen,[
++ AC_CHECK_LIB(dl, dlsym,[
+ G_MODULE_LIBS=-ldl
+ G_MODULE_IMPL=G_MODULE_IMPL_DL
+- ,)
+- ,)
++ ])]
++ )
+ fi
+ dnl *** shl_load() in libdld (HP-UX)
+ if test -z "$G_MODULE_IMPL"; then
+@@ -576,6 +624,7 @@
+ AC_SUBST(G_MODULE_HAVE_DLERROR)
+ AC_SUBST(G_MODULE_NEED_USCORE)
+ AC_SUBST(GLIB_DEBUG_FLAGS)
++AC_MSG_WARN([hi mom])
+
+
+ dnl ***********************
+@@ -812,38 +861,50 @@
+ fi
+ if test x"$have_threads" = xposix; then
+ LIBS="$LIBS $G_THREAD_LIBS"
+- AC_MSG_CHECKING(whether pthread_getspecific is posix like)
+ # PCThreads has pthread_getspecific(pthread_key_t, void **);
+- AC_TRY_COMPILE([#include <pthread.h>],
+- [pthread_getspecific(0,NULL);],
+- [AC_MSG_RESULT(no)],
+- [AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_PTHREAD_GETSPECIFIC_POSIX)])
+- AC_MSG_CHECKING(whether pthread_mutex_trylock is posix like)
++ AC_CACHE_CHECK([whether pthread_getspecific is posix like],
++ [glib_cv_sys_pthread_getspecific_posix],
++ AC_TRY_COMPILE([#include <pthread.h>],
++ [pthread_getspecific(0,NULL);],
++ [glib_cv_sys_pthread_getspecific_posix=no],
++ [glib_cv_sys_pthread_getspecific_posix=yes])
++ )
++ if test x"$glib_cv_sys_pthread_getspecific_posix" = xyes; then
++ AC_DEFINE(HAVE_PTHREAD_GETSPECIFIC_POSIX)
++ fi
+ # DCE Threads return 1 as success, posix 0. what a mess.
+- AC_TRY_RUN([#include <pthread.h>
+- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+- int main () {
+- return !pthread_mutex_trylock (&mutex); }],
+- [AC_MSG_RESULT(no)],
+- [AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_PTHREAD_MUTEX_TRYLOCK_POSIX)])
+- AC_MSG_CHECKING(whether pthread_cond_timedwait is posix like)
++ AC_CACHE_CHECK([whether pthread_mutex_trylock is posix like],
++ [glib_cv_sys_pthread_mutex_trylock_posix],
++ AC_TRY_RUN([#include <pthread.h>
++ pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
++ int main () {
++ return !pthread_mutex_trylock (&mutex); }],
++ [glib_cv_sys_pthread_mutex_trylock_posix=no],
++ [glib_cv_sys_pthread_mutex_trylock_posix=yes])
++ )
++ if test x"$glib_cv_sys_pthread_mutex_trylock_posix" = xyes; then
++ AC_DEFINE(HAVE_PTHREAD_MUTEX_TRYLOCK_POSIX)
++ fi
+ # DCE Threads return -1 as failure, posix ETIMEDOUT.
+- AC_TRY_RUN([#include <pthread.h>
+- int main () {
+- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
+- pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
+- struct timeval tval;
+- struct timespec tspec;
+- gettimeofday (&tval, NULL);
+- tspec.tv_sec = tval.tv_sec;
+- tspec.tv_nsec = 0;
+- return pthread_cond_timedwait (&cond,&mutex,&tspec)
+- != -1;}],
+- [AC_MSG_RESULT(no)],
+- [AC_MSG_RESULT(yes)
+- AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_POSIX)])
++ AC_CACHE_CHECK([whether pthread_cond_timedwait is posix like],
++ [glib_cv_sys_pthread_cond_timedwait_posix],
++ AC_TRY_RUN([#include <pthread.h>
++ int main () {
++ pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
++ pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
++ struct timeval tval;
++ struct timespec tspec;
++ gettimeofday (&tval, NULL);
++ tspec.tv_sec = tval.tv_sec;
++ tspec.tv_nsec = 0;
++ return pthread_cond_timedwait (&cond,&mutex,&tspec)
++ != -1;}],
++ [glib_cv_sys_pthread_cond_timedwait_posix=no],
++ [glib_cv_sys_pthread_cond_timedwait_posix=yes])
++ )
++ if test x"$glib_cv_sys_pthread_cond_timedwait_posix" = xyes; then
++ AC_DEFINE(HAVE_PTHREAD_COND_TIMEDWAIT_POSIX)
++ fi
+ fi
+ LIBS="$glib_save_LIBS"
+ CFLAGS="$glib_save_CFLAGS"
+@@ -887,13 +948,14 @@
+ dnl ****************************************
+ dnl *** GLib POLL* compatibility defines ***
+ dnl ****************************************
++if test x"$cross_compiling" != xyes; then
+ GLIB_SYSDEFS(
+ [#include <sys/types.h>
+ #include <sys/poll.h>],
+ POLLIN:1 POLLOUT:4 POLLPRI:2 POLLERR:8 POLLHUP:16 POLLNVAL:32,
+ glibconfig-sysdefs.h,
+ =)
+-
++fi
+
+ dnl ******************************
+ dnl *** output the whole stuff ***
+@@ -950,7 +1012,7 @@
+ echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
+ fi
+
+- cat >> $outfile <<_______EOF
++ cat >> $outfile <<EOF
+
+ #define G_MINFLOAT $glib_mf
+ #define G_MAXFLOAT $glib_Mf
+@@ -963,60 +1025,60 @@
+ #define G_MINLONG $glib_ml
+ #define G_MAXLONG $glib_Ml
+
+-_______EOF
++EOF
+
+
+ ### this should always be true in a modern C/C++ compiler
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ typedef signed char gint8;
+ typedef unsigned char guint8;
+-_______EOF
++EOF
+
+
+ if test -n "$gint16"; then
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ typedef signed $gint16 gint16;
+ typedef unsigned $gint16 guint16;
+-_______EOF
++EOF
+ fi
+
+
+ if test -n "$gint32"; then
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ typedef signed $gint32 gint32;
+ typedef unsigned $gint32 guint32;
+-_______EOF
++EOF
+ fi
+
+
+ if test -n "$gint64"; then
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ ${glib_warning_guard}#define G_HAVE_GINT64 1
+
+ ${glib_extension}typedef signed $gint64 gint64;
+ ${glib_extension}typedef unsigned $gint64 guint64;
+
+ #define G_GINT64_CONSTANT(val) $gint64_constant
+-_______EOF
++EOF
+ fi
+
+
+ if test -z "$glib_unknown_void_p"; then
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+
+ #define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
+ #define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
+
+ #define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
+ #define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
+-_______EOF
++EOF
+ else
+ echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
+ fi
+
+
+
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ $glib_atexit
+ $glib_memmove
+ $glib_defines
+@@ -1028,11 +1090,11 @@
+ #else /* !__cplusplus */
+ $glib_inline
+ #endif /* !__cplusplus */
+-_______EOF
++EOF
+
+ echo >>$outfile
+ if test x$g_mutex_has_default = xyes; then
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ $g_enable_threads_def G_THREADS_ENABLED
+ #define G_THREADS_IMPL_$g_threads_impl_def
+ typedef struct _GStaticMutex GStaticMutex;
+@@ -1050,15 +1112,15 @@
+ #define g_static_mutex_get_mutex(mutex) \
+ (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
+ g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
+-_______EOF
++EOF
+ else
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ $g_enable_threads_def G_THREADS_ENABLED
+ #define G_THREADS_IMPL_$g_threads_impl_def
+ typedef struct _GMutex* GStaticMutex;
+ #define G_STATIC_MUTEX_INIT NULL
+ #define g_static_mutex_get_mutex(mutex) (g_static_mutex_get_mutex_impl (mutex))
+-_______EOF
++EOF
+ fi
+
+ echo >>$outfile
+@@ -1067,15 +1129,15 @@
+ g_bit_sizes="$g_bit_sizes 64"
+ fi
+ for bits in $g_bit_sizes; do
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ #define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
+ #define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
+ #define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
+ #define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
+-_______EOF
++EOF
+ done
+
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+ #define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
+ #define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
+ #define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
+@@ -1086,14 +1148,14 @@
+ #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
+ #define G_BYTE_ORDER $g_byte_order
+
+-_______EOF
++EOF
+
+ if test -r glibconfig-sysdefs.h; then
+ cat glibconfig-sysdefs.h >>$outfile
+ fi
+
+
+- cat >>$outfile <<_______EOF
++ cat >>$outfile <<EOF
+
+ $glib_wc
+
+@@ -1103,7 +1165,7 @@
+ #endif /* __cplusplus */
+
+ #endif /* GLIBCONFIG_H */
+-_______EOF
++EOF
+
+
+ if cmp -s $outfile glibconfig.h; then
+--- pkgconfig-0.15.0/glib-1.2.8/gmodule/Makefile.am~configure.patch
++++ pkgconfig-0.15.0/glib-1.2.8/gmodule/Makefile.am
+@@ -41,7 +41,7 @@
+ libgplugin_b_la_LIBADD = @G_MODULE_LIBS@ # $(libglib)
+
+ noinst_PROGRAMS = testgmodule
+-testgmodule_LDFLAGS += @G_MODULE_LDFLAGS@
++testgmodule_LDFLAGS = @G_MODULE_LDFLAGS@
+ testgmodule_LDADD = libgmodule.la $(libglib) @G_MODULE_LIBS@
+
+ .PHONY: files release
+--- pkgconfig-0.15.0/pkg.m4~configure.patch
++++ pkgconfig-0.15.0/pkg.m4
+@@ -2,7 +2,7 @@
+ dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+ dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+ dnl also defines GSTUFF_PKG_ERRORS on error
+-AC_DEFUN(PKG_CHECK_MODULES, [
++AC_DEFUN([PKG_CHECK_MODULES], [
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+--- pkgconfig-0.15.0/configure.in~configure.patch
++++ pkgconfig-0.15.0/configure.in
+@@ -1,6 +1,7 @@
+
+ AC_INIT(pkg-config.1)
+
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE(pkgconfig, 0.15.0)
+ AM_MAINTAINER_MODE
+
+@@ -37,8 +38,6 @@
+
+ AC_SUBST(GLIB_LIBS)
+ AC_SUBST(GLIB_CFLAGS)
+-
+- AC_CONFIG_AUX_DIR(.)
+ else
+ AC_CONFIG_SUBDIRS(glib-1.2.8)
+ fi # !native_win32
diff --git a/meta/packages/pkgconfig/pkgconfig-0.15.0/glibconfig-sysdefs.h b/meta/packages/pkgconfig/pkgconfig-0.15.0/glibconfig-sysdefs.h
new file mode 100644
index 0000000000..1329e7f21c
--- /dev/null
+++ b/meta/packages/pkgconfig/pkgconfig-0.15.0/glibconfig-sysdefs.h
@@ -0,0 +1,6 @@
+#define GLIB_SYSDEF_POLLIN =1
+#define GLIB_SYSDEF_POLLOUT =4
+#define GLIB_SYSDEF_POLLPRI =2
+#define GLIB_SYSDEF_POLLERR =8
+#define GLIB_SYSDEF_POLLHUP =16
+#define GLIB_SYSDEF_POLLNVAL =32
diff --git a/meta/packages/pkgconfig/pkgconfig-0.15.0/pkg.m4 b/meta/packages/pkgconfig/pkgconfig-0.15.0/pkg.m4
new file mode 100644
index 0000000000..cbb46dbf83
--- /dev/null
+++ b/meta/packages/pkgconfig/pkgconfig-0.15.0/pkg.m4
@@ -0,0 +1,156 @@
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+#
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists. Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+ if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ else
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+ [pkg_failed=yes])
+ fi
+else
+ pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+ [$4])
+elif test $pkg_failed = untried; then
+ ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
+ [$4])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
diff --git a/meta/packages/pkgconfig/pkgconfig-native_0.15.0.bb b/meta/packages/pkgconfig/pkgconfig-native_0.15.0.bb
new file mode 100644
index 0000000000..d8e47c5d09
--- /dev/null
+++ b/meta/packages/pkgconfig/pkgconfig-native_0.15.0.bb
@@ -0,0 +1,7 @@
+SECTION = "console/utils"
+include pkgconfig_${PV}.bb
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/pkgconfig-${PV}"
+
+S = "${WORKDIR}/pkgconfig-${PV}"
+inherit native
+DEPENDS = ""
diff --git a/meta/packages/pkgconfig/pkgconfig_0.15.0.bb b/meta/packages/pkgconfig/pkgconfig_0.15.0.bb
new file mode 100644
index 0000000000..31fc7820fe
--- /dev/null
+++ b/meta/packages/pkgconfig/pkgconfig_0.15.0.bb
@@ -0,0 +1,26 @@
+SECTION = "console/utils"
+DESCRIPTION = "pkg-config is a system for managing library \
+compile/link flags that works with automake and autoconf. \
+It replaces the ubiquitous *-config scripts you may have \
+seen with a single tool."
+HOMEPAGE = "http://www.freedesktop.org/software/pkgconfig/"
+LICENSE = "GPL"
+PR = "r2"
+
+SRC_URI = "http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-${PV}.tar.gz \
+ file://configure.patch;patch=1 \
+ file://pkg.m4 \
+ file://glibconfig-sysdefs.h"
+
+inherit autotools
+
+acpaths = "-I ."
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h glib-1.2.8/
+ install -m 0644 ${WORKDIR}/pkg.m4 ${S}/
+}
+
+do_stage_append() {
+ install -d -m 0755 ${STAGING_DATADIR}/pkgconfig
+
+}
diff --git a/meta/packages/popt/popt-1.7/intl.patch b/meta/packages/popt/popt-1.7/intl.patch
new file mode 100644
index 0000000000..a7becb1b1a
--- /dev/null
+++ b/meta/packages/popt/popt-1.7/intl.patch
@@ -0,0 +1,15 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- popt-1.7/Makefile.am~intl
++++ popt-1.7/Makefile.am
+@@ -33,6 +33,7 @@
+
+ include_HEADERS = popt.h
+ lib_LTLIBRARIES = libpopt.la
++libpopt_la_LIBADD = $(LTLIBINTL)
+ libpopt_la_SOURCES = popt.c findme.c poptparse.c poptconfig.c popthelp.c
+
+ man_MANS = popt.3
diff --git a/meta/packages/popt/popt-1.7/m4.patch b/meta/packages/popt/popt-1.7/m4.patch
new file mode 100644
index 0000000000..2a9b2a64f1
--- /dev/null
+++ b/meta/packages/popt/popt-1.7/m4.patch
@@ -0,0 +1,2155 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/codeset.m4
+@@ -0,0 +1,23 @@
++# codeset.m4 serial AM1 (gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_LANGINFO_CODESET],
++[
++ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
++ [AC_TRY_LINK([#include <langinfo.h>],
++ [char* cs = nl_langinfo(CODESET);],
++ am_cv_langinfo_codeset=yes,
++ am_cv_langinfo_codeset=no)
++ ])
++ if test $am_cv_langinfo_codeset = yes; then
++ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
++ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/gettext.m4
+@@ -0,0 +1,587 @@
++# gettext.m4 serial 17 (gettext-0.11.5)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
++
++dnl Macro to add for using GNU gettext.
++
++dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
++dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
++dnl default (if it is not specified or empty) is 'no-libtool'.
++dnl INTLSYMBOL should be 'external' for packages with no intl directory,
++dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
++dnl If INTLSYMBOL is 'use-libtool', then a libtool library
++dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
++dnl depending on --{enable,disable}-{shared,static} and on the presence of
++dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
++dnl $(top_builddir)/intl/libintl.a will be created.
++dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
++dnl implementations (in libc or libintl) without the ngettext() function
++dnl will be ignored. If NEEDSYMBOL is specified and is
++dnl 'need-formatstring-macros', then GNU gettext implementations that don't
++dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
++dnl INTLDIR is used to find the intl libraries. If empty,
++dnl the value `$(top_builddir)/intl/' is used.
++dnl
++dnl The result of the configuration is one of three cases:
++dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
++dnl and used.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 2) GNU gettext has been found in the system's C library.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 3) No internationalization, always use English msgid.
++dnl Catalog format: none
++dnl Catalog extension: none
++dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
++dnl The use of .gmo is historical (it was needed to avoid overwriting the
++dnl GNU format catalogs when building on a platform with an X/Open gettext),
++dnl but we keep it in order not to force irrelevant filename changes on the
++dnl maintainers.
++dnl
++AC_DEFUN([AM_GNU_GETTEXT],
++[
++ dnl Argument checking.
++ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
++ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
++])])])])])
++ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
++ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
++])])])])
++ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
++ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
++
++ AC_REQUIRE([AM_PO_SUBDIRS])dnl
++ ifelse(gt_included_intl, yes, [
++ AC_REQUIRE([AM_INTL_SUBDIR])dnl
++ ])
++
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ dnl Ideally we would do this search only after the
++ dnl if test "$USE_NLS" = "yes"; then
++ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
++ dnl the configure script would need to contain the same shell code
++ dnl again, outside any 'if'. There are two solutions:
++ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
++ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
++ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
++ dnl documented, we avoid it.
++ ifelse(gt_included_intl, yes, , [
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++ ])
++
++ AC_MSG_CHECKING([whether NLS is requested])
++ dnl Default is enabled NLS
++ AC_ARG_ENABLE(nls,
++ [ --disable-nls do not use Native Language Support],
++ USE_NLS=$enableval, USE_NLS=yes)
++ AC_MSG_RESULT($USE_NLS)
++ AC_SUBST(USE_NLS)
++
++ ifelse(gt_included_intl, yes, [
++ BUILD_INCLUDED_LIBINTL=no
++ USE_INCLUDED_LIBINTL=no
++ ])
++ LIBINTL=
++ LTLIBINTL=
++ POSUB=
++
++ dnl If we use NLS figure out what method
++ if test "$USE_NLS" = "yes"; then
++ gt_use_preinstalled_gnugettext=no
++ ifelse(gt_included_intl, yes, [
++ AC_MSG_CHECKING([whether included gettext is requested])
++ AC_ARG_WITH(included-gettext,
++ [ --with-included-gettext use the GNU gettext library included here],
++ nls_cv_force_use_gnu_gettext=$withval,
++ nls_cv_force_use_gnu_gettext=no)
++ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
++
++ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
++ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
++ ])
++ dnl User does not insist on using GNU NLS library. Figure out what
++ dnl to use. If GNU gettext is available we use this. Else we have
++ dnl to fall back to GNU NLS library.
++
++ dnl Add a version number to the cache macros.
++ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
++ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
++ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
++
++ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
++ [AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern int *_nl_domain_bindings;],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
++ gt_cv_func_gnugettext_libc=yes,
++ gt_cv_func_gnugettext_libc=no)])
++
++ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ ifelse(gt_included_intl, yes, , [
++ AM_ICONV_LINK
++ ])
++ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
++ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
++ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
++ dnl even if libiconv doesn't exist.
++ AC_LIB_LINKFLAGS_BODY([intl])
++ AC_CACHE_CHECK([for GNU gettext in libintl],
++ gt_cv_func_gnugettext_libintl,
++ [gt_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $INCINTL"
++ gt_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBINTL"
++ dnl Now see whether libintl exists and does not depend on libiconv.
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ gt_cv_func_gnugettext_libintl=yes,
++ gt_cv_func_gnugettext_libintl=no)
++ dnl Now see whether libintl exists and depends on libiconv.
++ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ [LIBINTL="$LIBINTL $LIBICONV"
++ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
++ gt_cv_func_gnugettext_libintl=yes
++ ])
++ fi
++ CPPFLAGS="$gt_save_CPPFLAGS"
++ LIBS="$gt_save_LIBS"])
++ fi
++
++ dnl If an already present or preinstalled GNU gettext() is found,
++ dnl use it. But if this macro is used in GNU gettext, and GNU
++ dnl gettext is already preinstalled in libintl, we update this
++ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
++ if test "$gt_cv_func_gnugettext_libc" = "yes" \
++ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
++ && test "$PACKAGE" != gettext; }; then
++ gt_use_preinstalled_gnugettext=yes
++ else
++ dnl Reset the values set by searching for libintl.
++ LIBINTL=
++ LTLIBINTL=
++ INCINTL=
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
++ dnl GNU gettext is not found in the C library.
++ dnl Fall back on included GNU gettext library.
++ nls_cv_use_gnu_gettext=yes
++ fi
++ fi
++
++ if test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions used to generate GNU NLS library.
++ INTLOBJS="\$(GETTOBJS)"
++ BUILD_INCLUDED_LIBINTL=yes
++ USE_INCLUDED_LIBINTL=yes
++ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
++ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
++ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
++ fi
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions to use GNU gettext tools.
++ CATOBJEXT=.gmo
++ fi
++ ])
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ AC_DEFINE(ENABLE_NLS, 1,
++ [Define to 1 if translation of program messages to the user's native language
++ is requested.])
++ else
++ USE_NLS=no
++ fi
++ fi
++
++ if test "$USE_NLS" = "yes"; then
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
++ AC_MSG_CHECKING([how to link with libintl])
++ AC_MSG_RESULT([$LIBINTL])
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
++ fi
++
++ dnl For backward compatibility. Some packages may be using this.
++ AC_DEFINE(HAVE_GETTEXT, 1,
++ [Define if the GNU gettext() function is already present or preinstalled.])
++ AC_DEFINE(HAVE_DCGETTEXT, 1,
++ [Define if the GNU dcgettext() function is already present or preinstalled.])
++ fi
++
++ dnl We need to process the po/ directory.
++ POSUB=po
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
++ dnl to 'yes' because some of the testsuite requires it.
++ if test "$PACKAGE" = gettext; then
++ BUILD_INCLUDED_LIBINTL=yes
++ fi
++
++ dnl Make all variables we use known to autoconf.
++ AC_SUBST(BUILD_INCLUDED_LIBINTL)
++ AC_SUBST(USE_INCLUDED_LIBINTL)
++ AC_SUBST(CATOBJEXT)
++ AC_SUBST(INTLOBJS)
++
++ dnl For backward compatibility. Some configure.ins may be using this.
++ nls_cv_header_intl=
++ nls_cv_header_libgt=
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ DATADIRNAME=share
++ AC_SUBST(DATADIRNAME)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INSTOBJEXT=.mo
++ AC_SUBST(INSTOBJEXT)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ GENCAT=gencat
++ AC_SUBST(GENCAT)
++
++ dnl Enable libtool support if the surrounding package wishes it.
++ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
++ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
++ ])
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INTLLIBS="$LIBINTL"
++ AC_SUBST(INTLLIBS)
++
++ dnl Make all documented variables known to autoconf.
++ AC_SUBST(LIBINTL)
++ AC_SUBST(LTLIBINTL)
++ AC_SUBST(POSUB)
++])
++
++
++dnl Checks for all prerequisites of the po subdirectory,
++dnl except for USE_NLS.
++AC_DEFUN([AM_PO_SUBDIRS],
++[
++ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++
++ dnl Perform the following tests also if --disable-nls has been given,
++ dnl because they are needed for "make dist" to work.
++
++ dnl Search for GNU msgfmt in the PATH.
++ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
++ dnl The second test excludes FreeBSD msgfmt.
++ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
++ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
++
++ dnl Search for GNU xgettext 0.11 or newer in the PATH.
++ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
++ dnl The second test excludes FreeBSD xgettext.
++ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
++ [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++
++ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
++ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
++ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU msgfmt.
++ if test "$GMSGFMT" != ":"; then
++ dnl If it is no GNU msgfmt we define it as : so that the
++ dnl Makefiles still can work.
++ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
++ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
++ AC_MSG_RESULT(
++ [found $GMSGFMT program is not GNU msgfmt; ignore it])
++ GMSGFMT=":"
++ fi
++ fi
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU xgettext.
++ if test "$XGETTEXT" != ":"; then
++ dnl If it is no GNU xgettext we define it as : so that the
++ dnl Makefiles still can work.
++ if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
++ (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ AC_MSG_RESULT(
++ [found xgettext program is not GNU xgettext; ignore it])
++ XGETTEXT=":"
++ fi
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++ fi
++
++ AC_OUTPUT_COMMANDS([
++ for ac_file in $CONFIG_FILES; do
++ # Support "outfile[:infile[:infile...]]"
++ case "$ac_file" in
++ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++ esac
++ # PO directories have a Makefile.in generated from Makefile.in.in.
++ case "$ac_file" in */Makefile.in)
++ # Adjust a relative srcdir.
++ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++ # In autoconf-2.13 it is called $ac_given_srcdir.
++ # In autoconf-2.50 it is called $srcdir.
++ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++ case "$ac_given_srcdir" in
++ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++ /*) top_srcdir="$ac_given_srcdir" ;;
++ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
++ esac
++ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
++ rm -f "$ac_dir/POTFILES"
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
++ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
++ # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
++ # on $ac_dir but don't depend on user-specified configuration
++ # parameters.
++ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++ # The LINGUAS file contains the set of available languages.
++ if test -n "$ALL_LINGUAS"; then
++ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++ fi
++ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++ # Hide the ALL_LINGUAS assigment from automake.
++ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++ fi
++ case "$ac_given_srcdir" in
++ .) srcdirpre= ;;
++ *) srcdirpre='$(srcdir)/' ;;
++ esac
++ POFILES=
++ GMOFILES=
++ UPDATEPOFILES=
++ DUMMYPOFILES=
++ for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++ done
++ # CATALOGS depends on both $ac_dir and the user's LINGUAS
++ # environment variable.
++ INST_LINGUAS=
++ if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test "%UNSET%" != "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ # Use the presentlang catalog if desiredlang is
++ # a. equal to presentlang, or
++ # b. a variant of presentlang (because in this case,
++ # presentlang can be used as a fallback for messages
++ # which are not translated in the desiredlang catalog).
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++ fi
++ CATALOGS=
++ if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ done
++ fi
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
++ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
++ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
++ if test -f "$f"; then
++ case "$f" in
++ *.orig | *.bak | *~) ;;
++ *) cat "$f" >> "$ac_dir/Makefile" ;;
++ esac
++ fi
++ done
++ fi
++ ;;
++ esac
++ done],
++ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
++ # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
++ # from automake.
++ eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
++ # Capture the value of LINGUAS because we need it to compute CATALOGS.
++ LINGUAS="${LINGUAS-%UNSET%}"
++ ])
++])
++
++
++dnl Checks for all prerequisites of the intl subdirectory,
++dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
++dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
++AC_DEFUN([AM_INTL_SUBDIR],
++[
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++ AC_REQUIRE([AC_PROG_RANLIB])dnl
++ AC_REQUIRE([AC_ISC_POSIX])dnl
++ AC_REQUIRE([AC_HEADER_STDC])dnl
++ AC_REQUIRE([AC_C_CONST])dnl
++ AC_REQUIRE([AC_C_INLINE])dnl
++ AC_REQUIRE([AC_TYPE_OFF_T])dnl
++ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
++ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
++ AC_REQUIRE([AC_FUNC_MMAP])dnl
++ AC_REQUIRE([jm_GLIBC21])dnl
++ AC_REQUIRE([gt_INTDIV0])dnl
++ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
++ AC_REQUIRE([gt_INTTYPES_PRI])dnl
++
++ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
++stdlib.h string.h unistd.h sys/param.h])
++ AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
++geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
++strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
++
++ AM_ICONV
++ AM_LANGINFO_CODESET
++ if test $ac_cv_header_locale_h = yes; then
++ AM_LC_MESSAGES
++ fi
++
++ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
++ dnl because plural.y uses bison specific features. It requires at least
++ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
++ dnl compile.
++ dnl bison is only needed for the maintainer (who touches plural.y). But in
++ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
++ dnl the rule in general Makefile. Now, some people carelessly touch the
++ dnl files or have a broken "make" program, hence the plural.c rule will
++ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
++ dnl present or too old.
++ AC_CHECK_PROGS([INTLBISON], [bison])
++ if test -z "$INTLBISON"; then
++ ac_verc_fail=yes
++ else
++ dnl Found it, now check the version.
++ AC_MSG_CHECKING([version of bison])
++changequote(<<,>>)dnl
++ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
++ case $ac_prog_version in
++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
++ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
++changequote([,])dnl
++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
++ esac
++ AC_MSG_RESULT([$ac_prog_version])
++ fi
++ if test $ac_verc_fail = yes; then
++ INTLBISON=:
++ fi
++])
++
++
++AC_DEFUN([AM_MKINSTALLDIRS],
++[
++ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
++ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
++ dnl Try to locate is.
++ MKINSTALLDIRS=
++ if test -n "$ac_aux_dir"; then
++ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
++ fi
++ if test -z "$MKINSTALLDIRS"; then
++ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
++ fi
++ AC_SUBST(MKINSTALLDIRS)
++])
++
++
++dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
++AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/glibc21.m4
+@@ -0,0 +1,32 @@
++# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# Test for the GNU C Library, version 2.1 or newer.
++# From Bruno Haible.
++
++AC_DEFUN([jm_GLIBC21],
++ [
++ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
++ ac_cv_gnu_library_2_1,
++ [AC_EGREP_CPP([Lucky GNU user],
++ [
++#include <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
++ Lucky GNU user
++ #endif
++#endif
++ ],
++ ac_cv_gnu_library_2_1=yes,
++ ac_cv_gnu_library_2_1=no)
++ ]
++ )
++ AC_SUBST(GLIBC21)
++ GLIBC21="$ac_cv_gnu_library_2_1"
++ ]
++)
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/glib.m4
+@@ -0,0 +1,196 @@
++# Configure paths for GLIB
++# Owen Taylor 97-11-3
++
++dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
++dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or
++dnl gthread is specified in MODULES, pass to glib-config
++dnl
++AC_DEFUN(AM_PATH_GLIB,
++[dnl
++dnl Get the cflags and libraries from the glib-config script
++dnl
++AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)],
++ glib_config_prefix="$withval", glib_config_prefix="")
++AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)],
++ glib_config_exec_prefix="$withval", glib_config_exec_prefix="")
++AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program],
++ , enable_glibtest=yes)
++
++ if test x$glib_config_exec_prefix != x ; then
++ glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config
++ fi
++ fi
++ if test x$glib_config_prefix != x ; then
++ glib_config_args="$glib_config_args --prefix=$glib_config_prefix"
++ if test x${GLIB_CONFIG+set} != xset ; then
++ GLIB_CONFIG=$glib_config_prefix/bin/glib-config
++ fi
++ fi
++
++ for module in . $4
++ do
++ case "$module" in
++ gmodule)
++ glib_config_args="$glib_config_args gmodule"
++ ;;
++ gthread)
++ glib_config_args="$glib_config_args gthread"
++ ;;
++ esac
++ done
++
++ AC_PATH_PROG(GLIB_CONFIG, glib-config, no)
++ min_glib_version=ifelse([$1], ,0.99.7,$1)
++ AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
++ no_glib=""
++ if test "$GLIB_CONFIG" = "no" ; then
++ no_glib=yes
++ else
++ GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags`
++ GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs`
++ glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
++ glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
++ glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \
++ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
++ if test "x$enable_glibtest" = "xyes" ; then
++ ac_save_CFLAGS="$CFLAGS"
++ ac_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$GLIB_LIBS $LIBS"
++dnl
++dnl Now check if the installed GLIB is sufficiently new. (Also sanity
++dnl checks the results of glib-config to some extent
++dnl
++ rm -f conf.glibtest
++ AC_TRY_RUN([
++#include <glib.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++int
++main ()
++{
++ int major, minor, micro;
++ char *tmp_version;
++
++ system ("touch conf.glibtest");
++
++ /* HP/UX 9 (%@#!) writes to sscanf strings */
++ tmp_version = g_strdup("$min_glib_version");
++ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++ printf("%s, bad version string\n", "$min_glib_version");
++ exit(1);
++ }
++
++ if ((glib_major_version != $glib_config_major_version) ||
++ (glib_minor_version != $glib_config_minor_version) ||
++ (glib_micro_version != $glib_config_micro_version))
++ {
++ printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
++ $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf ("*** was found! If glib-config was correct, then it is best\n");
++ printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n");
++ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
++ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
++ printf("*** required on your system.\n");
++ printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n");
++ printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n");
++ printf("*** before re-running configure\n");
++ }
++ else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
++ (glib_minor_version != GLIB_MINOR_VERSION) ||
++ (glib_micro_version != GLIB_MICRO_VERSION))
++ {
++ printf("*** GLIB header files (version %d.%d.%d) do not match\n",
++ GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
++ printf("*** library (version %d.%d.%d)\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ }
++ else
++ {
++ if ((glib_major_version > major) ||
++ ((glib_major_version == major) && (glib_minor_version > minor)) ||
++ ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
++ {
++ return 0;
++ }
++ else
++ {
++ printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
++ glib_major_version, glib_minor_version, glib_micro_version);
++ printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
++ major, minor, micro);
++ printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
++ printf("***\n");
++ printf("*** If you have already installed a sufficiently new version, this error\n");
++ printf("*** probably means that the wrong copy of the glib-config shell script is\n");
++ printf("*** being found. The easiest way to fix this is to remove the old version\n");
++ printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n");
++ printf("*** correct copy of glib-config. (In this case, you will have to\n");
++ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
++ printf("*** so that the correct libraries are found at run-time))\n");
++ }
++ }
++ return 1;
++}
++],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ if test "x$no_glib" = x ; then
++ AC_MSG_RESULT(yes)
++ ifelse([$2], , :, [$2])
++ else
++ AC_MSG_RESULT(no)
++ if test "$GLIB_CONFIG" = "no" ; then
++ echo "*** The glib-config script installed by GLIB could not be found"
++ echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in"
++ echo "*** your path, or set the GLIB_CONFIG environment variable to the"
++ echo "*** full path to glib-config."
++ else
++ if test -f conf.glibtest ; then
++ :
++ else
++ echo "*** Could not run GLIB test program, checking why..."
++ CFLAGS="$CFLAGS $GLIB_CFLAGS"
++ LIBS="$LIBS $GLIB_LIBS"
++ AC_TRY_LINK([
++#include <glib.h>
++#include <stdio.h>
++], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ],
++ [ echo "*** The test program compiled, but did not run. This usually means"
++ echo "*** that the run-time linker is not finding GLIB or finding the wrong"
++ echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
++ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
++ echo "*** to the installed location Also, make sure you have run ldconfig if that"
++ echo "*** is required on your system"
++ echo "***"
++ echo "*** If you have an old version installed, it is best to remove it, although"
++ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
++ echo "***"
++ echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
++ echo "*** came with the system with the command"
++ echo "***"
++ echo "*** rpm --erase --nodeps gtk gtk-devel" ],
++ [ echo "*** The test program failed to compile or link. See the file config.log for the"
++ echo "*** exact error that occured. This usually means GLIB was incorrectly installed"
++ echo "*** or that you have moved GLIB since it was installed. In the latter case, you"
++ echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ])
++ CFLAGS="$ac_save_CFLAGS"
++ LIBS="$ac_save_LIBS"
++ fi
++ fi
++ GLIB_CFLAGS=""
++ GLIB_LIBS=""
++ ifelse([$3], , :, [$3])
++ fi
++ AC_SUBST(GLIB_CFLAGS)
++ AC_SUBST(GLIB_LIBS)
++ rm -f conf.glibtest
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/iconv.m4
+@@ -0,0 +1,103 @@
++# iconv.m4 serial AM4 (gettext-0.11.3)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
++[
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([iconv])
++])
++
++AC_DEFUN([AM_ICONV_LINK],
++[
++ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
++ dnl those with the standalone portable GNU libiconv installed).
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++
++ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed libiconv and not disabled its use
++ dnl via --without-libiconv-prefix, he wants to use it. The first
++ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
++ am_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
++
++ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
++ am_cv_func_iconv="no, consider installing GNU libiconv"
++ am_cv_lib_iconv=no
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_func_iconv=yes)
++ if test "$am_cv_func_iconv" != yes; then
++ am_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_lib_iconv=yes
++ am_cv_func_iconv=yes)
++ LIBS="$am_save_LIBS"
++ fi
++ ])
++ if test "$am_cv_func_iconv" = yes; then
++ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
++ fi
++ if test "$am_cv_lib_iconv" = yes; then
++ AC_MSG_CHECKING([how to link with libiconv])
++ AC_MSG_RESULT([$LIBICONV])
++ else
++ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
++ dnl either.
++ CPPFLAGS="$am_save_CPPFLAGS"
++ LIBICONV=
++ LTLIBICONV=
++ fi
++ AC_SUBST(LIBICONV)
++ AC_SUBST(LTLIBICONV)
++])
++
++AC_DEFUN([AM_ICONV],
++[
++ AM_ICONV_LINK
++ if test "$am_cv_func_iconv" = yes; then
++ AC_MSG_CHECKING([for iconv declaration])
++ AC_CACHE_VAL(am_cv_proto_iconv, [
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <iconv.h>
++extern
++#ifdef __cplusplus
++"C"
++#endif
++#if defined(__STDC__) || defined(__cplusplus)
++size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
++#else
++size_t iconv();
++#endif
++], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
++ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
++ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
++ AC_MSG_RESULT([$]{ac_t:-
++ }[$]am_cv_proto_iconv)
++ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
++ [Define as const if the declaration of iconv() needs const.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/intdiv0.m4
+@@ -0,0 +1,72 @@
++# intdiv0.m4 serial 1 (gettext-0.11.3)
++dnl Copyright (C) 2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([gt_INTDIV0],
++[
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
++ gt_cv_int_divbyzero_sigfpe,
++ [
++ AC_TRY_RUN([
++#include <stdlib.h>
++#include <signal.h>
++
++static void
++#ifdef __cplusplus
++sigfpe_handler (int sig)
++#else
++sigfpe_handler (sig) int sig;
++#endif
++{
++ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
++ exit (sig != SIGFPE);
++}
++
++int x = 1;
++int y = 0;
++int z;
++int nan;
++
++int main ()
++{
++ signal (SIGFPE, sigfpe_handler);
++/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
++#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
++ signal (SIGTRAP, sigfpe_handler);
++#endif
++/* Linux/SPARC yields signal SIGILL. */
++#if defined (__sparc__) && defined (__linux__)
++ signal (SIGILL, sigfpe_handler);
++#endif
++
++ z = x / y;
++ nan = y / y;
++ exit (1);
++}
++], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
++ [
++ # Guess based on the CPU.
++ case "$host_cpu" in
++ alpha* | i[34567]86 | m68k | s390*)
++ gt_cv_int_divbyzero_sigfpe="guessing yes";;
++ *)
++ gt_cv_int_divbyzero_sigfpe="guessing no";;
++ esac
++ ])
++ ])
++ case "$gt_cv_int_divbyzero_sigfpe" in
++ *yes) value=1;;
++ *) value=0;;
++ esac
++ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
++ [Define if integer division by zero raises signal SIGFPE.])
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/inttypes_h.m4
+@@ -0,0 +1,28 @@
++# inttypes_h.m4 serial 4 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_inttypes_h=yes,
++ jm_ac_cv_header_inttypes_h=no)])
++ if test $jm_ac_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
++[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/inttypes.m4
+@@ -0,0 +1,27 @@
++# inttypes.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
++# <sys/types.h>.
++
++AC_DEFUN([gt_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
++ [
++ AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
++ ])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
++ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/inttypes-pri.m4
+@@ -0,0 +1,32 @@
++# inttypes-pri.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
++# macros to non-string values. This is the case on AIX 4.3.3.
++
++AC_DEFUN([gt_INTTYPES_PRI],
++[
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
++ gt_cv_inttypes_pri_broken,
++ [
++ AC_TRY_COMPILE([#include <inttypes.h>
++#ifdef PRId32
++char *p = PRId32;
++#endif
++], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
++ ])
++ fi
++ if test "$gt_cv_inttypes_pri_broken" = yes; then
++ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
++ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/isc-posix.m4
+@@ -0,0 +1,26 @@
++# isc-posix.m4 serial 2 (gettext-0.11.2)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
++
++# This test replaces the one in autoconf.
++# Currently this macro should have the same name as the autoconf macro
++# because gettext's gettext.m4 (distributed in the automake package)
++# still uses it. Otherwise, the use in gettext.m4 makes autoheader
++# give these diagnostics:
++# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
++# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
++
++undefine([AC_ISC_POSIX])
++
++AC_DEFUN([AC_ISC_POSIX],
++ [
++ dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
++ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
++ ]
++)
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/lcmessage.m4
+@@ -0,0 +1,32 @@
++# lcmessage.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
++
++# Check whether LC_MESSAGES is available in <locale.h>.
++
++AC_DEFUN([AM_LC_MESSAGES],
++[
++ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
++ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
++ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
++ if test $am_cv_val_LC_MESSAGES = yes; then
++ AC_DEFINE(HAVE_LC_MESSAGES, 1,
++ [Define if your <locale.h> file defines LC_MESSAGES.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/lib-ld.m4
+@@ -0,0 +1,97 @@
++# lib-ld.m4 serial 1 (gettext-0.11)
++dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl Subroutines of libtool.m4,
++dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
++dnl with libtool.m4.
++
++dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
++AC_DEFUN([AC_LIB_PROG_LD_GNU],
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
++[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
++if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
++ acl_cv_prog_gnu_ld=yes
++else
++ acl_cv_prog_gnu_ld=no
++fi])
++with_gnu_ld=$acl_cv_prog_gnu_ld
++])
++
++dnl From libtool-1.4. Sets the variable LD.
++AC_DEFUN([AC_LIB_PROG_LD],
++[AC_ARG_WITH(gnu-ld,
++[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
++test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ AC_MSG_CHECKING([for ld used by GCC])
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [[\\/]* | [A-Za-z]:[\\/]*)]
++ [re_direlt='/[^/][^/]*/\.\./']
++ # Canonicalize the path of ld
++ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
++ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ AC_MSG_CHECKING([for GNU ld])
++else
++ AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(acl_cv_path_LD,
++[if test -z "$LD"; then
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
++ for ac_dir in $PATH; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ acl_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some GNU ld's only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
++ test "$with_gnu_ld" != no && break
++ else
++ test "$with_gnu_ld" != yes && break
++ fi
++ fi
++ done
++ IFS="$ac_save_ifs"
++else
++ acl_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$acl_cv_path_LD"
++if test -n "$LD"; then
++ AC_MSG_RESULT($LD)
++else
++ AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++AC_LIB_PROG_LD_GNU
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/lib-link.m4
+@@ -0,0 +1,554 @@
++# lib-link.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
++dnl augments the CPPFLAGS variable.
++AC_DEFUN([AC_LIB_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
++ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
++ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
++ ])
++ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
++ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
++ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
++ dnl results of this search when this library appears as a dependency.
++ HAVE_LIB[]NAME=yes
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
++dnl searches for libname and the libraries corresponding to explicit and
++dnl implicit dependencies, together with the specified include files and
++dnl the ability to compile and link the specified testcode. If found, it
++dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
++dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
++dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
++dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
++AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++
++ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++
++ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed lib[]Name and not disabled its use
++ dnl via --without-lib[]Name-prefix, he wants to use it.
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++
++ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
++ ac_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIB[]NAME"
++ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
++ LIBS="$ac_save_LIBS"
++ ])
++ if test "$ac_cv_lib[]Name" = yes; then
++ HAVE_LIB[]NAME=yes
++ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
++ AC_MSG_CHECKING([how to link with lib[]$1])
++ AC_MSG_RESULT([$LIB[]NAME])
++ else
++ HAVE_LIB[]NAME=no
++ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
++ dnl $INC[]NAME either.
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ LIB[]NAME=
++ LTLIB[]NAME=
++ fi
++ AC_SUBST([HAVE_LIB]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl Determine the platform dependent parameters needed to use rpath:
++dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
++dnl hardcode_direct, hardcode_minus_L,
++dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
++AC_DEFUN([AC_LIB_RPATH],
++[
++ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
++ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
++ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
++ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
++ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
++ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
++ . ./conftest.sh
++ rm -f ./conftest.sh
++ acl_cv_rpath=done
++ ])
++ wl="$acl_cv_wl"
++ libext="$acl_cv_libext"
++ shlibext="$acl_cv_shlibext"
++ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
++ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
++ hardcode_direct="$acl_cv_hardcode_direct"
++ hardcode_minus_L="$acl_cv_hardcode_minus_L"
++ sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
++ sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
++ dnl Determine whether the user wants rpath handling at all.
++ AC_ARG_ENABLE(rpath,
++ [ --disable-rpath do not hardcode runtime library paths],
++ :, enable_rpath=yes)
++])
++
++dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
++AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
++[
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_ARG_WITH([lib$1-prefix],
++[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
++ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ dnl Search the library and its dependencies in $additional_libdir and
++ dnl $LDFLAGS. Using breadth-first-seach.
++ LIB[]NAME=
++ LTLIB[]NAME=
++ INC[]NAME=
++ rpathdirs=
++ ltrpathdirs=
++ names_already_handled=
++ names_next_round='$1 $2'
++ while test -n "$names_next_round"; do
++ names_this_round="$names_next_round"
++ names_next_round=
++ for name in $names_this_round; do
++ already_handled=
++ for n in $names_already_handled; do
++ if test "$n" = "$name"; then
++ already_handled=yes
++ break
++ fi
++ done
++ if test -z "$already_handled"; then
++ names_already_handled="$names_already_handled $name"
++ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
++ dnl or AC_LIB_HAVE_LINKFLAGS call.
++ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++ eval value=\"\$HAVE_LIB$uppername\"
++ if test -n "$value"; then
++ if test "$value" = yes; then
++ eval value=\"\$LIB$uppername\"
++ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
++ eval value=\"\$LTLIB$uppername\"
++ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
++ else
++ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
++ dnl that this library doesn't exist. So just drop it.
++ :
++ fi
++ else
++ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
++ dnl and the already constructed $LIBNAME/$LTLIBNAME.
++ found_dir=
++ found_la=
++ found_so=
++ found_a=
++ if test $use_additional = yes; then
++ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
++ found_dir="$additional_libdir"
++ found_so="$additional_libdir/lib$name.$shlibext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ else
++ if test -f "$additional_libdir/lib$name.$libext"; then
++ found_dir="$additional_libdir"
++ found_a="$additional_libdir/lib$name.$libext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ fi
++ fi
++ fi
++ if test "X$found_dir" = "X"; then
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ case "$x" in
++ -L*)
++ dir=`echo "X$x" | sed -e 's/^X-L//'`
++ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
++ found_dir="$dir"
++ found_so="$dir/lib$name.$shlibext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ else
++ if test -f "$dir/lib$name.$libext"; then
++ found_dir="$dir"
++ found_a="$dir/lib$name.$libext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ fi
++ fi
++ ;;
++ esac
++ if test "X$found_dir" != "X"; then
++ break
++ fi
++ done
++ fi
++ if test "X$found_dir" != "X"; then
++ dnl Found the library.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
++ if test "X$found_so" != "X"; then
++ dnl Linking with a shared library. We attempt to hardcode its
++ dnl directory into the executable's runpath, unless it's the
++ dnl standard /usr/lib.
++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
++ dnl No hardcoding is needed.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $found_dir"
++ fi
++ dnl The hardcoding into $LIBNAME is system dependent.
++ if test "$hardcode_direct" = yes; then
++ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
++ dnl resulting binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $found_dir"
++ fi
++ else
++ dnl Rely on "-L$found_dir".
++ dnl But don't add it if it's already contained in the LDFLAGS
++ dnl or the already constructed $LIBNAME
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
++ fi
++ if test "$hardcode_minus_L" != no; then
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
++ dnl here, because this doesn't fit in flags passed to the
++ dnl compiler. So give up. No hardcoding. This affects only
++ dnl very old systems.
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ fi
++ else
++ if test "X$found_a" != "X"; then
++ dnl Linking with a static library.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
++ else
++ dnl We shouldn't come here, but anyway it's good to have a
++ dnl fallback.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
++ fi
++ fi
++ dnl Assume the include files are nearby.
++ additional_includedir=
++ case "$found_dir" in
++ */lib | */lib/)
++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
++ additional_includedir="$basedir/include"
++ ;;
++ esac
++ if test "X$additional_includedir" != "X"; then
++ dnl Potentially add $additional_includedir to $INCNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 3. if it's already present in $CPPFLAGS or the already
++ dnl constructed $INCNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ for x in $CPPFLAGS $INC[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $INCNAME.
++ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ fi
++ dnl Look for dependencies.
++ if test -n "$found_la"; then
++ dnl Read the .la file. It defines the variables
++ dnl dlname, library_names, old_library, dependency_libs, current,
++ dnl age, revision, installed, dlopen, dlpreopen, libdir.
++ save_libdir="$libdir"
++ case "$found_la" in
++ */* | *\\*) . "$found_la" ;;
++ *) . "./$found_la" ;;
++ esac
++ libdir="$save_libdir"
++ dnl We use only dependency_libs.
++ for dep in $dependency_libs; do
++ case "$dep" in
++ -L*)
++ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 3. if it's already present in $LDFLAGS or the already
++ dnl constructed $LIBNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LIBNAME.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ haveit=
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LTLIBNAME.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ ;;
++ -R*)
++ dir=`echo "X$dep" | sed -e 's/^X-R//'`
++ if test "$enable_rpath" != no; then
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $dir"
++ fi
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $dir"
++ fi
++ fi
++ ;;
++ -l*)
++ dnl Handle this in the next round.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++ ;;
++ *.la)
++ dnl Handle this in the next round. Throw away the .la's
++ dnl directory; it is already contained in a preceding -L
++ dnl option.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++ ;;
++ *)
++ dnl Most likely an immediate library name.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
++ ;;
++ esac
++ done
++ fi
++ else
++ dnl Didn't find the library; assume it is in the system directories
++ dnl known to the linker and runtime loader. (All the system
++ dnl directories known to the linker should also be known to the
++ dnl runtime loader, otherwise the system is severely misconfigured.)
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ done
++ done
++ if test "X$rpathdirs" != "X"; then
++ if test -n "$hardcode_libdir_separator"; then
++ dnl Weird platform: only the last -rpath option counts, the user must
++ dnl pass all path elements in one option. We can arrange that for a
++ dnl single library, but not when more than one $LIBNAMEs are used.
++ alldirs=
++ for found_dir in $rpathdirs; do
++ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++ done
++ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
++ acl_save_libdir="$libdir"
++ libdir="$alldirs"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ else
++ dnl The -rpath options are cumulative.
++ for found_dir in $rpathdirs; do
++ acl_save_libdir="$libdir"
++ libdir="$found_dir"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ done
++ fi
++ fi
++ if test "X$ltrpathdirs" != "X"; then
++ dnl When using libtool, the option that works for both libraries and
++ dnl executables is -R. The -R options are cumulative.
++ for found_dir in $ltrpathdirs; do
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
++ done
++ fi
++])
++
++dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
++dnl unless already present in VAR.
++dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
++dnl contains two or three consecutive elements that belong together.
++AC_DEFUN([AC_LIB_APPENDTOVAR],
++[
++ for element in [$2]; do
++ haveit=
++ for x in $[$1]; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X$element"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ [$1]="${[$1]}${[$1]:+ }$element"
++ fi
++ done
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/lib-prefix.m4
+@@ -0,0 +1,148 @@
++# lib-prefix.m4 serial 1 (gettext-0.11)
++dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
++dnl to access previously installed libraries. The basic assumption is that
++dnl a user will want packages to use other packages he previously installed
++dnl with the same --prefix option.
++dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
++dnl libraries, but is otherwise very convenient.
++AC_DEFUN([AC_LIB_PREFIX],
++[
++ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
++ AC_REQUIRE([AC_PROG_CC])
++ AC_REQUIRE([AC_CANONICAL_HOST])
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_ARG_WITH([lib-prefix],
++[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
++ --without-lib-prefix don't search for libraries in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ if test $use_additional = yes; then
++ dnl Potentially add $additional_includedir to $CPPFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's already present in $CPPFLAGS,
++ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ for x in $CPPFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $CPPFLAGS.
++ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ dnl Potentially add $additional_libdir to $LDFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's already present in $LDFLAGS,
++ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ for x in $LDFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LDFLAGS.
++ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ fi
++])
++
++dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
++dnl acl_final_exec_prefix, containing the values to which $prefix and
++dnl $exec_prefix will expand at the end of the configure script.
++AC_DEFUN([AC_LIB_PREPARE_PREFIX],
++[
++ dnl Unfortunately, prefix and exec_prefix get only finally determined
++ dnl at the end of configure.
++ if test "X$prefix" = "XNONE"; then
++ acl_final_prefix="$ac_default_prefix"
++ else
++ acl_final_prefix="$prefix"
++ fi
++ if test "X$exec_prefix" = "XNONE"; then
++ acl_final_exec_prefix='${prefix}'
++ else
++ acl_final_exec_prefix="$exec_prefix"
++ fi
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
++ prefix="$acl_save_prefix"
++])
++
++dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
++dnl variables prefix and exec_prefix bound to the values they will have
++dnl at the end of the configure script.
++AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
++[
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ $1
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/progtest.m4
+@@ -0,0 +1,59 @@
++# progtest.m4 serial 2 (gettext-0.10.40)
++dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
++
++# Search path for a program which passes the given test.
++
++dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
++dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
++AC_DEFUN([AM_PATH_PROG_WITH_TEST],
++[# Extract the first word of "$2", so it can be a program name with args.
++set dummy $2; ac_word=[$]2
++AC_MSG_CHECKING([for $ac_word])
++AC_CACHE_VAL(ac_cv_path_$1,
++[case "[$]$1" in
++ /*)
++ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
++ ;;
++ *)
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
++ for ac_dir in ifelse([$5], , $PATH, [$5]); do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f $ac_dir/$ac_word; then
++ if [$3]; then
++ ac_cv_path_$1="$ac_dir/$ac_word"
++ break
++ fi
++ fi
++ done
++ IFS="$ac_save_ifs"
++dnl If no 4th arg is given, leave the cache variable unset,
++dnl so AC_PATH_PROGS will keep looking.
++ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
++])dnl
++ ;;
++esac])dnl
++$1="$ac_cv_path_$1"
++if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
++ AC_MSG_RESULT([$]$1)
++else
++ AC_MSG_RESULT(no)
++fi
++AC_SUBST($1)dnl
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/stdint_h.m4
+@@ -0,0 +1,28 @@
++# stdint_h.m4 serial 2 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_STDINT_H],
++[
++ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <stdint.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_stdint_h=yes,
++ jm_ac_cv_header_stdint_h=no)])
++ if test $jm_ac_cv_header_stdint_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
++[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/uintmax_t.m4
+@@ -0,0 +1,29 @@
++# uintmax_t.m4 serial 6 (gettext-0.11)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_PREREQ(2.13)
++
++# Define uintmax_t to `unsigned long' or `unsigned long long'
++# if <inttypes.h> does not exist.
++
++AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
++[
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
++ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
++ test $ac_cv_type_unsigned_long_long = yes \
++ && ac_type='unsigned long long' \
++ || ac_type='unsigned long'
++ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
++ [Define to unsigned long or unsigned long long
++ if <inttypes.h> and <stdint.h> don't define.])
++ fi
++])
+--- /dev/null
++++ e2fsprogs-libs-1.34/m4/ulonglong.m4
+@@ -0,0 +1,23 @@
++# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
++dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
++[
++ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
++ [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
++ [unsigned long long ullmax = (unsigned long long) -1;
++ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
++ ac_cv_type_unsigned_long_long=yes,
++ ac_cv_type_unsigned_long_long=no)])
++ if test $ac_cv_type_unsigned_long_long = yes; then
++ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
++ [Define if you have the unsigned long long type.])
++ fi
++])
diff --git a/meta/packages/popt/popt-native_1.7.bb b/meta/packages/popt/popt-native_1.7.bb
new file mode 100644
index 0000000000..da39fb8bb2
--- /dev/null
+++ b/meta/packages/popt/popt-native_1.7.bb
@@ -0,0 +1,6 @@
+SECTION = "unknown"
+include popt_${PV}.bb
+inherit native
+
+S = "${WORKDIR}/popt-${PV}"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/popt-${PV}"
diff --git a/meta/packages/popt/popt_1.7.bb b/meta/packages/popt/popt_1.7.bb
new file mode 100644
index 0000000000..6984dbdb13
--- /dev/null
+++ b/meta/packages/popt/popt_1.7.bb
@@ -0,0 +1,16 @@
+SECTION = "libs"
+DESCRIPTION = "The popt library exists essentially \
+for parsing command line options."
+LICENSE = "MIT"
+PR = "r3"
+
+SRC_URI = "ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-${PV}.tar.gz \
+ file://m4.patch;patch=1 \
+ file://intl.patch;patch=1"
+
+inherit autotools
+
+do_stage () {
+ oe_libinstall -a -so libpopt ${STAGING_LIBDIR}
+ install -m 0644 popt.h ${STAGING_INCDIR}/
+}
diff --git a/meta/packages/portmap/files/make.patch b/meta/packages/portmap/files/make.patch
new file mode 100644
index 0000000000..2b83130437
--- /dev/null
+++ b/meta/packages/portmap/files/make.patch
@@ -0,0 +1,83 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- portmap_5beta/Makefile~make.patch
++++ portmap_5beta/Makefile
+@@ -105,6 +105,13 @@
+ #
+ #CONST = -Dconst=
+
++DESTDIR =
++prefix = /usr
++sbindir = /sbin
++datadir = $(prefix)/share
++mandir = $(datadir)/man
++docdir = $(datadir)/doc/portmap
++
+ ### End of configurable stuff.
+ ##############################
+
+@@ -122,35 +129,38 @@
+ COPT = $(CONST) $(HOSTS_ACCESS) $(CHECK_PORT) \
+ $(SYS) -DFACILITY=$(FACILITY) $(ULONG) $(ZOMBIES) $(SA_LEN) \
+ $(LOOPBACK) $(SETPGRP)
+-CFLAGS = -Wall $(COPT) -O2 $(NSARCHS)
++CFLAGS = -Wall -O2 $(NSARCHS)
+ OBJECTS = portmap.o pmap_check.o from_local.o $(AUX)
+
+ all: portmap pmap_dump pmap_set
+
+ portmap: $(OBJECTS) # $(WRAP_DIR)/libwrap.a
+- $(CC) $(CFLAGS) -o $@ $(OBJECTS) $(WRAP_LIB) $(LIBS)
++ $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(WRAP_LIB) $(LIBS)
+
+-pmap_dump: pmap_dump.c
+- $(CC) $(CFLAGS) -o $@ $? $(LIBS)
++pmap_dump: pmap_dump.o
++ $(CC) $(LDFLAGS) -o $@ $? $(LIBS)
+
+-pmap_set: pmap_set.c
+- $(CC) $(CFLAGS) -o $@ $? $(LIBS)
++pmap_set: pmap_set.o
++ $(CC) $(LDFLAGS) -o $@ $? $(LIBS)
+
+ from_local: from_local.c
+- cc $(CFLAGS) -DTEST -o $@ from_local.c
++ $(CC) $(COPT) -DTEST $(CFLAGS) $(LDFLAGS) -o $@ from_local.c
+
+ get_myaddress: get_myaddress.c
+- cc $(CFLAGS) -DTEST -o $@ get_myaddress.c $(LIBS)
++ $(CC) $(COPT) -DTEST $(CFLAGS) $(LDFLAGS) -o $@ get_myaddress.c $(LIBS)
+
+ install: all
+- install -o root -g root -m 0755 -s portmap ${BASEDIR}/sbin
+- install -o root -g root -m 0755 -s pmap_dump ${BASEDIR}/sbin
+- install -o root -g root -m 0755 -s pmap_set ${BASEDIR}/sbin
+- install -o root -g root -m 0644 portmap.8 ${BASEDIR}/usr/share/man/man8
+- install -o root -g root -m 0644 pmap_dump.8 ${BASEDIR}/usr/share/man/man8
+- install -o root -g root -m 0644 pmap_set.8 ${BASEDIR}/usr/share/man/man8
+- cat BLURB >${BASEDIR}/usr/share/doc/portmap/portmapper.txt
+- gzip -9f ${BASEDIR}/usr/share/doc/portmap/portmapper.txt
++ install -d $(DESTDIR)/$(sbindir) \
++ $(DESTDIR)/$(docdir) \
++ $(DESTDIR)/$(mandir)/man8
++ install -m 0755 portmap $(DESTDIR)/$(sbindir)
++ install -m 0755 pmap_dump $(DESTDIR)/$(sbindir)
++ install -m 0755 pmap_set $(DESTDIR)/$(sbindir)
++ install -m 0644 portmap.8 $(DESTDIR)/$(mandir)/man8
++ install -m 0644 pmap_dump.8 $(DESTDIR)/$(mandir)/man8
++ install -m 0644 pmap_set.8 $(DESTDIR)/$(mandir)/man8
++ cat BLURB >$(DESTDIR)/$(docdir)/portmapper.txt
++ gzip -9f $(DESTDIR)/$(docdir)/portmapper.txt
+
+
+ lint:
+@@ -176,3 +186,6 @@
+ portmap.o: portmap.c
+ portmap.o: pmap_check.h Makefile
+ strerror.o: strerror.c
++
++%.o: %.c
++ $(CC) $(COPT) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $*.c -o $*.o
diff --git a/meta/packages/portmap/files/no-libwrap.patch b/meta/packages/portmap/files/no-libwrap.patch
new file mode 100644
index 0000000000..751200bf12
--- /dev/null
+++ b/meta/packages/portmap/files/no-libwrap.patch
@@ -0,0 +1,26 @@
+--- Makefile~ 2004-06-03 11:19:23.000000000 +0100
++++ Makefile 2004-06-03 11:24:53.000000000 +0100
+@@ -15,9 +15,9 @@
+ # no access control tables. The local system, since it runs the portmap
+ # daemon, is always treated as an authorized host.
+
+-HOSTS_ACCESS= -DHOSTS_ACCESS
++#HOSTS_ACCESS= -DHOSTS_ACCESS
+ #WRAP_LIB = $(WRAP_DIR)/libwrap.a
+-WRAP_LIB = -lwrap
++#WRAP_LIB = -lwrap
+
+ # Comment out if your RPC library does not allocate privileged ports for
+ # requests from processes with root privilege, or the new portmap will
+--- pmap_check.c~ 2004-06-03 11:24:20.000000000 +0100
++++ pmap_check.c 2004-06-03 11:24:33.000000000 +0100
+@@ -48,7 +48,9 @@
+ #endif
+ #include <sys/types.h>
+ #include <unistd.h>
++#ifdef HOSTS_ACCESS
+ #include <tcpd.h>
++#endif
+
+ extern char *inet_ntoa();
+
diff --git a/meta/packages/portmap/files/portmap.init b/meta/packages/portmap/files/portmap.init
new file mode 100755
index 0000000000..6dac207350
--- /dev/null
+++ b/meta/packages/portmap/files/portmap.init
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# start/stop portmap daemon.
+
+test -f /sbin/portmap || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting portmap daemon:"
+ echo -n " portmap"
+ start-stop-daemon --start --quiet --exec /sbin/portmap
+ echo "."
+
+ if [ -f /var/run/portmap.upgrade-state ]; then
+ echo -n "Restoring old RPC service information..."
+ sleep 1 # needs a short pause or pmap_set won't work. :(
+ pmap_set </var/run/portmap.upgrade-state
+ rm -f /var/run/portmap.upgrade-state
+ echo "done."
+ fi
+
+ ;;
+ stop)
+ echo -n "Stopping portmap daemon:"
+ echo -n " portmap" ; start-stop-daemon --stop --quiet --exec /sbin/portmap
+ echo "."
+ ;;
+ reload)
+ ;;
+ force-reload)
+ $0 restart
+ ;;
+ restart)
+ pmap_dump >/var/run/portmap.state
+ $0 stop
+ $0 start
+ if [ ! -f /var/run/portmap.upgrade-state ]; then
+ sleep 1
+ pmap_set </var/run/portmap.state
+ fi
+ rm -f /var/run/portmap.state
+ ;;
+ *)
+ echo "Usage: /etc/init.d/portmap {start|stop|reload|restart}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/meta/packages/portmap/portmap_5-9.bb b/meta/packages/portmap/portmap_5-9.bb
new file mode 100644
index 0000000000..76d66e9ad9
--- /dev/null
+++ b/meta/packages/portmap/portmap_5-9.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "RPC program number mapper."
+SECTION = "console/network"
+LICENSE = "GPL"
+PR = "r5"
+
+SRC_URI = "http://www.uk.debian.org/debian/pool/main/p/portmap/portmap_5.orig.tar.gz \
+ http://www.uk.debian.org/debian/pool/main/p/portmap/portmap_${PV}.diff.gz;patch=1 \
+ file://no-libwrap.patch;patch=1;pnum=0 \
+ file://portmap.init \
+ file://make.patch;patch=1"
+S = "${WORKDIR}/portmap_5beta"
+
+PACKAGES =+ "portmap-utils"
+FILES_portmap-utils = "/sbin/pmap_set /sbin/pmap_dump"
+FILES_${PN}-doc += "${docdir}"
+
+INITSCRIPT_NAME = "portmap"
+INITSCRIPT_PARAMS = "start 43 S . start 32 0 6 . stop 81 1 ."
+
+inherit update-rc.d
+
+sbindir = "/sbin"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/portmap.init ${D}${sysconfdir}/init.d/portmap
+ oe_runmake 'docdir=${docdir}/portmap' \
+ 'DESTDIR=${D}' install
+}
diff --git a/meta/packages/ppp-dialin/files/host-peer b/meta/packages/ppp-dialin/files/host-peer
new file mode 100644
index 0000000000..e7e2e11d49
--- /dev/null
+++ b/meta/packages/ppp-dialin/files/host-peer
@@ -0,0 +1,11 @@
+-detach
+defaultroute
+nocrtscts
+lock
+noauth
+lcp-echo-interval 5
+lcp-echo-failure 3
+usepeerdns
+115200
+local
+asyncmap 0
diff --git a/meta/packages/ppp-dialin/files/ppp-dialin b/meta/packages/ppp-dialin/files/ppp-dialin
new file mode 100644
index 0000000000..ea2771311a
--- /dev/null
+++ b/meta/packages/ppp-dialin/files/ppp-dialin
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/sbin/pppd call host
diff --git a/meta/packages/ppp-dialin/ppp-dialin_0.1.bb b/meta/packages/ppp-dialin/ppp-dialin_0.1.bb
new file mode 100644
index 0000000000..815ed14d3b
--- /dev/null
+++ b/meta/packages/ppp-dialin/ppp-dialin_0.1.bb
@@ -0,0 +1,35 @@
+SECTION = "console/network"
+DESCRIPTION = "Enables PPP dial-in through a serial connection"
+MAINTAINER = "Rene Wagner <rw@handhelds.org>"
+DEPENDS = "ppp"
+RDEPENDS = "ppp"
+PR = "r4"
+LICENSE = "MIT"
+
+SRC_URI = "file://host-peer \
+ file://ppp-dialin"
+
+do_install() {
+ install -d ${D}${sysconfdir}/ppp/peers
+ install -m 0644 ${WORKDIR}/host-peer ${D}${sysconfdir}/ppp/peers/host
+
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/ppp-dialin ${D}${sbindir}
+}
+
+
+pkg_postinst() {
+if test "x$D" != "x"; then
+ exit 1
+else
+ adduser --system --home /dev/null --no-create-home --empty-password --ingroup nogroup -s ${sbindir}/ppp-dialin ppp
+fi
+}
+
+pkg_postrm() {
+if test "x$D" != "x"; then
+ exit 1
+else
+ deluser ppp
+fi
+}
diff --git a/meta/packages/ppp/files/08setupdns b/meta/packages/ppp/files/08setupdns
new file mode 100644
index 0000000000..998219de97
--- /dev/null
+++ b/meta/packages/ppp/files/08setupdns
@@ -0,0 +1,12 @@
+#!/bin/sh
+ACTUALCONF=/var/run/resolv.conf
+PPPCONF=/var/run/ppp/resolv.conf
+if [ -f $PPPCONF ] ; then
+ if [ -f $ACTUALCONF ] ; then
+ if [ ! -h $ACTUALCONF -o ! "`readlink $ACTUALCONF 2>&1`" = "$PPPCONF" ] ; then
+ mv $ACTUALCONF $ACTUALCONF.ppporig
+ fi
+ fi
+
+ ln -sf $PPPCONF $ACTUALCONF
+fi
diff --git a/meta/packages/ppp/files/92removedns b/meta/packages/ppp/files/92removedns
new file mode 100644
index 0000000000..2eadec6899
--- /dev/null
+++ b/meta/packages/ppp/files/92removedns
@@ -0,0 +1,5 @@
+#!/bin/sh
+ACTUALCONF=/var/run/resolv.conf
+if [ -f $ACTUALCONF.ppporig ] ; then
+ mv $ACTUALCONF.ppporig $ACTUALCONF
+fi
diff --git a/meta/packages/ppp/files/init b/meta/packages/ppp/files/init
new file mode 100755
index 0000000000..5b3b7abe2f
--- /dev/null
+++ b/meta/packages/ppp/files/init
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# /etc/init.d/ppp: start or stop PPP link.
+#
+# If you want PPP started on boot time (most dialup systems won't need it)
+# rename the /etc/ppp/no_ppp_on_boot file to /etc/ppp/ppp_on_boot, and
+# follow the instructions in the comments in that file.
+
+test -x /usr/sbin/pppd -a -f /etc/ppp/ppp_on_boot || exit 0
+if [ -x /etc/ppp/ppp_on_boot ]; then RUNFILE=1; fi
+
+case "$1" in
+ start)
+ echo -n "Starting up PPP link: pppd"
+ if [ "$RUNFILE" = "1" ]; then
+ /etc/ppp/ppp_on_boot
+ else
+ pppd call provider
+ fi
+ echo "."
+ ;;
+ stop)
+ echo -n "Shutting down PPP link: pppd"
+ if [ "$RUNFILE" = "1" ]; then
+ poff
+ else
+ poff provider
+ fi
+ echo "."
+ ;;
+ restart|force-reload)
+ echo -n "Restarting PPP link: pppd"
+ if [ "$RUNFILE" = "1" ]; then
+ poff
+ sleep 5
+ /etc/ppp/ppp_on_boot
+ else
+ poff provider
+ sleep 5
+ pppd call provider
+ fi
+ echo "."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/ppp {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/ppp/files/ip-down b/meta/packages/ppp/files/ip-down
new file mode 100755
index 0000000000..06d35487a5
--- /dev/null
+++ b/meta/packages/ppp/files/ip-down
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# $Id: ip-down,v 1.2 1998/02/10 21:21:55 phil Exp $
+#
+# This script is run by the pppd _after_ the link is brought down.
+# It uses run-parts to run scripts in /etc/ppp/ip-down.d, so to delete
+# routes, unset IP addresses etc. you should create script(s) there.
+#
+# Be aware that other packages may include /etc/ppp/ip-down.d scripts (named
+# after that package), so choose local script names with that in mind.
+#
+# This script is called with the following arguments:
+# Arg Name Example
+# $1 Interface name ppp0
+# $2 The tty ttyS1
+# $3 The link speed 38400
+# $4 Local IP number 12.34.56.78
+# $5 Peer IP number 12.34.56.99
+# $6 Optional ``ipparam'' value foo
+
+# The environment is cleared before executing this script
+# so the path must be reset
+PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
+export PATH
+# These variables are for the use of the scripts run by run-parts
+PPP_IFACE="$1"
+PPP_TTY="$2"
+PPP_SPEED="$3"
+PPP_LOCAL="$4"
+PPP_REMOTE="$5"
+PPP_IPPARAM="$6"
+export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
+
+# as an additional convenience, $PPP_TTYNAME is set to the tty name,
+# stripped of /dev/ (if present) for easier matching.
+PPP_TTYNAME=`/usr/bin/basename "$2"`
+export PPP_TTYNAME
+
+# Main Script starts here
+
+run-parts /etc/ppp/ip-down.d
+
+# last line
diff --git a/meta/packages/ppp/files/ip-up b/meta/packages/ppp/files/ip-up
new file mode 100755
index 0000000000..fc2fae9fe0
--- /dev/null
+++ b/meta/packages/ppp/files/ip-up
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# $Id: ip-up,v 1.2 1998/02/10 21:25:34 phil Exp $
+#
+# This script is run by the pppd after the link is established.
+# It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes,
+# set IP address, run the mailq etc. you should create script(s) there.
+#
+# Be aware that other packages may include /etc/ppp/ip-up.d scripts (named
+# after that package), so choose local script names with that in mind.
+#
+# This script is called with the following arguments:
+# Arg Name Example
+# $1 Interface name ppp0
+# $2 The tty ttyS1
+# $3 The link speed 38400
+# $4 Local IP number 12.34.56.78
+# $5 Peer IP number 12.34.56.99
+# $6 Optional ``ipparam'' value foo
+
+# The environment is cleared before executing this script
+# so the path must be reset
+PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
+export PATH
+# These variables are for the use of the scripts run by run-parts
+PPP_IFACE="$1"
+PPP_TTY="$2"
+PPP_SPEED="$3"
+PPP_LOCAL="$4"
+PPP_REMOTE="$5"
+PPP_IPPARAM="$6"
+export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
+
+
+# as an additional convenience, $PPP_TTYNAME is set to the tty name,
+# stripped of /dev/ (if present) for easier matching.
+PPP_TTYNAME=`/usr/bin/basename "$2"`
+export PPP_TTYNAME
+
+# Main Script starts here
+
+run-parts /etc/ppp/ip-up.d
+
+# last line
diff --git a/meta/packages/ppp/files/poff b/meta/packages/ppp/files/poff
new file mode 100644
index 0000000000..0521a9406a
--- /dev/null
+++ b/meta/packages/ppp/files/poff
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Lets see how many pppds are running....
+set -- `cat /var/run/ppp*.pid 2>/dev/null`
+
+case $# in
+ 0) # pppd only creates a pid file once ppp is up, so let's try killing pppd
+ # on the assumption that we've not got that far yet.
+ killall pppd
+ ;;
+ 1) # If only one was running then it can be killed (apparently killall
+ # caused problems for some, so lets try killing the pid from the file)
+ kill $1
+ ;;
+ *) # More than one! Aieehh.. Dont know which one to kill.
+ echo "More than one pppd running. None stopped"
+ exit 1
+ ;;
+esac
+
+if [ -r /var/run/ppp-quick ]
+then
+ rm -f /var/run/ppp-quick
+fi
+
+exit 0
diff --git a/meta/packages/ppp/files/pon b/meta/packages/ppp/files/pon
new file mode 100644
index 0000000000..91c059501a
--- /dev/null
+++ b/meta/packages/ppp/files/pon
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [ "$1" = "quick" ]
+then
+ touch /var/run/ppp-quick
+ shift
+fi
+
+/usr/sbin/pppd call ${1:-provider}
diff --git a/meta/packages/ppp/ppp-2.4.3/cifdefroute.patch b/meta/packages/ppp/ppp-2.4.3/cifdefroute.patch
new file mode 100644
index 0000000000..d61b920c50
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.3/cifdefroute.patch
@@ -0,0 +1,286 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- ppp-2.4.3/pppd/ipcp.c~cifdefroute.patch
++++ ppp-2.4.3/pppd/ipcp.c
+@@ -197,6 +197,16 @@
+ "disable defaultroute option", OPT_ALIAS | OPT_A2CLR,
+ &ipcp_wantoptions[0].default_route },
+
++#ifdef __linux__
++ { "replacedefaultroute", o_bool,
++ &ipcp_wantoptions[0].replace_default_route,
++ "Replace default route", 1
++ },
++ { "noreplacedefaultroute", o_bool,
++ &ipcp_allowoptions[0].replace_default_route,
++ "Never replace default route", OPT_A2COPY,
++ &ipcp_wantoptions[0].replace_default_route },
++#endif
+ { "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp,
+ "Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp },
+ { "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
+@@ -263,7 +273,7 @@
+ ip_active_pkt
+ };
+
+-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
++static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t, bool));
+ static void ipcp_script __P((char *)); /* Run an up/down script */
+ static void ipcp_script_done __P((void *));
+
+@@ -1659,7 +1669,12 @@
+ if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE))
+ return 0;
+ if (wo->default_route)
++#ifndef __linux__
+ if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr))
++#else
++ if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr,
++ wo->replace_default_route))
++#endif
+ default_route_set[u] = 1;
+ if (wo->proxy_arp)
+ if (sifproxyarp(u, wo->hisaddr))
+@@ -1741,7 +1756,8 @@
+ */
+ if (demand) {
+ if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) {
+- ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr);
++ ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr,
++ wo->replace_default_route);
+ if (go->ouraddr != wo->ouraddr) {
+ warn("Local IP address changed to %I", go->ouraddr);
+ script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0);
+@@ -1766,7 +1782,12 @@
+
+ /* assign a default route through the interface if required */
+ if (ipcp_wantoptions[f->unit].default_route)
++#ifndef __linux__
+ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
++#else
++ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr,
++ wo->replace_default_route))
++#endif
+ default_route_set[f->unit] = 1;
+
+ /* Make a proxy ARP entry if requested. */
+@@ -1813,7 +1834,12 @@
+
+ /* assign a default route through the interface if required */
+ if (ipcp_wantoptions[f->unit].default_route)
++#ifndef __linux__
+ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
++#else
++ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr,
++ wo->replace_default_route))
++#endif
+ default_route_set[f->unit] = 1;
+
+ /* Make a proxy ARP entry if requested. */
+@@ -1890,7 +1916,7 @@
+ sifnpmode(f->unit, PPP_IP, NPMODE_DROP);
+ sifdown(f->unit);
+ ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr,
+- ipcp_hisoptions[f->unit].hisaddr);
++ ipcp_hisoptions[f->unit].hisaddr, 0);
+ }
+
+ /* Execute the ip-down script */
+@@ -1906,16 +1932,25 @@
+ * proxy arp entries, etc.
+ */
+ static void
+-ipcp_clear_addrs(unit, ouraddr, hisaddr)
++ipcp_clear_addrs(unit, ouraddr, hisaddr, replacedefaultroute)
+ int unit;
+ u_int32_t ouraddr; /* local address */
+ u_int32_t hisaddr; /* remote address */
++ bool replacedefaultroute;
+ {
+ if (proxy_arp_set[unit]) {
+ cifproxyarp(unit, hisaddr);
+ proxy_arp_set[unit] = 0;
+ }
+- if (default_route_set[unit]) {
++ /* If replacedefaultroute, sifdefaultroute will be called soon
++ * with replacedefaultroute set and that will overwrite the current
++ * default route. This is the case only when doing demand, otherwise
++ * during demand, this cifdefaultroute would restore the old default
++ * route which is not what we want in this case. In the non-demand
++ * case, we'll delete the default route and restore the old if there
++ * is one saved by an sifdefaultroute with replacedefaultroute.
++ */
++ if (!replacedefaultroute && default_route_set[unit]) {
+ cifdefaultroute(unit, ouraddr, hisaddr);
+ default_route_set[unit] = 0;
+ }
+--- ppp-2.4.3/pppd/ipcp.h~cifdefroute.patch
++++ ppp-2.4.3/pppd/ipcp.h
+@@ -70,6 +70,7 @@
+ bool old_addrs; /* Use old (IP-Addresses) option? */
+ bool req_addr; /* Ask peer to send IP address? */
+ bool default_route; /* Assign default route through interface? */
++ bool replace_default_route; /* Replace default route through interface? */
+ bool proxy_arp; /* Make proxy ARP entry for peer? */
+ bool neg_vj; /* Van Jacobson Compression? */
+ bool old_vj; /* use old (short) form of VJ option? */
+--- ppp-2.4.3/pppd/pppd.8~cifdefroute.patch
++++ ppp-2.4.3/pppd/pppd.8
+@@ -120,6 +120,13 @@
+ This entry is removed when the PPP connection is broken. This option
+ is privileged if the \fInodefaultroute\fR option has been specified.
+ .TP
++.B replacedefaultroute
++This option is a flag to the defaultroute option. If defaultroute is
++set and this flag is also set, pppd replaces an existing default route
++with the new default route.
++
++
++.TP
+ .B disconnect \fIscript
+ Execute the command specified by \fIscript\fR, by passing it to a
+ shell, after
+@@ -701,7 +708,12 @@
+ .TP
+ .B nodefaultroute
+ Disable the \fIdefaultroute\fR option. The system administrator who
+-wishes to prevent users from creating default routes with pppd
++wishes to prevent users from adding a default route with pppd
++can do so by placing this option in the /etc/ppp/options file.
++.TP
++.B noreplacedefaultroute
++Disable the \fIreplacedefaultroute\fR option. The system administrator who
++wishes to prevent users from replacing a default route with pppd
+ can do so by placing this option in the /etc/ppp/options file.
+ .TP
+ .B nodeflate
+--- ppp-2.4.3/pppd/pppd.h~cifdefroute.patch
++++ ppp-2.4.3/pppd/pppd.h
+@@ -640,7 +640,11 @@
+ int cif6addr __P((int, eui64_t, eui64_t));
+ /* Remove an IPv6 address from i/f */
+ #endif
++#ifndef __linux__
+ int sifdefaultroute __P((int, u_int32_t, u_int32_t));
++#else
++int sifdefaultroute __P((int, u_int32_t, u_int32_t, bool replace_default_rt));
++#endif
+ /* Create default route through i/f */
+ int cifdefaultroute __P((int, u_int32_t, u_int32_t));
+ /* Delete default route through i/f */
+--- ppp-2.4.3/pppd/sys-linux.c~cifdefroute.patch
++++ ppp-2.4.3/pppd/sys-linux.c
+@@ -206,6 +206,8 @@
+
+ static int if_is_up; /* Interface has been marked up */
+ static u_int32_t default_route_gateway; /* Gateway for default route added */
++static struct rtentry old_def_rt; /* Old default route */
++static int default_rt_repl_rest; /* replace and restore old default rt */
+ static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
+ static char proxy_arp_dev[16]; /* Device for proxy arp entry */
+ static u_int32_t our_old_addr; /* for detecting address changes */
+@@ -1513,6 +1515,9 @@
+ p = NULL;
+ }
+
++ SET_SA_FAMILY (rt->rt_dst, AF_INET);
++ SET_SA_FAMILY (rt->rt_gateway, AF_INET);
++
+ SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
+ SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
+ SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
+@@ -1582,19 +1587,53 @@
+ /********************************************************************
+ *
+ * sifdefaultroute - assign a default route through the address given.
++ *
++ * If the global default_rt_repl_rest flag is set, then this function
++ * already replaced the original system defaultroute with some other
++ * route and it should just replace the current defaultroute with
++ * another one, without saving the current route. Use: demand mode,
++ * when pppd sets first a defaultroute it it's temporary ppp0 addresses
++ * and then changes the temporary addresses to the addresses for the real
++ * ppp connection when it has come up.
+ */
+
+-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
++int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway, bool replace)
+ {
+- struct rtentry rt;
++ struct rtentry rt, tmp_rt;
++ struct rtentry *del_rt = NULL;
+
+- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
+- u_int32_t old_gateway = SIN_ADDR(rt.rt_gateway);
++
++ if (default_rt_repl_rest) {
++ /* We have already reclaced the original defaultroute, if we
++ * are called again, we will delete the current default route
++ * and set the new default route in this function.
++ * - this is normally only the case the doing demand: */
++ if (defaultroute_exists( &tmp_rt ))
++ del_rt = &tmp_rt;
++ } else if ( defaultroute_exists( &old_def_rt ) &&
++ strcmp( old_def_rt.rt_dev, ifname ) != 0) {
++ /* We did not yet replace an existing default route, let's
++ * check if we should save and replace a default route:
++ */
++ u_int32_t old_gateway = SIN_ADDR(old_def_rt.rt_gateway);
+
+- if (old_gateway != gateway)
+- error("not replacing existing default route to %s [%I]",
+- rt.rt_dev, old_gateway);
+- return 0;
++ if (old_gateway != gateway) {
++ if (!replace) {
++ error("not replacing default route to %s [%I]",
++ old_def_rt.rt_dev, old_gateway);
++ return 0;
++ } else {
++ // we need to copy rt_dev because we need it permanent too:
++ char * tmp_dev = malloc(strlen(old_def_rt.rt_dev)+1);
++ strcpy(tmp_dev, old_def_rt.rt_dev);
++ old_def_rt.rt_dev = tmp_dev;
++
++ notice("replacing old default route to %s [%I]",
++ old_def_rt.rt_dev, old_gateway);
++ default_rt_repl_rest = 1;
++ del_rt = &old_def_rt;
++ }
++ }
+ }
+
+ memset (&rt, '\0', sizeof (rt));
+@@ -1616,6 +1655,12 @@
+ error("default route ioctl(SIOCADDRT): %m");
+ return 0;
+ }
++ if (default_rt_repl_rest && del_rt)
++ if (ioctl(sock_fd, SIOCDELRT, del_rt) < 0) {
++ if ( ! ok_error ( errno ))
++ error("del old default route ioctl(SIOCDELRT): %m(%d)", errno);
++ return 0;
++ }
+
+ default_route_gateway = gateway;
+ return 1;
+@@ -1651,6 +1696,16 @@
+ return 0;
+ }
+ }
++ if (default_rt_repl_rest) {
++ notice("restoring old default route to %s [%I]",
++ old_def_rt.rt_dev, SIN_ADDR(old_def_rt.rt_gateway));
++ if (ioctl(sock_fd, SIOCADDRT, &old_def_rt) < 0) {
++ if ( ! ok_error ( errno ))
++ error("restore default route ioctl(SIOCADDRT): %m(%d)", errno);
++ return 0;
++ }
++ default_rt_repl_rest = 0;
++ }
+
+ return 1;
+ }
diff --git a/meta/packages/ppp/ppp-2.4.3/enable-ipv6.patch b/meta/packages/ppp/ppp-2.4.3/enable-ipv6.patch
new file mode 100644
index 0000000000..7b8acb2dd0
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.3/enable-ipv6.patch
@@ -0,0 +1,11 @@
+--- ppp-2.4.3/pppd/Makefile.linux.orig 2005-10-28 21:07:40.396359250 +0100
++++ ppp-2.4.3/pppd/Makefile.linux 2005-10-28 21:07:54.217223000 +0100
+@@ -62,7 +62,7 @@
+
+ HAS_SHADOW=y
+ #USE_PAM=y
+-#HAVE_INET6=y
++HAVE_INET6=y
+
+ # Enable plugins
+ PLUGIN=y
diff --git a/meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch b/meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch
new file mode 100644
index 0000000000..574abfaf2c
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.3/makefile-remove-hard-usr-reference.patch
@@ -0,0 +1,19 @@
+--- ppp-2.4.3/pppd/Makefile.linux.orig 2006-01-17 15:09:56.000000000 +0000
++++ ppp-2.4.3/pppd/Makefile.linux 2006-01-17 15:10:21.000000000 +0000
+@@ -117,12 +117,12 @@
+ #LIBS += -lshadow $(LIBS)
+ endif
+
+-ifneq ($(wildcard /usr/include/crypt.h),)
++#ifneq ($(wildcard /usr/include/crypt.h),)
+ CFLAGS += -DHAVE_CRYPT_H=1
+-endif
+-ifneq ($(wildcard /usr/lib/libcrypt.*),)
++#endif
++#ifneq ($(wildcard /usr/lib/libcrypt.*),)
+ LIBS += -lcrypt
+-endif
++#endif
+
+ ifdef NEEDDES
+ ifndef USE_CRYPT
diff --git a/meta/packages/ppp/ppp-2.4.3/makefile.patch b/meta/packages/ppp/ppp-2.4.3/makefile.patch
new file mode 100644
index 0000000000..4b9cf30cdd
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.3/makefile.patch
@@ -0,0 +1,89 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- ppp-2.4.3/chat/Makefile.linux~pppd.patch
++++ ppp-2.4.3/chat/Makefile.linux
+@@ -25,7 +25,7 @@
+
+ install: chat
+ mkdir -p $(BINDIR)
+- $(INSTALL) -s -c chat $(BINDIR)
++ $(INSTALL) -c chat $(BINDIR)
+ $(INSTALL) -c -m 644 chat.8 $(MANDIR)
+
+ clean:
+--- ppp-2.4.3/pppd/Makefile.linux~pppd.patch
++++ ppp-2.4.3/pppd/Makefile.linux
+@@ -99,7 +99,7 @@
+ CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
+ LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto
+ TARGETS += srp-entry
+-EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry
++EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry
+ MANPAGES += srp-entry.8
+ EXTRACLEAN += srp-entry.o
+ NEEDDES=y
+@@ -202,7 +202,7 @@
+ install: pppd
+ mkdir -p $(BINDIR) $(MANDIR)
+ $(EXTRAINSTALL)
+- $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd
++ $(INSTALL) -c -m 555 pppd $(BINDIR)/pppd
+ if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
+ chmod o-rx,u+s $(BINDIR)/pppd; fi
+ $(INSTALL) -c -m 444 pppd.8 $(MANDIR)
+--- ppp-2.4.3/pppdump/Makefile.linux~pppd.patch
++++ ppp-2.4.3/pppdump/Makefile.linux
+@@ -17,5 +17,5 @@
+
+ install:
+ mkdir -p $(BINDIR) $(MANDIR)
+- $(INSTALL) -s -c pppdump $(BINDIR)
++ $(INSTALL) -c pppdump $(BINDIR)
+ $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
+--- ppp-2.4.3/pppstats/Makefile.linux~pppd.patch
++++ ppp-2.4.3/pppstats/Makefile.linux
+@@ -22,7 +22,7 @@
+
+ install: pppstats
+ -mkdir -p $(MANDIR)
+- $(INSTALL) -s -c pppstats $(BINDIR)
++ $(INSTALL) -c pppstats $(BINDIR)
+ $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
+
+ pppstats: $(PPPSTATSRCS)
+--- ppp-2.4.3/pppd/plugins/rp-pppoe/Makefile.linux~pppd.patch
++++ ppp-2.4.3/pppd/plugins/rp-pppoe/Makefile.linux
+@@ -39,9 +39,9 @@
+
+ install: all
+ $(INSTALL) -d -m 755 $(LIBDIR)
+- $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR)
++ $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
+ $(INSTALL) -d -m 755 $(BINDIR)
+- $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
++ $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
+
+ clean:
+ rm -f *.o *.so
+--- ppp-2.4.3/pppd/plugins/radius/Makefile.linux~pppd.patch
++++ ppp-2.4.3/pppd/plugins/radius/Makefile.linux
+@@ -36,11 +36,11 @@
+
+ install: all
+ $(INSTALL) -d -m 755 $(LIBDIR)
+- $(INSTALL) -s -c -m 755 radius.so $(LIBDIR)
+- $(INSTALL) -s -c -m 755 radattr.so $(LIBDIR)
+- $(INSTALL) -s -c -m 755 radrealms.so $(LIBDIR)
+- $(INSTALL) -c -m 444 pppd-radius.8 $(MANDIR)
+- $(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR)
++ $(INSTALL) -c -m 755 radius.so $(LIBDIR)
++ $(INSTALL) -c -m 755 radattr.so $(LIBDIR)
++ $(INSTALL) -c -m 755 radrealms.so $(LIBDIR)
++ $(INSTALL) -m 444 pppd-radius.8 $(MANDIR)
++ $(INSTALL) -m 444 pppd-radattr.8 $(MANDIR)
+
+ radius.so: radius.o libradiusclient.a
+ $(CC) -o radius.so -shared radius.o libradiusclient.a
diff --git a/meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch b/meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch
new file mode 100644
index 0000000000..ac3822ac1d
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.3/plugins-fix-CC.patch
@@ -0,0 +1,7 @@
+--- ppp-2.4.3/pppd/plugins/Makefile.linux~ 2004-11-13 23:57:35.000000000 -0800
++++ ppp-2.4.3/pppd/plugins/Makefile.linux 2005-08-11 17:19:28.000000000 -0700
+@@ -1,4 +1,3 @@
+-CC = gcc
+ COPTS = -O2 -g
+ CFLAGS = $(COPTS) -I.. -I../../include -fPIC
+ LDFLAGS = -shared
diff --git a/meta/packages/ppp/ppp-2.4.3/pppd-resolv-varrun.patch b/meta/packages/ppp/ppp-2.4.3/pppd-resolv-varrun.patch
new file mode 100644
index 0000000000..c22d8cc085
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.3/pppd-resolv-varrun.patch
@@ -0,0 +1,43 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- ppp-2.4.3/pppd/ipcp.c~pppd-resolv-varrun.patch
++++ ppp-2.4.3/pppd/ipcp.c
+@@ -55,6 +55,8 @@
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
++#include <sys/stat.h>
++#include <unistd.h>
+
+ #include "pppd.h"
+ #include "fsm.h"
+@@ -2032,6 +2034,14 @@
+ u_int32_t peerdns1, peerdns2;
+ {
+ FILE *f;
++ struct stat dirinfo;
++
++ if(stat(_PATH_OUTDIR, &dirinfo)) {
++ if(mkdir(_PATH_OUTDIR, 0775)) {
++ error("Failed to create directory %s: %m", _PATH_OUTDIR);
++ return;
++ }
++ }
+
+ f = fopen(_PATH_RESOLV, "w");
+ if (f == NULL) {
+--- ppp-2.4.3/pppd/pathnames.h~pppd-resolv-varrun.patch
++++ ppp-2.4.3/pppd/pathnames.h
+@@ -29,7 +29,8 @@
+ #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
+ #define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
+ #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
+-#define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf"
++#define _PATH_OUTDIR _ROOT_PATH _PATH_VARRUN "/ppp"
++#define _PATH_RESOLV _PATH_OUTDIR "/resolv.conf"
+
+ #define _PATH_USEROPT ".ppprc"
+ #define _PATH_PSEUDONYM ".ppp_pseudonym"
diff --git a/meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch b/meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch
new file mode 100644
index 0000000000..5601f593d0
--- /dev/null
+++ b/meta/packages/ppp/ppp-2.4.3/pppoatm-makefile.patch
@@ -0,0 +1,7 @@
+--- ppp-2.4.3/pppd/plugins/pppoatm/Makefile.linux.orig 2005-10-26 20:38:50.990298750 +0100
++++ ppp-2.4.3/pppd/plugins/pppoatm/Makefile.linux 2005-10-26 20:39:05.583210750 +0100
+@@ -1,4 +1,3 @@
+-CC = gcc
+ COPTS = -O2 -g
+ CFLAGS = $(COPTS) -I../.. -I../../../include -fPIC
+ LDFLAGS = -shared
diff --git a/meta/packages/ppp/ppp_2.4.3.bb b/meta/packages/ppp/ppp_2.4.3.bb
new file mode 100644
index 0000000000..b8253a1a5a
--- /dev/null
+++ b/meta/packages/ppp/ppp_2.4.3.bb
@@ -0,0 +1,70 @@
+SECTION = "console/network"
+DESCRIPTION = "Point-to-Point Protocol (PPP) daemon"
+HOMEPAGE = "http://samba.org/ppp/"
+DEPENDS = "libpcap"
+LICENSE = "BSD GPLv2"
+PR = "r1"
+
+SRC_URI = "ftp://ftp.samba.org/pub/ppp/ppp-${PV}.tar.gz \
+ file://makefile.patch;patch=1 \
+ file://cifdefroute.patch;patch=1 \
+ file://pppd-resolv-varrun.patch;patch=1 \
+ file://plugins-fix-CC.patch;patch=1 \
+ file://pppoatm-makefile.patch;patch=1 \
+ file://enable-ipv6.patch;patch=1 \
+ file://makefile-remove-hard-usr-reference.patch;patch=1 \
+ file://pon \
+ file://poff \
+ file://init \
+ file://ip-up \
+ file://ip-down \
+ file://08setupdns \
+ file://92removedns"
+
+
+inherit autotools
+
+EXTRA_OEMAKE = "STRIPPROG=${STRIP} MANDIR=${D}${datadir}/man/man8 INCDIR=${D}/usr/include LIBDIR=${D}/usr/lib/pppd/${PV} BINDIR=${D}/usr/sbin"
+EXTRA_OECONF = "--disable-strip"
+
+do_install_append () {
+ make install-etcppp ETCDIR=${D}/${sysconfdir}/ppp
+ mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
+ mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/
+ mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/
+ install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon
+ install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp
+ install -m 0755 ${WORKDIR}/ip-up ${D}${sysconfdir}/ppp/
+ install -m 0755 ${WORKDIR}/ip-down ${D}${sysconfdir}/ppp/
+ install -m 0755 ${WORKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/
+ install -m 0755 ${WORKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/
+ rm -rf ${D}/${mandir}/man8/man8
+}
+
+CONFFILES_${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
+PACKAGES += "ppp-oa ppp-oe ppp-radius ppp-winbind ppp-minconn ppp-password ppp-tools"
+FILES_${PN} = "/etc /usr/bin /usr/sbin/chat /usr/sbin/pppd"
+FILES_ppp-oa = "/usr/lib/pppd/2.4.3/pppoatm.so"
+FILES_ppp-oe = "/usr/sbin/pppoe-discovery /usr/lib/pppd/2.4.3/rp-pppoe.so"
+FILES_ppp-radius = "/usr/lib/pppd/2.4.3/radius.so /usr/lib/pppd/2.4.3/radattr.so /usr/lib/pppd/2.4.3/radrealms.so"
+FILES_ppp-winbind = "/usr/lib/pppd/2.4.3/winbind.so"
+FILES_ppp-minconn = "/usr/lib/pppd/2.4.3/minconn.so"
+FILES_ppp-password = "/usr/lib/pppd/2.4.3/pass*.so"
+FILES_ppp-tools = "/usr/sbin/pppstats /usr/sbin/pppdump"
+DESCRIPTION_ppp-oa = "Plugin for PPP needed for PPP-over-ATM"
+DESCRIPTION_ppp-oe = "Plugin for PPP needed for PPP-over-Ethernet"
+DESCRIPTION_ppp-radius = "Plugin for PPP that are related to RADIUS"
+DESCRIPTION_ppp-winbind = "Plugin for PPP to authenticate against Samba or Windows"
+DESCRIPTION_ppp-minconn = "Plugin for PPP to specify a minimum connect time before the idle timeout applies"
+DESCRIPTION_ppp-password = "Plugin for PPP to get passwords via a pipe"
+DESCRIPTION_ppp-tools = "The pppdump and pppstats utitilities"
+RDEPENDS_ppp_minconn += "libpcap0.8"
+
+pkg_postinst_${PN}() {
+if test "x$D" != "x"; then
+ exit 1
+else
+ chmod u+s ${sbindir}/pppd
+fi
+}
diff --git a/meta/packages/prism3-support/files/hostap-fw-load b/meta/packages/prism3-support/files/hostap-fw-load
new file mode 100644
index 0000000000..00df1ef848
--- /dev/null
+++ b/meta/packages/prism3-support/files/hostap-fw-load
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+if test -e /sbin/cardctl; then
+ CARDCTL=/sbin/cardctl
+elif test -e /sbin/pccardctl; then
+ CARDCTL=/sbin/pccardctl
+else
+ exit 0
+fi
+
+# Special case for prism3 cards needing firmware upload
+# Add more known manfids, if necessary
+
+if [ `$CARDCTL info|grep "d601,0010\|d601,0101"` ]; then
+ iwpriv "$IFACE" reset 1
+ hostap_fw_load "$IFACE"
+fi
+
+# lets hope that run-parts obeys the order :D
+
diff --git a/meta/packages/prism3-support/prism3-support_1.0.0.bb b/meta/packages/prism3-support/prism3-support_1.0.0.bb
new file mode 100644
index 0000000000..85f1391ed4
--- /dev/null
+++ b/meta/packages/prism3-support/prism3-support_1.0.0.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "meta-package for prism3 support through ifupdown and hostap_fw_load"
+SECTION = "base"
+LICENSE = "GPL"
+DEPENDS = "prism3-firmware hostap-utils"
+RDEPENDS = "prism3-firmware hostap-utils"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+PACKAGE_ARCH = "all"
+PR = "r2"
+
+SRC_URI = "file://hostap-fw-load"
+
+do_install() {
+ install -d ${D}${sysconfdir}/network/if-pre-up.d/
+ install -m 0755 ${WORKDIR}/hostap-fw-load ${D}${sysconfdir}/network/if-pre-up.d/
+}
+
diff --git a/meta/packages/psmisc/psmisc-20.2/gettext.patch b/meta/packages/psmisc/psmisc-20.2/gettext.patch
new file mode 100644
index 0000000000..971850f489
--- /dev/null
+++ b/meta/packages/psmisc/psmisc-20.2/gettext.patch
@@ -0,0 +1,18062 @@
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/ABOUT-NLS psmisc-20.2.works.clean/ABOUT-NLS
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/ABOUT-NLS 2001-04-13 23:00:47.000000000 -0500
++++ psmisc-20.2.works.clean/ABOUT-NLS 2004-10-13 15:18:41.000000000 -0500
+@@ -1,8 +1,8 @@
+ Notes on the Free Translation Project
+ *************************************
+
+- Free software is going international! The Free Translation Project
+-is a way to get maintainers of free software, translators, and users all
++Free software is going international! The Free Translation Project is
++a way to get maintainers of free software, translators, and users all
+ together, so that will gradually become able to speak many languages.
+ A few packages already provide translations for their messages.
+
+@@ -25,7 +25,7 @@
+ Quick configuration advice
+ ==========================
+
+- If you want to exploit the full power of internationalization, you
++If you want to exploit the full power of internationalization, you
+ should configure it using
+
+ ./configure --with-included-gettext
+@@ -48,10 +48,10 @@
+ INSTALL Matters
+ ===============
+
+- Some packages are "localizable" when properly installed; the
+-programs they contain can be made to speak your own native language.
+-Most such packages use GNU `gettext'. Other packages have their own
+-ways to internationalization, predating GNU `gettext'.
++Some packages are "localizable" when properly installed; the programs
++they contain can be made to speak your own native language. Most such
++packages use GNU `gettext'. Other packages have their own ways to
++internationalization, predating GNU `gettext'.
+
+ By default, this package will be installed to allow translation of
+ messages. It will automatically detect whether the system already
+@@ -98,18 +98,27 @@
+ Using This Package
+ ==================
+
+- As a user, if your language has been installed for this package, you
++As a user, if your language has been installed for this package, you
+ only have to set the `LANG' environment variable to the appropriate
+-ISO 639 `LL' two-letter code prior to using the programs in the
+-package. For example, let's suppose that you speak German. At the
+-shell prompt, merely execute `setenv LANG de' (in `csh'),
+-`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
+-can be done from your `.login' or `.profile' file, once and for all.
++`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
++and `CC' is an ISO 3166 two-letter country code. For example, let's
++suppose that you speak German and live in Germany. At the shell
++prompt, merely execute `setenv LANG de_DE' (in `csh'),
++`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
++This can be done from your `.login' or `.profile' file, once and for
++all.
+
+- Some languages have dialects in different countries. To specify
+-such a dialect, the notation `LL_CC' can be used, which combines an
+-ISO 639 language code `LL' and an ISO 3166 two-letter country code
+-`CC'. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil.
++ You might think that the country code specification is redundant.
++But in fact, some languages have dialects in different countries. For
++example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
++country code serves to distinguish the dialects.
++
++ The locale naming convention of `LL_CC', with `LL' denoting the
++language and `CC' denoting the country, is the one use on systems based
++on GNU libc. On other systems, some variations of this scheme are
++used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
++locales supported by your system for your country by running the command
++`locale -a | grep '^LL''.
+
+ Not all programs have translations for all languages. By default, an
+ English message is shown in place of a nonexistent translation. If you
+@@ -120,12 +129,25 @@
+ set to the primary language; this is required by other parts of the
+ system libraries. For example, some Swedish users who would rather
+ read translations in German than English for when Swedish is not
+-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
++available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
++
++ Special advice for Norwegian users: The language code for Norwegian
++bokma*l changed from `no' to `nb' recently (in 2003). During the
++transition period, while some message catalogs for this language are
++installed under `nb' and some older ones under `no', it's recommended
++for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
++older translations are used.
++
++ In the `LANGUAGE' environment variable, but not in the `LANG'
++environment variable, `LL_CC' combinations can be abbreviated as `LL'
++to denote the language's main dialect. For example, `de' is equivalent
++to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
++(Portuguese as spoken in Portugal) in this context.
+
+ Translating Teams
+ =================
+
+- For the Free Translation Project to be a success, we need interested
++For the Free Translation Project to be a success, we need interested
+ people who like their own language and write it well, and who are also
+ able to synergize with other translators speaking the same language.
+ Each translation team has its own mailing list. The up-to-date list of
+@@ -155,99 +177,559 @@
+ Available Packages
+ ==================
+
+- Languages are not equally supported in all packages. The following
+-matrix shows the current state of internationalization, as of July
+-2000. The matrix shows, in regard of each package, for which languages
++Languages are not equally supported in all packages. The following
++matrix shows the current state of internationalization, as of January
++2004. The matrix shows, in regard of each package, for which languages
+ PO files have been submitted to translation coordination, with a
+ translation percentage of at least 50%.
+
+- Ready PO files bg cs da de el en eo es et fi fr gl hr id it
+- .----------------------------------------------.
+- a2ps | [] [] |
+- bash | [] [] [] |
+- bison | [] [] [] [] |
+- clisp | [] [] [] [] |
+- cpio | [] [] [] |
+- diffutils | [] [] [] [] [] |
+- enscript | [] [] |
+- error | [] |
+- fileutils | [] [] [] [] [] [] [] [] |
+- findutils | [] [] [] [] [] [] |
+- flex | [] [] |
+- gcal | |
+- gcc | |
+- gettext | [] [] [] [] [] [] [] [] [] |
+- gnupg | [] [] [] [] |
+- grep | [] [] [] [] [] [] [] [] [] [] |
+- hello | [] [] [] [] [] [] [] |
+- id-utils | [] |
+- indent | [] [] [] [] [] |
+- libc | [] [] [] [] [] [] [] [] |
+- lilypond | |
+- lynx | [] [] [] |
+- m4 | [] [] [] [] [] [] |
+- make | [] [] [] [] |
+- music | [] |
+- parted | [] [] |
+- ptx | [] [] [] [] [] [] [] |
+- python | |
+- recode | [] [] [] [] [] [] [] |
+- sed | [] [] [] [] [] [] [] |
+- sh-utils | [] [] [] [] [] [] [] [] [] |
+- sharutils | [] [] [] [] [] [] |
+- tar | [] [] [] [] [] [] [] |
+- texinfo | [] [] [] [] |
+- textutils | [] [] [] [] [] [] [] |
+- util-linux | |
+- wdiff | [] [] [] [] [] |
+- wget | [] [] [] [] [] [] [] [] |
+- `----------------------------------------------'
+- bg cs da de el en eo es et fi fr gl hr id it
+- 1 14 15 28 11 1 4 19 12 1 30 16 0 3 12
++ Ready PO files af am ar az be bg bs ca cs da de el en en_GB eo es
++ +----------------------------------------------------+
++ a2ps | [] [] [] [] |
++ aegis | () |
++ ant-phone | () |
++ anubis | |
++ ap-utils | |
++ aspell | [] |
++ bash | [] [] [] [] |
++ batchelor | |
++ bfd | [] [] |
++ binutils | [] [] |
++ bison | [] [] [] |
++ bluez-pin | [] [] [] |
++ clisp | |
++ clisp | [] [] [] |
++ console-tools | [] [] |
++ coreutils | [] [] [] [] |
++ cpio | [] [] [] |
++ darkstat | [] () [] |
++ diffutils | [] [] [] [] [] [] [] |
++ e2fsprogs | [] [] [] |
++ enscript | [] [] [] [] |
++ error | [] [] [] [] [] |
++ fetchmail | [] () [] [] [] [] |
++ fileutils | [] [] [] |
++ findutils | [] [] [] [] [] [] [] |
++ flex | [] [] [] [] |
++ fslint | |
++ gas | [] |
++ gawk | [] [] [] [] |
++ gbiff | [] |
++ gcal | [] |
++ gcc | [] [] |
++ gettext | [] [] [] [] [] |
++ gettext-examples | [] [] [] [] |
++ gettext-runtime | [] [] [] [] [] |
++ gettext-tools | [] [] [] |
++ gimp-print | [] [] [] [] [] |
++ gliv | |
++ glunarclock | [] [] |
++ gnubiff | [] |
++ gnucash | [] () [] [] |
++ gnucash-glossary | [] () [] |
++ gnupg | [] () [] [] [] [] |
++ gpe-aerial | [] |
++ gpe-beam | [] [] |
++ gpe-calendar | [] [] |
++ gpe-clock | [] [] |
++ gpe-conf | [] [] |
++ gpe-contacts | [] [] |
++ gpe-edit | [] |
++ gpe-go | [] |
++ gpe-login | [] [] |
++ gpe-ownerinfo | [] [] |
++ gpe-sketchbook | [] [] |
++ gpe-su | [] [] |
++ gpe-taskmanager | [] [] |
++ gpe-timesheet | [] |
++ gpe-today | [] [] |
++ gpe-todo | [] [] |
++ gphoto2 | [] [] [] [] |
++ gprof | [] [] [] |
++ gpsdrive | () () () |
++ gramadoir | [] |
++ grep | [] [] [] [] [] [] |
++ gretl | [] |
++ gtick | [] () |
++ hello | [] [] [] [] [] [] |
++ id-utils | [] [] |
++ indent | [] [] [] [] |
++ iso_3166 | [] [] [] [] [] [] [] [] [] [] |
++ iso_3166_1 | [] [] [] [] [] [] |
++ iso_3166_2 | |
++ iso_3166_3 | [] |
++ iso_4217 | [] [] [] [] |
++ iso_639 | |
++ jpilot | [] [] [] |
++ jtag | |
++ jwhois | [] |
++ kbd | [] [] [] [] [] |
++ latrine | () |
++ ld | [] [] |
++ libc | [] [] [] [] [] [] |
++ libgpewidget | [] [] |
++ libiconv | [] [] [] [] [] |
++ lifelines | [] () |
++ lilypond | [] |
++ lingoteach | |
++ lingoteach_lessons | () () |
++ lynx | [] [] [] [] |
++ m4 | [] [] [] [] |
++ mailutils | [] [] |
++ make | [] [] [] |
++ man-db | [] () [] [] () |
++ minicom | [] [] [] |
++ mysecretdiary | [] [] [] |
++ nano | [] () [] [] [] |
++ nano_1_0 | [] () [] [] [] |
++ opcodes | [] |
++ parted | [] [] [] [] [] |
++ ptx | [] [] [] [] [] |
++ python | |
++ radius | [] |
++ recode | [] [] [] [] [] [] [] |
++ rpm | [] [] |
++ screem | |
++ scrollkeeper | [] [] [] [] [] [] |
++ sed | [] [] [] [] [] [] |
++ sh-utils | [] [] [] |
++ shared-mime-info | |
++ sharutils | [] [] [] [] [] [] |
++ silky | () |
++ skencil | [] () [] |
++ sketch | [] () [] |
++ soundtracker | [] [] [] |
++ sp | [] |
++ tar | [] [] [] [] |
++ texinfo | [] [] [] |
++ textutils | [] [] [] [] |
++ tin | () () |
++ tp-robot | |
++ tuxpaint | [] [] [] [] [] [] [] |
++ unicode-han-tra... | |
++ unicode-transla... | |
++ util-linux | [] [] [] [] [] |
++ vorbis-tools | [] [] [] [] |
++ wastesedge | () |
++ wdiff | [] [] [] [] |
++ wget | [] [] [] [] [] [] |
++ xchat | [] [] [] [] |
++ xfree86_xkb_xml | [] [] |
++ xpad | [] |
++ +----------------------------------------------------+
++ af am ar az be bg bs ca cs da de el en en_GB eo es
++ 4 0 0 1 9 4 1 40 41 60 78 17 1 5 13 68
+
+- ja ko lv nl no pl pt pt_BR ru sk sl sv zh
+- .-------------------------------------------.
+- a2ps | [] [] [] | 5
+- bash | | 3
+- bison | [] [] [] | 7
+- clisp | [] | 5
+- cpio | [] [] [] [] [] | 8
+- diffutils | [] [] [] | 8
+- enscript | [] [] | 4
+- error | | 1
+- fileutils | [] [] [] [] [] [] [] [] [] | 17
+- findutils | [] [] [] [] [] [] | 12
+- flex | [] [] [] | 5
+- gcal | | 0
+- gcc | [] | 1
+- gettext | [] [] [] [] [] [] [] [] [] | 18
+- gnupg | [] [] [] | 7
+- grep | [] [] [] [] [] [] [] | 17
+- hello | [] [] [] [] [] [] [] [] | 15
+- id-utils | [] [] [] | 4
+- indent | [] [] [] [] [] | 10
+- libc | [] [] [] [] [] [] [] [] | 16
+- lilypond | [] [] | 2
+- lynx | [] [] [] [] | 7
+- m4 | [] [] [] [] [] | 11
+- make | [] [] [] [] [] | 9
+- music | [] | 2
+- parted | [] [] [] [] | 6
+- ptx | [] [] [] [] [] [] | 13
+- python | | 0
+- recode | [] [] [] | 10
+- sed | [] [] [] [] [] [] [] | 14
+- sh-utils | [] [] [] [] [] [] [] [] [] [] | 19
+- sharutils | [] [] [] [] | 10
+- tar | [] [] [] [] [] [] [] [] | 15
+- texinfo | [] [] | 6
+- textutils | [] [] [] [] [] [] [] [] | 15
+- util-linux | [] | 1
+- wdiff | [] [] [] [] [] | 10
+- wget | [] [] [] [] [] [] [] [] [] | 17
+- `-------------------------------------------'
+- 28 teams ja ko lv nl no pl pt pt_BR ru sk sl sv zh
+- 38 domains 20 8 0 25 6 18 1 16 27 9 10 20 3 330
++ et eu fa fi fr ga gl he hr hu id is it ja ko lg
++ +-------------------------------------------------+
++ a2ps | [] [] [] () () |
++ aegis | |
++ ant-phone | [] |
++ anubis | [] |
++ ap-utils | [] |
++ aspell | [] [] |
++ bash | [] [] |
++ batchelor | [] [] |
++ bfd | [] |
++ binutils | [] [] |
++ bison | [] [] [] [] |
++ bluez-pin | [] [] [] [] [] |
++ clisp | |
++ clisp | [] |
++ console-tools | |
++ coreutils | [] [] [] [] [] [] |
++ cpio | [] [] [] [] |
++ darkstat | () [] [] [] |
++ diffutils | [] [] [] [] [] [] [] |
++ e2fsprogs | |
++ enscript | [] [] |
++ error | [] [] [] [] |
++ fetchmail | [] |
++ fileutils | [] [] [] [] [] [] |
++ findutils | [] [] [] [] [] [] [] [] [] [] [] |
++ flex | [] [] [] |
++ fslint | [] |
++ gas | [] |
++ gawk | [] [] [] |
++ gbiff | [] |
++ gcal | [] |
++ gcc | [] |
++ gettext | [] [] [] |
++ gettext-examples | [] [] |
++ gettext-runtime | [] [] [] [] [] |
++ gettext-tools | [] [] [] |
++ gimp-print | [] [] |
++ gliv | () |
++ glunarclock | [] [] [] [] |
++ gnubiff | [] |
++ gnucash | () [] |
++ gnucash-glossary | [] |
++ gnupg | [] [] [] [] [] [] [] |
++ gpe-aerial | [] |
++ gpe-beam | [] |
++ gpe-calendar | [] [] [] |
++ gpe-clock | [] |
++ gpe-conf | [] |
++ gpe-contacts | [] [] |
++ gpe-edit | [] [] |
++ gpe-go | [] |
++ gpe-login | [] [] |
++ gpe-ownerinfo | [] [] [] |
++ gpe-sketchbook | [] |
++ gpe-su | [] |
++ gpe-taskmanager | [] |
++ gpe-timesheet | [] [] [] |
++ gpe-today | [] [] |
++ gpe-todo | [] [] |
++ gphoto2 | [] [] [] |
++ gprof | [] [] |
++ gpsdrive | () () () |
++ gramadoir | [] [] |
++ grep | [] [] [] [] [] [] [] [] [] [] [] |
++ gretl | [] [] |
++ gtick | [] [] [] |
++ hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
++ id-utils | [] [] [] [] |
++ indent | [] [] [] [] [] [] [] [] [] |
++ iso_3166 | [] [] [] [] [] [] [] |
++ iso_3166_1 | [] [] [] [] [] |
++ iso_3166_2 | |
++ iso_3166_3 | |
++ iso_4217 | [] [] [] [] [] [] |
++ iso_639 | |
++ jpilot | [] () |
++ jtag | [] |
++ jwhois | [] [] [] [] |
++ kbd | [] |
++ latrine | [] |
++ ld | [] |
++ libc | [] [] [] [] [] [] |
++ libgpewidget | [] [] [] [] |
++ libiconv | [] [] [] [] [] [] [] [] [] |
++ lifelines | () |
++ lilypond | [] |
++ lingoteach | [] [] |
++ lingoteach_lessons | |
++ lynx | [] [] [] [] |
++ m4 | [] [] [] [] |
++ mailutils | |
++ make | [] [] [] [] [] [] |
++ man-db | () () |
++ minicom | [] [] [] [] |
++ mysecretdiary | [] [] |
++ nano | [] [] [] [] |
++ nano_1_0 | [] [] [] [] |
++ opcodes | [] |
++ parted | [] [] [] |
++ ptx | [] [] [] [] [] [] [] |
++ python | |
++ radius | [] |
++ recode | [] [] [] [] [] [] |
++ rpm | [] [] |
++ screem | |
++ scrollkeeper | [] |
++ sed | [] [] [] [] [] [] [] [] [] |
++ sh-utils | [] [] [] [] [] [] [] |
++ shared-mime-info | [] [] [] |
++ sharutils | [] [] [] [] [] |
++ silky | () [] () () |
++ skencil | [] |
++ sketch | [] |
++ soundtracker | [] [] |
++ sp | [] () |
++ tar | [] [] [] [] [] [] [] [] [] |
++ texinfo | [] [] [] [] |
++ textutils | [] [] [] [] [] [] |
++ tin | [] () |
++ tp-robot | [] |
++ tuxpaint | [] [] [] [] [] [] [] [] [] |
++ unicode-han-tra... | |
++ unicode-transla... | [] [] |
++ util-linux | [] [] [] [] () [] |
++ vorbis-tools | [] |
++ wastesedge | () |
++ wdiff | [] [] [] [] [] [] |
++ wget | [] [] [] [] [] [] [] |
++ xchat | [] [] [] |
++ xfree86_xkb_xml | [] [] |
++ xpad | [] [] |
++ +-------------------------------------------------+
++ et eu fa fi fr ga gl he hr hu id is it ja ko lg
++ 22 2 1 26 106 28 24 8 10 41 33 1 26 33 12 0
++
++ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
++ +-----------------------------------------------------+
++ a2ps | [] [] () () [] [] [] |
++ aegis | () () () |
++ ant-phone | [] [] |
++ anubis | [] [] [] [] [] [] |
++ ap-utils | [] () [] |
++ aspell | [] |
++ bash | [] [] [] |
++ batchelor | [] |
++ bfd | [] |
++ binutils | [] |
++ bison | [] [] [] [] [] |
++ bluez-pin | [] [] [] |
++ clisp | |
++ clisp | [] |
++ console-tools | [] |
++ coreutils | [] [] |
++ cpio | [] [] [] [] [] |
++ darkstat | [] [] [] [] |
++ diffutils | [] [] [] [] [] [] |
++ e2fsprogs | [] |
++ enscript | [] [] [] [] |
++ error | [] [] [] |
++ fetchmail | [] [] () [] |
++ fileutils | [] [] [] |
++ findutils | [] [] [] [] [] |
++ flex | [] [] [] [] |
++ fslint | [] [] |
++ gas | |
++ gawk | [] [] [] |
++ gbiff | [] [] |
++ gcal | |
++ gcc | |
++ gettext | [] [] [] |
++ gettext-examples | [] [] [] |
++ gettext-runtime | [] [] [] [] |
++ gettext-tools | [] [] |
++ gimp-print | [] |
++ gliv | [] [] [] |
++ glunarclock | [] [] [] [] |
++ gnubiff | [] |
++ gnucash | [] [] () [] |
++ gnucash-glossary | [] [] |
++ gnupg | [] |
++ gpe-aerial | [] [] [] [] |
++ gpe-beam | [] [] [] [] |
++ gpe-calendar | [] [] [] [] |
++ gpe-clock | [] [] [] [] |
++ gpe-conf | [] [] [] [] |
++ gpe-contacts | [] [] [] [] |
++ gpe-edit | [] [] [] [] |
++ gpe-go | [] [] [] |
++ gpe-login | [] [] [] [] |
++ gpe-ownerinfo | [] [] [] [] |
++ gpe-sketchbook | [] [] [] [] |
++ gpe-su | [] [] [] [] |
++ gpe-taskmanager | [] [] [] [] |
++ gpe-timesheet | [] [] [] [] |
++ gpe-today | [] [] [] [] |
++ gpe-todo | [] [] [] [] |
++ gphoto2 | [] |
++ gprof | [] [] |
++ gpsdrive | () () [] |
++ gramadoir | () [] |
++ grep | [] [] [] [] [] |
++ gretl | |
++ gtick | [] [] [] |
++ hello | [] [] [] [] [] [] [] [] [] [] |
++ id-utils | [] [] [] [] |
++ indent | [] [] [] [] |
++ iso_3166 | [] [] [] |
++ iso_3166_1 | [] [] |
++ iso_3166_2 | |
++ iso_3166_3 | [] |
++ iso_4217 | [] [] [] [] [] [] [] [] |
++ iso_639 | [] |
++ jpilot | () () |
++ jtag | |
++ jwhois | [] [] [] [] () |
++ kbd | [] [] [] |
++ latrine | [] |
++ ld | |
++ libc | [] [] [] [] |
++ libgpewidget | [] [] [] |
++ libiconv | [] [] [] [] [] |
++ lifelines | |
++ lilypond | |
++ lingoteach | |
++ lingoteach_lessons | |
++ lynx | [] [] [] |
++ m4 | [] [] [] [] [] |
++ mailutils | [] [] [] |
++ make | [] [] [] [] |
++ man-db | [] |
++ minicom | [] [] [] [] |
++ mysecretdiary | [] [] [] |
++ nano | [] [] [] [] [] |
++ nano_1_0 | [] [] [] [] [] [] |
++ opcodes | [] [] |
++ parted | [] [] [] [] |
++ ptx | [] [] [] [] [] [] [] [] |
++ python | |
++ radius | [] [] |
++ recode | [] [] [] [] |
++ rpm | [] [] [] |
++ screem | |
++ scrollkeeper | [] [] [] [] [] |
++ sed | [] [] [] |
++ sh-utils | [] [] |
++ shared-mime-info | [] [] |
++ sharutils | [] [] |
++ silky | () |
++ skencil | [] [] |
++ sketch | [] [] |
++ soundtracker | |
++ sp | |
++ tar | [] [] [] [] [] [] |
++ texinfo | [] [] [] [] |
++ textutils | [] [] |
++ tin | |
++ tp-robot | [] |
++ tuxpaint | [] [] [] [] [] [] [] [] |
++ unicode-han-tra... | |
++ unicode-transla... | |
++ util-linux | [] [] [] |
++ vorbis-tools | [] [] [] |
++ wastesedge | |
++ wdiff | [] [] [] [] [] |
++ wget | [] [] [] |
++ xchat | [] [] [] |
++ xfree86_xkb_xml | [] [] |
++ xpad | [] [] |
++ +-----------------------------------------------------+
++ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru
++ 1 2 0 3 12 0 10 69 6 7 1 40 26 36 76 63
++
++ sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
++ +-----------------------------------------------------+
++ a2ps | [] [] [] [] | 16
++ aegis | | 0
++ ant-phone | | 3
++ anubis | [] [] | 9
++ ap-utils | () | 3
++ aspell | | 4
++ bash | | 9
++ batchelor | | 3
++ bfd | [] [] | 6
++ binutils | [] [] [] | 8
++ bison | [] [] | 14
++ bluez-pin | [] [] [] | 14
++ clisp | | 0
++ clisp | | 5
++ console-tools | | 3
++ coreutils | [] [] [] [] | 16
++ cpio | [] [] | 14
++ darkstat | [] [] [] () () | 12
++ diffutils | [] [] [] | 23
++ e2fsprogs | [] [] | 6
++ enscript | [] [] | 12
++ error | [] [] [] | 15
++ fetchmail | [] [] | 11
++ fileutils | [] [] [] [] [] | 17
++ findutils | [] [] [] [] [] [] | 29
++ flex | [] [] | 13
++ fslint | | 3
++ gas | [] | 3
++ gawk | [] [] | 12
++ gbiff | | 4
++ gcal | [] [] | 4
++ gcc | [] | 4
++ gettext | [] [] [] [] [] | 16
++ gettext-examples | [] [] [] [] [] | 14
++ gettext-runtime | [] [] [] [] [] [] [] [] | 22
++ gettext-tools | [] [] [] [] [] [] | 14
++ gimp-print | [] [] | 10
++ gliv | | 3
++ glunarclock | [] [] [] | 13
++ gnubiff | | 3
++ gnucash | [] [] | 9
++ gnucash-glossary | [] [] [] | 8
++ gnupg | [] [] [] [] | 17
++ gpe-aerial | [] | 7
++ gpe-beam | [] | 8
++ gpe-calendar | [] [] [] [] | 13
++ gpe-clock | [] [] [] | 10
++ gpe-conf | [] [] | 9
++ gpe-contacts | [] [] [] | 11
++ gpe-edit | [] [] [] [] [] | 12
++ gpe-go | | 5
++ gpe-login | [] [] [] [] [] | 13
++ gpe-ownerinfo | [] [] [] [] | 13
++ gpe-sketchbook | [] [] | 9
++ gpe-su | [] [] [] | 10
++ gpe-taskmanager | [] [] [] | 10
++ gpe-timesheet | [] [] [] [] | 12
++ gpe-today | [] [] [] [] [] | 13
++ gpe-todo | [] [] [] [] | 12
++ gphoto2 | [] [] [] | 11
++ gprof | [] [] | 9
++ gpsdrive | [] [] | 3
++ gramadoir | [] | 5
++ grep | [] [] [] [] | 26
++ gretl | | 3
++ gtick | | 7
++ hello | [] [] [] [] [] | 34
++ id-utils | [] [] | 12
++ indent | [] [] [] [] | 21
++ iso_3166 | [] [] [] [] [] [] [] | 27
++ iso_3166_1 | [] [] [] | 16
++ iso_3166_2 | | 0
++ iso_3166_3 | | 2
++ iso_4217 | [] [] [] [] [] [] | 24
++ iso_639 | | 1
++ jpilot | [] [] [] [] [] | 9
++ jtag | [] | 2
++ jwhois | () [] [] | 11
++ kbd | [] [] | 11
++ latrine | | 2
++ ld | [] [] | 5
++ libc | [] [] [] [] | 20
++ libgpewidget | [] [] [] [] | 13
++ libiconv | [] [] [] [] [] [] [] [] | 27
++ lifelines | [] | 2
++ lilypond | [] | 3
++ lingoteach | | 2
++ lingoteach_lessons | () | 0
++ lynx | [] [] [] | 14
++ m4 | [] [] | 15
++ mailutils | | 5
++ make | [] [] [] | 16
++ man-db | [] | 5
++ minicom | | 11
++ mysecretdiary | [] [] | 10
++ nano | [] [] [] [] | 17
++ nano_1_0 | [] [] [] | 17
++ opcodes | [] [] | 6
++ parted | [] [] [] | 15
++ ptx | [] [] | 22
++ python | | 0
++ radius | | 4
++ recode | [] [] [] | 20
++ rpm | [] [] | 9
++ screem | [] [] | 2
++ scrollkeeper | [] [] [] | 15
++ sed | [] [] [] [] [] [] | 24
++ sh-utils | [] [] | 14
++ shared-mime-info | [] [] | 7
++ sharutils | [] [] [] [] | 17
++ silky | () | 3
++ skencil | [] | 6
++ sketch | [] | 6
++ soundtracker | [] [] | 7
++ sp | [] | 3
++ tar | [] [] [] [] [] | 24
++ texinfo | [] [] [] | 14
++ textutils | [] [] [] [] | 16
++ tin | | 1
++ tp-robot | | 2
++ tuxpaint | [] [] [] [] [] | 29
++ unicode-han-tra... | | 0
++ unicode-transla... | | 2
++ util-linux | [] [] | 15
++ vorbis-tools | | 8
++ wastesedge | | 0
++ wdiff | [] [] [] | 18
++ wget | [] [] [] [] [] [] [] [] | 24
++ xchat | [] [] [] [] [] | 15
++ xfree86_xkb_xml | [] [] [] [] [] | 11
++ xpad | | 5
++ +-----------------------------------------------------+
++ 63 teams sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu
++ 131 domains 47 19 28 83 0 0 59 13 1 1 11 0 22 22 0 1373
+
+ Some counters in the preceding matrix are higher than the number of
+ visible blocks let us expect. This is because a few extra PO files are
+@@ -260,7 +742,7 @@
+ lag between the mere existence a PO file and its wide availability in a
+ distribution.
+
+- If July 2000 seems to be old, you may fetch a more recent copy of
++ If January 2004 seems to be old, you may fetch a more recent copy of
+ this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
+ matrix with full percentage details can be found at
+ `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
+@@ -268,15 +750,17 @@
+ Using `gettext' in new packages
+ ===============================
+
+- If you are writing a freely available program and want to
++If you are writing a freely available program and want to
+ internationalize it you are welcome to use GNU `gettext' in your
+-package. Of course the GNU Public License applies to your sources from
+-then if you include `gettext' directly in your distribution on but
+-since you are writing free software anyway this is no restriction.
++package. Of course you have to respect the GNU Library General Public
++License which covers the use of the GNU `gettext' library. This means
++in particular that even non-free programs can use `libintl' as a shared
++library, whereas only free software can use `libintl' as a static
++library or use modified versions of `libintl'.
+
+- Once the sources are change appropriately and the setup can handle to
+-use of `gettext' the only thing missing are the translations. The Free
+-Translation Project is also available for packages which are not
++ Once the sources are changed appropriately and the setup can handle
++the use of `gettext' the only thing missing are the translations. The
++Free Translation Project is also available for packages which are not
+ developed inside the GNU project. Therefore the information given above
+ applies also for every other Free Software Project. Contact
+ `translation@iro.umontreal.ca' to make the `.pot' files available to
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/ChangeLog psmisc-20.2.works.clean/ChangeLog
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/ChangeLog 2001-10-17 17:43:07.000000000 -0500
++++ psmisc-20.2.works.clean/ChangeLog 2004-10-13 15:18:42.000000000 -0500
+@@ -1,3 +1,35 @@
++2004-10-13 gettextize <bug-gnu-gettext@gnu.org>
++
++ * Makefile.am (SUBDIRS): Add intl.
++ (EXTRA_DIST): Add config.rpath.
++ * configure.in (AC_CONFIG_FILES): Add intl/Makefile.
++
++2004-10-13 gettextize <bug-gnu-gettext@gnu.org>
++
++ * Makefile.am (SUBDIRS): Add intl.
++ * configure.in (AC_CONFIG_FILES): Add intl/Makefile.
++
++2004-10-13 gettextize <bug-gnu-gettext@gnu.org>
++
++ * Makefile.am (SUBDIRS): Add intl.
++ * configure.in (AC_CONFIG_FILES): Add intl/Makefile.
++
++2004-10-13 gettextize <bug-gnu-gettext@gnu.org>
++
++ * configure.in (AC_CONFIG_FILES): Add po/Makefile.in.
++
++2004-10-13 gettextize <bug-gnu-gettext@gnu.org>
++
++ * configure.in (AC_CONFIG_FILES): Add intl/Makefile.
++
++2004-10-13 gettextize <bug-gnu-gettext@gnu.org>
++
++ * Makefile.am (SUBDIRS): Remove intl.
++ (ACLOCAL_AMFLAGS): New variable.
++ (EXTRA_DIST): Add config.rpath.
++ * configure.in (AC_CONFIG_FILES): Add m4/Makefile.
++ (AC_CONFIG_FILES): Remove intl/Makefile.
++
+ Changes in 20.2 (18-OCT-2001)
+ =============================
+ - Added NLS/gettext
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/ChangeLog~ psmisc-20.2.works.clean/ChangeLog~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/Makefile.am psmisc-20.2.works.clean/Makefile.am
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/Makefile.am 2001-06-12 19:49:47.000000000 -0500
++++ psmisc-20.2.works.clean/Makefile.am 2004-10-13 15:19:08.000000000 -0500
+@@ -1,4 +1,5 @@
++SUBDIRS = intl po doc src
+
+-SUBDIRS = doc intl src po
++EXTRA_DIST= config.rpath config.rpath ABOUT-NLS
+
+-EXTRA_DIST=ABOUT-NLS
++ACLOCAL_AMFLAGS = -I m4
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/Makefile.am~ psmisc-20.2.works.clean/Makefile.am~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/Makefile.in psmisc-20.2.works.clean/Makefile.in
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/aclocal.m4 psmisc-20.2.works.clean/aclocal.m4
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/autom4te.cache/output.0 psmisc-20.2.works.clean/autom4te.cache/output.0
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/autom4te.cache/output.1 psmisc-20.2.works.clean/autom4te.cache/output.1
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/autom4te.cache/output.2 psmisc-20.2.works.clean/autom4te.cache/output.2
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/autom4te.cache/requests psmisc-20.2.works.clean/autom4te.cache/requests
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/autom4te.cache/traces.0 psmisc-20.2.works.clean/autom4te.cache/traces.0
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/autom4te.cache/traces.1 psmisc-20.2.works.clean/autom4te.cache/traces.1
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/autom4te.cache/traces.2 psmisc-20.2.works.clean/autom4te.cache/traces.2
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/config.guess psmisc-20.2.works.clean/config.guess
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/config.h.in psmisc-20.2.works.clean/config.h.in
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/config.rpath psmisc-20.2.works.clean/config.rpath
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/config.sub psmisc-20.2.works.clean/config.sub
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/configure psmisc-20.2.works.clean/configure
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/configure.in psmisc-20.2.works.clean/configure.in
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/configure.in 2001-06-15 07:21:07.000000000 -0500
++++ psmisc-20.2.works.clean/configure.in 2004-10-13 15:19:18.000000000 -0500
+@@ -1,5 +1,6 @@
+ dnl Process this file with autoconf to produce a configure script.
+-AC_INIT(src/comm.h)
++AC_INIT
++AC_CONFIG_SRCDIR([src/comm.h])
+ AM_CONFIG_HEADER(config.h)
+ AM_INIT_AUTOMAKE(psmisc,20.2)
+
+@@ -23,7 +24,15 @@
+ AC_C_CONST
+ AC_TYPE_PID_T
+ AC_TYPE_SIZE_T
+-AC_STRUCT_ST_RDEV
++AC_DIAGNOSE([obsolete],[AC_STRUCT_ST_RDEV:
++ your code should no longer depend upon `HAVE_ST_RDEV', but
++ `HAVE_STRUCT_STAT_ST_RDEV'. Remove this warning and
++ the `AC_DEFINE' when you adjust the code.])
++AC_CHECK_MEMBERS([struct stat.st_rdev],[AC_DEFINE(HAVE_ST_RDEV, 1,
++ [Define to 1 if your `struct stat' has `st_rdev'.
++ Deprecated, use `HAVE_STRUCT_STAT_ST_RDEV'
++ instead.])])
++
+ AC_TYPE_UID_T
+
+ dnl Check for language stuff
+@@ -33,4 +42,5 @@
+ dnl Checks for library functions.
+ AC_CHECK_FUNCS(strdup strerror strtoul)
+
+-AC_OUTPUT(Makefile doc/Makefile src/Makefile intl/Makefile po/Makefile.in)
++AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile po/Makefile.in m4/Makefile intl/Makefile intl/libgnuintl.h ])
++AC_OUTPUT
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/configure.in~ psmisc-20.2.works.clean/configure.in~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/depcomp psmisc-20.2.works.clean/depcomp
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/doc/Makefile.in psmisc-20.2.works.clean/doc/Makefile.in
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/doc/Makefile.in 2001-10-17 17:49:50.000000000 -0500
++++ psmisc-20.2.works.clean/doc/Makefile.in 2004-10-13 15:20:17.000000000 -0500
+@@ -1,6 +1,8 @@
+-# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am
++# Makefile.in generated by automake 1.8.4 from Makefile.am.
++# @configure_input@
+
+-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
++# 2003, 2004 Free Software Foundation, Inc.
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -10,111 +12,192 @@
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ # PARTICULAR PURPOSE.
+
+-
+-SHELL = @SHELL@
+-
++@SET_MAKE@
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+ VPATH = @srcdir@
+-prefix = @prefix@
+-exec_prefix = @exec_prefix@
+-
+-bindir = @bindir@
+-sbindir = @sbindir@
+-libexecdir = @libexecdir@
+-datadir = @datadir@
+-sysconfdir = @sysconfdir@
+-sharedstatedir = @sharedstatedir@
+-localstatedir = @localstatedir@
+-libdir = @libdir@
+-infodir = @infodir@
+-mandir = @mandir@
+-includedir = @includedir@
+-oldincludedir = /usr/include
+-
+-DESTDIR =
+-
+ pkgdatadir = $(datadir)/@PACKAGE@
+ pkglibdir = $(libdir)/@PACKAGE@
+ pkgincludedir = $(includedir)/@PACKAGE@
+-
+ top_builddir = ..
+-
+-ACLOCAL = @ACLOCAL@
+-AUTOCONF = @AUTOCONF@
+-AUTOMAKE = @AUTOMAKE@
+-AUTOHEADER = @AUTOHEADER@
+-
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+ INSTALL = @INSTALL@
+-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+-INSTALL_DATA = @INSTALL_DATA@
+-INSTALL_SCRIPT = @INSTALL_SCRIPT@
+-transform = @program_transform_name@
+-
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
+ NORMAL_INSTALL = :
+ PRE_INSTALL = :
+ POST_INSTALL = :
+ NORMAL_UNINSTALL = :
+ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+-host_alias = @host_alias@
+ host_triplet = @host@
++subdir = doc
++DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/configure.in
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++ $(ACLOCAL_M4)
++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
++CONFIG_HEADER = $(top_builddir)/config.h
++CONFIG_CLEAN_FILES =
++SOURCES =
++DIST_SOURCES =
++man1dir = $(mandir)/man1
++am__installdirs = "$(DESTDIR)$(man1dir)"
++NROFF = nroff
++MANS = $(man_MANS)
++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++ACLOCAL = @ACLOCAL@
++ALLOCA = @ALLOCA@
++AMDEP_FALSE = @AMDEP_FALSE@
++AMDEP_TRUE = @AMDEP_TRUE@
++AMTAR = @AMTAR@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
+ BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+-CATALOGS = @CATALOGS@
+ CATOBJEXT = @CATOBJEXT@
+ CC = @CC@
++CCDEPMODE = @CCDEPMODE@
++CFLAGS = @CFLAGS@
+ CPP = @CPP@
++CPPFLAGS = @CPPFLAGS@
++CYGPATH_W = @CYGPATH_W@
+ DATADIRNAME = @DATADIRNAME@
+-GMOFILES = @GMOFILES@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++EGREP = @EGREP@
++EXEEXT = @EXEEXT@
++GENCAT = @GENCAT@
++GLIBC21 = @GLIBC21@
+ GMSGFMT = @GMSGFMT@
++HAVE_ASPRINTF = @HAVE_ASPRINTF@
++HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@
++HAVE_SNPRINTF = @HAVE_SNPRINTF@
++HAVE_WPRINTF = @HAVE_WPRINTF@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++INSTOBJEXT = @INSTOBJEXT@
+ INTLBISON = @INTLBISON@
+ INTLLIBS = @INTLLIBS@
+ INTLOBJS = @INTLOBJS@
+ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
++LDFLAGS = @LDFLAGS@
+ LIBICONV = @LIBICONV@
++LIBINTL = @LIBINTL@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LTLIBICONV = @LTLIBICONV@
++LTLIBINTL = @LTLIBINTL@
++LTLIBOBJS = @LTLIBOBJS@
+ MAKEINFO = @MAKEINFO@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+ MSGFMT = @MSGFMT@
++MSGMERGE = @MSGMERGE@
++OBJEXT = @OBJEXT@
+ PACKAGE = @PACKAGE@
+-POFILES = @POFILES@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
+ POSUB = @POSUB@
+ RANLIB = @RANLIB@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STRIP = @STRIP@
+ TERMCAP_LIB = @TERMCAP_LIB@
+ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
+ USE_NLS = @USE_NLS@
+ VERSION = @VERSION@
+-
++XGETTEXT = @XGETTEXT@
++ac_ct_CC = @ac_ct_CC@
++ac_ct_RANLIB = @ac_ct_RANLIB@
++ac_ct_STRIP = @ac_ct_STRIP@
++am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
++am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++datadir = @datadir@
++exec_prefix = @exec_prefix@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++localstatedir = @localstatedir@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++oldincludedir = @oldincludedir@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++sysconfdir = @sysconfdir@
++target_alias = @target_alias@
+ man_MANS = fuser.1 killall.1 pidof.1 pstree.1
+-
+ EXTRA_DIST = $(man_MANS)
+-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+-CONFIG_HEADER = ../config.h
+-CONFIG_CLEAN_FILES =
+-man1dir = $(mandir)/man1
+-MANS = $(man_MANS)
+-
+-NROFF = nroff
+-DIST_COMMON = Makefile.am Makefile.in
+-
+-
+-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
++all: all-am
+
+-TAR = tar
+-GZIP_ENV = --best
+-all: all-redirect
+ .SUFFIXES:
+-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+- cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile
+-
+-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+- cd $(top_builddir) \
+- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
++$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
++ @for dep in $?; do \
++ case '$(am__configure_deps)' in \
++ *$$dep*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
++ && exit 0; \
++ exit 1;; \
++ esac; \
++ done; \
++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
++ cd $(top_srcdir) && \
++ $(AUTOMAKE) --foreign doc/Makefile
++.PRECIOUS: Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ @case '$?' in \
++ *config.status*) \
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
++ *) \
++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
++ esac;
+
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+-install-man1:
+- $(mkinstalldirs) $(DESTDIR)$(man1dir)
+- @list='$(man1_MANS)'; \
+- l2='$(man_MANS)'; for i in $$l2; do \
++$(top_srcdir)/configure: $(am__configure_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++$(ACLOCAL_M4): $(am__aclocal_m4_deps)
++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
++uninstall-info-am:
++install-man1: $(man1_MANS) $(man_MANS)
++ @$(NORMAL_INSTALL)
++ test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)"
++ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
++ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+@@ -123,112 +206,158 @@
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+ else file=$$i; fi; \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
++ case "$$ext" in \
++ 1*) ;; \
++ *) ext='1' ;; \
++ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
++ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+- echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \
+- $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \
++ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
++ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+-
+ uninstall-man1:
+- @list='$(man1_MANS)'; \
+- l2='$(man_MANS)'; for i in $$l2; do \
++ @$(NORMAL_UNINSTALL)
++ @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
++ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
++ for i in $$l2; do \
+ case "$$i" in \
+ *.1*) list="$$list $$i" ;; \
+ esac; \
+ done; \
+ for i in $$list; do \
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
++ case "$$ext" in \
++ 1*) ;; \
++ *) ext='1' ;; \
++ esac; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
++ inst=`echo $$inst | sed -e 's/^.*\///'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+- echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \
+- rm -f $(DESTDIR)$(man1dir)/$$inst; \
++ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
++ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
+ done
+-install-man: $(MANS)
+- @$(NORMAL_INSTALL)
+- $(MAKE) $(AM_MAKEFLAGS) install-man1
+-uninstall-man:
+- @$(NORMAL_UNINSTALL)
+- $(MAKE) $(AM_MAKEFLAGS) uninstall-man1
+ tags: TAGS
+ TAGS:
+
++ctags: CTAGS
++CTAGS:
+
+-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+-
+-subdir = doc
+
+ distdir: $(DISTFILES)
+- @for file in $(DISTFILES); do \
+- d=$(srcdir); \
++ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
++ list='$(DISTFILES)'; for file in $$list; do \
++ case $$file in \
++ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
++ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
++ esac; \
++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
++ dir="/$$dir"; \
++ $(mkdir_p) "$(distdir)$$dir"; \
++ else \
++ dir=''; \
++ fi; \
+ if test -d $$d/$$file; then \
+- cp -pr $$d/$$file $(distdir)/$$file; \
++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
++ fi; \
++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+- || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+- || cp -p $$d/$$file $(distdir)/$$file || :; \
++ || cp -p $$d/$$file $(distdir)/$$file \
++ || exit 1; \
+ fi; \
+ done
+-info-am:
+-info: info-am
+-dvi-am:
+-dvi: dvi-am
+ check-am: all-am
+ check: check-am
+-installcheck-am:
+-installcheck: installcheck-am
+-install-exec-am:
++all-am: Makefile $(MANS)
++installdirs:
++ for dir in "$(DESTDIR)$(man1dir)"; do \
++ test -z "$$dir" || $(mkdir_p) "$$dir"; \
++ done
++install: install-am
+ install-exec: install-exec-am
+-
+-install-data-am: install-man
+ install-data: install-data-am
++uninstall: uninstall-am
+
+ install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+-install: install-am
+-uninstall-am: uninstall-man
+-uninstall: uninstall-am
+-all-am: Makefile $(MANS)
+-all-redirect: all-am
+-install-strip:
+- $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+-installdirs:
+- $(mkinstalldirs) $(DESTDIR)$(mandir)/man1
+-
+
++installcheck: installcheck-am
++install-strip:
++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++ `test -z '$(STRIP)' || \
++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+ mostlyclean-generic:
+
+ clean-generic:
+
+ distclean-generic:
+- -rm -f Makefile $(CONFIG_CLEAN_FILES)
+- -rm -f config.cache config.log stamp-h stamp-h[0-9]*
++ -rm -f $(CONFIG_CLEAN_FILES)
+
+ maintainer-clean-generic:
+-mostlyclean-am: mostlyclean-generic
++ @echo "This command is intended for maintainers to use"
++ @echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
+
+-mostlyclean: mostlyclean-am
++clean-am: clean-generic mostlyclean-am
+
+-clean-am: clean-generic mostlyclean-am
++distclean: distclean-am
++ -rm -f Makefile
++distclean-am: clean-am distclean-generic
+
+-clean: clean-am
++dvi: dvi-am
+
+-distclean-am: distclean-generic clean-am
++dvi-am:
+
+-distclean: distclean-am
++html: html-am
+
+-maintainer-clean-am: maintainer-clean-generic distclean-am
+- @echo "This command is intended for maintainers to use;"
+- @echo "it deletes files that may require special tools to rebuild."
++info: info-am
++
++info-am:
++
++install-data-am: install-man
++
++install-exec-am:
++
++install-info: install-info-am
++
++install-man: install-man1
++
++installcheck-am:
+
+ maintainer-clean: maintainer-clean-am
++ -rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
+
+-.PHONY: install-man1 uninstall-man1 install-man uninstall-man tags \
+-distdir info-am info dvi-am dvi check check-am installcheck-am \
+-installcheck install-exec-am install-exec install-data-am install-data \
+-install-am install uninstall-am uninstall all-redirect all-am all \
+-installdirs mostlyclean-generic distclean-generic clean-generic \
+-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-generic
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
+
++ps-am:
++
++uninstall-am: uninstall-info-am uninstall-man
++
++uninstall-man: uninstall-man1
++
++.PHONY: all all-am check check-am clean clean-generic distclean \
++ distclean-generic distdir dvi dvi-am html html-am info info-am \
++ install install-am install-data install-data-am install-exec \
++ install-exec-am install-info install-info-am install-man \
++ install-man1 install-strip installcheck installcheck-am \
++ installdirs maintainer-clean maintainer-clean-generic \
++ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
++ uninstall-am uninstall-info-am uninstall-man uninstall-man1
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/install-sh psmisc-20.2.works.clean/install-sh
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/ChangeLog psmisc-20.2.works.clean/intl/ChangeLog
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/ChangeLog 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/ChangeLog 2004-10-13 15:18:41.000000000 -0500
+@@ -1,4 +1,4 @@
+-2001-03-09 GNU <bug-gnu-utils@gnu.org>
++2004-01-29 GNU <bug-gnu-gettext@gnu.org>
+
+- * Version 0.10.36 released.
++ * Version 0.14.1 released.
+
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/Makefile.in psmisc-20.2.works.clean/intl/Makefile.in
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/Makefile.in 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/Makefile.in 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+-# Makefile for directory with message catalog handling in GNU NLS Utilities.
+-# Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
++# Makefile for directory with message catalog handling library of GNU gettext
++# Copyright (C) 1995-1998, 2000-2003 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 2, or (at your option)
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU Library General Public License as published
++# by the Free Software Foundation; either version 2, 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.
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
+ #
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++# You should have received a copy of the GNU Library General Public
++# License along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++# USA.
+
+ PACKAGE = @PACKAGE@
+ VERSION = @VERSION@
+@@ -23,23 +24,23 @@
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+ top_builddir = ..
+-VPATH = @srcdir@
++#VPATH = $(srcdir)
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ transform = @program_transform_name@
+-libdir = $(exec_prefix)/lib
+-includedir = $(prefix)/include
+-datadir = $(prefix)/share
++libdir = @libdir@
++includedir = @includedir@
++datadir = @datadir@
+ localedir = $(datadir)/locale
+-gettextsrcdir = @datadir@/gettext/intl
++gettextsrcdir = $(datadir)/gettext/intl
+ aliaspath = $(localedir)
+ subdir = intl
+
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+-mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
++mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
+
+ l = @INTL_LIBTOOL_SUFFIX_PREFIX@
+
+@@ -51,89 +52,202 @@
+ YFLAGS = --name-prefix=__gettext
+
+ DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \
+--DLIBDIR=\"$(libdir)\" @DEFS@
++-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
++-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \
++-Dset_relocation_prefix=libintl_set_relocation_prefix \
++-Drelocate=libintl_relocate \
++-DDEPENDS_ON_LIBICONV=1 @DEFS@
+ CPPFLAGS = @CPPFLAGS@
+ CFLAGS = @CFLAGS@
+ LDFLAGS = @LDFLAGS@
++LIBS = @LIBS@
+
+ COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
+
+-HEADERS = $(COMHDRS) libgnuintl.h libgettext.h loadinfo.h
+-COMHDRS = gettext.h gettextP.h hash-string.h
+-SOURCES = $(COMSRCS) intl-compat.c
+-COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
+-finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \
+-explodename.c dcigettext.c dcngettext.c dngettext.c ngettext.c plural.y \
+-localcharset.c
+-OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \
+-finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \
+-explodename.$lo dcigettext.$lo dcngettext.$lo dngettext.$lo ngettext.$lo \
+-plural.$lo localcharset.$lo
+-GETTOBJS = intl-compat.$lo
++HEADERS = \
++ gmo.h \
++ gettextP.h \
++ hash-string.h \
++ loadinfo.h \
++ plural-exp.h \
++ eval-plural.h \
++ localcharset.h \
++ relocatable.h \
++ xsize.h \
++ printf-args.h printf-args.c \
++ printf-parse.h wprintf-parse.h printf-parse.c \
++ vasnprintf.h vasnwprintf.h vasnprintf.c \
++ os2compat.h \
++ libgnuintl.h.in
++SOURCES = \
++ bindtextdom.c \
++ dcgettext.c \
++ dgettext.c \
++ gettext.c \
++ finddomain.c \
++ loadmsgcat.c \
++ localealias.c \
++ textdomain.c \
++ l10nflist.c \
++ explodename.c \
++ dcigettext.c \
++ dcngettext.c \
++ dngettext.c \
++ ngettext.c \
++ plural.y \
++ plural-exp.c \
++ localcharset.c \
++ relocatable.c \
++ localename.c \
++ log.c \
++ printf.c \
++ osdep.c \
++ os2compat.c \
++ intl-compat.c
++OBJECTS = \
++ bindtextdom.$lo \
++ dcgettext.$lo \
++ dgettext.$lo \
++ gettext.$lo \
++ finddomain.$lo \
++ loadmsgcat.$lo \
++ localealias.$lo \
++ textdomain.$lo \
++ l10nflist.$lo \
++ explodename.$lo \
++ dcigettext.$lo \
++ dcngettext.$lo \
++ dngettext.$lo \
++ ngettext.$lo \
++ plural.$lo \
++ plural-exp.$lo \
++ localcharset.$lo \
++ relocatable.$lo \
++ localename.$lo \
++ log.$lo \
++ printf.$lo \
++ osdep.$lo \
++ intl-compat.$lo
+ DISTFILES.common = Makefile.in \
+ config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
+ DISTFILES.generated = plural.c
+ DISTFILES.normal = VERSION
+-DISTFILES.gettext = libintl.glibc
+-DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c
++DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
++libgnuintl.h_vms Makefile.vms \
++libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32 Makefile.msvc
++DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in cat-compat.c \
++COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h
++
++all: all-@USE_INCLUDED_LIBINTL@
++all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
++all-no: all-no-@BUILD_INCLUDED_LIBINTL@
++all-no-yes: libgnuintl.$la
++all-no-no:
++
++libintl.a libgnuintl.a: $(OBJECTS)
++ rm -f $@
++ $(AR) cru $@ $(OBJECTS)
++ $(RANLIB) $@
++
++libintl.la libgnuintl.la: $(OBJECTS)
++ $(LIBTOOL) --mode=link \
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
++ $(OBJECTS) @LTLIBICONV@ $(LIBS) -lc \
++ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
++ -rpath $(libdir) \
++ -no-undefined
+
+ # Libtool's library version information for libintl.
+ # Before making a gettext release, the gettext maintainer must change this
+ # according to the libtool documentation, section "Library interface versions".
+ # Maintainers of other packages that include the intl directory must *not*
+ # change these values.
+-LTV_CURRENT=1
++LTV_CURRENT=7
+ LTV_REVISION=0
+-LTV_AGE=0
++LTV_AGE=4
+
+ .SUFFIXES:
+ .SUFFIXES: .c .y .o .lo .sin .sed
++
+ .c.o:
+ $(COMPILE) $<
+-.c.lo:
+- $(LIBTOOL) --mode=compile $(COMPILE) $<
+
+ .y.c:
+ $(YACC) $(YFLAGS) --output $@ $<
+ rm -f $*.h
+
+-.sin.sed:
+- sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
+- mv t-$@ $@
+-
+-INCLUDES = -I.. -I. -I$(top_srcdir)/intl
++bindtextdom.lo: $(srcdir)/bindtextdom.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c
++dcgettext.lo: $(srcdir)/dcgettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c
++dgettext.lo: $(srcdir)/dgettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c
++gettext.lo: $(srcdir)/gettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
++finddomain.lo: $(srcdir)/finddomain.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
++loadmsgcat.lo: $(srcdir)/loadmsgcat.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
++localealias.lo: $(srcdir)/localealias.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c
++textdomain.lo: $(srcdir)/textdomain.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c
++l10nflist.lo: $(srcdir)/l10nflist.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c
++explodename.lo: $(srcdir)/explodename.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c
++dcigettext.lo: $(srcdir)/dcigettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c
++dcngettext.lo: $(srcdir)/dcngettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c
++dngettext.lo: $(srcdir)/dngettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c
++ngettext.lo: $(srcdir)/ngettext.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c
++plural.lo: $(srcdir)/plural.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c
++plural-exp.lo: $(srcdir)/plural-exp.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
++localcharset.lo: $(srcdir)/localcharset.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
++relocatable.lo: $(srcdir)/relocatable.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
++localename.lo: $(srcdir)/localename.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
++log.lo: $(srcdir)/log.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
++printf.lo: $(srcdir)/printf.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c
++osdep.lo: $(srcdir)/osdep.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
++intl-compat.lo: $(srcdir)/intl-compat.c
++ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c
+
+-all: all-@USE_INCLUDED_LIBINTL@
+-all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
+-all-no: all-no-@BUILD_INCLUDED_LIBINTL@
+-all-no-yes: libgnuintl.$la
+-all-no-no:
++ref-add.sed: $(srcdir)/ref-add.sin
++ sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed
++ mv t-ref-add.sed ref-add.sed
++ref-del.sed: $(srcdir)/ref-del.sin
++ sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed
++ mv t-ref-del.sed ref-del.sed
+
+-libintl.a libgnuintl.a: $(OBJECTS)
+- rm -f $@
+- $(AR) cru $@ $(OBJECTS)
+- $(RANLIB) $@
++INCLUDES = -I. -I$(srcdir) -I..
+
+-libintl.la libgnuintl.la: $(OBJECTS)
+- $(LIBTOOL) --mode=link \
+- $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
+- $(OBJECTS) @LIBICONV@ \
+- -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
+- -rpath $(libdir) \
+- -no-undefined
++libgnuintl.h: $(srcdir)/libgnuintl.h.in
++ sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \
++ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \
++ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \
++ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \
++ < $(srcdir)/libgnuintl.h.in > libgnuintl.h
+
+ libintl.h: libgnuintl.h
+- cp $(srcdir)/libgnuintl.h libintl.h
++ cp libgnuintl.h libintl.h
+
+-charset.alias: config.charset
++charset.alias: $(srcdir)/config.charset
+ $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
+ mv t-$@ $@
+
+ check: all
+
+-# This installation goal is only used in GNU gettext. Packages which
+-# only use the library should use install instead.
+-
+ # We must not install the libintl.h/libintl.a files if we are on a
+ # system which has the GNU gettext() function in its C library or in a
+ # separate library.
+@@ -141,25 +255,50 @@
+ # package, you have to use `configure --with-included-gettext'.
+ install: install-exec install-data
+ install-exec: all
+- if test "$(PACKAGE)" = "gettext" \
+- && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
++ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
++ && test '@USE_INCLUDED_LIBINTL@' = yes; then \
+ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
+ $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
+ $(LIBTOOL) --mode=install \
+ $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
++ if test "@RELOCATABLE@" = yes; then \
++ dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \
++ if test -n "$$dependencies"; then \
++ rm -f $(DESTDIR)$(libdir)/libintl.la; \
++ fi; \
++ fi; \
+ else \
+ : ; \
+ fi
+- if test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ if test "$(PACKAGE)" = "gettext-tools" \
++ && test '@USE_INCLUDED_LIBINTL@' = no; then \
+ $(mkinstalldirs) $(DESTDIR)$(libdir); \
+- test -f $(DESTDIR)$(libdir)/charset.alias \
+- && orig=$(DESTDIR)$(libdir)/charset.alias \
+- || orig=charset.alias; \
++ $(LIBTOOL) --mode=install \
++ $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \
++ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
++ $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \
++ $(LIBTOOL) --mode=uninstall \
++ rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \
++ else \
++ : ; \
++ fi
++ if test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
+ temp=$(DESTDIR)$(libdir)/t-charset.alias; \
+ dest=$(DESTDIR)$(libdir)/charset.alias; \
+- sed -f ref-add.sed $$orig > $$temp; \
+- $(INSTALL_DATA) $$temp $$dest; \
+- rm -f $$temp; \
++ if test -f $(DESTDIR)$(libdir)/charset.alias; then \
++ orig=$(DESTDIR)$(libdir)/charset.alias; \
++ sed -f ref-add.sed $$orig > $$temp; \
++ $(INSTALL_DATA) $$temp $$dest; \
++ rm -f $$temp; \
++ else \
++ if test @GLIBC21@ = no; then \
++ orig=charset.alias; \
++ sed -f ref-add.sed $$orig > $$temp; \
++ $(INSTALL_DATA) $$temp $$dest; \
++ rm -f $$temp; \
++ fi; \
++ fi; \
+ $(mkinstalldirs) $(DESTDIR)$(localedir); \
+ test -f $(DESTDIR)$(localedir)/locale.alias \
+ && orig=$(DESTDIR)$(localedir)/locale.alias \
+@@ -173,16 +312,22 @@
+ : ; \
+ fi
+ install-data: all
+- if test "$(PACKAGE)" = "gettext"; then \
++ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
+ $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
+- dists="$(DISTFILES.common)"; \
++ dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
+ for file in $$dists; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \
++ dists="$(DISTFILES.generated)"; \
++ for file in $$dists; do \
++ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
++ $(INSTALL_DATA) $$dir/$$file \
++ $(DESTDIR)$(gettextsrcdir)/$$file; \
++ done; \
+ dists="$(DISTFILES.obsolete)"; \
+ for file in $$dists; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+@@ -191,18 +336,51 @@
+ : ; \
+ fi
+
++install-strip: install
++
++installdirs:
++ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
++ && test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
++ else \
++ : ; \
++ fi
++ if test "$(PACKAGE)" = "gettext-tools" \
++ && test '@USE_INCLUDED_LIBINTL@' = no; then \
++ $(mkinstalldirs) $(DESTDIR)$(libdir); \
++ else \
++ : ; \
++ fi
++ if test '@USE_INCLUDED_LIBINTL@' = yes; then \
++ test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
++ $(mkinstalldirs) $(DESTDIR)$(localedir); \
++ else \
++ : ; \
++ fi
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
++ else \
++ : ; \
++ fi
++
+ # Define this as empty until I found a useful application.
+ installcheck:
+
+ uninstall:
+- if test "$(PACKAGE)" = "gettext" \
+- && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
++ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \
++ && test '@USE_INCLUDED_LIBINTL@' = yes; then \
+ rm -f $(DESTDIR)$(includedir)/libintl.h; \
+ $(LIBTOOL) --mode=uninstall \
+ rm -f $(DESTDIR)$(libdir)/libintl.$la; \
+ else \
+ : ; \
+ fi
++ if test "$(PACKAGE)" = "gettext-tools" \
++ && test '@USE_INCLUDED_LIBINTL@' = no; then \
++ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
++ else \
++ : ; \
++ fi
+ if test '@USE_INCLUDED_LIBINTL@' = yes; then \
+ if test -f $(DESTDIR)$(libdir)/charset.alias; then \
+ temp=$(DESTDIR)$(libdir)/t-charset.alias; \
+@@ -229,25 +407,36 @@
+ else \
+ : ; \
+ fi
+- if test "$(PACKAGE)" = "gettext"; then \
+- for file in VERSION ChangeLog $(DISTFILES.common); do \
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+
+-info dvi:
++info dvi ps pdf html:
+
+ $(OBJECTS): ../config.h libgnuintl.h
+-bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
+-dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
++bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h $(srcdir)/gmo.h $(srcdir)/loadinfo.h
++dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
++explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
++dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h
++dcigettext.$lo: $(srcdir)/eval-plural.h
++localcharset.$lo: $(srcdir)/localcharset.h
++localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
++printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h $(srcdir)/vasnprintf.c
+
+ tags: TAGS
+
+ TAGS: $(HEADERS) $(SOURCES)
+ here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
+
++ctags: CTAGS
++
++CTAGS: $(HEADERS) $(SOURCES)
++ here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES)
++
+ id: ID
+
+ ID: $(HEADERS) $(SOURCES)
+@@ -255,15 +444,15 @@
+
+
+ mostlyclean:
+- rm -f *.a *.la *.o *.lo core core.*
+- rm -f libintl.h charset.alias ref-add.sed ref-del.sed
++ rm -f *.a *.la *.o *.obj *.lo core core.*
++ rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed
+ rm -f -r .libs _libs
+
+ clean: mostlyclean
+
+ distclean: clean
+ rm -f Makefile ID TAGS
+- if test "$(PACKAGE)" = gettext; then \
++ if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \
+ rm -f ChangeLog.inst $(DISTFILES.normal); \
+ else \
+ : ; \
+@@ -278,20 +467,26 @@
+ # other files which should not be distributed in other packages.
+ distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+ dist distdir: Makefile
+- if test "$(PACKAGE)" = gettext; then \
+- additional="$(DISTFILES.gettext)"; \
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ : ; \
+ else \
+- additional="$(DISTFILES.normal)"; \
+- fi; \
+- $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
+- for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
+- ln $(srcdir)/$$file $(distdir) 2> /dev/null \
+- || cp -p $(srcdir)/$$file $(distdir); \
+- done
++ if test "$(PACKAGE)" = "gettext-runtime"; then \
++ additional="$(DISTFILES.gettext)"; \
++ else \
++ additional="$(DISTFILES.normal)"; \
++ fi; \
++ $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \
++ for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \
++ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
++ cp -p $$dir/$$file $(distdir); \
++ done; \
++ fi
+
+-Makefile: Makefile.in ../config.status
+- cd .. \
+- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++ cd $(top_builddir) && $(SHELL) ./config.status
++# This would be more efficient, but doesn't work any more with autoconf-2.57,
++# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
++# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+ # Tell versions [3.59,3.63) of GNU make not to export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/VERSION psmisc-20.2.works.clean/intl/VERSION
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/VERSION 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/VERSION 2004-10-13 15:18:41.000000000 -0500
+@@ -1 +1 @@
+-GNU gettext library from gettext-0.10.36
++GNU gettext library from gettext-0.14.1
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/bindtextdom.c psmisc-20.2.works.clean/intl/bindtextdom.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/bindtextdom.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/bindtextdom.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Implementation of the bindtextdomain(3) function
+- Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1998, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -44,8 +45,8 @@
+ names than the internal variables in GNU libc, otherwise programs
+ using libintl.a cannot be linked statically. */
+ #if !defined _LIBC
+-# define _nl_default_dirname _nl_default_dirname__
+-# define _nl_domain_bindings _nl_domain_bindings__
++# define _nl_default_dirname libintl_nl_default_dirname
++# define _nl_domain_bindings libintl_nl_domain_bindings
+ #endif
+
+ /* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */
+@@ -57,12 +58,17 @@
+
+ /* Contains the default location of the message catalogs. */
+ extern const char _nl_default_dirname[];
++#ifdef _LIBC
++extern const char _nl_default_dirname_internal[] attribute_hidden;
++#else
++# define INTUSE(name) name
++#endif
+
+ /* List with bindings of specific domains. */
+ extern struct binding *_nl_domain_bindings;
+
+ /* Lock variable to protect the global data in the gettext implementation. */
+-__libc_rwlock_define (extern, _nl_state_lock)
++__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
+
+
+ /* Names for the libintl functions are a problem. They must not clash
+@@ -76,15 +82,10 @@
+ # define strdup(str) __strdup (str)
+ # endif
+ #else
+-# define BINDTEXTDOMAIN bindtextdomain__
+-# define BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset__
++# define BINDTEXTDOMAIN libintl_bindtextdomain
++# define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset
+ #endif
+
+-/* Prototypes for local functions. */
+-static void set_binding_values PARAMS ((const char *domainname,
+- const char **dirnamep,
+- const char **codesetp));
+-
+ /* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP
+ to be used for the DOMAINNAME message catalog.
+ If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
+@@ -92,10 +93,8 @@
+ If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither
+ modified nor returned. */
+ static void
+-set_binding_values (domainname, dirnamep, codesetp)
+- const char *domainname;
+- const char **dirnamep;
+- const char **codesetp;
++set_binding_values (const char *domainname,
++ const char **dirnamep, const char **codesetp)
+ {
+ struct binding *binding;
+ int modified;
+@@ -145,8 +144,8 @@
+ char *result = binding->dirname;
+ if (strcmp (dirname, result) != 0)
+ {
+- if (strcmp (dirname, _nl_default_dirname) == 0)
+- result = (char *) _nl_default_dirname;
++ if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
++ result = (char *) INTUSE(_nl_default_dirname);
+ else
+ {
+ #if defined _LIBC || defined HAVE_STRDUP
+@@ -161,7 +160,7 @@
+
+ if (__builtin_expect (result != NULL, 1))
+ {
+- if (binding->dirname != _nl_default_dirname)
++ if (binding->dirname != INTUSE(_nl_default_dirname))
+ free (binding->dirname);
+
+ binding->dirname = result;
+@@ -202,6 +201,7 @@
+ free (binding->codeset);
+
+ binding->codeset = result;
++ binding->codeset_cntr++;
+ modified = 1;
+ }
+ }
+@@ -214,7 +214,7 @@
+ {
+ /* Simply return the default values. */
+ if (dirnamep)
+- *dirnamep = _nl_default_dirname;
++ *dirnamep = INTUSE(_nl_default_dirname);
+ if (codesetp)
+ *codesetp = NULL;
+ }
+@@ -236,11 +236,11 @@
+
+ if (dirname == NULL)
+ /* The default value. */
+- dirname = _nl_default_dirname;
++ dirname = INTUSE(_nl_default_dirname);
+ else
+ {
+- if (strcmp (dirname, _nl_default_dirname) == 0)
+- dirname = _nl_default_dirname;
++ if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
++ dirname = INTUSE(_nl_default_dirname);
+ else
+ {
+ char *result;
+@@ -263,7 +263,9 @@
+ }
+ else
+ /* The default value. */
+- new_binding->dirname = (char *) _nl_default_dirname;
++ new_binding->dirname = (char *) INTUSE(_nl_default_dirname);
++
++ new_binding->codeset_cntr = 0;
+
+ if (codesetp)
+ {
+@@ -285,6 +287,7 @@
+ memcpy (result, codeset, len);
+ #endif
+ codeset = result;
++ new_binding->codeset_cntr++;
+ }
+ *codesetp = codeset;
+ new_binding->codeset = (char *) codeset;
+@@ -316,7 +319,7 @@
+ if (0)
+ {
+ failed_codeset:
+- if (new_binding->dirname != _nl_default_dirname)
++ if (new_binding->dirname != INTUSE(_nl_default_dirname))
+ free (new_binding->dirname);
+ failed_dirname:
+ free (new_binding);
+@@ -338,9 +341,7 @@
+ /* Specify that the DOMAINNAME message catalog will be found
+ in DIRNAME rather than in the system locale data base. */
+ char *
+-BINDTEXTDOMAIN (domainname, dirname)
+- const char *domainname;
+- const char *dirname;
++BINDTEXTDOMAIN (const char *domainname, const char *dirname)
+ {
+ set_binding_values (domainname, &dirname, NULL);
+ return (char *) dirname;
+@@ -349,9 +350,7 @@
+ /* Specify the character encoding in which the messages from the
+ DOMAINNAME message catalog will be returned. */
+ char *
+-BIND_TEXTDOMAIN_CODESET (domainname, codeset)
+- const char *domainname;
+- const char *codeset;
++BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset)
+ {
+ set_binding_values (domainname, NULL, &codeset);
+ return (char *) codeset;
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/config.charset psmisc-20.2.works.clean/intl/config.charset
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dcgettext.c psmisc-20.2.works.clean/intl/dcgettext.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dcgettext.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/dcgettext.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Implementation of the dcgettext(3) function.
+- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1999, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -36,22 +37,20 @@
+ # define DCGETTEXT __dcgettext
+ # define DCIGETTEXT __dcigettext
+ #else
+-# define DCGETTEXT dcgettext__
+-# define DCIGETTEXT dcigettext__
++# define DCGETTEXT libintl_dcgettext
++# define DCIGETTEXT libintl_dcigettext
+ #endif
+
+ /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
+ locale. */
+ char *
+-DCGETTEXT (domainname, msgid, category)
+- const char *domainname;
+- const char *msgid;
+- int category;
++DCGETTEXT (const char *domainname, const char *msgid, int category)
+ {
+ return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category);
+ }
+
+ #ifdef _LIBC
+ /* Alias for function name in GNU C Library. */
++INTDEF(__dcgettext)
+ weak_alias (__dcgettext, dcgettext);
+ #endif
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dcigettext.c psmisc-20.2.works.clean/intl/dcigettext.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dcigettext.c 2001-04-13 23:00:43.000000000 -0500
++++ psmisc-20.2.works.clean/intl/dcigettext.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Implementation of the internal dcigettext function.
+- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1999, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ /* Tell glibc's <string.h> to provide a prototype for mempcpy().
+ This must come before <config.h> because <config.h> may include
+@@ -32,14 +33,19 @@
+ # define alloca __builtin_alloca
+ # define HAVE_ALLOCA 1
+ #else
+-# if defined HAVE_ALLOCA_H || defined _LIBC
+-# include <alloca.h>
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
+ # else
+-# ifdef _AIX
+- #pragma alloca
++# if defined HAVE_ALLOCA_H || defined _LIBC
++# include <alloca.h>
+ # else
+-# ifndef alloca
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca
+ char *alloca ();
++# endif
+ # endif
+ # endif
+ # endif
+@@ -55,13 +61,7 @@
+
+ #include <stddef.h>
+ #include <stdlib.h>
+-
+ #include <string.h>
+-#if !HAVE_STRCHR && !defined _LIBC
+-# ifndef strchr
+-# define strchr index
+-# endif
+-#endif
+
+ #if defined HAVE_UNISTD_H || defined _LIBC
+ # include <unistd.h>
+@@ -69,11 +69,26 @@
+
+ #include <locale.h>
+
++#ifdef _LIBC
++ /* Guess whether integer division by zero raises signal SIGFPE.
++ Set to 1 only if you know for sure. In case of doubt, set to 0. */
++# if defined __alpha__ || defined __arm__ || defined __i386__ \
++ || defined __m68k__ || defined __s390__
++# define INTDIV0_RAISES_SIGFPE 1
++# else
++# define INTDIV0_RAISES_SIGFPE 0
++# endif
++#endif
++#if !INTDIV0_RAISES_SIGFPE
++# include <signal.h>
++#endif
++
+ #if defined HAVE_SYS_PARAM_H || defined _LIBC
+ # include <sys/param.h>
+ #endif
+
+ #include "gettextP.h"
++#include "plural-exp.h"
+ #ifdef _LIBC
+ # include <libintl.h>
+ #else
+@@ -106,10 +121,10 @@
+ names than the internal variables in GNU libc, otherwise programs
+ using libintl.a cannot be linked statically. */
+ #if !defined _LIBC
+-# define _nl_default_default_domain _nl_default_default_domain__
+-# define _nl_current_default_domain _nl_current_default_domain__
+-# define _nl_default_dirname _nl_default_dirname__
+-# define _nl_domain_bindings _nl_domain_bindings__
++# define _nl_default_default_domain libintl_nl_default_default_domain
++# define _nl_current_default_domain libintl_nl_current_default_domain
++# define _nl_default_dirname libintl_nl_default_dirname
++# define _nl_domain_bindings libintl_nl_domain_bindings
+ #endif
+
+ /* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */
+@@ -133,13 +148,17 @@
+ char *getwd ();
+ # define getcwd(buf, max) getwd (buf)
+ # else
++# if VMS
++# define getcwd(buf, max) (getcwd) (buf, max, 0)
++# else
+ char *getcwd ();
++# endif
+ # endif
+ # ifndef HAVE_STPCPY
+-static char *stpcpy PARAMS ((char *dest, const char *src));
++static char *stpcpy (char *dest, const char *src);
+ # endif
+ # ifndef HAVE_MEMPCPY
+-static void *mempcpy PARAMS ((void *dest, const void *src, size_t n));
++static void *mempcpy (void *dest, const void *src, size_t n);
+ # endif
+ #endif
+
+@@ -197,16 +216,6 @@
+ # define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
+ #endif
+
+-/* XPG3 defines the result of `setlocale (category, NULL)' as:
+- ``Directs `setlocale()' to query `category' and return the current
+- setting of `local'.''
+- However it does not specify the exact format. Neither do SUSV2 and
+- ISO C 99. So we can use this feature only on selected systems (e.g.
+- those using GNU C Library). */
+-#ifdef _LIBC
+-# define HAVE_LOCALE_NULL
+-#endif
+-
+ /* This is the type used for the search tree where known translations
+ are stored. */
+ struct known_translation_t
+@@ -243,11 +252,8 @@
+ # endif
+
+ /* Function to compare two entries in the table of known translations. */
+-static int transcmp PARAMS ((const void *p1, const void *p2));
+ static int
+-transcmp (p1, p2)
+- const void *p1;
+- const void *p2;
++transcmp (const void *p1, const void *p2)
+ {
+ const struct known_translation_t *s1;
+ const struct known_translation_t *s2;
+@@ -271,39 +277,54 @@
+ }
+ #endif
+
++#ifndef INTVARDEF
++# define INTVARDEF(name)
++#endif
++#ifndef INTUSE
++# define INTUSE(name) name
++#endif
++
+ /* Name of the default domain used for gettext(3) prior any call to
+ textdomain(3). The default value for this is "messages". */
+-const char _nl_default_default_domain[] = "messages";
++const char _nl_default_default_domain[] attribute_hidden = "messages";
+
+ /* Value used as the default domain for gettext(3). */
+-const char *_nl_current_default_domain = _nl_default_default_domain;
++const char *_nl_current_default_domain attribute_hidden
++ = _nl_default_default_domain;
+
+ /* Contains the default location of the message catalogs. */
++#if defined __EMX__
++extern const char _nl_default_dirname[];
++#else
+ const char _nl_default_dirname[] = LOCALEDIR;
++INTVARDEF (_nl_default_dirname)
++#endif
+
+ /* List with bindings of specific domains created by bindtextdomain()
+ calls. */
+ struct binding *_nl_domain_bindings;
+
+ /* Prototypes for local functions. */
+-static char *plural_lookup PARAMS ((struct loaded_l10nfile *domain,
+- unsigned long int n,
+- const char *translation,
+- size_t translation_len))
+- internal_function;
+-static unsigned long int plural_eval PARAMS ((struct expression *pexp,
+- unsigned long int n))
++static char *plural_lookup (struct loaded_l10nfile *domain,
++ unsigned long int n,
++ const char *translation, size_t translation_len)
+ internal_function;
+-static const char *category_to_name PARAMS ((int category)) internal_function;
+-static const char *guess_category_value PARAMS ((int category,
+- const char *categoryname))
++static const char *guess_category_value (int category,
++ const char *categoryname)
+ internal_function;
++#ifdef _LIBC
++# include "../locale/localeinfo.h"
++# define category_to_name(category) _nl_category_names[category]
++#else
++static const char *category_to_name (int category) internal_function;
++#endif
+
+
+ /* For those loosing systems which don't have `alloca' we have to add
+ some additional code emulating it. */
+ #ifdef HAVE_ALLOCA
+ /* Nothing has to be done. */
++# define freea(p) /* nothing */
+ # define ADD_BLOCK(list, address) /* nothing */
+ # define FREE_BLOCKS(list) /* nothing */
+ #else
+@@ -328,11 +349,13 @@
+ while (list != NULL) { \
+ struct block_list *old = list; \
+ list = list->next; \
++ free (old->address); \
+ free (old); \
+ } \
+ } while (0)
+ # undef alloca
+ # define alloca(size) (malloc (size))
++# define freea(p) free (p)
+ #endif /* have alloca */
+
+
+@@ -356,12 +379,12 @@
+ #ifdef _LIBC
+ # define DCIGETTEXT __dcigettext
+ #else
+-# define DCIGETTEXT dcigettext__
++# define DCIGETTEXT libintl_dcigettext
+ #endif
+
+ /* Lock variable to protect the global data in the gettext implementation. */
+ #ifdef _LIBC
+-__libc_rwlock_define_initialized (, _nl_state_lock)
++__libc_rwlock_define_initialized (, _nl_state_lock attribute_hidden)
+ #endif
+
+ /* Checking whether the binaries runs SUID must be done and glibc provides
+@@ -370,6 +393,18 @@
+ # define ENABLE_SECURE __libc_enable_secure
+ # define DETERMINE_SECURE
+ #else
++# ifndef HAVE_GETUID
++# define getuid() 0
++# endif
++# ifndef HAVE_GETGID
++# define getgid() 0
++# endif
++# ifndef HAVE_GETEUID
++# define geteuid() getuid()
++# endif
++# ifndef HAVE_GETEGID
++# define getegid() getgid()
++# endif
+ static int enable_secure;
+ # define ENABLE_SECURE (enable_secure == 1)
+ # define DETERMINE_SECURE \
+@@ -382,17 +417,15 @@
+ }
+ #endif
+
++/* Get the function to evaluate the plural expression. */
++#include "eval-plural.h"
++
+ /* Look up MSGID in the DOMAINNAME message catalog for the current
+ CATEGORY locale and, if PLURAL is nonzero, search over string
+ depending on the plural form determined by N. */
+ char *
+-DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
+- const char *domainname;
+- const char *msgid1;
+- const char *msgid2;
+- int plural;
+- unsigned long int n;
+- int category;
++DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
++ int plural, unsigned long int n, int category)
+ {
+ #ifndef HAVE_ALLOCA
+ struct block_list *block_list = NULL;
+@@ -417,6 +450,15 @@
+ if (msgid1 == NULL)
+ return NULL;
+
++#ifdef _LIBC
++ if (category < 0 || category >= __LC_LAST || category == LC_ALL)
++ /* Bogus. */
++ return (plural == 0
++ ? (char *) msgid1
++ /* Use the Germanic plural rule. */
++ : n == 1 ? (char *) msgid1 : (char *) msgid2);
++#endif
++
+ __libc_rwlock_rdlock (_nl_state_lock);
+
+ /* If DOMAINNAME is NULL, we are interested in the default domain. If
+@@ -425,6 +467,12 @@
+ if (domainname == NULL)
+ domainname = _nl_current_default_domain;
+
++ /* OS/2 specific: backward compatibility with older libintl versions */
++#ifdef LC_MESSAGES_COMPAT
++ if (category == LC_MESSAGES_COMPAT)
++ category = LC_MESSAGES;
++#endif
++
+ #if defined HAVE_TSEARCH || defined _LIBC
+ msgid_len = strlen (msgid1) + 1;
+
+@@ -437,6 +485,7 @@
+ search->category = category;
+
+ foundp = (struct known_translation_t **) tfind (search, &root, transcmp);
++ freea (search);
+ if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
+ {
+ /* Now deal with plural. */
+@@ -473,7 +522,7 @@
+ }
+
+ if (binding == NULL)
+- dirname = (char *) _nl_default_dirname;
++ dirname = (char *) INTUSE(_nl_default_dirname);
+ else if (IS_ABSOLUTE_PATH (binding->dirname))
+ dirname = binding->dirname;
+ else
+@@ -501,16 +550,9 @@
+ }
+
+ if (ret == NULL)
+- {
+- /* We cannot get the current working directory. Don't signal an
+- error but simply return the default string. */
+- FREE_BLOCKS (block_list);
+- __set_errno (saved_errno);
+- return (plural == 0
+- ? (char *) msgid1
+- /* Use the Germanic plural rule. */
+- : n == 1 ? (char *) msgid1 : (char *) msgid2);
+- }
++ /* We cannot get the current working directory. Don't signal an
++ error but simply return the default string. */
++ goto return_untranslated;
+
+ stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
+ }
+@@ -567,16 +609,7 @@
+ domain. Return the MSGID. */
+ if (strcmp (single_locale, "C") == 0
+ || strcmp (single_locale, "POSIX") == 0)
+- {
+- FREE_BLOCKS (block_list);
+- __libc_rwlock_unlock (_nl_state_lock);
+- __set_errno (saved_errno);
+- return (plural == 0
+- ? (char *) msgid1
+- /* Use the Germanic plural rule. */
+- : n == 1 ? (char *) msgid1 : (char *) msgid2);
+- }
+-
++ break;
+
+ /* Find structure describing the message catalog matching the
+ DOMAINNAME and CATEGORY. */
+@@ -584,7 +617,7 @@
+
+ if (domain != NULL)
+ {
+- retval = _nl_find_msg (domain, msgid1, &retlen);
++ retval = _nl_find_msg (domain, binding, msgid1, &retlen);
+
+ if (retval == NULL)
+ {
+@@ -592,8 +625,8 @@
+
+ for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
+ {
+- retval = _nl_find_msg (domain->successor[cnt], msgid1,
+- &retlen);
++ retval = _nl_find_msg (domain->successor[cnt], binding,
++ msgid1, &retlen);
+
+ if (retval != NULL)
+ {
+@@ -608,7 +641,6 @@
+ /* Found the translation of MSGID1 in domain DOMAIN:
+ starting at RETVAL, RETLEN bytes. */
+ FREE_BLOCKS (block_list);
+- __set_errno (saved_errno);
+ #if defined HAVE_TSEARCH || defined _LIBC
+ if (foundp == NULL)
+ {
+@@ -647,6 +679,8 @@
+ (*foundp)->translation_length = retlen;
+ }
+ #endif
++ __set_errno (saved_errno);
++
+ /* Now deal with plural. */
+ if (plural)
+ retval = plural_lookup (domain, n, retval, retlen);
+@@ -656,32 +690,56 @@
+ }
+ }
+ }
+- /* NOTREACHED */
++
++ return_untranslated:
++ /* Return the untranslated MSGID. */
++ FREE_BLOCKS (block_list);
++ __libc_rwlock_unlock (_nl_state_lock);
++#ifndef _LIBC
++ if (!ENABLE_SECURE)
++ {
++ extern void _nl_log_untranslated (const char *logfilename,
++ const char *domainname,
++ const char *msgid1, const char *msgid2,
++ int plural);
++ const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED");
++
++ if (logfilename != NULL && logfilename[0] != '\0')
++ _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural);
++ }
++#endif
++ __set_errno (saved_errno);
++ return (plural == 0
++ ? (char *) msgid1
++ /* Use the Germanic plural rule. */
++ : n == 1 ? (char *) msgid1 : (char *) msgid2);
+ }
+
+
+ char *
+ internal_function
+-_nl_find_msg (domain_file, msgid, lengthp)
+- struct loaded_l10nfile *domain_file;
+- const char *msgid;
+- size_t *lengthp;
++_nl_find_msg (struct loaded_l10nfile *domain_file,
++ struct binding *domainbinding, const char *msgid,
++ size_t *lengthp)
+ {
+ struct loaded_domain *domain;
++ nls_uint32 nstrings;
+ size_t act;
+ char *result;
+ size_t resultlen;
+
+ if (domain_file->decided == 0)
+- _nl_load_domain (domain_file);
++ _nl_load_domain (domain_file, domainbinding);
+
+ if (domain_file->data == NULL)
+ return NULL;
+
+ domain = (struct loaded_domain *) domain_file->data;
+
++ nstrings = domain->nstrings;
++
+ /* Locate the MSGID and its translation. */
+- if (domain->hash_size > 2 && domain->hash_tab != NULL)
++ if (domain->hash_tab != NULL)
+ {
+ /* Use the hashing table. */
+ nls_uint32 len = strlen (msgid);
+@@ -691,22 +749,30 @@
+
+ while (1)
+ {
+- nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
++ nls_uint32 nstr =
++ W (domain->must_swap_hash_tab, domain->hash_tab[idx]);
+
+ if (nstr == 0)
+ /* Hash table entry is empty. */
+ return NULL;
+
+- /* Compare msgid with the original string at index nstr-1.
++ nstr--;
++
++ /* Compare msgid with the original string at index nstr.
+ We compare the lengths with >=, not ==, because plural entries
+ are represented by strings with an embedded NUL. */
+- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) >= len
+- && (strcmp (msgid,
+- domain->data + W (domain->must_swap,
+- domain->orig_tab[nstr - 1].offset))
+- == 0))
++ if (nstr < nstrings
++ ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len
++ && (strcmp (msgid,
++ domain->data + W (domain->must_swap,
++ domain->orig_tab[nstr].offset))
++ == 0)
++ : domain->orig_sysdep_tab[nstr - nstrings].length > len
++ && (strcmp (msgid,
++ domain->orig_sysdep_tab[nstr - nstrings].pointer)
++ == 0))
+ {
+- act = nstr - 1;
++ act = nstr;
+ goto found;
+ }
+
+@@ -724,7 +790,7 @@
+ size_t top, bottom;
+
+ bottom = 0;
+- top = domain->nstrings;
++ top = nstrings;
+ while (bottom < top)
+ {
+ int cmp_val;
+@@ -747,11 +813,29 @@
+ found:
+ /* The translation was found at index ACT. If we have to convert the
+ string to use a different character set, this is the time. */
+- result = ((char *) domain->data
+- + W (domain->must_swap, domain->trans_tab[act].offset));
+- resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;
++ if (act < nstrings)
++ {
++ result = (char *)
++ (domain->data + W (domain->must_swap, domain->trans_tab[act].offset));
++ resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;
++ }
++ else
++ {
++ result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer;
++ resultlen = domain->trans_sysdep_tab[act - nstrings].length;
++ }
+
+ #if defined _LIBC || HAVE_ICONV
++ if (domain->codeset_cntr
++ != (domainbinding != NULL ? domainbinding->codeset_cntr : 0))
++ {
++ /* The domain's codeset has changed through bind_textdomain_codeset()
++ since the message catalog was initialized or last accessed. We
++ have to reinitialize the converter. */
++ _nl_free_domain_conv (domain);
++ _nl_init_domain_conv (domain_file, domain, domainbinding);
++ }
++
+ if (
+ # ifdef _LIBC
+ domain->conv != (__gconv_t) -1
+@@ -772,8 +856,9 @@
+ NULs. */
+
+ if (domain->conv_tab == NULL
+- && ((domain->conv_tab = (char **) calloc (domain->nstrings,
+- sizeof (char *)))
++ && ((domain->conv_tab =
++ (char **) calloc (nstrings + domain->n_sysdep_strings,
++ sizeof (char *)))
+ == NULL))
+ /* Mark that we didn't succeed allocating a table. */
+ domain->conv_tab = (char **) -1;
+@@ -942,11 +1027,8 @@
+ /* Look up a plural variant. */
+ static char *
+ internal_function
+-plural_lookup (domain, n, translation, translation_len)
+- struct loaded_l10nfile *domain;
+- unsigned long int n;
+- const char *translation;
+- size_t translation_len;
++plural_lookup (struct loaded_l10nfile *domain, unsigned long int n,
++ const char *translation, size_t translation_len)
+ {
+ struct loaded_domain *domaindata = (struct loaded_domain *) domain->data;
+ unsigned long int index;
+@@ -979,93 +1061,11 @@
+ return (char *) p;
+ }
+
+-
+-/* Function to evaluate the plural expression and return an index value. */
+-static unsigned long int
+-internal_function
+-plural_eval (pexp, n)
+- struct expression *pexp;
+- unsigned long int n;
+-{
+- switch (pexp->nargs)
+- {
+- case 0:
+- switch (pexp->operation)
+- {
+- case var:
+- return n;
+- case num:
+- return pexp->val.num;
+- default:
+- break;
+- }
+- /* NOTREACHED */
+- break;
+- case 1:
+- {
+- /* pexp->operation must be lnot. */
+- unsigned long int arg = plural_eval (pexp->val.args[0], n);
+- return ! arg;
+- }
+- case 2:
+- {
+- unsigned long int leftarg = plural_eval (pexp->val.args[0], n);
+- if (pexp->operation == lor)
+- return leftarg || plural_eval (pexp->val.args[1], n);
+- else if (pexp->operation == land)
+- return leftarg && plural_eval (pexp->val.args[1], n);
+- else
+- {
+- unsigned long int rightarg = plural_eval (pexp->val.args[1], n);
+-
+- switch (pexp->operation)
+- {
+- case mult:
+- return leftarg * rightarg;
+- case divide:
+- return leftarg / rightarg;
+- case module:
+- return leftarg % rightarg;
+- case plus:
+- return leftarg + rightarg;
+- case minus:
+- return leftarg - rightarg;
+- case less_than:
+- return leftarg < rightarg;
+- case greater_than:
+- return leftarg > rightarg;
+- case less_or_equal:
+- return leftarg <= rightarg;
+- case greater_or_equal:
+- return leftarg >= rightarg;
+- case equal:
+- return leftarg == rightarg;
+- case not_equal:
+- return leftarg != rightarg;
+- default:
+- break;
+- }
+- }
+- /* NOTREACHED */
+- break;
+- }
+- case 3:
+- {
+- /* pexp->operation must be qmop. */
+- unsigned long int boolarg = plural_eval (pexp->val.args[0], n);
+- return plural_eval (pexp->val.args[boolarg ? 1 : 2], n);
+- }
+- }
+- /* NOTREACHED */
+- return 0;
+-}
+-
+-
++#ifndef _LIBC
+ /* Return string representation of locale CATEGORY. */
+ static const char *
+ internal_function
+-category_to_name (category)
+- int category;
++category_to_name (int category)
+ {
+ const char *retval;
+
+@@ -1120,13 +1120,12 @@
+
+ return retval;
+ }
++#endif
+
+ /* Guess value of current locale from value of the environment variables. */
+ static const char *
+ internal_function
+-guess_category_value (category, categoryname)
+- int category;
+- const char *categoryname;
++guess_category_value (int category, const char *categoryname)
+ {
+ const char *language;
+ const char *retval;
+@@ -1141,27 +1140,21 @@
+ /* We have to proceed with the POSIX methods of looking to `LC_ALL',
+ `LC_xxx', and `LANG'. On some systems this can be done by the
+ `setlocale' function itself. */
+-#if defined _LIBC || (defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL)
+- retval = setlocale (category, NULL);
++#ifdef _LIBC
++ retval = __current_locale_name (category);
+ #else
+- /* Setting of LC_ALL overwrites all other. */
+- retval = getenv ("LC_ALL");
+- if (retval == NULL || retval[0] == '\0')
+- {
+- /* Next comes the name of the desired category. */
+- retval = getenv (categoryname);
+- if (retval == NULL || retval[0] == '\0')
+- {
+- /* Last possibility is the LANG environment variable. */
+- retval = getenv ("LANG");
+- if (retval == NULL || retval[0] == '\0')
+- /* We use C as the default domain. POSIX says this is
+- implementation defined. */
+- return "C";
+- }
+- }
++ retval = _nl_locale_name (category, categoryname);
+ #endif
+
++ /* Ignore LANGUAGE if the locale is set to "C" because
++ 1. "C" locale usually uses the ASCII encoding, and most international
++ messages use non-ASCII characters. These characters get displayed
++ as question marks (if using glibc's iconv()) or as invalid 8-bit
++ characters (because other iconv()s refuse to convert most non-ASCII
++ characters to ASCII). In any case, the output is ugly.
++ 2. The precise output of some programs in the "C" locale is specified
++ by POSIX and should not depend on environment variables like
++ "LANGUAGE". We allow such programs to use gettext(). */
+ return language != NULL && strcmp (retval, "C") != 0 ? language : retval;
+ }
+
+@@ -1173,9 +1166,7 @@
+ to be defined. */
+ #if !_LIBC && !HAVE_STPCPY
+ static char *
+-stpcpy (dest, src)
+- char *dest;
+- const char *src;
++stpcpy (char *dest, const char *src)
+ {
+ while ((*dest++ = *src++) != '\0')
+ /* Do nothing. */ ;
+@@ -1185,10 +1176,7 @@
+
+ #if !_LIBC && !HAVE_MEMPCPY
+ static void *
+-mempcpy (dest, src, n)
+- void *dest;
+- const void *src;
+- size_t n;
++mempcpy (void *dest, const void *src, size_t n)
+ {
+ return (void *) ((char *) memcpy (dest, src, n) + n);
+ }
+@@ -1198,8 +1186,7 @@
+ #ifdef _LIBC
+ /* If we want to free all resources we have to do some work at
+ program's end. */
+-static void __attribute__ ((unused))
+-free_mem (void)
++libc_freeres_fn (free_mem)
+ {
+ void *old;
+
+@@ -1207,7 +1194,7 @@
+ {
+ struct binding *oldp = _nl_domain_bindings;
+ _nl_domain_bindings = _nl_domain_bindings->next;
+- if (oldp->dirname != _nl_default_dirname)
++ if (oldp->dirname != INTUSE(_nl_default_dirname))
+ /* Yes, this is a pointer comparison. */
+ free (oldp->dirname);
+ free (oldp->codeset);
+@@ -1229,6 +1216,4 @@
+ free (old);
+ }
+ }
+-
+-text_set_element (__libc_subfreeres, free_mem);
+ #endif
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dcngettext.c psmisc-20.2.works.clean/intl/dcngettext.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dcngettext.c 2001-04-13 23:00:43.000000000 -0500
++++ psmisc-20.2.works.clean/intl/dcngettext.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Implementation of the dcngettext(3) function.
+- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1999, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -36,19 +37,16 @@
+ # define DCNGETTEXT __dcngettext
+ # define DCIGETTEXT __dcigettext
+ #else
+-# define DCNGETTEXT dcngettext__
+-# define DCIGETTEXT dcigettext__
++# define DCNGETTEXT libintl_dcngettext
++# define DCIGETTEXT libintl_dcigettext
+ #endif
+
+ /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
+ locale. */
+ char *
+-DCNGETTEXT (domainname, msgid1, msgid2, n, category)
+- const char *domainname;
+- const char *msgid1;
+- const char *msgid2;
+- unsigned long int n;
+- int category;
++DCNGETTEXT (const char *domainname,
++ const char *msgid1, const char *msgid2, unsigned long int n,
++ int category)
+ {
+ return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category);
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dgettext.c psmisc-20.2.works.clean/intl/dgettext.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dgettext.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/dgettext.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,27 +1,29 @@
+ /* Implementation of the dgettext(3) function.
+- Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1997, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
++#include "gettextP.h"
++
+ #include <locale.h>
+
+-#include "gettextP.h"
+ #ifdef _LIBC
+ # include <libintl.h>
+ #else
+@@ -36,18 +38,16 @@
+ prefix. So we have to make a difference here. */
+ #ifdef _LIBC
+ # define DGETTEXT __dgettext
+-# define DCGETTEXT __dcgettext
++# define DCGETTEXT INTUSE(__dcgettext)
+ #else
+-# define DGETTEXT dgettext__
+-# define DCGETTEXT dcgettext__
++# define DGETTEXT libintl_dgettext
++# define DCGETTEXT libintl_dcgettext
+ #endif
+
+ /* Look up MSGID in the DOMAINNAME message catalog of the current
+ LC_MESSAGES locale. */
+ char *
+-DGETTEXT (domainname, msgid)
+- const char *domainname;
+- const char *msgid;
++DGETTEXT (const char *domainname, const char *msgid)
+ {
+ return DCGETTEXT (domainname, msgid, LC_MESSAGES);
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dngettext.c psmisc-20.2.works.clean/intl/dngettext.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/dngettext.c 2001-04-13 23:00:43.000000000 -0500
++++ psmisc-20.2.works.clean/intl/dngettext.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,27 +1,29 @@
+ /* Implementation of the dngettext(3) function.
+- Copyright (C) 1995-1997, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1997, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
++#include "gettextP.h"
++
+ #include <locale.h>
+
+-#include "gettextP.h"
+ #ifdef _LIBC
+ # include <libintl.h>
+ #else
+@@ -38,18 +40,15 @@
+ # define DNGETTEXT __dngettext
+ # define DCNGETTEXT __dcngettext
+ #else
+-# define DNGETTEXT dngettext__
+-# define DCNGETTEXT dcngettext__
++# define DNGETTEXT libintl_dngettext
++# define DCNGETTEXT libintl_dcngettext
+ #endif
+
+ /* Look up MSGID in the DOMAINNAME message catalog of the current
+ LC_MESSAGES locale and skip message according to the plural form. */
+ char *
+-DNGETTEXT (domainname, msgid1, msgid2, n)
+- const char *domainname;
+- const char *msgid1;
+- const char *msgid2;
+- unsigned long int n;
++DNGETTEXT (const char *domainname,
++ const char *msgid1, const char *msgid2, unsigned long int n)
+ {
+ return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES);
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/eval-plural.h psmisc-20.2.works.clean/intl/eval-plural.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/eval-plural.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/eval-plural.h 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,108 @@
++/* Plural expression evaluation.
++ Copyright (C) 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef STATIC
++#define STATIC static
++#endif
++
++/* Evaluate the plural expression and return an index value. */
++STATIC
++unsigned long int
++internal_function
++plural_eval (struct expression *pexp, unsigned long int n)
++{
++ switch (pexp->nargs)
++ {
++ case 0:
++ switch (pexp->operation)
++ {
++ case var:
++ return n;
++ case num:
++ return pexp->val.num;
++ default:
++ break;
++ }
++ /* NOTREACHED */
++ break;
++ case 1:
++ {
++ /* pexp->operation must be lnot. */
++ unsigned long int arg = plural_eval (pexp->val.args[0], n);
++ return ! arg;
++ }
++ case 2:
++ {
++ unsigned long int leftarg = plural_eval (pexp->val.args[0], n);
++ if (pexp->operation == lor)
++ return leftarg || plural_eval (pexp->val.args[1], n);
++ else if (pexp->operation == land)
++ return leftarg && plural_eval (pexp->val.args[1], n);
++ else
++ {
++ unsigned long int rightarg = plural_eval (pexp->val.args[1], n);
++
++ switch (pexp->operation)
++ {
++ case mult:
++ return leftarg * rightarg;
++ case divide:
++#if !INTDIV0_RAISES_SIGFPE
++ if (rightarg == 0)
++ raise (SIGFPE);
++#endif
++ return leftarg / rightarg;
++ case module:
++#if !INTDIV0_RAISES_SIGFPE
++ if (rightarg == 0)
++ raise (SIGFPE);
++#endif
++ return leftarg % rightarg;
++ case plus:
++ return leftarg + rightarg;
++ case minus:
++ return leftarg - rightarg;
++ case less_than:
++ return leftarg < rightarg;
++ case greater_than:
++ return leftarg > rightarg;
++ case less_or_equal:
++ return leftarg <= rightarg;
++ case greater_or_equal:
++ return leftarg >= rightarg;
++ case equal:
++ return leftarg == rightarg;
++ case not_equal:
++ return leftarg != rightarg;
++ default:
++ break;
++ }
++ }
++ /* NOTREACHED */
++ break;
++ }
++ case 3:
++ {
++ /* pexp->operation must be qmop. */
++ unsigned long int boolarg = plural_eval (pexp->val.args[0], n);
++ return plural_eval (pexp->val.args[boolarg ? 1 : 2], n);
++ }
++ }
++ /* NOTREACHED */
++ return 0;
++}
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/explodename.c psmisc-20.2.works.clean/intl/explodename.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/explodename.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/explodename.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+-/* Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
++/* Copyright (C) 1995-1998, 2000-2001, 2003 Free Software Foundation, Inc.
+ Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -37,8 +38,7 @@
+ /* @@ end of prolog @@ */
+
+ char *
+-_nl_find_language (name)
+- const char *name;
++_nl_find_language (const char *name)
+ {
+ while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
+ && name[0] != '+' && name[0] != ',')
+@@ -49,17 +49,11 @@
+
+
+ int
+-_nl_explode_name (name, language, modifier, territory, codeset,
+- normalized_codeset, special, sponsor, revision)
+- char *name;
+- const char **language;
+- const char **modifier;
+- const char **territory;
+- const char **codeset;
+- const char **normalized_codeset;
+- const char **special;
+- const char **sponsor;
+- const char **revision;
++_nl_explode_name (char *name,
++ const char **language, const char **modifier,
++ const char **territory, const char **codeset,
++ const char **normalized_codeset, const char **special,
++ const char **sponsor, const char **revision)
+ {
+ enum { undecided, xpg, cen } syntax;
+ char *cp;
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/finddomain.c psmisc-20.2.works.clean/intl/finddomain.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/finddomain.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/finddomain.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,20 +1,21 @@
+ /* Handle list of needed message catalogs
+- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.
+ Written by Ulrich Drepper <drepper@gnu.org>, 1995.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -46,11 +47,8 @@
+ established bindings. */
+ struct loaded_l10nfile *
+ internal_function
+-_nl_find_domain (dirname, locale, domainname, domainbinding)
+- const char *dirname;
+- char *locale;
+- const char *domainname;
+- struct binding *domainbinding;
++_nl_find_domain (const char *dirname, char *locale,
++ const char *domainname, struct binding *domainbinding)
+ {
+ struct loaded_l10nfile *retval;
+ const char *language;
+@@ -89,15 +87,14 @@
+ be one data set in the list of loaded domains. */
+ retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
+ strlen (dirname) + 1, 0, locale, NULL, NULL,
+- NULL, NULL, NULL, NULL, NULL, domainname,
+- domainbinding, 0);
++ NULL, NULL, NULL, NULL, NULL, domainname, 0);
+ if (retval != NULL)
+ {
+ /* We know something about this locale. */
+ int cnt;
+
+ if (retval->decided == 0)
+- _nl_load_domain (retval);
++ _nl_load_domain (retval, domainbinding);
+
+ if (retval->data != NULL)
+ return retval;
+@@ -105,7 +102,7 @@
+ for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
+ {
+ if (retval->successor[cnt]->decided == 0)
+- _nl_load_domain (retval->successor[cnt]);
++ _nl_load_domain (retval->successor[cnt], domainbinding);
+
+ if (retval->successor[cnt]->data != NULL)
+ break;
+@@ -146,21 +143,20 @@
+ retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
+ strlen (dirname) + 1, mask, language, territory,
+ codeset, normalized_codeset, modifier, special,
+- sponsor, revision, domainname, domainbinding,
+- 1);
++ sponsor, revision, domainname, 1);
+ if (retval == NULL)
+ /* This means we are out of core. */
+ return NULL;
+
+ if (retval->decided == 0)
+- _nl_load_domain (retval);
++ _nl_load_domain (retval, domainbinding);
+ if (retval->data == NULL)
+ {
+ int cnt;
+ for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
+ {
+ if (retval->successor[cnt]->decided == 0)
+- _nl_load_domain (retval->successor[cnt]);
++ _nl_load_domain (retval->successor[cnt], domainbinding);
+ if (retval->successor[cnt]->data != NULL)
+ break;
+ }
+@@ -179,8 +175,7 @@
+
+
+ #ifdef _LIBC
+-static void __attribute__ ((unused))
+-free_mem (void)
++libc_freeres_fn (free_mem)
+ {
+ struct loaded_l10nfile *runp = _nl_loaded_domains;
+
+@@ -194,6 +189,4 @@
+ free (here);
+ }
+ }
+-
+-text_set_element (__libc_subfreeres, free_mem);
+ #endif
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/gettext.c psmisc-20.2.works.clean/intl/gettext.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/gettext.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/gettext.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Implementation of gettext(3) function.
+- Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995, 1997, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -41,18 +42,17 @@
+ prefix. So we have to make a difference here. */
+ #ifdef _LIBC
+ # define GETTEXT __gettext
+-# define DCGETTEXT __dcgettext
++# define DCGETTEXT INTUSE(__dcgettext)
+ #else
+-# define GETTEXT gettext__
+-# define DCGETTEXT dcgettext__
++# define GETTEXT libintl_gettext
++# define DCGETTEXT libintl_dcgettext
+ #endif
+
+ /* Look up MSGID in the current default message catalog for the current
+ LC_MESSAGES locale. If not found, returns MSGID itself (the default
+ text). */
+ char *
+-GETTEXT (msgid)
+- const char *msgid;
++GETTEXT (const char *msgid)
+ {
+ return DCGETTEXT (NULL, msgid, LC_MESSAGES);
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/gettext.h psmisc-20.2.works.clean/intl/gettext.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/gettext.h 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/gettext.h 2004-10-13 15:19:00.000000000 -0500
+@@ -1,101 +1,69 @@
+-/* Description of GNU message catalog format: general file layout.
+- Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
++/* Convenience header for conditional use of GNU <libintl.h>.
++ Copyright (C) 1995-1998, 2000-2002 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+-
+-#ifndef _GETTEXT_H
+-#define _GETTEXT_H 1
+-
+-#if HAVE_LIMITS_H || _LIBC
+-# include <limits.h>
+-#endif
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+-/* @@ end of prolog @@ */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+-/* The magic number of the GNU message catalog format. */
+-#define _MAGIC 0x950412de
+-#define _MAGIC_SWAPPED 0xde120495
++#ifndef _LIBGETTEXT_H
++#define _LIBGETTEXT_H 1
+
+-/* Revision number of the currently used .mo (binary) file format. */
+-#define MO_REVISION_NUMBER 0
++/* NLS can be disabled through the configure --disable-nls option. */
++#if ENABLE_NLS
+
+-/* The following contortions are an attempt to use the C preprocessor
+- to determine an unsigned integral type that is 32 bits wide. An
+- alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
+- as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work
+- when cross-compiling. */
++/* Get declarations of GNU message catalog functions. */
++# include <libintl.h>
+
+-#if __STDC__
+-# define UINT_MAX_32_BITS 4294967295U
+ #else
+-# define UINT_MAX_32_BITS 0xFFFFFFFF
+-#endif
+-
+-/* If UINT_MAX isn't defined, assume it's a 32-bit type.
+- This should be valid for all systems GNU cares about because
+- that doesn't include 16-bit systems, and only modern systems
+- (that certainly have <limits.h>) have 64+-bit integral types. */
+
+-#ifndef UINT_MAX
+-# define UINT_MAX UINT_MAX_32_BITS
+-#endif
+-
+-#if UINT_MAX == UINT_MAX_32_BITS
+-typedef unsigned nls_uint32;
+-#else
+-# if USHRT_MAX == UINT_MAX_32_BITS
+-typedef unsigned short nls_uint32;
+-# else
+-# if ULONG_MAX == UINT_MAX_32_BITS
+-typedef unsigned long nls_uint32;
+-# else
+- /* The following line is intended to throw an error. Using #error is
+- not portable enough. */
+- "Cannot determine unsigned 32-bit data type."
+-# endif
+-# endif
++/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
++ chokes if dcgettext is defined as a macro. So include it now, to make
++ later inclusions of <locale.h> a NOP. We don't include <libintl.h>
++ as well because people using "gettext.h" will not include <libintl.h>,
++ and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
++ is OK. */
++#if defined(__sun)
++# include <locale.h>
+ #endif
+
++/* Disabled NLS.
++ The casts to 'const char *' serve the purpose of producing warnings
++ for invalid uses of the value returned from these functions.
++ On pre-ANSI systems without 'const', the config.h file is supposed to
++ contain "#define const". */
++# define gettext(Msgid) ((const char *) (Msgid))
++# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
++# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
++# define ngettext(Msgid1, Msgid2, N) \
++ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
++# define dngettext(Domainname, Msgid1, Msgid2, N) \
++ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
++# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
++ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
++# define textdomain(Domainname) ((const char *) (Domainname))
++# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
++# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
+
+-/* Header for binary .mo file format. */
+-struct mo_file_header
+-{
+- /* The magic number. */
+- nls_uint32 magic;
+- /* The revision number of the file format. */
+- nls_uint32 revision;
+- /* The number of strings pairs. */
+- nls_uint32 nstrings;
+- /* Offset of table with start offsets of original strings. */
+- nls_uint32 orig_tab_offset;
+- /* Offset of table with start offsets of translation strings. */
+- nls_uint32 trans_tab_offset;
+- /* Size of hashing table. */
+- nls_uint32 hash_tab_size;
+- /* Offset of first hashing entry. */
+- nls_uint32 hash_tab_offset;
+-};
+-
+-struct string_desc
+-{
+- /* Length of addressed string. */
+- nls_uint32 length;
+- /* Offset of string in file. */
+- nls_uint32 offset;
+-};
++#endif
+
+-/* @@ begin of epilog @@ */
++/* A pseudo function call that serves as a marker for the automated
++ extraction of messages, but does not call gettext(). The run-time
++ translation is done at a different place in the code.
++ The argument, String, should be a literal string. Concatenated strings
++ and other string expressions won't work.
++ The macro's expansion is not parenthesized, so that it is suitable as
++ initializer for static 'char[]' or 'const char[]' variables. */
++#define gettext_noop(String) String
+
+-#endif /* gettext.h */
++#endif /* _LIBGETTEXT_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/gettextP.h psmisc-20.2.works.clean/intl/gettextP.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/gettextP.h 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/gettextP.h 2004-10-13 15:18:41.000000000 -0500
+@@ -1,20 +1,21 @@
+ /* Header describing internals of libintl library.
+- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
+ Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifndef _GETTEXTP_H
+ #define _GETTEXTP_H
+@@ -31,22 +32,18 @@
+
+ #include "loadinfo.h"
+
+-#include "gettext.h" /* Get nls_uint32. */
++#include "gmo.h" /* Get nls_uint32. */
+
+ /* @@ end of prolog @@ */
+
+-#ifndef PARAMS
+-# if __STDC__
+-# define PARAMS(args) args
+-# else
+-# define PARAMS(args) ()
+-# endif
+-#endif
+-
+ #ifndef internal_function
+ # define internal_function
+ #endif
+
++#ifndef attribute_hidden
++# define attribute_hidden
++#endif
++
+ /* Tell the compiler when a conditional or integer expression is
+ almost always true or almost always false. */
+ #ifndef HAVE_BUILTIN_EXPECT
+@@ -71,63 +68,51 @@
+ #endif
+
+
+-/* This is the representation of the expressions to determine the
+- plural form. */
+-struct expression
+-{
+- int nargs; /* Number of arguments. */
+- enum operator
+- {
+- /* Without arguments: */
+- var, /* The variable "n". */
+- num, /* Decimal number. */
+- /* Unary operators: */
+- lnot, /* Logical NOT. */
+- /* Binary operators: */
+- mult, /* Multiplication. */
+- divide, /* Division. */
+- module, /* Module operation. */
+- plus, /* Addition. */
+- minus, /* Subtraction. */
+- less_than, /* Comparison. */
+- greater_than, /* Comparison. */
+- less_or_equal, /* Comparison. */
+- greater_or_equal, /* Comparison. */
+- equal, /* Comparision for equality. */
+- not_equal, /* Comparision for inequality. */
+- land, /* Logical AND. */
+- lor, /* Logical OR. */
+- /* Ternary operators: */
+- qmop /* Question mark operator. */
+- } operation;
+- union
+- {
+- unsigned long int num; /* Number value for `num'. */
+- struct expression *args[3]; /* Up to three arguments. */
+- } val;
+-};
+-
+-/* This is the data structure to pass information to the parser and get
+- the result in a thread-safe way. */
+-struct parse_args
++/* In-memory representation of system dependent string. */
++struct sysdep_string_desc
+ {
+- const char *cp;
+- struct expression *res;
++ /* Length of addressed string, including the trailing NUL. */
++ size_t length;
++ /* Pointer to addressed string. */
++ const char *pointer;
+ };
+
+-
+ /* The representation of an opened message catalog. */
+ struct loaded_domain
+ {
++ /* Pointer to memory containing the .mo file. */
+ const char *data;
++ /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */
+ int use_mmap;
++ /* Size of mmap()ed memory. */
+ size_t mmap_size;
++ /* 1 if the .mo file uses a different endianness than this machine. */
+ int must_swap;
++ /* Pointer to additional malloc()ed memory. */
++ void *malloced;
++
++ /* Number of static strings pairs. */
+ nls_uint32 nstrings;
+- struct string_desc *orig_tab;
+- struct string_desc *trans_tab;
++ /* Pointer to descriptors of original strings in the file. */
++ const struct string_desc *orig_tab;
++ /* Pointer to descriptors of translated strings in the file. */
++ const struct string_desc *trans_tab;
++
++ /* Number of system dependent strings pairs. */
++ nls_uint32 n_sysdep_strings;
++ /* Pointer to descriptors of original sysdep strings. */
++ const struct sysdep_string_desc *orig_sysdep_tab;
++ /* Pointer to descriptors of translated sysdep strings. */
++ const struct sysdep_string_desc *trans_sysdep_tab;
++
++ /* Size of hash table. */
+ nls_uint32 hash_size;
+- nls_uint32 *hash_tab;
++ /* Pointer to hash table. */
++ const nls_uint32 *hash_tab;
++ /* 1 if the hash table uses a different endianness than this machine. */
++ int must_swap_hash_tab;
++
++ int codeset_cntr;
+ #ifdef _LIBC
+ __gconv_t conv;
+ #else
+@@ -155,6 +140,7 @@
+ {
+ struct binding *next;
+ char *dirname;
++ int codeset_cntr; /* Incremented each time codeset changes. */
+ char *codeset;
+ char domainname[ZERO];
+ };
+@@ -164,72 +150,64 @@
+ This variable is part of the external ABI of the GNU libintl. */
+ extern int _nl_msg_cat_cntr;
+
+-struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
+- char *__locale,
+- const char *__domainname,
+- struct binding *__domainbinding))
++#ifndef _LIBC
++const char *_nl_locale_name (int category, const char *categoryname);
++#endif
++
++struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale,
++ const char *__domainname,
++ struct binding *__domainbinding)
+ internal_function;
+-void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain))
++void _nl_load_domain (struct loaded_l10nfile *__domain,
++ struct binding *__domainbinding)
+ internal_function;
+-void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
++void _nl_unload_domain (struct loaded_domain *__domain)
++ internal_function;
++const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file,
++ struct loaded_domain *__domain,
++ struct binding *__domainbinding)
++ internal_function;
++void _nl_free_domain_conv (struct loaded_domain *__domain)
+ internal_function;
+
+-#ifdef _LIBC
+-extern char *__gettext PARAMS ((const char *__msgid));
+-extern char *__dgettext PARAMS ((const char *__domainname,
+- const char *__msgid));
+-extern char *__dcgettext PARAMS ((const char *__domainname,
+- const char *__msgid, int __category));
+-extern char *__ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
+- unsigned long int __n));
+-extern char *__dngettext PARAMS ((const char *__domainname,
+- const char *__msgid1, const char *__msgid2,
+- unsigned long int n));
+-extern char *__dcngettext PARAMS ((const char *__domainname,
+- const char *__msgid1, const char *__msgid2,
+- unsigned long int __n, int __category));
+-extern char *__dcigettext PARAMS ((const char *__domainname,
+- const char *__msgid1, const char *__msgid2,
+- int __plural, unsigned long int __n,
+- int __category));
+-extern char *__textdomain PARAMS ((const char *__domainname));
+-extern char *__bindtextdomain PARAMS ((const char *__domainname,
+- const char *__dirname));
+-extern char *__bind_textdomain_codeset PARAMS ((const char *__domainname,
+- const char *__codeset));
+-#else
+-extern char *gettext__ PARAMS ((const char *__msgid));
+-extern char *dgettext__ PARAMS ((const char *__domainname,
+- const char *__msgid));
+-extern char *dcgettext__ PARAMS ((const char *__domainname,
+- const char *__msgid, int __category));
+-extern char *ngettext__ PARAMS ((const char *__msgid1, const char *__msgid2,
+- unsigned long int __n));
+-extern char *dngettext__ PARAMS ((const char *__domainname,
+- const char *__msgid1, const char *__msgid2,
+- unsigned long int __n));
+-extern char *dcngettext__ PARAMS ((const char *__domainname,
+- const char *__msgid1, const char *__msgid2,
+- unsigned long int __n, int __category));
+-extern char *dcigettext__ PARAMS ((const char *__domainname,
+- const char *__msgid1, const char *__msgid2,
+- int __plural, unsigned long int __n,
+- int __category));
+-extern char *textdomain__ PARAMS ((const char *__domainname));
+-extern char *bindtextdomain__ PARAMS ((const char *__domainname,
+- const char *__dirname));
+-extern char *bind_textdomain_codeset__ PARAMS ((const char *__domainname,
+- const char *__codeset));
+-#endif
++char *_nl_find_msg (struct loaded_l10nfile *domain_file,
++ struct binding *domainbinding, const char *msgid,
++ size_t *lengthp)
++ internal_function;
+
+ #ifdef _LIBC
+-extern void __gettext_free_exp PARAMS ((struct expression *exp))
+- internal_function;
+-extern int __gettextparse PARAMS ((void *arg));
++extern char *__gettext (const char *__msgid);
++extern char *__dgettext (const char *__domainname, const char *__msgid);
++extern char *__dcgettext (const char *__domainname, const char *__msgid,
++ int __category);
++extern char *__ngettext (const char *__msgid1, const char *__msgid2,
++ unsigned long int __n);
++extern char *__dngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int n);
++extern char *__dcngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n, int __category);
++extern char *__dcigettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ int __plural, unsigned long int __n,
++ int __category);
++extern char *__textdomain (const char *__domainname);
++extern char *__bindtextdomain (const char *__domainname,
++ const char *__dirname);
++extern char *__bind_textdomain_codeset (const char *__domainname,
++ const char *__codeset);
+ #else
+-extern void gettext_free_exp__ PARAMS ((struct expression *exp))
+- internal_function;
+-extern int gettextparse__ PARAMS ((void *arg));
++/* Declare the exported libintl_* functions, in a way that allows us to
++ call them under their real name. */
++# undef _INTL_REDIRECT_INLINE
++# undef _INTL_REDIRECT_MACROS
++# define _INTL_REDIRECT_MACROS
++# include "libgnuintl.h"
++extern char *libintl_dcigettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ int __plural, unsigned long int __n,
++ int __category);
+ #endif
+
+ /* @@ begin of epilog @@ */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/gmo.h psmisc-20.2.works.clean/intl/gmo.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/gmo.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/gmo.h 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,149 @@
++/* Description of GNU message catalog format: general file layout.
++ Copyright (C) 1995, 1997, 2000-2002, 2004 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _GETTEXT_H
++#define _GETTEXT_H 1
++
++#include <limits.h>
++
++/* @@ end of prolog @@ */
++
++/* The magic number of the GNU message catalog format. */
++#define _MAGIC 0x950412de
++#define _MAGIC_SWAPPED 0xde120495
++
++/* Revision number of the currently used .mo (binary) file format. */
++#define MO_REVISION_NUMBER 0
++#define MO_REVISION_NUMBER_WITH_SYSDEP_I 1
++
++/* The following contortions are an attempt to use the C preprocessor
++ to determine an unsigned integral type that is 32 bits wide. An
++ alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
++ as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work
++ when cross-compiling. */
++
++#if __STDC__
++# define UINT_MAX_32_BITS 4294967295U
++#else
++# define UINT_MAX_32_BITS 0xFFFFFFFF
++#endif
++
++/* If UINT_MAX isn't defined, assume it's a 32-bit type.
++ This should be valid for all systems GNU cares about because
++ that doesn't include 16-bit systems, and only modern systems
++ (that certainly have <limits.h>) have 64+-bit integral types. */
++
++#ifndef UINT_MAX
++# define UINT_MAX UINT_MAX_32_BITS
++#endif
++
++#if UINT_MAX == UINT_MAX_32_BITS
++typedef unsigned nls_uint32;
++#else
++# if USHRT_MAX == UINT_MAX_32_BITS
++typedef unsigned short nls_uint32;
++# else
++# if ULONG_MAX == UINT_MAX_32_BITS
++typedef unsigned long nls_uint32;
++# else
++ /* The following line is intended to throw an error. Using #error is
++ not portable enough. */
++ "Cannot determine unsigned 32-bit data type."
++# endif
++# endif
++#endif
++
++
++/* Header for binary .mo file format. */
++struct mo_file_header
++{
++ /* The magic number. */
++ nls_uint32 magic;
++ /* The revision number of the file format. */
++ nls_uint32 revision;
++
++ /* The following are only used in .mo files with major revision 0 or 1. */
++
++ /* The number of strings pairs. */
++ nls_uint32 nstrings;
++ /* Offset of table with start offsets of original strings. */
++ nls_uint32 orig_tab_offset;
++ /* Offset of table with start offsets of translated strings. */
++ nls_uint32 trans_tab_offset;
++ /* Size of hash table. */
++ nls_uint32 hash_tab_size;
++ /* Offset of first hash table entry. */
++ nls_uint32 hash_tab_offset;
++
++ /* The following are only used in .mo files with minor revision >= 1. */
++
++ /* The number of system dependent segments. */
++ nls_uint32 n_sysdep_segments;
++ /* Offset of table describing system dependent segments. */
++ nls_uint32 sysdep_segments_offset;
++ /* The number of system dependent strings pairs. */
++ nls_uint32 n_sysdep_strings;
++ /* Offset of table with start offsets of original sysdep strings. */
++ nls_uint32 orig_sysdep_tab_offset;
++ /* Offset of table with start offsets of translated sysdep strings. */
++ nls_uint32 trans_sysdep_tab_offset;
++};
++
++/* Descriptor for static string contained in the binary .mo file. */
++struct string_desc
++{
++ /* Length of addressed string, not including the trailing NUL. */
++ nls_uint32 length;
++ /* Offset of string in file. */
++ nls_uint32 offset;
++};
++
++/* The following are only used in .mo files with minor revision >= 1. */
++
++/* Descriptor for system dependent string segment. */
++struct sysdep_segment
++{
++ /* Length of addressed string, including the trailing NUL. */
++ nls_uint32 length;
++ /* Offset of string in file. */
++ nls_uint32 offset;
++};
++
++/* Descriptor for system dependent string. */
++struct sysdep_string
++{
++ /* Offset of static string segments in file. */
++ nls_uint32 offset;
++ /* Alternating sequence of static and system dependent segments.
++ The last segment is a static segment, including the trailing NUL. */
++ struct segment_pair
++ {
++ /* Size of static segment. */
++ nls_uint32 segsize;
++ /* Reference to system dependent string segment, or ~0 at the end. */
++ nls_uint32 sysdepref;
++ } segments[1];
++};
++
++/* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF,
++ regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */
++#define SEGMENTS_END ((nls_uint32) ~0)
++
++/* @@ begin of epilog @@ */
++
++#endif /* gettext.h */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/hash-string.h psmisc-20.2.works.clean/intl/hash-string.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/hash-string.h 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/hash-string.h 2004-10-13 15:18:41.000000000 -0500
+@@ -1,30 +1,23 @@
+ /* Description of GNU message catalog format: string hashing function.
+- Copyright (C) 1995, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995, 1997-1998, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ /* @@ end of prolog @@ */
+
+-#ifndef PARAMS
+-# if __STDC__
+-# define PARAMS(Args) Args
+-# else
+-# define PARAMS(Args) ()
+-# endif
+-#endif
+-
+ /* We assume to have `unsigned long int' value with at least 32 bits. */
+ #define HASHWORDBITS 32
+
+@@ -32,11 +25,8 @@
+ /* Defines the so called `hashpjw' function by P.J. Weinberger
+ [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
+ 1986, 1987 Bell Telephone Laboratories, Inc.] */
+-static unsigned long int hash_string PARAMS ((const char *__str_param));
+-
+ static inline unsigned long int
+-hash_string (str_param)
+- const char *str_param;
++hash_string (const char *str_param)
+ {
+ unsigned long int hval, g;
+ const char *str = str_param;
+@@ -46,7 +36,7 @@
+ while (*str != '\0')
+ {
+ hval <<= 4;
+- hval += (unsigned long int) *str++;
++ hval += (unsigned char) *str++;
+ g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
+ if (g != 0)
+ {
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/intl-compat.c psmisc-20.2.works.clean/intl/intl-compat.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/intl-compat.c 2001-04-13 23:00:43.000000000 -0500
++++ psmisc-20.2.works.clean/intl/intl-compat.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,71 +1,38 @@
+ /* intl-compat.c - Stub functions to call gettext functions from GNU gettext
+ Library.
+- Copyright (C) 1995, 2000, 2001 Software Foundation, Inc.
++ Copyright (C) 1995, 2000-2003 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 2, or (at your option)
+-any later version.
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ 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
++ Library General Public License for more details.
+
+-You should have received a copy of the GNU General Public License
+-along with this program; if not, write to the Free Software
+-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
+-#include "libgnuintl.h"
+ #include "gettextP.h"
+
+ /* @@ end of prolog @@ */
+
+-/* This file redirects the gettext functions (without prefix or suffix) to
+- those defined in the included GNU gettext library (with "__" suffix).
+- It is compiled into libintl when the included GNU gettext library is
+- configured --with-included-gettext.
+-
+- This redirection works also in the case that the system C library or
+- the system libintl library contain gettext/textdomain/... functions.
+- If it didn't, we would need to add preprocessor level redirections to
+- libgnuintl.h of the following form:
+-
+-# define gettext gettext__
+-# define dgettext dgettext__
+-# define dcgettext dcgettext__
+-# define ngettext ngettext__
+-# define dngettext dngettext__
+-# define dcngettext dcngettext__
+-# define textdomain textdomain__
+-# define bindtextdomain bindtextdomain__
+-# define bind_textdomain_codeset bind_textdomain_codeset__
+-
+- How does this redirection work? There are two cases.
+- A. When libintl.a is linked into an executable, it works because
+- functions defined in the executable always override functions in
+- the shared libraries.
+- B. When libintl.so is used, it works because
+- 1. those systems defining gettext/textdomain/... in the C library
+- (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer) are
+- ELF systems and define these symbols as weak, thus explicitly
+- letting other shared libraries override it.
+- 2. those systems defining gettext/textdomain/... in a standalone
+- libintl.so library (namely, Solaris 2.3 and newer) have this
+- shared library in /usr/lib, and the linker will search /usr/lib
+- *after* the directory where the GNU gettext library is installed.
+-
+- A third case, namely when libintl.a is linked into a shared library
+- whose name is not libintl.so, is not supported. In this case, on
+- Solaris, when -lintl precedes the linker option for the shared library
+- containing GNU gettext, the system's gettext would indeed override
+- the GNU gettext. Anyone doing this kind of stuff must be clever enough
+- to 1. compile libintl.a with -fPIC, 2. remove -lintl from his linker
+- command line. */
++/* This file redirects the gettext functions (without prefix) to those
++ defined in the included GNU libintl library (with "libintl_" prefix).
++ It is compiled into libintl in order to make the AM_GNU_GETTEXT test
++ of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which
++ has the redirections primarily in the <libintl.h> include file.
++ It is also compiled into libgnuintl so that libgnuintl.so can be used
++ as LD_PRELOADable library on glibc systems, to provide the extra
++ features that the functions in the libc don't have (namely, logging). */
+
+
+ #undef gettext
+@@ -79,87 +46,86 @@
+ #undef bind_textdomain_codeset
+
+
++/* When building a DLL, we must export some functions. Note that because
++ the functions are only defined for binary backward compatibility, we
++ don't need to use __declspec(dllimport) in any case. */
++#if defined _MSC_VER && BUILDING_DLL
++# define DLL_EXPORTED __declspec(dllexport)
++#else
++# define DLL_EXPORTED
++#endif
++
++
++DLL_EXPORTED
+ char *
+-gettext (msgid)
+- const char *msgid;
++gettext (const char *msgid)
+ {
+- return gettext__ (msgid);
++ return libintl_gettext (msgid);
+ }
+
+
++DLL_EXPORTED
+ char *
+-dgettext (domainname, msgid)
+- const char *domainname;
+- const char *msgid;
++dgettext (const char *domainname, const char *msgid)
+ {
+- return dgettext__ (domainname, msgid);
++ return libintl_dgettext (domainname, msgid);
+ }
+
+
++DLL_EXPORTED
+ char *
+-dcgettext (domainname, msgid, category)
+- const char *domainname;
+- const char *msgid;
+- int category;
++dcgettext (const char *domainname, const char *msgid, int category)
+ {
+- return dcgettext__ (domainname, msgid, category);
++ return libintl_dcgettext (domainname, msgid, category);
+ }
+
+
++DLL_EXPORTED
+ char *
+-ngettext (msgid1, msgid2, n)
+- const char *msgid1;
+- const char *msgid2;
+- unsigned long int n;
++ngettext (const char *msgid1, const char *msgid2, unsigned long int n)
+ {
+- return ngettext__ (msgid1, msgid2, n);
++ return libintl_ngettext (msgid1, msgid2, n);
+ }
+
+
++DLL_EXPORTED
+ char *
+-dngettext (domainname, msgid1, msgid2, n)
+- const char *domainname;
+- const char *msgid1;
+- const char *msgid2;
+- unsigned long int n;
++dngettext (const char *domainname,
++ const char *msgid1, const char *msgid2, unsigned long int n)
+ {
+- return dngettext__ (domainname, msgid1, msgid2, n);
++ return libintl_dngettext (domainname, msgid1, msgid2, n);
+ }
+
+
++DLL_EXPORTED
+ char *
+-dcngettext (domainname, msgid1, msgid2, n, category)
+- const char *domainname;
+- const char *msgid1;
+- const char *msgid2;
+- unsigned long int n;
+- int category;
++dcngettext (const char *domainname,
++ const char *msgid1, const char *msgid2, unsigned long int n,
++ int category)
+ {
+- return dcngettext__ (domainname, msgid1, msgid2, n, category);
++ return libintl_dcngettext (domainname, msgid1, msgid2, n, category);
+ }
+
+
++DLL_EXPORTED
+ char *
+-textdomain (domainname)
+- const char *domainname;
++textdomain (const char *domainname)
+ {
+- return textdomain__ (domainname);
++ return libintl_textdomain (domainname);
+ }
+
+
++DLL_EXPORTED
+ char *
+-bindtextdomain (domainname, dirname)
+- const char *domainname;
+- const char *dirname;
++bindtextdomain (const char *domainname, const char *dirname)
+ {
+- return bindtextdomain__ (domainname, dirname);
++ return libintl_bindtextdomain (domainname, dirname);
+ }
+
+
++DLL_EXPORTED
+ char *
+-bind_textdomain_codeset (domainname, codeset)
+- const char *domainname;
+- const char *codeset;
++bind_textdomain_codeset (const char *domainname, const char *codeset)
+ {
+- return bind_textdomain_codeset__ (domainname, codeset);
++ return libintl_bind_textdomain_codeset (domainname, codeset);
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/l10nflist.c psmisc-20.2.works.clean/intl/l10nflist.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/l10nflist.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/l10nflist.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+-/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
++/* Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
+ Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ /* Tell glibc's <string.h> to provide a prototype for stpcpy().
+ This must come before <config.h> because <config.h> may include
+@@ -27,11 +28,6 @@
+ #endif
+
+ #include <string.h>
+-#if !HAVE_STRCHR && !defined _LIBC
+-# ifndef strchr
+-# define strchr index
+-# endif
+-#endif
+
+ #if defined _LIBC || defined HAVE_ARGZ_H
+ # include <argz.h>
+@@ -62,20 +58,34 @@
+ # endif
+ #else
+ # ifndef HAVE_STPCPY
+-static char *stpcpy PARAMS ((char *dest, const char *src));
++static char *stpcpy (char *dest, const char *src);
+ # endif
+ #endif
+
++/* Pathname support.
++ ISSLASH(C) tests whether C is a directory separator character.
++ IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,
++ it may be concatenated to a directory pathname.
++ */
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++# define HAS_DEVICE(P) \
++ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
++ && (P)[1] == ':')
++# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))
++#else
++ /* Unix */
++# define ISSLASH(C) ((C) == '/')
++# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
++#endif
++
+ /* Define function which are usually not available. */
+
+ #if !defined _LIBC && !defined HAVE___ARGZ_COUNT
+ /* Returns the number of strings in ARGZ. */
+-static size_t argz_count__ PARAMS ((const char *argz, size_t len));
+-
+ static size_t
+-argz_count__ (argz, len)
+- const char *argz;
+- size_t len;
++argz_count__ (const char *argz, size_t len)
+ {
+ size_t count = 0;
+ while (len > 0)
+@@ -89,18 +99,17 @@
+ }
+ # undef __argz_count
+ # define __argz_count(argz, len) argz_count__ (argz, len)
++#else
++# ifdef _LIBC
++# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)
++# endif
+ #endif /* !_LIBC && !HAVE___ARGZ_COUNT */
+
+ #if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
+ /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
+ except the last into the character SEP. */
+-static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));
+-
+ static void
+-argz_stringify__ (argz, len, sep)
+- char *argz;
+- size_t len;
+- int sep;
++argz_stringify__ (char *argz, size_t len, int sep)
+ {
+ while (len > 0)
+ {
+@@ -113,17 +122,16 @@
+ }
+ # undef __argz_stringify
+ # define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
++#else
++# ifdef _LIBC
++# define __argz_stringify(argz, len, sep) \
++ INTUSE(__argz_stringify) (argz, len, sep)
++# endif
+ #endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */
+
+ #if !defined _LIBC && !defined HAVE___ARGZ_NEXT
+-static char *argz_next__ PARAMS ((char *argz, size_t argz_len,
+- const char *entry));
+-
+ static char *
+-argz_next__ (argz, argz_len, entry)
+- char *argz;
+- size_t argz_len;
+- const char *entry;
++argz_next__ (char *argz, size_t argz_len, const char *entry)
+ {
+ if (entry)
+ {
+@@ -144,11 +152,8 @@
+
+
+ /* Return number of bits set in X. */
+-static int pop PARAMS ((int x));
+-
+ static inline int
+-pop (x)
+- int x;
++pop (int x)
+ {
+ /* We assume that no more than 16 bits are used. */
+ x = ((x & ~0x5555) >> 1) + (x & 0x5555);
+@@ -161,32 +166,27 @@
+
+
+ struct loaded_l10nfile *
+-_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
+- territory, codeset, normalized_codeset, modifier, special,
+- sponsor, revision, filename, domainbinding, do_allocate)
+- struct loaded_l10nfile **l10nfile_list;
+- const char *dirlist;
+- size_t dirlist_len;
+- int mask;
+- const char *language;
+- const char *territory;
+- const char *codeset;
+- const char *normalized_codeset;
+- const char *modifier;
+- const char *special;
+- const char *sponsor;
+- const char *revision;
+- const char *filename;
+- struct binding *domainbinding;
+- int do_allocate;
++_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
++ const char *dirlist, size_t dirlist_len,
++ int mask, const char *language, const char *territory,
++ const char *codeset, const char *normalized_codeset,
++ const char *modifier, const char *special,
++ const char *sponsor, const char *revision,
++ const char *filename, int do_allocate)
+ {
+ char *abs_filename;
+- struct loaded_l10nfile *last = NULL;
++ struct loaded_l10nfile **lastp;
+ struct loaded_l10nfile *retval;
+ char *cp;
++ size_t dirlist_count;
+ size_t entries;
+ int cnt;
+
++ /* If LANGUAGE contains an absolute directory specification, we ignore
++ DIRLIST. */
++ if (IS_ABSOLUTE_PATH (language))
++ dirlist_len = 0;
++
+ /* Allocate room for the full file name. */
+ abs_filename = (char *) malloc (dirlist_len
+ + strlen (language)
+@@ -204,7 +204,7 @@
+ + (((mask & CEN_SPONSOR) != 0
+ || (mask & CEN_REVISION) != 0)
+ ? (1 + ((mask & CEN_SPONSOR) != 0
+- ? strlen (sponsor) + 1 : 0)
++ ? strlen (sponsor) : 0)
+ + ((mask & CEN_REVISION) != 0
+ ? strlen (revision) + 1 : 0)) : 0)
+ + 1 + strlen (filename) + 1);
+@@ -212,14 +212,16 @@
+ if (abs_filename == NULL)
+ return NULL;
+
+- retval = NULL;
+- last = NULL;
+-
+ /* Construct file name. */
+- memcpy (abs_filename, dirlist, dirlist_len);
+- __argz_stringify (abs_filename, dirlist_len, PATH_SEPARATOR);
+- cp = abs_filename + (dirlist_len - 1);
+- *cp++ = '/';
++ cp = abs_filename;
++ if (dirlist_len > 0)
++ {
++ memcpy (cp, dirlist, dirlist_len);
++ __argz_stringify (cp, dirlist_len, PATH_SEPARATOR);
++ cp += dirlist_len;
++ cp[-1] = '/';
++ }
++
+ cp = stpcpy (cp, language);
+
+ if ((mask & TERRITORY) != 0)
+@@ -266,7 +268,7 @@
+
+ /* Look in list of already loaded domains whether it is already
+ available. */
+- last = NULL;
++ lastp = l10nfile_list;
+ for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
+ if (retval->filename != NULL)
+ {
+@@ -281,7 +283,7 @@
+ break;
+ }
+
+- last = retval;
++ lastp = &retval->next;
+ }
+
+ if (retval != NULL || do_allocate == 0)
+@@ -290,52 +292,68 @@
+ return retval;
+ }
+
+- retval = (struct loaded_l10nfile *)
+- malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
+- * (1 << pop (mask))
+- * sizeof (struct loaded_l10nfile *)));
++ dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1);
++
++ /* Allocate a new loaded_l10nfile. */
++ retval =
++ (struct loaded_l10nfile *)
++ malloc (sizeof (*retval)
++ + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0))
++ * sizeof (struct loaded_l10nfile *)));
+ if (retval == NULL)
+ return NULL;
+
+ retval->filename = abs_filename;
+- retval->domainbinding = domainbinding;
+- retval->decided = (__argz_count (dirlist, dirlist_len) != 1
++
++ /* We set retval->data to NULL here; it is filled in later.
++ Setting retval->decided to 1 here means that retval does not
++ correspond to a real file (dirlist_count > 1) or is not worth
++ looking up (if an unnormalized codeset was specified). */
++ retval->decided = (dirlist_count > 1
+ || ((mask & XPG_CODESET) != 0
+ && (mask & XPG_NORM_CODESET) != 0));
+ retval->data = NULL;
+
+- if (last == NULL)
+- {
+- retval->next = *l10nfile_list;
+- *l10nfile_list = retval;
+- }
+- else
+- {
+- retval->next = last->next;
+- last->next = retval;
+- }
++ retval->next = *lastp;
++ *lastp = retval;
+
+ entries = 0;
+- /* If the DIRLIST is a real list the RETVAL entry corresponds not to
+- a real file. So we have to use the DIRLIST separation mechanism
+- of the inner loop. */
+- cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
+- for (; cnt >= 0; --cnt)
++ /* Recurse to fill the inheritance list of RETVAL.
++ If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL
++ entry does not correspond to a real file; retval->filename contains
++ colons. In this case we loop across all elements of DIRLIST and
++ across all bit patterns dominated by MASK.
++ If the DIRLIST is a single directory or entirely redundant (i.e.
++ DIRLIST_COUNT == 1), we loop across all bit patterns dominated by
++ MASK, excluding MASK itself.
++ In either case, we loop down from MASK to 0. This has the effect
++ that the extra bits in the locale name are dropped in this order:
++ first the modifier, then the territory, then the codeset, then the
++ normalized_codeset. */
++ for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt)
+ if ((cnt & ~mask) == 0
+ && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
+ && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
+ {
+- /* Iterate over all elements of the DIRLIST. */
+- char *dir = NULL;
++ if (dirlist_count > 1)
++ {
++ /* Iterate over all elements of the DIRLIST. */
++ char *dir = NULL;
+
+- while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
+- != NULL)
++ while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
++ != NULL)
++ retval->successor[entries++]
++ = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1,
++ cnt, language, territory, codeset,
++ normalized_codeset, modifier, special,
++ sponsor, revision, filename, 1);
++ }
++ else
+ retval->successor[entries++]
+- = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,
+- language, territory, codeset,
++ = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len,
++ cnt, language, territory, codeset,
+ normalized_codeset, modifier, special,
+- sponsor, revision, filename, domainbinding,
+- 1);
++ sponsor, revision, filename, 1);
+ }
+ retval->successor[entries] = NULL;
+
+@@ -347,9 +365,7 @@
+ names. The return value is dynamically allocated and has to be
+ freed by the caller. */
+ const char *
+-_nl_normalize_codeset (codeset, name_len)
+- const char *codeset;
+- size_t name_len;
++_nl_normalize_codeset (const char *codeset, size_t name_len)
+ {
+ int len = 0;
+ int only_digit = 1;
+@@ -358,11 +374,11 @@
+ size_t cnt;
+
+ for (cnt = 0; cnt < name_len; ++cnt)
+- if (isalnum (codeset[cnt]))
++ if (isalnum ((unsigned char) codeset[cnt]))
+ {
+ ++len;
+
+- if (isalpha (codeset[cnt]))
++ if (isalpha ((unsigned char) codeset[cnt]))
+ only_digit = 0;
+ }
+
+@@ -376,9 +392,9 @@
+ wp = retval;
+
+ for (cnt = 0; cnt < name_len; ++cnt)
+- if (isalpha (codeset[cnt]))
+- *wp++ = tolower (codeset[cnt]);
+- else if (isdigit (codeset[cnt]))
++ if (isalpha ((unsigned char) codeset[cnt]))
++ *wp++ = tolower ((unsigned char) codeset[cnt]);
++ else if (isdigit ((unsigned char) codeset[cnt]))
+ *wp++ = codeset[cnt];
+
+ *wp = '\0';
+@@ -396,9 +412,7 @@
+ to be defined. */
+ #if !_LIBC && !HAVE_STPCPY
+ static char *
+-stpcpy (dest, src)
+- char *dest;
+- const char *src;
++stpcpy (char *dest, const char *src)
+ {
+ while ((*dest++ = *src++) != '\0')
+ /* Do nothing. */ ;
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/libgettext.h psmisc-20.2.works.clean/intl/libgettext.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/libgettext.h 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/libgettext.h 1969-12-31 18:00:00.000000000 -0600
+@@ -1,48 +0,0 @@
+-/* Convenience header for conditional use of GNU <libintl.h>.
+- Copyright (C) 1995-1998, 2000, 2001 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 2, or (at your option)
+- any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+-
+-#ifndef _LIBGETTEXT_H
+-#define _LIBGETTEXT_H 1
+-
+-/* NLS can be disabled through the configure --disable-nls option. */
+-#if ENABLE_NLS
+-
+-/* Get declarations of GNU message catalog functions. */
+-# include <libintl.h>
+-
+-#else
+-
+-# define gettext(Msgid) (Msgid)
+-# define dgettext(Domainname, Msgid) (Msgid)
+-# define dcgettext(Domainname, Msgid, Category) (Msgid)
+-# define ngettext(Msgid1, Msgid2, N) \
+- ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
+-# define dngettext(Domainname, Msgid1, Msgid2, N) \
+- ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
+-# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
+- ((N) == 1 ? (char *) (Msgid1) : (char *) (Msgid2))
+-# define textdomain(Domainname) ((char *) (Domainname))
+-# define bindtextdomain(Domainname, Dirname) ((char *) (Dirname))
+-# define bind_textdomain_codeset(Domainname, Codeset) ((char *) (Codeset))
+-
+-#endif
+-
+-/* For automatical extraction of messages sometimes no real
+- translation is needed. Instead the string itself is the result. */
+-#define gettext_noop(Str) (Str)
+-
+-#endif /* _LIBGETTEXT_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/libgnuintl.h psmisc-20.2.works.clean/intl/libgnuintl.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/libgnuintl.h 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/libgnuintl.h 1969-12-31 18:00:00.000000000 -0600
+@@ -1,127 +0,0 @@
+-/* Message catalogs for internationalization.
+- Copyright (C) 1995-1997, 2000, 2001 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 2, or (at your option)
+- any later version.
+-
+- This program is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- GNU General Public License for more details.
+-
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+-
+-#ifndef _LIBINTL_H
+-#define _LIBINTL_H 1
+-
+-#include <locale.h>
+-
+-/* The LC_MESSAGES locale category is the category used by the functions
+- gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.
+- On systems that don't define it, use an arbitrary value instead.
+- On Solaris, <locale.h> defines __LOCALE_H then includes <libintl.h> (i.e.
+- this file!) and then only defines LC_MESSAGES. To avoid a redefinition
+- warning, don't define LC_MESSAGES in this case. */
+-#if !defined LC_MESSAGES && !defined __LOCALE_H
+-# define LC_MESSAGES 1729
+-#endif
+-
+-/* We define an additional symbol to signal that we use the GNU
+- implementation of gettext. */
+-#define __USE_GNU_GETTEXT 1
+-
+-/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
+- precedence over _conio_gettext. */
+-#ifdef __DJGPP__
+-# undef gettext
+-# define gettext gettext
+-#endif
+-
+-#ifndef PARAMS
+-# if __STDC__ || defined __cplusplus
+-# define PARAMS(args) args
+-# else
+-# define PARAMS(args) ()
+-# endif
+-#endif
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-/* Look up MSGID in the current default message catalog for the current
+- LC_MESSAGES locale. If not found, returns MSGID itself (the default
+- text). */
+-extern char *gettext PARAMS ((const char *__msgid));
+-
+-/* Look up MSGID in the DOMAINNAME message catalog for the current
+- LC_MESSAGES locale. */
+-extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
+-
+-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
+- locale. */
+-extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
+- int __category));
+-
+-
+-/* Similar to `gettext' but select the plural form corresponding to the
+- number N. */
+-extern char *ngettext PARAMS ((const char *__msgid1, const char *__msgid2,
+- unsigned long int __n));
+-
+-/* Similar to `dgettext' but select the plural form corresponding to the
+- number N. */
+-extern char *dngettext PARAMS ((const char *__domainname, const char *__msgid1,
+- const char *__msgid2, unsigned long int __n));
+-
+-/* Similar to `dcgettext' but select the plural form corresponding to the
+- number N. */
+-extern char *dcngettext PARAMS ((const char *__domainname, const char *__msgid1,
+- const char *__msgid2, unsigned long int __n,
+- int __category));
+-
+-
+-/* Set the current default message catalog to DOMAINNAME.
+- If DOMAINNAME is null, return the current default.
+- If DOMAINNAME is "", reset to the default of "messages". */
+-extern char *textdomain PARAMS ((const char *__domainname));
+-
+-/* Specify that the DOMAINNAME message catalog will be found
+- in DIRNAME rather than in the system locale data base. */
+-extern char *bindtextdomain PARAMS ((const char *__domainname,
+- const char *__dirname));
+-
+-/* Specify the character encoding in which the messages from the
+- DOMAINNAME message catalog will be returned. */
+-extern char *bind_textdomain_codeset PARAMS ((const char *__domainname,
+- const char *__codeset));
+-
+-
+-/* Optimized version of the functions above. */
+-#if defined __OPTIMIZED
+-/* These are macros, but could also be inline functions. */
+-
+-# define gettext(msgid) \
+- dgettext (NULL, msgid)
+-
+-# define dgettext(domainname, msgid) \
+- dcgettext (domainname, msgid, LC_MESSAGES)
+-
+-# define ngettext(msgid1, msgid2, n) \
+- dngettext (NULL, msgid1, msgid2, n)
+-
+-# define dngettext(domainname, msgid1, msgid2, n) \
+- dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES)
+-
+-#endif /* Optimizing. */
+-
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#endif /* libintl.h */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/libgnuintl.h.in psmisc-20.2.works.clean/intl/libgnuintl.h.in
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/libgnuintl.h.in 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/libgnuintl.h.in 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,383 @@
++/* Message catalogs for internationalization.
++ Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _LIBINTL_H
++#define _LIBINTL_H 1
++
++#include <locale.h>
++
++/* The LC_MESSAGES locale category is the category used by the functions
++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.
++ On systems that don't define it, use an arbitrary value instead.
++ On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5)
++ then includes <libintl.h> (i.e. this file!) and then only defines
++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES
++ in this case. */
++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))
++# define LC_MESSAGES 1729
++#endif
++
++/* We define an additional symbol to signal that we use the GNU
++ implementation of gettext. */
++#define __USE_GNU_GETTEXT 1
++
++/* Provide information about the supported file formats. Returns the
++ maximum minor revision number supported for a given major revision. */
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
++ ((major) == 0 ? 1 : -1)
++
++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes
++ precedence over _conio_gettext. */
++#ifdef __DJGPP__
++# undef gettext
++#endif
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* We redirect the functions to those prefixed with "libintl_". This is
++ necessary, because some systems define gettext/textdomain/... in the C
++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
++ If we used the unprefixed names, there would be cases where the
++ definition in the C library would override the one in the libintl.so
++ shared library. Recall that on ELF systems, the symbols are looked
++ up in the following order:
++ 1. in the executable,
++ 2. in the shared libraries specified on the link command line, in order,
++ 3. in the dependencies of the shared libraries specified on the link
++ command line,
++ 4. in the dlopen()ed shared libraries, in the order in which they were
++ dlopen()ed.
++ The definition in the C library would override the one in libintl.so if
++ either
++ * -lc is given on the link command line and -lintl isn't, or
++ * -lc is given on the link command line before -lintl, or
++ * libintl.so is a dependency of a dlopen()ed shared library but not
++ linked to the executable at link time.
++ Since Solaris gettext() behaves differently than GNU gettext(), this
++ would be unacceptable.
++
++ The redirection happens by default through macros in C, so that &gettext
++ is independent of the compilation unit, but through inline functions in
++ C++, in order not to interfere with the name mangling of class fields or
++ class methods called 'gettext'. */
++
++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.
++ If he doesn't, we choose the method. A third possible method is
++ _INTL_REDIRECT_ASM, supported only by GCC. */
++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
++# if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)
++# define _INTL_REDIRECT_ASM
++# else
++# ifdef __cplusplus
++# define _INTL_REDIRECT_INLINE
++# else
++# define _INTL_REDIRECT_MACROS
++# endif
++# endif
++#endif
++/* Auxiliary macros. */
++#ifdef _INTL_REDIRECT_ASM
++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))
++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring
++# define _INTL_STRINGIFY(prefix) #prefix
++#else
++# define _INTL_ASM(cname)
++#endif
++
++/* Look up MSGID in the current default message catalog for the current
++ LC_MESSAGES locale. If not found, returns MSGID itself (the default
++ text). */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_gettext (const char *__msgid);
++static inline char *gettext (const char *__msgid)
++{
++ return libintl_gettext (__msgid);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define gettext libintl_gettext
++#endif
++extern char *gettext (const char *__msgid)
++ _INTL_ASM (libintl_gettext);
++#endif
++
++/* Look up MSGID in the DOMAINNAME message catalog for the current
++ LC_MESSAGES locale. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_dgettext (const char *__domainname, const char *__msgid);
++static inline char *dgettext (const char *__domainname, const char *__msgid)
++{
++ return libintl_dgettext (__domainname, __msgid);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define dgettext libintl_dgettext
++#endif
++extern char *dgettext (const char *__domainname, const char *__msgid)
++ _INTL_ASM (libintl_dgettext);
++#endif
++
++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
++ locale. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,
++ int __category);
++static inline char *dcgettext (const char *__domainname, const char *__msgid,
++ int __category)
++{
++ return libintl_dcgettext (__domainname, __msgid, __category);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define dcgettext libintl_dcgettext
++#endif
++extern char *dcgettext (const char *__domainname, const char *__msgid,
++ int __category)
++ _INTL_ASM (libintl_dcgettext);
++#endif
++
++
++/* Similar to `gettext' but select the plural form corresponding to the
++ number N. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,
++ unsigned long int __n);
++static inline char *ngettext (const char *__msgid1, const char *__msgid2,
++ unsigned long int __n)
++{
++ return libintl_ngettext (__msgid1, __msgid2, __n);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define ngettext libintl_ngettext
++#endif
++extern char *ngettext (const char *__msgid1, const char *__msgid2,
++ unsigned long int __n)
++ _INTL_ASM (libintl_ngettext);
++#endif
++
++/* Similar to `dgettext' but select the plural form corresponding to the
++ number N. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,
++ const char *__msgid2, unsigned long int __n);
++static inline char *dngettext (const char *__domainname, const char *__msgid1,
++ const char *__msgid2, unsigned long int __n)
++{
++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define dngettext libintl_dngettext
++#endif
++extern char *dngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n)
++ _INTL_ASM (libintl_dngettext);
++#endif
++
++/* Similar to `dcgettext' but select the plural form corresponding to the
++ number N. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_dcngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n, int __category);
++static inline char *dcngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n, int __category)
++{
++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define dcngettext libintl_dcngettext
++#endif
++extern char *dcngettext (const char *__domainname,
++ const char *__msgid1, const char *__msgid2,
++ unsigned long int __n, int __category)
++ _INTL_ASM (libintl_dcngettext);
++#endif
++
++
++/* Set the current default message catalog to DOMAINNAME.
++ If DOMAINNAME is null, return the current default.
++ If DOMAINNAME is "", reset to the default of "messages". */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_textdomain (const char *__domainname);
++static inline char *textdomain (const char *__domainname)
++{
++ return libintl_textdomain (__domainname);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define textdomain libintl_textdomain
++#endif
++extern char *textdomain (const char *__domainname)
++ _INTL_ASM (libintl_textdomain);
++#endif
++
++/* Specify that the DOMAINNAME message catalog will be found
++ in DIRNAME rather than in the system locale data base. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_bindtextdomain (const char *__domainname,
++ const char *__dirname);
++static inline char *bindtextdomain (const char *__domainname,
++ const char *__dirname)
++{
++ return libintl_bindtextdomain (__domainname, __dirname);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define bindtextdomain libintl_bindtextdomain
++#endif
++extern char *bindtextdomain (const char *__domainname, const char *__dirname)
++ _INTL_ASM (libintl_bindtextdomain);
++#endif
++
++/* Specify the character encoding in which the messages from the
++ DOMAINNAME message catalog will be returned. */
++#ifdef _INTL_REDIRECT_INLINE
++extern char *libintl_bind_textdomain_codeset (const char *__domainname,
++ const char *__codeset);
++static inline char *bind_textdomain_codeset (const char *__domainname,
++ const char *__codeset)
++{
++ return libintl_bind_textdomain_codeset (__domainname, __codeset);
++}
++#else
++#ifdef _INTL_REDIRECT_MACROS
++# define bind_textdomain_codeset libintl_bind_textdomain_codeset
++#endif
++extern char *bind_textdomain_codeset (const char *__domainname,
++ const char *__codeset)
++ _INTL_ASM (libintl_bind_textdomain_codeset);
++#endif
++
++
++/* Support for format strings with positions in *printf(), following the
++ POSIX/XSI specification.
++ Note: These replacements for the *printf() functions are visible only
++ in source files that #include <libintl.h> or #include "gettext.h".
++ Packages that use *printf() in source files that don't refer to _()
++ or gettext() but for which the format string could be the return value
++ of _() or gettext() need to add this #include. Oh well. */
++
++#if !@HAVE_POSIX_PRINTF@
++
++#include <stdio.h>
++#include <stddef.h>
++
++/* Get va_list. */
++#if __STDC__ || defined __cplusplus || defined _MSC_VER
++# include <stdarg.h>
++#else
++# include <varargs.h>
++#endif
++
++#undef fprintf
++#define fprintf libintl_fprintf
++extern int fprintf (FILE *, const char *, ...);
++#undef vfprintf
++#define vfprintf libintl_vfprintf
++extern int vfprintf (FILE *, const char *, va_list);
++
++#undef printf
++#define printf libintl_printf
++extern int printf (const char *, ...);
++#undef vprintf
++#define vprintf libintl_vprintf
++extern int vprintf (const char *, va_list);
++
++#undef sprintf
++#define sprintf libintl_sprintf
++extern int sprintf (char *, const char *, ...);
++#undef vsprintf
++#define vsprintf libintl_vsprintf
++extern int vsprintf (char *, const char *, va_list);
++
++#if @HAVE_SNPRINTF@
++
++#undef snprintf
++#define snprintf libintl_snprintf
++extern int snprintf (char *, size_t, const char *, ...);
++#undef vsnprintf
++#define vsnprintf libintl_vsnprintf
++extern int vsnprintf (char *, size_t, const char *, va_list);
++
++#endif
++
++#if @HAVE_ASPRINTF@
++
++#undef asprintf
++#define asprintf libintl_asprintf
++extern int asprintf (char **, const char *, ...);
++#undef vasprintf
++#define vasprintf libintl_vasprintf
++extern int vasprintf (char **, const char *, va_list);
++
++#endif
++
++#if @HAVE_WPRINTF@
++
++#undef fwprintf
++#define fwprintf libintl_fwprintf
++extern int fwprintf (FILE *, const wchar_t *, ...);
++#undef vfwprintf
++#define vfwprintf libintl_vfwprintf
++extern int vfwprintf (FILE *, const wchar_t *, va_list);
++
++#undef wprintf
++#define wprintf libintl_wprintf
++extern int wprintf (const wchar_t *, ...);
++#undef vwprintf
++#define vwprintf libintl_vwprintf
++extern int vwprintf (const wchar_t *, va_list);
++
++#undef swprintf
++#define swprintf libintl_swprintf
++extern int swprintf (wchar_t *, size_t, const wchar_t *, ...);
++#undef vswprintf
++#define vswprintf libintl_vswprintf
++extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
++
++#endif
++
++#endif
++
++
++/* Support for relocatable packages. */
++
++/* Sets the original and the current installation prefix of the package.
++ Relocation simply replaces a pathname starting with the original prefix
++ by the corresponding pathname with the current prefix instead. Both
++ prefixes should be directory names without trailing slash (i.e. use ""
++ instead of "/"). */
++#define libintl_set_relocation_prefix libintl_set_relocation_prefix
++extern void
++ libintl_set_relocation_prefix (const char *orig_prefix,
++ const char *curr_prefix);
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* libintl.h */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/loadinfo.h psmisc-20.2.works.clean/intl/loadinfo.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/loadinfo.h 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/loadinfo.h 2004-10-13 15:18:41.000000000 -0500
+@@ -1,31 +1,36 @@
+-/* Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
++/* Copyright (C) 1996-1999, 2000-2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifndef _LOADINFO_H
+ #define _LOADINFO_H 1
+
+-#ifndef PARAMS
+-# if __STDC__
+-# define PARAMS(args) args
+-# else
+-# define PARAMS(args) ()
+-# endif
+-#endif
++/* Declarations of locale dependent catalog lookup functions.
++ Implemented in
++
++ localealias.c Possibly replace a locale name by another.
++ explodename.c Split a locale name into its various fields.
++ l10nflist.c Generate a list of filenames of possible message catalogs.
++ finddomain.c Find and open the relevant message catalogs.
++
++ The main function _nl_find_domain() in finddomain.c is declared
++ in gettextP.h.
++ */
+
+ #ifndef internal_function
+ # define internal_function
+@@ -63,7 +68,6 @@
+ struct loaded_l10nfile
+ {
+ const char *filename;
+- struct binding *domainbinding;
+ int decided;
+
+ const void *data;
+@@ -77,39 +81,65 @@
+ names. Normalization allows the user to use any of the common
+ names. The return value is dynamically allocated and has to be
+ freed by the caller. */
+-extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
+- size_t name_len));
++extern const char *_nl_normalize_codeset (const char *codeset,
++ size_t name_len);
+
++/* Lookup a locale dependent file.
++ *L10NFILE_LIST denotes a pool of lookup results of locale dependent
++ files of the same kind, sorted in decreasing order of ->filename.
++ DIRLIST and DIRLIST_LEN are an argz list of directories in which to
++ look, containing at least one directory (i.e. DIRLIST_LEN > 0).
++ MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER,
++ SPECIAL, SPONSOR, REVISION are the pieces of the locale name, as
++ produced by _nl_explode_name(). FILENAME is the filename suffix.
++ The return value is the lookup result, either found in *L10NFILE_LIST,
++ or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL.
++ If the return value is non-NULL, it is added to *L10NFILE_LIST, and
++ its ->next field denotes the chaining inside *L10NFILE_LIST, and
++ furthermore its ->successor[] field contains a list of other lookup
++ results from which this lookup result inherits. */
+ extern struct loaded_l10nfile *
+-_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
+- const char *dirlist, size_t dirlist_len, int mask,
+- const char *language, const char *territory,
+- const char *codeset,
+- const char *normalized_codeset,
+- const char *modifier, const char *special,
+- const char *sponsor, const char *revision,
+- const char *filename,
+- struct binding *domainbinding, int do_allocate));
+-
+-
+-extern const char *_nl_expand_alias PARAMS ((const char *name));
+-
+-/* normalized_codeset is dynamically allocated and has to be freed by
+- the caller. */
+-extern int _nl_explode_name PARAMS ((char *name, const char **language,
+- const char **modifier,
+- const char **territory,
+- const char **codeset,
+- const char **normalized_codeset,
+- const char **special,
+- const char **sponsor,
+- const char **revision));
++_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
++ const char *dirlist, size_t dirlist_len, int mask,
++ const char *language, const char *territory,
++ const char *codeset, const char *normalized_codeset,
++ const char *modifier, const char *special,
++ const char *sponsor, const char *revision,
++ const char *filename, int do_allocate);
+
+-extern char *_nl_find_language PARAMS ((const char *name));
++/* Lookup the real locale name for a locale alias NAME, or NULL if
++ NAME is not a locale alias (but possibly a real locale name).
++ The return value is statically allocated and must not be freed. */
++extern const char *_nl_expand_alias (const char *name);
+
++/* Split a locale name NAME into its pieces: language, modifier,
++ territory, codeset, special, sponsor, revision.
++ NAME gets destructively modified: NUL bytes are inserted here and
++ there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY,
++ *CODESET, *SPECIAL, *SPONSOR, *REVISION gets assigned either a
++ pointer into the old NAME string, or NULL. *NORMALIZED_CODESET
++ gets assigned the expanded *CODESET, if it is different from *CODESET;
++ this one is dynamically allocated and has to be freed by the caller.
++ The return value is a bitmask, where each bit corresponds to one
++ filled-in value:
++ XPG_MODIFIER, CEN_AUDIENCE for *MODIFIER,
++ TERRITORY for *TERRITORY,
++ XPG_CODESET for *CODESET,
++ XPG_NORM_CODESET for *NORMALIZED_CODESET,
++ CEN_SPECIAL for *SPECIAL,
++ CEN_SPONSOR for *SPONSOR,
++ CEN_REVISION for *REVISION.
++ */
++extern int _nl_explode_name (char *name, const char **language,
++ const char **modifier, const char **territory,
++ const char **codeset,
++ const char **normalized_codeset,
++ const char **special, const char **sponsor,
++ const char **revision);
+
+-extern char *_nl_find_msg PARAMS ((struct loaded_l10nfile *domain_file,
+- const char *msgid, size_t *lengthp))
+- internal_function;
++/* Split a locale name NAME into a leading language part and all the
++ rest. Return a pointer to the first character after the language,
++ i.e. to the first byte of the rest. */
++extern char *_nl_find_language (const char *name);
+
+ #endif /* loadinfo.h */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/loadmsgcat.c psmisc-20.2.works.clean/intl/loadmsgcat.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/loadmsgcat.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/loadmsgcat.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Load needed message catalogs.
+- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1999, 2000-2004 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ /* Tell glibc's <string.h> to provide a prototype for mempcpy().
+ This must come before <config.h> because <config.h> may include
+@@ -33,17 +34,23 @@
+ #include <sys/stat.h>
+
+ #ifdef __GNUC__
++# undef alloca
+ # define alloca __builtin_alloca
+ # define HAVE_ALLOCA 1
+ #else
+-# if defined HAVE_ALLOCA_H || defined _LIBC
+-# include <alloca.h>
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
+ # else
+-# ifdef _AIX
+- #pragma alloca
++# if defined HAVE_ALLOCA_H || defined _LIBC
++# include <alloca.h>
+ # else
+-# ifndef alloca
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca
+ char *alloca ();
++# endif
+ # endif
+ # endif
+ # endif
+@@ -70,13 +77,380 @@
+ # undef HAVE_MMAP
+ #endif
+
+-#include "gettext.h"
++#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC
++# include <stdint.h>
++#endif
++#if defined HAVE_INTTYPES_H || defined _LIBC
++# include <inttypes.h>
++#endif
++
++#include "gmo.h"
+ #include "gettextP.h"
++#include "hash-string.h"
++#include "plural-exp.h"
+
+ #ifdef _LIBC
+ # include "../locale/localeinfo.h"
+ #endif
+
++/* Provide fallback values for macros that ought to be defined in <inttypes.h>.
++ Note that our fallback values need not be literal strings, because we don't
++ use them with preprocessor string concatenation. */
++#if !defined PRId8 || PRI_MACROS_BROKEN
++# undef PRId8
++# define PRId8 "d"
++#endif
++#if !defined PRIi8 || PRI_MACROS_BROKEN
++# undef PRIi8
++# define PRIi8 "i"
++#endif
++#if !defined PRIo8 || PRI_MACROS_BROKEN
++# undef PRIo8
++# define PRIo8 "o"
++#endif
++#if !defined PRIu8 || PRI_MACROS_BROKEN
++# undef PRIu8
++# define PRIu8 "u"
++#endif
++#if !defined PRIx8 || PRI_MACROS_BROKEN
++# undef PRIx8
++# define PRIx8 "x"
++#endif
++#if !defined PRIX8 || PRI_MACROS_BROKEN
++# undef PRIX8
++# define PRIX8 "X"
++#endif
++#if !defined PRId16 || PRI_MACROS_BROKEN
++# undef PRId16
++# define PRId16 "d"
++#endif
++#if !defined PRIi16 || PRI_MACROS_BROKEN
++# undef PRIi16
++# define PRIi16 "i"
++#endif
++#if !defined PRIo16 || PRI_MACROS_BROKEN
++# undef PRIo16
++# define PRIo16 "o"
++#endif
++#if !defined PRIu16 || PRI_MACROS_BROKEN
++# undef PRIu16
++# define PRIu16 "u"
++#endif
++#if !defined PRIx16 || PRI_MACROS_BROKEN
++# undef PRIx16
++# define PRIx16 "x"
++#endif
++#if !defined PRIX16 || PRI_MACROS_BROKEN
++# undef PRIX16
++# define PRIX16 "X"
++#endif
++#if !defined PRId32 || PRI_MACROS_BROKEN
++# undef PRId32
++# define PRId32 "d"
++#endif
++#if !defined PRIi32 || PRI_MACROS_BROKEN
++# undef PRIi32
++# define PRIi32 "i"
++#endif
++#if !defined PRIo32 || PRI_MACROS_BROKEN
++# undef PRIo32
++# define PRIo32 "o"
++#endif
++#if !defined PRIu32 || PRI_MACROS_BROKEN
++# undef PRIu32
++# define PRIu32 "u"
++#endif
++#if !defined PRIx32 || PRI_MACROS_BROKEN
++# undef PRIx32
++# define PRIx32 "x"
++#endif
++#if !defined PRIX32 || PRI_MACROS_BROKEN
++# undef PRIX32
++# define PRIX32 "X"
++#endif
++#if !defined PRId64 || PRI_MACROS_BROKEN
++# undef PRId64
++# define PRId64 (sizeof (long) == 8 ? "ld" : "lld")
++#endif
++#if !defined PRIi64 || PRI_MACROS_BROKEN
++# undef PRIi64
++# define PRIi64 (sizeof (long) == 8 ? "li" : "lli")
++#endif
++#if !defined PRIo64 || PRI_MACROS_BROKEN
++# undef PRIo64
++# define PRIo64 (sizeof (long) == 8 ? "lo" : "llo")
++#endif
++#if !defined PRIu64 || PRI_MACROS_BROKEN
++# undef PRIu64
++# define PRIu64 (sizeof (long) == 8 ? "lu" : "llu")
++#endif
++#if !defined PRIx64 || PRI_MACROS_BROKEN
++# undef PRIx64
++# define PRIx64 (sizeof (long) == 8 ? "lx" : "llx")
++#endif
++#if !defined PRIX64 || PRI_MACROS_BROKEN
++# undef PRIX64
++# define PRIX64 (sizeof (long) == 8 ? "lX" : "llX")
++#endif
++#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN
++# undef PRIdLEAST8
++# define PRIdLEAST8 "d"
++#endif
++#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN
++# undef PRIiLEAST8
++# define PRIiLEAST8 "i"
++#endif
++#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN
++# undef PRIoLEAST8
++# define PRIoLEAST8 "o"
++#endif
++#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN
++# undef PRIuLEAST8
++# define PRIuLEAST8 "u"
++#endif
++#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN
++# undef PRIxLEAST8
++# define PRIxLEAST8 "x"
++#endif
++#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN
++# undef PRIXLEAST8
++# define PRIXLEAST8 "X"
++#endif
++#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN
++# undef PRIdLEAST16
++# define PRIdLEAST16 "d"
++#endif
++#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN
++# undef PRIiLEAST16
++# define PRIiLEAST16 "i"
++#endif
++#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN
++# undef PRIoLEAST16
++# define PRIoLEAST16 "o"
++#endif
++#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN
++# undef PRIuLEAST16
++# define PRIuLEAST16 "u"
++#endif
++#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN
++# undef PRIxLEAST16
++# define PRIxLEAST16 "x"
++#endif
++#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN
++# undef PRIXLEAST16
++# define PRIXLEAST16 "X"
++#endif
++#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN
++# undef PRIdLEAST32
++# define PRIdLEAST32 "d"
++#endif
++#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN
++# undef PRIiLEAST32
++# define PRIiLEAST32 "i"
++#endif
++#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN
++# undef PRIoLEAST32
++# define PRIoLEAST32 "o"
++#endif
++#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN
++# undef PRIuLEAST32
++# define PRIuLEAST32 "u"
++#endif
++#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN
++# undef PRIxLEAST32
++# define PRIxLEAST32 "x"
++#endif
++#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN
++# undef PRIXLEAST32
++# define PRIXLEAST32 "X"
++#endif
++#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN
++# undef PRIdLEAST64
++# define PRIdLEAST64 PRId64
++#endif
++#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN
++# undef PRIiLEAST64
++# define PRIiLEAST64 PRIi64
++#endif
++#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN
++# undef PRIoLEAST64
++# define PRIoLEAST64 PRIo64
++#endif
++#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN
++# undef PRIuLEAST64
++# define PRIuLEAST64 PRIu64
++#endif
++#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN
++# undef PRIxLEAST64
++# define PRIxLEAST64 PRIx64
++#endif
++#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN
++# undef PRIXLEAST64
++# define PRIXLEAST64 PRIX64
++#endif
++#if !defined PRIdFAST8 || PRI_MACROS_BROKEN
++# undef PRIdFAST8
++# define PRIdFAST8 "d"
++#endif
++#if !defined PRIiFAST8 || PRI_MACROS_BROKEN
++# undef PRIiFAST8
++# define PRIiFAST8 "i"
++#endif
++#if !defined PRIoFAST8 || PRI_MACROS_BROKEN
++# undef PRIoFAST8
++# define PRIoFAST8 "o"
++#endif
++#if !defined PRIuFAST8 || PRI_MACROS_BROKEN
++# undef PRIuFAST8
++# define PRIuFAST8 "u"
++#endif
++#if !defined PRIxFAST8 || PRI_MACROS_BROKEN
++# undef PRIxFAST8
++# define PRIxFAST8 "x"
++#endif
++#if !defined PRIXFAST8 || PRI_MACROS_BROKEN
++# undef PRIXFAST8
++# define PRIXFAST8 "X"
++#endif
++#if !defined PRIdFAST16 || PRI_MACROS_BROKEN
++# undef PRIdFAST16
++# define PRIdFAST16 "d"
++#endif
++#if !defined PRIiFAST16 || PRI_MACROS_BROKEN
++# undef PRIiFAST16
++# define PRIiFAST16 "i"
++#endif
++#if !defined PRIoFAST16 || PRI_MACROS_BROKEN
++# undef PRIoFAST16
++# define PRIoFAST16 "o"
++#endif
++#if !defined PRIuFAST16 || PRI_MACROS_BROKEN
++# undef PRIuFAST16
++# define PRIuFAST16 "u"
++#endif
++#if !defined PRIxFAST16 || PRI_MACROS_BROKEN
++# undef PRIxFAST16
++# define PRIxFAST16 "x"
++#endif
++#if !defined PRIXFAST16 || PRI_MACROS_BROKEN
++# undef PRIXFAST16
++# define PRIXFAST16 "X"
++#endif
++#if !defined PRIdFAST32 || PRI_MACROS_BROKEN
++# undef PRIdFAST32
++# define PRIdFAST32 "d"
++#endif
++#if !defined PRIiFAST32 || PRI_MACROS_BROKEN
++# undef PRIiFAST32
++# define PRIiFAST32 "i"
++#endif
++#if !defined PRIoFAST32 || PRI_MACROS_BROKEN
++# undef PRIoFAST32
++# define PRIoFAST32 "o"
++#endif
++#if !defined PRIuFAST32 || PRI_MACROS_BROKEN
++# undef PRIuFAST32
++# define PRIuFAST32 "u"
++#endif
++#if !defined PRIxFAST32 || PRI_MACROS_BROKEN
++# undef PRIxFAST32
++# define PRIxFAST32 "x"
++#endif
++#if !defined PRIXFAST32 || PRI_MACROS_BROKEN
++# undef PRIXFAST32
++# define PRIXFAST32 "X"
++#endif
++#if !defined PRIdFAST64 || PRI_MACROS_BROKEN
++# undef PRIdFAST64
++# define PRIdFAST64 PRId64
++#endif
++#if !defined PRIiFAST64 || PRI_MACROS_BROKEN
++# undef PRIiFAST64
++# define PRIiFAST64 PRIi64
++#endif
++#if !defined PRIoFAST64 || PRI_MACROS_BROKEN
++# undef PRIoFAST64
++# define PRIoFAST64 PRIo64
++#endif
++#if !defined PRIuFAST64 || PRI_MACROS_BROKEN
++# undef PRIuFAST64
++# define PRIuFAST64 PRIu64
++#endif
++#if !defined PRIxFAST64 || PRI_MACROS_BROKEN
++# undef PRIxFAST64
++# define PRIxFAST64 PRIx64
++#endif
++#if !defined PRIXFAST64 || PRI_MACROS_BROKEN
++# undef PRIXFAST64
++# define PRIXFAST64 PRIX64
++#endif
++#if !defined PRIdMAX || PRI_MACROS_BROKEN
++# undef PRIdMAX
++# define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld")
++#endif
++#if !defined PRIiMAX || PRI_MACROS_BROKEN
++# undef PRIiMAX
++# define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli")
++#endif
++#if !defined PRIoMAX || PRI_MACROS_BROKEN
++# undef PRIoMAX
++# define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo")
++#endif
++#if !defined PRIuMAX || PRI_MACROS_BROKEN
++# undef PRIuMAX
++# define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu")
++#endif
++#if !defined PRIxMAX || PRI_MACROS_BROKEN
++# undef PRIxMAX
++# define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx")
++#endif
++#if !defined PRIXMAX || PRI_MACROS_BROKEN
++# undef PRIXMAX
++# define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX")
++#endif
++#if !defined PRIdPTR || PRI_MACROS_BROKEN
++# undef PRIdPTR
++# define PRIdPTR \
++ (sizeof (void *) == sizeof (long) ? "ld" : \
++ sizeof (void *) == sizeof (int) ? "d" : \
++ "lld")
++#endif
++#if !defined PRIiPTR || PRI_MACROS_BROKEN
++# undef PRIiPTR
++# define PRIiPTR \
++ (sizeof (void *) == sizeof (long) ? "li" : \
++ sizeof (void *) == sizeof (int) ? "i" : \
++ "lli")
++#endif
++#if !defined PRIoPTR || PRI_MACROS_BROKEN
++# undef PRIoPTR
++# define PRIoPTR \
++ (sizeof (void *) == sizeof (long) ? "lo" : \
++ sizeof (void *) == sizeof (int) ? "o" : \
++ "llo")
++#endif
++#if !defined PRIuPTR || PRI_MACROS_BROKEN
++# undef PRIuPTR
++# define PRIuPTR \
++ (sizeof (void *) == sizeof (long) ? "lu" : \
++ sizeof (void *) == sizeof (int) ? "u" : \
++ "llu")
++#endif
++#if !defined PRIxPTR || PRI_MACROS_BROKEN
++# undef PRIxPTR
++# define PRIxPTR \
++ (sizeof (void *) == sizeof (long) ? "lx" : \
++ sizeof (void *) == sizeof (int) ? "x" : \
++ "llx")
++#endif
++#if !defined PRIXPTR || PRI_MACROS_BROKEN
++# undef PRIXPTR
++# define PRIXPTR \
++ (sizeof (void *) == sizeof (long) ? "lX" : \
++ sizeof (void *) == sizeof (int) ? "X" : \
++ "llX")
++#endif
++
+ /* @@ end of prolog @@ */
+
+ #ifdef _LIBC
+@@ -90,16 +464,6 @@
+ # define munmap __munmap
+ #endif
+
+-/* Names for the libintl functions are a problem. They must not clash
+- with existing names and they should follow ANSI C. But this source
+- code is also used in GNU C Library where the names have a __
+- prefix. So we have to make a difference here. */
+-#ifdef _LIBC
+-# define PLURAL_PARSE __gettextparse
+-#else
+-# define PLURAL_PARSE gettextparse__
+-#endif
+-
+ /* For those losing systems which don't have `alloca' we have to add
+ some additional code emulating it. */
+ #ifdef HAVE_ALLOCA
+@@ -126,85 +490,424 @@
+ # define O_BINARY 0
+ #endif
+
++
+ /* We need a sign, whether a new catalog was loaded, which can be associated
+ with all translations. This is important if the translations are
+ cached by one of GCC's features. */
+ int _nl_msg_cat_cntr;
+
+-#if defined __GNUC__ \
+- || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
+
+-/* These structs are the constant expression for the germanic plural
+- form determination. It represents the expression "n != 1". */
+-static const struct expression plvar =
+-{
+- .nargs = 0,
+- .operation = var,
+-};
+-static const struct expression plone =
+-{
+- .nargs = 0,
+- .operation = num,
+- .val =
+- {
+- .num = 1
+- }
+-};
+-static struct expression germanic_plural =
++/* Expand a system dependent string segment. Return NULL if unsupported. */
++static const char *
++get_sysdep_segment_value (const char *name)
+ {
+- .nargs = 2,
+- .operation = not_equal,
+- .val =
+- {
+- .args =
++ /* Test for an ISO C 99 section 7.8.1 format string directive.
++ Syntax:
++ P R I { d | i | o | u | x | X }
++ { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */
++ /* We don't use a table of 14 times 6 'const char *' strings here, because
++ data relocations cost startup time. */
++ if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I')
+ {
+- [0] = (struct expression *) &plvar,
+- [1] = (struct expression *) &plone
++ if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u'
++ || name[3] == 'x' || name[3] == 'X')
++ {
++ if (name[4] == '8' && name[5] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRId8;
++ if (name[3] == 'i')
++ return PRIi8;
++ if (name[3] == 'o')
++ return PRIo8;
++ if (name[3] == 'u')
++ return PRIu8;
++ if (name[3] == 'x')
++ return PRIx8;
++ if (name[3] == 'X')
++ return PRIX8;
++ abort ();
++ }
++ if (name[4] == '1' && name[5] == '6' && name[6] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRId16;
++ if (name[3] == 'i')
++ return PRIi16;
++ if (name[3] == 'o')
++ return PRIo16;
++ if (name[3] == 'u')
++ return PRIu16;
++ if (name[3] == 'x')
++ return PRIx16;
++ if (name[3] == 'X')
++ return PRIX16;
++ abort ();
++ }
++ if (name[4] == '3' && name[5] == '2' && name[6] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRId32;
++ if (name[3] == 'i')
++ return PRIi32;
++ if (name[3] == 'o')
++ return PRIo32;
++ if (name[3] == 'u')
++ return PRIu32;
++ if (name[3] == 'x')
++ return PRIx32;
++ if (name[3] == 'X')
++ return PRIX32;
++ abort ();
++ }
++ if (name[4] == '6' && name[5] == '4' && name[6] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRId64;
++ if (name[3] == 'i')
++ return PRIi64;
++ if (name[3] == 'o')
++ return PRIo64;
++ if (name[3] == 'u')
++ return PRIu64;
++ if (name[3] == 'x')
++ return PRIx64;
++ if (name[3] == 'X')
++ return PRIX64;
++ abort ();
++ }
++ if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A'
++ && name[7] == 'S' && name[8] == 'T')
++ {
++ if (name[9] == '8' && name[10] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdLEAST8;
++ if (name[3] == 'i')
++ return PRIiLEAST8;
++ if (name[3] == 'o')
++ return PRIoLEAST8;
++ if (name[3] == 'u')
++ return PRIuLEAST8;
++ if (name[3] == 'x')
++ return PRIxLEAST8;
++ if (name[3] == 'X')
++ return PRIXLEAST8;
++ abort ();
++ }
++ if (name[9] == '1' && name[10] == '6' && name[11] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdLEAST16;
++ if (name[3] == 'i')
++ return PRIiLEAST16;
++ if (name[3] == 'o')
++ return PRIoLEAST16;
++ if (name[3] == 'u')
++ return PRIuLEAST16;
++ if (name[3] == 'x')
++ return PRIxLEAST16;
++ if (name[3] == 'X')
++ return PRIXLEAST16;
++ abort ();
++ }
++ if (name[9] == '3' && name[10] == '2' && name[11] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdLEAST32;
++ if (name[3] == 'i')
++ return PRIiLEAST32;
++ if (name[3] == 'o')
++ return PRIoLEAST32;
++ if (name[3] == 'u')
++ return PRIuLEAST32;
++ if (name[3] == 'x')
++ return PRIxLEAST32;
++ if (name[3] == 'X')
++ return PRIXLEAST32;
++ abort ();
++ }
++ if (name[9] == '6' && name[10] == '4' && name[11] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdLEAST64;
++ if (name[3] == 'i')
++ return PRIiLEAST64;
++ if (name[3] == 'o')
++ return PRIoLEAST64;
++ if (name[3] == 'u')
++ return PRIuLEAST64;
++ if (name[3] == 'x')
++ return PRIxLEAST64;
++ if (name[3] == 'X')
++ return PRIXLEAST64;
++ abort ();
++ }
++ }
++ if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S'
++ && name[7] == 'T')
++ {
++ if (name[8] == '8' && name[9] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdFAST8;
++ if (name[3] == 'i')
++ return PRIiFAST8;
++ if (name[3] == 'o')
++ return PRIoFAST8;
++ if (name[3] == 'u')
++ return PRIuFAST8;
++ if (name[3] == 'x')
++ return PRIxFAST8;
++ if (name[3] == 'X')
++ return PRIXFAST8;
++ abort ();
++ }
++ if (name[8] == '1' && name[9] == '6' && name[10] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdFAST16;
++ if (name[3] == 'i')
++ return PRIiFAST16;
++ if (name[3] == 'o')
++ return PRIoFAST16;
++ if (name[3] == 'u')
++ return PRIuFAST16;
++ if (name[3] == 'x')
++ return PRIxFAST16;
++ if (name[3] == 'X')
++ return PRIXFAST16;
++ abort ();
++ }
++ if (name[8] == '3' && name[9] == '2' && name[10] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdFAST32;
++ if (name[3] == 'i')
++ return PRIiFAST32;
++ if (name[3] == 'o')
++ return PRIoFAST32;
++ if (name[3] == 'u')
++ return PRIuFAST32;
++ if (name[3] == 'x')
++ return PRIxFAST32;
++ if (name[3] == 'X')
++ return PRIXFAST32;
++ abort ();
++ }
++ if (name[8] == '6' && name[9] == '4' && name[10] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdFAST64;
++ if (name[3] == 'i')
++ return PRIiFAST64;
++ if (name[3] == 'o')
++ return PRIoFAST64;
++ if (name[3] == 'u')
++ return PRIuFAST64;
++ if (name[3] == 'x')
++ return PRIxFAST64;
++ if (name[3] == 'X')
++ return PRIXFAST64;
++ abort ();
++ }
++ }
++ if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X'
++ && name[7] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdMAX;
++ if (name[3] == 'i')
++ return PRIiMAX;
++ if (name[3] == 'o')
++ return PRIoMAX;
++ if (name[3] == 'u')
++ return PRIuMAX;
++ if (name[3] == 'x')
++ return PRIxMAX;
++ if (name[3] == 'X')
++ return PRIXMAX;
++ abort ();
++ }
++ if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R'
++ && name[7] == '\0')
++ {
++ if (name[3] == 'd')
++ return PRIdPTR;
++ if (name[3] == 'i')
++ return PRIiPTR;
++ if (name[3] == 'o')
++ return PRIoPTR;
++ if (name[3] == 'u')
++ return PRIuPTR;
++ if (name[3] == 'x')
++ return PRIxPTR;
++ if (name[3] == 'X')
++ return PRIXPTR;
++ abort ();
++ }
++ }
+ }
+- }
+-};
++ /* Test for a glibc specific printf() format directive flag. */
++ if (name[0] == 'I' && name[1] == '\0')
++ {
++#if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)
++ /* The 'I' flag, in numeric format directives, replaces ASCII digits
++ with the 'outdigits' defined in the LC_CTYPE locale facet. This is
++ used for Farsi (Persian) and maybe Arabic. */
++ return "I";
++#else
++ return "";
++#endif
++ }
++ /* Other system dependent strings are not valid. */
++ return NULL;
++}
+
+-# define INIT_GERMANIC_PLURAL()
++/* Initialize the codeset dependent parts of an opened message catalog.
++ Return the header entry. */
++const char *
++internal_function
++_nl_init_domain_conv (struct loaded_l10nfile *domain_file,
++ struct loaded_domain *domain,
++ struct binding *domainbinding)
++{
++ /* Find out about the character set the file is encoded with.
++ This can be found (in textual form) in the entry "". If this
++ entry does not exist or if this does not contain the `charset='
++ information, we will assume the charset matches the one the
++ current locale and we don't have to perform any conversion. */
++ char *nullentry;
++ size_t nullentrylen;
+
++ /* Preinitialize fields, to avoid recursion during _nl_find_msg. */
++ domain->codeset_cntr =
++ (domainbinding != NULL ? domainbinding->codeset_cntr : 0);
++#ifdef _LIBC
++ domain->conv = (__gconv_t) -1;
+ #else
++# if HAVE_ICONV
++ domain->conv = (iconv_t) -1;
++# endif
++#endif
++ domain->conv_tab = NULL;
+
+-/* For compilers without support for ISO C 99 struct/union initializers:
+- Initialization at run-time. */
+-
+-static struct expression plvar;
+-static struct expression plone;
+-static struct expression germanic_plural;
++ /* Get the header entry. */
++ nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen);
+
+-static void
+-init_germanic_plural ()
+-{
+- if (plone.val.num == 0)
++ if (nullentry != NULL)
+ {
+- plvar.nargs = 0;
+- plvar.operation = var;
++#if defined _LIBC || HAVE_ICONV
++ const char *charsetstr;
+
+- plone.nargs = 0;
+- plone.operation = num;
+- plone.val.num = 1;
++ charsetstr = strstr (nullentry, "charset=");
++ if (charsetstr != NULL)
++ {
++ size_t len;
++ char *charset;
++ const char *outcharset;
+
+- germanic_plural.nargs = 2;
+- germanic_plural.operation = not_equal;
+- germanic_plural.val.args[0] = &plvar;
+- germanic_plural.val.args[1] = &plone;
++ charsetstr += strlen ("charset=");
++ len = strcspn (charsetstr, " \t\n");
++
++ charset = (char *) alloca (len + 1);
++# if defined _LIBC || HAVE_MEMPCPY
++ *((char *) mempcpy (charset, charsetstr, len)) = '\0';
++# else
++ memcpy (charset, charsetstr, len);
++ charset[len] = '\0';
++# endif
++
++ /* The output charset should normally be determined by the
++ locale. But sometimes the locale is not used or not correctly
++ set up, so we provide a possibility for the user to override
++ this. Moreover, the value specified through
++ bind_textdomain_codeset overrides both. */
++ if (domainbinding != NULL && domainbinding->codeset != NULL)
++ outcharset = domainbinding->codeset;
++ else
++ {
++ outcharset = getenv ("OUTPUT_CHARSET");
++ if (outcharset == NULL || outcharset[0] == '\0')
++ {
++# ifdef _LIBC
++ outcharset = _NL_CURRENT (LC_CTYPE, CODESET);
++# else
++# if HAVE_ICONV
++ extern const char *locale_charset (void);
++ outcharset = locale_charset ();
++# endif
++# endif
++ }
++ }
++
++# ifdef _LIBC
++ /* We always want to use transliteration. */
++ outcharset = norm_add_slashes (outcharset, "TRANSLIT");
++ charset = norm_add_slashes (charset, NULL);
++ if (__gconv_open (outcharset, charset, &domain->conv,
++ GCONV_AVOID_NOCONV)
++ != __GCONV_OK)
++ domain->conv = (__gconv_t) -1;
++# else
++# if HAVE_ICONV
++ /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
++ we want to use transliteration. */
++# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
++ || _LIBICONV_VERSION >= 0x0105
++ if (strchr (outcharset, '/') == NULL)
++ {
++ char *tmp;
++
++ len = strlen (outcharset);
++ tmp = (char *) alloca (len + 10 + 1);
++ memcpy (tmp, outcharset, len);
++ memcpy (tmp + len, "//TRANSLIT", 10 + 1);
++ outcharset = tmp;
++
++ domain->conv = iconv_open (outcharset, charset);
++
++ freea (outcharset);
++ }
++ else
++# endif
++ domain->conv = iconv_open (outcharset, charset);
++# endif
++# endif
++
++ freea (charset);
++ }
++#endif /* _LIBC || HAVE_ICONV */
+ }
++
++ return nullentry;
+ }
+
+-# define INIT_GERMANIC_PLURAL() init_germanic_plural ()
++/* Frees the codeset dependent parts of an opened message catalog. */
++void
++internal_function
++_nl_free_domain_conv (struct loaded_domain *domain)
++{
++ if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
++ free (domain->conv_tab);
+
++#ifdef _LIBC
++ if (domain->conv != (__gconv_t) -1)
++ __gconv_close (domain->conv);
++#else
++# if HAVE_ICONV
++ if (domain->conv != (iconv_t) -1)
++ iconv_close (domain->conv);
++# endif
+ #endif
+-
++}
+
+ /* Load the message catalogs specified by FILENAME. If it is no valid
+ message catalog do nothing. */
+ void
+ internal_function
+-_nl_load_domain (domain_file)
+- struct loaded_l10nfile *domain_file;
++_nl_load_domain (struct loaded_l10nfile *domain_file,
++ struct binding *domainbinding)
+ {
+ int fd;
+ size_t size;
+@@ -216,12 +919,16 @@
+ struct mo_file_header *data = (struct mo_file_header *) -1;
+ int use_mmap = 0;
+ struct loaded_domain *domain;
+- char *nullentry;
+- size_t nullentrylen;
++ int revision;
++ const char *nullentry;
+
+ domain_file->decided = 1;
+ domain_file->data = NULL;
+
++ /* Note that it would be useless to store domainbinding in domain_file
++ because domainbinding might be == NULL now but != NULL later (after
++ a call to bind_textdomain_codeset). */
++
+ /* If the record does not represent a valid locale the FILENAME
+ might be NULL. This can happen when according to the given
+ specification the locale file name is different for XPG and CEN
+@@ -320,22 +1027,353 @@
+ domain->use_mmap = use_mmap;
+ domain->mmap_size = size;
+ domain->must_swap = data->magic != _MAGIC;
++ domain->malloced = NULL;
+
+ /* Fill in the information about the available tables. */
+- switch (W (domain->must_swap, data->revision))
++ revision = W (domain->must_swap, data->revision);
++ /* We support only the major revisions 0 and 1. */
++ switch (revision >> 16)
+ {
+ case 0:
++ case 1:
+ domain->nstrings = W (domain->must_swap, data->nstrings);
+- domain->orig_tab = (struct string_desc *)
++ domain->orig_tab = (const struct string_desc *)
+ ((char *) data + W (domain->must_swap, data->orig_tab_offset));
+- domain->trans_tab = (struct string_desc *)
++ domain->trans_tab = (const struct string_desc *)
+ ((char *) data + W (domain->must_swap, data->trans_tab_offset));
+ domain->hash_size = W (domain->must_swap, data->hash_tab_size);
+- domain->hash_tab = (nls_uint32 *)
+- ((char *) data + W (domain->must_swap, data->hash_tab_offset));
++ domain->hash_tab =
++ (domain->hash_size > 2
++ ? (const nls_uint32 *)
++ ((char *) data + W (domain->must_swap, data->hash_tab_offset))
++ : NULL);
++ domain->must_swap_hash_tab = domain->must_swap;
++
++ /* Now dispatch on the minor revision. */
++ switch (revision & 0xffff)
++ {
++ case 0:
++ domain->n_sysdep_strings = 0;
++ domain->orig_sysdep_tab = NULL;
++ domain->trans_sysdep_tab = NULL;
++ break;
++ case 1:
++ default:
++ {
++ nls_uint32 n_sysdep_strings;
++
++ if (domain->hash_tab == NULL)
++ /* This is invalid. These minor revisions need a hash table. */
++ goto invalid;
++
++ n_sysdep_strings =
++ W (domain->must_swap, data->n_sysdep_strings);
++ if (n_sysdep_strings > 0)
++ {
++ nls_uint32 n_sysdep_segments;
++ const struct sysdep_segment *sysdep_segments;
++ const char **sysdep_segment_values;
++ const nls_uint32 *orig_sysdep_tab;
++ const nls_uint32 *trans_sysdep_tab;
++ nls_uint32 n_inmem_sysdep_strings;
++ size_t memneed;
++ char *mem;
++ struct sysdep_string_desc *inmem_orig_sysdep_tab;
++ struct sysdep_string_desc *inmem_trans_sysdep_tab;
++ nls_uint32 *inmem_hash_tab;
++ unsigned int i, j;
++
++ /* Get the values of the system dependent segments. */
++ n_sysdep_segments =
++ W (domain->must_swap, data->n_sysdep_segments);
++ sysdep_segments = (const struct sysdep_segment *)
++ ((char *) data
++ + W (domain->must_swap, data->sysdep_segments_offset));
++ sysdep_segment_values =
++ alloca (n_sysdep_segments * sizeof (const char *));
++ for (i = 0; i < n_sysdep_segments; i++)
++ {
++ const char *name =
++ (char *) data
++ + W (domain->must_swap, sysdep_segments[i].offset);
++ nls_uint32 namelen =
++ W (domain->must_swap, sysdep_segments[i].length);
++
++ if (!(namelen > 0 && name[namelen - 1] == '\0'))
++ {
++ freea (sysdep_segment_values);
++ goto invalid;
++ }
++
++ sysdep_segment_values[i] = get_sysdep_segment_value (name);
++ }
++
++ orig_sysdep_tab = (const nls_uint32 *)
++ ((char *) data
++ + W (domain->must_swap, data->orig_sysdep_tab_offset));
++ trans_sysdep_tab = (const nls_uint32 *)
++ ((char *) data
++ + W (domain->must_swap, data->trans_sysdep_tab_offset));
++
++ /* Compute the amount of additional memory needed for the
++ system dependent strings and the augmented hash table.
++ At the same time, also drop string pairs which refer to
++ an undefined system dependent segment. */
++ n_inmem_sysdep_strings = 0;
++ memneed = domain->hash_size * sizeof (nls_uint32);
++ for (i = 0; i < n_sysdep_strings; i++)
++ {
++ int valid = 1;
++ size_t needs[2];
++
++ for (j = 0; j < 2; j++)
++ {
++ const struct sysdep_string *sysdep_string =
++ (const struct sysdep_string *)
++ ((char *) data
++ + W (domain->must_swap,
++ j == 0
++ ? orig_sysdep_tab[i]
++ : trans_sysdep_tab[i]));
++ size_t need = 0;
++ const struct segment_pair *p = sysdep_string->segments;
++
++ if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END)
++ for (p = sysdep_string->segments;; p++)
++ {
++ nls_uint32 sysdepref;
++
++ need += W (domain->must_swap, p->segsize);
++
++ sysdepref = W (domain->must_swap, p->sysdepref);
++ if (sysdepref == SEGMENTS_END)
++ break;
++
++ if (sysdepref >= n_sysdep_segments)
++ {
++ /* Invalid. */
++ freea (sysdep_segment_values);
++ goto invalid;
++ }
++
++ if (sysdep_segment_values[sysdepref] == NULL)
++ {
++ /* This particular string pair is invalid. */
++ valid = 0;
++ break;
++ }
++
++ need += strlen (sysdep_segment_values[sysdepref]);
++ }
++
++ needs[j] = need;
++ if (!valid)
++ break;
++ }
++
++ if (valid)
++ {
++ n_inmem_sysdep_strings++;
++ memneed += needs[0] + needs[1];
++ }
++ }
++ memneed += 2 * n_inmem_sysdep_strings
++ * sizeof (struct sysdep_string_desc);
++
++ if (n_inmem_sysdep_strings > 0)
++ {
++ unsigned int k;
++
++ /* Allocate additional memory. */
++ mem = (char *) malloc (memneed);
++ if (mem == NULL)
++ goto invalid;
++
++ domain->malloced = mem;
++ inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem;
++ mem += n_inmem_sysdep_strings
++ * sizeof (struct sysdep_string_desc);
++ inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem;
++ mem += n_inmem_sysdep_strings
++ * sizeof (struct sysdep_string_desc);
++ inmem_hash_tab = (nls_uint32 *) mem;
++ mem += domain->hash_size * sizeof (nls_uint32);
++
++ /* Compute the system dependent strings. */
++ k = 0;
++ for (i = 0; i < n_sysdep_strings; i++)
++ {
++ int valid = 1;
++
++ for (j = 0; j < 2; j++)
++ {
++ const struct sysdep_string *sysdep_string =
++ (const struct sysdep_string *)
++ ((char *) data
++ + W (domain->must_swap,
++ j == 0
++ ? orig_sysdep_tab[i]
++ : trans_sysdep_tab[i]));
++ const struct segment_pair *p =
++ sysdep_string->segments;
++
++ if (W (domain->must_swap, p->sysdepref)
++ != SEGMENTS_END)
++ for (p = sysdep_string->segments;; p++)
++ {
++ nls_uint32 sysdepref;
++
++ sysdepref =
++ W (domain->must_swap, p->sysdepref);
++ if (sysdepref == SEGMENTS_END)
++ break;
++
++ if (sysdep_segment_values[sysdepref] == NULL)
++ {
++ /* This particular string pair is
++ invalid. */
++ valid = 0;
++ break;
++ }
++ }
++
++ if (!valid)
++ break;
++ }
++
++ if (valid)
++ {
++ for (j = 0; j < 2; j++)
++ {
++ const struct sysdep_string *sysdep_string =
++ (const struct sysdep_string *)
++ ((char *) data
++ + W (domain->must_swap,
++ j == 0
++ ? orig_sysdep_tab[i]
++ : trans_sysdep_tab[i]));
++ const char *static_segments =
++ (char *) data
++ + W (domain->must_swap, sysdep_string->offset);
++ const struct segment_pair *p =
++ sysdep_string->segments;
++
++ /* Concatenate the segments, and fill
++ inmem_orig_sysdep_tab[k] (for j == 0) and
++ inmem_trans_sysdep_tab[k] (for j == 1). */
++
++ struct sysdep_string_desc *inmem_tab_entry =
++ (j == 0
++ ? inmem_orig_sysdep_tab
++ : inmem_trans_sysdep_tab)
++ + k;
++
++ if (W (domain->must_swap, p->sysdepref)
++ == SEGMENTS_END)
++ {
++ /* Only one static segment. */
++ inmem_tab_entry->length =
++ W (domain->must_swap, p->segsize);
++ inmem_tab_entry->pointer = static_segments;
++ }
++ else
++ {
++ inmem_tab_entry->pointer = mem;
++
++ for (p = sysdep_string->segments;; p++)
++ {
++ nls_uint32 segsize =
++ W (domain->must_swap, p->segsize);
++ nls_uint32 sysdepref =
++ W (domain->must_swap, p->sysdepref);
++ size_t n;
++
++ if (segsize > 0)
++ {
++ memcpy (mem, static_segments, segsize);
++ mem += segsize;
++ static_segments += segsize;
++ }
++
++ if (sysdepref == SEGMENTS_END)
++ break;
++
++ n = strlen (sysdep_segment_values[sysdepref]);
++ memcpy (mem, sysdep_segment_values[sysdepref], n);
++ mem += n;
++ }
++
++ inmem_tab_entry->length =
++ mem - inmem_tab_entry->pointer;
++ }
++ }
++
++ k++;
++ }
++ }
++ if (k != n_inmem_sysdep_strings)
++ abort ();
++
++ /* Compute the augmented hash table. */
++ for (i = 0; i < domain->hash_size; i++)
++ inmem_hash_tab[i] =
++ W (domain->must_swap_hash_tab, domain->hash_tab[i]);
++ for (i = 0; i < n_inmem_sysdep_strings; i++)
++ {
++ const char *msgid = inmem_orig_sysdep_tab[i].pointer;
++ nls_uint32 hash_val = hash_string (msgid);
++ nls_uint32 idx = hash_val % domain->hash_size;
++ nls_uint32 incr =
++ 1 + (hash_val % (domain->hash_size - 2));
++
++ for (;;)
++ {
++ if (inmem_hash_tab[idx] == 0)
++ {
++ /* Hash table entry is empty. Use it. */
++ inmem_hash_tab[idx] = 1 + domain->nstrings + i;
++ break;
++ }
++
++ if (idx >= domain->hash_size - incr)
++ idx -= domain->hash_size - incr;
++ else
++ idx += incr;
++ }
++ }
++
++ domain->n_sysdep_strings = n_inmem_sysdep_strings;
++ domain->orig_sysdep_tab = inmem_orig_sysdep_tab;
++ domain->trans_sysdep_tab = inmem_trans_sysdep_tab;
++
++ domain->hash_tab = inmem_hash_tab;
++ domain->must_swap_hash_tab = 0;
++ }
++ else
++ {
++ domain->n_sysdep_strings = 0;
++ domain->orig_sysdep_tab = NULL;
++ domain->trans_sysdep_tab = NULL;
++ }
++
++ freea (sysdep_segment_values);
++ }
++ else
++ {
++ domain->n_sysdep_strings = 0;
++ domain->orig_sysdep_tab = NULL;
++ domain->trans_sysdep_tab = NULL;
++ }
++ }
++ break;
++ }
+ break;
+ default:
+ /* This is an invalid revision. */
++ invalid:
++ /* This is an invalid .mo file. */
++ if (domain->malloced)
++ free (domain->malloced);
+ #ifdef HAVE_MMAP
+ if (use_mmap)
+ munmap ((caddr_t) data, size);
+@@ -347,154 +1385,28 @@
+ return;
+ }
+
+- /* Now find out about the character set the file is encoded with.
+- This can be found (in textual form) in the entry "". If this
+- entry does not exist or if this does not contain the `charset='
+- information, we will assume the charset matches the one the
+- current locale and we don't have to perform any conversion. */
+-#ifdef _LIBC
+- domain->conv = (__gconv_t) -1;
+-#else
+-# if HAVE_ICONV
+- domain->conv = (iconv_t) -1;
+-# endif
+-#endif
+- domain->conv_tab = NULL;
+- nullentry = _nl_find_msg (domain_file, "", &nullentrylen);
+- if (nullentry != NULL)
+- {
+-#if defined _LIBC || HAVE_ICONV
+- const char *charsetstr;
+-
+- charsetstr = strstr (nullentry, "charset=");
+- if (charsetstr != NULL)
+- {
+- size_t len;
+- char *charset;
+- const char *outcharset;
+-
+- charsetstr += strlen ("charset=");
+- len = strcspn (charsetstr, " \t\n");
+-
+- charset = (char *) alloca (len + 1);
+-# if defined _LIBC || HAVE_MEMPCPY
+- *((char *) mempcpy (charset, charsetstr, len)) = '\0';
+-# else
+- memcpy (charset, charsetstr, len);
+- charset[len] = '\0';
+-# endif
+-
+- /* The output charset should normally be determined by the
+- locale. But sometimes the locale is not used or not correctly
+- set up, so we provide a possibility for the user to override
+- this. Moreover, the value specified through
+- bind_textdomain_codeset overrides both. */
+- if (domain_file->domainbinding != NULL
+- && domain_file->domainbinding->codeset != NULL)
+- outcharset = domain_file->domainbinding->codeset;
+- else
+- {
+- outcharset = getenv ("OUTPUT_CHARSET");
+- if (outcharset == NULL || outcharset[0] == '\0')
+- {
+-# ifdef _LIBC
+- outcharset = (*_nl_current[LC_CTYPE])->values[_NL_ITEM_INDEX (CODESET)].string;
+-# else
+-# if HAVE_ICONV
+- extern const char *locale_charset (void);
+- outcharset = locale_charset ();
+-# endif
+-# endif
+- }
+- }
+-
+-# ifdef _LIBC
+- /* We always want to use transliteration. */
+- outcharset = norm_add_slashes (outcharset, "TRANSLIT");
+- charset = norm_add_slashes (charset, NULL);
+- if (__gconv_open (outcharset, charset, &domain->conv,
+- GCONV_AVOID_NOCONV)
+- != __GCONV_OK)
+- domain->conv = (__gconv_t) -1;
+-# else
+-# if HAVE_ICONV
+- domain->conv = iconv_open (outcharset, charset);
+-# endif
+-# endif
+-
+- freea (charset);
+- }
+-#endif /* _LIBC || HAVE_ICONV */
+- }
++ /* Now initialize the character set converter from the character set
++ the file is encoded with (found in the header entry) to the domain's
++ specified character set or the locale's character set. */
++ nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);
+
+ /* Also look for a plural specification. */
+- if (nullentry != NULL)
+- {
+- const char *plural;
+- const char *nplurals;
+-
+- plural = strstr (nullentry, "plural=");
+- nplurals = strstr (nullentry, "nplurals=");
+- if (plural == NULL || nplurals == NULL)
+- goto no_plural;
+- else
+- {
+- /* First get the number. */
+- char *endp;
+- unsigned long int n;
+- struct parse_args args;
+-
+- nplurals += 9;
+- while (*nplurals != '\0' && isspace (*nplurals))
+- ++nplurals;
+-#if defined HAVE_STRTOUL || defined _LIBC
+- n = strtoul (nplurals, &endp, 10);
+-#else
+- for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)
+- n = n * 10 + (*endp - '0');
+-#endif
+- domain->nplurals = n;
+- if (nplurals == endp)
+- goto no_plural;
+-
+- /* Due to the restrictions bison imposes onto the interface of the
+- scanner function we have to put the input string and the result
+- passed up from the parser into the same structure which address
+- is passed down to the parser. */
+- plural += 7;
+- args.cp = plural;
+- if (PLURAL_PARSE (&args) != 0)
+- goto no_plural;
+- domain->plural = args.res;
+- }
+- }
+- else
+- {
+- /* By default we are using the Germanic form: singular form only
+- for `one', the plural form otherwise. Yes, this is also what
+- English is using since English is a Germanic language. */
+- no_plural:
+- INIT_GERMANIC_PLURAL ();
+- domain->plural = &germanic_plural;
+- domain->nplurals = 2;
+- }
++ EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals);
+ }
+
+
+ #ifdef _LIBC
+ void
+ internal_function
+-_nl_unload_domain (domain)
+- struct loaded_domain *domain;
++_nl_unload_domain (struct loaded_domain *domain)
+ {
+- if (domain->plural != &germanic_plural)
++ if (domain->plural != &__gettext_germanic_plural)
+ __gettext_free_exp (domain->plural);
+
+- if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
+- free (domain->conv_tab);
++ _nl_free_domain_conv (domain);
+
+- if (domain->conv != (__gconv_t) -1)
+- __gconv_close (domain->conv);
++ if (domain->malloced)
++ free (domain->malloced);
+
+ # ifdef _POSIX_MAPPED_FILES
+ if (domain->use_mmap)
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/localcharset.c psmisc-20.2.works.clean/intl/localcharset.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/localcharset.c 2001-04-13 23:00:43.000000000 -0500
++++ psmisc-20.2.works.clean/intl/localcharset.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,6 +1,6 @@
+ /* Determine a canonical name for the current locale's character encoding.
+
+- Copyright (C) 2000-2001 Free Software Foundation, Inc.
++ Copyright (C) 2000-2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published
+@@ -17,12 +17,15 @@
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ USA. */
+
+-/* Written by Bruno Haible <haible@clisp.cons.org>. */
++/* Written by Bruno Haible <bruno@clisp.org>. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+ #endif
+
++/* Specification. */
++#include "localcharset.h"
++
+ #if HAVE_STDDEF_H
+ # include <stddef.h>
+ #endif
+@@ -42,7 +45,12 @@
+ # define WIN32
+ #endif
+
+-#ifndef WIN32
++#if defined __EMX__
++/* Assume EMX program runs on OS/2, even if compiled under DOS. */
++# define OS2
++#endif
++
++#if !defined WIN32
+ # if HAVE_LANGINFO_CODESET
+ # include <langinfo.h>
+ # else
+@@ -50,10 +58,25 @@
+ # include <locale.h>
+ # endif
+ # endif
+-#else /* WIN32 */
++#elif defined WIN32
+ # define WIN32_LEAN_AND_MEAN
+ # include <windows.h>
+ #endif
++#if defined OS2
++# define INCL_DOS
++# include <os2.h>
++#endif
++
++#if ENABLE_RELOCATABLE
++# include "relocatable.h"
++#else
++# define relocate(pathname) (pathname)
++#endif
++
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++#endif
+
+ #ifndef DIRECTORY_SEPARATOR
+ # define DIRECTORY_SEPARATOR '/'
+@@ -63,6 +86,11 @@
+ # define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
+ #endif
+
++#if HAVE_DECL_GETC_UNLOCKED
++# undef getc
++# define getc getc_unlocked
++#endif
++
+ /* The following static variable is declared 'volatile' to avoid a
+ possible multithread problem in the function get_charset_aliases. If we
+ are running in a threaded environment, and if two threads initialize
+@@ -75,20 +103,20 @@
+ /* Pointer to the contents of the charset.alias file, if it has already been
+ read, else NULL. Its format is:
+ ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */
+-static char * volatile charset_aliases;
++static const char * volatile charset_aliases;
+
+ /* Return a pointer to the contents of the charset.alias file. */
+ static const char *
+ get_charset_aliases ()
+ {
+- char *cp;
++ const char *cp;
+
+ cp = charset_aliases;
+ if (cp == NULL)
+ {
+-#ifndef WIN32
++#if !(defined VMS || defined WIN32)
+ FILE *fp;
+- const char *dir = LIBDIR;
++ const char *dir = relocate (LIBDIR);
+ const char *base = "charset.alias";
+ char *file_name;
+
+@@ -138,19 +166,19 @@
+ continue;
+ }
+ ungetc (c, fp);
+- if (fscanf(fp, "%50s %50s", buf1, buf2) < 2)
++ if (fscanf (fp, "%50s %50s", buf1, buf2) < 2)
+ break;
+ l1 = strlen (buf1);
+ l2 = strlen (buf2);
+ if (res_size == 0)
+ {
+ res_size = l1 + 1 + l2 + 1;
+- res_ptr = malloc (res_size + 1);
++ res_ptr = (char *) malloc (res_size + 1);
+ }
+ else
+ {
+ res_size += l1 + 1 + l2 + 1;
+- res_ptr = realloc (res_ptr, res_size + 1);
++ res_ptr = (char *) realloc (res_ptr, res_size + 1);
+ }
+ if (res_ptr == NULL)
+ {
+@@ -174,14 +202,54 @@
+ if (file_name != NULL)
+ free (file_name);
+
+-#else /* WIN32 */
++#else
++
++# if defined VMS
++ /* To avoid the troubles of an extra file charset.alias_vms in the
++ sources of many GNU packages, simply inline the aliases here. */
++ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation
++ "Compaq C Run-Time Library Reference Manual for OpenVMS systems"
++ section 10.7 "Handling Different Character Sets". */
++ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"
++ "ISO8859-2" "\0" "ISO-8859-2" "\0"
++ "ISO8859-5" "\0" "ISO-8859-5" "\0"
++ "ISO8859-7" "\0" "ISO-8859-7" "\0"
++ "ISO8859-8" "\0" "ISO-8859-8" "\0"
++ "ISO8859-9" "\0" "ISO-8859-9" "\0"
++ /* Japanese */
++ "eucJP" "\0" "EUC-JP" "\0"
++ "SJIS" "\0" "SHIFT_JIS" "\0"
++ "DECKANJI" "\0" "DEC-KANJI" "\0"
++ "SDECKANJI" "\0" "EUC-JP" "\0"
++ /* Chinese */
++ "eucTW" "\0" "EUC-TW" "\0"
++ "DECHANYU" "\0" "DEC-HANYU" "\0"
++ "DECHANZI" "\0" "GB2312" "\0"
++ /* Korean */
++ "DECKOREAN" "\0" "EUC-KR" "\0";
++# endif
+
++# if defined WIN32
+ /* To avoid the troubles of installing a separate file in the same
+ directory as the DLL and of retrieving the DLL's directory at
+ runtime, simply inline the aliases here. */
+
+ cp = "CP936" "\0" "GBK" "\0"
+- "CP1361" "\0" "JOHAB" "\0";
++ "CP1361" "\0" "JOHAB" "\0"
++ "CP20127" "\0" "ASCII" "\0"
++ "CP20866" "\0" "KOI8-R" "\0"
++ "CP21866" "\0" "KOI8-RU" "\0"
++ "CP28591" "\0" "ISO-8859-1" "\0"
++ "CP28592" "\0" "ISO-8859-2" "\0"
++ "CP28593" "\0" "ISO-8859-3" "\0"
++ "CP28594" "\0" "ISO-8859-4" "\0"
++ "CP28595" "\0" "ISO-8859-5" "\0"
++ "CP28596" "\0" "ISO-8859-6" "\0"
++ "CP28597" "\0" "ISO-8859-7" "\0"
++ "CP28598" "\0" "ISO-8859-8" "\0"
++ "CP28599" "\0" "ISO-8859-9" "\0"
++ "CP28605" "\0" "ISO-8859-15" "\0";
++# endif
+ #endif
+
+ charset_aliases = cp;
+@@ -205,7 +273,7 @@
+ const char *codeset;
+ const char *aliases;
+
+-#ifndef WIN32
++#if !(defined WIN32 || defined OS2)
+
+ # if HAVE_LANGINFO_CODESET
+
+@@ -242,14 +310,67 @@
+
+ # endif
+
+-#else /* WIN32 */
++#elif defined WIN32
+
+ static char buf[2 + 10 + 1];
+
+- /* Win32 has a function returning the locale's codepage as a number. */
++ /* Woe32 has a function returning the locale's codepage as a number. */
+ sprintf (buf, "CP%u", GetACP ());
+ codeset = buf;
+
++#elif defined OS2
++
++ const char *locale;
++ static char buf[2 + 10 + 1];
++ ULONG cp[3];
++ ULONG cplen;
++
++ /* Allow user to override the codeset, as set in the operating system,
++ with standard language environment variables. */
++ locale = getenv ("LC_ALL");
++ if (locale == NULL || locale[0] == '\0')
++ {
++ locale = getenv ("LC_CTYPE");
++ if (locale == NULL || locale[0] == '\0')
++ locale = getenv ("LANG");
++ }
++ if (locale != NULL && locale[0] != '\0')
++ {
++ /* If the locale name contains an encoding after the dot, return it. */
++ const char *dot = strchr (locale, '.');
++
++ if (dot != NULL)
++ {
++ const char *modifier;
++
++ dot++;
++ /* Look for the possible @... trailer and remove it, if any. */
++ modifier = strchr (dot, '@');
++ if (modifier == NULL)
++ return dot;
++ if (modifier - dot < sizeof (buf))
++ {
++ memcpy (buf, dot, modifier - dot);
++ buf [modifier - dot] = '\0';
++ return buf;
++ }
++ }
++
++ /* Resolve through the charset.alias file. */
++ codeset = locale;
++ }
++ else
++ {
++ /* OS/2 has a function returning the locale's codepage as a number. */
++ if (DosQueryCp (sizeof (cp), cp, &cplen))
++ codeset = "";
++ else
++ {
++ sprintf (buf, "CP%u", cp[0]);
++ codeset = buf;
++ }
++ }
++
+ #endif
+
+ if (codeset == NULL)
+@@ -267,5 +388,11 @@
+ break;
+ }
+
++ /* Don't return an empty string. GNU libc and GNU libiconv interpret
++ the empty string as denoting "the locale's character encoding",
++ thus GNU libiconv would call this function a second time. */
++ if (codeset[0] == '\0')
++ codeset = "ASCII";
++
+ return codeset;
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/localcharset.h psmisc-20.2.works.clean/intl/localcharset.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/localcharset.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/localcharset.h 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,42 @@
++/* Determine a canonical name for the current locale's character encoding.
++ Copyright (C) 2000-2003 Free Software Foundation, Inc.
++ This file is part of the GNU CHARSET Library.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _LOCALCHARSET_H
++#define _LOCALCHARSET_H
++
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* Determine the current locale's character encoding, and canonicalize it
++ into one of the canonical names listed in config.charset.
++ The result must not be freed; it is statically allocated.
++ If the canonical name cannot be determined, the result is a non-canonical
++ name. */
++extern const char * locale_charset (void);
++
++
++#ifdef __cplusplus
++}
++#endif
++
++
++#endif /* _LOCALCHARSET_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/locale.alias psmisc-20.2.works.clean/intl/locale.alias
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/locale.alias 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/locale.alias 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ # Locale name alias data base.
+-# Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
++# Copyright (C) 1996-2001,2003 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 2, or (at your option)
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU Library General Public License as published
++# by the Free Software Foundation; either version 2, 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.
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# Library General Public License for more details.
+ #
+-# You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++# You should have received a copy of the GNU Library General Public
++# License along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++# USA.
+
+ # The format of this file is the same as for the corresponding file of
+ # the X Window System, which normally can be found in
+@@ -28,8 +29,8 @@
+
+ # Packages using this file:
+
+-bokmal no_NO.ISO-8859-1
+-bokmål no_NO.ISO-8859-1
++bokmal nb_NO.ISO-8859-1
++bokmål nb_NO.ISO-8859-1
+ catalan ca_ES.ISO-8859-1
+ croatian hr_HR.ISO-8859-2
+ czech cs_CZ.ISO-8859-2
+@@ -46,7 +47,7 @@
+ galician gl_ES.ISO-8859-1
+ german de_DE.ISO-8859-1
+ greek el_GR.ISO-8859-7
+-hebrew iw_IL.ISO-8859-8
++hebrew he_IL.ISO-8859-8
+ hrvatski hr_HR.ISO-8859-2
+ hungarian hu_HU.ISO-8859-2
+ icelandic is_IS.ISO-8859-1
+@@ -60,9 +61,9 @@
+ korean.euc ko_KR.eucKR
+ ko_KR ko_KR.eucKR
+ lithuanian lt_LT.ISO-8859-13
+-nb_NO no_NO.ISO-8859-1
+-nb_NO.ISO-8859-1 no_NO.ISO-8859-1
+-norwegian no_NO.ISO-8859-1
++no_NO nb_NO.ISO-8859-1
++no_NO.ISO-8859-1 nb_NO.ISO-8859-1
++norwegian nb_NO.ISO-8859-1
+ nynorsk nn_NO.ISO-8859-1
+ polish pl_PL.ISO-8859-2
+ portuguese pt_PT.ISO-8859-1
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/localealias.c psmisc-20.2.works.clean/intl/localealias.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/localealias.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/localealias.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Handle aliases for locale names.
+- Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1999, 2000-2001, 2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ /* Tell glibc's <string.h> to provide a prototype for mempcpy().
+ This must come before <config.h> because <config.h> may include
+@@ -28,36 +29,45 @@
+
+ #include <ctype.h>
+ #include <stdio.h>
++#if defined _LIBC || defined HAVE___FSETLOCKING
++# include <stdio_ext.h>
++#endif
+ #include <sys/types.h>
+
+ #ifdef __GNUC__
++# undef alloca
+ # define alloca __builtin_alloca
+ # define HAVE_ALLOCA 1
+ #else
+-# if defined HAVE_ALLOCA_H || defined _LIBC
+-# include <alloca.h>
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
+ # else
+-# ifdef _AIX
+- #pragma alloca
++# if defined HAVE_ALLOCA_H || defined _LIBC
++# include <alloca.h>
+ # else
+-# ifndef alloca
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca
+ char *alloca ();
++# endif
+ # endif
+ # endif
+ # endif
+ #endif
+
+ #include <stdlib.h>
+-
+ #include <string.h>
+-#if !HAVE_STRCHR && !defined _LIBC
+-# ifndef strchr
+-# define strchr index
+-# endif
+-#endif
+
+ #include "gettextP.h"
+
++#if ENABLE_RELOCATABLE
++# include "relocatable.h"
++#else
++# define relocate(pathname) (pathname)
++#endif
++
+ /* @@ end of prolog @@ */
+
+ #ifdef _LIBC
+@@ -70,6 +80,7 @@
+ # define mempcpy __mempcpy
+ # endif
+ # define HAVE_MEMPCPY 1
++# define HAVE___FSETLOCKING 1
+
+ /* We need locking here since we can be called from different places. */
+ # include <bits/libc-lock.h>
+@@ -81,6 +92,15 @@
+ # define internal_function
+ #endif
+
++/* Some optimizations for glibc. */
++#ifdef _LIBC
++# define FEOF(fp) feof_unlocked (fp)
++# define FGETS(buf, n, fp) fgets_unlocked (buf, n, fp)
++#else
++# define FEOF(fp) feof (fp)
++# define FGETS(buf, n, fp) fgets (buf, n, fp)
++#endif
++
+ /* For those losing systems which don't have `alloca' we have to add
+ some additional code emulating it. */
+ #ifdef HAVE_ALLOCA
+@@ -90,11 +110,11 @@
+ # define freea(p) free (p)
+ #endif
+
+-#if defined _LIBC_REENTRANT || defined HAVE_FGETS_UNLOCKED
++#if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED
+ # undef fgets
+ # define fgets(buf, len, s) fgets_unlocked (buf, len, s)
+ #endif
+-#if defined _LIBC_REENTRANT || defined HAVE_FEOF_UNLOCKED
++#if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED
+ # undef feof
+ # define feof(s) feof_unlocked (s)
+ #endif
+@@ -107,27 +127,30 @@
+ };
+
+
+-static char *string_space;
++#ifndef _LIBC
++# define libc_freeres_ptr(decl) decl
++#endif
++
++libc_freeres_ptr (static char *string_space);
+ static size_t string_space_act;
+ static size_t string_space_max;
+-static struct alias_map *map;
++libc_freeres_ptr (static struct alias_map *map);
+ static size_t nmap;
+ static size_t maxmap;
+
+
+ /* Prototypes for local functions. */
+-static size_t read_alias_file PARAMS ((const char *fname, int fname_len))
++static size_t read_alias_file (const char *fname, int fname_len)
+ internal_function;
+-static int extend_alias_table PARAMS ((void));
+-static int alias_compare PARAMS ((const struct alias_map *map1,
+- const struct alias_map *map2));
++static int extend_alias_table (void);
++static int alias_compare (const struct alias_map *map1,
++ const struct alias_map *map2);
+
+
+ const char *
+-_nl_expand_alias (name)
+- const char *name;
++_nl_expand_alias (const char *name)
+ {
+- static const char *locale_alias_path = LOCALE_ALIAS_PATH;
++ static const char *locale_alias_path;
+ struct alias_map *retval;
+ const char *result = NULL;
+ size_t added;
+@@ -136,6 +159,9 @@
+ __libc_lock_lock (lock);
+ #endif
+
++ if (locale_alias_path == NULL)
++ locale_alias_path = LOCALE_ALIAS_PATH;
++
+ do
+ {
+ struct alias_map item;
+@@ -145,8 +171,8 @@
+ if (nmap > 0)
+ retval = (struct alias_map *) bsearch (&item, map, nmap,
+ sizeof (struct alias_map),
+- (int (*) PARAMS ((const void *,
+- const void *))
++ (int (*) (const void *,
++ const void *)
+ ) alias_compare);
+ else
+ retval = NULL;
+@@ -188,9 +214,7 @@
+
+ static size_t
+ internal_function
+-read_alias_file (fname, fname_len)
+- const char *fname;
+- int fname_len;
++read_alias_file (const char *fname, int fname_len)
+ {
+ FILE *fp;
+ char *full_fname;
+@@ -206,58 +230,52 @@
+ memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
+ #endif
+
+- fp = fopen (full_fname, "r");
++ fp = fopen (relocate (full_fname), "r");
+ freea (full_fname);
+ if (fp == NULL)
+ return 0;
+
++#ifdef HAVE___FSETLOCKING
++ /* No threads present. */
++ __fsetlocking (fp, FSETLOCKING_BYCALLER);
++#endif
++
+ added = 0;
+- while (!feof (fp))
++ while (!FEOF (fp))
+ {
+ /* It is a reasonable approach to use a fix buffer here because
+ a) we are only interested in the first two fields
+ b) these fields must be usable as file names and so must not
+ be that long
+- */
+- char buf[BUFSIZ];
++ We avoid a multi-kilobyte buffer here since this would use up
++ stack space which we might not have if the program ran out of
++ memory. */
++ char buf[400];
+ char *alias;
+ char *value;
+ char *cp;
+
+- if (fgets (buf, sizeof buf, fp) == NULL)
++ if (FGETS (buf, sizeof buf, fp) == NULL)
+ /* EOF reached. */
+ break;
+
+- /* Possibly not the whole line fits into the buffer. Ignore
+- the rest of the line. */
+- if (strchr (buf, '\n') == NULL)
+- {
+- char altbuf[BUFSIZ];
+- do
+- if (fgets (altbuf, sizeof altbuf, fp) == NULL)
+- /* Make sure the inner loop will be left. The outer loop
+- will exit at the `feof' test. */
+- break;
+- while (strchr (altbuf, '\n') == NULL);
+- }
+-
+ cp = buf;
+ /* Ignore leading white space. */
+- while (isspace (cp[0]))
++ while (isspace ((unsigned char) cp[0]))
+ ++cp;
+
+ /* A leading '#' signals a comment line. */
+ if (cp[0] != '\0' && cp[0] != '#')
+ {
+ alias = cp++;
+- while (cp[0] != '\0' && !isspace (cp[0]))
++ while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
+ ++cp;
+ /* Terminate alias name. */
+ if (cp[0] != '\0')
+ *cp++ = '\0';
+
+ /* Now look for the beginning of the value. */
+- while (isspace (cp[0]))
++ while (isspace ((unsigned char) cp[0]))
+ ++cp;
+
+ if (cp[0] != '\0')
+@@ -266,7 +284,7 @@
+ size_t value_len;
+
+ value = cp++;
+- while (cp[0] != '\0' && !isspace (cp[0]))
++ while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
+ ++cp;
+ /* Terminate value. */
+ if (cp[0] == '\n')
+@@ -324,6 +342,14 @@
+ ++added;
+ }
+ }
++
++ /* Possibly not the whole line fits into the buffer. Ignore
++ the rest of the line. */
++ while (strchr (buf, '\n') == NULL)
++ if (FGETS (buf, sizeof buf, fp) == NULL)
++ /* Make sure the inner loop will be left. The outer loop
++ will exit at the `feof' test. */
++ break;
+ }
+
+ /* Should we test for ferror()? I think we have to silently ignore
+@@ -332,7 +358,7 @@
+
+ if (added > 0)
+ qsort (map, nmap, sizeof (struct alias_map),
+- (int (*) PARAMS ((const void *, const void *))) alias_compare);
++ (int (*) (const void *, const void *)) alias_compare);
+
+ return added;
+ }
+@@ -357,23 +383,8 @@
+ }
+
+
+-#ifdef _LIBC
+-static void __attribute__ ((unused))
+-free_mem (void)
+-{
+- if (string_space != NULL)
+- free (string_space);
+- if (map != NULL)
+- free (map);
+-}
+-text_set_element (__libc_subfreeres, free_mem);
+-#endif
+-
+-
+ static int
+-alias_compare (map1, map2)
+- const struct alias_map *map1;
+- const struct alias_map *map2;
++alias_compare (const struct alias_map *map1, const struct alias_map *map2)
+ {
+ #if defined _LIBC || defined HAVE_STRCASECMP
+ return strcasecmp (map1->alias, map2->alias);
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/localename.c psmisc-20.2.works.clean/intl/localename.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/localename.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/localename.c 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,1142 @@
++/* Determine the current selected locale.
++ Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Written by Ulrich Drepper <drepper@gnu.org>, 1995. */
++/* Win32 code written by Tor Lillqvist <tml@iki.fi>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdlib.h>
++#include <locale.h>
++
++#if defined _WIN32 || defined __WIN32__
++# undef WIN32 /* avoid warning on mingw32 */
++# define WIN32
++#endif
++
++#ifdef WIN32
++# define WIN32_LEAN_AND_MEAN
++# include <windows.h>
++/* List of language codes, sorted by value:
++ 0x01 LANG_ARABIC
++ 0x02 LANG_BULGARIAN
++ 0x03 LANG_CATALAN
++ 0x04 LANG_CHINESE
++ 0x05 LANG_CZECH
++ 0x06 LANG_DANISH
++ 0x07 LANG_GERMAN
++ 0x08 LANG_GREEK
++ 0x09 LANG_ENGLISH
++ 0x0a LANG_SPANISH
++ 0x0b LANG_FINNISH
++ 0x0c LANG_FRENCH
++ 0x0d LANG_HEBREW
++ 0x0e LANG_HUNGARIAN
++ 0x0f LANG_ICELANDIC
++ 0x10 LANG_ITALIAN
++ 0x11 LANG_JAPANESE
++ 0x12 LANG_KOREAN
++ 0x13 LANG_DUTCH
++ 0x14 LANG_NORWEGIAN
++ 0x15 LANG_POLISH
++ 0x16 LANG_PORTUGUESE
++ 0x17 LANG_RHAETO_ROMANCE
++ 0x18 LANG_ROMANIAN
++ 0x19 LANG_RUSSIAN
++ 0x1a LANG_CROATIAN == LANG_SERBIAN
++ 0x1b LANG_SLOVAK
++ 0x1c LANG_ALBANIAN
++ 0x1d LANG_SWEDISH
++ 0x1e LANG_THAI
++ 0x1f LANG_TURKISH
++ 0x20 LANG_URDU
++ 0x21 LANG_INDONESIAN
++ 0x22 LANG_UKRAINIAN
++ 0x23 LANG_BELARUSIAN
++ 0x24 LANG_SLOVENIAN
++ 0x25 LANG_ESTONIAN
++ 0x26 LANG_LATVIAN
++ 0x27 LANG_LITHUANIAN
++ 0x28 LANG_TAJIK
++ 0x29 LANG_FARSI
++ 0x2a LANG_VIETNAMESE
++ 0x2b LANG_ARMENIAN
++ 0x2c LANG_AZERI
++ 0x2d LANG_BASQUE
++ 0x2e LANG_SORBIAN
++ 0x2f LANG_MACEDONIAN
++ 0x30 LANG_SUTU
++ 0x31 LANG_TSONGA
++ 0x32 LANG_TSWANA
++ 0x33 LANG_VENDA
++ 0x34 LANG_XHOSA
++ 0x35 LANG_ZULU
++ 0x36 LANG_AFRIKAANS
++ 0x37 LANG_GEORGIAN
++ 0x38 LANG_FAEROESE
++ 0x39 LANG_HINDI
++ 0x3a LANG_MALTESE
++ 0x3b LANG_SAAMI
++ 0x3c LANG_GAELIC
++ 0x3d LANG_YIDDISH
++ 0x3e LANG_MALAY
++ 0x3f LANG_KAZAK
++ 0x40 LANG_KYRGYZ
++ 0x41 LANG_SWAHILI
++ 0x42 LANG_TURKMEN
++ 0x43 LANG_UZBEK
++ 0x44 LANG_TATAR
++ 0x45 LANG_BENGALI
++ 0x46 LANG_PUNJABI
++ 0x47 LANG_GUJARATI
++ 0x48 LANG_ORIYA
++ 0x49 LANG_TAMIL
++ 0x4a LANG_TELUGU
++ 0x4b LANG_KANNADA
++ 0x4c LANG_MALAYALAM
++ 0x4d LANG_ASSAMESE
++ 0x4e LANG_MARATHI
++ 0x4f LANG_SANSKRIT
++ 0x50 LANG_MONGOLIAN
++ 0x51 LANG_TIBETAN
++ 0x52 LANG_WELSH
++ 0x53 LANG_CAMBODIAN
++ 0x54 LANG_LAO
++ 0x55 LANG_BURMESE
++ 0x56 LANG_GALICIAN
++ 0x57 LANG_KONKANI
++ 0x58 LANG_MANIPURI
++ 0x59 LANG_SINDHI
++ 0x5a LANG_SYRIAC
++ 0x5b LANG_SINHALESE
++ 0x5c LANG_CHEROKEE
++ 0x5d LANG_INUKTITUT
++ 0x5e LANG_AMHARIC
++ 0x5f LANG_TAMAZIGHT
++ 0x60 LANG_KASHMIRI
++ 0x61 LANG_NEPALI
++ 0x62 LANG_FRISIAN
++ 0x63 LANG_PASHTO
++ 0x64 LANG_TAGALOG
++ 0x65 LANG_DIVEHI
++ 0x66 LANG_EDO
++ 0x67 LANG_FULFULDE
++ 0x68 LANG_HAUSA
++ 0x69 LANG_IBIBIO
++ 0x6a LANG_YORUBA
++ 0x70 LANG_IGBO
++ 0x71 LANG_KANURI
++ 0x72 LANG_OROMO
++ 0x73 LANG_TIGRINYA
++ 0x74 LANG_GUARANI
++ 0x75 LANG_HAWAIIAN
++ 0x76 LANG_LATIN
++ 0x77 LANG_SOMALI
++ 0x78 LANG_YI
++ 0x79 LANG_PAPIAMENTU
++*/
++/* Mingw headers don't have latest language and sublanguage codes. */
++# ifndef LANG_AFRIKAANS
++# define LANG_AFRIKAANS 0x36
++# endif
++# ifndef LANG_ALBANIAN
++# define LANG_ALBANIAN 0x1c
++# endif
++# ifndef LANG_AMHARIC
++# define LANG_AMHARIC 0x5e
++# endif
++# ifndef LANG_ARABIC
++# define LANG_ARABIC 0x01
++# endif
++# ifndef LANG_ARMENIAN
++# define LANG_ARMENIAN 0x2b
++# endif
++# ifndef LANG_ASSAMESE
++# define LANG_ASSAMESE 0x4d
++# endif
++# ifndef LANG_AZERI
++# define LANG_AZERI 0x2c
++# endif
++# ifndef LANG_BASQUE
++# define LANG_BASQUE 0x2d
++# endif
++# ifndef LANG_BELARUSIAN
++# define LANG_BELARUSIAN 0x23
++# endif
++# ifndef LANG_BENGALI
++# define LANG_BENGALI 0x45
++# endif
++# ifndef LANG_BURMESE
++# define LANG_BURMESE 0x55
++# endif
++# ifndef LANG_CAMBODIAN
++# define LANG_CAMBODIAN 0x53
++# endif
++# ifndef LANG_CATALAN
++# define LANG_CATALAN 0x03
++# endif
++# ifndef LANG_CHEROKEE
++# define LANG_CHEROKEE 0x5c
++# endif
++# ifndef LANG_DIVEHI
++# define LANG_DIVEHI 0x65
++# endif
++# ifndef LANG_EDO
++# define LANG_EDO 0x66
++# endif
++# ifndef LANG_ESTONIAN
++# define LANG_ESTONIAN 0x25
++# endif
++# ifndef LANG_FAEROESE
++# define LANG_FAEROESE 0x38
++# endif
++# ifndef LANG_FARSI
++# define LANG_FARSI 0x29
++# endif
++# ifndef LANG_FRISIAN
++# define LANG_FRISIAN 0x62
++# endif
++# ifndef LANG_FULFULDE
++# define LANG_FULFULDE 0x67
++# endif
++# ifndef LANG_GAELIC
++# define LANG_GAELIC 0x3c
++# endif
++# ifndef LANG_GALICIAN
++# define LANG_GALICIAN 0x56
++# endif
++# ifndef LANG_GEORGIAN
++# define LANG_GEORGIAN 0x37
++# endif
++# ifndef LANG_GUARANI
++# define LANG_GUARANI 0x74
++# endif
++# ifndef LANG_GUJARATI
++# define LANG_GUJARATI 0x47
++# endif
++# ifndef LANG_HAUSA
++# define LANG_HAUSA 0x68
++# endif
++# ifndef LANG_HAWAIIAN
++# define LANG_HAWAIIAN 0x75
++# endif
++# ifndef LANG_HEBREW
++# define LANG_HEBREW 0x0d
++# endif
++# ifndef LANG_HINDI
++# define LANG_HINDI 0x39
++# endif
++# ifndef LANG_IBIBIO
++# define LANG_IBIBIO 0x69
++# endif
++# ifndef LANG_IGBO
++# define LANG_IGBO 0x70
++# endif
++# ifndef LANG_INDONESIAN
++# define LANG_INDONESIAN 0x21
++# endif
++# ifndef LANG_INUKTITUT
++# define LANG_INUKTITUT 0x5d
++# endif
++# ifndef LANG_KANNADA
++# define LANG_KANNADA 0x4b
++# endif
++# ifndef LANG_KANURI
++# define LANG_KANURI 0x71
++# endif
++# ifndef LANG_KASHMIRI
++# define LANG_KASHMIRI 0x60
++# endif
++# ifndef LANG_KAZAK
++# define LANG_KAZAK 0x3f
++# endif
++# ifndef LANG_KONKANI
++# define LANG_KONKANI 0x57
++# endif
++# ifndef LANG_KYRGYZ
++# define LANG_KYRGYZ 0x40
++# endif
++# ifndef LANG_LAO
++# define LANG_LAO 0x54
++# endif
++# ifndef LANG_LATIN
++# define LANG_LATIN 0x76
++# endif
++# ifndef LANG_LATVIAN
++# define LANG_LATVIAN 0x26
++# endif
++# ifndef LANG_LITHUANIAN
++# define LANG_LITHUANIAN 0x27
++# endif
++# ifndef LANG_MACEDONIAN
++# define LANG_MACEDONIAN 0x2f
++# endif
++# ifndef LANG_MALAY
++# define LANG_MALAY 0x3e
++# endif
++# ifndef LANG_MALAYALAM
++# define LANG_MALAYALAM 0x4c
++# endif
++# ifndef LANG_MALTESE
++# define LANG_MALTESE 0x3a
++# endif
++# ifndef LANG_MANIPURI
++# define LANG_MANIPURI 0x58
++# endif
++# ifndef LANG_MARATHI
++# define LANG_MARATHI 0x4e
++# endif
++# ifndef LANG_MONGOLIAN
++# define LANG_MONGOLIAN 0x50
++# endif
++# ifndef LANG_NEPALI
++# define LANG_NEPALI 0x61
++# endif
++# ifndef LANG_ORIYA
++# define LANG_ORIYA 0x48
++# endif
++# ifndef LANG_OROMO
++# define LANG_OROMO 0x72
++# endif
++# ifndef LANG_PAPIAMENTU
++# define LANG_PAPIAMENTU 0x79
++# endif
++# ifndef LANG_PASHTO
++# define LANG_PASHTO 0x63
++# endif
++# ifndef LANG_PUNJABI
++# define LANG_PUNJABI 0x46
++# endif
++# ifndef LANG_RHAETO_ROMANCE
++# define LANG_RHAETO_ROMANCE 0x17
++# endif
++# ifndef LANG_SAAMI
++# define LANG_SAAMI 0x3b
++# endif
++# ifndef LANG_SANSKRIT
++# define LANG_SANSKRIT 0x4f
++# endif
++# ifndef LANG_SERBIAN
++# define LANG_SERBIAN 0x1a
++# endif
++# ifndef LANG_SINDHI
++# define LANG_SINDHI 0x59
++# endif
++# ifndef LANG_SINHALESE
++# define LANG_SINHALESE 0x5b
++# endif
++# ifndef LANG_SLOVAK
++# define LANG_SLOVAK 0x1b
++# endif
++# ifndef LANG_SOMALI
++# define LANG_SOMALI 0x77
++# endif
++# ifndef LANG_SORBIAN
++# define LANG_SORBIAN 0x2e
++# endif
++# ifndef LANG_SUTU
++# define LANG_SUTU 0x30
++# endif
++# ifndef LANG_SWAHILI
++# define LANG_SWAHILI 0x41
++# endif
++# ifndef LANG_SYRIAC
++# define LANG_SYRIAC 0x5a
++# endif
++# ifndef LANG_TAGALOG
++# define LANG_TAGALOG 0x64
++# endif
++# ifndef LANG_TAJIK
++# define LANG_TAJIK 0x28
++# endif
++# ifndef LANG_TAMAZIGHT
++# define LANG_TAMAZIGHT 0x5f
++# endif
++# ifndef LANG_TAMIL
++# define LANG_TAMIL 0x49
++# endif
++# ifndef LANG_TATAR
++# define LANG_TATAR 0x44
++# endif
++# ifndef LANG_TELUGU
++# define LANG_TELUGU 0x4a
++# endif
++# ifndef LANG_THAI
++# define LANG_THAI 0x1e
++# endif
++# ifndef LANG_TIBETAN
++# define LANG_TIBETAN 0x51
++# endif
++# ifndef LANG_TIGRINYA
++# define LANG_TIGRINYA 0x73
++# endif
++# ifndef LANG_TSONGA
++# define LANG_TSONGA 0x31
++# endif
++# ifndef LANG_TSWANA
++# define LANG_TSWANA 0x32
++# endif
++# ifndef LANG_TURKMEN
++# define LANG_TURKMEN 0x42
++# endif
++# ifndef LANG_UKRAINIAN
++# define LANG_UKRAINIAN 0x22
++# endif
++# ifndef LANG_URDU
++# define LANG_URDU 0x20
++# endif
++# ifndef LANG_UZBEK
++# define LANG_UZBEK 0x43
++# endif
++# ifndef LANG_VENDA
++# define LANG_VENDA 0x33
++# endif
++# ifndef LANG_VIETNAMESE
++# define LANG_VIETNAMESE 0x2a
++# endif
++# ifndef LANG_WELSH
++# define LANG_WELSH 0x52
++# endif
++# ifndef LANG_XHOSA
++# define LANG_XHOSA 0x34
++# endif
++# ifndef LANG_YI
++# define LANG_YI 0x78
++# endif
++# ifndef LANG_YIDDISH
++# define LANG_YIDDISH 0x3d
++# endif
++# ifndef LANG_YORUBA
++# define LANG_YORUBA 0x6a
++# endif
++# ifndef LANG_ZULU
++# define LANG_ZULU 0x35
++# endif
++# ifndef SUBLANG_ARABIC_SAUDI_ARABIA
++# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
++# endif
++# ifndef SUBLANG_ARABIC_IRAQ
++# define SUBLANG_ARABIC_IRAQ 0x02
++# endif
++# ifndef SUBLANG_ARABIC_EGYPT
++# define SUBLANG_ARABIC_EGYPT 0x03
++# endif
++# ifndef SUBLANG_ARABIC_LIBYA
++# define SUBLANG_ARABIC_LIBYA 0x04
++# endif
++# ifndef SUBLANG_ARABIC_ALGERIA
++# define SUBLANG_ARABIC_ALGERIA 0x05
++# endif
++# ifndef SUBLANG_ARABIC_MOROCCO
++# define SUBLANG_ARABIC_MOROCCO 0x06
++# endif
++# ifndef SUBLANG_ARABIC_TUNISIA
++# define SUBLANG_ARABIC_TUNISIA 0x07
++# endif
++# ifndef SUBLANG_ARABIC_OMAN
++# define SUBLANG_ARABIC_OMAN 0x08
++# endif
++# ifndef SUBLANG_ARABIC_YEMEN
++# define SUBLANG_ARABIC_YEMEN 0x09
++# endif
++# ifndef SUBLANG_ARABIC_SYRIA
++# define SUBLANG_ARABIC_SYRIA 0x0a
++# endif
++# ifndef SUBLANG_ARABIC_JORDAN
++# define SUBLANG_ARABIC_JORDAN 0x0b
++# endif
++# ifndef SUBLANG_ARABIC_LEBANON
++# define SUBLANG_ARABIC_LEBANON 0x0c
++# endif
++# ifndef SUBLANG_ARABIC_KUWAIT
++# define SUBLANG_ARABIC_KUWAIT 0x0d
++# endif
++# ifndef SUBLANG_ARABIC_UAE
++# define SUBLANG_ARABIC_UAE 0x0e
++# endif
++# ifndef SUBLANG_ARABIC_BAHRAIN
++# define SUBLANG_ARABIC_BAHRAIN 0x0f
++# endif
++# ifndef SUBLANG_ARABIC_QATAR
++# define SUBLANG_ARABIC_QATAR 0x10
++# endif
++# ifndef SUBLANG_AZERI_LATIN
++# define SUBLANG_AZERI_LATIN 0x01
++# endif
++# ifndef SUBLANG_AZERI_CYRILLIC
++# define SUBLANG_AZERI_CYRILLIC 0x02
++# endif
++# ifndef SUBLANG_BENGALI_INDIA
++# define SUBLANG_BENGALI_INDIA 0x00
++# endif
++# ifndef SUBLANG_BENGALI_BANGLADESH
++# define SUBLANG_BENGALI_BANGLADESH 0x01
++# endif
++# ifndef SUBLANG_CHINESE_MACAU
++# define SUBLANG_CHINESE_MACAU 0x05
++# endif
++# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
++# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
++# endif
++# ifndef SUBLANG_ENGLISH_JAMAICA
++# define SUBLANG_ENGLISH_JAMAICA 0x08
++# endif
++# ifndef SUBLANG_ENGLISH_CARIBBEAN
++# define SUBLANG_ENGLISH_CARIBBEAN 0x09
++# endif
++# ifndef SUBLANG_ENGLISH_BELIZE
++# define SUBLANG_ENGLISH_BELIZE 0x0a
++# endif
++# ifndef SUBLANG_ENGLISH_TRINIDAD
++# define SUBLANG_ENGLISH_TRINIDAD 0x0b
++# endif
++# ifndef SUBLANG_ENGLISH_ZIMBABWE
++# define SUBLANG_ENGLISH_ZIMBABWE 0x0c
++# endif
++# ifndef SUBLANG_ENGLISH_PHILIPPINES
++# define SUBLANG_ENGLISH_PHILIPPINES 0x0d
++# endif
++# ifndef SUBLANG_ENGLISH_INDONESIA
++# define SUBLANG_ENGLISH_INDONESIA 0x0e
++# endif
++# ifndef SUBLANG_ENGLISH_HONGKONG
++# define SUBLANG_ENGLISH_HONGKONG 0x0f
++# endif
++# ifndef SUBLANG_ENGLISH_INDIA
++# define SUBLANG_ENGLISH_INDIA 0x10
++# endif
++# ifndef SUBLANG_ENGLISH_MALAYSIA
++# define SUBLANG_ENGLISH_MALAYSIA 0x11
++# endif
++# ifndef SUBLANG_ENGLISH_SINGAPORE
++# define SUBLANG_ENGLISH_SINGAPORE 0x12
++# endif
++# ifndef SUBLANG_FRENCH_LUXEMBOURG
++# define SUBLANG_FRENCH_LUXEMBOURG 0x05
++# endif
++# ifndef SUBLANG_FRENCH_MONACO
++# define SUBLANG_FRENCH_MONACO 0x06
++# endif
++# ifndef SUBLANG_FRENCH_WESTINDIES
++# define SUBLANG_FRENCH_WESTINDIES 0x07
++# endif
++# ifndef SUBLANG_FRENCH_REUNION
++# define SUBLANG_FRENCH_REUNION 0x08
++# endif
++# ifndef SUBLANG_FRENCH_CONGO
++# define SUBLANG_FRENCH_CONGO 0x09
++# endif
++# ifndef SUBLANG_FRENCH_SENEGAL
++# define SUBLANG_FRENCH_SENEGAL 0x0a
++# endif
++# ifndef SUBLANG_FRENCH_CAMEROON
++# define SUBLANG_FRENCH_CAMEROON 0x0b
++# endif
++# ifndef SUBLANG_FRENCH_COTEDIVOIRE
++# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c
++# endif
++# ifndef SUBLANG_FRENCH_MALI
++# define SUBLANG_FRENCH_MALI 0x0d
++# endif
++# ifndef SUBLANG_FRENCH_MOROCCO
++# define SUBLANG_FRENCH_MOROCCO 0x0e
++# endif
++# ifndef SUBLANG_FRENCH_HAITI
++# define SUBLANG_FRENCH_HAITI 0x0f
++# endif
++# ifndef SUBLANG_GERMAN_LUXEMBOURG
++# define SUBLANG_GERMAN_LUXEMBOURG 0x04
++# endif
++# ifndef SUBLANG_GERMAN_LIECHTENSTEIN
++# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
++# endif
++# ifndef SUBLANG_KASHMIRI_INDIA
++# define SUBLANG_KASHMIRI_INDIA 0x02
++# endif
++# ifndef SUBLANG_MALAY_MALAYSIA
++# define SUBLANG_MALAY_MALAYSIA 0x01
++# endif
++# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
++# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
++# endif
++# ifndef SUBLANG_NEPALI_INDIA
++# define SUBLANG_NEPALI_INDIA 0x02
++# endif
++# ifndef SUBLANG_PUNJABI_INDIA
++# define SUBLANG_PUNJABI_INDIA 0x00
++# endif
++# ifndef SUBLANG_PUNJABI_PAKISTAN
++# define SUBLANG_PUNJABI_PAKISTAN 0x01
++# endif
++# ifndef SUBLANG_ROMANIAN_ROMANIA
++# define SUBLANG_ROMANIAN_ROMANIA 0x00
++# endif
++# ifndef SUBLANG_ROMANIAN_MOLDOVA
++# define SUBLANG_ROMANIAN_MOLDOVA 0x01
++# endif
++# ifndef SUBLANG_SERBIAN_LATIN
++# define SUBLANG_SERBIAN_LATIN 0x02
++# endif
++# ifndef SUBLANG_SERBIAN_CYRILLIC
++# define SUBLANG_SERBIAN_CYRILLIC 0x03
++# endif
++# ifndef SUBLANG_SINDHI_INDIA
++# define SUBLANG_SINDHI_INDIA 0x00
++# endif
++# ifndef SUBLANG_SINDHI_PAKISTAN
++# define SUBLANG_SINDHI_PAKISTAN 0x01
++# endif
++# ifndef SUBLANG_SPANISH_GUATEMALA
++# define SUBLANG_SPANISH_GUATEMALA 0x04
++# endif
++# ifndef SUBLANG_SPANISH_COSTA_RICA
++# define SUBLANG_SPANISH_COSTA_RICA 0x05
++# endif
++# ifndef SUBLANG_SPANISH_PANAMA
++# define SUBLANG_SPANISH_PANAMA 0x06
++# endif
++# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
++# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
++# endif
++# ifndef SUBLANG_SPANISH_VENEZUELA
++# define SUBLANG_SPANISH_VENEZUELA 0x08
++# endif
++# ifndef SUBLANG_SPANISH_COLOMBIA
++# define SUBLANG_SPANISH_COLOMBIA 0x09
++# endif
++# ifndef SUBLANG_SPANISH_PERU
++# define SUBLANG_SPANISH_PERU 0x0a
++# endif
++# ifndef SUBLANG_SPANISH_ARGENTINA
++# define SUBLANG_SPANISH_ARGENTINA 0x0b
++# endif
++# ifndef SUBLANG_SPANISH_ECUADOR
++# define SUBLANG_SPANISH_ECUADOR 0x0c
++# endif
++# ifndef SUBLANG_SPANISH_CHILE
++# define SUBLANG_SPANISH_CHILE 0x0d
++# endif
++# ifndef SUBLANG_SPANISH_URUGUAY
++# define SUBLANG_SPANISH_URUGUAY 0x0e
++# endif
++# ifndef SUBLANG_SPANISH_PARAGUAY
++# define SUBLANG_SPANISH_PARAGUAY 0x0f
++# endif
++# ifndef SUBLANG_SPANISH_BOLIVIA
++# define SUBLANG_SPANISH_BOLIVIA 0x10
++# endif
++# ifndef SUBLANG_SPANISH_EL_SALVADOR
++# define SUBLANG_SPANISH_EL_SALVADOR 0x11
++# endif
++# ifndef SUBLANG_SPANISH_HONDURAS
++# define SUBLANG_SPANISH_HONDURAS 0x12
++# endif
++# ifndef SUBLANG_SPANISH_NICARAGUA
++# define SUBLANG_SPANISH_NICARAGUA 0x13
++# endif
++# ifndef SUBLANG_SPANISH_PUERTO_RICO
++# define SUBLANG_SPANISH_PUERTO_RICO 0x14
++# endif
++# ifndef SUBLANG_SWEDISH_FINLAND
++# define SUBLANG_SWEDISH_FINLAND 0x02
++# endif
++# ifndef SUBLANG_TAMAZIGHT_ARABIC
++# define SUBLANG_TAMAZIGHT_ARABIC 0x01
++# endif
++# ifndef SUBLANG_TAMAZIGHT_LATIN
++# define SUBLANG_TAMAZIGHT_LATIN 0x02
++# endif
++# ifndef SUBLANG_TIGRINYA_ETHIOPIA
++# define SUBLANG_TIGRINYA_ETHIOPIA 0x00
++# endif
++# ifndef SUBLANG_TIGRINYA_ERITREA
++# define SUBLANG_TIGRINYA_ERITREA 0x01
++# endif
++# ifndef SUBLANG_URDU_PAKISTAN
++# define SUBLANG_URDU_PAKISTAN 0x01
++# endif
++# ifndef SUBLANG_URDU_INDIA
++# define SUBLANG_URDU_INDIA 0x02
++# endif
++# ifndef SUBLANG_UZBEK_LATIN
++# define SUBLANG_UZBEK_LATIN 0x01
++# endif
++# ifndef SUBLANG_UZBEK_CYRILLIC
++# define SUBLANG_UZBEK_CYRILLIC 0x02
++# endif
++#endif
++
++/* XPG3 defines the result of 'setlocale (category, NULL)' as:
++ "Directs 'setlocale()' to query 'category' and return the current
++ setting of 'local'."
++ However it does not specify the exact format. Neither do SUSV2 and
++ ISO C 99. So we can use this feature only on selected systems (e.g.
++ those using GNU C Library). */
++#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)
++# define HAVE_LOCALE_NULL
++#endif
++
++/* Determine the current locale's name, and canonicalize it into XPG syntax
++ language[_territory[.codeset]][@modifier]
++ The codeset part in the result is not reliable; the locale_charset()
++ should be used for codeset information instead.
++ The result must not be freed; it is statically allocated. */
++
++const char *
++_nl_locale_name (int category, const char *categoryname)
++{
++ const char *retval;
++
++#ifndef WIN32
++
++ /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
++ On some systems this can be done by the 'setlocale' function itself. */
++# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
++ retval = setlocale (category, NULL);
++# else
++ /* Setting of LC_ALL overwrites all other. */
++ retval = getenv ("LC_ALL");
++ if (retval == NULL || retval[0] == '\0')
++ {
++ /* Next comes the name of the desired category. */
++ retval = getenv (categoryname);
++ if (retval == NULL || retval[0] == '\0')
++ {
++ /* Last possibility is the LANG environment variable. */
++ retval = getenv ("LANG");
++ if (retval == NULL || retval[0] == '\0')
++ /* We use C as the default domain. POSIX says this is
++ implementation defined. */
++ retval = "C";
++ }
++ }
++# endif
++
++ return retval;
++
++#else /* WIN32 */
++
++ /* Return an XPG style locale name language[_territory][@modifier].
++ Don't even bother determining the codeset; it's not useful in this
++ context, because message catalogs are not specific to a single
++ codeset. */
++
++ LCID lcid;
++ LANGID langid;
++ int primary, sub;
++
++ /* Let the user override the system settings through environment
++ variables, as on POSIX systems. */
++ retval = getenv ("LC_ALL");
++ if (retval != NULL && retval[0] != '\0')
++ return retval;
++ retval = getenv (categoryname);
++ if (retval != NULL && retval[0] != '\0')
++ return retval;
++ retval = getenv ("LANG");
++ if (retval != NULL && retval[0] != '\0')
++ return retval;
++
++ /* Use native Win32 API locale ID. */
++ lcid = GetThreadLocale ();
++
++ /* Strip off the sorting rules, keep only the language part. */
++ langid = LANGIDFROMLCID (lcid);
++
++ /* Split into language and territory part. */
++ primary = PRIMARYLANGID (langid);
++ sub = SUBLANGID (langid);
++
++ /* Dispatch on language.
++ See also http://www.unicode.org/unicode/onlinedat/languages.html .
++ For details about languages, see http://www.ethnologue.com/ . */
++ switch (primary)
++ {
++ case LANG_AFRIKAANS: return "af_ZA";
++ case LANG_ALBANIAN: return "sq_AL";
++ case LANG_AMHARIC: return "am_ET";
++ case LANG_ARABIC:
++ switch (sub)
++ {
++ case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
++ case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
++ case SUBLANG_ARABIC_EGYPT: return "ar_EG";
++ case SUBLANG_ARABIC_LIBYA: return "ar_LY";
++ case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
++ case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
++ case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
++ case SUBLANG_ARABIC_OMAN: return "ar_OM";
++ case SUBLANG_ARABIC_YEMEN: return "ar_YE";
++ case SUBLANG_ARABIC_SYRIA: return "ar_SY";
++ case SUBLANG_ARABIC_JORDAN: return "ar_JO";
++ case SUBLANG_ARABIC_LEBANON: return "ar_LB";
++ case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
++ case SUBLANG_ARABIC_UAE: return "ar_AE";
++ case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
++ case SUBLANG_ARABIC_QATAR: return "ar_QA";
++ }
++ return "ar";
++ case LANG_ARMENIAN: return "hy_AM";
++ case LANG_ASSAMESE: return "as_IN";
++ case LANG_AZERI:
++ switch (sub)
++ {
++ /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */
++ case SUBLANG_AZERI_LATIN: return "az_AZ@latin";
++ case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";
++ }
++ return "az";
++ case LANG_BASQUE:
++ return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */
++ case LANG_BELARUSIAN: return "be_BY";
++ case LANG_BENGALI:
++ switch (sub)
++ {
++ case SUBLANG_BENGALI_INDIA: return "bn_IN";
++ case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
++ }
++ return "bn";
++ case LANG_BULGARIAN: return "bg_BG";
++ case LANG_BURMESE: return "my_MM";
++ case LANG_CAMBODIAN: return "km_KH";
++ case LANG_CATALAN: return "ca_ES";
++ case LANG_CHEROKEE: return "chr_US";
++ case LANG_CHINESE:
++ switch (sub)
++ {
++ case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW";
++ case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN";
++ case SUBLANG_CHINESE_HONGKONG: return "zh_HK";
++ case SUBLANG_CHINESE_SINGAPORE: return "zh_SG";
++ case SUBLANG_CHINESE_MACAU: return "zh_MO";
++ }
++ return "zh";
++ case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN
++ * What used to be called Serbo-Croatian
++ * should really now be two separate
++ * languages because of political reasons.
++ * (Says tml, who knows nothing about Serbian
++ * or Croatian.)
++ * (I can feel those flames coming already.)
++ */
++ switch (sub)
++ {
++ case SUBLANG_DEFAULT: return "hr_HR";
++ case SUBLANG_SERBIAN_LATIN: return "sr_CS";
++ case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";
++ }
++ return "hr";
++ case LANG_CZECH: return "cs_CZ";
++ case LANG_DANISH: return "da_DK";
++ case LANG_DIVEHI: return "dv_MV";
++ case LANG_DUTCH:
++ switch (sub)
++ {
++ case SUBLANG_DUTCH: return "nl_NL";
++ case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
++ }
++ return "nl";
++ case LANG_EDO: return "bin_NG";
++ case LANG_ENGLISH:
++ switch (sub)
++ {
++ /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
++ * English was the language spoken in England.
++ * Oh well.
++ */
++ case SUBLANG_ENGLISH_US: return "en_US";
++ case SUBLANG_ENGLISH_UK: return "en_GB";
++ case SUBLANG_ENGLISH_AUS: return "en_AU";
++ case SUBLANG_ENGLISH_CAN: return "en_CA";
++ case SUBLANG_ENGLISH_NZ: return "en_NZ";
++ case SUBLANG_ENGLISH_EIRE: return "en_IE";
++ case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
++ case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
++ case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
++ case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
++ case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
++ case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
++ case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
++ case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
++ case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
++ case SUBLANG_ENGLISH_INDIA: return "en_IN";
++ case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
++ case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
++ }
++ return "en";
++ case LANG_ESTONIAN: return "et_EE";
++ case LANG_FAEROESE: return "fo_FO";
++ case LANG_FARSI: return "fa_IR";
++ case LANG_FINNISH: return "fi_FI";
++ case LANG_FRENCH:
++ switch (sub)
++ {
++ case SUBLANG_FRENCH: return "fr_FR";
++ case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
++ case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
++ case SUBLANG_FRENCH_SWISS: return "fr_CH";
++ case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
++ case SUBLANG_FRENCH_MONACO: return "fr_MC";
++ case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
++ case SUBLANG_FRENCH_REUNION: return "fr_RE";
++ case SUBLANG_FRENCH_CONGO: return "fr_CG";
++ case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
++ case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
++ case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
++ case SUBLANG_FRENCH_MALI: return "fr_ML";
++ case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
++ case SUBLANG_FRENCH_HAITI: return "fr_HT";
++ }
++ return "fr";
++ case LANG_FRISIAN: return "fy_NL";
++ case LANG_FULFULDE:
++ /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */
++ return "ff_NG";
++ case LANG_GAELIC:
++ switch (sub)
++ {
++ case 0x01: /* SCOTTISH */ return "gd_GB";
++ case 0x02: /* IRISH */ return "ga_IE";
++ }
++ return "C";
++ case LANG_GALICIAN: return "gl_ES";
++ case LANG_GEORGIAN: return "ka_GE";
++ case LANG_GERMAN:
++ switch (sub)
++ {
++ case SUBLANG_GERMAN: return "de_DE";
++ case SUBLANG_GERMAN_SWISS: return "de_CH";
++ case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
++ case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
++ case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
++ }
++ return "de";
++ case LANG_GREEK: return "el_GR";
++ case LANG_GUARANI: return "gn_PY";
++ case LANG_GUJARATI: return "gu_IN";
++ case LANG_HAUSA: return "ha_NG";
++ case LANG_HAWAIIAN:
++ /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
++ or Hawaii Creole English ("cpe_US", 600000 speakers)? */
++ return "cpe_US";
++ case LANG_HEBREW: return "he_IL";
++ case LANG_HINDI: return "hi_IN";
++ case LANG_HUNGARIAN: return "hu_HU";
++ case LANG_IBIBIO: return "nic_NG";
++ case LANG_ICELANDIC: return "is_IS";
++ case LANG_IGBO: return "ig_NG";
++ case LANG_INDONESIAN: return "id_ID";
++ case LANG_INUKTITUT: return "iu_CA";
++ case LANG_ITALIAN:
++ switch (sub)
++ {
++ case SUBLANG_ITALIAN: return "it_IT";
++ case SUBLANG_ITALIAN_SWISS: return "it_CH";
++ }
++ return "it";
++ case LANG_JAPANESE: return "ja_JP";
++ case LANG_KANNADA: return "kn_IN";
++ case LANG_KANURI: return "kr_NG";
++ case LANG_KASHMIRI:
++ switch (sub)
++ {
++ case SUBLANG_DEFAULT: return "ks_PK";
++ case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
++ }
++ return "ks";
++ case LANG_KAZAK: return "kk_KZ";
++ case LANG_KONKANI:
++ /* FIXME: Adjust this when such locales appear on Unix. */
++ return "kok_IN";
++ case LANG_KOREAN: return "ko_KR";
++ case LANG_KYRGYZ: return "ky_KG";
++ case LANG_LAO: return "lo_LA";
++ case LANG_LATIN: return "la_VA";
++ case LANG_LATVIAN: return "lv_LV";
++ case LANG_LITHUANIAN: return "lt_LT";
++ case LANG_MACEDONIAN: return "mk_MK";
++ case LANG_MALAY:
++ switch (sub)
++ {
++ case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
++ case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
++ }
++ return "ms";
++ case LANG_MALAYALAM: return "ml_IN";
++ case LANG_MALTESE: return "mt_MT";
++ case LANG_MANIPURI:
++ /* FIXME: Adjust this when such locales appear on Unix. */
++ return "mni_IN";
++ case LANG_MARATHI: return "mr_IN";
++ case LANG_MONGOLIAN:
++ return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */
++ case LANG_NEPALI:
++ switch (sub)
++ {
++ case SUBLANG_DEFAULT: return "ne_NP";
++ case SUBLANG_NEPALI_INDIA: return "ne_IN";
++ }
++ return "ne";
++ case LANG_NORWEGIAN:
++ switch (sub)
++ {
++ case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO";
++ case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
++ }
++ return "no";
++ case LANG_ORIYA: return "or_IN";
++ case LANG_OROMO: return "om_ET";
++ case LANG_PAPIAMENTU: return "pap_AN";
++ case LANG_PASHTO:
++ return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */
++ case LANG_POLISH: return "pl_PL";
++ case LANG_PORTUGUESE:
++ switch (sub)
++ {
++ case SUBLANG_PORTUGUESE: return "pt_PT";
++ /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
++ Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
++ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
++ }
++ return "pt";
++ case LANG_PUNJABI:
++ switch (sub)
++ {
++ case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
++ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
++ }
++ return "pa";
++ case LANG_RHAETO_ROMANCE: return "rm_CH";
++ case LANG_ROMANIAN:
++ switch (sub)
++ {
++ case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
++ case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
++ }
++ return "ro";
++ case LANG_RUSSIAN:
++ return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */
++ case LANG_SAAMI: /* actually Northern Sami */ return "se_NO";
++ case LANG_SANSKRIT: return "sa_IN";
++ case LANG_SINDHI:
++ switch (sub)
++ {
++ case SUBLANG_SINDHI_INDIA: return "sd_IN";
++ case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
++ }
++ return "sd";
++ case LANG_SINHALESE: return "si_LK";
++ case LANG_SLOVAK: return "sk_SK";
++ case LANG_SLOVENIAN: return "sl_SI";
++ case LANG_SOMALI: return "so_SO";
++ case LANG_SORBIAN:
++ /* FIXME: Adjust this when such locales appear on Unix. */
++ return "wen_DE";
++ case LANG_SPANISH:
++ switch (sub)
++ {
++ case SUBLANG_SPANISH: return "es_ES";
++ case SUBLANG_SPANISH_MEXICAN: return "es_MX";
++ case SUBLANG_SPANISH_MODERN:
++ return "es_ES@modern"; /* not seen on Unix */
++ case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
++ case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
++ case SUBLANG_SPANISH_PANAMA: return "es_PA";
++ case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
++ case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
++ case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
++ case SUBLANG_SPANISH_PERU: return "es_PE";
++ case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
++ case SUBLANG_SPANISH_ECUADOR: return "es_EC";
++ case SUBLANG_SPANISH_CHILE: return "es_CL";
++ case SUBLANG_SPANISH_URUGUAY: return "es_UY";
++ case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
++ case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
++ case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
++ case SUBLANG_SPANISH_HONDURAS: return "es_HN";
++ case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
++ case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
++ }
++ return "es";
++ case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
++ case LANG_SWAHILI: return "sw_KE";
++ case LANG_SWEDISH:
++ switch (sub)
++ {
++ case SUBLANG_DEFAULT: return "sv_SE";
++ case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
++ }
++ return "sv";
++ case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */
++ case LANG_TAGALOG: return "tl_PH";
++ case LANG_TAJIK: return "tg_TJ";
++ case LANG_TAMAZIGHT:
++ switch (sub)
++ {
++ /* FIXME: Adjust this when Tamazight locales appear on Unix. */
++ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";
++ case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin";
++ }
++ return "ber_MA";
++ case LANG_TAMIL:
++ return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */
++ case LANG_TATAR: return "tt_RU";
++ case LANG_TELUGU: return "te_IN";
++ case LANG_THAI: return "th_TH";
++ case LANG_TIBETAN: return "bo_CN";
++ case LANG_TIGRINYA:
++ switch (sub)
++ {
++ case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
++ case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
++ }
++ return "ti";
++ case LANG_TSONGA: return "ts_ZA";
++ case LANG_TSWANA: return "tn_BW";
++ case LANG_TURKISH: return "tr_TR";
++ case LANG_TURKMEN: return "tk_TM";
++ case LANG_UKRAINIAN: return "uk_UA";
++ case LANG_URDU:
++ switch (sub)
++ {
++ case SUBLANG_URDU_PAKISTAN: return "ur_PK";
++ case SUBLANG_URDU_INDIA: return "ur_IN";
++ }
++ return "ur";
++ case LANG_UZBEK:
++ switch (sub)
++ {
++ case SUBLANG_UZBEK_LATIN: return "uz_UZ";
++ case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";
++ }
++ return "uz";
++ case LANG_VENDA: return "ve_ZA";
++ case LANG_VIETNAMESE: return "vi_VN";
++ case LANG_WELSH: return "cy_GB";
++ case LANG_XHOSA: return "xh_ZA";
++ case LANG_YI: return "sit_CN";
++ case LANG_YIDDISH: return "yi_IL";
++ case LANG_YORUBA: return "yo_NG";
++ case LANG_ZULU: return "zu_ZA";
++ default: return "C";
++ }
++
++#endif
++}
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/log.c psmisc-20.2.works.clean/intl/log.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/log.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/log.c 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,98 @@
++/* Log file output.
++ Copyright (C) 2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Written by Bruno Haible <bruno@clisp.org>. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++
++/* Print an ASCII string with quotes and escape sequences where needed. */
++static void
++print_escaped (FILE *stream, const char *str)
++{
++ putc ('"', stream);
++ for (; *str != '\0'; str++)
++ if (*str == '\n')
++ {
++ fputs ("\\n\"", stream);
++ if (str[1] == '\0')
++ return;
++ fputs ("\n\"", stream);
++ }
++ else
++ {
++ if (*str == '"' || *str == '\\')
++ putc ('\\', stream);
++ putc (*str, stream);
++ }
++ putc ('"', stream);
++}
++
++/* Add to the log file an entry denoting a failed translation. */
++void
++_nl_log_untranslated (const char *logfilename, const char *domainname,
++ const char *msgid1, const char *msgid2, int plural)
++{
++ static char *last_logfilename = NULL;
++ static FILE *last_logfile = NULL;
++ FILE *logfile;
++
++ /* Can we reuse the last opened logfile? */
++ if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0)
++ {
++ /* Close the last used logfile. */
++ if (last_logfilename != NULL)
++ {
++ if (last_logfile != NULL)
++ {
++ fclose (last_logfile);
++ last_logfile = NULL;
++ }
++ free (last_logfilename);
++ last_logfilename = NULL;
++ }
++ /* Open the logfile. */
++ last_logfilename = (char *) malloc (strlen (logfilename) + 1);
++ if (last_logfilename == NULL)
++ return;
++ strcpy (last_logfilename, logfilename);
++ last_logfile = fopen (logfilename, "a");
++ if (last_logfile == NULL)
++ return;
++ }
++ logfile = last_logfile;
++
++ fprintf (logfile, "domain ");
++ print_escaped (logfile, domainname);
++ fprintf (logfile, "\nmsgid ");
++ print_escaped (logfile, msgid1);
++ if (plural)
++ {
++ fprintf (logfile, "\nmsgid_plural ");
++ print_escaped (logfile, msgid2);
++ fprintf (logfile, "\nmsgstr[0] \"\"\n");
++ }
++ else
++ fprintf (logfile, "\nmsgstr \"\"\n");
++ putc ('\n', logfile);
++}
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/ngettext.c psmisc-20.2.works.clean/intl/ngettext.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/ngettext.c 2001-04-13 23:00:43.000000000 -0500
++++ psmisc-20.2.works.clean/intl/ngettext.c 2004-10-13 15:18:41.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Implementation of ngettext(3) function.
+- Copyright (C) 1995, 1997, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995, 1997, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -45,18 +46,15 @@
+ # define NGETTEXT __ngettext
+ # define DCNGETTEXT __dcngettext
+ #else
+-# define NGETTEXT ngettext__
+-# define DCNGETTEXT dcngettext__
++# define NGETTEXT libintl_ngettext
++# define DCNGETTEXT libintl_dcngettext
+ #endif
+
+ /* Look up MSGID in the current default message catalog for the current
+ LC_MESSAGES locale. If not found, returns MSGID itself (the default
+ text). */
+ char *
+-NGETTEXT (msgid1, msgid2, n)
+- const char *msgid1;
+- const char *msgid2;
+- unsigned long int n;
++NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n)
+ {
+ return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/os2compat.c psmisc-20.2.works.clean/intl/os2compat.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/os2compat.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/os2compat.c 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,98 @@
++/* OS/2 compatibility functions.
++ Copyright (C) 2001-2002 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#define OS2_AWARE
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
++#include <stdlib.h>
++#include <string.h>
++#include <sys/param.h>
++
++/* A version of getenv() that works from DLLs */
++extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue);
++
++char *
++_nl_getenv (const char *name)
++{
++ unsigned char *value;
++ if (DosScanEnv (name, &value))
++ return NULL;
++ else
++ return value;
++}
++
++/* A fixed size buffer. */
++char libintl_nl_default_dirname[MAXPATHLEN+1];
++
++char *_nlos2_libdir = NULL;
++char *_nlos2_localealiaspath = NULL;
++char *_nlos2_localedir = NULL;
++
++static __attribute__((constructor)) void
++nlos2_initialize ()
++{
++ char *root = getenv ("UNIXROOT");
++ char *gnulocaledir = getenv ("GNULOCALEDIR");
++
++ _nlos2_libdir = gnulocaledir;
++ if (!_nlos2_libdir)
++ {
++ if (root)
++ {
++ size_t sl = strlen (root);
++ _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1);
++ memcpy (_nlos2_libdir, root, sl);
++ memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1);
++ }
++ else
++ _nlos2_libdir = LIBDIR;
++ }
++
++ _nlos2_localealiaspath = gnulocaledir;
++ if (!_nlos2_localealiaspath)
++ {
++ if (root)
++ {
++ size_t sl = strlen (root);
++ _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1);
++ memcpy (_nlos2_localealiaspath, root, sl);
++ memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1);
++ }
++ else
++ _nlos2_localealiaspath = LOCALE_ALIAS_PATH;
++ }
++
++ _nlos2_localedir = gnulocaledir;
++ if (!_nlos2_localedir)
++ {
++ if (root)
++ {
++ size_t sl = strlen (root);
++ _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1);
++ memcpy (_nlos2_localedir, root, sl);
++ memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1);
++ }
++ else
++ _nlos2_localedir = LOCALEDIR;
++ }
++
++ if (strlen (_nlos2_localedir) <= MAXPATHLEN)
++ strcpy (libintl_nl_default_dirname, _nlos2_localedir);
++}
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/os2compat.h psmisc-20.2.works.clean/intl/os2compat.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/os2compat.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/os2compat.h 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,46 @@
++/* OS/2 compatibility defines.
++ This file is intended to be included from config.h
++ Copyright (C) 2001-2002 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* When included from os2compat.h we need all the original definitions */
++#ifndef OS2_AWARE
++
++#undef LIBDIR
++#define LIBDIR _nlos2_libdir
++extern char *_nlos2_libdir;
++
++#undef LOCALEDIR
++#define LOCALEDIR _nlos2_localedir
++extern char *_nlos2_localedir;
++
++#undef LOCALE_ALIAS_PATH
++#define LOCALE_ALIAS_PATH _nlos2_localealiaspath
++extern char *_nlos2_localealiaspath;
++
++#endif
++
++#undef HAVE_STRCASECMP
++#define HAVE_STRCASECMP 1
++#define strcasecmp stricmp
++#define strncasecmp strnicmp
++
++/* We have our own getenv() which works even if library is compiled as DLL */
++#define getenv _nl_getenv
++
++/* Older versions of gettext used -1 as the value of LC_MESSAGES */
++#define LC_MESSAGES_COMPAT (-1)
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/osdep.c psmisc-20.2.works.clean/intl/osdep.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/osdep.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/osdep.c 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,24 @@
++/* OS dependent parts of libintl.
++ Copyright (C) 2001-2002 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#if defined __EMX__
++# include "os2compat.c"
++#else
++/* Avoid AIX compiler warning. */
++typedef int dummy;
++#endif
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/plural-exp.c psmisc-20.2.works.clean/intl/plural-exp.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/plural-exp.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/plural-exp.c 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,154 @@
++/* Expression parsing for plural form selection.
++ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
++ Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#include <ctype.h>
++#include <stdlib.h>
++#include <string.h>
++
++#include "plural-exp.h"
++
++#if (defined __GNUC__ && !defined __APPLE_CC__) \
++ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
++
++/* These structs are the constant expression for the germanic plural
++ form determination. It represents the expression "n != 1". */
++static const struct expression plvar =
++{
++ .nargs = 0,
++ .operation = var,
++};
++static const struct expression plone =
++{
++ .nargs = 0,
++ .operation = num,
++ .val =
++ {
++ .num = 1
++ }
++};
++struct expression GERMANIC_PLURAL =
++{
++ .nargs = 2,
++ .operation = not_equal,
++ .val =
++ {
++ .args =
++ {
++ [0] = (struct expression *) &plvar,
++ [1] = (struct expression *) &plone
++ }
++ }
++};
++
++# define INIT_GERMANIC_PLURAL()
++
++#else
++
++/* For compilers without support for ISO C 99 struct/union initializers:
++ Initialization at run-time. */
++
++static struct expression plvar;
++static struct expression plone;
++struct expression GERMANIC_PLURAL;
++
++static void
++init_germanic_plural ()
++{
++ if (plone.val.num == 0)
++ {
++ plvar.nargs = 0;
++ plvar.operation = var;
++
++ plone.nargs = 0;
++ plone.operation = num;
++ plone.val.num = 1;
++
++ GERMANIC_PLURAL.nargs = 2;
++ GERMANIC_PLURAL.operation = not_equal;
++ GERMANIC_PLURAL.val.args[0] = &plvar;
++ GERMANIC_PLURAL.val.args[1] = &plone;
++ }
++}
++
++# define INIT_GERMANIC_PLURAL() init_germanic_plural ()
++
++#endif
++
++void
++internal_function
++EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression **pluralp,
++ unsigned long int *npluralsp)
++{
++ if (nullentry != NULL)
++ {
++ const char *plural;
++ const char *nplurals;
++
++ plural = strstr (nullentry, "plural=");
++ nplurals = strstr (nullentry, "nplurals=");
++ if (plural == NULL || nplurals == NULL)
++ goto no_plural;
++ else
++ {
++ char *endp;
++ unsigned long int n;
++ struct parse_args args;
++
++ /* First get the number. */
++ nplurals += 9;
++ while (*nplurals != '\0' && isspace ((unsigned char) *nplurals))
++ ++nplurals;
++ if (!(*nplurals >= '0' && *nplurals <= '9'))
++ goto no_plural;
++#if defined HAVE_STRTOUL || defined _LIBC
++ n = strtoul (nplurals, &endp, 10);
++#else
++ for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)
++ n = n * 10 + (*endp - '0');
++#endif
++ if (nplurals == endp)
++ goto no_plural;
++ *npluralsp = n;
++
++ /* Due to the restrictions bison imposes onto the interface of the
++ scanner function we have to put the input string and the result
++ passed up from the parser into the same structure which address
++ is passed down to the parser. */
++ plural += 7;
++ args.cp = plural;
++ if (PLURAL_PARSE (&args) != 0)
++ goto no_plural;
++ *pluralp = args.res;
++ }
++ }
++ else
++ {
++ /* By default we are using the Germanic form: singular form only
++ for `one', the plural form otherwise. Yes, this is also what
++ English is using since English is a Germanic language. */
++ no_plural:
++ INIT_GERMANIC_PLURAL ();
++ *pluralp = &GERMANIC_PLURAL;
++ *npluralsp = 2;
++ }
++}
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/plural-exp.h psmisc-20.2.works.clean/intl/plural-exp.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/plural-exp.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/plural-exp.h 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,118 @@
++/* Expression parsing and evaluation for plural form selection.
++ Copyright (C) 2000-2003 Free Software Foundation, Inc.
++ Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _PLURAL_EXP_H
++#define _PLURAL_EXP_H
++
++#ifndef internal_function
++# define internal_function
++#endif
++
++#ifndef attribute_hidden
++# define attribute_hidden
++#endif
++
++
++/* This is the representation of the expressions to determine the
++ plural form. */
++struct expression
++{
++ int nargs; /* Number of arguments. */
++ enum operator
++ {
++ /* Without arguments: */
++ var, /* The variable "n". */
++ num, /* Decimal number. */
++ /* Unary operators: */
++ lnot, /* Logical NOT. */
++ /* Binary operators: */
++ mult, /* Multiplication. */
++ divide, /* Division. */
++ module, /* Modulo operation. */
++ plus, /* Addition. */
++ minus, /* Subtraction. */
++ less_than, /* Comparison. */
++ greater_than, /* Comparison. */
++ less_or_equal, /* Comparison. */
++ greater_or_equal, /* Comparison. */
++ equal, /* Comparison for equality. */
++ not_equal, /* Comparison for inequality. */
++ land, /* Logical AND. */
++ lor, /* Logical OR. */
++ /* Ternary operators: */
++ qmop /* Question mark operator. */
++ } operation;
++ union
++ {
++ unsigned long int num; /* Number value for `num'. */
++ struct expression *args[3]; /* Up to three arguments. */
++ } val;
++};
++
++/* This is the data structure to pass information to the parser and get
++ the result in a thread-safe way. */
++struct parse_args
++{
++ const char *cp;
++ struct expression *res;
++};
++
++
++/* Names for the libintl functions are a problem. This source code is used
++ 1. in the GNU C Library library,
++ 2. in the GNU libintl library,
++ 3. in the GNU gettext tools.
++ The function names in each situation must be different, to allow for
++ binary incompatible changes in 'struct expression'. Furthermore,
++ 1. in the GNU C Library library, the names have a __ prefix,
++ 2.+3. in the GNU libintl library and in the GNU gettext tools, the names
++ must follow ANSI C and not start with __.
++ So we have to distinguish the three cases. */
++#ifdef _LIBC
++# define FREE_EXPRESSION __gettext_free_exp
++# define PLURAL_PARSE __gettextparse
++# define GERMANIC_PLURAL __gettext_germanic_plural
++# define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural
++#elif defined (IN_LIBINTL)
++# define FREE_EXPRESSION libintl_gettext_free_exp
++# define PLURAL_PARSE libintl_gettextparse
++# define GERMANIC_PLURAL libintl_gettext_germanic_plural
++# define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural
++#else
++# define FREE_EXPRESSION free_plural_expression
++# define PLURAL_PARSE parse_plural_expression
++# define GERMANIC_PLURAL germanic_plural
++# define EXTRACT_PLURAL_EXPRESSION extract_plural_expression
++#endif
++
++extern void FREE_EXPRESSION (struct expression *exp)
++ internal_function;
++extern int PLURAL_PARSE (void *arg);
++extern struct expression GERMANIC_PLURAL attribute_hidden;
++extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry,
++ struct expression **pluralp,
++ unsigned long int *npluralsp)
++ internal_function;
++
++#if !defined (_LIBC) && !defined (IN_LIBINTL)
++extern unsigned long int plural_eval (struct expression *pexp,
++ unsigned long int n);
++#endif
++
++#endif /* _PLURAL_EXP_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/plural.c psmisc-20.2.works.clean/intl/plural.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/plural.c 2001-10-17 17:05:25.000000000 -0500
++++ psmisc-20.2.works.clean/intl/plural.c 2004-10-13 15:18:43.000000000 -0500
+@@ -1,6 +1,5 @@
+-
+-/* A Bison parser, made from plural.y
+- by GNU Bison version 1.28 */
++/* A Bison parser, made from plural.y
++ by GNU bison 1.35. */
+
+ #define YYBISON 1 /* Identify Bison output. */
+
+@@ -11,31 +10,32 @@
+ #define yychar __gettextchar
+ #define yydebug __gettextdebug
+ #define yynerrs __gettextnerrs
+-#define EQUOP2 257
+-#define CMPOP2 258
+-#define ADDOP2 259
+-#define MULOP2 260
+-#define NUMBER 261
++# define EQUOP2 257
++# define CMPOP2 258
++# define ADDOP2 259
++# define MULOP2 260
++# define NUMBER 261
+
+ #line 1 "plural.y"
+
+ /* Expression parsing for plural form selection.
+- Copyright (C) 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
+ Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ /* The bison generated parser uses alloca. AIX 3 forces us to put this
+ declaration at the beginning of the file. The declaration in bison's
+@@ -49,54 +49,39 @@
+ # include <config.h>
+ #endif
+
++#include <stddef.h>
+ #include <stdlib.h>
+-#include "gettextP.h"
++#include "plural-exp.h"
+
+-/* Names for the libintl functions are a problem. They must not clash
+- with existing names and they should follow ANSI C. But this source
+- code is also used in GNU C Library where the names have a __
+- prefix. So we have to make a difference here. */
+-#ifdef _LIBC
+-# define FREE_EXPRESSION __gettext_free_exp
+-#else
+-# define FREE_EXPRESSION gettext_free_exp__
+-# define __gettextparse gettextparse__
++/* The main function generated by the parser is called __gettextparse,
++ but we want it to be called PLURAL_PARSE. */
++#ifndef _LIBC
++# define __gettextparse PLURAL_PARSE
+ #endif
+
+ #define YYLEX_PARAM &((struct parse_args *) arg)->cp
+ #define YYPARSE_PARAM arg
+
+-#line 52 "plural.y"
++#line 49 "plural.y"
++#ifndef YYSTYPE
+ typedef union {
+ unsigned long int num;
+ enum operator op;
+ struct expression *exp;
+-} YYSTYPE;
+-#line 58 "plural.y"
++} yystype;
++# define YYSTYPE yystype
++# define YYSTYPE_IS_TRIVIAL 1
++#endif
++#line 55 "plural.y"
+
+ /* Prototypes for local functions. */
+-static struct expression *new_exp PARAMS ((int nargs, enum operator op,
+- struct expression * const *args));
+-static inline struct expression *new_exp_0 PARAMS ((enum operator op));
+-static inline struct expression *new_exp_1 PARAMS ((enum operator op,
+- struct expression *right));
+-static struct expression *new_exp_2 PARAMS ((enum operator op,
+- struct expression *left,
+- struct expression *right));
+-static inline struct expression *new_exp_3 PARAMS ((enum operator op,
+- struct expression *bexp,
+- struct expression *tbranch,
+- struct expression *fbranch));
+-static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
+-static void yyerror PARAMS ((const char *str));
++static int yylex (YYSTYPE *lval, const char **pexp);
++static void yyerror (const char *str);
+
+ /* Allocation of expressions. */
+
+ static struct expression *
+-new_exp (nargs, op, args)
+- int nargs;
+- enum operator op;
+- struct expression * const *args;
++new_exp (int nargs, enum operator op, struct expression * const *args)
+ {
+ int i;
+ struct expression *newp;
+@@ -125,16 +110,13 @@
+ }
+
+ static inline struct expression *
+-new_exp_0 (op)
+- enum operator op;
++new_exp_0 (enum operator op)
+ {
+ return new_exp (0, op, NULL);
+ }
+
+ static inline struct expression *
+-new_exp_1 (op, right)
+- enum operator op;
+- struct expression *right;
++new_exp_1 (enum operator op, struct expression *right)
+ {
+ struct expression *args[1];
+
+@@ -143,10 +125,7 @@
+ }
+
+ static struct expression *
+-new_exp_2 (op, left, right)
+- enum operator op;
+- struct expression *left;
+- struct expression *right;
++new_exp_2 (enum operator op, struct expression *left, struct expression *right)
+ {
+ struct expression *args[2];
+
+@@ -156,11 +135,8 @@
+ }
+
+ static inline struct expression *
+-new_exp_3 (op, bexp, tbranch, fbranch)
+- enum operator op;
+- struct expression *bexp;
+- struct expression *tbranch;
+- struct expression *fbranch;
++new_exp_3 (enum operator op, struct expression *bexp,
++ struct expression *tbranch, struct expression *fbranch)
+ {
+ struct expression *args[3];
+
+@@ -170,12 +146,8 @@
+ return new_exp (3, op, args);
+ }
+
+-#include <stdio.h>
+-
+-#ifndef __cplusplus
+-#ifndef __STDC__
+-#define const
+-#endif
++#ifndef YYDEBUG
++# define YYDEBUG 0
+ #endif
+
+
+@@ -184,129 +156,152 @@
+ #define YYFLAG -32768
+ #define YYNTBASE 16
+
++/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
+ #define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18)
+
+-static const char 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, 10, 2, 2, 2, 2, 5, 2, 14,
+- 15, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 12, 2, 2,
+- 2, 2, 3, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 13,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 4, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 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, 6, 7, 8, 9,
+- 11
++/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
++static const char 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, 10, 2, 2, 2, 2, 5, 2,
++ 14, 15, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 12, 2,
++ 2, 2, 2, 3, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 13, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 4, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 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, 6, 7, 8,
++ 9, 11
+ };
+
+-#if YYDEBUG != 0
+-static const short yyprhs[] = { 0,
+- 0, 2, 8, 12, 16, 20, 24, 28, 32, 35,
+- 37, 39
++#if YYDEBUG
++static const short yyprhs[] =
++{
++ 0, 0, 2, 8, 12, 16, 20, 24, 28, 32,
++ 35, 37, 39
+ };
+-
+-static const short yyrhs[] = { 17,
+- 0, 17, 3, 17, 12, 17, 0, 17, 4, 17,
+- 0, 17, 5, 17, 0, 17, 6, 17, 0, 17,
+- 7, 17, 0, 17, 8, 17, 0, 17, 9, 17,
+- 0, 10, 17, 0, 13, 0, 11, 0, 14, 17,
+- 15, 0
++static const short yyrhs[] =
++{
++ 17, 0, 17, 3, 17, 12, 17, 0, 17, 4,
++ 17, 0, 17, 5, 17, 0, 17, 6, 17, 0,
++ 17, 7, 17, 0, 17, 8, 17, 0, 17, 9,
++ 17, 0, 10, 17, 0, 13, 0, 11, 0, 14,
++ 17, 15, 0
+ };
+
+ #endif
+
+-#if YYDEBUG != 0
+-static const short yyrline[] = { 0,
+- 177, 185, 189, 193, 197, 201, 205, 209, 213, 217,
+- 221, 226
++#if YYDEBUG
++/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
++static const short yyrline[] =
++{
++ 0, 150, 158, 162, 166, 170, 174, 178, 182, 186,
++ 190, 194, 199
+ };
+ #endif
+
+
+-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
++#if (YYDEBUG) || defined YYERROR_VERBOSE
+
+-static const char * const yytname[] = { "$","error","$undefined.","'?'","'|'",
+-"'&'","EQUOP2","CMPOP2","ADDOP2","MULOP2","'!'","NUMBER","':'","'n'","'('","')'",
+-"start","exp", NULL
++/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
++static const char *const yytname[] =
++{
++ "$", "error", "$undefined.", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2",
++ "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'",
++ "start", "exp", 0
+ };
+ #endif
+
+-static const short yyr1[] = { 0,
+- 16, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+- 17, 17
++/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
++static const short yyr1[] =
++{
++ 0, 16, 17, 17, 17, 17, 17, 17, 17, 17,
++ 17, 17, 17
+ };
+
+-static const short yyr2[] = { 0,
+- 1, 5, 3, 3, 3, 3, 3, 3, 2, 1,
+- 1, 3
++/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
++static const short yyr2[] =
++{
++ 0, 1, 5, 3, 3, 3, 3, 3, 3, 2,
++ 1, 1, 3
+ };
+
+-static const short yydefact[] = { 0,
+- 0, 11, 10, 0, 1, 9, 0, 0, 0, 0,
+- 0, 0, 0, 0, 12, 0, 3, 4, 5, 6,
+- 7, 8, 0, 2, 0, 0, 0
++/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
++ doesn't specify something else to do. Zero means the default is an
++ error. */
++static const short yydefact[] =
++{
++ 0, 0, 11, 10, 0, 1, 9, 0, 0, 0,
++ 0, 0, 0, 0, 0, 12, 0, 3, 4, 5,
++ 6, 7, 8, 0, 2, 0, 0, 0
+ };
+
+-static const short yydefgoto[] = { 25,
+- 5
++static const short yydefgoto[] =
++{
++ 25, 5
+ };
+
+-static const short yypact[] = { -9,
+- -9,-32768,-32768, -9, 34,-32768, 11, -9, -9, -9,
+- -9, -9, -9, -9,-32768, 24, 39, 43, 16, 26,
+- -3,-32768, -9, 34, 21, 53,-32768
++static const short yypact[] =
++{
++ -9, -9,-32768,-32768, -9, 34,-32768, 11, -9, -9,
++ -9, -9, -9, -9, -9,-32768, 24, 39, 43, 16,
++ 26, -3,-32768, -9, 34, 21, 53,-32768
+ };
+
+-static const short yypgoto[] = {-32768,
+- -1
++static const short yypgoto[] =
++{
++ -32768, -1
+ };
+
+
+ #define YYLAST 53
+
+
+-static const short yytable[] = { 6,
+- 1, 2, 7, 3, 4, 14, 16, 17, 18, 19,
+- 20, 21, 22, 8, 9, 10, 11, 12, 13, 14,
+- 26, 24, 12, 13, 14, 15, 8, 9, 10, 11,
+- 12, 13, 14, 13, 14, 23, 8, 9, 10, 11,
+- 12, 13, 14, 10, 11, 12, 13, 14, 11, 12,
+- 13, 14, 27
++static const short yytable[] =
++{
++ 6, 1, 2, 7, 3, 4, 14, 16, 17, 18,
++ 19, 20, 21, 22, 8, 9, 10, 11, 12, 13,
++ 14, 26, 24, 12, 13, 14, 15, 8, 9, 10,
++ 11, 12, 13, 14, 13, 14, 23, 8, 9, 10,
++ 11, 12, 13, 14, 10, 11, 12, 13, 14, 11,
++ 12, 13, 14, 27
+ };
+
+-static const short yycheck[] = { 1,
+- 10, 11, 4, 13, 14, 9, 8, 9, 10, 11,
+- 12, 13, 14, 3, 4, 5, 6, 7, 8, 9,
+- 0, 23, 7, 8, 9, 15, 3, 4, 5, 6,
+- 7, 8, 9, 8, 9, 12, 3, 4, 5, 6,
+- 7, 8, 9, 5, 6, 7, 8, 9, 6, 7,
+- 8, 9, 0
++static const short yycheck[] =
++{
++ 1, 10, 11, 4, 13, 14, 9, 8, 9, 10,
++ 11, 12, 13, 14, 3, 4, 5, 6, 7, 8,
++ 9, 0, 23, 7, 8, 9, 15, 3, 4, 5,
++ 6, 7, 8, 9, 8, 9, 12, 3, 4, 5,
++ 6, 7, 8, 9, 5, 6, 7, 8, 9, 6,
++ 7, 8, 9, 0
+ };
+ #define YYPURE 1
+
+ /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
+-#line 3 "/usr/share/bison/bison.simple"
+-/* This file comes from bison-1.28. */
++#line 3 "/usr/local/share/bison/bison.simple"
+
+ /* Skeleton output parser for bison,
+- Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
++
++ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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
+@@ -328,62 +323,131 @@
+ This special exception was added by the Free Software Foundation
+ in version 1.24 of Bison. */
+
+-/* This is the parser code that is written into each bison parser
+- when the %semantic_parser declaration is not specified in the grammar.
+- It was written by Richard Stallman by simplifying the hairy parser
+- used when %semantic_parser is specified. */
++/* This is the parser code that is written into each bison parser when
++ the %semantic_parser declaration is not specified in the grammar.
++ It was written by Richard Stallman by simplifying the hairy parser
++ used when %semantic_parser is specified. */
+
+-#ifndef YYSTACK_USE_ALLOCA
+-#ifdef alloca
+-#define YYSTACK_USE_ALLOCA
+-#else /* alloca not defined */
+-#ifdef __GNUC__
+-#define YYSTACK_USE_ALLOCA
+-#define alloca __builtin_alloca
+-#else /* not GNU C. */
+-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
+-#define YYSTACK_USE_ALLOCA
+-#include <alloca.h>
+-#else /* not sparc */
+-/* We think this test detects Watcom and Microsoft C. */
+-/* This used to test MSDOS, but that is a bad idea
+- since that symbol is in the user namespace. */
+-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
+-#if 0 /* No need for malloc.h, which pollutes the namespace;
+- instead, just don't use alloca. */
+-#include <malloc.h>
+-#endif
+-#else /* not MSDOS, or __TURBOC__ */
+-#if defined(_AIX)
+-/* I don't know what this was needed for, but it pollutes the namespace.
+- So I turned it off. rms, 2 May 1997. */
+-/* #include <malloc.h> */
+- #pragma alloca
+-#define YYSTACK_USE_ALLOCA
+-#else /* not MSDOS, or __TURBOC__, or _AIX */
+-#if 0
+-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
+- and on HPUX 10. Eventually we can turn this on. */
+-#define YYSTACK_USE_ALLOCA
+-#define alloca __builtin_alloca
+-#endif /* __hpux */
+-#endif
+-#endif /* not _AIX */
+-#endif /* not MSDOS, or __TURBOC__ */
+-#endif /* not sparc */
+-#endif /* not GNU C */
+-#endif /* alloca not defined */
+-#endif /* YYSTACK_USE_ALLOCA not defined */
++/* 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. */
++
++#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
++
++/* The parser invokes alloca or malloc; define the necessary symbols. */
++
++# if YYSTACK_USE_ALLOCA
++# define YYSTACK_ALLOC alloca
++# else
++# ifndef YYSTACK_USE_ALLOCA
++# if defined (alloca) || defined (_ALLOCA_H)
++# define YYSTACK_ALLOC alloca
++# else
++# ifdef __GNUC__
++# define YYSTACK_ALLOC __builtin_alloca
++# endif
++# endif
++# endif
++# endif
++
++# ifdef YYSTACK_ALLOC
++ /* Pacify GCC's `empty if-body' warning. */
++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
++# else
++# if defined (__STDC__) || defined (__cplusplus)
++# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
++# define YYSIZE_T size_t
++# endif
++# define YYSTACK_ALLOC malloc
++# define YYSTACK_FREE free
++# endif
++#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
++
++
++#if (! defined (yyoverflow) \
++ && (! defined (__cplusplus) \
++ || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
++
++/* A type that is properly aligned for any stack member. */
++union yyalloc
++{
++ short yyss;
++ YYSTYPE yyvs;
++# if YYLSP_NEEDED
++ YYLTYPE yyls;
++# endif
++};
++
++/* The size of the maximum gap between one aligned stack and the next. */
++# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
++
++/* The size of an array large to enough to hold all stacks, each with
++ N elements. */
++# if YYLSP_NEEDED
++# define YYSTACK_BYTES(N) \
++ ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
++ + 2 * YYSTACK_GAP_MAX)
++# else
++# define YYSTACK_BYTES(N) \
++ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
++ + YYSTACK_GAP_MAX)
++# endif
++
++/* Copy COUNT objects from FROM to TO. The source and destination do
++ not overlap. */
++# ifndef YYCOPY
++# if 1 < __GNUC__
++# define YYCOPY(To, From, Count) \
++ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
++# else
++# define YYCOPY(To, From, Count) \
++ do \
++ { \
++ register YYSIZE_T yyi; \
++ for (yyi = 0; yyi < (Count); yyi++) \
++ (To)[yyi] = (From)[yyi]; \
++ } \
++ while (0)
++# endif
++# endif
++
++/* 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) \
++ do \
++ { \
++ YYSIZE_T yynewbytes; \
++ YYCOPY (&yyptr->Stack, Stack, yysize); \
++ Stack = &yyptr->Stack; \
++ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \
++ yyptr += yynewbytes / sizeof (*yyptr); \
++ } \
++ while (0)
+
+-#ifdef YYSTACK_USE_ALLOCA
+-#define YYSTACK_ALLOC alloca
+-#else
+-#define YYSTACK_ALLOC malloc
+ #endif
+
+-/* Note: there must be only one dollar sign in this file.
+- It is replaced by the list of actions, each action
+- as one case of the switch. */
++
++#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
++# define YYSIZE_T __SIZE_TYPE__
++#endif
++#if ! defined (YYSIZE_T) && defined (size_t)
++# define YYSIZE_T size_t
++#endif
++#if ! defined (YYSIZE_T)
++# if defined (__STDC__) || defined (__cplusplus)
++# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
++# define YYSIZE_T size_t
++# endif
++#endif
++#if ! defined (YYSIZE_T)
++# define YYSIZE_T unsigned int
++#endif
+
+ #define yyerrok (yyerrstatus = 0)
+ #define yyclearin (yychar = YYEMPTY)
+@@ -392,131 +456,161 @@
+ #define YYACCEPT goto yyacceptlab
+ #define YYABORT goto yyabortlab
+ #define YYERROR goto yyerrlab1
+-/* Like YYERROR except do call yyerror.
+- This remains here temporarily to ease the
+- transition to the new meaning of YYERROR, for GCC.
++/* 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. */
+ #define YYFAIL goto yyerrlab
+ #define YYRECOVERING() (!!yyerrstatus)
+-#define YYBACKUP(token, value) \
++#define YYBACKUP(Token, Value) \
+ do \
+ if (yychar == YYEMPTY && yylen == 1) \
+- { yychar = (token), yylval = (value); \
++ { \
++ yychar = (Token); \
++ yylval = (Value); \
+ yychar1 = YYTRANSLATE (yychar); \
+ YYPOPSTACK; \
+ goto yybackup; \
+ } \
+ else \
+- { yyerror ("syntax error: cannot back up"); YYERROR; } \
++ { \
++ yyerror ("syntax error: cannot back up"); \
++ YYERROR; \
++ } \
+ while (0)
+
+ #define YYTERROR 1
+ #define YYERRCODE 256
+
+-#ifndef YYPURE
+-#define YYLEX yylex()
+-#endif
+
+-#ifdef YYPURE
+-#ifdef YYLSP_NEEDED
+-#ifdef YYLEX_PARAM
+-#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
+-#else
+-#define YYLEX yylex(&yylval, &yylloc)
+-#endif
+-#else /* not YYLSP_NEEDED */
+-#ifdef YYLEX_PARAM
+-#define YYLEX yylex(&yylval, YYLEX_PARAM)
+-#else
+-#define YYLEX yylex(&yylval)
+-#endif
+-#endif /* not YYLSP_NEEDED */
++/* YYLLOC_DEFAULT -- Compute the default location (before the actions
++ are run).
++
++ When YYLLOC_DEFAULT is run, CURRENT is set the location of the
++ first token. By default, to implement support for ranges, extend
++ its range to the last symbol. */
++
++#ifndef YYLLOC_DEFAULT
++# define YYLLOC_DEFAULT(Current, Rhs, N) \
++ Current.last_line = Rhs[N].last_line; \
++ Current.last_column = Rhs[N].last_column;
+ #endif
+
+-/* If nonreentrant, generate the variables here */
+
+-#ifndef YYPURE
++/* YYLEX -- calling `yylex' with the right arguments. */
+
+-int yychar; /* the lookahead symbol */
+-YYSTYPE yylval; /* the semantic value of the */
+- /* lookahead symbol */
++#if YYPURE
++# if YYLSP_NEEDED
++# ifdef YYLEX_PARAM
++# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
++# else
++# define YYLEX yylex (&yylval, &yylloc)
++# endif
++# else /* !YYLSP_NEEDED */
++# ifdef YYLEX_PARAM
++# define YYLEX yylex (&yylval, YYLEX_PARAM)
++# else
++# define YYLEX yylex (&yylval)
++# endif
++# endif /* !YYLSP_NEEDED */
++#else /* !YYPURE */
++# define YYLEX yylex ()
++#endif /* !YYPURE */
+
+-#ifdef YYLSP_NEEDED
+-YYLTYPE yylloc; /* location data for the lookahead */
+- /* symbol */
+-#endif
+
+-int yynerrs; /* number of parse errors so far */
+-#endif /* not YYPURE */
++/* Enable debugging if requested. */
++#if YYDEBUG
+
+-#if YYDEBUG != 0
+-int yydebug; /* nonzero means print parse trace */
+-/* Since this is uninitialized, it does not stop multiple parsers
+- from coexisting. */
+-#endif
++# ifndef YYFPRINTF
++# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
++# define YYFPRINTF fprintf
++# endif
+
+-/* YYINITDEPTH indicates the initial size of the parser's stacks */
++# define YYDPRINTF(Args) \
++do { \
++ if (yydebug) \
++ YYFPRINTF Args; \
++} while (0)
++/* Nonzero means print parse trace. It is left uninitialized so that
++ multiple parsers can coexist. */
++int yydebug;
++#else /* !YYDEBUG */
++# define YYDPRINTF(Args)
++#endif /* !YYDEBUG */
+
++/* YYINITDEPTH -- initial size of the parser's stacks. */
+ #ifndef YYINITDEPTH
+-#define YYINITDEPTH 200
++# define YYINITDEPTH 200
+ #endif
+
+-/* YYMAXDEPTH is the maximum size the stacks can grow to
+- (effective only if the built-in stack extension method is used). */
++/* 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
++ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
++ evaluated with infinite-precision integer arithmetic. */
+
+ #if YYMAXDEPTH == 0
+-#undef YYMAXDEPTH
++# undef YYMAXDEPTH
+ #endif
+
+ #ifndef YYMAXDEPTH
+-#define YYMAXDEPTH 10000
++# define YYMAXDEPTH 10000
+ #endif
+
+-/* Define __yy_memcpy. Note that the size argument
+- should be passed with type unsigned int, because that is what the non-GCC
+- definitions require. With GCC, __builtin_memcpy takes an arg
+- of type size_t, but it can handle unsigned int. */
+-
+-#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
+-#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
+-#else /* not GNU C or C++ */
+-#ifndef __cplusplus
++#ifdef YYERROR_VERBOSE
+
+-/* This is the most reliable way to avoid incompatibilities
+- in available built-in functions on various systems. */
+-static void
+-__yy_memcpy (to, from, count)
+- char *to;
+- char *from;
+- unsigned int count;
++# ifndef yystrlen
++# if defined (__GLIBC__) && defined (_STRING_H)
++# define yystrlen strlen
++# else
++/* Return the length of YYSTR. */
++static YYSIZE_T
++# if defined (__STDC__) || defined (__cplusplus)
++yystrlen (const char *yystr)
++# else
++yystrlen (yystr)
++ const char *yystr;
++# endif
+ {
+- register char *f = from;
+- register char *t = to;
+- register int i = count;
++ register const char *yys = yystr;
+
+- while (i-- > 0)
+- *t++ = *f++;
+-}
++ while (*yys++ != '\0')
++ continue;
+
+-#else /* __cplusplus */
++ return yys - yystr - 1;
++}
++# endif
++# endif
+
+-/* This is the most reliable way to avoid incompatibilities
+- in available built-in functions on various systems. */
+-static void
+-__yy_memcpy (char *to, char *from, unsigned int count)
++# 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 *
++# if defined (__STDC__) || defined (__cplusplus)
++yystpcpy (char *yydest, const char *yysrc)
++# else
++yystpcpy (yydest, yysrc)
++ char *yydest;
++ const char *yysrc;
++# endif
+ {
+- register char *t = to;
+- register char *f = from;
+- register int i = count;
++ register char *yyd = yydest;
++ register const char *yys = yysrc;
+
+- while (i-- > 0)
+- *t++ = *f++;
+-}
++ while ((*yyd++ = *yys++) != '\0')
++ continue;
+
+-#endif
++ return yyd - 1;
++}
++# endif
++# endif
+ #endif
+
+-#line 217 "/usr/share/bison/bison.simple"
++#line 315 "/usr/local/share/bison/bison.simple"
++
+
+ /* The user can define YYPARSE_PARAM as the name of an argument to be passed
+ into yyparse. The argument should have type void *.
+@@ -525,76 +619,121 @@
+ to the proper pointer type. */
+
+ #ifdef YYPARSE_PARAM
+-#ifdef __cplusplus
+-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+-#define YYPARSE_PARAM_DECL
+-#else /* not __cplusplus */
+-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
+-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
+-#endif /* not __cplusplus */
+-#else /* not YYPARSE_PARAM */
+-#define YYPARSE_PARAM_ARG
+-#define YYPARSE_PARAM_DECL
+-#endif /* not YYPARSE_PARAM */
++# if defined (__STDC__) || defined (__cplusplus)
++# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
++# define YYPARSE_PARAM_DECL
++# else
++# define YYPARSE_PARAM_ARG YYPARSE_PARAM
++# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
++# endif
++#else /* !YYPARSE_PARAM */
++# define YYPARSE_PARAM_ARG
++# define YYPARSE_PARAM_DECL
++#endif /* !YYPARSE_PARAM */
+
+ /* Prevent warning if -Wstrict-prototypes. */
+ #ifdef __GNUC__
+-#ifdef YYPARSE_PARAM
++# ifdef YYPARSE_PARAM
+ int yyparse (void *);
+-#else
++# else
+ int yyparse (void);
++# endif
+ #endif
++
++/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
++ variables are global, or local to YYPARSE. */
++
++#define YY_DECL_NON_LSP_VARIABLES \
++/* The lookahead symbol. */ \
++int yychar; \
++ \
++/* The semantic value of the lookahead symbol. */ \
++YYSTYPE yylval; \
++ \
++/* Number of parse errors so far. */ \
++int yynerrs;
++
++#if YYLSP_NEEDED
++# define YY_DECL_VARIABLES \
++YY_DECL_NON_LSP_VARIABLES \
++ \
++/* Location data for the lookahead symbol. */ \
++YYLTYPE yylloc;
++#else
++# define YY_DECL_VARIABLES \
++YY_DECL_NON_LSP_VARIABLES
+ #endif
+
++
++/* If nonreentrant, generate the variables here. */
++
++#if !YYPURE
++YY_DECL_VARIABLES
++#endif /* !YYPURE */
++
+ int
+-yyparse(YYPARSE_PARAM_ARG)
++yyparse (YYPARSE_PARAM_ARG)
+ YYPARSE_PARAM_DECL
+ {
++ /* If reentrant, generate the variables here. */
++#if YYPURE
++ YY_DECL_VARIABLES
++#endif /* !YYPURE */
++
+ register int yystate;
+ register int yyn;
+- register short *yyssp;
+- register YYSTYPE *yyvsp;
+- int yyerrstatus; /* number of tokens to shift before error messages enabled */
+- int yychar1 = 0; /* lookahead token as an internal (translated) token number */
++ int yyresult;
++ /* Number of tokens to shift before error messages enabled. */
++ int yyerrstatus;
++ /* Lookahead token as an internal (translated) token number. */
++ int yychar1 = 0;
+
+- short yyssa[YYINITDEPTH]; /* the state stack */
+- YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
++ /* Three stacks and their tools:
++ `yyss': related to states,
++ `yyvs': related to semantic values,
++ `yyls': related to locations.
+
+- short *yyss = yyssa; /* refer to the stacks thru separate pointers */
+- YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
++ Refer to the stacks thru separate pointers, to allow yyoverflow
++ to reallocate them elsewhere. */
+
+-#ifdef YYLSP_NEEDED
+- YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
++ /* The state stack. */
++ short yyssa[YYINITDEPTH];
++ short *yyss = yyssa;
++ register short *yyssp;
++
++ /* The semantic value stack. */
++ YYSTYPE yyvsa[YYINITDEPTH];
++ YYSTYPE *yyvs = yyvsa;
++ register YYSTYPE *yyvsp;
++
++#if YYLSP_NEEDED
++ /* The location stack. */
++ YYLTYPE yylsa[YYINITDEPTH];
+ YYLTYPE *yyls = yylsa;
+ YYLTYPE *yylsp;
++#endif
+
+-#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
++#if YYLSP_NEEDED
++# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
+ #else
+-#define YYPOPSTACK (yyvsp--, yyssp--)
++# define YYPOPSTACK (yyvsp--, yyssp--)
+ #endif
+
+- int yystacksize = YYINITDEPTH;
+- int yyfree_stacks = 0;
++ YYSIZE_T yystacksize = YYINITDEPTH;
+
+-#ifdef YYPURE
+- int yychar;
+- YYSTYPE yylval;
+- int yynerrs;
+-#ifdef YYLSP_NEEDED
+- YYLTYPE yylloc;
+-#endif
+-#endif
+
+- YYSTYPE yyval; /* the variable used to return */
+- /* semantic values from the action */
+- /* routines */
++ /* The variables used to return semantic value and location from the
++ action routines. */
++ YYSTYPE yyval;
++#if YYLSP_NEEDED
++ YYLTYPE yyloc;
++#endif
+
++ /* When reducing, the number of symbols on the RHS of the reduced
++ rule. */
+ int yylen;
+
+-#if YYDEBUG != 0
+- if (yydebug)
+- fprintf(stderr, "Starting parse\n");
+-#endif
++ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+@@ -606,110 +745,110 @@
+ so that they stay on the same level as the state stack.
+ The wasted elements are never initialized. */
+
+- yyssp = yyss - 1;
++ yyssp = yyss;
+ yyvsp = yyvs;
+-#ifdef YYLSP_NEEDED
++#if YYLSP_NEEDED
+ yylsp = yyls;
+ #endif
++ goto yysetstate;
+
+-/* Push a new state, which is found in yystate . */
+-/* In all cases, when you get here, the value and location stacks
+- have just been pushed. so pushing a state here evens the stacks. */
+-yynewstate:
++/*------------------------------------------------------------.
++| 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++;
+
+- *++yyssp = yystate;
++ yysetstate:
++ *yyssp = yystate;
+
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+- /* 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;
+- short *yyss1 = yyss;
+-#ifdef YYLSP_NEEDED
+- YYLTYPE *yyls1 = yyls;
+-#endif
+-
+ /* Get the current used size of the three stacks, in elements. */
+- int size = yyssp - yyss + 1;
++ YYSIZE_T yysize = yyssp - yyss + 1;
+
+ #ifdef yyoverflow
+- /* Each stack pointer address is followed by the size of
+- the data in use in that stack, in bytes. */
+-#ifdef YYLSP_NEEDED
+- /* This used to be a conditional around just the two extra args,
+- but that might be undefined if yyoverflow is a macro. */
+- yyoverflow("parser stack overflow",
+- &yyss1, size * sizeof (*yyssp),
+- &yyvs1, size * sizeof (*yyvsp),
+- &yyls1, size * sizeof (*yylsp),
+- &yystacksize);
+-#else
+- yyoverflow("parser stack overflow",
+- &yyss1, size * sizeof (*yyssp),
+- &yyvs1, size * sizeof (*yyvsp),
+- &yystacksize);
+-#endif
++ {
++ /* 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;
++ short *yyss1 = yyss;
+
+- yyss = yyss1; yyvs = yyvs1;
+-#ifdef YYLSP_NEEDED
+- yyls = yyls1;
+-#endif
++ /* Each stack pointer address is followed by the size of the
++ data in use in that stack, in bytes. */
++# if YYLSP_NEEDED
++ YYLTYPE *yyls1 = yyls;
++ /* This used to be a conditional around just the two extra args,
++ but that might be undefined if yyoverflow is a macro. */
++ yyoverflow ("parser stack overflow",
++ &yyss1, yysize * sizeof (*yyssp),
++ &yyvs1, yysize * sizeof (*yyvsp),
++ &yyls1, yysize * sizeof (*yylsp),
++ &yystacksize);
++ yyls = yyls1;
++# else
++ yyoverflow ("parser stack overflow",
++ &yyss1, yysize * sizeof (*yyssp),
++ &yyvs1, yysize * sizeof (*yyvsp),
++ &yystacksize);
++# endif
++ yyss = yyss1;
++ yyvs = yyvs1;
++ }
+ #else /* no yyoverflow */
++# ifndef YYSTACK_RELOCATE
++ goto yyoverflowlab;
++# else
+ /* Extend the stack our own way. */
+ if (yystacksize >= YYMAXDEPTH)
+- {
+- yyerror("parser stack overflow");
+- if (yyfree_stacks)
+- {
+- free (yyss);
+- free (yyvs);
+-#ifdef YYLSP_NEEDED
+- free (yyls);
+-#endif
+- }
+- return 2;
+- }
++ goto yyoverflowlab;
+ yystacksize *= 2;
+ if (yystacksize > YYMAXDEPTH)
+ yystacksize = YYMAXDEPTH;
+-#ifndef YYSTACK_USE_ALLOCA
+- yyfree_stacks = 1;
+-#endif
+- yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
+- __yy_memcpy ((char *)yyss, (char *)yyss1,
+- size * (unsigned int) sizeof (*yyssp));
+- yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
+- __yy_memcpy ((char *)yyvs, (char *)yyvs1,
+- size * (unsigned int) sizeof (*yyvsp));
+-#ifdef YYLSP_NEEDED
+- yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
+- __yy_memcpy ((char *)yyls, (char *)yyls1,
+- size * (unsigned int) sizeof (*yylsp));
+-#endif
++
++ {
++ short *yyss1 = yyss;
++ union yyalloc *yyptr =
++ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
++ if (! yyptr)
++ goto yyoverflowlab;
++ YYSTACK_RELOCATE (yyss);
++ YYSTACK_RELOCATE (yyvs);
++# if YYLSP_NEEDED
++ YYSTACK_RELOCATE (yyls);
++# endif
++# undef YYSTACK_RELOCATE
++ if (yyss1 != yyssa)
++ YYSTACK_FREE (yyss1);
++ }
++# endif
+ #endif /* no yyoverflow */
+
+- yyssp = yyss + size - 1;
+- yyvsp = yyvs + size - 1;
+-#ifdef YYLSP_NEEDED
+- yylsp = yyls + size - 1;
++ yyssp = yyss + yysize - 1;
++ yyvsp = yyvs + yysize - 1;
++#if YYLSP_NEEDED
++ yylsp = yyls + yysize - 1;
+ #endif
+
+-#if YYDEBUG != 0
+- if (yydebug)
+- fprintf(stderr, "Stack size increased to %d\n", yystacksize);
+-#endif
++ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
++ (unsigned long int) yystacksize));
+
+ if (yyssp >= yyss + yystacksize - 1)
+ YYABORT;
+ }
+
+-#if YYDEBUG != 0
+- if (yydebug)
+- fprintf(stderr, "Entering state %d\n", yystate);
+-#endif
++ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ goto yybackup;
+- yybackup:
++
++
++/*-----------.
++| yybackup. |
++`-----------*/
++yybackup:
+
+ /* Do appropriate processing given the current state. */
+ /* Read a lookahead token if we need one and don't already have one. */
+@@ -728,10 +867,7 @@
+
+ if (yychar == YYEMPTY)
+ {
+-#if YYDEBUG != 0
+- if (yydebug)
+- fprintf(stderr, "Reading a token: ");
+-#endif
++ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = YYLEX;
+ }
+
+@@ -742,25 +878,25 @@
+ yychar1 = 0;
+ yychar = YYEOF; /* Don't call YYLEX any more */
+
+-#if YYDEBUG != 0
+- if (yydebug)
+- fprintf(stderr, "Now at end of input.\n");
+-#endif
++ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+- yychar1 = YYTRANSLATE(yychar);
++ yychar1 = YYTRANSLATE (yychar);
+
+-#if YYDEBUG != 0
++#if YYDEBUG
++ /* We have to keep this `#if YYDEBUG', since we use variables
++ which are defined only if `YYDEBUG' is set. */
+ if (yydebug)
+ {
+- fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
+- /* Give the individual parser a way to print the precise meaning
+- of a token, for further debugging info. */
+-#ifdef YYPRINT
++ YYFPRINTF (stderr, "Next token is %d (%s",
++ yychar, yytname[yychar1]);
++ /* Give the individual parser a way to print the precise
++ meaning of a token, for further debugging info. */
++# ifdef YYPRINT
+ YYPRINT (stderr, yychar, yylval);
+-#endif
+- fprintf (stderr, ")\n");
++# endif
++ YYFPRINTF (stderr, ")\n");
+ }
+ #endif
+ }
+@@ -792,177 +928,185 @@
+ YYACCEPT;
+
+ /* Shift the lookahead token. */
+-
+-#if YYDEBUG != 0
+- if (yydebug)
+- fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
+-#endif
++ YYDPRINTF ((stderr, "Shifting token %d (%s), ",
++ yychar, yytname[yychar1]));
+
+ /* Discard the token being shifted unless it is eof. */
+ if (yychar != YYEOF)
+ yychar = YYEMPTY;
+
+ *++yyvsp = yylval;
+-#ifdef YYLSP_NEEDED
++#if YYLSP_NEEDED
+ *++yylsp = yylloc;
+ #endif
+
+- /* count tokens shifted since error; after three, turn off error status. */
+- if (yyerrstatus) yyerrstatus--;
++ /* Count tokens shifted since error; after three, turn off error
++ status. */
++ if (yyerrstatus)
++ yyerrstatus--;
+
+ yystate = yyn;
+ goto yynewstate;
+
+-/* Do the default action for the current state. */
+-yydefault:
+
++/*-----------------------------------------------------------.
++| yydefault -- do the default action for the current state. |
++`-----------------------------------------------------------*/
++yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
++ goto yyreduce;
+
+-/* Do a reduction. yyn is the number of a rule to reduce with. */
++
++/*-----------------------------.
++| yyreduce -- Do a reduction. |
++`-----------------------------*/
+ yyreduce:
++ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+- if (yylen > 0)
+- yyval = yyvsp[1-yylen]; /* implement default value of the action */
+
+-#if YYDEBUG != 0
++ /* If YYLEN is nonzero, implement the default value of the action:
++ `$$ = $1'.
++
++ Otherwise, the following line sets YYVAL to the semantic value of
++ the lookahead token. 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];
++
++#if YYLSP_NEEDED
++ /* Similarly for the default location. Let the user run additional
++ commands if for instance locations are ranges. */
++ yyloc = yylsp[1-yylen];
++ YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
++#endif
++
++#if YYDEBUG
++ /* We have to keep this `#if YYDEBUG', since we use variables which
++ are defined only if `YYDEBUG' is set. */
+ if (yydebug)
+ {
+- int i;
++ int yyi;
+
+- fprintf (stderr, "Reducing via rule %d (line %d), ",
+- yyn, yyrline[yyn]);
++ YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
++ yyn, yyrline[yyn]);
+
+ /* Print the symbols being reduced, and their result. */
+- for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
+- fprintf (stderr, "%s ", yytname[yyrhs[i]]);
+- fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
++ for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
++ YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
++ YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
+ }
+ #endif
+
+-
+ switch (yyn) {
+
+ case 1:
+-#line 178 "plural.y"
++#line 151 "plural.y"
+ {
+ if (yyvsp[0].exp == NULL)
+ YYABORT;
+ ((struct parse_args *) arg)->res = yyvsp[0].exp;
+- ;
+- break;}
++ }
++ break;
+ case 2:
+-#line 186 "plural.y"
++#line 159 "plural.y"
+ {
+ yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp);
+- ;
+- break;}
++ }
++ break;
+ case 3:
+-#line 190 "plural.y"
++#line 163 "plural.y"
+ {
+ yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp);
+- ;
+- break;}
++ }
++ break;
+ case 4:
+-#line 194 "plural.y"
++#line 167 "plural.y"
+ {
+ yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp);
+- ;
+- break;}
++ }
++ break;
+ case 5:
+-#line 198 "plural.y"
++#line 171 "plural.y"
+ {
+ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
+- ;
+- break;}
++ }
++ break;
+ case 6:
+-#line 202 "plural.y"
++#line 175 "plural.y"
+ {
+ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
+- ;
+- break;}
++ }
++ break;
+ case 7:
+-#line 206 "plural.y"
++#line 179 "plural.y"
+ {
+ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
+- ;
+- break;}
++ }
++ break;
+ case 8:
+-#line 210 "plural.y"
++#line 183 "plural.y"
+ {
+ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);
+- ;
+- break;}
++ }
++ break;
+ case 9:
+-#line 214 "plural.y"
++#line 187 "plural.y"
+ {
+ yyval.exp = new_exp_1 (lnot, yyvsp[0].exp);
+- ;
+- break;}
++ }
++ break;
+ case 10:
+-#line 218 "plural.y"
++#line 191 "plural.y"
+ {
+ yyval.exp = new_exp_0 (var);
+- ;
+- break;}
++ }
++ break;
+ case 11:
+-#line 222 "plural.y"
++#line 195 "plural.y"
+ {
+ if ((yyval.exp = new_exp_0 (num)) != NULL)
+ yyval.exp->val.num = yyvsp[0].num;
+- ;
+- break;}
++ }
++ break;
+ case 12:
+-#line 227 "plural.y"
++#line 200 "plural.y"
+ {
+ yyval.exp = yyvsp[-1].exp;
+- ;
+- break;}
++ }
++ break;
+ }
+- /* the action file gets copied in in place of this dollarsign */
+-#line 543 "/usr/share/bison/bison.simple"
++
++#line 705 "/usr/local/share/bison/bison.simple"
++
+
+ yyvsp -= yylen;
+ yyssp -= yylen;
+-#ifdef YYLSP_NEEDED
++#if YYLSP_NEEDED
+ yylsp -= yylen;
+ #endif
+
+-#if YYDEBUG != 0
++#if YYDEBUG
+ if (yydebug)
+ {
+- short *ssp1 = yyss - 1;
+- fprintf (stderr, "state stack now");
+- while (ssp1 != yyssp)
+- fprintf (stderr, " %d", *++ssp1);
+- fprintf (stderr, "\n");
++ short *yyssp1 = yyss - 1;
++ YYFPRINTF (stderr, "state stack now");
++ while (yyssp1 != yyssp)
++ YYFPRINTF (stderr, " %d", *++yyssp1);
++ YYFPRINTF (stderr, "\n");
+ }
+ #endif
+
+ *++yyvsp = yyval;
+-
+-#ifdef YYLSP_NEEDED
+- yylsp++;
+- if (yylen == 0)
+- {
+- yylsp->first_line = yylloc.first_line;
+- yylsp->first_column = yylloc.first_column;
+- yylsp->last_line = (yylsp-1)->last_line;
+- yylsp->last_column = (yylsp-1)->last_column;
+- yylsp->text = 0;
+- }
+- else
+- {
+- yylsp->last_line = (yylsp+yylen-1)->last_line;
+- yylsp->last_column = (yylsp+yylen-1)->last_column;
+- }
++#if YYLSP_NEEDED
++ *++yylsp = yyloc;
+ #endif
+
+- /* 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. */
++ /* 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];
+
+@@ -974,10 +1118,13 @@
+
+ goto yynewstate;
+
+-yyerrlab: /* here on detecting error */
+
+- if (! yyerrstatus)
+- /* If not already recovering from an error, report this error. */
++/*------------------------------------.
++| yyerrlab -- here on detecting error |
++`------------------------------------*/
++yyerrlab:
++ /* If not already recovering from an error, report this error. */
++ if (!yyerrstatus)
+ {
+ ++yynerrs;
+
+@@ -986,102 +1133,121 @@
+
+ if (yyn > YYFLAG && yyn < YYLAST)
+ {
+- int size = 0;
+- char *msg;
+- int x, count;
++ YYSIZE_T yysize = 0;
++ char *yymsg;
++ int yyx, yycount;
+
+- count = 0;
+- /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
+- for (x = (yyn < 0 ? -yyn : 0);
+- x < (sizeof(yytname) / sizeof(char *)); x++)
+- if (yycheck[x + yyn] == x)
+- size += strlen(yytname[x]) + 15, count++;
+- msg = (char *) malloc(size + 15);
+- if (msg != 0)
++ yycount = 0;
++ /* Start YYX at -YYN if negative to avoid negative indexes in
++ YYCHECK. */
++ for (yyx = yyn < 0 ? -yyn : 0;
++ yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
++ if (yycheck[yyx + yyn] == yyx)
++ yysize += yystrlen (yytname[yyx]) + 15, yycount++;
++ yysize += yystrlen ("parse error, unexpected ") + 1;
++ yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
++ yymsg = (char *) YYSTACK_ALLOC (yysize);
++ if (yymsg != 0)
+ {
+- strcpy(msg, "parse error");
++ char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
++ yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
+
+- if (count < 5)
++ if (yycount < 5)
+ {
+- count = 0;
+- for (x = (yyn < 0 ? -yyn : 0);
+- x < (sizeof(yytname) / sizeof(char *)); x++)
+- if (yycheck[x + yyn] == x)
++ yycount = 0;
++ for (yyx = yyn < 0 ? -yyn : 0;
++ yyx < (int) (sizeof (yytname) / sizeof (char *));
++ yyx++)
++ if (yycheck[yyx + yyn] == yyx)
+ {
+- strcat(msg, count == 0 ? ", expecting `" : " or `");
+- strcat(msg, yytname[x]);
+- strcat(msg, "'");
+- count++;
++ const char *yyq = ! yycount ? ", expecting " : " or ";
++ yyp = yystpcpy (yyp, yyq);
++ yyp = yystpcpy (yyp, yytname[yyx]);
++ yycount++;
+ }
+ }
+- yyerror(msg);
+- free(msg);
++ yyerror (yymsg);
++ YYSTACK_FREE (yymsg);
+ }
+ else
+- yyerror ("parse error; also virtual memory exceeded");
++ yyerror ("parse error; also virtual memory exhausted");
+ }
+ else
+-#endif /* YYERROR_VERBOSE */
+- yyerror("parse error");
++#endif /* defined (YYERROR_VERBOSE) */
++ yyerror ("parse error");
+ }
+-
+ goto yyerrlab1;
+-yyerrlab1: /* here on error raised explicitly by an action */
+
++
++/*--------------------------------------------------.
++| yyerrlab1 -- error raised explicitly by an action |
++`--------------------------------------------------*/
++yyerrlab1:
+ if (yyerrstatus == 3)
+ {
+- /* if just tried and failed to reuse lookahead token after an error, discard it. */
++ /* If just tried and failed to reuse lookahead token after an
++ error, discard it. */
+
+ /* return failure if at end of input */
+ if (yychar == YYEOF)
+ YYABORT;
+-
+-#if YYDEBUG != 0
+- if (yydebug)
+- fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
+-#endif
+-
++ YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
++ yychar, yytname[yychar1]));
+ yychar = YYEMPTY;
+ }
+
+- /* Else will try to reuse lookahead token
+- after shifting the error token. */
++ /* Else will try to reuse lookahead token after shifting the error
++ token. */
+
+ yyerrstatus = 3; /* Each real token shifted decrements this */
+
+ goto yyerrhandle;
+
+-yyerrdefault: /* current state does not do anything special for the error token. */
+
++/*-------------------------------------------------------------------.
++| yyerrdefault -- current state does not do anything special for the |
++| error token. |
++`-------------------------------------------------------------------*/
++yyerrdefault:
+ #if 0
+ /* This is wrong; only states that explicitly want error tokens
+ should shift them. */
+- yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
+- if (yyn) goto yydefault;
++
++ /* If its default is to accept any token, ok. Otherwise pop it. */
++ yyn = yydefact[yystate];
++ if (yyn)
++ goto yydefault;
+ #endif
+
+-yyerrpop: /* pop the current state because it cannot handle the error token */
+
+- if (yyssp == yyss) YYABORT;
++/*---------------------------------------------------------------.
++| yyerrpop -- pop the current state because it cannot handle the |
++| error token |
++`---------------------------------------------------------------*/
++yyerrpop:
++ if (yyssp == yyss)
++ YYABORT;
+ yyvsp--;
+ yystate = *--yyssp;
+-#ifdef YYLSP_NEEDED
++#if YYLSP_NEEDED
+ yylsp--;
+ #endif
+
+-#if YYDEBUG != 0
++#if YYDEBUG
+ if (yydebug)
+ {
+- short *ssp1 = yyss - 1;
+- fprintf (stderr, "Error: state stack now");
+- while (ssp1 != yyssp)
+- fprintf (stderr, " %d", *++ssp1);
+- fprintf (stderr, "\n");
++ short *yyssp1 = yyss - 1;
++ YYFPRINTF (stderr, "Error: state stack now");
++ while (yyssp1 != yyssp)
++ YYFPRINTF (stderr, " %d", *++yyssp1);
++ YYFPRINTF (stderr, "\n");
+ }
+ #endif
+
++/*--------------.
++| yyerrhandle. |
++`--------------*/
+ yyerrhandle:
+-
+ yyn = yypact[yystate];
+ if (yyn == YYFLAG)
+ goto yyerrdefault;
+@@ -1104,50 +1270,52 @@
+ if (yyn == YYFINAL)
+ YYACCEPT;
+
+-#if YYDEBUG != 0
+- if (yydebug)
+- fprintf(stderr, "Shifting error token, ");
+-#endif
++ YYDPRINTF ((stderr, "Shifting error token, "));
+
+ *++yyvsp = yylval;
+-#ifdef YYLSP_NEEDED
++#if YYLSP_NEEDED
+ *++yylsp = yylloc;
+ #endif
+
+ yystate = yyn;
+ goto yynewstate;
+
+- yyacceptlab:
+- /* YYACCEPT comes here. */
+- if (yyfree_stacks)
+- {
+- free (yyss);
+- free (yyvs);
+-#ifdef YYLSP_NEEDED
+- free (yyls);
+-#endif
+- }
+- return 0;
+
+- yyabortlab:
+- /* YYABORT comes here. */
+- if (yyfree_stacks)
+- {
+- free (yyss);
+- free (yyvs);
+-#ifdef YYLSP_NEEDED
+- free (yyls);
++/*-------------------------------------.
++| yyacceptlab -- YYACCEPT comes here. |
++`-------------------------------------*/
++yyacceptlab:
++ yyresult = 0;
++ goto yyreturn;
++
++/*-----------------------------------.
++| yyabortlab -- YYABORT comes here. |
++`-----------------------------------*/
++yyabortlab:
++ yyresult = 1;
++ goto yyreturn;
++
++/*---------------------------------------------.
++| yyoverflowab -- parser overflow comes here. |
++`---------------------------------------------*/
++yyoverflowlab:
++ yyerror ("parser stack overflow");
++ yyresult = 2;
++ /* Fall through. */
++
++yyreturn:
++#ifndef yyoverflow
++ if (yyss != yyssa)
++ YYSTACK_FREE (yyss);
+ #endif
+- }
+- return 1;
++ return yyresult;
+ }
+-#line 232 "plural.y"
++#line 205 "plural.y"
+
+
+ void
+ internal_function
+-FREE_EXPRESSION (exp)
+- struct expression *exp;
++FREE_EXPRESSION (struct expression *exp)
+ {
+ if (exp == NULL)
+ return;
+@@ -1173,9 +1341,7 @@
+
+
+ static int
+-yylex (lval, pexp)
+- YYSTYPE *lval;
+- const char **pexp;
++yylex (YYSTYPE *lval, const char **pexp)
+ {
+ const char *exp = *pexp;
+ int result;
+@@ -1318,8 +1484,7 @@
+
+
+ static void
+-yyerror (str)
+- const char *str;
++yyerror (const char *str)
+ {
+ /* Do nothing. We don't print error messages here. */
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/plural.y psmisc-20.2.works.clean/intl/plural.y
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/plural.y 2001-04-13 23:00:43.000000000 -0500
++++ psmisc-20.2.works.clean/intl/plural.y 2004-10-13 15:18:41.000000000 -0500
+@@ -1,21 +1,22 @@
+ %{
+ /* Expression parsing for plural form selection.
+- Copyright (C) 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
+ Written by Ulrich Drepper <drepper@cygnus.com>, 2000.
+
+- This program is free software; you can redistribute it and/or modify
+- it under the terms of the GNU General Public License as published by
+- the Free Software Foundation; either version 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ /* The bison generated parser uses alloca. AIX 3 forces us to put this
+ declaration at the beginning of the file. The declaration in bison's
+@@ -29,25 +30,21 @@
+ # include <config.h>
+ #endif
+
++#include <stddef.h>
+ #include <stdlib.h>
+-#include "gettextP.h"
++#include "plural-exp.h"
+
+-/* Names for the libintl functions are a problem. They must not clash
+- with existing names and they should follow ANSI C. But this source
+- code is also used in GNU C Library where the names have a __
+- prefix. So we have to make a difference here. */
+-#ifdef _LIBC
+-# define FREE_EXPRESSION __gettext_free_exp
+-#else
+-# define FREE_EXPRESSION gettext_free_exp__
+-# define __gettextparse gettextparse__
++/* The main function generated by the parser is called __gettextparse,
++ but we want it to be called PLURAL_PARSE. */
++#ifndef _LIBC
++# define __gettextparse PLURAL_PARSE
+ #endif
+
+ #define YYLEX_PARAM &((struct parse_args *) arg)->cp
+ #define YYPARSE_PARAM arg
+ %}
+ %pure_parser
+-%expect 10
++%expect 7
+
+ %union {
+ unsigned long int num;
+@@ -57,28 +54,13 @@
+
+ %{
+ /* Prototypes for local functions. */
+-static struct expression *new_exp PARAMS ((int nargs, enum operator op,
+- struct expression * const *args));
+-static inline struct expression *new_exp_0 PARAMS ((enum operator op));
+-static inline struct expression *new_exp_1 PARAMS ((enum operator op,
+- struct expression *right));
+-static struct expression *new_exp_2 PARAMS ((enum operator op,
+- struct expression *left,
+- struct expression *right));
+-static inline struct expression *new_exp_3 PARAMS ((enum operator op,
+- struct expression *bexp,
+- struct expression *tbranch,
+- struct expression *fbranch));
+-static int yylex PARAMS ((YYSTYPE *lval, const char **pexp));
+-static void yyerror PARAMS ((const char *str));
++static int yylex (YYSTYPE *lval, const char **pexp);
++static void yyerror (const char *str);
+
+ /* Allocation of expressions. */
+
+ static struct expression *
+-new_exp (nargs, op, args)
+- int nargs;
+- enum operator op;
+- struct expression * const *args;
++new_exp (int nargs, enum operator op, struct expression * const *args)
+ {
+ int i;
+ struct expression *newp;
+@@ -107,16 +89,13 @@
+ }
+
+ static inline struct expression *
+-new_exp_0 (op)
+- enum operator op;
++new_exp_0 (enum operator op)
+ {
+ return new_exp (0, op, NULL);
+ }
+
+ static inline struct expression *
+-new_exp_1 (op, right)
+- enum operator op;
+- struct expression *right;
++new_exp_1 (enum operator op, struct expression *right)
+ {
+ struct expression *args[1];
+
+@@ -125,10 +104,7 @@
+ }
+
+ static struct expression *
+-new_exp_2 (op, left, right)
+- enum operator op;
+- struct expression *left;
+- struct expression *right;
++new_exp_2 (enum operator op, struct expression *left, struct expression *right)
+ {
+ struct expression *args[2];
+
+@@ -138,11 +114,8 @@
+ }
+
+ static inline struct expression *
+-new_exp_3 (op, bexp, tbranch, fbranch)
+- enum operator op;
+- struct expression *bexp;
+- struct expression *tbranch;
+- struct expression *fbranch;
++new_exp_3 (enum operator op, struct expression *bexp,
++ struct expression *tbranch, struct expression *fbranch)
+ {
+ struct expression *args[3];
+
+@@ -233,8 +206,7 @@
+
+ void
+ internal_function
+-FREE_EXPRESSION (exp)
+- struct expression *exp;
++FREE_EXPRESSION (struct expression *exp)
+ {
+ if (exp == NULL)
+ return;
+@@ -260,9 +232,7 @@
+
+
+ static int
+-yylex (lval, pexp)
+- YYSTYPE *lval;
+- const char **pexp;
++yylex (YYSTYPE *lval, const char **pexp)
+ {
+ const char *exp = *pexp;
+ int result;
+@@ -405,8 +375,7 @@
+
+
+ static void
+-yyerror (str)
+- const char *str;
++yyerror (const char *str)
+ {
+ /* Do nothing. We don't print error messages here. */
+ }
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf-args.c psmisc-20.2.works.clean/intl/printf-args.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf-args.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/printf-args.c 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,119 @@
++/* Decomposed printf argument list.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++/* Specification. */
++#include "printf-args.h"
++
++#ifdef STATIC
++STATIC
++#endif
++int
++printf_fetchargs (va_list args, arguments *a)
++{
++ size_t i;
++ argument *ap;
++
++ for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++)
++ switch (ap->type)
++ {
++ case TYPE_SCHAR:
++ ap->a.a_schar = va_arg (args, /*signed char*/ int);
++ break;
++ case TYPE_UCHAR:
++ ap->a.a_uchar = va_arg (args, /*unsigned char*/ int);
++ break;
++ case TYPE_SHORT:
++ ap->a.a_short = va_arg (args, /*short*/ int);
++ break;
++ case TYPE_USHORT:
++ ap->a.a_ushort = va_arg (args, /*unsigned short*/ int);
++ break;
++ case TYPE_INT:
++ ap->a.a_int = va_arg (args, int);
++ break;
++ case TYPE_UINT:
++ ap->a.a_uint = va_arg (args, unsigned int);
++ break;
++ case TYPE_LONGINT:
++ ap->a.a_longint = va_arg (args, long int);
++ break;
++ case TYPE_ULONGINT:
++ ap->a.a_ulongint = va_arg (args, unsigned long int);
++ break;
++#ifdef HAVE_LONG_LONG
++ case TYPE_LONGLONGINT:
++ ap->a.a_longlongint = va_arg (args, long long int);
++ break;
++ case TYPE_ULONGLONGINT:
++ ap->a.a_ulonglongint = va_arg (args, unsigned long long int);
++ break;
++#endif
++ case TYPE_DOUBLE:
++ ap->a.a_double = va_arg (args, double);
++ break;
++#ifdef HAVE_LONG_DOUBLE
++ case TYPE_LONGDOUBLE:
++ ap->a.a_longdouble = va_arg (args, long double);
++ break;
++#endif
++ case TYPE_CHAR:
++ ap->a.a_char = va_arg (args, int);
++ break;
++#ifdef HAVE_WINT_T
++ case TYPE_WIDE_CHAR:
++ ap->a.a_wide_char = va_arg (args, wint_t);
++ break;
++#endif
++ case TYPE_STRING:
++ ap->a.a_string = va_arg (args, const char *);
++ break;
++#ifdef HAVE_WCHAR_T
++ case TYPE_WIDE_STRING:
++ ap->a.a_wide_string = va_arg (args, const wchar_t *);
++ break;
++#endif
++ case TYPE_POINTER:
++ ap->a.a_pointer = va_arg (args, void *);
++ break;
++ case TYPE_COUNT_SCHAR_POINTER:
++ ap->a.a_count_schar_pointer = va_arg (args, signed char *);
++ break;
++ case TYPE_COUNT_SHORT_POINTER:
++ ap->a.a_count_short_pointer = va_arg (args, short *);
++ break;
++ case TYPE_COUNT_INT_POINTER:
++ ap->a.a_count_int_pointer = va_arg (args, int *);
++ break;
++ case TYPE_COUNT_LONGINT_POINTER:
++ ap->a.a_count_longint_pointer = va_arg (args, long int *);
++ break;
++#ifdef HAVE_LONG_LONG
++ case TYPE_COUNT_LONGLONGINT_POINTER:
++ ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
++ break;
++#endif
++ default:
++ /* Unknown type. */
++ return -1;
++ }
++ return 0;
++}
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf-args.h psmisc-20.2.works.clean/intl/printf-args.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf-args.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/printf-args.h 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,137 @@
++/* Decomposed printf argument list.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _PRINTF_ARGS_H
++#define _PRINTF_ARGS_H
++
++/* Get size_t. */
++#include <stddef.h>
++
++/* Get wchar_t. */
++#ifdef HAVE_WCHAR_T
++# include <stddef.h>
++#endif
++
++/* Get wint_t. */
++#ifdef HAVE_WINT_T
++# include <wchar.h>
++#endif
++
++/* Get va_list. */
++#include <stdarg.h>
++
++
++/* Argument types */
++typedef enum
++{
++ TYPE_NONE,
++ TYPE_SCHAR,
++ TYPE_UCHAR,
++ TYPE_SHORT,
++ TYPE_USHORT,
++ TYPE_INT,
++ TYPE_UINT,
++ TYPE_LONGINT,
++ TYPE_ULONGINT,
++#ifdef HAVE_LONG_LONG
++ TYPE_LONGLONGINT,
++ TYPE_ULONGLONGINT,
++#endif
++ TYPE_DOUBLE,
++#ifdef HAVE_LONG_DOUBLE
++ TYPE_LONGDOUBLE,
++#endif
++ TYPE_CHAR,
++#ifdef HAVE_WINT_T
++ TYPE_WIDE_CHAR,
++#endif
++ TYPE_STRING,
++#ifdef HAVE_WCHAR_T
++ TYPE_WIDE_STRING,
++#endif
++ TYPE_POINTER,
++ TYPE_COUNT_SCHAR_POINTER,
++ TYPE_COUNT_SHORT_POINTER,
++ TYPE_COUNT_INT_POINTER,
++ TYPE_COUNT_LONGINT_POINTER
++#ifdef HAVE_LONG_LONG
++, TYPE_COUNT_LONGLONGINT_POINTER
++#endif
++} arg_type;
++
++/* Polymorphic argument */
++typedef struct
++{
++ arg_type type;
++ union
++ {
++ signed char a_schar;
++ unsigned char a_uchar;
++ short a_short;
++ unsigned short a_ushort;
++ int a_int;
++ unsigned int a_uint;
++ long int a_longint;
++ unsigned long int a_ulongint;
++#ifdef HAVE_LONG_LONG
++ long long int a_longlongint;
++ unsigned long long int a_ulonglongint;
++#endif
++ float a_float;
++ double a_double;
++#ifdef HAVE_LONG_DOUBLE
++ long double a_longdouble;
++#endif
++ int a_char;
++#ifdef HAVE_WINT_T
++ wint_t a_wide_char;
++#endif
++ const char* a_string;
++#ifdef HAVE_WCHAR_T
++ const wchar_t* a_wide_string;
++#endif
++ void* a_pointer;
++ signed char * a_count_schar_pointer;
++ short * a_count_short_pointer;
++ int * a_count_int_pointer;
++ long int * a_count_longint_pointer;
++#ifdef HAVE_LONG_LONG
++ long long int * a_count_longlongint_pointer;
++#endif
++ }
++ a;
++}
++argument;
++
++typedef struct
++{
++ size_t count;
++ argument *arg;
++}
++arguments;
++
++
++/* Fetch the arguments, putting them into a. */
++#ifdef STATIC
++STATIC
++#else
++extern
++#endif
++int printf_fetchargs (va_list args, arguments *a);
++
++#endif /* _PRINTF_ARGS_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf-parse.c psmisc-20.2.works.clean/intl/printf-parse.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf-parse.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/printf-parse.c 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,537 @@
++/* Formatted output to strings.
++ Copyright (C) 1999-2000, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++/* Specification. */
++#if WIDE_CHAR_VERSION
++# include "wprintf-parse.h"
++#else
++# include "printf-parse.h"
++#endif
++
++/* Get size_t, NULL. */
++#include <stddef.h>
++
++/* Get intmax_t. */
++#if HAVE_STDINT_H_WITH_UINTMAX
++# include <stdint.h>
++#endif
++#if HAVE_INTTYPES_H_WITH_UINTMAX
++# include <inttypes.h>
++#endif
++
++/* malloc(), realloc(), free(). */
++#include <stdlib.h>
++
++/* Checked size_t computations. */
++#include "xsize.h"
++
++#if WIDE_CHAR_VERSION
++# define PRINTF_PARSE wprintf_parse
++# define CHAR_T wchar_t
++# define DIRECTIVE wchar_t_directive
++# define DIRECTIVES wchar_t_directives
++#else
++# define PRINTF_PARSE printf_parse
++# define CHAR_T char
++# define DIRECTIVE char_directive
++# define DIRECTIVES char_directives
++#endif
++
++#ifdef STATIC
++STATIC
++#endif
++int
++PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
++{
++ const CHAR_T *cp = format; /* pointer into format */
++ size_t arg_posn = 0; /* number of regular arguments consumed */
++ size_t d_allocated; /* allocated elements of d->dir */
++ size_t a_allocated; /* allocated elements of a->arg */
++ size_t max_width_length = 0;
++ size_t max_precision_length = 0;
++
++ d->count = 0;
++ d_allocated = 1;
++ d->dir = malloc (d_allocated * sizeof (DIRECTIVE));
++ if (d->dir == NULL)
++ /* Out of memory. */
++ return -1;
++
++ a->count = 0;
++ a_allocated = 0;
++ a->arg = NULL;
++
++#define REGISTER_ARG(_index_,_type_) \
++ { \
++ size_t n = (_index_); \
++ if (n >= a_allocated) \
++ { \
++ size_t memory_size; \
++ argument *memory; \
++ \
++ a_allocated = xtimes (a_allocated, 2); \
++ if (a_allocated <= n) \
++ a_allocated = xsum (n, 1); \
++ memory_size = xtimes (a_allocated, sizeof (argument)); \
++ if (size_overflow_p (memory_size)) \
++ /* Overflow, would lead to out of memory. */ \
++ goto error; \
++ memory = (a->arg \
++ ? realloc (a->arg, memory_size) \
++ : malloc (memory_size)); \
++ if (memory == NULL) \
++ /* Out of memory. */ \
++ goto error; \
++ a->arg = memory; \
++ } \
++ while (a->count <= n) \
++ a->arg[a->count++].type = TYPE_NONE; \
++ if (a->arg[n].type == TYPE_NONE) \
++ a->arg[n].type = (_type_); \
++ else if (a->arg[n].type != (_type_)) \
++ /* Ambiguous type for positional argument. */ \
++ goto error; \
++ }
++
++ while (*cp != '\0')
++ {
++ CHAR_T c = *cp++;
++ if (c == '%')
++ {
++ size_t arg_index = ARG_NONE;
++ DIRECTIVE *dp = &d->dir[d->count];/* pointer to next directive */
++
++ /* Initialize the next directive. */
++ dp->dir_start = cp - 1;
++ dp->flags = 0;
++ dp->width_start = NULL;
++ dp->width_end = NULL;
++ dp->width_arg_index = ARG_NONE;
++ dp->precision_start = NULL;
++ dp->precision_end = NULL;
++ dp->precision_arg_index = ARG_NONE;
++ dp->arg_index = ARG_NONE;
++
++ /* Test for positional argument. */
++ if (*cp >= '0' && *cp <= '9')
++ {
++ const CHAR_T *np;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ ;
++ if (*np == '$')
++ {
++ size_t n = 0;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ n = xsum (xtimes (n, 10), *np - '0');
++ if (n == 0)
++ /* Positional argument 0. */
++ goto error;
++ if (size_overflow_p (n))
++ /* n too large, would lead to out of memory later. */
++ goto error;
++ arg_index = n - 1;
++ cp = np + 1;
++ }
++ }
++
++ /* Read the flags. */
++ for (;;)
++ {
++ if (*cp == '\'')
++ {
++ dp->flags |= FLAG_GROUP;
++ cp++;
++ }
++ else if (*cp == '-')
++ {
++ dp->flags |= FLAG_LEFT;
++ cp++;
++ }
++ else if (*cp == '+')
++ {
++ dp->flags |= FLAG_SHOWSIGN;
++ cp++;
++ }
++ else if (*cp == ' ')
++ {
++ dp->flags |= FLAG_SPACE;
++ cp++;
++ }
++ else if (*cp == '#')
++ {
++ dp->flags |= FLAG_ALT;
++ cp++;
++ }
++ else if (*cp == '0')
++ {
++ dp->flags |= FLAG_ZERO;
++ cp++;
++ }
++ else
++ break;
++ }
++
++ /* Parse the field width. */
++ if (*cp == '*')
++ {
++ dp->width_start = cp;
++ cp++;
++ dp->width_end = cp;
++ if (max_width_length < 1)
++ max_width_length = 1;
++
++ /* Test for positional argument. */
++ if (*cp >= '0' && *cp <= '9')
++ {
++ const CHAR_T *np;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ ;
++ if (*np == '$')
++ {
++ size_t n = 0;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ n = xsum (xtimes (n, 10), *np - '0');
++ if (n == 0)
++ /* Positional argument 0. */
++ goto error;
++ if (size_overflow_p (n))
++ /* n too large, would lead to out of memory later. */
++ goto error;
++ dp->width_arg_index = n - 1;
++ cp = np + 1;
++ }
++ }
++ if (dp->width_arg_index == ARG_NONE)
++ {
++ dp->width_arg_index = arg_posn++;
++ if (dp->width_arg_index == ARG_NONE)
++ /* arg_posn wrapped around. */
++ goto error;
++ }
++ REGISTER_ARG (dp->width_arg_index, TYPE_INT);
++ }
++ else if (*cp >= '0' && *cp <= '9')
++ {
++ size_t width_length;
++
++ dp->width_start = cp;
++ for (; *cp >= '0' && *cp <= '9'; cp++)
++ ;
++ dp->width_end = cp;
++ width_length = dp->width_end - dp->width_start;
++ if (max_width_length < width_length)
++ max_width_length = width_length;
++ }
++
++ /* Parse the precision. */
++ if (*cp == '.')
++ {
++ cp++;
++ if (*cp == '*')
++ {
++ dp->precision_start = cp - 1;
++ cp++;
++ dp->precision_end = cp;
++ if (max_precision_length < 2)
++ max_precision_length = 2;
++
++ /* Test for positional argument. */
++ if (*cp >= '0' && *cp <= '9')
++ {
++ const CHAR_T *np;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ ;
++ if (*np == '$')
++ {
++ size_t n = 0;
++
++ for (np = cp; *np >= '0' && *np <= '9'; np++)
++ n = xsum (xtimes (n, 10), *np - '0');
++ if (n == 0)
++ /* Positional argument 0. */
++ goto error;
++ if (size_overflow_p (n))
++ /* n too large, would lead to out of memory
++ later. */
++ goto error;
++ dp->precision_arg_index = n - 1;
++ cp = np + 1;
++ }
++ }
++ if (dp->precision_arg_index == ARG_NONE)
++ {
++ dp->precision_arg_index = arg_posn++;
++ if (dp->precision_arg_index == ARG_NONE)
++ /* arg_posn wrapped around. */
++ goto error;
++ }
++ REGISTER_ARG (dp->precision_arg_index, TYPE_INT);
++ }
++ else
++ {
++ size_t precision_length;
++
++ dp->precision_start = cp - 1;
++ for (; *cp >= '0' && *cp <= '9'; cp++)
++ ;
++ dp->precision_end = cp;
++ precision_length = dp->precision_end - dp->precision_start;
++ if (max_precision_length < precision_length)
++ max_precision_length = precision_length;
++ }
++ }
++
++ {
++ arg_type type;
++
++ /* Parse argument type/size specifiers. */
++ {
++ int flags = 0;
++
++ for (;;)
++ {
++ if (*cp == 'h')
++ {
++ flags |= (1 << (flags & 1));
++ cp++;
++ }
++ else if (*cp == 'L')
++ {
++ flags |= 4;
++ cp++;
++ }
++ else if (*cp == 'l')
++ {
++ flags += 8;
++ cp++;
++ }
++#ifdef HAVE_INTMAX_T
++ else if (*cp == 'j')
++ {
++ if (sizeof (intmax_t) > sizeof (long))
++ {
++ /* intmax_t = long long */
++ flags += 16;
++ }
++ else if (sizeof (intmax_t) > sizeof (int))
++ {
++ /* intmax_t = long */
++ flags += 8;
++ }
++ cp++;
++ }
++#endif
++ else if (*cp == 'z' || *cp == 'Z')
++ {
++ /* 'z' is standardized in ISO C 99, but glibc uses 'Z'
++ because the warning facility in gcc-2.95.2 understands
++ only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */
++ if (sizeof (size_t) > sizeof (long))
++ {
++ /* size_t = long long */
++ flags += 16;
++ }
++ else if (sizeof (size_t) > sizeof (int))
++ {
++ /* size_t = long */
++ flags += 8;
++ }
++ cp++;
++ }
++ else if (*cp == 't')
++ {
++ if (sizeof (ptrdiff_t) > sizeof (long))
++ {
++ /* ptrdiff_t = long long */
++ flags += 16;
++ }
++ else if (sizeof (ptrdiff_t) > sizeof (int))
++ {
++ /* ptrdiff_t = long */
++ flags += 8;
++ }
++ cp++;
++ }
++ else
++ break;
++ }
++
++ /* Read the conversion character. */
++ c = *cp++;
++ switch (c)
++ {
++ case 'd': case 'i':
++#ifdef HAVE_LONG_LONG
++ if (flags >= 16 || (flags & 4))
++ type = TYPE_LONGLONGINT;
++ else
++#endif
++ if (flags >= 8)
++ type = TYPE_LONGINT;
++ else if (flags & 2)
++ type = TYPE_SCHAR;
++ else if (flags & 1)
++ type = TYPE_SHORT;
++ else
++ type = TYPE_INT;
++ break;
++ case 'o': case 'u': case 'x': case 'X':
++#ifdef HAVE_LONG_LONG
++ if (flags >= 16 || (flags & 4))
++ type = TYPE_ULONGLONGINT;
++ else
++#endif
++ if (flags >= 8)
++ type = TYPE_ULONGINT;
++ else if (flags & 2)
++ type = TYPE_UCHAR;
++ else if (flags & 1)
++ type = TYPE_USHORT;
++ else
++ type = TYPE_UINT;
++ break;
++ case 'f': case 'F': case 'e': case 'E': case 'g': case 'G':
++ case 'a': case 'A':
++#ifdef HAVE_LONG_DOUBLE
++ if (flags >= 16 || (flags & 4))
++ type = TYPE_LONGDOUBLE;
++ else
++#endif
++ type = TYPE_DOUBLE;
++ break;
++ case 'c':
++ if (flags >= 8)
++#ifdef HAVE_WINT_T
++ type = TYPE_WIDE_CHAR;
++#else
++ goto error;
++#endif
++ else
++ type = TYPE_CHAR;
++ break;
++#ifdef HAVE_WINT_T
++ case 'C':
++ type = TYPE_WIDE_CHAR;
++ c = 'c';
++ break;
++#endif
++ case 's':
++ if (flags >= 8)
++#ifdef HAVE_WCHAR_T
++ type = TYPE_WIDE_STRING;
++#else
++ goto error;
++#endif
++ else
++ type = TYPE_STRING;
++ break;
++#ifdef HAVE_WCHAR_T
++ case 'S':
++ type = TYPE_WIDE_STRING;
++ c = 's';
++ break;
++#endif
++ case 'p':
++ type = TYPE_POINTER;
++ break;
++ case 'n':
++#ifdef HAVE_LONG_LONG
++ if (flags >= 16 || (flags & 4))
++ type = TYPE_COUNT_LONGLONGINT_POINTER;
++ else
++#endif
++ if (flags >= 8)
++ type = TYPE_COUNT_LONGINT_POINTER;
++ else if (flags & 2)
++ type = TYPE_COUNT_SCHAR_POINTER;
++ else if (flags & 1)
++ type = TYPE_COUNT_SHORT_POINTER;
++ else
++ type = TYPE_COUNT_INT_POINTER;
++ break;
++ case '%':
++ type = TYPE_NONE;
++ break;
++ default:
++ /* Unknown conversion character. */
++ goto error;
++ }
++ }
++
++ if (type != TYPE_NONE)
++ {
++ dp->arg_index = arg_index;
++ if (dp->arg_index == ARG_NONE)
++ {
++ dp->arg_index = arg_posn++;
++ if (dp->arg_index == ARG_NONE)
++ /* arg_posn wrapped around. */
++ goto error;
++ }
++ REGISTER_ARG (dp->arg_index, type);
++ }
++ dp->conversion = c;
++ dp->dir_end = cp;
++ }
++
++ d->count++;
++ if (d->count >= d_allocated)
++ {
++ size_t memory_size;
++ DIRECTIVE *memory;
++
++ d_allocated = xtimes (d_allocated, 2);
++ memory_size = xtimes (d_allocated, sizeof (DIRECTIVE));
++ if (size_overflow_p (memory_size))
++ /* Overflow, would lead to out of memory. */
++ goto error;
++ memory = realloc (d->dir, memory_size);
++ if (memory == NULL)
++ /* Out of memory. */
++ goto error;
++ d->dir = memory;
++ }
++ }
++ }
++ d->dir[d->count].dir_start = cp;
++
++ d->max_width_length = max_width_length;
++ d->max_precision_length = max_precision_length;
++ return 0;
++
++error:
++ if (a->arg)
++ free (a->arg);
++ if (d->dir)
++ free (d->dir);
++ return -1;
++}
++
++#undef DIRECTIVES
++#undef DIRECTIVE
++#undef CHAR_T
++#undef PRINTF_PARSE
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf-parse.h psmisc-20.2.works.clean/intl/printf-parse.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf-parse.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/printf-parse.h 2004-10-13 15:18:41.000000000 -0500
+@@ -0,0 +1,75 @@
++/* Parse printf format string.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _PRINTF_PARSE_H
++#define _PRINTF_PARSE_H
++
++#include "printf-args.h"
++
++
++/* Flags */
++#define FLAG_GROUP 1 /* ' flag */
++#define FLAG_LEFT 2 /* - flag */
++#define FLAG_SHOWSIGN 4 /* + flag */
++#define FLAG_SPACE 8 /* space flag */
++#define FLAG_ALT 16 /* # flag */
++#define FLAG_ZERO 32
++
++/* arg_index value indicating that no argument is consumed. */
++#define ARG_NONE (~(size_t)0)
++
++/* A parsed directive. */
++typedef struct
++{
++ const char* dir_start;
++ const char* dir_end;
++ int flags;
++ const char* width_start;
++ const char* width_end;
++ size_t width_arg_index;
++ const char* precision_start;
++ const char* precision_end;
++ size_t precision_arg_index;
++ char conversion; /* d i o u x X f e E g G c s p n U % but not C S */
++ size_t arg_index;
++}
++char_directive;
++
++/* A parsed format string. */
++typedef struct
++{
++ size_t count;
++ char_directive *dir;
++ size_t max_width_length;
++ size_t max_precision_length;
++}
++char_directives;
++
++
++/* Parses the format string. Fills in the number N of directives, and fills
++ in directives[0], ..., directives[N-1], and sets directives[N].dir_start
++ to the end of the format string. Also fills in the arg_type fields of the
++ arguments and the needed count of arguments. */
++#ifdef STATIC
++STATIC
++#else
++extern
++#endif
++int printf_parse (const char *format, char_directives *d, arguments *a);
++
++#endif /* _PRINTF_PARSE_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf.c psmisc-20.2.works.clean/intl/printf.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/printf.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/printf.c 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,371 @@
++/* Formatted output to strings, using POSIX/XSI format strings with positions.
++ Copyright (C) 2003 Free Software Foundation, Inc.
++ Written by Bruno Haible <bruno@clisp.org>, 2003.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++
++#ifdef __GNUC__
++# define alloca __builtin_alloca
++# define HAVE_ALLOCA 1
++#else
++# ifdef _MSC_VER
++# include <malloc.h>
++# define alloca _alloca
++# else
++# if defined HAVE_ALLOCA_H || defined _LIBC
++# include <alloca.h>
++# else
++# ifdef _AIX
++ #pragma alloca
++# else
++# ifndef alloca
++char *alloca ();
++# endif
++# endif
++# endif
++# endif
++#endif
++
++#include <stdio.h>
++
++#if !HAVE_POSIX_PRINTF
++
++#include <stdlib.h>
++#include <string.h>
++
++/* When building a DLL, we must export some functions. Note that because
++ the functions are only defined for binary backward compatibility, we
++ don't need to use __declspec(dllimport) in any case. */
++#if defined _MSC_VER && BUILDING_DLL
++# define DLL_EXPORTED __declspec(dllexport)
++#else
++# define DLL_EXPORTED
++#endif
++
++#define STATIC static
++
++/* Define auxiliary functions declared in "printf-args.h". */
++#include "printf-args.c"
++
++/* Define auxiliary functions declared in "printf-parse.h". */
++#include "printf-parse.c"
++
++/* Define functions declared in "vasnprintf.h". */
++#define vasnprintf libintl_vasnprintf
++#include "vasnprintf.c"
++#if 0 /* not needed */
++#define asnprintf libintl_asnprintf
++#include "asnprintf.c"
++#endif
++
++DLL_EXPORTED
++int
++libintl_vfprintf (FILE *stream, const char *format, va_list args)
++{
++ if (strchr (format, '$') == NULL)
++ return vfprintf (stream, format, args);
++ else
++ {
++ size_t length;
++ char *result = libintl_vasnprintf (NULL, &length, format, args);
++ int retval = -1;
++ if (result != NULL)
++ {
++ if (fwrite (result, 1, length, stream) == length)
++ retval = length;
++ free (result);
++ }
++ return retval;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_fprintf (FILE *stream, const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vfprintf (stream, format, args);
++ va_end (args);
++ return retval;
++}
++
++DLL_EXPORTED
++int
++libintl_vprintf (const char *format, va_list args)
++{
++ return libintl_vfprintf (stdout, format, args);
++}
++
++DLL_EXPORTED
++int
++libintl_printf (const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vprintf (format, args);
++ va_end (args);
++ return retval;
++}
++
++DLL_EXPORTED
++int
++libintl_vsprintf (char *resultbuf, const char *format, va_list args)
++{
++ if (strchr (format, '$') == NULL)
++ return vsprintf (resultbuf, format, args);
++ else
++ {
++ size_t length = (size_t) ~0 / (4 * sizeof (char));
++ char *result = libintl_vasnprintf (resultbuf, &length, format, args);
++ if (result != resultbuf)
++ {
++ free (result);
++ return -1;
++ }
++ else
++ return length;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_sprintf (char *resultbuf, const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vsprintf (resultbuf, format, args);
++ va_end (args);
++ return retval;
++}
++
++#if HAVE_SNPRINTF
++
++# if HAVE_DECL__SNPRINTF
++ /* Windows. */
++# define system_vsnprintf _vsnprintf
++# else
++ /* Unix. */
++# define system_vsnprintf vsnprintf
++# endif
++
++DLL_EXPORTED
++int
++libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args)
++{
++ if (strchr (format, '$') == NULL)
++ return system_vsnprintf (resultbuf, length, format, args);
++ else
++ {
++ size_t maxlength = length;
++ char *result = libintl_vasnprintf (resultbuf, &length, format, args);
++ if (result != resultbuf)
++ {
++ if (maxlength > 0)
++ {
++ if (length < maxlength)
++ abort ();
++ memcpy (resultbuf, result, maxlength - 1);
++ resultbuf[maxlength - 1] = '\0';
++ }
++ free (result);
++ return -1;
++ }
++ else
++ return length;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_snprintf (char *resultbuf, size_t length, const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vsnprintf (resultbuf, length, format, args);
++ va_end (args);
++ return retval;
++}
++
++#endif
++
++#if HAVE_ASPRINTF
++
++DLL_EXPORTED
++int
++libintl_vasprintf (char **resultp, const char *format, va_list args)
++{
++ size_t length;
++ char *result = libintl_vasnprintf (NULL, &length, format, args);
++ if (result == NULL)
++ return -1;
++ *resultp = result;
++ return length;
++}
++
++DLL_EXPORTED
++int
++libintl_asprintf (char **resultp, const char *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vasprintf (resultp, format, args);
++ va_end (args);
++ return retval;
++}
++
++#endif
++
++#if HAVE_FWPRINTF
++
++#include <wchar.h>
++
++#define WIDE_CHAR_VERSION 1
++
++/* Define auxiliary functions declared in "wprintf-parse.h". */
++#include "printf-parse.c"
++
++/* Define functions declared in "vasnprintf.h". */
++#define vasnwprintf libintl_vasnwprintf
++#include "vasnprintf.c"
++#if 0 /* not needed */
++#define asnwprintf libintl_asnwprintf
++#include "asnprintf.c"
++#endif
++
++# if HAVE_DECL__SNWPRINTF
++ /* Windows. */
++# define system_vswprintf _vsnwprintf
++# else
++ /* Unix. */
++# define system_vswprintf vswprintf
++# endif
++
++DLL_EXPORTED
++int
++libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args)
++{
++ if (wcschr (format, '$') == NULL)
++ return vfwprintf (stream, format, args);
++ else
++ {
++ size_t length;
++ wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args);
++ int retval = -1;
++ if (result != NULL)
++ {
++ size_t i;
++ for (i = 0; i < length; i++)
++ if (fputwc (result[i], stream) == WEOF)
++ break;
++ if (i == length)
++ retval = length;
++ free (result);
++ }
++ return retval;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_fwprintf (FILE *stream, const wchar_t *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vfwprintf (stream, format, args);
++ va_end (args);
++ return retval;
++}
++
++DLL_EXPORTED
++int
++libintl_vwprintf (const wchar_t *format, va_list args)
++{
++ return libintl_vfwprintf (stdout, format, args);
++}
++
++DLL_EXPORTED
++int
++libintl_wprintf (const wchar_t *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vwprintf (format, args);
++ va_end (args);
++ return retval;
++}
++
++DLL_EXPORTED
++int
++libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args)
++{
++ if (wcschr (format, '$') == NULL)
++ return system_vswprintf (resultbuf, length, format, args);
++ else
++ {
++ size_t maxlength = length;
++ wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args);
++ if (result != resultbuf)
++ {
++ if (maxlength > 0)
++ {
++ if (length < maxlength)
++ abort ();
++ memcpy (resultbuf, result, (maxlength - 1) * sizeof (wchar_t));
++ resultbuf[maxlength - 1] = 0;
++ }
++ free (result);
++ return -1;
++ }
++ else
++ return length;
++ }
++}
++
++DLL_EXPORTED
++int
++libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...)
++{
++ va_list args;
++ int retval;
++
++ va_start (args, format);
++ retval = libintl_vswprintf (resultbuf, length, format, args);
++ va_end (args);
++ return retval;
++}
++
++#endif
++
++#endif
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/relocatable.c psmisc-20.2.works.clean/intl/relocatable.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/relocatable.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/relocatable.c 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,449 @@
++/* Provide relocatable packages.
++ Copyright (C) 2003 Free Software Foundation, Inc.
++ Written by Bruno Haible <bruno@clisp.org>, 2003.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++
++/* Tell glibc's <stdio.h> to provide a prototype for getline().
++ This must come before <config.h> because <config.h> may include
++ <features.h>, and once <features.h> has been included, it's too late. */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
++
++#ifdef HAVE_CONFIG_H
++# include "config.h"
++#endif
++
++/* Specification. */
++#include "relocatable.h"
++
++#if ENABLE_RELOCATABLE
++
++#include <stddef.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++
++#ifdef NO_XMALLOC
++# define xmalloc malloc
++#else
++# include "xalloc.h"
++#endif
++
++#if defined _WIN32 || defined __WIN32__
++# define WIN32_LEAN_AND_MEAN
++# include <windows.h>
++#endif
++
++#if DEPENDS_ON_LIBCHARSET
++# include <libcharset.h>
++#endif
++#if DEPENDS_ON_LIBICONV && HAVE_ICONV
++# include <iconv.h>
++#endif
++#if DEPENDS_ON_LIBINTL && ENABLE_NLS
++# include <libintl.h>
++#endif
++
++/* Faked cheap 'bool'. */
++#undef bool
++#undef false
++#undef true
++#define bool int
++#define false 0
++#define true 1
++
++/* Pathname support.
++ ISSLASH(C) tests whether C is a directory separator character.
++ IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.
++ */
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS */
++# define ISSLASH(C) ((C) == '/' || (C) == '\\')
++# define HAS_DEVICE(P) \
++ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \
++ && (P)[1] == ':')
++# define IS_PATH_WITH_DIR(P) \
++ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))
++# define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
++#else
++ /* Unix */
++# define ISSLASH(C) ((C) == '/')
++# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
++# define FILESYSTEM_PREFIX_LEN(P) 0
++#endif
++
++/* Original installation prefix. */
++static char *orig_prefix;
++static size_t orig_prefix_len;
++/* Current installation prefix. */
++static char *curr_prefix;
++static size_t curr_prefix_len;
++/* These prefixes do not end in a slash. Anything that will be concatenated
++ to them must start with a slash. */
++
++/* Sets the original and the current installation prefix of this module.
++ Relocation simply replaces a pathname starting with the original prefix
++ by the corresponding pathname with the current prefix instead. Both
++ prefixes should be directory names without trailing slash (i.e. use ""
++ instead of "/"). */
++static void
++set_this_relocation_prefix (const char *orig_prefix_arg,
++ const char *curr_prefix_arg)
++{
++ if (orig_prefix_arg != NULL && curr_prefix_arg != NULL
++ /* Optimization: if orig_prefix and curr_prefix are equal, the
++ relocation is a nop. */
++ && strcmp (orig_prefix_arg, curr_prefix_arg) != 0)
++ {
++ /* Duplicate the argument strings. */
++ char *memory;
++
++ orig_prefix_len = strlen (orig_prefix_arg);
++ curr_prefix_len = strlen (curr_prefix_arg);
++ memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1);
++#ifdef NO_XMALLOC
++ if (memory != NULL)
++#endif
++ {
++ memcpy (memory, orig_prefix_arg, orig_prefix_len + 1);
++ orig_prefix = memory;
++ memory += orig_prefix_len + 1;
++ memcpy (memory, curr_prefix_arg, curr_prefix_len + 1);
++ curr_prefix = memory;
++ return;
++ }
++ }
++ orig_prefix = NULL;
++ curr_prefix = NULL;
++ /* Don't worry about wasted memory here - this function is usually only
++ called once. */
++}
++
++/* Sets the original and the current installation prefix of the package.
++ Relocation simply replaces a pathname starting with the original prefix
++ by the corresponding pathname with the current prefix instead. Both
++ prefixes should be directory names without trailing slash (i.e. use ""
++ instead of "/"). */
++void
++set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg)
++{
++ set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
++
++ /* Now notify all dependent libraries. */
++#if DEPENDS_ON_LIBCHARSET
++ libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
++#endif
++#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109
++ libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
++#endif
++#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix
++ libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
++#endif
++}
++
++#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
++
++/* Convenience function:
++ Computes the current installation prefix, based on the original
++ installation prefix, the original installation directory of a particular
++ file, and the current pathname of this file. Returns NULL upon failure. */
++#ifdef IN_LIBRARY
++#define compute_curr_prefix local_compute_curr_prefix
++static
++#endif
++const char *
++compute_curr_prefix (const char *orig_installprefix,
++ const char *orig_installdir,
++ const char *curr_pathname)
++{
++ const char *curr_installdir;
++ const char *rel_installdir;
++
++ if (curr_pathname == NULL)
++ return NULL;
++
++ /* Determine the relative installation directory, relative to the prefix.
++ This is simply the difference between orig_installprefix and
++ orig_installdir. */
++ if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix))
++ != 0)
++ /* Shouldn't happen - nothing should be installed outside $(prefix). */
++ return NULL;
++ rel_installdir = orig_installdir + strlen (orig_installprefix);
++
++ /* Determine the current installation directory. */
++ {
++ const char *p_base = curr_pathname + FILESYSTEM_PREFIX_LEN (curr_pathname);
++ const char *p = curr_pathname + strlen (curr_pathname);
++ char *q;
++
++ while (p > p_base)
++ {
++ p--;
++ if (ISSLASH (*p))
++ break;
++ }
++
++ q = (char *) xmalloc (p - curr_pathname + 1);
++#ifdef NO_XMALLOC
++ if (q == NULL)
++ return NULL;
++#endif
++ memcpy (q, curr_pathname, p - curr_pathname);
++ q[p - curr_pathname] = '\0';
++ curr_installdir = q;
++ }
++
++ /* Compute the current installation prefix by removing the trailing
++ rel_installdir from it. */
++ {
++ const char *rp = rel_installdir + strlen (rel_installdir);
++ const char *cp = curr_installdir + strlen (curr_installdir);
++ const char *cp_base =
++ curr_installdir + FILESYSTEM_PREFIX_LEN (curr_installdir);
++
++ while (rp > rel_installdir && cp > cp_base)
++ {
++ bool same = false;
++ const char *rpi = rp;
++ const char *cpi = cp;
++
++ while (rpi > rel_installdir && cpi > cp_base)
++ {
++ rpi--;
++ cpi--;
++ if (ISSLASH (*rpi) || ISSLASH (*cpi))
++ {
++ if (ISSLASH (*rpi) && ISSLASH (*cpi))
++ same = true;
++ break;
++ }
++#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
++ /* Win32, OS/2, DOS - case insignificant filesystem */
++ if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi)
++ != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi))
++ break;
++#else
++ if (*rpi != *cpi)
++ break;
++#endif
++ }
++ if (!same)
++ break;
++ /* The last pathname component was the same. opi and cpi now point
++ to the slash before it. */
++ rp = rpi;
++ cp = cpi;
++ }
++
++ if (rp > rel_installdir)
++ /* Unexpected: The curr_installdir does not end with rel_installdir. */
++ return NULL;
++
++ {
++ size_t curr_prefix_len = cp - curr_installdir;
++ char *curr_prefix;
++
++ curr_prefix = (char *) xmalloc (curr_prefix_len + 1);
++#ifdef NO_XMALLOC
++ if (curr_prefix == NULL)
++ return NULL;
++#endif
++ memcpy (curr_prefix, curr_installdir, curr_prefix_len);
++ curr_prefix[curr_prefix_len] = '\0';
++
++ return curr_prefix;
++ }
++ }
++}
++
++#endif /* !IN_LIBRARY || PIC */
++
++#if defined PIC && defined INSTALLDIR
++
++/* Full pathname of shared library, or NULL. */
++static char *shared_library_fullname;
++
++#if defined _WIN32 || defined __WIN32__
++
++/* Determine the full pathname of the shared library when it is loaded. */
++
++BOOL WINAPI
++DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
++{
++ (void) reserved;
++
++ if (event == DLL_PROCESS_ATTACH)
++ {
++ /* The DLL is being loaded into an application's address range. */
++ static char location[MAX_PATH];
++
++ if (!GetModuleFileName (module_handle, location, sizeof (location)))
++ /* Shouldn't happen. */
++ return FALSE;
++
++ if (!IS_PATH_WITH_DIR (location))
++ /* Shouldn't happen. */
++ return FALSE;
++
++ shared_library_fullname = strdup (location);
++ }
++
++ return TRUE;
++}
++
++#else /* Unix */
++
++static void
++find_shared_library_fullname ()
++{
++#if defined __linux__ && __GLIBC__ >= 2
++ /* Linux has /proc/self/maps. glibc 2 has the getline() function. */
++ FILE *fp;
++
++ /* Open the current process' maps file. It describes one VMA per line. */
++ fp = fopen ("/proc/self/maps", "r");
++ if (fp)
++ {
++ unsigned long address = (unsigned long) &find_shared_library_fullname;
++ for (;;)
++ {
++ unsigned long start, end;
++ int c;
++
++ if (fscanf (fp, "%lx-%lx", &start, &end) != 2)
++ break;
++ if (address >= start && address <= end - 1)
++ {
++ /* Found it. Now see if this line contains a filename. */
++ while (c = getc (fp), c != EOF && c != '\n' && c != '/')
++ continue;
++ if (c == '/')
++ {
++ size_t size;
++ int len;
++
++ ungetc (c, fp);
++ shared_library_fullname = NULL; size = 0;
++ len = getline (&shared_library_fullname, &size, fp);
++ if (len >= 0)
++ {
++ /* Success: filled shared_library_fullname. */
++ if (len > 0 && shared_library_fullname[len - 1] == '\n')
++ shared_library_fullname[len - 1] = '\0';
++ }
++ }
++ break;
++ }
++ while (c = getc (fp), c != EOF && c != '\n')
++ continue;
++ }
++ fclose (fp);
++ }
++#endif
++}
++
++#endif /* WIN32 / Unix */
++
++/* Return the full pathname of the current shared library.
++ Return NULL if unknown.
++ Guaranteed to work only on Linux and Woe32. */
++static char *
++get_shared_library_fullname ()
++{
++#if !(defined _WIN32 || defined __WIN32__)
++ static bool tried_find_shared_library_fullname;
++ if (!tried_find_shared_library_fullname)
++ {
++ find_shared_library_fullname ();
++ tried_find_shared_library_fullname = true;
++ }
++#endif
++ return shared_library_fullname;
++}
++
++#endif /* PIC */
++
++/* Returns the pathname, relocated according to the current installation
++ directory. */
++const char *
++relocate (const char *pathname)
++{
++#if defined PIC && defined INSTALLDIR
++ static int initialized;
++
++ /* Initialization code for a shared library. */
++ if (!initialized)
++ {
++ /* At this point, orig_prefix and curr_prefix likely have already been
++ set through the main program's set_program_name_and_installdir
++ function. This is sufficient in the case that the library has
++ initially been installed in the same orig_prefix. But we can do
++ better, to also cover the cases that 1. it has been installed
++ in a different prefix before being moved to orig_prefix and (later)
++ to curr_prefix, 2. unlike the program, it has not moved away from
++ orig_prefix. */
++ const char *orig_installprefix = INSTALLPREFIX;
++ const char *orig_installdir = INSTALLDIR;
++ const char *curr_prefix_better;
++
++ curr_prefix_better =
++ compute_curr_prefix (orig_installprefix, orig_installdir,
++ get_shared_library_fullname ());
++ if (curr_prefix_better == NULL)
++ curr_prefix_better = curr_prefix;
++
++ set_relocation_prefix (orig_installprefix, curr_prefix_better);
++
++ initialized = 1;
++ }
++#endif
++
++ /* Note: It is not necessary to perform case insensitive comparison here,
++ even for DOS-like filesystems, because the pathname argument was
++ typically created from the same Makefile variable as orig_prefix came
++ from. */
++ if (orig_prefix != NULL && curr_prefix != NULL
++ && strncmp (pathname, orig_prefix, orig_prefix_len) == 0)
++ {
++ if (pathname[orig_prefix_len] == '\0')
++ /* pathname equals orig_prefix. */
++ return curr_prefix;
++ if (ISSLASH (pathname[orig_prefix_len]))
++ {
++ /* pathname starts with orig_prefix. */
++ const char *pathname_tail = &pathname[orig_prefix_len];
++ char *result =
++ (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1);
++
++#ifdef NO_XMALLOC
++ if (result != NULL)
++#endif
++ {
++ memcpy (result, curr_prefix, curr_prefix_len);
++ strcpy (result + curr_prefix_len, pathname_tail);
++ return result;
++ }
++ }
++ }
++ /* Nothing to relocate. */
++ return pathname;
++}
++
++#endif
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/relocatable.h psmisc-20.2.works.clean/intl/relocatable.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/relocatable.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/relocatable.h 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,77 @@
++/* Provide relocatable packages.
++ Copyright (C) 2003 Free Software Foundation, Inc.
++ Written by Bruno Haible <bruno@clisp.org>, 2003.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _RELOCATABLE_H
++#define _RELOCATABLE_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++
++/* This can be enabled through the configure --enable-relocatable option. */
++#if ENABLE_RELOCATABLE
++
++/* When building a DLL, we must export some functions. Note that because
++ this is a private .h file, we don't need to use __declspec(dllimport)
++ in any case. */
++#if defined _MSC_VER && BUILDING_DLL
++# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport)
++#else
++# define RELOCATABLE_DLL_EXPORTED
++#endif
++
++/* Sets the original and the current installation prefix of the package.
++ Relocation simply replaces a pathname starting with the original prefix
++ by the corresponding pathname with the current prefix instead. Both
++ prefixes should be directory names without trailing slash (i.e. use ""
++ instead of "/"). */
++extern RELOCATABLE_DLL_EXPORTED void
++ set_relocation_prefix (const char *orig_prefix,
++ const char *curr_prefix);
++
++/* Returns the pathname, relocated according to the current installation
++ directory. */
++extern const char * relocate (const char *pathname);
++
++/* Memory management: relocate() leaks memory, because it has to construct
++ a fresh pathname. If this is a problem because your program calls
++ relocate() frequently, think about caching the result. */
++
++/* Convenience function:
++ Computes the current installation prefix, based on the original
++ installation prefix, the original installation directory of a particular
++ file, and the current pathname of this file. Returns NULL upon failure. */
++extern const char * compute_curr_prefix (const char *orig_installprefix,
++ const char *orig_installdir,
++ const char *curr_pathname);
++
++#else
++
++/* By default, we use the hardwired pathnames. */
++#define relocate(pathname) (pathname)
++
++#endif
++
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _RELOCATABLE_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/textdomain.c psmisc-20.2.works.clean/intl/textdomain.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/textdomain.c 2001-04-13 23:00:42.000000000 -0500
++++ psmisc-20.2.works.clean/intl/textdomain.c 2004-10-13 15:18:42.000000000 -0500
+@@ -1,19 +1,20 @@
+ /* Implementation of the textdomain(3) function.
+- Copyright (C) 1995-1998, 2000, 2001 Free Software Foundation, Inc.
++ Copyright (C) 1995-1998, 2000-2003 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 2, or (at your option)
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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.
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Library General Public License for more details.
+
+- You should have received a copy of the GNU General Public License
+- along with this program; if not, write to the Free Software Foundation,
+- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -43,17 +44,17 @@
+ names than the internal variables in GNU libc, otherwise programs
+ using libintl.a cannot be linked statically. */
+ #if !defined _LIBC
+-# define _nl_default_default_domain _nl_default_default_domain__
+-# define _nl_current_default_domain _nl_current_default_domain__
++# define _nl_default_default_domain libintl_nl_default_default_domain
++# define _nl_current_default_domain libintl_nl_current_default_domain
+ #endif
+
+ /* @@ end of prolog @@ */
+
+ /* Name of the default text domain. */
+-extern const char _nl_default_default_domain[];
++extern const char _nl_default_default_domain[] attribute_hidden;
+
+ /* Default text domain in which entries for gettext(3) are to be found. */
+-extern const char *_nl_current_default_domain;
++extern const char *_nl_current_default_domain attribute_hidden;
+
+
+ /* Names for the libintl functions are a problem. They must not clash
+@@ -66,18 +67,17 @@
+ # define strdup(str) __strdup (str)
+ # endif
+ #else
+-# define TEXTDOMAIN textdomain__
++# define TEXTDOMAIN libintl_textdomain
+ #endif
+
+ /* Lock variable to protect the global data in the gettext implementation. */
+-__libc_rwlock_define (extern, _nl_state_lock)
++__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
+
+ /* Set the current default message catalog to DOMAINNAME.
+ If DOMAINNAME is null, return the current default.
+ If DOMAINNAME is "", reset to the default of "messages". */
+ char *
+-TEXTDOMAIN (domainname)
+- const char *domainname;
++TEXTDOMAIN (const char *domainname)
+ {
+ char *new_domain;
+ char *old_domain;
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/vasnprintf.c psmisc-20.2.works.clean/intl/vasnprintf.c
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/vasnprintf.c 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/vasnprintf.c 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,887 @@
++/* vsprintf with automatic memory allocation.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++/* Tell glibc's <stdio.h> to provide a prototype for snprintf().
++ This must come before <config.h> because <config.h> may include
++ <features.h>, and once <features.h> has been included, it's too late. */
++#ifndef _GNU_SOURCE
++# define _GNU_SOURCE 1
++#endif
++
++#ifdef HAVE_CONFIG_H
++# include <config.h>
++#endif
++#ifndef IN_LIBINTL
++# include <alloca.h>
++#endif
++
++/* Specification. */
++#if WIDE_CHAR_VERSION
++# include "vasnwprintf.h"
++#else
++# include "vasnprintf.h"
++#endif
++
++#include <stdio.h> /* snprintf(), sprintf() */
++#include <stdlib.h> /* abort(), malloc(), realloc(), free() */
++#include <string.h> /* memcpy(), strlen() */
++#include <errno.h> /* errno */
++#include <limits.h> /* CHAR_BIT */
++#include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */
++#if WIDE_CHAR_VERSION
++# include "wprintf-parse.h"
++#else
++# include "printf-parse.h"
++#endif
++
++/* Checked size_t computations. */
++#include "xsize.h"
++
++#ifdef HAVE_WCHAR_T
++# ifdef HAVE_WCSLEN
++# define local_wcslen wcslen
++# else
++ /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid
++ a dependency towards this library, here is a local substitute.
++ Define this substitute only once, even if this file is included
++ twice in the same compilation unit. */
++# ifndef local_wcslen_defined
++# define local_wcslen_defined 1
++static size_t
++local_wcslen (const wchar_t *s)
++{
++ const wchar_t *ptr;
++
++ for (ptr = s; *ptr != (wchar_t) 0; ptr++)
++ ;
++ return ptr - s;
++}
++# endif
++# endif
++#endif
++
++#if WIDE_CHAR_VERSION
++# define VASNPRINTF vasnwprintf
++# define CHAR_T wchar_t
++# define DIRECTIVE wchar_t_directive
++# define DIRECTIVES wchar_t_directives
++# define PRINTF_PARSE wprintf_parse
++# define USE_SNPRINTF 1
++# if HAVE_DECL__SNWPRINTF
++ /* On Windows, the function swprintf() has a different signature than
++ on Unix; we use the _snwprintf() function instead. */
++# define SNPRINTF _snwprintf
++# else
++ /* Unix. */
++# define SNPRINTF swprintf
++# endif
++#else
++# define VASNPRINTF vasnprintf
++# define CHAR_T char
++# define DIRECTIVE char_directive
++# define DIRECTIVES char_directives
++# define PRINTF_PARSE printf_parse
++# define USE_SNPRINTF (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF)
++# if HAVE_DECL__SNPRINTF
++ /* Windows. */
++# define SNPRINTF _snprintf
++# else
++ /* Unix. */
++# define SNPRINTF snprintf
++# endif
++#endif
++
++CHAR_T *
++VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list args)
++{
++ DIRECTIVES d;
++ arguments a;
++
++ if (PRINTF_PARSE (format, &d, &a) < 0)
++ {
++ errno = EINVAL;
++ return NULL;
++ }
++
++#define CLEANUP() \
++ free (d.dir); \
++ if (a.arg) \
++ free (a.arg);
++
++ if (printf_fetchargs (args, &a) < 0)
++ {
++ CLEANUP ();
++ errno = EINVAL;
++ return NULL;
++ }
++
++ {
++ size_t buf_neededlength;
++ CHAR_T *buf;
++ CHAR_T *buf_malloced;
++ const CHAR_T *cp;
++ size_t i;
++ DIRECTIVE *dp;
++ /* Output string accumulator. */
++ CHAR_T *result;
++ size_t allocated;
++ size_t length;
++
++ /* Allocate a small buffer that will hold a directive passed to
++ sprintf or snprintf. */
++ buf_neededlength =
++ xsum4 (7, d.max_width_length, d.max_precision_length, 6);
++#if HAVE_ALLOCA
++ if (buf_neededlength < 4000 / sizeof (CHAR_T))
++ {
++ buf = (CHAR_T *) alloca (buf_neededlength * sizeof (CHAR_T));
++ buf_malloced = NULL;
++ }
++ else
++#endif
++ {
++ size_t buf_memsize = xtimes (buf_neededlength, sizeof (CHAR_T));
++ if (size_overflow_p (buf_memsize))
++ goto out_of_memory_1;
++ buf = (CHAR_T *) malloc (buf_memsize);
++ if (buf == NULL)
++ goto out_of_memory_1;
++ buf_malloced = buf;
++ }
++
++ if (resultbuf != NULL)
++ {
++ result = resultbuf;
++ allocated = *lengthp;
++ }
++ else
++ {
++ result = NULL;
++ allocated = 0;
++ }
++ length = 0;
++ /* Invariants:
++ result is either == resultbuf or == NULL or malloc-allocated.
++ If length > 0, then result != NULL. */
++
++ /* Ensures that allocated >= needed. Aborts through a jump to
++ out_of_memory if needed is SIZE_MAX or otherwise too big. */
++#define ENSURE_ALLOCATION(needed) \
++ if ((needed) > allocated) \
++ { \
++ size_t memory_size; \
++ CHAR_T *memory; \
++ \
++ allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \
++ if ((needed) > allocated) \
++ allocated = (needed); \
++ memory_size = xtimes (allocated, sizeof (CHAR_T)); \
++ if (size_overflow_p (memory_size)) \
++ goto out_of_memory; \
++ if (result == resultbuf || result == NULL) \
++ memory = (CHAR_T *) malloc (memory_size); \
++ else \
++ memory = (CHAR_T *) realloc (result, memory_size); \
++ if (memory == NULL) \
++ goto out_of_memory; \
++ if (result == resultbuf && length > 0) \
++ memcpy (memory, result, length * sizeof (CHAR_T)); \
++ result = memory; \
++ }
++
++ for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++)
++ {
++ if (cp != dp->dir_start)
++ {
++ size_t n = dp->dir_start - cp;
++ size_t augmented_length = xsum (length, n);
++
++ ENSURE_ALLOCATION (augmented_length);
++ memcpy (result + length, cp, n * sizeof (CHAR_T));
++ length = augmented_length;
++ }
++ if (i == d.count)
++ break;
++
++ /* Execute a single directive. */
++ if (dp->conversion == '%')
++ {
++ size_t augmented_length;
++
++ if (!(dp->arg_index == ARG_NONE))
++ abort ();
++ augmented_length = xsum (length, 1);
++ ENSURE_ALLOCATION (augmented_length);
++ result[length] = '%';
++ length = augmented_length;
++ }
++ else
++ {
++ if (!(dp->arg_index != ARG_NONE))
++ abort ();
++
++ if (dp->conversion == 'n')
++ {
++ switch (a.arg[dp->arg_index].type)
++ {
++ case TYPE_COUNT_SCHAR_POINTER:
++ *a.arg[dp->arg_index].a.a_count_schar_pointer = length;
++ break;
++ case TYPE_COUNT_SHORT_POINTER:
++ *a.arg[dp->arg_index].a.a_count_short_pointer = length;
++ break;
++ case TYPE_COUNT_INT_POINTER:
++ *a.arg[dp->arg_index].a.a_count_int_pointer = length;
++ break;
++ case TYPE_COUNT_LONGINT_POINTER:
++ *a.arg[dp->arg_index].a.a_count_longint_pointer = length;
++ break;
++#ifdef HAVE_LONG_LONG
++ case TYPE_COUNT_LONGLONGINT_POINTER:
++ *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length;
++ break;
++#endif
++ default:
++ abort ();
++ }
++ }
++ else
++ {
++ arg_type type = a.arg[dp->arg_index].type;
++ CHAR_T *p;
++ unsigned int prefix_count;
++ int prefixes[2];
++#if !USE_SNPRINTF
++ size_t tmp_length;
++ CHAR_T tmpbuf[700];
++ CHAR_T *tmp;
++
++ /* Allocate a temporary buffer of sufficient size for calling
++ sprintf. */
++ {
++ size_t width;
++ size_t precision;
++
++ width = 0;
++ if (dp->width_start != dp->width_end)
++ {
++ if (dp->width_arg_index != ARG_NONE)
++ {
++ int arg;
++
++ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
++ abort ();
++ arg = a.arg[dp->width_arg_index].a.a_int;
++ width = (arg < 0 ? (unsigned int) (-arg) : arg);
++ }
++ else
++ {
++ const CHAR_T *digitp = dp->width_start;
++
++ do
++ width = xsum (xtimes (width, 10), *digitp++ - '0');
++ while (digitp != dp->width_end);
++ }
++ }
++
++ precision = 6;
++ if (dp->precision_start != dp->precision_end)
++ {
++ if (dp->precision_arg_index != ARG_NONE)
++ {
++ int arg;
++
++ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
++ abort ();
++ arg = a.arg[dp->precision_arg_index].a.a_int;
++ precision = (arg < 0 ? 0 : arg);
++ }
++ else
++ {
++ const CHAR_T *digitp = dp->precision_start + 1;
++
++ precision = 0;
++ do
++ precision = xsum (xtimes (precision, 10), *digitp++ - '0');
++ while (digitp != dp->precision_end);
++ }
++ }
++
++ switch (dp->conversion)
++ {
++
++ case 'd': case 'i': case 'u':
++# ifdef HAVE_LONG_LONG
++ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ else
++# endif
++ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ else
++ tmp_length =
++ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ break;
++
++ case 'o':
++# ifdef HAVE_LONG_LONG
++ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
++ * 0.333334 /* binary -> octal */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ else
++# endif
++ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
++ * 0.333334 /* binary -> octal */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ else
++ tmp_length =
++ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
++ * 0.333334 /* binary -> octal */
++ )
++ + 1 /* turn floor into ceil */
++ + 1; /* account for leading sign */
++ break;
++
++ case 'x': case 'X':
++# ifdef HAVE_LONG_LONG
++ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT
++ * 0.25 /* binary -> hexadecimal */
++ )
++ + 1 /* turn floor into ceil */
++ + 2; /* account for leading sign or alternate form */
++ else
++# endif
++ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
++ tmp_length =
++ (unsigned int) (sizeof (unsigned long) * CHAR_BIT
++ * 0.25 /* binary -> hexadecimal */
++ )
++ + 1 /* turn floor into ceil */
++ + 2; /* account for leading sign or alternate form */
++ else
++ tmp_length =
++ (unsigned int) (sizeof (unsigned int) * CHAR_BIT
++ * 0.25 /* binary -> hexadecimal */
++ )
++ + 1 /* turn floor into ceil */
++ + 2; /* account for leading sign or alternate form */
++ break;
++
++ case 'f': case 'F':
++# ifdef HAVE_LONG_DOUBLE
++ if (type == TYPE_LONGDOUBLE)
++ tmp_length =
++ (unsigned int) (LDBL_MAX_EXP
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 10; /* sign, decimal point etc. */
++ else
++# endif
++ tmp_length =
++ (unsigned int) (DBL_MAX_EXP
++ * 0.30103 /* binary -> decimal */
++ * 2 /* estimate for FLAG_GROUP */
++ )
++ + 1 /* turn floor into ceil */
++ + 10; /* sign, decimal point etc. */
++ tmp_length = xsum (tmp_length, precision);
++ break;
++
++ case 'e': case 'E': case 'g': case 'G':
++ case 'a': case 'A':
++ tmp_length =
++ 12; /* sign, decimal point, exponent etc. */
++ tmp_length = xsum (tmp_length, precision);
++ break;
++
++ case 'c':
++# if defined HAVE_WINT_T && !WIDE_CHAR_VERSION
++ if (type == TYPE_WIDE_CHAR)
++ tmp_length = MB_CUR_MAX;
++ else
++# endif
++ tmp_length = 1;
++ break;
++
++ case 's':
++# ifdef HAVE_WCHAR_T
++ if (type == TYPE_WIDE_STRING)
++ {
++ tmp_length =
++ local_wcslen (a.arg[dp->arg_index].a.a_wide_string);
++
++# if !WIDE_CHAR_VERSION
++ tmp_length = xtimes (tmp_length, MB_CUR_MAX);
++# endif
++ }
++ else
++# endif
++ tmp_length = strlen (a.arg[dp->arg_index].a.a_string);
++ break;
++
++ case 'p':
++ tmp_length =
++ (unsigned int) (sizeof (void *) * CHAR_BIT
++ * 0.25 /* binary -> hexadecimal */
++ )
++ + 1 /* turn floor into ceil */
++ + 2; /* account for leading 0x */
++ break;
++
++ default:
++ abort ();
++ }
++
++ if (tmp_length < width)
++ tmp_length = width;
++
++ tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */
++ }
++
++ if (tmp_length <= sizeof (tmpbuf) / sizeof (CHAR_T))
++ tmp = tmpbuf;
++ else
++ {
++ size_t tmp_memsize = xtimes (tmp_length, sizeof (CHAR_T));
++
++ if (size_overflow_p (tmp_memsize))
++ /* Overflow, would lead to out of memory. */
++ goto out_of_memory;
++ tmp = (CHAR_T *) malloc (tmp_memsize);
++ if (tmp == NULL)
++ /* Out of memory. */
++ goto out_of_memory;
++ }
++#endif
++
++ /* Construct the format string for calling snprintf or
++ sprintf. */
++ p = buf;
++ *p++ = '%';
++ if (dp->flags & FLAG_GROUP)
++ *p++ = '\'';
++ if (dp->flags & FLAG_LEFT)
++ *p++ = '-';
++ if (dp->flags & FLAG_SHOWSIGN)
++ *p++ = '+';
++ if (dp->flags & FLAG_SPACE)
++ *p++ = ' ';
++ if (dp->flags & FLAG_ALT)
++ *p++ = '#';
++ if (dp->flags & FLAG_ZERO)
++ *p++ = '0';
++ if (dp->width_start != dp->width_end)
++ {
++ size_t n = dp->width_end - dp->width_start;
++ memcpy (p, dp->width_start, n * sizeof (CHAR_T));
++ p += n;
++ }
++ if (dp->precision_start != dp->precision_end)
++ {
++ size_t n = dp->precision_end - dp->precision_start;
++ memcpy (p, dp->precision_start, n * sizeof (CHAR_T));
++ p += n;
++ }
++
++ switch (type)
++ {
++#ifdef HAVE_LONG_LONG
++ case TYPE_LONGLONGINT:
++ case TYPE_ULONGLONGINT:
++ *p++ = 'l';
++ /*FALLTHROUGH*/
++#endif
++ case TYPE_LONGINT:
++ case TYPE_ULONGINT:
++#ifdef HAVE_WINT_T
++ case TYPE_WIDE_CHAR:
++#endif
++#ifdef HAVE_WCHAR_T
++ case TYPE_WIDE_STRING:
++#endif
++ *p++ = 'l';
++ break;
++#ifdef HAVE_LONG_DOUBLE
++ case TYPE_LONGDOUBLE:
++ *p++ = 'L';
++ break;
++#endif
++ default:
++ break;
++ }
++ *p = dp->conversion;
++#if USE_SNPRINTF
++ p[1] = '%';
++ p[2] = 'n';
++ p[3] = '\0';
++#else
++ p[1] = '\0';
++#endif
++
++ /* Construct the arguments for calling snprintf or sprintf. */
++ prefix_count = 0;
++ if (dp->width_arg_index != ARG_NONE)
++ {
++ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
++ abort ();
++ prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int;
++ }
++ if (dp->precision_arg_index != ARG_NONE)
++ {
++ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
++ abort ();
++ prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int;
++ }
++
++#if USE_SNPRINTF
++ /* Prepare checking whether snprintf returns the count
++ via %n. */
++ ENSURE_ALLOCATION (xsum (length, 1));
++ result[length] = '\0';
++#endif
++
++ for (;;)
++ {
++ size_t maxlen;
++ int count;
++ int retcount;
++
++ maxlen = allocated - length;
++ count = -1;
++ retcount = 0;
++
++#if USE_SNPRINTF
++# define SNPRINTF_BUF(arg) \
++ switch (prefix_count) \
++ { \
++ case 0: \
++ retcount = SNPRINTF (result + length, maxlen, buf, \
++ arg, &count); \
++ break; \
++ case 1: \
++ retcount = SNPRINTF (result + length, maxlen, buf, \
++ prefixes[0], arg, &count); \
++ break; \
++ case 2: \
++ retcount = SNPRINTF (result + length, maxlen, buf, \
++ prefixes[0], prefixes[1], arg, \
++ &count); \
++ break; \
++ default: \
++ abort (); \
++ }
++#else
++# define SNPRINTF_BUF(arg) \
++ switch (prefix_count) \
++ { \
++ case 0: \
++ count = sprintf (tmp, buf, arg); \
++ break; \
++ case 1: \
++ count = sprintf (tmp, buf, prefixes[0], arg); \
++ break; \
++ case 2: \
++ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\
++ arg); \
++ break; \
++ default: \
++ abort (); \
++ }
++#endif
++
++ switch (type)
++ {
++ case TYPE_SCHAR:
++ {
++ int arg = a.arg[dp->arg_index].a.a_schar;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_UCHAR:
++ {
++ unsigned int arg = a.arg[dp->arg_index].a.a_uchar;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_SHORT:
++ {
++ int arg = a.arg[dp->arg_index].a.a_short;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_USHORT:
++ {
++ unsigned int arg = a.arg[dp->arg_index].a.a_ushort;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_INT:
++ {
++ int arg = a.arg[dp->arg_index].a.a_int;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_UINT:
++ {
++ unsigned int arg = a.arg[dp->arg_index].a.a_uint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_LONGINT:
++ {
++ long int arg = a.arg[dp->arg_index].a.a_longint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_ULONGINT:
++ {
++ unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#ifdef HAVE_LONG_LONG
++ case TYPE_LONGLONGINT:
++ {
++ long long int arg = a.arg[dp->arg_index].a.a_longlongint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ case TYPE_ULONGLONGINT:
++ {
++ unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#endif
++ case TYPE_DOUBLE:
++ {
++ double arg = a.arg[dp->arg_index].a.a_double;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#ifdef HAVE_LONG_DOUBLE
++ case TYPE_LONGDOUBLE:
++ {
++ long double arg = a.arg[dp->arg_index].a.a_longdouble;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#endif
++ case TYPE_CHAR:
++ {
++ int arg = a.arg[dp->arg_index].a.a_char;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#ifdef HAVE_WINT_T
++ case TYPE_WIDE_CHAR:
++ {
++ wint_t arg = a.arg[dp->arg_index].a.a_wide_char;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#endif
++ case TYPE_STRING:
++ {
++ const char *arg = a.arg[dp->arg_index].a.a_string;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#ifdef HAVE_WCHAR_T
++ case TYPE_WIDE_STRING:
++ {
++ const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++#endif
++ case TYPE_POINTER:
++ {
++ void *arg = a.arg[dp->arg_index].a.a_pointer;
++ SNPRINTF_BUF (arg);
++ }
++ break;
++ default:
++ abort ();
++ }
++
++#if USE_SNPRINTF
++ /* Portability: Not all implementations of snprintf()
++ are ISO C 99 compliant. Determine the number of
++ bytes that snprintf() has produced or would have
++ produced. */
++ if (count >= 0)
++ {
++ /* Verify that snprintf() has NUL-terminated its
++ result. */
++ if (count < maxlen && result[length + count] != '\0')
++ abort ();
++ /* Portability hack. */
++ if (retcount > count)
++ count = retcount;
++ }
++ else
++ {
++ /* snprintf() doesn't understand the '%n'
++ directive. */
++ if (p[1] != '\0')
++ {
++ /* Don't use the '%n' directive; instead, look
++ at the snprintf() return value. */
++ p[1] = '\0';
++ continue;
++ }
++ else
++ {
++ /* Look at the snprintf() return value. */
++ if (retcount < 0)
++ {
++ /* HP-UX 10.20 snprintf() is doubly deficient:
++ It doesn't understand the '%n' directive,
++ *and* it returns -1 (rather than the length
++ that would have been required) when the
++ buffer is too small. */
++ size_t bigger_need =
++ xsum (xtimes (allocated, 2), 12);
++ ENSURE_ALLOCATION (bigger_need);
++ continue;
++ }
++ else
++ count = retcount;
++ }
++ }
++#endif
++
++ /* Attempt to handle failure. */
++ if (count < 0)
++ {
++ if (!(result == resultbuf || result == NULL))
++ free (result);
++ if (buf_malloced != NULL)
++ free (buf_malloced);
++ CLEANUP ();
++ errno = EINVAL;
++ return NULL;
++ }
++
++#if !USE_SNPRINTF
++ if (count >= tmp_length)
++ /* tmp_length was incorrectly calculated - fix the
++ code above! */
++ abort ();
++#endif
++
++ /* Make room for the result. */
++ if (count >= maxlen)
++ {
++ /* Need at least count bytes. But allocate
++ proportionally, to avoid looping eternally if
++ snprintf() reports a too small count. */
++ size_t n =
++ xmax (xsum (length, count), xtimes (allocated, 2));
++
++ ENSURE_ALLOCATION (n);
++#if USE_SNPRINTF
++ continue;
++#endif
++ }
++
++#if USE_SNPRINTF
++ /* The snprintf() result did fit. */
++#else
++ /* Append the sprintf() result. */
++ memcpy (result + length, tmp, count * sizeof (CHAR_T));
++ if (tmp != tmpbuf)
++ free (tmp);
++#endif
++
++ length += count;
++ break;
++ }
++ }
++ }
++ }
++
++ /* Add the final NUL. */
++ ENSURE_ALLOCATION (xsum (length, 1));
++ result[length] = '\0';
++
++ if (result != resultbuf && length + 1 < allocated)
++ {
++ /* Shrink the allocated memory if possible. */
++ CHAR_T *memory;
++
++ memory = (CHAR_T *) realloc (result, (length + 1) * sizeof (CHAR_T));
++ if (memory != NULL)
++ result = memory;
++ }
++
++ if (buf_malloced != NULL)
++ free (buf_malloced);
++ CLEANUP ();
++ *lengthp = length;
++ return result;
++
++ out_of_memory:
++ if (!(result == resultbuf || result == NULL))
++ free (result);
++ if (buf_malloced != NULL)
++ free (buf_malloced);
++ out_of_memory_1:
++ CLEANUP ();
++ errno = ENOMEM;
++ return NULL;
++ }
++}
++
++#undef SNPRINTF
++#undef USE_SNPRINTF
++#undef PRINTF_PARSE
++#undef DIRECTIVES
++#undef DIRECTIVE
++#undef CHAR_T
++#undef VASNPRINTF
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/vasnprintf.h psmisc-20.2.works.clean/intl/vasnprintf.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/vasnprintf.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/vasnprintf.h 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,61 @@
++/* vsprintf with automatic memory allocation.
++ Copyright (C) 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _VASNPRINTF_H
++#define _VASNPRINTF_H
++
++/* Get va_list. */
++#include <stdarg.h>
++
++/* Get size_t. */
++#include <stddef.h>
++
++#ifndef __attribute__
++/* This feature is available in gcc versions 2.5 and later. */
++# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
++# define __attribute__(Spec) /* empty */
++# endif
++/* The __-protected variants of `format' and `printf' attributes
++ are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
++# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
++# define __format__ format
++# define __printf__ printf
++# endif
++#endif
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/* Write formatted output to a string dynamically allocated with malloc().
++ You can pass a preallocated buffer for the result in RESULTBUF and its
++ size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
++ If successful, return the address of the string (this may be = RESULTBUF
++ if no dynamic memory allocation was necessary) and set *LENGTHP to the
++ number of resulting bytes, excluding the trailing NUL. Upon error, set
++ errno and return NULL. */
++extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)
++ __attribute__ ((__format__ (__printf__, 3, 4)));
++extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args)
++ __attribute__ ((__format__ (__printf__, 3, 0)));
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _VASNPRINTF_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/vasnwprintf.h psmisc-20.2.works.clean/intl/vasnwprintf.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/vasnwprintf.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/vasnwprintf.h 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,46 @@
++/* vswprintf with automatic memory allocation.
++ Copyright (C) 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _VASNWPRINTF_H
++#define _VASNWPRINTF_H
++
++/* Get va_list. */
++#include <stdarg.h>
++
++/* Get wchar_t, size_t. */
++#include <stddef.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/* Write formatted output to a string dynamically allocated with malloc().
++ You can pass a preallocated buffer for the result in RESULTBUF and its
++ size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
++ If successful, return the address of the string (this may be = RESULTBUF
++ if no dynamic memory allocation was necessary) and set *LENGTHP to the
++ number of resulting bytes, excluding the trailing NUL. Upon error, set
++ errno and return NULL. */
++extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...);
++extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* _VASNWPRINTF_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/wprintf-parse.h psmisc-20.2.works.clean/intl/wprintf-parse.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/wprintf-parse.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/wprintf-parse.h 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,75 @@
++/* Parse printf format string.
++ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _WPRINTF_PARSE_H
++#define _WPRINTF_PARSE_H
++
++#include "printf-args.h"
++
++
++/* Flags */
++#define FLAG_GROUP 1 /* ' flag */
++#define FLAG_LEFT 2 /* - flag */
++#define FLAG_SHOWSIGN 4 /* + flag */
++#define FLAG_SPACE 8 /* space flag */
++#define FLAG_ALT 16 /* # flag */
++#define FLAG_ZERO 32
++
++/* arg_index value indicating that no argument is consumed. */
++#define ARG_NONE (~(size_t)0)
++
++/* A parsed directive. */
++typedef struct
++{
++ const wchar_t* dir_start;
++ const wchar_t* dir_end;
++ int flags;
++ const wchar_t* width_start;
++ const wchar_t* width_end;
++ size_t width_arg_index;
++ const wchar_t* precision_start;
++ const wchar_t* precision_end;
++ size_t precision_arg_index;
++ wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */
++ size_t arg_index;
++}
++wchar_t_directive;
++
++/* A parsed format string. */
++typedef struct
++{
++ size_t count;
++ wchar_t_directive *dir;
++ size_t max_width_length;
++ size_t max_precision_length;
++}
++wchar_t_directives;
++
++
++/* Parses the format string. Fills in the number N of directives, and fills
++ in directives[0], ..., directives[N-1], and sets directives[N].dir_start
++ to the end of the format string. Also fills in the arg_type fields of the
++ arguments and the needed count of arguments. */
++#ifdef STATIC
++STATIC
++#else
++extern
++#endif
++int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a);
++
++#endif /* _WPRINTF_PARSE_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/xsize.h psmisc-20.2.works.clean/intl/xsize.h
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/intl/xsize.h 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/intl/xsize.h 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,109 @@
++/* xsize.h -- Checked size_t computations.
++
++ Copyright (C) 2003 Free Software Foundation, Inc.
++
++ This program is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Library General Public License as published
++ by the Free Software Foundation; either version 2, 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
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public
++ License along with this program; if not, write to the Free Software
++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++ USA. */
++
++#ifndef _XSIZE_H
++#define _XSIZE_H
++
++/* Get size_t. */
++#include <stddef.h>
++
++/* Get SIZE_MAX. */
++#include <limits.h>
++#if HAVE_STDINT_H
++# include <stdint.h>
++#endif
++
++/* The size of memory objects is often computed through expressions of
++ type size_t. Example:
++ void* p = malloc (header_size + n * element_size).
++ These computations can lead to overflow. When this happens, malloc()
++ returns a piece of memory that is way too small, and the program then
++ crashes while attempting to fill the memory.
++ To avoid this, the functions and macros in this file check for overflow.
++ The convention is that SIZE_MAX represents overflow.
++ malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc
++ implementation that uses mmap --, it's recommended to use size_overflow_p()
++ or size_in_bounds_p() before invoking malloc().
++ The example thus becomes:
++ size_t size = xsum (header_size, xtimes (n, element_size));
++ void *p = (size_in_bounds_p (size) ? malloc (size) : NULL);
++*/
++
++/* Convert an arbitrary value >= 0 to type size_t. */
++#define xcast_size_t(N) \
++ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX)
++
++/* Sum of two sizes, with overflow check. */
++static inline size_t
++#if __GNUC__ >= 3
++__attribute__ ((__pure__))
++#endif
++xsum (size_t size1, size_t size2)
++{
++ size_t sum = size1 + size2;
++ return (sum >= size1 ? sum : SIZE_MAX);
++}
++
++/* Sum of three sizes, with overflow check. */
++static inline size_t
++#if __GNUC__ >= 3
++__attribute__ ((__pure__))
++#endif
++xsum3 (size_t size1, size_t size2, size_t size3)
++{
++ return xsum (xsum (size1, size2), size3);
++}
++
++/* Sum of four sizes, with overflow check. */
++static inline size_t
++#if __GNUC__ >= 3
++__attribute__ ((__pure__))
++#endif
++xsum4 (size_t size1, size_t size2, size_t size3, size_t size4)
++{
++ return xsum (xsum (xsum (size1, size2), size3), size4);
++}
++
++/* Maximum of two sizes, with overflow check. */
++static inline size_t
++#if __GNUC__ >= 3
++__attribute__ ((__pure__))
++#endif
++xmax (size_t size1, size_t size2)
++{
++ /* No explicit check is needed here, because for any n:
++ max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */
++ return (size1 >= size2 ? size1 : size2);
++}
++
++/* Multiplication of a count with an element size, with overflow check.
++ The count must be >= 0 and the element size must be > 0.
++ This is a macro, not an inline function, so that it works correctly even
++ when N is of a wider tupe and N > SIZE_MAX. */
++#define xtimes(N, ELSIZE) \
++ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX)
++
++/* Check for overflow. */
++#define size_overflow_p(SIZE) \
++ ((SIZE) == SIZE_MAX)
++/* Check against overflow. */
++#define size_in_bounds_p(SIZE) \
++ ((SIZE) != SIZE_MAX)
++
++#endif /* _XSIZE_H */
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/ChangeLog psmisc-20.2.works.clean/m4/ChangeLog
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/ChangeLog 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/ChangeLog 2004-10-13 15:11:01.000000000 -0500
+@@ -0,0 +1,25 @@
++2004-10-13 gettextize <bug-gnu-gettext@gnu.org>
++
++ * gettext.m4: Upgrade to gettext-0.14.1.
++ * intmax.m4: New file, from gettext-0.14.1.
++ * inttypes_h.m4: Upgrade to gettext-0.14.1.
++ * isc-posix.m4: New file, from gettext-0.14.1.
++ * lib-ld.m4: Upgrade to gettext-0.14.1.
++ * lib-link.m4: Upgrade to gettext-0.14.1.
++ * lib-prefix.m4: Upgrade to gettext-0.14.1.
++ * longdouble.m4: New file, from gettext-0.14.1.
++ * longlong.m4: New file, from gettext-0.14.1.
++ * nls.m4: New file, from gettext-0.14.1.
++ * po.m4: New file, from gettext-0.14.1.
++ * printf-posix.m4: New file, from gettext-0.14.1.
++ * progtest.m4: Upgrade to gettext-0.14.1.
++ * signed.m4: New file, from gettext-0.14.1.
++ * size_max.m4: New file, from gettext-0.14.1.
++ * stdint_h.m4: Upgrade to gettext-0.14.1.
++ * uintmax_t.m4: Upgrade to gettext-0.14.1.
++ * ulonglong.m4: Upgrade to gettext-0.14.1.
++ * wchar_t.m4: New file, from gettext-0.14.1.
++ * wint_t.m4: New file, from gettext-0.14.1.
++ * xsize.m4: New file, from gettext-0.14.1.
++ * Makefile.am: New file.
++
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/Makefile psmisc-20.2.works.clean/m4/Makefile
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/Makefile.am psmisc-20.2.works.clean/m4/Makefile.am
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/Makefile.am 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/Makefile.am 2004-10-13 15:11:01.000000000 -0500
+@@ -0,0 +1 @@
++EXTRA_DIST = intmax.m4 isc-posix.m4 longdouble.m4 longlong.m4 nls.m4 po.m4 printf-posix.m4 signed.m4 size_max.m4 wchar_t.m4 wint_t.m4 xsize.m4
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/Makefile.in psmisc-20.2.works.clean/m4/Makefile.in
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/codeset.m4 psmisc-20.2.works.clean/m4/codeset.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/codeset.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/codeset.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,23 @@
++# codeset.m4 serial AM1 (gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_LANGINFO_CODESET],
++[
++ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
++ [AC_TRY_LINK([#include <langinfo.h>],
++ [char* cs = nl_langinfo(CODESET);],
++ am_cv_langinfo_codeset=yes,
++ am_cv_langinfo_codeset=no)
++ ])
++ if test $am_cv_langinfo_codeset = yes; then
++ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
++ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/codeset.m4~ psmisc-20.2.works.clean/m4/codeset.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/gettext.m4 psmisc-20.2.works.clean/m4/gettext.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/gettext.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/gettext.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,487 @@
++# gettext.m4 serial 28 (gettext-0.13)
++dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
++
++dnl Macro to add for using GNU gettext.
++
++dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
++dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
++dnl default (if it is not specified or empty) is 'no-libtool'.
++dnl INTLSYMBOL should be 'external' for packages with no intl directory,
++dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
++dnl If INTLSYMBOL is 'use-libtool', then a libtool library
++dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
++dnl depending on --{enable,disable}-{shared,static} and on the presence of
++dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
++dnl $(top_builddir)/intl/libintl.a will be created.
++dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
++dnl implementations (in libc or libintl) without the ngettext() function
++dnl will be ignored. If NEEDSYMBOL is specified and is
++dnl 'need-formatstring-macros', then GNU gettext implementations that don't
++dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
++dnl INTLDIR is used to find the intl libraries. If empty,
++dnl the value `$(top_builddir)/intl/' is used.
++dnl
++dnl The result of the configuration is one of three cases:
++dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
++dnl and used.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 2) GNU gettext has been found in the system's C library.
++dnl Catalog format: GNU --> install in $(datadir)
++dnl Catalog extension: .mo after installation, .gmo in source tree
++dnl 3) No internationalization, always use English msgid.
++dnl Catalog format: none
++dnl Catalog extension: none
++dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
++dnl The use of .gmo is historical (it was needed to avoid overwriting the
++dnl GNU format catalogs when building on a platform with an X/Open gettext),
++dnl but we keep it in order not to force irrelevant filename changes on the
++dnl maintainers.
++dnl
++AC_DEFUN([AM_GNU_GETTEXT],
++[
++ dnl Argument checking.
++ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
++ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
++])])])])])
++ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
++ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
++])])])])
++ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
++ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
++
++ AC_REQUIRE([AM_PO_SUBDIRS])dnl
++ ifelse(gt_included_intl, yes, [
++ AC_REQUIRE([AM_INTL_SUBDIR])dnl
++ ])
++
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ dnl Ideally we would do this search only after the
++ dnl if test "$USE_NLS" = "yes"; then
++ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
++ dnl the configure script would need to contain the same shell code
++ dnl again, outside any 'if'. There are two solutions:
++ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
++ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
++ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
++ dnl documented, we avoid it.
++ ifelse(gt_included_intl, yes, , [
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++ ])
++
++ dnl Set USE_NLS.
++ AM_NLS
++
++ ifelse(gt_included_intl, yes, [
++ BUILD_INCLUDED_LIBINTL=no
++ USE_INCLUDED_LIBINTL=no
++ ])
++ LIBINTL=
++ LTLIBINTL=
++ POSUB=
++
++ dnl If we use NLS figure out what method
++ if test "$USE_NLS" = "yes"; then
++ gt_use_preinstalled_gnugettext=no
++ ifelse(gt_included_intl, yes, [
++ AC_MSG_CHECKING([whether included gettext is requested])
++ AC_ARG_WITH(included-gettext,
++ [ --with-included-gettext use the GNU gettext library included here],
++ nls_cv_force_use_gnu_gettext=$withval,
++ nls_cv_force_use_gnu_gettext=no)
++ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
++
++ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
++ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
++ ])
++ dnl User does not insist on using GNU NLS library. Figure out what
++ dnl to use. If GNU gettext is available we use this. Else we have
++ dnl to fall back to GNU NLS library.
++
++ dnl Add a version number to the cache macros.
++ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
++ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
++ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
++
++ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
++ [AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern int *_nl_domain_bindings;],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
++ gt_cv_func_gnugettext_libc=yes,
++ gt_cv_func_gnugettext_libc=no)])
++
++ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
++ dnl Sometimes libintl requires libiconv, so first search for libiconv.
++ ifelse(gt_included_intl, yes, , [
++ AM_ICONV_LINK
++ ])
++ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
++ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
++ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
++ dnl even if libiconv doesn't exist.
++ AC_LIB_LINKFLAGS_BODY([intl])
++ AC_CACHE_CHECK([for GNU gettext in libintl],
++ gt_cv_func_gnugettext_libintl,
++ [gt_save_CPPFLAGS="$CPPFLAGS"
++ CPPFLAGS="$CPPFLAGS $INCINTL"
++ gt_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBINTL"
++ dnl Now see whether libintl exists and does not depend on libiconv.
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ gt_cv_func_gnugettext_libintl=yes,
++ gt_cv_func_gnugettext_libintl=no)
++ dnl Now see whether libintl exists and depends on libiconv.
++ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <libintl.h>
++]ifelse([$2], [need-formatstring-macros],
++[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
++#endif
++changequote(,)dnl
++typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
++changequote([,])dnl
++], [])[extern int _nl_msg_cat_cntr;
++extern
++#ifdef __cplusplus
++"C"
++#endif
++const char *_nl_expand_alias ();],
++ [bindtextdomain ("", "");
++return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
++ [LIBINTL="$LIBINTL $LIBICONV"
++ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
++ gt_cv_func_gnugettext_libintl=yes
++ ])
++ fi
++ CPPFLAGS="$gt_save_CPPFLAGS"
++ LIBS="$gt_save_LIBS"])
++ fi
++
++ dnl If an already present or preinstalled GNU gettext() is found,
++ dnl use it. But if this macro is used in GNU gettext, and GNU
++ dnl gettext is already preinstalled in libintl, we update this
++ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
++ if test "$gt_cv_func_gnugettext_libc" = "yes" \
++ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
++ && test "$PACKAGE" != gettext-runtime \
++ && test "$PACKAGE" != gettext-tools; }; then
++ gt_use_preinstalled_gnugettext=yes
++ else
++ dnl Reset the values set by searching for libintl.
++ LIBINTL=
++ LTLIBINTL=
++ INCINTL=
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
++ dnl GNU gettext is not found in the C library.
++ dnl Fall back on included GNU gettext library.
++ nls_cv_use_gnu_gettext=yes
++ fi
++ fi
++
++ if test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions used to generate GNU NLS library.
++ BUILD_INCLUDED_LIBINTL=yes
++ USE_INCLUDED_LIBINTL=yes
++ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
++ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
++ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
++ fi
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ dnl Mark actions to use GNU gettext tools.
++ CATOBJEXT=.gmo
++ fi
++ ])
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes" \
++ || test "$nls_cv_use_gnu_gettext" = "yes"; then
++ AC_DEFINE(ENABLE_NLS, 1,
++ [Define to 1 if translation of program messages to the user's native language
++ is requested.])
++ else
++ USE_NLS=no
++ fi
++ fi
++
++ AC_MSG_CHECKING([whether to use NLS])
++ AC_MSG_RESULT([$USE_NLS])
++ if test "$USE_NLS" = "yes"; then
++ AC_MSG_CHECKING([where the gettext function comes from])
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
++ gt_source="external libintl"
++ else
++ gt_source="libc"
++ fi
++ else
++ gt_source="included intl directory"
++ fi
++ AC_MSG_RESULT([$gt_source])
++ fi
++
++ if test "$USE_NLS" = "yes"; then
++
++ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
++ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
++ AC_MSG_CHECKING([how to link with libintl])
++ AC_MSG_RESULT([$LIBINTL])
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
++ fi
++
++ dnl For backward compatibility. Some packages may be using this.
++ AC_DEFINE(HAVE_GETTEXT, 1,
++ [Define if the GNU gettext() function is already present or preinstalled.])
++ AC_DEFINE(HAVE_DCGETTEXT, 1,
++ [Define if the GNU dcgettext() function is already present or preinstalled.])
++ fi
++
++ dnl We need to process the po/ directory.
++ POSUB=po
++ fi
++
++ ifelse(gt_included_intl, yes, [
++ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
++ dnl to 'yes' because some of the testsuite requires it.
++ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
++ BUILD_INCLUDED_LIBINTL=yes
++ fi
++
++ dnl Make all variables we use known to autoconf.
++ AC_SUBST(BUILD_INCLUDED_LIBINTL)
++ AC_SUBST(USE_INCLUDED_LIBINTL)
++ AC_SUBST(CATOBJEXT)
++
++ dnl For backward compatibility. Some configure.ins may be using this.
++ nls_cv_header_intl=
++ nls_cv_header_libgt=
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ DATADIRNAME=share
++ AC_SUBST(DATADIRNAME)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INSTOBJEXT=.mo
++ AC_SUBST(INSTOBJEXT)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ GENCAT=gencat
++ AC_SUBST(GENCAT)
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ if test "$USE_INCLUDED_LIBINTL" = yes; then
++ INTLOBJS="\$(GETTOBJS)"
++ fi
++ AC_SUBST(INTLOBJS)
++
++ dnl Enable libtool support if the surrounding package wishes it.
++ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
++ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
++ ])
++
++ dnl For backward compatibility. Some Makefiles may be using this.
++ INTLLIBS="$LIBINTL"
++ AC_SUBST(INTLLIBS)
++
++ dnl Make all documented variables known to autoconf.
++ AC_SUBST(LIBINTL)
++ AC_SUBST(LTLIBINTL)
++ AC_SUBST(POSUB)
++])
++
++
++dnl Checks for all prerequisites of the intl subdirectory,
++dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
++dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
++AC_DEFUN([AM_INTL_SUBDIR],
++[
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++ AC_REQUIRE([AC_PROG_RANLIB])dnl
++ AC_REQUIRE([AC_ISC_POSIX])dnl
++ AC_REQUIRE([AC_HEADER_STDC])dnl
++ AC_REQUIRE([AC_C_CONST])dnl
++ AC_REQUIRE([bh_C_SIGNED])dnl
++ AC_REQUIRE([AC_C_INLINE])dnl
++ AC_REQUIRE([AC_TYPE_OFF_T])dnl
++ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
++ AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl
++ AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
++ AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
++ AC_REQUIRE([gt_TYPE_WINT_T])dnl
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ AC_REQUIRE([gt_TYPE_INTMAX_T])
++ AC_REQUIRE([gt_PRINTF_POSIX])
++ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
++ AC_REQUIRE([AC_FUNC_MMAP])dnl
++ AC_REQUIRE([jm_GLIBC21])dnl
++ AC_REQUIRE([gt_INTDIV0])dnl
++ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
++ AC_REQUIRE([gt_INTTYPES_PRI])dnl
++ AC_REQUIRE([gl_XSIZE])dnl
++
++ AC_CHECK_TYPE([ptrdiff_t], ,
++ [AC_DEFINE([ptrdiff_t], [long],
++ [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
++ ])
++ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
++stdlib.h string.h unistd.h sys/param.h])
++ AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \
++mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \
++strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
++__fsetlocking])
++
++ dnl Use the _snprintf function only if it is declared (because on NetBSD it
++ dnl is defined as a weak alias of snprintf; we prefer to use the latter).
++ gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
++ gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
++
++ dnl Use the *_unlocked functions only if they are declared.
++ dnl (because some of them were defined without being declared in Solaris
++ dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built
++ dnl on Solaris 2.5.1 to run on Solaris 2.6).
++ dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.
++ gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
++ gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
++ gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
++
++ case $gt_cv_func_printf_posix in
++ *yes) HAVE_POSIX_PRINTF=1 ;;
++ *) HAVE_POSIX_PRINTF=0 ;;
++ esac
++ AC_SUBST([HAVE_POSIX_PRINTF])
++ if test "$ac_cv_func_asprintf" = yes; then
++ HAVE_ASPRINTF=1
++ else
++ HAVE_ASPRINTF=0
++ fi
++ AC_SUBST([HAVE_ASPRINTF])
++ if test "$ac_cv_func_snprintf" = yes; then
++ HAVE_SNPRINTF=1
++ else
++ HAVE_SNPRINTF=0
++ fi
++ AC_SUBST([HAVE_SNPRINTF])
++ if test "$ac_cv_func_wprintf" = yes; then
++ HAVE_WPRINTF=1
++ else
++ HAVE_WPRINTF=0
++ fi
++ AC_SUBST([HAVE_WPRINTF])
++
++ AM_ICONV
++ AM_LANGINFO_CODESET
++ if test $ac_cv_header_locale_h = yes; then
++ AM_LC_MESSAGES
++ fi
++
++ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
++ dnl because plural.y uses bison specific features. It requires at least
++ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
++ dnl compile.
++ dnl bison is only needed for the maintainer (who touches plural.y). But in
++ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
++ dnl the rule in general Makefile. Now, some people carelessly touch the
++ dnl files or have a broken "make" program, hence the plural.c rule will
++ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
++ dnl present or too old.
++ AC_CHECK_PROGS([INTLBISON], [bison])
++ if test -z "$INTLBISON"; then
++ ac_verc_fail=yes
++ else
++ dnl Found it, now check the version.
++ AC_MSG_CHECKING([version of bison])
++changequote(<<,>>)dnl
++ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
++ case $ac_prog_version in
++ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
++ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
++changequote([,])dnl
++ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
++ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
++ esac
++ AC_MSG_RESULT([$ac_prog_version])
++ fi
++ if test $ac_verc_fail = yes; then
++ INTLBISON=:
++ fi
++])
++
++
++dnl gt_CHECK_DECL(FUNC, INCLUDES)
++dnl Check whether a function is declared.
++AC_DEFUN([gt_CHECK_DECL],
++[
++ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
++ [AC_TRY_COMPILE([$2], [
++#ifndef $1
++ char *p = (char *) $1;
++#endif
++], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
++ if test $ac_cv_have_decl_$1 = yes; then
++ gt_value=1
++ else
++ gt_value=0
++ fi
++ AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
++ [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
++])
++
++
++dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
++AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/gettext.m4~ psmisc-20.2.works.clean/m4/gettext.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/glibc21.m4 psmisc-20.2.works.clean/m4/glibc21.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/glibc21.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/glibc21.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,32 @@
++# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# Test for the GNU C Library, version 2.1 or newer.
++# From Bruno Haible.
++
++AC_DEFUN([jm_GLIBC21],
++ [
++ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
++ ac_cv_gnu_library_2_1,
++ [AC_EGREP_CPP([Lucky GNU user],
++ [
++#include <features.h>
++#ifdef __GNU_LIBRARY__
++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
++ Lucky GNU user
++ #endif
++#endif
++ ],
++ ac_cv_gnu_library_2_1=yes,
++ ac_cv_gnu_library_2_1=no)
++ ]
++ )
++ AC_SUBST(GLIBC21)
++ GLIBC21="$ac_cv_gnu_library_2_1"
++ ]
++)
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/glibc21.m4~ psmisc-20.2.works.clean/m4/glibc21.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/iconv.m4 psmisc-20.2.works.clean/m4/iconv.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/iconv.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/iconv.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,103 @@
++# iconv.m4 serial AM4 (gettext-0.11.3)
++dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
++[
++ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([iconv])
++])
++
++AC_DEFUN([AM_ICONV_LINK],
++[
++ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
++ dnl those with the standalone portable GNU libiconv installed).
++
++ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
++ dnl accordingly.
++ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
++
++ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed libiconv and not disabled its use
++ dnl via --without-libiconv-prefix, he wants to use it. The first
++ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
++ am_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
++
++ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
++ am_cv_func_iconv="no, consider installing GNU libiconv"
++ am_cv_lib_iconv=no
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_func_iconv=yes)
++ if test "$am_cv_func_iconv" != yes; then
++ am_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIBICONV"
++ AC_TRY_LINK([#include <stdlib.h>
++#include <iconv.h>],
++ [iconv_t cd = iconv_open("","");
++ iconv(cd,NULL,NULL,NULL,NULL);
++ iconv_close(cd);],
++ am_cv_lib_iconv=yes
++ am_cv_func_iconv=yes)
++ LIBS="$am_save_LIBS"
++ fi
++ ])
++ if test "$am_cv_func_iconv" = yes; then
++ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
++ fi
++ if test "$am_cv_lib_iconv" = yes; then
++ AC_MSG_CHECKING([how to link with libiconv])
++ AC_MSG_RESULT([$LIBICONV])
++ else
++ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
++ dnl either.
++ CPPFLAGS="$am_save_CPPFLAGS"
++ LIBICONV=
++ LTLIBICONV=
++ fi
++ AC_SUBST(LIBICONV)
++ AC_SUBST(LTLIBICONV)
++])
++
++AC_DEFUN([AM_ICONV],
++[
++ AM_ICONV_LINK
++ if test "$am_cv_func_iconv" = yes; then
++ AC_MSG_CHECKING([for iconv declaration])
++ AC_CACHE_VAL(am_cv_proto_iconv, [
++ AC_TRY_COMPILE([
++#include <stdlib.h>
++#include <iconv.h>
++extern
++#ifdef __cplusplus
++"C"
++#endif
++#if defined(__STDC__) || defined(__cplusplus)
++size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
++#else
++size_t iconv();
++#endif
++], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
++ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
++ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
++ AC_MSG_RESULT([$]{ac_t:-
++ }[$]am_cv_proto_iconv)
++ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
++ [Define as const if the declaration of iconv() needs const.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/iconv.m4~ psmisc-20.2.works.clean/m4/iconv.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/intdiv0.m4 psmisc-20.2.works.clean/m4/intdiv0.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/intdiv0.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/intdiv0.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,72 @@
++# intdiv0.m4 serial 1 (gettext-0.11.3)
++dnl Copyright (C) 2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([gt_INTDIV0],
++[
++ AC_REQUIRE([AC_PROG_CC])dnl
++ AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
++ gt_cv_int_divbyzero_sigfpe,
++ [
++ AC_TRY_RUN([
++#include <stdlib.h>
++#include <signal.h>
++
++static void
++#ifdef __cplusplus
++sigfpe_handler (int sig)
++#else
++sigfpe_handler (sig) int sig;
++#endif
++{
++ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
++ exit (sig != SIGFPE);
++}
++
++int x = 1;
++int y = 0;
++int z;
++int nan;
++
++int main ()
++{
++ signal (SIGFPE, sigfpe_handler);
++/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
++#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
++ signal (SIGTRAP, sigfpe_handler);
++#endif
++/* Linux/SPARC yields signal SIGILL. */
++#if defined (__sparc__) && defined (__linux__)
++ signal (SIGILL, sigfpe_handler);
++#endif
++
++ z = x / y;
++ nan = y / y;
++ exit (1);
++}
++], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
++ [
++ # Guess based on the CPU.
++ case "$host_cpu" in
++ alpha* | i[34567]86 | m68k | s390*)
++ gt_cv_int_divbyzero_sigfpe="guessing yes";;
++ *)
++ gt_cv_int_divbyzero_sigfpe="guessing no";;
++ esac
++ ])
++ ])
++ case "$gt_cv_int_divbyzero_sigfpe" in
++ *yes) value=1;;
++ *) value=0;;
++ esac
++ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
++ [Define if integer division by zero raises signal SIGFPE.])
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/intdiv0.m4~ psmisc-20.2.works.clean/m4/intdiv0.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/intmax.m4 psmisc-20.2.works.clean/m4/intmax.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/intmax.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/intmax.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,32 @@
++# intmax.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether the system has the 'intmax_t' type, but don't attempt to
++dnl find a replacement if it is lacking.
++
++AC_DEFUN([gt_TYPE_INTMAX_T],
++[
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
++ [AC_TRY_COMPILE([
++#include <stddef.h>
++#include <stdlib.h>
++#if HAVE_STDINT_H_WITH_UINTMAX
++#include <stdint.h>
++#endif
++#if HAVE_INTTYPES_H_WITH_UINTMAX
++#include <inttypes.h>
++#endif
++], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
++ if test $gt_cv_c_intmax_t = yes; then
++ AC_DEFINE(HAVE_INTMAX_T, 1,
++ [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/intmax.m4~ psmisc-20.2.works.clean/m4/intmax.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes-pri.m4 psmisc-20.2.works.clean/m4/inttypes-pri.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes-pri.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/inttypes-pri.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,32 @@
++# inttypes-pri.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
++# macros to non-string values. This is the case on AIX 4.3.3.
++
++AC_DEFUN([gt_INTTYPES_PRI],
++[
++ AC_REQUIRE([gt_HEADER_INTTYPES_H])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
++ gt_cv_inttypes_pri_broken,
++ [
++ AC_TRY_COMPILE([#include <inttypes.h>
++#ifdef PRId32
++char *p = PRId32;
++#endif
++], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
++ ])
++ fi
++ if test "$gt_cv_inttypes_pri_broken" = yes; then
++ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
++ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes-pri.m4~ psmisc-20.2.works.clean/m4/inttypes-pri.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes.m4 psmisc-20.2.works.clean/m4/inttypes.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/inttypes.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,27 @@
++# inttypes.m4 serial 1 (gettext-0.11.4)
++dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
++# <sys/types.h>.
++
++AC_DEFUN([gt_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
++ [
++ AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
++ ])
++ if test $gt_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
++ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes.m4~ psmisc-20.2.works.clean/m4/inttypes.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes_h.m4 psmisc-20.2.works.clean/m4/inttypes_h.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes_h.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/inttypes_h.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,28 @@
++# inttypes_h.m4 serial 5 (gettext-0.12)
++dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
++[
++ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <inttypes.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_inttypes_h=yes,
++ jm_ac_cv_header_inttypes_h=no)])
++ if test $jm_ac_cv_header_inttypes_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
++ [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/inttypes_h.m4~ psmisc-20.2.works.clean/m4/inttypes_h.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/isc-posix.m4 psmisc-20.2.works.clean/m4/isc-posix.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/isc-posix.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/isc-posix.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,26 @@
++# isc-posix.m4 serial 2 (gettext-0.11.2)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.
++
++# This test replaces the one in autoconf.
++# Currently this macro should have the same name as the autoconf macro
++# because gettext's gettext.m4 (distributed in the automake package)
++# still uses it. Otherwise, the use in gettext.m4 makes autoheader
++# give these diagnostics:
++# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
++# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
++
++undefine([AC_ISC_POSIX])
++
++AC_DEFUN([AC_ISC_POSIX],
++ [
++ dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
++ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
++ ]
++)
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/isc-posix.m4~ psmisc-20.2.works.clean/m4/isc-posix.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lcmessage.m4 psmisc-20.2.works.clean/m4/lcmessage.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lcmessage.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/lcmessage.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,32 @@
++# lcmessage.m4 serial 3 (gettext-0.11.3)
++dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
++
++# Check whether LC_MESSAGES is available in <locale.h>.
++
++AC_DEFUN([AM_LC_MESSAGES],
++[
++ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
++ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
++ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
++ if test $am_cv_val_LC_MESSAGES = yes; then
++ AC_DEFINE(HAVE_LC_MESSAGES, 1,
++ [Define if your <locale.h> file defines LC_MESSAGES.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lcmessage.m4~ psmisc-20.2.works.clean/m4/lcmessage.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-ld.m4 psmisc-20.2.works.clean/m4/lib-ld.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-ld.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/lib-ld.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,112 @@
++# lib-ld.m4 serial 3 (gettext-0.13)
++dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl Subroutines of libtool.m4,
++dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
++dnl with libtool.m4.
++
++dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
++AC_DEFUN([AC_LIB_PROG_LD_GNU],
++[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
++[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
++case `$LD -v 2>&1 </dev/null` in
++*GNU* | *'with BFD'*)
++ acl_cv_prog_gnu_ld=yes ;;
++*)
++ acl_cv_prog_gnu_ld=no ;;
++esac])
++with_gnu_ld=$acl_cv_prog_gnu_ld
++])
++
++dnl From libtool-1.4. Sets the variable LD.
++AC_DEFUN([AC_LIB_PROG_LD],
++[AC_ARG_WITH(gnu-ld,
++[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
++test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++ac_prog=ld
++if test "$GCC" = yes; then
++ # Check if gcc -print-prog-name=ld gives a path.
++ AC_MSG_CHECKING([for ld used by GCC])
++ case $host in
++ *-*-mingw*)
++ # gcc leaves a trailing carriage return which upsets mingw
++ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
++ *)
++ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
++ esac
++ case $ac_prog in
++ # Accept absolute paths.
++ [[\\/]* | [A-Za-z]:[\\/]*)]
++ [re_direlt='/[^/][^/]*/\.\./']
++ # Canonicalize the path of ld
++ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
++ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
++ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
++ done
++ test -z "$LD" && LD="$ac_prog"
++ ;;
++ "")
++ # If it fails, then pretend we aren't using GCC.
++ ac_prog=ld
++ ;;
++ *)
++ # If it is relative, then search for the first ld in PATH.
++ with_gnu_ld=unknown
++ ;;
++ esac
++elif test "$with_gnu_ld" = yes; then
++ AC_MSG_CHECKING([for GNU ld])
++else
++ AC_MSG_CHECKING([for non-GNU ld])
++fi
++AC_CACHE_VAL(acl_cv_path_LD,
++[if test -z "$LD"; then
++ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
++ for ac_dir in $PATH; do
++ test -z "$ac_dir" && ac_dir=.
++ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
++ acl_cv_path_LD="$ac_dir/$ac_prog"
++ # Check to see if the program is GNU ld. I'd rather use --version,
++ # but apparently some GNU ld's only accept -v.
++ # Break only if it was the GNU/non-GNU ld that we prefer.
++ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
++ *GNU* | *'with BFD'*)
++ test "$with_gnu_ld" != no && break ;;
++ *)
++ test "$with_gnu_ld" != yes && break ;;
++ esac
++ fi
++ done
++ IFS="$ac_save_ifs"
++else
++ acl_cv_path_LD="$LD" # Let the user override the test with a path.
++fi])
++LD="$acl_cv_path_LD"
++if test -n "$LD"; then
++ AC_MSG_RESULT($LD)
++else
++ AC_MSG_RESULT(no)
++fi
++test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
++AC_LIB_PROG_LD_GNU
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-ld.m4~ psmisc-20.2.works.clean/m4/lib-ld.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-link.m4 psmisc-20.2.works.clean/m4/lib-link.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-link.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/lib-link.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,551 @@
++# lib-link.m4 serial 4 (gettext-0.12)
++dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
++dnl augments the CPPFLAGS variable.
++AC_DEFUN([AC_LIB_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
++ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
++ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
++ ])
++ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
++ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
++ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
++ dnl results of this search when this library appears as a dependency.
++ HAVE_LIB[]NAME=yes
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
++dnl searches for libname and the libraries corresponding to explicit and
++dnl implicit dependencies, together with the specified include files and
++dnl the ability to compile and link the specified testcode. If found, it
++dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
++dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
++dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
++dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
++AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
++[
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ AC_REQUIRE([AC_LIB_RPATH])
++ define([Name],[translit([$1],[./-], [___])])
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++
++ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
++ dnl accordingly.
++ AC_LIB_LINKFLAGS_BODY([$1], [$2])
++
++ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
++ dnl because if the user has installed lib[]Name and not disabled its use
++ dnl via --without-lib[]Name-prefix, he wants to use it.
++ ac_save_CPPFLAGS="$CPPFLAGS"
++ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
++
++ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
++ ac_save_LIBS="$LIBS"
++ LIBS="$LIBS $LIB[]NAME"
++ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
++ LIBS="$ac_save_LIBS"
++ ])
++ if test "$ac_cv_lib[]Name" = yes; then
++ HAVE_LIB[]NAME=yes
++ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
++ AC_MSG_CHECKING([how to link with lib[]$1])
++ AC_MSG_RESULT([$LIB[]NAME])
++ else
++ HAVE_LIB[]NAME=no
++ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
++ dnl $INC[]NAME either.
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ LIB[]NAME=
++ LTLIB[]NAME=
++ fi
++ AC_SUBST([HAVE_LIB]NAME)
++ AC_SUBST([LIB]NAME)
++ AC_SUBST([LTLIB]NAME)
++ undefine([Name])
++ undefine([NAME])
++])
++
++dnl Determine the platform dependent parameters needed to use rpath:
++dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
++dnl hardcode_direct, hardcode_minus_L.
++AC_DEFUN([AC_LIB_RPATH],
++[
++ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
++ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
++ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
++ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
++ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
++ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
++ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
++ . ./conftest.sh
++ rm -f ./conftest.sh
++ acl_cv_rpath=done
++ ])
++ wl="$acl_cv_wl"
++ libext="$acl_cv_libext"
++ shlibext="$acl_cv_shlibext"
++ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
++ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
++ hardcode_direct="$acl_cv_hardcode_direct"
++ hardcode_minus_L="$acl_cv_hardcode_minus_L"
++ dnl Determine whether the user wants rpath handling at all.
++ AC_ARG_ENABLE(rpath,
++ [ --disable-rpath do not hardcode runtime library paths],
++ :, enable_rpath=yes)
++])
++
++dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
++dnl the libraries corresponding to explicit and implicit dependencies.
++dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
++AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
++[
++ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
++ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_LIB_ARG_WITH([lib$1-prefix],
++[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
++ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ dnl Search the library and its dependencies in $additional_libdir and
++ dnl $LDFLAGS. Using breadth-first-seach.
++ LIB[]NAME=
++ LTLIB[]NAME=
++ INC[]NAME=
++ rpathdirs=
++ ltrpathdirs=
++ names_already_handled=
++ names_next_round='$1 $2'
++ while test -n "$names_next_round"; do
++ names_this_round="$names_next_round"
++ names_next_round=
++ for name in $names_this_round; do
++ already_handled=
++ for n in $names_already_handled; do
++ if test "$n" = "$name"; then
++ already_handled=yes
++ break
++ fi
++ done
++ if test -z "$already_handled"; then
++ names_already_handled="$names_already_handled $name"
++ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
++ dnl or AC_LIB_HAVE_LINKFLAGS call.
++ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
++ eval value=\"\$HAVE_LIB$uppername\"
++ if test -n "$value"; then
++ if test "$value" = yes; then
++ eval value=\"\$LIB$uppername\"
++ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
++ eval value=\"\$LTLIB$uppername\"
++ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
++ else
++ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
++ dnl that this library doesn't exist. So just drop it.
++ :
++ fi
++ else
++ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
++ dnl and the already constructed $LIBNAME/$LTLIBNAME.
++ found_dir=
++ found_la=
++ found_so=
++ found_a=
++ if test $use_additional = yes; then
++ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
++ found_dir="$additional_libdir"
++ found_so="$additional_libdir/lib$name.$shlibext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ else
++ if test -f "$additional_libdir/lib$name.$libext"; then
++ found_dir="$additional_libdir"
++ found_a="$additional_libdir/lib$name.$libext"
++ if test -f "$additional_libdir/lib$name.la"; then
++ found_la="$additional_libdir/lib$name.la"
++ fi
++ fi
++ fi
++ fi
++ if test "X$found_dir" = "X"; then
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ case "$x" in
++ -L*)
++ dir=`echo "X$x" | sed -e 's/^X-L//'`
++ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
++ found_dir="$dir"
++ found_so="$dir/lib$name.$shlibext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ else
++ if test -f "$dir/lib$name.$libext"; then
++ found_dir="$dir"
++ found_a="$dir/lib$name.$libext"
++ if test -f "$dir/lib$name.la"; then
++ found_la="$dir/lib$name.la"
++ fi
++ fi
++ fi
++ ;;
++ esac
++ if test "X$found_dir" != "X"; then
++ break
++ fi
++ done
++ fi
++ if test "X$found_dir" != "X"; then
++ dnl Found the library.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
++ if test "X$found_so" != "X"; then
++ dnl Linking with a shared library. We attempt to hardcode its
++ dnl directory into the executable's runpath, unless it's the
++ dnl standard /usr/lib.
++ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
++ dnl No hardcoding is needed.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $found_dir"
++ fi
++ dnl The hardcoding into $LIBNAME is system dependent.
++ if test "$hardcode_direct" = yes; then
++ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
++ dnl resulting binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
++ dnl Use an explicit option to hardcode DIR into the resulting
++ dnl binary.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $found_dir"
++ fi
++ else
++ dnl Rely on "-L$found_dir".
++ dnl But don't add it if it's already contained in the LDFLAGS
++ dnl or the already constructed $LIBNAME
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$found_dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
++ fi
++ if test "$hardcode_minus_L" != no; then
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
++ else
++ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
++ dnl here, because this doesn't fit in flags passed to the
++ dnl compiler. So give up. No hardcoding. This affects only
++ dnl very old systems.
++ dnl FIXME: Not sure whether we should use
++ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
++ dnl here.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ fi
++ else
++ if test "X$found_a" != "X"; then
++ dnl Linking with a static library.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
++ else
++ dnl We shouldn't come here, but anyway it's good to have a
++ dnl fallback.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
++ fi
++ fi
++ dnl Assume the include files are nearby.
++ additional_includedir=
++ case "$found_dir" in
++ */lib | */lib/)
++ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
++ additional_includedir="$basedir/include"
++ ;;
++ esac
++ if test "X$additional_includedir" != "X"; then
++ dnl Potentially add $additional_includedir to $INCNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 3. if it's already present in $CPPFLAGS or the already
++ dnl constructed $INCNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ for x in $CPPFLAGS $INC[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $INCNAME.
++ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ fi
++ dnl Look for dependencies.
++ if test -n "$found_la"; then
++ dnl Read the .la file. It defines the variables
++ dnl dlname, library_names, old_library, dependency_libs, current,
++ dnl age, revision, installed, dlopen, dlpreopen, libdir.
++ save_libdir="$libdir"
++ case "$found_la" in
++ */* | *\\*) . "$found_la" ;;
++ *) . "./$found_la" ;;
++ esac
++ libdir="$save_libdir"
++ dnl We use only dependency_libs.
++ for dep in $dependency_libs; do
++ case "$dep" in
++ -L*)
++ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
++ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 3. if it's already present in $LDFLAGS or the already
++ dnl constructed $LIBNAME,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ haveit=
++ for x in $LDFLAGS $LIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LIBNAME.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ haveit=
++ for x in $LDFLAGS $LTLIB[]NAME; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LTLIBNAME.
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ ;;
++ -R*)
++ dir=`echo "X$dep" | sed -e 's/^X-R//'`
++ if test "$enable_rpath" != no; then
++ dnl Potentially add DIR to rpathdirs.
++ dnl The rpathdirs will be appended to $LIBNAME at the end.
++ haveit=
++ for x in $rpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ rpathdirs="$rpathdirs $dir"
++ fi
++ dnl Potentially add DIR to ltrpathdirs.
++ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
++ haveit=
++ for x in $ltrpathdirs; do
++ if test "X$x" = "X$dir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ ltrpathdirs="$ltrpathdirs $dir"
++ fi
++ fi
++ ;;
++ -l*)
++ dnl Handle this in the next round.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
++ ;;
++ *.la)
++ dnl Handle this in the next round. Throw away the .la's
++ dnl directory; it is already contained in a preceding -L
++ dnl option.
++ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
++ ;;
++ *)
++ dnl Most likely an immediate library name.
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
++ ;;
++ esac
++ done
++ fi
++ else
++ dnl Didn't find the library; assume it is in the system directories
++ dnl known to the linker and runtime loader. (All the system
++ dnl directories known to the linker should also be known to the
++ dnl runtime loader, otherwise the system is severely misconfigured.)
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
++ fi
++ fi
++ fi
++ done
++ done
++ if test "X$rpathdirs" != "X"; then
++ if test -n "$hardcode_libdir_separator"; then
++ dnl Weird platform: only the last -rpath option counts, the user must
++ dnl pass all path elements in one option. We can arrange that for a
++ dnl single library, but not when more than one $LIBNAMEs are used.
++ alldirs=
++ for found_dir in $rpathdirs; do
++ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
++ done
++ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
++ acl_save_libdir="$libdir"
++ libdir="$alldirs"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ else
++ dnl The -rpath options are cumulative.
++ for found_dir in $rpathdirs; do
++ acl_save_libdir="$libdir"
++ libdir="$found_dir"
++ eval flag=\"$hardcode_libdir_flag_spec\"
++ libdir="$acl_save_libdir"
++ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
++ done
++ fi
++ fi
++ if test "X$ltrpathdirs" != "X"; then
++ dnl When using libtool, the option that works for both libraries and
++ dnl executables is -R. The -R options are cumulative.
++ for found_dir in $ltrpathdirs; do
++ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
++ done
++ fi
++])
++
++dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
++dnl unless already present in VAR.
++dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
++dnl contains two or three consecutive elements that belong together.
++AC_DEFUN([AC_LIB_APPENDTOVAR],
++[
++ for element in [$2]; do
++ haveit=
++ for x in $[$1]; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X$element"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ [$1]="${[$1]}${[$1]:+ }$element"
++ fi
++ done
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-link.m4~ psmisc-20.2.works.clean/m4/lib-link.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-prefix.m4 psmisc-20.2.works.clean/m4/lib-prefix.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-prefix.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/lib-prefix.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,155 @@
++# lib-prefix.m4 serial 3 (gettext-0.13)
++dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
++dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
++dnl require excessive bracketing.
++ifdef([AC_HELP_STRING],
++[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
++[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
++
++dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
++dnl to access previously installed libraries. The basic assumption is that
++dnl a user will want packages to use other packages he previously installed
++dnl with the same --prefix option.
++dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
++dnl libraries, but is otherwise very convenient.
++AC_DEFUN([AC_LIB_PREFIX],
++[
++ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
++ AC_REQUIRE([AC_PROG_CC])
++ AC_REQUIRE([AC_CANONICAL_HOST])
++ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
++ dnl By default, look in $includedir and $libdir.
++ use_additional=yes
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ AC_LIB_ARG_WITH([lib-prefix],
++[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
++ --without-lib-prefix don't search for libraries in includedir and libdir],
++[
++ if test "X$withval" = "Xno"; then
++ use_additional=no
++ else
++ if test "X$withval" = "X"; then
++ AC_LIB_WITH_FINAL_PREFIX([
++ eval additional_includedir=\"$includedir\"
++ eval additional_libdir=\"$libdir\"
++ ])
++ else
++ additional_includedir="$withval/include"
++ additional_libdir="$withval/lib"
++ fi
++ fi
++])
++ if test $use_additional = yes; then
++ dnl Potentially add $additional_includedir to $CPPFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/include,
++ dnl 2. if it's already present in $CPPFLAGS,
++ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_includedir" != "X/usr/include"; then
++ haveit=
++ for x in $CPPFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-I$additional_includedir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_includedir" = "X/usr/local/include"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_includedir"; then
++ dnl Really add $additional_includedir to $CPPFLAGS.
++ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
++ fi
++ fi
++ fi
++ fi
++ dnl Potentially add $additional_libdir to $LDFLAGS.
++ dnl But don't add it
++ dnl 1. if it's the standard /usr/lib,
++ dnl 2. if it's already present in $LDFLAGS,
++ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
++ dnl 4. if it doesn't exist as a directory.
++ if test "X$additional_libdir" != "X/usr/lib"; then
++ haveit=
++ for x in $LDFLAGS; do
++ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
++ if test "X$x" = "X-L$additional_libdir"; then
++ haveit=yes
++ break
++ fi
++ done
++ if test -z "$haveit"; then
++ if test "X$additional_libdir" = "X/usr/local/lib"; then
++ if test -n "$GCC"; then
++ case $host_os in
++ linux*) haveit=yes;;
++ esac
++ fi
++ fi
++ if test -z "$haveit"; then
++ if test -d "$additional_libdir"; then
++ dnl Really add $additional_libdir to $LDFLAGS.
++ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
++ fi
++ fi
++ fi
++ fi
++ fi
++])
++
++dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
++dnl acl_final_exec_prefix, containing the values to which $prefix and
++dnl $exec_prefix will expand at the end of the configure script.
++AC_DEFUN([AC_LIB_PREPARE_PREFIX],
++[
++ dnl Unfortunately, prefix and exec_prefix get only finally determined
++ dnl at the end of configure.
++ if test "X$prefix" = "XNONE"; then
++ acl_final_prefix="$ac_default_prefix"
++ else
++ acl_final_prefix="$prefix"
++ fi
++ if test "X$exec_prefix" = "XNONE"; then
++ acl_final_exec_prefix='${prefix}'
++ else
++ acl_final_exec_prefix="$exec_prefix"
++ fi
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
++ prefix="$acl_save_prefix"
++])
++
++dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
++dnl variables prefix and exec_prefix bound to the values they will have
++dnl at the end of the configure script.
++AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
++[
++ acl_save_prefix="$prefix"
++ prefix="$acl_final_prefix"
++ acl_save_exec_prefix="$exec_prefix"
++ exec_prefix="$acl_final_exec_prefix"
++ $1
++ exec_prefix="$acl_save_exec_prefix"
++ prefix="$acl_save_prefix"
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/lib-prefix.m4~ psmisc-20.2.works.clean/m4/lib-prefix.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/longdouble.m4 psmisc-20.2.works.clean/m4/longdouble.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/longdouble.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/longdouble.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,30 @@
++# longdouble.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether the compiler supports the 'long double' type.
++dnl Prerequisite: AC_PROG_CC
++
++AC_DEFUN([gt_TYPE_LONGDOUBLE],
++[
++ AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
++ [if test "$GCC" = yes; then
++ gt_cv_c_long_double=yes
++ else
++ AC_TRY_COMPILE([
++ /* The Stardent Vistra knows sizeof(long double), but does not support it. */
++ long double foo = 0.0;
++ /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
++ int array [2*(sizeof(long double) >= sizeof(double)) - 1];
++ ], ,
++ gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
++ fi])
++ if test $gt_cv_c_long_double = yes; then
++ AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/longdouble.m4~ psmisc-20.2.works.clean/m4/longdouble.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/longlong.m4 psmisc-20.2.works.clean/m4/longlong.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/longlong.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/longlong.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,25 @@
++# longlong.m4 serial 4
++dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_LONG_LONG if 'long long' works.
++
++AC_DEFUN([jm_AC_TYPE_LONG_LONG],
++[
++ AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
++ [AC_TRY_LINK([long long ll = 1LL; int i = 63;],
++ [long long llmax = (long long) -1;
++ return ll << i | ll >> i | llmax / ll | llmax % ll;],
++ ac_cv_type_long_long=yes,
++ ac_cv_type_long_long=no)])
++ if test $ac_cv_type_long_long = yes; then
++ AC_DEFINE(HAVE_LONG_LONG, 1,
++ [Define if you have the 'long long' type.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/longlong.m4~ psmisc-20.2.works.clean/m4/longlong.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/nls.m4 psmisc-20.2.works.clean/m4/nls.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/nls.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/nls.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,49 @@
++# nls.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
++
++AC_DEFUN([AM_NLS],
++[
++ AC_MSG_CHECKING([whether NLS is requested])
++ dnl Default is enabled NLS
++ AC_ARG_ENABLE(nls,
++ [ --disable-nls do not use Native Language Support],
++ USE_NLS=$enableval, USE_NLS=yes)
++ AC_MSG_RESULT($USE_NLS)
++ AC_SUBST(USE_NLS)
++])
++
++AC_DEFUN([AM_MKINSTALLDIRS],
++[
++ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
++ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
++ dnl Try to locate it.
++ MKINSTALLDIRS=
++ if test -n "$ac_aux_dir"; then
++ case "$ac_aux_dir" in
++ /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
++ *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
++ esac
++ fi
++ if test -z "$MKINSTALLDIRS"; then
++ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
++ fi
++ AC_SUBST(MKINSTALLDIRS)
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/nls.m4~ psmisc-20.2.works.clean/m4/nls.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/po.m4 psmisc-20.2.works.clean/m4/po.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/po.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/po.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,426 @@
++# po.m4 serial 3 (gettext-0.14)
++dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
++dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
++
++dnl Checks for all prerequisites of the po subdirectory.
++AC_DEFUN([AM_PO_SUBDIRS],
++[
++ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++ AC_REQUIRE([AC_PROG_INSTALL])dnl
++ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
++ AC_REQUIRE([AM_NLS])dnl
++
++ dnl Perform the following tests also if --disable-nls has been given,
++ dnl because they are needed for "make dist" to work.
++
++ dnl Search for GNU msgfmt in the PATH.
++ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
++ dnl The second test excludes FreeBSD msgfmt.
++ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
++ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
++
++ dnl Search for GNU xgettext 0.12 or newer in the PATH.
++ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
++ dnl The second test excludes FreeBSD xgettext.
++ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
++ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
++ :)
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++
++ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
++ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
++ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU msgfmt.
++ if test "$GMSGFMT" != ":"; then
++ dnl If it is no GNU msgfmt we define it as : so that the
++ dnl Makefiles still can work.
++ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
++ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
++ AC_MSG_RESULT(
++ [found $GMSGFMT program is not GNU msgfmt; ignore it])
++ GMSGFMT=":"
++ fi
++ fi
++
++ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
++ dnl Test whether we really found GNU xgettext.
++ if test "$XGETTEXT" != ":"; then
++ dnl If it is no GNU xgettext we define it as : so that the
++ dnl Makefiles still can work.
++ if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
++ (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ : ;
++ else
++ AC_MSG_RESULT(
++ [found xgettext program is not GNU xgettext; ignore it])
++ XGETTEXT=":"
++ fi
++ dnl Remove leftover from FreeBSD xgettext call.
++ rm -f messages.po
++ fi
++
++ AC_OUTPUT_COMMANDS([
++ for ac_file in $CONFIG_FILES; do
++ # Support "outfile[:infile[:infile...]]"
++ case "$ac_file" in
++ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
++ esac
++ # PO directories have a Makefile.in generated from Makefile.in.in.
++ case "$ac_file" in */Makefile.in)
++ # Adjust a relative srcdir.
++ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++ # In autoconf-2.13 it is called $ac_given_srcdir.
++ # In autoconf-2.50 it is called $srcdir.
++ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++ case "$ac_given_srcdir" in
++ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++ /*) top_srcdir="$ac_given_srcdir" ;;
++ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
++ esac
++ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
++ rm -f "$ac_dir/POTFILES"
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
++ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
++ POMAKEFILEDEPS="POTFILES.in"
++ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
++ # on $ac_dir but don't depend on user-specified configuration
++ # parameters.
++ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++ # The LINGUAS file contains the set of available languages.
++ if test -n "$OBSOLETE_ALL_LINGUAS"; then
++ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++ fi
++ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++ # Hide the ALL_LINGUAS assigment from automake.
++ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
++ else
++ # The set of available languages was given in configure.in.
++ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
++ fi
++ # Compute POFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
++ # Compute UPDATEPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
++ # Compute DUMMYPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
++ # Compute GMOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
++ case "$ac_given_srcdir" in
++ .) srcdirpre= ;;
++ *) srcdirpre='$(srcdir)/' ;;
++ esac
++ POFILES=
++ UPDATEPOFILES=
++ DUMMYPOFILES=
++ GMOFILES=
++ for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ done
++ # CATALOGS depends on both $ac_dir and the user's LINGUAS
++ # environment variable.
++ INST_LINGUAS=
++ if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test "%UNSET%" != "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ # Use the presentlang catalog if desiredlang is
++ # a. equal to presentlang, or
++ # b. a variant of presentlang (because in this case,
++ # presentlang can be used as a fallback for messages
++ # which are not translated in the desiredlang catalog).
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++ fi
++ CATALOGS=
++ if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ done
++ fi
++ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
++ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
++ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
++ if test -f "$f"; then
++ case "$f" in
++ *.orig | *.bak | *~) ;;
++ *) cat "$f" >> "$ac_dir/Makefile" ;;
++ esac
++ fi
++ done
++ fi
++ ;;
++ esac
++ done],
++ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
++ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
++ # from automake.
++ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
++ # Capture the value of LINGUAS because we need it to compute CATALOGS.
++ LINGUAS="${LINGUAS-%UNSET%}"
++ ])
++])
++
++dnl Postprocesses a Makefile in a directory containing PO files.
++AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
++[
++ # When this code is run, in config.status, two variables have already been
++ # set:
++ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
++ # - LINGUAS is the value of the environment variable LINGUAS at configure
++ # time.
++
++changequote(,)dnl
++ # Adjust a relative srcdir.
++ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
++ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
++ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
++ # In autoconf-2.13 it is called $ac_given_srcdir.
++ # In autoconf-2.50 it is called $srcdir.
++ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
++ case "$ac_given_srcdir" in
++ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
++ /*) top_srcdir="$ac_given_srcdir" ;;
++ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
++ esac
++
++ # Find a way to echo strings without interpreting backslash.
++ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
++ gt_echo='echo'
++ else
++ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
++ gt_echo='printf %s\n'
++ else
++ echo_func () {
++ cat <<EOT
++$*
++EOT
++ }
++ gt_echo='echo_func'
++ fi
++ fi
++
++ # A sed script that extracts the value of VARIABLE from a Makefile.
++ sed_x_variable='
++# Test if the hold space is empty.
++x
++s/P/P/
++x
++ta
++# Yes it was empty. Look if we have the expected variable definition.
++/^[ ]*VARIABLE[ ]*=/{
++ # Seen the first line of the variable definition.
++ s/^[ ]*VARIABLE[ ]*=//
++ ba
++}
++bd
++:a
++# Here we are processing a line from the variable definition.
++# Remove comment, more precisely replace it with a space.
++s/#.*$/ /
++# See if the line ends in a backslash.
++tb
++:b
++s/\\$//
++# Print the line, without the trailing backslash.
++p
++tc
++# There was no trailing backslash. The end of the variable definition is
++# reached. Clear the hold space.
++s/^.*$//
++x
++bd
++:c
++# A trailing backslash means that the variable definition continues in the
++# next line. Put a nonempty string into the hold space to indicate this.
++s/^.*$/P/
++x
++:d
++'
++changequote([,])dnl
++
++ # Set POTFILES to the value of the Makefile variable POTFILES.
++ sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"
++ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
++ # Compute POTFILES_DEPS as
++ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
++ POTFILES_DEPS=
++ for file in $POTFILES; do
++ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
++ done
++ POMAKEFILEDEPS=""
++
++ if test -n "$OBSOLETE_ALL_LINGUAS"; then
++ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
++ fi
++ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
++ # The LINGUAS file contains the set of available languages.
++ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
++ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
++ else
++ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
++ sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"
++ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
++ fi
++ # Hide the ALL_LINGUAS assigment from automake.
++ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
++ # Compute POFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
++ # Compute UPDATEPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
++ # Compute DUMMYPOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
++ # Compute GMOFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
++ # Compute PROPERTIESFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
++ # Compute CLASSFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
++ # Compute QMFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
++ # Compute MSGFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
++ # Compute RESOURCESDLLFILES
++ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
++ case "$ac_given_srcdir" in
++ .) srcdirpre= ;;
++ *) srcdirpre='$(srcdir)/' ;;
++ esac
++ POFILES=
++ UPDATEPOFILES=
++ DUMMYPOFILES=
++ GMOFILES=
++ PROPERTIESFILES=
++ CLASSFILES=
++ QMFILES=
++ MSGFILES=
++ RESOURCESDLLFILES=
++ for lang in $ALL_LINGUAS; do
++ POFILES="$POFILES $srcdirpre$lang.po"
++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
++ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
++ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
++ QMFILES="$QMFILES $srcdirpre$lang.qm"
++ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
++ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
++ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
++ done
++ # CATALOGS depends on both $ac_dir and the user's LINGUAS
++ # environment variable.
++ INST_LINGUAS=
++ if test -n "$ALL_LINGUAS"; then
++ for presentlang in $ALL_LINGUAS; do
++ useit=no
++ if test "%UNSET%" != "$LINGUAS"; then
++ desiredlanguages="$LINGUAS"
++ else
++ desiredlanguages="$ALL_LINGUAS"
++ fi
++ for desiredlang in $desiredlanguages; do
++ # Use the presentlang catalog if desiredlang is
++ # a. equal to presentlang, or
++ # b. a variant of presentlang (because in this case,
++ # presentlang can be used as a fallback for messages
++ # which are not translated in the desiredlang catalog).
++ case "$desiredlang" in
++ "$presentlang"*) useit=yes;;
++ esac
++ done
++ if test $useit = yes; then
++ INST_LINGUAS="$INST_LINGUAS $presentlang"
++ fi
++ done
++ fi
++ CATALOGS=
++ JAVACATALOGS=
++ QTCATALOGS=
++ TCLCATALOGS=
++ CSHARPCATALOGS=
++ if test -n "$INST_LINGUAS"; then
++ for lang in $INST_LINGUAS; do
++ CATALOGS="$CATALOGS $lang.gmo"
++ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
++ QTCATALOGS="$QTCATALOGS $lang.qm"
++ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
++ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
++ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
++ done
++ fi
++
++ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
++ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
++ # Add dependencies that cannot be formulated as a simple suffix rule.
++ for lang in $ALL_LINGUAS; do
++ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++ cat >> "$ac_file.tmp" <<EOF
++$frobbedlang.msg: $lang.po
++ @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
++ \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
++EOF
++ done
++ fi
++ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
++ # Add dependencies that cannot be formulated as a simple suffix rule.
++ for lang in $ALL_LINGUAS; do
++ frobbedlang=`echo $lang | sed -e 's/_/-/g'`
++ cat >> "$ac_file.tmp" <<EOF
++$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
++ @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
++ \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
++EOF
++ done
++ fi
++ if test -n "$POMAKEFILEDEPS"; then
++ cat >> "$ac_file.tmp" <<EOF
++Makefile: $POMAKEFILEDEPS
++EOF
++ fi
++ mv "$ac_file.tmp" "$ac_file"
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/po.m4~ psmisc-20.2.works.clean/m4/po.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/printf-posix.m4 psmisc-20.2.works.clean/m4/printf-posix.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/printf-posix.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/printf-posix.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,46 @@
++# printf-posix.m4 serial 2 (gettext-0.13.1)
++dnl Copyright (C) 2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether the printf() function supports POSIX/XSI format strings with
++dnl positions.
++
++AC_DEFUN([gt_PRINTF_POSIX],
++[
++ AC_REQUIRE([AC_PROG_CC])
++ AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
++ gt_cv_func_printf_posix,
++ [
++ AC_TRY_RUN([
++#include <stdio.h>
++#include <string.h>
++/* The string "%2$d %1$d", with dollar characters protected from the shell's
++ dollar expansion (possibly an autoconf bug). */
++static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
++static char buf[100];
++int main ()
++{
++ sprintf (buf, format, 33, 55);
++ return (strcmp (buf, "55 33") != 0);
++}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
++ [
++ AC_EGREP_CPP(notposix, [
++#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__
++ notposix
++#endif
++ ], gt_cv_func_printf_posix="guessing no",
++ gt_cv_func_printf_posix="guessing yes")
++ ])
++ ])
++ case $gt_cv_func_printf_posix in
++ *yes)
++ AC_DEFINE(HAVE_POSIX_PRINTF, 1,
++ [Define if your printf() function supports format strings with positions.])
++ ;;
++ esac
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/printf-posix.m4~ psmisc-20.2.works.clean/m4/printf-posix.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/progtest.m4 psmisc-20.2.works.clean/m4/progtest.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/progtest.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/progtest.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,91 @@
++# progtest.m4 serial 3 (gettext-0.12)
++dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++dnl
++dnl This file can can be used in projects which are not available under
++dnl the GNU General Public License or the GNU Library General Public
++dnl License but which still want to provide support for the GNU gettext
++dnl functionality.
++dnl Please note that the actual code of the GNU gettext library is covered
++dnl by the GNU Library General Public License, and the rest of the GNU
++dnl gettext package package is covered by the GNU General Public License.
++dnl They are *not* in the public domain.
++
++dnl Authors:
++dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
++
++# Search path for a program which passes the given test.
++
++dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
++dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
++AC_DEFUN([AM_PATH_PROG_WITH_TEST],
++[
++# Prepare PATH_SEPARATOR.
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Find out how to test for executable files. Don't use a zero-byte file,
++# as systems may use methods other than mode bits to determine executability.
++cat >conf$$.file <<_ASEOF
++#! /bin/sh
++exit 0
++_ASEOF
++chmod +x conf$$.file
++if test -x conf$$.file >/dev/null 2>&1; then
++ ac_executable_p="test -x"
++else
++ ac_executable_p="test -f"
++fi
++rm -f conf$$.file
++
++# Extract the first word of "$2", so it can be a program name with args.
++set dummy $2; ac_word=[$]2
++AC_MSG_CHECKING([for $ac_word])
++AC_CACHE_VAL(ac_cv_path_$1,
++[case "[$]$1" in
++ [[\\/]]* | ?:[[\\/]]*)
++ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
++ ;;
++ *)
++ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
++ for ac_dir in ifelse([$5], , $PATH, [$5]); do
++ IFS="$ac_save_IFS"
++ test -z "$ac_dir" && ac_dir=.
++ for ac_exec_ext in '' $ac_executable_extensions; do
++ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
++ if [$3]; then
++ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
++ break 2
++ fi
++ fi
++ done
++ done
++ IFS="$ac_save_IFS"
++dnl If no 4th arg is given, leave the cache variable unset,
++dnl so AC_PATH_PROGS will keep looking.
++ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
++])dnl
++ ;;
++esac])dnl
++$1="$ac_cv_path_$1"
++if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
++ AC_MSG_RESULT([$]$1)
++else
++ AC_MSG_RESULT(no)
++fi
++AC_SUBST($1)dnl
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/progtest.m4~ psmisc-20.2.works.clean/m4/progtest.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/signed.m4 psmisc-20.2.works.clean/m4/signed.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/signed.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/signed.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,19 @@
++# signed.m4 serial 1 (gettext-0.10.40)
++dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([bh_C_SIGNED],
++[
++ AC_CACHE_CHECK([for signed], bh_cv_c_signed,
++ [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
++ if test $bh_cv_c_signed = no; then
++ AC_DEFINE(signed, ,
++ [Define to empty if the C compiler doesn't support this keyword.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/signed.m4~ psmisc-20.2.works.clean/m4/signed.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/size_max.m4 psmisc-20.2.works.clean/m4/size_max.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/size_max.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/size_max.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,61 @@
++# size_max.m4 serial 2
++dnl Copyright (C) 2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++
++AC_DEFUN([gl_SIZE_MAX],
++[
++ AC_CHECK_HEADERS(stdint.h)
++ dnl First test whether the system already has SIZE_MAX.
++ AC_MSG_CHECKING([for SIZE_MAX])
++ result=
++ AC_EGREP_CPP([Found it], [
++#include <limits.h>
++#if HAVE_STDINT_H
++#include <stdint.h>
++#endif
++#ifdef SIZE_MAX
++Found it
++#endif
++], result=yes)
++ if test -z "$result"; then
++ dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
++ dnl than the type 'unsigned long'.
++ dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',
++ dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
++ _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
++ [#include <stddef.h>], result=?)
++ _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
++ [#include <stddef.h>], result=?)
++ _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,
++ [#include <stddef.h>], result=?)
++ if test "$fits_in_uint" = 1; then
++ dnl Even though SIZE_MAX fits in an unsigned int, it must be of type
++ dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.
++ AC_TRY_COMPILE([#include <stddef.h>
++ extern size_t foo;
++ extern unsigned long foo;
++ ], [], fits_in_uint=0)
++ fi
++ if test -z "$result"; then
++ if test "$fits_in_uint" = 1; then
++ result="$res_hi$res_lo"U
++ else
++ result="$res_hi$res_lo"UL
++ fi
++ else
++ dnl Shouldn't happen, but who knows...
++ result='~(size_t)0'
++ fi
++ fi
++ AC_MSG_RESULT([$result])
++ if test "$result" != yes; then
++ AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
++ [Define as the maximum value of type 'size_t', if the system doesn't define it.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/size_max.m4~ psmisc-20.2.works.clean/m4/size_max.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/stdint_h.m4 psmisc-20.2.works.clean/m4/stdint_h.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/stdint_h.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/stdint_h.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,28 @@
++# stdint_h.m4 serial 3 (gettext-0.12)
++dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
++# doesn't clash with <sys/types.h>, and declares uintmax_t.
++
++AC_DEFUN([jm_AC_HEADER_STDINT_H],
++[
++ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
++ [AC_TRY_COMPILE(
++ [#include <sys/types.h>
++#include <stdint.h>],
++ [uintmax_t i = (uintmax_t) -1;],
++ jm_ac_cv_header_stdint_h=yes,
++ jm_ac_cv_header_stdint_h=no)])
++ if test $jm_ac_cv_header_stdint_h = yes; then
++ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
++ [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
++ and declares uintmax_t. ])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/stdint_h.m4~ psmisc-20.2.works.clean/m4/stdint_h.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/uintmax_t.m4 psmisc-20.2.works.clean/m4/uintmax_t.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/uintmax_t.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/uintmax_t.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,32 @@
++# uintmax_t.m4 serial 7 (gettext-0.12)
++dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++AC_PREREQ(2.13)
++
++# Define uintmax_t to 'unsigned long' or 'unsigned long long'
++# if it is not already defined in <stdint.h> or <inttypes.h>.
++
++AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
++[
++ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
++ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
++ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
++ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
++ test $ac_cv_type_unsigned_long_long = yes \
++ && ac_type='unsigned long long' \
++ || ac_type='unsigned long'
++ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
++ [Define to unsigned long or unsigned long long
++ if <stdint.h> and <inttypes.h> don't define.])
++ else
++ AC_DEFINE(HAVE_UINTMAX_T, 1,
++ [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/uintmax_t.m4~ psmisc-20.2.works.clean/m4/uintmax_t.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/ulonglong.m4 psmisc-20.2.works.clean/m4/ulonglong.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/ulonglong.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/ulonglong.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,25 @@
++# ulonglong.m4 serial 3
++dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Paul Eggert.
++
++# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
++
++AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
++[
++ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
++ [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
++ [unsigned long long ullmax = (unsigned long long) -1;
++ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
++ ac_cv_type_unsigned_long_long=yes,
++ ac_cv_type_unsigned_long_long=no)])
++ if test $ac_cv_type_unsigned_long_long = yes; then
++ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
++ [Define if you have the 'unsigned long long' type.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/ulonglong.m4~ psmisc-20.2.works.clean/m4/ulonglong.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/wchar_t.m4 psmisc-20.2.works.clean/m4/wchar_t.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/wchar_t.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/wchar_t.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,22 @@
++# wchar_t.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether <stddef.h> has the 'wchar_t' type.
++dnl Prerequisite: AC_PROG_CC
++
++AC_DEFUN([gt_TYPE_WCHAR_T],
++[
++ AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
++ [AC_TRY_COMPILE([#include <stddef.h>
++ wchar_t foo = (wchar_t)'\0';], ,
++ gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
++ if test $gt_cv_c_wchar_t = yes; then
++ AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/wchar_t.m4~ psmisc-20.2.works.clean/m4/wchar_t.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/wint_t.m4 psmisc-20.2.works.clean/m4/wint_t.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/wint_t.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/wint_t.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,22 @@
++# wint_t.m4 serial 1 (gettext-0.12)
++dnl Copyright (C) 2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++dnl From Bruno Haible.
++dnl Test whether <wchar.h> has the 'wint_t' type.
++dnl Prerequisite: AC_PROG_CC
++
++AC_DEFUN([gt_TYPE_WINT_T],
++[
++ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
++ [AC_TRY_COMPILE([#include <wchar.h>
++ wint_t foo = (wchar_t)'\0';], ,
++ gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
++ if test $gt_cv_c_wint_t = yes; then
++ AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
++ fi
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/wint_t.m4~ psmisc-20.2.works.clean/m4/wint_t.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/xsize.m4 psmisc-20.2.works.clean/m4/xsize.m4
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/xsize.m4 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/m4/xsize.m4 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,14 @@
++# xsize.m4 serial 2
++dnl Copyright (C) 2003 Free Software Foundation, Inc.
++dnl This file is free software, distributed under the terms of the GNU
++dnl General Public License. As a special exception to the GNU General
++dnl Public License, this file may be distributed as part of a program
++dnl that contains a configuration script generated by Autoconf, under
++dnl the same distribution terms as the rest of that program.
++
++AC_DEFUN([gl_XSIZE],
++[
++ dnl Prerequisites of lib/xsize.h.
++ AC_REQUIRE([gl_SIZE_MAX])
++ AC_CHECK_HEADERS(stdint.h)
++])
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/m4/xsize.m4~ psmisc-20.2.works.clean/m4/xsize.m4~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/missing psmisc-20.2.works.clean/missing
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/mkinstalldirs psmisc-20.2.works.clean/mkinstalldirs
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/Makefile.in.in psmisc-20.2.works.clean/po/Makefile.in.in
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/Makefile.in.in 2001-04-13 23:00:46.000000000 -0500
++++ psmisc-20.2.works.clean/po/Makefile.in.in 2004-10-13 15:18:42.000000000 -0500
+@@ -1,10 +1,14 @@
+-# Makefile for program source directory in GNU NLS utilities package.
+-# Copyright (C) 1995-1997, 2000, 2001 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
++# Makefile for PO directory in any package using GNU gettext.
++# Copyright (C) 1995-1997, 2000-2004 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+ #
+-# This file file be copied and used freely without restrictions. It can
+-# be used in projects which are not available under the GNU Public License
+-# but which still want to provide support for the GNU gettext functionality.
+-# Please note that the actual code is *not* freely available.
++# This file can be copied and used freely without restrictions. It can
++# be used in projects which are not available under the GNU General Public
++# License but which still want to provide support for the GNU gettext
++# functionality.
++# Please note that the actual code of GNU gettext is covered by the GNU
++# General Public License and is *not* in the public domain.
++#
++# Origin: gettext-0.14
+
+ PACKAGE = @PACKAGE@
+ VERSION = @VERSION@
+@@ -14,88 +18,139 @@
+
+ srcdir = @srcdir@
+ top_srcdir = @top_srcdir@
+-top_builddir = ..
+ VPATH = @srcdir@
+
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+-datadir = $(prefix)/share
++datadir = @datadir@
+ localedir = $(datadir)/locale
+-gettextsrcdir = $(prefix)/share/gettext/po
+-subdir = po
++gettextsrcdir = $(datadir)/gettext/po
+
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ MKINSTALLDIRS = @MKINSTALLDIRS@
+-mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
++mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
+
+-CC = @CC@
+-GENCAT = @GENCAT@
+ GMSGFMT = @GMSGFMT@
+ MSGFMT = @MSGFMT@
+ XGETTEXT = @XGETTEXT@
+ MSGMERGE = msgmerge
+-
+-DEFS = @DEFS@
+-CFLAGS = @CFLAGS@
+-CPPFLAGS = @CPPFLAGS@
+-
+-INCLUDES = -I.. -I$(top_srcdir)/intl
+-
+-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
++MSGMERGE_UPDATE = @MSGMERGE@ --update
++MSGINIT = msginit
++MSGCONV = msgconv
++MSGFILTER = msgfilter
+
+ POFILES = @POFILES@
+ GMOFILES = @GMOFILES@
+-DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
+-$(POFILES) $(GMOFILES)
++UPDATEPOFILES = @UPDATEPOFILES@
++DUMMYPOFILES = @DUMMYPOFILES@
++DISTFILES.common = Makefile.in.in remove-potcdate.sin \
++$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
++DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
++$(POFILES) $(GMOFILES) \
++$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+ POTFILES = \
+
+ CATALOGS = @CATALOGS@
+
+-.SUFFIXES:
+-.SUFFIXES: .c .o .po .pox .gmo .mo
+-
+-.c.o:
+- $(COMPILE) $<
++# Makevars gets inserted here. (Don't remove this line!)
+
+-.po.pox:
+- $(MAKE) $(PACKAGE).pot
+- $(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
++.SUFFIXES:
++.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+ .po.mo:
+- $(MSGFMT) -o $@ $<
++ @echo "$(MSGFMT) -c -o $@ $<"; \
++ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+ .po.gmo:
+- file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
+- && rm -f $$file && $(GMSGFMT) --statistics -o $$file $<
++ @lang=`echo $* | sed -e 's,.*/,,'`; \
++ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
++ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
++ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
++
++.sin.sed:
++ sed -e '/^#/d' $< > t-$@
++ mv t-$@ $@
+
+
+ all: all-@USE_NLS@
+
+-all-yes: $(CATALOGS)
++all-yes: stamp-po
+ all-no:
+
+-# Note: Target 'all' must not depend on target '$(srcdir)/$(PACKAGE).pot',
++# stamp-po is a timestamp denoting the last time at which the CATALOGS have
++# been loosely updated. Its purpose is that when a developer or translator
++# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
++# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
++# invocations of "make" will do nothing. This timestamp would not be necessary
++# if updating the $(CATALOGS) would always touch them; however, the rule for
++# $(POFILES) has been designed to not touch files that don't need to be
++# changed.
++stamp-po: $(srcdir)/$(DOMAIN).pot
++ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
++ @echo "touch stamp-po"
++ @echo timestamp > stamp-poT
++ @mv stamp-poT stamp-po
++
++# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+ # otherwise packages like GCC can not be built if only parts of the source
+ # have been downloaded.
+
+-$(srcdir)/$(PACKAGE).pot: $(POTFILES) $(srcdir)/POTFILES.in
+- $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
+- --add-comments --keyword=_ --keyword=N_ \
++# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
++# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
++$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
++ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
++ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
+ --files-from=$(srcdir)/POTFILES.in \
+- && test ! -f $(PACKAGE).po \
+- || ( rm -f $(srcdir)/$(PACKAGE).pot \
+- && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
++ --copyright-holder='$(COPYRIGHT_HOLDER)' \
++ --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
++ test ! -f $(DOMAIN).po || { \
++ if test -f $(srcdir)/$(DOMAIN).pot; then \
++ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
++ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
++ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
++ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
++ else \
++ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
++ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
++ fi; \
++ else \
++ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
++ fi; \
++ }
++
++# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
++# every "make" invocation, only create it when it is missing.
++# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
++$(srcdir)/$(DOMAIN).pot:
++ $(MAKE) $(DOMAIN).pot-update
++
++# This target rebuilds a PO file if $(DOMAIN).pot has changed.
++# Note that a PO file is not touched if it doesn't need to be changed.
++$(POFILES): $(srcdir)/$(DOMAIN).pot
++ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
++ if test -f "$(srcdir)/$${lang}.po"; then \
++ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
++ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
++ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
++ else \
++ $(MAKE) $${lang}.po-create; \
++ fi
+
+
+ install: install-exec install-data
+ install-exec:
+ install-data: install-data-@USE_NLS@
+- if test "$(PACKAGE)" = "gettext"; then \
++ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+- $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
+- $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
++ for file in $(DISTFILES.common) Makevars.template; do \
++ $(INSTALL_DATA) $(srcdir)/$$file \
++ $(DESTDIR)$(gettextsrcdir)/$$file; \
++ done; \
++ for file in Makevars; do \
++ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
++ done; \
+ else \
+ : ; \
+ fi
+@@ -105,41 +160,118 @@
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+- lang=`echo $$cat | sed 's/\.gmo$$//'`; \
++ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkinstalldirs) $(DESTDIR)$$dir; \
+- if test -r $$cat; then \
+- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
+- echo "installing $$cat as $(DESTDIR)$$dir/$(PACKAGE).mo"; \
+- else \
+- $(INSTALL_DATA) $(srcdir)/$$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
+- echo "installing $(srcdir)/$$cat as" \
+- "$(DESTDIR)$$dir/$(PACKAGE).mo"; \
+- fi; \
++ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
++ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
++ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
++ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
++ if test -n "$$lc"; then \
++ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
++ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
++ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
++ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
++ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
++ for file in *; do \
++ if test -f $$file; then \
++ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
++ fi; \
++ done); \
++ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
++ else \
++ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
++ :; \
++ else \
++ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
++ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
++ fi; \
++ fi; \
++ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
++ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
++ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
++ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
++ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
++ fi; \
++ done; \
+ done
+
+-# Define this as empty until I found a useful application.
+-installcheck:
++install-strip: install
+
+-uninstall:
+- catalogs='$(CATALOGS)'; \
++installdirs: installdirs-exec installdirs-data
++installdirs-exec:
++installdirs-data: installdirs-data-@USE_NLS@
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
++ else \
++ : ; \
++ fi
++installdirs-data-no:
++installdirs-data-yes:
++ $(mkinstalldirs) $(DESTDIR)$(datadir)
++ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+- lang=`echo $$cat | sed 's/\.gmo$$//'`; \
+- rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \
++ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
++ dir=$(localedir)/$$lang/LC_MESSAGES; \
++ $(mkinstalldirs) $(DESTDIR)$$dir; \
++ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
++ if test -n "$$lc"; then \
++ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
++ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
++ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
++ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
++ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
++ for file in *; do \
++ if test -f $$file; then \
++ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
++ fi; \
++ done); \
++ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
++ else \
++ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
++ :; \
++ else \
++ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
++ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
++ fi; \
++ fi; \
++ fi; \
++ done; \
+ done
+- if test "$(PACKAGE)" = "gettext"; then \
+- rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
++
++# Define this as empty until I found a useful application.
++installcheck:
++
++uninstall: uninstall-exec uninstall-data
++uninstall-exec:
++uninstall-data: uninstall-data-@USE_NLS@
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ for file in $(DISTFILES.common) Makevars.template; do \
++ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
++ done; \
+ else \
+ : ; \
+ fi
++uninstall-data-no:
++uninstall-data-yes:
++ catalogs='$(CATALOGS)'; \
++ for cat in $$catalogs; do \
++ cat=`basename $$cat`; \
++ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
++ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
++ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
++ done; \
++ done
+
+ check: all
+
+-dvi info tags TAGS ID:
++info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+ mostlyclean:
+- rm -f core core.* *.pox $(PACKAGE).po *.new.po
++ rm -f remove-potcdate.sed
++ rm -f stamp-poT
++ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+ clean: mostlyclean
+@@ -150,58 +282,85 @@
+ maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+- rm -f $(GMOFILES)
++ rm -f stamp-po $(GMOFILES)
+
+-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
++distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+ dist distdir:
+ $(MAKE) update-po
+ @$(MAKE) dist2
+ # This is a separate target because 'update-po' must be executed before.
+ dist2: $(DISTFILES)
+ dists="$(DISTFILES)"; \
++ if test "$(PACKAGE)" = "gettext-tools"; then \
++ dists="$$dists Makevars.template"; \
++ fi; \
++ if test -f $(srcdir)/ChangeLog; then \
++ dists="$$dists ChangeLog"; \
++ fi; \
++ for i in 0 1 2 3 4 5 6 7 8 9; do \
++ if test -f $(srcdir)/ChangeLog.$$i; then \
++ dists="$$dists ChangeLog.$$i"; \
++ fi; \
++ done; \
++ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+- cp -p $(srcdir)/$$file $(distdir); \
++ if test -f $$file; then \
++ cp -p $$file $(distdir); \
++ else \
++ cp -p $(srcdir)/$$file $(distdir); \
++ fi; \
+ done
+
+ update-po: Makefile
+- $(MAKE) $(PACKAGE).pot
+- if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \
++ $(MAKE) $(DOMAIN).pot-update
++ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
++ $(MAKE) update-gmo
++
++# General rule for creating PO files.
++
++.nop.po-create:
++ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
++ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
++ exit 1
++
++# General rule for updating PO files.
++
++.nop.po-update:
++ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
++ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
++ tmpdir=`pwd`; \
++ echo "$$lang:"; \
++ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
++ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+- catalogs='$(GMOFILES)'; \
+- for cat in $$catalogs; do \
+- cat=`basename $$cat`; \
+- lang=`echo $$cat | sed 's/\.gmo$$//'`; \
+- echo "$$lang:"; \
+- if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \
+- mv -f $$lang.new.po $$lang.po; \
++ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
++ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
++ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+- echo "msgmerge for $$cat failed!"; \
+- rm -f $$lang.new.po; \
++ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
++ :; \
++ else \
++ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
++ exit 1; \
++ fi; \
+ fi; \
+- done
+- $(MAKE) update-gmo
++ else \
++ echo "msgmerge for $$lang.po failed!" 1>&2; \
++ rm -f $$tmpdir/$$lang.new.po; \
++ fi
++
++$(DUMMYPOFILES):
+
+ update-gmo: Makefile $(GMOFILES)
+ @:
+
+-POTFILES: POTFILES.in
+- ( if test 'x$(srcdir)' != 'x.'; then \
+- posrcprefix='$(top_srcdir)/'; \
+- else \
+- posrcprefix="../"; \
+- fi; \
+- rm -f $@-t $@ \
+- && (sed -e '/^#/d' -e '/^[ ]*$$/d' \
+- -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
+- | sed -e '$$s/\\$$//') > $@-t \
+- && chmod a-w $@-t \
+- && mv $@-t $@ )
+-
+-Makefile: Makefile.in.in ../config.status POTFILES
+- cd .. \
++Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@
++ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
+ $(SHELL) ./config.status
+
++force:
++
+ # Tell versions [3.59,3.63) of GNU make not to export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/Makefile.in.in~ psmisc-20.2.works.clean/po/Makefile.in.in~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/Makevars psmisc-20.2.works.clean/po/Makevars
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/Makevars 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/Makevars 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,41 @@
++# Makefile variables for PO directory in any package using GNU gettext.
++
++# Usually the message domain is the same as the package name.
++DOMAIN = $(PACKAGE)
++
++# These two variables depend on the location of this directory.
++subdir = po
++top_builddir = ..
++
++# These options get passed to xgettext.
++XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
++
++# This is the copyright holder that gets inserted into the header of the
++# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
++# package. (Note that the msgstr strings, extracted from the package's
++# sources, belong to the copyright holder of the package.) Translators are
++# expected to transfer the copyright for their translations to this person
++# or entity, or to disclaim their copyright. The empty string stands for
++# the public domain; in this case the translators are expected to disclaim
++# their copyright.
++COPYRIGHT_HOLDER = Free Software Foundation, Inc.
++
++# This is the email address or URL to which the translators shall report
++# bugs in the untranslated strings:
++# - Strings which are not entire sentences, see the maintainer guidelines
++# in the GNU gettext documentation, section 'Preparing Strings'.
++# - Strings which use unclear terms or require additional context to be
++# understood.
++# - Strings which make invalid assumptions about notation of date, time or
++# money.
++# - Pluralisation problems.
++# - Incorrect English spelling.
++# - Incorrect formatting.
++# It can be your email address, or a mailing list address where translators
++# can write to without being subscribed, or the URL of a web page through
++# which the translators can contact you.
++MSGID_BUGS_ADDRESS =
++
++# This is the list of locale categories, beyond LC_MESSAGES, for which the
++# message catalogs shall be used. It is usually empty.
++EXTRA_LOCALE_CATEGORIES =
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/Rules-quot psmisc-20.2.works.clean/po/Rules-quot
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/Rules-quot 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/Rules-quot 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,47 @@
++# Special Makefile rules for English message catalogs with quotation marks.
++
++DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
++
++.SUFFIXES: .insert-header .po-update-en
++
++en@quot.po-create:
++ $(MAKE) en@quot.po-update
++en@boldquot.po-create:
++ $(MAKE) en@boldquot.po-update
++
++en@quot.po-update: en@quot.po-update-en
++en@boldquot.po-update: en@boldquot.po-update-en
++
++.insert-header.po-update-en:
++ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
++ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
++ tmpdir=`pwd`; \
++ echo "$$lang:"; \
++ ll=`echo $$lang | sed -e 's/@.*//'`; \
++ LC_ALL=C; export LC_ALL; \
++ cd $(srcdir); \
++ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
++ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
++ rm -f $$tmpdir/$$lang.new.po; \
++ else \
++ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
++ :; \
++ else \
++ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
++ exit 1; \
++ fi; \
++ fi; \
++ else \
++ echo "creation of $$lang.po failed!" 1>&2; \
++ rm -f $$tmpdir/$$lang.new.po; \
++ fi
++
++en@quot.insert-header: insert-header.sin
++ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
++
++en@boldquot.insert-header: insert-header.sin
++ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
++
++mostlyclean: mostlyclean-quot
++mostlyclean-quot:
++ rm -f *.insert-header
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/Rules-quot~ psmisc-20.2.works.clean/po/Rules-quot~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/boldquot.sed psmisc-20.2.works.clean/po/boldquot.sed
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/boldquot.sed 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/boldquot.sed 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,10 @@
++s/"\([^"]*\)"/“\1â€/g
++s/`\([^`']*\)'/‘\1’/g
++s/ '\([^`']*\)' / ‘\1’ /g
++s/ '\([^`']*\)'$/ ‘\1’/g
++s/^'\([^`']*\)' /‘\1’ /g
++s/“â€/""/g
++s/“/“/g
++s/â€/â€/g
++s/‘/‘/g
++s/’/’/g
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/boldquot.sed~ psmisc-20.2.works.clean/po/boldquot.sed~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/en@boldquot.header psmisc-20.2.works.clean/po/en@boldquot.header
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/en@boldquot.header 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/en@boldquot.header 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,25 @@
++# All this catalog "translates" are quotation characters.
++# The msgids must be ASCII and therefore cannot contain real quotation
++# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
++# and double quote (0x22). These substitutes look strange; see
++# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
++#
++# This catalog translates grave accent (0x60) and apostrophe (0x27) to
++# left single quotation mark (U+2018) and right single quotation mark (U+2019).
++# It also translates pairs of apostrophe (0x27) to
++# left single quotation mark (U+2018) and right single quotation mark (U+2019)
++# and pairs of quotation mark (0x22) to
++# left double quotation mark (U+201C) and right double quotation mark (U+201D).
++#
++# When output to an UTF-8 terminal, the quotation characters appear perfectly.
++# When output to an ISO-8859-1 terminal, the single quotation marks are
++# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
++# grave/acute accent (by libiconv), and the double quotation marks are
++# transliterated to 0x22.
++# When output to an ASCII terminal, the single quotation marks are
++# transliterated to apostrophes, and the double quotation marks are
++# transliterated to 0x22.
++#
++# This catalog furthermore displays the text between the quotation marks in
++# bold face, assuming the VT100/XTerm escape sequences.
++#
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/en@boldquot.header~ psmisc-20.2.works.clean/po/en@boldquot.header~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/en@quot.header psmisc-20.2.works.clean/po/en@quot.header
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/en@quot.header 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/en@quot.header 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,22 @@
++# All this catalog "translates" are quotation characters.
++# The msgids must be ASCII and therefore cannot contain real quotation
++# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
++# and double quote (0x22). These substitutes look strange; see
++# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
++#
++# This catalog translates grave accent (0x60) and apostrophe (0x27) to
++# left single quotation mark (U+2018) and right single quotation mark (U+2019).
++# It also translates pairs of apostrophe (0x27) to
++# left single quotation mark (U+2018) and right single quotation mark (U+2019)
++# and pairs of quotation mark (0x22) to
++# left double quotation mark (U+201C) and right double quotation mark (U+201D).
++#
++# When output to an UTF-8 terminal, the quotation characters appear perfectly.
++# When output to an ISO-8859-1 terminal, the single quotation marks are
++# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
++# grave/acute accent (by libiconv), and the double quotation marks are
++# transliterated to 0x22.
++# When output to an ASCII terminal, the single quotation marks are
++# transliterated to apostrophes, and the double quotation marks are
++# transliterated to 0x22.
++#
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/en@quot.header~ psmisc-20.2.works.clean/po/en@quot.header~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/insert-header.sin psmisc-20.2.works.clean/po/insert-header.sin
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/insert-header.sin 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/insert-header.sin 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,23 @@
++# Sed script that inserts the file called HEADER before the header entry.
++#
++# At each occurrence of a line starting with "msgid ", we execute the following
++# commands. At the first occurrence, insert the file. At the following
++# occurrences, do nothing. The distinction between the first and the following
++# occurrences is achieved by looking at the hold space.
++/^msgid /{
++x
++# Test if the hold space is empty.
++s/m/m/
++ta
++# Yes it was empty. First occurrence. Read the file.
++r HEADER
++# Output the file's contents by reading the next line. But don't lose the
++# current line while doing this.
++g
++N
++bb
++:a
++# The hold space was nonempty. Following occurrences. Do nothing.
++x
++:b
++}
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/insert-header.sin~ psmisc-20.2.works.clean/po/insert-header.sin~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/quot.sed psmisc-20.2.works.clean/po/quot.sed
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/quot.sed 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/quot.sed 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,6 @@
++s/"\([^"]*\)"/“\1â€/g
++s/`\([^`']*\)'/‘\1’/g
++s/ '\([^`']*\)' / ‘\1’ /g
++s/ '\([^`']*\)'$/ ‘\1’/g
++s/^'\([^`']*\)' /‘\1’ /g
++s/“â€/""/g
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/quot.sed~ psmisc-20.2.works.clean/po/quot.sed~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/remove-potcdate.sin psmisc-20.2.works.clean/po/remove-potcdate.sin
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/remove-potcdate.sin 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/remove-potcdate.sin 2004-10-13 15:18:42.000000000 -0500
+@@ -0,0 +1,19 @@
++# Sed script that remove the POT-Creation-Date line in the header entry
++# from a POT file.
++#
++# The distinction between the first and the following occurrences of the
++# pattern is achieved by looking at the hold space.
++/^"POT-Creation-Date: .*"$/{
++x
++# Test if the hold space is empty.
++s/P/P/
++ta
++# Yes it was empty. First occurrence. Remove the line.
++g
++d
++bb
++:a
++# The hold space was nonempty. Following occurrences. Do nothing.
++x
++:b
++}
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/remove-potcdate.sin~ psmisc-20.2.works.clean/po/remove-potcdate.sin~
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/po/stamp-po psmisc-20.2.works.clean/po/stamp-po
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/po/stamp-po 1969-12-31 18:00:00.000000000 -0600
++++ psmisc-20.2.works.clean/po/stamp-po 2004-10-13 15:11:01.000000000 -0500
+@@ -0,0 +1 @@
++timestamp
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/src/Makefile.am psmisc-20.2.works.clean/src/Makefile.am
+--- tmp/work/psmisc-20.2-r0/psmisc-20.2/src/Makefile.am 2001-06-15 07:17:55.000000000 -0500
++++ psmisc-20.2.works.clean/src/Makefile.am 2004-10-13 15:11:01.000000000 -0500
+@@ -1,5 +1,7 @@
+
+ CFLAGS = -Wall -DLOCALEDIR=\"/usr/share/locale\"
++INCLUDES = -I$(top_srcdir)/intl
++LDADD = @LIBINTL@
+
+ bin_PROGRAMS = fuser killall pstree
+
+diff -urNd -urNd tmp/work/psmisc-20.2-r0/psmisc-20.2/src/Makefile.in psmisc-20.2.works.clean/src/Makefile.in
diff --git a/meta/packages/psmisc/psmisc_20.2.bb b/meta/packages/psmisc/psmisc_20.2.bb
new file mode 100644
index 0000000000..0f742b8ef5
--- /dev/null
+++ b/meta/packages/psmisc/psmisc_20.2.bb
@@ -0,0 +1,43 @@
+LICENSE = "GPL"
+DESCRIPTION = "procfs tools"
+SECTION = "base"
+PRIORITY = "required"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "ncurses"
+PR = "r3"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/psmisc/psmisc-${PV}.tar.gz \
+ file://gettext.patch;patch=1"
+S = "${WORKDIR}/psmisc-${PV}"
+
+inherit autotools gettext
+
+ALLOW_EMPTY = "1"
+
+PACKAGES = "${PN} fuser fuser-doc \
+ killall killall-doc \
+ pstree pstree-doc"
+
+FILES_${PN} = ""
+RDEPENDS_${PN} = "fuser killall pstree"
+
+FILES_fuser = "${bindir}/fuser"
+FILES_fuser-doc = "${mandir}/man1/fuser*"
+
+FILES_killall = "${bindir}/killall.${PN}"
+FILES_killall-doc = "${mandir}/man1/killall*"
+
+FILES_pstree = "${bindir}/pstree"
+FILES_pstree-doc = "${mandir}/man1/pstree*"
+
+do_install_append() {
+ mv ${D}${bindir}/killall ${D}${bindir}/killall.${PN}
+}
+
+pkg_postinst_killall() {
+ update-alternatives --install ${bindir}/killall killall killall.${PN} 90
+}
+
+pkg_postrm_killall() {
+ update-alternatives --remove ${bindir}/killall killall.${PN}
+}
diff --git a/meta/packages/puzzles/puzzles/game.png b/meta/packages/puzzles/puzzles/game.png
new file mode 100644
index 0000000000..9b74f9fce1
--- /dev/null
+++ b/meta/packages/puzzles/puzzles/game.png
Binary files differ
diff --git a/meta/packages/puzzles/puzzles_r6727.bb b/meta/packages/puzzles/puzzles_r6727.bb
new file mode 100644
index 0000000000..c3725ac8f7
--- /dev/null
+++ b/meta/packages/puzzles/puzzles_r6727.bb
@@ -0,0 +1,45 @@
+
+DEPENDS = "gtk+"
+PR = "r2"
+
+SRC_URI = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.tar.gz \
+ file://game.png"
+
+do_compile_prepend = " \
+ export XLDFLAGS='${LDFLAGS} `${STAGING_BINDIR}/pkg-config gtk+-2.0 --libs`'; \
+ export CFLAGS='${CFLAGS} -I./ `${STAGING_BINDIR}/pkg-config gtk+-2.0 --cflags`'; "
+
+FILES_${PN} = "${prefix}/games/* ${datadir}/applications/* ${datadir}/pixmaps"
+
+do_install () {
+ export prefix=${D}
+ export DESTDIR=${D}
+ install -d ${D}/${prefix}
+ install -d ${D}/${prefix}/games
+ oe_runmake install
+
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps
+
+ install ${WORKDIR}/game.png ${D}/${datadir}/pixmaps
+
+ cd ${D}/${prefix}/games
+ for prog in *; do
+ if [ -x $prog ]; then
+ echo "making ${D}/${datadir}/applications/$prog.desktop"
+ cat <<STOP > ${D}/${datadir}/applications/$prog.desktop
+[Desktop Entry]
+Encoding=UTF-8
+Name=$prog
+Exec=${prefix}/games/$prog
+Icon=game.png
+Terminal=false
+Type=Application
+Categories=Game
+StartupNotify=true
+SingleInstance=true
+STOP
+ fi
+ done
+}
diff --git a/meta/packages/qemu/files/configure.patch b/meta/packages/qemu/files/configure.patch
new file mode 100644
index 0000000000..ea83f8cd6d
--- /dev/null
+++ b/meta/packages/qemu/files/configure.patch
@@ -0,0 +1,13 @@
+Index: qemu/configure
+===================================================================
+--- qemu.orig/configure 2006-02-09 17:58:47.000000000 +0000
++++ qemu/configure 2006-02-21 17:47:31.000000000 +0000
+@@ -482,7 +482,7 @@
+ fi
+ echo "HOST_CC=$host_cc" >> $config_mak
+ echo "AR=$ar" >> $config_mak
+-echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
++echo "STRIP=$strip" >> $config_mak
+ echo "CFLAGS=$CFLAGS" >> $config_mak
+ echo "LDFLAGS=$LDFLAGS" >> $config_mak
+ echo "EXESUF=$EXESUF" >> $config_mak
diff --git a/meta/packages/qemu/files/mouse_fix-r0.patch b/meta/packages/qemu/files/mouse_fix-r0.patch
new file mode 100644
index 0000000000..8cc19f0392
--- /dev/null
+++ b/meta/packages/qemu/files/mouse_fix-r0.patch
@@ -0,0 +1,25 @@
+If the cursor is hidden (SDL_ShowCursor(0)) and the input is grabbed
+(SDL_WM_GrabInput(SDL_GRAB_ON)), then the mouse will give relative motion
+events even when the cursor reaches the edge fo the screen. This is currently
+only implemented on Windows and Linux/Unix-a-likes.
+
+Index: qemu/sdl.c
+===================================================================
+--- qemu.orig/sdl.c 2006-04-13 12:22:22.000000000 +0100
++++ qemu/sdl.c 2006-05-25 00:28:25.000000000 +0100
+@@ -280,13 +280,13 @@
+
+ static void sdl_hide_cursor(void)
+ {
+- SDL_SetCursor(sdl_cursor_hidden);
++ SDL_ShowCursor(0);
+ }
+
+ static void sdl_show_cursor(void)
+ {
+ if (!kbd_mouse_is_absolute()) {
+- SDL_SetCursor(sdl_cursor_normal);
++ SDL_ShowCursor(1);
+ }
+ }
+
diff --git a/meta/packages/qemu/files/nodocs_cvs.patch b/meta/packages/qemu/files/nodocs_cvs.patch
new file mode 100644
index 0000000000..b52d860fb0
--- /dev/null
+++ b/meta/packages/qemu/files/nodocs_cvs.patch
@@ -0,0 +1,44 @@
+Index: qemu/Makefile
+===================================================================
+--- qemu.orig/Makefile 2006-04-18 11:11:37.000000000 +0100
++++ qemu/Makefile 2006-04-18 11:14:34.000000000 +0100
+@@ -11,7 +11,7 @@
+ ifdef CONFIG_STATIC
+ LDFLAGS+=-static
+ endif
+-DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1
++DOCS=
+
+ all: dyngen$(EXESUF) $(TOOLS) $(DOCS)
+ for d in $(TARGET_DIRS); do \
+@@ -51,11 +51,11 @@
+ video.x proll.elf linux_boot.bin; do \
+ $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
+ done
+- mkdir -p "$(DESTDIR)$(docdir)"
+- $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
++# mkdir -p "$(DESTDIR)$(docdir)"
++# $(INSTALL) -m 644 qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
+ ifndef CONFIG_WIN32
+- mkdir -p "$(DESTDIR)$(mandir)/man1"
+- $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
++# mkdir -p "$(DESTDIR)$(mandir)/man1"
++# $(INSTALL) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
+ mkdir -p "$(DESTDIR)$(datadir)/keymaps"
+ for x in $(KEYMAPS); do \
+ $(INSTALL) -m 644 $(SRC_PATH)/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \
+@@ -122,10 +122,10 @@
+ $(datadir)/ppc_rom.bin \
+ $(datadir)/video.x \
+ $(datadir)/proll.elf \
+- $(datadir)/linux_boot.bin \
+- $(docdir)/qemu-doc.html \
+- $(docdir)/qemu-tech.html \
+- $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
++ $(datadir)/linux_boot.bin
++# $(docdir)/qemu-doc.html \
++# $(docdir)/qemu-tech.html \
++# $(mandir)/man1/qemu.1 $(mandir)/man1/qemu-img.1 )
+
+ ifneq ($(wildcard .depend),)
+ include .depend
diff --git a/meta/packages/qemu/files/pl110_rgb-r0.patch b/meta/packages/qemu/files/pl110_rgb-r0.patch
new file mode 100644
index 0000000000..09e5898d3a
--- /dev/null
+++ b/meta/packages/qemu/files/pl110_rgb-r0.patch
@@ -0,0 +1,219 @@
+Index: qemu/hw/pl110.c
+===================================================================
+--- qemu.orig/hw/pl110.c 2006-04-11 21:49:46.000000000 +0100
++++ qemu/hw/pl110.c 2006-05-24 22:53:00.000000000 +0100
+@@ -10,6 +10,7 @@
+ #include "vl.h"
+
+ #define PL110_CR_EN 0x001
++#define PL110_CR_BGR 0x100
+ #define PL110_CR_BEBO 0x200
+ #define PL110_CR_BEPO 0x400
+ #define PL110_CR_PWR 0x800
+@@ -115,6 +116,7 @@
+ int first, last = 0;
+ int dirty, new_dirty;
+ int i;
++ int bpp_offset;
+
+ if (!pl110_enabled(s))
+ return;
+@@ -146,12 +148,17 @@
+ fprintf(stderr, "pl110: Bad color depth\n");
+ exit(1);
+ }
++ if (s->cr & PL110_CR_BGR)
++ bpp_offset = 0;
++ else
++ bpp_offset = 18;
++
+ if (s->cr & PL110_CR_BEBO)
+- fn = fntable[s->bpp + 6];
++ fn = fntable[s->bpp + 6 + bpp_offset];
+ else if (s->cr & PL110_CR_BEPO)
+- fn = fntable[s->bpp + 12];
++ fn = fntable[s->bpp + 12 + bpp_offset];
+ else
+- fn = fntable[s->bpp];
++ fn = fntable[s->bpp + bpp_offset];
+
+ src_width = s->cols;
+ switch (s->bpp) {
+Index: qemu/hw/pl110_template.h
+===================================================================
+--- qemu.orig/hw/pl110_template.h 2006-02-19 12:31:32.000000000 +0000
++++ qemu/hw/pl110_template.h 2006-05-24 23:04:03.000000000 +0100
+@@ -24,6 +24,16 @@
+ #error unknown bit depth
+ #endif
+
++#undef RGB
++#define BORDER bgr
++#define ORDER 0
++#include "pl110_template.h"
++#define ORDER 1
++#include "pl110_template.h"
++#define ORDER 2
++#include "pl110_template.h"
++#define RGB
++#define BORDER rgb
+ #define ORDER 0
+ #include "pl110_template.h"
+ #define ORDER 1
+@@ -33,26 +43,47 @@
+
+ static drawfn glue(pl110_draw_fn_,BITS)[18] =
+ {
+- glue(pl110_draw_line1_lblp,BITS),
+- glue(pl110_draw_line2_lblp,BITS),
+- glue(pl110_draw_line4_lblp,BITS),
+- glue(pl110_draw_line8_lblp,BITS),
+- glue(pl110_draw_line16_lblp,BITS),
+- glue(pl110_draw_line32_lblp,BITS),
+-
+- glue(pl110_draw_line1_bbbp,BITS),
+- glue(pl110_draw_line2_bbbp,BITS),
+- glue(pl110_draw_line4_bbbp,BITS),
+- glue(pl110_draw_line8_bbbp,BITS),
+- glue(pl110_draw_line16_bbbp,BITS),
+- glue(pl110_draw_line32_bbbp,BITS),
+-
+- glue(pl110_draw_line1_lbbp,BITS),
+- glue(pl110_draw_line2_lbbp,BITS),
+- glue(pl110_draw_line4_lbbp,BITS),
+- glue(pl110_draw_line8_lbbp,BITS),
+- glue(pl110_draw_line16_lbbp,BITS),
+- glue(pl110_draw_line32_lbbp,BITS)
++ glue(pl110_draw_line1_lblp_bgr,BITS),
++ glue(pl110_draw_line2_lblp_bgr,BITS),
++ glue(pl110_draw_line4_lblp_bgr,BITS),
++ glue(pl110_draw_line8_lblp_bgr,BITS),
++ glue(pl110_draw_line16_lblp_bgr,BITS),
++ glue(pl110_draw_line32_lblp_bgr,BITS),
++
++ glue(pl110_draw_line1_bbbp_bgr,BITS),
++ glue(pl110_draw_line2_bbbp_bgr,BITS),
++ glue(pl110_draw_line4_bbbp_bgr,BITS),
++ glue(pl110_draw_line8_bbbp_bgr,BITS),
++ glue(pl110_draw_line16_bbbp_bgr,BITS),
++ glue(pl110_draw_line32_bbbp_bgr,BITS),
++
++ glue(pl110_draw_line1_lbbp_bgr,BITS),
++ glue(pl110_draw_line2_lbbp_bgr,BITS),
++ glue(pl110_draw_line4_lbbp_bgr,BITS),
++ glue(pl110_draw_line8_lbbp_bgr,BITS),
++ glue(pl110_draw_line16_lbbp_bgr,BITS),
++ glue(pl110_draw_line32_lbbp_bgr,BITS),
++
++ glue(pl110_draw_line1_lblp_rgb,BITS),
++ glue(pl110_draw_line2_lblp_rgb,BITS),
++ glue(pl110_draw_line4_lblp_rgb,BITS),
++ glue(pl110_draw_line8_lblp_rgb,BITS),
++ glue(pl110_draw_line16_lblp_rgb,BITS),
++ glue(pl110_draw_line32_lblp_rgb,BITS),
++
++ glue(pl110_draw_line1_bbbp_rgb,BITS),
++ glue(pl110_draw_line2_bbbp_rgb,BITS),
++ glue(pl110_draw_line4_bbbp_rgb,BITS),
++ glue(pl110_draw_line8_bbbp_rgb,BITS),
++ glue(pl110_draw_line16_bbbp_rgb,BITS),
++ glue(pl110_draw_line32_bbbp_rgb,BITS),
++
++ glue(pl110_draw_line1_lbbp_rgb,BITS),
++ glue(pl110_draw_line2_lbbp_rgb,BITS),
++ glue(pl110_draw_line4_lbbp_rgb,BITS),
++ glue(pl110_draw_line8_lbbp_rgb,BITS),
++ glue(pl110_draw_line16_lbbp_rgb,BITS),
++ glue(pl110_draw_line32_lbbp_rgb,BITS),
+ };
+
+ #undef BITS
+@@ -61,18 +92,18 @@
+ #else
+
+ #if ORDER == 0
+-#define NAME glue(lblp, BITS)
++#define NAME glue(glue(lblp_, BORDER), BITS)
+ #ifdef WORDS_BIGENDIAN
+ #define SWAP_WORDS 1
+ #endif
+ #elif ORDER == 1
+-#define NAME glue(bbbp, BITS)
++#define NAME glue(glue(bbbp_, BORDER), BITS)
+ #ifndef WORDS_BIGENDIAN
+ #define SWAP_WORDS 1
+ #endif
+ #else
+ #define SWAP_PIXELS 1
+-#define NAME glue(lbbp, BITS)
++#define NAME glue(glue(lbbp_, BORDER), BITS)
+ #ifdef WORDS_BIGENDIAN
+ #define SWAP_WORDS 1
+ #endif
+@@ -195,27 +226,34 @@
+ #ifdef SWAP_WORDS
+ data = bswap32(data);
+ #endif
++#ifdef RGB
++#define LSB r
++#define MSB b
++#else
++#define LSB b
++#define MSB r
++#endif
+ #if 0
+- r = data & 0x1f;
++ LSB = data & 0x1f;
+ data >>= 5;
+ g = data & 0x3f;
+ data >>= 6;
+- b = data & 0x1f;
++ MSB = data & 0x1f;
+ data >>= 5;
+ #else
+- r = (data & 0x1f) << 3;
++ LSB = (data & 0x1f) << 3;
+ data >>= 5;
+ g = (data & 0x3f) << 2;
+ data >>= 6;
+- b = (data & 0x1f) << 3;
++ MSB = (data & 0x1f) << 3;
+ data >>= 5;
+ #endif
+ COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+- r = (data & 0x1f) << 3;
++ LSB = (data & 0x1f) << 3;
+ data >>= 5;
+ g = (data & 0x3f) << 2;
+ data >>= 6;
+- b = (data & 0x1f) << 3;
++ MSB = (data & 0x1f) << 3;
+ data >>= 5;
+ COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ width -= 2;
+@@ -229,14 +267,21 @@
+ unsigned int r, g, b;
+ while (width > 0) {
+ data = *(uint32_t *)src;
++#ifdef RGB
++#define LSB r
++#define MSB b
++#else
++#define LSB b
++#define MSB r
++#endif
+ #ifdef SWAP_WORDS
+- r = data & 0xff;
++ LSB = data & 0xff;
+ g = (data >> 8) & 0xff;
+- b = (data >> 16) & 0xff;
++ MSB = (data >> 16) & 0xff;
+ #else
+- r = (data >> 24) & 0xff;
++ LSB = (data >> 24) & 0xff;
+ g = (data >> 16) & 0xff;
+- b = (data >> 8) & 0xff;
++ MSB = (data >> 8) & 0xff;
+ #endif
+ COPY_PIXEL(d, glue(rgb_to_pixel,BITS)(r, g, b));
+ width--;
diff --git a/meta/packages/qemu/qemu-native_cvs.bb b/meta/packages/qemu/qemu-native_cvs.bb
new file mode 100644
index 0000000000..976d2d664f
--- /dev/null
+++ b/meta/packages/qemu/qemu-native_cvs.bb
@@ -0,0 +1,14 @@
+include qemu_cvs.bb
+inherit native
+prefix = "${STAGING_DIR}/${BUILD_SYS}"
+
+python __anonymous() {
+ from bb import which, data
+
+ path = data.getVar('PATH', d)
+ if len(which(path, 'gcc-3.4')) != 0:
+ data.setVar('EXTRA_OECONF', " --cc=gcc-3.4", d)
+ elif len(which(path, 'gcc-3.3')) != 0:
+ data.setVar('EXTRA_OECONF', " --cc=gcc-3.3", d)
+
+}
diff --git a/meta/packages/qemu/qemu_cvs.bb b/meta/packages/qemu/qemu_cvs.bb
new file mode 100644
index 0000000000..5697e69578
--- /dev/null
+++ b/meta/packages/qemu/qemu_cvs.bb
@@ -0,0 +1,13 @@
+LICENSE = "GPL"
+PV = "0.8.0+cvs${SRCDATE}"
+PR = "r1"
+
+SRC_URI = "cvs://anonymous@cvs.savannah.nongnu.org/sources/qemu;method=pserver;rsh=ssh;module=qemu \
+ file://configure.patch;patch=1 \
+ file://mouse_fix-r0.patch;patch=1 \
+ file://pl110_rgb-r0.patch;patch=1"
+
+S = "${WORKDIR}/qemu"
+
+inherit autotools
+
diff --git a/meta/packages/quilt/files/install.patch b/meta/packages/quilt/files/install.patch
new file mode 100644
index 0000000000..4122370d6a
--- /dev/null
+++ b/meta/packages/quilt/files/install.patch
@@ -0,0 +1,19 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- quilt-0.32/Makefile.in~install
++++ quilt-0.32/Makefile.in
+@@ -9,9 +9,9 @@
+ libdir := @libdir@
+ datadir := @datadir@
+ docdir := @docdir@
+-mandir := $(datadir)/man
++mandir := @mandir@
+ localedir := $(datadir)/locale
+-etcdir := $(subst /usr/etc,/etc,$(prefix)/etc)
++etcdir := @sysconfdir@
+
+ QUILT_DIR = $(datadir)/$(PACKAGE)
+ SCRIPTS_DIR = $(QUILT_DIR)/scripts
diff --git a/meta/packages/quilt/files/non-gnu.patch b/meta/packages/quilt/files/non-gnu.patch
new file mode 100644
index 0000000000..8b07bc2923
--- /dev/null
+++ b/meta/packages/quilt/files/non-gnu.patch
@@ -0,0 +1,13 @@
+Index: quilt/Makefile.in
+===================================================================
+--- quilt.orig/Makefile.in
++++ quilt/Makefile.in
+@@ -216,7 +216,7 @@
+ -e 's:@LOCALEDIR''@:$(localedir):g' \
+ -e 's:@DOCSUBDIR''@:$(docdir)/$(PACKAGE)-$(VERSION):g' \
+ $< > $@
+- @chmod --reference=$< $@
++ @chmod `stat -f "%p" $<` $@
+
+ Makefile : Makefile.in
+ @echo "Please run ./configure by hand"
diff --git a/meta/packages/quilt/files/nostrip.patch b/meta/packages/quilt/files/nostrip.patch
new file mode 100644
index 0000000000..4dedad96d4
--- /dev/null
+++ b/meta/packages/quilt/files/nostrip.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- quilt-0.32/Makefile.in~nostrip
++++ quilt-0.32/Makefile.in
+@@ -240,7 +240,7 @@
+ @INSTALL@ -m 644 scripts/patchfns $(BUILD_ROOT)$(SCRIPTS_DIR)
+
+ @INSTALL@ -d $(BUILD_ROOT)$(LIB_DIR)
+- @INSTALL@ -m 755 -s $(LIB:%=lib/%) $(BUILD_ROOT)$(LIB_DIR)/
++ @INSTALL@ -m 755 $(LIB:%=lib/%) $(BUILD_ROOT)$(LIB_DIR)/
+
+ @INSTALL@ -d $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
+ @INSTALL@ -m 644 doc/README \
diff --git a/meta/packages/quilt/quilt-native_0.42.bb b/meta/packages/quilt/quilt-native_0.42.bb
new file mode 100644
index 0000000000..d9bdc0e00c
--- /dev/null
+++ b/meta/packages/quilt/quilt-native_0.42.bb
@@ -0,0 +1,14 @@
+include quilt.inc
+RDEPENDS_${PN} = "diffstat-native patch-native bzip2-native"
+
+INHIBIT_AUTOTOOLS_DEPS = "1"
+
+inherit autotools native
+
+PATCHCLEANCMD = ""
+PATCHCMD = "num='%s'; name='%s'; file='%s'; patch -p "$num" -i "$file""
+EXTRA_OECONF = "--disable-nls"
+
+do_configure () {
+ oe_runconf
+}
diff --git a/meta/packages/quilt/quilt-package.inc b/meta/packages/quilt/quilt-package.inc
new file mode 100644
index 0000000000..bcdbcf026a
--- /dev/null
+++ b/meta/packages/quilt/quilt-package.inc
@@ -0,0 +1,10 @@
+PACKAGES += "guards guards-doc"
+FILES_${PN} = "${sysconfdir} ${datadir}/quilt \
+ ${bindir}/quilt ${libdir}/quilt"
+FILES_guards = "${bindir}/guards"
+FILES_${PN}-doc = "${mandir}/man1/quilt.1 ${docdir}/${P}"
+FILES_guards-doc = "${mandir}/man1/guards.1"
+
+do_install () {
+ oe_runmake 'BUILD_ROOT=${D}' install
+}
diff --git a/meta/packages/quilt/quilt.inc b/meta/packages/quilt/quilt.inc
new file mode 100644
index 0000000000..cd5e85c3d8
--- /dev/null
+++ b/meta/packages/quilt/quilt.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Tool to work with series of patches."
+HOMEPAGE = "http://savannah.nongnu.org/projects/quilt/"
+SECTION = "devel"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+LICENSE = "GPL"
+
+SRC_URI = "http://download.savannah.gnu.org/releases/quilt/quilt-${PV}.tar.gz \
+ file://install.patch;patch=1 \
+ file://nostrip.patch;patch=1"
+
+SRC_URI_append_build-darwin = " file://non-gnu.patch;patch=1 "
+
+S = "${WORKDIR}/quilt-${PV}"
diff --git a/meta/packages/quilt/quilt_0.42.bb b/meta/packages/quilt/quilt_0.42.bb
new file mode 100644
index 0000000000..51bfa7a469
--- /dev/null
+++ b/meta/packages/quilt/quilt_0.42.bb
@@ -0,0 +1,7 @@
+RDEPENDS_${PN} += "patch diffstat bzip2"
+
+include quilt.inc
+
+inherit autotools gettext
+
+include quilt-package.inc
diff --git a/meta/packages/randrext/randrext_1.0.bb b/meta/packages/randrext/randrext_1.0.bb
new file mode 100644
index 0000000000..4a8607c691
--- /dev/null
+++ b/meta/packages/randrext/randrext_1.0.bb
@@ -0,0 +1,16 @@
+SECTION = "libs"
+LICENSE= "BSD-X"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "X Resize and Rotate extension headers"
+
+SRC_URI = "${XLIBS_MIRROR}/randrext-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/randrext/randrext_cvs.bb b/meta/packages/randrext/randrext_cvs.bb
new file mode 100644
index 0000000000..a16139b539
--- /dev/null
+++ b/meta/packages/randrext/randrext_cvs.bb
@@ -0,0 +1,18 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "BSD-X"
+SECTION = "libs"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "X Resize and Rotate extension headers"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Randr"
+S = "${WORKDIR}/Randr"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/readline/readline-4.3/acinclude.m4 b/meta/packages/readline/readline-4.3/acinclude.m4
new file mode 100644
index 0000000000..8a45f99084
--- /dev/null
+++ b/meta/packages/readline/readline-4.3/acinclude.m4
@@ -0,0 +1,1815 @@
+dnl
+dnl Bash specific tests
+dnl
+dnl Some derived from PDKSH 5.1.3 autoconf tests
+dnl
+
+AC_DEFUN([BASH_C_LONG_LONG],
+[AC_CACHE_CHECK(for long long, ac_cv_c_long_long,
+[if test "$GCC" = yes; then
+ ac_cv_c_long_long=yes
+else
+AC_TRY_RUN([
+int
+main()
+{
+long long foo = 0;
+exit(sizeof(long long) < sizeof(long));
+}
+], ac_cv_c_long_long=yes, ac_cv_c_long_long=no)
+fi])
+if test $ac_cv_c_long_long = yes; then
+ AC_DEFINE(HAVE_LONG_LONG, 1, [Define if the `long long' type works.])
+fi
+])
+
+dnl
+dnl This is very similar to AC_C_LONG_DOUBLE, with the fix for IRIX
+dnl (< changed to <=) added.
+dnl
+AC_DEFUN([BASH_C_LONG_DOUBLE],
+[AC_CACHE_CHECK(for long double, ac_cv_c_long_double,
+[if test "$GCC" = yes; then
+ ac_cv_c_long_double=yes
+else
+AC_TRY_RUN([
+int
+main()
+{
+ /* The Stardent Vistra knows sizeof(long double), but does not
+ support it. */
+ long double foo = 0.0;
+ /* On Ultrix 4.3 cc, long double is 4 and double is 8. */
+ /* On IRIX 5.3, the compiler converts long double to double with a warning,
+ but compiles this successfully. */
+ exit(sizeof(long double) <= sizeof(double));
+}
+], ac_cv_c_long_double=yes, ac_cv_c_long_double=no)
+fi])
+if test $ac_cv_c_long_double = yes; then
+ AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if the `long double' type works.])
+fi
+])
+
+dnl
+dnl Check for <inttypes.h>. This is separated out so that it can be
+dnl AC_REQUIREd.
+dnl
+dnl BASH_HEADER_INTTYPES
+AC_DEFUN([BASH_HEADER_INTTYPES],
+[
+ AC_CHECK_HEADERS(inttypes.h)
+])
+
+dnl
+dnl check for typedef'd symbols in header files, but allow the caller to
+dnl specify the include files to be checked in addition to the default
+dnl
+dnl BASH_CHECK_TYPE(TYPE, HEADERS, DEFAULT[, VALUE-IF-FOUND])
+AC_DEFUN([BASH_CHECK_TYPE],
+[
+AC_REQUIRE([AC_HEADER_STDC])dnl
+AC_REQUIRE([BASH_HEADER_INTTYPES])
+AC_MSG_CHECKING(for $1)
+AC_CACHE_VAL(bash_cv_type_$1,
+[AC_EGREP_CPP($1, [#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#if HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+$2
+], bash_cv_type_$1=yes, bash_cv_type_$1=no)])
+AC_MSG_RESULT($bash_cv_type_$1)
+ifelse($#, 4, [if test $bash_cv_type_$1 = yes; then
+ AC_DEFINE($4)
+ fi])
+if test $bash_cv_type_$1 = no; then
+ AC_DEFINE_UNQUOTED($1, $3)
+fi
+])
+
+dnl
+dnl BASH_CHECK_DECL(FUNC)
+dnl
+dnl Check for a declaration of FUNC in stdlib.h and inttypes.h like
+dnl AC_CHECK_DECL
+dnl
+AC_DEFUN([BASH_CHECK_DECL],
+[
+AC_REQUIRE([AC_HEADER_STDC])
+AC_REQUIRE([BASH_HEADER_INTTYPES])
+AC_CACHE_CHECK([for declaration of $1], bash_cv_decl_$1,
+[AC_TRY_LINK(
+[
+#if STDC_HEADERS
+# include <stdlib.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+],
+[return !$1;],
+bash_cv_decl_$1=yes, bash_cv_decl_$1=no)])
+bash_tr_func=HAVE_DECL_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+if test $bash_cv_decl_$1 = yes; then
+ AC_DEFINE_UNQUOTED($bash_tr_func, 1)
+else
+ AC_DEFINE_UNQUOTED($bash_tr_func, 0)
+fi
+])
+
+AC_DEFUN([BASH_DECL_PRINTF],
+[AC_MSG_CHECKING(for declaration of printf in <stdio.h>)
+AC_CACHE_VAL(bash_cv_printf_declared,
+[AC_TRY_RUN([
+#include <stdio.h>
+#ifdef __STDC__
+typedef int (*_bashfunc)(const char *, ...);
+#else
+typedef int (*_bashfunc)();
+#endif
+main()
+{
+_bashfunc pf;
+pf = (_bashfunc) printf;
+exit(pf == 0);
+}
+], bash_cv_printf_declared=yes, bash_cv_printf_declared=no,
+ [AC_MSG_WARN(cannot check printf declaration if cross compiling -- defaulting to yes)
+ bash_cv_printf_declared=yes]
+)])
+AC_MSG_RESULT($bash_cv_printf_declared)
+if test $bash_cv_printf_declared = yes; then
+AC_DEFINE(PRINTF_DECLARED)
+fi
+])
+
+AC_DEFUN([BASH_DECL_SBRK],
+[AC_MSG_CHECKING(for declaration of sbrk in <unistd.h>)
+AC_CACHE_VAL(bash_cv_sbrk_declared,
+[AC_EGREP_HEADER(sbrk, unistd.h,
+ bash_cv_sbrk_declared=yes, bash_cv_sbrk_declared=no)])
+AC_MSG_RESULT($bash_cv_sbrk_declared)
+if test $bash_cv_sbrk_declared = yes; then
+AC_DEFINE(SBRK_DECLARED)
+fi
+])
+
+dnl
+dnl Check for sys_siglist[] or _sys_siglist[]
+dnl
+AC_DEFUN([BASH_DECL_UNDER_SYS_SIGLIST],
+[AC_MSG_CHECKING([for _sys_siglist in signal.h or unistd.h])
+AC_CACHE_VAL(bash_cv_decl_under_sys_siglist,
+[AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif], [ char *msg = _sys_siglist[2]; ],
+ bash_cv_decl_under_sys_siglist=yes, bash_cv_decl_under_sys_siglist=no,
+ [AC_MSG_WARN(cannot check for _sys_siglist[] if cross compiling -- defaulting to no)])])dnl
+AC_MSG_RESULT($bash_cv_decl_under_sys_siglist)
+if test $bash_cv_decl_under_sys_siglist = yes; then
+AC_DEFINE(UNDER_SYS_SIGLIST_DECLARED)
+fi
+])
+
+AC_DEFUN([BASH_UNDER_SYS_SIGLIST],
+[AC_REQUIRE([BASH_DECL_UNDER_SYS_SIGLIST])
+AC_MSG_CHECKING([for _sys_siglist in system C library])
+AC_CACHE_VAL(bash_cv_under_sys_siglist,
+[AC_TRY_RUN([
+#include <sys/types.h>
+#include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifndef UNDER_SYS_SIGLIST_DECLARED
+extern char *_sys_siglist[];
+#endif
+main()
+{
+char *msg = (char *)_sys_siglist[2];
+exit(msg == 0);
+}],
+ bash_cv_under_sys_siglist=yes, bash_cv_under_sys_siglist=no,
+ [AC_MSG_WARN(cannot check for _sys_siglist[] if cross compiling -- defaulting to no)
+ bash_cv_under_sys_siglist=no])])
+AC_MSG_RESULT($bash_cv_under_sys_siglist)
+if test $bash_cv_under_sys_siglist = yes; then
+AC_DEFINE(HAVE_UNDER_SYS_SIGLIST)
+fi
+])
+
+AC_DEFUN([BASH_SYS_SIGLIST],
+[
+AC_CHECK_DECLS([sys_siglist])
+AC_MSG_CHECKING([for sys_siglist in system C library])
+AC_CACHE_VAL(bash_cv_sys_siglist,
+[AC_TRY_RUN([
+#include <sys/types.h>
+#include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifndef HAVE_DECL_SYS_SIGLIST
+extern char *sys_siglist[];
+#endif
+main()
+{
+char *msg = sys_siglist[2];
+exit(msg == 0);
+}],
+ bash_cv_sys_siglist=yes, bash_cv_sys_siglist=no,
+ [AC_MSG_WARN(cannot check for sys_siglist if cross compiling -- defaulting to no)
+ bash_cv_sys_siglist=no])])
+AC_MSG_RESULT($bash_cv_sys_siglist)
+if test $bash_cv_sys_siglist = yes; then
+AC_DEFINE(HAVE_SYS_SIGLIST)
+fi
+])
+
+dnl Check for the various permutations of sys_siglist and make sure we
+dnl compile in siglist.o if they're not defined
+AC_DEFUN([BASH_CHECK_SYS_SIGLIST], [
+AC_REQUIRE([BASH_SYS_SIGLIST])
+AC_REQUIRE([BASH_DECL_UNDER_SYS_SIGLIST])
+AC_REQUIRE([BASH_FUNC_STRSIGNAL])
+if test "$bash_cv_sys_siglist" = no && test "$bash_cv_under_sys_siglist" = no && test "$bash_cv_have_strsignal" = no; then
+ SIGLIST_O=siglist.o
+else
+ SIGLIST_O=
+fi
+AC_SUBST([SIGLIST_O])
+])
+
+dnl Check for sys_errlist[] and sys_nerr, check for declaration
+AC_DEFUN([BASH_SYS_ERRLIST],
+[AC_MSG_CHECKING([for sys_errlist and sys_nerr])
+AC_CACHE_VAL(bash_cv_sys_errlist,
+[AC_TRY_LINK([#include <errno.h>],
+[extern char *sys_errlist[];
+ extern int sys_nerr;
+ char *msg = sys_errlist[sys_nerr - 1];],
+ bash_cv_sys_errlist=yes, bash_cv_sys_errlist=no)])dnl
+AC_MSG_RESULT($bash_cv_sys_errlist)
+if test $bash_cv_sys_errlist = yes; then
+AC_DEFINE(HAVE_SYS_ERRLIST)
+fi
+])
+
+dnl
+dnl Check if dup2() does not clear the close on exec flag
+dnl
+AC_DEFUN([BASH_FUNC_DUP2_CLOEXEC_CHECK],
+[AC_MSG_CHECKING(if dup2 fails to clear the close-on-exec flag)
+AC_CACHE_VAL(bash_cv_dup2_broken,
+[AC_TRY_RUN([
+#include <sys/types.h>
+#include <fcntl.h>
+main()
+{
+ int fd1, fd2, fl;
+ fd1 = open("/dev/null", 2);
+ if (fcntl(fd1, 2, 1) < 0)
+ exit(1);
+ fd2 = dup2(fd1, 1);
+ if (fd2 < 0)
+ exit(2);
+ fl = fcntl(fd2, 1, 0);
+ /* fl will be 1 if dup2 did not reset the close-on-exec flag. */
+ exit(fl != 1);
+}
+], bash_cv_dup2_broken=yes, bash_cv_dup2_broken=no,
+ [AC_MSG_WARN(cannot check dup2 if cross compiling -- defaulting to no)
+ bash_cv_dup2_broken=no])
+])
+AC_MSG_RESULT($bash_cv_dup2_broken)
+if test $bash_cv_dup2_broken = yes; then
+AC_DEFINE(DUP2_BROKEN)
+fi
+])
+
+AC_DEFUN([BASH_FUNC_STRSIGNAL],
+[AC_MSG_CHECKING([for the existence of strsignal])
+AC_CACHE_VAL(bash_cv_have_strsignal,
+[AC_TRY_LINK([#include <sys/types.h>
+#include <signal.h>],
+[char *s = (char *)strsignal(2);],
+ bash_cv_have_strsignal=yes, bash_cv_have_strsignal=no)])
+AC_MSG_RESULT($bash_cv_have_strsignal)
+if test $bash_cv_have_strsignal = yes; then
+AC_DEFINE(HAVE_STRSIGNAL)
+fi
+])
+
+dnl Check to see if opendir will open non-directories (not a nice thing)
+AC_DEFUN([BASH_FUNC_OPENDIR_CHECK],
+[AC_REQUIRE([AC_HEADER_DIRENT])dnl
+AC_MSG_CHECKING(if opendir() opens non-directories)
+AC_CACHE_VAL(bash_cv_opendir_not_robust,
+[AC_TRY_RUN([
+#include <stdio.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if defined(HAVE_DIRENT_H)
+# include <dirent.h>
+#else
+# define dirent direct
+# ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif /* SYSNDIR */
+# ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif /* SYSDIR */
+# ifdef HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif /* HAVE_DIRENT_H */
+main()
+{
+DIR *dir;
+int fd, err;
+err = mkdir("/tmp/bash-aclocal", 0700);
+if (err < 0) {
+ perror("mkdir");
+ exit(1);
+}
+unlink("/tmp/bash-aclocal/not_a_directory");
+fd = open("/tmp/bash-aclocal/not_a_directory", O_WRONLY|O_CREAT|O_EXCL, 0666);
+write(fd, "\n", 1);
+close(fd);
+dir = opendir("/tmp/bash-aclocal/not_a_directory");
+unlink("/tmp/bash-aclocal/not_a_directory");
+rmdir("/tmp/bash-aclocal");
+exit (dir == 0);
+}], bash_cv_opendir_not_robust=yes,bash_cv_opendir_not_robust=no,
+ [AC_MSG_WARN(cannot check opendir if cross compiling -- defaulting to no)
+ bash_cv_opendir_not_robust=no]
+)])
+AC_MSG_RESULT($bash_cv_opendir_not_robust)
+if test $bash_cv_opendir_not_robust = yes; then
+AC_DEFINE(OPENDIR_NOT_ROBUST)
+fi
+])
+
+dnl
+AH_TEMPLATE([VOID_SIGHANDLER], [Define if signal handlers return type void])
+AC_DEFUN([BASH_TYPE_SIGHANDLER],
+[AC_MSG_CHECKING([whether signal handlers are of type void])
+AC_CACHE_VAL(bash_cv_void_sighandler,
+[AC_TRY_COMPILE([#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+#undef signal
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+void (*signal ()) ();],
+[int i;], bash_cv_void_sighandler=yes, bash_cv_void_sighandler=no)])dnl
+AC_MSG_RESULT($bash_cv_void_sighandler)
+if test $bash_cv_void_sighandler = yes; then
+AC_DEFINE(VOID_SIGHANDLER)
+fi
+])
+
+dnl
+dnl A signed 16-bit integer quantity
+dnl
+AC_DEFUN([BASH_TYPE_BITS16_T],
+[
+if test "$ac_cv_sizeof_short" = 2; then
+ AC_CHECK_TYPE(bits16_t, short)
+elif test "$ac_cv_sizeof_char" = 2; then
+ AC_CHECK_TYPE(bits16_t, char)
+else
+ AC_CHECK_TYPE(bits16_t, short)
+fi
+])
+
+dnl
+dnl An unsigned 16-bit integer quantity
+dnl
+AC_DEFUN([BASH_TYPE_U_BITS16_T],
+[
+if test "$ac_cv_sizeof_short" = 2; then
+ AC_CHECK_TYPE(u_bits16_t, unsigned short)
+elif test "$ac_cv_sizeof_char" = 2; then
+ AC_CHECK_TYPE(u_bits16_t, unsigned char)
+else
+ AC_CHECK_TYPE(u_bits16_t, unsigned short)
+fi
+])
+
+dnl
+dnl A signed 32-bit integer quantity
+dnl
+AC_DEFUN([BASH_TYPE_BITS32_T],
+[
+if test "$ac_cv_sizeof_int" = 4; then
+ AC_CHECK_TYPE(bits32_t, int)
+elif test "$ac_cv_sizeof_long" = 4; then
+ AC_CHECK_TYPE(bits32_t, long)
+else
+ AC_CHECK_TYPE(bits32_t, int)
+fi
+])
+
+dnl
+dnl An unsigned 32-bit integer quantity
+dnl
+AC_DEFUN([BASH_TYPE_U_BITS32_T],
+[
+if test "$ac_cv_sizeof_int" = 4; then
+ AC_CHECK_TYPE(u_bits32_t, unsigned int)
+elif test "$ac_cv_sizeof_long" = 4; then
+ AC_CHECK_TYPE(u_bits32_t, unsigned long)
+else
+ AC_CHECK_TYPE(u_bits32_t, unsigned int)
+fi
+])
+
+AC_DEFUN([BASH_TYPE_PTRDIFF_T],
+[
+if test "$ac_cv_sizeof_int" = "$ac_cv_sizeof_char_p"; then
+ AC_CHECK_TYPE(ptrdiff_t, int)
+elif test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_char_p"; then
+ AC_CHECK_TYPE(ptrdiff_t, long)
+elif test "$ac_cv_type_long_long" = yes && test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_char_p"; then
+ AC_CHECK_TYPE(ptrdiff_t, [long long])
+else
+ AC_CHECK_TYPE(ptrdiff_t, int)
+fi
+])
+
+dnl
+dnl A signed 64-bit quantity
+dnl
+AC_DEFUN([BASH_TYPE_BITS64_T],
+[
+if test "$ac_cv_sizeof_char_p" = 8; then
+ AC_CHECK_TYPE(bits64_t, char *)
+elif test "$ac_cv_sizeof_double" = 8; then
+ AC_CHECK_TYPE(bits64_t, double)
+elif test -n "$ac_cv_type_long_long" && test "$ac_cv_sizeof_long_long" = 8; then
+ AC_CHECK_TYPE(bits64_t, [long long])
+elif test "$ac_cv_sizeof_long" = 8; then
+ AC_CHECK_TYPE(bits64_t, long)
+else
+ AC_CHECK_TYPE(bits64_t, double)
+fi
+])
+
+AC_DEFUN([BASH_TYPE_LONG_LONG],
+[
+AC_CACHE_CHECK([for long long], bash_cv_type_long_long,
+[AC_TRY_LINK([
+long long ll = 1; int i = 63;],
+[
+long long llm = (long long) -1;
+return ll << i | ll >> i | llm / ll | llm % ll;
+], bash_cv_type_long_long='long long', bash_cv_type_long_long='long')])
+if test "$bash_cv_type_long_long" = 'long long'; then
+ AC_DEFINE(HAVE_LONG_LONG, 1)
+fi
+])
+
+AC_DEFUN([BASH_TYPE_UNSIGNED_LONG_LONG],
+[
+AC_CACHE_CHECK([for unsigned long long], bash_cv_type_unsigned_long_long,
+[AC_TRY_LINK([
+unsigned long long ull = 1; int i = 63;],
+[
+unsigned long long ullmax = (unsigned long long) -1;
+return ull << i | ull >> i | ullmax / ull | ullmax % ull;
+], bash_cv_type_unsigned_long_long='unsigned long long',
+ bash_cv_type_unsigned_long_long='unsigned long')])
+if test "$bash_cv_type_unsigned_long_long" = 'unsigned long long'; then
+ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1)
+fi
+])
+
+dnl
+dnl Type of struct rlimit fields: some systems (OSF/1, NetBSD, RISC/os 5.0)
+dnl have a rlim_t, others (4.4BSD based systems) use quad_t, others use
+dnl long and still others use int (HP-UX 9.01, SunOS 4.1.3). To simplify
+dnl matters, this just checks for rlim_t, quad_t, or long.
+dnl
+AC_DEFUN([BASH_TYPE_RLIMIT],
+[AC_MSG_CHECKING(for size and type of struct rlimit fields)
+AC_CACHE_VAL(bash_cv_type_rlimit,
+[AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/resource.h>],
+[rlim_t xxx;], bash_cv_type_rlimit=rlim_t,[
+AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+main()
+{
+#ifdef HAVE_QUAD_T
+ struct rlimit rl;
+ if (sizeof(rl.rlim_cur) == sizeof(quad_t))
+ exit(0);
+#endif
+ exit(1);
+}], bash_cv_type_rlimit=quad_t, bash_cv_type_rlimit=long,
+ [AC_MSG_WARN(cannot check quad_t if cross compiling -- defaulting to long)
+ bash_cv_type_rlimit=long])])
+])
+AC_MSG_RESULT($bash_cv_type_rlimit)
+if test $bash_cv_type_rlimit = quad_t; then
+AC_DEFINE(RLIMTYPE, quad_t)
+elif test $bash_cv_type_rlimit = rlim_t; then
+AC_DEFINE(RLIMTYPE, rlim_t)
+fi
+])
+
+AC_DEFUN([BASH_FUNC_LSTAT],
+[dnl Cannot use AC_CHECK_FUNCS(lstat) because Linux defines lstat() as an
+dnl inline function in <sys/stat.h>.
+AC_CACHE_CHECK([for lstat], bash_cv_func_lstat,
+[AC_TRY_LINK([
+#include <sys/types.h>
+#include <sys/stat.h>
+],[ lstat(".",(struct stat *)0); ],
+bash_cv_func_lstat=yes, bash_cv_func_lstat=no)])
+if test $bash_cv_func_lstat = yes; then
+ AC_DEFINE(HAVE_LSTAT)
+fi
+])
+
+AC_DEFUN([BASH_FUNC_INET_ATON],
+[
+AC_CACHE_CHECK([for inet_aton], bash_cv_func_inet_aton,
+[AC_TRY_LINK([
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+struct in_addr ap;], [ inet_aton("127.0.0.1", &ap); ],
+bash_cv_func_inet_aton=yes, bash_cv_func_inet_aton=no)])
+if test $bash_cv_func_inet_aton = yes; then
+ AC_DEFINE(HAVE_INET_ATON)
+else
+ AC_LIBOBJ(inet_aton)
+fi
+])
+
+AC_DEFUN([BASH_FUNC_GETENV],
+[AC_MSG_CHECKING(to see if getenv can be redefined)
+AC_CACHE_VAL(bash_cv_getenv_redef,
+[AC_TRY_RUN([
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifndef __STDC__
+# ifndef const
+# define const
+# endif
+#endif
+char *
+getenv (name)
+#if defined (__linux__) || defined (__bsdi__) || defined (convex)
+ const char *name;
+#else
+ char const *name;
+#endif /* !__linux__ && !__bsdi__ && !convex */
+{
+return "42";
+}
+main()
+{
+char *s;
+/* The next allows this program to run, but does not allow bash to link
+ when it redefines getenv. I'm not really interested in figuring out
+ why not. */
+#if defined (NeXT)
+exit(1);
+#endif
+s = getenv("ABCDE");
+exit(s == 0); /* force optimizer to leave getenv in */
+}
+], bash_cv_getenv_redef=yes, bash_cv_getenv_redef=no,
+ [AC_MSG_WARN(cannot check getenv redefinition if cross compiling -- defaulting to yes)
+ bash_cv_getenv_redef=yes]
+)])
+AC_MSG_RESULT($bash_cv_getenv_redef)
+if test $bash_cv_getenv_redef = yes; then
+AC_DEFINE(CAN_REDEFINE_GETENV)
+fi
+])
+
+# We should check for putenv before calling this
+AC_DEFUN([BASH_FUNC_STD_PUTENV],
+[
+AC_REQUIRE([AC_HEADER_STDC])
+AC_REQUIRE([AC_C_PROTOTYPES])
+AC_CACHE_CHECK([for standard-conformant putenv declaration], bash_cv_std_putenv,
+[AC_TRY_LINK([
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#ifndef __STDC__
+# ifndef const
+# define const
+# endif
+#endif
+#ifdef PROTOTYPES
+extern int putenv (char *);
+#else
+extern int putenv ();
+#endif
+],
+[return (putenv == 0);],
+bash_cv_std_putenv=yes, bash_cv_std_putenv=no
+)])
+if test $bash_cv_std_putenv = yes; then
+AC_DEFINE(HAVE_STD_PUTENV)
+fi
+])
+
+# We should check for unsetenv before calling this
+AC_DEFUN([BASH_FUNC_STD_UNSETENV],
+[
+AC_REQUIRE([AC_HEADER_STDC])
+AC_REQUIRE([AC_C_PROTOTYPES])
+AC_CACHE_CHECK([for standard-conformant unsetenv declaration], bash_cv_std_unsetenv,
+[AC_TRY_LINK([
+#if STDC_HEADERS
+#include <stdlib.h>
+#include <stddef.h>
+#endif
+#ifndef __STDC__
+# ifndef const
+# define const
+# endif
+#endif
+#ifdef PROTOTYPES
+extern int unsetenv (const char *);
+#else
+extern int unsetenv ();
+#endif
+],
+[return (unsetenv == 0);],
+bash_cv_std_unsetenv=yes, bash_cv_std_unsetenv=no
+)])
+if test $bash_cv_std_unsetenv = yes; then
+AC_DEFINE(HAVE_STD_UNSETENV)
+fi
+])
+
+AC_DEFUN([BASH_FUNC_ULIMIT_MAXFDS],
+[AC_MSG_CHECKING(whether ulimit can substitute for getdtablesize)
+AC_CACHE_VAL(bash_cv_ulimit_maxfds,
+[AC_TRY_RUN([
+main()
+{
+long maxfds = ulimit(4, 0L);
+exit (maxfds == -1L);
+}
+], bash_cv_ulimit_maxfds=yes, bash_cv_ulimit_maxfds=no,
+ [AC_MSG_WARN(cannot check ulimit if cross compiling -- defaulting to no)
+ bash_cv_ulimit_maxfds=no]
+)])
+AC_MSG_RESULT($bash_cv_ulimit_maxfds)
+if test $bash_cv_ulimit_maxfds = yes; then
+AC_DEFINE(ULIMIT_MAXFDS)
+fi
+])
+
+AC_DEFUN([BASH_FUNC_GETCWD],
+[AC_MSG_CHECKING([if getcwd() calls popen()])
+AC_CACHE_VAL(bash_cv_getcwd_calls_popen,
+[AC_TRY_RUN([
+#include <stdio.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifndef __STDC__
+#ifndef const
+#define const
+#endif
+#endif
+
+int popen_called;
+
+FILE *
+popen(command, type)
+ const char *command;
+ const char *type;
+{
+ popen_called = 1;
+ return (FILE *)NULL;
+}
+
+FILE *_popen(command, type)
+ const char *command;
+ const char *type;
+{
+ return (popen (command, type));
+}
+
+int
+pclose(stream)
+FILE *stream;
+{
+ return 0;
+}
+
+int
+_pclose(stream)
+FILE *stream;
+{
+ return 0;
+}
+
+main()
+{
+ char lbuf[32];
+ popen_called = 0;
+ getcwd(lbuf, 32);
+ exit (popen_called);
+}
+], bash_cv_getcwd_calls_popen=no, bash_cv_getcwd_calls_popen=yes,
+ [AC_MSG_WARN(cannot check whether getcwd calls popen if cross compiling -- defaulting to no)
+ bash_cv_getcwd_calls_popen=no]
+)])
+AC_MSG_RESULT($bash_cv_getcwd_calls_popen)
+if test $bash_cv_getcwd_calls_popen = yes; then
+AC_DEFINE(GETCWD_BROKEN)
+AC_LIBOBJ(getcwd)
+fi
+])
+
+dnl
+dnl This needs BASH_CHECK_SOCKLIB, but since that's not called on every
+dnl system, we can't use AC_PREREQ
+dnl
+AC_DEFUN([BASH_FUNC_GETHOSTBYNAME],
+[if test "X$bash_cv_have_gethostbyname" = "X"; then
+_bash_needmsg=yes
+else
+AC_MSG_CHECKING(for gethostbyname in socket library)
+_bash_needmsg=
+fi
+AC_CACHE_VAL(bash_cv_have_gethostbyname,
+[AC_TRY_LINK([#include <netdb.h>],
+[ struct hostent *hp;
+ hp = gethostbyname("localhost");
+], bash_cv_have_gethostbyname=yes, bash_cv_have_gethostbyname=no)]
+)
+if test "X$_bash_needmsg" = Xyes; then
+ AC_MSG_CHECKING(for gethostbyname in socket library)
+fi
+AC_MSG_RESULT($bash_cv_have_gethostbyname)
+if test "$bash_cv_have_gethostbyname" = yes; then
+AC_DEFINE(HAVE_GETHOSTBYNAME)
+fi
+])
+
+AC_DEFUN([BASH_FUNC_FNMATCH_EXTMATCH],
+[AC_MSG_CHECKING(if fnmatch does extended pattern matching with FNM_EXTMATCH)
+AC_CACHE_VAL(bash_cv_fnm_extmatch,
+[AC_TRY_RUN([
+#include <fnmatch.h>
+
+main()
+{
+#ifdef FNM_EXTMATCH
+ exit (0);
+#else
+ exit (1);
+#endif
+}
+], bash_cv_fnm_extmatch=yes, bash_cv_fnm_extmatch=no,
+ [AC_MSG_WARN(cannot check FNM_EXTMATCH if cross compiling -- defaulting to no)
+ bash_cv_fnm_extmatch=no])
+])
+AC_MSG_RESULT($bash_cv_fnm_extmatch)
+if test $bash_cv_fnm_extmatch = yes; then
+AC_DEFINE(HAVE_LIBC_FNM_EXTMATCH)
+fi
+])
+
+AH_TEMPLATE([HAVE_POSIX_SIGSETJMP], [Define if we POSIX-style sigsetjmp/siglongjmp are available])
+AC_DEFUN([BASH_FUNC_POSIX_SETJMP],
+[AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
+AC_MSG_CHECKING(for presence of POSIX-style sigsetjmp/siglongjmp)
+AC_CACHE_VAL(bash_cv_func_sigsetjmp,
+[AC_TRY_RUN([
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <sys/types.h>
+#include <signal.h>
+#include <setjmp.h>
+
+main()
+{
+#if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS)
+exit (1);
+#else
+
+int code;
+sigset_t set, oset;
+sigjmp_buf xx;
+
+/* get the mask */
+sigemptyset(&set);
+sigemptyset(&oset);
+sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &set);
+sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &oset);
+
+/* save it */
+code = sigsetjmp(xx, 1);
+if (code)
+ exit(0); /* could get sigmask and compare to oset here. */
+
+/* change it */
+sigaddset(&set, SIGINT);
+sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL);
+
+/* and siglongjmp */
+siglongjmp(xx, 10);
+exit(1);
+#endif
+}], bash_cv_func_sigsetjmp=present, bash_cv_func_sigsetjmp=missing,
+ [AC_MSG_WARN(cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing)
+ bash_cv_func_sigsetjmp=missing]
+)])
+AC_MSG_RESULT($bash_cv_func_sigsetjmp)
+if test $bash_cv_func_sigsetjmp = present; then
+AC_DEFINE(HAVE_POSIX_SIGSETJMP)
+fi
+])
+
+AH_TEMPLATE([STRCOLL_BROKEN], [Define if strcoll is broken with respect to strcmp in the default locale.])
+AC_DEFUN([BASH_FUNC_STRCOLL],
+[
+AC_MSG_CHECKING(whether or not strcoll and strcmp differ)
+AC_CACHE_VAL(bash_cv_func_strcoll_broken,
+[AC_TRY_RUN([
+#include <stdio.h>
+#if defined (HAVE_LOCALE_H)
+#include <locale.h>
+#endif
+
+main(c, v)
+int c;
+char *v[];
+{
+ int r1, r2;
+ char *deflocale, *defcoll;
+
+#ifdef HAVE_SETLOCALE
+ deflocale = setlocale(LC_ALL, "");
+ defcoll = setlocale(LC_COLLATE, "");
+#endif
+
+#ifdef HAVE_STRCOLL
+ /* These two values are taken from tests/glob-test. */
+ r1 = strcoll("abd", "aXd");
+#else
+ r1 = 0;
+#endif
+ r2 = strcmp("abd", "aXd");
+
+ /* These two should both be greater than 0. It is permissible for
+ a system to return different values, as long as the sign is the
+ same. */
+
+ /* Exit with 1 (failure) if these two values are both > 0, since
+ this tests whether strcoll(3) is broken with respect to strcmp(3)
+ in the default locale. */
+ exit (r1 > 0 && r2 > 0);
+}
+], bash_cv_func_strcoll_broken=yes, bash_cv_func_strcoll_broken=no,
+ [AC_MSG_WARN(cannot check strcoll if cross compiling -- defaulting to no)
+ bash_cv_func_strcoll_broken=no]
+)])
+AC_MSG_RESULT($bash_cv_func_strcoll_broken)
+if test $bash_cv_func_strcoll_broken = yes; then
+AC_DEFINE(STRCOLL_BROKEN)
+fi
+])
+
+AC_DEFUN([BASH_FUNC_PRINTF_A_FORMAT],
+[AC_MSG_CHECKING([for printf floating point output in hex notation])
+AC_CACHE_VAL(bash_cv_printf_a_format,
+[AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+
+int
+main()
+{
+ double y = 0.0;
+ char abuf[1024];
+
+ sprintf(abuf, "%A", y);
+ exit(strchr(abuf, 'P') == (char *)0);
+}
+], bash_cv_printf_a_format=yes, bash_cv_printf_a_format=no,
+ [AC_MSG_WARN(cannot check printf if cross compiling -- defaulting to no)
+ bash_cv_printf_a_format=no]
+)])
+AC_MSG_RESULT($bash_cv_printf_a_format)
+if test $bash_cv_printf_a_format = yes; then
+AC_DEFINE(HAVE_PRINTF_A_FORMAT)
+fi
+])
+
+AC_DEFUN([BASH_STRUCT_TERMIOS_LDISC],
+[
+AC_CHECK_MEMBER(struct termios.c_line, AC_DEFINE(TERMIOS_LDISC), ,[
+#include <sys/types.h>
+#include <termios.h>
+])
+])
+
+AC_DEFUN([BASH_STRUCT_TERMIO_LDISC],
+[
+AC_CHECK_MEMBER(struct termio.c_line, AC_DEFINE(TERMIO_LDISC), ,[
+#include <sys/types.h>
+#include <termio.h>
+])
+])
+
+dnl
+dnl Like AC_STRUCT_ST_BLOCKS, but doesn't muck with LIBOBJS
+dnl
+dnl sets bash_cv_struct_stat_st_blocks
+dnl
+dnl unused for now; we'll see how AC_CHECK_MEMBERS works
+dnl
+AC_DEFUN([BASH_STRUCT_ST_BLOCKS],
+[
+AC_MSG_CHECKING([for struct stat.st_blocks])
+AC_CACHE_VAL(bash_cv_struct_stat_st_blocks,
+[AC_TRY_COMPILE(
+[
+#include <sys/types.h>
+#include <sys/stat.h>
+],
+[
+main()
+{
+static struct stat a;
+if (a.st_blocks) return 0;
+return 0;
+}
+], bash_cv_struct_stat_st_blocks=yes, bash_cv_struct_stat_st_blocks=no)
+])
+AC_MSG_RESULT($bash_cv_struct_stat_st_blocks)
+if test "$bash_cv_struct_stat_st_blocks" = "yes"; then
+AC_DEFINE(HAVE_STRUCT_STAT_ST_BLOCKS)
+fi
+])
+
+AC_DEFUN([BASH_CHECK_LIB_TERMCAP],
+[
+if test "X$bash_cv_termcap_lib" = "X"; then
+_bash_needmsg=yes
+else
+AC_MSG_CHECKING(which library has the termcap functions)
+_bash_needmsg=
+fi
+AC_CACHE_VAL(bash_cv_termcap_lib,
+[AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap,
+ [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo,
+ [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses,
+ [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses,
+ bash_cv_termcap_lib=gnutermcap)])])])])
+if test "X$_bash_needmsg" = "Xyes"; then
+AC_MSG_CHECKING(which library has the termcap functions)
+fi
+AC_MSG_RESULT(using $bash_cv_termcap_lib)
+if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
+LDFLAGS="$LDFLAGS -L./lib/termcap"
+TERMCAP_LIB="./lib/termcap/libtermcap.a"
+TERMCAP_DEP="./lib/termcap/libtermcap.a"
+elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
+TERMCAP_LIB=-ltermcap
+TERMCAP_DEP=
+elif test $bash_cv_termcap_lib = libtinfo; then
+TERMCAP_LIB=-ltinfo
+TERMCAP_DEP=
+elif test $bash_cv_termcap_lib = libncurses; then
+TERMCAP_LIB=-lncurses
+TERMCAP_DEP=
+else
+TERMCAP_LIB=-lcurses
+TERMCAP_DEP=
+fi
+])
+
+dnl
+dnl Check for the presence of getpeername in libsocket.
+dnl If libsocket is present, check for libnsl and add it to LIBS if
+dnl it's there, since most systems with libsocket require linking
+dnl with libnsl as well. This should only be called if getpeername
+dnl was not found in libc.
+dnl
+dnl NOTE: IF WE FIND GETPEERNAME, WE ASSUME THAT WE HAVE BIND/CONNECT
+dnl AS WELL
+dnl
+AC_DEFUN([BASH_CHECK_LIB_SOCKET],
+[
+if test "X$bash_cv_have_socklib" = "X"; then
+_bash_needmsg=
+else
+AC_MSG_CHECKING(for socket library)
+_bash_needmsg=yes
+fi
+AC_CACHE_VAL(bash_cv_have_socklib,
+[AC_CHECK_LIB(socket, getpeername,
+ bash_cv_have_socklib=yes, bash_cv_have_socklib=no, -lnsl)])
+if test "X$_bash_needmsg" = Xyes; then
+ AC_MSG_RESULT($bash_cv_have_socklib)
+ _bash_needmsg=
+fi
+if test $bash_cv_have_socklib = yes; then
+ # check for libnsl, add it to LIBS if present
+ if test "X$bash_cv_have_libnsl" = "X"; then
+ _bash_needmsg=
+ else
+ AC_MSG_CHECKING(for libnsl)
+ _bash_needmsg=yes
+ fi
+ AC_CACHE_VAL(bash_cv_have_libnsl,
+ [AC_CHECK_LIB(nsl, t_open,
+ bash_cv_have_libnsl=yes, bash_cv_have_libnsl=no)])
+ if test "X$_bash_needmsg" = Xyes; then
+ AC_MSG_RESULT($bash_cv_have_libnsl)
+ _bash_needmsg=
+ fi
+ if test $bash_cv_have_libnsl = yes; then
+ LIBS="-lsocket -lnsl $LIBS"
+ else
+ LIBS="-lsocket $LIBS"
+ fi
+ AC_DEFINE(HAVE_LIBSOCKET)
+ AC_DEFINE(HAVE_GETPEERNAME)
+fi
+])
+
+AH_TEMPLATE([STRUCT_DIRENT_HAS_D_INO], [Define if struct dirent has a d_ino member])
+AC_DEFUN([BASH_STRUCT_DIRENT_D_INO],
+[AC_REQUIRE([AC_HEADER_DIRENT])
+AC_MSG_CHECKING(if struct dirent has a d_ino member)
+AC_CACHE_VAL(bash_cv_dirent_has_dino,
+[AC_TRY_COMPILE([
+#include <stdio.h>
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if defined(HAVE_DIRENT_H)
+# include <dirent.h>
+#else
+# define dirent direct
+# ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif /* SYSNDIR */
+# ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif /* SYSDIR */
+# ifdef HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif /* HAVE_DIRENT_H */
+],[
+struct dirent d; int z; z = d.d_ino;
+], bash_cv_dirent_has_dino=yes, bash_cv_dirent_has_dino=no)])
+AC_MSG_RESULT($bash_cv_dirent_has_dino)
+if test $bash_cv_dirent_has_dino = yes; then
+AC_DEFINE(STRUCT_DIRENT_HAS_D_INO)
+fi
+])
+
+AH_TEMPLATE([STRUCT_DIRENT_HAS_D_FILENO], [Define if struct dirent has a d_fileno member])
+AC_DEFUN([BASH_STRUCT_DIRENT_D_FILENO],
+[AC_REQUIRE([AC_HEADER_DIRENT])
+AC_MSG_CHECKING(if struct dirent has a d_fileno member)
+AC_CACHE_VAL(bash_cv_dirent_has_d_fileno,
+[AC_TRY_COMPILE([
+#include <stdio.h>
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif /* HAVE_UNISTD_H */
+#if defined(HAVE_DIRENT_H)
+# include <dirent.h>
+#else
+# define dirent direct
+# ifdef HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif /* SYSNDIR */
+# ifdef HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif /* SYSDIR */
+# ifdef HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif /* HAVE_DIRENT_H */
+],[
+struct dirent d; int z; z = d.d_fileno;
+], bash_cv_dirent_has_d_fileno=yes, bash_cv_dirent_has_d_fileno=no)])
+AC_MSG_RESULT($bash_cv_dirent_has_d_fileno)
+if test $bash_cv_dirent_has_d_fileno = yes; then
+AC_DEFINE(STRUCT_DIRENT_HAS_D_FILENO)
+fi
+])
+
+AC_DEFUN([BASH_STRUCT_TIMEVAL],
+[AC_MSG_CHECKING(for struct timeval in sys/time.h and time.h)
+AC_CACHE_VAL(bash_cv_struct_timeval,
+[
+AC_EGREP_HEADER(struct timeval, sys/time.h,
+ bash_cv_struct_timeval=yes,
+ AC_EGREP_HEADER(struct timeval, time.h,
+ bash_cv_struct_timeval=yes,
+ bash_cv_struct_timeval=no))
+])
+AC_MSG_RESULT($bash_cv_struct_timeval)
+if test $bash_cv_struct_timeval = yes; then
+ AC_DEFINE(HAVE_TIMEVAL)
+fi
+])
+
+AH_TEMPLATE([STRUCT_WINSIZE_IN_SYS_IOCTL], [Define if struct winsize is in sys/ioctl.h])
+AH_TEMPLATE([STRUCT_WINSIZE_IN_TERMIOS], [Define if struct winsize is in termios.h])
+AC_DEFUN([BASH_STRUCT_WINSIZE],
+[AC_MSG_CHECKING(for struct winsize in sys/ioctl.h and termios.h)
+AC_CACHE_VAL(bash_cv_struct_winsize_header,
+[AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/ioctl.h>], [struct winsize x;],
+ bash_cv_struct_winsize_header=ioctl_h,
+ [AC_TRY_COMPILE([#include <sys/types.h>
+#include <termios.h>], [struct winsize x;],
+ bash_cv_struct_winsize_header=termios_h, bash_cv_struct_winsize_header=other)
+])])
+if test $bash_cv_struct_winsize_header = ioctl_h; then
+ AC_MSG_RESULT(sys/ioctl.h)
+ AC_DEFINE(STRUCT_WINSIZE_IN_SYS_IOCTL)
+elif test $bash_cv_struct_winsize_header = termios_h; then
+ AC_MSG_RESULT(termios.h)
+ AC_DEFINE(STRUCT_WINSIZE_IN_TERMIOS)
+else
+ AC_MSG_RESULT(not found)
+fi
+])
+
+dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
+AH_TEMPLATE([HAVE_POSIX_SIGNALS], [Define if we have the POSIX signal routines])
+AH_TEMPLATE([HAVE_BSD_SIGNALS], [Define if we have the BSD signal routines])
+AH_TEMPLATE([HAVE_USG_SIGHOLD], [Define if we have the USG signal routines])
+AC_DEFUN([BASH_SYS_SIGNAL_VINTAGE],
+[AC_REQUIRE([AC_TYPE_SIGNAL])
+AC_MSG_CHECKING(for type of signal functions)
+AC_CACHE_VAL(bash_cv_signal_vintage,
+[
+ AC_MSG_WARN([checking for posix...])
+ AC_TRY_LINK([#include <signal.h>],[
+ sigset_t ss;
+ struct sigaction sa;
+ sigemptyset(&ss); sigsuspend(&ss);
+ sigaction(SIGINT, &sa, (struct sigaction *) 0);
+ sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
+ ], bash_cv_signal_vintage="posix",
+ [
+ AC_MSG_WARN([checking for 4.2bsd...])
+ AC_TRY_LINK([#include <signal.h>], [
+ int mask = sigmask(SIGINT);
+ sigsetmask(mask); sigblock(mask); sigpause(mask);
+ ], bash_cv_signal_vintage="4.2bsd",
+ [
+ AC_MSG_WARN([checking for svr3...])
+ AC_TRY_LINK([
+ #include <signal.h>
+ RETSIGTYPE foo() { }], [
+ int mask = sigmask(SIGINT);
+ sigset(SIGINT, foo); sigrelse(SIGINT);
+ sighold(SIGINT); sigpause(SIGINT);
+ ], bash_cv_signal_vintage="svr3", bash_cv_signal_vintage="v7"
+ )]
+ )]
+)
+])
+AC_MSG_RESULT($bash_cv_signal_vintage)
+if test "$bash_cv_signal_vintage" = "posix"; then
+AC_DEFINE(HAVE_POSIX_SIGNALS)
+elif test "$bash_cv_signal_vintage" = "4.2bsd"; then
+AC_DEFINE(HAVE_BSD_SIGNALS)
+elif test "$bash_cv_signal_vintage" = "svr3"; then
+AC_DEFINE(HAVE_USG_SIGHOLD)
+fi
+])
+
+dnl Check if the pgrp of setpgrp() can't be the pid of a zombie process.
+AC_DEFUN([BASH_SYS_PGRP_SYNC],
+[AC_REQUIRE([AC_FUNC_GETPGRP])
+AC_MSG_CHECKING(whether pgrps need synchronization)
+AC_CACHE_VAL(bash_cv_pgrp_pipe,
+[AC_TRY_RUN([
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+main()
+{
+# ifdef GETPGRP_VOID
+# define getpgID() getpgrp()
+# else
+# define getpgID() getpgrp(0)
+# define setpgid(x,y) setpgrp(x,y)
+# endif
+ int pid1, pid2, fds[2];
+ int status;
+ char ok;
+
+ switch (pid1 = fork()) {
+ case -1:
+ exit(1);
+ case 0:
+ setpgid(0, getpid());
+ exit(0);
+ }
+ setpgid(pid1, pid1);
+
+ sleep(2); /* let first child die */
+
+ if (pipe(fds) < 0)
+ exit(2);
+
+ switch (pid2 = fork()) {
+ case -1:
+ exit(3);
+ case 0:
+ setpgid(0, pid1);
+ ok = getpgID() == pid1;
+ write(fds[1], &ok, 1);
+ exit(0);
+ }
+ setpgid(pid2, pid1);
+
+ close(fds[1]);
+ if (read(fds[0], &ok, 1) != 1)
+ exit(4);
+ wait(&status);
+ wait(&status);
+ exit(ok ? 0 : 5);
+}
+], bash_cv_pgrp_pipe=no,bash_cv_pgrp_pipe=yes,
+ [AC_MSG_WARN(cannot check pgrp synchronization if cross compiling -- defaulting to no)
+ bash_cv_pgrp_pipe=no])
+])
+AC_MSG_RESULT($bash_cv_pgrp_pipe)
+if test $bash_cv_pgrp_pipe = yes; then
+AC_DEFINE(PGRP_PIPE)
+fi
+])
+
+AH_TEMPLATE([MUST_REINSTALL_SIGHANDLERS], [Define if signal handlers must be reinstalled when invoked.])
+AC_DEFUN([BASH_SYS_REINSTALL_SIGHANDLERS],
+[AC_REQUIRE([AC_TYPE_SIGNAL])
+AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
+AC_MSG_CHECKING([if signal handlers must be reinstalled when invoked])
+AC_CACHE_VAL(bash_cv_must_reinstall_sighandlers,
+[AC_TRY_RUN([
+#include <signal.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+typedef RETSIGTYPE sigfunc();
+
+int nsigint;
+
+#ifdef HAVE_POSIX_SIGNALS
+sigfunc *
+set_signal_handler(sig, handler)
+ int sig;
+ sigfunc *handler;
+{
+ struct sigaction act, oact;
+ act.sa_handler = handler;
+ act.sa_flags = 0;
+ sigemptyset (&act.sa_mask);
+ sigemptyset (&oact.sa_mask);
+ sigaction (sig, &act, &oact);
+ return (oact.sa_handler);
+}
+#else
+#define set_signal_handler(s, h) signal(s, h)
+#endif
+
+RETSIGTYPE
+sigint(s)
+int s;
+{
+ nsigint++;
+}
+
+main()
+{
+ nsigint = 0;
+ set_signal_handler(SIGINT, sigint);
+ kill((int)getpid(), SIGINT);
+ kill((int)getpid(), SIGINT);
+ exit(nsigint != 2);
+}
+], bash_cv_must_reinstall_sighandlers=no, bash_cv_must_reinstall_sighandlers=yes,
+ [AC_MSG_WARN(cannot check signal handling if cross compiling -- defaulting to no)
+ bash_cv_must_reinstall_sighandlers=no]
+)])
+AC_MSG_RESULT($bash_cv_must_reinstall_sighandlers)
+if test $bash_cv_must_reinstall_sighandlers = yes; then
+AC_DEFINE(MUST_REINSTALL_SIGHANDLERS)
+fi
+])
+
+dnl check that some necessary job control definitions are present
+AC_DEFUN([BASH_SYS_JOB_CONTROL_MISSING],
+[AC_REQUIRE([BASH_SYS_SIGNAL_VINTAGE])
+AC_MSG_CHECKING(for presence of necessary job control definitions)
+AC_CACHE_VAL(bash_cv_job_control_missing,
+[AC_TRY_RUN([
+#include <sys/types.h>
+#ifdef HAVE_SYS_WAIT_H
+#include <sys/wait.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <signal.h>
+
+/* Add more tests in here as appropriate. */
+main()
+{
+/* signal type */
+#if !defined (HAVE_POSIX_SIGNALS) && !defined (HAVE_BSD_SIGNALS)
+exit(1);
+#endif
+
+/* signals and tty control. */
+#if !defined (SIGTSTP) || !defined (SIGSTOP) || !defined (SIGCONT)
+exit (1);
+#endif
+
+/* process control */
+#if !defined (WNOHANG) || !defined (WUNTRACED)
+exit(1);
+#endif
+
+/* Posix systems have tcgetpgrp and waitpid. */
+#if defined (_POSIX_VERSION) && !defined (HAVE_TCGETPGRP)
+exit(1);
+#endif
+
+#if defined (_POSIX_VERSION) && !defined (HAVE_WAITPID)
+exit(1);
+#endif
+
+/* Other systems have TIOCSPGRP/TIOCGPRGP and wait3. */
+#if !defined (_POSIX_VERSION) && !defined (HAVE_WAIT3)
+exit(1);
+#endif
+
+exit(0);
+}], bash_cv_job_control_missing=present, bash_cv_job_control_missing=missing,
+ [AC_MSG_WARN(cannot check job control if cross-compiling -- defaulting to missing)
+ bash_cv_job_control_missing=missing]
+)])
+AC_MSG_RESULT($bash_cv_job_control_missing)
+if test $bash_cv_job_control_missing = missing; then
+AC_DEFINE(JOB_CONTROL_MISSING)
+fi
+])
+
+dnl check whether named pipes are present
+dnl this requires a previous check for mkfifo, but that is awkward to specify
+AC_DEFUN([BASH_SYS_NAMED_PIPES],
+[AC_MSG_CHECKING(for presence of named pipes)
+AC_CACHE_VAL(bash_cv_sys_named_pipes,
+[AC_TRY_RUN([
+#include <sys/types.h>
+#include <sys/stat.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+/* Add more tests in here as appropriate. */
+main()
+{
+int fd, err;
+
+#if defined (HAVE_MKFIFO)
+exit (0);
+#endif
+
+#if !defined (S_IFIFO) && (defined (_POSIX_VERSION) && !defined (S_ISFIFO))
+exit (1);
+#endif
+
+#if defined (NeXT)
+exit (1);
+#endif
+err = mkdir("/tmp/bash-aclocal", 0700);
+if (err < 0) {
+ perror ("mkdir");
+ exit(1);
+}
+fd = mknod ("/tmp/bash-aclocal/sh-np-autoconf", 0666 | S_IFIFO, 0);
+if (fd == -1) {
+ rmdir ("/tmp/bash-aclocal");
+ exit (1);
+}
+close(fd);
+unlink ("/tmp/bash-aclocal/sh-np-autoconf");
+rmdir ("/tmp/bash-aclocal");
+exit(0);
+}], bash_cv_sys_named_pipes=present, bash_cv_sys_named_pipes=missing,
+ [AC_MSG_WARN(cannot check for named pipes if cross-compiling -- defaulting to missing)
+ bash_cv_sys_named_pipes=missing]
+)])
+AC_MSG_RESULT($bash_cv_sys_named_pipes)
+if test $bash_cv_sys_named_pipes = missing; then
+AC_DEFINE(NAMED_PIPES_MISSING)
+fi
+])
+
+AC_DEFUN([BASH_SYS_DEFAULT_MAIL_DIR],
+[AC_MSG_CHECKING(for default mail directory)
+AC_CACHE_VAL(bash_cv_mail_dir,
+[if test -d /var/mail; then
+ bash_cv_mail_dir=/var/mail
+ elif test -d /var/spool/mail; then
+ bash_cv_mail_dir=/var/spool/mail
+ elif test -d /usr/mail; then
+ bash_cv_mail_dir=/usr/mail
+ elif test -d /usr/spool/mail; then
+ bash_cv_mail_dir=/usr/spool/mail
+ else
+ bash_cv_mail_dir=unknown
+ fi
+])
+AC_MSG_RESULT($bash_cv_mail_dir)
+AC_DEFINE_UNQUOTED(DEFAULT_MAIL_DIRECTORY, "$bash_cv_mail_dir")
+])
+
+AC_DEFUN([BASH_HAVE_TIOCGWINSZ],
+[AC_MSG_CHECKING(for TIOCGWINSZ in sys/ioctl.h)
+AC_CACHE_VAL(bash_cv_tiocgwinsz_in_ioctl,
+[AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/ioctl.h>], [int x = TIOCGWINSZ;],
+ bash_cv_tiocgwinsz_in_ioctl=yes,bash_cv_tiocgwinsz_in_ioctl=no)])
+AC_MSG_RESULT($bash_cv_tiocgwinsz_in_ioctl)
+if test $bash_cv_tiocgwinsz_in_ioctl = yes; then
+AC_DEFINE(GWINSZ_IN_SYS_IOCTL)
+fi
+])
+
+AH_TEMPLATE([TIOCSTAT_IN_SYS_IOCTL], [Define if TIOCSTAT is in sys/ioctl.h])
+AC_DEFUN([BASH_HAVE_TIOCSTAT],
+[AC_MSG_CHECKING(for TIOCSTAT in sys/ioctl.h)
+AC_CACHE_VAL(bash_cv_tiocstat_in_ioctl,
+[AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/ioctl.h>], [int x = TIOCSTAT;],
+ bash_cv_tiocstat_in_ioctl=yes,bash_cv_tiocstat_in_ioctl=no)])
+AC_MSG_RESULT($bash_cv_tiocstat_in_ioctl)
+if test $bash_cv_tiocstat_in_ioctl = yes; then
+AC_DEFINE(TIOCSTAT_IN_SYS_IOCTL)
+fi
+])
+
+AH_TEMPLATE([FIONREAD_IN_SYS_IOCTL], [Define if FIONREAD is in sys/ioctl.h])
+AC_DEFUN([BASH_HAVE_FIONREAD],
+[AC_MSG_CHECKING(for FIONREAD in sys/ioctl.h)
+AC_CACHE_VAL(bash_cv_fionread_in_ioctl,
+[AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/ioctl.h>], [int x = FIONREAD;],
+ bash_cv_fionread_in_ioctl=yes,bash_cv_fionread_in_ioctl=no)])
+AC_MSG_RESULT($bash_cv_fionread_in_ioctl)
+if test $bash_cv_fionread_in_ioctl = yes; then
+AC_DEFINE(FIONREAD_IN_SYS_IOCTL)
+fi
+])
+
+dnl
+dnl See if speed_t is declared in <sys/types.h>. Some versions of linux
+dnl require a definition of speed_t each time <termcap.h> is included,
+dnl but you can only get speed_t if you include <termios.h> (on some
+dnl versions) or <sys/types.h> (on others).
+dnl
+AH_TEMPLATE([SPEED_T_IN_SYS_TYPES], [Define if speed_t is in sys/types.h])
+AC_DEFUN([BASH_CHECK_SPEED_T],
+[AC_MSG_CHECKING(for speed_t in sys/types.h)
+AC_CACHE_VAL(bash_cv_speed_t_in_sys_types,
+[AC_TRY_COMPILE([#include <sys/types.h>], [speed_t x;],
+ bash_cv_speed_t_in_sys_types=yes,bash_cv_speed_t_in_sys_types=no)])
+AC_MSG_RESULT($bash_cv_speed_t_in_sys_types)
+if test $bash_cv_speed_t_in_sys_types = yes; then
+AC_DEFINE(SPEED_T_IN_SYS_TYPES)
+fi
+])
+
+AH_TEMPLATE([HAVE_GETPW_DECLS], [Define if getpw functions are declared in pwd.h])
+AC_DEFUN([BASH_CHECK_GETPW_FUNCS],
+[AC_MSG_CHECKING(whether getpw functions are declared in pwd.h)
+AC_CACHE_VAL(bash_cv_getpw_declared,
+[AC_EGREP_CPP(getpwuid,
+[
+#include <sys/types.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#include <pwd.h>
+],
+bash_cv_getpw_declared=yes,bash_cv_getpw_declared=no)])
+AC_MSG_RESULT($bash_cv_getpw_declared)
+if test $bash_cv_getpw_declared = yes; then
+AC_DEFINE(HAVE_GETPW_DECLS)
+fi
+])
+
+AC_DEFUN([BASH_CHECK_DEV_FD],
+[AC_MSG_CHECKING(whether /dev/fd is available)
+AC_CACHE_VAL(bash_cv_dev_fd,
+[if test -d /dev/fd && test -r /dev/fd/0; then
+ bash_cv_dev_fd=standard
+ elif test -d /proc/self/fd && test -r /proc/self/fd/0; then
+ bash_cv_dev_fd=whacky
+ else
+ bash_cv_dev_fd=absent
+ fi
+])
+AC_MSG_RESULT($bash_cv_dev_fd)
+if test $bash_cv_dev_fd = "standard"; then
+ AC_DEFINE(HAVE_DEV_FD)
+ AC_DEFINE(DEV_FD_PREFIX, "/dev/fd/")
+elif test $bash_cv_dev_fd = "whacky"; then
+ AC_DEFINE(HAVE_DEV_FD)
+ AC_DEFINE(DEV_FD_PREFIX, "/proc/self/fd/")
+fi
+])
+
+AC_DEFUN([BASH_CHECK_DEV_STDIN],
+[AC_MSG_CHECKING(whether /dev/stdin stdout stderr are available)
+AC_CACHE_VAL(bash_cv_dev_stdin,
+[if test -d /dev/fd && test -r /dev/stdin; then
+ bash_cv_dev_stdin=present
+ elif test -d /proc/self/fd && test -r /dev/stdin; then
+ bash_cv_dev_stdin=present
+ else
+ bash_cv_dev_stdin=absent
+ fi
+])
+AC_MSG_RESULT($bash_cv_dev_stdin)
+if test $bash_cv_dev_stdin = "present"; then
+ AC_DEFINE(HAVE_DEV_STDIN)
+fi
+])
+
+dnl
+dnl Check if HPUX needs _KERNEL defined for RLIMIT_* definitions
+dnl
+AC_DEFUN([BASH_CHECK_KERNEL_RLIMIT],
+[AC_MSG_CHECKING([whether $host_os needs _KERNEL for RLIMIT defines])
+AC_CACHE_VAL(bash_cv_kernel_rlimit,
+[AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/resource.h>
+],
+[
+ int f;
+ f = RLIMIT_DATA;
+], bash_cv_kernel_rlimit=no,
+[AC_TRY_COMPILE([
+#include <sys/types.h>
+#define _KERNEL
+#include <sys/resource.h>
+#undef _KERNEL
+],
+[
+ int f;
+ f = RLIMIT_DATA;
+], bash_cv_kernel_rlimit=yes, bash_cv_kernel_rlimit=no)]
+)])
+AC_MSG_RESULT($bash_cv_kernel_rlimit)
+if test $bash_cv_kernel_rlimit = yes; then
+AC_DEFINE(RLIMIT_NEEDS_KERNEL)
+fi
+])
+
+dnl
+dnl Check for 64-bit off_t -- used for malloc alignment
+dnl
+dnl C does not allow duplicate case labels, so the compile will fail if
+dnl sizeof(off_t) is > 4.
+dnl
+AC_DEFUN([BASH_CHECK_OFF_T_64],
+[AC_CACHE_CHECK(for 64-bit off_t, bash_cv_off_t_64,
+AC_TRY_COMPILE([
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <sys/types.h>
+],[
+switch (0) case 0: case (sizeof (off_t) <= 4):;
+], bash_cv_off_t_64=no, bash_cv_off_t_64=yes))
+if test $bash_cv_off_t_64 = yes; then
+ AC_DEFINE(HAVE_OFF_T_64)
+fi])
+
+AC_DEFUN([BASH_CHECK_RTSIGS],
+[AC_MSG_CHECKING(for unusable real-time signals due to large values)
+AC_CACHE_VAL(bash_cv_unusable_rtsigs,
+[AC_TRY_RUN([
+#include <sys/types.h>
+#include <signal.h>
+
+#ifndef NSIG
+# define NSIG 64
+#endif
+
+main ()
+{
+ int n_sigs = 2 * NSIG;
+#ifdef SIGRTMIN
+ int rtmin = SIGRTMIN;
+#else
+ int rtmin = 0;
+#endif
+
+ exit(rtmin < n_sigs);
+}], bash_cv_unusable_rtsigs=yes, bash_cv_unusable_rtsigs=no,
+ [AC_MSG_WARN(cannot check real-time signals if cross compiling -- defaulting to yes)
+ bash_cv_unusable_rtsigs=yes]
+)])
+AC_MSG_RESULT($bash_cv_unusable_rtsigs)
+if test $bash_cv_unusable_rtsigs = yes; then
+AC_DEFINE(UNUSABLE_RT_SIGNALS)
+fi
+])
+
+dnl
+dnl check for availability of multibyte characters and functions
+dnl
+AH_TEMPLATE([HAVE_MBSRTOWCS], [Define if we have the mbsrtowcs function])
+AH_TEMPLATE([HAVE_WCWIDTH], [Define if we have the wcwidth function])
+AH_TEMPLATE([HAVE_MBSTATE_T], [Define if we have mbstate_t])
+AH_TEMPLATE([HAVE_LANGINFO_CODESET], [Define if we have nl_langinfo and CODESET])
+AC_DEFUN([BASH_CHECK_MULTIBYTE],
+[
+AC_CHECK_HEADERS(wctype.h)
+AC_CHECK_HEADERS(wchar.h)
+AC_CHECK_HEADERS(langinfo.h)
+
+AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS))
+AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH))
+
+AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t,
+[AC_TRY_RUN([
+#include <wchar.h>
+int
+main ()
+{
+ mbstate_t ps;
+ return 0;
+}], bash_cv_have_mbstate_t=yes, bash_cv_have_mbstate_t=no)])
+if test $bash_cv_have_mbstate_t = yes; then
+ AC_DEFINE(HAVE_MBSTATE_T)
+fi
+
+AC_CACHE_CHECK([for nl_langinfo and CODESET], bash_cv_langinfo_codeset,
+[AC_TRY_LINK(
+[#include <langinfo.h>],
+[char* cs = nl_langinfo(CODESET);],
+bash_cv_langinfo_codeset=yes, bash_cv_langinfo_codeset=no)])
+if test $bash_cv_langinfo_codeset = yes; then
+ AC_DEFINE(HAVE_LANGINFO_CODESET)
+fi
+
+])
+
+dnl need: prefix exec_prefix libdir includedir CC TERMCAP_LIB
+dnl require:
+dnl AC_PROG_CC
+dnl BASH_CHECK_LIB_TERMCAP
+
+AC_DEFUN([RL_LIB_READLINE_VERSION],
+[
+AC_REQUIRE([BASH_CHECK_LIB_TERMCAP])
+
+AC_MSG_CHECKING([version of installed readline library])
+
+# What a pain in the ass this is.
+
+# save cpp and ld options
+_save_CFLAGS="$CFLAGS"
+_save_LDFLAGS="$LDFLAGS"
+_save_LIBS="$LIBS"
+
+# Don't set ac_cv_rl_prefix if the caller has already assigned a value. This
+# allows the caller to do something like $_rl_prefix=$withval if the user
+# specifies --with-installed-readline=PREFIX as an argument to configure
+
+if test -z "$ac_cv_rl_prefix"; then
+test "x$prefix" = xNONE && ac_cv_rl_prefix=$ac_default_prefix || ac_cv_rl_prefix=${prefix}
+fi
+
+eval ac_cv_rl_includedir=${ac_cv_rl_prefix}/include
+eval ac_cv_rl_libdir=${ac_cv_rl_prefix}/lib
+
+LIBS="$LIBS -lreadline ${TERMCAP_LIB}"
+CFLAGS="$CFLAGS -I${ac_cv_rl_includedir}"
+LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}"
+
+AC_TRY_RUN([
+#include <stdio.h>
+#include <readline/readline.h>
+
+main()
+{
+ FILE *fp;
+ fp = fopen("conftest.rlv", "w");
+ if (fp == 0) exit(1);
+ fprintf(fp, "%s\n", rl_library_version ? rl_library_version : "0.0");
+ fclose(fp);
+ exit(0);
+}
+],
+ac_cv_rl_version=`cat conftest.rlv`,
+ac_cv_rl_version='0.0',
+ac_cv_rl_version='4.2')
+
+CFLAGS="$_save_CFLAGS"
+LDFLAGS="$_save_LDFLAGS"
+LIBS="$_save_LIBS"
+
+RL_MAJOR=0
+RL_MINOR=0
+
+# (
+case "$ac_cv_rl_version" in
+2*|3*|4*|5*|6*|7*|8*|9*)
+ RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'`
+ RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[[a-zA-Z]]*$::'`
+ ;;
+esac
+
+# (((
+case $RL_MAJOR in
+[[0-9][0-9]]) _RL_MAJOR=$RL_MAJOR ;;
+[[0-9]]) _RL_MAJOR=0$RL_MAJOR ;;
+*) _RL_MAJOR=00 ;;
+esac
+
+# (((
+case $RL_MINOR in
+[[0-9][0-9]]) _RL_MINOR=$RL_MINOR ;;
+[[0-9]]) _RL_MINOR=0$RL_MINOR ;;
+*) _RL_MINOR=00 ;;
+esac
+
+RL_VERSION="0x${_RL_MAJOR}${_RL_MINOR}"
+
+# Readline versions greater than 4.2 have these defines in readline.h
+
+if test $ac_cv_rl_version = '0.0' ; then
+ AC_MSG_WARN([Could not test version of installed readline library.])
+elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then
+ # set these for use by the caller
+ RL_PREFIX=$ac_cv_rl_prefix
+ RL_LIBDIR=$ac_cv_rl_libdir
+ RL_INCLUDEDIR=$ac_cv_rl_includedir
+ AC_MSG_RESULT($ac_cv_rl_version)
+else
+
+AC_DEFINE_UNQUOTED(RL_READLINE_VERSION, $RL_VERSION, [encoded version of the installed readline library])
+AC_DEFINE_UNQUOTED(RL_VERSION_MAJOR, $RL_MAJOR, [major version of installed readline library])
+AC_DEFINE_UNQUOTED(RL_VERSION_MINOR, $RL_MINOR, [minor version of installed readline library])
+
+AC_SUBST(RL_VERSION)
+AC_SUBST(RL_MAJOR)
+AC_SUBST(RL_MINOR)
+
+# set these for use by the caller
+RL_PREFIX=$ac_cv_rl_prefix
+RL_LIBDIR=$ac_cv_rl_libdir
+RL_INCLUDEDIR=$ac_cv_rl_includedir
+
+AC_MSG_RESULT($ac_cv_rl_version)
+
+fi
+])
diff --git a/meta/packages/readline/readline-4.3/shlink-termcap.patch b/meta/packages/readline/readline-4.3/shlink-termcap.patch
new file mode 100644
index 0000000000..249f4e7081
--- /dev/null
+++ b/meta/packages/readline/readline-4.3/shlink-termcap.patch
@@ -0,0 +1,45 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- readline-4.3/shlib/Makefile.in~shlink-termcap
++++ readline-4.3/shlib/Makefile.in
+@@ -53,11 +53,13 @@
+ CFLAGS = @CFLAGS@
+ LOCAL_CFLAGS = @LOCAL_CFLAGS@ -DRL_LIBRARY_VERSION='"$(RL_LIBRARY_VERSION)"'
+ CPPFLAGS = @CPPFLAGS@
+-LDFLAGS = @LDFLAGS@ @LOCAL_LDFLAGS@ @CFLAGS@
++LDFLAGS = @LDFLAGS@ $(SHOBJ_LDFLAGS) $(SHLIB_XLDFLAGS) @LOCAL_LDFLAGS@ @CFLAGS@
+
+ DEFS = @DEFS@
+ LOCAL_DEFS = @LOCAL_DEFS@
+
++TERMCAP_LIB = @TERMCAP_LIB@
++
+ #
+ # These values are generated for configure by ${topdir}/support/shobj-conf.
+ # If your system is not supported by that script, but includes facilities for
+@@ -73,7 +75,7 @@
+ SHOBJ_LIBS = @SHOBJ_LIBS@
+
+ SHLIB_XLDFLAGS = @SHLIB_XLDFLAGS@
+-SHLIB_LIBS = @SHLIB_LIBS@
++SHLIB_LIBS = @SHLIB_LIBS@ @TERMCAP_LIB@
+ SHLIB_LIBSUFF = @SHLIB_LIBSUFF@
+
+ SHLIB_LIBVERSION = @SHLIB_LIBVERSION@
+@@ -147,11 +149,11 @@
+
+ $(SHARED_READLINE): $(SHARED_OBJ)
+ $(RM) $@
+- $(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_OBJ) $(SHLIB_LIBS)
++ $(SHOBJ_LD) ${LDFLAGS} -o $@ $(SHARED_OBJ) $(SHLIB_LIBS)
+
+ $(SHARED_HISTORY): $(SHARED_HISTOBJ) xmalloc.so
+ $(RM) $@
+- $(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_HISTOBJ) xmalloc.so $(SHLIB_LIBS)
++ $(SHOBJ_LD) ${LDFLAGS} -o $@ $(SHARED_HISTOBJ) xmalloc.so $(SHLIB_LIBS)
+
+ # Since tilde.c is shared between readline and bash, make sure we compile
+ # it with the right flags when it's built as part of readline
diff --git a/meta/packages/readline/readline-native_4.3.bb b/meta/packages/readline/readline-native_4.3.bb
new file mode 100644
index 0000000000..e9cede7cd1
--- /dev/null
+++ b/meta/packages/readline/readline-native_4.3.bb
@@ -0,0 +1,4 @@
+include readline_${PV}.bb
+inherit native
+DEPENDS = "ncurses-native"
+FILESPATH = "${FILE_DIRNAME}/readline-${PV}:${FILE_DIRNAME}/readline:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
diff --git a/meta/packages/readline/readline_4.3.bb b/meta/packages/readline/readline_4.3.bb
new file mode 100644
index 0000000000..d0ff2a8d7c
--- /dev/null
+++ b/meta/packages/readline/readline_4.3.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "The GNU Readline library provides a set of functions for use by applications that allow users to edit \
+command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes \
+additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those \
+lines, and perform csh-like history expansion on previous commands."
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+DEPENDS += "ncurses"
+RPROVIDES_${PN} += "readline"
+LEAD_SONAME = "libreadline.so"
+PR = "r3"
+
+SRC_URI = "ftp://ftp.cwru.edu/pub/bash/readline-${PV}.tar.gz \
+ file://shlink-termcap.patch;patch=1 \
+ file://acinclude.m4"
+S = "${WORKDIR}/readline-${PV}"
+
+inherit autotools
+
+do_configure () {
+ install -m 0644 ${WORKDIR}/acinclude.m4 ${S}/
+ autotools_do_configure
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+do_install () {
+ autotools_do_install
+ # Make install doesn't properly install these
+ oe_libinstall -so -C shlib libhistory ${D}${libdir}
+ oe_libinstall -so -C shlib libreadline ${D}${libdir}
+}
diff --git a/meta/packages/recordext/recordext_cvs.bb b/meta/packages/recordext/recordext_cvs.bb
new file mode 100644
index 0000000000..494b53acdd
--- /dev/null
+++ b/meta/packages/recordext/recordext_cvs.bb
@@ -0,0 +1,18 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "BSD-X"
+SECTION = "libs"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+DESCRIPTION = "XRecord extension protocol bits"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=RecordExt"
+S = "${WORKDIR}/RecordExt"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/renderext/renderext_0.8.bb b/meta/packages/renderext/renderext_0.8.bb
new file mode 100644
index 0000000000..f1996a3fd3
--- /dev/null
+++ b/meta/packages/renderext/renderext_0.8.bb
@@ -0,0 +1,16 @@
+SECTION = "libs"
+LICENSE = "MIT-X"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "X Render extension headers"
+
+SRC_URI = "${XLIBS_MIRROR}/renderext-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/renderext/renderext_cvs.bb b/meta/packages/renderext/renderext_cvs.bb
new file mode 100644
index 0000000000..af84c6f8ee
--- /dev/null
+++ b/meta/packages/renderext/renderext_cvs.bb
@@ -0,0 +1,19 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "MIT-X"
+SECTION = "libs"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "X Render extension headers"
+DEFAULT_PREFERENCE = "1"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Render"
+S = "${WORKDIR}/Render"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/resourceext/resourceext_1.0.bb b/meta/packages/resourceext/resourceext_1.0.bb
new file mode 100644
index 0000000000..6ba9ae2cd4
--- /dev/null
+++ b/meta/packages/resourceext/resourceext_1.0.bb
@@ -0,0 +1,17 @@
+SECTION = "libs"
+LICENSE = "Xorg"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xextensions"
+DESCRIPTION = "X Resource usage extension headers"
+
+SRC_URI = "${XLIBS_MIRROR}/resourceext-${PV}.tar.bz2"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/resourceext/resourceext_cvs.bb b/meta/packages/resourceext/resourceext_cvs.bb
new file mode 100644
index 0000000000..92ac8d75b0
--- /dev/null
+++ b/meta/packages/resourceext/resourceext_cvs.bb
@@ -0,0 +1,19 @@
+PV = "0.0+cvs${SRCDATE}"
+SECTION = "libs"
+LICENSE = "Xorg"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xextensions"
+DESCRIPTION = "X Resource usage extension headers"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=ResourceExt"
+S = "${WORKDIR}/ResourceExt"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ oe_runmake install prefix=${STAGING_DIR} \
+ bindir=${STAGING_BINDIR} \
+ includedir=${STAGING_INCDIR} \
+ libdir=${STAGING_LIBDIR} \
+ datadir=${STAGING_DATADIR}
+}
diff --git a/meta/packages/rxvt-unicode/files/makefile.patch b/meta/packages/rxvt-unicode/files/makefile.patch
new file mode 100644
index 0000000000..86f82eeb4c
--- /dev/null
+++ b/meta/packages/rxvt-unicode/files/makefile.patch
@@ -0,0 +1,20 @@
+--- ../rxvt-unicode-cvs-r0/rxvt-unicode/Makefile.in 2004-08-12 22:32:40 +01:00
++++ rxvt-unicode/Makefile.in 2004-12-24 03:09:00 +00:00
+@@ -9,7 +9,7 @@
+ first_rule: all
+ dummy:
+
+-subdirs = src doc src/test
++subdirs = src src/test
+ allsubdirs = W11 $(subdirs)
+
+ DIST = INSTALL README.configure configure Makefile Makefile.in ChangeLog
+@@ -24,7 +24,7 @@
+
+ #-------------------------------------------------------------------------
+
+-all allbin alldoc tags:
++all allbin tags:
+ @if test x@host_os@ = xcygwin; then (cd W11; ${MAKE} $@) || exit 1; fi
+ @for I in ${subdirs}; do (cd $$I; ${MAKE} $@) || exit 1; done
+
diff --git a/meta/packages/rxvt-unicode/files/rxvt.desktop b/meta/packages/rxvt-unicode/files/rxvt.desktop
new file mode 100644
index 0000000000..f372b28e97
--- /dev/null
+++ b/meta/packages/rxvt-unicode/files/rxvt.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Terminal
+Exec=/usr/bin/rxvt
+Icon=rxvt.png
+Terminal=false
+Type=Application
+Categories=Utility
+StartupNotify=false
+
diff --git a/meta/packages/rxvt-unicode/files/rxvt.png b/meta/packages/rxvt-unicode/files/rxvt.png
new file mode 100644
index 0000000000..e56fa2e9cd
--- /dev/null
+++ b/meta/packages/rxvt-unicode/files/rxvt.png
Binary files differ
diff --git a/meta/packages/rxvt-unicode/files/signedchar.patch b/meta/packages/rxvt-unicode/files/signedchar.patch
new file mode 100644
index 0000000000..6faa175143
--- /dev/null
+++ b/meta/packages/rxvt-unicode/files/signedchar.patch
@@ -0,0 +1,11 @@
+--- ../rxvt-unicode-cvs-r0/rxvt-unicode/src/command.C 2004-12-21 06:43:00 +00:00
++++ rxvt-unicode/src/command.C 2004-12-24 02:31:36 +00:00
+@@ -1862,7 +1862,7 @@
+ #endif /* NO_SCROLLBAR_REPORT */
+
+ {
+- char upordown = 0;
++ signed char upordown = 0;
+
+ if (scrollBar.style == R_SB_NEXT)
+ {
diff --git a/meta/packages/rxvt-unicode/files/xwc.patch b/meta/packages/rxvt-unicode/files/xwc.patch
new file mode 100644
index 0000000000..7cf59656ce
--- /dev/null
+++ b/meta/packages/rxvt-unicode/files/xwc.patch
@@ -0,0 +1,28 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- rxvt-unicode-4.8/src/screen.C~xwc.c
++++ rxvt-unicode-4.8/src/screen.C
+@@ -3058,7 +3058,7 @@
+ else
+ rxvt_warn ("can't get primary selection, ignoring.\n");
+
+-#if 0
++#ifdef HAVE_XWC
+ XTextProperty ct;
+
+ if (XwcTextListToTextProperty (display->display, &selection.text, 1, XStringStyle, &ct) >= 0)
+@@ -3632,9 +3632,11 @@
+ }
+ else
+ #endif
++#ifdef HAVE_XWC
+ if (XwcTextListToTextProperty (display->display, &cl, 1, (XICCEncodingStyle) style, &ct) >= 0)
+ freect = 1;
+ else
++#endif
+ {
+ /* if we failed to convert then send it raw */
+ ct.value = (unsigned char *)cl;
diff --git a/meta/packages/rxvt-unicode/rxvt-unicode-5.6/xwc.patch b/meta/packages/rxvt-unicode/rxvt-unicode-5.6/xwc.patch
new file mode 100644
index 0000000000..eb87b84b25
--- /dev/null
+++ b/meta/packages/rxvt-unicode/rxvt-unicode-5.6/xwc.patch
@@ -0,0 +1,24 @@
+diff -urNd ../rxvt-unicode-5.3-r2/rxvt-unicode-5.3/src/screen.C rxvt-unicode-5.3/src/screen.C
+--- ../rxvt-unicode-5.3-r2/rxvt-unicode-5.3/src/screen.C 2005-02-22 21:39:10 +00:00
++++ rxvt-unicode-5.3/src/screen.C 2005-04-05 22:12:45 +01:00
+@@ -3064,7 +3064,7 @@
+ else
+ rxvt_warn ("can't get primary selection, ignoring.\n");
+
+-#if 0
++#ifdef HAVE_XWC
+ XTextProperty ct;
+
+ if (XwcTextListToTextProperty (display->display, &selection.text, 1, XStringStyle, &ct) >= 0)
+@@ -3648,9 +3648,11 @@
+ }
+ else
+ #endif
++#ifdef HAVE_XWC
+ if (XwcTextListToTextProperty (disp, &cl, 1, (XICCEncodingStyle) style, &ct) >= 0)
+ freect = 1;
+ else
++#endif
+ {
+ /* if we failed to convert then send it raw */
+ ct.value = (unsigned char *)cl;
diff --git a/meta/packages/rxvt-unicode/rxvt-unicode_5.6.bb b/meta/packages/rxvt-unicode/rxvt-unicode_5.6.bb
new file mode 100644
index 0000000000..b224bb0c9d
--- /dev/null
+++ b/meta/packages/rxvt-unicode/rxvt-unicode_5.6.bb
@@ -0,0 +1,68 @@
+SECTION = "x11/utils"
+DEPENDS = "libx11 libxt libxft"
+DESCRIPTION = "rxvt-unicode is a clone of the well known \
+terminal emulator rxvt, modified to store text in Unicode \
+(either UCS-2 or UCS-4) and to use locale-correct input and \
+output. It also supports mixing multiple fonts at the \
+same time, including Xft fonts."
+LICENSE = "GPL"
+SRC_URI = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${PV}.tar.bz2 \
+ file://xwc.patch;patch=1 \
+ file://signedchar.patch;patch=1 \
+ file://rxvt.desktop \
+ file://rxvt.png"
+PR = "r3"
+
+inherit autotools update-alternatives
+
+PROVIDES = "virtual/x-terminal-emulator"
+ALTERNATIVE_NAME = "x-terminal-emulator"
+ALTERNATIVE_PATH = "${bindir}/rxvt"
+
+CFLAGS_append = " -fpermissive"
+
+EXTRA_OECONF = "--enable-menubar --enable-xim \
+ --enable-utmp --enable-wtmp --enable-lastlog \
+ --disable-strings --with-term=rxvt --enable-keepscrolling \
+ --enable-xft --with-name=rxvt --enable-frills \
+ --enable-swapscreen --enable-transparency \
+ --with-codesets=eu \
+ --enable-cursor-blink --enable-pointer-blank \
+ --enable-text-blink --enable-rxvt-scroll \
+ --enable-combining --enable-shared \
+ --enable-xgetdefault \
+ --with-x=${STAGING_LIBDIR}/.."
+EXTRA_OEMAKE = "'XINC=-I${STAGING_INCDIR}' \
+ 'XLIB=-L${STAGING_LIBDIR} -lX11'"
+
+do_configure () {
+ mv autoconf/configure.in . || true
+ rm autoconf/libtool.m4
+ libtoolize --force
+ autotools_do_configure
+ echo '#define RXVT_UTMP_FILE "${localstatedir}/run/utmp"' >> config.h
+ echo '#define RXVT_WTMP_FILE "${localstatedir}/log/wtmp"' >> config.h
+ echo '#define RXVT_LASTLOG_FILE "${localstatedir}/log/lastlog"' >> config.h
+ echo '#define HAVE_XLOCALE 1' >> config.h
+}
+
+do_compile () {
+ if test -e ${S}/${HOST_SYS}-libtool; then
+ LIBTOOL=${S}/${HOST_SYS}-libtool
+ else
+ LIBTOOL=${S}/libtool
+ fi
+ # docs need "yodl" and I have no idea what that is
+ oe_runmake -C src "LIBTOOL=$LIBTOOL"
+}
+
+do_install_append () {
+ install -d ${D}/${datadir}
+ install -d ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps/
+
+ install -m 0644 ${WORKDIR}/rxvt.png ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/rxvt.desktop ${D}/${datadir}/applications
+}
+
+FILES_${PN} += "${datadir}/applications/rxvt.desktop ${datadir}/pixmaps/rxvt.png"
diff --git a/meta/packages/scap/files/scap.desktop b/meta/packages/scap/files/scap.desktop
new file mode 100644
index 0000000000..bba17259bb
--- /dev/null
+++ b/meta/packages/scap/files/scap.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Upload Screenshot
+Comment=Upload a screenshot to http://handhelds.org/scap
+Exec=scap
+Terminal=0
+Type=Application
+Icon=scap.png
+Categories=Action
+StartupNotify=False
diff --git a/meta/packages/scap/files/scap.png b/meta/packages/scap/files/scap.png
new file mode 100644
index 0000000000..ed7f09fd72
--- /dev/null
+++ b/meta/packages/scap/files/scap.png
Binary files differ
diff --git a/meta/packages/scap/files/scap.sh b/meta/packages/scap/files/scap.sh
new file mode 100644
index 0000000000..ba8bc7e584
--- /dev/null
+++ b/meta/packages/scap/files/scap.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+sleep 2
+if [ -x /usr/bin/bl ]; then
+ bl toggle
+fi
+MODEL=`cat /proc/cpuinfo | grep ^Hardware | sed "s/.* //"`
+test -e /etc/scap.conf && USER=`cat /etc/scap.conf`
+RES=`fbset 2>/dev/null | awk "/geometry/ { print \$2 "x" \$3 }"`
+(echo "POST /scap/capture.cgi?$MODEL+$USER+$RES HTTP/1.1"
+ echo -n Content-length:
+ cat /dev/fb0 | wc -c
+ echo "Content-Type: image/gif"
+ echo "Host: www.handhelds.org"
+ echo ""
+ cat /dev/fb0) | nc www.handhelds.org 80
+if [ -x /usr/bin/bl ]; then
+ bl toggle
+fi
+
diff --git a/meta/packages/scap/scap_0.1.bb b/meta/packages/scap/scap_0.1.bb
new file mode 100644
index 0000000000..7bef893e59
--- /dev/null
+++ b/meta/packages/scap/scap_0.1.bb
@@ -0,0 +1,15 @@
+LICENSE = "OSL"
+PR = "r4"
+
+DESCRIPTION = "handhelds.org screen capture utility"
+SRC_URI = "file://scap.sh file://scap.desktop file://scap.png"
+
+do_install() {
+ install -d ${D}${bindir}
+ install ${WORKDIR}/scap.sh ${D}${bindir}/scap
+ install -d ${D}${datadir}/applications
+ install -m 0644 ${WORKDIR}/scap.desktop ${D}${datadir}/applications/
+ install -d ${D}${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/scap.png ${D}${datadir}/pixmaps/
+}
+
diff --git a/meta/packages/setserial/setserial_2.17.bb b/meta/packages/setserial/setserial_2.17.bb
new file mode 100644
index 0000000000..5d774ff6a3
--- /dev/null
+++ b/meta/packages/setserial/setserial_2.17.bb
@@ -0,0 +1,12 @@
+SECTION = "console/utils"
+SRC_URI = "ftp://tsx-11.mit.edu/pub/linux/sources/sbin/setserial-2.17.tar.gz"
+LICENSE = "GPL"
+PR = "r1"
+inherit autotools
+
+do_install() {
+ install -d ${D}${base_bindir}
+ install -d ${D}/usr/man/man8
+ install -d ${D}${mandir}
+ autotools_do_install
+}
diff --git a/meta/packages/settings-daemon/files/70settings-daemon b/meta/packages/settings-daemon/files/70settings-daemon
new file mode 100755
index 0000000000..e687dabe4b
--- /dev/null
+++ b/meta/packages/settings-daemon/files/70settings-daemon
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/bin/settings-daemon &
diff --git a/meta/packages/settings-daemon/settings-daemon_svn.bb b/meta/packages/settings-daemon/settings-daemon_svn.bb
new file mode 100644
index 0000000000..097f6abb57
--- /dev/null
+++ b/meta/packages/settings-daemon/settings-daemon_svn.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Settings-daemon is a bridge between xst/gpe-confd and gconf"
+LICENSE = "GPL"
+DEPENDS = "gconf glib-2.0"
+SECTION = "gpe"
+
+SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http \
+ file://70settings-daemon"
+
+S = "${WORKDIR}/${PN}"
+
+inherit autotools pkgconfig gettext
+
+FILES_${PN} = "${bindir} ${sysconfdir}"
+
+do_install_append () {
+ install -d ${D}/${sysconfdir}/X11/Xsession.d
+ install -m 755 ${WORKDIR}/70settings-daemon ${D}/${sysconfdir}/X11/Xsession.d/
+}
diff --git a/meta/packages/shared-mime-info/shared-mime-info_0.16.bb b/meta/packages/shared-mime-info/shared-mime-info_0.16.bb
new file mode 100644
index 0000000000..fe68d3167d
--- /dev/null
+++ b/meta/packages/shared-mime-info/shared-mime-info_0.16.bb
@@ -0,0 +1,18 @@
+SECTION = "base"
+PR = "r1"
+
+DEPENDS = "libxml2 intltool-native"
+
+SRC_URI = "http://freedesktop.org/~jrb/shared-mime-info-${PV}.tar.gz"
+LICENSE = "GPL"
+inherit autotools pkgconfig gettext
+
+FILES_${PN} += "${datadir}/mime"
+#FILES_${PN}-doc += " ${datadir}/gtk-doc"
+
+EXTRA_OECONF = "--disable-update-mimedb"
+
+pkg_postinst () {
+ echo "Updating MIME database... this may take a while."
+ ${bindir}/update-mime-database ${datadir}/mime
+}
diff --git a/meta/packages/sharp-binary-only/sharp-flash-header-c700.bb b/meta/packages/sharp-binary-only/sharp-flash-header-c700.bb
new file mode 100644
index 0000000000..789c7c2f01
--- /dev/null
+++ b/meta/packages/sharp-binary-only/sharp-flash-header-c700.bb
@@ -0,0 +1,8 @@
+SECTION = "base"
+SRC_URI = "file://header-c700.bin"
+LICENSE = "sharp-binary-only"
+COMPATIBLE_MACHINE = '(c7x0|spitz|akita)'
+do_stage() {
+ install -d ${STAGING_LIBDIR}/sharp-flash-header
+ install -m 0644 ${WORKDIR}/header-c700.bin ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin
+}
diff --git a/meta/packages/sharp-binary-only/sharp-flash-header-c700/header-c700.bin b/meta/packages/sharp-binary-only/sharp-flash-header-c700/header-c700.bin
new file mode 100644
index 0000000000..d2328b00b3
--- /dev/null
+++ b/meta/packages/sharp-binary-only/sharp-flash-header-c700/header-c700.bin
Binary files differ
diff --git a/meta/packages/startup-notification/startup-notification_0.8.bb b/meta/packages/startup-notification/startup-notification_0.8.bb
new file mode 100644
index 0000000000..36181f4043
--- /dev/null
+++ b/meta/packages/startup-notification/startup-notification_0.8.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Startup notification support"
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+DEPENDS = "libx11"
+PR = "r1"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.8.tar.gz"
+
+do_configure_prepend () {
+ export X_LIBS=" -L${STAGING_LIBDIR}"
+}
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/meta/packages/strace/strace-4.5.12/quota.patch b/meta/packages/strace/strace-4.5.12/quota.patch
new file mode 100644
index 0000000000..8d05da626a
--- /dev/null
+++ b/meta/packages/strace/strace-4.5.12/quota.patch
@@ -0,0 +1,10 @@
+--- strace-4.5.11/resource.c.old 2005-06-28 14:44:27.000000000 +0100
++++ strace-4.5.11/resource.c 2005-06-28 14:44:28.000000000 +0100
+@@ -36,6 +36,7 @@
+ #ifdef LINUX
+ #include <sys/times.h>
+ #include <linux/kernel.h>
++#define _LINUX_QUOTA_VERSION 1
+ #include <sys/quota.h>
+ #endif /* LINUX */
+ #ifdef SUNOS4
diff --git a/meta/packages/strace/strace/arm-syscallent.patch b/meta/packages/strace/strace/arm-syscallent.patch
new file mode 100644
index 0000000000..dd23ab762b
--- /dev/null
+++ b/meta/packages/strace/strace/arm-syscallent.patch
@@ -0,0 +1,402 @@
+--- /dev/null Fri Apr 23 21:29:25 2004
++++ strace-4.5.4/linux/arm/syscallent.h Thu Sep 2 13:42:52 2004
+@@ -0,0 +1,399 @@
++/*
++ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
++ * Copyright (c) 1993, 1994, 1995 Rick Sladkey <jrs@world.std.com>
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ * 3. 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.
++ *
++ * $Id: syscallent.h,v 1.26 2004/04/16 21:48:44 roland Exp $
++ */
++
++ { 0, 0, sys_setup, "setup" }, /* 0 */
++ { 1, TP, sys_exit, "_exit" }, /* 1 */
++ { 0, TP, sys_fork, "fork" }, /* 2 */
++ { 3, 0, sys_read, "read" }, /* 3 */
++ { 3, 0, sys_write, "write" }, /* 4 */
++ { 3, TF, sys_open, "open" }, /* 5 */
++ { 1, 0, sys_close, "close" }, /* 6 */
++ { 3, TP, sys_waitpid, "waitpid" }, /* 7 */
++ { 2, TF, sys_creat, "creat" }, /* 8 */
++ { 2, TF, sys_link, "link" }, /* 9 */
++ { 1, TF, sys_unlink, "unlink" }, /* 10 */
++ { 3, TF|TP, sys_execve, "execve" }, /* 11 */
++ { 1, TF, sys_chdir, "chdir" }, /* 12 */
++ { 1, 0, sys_time, "time" }, /* 13 */
++ { 3, TF, sys_mknod, "mknod" }, /* 14 */
++ { 2, TF, sys_chmod, "chmod" }, /* 15 */
++#ifdef M68K
++ { 3, TF, sys_chown, "chown" }, /* 16 */
++#else
++ { 3, TF, sys_chown, "lchown" }, /* 16 */
++#endif
++ { 0, 0, sys_break, "break" }, /* 17 */
++ { 2, TF, sys_oldstat, "oldstat" }, /* 18 */
++ { 3, 0, sys_lseek, "lseek" }, /* 19 */
++ { 0, 0, sys_getpid, "getpid" }, /* 20 */
++ { 5, TF, sys_mount, "mount" }, /* 21 */
++ { 1, TF, sys_umount, "oldumount" }, /* 22 */
++ { 1, 0, sys_setuid, "setuid" }, /* 23 */
++ { 0, 0, sys_getuid, "getuid" }, /* 24 */
++ { 1, 0, sys_stime, "stime" }, /* 25 */
++ { 4, 0, sys_ptrace, "ptrace" }, /* 26 */
++ { 1, 0, sys_alarm, "alarm" }, /* 27 */
++ { 2, 0, sys_oldfstat, "oldfstat" }, /* 28 */
++ { 0, TS, sys_pause, "pause" }, /* 29 */
++ { 2, TF, sys_utime, "utime" }, /* 30 */
++ { 2, 0, sys_stty, "stty" }, /* 31 */
++ { 2, 0, sys_gtty, "gtty" }, /* 32 */
++ { 2, TF, sys_access, "access" }, /* 33 */
++ { 1, 0, sys_nice, "nice" }, /* 34 */
++ { 0, 0, sys_ftime, "ftime" }, /* 35 */
++ { 0, 0, sys_sync, "sync" }, /* 36 */
++ { 2, TS, sys_kill, "kill" }, /* 37 */
++ { 2, TF, sys_rename, "rename" }, /* 38 */
++ { 2, TF, sys_mkdir, "mkdir" }, /* 39 */
++ { 1, TF, sys_rmdir, "rmdir" }, /* 40 */
++ { 1, 0, sys_dup, "dup" }, /* 41 */
++ { 1, 0, sys_pipe, "pipe" }, /* 42 */
++ { 1, 0, sys_times, "times" }, /* 43 */
++ { 0, 0, sys_prof, "prof" }, /* 44 */
++ { 1, 0, sys_brk, "brk" }, /* 45 */
++ { 1, 0, sys_setgid, "setgid" }, /* 46 */
++ { 0, 0, sys_getgid, "getgid" }, /* 47 */
++ { 3, TS, sys_signal, "signal" }, /* 48 */
++ { 0, 0, sys_geteuid, "geteuid" }, /* 49 */
++ { 0, 0, sys_getegid, "getegid" }, /* 50 */
++ { 1, TF, sys_acct, "acct" }, /* 51 */
++ { 2, TF, sys_umount2, "umount" }, /* 52 */
++ { 0, 0, sys_lock, "lock" }, /* 53 */
++ { 3, 0, sys_ioctl, "ioctl" }, /* 54 */
++ { 3, 0, sys_fcntl, "fcntl" }, /* 55 */
++ { 0, 0, sys_mpx, "mpx" }, /* 56 */
++ { 2, 0, sys_setpgid, "setpgid" }, /* 57 */
++ { 2, 0, sys_ulimit, "ulimit" }, /* 58 */
++ { 1, 0, sys_oldolduname, "oldolduname" }, /* 59 */
++ { 1, 0, sys_umask, "umask" }, /* 60 */
++ { 1, TF, sys_chroot, "chroot" }, /* 61 */
++ { 2, 0, sys_ustat, "ustat" }, /* 62 */
++ { 2, 0, sys_dup2, "dup2" }, /* 63 */
++ { 0, 0, sys_getppid, "getppid" }, /* 64 */
++ { 0, 0, sys_getpgrp, "getpgrp" }, /* 65 */
++ { 0, 0, sys_setsid, "setsid" }, /* 66 */
++ { 3, TS, sys_sigaction, "sigaction" }, /* 67 */
++ { 0, TS, sys_siggetmask, "siggetmask" }, /* 68 */
++ { 1, TS, sys_sigsetmask, "sigsetmask" }, /* 69 */
++ { 2, 0, sys_setreuid, "setreuid" }, /* 70 */
++ { 2, 0, sys_setregid, "setregid" }, /* 71 */
++ { 3, TS, sys_sigsuspend, "sigsuspend" }, /* 72 */
++ { 1, TS, sys_sigpending, "sigpending" }, /* 73 */
++ { 2, 0, sys_sethostname, "sethostname" }, /* 74 */
++ { 2, 0, sys_setrlimit, "setrlimit" }, /* 75 */
++ { 2, 0, sys_getrlimit, "old_getrlimit" }, /* 76 */
++ { 2, 0, sys_getrusage, "getrusage" }, /* 77 */
++ { 2, 0, sys_gettimeofday, "gettimeofday" }, /* 78 */
++ { 2, 0, sys_settimeofday, "settimeofday" }, /* 79 */
++ { 2, 0, sys_getgroups, "getgroups" }, /* 80 */
++ { 2, 0, sys_setgroups, "setgroups" }, /* 81 */
++ { 1, 0, sys_oldselect, "oldselect" }, /* 82 */
++ { 2, TF, sys_symlink, "symlink" }, /* 83 */
++ { 2, TF, sys_oldlstat, "oldlstat" }, /* 84 */
++ { 3, TF, sys_readlink, "readlink" }, /* 85 */
++ { 1, TF, sys_uselib, "uselib" }, /* 86 */
++ { 1, TF, sys_swapon, "swapon" }, /* 87 */
++ { 3, 0, sys_reboot, "reboot" }, /* 88 */
++ { 3, 0, sys_readdir, "readdir" }, /* 89 */
++ { 6, 0, sys_old_mmap, "old_mmap" }, /* 90 */
++ { 2, 0, sys_munmap, "munmap" }, /* 91 */
++ { 2, TF, sys_truncate, "truncate" }, /* 92 */
++ { 2, 0, sys_ftruncate, "ftruncate" }, /* 93 */
++ { 2, 0, sys_fchmod, "fchmod" }, /* 94 */
++ { 3, 0, sys_fchown, "fchown" }, /* 95 */
++ { 2, 0, sys_getpriority, "getpriority" }, /* 96 */
++ { 3, 0, sys_setpriority, "setpriority" }, /* 97 */
++ { 4, 0, sys_profil, "profil" }, /* 98 */
++ { 2, TF, sys_statfs, "statfs" }, /* 99 */
++ { 2, 0, sys_fstatfs, "fstatfs" }, /* 100 */
++ { 3, 0, sys_ioperm, "ioperm" }, /* 101 */
++ { 2, 0, sys_socketcall, "socketcall" }, /* 102 */
++ { 3, 0, sys_syslog, "syslog" }, /* 103 */
++ { 3, 0, sys_setitimer, "setitimer" }, /* 104 */
++ { 2, 0, sys_getitimer, "getitimer" }, /* 105 */
++ { 2, TF, sys_stat, "stat" }, /* 106 */
++ { 2, TF, sys_lstat, "lstat" }, /* 107 */
++ { 2, 0, sys_fstat, "fstat" }, /* 108 */
++ { 1, 0, sys_olduname, "olduname" }, /* 109 */
++ { 1, 0, sys_iopl, "iopl" }, /* 110 */
++ { 0, 0, sys_vhangup, "vhangup" }, /* 111 */
++ { 0, 0, sys_idle, "idle" }, /* 112 */
++ { 1, 0, sys_vm86old, "vm86old" }, /* 113 */
++ { 4, TP, sys_wait4, "wait4" }, /* 114 */
++ { 1, 0, sys_swapoff, "swapoff" }, /* 115 */
++ { 1, 0, sys_sysinfo, "sysinfo" }, /* 116 */
++ { 6, 0, sys_ipc, "ipc" }, /* 117 */
++ { 1, 0, sys_fsync, "fsync" }, /* 118 */
++ { 1, TS, sys_sigreturn, "sigreturn" }, /* 119 */
++ { 5, TP, sys_clone, "clone" }, /* 120 */
++ { 2, 0, sys_setdomainname, "setdomainname" }, /* 121 */
++ { 1, 0, sys_uname, "uname" }, /* 122 */
++#ifdef M68K
++ { 4, 0, sys_cacheflush, "cacheflush" }, /* 123 */
++#else
++ { 3, 0, sys_modify_ldt, "modify_ldt" }, /* 123 */
++#endif
++ { 1, 0, sys_adjtimex, "adjtimex" }, /* 124 */
++ { 3, 0, sys_mprotect, "mprotect" }, /* 125 */
++ { 3, TS, sys_sigprocmask, "sigprocmask" }, /* 126 */
++ { 2, 0, sys_create_module, "create_module" }, /* 127 */
++ { 2, 0, sys_init_module, "init_module" }, /* 128 */
++ { 1, 0, sys_delete_module, "delete_module" }, /* 129 */
++ { 1, 0, sys_get_kernel_syms, "get_kernel_syms"}, /* 130 */
++ { 4, 0, sys_quotactl, "quotactl" }, /* 131 */
++ { 1, 0, sys_getpgid, "getpgid" }, /* 132 */
++ { 1, 0, sys_fchdir, "fchdir" }, /* 133 */
++ { 0, 0, sys_bdflush, "bdflush" }, /* 134 */
++ { 3, 0, sys_sysfs, "sysfs" }, /* 135 */
++ { 1, 0, sys_personality, "personality" }, /* 136 */
++ { 5, 0, sys_afs_syscall, "afs_syscall" }, /* 137 */
++ { 1, 0, sys_setfsuid, "setfsuid" }, /* 138 */
++ { 1, 0, sys_setfsgid, "setfsgid" }, /* 139 */
++ { 5, 0, sys_llseek, "_llseek" }, /* 140 */
++ { 3, 0, sys_getdents, "getdents" }, /* 141 */
++ { 5, 0, sys_select, "select" }, /* 142 */
++ { 2, 0, sys_flock, "flock" }, /* 143 */
++ { 3, 0, sys_msync, "msync" }, /* 144 */
++ { 3, 0, sys_readv, "readv" }, /* 145 */
++ { 3, 0, sys_writev, "writev" }, /* 146 */
++ { 1, 0, sys_getsid, "getsid" }, /* 147 */
++ { 1, 0, sys_fdatasync, "fdatasync" }, /* 148 */
++ { 1, 0, sys_sysctl, "_sysctl" }, /* 149 */
++ { 2, 0, sys_mlock, "mlock" }, /* 150 */
++ { 2, 0, sys_munlock, "munlock" }, /* 151 */
++ { 2, 0, sys_mlockall, "mlockall" }, /* 152 */
++ { 0, 0, sys_munlockall, "munlockall" }, /* 153 */
++ { 0, 0, sys_sched_setparam, "sched_setparam"}, /* 154 */
++ { 2, 0, sys_sched_getparam, "sched_getparam"}, /* 155 */
++ { 3, 0, sys_sched_setscheduler, "sched_setscheduler"}, /* 156 */
++ { 1, 0, sys_sched_getscheduler, "sched_getscheduler"}, /* 157 */
++ { 0, 0, sys_sched_yield, "sched_yield"}, /* 158 */
++ { 1, 0, sys_sched_get_priority_max,"sched_get_priority_max"}, /* 159 */
++ { 1, 0, sys_sched_get_priority_min,"sched_get_priority_min"}, /* 160 */
++ { 2, 0, sys_sched_rr_get_interval,"sched_rr_get_interval"}, /* 161 */
++ { 2, 0, sys_nanosleep, "nanosleep" }, /* 162 */
++ { 4, 0, sys_mremap, "mremap" }, /* 163 */
++ { 3, 0, sys_setresuid, "setresuid" }, /* 164 */
++ { 3, 0, sys_getresuid, "getresuid" }, /* 165 */
++#ifdef M68K
++ { 5, 0, printargs, "SYS_166" }, /* 166 */
++#else
++ { 5, 0, printargs, "vm86" }, /* 166 */
++#endif
++ { 5, 0, sys_query_module, "query_module" }, /* 167 */
++ { 3, 0, sys_poll, "poll" }, /* 168 */
++ { 3, 0, printargs, "nfsservctl" }, /* 169 */
++ { 3, 0, sys_setresgid, "setresgid" }, /* 170 */
++ { 3, 0, sys_getresgid, "getresgid" }, /* 171 */
++ { 5, 0, printargs, "prctl" }, /* 172 */
++ { 1, TS, printargs, "rt_sigreturn" }, /* 173 */
++ { 4, TS, sys_rt_sigaction, "rt_sigaction" }, /* 174 */
++ { 4, TS, sys_rt_sigprocmask, "rt_sigprocmask"}, /* 175 */
++ { 2, TS, sys_rt_sigpending, "rt_sigpending" }, /* 176 */
++ { 4, TS, sys_rt_sigtimedwait, "rt_sigtimedwait"}, /* 177 */
++ { 3, TS, sys_rt_sigqueueinfo, "rt_sigqueueinfo"}, /* 178 */
++ { 2, TS, sys_rt_sigsuspend, "rt_sigsuspend" }, /* 179 */
++
++ { 5, TF, sys_pread, "pread" }, /* 180 */
++ { 5, TF, sys_pwrite, "pwrite" }, /* 181 */
++#ifdef M68K
++ { 3, TF, sys_chown, "lchown" }, /* 182 */
++#else
++ { 3, TF, sys_chown, "chown" }, /* 182 */
++#endif
++ { 2, TF, sys_getcwd, "getcwd" }, /* 183 */
++ { 2, 0, sys_capget, "capget" }, /* 184 */
++ { 2, 0, sys_capset, "capset" }, /* 185 */
++ { 2, TS, sys_sigaltstack, "sigaltstack" }, /* 186 */
++ { 4, TF, sys_sendfile, "sendfile" }, /* 187 */
++ { 5, 0, sys_getpmsg, "getpmsg" }, /* 188 */
++ { 5, 0, sys_putpmsg, "putpmsg" }, /* 189 */
++ { 0, TP, sys_vfork, "vfork" }, /* 190 */
++ { 2, 0, sys_getrlimit, "getrlimit" }, /* 191 */
++ { 6, 0, sys_mmap, "mmap2" }, /* 192 */
++ { 3, TF, sys_truncate64, "truncate64" }, /* 193 */
++ { 3, TF, sys_ftruncate64, "ftruncate64" }, /* 194 */
++ { 2, TF, sys_stat64, "stat64" }, /* 195 */
++ { 2, TF, sys_lstat64, "lstat64" }, /* 196 */
++ { 2, TF, sys_fstat64, "fstat64" }, /* 197 */
++ { 3, TF, sys_chown, "lchown32" }, /* 198 */
++ { 0, 0, sys_getuid, "getuid32" }, /* 199 */
++
++ { 0, 0, sys_getgid, "getgid32" }, /* 200 */
++ { 0, 0, sys_geteuid, "geteuid32" }, /* 201 */
++ { 0, 0, sys_geteuid, "getegid32" }, /* 202 */
++ { 2, 0, sys_setreuid, "setreuid32" }, /* 203 */
++ { 2, 0, sys_setregid, "setregid32" }, /* 204 */
++ { 2, 0, sys_getgroups32, "getgroups32" }, /* 205 */
++ { 2, 0, sys_setgroups32, "setgroups32" }, /* 206 */
++ { 3, 0, sys_fchown, "fchown32" }, /* 207 */
++ { 3, 0, sys_setresuid, "setresuid32" }, /* 208 */
++ { 3, 0, sys_getresuid, "getresuid32" }, /* 209 */
++ { 3, 0, sys_setresgid, "setresgid32" }, /* 210 */
++ { 3, 0, sys_getresgid, "getresgid32" }, /* 211 */
++ { 3, TF, sys_chown, "chown32" }, /* 212 */
++ { 1, 0, sys_setuid, "setuid32" }, /* 213 */
++ { 1, 0, sys_setgid, "setgid32" }, /* 214 */
++ { 1, 0, sys_setfsuid, "setfsuid32" }, /* 215 */
++ { 1, 0, sys_setfsgid, "setfsgid32" }, /* 216 */
++ { 4, 0, sys_getdents64, "getdents64" }, /* 217 */
++ { 2, TF, sys_pivotroot, "pivot_root" }, /* 218 */
++ { 3, 0, printargs, "mincore" }, /* 219 */
++ { 3, 0, sys_madvise, "madvise" }, /* 220 */
++ { 3, 0, sys_fcntl, "fcntl64" }, /* 221 */
++ { 4, 0, printargs, "SYS_222" }, /* 222 */
++/*TODO*/{ 5, 0, printargs, "security" }, /* 223 */
++ { 0, 0, printargs, "gettid" }, /* 224 */
++ { 4, 0, sys_readahead, "readahead" }, /* 225 */
++ { 5, TF, sys_setxattr, "setxattr" }, /* 226 */
++ { 5, TF, sys_setxattr, "lsetxattr" }, /* 227 */
++ { 5, 0, sys_fsetxattr, "fsetxattr" }, /* 228 */
++ { 4, TF, sys_getxattr, "getxattr" }, /* 229 */
++ { 4, TF, sys_getxattr, "lgetxattr" }, /* 230 */
++ { 4, 0, sys_fgetxattr, "fgetxattr" }, /* 231 */
++ { 3, TF, sys_listxattr, "listxattr" }, /* 232 */
++ { 3, TF, sys_listxattr, "llistxattr" }, /* 233 */
++ { 3, 0, sys_flistxattr, "flistxattr" }, /* 234 */
++ { 2, TF, sys_removexattr, "removexattr" }, /* 235 */
++ { 2, TF, sys_removexattr, "lremovexattr" }, /* 236 */
++ { 2, 0, sys_fremovexattr, "fremovexattr" }, /* 237 */
++ { 2, TS, sys_kill, "tkill" }, /* 238 */
++ { 4, TF, sys_sendfile64, "sendfile64" }, /* 239 */
++ { 5, 0, sys_futex, "futex" }, /* 240 */
++ { 3, 0, sys_sched_setaffinity, "sched_setaffinity" },/* 241 */
++ { 3, 0, sys_sched_getaffinity, "sched_getaffinity" },/* 242 */
++ { 1, 0, sys_set_thread_area, "set_thread_area" }, /* 243 */
++ { 1, 0, sys_get_thread_area, "get_thread_area" }, /* 244 */
++ { 2, 0, printargs, "io_setup" }, /* 245 */
++ { 1, 0, printargs, "io_destroy" }, /* 246 */
++ { 5, 0, printargs, "io_getevents" }, /* 247 */
++ { 3, 0, printargs, "io_submit" }, /* 248 */
++ { 3, 0, printargs, "io_cancel" }, /* 249 */
++ { 5, 0, printargs, "SYS_250" }, /* 250 */
++ { 5, 0, printargs, "SYS_251" }, /* 251 */
++ { 1, TP, sys_exit, "exit_group" }, /* 252 */
++ { 4, 0, printargs, "lookup_dcookie"}, /* 253 */
++ { 1, 0, printargs, "epoll_create" }, /* 254 */
++ { 4, 0, printargs, "epoll_ctl" }, /* 255 */
++ { 4, 0, printargs, "epoll_wait" }, /* 256 */
++ { 5, 0, sys_remap_file_pages, "remap_file_pages"}, /* 257 */
++ { 1, 0, printargs, "set_tid_address"}, /* 258 */
++ { 3, 0, sys_timer_create, "timer_create" }, /* 259 */
++ { 4, 0, sys_timer_settime, "timer_settime" }, /* 260 */
++ { 2, 0, sys_timer_gettime, "timer_gettime" }, /* 261 */
++ { 1, 0, sys_timer_getoverrun, "timer_getoverrun"}, /* 262 */
++ { 1, 0, sys_timer_delete, "timer_delete" }, /* 263 */
++ { 2, 0, sys_clock_settime, "clock_settime" }, /* 264 */
++ { 2, 0, sys_clock_gettime, "clock_gettime" }, /* 265 */
++ { 2, 0, sys_clock_getres, "clock_getres" }, /* 266 */
++ { 4, 0, sys_clock_nanosleep, "clock_nanosleep"}, /* 267 */
++ { 3, TF, sys_statfs64, "statfs64" }, /* 268 */
++ { 3, 0, sys_fstatfs64, "fstatfs64" }, /* 269 */
++ { 3, TS, sys_tgkill, "tgkill" }, /* 270 */
++ { 2, TF, sys_utimes, "utimes" }, /* 271 */
++ { 5, 0, printargs, "SYS_272" }, /* 272 */
++ { 5, 0, printargs, "SYS_273" }, /* 273 */
++ { 5, 0, printargs, "SYS_274" }, /* 274 */
++ { 5, 0, printargs, "SYS_275" }, /* 275 */
++ { 5, 0, printargs, "SYS_276" }, /* 276 */
++ { 4, 0, sys_mq_open, "mq_open" }, /* 277 */
++ { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 278 */
++ { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 279 */
++ { 5, 0, sys_mq_timedreceive, "mq_timedreceive" }, /* 280 */
++ { 2, 0, sys_mq_notify, "mq_notify" }, /* 281 */
++ { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 282 */
++ { 5, 0, printargs, "SYS_283" }, /* 283 */
++ { 5, 0, printargs, "SYS_284" }, /* 284 */
++ { 5, 0, printargs, "SYS_285" }, /* 285 */
++ { 5, 0, printargs, "SYS_286" }, /* 286 */
++ { 5, 0, printargs, "SYS_287" }, /* 287 */
++ { 5, 0, printargs, "SYS_288" }, /* 288 */
++ { 5, 0, printargs, "SYS_289" }, /* 289 */
++ { 5, 0, printargs, "SYS_290" }, /* 290 */
++ { 5, 0, printargs, "SYS_291" }, /* 291 */
++ { 5, 0, printargs, "SYS_292" }, /* 292 */
++ { 5, 0, printargs, "SYS_293" }, /* 293 */
++ { 5, 0, printargs, "SYS_294" }, /* 294 */
++ { 5, 0, printargs, "SYS_295" }, /* 295 */
++ { 5, 0, printargs, "SYS_296" }, /* 296 */
++ { 5, 0, printargs, "SYS_297" }, /* 297 */
++ { 5, 0, printargs, "SYS_298" }, /* 298 */
++ { 5, 0, printargs, "SYS_299" }, /* 299 */
++
++#if SYS_socket_subcall != 300 && !defined X86_64 /* pers1 broken on x86-64 */
++ #error fix me
++#endif
++ { 8, 0, printargs, "socket_subcall"}, /* 300 */
++ { 3, TN, sys_socket, "socket" }, /* 301 */
++ { 3, TN, sys_bind, "bind" }, /* 302 */
++ { 3, TN, sys_connect, "connect" }, /* 303 */
++ { 2, TN, sys_listen, "listen" }, /* 304 */
++ { 3, TN, sys_accept, "accept" }, /* 305 */
++ { 3, TN, sys_getsockname, "getsockname" }, /* 306 */
++ { 3, TN, sys_getpeername, "getpeername" }, /* 307 */
++ { 4, TN, sys_socketpair, "socketpair" }, /* 308 */
++ { 4, TN, sys_send, "send" }, /* 309 */
++ { 4, TN, sys_recv, "recv" }, /* 310 */
++ { 6, TN, sys_sendto, "sendto" }, /* 311 */
++ { 6, TN, sys_recvfrom, "recvfrom" }, /* 312 */
++ { 2, TN, sys_shutdown, "shutdown" }, /* 313 */
++ { 5, TN, sys_setsockopt, "setsockopt" }, /* 314 */
++ { 5, TN, sys_getsockopt, "getsockopt" }, /* 315 */
++ { 5, TN, sys_sendmsg, "sendmsg" }, /* 316 */
++ { 5, TN, sys_recvmsg, "recvmsg" }, /* 317 */
++
++#if SYS_ipc_subcall != 318 && !defined X86_64 /* pers1 broken on x86-64 */
++ #error fix me
++#endif
++ { 4, 0, printargs, "ipc_subcall" }, /* 318 */
++ { 4, TI, sys_semop, "semop" }, /* 319 */
++ { 4, TI, sys_semget, "semget" }, /* 320 */
++ { 4, TI, sys_semctl, "semctl" }, /* 321 */
++ { 5, TI, sys_semtimedop, "semtimedop" }, /* 322 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 323 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 324 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 325 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 326 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 327 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 328 */
++ { 4, TI, sys_msgsnd, "msgsnd" }, /* 329 */
++ { 4, TI, sys_msgrcv, "msgrcv" }, /* 330 */
++ { 4, TI, sys_msgget, "msgget" }, /* 331 */
++ { 4, TI, sys_msgctl, "msgctl" }, /* 332 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 333 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 334 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 335 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 336 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 337 */
++ { 4, 0, printargs, "ipc_subcall" }, /* 338 */
++ { 4, TI, sys_shmat, "shmat" }, /* 339 */
++ { 4, TI, sys_shmdt, "shmdt" }, /* 340 */
++ { 4, TI, sys_shmget, "shmget" }, /* 341 */
++ { 4, TI, sys_shmctl, "shmctl" }, /* 342 */
diff --git a/meta/packages/strace/strace_4.5.12.bb b/meta/packages/strace/strace_4.5.12.bb
new file mode 100644
index 0000000000..95a5b7fa9b
--- /dev/null
+++ b/meta/packages/strace/strace_4.5.12.bb
@@ -0,0 +1,13 @@
+LICENSE = "GPL"
+SECTION = "console/utils"
+PR = "r0"
+
+DESCRIPTION = "strace is a system call tracing tool."
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2 \
+ file://arm-syscallent.patch;patch=1 \
+ file://quota.patch;patch=1"
+
+inherit autotools
+
+export INCLUDES = "-I. -I./linux"
diff --git a/meta/packages/sysfsutils/sysfsutils_2.0.0.bb b/meta/packages/sysfsutils/sysfsutils_2.0.0.bb
new file mode 100644
index 0000000000..176c8870e4
--- /dev/null
+++ b/meta/packages/sysfsutils/sysfsutils_2.0.0.bb
@@ -0,0 +1,23 @@
+DEFAULT_PREFERENCE = "-1"
+
+SECTION = "base"
+DESCRIPTION = "System Utilities Based on Sysfs"
+HOMEPAGE = "http://linux-diag.sourceforge.net/Sysfsutils.html"
+LICENSE = "GPLv2"
+SRC_URI = "${SOURCEFORGE_MIRROR}/linux-diag/sysfsutils-${PV}.tar.gz"
+
+S = "${WORKDIR}/sysfsutils-${PV}"
+
+inherit autotools
+
+includedir += "/sysfs"
+
+PACKAGES_prepend = "libsysfs "
+FILES_libsysfs = "${libdir}/*.so.2.0.0"
+
+do_stage () {
+ oe_libinstall -a -so -C lib libsysfs ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/sysfs
+ install -m 0644 ${S}/include/dlist.h ${STAGING_INCDIR}/sysfs
+ install -m 0644 ${S}/include/libsysfs.h ${STAGING_INCDIR}/sysfs
+}
diff --git a/meta/packages/sysvinit/sysvinit-2.86/install.patch b/meta/packages/sysvinit/sysvinit-2.86/install.patch
new file mode 100644
index 0000000000..01c1367c03
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit-2.86/install.patch
@@ -0,0 +1,77 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- sysvinit-2.85/src/Makefile~install
++++ sysvinit-2.85/src/Makefile
+@@ -47,7 +47,15 @@
+ BIN_GROUP = root
+ BIN_COMBO = $(BIN_OWNER):$(BIN_GROUP)
+ INSTALL = install -o $(BIN_OWNER) -g $(BIN_GROUP)
+-MANDIR = /usr/share/man
++
++ROOT =
++bindir = /bin
++sbindir = /sbin
++usrbindir = /usr/bin
++usrbindir = /usr/bin
++includedir = /usr/include
++mandir = /usr/share/man
++
+
+ # Additional libs for GNU libc.
+ ifneq ($(wildcard /usr/lib/libcrypt.a),)
+@@ -110,32 +118,39 @@
+ distclean: clobber
+
+ install:
++ install -d $(ROOT)$(bindir)
+ for i in $(BIN); do \
+- $(INSTALL) -m 755 $$i $(ROOT)/bin/; \
++ $(INSTALL) -m 755 $$i $(ROOT)$(bindir)/; \
+ done
++ install -d $(ROOT)$(sbindir)
+ for i in $(SBIN); do \
+- $(INSTALL) -m 755 $$i $(ROOT)/sbin/; \
++ $(INSTALL) -m 755 $$i $(ROOT)$(sbindir)/; \
+ done
++ install -d $(ROOT)$(usrbindir)
+ for i in $(USRBIN); do \
+- $(INSTALL) -m 755 $$i $(ROOT)/usr/bin/; \
++ $(INSTALL) -m 755 $$i $(ROOT)$(usrbindir)/; \
+ done
+ # $(INSTALL) -m 755 etc/initscript.sample $(ROOT)/etc/
+- ln -sf halt $(ROOT)/sbin/reboot
+- ln -sf halt $(ROOT)/sbin/poweroff
+- ln -sf init $(ROOT)/sbin/telinit
+- ln -sf ../sbin/killall5 $(ROOT)/bin/pidof
+- if [ ! -f $(ROOT)/usr/bin/lastb ]; then \
+- ln -sf last $(ROOT)/usr/bin/lastb; \
++ ln -sf halt $(ROOT)$(sbindir)/reboot
++ ln -sf halt $(ROOT)$(sbindir)/poweroff
++ ln -sf init $(ROOT)$(sbindir)/telinit
++ ln -sf ../sbin/killall5 $(ROOT)$(bindir)/pidof
++ if [ ! -f $(ROOT)$(usrbindir)/lastb ]; then \
++ ln -sf last $(ROOT)$(usrbindir)/lastb; \
+ fi
+- $(INSTALL) -m 644 initreq.h $(ROOT)/usr/include/
++ install -d $(ROOT)$(includedir)
++ $(INSTALL) -m 644 initreq.h $(ROOT)$(includedir)/
++ install -d $(ROOT)$(mandir)/man1 \
++ $(ROOT)$(mandir)/man5 \
++ $(ROOT)$(mandir)/man8
+ for i in $(MAN1); do \
+- $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man1/; \
++ $(INSTALL) -m 644 ../man/$$i $(ROOT)$(mandir)/man1/; \
+ done
+ for i in $(MAN5); do \
+- $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man5/; \
++ $(INSTALL) -m 644 ../man/$$i $(ROOT)$(mandir)/man5/; \
+ done
+ for i in $(MAN8); do \
+- $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man8/; \
++ $(INSTALL) -m 644 ../man/$$i $(ROOT)$(mandir)/man8/; \
+ done
+ ifeq ($(ROOT),)
+ #
diff --git a/meta/packages/sysvinit/sysvinit-2.86/sysvinit-2.86.patch b/meta/packages/sysvinit/sysvinit-2.86/sysvinit-2.86.patch
new file mode 100644
index 0000000000..b83f525c3e
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit-2.86/sysvinit-2.86.patch
@@ -0,0 +1,4880 @@
+diff -urNd -urNd sysvinit-2.85/COPYRIGHT sysvinit-2.86/COPYRIGHT
+--- sysvinit-2.85/COPYRIGHT 2003-04-15 03:45:44.000000000 -0500
++++ sysvinit-2.86/COPYRIGHT 2004-07-30 07:12:12.000000000 -0500
+@@ -1,4 +1,4 @@
+-Sysvinit is Copyright (C) 1991-2003 Miquel van Smoorenburg
++Sysvinit is Copyright (C) 1991-2004 Miquel van Smoorenburg
+
+ 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
+diff -urNd -urNd sysvinit-2.85/doc/Changelog sysvinit-2.86/doc/Changelog
+--- sysvinit-2.85/doc/Changelog 2003-04-15 09:37:58.000000000 -0500
++++ sysvinit-2.86/doc/Changelog 2004-07-30 07:15:06.000000000 -0500
+@@ -1,3 +1,29 @@
++sysvinit (2.86) cistron; urgency=low
++
++ * Fixed up bootlogd to read /proc/cmdline. Also keep an internal
++ linebuffer to process \r, \t and ^H. It is becoming useable.
++ * Applied trivial OWL patches
++ * Block signals in syslog(), since syslog() is not re-entrant
++ (James Olin Oden <joden@malachi.lee.k12.nc.us>, redhat bug #97534)
++ * Minor adjustements so that sysvinit compiles on the Hurd
++ * killall5 now skips kernel threads
++ * Inittab entries with both 'S' and other runlevels were broken.
++ Fix by Bryan Kadzban <bryan@kadzban.is-a-geek.net>
++ * Changed initreq.h to be more flexible and forwards-compatible.
++ * You can now through /dev/initctl set environment variables in
++ init that will be inherited by its children. For now, only
++ variables prefixed with INIT_ can be set and the maximum is
++ 16 variables. There's also a length limit due to the size
++ of struct init_request, so it should be safe from abuse.
++ * Option -P and -H to shutdown set INIT_HALT=POWERDOWN and
++ INIT_HALT=HALT as environment variables as described above
++ * Add "mountpoint" utility.
++ * Slightly better algorithm in killall5.c:pidof()
++ * Added some patches from fedora-core (halt-usage, last -t,
++ sulogin-message, user-console)
++
++ -- Miquel van Smoorenburg <miquels@cistron.nl> Fri, 30 Jul 2004 14:14:58 +0200
++
+ sysvinit (2.85) cistron; urgency=low
+
+ * Add IPv6 support in last(1)
+diff -urNd -urNd sysvinit-2.85/doc/Install sysvinit-2.86/doc/Install
+--- sysvinit-2.85/doc/Install 2003-04-15 03:46:49.000000000 -0500
++++ sysvinit-2.86/doc/Install 2004-07-30 07:15:40.000000000 -0500
+@@ -1,5 +1,5 @@
+
+- README for the System V style init, version 2.85
++ README for the System V style init, version 2.86
+
+ init, shutdown, halt, reboot, wall, last, mesg, runlevel,
+ killall5, pidof, sulogin.
+diff -urNd -urNd sysvinit-2.85/doc/bootlogd.README sysvinit-2.86/doc/bootlogd.README
+--- sysvinit-2.85/doc/bootlogd.README 2000-09-12 16:54:31.000000000 -0500
++++ sysvinit-2.86/doc/bootlogd.README 2004-06-09 07:47:45.000000000 -0500
+@@ -1,10 +1,12 @@
+
+ bootlogd: a way to capture all console output during bootup
+- in a logfile. ** PROOF OF CONCEPT IMPLEMENTATION **
++ in a logfile.
+
+-- bootlogd opens /dev/console
+-- finds out what the real console is with an ioctl()
+-- then opens the real console
++- bootlogd opens /dev/console and finds out what the real console is
++ with an ioctl() if TIOCCONS is available
++- otherwise bootlogd tries to parse /proc/cmdline for console=
++ kernel command line arguments
++- then opens the (most probable) real console
+ - allocates a pty pair
+ - redirects console I/O to the pty pair
+ - then goes in a loop reading from the pty, writing to the real
+diff -urNd -urNd sysvinit-2.85/doc/sysvinit-2.85.lsm sysvinit-2.86/doc/sysvinit-2.85.lsm
+--- sysvinit-2.85/doc/sysvinit-2.85.lsm 2003-04-18 16:04:12.000000000 -0500
++++ sysvinit-2.86/doc/sysvinit-2.85.lsm 2004-06-09 07:47:45.000000000 -0500
+@@ -1,7 +1,7 @@
+ Begin3
+ Title: sysvinit and utilities
+ Version: 2.85
+-Entered-Date: 18APR2003
++Entered-Date: 15APR2003
+ Description: This is the Linux System V init.
+ This version can be compiled with glibc 2.0.6 and up.
+ Author: miquels@cistron.nl (Miquel van Smoorenburg)
+diff -urNd -urNd sysvinit-2.85/doc/sysvinit-2.86.lsm sysvinit-2.86/doc/sysvinit-2.86.lsm
+--- sysvinit-2.85/doc/sysvinit-2.86.lsm 1969-12-31 18:00:00.000000000 -0600
++++ sysvinit-2.86/doc/sysvinit-2.86.lsm 2004-07-31 08:35:28.000000000 -0500
+@@ -0,0 +1,14 @@
++Begin3
++Title: sysvinit and utilities
++Version: 2.86
++Entered-Date: 30JUL2004
++Description: This is the Linux System V init.
++ This version can be compiled with glibc 2.0.6 and up.
++Author: miquels@cistron.nl (Miquel van Smoorenburg)
++Primary-Site: ftp.cistron.nl /pub/people/miquels/software
++ 92K sysvinit-2.86.tar.gz
++Alternate-Site: sunsite.unc.edu /pub/Linux/system/daemons/init
++ 92K sysvinit-2.86.tar.gz
++Copying-Policy: GPL
++Keywords: init shutdown halt reboot
++End
+diff -urNd -urNd sysvinit-2.85/man/bootlogd.8 sysvinit-2.86/man/bootlogd.8
+--- sysvinit-2.85/man/bootlogd.8 1969-12-31 18:00:00.000000000 -0600
++++ sysvinit-2.86/man/bootlogd.8 2004-06-09 07:47:45.000000000 -0500
+@@ -0,0 +1,39 @@
++.TH BOOTLOGD 8 "Jul 21, 2003" "" "Linux System Administrator's Manual"
++.SH NAME
++bootlogd \- record boot messages
++.SH SYNOPSIS
++.B /sbin/bootlogd
++.RB [ \-d ]
++.RB [ \-r ]
++.RB [ \-v ]
++.RB [ " -l logfile " ]
++.RB [ " -p pidfile " ]
++.SH DESCRIPTION
++\fBBootlogd\fP runs in the background and copies all strings sent to the
++\fI/dev/console\fP device to a logfile. If the logfile is not accessible,
++the messages will be buffered in-memory until it is.
++.SH OPTIONS
++.IP \fB\-d\fP
++Do not fork and run in the background.
++.IP \fB\-r\fP
++If there is an existing logfile called \fIlogfile\fP rename it to
++\fIlogfile~\fP unless \fIlogfile~\fP already exists.
++.IP \fB\-v\fP
++Show version.
++.IP \fB\-l logfile\fP
++Log to this logfile. The default is \fI/var/log/boot\fP.
++.IP \fB\-p pidfile\fP
++Put process-id in this file. The default is no pidfile.
++.SH BUGS
++Bootlogd works by redirecting the console output from the console
++device. It copies that output to the real console device and a
++logfile. There is no standard way to find out the real console device
++if you have a new-style \fI/dev/console\fP device (major 5, minor 1).
++\fBBootlogd\fP tries to parse the kernel command line, looking for
++console= lines and deducts the real console device from that. If that
++syntax is ever changed by the kernel, or a console-type is used
++bootlogd does not know about, bootlogd will not work.
++.SH AUTHOR
++Miquel van Smoorenburg, miquels@cistron.nl
++.SH "SEE ALSO"
++.BR dmesg (8)
+diff -urNd -urNd sysvinit-2.85/man/init.8 sysvinit-2.86/man/init.8
+--- sysvinit-2.85/man/init.8 2003-04-18 16:05:03.000000000 -0500
++++ sysvinit-2.86/man/init.8 2004-07-29 06:21:31.000000000 -0500
+@@ -1,6 +1,6 @@
+ .\"{{{}}}
+ .\"{{{ Title
+-.TH INIT 8 "18 April 2003" "" "Linux System Administrator's Manual"
++.TH INIT 8 "29 Jul 2004" "" "Linux System Administrator's Manual"
+ .\"}}}
+ .\"{{{ Name
+ .SH NAME
+@@ -160,7 +160,7 @@
+ .SH ENVIRONMENT
+ \fBInit\fP sets the following environment variables for all its children:
+ .IP \fBPATH\fP
+-\fI/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin\fP
++\fI/bin:/usr/bin:/sbin:/usr/sbin\fP
+ .IP \fBINIT_VERSION\fP
+ As the name says. Useful to determine if a script runs directly from \fBinit\fP.
+ .IP \fBRUNLEVEL\fP
+diff -urNd -urNd sysvinit-2.85/man/initscript.5 sysvinit-2.86/man/initscript.5
+--- sysvinit-2.85/man/initscript.5 1999-12-24 16:31:21.000000000 -0600
++++ sysvinit-2.86/man/initscript.5 2004-06-09 07:47:45.000000000 -0500
+@@ -1,4 +1,4 @@
+-.TH INITSCRIPT 5 "December 24, 1999" "" "Linux System Administrator's Manual"
++.TH INITSCRIPT 5 "July 10, 2003" "" "Linux System Administrator's Manual"
+ .SH NAME
+ initscript \- script that executes inittab commands.
+ .SH SYNOPSIS
+@@ -40,6 +40,12 @@
+
+ .sp
+ .RE
++.SH NOTES
++This script is not meant as startup script for daemons or somesuch.
++It has nothing to do with a \fIrc.local\fP style script. It's just
++a handler for things executed from \fB/etc/inittab\fP. Experimenting
++with this can make your system un(re)bootable.
++.RE
+ .SH FILES
+ /etc/inittab,
+ /etc/initscript.
+diff -urNd -urNd sysvinit-2.85/man/killall5.8 sysvinit-2.86/man/killall5.8
+--- sysvinit-2.85/man/killall5.8 1997-05-27 05:34:21.000000000 -0500
++++ sysvinit-2.86/man/killall5.8 2004-06-09 07:47:45.000000000 -0500
+@@ -1,4 +1,4 @@
+-.TH KILLALL5 8 "27 May 1997" "" "Linux System Administrator's Manual"
++.TH KILLALL5 8 "04 Nov 2003" "" "Linux System Administrator's Manual"
+ .SH NAME
+ killall5 -- send a signal to all processes.
+ .SH SYNOPSIS
+@@ -7,9 +7,9 @@
+ .SH DESCRIPTION
+ .B killall5
+ is the SystemV killall command. It sends a signal to all processes except
+-the processes in its own session, so it won't kill the shell that is
+-running the script it was called from. Its primary (only) use is in the
+-\fBrc\fP scripts found in the /etc/init.d directory.
++kernel threads and the processes in its own session, so it won't kill
++the shell that is running the script it was called from. Its primary
++(only) use is in the \fBrc\fP scripts found in the /etc/init.d directory.
+ .SH SEE ALSO
+ .BR halt (8),
+ .BR reboot (8)
+diff -urNd -urNd sysvinit-2.85/man/last.1 sysvinit-2.86/man/last.1
+--- sysvinit-2.85/man/last.1 1999-07-29 05:50:34.000000000 -0500
++++ sysvinit-2.86/man/last.1 2004-07-30 06:39:18.000000000 -0500
+@@ -1,6 +1,6 @@
+ .\"{{{}}}
+ .\"{{{ Title
+-.TH LAST,LASTB 1 "Jul 29, 1999" "" "Linux System Administrator's Manual"
++.TH LAST,LASTB 1 "Jul 31, 2004" "" "Linux System Administrator's Manual"
+ .\"}}}
+ .\"{{{ Name
+ .SH NAME
+@@ -14,6 +14,7 @@
+ .RB "[ \-\fBn\fP \fInum\fP ]"
+ .RB [ \-adiox ]
+ .RB "[ \-\fBf\fP \fIfile\fP ]"
++.RB "[ \-\fBt\fP \fIYYYYMMDDHHMMSS\fP ]"
+ .RI [ name... ]
+ .RI [ tty... ]
+ .br
+@@ -54,6 +55,11 @@
+ This is a count telling \fBlast\fP how many lines to show.
+ .IP "\fB\-n\fP \fInum\fP"
+ The same.
++.IP "\fB\-t\fP \fIYYYYMMDDHHMMSS\fP"
++Display the state of logins as of the specified time. This is
++useful, e.g., to determine easily who was logged in at a particular
++time -- specify that time with \fB\-t\fP and look for "still logged
++in".
+ .IP \fB\-R\fP
+ Suppresses the display of the hostname field.
+ .IP \fB\-a\fP
+diff -urNd -urNd sysvinit-2.85/man/mesg.1 sysvinit-2.86/man/mesg.1
+--- sysvinit-2.85/man/mesg.1 2001-02-26 06:01:10.000000000 -0600
++++ sysvinit-2.86/man/mesg.1 2004-06-09 07:47:45.000000000 -0500
+@@ -27,7 +27,7 @@
+ If no option is given, \fBmesg\fP prints out the current access state of your
+ terminal.
+ .PP NOTES
+-\fBMesg\fP assumes that it's standard input is connected to your
++\fBMesg\fP assumes that its standard input is connected to your
+ terminal. That also means that if you are logged in multiple times,
+ you can get/set the mesg status of other sessions by using redirection.
+ For example "mesg n < /dev/pts/46".
+diff -urNd -urNd sysvinit-2.85/man/mountpoint.1 sysvinit-2.86/man/mountpoint.1
+--- sysvinit-2.85/man/mountpoint.1 1969-12-31 18:00:00.000000000 -0600
++++ sysvinit-2.86/man/mountpoint.1 2004-06-09 07:47:45.000000000 -0500
+@@ -0,0 +1,37 @@
++.TH MOUNTPOINT 8 "Mar 15, 2004" "" "Linux System Administrator's Manual"
++.SH NAME
++mountpoint \- see if a directory is a mountpoint
++.SH SYNOPSIS
++.B /bin/mountpoint
++.RB [ \-q ]
++.RB [ \-d ]
++.I /path/to/directory
++.br
++.B /bin/mountpoint
++.RB \-x
++.I /dev/device
++.SH DESCRIPTION
++\fBMountpoint\fP checks if the directory is a mountpoint.
++
++.SH OPTIONS
++.IP \fB\-q\fP
++Be quiet - don't print anything.
++.IP \fB\-d\fP
++Print major/minor device number of the filesystem on stdout.
++.IP \fB\-x\fP
++Print major/minor device number of the blockdevice on stdout.
++.SH EXIT STATUS
++Zero if the directory is a mountpoint, non-zero if not.
++.SH NOTES
++Symbolic links are not followed, except when the \fB-x\fP option is
++used. To force following symlinks, add a trailing slash to the
++path of the directory.
++.PP
++The name of the command is misleading when the -x option is used,
++but the option is useful for comparing if a directory and a device
++match up, and there is no other command that can print the info easily.
++.PP
++.SH AUTHOR
++Miquel van Smoorenburg, miquels@cistron.nl
++.SH "SEE ALSO"
++.BR stat (1)
+diff -urNd -urNd sysvinit-2.85/man/shutdown.8 sysvinit-2.86/man/shutdown.8
+--- sysvinit-2.85/man/shutdown.8 2001-10-02 16:27:50.000000000 -0500
++++ sysvinit-2.86/man/shutdown.8 2004-06-09 07:47:45.000000000 -0500
+@@ -1,6 +1,6 @@
+ .\"{{{}}}
+ .\"{{{ Title
+-.TH SHUTDOWN 8 "Juli 31, 2001" "" "Linux System Administrator's Manual"
++.TH SHUTDOWN 8 "November 12, 2003" "" "Linux System Administrator's Manual"
+ .\"}}}
+ .\"{{{ Name
+ .SH NAME
+@@ -11,7 +11,7 @@
+ .B /sbin/shutdown
+ .RB [ \-t
+ .IR sec ]
+-.RB [ \-arkhncfF ]
++.RB [ \-arkhncfFHP ]
+ .I time
+ .RI [ warning-message ]
+ .\"}}}
+@@ -54,7 +54,16 @@
+ .\"}}}
+ .\"{{{ -h
+ .IP \fB\-h\fP
+-Halt after shutdown.
++Halt or poweroff after shutdown.
++.\"}}}
++.\"{{{ -H
++.IP \fB\-H\fP
++Halt action is to halt or drop into boot monitor on systems that
++support it.
++.\"}}}
++.\"{{{ -P
++.IP \fB\-P\fP
++Halt action is to turn off the power.
+ .\"}}}
+ .\"{{{ -n
+ .IP \fB\-n\fP
+@@ -141,6 +150,14 @@
+ .sp 1
+ Note that if \fI/etc/shutdown.allow\fP is not present, the \fB-a\fP
+ argument is ignored.
++.SH HALT OR POWEROFF
++The \fB-H\fP option just sets the \fIinit\fP environment variable
++\fIINIT_HALT\fP to \fIHALT\fP, and the \fB-P\fP option just sets
++that variable to \fIPOWEROFF\fP. The shutdown script that calls
++\fBhalt\fP(8) as the last thing in the shutdown sequence should
++check these environment variables and call \fBhalt\fP(8) with
++the right options for these options to actually have any effect.
++Debian 3.1 (sarge) supports this.
+ .SH FILES
+ .nf
+ /fastboot
+diff -urNd -urNd sysvinit-2.85/man/sulogin.8 sysvinit-2.86/man/sulogin.8
+--- sysvinit-2.85/man/sulogin.8 2000-09-11 07:19:25.000000000 -0500
++++ sysvinit-2.86/man/sulogin.8 2004-06-09 07:47:45.000000000 -0500
+@@ -1,4 +1,4 @@
+-.TH SULOGIN 8 "11 Sep 2000" "" "Linux System Administrator's Manual"
++.TH SULOGIN 8 "04 Nov 2003" "" "Linux System Administrator's Manual"
+ .SH NAME
+ sulogin -- Single-user login
+ .SH SYNOPSIS
+@@ -20,7 +20,7 @@
+ .br
+ (or type Control-D for normal startup):
+ .PP
+-\fIsulogin\fP will connected to the current terminal, or to the
++\fIsulogin\fP will be connected to the current terminal, or to the
+ optional device that can be specified on the command line
+ (typically \fB/dev/console\fP).
+ .PP
+@@ -45,16 +45,18 @@
+ .PP
+ boot: linux -b rw sushell=/sbin/sash
+ .SH FALLBACK METHODS
+-\fIsulogin\fP checks the root password using the standard methods first.
+-If the \fB-e\fP option was specified,
+-\fIsulogin\fP examines the next files to find the root password. If
+-they are damaged, or non-existant, it will use fallback methods that
+-even go so far as to provide you with a shell prompt without asking
+-for the root password if they are irrepairably damaged.
++\fIsulogin\fP checks the root password using the standard method (getpwnam)
++first.
++Then, if the \fB-e\fP option was specified,
++\fIsulogin\fP examines these files directly to find the root password:
+ .PP
+ /etc/passwd,
+ .br
+ /etc/shadow (if present)
++.PP
++If they are damaged or non-existant, sulogin will start a root shell
++without asking for a password. Only use the \fB-e\fP option if you
++are sure the console is physically protected against unauthorized access.
+ .SH AUTHOR
+ Miquel van Smoorenburg <miquels@cistron.nl>
+ .SH SEE ALSO
+diff -urNd -urNd sysvinit-2.85/man/wall.1 sysvinit-2.86/man/wall.1
+--- sysvinit-2.85/man/wall.1 2003-04-16 04:17:38.000000000 -0500
++++ sysvinit-2.86/man/wall.1 2004-06-09 07:47:45.000000000 -0500
+@@ -47,7 +47,7 @@
+ .I Wall
+ ignores the
+ .B TZ
+-variable - the time printed in the banner is based on the systems
++variable - the time printed in the banner is based on the system's
+ local time.
+
+ .SH SEE ALSO
+diff -urNd -urNd sysvinit-2.85/src/Makefile sysvinit-2.86/src/Makefile
+--- sysvinit-2.85/src/Makefile 2001-11-06 05:58:16.000000000 -0600
++++ sysvinit-2.86/src/Makefile 2004-06-09 07:47:45.000000000 -0500
+@@ -5,34 +5,56 @@
+ # clean cleans up object files
+ # clobber really cleans up
+ #
+-# Version: @(#)Makefile 2.83-3 06-Nov-2001 miquels@cistron.nl
++# Version: @(#)Makefile 2.85-13 23-Mar-2004 miquels@cistron.nl
+ #
+
+-CC = cc
+-CFLAGS = -Wall -O2 -D_GNU_SOURCE
++CC = gcc
++CFLAGS = -Wall -O2 -fomit-frame-pointer -D_GNU_SOURCE
+ LDFLAGS = -s
+ STATIC =
+
+-# For Debian we do not build all programs, otherwise we do.
+-ifeq ($(DEBIAN),)
+-PROGS = init halt shutdown killall5 runlevel sulogin utmpdump \
+- last mesg wall
+-else
+-PROGS = init halt shutdown killall5 runlevel sulogin last mesg
++# For some known distributions we do not build all programs, otherwise we do.
++BIN =
++SBIN = init halt shutdown runlevel killall5
++USRBIN = last mesg
++
++MAN1 = last.1 lastb.1 mesg.1
++MAN5 = initscript.5 inittab.5
++MAN8 = halt.8 init.8 killall5.8 pidof.8 poweroff.8 reboot.8 runlevel.8
++MAN8 += shutdown.8 telinit.8
++
++ifeq ($(DISTRO),)
++BIN += mountpoint
++SBIN += sulogin bootlogd
++USRBIN += utmpdump wall
++MAN1 += mountpoint.1 wall.1
++MAN8 += sulogin.8 bootlogd.8
++endif
++
++ifeq ($(DISTRO),Debian)
++BIN += mountpoint
++SBIN += sulogin bootlogd
++MAN1 += mountpoint.1
++MAN8 += sulogin.8 bootlogd.8
++endif
++
++ifeq ($(DISTRO),Owl)
++USRBIN += wall
++MAN1 += wall.1
+ endif
+
+ BIN_OWNER = root
+ BIN_GROUP = root
+-BIN_COMBO = $(BIN_OWNER).$(BIN_GROUP)
++BIN_COMBO = $(BIN_OWNER):$(BIN_GROUP)
+ INSTALL = install -o $(BIN_OWNER) -g $(BIN_GROUP)
+ MANDIR = /usr/share/man
+
+-# Additional libs for Gnu Libc
++# Additional libs for GNU libc.
+ ifneq ($(wildcard /usr/lib/libcrypt.a),)
+ LCRYPT = -lcrypt
+ endif
+
+-all: $(PROGS)
++all: $(BIN) $(SBIN) $(USRBIN)
+
+ init: init.o init_utmp.o
+ $(CC) $(LDFLAGS) $(STATIC) -o $@ init.o init_utmp.o
+@@ -46,6 +68,9 @@
+ mesg: mesg.o
+ $(CC) $(LDFLAGS) -o $@ mesg.o
+
++mountpoint: mountpoint.o
++ $(CC) $(LDFLAGS) -o $@ mountpoint.o
++
+ utmpdump: utmpdump.o
+ $(CC) $(LDFLAGS) -o $@ utmpdump.o
+
+@@ -62,9 +87,9 @@
+ $(CC) $(LDFLAGS) -o $@ dowall.o shutdown.o utmp.o
+
+ bootlogd: bootlogd.o
+- $(CC) $(LDFLAGS) -o $@ bootlogd.o
++ $(CC) $(LDFLAGS) -o $@ bootlogd.o -lutil
+
+-init.o: init.c init.h set.h reboot.h
++init.o: init.c init.h set.h reboot.h initreq.h
+ $(CC) -c $(CFLAGS) init.c
+
+ utmp.o: utmp.c init.h
+@@ -80,36 +105,44 @@
+ @echo Type \"make clobber\" to really clean up.
+
+ clobber: cleanobjs
+- rm -f $(PROGS)
++ rm -f $(BIN) $(SBIN) $(USRBIN)
+
+ distclean: clobber
+
+ install:
+- $(INSTALL) -m 755 halt init killall5 sulogin \
+- runlevel shutdown $(ROOT)/sbin
+- # These are not installed by default
+-ifeq ($(DEBIAN),)
+- $(INSTALL) -m 555 utmpdump wall $(ROOT)/usr/bin
+-endif
+- # $(INSTALL) -m 755 etc/initscript.sample $(ROOT)/etc
+- $(INSTALL) -m 755 mesg last $(ROOT)/usr/bin
+- cd $(ROOT)/sbin; ln -sf halt reboot; chown $(BIN_COMBO) reboot
+- cd $(ROOT)/sbin; ln -sf halt poweroff; chown $(BIN_COMBO) poweroff
+- cd $(ROOT)/sbin; ln -sf init telinit; chown $(BIN_COMBO) telinit
+- cd $(ROOT)/bin; ln -sf ../sbin/killall5 pidof; chown $(BIN_COMBO) pidof
+- cd $(ROOT)/usr/bin; ln -sf last lastb; chown $(BIN_COMBO) lastb
+- $(INSTALL) -m 644 initreq.h $(ROOT)/usr/include
+- $(INSTALL) -m 644 ../man/*.8 $(ROOT)$(MANDIR)/man8
+- $(INSTALL) -m 644 ../man/*.5 $(ROOT)$(MANDIR)/man5
+-ifeq ($(DEBIAN),)
+- $(INSTALL) -m 644 ../man/wall.1 $(ROOT)$(MANDIR)/man1
+-endif
+- $(INSTALL) -m 644 ../man/last.1 ../man/lastb.1 ../man/mesg.1 \
+- $(ROOT)$(MANDIR)/man1
++ for i in $(BIN); do \
++ $(INSTALL) -m 755 $$i $(ROOT)/bin/; \
++ done
++ for i in $(SBIN); do \
++ $(INSTALL) -m 755 $$i $(ROOT)/sbin/; \
++ done
++ for i in $(USRBIN); do \
++ $(INSTALL) -m 755 $$i $(ROOT)/usr/bin/; \
++ done
++ # $(INSTALL) -m 755 etc/initscript.sample $(ROOT)/etc/
++ ln -sf halt $(ROOT)/sbin/reboot
++ ln -sf halt $(ROOT)/sbin/poweroff
++ ln -sf init $(ROOT)/sbin/telinit
++ ln -sf ../sbin/killall5 $(ROOT)/bin/pidof
++ if [ ! -f $(ROOT)/usr/bin/lastb ]; then \
++ ln -sf last $(ROOT)/usr/bin/lastb; \
++ fi
++ $(INSTALL) -m 644 initreq.h $(ROOT)/usr/include/
++ for i in $(MAN1); do \
++ $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man1/; \
++ done
++ for i in $(MAN5); do \
++ $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man5/; \
++ done
++ for i in $(MAN8); do \
++ $(INSTALL) -m 644 ../man/$$i $(ROOT)$(MANDIR)/man8/; \
++ done
++ifeq ($(ROOT),)
+ #
+- # This part is skipped on debian systems, the
++ # This part is skipped on Debian systems, the
+ # debian.preinst script takes care of it.
+ @if [ ! -p /dev/initctl ]; then \
+ echo "Creating /dev/initctl"; \
+ rm -f /dev/initctl; \
+ mknod -m 600 /dev/initctl p; fi
++endif
+Binary files sysvinit-2.85/src/bootlogd and sysvinit-2.86/src/bootlogd differ
+diff -urNd -urNd sysvinit-2.85/src/bootlogd.c sysvinit-2.86/src/bootlogd.c
+--- sysvinit-2.85/src/bootlogd.c 2001-12-09 08:01:28.000000000 -0600
++++ sysvinit-2.86/src/bootlogd.c 2004-06-09 07:47:45.000000000 -0500
+@@ -3,12 +3,12 @@
+ * The file is usually located on the /var partition, and
+ * gets written (and fsynced) as soon as possible.
+ *
+- * Version: @(#)bootlogd 2.79 11-Sep-2000 miquels@cistron.nl
++ * Version: @(#)bootlogd 2.86pre 12-Jan-2004 miquels@cistron.nl
+ *
+ * Bugs: Uses openpty(), only available in glibc. Sorry.
+ *
+ * This file is part of the sysvinit suite,
+- * Copyright 1991-2000 Miquel van Smoorenburg.
++ * Copyright 1991-2004 Miquel van Smoorenburg.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+@@ -17,7 +17,9 @@
+ *
+ * *NOTE* *NOTE* *NOTE*
+ * This is a PROOF OF CONCEPT IMPLEMENTATION
+- * I do not recommend using this on production systems.
++ *
++ * I have bigger plans for Debian, but for now
++ * this has to do ;)
+ *
+ */
+
+@@ -38,18 +40,14 @@
+ #include <dirent.h>
+ #include <fcntl.h>
+ #include <pty.h>
+-
+-char *Version = "@(#) bootlogd 2.79 11-Sep-2000 MvS";
+-
+-/*
+- * Until the kernel knows about TIOCGDEV, use a really ugly
+- * non-portable (not even between architectures) hack.
+- */
+-#ifndef TIOCGDEV
+-# define TIOCTTYGSTRUCT_HACK 1
++#include <ctype.h>
++#ifdef __linux__
++#include <sys/mount.h>
+ #endif
+
+-#define LOGFILE "/var/log/boot.log"
++char *Version = "@(#) bootlogd 2.86 03-Jun-2004 miquels@cistron.nl";
++
++#define LOGFILE "/var/log/boot"
+
+ char ringbuf[32768];
+ char *endptr = ringbuf + sizeof(ringbuf);
+@@ -59,29 +57,32 @@
+ int got_signal = 0;
+ int didnl = 1;
+
++struct line {
++ char buf[256];
++ int pos;
++} line;
+
+-#ifdef TIOCTTYGSTRUCT_HACK
+-struct tty_offsets {
+- char *kver;
+- int offset;
+-} tty_offsets[] = {
+-#if ((~0UL) == 0xffffffff) /* 32 bits */
+- { "2.0.", 236 },
+- { "2.1.", 268 },
+- { "2.2.", 272 },
+- { "2.3.", 272 },
+- { "2.4.", 272 },
+- { "2.5.", 272 },
+-#else /* 64 bits */
+- { "2.2.", 480 },
+- { "2.3.", 480 },
+- { "2.4.", 480 },
+- { "2.5.", 480 },
+-#endif
+- { NULL, 0 },
++/*
++ * Console devices as listed on the kernel command line and
++ * the mapping to actual devices in /dev
++ */
++struct consdev {
++ char *cmdline;
++ char *dev1;
++ char *dev2;
++} consdev[] = {
++ { "ttySC", "/dev/ttySC%s", "/dev/ttsc/%s" },
++ { "ttyS", "/dev/ttyS%s", "/dev/tts/%s" },
++ { "tty", "/dev/tty%s", "/dev/vc/%s" },
++ { "hvc", "/dev/hvc%s", "/dev/hvc/%s" },
++ { NULL, NULL, NULL },
+ };
+-#endif
+
++/*
++ * Devices to try as console if not found on kernel command line.
++ * Tried from left to right (as opposed to kernel cmdline).
++ */
++char *defcons[] = { "tty0", "hvc0", "ttyS0", "ttySC0", NULL };
+
+ /*
+ * Catch signals.
+@@ -95,6 +96,8 @@
+ /*
+ * Scan /dev and find the device name.
+ * Side-effect: directory is changed to /dev
++ *
++ * FIXME: scan subdirectories for devfs support ?
+ */
+ int findtty(char *res, int rlen, dev_t dev)
+ {
+@@ -117,18 +120,88 @@
+ }
+ }
+ if (ent == NULL) {
+- fprintf(stderr, "bootlogd: cannot find console device\n");
++ fprintf(stderr, "bootlogd: cannot find console device "
++ "%d:%d in /dev\n", major(dev), minor(dev));
+ r = -1;
+- } else if (strlen(ent->d_name) >= rlen) {
++ } else if (strlen(ent->d_name) + 5 >= rlen) {
+ fprintf(stderr, "bootlogd: console device name too long\n");
+ r = -1;
+ } else
+- strcpy(res, ent->d_name);
++ snprintf(res, rlen, "/dev/%s", ent->d_name);
+ closedir(dir);
+
+ return r;
+ }
+
++/*
++ * For some reason, openpty() in glibc sometimes doesn't
++ * work at boot-time. It must be a bug with old-style pty
++ * names, as new-style (/dev/pts) is not available at that
++ * point. So, we find a pty/tty pair ourself if openpty()
++ * fails for whatever reason.
++ */
++int findpty(int *master, int *slave, char *name)
++{
++ char pty[16];
++ char tty[16];
++ int i, j;
++ int found;
++
++ if (openpty(master, slave, name, NULL, NULL) >= 0)
++ return 0;
++
++ found = 0;
++
++ for (i = 'p'; i <= 'z'; i++) {
++ for (j = '0'; j <= 'f'; j++) {
++ if (j == '9' + 1) j = 'a';
++ sprintf(pty, "/dev/pty%c%c", i, j);
++ sprintf(tty, "/dev/tty%c%c", i, j);
++ if ((*master = open(pty, O_RDWR|O_NOCTTY)) >= 0) {
++ *slave = open(tty, O_RDWR|O_NOCTTY);
++ if (*slave >= 0) {
++ found = 1;
++ break;
++ }
++ }
++ }
++ if (found) break;
++ }
++ if (found < 0) return -1;
++
++ if (name) strcpy(name, tty);
++
++ return 0;
++}
++/*
++ * See if a console taken from the kernel command line maps
++ * to a character device we know about, and if we can open it.
++ */
++int isconsole(char *s, char *res, int rlen)
++{
++ struct consdev *c;
++ int l, sl, i, fd;
++ char *p, *q;
++
++ sl = strlen(s);
++
++ for (c = consdev; c->cmdline; c++) {
++ l = strlen(c->cmdline);
++ if (sl <= l) continue;
++ p = s + l;
++ if (strncmp(s, c->cmdline, l) != 0 || !isdigit(*p))
++ continue;
++ for (i = 0; i < 2; i++) {
++ snprintf(res, rlen, i ? c->dev1 : c->dev2, p);
++ if ((q = strchr(res, ',')) != NULL) *q = 0;
++ if ((fd = open(res, O_RDONLY|O_NONBLOCK)) >= 0) {
++ close(fd);
++ return 1;
++ }
++ }
++ }
++ return 0;
++}
+
+ /*
+ * Find out the _real_ console. Assume that stdin is connected to
+@@ -136,21 +209,18 @@
+ */
+ int consolename(char *res, int rlen)
+ {
+- struct stat st;
+-#if TIOCTTYGSTRUCT_HACK
+- struct utsname uts;
+- struct tty_offsets *tt;
+- dev_t dev;
+- unsigned short *kdev;
+- char buf[4096];
+- int offset = -1;
+-#endif
+ #ifdef TIOCGDEV
+- kdev_t kdev;
++ unsigned int kdev;
+ #endif
++ struct stat st, st2;
++ char buf[256];
++ char *p;
++ int didmount = 0;
++ int n, r;
++ int fd;
+
+ fstat(0, &st);
+- if (st.st_rdev != 0x0501) {
++ if (major(st.st_rdev) != 5 || minor(st.st_rdev) != 1) {
+ /*
+ * Old kernel, can find real device easily.
+ */
+@@ -160,33 +230,78 @@
+ #ifdef TIOCGDEV
+ if (ioctl(0, TIOCGDEV, &kdev) == 0)
+ return findtty(res, rlen, (dev_t)kdev);
+- return -1;
++ if (errno != ENOIOCTLCMD) return -1;
+ #endif
+
++#ifdef __linux__
+ /*
+- * New kernel and new console device - hard to find
+- * out what device the real console is ..
++ * Read /proc/cmdline.
+ */
+-#if TIOCTTYGSTRUCT_HACK
+- if (ioctl(0, TIOCTTYGSTRUCT, buf) != 0) {
+- perror("bootlogd: TIOCTTYGSTRUCT");
++ stat("/", &st);
++ if (stat("/proc", &st2) < 0) {
++ perror("bootlogd: /proc");
+ return -1;
+ }
+- uname(&uts);
+- for (tt = tty_offsets; tt->kver; tt++)
+- if (!strncmp(uts.release, tt->kver, strlen(tt->kver))) {
+- offset = tt->offset;
++ if (st.st_dev == st2.st_dev) {
++ if (mount("proc", "/proc", "proc", 0, NULL) < 0) {
++ perror("bootlogd: mount /proc");
++ return -1;
++ }
++ didmount = 1;
++ }
++
++ n = 0;
++ r = -1;
++ if ((fd = open("/proc/cmdline", O_RDONLY)) < 0) {
++ perror("bootlogd: /proc/cmdline");
++ } else {
++ buf[0] = 0;
++ if ((n = read(fd, buf, sizeof(buf) - 1)) >= 0)
++ r = 0;
++ else
++ perror("bootlogd: /proc/cmdline");
++ close(fd);
++ }
++ if (didmount) umount("/proc");
++
++ if (r < 0) return r;
++
++ /*
++ * OK, so find console= in /proc/cmdline.
++ * Parse in reverse, opening as we go.
++ *
++ * Valid console devices: ttySC, ttyS, tty, hvc.
++ */
++ p = buf + n;
++ *p-- = 0;
++ r = -1;
++ while (p >= buf) {
++ if (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n') {
++ *p-- = 0;
++ continue;
++ }
++ if (strncmp(p, "console=", 8) == 0 &&
++ isconsole(p + 8, res, rlen)) {
++ r = 0;
+ break;
+ }
+- if (offset < 0) {
+- fprintf(stderr, "bootlogd: don't know offsetof"
+- "(struct tty_struct, device) for kernel %s\n", uts.release);
+- return -1;
++ p--;
+ }
+- kdev = (unsigned short *)(&buf[offset]);
+- dev = (dev_t)(*kdev);
+- return findtty(res, rlen, dev);
++
++ if (r == 0) return r;
+ #endif
++
++ /*
++ * Okay, no console on the command line -
++ * guess the default console.
++ */
++ for (n = 0; defcons[n]; n++)
++ if (isconsole(defcons[n], res, rlen))
++ return 0;
++
++ fprintf(stderr, "bootlogd: cannot deduce real console device\n");
++
++ return -1;
+ }
+
+
+@@ -197,9 +312,13 @@
+ {
+ time_t t;
+ char *s;
++ char tmp[8];
+ int olen = len;
++ int dosync = 0;
++ int tlen;
+
+ while (len > 0) {
++ tmp[0] = 0;
+ if (didnl) {
+ time(&t);
+ s = ctime(&t);
+@@ -207,24 +326,51 @@
+ didnl = 0;
+ }
+ switch (*ptr) {
++ case 27: /* ESC */
++ strcpy(tmp, "^[");
++ break;
+ case '\r':
++ line.pos = 0;
++ break;
++ case 8: /* ^H */
++ if (line.pos > 0) line.pos--;
+ break;
+ case '\n':
+ didnl = 1;
++ dosync = 1;
++ break;
+ case '\t':
++ line.pos += (line.pos / 8 + 1) * 8;
++ if (line.pos >= sizeof(line.buf))
++ line.pos = sizeof(line.buf) - 1;
++ break;
+ case 32 ... 127:
+ case 161 ... 255:
+- fputc(*ptr, fp);
++ tmp[0] = *ptr;
++ tmp[1] = 0;
+ break;
+ default:
+- fprintf(fp, "\\%03o", *ptr);
++ sprintf(tmp, "\\%03o", *ptr);
+ break;
+ }
+ ptr++;
+ len--;
++
++ tlen = strlen(tmp);
++ if (tlen && (line.pos + tlen < sizeof(line.buf))) {
++ memcpy(line.buf + line.pos, tmp, tlen);
++ line.pos += tlen;
++ }
++ if (didnl) {
++ fprintf(fp, "%s\n", line.buf);
++ memset(&line, 0, sizeof(line));
++ }
++ }
++
++ if (dosync) {
++ fflush(fp);
++ fdatasync(fileno(fp));
+ }
+- fflush(fp);
+- fdatasync(fileno(fp));
+
+ outptr += olen;
+ if (outptr >= endptr)
+@@ -242,6 +388,40 @@
+ exit(1);
+ }
+
++int open_nb(char *buf)
++{
++ int fd, n;
++
++ if ((fd = open(buf, O_WRONLY|O_NONBLOCK|O_NOCTTY)) < 0)
++ return -1;
++ n = fcntl(fd, F_GETFL);
++ n &= ~(O_NONBLOCK);
++ fcntl(fd, F_SETFL, n);
++
++ return fd;
++}
++
++/*
++ * We got a write error on the real console. If its an EIO,
++ * somebody hung up our filedescriptor, so try to re-open it.
++ */
++int write_err(int pts, int realfd, char *realcons, int e)
++{
++ int fd;
++
++ if (e != EIO) {
++werr:
++ close(pts);
++ fprintf(stderr, "bootlogd: writing to console: %s\n",
++ strerror(e));
++ return -1;
++ }
++ close(realfd);
++ if ((fd = open_nb(realcons)) < 0)
++ goto werr;
++
++ return fd;
++}
+
+ int main(int argc, char **argv)
+ {
+@@ -249,6 +429,7 @@
+ struct timeval tv;
+ fd_set fds;
+ char buf[1024];
++ char realcons[1024];
+ char *p;
+ char *logfile;
+ char *pidfile;
+@@ -298,23 +479,32 @@
+ /*
+ * Open console device directly.
+ */
+- if (consolename(buf, sizeof(buf)) < 0)
++ if (consolename(realcons, sizeof(realcons)) < 0)
+ return 1;
+- if ((realfd = open(buf, O_WRONLY|O_NONBLOCK)) < 0) {
++
++ if (strcmp(realcons, "/dev/tty0") == 0)
++ strcpy(realcons, "/dev/tty1");
++ if (strcmp(realcons, "/dev/vc/0") == 0)
++ strcpy(realcons, "/dev/vc/1");
++
++ if ((realfd = open_nb(realcons)) < 0) {
+ fprintf(stderr, "bootlogd: %s: %s\n", buf, strerror(errno));
+ return 1;
+ }
+- n = fcntl(realfd, F_GETFL);
+- n &= ~(O_NONBLOCK);
+- fcntl(realfd, F_SETFL, n);
+
+ /*
+ * Grab a pty, and redirect console messages to it.
+ */
+- if (openpty(&ptm, &pts, buf, NULL, NULL) < 0) {
+- fprintf(stderr, "bootlogd: cannot allocate pseudo tty\n");
++ ptm = -1;
++ pts = -1;
++ buf[0] = 0;
++ if (findpty(&ptm, &pts, buf) < 0) {
++ fprintf(stderr,
++ "bootlogd: cannot allocate pseudo tty: %s\n",
++ strerror(errno));
+ return 1;
+ }
++
+ (void)ioctl(0, TIOCCONS, NULL);
+ #if 1
+ /* Work around bug in 2.1/2.2 kernels. Fixed in 2.2.13 and 2.3.18 */
+@@ -357,8 +547,8 @@
+ * open the logfile. There might be buffered messages
+ * we want to write.
+ */
+- tv.tv_sec = fp ? 86400 : 5;
+- tv.tv_usec = 0;
++ tv.tv_sec = 0;
++ tv.tv_usec = 500000;
+ FD_ZERO(&fds);
+ FD_SET(ptm, &fds);
+ if (select(ptm + 1, &fds, NULL, NULL, &tv) == 1) {
+@@ -374,10 +564,22 @@
+ p = inptr;
+ while (m > 0) {
+ i = write(realfd, p, m);
+- if (i <= 0) break;
+- m -= i;
+- p += i;
++ if (i >= 0) {
++ m -= i;
++ p += i;
++ continue;
++ }
++ /*
++ * Handle EIO (somebody hung
++ * up our filedescriptor)
++ */
++ realfd = write_err(pts, realfd,
++ realcons, errno);
++ if (realfd >= 0) continue;
++ got_signal = 1; /* Not really */
++ break;
+ }
++
+ /*
+ * Increment buffer position. Handle
+ * wraps, and also drag output pointer
+@@ -410,8 +612,8 @@
+ writelog(fp, outptr, todo);
+ }
+
+- if (fp && !didnl) {
+- fputc('\n', fp);
++ if (fp) {
++ if (!didnl) fputc('\n', fp);
+ fclose(fp);
+ }
+
+Binary files sysvinit-2.85/src/bootlogd.o and sysvinit-2.86/src/bootlogd.o differ
+diff -urNd -urNd sysvinit-2.85/src/dowall.c sysvinit-2.86/src/dowall.c
+--- sysvinit-2.85/src/dowall.c 2003-04-17 06:32:01.000000000 -0500
++++ sysvinit-2.86/src/dowall.c 2004-06-09 07:47:45.000000000 -0500
+@@ -3,7 +3,7 @@
+ *
+ * Author: Miquel van Smoorenburg, miquels@cistron.nl
+ *
+- * Version: @(#)dowall.c 2.85-1 15-Apr-2003 miquels@cistron.nl
++ * Version: @(#)dowall.c 2.85-5 02-Jul-2003 miquels@cistron.nl
+ *
+ * This file is part of the sysvinit suite,
+ * Copyright 1991-2003 Miquel van Smoorenburg.
+@@ -135,6 +135,13 @@
+ char *user, *tty;
+ int fd, flags;
+
++ /*
++ * Make sure tp and fd aren't in a register. Some versions
++ * of gcc clobber those after longjmp (or so I understand).
++ */
++ (void) &tp;
++ (void) &fd;
++
+ getuidtty(&user, &tty);
+
+ /* Get the time */
+Binary files sysvinit-2.85/src/dowall.o and sysvinit-2.86/src/dowall.o differ
+Binary files sysvinit-2.85/src/halt and sysvinit-2.86/src/halt differ
+diff -urNd -urNd sysvinit-2.85/src/halt.c sysvinit-2.86/src/halt.c
+--- sysvinit-2.85/src/halt.c 2001-11-27 06:12:03.000000000 -0600
++++ sysvinit-2.86/src/halt.c 2004-07-30 07:16:18.000000000 -0500
+@@ -8,12 +8,14 @@
+ * execute an "shutdown -r". This is for compatibility with
+ * sysvinit 2.4.
+ *
+- * Usage: halt [-n] [-w] [-d] [-f] [-p]
++ * Usage: halt [-n] [-w] [-d] [-f] [-h] [-i] [-p]
+ * -n: don't sync before halting the system
+ * -w: only write a wtmp reboot record and exit.
+ * -d: don't write a wtmp record.
+ * -f: force halt/reboot, don't call shutdown.
+- * -p: power down the system (if possible, otherwise halt)
++ * -h: put harddisks in standby mode
++ * -i: shut down all network interfaces.
++ * -p: power down the system (if possible, otherwise halt).
+ *
+ * Reboot and halt are both this program. Reboot
+ * is just a link to halt. Invoking the program
+@@ -21,10 +23,10 @@
+ *
+ * Author: Miquel van Smoorenburg, miquels@cistron.nl
+ *
+- * Version: 2.84, 27-Nov-2001
++ * Version: 2.86, 30-Jul-2004
+ *
+ * This file is part of the sysvinit suite,
+- * Copyright 1991-2001 Miquel van Smoorenburg.
++ * Copyright 1991-2004 Miquel van Smoorenburg.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+@@ -47,7 +49,7 @@
+ #include <getopt.h>
+ #include "reboot.h"
+
+-char *Version = "@(#)halt 2.84 27-Nov-2001 miquels@cistron.nl";
++char *Version = "@(#)halt 2.86 31-Jul-2004 miquels@cistron.nl";
+ char *progname;
+
+ #define KERNEL_MONITOR 1 /* If halt() puts you into the kernel monitor. */
+@@ -62,7 +64,16 @@
+ */
+ void usage(void)
+ {
+- fprintf(stderr, "usage: %s [-n] [-w] [-d] [-f] [-i] [-p]\n", progname);
++ fprintf(stderr, "usage: %s [-n] [-w] [-d] [-f] [-h] [-i]%s\n",
++ progname, strcmp(progname, "halt") ? "" : " [-p]");
++ fprintf(stderr, "\t-n: don't sync before halting the system\n");
++ fprintf(stderr, "\t-w: only write a wtmp reboot record and exit.\n");
++ fprintf(stderr, "\t-d: don't write a wtmp record.\n");
++ fprintf(stderr, "\t-f: force halt/reboot, don't call shutdown.\n");
++ fprintf(stderr, "\t-h: put harddisks in standby mode.\n");
++ fprintf(stderr, "\t-i: shut down all network interfaces.\n");
++ if (!strcmp(progname, "halt"))
++ fprintf(stderr, "\t-p: power down the system (if possible, otherwise halt).\n");
+ exit(1);
+ }
+
+@@ -172,11 +183,6 @@
+ else
+ progname = argv[0];
+
+- if (geteuid() != 0) {
+- fprintf(stderr, "%s: must be superuser.\n", progname);
+- exit(1);
+- }
+-
+ if (!strcmp(progname, "reboot")) do_reboot = 1;
+ if (!strcmp(progname, "poweroff")) do_poweroff = 1;
+
+@@ -216,6 +222,11 @@
+ }
+ if (argc != optind) usage();
+
++ if (geteuid() != 0) {
++ fprintf(stderr, "%s: must be superuser.\n", progname);
++ exit(1);
++ }
++
+ (void)chdir("/");
+
+ if (!do_hard && !do_nothing) {
+@@ -236,7 +247,7 @@
+ /*
+ * Exit if all we wanted to do was write a wtmp record.
+ */
+- if (do_nothing) exit(0);
++ if (do_nothing && !do_hddown && !do_ifdown) exit(0);
+
+ if (do_sync) {
+ sync();
+@@ -249,13 +260,17 @@
+ if (do_hddown)
+ (void)hddown();
+
++ if (do_nothing) exit(0);
++
+ if (do_reboot) {
+ init_reboot(BMAGIC_REBOOT);
+ } else {
+ /*
+ * Turn on hard reboot, CTRL-ALT-DEL will reboot now
+ */
++#ifdef BMAGIC_HARD
+ init_reboot(BMAGIC_HARD);
++#endif
+
+ /*
+ * Stop init; it is insensitive to the signals sent
+@@ -277,7 +292,9 @@
+ /*
+ * If we return, we (c)ontinued from the kernel monitor.
+ */
++#ifdef BMAGIC_SOFT
+ init_reboot(BMAGIC_SOFT);
++#endif
+ kill(1, SIGCONT);
+
+ exit(0);
+Binary files sysvinit-2.85/src/halt.o and sysvinit-2.86/src/halt.o differ
+diff -urNd -urNd sysvinit-2.85/src/hddown.c sysvinit-2.86/src/hddown.c
+--- sysvinit-2.85/src/hddown.c 2001-11-07 09:11:21.000000000 -0600
++++ sysvinit-2.86/src/hddown.c 2004-06-09 07:47:45.000000000 -0500
+@@ -3,7 +3,7 @@
+ * shut them down.
+ *
+ */
+-char *v_hddown = "@(#)hddown.c 1.01 07-Nov-2001 miquels@cistron.nl";
++char *v_hddown = "@(#)hddown.c 1.02 22-Apr-2003 miquels@cistron.nl";
+
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -13,8 +13,9 @@
+ #include <fcntl.h>
+ #include <dirent.h>
+
+-#include <sys/ioctl.h>
++#ifdef __linux__
+
++#include <sys/ioctl.h>
+ #include <linux/hdreg.h>
+
+ #define MAX_DISKS 64
+@@ -104,6 +105,15 @@
+ return 0;
+ }
+
++#else /* __linux__ */
++
++int hddown(void)
++{
++ return 0;
++}
++
++#endif /* __linux__ */
++
+ #ifdef STANDALONE
+ int main(int argc, char **argv)
+ {
+Binary files sysvinit-2.85/src/hddown.o and sysvinit-2.86/src/hddown.o differ
+Binary files sysvinit-2.85/src/ifdown.o and sysvinit-2.86/src/ifdown.o differ
+Binary files sysvinit-2.85/src/init and sysvinit-2.86/src/init differ
+diff -urNd -urNd sysvinit-2.85/src/init.c sysvinit-2.86/src/init.c
+--- sysvinit-2.85/src/init.c 2003-04-15 06:16:41.000000000 -0500
++++ sysvinit-2.86/src/init.c 2004-07-30 07:16:20.000000000 -0500
+@@ -5,34 +5,28 @@
+ * init [0123456SsQqAaBbCc]
+ * telinit [0123456SsQqAaBbCc]
+ *
+- * Version: @(#)init.c 2.85 15-Apr-2003 miquels@cistron.nl
++ * Version: @(#)init.c 2.86 30-Jul-2004 miquels@cistron.nl
+ */
+-#define VERSION "2.85"
+-#define DATE "15-Apr-2003"
++#define VERSION "2.86"
++#define DATE "31-Jul-2004"
+ /*
+ * This file is part of the sysvinit suite,
+- * Copyright 1991-2003 Miquel van Smoorenburg.
++ * Copyright 1991-2004 Miquel van Smoorenburg.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ *
+- * Modified: 21 Feb 1998, Al Viro:
+- * 'U' flag added to telinit. It forces init to re-exec itself
+- * (passing its state through exec, certainly).
+- * May be useful for smoother (heh) upgrades.
+- * 24 Feb 1998, AV:
+- * did_boot made global and added to state - thanks, Miquel.
+- * Yet another file descriptors leak - close state pipe if
+- * re_exec fails.
+ */
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/ioctl.h>
+ #include <sys/wait.h>
++#ifdef __linux__
+ #include <sys/kd.h>
++#endif
+ #include <sys/resource.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+@@ -70,6 +64,13 @@
+ # define SIGPWR SIGUSR2
+ #endif
+
++#ifndef CBAUD
++# define CBAUD 0
++#endif
++#ifndef CBAUDEX
++# define CBAUDEX 0
++#endif
++
+ /* Set a signal handler. */
+ #define SETSIG(sa, sig, fun, flags) \
+ do { \
+@@ -88,13 +89,13 @@
+ CHILD *newFamily = NULL; /* The list after inittab re-read */
+
+ CHILD ch_emerg = { /* Emergency shell */
+- 0, 0, 0, 0, 0,
+- "~~",
+- "S",
+- 3,
+- "/sbin/sulogin",
+- NULL,
+- NULL
++ 0, 0, 0, 0, 0,
++ "~~",
++ "S",
++ 3,
++ "/sbin/sulogin",
++ NULL,
++ NULL
+ };
+
+ char runlevel = 'S'; /* The current run level */
+@@ -108,8 +109,9 @@
+ int wrote_utmp_reboot = 1; /* Set when we wrote the reboot record */
+ int sltime = 5; /* Sleep time between TERM and KILL */
+ char *argv0; /* First arguments; show up in ps listing */
+-int maxproclen; /* Maximal length of argv[0] without \0 */
++int maxproclen; /* Maximal length of argv[0] with \0 */
+ struct utmp utproto; /* Only used for sizeof(utproto.ut_id) */
++char *user_console = NULL; /* User console device */
+ char *console_dev; /* Console device. */
+ int pipe_fd = -1; /* /dev/initctl */
+ int did_boot = 0; /* Did we already do BOOT* stuff? */
+@@ -186,6 +188,10 @@
+ {NULL,0}
+ };
+
++#define NR_EXTRA_ENV 16
++char *extra_env[NR_EXTRA_ENV];
++
++
+ /*
+ * Sleep a number of seconds.
+ *
+@@ -203,6 +209,35 @@
+ ;
+ }
+
++
++/*
++ * Non-failing allocation routines (init cannot fail).
++ */
++void *imalloc(size_t size)
++{
++ void *m;
++
++ while ((m = malloc(size)) == NULL) {
++ initlog(L_VB, "out of memory");
++ do_sleep(5);
++ }
++ memset(m, 0, size);
++ return m;
++}
++
++
++char *istrdup(char *s)
++{
++ char *m;
++ int l;
++
++ l = strlen(s) + 1;
++ m = imalloc(l);
++ memcpy(m, s, l);
++ return m;
++}
++
++
+ /*
+ * Send the state info of the previous running init to
+ * the new one, in a version-independant way.
+@@ -344,12 +379,9 @@
+ }
+ } while (cmd != C_REC);
+
+- while ((p = (CHILD *)malloc(sizeof(CHILD))) == NULL ) {
+- log(L_VB, "out of memory");
+- do_sleep(5);
+- }
+- memset(p, 0, sizeof(CHILD));
++ p = imalloc(sizeof(CHILD));
+ get_string(p->id, sizeof(p->id), f);
++
+ do switch(cmd = get_cmd(f)) {
+ case 0:
+ case C_EOR:
+@@ -420,7 +452,7 @@
+ #ifdef __GNUC__
+ __attribute__ ((format (printf, 1, 2)))
+ #endif
+-int setproctitle(char *fmt, ...)
++static int setproctitle(char *fmt, ...)
+ {
+ va_list ap;
+ int len;
+@@ -432,8 +464,10 @@
+ len = vsnprintf(buf, sizeof(buf), fmt, ap);
+ va_end(ap);
+
+- memset(argv0, 0, maxproclen + 1);
+- strncpy(argv0, buf, maxproclen - 1);
++ if (maxproclen > 2) {
++ memset(argv0, 0, maxproclen);
++ strncpy(argv0, buf, maxproclen - 2);
++ }
+
+ return len;
+ }
+@@ -448,7 +482,9 @@
+ int tried_vtmaster = 0;
+ char *s;
+
+- if ((s = getenv("CONSOLE")) != NULL)
++ if (user_console) {
++ console_dev = user_console;
++ } else if ((s = getenv("CONSOLE")) != NULL)
+ console_dev = s;
+ else {
+ console_dev = CONSOLE;
+@@ -528,10 +564,9 @@
+ if (errno == ECHILD) break;
+ for( ch = family; ch; ch = ch->next )
+ if ( ch->pid == pid && (ch->flags & RUNNING) ) {
+-#if DEBUG
+- log(L_VB, "chld_handler: marked %d as zombie",
++ INITDBG(L_VB,
++ "chld_handler: marked %d as zombie",
+ ch->pid);
+-#endif
+ ADDSET(got_signals, SIGCHLD);
+ ch->exstat = st;
+ ch->flags |= ZOMBIE;
+@@ -541,11 +576,9 @@
+ }
+ break;
+ }
+-#if DEBUG
+ if (ch == NULL)
+- log(L_VB, "chld_handler: unknown child %d exited.",
++ INITDBG(L_VB, "chld_handler: unknown child %d exited.",
+ pid);
+-#endif
+ }
+ errno = saved_errno;
+ }
+@@ -563,28 +596,34 @@
+ }
+
+ /*
+- * Dump core. Returns 0 if we are the child, so that the caller
+- * can return if it is a signal handler - SIGSEGV is blocked in
+- * the handler, so it will be raised when the handler returns.
++ * Fork and dump core in /.
+ */
+-int coredump(void)
++void coredump(void)
+ {
+- static int dumped = 0;
+- struct rlimit rlim;
++ static int dumped = 0;
++ struct rlimit rlim;
++ sigset_t mask;
+
+- if (dumped) return 1;
++ if (dumped) return;
+ dumped = 1;
+
+- if (fork() != 0) return 1;
++ if (fork() != 0) return;
++
++ sigfillset(&mask);
++ sigprocmask(SIG_SETMASK, &mask, NULL);
+
+ rlim.rlim_cur = RLIM_INFINITY;
+ rlim.rlim_max = RLIM_INFINITY;
+ setrlimit(RLIMIT_CORE, &rlim);
+-
+ chdir("/");
++
+ signal(SIGSEGV, SIG_DFL);
+ raise(SIGSEGV);
+- return 0;
++ sigdelset(&mask, SIGSEGV);
++ sigprocmask(SIG_SETMASK, &mask, NULL);
++
++ do_sleep(5);
++ exit(0);
+ }
+
+ /*
+@@ -592,7 +631,7 @@
+ * If we have the info, print where it occured.
+ * Then sleep 30 seconds and try to continue.
+ */
+-#ifdef STACK_DEBUG
++#if defined(STACK_DEBUG) && defined(__linux__)
+ void segv_handler(int sig, struct sigcontext ctx)
+ {
+ char *p = "";
+@@ -601,10 +640,10 @@
+ if ((void *)ctx.eip >= (void *)do_sleep &&
+ (void *)ctx.eip < (void *)main)
+ p = " (code)";
+- log(L_VB, "PANIC: segmentation violation at %p%s! "
++ initlog(L_VB, "PANIC: segmentation violation at %p%s! "
+ "sleeping for 30 seconds.", (void *)ctx.eip, p);
+- if (coredump() != 0)
+- do_sleep(30);
++ coredump();
++ do_sleep(30);
+ errno = saved_errno;
+ }
+ #else
+@@ -612,9 +651,10 @@
+ {
+ int saved_errno = errno;
+
+- log(L_VB, "PANIC: segmentation violation! sleeping for 30 seconds.");
+- if (coredump() != 0)
+- do_sleep(30);
++ initlog(L_VB,
++ "PANIC: segmentation violation! sleeping for 30 seconds.");
++ coredump();
++ do_sleep(30);
+ errno = saved_errno;
+ }
+ #endif
+@@ -641,7 +681,7 @@
+ int fd;
+
+ if ((fd = console_open(O_RDWR|O_NOCTTY)) < 0) {
+- log(L_VB, "can't open %s", console_dev);
++ initlog(L_VB, "can't open %s", console_dev);
+ return;
+ }
+
+@@ -697,10 +737,11 @@
+ #ifdef __GNUC__
+ __attribute__ ((format (printf, 2, 3)))
+ #endif
+-void log(int loglevel, char *s, ...)
++void initlog(int loglevel, char *s, ...)
+ {
+ va_list va_alist;
+ char buf[256];
++ sigset_t nmask, omask;
+
+ va_start(va_alist, s);
+ vsnprintf(buf, sizeof(buf), s, va_alist);
+@@ -708,11 +749,15 @@
+
+ if (loglevel & L_SY) {
+ /*
+- * Re-etablish connection with syslogd every time.
++ * Re-establish connection with syslogd every time.
++ * Block signals while talking to syslog.
+ */
++ sigfillset(&nmask);
++ sigprocmask(SIG_BLOCK, &nmask, &omask);
+ openlog("init", 0, LOG_DAEMON);
+ syslog(LOG_INFO, "%s", buf);
+ closelog();
++ sigprocmask(SIG_SETMASK, &omask, NULL);
+ }
+
+ /*
+@@ -727,14 +772,51 @@
+
+
+ /*
+- * See if one character of s2 is in s1
++ * Build a new environment for execve().
+ */
+-int any(char *s1, char *s2)
++char **init_buildenv(int child)
+ {
+- while(*s2)
+- if (strchr(s1, *s2++) != NULL)
+- return(1);
+- return(0);
++ char i_lvl[] = "RUNLEVEL=x";
++ char i_prev[] = "PREVLEVEL=x";
++ char i_cons[32];
++ char **e;
++ int n, i;
++
++ for (n = 0; environ[n]; n++)
++ ;
++ n += NR_EXTRA_ENV + 8;
++ e = calloc(n, sizeof(char *));
++
++ for (n = 0; environ[n]; n++)
++ e[n] = istrdup(environ[n]);
++
++ for (i = 0; i < NR_EXTRA_ENV; i++)
++ if (extra_env[i])
++ e[n++] = istrdup(extra_env[i]);
++
++ if (child) {
++ snprintf(i_cons, sizeof(i_cons), "CONSOLE=%s", console_dev);
++ i_lvl[9] = thislevel;
++ i_prev[10] = prevlevel;
++ e[n++] = istrdup(i_lvl);
++ e[n++] = istrdup(i_prev);
++ e[n++] = istrdup(i_cons);
++ e[n++] = istrdup(E_VERSION);
++ }
++
++ e[n++] = NULL;
++
++ return e;
++}
++
++
++void init_freeenv(char **e)
++{
++ int n;
++
++ for (n = 0; e[n]; n++)
++ free(e[n]);
++ free(e);
+ }
+
+
+@@ -753,9 +835,6 @@
+ time_t t; /* System time */
+ int oldAlarm; /* Previous alarm value */
+ char *proc = ch->process; /* Command line */
+- char i_lvl[] = "RUNLEVEL=x"; /* Runlevel in environment. */
+- char i_prev[] = "PREVLEVEL=x";/* Previous runlevel. */
+- char i_cons[32]; /* console device. */
+ pid_t pid, pgrp; /* child, console process group. */
+ sigset_t nmask, omask; /* For blocking SIGCHLD */
+ struct sigaction sa;
+@@ -781,8 +860,9 @@
+ /* Do we try to respawn too fast? */
+ if (ch->count >= MAXSPAWN) {
+
+- log(L_VB, "Id \"%s\" respawning too fast: disabled for %d minutes",
+- ch->id, SLEEPTIME / 60);
++ initlog(L_VB,
++ "Id \"%s\" respawning too fast: disabled for %d minutes",
++ ch->id, SLEEPTIME / 60);
+ ch->flags &= ~RUNNING;
+ ch->flags |= FAILING;
+
+@@ -813,7 +893,7 @@
+ }
+ args[6] = proc;
+ args[7] = NULL;
+- } else if (any(proc, "~`!$^&*()=|\\{}[];\"'<>?")) {
++ } else if (strpbrk(proc, "~`!$^&*()=|\\{}[];\"'<>?")) {
+ /* See if we need to fire off a shell for this command */
+ /* Give command line to shell */
+ args[1] = SHELL;
+@@ -868,15 +948,6 @@
+
+ sigprocmask(SIG_SETMASK, &omask, NULL);
+
+- /* Now set RUNLEVEL and PREVLEVEL */
+- snprintf(i_cons, sizeof(i_cons), "CONSOLE=%s", console_dev);
+- i_lvl[9] = thislevel;
+- i_prev[10] = prevlevel;
+- putenv(i_lvl);
+- putenv(i_prev);
+- putenv(i_cons);
+- putenv(E_VERSION);
+-
+ /*
+ * In sysinit, boot, bootwait or single user mode:
+ * for any wait-type subprocess we _force_ the console
+@@ -896,7 +967,7 @@
+ dup(f);
+ }
+ if ((pid = fork()) < 0) {
+- log(L_VB, "cannot fork");
++ initlog(L_VB, "cannot fork");
+ exit(1);
+ }
+ if (pid > 0) {
+@@ -926,7 +997,7 @@
+ * this with a temporary process.
+ */
+ if ((pid = fork()) < 0) {
+- log(L_VB, "cannot fork");
++ initlog(L_VB, "cannot fork");
+ exit(1);
+ }
+ if (pid == 0) {
+@@ -946,7 +1017,7 @@
+ } else {
+ setsid();
+ if ((f = console_open(O_RDWR|O_NOCTTY)) < 0) {
+- log(L_VB, "open(%s): %s", console_dev,
++ initlog(L_VB, "open(%s): %s", console_dev,
+ strerror(errno));
+ f = open("/dev/null", O_RDWR);
+ }
+@@ -954,15 +1025,15 @@
+ dup(f);
+ }
+
+- /* Reset all the signals */
++ /* Reset all the signals, set up environment */
+ for(f = 1; f < NSIG; f++) SETSIG(sa, f, SIG_DFL, SA_RESTART);
+- execvp(args[1], args + 1);
++ environ = init_buildenv(1);
+
+ /*
+- * Is this a bug in execvp? It does _not_ execute shell
+- * scripts (/etc/rc !), so we try again with
+- * 'sh -c exec ...'
++ * Execute prog. In case of ENOEXEC try again
++ * as a shell script.
+ */
++ execvp(args[1], args + 1);
+ if (errno == ENOEXEC) {
+ args[1] = SHELL;
+ args[2] = "-c";
+@@ -972,18 +1043,16 @@
+ args[4] = NULL;
+ execvp(args[1], args + 1);
+ }
+- log(L_VB, "cannot execute \"%s\"", args[1]);
++ initlog(L_VB, "cannot execute \"%s\"", args[1]);
+ exit(1);
+ }
+ *res = pid;
+ sigprocmask(SIG_SETMASK, &omask, NULL);
+
+-#if DEBUG
+- log(L_VB, "Started id %s (pid %d)", ch->id, pid);
+-#endif
++ INITDBG(L_VB, "Started id %s (pid %d)", ch->id, pid);
+
+ if (pid == -1) {
+- log(L_VB, "cannot fork, retry..");
++ initlog(L_VB, "cannot fork, retry..");
+ do_sleep(5);
+ continue;
+ }
+@@ -1032,66 +1101,45 @@
+ }
+ }
+
+-/*
+- * My version of strtok(3).
+- */
+-char *get_part(char *str, int tok)
+-{
+- static char *s;
+- char *p, *q;
+-
+- if (str != NULL)
+- s = str;
+- if (s == NULL || *s == 0)
+- return(NULL);
+- q = p = s;
+- while(*p != tok && *p)
+- p++;
+- if (*p == tok)
+- *p++ = 0;
+- s = p;
+-
+- return q;
+-}
+
+ /*
+ * Read the inittab file.
+ */
+ void read_inittab(void)
+ {
+- FILE *fp; /* The INITTAB file */
+- char buf[256]; /* Line buffer */
+- char err[64]; /* Error message. */
+- char *id, *rlevel,
+- *action, *process; /* Fields of a line */
+- char *p;
+- CHILD *ch, *old, *i; /* Pointers to CHILD structure */
+- CHILD *head = NULL; /* Head of linked list */
+- int lineNo = 0; /* Line number in INITTAB file */
+- int actionNo; /* Decoded action field */
+- int f; /* Counter */
+- int round; /* round 0 for SIGTERM, round 1 for SIGKILL */
+- int foundOne = 0; /* No killing no sleep */
+- int talk; /* Talk to the user */
+- int done = 0; /* Ready yet? */
+- sigset_t nmask, omask; /* For blocking SIGCHLD. */
++ FILE *fp; /* The INITTAB file */
++ CHILD *ch, *old, *i; /* Pointers to CHILD structure */
++ CHILD *head = NULL; /* Head of linked list */
+ #ifdef INITLVL
+- struct stat st; /* To stat INITLVL */
++ struct stat st; /* To stat INITLVL */
+ #endif
++ sigset_t nmask, omask; /* For blocking SIGCHLD. */
++ char buf[256]; /* Line buffer */
++ char err[64]; /* Error message. */
++ char *id, *rlevel,
++ *action, *process; /* Fields of a line */
++ char *p;
++ int lineNo = 0; /* Line number in INITTAB file */
++ int actionNo; /* Decoded action field */
++ int f; /* Counter */
++ int round; /* round 0 for SIGTERM, 1 for SIGKILL */
++ int foundOne = 0; /* No killing no sleep */
++ int talk; /* Talk to the user */
++ int done = 0; /* Ready yet? */
+
+ #if DEBUG
+ if (newFamily != NULL) {
+- log(L_VB, "PANIC newFamily != NULL");
++ INITDBG(L_VB, "PANIC newFamily != NULL");
+ exit(1);
+ }
+- log(L_VB, "Reading inittab");
++ INITDBG(L_VB, "Reading inittab");
+ #endif
+
+ /*
+ * Open INITTAB and real line by line.
+ */
+ if ((fp = fopen(INITTAB, "r")) == NULL)
+- log(L_VB, "No inittab file found");
++ initlog(L_VB, "No inittab file found");
+
+ while(!done) {
+ /*
+@@ -1103,9 +1151,9 @@
+ * See if we have a single user entry.
+ */
+ for(old = newFamily; old; old = old->next)
+- if (strcmp(old->rlevel, "S") == 0) break;
++ if (strpbrk(old->rlevel, "S")) break;
+ if (old == NULL)
+- snprintf(buf, sizeof(buf), "~~:S:wait:%s\n", SHELL);
++ snprintf(buf, sizeof(buf), "~~:S:wait:%s\n", SULOGIN);
+ else
+ continue;
+ }
+@@ -1120,10 +1168,10 @@
+ /*
+ * Decode the fields
+ */
+- id = get_part(p, ':');
+- rlevel = get_part(NULL, ':');
+- action = get_part(NULL, ':');
+- process = get_part(NULL, '\n');
++ id = strsep(&p, ":");
++ rlevel = strsep(&p, ":");
++ action = strsep(&p, ":");
++ process = strsep(&p, "\n");
+
+ /*
+ * Check if syntax is OK. Be very verbose here, to
+@@ -1145,10 +1193,8 @@
+ if (action && strlen(action) > 32)
+ strcpy(err, "action field too long");
+ if (err[0] != 0) {
+- log(L_VB, "%s[%d]: %s", INITTAB, lineNo, err);
+-#if DEBUG
+- log(L_VB, "%s:%s:%s:%s", id, rlevel, action, process);
+-#endif
++ initlog(L_VB, "%s[%d]: %s", INITTAB, lineNo, err);
++ INITDBG(L_VB, "%s:%s:%s:%s", id, rlevel, action, process);
+ continue;
+ }
+
+@@ -1162,7 +1208,7 @@
+ break;
+ }
+ if (actionNo == -1) {
+- log(L_VB, "%s[%d]: %s: unknown action field",
++ initlog(L_VB, "%s[%d]: %s: unknown action field",
+ INITTAB, lineNo, action);
+ continue;
+ }
+@@ -1172,7 +1218,7 @@
+ */
+ for(old = newFamily; old; old = old->next) {
+ if(strcmp(old->id, id) == 0 && strcmp(id, "~~")) {
+- log(L_VB, "%s[%d]: duplicate ID field \"%s\"",
++ initlog(L_VB, "%s[%d]: duplicate ID field \"%s\"",
+ INITTAB, lineNo, id);
+ break;
+ }
+@@ -1182,11 +1228,7 @@
+ /*
+ * Allocate a CHILD structure
+ */
+- while ((ch = malloc(sizeof(CHILD))) == NULL) {
+- log(L_VB, "out of memory");
+- do_sleep(5);
+- }
+- memset(ch, 0, sizeof(CHILD));
++ ch = imalloc(sizeof(CHILD));
+
+ /*
+ * And fill it in.
+@@ -1275,9 +1317,7 @@
+ * be killed.
+ */
+
+-#if DEBUG
+- log(L_VB, "Checking for children to kill");
+-#endif
++ INITDBG(L_VB, "Checking for children to kill");
+ for(round = 0; round < 2; round++) {
+ talk = 1;
+ for(ch = family; ch; ch = ch->next) {
+@@ -1328,19 +1368,19 @@
+ ch->flags &= ~KILLME;
+ continue;
+ }
+-#if DEBUG
+- log(L_VB, "Killing \"%s\"", ch->process);
+-#endif
++ INITDBG(L_VB, "Killing \"%s\"", ch->process);
+ switch(round) {
+ case 0: /* Send TERM signal */
+ if (talk)
+- log(L_CO, "Sending processes the TERM signal");
++ initlog(L_CO,
++ "Sending processes the TERM signal");
+ kill(-(ch->pid), SIGTERM);
+ foundOne = 1;
+ break;
+ case 1: /* Send KILL signal and collect status */
+ if (talk)
+- log(L_CO, "Sending processes the KILL signal");
++ initlog(L_CO,
++ "Sending processes the KILL signal");
+ kill(-(ch->pid), SIGKILL);
+ break;
+ }
+@@ -1380,12 +1420,11 @@
+ for(ch = family; ch; ch = ch->next)
+ if (ch->flags & KILLME) {
+ if (!(ch->flags & ZOMBIE))
+- log(L_CO, "Pid %d [id %s] seems to hang", ch->pid,
++ initlog(L_CO, "Pid %d [id %s] seems to hang", ch->pid,
+ ch->id);
+ else {
+-#if DEBUG
+- log(L_VB, "Updating utmp for pid %d [id %s]", ch->pid, ch->id);
+-#endif
++ INITDBG(L_VB, "Updating utmp for pid %d [id %s]",
++ ch->pid, ch->id);
+ ch->flags &= ~RUNNING;
+ if (ch->process[0] != '+')
+ write_utmp_wtmp("", ch->id, ch->pid, DEAD_PROCESS, NULL);
+@@ -1451,15 +1490,13 @@
+ CHILD *ch; /* Pointer to child */
+ int delete; /* Delete this entry from list? */
+
+-#if DEBUG
+- log(L_VB, "Checking for children to start");
+-#endif
++ INITDBG(L_VB, "Checking for children to start");
+
+ for(ch = family; ch; ch = ch->next) {
+
+ #if DEBUG
+ if (ch->rlevel[0] == 'C') {
+- log(L_VB, "%s: flags %d", ch->process, ch->flags);
++ INITDBG(L_VB, "%s: flags %d", ch->process, ch->flags);
+ }
+ #endif
+
+@@ -1545,7 +1582,8 @@
+ if (lvl > 0) {
+ if (islower(lvl)) lvl = toupper(lvl);
+ if (strchr("0123456789S", lvl) == NULL) {
+- log(L_VB, "Initdefault level '%c' is invalid", lvl);
++ initlog(L_VB,
++ "Initdefault level '%c' is invalid", lvl);
+ lvl = 0;
+ }
+ }
+@@ -1570,98 +1608,99 @@
+ */
+ int read_level(int arg)
+ {
+- unsigned char foo = 'X'; /* Contents of INITLVL */
+- CHILD *ch; /* Walk through list */
+- int ok = 1;
++ CHILD *ch; /* Walk through list */
++ unsigned char foo = 'X'; /* Contents of INITLVL */
++ int ok = 1;
+ #ifdef INITLVL
+- FILE *fp;
+- int st;
+- struct stat stt;
++ FILE *fp;
++ struct stat stt;
++ int st;
+ #endif
+
+- if (arg) foo = arg;
++ if (arg) foo = arg;
+
+ #ifdef INITLVL
+- ok = 0;
++ ok = 0;
+
+- if (arg == 0) {
+- fp = NULL;
+- if (stat(INITLVL, &stt) != 0 || stt.st_size != 0L)
+- fp = fopen(INITLVL, "r");
++ if (arg == 0) {
++ fp = NULL;
++ if (stat(INITLVL, &stt) != 0 || stt.st_size != 0L)
++ fp = fopen(INITLVL, "r");
+ #ifdef INITLVL2
+- if (fp == NULL && (stat(INITLVL2, &stt) != 0 || stt.st_size != 0L))
+- fp = fopen(INITLVL2, "r");
++ if (fp == NULL &&
++ (stat(INITLVL2, &stt) != 0 || stt.st_size != 0L))
++ fp = fopen(INITLVL2, "r");
+ #endif
+- if (fp == NULL) {
+- /* INITLVL file is empty or not there - act as 'init q' */
+- log(L_SY, "Re-reading inittab");
+- return(runlevel);
++ if (fp == NULL) {
++ /* INITLVL file empty or not there - act as 'init q' */
++ initlog(L_SY, "Re-reading inittab");
++ return(runlevel);
++ }
++ ok = fscanf(fp, "%c %d", &foo, &st);
++ fclose(fp);
++ } else {
++ /* We go to the new runlevel passed as an argument. */
++ foo = arg;
++ ok = 1;
+ }
+- ok = fscanf(fp, "%c %d", &foo, &st);
+- fclose(fp);
+- } else {
+- /* We go to the new runlevel passed as an argument. */
+- foo = arg;
+- ok = 1;
+- }
+- if (ok == 2) sltime = st;
++ if (ok == 2) sltime = st;
+
+ #endif /* INITLVL */
+
+- if (islower(foo)) foo = toupper(foo);
+- if (ok < 1 || ok > 2 || strchr("QS0123456789ABCU", foo) == NULL) {
+- log(L_VB, "bad runlevel: %c", foo);
+- return(runlevel);
+- }
++ if (islower(foo)) foo = toupper(foo);
++ if (ok < 1 || ok > 2 || strchr("QS0123456789ABCU", foo) == NULL) {
++ initlog(L_VB, "bad runlevel: %c", foo);
++ return runlevel;
++ }
+
+- /* Log this action */
+- switch(foo) {
+- case 'S':
+- log(L_VB, "Going single user");
+- break;
+- case 'Q':
+- log(L_SY, "Re-reading inittab");
+- break;
+- case 'A':
+- case 'B':
+- case 'C':
+- log(L_SY, "Activating demand-procedures for '%c'", foo);
+- break;
+- case 'U':
+- log(L_SY, "Trying to re-exec init");
+- return 'U';
+- default:
+- log(L_VB, "Switching to runlevel: %c", foo);
+- }
++ /* Log this action */
++ switch(foo) {
++ case 'S':
++ initlog(L_VB, "Going single user");
++ break;
++ case 'Q':
++ initlog(L_SY, "Re-reading inittab");
++ break;
++ case 'A':
++ case 'B':
++ case 'C':
++ initlog(L_SY,
++ "Activating demand-procedures for '%c'", foo);
++ break;
++ case 'U':
++ initlog(L_SY, "Trying to re-exec init");
++ return 'U';
++ default:
++ initlog(L_VB, "Switching to runlevel: %c", foo);
++ }
+
+- if (foo == 'Q') return(runlevel);
++ if (foo == 'Q') return runlevel;
+
+- /* Check if this is a runlevel a, b or c */
+- if (strchr("ABC", foo)) {
+- if (runlevel == 'S') return(runlevel);
++ /* Check if this is a runlevel a, b or c */
++ if (strchr("ABC", foo)) {
++ if (runlevel == 'S') return(runlevel);
+
+- /* Read inittab again first! */
+- read_inittab();
++ /* Read inittab again first! */
++ read_inittab();
+
+- /* Mark those special tasks */
+- for(ch = family; ch; ch = ch->next)
+- if (strchr(ch->rlevel, foo) != NULL ||
+- strchr(ch->rlevel, tolower(foo)) != NULL) {
+- ch->flags |= DEMAND;
+- ch->flags &= ~XECUTED;
+-#if DEBUG
+- log(L_VB, "Marking (%s) as ondemand, flags %d",
+- ch->id, ch->flags);
+-#endif
+- }
+- return(runlevel);
+- }
++ /* Mark those special tasks */
++ for(ch = family; ch; ch = ch->next)
++ if (strchr(ch->rlevel, foo) != NULL ||
++ strchr(ch->rlevel, tolower(foo)) != NULL) {
++ ch->flags |= DEMAND;
++ ch->flags &= ~XECUTED;
++ INITDBG(L_VB,
++ "Marking (%s) as ondemand, flags %d",
++ ch->id, ch->flags);
++ }
++ return runlevel;
++ }
+
+- /* Store both the old and the new runlevel. */
+- write_utmp_wtmp("runlevel", "~~", foo + 256*runlevel, RUN_LVL, "~");
+- thislevel = foo;
+- prevlevel = runlevel;
+- return(foo);
++ /* Store both the old and the new runlevel. */
++ write_utmp_wtmp("runlevel", "~~", foo + 256*runlevel, RUN_LVL, "~");
++ thislevel = foo;
++ prevlevel = runlevel;
++ return foo;
+ }
+
+
+@@ -1674,32 +1713,33 @@
+ */
+ void fail_check(void)
+ {
+- time_t t; /* System time */
+- CHILD *ch; /* Pointer to child structure */
+- time_t next_alarm = 0; /* When to set next alarm */
++ CHILD *ch; /* Pointer to child structure */
++ time_t t; /* System time */
++ time_t next_alarm = 0; /* When to set next alarm */
+
+- time(&t);
++ time(&t);
+
+- for(ch = family; ch; ch = ch->next) {
++ for(ch = family; ch; ch = ch->next) {
+
+- if (ch->flags & FAILING) {
+- /* Can we free this sucker? */
+- if (ch->tm + SLEEPTIME < t) {
+- ch->flags &= ~FAILING;
+- ch->count = 0;
+- ch->tm = 0;
+- } else {
+- /* No, we'll look again later */
+- if (next_alarm == 0 || ch->tm + SLEEPTIME > next_alarm)
+- next_alarm = ch->tm + SLEEPTIME;
++ if (ch->flags & FAILING) {
++ /* Can we free this sucker? */
++ if (ch->tm + SLEEPTIME < t) {
++ ch->flags &= ~FAILING;
++ ch->count = 0;
++ ch->tm = 0;
++ } else {
++ /* No, we'll look again later */
++ if (next_alarm == 0 ||
++ ch->tm + SLEEPTIME > next_alarm)
++ next_alarm = ch->tm + SLEEPTIME;
++ }
+ }
+ }
+- }
+- if (next_alarm) {
+- next_alarm -= t;
+- if (next_alarm < 1) next_alarm = 1;
+- alarm(next_alarm);
+- }
++ if (next_alarm) {
++ next_alarm -= t;
++ if (next_alarm < 1) next_alarm = 1;
++ alarm(next_alarm);
++ }
+ }
+
+ /* Set all 'Fail' timers to 0 */
+@@ -1752,9 +1792,9 @@
+ */
+ int check_pipe(int fd)
+ {
+- struct timeval t;
+- fd_set s;
+- char signature[8];
++ struct timeval t;
++ fd_set s;
++ char signature[8];
+
+ FD_ZERO(&s);
+ FD_SET(fd, &s);
+@@ -1789,10 +1829,11 @@
+ */
+ void re_exec(void)
+ {
+- sigset_t mask, oldset;
+- pid_t pid;
+- int fd;
+- CHILD *ch;
++ CHILD *ch;
++ sigset_t mask, oldset;
++ pid_t pid;
++ char **env;
++ int fd;
+
+ if (strchr("S12345",runlevel) == NULL)
+ return;
+@@ -1825,27 +1866,26 @@
+ */
+ for(ch = family; ch; ch = ch->next)
+ if (ch->flags & ZOMBIE) {
+-#if DEBUG
+- log(L_VB, "Child died, PID= %d", ch->pid);
+-#endif
++ INITDBG(L_VB, "Child died, PID= %d", ch->pid);
+ ch->flags &= ~(RUNNING|ZOMBIE|WAITING);
+ if (ch->process[0] != '+')
+ write_utmp_wtmp("", ch->id, ch->pid, DEAD_PROCESS, NULL);
+ }
+
+- if ((pid = fork()) > 0) {
+- /*
+- * Yup. _Parent_ exec's ...
+- */
+- execl(myname, myname, "--init", NULL);
+- } else if (pid == 0) {
++ if ((pid = fork()) == 0) {
+ /*
+- * ... while child sends her the
+- * state information and dies
++ * Child sends state information to the parent.
+ */
+ send_state(fd);
+ exit(0);
+ }
++
++ /*
++ * The existing init process execs a new init binary.
++ */
++ env = init_buildenv(0);
++ execl(myname, myname, "--init", NULL, env);
++
+ /*
+ * We shouldn't be here, something failed.
+ * Bitch, close the state pipe, unblock signals and return.
+@@ -1853,7 +1893,8 @@
+ close(fd);
+ close(STATE_PIPE);
+ sigprocmask(SIG_SETMASK, &oldset, NULL);
+- log(L_CO, "Attempt to re-exec failed");
++ init_freeenv(env);
++ initlog(L_CO, "Attempt to re-exec failed");
+ }
+
+
+@@ -1863,10 +1904,10 @@
+ */
+ void fifo_new_level(int level)
+ {
+- int oldlevel;
+ #if CHANGE_WAIT
+- CHILD *ch;
++ CHILD *ch;
+ #endif
++ int oldlevel;
+
+ if (level == runlevel) return;
+
+@@ -1894,6 +1935,59 @@
+ }
+ }
+
++
++/*
++ * Set/unset environment variables. The variables are
++ * encoded as KEY=VAL\0KEY=VAL\0\0. With "=VAL" it means
++ * setenv, without it means unsetenv.
++ */
++void initcmd_setenv(char *data, int size)
++{
++ char *env, *p, *e, *eq;
++ int i, sz;
++
++ e = data + size;
++
++ while (*data && data < e) {
++ eq = NULL;
++ for (p = data; *p && p < e; p++)
++ if (*p == '=') eq = p;
++ if (*p) break;
++ env = data;
++ data = ++p;
++
++ sz = eq ? (eq - env) : (p - env);
++
++ /*initlog(L_SY, "init_setenv: %s, %s, %d", env, eq, sz);*/
++
++ /*
++ * We only allow INIT_* to be set.
++ */
++ if (strncmp(env, "INIT_", 5) != 0)
++ continue;
++
++ /* Free existing vars. */
++ for (i = 0; i < NR_EXTRA_ENV; i++) {
++ if (extra_env[i] == NULL) continue;
++ if (!strncmp(extra_env[i], env, sz) &&
++ extra_env[i][sz] == '=') {
++ free(extra_env[i]);
++ extra_env[i] = NULL;
++ }
++ }
++
++ /* Set new vars if needed. */
++ if (eq == NULL) continue;
++ for (i = 0; i < NR_EXTRA_ENV; i++) {
++ if (extra_env[i] == NULL) {
++ extra_env[i] = istrdup(env);
++ break;
++ }
++ }
++ }
++}
++
++
+ /*
+ * Read from the init FIFO. Processes like telnetd and rlogind can
+ * ask us to create login processes on their behalf.
+@@ -1906,12 +2000,12 @@
+ */
+ void check_init_fifo(void)
+ {
+- struct init_request request;
+- int n;
+- fd_set fds;
+- int quit = 0;
+- struct stat st, st2;
+- struct timeval tv;
++ struct init_request request;
++ struct timeval tv;
++ struct stat st, st2;
++ fd_set fds;
++ int n;
++ int quit = 0;
+
+ /*
+ * First, try to create /dev/initctl if not present.
+@@ -1940,7 +2034,7 @@
+ if ((pipe_fd = open(INIT_FIFO, O_RDWR|O_NONBLOCK)) >= 0) {
+ fstat(pipe_fd, &st);
+ if (!S_ISFIFO(st.st_mode)) {
+- log(L_VB, "%s is not a fifo", INIT_FIFO);
++ initlog(L_VB, "%s is not a fifo", INIT_FIFO);
+ close(pipe_fd);
+ pipe_fd = -1;
+ }
+@@ -1987,7 +2081,7 @@
+ }
+ if (n <= 0) {
+ if (errno == EINTR) return;
+- log(L_VB, "error reading initrequest");
++ initlog(L_VB, "error reading initrequest");
+ continue;
+ }
+
+@@ -2001,7 +2095,7 @@
+ * Process request.
+ */
+ if (request.magic != INIT_MAGIC || n != sizeof(request)) {
+- log(L_VB, "got bogus initrequest");
++ initlog(L_VB, "got bogus initrequest");
+ continue;
+ }
+ switch(request.cmd) {
+@@ -2025,8 +2119,23 @@
+ do_power_fail('O');
+ quit = 1;
+ break;
++ case INIT_CMD_SETENV:
++ initcmd_setenv(request.i.data, sizeof(request.i.data));
++ break;
++ case INIT_CMD_CHANGECONS:
++ if (user_console) {
++ free(user_console);
++ user_console = NULL;
++ }
++ if (!request.i.bsd.reserved[0])
++ user_console = NULL;
++ else
++ user_console = strdup(request.i.bsd.reserved);
++ console_init();
++ quit = 1;
++ break;
+ default:
+- log(L_VB, "got unimplemented initrequest.");
++ initlog(L_VB, "got unimplemented initrequest.");
+ break;
+ }
+ }
+@@ -2045,11 +2154,11 @@
+ */
+ void boot_transitions()
+ {
+- CHILD *ch;
+- static int newlevel = 0;
+- int loglevel;
+- int oldlevel;
+- static int warn = 1;
++ CHILD *ch;
++ static int newlevel = 0;
++ static int warn = 1;
++ int loglevel;
++ int oldlevel;
+
+ /* Check if there is something to wait for! */
+ for( ch = family; ch; ch = ch->next )
+@@ -2061,9 +2170,7 @@
+ oldlevel = 'N';
+ switch(runlevel) {
+ case '#': /* SYSINIT -> BOOT */
+-#if DEBUG
+- log(L_VB, "SYSINIT -> BOOT");
+-#endif
++ INITDBG(L_VB, "SYSINIT -> BOOT");
+
+ /* Write a boot record. */
+ wrote_utmp_reboot = 0;
+@@ -2080,9 +2187,7 @@
+ runlevel = '*';
+ break;
+ case '*': /* BOOT -> NORMAL */
+-#if DEBUG
+- log(L_VB, "BOOT -> NORMAL");
+-#endif
++ INITDBG(L_VB, "BOOT -> NORMAL");
+ if (runlevel != newlevel)
+ loglevel = newlevel;
+ runlevel = newlevel;
+@@ -2091,9 +2196,7 @@
+ break;
+ case 'S': /* Ended SU mode */
+ case 's':
+-#if DEBUG
+- log(L_VB, "END SU MODE");
+-#endif
++ INITDBG(L_VB, "END SU MODE");
+ newlevel = get_init_default();
+ if (!did_boot && newlevel != 'S')
+ runlevel = '*';
+@@ -2110,7 +2213,8 @@
+ break;
+ default:
+ if (warn)
+- log(L_VB, "no more processes left in this runlevel");
++ initlog(L_VB,
++ "no more processes left in this runlevel");
+ warn = 0;
+ loglevel = -1;
+ if (got_signals == 0)
+@@ -2118,7 +2222,7 @@
+ break;
+ }
+ if (loglevel > 0) {
+- log(L_VB, "Entering runlevel: %c", runlevel);
++ initlog(L_VB, "Entering runlevel: %c", runlevel);
+ write_utmp_wtmp("runlevel", "~~", runlevel + 256 * oldlevel, RUN_LVL, "~");
+ thislevel = runlevel;
+ prevlevel = oldlevel;
+@@ -2133,16 +2237,14 @@
+ */
+ void process_signals()
+ {
+- int pwrstat;
+- int oldlevel;
+- int fd;
+- CHILD *ch;
+- char c;
++ CHILD *ch;
++ int pwrstat;
++ int oldlevel;
++ int fd;
++ char c;
+
+ if (ISMEMBER(got_signals, SIGPWR)) {
+-#if DEBUG
+- log(L_VB, "got SIGPWR");
+-#endif
++ INITDBG(L_VB, "got SIGPWR");
+ /* See _what_ kind of SIGPWR this is. */
+ pwrstat = 0;
+ if ((fd = open(PWRSTAT, O_RDONLY)) >= 0) {
+@@ -2157,9 +2259,7 @@
+ }
+
+ if (ISMEMBER(got_signals, SIGINT)) {
+-#if DEBUG
+- log(L_VB, "got SIGINT");
+-#endif
++ INITDBG(L_VB, "got SIGINT");
+ /* Tell ctrlaltdel entry to start up */
+ for(ch = family; ch; ch = ch->next)
+ if (ch->action == CTRLALTDEL)
+@@ -2168,9 +2268,7 @@
+ }
+
+ if (ISMEMBER(got_signals, SIGWINCH)) {
+-#if DEBUG
+- log(L_VB, "got SIGWINCH");
+-#endif
++ INITDBG(L_VB, "got SIGWINCH");
+ /* Tell kbrequest entry to start up */
+ for(ch = family; ch; ch = ch->next)
+ if (ch->action == KBREQUEST)
+@@ -2179,26 +2277,20 @@
+ }
+
+ if (ISMEMBER(got_signals, SIGALRM)) {
+-#if DEBUG
+- log(L_VB, "got SIGALRM");
+-#endif
++ INITDBG(L_VB, "got SIGALRM");
+ /* The timer went off: check it out */
+ DELSET(got_signals, SIGALRM);
+ }
+
+ if (ISMEMBER(got_signals, SIGCHLD)) {
+-#if DEBUG
+- log(L_VB, "got SIGCHLD");
+-#endif
++ INITDBG(L_VB, "got SIGCHLD");
+ /* First set flag to 0 */
+ DELSET(got_signals, SIGCHLD);
+
+ /* See which child this was */
+ for(ch = family; ch; ch = ch->next)
+ if (ch->flags & ZOMBIE) {
+-#if DEBUG
+- log(L_VB, "Child died, PID= %d", ch->pid);
+-#endif
++ INITDBG(L_VB, "Child died, PID= %d", ch->pid);
+ ch->flags &= ~(RUNNING|ZOMBIE|WAITING);
+ if (ch->process[0] != '+')
+ write_utmp_wtmp("", ch->id, ch->pid, DEAD_PROCESS, NULL);
+@@ -2207,9 +2299,7 @@
+ }
+
+ if (ISMEMBER(got_signals, SIGHUP)) {
+-#if DEBUG
+- log(L_VB, "got SIGHUP");
+-#endif
++ INITDBG(L_VB, "got SIGHUP");
+ #if CHANGE_WAIT
+ /* Are we waiting for a child? */
+ for(ch = family; ch; ch = ch->next)
+@@ -2240,9 +2330,7 @@
+ /*
+ * SIGUSR1 means close and reopen /dev/initctl
+ */
+-#if DEBUG
+- log(L_VB, "got SIGUSR1");
+-#endif
++ INITDBG(L_VB, "got SIGUSR1");
+ close(pipe_fd);
+ pipe_fd = -1;
+ DELSET(got_signals, SIGUSR1);
+@@ -2254,11 +2342,11 @@
+ */
+ int init_main()
+ {
+- int f, st;
+- pid_t rc;
+- CHILD *ch;
+- sigset_t sgt;
+- struct sigaction sa;
++ CHILD *ch;
++ struct sigaction sa;
++ sigset_t sgt;
++ pid_t rc;
++ int f, st;
+
+ if (!reload) {
+
+@@ -2278,6 +2366,7 @@
+ }
+ #endif
+
++#ifdef __linux__
+ /*
+ * Tell the kernel to send us SIGINT when CTRL-ALT-DEL
+ * is pressed, and that we want to handle keyboard signals.
+@@ -2288,6 +2377,7 @@
+ close(f);
+ } else
+ (void) ioctl(0, KDSIGACCEPT, SIGWINCH);
++#endif
+
+ /*
+ * Ignore all signals.
+@@ -2320,9 +2410,9 @@
+ setsid();
+
+ /*
+- * Set default PATH variable (for ksh)
++ * Set default PATH variable.
+ */
+- if (getenv("PATH") == NULL) putenv(PATH_DFL);
++ putenv(PATH_DFL);
+
+ /*
+ * Initialize /var/run/utmp (only works if /var is on
+@@ -2333,7 +2423,7 @@
+ /*
+ * Say hello to the world
+ */
+- log(L_CO, bootmsg, "booting");
++ initlog(L_CO, bootmsg, "booting");
+
+ /*
+ * See if we have to start an emergency shell.
+@@ -2358,7 +2448,7 @@
+ /*
+ * Restart: unblock signals and let the show go on
+ */
+- log(L_CO, bootmsg, "reloading");
++ initlog(L_CO, bootmsg, "reloading");
+ sigfillset(&sgt);
+ sigprocmask(SIG_UNBLOCK, &sgt, NULL);
+ }
+@@ -2368,9 +2458,7 @@
+
+ /* See if we need to make the boot transitions. */
+ boot_transitions();
+-#if DEBUG
+- log(L_VB, "init_main: waiting..");
+-#endif
++ INITDBG(L_VB, "init_main: waiting..");
+
+ /* Check if there are processes to be waited on. */
+ for(ch = family; ch; ch = ch->next)
+@@ -2405,10 +2493,10 @@
+ /*
+ * Tell the user about the syntax we expect.
+ */
+-void Usage(char *s)
++void usage(char *s)
+ {
+- fprintf(stderr, "Usage: %s 0123456SsQqAaBbCcUu\n", s);
+- exit(1);
++ fprintf(stderr, "Usage: %s 0123456SsQqAaBbCcUu\n", s);
++ exit(1);
+ }
+
+ int telinit(char *progname, int argc, char **argv)
+@@ -2418,28 +2506,51 @@
+ #endif
+ struct init_request request;
+ struct sigaction sa;
+- int f, fd;
++ int f, fd, l;
++ char *env = NULL;
+
+- while((f = getopt(argc, argv, "t:")) != EOF) switch(f) {
++ memset(&request, 0, sizeof(request));
++ request.magic = INIT_MAGIC;
++
++ while ((f = getopt(argc, argv, "t:e:")) != EOF) switch(f) {
+ case 't':
+ sltime = atoi(optarg);
+ break;
++ case 'e':
++ if (env == NULL)
++ env = request.i.data;
++ l = strlen(optarg);
++ if (env + l + 2 > request.i.data + sizeof(request.i.data)) {
++ fprintf(stderr, "%s: -e option data "
++ "too large\n", progname);
++ exit(1);
++ }
++ memcpy(env, optarg, l);
++ env += l;
++ *env++ = 0;
++ break;
+ default:
+- Usage(progname);
++ usage(progname);
+ break;
+ }
+
+- /* Check syntax. */
+- if (argc - optind != 1 || strlen(argv[optind]) != 1) Usage(progname);
+- if (!strchr("0123456789SsQqAaBbCcUu", argv[optind][0])) Usage(progname);
++ if (env) *env++ = 0;
+
+- /* Open the fifo and write a command. */
+- memset(&request, 0, sizeof(request));
+- request.magic = INIT_MAGIC;
+- request.cmd = INIT_CMD_RUNLVL;
+- request.runlevel = argv[optind][0];
+- request.sleeptime = sltime;
++ if (env) {
++ if (argc != optind)
++ usage(progname);
++ request.cmd = INIT_CMD_SETENV;
++ } else {
++ if (argc - optind != 1 || strlen(argv[optind]) != 1)
++ usage(progname);
++ if (!strchr("0123456789SsQqAaBbCcUu", argv[optind][0]))
++ usage(progname);
++ request.cmd = INIT_CMD_RUNLVL;
++ request.runlevel = env ? 0 : argv[optind][0];
++ request.sleeptime = sltime;
++ }
+
++ /* Open the fifo and write a command. */
+ /* Make sure we don't hang on opening /dev/initctl */
+ SETSIG(sa, SIGALRM, signal_handler, 0);
+ alarm(3);
+@@ -2449,7 +2560,27 @@
+ alarm(0);
+ return 0;
+ }
+-#ifndef TELINIT_USES_INITLVL
++
++#ifdef TELINIT_USES_INITLVL
++ if (request.cmd == INIT_CMD_RUNLVL) {
++ /* Fallthrough to the old method. */
++
++ /* Now write the new runlevel. */
++ if ((fp = fopen(INITLVL, "w")) == NULL) {
++ fprintf(stderr, "%s: cannot create %s\n",
++ progname, INITLVL);
++ exit(1);
++ }
++ fprintf(fp, "%s %d", argv[optind], sltime);
++ fclose(fp);
++
++ /* And tell init about the pending runlevel change. */
++ if (kill(INITPID, SIGHUP) < 0) perror(progname);
++
++ return 0;
++ }
++#endif
++
+ fprintf(stderr, "%s: ", progname);
+ if (ISMEMBER(got_signals, SIGALRM)) {
+ fprintf(stderr, "timeout opening/writing control channel %s\n",
+@@ -2458,24 +2589,6 @@
+ perror(INIT_FIFO);
+ }
+ return 1;
+-#endif
+-
+- /* Fallthrough to the old method. */
+-
+-#ifdef TELINIT_USES_INITLVL
+- /* Now write the new runlevel. */
+- if ((fp = fopen(INITLVL, "w")) == NULL) {
+- fprintf(stderr, "%s: cannot create %s\n", progname, INITLVL);
+- exit(1);
+- }
+- fprintf(fp, "%s %d", argv[optind], sltime);
+- fclose(fp);
+-
+- /* And tell init about the pending runlevel change. */
+- if (kill(INITPID, SIGHUP) < 0) perror(progname);
+-
+- return 0;
+-#endif
+ }
+
+ /*
+@@ -2518,7 +2631,7 @@
+
+ receive_state(STATE_PIPE);
+
+- myname = strdup(argv[0]);
++ myname = istrdup(argv[0]);
+ argv0 = argv[0];
+ maxproclen = 0;
+ for (f = 0; f < argc; f++)
+diff -urNd -urNd sysvinit-2.85/src/init.h sysvinit-2.86/src/init.h
+--- sysvinit-2.85/src/init.h 1999-06-03 14:22:59.000000000 -0500
++++ sysvinit-2.86/src/init.h 2004-07-29 06:21:01.000000000 -0500
+@@ -2,9 +2,8 @@
+ * init.h Several defines and declarations to be
+ * included by all modules of the init program.
+ *
+- * Version: @(#)init.h 2.74 09-Mar-1998 miquels@cistron.nl
++ * Version: @(#)init.h 2.85-5 02-Jul-2003 miquels@cistron.nl
+ *
+- * Modified: Re-exec patch; 24 Feb 1998, Al Viro.
+ */
+
+ /* Standard configuration */
+@@ -24,17 +23,26 @@
+ #define TESTTIME 120 /* this much seconds */
+ #define SLEEPTIME 300 /* Disable time */
+
+-/* Default path inherited by every child if it's not set. */
+-#define PATH_DFL "PATH=/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin"
++/* Default path inherited by every child. */
++#define PATH_DFL "PATH=/bin:/usr/bin:/sbin:/usr/sbin"
+
+
+ /* Prototypes. */
+ void write_utmp_wtmp(char *user, char *id, int pid, int type, char *line);
+ void write_wtmp(char *user, char *id, int pid, int type, char *line);
+-void log(int loglevel, char *fmt, ...);
++#ifdef __GNUC__
++__attribute__ ((format (printf, 2, 3)))
++#endif
++void initlog(int loglevel, char *fmt, ...);
+ void set_term(int how);
+ void print(char *fmt);
+
++#if DEBUG
++# define INITDBG(level, fmt, args...) initlog(level, fmt, ##args)
++#else
++# define INITDBG(level, fmt, args...)
++#endif
++
+ /* Actions to be taken by init */
+ #define RESPAWN 1
+ #define WAIT 2
+Binary files sysvinit-2.85/src/init.o and sysvinit-2.86/src/init.o differ
+Binary files sysvinit-2.85/src/init_utmp.o and sysvinit-2.86/src/init_utmp.o differ
+diff -urNd -urNd sysvinit-2.85/src/initreq.h sysvinit-2.86/src/initreq.h
+--- sysvinit-2.85/src/initreq.h 1996-01-02 12:22:06.000000000 -0600
++++ sysvinit-2.86/src/initreq.h 2004-07-30 06:56:51.000000000 -0500
+@@ -1,41 +1,77 @@
+ /*
+- * initreq.h Interface to let init spawn programs on behalf of
+- * other programs/daemons.
+- * Definitions based on sys_term.c from the BSD 4.4
+- * telnetd source.
++ * initreq.h Interface to talk to init through /dev/initctl.
+ *
+- * Version: @(#)initreq.h 1.25 28-Dec-1995 MvS
++ * Copyright (C) 1995-2004 Miquel van Smoorenburg
++ *
++ * 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 of the License, or (at your option) any later version.
++ *
++ * Version: @(#)initreq.h 1.28 31-Mar-2004 MvS
+ *
+- * Notes: Implemented in sysvinit-2.58 and up, but only
+- * for "telinit". Support for rlogind, telnetd
+- * and rxvt/xterm will follow shortly.
+ */
+ #ifndef _INITREQ_H
+ #define _INITREQ_H
+
+ #include <sys/param.h>
+
++#if defined(__FreeBSD_kernel__)
++# define INIT_FIFO "/etc/.initctl"
++#else
++# define INIT_FIFO "/dev/initctl"
++#endif
++
+ #define INIT_MAGIC 0x03091969
+-#define INIT_FIFO "/dev/initctl"
+-#define INIT_CMD_START 0
+-#define INIT_CMD_RUNLVL 1
+-#define INIT_CMD_POWERFAIL 2
+-#define INIT_CMD_POWERFAILNOW 3
+-#define INIT_CMD_POWEROK 4
++#define INIT_CMD_START 0
++#define INIT_CMD_RUNLVL 1
++#define INIT_CMD_POWERFAIL 2
++#define INIT_CMD_POWERFAILNOW 3
++#define INIT_CMD_POWEROK 4
++#define INIT_CMD_BSD 5
++#define INIT_CMD_SETENV 6
++#define INIT_CMD_UNSETENV 7
++
++#define INIT_CMD_CHANGECONS 12345
++
++#ifdef MAXHOSTNAMELEN
++# define INITRQ_HLEN MAXHOSTNAMELEN
++#else
++# define INITRQ_HLEN 64
++#endif
++
++/*
++ * This is what BSD 4.4 uses when talking to init.
++ * Linux doesn't use this right now.
++ */
++struct init_request_bsd {
++ char gen_id[8]; /* Beats me.. telnetd uses "fe" */
++ char tty_id[16]; /* Tty name minus /dev/tty */
++ char host[INITRQ_HLEN]; /* Hostname */
++ char term_type[16]; /* Terminal type */
++ int signal; /* Signal to send */
++ int pid; /* Process to send to */
++ char exec_name[128]; /* Program to execute */
++ char reserved[128]; /* For future expansion. */
++};
++
+
++/*
++ * Because of legacy interfaces, "runlevel" and "sleeptime"
++ * aren't in a seperate struct in the union.
++ *
++ * The weird sizes are because init expects the whole
++ * struct to be 384 bytes.
++ */
+ struct init_request {
+- int magic; /* Magic number */
+- int cmd; /* What kind of request */
+- int runlevel; /* Runlevel to change to */
+- int sleeptime; /* Time between TERM and KILL */
+- char gen_id[8]; /* Beats me.. telnetd uses "fe" */
+- char tty_id[16]; /* Tty name minus /dev/tty */
+- char host[MAXHOSTNAMELEN]; /* Hostname */
+- char term_type[16]; /* Terminal type */
+- int signal; /* Signal to send */
+- int pid; /* Process to send to */
+- char exec_name[128]; /* Program to execute */
+- char reserved[128]; /* For future expansion. */
++ int magic; /* Magic number */
++ int cmd; /* What kind of request */
++ int runlevel; /* Runlevel to change to */
++ int sleeptime; /* Time between TERM and KILL */
++ union {
++ struct init_request_bsd bsd;
++ char data[368];
++ } i;
+ };
+
+ #endif
+Binary files sysvinit-2.85/src/killall5 and sysvinit-2.86/src/killall5 differ
+diff -urNd -urNd sysvinit-2.85/src/killall5.c sysvinit-2.86/src/killall5.c
+--- sysvinit-2.85/src/killall5.c 2003-04-14 04:59:11.000000000 -0500
++++ sysvinit-2.86/src/killall5.c 2004-07-30 07:16:23.000000000 -0500
+@@ -5,7 +5,7 @@
+ *
+ * pidof.c Tries to get the pid of the process[es] named.
+ *
+- * Version: 2.85 14-Apr-2003 MvS
++ * Version: 2.86 30-Jul-2004 MvS
+ *
+ * Usage: killall5 [-][signal]
+ * pidof [-s] [-o omitpid [-o omitpid]] program [program..]
+@@ -20,7 +20,7 @@
+ * - swapped out programs pids are caught now
+ *
+ * This file is part of the sysvinit suite,
+- * Copyright 1991-2003 Miquel van Smoorenburg.
++ * Copyright 1991-2004 Miquel van Smoorenburg.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+@@ -41,34 +41,43 @@
+ #include <getopt.h>
+ #include <stdarg.h>
+
+-char *Version = "@(#)killall5 2.85 14-Apr-2003 miquels@cistron.nl";
++char *Version = "@(#)killall5 2.86 31-Jul-2004 miquels@cistron.nl";
++
++#define STATNAMELEN 15
+
+ /* Info about a process. */
+-typedef struct _proc_
+-{
+- char *fullname; /* Name as found out from argv[0] */
+- char *basename; /* Only the part after the last / */
+- char *statname; /* the statname without braces */
+- ino_t ino; /* Inode number */
+- dev_t dev; /* Device it is on */
+- pid_t pid; /* Process ID. */
+- int sid; /* Session ID. */
+- struct _proc_ *next; /* Pointer to next struct. */
++typedef struct proc {
++ char *argv0; /* Name as found out from argv[0] */
++ char *argv0base; /* `basename argv[1]` */
++ char *argv1; /* Name as found out from argv[1] */
++ char *argv1base; /* `basename argv[1]` */
++ char *statname; /* the statname without braces */
++ ino_t ino; /* Inode number */
++ dev_t dev; /* Device it is on */
++ pid_t pid; /* Process ID. */
++ int sid; /* Session ID. */
++ int kernel; /* Kernel thread or zombie. */
++ struct proc *next; /* Pointer to next struct. */
+ } PROC;
+
+ /* pid queue */
+-typedef struct _pidq_ {
+- struct _pidq_ *front;
+- struct _pidq_ *next;
+- struct _pidq_ *rear;
+- PROC *proc;
++
++typedef struct pidq {
++ PROC *proc;
++ struct pidq *next;
+ } PIDQ;
+
++typedef struct {
++ PIDQ *head;
++ PIDQ *tail;
++ PIDQ *next;
++} PIDQ_HEAD;
++
+ /* List of processes. */
+ PROC *plist;
+
+-/* Did we stop a number of processes? */
+-int stopped;
++/* Did we stop all processes ? */
++int sent_sigstop;
+
+ int scripts_too = 0;
+
+@@ -86,7 +95,7 @@
+ void *p;
+
+ if ((p = malloc(bytes)) == NULL) {
+- if (stopped) kill(-1, SIGCONT);
++ if (sent_sigstop) kill(-1, SIGCONT);
+ nsyslog(LOG_ERR, "out of memory");
+ exit(1);
+ }
+@@ -98,14 +107,14 @@
+ */
+ int mount_proc(void)
+ {
+- struct stat st;
+- pid_t pid, rc;
+- int wst;
+- char *args[] = { "mount", "-t", "proc", "none", "/proc", NULL };
+- int did_mount = 0;
++ struct stat st;
++ char *args[] = { "mount", "-t", "proc", "proc", "/proc", 0 };
++ pid_t pid, rc;
++ int wst;
++ int did_mount = 0;
+
+ /* Stat /proc/version to see if /proc is mounted. */
+- if (stat("/proc/version", &st) < 0) {
++ if (stat("/proc/version", &st) < 0 && errno == ENOENT) {
+
+ /* It's not there, so mount it. */
+ if ((pid = fork()) < 0) {
+@@ -115,7 +124,6 @@
+ if (pid == 0) {
+ /* Try a few mount binaries. */
+ execv("/sbin/mount", args);
+- execv("/etc/mount", args);
+ execv("/bin/mount", args);
+
+ /* Okay, I give up. */
+@@ -134,28 +142,42 @@
+
+ /* See if mount succeeded. */
+ if (stat("/proc/version", &st) < 0) {
+- nsyslog(LOG_ERR, "/proc not mounted, failed to mount.");
++ if (errno == ENOENT)
++ nsyslog(LOG_ERR, "/proc not mounted, failed to mount.");
++ else
++ nsyslog(LOG_ERR, "/proc unavailable.");
+ exit(1);
+ }
+
+ return did_mount;
+ }
+
++int readarg(FILE *fp, char *buf, int sz)
++{
++ int c = 0, f = 0;
++
++ while (f < (sz-1) && (c = fgetc(fp)) != EOF && c)
++ buf[f++] = c;
++ buf[f] = 0;
++
++ return (c == EOF && f == 0) ? c : f;
++}
++
+ /*
+ * Read the proc filesystem.
+ */
+ int readproc()
+ {
+- DIR *dir;
+- struct dirent *d;
+- char path[256];
+- char buf[256];
+- char *s, *q;
+- FILE *fp;
+- int pid, f;
+- PROC *p, *n;
+- struct stat st;
+- int c;
++ DIR *dir;
++ FILE *fp;
++ PROC *p, *n;
++ struct dirent *d;
++ struct stat st;
++ char path[256];
++ char buf[256];
++ char *s, *q;
++ unsigned long startcode, endcode;
++ int pid, f;
+
+ /* Open the /proc directory. */
+ if ((dir = opendir("/proc")) == NULL) {
+@@ -167,7 +189,8 @@
+ n = plist;
+ for (p = plist; n; p = n) {
+ n = p->next;
+- if (p->fullname) free(p->fullname);
++ if (p->argv0) free(p->argv0);
++ if (p->argv1) free(p->argv1);
+ free(p);
+ }
+ plist = NULL;
+@@ -188,7 +211,7 @@
+ /* Read SID & statname from it. */
+ if ((fp = fopen(path, "r")) != NULL) {
+ buf[0] = 0;
+- fgets(buf, 256, fp);
++ fgets(buf, sizeof(buf), fp);
+
+ /* See if name starts with '(' */
+ s = buf;
+@@ -215,14 +238,21 @@
+ p->statname = (char *)xmalloc(strlen(s)+1);
+ strcpy(p->statname, s);
+
+- /* This could be replaced by getsid(pid) */
+- if (sscanf(q, "%*c %*d %*d %d", &p->sid) != 1) {
++ /* Get session, startcode, endcode. */
++ startcode = endcode = 0;
++ if (sscanf(q, "%*c %*d %*d %d %*d %*d %*u %*u "
++ "%*u %*u %*u %*u %*u %*d %*d "
++ "%*d %*d %*d %*d %*u %*u %*d "
++ "%*u %lu %lu",
++ &p->sid, &startcode, &endcode) != 3) {
+ p->sid = 0;
+ nsyslog(LOG_ERR, "can't read sid from %s\n",
+ path);
+ free(p);
+ continue;
+ }
++ if (startcode == 0 && endcode == 0)
++ p->kernel = 1;
+ fclose(fp);
+ } else {
+ /* Process disappeared.. */
+@@ -230,24 +260,44 @@
+ continue;
+ }
+
+- /* Now read argv[0] */
+ snprintf(path, sizeof(path), "/proc/%s/cmdline", d->d_name);
+ if ((fp = fopen(path, "r")) != NULL) {
+- f = 0;
+- while(f < 127 && (c = fgetc(fp)) != EOF && c)
+- buf[f++] = c;
+- buf[f++] = 0;
+- fclose(fp);
+
+- /* Store the name into malloced memory. */
+- p->fullname = (char *)xmalloc(f);
+- strcpy(p->fullname, buf);
++ /* Now read argv[0] */
++ f = readarg(fp, buf, sizeof(buf));
++
++ if (buf[0]) {
++ /* Store the name into malloced memory. */
++ p->argv0 = (char *)xmalloc(f + 1);
++ strcpy(p->argv0, buf);
++
++ /* Get a pointer to the basename. */
++ p->argv0base = strrchr(p->argv0, '/');
++ if (p->argv0base != NULL)
++ p->argv0base++;
++ else
++ p->argv0base = p->argv0;
++ }
++
++ /* And read argv[1] */
++ while ((f = readarg(fp, buf, sizeof(buf))) != EOF)
++ if (buf[0] != '-') break;
++
++ if (buf[0]) {
++ /* Store the name into malloced memory. */
++ p->argv1 = (char *)xmalloc(f + 1);
++ strcpy(p->argv1, buf);
++
++ /* Get a pointer to the basename. */
++ p->argv1base = strrchr(p->argv1, '/');
++ if (p->argv1base != NULL)
++ p->argv1base++;
++ else
++ p->argv1base = p->argv1;
++ }
++
++ fclose(fp);
+
+- /* Get a pointer to the basename. */
+- if ((p->basename = strrchr(p->fullname, '/')) != NULL)
+- p->basename++;
+- else
+- p->basename = p->fullname;
+ } else {
+ /* Process disappeared.. */
+ free(p);
+@@ -272,19 +322,18 @@
+ return 0;
+ }
+
+-PIDQ *init_pid_q(PIDQ *q)
++PIDQ_HEAD *init_pid_q(PIDQ_HEAD *q)
+ {
+- q->front = q->next = q->rear = NULL;
+- q->proc = NULL;
++ q->head = q->next = q->tail = NULL;
+ return q;
+ }
+
+-int empty_q(PIDQ *q)
++int empty_q(PIDQ_HEAD *q)
+ {
+- return (q->front == NULL);
++ return (q->head == NULL);
+ }
+
+-int add_pid_to_q(PIDQ *q, PROC *p)
++int add_pid_to_q(PIDQ_HEAD *q, PROC *p)
+ {
+ PIDQ *tmp;
+
+@@ -294,23 +343,23 @@
+ tmp->next = NULL;
+
+ if (empty_q(q)) {
+- q->front = tmp;
+- q->rear = tmp;
++ q->head = tmp;
++ q->tail = tmp;
+ } else {
+- q->rear->next = tmp;
+- q->rear = tmp;
++ q->tail->next = tmp;
++ q->tail = tmp;
+ }
+ return 0;
+ }
+
+-PROC *get_next_from_pid_q(PIDQ *q)
++PROC *get_next_from_pid_q(PIDQ_HEAD *q)
+ {
+- PROC *p;
+- PIDQ *tmp = q->front;
++ PROC *p;
++ PIDQ *tmp = q->head;
+
+ if (!empty_q(q)) {
+- p = q->front->proc;
+- q->front = tmp->next;
++ p = q->head->proc;
++ q->head = tmp->next;
+ free(tmp);
+ return p;
+ }
+@@ -319,15 +368,15 @@
+ }
+
+ /* Try to get the process ID of a given process. */
+-PIDQ *pidof(char *prog)
++PIDQ_HEAD *pidof(char *prog)
+ {
+- struct stat st;
+- int dostat = 0;
+- PROC *p;
+- PIDQ *q;
+- char *s;
+- int foundone = 0;
+- int ok = 0;
++ PROC *p;
++ PIDQ_HEAD *q;
++ struct stat st;
++ char *s;
++ int dostat = 0;
++ int foundone = 0;
++ int ok = 0;
+
+ /* Try to stat the executable. */
+ if (prog[0] == '/' && stat(prog, &st) == 0) dostat++;
+@@ -338,7 +387,7 @@
+ else
+ s++;
+
+- q = (PIDQ *)xmalloc(sizeof(PIDQ));
++ q = (PIDQ_HEAD *)xmalloc(sizeof(PIDQ_HEAD));
+ q = init_pid_q(q);
+
+ /* First try to find a match based on dev/ino pair. */
+@@ -352,20 +401,31 @@
+ }
+
+ /* If we didn't find a match based on dev/ino, try the name. */
+- if (!foundone) {
+- for (p = plist; p; p = p->next) {
+- ok = 0;
++ if (!foundone) for (p = plist; p; p = p->next) {
++ ok = 0;
+
+- ok += (strcmp(p->fullname, prog) == 0);
+- ok += (strcmp(p->basename, s) == 0);
++ /* Compare name (both basename and full path) */
++ ok += (p->argv0 && strcmp(p->argv0, prog) == 0);
++ ok += (p->argv0 && strcmp(p->argv0base, s) == 0);
+
+- if (p->fullname[0] == 0 ||
+- strchr(p->fullname, ' ') ||
+- scripts_too)
+- ok += (strcmp(p->statname, s) == 0);
++ /* For scripts, compare argv[1] as well. */
++ if (scripts_too && p->argv1 &&
++ !strncmp(p->statname, p->argv1base, STATNAMELEN)) {
++ ok += (strcmp(p->argv1, prog) == 0);
++ ok += (strcmp(p->argv1base, s) == 0);
++ }
+
+- if (ok) add_pid_to_q(q, p);
++ /*
++ * if we have a space in argv0, process probably
++ * used setproctitle so try statname.
++ */
++ if (strlen(s) <= STATNAMELEN &&
++ (p->argv0 == NULL ||
++ p->argv0[0] == 0 ||
++ strchr(p->argv0, ' '))) {
++ ok += (strcmp(p->statname, s) == 0);
+ }
++ if (ok) add_pid_to_q(q, p);
+ }
+
+ return q;
+@@ -410,12 +470,12 @@
+ */
+ int main_pidof(int argc, char **argv)
+ {
+- PROC *p;
+- PIDQ *q;
+- int f;
+- int first = 1;
+- int i,oind, opt, flags = 0;
+- pid_t opid[PIDOF_OMITSZ], spid;
++ PIDQ_HEAD *q;
++ PROC *p;
++ pid_t opid[PIDOF_OMITSZ], spid;
++ int f;
++ int first = 1;
++ int i, oind, opt, flags = 0;
+
+ for (oind = PIDOF_OMITSZ-1; oind > 0; oind--)
+ opid[oind] = 0;
+@@ -498,9 +558,9 @@
+ /* Main for either killall or pidof. */
+ int main(int argc, char **argv)
+ {
+- PROC *p;
+- int pid, sid = -1;
+- int sig = SIGKILL;
++ PROC *p;
++ int pid, sid = -1;
++ int sig = SIGKILL;
+
+ /* Get program name. */
+ if ((progname = strrchr(argv[0], '/')) == NULL)
+@@ -511,9 +571,6 @@
+ /* Now connect to syslog. */
+ openlog(progname, LOG_CONS|LOG_PID, LOG_DAEMON);
+
+- /* First get the /proc filesystem online. */
+- mount_proc();
+-
+ /* Were we called as 'pidof' ? */
+ if (strcmp(progname, "pidof") == 0)
+ return main_pidof(argc, argv);
+@@ -525,6 +582,9 @@
+ if ((sig = atoi(argv[1])) <= 0 || sig > 31) usage();
+ }
+
++ /* First get the /proc filesystem online. */
++ mount_proc();
++
+ /*
+ * Ignoring SIGKILL and SIGSTOP do not make sense, but
+ * someday kill(-1, sig) might kill ourself if we don't
+@@ -537,24 +597,19 @@
+
+ /* Now stop all processes. */
+ kill(-1, SIGSTOP);
+- stopped = 1;
++ sent_sigstop = 1;
+
+- /* Find out our own 'sid'. */
++ /* Read /proc filesystem */
+ if (readproc() < 0) {
+ kill(-1, SIGCONT);
+ exit(1);
+ }
+
+- pid = getpid();
+- for (p = plist; p; p = p->next)
+- if (p->pid == pid) {
+- sid = p->sid;
+- break;
+- }
+-
+ /* Now kill all processes except our session. */
++ sid = (int)getsid(0);
++ pid = (int)getpid();
+ for (p = plist; p; p = p->next)
+- if (p->pid != pid && p->sid != sid)
++ if (p->pid != pid && p->sid != sid && !p->kernel)
+ kill(p->pid, sig);
+
+ /* And let them continue. */
+Binary files sysvinit-2.85/src/last and sysvinit-2.86/src/last differ
+diff -urNd -urNd sysvinit-2.85/src/last.c sysvinit-2.86/src/last.c
+--- sysvinit-2.85/src/last.c 2003-04-17 06:38:56.000000000 -0500
++++ sysvinit-2.86/src/last.c 2004-07-30 07:16:26.000000000 -0500
+@@ -6,10 +6,10 @@
+ *
+ * Author: Miquel van Smoorenburg, miquels@cistron.nl
+ *
+- * Version: @(#)last 2.85 16-Apr-2003 miquels@cistron.nl
++ * Version: @(#)last 2.85 30-Jul-2004 miquels@cistron.nl
+ *
+ * This file is part of the sysvinit suite,
+- * Copyright 1991-2003 Miquel van Smoorenburg.
++ * Copyright 1991-2004 Miquel van Smoorenburg.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+@@ -40,7 +40,7 @@
+ # define SHUTDOWN_TIME 254
+ #endif
+
+-char *Version = "@(#) last 2.85 16-Apr-2003 miquels";
++char *Version = "@(#) last 2.85 31-Apr-2004 miquels";
+
+ #define CHOP_DOMAIN 0 /* Define to chop off local domainname. */
+ #define NEW_UTMP 1 /* Fancy & fast utmp read code. */
+@@ -491,10 +491,48 @@
+ void usage(char *s)
+ {
+ fprintf(stderr, "Usage: %s [-num | -n num] [-f file] "
++ "[-t YYYYMMDDHHMMSS] "
+ "[-R] [-x] [-o] [username..] [tty..]\n", s);
+ exit(1);
+ }
+
++time_t parsetm(char *ts)
++{
++ struct tm u = {0}, origu;
++ time_t tm;
++
++ if (sscanf(ts, "%4d%2d%2d%2d%2d%2d", &u.tm_year,
++ &u.tm_mon, &u.tm_mday, &u.tm_hour, &u.tm_min,
++ &u.tm_sec) != 6)
++ return (time_t)-1;
++
++ u.tm_year -= 1900;
++ u.tm_mon -= 1;
++ u.tm_isdst = -1;
++
++ origu = u;
++
++ if ((tm = mktime(&u)) == (time_t)-1)
++ return tm;
++
++ /*
++ * Unfortunately mktime() is much more forgiving than
++ * it should be. For example, it'll gladly accept
++ * "30" as a valid month number. This behavior is by
++ * design, but we don't like it, so we want to detect
++ * it and complain.
++ */
++ if (u.tm_year != origu.tm_year ||
++ u.tm_mon != origu.tm_mon ||
++ u.tm_mday != origu.tm_mday ||
++ u.tm_hour != origu.tm_hour ||
++ u.tm_min != origu.tm_min ||
++ u.tm_sec != origu.tm_sec)
++ return (time_t)-1;
++
++ return tm;
++}
++
+ int main(int argc, char **argv)
+ {
+ FILE *fp; /* Filepointer of wtmp file */
+@@ -518,10 +556,12 @@
+ int extended = 0; /* Lots of info. */
+ char *altufile = NULL;/* Alternate wtmp */
+
++ time_t until = 0; /* at what time to stop parsing the file */
++
+ progname = mybasename(argv[0]);
+
+ /* Process the arguments. */
+- while((c = getopt(argc, argv, "f:n:Rxadio0123456789")) != EOF)
++ while((c = getopt(argc, argv, "f:n:Rxadiot:0123456789")) != EOF)
+ switch(c) {
+ case 'R':
+ showhost = 0;
+@@ -552,6 +592,13 @@
+ case 'a':
+ altlist++;
+ break;
++ case 't':
++ if ((until = parsetm(optarg)) == (time_t)-1) {
++ fprintf(stderr, "%s: Invalid time value \"%s\"\n",
++ progname, optarg);
++ usage(progname);
++ }
++ break;
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ maxrecs = 10*maxrecs + c - '0';
+@@ -650,6 +697,9 @@
+ if (uread(fp, &ut, &quit) != 1)
+ break;
+
++ if (until && until < ut.ut_time)
++ continue;
++
+ if (memcmp(&ut, &oldut, sizeof(struct utmp)) == 0) continue;
+ memcpy(&oldut, &ut, sizeof(struct utmp));
+ lastdate = ut.ut_time;
+Binary files sysvinit-2.85/src/last.o and sysvinit-2.86/src/last.o differ
+Binary files sysvinit-2.85/src/mesg and sysvinit-2.86/src/mesg differ
+Binary files sysvinit-2.85/src/mesg.o and sysvinit-2.86/src/mesg.o differ
+Binary files sysvinit-2.85/src/mountpoint and sysvinit-2.86/src/mountpoint differ
+diff -urNd -urNd sysvinit-2.85/src/mountpoint.c sysvinit-2.86/src/mountpoint.c
+--- sysvinit-2.85/src/mountpoint.c 1969-12-31 18:00:00.000000000 -0600
++++ sysvinit-2.86/src/mountpoint.c 2004-06-09 07:47:45.000000000 -0500
+@@ -0,0 +1,119 @@
++/*
++ * mountpoint See if a directory is a mountpoint.
++ *
++ * Author: Miquel van Smoorenburg.
++ *
++ * Version: @(#)mountpoint 2.85-12 17-Mar-2004 miquels@cistron.nl
++ *
++ * This file is part of the sysvinit suite,
++ * Copyright 1991-2004 Miquel van Smoorenburg.
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version
++ * 2 of the License, or (at your option) any later version.
++ */
++
++#include <sys/stat.h>
++#include <unistd.h>
++#include <stdlib.h>
++#include <string.h>
++#include <errno.h>
++#include <stdarg.h>
++#include <getopt.h>
++#include <stdio.h>
++
++int dostat(char *path, struct stat *st, int do_lstat, int quiet)
++{
++ int n;
++
++ if (do_lstat)
++ n = lstat(path, st);
++ else
++ n = stat(path, st);
++
++ if (n != 0) {
++ if (!quiet)
++ fprintf(stderr, "mountpoint: %s: %s\n", path,
++ strerror(errno));
++ return -1;
++ }
++ return 0;
++}
++
++void usage(void) {
++ fprintf(stderr, "Usage: mountpoint [-q] [-d] [-x] path\n");
++ exit(1);
++}
++
++int main(int argc, char **argv)
++{
++ struct stat st, st2;
++ char buf[256];
++ char *path;
++ int quiet = 0;
++ int showdev = 0;
++ int xdev = 0;
++ int c, r;
++
++ while ((c = getopt(argc, argv, "dqx")) != EOF) switch(c) {
++ case 'd':
++ showdev = 1;
++ break;
++ case 'q':
++ quiet = 1;
++ break;
++ case 'x':
++ xdev = 1;
++ break;
++ default:
++ usage();
++ break;
++ }
++ if (optind != argc - 1) usage();
++ path = argv[optind];
++
++ if (dostat(path, &st, !xdev, quiet) < 0)
++ return 1;
++
++ if (xdev) {
++#ifdef __linux__
++ if (!S_ISBLK(st.st_mode))
++#else
++ if (!S_ISBLK(st.st_mode) && !S_ISCHR(st.st_mode))
++#endif
++ {
++ if (quiet)
++ printf("\n");
++ else
++ fprintf(stderr, "mountpoint: %s: not a block device\n",
++ path);
++ return 1;
++ }
++ printf("%u:%u\n", major(st.st_rdev), minor(st.st_rdev));
++ return 0;
++ }
++
++ if (!S_ISDIR(st.st_mode)) {
++ if (!quiet)
++ fprintf(stderr, "mountpoint: %s: not a directory\n",
++ path);
++ return 1;
++ }
++
++ memset(buf, 0, sizeof(buf));
++ strncpy(buf, path, sizeof(buf) - 4);
++ strcat(buf, "/..");
++ if (dostat(buf, &st2, 0, quiet) < 0)
++ return 1;
++
++ r = (st.st_dev != st2.st_dev) ||
++ (st.st_dev == st2.st_dev && st.st_ino == st2.st_ino);
++
++ if (!quiet && !showdev)
++ printf("%s is %sa mountpoint\n", path, r ? "" : "not ");
++ if (showdev)
++ printf("%u:%u\n", major(st.st_dev), minor(st.st_dev));
++
++ return r ? 0 : 1;
++}
+Binary files sysvinit-2.85/src/mountpoint.o and sysvinit-2.86/src/mountpoint.o differ
+diff -urNd -urNd sysvinit-2.85/src/paths.h sysvinit-2.86/src/paths.h
+--- sysvinit-2.85/src/paths.h 2003-04-14 06:37:01.000000000 -0500
++++ sysvinit-2.86/src/paths.h 2004-06-09 07:47:45.000000000 -0500
+@@ -1,7 +1,7 @@
+ /*
+ * paths.h Paths of files that init and related utilities need.
+ *
+- * Version: @(#) paths.h 2.84 27-Nov-2001
++ * Version: @(#) paths.h 2.85-8 05-Nov-2003
+ *
+ * Author: Miquel van Smoorenburg, <miquels@cistron.nl>
+ *
+@@ -24,6 +24,7 @@
+ #define FORCEFSCK "/forcefsck" /* Force fsck on boot */
+ #define SDPID "/var/run/shutdown.pid" /* PID of shutdown program */
+ #define SHELL "/bin/sh" /* Default shell */
++#define SULOGIN "/sbin/sulogin" /* Sulogin */
+ #define INITSCRIPT "/etc/initscript" /* Initscript. */
+ #define PWRSTAT "/etc/powerstatus" /* COMPAT: SIGPWR reason (OK/BAD) */
+
+diff -urNd -urNd sysvinit-2.85/src/reboot.h sysvinit-2.86/src/reboot.h
+--- sysvinit-2.85/src/reboot.h 1997-09-24 03:55:52.000000000 -0500
++++ sysvinit-2.86/src/reboot.h 2004-06-09 07:47:45.000000000 -0500
+@@ -2,22 +2,35 @@
+ * reboot.h Headerfile that defines how to handle
+ * the reboot() system call.
+ *
+- * Version: @(#)reboot.h 1.00 23-Jul-1996 miquels@cistron.nl
++ * Version: @(#)reboot.h 2.85-17 04-Jun-2004 miquels@cistron.nl
+ *
+ */
+
+-#if defined(__GLIBC__)
+-# include <sys/reboot.h>
++#include <sys/reboot.h>
++
++#ifdef RB_ENABLE_CAD
++# define BMAGIC_HARD RB_ENABLE_CAD
+ #endif
+
+-#define BMAGIC_HARD 0x89ABCDEF
+-#define BMAGIC_SOFT 0
+-#define BMAGIC_REBOOT 0x01234567
+-#define BMAGIC_HALT 0xCDEF0123
+-#define BMAGIC_POWEROFF 0x4321FEDC
++#ifdef RB_DISABLE_CAD
++# define BMAGIC_SOFT RB_DISABLE_CAD
++#endif
+
+-#if defined(__GLIBC__)
+- #define init_reboot(magic) reboot(magic)
++#ifdef RB_HALT_SYSTEM
++# define BMAGIC_HALT RB_HALT_SYSTEM
+ #else
+- #define init_reboot(magic) reboot(0xfee1dead, 672274793, magic)
++# define BMAGIC_HALT RB_HALT
+ #endif
++
++#define BMAGIC_REBOOT RB_AUTOBOOT
++
++#ifdef RB_POWER_OFF
++# define BMAGIC_POWEROFF RB_POWER_OFF
++#elif defined(RB_POWEROFF)
++# define BMAGIC_POWEROFF RB_POWEROFF
++#else
++# define BMAGIC_POWEROFF BMAGIC_HALT
++#endif
++
++#define init_reboot(magic) reboot(magic)
++
+Binary files sysvinit-2.85/src/runlevel and sysvinit-2.86/src/runlevel differ
+Binary files sysvinit-2.85/src/runlevel.o and sysvinit-2.86/src/runlevel.o differ
+Binary files sysvinit-2.85/src/shutdown and sysvinit-2.86/src/shutdown differ
+diff -urNd -urNd sysvinit-2.85/src/shutdown.c sysvinit-2.86/src/shutdown.c
+--- sysvinit-2.85/src/shutdown.c 2003-04-14 06:35:51.000000000 -0500
++++ sysvinit-2.86/src/shutdown.c 2004-07-30 06:59:04.000000000 -0500
+@@ -13,10 +13,10 @@
+ *
+ * Author: Miquel van Smoorenburg, miquels@cistron.nl
+ *
+- * Version: @(#)shutdown 2.85 14-Apr-2003 miquels@cistron.nl
++ * Version: @(#)shutdown 2.86-1 31-Jul-2004 miquels@cistron.nl
+ *
+ * This file is part of the sysvinit suite,
+- * Copyright 1991-2003 Miquel van Smoorenburg.
++ * Copyright 1991-2004 Miquel van Smoorenburg.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+@@ -36,10 +36,12 @@
+ #include <fcntl.h>
+ #include <stdarg.h>
+ #include <utmp.h>
++#include <syslog.h>
+ #include "paths.h"
+ #include "reboot.h"
++#include "initreq.h"
+
+-char *Version = "@(#) shutdown 2.85 14-Apr-2003 miquels@cistron.nl";
++char *Version = "@(#) shutdown 2.86-1 31-Jul-2004 miquels@cistron.nl";
+
+ #define MESSAGELEN 256
+
+@@ -52,6 +54,7 @@
+ char *sltime = 0; /* Sleep time */
+ char newstate[64]; /* What are we gonna do */
+ int doself = 0; /* Don't use init */
++int got_alrm = 0;
+
+ char *clean_env[] = {
+ "HOME=/",
+@@ -67,93 +70,152 @@
+ extern void write_wtmp(char *user, char *id, int pid, int type, char *line);
+
+ /*
+- * Sleep without being interrupted.
++ * Sleep without being interrupted.
+ */
+ void hardsleep(int secs)
+ {
+- struct timespec ts, rem;
++ struct timespec ts, rem;
+
+- ts.tv_sec = secs;
+- ts.tv_nsec = 0;
++ ts.tv_sec = secs;
++ ts.tv_nsec = 0;
+
+- while(nanosleep(&ts, &rem) < 0 && errno == EINTR)
++ while(nanosleep(&ts, &rem) < 0 && errno == EINTR)
+ ts = rem;
+ }
+
+ /*
+- * Break off an already running shutdown.
++ * Break off an already running shutdown.
+ */
+-void stopit()
++void stopit(int sig)
+ {
+- unlink(NOLOGIN);
+- unlink(FASTBOOT);
+- unlink(FORCEFSCK);
+- unlink(SDPID);
+- printf("\r\nShutdown cancelled.\r\n");
+- exit(0);
++ unlink(NOLOGIN);
++ unlink(FASTBOOT);
++ unlink(FORCEFSCK);
++ unlink(SDPID);
++ printf("\r\nShutdown cancelled.\r\n");
++ exit(0);
+ }
+
+ /*
+- * Show usage message.
++ * Show usage message.
+ */
+-void usage()
++void usage(void)
+ {
+- fprintf(stderr,
+- "Usage:\t shutdown [-akrhfnc] [-t secs] time [warning message]\n"
++ fprintf(stderr,
++ "Usage:\t shutdown [-akrhHPfnc] [-t secs] time [warning message]\n"
+ "\t\t -a: use /etc/shutdown.allow\n"
+ "\t\t -k: don't really shutdown, only warn.\n"
+ "\t\t -r: reboot after shutdown.\n"
+ "\t\t -h: halt after shutdown.\n"
++ "\t\t -P: halt action is to turn off power.\n"
++ "\t\t -H: halt action is to just halt.\n"
+ "\t\t -f: do a 'fast' reboot (skip fsck).\n"
+ "\t\t -F: Force fsck on reboot.\n"
+ "\t\t -n: do not go through \"init\" but go down real fast.\n"
+ "\t\t -c: cancel a running shutdown.\n"
+ "\t\t -t secs: delay between warning and kill signal.\n"
+ "\t\t ** the \"time\" argument is mandatory! (try \"now\") **\n");
+- exit(1);
++ exit(1);
+ }
+
++
++void alrm_handler(int sig)
++{
++ got_alrm = sig;
++}
++
++
+ /*
+- * Tell everyone the system is going down in 'mins' minutes.
++ * Set environment variables in the init process.
+ */
+-void warn(mins)
+-int mins;
++int init_setenv(char *name, char *value)
+ {
+- char buf[MESSAGELEN + sizeof(newstate)];
+- int len;
++ struct init_request request;
++ struct sigaction sa;
++ int fd;
++ int nl, vl;
+
+- buf[0] = 0;
+- strncat(buf, message, sizeof(buf) - 1);
+- len = strlen(buf);
++ memset(&request, 0, sizeof(request));
++ request.magic = INIT_MAGIC;
++ request.cmd = INIT_CMD_SETENV;
++ nl = strlen(name);
++ vl = value ? strlen(value) : 0;
+
+- if (mins == 0)
+- snprintf(buf + len, sizeof(buf) - len,
+- "\rThe system is going down %s NOW!\r\n",
+- newstate);
+- else
+- snprintf(buf + len, sizeof(buf) - len,
+- "\rThe system is going DOWN %s in %d minute%s!\r\n",
+- newstate, mins, mins == 1 ? "" : "s");
+- wall(buf, 1, 0);
++ if (nl + vl + 3 >= sizeof(request.i.data))
++ return -1;
++
++ memcpy(request.i.data, name, nl);
++ if (value) {
++ request.i.data[nl] = '=';
++ memcpy(request.i.data + nl + 1, value, vl);
++ }
++
++ /*
++ * Open the fifo and write the command.
++ * Make sure we don't hang on opening /dev/initctl
++ */
++ memset(&sa, 0, sizeof(sa));
++ sa.sa_handler = alrm_handler;
++ sigaction(SIGALRM, &sa, NULL);
++ got_alrm = 0;
++ alarm(3);
++ if ((fd = open(INIT_FIFO, O_WRONLY)) >= 0 &&
++ write(fd, &request, sizeof(request)) == sizeof(request)) {
++ close(fd);
++ alarm(0);
++ return 0;
++ }
++
++ fprintf(stderr, "shutdown: ");
++ if (got_alrm) {
++ fprintf(stderr, "timeout opening/writing control channel %s\n",
++ INIT_FIFO);
++ } else {
++ perror(INIT_FIFO);
++ }
++ return -1;
+ }
+
++
+ /*
+- * Create the /etc/nologin file.
++ * Tell everyone the system is going down in 'mins' minutes.
++ */
++void warn(int mins)
++{
++ char buf[MESSAGELEN + sizeof(newstate)];
++ int len;
++
++ buf[0] = 0;
++ strncat(buf, message, sizeof(buf) - 1);
++ len = strlen(buf);
++
++ if (mins == 0)
++ snprintf(buf + len, sizeof(buf) - len,
++ "\rThe system is going down %s NOW!\r\n",
++ newstate);
++ else
++ snprintf(buf + len, sizeof(buf) - len,
++ "\rThe system is going DOWN %s in %d minute%s!\r\n",
++ newstate, mins, mins == 1 ? "" : "s");
++ wall(buf, 1, 0);
++}
++
++/*
++ * Create the /etc/nologin file.
+ */
+ void donologin(int min)
+ {
+- FILE *fp;
+- time_t t;
++ FILE *fp;
++ time_t t;
+
+- time(&t);
+- t += 60 * min;
++ time(&t);
++ t += 60 * min;
+
+- unlink(NOLOGIN);
+- if ((fp = fopen(NOLOGIN, "w")) != NULL) {
+- fprintf(fp, "\rThe system is going down on %s\r\n", ctime(&t));
+- if (message[0]) fputs(message, fp);
+- fclose(fp);
+- }
++ if ((fp = fopen(NOLOGIN, "w")) != NULL) {
++ fprintf(fp, "\rThe system is going down on %s\r\n", ctime(&t));
++ if (message[0]) fputs(message, fp);
++ fclose(fp);
++ }
+ }
+
+ /*
+@@ -202,131 +264,146 @@
+ return 0;
+ }
+
+-/* Kill all processes, call /etc/init.d/halt (if present) */
++/*
++ * Kill all processes, call /etc/init.d/halt (if present)
++ */
+ void fastdown()
+ {
+- int do_halt = (down_level[0] == '0');
+- int i;
++ int do_halt = (down_level[0] == '0');
++ int i;
+ #if 0
+- char cmd[128];
+- char *script;
++ char cmd[128];
++ char *script;
+
+- /* Currently, the halt script is either init.d/halt OR rc.d/rc.0,
+- * likewise for the reboot script. Test for the presence
+- * of either.
+- */
+- if (do_halt) {
+- if (access(HALTSCRIPT1, X_OK) == 0)
+- script = HALTSCRIPT1;
+- else
+- script = HALTSCRIPT2;
+- } else {
+- if (access(REBOOTSCRIPT1, X_OK) == 0)
+- script = REBOOTSCRIPT1;
+- else
+- script = REBOOTSCRIPT2;
+- }
++ /*
++ * Currently, the halt script is either init.d/halt OR rc.d/rc.0,
++ * likewise for the reboot script. Test for the presence
++ * of either.
++ */
++ if (do_halt) {
++ if (access(HALTSCRIPT1, X_OK) == 0)
++ script = HALTSCRIPT1;
++ else
++ script = HALTSCRIPT2;
++ } else {
++ if (access(REBOOTSCRIPT1, X_OK) == 0)
++ script = REBOOTSCRIPT1;
++ else
++ script = REBOOTSCRIPT2;
++ }
+ #endif
+
+- /* First close all files. */
+- for(i = 0; i < 3; i++)
+- if (!isatty(i)) {
+- close(i);
+- open("/dev/null", O_RDWR);
+- }
+- for(i = 3; i < 20; i++) close(i);
+- close(255);
++ /* First close all files. */
++ for(i = 0; i < 3; i++)
++ if (!isatty(i)) {
++ close(i);
++ open("/dev/null", O_RDWR);
++ }
++ for(i = 3; i < 20; i++) close(i);
++ close(255);
+
+- /* First idle init. */
+- if (kill(1, SIGTSTP) < 0) {
+- fprintf(stderr, "shutdown: can't idle init.\r\n");
+- exit(1);
+- }
++ /* First idle init. */
++ if (kill(1, SIGTSTP) < 0) {
++ fprintf(stderr, "shutdown: can't idle init.\r\n");
++ exit(1);
++ }
+
+- /* Kill all processes. */
+- fprintf(stderr, "shutdown: sending all processes the TERM signal...\r\n");
+- (void) kill(-1, SIGTERM);
+- if (sltime)
+- sleep(atoi(sltime));
+- else
+- sleep(3);
+- fprintf(stderr, "shutdown: sending all processes the KILL signal.\r\n");
+- (void) kill(-1, SIGKILL);
++ /* Kill all processes. */
++ fprintf(stderr, "shutdown: sending all processes the TERM signal...\r\n");
++ kill(-1, SIGTERM);
++ sleep(sltime ? atoi(sltime) : 3);
++ fprintf(stderr, "shutdown: sending all processes the KILL signal.\r\n");
++ (void) kill(-1, SIGKILL);
+
+ #if 0
+- /* See if we can run /etc/init.d/halt */
+- if (access(script, X_OK) == 0) {
+- spawn(1, cmd, "fast", NULL);
+- fprintf(stderr, "shutdown: %s returned - falling back on default routines\r\n", script);
+- }
++ /* See if we can run /etc/init.d/halt */
++ if (access(script, X_OK) == 0) {
++ spawn(1, cmd, "fast", NULL);
++ fprintf(stderr, "shutdown: %s returned - falling back "
++ "on default routines\r\n", script);
++ }
+ #endif
+
+- /* script failed or not present: do it ourself. */
+- sleep(1); /* Give init the chance to collect zombies. */
++ /* script failed or not present: do it ourself. */
++ sleep(1); /* Give init the chance to collect zombies. */
+
+- /* Record the fact that we're going down */
+- write_wtmp("shutdown", "~~", 0, RUN_LVL, "~~");
++ /* Record the fact that we're going down */
++ write_wtmp("shutdown", "~~", 0, RUN_LVL, "~~");
+
+- /* This is for those who have quota installed. */
+- spawn(1, "accton", NULL);
+- spawn(1, "quotaoff", "-a", NULL);
++ /* This is for those who have quota installed. */
++ spawn(1, "accton", NULL);
++ spawn(1, "quotaoff", "-a", NULL);
+
+- sync();
+- fprintf(stderr, "shutdown: turning off swap\r\n");
+- spawn(0, "swapoff", "-a", NULL);
+- fprintf(stderr, "shutdown: unmounting all file systems\r\n");
+- spawn(0, "umount", "-a", NULL);
++ sync();
++ fprintf(stderr, "shutdown: turning off swap\r\n");
++ spawn(0, "swapoff", "-a", NULL);
++ fprintf(stderr, "shutdown: unmounting all file systems\r\n");
++ spawn(0, "umount", "-a", NULL);
+
+- /* We're done, halt or reboot now. */
+- if (do_halt) {
+- fprintf(stderr, "The system is halted. Press CTRL-ALT-DEL or turn off power\r\n");
+- init_reboot(BMAGIC_HALT);
++ /* We're done, halt or reboot now. */
++ if (do_halt) {
++ fprintf(stderr, "The system is halted. Press CTRL-ALT-DEL "
++ "or turn off power\r\n");
++ init_reboot(BMAGIC_HALT);
++ exit(0);
++ }
++
++ fprintf(stderr, "Please stand by while rebooting the system.\r\n");
++ init_reboot(BMAGIC_REBOOT);
+ exit(0);
+- }
+- fprintf(stderr, "Please stand by while rebooting the system.\r\n");
+- init_reboot(BMAGIC_REBOOT);
+- exit(0);
+ }
+
+ /*
+- * Go to runlevel 0, 1 or 6.
++ * Go to runlevel 0, 1 or 6.
+ */
+-void shutdown()
++void shutdown(char *halttype)
+ {
+- char *args[8];
+- int argp = 0;
++ char *args[8];
++ int argp = 0;
++ int do_halt = (down_level[0] == '0');
+
+- /* Warn for the last time (hehe) */
+- warn(0);
+- if (dontshut) {
+- hardsleep(1);
+- stopit();
+- }
++ /* Warn for the last time */
++ warn(0);
++ if (dontshut) {
++ hardsleep(1);
++ stopit(0);
++ }
++ openlog("shutdown", LOG_PID, LOG_USER);
++ if (do_halt)
++ syslog(LOG_NOTICE, "shutting down for system halt");
++ else
++ syslog(LOG_NOTICE, "shutting down for system reboot");
++ closelog();
+
+- /* See if we have to do it ourself. */
+- if (doself) fastdown();
++ /* See if we have to do it ourself. */
++ if (doself) fastdown();
+
+- /* Create the arguments for init. */
+- args[argp++] = INIT;
+- if (sltime) {
+- args[argp++] = "-t";
+- args[argp++] = sltime;
+- }
+- args[argp++] = down_level;
+- args[argp] = (char *)NULL;
++ /* Create the arguments for init. */
++ args[argp++] = INIT;
++ if (sltime) {
++ args[argp++] = "-t";
++ args[argp++] = sltime;
++ }
++ args[argp++] = down_level;
++ args[argp] = (char *)NULL;
+
+- unlink(SDPID);
+- unlink(NOLOGIN);
++ unlink(SDPID);
++ unlink(NOLOGIN);
+
+- /* Now execute init to change runlevel. */
+- sync();
+- execv(INIT, args);
++ /* Now execute init to change runlevel. */
++ sync();
++ init_setenv("INIT_HALT", halttype);
++ execv(INIT, args);
+
+- /* Oops - failed. */
+- fprintf(stderr, "\rshutdown: cannot execute %s\r\n", INIT);
+- unlink(FASTBOOT);
+- unlink(FORCEFSCK);
+- exit(1);
++ /* Oops - failed. */
++ fprintf(stderr, "\rshutdown: cannot execute %s\r\n", INIT);
++ unlink(FASTBOOT);
++ unlink(FORCEFSCK);
++ init_setenv("INIT_HALT", NULL);
++ openlog("shutdown", LOG_PID, LOG_USER);
++ syslog(LOG_NOTICE, "shutdown failed");
++ closelog();
++ exit(1);
+ }
+
+ /*
+@@ -349,274 +426,287 @@
+ }
+
+ /*
+- * Main program.
+- * Process the options and do the final countdown.
++ * Main program.
++ * Process the options and do the final countdown.
+ */
+-int main(argc, argv)
+-int argc;
+-char **argv;
++int main(int argc, char **argv)
+ {
+- extern int getopt();
+- extern int optind;
+- int c, i, wt, hours, mins;
+- struct tm *lt;
+- time_t t;
+- char *sp;
+- char *when = NULL;
+- int didnolog = 0;
+- int cancel = 0;
+- int useacl = 0;
+- int pid = 0;
+- uid_t realuid;
+- FILE *fp;
+- char *downusers[32];
+- char buf[128];
+- char term[UT_LINESIZE + 6];
+- struct stat st;
+- struct utmp *ut;
+- int user_ok = 0;
+- struct sigaction sa;
++ FILE *fp;
++ extern int getopt();
++ extern int optind;
++ struct sigaction sa;
++ struct tm *lt;
++ struct stat st;
++ struct utmp *ut;
++ time_t t;
++ uid_t realuid;
++ char *halttype;
++ char *downusers[32];
++ char buf[128];
++ char term[UT_LINESIZE + 6];
++ char *sp;
++ char *when = NULL;
++ int c, i, wt;
++ int hours, mins;
++ int didnolog = 0;
++ int cancel = 0;
++ int useacl = 0;
++ int pid = 0;
++ int user_ok = 0;
+
+- /* We can be installed setuid root (executable for a special group) */
+- realuid = getuid();
+- setuid(geteuid());
++ /* We can be installed setuid root (executable for a special group) */
++ realuid = getuid();
++ setuid(geteuid());
+
+- if (getuid() != 0) {
+- fprintf(stderr, "shutdown: you must be root to do that!\n");
+- exit(1);
+- }
+- strcpy(down_level, "1");
++ if (getuid() != 0) {
++ fprintf(stderr, "shutdown: you must be root to do that!\n");
++ exit(1);
++ }
++ strcpy(down_level, "1");
++ halttype = NULL;
+
+- /* Process the options. */
+- while((c = getopt(argc, argv, "acqkrhnfFyt:g:i:")) != EOF) {
+- switch(c) {
+- case 'a': /* Access control. */
+- useacl = 1;
+- break;
+- case 'c': /* Cancel an already running shutdown. */
+- cancel = 1;
+- break;
+- case 'k': /* Don't really shutdown, only warn.*/
+- dontshut = 1;
+- break;
+- case 'r': /* Automatic reboot */
+- down_level[0] = '6';
+- break;
+- case 'h': /* Halt after shutdown */
+- down_level[0] = '0';
+- break;
+- case 'f': /* Don't perform fsck after next boot */
+- fastboot = 1;
+- break;
+- case 'F': /* Force fsck after next boot */
+- forcefsck = 1;
+- break;
+- case 'n': /* Don't switch runlevels. */
+- doself = 1;
+- break;
+- case 't': /* Delay between TERM and KILL */
+- sltime = optarg;
+- break;
+- case 'y': /* Ignored for sysV compatibility */
+- break;
+- case 'g': /* sysv style to specify time. */
+- when = optarg;
+- down_level[0] = '0';
+- break;
+- case 'i': /* Level to go to. */
+- if (!strchr("0156aAbBcCsS", optarg[0])) {
+- fprintf(stderr, "shutdown: `%s': bad runlevel\n",
++ /* Process the options. */
++ while((c = getopt(argc, argv, "HPacqkrhnfFyt:g:i:")) != EOF) {
++ switch(c) {
++ case 'H':
++ halttype = "HALT";
++ break;
++ case 'P':
++ halttype = "POWERDOWN";
++ break;
++ case 'a': /* Access control. */
++ useacl = 1;
++ break;
++ case 'c': /* Cancel an already running shutdown. */
++ cancel = 1;
++ break;
++ case 'k': /* Don't really shutdown, only warn.*/
++ dontshut = 1;
++ break;
++ case 'r': /* Automatic reboot */
++ down_level[0] = '6';
++ break;
++ case 'h': /* Halt after shutdown */
++ down_level[0] = '0';
++ break;
++ case 'f': /* Don't perform fsck after next boot */
++ fastboot = 1;
++ break;
++ case 'F': /* Force fsck after next boot */
++ forcefsck = 1;
++ break;
++ case 'n': /* Don't switch runlevels. */
++ doself = 1;
++ break;
++ case 't': /* Delay between TERM and KILL */
++ sltime = optarg;
++ break;
++ case 'y': /* Ignored for sysV compatibility */
++ break;
++ case 'g': /* sysv style to specify time. */
++ when = optarg;
++ break;
++ case 'i': /* Level to go to. */
++ if (!strchr("0156aAbBcCsS", optarg[0])) {
++ fprintf(stderr,
++ "shutdown: `%s': bad runlevel\n",
+ optarg);
+- exit(1);
+- }
+- down_level[0] = optarg[0];
+- break;
+- default:
+- usage();
+- break;
+- }
+- }
++ exit(1);
++ }
++ down_level[0] = optarg[0];
++ break;
++ default:
++ usage();
++ break;
++ }
++ }
+
+- /* Do we need to use the shutdown.allow file ? */
+- if (useacl && (fp = fopen(SDALLOW, "r")) != NULL) {
++ /* Do we need to use the shutdown.allow file ? */
++ if (useacl && (fp = fopen(SDALLOW, "r")) != NULL) {
+
+- /* Read /etc/shutdown.allow. */
+- i = 0;
+- while(fgets(buf, 128, fp)) {
+- if (buf[0] == '#' || buf[0] == '\n') continue;
+- if (i > 31) continue;
+- for(sp = buf; *sp; sp++) if (*sp == '\n') *sp = 0;
+- downusers[i++] = strdup(buf);
+- }
+- if (i < 32) downusers[i] = 0;
+- fclose(fp);
++ /* Read /etc/shutdown.allow. */
++ i = 0;
++ while(fgets(buf, 128, fp)) {
++ if (buf[0] == '#' || buf[0] == '\n') continue;
++ if (i > 31) continue;
++ for(sp = buf; *sp; sp++) if (*sp == '\n') *sp = 0;
++ downusers[i++] = strdup(buf);
++ }
++ if (i < 32) downusers[i] = 0;
++ fclose(fp);
+
+- /* Now walk through /var/run/utmp to find logged in users. */
+- while(!user_ok && (ut = getutent()) != NULL) {
++ /* Now walk through /var/run/utmp to find logged in users. */
++ while(!user_ok && (ut = getutent()) != NULL) {
+
+- /* See if this is a user process on a VC. */
+- if (ut->ut_type != USER_PROCESS) continue;
+- sprintf(term, "/dev/%.*s", UT_LINESIZE, ut->ut_line);
+- if (stat(term, &st) < 0) continue;
++ /* See if this is a user process on a VC. */
++ if (ut->ut_type != USER_PROCESS) continue;
++ sprintf(term, "/dev/%.*s", UT_LINESIZE, ut->ut_line);
++ if (stat(term, &st) < 0) continue;
+ #ifdef major /* glibc */
+- if (major(st.st_rdev) != 4 ||
+- minor(st.st_rdev) > 63) continue;
++ if (major(st.st_rdev) != 4 ||
++ minor(st.st_rdev) > 63) continue;
+ #else
+- if ((st.st_rdev & 0xFFC0) != 0x0400) continue;
++ if ((st.st_rdev & 0xFFC0) != 0x0400) continue;
+ #endif
+- /* Root is always OK. */
+- if (strcmp(ut->ut_user, "root") == 0) {
+- user_ok++;
+- break;
+- }
+-
+- /* See if this is an allowed user. */
+- for(i = 0; i < 32 && downusers[i]; i++)
+- if (!strncmp(downusers[i], ut->ut_user, UT_NAMESIZE)) {
++ /* Root is always OK. */
++ if (strcmp(ut->ut_user, "root") == 0) {
+ user_ok++;
+ break;
+ }
+- }
+- endutent();
+
+- /* See if user was allowed. */
+- if (!user_ok) {
+- if ((fp = fopen(CONSOLE, "w")) != NULL) {
+- fprintf(fp, "\rshutdown: no authorized users logged in.\r\n");
+- fclose(fp);
++ /* See if this is an allowed user. */
++ for(i = 0; i < 32 && downusers[i]; i++)
++ if (!strncmp(downusers[i], ut->ut_user,
++ UT_NAMESIZE)) {
++ user_ok++;
++ break;
++ }
+ }
+- exit(1);
+- }
+- }
++ endutent();
+
+- /* Read pid of running shutdown from a file */
+- if ((fp = fopen(SDPID, "r")) != NULL) {
+- fscanf(fp, "%d", &pid);
+- fclose(fp);
+- }
++ /* See if user was allowed. */
++ if (!user_ok) {
++ if ((fp = fopen(CONSOLE, "w")) != NULL) {
++ fprintf(fp, "\rshutdown: no authorized users "
++ "logged in.\r\n");
++ fclose(fp);
++ }
++ exit(1);
++ }
++ }
+
+- /* Read remaining words, skip time if needed. */
+- message[0] = 0;
+- for(c = optind + (!cancel && !when); c < argc; c++) {
+- if (strlen(message) + strlen(argv[c]) + 4 > MESSAGELEN)
+- break;
+- strcat(message, argv[c]);
+- strcat(message, " ");
+- }
+- if (message[0]) strcat(message, "\r\n");
++ /* Read pid of running shutdown from a file */
++ if ((fp = fopen(SDPID, "r")) != NULL) {
++ fscanf(fp, "%d", &pid);
++ fclose(fp);
++ }
+
+- /* See if we want to run or cancel. */
+- if (cancel) {
+- if (pid <= 0) {
+- fprintf(stderr, "shutdown: cannot find pid of running shutdown.\n");
+- exit(1);
++ /* Read remaining words, skip time if needed. */
++ message[0] = 0;
++ for(c = optind + (!cancel && !when); c < argc; c++) {
++ if (strlen(message) + strlen(argv[c]) + 4 > MESSAGELEN)
++ break;
++ strcat(message, argv[c]);
++ strcat(message, " ");
+ }
+- if (kill(pid, SIGINT) < 0) {
+- fprintf(stderr, "shutdown: not running.\n");
+- exit(1);
++ if (message[0]) strcat(message, "\r\n");
++
++ /* See if we want to run or cancel. */
++ if (cancel) {
++ if (pid <= 0) {
++ fprintf(stderr, "shutdown: cannot find pid "
++ "of running shutdown.\n");
++ exit(1);
++ }
++ init_setenv("INIT_HALT", NULL);
++ if (kill(pid, SIGINT) < 0) {
++ fprintf(stderr, "shutdown: not running.\n");
++ exit(1);
++ }
++ if (message[0]) wall(message, 1, 0);
++ exit(0);
+ }
+- if (message[0]) wall(message, 1, 0);
+- exit(0);
+- }
+
+- /* Check syntax. */
+- if (when == NULL) {
+- if (optind == argc) usage();
+- when = argv[optind++];
+- }
++ /* Check syntax. */
++ if (when == NULL) {
++ if (optind == argc) usage();
++ when = argv[optind++];
++ }
+
+- /* See if we are already running. */
+- if (pid > 0 && kill(pid, 0) == 0) {
+- fprintf(stderr, "\rshutdown: already running.\r\n");
+- exit(1);
+- }
++ /* See if we are already running. */
++ if (pid > 0 && kill(pid, 0) == 0) {
++ fprintf(stderr, "\rshutdown: already running.\r\n");
++ exit(1);
++ }
+
+- /* Extra check. */
+- if (doself && down_level[0] != '0' && down_level[0] != '6') {
+- fprintf(stderr, "shutdown: can use \"-n\" for halt or reboot only.\r\n");
+- exit(1);
+- }
++ /* Extra check. */
++ if (doself && down_level[0] != '0' && down_level[0] != '6') {
++ fprintf(stderr,
++ "shutdown: can use \"-n\" for halt or reboot only.\r\n");
++ exit(1);
++ }
+
+- /* Tell users what we're gonna do. */
+- switch(down_level[0]) {
+- case '0':
+- strcpy(newstate, "for system halt");
+- break;
+- case '6':
+- strcpy(newstate, "for reboot");
+- break;
+- case '1':
+- strcpy(newstate, "to maintenance mode");
+- break;
+- default:
+- sprintf(newstate, "to runlevel %s", down_level);
+- break;
+- }
++ /* Tell users what we're gonna do. */
++ switch(down_level[0]) {
++ case '0':
++ strcpy(newstate, "for system halt");
++ break;
++ case '6':
++ strcpy(newstate, "for reboot");
++ break;
++ case '1':
++ strcpy(newstate, "to maintenance mode");
++ break;
++ default:
++ sprintf(newstate, "to runlevel %s", down_level);
++ break;
++ }
+
+- /* Create a new PID file. */
+- unlink(SDPID);
+- umask(022);
+- if ((fp = fopen(SDPID, "w")) != NULL) {
+- fprintf(fp, "%d\n", getpid());
+- fclose(fp);
+- } else if (errno != EROFS)
+- fprintf(stderr, "shutdown: warning: cannot open %s\n", SDPID);
++ /* Create a new PID file. */
++ unlink(SDPID);
++ umask(022);
++ if ((fp = fopen(SDPID, "w")) != NULL) {
++ fprintf(fp, "%d\n", getpid());
++ fclose(fp);
++ } else if (errno != EROFS)
++ fprintf(stderr, "shutdown: warning: cannot open %s\n", SDPID);
+
+- /*
+- * Catch some common signals.
+- */
+- signal(SIGQUIT, SIG_IGN);
+- signal(SIGCHLD, SIG_IGN);
+- signal(SIGHUP, SIG_IGN);
+- signal(SIGTSTP, SIG_IGN);
+- signal(SIGTTIN, SIG_IGN);
+- signal(SIGTTOU, SIG_IGN);
++ /*
++ * Catch some common signals.
++ */
++ signal(SIGQUIT, SIG_IGN);
++ signal(SIGCHLD, SIG_IGN);
++ signal(SIGHUP, SIG_IGN);
++ signal(SIGTSTP, SIG_IGN);
++ signal(SIGTTIN, SIG_IGN);
++ signal(SIGTTOU, SIG_IGN);
+
+- sa.sa_handler = stopit;
+- sa.sa_flags = SA_RESTART;
+- sigaction(SIGINT, &sa, NULL);
++ memset(&sa, 0, sizeof(sa));
++ sa.sa_handler = stopit;
++ sigaction(SIGINT, &sa, NULL);
+
+- /* Go to the root directory */
+- chdir("/");
+- if (fastboot) close(open(FASTBOOT, O_CREAT | O_RDWR, 0644));
+- if (forcefsck) close(open(FORCEFSCK, O_CREAT | O_RDWR, 0644));
++ /* Go to the root directory */
++ chdir("/");
++ if (fastboot) close(open(FASTBOOT, O_CREAT | O_RDWR, 0644));
++ if (forcefsck) close(open(FORCEFSCK, O_CREAT | O_RDWR, 0644));
+
+- /* Alias now and take care of old '+mins' notation. */
+- if (!strcmp(when, "now")) strcpy(when, "0");
+- if (when[0] == '+') when++;
++ /* Alias now and take care of old '+mins' notation. */
++ if (!strcmp(when, "now")) strcpy(when, "0");
++ if (when[0] == '+') when++;
+
+- /* Decode shutdown time. */
+- for (sp = when; *sp; sp++) {
+- if (*sp != ':' && (*sp < '0' || *sp > '9'))
+- usage();
+- }
+- if (strchr(when, ':') == NULL) {
+- /* Time in minutes. */
+- wt = atoi(when);
+- if (wt == 0 && when[0] != '0') usage();
+- } else {
+- /* Time in hh:mm format. */
+- if (sscanf(when, "%d:%2d", &hours, &mins) != 2) usage();
+- if (hours > 23 || mins > 59) usage();
+- time(&t);
+- lt = localtime(&t);
+- wt = (60*hours + mins) - (60*lt->tm_hour + lt->tm_min);
+- if (wt < 0) wt += 1440;
+- }
+- /* Shutdown NOW if time == 0 */
+- if (wt == 0) shutdown();
++ /* Decode shutdown time. */
++ for (sp = when; *sp; sp++) {
++ if (*sp != ':' && (*sp < '0' || *sp > '9'))
++ usage();
++ }
++ if (strchr(when, ':') == NULL) {
++ /* Time in minutes. */
++ wt = atoi(when);
++ if (wt == 0 && when[0] != '0') usage();
++ } else {
++ /* Time in hh:mm format. */
++ if (sscanf(when, "%d:%2d", &hours, &mins) != 2) usage();
++ if (hours > 23 || mins > 59) usage();
++ time(&t);
++ lt = localtime(&t);
++ wt = (60*hours + mins) - (60*lt->tm_hour + lt->tm_min);
++ if (wt < 0) wt += 1440;
++ }
++ /* Shutdown NOW if time == 0 */
++ if (wt == 0) shutdown(halttype);
+
+- /* Give warnings on regular intervals and finally shutdown. */
+- if (wt < 15 && !needwarning(wt)) warn(wt);
+- while(wt) {
+- if (wt <= 5 && !didnolog) {
+- donologin(wt);
+- didnolog++;
++ /* Give warnings on regular intervals and finally shutdown. */
++ if (wt < 15 && !needwarning(wt)) warn(wt);
++ while(wt) {
++ if (wt <= 5 && !didnolog) {
++ donologin(wt);
++ didnolog++;
++ }
++ if (needwarning(wt)) warn(wt);
++ hardsleep(60);
++ wt--;
+ }
+- if (needwarning(wt)) warn(wt);
+- hardsleep(60);
+- wt--;
+- }
+- shutdown();
+- return(0); /* Never happens */
++ shutdown(halttype);
++
++ return 0; /* Never happens */
+ }
+Binary files sysvinit-2.85/src/shutdown.o and sysvinit-2.86/src/shutdown.o differ
+Binary files sysvinit-2.85/src/sulogin and sysvinit-2.86/src/sulogin differ
+diff -urNd -urNd sysvinit-2.85/src/sulogin.c sysvinit-2.86/src/sulogin.c
+--- sysvinit-2.85/src/sulogin.c 2003-04-14 04:53:49.000000000 -0500
++++ sysvinit-2.86/src/sulogin.c 2004-07-30 06:40:28.000000000 -0500
+@@ -8,7 +8,7 @@
+ * encrypted root password is "x" the shadow
+ * password will be used.
+ *
+- * Version: @(#)sulogin 2.85 14-Apr-2003 miquels@cistron.nl
++ * Version: @(#)sulogin 2.85-3 23-Apr-2003 miquels@cistron.nl
+ *
+ */
+
+@@ -35,11 +35,15 @@
+ #define F_SHADOW "/etc/shadow"
+ #define BINSH "/bin/sh"
+
+-char *Version = "@(#)sulogin 2.85 14-Apr-2003 miquels@cistron.nl";
++char *Version = "@(#)sulogin 2.85-3 23-Apr-2003 miquels@cistron.nl";
+
+ int timeout = 0;
+ int profile = 0;
+
++#ifndef IUCLC
++# define IUCLC 0
++#endif
++
+ #if 0
+ /*
+ * Fix the tty modes and set reasonable defaults.
+@@ -252,7 +256,7 @@
+ printf("Give root password for maintenance\n");
+ else
+ printf("Press enter for maintenance\n");
+- printf("(or type Control-D for normal startup): ");
++ printf("(or type Control-D to continue): ");
+ fflush(stdout);
+
+ tcgetattr(0, &old);
+Binary files sysvinit-2.85/src/sulogin.o and sysvinit-2.86/src/sulogin.o differ
+Binary files sysvinit-2.85/src/utmp.o and sysvinit-2.86/src/utmp.o differ
diff --git a/meta/packages/sysvinit/sysvinit/bootlogd.init b/meta/packages/sysvinit/sysvinit/bootlogd.init
new file mode 100755
index 0000000000..f8f07a050f
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/bootlogd.init
@@ -0,0 +1,85 @@
+#! /bin/sh
+#
+# bootlogd One of the first scripts to be executed. Starts or stops
+# the bootlogd log program. If this script is called as
+# "stop-bootlogd", it will stop the daemon instead of
+# starting it even when called with the "start" argument.
+#
+# Version: @(#)bootlogd 2.85-12 21-Mar-2004 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/sbin/bootlogd
+NAME=bootlogd
+DESC="Bootlog daemon"
+
+test -f $DAEMON || exit 0
+
+[ -r /etc/default/bootlogd ] && . /etc/default/bootlogd
+
+## set -e # not needed
+
+case "$BOOTLOGD_ENABLE" in
+ [Nn]*)
+ exit 0
+ ;;
+esac
+
+STOPPER=
+ACTION="$1"
+case "$0" in
+ *stop-bootlog*)
+ STOPPER=Y
+ if [ "$ACTION" = start ]
+ then
+ ACTION=stop
+ fi
+ ;;
+esac
+
+case "$ACTION" in
+ start)
+ echo -n "Starting $DESC: "
+ if [ -d /proc/1/. ]
+ then
+ umask 027
+ start-stop-daemon --start --quiet \
+ --exec $DAEMON -- -r
+ else
+ $DAEMON -r
+ fi
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --exec $DAEMON
+
+ if [ "$STOPPER" ] && [ -f /var/log/boot ] && \
+ [ -f /var/log/boot~ ]
+ then
+ cd /var/log
+ chgrp adm boot
+ savelog -p -c 5 boot > /dev/null 2>&1
+ mv boot.0 boot
+ mv boot~ boot.0
+ fi
+
+ echo "$NAME."
+ ;;
+ restart|force-reload)
+ echo -n "Restarting $DESC: "
+ start-stop-daemon --stop --quiet --exec $DAEMON
+ sleep 1
+ start-stop-daemon --start --quiet --exec $DAEMON
+ echo "$NAME."
+ ;;
+ *)
+ N=${0##*/}
+ N=${N#[SK]??}
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/meta/packages/sysvinit/sysvinit/inittab b/meta/packages/sysvinit/sysvinit/inittab
new file mode 100644
index 0000000000..6abbdf4558
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/inittab
@@ -0,0 +1,30 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:5:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
diff --git a/meta/packages/sysvinit/sysvinit/need b/meta/packages/sysvinit/sysvinit/need
new file mode 100644
index 0000000000..4d84bbeee7
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/need
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# need binary that doesnt do anything, supplied for simpleinit
+# vs sysvinit compatibility for the supplied startup scripts
+
+exit 0
diff --git a/meta/packages/sysvinit/sysvinit/postinst b/meta/packages/sysvinit/sysvinit/postinst
new file mode 100644
index 0000000000..b6fe547fa4
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/postinst
@@ -0,0 +1,17 @@
+#!/bin/busybox ash
+
+action="$1"
+oldversion="$2"
+
+umask 022
+
+if [ "$action" != configure ]
+then
+ exit 0
+fi
+
+update-alternatives --install /sbin/init init /sbin/sysvinit 25
+update-alternatives --install /sbin/need need /sbin/need.sysvinit 25
+update-alternatives --install /sbin/provide provide /sbin/provide.sysvinit 25
+
+exit 0
diff --git a/meta/packages/sysvinit/sysvinit/prerm b/meta/packages/sysvinit/sysvinit/prerm
new file mode 100644
index 0000000000..704a29ffd5
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/prerm
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+if [ "$1" != "upgrade" ]; then
+ update-alternatives --remove need /sbin/need.sysvinit
+ update-alternatives --remove provide /sbin/provide.sysvinit
+ update-alternatives --remove init /sbin/sysvinit
+fi
+
+exit 0
diff --git a/meta/packages/sysvinit/sysvinit/provide b/meta/packages/sysvinit/sysvinit/provide
new file mode 100644
index 0000000000..c90cf3537b
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/provide
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# provide binary that doesnt do anything, supplied for simpleinit
+# vs sysvinit compatibility for the supplied startup scripts
+
+exit 0
diff --git a/meta/packages/sysvinit/sysvinit/rc b/meta/packages/sysvinit/sysvinit/rc
new file mode 100755
index 0000000000..fdb0fce887
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/rc
@@ -0,0 +1,102 @@
+#!/bin/sh
+#
+# rc This file is responsible for starting/stopping
+# services when the runlevel changes.
+#
+# Optimization feature:
+# A startup script is _not_ run when the service was
+# running in the previous runlevel and it wasn't stopped
+# in the runlevel transition (most Debian services don't
+# have K?? links in rc{1,2,3,4,5} )
+#
+# Author: Miquel van Smoorenburg <miquels@cistron.nl>
+# Bruce Perens <Bruce@Pixar.com>
+#
+# Version: @(#)rc 2.78 07-Nov-1999 miquels@cistron.nl
+#
+
+. /etc/default/rcS
+export VERBOSE
+
+#
+# Start script or program.
+#
+startup() {
+ case "$1" in
+ *.sh)
+ sh "$@"
+ ;;
+ *)
+ "$@"
+ ;;
+ esac
+}
+
+ # Ignore CTRL-C only in this shell, so we can interrupt subprocesses.
+ trap ":" INT QUIT TSTP
+
+ # Set onlcr to avoid staircase effect.
+ stty onlcr 0>&1
+
+ # Now find out what the current and what the previous runlevel are.
+
+ runlevel=$RUNLEVEL
+ # Get first argument. Set new runlevel to this argument.
+ [ "$1" != "" ] && runlevel=$1
+ if [ "$runlevel" = "" ]
+ then
+ echo "Usage: $0 <runlevel>" >&2
+ exit 1
+ fi
+ previous=$PREVLEVEL
+ [ "$previous" = "" ] && previous=N
+
+ export runlevel previous
+
+ # Is there an rc directory for this new runlevel?
+ if [ -d /etc/rc$runlevel.d ]
+ then
+ # First, run the KILL scripts.
+ if [ $previous != N ]
+ then
+ for i in /etc/rc$runlevel.d/K[0-9][0-9]*
+ do
+ # Check if the script is there.
+ [ ! -f $i ] && continue
+
+ # Stop the service.
+ startup $i stop
+ done
+ fi
+ # Now run the START scripts for this runlevel.
+ for i in /etc/rc$runlevel.d/S*
+ do
+ [ ! -f $i ] && continue
+
+ if [ $previous != N ] && [ $previous != S ]
+ then
+ #
+ # Find start script in previous runlevel and
+ # stop script in this runlevel.
+ #
+ suffix=${i#/etc/rc$runlevel.d/S[0-9][0-9]}
+ stop=/etc/rc$runlevel.d/K[0-9][0-9]$suffix
+ previous_start=/etc/rc$previous.d/S[0-9][0-9]$suffix
+ #
+ # If there is a start script in the previous level
+ # and _no_ stop script in this level, we don't
+ # have to re-start the service.
+ #
+ [ -f $previous_start ] && [ ! -f $stop ] && continue
+ fi
+ case "$runlevel" in
+ 0|6)
+ startup $i stop
+ ;;
+ *)
+ startup $i start
+ ;;
+ esac
+ done
+ fi
+# eof /etc/init.d/rc
diff --git a/meta/packages/sysvinit/sysvinit/rcS b/meta/packages/sysvinit/sysvinit/rcS
new file mode 100755
index 0000000000..e7a7e617d0
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/rcS
@@ -0,0 +1,110 @@
+#!/bin/sh
+#
+# rcS Call all S??* scripts in /etc/rcS.d in
+# numerical/alphabetical order.
+#
+# Version: @(#)/etc/init.d/rcS 2.76 19-Apr-1999 miquels@cistron.nl
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+runlevel=S
+prevlevel=N
+umask 022
+export PATH runlevel prevlevel
+
+# Make sure proc is mounted
+#
+[ -d "/proc/1" ] || mount /proc
+
+#
+# See if system needs to be setup. This is ONLY meant to
+# be used for the initial setup after a fresh installation!
+#
+if [ -x /sbin/unconfigured.sh ]
+then
+ /sbin/unconfigured.sh
+fi
+
+#
+# Source defaults.
+#
+. /etc/default/rcS
+
+#
+# Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
+#
+trap ":" INT QUIT TSTP
+
+#
+# Do we have /proc/progress and set VERBOSE to "no" ?
+# If so, calculate the number of scripts and the incremental step
+#
+if [ "$VERBOSE" = no ]; then
+ if [ -e /proc/progress ]; then
+ set `ls -1 /etc/rc$runlevel.d/S* | wc`
+ numscripts=$1
+ PROGRESS_incstep=`expr 90 / $1`
+ PROGRESS_value=10
+ PROGRESS=yes
+ export PROGRESS_value PROGRESS_incstep
+ fi
+fi
+export VERBOSE PROGRESS
+
+#
+# Call all parts in order.
+#
+for i in /etc/rcS.d/S??*
+do
+ # Ignore dangling symlinks for now.
+ [ ! -f "$i" ] && continue
+
+ # Handle verbosity
+ [ "$VERBOSE" = very ] && echo "INIT: Running $i..."
+ if [ "$PROGRESS" = yes ]; then
+ export PROGRESS_value=`expr $PROGRESS_value + $PROGRESS_incstep`
+ echo "$PROGRESS_value Starting $i..." >/proc/progress
+ fi
+
+ case "$i" in
+ *.sh)
+ # Source shell script for speed.
+ (
+ trap - INT QUIT TSTP
+ set start
+ . $i
+ )
+ ;;
+ *)
+ # No sh extension, so fork subprocess.
+ $i start
+ ;;
+ esac
+
+ #
+ # Report status based on result code
+ #
+ result=$?
+ if [ "$PROGRESS" = yes ]; then
+ if [ "$result" = 0 ]; then
+ echo "=s" >/proc/progress
+ else
+ echo "=f" >/proc/progress
+ fi
+ fi
+done
+
+#
+# For compatibility, run the files in /etc/rc.boot too.
+#
+[ -d /etc/rc.boot ] && run-parts /etc/rc.boot
+
+#
+# Finish setup if needed. The comment above about
+# /sbin/unconfigured.sh applies here as well!
+#
+if [ -x /sbin/setup.sh ]
+then
+ /sbin/setup.sh
+fi
+
diff --git a/meta/packages/sysvinit/sysvinit/rcS-default b/meta/packages/sysvinit/sysvinit/rcS-default
new file mode 100644
index 0000000000..46e48b9796
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit/rcS-default
@@ -0,0 +1,21 @@
+#
+# Defaults for the boot scripts in /etc/rcS.d
+#
+
+# Time files in /tmp are kept in days.
+TMPTIME=0
+# Set to yes if you want sulogin to be spawned on bootup
+SULOGIN=no
+# Set to no if you want to be able to login over telnet/rlogin
+# before system startup is complete (as soon as inetd is started)
+DELAYLOGIN=no
+# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
+# UTC=yes
+# Set VERBOSE to "no" if you would like a more quiet bootup.
+VERBOSE=no
+# Set EDITMOTD to "no" if you don't want /etc/motd to be editted automatically
+EDITMOTD=no
+# Set FSCKFIX to "yes" if you want to add "-y" to the fsck at startup.
+FSCKFIX=yes
+# Set TICKADJ to the correct tick value for this specific machine
+#TICKADJ=10000
diff --git a/meta/packages/sysvinit/sysvinit_2.86.bb b/meta/packages/sysvinit/sysvinit_2.86.bb
new file mode 100644
index 0000000000..e2124c7fe9
--- /dev/null
+++ b/meta/packages/sysvinit/sysvinit_2.86.bb
@@ -0,0 +1,130 @@
+DESCRIPTION = "System-V like init."
+SECTION = "base"
+LICENSE = "GPL"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+HOMEPAGE = "http://freshmeat.net/projects/sysvinit/"
+PR = "r24"
+
+# USE_VT and SERIAL_CONSOLE are generally defined by the MACHINE .conf.
+# Set PACKAGE_ARCH appropriately.
+PACKAGE_ARCH_${PN}-inittab = "${MACHINE_ARCH}"
+
+RDEPENDS_${PN} = "${PN}-inittab"
+
+PACKAGES =+ "bootlogd ${PN}-inittab"
+FILES_bootlogd = "/etc/init.d/bootlogd /etc/init.d/stop-bootlogd /etc/rc?.d/S*bootlogd /sbin/bootlogd"
+FILES_${PN}-inittab = "${sysconfdir}/inittab"
+CONFFILES_${PN}-inittab = "${sysconfdir}/inittab"
+
+USE_VT ?= "1"
+SYSVINIT_ENABLED_GETTYS ?= "1"
+
+SRC_URI = "ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-${PV}.tar.gz \
+ file://install.patch;patch=1 \
+ file://need \
+ file://provide \
+ file://inittab \
+ file://rcS-default \
+ file://rc \
+ file://rcS \
+ file://bootlogd.init"
+
+S = "${WORKDIR}/sysvinit-${PV}"
+B = "${S}/src"
+
+inherit update-alternatives
+
+ALTERNATIVE_NAME = "init"
+ALTERNATIVE_LINK = "${base_sbindir}/init"
+ALTERNATIVE_PATH = "${base_sbindir}/init.sysvinit"
+ALTERNATIVE_PRIORITY = "50"
+
+PACKAGES =+ "sysvinit-pidof sysvinit-sulogin"
+FILES_${PN} += "${base_sbindir} ${base_bindir}"
+FILES_sysvinit-pidof = "${base_bindir}/pidof.sysvinit"
+FILES_sysvinit-sulogin = "${base_sbindir}/sulogin"
+
+CFLAGS_prepend = "-D_GNU_SOURCE "
+export LCRYPT = "-lcrypt"
+EXTRA_OEMAKE += "'INSTALL=install' \
+ 'bindir=${base_bindir}' \
+ 'sbindir=${base_sbindir}' \
+ 'usrbindir=${bindir}' \
+ 'usrsbindir=${sbindir}' \
+ 'includedir=${includedir}' \
+ 'mandir=${mandir}'"
+
+do_install () {
+ oe_runmake 'ROOT=${D}' install
+ install -d ${D}${sysconfdir} \
+ ${D}${sysconfdir}/default \
+ ${D}${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab
+ if [ ! -z "${SERIAL_CONSOLE}" ]; then
+ echo "S:2345:respawn:${base_sbindir}/getty ${SERIAL_CONSOLE}" >> ${D}${sysconfdir}/inittab
+ fi
+ if [ "${USE_VT}" == "1" ]; then
+ cat <<EOF >>${D}${sysconfdir}/inittab
+# ${base_sbindir}/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+# <id>:<runlevels>:<action>:<process>
+#
+
+EOF
+
+ for n in ${SYSVINIT_ENABLED_GETTYS}
+ do
+ echo "$n:2345:respawn:${base_sbindir}/getty 38400 tty$n" >> ${D}${sysconfdir}/inittab
+ done
+ echo "" >> ${D}${sysconfdir}/inittab
+ fi
+ install -m 0644 ${WORKDIR}/rcS-default ${D}${sysconfdir}/default/rcS
+ install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd
+ ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd
+ install -d ${D}${sysconfdir}/rcS.d
+ ln -sf ../init.d/bootlogd ${D}${sysconfdir}/rcS.d/S07bootlogd
+ for level in 2 3 4 5; do
+ install -d ${D}${sysconfdir}/rc$level.d
+ ln -s ../init.d/stop-bootlogd ${D}${sysconfdir}/rc$level.d/S99stop-bootlogd
+ done
+ mv ${D}${base_sbindir}/init ${D}${base_sbindir}/init.${PN}
+ mv ${D}${base_bindir}/pidof ${D}${base_bindir}/pidof.${PN}
+ mv ${D}${base_sbindir}/halt ${D}${base_sbindir}/halt.${PN}
+ mv ${D}${base_sbindir}/reboot ${D}${base_sbindir}/reboot.${PN}
+ mv ${D}${base_sbindir}/shutdown ${D}${base_sbindir}/shutdown.${PN}
+ mv ${D}${bindir}/last ${D}${bindir}/last.${PN}
+ mv ${D}${bindir}/mesg ${D}${bindir}/mesg.${PN}
+ mv ${D}${bindir}/wall ${D}${bindir}/wall.${PN}
+}
+
+pkg_postinst_${PN} () {
+ update-alternatives --install ${base_sbindir}/halt halt halt.${PN} 200
+ update-alternatives --install ${base_sbindir}/reboot reboot reboot.${PN} 200
+ update-alternatives --install ${base_sbindir}/shutdown shutdown shutdown.${PN} 200
+ update-alternatives --install ${bindir}/last last last.${PN} 200
+ update-alternatives --install ${bindir}/mesg mesg mesg.${PN} 200
+ update-alternatives --install ${bindir}/wall wall wall.${PN} 200
+}
+
+pkg_prerm_${PN} () {
+ update-alternatives --remove halt halt.${PN}
+ update-alternatives --remove reboot reboot.${PN}
+ update-alternatives --remove shutdown shutdown.${PN}
+ update-alternatives --remove last last.${PN}
+ update-alternatives --remove mesg mesg.${PN}
+ update-alternatives --remove wall wall.${PN}
+}
+
+pkg_postinst_sysvinit-pidof () {
+ update-alternatives --install ${base_bindir}/pidof pidof pidof.${PN} 200
+}
+
+pkg_prerm_sysvinit-pidof () {
+ update-alternatives --remove pidof pidof.${PN}
+}
diff --git a/meta/packages/tinylogin/tinylogin-1.4/add-system.patch b/meta/packages/tinylogin/tinylogin-1.4/add-system.patch
new file mode 100644
index 0000000000..18b4e47ad7
--- /dev/null
+++ b/meta/packages/tinylogin/tinylogin-1.4/add-system.patch
@@ -0,0 +1,115 @@
+? add-system.patch
+? cvs-20040608.patch
+? familiar
+? pod2htmd.tmp
+? pod2htmi.tmp
+? system.diff
+? tinylogin_1.4-20030620.1_arm.ipk
+? tinylogin_1.4-20030620.1_arm.ipk.asc
+? tinylogin_1.4-20030620.1_arm.ipk.upload.html
+? tinylogin_1.4-20030620.2_arm.ipk
+? tinylogin_1.4-20030620.2_arm.ipk.asc
+? tinylogin_1.4-20030620.2_arm.ipk.upload.html
+? tinylogin_1.4-20030620_arm.ipk
+? tinylogin_1.4-20030620_arm.ipk.asc
+? tinylogin_1.4-20030620_arm.ipk.upload.html
+? tmp
+Index: addgroup.c
+===================================================================
+RCS file: /var/cvs/tinylogin/addgroup.c,v
+retrieving revision 1.23
+diff -u -r1.23 addgroup.c
+--- a/addgroup.c 9 Jan 2003 18:43:29 -0000 1.23
++++ b/addgroup.c 8 Jun 2004 08:56:08 -0000
+@@ -31,6 +31,7 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <getopt.h>
+ #include "tinylogin.h"
+
+ #define GROUP_FILE "/etc/group"
+@@ -124,6 +125,11 @@
+ return 0;
+ }
+
++static struct option long_options[] = {
++ { "system", 0, NULL, 'S' },
++ { 0, 0, 0, 0 }
++};
++
+ /*
+ * addgroup will take a login_name as its first parameter.
+ *
+@@ -136,14 +142,19 @@
+ int opt;
+ char *group;
+ char *user;
++ int option_index = -1;
+ gid_t gid = 0;
++ int system = 0;
+
+ /* get remaining args */
+- while ((opt = getopt (argc, argv, "g:")) != -1) {
++ while ((opt = getopt_long (argc, argv, "g:S", long_options, &option_index)) != -1) {
+ switch (opt) {
+ case 'g':
+ gid = strtol(optarg, NULL, 10);
+ break;
++ case 'S':
++ system = 1;
++ break;
+ default:
+ show_usage();
+ break;
+Index: adduser.c
+===================================================================
+RCS file: /var/cvs/tinylogin/adduser.c,v
+retrieving revision 1.38
+diff -u -r1.38 adduser.c
+--- a/adduser.c 21 Jun 2003 19:35:42 -0000 1.38
++++ b/adduser.c 8 Jun 2004 08:56:09 -0000
+@@ -66,13 +66,13 @@
+
+ /* remix */
+ /* EDR recoded such that the uid may be passed in *p */
+-static int passwd_study(const char *filename, struct passwd *p)
++static int passwd_study(const char *filename, struct passwd *p, int system)
+ {
+ struct passwd *pw;
+ FILE *passwd;
+
+- const int min = 500;
+- const int max = 65000;
++ const int min = system ? 10 : 500;
++ const int max = system ? 99 : 65000;
+
+ passwd = wfopen(filename, "r");
+ if (!passwd)
+@@ -142,7 +142,7 @@
+ }
+
+ /* putpwent(3) remix */
+-static int adduser(const char *filename, struct passwd *p, int makehome, int setpass)
++static int adduser(const char *filename, struct passwd *p, int makehome, int setpass, int system)
+ {
+ FILE *passwd;
+ int r;
+@@ -165,7 +165,7 @@
+ fseek(passwd, 0, SEEK_END);
+
+ /* if (passwd_study(filename, p) == 0) { */
+- r = passwd_study(filename, p);
++ r = passwd_study(filename, p, system);
+ if (r) {
+ if (r == 1)
+ error_msg("%s: login already in use", p->pw_name);
+@@ -357,7 +357,7 @@
+ }
+
+ /* grand finale */
+- return adduser(PASSWD_FILE, &pw, makehome, setpass);
++ return adduser(PASSWD_FILE, &pw, makehome, setpass, system);
+ }
+
+ /* $Id: adduser.c,v 1.38 2003/06/21 19:35:42 andersen Exp $ */
diff --git a/meta/packages/tinylogin/tinylogin-1.4/adduser-empty_pwd.patch b/meta/packages/tinylogin/tinylogin-1.4/adduser-empty_pwd.patch
new file mode 100644
index 0000000000..737ac423c4
--- /dev/null
+++ b/meta/packages/tinylogin/tinylogin-1.4/adduser-empty_pwd.patch
@@ -0,0 +1,43 @@
+--- tinylogin-1.4/adduser.c.orig 2004-09-30 18:01:46.000000000 +0200
++++ tinylogin-1.4/adduser.c 2004-09-30 18:07:01.000000000 +0200
+@@ -249,6 +249,7 @@
+ struct option long_options[] = {
+ { "home", 1, NULL, 'h' },
+ { "disabled-password", 0, NULL, 'D' },
++ { "empty-password", 0, NULL, 'E' },
+ { "system", 0, NULL, 'S' },
+ { "ingroup", 1, NULL, 'G' },
+ { "no-create-home", 0, NULL, 'H' },
+@@ -287,7 +288,7 @@
+ shell = default_shell;
+
+ /* get args */
+- while ((opt = getopt_long (argc, argv, "h:g:s:G:DSH", long_options, &option_index)) != -1) {
++ while ((opt = getopt_long (argc, argv, "h:g:s:G:DESH", long_options, &option_index)) != -1) {
+ switch (opt) {
+ case 'h':
+ home = optarg;
+@@ -304,6 +305,9 @@
+ case 'D':
+ setpass = 0;
+ break;
++ case 'E':
++ setpass = -1;
++ break;
+ case 'S':
+ system = 1;
+ break;
+@@ -338,7 +342,12 @@
+
+ /* create a passwd struct */
+ pw.pw_name = (char *)login;
+- pw.pw_passwd = (char *)default_passwd;
++ if (setpass != -1)
++ pw.pw_passwd = (char *)default_passwd;
++ else {
++ pw.pw_passwd = (char *)"";
++ setpass = 0;
++ }
+ pw.pw_uid = 0;
+ pw.pw_gid = 0;
+ pw.pw_gecos = (char *)gecos;
diff --git a/meta/packages/tinylogin/tinylogin-1.4/cvs-20040608.patch b/meta/packages/tinylogin/tinylogin-1.4/cvs-20040608.patch
new file mode 100644
index 0000000000..1142329a67
--- /dev/null
+++ b/meta/packages/tinylogin/tinylogin-1.4/cvs-20040608.patch
@@ -0,0 +1,821 @@
+Index: Config.h
+===================================================================
+RCS file: /var/cvs/tinylogin/Config.h,v
+retrieving revision 1.10
+retrieving revision 1.12
+diff -u -r1.10 -r1.12
+--- a/Config.h 23 Jun 2002 03:09:07 -0000 1.10
++++ b/Config.h 17 Feb 2003 11:51:55 -0000 1.12
+@@ -27,15 +27,11 @@
+ // Enable checking of /etc/securetty by login
+ #define CONFIG_FEATURE_SECURETTY
+ //
+-// Enable using sha passwords
+-#define CONFIG_FEATURE_SHA1_PASSWORDS
+-//
+ // Enable use of a wheel group
+ #define CONFIG_WHEEL_GROUP
+ //
+-// This compiles out everything but the most
+-// trivial --help usage information (i.e. reduces binary size)
+-#define CONFIG_FEATURE_TRIVIAL_HELP
++// Show verbose usage messages
++//#define CONFIG_FEATURE_VERBOSE_USAGE
+ //
+ // Enable 'tinylogin --install [-s]' to allow tinylogin
+ // to create links (or symlinks) at runtime for all the
+@@ -48,10 +44,6 @@
+ // Nothing beyond this point should ever be touched by
+ // mere mortals so leave this stuff alone.
+ //
+-#ifdef CONFIG_FEATURE_SHA1_PASSWORDS
+-#define CONFIG_SHA1
+-#endif
+-//
+ #ifdef CONFIG_FEATURE_SHADOWPASSWDS
+ #define CONFIG_SHADOW
+ #endif
+Index: addgroup.c
+===================================================================
+RCS file: /var/cvs/tinylogin/addgroup.c,v
+retrieving revision 1.22
+retrieving revision 1.23
+diff -u -r1.22 -r1.23
+--- a/addgroup.c 12 Dec 2002 08:46:03 -0000 1.22
++++ b/addgroup.c 9 Jan 2003 18:43:29 -0000 1.23
+@@ -133,23 +133,33 @@
+ * ________________________________________________________________________ */
+ int addgroup_main(int argc, char **argv)
+ {
++ int opt;
+ char *group;
+ char *user;
+ gid_t gid = 0;
+
+- if (argc < 2) {
+- show_usage();
++ /* get remaining args */
++ while ((opt = getopt (argc, argv, "g:")) != -1) {
++ switch (opt) {
++ case 'g':
++ gid = strtol(optarg, NULL, 10);
++ break;
++ default:
++ show_usage();
++ break;
++ }
+ }
+
+- if (strncmp(argv[1], "-g", 2) == 0) {
+- gid = strtol(argv[2], NULL, 10);
+- group = argv[2];
++ if (optind < argc) {
++ group = argv[optind];
++ optind++;
+ } else {
+ show_usage();
+ }
+-
+- if (argc == 4) {
+- user = argv[3];
++
++ if (optind < argc) {
++ user = argv[optind];
++ optind++;
+ } else {
+ user = "";
+ }
+@@ -163,4 +173,4 @@
+ return addgroup(GROUP_FILE, group, gid, user);
+ }
+
+-/* $Id: addgroup.c,v 1.22 2002/12/12 08:46:03 andersen Exp $ */
++/* $Id: addgroup.c,v 1.23 2003/01/09 18:43:29 andersen Exp $ */
+Index: adduser.c
+===================================================================
+RCS file: /var/cvs/tinylogin/adduser.c,v
+retrieving revision 1.37
+retrieving revision 1.38
+diff -u -r1.37 -r1.38
+--- a/adduser.c 12 Dec 2002 08:46:03 -0000 1.37
++++ b/adduser.c 21 Jun 2003 19:35:42 -0000 1.38
+@@ -21,6 +21,9 @@
+ *
+ */
+
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE
++#endif
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <stdarg.h>
+@@ -29,6 +32,7 @@
+ #include <string.h>
+ #include <time.h>
+ #include <unistd.h>
++#include <getopt.h>
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+@@ -93,21 +97,23 @@
+ }
+ }
+
+- /* EDR check for an already existing gid */
+- while (getgrgid(p->pw_uid) != NULL)
+- p->pw_uid++;
+-
+- /* EDR also check for an existing group definition */
+- if (getgrnam(p->pw_name) != NULL)
+- return 3;
++ if (p->pw_gid == 0) {
++ /* EDR check for an already existing gid */
++ while (getgrgid(p->pw_uid) != NULL)
++ p->pw_uid++;
++
++ /* EDR also check for an existing group definition */
++ if (getgrnam(p->pw_name) != NULL)
++ return 3;
++
++ /* EDR create new gid always = uid */
++ p->pw_gid = p->pw_uid;
++ }
+
+ /* EDR bounds check */
+ if ((p->pw_uid > max) || (p->pw_uid < min))
+ return 2;
+
+- /* EDR create new gid always = uid */
+- p->pw_gid = p->pw_uid;
+-
+ /* return 1; */
+ return 0;
+ }
+@@ -136,7 +142,7 @@
+ }
+
+ /* putpwent(3) remix */
+-static int adduser(const char *filename, struct passwd *p)
++static int adduser(const char *filename, struct passwd *p, int makehome, int setpass)
+ {
+ FILE *passwd;
+ int r;
+@@ -144,6 +150,11 @@
+ FILE *shadow;
+ struct spwd *sp;
+ #endif
++ int new_group = 1;
++
++ /* if using a pre-existing group, don't create one */
++ if (p->pw_gid != 0)
++ new_group = 0;
+
+ /* make sure everything is kosher and setup uid && gid */
+ passwd = wfopen(filename, "a");
+@@ -194,29 +205,36 @@
+ }
+ #endif
+
+- /* add to group */
+- /* addgroup should be responsible for dealing w/ gshadow */
+- addgroup_wrapper(p->pw_name, p->pw_gid);
++ if (new_group) {
++ /* add to group */
++ /* addgroup should be responsible for dealing w/ gshadow */
++ addgroup_wrapper(p->pw_name, p->pw_gid);
++ }
+
+ /* Clear the umask for this process so it doesn't
+ * * screw up the permissions on the mkdir and chown. */
+ umask(0);
+
+- /* mkdir */
+- if (mkdir(p->pw_dir, 0755)) {
+- perror_msg("%s", p->pw_dir);
+- }
+- /* Set the owner and group so it is owned by the new user. */
+- if (chown(p->pw_dir, p->pw_uid, p->pw_gid)) {
+- perror_msg("%s", p->pw_dir);
+- }
+- /* Now fix up the permissions to 2755. Can't do it before now
+- * since chown will clear the setgid bit */
+- if (chmod(p->pw_dir, 02755)) {
+- perror_msg("%s", p->pw_dir);
++ if (makehome) {
++ /* mkdir */
++ if (mkdir(p->pw_dir, 0755)) {
++ perror_msg("%s", p->pw_dir);
++ }
++ /* Set the owner and group so it is owned by the new user. */
++ if (chown(p->pw_dir, p->pw_uid, p->pw_gid)) {
++ perror_msg("%s", p->pw_dir);
++ }
++ /* Now fix up the permissions to 2755. Can't do it before now
++ * since chown will clear the setgid bit */
++ if (chmod(p->pw_dir, 02755)) {
++ perror_msg("%s", p->pw_dir);
++ }
++ }
++
++ if (setpass) {
++ /* interactively set passwd */
++ passwd_wrapper(p->pw_name);
+ }
+- /* interactively set passwd */
+- passwd_wrapper(p->pw_name);
+
+ return 0;
+ }
+@@ -228,6 +246,15 @@
+ return geteuid();
+ }
+
++struct option long_options[] = {
++ { "home", 1, NULL, 'h' },
++ { "disabled-password", 0, NULL, 'D' },
++ { "system", 0, NULL, 'S' },
++ { "ingroup", 1, NULL, 'G' },
++ { "no-create-home", 0, NULL, 'H' },
++ { 0, 0, 0, 0 }
++};
++
+ /*
+ * adduser will take a login_name as its first parameter.
+ *
+@@ -244,6 +271,11 @@
+ const char *gecos;
+ const char *home = NULL;
+ const char *shell;
++ const char *usegroup = NULL;
++ int option_index = -1;
++ int setpass = 1;
++ int makehome = 1;
++ int system = 0;
+
+ struct passwd pw;
+
+@@ -255,7 +287,7 @@
+ shell = default_shell;
+
+ /* get args */
+- while ((opt = getopt (argc, argv, "h:g:s:")) != -1) {
++ while ((opt = getopt_long (argc, argv, "h:g:s:G:DSH", long_options, &option_index)) != -1) {
+ switch (opt) {
+ case 'h':
+ home = optarg;
+@@ -266,6 +298,18 @@
+ case 's':
+ shell = optarg;
+ break;
++ case 'H':
++ makehome = 0;
++ break;
++ case 'D':
++ setpass = 0;
++ break;
++ case 'S':
++ system = 1;
++ break;
++ case 'G':
++ usegroup = optarg;
++ break;
+ default:
+ show_usage ();
+ break;
+@@ -301,8 +345,19 @@
+ pw.pw_dir = (char *)home;
+ pw.pw_shell = (char *)shell;
+
++ if (usegroup) {
++ /* Add user to a group that already exists */
++ struct group *g;
++
++ g = getgrnam(usegroup);
++ if (g == NULL)
++ error_msg_and_die("group %s does not exist", usegroup);
++
++ pw.pw_gid = g->gr_gid;
++ }
++
+ /* grand finale */
+- return adduser(PASSWD_FILE, &pw);
++ return adduser(PASSWD_FILE, &pw, makehome, setpass);
+ }
+
+-/* $Id: adduser.c,v 1.37 2002/12/12 08:46:03 andersen Exp $ */
++/* $Id: adduser.c,v 1.38 2003/06/21 19:35:42 andersen Exp $ */
+Index: install.sh
+===================================================================
+RCS file: /var/cvs/tinylogin/install.sh,v
+retrieving revision 1.10
+retrieving revision 1.11
+diff -u -r1.10 -r1.11
+--- a/install.sh 23 Jun 2002 03:09:07 -0000 1.10
++++ b/install.sh 6 Mar 2003 19:29:17 -0000 1.11
+@@ -21,11 +21,11 @@
+ h=`sort tinylogin.links | uniq`
+
+
+-mkdir -p $prefix/bin || exit 1
++install -d -m 0755 $prefix/bin || exit 1
+
+ for i in $h ; do
+ appdir=`dirname $i`
+- mkdir -p $prefix/$appdir || exit 1
++ install -d -m 0755 $prefix/$appdir || exit 1
+ if [ "$2" = "--hardlinks" ]; then
+ bb_path="$prefix/bin/tinylogin"
+ else
+Index: passwd.c
+===================================================================
+RCS file: /var/cvs/tinylogin/passwd.c,v
+retrieving revision 1.19
+retrieving revision 1.20
+diff -u -r1.19 -r1.20
+--- a/passwd.c 7 Nov 2002 02:34:15 -0000 1.19
++++ b/passwd.c 17 Feb 2003 11:51:55 -0000 1.20
+@@ -25,10 +25,6 @@
+ {
+ int x = 0; /* standart: DES */
+
+-#ifdef CONFIG_FEATURE_SHA1_PASSWORDS
+- if (strcasecmp(a, "sha1") == 0)
+- x = 2;
+-#endif
+ if (strcasecmp(a, "md5") == 0)
+ x = 1;
+ return x;
+@@ -394,11 +390,6 @@
+ bzero(cp, strlen(cp));
+ bzero(orig, sizeof(orig));
+
+-#ifdef CONFIG_FEATURE_SHA1_PASSWORDS
+- if (algo == 2) {
+- cp = pw_encrypt(pass, "$2$");
+- } else
+-#endif
+ if (algo == 1) {
+ cp = pw_encrypt(pass, "$1$");
+ } else
+Index: sha1.c
+===================================================================
+RCS file: sha1.c
+diff -N sha1.c
+--- a/sha1.c 20 Dec 2000 21:54:28 -0000 1.2
++++ /dev/null 1 Jan 1970 00:00:00 -0000
+@@ -1,187 +0,0 @@
+-/* vi: set sw=4 ts=4: */
+-/*
+- Implements the Secure Hash Algorithm (SHA1)
+-
+- Copyright (C) 1999 Scott G. Miller
+-
+- Released under the terms of the GNU General Public License v2
+- see file COPYING for details
+-
+- Credits:
+- Robert Klep <robert@ilse.nl> -- Expansion function fix
+- ---
+- FIXME: This source takes int to be a 32 bit integer. This
+- may vary from system to system. I'd use autoconf if I was familiar
+- with it. Anyone want to help me out?
+-*/
+-
+-void sha_hash(int *, int *);
+-void sha_init(int *);
+-char *sprint_hash(int *);
+-void do_sha_hash(int *, int *);
+-
+-/*
+- added 3 functions for sha passowrd stuff (mainly inspired from stuff seen in main.c from shasum-1.3 package)
+-*/
+-#include <stdio.h>
+-#include <string.h>
+-#include <stdlib.h>
+-
+-#include <endian.h>
+-/* On big endian machines, we need to reverse the input to process
+- the blocks correctly */
+-
+-#define switch_endianness(x) (x<<24 & 0xff000000) | \
+- (x<<8 & 0x00ff0000) | \
+- (x>>8 & 0x0000ff00) | \
+- (x>>24 & 0x000000ff)
+-
+-/* Initial hash values */
+-#define Ai 0x67452301
+-#define Bi 0xefcdab89
+-#define Ci 0x98badcfe
+-#define Di 0x10325476
+-#define Ei 0xc3d2e1f0
+-
+-/* SHA1 round constants */
+-#define K1 0x5a827999
+-#define K2 0x6ed9eba1
+-#define K3 0x8f1bbcdc
+-#define K4 0xca62c1d6
+-
+-/* Round functions. Note that f2() is used in both rounds 2 and 4 */
+-#define f1(B,C,D) ((B & C) | ((~B) & D))
+-#define f2(B,C,D) (B ^ C ^ D)
+-#define f3(B,C,D) ((B & C) | (B & D) | (C & D))
+-
+-/* left circular shift functions (rotate left) */
+-#define rol1(x) ((x<<1) | ((x>>31) & 1))
+-#define rol5(A) ((A<<5) | ((A>>27) & 0x1f))
+-#define rol30(B) ((B<<30) | ((B>>2) & 0x3fffffff))
+-
+-/*
+- Hashes 'data', which should be a pointer to 512 bits of data (sixteen
+- 32 bit ints), into the ongoing 160 bit hash value (five 32 bit ints)
+- 'hash'
+-*/
+-void sha_hash(int *data, int *hash)
+-{
+- int W[80];
+- unsigned int A = hash[0], B = hash[1], C = hash[2], D = hash[3], E =
+- hash[4];
+- unsigned int t, x, TEMP;
+-
+- for (t = 0; t < 16; t++) {
+-#ifdef BIG_ENDIAN
+- W[t] = switch_endianness(data[t]);
+-#else
+- W[t] = data[t];
+-#endif
+- }
+-
+-
+- /* SHA1 Data expansion */
+- for (t = 16; t < 80; t++) {
+- x = W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16];
+- W[t] = rol1(x);
+- }
+-
+- /* SHA1 main loop (t=0 to 79)
+- This is broken down into four subloops in order to use
+- the correct round function and constant */
+- for (t = 0; t < 20; t++) {
+- TEMP = rol5(A) + f1(B, C, D) + E + W[t] + K1;
+- E = D;
+- D = C;
+- C = rol30(B);
+- B = A;
+- A = TEMP;
+- }
+- for (; t < 40; t++) {
+- TEMP = rol5(A) + f2(B, C, D) + E + W[t] + K2;
+- E = D;
+- D = C;
+- C = rol30(B);
+- B = A;
+- A = TEMP;
+- }
+- for (; t < 60; t++) {
+- TEMP = rol5(A) + f3(B, C, D) + E + W[t] + K3;
+- E = D;
+- D = C;
+- C = rol30(B);
+- B = A;
+- A = TEMP;
+- }
+- for (; t < 80; t++) {
+- TEMP = rol5(A) + f2(B, C, D) + E + W[t] + K4;
+- E = D;
+- D = C;
+- C = rol30(B);
+- B = A;
+- A = TEMP;
+- }
+- hash[0] += A;
+- hash[1] += B;
+- hash[2] += C;
+- hash[3] += D;
+- hash[4] += E;
+-}
+-
+-/*
+- Takes a pointer to a 160 bit block of data (five 32 bit ints) and
+- intializes it to the start constants of the SHA1 algorithm. This
+- must be called before using hash in the call to sha_hash
+-*/
+-void sha_init(int *hash)
+-{
+- hash[0] = Ai;
+- hash[1] = Bi;
+- hash[2] = Ci;
+- hash[3] = Di;
+- hash[4] = Ei;
+-}
+-
+-
+-/*
+- * write the hash to a string
+- */
+-char *sprint_sha1_hash(int *hashval)
+-{
+- int x = 0;
+- char *out = NULL;
+-
+- if ((out = malloc(43)) == NULL)
+- return NULL;
+- memset(out, 0x00, 43);
+- strcpy(out, "$2$");
+- for (x = 0; x < 5; x++) {
+- sprintf(out + (x * 8) + 3, "%08x", hashval[x]);
+- }
+- out[43] = 0;
+- return out;
+-}
+-
+-
+-/*
+- * hash the password
+- */
+-void do_sha_hash(int *hashval, int *pw)
+-{
+- sha_init(hashval);
+- sha_hash(pw, hashval);
+-}
+-
+-
+-/*
+- * hash a charakter string and return the 160bit integer in hex as a character string
+- */
+-char *sha1_crypt(const char *pw)
+-{
+- int hashval[20];
+-
+- memset(hashval, 0x00, sizeof(hashval));
+- do_sha_hash(hashval, (int *) ((char *) pw + 3));
+-
+- return sprint_sha1_hash(hashval);
+-}
+Index: vlock.c
+===================================================================
+RCS file: /var/cvs/tinylogin/vlock.c,v
+retrieving revision 1.13
+retrieving revision 1.14
+diff -u -r1.13 -r1.14
+--- a/vlock.c 19 Sep 2002 03:50:31 -0000 1.13
++++ b/vlock.c 17 Feb 2003 11:51:56 -0000 1.14
+@@ -26,7 +26,7 @@
+ * minimalistic vlock.
+ */
+ /* Fixed by Erik Andersen to do passwords the tinylogin way...
+- * It now works with md5, sha1, etc passwords. */
++ * It now works with md5, etc passwords. */
+
+ #include "tinylogin.h"
+ #include <stdio.h>
+Index: docs/tinylogin.busybox.net/index.html
+===================================================================
+RCS file: /var/cvs/tinylogin/docs/tinylogin.busybox.net/index.html,v
+retrieving revision 1.23
+retrieving revision 1.25
+diff -u -r1.23 -r1.25
+--- a/docs/tinylogin.busybox.net/index.html 3 Jan 2003 10:56:32 -0000 1.23
++++ b/docs/tinylogin.busybox.net/index.html 3 Jan 2003 11:21:53 -0000 1.25
+@@ -56,6 +56,9 @@
+ Erik Andersen</a>, and licensed under the
+ <a href="http://www.gnu.org/copyleft/gpl.html">GNU GENERAL PUBLIC LICENSE</a>.
+
++<h3>Mailing List Information</h3>
++Here are the Tinylogin <a href="/lists/tinylogin/">mailing list archives</a><br>
++To subscribe, go and visit <a href= "/mailman/listinfo/tinylogin">this page</a>.
+
+ <!-- Begin Download section -->
+
+@@ -222,19 +225,19 @@
+ <ul>
+ <li> <A HREF="http://freshmeat.net/projects/tinylogin/?highlight=tinylogin">
+ Freshmeat AppIndex record for TinyLogin</A>
++ <p>
+
+ <li><a href="http://www.busybox.net/">BusyBox</a>
+ combines tiny versions of many common UNIX utilities into a single small
+ executable. It provides minimalist replacements for most of the utilities
+ you usually find on a standard Linux system.
+-
+ <p>
++
+ <li><a href="http://uclibc.org/uClibc.html">uClibc</a>
+ is a C library for embedded systems. You can actually statically link
+ a "Hello World" application under x86 that only takes 4k (as opposed to
+ 200k under GNU libc). It can do dynamic linking too and works nicely with
+ BusyBox to create very small embedded systems.
+-
+ <p>
+
+ </ul>
+Index: include/libbb.h
+===================================================================
+RCS file: /var/cvs/tinylogin/include/libbb.h,v
+retrieving revision 1.1
+retrieving revision 1.2
+diff -u -r1.1 -r1.2
+--- a/include/libbb.h 23 Jun 2002 03:09:10 -0000 1.1
++++ b/include/libbb.h 17 Feb 2003 11:51:57 -0000 1.2
+@@ -39,9 +39,6 @@
+ #ifdef CONFIG_FEATURE_SHADOWPASSWDS
+ #include "shadow_.h"
+ #endif
+-#ifdef CONFIG_FEATURE_SHA1_PASSWORDS
+-# include "sha1.h"
+-#endif
+
+ #if (__GNU_LIBRARY__ < 5) && (!defined __dietlibc__)
+ /* libc5 doesn't define socklen_t */
+Index: include/sha1.h
+===================================================================
+RCS file: include/sha1.h
+diff -N include/sha1.h
+--- a/include/sha1.h 23 Jun 2002 03:09:10 -0000 1.1
++++ /dev/null 1 Jan 1970 00:00:00 -0000
+@@ -1,3 +0,0 @@
+-/* SHA1.H - header file for SHA1.C */
+-
+-char *sha1_crypt(const char *pw);
+Index: include/usage.h
+===================================================================
+RCS file: /var/cvs/tinylogin/include/usage.h,v
+retrieving revision 1.2
+retrieving revision 1.3
+diff -u -r1.2 -r1.3
+--- a/include/usage.h 3 Jul 2002 05:57:00 -0000 1.2
++++ b/include/usage.h 17 Feb 2003 11:51:57 -0000 1.3
+@@ -33,11 +33,6 @@
+ "\t-h\tName of the remote host for this login.\n" \
+ "\t-p\tPreserve environment."
+
+-#ifdef CONFIG_FEATURE_SHA1_PASSWORDS
+- #define PASSWORD_ALG_TYPES(a) a
+-#else
+- #define PASSWORD_ALG_TYPES(a)
+-#endif
+ #define passwd_trivial_usage \
+ "[OPTION] [name]"
+ #define passwd_full_usage \
+@@ -46,7 +41,6 @@
+ "Options:\n" \
+ "\t-a\tDefine which algorithm shall be used for the password.\n" \
+ "\t\t\t(Choices: des, md5" \
+- PASSWORD_ALG_TYPES(", sha1") \
+ ")\n\t-d\tDelete the password for the specified user account.\n" \
+ "\t-l\tLocks (disables) the specified user account.\n" \
+ "\t-u\tUnlocks (re-enables) the specified user account."
+Index: libbb/obscure.c
+===================================================================
+RCS file: /var/cvs/tinylogin/libbb/obscure.c,v
+retrieving revision 1.2
+retrieving revision 1.3
+diff -u -r1.2 -r1.3
+--- a/libbb/obscure.c 23 Jun 2002 04:05:59 -0000 1.2
++++ b/libbb/obscure.c 30 Jul 2003 08:41:33 -0000 1.3
+@@ -44,7 +44,7 @@
+ * can't be a palindrome - like `R A D A R' or `M A D A M'
+ */
+
+-static int palindrome(const char *old, const char *newval)
++static int palindrome(const char *newval)
+ {
+ int i, j;
+
+@@ -79,24 +79,25 @@
+ * a nice mix of characters.
+ */
+
+-static int simple(const char *old, const char *newval)
++static int simple(const char *newval)
+ {
+ int digits = 0;
+ int uppers = 0;
+ int lowers = 0;
+ int others = 0;
++ int c;
+ int size;
+ int i;
+
+- for (i = 0; newval[i]; i++) {
+- if (isdigit(newval[i]))
+- digits++;
+- else if (isupper(newval[i]))
+- uppers++;
+- else if (islower(newval[i]))
+- lowers++;
++ for (i = 0; (c = *newval++) != 0; i++) {
++ if (isdigit(c))
++ digits = c;
++ else if (isupper(c))
++ uppers = c;
++ else if (islower(c))
++ lowers = c;
+ else
+- others++;
++ others = c;
+ }
+
+ /*
+@@ -129,49 +130,53 @@
+ return string;
+ }
+
+-static char *password_check(const char *old, const char *newval, const struct passwd *pwdp)
++static const char *
++password_check(const char *old, const char *newval, const struct passwd *pwdp)
+ {
+- char *msg = NULL;
+- char *oldmono, *newmono, *wrapped;
++ const char *msg;
++ char *newmono, *wrapped;
++ int lenwrap;
+
+ if (strcmp(newval, old) == 0)
+ return "no change";
++ if (simple(newval))
++ return "too simple";
+
++ msg = NULL;
+ newmono = str_lower(xstrdup(newval));
+- oldmono = str_lower(xstrdup(old));
+- wrapped = (char *) xmalloc(strlen(oldmono) * 2 + 1);
+- strcpy(wrapped, oldmono);
+- strcat(wrapped, oldmono);
++ lenwrap = strlen(old) * 2 + 1;
++ wrapped = (char *) xmalloc(lenwrap);
++ str_lower(strcpy(wrapped, old));
+
+- if (palindrome(oldmono, newmono))
++ if (palindrome(newmono))
+ msg = "a palindrome";
+
+- if (!msg && strcmp(oldmono, newmono) == 0)
++ else if (strcmp(wrapped, newmono) == 0)
+ msg = "case changes only";
+
+- if (!msg && similiar(oldmono, newmono))
++ else if (similiar(wrapped, newmono))
+ msg = "too similiar";
+
+- if (!msg && simple(old, newval))
+- msg = "too simple";
+-
+- if (!msg && strstr(wrapped, newmono))
+- msg = "rotated";
++ else {
++ safe_strncpy(wrapped + lenwrap, wrapped, lenwrap + 1);
++ if (strstr(wrapped, newmono))
++ msg = "rotated";
++ }
+
+ bzero(newmono, strlen(newmono));
+- bzero(oldmono, strlen(oldmono));
+- bzero(wrapped, strlen(wrapped));
++ bzero(wrapped, lenwrap);
+ free(newmono);
+- free(oldmono);
+ free(wrapped);
+
+ return msg;
+ }
+
+-static char *obscure_msg(const char *old, const char *newval, const struct passwd *pwdp)
++static const char *
++obscure_msg(const char *old, const char *newval, const struct passwd *pwdp)
+ {
+ int maxlen, oldlen, newlen;
+- char *new1, *old1, *msg;
++ char *new1, *old1;
++ const char *msg;
+
+ oldlen = strlen(old);
+ newlen = strlen(newval);
+@@ -233,7 +238,7 @@
+
+ extern int obscure(const char *old, const char *newval, const struct passwd *pwdp)
+ {
+- char *msg = obscure_msg(old, newval, pwdp);
++ const char *msg = obscure_msg(old, newval, pwdp);
+
+ /* if (msg) { */
+ if (msg != NULL) {
+Index: libbb/pw_encrypt.c
+===================================================================
+RCS file: /var/cvs/tinylogin/libbb/pw_encrypt.c,v
+retrieving revision 1.1
+retrieving revision 1.2
+diff -u -r1.1 -r1.2
+--- a/libbb/pw_encrypt.c 23 Jun 2002 03:09:12 -0000 1.1
++++ b/libbb/pw_encrypt.c 17 Feb 2003 11:51:58 -0000 1.2
+@@ -30,11 +30,6 @@
+ static char cipher[128];
+ char *cp;
+
+-#ifdef CONFIG_FEATURE_SHA1_PASSWORDS
+- if (strncmp(salt, "$2$", 3) == 0) {
+- return sha1_crypt(clear);
+- }
+-#endif
+ cp = (char *) crypt(clear, salt);
+ /* if crypt (a nonstandard crypt) returns a string too large,
+ truncate it so we don't overrun buffers and hope there is
diff --git a/meta/packages/tinylogin/tinylogin_1.4.bb b/meta/packages/tinylogin/tinylogin_1.4.bb
new file mode 100644
index 0000000000..33f1c32aed
--- /dev/null
+++ b/meta/packages/tinylogin/tinylogin_1.4.bb
@@ -0,0 +1,28 @@
+SECTION = "base"
+DESCRIPTION = "TinyLogin is a suite of tiny UNIX \
+utilities for handling logins, user authentication, \
+changing passwords, and otherwise maintaining users \
+and groups on an embedded system."
+HOMEPAGE = "http://tinylogin.busybox.net/"
+LICENSE = "GPL"
+PR = "r3"
+
+SRC_URI = "http://tinylogin.busybox.net/downloads/tinylogin-${PV}.tar.bz2 \
+ file://cvs-20040608.patch;patch=1;pnum=1 \
+ file://add-system.patch;patch=1;pnum=1 \
+ file://adduser-empty_pwd.patch;patch=1"
+
+EXTRA_OEMAKE = ""
+
+do_compile () {
+ oe_runmake 'CC=${CC}' 'CROSS=${HOST_PREFIX}'
+}
+
+do_install () {
+ install -d ${D}${base_bindir}
+ install -m 4755 tinylogin ${D}${base_bindir}/tinylogin
+ for i in `cat tinylogin.links`; do
+ mkdir -p ${D}/`dirname $i`
+ ln -sf /bin/tinylogin ${D}$i
+ done
+}
diff --git a/meta/packages/tslib/tslib-maemo/multievent.patch b/meta/packages/tslib/tslib-maemo/multievent.patch
new file mode 100644
index 0000000000..854e7af5dd
--- /dev/null
+++ b/meta/packages/tslib/tslib-maemo/multievent.patch
@@ -0,0 +1,843 @@
+--- tslib/plugins/linear.c~multievent
++++ tslib/plugins/linear.c
+@@ -39,14 +39,12 @@
+ linear_read(struct tslib_module_info *info, struct ts_sample *samp, int nr)
+ {
+ struct tslib_linear *lin = (struct tslib_linear *)info;
+- int ret;
++ int ret, i = 0;
+ int xtemp,ytemp;
+
+ ret = info->next->ops->read(info->next, samp, nr);
+ if (ret >= 0) {
+- int nr;
+-
+- for (nr = 0; nr < ret; nr++, samp++) {
++ for (i = 0; i < ret; i++, samp++) {
+ #ifdef DEBUG
+ fprintf(stderr,"BEFORE CALIB--------------------> %d %d %d\n",samp->x, samp->y, samp->pressure);
+ #endif /*DEBUG*/
+@@ -66,6 +64,7 @@
+ samp->y = tmp;
+ }
+ }
++ ret = i;
+ }
+
+ return ret;
+--- tslib/plugins/dejitter.c~multievent
++++ tslib/plugins/dejitter.c
+@@ -24,7 +24,6 @@
+
+ struct tslib_threshold {
+ struct tslib_module_info module;
+- int pthreshold;
+ int xdelta;
+ int ydelta;
+ int delta2;
+@@ -36,40 +35,28 @@
+ static int threshold_read(struct tslib_module_info *info, struct ts_sample *samp, int nr)
+ {
+ struct tslib_threshold *thr = (struct tslib_threshold *)info;
+- struct ts_sample *s;
+- int ret;
++ struct ts_sample *src = samp, *dest = samp;
++ int ret, i = 0;
+
+ ret = info->next->ops->read(info->next, samp, nr);
+ if (ret >= 0) {
+- int nr = 0;
+-
+- for (s = samp; s < samp + ret; s++) {
++ for (i = 0; i < ret; i++, samp++) {
+ int dr2;
+ #ifdef DEBUG
+- fprintf(stderr,"BEFORE DEJITTER---------------> %d %d %d\n",s->x,s->y,s->pressure);
++ fprintf(stderr,"BEFORE DEJITTER---------------> %d %d %d\n", samp->x, samp->y, samp->pressure);
+ #endif /*DEBUG*/
+- thr->down = (s->pressure >= thr->pthreshold);
+- if (thr->down) {
+- dr2 = (thr->x - s->x)*(thr->x - s->x)
+- + (thr->y - s->y)*(thr->y - s->y);
+- if(dr2 < thr->delta2) {
+- s->x = thr->x;
+- s->y = thr->y;
+- } else {
+- thr->x = s->x;
+- thr->y = s->y;
+- }
+-
++ dr2 = (thr->x - samp->x)*(thr->x - samp->x)
++ + (thr->y - samp->y)*(thr->y - samp->y);
++ if(dr2 < thr->delta2) {
++ samp->x = thr->x;
++ samp->y = thr->y;
+ } else {
+- s->x = thr->x;
+- s->y = thr->y;
++ thr->x = samp->x;
++ thr->y = samp->y;
+ }
+-
+-
+- samp[nr++] = *s;
+ }
+
+- ret = nr;
++ ret = i;
+ }
+ return ret;
+ }
+@@ -106,10 +93,6 @@
+ thr->ydelta = v;
+ break;
+
+- case 3:
+- thr->pthreshold = v;
+- break;
+-
+ default:
+ return -1;
+ }
+@@ -120,7 +103,6 @@
+ {
+ { "xdelta", (void *)1, threshold_limit },
+ { "ydelta", (void *)2, threshold_limit },
+- { "pthreshold", (void *)3, threshold_limit }
+ };
+
+ //#define NR_VARS (sizeof(threshold_vars) / sizeof(threshold_vars[0]))
+@@ -138,7 +120,6 @@
+
+ thr->xdelta = 10;
+ thr->ydelta = 10;
+- thr->pthreshold = 100;
+
+ if (tslib_parse_vars(&thr->module, threshold_vars, NR_VARS, params)) {
+ free(thr);
+--- tslib/plugins/variance.c~multievent
++++ tslib/plugins/variance.c
+@@ -9,25 +9,36 @@
+ * $Id: variance.c,v 1.3 2002/11/08 23:28:55 dlowder Exp $
+ *
+ * Variance filter for touchscreen values
++ *
++ * Policy question (applies to all tslib modules that consume events):
++ * 1) User requests a read of 5 events using nr.
++ * 2) Lower layers return us 4 events.
++ * 3) Perform variance calculation, we now only have _1_ event.
++ * 4) Do we, a) duplicate this data across the user requested 4 events,
++ * b) push up the single event
++ * c) loop on the read from the lower layers to obtain
++ * the user's requested number of events, unless we hit
++ * a pen_up.
+ */
++
+ #include <errno.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <limits.h>
+-
+ #include <stdio.h>
+
+ #include "tslib.h"
+ #include "tslib-filter.h"
+
++#define NR_INIT -1
+ #define NR_LAST 4
+
+ struct tslib_variance {
+ struct tslib_module_info module;
+ int nr;
+- unsigned int pthreshold;
+ unsigned int xlimit;
+ unsigned int ylimit;
++ unsigned int pthreshold;
+ struct ts_sample last[NR_LAST];
+ };
+
+@@ -37,8 +48,7 @@
+ * least variance, and average them.
+ */
+ static int
+-variance_calculate(struct tslib_variance *var, struct ts_sample *samp,
+- struct ts_sample *s)
++variance_calculate(struct tslib_variance *var, struct ts_sample *dest, struct ts_sample *src)
+ {
+ int i, j;
+ int diff_x, min_x, i_x, j_x;
+@@ -100,11 +110,11 @@
+ }
+ }
+
+- samp->x = (var->last[i_x].x + var->last[j_x].x) / 2;
+- samp->y = (var->last[i_y].y + var->last[j_y].y) / 2;
+- samp->pressure = (var->last[i_p].pressure + var->last[j_p].pressure) / 2;
+- samp->tv.tv_sec = s->tv.tv_sec;
+- samp->tv.tv_usec = s->tv.tv_usec;
++ dest->x = (var->last[i_x].x + var->last[j_x].x) / 2;
++ dest->y = (var->last[i_y].y + var->last[j_y].y) / 2;
++ dest->pressure = (var->last[i_p].pressure + var->last[j_p].pressure) / 2;
++ dest->tv.tv_sec = src->tv.tv_sec;
++ dest->tv.tv_usec = src->tv.tv_usec;
+
+ return 1;
+ }
+@@ -112,55 +122,57 @@
+ static int variance_read(struct tslib_module_info *info, struct ts_sample *samp, int nr)
+ {
+ struct tslib_variance *var = (struct tslib_variance *)info;
+- struct ts_sample *s;
+- int ret;
+-
+- ret = info->next->ops->read(info->next, samp, nr);
+- if (ret >= 0) {
+- int nr = 0;
+-
+- for (s = samp; s < samp + ret; s++) {
+- if (s->pressure < var->pthreshold) {
+- /*
+- * Pen was released. Reset our state and
+- * pass up the release information.
+- */
+-// samp[nr].x = 0;
+-// samp[nr].y = 0;
+- samp[nr].pressure = s->pressure;
+- samp[nr].tv.tv_sec = s->tv.tv_sec;
+- samp[nr].tv.tv_usec = s->tv.tv_usec;
+-
+- nr++;
+-
+- var->nr = 0;
+- continue;
+- } else if (var->nr == -1) {
+- /*
+- * Pen was pressed. Inform upper layers
+- * immediately.
+- */
+- samp[nr] = *s;
+- nr++;
+- }
+-
+- if (var->nr >= 0) {
+- var->last[var->nr].x = s->x;
+- var->last[var->nr].y = s->y;
+- var->last[var->nr].pressure = s->pressure;
+- }
+-
+- var->nr++;
++ struct ts_sample *src = samp, *dest = samp;
++ int ret, i = 0;
+
+- if (var->nr == NR_LAST) {
+- if (variance_calculate(var, samp + nr, s))
+- nr++;
+- var->nr = 0;
++ /*
++ * NOTES:
++ *
++ * Loop on read, collecting events until we hit nr, unless
++ * we hit a pen up or encounter a failure.
++ */
++ while ((i < nr) && (ret != -1)) {
++ ret = info->next->ops->read(info->next, dest + i, nr - i);
++ if (ret >= 0) {
++ for (src = dest + i; src < dest + ret; src++) {
++ if (src->pressure < var->pthreshold) {
++ /* pen released, reset var->nr,
++ * do a calc based on what we have so
++ * far, and let this event flow up */
++ if (variance_calculate(var, dest + i, src))
++ i++;
++ var->nr = NR_INIT;
++ ret = -1; /* break outer loop, push up event */
++ break;
++ } else if (var->nr == NR_INIT) {
++ /*
++ * First pen down event. Inform upper layers
++ * immediately for responsiveness.
++ */
++ var->nr = 0;
++ i++;
++ ret = -1; /* break outer loop */
++ break;
++ }
++
++ if (var->nr >= 0) {
++ var->last[var->nr].x = src->x;
++ var->last[var->nr].y = src->y;
++ var->last[var->nr].pressure = src->pressure;
++ }
++
++ var->nr++;
++
++ if (var->nr == NR_LAST) {
++ if (variance_calculate(var, dest + i, src))
++ i++;
++ var->nr = 0;
++ }
+ }
+ }
+-
+- ret = nr;
+ }
++ /* if we've collected at least one event, send it up */
++ if (i != 0) ret = i;
+ return ret;
+ }
+
+@@ -196,10 +208,6 @@
+ var->ylimit = v;
+ break;
+
+- case 3:
+- var->pthreshold = v;
+- break;
+-
+ default:
+ return -1;
+ }
+@@ -210,7 +218,6 @@
+ {
+ { "xlimit", (void *)1, variance_limit },
+ { "ylimit", (void *)2, variance_limit },
+- { "pthreshold", (void *)3, variance_limit }
+ };
+
+ #define NR_VARS (sizeof(variance_vars) / sizeof(variance_vars[0]))
+@@ -218,6 +225,7 @@
+ struct tslib_module_info *mod_init(struct tsdev *dev, const char *params)
+ {
+ struct tslib_variance *var;
++ char *pthresvar;
+
+ var = malloc(sizeof(struct tslib_variance));
+ if (var == NULL)
+@@ -225,10 +233,15 @@
+
+ var->module.ops = &variance_ops;
+
+- var->nr = -1;
++ var->nr = NR_INIT;
+ var->xlimit = 160;
+ var->ylimit = 160;
+ var->pthreshold = 100;
++ pthresvar = getenv("TSLIB_PTHRES");
++ if (pthresvar != NULL) {
++ int p = strtol(pthresvar, (char **)NULL, 10);
++ if (p != -1) var->pthreshold = p;
++ }
+
+ if (tslib_parse_vars(&var->module, variance_vars, NR_VARS, params)) {
+ free(var);
+--- tslib/README~multievent
++++ tslib/README
+@@ -36,6 +36,19 @@
+ usages. They are by no means exhaustive, nor probably even good examples.
+ They are basically the programs I used to test this library.
+
++Module Creation Notes
++=====================
++
++For those creating tslib modules, it is important to note a couple things with
++regard to handling of the ability for a user to request more than one ts event
++at a time. The first thing to note is that the lower layers may send up less
++events than the user requested, but only if that was a result of a pen release.
++Next, your module should send up just as many events as the user requested in
++nr. If your module is one that consumes events, such as variance, then you
++loop on the read from the lower layers, and only send the events up when
++1) you have the number of events requested by the user, or 2) one of the events
++from the lower layers was a pen release.
++
+
+ Module Parameters
+ =================
+--- tslib/src/ts_read_raw.c~multievent
++++ tslib/src/ts_read_raw.c
+@@ -14,10 +14,10 @@
+ *
+ * Read raw pressure, x, y, and timestamp from a touchscreen device.
+ */
++
+ #include "config.h"
+
+ #include <stdio.h>
+-
+ #include <stdlib.h>
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+@@ -25,79 +25,27 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+
+-#ifdef USE_INPUT_API
+-#include <linux/input.h>
+-#else
+-struct ts_event { /* Used in UCB1x00 style touchscreens (the default) */
+- unsigned short pressure;
+- unsigned short x;
+- unsigned short y;
+- unsigned short pad;
+- struct timeval stamp;
+-};
+-struct h3600_ts_event { /* Used in the Compaq IPAQ */
+- unsigned short pressure;
+- unsigned short x;
+- unsigned short y;
+- unsigned short pad;
+-};
+-struct mk712_ts_event { /* Used in the Hitachi Webpad */
+- unsigned int header;
+- unsigned int x;
+- unsigned int y;
+- unsigned int reserved;
+-};
+-struct arctic2_ts_event { /* Used in the IBM Arctic II */
+- signed short pressure;
+- signed int x;
+- signed int y;
+- int millisecs;
+- int flags;
+-};
+-struct collie_ts_event { /* Used in the Sharp Zaurus SL-5000d and SL-5500 */
+- long y;
+- long x;
+- long pressure;
+- long long millisecs;
+-};
+-struct corgi_ts_event { /* Used in the Sharp Zaurus SL-C700 */
+- short pressure;
+- short x;
+- short y;
+- short millisecs;
+-};
+-#endif /* USE_INPUT_API */
+-
+ #include "tslib-private.h"
+
+-int ts_read_raw(struct tsdev *ts, struct ts_sample *samp, int nr)
+-{
+ #ifdef USE_INPUT_API
++#include <linux/input.h>
++
++static inline int get_input_event(struct tsdev *ts, struct ts_sample *samp) {
+ struct input_event ev;
+-#else
+- struct ts_event *evt;
+- struct h3600_ts_event *hevt;
+- struct mk712_ts_event *mevt;
+- struct arctic2_ts_event *aevt;
+- struct collie_ts_event *collie_evt;
+- struct corgi_ts_event *corgi_evt;
+-#endif /* USE_INPUT_API */
+- int ret;
+- int total = 0;
++ struct timeval tv = {0, 0};
++ fd_set fdset;
++ int ret = 0;
+
+- char *tseventtype=NULL;
+- char *defaulttseventtype="UCB1x00";
++ /* event vars */
++ static int curr_x = 0, curr_y = 0;
++ int curr_p = 0, next_x = 0, next_y = 0;
+
+-#ifdef USE_INPUT_API
+- /* warning: maybe those static vars should be part of the tsdev struct? */
+- static int curr_x = 0, curr_y = 0, curr_p = 0;
+- static int got_curr_x = 0, got_curr_y = 0;
+- int got_curr_p = 0;
+- int next_x, next_y;
++ /* state variables */
++ int got_curr_x = 0, got_curr_y = 0, got_curr_p = 0;
+ int got_next_x = 0, got_next_y = 0;
+ int got_tstamp = 0;
+
+- while (total < nr) {
++ while (1) {
+ ret = read(ts->fd, &ev, sizeof(struct input_event));
+ if (ret < sizeof(struct input_event)) break;
+
+@@ -146,177 +94,231 @@
+ samp->tv = ev.time;
+ }
+
+- if ( (!got_curr_x || !got_curr_y) && !got_curr_p &&
+- !got_next_x && !got_next_y ) {
+- /*
+- * The current event is not complete yet.
+- * Give the kernel a chance to feed us more.
+- */
+- struct timeval tv = {0, 0};
+- fd_set fdset;
+- FD_ZERO(&fdset);
+- FD_SET(ts->fd, &fdset);
+- ret = select(ts->fd+1, &fdset, NULL, NULL, &tv);
+- if (ret == 1) continue;
+- if (ret == -1) break;
++ if (got_curr_x && got_curr_y && got_curr_p) {
++ /* we have a complete event */
++ samp->x = curr_x;
++ samp->y = curr_y;
++ samp->pressure = curr_p;
++ ret = 0; /* indicate success */
++ if (got_next_x) curr_x = next_x;
++ if (got_next_y) curr_y = next_y;
++ break;
+ }
+
+- /* We consider having a complete ts event */
+- samp->x = curr_x;
+- samp->y = curr_y;
+- samp->pressure = curr_p;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- samp++;
+- total++;
+-
+- /* get ready for next event */
+- if (got_next_x) curr_x = next_x; else got_curr_x = 0;
+- if (got_next_y) curr_y = next_y; else got_curr_y = 0;
+- got_next_x = got_next_y = got_tstamp = 0;
++ /*
++ * The current event is not complete yet.
++ * Give the kernel a chance to feed us more.
++ */
++ FD_ZERO(&fdset);
++ FD_SET(ts->fd, &fdset);
++ ret = select(ts->fd+1, &fdset, NULL, NULL, &tv);
++ if (ret == 1) continue;
++ if (ret == -1) break;
+ }
+
+- if (ret) ret = -1;
+- if (total) ret = total;
++// fprintf(stdout, "%s: returning %d\n", __FUNCTION__, ret);
++ if (ret != 0) ret = -1;
++ return ret;
++}
++
+ #else
++
++struct ucb1x00_ts_event { /* Used in UCB1x00 style touchscreens (the default) */
++ unsigned short pressure;
++ unsigned short x;
++ unsigned short y;
++ unsigned short pad;
++ struct timeval stamp;
++};
++struct h3600_ts_event { /* Used in the Compaq IPAQ */
++ unsigned short pressure;
++ unsigned short x;
++ unsigned short y;
++ unsigned short pad;
++};
++struct mk712_ts_event { /* Used in the Hitachi Webpad */
++ unsigned int header;
++ unsigned int x;
++ unsigned int y;
++ unsigned int reserved;
++};
++struct arctic2_ts_event { /* Used in the IBM Arctic II */
++ signed short pressure;
++ signed int x;
++ signed int y;
++ int millisecs;
++ int flags;
++};
++struct collie_ts_event { /* Used in the Sharp Zaurus SL-5000d and SL-5500 */
++ long y;
++ long x;
++ long pressure;
++ long long millisecs;
++};
++struct corgi_ts_event { /* Used in the Sharp Zaurus SL-C700 */
++ short pressure;
++ short x;
++ short y;
++ short millisecs;
++};
++
++static inline int get_ucb1x00_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct ucb1x00_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct ucb1x00_ts_event));
++ if (ret > 0) {
++ samp->x = evt.x;
++ samp->y = evt.y;
++ samp->pressure = evt.pressure;
++ samp->tv.tv_usec = evt.stamp.tv_usec;
++ samp->tv.tv_sec = evt.stamp.tv_sec;
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_h3600_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct h3600_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct h3600_ts_event));
++ if (ret > 0) {
++ samp->x = evt.x;
++ samp->y = evt.y;
++ samp->pressure = evt.pressure;
++ gettimeofday(&samp->tv, NULL);
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_mk712_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct mk712_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct mk712_ts_event));
++ if (ret > 0) {
++ samp->x = (short)evt.x;
++ samp->y = (short)evt.y;
++ if(evt.header==0)
++ samp->pressure=1;
++ else
++ samp->pressure=0;
++ gettimeofday(&samp->tv, NULL);
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_arctic2_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct arctic2_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct arctic2_ts_event));
++ if (ret > 0) {
++ samp->x = (short)evt.x;
++ samp->y = (short)evt.y;
++ samp->pressure = evt.pressure;
++ gettimeofday(&samp->tv, NULL);
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_collie_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct collie_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct collie_ts_event));
++ if (ret > 0) {
++ samp->x = evt.x;
++ samp->y = evt.y;
++ samp->pressure = evt.pressure;
++ samp->tv.tv_usec = evt.millisecs % 1000;
++ samp->tv.tv_sec = evt.millisecs / 1000;
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_corgi_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct corgi_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct corgi_ts_event));
++ if (ret > 0) {
++ samp->x = evt.x;
++ samp->y = evt.y;
++ samp->pressure = evt.pressure;
++ samp->tv.tv_usec = evt.millisecs % 1000;
++ samp->tv.tv_sec = evt.millisecs / 1000;
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++#endif
++
++int ts_read_raw(struct tsdev *ts, struct ts_sample *samp, int nr)
++{
++ int ret;
++ int total = 0;
++ int pen_down = 1;
++ static short x_save = 0, y_save = 0;
++ static int pthres = -1;
++
++#ifndef USE_INPUT_API
++ char *tseventtype=NULL;
++ char *defaulttseventtype="UCB1x00";
+ tseventtype = getenv("TSLIB_TSEVENTTYPE");
+ if(tseventtype==NULL) tseventtype=defaulttseventtype;
++#endif
+
+- if( strcmp(tseventtype,"H3600") == 0) { /* iPAQ style h3600 touchscreen events */
+- hevt = alloca(sizeof(*hevt) * nr);
+- ret = read(ts->fd, hevt, sizeof(*hevt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*hevt);
+- while(ret >= sizeof(*hevt)) {
+- samp->x = hevt->x;
+- samp->y = hevt->y;
+- samp->pressure = hevt->pressure;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- gettimeofday(&samp->tv,NULL);
+- samp++;
+- hevt++;
+- ret -= sizeof(*hevt);
+- }
+- } else {
+- return -1;
+- }
+- } else if( strcmp(tseventtype,"MK712") == 0) { /* Hitachi Webpad events */
+- mevt = alloca(sizeof(*mevt) * nr);
+- ret = read(ts->fd, mevt, sizeof(*mevt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*mevt);
+- while(ret >= sizeof(*mevt)) {
+- samp->x = (short)mevt->x;
+- samp->y = (short)mevt->y;
+- if(mevt->header==0)
+- samp->pressure=1;
+- else
+- samp->pressure=0;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- gettimeofday(&samp->tv,NULL);
+- samp++;
+- mevt++;
+- ret -= sizeof(*mevt);
+- }
+- } else {
+- return -1;
+- }
+-
+- } else if( strcmp(tseventtype,"ARCTIC2") == 0) { /* IBM Arctic II events */
+- aevt = alloca(sizeof(*aevt) * nr);
+- ret = read(ts->fd, aevt, sizeof(*aevt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*aevt);
+- while(ret >= sizeof(*aevt)) {
+- samp->x = (short)aevt->x;
+- samp->y = (short)aevt->y;
+- samp->pressure = aevt->pressure;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- gettimeofday(&samp->tv,NULL);
+- samp++;
+- aevt++;
+- ret -= sizeof(*aevt);
+- }
++ while ((total < nr) && pen_down) {
++// fprintf(stdout, "total: %d, nr: %d\n", total, nr);
++#ifdef USE_INPUT_API
++ ret = get_input_event(ts, samp);
++#else
++ if (strcmp(tseventtype, "H3600") == 0) {
++ /* iPAQ style h3600 touchscreen events */
++ ret = get_h3600_event(ts, samp);
++ } else if (strcmp(tseventtype, "MK712") == 0) {
++ /* Hitachi Webpad events */
++ ret = get_mk712_event(ts, samp);
++ } else if (strcmp(tseventtype, "ARCTIC2") == 0) {
++ /* IBM Arctic II events */
++ ret = get_arctic2_event(ts, samp);
++ } else if (strcmp(tseventtype, "COLLIE") == 0) {
++ /* Sharp Zaurus SL-5000d/5500 events */
++ ret = get_collie_event(ts, samp);
++ } else if (strcmp(tseventtype,"CORGI") == 0) {
++ /* Sharp Zaurus SL-C700 events */
++ ret = get_corgi_event(ts, samp);
+ } else {
+- return -1;
++ /* Use normal UCB1x00 type events */
++ ret = get_ucb1x00_event(ts, samp);
+ }
++#endif
++ if (ret != 0) break;
+
+- } else if( strcmp(tseventtype,"COLLIE") == 0) { /* Sharp Zaurus SL-5000d/5500 events */
+- collie_evt = alloca(sizeof(*collie_evt) * nr);
+- ret = read(ts->fd, collie_evt, sizeof(*collie_evt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*collie_evt);
+- while(ret >= sizeof(*collie_evt)) {
+- samp->x = collie_evt->x;
+- samp->y = collie_evt->y;
+- samp->pressure = collie_evt->pressure;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- samp->tv.tv_usec = collie_evt->millisecs % 1000;
+- samp->tv.tv_sec = collie_evt->millisecs / 1000;
+- samp++;
+- collie_evt++;
+- ret -= sizeof(*collie_evt);
++ if (pthres == -1) {
++ char *pthresvar = getenv("TSLIB_PTHRES");
++ pthres = 100;
++ if (pthresvar != NULL) {
++ int p = strtol(pthresvar, (char **)NULL, 10);
++ if (p != -1) pthres = p;
+ }
+- } else {
+- return -1;
+ }
+
+- } else if( strcmp(tseventtype,"CORGI") == 0) { /* Sharp Zaurus SL-C700 events */
+- corgi_evt = alloca(sizeof(*corgi_evt) * nr);
+- ret = read(ts->fd, corgi_evt, sizeof(*corgi_evt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*corgi_evt);
+- while(ret >= sizeof(*corgi_evt)) {
+- samp->x = corgi_evt->x;
+- samp->y = corgi_evt->y;
+- samp->pressure = corgi_evt->pressure;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- samp->tv.tv_usec = corgi_evt->millisecs % 1000;
+- samp->tv.tv_sec = corgi_evt->millisecs / 1000;
+- samp++;
+- corgi_evt++;
+- ret -= sizeof(*corgi_evt);
+- }
++ if (samp->pressure < pthres) {
++ /* pen released, send events up */
++ pen_down = 0;
++ /* set x and y to previous values */
++ samp->x = x_save;
++ samp->y = y_save;
+ } else {
+- return -1;
++ pen_down = 1;
++ x_save = samp->x;
++ y_save = samp->y;
+ }
+-
+- } else { /* Use normal UCB1x00 type events */
+- evt = alloca(sizeof(*evt) * nr);
+- ret = read(ts->fd, evt, sizeof(*evt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*evt);
+- while(ret >= sizeof(*evt)) {
+- samp->x = evt->x;
+- samp->y = evt->y;
+- samp->pressure = evt->pressure;
+ #ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
++ fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x, samp->y, samp->pressure);
+ #endif /*DEBUG*/
+- samp->tv.tv_usec = evt->stamp.tv_usec;
+- samp->tv.tv_sec = evt->stamp.tv_sec;
+- samp++;
+- evt++;
+- ret -= sizeof(*evt);
+- }
+- } else {
+- return -1;
+- }
++ samp++;
++ total++;
+ }
+- ret = nr;
+-#endif /* USE_INPUT_API */
+
++ if (ret != 0) ret = -1;
++ if (total) ret = total;
+ return ret;
+ }
+
diff --git a/meta/packages/tslib/tslib-maemo/nokia770/ts.conf b/meta/packages/tslib/tslib-maemo/nokia770/ts.conf
new file mode 100644
index 0000000000..8eed62f7b9
--- /dev/null
+++ b/meta/packages/tslib/tslib-maemo/nokia770/ts.conf
@@ -0,0 +1,2 @@
+module pressure
+module linear
diff --git a/meta/packages/tslib/tslib-maemo/nokia770/tslib.sh b/meta/packages/tslib/tslib-maemo/nokia770/tslib.sh
new file mode 100644
index 0000000000..b7acc274c0
--- /dev/null
+++ b/meta/packages/tslib/tslib-maemo/nokia770/tslib.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=/dev/input/touchscreen0
+
+export TSLIB_TSDEVICE
diff --git a/meta/packages/tslib/tslib-maemo/ts.conf b/meta/packages/tslib/tslib-maemo/ts.conf
new file mode 100644
index 0000000000..dc5c4ded09
--- /dev/null
+++ b/meta/packages/tslib/tslib-maemo/ts.conf
@@ -0,0 +1,25 @@
+# Uncomment if you wish to use the linux input layer event interface
+# module_raw input
+
+# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
+# module_raw collie
+
+# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
+# module_raw corgi
+
+# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
+# module_raw ucb1x00
+
+# Uncomment if you're using an HP iPaq h3600 or similar
+# module_raw h3600
+
+# Uncomment if you're using a Hitachi Webpad
+# module_raw mk712
+
+# Uncomment if you're using an IBM Arctic II
+# module_raw arctic2
+
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib-maemo_0.0.1-15.bb b/meta/packages/tslib/tslib-maemo_0.0.1-15.bb
new file mode 100644
index 0000000000..e797f5bdce
--- /dev/null
+++ b/meta/packages/tslib/tslib-maemo_0.0.1-15.bb
@@ -0,0 +1,49 @@
+DEFAULT_PREFERENCE = "-1"
+SECTION = "base"
+DESCRIPTION = "tslib is a touchscreen access library (maemo patched version)."
+PR = "r2"
+PROVIDES = "tslib"
+
+SRC_URI_OVERRIDES_PACKAGE_ARCH = "0"
+PACKAGE_ARCH_tslib-conf = "${MACHINE_ARCH}"
+
+SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/t/tslib/tslib_${PV}.tar.gz \
+ file://ts.conf \
+ file://tslib.sh"
+
+S = "${WORKDIR}/tslib"
+LICENSE = "LGPL"
+CONFFILES_${PN} = "${sysconfdir}/ts.conf"
+
+inherit autotools
+
+PACKAGES = "tslib-maemo-conf libts-maemo libts-maemo-dev tslib-maemo-tests tslib-maemo-calibrate"
+EXTRA_OECONF = "--enable-shared"
+
+do_stage () {
+ autotools_stage_all
+}
+
+
+do_install_prepend () {
+ install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/profile.d/
+ install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
+}
+
+RDEPENDS_libts-maemo = "tslib-maemo-conf"
+
+RPROVIDES_tslib-maemo-conf = "tslib-conf"
+RPROVIDES_libts-maemo = "libts"
+RPROVIDES_libts-maemo-dev = "libts-dev"
+RPROVIDES_tslib-maemo-calibrate = "tslib-calibrate"
+RPROVIDES_tslib-maemo-tests = "tslib-tests"
+
+FILES_tslib-maemo-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
+FILES_libts-maemo = "${libdir}/*.so.* ${datadir}/ts/plugins/*.so*"
+FILES_libts-maemo-dev = "${FILES_tslib-maemo-dev}"
+FILES_tslib-maemo-calibrate += "${bindir}/ts_calibrate"
+FILES_tslib-maemo-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_test"
diff --git a/meta/packages/tslib/tslib/akita/tslib.sh b/meta/packages/tslib/tslib/akita/tslib.sh
new file mode 100644
index 0000000000..0c8b1a12b9
--- /dev/null
+++ b/meta/packages/tslib/tslib/akita/tslib.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/ts
+ TSLIB_TSEVENTTYPE=CORGI
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-corgi-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=/dev/input/touchscreen0
+ TSLIB_TSEVENTTYPE=INPUT
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE TSLIB_CONFFILE
diff --git a/meta/packages/tslib/tslib/c7x0/tslib.sh b/meta/packages/tslib/tslib/c7x0/tslib.sh
new file mode 100644
index 0000000000..0c8b1a12b9
--- /dev/null
+++ b/meta/packages/tslib/tslib/c7x0/tslib.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/ts
+ TSLIB_TSEVENTTYPE=CORGI
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-corgi-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=/dev/input/touchscreen0
+ TSLIB_TSEVENTTYPE=INPUT
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE TSLIB_CONFFILE
diff --git a/meta/packages/tslib/tslib/collie/ts.conf b/meta/packages/tslib/tslib/collie/ts.conf
new file mode 100644
index 0000000000..2099b9b414
--- /dev/null
+++ b/meta/packages/tslib/tslib/collie/ts.conf
@@ -0,0 +1,5 @@
+module_raw collie
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/collie/tslib.sh b/meta/packages/tslib/tslib/collie/tslib.sh
new file mode 100644
index 0000000000..759d5cf091
--- /dev/null
+++ b/meta/packages/tslib/tslib/collie/tslib.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/ts
+ TSLIB_TSEVENTTYPE=COLLIE
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-collie-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=/dev/input/touchscreen0
+ TSLIB_TSEVENTTYPE=INPUT
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE TSLIB_CONFFILE
diff --git a/meta/packages/tslib/tslib/devfs.patch b/meta/packages/tslib/tslib/devfs.patch
new file mode 100644
index 0000000000..d7ef0a9589
--- /dev/null
+++ b/meta/packages/tslib/tslib/devfs.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- tslib/tests/fbutils.c~devfs.patch
++++ tslib/tests/fbutils.c
+@@ -44,8 +44,8 @@
+ static unsigned colormap [256];
+ int xres, yres;
+
+-static char *defaultfbdevice = "/dev/fb0";
+-static char *defaultconsoledevice = "/dev/tty";
++static char *defaultfbdevice = "/dev/fb/0";
++static char *defaultconsoledevice = "/dev/vc/";
+ static char *fbdevice = NULL;
+ static char *consoledevice = NULL;
+
diff --git a/meta/packages/tslib/tslib/event1.patch b/meta/packages/tslib/tslib/event1.patch
new file mode 100644
index 0000000000..88cc3f3a2a
--- /dev/null
+++ b/meta/packages/tslib/tslib/event1.patch
@@ -0,0 +1,80 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- tslib/tests/ts_calibrate.c~event1
++++ tslib/tests/ts_calibrate.c
+@@ -179,11 +179,7 @@
+ if( (tsdevice = getenv("TSLIB_TSDEVICE")) != NULL ) {
+ ts = ts_open(tsdevice,0);
+ } else {
+-#ifdef USE_INPUT_API
+- ts = ts_open("/dev/input/event0", 0);
+-#else
+- ts = ts_open("/dev/touchscreen/ucb1x00", 0);
+-#endif /* USE_INPUT_API */
++ ts = ts_open("/dev/input/event1", 0);
+ }
+
+ if (!ts) {
+--- tslib/tests/ts_print.c~event1
++++ tslib/tests/ts_print.c
+@@ -28,11 +28,7 @@
+ if( (tsdevice = getenv("TSLIB_TSDEVICE")) != NULL ) {
+ ts = ts_open(tsdevice,0);
+ } else {
+-#ifdef USE_INPUT_API
+- ts = ts_open("/dev/input/event0", 0);
+-#else
+- ts = ts_open("/dev/touchscreen/ucb1x00", 0);
+-#endif /* USE_INPUT_API */
++ ts = ts_open("/dev/input/event1", 0);
+ }
+
+ if (!ts) {
+--- tslib/tests/ts_test.c~event1
++++ tslib/tests/ts_test.c
+@@ -120,11 +120,7 @@
+ signal(SIGTERM, sig);
+
+ if ((tsdevice = getenv("TSLIB_TSDEVICE")) == NULL) {
+-#ifdef USE_INPUT_API
+- tsdevice = strdup ("/dev/input/event0");
+-#else
+- tsdevice = strdup ("/dev/touchscreen/ucb1x00");
+-#endif /* USE_INPUT_API */
++ tsdevice = strdup ("/dev/input/event1");
+ }
+
+ ts = ts_open (tsdevice, 0);
+--- tslib/tests/ts_print_raw.c~event1
++++ tslib/tests/ts_print_raw.c
+@@ -28,11 +28,7 @@
+ if( (tsdevice = getenv("TSLIB_TSDEVICE")) != NULL ) {
+ ts = ts_open(tsdevice,0);
+ } else {
+-#ifdef USE_INPUT_API
+- ts = ts_open("/dev/input/event0", 0);
+-#else
+- ts = ts_open("/dev/touchscreen/ucb1x00", 0);
+-#endif /* USE_INPUT_API */
++ ts = ts_open("/dev/input/event1", 0);
+ }
+
+ if (!ts) {
+--- tslib/tests/ts_harvest.c~event1
++++ tslib/tests/ts_harvest.c
+@@ -75,11 +75,7 @@
+ signal(SIGTERM, sig);
+
+ if ((tsdevice = getenv("TSLIB_TSDEVICE")) == NULL) {
+-#ifdef USE_INPUT_API
+- tsdevice = strdup ("/dev/input/event0");
+-#else
+- tsdevice = strdup ("/dev/touchscreen/ucb1x00");
+-#endif /* USE_INPUT_API */
++ tsdevice = strdup ("/dev/input/event1");
+ }
+
+ ts = ts_open (tsdevice, 0);
diff --git a/meta/packages/tslib/tslib/h1940/tslib.sh b/meta/packages/tslib/tslib/h1940/tslib.sh
new file mode 100644
index 0000000000..d83673e259
--- /dev/null
+++ b/meta/packages/tslib/tslib/h1940/tslib.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=`detect-stylus --device`
+TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+QWS_MOUSE_PROTO=TPanel
+
+export TSLIB_TSDEVICE TSLIB_CONFFILE QWS_MOUSE_PROTO
+
diff --git a/meta/packages/tslib/tslib/h3600/tslib.sh b/meta/packages/tslib/tslib/h3600/tslib.sh
new file mode 100644
index 0000000000..3c27b075f7
--- /dev/null
+++ b/meta/packages/tslib/tslib/h3600/tslib.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/touchscreen/0raw
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-h3600-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=`detect-stylus --device`
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_CONFFILE
+
diff --git a/meta/packages/tslib/tslib/h3900/tslib.sh b/meta/packages/tslib/tslib/h3900/tslib.sh
new file mode 100644
index 0000000000..0de3534a51
--- /dev/null
+++ b/meta/packages/tslib/tslib/h3900/tslib.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+module_id() {
+ awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+}
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/touchscreen/0raw
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-h3600-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=`detect-stylus --device`
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_CONFFILE
+
diff --git a/meta/packages/tslib/tslib/h6300/tslib.sh b/meta/packages/tslib/tslib/h6300/tslib.sh
new file mode 100644
index 0000000000..548bc918ff
--- /dev/null
+++ b/meta/packages/tslib/tslib/h6300/tslib.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=`detect-stylus --device`
+TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+
+export TSLIB_TSDEVICE TSLIB_CONFFILE
+
diff --git a/meta/packages/tslib/tslib/ipaq-pxa270/tslib.sh b/meta/packages/tslib/tslib/ipaq-pxa270/tslib.sh
new file mode 100644
index 0000000000..3a6ba78c50
--- /dev/null
+++ b/meta/packages/tslib/tslib/ipaq-pxa270/tslib.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=/dev/input/touchscreen0
+TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+
+export TSLIB_TSDEVICE TSLIB_CONFFILE
diff --git a/meta/packages/tslib/tslib/jornada56x/ts.conf b/meta/packages/tslib/tslib/jornada56x/ts.conf
new file mode 100644
index 0000000000..20729b6154
--- /dev/null
+++ b/meta/packages/tslib/tslib/jornada56x/ts.conf
@@ -0,0 +1,5 @@
+module_raw h3600
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/jornada56x/tslib.sh b/meta/packages/tslib/tslib/jornada56x/tslib.sh
new file mode 100644
index 0000000000..a93d2d3ef0
--- /dev/null
+++ b/meta/packages/tslib/tslib/jornada56x/tslib.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=/dev/input/tsraw0
+TSLIB_TSEVENTTYPE=H3600
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE
diff --git a/meta/packages/tslib/tslib/jornada6xx/ts.conf b/meta/packages/tslib/tslib/jornada6xx/ts.conf
new file mode 100644
index 0000000000..20729b6154
--- /dev/null
+++ b/meta/packages/tslib/tslib/jornada6xx/ts.conf
@@ -0,0 +1,5 @@
+module_raw h3600
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/jornada6xx/tslib.sh b/meta/packages/tslib/tslib/jornada6xx/tslib.sh
new file mode 100644
index 0000000000..e64f644b74
--- /dev/null
+++ b/meta/packages/tslib/tslib/jornada6xx/tslib.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=/dev/input/ts0
+TSLIB_TSEVENTTYPE=H3600
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE
diff --git a/meta/packages/tslib/tslib/jornada7xx/ts.conf b/meta/packages/tslib/tslib/jornada7xx/ts.conf
new file mode 100644
index 0000000000..20729b6154
--- /dev/null
+++ b/meta/packages/tslib/tslib/jornada7xx/ts.conf
@@ -0,0 +1,5 @@
+module_raw h3600
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/jornada7xx/tslib.sh b/meta/packages/tslib/tslib/jornada7xx/tslib.sh
new file mode 100644
index 0000000000..a93d2d3ef0
--- /dev/null
+++ b/meta/packages/tslib/tslib/jornada7xx/tslib.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=/dev/input/tsraw0
+TSLIB_TSEVENTTYPE=H3600
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE
diff --git a/meta/packages/tslib/tslib/mnci/ts.conf b/meta/packages/tslib/tslib/mnci/ts.conf
new file mode 100644
index 0000000000..adff17717b
--- /dev/null
+++ b/meta/packages/tslib/tslib/mnci/ts.conf
@@ -0,0 +1,5 @@
+module_raw input
+module pthres pmin=600
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/mnci/tslib.sh b/meta/packages/tslib/tslib/mnci/tslib.sh
new file mode 100644
index 0000000000..07928f226d
--- /dev/null
+++ b/meta/packages/tslib/tslib/mnci/tslib.sh
@@ -0,0 +1 @@
+export TSLIB_TSDEVICE=/dev/input/event1
diff --git a/meta/packages/tslib/tslib/multievent.patch b/meta/packages/tslib/tslib/multievent.patch
new file mode 100644
index 0000000000..854e7af5dd
--- /dev/null
+++ b/meta/packages/tslib/tslib/multievent.patch
@@ -0,0 +1,843 @@
+--- tslib/plugins/linear.c~multievent
++++ tslib/plugins/linear.c
+@@ -39,14 +39,12 @@
+ linear_read(struct tslib_module_info *info, struct ts_sample *samp, int nr)
+ {
+ struct tslib_linear *lin = (struct tslib_linear *)info;
+- int ret;
++ int ret, i = 0;
+ int xtemp,ytemp;
+
+ ret = info->next->ops->read(info->next, samp, nr);
+ if (ret >= 0) {
+- int nr;
+-
+- for (nr = 0; nr < ret; nr++, samp++) {
++ for (i = 0; i < ret; i++, samp++) {
+ #ifdef DEBUG
+ fprintf(stderr,"BEFORE CALIB--------------------> %d %d %d\n",samp->x, samp->y, samp->pressure);
+ #endif /*DEBUG*/
+@@ -66,6 +64,7 @@
+ samp->y = tmp;
+ }
+ }
++ ret = i;
+ }
+
+ return ret;
+--- tslib/plugins/dejitter.c~multievent
++++ tslib/plugins/dejitter.c
+@@ -24,7 +24,6 @@
+
+ struct tslib_threshold {
+ struct tslib_module_info module;
+- int pthreshold;
+ int xdelta;
+ int ydelta;
+ int delta2;
+@@ -36,40 +35,28 @@
+ static int threshold_read(struct tslib_module_info *info, struct ts_sample *samp, int nr)
+ {
+ struct tslib_threshold *thr = (struct tslib_threshold *)info;
+- struct ts_sample *s;
+- int ret;
++ struct ts_sample *src = samp, *dest = samp;
++ int ret, i = 0;
+
+ ret = info->next->ops->read(info->next, samp, nr);
+ if (ret >= 0) {
+- int nr = 0;
+-
+- for (s = samp; s < samp + ret; s++) {
++ for (i = 0; i < ret; i++, samp++) {
+ int dr2;
+ #ifdef DEBUG
+- fprintf(stderr,"BEFORE DEJITTER---------------> %d %d %d\n",s->x,s->y,s->pressure);
++ fprintf(stderr,"BEFORE DEJITTER---------------> %d %d %d\n", samp->x, samp->y, samp->pressure);
+ #endif /*DEBUG*/
+- thr->down = (s->pressure >= thr->pthreshold);
+- if (thr->down) {
+- dr2 = (thr->x - s->x)*(thr->x - s->x)
+- + (thr->y - s->y)*(thr->y - s->y);
+- if(dr2 < thr->delta2) {
+- s->x = thr->x;
+- s->y = thr->y;
+- } else {
+- thr->x = s->x;
+- thr->y = s->y;
+- }
+-
++ dr2 = (thr->x - samp->x)*(thr->x - samp->x)
++ + (thr->y - samp->y)*(thr->y - samp->y);
++ if(dr2 < thr->delta2) {
++ samp->x = thr->x;
++ samp->y = thr->y;
+ } else {
+- s->x = thr->x;
+- s->y = thr->y;
++ thr->x = samp->x;
++ thr->y = samp->y;
+ }
+-
+-
+- samp[nr++] = *s;
+ }
+
+- ret = nr;
++ ret = i;
+ }
+ return ret;
+ }
+@@ -106,10 +93,6 @@
+ thr->ydelta = v;
+ break;
+
+- case 3:
+- thr->pthreshold = v;
+- break;
+-
+ default:
+ return -1;
+ }
+@@ -120,7 +103,6 @@
+ {
+ { "xdelta", (void *)1, threshold_limit },
+ { "ydelta", (void *)2, threshold_limit },
+- { "pthreshold", (void *)3, threshold_limit }
+ };
+
+ //#define NR_VARS (sizeof(threshold_vars) / sizeof(threshold_vars[0]))
+@@ -138,7 +120,6 @@
+
+ thr->xdelta = 10;
+ thr->ydelta = 10;
+- thr->pthreshold = 100;
+
+ if (tslib_parse_vars(&thr->module, threshold_vars, NR_VARS, params)) {
+ free(thr);
+--- tslib/plugins/variance.c~multievent
++++ tslib/plugins/variance.c
+@@ -9,25 +9,36 @@
+ * $Id: variance.c,v 1.3 2002/11/08 23:28:55 dlowder Exp $
+ *
+ * Variance filter for touchscreen values
++ *
++ * Policy question (applies to all tslib modules that consume events):
++ * 1) User requests a read of 5 events using nr.
++ * 2) Lower layers return us 4 events.
++ * 3) Perform variance calculation, we now only have _1_ event.
++ * 4) Do we, a) duplicate this data across the user requested 4 events,
++ * b) push up the single event
++ * c) loop on the read from the lower layers to obtain
++ * the user's requested number of events, unless we hit
++ * a pen_up.
+ */
++
+ #include <errno.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <limits.h>
+-
+ #include <stdio.h>
+
+ #include "tslib.h"
+ #include "tslib-filter.h"
+
++#define NR_INIT -1
+ #define NR_LAST 4
+
+ struct tslib_variance {
+ struct tslib_module_info module;
+ int nr;
+- unsigned int pthreshold;
+ unsigned int xlimit;
+ unsigned int ylimit;
++ unsigned int pthreshold;
+ struct ts_sample last[NR_LAST];
+ };
+
+@@ -37,8 +48,7 @@
+ * least variance, and average them.
+ */
+ static int
+-variance_calculate(struct tslib_variance *var, struct ts_sample *samp,
+- struct ts_sample *s)
++variance_calculate(struct tslib_variance *var, struct ts_sample *dest, struct ts_sample *src)
+ {
+ int i, j;
+ int diff_x, min_x, i_x, j_x;
+@@ -100,11 +110,11 @@
+ }
+ }
+
+- samp->x = (var->last[i_x].x + var->last[j_x].x) / 2;
+- samp->y = (var->last[i_y].y + var->last[j_y].y) / 2;
+- samp->pressure = (var->last[i_p].pressure + var->last[j_p].pressure) / 2;
+- samp->tv.tv_sec = s->tv.tv_sec;
+- samp->tv.tv_usec = s->tv.tv_usec;
++ dest->x = (var->last[i_x].x + var->last[j_x].x) / 2;
++ dest->y = (var->last[i_y].y + var->last[j_y].y) / 2;
++ dest->pressure = (var->last[i_p].pressure + var->last[j_p].pressure) / 2;
++ dest->tv.tv_sec = src->tv.tv_sec;
++ dest->tv.tv_usec = src->tv.tv_usec;
+
+ return 1;
+ }
+@@ -112,55 +122,57 @@
+ static int variance_read(struct tslib_module_info *info, struct ts_sample *samp, int nr)
+ {
+ struct tslib_variance *var = (struct tslib_variance *)info;
+- struct ts_sample *s;
+- int ret;
+-
+- ret = info->next->ops->read(info->next, samp, nr);
+- if (ret >= 0) {
+- int nr = 0;
+-
+- for (s = samp; s < samp + ret; s++) {
+- if (s->pressure < var->pthreshold) {
+- /*
+- * Pen was released. Reset our state and
+- * pass up the release information.
+- */
+-// samp[nr].x = 0;
+-// samp[nr].y = 0;
+- samp[nr].pressure = s->pressure;
+- samp[nr].tv.tv_sec = s->tv.tv_sec;
+- samp[nr].tv.tv_usec = s->tv.tv_usec;
+-
+- nr++;
+-
+- var->nr = 0;
+- continue;
+- } else if (var->nr == -1) {
+- /*
+- * Pen was pressed. Inform upper layers
+- * immediately.
+- */
+- samp[nr] = *s;
+- nr++;
+- }
+-
+- if (var->nr >= 0) {
+- var->last[var->nr].x = s->x;
+- var->last[var->nr].y = s->y;
+- var->last[var->nr].pressure = s->pressure;
+- }
+-
+- var->nr++;
++ struct ts_sample *src = samp, *dest = samp;
++ int ret, i = 0;
+
+- if (var->nr == NR_LAST) {
+- if (variance_calculate(var, samp + nr, s))
+- nr++;
+- var->nr = 0;
++ /*
++ * NOTES:
++ *
++ * Loop on read, collecting events until we hit nr, unless
++ * we hit a pen up or encounter a failure.
++ */
++ while ((i < nr) && (ret != -1)) {
++ ret = info->next->ops->read(info->next, dest + i, nr - i);
++ if (ret >= 0) {
++ for (src = dest + i; src < dest + ret; src++) {
++ if (src->pressure < var->pthreshold) {
++ /* pen released, reset var->nr,
++ * do a calc based on what we have so
++ * far, and let this event flow up */
++ if (variance_calculate(var, dest + i, src))
++ i++;
++ var->nr = NR_INIT;
++ ret = -1; /* break outer loop, push up event */
++ break;
++ } else if (var->nr == NR_INIT) {
++ /*
++ * First pen down event. Inform upper layers
++ * immediately for responsiveness.
++ */
++ var->nr = 0;
++ i++;
++ ret = -1; /* break outer loop */
++ break;
++ }
++
++ if (var->nr >= 0) {
++ var->last[var->nr].x = src->x;
++ var->last[var->nr].y = src->y;
++ var->last[var->nr].pressure = src->pressure;
++ }
++
++ var->nr++;
++
++ if (var->nr == NR_LAST) {
++ if (variance_calculate(var, dest + i, src))
++ i++;
++ var->nr = 0;
++ }
+ }
+ }
+-
+- ret = nr;
+ }
++ /* if we've collected at least one event, send it up */
++ if (i != 0) ret = i;
+ return ret;
+ }
+
+@@ -196,10 +208,6 @@
+ var->ylimit = v;
+ break;
+
+- case 3:
+- var->pthreshold = v;
+- break;
+-
+ default:
+ return -1;
+ }
+@@ -210,7 +218,6 @@
+ {
+ { "xlimit", (void *)1, variance_limit },
+ { "ylimit", (void *)2, variance_limit },
+- { "pthreshold", (void *)3, variance_limit }
+ };
+
+ #define NR_VARS (sizeof(variance_vars) / sizeof(variance_vars[0]))
+@@ -218,6 +225,7 @@
+ struct tslib_module_info *mod_init(struct tsdev *dev, const char *params)
+ {
+ struct tslib_variance *var;
++ char *pthresvar;
+
+ var = malloc(sizeof(struct tslib_variance));
+ if (var == NULL)
+@@ -225,10 +233,15 @@
+
+ var->module.ops = &variance_ops;
+
+- var->nr = -1;
++ var->nr = NR_INIT;
+ var->xlimit = 160;
+ var->ylimit = 160;
+ var->pthreshold = 100;
++ pthresvar = getenv("TSLIB_PTHRES");
++ if (pthresvar != NULL) {
++ int p = strtol(pthresvar, (char **)NULL, 10);
++ if (p != -1) var->pthreshold = p;
++ }
+
+ if (tslib_parse_vars(&var->module, variance_vars, NR_VARS, params)) {
+ free(var);
+--- tslib/README~multievent
++++ tslib/README
+@@ -36,6 +36,19 @@
+ usages. They are by no means exhaustive, nor probably even good examples.
+ They are basically the programs I used to test this library.
+
++Module Creation Notes
++=====================
++
++For those creating tslib modules, it is important to note a couple things with
++regard to handling of the ability for a user to request more than one ts event
++at a time. The first thing to note is that the lower layers may send up less
++events than the user requested, but only if that was a result of a pen release.
++Next, your module should send up just as many events as the user requested in
++nr. If your module is one that consumes events, such as variance, then you
++loop on the read from the lower layers, and only send the events up when
++1) you have the number of events requested by the user, or 2) one of the events
++from the lower layers was a pen release.
++
+
+ Module Parameters
+ =================
+--- tslib/src/ts_read_raw.c~multievent
++++ tslib/src/ts_read_raw.c
+@@ -14,10 +14,10 @@
+ *
+ * Read raw pressure, x, y, and timestamp from a touchscreen device.
+ */
++
+ #include "config.h"
+
+ #include <stdio.h>
+-
+ #include <stdlib.h>
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+@@ -25,79 +25,27 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+
+-#ifdef USE_INPUT_API
+-#include <linux/input.h>
+-#else
+-struct ts_event { /* Used in UCB1x00 style touchscreens (the default) */
+- unsigned short pressure;
+- unsigned short x;
+- unsigned short y;
+- unsigned short pad;
+- struct timeval stamp;
+-};
+-struct h3600_ts_event { /* Used in the Compaq IPAQ */
+- unsigned short pressure;
+- unsigned short x;
+- unsigned short y;
+- unsigned short pad;
+-};
+-struct mk712_ts_event { /* Used in the Hitachi Webpad */
+- unsigned int header;
+- unsigned int x;
+- unsigned int y;
+- unsigned int reserved;
+-};
+-struct arctic2_ts_event { /* Used in the IBM Arctic II */
+- signed short pressure;
+- signed int x;
+- signed int y;
+- int millisecs;
+- int flags;
+-};
+-struct collie_ts_event { /* Used in the Sharp Zaurus SL-5000d and SL-5500 */
+- long y;
+- long x;
+- long pressure;
+- long long millisecs;
+-};
+-struct corgi_ts_event { /* Used in the Sharp Zaurus SL-C700 */
+- short pressure;
+- short x;
+- short y;
+- short millisecs;
+-};
+-#endif /* USE_INPUT_API */
+-
+ #include "tslib-private.h"
+
+-int ts_read_raw(struct tsdev *ts, struct ts_sample *samp, int nr)
+-{
+ #ifdef USE_INPUT_API
++#include <linux/input.h>
++
++static inline int get_input_event(struct tsdev *ts, struct ts_sample *samp) {
+ struct input_event ev;
+-#else
+- struct ts_event *evt;
+- struct h3600_ts_event *hevt;
+- struct mk712_ts_event *mevt;
+- struct arctic2_ts_event *aevt;
+- struct collie_ts_event *collie_evt;
+- struct corgi_ts_event *corgi_evt;
+-#endif /* USE_INPUT_API */
+- int ret;
+- int total = 0;
++ struct timeval tv = {0, 0};
++ fd_set fdset;
++ int ret = 0;
+
+- char *tseventtype=NULL;
+- char *defaulttseventtype="UCB1x00";
++ /* event vars */
++ static int curr_x = 0, curr_y = 0;
++ int curr_p = 0, next_x = 0, next_y = 0;
+
+-#ifdef USE_INPUT_API
+- /* warning: maybe those static vars should be part of the tsdev struct? */
+- static int curr_x = 0, curr_y = 0, curr_p = 0;
+- static int got_curr_x = 0, got_curr_y = 0;
+- int got_curr_p = 0;
+- int next_x, next_y;
++ /* state variables */
++ int got_curr_x = 0, got_curr_y = 0, got_curr_p = 0;
+ int got_next_x = 0, got_next_y = 0;
+ int got_tstamp = 0;
+
+- while (total < nr) {
++ while (1) {
+ ret = read(ts->fd, &ev, sizeof(struct input_event));
+ if (ret < sizeof(struct input_event)) break;
+
+@@ -146,177 +94,231 @@
+ samp->tv = ev.time;
+ }
+
+- if ( (!got_curr_x || !got_curr_y) && !got_curr_p &&
+- !got_next_x && !got_next_y ) {
+- /*
+- * The current event is not complete yet.
+- * Give the kernel a chance to feed us more.
+- */
+- struct timeval tv = {0, 0};
+- fd_set fdset;
+- FD_ZERO(&fdset);
+- FD_SET(ts->fd, &fdset);
+- ret = select(ts->fd+1, &fdset, NULL, NULL, &tv);
+- if (ret == 1) continue;
+- if (ret == -1) break;
++ if (got_curr_x && got_curr_y && got_curr_p) {
++ /* we have a complete event */
++ samp->x = curr_x;
++ samp->y = curr_y;
++ samp->pressure = curr_p;
++ ret = 0; /* indicate success */
++ if (got_next_x) curr_x = next_x;
++ if (got_next_y) curr_y = next_y;
++ break;
+ }
+
+- /* We consider having a complete ts event */
+- samp->x = curr_x;
+- samp->y = curr_y;
+- samp->pressure = curr_p;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- samp++;
+- total++;
+-
+- /* get ready for next event */
+- if (got_next_x) curr_x = next_x; else got_curr_x = 0;
+- if (got_next_y) curr_y = next_y; else got_curr_y = 0;
+- got_next_x = got_next_y = got_tstamp = 0;
++ /*
++ * The current event is not complete yet.
++ * Give the kernel a chance to feed us more.
++ */
++ FD_ZERO(&fdset);
++ FD_SET(ts->fd, &fdset);
++ ret = select(ts->fd+1, &fdset, NULL, NULL, &tv);
++ if (ret == 1) continue;
++ if (ret == -1) break;
+ }
+
+- if (ret) ret = -1;
+- if (total) ret = total;
++// fprintf(stdout, "%s: returning %d\n", __FUNCTION__, ret);
++ if (ret != 0) ret = -1;
++ return ret;
++}
++
+ #else
++
++struct ucb1x00_ts_event { /* Used in UCB1x00 style touchscreens (the default) */
++ unsigned short pressure;
++ unsigned short x;
++ unsigned short y;
++ unsigned short pad;
++ struct timeval stamp;
++};
++struct h3600_ts_event { /* Used in the Compaq IPAQ */
++ unsigned short pressure;
++ unsigned short x;
++ unsigned short y;
++ unsigned short pad;
++};
++struct mk712_ts_event { /* Used in the Hitachi Webpad */
++ unsigned int header;
++ unsigned int x;
++ unsigned int y;
++ unsigned int reserved;
++};
++struct arctic2_ts_event { /* Used in the IBM Arctic II */
++ signed short pressure;
++ signed int x;
++ signed int y;
++ int millisecs;
++ int flags;
++};
++struct collie_ts_event { /* Used in the Sharp Zaurus SL-5000d and SL-5500 */
++ long y;
++ long x;
++ long pressure;
++ long long millisecs;
++};
++struct corgi_ts_event { /* Used in the Sharp Zaurus SL-C700 */
++ short pressure;
++ short x;
++ short y;
++ short millisecs;
++};
++
++static inline int get_ucb1x00_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct ucb1x00_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct ucb1x00_ts_event));
++ if (ret > 0) {
++ samp->x = evt.x;
++ samp->y = evt.y;
++ samp->pressure = evt.pressure;
++ samp->tv.tv_usec = evt.stamp.tv_usec;
++ samp->tv.tv_sec = evt.stamp.tv_sec;
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_h3600_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct h3600_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct h3600_ts_event));
++ if (ret > 0) {
++ samp->x = evt.x;
++ samp->y = evt.y;
++ samp->pressure = evt.pressure;
++ gettimeofday(&samp->tv, NULL);
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_mk712_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct mk712_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct mk712_ts_event));
++ if (ret > 0) {
++ samp->x = (short)evt.x;
++ samp->y = (short)evt.y;
++ if(evt.header==0)
++ samp->pressure=1;
++ else
++ samp->pressure=0;
++ gettimeofday(&samp->tv, NULL);
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_arctic2_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct arctic2_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct arctic2_ts_event));
++ if (ret > 0) {
++ samp->x = (short)evt.x;
++ samp->y = (short)evt.y;
++ samp->pressure = evt.pressure;
++ gettimeofday(&samp->tv, NULL);
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_collie_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct collie_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct collie_ts_event));
++ if (ret > 0) {
++ samp->x = evt.x;
++ samp->y = evt.y;
++ samp->pressure = evt.pressure;
++ samp->tv.tv_usec = evt.millisecs % 1000;
++ samp->tv.tv_sec = evt.millisecs / 1000;
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++static inline int get_corgi_event(struct tsdev *ts, struct ts_sample *samp) {
++ struct corgi_ts_event evt;
++ int ret = read(ts->fd, &evt, sizeof(struct corgi_ts_event));
++ if (ret > 0) {
++ samp->x = evt.x;
++ samp->y = evt.y;
++ samp->pressure = evt.pressure;
++ samp->tv.tv_usec = evt.millisecs % 1000;
++ samp->tv.tv_sec = evt.millisecs / 1000;
++ ret = 0; /* success */
++ }
++ return ret;
++}
++
++#endif
++
++int ts_read_raw(struct tsdev *ts, struct ts_sample *samp, int nr)
++{
++ int ret;
++ int total = 0;
++ int pen_down = 1;
++ static short x_save = 0, y_save = 0;
++ static int pthres = -1;
++
++#ifndef USE_INPUT_API
++ char *tseventtype=NULL;
++ char *defaulttseventtype="UCB1x00";
+ tseventtype = getenv("TSLIB_TSEVENTTYPE");
+ if(tseventtype==NULL) tseventtype=defaulttseventtype;
++#endif
+
+- if( strcmp(tseventtype,"H3600") == 0) { /* iPAQ style h3600 touchscreen events */
+- hevt = alloca(sizeof(*hevt) * nr);
+- ret = read(ts->fd, hevt, sizeof(*hevt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*hevt);
+- while(ret >= sizeof(*hevt)) {
+- samp->x = hevt->x;
+- samp->y = hevt->y;
+- samp->pressure = hevt->pressure;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- gettimeofday(&samp->tv,NULL);
+- samp++;
+- hevt++;
+- ret -= sizeof(*hevt);
+- }
+- } else {
+- return -1;
+- }
+- } else if( strcmp(tseventtype,"MK712") == 0) { /* Hitachi Webpad events */
+- mevt = alloca(sizeof(*mevt) * nr);
+- ret = read(ts->fd, mevt, sizeof(*mevt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*mevt);
+- while(ret >= sizeof(*mevt)) {
+- samp->x = (short)mevt->x;
+- samp->y = (short)mevt->y;
+- if(mevt->header==0)
+- samp->pressure=1;
+- else
+- samp->pressure=0;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- gettimeofday(&samp->tv,NULL);
+- samp++;
+- mevt++;
+- ret -= sizeof(*mevt);
+- }
+- } else {
+- return -1;
+- }
+-
+- } else if( strcmp(tseventtype,"ARCTIC2") == 0) { /* IBM Arctic II events */
+- aevt = alloca(sizeof(*aevt) * nr);
+- ret = read(ts->fd, aevt, sizeof(*aevt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*aevt);
+- while(ret >= sizeof(*aevt)) {
+- samp->x = (short)aevt->x;
+- samp->y = (short)aevt->y;
+- samp->pressure = aevt->pressure;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- gettimeofday(&samp->tv,NULL);
+- samp++;
+- aevt++;
+- ret -= sizeof(*aevt);
+- }
++ while ((total < nr) && pen_down) {
++// fprintf(stdout, "total: %d, nr: %d\n", total, nr);
++#ifdef USE_INPUT_API
++ ret = get_input_event(ts, samp);
++#else
++ if (strcmp(tseventtype, "H3600") == 0) {
++ /* iPAQ style h3600 touchscreen events */
++ ret = get_h3600_event(ts, samp);
++ } else if (strcmp(tseventtype, "MK712") == 0) {
++ /* Hitachi Webpad events */
++ ret = get_mk712_event(ts, samp);
++ } else if (strcmp(tseventtype, "ARCTIC2") == 0) {
++ /* IBM Arctic II events */
++ ret = get_arctic2_event(ts, samp);
++ } else if (strcmp(tseventtype, "COLLIE") == 0) {
++ /* Sharp Zaurus SL-5000d/5500 events */
++ ret = get_collie_event(ts, samp);
++ } else if (strcmp(tseventtype,"CORGI") == 0) {
++ /* Sharp Zaurus SL-C700 events */
++ ret = get_corgi_event(ts, samp);
+ } else {
+- return -1;
++ /* Use normal UCB1x00 type events */
++ ret = get_ucb1x00_event(ts, samp);
+ }
++#endif
++ if (ret != 0) break;
+
+- } else if( strcmp(tseventtype,"COLLIE") == 0) { /* Sharp Zaurus SL-5000d/5500 events */
+- collie_evt = alloca(sizeof(*collie_evt) * nr);
+- ret = read(ts->fd, collie_evt, sizeof(*collie_evt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*collie_evt);
+- while(ret >= sizeof(*collie_evt)) {
+- samp->x = collie_evt->x;
+- samp->y = collie_evt->y;
+- samp->pressure = collie_evt->pressure;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- samp->tv.tv_usec = collie_evt->millisecs % 1000;
+- samp->tv.tv_sec = collie_evt->millisecs / 1000;
+- samp++;
+- collie_evt++;
+- ret -= sizeof(*collie_evt);
++ if (pthres == -1) {
++ char *pthresvar = getenv("TSLIB_PTHRES");
++ pthres = 100;
++ if (pthresvar != NULL) {
++ int p = strtol(pthresvar, (char **)NULL, 10);
++ if (p != -1) pthres = p;
+ }
+- } else {
+- return -1;
+ }
+
+- } else if( strcmp(tseventtype,"CORGI") == 0) { /* Sharp Zaurus SL-C700 events */
+- corgi_evt = alloca(sizeof(*corgi_evt) * nr);
+- ret = read(ts->fd, corgi_evt, sizeof(*corgi_evt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*corgi_evt);
+- while(ret >= sizeof(*corgi_evt)) {
+- samp->x = corgi_evt->x;
+- samp->y = corgi_evt->y;
+- samp->pressure = corgi_evt->pressure;
+-#ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+-#endif /*DEBUG*/
+- samp->tv.tv_usec = corgi_evt->millisecs % 1000;
+- samp->tv.tv_sec = corgi_evt->millisecs / 1000;
+- samp++;
+- corgi_evt++;
+- ret -= sizeof(*corgi_evt);
+- }
++ if (samp->pressure < pthres) {
++ /* pen released, send events up */
++ pen_down = 0;
++ /* set x and y to previous values */
++ samp->x = x_save;
++ samp->y = y_save;
+ } else {
+- return -1;
++ pen_down = 1;
++ x_save = samp->x;
++ y_save = samp->y;
+ }
+-
+- } else { /* Use normal UCB1x00 type events */
+- evt = alloca(sizeof(*evt) * nr);
+- ret = read(ts->fd, evt, sizeof(*evt) * nr);
+- if(ret > 0) {
+- int nr = ret / sizeof(*evt);
+- while(ret >= sizeof(*evt)) {
+- samp->x = evt->x;
+- samp->y = evt->y;
+- samp->pressure = evt->pressure;
+ #ifdef DEBUG
+- fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
++ fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x, samp->y, samp->pressure);
+ #endif /*DEBUG*/
+- samp->tv.tv_usec = evt->stamp.tv_usec;
+- samp->tv.tv_sec = evt->stamp.tv_sec;
+- samp++;
+- evt++;
+- ret -= sizeof(*evt);
+- }
+- } else {
+- return -1;
+- }
++ samp++;
++ total++;
+ }
+- ret = nr;
+-#endif /* USE_INPUT_API */
+
++ if (ret != 0) ret = -1;
++ if (total) ret = total;
+ return ret;
+ }
+
diff --git a/meta/packages/tslib/tslib/nokia770/ts.conf b/meta/packages/tslib/tslib/nokia770/ts.conf
new file mode 100644
index 0000000000..1b0da937e8
--- /dev/null
+++ b/meta/packages/tslib/tslib/nokia770/ts.conf
@@ -0,0 +1,25 @@
+# Uncomment if you wish to use the linux input layer event interface
+module_raw input
+
+# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
+# module_raw collie
+
+# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
+# module_raw corgi
+
+# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
+# module_raw ucb1x00
+
+# Uncomment if you're using an HP iPaq h3600 or similar
+# module_raw h3600
+
+# Uncomment if you're using a Hitachi Webpad
+# module_raw mk712
+
+# Uncomment if you're using an IBM Arctic II
+# module_raw arctic2
+
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/omap1610h2/ts.conf b/meta/packages/tslib/tslib/omap1610h2/ts.conf
new file mode 100644
index 0000000000..09309719f2
--- /dev/null
+++ b/meta/packages/tslib/tslib/omap1610h2/ts.conf
@@ -0,0 +1,5 @@
+module_raw input
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/omap1610h2/tslib.sh b/meta/packages/tslib/tslib/omap1610h2/tslib.sh
new file mode 100644
index 0000000000..040f4de3d5
--- /dev/null
+++ b/meta/packages/tslib/tslib/omap1610h2/tslib.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+TSLIB_TSDEVICE=/dev/input/event1
+
+export TSLIB_TSDEVICE
diff --git a/meta/packages/tslib/tslib/omap5912osk/ts.conf b/meta/packages/tslib/tslib/omap5912osk/ts.conf
new file mode 100644
index 0000000000..dc377cf86e
--- /dev/null
+++ b/meta/packages/tslib/tslib/omap5912osk/ts.conf
@@ -0,0 +1,6 @@
+module_raw input
+
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/omap5912osk/tslib.sh b/meta/packages/tslib/tslib/omap5912osk/tslib.sh
new file mode 100644
index 0000000000..6bb56651f8
--- /dev/null
+++ b/meta/packages/tslib/tslib/omap5912osk/tslib.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+export TSLIB_TSDEVICE=/dev/input/event1
+export QWS_MOUSE_PROTO=TPanel
diff --git a/meta/packages/tslib/tslib/poodle/tslib.sh b/meta/packages/tslib/tslib/poodle/tslib.sh
new file mode 100644
index 0000000000..759d5cf091
--- /dev/null
+++ b/meta/packages/tslib/tslib/poodle/tslib.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/ts
+ TSLIB_TSEVENTTYPE=COLLIE
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-collie-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=/dev/input/touchscreen0
+ TSLIB_TSEVENTTYPE=INPUT
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE TSLIB_CONFFILE
diff --git a/meta/packages/tslib/tslib/simpad/tslib.sh b/meta/packages/tslib/tslib/simpad/tslib.sh
new file mode 100644
index 0000000000..39b1c4ba58
--- /dev/null
+++ b/meta/packages/tslib/tslib/simpad/tslib.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/touchscreen/ucb1x00
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-simpad-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=/dev/input/touchscreen0
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_CONFFILE
+
diff --git a/meta/packages/tslib/tslib/spitz/tslib.sh b/meta/packages/tslib/tslib/spitz/tslib.sh
new file mode 100644
index 0000000000..0c8b1a12b9
--- /dev/null
+++ b/meta/packages/tslib/tslib/spitz/tslib.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/ts
+ TSLIB_TSEVENTTYPE=CORGI
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-corgi-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=/dev/input/touchscreen0
+ TSLIB_TSEVENTTYPE=INPUT
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE TSLIB_CONFFILE
diff --git a/meta/packages/tslib/tslib/tosa/tslib.sh b/meta/packages/tslib/tslib/tosa/tslib.sh
new file mode 100644
index 0000000000..0c8b1a12b9
--- /dev/null
+++ b/meta/packages/tslib/tslib/tosa/tslib.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+case `uname -r` in
+2.4*)
+ TSLIB_TSDEVICE=/dev/ts
+ TSLIB_TSEVENTTYPE=CORGI
+ TSLIB_CONFFILE=/usr/share/tslib/ts.conf-corgi-2.4
+ ;;
+*)
+ TSLIB_TSDEVICE=/dev/input/touchscreen0
+ TSLIB_TSEVENTTYPE=INPUT
+ TSLIB_CONFFILE=/usr/share/tslib/ts-2.6.conf
+ ;;
+esac
+
+export TSLIB_TSDEVICE TSLIB_TSEVENTTYPE TSLIB_CONFFILE
diff --git a/meta/packages/tslib/tslib/ts-2.6.conf b/meta/packages/tslib/tslib/ts-2.6.conf
new file mode 100644
index 0000000000..09309719f2
--- /dev/null
+++ b/meta/packages/tslib/tslib/ts-2.6.conf
@@ -0,0 +1,5 @@
+module_raw input
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/ts.conf b/meta/packages/tslib/tslib/ts.conf
new file mode 100644
index 0000000000..dc5c4ded09
--- /dev/null
+++ b/meta/packages/tslib/tslib/ts.conf
@@ -0,0 +1,25 @@
+# Uncomment if you wish to use the linux input layer event interface
+# module_raw input
+
+# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
+# module_raw collie
+
+# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
+# module_raw corgi
+
+# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
+# module_raw ucb1x00
+
+# Uncomment if you're using an HP iPaq h3600 or similar
+# module_raw h3600
+
+# Uncomment if you're using a Hitachi Webpad
+# module_raw mk712
+
+# Uncomment if you're using an IBM Arctic II
+# module_raw arctic2
+
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/ts.conf-collie-2.4 b/meta/packages/tslib/tslib/ts.conf-collie-2.4
new file mode 100644
index 0000000000..2099b9b414
--- /dev/null
+++ b/meta/packages/tslib/tslib/ts.conf-collie-2.4
@@ -0,0 +1,5 @@
+module_raw collie
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/ts.conf-corgi-2.4 b/meta/packages/tslib/tslib/ts.conf-corgi-2.4
new file mode 100644
index 0000000000..07fbbea2a8
--- /dev/null
+++ b/meta/packages/tslib/tslib/ts.conf-corgi-2.4
@@ -0,0 +1,5 @@
+module_raw corgi
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/ts.conf-h3600-2.4 b/meta/packages/tslib/tslib/ts.conf-h3600-2.4
new file mode 100644
index 0000000000..20729b6154
--- /dev/null
+++ b/meta/packages/tslib/tslib/ts.conf-h3600-2.4
@@ -0,0 +1,5 @@
+module_raw h3600
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta/packages/tslib/tslib/ts.conf-simpad-2.4 b/meta/packages/tslib/tslib/ts.conf-simpad-2.4
new file mode 100644
index 0000000000..035e794cb4
--- /dev/null
+++ b/meta/packages/tslib/tslib/ts.conf-simpad-2.4
@@ -0,0 +1,5 @@
+module_raw ucb1x00
+module pthres pmin=1
+module variance delta=10
+module dejitter delta=150
+module linear
diff --git a/meta/packages/tslib/tslib/tslib.sh b/meta/packages/tslib/tslib/tslib.sh
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/meta/packages/tslib/tslib/tslib.sh
diff --git a/meta/packages/tslib/tslib/usec_fix.patch b/meta/packages/tslib/tslib/usec_fix.patch
new file mode 100644
index 0000000000..a791b39a3c
--- /dev/null
+++ b/meta/packages/tslib/tslib/usec_fix.patch
@@ -0,0 +1,26 @@
+Index: work/tslib-0.0cvs20051201-r32/tslib/plugins/collie-raw.c
+===================================================================
+--- tslib.orig/plugins/collie-raw.c 2005-12-04 10:09:33.000000000 +0100
++++ tslib/plugins/collie-raw.c 2005-12-04 10:16:05.000000000 +0100
+@@ -29,7 +29,7 @@
+ #ifdef DEBUG
+ fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+ #endif /*DEBUG*/
+- samp->tv.tv_usec = collie_evt->millisecs % 1000;
++ samp->tv.tv_usec = (collie_evt->millisecs % 1000) * 1000;
+ samp->tv.tv_sec = collie_evt->millisecs / 1000;
+ samp++;
+ collie_evt++;
+Index: work/tslib-0.0cvs20051201-r32/tslib/plugins/corgi-raw.c
+===================================================================
+--- tslib.orig/plugins/corgi-raw.c 2005-12-04 10:10:19.000000000 +0100
++++ tslib/plugins/corgi-raw.c 2005-12-04 10:16:15.000000000 +0100
+@@ -29,7 +29,7 @@
+ #ifdef DEBUG
+ fprintf(stderr,"RAW---------------------------> %d %d %d\n",samp->x,samp->y,samp->pressure);
+ #endif /*DEBUG*/
+- samp->tv.tv_usec = corgi_evt->millisecs % 1000;
++ samp->tv.tv_usec = (corgi_evt->millisecs % 1000) * 1000;
+ samp->tv.tv_sec = corgi_evt->millisecs / 1000;
+ samp++;
+ corgi_evt++;
diff --git a/meta/packages/tslib/tslib_cvs.bb b/meta/packages/tslib/tslib_cvs.bb
new file mode 100644
index 0000000000..3fd8813537
--- /dev/null
+++ b/meta/packages/tslib/tslib_cvs.bb
@@ -0,0 +1,81 @@
+SECTION = "base"
+DESCRIPTION = "tslib is a touchscreen access library."
+PV = "0.0+cvs${SRCDATE}"
+PR = "r35"
+
+SRC_URI_OVERRIDES_PACKAGE_ARCH = "0"
+PACKAGE_ARCH_tslib-conf = "${MACHINE_ARCH}"
+PACKAGE_ARCH_mnci = "${MACHINE_ARCH}"
+
+SRC_URI = "cvs://cvs:@pubcvs.arm.linux.org.uk/mnt/src/cvsroot;module=tslib \
+ file://usec_fix.patch;patch=1 \
+ file://ts.conf file://ts-2.6.conf \
+ file://ts.conf-h3600-2.4 file://ts.conf-simpad-2.4 \
+ file://ts.conf-corgi-2.4 file://ts.conf-collie-2.4 \
+ file://tslib.sh"
+SRC_URI_append_mnci += " file://devfs.patch;patch=1"
+SRC_URI_append_mnci += " file://event1.patch;patch=1"
+S = "${WORKDIR}/tslib"
+LICENSE = "LGPL"
+CONFFILES_${PN} = "${sysconfdir}/ts.conf"
+
+inherit autotools pkgconfig
+
+PACKAGES = "tslib-conf libts libts-dev tslib-tests tslib-calibrate"
+EXTRA_OECONF = "--enable-shared"
+EXTRA_OECONF_mnci = "--enable-shared --disable-h3600 --enable-input --disable-corgi --disable-collie --disable-mk712 --disable-arctic2 --disable-ucb1x00 "
+EXTRA_OECONF_beagle = "--enable-shared --enable-h3600 --disable-input --disable-corgi --disable-collie --disable-mk712 --disable-arctic2 --disable-ucb1x00 "
+
+do_stage () {
+autotools_stage_all
+}
+
+do_install_prepend () {
+ install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/profile.d/
+ install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
+ case ${MACHINE} in
+ h3600 | h3900 | h1940 | h6300 | h2200 | ipaq-pxa270 | blueangel)
+ install -d ${D}${datadir}/tslib
+ for f in ts-2.6.conf ts.conf-h3600-2.4; do
+ install -m 0644 ${WORKDIR}/$f ${D}${datadir}/tslib/
+ done
+ rm -f ${D}${sysconfdir}/ts.conf
+ ;;
+ c7x0 | spitz | akita | tosa )
+ install -d ${D}${datadir}/tslib
+ for f in ts-2.6.conf ts.conf-corgi-2.4; do
+ install -m 0644 ${WORKDIR}/$f ${D}${datadir}/tslib/
+ done
+ rm -f ${D}${sysconfdir}/ts.conf
+ ;;
+ collie | poodle )
+ install -d ${D}${datadir}/tslib
+ for f in ts-2.6.conf ts.conf-collie-2.4; do
+ install -m 0644 ${WORKDIR}/$f ${D}${datadir}/tslib/
+ done
+ rm -f ${D}${sysconfdir}/ts.conf
+ ;;
+
+ simpad )
+ install -d ${D}${datadir}/tslib
+ for f in ts-2.6.conf ts.conf-simpad-2.4; do
+ install -m 0644 ${WORKDIR}/$f ${D}${datadir}/tslib/
+ done
+ rm -f ${D}${sysconfdir}/ts.conf
+ ;;
+ *)
+ ;;
+ esac
+}
+
+RDEPENDS_libts = "tslib-conf"
+
+FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
+FILES_libts = "${libdir}/*.so.* ${libdir}/ts/*.so*"
+FILES_libts-dev = "${FILES_tslib-dev}"
+FILES_tslib-calibrate += "${bindir}/ts_calibrate"
+FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_test"
diff --git a/meta/packages/udev/files/akita/mount.blacklist b/meta/packages/udev/files/akita/mount.blacklist
new file mode 100644
index 0000000000..7e351bc988
--- /dev/null
+++ b/meta/packages/udev/files/akita/mount.blacklist
@@ -0,0 +1,6 @@
+# This is a grep pattern matched against the device name
+# Any matched pattern will _not_ be mounted / removed by udevd
+
+/dev/mtdblock
+/dev/loop
+/dev/ram \ No newline at end of file
diff --git a/meta/packages/udev/files/c7x0/mount.blacklist b/meta/packages/udev/files/c7x0/mount.blacklist
new file mode 100644
index 0000000000..7e351bc988
--- /dev/null
+++ b/meta/packages/udev/files/c7x0/mount.blacklist
@@ -0,0 +1,6 @@
+# This is a grep pattern matched against the device name
+# Any matched pattern will _not_ be mounted / removed by udevd
+
+/dev/mtdblock
+/dev/loop
+/dev/ram \ No newline at end of file
diff --git a/meta/packages/udev/files/devfs-udev.rules b/meta/packages/udev/files/devfs-udev.rules
new file mode 100644
index 0000000000..0ba1ad4e7f
--- /dev/null
+++ b/meta/packages/udev/files/devfs-udev.rules
@@ -0,0 +1,108 @@
+# The use of these rules is not recommended or supported.
+# In a world where devices can come and go at any time, the devfs scheme
+# of simple device enumeration does not help _anything_. Just forget about
+# it. Use custom rules to name your device or look at the persistent device
+# naming scheme, which is implemented for disks and add your subsystem.
+
+# ide block devices
+BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}"
+
+# md block devices
+KERNEL="md[0-9]*", NAME="md/%n"
+
+# floppy devices
+KERNEL="fd[0-9]*", NAME="floppy/%n"
+
+# tty devices
+KERNEL="tty[0-9]*", NAME="vc/%n", SYMLINK="%k"
+KERNEL="ttyS[0-9]*", NAME="tts/%n", SYMLINK="%k"
+KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n"
+
+# vc devices
+KERNEL="vcs", NAME="vcc/0"
+KERNEL="vcs[0-9]*", NAME="vcc/%n"
+KERNEL="vcsa", NAME="vcc/a0"
+KERNEL="vcsa[0-9]*", NAME="vcc/a%n"
+
+# v4l devices
+KERNEL="video[0-9]*", NAME="v4l/video%n"
+KERNEL="radio[0-9]*", NAME="v4l/radio%n"
+KERNEL="vbi[0-9]*", NAME="v4l/vbi%n"
+KERNEL="vtx[0-9]*", NAME="v4l/vtx%n"
+
+# dm devices (ignore them)
+KERNEL="dm-[0-9]*", NAME=""
+
+# i2c devices
+KERNEL="i2c-[0-9]*", NAME="i2c/%n", SYMLINK="%k"
+
+# loop devices
+KERNEL="loop[0-9]*", NAME="loop/%n", SYMLINK="%k"
+
+# ramdisks
+KERNEL="ram[0-9]*", NAME="rd/%n", SYMLINK="%k"
+
+# framebuffer devices
+KERNEL="fb[0-9]*", NAME="fb/%n", SYMLINK="%k"
+
+# misc
+KERNEL="rtc", NAME="misc/%k", SYMLINK="%k"
+KERNEL="psaux", NAME="misc/%k", SYMLINK="%k"
+KERNEL="agpgart", NAME="misc/%k", SYMLINK="%k"
+KERNEL="rtc", NAME="misc/%k", SYMLINK="%k"
+KERNEL="psaux", NAME="misc/%k", SYMLINK="%k"
+KERNEL="uinput", NAME="misc/%k", SYMLINK="%k"
+
+# alsa devices
+KERNEL="controlC[0-9]*", NAME="snd/%k"
+KERNEL="hw[CD0-9]*", NAME="snd/%k"
+KERNEL="pcm[CD0-9cp]*", NAME="snd/%k"
+KERNEL="midi[CD0-9]*", NAME="snd/%k"
+KERNEL="timer", NAME="snd/%k"
+KERNEL="seq", NAME="snd/%k"
+
+# oss devices
+KERNEL="audio*", NAME="sound/%k", SYMLINK="%k"
+KERNEL="dmmidi", NAME="sound/%k", SYMLINK="%k"
+KERNEL="dsp*", NAME="sound/%k", SYMLINK="%k"
+KERNEL="midi*", NAME="sound/%k", SYMLINK="%k"
+KERNEL="mixer*", NAME="sound/%k", SYMLINK="%k"
+KERNEL="sequencer*", NAME="sound/%k", SYMLINK="%k"
+
+# input devices
+KERNEL="mice", NAME="input/%k"
+KERNEL="mouse*", NAME="input/%k"
+KERNEL="event*", NAME="input/%k"
+KERNEL="js*", NAME="input/%k"
+KERNEL="ts*", NAME="input/%k"
+
+# USB devices
+KERNEL="hiddev*", NAME="usb/%k"
+KERNEL="auer*", NAME="usb/%k"
+KERNEL="legousbtower*", NAME="usb/%k"
+KERNEL="dabusb*", NAME="usb/%k"
+BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k"
+
+# netlink devices
+KERNEL="route", NAME="netlink/%k"
+KERNEL="skip", NAME="netlink/%k"
+KERNEL="usersock", NAME="netlink/%k"
+KERNEL="fwmonitor", NAME="netlink/%k"
+KERNEL="tcpdiag", NAME="netlink/%k"
+KERNEL="nflog", NAME="netlink/%k"
+KERNEL="xfrm", NAME="netlink/%k"
+KERNEL="arpd", NAME="netlink/%k"
+KERNEL="route6", NAME="netlink/%k"
+KERNEL="ip6_fw", NAME="netlink/%k"
+KERNEL="dnrtmsg", NAME="netlink/%k"
+KERNEL="tap*", NAME="netlink/%k"
+
+# CAPI devices
+KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20"
+KERNEL="capi*", NAME="capi/%n"
+
+# Network devices
+KERNEL="tun", NAME="net/%k"
+
+# raw devices
+KERNEL="raw[0-9]*", NAME="raw/%k"
diff --git a/meta/packages/udev/files/fix-alignment.patch b/meta/packages/udev/files/fix-alignment.patch
new file mode 100644
index 0000000000..8c7b8b5ac5
--- /dev/null
+++ b/meta/packages/udev/files/fix-alignment.patch
@@ -0,0 +1,24 @@
+diff --git a/udev_rules_parse.c b/udev_rules_parse.c
+--- a/udev_rules_parse.c
++++ b/udev_rules_parse.c
+@@ -241,6 +241,7 @@ static int add_to_rules(struct udev_rule
+ int valid;
+ char *linepos;
+ char *attr;
++ size_t padding;
+ int retval;
+
+ /* get all the keys */
+@@ -506,6 +507,11 @@ static int add_to_rules(struct udev_rule
+
+ /* grow buffer and add rule */
+ rule_size = sizeof(struct udev_rule) + rule->bufsize;
++ padding = (sizeof(size_t) - rule_size % sizeof(size_t)) % sizeof(size_t);
++ dbg("add %zi padding bytes", padding);
++ rule_size += padding;
++ rule->bufsize += padding;
++
+ rules->buf = realloc(rules->buf, rules->bufsize + rule_size);
+ if (!rules->buf) {
+ err("realloc failed");
+
diff --git a/meta/packages/udev/files/init b/meta/packages/udev/files/init
new file mode 100755
index 0000000000..1022b40c89
--- /dev/null
+++ b/meta/packages/udev/files/init
@@ -0,0 +1,208 @@
+#!/bin/sh -e
+
+UDEVSTART=/sbin/udevstart
+
+# defaults
+tmpfs_size="10M"
+udev_root="/dev"
+
+[ -x $UDEVSTART ] || exit 0
+
+. /etc/udev/udev.conf
+
+##############################################################################
+
+# we need to unmount /dev/pts/ and remount it later over the tmpfs
+unmount_devpts() {
+ if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+ fi
+
+ if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+ fi
+}
+
+# mount a tmpfs over /dev, if somebody did not already do it
+mount_tmpfs() {
+ if grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then
+ return 0
+ fi
+
+ # /dev/.static/dev/ is used by MAKEDEV to access the real /dev/ directory.
+ # /etc/udev/ is recycled as a temporary mount point because it's the only
+ # directory which is guaranteed to be available.
+ mount -n -o bind /dev /etc/udev
+
+ if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs tmpfs /dev; then
+ umount /etc/udev
+ echo "udev requires tmpfs support, not started."
+ exit 1
+ fi
+
+ # using ln to test if /dev works, because touch is in /usr/bin/
+ if ln -s test /dev/test-file; then
+ rm /dev/test-file
+ else
+ echo "udev requires tmpfs support, not started."
+ umount /etc/udev
+ umount /dev
+ exit 1
+ fi
+
+ mkdir -p /dev/.static/dev
+ chmod 700 /dev/.static/
+ # The mount options in busybox are non-standard...
+ if test -x /bin/mount.util-linux
+ then
+ /bin/mount.util-linux --move /etc/udev /dev/.static/dev
+ elif test -x /bin/busybox
+ then
+ busybox mount -n -o move /etc/udev /dev/.static/dev
+ else
+ echo "udev requires an identifiable mount command, not started."
+ umount /etc/udev
+ umount /dev
+ exit 1
+ fi
+}
+
+# I hate this hack. -- Md
+make_extra_nodes() {
+ [ -e /etc/udev/links.conf ] || return 0
+ grep '^[^#]' /etc/udev/links.conf | \
+ while read type name arg1; do
+ [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
+ case "$type" in
+ L) ln -s $arg1 /dev/$name ;;
+ D) mkdir -p /dev/$name ;;
+ M) mknod -m 600 /dev/$name $arg1 ;;
+ *) echo "links.conf: unparseable line ($type $name $arg1)" ;;
+ esac
+ done
+}
+
+# this function is duplicated in preinst, postinst and d-i
+supported_kernel() {
+ case "$(uname -r)" in
+ 2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
+ 2.6.1[01]|2.6.1[01][!0-9]*) return 1 ;;
+ esac
+ return 0
+}
+
+# shell version of /usr/bin/tty
+my_tty() {
+ [ -x /bin/readlink ] || return 0
+ [ -e /proc/self/fd/0 ] || return 0
+ readlink --silent /proc/self/fd/0 || true
+}
+
+warn_if_interactive() {
+ if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then
+ return 0
+ fi
+
+ TTY=$(my_tty)
+ if [ -z "$TTY" -o "$TTY" = "/dev/console" ]; then
+ return 0
+ fi
+
+ printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n"
+ printf "has been run from an interactive shell.\n"
+ printf "It will probably not do what you expect, so this script will wait\n"
+ printf "60 seconds before continuing. Press ^C to stop it.\n"
+ printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n"
+ sleep 60
+}
+
+##############################################################################
+
+if ! supported_kernel; then
+ echo "udev requires a kernel >= 2.6.12, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/filesystems ]; then
+ echo "udev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "udev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "udev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "udev requires hotplug support, not started."
+ exit 1
+fi
+
+##############################################################################
+
+# When modifying this script, do not forget that between the time that
+# the new /dev has been mounted and udevstart has been run there will be
+# no /dev/null. This also means that you cannot use the "&" shell command.
+
+case "$1" in
+ start)
+ if [ -e "$udev_root/.udevdb" ]; then
+ if mountpoint -q /dev/; then
+ TMPFS_MOUNTED=1
+ else
+ echo ".udevdb already exists on the old $udev_root!"
+ fi
+ fi
+ warn_if_interactive
+
+ #echo /sbin/udevsend > /proc/sys/kernel/hotplug
+ echo "" > /proc/sys/kernel/hotplug
+ udevsend
+ if [ "$UDEV_DISABLED" = "yes" ]; then
+ echo "udev disabled on the kernel command line, not started."
+ exit 0
+ fi
+
+ if [ ! "$TMPFS_MOUNTED" ]; then
+ unmount_devpts
+ mount_tmpfs
+ [ -d /proc/1 ] || mount -n /proc
+ # if this directory is not present /dev will not be updated by udev
+ mkdir /dev/.udevdb/
+ echo "Creating initial device nodes..."
+ udevstart
+ fi
+ make_extra_nodes
+ ;;
+ stop)
+ warn_if_interactive
+ start-stop-daemon --stop --exec /sbin/udevd --quiet
+ unmount_devpts
+ if [ -d /dev/.static/dev/ ]; then
+ umount -l /dev/.static/dev/ || true
+ fi
+ echo "Unmounting /dev..."
+ # unmounting with -l should never fail
+ if ! umount -l /dev; then
+ exit 1
+ fi
+ ;;
+ restart|force-reload)
+ start-stop-daemon --stop --exec /sbin/udevd --quiet
+ log_begin_msg "Recreating device nodes..."
+ udevstart
+ make_extra_nodes
+ log_end_msg 0
+ ;;
+ *)
+ echo "Usage: /etc/init.d/udev {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/udev/files/links.conf b/meta/packages/udev/files/links.conf
new file mode 100644
index 0000000000..8fff922db6
--- /dev/null
+++ b/meta/packages/udev/files/links.conf
@@ -0,0 +1,21 @@
+# This file does not exist. Please do not ask the debian maintainer about it.
+# You may use it to do strange and wonderful things, at your risk.
+
+L fd /proc/self/fd
+L stdin /proc/self/fd/0
+L stdout /proc/self/fd/1
+L stderr /proc/self/fd/2
+L core /proc/kcore
+L sndstat /proc/asound/oss/sndstat
+L MAKEDEV /sbin/MAKEDEV
+
+D pts
+D shm
+
+# Hic sunt leones.
+M ppp c 108 0
+D loop
+M loop/0 b 7 0
+D net
+M net/tun c 10 200
+
diff --git a/meta/packages/udev/files/local.rules b/meta/packages/udev/files/local.rules
new file mode 100644
index 0000000000..5f2efbeb0c
--- /dev/null
+++ b/meta/packages/udev/files/local.rules
@@ -0,0 +1,22 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# Media automounting
+SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
+SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
+
+# Handle network interface setup
+SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
+SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
diff --git a/meta/packages/udev/files/mount.blacklist b/meta/packages/udev/files/mount.blacklist
new file mode 100644
index 0000000000..1e7340aa53
--- /dev/null
+++ b/meta/packages/udev/files/mount.blacklist
@@ -0,0 +1,2 @@
+/dev/loop
+/dev/ram \ No newline at end of file
diff --git a/meta/packages/udev/files/mount.sh b/meta/packages/udev/files/mount.sh
new file mode 100644
index 0000000000..48c7844690
--- /dev/null
+++ b/meta/packages/udev/files/mount.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# Called from udev
+# Attemp to mount any added block devices
+# and remove any removed devices
+#
+
+MOUNT="/bin/mount"
+PMOUNT="/usr/bin/pmount"
+UMOUNT="/bin/umount"
+name="`basename "$DEVNAME"`"
+
+for line in `cat /etc/udev/mount.blacklist | grep -v ^#`
+do
+ if ( echo "$DEVNAME" | grep -q "$line" )
+ then
+ logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring"
+ exit 0
+ fi
+done
+
+automount() {
+ ! test -d "/media/$name" && mkdir -p "/media/$name"
+
+ if ! $MOUNT -t auto -o sync $DEVNAME "/media/$name"
+ then
+ #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!"
+ rm_dir "/media/$name"
+ else
+ logger "mount.sh/automount" "Auto-mount of [/media/$name] successful"
+ touch "/tmp/.automount-$name"
+ fi
+}
+
+rm_dir() {
+ # We do not want to rm -r populated directories
+ if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1"
+ then
+ ! test -z "$1" && rm -r "$1"
+ else
+ logger "mount.sh/automount" "Not removing non-empty directory [$1]"
+ fi
+}
+
+if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then
+ if [ -x "$PMOUNT" ]; then
+ $PMOUNT $DEVNAME 2> /dev/null
+ elif [ -x $MOUNT ]; then
+ $MOUNT $DEVNAME 2> /dev/null
+ fi
+
+ # If the device isn't mounted at this point, it isn't configured in fstab
+ cat /proc/mounts | awk '{print $1}' | grep -q "^$DEVNAME$" || automount
+
+fi
+
+
+
+if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then
+ for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " `
+ do
+ $UMOUNT $mnt
+ done
+
+ # Remove empty directories from auto-mounter
+ test -e "/tmp/.automount-$name" && rm_dir "/media/$name"
+fi
diff --git a/meta/packages/udev/files/network.sh b/meta/packages/udev/files/network.sh
new file mode 100644
index 0000000000..5016328df4
--- /dev/null
+++ b/meta/packages/udev/files/network.sh
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+# Do not run when pcmcia-cs is installed
+test -x /sbin/cardctl && exit 0
+
+# We get two "add" events for hostap cards due to wifi0
+echo "$INTERFACE" | grep -q wifi && exit 0
+
+
+# Check if /etc/init.d/network has been run yet to see if we are
+# called by starting /etc/rcS.d/S03udev and not by hotplugging a device
+#
+# At this stage, network interfaces should not be brought up
+# automatically because:
+# a) /etc/init.d/network has not been run yet (security issue)
+# b) /var has not been populated yet so /etc/resolv,conf points to
+# oblivion, making the network unusable
+#
+
+spoofp="`grep ^spoofprotect /etc/network/options`"
+if test -z "$spoofp"
+then
+ # This is the default from /etc/init.d/network
+ spoofp_val=yes
+else
+ spoofp_val=${spoofp#spoofprotect=}
+fi
+
+test "$spoofp_val" = yes && spoofp_val=1 || spoofp_val=0
+
+# I think it is safe to assume that "lo" will always be there ;)
+if test "`cat /proc/sys/net/ipv4/conf/lo/rp_filter`" != "$spoofp_val" -a -n "$spoofp_val"
+then
+ echo "$INTERFACE" >> /dev/udev_network_queue
+ exit 0
+fi
+
+#
+# Code taken from pcmcia-cs:/etc/pcmcia/network
+#
+
+# if this interface has an entry in /etc/network/interfaces, let ifupdown
+# handle it
+if grep -q "iface \+$INTERFACE" /etc/network/interfaces; then
+ case $ACTION in
+ add)
+ ifconfig | grep -q "^$INTERFACE" || ifup $INTERFACE
+ ;;
+ remove)
+ ifdown $INTERFACE
+ ;;
+ esac
+
+ exit 0
+fi
diff --git a/meta/packages/udev/files/noasmlinkage.patch b/meta/packages/udev/files/noasmlinkage.patch
new file mode 100644
index 0000000000..0d8e854c0e
--- /dev/null
+++ b/meta/packages/udev/files/noasmlinkage.patch
@@ -0,0 +1,38 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- udev-062/udev.c~noasmlinkage.patch
++++ udev-062/udev.c
+@@ -54,7 +54,7 @@
+ }
+ #endif
+
+-static void asmlinkage sig_handler(int signum)
++static void sig_handler(int signum)
+ {
+ switch (signum) {
+ case SIGALRM:
+--- udev-062/udevd.c~noasmlinkage.patch
++++ udev-062/udevd.c
+@@ -639,7 +639,7 @@
+ return msg;
+ }
+
+-static void asmlinkage sig_handler(int signum)
++static void sig_handler(int signum)
+ {
+ int rc;
+
+--- udev-062/udevstart.c~noasmlinkage.patch
++++ udev-062/udevstart.c
+@@ -323,7 +323,7 @@
+ exec_list(&device_list);
+ }
+
+-static void asmlinkage sig_handler(int signum)
++static void sig_handler(int signum)
+ {
+ switch (signum) {
+ case SIGALRM:
diff --git a/meta/packages/udev/files/permissions.rules b/meta/packages/udev/files/permissions.rules
new file mode 100644
index 0000000000..86d771276b
--- /dev/null
+++ b/meta/packages/udev/files/permissions.rules
@@ -0,0 +1,81 @@
+# default permissions for block devices
+SUBSYSTEM=="block", GROUP="disk"
+SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy"
+
+# IDE devices
+BUS=="ide", KERNEL=="hd[a-z]", SYSFS{removable}="1", \
+ PROGRAM="/bin/cat /proc/ide/%k/media", RESULT=="cdrom*", GROUP="cdrom"
+BUS=="ide", KERNEL=="ht[0-9]*", GROUP="tape"
+BUS=="ide", KERNEL=="nht[0-9]*", GROUP="tape"
+
+# SCSI devices
+BUS=="scsi", SYSFS{type}=="1", GROUP="tape"
+BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom"
+BUS=="scsi", SYSFS{type}=="6", GROUP="scanner"
+
+# USB devices
+BUS=="usb", KERNEL=="legousbtower*", MODE="0666"
+BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp"
+
+# serial devices
+SUBSYSTEM=="tty", GROUP="dialout"
+SUBSYSTEM=="capi", GROUP="dialout"
+SUBSYSTEM=="slamr", GROUP="dialout"
+
+# vc devices (all members of the tty subsystem)
+KERNEL=="ptmx", MODE="0666", GROUP="root"
+KERNEL=="console", MODE="0600", GROUP="root"
+KERNEL=="tty", MODE="0666", GROUP="root"
+KERNEL=="tty[0-9]*", GROUP="root"
+KERNEL=="pty*", MODE="0666", GROUP="tty"
+
+# video devices
+SUBSYSTEM=="video4linux", GROUP="video"
+SUBSYSTEM=="drm", GROUP="video"
+SUBSYSTEM=="dvb", GROUP="video"
+SUBSYSTEM=="em8300", GROUP="video"
+SUBSYSTEM=="graphics", GROUP="video"
+SUBSYSTEM=="nvidia", GROUP="video"
+
+# misc devices
+KERNEL=="random", MODE="0666"
+KERNEL=="urandom", MODE="0444"
+KERNEL=="mem", MODE="0640", GROUP="kmem"
+KERNEL=="kmem", MODE="0640", GROUP="kmem"
+KERNEL=="port", MODE="0640", GROUP="kmem"
+KERNEL=="full", MODE="0666"
+KERNEL=="null", MODE="0666"
+KERNEL=="zero", MODE="0666"
+KERNEL=="inotify", MODE="0666"
+KERNEL=="sgi_fetchop", MODE="0666"
+KERNEL=="sonypi", MODE="0666"
+KERNEL=="agpgart", GROUP="video"
+KERNEL=="nvram", GROUP="nvram"
+KERNEL=="rtc", MODE="0660", GROUP="audio"
+
+KERNEL=="cdemu[0-9]*", GROUP="cdrom"
+KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
+KERNEL=="pktcdvd", MODE="0644"
+
+# printers and parallel devices
+SUBSYSTEM=="printer", GROUP="lp"
+SUBSYSTEM=="ppdev", GROUP="lp"
+KERNEL=="pt[0-9]*", GROUP="tape"
+KERNEL=="pht[0-9]*", GROUP="tape"
+
+# sound devices
+SUBSYSTEM=="sound", GROUP="audio"
+
+# ieee1394 devices
+KERNEL=="raw1394", GROUP="disk"
+KERNEL=="dv1394*", GROUP="video"
+KERNEL=="video1394*", GROUP="video"
+
+# input devices
+KERNEL=="event[0-9]*", MODE="0664"
+KERNEL=="js[0-9]*", MODE="0664"
+
+# AOE character devices
+SUBSYSTEM=="aoe", MODE="0220", GROUP="disk"
+SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
+
diff --git a/meta/packages/udev/files/slugos/mount.blacklist b/meta/packages/udev/files/slugos/mount.blacklist
new file mode 100644
index 0000000000..210702f837
--- /dev/null
+++ b/meta/packages/udev/files/slugos/mount.blacklist
@@ -0,0 +1,4 @@
+ram[0-9]$
+mtdblock[0-9]$
+hd[a-z]$
+sd[a-z]$
diff --git a/meta/packages/udev/files/spitz/mount.blacklist b/meta/packages/udev/files/spitz/mount.blacklist
new file mode 100644
index 0000000000..38c7aa4b32
--- /dev/null
+++ b/meta/packages/udev/files/spitz/mount.blacklist
@@ -0,0 +1,7 @@
+# This is a grep pattern matched against the device name
+# Any matched pattern will _not_ be mounted / removed by udevd
+
+/dev/mtdblock
+/dev/hda
+/dev/loop
+/dev/ram \ No newline at end of file
diff --git a/meta/packages/udev/files/tmpfs.patch b/meta/packages/udev/files/tmpfs.patch
new file mode 100644
index 0000000000..9d0d8b4515
--- /dev/null
+++ b/meta/packages/udev/files/tmpfs.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- udev-031/extras/start_udev~tmpfs 2004-09-10 17:10:03.000000000 -0400
++++ udev-031/extras/start_udev 2004-09-11 15:18:15.560789160 -0400
+@@ -85,7 +85,7 @@
+ fi
+
+ echo "mounting... ramfs at $udev_root"
+-mount -n -t ramfs none $udev_root
++mount -n -t ramfs none $udev_root || mount -n -t tmpfs none $udev_root
+
+ # propogate /udev from /sys
+ echo "Creating initial udev device nodes:"
diff --git a/meta/packages/udev/files/tosa/mount.blacklist b/meta/packages/udev/files/tosa/mount.blacklist
new file mode 100644
index 0000000000..7e351bc988
--- /dev/null
+++ b/meta/packages/udev/files/tosa/mount.blacklist
@@ -0,0 +1,6 @@
+# This is a grep pattern matched against the device name
+# Any matched pattern will _not_ be mounted / removed by udevd
+
+/dev/mtdblock
+/dev/loop
+/dev/ram \ No newline at end of file
diff --git a/meta/packages/udev/files/udev.rules b/meta/packages/udev/files/udev.rules
new file mode 100644
index 0000000000..5c566f6cef
--- /dev/null
+++ b/meta/packages/udev/files/udev.rules
@@ -0,0 +1,98 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# SCSI devices
+BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n"
+
+# USB devices
+BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
+BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
+BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
+BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
+ SYMLINK+="pilot"
+
+# usbfs-like devices
+SUBSYSTEM=="usb_device", \
+ PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
+
+# serial devices
+KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
+KERNEL=="capi[0-9]*", NAME="capi/%n"
+
+# video devices
+KERNEL=="card[0-9]*", NAME="dri/%k"
+
+# misc devices
+KERNEL=="hw_random", NAME="hwrng"
+KERNEL=="tun", NAME="net/%k"
+
+KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
+KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
+KERNEL=="pktcdvd", NAME="pktcdvd/control"
+
+KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
+KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
+KERNEL=="microcode", NAME="cpu/microcode"
+
+KERNEL=="umad*", NAME="infiniband/%k"
+KERNEL=="issm*", NAME="infiniband/%k"
+KERNEL=="uverbs*", NAME="infiniband/%k"
+KERNEL=="ucm", NAME="infiniband/%k"
+
+KERNEL=="buzzer", NAME="misc/buzzer"
+
+# ALSA devices
+KERNEL=="controlC[0-9]*", NAME="snd/%k"
+KERNEL=="hwC[D0-9]*", NAME="snd/%k"
+KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
+KERNEL=="midiC[D0-9]*", NAME="snd/%k"
+KERNEL=="timer", NAME="snd/%k"
+KERNEL=="seq", NAME="snd/%k"
+
+# ieee1394 devices
+KERNEL=="dv1394*", NAME="dv1394/%n"
+KERNEL=="video1394*", NAME="video1394/%n"
+
+# input devices
+KERNEL=="mice", NAME="input/%k"
+KERNEL=="mouse[0-9]*", NAME="input/%k"
+KERNEL=="event[0-9]*", NAME="input/%k"
+KERNEL=="js[0-9]*", NAME="input/%k"
+KERNEL=="ts[0-9]*", NAME="input/%k"
+KERNEL=="uinput", NAME="input/%k"
+
+# Zaptel
+KERNEL=="zapctl", NAME="zap/ctl"
+KERNEL=="zaptimer", NAME="zap/timer"
+KERNEL=="zapchannel", NAME="zap/channel"
+KERNEL=="zappseudo", NAME="zap/pseudo"
+KERNEL=="zap[0-9]*", NAME="zap/%n"
+
+# AOE character devices
+SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
+
+# device mapper creates its own device nodes, so ignore these
+KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device"
+KERNEL=="device-mapper", NAME="mapper/control"
+
+KERNEL="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660"
+
+# Firmware Helper
+ACTION=="add", SUBSYSTEM=="firmware", RUN+="/sbin/firmware_helper"
diff --git a/meta/packages/udev/files/udev_network_queue.sh b/meta/packages/udev/files/udev_network_queue.sh
new file mode 100644
index 0000000000..05e08e9d1b
--- /dev/null
+++ b/meta/packages/udev/files/udev_network_queue.sh
@@ -0,0 +1,35 @@
+#! /bin/sh
+#
+# Copyright Matthias Hentges <devel@hentges.net> (c) 2006
+# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
+#
+# Filename: udev_network_queue.sh
+# Date: 03-May-06
+
+do_start() {
+ if test -e /dev/udev_network_queue
+ then
+ echo "Activating queued NICs..."
+ for NIC in `cat /dev/udev_network_queue`
+ do
+ export INTERFACE="$NIC" ; export ACTION=add
+ /etc/udev/scripts/network.sh
+ done
+ echo ""
+ else
+ echo "No NICs queued"
+ fi
+}
+
+do_stop() {
+ /bin/true
+}
+
+case "$1" in
+start) do_start;;
+stop) do_stop;;
+restart) do_stop
+ do_start;;
+*) echo "Usage: `basename $0` [ start | stop | restart ]"
+ exit 0;;
+esac
diff --git a/meta/packages/udev/files/udevsynthesize.patch b/meta/packages/udev/files/udevsynthesize.patch
new file mode 100644
index 0000000000..7811188485
--- /dev/null
+++ b/meta/packages/udev/files/udevsynthesize.patch
@@ -0,0 +1,776 @@
+--- udev-081/udevsynthesize.c.orig 2006-01-29 12:22:45.000000000 +0100
++++ udev-081/udevsynthesize.c 2006-01-29 12:22:40.000000000 +0100
+@@ -0,0 +1,763 @@
++/*
++ * udevcoldplug.c
++ *
++ * Copyright (C) 2005 SUSE Linux Products GmbH
++ *
++ * Author:
++ * Kay Sievers <kay.sievers@vrfy.org>
++ *
++ * Synthesize kernel events from sysfs information and pass them
++ * to the udevd daemon.
++ *
++ * 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 version 2 of the License.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 675 Mass Ave, Cambridge, MA 02139, USA.
++ *
++ */
++
++#include <stdlib.h>
++#include <stddef.h>
++#include <string.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <errno.h>
++#include <ctype.h>
++#include <fcntl.h>
++#include <dirent.h>
++#include <signal.h>
++#include <syslog.h>
++#include <sys/socket.h>
++#include <sys/un.h>
++#include <sys/wait.h>
++#include <sys/stat.h>
++#include <sys/types.h>
++
++#include "udev_libc_wrapper.h"
++#include "udev.h"
++#include "udevd.h"
++#include "udev_version.h"
++#include "logging.h"
++
++#include "list.h"
++
++#ifndef DT_DIR
++#define DT_DIR 4
++#endif
++
++static const char *udev_log_str;
++static int udevd_sock = -1;
++
++#ifdef USE_LOG
++void log_message(int priority, const char *format, ...)
++{
++ va_list args;
++
++ if (priority > udev_log_priority)
++ return;
++
++ va_start(args, format);
++ vsyslog(priority, format, args);
++ va_end(args);
++}
++#endif
++
++struct device {
++ struct list_head node;
++ struct udevd_msg msg;
++ size_t bufpos;
++ char *path;
++};
++
++static dev_t read_devt(const char *path)
++{
++ char filename[PATH_SIZE];
++ char majorminor[64];
++ unsigned int major, minor;
++ ssize_t count;
++ int fd;
++
++ snprintf(filename, sizeof(filename), "%s/%s", path, "dev");
++ filename[sizeof(filename)-1] = '\0';
++
++ fd = open(filename, O_RDONLY);
++ if (fd < 0)
++ return 0;
++
++ count = read(fd, majorminor, sizeof(majorminor));
++ close(fd);
++ majorminor[count] = '\0';
++ if (sscanf(majorminor, "%u:%u", &major, &minor) != 2)
++ return 0;
++ dbg("found major=%d, minor=%d", major, minor);
++
++ return makedev(major, minor);
++}
++
++static ssize_t read_file(const char *directory, const char *file, char *str, size_t len)
++{
++ char filename[PATH_SIZE];
++ ssize_t count;
++ int fd;
++
++ memset(filename, 0, sizeof(filename));
++ snprintf(filename, sizeof(filename), "%s/%s", directory, file);
++ filename[sizeof(filename)-1] = '\0';
++
++ fd = open(filename, O_RDONLY);
++ if (fd < 0)
++ return -1;
++
++ count = read(fd, str, len-1);
++ close(fd);
++
++ if (count > (ssize_t)len)
++ count = len;
++ str[count-1] = '\0';
++
++ return count;
++}
++
++static ssize_t read_link(const char *directory, const char *file, char *str, size_t size)
++{
++ char filename[PATH_SIZE];
++ char target[PATH_SIZE];
++ int len;
++ char *back;
++ char *strip;
++ int level = 1;
++
++ snprintf(filename, sizeof(filename), "%s/%s", directory, file);
++ filename[sizeof(filename)-1] = '\0';
++
++ len = readlink(filename, target, sizeof(target)-1);
++ if (len < 0)
++ return -1;
++ target[len] = '\0';
++
++ back = target;
++ while (strncmp(back, "../", 3) == 0) {
++ back += 3;
++ level++;
++ }
++ while(level--) {
++ strip = strrchr(filename, '/');
++ if (!strip)
++ return -1;
++ strip[0] = '\0';
++ }
++
++ snprintf(str, size, "%s/%s", filename, back);
++ str[size-1] = '\0';
++
++ return len;
++}
++
++static char *add_env_key(struct device *device, const char *key, const char *value)
++{
++ size_t pos = device->bufpos;
++ device->bufpos += sprintf(&device->msg.envbuf[device->bufpos], "%s=%s", key, value)+1;
++ return &device->msg.envbuf[pos];
++}
++
++static struct device *device_create(const char *path, const char *subsystem, dev_t devt)
++{
++ struct device *device;
++ const char *devpath = &path[strlen(sysfs_path)];
++ char target[PATH_SIZE];
++
++ device = malloc(sizeof(struct device));
++ if (device == NULL) {
++ dbg("error malloc");
++ return NULL;
++ }
++ memset(device, 0x00, sizeof(struct device));
++
++ device->path = add_env_key(device, "DEVPATH", devpath);
++ device->path += strlen("DEVPATH=");
++ add_env_key(device, "SUBSYSTEM", subsystem);
++ add_env_key(device, "ACTION", "add");
++ add_env_key(device, "UDEV_COLDPLUG", "1");
++
++ if (major(devt)) {
++ char number[32];
++ sprintf(number, "%u", major(devt));
++ add_env_key(device, "MAJOR", number);
++ sprintf(number, "%u", minor(devt));
++ add_env_key(device, "MINOR", number);
++ }
++
++ if (strncmp(devpath, "/block/", strlen("/block/")) == 0 ||
++ strncmp(devpath, "/class/", strlen("/class/")) == 0) {
++ char physpath[PATH_SIZE];
++
++ if (read_link(path, "device", physpath, sizeof(physpath)) > (ssize_t)strlen(sysfs_path)) {
++ add_env_key(device, "PHYSDEVPATH", &physpath[strlen(sysfs_path)]);
++ if (read_link(physpath, "driver", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) {
++ char *pos = strrchr(target, '/');
++ if (pos)
++ add_env_key(device, "PHYSDEVDRIVER", &pos[1]);
++ }
++ if (read_link(physpath, "bus", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) {
++ char *pos = strrchr(target, '/');
++ if (pos)
++ add_env_key(device, "PHYSDEVBUS", &pos[1]);
++ }
++ }
++ } else if (strncmp(devpath, "/devices/", strlen("/devices/")) == 0) {
++ if (read_link(path, "driver", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) {
++ char *pos = strrchr(target, '/');
++ if (pos)
++ add_env_key(device, "PHYSDEVDRIVER", &pos[1]);
++ }
++ if (read_link(path, "bus", target, sizeof(target)) > (ssize_t)strlen(sysfs_path)) {
++ char *pos = strrchr(target, '/');
++ if (pos)
++ add_env_key(device, "PHYSDEVBUS", &pos[1]);
++ }
++ }
++
++ return device;
++}
++
++static int device_list_insert(struct list_head *device_list, struct device *device)
++{
++ struct device *loop_device;
++
++ dbg("insert: '%s'", device->path);
++
++ /* sort files in lexical order */
++ list_for_each_entry(loop_device, device_list, node)
++ if (strcmp(loop_device->path, device->path) > 0)
++ break;
++
++ list_add_tail(&device->node, &loop_device->node);
++
++ return 0;
++}
++
++static int add_device_udevd(struct device *device)
++{
++ size_t msg_len;
++ struct sockaddr_un saddr;
++ socklen_t addrlen;
++ int retval;
++
++ memset(&saddr, 0x00, sizeof(struct sockaddr_un));
++ saddr.sun_family = AF_LOCAL;
++ /* use abstract namespace for socket path */
++ strcpy(&saddr.sun_path[1], UDEVD_SOCK_PATH);
++ addrlen = offsetof(struct sockaddr_un, sun_path) + strlen(saddr.sun_path+1) + 1;
++
++ strcpy(device->msg.magic, UDEV_MAGIC);
++ device->msg.type = UDEVD_UEVENT_UDEVSEND;
++
++ msg_len = offsetof(struct udevd_msg, envbuf) + device->bufpos;
++ dbg("msg_len=%i", msg_len);
++
++ retval = sendto(udevd_sock, &device->msg, msg_len, 0, (struct sockaddr *)&saddr, addrlen);
++ if (retval < 0)
++ return -1;
++
++ return 0;
++}
++
++static void exec_list(struct list_head *device_list, const char *first[], const char *last[])
++{
++ struct device *loop_device;
++ struct device *tmp_device;
++ int i;
++
++ /* handle the "first" type devices first */
++ if (first)
++ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) {
++ for (i = 0; first[i] != NULL; i++) {
++ if (strncmp(loop_device->path, first[i], strlen(first[i])) == 0) {
++ add_device_udevd(loop_device);
++ list_del(&loop_device->node);
++ free(loop_device);
++ break;
++ }
++ }
++ }
++
++ /* handle the devices we are allowed to, excluding the "last" type devices */
++ if (last)
++ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) {
++ int found = 0;
++ for (i = 0; last[i] != NULL; i++) {
++ if (strncmp(loop_device->path, last[i], strlen(last[i])) == 0) {
++ found = 1;
++ break;
++ }
++ }
++ if (found)
++ continue;
++
++ add_device_udevd(loop_device);
++ list_del(&loop_device->node);
++ free(loop_device);
++ }
++
++ /* handle the rest of the devices */
++ list_for_each_entry_safe(loop_device, tmp_device, device_list, node) {
++ add_device_udevd(loop_device);
++ list_del(&loop_device->node);
++ free(loop_device);
++ }
++}
++
++static int udev_scan_class(void)
++{
++ char base[PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++ LIST_HEAD(device_list);
++
++ /* we want /dev/null and /dev/console first */
++ const char *first[] = {
++ "/class/mem",
++ "/class/tty",
++ NULL,
++ };
++
++ snprintf(base, sizeof(base), "%s/class", sysfs_path);
++ base[sizeof(base)-1] = '\0';
++
++ dir = opendir(base);
++ if (!dir)
++ return -1;
++
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ char dirname[PATH_SIZE];
++ DIR *dir2;
++ struct dirent *dent2;
++
++ if (dent->d_name[0] == '.')
++ continue;
++
++ snprintf(dirname, sizeof(dirname), "%s/%s", base, dent->d_name);
++ dirname[sizeof(dirname)-1] = '\0';
++
++ dir2 = opendir(dirname);
++ if (!dir2)
++ continue;
++ for (dent2 = readdir(dir2); dent2 != NULL; dent2 = readdir(dir2)) {
++ char dirname2[PATH_SIZE];
++ struct device *device;
++ dev_t devt;
++
++ if (dent2->d_name[0] == '.')
++ continue;
++ if (dent2->d_type != DT_DIR)
++ continue;
++
++ snprintf(dirname2, sizeof(dirname2), "%s/%s", dirname, dent2->d_name);
++ dirname2[sizeof(dirname2)-1] = '\0';
++ devt = read_devt(dirname2);
++ device = device_create(dirname2, dent->d_name, devt);
++
++ if (strcmp(dent->d_name, "net") == 0 ||
++ strcmp(dent->d_name, "bluetooth") == 0) {
++ add_env_key(device, "INTERFACE", dent2->d_name);
++ } else if (strcmp(dent->d_name, "pcmcia_socket") == 0 &&
++ strlen(dent->d_name) > 14) {
++ add_env_key(device, "SOCKET_NO",
++ dent2->d_name + 14);
++ }
++
++ device_list_insert(&device_list, device);
++ }
++ closedir(dir2);
++ }
++ closedir(dir);
++ exec_list(&device_list, first, NULL);
++
++ return 0;
++}
++
++static int udev_scan_block(void)
++{
++ char base[PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++ LIST_HEAD(device_list);
++
++ /* dm wants to have the block devices around before it */
++ const char *last[] = {
++ "/block/dm",
++ NULL,
++ };
++
++ snprintf(base, sizeof(base), "%s/block", sysfs_path);
++ base[sizeof(base)-1] = '\0';
++
++ dir = opendir(base);
++ if (!dir)
++ return -1;
++
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ char dirname[PATH_SIZE];
++ struct device *device;
++ struct dirent *dent2;
++ DIR *dir2;
++ dev_t devt;
++
++ if (dent->d_name[0] == '.')
++ continue;
++ if (dent->d_type != DT_DIR)
++ continue;
++
++ snprintf(dirname, sizeof(dirname), "%s/%s", base, dent->d_name);
++ dirname[sizeof(dirname)-1] = '\0';
++ devt = read_devt(dirname);
++ if (major(devt)) {
++ device = device_create(dirname, "block", devt);
++ device_list_insert(&device_list, device);
++ }
++
++ /* look for partitions */
++ dir2 = opendir(dirname);
++ if (!dir2)
++ continue;
++ for (dent2 = readdir(dir2); dent2 != NULL; dent2 = readdir(dir2)) {
++ char dirname2[PATH_SIZE];
++
++ if (dent2->d_name[0] == '.')
++ continue;
++ if (dent2->d_type != DT_DIR)
++ continue;
++
++ snprintf(dirname2, sizeof(dirname2), "%s/%s", dirname, dent2->d_name);
++ dirname2[sizeof(dirname2)-1] = '\0';
++ devt = read_devt(dirname2);
++ if (major(devt)) {
++ device = device_create(dirname2, "block", devt);
++ device_list_insert(&device_list, device);
++ continue;
++ }
++ }
++ closedir(dir2);
++ }
++ closedir(dir);
++ exec_list(&device_list, NULL, last);
++
++ return 0;
++}
++
++static int pci_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE];
++ char vendor[PATH_SIZE];
++ char product[PATH_SIZE];
++ const char *name;
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ name = strrchr(device->path, '/');
++ if (name)
++ add_env_key(device, "PCI_SLOT_NAME", &name[1]);
++
++ if (read_file(path, "class", value, sizeof(value)) > 0)
++ add_env_key(device, "PCI_CLASS", &value[2]);
++
++ if (read_file(path, "vendor", vendor, sizeof(vendor)) > 0 &&
++ read_file(path, "device", product, sizeof(product)) > 0) {
++ snprintf(value, sizeof(value), "%s:%s", &vendor[2], &product[2]);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "PCI_ID", value);
++ }
++
++ if (read_file(path, "subsystem_vendor", vendor, sizeof(vendor)) > 0 &&
++ read_file(path, "subsystem_device", product, sizeof(product)) > 0) {
++ snprintf(value, sizeof(value), "%s:%s", &vendor[2], &product[2]);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "PCI_SUBSYS_ID", value);
++ }
++
++ return 0;
++}
++
++static int usb_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE];
++ char str1[PATH_SIZE];
++ char str2[PATH_SIZE];
++ char str3[PATH_SIZE];
++ unsigned int int1;
++ unsigned int int2;
++ unsigned int int3;
++ char *pos;
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ /* device events have : in their directory name */
++ pos = strrchr(path, '/');
++ if (!strchr(pos, ':'))
++ return 0; /* and do not have other variables */
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ if (read_file(path, "bInterfaceClass", str1, sizeof(str1)) > 0 &&
++ read_file(path, "bInterfaceSubClass", str2, sizeof(str2)) > 0 &&
++ read_file(path, "bInterfaceProtocol", str3, sizeof(str3)) > 0) {
++ int1 = (int) strtol(str1, NULL, 16);
++ int2 = (int) strtol(str2, NULL, 16);
++ int3 = (int) strtol(str3, NULL, 16);
++ snprintf(value, sizeof(value), "%u/%u/%u", int1, int2, int3);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "INTERFACE", value);
++ }
++
++ /* move to the parent directory */
++ pos[0] = '\0';
++
++ if (read_file(path, "idVendor", str1, sizeof(str1)) > 0 &&
++ read_file(path, "idProduct", str2, sizeof(str2)) > 0 &&
++ read_file(path, "bcdDevice", str3, sizeof(str3)) > 0) {
++ int1 = (int) strtol(str1, NULL, 16);
++ int2 = (int) strtol(str2, NULL, 16);
++ int3 = (int) strtol(str3, NULL, 16);
++ snprintf(value, sizeof(value), "%x/%x/%x", int1, int2, int3);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "PRODUCT", value);
++ }
++
++ if (read_file(path, "bDeviceClass", str1, sizeof(str1)) > 0 &&
++ read_file(path, "bDeviceSubClass", str2, sizeof(str2)) > 0 &&
++ read_file(path, "bDeviceProtocol", str3, sizeof(str3)) > 0) {
++ int1 = (int) strtol(str1, NULL, 16);
++ int2 = (int) strtol(str2, NULL, 16);
++ int3 = (int) strtol(str3, NULL, 16);
++ snprintf(value, sizeof(value), "%u/%u/%u", int1, int2, int3);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "TYPE", value);
++ }
++
++ if (read_file(path, "devnum", str2, sizeof(str2)) > 0) {
++ pos = strrchr(path, 'b');
++ int1 = (int) strtol(pos + 1, NULL, 16);
++ int2 = (int) strtol(str2, NULL, 16);
++ snprintf(value, sizeof(value),
++ "/proc/bus/usb/%03d/%03d", int1, int2);
++ path[sizeof(value)-1] = '\0';
++ add_env_key(device, "DEVICE", value);
++ }
++
++ return 0;
++}
++
++static int serio_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE];
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ if (read_file(path, "id/type", value, sizeof(value)) > 0)
++ add_env_key(device, "SERIO_TYPE", value);
++
++ if (read_file(path, "id/proto", value, sizeof(value)) > 0)
++ add_env_key(device, "SERIO_PROTO", value);
++
++ if (read_file(path, "id/id", value, sizeof(value)) > 0)
++ add_env_key(device, "SERIO_ID", value);
++
++ if (read_file(path, "id/extra", value, sizeof(value)) > 0)
++ add_env_key(device, "SERIO_EXTRA", value);
++
++ return 0;
++}
++
++static int ccw_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE], *tmp;
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ if (read_file(path, "cutype", value, sizeof(value)) > 0) {
++ value[4] = 0;
++ tmp = &value[5];
++ add_env_key(device, "CU_TYPE", value);
++ add_env_key(device, "CU_MODEL", tmp);
++ }
++
++ if (read_file(path, "devtype", value, sizeof(value)) > 0) {
++ if (value[0] == 'n') {
++ add_env_key(device, "DEV_TYPE", "0000");
++ add_env_key(device, "DEV_MODEL", "00");
++ }
++ else {
++ value[4] = 0;
++ tmp = &value[5];
++ add_env_key(device, "DEV_TYPE", value);
++ add_env_key(device, "DEV_MODEL", tmp);
++ }
++ }
++
++ return 0;
++}
++
++static int modalias_handler(struct device *device)
++{
++ char path[PATH_SIZE];
++ char value[PATH_SIZE];
++
++ snprintf(path, sizeof(path), "%s%s", sysfs_path, device->path);
++ path[sizeof(path)-1] = '\0';
++
++ if (read_file(path, "modalias", value, sizeof(value)) > 0)
++ add_env_key(device, "MODALIAS", value);
++
++ return 0;
++}
++
++static int udev_scan_bus(const char *bus, int bus_handler(struct device *device))
++{
++ char base[PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++ LIST_HEAD(device_list);
++
++ snprintf(base, sizeof(base), "%s/bus/%s/devices", sysfs_path, bus);
++ base[sizeof(base)-1] = '\0';
++
++ dir = opendir(base);
++ if (!dir)
++ return -1;
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ char devpath[PATH_SIZE];
++ struct device *device;
++
++ if (dent->d_name[0] == '.')
++ continue;
++
++ if (read_link(base, dent->d_name, devpath, sizeof(devpath)) < 0)
++ continue;
++
++ device = device_create(devpath, bus, makedev(0, 0));
++ if (bus_handler) {
++ if (bus_handler(device) < 0) {
++ dbg("'%s' bus handler skipped event", devpath);
++ free(device);
++ continue;
++ }
++ }
++
++ device_list_insert(&device_list, device);
++ }
++ closedir(dir);
++ exec_list(&device_list, NULL, NULL);
++
++ return 0;
++}
++
++static int udev_scan_devices(void)
++{
++ char base[PATH_SIZE];
++ DIR *dir;
++ struct dirent *dent;
++
++ snprintf(base, sizeof(base), "%s/bus", sysfs_path);
++ base[sizeof(base)-1] = '\0';
++
++ dir = opendir(base);
++ if (!dir)
++ return -1;
++
++ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
++ if (dent->d_name[0] == '.')
++ continue;
++ if (dent->d_type != DT_DIR)
++ continue;
++
++ /* add bus specific env values */
++ if (strcmp(dent->d_name, "pci") == 0)
++ udev_scan_bus("pci", pci_handler);
++ else if (strcmp(dent->d_name, "usb") == 0)
++ udev_scan_bus("usb", usb_handler);
++ else if (strcmp(dent->d_name, "serio") == 0)
++ udev_scan_bus("serio", serio_handler);
++ else if (strcmp(dent->d_name, "ccw") == 0)
++ udev_scan_bus("ccw", ccw_handler);
++ else
++ udev_scan_bus(dent->d_name, modalias_handler);
++ }
++ closedir(dir);
++
++ return 0;
++}
++
++int main(int argc, char *argv[], char *envp[])
++{
++ LIST_HEAD(device_list);
++ int i;
++
++ logging_init("udevcoldplug");
++ udev_config_init(); sysfs_init();
++ dbg("version %s", UDEV_VERSION);
++
++ udev_log_str = getenv("UDEV_LOG");
++
++ /* disable all logging if not explicitely requested */
++ if (udev_log_str == NULL)
++ udev_log_priority = 0;
++
++ for (i = 1 ; i < argc; i++) {
++ char *arg = argv[i];
++
++ if (strcmp(arg, "help") == 0 || strcmp(arg, "--help") == 0 || strcmp(arg, "-h") == 0) {
++ printf("Usage: udevcoldplug \n"
++ " --help print this help text\n\n");
++ exit(0);
++ } else {
++ fprintf(stderr, "unknown option\n\n");
++ exit(1);
++ }
++ }
++
++ udevd_sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
++ if (udevd_sock < 0) {
++ err("error getting socket");
++ return 1;
++ }
++
++ /* create nodes for already available devices */
++ udev_scan_class();
++ udev_scan_block();
++
++ /* synthesize events for bus devices
++ * may load modules or configure the device */
++ udev_scan_devices();
++
++ if (udevd_sock >= 0)
++ close(udevd_sock);
++ logging_close();
++
++ return 0;
++}
+--- udev-081/Makefile
++++ udev-081/Makefile
+@@ -58,6 +58,7 @@ PROGRAMS = \
+ udevmonitor \
+ udevinfo \
+ udevtest \
++ udevsynthesize \
+ udevstart
+
+ HEADERS = \
diff --git a/meta/packages/udev/files/udevsynthesize.sh b/meta/packages/udev/files/udevsynthesize.sh
new file mode 100644
index 0000000000..d58217c144
--- /dev/null
+++ b/meta/packages/udev/files/udevsynthesize.sh
@@ -0,0 +1,51 @@
+#!/bin/sh -e
+
+load_input_modules() {
+ for module in mousedev evdev joydev; do
+ modprobe -q $module || true
+ done
+}
+
+if [ ! -e /sys/class/mem/null/uevent ]; then # <= 2.6.14
+ /lib/udev/udevsynthesize
+ load_input_modules
+ exit 0
+fi
+
+# replace $IFS with something which is not likely to appear in a sysfs path,
+# because some buggy drivers have spaces in their names
+oldifs="$IFS"
+IFS="|"
+
+for file in /sys/bus/*/devices/*/uevent /sys/class/*/*/uevent \
+ /sys/block/*/uevent /sys/block/*/*/uevent; do
+ case "$file" in
+ */device/uevent) ;; # skip followed device symlinks
+ */\*/*) ;;
+
+ */class/mem/*) # for /dev/null
+ first="$first${IFS}$file" ;;
+
+ */block/md[0-9]*)
+ last="$last${IFS}$file" ;;
+
+ *)
+ default="$default${IFS}$file" ;;
+ esac
+done
+
+for file in $first${IFS}$default${IFS}$last; do
+ [ "$file" ] || continue
+ echo 'add' > "$file" || true
+done
+
+IFS="$oldifs"
+
+case "$(uname -r)" in
+ 2.6.1[0-5]|2.6.1[0-5][!0-9]*) # <= 2.6.15
+ load_input_modules
+ ;;
+esac
+
+exit 0
+
diff --git a/meta/packages/udev/udev-084/flags.patch b/meta/packages/udev/udev-084/flags.patch
new file mode 100644
index 0000000000..f144a5f622
--- /dev/null
+++ b/meta/packages/udev/udev-084/flags.patch
@@ -0,0 +1,52 @@
+--- udev-081/Makefile.orig 2006-01-29 12:36:33.000000000 +0100
++++ udev-081/Makefile 2006-01-29 12:36:58.000000000 +0100
+@@ -123,29 +123,29 @@
+ STRIP = $(CROSS)strip
+ STRIPCMD = $(STRIP) -s
+
+-CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
++override CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
+ WARNINGS = -Wstrict-prototypes -Wsign-compare -Wshadow \
+ -Wchar-subscripts -Wmissing-declarations -Wnested-externs \
+ -Wpointer-arith -Wcast-align -Wsign-compare -Wmissing-prototypes
+-CFLAGS += $(WARNINGS)
++override CFLAGS += $(WARNINGS)
+
+ LDFLAGS = -Wl,-warn-common
+
+ OPTFLAGS = -Os
+-CFLAGS += $(OPTFLAGS)
++override CFLAGS += $(OPTFLAGS)
+
+ ifeq ($(strip $(USE_LOG)),true)
+- CFLAGS += -DUSE_LOG
++ override CFLAGS += -DUSE_LOG
+ endif
+
+ # if DEBUG is enabled, then we do not strip
+ ifeq ($(strip $(DEBUG)),true)
+- CFLAGS += -DDEBUG
++ override CFLAGS += -DDEBUG
+ STRIPCMD =
+ endif
+
+ ifeq ($(strip $(USE_GCOV)),true)
+- CFLAGS += -fprofile-arcs -ftest-coverage
++ override CFLAGS += -fprofile-arcs -ftest-coverage
+ LDFLAGS += -fprofile-arcs
+ endif
+
+@@ -160,11 +160,11 @@
+ ifeq ($(strip $(USE_SELINUX)),true)
+ UDEV_OBJS += udev_selinux.o
+ LIB_OBJS += -lselinux -lsepol
+- CFLAGS += -DUSE_SELINUX
++ override CFLAGS += -DUSE_SELINUX
+ endif
+
+ ifeq ($(strip $(USE_STATIC)),true)
+- CFLAGS += -DUSE_STATIC
++ override CFLAGS += -DUSE_STATIC
+ LDFLAGS += -static
+ endif
+
diff --git a/meta/packages/udev/udev-084/init b/meta/packages/udev/udev-084/init
new file mode 100644
index 0000000000..5a60d52a9a
--- /dev/null
+++ b/meta/packages/udev/udev-084/init
@@ -0,0 +1,227 @@
+#!/bin/sh -e
+### BEGIN INIT INFO
+# Provides: udev
+# Required-Start: mountvirtfs
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+# Short-Description: Start udevd, populate /dev and load drivers.
+### END INIT INFO
+
+# we need to unmount /dev/pts/ and remount it later over the tmpfs
+unmount_devpts() {
+ if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+ fi
+
+ if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+ fi
+}
+
+# mount a tmpfs over /dev, if somebody did not already do it
+mount_tmpfs() {
+ if grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then
+ return
+ fi
+
+ # /dev/.static/dev/ is used by MAKEDEV to access the real /dev/ directory.
+ # /etc/udev/ is recycled as a temporary mount point because it's the only
+ # directory which is guaranteed to be available.
+ mount -n -o bind /dev /etc/udev
+
+ if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs tmpfs /dev; then
+ umount /etc/udev
+ echo "udev requires tmpfs support, not started."
+ exit 1
+ fi
+
+ mkdir -p /dev/.static/dev
+ chmod 700 /dev/.static/
+ # The mount options in busybox are non-standard...
+ if test -x /bin/mount.util-linux
+ then
+ /bin/mount.util-linux --move /etc/udev /dev/.static/dev
+ elif test -x /bin/busybox
+ then
+ busybox mount -n -o move /etc/udev /dev/.static/dev
+ else
+ echo "udev requires an identifiable mount command, not started."
+ umount /etc/udev
+ umount /dev
+ exit 1
+ fi
+}
+
+# I hate this hack. -- Md
+make_extra_nodes() {
+ if [ "$(echo /lib/udev/devices/*)" != "/lib/udev/devices/*" ]; then
+ cp -a /lib/udev/devices/* /dev/
+ fi
+
+ [ -e /etc/udev/links.conf ] || return 0
+ grep '^[^#]' /etc/udev/links.conf | \
+ while read type name arg1; do
+ [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
+ case "$type" in
+ L) ln -s $arg1 /dev/$name ;;
+ D) mkdir -p /dev/$name ;;
+ M) mknod -m 600 /dev/$name $arg1 ;;
+ *) echo "links.conf: unparseable line ($type $name $arg1)" ;;
+ esac
+ done
+}
+
+supported_kernel() {
+ case "$(uname -r)" in
+ 2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
+ 2.6.1[01]|2.6.1[01][!0-9]*) return 1 ;;
+ esac
+ return 0
+}
+
+set_hotplug_handler() {
+ case "$(uname -r)" in
+ 2.6.1[0-4]|2.6.1[0-4][!0-9]*) HANDLER='/sbin/udevsend' ;;
+ esac
+ echo $HANDLER > /proc/sys/kernel/hotplug
+}
+
+# shell version of /usr/bin/tty
+my_tty() {
+ [ -x /bin/readlink ] || return 0
+ [ -e /proc/self/fd/0 ] || return 0
+ readlink --silent /proc/self/fd/0 || true
+}
+
+warn_if_interactive() {
+ if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then
+ return
+ fi
+
+ TTY=$(my_tty)
+ if [ -z "$TTY" -o "$TTY" = "/dev/console" ]; then
+ return
+ fi
+
+ printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n"
+ printf "has been run from an interactive shell.\n"
+ printf "It will probably not do what you expect, so this script will wait\n"
+ printf "60 seconds before continuing. Press ^C to stop it.\n"
+ printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n"
+ sleep 60
+}
+
+##############################################################################
+
+PATH="/sbin:/bin:/usr/bin"
+
+[ -x /sbin/udevd ] || exit 0
+
+# defaults
+tmpfs_size="10M"
+udev_root="/dev"
+udevd_timeout=30
+
+. /etc/udev/udev.conf
+
+if ! supported_kernel; then
+ echo "udev requires a kernel >= 2.6.12, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/filesystems ]; then
+ echo "udev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "udev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "udev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "udev requires hotplug support, not started."
+ exit 1
+fi
+
+##############################################################################
+
+# When modifying this script, do not forget that between the time that
+# the new /dev has been mounted and udevsynthesize has been run there will be
+# no /dev/null. This also means that you cannot use the "&" shell command.
+
+case "$1" in
+ start)
+ if [ -e "$udev_root/.udev/" ]; then
+ if mountpoint -q /dev/; then
+ TMPFS_MOUNTED=1
+ else
+ echo ".udev/ already exists on the static $udev_root!"
+ fi
+ else
+ warn_if_interactive
+ fi
+
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
+
+ set_hotplug_handler
+
+ if [ -z "$TMPFS_MOUNTED" ]; then
+ unmount_devpts
+ mount_tmpfs
+ [ -d /proc/1 ] || mount -n /proc
+ fi
+
+ # if this directory is not present /dev will not be updated by udev
+ mkdir -p /dev/.udev/ /dev/.udev/db/ /dev/.udev/queue/ /dev/.udevdb/
+ # /dev/null must be created before udevd is started
+ make_extra_nodes
+
+ echo "Synthesizing the initial hotplug events"
+ udevsynthesize
+
+ # wait for the udevd childs to finish
+ echo "Waiting for /dev to be fully populated"
+ while [ -d /dev/.udev/queue/ ]; do
+ sleep 1
+ udevd_timeout=$(($udevd_timeout - 1))
+ if [ $udevd_timeout -eq 0 ]; then
+ # ps axf
+ break
+ fi
+ done
+ if [ $udevd_timeout -eq 0 ]; then
+ echo 'timeout'
+ fi
+ ;;
+
+ stop)
+ echo "Stopping the hotplug events dispatcher" "udevd"
+ start-stop-daemon --stop --name udevd --quiet
+ ;;
+
+ restart|force-reload)
+ echo "Stopping the hotplug events dispatcher" "udevd"
+ if start-stop-daemon --stop --name udevd --quiet ; then
+ exit 1
+ fi
+
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/udev {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/meta/packages/udev/udev-084/local.rules b/meta/packages/udev/udev-084/local.rules
new file mode 100644
index 0000000000..bb8459ba23
--- /dev/null
+++ b/meta/packages/udev/udev-084/local.rules
@@ -0,0 +1,28 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# Media automounting
+SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
+SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
+
+# Handle network interface setup
+SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
+SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
+
+# The first rtc device is symlinked to /dev/rtc
+KERNEL="rtc0", SYMLINK="rtc"
+
+# Try and modprobe for drivers for new hardware
+ACTION="add", DEVPATH="/devices/*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"
diff --git a/meta/packages/udev/udev-084/udev.rules b/meta/packages/udev/udev-084/udev.rules
new file mode 100644
index 0000000000..3ac51b301a
--- /dev/null
+++ b/meta/packages/udev/udev-084/udev.rules
@@ -0,0 +1,99 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# SCSI devices
+BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n"
+SUBSYSTEM=="scsi_device", SYSFS{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod"
+
+# USB devices
+BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
+BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
+BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
+BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
+ SYMLINK+="pilot"
+
+# usbfs-like devices
+SUBSYSTEM=="usb_device", \
+ PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
+
+# serial devices
+KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
+KERNEL=="capi[0-9]*", NAME="capi/%n"
+
+# video devices
+KERNEL=="card[0-9]*", NAME="dri/%k"
+
+# misc devices
+KERNEL=="hw_random", NAME="hwrng"
+KERNEL=="tun", NAME="net/%k"
+
+KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
+KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
+KERNEL=="pktcdvd", NAME="pktcdvd/control"
+
+KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
+KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
+KERNEL=="microcode", NAME="cpu/microcode"
+
+KERNEL=="umad*", NAME="infiniband/%k"
+KERNEL=="issm*", NAME="infiniband/%k"
+KERNEL=="uverbs*", NAME="infiniband/%k"
+KERNEL=="ucm", NAME="infiniband/%k"
+
+KERNEL=="buzzer", NAME="misc/buzzer"
+
+# ALSA devices
+KERNEL=="controlC[0-9]*", NAME="snd/%k"
+KERNEL=="hwC[D0-9]*", NAME="snd/%k"
+KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
+KERNEL=="midiC[D0-9]*", NAME="snd/%k"
+KERNEL=="timer", NAME="snd/%k"
+KERNEL=="seq", NAME="snd/%k"
+
+# ieee1394 devices
+KERNEL=="dv1394*", NAME="dv1394/%n"
+KERNEL=="video1394*", NAME="video1394/%n"
+
+# input devices
+KERNEL=="mice", NAME="input/%k"
+KERNEL=="mouse[0-9]*", NAME="input/%k"
+KERNEL=="event[0-9]*", NAME="input/%k"
+KERNEL=="js[0-9]*", NAME="input/%k"
+KERNEL=="ts[0-9]*", NAME="input/%k"
+KERNEL=="uinput", NAME="input/%k"
+
+# Zaptel
+KERNEL=="zapctl", NAME="zap/ctl"
+KERNEL=="zaptimer", NAME="zap/timer"
+KERNEL=="zapchannel", NAME="zap/channel"
+KERNEL=="zappseudo", NAME="zap/pseudo"
+KERNEL=="zap[0-9]*", NAME="zap/%n"
+
+# AOE character devices
+SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
+
+# device mapper creates its own device nodes, so ignore these
+KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device"
+KERNEL=="device-mapper", NAME="mapper/control"
+
+KERNEL="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660"
+
+# Firmware Helper
+ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper"
diff --git a/meta/packages/udev/udev-089/flags.patch b/meta/packages/udev/udev-089/flags.patch
new file mode 100644
index 0000000000..492a39881c
--- /dev/null
+++ b/meta/packages/udev/udev-089/flags.patch
@@ -0,0 +1,51 @@
+--- udev-089/Makefile.orig 2006-04-08 13:32:53.000000000 +0200
++++ udev-089/Makefile 2006-04-08 13:34:27.000000000 +0200
+@@ -117,28 +117,28 @@
+ AR = $(CROSS_COMPILE)ar
+ RANLIB = $(CROSS_COMPILE)ranlib
+
+-CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
++override CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
+ WARNINGS = -Wstrict-prototypes -Wsign-compare -Wshadow \
+ -Wchar-subscripts -Wmissing-declarations -Wnested-externs \
+ -Wpointer-arith -Wcast-align -Wsign-compare -Wmissing-prototypes
+-CFLAGS += $(WARNINGS)
++override CFLAGS += $(WARNINGS)
+
+ LDFLAGS = -Wl,-warn-common
+
+ OPTFLAGS = -Os
+-CFLAGS += $(OPTFLAGS)
++override CFLAGS += $(OPTFLAGS)
+
+ ifeq ($(strip $(USE_LOG)),true)
+- CFLAGS += -DUSE_LOG
++ override CFLAGS += -DUSE_LOG
+ endif
+
+ # if DEBUG is enabled, then we do not strip
+ ifeq ($(strip $(DEBUG)),true)
+- CFLAGS += -DDEBUG
++ override CFLAGS += -DDEBUG
+ endif
+
+ ifeq ($(strip $(USE_GCOV)),true)
+- CFLAGS += -fprofile-arcs -ftest-coverage
++ override CFLAGS += -fprofile-arcs -ftest-coverage
+ LDFLAGS += -fprofile-arcs
+ endif
+
+@@ -151,11 +151,11 @@
+ ifeq ($(strip $(USE_SELINUX)),true)
+ UDEV_OBJS += udev_selinux.o
+ LIB_OBJS += -lselinux -lsepol
+- CFLAGS += -DUSE_SELINUX
++ override CFLAGS += -DUSE_SELINUX
+ endif
+
+ ifeq ($(strip $(USE_STATIC)),true)
+- CFLAGS += -DUSE_STATIC
++ override CFLAGS += -DUSE_STATIC
+ LDFLAGS += -static
+ endif
+
diff --git a/meta/packages/udev/udev-089/init b/meta/packages/udev/udev-089/init
new file mode 100644
index 0000000000..5a60d52a9a
--- /dev/null
+++ b/meta/packages/udev/udev-089/init
@@ -0,0 +1,227 @@
+#!/bin/sh -e
+### BEGIN INIT INFO
+# Provides: udev
+# Required-Start: mountvirtfs
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+# Short-Description: Start udevd, populate /dev and load drivers.
+### END INIT INFO
+
+# we need to unmount /dev/pts/ and remount it later over the tmpfs
+unmount_devpts() {
+ if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+ fi
+
+ if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+ fi
+}
+
+# mount a tmpfs over /dev, if somebody did not already do it
+mount_tmpfs() {
+ if grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then
+ return
+ fi
+
+ # /dev/.static/dev/ is used by MAKEDEV to access the real /dev/ directory.
+ # /etc/udev/ is recycled as a temporary mount point because it's the only
+ # directory which is guaranteed to be available.
+ mount -n -o bind /dev /etc/udev
+
+ if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs tmpfs /dev; then
+ umount /etc/udev
+ echo "udev requires tmpfs support, not started."
+ exit 1
+ fi
+
+ mkdir -p /dev/.static/dev
+ chmod 700 /dev/.static/
+ # The mount options in busybox are non-standard...
+ if test -x /bin/mount.util-linux
+ then
+ /bin/mount.util-linux --move /etc/udev /dev/.static/dev
+ elif test -x /bin/busybox
+ then
+ busybox mount -n -o move /etc/udev /dev/.static/dev
+ else
+ echo "udev requires an identifiable mount command, not started."
+ umount /etc/udev
+ umount /dev
+ exit 1
+ fi
+}
+
+# I hate this hack. -- Md
+make_extra_nodes() {
+ if [ "$(echo /lib/udev/devices/*)" != "/lib/udev/devices/*" ]; then
+ cp -a /lib/udev/devices/* /dev/
+ fi
+
+ [ -e /etc/udev/links.conf ] || return 0
+ grep '^[^#]' /etc/udev/links.conf | \
+ while read type name arg1; do
+ [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
+ case "$type" in
+ L) ln -s $arg1 /dev/$name ;;
+ D) mkdir -p /dev/$name ;;
+ M) mknod -m 600 /dev/$name $arg1 ;;
+ *) echo "links.conf: unparseable line ($type $name $arg1)" ;;
+ esac
+ done
+}
+
+supported_kernel() {
+ case "$(uname -r)" in
+ 2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
+ 2.6.1[01]|2.6.1[01][!0-9]*) return 1 ;;
+ esac
+ return 0
+}
+
+set_hotplug_handler() {
+ case "$(uname -r)" in
+ 2.6.1[0-4]|2.6.1[0-4][!0-9]*) HANDLER='/sbin/udevsend' ;;
+ esac
+ echo $HANDLER > /proc/sys/kernel/hotplug
+}
+
+# shell version of /usr/bin/tty
+my_tty() {
+ [ -x /bin/readlink ] || return 0
+ [ -e /proc/self/fd/0 ] || return 0
+ readlink --silent /proc/self/fd/0 || true
+}
+
+warn_if_interactive() {
+ if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then
+ return
+ fi
+
+ TTY=$(my_tty)
+ if [ -z "$TTY" -o "$TTY" = "/dev/console" ]; then
+ return
+ fi
+
+ printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n"
+ printf "has been run from an interactive shell.\n"
+ printf "It will probably not do what you expect, so this script will wait\n"
+ printf "60 seconds before continuing. Press ^C to stop it.\n"
+ printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n"
+ sleep 60
+}
+
+##############################################################################
+
+PATH="/sbin:/bin:/usr/bin"
+
+[ -x /sbin/udevd ] || exit 0
+
+# defaults
+tmpfs_size="10M"
+udev_root="/dev"
+udevd_timeout=30
+
+. /etc/udev/udev.conf
+
+if ! supported_kernel; then
+ echo "udev requires a kernel >= 2.6.12, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/filesystems ]; then
+ echo "udev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "udev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "udev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "udev requires hotplug support, not started."
+ exit 1
+fi
+
+##############################################################################
+
+# When modifying this script, do not forget that between the time that
+# the new /dev has been mounted and udevsynthesize has been run there will be
+# no /dev/null. This also means that you cannot use the "&" shell command.
+
+case "$1" in
+ start)
+ if [ -e "$udev_root/.udev/" ]; then
+ if mountpoint -q /dev/; then
+ TMPFS_MOUNTED=1
+ else
+ echo ".udev/ already exists on the static $udev_root!"
+ fi
+ else
+ warn_if_interactive
+ fi
+
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
+
+ set_hotplug_handler
+
+ if [ -z "$TMPFS_MOUNTED" ]; then
+ unmount_devpts
+ mount_tmpfs
+ [ -d /proc/1 ] || mount -n /proc
+ fi
+
+ # if this directory is not present /dev will not be updated by udev
+ mkdir -p /dev/.udev/ /dev/.udev/db/ /dev/.udev/queue/ /dev/.udevdb/
+ # /dev/null must be created before udevd is started
+ make_extra_nodes
+
+ echo "Synthesizing the initial hotplug events"
+ udevsynthesize
+
+ # wait for the udevd childs to finish
+ echo "Waiting for /dev to be fully populated"
+ while [ -d /dev/.udev/queue/ ]; do
+ sleep 1
+ udevd_timeout=$(($udevd_timeout - 1))
+ if [ $udevd_timeout -eq 0 ]; then
+ # ps axf
+ break
+ fi
+ done
+ if [ $udevd_timeout -eq 0 ]; then
+ echo 'timeout'
+ fi
+ ;;
+
+ stop)
+ echo "Stopping the hotplug events dispatcher" "udevd"
+ start-stop-daemon --stop --name udevd --quiet
+ ;;
+
+ restart|force-reload)
+ echo "Stopping the hotplug events dispatcher" "udevd"
+ if start-stop-daemon --stop --name udevd --quiet ; then
+ exit 1
+ fi
+
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/udev {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/meta/packages/udev/udev-089/local.rules b/meta/packages/udev/udev-089/local.rules
new file mode 100644
index 0000000000..bb8459ba23
--- /dev/null
+++ b/meta/packages/udev/udev-089/local.rules
@@ -0,0 +1,28 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# Media automounting
+SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
+SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
+
+# Handle network interface setup
+SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
+SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
+
+# The first rtc device is symlinked to /dev/rtc
+KERNEL="rtc0", SYMLINK="rtc"
+
+# Try and modprobe for drivers for new hardware
+ACTION="add", DEVPATH="/devices/*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"
diff --git a/meta/packages/udev/udev-089/udev.rules b/meta/packages/udev/udev-089/udev.rules
new file mode 100644
index 0000000000..7b4152c5bf
--- /dev/null
+++ b/meta/packages/udev/udev-089/udev.rules
@@ -0,0 +1,98 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# SCSI devices
+BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n"
+
+# USB devices
+BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
+BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
+BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
+BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
+ SYMLINK+="pilot"
+
+# usbfs-like devices
+SUBSYSTEM=="usb_device", \
+ PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
+
+# serial devices
+KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
+KERNEL=="capi[0-9]*", NAME="capi/%n"
+
+# video devices
+KERNEL=="card[0-9]*", NAME="dri/%k"
+
+# misc devices
+KERNEL=="hw_random", NAME="hwrng"
+KERNEL=="tun", NAME="net/%k"
+
+KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
+KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
+KERNEL=="pktcdvd", NAME="pktcdvd/control"
+
+KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
+KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
+KERNEL=="microcode", NAME="cpu/microcode"
+
+KERNEL=="umad*", NAME="infiniband/%k"
+KERNEL=="issm*", NAME="infiniband/%k"
+KERNEL=="uverbs*", NAME="infiniband/%k"
+KERNEL=="ucm", NAME="infiniband/%k"
+
+KERNEL=="buzzer", NAME="misc/buzzer"
+
+# ALSA devices
+KERNEL=="controlC[0-9]*", NAME="snd/%k"
+KERNEL=="hwC[D0-9]*", NAME="snd/%k"
+KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
+KERNEL=="midiC[D0-9]*", NAME="snd/%k"
+KERNEL=="timer", NAME="snd/%k"
+KERNEL=="seq", NAME="snd/%k"
+
+# ieee1394 devices
+KERNEL=="dv1394*", NAME="dv1394/%n"
+KERNEL=="video1394*", NAME="video1394/%n"
+
+# input devices
+KERNEL=="mice", NAME="input/%k"
+KERNEL=="mouse[0-9]*", NAME="input/%k"
+KERNEL=="event[0-9]*", NAME="input/%k"
+KERNEL=="js[0-9]*", NAME="input/%k"
+KERNEL=="ts[0-9]*", NAME="input/%k"
+KERNEL=="uinput", NAME="input/%k"
+
+# Zaptel
+KERNEL=="zapctl", NAME="zap/ctl"
+KERNEL=="zaptimer", NAME="zap/timer"
+KERNEL=="zapchannel", NAME="zap/channel"
+KERNEL=="zappseudo", NAME="zap/pseudo"
+KERNEL=="zap[0-9]*", NAME="zap/%n"
+
+# AOE character devices
+SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
+
+# device mapper creates its own device nodes, so ignore these
+KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device"
+KERNEL=="device-mapper", NAME="mapper/control"
+
+KERNEL="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660"
+
+# Firmware Helper
+ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper"
diff --git a/meta/packages/udev/udev-092/flags.patch b/meta/packages/udev/udev-092/flags.patch
new file mode 100644
index 0000000000..492a39881c
--- /dev/null
+++ b/meta/packages/udev/udev-092/flags.patch
@@ -0,0 +1,51 @@
+--- udev-089/Makefile.orig 2006-04-08 13:32:53.000000000 +0200
++++ udev-089/Makefile 2006-04-08 13:34:27.000000000 +0200
+@@ -117,28 +117,28 @@
+ AR = $(CROSS_COMPILE)ar
+ RANLIB = $(CROSS_COMPILE)ranlib
+
+-CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
++override CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
+ WARNINGS = -Wstrict-prototypes -Wsign-compare -Wshadow \
+ -Wchar-subscripts -Wmissing-declarations -Wnested-externs \
+ -Wpointer-arith -Wcast-align -Wsign-compare -Wmissing-prototypes
+-CFLAGS += $(WARNINGS)
++override CFLAGS += $(WARNINGS)
+
+ LDFLAGS = -Wl,-warn-common
+
+ OPTFLAGS = -Os
+-CFLAGS += $(OPTFLAGS)
++override CFLAGS += $(OPTFLAGS)
+
+ ifeq ($(strip $(USE_LOG)),true)
+- CFLAGS += -DUSE_LOG
++ override CFLAGS += -DUSE_LOG
+ endif
+
+ # if DEBUG is enabled, then we do not strip
+ ifeq ($(strip $(DEBUG)),true)
+- CFLAGS += -DDEBUG
++ override CFLAGS += -DDEBUG
+ endif
+
+ ifeq ($(strip $(USE_GCOV)),true)
+- CFLAGS += -fprofile-arcs -ftest-coverage
++ override CFLAGS += -fprofile-arcs -ftest-coverage
+ LDFLAGS += -fprofile-arcs
+ endif
+
+@@ -151,11 +151,11 @@
+ ifeq ($(strip $(USE_SELINUX)),true)
+ UDEV_OBJS += udev_selinux.o
+ LIB_OBJS += -lselinux -lsepol
+- CFLAGS += -DUSE_SELINUX
++ override CFLAGS += -DUSE_SELINUX
+ endif
+
+ ifeq ($(strip $(USE_STATIC)),true)
+- CFLAGS += -DUSE_STATIC
++ override CFLAGS += -DUSE_STATIC
+ LDFLAGS += -static
+ endif
+
diff --git a/meta/packages/udev/udev-092/init b/meta/packages/udev/udev-092/init
new file mode 100644
index 0000000000..5a60d52a9a
--- /dev/null
+++ b/meta/packages/udev/udev-092/init
@@ -0,0 +1,227 @@
+#!/bin/sh -e
+### BEGIN INIT INFO
+# Provides: udev
+# Required-Start: mountvirtfs
+# Required-Stop:
+# Default-Start: S
+# Default-Stop:
+# Short-Description: Start udevd, populate /dev and load drivers.
+### END INIT INFO
+
+# we need to unmount /dev/pts/ and remount it later over the tmpfs
+unmount_devpts() {
+ if mountpoint -q /dev/pts/; then
+ umount -l /dev/pts/
+ fi
+
+ if mountpoint -q /dev/shm/; then
+ umount -l /dev/shm/
+ fi
+}
+
+# mount a tmpfs over /dev, if somebody did not already do it
+mount_tmpfs() {
+ if grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then
+ return
+ fi
+
+ # /dev/.static/dev/ is used by MAKEDEV to access the real /dev/ directory.
+ # /etc/udev/ is recycled as a temporary mount point because it's the only
+ # directory which is guaranteed to be available.
+ mount -n -o bind /dev /etc/udev
+
+ if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs tmpfs /dev; then
+ umount /etc/udev
+ echo "udev requires tmpfs support, not started."
+ exit 1
+ fi
+
+ mkdir -p /dev/.static/dev
+ chmod 700 /dev/.static/
+ # The mount options in busybox are non-standard...
+ if test -x /bin/mount.util-linux
+ then
+ /bin/mount.util-linux --move /etc/udev /dev/.static/dev
+ elif test -x /bin/busybox
+ then
+ busybox mount -n -o move /etc/udev /dev/.static/dev
+ else
+ echo "udev requires an identifiable mount command, not started."
+ umount /etc/udev
+ umount /dev
+ exit 1
+ fi
+}
+
+# I hate this hack. -- Md
+make_extra_nodes() {
+ if [ "$(echo /lib/udev/devices/*)" != "/lib/udev/devices/*" ]; then
+ cp -a /lib/udev/devices/* /dev/
+ fi
+
+ [ -e /etc/udev/links.conf ] || return 0
+ grep '^[^#]' /etc/udev/links.conf | \
+ while read type name arg1; do
+ [ "$type" -a "$name" -a ! -e "/dev/$name" -a ! -L "/dev/$name" ] ||continue
+ case "$type" in
+ L) ln -s $arg1 /dev/$name ;;
+ D) mkdir -p /dev/$name ;;
+ M) mknod -m 600 /dev/$name $arg1 ;;
+ *) echo "links.conf: unparseable line ($type $name $arg1)" ;;
+ esac
+ done
+}
+
+supported_kernel() {
+ case "$(uname -r)" in
+ 2.[012345].*|2.6.[0-9]|2.6.[0-9][!0-9]*) return 1 ;;
+ 2.6.1[01]|2.6.1[01][!0-9]*) return 1 ;;
+ esac
+ return 0
+}
+
+set_hotplug_handler() {
+ case "$(uname -r)" in
+ 2.6.1[0-4]|2.6.1[0-4][!0-9]*) HANDLER='/sbin/udevsend' ;;
+ esac
+ echo $HANDLER > /proc/sys/kernel/hotplug
+}
+
+# shell version of /usr/bin/tty
+my_tty() {
+ [ -x /bin/readlink ] || return 0
+ [ -e /proc/self/fd/0 ] || return 0
+ readlink --silent /proc/self/fd/0 || true
+}
+
+warn_if_interactive() {
+ if [ "$RUNLEVEL" = "S" -a "$PREVLEVEL" = "N" ]; then
+ return
+ fi
+
+ TTY=$(my_tty)
+ if [ -z "$TTY" -o "$TTY" = "/dev/console" ]; then
+ return
+ fi
+
+ printf "\n\n\nIt has been detected that the command\n\n\t$0 $*\n\n"
+ printf "has been run from an interactive shell.\n"
+ printf "It will probably not do what you expect, so this script will wait\n"
+ printf "60 seconds before continuing. Press ^C to stop it.\n"
+ printf "RUNNING THIS COMMAND IS HIGHLY DISCOURAGED!\n\n\n\n"
+ sleep 60
+}
+
+##############################################################################
+
+PATH="/sbin:/bin:/usr/bin"
+
+[ -x /sbin/udevd ] || exit 0
+
+# defaults
+tmpfs_size="10M"
+udev_root="/dev"
+udevd_timeout=30
+
+. /etc/udev/udev.conf
+
+if ! supported_kernel; then
+ echo "udev requires a kernel >= 2.6.12, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/filesystems ]; then
+ echo "udev requires a mounted procfs, not started."
+ exit 1
+fi
+
+if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
+ echo "udev requires tmpfs support, not started."
+ exit 1
+fi
+
+if [ ! -d /sys/class/ ]; then
+ echo "udev requires a mounted sysfs, not started."
+ exit 1
+fi
+
+if [ ! -e /proc/sys/kernel/hotplug ]; then
+ echo "udev requires hotplug support, not started."
+ exit 1
+fi
+
+##############################################################################
+
+# When modifying this script, do not forget that between the time that
+# the new /dev has been mounted and udevsynthesize has been run there will be
+# no /dev/null. This also means that you cannot use the "&" shell command.
+
+case "$1" in
+ start)
+ if [ -e "$udev_root/.udev/" ]; then
+ if mountpoint -q /dev/; then
+ TMPFS_MOUNTED=1
+ else
+ echo ".udev/ already exists on the static $udev_root!"
+ fi
+ else
+ warn_if_interactive
+ fi
+
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
+
+ set_hotplug_handler
+
+ if [ -z "$TMPFS_MOUNTED" ]; then
+ unmount_devpts
+ mount_tmpfs
+ [ -d /proc/1 ] || mount -n /proc
+ fi
+
+ # if this directory is not present /dev will not be updated by udev
+ mkdir -p /dev/.udev/ /dev/.udev/db/ /dev/.udev/queue/ /dev/.udevdb/
+ # /dev/null must be created before udevd is started
+ make_extra_nodes
+
+ echo "Synthesizing the initial hotplug events"
+ udevsynthesize
+
+ # wait for the udevd childs to finish
+ echo "Waiting for /dev to be fully populated"
+ while [ -d /dev/.udev/queue/ ]; do
+ sleep 1
+ udevd_timeout=$(($udevd_timeout - 1))
+ if [ $udevd_timeout -eq 0 ]; then
+ # ps axf
+ break
+ fi
+ done
+ if [ $udevd_timeout -eq 0 ]; then
+ echo 'timeout'
+ fi
+ ;;
+
+ stop)
+ echo "Stopping the hotplug events dispatcher" "udevd"
+ start-stop-daemon --stop --name udevd --quiet
+ ;;
+
+ restart|force-reload)
+ echo "Stopping the hotplug events dispatcher" "udevd"
+ if start-stop-daemon --stop --name udevd --quiet ; then
+ exit 1
+ fi
+
+ echo "Starting the hotplug events dispatcher" "udevd"
+ udevd --daemon
+ ;;
+
+ *)
+ echo "Usage: /etc/init.d/udev {start|stop|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/meta/packages/udev/udev-092/local.rules b/meta/packages/udev/udev-092/local.rules
new file mode 100644
index 0000000000..661922dda3
--- /dev/null
+++ b/meta/packages/udev/udev-092/local.rules
@@ -0,0 +1,31 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# Media automounting
+SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh"
+SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh"
+
+# Handle network interface setup
+SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh"
+SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh"
+
+# The first rtc device is symlinked to /dev/rtc
+KERNEL=="rtc0", SYMLINK+="rtc"
+
+# Try and modprobe for drivers for new hardware
+ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
+
+# Create a symlink to any touchscreen input device
+SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="input:*-e0,1*,3,*k*14A,*a0,1,*18,*", SYMLINK+="input/touchscreen0" \ No newline at end of file
diff --git a/meta/packages/udev/udev-092/permissions.rules b/meta/packages/udev/udev-092/permissions.rules
new file mode 100644
index 0000000000..8da35c3090
--- /dev/null
+++ b/meta/packages/udev/udev-092/permissions.rules
@@ -0,0 +1,109 @@
+ACTION!="add", GOTO="permissions_end"
+
+# workarounds needed to synchronize with sysfs
+DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
+SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
+# only needed for kernels < 2.6.16
+SUBSYSTEM=="net", WAIT_FOR_SYSFS="address"
+# only needed for kernels < 2.6.17
+SUBSYSTEM=="net", ENV{PHYSDEVDRIVER}=="?*", WAIT_FOR_SYSFS="device/driver"
+
+# default permissions for block devices
+SUBSYSTEM=="block", GROUP="disk"
+SUBSYSTEM=="block", SYSFS{removable}=="1", GROUP="floppy"
+
+# IDE devices
+BUS=="ide", KERNEL=="hd[a-z]|pcd[0-9]*", DRIVER=="ide-cdrom|pcd", \
+ IMPORT{program}="cdrom_id --export $tempnode"
+ENV{ID_CDROM}=="?*", GROUP="cdrom"
+BUS=="ide", KERNEL=="ht[0-9]*", GROUP="tape"
+BUS=="ide", KERNEL=="nht[0-9]*", GROUP="tape"
+
+# SCSI devices
+BUS=="scsi", SYSFS{type}=="1", GROUP="tape"
+BUS=="scsi", SYSFS{type}=="3", SYSFS{vendor}=="HP", GROUP="scanner"
+BUS=="scsi", SYSFS{type}=="5", GROUP="cdrom"
+BUS=="scsi", SYSFS{type}=="6", GROUP="scanner"
+
+# USB devices
+BUS=="usb", KERNEL=="legousbtower*", MODE="0666"
+BUS=="usb", KERNEL=="lp[0-9]*", GROUP="lp"
+
+# usbfs-like devices
+SUBSYSTEM=="usb_device", MODE="0664"
+
+# iRiver music players
+SUBSYSTEM=="usb_device", GROUP="plugdev", \
+ SYSFS{idVendor}=="4102", SYSFS{idProduct}=="10[01][135789]"
+
+# serial devices
+SUBSYSTEM=="tty", GROUP="dialout"
+SUBSYSTEM=="capi", GROUP="dialout"
+SUBSYSTEM=="slamr", GROUP="dialout"
+SUBSYSTEM=="zaptel", GROUP="dialout"
+
+# vc devices (all members of the tty subsystem)
+KERNEL=="ptmx", MODE="0666", GROUP="root"
+KERNEL=="console", MODE="0600", GROUP="root"
+KERNEL=="tty", MODE="0666", GROUP="root"
+KERNEL=="tty[0-9]*", GROUP="root"
+KERNEL=="pty*", MODE="0666", GROUP="tty"
+
+# video devices
+SUBSYSTEM=="video4linux", GROUP="video"
+SUBSYSTEM=="drm", GROUP="video"
+SUBSYSTEM=="dvb", GROUP="video"
+SUBSYSTEM=="em8300", GROUP="video"
+SUBSYSTEM=="graphics", GROUP="video"
+SUBSYSTEM=="nvidia", GROUP="video"
+
+# misc devices
+KERNEL=="random", MODE="0666"
+KERNEL=="urandom", MODE="0666"
+KERNEL=="mem", MODE="0640", GROUP="kmem"
+KERNEL=="kmem", MODE="0640", GROUP="kmem"
+KERNEL=="port", MODE="0640", GROUP="kmem"
+KERNEL=="full", MODE="0666"
+KERNEL=="null", MODE="0666"
+KERNEL=="zero", MODE="0666"
+KERNEL=="inotify", MODE="0666"
+KERNEL=="sgi_fetchop", MODE="0666"
+KERNEL=="sonypi", MODE="0666"
+KERNEL=="agpgart", GROUP="video"
+KERNEL=="nvram", GROUP="nvram"
+KERNEL=="rtc", GROUP="audio"
+KERNEL=="tpm*", MODE="0600", OWNER="tss", GROUP="tss"
+KERNEL=="fuse", GROUP="fuse"
+
+KERNEL=="cdemu[0-9]*", GROUP="cdrom"
+KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
+KERNEL=="pktcdvd", MODE="0644"
+
+KERNEL=="uverbs*", GROUP="rdma"
+KERNEL=="ucm*", GROUP="rdma"
+
+# printers and parallel devices
+SUBSYSTEM=="printer", GROUP="lp"
+SUBSYSTEM=="ppdev", GROUP="lp"
+KERNEL=="pt[0-9]*", GROUP="tape"
+KERNEL=="pht[0-9]*", GROUP="tape"
+
+# sound devices
+SUBSYSTEM=="sound", GROUP="audio"
+
+# ieee1394 devices
+KERNEL=="raw1394", GROUP="disk"
+KERNEL=="dv1394*", GROUP="video"
+KERNEL=="video1394*", GROUP="video"
+
+# input devices
+KERNEL=="event[0-9]*", SYSFS{name}=="*dvb*|*DVB*|* IR *" \
+ MODE="0664", GROUP="video"
+KERNEL=="js[0-9]*", MODE="0664"
+
+# AOE character devices
+SUBSYSTEM=="aoe", MODE="0220", GROUP="disk"
+SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
+
+LABEL="permissions_end"
+
diff --git a/meta/packages/udev/udev-092/udev.rules b/meta/packages/udev/udev-092/udev.rules
new file mode 100644
index 0000000000..9c4ea4214d
--- /dev/null
+++ b/meta/packages/udev/udev-092/udev.rules
@@ -0,0 +1,98 @@
+# There are a number of modifiers that are allowed to be used in some
+# of the different fields. They provide the following subsitutions:
+#
+# %n the "kernel number" of the device.
+# For example, 'sda3' has a "kernel number" of '3'
+# %e the smallest number for that name which does not matches an existing node
+# %k the kernel name for the device
+# %M the kernel major number for the device
+# %m the kernel minor number for the device
+# %b the bus id for the device
+# %c the string returned by the PROGRAM
+# %s{filename} the content of a sysfs attribute
+# %% the '%' char itself
+#
+
+# SCSI devices
+BUS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n"
+
+# USB devices
+BUS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="dabusb*", NAME="usb/%k"
+BUS=="usb", KERNEL=="hiddev*", NAME="usb/%k"
+BUS=="usb", KERNEL=="legousbtower*", NAME="usb/%k"
+BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"
+BUS=="usb", KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
+ SYMLINK+="pilot"
+
+# usbfs-like devices
+SUBSYSTEM=="usb_device", \
+ PROGRAM="/bin/sh -c 'export X=%k; export X=$${X#usbdev}; export B=$${X%%%%.*}; export D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK+="%c"
+
+# serial devices
+KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20"
+KERNEL=="capi[0-9]*", NAME="capi/%n"
+
+# video devices
+KERNEL=="card[0-9]*", NAME="dri/%k"
+
+# misc devices
+KERNEL=="hw_random", NAME="hwrng"
+KERNEL=="tun", NAME="net/%k"
+
+KERNEL=="cdemu[0-9]*", NAME="cdemu/%n"
+KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n"
+KERNEL=="pktcdvd", NAME="pktcdvd/control"
+
+KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid"
+KERNEL=="msr[0-9]*", NAME="cpu/%n/msr"
+KERNEL=="microcode", NAME="cpu/microcode"
+
+KERNEL=="umad*", NAME="infiniband/%k"
+KERNEL=="issm*", NAME="infiniband/%k"
+KERNEL=="uverbs*", NAME="infiniband/%k"
+KERNEL=="ucm", NAME="infiniband/%k"
+
+KERNEL=="buzzer", NAME="misc/buzzer"
+
+# ALSA devices
+KERNEL=="controlC[0-9]*", NAME="snd/%k"
+KERNEL=="hwC[D0-9]*", NAME="snd/%k"
+KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k"
+KERNEL=="midiC[D0-9]*", NAME="snd/%k"
+KERNEL=="timer", NAME="snd/%k"
+KERNEL=="seq", NAME="snd/%k"
+
+# ieee1394 devices
+KERNEL=="dv1394*", NAME="dv1394/%n"
+KERNEL=="video1394*", NAME="video1394/%n"
+
+# input devices
+KERNEL=="mice", NAME="input/%k"
+KERNEL=="mouse[0-9]*", NAME="input/%k"
+KERNEL=="event[0-9]*", NAME="input/%k"
+KERNEL=="js[0-9]*", NAME="input/%k"
+KERNEL=="ts[0-9]*", NAME="input/%k"
+KERNEL=="uinput", NAME="input/%k"
+
+# Zaptel
+KERNEL=="zapctl", NAME="zap/ctl"
+KERNEL=="zaptimer", NAME="zap/timer"
+KERNEL=="zapchannel", NAME="zap/channel"
+KERNEL=="zappseudo", NAME="zap/pseudo"
+KERNEL=="zap[0-9]*", NAME="zap/%n"
+
+# AOE character devices
+SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k"
+SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
+
+# device mapper creates its own device nodes, so ignore these
+KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device"
+KERNEL=="device-mapper", NAME="mapper/control"
+
+KERNEL=="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660"
+
+# Firmware Helper
+ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware_helper"
diff --git a/meta/packages/udev/udev.inc b/meta/packages/udev/udev.inc
new file mode 100644
index 0000000000..a3896a6978
--- /dev/null
+++ b/meta/packages/udev/udev.inc
@@ -0,0 +1,61 @@
+DESCRIPTION = "udev is a program which dynamically creates and removes device nodes from \
+/dev/. It responds to /sbin/hotplug device events and requires a 2.6 kernel."
+LICENSE = "GPL"
+
+SRC_URI += " \
+ file://udev.rules \
+ file://devfs-udev.rules \
+ file://links.conf \
+ file://permissions.rules \
+ file://mount.sh \
+ file://network.sh \
+ file://local.rules \
+ file://init"
+
+UDEV_DEVFS_RULES ?= "0"
+
+PACKAGES =+ "udev-utils"
+FILES_udev-utils = "${usrbindir}/udevinfo ${usrbindir}/udevtest"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "udev"
+INITSCRIPT_PARAMS = "start 04 S ."
+
+export CROSS = "${TARGET_PREFIX}"
+export HOSTCC = "${BUILD_CC}"
+export udevdir ?= "/dev"
+export usrbindir := "${bindir}"
+export usrsbindir := "${sbindir}"
+export etcdir = "${sysconfdir}"
+LD = "${CC}"
+bindir = "/bin"
+sbindir = "/sbin"
+
+UDEV_EXTRAS = "<override me>"
+FILES_${PN} += "${usrbindir} ${usrsbindir}"
+EXTRA_OEMAKE = "-e \
+ 'EXTRAS=${UDEV_EXTRAS}' \
+ 'STRIP=echo'"
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+ install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules
+ install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules
+ if [ "${UDEV_DEVFS_RULES}" = "1" ]; then
+ install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules
+ fi
+
+ install -d ${D}${sysconfdir}/udev/scripts/
+
+ install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
+ install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+}
diff --git a/meta/packages/udev/udev_084.bb b/meta/packages/udev/udev_084.bb
new file mode 100644
index 0000000000..71c8e048ff
--- /dev/null
+++ b/meta/packages/udev/udev_084.bb
@@ -0,0 +1,60 @@
+DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
+/dev/, handles hotplug events and loads drivers at boot time. It replaces \
+the hotplug package and requires a kernel not older than 2.6.12."
+RPROVIDES = "hotplug"
+
+SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
+ file://noasmlinkage.patch;patch=1 \
+ file://flags.patch;patch=1 \
+ file://udevsynthesize.patch;patch=1 \
+ file://udevsynthesize.sh \
+ file://mount.blacklist \
+ file://udev_network_queue.sh"
+
+include udev.inc
+
+INITSCRIPT_PARAMS = "start 03 S ."
+
+PR = "r13"
+
+FILES_${PN} += "${base_libdir}"
+UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/"
+EXTRA_OEMAKE += "libudevdir=/lib/udev"
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+ install -m 0755 ${WORKDIR}/udev_network_queue.sh ${D}${sysconfdir}/init.d/
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+
+ install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+ install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules
+ install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules
+ if [ "${UDEV_DEVFS_RULES}" = "1" ]; then
+ install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules
+ fi
+
+ install -d ${D}${sysconfdir}/udev/scripts/
+
+ install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
+ install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/udevsynthesize ${D}${base_libdir}/udev/udevsynthesize
+ install -m 0755 ${WORKDIR}/udevsynthesize.sh ${D}${sbindir}/udevsynthesize
+}
+
+
+pkg_postinst_append() {
+ update-rc.d -s udev_network_queue.sh start 41 S . start 55 0 6 .
+}
+
+
+pkg_postrm_append() {
+ update-rc.d -f udev_network_queue.sh remove
+}
diff --git a/meta/packages/udev/udev_089.bb b/meta/packages/udev/udev_089.bb
new file mode 100644
index 0000000000..3ab31addee
--- /dev/null
+++ b/meta/packages/udev/udev_089.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
+/dev/, handles hotplug events and loads drivers at boot time. It replaces \
+the hotplug package and requires a kernel not older than 2.6.12."
+RPROVIDES = "hotplug"
+
+PR = "r2"
+
+SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
+ file://noasmlinkage.patch;patch=1 \
+ file://flags.patch;patch=1 \
+ file://udevsynthesize.patch;patch=1 \
+ file://udevsynthesize.sh \
+ file://mount.blacklist"
+
+include udev.inc
+
+INITSCRIPT_PARAMS = "start 03 S ."
+
+FILES_${PN} += "${base_libdir}"
+UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/"
+EXTRA_OEMAKE += "libudevdir=/lib/udev"
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+
+ install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+ install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules
+ install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules
+ install -m 0644 ${WORKDIR}/links.conf ${D}${sysconfdir}/udev/links.conf
+ if [ "${UDEV_DEVFS_RULES}" = "1" ]; then
+ install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules
+ fi
+
+ install -d ${D}${sysconfdir}/udev/scripts/
+
+ install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
+ install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/udevsynthesize ${D}${base_libdir}/udev/udevsynthesize
+ install -m 0755 ${WORKDIR}/udevsynthesize.sh ${D}${sbindir}/udevsynthesize
+}
diff --git a/meta/packages/udev/udev_092.bb b/meta/packages/udev/udev_092.bb
new file mode 100644
index 0000000000..f25eeb0946
--- /dev/null
+++ b/meta/packages/udev/udev_092.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \
+/dev/, handles hotplug events and loads drivers at boot time. It replaces \
+the hotplug package and requires a kernel not older than 2.6.12."
+RPROVIDES = "hotplug"
+
+PR = "r5"
+
+SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
+ file://noasmlinkage.patch;patch=1 \
+ file://flags.patch;patch=1 \
+ file://udevsynthesize.patch;patch=1 \
+ file://udevsynthesize.sh \
+ file://mount.blacklist"
+
+include udev.inc
+
+INITSCRIPT_PARAMS = "start 03 S ."
+
+FILES_${PN} += "${base_libdir}"
+UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/ extras/run_directory/"
+EXTRA_OEMAKE += "libudevdir=/lib/udev"
+
+do_install () {
+ install -d ${D}${usrsbindir} \
+ ${D}${sbindir}
+ oe_runmake 'DESTDIR=${D}' INSTALL=install install
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+
+ install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
+ install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
+ install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules
+ install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules
+ install -m 0644 ${WORKDIR}/links.conf ${D}${sysconfdir}/udev/links.conf
+ if [ "${UDEV_DEVFS_RULES}" = "1" ]; then
+ install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules
+ fi
+
+ install -d ${D}${sysconfdir}/udev/scripts/
+
+ install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
+ install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts
+
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/udevsynthesize ${D}${base_libdir}/udev/udevsynthesize
+ install -m 0755 ${WORKDIR}/udevsynthesize.sh ${D}${sbindir}/udevsynthesize
+}
diff --git a/meta/packages/update-modules/update-modules-1.0/openmn/update-modules b/meta/packages/update-modules/update-modules-1.0/openmn/update-modules
new file mode 100755
index 0000000000..976161f141
--- /dev/null
+++ b/meta/packages/update-modules/update-modules-1.0/openmn/update-modules
@@ -0,0 +1,3 @@
+#!/bin/sh
+depmod -ae
+exit 0
diff --git a/meta/packages/update-modules/update-modules-1.0/update-modules b/meta/packages/update-modules/update-modules-1.0/update-modules
new file mode 100755
index 0000000000..636fe1c0d4
--- /dev/null
+++ b/meta/packages/update-modules/update-modules-1.0/update-modules
@@ -0,0 +1,197 @@
+#!/bin/sh
+#
+# This is the update-modules script for Debian GNU/Linux.
+# Copyright 1998-2001 Wichert Akkerman <wakkerma@debian.org>
+# Licensed under the GNU GPL, version 2
+#
+
+MODCONFFILE=/etc/modules.conf
+MODCONFTMPFILE="${MODCONFFILE}.$$"
+MODULESFILE=/etc/modules
+MODULESTMPFILE="${MODULESFILE}.$$"
+
+ARCHDIR=/etc/modutils/arch
+CPUDIR=/etc/modutils/cpu
+HEADER="### This file is automatically generated by update-modules"
+
+set -e
+
+if [ "$1" = "force" ] ; then
+ force=1
+else
+ force=
+fi
+
+# Reset the sorting order since we depend on it
+LC_COLLATE=C
+export LC_COLLATE
+
+depdir()
+{
+ dep=`grep '[[:space:]]*depfile' "${MODCONFFILE}" | tail -n 1 | sed -e 's/depfile=//' -e 's,/[^/]*$,,'`
+ if [ -z "$dep" ] ; then
+ dep="/lib/modules/`uname -r`"
+ fi
+
+ echo $dep
+}
+
+arch() {
+ local model=`uname -m`
+ case $model in
+ i[0-9]86) model=i386; ;;
+ sun4u) model=sparc64; ;;
+ arm*) model=arm; ;;
+ ppc) model=powerpc; ;;
+ esac
+ echo $model
+}
+
+archmodel() {
+ local arch=`arch`
+ local model=""
+ if [ $arch = "m68k" ]; then
+ if [ -f /proc/hardware ]; then
+ model=`sed -ne 's/^Model:[[:space:]]*//p' /proc/hardware`
+ case $model in
+ Atari*) model="atari"; ;;
+ Amiga*) model="amiga"; ;;
+ Macintosh*) model="mac"; ;;
+ Motorola*) model="MVME"; ;;
+ *) model="generic"; ;;
+ esac
+ model=".${model}"
+ else
+ echo "/proc/hardware does not exist, assuming general m68k system"
+ model=".generic"
+ fi
+ elif [ $arch = "powerpc" ]; then
+ if [ -f /proc/cpuinfo ]; then
+ model=`sed -ne 's/^machine[[:space:]]*:[[:space:]]*//p' /proc/cpuinfo`
+ case $model in
+ Amiga*) model="apus"; ;;
+ Power*) model="pmac"; ;;
+ *) model="generic"; ;;
+ esac
+ model=".${model}"
+ else
+ echo "/proc/cpuinfo does not exist, assuming general powerpc system"
+ model=".generic"
+ fi
+ fi
+ echo "${arch}${model}"
+}
+
+checkoverwrite() {
+ local cfgfile="$1"
+
+ if [ -f "$cfgfile" ]; then
+ if ! sed -ne 1p "$cfgfile" | grep -q "^$HEADER" ; then
+ echo "Error: the current $cfgfile is not automatically generated." >&2
+ if [ -z "$force" ]; then
+ echo "Use \"update-modules force\" to force (re)generation."
+ exit 1
+ else
+ echo "force specified, (re)generating file anyway."
+ fi
+ fi
+ fi
+}
+
+createfile() {
+ cat <<EOF > "$1"
+$HEADER"
+#
+# Please do not edit this file directly. If you want to change or add
+# anything please take a look at the files in /etc/modutils and read
+# the manpage for update-modules.
+#
+EOF
+}
+
+addfile() {
+ local src="$1"
+ local tgt="$2"
+
+ echo "### update-modules: start processing $src" >> "$tgt"
+ if [ -x "$src" ]; then
+ if ! "$src" >> "$tgt" ; then
+ echo "Error while executing $src, aborting" >&2
+ exit 1
+ fi
+ else
+ cat "$src" >> "$tgt"
+ fi
+ cat <<EOF >> "$tgt"
+
+### update-modules: end processing $cfg
+
+EOF
+}
+
+
+checkoverwrite "$MODCONFFILE"
+
+if [ 0 -ne "`id -u`" ]; then
+ echo "You have to be root to do this." >&2
+ exit 2
+fi
+
+model=`archmodel`
+oldmodel=$model
+
+while [ ! -f "${ARCHDIR}/${model}" ]; do
+ oldmodel=$model
+ model=`echo $oldmodel | sed -e 's/\.[^.]\+//'`
+ if [ "$model" = "$oldmodel" ]; then
+ break
+ fi
+ echo "Configuration for $oldmodel not found, trying $model"
+done
+
+CONF="${ARCHDIR}/${model}"
+
+if [ ! -f "$CONF" ]; then
+ ## echo "Architecture-specific modutils configuration not found, using defaults"
+ CONF="${ARCHDIR}/generic"
+fi
+
+[ -e "$MODCONFFILE" ] && cp -f "$MODCONFFILE" "${MODCONFFILE}.old"
+
+createfile "$MODCONFTMPFILE"
+createfile "$MODULESTMPFILE"
+
+for cfg in /etc/modutils/* $CONF ; do
+ if [ -f "$cfg" ]; then # this check is necesarry to skip /etc/modutils/archs
+ if echo $cfg | grep -q '\.dpkg-[a-z]*\|~$' ; then
+ true
+ elif echo $cfg | grep -q '\.conf$' ; then
+ addfile "$cfg" "$MODCONFTMPFILE"
+ else
+ addfile "$cfg" "$MODULESTMPFILE"
+ fi
+ fi
+done
+
+first_time=0
+if [ ! -f $MODULESFILE ]; then
+ first_time=1
+fi
+
+mv "$MODCONFTMPFILE" "$MODCONFFILE"
+mv "$MODULESTMPFILE" "$MODULESFILE"
+
+if [ $first_time -eq 1 ]; then
+ /etc/init.d/modutils.sh || true
+fi
+
+# We also call depmod here to stop insmod from complaining that modules.conf
+# is more recent then modules.dep
+#
+if [ -d "`depdir`" -a -f /proc/modules ]
+then
+ depmod -A || true
+fi
+
+exit 0
+
diff --git a/meta/packages/update-modules/update-modules_1.0.bb b/meta/packages/update-modules/update-modules_1.0.bb
new file mode 100644
index 0000000000..dc4c3c0d92
--- /dev/null
+++ b/meta/packages/update-modules/update-modules_1.0.bb
@@ -0,0 +1,19 @@
+SECTION = "base"
+DESCRIPTION = "Script to manage module configuration files"
+LICENSE = "GPLv2"
+PACKAGE_ARCH = "all"
+PR = "r4"
+
+SRC_URI = "file://update-modules"
+
+pkg_postinst() {
+if [ "x$D" != "x" ]; then
+ exit 1
+fi
+update-modules
+}
+
+do_install() {
+ install -d ${D}${sbindir}
+ install ${WORKDIR}/update-modules ${D}${sbindir}
+}
diff --git a/meta/packages/update-rc.d/update-rc.d-0.6/copyright.patch b/meta/packages/update-rc.d/update-rc.d-0.6/copyright.patch
new file mode 100644
index 0000000000..bfe9cb8181
--- /dev/null
+++ b/meta/packages/update-rc.d/update-rc.d-0.6/copyright.patch
@@ -0,0 +1,27 @@
+Index: update-rc.d
+===================================================================
+RCS file: /cvs/apps/update-rc.d/update-rc.d,v
+retrieving revision 1.6
+retrieving revision 1.7
+diff -u -r1.6 -r1.7
+--- update-rc.d/update-rc.d 31 Dec 2004 12:21:40 -0000 1.6
++++ update-rc.d/update-rc.d 31 Dec 2004 16:39:09 -0000 1.7
+@@ -2,8 +2,17 @@
+ #
+ # update-rc.d Update the links in /etc/rc[0-9S].d/
+ #
+-# Phil Blundell <pb@handhelds.org> 2003-06-26
++# (c) 2003, 2004 Phil Blundell <pb@handhelds.org>
+ #
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2, 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.
+
+ initd="/etc/init.d"
+ etcd="/etc/rc"
diff --git a/meta/packages/update-rc.d/update-rc.d_0.6.bb b/meta/packages/update-rc.d/update-rc.d_0.6.bb
new file mode 100644
index 0000000000..ba2f551371
--- /dev/null
+++ b/meta/packages/update-rc.d/update-rc.d_0.6.bb
@@ -0,0 +1,22 @@
+SECTION = "base"
+PRIORITY = "standard"
+DESCRIPTION = "Manage symlinks in /etc/rcN.d"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+LICENSE = "GPL"
+S = "${WORKDIR}/update-rc.d"
+PR = "r1"
+
+SRC_URI = "${HANDHELDS_CVS};module=apps/update-rc.d;tag=r0_6 \
+ file://copyright.patch;patch=1"
+
+do_compile() {
+}
+
+do_stage() {
+ install -m 0755 ${S}/update-rc.d ${STAGING_BINDIR}/
+}
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 ${S}/update-rc.d ${D}${sbindir}/update-rc.d
+}
diff --git a/meta/packages/update-rc.d/update-rc.d_0.7.bb b/meta/packages/update-rc.d/update-rc.d_0.7.bb
new file mode 100644
index 0000000000..ae1cfe83fe
--- /dev/null
+++ b/meta/packages/update-rc.d/update-rc.d_0.7.bb
@@ -0,0 +1,21 @@
+SECTION = "base"
+PRIORITY = "standard"
+DESCRIPTION = "Manage symlinks in /etc/rcN.d"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+LICENSE = "GPL"
+S = "${WORKDIR}/update-rc.d"
+PR = "r0"
+
+SRC_URI = "${HANDHELDS_CVS};module=apps/update-rc.d;tag=r0_7"
+
+do_compile() {
+}
+
+do_stage() {
+ install -m 0755 ${S}/update-rc.d ${STAGING_BINDIR}/
+}
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 ${S}/update-rc.d ${D}${sbindir}/update-rc.d
+}
diff --git a/meta/packages/vera-fonts/ttf-bitstream-vera_1.10.bb b/meta/packages/vera-fonts/ttf-bitstream-vera_1.10.bb
new file mode 100644
index 0000000000..a6f4cd62fb
--- /dev/null
+++ b/meta/packages/vera-fonts/ttf-bitstream-vera_1.10.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "The Bitstream Vera fonts - TTF Edition"
+SECTION = "x11/fonts"
+PRIORITY = "optional"
+LICENSE = "Bitstream Vera"
+PACKAGE_ARCH = "all"
+PR = "r3"
+RDEPENDS = "fontconfig-utils"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-${PV}.tar.bz2"
+
+do_install () {
+ install -d ${D}${prefix}/share/fonts/ttf/
+ for i in *.ttf; do
+ install -m 644 $i ${D}${prefix}/share/fonts/ttf/${i}
+ done
+
+ # fontconfig ships this too. not sure what to do about it.
+ #install -d ${D}${sysconfdir}/fonts
+ #install -m 644 local.conf ${D}${sysconfdir}/fonts/local.conf
+
+
+ install -d ${D}${prefix}/share/doc/${PN}/
+ for i in *.TXT; do
+ install -m 644 $i ${D}${prefix}/share/doc/${PN}/$i
+ done
+}
+
+pkg_postinst () {
+#!/bin/sh
+fc-cache
+}
+
+
+FILES_${PN} = "/etc ${datadir}/fonts"
diff --git a/meta/packages/web/web_svn.bb b/meta/packages/web/web_svn.bb
new file mode 100755
index 0000000000..f79df30c42
--- /dev/null
+++ b/meta/packages/web/web_svn.bb
@@ -0,0 +1,12 @@
+LICENSE = "GPL"
+SECTION = "x11"
+DEPENDS = "libxml2 glib-2.0 gtk+ libglade gtkhtml2 curl gconf js"
+MAINTAINER = "Chris Lord <chris@openedhand.com>"
+DESCRIPTION = "Web is a multi-platform web browsing application."
+
+PR = "r1"
+SRC_URI = "svn://svn.o-hand.com/repos/${PN};module=trunk;proto=http"
+S = "${WORKDIR}/trunk"
+
+inherit autotools pkgconfig gconf
+
diff --git a/meta/packages/wireless-tools/wireless-tools/fixheaders.patch b/meta/packages/wireless-tools/wireless-tools/fixheaders.patch
new file mode 100644
index 0000000000..670804e502
--- /dev/null
+++ b/meta/packages/wireless-tools/wireless-tools/fixheaders.patch
@@ -0,0 +1,34 @@
+Index: wireless_tools.27/wireless.17.h
+===================================================================
+--- wireless_tools.27.orig/wireless.17.h 2004-08-27 15:04:41.000000000 -0400
++++ wireless_tools.27/wireless.17.h 2005-01-19 21:13:25.343064024 -0500
+@@ -71,9 +71,9 @@
+
+ /* To minimise problems in user space, I might remove those headers
+ * at some point. Jean II */
+-#include <linux/types.h> /* for "caddr_t" et al */
+-#include <linux/socket.h> /* for "struct sockaddr" et al */
+-#include <linux/if.h> /* for IFNAMSIZ and co... */
++#include <asm/types.h> /* for "caddr_t" et al */
++#include <sys/socket.h> /* for "struct sockaddr" et al */
++#include <net/if.h> /* for IFNAMSIZ and co... */
+
+ /***************************** VERSION *****************************/
+ /*
+Index: wireless_tools.27/iwlib.h
+===================================================================
+--- wireless_tools.27.orig/iwlib.h 2004-10-28 20:09:47.000000000 -0400
++++ wireless_tools.27/iwlib.h 2005-01-19 21:13:47.438704976 -0500
+@@ -123,9 +123,9 @@
+ #endif /* LIBC5_HEADERS */
+
+ /* Those 3 headers were previously included in wireless.h */
+-#include <linux/types.h> /* for "caddr_t" et al */
+-#include <linux/socket.h> /* for "struct sockaddr" et al */
+-#include <linux/if.h> /* for IFNAMSIZ and co... */
++#include <asm/types.h> /* for "caddr_t" et al */
++#include <sys/socket.h> /* for "struct sockaddr" et al */
++#include <net/if.h> /* for IFNAMSIZ and co... */
+
+ /* Private copy of Wireless extensions */
+ #include <wireless.h>
diff --git a/meta/packages/wireless-tools/wireless-tools/man.patch b/meta/packages/wireless-tools/wireless-tools/man.patch
new file mode 100644
index 0000000000..fd8cf42773
--- /dev/null
+++ b/meta/packages/wireless-tools/wireless-tools/man.patch
@@ -0,0 +1,13 @@
+--- wireless_tools.26/Makefile.orig 2003-06-18 03:38:58.000000000 +0200
++++ wireless_tools.26/Makefile 2004-07-03 23:35:29.000000000 +0200
+@@ -57,8 +57,8 @@
+ # Install directories
+ INSTALL_DIR= $(PREFIX)/sbin/
+ INSTALL_LIB= $(PREFIX)/lib/
+-INSTALL_INC= $(PREFIX)/include/
+-INSTALL_MAN= $(PREFIX)/man/
++INSTALL_INC= $(PREFIX)/usr/include/
++INSTALL_MAN= $(PREFIX)/usr/share/man/
+
+ # Use local header if the version of wireless extensions is specified
+ ifdef FORCE_WEXT_VERSION
diff --git a/meta/packages/wireless-tools/wireless-tools/wireless-tools.if-pre-up b/meta/packages/wireless-tools/wireless-tools/wireless-tools.if-pre-up
new file mode 100755
index 0000000000..11fbced462
--- /dev/null
+++ b/meta/packages/wireless-tools/wireless-tools/wireless-tools.if-pre-up
@@ -0,0 +1,122 @@
+#!/bin/sh
+
+case "$METHOD" in loopback) exit 0 ;; esac
+
+IWCONFIG=/sbin/iwconfig
+IWPRIV=/sbin/iwpriv
+
+if [ ! -x $IWCONFIG ]; then
+ exit 0
+fi
+
+# Detect and do nothing for linux-wlan-ng interfaces;
+# which are configured by thier own if-pre-up script.
+if [ -n "$IF_WIRELESS_TYPE" -a "$IF_WIRELESS_TYPE" = "wlan-ng" ]; then
+ exit 0
+fi
+
+if [ -n "$IF_NEEDS_RESET" ]; then
+ $IWPRIV "$IFACE" reset 1
+ sleep 1
+fi
+
+if [ -n "$IF_NEEDS_FIRMWARE" ]; then
+ $IF_NEEDS_FIRMWARE "$IFACE"
+fi
+
+if [ -n "$IF_WIRELESS_SENS" ]; then
+ $IWCONFIG "$IFACE" sens $IF_WIRELESS_SENS
+fi
+
+if [ -n "$IF_WIRELESS_RATE" ]; then
+ $IWCONFIG "$IFACE" rate $IF_WIRELESS_RATE
+fi
+
+if [ -n "$IF_WIRELESS_RTS" ]; then
+ $IWCONFIG "$IFACE" rts $IF_WIRELESS_RTS
+fi
+
+if [ -n "$IF_WIRELESS_FRAG" ]; then
+ $IWCONFIG "$IFACE" frag $IF_WIRELESS_FRAG
+fi
+
+if [ -n "$IF_WIRELESS_POWER" ]; then
+ $IWCONFIG "$IFACE" power $IF_WIRELESS_POWER
+fi
+
+if [ -n "$IF_WIRELESS_POWERPERIOD" ]; then
+ $IWCONFIG "$IFACE" power period $IF_WIRELESS_POWERPERIOD
+fi
+
+if [ -n "$IF_WIRELESS_POWERTIMEOUT" ]; then
+ $IWCONFIG "$IFACE" power timeout $IF_WIRELESS_POWERTIMEOUT
+fi
+
+if [ -n "$IF_WIRELESS_TXPOWER" ]; then
+ $IWCONFIG "$IFACE" txpower $IF_WIRELESS_TXPOWER
+fi
+
+if [ -n "$IF_WIRELESS_RETRY" ]; then
+ $IWCONFIG "$IFACE" retry $IF_WIRELESS_RETRY
+fi
+
+if [ -n "$IF_WIRELESS_ESSID" ]; then
+ $IWCONFIG "$IFACE" essid "$IF_WIRELESS_ESSID"
+fi
+
+if [ -n "$IF_WIRELESS_NICK" ]; then
+ $IWCONFIG "$IFACE" nick "$IF_WIRELESS_NICK"
+fi
+
+if [ -n "$IF_WIRELESS_NWID" ]; then
+ $IWCONFIG "$IFACE" nwid "$IF_WIRELESS_NWID"
+fi
+
+if [ -n "$IF_WIRELESS_ENC" ]; then
+ eval $IWCONFIG "$IFACE" enc $IF_WIRELESS_ENC
+fi
+
+if [ -n "$IF_WIRELESS_KEY" ]; then
+ eval $IWCONFIG "$IFACE" key $IF_WIRELESS_KEY
+fi
+
+if [ -n "$IF_WIRELESS_KEY1" ]; then
+ $IWCONFIG "$IFACE" key [1] "$IF_WIRELESS_KEY1"
+fi
+
+if [ -n "$IF_WIRELESS_KEY2" ]; then
+ $IWCONFIG "$IFACE" key [2] "$IF_WIRELESS_KEY2"
+fi
+
+if [ -n "$IF_WIRELESS_KEY3" ]; then
+ $IWCONFIG "$IFACE" key [3] "$IF_WIRELESS_KEY3"
+fi
+
+if [ -n "$IF_WIRELESS_KEY4" ]; then
+ $IWCONFIG "$IFACE" key [4] "$IF_WIRELESS_KEY4"
+fi
+
+if [ -n "$IF_WIRELESS_DEFAULTKEY" ]; then
+ $IWCONFIG "$IFACE" key ["$IF_WIRELESS_DEFAULTKEY"]
+fi
+
+if [ -n "$IF_WIRELESS_KEYMODE" ]; then
+ $IWCONFIG "$IFACE" key "$IF_WIRELESS_KEYMODE"
+fi
+
+if [ -n "$IF_WIRELESS_MODE" ]; then
+ $IWCONFIG "$IFACE" mode $IF_WIRELESS_MODE
+fi
+
+if [ -n "$IF_WIRELESS_FREQ" ]; then
+ $IWCONFIG "$IFACE" freq $IF_WIRELESS_FREQ
+fi
+
+if [ -n "$IF_WIRELESS_CHANNEL" ]; then
+ $IWCONFIG "$IFACE" channel $IF_WIRELESS_CHANNEL
+fi
+
+if [ -n "$IF_WIRELESS_COMMIT" ]; then
+ $IWCONFIG "$IFACE" commit
+fi
+
diff --git a/meta/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up b/meta/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up
new file mode 100644
index 0000000000..4c8e95bf2a
--- /dev/null
+++ b/meta/packages/wireless-tools/wireless-tools/zzz-wireless.if-pre-up
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# /etc/network/if-pre-up.d/zzz-wireless
+# by Stefan Tomanek (stefan@pico.ruhr.de)
+
+
+IWCONFIG=/sbin/iwconfig
+IFCONFIG=/sbin/ifconfig
+GREP=/bin/grep
+LOGGER=/usr/bin/logger
+SLEEP=/bin/sleep
+
+# How long do we wait for association?
+RETRIES=15
+SLEEPTIME=1
+
+# Only sleep if we use DHCP (add others methods seperated by spaces)
+ONLY_FOR="static dhcp"
+
+if [ -z "$IF_WIRELESS_TYPE" ] && echo "$ONLY_FOR" | grep -q "$METHOD" ; then
+ $IFCONFIG $IFACE up
+ $LOGGER Checking for WLAN association...
+ while ( [ $RETRIES -gt 0 ] && ($IWCONFIG "$IFACE" | $GREP -q "Access Point: Not-Associated") ); do
+ $LOGGER No association yet, $RETRIES retries until timeout
+ RETRIES=$(($RETRIES-1))
+ $SLEEP $SLEEPTIME
+ done
+
+ if [ $RETRIES -eq 0 ]; then
+ $LOGGER Timeout waiting for association, continuing anyway...
+ else
+ $LOGGER Found association!
+ fi
+fi
diff --git a/meta/packages/wireless-tools/wireless-tools_28-pre6.bb b/meta/packages/wireless-tools/wireless-tools_28-pre6.bb
new file mode 100644
index 0000000000..f230cd307b
--- /dev/null
+++ b/meta/packages/wireless-tools/wireless-tools_28-pre6.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "Tools for the Linux Standard Wireless Extension Subsystem"
+HOMEPAGE = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.28.pre6.tar.gz \
+ file://man.patch;patch=1 \
+ file://fixheaders.patch;patch=1 \
+ file://wireless-tools.if-pre-up"
+S = "${WORKDIR}/wireless_tools.28"
+
+CFLAGS =+ "-I${S}"
+EXTRA_OEMAKE = "-e 'BUILD_SHARED=y' \
+ 'INSTALL_DIR=${D}${base_sbindir}' \
+ 'INSTALL_LIB=${D}${libdir}' \
+ 'INSTALL_INC=${D}${includedir}' \
+ 'INSTALL_MAN=${D}${mandir}'"
+
+do_compile() {
+ oe_runmake all libiw.a
+}
+
+do_stage () {
+ install -m 0644 wireless.h ${STAGING_INCDIR}/
+ install -m 0644 iwlib.h ${STAGING_INCDIR}/
+ oe_libinstall -a -so libiw ${STAGING_LIBDIR}/
+}
+
+do_install() {
+ oe_runmake PREFIX=${D} install-iwmulticall install-dynamic
+ install -d ${D}${sysconfdir}/network/if-pre-up.d
+ install ${WORKDIR}/wireless-tools.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/wireless-tools
+}
+
+PACKAGES = "libiw libiw-dev libiw-doc ${PN} ${PN}-doc"
+FILES_libiw = "${libdir}/*.so.*"
+FILES_libiw-dev = "${libdir}/*.a ${libdir}/*.so ${includedir}"
+FILES_libiw-doc = "${mandir}/man7"
+FILES_${PN} = "${bindir} ${sbindir} ${base_sbindir} ${base_bindir} ${sysconfdir}/network"
+FILES_${PN}-doc = "${mandir}/man8"
diff --git a/meta/packages/wireless-tools/wireless-tools_29-pre10.bb b/meta/packages/wireless-tools/wireless-tools_29-pre10.bb
new file mode 100644
index 0000000000..c961a25f83
--- /dev/null
+++ b/meta/packages/wireless-tools/wireless-tools_29-pre10.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "Tools for the Linux Standard Wireless Extension Subsystem"
+HOMEPAGE = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.28.pre13.tar.gz \
+ file://man.patch;patch=1 \
+ file://wireless-tools.if-pre-up \
+ file://zzz-wireless.if-pre-up"
+S = "${WORKDIR}/wireless_tools.28"
+
+CFLAGS =+ "-I${S}"
+EXTRA_OEMAKE = "-e 'BUILD_SHARED=y' \
+ 'INSTALL_DIR=${D}${base_sbindir}' \
+ 'INSTALL_LIB=${D}${libdir}' \
+ 'INSTALL_INC=${D}${includedir}' \
+ 'INSTALL_MAN=${D}${mandir}'"
+
+do_compile() {
+ oe_runmake all libiw.a
+}
+
+do_stage() {
+ install -m 0644 wireless.h ${STAGING_INCDIR}/
+ install -m 0644 iwlib.h ${STAGING_INCDIR}/
+ oe_libinstall -a -so libiw ${STAGING_LIBDIR}/
+}
+
+do_install() {
+ oe_runmake PREFIX=${D} install-iwmulticall install-dynamic
+ install -d ${D}${sysconfdir}/network/if-pre-up.d
+ install ${WORKDIR}/wireless-tools.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/wireless-tools
+ install ${WORKDIR}/zzz-wireless.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/zzz-wireless
+}
+
+PACKAGES = "libiw libiw-dev libiw-doc ${PN} ${PN}-doc"
+FILES_libiw = "${libdir}/*.so.*"
+FILES_libiw-dev = "${libdir}/*.a ${libdir}/*.so ${includedir}"
+FILES_libiw-doc = "${mandir}/man7"
+FILES_${PN} = "${bindir} ${sbindir} ${base_sbindir} ${base_bindir} ${sysconfdir}/network"
+FILES_${PN}-doc = "${mandir}/man8"
diff --git a/meta/packages/wpa-supplicant/files/defaults-sane b/meta/packages/wpa-supplicant/files/defaults-sane
new file mode 100644
index 0000000000..67c4cbddf8
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/defaults-sane
@@ -0,0 +1,8 @@
+# Useful flags:
+# -i <ifname> Interface (required, unless specified in config)
+# -D <driver> Wireless Driver
+# -d Debugging (-dd for more)
+# -q Quiet (-qq for more)
+
+CONFIG="/etc/wpa_supplicant.conf"
+OPTIONS="-i eth1 -D wext"
diff --git a/meta/packages/wpa-supplicant/files/defconfig b/meta/packages/wpa-supplicant/files/defconfig
new file mode 100644
index 0000000000..c165343399
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/defconfig
@@ -0,0 +1,157 @@
+# This file lists the configuration options that are used when building the
+# hostapd binary. All lines starting with # are ignored. Configuration option
+# lines must be commented out complete, if they are not to be included, i.e.,
+# just setting VARIABLE=n is not disabling that variable.
+#
+# This file is included in Makefile, so variables like CFLAGS and LIBS can also
+# be modified from here. In most cass, these lines should use += in order not
+# to override previous values of the variables.
+
+CFLAGS = $(TARGET_CFLAGS) -I../hostapd -I../utils -I../driver/modules -Wall -MMD
+
+# for wpa_supplicant, wpa_cli
+LIBS = $(TARGET_LDFLAGS)
+
+# for wpa_passphrase:
+LIBS_p = $(TARGET_LDFLAGS)
+
+
+# Uncomment following two lines and fix the paths if you have installed openssl
+# in non-default location
+#CFLAGS += -I/usr/local/openssl/include
+#LIBS += -L/usr/local/openssl/lib
+
+# Example configuration for various cross-compilation platforms
+
+#### sveasoft (e.g., for Linksys WRT54G) ######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
+#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
+###############################################################################
+
+#### openwrt (e.g., for Linksys WRT54G) #######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
+# -I../WRT54GS/release/src/include
+#LIBS = -lssl
+###############################################################################
+
+
+# Driver interface for Host AP driver
+CONFIG_DRIVER_HOSTAP=y
+
+# Driver interface for Agere driver
+CONFIG_DRIVER_HERMES=y
+
+# Driver interface for madwifi driver
+#CONFIG_DRIVER_MADWIFI=y
+# Change include directories to match with the local setup
+#CFLAGS += -I../madwifi/wpa
+
+# Driver interface for Prism54 driver
+#CONFIG_DRIVER_PRISM54=y
+
+# Driver interface for ndiswrapper
+#CONFIG_DRIVER_NDISWRAPPER=y
+
+# Driver interface for Atmel driver
+#CONFIG_DRIVER_ATMEL=y
+
+# Driver interface for Broadcom driver
+#CONFIG_DRIVER_BROADCOM=y
+# Example path for wlioctl.h; change to match your configuration
+#CFLAGS += -I/opt/WRT54GS/release/src/include
+
+# Driver interface for Intel ipw2100 driver
+#CONFIG_DRIVER_IPW2100=y
+
+# Driver interface for generic Linux wireless extensions
+CONFIG_DRIVER_WEXT=y
+
+# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
+#CONFIG_DRIVER_BSD=y
+#CFLAGS += -I/usr/local/include
+#LIBS += -L/usr/local/lib
+
+# Driver interface for Windows NDIS
+#CONFIG_DRIVER_NDIS=y
+#CFLAGS += -I/usr/include/w32api/ddk
+#LIBS += -L/usr/local/lib
+# For native build using mingw
+#CONFIG_NATIVE_WINDOWS=y
+# Additional directories for cross-compilation on Linux host for mingw target
+#CFLAGS += -I/opt/mingw/mingw32/include/ddk
+#LIBS += -L/opt/mingw/mingw32/lib
+#CC=mingw32-gcc
+
+# Driver interface for development testing
+#CONFIG_DRIVER_TEST=y
+
+# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
+# included)
+CONFIG_IEEE8021X_EAPOL=y
+
+# EAP-MD5 (automatically included if EAP-TTLS is enabled)
+CONFIG_EAP_MD5=y
+
+# EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled)
+CONFIG_EAP_MSCHAPV2=y
+
+# EAP-TLS
+CONFIG_EAP_TLS=y
+
+# EAL-PEAP
+CONFIG_EAP_PEAP=y
+
+# EAP-TTLS
+CONFIG_EAP_TTLS=y
+
+# EAP-GTC
+CONFIG_EAP_GTC=y
+
+# EAP-OTP
+CONFIG_EAP_OTP=y
+
+# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
+#CONFIG_EAP_SIM=y
+
+# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
+#CONFIG_EAP_PSK=y
+
+# LEAP
+CONFIG_EAP_LEAP=y
+
+# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
+#CONFIG_EAP_AKA=y
+
+# PKCS#12 (PFX) support (used to read private key and certificate file from
+# a file that usually has extension .p12 or .pfx)
+CONFIG_PKCS12=y
+
+# PC/SC interface for smartcards (USIM, GSM SIM)
+# Enable this if EAP-SIM or EAP-AKA is included
+#CONFIG_PCSC=y
+
+# Development testing
+#CONFIG_EAPOL_TEST=y
+
+# Replace native Linux implementation of packet sockets with libdnet/libpcap.
+# This will be automatically set for non-Linux OS.
+#CONFIG_DNET_PCAP=y
+
+# Include control interface for external programs, e.g, wpa_cli
+CONFIG_CTRL_IFACE=y
+
+# Include interface for using external supplicant (Xsupplicant) for EAP
+# authentication
+#CONFIG_XSUPPLICANT_IFACE=y
+
+# Include support for GNU Readline and History Libraries in wpa_cli.
+# When building a wpa_cli binary for distribution, please note that these
+# libraries are licensed under GPL and as such, BSD license may not apply for
+# the resulting binary.
+#CONFIG_READLINE=y
diff --git a/meta/packages/wpa-supplicant/files/defconfig-gnutls b/meta/packages/wpa-supplicant/files/defconfig-gnutls
new file mode 100644
index 0000000000..2df5e51df8
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/defconfig-gnutls
@@ -0,0 +1,176 @@
+# This file lists the configuration options that are used when building the
+# hostapd binary. All lines starting with # are ignored. Configuration option
+# lines must be commented out complete, if they are not to be included, i.e.,
+# just setting VARIABLE=n is not disabling that variable.
+#
+# This file is included in Makefile, so variables like CFLAGS and LIBS can also
+# be modified from here. In most cass, these lines should use += in order not
+# to override previous values of the variables.
+
+CFLAGS = $(TARGET_CFLAGS) -I../hostapd -I../utils -I../driver/modules -Wall -MMD
+LIBS = $(TARGET_LDFLAGS)
+
+# Driver interface for Host AP driver
+CONFIG_DRIVER_HOSTAP=y
+
+# Driver interface for Agere driver
+#CONFIG_DRIVER_HERMES=n
+
+# Driver interface for madwifi driver
+#CONFIG_DRIVER_MADWIFI=y
+
+# Driver interface for Prism54 driver
+#CONFIG_DRIVER_PRISM54=y
+
+# Driver interface for ndiswrapper
+#CONFIG_DRIVER_NDISWRAPPER=y
+
+# Driver interface for Atmel driver
+#CONFIG_DRIVER_ATMEL=y
+
+# Driver interface for Broadcom driver
+#CONFIG_DRIVER_BROADCOM=y
+
+# Driver interface for Intel ipw2100 driver
+#CONFIG_DRIVER_IPW2100=y
+
+# Driver interface for generic Linux wireless extensions
+CONFIG_DRIVER_WEXT=y
+
+# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
+#CONFIG_DRIVER_BSD=y
+#CFLAGS += -I/usr/local/include
+#LIBS += -L/usr/local/lib
+
+# Driver interface for development testing
+#CONFIG_DRIVER_TEST=y
+
+# Driver interface for wired Ethernet drivers
+CONFIG_DRIVER_WIRED=y
+
+# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
+# included)
+CONFIG_IEEE8021X_EAPOL=y
+
+# EAP-MD5 (automatically included if EAP-TTLS is enabled)
+CONFIG_EAP_MD5=y
+
+# EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled)
+CONFIG_EAP_MSCHAPV2=y
+
+# EAP-TLS
+CONFIG_EAP_TLS=y
+
+# EAL-PEAP
+CONFIG_EAP_PEAP=y
+
+# EAP-TTLS
+CONFIG_EAP_TTLS=y
+
+# EAP-GTC
+CONFIG_EAP_GTC=y
+
+# EAP-OTP
+CONFIG_EAP_OTP=y
+
+# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
+#CONFIG_EAP_SIM=y
+
+# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
+#CONFIG_EAP_PSK=y
+
+# EAP-PAX
+#CONFIG_EAP_PAX=y
+
+# LEAP
+CONFIG_EAP_LEAP=y
+
+# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
+#CONFIG_EAP_AKA=y
+
+# PKCS#12 (PFX) support (used to read private key and certificate file from
+# a file that usually has extension .p12 or .pfx)
+CONFIG_PKCS12=y
+
+# Smartcard support (i.e., private key on a smartcard), e.g., with openssl
+# engine.
+CONFIG_SMARTCARD=y
+
+# PC/SC interface for smartcards (USIM, GSM SIM)
+# Enable this if EAP-SIM or EAP-AKA is included
+#CONFIG_PCSC=y
+
+# Development testing
+#CONFIG_EAPOL_TEST=y
+
+# Replace native Linux implementation of packet sockets with libdnet/libpcap.
+# This will be automatically set for non-Linux OS.
+#CONFIG_DNET_PCAP=y
+
+# Include control interface for external programs, e.g, wpa_cli
+CONFIG_CTRL_IFACE=y
+
+# Include support for GNU Readline and History Libraries in wpa_cli.
+# When building a wpa_cli binary for distribution, please note that these
+# libraries are licensed under GPL and as such, BSD license may not apply for
+# the resulting binary.
+#CONFIG_READLINE=y
+
+# Remove debugging code that is printing out debug message to stdout.
+# This can be used to reduce the size of the wpa_supplicant considerably
+# if debugging code is not needed. The size reduction can be around 35%
+# (e.g., 90 kB).
+#CONFIG_NO_STDOUT_DEBUG=y
+
+# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save
+# 35-50 kB in code size.
+#CONFIG_NO_WPA=y
+
+# Select configuration backend:
+# file = text file (e.g., wpa_supplicant.conf)
+# winreg = Windows registry (see win_example.reg for an example)
+CONFIG_BACKEND=file
+
+# Select program entry point implementation:
+# main = UNIX/POSIX like main() function (default)
+# main_winsvc = Windows service (read parameters from registry)
+# main_none = Very basic example (development use only)
+#CONFIG_MAIN=main
+
+# Select wrapper for operatins system and C library specific functions
+# unix = UNIX/POSIX like systems (default)
+# win32 = Windows systems
+# none = Empty template
+#CONFIG_OS=unix
+
+# Select event loop implementation
+# eloop = select() loop (default)
+# eloop_win = Windows events and WaitForMultipleObject() loop
+# eloop_none = Empty template
+#CONFIG_ELOOP=eloop
+
+# Select layer 2 packet implementation
+# linux = Linux packet socket (default)
+# pcap = libpcap/libdnet/WinPcap
+# freebsd = FreeBSD libpcap
+# winpcap = WinPcap with receive thread
+# none = Empty template
+#CONFIG_L2_PACKET=linux
+
+# IEEE 802.11i/IEEE 802.11e STAKey negotiation for direct link connection
+#CONFIG_STAKEY=y
+
+# Select TLS implementation
+# openssl = OpenSSL (default)
+# gnutls = GnuTLS (needed for TLS/IA, see also CONFIG_GNUTLS_EXTRA)
+# none = Empty template
+CONFIG_TLS=gnutls
+
+# Whether to enable TLS/IA support, which is required for EAP-TTLSv1.
+# You need CONFIG_TLS=gnutls for this to have any effect. Please note that
+# even though the core GnuTLS library is released under LGPL, this extra
+# library uses GPL and as such, the terms of GPL apply to the combination
+# of wpa_supplicant and GnuTLS if this option is enabled. BSD license may not
+# apply for distribution of the resulting binary.
+CONFIG_GNUTLS_EXTRA=y
+
diff --git a/meta/packages/wpa-supplicant/files/driver-hermes.patch b/meta/packages/wpa-supplicant/files/driver-hermes.patch
new file mode 100644
index 0000000000..ad96db32c1
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/driver-hermes.patch
@@ -0,0 +1,889 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- /dev/null
++++ wpa_supplicant/driver_hermes.c
+@@ -0,0 +1,705 @@
++/*
++ * WPA Supplicant - testing driver interface
++ * Copyright (c) 2004-2005, Jouni Malinen <jkmaline@cc.hut.fi>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Alternatively, this software may be distributed under the terms of BSD
++ * license.
++ *
++ * See README and COPYING for more details.
++ */
++
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++#include <net/if_arp.h>
++
++#include "wireless_copy.h"
++#include "common.h"
++#include "driver.h"
++
++#include "eloop.h"
++#include "wpa_supplicant.h"
++#include "priv_netlink.h"
++
++#include "hostap_common.h"
++#include "driver_wext.h"
++#include "driver_hermes.h"
++
++
++
++/* Enumeration for supported Hermes Types */
++enum
++{
++ WL_HERMES_UNKNOWN = 0,
++ WL_HERMES_1 = 1,
++ WL_HERMES_2 = 2,
++ WL_HERMES_25 = 3
++};
++
++
++
++
++struct wpa_driver_hermes_data {
++ void *wext; /* private data for driver_wext */
++ void *ctx;
++ char ifname[IFNAMSIZ + 1];
++ int sock;
++ int type;
++};
++
++
++
++/****************************************************************************/
++/* */
++/* Routines for basic device access to Agere Hermes-I/Hermes-II via the UIL */
++/* */
++/****************************************************************************/
++
++IFBP _connect(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s %d", __FUNCTION__, drv->ifname, drv->sock);
++
++ memset(&urq, 0, sizeof(urq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.command = UIL_FUN_CONNECT;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++ if (result == 0 && urq.result == UIL_SUCCESS) {
++ ifbp = urq.hcfCtx;
++ } else {
++ wpa_printf(MSG_DEBUG, "%s: could not set IFBP, result %d", __FUNCTION__, result);
++ }
++
++ return ifbp;
++}
++
++
++void _disconnect(void *priv, IFBP ifbp)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ if (ifbp != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.command = UIL_FUN_DISCONNECT;
++ urq.hcfCtx = ifbp;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf( MSG_WARNING, "wl_disconnect(): ioctl() failed, errno: %d", errno );
++ wpa_printf( MSG_WARNING, "wl_disconnect(): urq.result: %d", urq.result );
++ }
++ } else {
++ wpa_printf(MSG_WARNING, "wl_disconnect(): called with NULL ifbp");
++ }
++
++ return;
++}
++
++int _get_info(void *priv, ltv_t *ltv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ /* First, connect to the device */
++ ifbp = _connect(priv);
++ if (ifbp != NULL && ltv != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.hcfCtx = ifbp;
++ urq.command = UIL_FUN_GET_INFO;
++ urq.len = sizeof(ltv_t);
++ urq.data = ltv;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf(MSG_WARNING, "wl_disconnect(): ioctl() failed, errno: %d", errno);
++ wpa_printf(MSG_WARNING, "wl_disconnect(): urq.result: %d", urq.result);
++ }
++ _disconnect(priv, ifbp);
++ } else {
++ wpa_printf( MSG_WARNING, "Could not connect to the device, or LTV NULL");
++ result = -1;
++ }
++
++ return result;
++}
++
++int _put_info(void *priv, ltv_t *ltv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ /* First, connect to the device */
++ ifbp = _connect(priv);
++ if (ifbp != NULL && ltv != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.hcfCtx = ifbp;
++ urq.command = UIL_FUN_PUT_INFO;
++ urq.len = sizeof( ltv_t );
++ urq.data = ltv;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf(MSG_WARNING, "_put_info(): ioctl() failed, errno: %d", errno);
++ wpa_printf(MSG_WARNING, "_put_info(): urq.result: %d", urq.result);
++ }
++
++ _disconnect(priv, ifbp);
++ } else {
++ wpa_printf(MSG_WARNING, "%s: could not connect to the device, or LTV NULL", __FUNCTION__ );
++ result = -1;
++ }
++
++ return result;
++}
++
++
++static void _detect_hermes_type(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ CFG_FW_IDENTITY_STRCT *fw_id;
++ ltv_t ltv;
++ int result;
++
++ //wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ drv->type = WL_HERMES_UNKNOWN;
++
++ if (drv->sock >= 0) {
++ fw_id = (CFG_FW_IDENTITY_STRCT *)&ltv;
++ fw_id->len = ( sizeof(CFG_FW_IDENTITY_STRCT) / sizeof( hcf_16 )) - 1;
++ fw_id->typ = CFG_FW_IDENTITY;
++
++ result = _get_info(priv, (ltv_t *)fw_id);
++ if (result == HCF_SUCCESS) {
++ //wpa_printf(MSG_DEBUG, "PRI CompID : %d", fw_id->comp_id);
++ //wpa_printf(MSG_DEBUG, "PRI Variant : %d", fw_id->variant);
++ //wpa_printf(MSG_DEBUG, "PRI Version : %d.%02d", fw_id->version_major, fw_id->version_minor);
++
++ switch(fw_id->comp_id) {
++ case COMP_ID_FW_STA:
++ switch (fw_id->variant) {
++ case 1:
++ case 2:
++ wpa_printf(MSG_DEBUG, "found Hermes 1 STA");
++ drv->type = WL_HERMES_1;
++ break;
++
++ case 3:
++ wpa_printf(MSG_DEBUG, "found Hermes 2 STA");
++ drv->type = WL_HERMES_2;
++ break;
++ case 4:
++ wpa_printf(MSG_DEBUG, "found Hermes 2.5 STA");
++ drv->type = WL_HERMES_25;
++ break;
++ }
++ break;
++
++ case COMP_ID_FW_AP:
++ switch (fw_id->variant) {
++ case 1:
++ wpa_printf(MSG_DEBUG, "found Hermes 1 AP");
++ drv->type = WL_HERMES_1;
++ break;
++
++ case 2:
++ wpa_printf(MSG_DEBUG, "found Hermes 2 AP" );
++ drv->type = WL_HERMES_2;
++ break;
++ }
++ break;
++
++ default:
++ wpa_printf(MSG_WARNING, "could not detect Hermes type!");
++ break;
++ }
++ }
++ }
++}
++
++
++
++/****************************************************************************/
++
++
++static int wpa_driver_hermes_set_wpa_ie(void *priv, const char *wpa_ie,
++ size_t wpa_ie_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ ltv.len = 2;
++ ltv.typ = CFG_SET_WPA_AUTH_KEY_MGMT_SUITE;
++
++ switch(drv->type) {
++ case WL_HERMES_1:
++ ltv.u.u16[0] = 2;
++ break;
++
++ case WL_HERMES_2:
++ case WL_HERMES_25:
++ ltv.u.u16[0] = 4;
++ break;
++
++ default:
++ ltv.u.u16[0] = 0;
++ break;
++ }
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_wpa(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __func__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_CNF_ENCRYPTION;
++ ltv.u.u16[0] = enabled ? 2 : 0; /* Setting CFG_CNF_ENCRYPTION to 2 sets WPA: TKIP or better */
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_key(void *priv, wpa_alg alg,
++ const u8 *addr, int key_idx,
++ int set_tx, const u8 *seq, size_t seq_len,
++ const u8 *key, size_t key_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int ret = 0;
++ char *alg_name;
++ ltv_t ltv;
++ int count = 0;
++ int buf_idx = 0;
++ hcf_8 tsc[] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 };
++ hcf_8 rsc[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
++
++
++ switch (alg) {
++ case WPA_ALG_NONE:
++ alg_name = "none";
++ break;
++ case WPA_ALG_WEP:
++ alg_name = "WEP";
++ break;
++ case WPA_ALG_TKIP:
++ alg_name = "TKIP";
++ break;
++ case WPA_ALG_CCMP:
++ alg_name = "CCMP";
++ break;
++ default:
++ return -1;
++ }
++
++ wpa_printf(MSG_DEBUG, "%s: alg=%s key_idx=%d set_tx=%d seq_len=%d "
++ "key_len=%d", __FUNCTION__, alg_name, key_idx, set_tx,
++ seq_len, key_len);
++
++ if (seq_len > IW_ENCODE_SEQ_MAX_SIZE) {
++ wpa_printf(MSG_DEBUG, "%s: Invalid seq_len %lu", __FUNCTION__, (unsigned long) seq_len);
++ return -2;
++ }
++
++ /* Check the key index here; if 0, load as Pairwise Key, otherwise, load as
++ a group key. Note that for the Hermes, the RIDs for group/pairwise keys
++ are different from each other and different than the default WEP keys as
++ well. */
++ switch (alg) {
++ case WPA_ALG_TKIP:
++ /* Make sure that there is no data queued up in the firmware before
++ setting the TKIP keys. If this check is not performed, some data
++ may be sent out with incorrect MIC and cause synchronizarion
++ errors with the AP */
++ /* Check every 1ms for 100ms */
++ for (count = 0; count < 100; count++) {
++ usleep(1000);
++
++ ltv.len = 2;
++ ltv.typ = 0xFD91; // This RID not defined in HCF yet!!!
++ ltv.u.u16[0] = 0;
++
++ _get_info( priv, &ltv);
++
++ if (ltv.u.u16[0] == 0)
++ break;
++ }
++
++ if (count == 100)
++ wpa_printf(MSG_DEBUG, "%s: Timed out waiting for TxQ!", __FUNCTION__);
++
++
++ switch (key_idx) {
++ case 0:
++ /* Only load key as pairwise key for Hermes-II and II.5. For Hermes-I,
++ fall through to the next case and load the pairwise key as
++ a Group Key at index 0. */
++ if (drv->type == WL_HERMES_2 || drv->type == WL_HERMES_25) {
++ ltv.len = 28;
++ ltv.typ = CFG_ADD_TKIP_MAPPED_KEY;
++
++ /* Load the BSSID */
++ memcpy(&ltv.u.u8[buf_idx], addr, ETH_ALEN);
++ buf_idx += ETH_ALEN;
++
++ /* Load the TKIP key */
++ memcpy(&ltv.u.u8[buf_idx], &key[0], 16);
++ buf_idx += 16;
++
++ /* Load the TSC */
++ memcpy(&ltv.u.u8[buf_idx], tsc, 8);
++ buf_idx += 8;
++
++ /* Load the RSC */
++ /* Copy the RSC from the supplicant to a local buffer, because
++ the RSC doesn't always contain the padding needed */
++ memcpy(rsc, seq, seq_len);
++ memcpy(&ltv.u.u8[buf_idx], rsc, 8);
++ buf_idx += 8;
++
++ /* Load the TxMIC key */
++ memcpy(&ltv.u.u8[buf_idx], &key[16], 8);
++ buf_idx += 8;
++
++ /* Load the RxMIC key */
++ memcpy(&ltv.u.u8[buf_idx], &key[24], 8);
++
++ /* Send the request to the Hermes */
++ _put_info(priv, &ltv);
++ break;
++ }
++
++ case 1:
++ case 2:
++ case 3:
++ ltv.len = 26;
++ ltv.typ = CFG_ADD_TKIP_DEFAULT_KEY;
++
++ /* Load the key Index */
++ ltv.u.u16[buf_idx] = key_idx;
++
++ /* If this is a Tx Key, set bit 8000 */
++ if (set_tx)
++ ltv.u.u16[buf_idx] |= 0x8000;
++
++ buf_idx += 2;
++
++ /* Load the RSC */
++ /* Copy the RSC from the supplicant to a local buffer, because
++ the RSC doesn't always contain the padding needed */
++ memcpy(rsc, seq, seq_len);
++ memcpy(&ltv.u.u8[buf_idx], rsc, 8);
++ buf_idx += 8;
++
++ /* Load the TKIP, TxMIC, and RxMIC keys in one shot, because in
++ CFG_ADD_TKIP_DEFAULT_KEY they are back-to-back */
++ memcpy(&ltv.u.u8[buf_idx], key, key_len);
++ buf_idx += key_len;
++
++ /* Load the TSC */
++ memcpy(&ltv.u.u8[buf_idx], tsc, 8);
++
++ /* Send the request to the Hermes */
++ _put_info(priv, &ltv);
++ break;
++
++ default:
++ break;
++ }
++
++ break;
++
++ case WPA_ALG_WEP:
++ case WPA_ALG_CCMP:
++ break;
++
++ case WPA_ALG_NONE:
++ switch (key_idx) {
++ case 0:
++ if (drv->type == WL_HERMES_2 || drv->type == WL_HERMES_25) {
++ /* Only clear a pairwise key for Hermes-II. For Hermes-I,
++ fall through to the next case and clear the key as a
++ Group Key at index 0. */
++ if (addr) {
++ ltv.len = 7;
++ ltv.typ = CFG_REMOVE_TKIP_MAPPED_KEY;
++
++ memcpy(&ltv.u.u8[0], addr, ETH_ALEN);
++
++ _put_info(priv, &ltv);
++ }
++ break;
++ }
++
++ case 1:
++ case 2:
++ case 3:
++ /* Clear the Group TKIP keys by index */
++ ltv.len = 2;
++ ltv.typ = CFG_REMOVE_TKIP_DEFAULT_KEY;
++
++ ltv.u.u16[0] = key_idx;
++
++ _put_info(priv, &ltv);
++ break;
++
++ default:
++ break;
++ }
++ break;
++
++ default:
++ break;
++ }
++
++ return ret;
++}
++
++
++static int wpa_driver_hermes_set_countermeasures(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ /* The supplicant handles all the timers related to MIC failure and
++ countermeasures. When countermeasures are enabled, shut down the card;
++ when disable, re-enable the card. Make sure that the EAPOL message
++ is getting out before card disable */
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_DRIVER_ENABLE;
++ ltv.u.u16[0] = enabled ? 0 : 1;
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_drop_unencrypted(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_CNF_EXCL_UNENCRYPTED;
++ ltv.u.u16[0] = enabled;
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_deauthenticate(void *priv, const u8 *addr,
++ int reason_code)
++{
++ wpa_printf(MSG_DEBUG, "%s: *DUMMY* %d", __FUNCTION__, reason_code);
++
++ return 0;
++}
++
++
++static int wpa_driver_hermes_disassociate(void *priv, const u8 *addr, int reason_code)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: reason=%d", __FUNCTION__, reason_code);
++
++ ltv.len = 2;
++ ltv.typ = 0xFCC8; // This RID not defined in HCF yet!!!
++ memcpy( &ltv.u.u8[0], addr, ETH_ALEN );
++ ltv.u.u16[ETH_ALEN / 2] = reason_code;
++
++ return _put_info( priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_associate(
++ void *priv, struct wpa_driver_associate_params *params)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++
++#if 0
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++#else
++ wpa_printf(MSG_DEBUG, "%s: priv=%p freq=%d pairwise_suite=%d "
++ "group_suite=%d key_mgmt_suite=%d auth_alg=%d mode=%d",
++ __func__, priv, params->freq, params->pairwise_suite,
++ params->group_suite, params->key_mgmt_suite,
++ params->auth_alg, params->mode);
++ if (params->bssid) {
++ wpa_printf(MSG_DEBUG, " bssid=" MACSTR,
++ MAC2STR(params->bssid));
++ }
++ if (params->ssid) {
++ wpa_hexdump_ascii(MSG_DEBUG, " ssid",
++ params->ssid, params->ssid_len);
++ }
++ if (params->wpa_ie) {
++ wpa_hexdump(MSG_DEBUG, " wpa_ie",
++ params->wpa_ie, params->wpa_ie_len);
++ }
++#endif
++
++ if (wpa_driver_hermes_set_wpa_ie(priv, params->wpa_ie, params->wpa_ie_len) < 0)
++ return -1;
++ if (wpa_driver_wext_set_freq(drv->wext, params->freq) < 0)
++ return -1;
++ if (wpa_driver_wext_set_ssid(drv->wext, params->ssid, params->ssid_len) < 0)
++ return -1;
++#ifdef UNSUPPORTED_IN_HERMES_DRIVER
++ if (wpa_driver_wext_hermes_bssid(drv->wext, params->bssid) < 0)
++ return -1;
++#endif
++
++ return 0;
++}
++
++
++static int wpa_driver_hermes_get_bssid(void *priv, u8 *bssid)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_bssid(drv->wext, bssid);
++}
++
++
++static int wpa_driver_hermes_get_ssid(void *priv, u8 *ssid)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_ssid(drv->wext, ssid);
++}
++
++
++static int wpa_driver_hermes_scan(void *priv, const u8 *ssid, size_t ssid_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_scan(drv->wext, ssid, ssid_len);
++}
++
++
++static int wpa_driver_hermes_get_scan_results(void *priv,
++ struct wpa_scan_result *results,
++ size_t max_size)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_scan_results(drv->wext, results, max_size);
++}
++
++
++static void * wpa_driver_hermes_init(void *ctx, const char *ifname)
++{
++ struct wpa_driver_hermes_data *drv;
++
++ wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, ifname);
++
++ drv = malloc(sizeof(*drv));
++ if (drv == NULL)
++ return NULL;
++ memset(drv, 0, sizeof(*drv));
++
++ /* Initialize wireless context */
++ drv->wext = wpa_driver_wext_init(ctx, ifname);
++ if (drv->wext == NULL) {
++ perror("no wext context");
++ goto no_wext;
++ }
++
++ drv->ctx = ctx;
++ strncpy(drv->ifname, ifname, sizeof(drv->ifname));
++
++ drv->sock = socket(PF_INET, SOCK_DGRAM, 0);
++ if (drv->sock < 0) {
++ perror("socket(PF_INET,SOCK_DGRAM)");
++ goto no_sock;
++ }
++
++ _detect_hermes_type(drv);
++
++ return drv;
++
++no_sock:
++ wpa_driver_wext_deinit(drv->wext);
++no_wext:
++ free(drv);
++ return NULL;
++}
++
++
++static void wpa_driver_hermes_deinit(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ wpa_driver_wext_deinit(drv->wext);
++ close(drv->sock);
++ free(drv);
++}
++
++
++
++
++struct wpa_driver_ops wpa_driver_hermes_ops = {
++ .name = "hermes",
++ .desc = "wpa_supplicant hermes driver",
++
++ .init = wpa_driver_hermes_init,
++ .deinit = wpa_driver_hermes_deinit,
++
++ // from old driver_hermes.c:
++ .get_bssid = wpa_driver_hermes_get_bssid,
++ .get_ssid = wpa_driver_hermes_get_ssid,
++ .set_wpa = wpa_driver_hermes_set_wpa,
++ .set_key = wpa_driver_hermes_set_key,
++ //.events_init = wpa_driver_wext_events_init,
++ //.events_deinit = wpa_driver_wext_events_deinit,
++ .set_countermeasures = wpa_driver_hermes_set_countermeasures,
++ .set_drop_unencrypted = wpa_driver_hermes_set_drop_unencrypted,
++ .scan = wpa_driver_hermes_scan,
++ .get_scan_results = wpa_driver_hermes_get_scan_results,
++ .deauthenticate = wpa_driver_hermes_deauthenticate,
++ .disassociate = wpa_driver_hermes_disassociate,
++ .associate = wpa_driver_hermes_associate,
++
++
++#if 0
++ /* Not possible with current Hermes driver:
++ .set_auth_alg = wpa_driver_hermes_set_auth_alg, */
++#endif
++};
+--- /dev/null
++++ wpa_supplicant/driver_hermes.h
+@@ -0,0 +1,173 @@
++#ifndef HERMES_DRIVER_H
++#define HERMES_DRIVER_H
++
++typedef unsigned char hcf_8;
++typedef unsigned short hcf_16;
++typedef unsigned long hcf_32;
++typedef hcf_16 hcf_io;
++typedef hcf_8 *wci_bufp;
++
++typedef struct {
++ hcf_16 len;
++ hcf_16 typ;
++ unsigned short * bufp;
++} RID_LOG_STRCT;
++typedef RID_LOG_STRCT *RID_LOGP;
++
++typedef struct {
++ hcf_16 len;
++ hcf_16 typ;
++ hcf_16 comp_id;
++ hcf_16 variant;
++ hcf_16 version_major;
++ hcf_16 version_minor;
++} CFG_FW_IDENTITY_STRCT;
++
++typedef struct {
++ hcf_32 TxUnicastFrames;
++ hcf_32 TxMulticastFrames;
++ hcf_32 TxFragments;
++ hcf_32 TxUnicastOctets;
++ hcf_32 TxMulticastOctets;
++ hcf_32 TxDeferredTransmissions;
++ hcf_32 TxSingleRetryFrames;
++ hcf_32 TxMultipleRetryFrames;
++ hcf_32 TxRetryLimitExceeded;
++ hcf_32 TxDiscards;
++ hcf_32 RxUnicastFrames;
++ hcf_32 RxMulticastFrames;
++ hcf_32 RxFragments;
++ hcf_32 RxUnicastOctets;
++ hcf_32 RxMulticastOctets;
++ hcf_32 RxFCSErrors;
++ hcf_32 RxDiscardsNoBuffer;
++ hcf_32 TxDiscardsWrongSA;
++ hcf_32 RxWEPUndecryptable;
++ hcf_32 RxMsgInMsgFragments;
++ hcf_32 RxMsgInBadMsgFragments;
++ hcf_32 RxDiscardsWEPICVError;
++ hcf_32 RxDiscardsWEPExcluded;
++} CFG_HERMES_TALLIES_STRCT;
++
++typedef struct {
++ hcf_32 not_used_NoBufInq;
++ hcf_32 NoBufInfo;
++ hcf_32 NoBufMB;
++ hcf_32 MiscErr;
++ hcf_32 EngCnt;
++} CFG_HCF_TALLIES_STRCT;
++
++typedef struct {
++ hcf_io IFB_IOBase;
++ hcf_16 IFB_IORange;
++
++ hcf_32 IFB_TickIni;
++
++ hcf_16 IFB_Version;
++ hcf_16 IFB_CardStat;
++ hcf_16 IFB_TraceLvl;
++ hcf_16 *IFB_MBp;
++ hcf_16 IFB_MBSize;
++ hcf_16 IFB_MBWp;
++ hcf_16 IFB_MBRp;
++ hcf_16 IFB_MBInfoLen;
++
++ hcf_16 IFB_DLMode;
++ hcf_16 IFB_Magic;
++ hcf_16 IFB_Cmd;
++ hcf_16 IFB_RxFID;
++ RID_LOGP IFB_RIDLogp;
++ hcf_16 IFB_Monitor;
++ hcf_16 IFB_TxFid;
++ hcf_16 IFB_RxLen;
++ hcf_16 IFB_DefunctStat;
++
++ hcf_16 IFB_ErrCmd;
++ hcf_16 IFB_ErrQualifier;
++ hcf_16 IFB_lal;
++ wci_bufp IFB_lap;
++ hcf_16 IFB_LinkStat;
++
++ void (*IFB_MICRxRtn)( hcf_32*, hcf_32 );
++ void (*IFB_MICTxRtn)( hcf_32*, hcf_32 );
++ hcf_16 IFB_rx_tlen;
++ hcf_16 IFB_tx_tlen;
++ hcf_8 IFB_rx_32[4];
++ hcf_8 IFB_tx_32[4];
++ hcf_16 IFB_RscInd;
++ hcf_16 IFB_MB_FID;
++ hcf_16 IFB_DLTarget[2];
++
++ hcf_16 IFB_DLPage;
++ hcf_16 IFB_DLOffset;
++ hcf_16 IFB_DLLen;
++
++ hcf_16 volatile IFB_IntOffCnt;
++ hcf_16 IFB_IntEnMask;
++
++ CFG_FW_IDENTITY_STRCT IFB_FWIdentity;
++ hcf_16 IFB_Tally;
++ hcf_16 IFB_TallyTyp;
++
++ CFG_HERMES_TALLIES_STRCT IFB_NIC_Tallies;
++ CFG_HCF_TALLIES_STRCT IFB_HCF_Tallies;
++
++ void *IFB_MSFSup;
++} IFB_STRCT;
++
++typedef IFB_STRCT* IFBP;
++
++struct uilreq
++{
++ union
++ {
++ char ifrn_name[16];
++ } ifr_ifrn;
++
++ IFBP hcfCtx;
++ __u8 command;
++ __u8 result;
++ __u16 len;
++ void *data;
++};
++
++typedef struct
++{
++ hcf_16 len;
++ hcf_16 typ;
++ union
++ {
++ hcf_8 u8[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_8)];
++ hcf_16 u16[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_16)];
++ hcf_32 u32[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_32)];
++ } u;
++} ltv_t;
++
++
++#define UIL_FUN_CONNECT 0x00
++#define UIL_FUN_DISCONNECT 0x01
++#define UIL_FUN_GET_INFO 0x04
++#define UIL_FUN_PUT_INFO 0x05
++
++#define GENERIC_INFO_ELEM 0xdd
++#define RSN_INFO_ELEM 0x30
++
++#define CFG_DRIVER_ENABLE 0x0902
++#define CFG_CNF_ENCRYPTION 0xFC20
++#define CFG_ADD_TKIP_DEFAULT_KEY 0xFCB4
++#define CFG_SET_WPA_AUTH_KEY_MGMT_SUITE 0xFCB5
++#define CFG_REMOVE_TKIP_DEFAULT_KEY 0xFCB6
++#define CFG_ADD_TKIP_MAPPED_KEY 0xFCB7
++#define CFG_REMOVE_TKIP_MAPPED_KEY 0xFCB8
++#define CFG_FW_IDENTITY 0xFD20
++#define CFG_CNF_EXCL_UNENCRYPTED 0xFC22
++
++#define HCF_SUCCESS 0x00
++#define UIL_SUCCESS 0x00
++
++#define COMP_ID_FW_STA 31
++#define COMP_ID_FW_AP 32
++
++#define WVLAN2_IOCTL_UIL SIOCDEVPRIVATE
++
++#endif
diff --git a/meta/packages/wpa-supplicant/files/init.sh b/meta/packages/wpa-supplicant/files/init.sh
new file mode 100755
index 0000000000..bc7ee9184e
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/init.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+DAEMON=/usr/sbin/wpa_supplicant
+CONFIG="/etc/wpa_supplicant.conf"
+PNAME="wpa_supplicant"
+
+# insane defaults
+OPTIONS=""
+
+test -f /etc/default/wpa && . /etc/default/wpa
+
+if [ ! -f $CONFIG ]; then
+ echo "No configuration file found, not starting."
+ exit 1
+fi
+
+test -f $DAEMON || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting wpa_supplicant: "
+ start-stop-daemon -S -b -x $DAEMON -- -Bw -c $CONFIG $OPTIONS >/dev/null
+ echo "done."
+ ;;
+ stop)
+ echo -n "Stopping wpa_supplicant: "
+ start-stop-daemon -K -n $PNAME >/dev/null
+ echo "done."
+ ;;
+ reload|force-reload)
+ echo -n "Reloading wpa_supplicant: "
+ killall -HUP $PNAME
+ echo "done."
+ ;;
+ restart)
+ echo -n "Restarting wpa_supplicant: "
+ start-stop-daemon -K -n $PNAME >/dev/null
+ sleep 1
+ start-stop-daemon -S -b -x $DAEMON -- -Bw -c $CONFIG $OPTIONS >/dev/null
+ echo "done."
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/wpa-supplicant/files/madwifi-bsd-fix.diff b/meta/packages/wpa-supplicant/files/madwifi-bsd-fix.diff
new file mode 100644
index 0000000000..974eb39627
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/madwifi-bsd-fix.diff
@@ -0,0 +1,12 @@
+--- driver_madwifi.c.orig 2005-03-18 15:12:53.392793216 +0100
++++ driver_madwifi.c 2005-03-18 15:13:09.246383104 +0100
+@@ -25,7 +25,8 @@
+ #include "eloop.h"
+ #include "wpa_supplicant.h"
+
+-#include <include/compat.h>
++#include <net80211/compat.h>
++#include <net80211/_ieee80211.h>
+ #include <net80211/ieee80211.h>
+ #include <net80211/ieee80211_crypto.h>
+ #include <net80211/ieee80211_ioctl.h>
diff --git a/meta/packages/wpa-supplicant/files/mtx-1/defconfig b/meta/packages/wpa-supplicant/files/mtx-1/defconfig
new file mode 100644
index 0000000000..a0d9b73d3f
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/mtx-1/defconfig
@@ -0,0 +1,157 @@
+# This file lists the configuration options that are used when building the
+# hostapd binary. All lines starting with # are ignored. Configuration option
+# lines must be commented out complete, if they are not to be included, i.e.,
+# just setting VARIABLE=n is not disabling that variable.
+#
+# This file is included in Makefile, so variables like CFLAGS and LIBS can also
+# be modified from here. In most cass, these lines should use += in order not
+# to override previous values of the variables.
+
+CFLAGS = $(TARGET_CFLAGS) -I../hostapd -I../utils -I../driver/modules -Wall -MMD
+
+# for wpa_supplicant, wpa_cli
+LIBS = $(TARGET_LDFLAGS)
+
+# for wpa_passphrase:
+LIBS_p = $(TARGET_LDFLAGS)
+
+
+# Uncomment following two lines and fix the paths if you have installed openssl
+# in non-default location
+#CFLAGS += -I/usr/local/openssl/include
+#LIBS += -L/usr/local/openssl/lib
+
+# Example configuration for various cross-compilation platforms
+
+#### sveasoft (e.g., for Linksys WRT54G) ######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
+#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
+###############################################################################
+
+#### openwrt (e.g., for Linksys WRT54G) #######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
+# -I../WRT54GS/release/src/include
+#LIBS = -lssl
+###############################################################################
+
+
+# Driver interface for Host AP driver
+CONFIG_DRIVER_HOSTAP=y
+
+# Driver interface for Agere driver
+#CONFIG_DRIVER_HERMES=y
+
+# Driver interface for madwifi driver
+CONFIG_DRIVER_MADWIFI=y
+# Change include directories to match with the local setup
+#CFLAGS += -I../madwifi/wpa
+
+# Driver interface for Prism54 driver
+CONFIG_DRIVER_PRISM54=y
+
+# Driver interface for ndiswrapper
+#CONFIG_DRIVER_NDISWRAPPER=y
+
+# Driver interface for Atmel driver
+#CONFIG_DRIVER_ATMEL=y
+
+# Driver interface for Broadcom driver
+#CONFIG_DRIVER_BROADCOM=y
+# Example path for wlioctl.h; change to match your configuration
+#CFLAGS += -I/opt/WRT54GS/release/src/include
+
+# Driver interface for Intel ipw2100 driver
+#CONFIG_DRIVER_IPW2100=y
+
+# Driver interface for generic Linux wireless extensions
+CONFIG_DRIVER_WEXT=y
+
+# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
+#CONFIG_DRIVER_BSD=y
+#CFLAGS += -I/usr/local/include
+#LIBS += -L/usr/local/lib
+
+# Driver interface for Windows NDIS
+#CONFIG_DRIVER_NDIS=y
+#CFLAGS += -I/usr/include/w32api/ddk
+#LIBS += -L/usr/local/lib
+# For native build using mingw
+#CONFIG_NATIVE_WINDOWS=y
+# Additional directories for cross-compilation on Linux host for mingw target
+#CFLAGS += -I/opt/mingw/mingw32/include/ddk
+#LIBS += -L/opt/mingw/mingw32/lib
+#CC=mingw32-gcc
+
+# Driver interface for development testing
+#CONFIG_DRIVER_TEST=y
+
+# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
+# included)
+CONFIG_IEEE8021X_EAPOL=y
+
+# EAP-MD5 (automatically included if EAP-TTLS is enabled)
+CONFIG_EAP_MD5=y
+
+# EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled)
+CONFIG_EAP_MSCHAPV2=y
+
+# EAP-TLS
+CONFIG_EAP_TLS=y
+
+# EAL-PEAP
+CONFIG_EAP_PEAP=y
+
+# EAP-TTLS
+CONFIG_EAP_TTLS=y
+
+# EAP-GTC
+CONFIG_EAP_GTC=y
+
+# EAP-OTP
+CONFIG_EAP_OTP=y
+
+# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
+#CONFIG_EAP_SIM=y
+
+# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
+#CONFIG_EAP_PSK=y
+
+# LEAP
+CONFIG_EAP_LEAP=y
+
+# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
+#CONFIG_EAP_AKA=y
+
+# PKCS#12 (PFX) support (used to read private key and certificate file from
+# a file that usually has extension .p12 or .pfx)
+CONFIG_PKCS12=y
+
+# PC/SC interface for smartcards (USIM, GSM SIM)
+# Enable this if EAP-SIM or EAP-AKA is included
+#CONFIG_PCSC=y
+
+# Development testing
+#CONFIG_EAPOL_TEST=y
+
+# Replace native Linux implementation of packet sockets with libdnet/libpcap.
+# This will be automatically set for non-Linux OS.
+#CONFIG_DNET_PCAP=y
+
+# Include control interface for external programs, e.g, wpa_cli
+CONFIG_CTRL_IFACE=y
+
+# Include interface for using external supplicant (Xsupplicant) for EAP
+# authentication
+#CONFIG_XSUPPLICANT_IFACE=y
+
+# Include support for GNU Readline and History Libraries in wpa_cli.
+# When building a wpa_cli binary for distribution, please note that these
+# libraries are licensed under GPL and as such, BSD license may not apply for
+# the resulting binary.
+#CONFIG_READLINE=y
diff --git a/meta/packages/wpa-supplicant/files/openmn/defaults b/meta/packages/wpa-supplicant/files/openmn/defaults
new file mode 100644
index 0000000000..1da73d30c0
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/openmn/defaults
@@ -0,0 +1,8 @@
+# Useful flags:
+# -i <ifname> Interface (required, unless specified in config)
+# -D <driver> Wireless Driver
+# -d Debugging (-dd for more)
+# -q Quiet (-qq for more)
+
+CONFIG="/etc/wpa_supplicant.conf"
+OPTIONS="-i eth1 -D hermes"
diff --git a/meta/packages/wpa-supplicant/files/slugos/defaults-sane b/meta/packages/wpa-supplicant/files/slugos/defaults-sane
new file mode 100644
index 0000000000..df4268b3a6
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/slugos/defaults-sane
@@ -0,0 +1,8 @@
+# Useful flags:
+# -i <ifname> Interface (required, unless specified in config)
+# -D <driver> Wireless Driver
+# -d Debugging (-dd for more)
+# -q Quiet (-qq for more)
+
+CONFIG="/etc/wpa_supplicant.conf"
+OPTIONS="-i ath0 -D madwifi"
diff --git a/meta/packages/wpa-supplicant/files/use-channel.patch b/meta/packages/wpa-supplicant/files/use-channel.patch
new file mode 100644
index 0000000000..337c0422cd
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/use-channel.patch
@@ -0,0 +1,32 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- wpa_supplicant/driver_wext.c~use-channel
++++ wpa_supplicant/driver_wext.c
+@@ -655,6 +655,12 @@
+ }
+
+
++static const long frequency_list[] =
++{
++ 2412, 2417, 2422, 2427, 2432, 2437, 2442,
++ 2447, 2452, 2457, 2462, 2467, 2472, 2484
++};
++
+ int wpa_driver_wext_get_scan_results(void *priv,
+ struct wpa_scan_result *results,
+ size_t max_size)
+@@ -739,6 +745,11 @@
+ case SIOCGIWFREQ:
+ if (ap_num < max_size) {
+ int div = 1000000, i;
++ /* driver sent a channel, not a frequency */
++ if (iwe->u.freq.e == 0 && iwe->u.freq.m >= 1 && iwe->u.freq.m <= sizeof(frequency_list)) {
++ results[ap_num].freq = frequency_list[iwe->u.freq.m-1];
++ break;
++ } else
+ if (iwe->u.freq.e > 6) {
+ wpa_printf(
+ MSG_DEBUG, "Invalid freq "
diff --git a/meta/packages/wpa-supplicant/files/wpa_supplicant.conf b/meta/packages/wpa-supplicant/files/wpa_supplicant.conf
new file mode 100644
index 0000000000..da407b5ef3
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/wpa_supplicant.conf
@@ -0,0 +1,502 @@
+##### Example wpa_supplicant configuration file ###############################
+# Empty lines and lines starting with # are ignored
+
+# NOTE! This file may contain password information and should probably be made
+# readable only by root user on multiuser systems.
+
+# global configuration (shared by all network blocks)
+#
+# Interface for separate control program. If this is specified, wpa_supplicant
+# will create this directory and a UNIX domain socket for listening to requests
+# from external programs (CLI/GUI, etc.) for status information and
+# configuration. The socket file will be named based on the interface name, so
+# multiple wpa_supplicant processes can be run at the same time if more than
+# one interface is used.
+# /var/run/wpa_supplicant is the recommended directory for sockets and by
+# default, wpa_cli will use it when trying to connect with wpa_supplicant.
+ctrl_interface=/var/run/wpa_supplicant
+
+# Access control for the control interface can be configured by setting the
+# directory to allow only members of a group to use sockets. This way, it is
+# possible to run wpa_supplicant as root (since it needs to change network
+# configuration and open raw sockets) and still allow GUI/CLI components to be
+# run as non-root users. However, since the control interface can be used to
+# change the network configuration, this access needs to be protected in many
+# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
+# want to allow non-root users to use the control interface, add a new group
+# and change this value to match with that group. Add users that should have
+# control interface access to this group. If this variable is commented out or
+# not included in the configuration file, group will not be changed from the
+# value it got by default when the directory or socket was created.
+#
+# This variable can be a group name or gid.
+#ctrl_interface_group=wheel
+ctrl_interface_group=0
+
+# IEEE 802.1X/EAPOL version
+# wpa_supplicant was implemented based on IEEE 802-1X-REV-d8 which defines
+# EAPOL version 2. However, there are many APs that do not handle the new
+# version number correctly (they seem to drop the frames completely). In order
+# to make wpa_supplicant interoperate with these APs, the version number is set
+# to 1 by default. This configuration value can be used to set it to the new
+# version (2).
+eapol_version=1
+
+# AP scanning/selection
+# By default, wpa_supplicant requests driver to perform AP scanning and then
+# uses the scan results to select a suitable AP. Another alternative is to
+# allow the driver to take care of AP scanning and selection and use
+# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
+# information from the driver.
+# 1: wpa_supplicant initiates scanning and AP selection
+# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
+# parameters (e.g., WPA IE generation); this mode can also be used with
+# non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
+# APs (i.e., external program needs to control association)
+# 2: like 0, but associate with APs using security policy and SSID (but not
+# BSSID); this can be used, e.g., with ndiswrapper and NDIS driver to
+# enable operation with hidden SSIDs and optimized roaming; in this mode,
+# only the first network block in the configuration file is used and this
+# configuration should have explicit security policy (i.e., only one option
+# in the lists) for key_mgmt, pairwise, group, proto variables
+ap_scan=1
+
+# EAP fast re-authentication
+# By default, fast re-authentication is enabled for all EAP methods that
+# support it. This variable can be used to disable fast re-authentication.
+# Normally, there is no need to disable this.
+fast_reauth=1
+
+# network block
+#
+# Each network (usually AP's sharing the same SSID) is configured as a separate
+# block in this configuration file. The network blocks are in preference order
+# (the first match is used).
+#
+# network block fields:
+#
+# ssid: SSID (mandatory); either as an ASCII string with double quotation or
+# as hex string; network name
+#
+# scan_ssid:
+# 0 = do not scan this SSID with specific Probe Request frames (default)
+# 1 = scan with SSID-specific Probe Request frames (this can be used to
+# find APs that do not accept broadcast SSID or use multiple SSIDs;
+# this will add latency to scanning, so enable this only when needed)
+#
+# bssid: BSSID (optional); if set, this network block is used only when
+# associating with the AP using the configured BSSID
+#
+# priority: priority group (integer)
+# By default, all networks will get same priority group (0). If some of the
+# networks are more desirable, this field can be used to change the order in
+# which wpa_supplicant goes through the networks when selecting a BSS. The
+# priority groups will be iterated in decreasing priority (i.e., the larger the
+# priority value, the sooner the network is matched against the scan results).
+# Within each priority group, networks will be selected based on security
+# policy, signal strength, etc.
+# Please note that AP scanning with scan_ssid=1 is not using this priority to
+# select the order for scanning. Instead, it uses the order the networks are in
+# the configuration file.
+#
+# mode: IEEE 802.11 operation mode
+# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
+# 1 = IBSS (ad-hoc, peer-to-peer)
+# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
+# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
+# to be set to 2 for IBSS. WPA-None requires following network block options:
+# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
+# both), and psk must also be set.
+#
+# proto: list of accepted protocols
+# WPA = WPA/IEEE 802.11i/D3.0
+# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
+# If not set, this defaults to: WPA RSN
+#
+# key_mgmt: list of accepted authenticated key management protocols
+# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
+# WPA-EAP = WPA using EAP authentication (this can use an external
+# program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
+# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
+# generated WEP keys
+# NONE = WPA is not used; plaintext or static WEP could be used
+# If not set, this defaults to: WPA-PSK WPA-EAP
+#
+# auth_alg: list of allowed IEEE 802.11 authentication algorithms
+# OPEN = Open System authentication (required for WPA/WPA2)
+# SHARED = Shared Key authentication (requires static WEP keys)
+# LEAP = LEAP/Network EAP (only used with LEAP)
+# If not set, automatic selection is used (Open System with LEAP enabled if
+# LEAP is allowed as one of the EAP methods).
+#
+# pairwise: list of accepted pairwise (unicast) ciphers for WPA
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# NONE = Use only Group Keys (deprecated, should not be included if APs support
+# pairwise keys)
+# If not set, this defaults to: CCMP TKIP
+#
+# group: list of accepted group (broadcast/multicast) ciphers for WPA
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
+# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
+# If not set, this defaults to: CCMP TKIP WEP104 WEP40
+#
+# psk: WPA preshared key; 256-bit pre-shared key
+# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
+# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
+# generated using the passphrase and SSID). ASCII passphrase must be between
+# 8 and 63 characters (inclusive).
+# This field is not needed, if WPA-EAP is used.
+# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
+# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
+# startup and reconfiguration time can be optimized by generating the PSK only
+# only when the passphrase or SSID has actually changed.
+#
+# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
+# Dynamic WEP key require for non-WPA mode
+# bit0 (1): require dynamically generated unicast WEP key
+# bit1 (2): require dynamically generated broadcast WEP key
+# (3 = require both keys; default)
+#
+# Following fields are only used with internal EAP implementation.
+# eap: space-separated list of accepted EAP methods
+# MD5 = EAP-MD5 (unsecure and does not generate keying material ->
+# cannot be used with WPA; to be used as a Phase 2 method
+# with EAP-PEAP or EAP-TTLS)
+# MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# OTP = EAP-OTP (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# GTC = EAP-GTC (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# TLS = EAP-TLS (client and server certificate)
+# PEAP = EAP-PEAP (with tunnelled EAP authentication)
+# TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
+# authentication)
+# If not set, all compiled in methods are allowed.
+#
+# identity: Identity string for EAP
+# anonymous_identity: Anonymous identity string for EAP (to be used as the
+# unencrypted identity with EAP types that support different tunnelled
+# identity, e.g., EAP-TTLS)
+# password: Password string for EAP
+# ca_cert: File path to CA certificate file. This file can have one or more
+# trusted CA certificates. If ca_cert is not included, server certificate
+# will not be verified. This is insecure and the CA file should always be
+# configured.
+# client_cert: File path to client certificate file (PEM/DER)
+# private_key: File path to client private key file (PEM/DER/PFX)
+# When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
+# commented out. Both the private key and certificate will be read from
+# the PKCS#12 file in this case.
+# private_key_passwd: Password for private key file
+# dh_file: File path to DH/DSA parameters file (in PEM format)
+# This is an optional configuration file for setting parameters for an
+# ephemeral DH key exchange. In most cases, the default RSA
+# authentication does not use this configuration. However, it is possible
+# setup RSA to use ephemeral DH key exchange. In addition, ciphers with
+# DSA keys always use ephemeral DH keys. This can be used to achieve
+# forward secrecy. If the file is in DSA parameters format, it will be
+# automatically converted into DH params.
+# subject_match: Substring to be matched against the subject of the
+# authentication server certificate. If this string is set, the server
+# sertificate is only accepted if it contains this string in the subject.
+# The subject string is in following format:
+# /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
+# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
+# (string with field-value pairs, e.g., "peapver=0" or
+# "peapver=1 peaplabel=1")
+# 'peapver' can be used to force which PEAP version (0 or 1) is used.
+# 'peaplabel=1' can be used to force new label, "client PEAP encryption",
+# to be used during key derivation when PEAPv1 or newer. Most existing
+# PEAPv1 implementation seem to be using the old label, "client EAP
+# encryption", and wpa_supplicant is now using that as the default value.
+# Some servers, e.g., Radiator, may require peaplabel=1 configuration to
+# interoperate with PEAPv1; see eap_testing.txt for more details.
+# 'peap_outer_success=0' can be used to terminate PEAP authentication on
+# tunneled EAP-Success. This is required with some RADIUS servers that
+# implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
+# Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
+# sim_min_num_chal=3 can be used to configure EAP-SIM to require three
+# challenges (by default, it accepts 2 or 3)
+# phase2: Phase2 (inner authentication with TLS tunnel) parameters
+# (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
+# "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
+# Following certificate/private key fields are used in inner Phase2
+# authentication when using EAP-TTLS or EAP-PEAP.
+# ca_cert2: File path to CA certificate file. This file can have one or more
+# trusted CA certificates. If ca_cert2 is not included, server
+# certificate will not be verified. This is insecure and the CA file
+# should always be configured.
+# client_cert2: File path to client certificate file
+# private_key2: File path to client private key file
+# private_key2_passwd: Password for private key file
+# dh_file2: File path to DH/DSA parameters file (in PEM format)
+# subject_match2: Substring to be matched against the subject of the
+# authentication server certificate.
+#
+# EAP-PSK variables:
+# eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in hex format
+# nai: user NAI
+# server_nai: authentication server NAI
+#
+# EAP-FAST variables:
+# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
+# to create this file and write updates to it when PAC is being
+# provisioned or refreshed.
+# phase1: fast_provisioning=1 option enables in-line provisioning of EAP-FAST
+# credentials (PAC)
+#
+# wpa_supplicant supports number of "EAP workarounds" to work around
+# interoperability issues with incorrectly behaving authentication servers.
+# These are enabled by default because some of the issues are present in large
+# number of authentication servers. Strict EAP conformance mode can be
+# configured by disabling workarounds with eap_workaround=0.
+
+# Example blocks:
+
+# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
+network={
+ ssid="simple"
+ psk="very secret passphrase"
+ priority=5
+}
+
+# Same as previous, but request SSID-specific scanning (for APs that reject
+# broadcast SSID)
+network={
+ ssid="second ssid"
+ scan_ssid=1
+ psk="very secret passphrase"
+ priority=2
+}
+
+# Only WPA-PSK is used. Any valid cipher combination is accepted.
+network={
+ ssid="example"
+ proto=WPA
+ key_mgmt=WPA-PSK
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+ psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
+ priority=2
+}
+
+# Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
+# or WEP40 as the group cipher will not be accepted.
+network={
+ ssid="example"
+ proto=RSN
+ key_mgmt=WPA-EAP
+ pairwise=CCMP TKIP
+ group=CCMP TKIP
+ eap=TLS
+ identity="user@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ priority=1
+}
+
+# EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
+# (e.g., Radiator)
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=PEAP
+ identity="user@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ phase1="peaplabel=1"
+ phase2="auth=MSCHAPV2"
+ priority=10
+}
+
+# EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
+# unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ identity="user@example.com"
+ anonymous_identity="anonymous@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ priority=2
+}
+
+# EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
+# use. Real identity is sent only within an encrypted TLS tunnel.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ identity="user@example.com"
+ anonymous_identity="anonymous@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ phase2="auth=MSCHAPV2"
+}
+
+# WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
+# authentication.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ # Phase1 / outer authentication
+ anonymous_identity="anonymous@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ # Phase 2 / inner authentication
+ phase2="autheap=TLS"
+ ca_cert2="/etc/cert/ca2.pem"
+ client_cert2="/etc/cer/user.pem"
+ private_key2="/etc/cer/user.prv"
+ private_key2_passwd="password"
+ priority=2
+}
+
+# Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
+# group cipher.
+network={
+ ssid="example"
+ bssid=00:11:22:33:44:55
+ proto=WPA RSN
+ key_mgmt=WPA-PSK WPA-EAP
+ pairwise=CCMP
+ group=CCMP
+ psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
+}
+
+# Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
+# and all valid ciphers.
+network={
+ ssid=00010203
+ psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+}
+
+
+# EAP-SIM with a GSM SIM or USIM
+network={
+ ssid="eap-sim-test"
+ key_mgmt=WPA-EAP
+ eap=SIM
+ pin="1234"
+ pcsc=""
+}
+
+
+# EAP-PSK
+network={
+ ssid="eap-psk-test"
+ key_mgmt=WPA-EAP
+ eap=PSK
+ identity="eap_psk_user"
+ eappsk=06b4be19da289f475aa46a33cb793029
+ nai="eap_psk_user@example.com"
+ server_nai="as@example.com"
+}
+
+
+# IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
+# EAP-TLS for authentication and key generation; require both unicast and
+# broadcast WEP keys.
+network={
+ ssid="1x-test"
+ key_mgmt=IEEE8021X
+ eap=TLS
+ identity="user@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ eapol_flags=3
+}
+
+
+# LEAP with dynamic WEP keys
+network={
+ ssid="leap-example"
+ key_mgmt=IEEE8021X
+ eap=LEAP
+ identity="user"
+ password="foobar"
+}
+
+# EAP-FAST with WPA (WPA or WPA2)
+network={
+ ssid="eap-fast-test"
+ key_mgmt=WPA-EAP
+ eap=FAST
+ anonymous_identity="FAST-000102030405"
+ identity="username"
+ password="password"
+ phase1="fast_provisioning=1"
+ pac_file="/etc/wpa_supplicant.eap-fast-pac"
+}
+
+# Plaintext connection (no WPA, no IEEE 802.1X)
+network={
+ ssid="plaintext-test"
+ key_mgmt=NONE
+}
+
+
+# Shared WEP key connection (no WPA, no IEEE 802.1X)
+network={
+ ssid="static-wep-test"
+ key_mgmt=NONE
+ wep_key0="abcde"
+ wep_key1=0102030405
+ wep_key2="1234567890123"
+ wep_tx_keyidx=0
+ priority=5
+}
+
+
+# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
+# IEEE 802.11 authentication
+network={
+ ssid="static-wep-test2"
+ key_mgmt=NONE
+ wep_key0="abcde"
+ wep_key1=0102030405
+ wep_key2="1234567890123"
+ wep_tx_keyidx=0
+ priority=5
+ auth_alg=SHARED
+}
+
+
+# IBSS/ad-hoc network with WPA-None/TKIP.
+network={
+ ssid="test adhoc"
+ mode=1
+ proto=WPA
+ key_mgmt=WPA-NONE
+ pairwise=NONE
+ group=TKIP
+ psk="secret passphrase"
+}
+
+
+# Catch all example that allows more or less all configuration modes
+network={
+ ssid="example"
+ scan_ssid=1
+ key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+ psk="very secret passphrase"
+ eap=TTLS PEAP TLS
+ identity="user@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ phase1="peaplabel=0"
+}
diff --git a/meta/packages/wpa-supplicant/files/wpa_supplicant.conf-sane b/meta/packages/wpa-supplicant/files/wpa_supplicant.conf-sane
new file mode 100644
index 0000000000..c91ffe0c84
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/wpa_supplicant.conf-sane
@@ -0,0 +1,7 @@
+ctrl_interface=/var/run/wpa_supplicant
+ctrl_interface_group=0
+update_config=1
+
+network={
+ key_mgmt=NONE
+}
diff --git a/meta/packages/wpa-supplicant/files/wpa_supplicant_default.conf b/meta/packages/wpa-supplicant/files/wpa_supplicant_default.conf
new file mode 100644
index 0000000000..8eebdeb5cb
--- /dev/null
+++ b/meta/packages/wpa-supplicant/files/wpa_supplicant_default.conf
@@ -0,0 +1,13 @@
+# This is a basic configuration for WPA with pre-shared keys (WPA-PSK)
+
+ctrl_interface=/var/run/wpa_supplicant
+ctrl_interface_group=0
+eapol_version=1
+ap_scan=1
+network={
+ ssid="YOUR_SSID"
+ psk="YOUR WPA PASSWORD IN HEX OR ASCII"
+ key_mgmt=WPA-PSK
+ pairwise=CCMP
+ priority=5
+}
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/defconfig b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/defconfig
new file mode 100644
index 0000000000..0e45d01b88
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/defconfig
@@ -0,0 +1,160 @@
+# This file lists the configuration options that are used when building the
+# hostapd binary. All lines starting with # are ignored. Configuration option
+# lines must be commented out complete, if they are not to be included, i.e.,
+# just setting VARIABLE=n is not disabling that variable.
+#
+# This file is included in Makefile, so variables like CFLAGS and LIBS can also
+# be modified from here. In most cass, these lines should use += in order not
+# to override previous values of the variables.
+
+CFLAGS = $(TARGET_CFLAGS) -I../hostapd -I../utils -I../driver/modules -Wall -MMD
+
+# for wpa_supplicant, wpa_cli
+LIBS = $(TARGET_LDFLAGS)
+
+# for wpa_passphrase:
+LIBS_p = $(TARGET_LDFLAGS)
+
+
+# Uncomment following two lines and fix the paths if you have installed openssl
+# in non-default location
+#CFLAGS += -I/usr/local/openssl/include
+#LIBS += -L/usr/local/openssl/lib
+
+# Example configuration for various cross-compilation platforms
+
+#### sveasoft (e.g., for Linksys WRT54G) ######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
+#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
+###############################################################################
+
+#### openwrt (e.g., for Linksys WRT54G) #######################################
+#CC=mipsel-uclibc-gcc
+#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
+#CFLAGS += -Os
+#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
+# -I../WRT54GS/release/src/include
+#LIBS = -lssl
+###############################################################################
+
+
+# Driver interface for Host AP driver
+#CONFIG_DRIVER_HOSTAP=y
+
+# Driver interface for Agere driver
+#CONFIG_DRIVER_HERMES=y
+
+# Driver interface for madwifi driver
+#CONFIG_DRIVER_MADWIFI=y
+# Change include directories to match with the local setup
+#CFLAGS += -I../madwifi/wpa
+
+# Driver interface for Prism54 driver
+#CONFIG_DRIVER_PRISM54=y
+
+# Driver interface for ndiswrapper
+#CONFIG_DRIVER_NDISWRAPPER=y
+
+# Driver interface for Atmel driver
+#CONFIG_DRIVER_ATMEL=y
+
+# Driver interface for Broadcom driver
+#CONFIG_DRIVER_BROADCOM=y
+# Example path for wlioctl.h; change to match your configuration
+#CFLAGS += -I/opt/WRT54GS/release/src/include
+
+# Driver interface for Intel ipw2100 driver
+#CONFIG_DRIVER_IPW2100=y
+
+# Driver interface for the Zydas zd1211 driver
+CONFIG_DRIVER_ZD1211=y
+
+# Driver interface for generic Linux wireless extensions
+CONFIG_DRIVER_WEXT=y
+
+# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
+#CONFIG_DRIVER_BSD=y
+#CFLAGS += -I/usr/local/include
+#LIBS += -L/usr/local/lib
+
+# Driver interface for Windows NDIS
+#CONFIG_DRIVER_NDIS=y
+#CFLAGS += -I/usr/include/w32api/ddk
+#LIBS += -L/usr/local/lib
+# For native build using mingw
+#CONFIG_NATIVE_WINDOWS=y
+# Additional directories for cross-compilation on Linux host for mingw target
+#CFLAGS += -I/opt/mingw/mingw32/include/ddk
+#LIBS += -L/opt/mingw/mingw32/lib
+#CC=mingw32-gcc
+
+# Driver interface for development testing
+#CONFIG_DRIVER_TEST=y
+
+# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
+# included)
+CONFIG_IEEE8021X_EAPOL=y
+
+# EAP-MD5 (automatically included if EAP-TTLS is enabled)
+CONFIG_EAP_MD5=y
+
+# EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled)
+CONFIG_EAP_MSCHAPV2=y
+
+# EAP-TLS
+CONFIG_EAP_TLS=y
+
+# EAL-PEAP
+CONFIG_EAP_PEAP=y
+
+# EAP-TTLS
+CONFIG_EAP_TTLS=y
+
+# EAP-GTC
+CONFIG_EAP_GTC=y
+
+# EAP-OTP
+CONFIG_EAP_OTP=y
+
+# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
+#CONFIG_EAP_SIM=y
+
+# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
+#CONFIG_EAP_PSK=y
+
+# LEAP
+CONFIG_EAP_LEAP=y
+
+# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
+#CONFIG_EAP_AKA=y
+
+# PKCS#12 (PFX) support (used to read private key and certificate file from
+# a file that usually has extension .p12 or .pfx)
+CONFIG_PKCS12=y
+
+# PC/SC interface for smartcards (USIM, GSM SIM)
+# Enable this if EAP-SIM or EAP-AKA is included
+#CONFIG_PCSC=y
+
+# Development testing
+#CONFIG_EAPOL_TEST=y
+
+# Replace native Linux implementation of packet sockets with libdnet/libpcap.
+# This will be automatically set for non-Linux OS.
+#CONFIG_DNET_PCAP=y
+
+# Include control interface for external programs, e.g, wpa_cli
+CONFIG_CTRL_IFACE=y
+
+# Include interface for using external supplicant (Xsupplicant) for EAP
+# authentication
+#CONFIG_XSUPPLICANT_IFACE=y
+
+# Include support for GNU Readline and History Libraries in wpa_cli.
+# When building a wpa_cli binary for distribution, please note that these
+# libraries are licensed under GPL and as such, BSD license may not apply for
+# the resulting binary.
+#CONFIG_READLINE=y
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/driver-hermes.patch b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/driver-hermes.patch
new file mode 100644
index 0000000000..4044835e1c
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/driver-hermes.patch
@@ -0,0 +1,884 @@
+--- /dev/null
++++ wpa_supplicant-0.4.7/driver_hermes.c
+@@ -0,0 +1,705 @@
++/*
++ * WPA Supplicant - testing driver interface
++ * Copyright (c) 2004-2005, Jouni Malinen <jkmaline@cc.hut.fi>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * Alternatively, this software may be distributed under the terms of BSD
++ * license.
++ *
++ * See README and COPYING for more details.
++ */
++
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++#include <net/if_arp.h>
++
++#include "wireless_copy.h"
++#include "common.h"
++#include "driver.h"
++
++#include "eloop.h"
++#include "wpa_supplicant.h"
++#include "priv_netlink.h"
++
++#include "hostap_common.h"
++#include "driver_wext.h"
++#include "driver_hermes.h"
++
++
++
++/* Enumeration for supported Hermes Types */
++enum
++{
++ WL_HERMES_UNKNOWN = 0,
++ WL_HERMES_1 = 1,
++ WL_HERMES_2 = 2,
++ WL_HERMES_25 = 3
++};
++
++
++
++
++struct wpa_driver_hermes_data {
++ void *wext; /* private data for driver_wext */
++ void *ctx;
++ char ifname[IFNAMSIZ + 1];
++ int sock;
++ int type;
++};
++
++
++
++/****************************************************************************/
++/* */
++/* Routines for basic device access to Agere Hermes-I/Hermes-II via the UIL */
++/* */
++/****************************************************************************/
++
++IFBP _connect(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s %d", __FUNCTION__, drv->ifname, drv->sock);
++
++ memset(&urq, 0, sizeof(urq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.command = UIL_FUN_CONNECT;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++ if (result == 0 && urq.result == UIL_SUCCESS) {
++ ifbp = urq.hcfCtx;
++ } else {
++ wpa_printf(MSG_DEBUG, "%s: could not set IFBP, result %d", __FUNCTION__, result);
++ }
++
++ return ifbp;
++}
++
++
++void _disconnect(void *priv, IFBP ifbp)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ if (ifbp != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.command = UIL_FUN_DISCONNECT;
++ urq.hcfCtx = ifbp;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf( MSG_WARNING, "wl_disconnect(): ioctl() failed, errno: %d", errno );
++ wpa_printf( MSG_WARNING, "wl_disconnect(): urq.result: %d", urq.result );
++ }
++ } else {
++ wpa_printf(MSG_WARNING, "wl_disconnect(): called with NULL ifbp");
++ }
++
++ return;
++}
++
++int _get_info(void *priv, ltv_t *ltv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ /* First, connect to the device */
++ ifbp = _connect(priv);
++ if (ifbp != NULL && ltv != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.hcfCtx = ifbp;
++ urq.command = UIL_FUN_GET_INFO;
++ urq.len = sizeof(ltv_t);
++ urq.data = ltv;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf(MSG_WARNING, "wl_disconnect(): ioctl() failed, errno: %d", errno);
++ wpa_printf(MSG_WARNING, "wl_disconnect(): urq.result: %d", urq.result);
++ }
++ _disconnect(priv, ifbp);
++ } else {
++ wpa_printf( MSG_WARNING, "Could not connect to the device, or LTV NULL");
++ result = -1;
++ }
++
++ return result;
++}
++
++int _put_info(void *priv, ltv_t *ltv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int result = 0;
++ IFBP ifbp = NULL;
++ struct uilreq urq;
++
++ //wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, drv->ifname);
++
++ /* First, connect to the device */
++ ifbp = _connect(priv);
++ if (ifbp != NULL && ltv != NULL) {
++ memset(&urq, 0, sizeof(struct uilreq));
++
++ strcpy(urq.ifr_name, drv->ifname);
++ urq.hcfCtx = ifbp;
++ urq.command = UIL_FUN_PUT_INFO;
++ urq.len = sizeof( ltv_t );
++ urq.data = ltv;
++
++ result = ioctl(drv->sock, WVLAN2_IOCTL_UIL, &urq);
++
++ if (result != 0 || urq.result != UIL_SUCCESS) {
++ wpa_printf(MSG_WARNING, "_put_info(): ioctl() failed, errno: %d", errno);
++ wpa_printf(MSG_WARNING, "_put_info(): urq.result: %d", urq.result);
++ }
++
++ _disconnect(priv, ifbp);
++ } else {
++ wpa_printf(MSG_WARNING, "%s: could not connect to the device, or LTV NULL", __FUNCTION__ );
++ result = -1;
++ }
++
++ return result;
++}
++
++
++static void _detect_hermes_type(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ CFG_FW_IDENTITY_STRCT *fw_id;
++ ltv_t ltv;
++ int result;
++
++ //wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ drv->type = WL_HERMES_UNKNOWN;
++
++ if (drv->sock >= 0) {
++ fw_id = (CFG_FW_IDENTITY_STRCT *)&ltv;
++ fw_id->len = ( sizeof(CFG_FW_IDENTITY_STRCT) / sizeof( hcf_16 )) - 1;
++ fw_id->typ = CFG_FW_IDENTITY;
++
++ result = _get_info(priv, (ltv_t *)fw_id);
++ if (result == HCF_SUCCESS) {
++ //wpa_printf(MSG_DEBUG, "PRI CompID : %d", fw_id->comp_id);
++ //wpa_printf(MSG_DEBUG, "PRI Variant : %d", fw_id->variant);
++ //wpa_printf(MSG_DEBUG, "PRI Version : %d.%02d", fw_id->version_major, fw_id->version_minor);
++
++ switch(fw_id->comp_id) {
++ case COMP_ID_FW_STA:
++ switch (fw_id->variant) {
++ case 1:
++ case 2:
++ wpa_printf(MSG_DEBUG, "found Hermes 1 STA");
++ drv->type = WL_HERMES_1;
++ break;
++
++ case 3:
++ wpa_printf(MSG_DEBUG, "found Hermes 2 STA");
++ drv->type = WL_HERMES_2;
++ break;
++ case 4:
++ wpa_printf(MSG_DEBUG, "found Hermes 2.5 STA");
++ drv->type = WL_HERMES_25;
++ break;
++ }
++ break;
++
++ case COMP_ID_FW_AP:
++ switch (fw_id->variant) {
++ case 1:
++ wpa_printf(MSG_DEBUG, "found Hermes 1 AP");
++ drv->type = WL_HERMES_1;
++ break;
++
++ case 2:
++ wpa_printf(MSG_DEBUG, "found Hermes 2 AP" );
++ drv->type = WL_HERMES_2;
++ break;
++ }
++ break;
++
++ default:
++ wpa_printf(MSG_WARNING, "could not detect Hermes type!");
++ break;
++ }
++ }
++ }
++}
++
++
++
++/****************************************************************************/
++
++
++static int wpa_driver_hermes_set_wpa_ie(void *priv, const char *wpa_ie,
++ size_t wpa_ie_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ ltv.len = 2;
++ ltv.typ = CFG_SET_WPA_AUTH_KEY_MGMT_SUITE;
++
++ switch(drv->type) {
++ case WL_HERMES_1:
++ ltv.u.u16[0] = 2;
++ break;
++
++ case WL_HERMES_2:
++ case WL_HERMES_25:
++ ltv.u.u16[0] = 4;
++ break;
++
++ default:
++ ltv.u.u16[0] = 0;
++ break;
++ }
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_wpa(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __func__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_CNF_ENCRYPTION;
++ ltv.u.u16[0] = enabled ? 2 : 0; /* Setting CFG_CNF_ENCRYPTION to 2 sets WPA: TKIP or better */
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_key(void *priv, wpa_alg alg,
++ const u8 *addr, int key_idx,
++ int set_tx, const u8 *seq, size_t seq_len,
++ const u8 *key, size_t key_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ int ret = 0;
++ char *alg_name;
++ ltv_t ltv;
++ int count = 0;
++ int buf_idx = 0;
++ hcf_8 tsc[] = { 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 };
++ hcf_8 rsc[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
++
++
++ switch (alg) {
++ case WPA_ALG_NONE:
++ alg_name = "none";
++ break;
++ case WPA_ALG_WEP:
++ alg_name = "WEP";
++ break;
++ case WPA_ALG_TKIP:
++ alg_name = "TKIP";
++ break;
++ case WPA_ALG_CCMP:
++ alg_name = "CCMP";
++ break;
++ default:
++ return -1;
++ }
++
++ wpa_printf(MSG_DEBUG, "%s: alg=%s key_idx=%d set_tx=%d seq_len=%d "
++ "key_len=%d", __FUNCTION__, alg_name, key_idx, set_tx,
++ seq_len, key_len);
++
++ if (seq_len > IW_ENCODE_SEQ_MAX_SIZE) {
++ wpa_printf(MSG_DEBUG, "%s: Invalid seq_len %lu", __FUNCTION__, (unsigned long) seq_len);
++ return -2;
++ }
++
++ /* Check the key index here; if 0, load as Pairwise Key, otherwise, load as
++ a group key. Note that for the Hermes, the RIDs for group/pairwise keys
++ are different from each other and different than the default WEP keys as
++ well. */
++ switch (alg) {
++ case WPA_ALG_TKIP:
++ /* Make sure that there is no data queued up in the firmware before
++ setting the TKIP keys. If this check is not performed, some data
++ may be sent out with incorrect MIC and cause synchronizarion
++ errors with the AP */
++ /* Check every 1ms for 100ms */
++ for (count = 0; count < 100; count++) {
++ usleep(1000);
++
++ ltv.len = 2;
++ ltv.typ = 0xFD91; // This RID not defined in HCF yet!!!
++ ltv.u.u16[0] = 0;
++
++ _get_info( priv, &ltv);
++
++ if (ltv.u.u16[0] == 0)
++ break;
++ }
++
++ if (count == 100)
++ wpa_printf(MSG_DEBUG, "%s: Timed out waiting for TxQ!", __FUNCTION__);
++
++
++ switch (key_idx) {
++ case 0:
++ /* Only load key as pairwise key for Hermes-II and II.5. For Hermes-I,
++ fall through to the next case and load the pairwise key as
++ a Group Key at index 0. */
++ if (drv->type == WL_HERMES_2 || drv->type == WL_HERMES_25) {
++ ltv.len = 28;
++ ltv.typ = CFG_ADD_TKIP_MAPPED_KEY;
++
++ /* Load the BSSID */
++ memcpy(&ltv.u.u8[buf_idx], addr, ETH_ALEN);
++ buf_idx += ETH_ALEN;
++
++ /* Load the TKIP key */
++ memcpy(&ltv.u.u8[buf_idx], &key[0], 16);
++ buf_idx += 16;
++
++ /* Load the TSC */
++ memcpy(&ltv.u.u8[buf_idx], tsc, 8);
++ buf_idx += 8;
++
++ /* Load the RSC */
++ /* Copy the RSC from the supplicant to a local buffer, because
++ the RSC doesn't always contain the padding needed */
++ memcpy(rsc, seq, seq_len);
++ memcpy(&ltv.u.u8[buf_idx], rsc, 8);
++ buf_idx += 8;
++
++ /* Load the TxMIC key */
++ memcpy(&ltv.u.u8[buf_idx], &key[16], 8);
++ buf_idx += 8;
++
++ /* Load the RxMIC key */
++ memcpy(&ltv.u.u8[buf_idx], &key[24], 8);
++
++ /* Send the request to the Hermes */
++ _put_info(priv, &ltv);
++ break;
++ }
++
++ case 1:
++ case 2:
++ case 3:
++ ltv.len = 26;
++ ltv.typ = CFG_ADD_TKIP_DEFAULT_KEY;
++
++ /* Load the key Index */
++ ltv.u.u16[buf_idx] = key_idx;
++
++ /* If this is a Tx Key, set bit 8000 */
++ if (set_tx)
++ ltv.u.u16[buf_idx] |= 0x8000;
++
++ buf_idx += 2;
++
++ /* Load the RSC */
++ /* Copy the RSC from the supplicant to a local buffer, because
++ the RSC doesn't always contain the padding needed */
++ memcpy(rsc, seq, seq_len);
++ memcpy(&ltv.u.u8[buf_idx], rsc, 8);
++ buf_idx += 8;
++
++ /* Load the TKIP, TxMIC, and RxMIC keys in one shot, because in
++ CFG_ADD_TKIP_DEFAULT_KEY they are back-to-back */
++ memcpy(&ltv.u.u8[buf_idx], key, key_len);
++ buf_idx += key_len;
++
++ /* Load the TSC */
++ memcpy(&ltv.u.u8[buf_idx], tsc, 8);
++
++ /* Send the request to the Hermes */
++ _put_info(priv, &ltv);
++ break;
++
++ default:
++ break;
++ }
++
++ break;
++
++ case WPA_ALG_WEP:
++ case WPA_ALG_CCMP:
++ break;
++
++ case WPA_ALG_NONE:
++ switch (key_idx) {
++ case 0:
++ if (drv->type == WL_HERMES_2 || drv->type == WL_HERMES_25) {
++ /* Only clear a pairwise key for Hermes-II. For Hermes-I,
++ fall through to the next case and clear the key as a
++ Group Key at index 0. */
++ if (addr) {
++ ltv.len = 7;
++ ltv.typ = CFG_REMOVE_TKIP_MAPPED_KEY;
++
++ memcpy(&ltv.u.u8[0], addr, ETH_ALEN);
++
++ _put_info(priv, &ltv);
++ }
++ break;
++ }
++
++ case 1:
++ case 2:
++ case 3:
++ /* Clear the Group TKIP keys by index */
++ ltv.len = 2;
++ ltv.typ = CFG_REMOVE_TKIP_DEFAULT_KEY;
++
++ ltv.u.u16[0] = key_idx;
++
++ _put_info(priv, &ltv);
++ break;
++
++ default:
++ break;
++ }
++ break;
++
++ default:
++ break;
++ }
++
++ return ret;
++}
++
++
++static int wpa_driver_hermes_set_countermeasures(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ /* The supplicant handles all the timers related to MIC failure and
++ countermeasures. When countermeasures are enabled, shut down the card;
++ when disable, re-enable the card. Make sure that the EAPOL message
++ is getting out before card disable */
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_DRIVER_ENABLE;
++ ltv.u.u16[0] = enabled ? 0 : 1;
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_set_drop_unencrypted(void *priv, int enabled)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ ltv.len = 2;
++ ltv.typ = CFG_CNF_EXCL_UNENCRYPTED;
++ ltv.u.u16[0] = enabled;
++
++ return _put_info(priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_deauthenticate(void *priv, const u8 *addr,
++ int reason_code)
++{
++ wpa_printf(MSG_DEBUG, "%s: *DUMMY* %d", __FUNCTION__, reason_code);
++
++ return 0;
++}
++
++
++static int wpa_driver_hermes_disassociate(void *priv, const u8 *addr, int reason_code)
++{
++ ltv_t ltv;
++
++ wpa_printf(MSG_DEBUG, "%s: reason=%d", __FUNCTION__, reason_code);
++
++ ltv.len = 2;
++ ltv.typ = 0xFCC8; // This RID not defined in HCF yet!!!
++ memcpy( &ltv.u.u8[0], addr, ETH_ALEN );
++ ltv.u.u16[ETH_ALEN / 2] = reason_code;
++
++ return _put_info( priv, &ltv);
++}
++
++
++static int wpa_driver_hermes_associate(
++ void *priv, struct wpa_driver_associate_params *params)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++
++#if 0
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++#else
++ wpa_printf(MSG_DEBUG, "%s: priv=%p freq=%d pairwise_suite=%d "
++ "group_suite=%d key_mgmt_suite=%d auth_alg=%d mode=%d",
++ __func__, priv, params->freq, params->pairwise_suite,
++ params->group_suite, params->key_mgmt_suite,
++ params->auth_alg, params->mode);
++ if (params->bssid) {
++ wpa_printf(MSG_DEBUG, " bssid=" MACSTR,
++ MAC2STR(params->bssid));
++ }
++ if (params->ssid) {
++ wpa_hexdump_ascii(MSG_DEBUG, " ssid",
++ params->ssid, params->ssid_len);
++ }
++ if (params->wpa_ie) {
++ wpa_hexdump(MSG_DEBUG, " wpa_ie",
++ params->wpa_ie, params->wpa_ie_len);
++ }
++#endif
++
++ if (wpa_driver_hermes_set_wpa_ie(priv, params->wpa_ie, params->wpa_ie_len) < 0)
++ return -1;
++ if (wpa_driver_wext_set_freq(drv->wext, params->freq) < 0)
++ return -1;
++ if (wpa_driver_wext_set_ssid(drv->wext, params->ssid, params->ssid_len) < 0)
++ return -1;
++#ifdef UNSUPPORTED_IN_HERMES_DRIVER
++ if (wpa_driver_wext_hermes_bssid(drv->wext, params->bssid) < 0)
++ return -1;
++#endif
++
++ return 0;
++}
++
++
++static int wpa_driver_hermes_get_bssid(void *priv, u8 *bssid)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_bssid(drv->wext, bssid);
++}
++
++
++static int wpa_driver_hermes_get_ssid(void *priv, u8 *ssid)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_ssid(drv->wext, ssid);
++}
++
++
++static int wpa_driver_hermes_scan(void *priv, const u8 *ssid, size_t ssid_len)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_scan(drv->wext, ssid, ssid_len);
++}
++
++
++static int wpa_driver_hermes_get_scan_results(void *priv,
++ struct wpa_scan_result *results,
++ size_t max_size)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ return wpa_driver_wext_get_scan_results(drv->wext, results, max_size);
++}
++
++
++static void * wpa_driver_hermes_init(void *ctx, const char *ifname)
++{
++ struct wpa_driver_hermes_data *drv;
++
++ wpa_printf(MSG_DEBUG, "%s: %s", __FUNCTION__, ifname);
++
++ drv = malloc(sizeof(*drv));
++ if (drv == NULL)
++ return NULL;
++ memset(drv, 0, sizeof(*drv));
++
++ /* Initialize wireless context */
++ drv->wext = wpa_driver_wext_init(ctx, ifname);
++ if (drv->wext == NULL) {
++ perror("no wext context");
++ goto no_wext;
++ }
++
++ drv->ctx = ctx;
++ strncpy(drv->ifname, ifname, sizeof(drv->ifname));
++
++ drv->sock = socket(PF_INET, SOCK_DGRAM, 0);
++ if (drv->sock < 0) {
++ perror("socket(PF_INET,SOCK_DGRAM)");
++ goto no_sock;
++ }
++
++ _detect_hermes_type(drv);
++
++ return drv;
++
++no_sock:
++ wpa_driver_wext_deinit(drv->wext);
++no_wext:
++ free(drv);
++ return NULL;
++}
++
++
++static void wpa_driver_hermes_deinit(void *priv)
++{
++ struct wpa_driver_hermes_data *drv = priv;
++ wpa_driver_wext_deinit(drv->wext);
++ close(drv->sock);
++ free(drv);
++}
++
++
++
++
++struct wpa_driver_ops wpa_driver_hermes_ops = {
++ .name = "hermes",
++ .desc = "wpa_supplicant hermes driver",
++
++ .init = wpa_driver_hermes_init,
++ .deinit = wpa_driver_hermes_deinit,
++
++ // from old driver_hermes.c:
++ .get_bssid = wpa_driver_hermes_get_bssid,
++ .get_ssid = wpa_driver_hermes_get_ssid,
++ .set_wpa = wpa_driver_hermes_set_wpa,
++ .set_key = wpa_driver_hermes_set_key,
++ //.events_init = wpa_driver_wext_events_init,
++ //.events_deinit = wpa_driver_wext_events_deinit,
++ .set_countermeasures = wpa_driver_hermes_set_countermeasures,
++ .set_drop_unencrypted = wpa_driver_hermes_set_drop_unencrypted,
++ .scan = wpa_driver_hermes_scan,
++ .get_scan_results = wpa_driver_hermes_get_scan_results,
++ .deauthenticate = wpa_driver_hermes_deauthenticate,
++ .disassociate = wpa_driver_hermes_disassociate,
++ .associate = wpa_driver_hermes_associate,
++
++
++#if 0
++ /* Not possible with current Hermes driver:
++ .set_auth_alg = wpa_driver_hermes_set_auth_alg, */
++#endif
++};
+--- /dev/null
++++ wpa_supplicant-0.4.7/driver_hermes.h
+@@ -0,0 +1,173 @@
++#ifndef HERMES_DRIVER_H
++#define HERMES_DRIVER_H
++
++typedef unsigned char hcf_8;
++typedef unsigned short hcf_16;
++typedef unsigned long hcf_32;
++typedef hcf_16 hcf_io;
++typedef hcf_8 *wci_bufp;
++
++typedef struct {
++ hcf_16 len;
++ hcf_16 typ;
++ unsigned short * bufp;
++} RID_LOG_STRCT;
++typedef RID_LOG_STRCT *RID_LOGP;
++
++typedef struct {
++ hcf_16 len;
++ hcf_16 typ;
++ hcf_16 comp_id;
++ hcf_16 variant;
++ hcf_16 version_major;
++ hcf_16 version_minor;
++} CFG_FW_IDENTITY_STRCT;
++
++typedef struct {
++ hcf_32 TxUnicastFrames;
++ hcf_32 TxMulticastFrames;
++ hcf_32 TxFragments;
++ hcf_32 TxUnicastOctets;
++ hcf_32 TxMulticastOctets;
++ hcf_32 TxDeferredTransmissions;
++ hcf_32 TxSingleRetryFrames;
++ hcf_32 TxMultipleRetryFrames;
++ hcf_32 TxRetryLimitExceeded;
++ hcf_32 TxDiscards;
++ hcf_32 RxUnicastFrames;
++ hcf_32 RxMulticastFrames;
++ hcf_32 RxFragments;
++ hcf_32 RxUnicastOctets;
++ hcf_32 RxMulticastOctets;
++ hcf_32 RxFCSErrors;
++ hcf_32 RxDiscardsNoBuffer;
++ hcf_32 TxDiscardsWrongSA;
++ hcf_32 RxWEPUndecryptable;
++ hcf_32 RxMsgInMsgFragments;
++ hcf_32 RxMsgInBadMsgFragments;
++ hcf_32 RxDiscardsWEPICVError;
++ hcf_32 RxDiscardsWEPExcluded;
++} CFG_HERMES_TALLIES_STRCT;
++
++typedef struct {
++ hcf_32 not_used_NoBufInq;
++ hcf_32 NoBufInfo;
++ hcf_32 NoBufMB;
++ hcf_32 MiscErr;
++ hcf_32 EngCnt;
++} CFG_HCF_TALLIES_STRCT;
++
++typedef struct {
++ hcf_io IFB_IOBase;
++ hcf_16 IFB_IORange;
++
++ hcf_32 IFB_TickIni;
++
++ hcf_16 IFB_Version;
++ hcf_16 IFB_CardStat;
++ hcf_16 IFB_TraceLvl;
++ hcf_16 *IFB_MBp;
++ hcf_16 IFB_MBSize;
++ hcf_16 IFB_MBWp;
++ hcf_16 IFB_MBRp;
++ hcf_16 IFB_MBInfoLen;
++
++ hcf_16 IFB_DLMode;
++ hcf_16 IFB_Magic;
++ hcf_16 IFB_Cmd;
++ hcf_16 IFB_RxFID;
++ RID_LOGP IFB_RIDLogp;
++ hcf_16 IFB_Monitor;
++ hcf_16 IFB_TxFid;
++ hcf_16 IFB_RxLen;
++ hcf_16 IFB_DefunctStat;
++
++ hcf_16 IFB_ErrCmd;
++ hcf_16 IFB_ErrQualifier;
++ hcf_16 IFB_lal;
++ wci_bufp IFB_lap;
++ hcf_16 IFB_LinkStat;
++
++ void (*IFB_MICRxRtn)( hcf_32*, hcf_32 );
++ void (*IFB_MICTxRtn)( hcf_32*, hcf_32 );
++ hcf_16 IFB_rx_tlen;
++ hcf_16 IFB_tx_tlen;
++ hcf_8 IFB_rx_32[4];
++ hcf_8 IFB_tx_32[4];
++ hcf_16 IFB_RscInd;
++ hcf_16 IFB_MB_FID;
++ hcf_16 IFB_DLTarget[2];
++
++ hcf_16 IFB_DLPage;
++ hcf_16 IFB_DLOffset;
++ hcf_16 IFB_DLLen;
++
++ hcf_16 volatile IFB_IntOffCnt;
++ hcf_16 IFB_IntEnMask;
++
++ CFG_FW_IDENTITY_STRCT IFB_FWIdentity;
++ hcf_16 IFB_Tally;
++ hcf_16 IFB_TallyTyp;
++
++ CFG_HERMES_TALLIES_STRCT IFB_NIC_Tallies;
++ CFG_HCF_TALLIES_STRCT IFB_HCF_Tallies;
++
++ void *IFB_MSFSup;
++} IFB_STRCT;
++
++typedef IFB_STRCT* IFBP;
++
++struct uilreq
++{
++ union
++ {
++ char ifrn_name[16];
++ } ifr_ifrn;
++
++ IFBP hcfCtx;
++ __u8 command;
++ __u8 result;
++ __u16 len;
++ void *data;
++};
++
++typedef struct
++{
++ hcf_16 len;
++ hcf_16 typ;
++ union
++ {
++ hcf_8 u8[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_8)];
++ hcf_16 u16[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_16)];
++ hcf_32 u32[(512 - (sizeof(hcf_16) * 2)) / sizeof(hcf_32)];
++ } u;
++} ltv_t;
++
++
++#define UIL_FUN_CONNECT 0x00
++#define UIL_FUN_DISCONNECT 0x01
++#define UIL_FUN_GET_INFO 0x04
++#define UIL_FUN_PUT_INFO 0x05
++
++#define GENERIC_INFO_ELEM 0xdd
++#define RSN_INFO_ELEM 0x30
++
++#define CFG_DRIVER_ENABLE 0x0902
++#define CFG_CNF_ENCRYPTION 0xFC20
++#define CFG_ADD_TKIP_DEFAULT_KEY 0xFCB4
++#define CFG_SET_WPA_AUTH_KEY_MGMT_SUITE 0xFCB5
++#define CFG_REMOVE_TKIP_DEFAULT_KEY 0xFCB6
++#define CFG_ADD_TKIP_MAPPED_KEY 0xFCB7
++#define CFG_REMOVE_TKIP_MAPPED_KEY 0xFCB8
++#define CFG_FW_IDENTITY 0xFD20
++#define CFG_CNF_EXCL_UNENCRYPTED 0xFC22
++
++#define HCF_SUCCESS 0x00
++#define UIL_SUCCESS 0x00
++
++#define COMP_ID_FW_STA 31
++#define COMP_ID_FW_AP 32
++
++#define WVLAN2_IOCTL_UIL SIOCDEVPRIVATE
++
++#endif
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/driver-zd1211.patch b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/driver-zd1211.patch
new file mode 100644
index 0000000000..3c731c1256
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/driver-zd1211.patch
@@ -0,0 +1,535 @@
+diff -Nur wpa_supplicant-0.4.7/defconfig wpa_supplicant-0.4.7.new/defconfig
+--- wpa_supplicant-0.4.7/defconfig 2005-09-24 20:30:43.000000000 +0200
++++ wpa_supplicant-0.4.7.new/defconfig 2005-12-26 19:18:14.000000000 +0100
+@@ -68,6 +68,9 @@
+ # Driver interface for Intel ipw2100/2200 driver
+ #CONFIG_DRIVER_IPW=y
+
++# Driver interface for Zydas zd1211 driver
++#CONFIG_DRIVER_ZD1211=y
++
+ # Driver interface for generic Linux wireless extensions
+ CONFIG_DRIVER_WEXT=y
+
+diff -Nur wpa_supplicant-0.4.7/drivers.c wpa_supplicant-0.4.7.new/drivers.c
+--- wpa_supplicant-0.4.7/drivers.c 2005-02-20 01:15:54.000000000 +0100
++++ wpa_supplicant-0.4.7.new/drivers.c 2005-12-26 19:19:16.000000000 +0100
+@@ -55,6 +55,9 @@
+ #ifdef CONFIG_DRIVER_TEST
+ extern struct wpa_driver_ops wpa_driver_test_ops; /* driver_test.c */
+ #endif /* CONFIG_DRIVER_TEST */
++#ifdef CONFIG_DRIVER_ZD1211
++extern struct wpa_driver_ops wpa_driver_zd1211_ops; /* driver_zd1211.c */
++#endif /* CONFIG_DRIVER_ZD1211 */
+
+
+ struct wpa_driver_ops *wpa_supplicant_drivers[] =
+@@ -98,5 +101,8 @@
+ #ifdef CONFIG_DRIVER_TEST
+ &wpa_driver_test_ops,
+ #endif /* CONFIG_DRIVER_TEST */
++#ifdef CONFIG_DRIVER_ZD1211
++ &wpa_driver_zd1211_ops,
++#endif /* CONFIG_DRIVER_ZD1211 */
+ NULL
+ };
+diff -Nur wpa_supplicant-0.4.7/driver_zd1211.c wpa_supplicant-0.4.7.new/driver_zd1211.c
+--- wpa_supplicant-0.4.7/driver_zd1211.c 1970-01-01 01:00:00.000000000 +0100
++++ wpa_supplicant-0.4.7.new/driver_zd1211.c 2005-12-27 16:28:46.000000000 +0100
+@@ -0,0 +1,408 @@
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <errno.h>
++
++#include "common.h"
++#include "driver.h"
++#include "driver_wext.h"
++#include "eloop.h"
++#include "wireless_copy.h"
++#include "wpa_supplicant.h"
++
++#include "zd1211_common.h"
++
++
++struct wpa_driver_zd1211_data {
++ void *ctx;
++ void *wext; /* private data for driver_wext */
++ char ifname[IFNAMSIZ + 1];
++ int sock;
++};
++
++
++static int zd1211_ioctl(struct wpa_driver_zd1211_data *zd1211_drv, struct zd1211_wlan_param *param, int len, int show_err) {
++ struct iwreq iwr;
++
++ memset(&iwr, 0, sizeof(iwr));
++ strncpy(iwr.ifr_name, zd1211_drv->ifname, IFNAMSIZ);
++ iwr.u.data.pointer = (caddr_t) param;
++ iwr.u.data.length = len;
++
++ if (ioctl(zd1211_drv->sock, ZD_IOCTL_WPA, &iwr) < 0) {
++ int ret;
++
++ ret = errno;
++ if (show_err)
++ perror("ioctl[ZD_IOCTL_WPA]");
++ return ret;
++ }
++
++ return 0;
++}
++
++
++static int zd1211_set_param(struct wpa_driver_zd1211_data *zd1211_drv, int op, int arg, int show_err) {
++ struct iwreq iwr;
++ int *i, ret = 0;
++
++ memset(&iwr, 0, sizeof(iwr));
++ strncpy(iwr.ifr_name, zd1211_drv->ifname, IFNAMSIZ);
++ i = (int *) iwr.u.name;
++ *i++ = op;
++ *i++ = arg;
++
++ if (ioctl(zd1211_drv->sock, ZD_IOCTL_PARAM, &iwr) < 0) {
++ perror("ioctl[ZD_IOCTL_PARAM]");
++ ret = -1;
++ }
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_get_scan_results(void *priv, struct wpa_scan_result *results, size_t max_size) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_scan_results(zd1211_drv->wext, results, max_size);
++}
++
++
++static int wpa_driver_zd1211_get_bssid(void *priv, u8 *bssid) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_bssid(zd1211_drv->wext, bssid);
++}
++
++
++static int wpa_driver_zd1211_get_ssid(void *priv, u8 *ssid) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_get_ssid(zd1211_drv->wext, ssid);
++}
++
++
++static int wpa_driver_zd1211_set_auth_alg(void *priv, int auth_alg) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int algs = 0;
++
++ if (auth_alg & AUTH_ALG_OPEN_SYSTEM)
++ algs = 0;
++ if (auth_alg & AUTH_ALG_SHARED_KEY)
++ algs = 1;
++
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_AUTH_ALGS, algs, 1);
++}
++
++
++static int wpa_driver_zd1211_set_countermeasures(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++
++ /* Enable the countermeasure */
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_COUNTERMEASURES, enabled, 1);
++}
++
++
++static int wpa_driver_zd1211_set_drop_unencrypted(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++
++ /* Enable the countermeasure */
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++ return zd1211_set_param(zd1211_drv, ZD_PARAM_DROPUNENCRYPTED, enabled, 1);
++}
++
++
++static int wpa_driver_zd1211_set_key(void *priv, wpa_alg alg,
++ const u8 *addr, int key_idx,
++ int set_tx, const u8 *seq, size_t seq_len,
++ const u8 *key, size_t key_len) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ struct zd1211_wlan_param *param;
++ u8 *buf;
++ size_t blen;
++ int ret = 0;
++ char *alg_name;
++
++ switch (alg) {
++ case WPA_ALG_NONE:
++ alg_name = "NONE";
++ break;
++ case WPA_ALG_WEP:
++ alg_name = "WEP";
++ break;
++ case WPA_ALG_TKIP:
++ alg_name = "TKIP";
++ break;
++ case WPA_ALG_CCMP:
++ alg_name = "CCMP";
++ break;
++ default:
++ return -1;
++ }
++
++ wpa_printf(MSG_DEBUG, "%s: alg=%s key_idx=%d set_tx=%d seq_len=%d "
++ "key_len=%d", __FUNCTION__, alg_name, key_idx, set_tx,
++ seq_len, key_len);
++
++ if (seq_len > 8)
++ return -2;
++
++ blen = sizeof(*param) + key_len;
++ buf = malloc(blen);
++ if (buf == NULL)
++ return -1;
++ memset(buf, 0, blen);
++
++ param = (struct zd1211_wlan_param *) buf;
++ param->cmd = ZD_CMD_SET_ENCRYPT_KEY;
++ /* TODO: In theory, STA in client mode can use five keys; four default
++ * keys for receiving (with keyidx 0..3) and one individual key for
++ * both transmitting and receiving (keyidx 0) _unicast_ packets. Now,
++ * keyidx 0 is reserved for this unicast use and default keys can only
++ * use keyidx 1..3 (i.e., default key with keyidx 0 is not supported).
++ * This should be fine for more or less all cases, but for completeness
++ * sake, the driver could be enhanced to support the missing key. */
++#if 0
++ if (addr == NULL)
++ memset(param->sta_addr, 0xff, ETH_ALEN);
++ else
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++#else
++ memset(param->sta_addr, 0xff, ETH_ALEN);
++#endif
++ strncpy(param->u.crypt.alg, alg_name, ZD_CRYPT_ALG_NAME_LEN);
++ param->u.crypt.flags = set_tx ? ZD_FLAG_SET_TX_KEY : 0;
++ param->u.crypt.idx = key_idx;
++ memcpy(param->u.crypt.seq, seq, seq_len);
++ param->u.crypt.key_len = key_len;
++ memcpy((u8 *) param->u.crypt.key, key, key_len);
++
++ /* Dump key context */
++ if(alg == WPA_ALG_TKIP) {
++ int ii;
++
++ wpa_printf(MSG_DEBUG, "Key Context:");
++ for(ii = 0; ii < key_len; ) {
++ printf("0x%02x ", key[ii]);
++
++ if((++ii % 16) == 0)
++ printf("\n");
++ }
++
++ printf("\n");
++ }
++
++ if (zd1211_ioctl(zd1211_drv, param, blen, 1)) {
++ wpa_printf(MSG_WARNING, "Failed to set encryption.");
++ //show_set_key_error(param);
++ ret = -1;
++ }
++ free(buf);
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_set_wpa_ie(struct wpa_driver_zd1211_data *zd1211_drv, const u8 *wpa_ie, size_t wpa_ie_len) {
++ int res;
++ struct zd1211_wlan_param *param;
++ size_t blen = ZD_GENERIC_ELEMENT_HDR_LEN + wpa_ie_len;
++
++ if (blen < sizeof(*param))
++ blen = sizeof(*param);
++
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_GENERIC_ELEMENT;
++ param->u.generic_elem.len = wpa_ie_len;
++ memcpy(param->u.generic_elem.data, wpa_ie, wpa_ie_len);
++ res = zd1211_ioctl(zd1211_drv, param, blen, 1);
++
++ free(param);
++
++ return res;
++}
++
++
++static int wpa_driver_zd1211_set_wpa(void *priv, int enabled) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int ret = 0;
++
++ wpa_printf(MSG_DEBUG, "%s: enabled=%d", __FUNCTION__, enabled);
++
++ if (!enabled && wpa_driver_zd1211_set_wpa_ie(zd1211_drv, NULL, 0) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_ROAMING, enabled, 1) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_PRIVACY, enabled, 1) < 0)
++ ret = -1;
++ if (zd1211_set_param(zd1211_drv, ZD_PARAM_WPA, enabled, 1) < 0)
++ ret = -1;
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_associate(void *priv, struct wpa_driver_associate_params *params) {
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int ret = 0;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ /* Because there might be the case, two or more APs with the same
++ * SSID, in order to identify them, we need to set the BSSID. */
++ if (wpa_driver_zd1211_set_wpa_ie(zd1211_drv, params->wpa_ie, params->wpa_ie_len) < 0)
++ ret = -1;
++ if (wpa_driver_wext_set_ssid(zd1211_drv->wext, params->ssid, params->ssid_len) < 0)
++ ret = -1;
++
++ // Mark for test
++ //if (wpa_driver_wext_set_bssid(ifname, bssid) < 0)
++ // ret = -1;
++
++#if 0
++ /* Allow unencrypted EAPOL messages even if pairwise keys are set when
++ * not using WPA. IEEE 802.1X specifies that these frames are not
++ * encrypted, but WPA encrypts them when pairwise keys are in use. */
++ if (key_mgmt_suite == KEY_MGMT_802_1X ||
++ key_mgmt_suite == KEY_MGMT_PSK)
++ allow_unencrypted_eapol = 0;
++ else
++ allow_unencrypted_eapol = 1;
++
++ if (prism2param(ifname, PRISM2_PARAM_IEEE_802_1X,
++ allow_unencrypted_eapol) < 0) {
++ wpa_printf(MSG_DEBUG, "hostap: Failed to configure "
++ "ieee_802_1x param");
++ /* Ignore this error.. driver_hostap.c can also be used with
++ * other drivers that do not support this prism2_param. */
++ }
++#endif
++
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_deauthenticate(void *priv, const u8 *addr, int reason_code) {
++ struct zd1211_wlan_param *param;
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int blen;
++ int ret;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ blen = sizeof(*param);
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_MLME;
++ param->u.mlme.cmd = MLME_STA_DEAUTH;
++ param->u.mlme.reason_code = reason_code;
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++ ret = zd1211_ioctl(zd1211_drv, param, blen, 1);
++ usleep(100000);
++ free(param);
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_disassociate(void *priv, const u8 *addr, int reason_code) {
++ struct zd1211_wlan_param *param;
++ struct wpa_driver_zd1211_data *zd1211_drv = priv;
++ int blen;
++ int ret;
++
++ wpa_printf(MSG_DEBUG, "%s", __FUNCTION__);
++
++ blen = sizeof(*param);
++ param = (struct zd1211_wlan_param *) malloc(blen);
++ if (param == NULL)
++ return -1;
++
++ memset(param, 0, blen);
++ param->cmd = ZD_CMD_SET_MLME;
++ param->u.mlme.cmd = MLME_STA_DISASSOC;
++ param->u.mlme.reason_code = reason_code;
++ memcpy(param->sta_addr, addr, ETH_ALEN);
++ ret = zd1211_ioctl(zd1211_drv, param, blen, 1);
++ free(param);
++ return ret;
++}
++
++
++static int wpa_driver_zd1211_scan(void *priv, const u8 *ssid, size_t ssid_len) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = priv;
++ return wpa_driver_wext_scan(zd1211_drv->wext, ssid, ssid_len);
++}
++
++
++static void * wpa_driver_zd1211_init(void *ctx, const char *ifname) {
++ struct wpa_driver_zd1211_data *zd1211_drv;
++
++ zd1211_drv = malloc(sizeof(*zd1211_drv));
++ if (zd1211_drv == NULL)
++ return NULL;
++ memset(zd1211_drv, 0, sizeof(*zd1211_drv));
++
++ zd1211_drv->wext = wpa_driver_wext_init(ctx, ifname);
++ if (zd1211_drv->wext == NULL)
++ goto exit_no_wext;
++
++ zd1211_drv->ctx = ctx;
++ strncpy(zd1211_drv->ifname, ifname, sizeof(zd1211_drv->ifname));
++
++ zd1211_drv->sock = socket(PF_INET, SOCK_DGRAM, 0);
++ if (zd1211_drv->sock < 0)
++ goto exit_no_socket;
++
++ return zd1211_drv;
++
++exit_no_socket:
++ wpa_driver_wext_deinit(zd1211_drv->wext);
++exit_no_wext:
++ free(zd1211_drv);
++ return NULL;
++}
++
++
++static void wpa_driver_zd1211_deinit(void *ctx) {
++ struct wpa_driver_zd1211_data *zd1211_drv = ctx;
++
++ wpa_driver_wext_deinit(zd1211_drv->wext);
++ close(zd1211_drv->sock);
++ free(zd1211_drv);
++}
++
++
++struct wpa_driver_ops wpa_driver_zd1211_ops = {
++ .name = "zd1211",
++ .desc = "Zydas zd1211 drivers",
++ .init = wpa_driver_zd1211_init,
++ .deinit = wpa_driver_zd1211_deinit,
++ .associate = wpa_driver_zd1211_associate,
++ .deauthenticate = wpa_driver_zd1211_deauthenticate,
++ .disassociate = wpa_driver_zd1211_disassociate,
++ .get_bssid = wpa_driver_zd1211_get_bssid,
++ .get_scan_results = wpa_driver_zd1211_get_scan_results,
++ .get_ssid = wpa_driver_zd1211_get_ssid,
++// .get_capa = wpa_driver_zd1211_get_capa,
++ .scan = wpa_driver_zd1211_scan,
++ .set_auth_alg = wpa_driver_zd1211_set_auth_alg,
++ .set_countermeasures = wpa_driver_zd1211_set_countermeasures,
++ .set_drop_unencrypted = wpa_driver_zd1211_set_drop_unencrypted,
++ .set_key = wpa_driver_zd1211_set_key,
++ .set_wpa = wpa_driver_zd1211_set_wpa,
++};
+diff -Nur wpa_supplicant-0.4.7/Makefile wpa_supplicant-0.4.7.new/Makefile
+--- wpa_supplicant-0.4.7/Makefile 2005-11-21 02:42:12.000000000 +0100
++++ wpa_supplicant-0.4.7.new/Makefile 2005-12-26 19:17:14.000000000 +0100
+@@ -107,6 +107,12 @@
+ CONFIG_WIRELESS_EXTENSION=y
+ endif
+
++ifdef CONFIG_DRIVER_ZD1211
++CFLAGS += -DCONFIG_DRIVER_ZD1211
++OBJS_d += driver_zd1211.o
++CONFIG_WIRELESS_EXTENSION=y
++endif
++
+ ifdef CONFIG_DRIVER_BSD
+ CFLAGS += -DCONFIG_DRIVER_BSD
+ OBJS_d += driver_bsd.o
+diff -Nur wpa_supplicant-0.4.7/zd1211_common.h wpa_supplicant-0.4.7.new/zd1211_common.h
+--- wpa_supplicant-0.4.7/zd1211_common.h 1970-01-01 01:00:00.000000000 +0100
++++ wpa_supplicant-0.4.7.new/zd1211_common.h 2005-12-27 16:00:36.000000000 +0100
+@@ -0,0 +1,68 @@
++#ifndef ZD1211_COMMON_H
++#define ZD1211_COMMON_H
++
++
++#define ZD_IOCTL_WPA (SIOCDEVPRIVATE + 1)
++#define ZD_IOCTL_PARAM (SIOCDEVPRIVATE + 2)
++
++#define ZD_PARAM_ROAMING 0x0001
++#define ZD_PARAM_PRIVACY 0x0002
++#define ZD_PARAM_WPA 0x0003
++#define ZD_PARAM_COUNTERMEASURES 0x0004
++#define ZD_PARAM_DROPUNENCRYPTED 0x0005
++#define ZD_PARAM_AUTH_ALGS 0x0006
++
++#define ZD_CMD_SET_ENCRYPT_KEY 0x0001
++#define ZD_CMD_SET_MLME 0x0002
++//#define ZD_CMD_SCAN_REQ 0x0003
++#define ZD_CMD_SET_GENERIC_ELEMENT 0x0004
++
++#define ZD_FLAG_SET_TX_KEY 0x0001
++
++#define ZD_GENERIC_ELEMENT_HDR_LEN \
++((int) (&((struct zd1211_wlan_param *) 0)->u.generic_elem.data))
++
++#define ZD_CRYPT_ALG_NAME_LEN 16
++#define ZD_MAX_KEY_SIZE 32
++#define ZD_MAX_GENERIC_SIZE 64
++
++/* structure definition */
++
++struct zd1211_wlan_param {
++ u32 cmd;
++ u8 sta_addr[ETH_ALEN];
++ union {
++ struct {
++ u8 alg[ZD_CRYPT_ALG_NAME_LEN];
++ u32 flags;
++ u32 err;
++ u8 idx;
++ u8 seq[8]; /* sequence counter (set: RX, get: TX) */
++ u16 key_len;
++ u8 key[ZD_MAX_KEY_SIZE];
++ } crypt;
++/*
++ struct {
++ u32 flags_and;
++ u32 flags_or;
++ } set_flags_sta;
++*/
++ struct {
++ u8 len;
++ u8 data[ZD_MAX_GENERIC_SIZE];
++ } generic_elem;
++ struct {
++#define MLME_STA_DEAUTH 0
++#define MLME_STA_DISASSOC 1
++ u16 cmd;
++ u16 reason_code;
++ } mlme;
++ struct {
++ u8 ssid_len;
++ u8 ssid[32];
++ } scan_req;
++ } u;
++};
++
++
++#endif
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/madwifi-bsd-fix.diff b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/madwifi-bsd-fix.diff
new file mode 100644
index 0000000000..974eb39627
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/madwifi-bsd-fix.diff
@@ -0,0 +1,12 @@
+--- driver_madwifi.c.orig 2005-03-18 15:12:53.392793216 +0100
++++ driver_madwifi.c 2005-03-18 15:13:09.246383104 +0100
+@@ -25,7 +25,8 @@
+ #include "eloop.h"
+ #include "wpa_supplicant.h"
+
+-#include <include/compat.h>
++#include <net80211/compat.h>
++#include <net80211/_ieee80211.h>
+ #include <net80211/ieee80211.h>
+ #include <net80211/ieee80211_crypto.h>
+ #include <net80211/ieee80211_ioctl.h>
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/wpa_supplicant.conf b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/wpa_supplicant.conf
new file mode 100644
index 0000000000..da407b5ef3
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-0.4.7/wpa_supplicant.conf
@@ -0,0 +1,502 @@
+##### Example wpa_supplicant configuration file ###############################
+# Empty lines and lines starting with # are ignored
+
+# NOTE! This file may contain password information and should probably be made
+# readable only by root user on multiuser systems.
+
+# global configuration (shared by all network blocks)
+#
+# Interface for separate control program. If this is specified, wpa_supplicant
+# will create this directory and a UNIX domain socket for listening to requests
+# from external programs (CLI/GUI, etc.) for status information and
+# configuration. The socket file will be named based on the interface name, so
+# multiple wpa_supplicant processes can be run at the same time if more than
+# one interface is used.
+# /var/run/wpa_supplicant is the recommended directory for sockets and by
+# default, wpa_cli will use it when trying to connect with wpa_supplicant.
+ctrl_interface=/var/run/wpa_supplicant
+
+# Access control for the control interface can be configured by setting the
+# directory to allow only members of a group to use sockets. This way, it is
+# possible to run wpa_supplicant as root (since it needs to change network
+# configuration and open raw sockets) and still allow GUI/CLI components to be
+# run as non-root users. However, since the control interface can be used to
+# change the network configuration, this access needs to be protected in many
+# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
+# want to allow non-root users to use the control interface, add a new group
+# and change this value to match with that group. Add users that should have
+# control interface access to this group. If this variable is commented out or
+# not included in the configuration file, group will not be changed from the
+# value it got by default when the directory or socket was created.
+#
+# This variable can be a group name or gid.
+#ctrl_interface_group=wheel
+ctrl_interface_group=0
+
+# IEEE 802.1X/EAPOL version
+# wpa_supplicant was implemented based on IEEE 802-1X-REV-d8 which defines
+# EAPOL version 2. However, there are many APs that do not handle the new
+# version number correctly (they seem to drop the frames completely). In order
+# to make wpa_supplicant interoperate with these APs, the version number is set
+# to 1 by default. This configuration value can be used to set it to the new
+# version (2).
+eapol_version=1
+
+# AP scanning/selection
+# By default, wpa_supplicant requests driver to perform AP scanning and then
+# uses the scan results to select a suitable AP. Another alternative is to
+# allow the driver to take care of AP scanning and selection and use
+# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
+# information from the driver.
+# 1: wpa_supplicant initiates scanning and AP selection
+# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
+# parameters (e.g., WPA IE generation); this mode can also be used with
+# non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
+# APs (i.e., external program needs to control association)
+# 2: like 0, but associate with APs using security policy and SSID (but not
+# BSSID); this can be used, e.g., with ndiswrapper and NDIS driver to
+# enable operation with hidden SSIDs and optimized roaming; in this mode,
+# only the first network block in the configuration file is used and this
+# configuration should have explicit security policy (i.e., only one option
+# in the lists) for key_mgmt, pairwise, group, proto variables
+ap_scan=1
+
+# EAP fast re-authentication
+# By default, fast re-authentication is enabled for all EAP methods that
+# support it. This variable can be used to disable fast re-authentication.
+# Normally, there is no need to disable this.
+fast_reauth=1
+
+# network block
+#
+# Each network (usually AP's sharing the same SSID) is configured as a separate
+# block in this configuration file. The network blocks are in preference order
+# (the first match is used).
+#
+# network block fields:
+#
+# ssid: SSID (mandatory); either as an ASCII string with double quotation or
+# as hex string; network name
+#
+# scan_ssid:
+# 0 = do not scan this SSID with specific Probe Request frames (default)
+# 1 = scan with SSID-specific Probe Request frames (this can be used to
+# find APs that do not accept broadcast SSID or use multiple SSIDs;
+# this will add latency to scanning, so enable this only when needed)
+#
+# bssid: BSSID (optional); if set, this network block is used only when
+# associating with the AP using the configured BSSID
+#
+# priority: priority group (integer)
+# By default, all networks will get same priority group (0). If some of the
+# networks are more desirable, this field can be used to change the order in
+# which wpa_supplicant goes through the networks when selecting a BSS. The
+# priority groups will be iterated in decreasing priority (i.e., the larger the
+# priority value, the sooner the network is matched against the scan results).
+# Within each priority group, networks will be selected based on security
+# policy, signal strength, etc.
+# Please note that AP scanning with scan_ssid=1 is not using this priority to
+# select the order for scanning. Instead, it uses the order the networks are in
+# the configuration file.
+#
+# mode: IEEE 802.11 operation mode
+# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
+# 1 = IBSS (ad-hoc, peer-to-peer)
+# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
+# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
+# to be set to 2 for IBSS. WPA-None requires following network block options:
+# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
+# both), and psk must also be set.
+#
+# proto: list of accepted protocols
+# WPA = WPA/IEEE 802.11i/D3.0
+# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
+# If not set, this defaults to: WPA RSN
+#
+# key_mgmt: list of accepted authenticated key management protocols
+# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
+# WPA-EAP = WPA using EAP authentication (this can use an external
+# program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
+# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
+# generated WEP keys
+# NONE = WPA is not used; plaintext or static WEP could be used
+# If not set, this defaults to: WPA-PSK WPA-EAP
+#
+# auth_alg: list of allowed IEEE 802.11 authentication algorithms
+# OPEN = Open System authentication (required for WPA/WPA2)
+# SHARED = Shared Key authentication (requires static WEP keys)
+# LEAP = LEAP/Network EAP (only used with LEAP)
+# If not set, automatic selection is used (Open System with LEAP enabled if
+# LEAP is allowed as one of the EAP methods).
+#
+# pairwise: list of accepted pairwise (unicast) ciphers for WPA
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# NONE = Use only Group Keys (deprecated, should not be included if APs support
+# pairwise keys)
+# If not set, this defaults to: CCMP TKIP
+#
+# group: list of accepted group (broadcast/multicast) ciphers for WPA
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
+# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
+# If not set, this defaults to: CCMP TKIP WEP104 WEP40
+#
+# psk: WPA preshared key; 256-bit pre-shared key
+# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
+# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
+# generated using the passphrase and SSID). ASCII passphrase must be between
+# 8 and 63 characters (inclusive).
+# This field is not needed, if WPA-EAP is used.
+# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
+# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
+# startup and reconfiguration time can be optimized by generating the PSK only
+# only when the passphrase or SSID has actually changed.
+#
+# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
+# Dynamic WEP key require for non-WPA mode
+# bit0 (1): require dynamically generated unicast WEP key
+# bit1 (2): require dynamically generated broadcast WEP key
+# (3 = require both keys; default)
+#
+# Following fields are only used with internal EAP implementation.
+# eap: space-separated list of accepted EAP methods
+# MD5 = EAP-MD5 (unsecure and does not generate keying material ->
+# cannot be used with WPA; to be used as a Phase 2 method
+# with EAP-PEAP or EAP-TTLS)
+# MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# OTP = EAP-OTP (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# GTC = EAP-GTC (cannot be used separately with WPA; to be used
+# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
+# TLS = EAP-TLS (client and server certificate)
+# PEAP = EAP-PEAP (with tunnelled EAP authentication)
+# TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
+# authentication)
+# If not set, all compiled in methods are allowed.
+#
+# identity: Identity string for EAP
+# anonymous_identity: Anonymous identity string for EAP (to be used as the
+# unencrypted identity with EAP types that support different tunnelled
+# identity, e.g., EAP-TTLS)
+# password: Password string for EAP
+# ca_cert: File path to CA certificate file. This file can have one or more
+# trusted CA certificates. If ca_cert is not included, server certificate
+# will not be verified. This is insecure and the CA file should always be
+# configured.
+# client_cert: File path to client certificate file (PEM/DER)
+# private_key: File path to client private key file (PEM/DER/PFX)
+# When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
+# commented out. Both the private key and certificate will be read from
+# the PKCS#12 file in this case.
+# private_key_passwd: Password for private key file
+# dh_file: File path to DH/DSA parameters file (in PEM format)
+# This is an optional configuration file for setting parameters for an
+# ephemeral DH key exchange. In most cases, the default RSA
+# authentication does not use this configuration. However, it is possible
+# setup RSA to use ephemeral DH key exchange. In addition, ciphers with
+# DSA keys always use ephemeral DH keys. This can be used to achieve
+# forward secrecy. If the file is in DSA parameters format, it will be
+# automatically converted into DH params.
+# subject_match: Substring to be matched against the subject of the
+# authentication server certificate. If this string is set, the server
+# sertificate is only accepted if it contains this string in the subject.
+# The subject string is in following format:
+# /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
+# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
+# (string with field-value pairs, e.g., "peapver=0" or
+# "peapver=1 peaplabel=1")
+# 'peapver' can be used to force which PEAP version (0 or 1) is used.
+# 'peaplabel=1' can be used to force new label, "client PEAP encryption",
+# to be used during key derivation when PEAPv1 or newer. Most existing
+# PEAPv1 implementation seem to be using the old label, "client EAP
+# encryption", and wpa_supplicant is now using that as the default value.
+# Some servers, e.g., Radiator, may require peaplabel=1 configuration to
+# interoperate with PEAPv1; see eap_testing.txt for more details.
+# 'peap_outer_success=0' can be used to terminate PEAP authentication on
+# tunneled EAP-Success. This is required with some RADIUS servers that
+# implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
+# Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
+# sim_min_num_chal=3 can be used to configure EAP-SIM to require three
+# challenges (by default, it accepts 2 or 3)
+# phase2: Phase2 (inner authentication with TLS tunnel) parameters
+# (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
+# "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
+# Following certificate/private key fields are used in inner Phase2
+# authentication when using EAP-TTLS or EAP-PEAP.
+# ca_cert2: File path to CA certificate file. This file can have one or more
+# trusted CA certificates. If ca_cert2 is not included, server
+# certificate will not be verified. This is insecure and the CA file
+# should always be configured.
+# client_cert2: File path to client certificate file
+# private_key2: File path to client private key file
+# private_key2_passwd: Password for private key file
+# dh_file2: File path to DH/DSA parameters file (in PEM format)
+# subject_match2: Substring to be matched against the subject of the
+# authentication server certificate.
+#
+# EAP-PSK variables:
+# eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in hex format
+# nai: user NAI
+# server_nai: authentication server NAI
+#
+# EAP-FAST variables:
+# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
+# to create this file and write updates to it when PAC is being
+# provisioned or refreshed.
+# phase1: fast_provisioning=1 option enables in-line provisioning of EAP-FAST
+# credentials (PAC)
+#
+# wpa_supplicant supports number of "EAP workarounds" to work around
+# interoperability issues with incorrectly behaving authentication servers.
+# These are enabled by default because some of the issues are present in large
+# number of authentication servers. Strict EAP conformance mode can be
+# configured by disabling workarounds with eap_workaround=0.
+
+# Example blocks:
+
+# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
+network={
+ ssid="simple"
+ psk="very secret passphrase"
+ priority=5
+}
+
+# Same as previous, but request SSID-specific scanning (for APs that reject
+# broadcast SSID)
+network={
+ ssid="second ssid"
+ scan_ssid=1
+ psk="very secret passphrase"
+ priority=2
+}
+
+# Only WPA-PSK is used. Any valid cipher combination is accepted.
+network={
+ ssid="example"
+ proto=WPA
+ key_mgmt=WPA-PSK
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+ psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
+ priority=2
+}
+
+# Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
+# or WEP40 as the group cipher will not be accepted.
+network={
+ ssid="example"
+ proto=RSN
+ key_mgmt=WPA-EAP
+ pairwise=CCMP TKIP
+ group=CCMP TKIP
+ eap=TLS
+ identity="user@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ priority=1
+}
+
+# EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
+# (e.g., Radiator)
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=PEAP
+ identity="user@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ phase1="peaplabel=1"
+ phase2="auth=MSCHAPV2"
+ priority=10
+}
+
+# EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
+# unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ identity="user@example.com"
+ anonymous_identity="anonymous@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ priority=2
+}
+
+# EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
+# use. Real identity is sent only within an encrypted TLS tunnel.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ identity="user@example.com"
+ anonymous_identity="anonymous@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ phase2="auth=MSCHAPV2"
+}
+
+# WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
+# authentication.
+network={
+ ssid="example"
+ key_mgmt=WPA-EAP
+ eap=TTLS
+ # Phase1 / outer authentication
+ anonymous_identity="anonymous@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ # Phase 2 / inner authentication
+ phase2="autheap=TLS"
+ ca_cert2="/etc/cert/ca2.pem"
+ client_cert2="/etc/cer/user.pem"
+ private_key2="/etc/cer/user.prv"
+ private_key2_passwd="password"
+ priority=2
+}
+
+# Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
+# group cipher.
+network={
+ ssid="example"
+ bssid=00:11:22:33:44:55
+ proto=WPA RSN
+ key_mgmt=WPA-PSK WPA-EAP
+ pairwise=CCMP
+ group=CCMP
+ psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
+}
+
+# Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
+# and all valid ciphers.
+network={
+ ssid=00010203
+ psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+}
+
+
+# EAP-SIM with a GSM SIM or USIM
+network={
+ ssid="eap-sim-test"
+ key_mgmt=WPA-EAP
+ eap=SIM
+ pin="1234"
+ pcsc=""
+}
+
+
+# EAP-PSK
+network={
+ ssid="eap-psk-test"
+ key_mgmt=WPA-EAP
+ eap=PSK
+ identity="eap_psk_user"
+ eappsk=06b4be19da289f475aa46a33cb793029
+ nai="eap_psk_user@example.com"
+ server_nai="as@example.com"
+}
+
+
+# IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
+# EAP-TLS for authentication and key generation; require both unicast and
+# broadcast WEP keys.
+network={
+ ssid="1x-test"
+ key_mgmt=IEEE8021X
+ eap=TLS
+ identity="user@example.com"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ eapol_flags=3
+}
+
+
+# LEAP with dynamic WEP keys
+network={
+ ssid="leap-example"
+ key_mgmt=IEEE8021X
+ eap=LEAP
+ identity="user"
+ password="foobar"
+}
+
+# EAP-FAST with WPA (WPA or WPA2)
+network={
+ ssid="eap-fast-test"
+ key_mgmt=WPA-EAP
+ eap=FAST
+ anonymous_identity="FAST-000102030405"
+ identity="username"
+ password="password"
+ phase1="fast_provisioning=1"
+ pac_file="/etc/wpa_supplicant.eap-fast-pac"
+}
+
+# Plaintext connection (no WPA, no IEEE 802.1X)
+network={
+ ssid="plaintext-test"
+ key_mgmt=NONE
+}
+
+
+# Shared WEP key connection (no WPA, no IEEE 802.1X)
+network={
+ ssid="static-wep-test"
+ key_mgmt=NONE
+ wep_key0="abcde"
+ wep_key1=0102030405
+ wep_key2="1234567890123"
+ wep_tx_keyidx=0
+ priority=5
+}
+
+
+# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
+# IEEE 802.11 authentication
+network={
+ ssid="static-wep-test2"
+ key_mgmt=NONE
+ wep_key0="abcde"
+ wep_key1=0102030405
+ wep_key2="1234567890123"
+ wep_tx_keyidx=0
+ priority=5
+ auth_alg=SHARED
+}
+
+
+# IBSS/ad-hoc network with WPA-None/TKIP.
+network={
+ ssid="test adhoc"
+ mode=1
+ proto=WPA
+ key_mgmt=WPA-NONE
+ pairwise=NONE
+ group=TKIP
+ psk="secret passphrase"
+}
+
+
+# Catch all example that allows more or less all configuration modes
+network={
+ ssid="example"
+ scan_ssid=1
+ key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
+ pairwise=CCMP TKIP
+ group=CCMP TKIP WEP104 WEP40
+ psk="very secret passphrase"
+ eap=TTLS PEAP TLS
+ identity="user@example.com"
+ password="foobar"
+ ca_cert="/etc/cert/ca.pem"
+ client_cert="/etc/cert/user.pem"
+ private_key="/etc/cert/user.prv"
+ private_key_passwd="password"
+ phase1="peaplabel=0"
+}
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-nossl/wpa-defconfig b/meta/packages/wpa-supplicant/wpa-supplicant-nossl/wpa-defconfig
new file mode 100644
index 0000000000..bf5d5e28e7
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-nossl/wpa-defconfig
@@ -0,0 +1,4 @@
+CONFIG_DRIVER_WEXT=y
+CONFIG_WIRELESS_EXTENSION=y
+CONFIG_DRIVER_HOSTAP=y
+
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-nossl_0.2.6.bb b/meta/packages/wpa-supplicant/wpa-supplicant-nossl_0.2.6.bb
new file mode 100644
index 0000000000..2e9e1b879f
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-nossl_0.2.6.bb
@@ -0,0 +1,7 @@
+DESCRIPTION = "User space helper for WPA and WPA2 client operations. \
+The Supplicant is used in WPA/WPA2 key handshakes to authenticate \
+with the AP and to generate dynamic encryption keys (TKIP or CCMP)."
+
+PR = "r3"
+
+include wpa-supplicant_${PV}.inc
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-ssl/wpa-defconfig b/meta/packages/wpa-supplicant/wpa-supplicant-ssl/wpa-defconfig
new file mode 100644
index 0000000000..2dac008aa5
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-ssl/wpa-defconfig
@@ -0,0 +1,15 @@
+# CONFIG_DRIVER_HOSTAP is not set
+CONFIG_DRIVER_WEXT=y
+CONFIG_WIRELESS_EXTENSION=y
+CONFIG_DRIVER_HOSTAP=y
+CONFIG_IEEE8021X_EAPOL=y
+CONFIG_EAP_MD5=y
+CONFIG_MSCHAPV2=y
+CONFIG_EAP_TLS=y
+CONFIG_EAP_PEAP=y
+CONFIG_EAP_TTLS=y
+CONFIG_EAP_GTC=y
+CONFIG_EAP_OTP=y
+CONFIG_EAP_SIM=y
+CONFIG_EAP_LEAP=y
+#CONFIG_PCSC=y
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant-ssl_0.2.6.bb b/meta/packages/wpa-supplicant/wpa-supplicant-ssl_0.2.6.bb
new file mode 100644
index 0000000000..85cdbb3379
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant-ssl_0.2.6.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "User space helper for WPA and WPA2 client operations with SSL. \
+The Supplicant is used in WPA/WPA2 key handshakes to authenticate \
+with the AP and to generate dynamic encryption keys (TKIP or CCMP)."
+DEPENDSS = "openssl"
+PR = "r3"
+
+EXTRA_OEMAKE="LIBS='-L${STAGING_LIBDIR} -lssl -lcrypto' LIBS_p='-L${STAGING_LIBDIR} -lssl -lcrypto'"
+
+include wpa-supplicant_${PV}.inc
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant_0.2.6.inc b/meta/packages/wpa-supplicant/wpa-supplicant_0.2.6.inc
new file mode 100644
index 0000000000..c2b51021f9
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant_0.2.6.inc
@@ -0,0 +1,34 @@
+SECTION = "kernel/userland"
+HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
+LICENSE = "GPL"
+
+SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
+ file://wpa-defconfig \
+ file://wpa_supplicant_default.conf"
+
+RREPLACES_${PN} = "hostap-${PN}"
+RPROVIDES_${PN} = "hostap-${PN}"
+RCONFLICTS_${PN} = "hostap-${PN}"
+
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+do_compile() {
+ unset CFLAGS
+ base_do_compile
+}
+
+do_configure() {
+ install -m 0644 ${WORKDIR}/wpa-defconfig .config
+}
+
+do_install() {
+ install -d ${D}${sysconfdir} ${D}${bindir}
+ install -m 0644 wpa_supplicant.conf ${D}${sysconfdir}/wpa_supplicant.conf.sample
+ install -m 0644 ../wpa_supplicant_default.conf ${D}${sysconfdir}/wpa_supplicant.conf
+ install -m 0755 wpa_passphrase ${D}${bindir}
+ install -m 0755 wpa_cli ${D}${bindir}
+ install -m 0755 wpa_supplicant ${D}${bindir}
+}
+
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant_0.3.6.bb b/meta/packages/wpa-supplicant/wpa-supplicant_0.3.6.bb
new file mode 100644
index 0000000000..0a8fc1bc66
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant_0.3.6.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "A Client for Wi-Fi Protected Access (WPA)."
+SECTION = "network"
+LICENSE = "GPL"
+MAINTAINER = "Holger Schurig"
+HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+DEPENDS = "openssl"
+PR = "r3"
+
+SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-0.3.6.tar.gz \
+ file://defconfig \
+ file://driver-hermes.patch;patch=1 \
+ file://wpa_supplicant.conf"
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+do_configure () {
+ install -m 0755 ${WORKDIR}/defconfig .config
+}
+
+do_compile () {
+ make
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m755 wpa_supplicant ${D}${sbindir}
+ install -m755 wpa_passphrase ${D}${sbindir}
+ install -m755 wpa_cli ${D}${sbindir}
+
+ install -d ${D}${sysconfdir}
+ install -m644 ${WORKDIR}/wpa_supplicant.conf ${D}${sysconfdir}
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m644 README ${D}${docdir}/wpa_supplicant
+}
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant_0.3.8.bb b/meta/packages/wpa-supplicant/wpa-supplicant_0.3.8.bb
new file mode 100644
index 0000000000..684d7da8eb
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant_0.3.8.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "A Client for Wi-Fi Protected Access (WPA)."
+SECTION = "network"
+LICENSE = "GPL"
+MAINTAINER = "Holger Schurig"
+HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+DEPENDS = "openssl"
+DEPENDS_mtx-1_append = "madwifi-modules"
+PR = "r1"
+
+SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
+ file://madwifi-bsd-fix.diff;patch=1;pnum=0 \
+ file://defconfig \
+ file://driver-hermes.patch;patch=1 \
+ file://wpa_supplicant.conf"
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+do_configure () {
+ install -m 0755 ${WORKDIR}/defconfig .config
+}
+
+do_compile () {
+ make
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m755 wpa_supplicant ${D}${sbindir}
+ install -m755 wpa_passphrase ${D}${sbindir}
+ install -m755 wpa_cli ${D}${sbindir}
+
+ install -d ${D}${sysconfdir}
+ install -m644 ${WORKDIR}/wpa_supplicant.conf ${D}${sysconfdir}
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m644 README ${D}${docdir}/wpa_supplicant
+}
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant_0.4.7.bb b/meta/packages/wpa-supplicant/wpa-supplicant_0.4.7.bb
new file mode 100644
index 0000000000..268255c39e
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant_0.4.7.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "A Client for Wi-Fi Protected Access (WPA)."
+SECTION = "network"
+LICENSE = "GPL"
+MAINTAINER = "Holger Schurig"
+HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+DEPENDS = "openssl"
+DEPENDS_mtx-1_append = "madwifi-modules"
+PR = "r1"
+
+SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
+ file://madwifi-bsd-fix.diff;patch=1;pnum=0 \
+ file://defconfig \
+ file://driver-hermes.patch;patch=1 \
+ file://driver-zd1211.patch;patch=1 \
+ file://wpa_supplicant.conf"
+
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+do_configure () {
+ install -m 0755 ${WORKDIR}/defconfig .config
+}
+
+do_compile () {
+ make
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m755 wpa_supplicant ${D}${sbindir}
+ install -m755 wpa_passphrase ${D}${sbindir}
+ install -m755 wpa_cli ${D}${sbindir}
+
+ install -d ${D}${sysconfdir}
+ install -m644 ${WORKDIR}/wpa_supplicant.conf ${D}${sysconfdir}
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m644 README ${D}${docdir}/wpa_supplicant
+}
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant_0.5.1.bb b/meta/packages/wpa-supplicant/wpa-supplicant_0.5.1.bb
new file mode 100644
index 0000000000..236992f8f0
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant_0.5.1.bb
@@ -0,0 +1,58 @@
+DESCRIPTION = "A Client for Wi-Fi Protected Access (WPA)."
+SECTION = "network"
+LICENSE = "GPL"
+MAINTAINER = "Holger Schurig"
+MAINTAINER = "Eric Shattow <lucent@gmail.com>"
+HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+DEPENDS = "gnutls madwifi-ng"
+
+PR = "r4"
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
+ file://defconfig-gnutls \
+ file://init.sh \
+ file://defaults-sane \
+ file://wpa_supplicant.conf \
+ file://wpa_supplicant.conf-sane"
+
+S = "${WORKDIR}/wpa_supplicant-${PV}"
+
+PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
+FILES_wpa-supplicant-passphrase = "/usr/sbin/wpa_passphrase"
+FILES_wpa-supplicant-cli = "/usr/sbin/wpa_cli"
+
+RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
+
+INITSCRIPT_NAME = "wpa"
+INITSCRIPT_PARAMS = "defaults 10"
+inherit update-rc.d
+
+do_configure () {
+ install -m 0755 ${WORKDIR}/defconfig-gnutls .config
+ echo "CONFIG_DRIVER_MADWIFI=y" >> .config
+ echo "CFLAGS += -I${STAGING_INCDIR}/madwifi-ng" >> .config
+}
+
+do_compile () {
+ make
+}
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m755 wpa_supplicant ${D}${sbindir}
+ install -m755 wpa_passphrase ${D}${sbindir}
+ install -m755 wpa_cli ${D}${sbindir}
+
+ install -d ${D}${localstatedir}/run/wpa_supplicant
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m644 README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m700 ${WORKDIR}/init.sh ${D}${sysconfdir}/init.d/wpa
+
+ install -d ${D}${sysconfdir}/default
+ install -m600 ${WORKDIR}/defaults-sane ${D}${sysconfdir}/default/wpa
+ install -m600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
+}
diff --git a/meta/packages/wpa-supplicant/wpa-supplicant_cvs.bb b/meta/packages/wpa-supplicant/wpa-supplicant_cvs.bb
new file mode 100644
index 0000000000..fd93eb8e54
--- /dev/null
+++ b/meta/packages/wpa-supplicant/wpa-supplicant_cvs.bb
@@ -0,0 +1,59 @@
+DESCRIPTION = "Client for Wi-Fi Protected Access (WPA)."
+SECTION = "network"
+LICENSE = "GPL"
+MAINTAINER = "Holger Schurig"
+HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
+DEPENDS = "openssl"
+PV = "0.0+cvs${SRCDATE}"
+PR = "r2"
+
+SRC_URI = "cvs://anonymous@hostap.epitest.fi/cvs;module=hostap \
+ file://use-channel.patch;patch=1 \
+ file://driver-hermes.patch;patch=1 \
+ file://defconfig \
+ file://defaults \
+ file://init.sh \
+ file://wpa_supplicant.conf"
+S = "${WORKDIR}/hostap/wpa_supplicant"
+
+
+PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
+FILES_wpa-supplicant-passphrase = "/usr/sbin/wpa_passphrase"
+FILES_wpa-supplicant-cli = "/usr/sbin/wpa_cli"
+
+RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
+
+
+INITSCRIPT_NAME = "wpa"
+INITSCRIPT_PARAMS = "defaults 10"
+inherit update-rc.d
+
+
+do_configure () {
+ install -m 0755 ${WORKDIR}/defconfig .config
+}
+
+
+do_compile () {
+ make
+}
+
+
+do_install () {
+ set -x
+ install -d ${D}${sbindir}
+ install -m755 wpa_supplicant ${D}${sbindir}
+ install -m755 wpa_passphrase ${D}${sbindir}
+ install -m755 wpa_cli ${D}${sbindir}
+
+ install -d ${D}${localstatedir}/run/wpa_supplicant
+
+ install -d ${D}${docdir}/wpa_supplicant
+ install -m644 README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m700 ${WORKDIR}/init.sh ${D}${sysconfdir}/init.d/wpa
+
+ install -d ${D}${sysconfdir}/default
+ install -m600 ${WORKDIR}/defaults ${D}${sysconfdir}/default/wpa
+}
diff --git a/meta/packages/xauth/xauth/autofoo.patch b/meta/packages/xauth/xauth/autofoo.patch
new file mode 100644
index 0000000000..d279a6f4fc
--- /dev/null
+++ b/meta/packages/xauth/xauth/autofoo.patch
@@ -0,0 +1,148 @@
+diff -urN xauth.orig/Imakefile xauth/Imakefile
+--- xauth.orig/Imakefile 2004-04-23 21:54:38.000000000 +0200
++++ xauth/Imakefile 1970-01-01 01:00:00.000000000 +0100
+@@ -1,19 +0,0 @@
+-XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:54:11 cpqbld Exp $
+-
+-
+-
+-
+-XCOMM $XFree86: xc/programs/xauth/Imakefile,v 3.5tsi Exp $
+-
+- DEPLIBS = $(DEPXAUTHLIB) $(DEPXMUULIB) $(DEPXLIB)
+-LOCAL_LIBRARIES = $(XAUTHLIB) $(XMUULIB) $(XLIB)
+- SRCS = xauth.c gethost.c process.c parsedpy.c
+- OBJS = xauth.o gethost.o process.o parsedpy.o
+- CONN_DEFINES = $(CONNECTION_FLAGS)
+- DEPEND_DEFINES = $(CONN_DEFINES) $(SIGNAL_DEFINES)
+-
+-ComplexProgramTarget(xauth)
+-
+-SpecialCObjectRule(gethost,$(ICONFIGFILES),$(CONN_DEFINES) $(SIGNAL_DEFINES))
+-SpecialCObjectRule(process,$(ICONFIGFILES),$(CONN_DEFINES) $(SIGNAL_DEFINES))
+-SpecialCObjectRule(parsedpy,$(ICONFIGFILES),$(CONN_DEFINES))
+diff -urN xauth.orig/Makefile.am xauth/Makefile.am
+--- xauth.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ xauth/Makefile.am 2004-08-14 13:20:37.000000000 +0200
+@@ -0,0 +1,53 @@
++#
++# $Id: Makefile.am,v 1.2 2004/06/25 19:38:50 markh Exp $
++#
++# 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 Keith Packard not be used in
++# advertising or publicity pertaining to distribution of the software without
++# specific, written prior permission. Keith Packard makes no
++# representations about the suitability of this software for any purpose. It
++# is provided "as is" without express or implied warranty.
++#
++# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++# EVENT SHALL KEITH PACKARD 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.
++#
++
++AUTOMAKE_OPTIONS = 1.7 foreign
++
++AM_CFLAGS = @XAUTH_CFLAGS@
++
++bin_PROGRAMS = xauth
++
++xauth_SOURCES = gethost.c parsedpy.c process.c xauth.c xauth.h
++
++xauth_LDADD = @XAUTH_LIBS@
++
++man5_MANS=xauth.man
++
++EXTRA_DIST= $(man5_MANS)
++
++MAINTAINERCLEANFILES = configure \
++config.guess \
++config.sub \
++install-sh \
++ltmain.sh \
++missing \
++mkinstalldirs \
++aclocal.m4 \
++Makefile.in \
++depcomp \
++autoscan.log \
++configure.scan \
++config.h \
++config.h.in \
++$(man5_MANS)
+diff -urN xauth.orig/autogen.sh xauth/autogen.sh
+--- xauth.orig/autogen.sh 1970-01-01 01:00:00.000000000 +0100
++++ xauth/autogen.sh 2004-08-14 13:15:46.000000000 +0200
+@@ -0,0 +1,3 @@
++#! /bin/sh
++autoreconf -v --install || exit 1
++./configure --enable-maintainer-mode "$@"
+diff -urN xauth.orig/configure.ac xauth/configure.ac
+--- xauth.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ xauth/configure.ac 2004-08-14 23:43:54.000000000 +0200
+@@ -0,0 +1,57 @@
++dnl
++dnl $Id: configure.ac,v 1.1 2003/10/09 06:16:59 keithp Exp $
++dnl
++dnl Copyright © 2003 Keith Packard
++dnl
++dnl Permission to use, copy, modify, distribute, and sell this software and its
++dnl documentation for any purpose is hereby granted without fee, provided that
++dnl the above copyright notice appear in all copies and that both that
++dnl copyright notice and this permission notice appear in supporting
++dnl documentation, and that the name of Keith Packard not be used in
++dnl advertising or publicity pertaining to distribution of the software without
++dnl specific, written prior permission. Keith Packard makes no
++dnl representations about the suitability of this software for any purpose. It
++dnl is provided "as is" without express or implied warranty.
++dnl
++dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++dnl PERFORMANCE OF THIS SOFTWARE.
++dnl
++
++AC_PREREQ(2.57)
++AC_INIT([xauth],4.4.0,[],xauth)
++AC_CONFIG_SRCDIR([Makefile.am])
++AM_INIT_AUTOMAKE([dist-bzip2])
++AM_MAINTAINER_MODE
++AM_CONFIG_HEADER(config.h)
++
++AC_PROG_CC
++AC_PROG_INSTALL
++AC_PROG_LN_S
++AC_LIBTOOL_WIN32_DLL
++AM_PROG_LIBTOOL
++AC_PROG_MAKE_SET
++
++PKG_CHECK_MODULES(XAUTH, xau xext xmuu x11)
++
++AC_TYPE_SIGNAL
++
++# Transport selection
++AC_ARG_ENABLE(unix-transport,[ --disable-unix-transport ], [UNIXCONN=$enableval], [UNIXCONN=yes])
++AC_ARG_ENABLE(tcp-transport, [ --disable-tcp-transport ], [TCPCONN=$enableval], [TCPCONN=yes])
++AC_ARG_ENABLE(ipv6, [ --disable-ipv6 ], [IPV6CONN=$enableval], [IPV6CONN=yes])
++if test "$UNIXCONN" = "yes"; then
++ AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections])
++fi
++if test "$TCPCONN" = "yes"; then
++ AC_DEFINE(TCPCONN,1,[Support TCP socket connections])
++fi
++if test "$IPV6CONN" = "yes"; then
++ AC_DEFINE(IPv6,1,[Support IPv6 for TCP connections])
++fi
++
++AC_OUTPUT([Makefile])
diff --git a/meta/packages/xauth/xauth_cvs.bb b/meta/packages/xauth/xauth_cvs.bb
new file mode 100644
index 0000000000..54700574b7
--- /dev/null
+++ b/meta/packages/xauth/xauth_cvs.bb
@@ -0,0 +1,13 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "MIT"
+DEPENDS = "libx11 libxau libxmu libxext"
+DESCRIPTION = "X authority file utility"
+MAINTAINER = "Rene Wagner <rw@handhelds.org>"
+SECTION = "x11/base"
+PR = "r2"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xauth \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/xauth"
+
+inherit autotools pkgconfig
diff --git a/meta/packages/xcalibrate/xcalibrate_cvs.bb b/meta/packages/xcalibrate/xcalibrate_cvs.bb
new file mode 100644
index 0000000000..ab2b076079
--- /dev/null
+++ b/meta/packages/xcalibrate/xcalibrate_cvs.bb
@@ -0,0 +1,15 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "BSD-X"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+DEPENDS = "libx11 xcalibrateext libxext"
+DESCRIPTION = "XCalibrate client-side library"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XCalibrate"
+S = "${WORKDIR}/XCalibrate"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xcalibrateext/xcalibrateext_cvs.bb b/meta/packages/xcalibrateext/xcalibrateext_cvs.bb
new file mode 100644
index 0000000000..4e47c1677e
--- /dev/null
+++ b/meta/packages/xcalibrateext/xcalibrateext_cvs.bb
@@ -0,0 +1,13 @@
+PV = "0.0+cvs${SRCDATE}"
+SECTION = "x11/libs"
+LICENSE = "BSD-X"
+DESCRIPTION = "XCalibrate extension headers"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=XCalibrateExt"
+S = "${WORKDIR}/XCalibrateExt"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/fix_watch_cursor.patch b/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/fix_watch_cursor.patch
new file mode 100644
index 0000000000..73a5b2a87a
--- /dev/null
+++ b/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/fix_watch_cursor.patch
@@ -0,0 +1,24 @@
+diff -NurP xcursor-transparent-theme-0.1.1-orig/cursors/Makefile.am xcursor-transparent-theme-0.1.1/cursors/Makefile.am
+--- xcursor-transparent-theme-0.1.1-orig/cursors/Makefile.am 2003-10-30 13:13:59.000000000 +0100
++++ xcursor-transparent-theme-0.1.1/cursors/Makefile.am 2005-12-20 23:35:17.000000000 +0100
+@@ -79,7 +79,7 @@
+ ul_angle \
+ ur_angle \
+ v_double_arrow \
+- watcha \
++ watch \
+ xterm
+
+ CURSOR_DIR = $(datadir)/icons/xcursor-transparent/cursors
+diff -NurP xcursor-transparent-theme-0.1.1-orig/cursors/Makefile.in xcursor-transparent-theme-0.1.1/cursors/Makefile.in
+--- xcursor-transparent-theme-0.1.1-orig/cursors/Makefile.in 2003-10-31 15:31:13.000000000 +0100
++++ xcursor-transparent-theme-0.1.1/cursors/Makefile.in 2005-12-20 23:35:36.000000000 +0100
+@@ -67,7 +67,7 @@
+ PACKAGE = @PACKAGE@
+ VERSION = @VERSION@
+
+-CURSOR_NAMES = 00008160000006810000408080010102 028006030e0e7ebffc7f7070c0600140 03b6e0fcb3499374a867c041f52298f0 08e8e1c95fe2fc01f976f1e063a24ccd 14fef782d02440884392942c11205230 2870a09082c103050810ffdffffe0204 3ecb610c1bf2410f44200f48c40d3599 4498f0e0c1937ffe01fd06f973665830 9d800788f1b08800ae810202380a0822 c7088f0f3e6c8088236ef8e1e3e70000 d9ce0ab605698f320427677b458ad60b e29285e634086352946a0e7090d73106 fcf1c3c7cd4491d801f1e1c78f100000 X_cursor arrow base_arrow_down base_arrow_up based_arrow_down based_arrow_up bd_double_arrow boat bottom_left_corner bottom_right_corner bottom_side bottom_tee center_ptr circle cross cross_reverse crossed_circle crosshair dot dot_box_mask dotbox double_arrow draft_large draft_small draped_box exchange fd_double_arrow fleur gumby h_double_arrow hand hand1 hand2 left_ptr left_ptr_watch left_side left_tee ll_angle lr_angle move pencil pirate plus question_arrow right_ptr right_side right_tee sailboat sb_down_arrow sb_h_double_arrow sb_left_arrow sb_right_arrow sb_up_arrow sb_v_double_arrow shuttle sizing target tcross top_left_arrow top_left_corner top_right_corner top_side top_tee trek ul_angle ur_angle v_double_arrow watcha xterm
++CURSOR_NAMES = 00008160000006810000408080010102 028006030e0e7ebffc7f7070c0600140 03b6e0fcb3499374a867c041f52298f0 08e8e1c95fe2fc01f976f1e063a24ccd 14fef782d02440884392942c11205230 2870a09082c103050810ffdffffe0204 3ecb610c1bf2410f44200f48c40d3599 4498f0e0c1937ffe01fd06f973665830 9d800788f1b08800ae810202380a0822 c7088f0f3e6c8088236ef8e1e3e70000 d9ce0ab605698f320427677b458ad60b e29285e634086352946a0e7090d73106 fcf1c3c7cd4491d801f1e1c78f100000 X_cursor arrow base_arrow_down base_arrow_up based_arrow_down based_arrow_up bd_double_arrow boat bottom_left_corner bottom_right_corner bottom_side bottom_tee center_ptr circle cross cross_reverse crossed_circle crosshair dot dot_box_mask dotbox double_arrow draft_large draft_small draped_box exchange fd_double_arrow fleur gumby h_double_arrow hand hand1 hand2 left_ptr left_ptr_watch left_side left_tee ll_angle lr_angle move pencil pirate plus question_arrow right_ptr right_side right_tee sailboat sb_down_arrow sb_h_double_arrow sb_left_arrow sb_right_arrow sb_up_arrow sb_v_double_arrow shuttle sizing target tcross top_left_arrow top_left_corner top_right_corner top_side top_tee trek ul_angle ur_angle v_double_arrow watch xterm
+
+
+ CURSOR_DIR = $(datadir)/icons/xcursor-transparent/cursors
diff --git a/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/use-relative-symlinks.patch b/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/use-relative-symlinks.patch
new file mode 100644
index 0000000000..df28dfbc88
--- /dev/null
+++ b/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme-0.1.1/use-relative-symlinks.patch
@@ -0,0 +1,11 @@
+diff -ur xcursor-transparent-theme-0.1.1~/cursors/Makefile.am xcursor-transparent-theme-0.1.1/cursors/Makefile.am
+--- xcursor-transparent-theme-0.1.1~/cursors/Makefile.am 2003-10-30 12:13:59.000000000 +0000
++++ xcursor-transparent-theme-0.1.1/cursors/Makefile.am 2004-07-27 12:56:24.000000000 +0100
+@@ -91,6 +91,6 @@
+ $(INSTALL_DATA) $(CURSOR_REAL) $(DESTDIR)$(CURSOR_DIR)/
+ for CURSOR in $(CURSOR_NAMES); do \
+ echo '-- Installing cursor '$$CURSOR; \
+- ln -s $(DESTDIR)$(CURSOR_DIR)/transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \
++ ln -s transp $(DESTDIR)$(CURSOR_DIR)/$$CURSOR; \
+ done
+
diff --git a/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb b/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
new file mode 100644
index 0000000000..ca048155c9
--- /dev/null
+++ b/meta/packages/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb
@@ -0,0 +1,11 @@
+LICENSE = "GPL"
+DESCRIPTION = "Transparent xcursor theme for handheld systems"
+SECTION = "x11/base"
+PR="r1"
+
+SRC_URI = "http://projects.o-hand.com/matchbox/sources/utils/xcursor-transparent-theme-${PV}.tar.gz \
+ file://use-relative-symlinks.patch;patch=1 \
+ file://fix_watch_cursor.patch;patch=1"
+FILES_${PN} = "${datadir}/icons/xcursor-transparent/cursors/*"
+
+inherit autotools
diff --git a/meta/packages/xdpyinfo/xdpyinfo_cvs.bb b/meta/packages/xdpyinfo/xdpyinfo_cvs.bb
new file mode 100644
index 0000000000..eb63ae7f4d
--- /dev/null
+++ b/meta/packages/xdpyinfo/xdpyinfo_cvs.bb
@@ -0,0 +1,12 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "MIT"
+DEPENDS = "libx11 libxext libxtst"
+DESCRIPTION = "X display information utility"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+SECTION = "x11/base"
+PR = "r1"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xapps;module=xdpyinfo"
+S = "${WORKDIR}/xdpyinfo"
+
+inherit autotools pkgconfig
diff --git a/meta/packages/xextensions/xextensions-native_1.0.1.bb b/meta/packages/xextensions/xextensions-native_1.0.1.bb
new file mode 100644
index 0000000000..bbbfd934ce
--- /dev/null
+++ b/meta/packages/xextensions/xextensions-native_1.0.1.bb
@@ -0,0 +1,4 @@
+SECTION = "unknown"
+include xextensions_${PV}.bb
+inherit native
+PROVIDES = ""
diff --git a/meta/packages/xextensions/xextensions_1.0.1.bb b/meta/packages/xextensions/xextensions_1.0.1.bb
new file mode 100644
index 0000000000..134614bd0c
--- /dev/null
+++ b/meta/packages/xextensions/xextensions_1.0.1.bb
@@ -0,0 +1,13 @@
+SECTION = "x11/libs"
+LICENSE= "BSD-X"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "various extension headers."
+
+SRC_URI = "${XLIBS_MIRROR}/xextensions-${PV}.tar.bz2"
+S = "${WORKDIR}/xextensions-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xhost/xhost/autofoo.patch b/meta/packages/xhost/xhost/autofoo.patch
new file mode 100644
index 0000000000..b29f017abc
--- /dev/null
+++ b/meta/packages/xhost/xhost/autofoo.patch
@@ -0,0 +1,165 @@
+diff -urN xhost.orig/Imakefile xhost/Imakefile
+--- xhost.orig/Imakefile 2003-11-14 16:54:53.000000000 +0100
++++ xhost/Imakefile 1970-01-01 01:00:00.000000000 +0100
+@@ -1,16 +0,0 @@
+-XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:54:24 cpqbld Exp $
+-#if HasSecureRPC
+-RPC_DEFINES = -DSECURE_RPC
+-#else
+-RPC_DEFINES =
+-#endif
+-KRB5_DEFINES = Krb5Defines
+-KRB5_INCLUDE = Krb5Includes
+- INCLUDES = $(KRB5_INCLUDE)
+- DEPLIBS = $(DEPXMULIB) $(DEPXLIB)
+-LOCAL_LIBRARIES = $(XMULIB) $(XLIB)
+- SRCS = xhost.c
+- OBJS = xhost.o
+- DEFINES = ConnectionFlags $(SIGNAL_DEFINES) $(RPC_DEFINES) $(KRB5_DEFINES)
+-
+-ComplexProgramTarget(xhost)
+diff -urN xhost.orig/Makefile.am xhost/Makefile.am
+--- xhost.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ xhost/Makefile.am 2004-08-15 17:43:47.000000000 +0200
+@@ -0,0 +1,53 @@
++#
++# $Id: Makefile.am,v 1.2 2004/06/25 19:38:50 markh Exp $
++#
++# 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 Keith Packard not be used in
++# advertising or publicity pertaining to distribution of the software without
++# specific, written prior permission. Keith Packard makes no
++# representations about the suitability of this software for any purpose. It
++# is provided "as is" without express or implied warranty.
++#
++# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++# EVENT SHALL KEITH PACKARD 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.
++#
++
++AUTOMAKE_OPTIONS = 1.7 foreign
++
++AM_CFLAGS = @XHOST_CFLAGS@
++
++bin_PROGRAMS = xhost
++
++xhost_SOURCES = xhost.c
++
++xhost_LDADD = @XHOST_LIBS@
++
++man5_MANS=xhost.man
++
++EXTRA_DIST= $(man5_MANS)
++
++MAINTAINERCLEANFILES = configure \
++config.guess \
++config.sub \
++install-sh \
++ltmain.sh \
++missing \
++mkinstalldirs \
++aclocal.m4 \
++Makefile.in \
++depcomp \
++autoscan.log \
++configure.scan \
++config.h \
++config.h.in \
++$(man5_MANS)
+diff -urN xhost.orig/configure.ac xhost/configure.ac
+--- xhost.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ xhost/configure.ac 2004-08-15 17:43:42.000000000 +0200
+@@ -0,0 +1,57 @@
++dnl
++dnl $Id: configure.ac,v 1.1 2003/10/09 06:16:59 keithp Exp $
++dnl
++dnl Copyright © 2003 Keith Packard
++dnl
++dnl Permission to use, copy, modify, distribute, and sell this software and its
++dnl documentation for any purpose is hereby granted without fee, provided that
++dnl the above copyright notice appear in all copies and that both that
++dnl copyright notice and this permission notice appear in supporting
++dnl documentation, and that the name of Keith Packard not be used in
++dnl advertising or publicity pertaining to distribution of the software without
++dnl specific, written prior permission. Keith Packard makes no
++dnl representations about the suitability of this software for any purpose. It
++dnl is provided "as is" without express or implied warranty.
++dnl
++dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++dnl PERFORMANCE OF THIS SOFTWARE.
++dnl
++
++AC_PREREQ(2.57)
++AC_INIT([xhost],4.4.0,[],xhost)
++AC_CONFIG_SRCDIR([Makefile.am])
++AM_INIT_AUTOMAKE([dist-bzip2])
++AM_MAINTAINER_MODE
++AM_CONFIG_HEADER(config.h)
++
++AC_PROG_CC
++AC_PROG_INSTALL
++AC_PROG_LN_S
++AC_LIBTOOL_WIN32_DLL
++AM_PROG_LIBTOOL
++AC_PROG_MAKE_SET
++
++PKG_CHECK_MODULES(XHOST, xext xmuu x11)
++
++AC_TYPE_SIGNAL
++
++# Transport selection
++AC_ARG_ENABLE(unix-transport,[ --disable-unix-transport ], [UNIXCONN=$enableval], [UNIXCONN=yes])
++AC_ARG_ENABLE(tcp-transport, [ --disable-tcp-transport ], [TCPCONN=$enableval], [TCPCONN=yes])
++AC_ARG_ENABLE(ipv6, [ --disable-ipv6 ], [IPV6CONN=$enableval], [IPV6CONN=yes])
++if test "$UNIXCONN" = "yes"; then
++ AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections])
++fi
++if test "$TCPCONN" = "yes"; then
++ AC_DEFINE(TCPCONN,1,[Support TCP socket connections])
++fi
++if test "$IPV6CONN" = "yes"; then
++ AC_DEFINE(IPv6,1,[Support IPv6 for TCP connections])
++fi
++
++AC_OUTPUT([Makefile])
+diff -urN xhost.orig/xhost.c xhost/xhost.c
+--- xhost.orig/xhost.c 2003-11-14 16:54:53.000000000 +0100
++++ xhost/xhost.c 2004-08-15 17:53:07.000000000 +0200
+@@ -27,6 +27,10 @@
+
+ */
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
+ #if defined(TCPCONN) || defined(STREAMSCONN)
+ #define NEEDSOCKETS
+ #endif
+@@ -102,11 +106,7 @@
+ static int local_xerror();
+ static char *get_hostname();
+
+-#ifdef SIGNALRETURNSINT
+-#define signal_t int
+-#else
+-#define signal_t void
+-#endif
++#define signal_t RETSIGTYPE
+ static signal_t nameserver_lost();
+
+ #define NAMESERVER_TIMEOUT 5 /* time to wait for nameserver */
diff --git a/meta/packages/xhost/xhost_20040413.bb b/meta/packages/xhost/xhost_20040413.bb
new file mode 100644
index 0000000000..4d36e62bee
--- /dev/null
+++ b/meta/packages/xhost/xhost_20040413.bb
@@ -0,0 +1,14 @@
+FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
+LICENSE = "MIT"
+PV = "0.0+cvs${FIXEDSRCDATE}"
+DEPENDS = "libx11 libxext libxmu"
+DESCRIPTION = "server access control program for X"
+MAINTAINER = "Rene Wagner <rw@handhelds.org>"
+SECTION = "x11/base"
+PR = "r2"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xhost;date=${FIXEDSRCDATE} \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/xhost"
+
+inherit autotools pkgconfig
diff --git a/meta/packages/xlibs/diet-x11_6.2.1.bb b/meta/packages/xlibs/diet-x11_6.2.1.bb
new file mode 100644
index 0000000000..284fcc21cc
--- /dev/null
+++ b/meta/packages/xlibs/diet-x11_6.2.1.bb
@@ -0,0 +1,10 @@
+SECTION = "x11/base"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libx11"
+include libx11_${PV}.bb
+
+EXTRA_OECONF = "--disable-xcms --disable-xlocale --disable-xkb"
+CFLAGS += "-D_GNU_SOURCE"
+
+SRC_URI += "file://fix-utf8-wrong-define.patch;patch=1"
+
+
diff --git a/meta/packages/xlibs/libice/autofoo.patch b/meta/packages/xlibs/libice/autofoo.patch
new file mode 100644
index 0000000000..8ab0585fb8
--- /dev/null
+++ b/meta/packages/xlibs/libice/autofoo.patch
@@ -0,0 +1,21 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libICE-6.3.3/configure.ac~autofoo 2004-05-11 01:50:07.000000000 -0400
++++ libICE-6.3.3/configure.ac 2005-01-18 02:30:07.463895544 -0500
+@@ -8,12 +8,12 @@
+ libICE)
+
+ AC_CONFIG_SRCDIR([Makefile.am])
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER([config.h])
+-AC_CONFIG_AUX_DIR(.)
+
+ # Checks for programs.
+ AC_PROG_LIBTOOL
diff --git a/meta/packages/xlibs/libice_6.3.3.bb b/meta/packages/xlibs/libice_6.3.3.bb
new file mode 100644
index 0000000000..1311145334
--- /dev/null
+++ b/meta/packages/xlibs/libice_6.3.3.bb
@@ -0,0 +1,18 @@
+SECTION = "libs"
+LICENSE= "MIT"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+DEPENDS = "libx11"
+PROVIDES = "ice"
+DESCRIPTION = "X11 ICE library"
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libICE-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libICE-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libsm/autofoo.patch b/meta/packages/xlibs/libsm/autofoo.patch
new file mode 100644
index 0000000000..8cb204a66e
--- /dev/null
+++ b/meta/packages/xlibs/libsm/autofoo.patch
@@ -0,0 +1,21 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libSM-6.0.3/configure.ac~autofoo 2004-05-11 01:51:21.000000000 -0400
++++ libSM-6.0.3/configure.ac 2005-01-18 12:15:50.405356376 -0500
+@@ -8,12 +8,12 @@
+ libSM)
+
+ AC_CONFIG_SRCDIR([Makefile.am])
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER([config.h])
+-AC_CONFIG_AUX_DIR(.)
+
+ # Checks for programs.
+ AC_PROG_LIBTOOL
diff --git a/meta/packages/xlibs/libsm_6.0.3.bb b/meta/packages/xlibs/libsm_6.0.3.bb
new file mode 100644
index 0000000000..08f9597045
--- /dev/null
+++ b/meta/packages/xlibs/libsm_6.0.3.bb
@@ -0,0 +1,17 @@
+SECTION = "libs"
+LICENSE = "MIT-X"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+DEPENDS = "libx11 libice"
+DESCRIPTION = "Session management library"
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libSM-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libSM-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libx11-native_6.2.1.bb b/meta/packages/xlibs/libx11-native_6.2.1.bb
new file mode 100644
index 0000000000..9513c4237e
--- /dev/null
+++ b/meta/packages/xlibs/libx11-native_6.2.1.bb
@@ -0,0 +1,6 @@
+SECTION = "x11/base"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libx11"
+include libx11_${PV}.bb
+inherit native
+DEPENDS = "xproto-native xextensions-native libxau-native xtrans-native libxdmcp-native"
+PROVIDES = ""
diff --git a/meta/packages/xlibs/libx11/autofoo.patch b/meta/packages/xlibs/libx11/autofoo.patch
new file mode 100644
index 0000000000..8bdba09768
--- /dev/null
+++ b/meta/packages/xlibs/libx11/autofoo.patch
@@ -0,0 +1,22 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libX11-6.2.1/configure.ac~autofoo
++++ libX11-6.2.1/configure.ac
+@@ -7,12 +7,12 @@
+ [jg@freedesktop.org],
+ libX11)
+ AC_CONFIG_SRCDIR([Makefile.am])
+-AM_INIT_AUTOMAKE([dist-bzip2])
++AC_CONFIG_AUX_DIR(.)
+
++AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER([src/config.h])
+-AC_CONFIG_AUX_DIR(.)
+
+ # Checks for programs.
+ AC_PROG_LIBTOOL
diff --git a/meta/packages/xlibs/libx11/errordb-keysymdb-path-fix.patch b/meta/packages/xlibs/libx11/errordb-keysymdb-path-fix.patch
new file mode 100644
index 0000000000..f43d38065e
--- /dev/null
+++ b/meta/packages/xlibs/libx11/errordb-keysymdb-path-fix.patch
@@ -0,0 +1,22 @@
+--- X11/src/ErrDes.c.orig 2005-09-03 16:15:48 +0200
++++ X11/src/ErrDes.c 2005-09-03 16:16:03 +0200
+@@ -56,7 +56,7 @@
+ #include <stdio.h>
+
+ #ifndef ERRORDB
+-#define ERRORDB "/usr/lib/X11/XErrorDB"
++#define ERRORDB "/usr/share/X11/XErrorDB"
+ #endif
+
+ /*
+--- X11/src/StrKeysym.c.orig 2005-09-03 16:41:18 +0200
++++ X11/src/StrKeysym.c 2005-09-03 16:41:33 +0200
+@@ -36,7 +36,7 @@
+ #include "Key.h"
+
+ #ifndef KEYSYMDB
+-#define KEYSYMDB "/usr/lib/X11/XKeysymDB"
++#define KEYSYMDB "/usr/share/X11/XKeysymDB"
+ #endif
+
+ static Bool initialized;
diff --git a/meta/packages/xlibs/libx11/fix-utf8-wrong-define.patch b/meta/packages/xlibs/libx11/fix-utf8-wrong-define.patch
new file mode 100644
index 0000000000..dca88fba92
--- /dev/null
+++ b/meta/packages/xlibs/libx11/fix-utf8-wrong-define.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libX11-6.2.1/include/X11/Xlib.h~fix-utf8-wrong-define
++++ libX11-6.2.1/include/X11/Xlib.h
+@@ -100,7 +100,7 @@
+
+ /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
+ November 2000. Its presence is indicated through the following macro. */
+-#define X_HAVE_UTF8_STRING 1
++#undef X_HAVE_UTF8_STRING
+
+ typedef char *XPointer;
+
diff --git a/meta/packages/xlibs/libx11_6.2.1.bb b/meta/packages/xlibs/libx11_6.2.1.bb
new file mode 100644
index 0000000000..901746bafa
--- /dev/null
+++ b/meta/packages/xlibs/libx11_6.2.1.bb
@@ -0,0 +1,40 @@
+SECTION = "x11/libs"
+LICENSE = "XFree86"
+PRIORITY = "optional"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xproto xextensions libxau xtrans libxdmcp"
+PROVIDES = "x11"
+DESCRIPTION = "Base X libs."
+FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB"
+FILES_${PN}-locale += "${datadir}/X11/locale"
+PR = "r4"
+
+SRC_URI = "${XLIBS_MIRROR}/libX11-${PV}.tar.bz2 \
+ file://errordb-keysymdb-path-fix.patch;patch=1 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libX11-${PV}"
+
+inherit autotools pkgconfig
+
+do_compile() {
+ (
+ unset CC LD CXX CCLD
+# unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake -C src/util 'CFLAGS= -D_GNU_SOURCE' 'LDFLAGS=' 'CXXFLAGS=' 'CPPFLAGS=' makekeys
+ )
+ oe_runmake
+}
+
+do_stage() {
+ install -c -m 644 include/X11/XKBlib.h ${STAGING_INCDIR}/X11/XKBlib.h
+ install -c -m 644 include/X11/Xcms.h ${STAGING_INCDIR}/X11/Xcms.h
+ install -c -m 644 include/X11/Xlib.h ${STAGING_INCDIR}/X11/Xlib.h
+ install -c -m 644 include/X11/Xlibint.h ${STAGING_INCDIR}/X11/Xlibint.h
+ install -c -m 644 include/X11/Xlocale.h ${STAGING_INCDIR}/X11/Xlocale.h
+ install -c -m 644 include/X11/Xresource.h ${STAGING_INCDIR}/X11/Xresource.h
+ install -c -m 644 include/X11/Xutil.h ${STAGING_INCDIR}/X11/Xutil.h
+ install -c -m 644 include/X11/cursorfont.h ${STAGING_INCDIR}/X11/cursorfont.h
+ install -c -m 644 include/X11/region.h ${STAGING_INCDIR}/X11/region.h
+
+ oe_libinstall -a -so -C src libX11 ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/xlibs/libxau-native_0.1.1.bb b/meta/packages/xlibs/libxau-native_0.1.1.bb
new file mode 100644
index 0000000000..ecb71ce3d6
--- /dev/null
+++ b/meta/packages/xlibs/libxau-native_0.1.1.bb
@@ -0,0 +1,6 @@
+SECTION = "x11/base"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/xau"
+include libxau_${PV}.bb
+inherit native
+DEPENDS = "xproto-native"
+PROVIDES = ""
diff --git a/meta/packages/xlibs/libxau-native_cvs.bb b/meta/packages/xlibs/libxau-native_cvs.bb
new file mode 100644
index 0000000000..cd070033ce
--- /dev/null
+++ b/meta/packages/xlibs/libxau-native_cvs.bb
@@ -0,0 +1,6 @@
+SECTION = "x11/base"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/xau"
+include libxau_cvs.bb
+inherit native
+DEPENDS = "xproto-native"
+PROVIDES = ""
diff --git a/meta/packages/xlibs/libxau/autofoo.patch b/meta/packages/xlibs/libxau/autofoo.patch
new file mode 100644
index 0000000000..1e42eb974d
--- /dev/null
+++ b/meta/packages/xlibs/libxau/autofoo.patch
@@ -0,0 +1,21 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libXau-0.1.1/configure.ac~autofoo
++++ libXau-0.1.1/configure.ac
+@@ -25,11 +25,10 @@
+
+ AC_PREREQ([2.57])
+ AC_INIT(libXau, [0.1.1], [keithp@keithp.com],libXau)
+-AM_INIT_AUTOMAKE([dist-bzip2])
+-AM_MAINTAINER_MODE
+-
+ AM_CONFIG_HEADER(config.h)
+ AC_CONFIG_AUX_DIR(.)
++AM_INIT_AUTOMAKE([dist-bzip2])
++AM_MAINTAINER_MODE
+
+ AC_PROG_CC
+ AC_PROG_INSTALL
diff --git a/meta/packages/xlibs/libxau_0.1.1.bb b/meta/packages/xlibs/libxau_0.1.1.bb
new file mode 100644
index 0000000000..dc1a28171b
--- /dev/null
+++ b/meta/packages/xlibs/libxau_0.1.1.bb
@@ -0,0 +1,18 @@
+SECTION = "x11/libs"
+LICENSE= "MIT"
+PRIORITY = "optional"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xproto"
+PROVIDES = "xau"
+DESCRIPTION = "Authorization Protocol for X."
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libXau-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXau-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxau_cvs.bb b/meta/packages/xlibs/libxau_cvs.bb
new file mode 100644
index 0000000000..518744816d
--- /dev/null
+++ b/meta/packages/xlibs/libxau_cvs.bb
@@ -0,0 +1,18 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "MIT"
+PR = "r1"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xproto"
+PROVIDES = "xau"
+DESCRIPTION = "Authorization Protocol for X."
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xau"
+S = "${WORKDIR}/Xau"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxcomposite-1.0.1/autofoo.patch b/meta/packages/xlibs/libxcomposite-1.0.1/autofoo.patch
new file mode 100644
index 0000000000..072cf25214
--- /dev/null
+++ b/meta/packages/xlibs/libxcomposite-1.0.1/autofoo.patch
@@ -0,0 +1,17 @@
+Index: libXcomposite-1.0.1/configure.ac
+===================================================================
+--- libXcomposite-1.0.1.orig/configure.ac 2004-01-15 03:59:12.000000000 -0500
++++ libXcomposite-1.0.1/configure.ac 2005-01-18 17:05:25.573929256 -0500
+@@ -33,11 +33,11 @@
+ dnl protocol, so Xfixes version l.n.m corresponds to protocol version l.n
+ dnl
+ AC_INIT(libXcomposite, 1.0.1, [keithp@keithp.com], libXcomposite)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ # Check for progs
+ AC_PROG_CC
diff --git a/meta/packages/xlibs/libxcomposite_1.0.1.bb b/meta/packages/xlibs/libxcomposite_1.0.1.bb
new file mode 100644
index 0000000000..e2ca3bbc7b
--- /dev/null
+++ b/meta/packages/xlibs/libxcomposite_1.0.1.bb
@@ -0,0 +1,16 @@
+SECTION = "x11/libs"
+LICENSE= "BSD-X"
+DEPENDS = "libx11 compositeext xextensions libxfixes"
+PROVIDES = "xcomposite"
+DESCRIPTION = "X Composite extension library."
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libXcomposite-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXcomposite-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxcomposite_cvs.bb b/meta/packages/xlibs/libxcomposite_cvs.bb
new file mode 100644
index 0000000000..1d8b69c8c6
--- /dev/null
+++ b/meta/packages/xlibs/libxcomposite_cvs.bb
@@ -0,0 +1,15 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "BSD-X"
+SECTION = "x11/libs"
+DEPENDS = "libx11 compositeext xextensions libxfixes"
+PROVIDES = "xcomposite"
+DESCRIPTION = "X Composite extension library."
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xcomposite"
+S = "${WORKDIR}/Xcomposite"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxcursor-1.1.2/autofoo.patch b/meta/packages/xlibs/libxcursor-1.1.2/autofoo.patch
new file mode 100644
index 0000000000..99cd45a7ea
--- /dev/null
+++ b/meta/packages/xlibs/libxcursor-1.1.2/autofoo.patch
@@ -0,0 +1,20 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libXcursor-1.1.2/configure.ac~autofoo 2004-01-16 23:38:26.000000000 -0500
++++ libXcursor-1.1.2/configure.ac 2005-01-18 13:40:06.539707120 -0500
+@@ -31,11 +31,11 @@
+ dnl not possible to extract the version number here from Xcursor.h
+ dnl
+ AC_INIT([libXcursor],1.1.2,[keithp@keithp.com],[libXcursor])
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AC_CONFIG_SRCDIR([Makefile.am])
+ AM_MAINTAINER_MODE
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ dnl libtool versioning
+
diff --git a/meta/packages/xlibs/libxcursor/autofoo.patch b/meta/packages/xlibs/libxcursor/autofoo.patch
new file mode 100644
index 0000000000..7aa573ce13
--- /dev/null
+++ b/meta/packages/xlibs/libxcursor/autofoo.patch
@@ -0,0 +1,22 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+Index: Xcursor/configure.ac
+===================================================================
+--- Xcursor.orig/configure.ac 2004-04-12 10:11:12.000000000 -0400
++++ Xcursor/configure.ac 2005-01-18 16:04:36.860617992 -0500
+@@ -31,11 +31,11 @@
+ dnl not possible to extract the version number here from Xcursor.h
+ dnl
+ AC_INIT([libXcursor],1.1.3,[keithp@keithp.com],[libXcursor])
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AC_CONFIG_SRCDIR([Makefile.am])
+ AM_MAINTAINER_MODE
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ dnl libtool versioning
+
diff --git a/meta/packages/xlibs/libxcursor_1.1.2.bb b/meta/packages/xlibs/libxcursor_1.1.2.bb
new file mode 100644
index 0000000000..25744c7dca
--- /dev/null
+++ b/meta/packages/xlibs/libxcursor_1.1.2.bb
@@ -0,0 +1,18 @@
+SECTION = "x11/libs"
+LICENSE= "BSD-X"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+DESCRIPTION = "X Cursor library"
+DEPENDS = "libxfixes"
+PR = "r2"
+
+SRC_URI = "${XLIBS_MIRROR}/libXcursor-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXcursor-${PV}"
+FILES_${PN} += "${libdir}/libXcursor.so"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxdamage-1.0.1/autofoo.patch b/meta/packages/xlibs/libxdamage-1.0.1/autofoo.patch
new file mode 100644
index 0000000000..1e3ec45d4a
--- /dev/null
+++ b/meta/packages/xlibs/libxdamage-1.0.1/autofoo.patch
@@ -0,0 +1,17 @@
+Index: libXdamage-1.0.1/configure.ac
+===================================================================
+--- libXdamage-1.0.1.orig/configure.ac 2004-01-15 03:54:55.000000000 -0500
++++ libXdamage-1.0.1/configure.ac 2005-01-18 19:07:16.951430928 -0500
+@@ -33,11 +33,11 @@
+ dnl protocol, so Xfixes version l.n.m corresponds to protocol version l.n
+ dnl
+ AC_INIT(libXdamage, 1.0.1, [keithp@keithp.com], libXdamage)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ # Check for progs
+ AC_PROG_CC
diff --git a/meta/packages/xlibs/libxdamage/m4.patch b/meta/packages/xlibs/libxdamage/m4.patch
new file mode 100644
index 0000000000..393f3d13d2
--- /dev/null
+++ b/meta/packages/xlibs/libxdamage/m4.patch
@@ -0,0 +1,65 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- /dev/null
++++ Xdamage/m4/pkg.m4
+@@ -0,0 +1,57 @@
++
++dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
++dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
++dnl also defines GSTUFF_PKG_ERRORS on error
++AC_DEFUN(PKG_CHECK_MODULES, [
++ succeeded=no
++
++ if test -z "$PKG_CONFIG"; then
++ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++ fi
++
++ if test "$PKG_CONFIG" = "no" ; then
++ echo "*** The pkg-config script could not be found. Make sure it is"
++ echo "*** in your path, or set the PKG_CONFIG environment variable"
++ echo "*** to the full path to pkg-config."
++ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
++ else
++ PKG_CONFIG_MIN_VERSION=0.9.0
++ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
++ AC_MSG_CHECKING(for $2)
++
++ if $PKG_CONFIG --exists "$2" ; then
++ AC_MSG_RESULT(yes)
++ succeeded=yes
++
++ AC_MSG_CHECKING($1_CFLAGS)
++ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
++ AC_MSG_RESULT($$1_CFLAGS)
++
++ AC_MSG_CHECKING($1_LIBS)
++ $1_LIBS=`$PKG_CONFIG --libs "$2"`
++ AC_MSG_RESULT($$1_LIBS)
++ else
++ $1_CFLAGS=""
++ $1_LIBS=""
++ ## If we have a custom action on failure, don't print errors, but
++ ## do set a variable so people can do so.
++ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
++ ifelse([$4], ,echo $$1_PKG_ERRORS,)
++ fi
++
++ AC_SUBST($1_CFLAGS)
++ AC_SUBST($1_LIBS)
++ else
++ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
++ echo "*** See http://www.freedesktop.org/software/pkgconfig"
++ fi
++ fi
++
++ if test $succeeded = yes; then
++ ifelse([$3], , :, [$3])
++ else
++ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
++ fi
++])
++
++
diff --git a/meta/packages/xlibs/libxdamage_1.0.1.bb b/meta/packages/xlibs/libxdamage_1.0.1.bb
new file mode 100644
index 0000000000..040e863447
--- /dev/null
+++ b/meta/packages/xlibs/libxdamage_1.0.1.bb
@@ -0,0 +1,17 @@
+SECTION = "x11/libs"
+LICENSE= "BSD-X"
+DEPENDS = "libx11 damageext libxfixes xproto"
+PROVIDES = "xdamage"
+DESCRIPTION = "X Damage extension library."
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libXdamage-${PV}.tar.bz2 \
+ file://m4.patch;patch=1 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXdamage-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxdamage_cvs.bb b/meta/packages/xlibs/libxdamage_cvs.bb
new file mode 100644
index 0000000000..ba8a68033a
--- /dev/null
+++ b/meta/packages/xlibs/libxdamage_cvs.bb
@@ -0,0 +1,16 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "BSD-X"
+SECTION = "x11/libs"
+DEPENDS = "libx11 damageext libxfixes xproto"
+PROVIDES = "xdamage"
+DESCRIPTION = "X Damage extension library."
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xdamage \
+ file://m4.patch;patch=1"
+S = "${WORKDIR}/Xdamage"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxdmcp-native_0.1.3.bb b/meta/packages/xlibs/libxdmcp-native_0.1.3.bb
new file mode 100644
index 0000000000..8d7162b351
--- /dev/null
+++ b/meta/packages/xlibs/libxdmcp-native_0.1.3.bb
@@ -0,0 +1,6 @@
+SECTION = "x11/libs"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libxdmcp"
+include libxdmcp_${PV}.bb
+inherit native
+DEPENDS = "xproto-native"
+PROVIDES = ""
diff --git a/meta/packages/xlibs/libxdmcp/autofoo.patch b/meta/packages/xlibs/libxdmcp/autofoo.patch
new file mode 100644
index 0000000000..ff1a76ad04
--- /dev/null
+++ b/meta/packages/xlibs/libxdmcp/autofoo.patch
@@ -0,0 +1,22 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libXdmcp-0.1.3/configure.ac~autofoo
++++ libXdmcp-0.1.3/configure.ac
+@@ -25,12 +25,11 @@
+
+ AC_PREREQ([2.57])
+ AC_INIT(libXdmcp, [0.1.3], [keithp@keithp.com],libXdmcp)
++AC_CONFIG_AUX_DIR(.)
++AC_CONFIG_HEADERS([include/X11/Xdmcpconf.h])
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+-
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+-AC_CONFIG_HEADERS([include/X11/Xdmcpconf.h])
+
+ AC_PROG_CC
+ AC_PROG_INSTALL
diff --git a/meta/packages/xlibs/libxdmcp_0.1.3.bb b/meta/packages/xlibs/libxdmcp_0.1.3.bb
new file mode 100644
index 0000000000..aa2736cdb2
--- /dev/null
+++ b/meta/packages/xlibs/libxdmcp_0.1.3.bb
@@ -0,0 +1,18 @@
+SECTION = "x11/libs"
+PRIORITY = "optional"
+LICENSE= "MIT"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xproto"
+PROVIDES = "xdmcp"
+DESCRIPTION = "X Display Manager Control Protocol library."
+PR = "r1"
+S = "${WORKDIR}/libXdmcp-${PV}"
+
+SRC_URI = "${XLIBS_MIRROR}/libXdmcp-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxext-native_cvs.bb b/meta/packages/xlibs/libxext-native_cvs.bb
new file mode 100644
index 0000000000..9294b080b7
--- /dev/null
+++ b/meta/packages/xlibs/libxext-native_cvs.bb
@@ -0,0 +1,6 @@
+SECTION = "unknown"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/xext"
+include libxext_${PV}.bb
+inherit native
+DEPENDS = "libx11-native xextensions-native"
+PROVIDES = ""
diff --git a/meta/packages/xlibs/libxext/autofoo.patch b/meta/packages/xlibs/libxext/autofoo.patch
new file mode 100644
index 0000000000..c006884526
--- /dev/null
+++ b/meta/packages/xlibs/libxext/autofoo.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- Xext/configure.ac~autofoo
++++ Xext/configure.ac
+@@ -8,9 +8,8 @@
+ libXext)
+
+ AC_CONFIG_SRCDIR([Makefile.am])
+-AM_INIT_AUTOMAKE([dist-bzip2])
+-
+ AC_CONFIG_AUX_DIR(.)
++AM_INIT_AUTOMAKE([dist-bzip2])
+
+ AM_MAINTAINER_MODE
+
diff --git a/meta/packages/xlibs/libxext_cvs.bb b/meta/packages/xlibs/libxext_cvs.bb
new file mode 100644
index 0000000000..0ef675ca70
--- /dev/null
+++ b/meta/packages/xlibs/libxext_cvs.bb
@@ -0,0 +1,16 @@
+PV = "0.0+cvs${SRCDATE}"
+PR = "r1"
+LICENSE= "MIT"
+DESCRIPTION = "X Server Extension library"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+DEPENDS = "xproto libx11 xextensions"
+PROVIDES = "xext"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xext"
+S = "${WORKDIR}/Xext"
+
+inherit autotools pkgconfig
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxfixes/autofoo.patch b/meta/packages/xlibs/libxfixes/autofoo.patch
new file mode 100644
index 0000000000..26803cf7f3
--- /dev/null
+++ b/meta/packages/xlibs/libxfixes/autofoo.patch
@@ -0,0 +1,20 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libXfixes-2.0.1/configure.ac~autofoo 2004-01-15 03:40:23.000000000 -0500
++++ libXfixes-2.0.1/configure.ac 2005-01-18 13:35:33.461221360 -0500
+@@ -33,11 +33,11 @@
+ dnl protocol, so Xfixes version l.n.m corresponds to protocol version l.n
+ dnl
+ AC_INIT(libXfixes, 2.0.1, [keithp@keithp.com], libXfixes)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ # Check for progs
+ AC_PROG_CC
diff --git a/meta/packages/xlibs/libxfixes_2.0.1.bb b/meta/packages/xlibs/libxfixes_2.0.1.bb
new file mode 100644
index 0000000000..710fa17454
--- /dev/null
+++ b/meta/packages/xlibs/libxfixes_2.0.1.bb
@@ -0,0 +1,15 @@
+SECTION = "x11/libs"
+LICENSE= "BSD-X"
+DEPENDS = "libx11 fixesext"
+DESCRIPTION = "X Fixes extension library."
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libXfixes-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXfixes-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxfixes_cvs.bb b/meta/packages/xlibs/libxfixes_cvs.bb
new file mode 100644
index 0000000000..4494dc9326
--- /dev/null
+++ b/meta/packages/xlibs/libxfixes_cvs.bb
@@ -0,0 +1,14 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "BSD-X"
+SECTION = "x11/libs"
+DEPENDS = "libx11 fixesext"
+DESCRIPTION = "X Fixes extension library."
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xfixes"
+S = "${WORKDIR}/Xfixes"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxfont/autofoo.patch b/meta/packages/xlibs/libxfont/autofoo.patch
new file mode 100644
index 0000000000..4998625c24
--- /dev/null
+++ b/meta/packages/xlibs/libxfont/autofoo.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libXfont-1.4.2/configure.ac~autofoo 2004-05-06 20:19:03.000000000 -0400
++++ libXfont-1.4.2/configure.ac 2005-01-16 12:14:14.042598720 -0500
+@@ -35,9 +35,9 @@
+ dnl Yes, it is a pain to synchronize version numbers. Unfortunately, it's
+ dnl not possible to extract the version number here from Xfont.h
+ dnl
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+ AC_CONFIG_HEADERS([include/X11/fonts/fontconf.h])
+
+ # Check for progs
diff --git a/meta/packages/xlibs/libxfont/scalable.patch b/meta/packages/xlibs/libxfont/scalable.patch
new file mode 100644
index 0000000000..7f97b9a8f6
--- /dev/null
+++ b/meta/packages/xlibs/libxfont/scalable.patch
@@ -0,0 +1,27 @@
+Index: fontfile/fontdir.c
+===================================================================
+RCS file: /cvs/xlibs/Xfont/fontfile/fontdir.c,v
+retrieving revision 3.22
+diff -u -r3.22 fontdir.c
+--- xfont/fontfile/fontdir.c 7 Jul 2003 16:40:11 -0000 3.22
++++ xfont/fontfile/fontdir.c 30 Dec 2004 20:37:12 -0000
+@@ -699,6 +699,11 @@
+ */
+ if (isscale)
+ {
++ /* If the fontname says it is scalable, make sure that the
++ * renderer supports OpenScalable and GetInfoScalable.
++ */
++ if (renderer->OpenScalable && renderer->GetInfoScalable)
++ {
+ if (vals.values_supplied & SIZE_SPECIFY_MASK)
+ {
+ bzero((char *)&zeroVals, sizeof(zeroVals));
+@@ -798,6 +803,7 @@
+ bitmap->name.name);
+ }
+ }
++ }
+ }
+ return TRUE;
+ }
diff --git a/meta/packages/xlibs/libxfont_1.4.2.bb b/meta/packages/xlibs/libxfont_1.4.2.bb
new file mode 100644
index 0000000000..0cc45397fe
--- /dev/null
+++ b/meta/packages/xlibs/libxfont_1.4.2.bb
@@ -0,0 +1,19 @@
+SECTION = "x11/libs"
+LICENSE = "BSD-X"
+PRIORITY = "optional"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xproto xtrans zlib"
+PROVIDES = "xfont"
+DESCRIPTION = "X font library (used by the X server)."
+PR = "r2"
+
+SRC_URI = "${XLIBS_MIRROR}/libXfont-${PV}.tar.bz2 \
+ file://scalable.patch;patch=1 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXfont-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxfont_cvs.bb b/meta/packages/xlibs/libxfont_cvs.bb
new file mode 100644
index 0000000000..bd21e0fd12
--- /dev/null
+++ b/meta/packages/xlibs/libxfont_cvs.bb
@@ -0,0 +1,18 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "BSD-X"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xproto xtrans zlib"
+PROVIDES = "xfont"
+DESCRIPTION = "X font library (used by the X server)."
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xfont \
+ file://scalable.patch;patch=1"
+S = "${WORKDIR}/Xfont"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxft/autofoo.patch b/meta/packages/xlibs/libxft/autofoo.patch
new file mode 100644
index 0000000000..54120aa612
--- /dev/null
+++ b/meta/packages/xlibs/libxft/autofoo.patch
@@ -0,0 +1,21 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libXft-2.1.6/configure.ac~autofoo 2004-03-22 10:02:59.000000000 -0500
++++ libXft-2.1.6/configure.ac 2005-01-17 02:08:10.165951760 -0500
+@@ -33,12 +33,12 @@
+ dnl Please bump the minor library number at each release as well.
+ dnl
+ AC_INIT(libXft, 2.1.6, [keithp@keithp.com], libXft)
++AC_CONFIG_AUX_DIR(.)
+
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ # checks for progs
+ AC_PROG_CC
diff --git a/meta/packages/xlibs/libxft_2.1.6.bb b/meta/packages/xlibs/libxft_2.1.6.bb
new file mode 100644
index 0000000000..c3f1f74e40
--- /dev/null
+++ b/meta/packages/xlibs/libxft_2.1.6.bb
@@ -0,0 +1,27 @@
+SECTION = "x11/libs"
+LICENSE = "MIT-X"
+DEPENDS = "libx11 xproto libxrender freetype fontconfig"
+DESCRIPTION = "X FreeType library. Client-side fonts with FreeType."
+PROVIDES = "xft"
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libXft-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXft-${PV}"
+
+FILES_${PN} = ${libdir}/lib*.so.*
+FILES_${PN}-dev = ${includedir} ${libdir}/lib*.so ${libdir}/*.la \
+ ${libdir}/*.a ${libdir}/pkgconfig \
+ ${datadir}/aclocal ${bindir} ${sbindir}
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_${PN}', 'libxft2', d)
+ bb.build.exec_func('package_do_package', d)
+}
diff --git a/meta/packages/xlibs/libxft_cvs.bb b/meta/packages/xlibs/libxft_cvs.bb
new file mode 100644
index 0000000000..6c1a5f5c32
--- /dev/null
+++ b/meta/packages/xlibs/libxft_cvs.bb
@@ -0,0 +1,26 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "MIT-X"
+SECTION = "x11/libs"
+DEPENDS = "libx11 xproto libxrender freetype fontconfig"
+DESCRIPTION = "X FreeType library. Client-side fonts with FreeType."
+PROVIDES = "xft"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xft"
+S = "${WORKDIR}/Xft"
+
+FILES_${PN} = ${libdir}/lib*.so.*
+FILES_${PN}-dev = ${includedir} ${libdir}/lib*.so ${libdir}/*.la \
+ ${libdir}/*.a ${libdir}/pkgconfig \
+ ${datadir}/aclocal ${bindir} ${sbindir}
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
+
+python do_package() {
+ if bb.data.getVar('DEBIAN_NAMES', d, 1):
+ bb.data.setVar('PKG_${PN}', 'libxft2', d)
+ bb.build.exec_func('package_do_package', d)
+}
diff --git a/meta/packages/xlibs/libxi/autofoo.patch b/meta/packages/xlibs/libxi/autofoo.patch
new file mode 100644
index 0000000000..f1bce9ed7a
--- /dev/null
+++ b/meta/packages/xlibs/libxi/autofoo.patch
@@ -0,0 +1,12 @@
+Index: libXi-6.0.1/configure.ac
+===================================================================
+--- libXi-6.0.1.orig/configure.ac 2003-11-01 04:11:49.000000000 -0500
++++ libXi-6.0.1/configure.ac 2005-01-20 11:34:06.878357352 -0500
+@@ -8,7 +8,6 @@
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER([config.h])
+-AC_CONFIG_AUX_DIR(.)
+
+ # Checks for programs.
+ AC_PROG_LIBTOOL
diff --git a/meta/packages/xlibs/libxi_6.0.1.bb b/meta/packages/xlibs/libxi_6.0.1.bb
new file mode 100644
index 0000000000..5c44d06df3
--- /dev/null
+++ b/meta/packages/xlibs/libxi_6.0.1.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "X Input Extension library"
+LICENSE = "MIT-X"
+SECTION = "x11/libs"
+DEPENDS = "xproto libx11 xextensions"
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libXi-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXi-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/meta/packages/xlibs/libxmu_cvs.bb b/meta/packages/xlibs/libxmu_cvs.bb
new file mode 100644
index 0000000000..500b373c32
--- /dev/null
+++ b/meta/packages/xlibs/libxmu_cvs.bb
@@ -0,0 +1,21 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "MIT"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+DEPENDS = "libxt libxext"
+PROVIDES = "xmu"
+PR = "r2"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xmu"
+S = "${WORKDIR}/Xmu"
+
+PACKAGES =+ "xmuu xmuu-dev"
+
+FILES_xmuu = "${libdir}/libXmuu.so.*"
+FILES_xmuu-dev = "${libdir}/libXmuu.so"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxpm/autofoo.patch b/meta/packages/xlibs/libxpm/autofoo.patch
new file mode 100644
index 0000000000..6b2174bf02
--- /dev/null
+++ b/meta/packages/xlibs/libxpm/autofoo.patch
@@ -0,0 +1,18 @@
+Index: libXpm-3.5.1/configure.ac
+===================================================================
+--- libXpm-3.5.1.orig/configure.ac 2004-05-11 02:00:35.000000000 -0400
++++ libXpm-3.5.1/configure.ac 2005-01-19 18:35:57.187402008 -0500
+@@ -1,12 +1,12 @@
+ AC_PREREQ(2.57)
+ AC_INIT([libXpm], 3.5.1, [daniel@freedesktop.org], libXpm)
+ AC_CONFIG_SRCDIR([Makefile.am])
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER([lib/config.h])
+-AC_CONFIG_AUX_DIR(.)
+
+ # Checks for programs.
+ AC_PROG_LIBTOOL
diff --git a/meta/packages/xlibs/libxpm_3.5.1.bb b/meta/packages/xlibs/libxpm_3.5.1.bb
new file mode 100644
index 0000000000..513261efd3
--- /dev/null
+++ b/meta/packages/xlibs/libxpm_3.5.1.bb
@@ -0,0 +1,19 @@
+SECTION = "x11/libs"
+LICENSE = "X-BSD"
+PRIORITY = "optional"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xproto libx11"
+PROVIDES = "xpm"
+DESCRIPTION = "X Pixmap library."
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libXpm-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXpm-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ install -m 0644 ${S}/lib/xpm.h ${STAGING_INCDIR}/X11/xpm.h
+ oe_libinstall -a -so -C lib libXpm ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/xlibs/libxpm_cvs.bb b/meta/packages/xlibs/libxpm_cvs.bb
new file mode 100644
index 0000000000..1b46855735
--- /dev/null
+++ b/meta/packages/xlibs/libxpm_cvs.bb
@@ -0,0 +1,19 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "X-BSD"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DEPENDS = "xproto libx11"
+PROVIDES = "xpm"
+DESCRIPTION = "X Pixmap library."
+PR = "r1"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xpm"
+S = "${WORKDIR}/Xpm"
+
+inherit autotools pkgconfig
+
+do_stage () {
+ install -m 0644 ${S}/lib/xpm.h ${STAGING_INCDIR}/X11/xpm.h
+ oe_libinstall -a -so -C lib libXpm ${STAGING_LIBDIR}
+}
diff --git a/meta/packages/xlibs/libxrandr-1.0.2/autofoo.patch b/meta/packages/xlibs/libxrandr-1.0.2/autofoo.patch
new file mode 100644
index 0000000000..21f6e7fd78
--- /dev/null
+++ b/meta/packages/xlibs/libxrandr-1.0.2/autofoo.patch
@@ -0,0 +1,20 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libXrandr-1.0.2/configure.ac~autofoo 2004-01-15 03:23:00.000000000 -0500
++++ libXrandr-1.0.2/configure.ac 2005-01-16 11:18:35.924069872 -0500
+@@ -33,11 +33,11 @@
+ dnl protocol, so Xrandr version l.n.m corresponds to protocol version l.n
+ dnl
+ AC_INIT(libXrandr, 1.0.2, [keithp@keithp.com], libXrandr)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ # Check for progs
+ AC_PROG_CC
diff --git a/meta/packages/xlibs/libxrandr/autofoo.patch b/meta/packages/xlibs/libxrandr/autofoo.patch
new file mode 100644
index 0000000000..7b1db760f2
--- /dev/null
+++ b/meta/packages/xlibs/libxrandr/autofoo.patch
@@ -0,0 +1,30 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- Xrandr/configure.ac~autofoo.patch 2004-07-01 15:01:55.000000000 -0400
++++ Xrandr/configure.ac 2005-01-16 11:22:09.169651616 -0500
+@@ -33,11 +33,11 @@
+ dnl protocol, so Xrandr version l.n.m corresponds to protocol version l.n
+ dnl
+ AC_INIT(libXrandr, 1.0.2, [keithp@keithp.com], libXrandr)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ # Check for progs
+ AC_PROG_CC
+--- Xrandr/ChangeLog~autofoo.patch 2004-09-19 04:53:38.000000000 -0400
++++ Xrandr/ChangeLog 2005-01-16 11:52:29.694889712 -0500
+@@ -1,3 +1,7 @@
++2005-01-16 Chris Larson <kergoth@handhelds.org>
++
++ * configure.ac: Fix to work with automake 1.9.x.
++
+ 2004-09-19 Carlos Romero <kidcrash@freedesktop.org>
+
+ * Makefile.am:
diff --git a/meta/packages/xlibs/libxrandr_1.0.2.bb b/meta/packages/xlibs/libxrandr_1.0.2.bb
new file mode 100644
index 0000000000..efd0505544
--- /dev/null
+++ b/meta/packages/xlibs/libxrandr_1.0.2.bb
@@ -0,0 +1,15 @@
+SECTION = "x11/libs"
+LICENSE = "BSD-X"
+DEPENDS = "randrext libx11 libxrender libxext"
+DESCRIPTION = "X Resize and Rotate extension library."
+PR = "r1"
+
+SRC_URI = "${XLIBS_MIRROR}/libXrandr-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXrandr-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxrender/autofoo.patch b/meta/packages/xlibs/libxrender/autofoo.patch
new file mode 100644
index 0000000000..eb21c766f8
--- /dev/null
+++ b/meta/packages/xlibs/libxrender/autofoo.patch
@@ -0,0 +1,20 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libXrender-0.8.4/configure.ac~autofoo
++++ libXrender-0.8.4/configure.ac
+@@ -33,11 +33,10 @@
+ dnl protocol, so Xrender version l.n.m corresponds to protocol version l.n
+ dnl
+ AC_INIT(libXrender, 0.8.4, [keithp@keithp.com], libXrender)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+-
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ # Check for progs
+ AC_PROG_CC
diff --git a/meta/packages/xlibs/libxrender_cvs.bb b/meta/packages/xlibs/libxrender_cvs.bb
new file mode 100644
index 0000000000..ea6b1f4607
--- /dev/null
+++ b/meta/packages/xlibs/libxrender_cvs.bb
@@ -0,0 +1,15 @@
+PV = "0.0+cvs${SRCDATE}"
+PR = "r1"
+SECTION = "libs"
+DEPENDS = "renderext libx11"
+DESCRIPTION = "X Render extension library."
+LICENSE = "BSD"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xrender"
+S = "${WORKDIR}/Xrender"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxt/autofoo.patch b/meta/packages/xlibs/libxt/autofoo.patch
new file mode 100644
index 0000000000..ff6dfdbbcc
--- /dev/null
+++ b/meta/packages/xlibs/libxt/autofoo.patch
@@ -0,0 +1,20 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libXt-0.1.5/configure.ac~autofoo 2004-05-06 20:19:04.000000000 -0400
++++ libXt-0.1.5/configure.ac 2005-01-18 13:10:13.683262728 -0500
+@@ -28,11 +28,11 @@
+ dnl
+ dnl
+ AC_INIT(libXt, 0.1.5, [keithp@keithp.com], libXt)
++AC_CONFIG_AUX_DIR(.)
+ AM_INIT_AUTOMAKE([dist-bzip2])
+ AM_MAINTAINER_MODE
+
+ AM_CONFIG_HEADER(config.h)
+-AC_CONFIG_AUX_DIR(.)
+
+ # Check for progs
+ AC_PROG_CC
diff --git a/meta/packages/xlibs/libxt_0.1.5.bb b/meta/packages/xlibs/libxt_0.1.5.bb
new file mode 100644
index 0000000000..00cbe9a3ad
--- /dev/null
+++ b/meta/packages/xlibs/libxt_0.1.5.bb
@@ -0,0 +1,29 @@
+SECTION = "x11/libs"
+PRIORITY = "optional"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+DEPENDS = "libx11 libsm"
+PROVIDES = "xt"
+DESCRIPTION = "X Toolkit Intrinsics"
+LICENSE = "X-MIT"
+PR = "r1"
+SRC_URI = "${XLIBS_MIRROR}/libXt-${PV}.tar.bz2 \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/libXt-${PV}"
+
+PARALLEL_MAKE = ""
+
+inherit autotools pkgconfig
+
+#nasty hack as utils need to be native
+do_compile() {
+ (
+ unset CC LD CXX CCLD
+# unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake -C util 'CFLAGS=' 'LDFLAGS=' 'CXXFLAGS=' 'CPPFLAGS=' makestrs
+ )
+ oe_runmake
+}
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/libxtst_cvs.bb b/meta/packages/xlibs/libxtst_cvs.bb
new file mode 100644
index 0000000000..c7c24d5d74
--- /dev/null
+++ b/meta/packages/xlibs/libxtst_cvs.bb
@@ -0,0 +1,17 @@
+LICENSE = "GPL"
+PV = "0.0+cvs${SRCDATE}"
+SECTION = "x11/libs"
+PRIORITY = "optional"
+DEPENDS = "libx11 recordext libxext"
+PROVIDES = "xtst"
+DESCRIPTION = "X Test Extension: client side library"
+PR = "r3"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xtst"
+S = "${WORKDIR}/Xtst"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/xtrans-native_0.1.bb b/meta/packages/xlibs/xtrans-native_0.1.bb
new file mode 100644
index 0000000000..80de95c869
--- /dev/null
+++ b/meta/packages/xlibs/xtrans-native_0.1.bb
@@ -0,0 +1,3 @@
+SECTION = "x11/base"
+include xtrans_${PV}.bb
+inherit native
diff --git a/meta/packages/xlibs/xtrans_0.1.bb b/meta/packages/xlibs/xtrans_0.1.bb
new file mode 100644
index 0000000000..8fee0d5089
--- /dev/null
+++ b/meta/packages/xlibs/xtrans_0.1.bb
@@ -0,0 +1,15 @@
+SECTION = "x11/libs"
+LICENSE = "MIT"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "network API translation layer to \
+insulate X applications and libraries from OS \
+network vageries."
+
+SRC_URI = "${XLIBS_MIRROR}/libXtrans-0.1.tar.bz2"
+S = "${WORKDIR}/libXtrans-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xlibs/xtrans_cvs.bb b/meta/packages/xlibs/xtrans_cvs.bb
new file mode 100644
index 0000000000..9714f4017b
--- /dev/null
+++ b/meta/packages/xlibs/xtrans_cvs.bb
@@ -0,0 +1,16 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "MIT"
+SECTION = "x11/libs"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "network API translation layer to \
+insulate X applications and libraries from OS \
+network vageries."
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=xtrans"
+S = "${WORKDIR}/xtrans"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xmodmap/xmodmap/autofoo.patch b/meta/packages/xmodmap/xmodmap/autofoo.patch
new file mode 100644
index 0000000000..f309add086
--- /dev/null
+++ b/meta/packages/xmodmap/xmodmap/autofoo.patch
@@ -0,0 +1,109 @@
+diff -urN xmodmap.orig/Makefile.am xmodmap/Makefile.am
+--- xmodmap.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ xmodmap/Makefile.am 2004-08-31 19:49:33.000000000 +0200
+@@ -0,0 +1,53 @@
++#
++# $Id: Makefile.am,v 1.2 2004/06/25 19:38:50 markh Exp $
++#
++# 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 Keith Packard not be used in
++# advertising or publicity pertaining to distribution of the software without
++# specific, written prior permission. Keith Packard makes no
++# representations about the suitability of this software for any purpose. It
++# is provided "as is" without express or implied warranty.
++#
++# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++# EVENT SHALL KEITH PACKARD 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.
++#
++
++AUTOMAKE_OPTIONS = 1.7 foreign
++
++AM_CFLAGS = @XMODMAP_CFLAGS@
++
++bin_PROGRAMS = xmodmap
++
++xmodmap_SOURCES = exec.c handle.c pf.c wq.h xmodmap.c xmodmap.h
++
++xmodmap_LDADD = @XMODMAP_LIBS@
++
++man5_MANS=xmodmap.man
++
++EXTRA_DIST= $(man5_MANS)
++
++MAINTAINERCLEANFILES = configure \
++config.guess \
++config.sub \
++install-sh \
++ltmain.sh \
++missing \
++mkinstalldirs \
++aclocal.m4 \
++Makefile.in \
++depcomp \
++autoscan.log \
++configure.scan \
++config.h \
++config.h.in \
++$(man5_MANS)
+diff -urN xmodmap.orig/autogen.sh xmodmap/autogen.sh
+--- xmodmap.orig/autogen.sh 1970-01-01 01:00:00.000000000 +0100
++++ xmodmap/autogen.sh 2004-08-31 19:46:14.000000000 +0200
+@@ -0,0 +1,3 @@
++#! /bin/sh
++autoreconf -v --install || exit 1
++./configure --enable-maintainer-mode "$@"
+diff -urN xmodmap.orig/configure.ac xmodmap/configure.ac
+--- xmodmap.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ xmodmap/configure.ac 2004-08-31 20:27:03.000000000 +0200
+@@ -0,0 +1,41 @@
++dnl
++dnl $Id: configure.ac,v 1.1 2003/10/09 06:16:59 keithp Exp $
++dnl
++dnl Copyright © 2003 Keith Packard
++dnl
++dnl Permission to use, copy, modify, distribute, and sell this software and its
++dnl documentation for any purpose is hereby granted without fee, provided that
++dnl the above copyright notice appear in all copies and that both that
++dnl copyright notice and this permission notice appear in supporting
++dnl documentation, and that the name of Keith Packard not be used in
++dnl advertising or publicity pertaining to distribution of the software without
++dnl specific, written prior permission. Keith Packard makes no
++dnl representations about the suitability of this software for any purpose. It
++dnl is provided "as is" without express or implied warranty.
++dnl
++dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++dnl PERFORMANCE OF THIS SOFTWARE.
++dnl
++
++AC_PREREQ(2.57)
++AC_INIT([xmodmap],4.4.0,[],xmodmap)
++AC_CONFIG_SRCDIR([Makefile.am])
++AM_INIT_AUTOMAKE([dist-bzip2])
++AM_MAINTAINER_MODE
++AM_CONFIG_HEADER(config.h)
++
++AC_PROG_CC
++AC_PROG_INSTALL
++AC_PROG_LN_S
++AC_LIBTOOL_WIN32_DLL
++AM_PROG_LIBTOOL
++AC_PROG_MAKE_SET
++
++PKG_CHECK_MODULES(XMODMAP, x11)
++
++AC_OUTPUT([Makefile])
diff --git a/meta/packages/xmodmap/xmodmap_cvs.bb b/meta/packages/xmodmap/xmodmap_cvs.bb
new file mode 100644
index 0000000000..773466e6bb
--- /dev/null
+++ b/meta/packages/xmodmap/xmodmap_cvs.bb
@@ -0,0 +1,14 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE = "MIT"
+DESCRIPTION = "utility for modifying keymaps and pointer button mappings in X"
+MAINTAINER = "Rene Wagner <rw@handhelds.org>"
+SECTION = "x11/base"
+PR = "r1"
+
+DEPENDS = "libx11"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xmodmap \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/xmodmap"
+
+inherit autotools pkgconfig
diff --git a/meta/packages/xournal/files/no-printing.diff b/meta/packages/xournal/files/no-printing.diff
new file mode 100644
index 0000000000..7a4724e696
--- /dev/null
+++ b/meta/packages/xournal/files/no-printing.diff
@@ -0,0 +1,178 @@
+diff -ru xournal-0.2/configure.in xournal-0.2.noprint/configure.in
+--- xournal-0.2/configure.in 2006-01-29 22:25:10.000000000 +0000
++++ xournal-0.2.noprint/configure.in 2006-03-17 13:08:01.000000000 +0000
+@@ -10,11 +10,16 @@
+ AM_PROG_CC_STDC
+ AC_HEADER_STDC
+
+-pkg_modules="gtk+-2.0 >= 2.4.0 libgnomecanvas-2.0 >= 2.4.0 libgnomeprintui-2.2 >= 2.0.0"
++pkg_modules="gtk+-2.0 >= 2.4.0 libgnomecanvas-2.0 >= 2.4.0"
+ PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
+ AC_SUBST(PACKAGE_CFLAGS)
+ AC_SUBST(PACKAGE_LIBS)
+
++#PKG_CHECK_MODULES(GNOMEPRINT, libgnomeprintui-2.2 >= 2.0.0
++#AC_SUBST(GNOMEPRINT_CFLAGS)
++#AC_SUBST(GNOMEPRINT_LIBS)
++AM_CONDITIONAL(ENABLE_PRINTING, false)
++
+ AC_OUTPUT([
+ Makefile
+ src/Makefile
+diff -ru xournal-0.2/src/main.c xournal-0.2.noprint/src/main.c
+--- xournal-0.2/src/main.c 2006-01-29 22:22:52.000000000 +0000
++++ xournal-0.2.noprint/src/main.c 2006-03-17 13:14:50.000000000 +0000
+@@ -28,7 +28,9 @@
+
+ void hide_unimplemented(void)
+ {
++#if ENABLE_PRINTING
+ gtk_widget_hide(GET_COMPONENT("filePrintOptions"));
++#endif
+ gtk_widget_hide(GET_COMPONENT("journalFlatten"));
+ gtk_widget_hide(GET_COMPONENT("papercolorOther"));
+ gtk_widget_hide(GET_COMPONENT("journalApplyAllPages"));
+diff -ru xournal-0.2/src/Makefile.am xournal-0.2.noprint/src/Makefile.am
+--- xournal-0.2/src/Makefile.am 2005-12-14 20:54:42.000000000 +0000
++++ xournal-0.2.noprint/src/Makefile.am 2006-03-17 13:07:47.000000000 +0000
+@@ -7,12 +7,16 @@
+
+ bin_PROGRAMS = xournal
+
++if ENABLE_PRINTING
++PRINT_SOURCE = xo-print.c xo-print.h
++endif
++
+ xournal_SOURCES = \
+ main.c xournal.h \
+ xo-misc.c xo-misc.h \
+ xo-file.c xo-file.h \
+ xo-paint.c xo-paint.h \
+- xo-print.c xo-print.h \
++ $(PRINT_SOURCE) \
+ xo-support.c xo-support.h \
+ xo-interface.c xo-interface.h \
+ xo-callbacks.c xo-callbacks.h
+diff -ru xournal-0.2/src/xo-callbacks.c xournal-0.2.noprint/src/xo-callbacks.c
+--- xournal-0.2/src/xo-callbacks.c 2006-01-29 19:39:22.000000000 +0000
++++ xournal-0.2.noprint/src/xo-callbacks.c 2006-03-17 13:12:01.000000000 +0000
+@@ -7,7 +7,9 @@
+ #include <gtk/gtk.h>
+ #include <libgnomecanvas/libgnomecanvas.h>
+ #include <time.h>
++#if ENABLE_PRINTING
+ #include <libgnomeprintui/gnome-print-dialog.h>
++#endif
+ #include <glib/gstdio.h>
+
+ #include "xournal.h"
+@@ -17,7 +19,9 @@
+ #include "xo-misc.h"
+ #include "xo-file.h"
+ #include "xo-paint.h"
++#if ENABLE_PRINTING
+ #include "xo-print.h"
++#endif
+
+ void
+ on_fileNew_activate (GtkMenuItem *menuitem,
+@@ -261,7 +265,7 @@
+
+ }
+
+-
++#if ENABLE_PRINTING
+ void
+ on_filePrint_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+@@ -407,7 +411,7 @@
+
+ g_free(filename);
+ }
+-
++#endif
+
+ void
+ on_fileQuit_activate (GtkMenuItem *menuitem,
+diff -ru xournal-0.2/src/xo-callbacks.h xournal-0.2.noprint/src/xo-callbacks.h
+--- xournal-0.2/src/xo-callbacks.h 2006-01-26 20:47:00.000000000 +0000
++++ xournal-0.2.noprint/src/xo-callbacks.h 2006-03-17 13:08:45.000000000 +0000
+@@ -24,6 +24,7 @@
+ on_filePrintOptions_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
++#if ENABLE_PRINTING
+ void
+ on_filePrint_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+@@ -32,6 +33,8 @@
+ on_filePrintPDF_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+
++#endif
++
+ void
+ on_fileQuit_activate (GtkMenuItem *menuitem,
+ gpointer user_data);
+diff -ru xournal-0.2/src/xo-interface.c xournal-0.2.noprint/src/xo-interface.c
+--- xournal-0.2/src/xo-interface.c 2006-01-29 18:58:25.000000000 +0000
++++ xournal-0.2.noprint/src/xo-interface.c 2006-03-17 13:11:31.000000000 +0000
+@@ -41,10 +41,12 @@
+ GtkWidget *fileSave;
+ GtkWidget *fileSaveAs;
+ GtkWidget *separator1;
++#if ENABLE_PRINTING
+ GtkWidget *filePrintOptions;
+ GtkWidget *image501;
+ GtkWidget *filePrint;
+ GtkWidget *filePrintPDF;
++#endif
+ GtkWidget *separator2;
+ GtkWidget *fileQuit;
+ GtkWidget *menuEdit;
+@@ -327,6 +329,7 @@
+ gtk_container_add (GTK_CONTAINER (menuFile_menu), separator1);
+ gtk_widget_set_sensitive (separator1, FALSE);
+
++#if ENABLE_PRINTING
+ filePrintOptions = gtk_image_menu_item_new_with_mnemonic ("Print Options");
+ gtk_widget_show (filePrintOptions);
+ gtk_container_add (GTK_CONTAINER (menuFile_menu), filePrintOptions);
+@@ -347,6 +350,7 @@
+ gtk_widget_show (separator2);
+ gtk_container_add (GTK_CONTAINER (menuFile_menu), separator2);
+ gtk_widget_set_sensitive (separator2, FALSE);
++#endif
+
+ fileQuit = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
+ gtk_widget_show (fileQuit);
+@@ -1522,6 +1526,7 @@
+ g_signal_connect ((gpointer) fileSaveAs, "activate",
+ G_CALLBACK (on_fileSaveAs_activate),
+ NULL);
++#if ENABLE_PRINTING
+ g_signal_connect ((gpointer) filePrintOptions, "activate",
+ G_CALLBACK (on_filePrintOptions_activate),
+ NULL);
+@@ -1531,6 +1536,7 @@
+ g_signal_connect ((gpointer) filePrintPDF, "activate",
+ G_CALLBACK (on_filePrintPDF_activate),
+ NULL);
++#endif
+ g_signal_connect ((gpointer) fileQuit, "activate",
+ G_CALLBACK (on_fileQuit_activate),
+ NULL);
+@@ -1941,11 +1947,13 @@
+ GLADE_HOOKUP_OBJECT (winMain, fileSave, "fileSave");
+ GLADE_HOOKUP_OBJECT (winMain, fileSaveAs, "fileSaveAs");
+ GLADE_HOOKUP_OBJECT (winMain, separator1, "separator1");
++#if ENABLE_PRINTING
+ GLADE_HOOKUP_OBJECT (winMain, filePrintOptions, "filePrintOptions");
+ GLADE_HOOKUP_OBJECT (winMain, image501, "image501");
+ GLADE_HOOKUP_OBJECT (winMain, filePrint, "filePrint");
+ GLADE_HOOKUP_OBJECT (winMain, filePrintPDF, "filePrintPDF");
+ GLADE_HOOKUP_OBJECT (winMain, separator2, "separator2");
++#endif
+ GLADE_HOOKUP_OBJECT (winMain, fileQuit, "fileQuit");
+ GLADE_HOOKUP_OBJECT (winMain, menuEdit, "menuEdit");
+ GLADE_HOOKUP_OBJECT (winMain, menuEdit_menu, "menuEdit_menu");
diff --git a/meta/packages/xournal/xournal_0.2.bb b/meta/packages/xournal/xournal_0.2.bb
new file mode 100644
index 0000000000..cd85a01f37
--- /dev/null
+++ b/meta/packages/xournal/xournal_0.2.bb
@@ -0,0 +1,12 @@
+HOMEPAGE = "http://www-math.mit.edu/~auroux/software/xournal/"
+DESCRIPTION = "Xournal is an application for notetaking, sketching, keeping a journal using a stylus."
+MAINTAINER = "Koen Kooi <koen@dominion.kabel.utwente.nl>"
+DEPENDS = "gtk+ libgnomecanvas"
+SECTION = "x11"
+LICENSE = "GPL"
+PR = "r1"
+
+SRC_URI = "http://math.mit.edu/~auroux/software/xournal/xournal.tar.gz \
+ file://no-printing.diff;patch=1"
+
+inherit autotools pkgconfig
diff --git a/meta/packages/xproto/xproto-native_6.6.2.bb b/meta/packages/xproto/xproto-native_6.6.2.bb
new file mode 100644
index 0000000000..44ccb5f035
--- /dev/null
+++ b/meta/packages/xproto/xproto-native_6.6.2.bb
@@ -0,0 +1,4 @@
+SECTION = "unknown"
+include xproto_${PV}.bb
+inherit native
+PROVIDES = ""
diff --git a/meta/packages/xproto/xproto-native_cvs.bb b/meta/packages/xproto/xproto-native_cvs.bb
new file mode 100644
index 0000000000..7b768a8079
--- /dev/null
+++ b/meta/packages/xproto/xproto-native_cvs.bb
@@ -0,0 +1,4 @@
+SECTION = "unknown"
+include xproto_cvs.bb
+inherit native
+PROVIDES = ""
diff --git a/meta/packages/xproto/xproto_6.6.2+cvs20050226.bb b/meta/packages/xproto/xproto_6.6.2+cvs20050226.bb
new file mode 100644
index 0000000000..594a351155
--- /dev/null
+++ b/meta/packages/xproto/xproto_6.6.2+cvs20050226.bb
@@ -0,0 +1,13 @@
+LICENSE= "MIT"
+SECTION = "x11/libs"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "X protocol and ancillary headers."
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xproto;date=20050226"
+S = "${WORKDIR}/Xproto"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xproto/xproto_6.6.2.bb b/meta/packages/xproto/xproto_6.6.2.bb
new file mode 100644
index 0000000000..b5cf751053
--- /dev/null
+++ b/meta/packages/xproto/xproto_6.6.2.bb
@@ -0,0 +1,13 @@
+SECTION = "x11/libs"
+LICENSE= "MIT"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "X protocol and ancillary headers."
+
+SRC_URI = "${XLIBS_MIRROR}/xproto-${PV}.tar.gz"
+S = "${WORKDIR}/xproto-${PV}"
+
+inherit autotools pkgconfig
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xproto/xproto_cvs.bb b/meta/packages/xproto/xproto_cvs.bb
new file mode 100644
index 0000000000..1d9c96c87d
--- /dev/null
+++ b/meta/packages/xproto/xproto_cvs.bb
@@ -0,0 +1,15 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "MIT"
+SECTION = "x11/libs"
+MAINTAINER = "Greg Gilbert <greg@treke.net>"
+DESCRIPTION = "X protocol and ancillary headers."
+
+SRC_URI = "${FREEDESKTOP_CVS}/xlibs;module=Xproto"
+S = "${WORKDIR}/Xproto"
+
+inherit autotools pkgconfig
+
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/meta/packages/xrandr/xrandr_cvs.bb b/meta/packages/xrandr/xrandr_cvs.bb
new file mode 100644
index 0000000000..0ab7c745f4
--- /dev/null
+++ b/meta/packages/xrandr/xrandr_cvs.bb
@@ -0,0 +1,10 @@
+PV = "0.0+cvs${SRCDATE}"
+LICENSE= "BSD-X"
+DEPENDS = "libxrandr libx11 libxext"
+DESCRIPTION = "X Resize and Rotate extension command."
+SECTION = "x11/base"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xapps;module=xrandr"
+S = "${WORKDIR}/xrandr"
+
+inherit autotools pkgconfig
diff --git a/meta/packages/xrdb/xrdb/autofoo.patch b/meta/packages/xrdb/xrdb/autofoo.patch
new file mode 100644
index 0000000000..b30a46bc36
--- /dev/null
+++ b/meta/packages/xrdb/xrdb/autofoo.patch
@@ -0,0 +1,132 @@
+diff -urN xrdb.orig/Imakefile xrdb/Imakefile
+--- xrdb.orig/Imakefile 2004-04-23 21:55:03.000000000 +0200
++++ xrdb/Imakefile 1970-01-01 01:00:00.000000000 +0100
+@@ -1,19 +0,0 @@
+-XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:54:56 cpqbld Exp $
+-
+-
+-
+-
+-XCOMM $XFree86: xc/programs/xrdb/Imakefile,v 3.6tsi Exp $
+-
+-#ifdef PatheticCpp
+- CPPDEFS = -DPATHETICCPP
+-#endif
+-#if HasMkstemp
+- CPPDEFS = -DHAS_MKSTEMP
+-#endif
+-XCOMM Due to ill make parsing the cpp is passed directly in source file
+- DEFINES = -DCPP="\"$(CPP)\"" $(CPPDEFS)
+- DEPLIBS = $(DEPXMUULIB) $(DEPXONLYLIB)
+-LOCAL_LIBRARIES = $(XMUULIB) $(XONLYLIB)
+-
+-SimpleProgramTarget(xrdb)
+diff -urN xrdb.orig/Makefile.am xrdb/Makefile.am
+--- xrdb.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ xrdb/Makefile.am 2004-08-14 16:05:01.000000000 +0200
+@@ -0,0 +1,53 @@
++#
++# $Id: Makefile.am,v 1.2 2004/06/25 19:38:50 markh Exp $
++#
++# 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 Keith Packard not be used in
++# advertising or publicity pertaining to distribution of the software without
++# specific, written prior permission. Keith Packard makes no
++# representations about the suitability of this software for any purpose. It
++# is provided "as is" without express or implied warranty.
++#
++# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++# EVENT SHALL KEITH PACKARD 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.
++#
++
++AUTOMAKE_OPTIONS = 1.7 foreign
++
++AM_CFLAGS = @XRDB_CFLAGS@
++
++bin_PROGRAMS = xrdb
++
++xrdb_SOURCES = xrdb.c
++
++xrdb_LDADD = @XRDB_LIBS@
++
++man5_MANS=xrdb.man
++
++EXTRA_DIST= $(man5_MANS)
++
++MAINTAINERCLEANFILES = configure \
++config.guess \
++config.sub \
++install-sh \
++ltmain.sh \
++missing \
++mkinstalldirs \
++aclocal.m4 \
++Makefile.in \
++depcomp \
++autoscan.log \
++configure.scan \
++config.h \
++config.h.in \
++$(man5_MANS)
+diff -urN xrdb.orig/autogen.sh xrdb/autogen.sh
+--- xrdb.orig/autogen.sh 1970-01-01 01:00:00.000000000 +0100
++++ xrdb/autogen.sh 2004-08-14 15:57:35.000000000 +0200
+@@ -0,0 +1,3 @@
++#! /bin/sh
++autoreconf -v --install || exit 1
++./configure --enable-maintainer-mode "$@"
+diff -urN xrdb.orig/configure.ac xrdb/configure.ac
+--- xrdb.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ xrdb/configure.ac 2004-08-14 16:03:31.000000000 +0200
+@@ -0,0 +1,41 @@
++dnl
++dnl $Id: configure.ac,v 1.1 2003/10/09 06:16:59 keithp Exp $
++dnl
++dnl Copyright © 2003 Keith Packard
++dnl
++dnl Permission to use, copy, modify, distribute, and sell this software and its
++dnl documentation for any purpose is hereby granted without fee, provided that
++dnl the above copyright notice appear in all copies and that both that
++dnl copyright notice and this permission notice appear in supporting
++dnl documentation, and that the name of Keith Packard not be used in
++dnl advertising or publicity pertaining to distribution of the software without
++dnl specific, written prior permission. Keith Packard makes no
++dnl representations about the suitability of this software for any purpose. It
++dnl is provided "as is" without express or implied warranty.
++dnl
++dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++dnl PERFORMANCE OF THIS SOFTWARE.
++dnl
++
++AC_PREREQ(2.57)
++AC_INIT([xrdb],4.4.0,[],xrdb)
++AC_CONFIG_SRCDIR([Makefile.am])
++AM_INIT_AUTOMAKE([dist-bzip2])
++AM_MAINTAINER_MODE
++AM_CONFIG_HEADER(config.h)
++
++AC_PROG_CC
++AC_PROG_INSTALL
++AC_PROG_LN_S
++AC_LIBTOOL_WIN32_DLL
++AM_PROG_LIBTOOL
++AC_PROG_MAKE_SET
++
++PKG_CHECK_MODULES(XRDB, xext xmuu x11)
++
++AC_OUTPUT([Makefile])
diff --git a/meta/packages/xrdb/xrdb_cvs.bb b/meta/packages/xrdb/xrdb_cvs.bb
new file mode 100644
index 0000000000..cbf2caac70
--- /dev/null
+++ b/meta/packages/xrdb/xrdb_cvs.bb
@@ -0,0 +1,13 @@
+PV = "0.0+cvs${SRCDATE}"
+DEPENDS = "libx11 libxmu libxext"
+DESCRIPTION = "X server resource database utility"
+MAINTAINER = "Rene Wagner <rw@handhelds.org>"
+SECTION = "x11/base"
+LICENSE = "xrdb"
+PR = "r2"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xrdb \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/xrdb"
+
+inherit autotools pkgconfig
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xdefaults b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xdefaults
new file mode 100644
index 0000000000..f5b69dd516
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xdefaults
@@ -0,0 +1,3 @@
+Rxvt*scrollBar_right: true
+Rxvt*font: xft:Mono:pixelsize=9
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit
new file mode 100644
index 0000000000..f566ffe5be
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+
+export USER=root
+export HOME=/home/root
+if [ ! -d $HOME ] && [ -d /root ]; then
+ HOME=/root
+fi
+export XAPPLRESDIR=/usr/X11R6/lib/app-defaults
+export XFILESEARCHPATH=./%N%S%C.ad:/usr/X11R6/lib/X11/%L/%T/%N%S%C:/usr/X11R6/lib/X11/%l/%T/%N%S%C:/usr/X11R6/lib/X11/%T/%N%S%C:./%N%S.ad:/usr/X11R6/lib/X11/%L/%T/%N%S:/usr/X11R6/lib/X11/%l/%T/%N%S:/usr/X11R6/lib/X11/%T/%N%S:/usr/local/lib/X11/app-defaults/%N%S%C.ad
+
+export PATH=$PATH:/usr/X11R6/bin
+
+SYSSESSIONDIR=/etc/X11/Xinit.d
+
+exec run-parts $SYSSESSIONDIR
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/01xrandr b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/01xrandr
new file mode 100644
index 0000000000..abde87d53c
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/01xrandr
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+xrandr -o normal
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/11zaurus b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/11zaurus
new file mode 100644
index 0000000000..61ca84b595
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/11zaurus
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+if [ -z "`which chkhinge`" ]; then
+ # probably not a clamshell zaurus
+ exit 0
+fi
+
+chkhinge -e
+if [ $? = 12 ]; then
+ xrandr -o right
+fi
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/12keymap b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/12keymap
new file mode 100644
index 0000000000..abc14f8661
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/12keymap
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+MACHINE=`awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo`
+
+case $MACHINE in
+ "SHARP Shepherd" | "SHARP Husky" | "SHARP Corgi")
+ case `uname -r` in
+ 2.4*)
+ xmodmap - < /etc/X11/shepherd.xmodmap
+ ;;
+ esac
+ ;;
+ "Sharp-Collie")
+ xmodmap - < /etc/X11/collie.xmodmap
+ ;;
+ "Simpad")
+ xmodmap - < /etc/X11/simpad.xmodmap
+ ;;
+ "HP iPAQ H2200")
+ xmodmap - < /etc/X11/h2200.xmodmap
+ ;;
+esac
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/30xTs_Calibrate b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/30xTs_Calibrate
new file mode 100644
index 0000000000..26d8551b18
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/30xTs_Calibrate
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+if [ ! -f /etc/pointercal ] && [ ! -z "$TSLIB_TSDEVICE" ]; then
+ /usr/bin/xtscal
+fi
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/40xmodmap b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/40xmodmap
new file mode 100644
index 0000000000..7ae3b58860
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/40xmodmap
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if [ -f /proc/hal/model ]; then
+ xmodmap -e 'keycode 104 = Return'
+fi
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/55xScreenSaver b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/55xScreenSaver
new file mode 100644
index 0000000000..5f6d0dae5d
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/55xScreenSaver
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+xset s 30 180
+xset s off
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/60xXDefaults b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/60xXDefaults
new file mode 100644
index 0000000000..6b35e0357c
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xinit.d/60xXDefaults
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+xrdb -load -nocpp < /etc/X11/Xdefaults
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver
new file mode 100644
index 0000000000..88b8abbb23
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xserver
@@ -0,0 +1,75 @@
+#!/bin/sh
+#
+
+XSERVER=Xipaq
+if [ -f /usr/bin/Xfbdev ]; then
+ XSERVER=Xfbdev
+fi
+if [ -f /usr/bin/Xepson ]; then
+ XSERVER=Xepson
+fi
+if [ -f /usr/bin/Xorg ]; then
+ XSERVER=Xorg
+fi
+if [ -f /usr/bin/Xomap ]; then
+ XSERVER=Xomap
+fi
+
+. /etc/profile
+
+module_id() {
+ ## used to read from assets, but sometimes assets is corrupted
+ # grep "Module ID" /proc/hal/assets | sed "s/.*://"
+ ## used to read from /proc/hal/model, but that is removed in 2.6
+ # echo ' iPAQ' `cat /proc/hal/model`
+ awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
+}
+
+export USER=root
+
+ARGS=" -br -pn"
+
+# use ucb 1x00 touchscreen if present
+if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/touchscreen/ucb1x00 ]; then
+ ARGS="$ARGS -mouse /dev/touchscreen/ucb1x00"
+fi
+
+# use usb mouse if present
+# Xorg doesn't support "-mouse" option, and uses /dev/input/mice automatically
+if [ -z "$TSLIB_TSDEVICE" ] && [ -e /dev/input/mice ] && [ "$XSERVER" != "Xorg" ]; then
+ ARGS="$ARGS -mouse /dev/input/mice"
+fi
+
+# start off server in conventional location.
+case `module_id` in
+ "HP iPAQ H3100" | "HP iPAQ H3800")
+ ARGS="$ARGS -dpi 100 -screen 320x240@90 -rgba vrgb" ;;
+ "HP iPAQ H3600" | "HP iPAQ H3700" | "HP iPAQ H3900")
+ ARGS="$ARGS -dpi 100 -screen 320x240@270 -rgba vbgr" ;;
+ "HP iPAQ H5400" | "HP iPAQ H2200")
+ ARGS="$ARGS -dpi 100 -rgba rgb" ;;
+ "Ramses")
+ # What is this "vt2" in aid of?
+ ARGS="$ARGS -dpi 100 -screen 320x240@90 -rgba vrgb vt2" ;;
+ # both 'Sharp-Collie' and just 'Collie' have been reported
+ *Poodle)
+ ARGS="$ARGS -screen 320x240@270 -rgba vrgb" ;;
+ *Collie)
+ ARGS="$ARGS -dpi 100 -screen 320x240@270 -rgba vrgb"
+ # Horrible hack required to enable resuming after suspend
+ rm -f /dev/apm_bios
+ killall -9 apmd
+ ;;
+ "SHARP Shepherd" | "SHARP Husky" | "SHARP Corgi")
+ ARGS="$ARGS -dpi 150 -rgba rgb" ;;
+ "SHARP Spitz" | "SHARP Akita" | "SHARP Borzoi")
+ ARGS="$ARGS -dpi 150 -rgba rgb -screen 480x640@270" ;;
+ "Simpad")
+ ARGS="$ARGS -rgba rgb" ;;
+ "Generic OMAP1510/1610/1710")
+ ARGS="$ARGS -mouse /dev/input/event0" ;;
+ "ARM-IntegratorCP")
+ ARGS="$ARGS -rgba vrgb"
+esac
+
+exec $XSERVER $ARGS $*
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession
new file mode 100644
index 0000000000..cfa3a9a6e3
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# this location MUST be consistent with /etc/X11/gpe-login.pre-session
+HOME_VOLATILE=/home/$USER/ramdisk
+export HOME_VOLATILE
+
+if [ -f /usr/bin/dbus-launch ]; then
+ ## test for an existing bus daemon, just to be safe
+ if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
+ ## if not found, launch a new one
+ eval `dbus-launch --auto-syntax --exit-with-session`
+ echo "D-BUS per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"
+ fi
+fi
+
+. /etc/profile
+
+if [ -f $HOME/.profile ]; then
+ . $HOME/.profile
+fi
+
+SYSSESSIONDIR=/etc/X11/Xsession-gpe.d
+
+if [ ! -d $SYSSESSIONDIR ]; then
+ SYSSESSIONDIR=/etc/X11/Xsession.d
+fi
+
+# Use run-parts to source every file in the session directory; we source
+# instead of executing so that the variables and functions defined above
+# are available to the scripts, and so that they can pass variables to each
+# other.
+
+# Can't use run-parts like this, busybox doesn't support it. Use ls instead
+#SESSIONFILES=$(run-parts --list $SYSSESSIONDIR)
+
+SESSIONFILES=`ls -X $SYSSESSIONDIR`
+if [ -n "$SESSIONFILES" ]; then
+ for SESSIONFILE in $SESSIONFILES; do
+ # Test if script is executable first before sourcing it
+ if [ -x "$SYSSESSIONDIR/$SESSIONFILE" ]; then
+ . $SYSSESSIONDIR/$SESSIONFILE
+ fi
+ done
+fi
+
+exit 0
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/60xXDefaults b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/60xXDefaults
new file mode 100644
index 0000000000..d3a284d8da
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/60xXDefaults
@@ -0,0 +1,4 @@
+#!/bin/sh
+if [ -e $HOME/.Xdefaults ]; then
+ xrdb -merge -nocpp < $HOME/.Xdefaults
+fi
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/90xXWindowManager b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/90xXWindowManager
new file mode 100644
index 0000000000..b2b65a0993
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/Xsession.d/90xXWindowManager
@@ -0,0 +1,8 @@
+#!/bin/sh
+if [ -x $HOME/.Xsession ]; then
+ exec $HOME/.Xsession
+else
+ exec /usr/bin/x-window-manager
+fi
+
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/collie.xmodmap b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/collie.xmodmap
new file mode 100644
index 0000000000..5c0b39dc88
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/collie.xmodmap
@@ -0,0 +1,5 @@
+keycode 96 = XF86Calendar
+keycode 97 = telephone
+keycode 48 = XF86Start
+keycode 98 = XF86Mail
+keycode 117 = XF86PowerDown
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/h2200.xmodmap b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/h2200.xmodmap
new file mode 100644
index 0000000000..736766efd7
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/h2200.xmodmap
@@ -0,0 +1,5 @@
+keycode 75 = XF86Calendar
+keycode 76 = telephone
+keycode 77 = XF86Mail
+keycode 78 = XF86Start
+keycode 124 = XF86PowerDown
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/shepherd.xmodmap b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/shepherd.xmodmap
new file mode 100644
index 0000000000..0a03b4f426
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/shepherd.xmodmap
@@ -0,0 +1,49 @@
+keycode 38 = Mode_switch
+keycode 31 = w W caret
+keycode 13 = e E equal
+keycode 26 = r R plus
+keycode 28 = t T bracketleft
+keycode 33 = y y bracketright
+keycode 29 = u U braceleft
+keycode 17 = i I braceright
+!keycode 73 = Tab Tab Caps_Lock
+keycode 12 = d D periodcentered
+keycode 14 = f F backslash
+keycode 15 = g G semicolon
+keycode 16 = h H colon
+keycode 18 = j J asterisk
+keycode 19 = k K currency
+keycode 20 = l L bar
+keycode 10 = b B underscore
+keycode 66 = minus minus at
+keycode 71 = comma slash less
+keycode 72 = period question greater
+
+! Side keys
+keycode 134 = Down
+keycode 133 = Up
+keycode 131 = Return
+keycode 132 = Escape
+
+!Special keys
+!keycode 96 = XF86Calendar
+!keycode 97 = telephone
+!keycode 98 = XF86Mail
+!keycode 48 = XF86HomePage
+!keycode 37 = XF86Start
+
+clear Shift
+clear Lock
+clear Control
+clear Mod1
+clear Mod2
+clear Mod3
+clear Mod4
+clear Mod5
+
+add Shift = Shift_L Shift_R
+!add Lock = Caps_Lock
+add Control = Control_L Control_R
+add Mod1 = Alt_L Alt_R
+add Mod2 = Mode_switch
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/simpad.xmodmap b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/simpad.xmodmap
new file mode 100644
index 0000000000..d8b73b207f
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common/etc/X11/simpad.xmodmap
@@ -0,0 +1,2 @@
+keycode 102 = XF86PowerDown
+
diff --git a/meta/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb b/meta/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb
new file mode 100644
index 0000000000..b1f06fe3b6
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Common X11 scripts"
+LICENSE = "GPL"
+SECTION = "x11"
+RDEPENDS_${PN} = "xmodmap libxrandr xdpyinfo xtscal"
+PR = "r6"
+
+SRC_URI = "file://etc"
+S = ${WORKDIR}
+
+PACKAGE_ARCH = "all"
+
+do_install() {
+ cp -R ${S}/etc ${D}/etc
+ rm -fR ${D}/etc/.svn
+ rm -fR ${D}/etc/*/.svn
+ rm -fR ${D}/etc/*/*/.svn
+ chmod -R 755 ${D}/etc
+} \ No newline at end of file
diff --git a/meta/packages/xserver-kdrive-common/xserver-nodm-init.bb b/meta/packages/xserver-kdrive-common/xserver-nodm-init.bb
new file mode 100644
index 0000000000..5dff889184
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-nodm-init.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Simple Xserver Init Script (no dm)"
+LICENSE = "GPL"
+SECTION = "x11"
+PRIORITY = "optional"
+PR = "r6"
+
+SRC_URI = "file://xserver-nodm"
+S = ${WORKDIR}
+
+PACKAGE_ARCH = "all"
+
+do_install() {
+ install -d ${D}/etc
+ install -d ${D}/etc/init.d
+ install xserver-nodm ${D}/etc/init.d
+}
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "xserver-nodm"
+INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
diff --git a/meta/packages/xserver-kdrive-common/xserver-nodm-init/xserver-nodm b/meta/packages/xserver-kdrive-common/xserver-nodm-init/xserver-nodm
new file mode 100755
index 0000000000..eeab55a71a
--- /dev/null
+++ b/meta/packages/xserver-kdrive-common/xserver-nodm-init/xserver-nodm
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+killproc() { # kill the named process(es)
+ pid=`/bin/ps -e x |
+ /bin/grep $1 |
+ /bin/grep -v grep |
+ /bin/sed -e 's/^ *//' -e 's/ .*//'`
+ [ "$pid" != "" ] && kill $pid
+}
+
+
+
+case "$1" in
+ start)
+ # We don't want this script to block the rest of the boot process
+ if [ "$2" != "background" ]; then
+ $0 $1 background &
+ else
+ . /etc/profile
+
+ echo "Starting Xserver"
+ /etc/X11/Xserver &
+
+ export DISPLAY=:0
+
+ while [ ! -z $TSLIB_TSDEVICE ] && [ ! -f /etc/pointercal ]
+ do
+ /usr/bin/xtscal
+ done
+
+ /etc/X11/Xsession &
+ fi
+ ;;
+
+ stop)
+ echo "Stopping XServer"
+ killproc Xfbdev
+ killproc Xomap
+ killproc Xorg
+ killproc Xepson
+ ;;
+
+ *)
+ echo "usage: $0 { start | stop }"
+ ;;
+esac
+
+exit 0
diff --git a/meta/packages/xserver/xserver-kdrive-omap/configure-tslib.patch b/meta/packages/xserver/xserver-kdrive-omap/configure-tslib.patch
new file mode 100644
index 0000000000..0c0b64bf14
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive-omap/configure-tslib.patch
@@ -0,0 +1,13 @@
+--- configure.ac~ 2005-06-03 17:23:36.000000000 +0200
++++ configure.ac 2005-06-03 17:23:36.000000000 +0200
+@@ -447,10 +447,6 @@
+ KDRIVE_INCS="$KDRIVE_PURE_INCS $KDRIVE_OS_INC"
+ fi
+
+-if test "$TSLIB" = yes; then
+- KDRIVE_LIBS="${KDRIVE_LIBS} -lts"
+-fi
+-
+ AC_SUBST([KDRIVE_PURE_LIBS])
+ AC_SUBST([KDRIVE_PURE_INCS])
+ AC_SUBST([KDRIVE_LIBS])
diff --git a/meta/packages/xserver/xserver-kdrive-omap/fbdev-not-fix.patch b/meta/packages/xserver/xserver-kdrive-omap/fbdev-not-fix.patch
new file mode 100644
index 0000000000..f87e7cc2cd
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive-omap/fbdev-not-fix.patch
@@ -0,0 +1,14 @@
+--- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100
++++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000
+@@ -198,6 +198,11 @@
+ return FALSE;
+ }
+
++ /* Re-get the "fixed" parameters since they might have changed */
++ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix);
++ if (k < 0)
++ perror ("FBIOGET_FSCREENINFO");
++
+ /* Now get the new screeninfo */
+ ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var);
+ depth = priv->var.bits_per_pixel;
diff --git a/meta/packages/xserver/xserver-kdrive-omap/kmode.patch b/meta/packages/xserver/xserver-kdrive-omap/kmode.patch
new file mode 100644
index 0000000000..22ad51c5ad
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive-omap/kmode.patch
@@ -0,0 +1,19 @@
+Index: hw/kdrive/src/kmode.c
+===================================================================
+RCS file: /cvs/xserver/xserver/hw/kdrive/src/kmode.c,v
+retrieving revision 1.13
+diff -u -r1.13 kmode.c
+--- xserver/hw/kdrive/src/kmode.c 26 Jul 2004 17:14:26 -0000 1.13
++++ xserver/hw/kdrive/src/kmode.c 28 Aug 2004 14:04:19 -0000
+@@ -41,6 +41,11 @@
+ 1, 11, 14, KdSyncNegative,
+ },
+
++ { 240, 320, 64, 0,
++ 0, 0, 0, KdSyncNegative,
++ 0, 0, 0, KdSyncNegative,
++ },
++
+ /* Other VESA modes */
+ { 640, 350, 85, 31500, /* VESA */
+ 32, 96, 192, KdSyncPositive, /* 26.413 */
diff --git a/meta/packages/xserver/xserver-kdrive-omap_6.6.3.bb b/meta/packages/xserver/xserver-kdrive-omap_6.6.3.bb
new file mode 100644
index 0000000000..c6a23deb9d
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive-omap_6.6.3.bb
@@ -0,0 +1,26 @@
+LICENSE = "MIT"
+DEPENDS = "xsp tslib-maemo xproto libxdmcp xextensions xtrans libxau libx11 libxext libxrandr fixesext damageext libxfont resourceext compositeext xcalibrateext recordext"
+PROVIDES = "virtual/xserver"
+PACKAGES = "${PN} ${PN}-doc ${PN}-dev ${PN}-locale"
+SECTION = "x11/base"
+DESCRIPTION = "X server from freedesktop.org"
+DESCRIPTION_xserver-kdrive-omap = "X server from freedesktop.org with patches from maemo.org, supporting X on OMAP based devices"
+
+PR = "r2"
+
+FILES_${PN} = "${bindir}/Xomap"
+
+SRC_URI = " http://stage.maemo.org/pool/maemo/ossw/source/x/xserver-kdrive/xserver-kdrive_${PV}-5.tar.gz \
+ file://kmode.patch;patch=1 \
+ file://fbdev-not-fix.patch;patch=1 \
+ file://configure-tslib.patch;patch=1;pnum=0"
+
+S = "${WORKDIR}/xserver"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-composite --disable-xinerama --enable-xomapserver \
+ --enable-xsp --disable-xlocale --disable-rpath --prefix=/usr \
+ --enable-static=no --disable-static "
+LDFLAGS += " -lXfont -lXdmcp -lXau "
+
diff --git a/meta/packages/xserver/xserver-kdrive/build-20050207-against-X11R7.diff b/meta/packages/xserver/xserver-kdrive/build-20050207-against-X11R7.diff
new file mode 100644
index 0000000000..596e498b80
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/build-20050207-against-X11R7.diff
@@ -0,0 +1,464 @@
+--- xserver.orig/configure.ac 2006-03-11 16:27:42.000000000 +0100
++++ xserver/configure.ac 2006-03-11 16:46:51.000000000 +0100
+@@ -79,7 +79,7 @@
+ # tslib touchscreen driver
+ AC_CHECK_HEADERS([tslib.h])
+
+-REQUIRED_MODULES="randr render fixesext damageext xextensions xfont xproto xtrans xau"
++REQUIRED_MODULES="randrproto renderproto fixesproto damageproto xextproto xfont xproto xtrans xau"
+
+ DEFAULT_FONT_PATH="/usr/lib/X11/fonts/misc,/usr/lib/X11/fonts/100dpi,/usr/lib/X11/fonts/75dpi"
+ DEFAULT_VENDOR_STRING="freedesktop.org"
+--- xserver.orig/dix/dispatch.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/dix/dispatch.c 2006-03-11 16:30:59.000000000 +0100
+@@ -79,7 +79,6 @@
+ #endif
+
+ #include "windowstr.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+ #include "gcstruct.h"
+ #include "selection.h"
+--- xserver.orig/dix/glyphcurs.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/dix/glyphcurs.c 2006-03-11 16:31:57.000000000 +0100
+@@ -51,7 +51,6 @@
+ #include <config.h>
+ #endif
+ #include "misc.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+ #include "scrnintstr.h"
+ #include "gcstruct.h"
+--- xserver.orig/dix/main.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/dix/main.c 2006-03-11 16:32:05.000000000 +0100
+@@ -89,7 +89,6 @@
+ #include "colormap.h"
+ #include "colormapst.h"
+ #include "cursorstr.h"
+-#include "font.h"
+ #include "opaque.h"
+ #include "servermd.h"
+ #include "site.h"
+--- xserver.orig/dix/swaprep.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/dix/swaprep.c 2006-03-11 16:32:24.000000000 +0100
+@@ -57,7 +57,7 @@
+ #include <X11/Xproto.h>
+ #include "misc.h"
+ #include "dixstruct.h"
+-#include "fontstruct.h"
++#include "dixfont.h"
+ #include "scrnintstr.h"
+ #include "swaprep.h"
+ #include "globals.h"
+--- xserver.orig/dix/xpstubs.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/dix/xpstubs.c 2006-03-11 16:32:34.000000000 +0100
+@@ -31,7 +31,7 @@
+ #include <config.h>
+ #endif
+ #include "misc.h"
+-#include "font.h"
++#include "dixfont.h"
+
+ Bool
+ XpClientIsBitmapClient(ClientPtr client)
+--- xserver.orig/fb/fbglyph.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/fb/fbglyph.c 2006-03-11 16:52:01.000000000 +0100
+@@ -26,7 +26,6 @@
+ #include <config.h>
+ #endif
+ #include "fb.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+
+ Bool
+--- xserver.orig/hw/kdrive/epson/epson13806draw.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/hw/kdrive/epson/epson13806draw.c 2006-03-11 16:34:56.000000000 +0100
+@@ -38,7 +38,6 @@
+ #include "pixmapstr.h"
+ #include "regionstr.h"
+ #include "mistruct.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+ #include "fb.h"
+ #include "migc.h"
+--- xserver.orig/hw/kdrive/i810/i810draw.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/hw/kdrive/i810/i810draw.c 2006-03-11 16:34:41.000000000 +0100
+@@ -51,7 +51,6 @@
+ #include "pixmapstr.h"
+ #include "regionstr.h"
+ #include "mistruct.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+ #include "fb.h"
+ #include "migc.h"
+--- xserver.orig/hw/kdrive/src/kaa.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/hw/kdrive/src/kaa.c 2006-03-11 16:35:39.000000000 +0100
+@@ -29,7 +29,6 @@
+ #endif
+ #include "kdrive.h"
+ #include "kaa.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+
+ #define DEBUG_MIGRATE 0
+--- xserver.orig/include/dixfont.h 2006-03-11 16:27:42.000000000 +0100
++++ xserver/include/dixfont.h 2006-03-11 16:43:25.000000000 +0100
+@@ -27,10 +27,10 @@
+ #define DIXFONT_H 1
+
+ #include "dix.h"
+-#include "font.h"
+-#include "fontconf.h"
++#include <X11/fonts/font.h>
++#include <X11/fonts/fontconf.h>
+ #include "closure.h"
+-#include "fontstruct.h"
++#include <X11/fonts/fontstruct.h>
+
+ #define NullDIXFontProp ((DIXFontPropPtr)0)
+
+--- xserver.orig/include/dixfontstr.h 2006-03-11 16:27:42.000000000 +0100
++++ xserver/include/dixfontstr.h 2006-03-11 16:43:31.000000000 +0100
+@@ -27,7 +27,6 @@
+
+ #include "servermd.h"
+ #include "dixfont.h"
+-#include "fontstruct.h"
+ #include "closure.h"
+ #define NEED_REPLIES
+ #include "X11/Xproto.h" /* for xQueryFontReply */
+--- xserver.orig/mi/mibstore.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/mi/mibstore.c 2006-03-11 16:36:26.000000000 +0100
+@@ -57,7 +57,6 @@
+ #include "gcstruct.h"
+ #include "windowstr.h"
+ #include "pixmapstr.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+ #include "dixstruct.h" /* For requestingClient */
+ #include "mi.h"
+--- xserver.orig/mi/miglblt.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/mi/miglblt.c 2006-03-11 16:53:52.000000000 +0100
+@@ -55,7 +55,6 @@
+ #include <X11/Xmd.h>
+ #include <X11/Xproto.h>
+ #include "misc.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+ #include "gcstruct.h"
+ #include "windowstr.h"
+--- xserver.orig/mi/mi.h 2006-03-11 16:27:42.000000000 +0100
++++ xserver/mi/mi.h 2006-03-11 16:36:16.000000000 +0100
+@@ -54,7 +54,7 @@
+ #include "validate.h"
+ #include "window.h"
+ #include "gc.h"
+-#include "font.h"
++#include "dixfont.h"
+ #include "input.h"
+ #include "cursor.h"
+
+--- xserver.orig/mi/miinitext.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/mi/miinitext.c 2006-03-11 16:36:41.000000000 +0100
+@@ -54,6 +54,8 @@
+ #include "extension.h"
+ #include "micmap.h"
+ #include "xext.h"
++#include "pixmap.h"
++#include "gc.h"
+
+ #ifdef NOPEXEXT /* sleaze for Solaris cpp building XsunMono */
+ #undef PEXEXT
+--- xserver.orig/mi/mipolytext.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/mi/mipolytext.c 2006-03-11 16:36:48.000000000 +0100
+@@ -63,7 +63,6 @@
+ #include <X11/Xproto.h>
+ #include "misc.h"
+ #include "gcstruct.h"
+-#include "fontstruct.h"
+ #include "dixfontstr.h"
+ #include "mi.h"
+
+--- xserver.orig/mi/misprite.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/mi/misprite.c 2006-03-11 16:37:00.000000000 +0100
+@@ -42,7 +42,6 @@
+ # include "input.h"
+ # include "mi.h"
+ # include "cursorstr.h"
+-# include "font.h"
+ # include "scrnintstr.h"
+ # include "colormapst.h"
+ # include "windowstr.h"
+@@ -50,7 +49,6 @@
+ # include "mipointer.h"
+ # include "mispritest.h"
+ # include "dixfontstr.h"
+-# include "fontstruct.h"
+ #ifdef RENDER
+ # include "mipict.h"
+ #endif
+--- xserver.orig/miext/damage/damage.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/damage/damage.c 2006-03-11 16:37:17.000000000 +0100
+@@ -28,9 +28,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/miext/shadow/shadow.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/shadow/shadow.c 2006-03-11 16:38:13.000000000 +0100
+@@ -29,9 +29,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/miext/shadow/shalloc.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/shadow/shalloc.c 2006-03-11 16:38:25.000000000 +0100
+@@ -29,9 +29,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/miext/shadow/shpacked.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/shadow/shpacked.c 2006-03-11 16:38:33.000000000 +0100
+@@ -28,9 +28,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/miext/shadow/shplanar8.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/shadow/shplanar8.c 2006-03-11 16:38:44.000000000 +0100
+@@ -28,9 +28,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/miext/shadow/shplanar.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/shadow/shplanar.c 2006-03-11 16:38:39.000000000 +0100
+@@ -28,9 +28,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/miext/shadow/shrotate.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/shadow/shrotate.c 2006-03-11 16:38:56.000000000 +0100
+@@ -28,9 +28,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/miext/shadow/shrotpack.h 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/shadow/shrotpack.h 2006-03-11 16:39:02.000000000 +0100
+@@ -30,9 +30,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/miext/shadow/shrotpackYX.h 2006-03-11 16:27:42.000000000 +0100
++++ xserver/miext/shadow/shrotpackYX.h 2006-03-11 16:39:08.000000000 +0100
+@@ -25,9 +25,7 @@
+ #include <X11/X.h>
+ #include "scrnintstr.h"
+ #include "windowstr.h"
+-#include "font.h"
+ #include "dixfontstr.h"
+-#include "fontstruct.h"
+ #include "mi.h"
+ #include "regionstr.h"
+ #include "globals.h"
+--- xserver.orig/os/xstrans.c 2006-03-11 16:27:42.000000000 +0100
++++ xserver/os/xstrans.c 2006-03-11 16:39:31.000000000 +0100
+@@ -27,4 +27,4 @@
+
+ #include "config.h"
+
+-#include <transport.c>
++#include <X11/Xtrans/transport.c>
+--- xserver.orig/os/xstrans.h 2006-03-11 16:27:42.000000000 +0100
++++ xserver/os/xstrans.h 2006-03-11 16:39:37.000000000 +0100
+@@ -25,4 +25,4 @@
+ #define XSERV_t
+ #define TRANS_SERVER
+
+-#include <Xtrans.h>
++#include <X11/Xtrans/Xtrans.h>
+--- xserver.orig/Xext/shmint.h 2006-03-11 16:27:42.000000000 +0100
++++ xserver/Xext/shmint.h 2006-03-11 16:29:24.000000000 +0100
+@@ -32,27 +32,6 @@
+ #include "pixmap.h"
+ #include "gc.h"
+
+-typedef struct _ShmFuncs {
+- PixmapPtr (* CreatePixmap)(ScreenPtr pScreen,
+- int width,
+- int height,
+- int depth,
+- char *addr);
+- void (* PutImage)(DrawablePtr dst,
+- GCPtr pGC,
+- int depth,
+- unsigned int format,
+- int w,
+- int h,
+- int sx,
+- int sy,
+- int sw,
+- int sh,
+- int dx,
+- int dy,
+- char *data);
+-} ShmFuncs, *ShmFuncsPtr;
+-
+ void
+ ShmRegisterFuncs(ScreenPtr pScreen, ShmFuncsPtr funcs);
+
+--- xserver.orig/Xext/syncint.h 2006-03-11 16:27:42.000000000 +0100
++++ xserver/Xext/syncint.h 2006-03-11 16:30:16.000000000 +0100
+@@ -48,7 +48,7 @@
+ PERFORMANCE OF THIS SOFTWARE.
+
+ ******************************************************************/
+-/* $Id: syncint.h,v 3.1 2003-11-02 19:56:10 keithp Exp $ */
++/* $Id: syncint.h,v 3.2 2005-04-20 18:42:31 clee Exp $ */
+
+ #ifndef _SYNCINT_H_
+ #define _SYNCINT_H_
+@@ -57,26 +57,10 @@
+
+ #define CARD64 XSyncValue /* XXX temporary! need real 64 bit values for Alpha */
+
+-typedef struct _SyncCounter {
+- ClientPtr client; /* Owning client. 0 for system counters */
+- XSyncCounter id; /* resource ID */
+- CARD64 value; /* counter value */
+- struct _SyncTriggerList *pTriglist; /* list of triggers */
+- Bool beingDestroyed; /* in process of going away */
+- struct _SysCounterInfo *pSysCounterInfo; /* NULL if not a system counter */
+-} SyncCounter;
+-
+ /*
+ * The System Counter interface
+ */
+
+-typedef enum {
+- XSyncCounterNeverChanges,
+- XSyncCounterNeverIncreases,
+- XSyncCounterNeverDecreases,
+- XSyncCounterUnrestricted
+-} SyncCounterType;
+-
+ typedef void
+ (*SyncQueryValueProcPtr) (pointer pCounter,
+ CARD64 *freshvalue);
+@@ -86,16 +70,6 @@
+ CARD64 *lessthan,
+ CARD64 *greaterthan);
+
+-typedef struct _SysCounterInfo {
+- char *name;
+- CARD64 resolution;
+- CARD64 bracket_greater;
+- CARD64 bracket_less;
+- SyncCounterType counterType; /* how can this counter change */
+- SyncQueryValueProcPtr QueryValue;
+- SyncBracketValuesProcPtr BracketValues;
+-} SysCounterInfo;
+-
+ struct _SyncTrigger;
+
+ typedef Bool
+@@ -108,55 +82,6 @@
+ typedef void
+ (*SyncCounterDestroyedProcPtr) (struct _SyncTrigger *pTrigger);
+
+-typedef struct _SyncTrigger {
+- SyncCounter *pCounter;
+- CARD64 wait_value; /* wait value */
+- unsigned int value_type; /* Absolute or Relative */
+- unsigned int test_type; /* transition or Comparision type */
+- CARD64 test_value; /* trigger event threshold value */
+- SyncCheckTriggerProcPtr CheckTrigger;
+- SyncTriggerFiredProcPtr TriggerFired;
+- SyncCounterDestroyedProcPtr CounterDestroyed;
+-} SyncTrigger;
+-
+-typedef struct _SyncTriggerList {
+- SyncTrigger *pTrigger;
+- struct _SyncTriggerList *next;
+-} SyncTriggerList;
+-
+-typedef struct _SyncAlarmClientList {
+- ClientPtr client;
+- XID delete_id;
+- struct _SyncAlarmClientList *next;
+-} SyncAlarmClientList;
+-
+-typedef struct _SyncAlarm {
+- SyncTrigger trigger;
+- ClientPtr client;
+- XSyncAlarm alarm_id;
+- CARD64 delta;
+- int events;
+- int state;
+- SyncAlarmClientList *pEventClients;
+-} SyncAlarm;
+-
+-typedef struct {
+- ClientPtr client;
+- CARD32 delete_id;
+- int num_waitconditions;
+-} SyncAwaitHeader;
+-
+-typedef struct {
+- SyncTrigger trigger;
+- CARD64 event_threshold;
+- SyncAwaitHeader *pHeader;
+-} SyncAwait;
+-
+-typedef union {
+- SyncAwaitHeader header;
+- SyncAwait await;
+-} SyncAwaitUnion;
+-
+ pointer
+ SyncCreateSystemCounter(char *name,
+ CARD64 inital_value,
diff --git a/meta/packages/xserver/xserver-kdrive/devfs.patch b/meta/packages/xserver/xserver-kdrive/devfs.patch
new file mode 100644
index 0000000000..a6238126c0
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/devfs.patch
@@ -0,0 +1,47 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xserver/hw/kdrive/linux/linux.c~devfs
++++ xserver/hw/kdrive/linux/linux.c
+@@ -82,10 +82,10 @@
+ vtno = kdVirtualTerminal;
+ else
+ {
+- if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0)
++ if ((fd = open("/dev/vc/0",O_WRONLY,0)) < 0)
+ {
+ FatalError(
+- "LinuxInit: Cannot open /dev/tty0 (%s)\n",
++ "LinuxInit: Cannot open /dev/tty/0 (%s)\n",
+ strerror(errno));
+ }
+ if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) ||
+@@ -96,7 +96,7 @@
+ }
+ close(fd);
+
+- sprintf(vtname,"/dev/tty%d",vtno); /* /dev/tty1-64 */
++ sprintf(vtname,"/dev/vc/%d",vtno); /* /dev/tty1-64 */
+
+ if ((LinuxConsoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) < 0)
+ {
+@@ -113,7 +113,7 @@
+ *
+ * Why is this needed?
+ */
+- LinuxCheckChown ("/dev/tty0");
++ LinuxCheckChown ("/dev/vc/0");
+ /*
+ * Linux doesn't switch to an active vt after the last close of a vt,
+ * so we do this ourselves by remembering which is active now.
+@@ -453,7 +453,7 @@
+ activeVT = -1;
+ }
+ close(LinuxConsoleFd); /* make the vt-manager happy */
+- fd = open ("/dev/tty0", O_RDWR|O_NDELAY, 0);
++ fd = open ("/dev/vc/0", O_RDWR|O_NDELAY, 0);
+ if (fd >= 0)
+ {
+ memset (&vts, '\0', sizeof (vts)); /* valgrind */
diff --git a/meta/packages/xserver/xserver-kdrive/disable-apm.patch b/meta/packages/xserver/xserver-kdrive/disable-apm.patch
new file mode 100644
index 0000000000..bd8842721b
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/disable-apm.patch
@@ -0,0 +1,20 @@
+--- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000
++++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000
+@@ -342,7 +342,7 @@
+ /*
+ * Open the APM driver
+ */
+- LinuxApmFd = open ("/dev/apm_bios", 2);
++ /*LinuxApmFd = open ("/dev/apm_bios", 2);
+ if (LinuxApmFd < 0 && errno == ENOENT)
+ LinuxApmFd = open ("/dev/misc/apm_bios", 2);
+ if (LinuxApmFd >= 0)
+@@ -352,7 +352,7 @@
+ RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0);
+ AddEnabledDevice (LinuxApmFd);
+ }
+-
++ */
+ /*
+ * now get the VT
+ */
diff --git a/meta/packages/xserver/xserver-kdrive/epson.patch b/meta/packages/xserver/xserver-kdrive/epson.patch
new file mode 100644
index 0000000000..07009bdc40
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/epson.patch
@@ -0,0 +1,11 @@
+--- xserver.orig/hw/kdrive/epson/epson13806stub.c 2004-10-20 10:20:51.000000000 +0200
++++ xserver/hw/kdrive/epson/epson13806stub.c 2005-03-17 14:38:22.000000000 +0100
+@@ -55,7 +55,7 @@
+ {
+ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
+ #ifdef TOUCHSCREEN
+- KdInitTouchScreen (&TsFuncs);
++ KdAddMouseDriver (&TsFuncs);
+ #endif
+ }
+
diff --git a/meta/packages/xserver/xserver-kdrive/faster-rotated.patch b/meta/packages/xserver/xserver-kdrive/faster-rotated.patch
new file mode 100644
index 0000000000..eaf7ddec36
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/faster-rotated.patch
@@ -0,0 +1,241 @@
+Index: xserver/miext/shadow/shrotate.c
+===================================================================
+RCS file: /scratch/openbsd/cvs/XF4/xc/programs/Xserver/miext/shadow/shrotate.c,v
+retrieving revision 1.2
+diff -u -r1.2 shrotate.c
+--- xserver/miext/shadow/shrotate.c 3 Nov 2004 00:09:54 -0000 1.2
++++ xserver/miext/shadow/shrotate.c 20 Sep 2005 23:07:58 -0000
+@@ -45,6 +45,106 @@
+ #define TOP_TO_BOTTOM 2
+ #define BOTTOM_TO_TOP -2
+
++
++static void
++shadowUpdateRotatePackedSubRectangle(shadowBufPtr pBuf,
++ FbBits *shaLine, int shaFirstShift,
++ int shaStepOverX, int shaStepOverY,
++ int shaStepDownX, int shaStepDownY,
++ int shaBpp, FbBits shaMask,
++ ScreenPtr pScreen,
++ int scr_x1, int scr_y,
++ int scr_h, int scr_w,
++ int pixelsPerBits)
++{
++ FbBits *sha;
++ int shaShift;
++ int scr_x;
++ int w;
++
++ /*
++ * Copy the bits, always write across the physical frame buffer
++ * to take advantage of write combining.
++ */
++ while (scr_h--)
++ {
++ int p;
++ FbBits bits;
++ FbBits *win;
++ int i;
++ CARD32 winSize;
++
++ sha = shaLine;
++ shaShift = shaFirstShift;
++ w = scr_w;
++ scr_x = scr_x1 * shaBpp >> FB_SHIFT;
++
++ while (w)
++ {
++ /*
++ * Map some of this line
++ */
++ win = (FbBits *) (*pBuf->window) (pScreen,
++ scr_y,
++ scr_x << 2,
++ SHADOW_WINDOW_WRITE,
++ &winSize,
++ pBuf->closure);
++ i = (winSize >> 2);
++ if (i > w)
++ i = w;
++ w -= i;
++ scr_x += i;
++ /*
++ * Copy the portion of the line mapped
++ */
++ while (i--)
++ {
++ bits = 0;
++ p = pixelsPerBits;
++ /*
++ * Build one word of output from multiple inputs
++ */
++ while (p--)
++ {
++ bits = FbScrLeft(bits, shaBpp);
++ bits |= FbScrRight (*sha, shaShift) & shaMask;
++
++ shaShift -= shaStepOverX;
++ if (shaShift >= FB_UNIT)
++ {
++ shaShift -= FB_UNIT;
++ sha--;
++ }
++ else if (shaShift < 0)
++ {
++ shaShift += FB_UNIT;
++ sha++;
++ }
++ sha += shaStepOverY;
++ }
++ *win++ = bits;
++ }
++ }
++ scr_y++;
++ shaFirstShift -= shaStepDownX;
++ if (shaFirstShift >= FB_UNIT)
++ {
++ shaFirstShift -= FB_UNIT;
++ shaLine--;
++ }
++ else if (shaFirstShift < 0)
++ {
++ shaFirstShift += FB_UNIT;
++ shaLine++;
++ }
++ shaLine += shaStepDownY;
++ }
++}
++
++#define BLOCKSIZE_HEIGHT 32
++#define BLOCKSIZE_WIDTH 32
++
+ void
+ shadowUpdateRotatePacked (ScreenPtr pScreen,
+ shadowBufPtr pBuf)
+@@ -61,7 +161,6 @@
+ int sha_x1 = 0, sha_y1 = 0;
+ int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h;
+ int scr_x, scr_y;
+- int w;
+ int pixelsPerBits;
+ int pixelsMask;
+ FbStride shaStepOverY = 0, shaStepDownY = 0;
+@@ -221,86 +320,46 @@
+ ((sha_x1 * shaBpp) >> FB_SHIFT));
+
+ /*
+- * Copy the bits, always write across the physical frame buffer
+- * to take advantage of write combining.
++ * Copy in blocks of size BLOCKSIZE_WIDTH x BLOCKSIZE_HEIGHT
++ * to reduce the number of cache misses when rotating 90 or
++ * 270 degrees.
+ */
+- while (scr_h--)
++ for (scr_y = scr_y1; scr_y < scr_y2; scr_y += BLOCKSIZE_HEIGHT)
+ {
+- int p;
+- FbBits bits;
+- FbBits *win;
+- int i;
+- CARD32 winSize;
+-
+ sha = shaLine;
+ shaShift = shaFirstShift;
+- w = scr_w;
+- scr_x = scr_x1 * shaBpp >> FB_SHIFT;
+
+- while (w)
++ for (scr_x = scr_x1; scr_x < scr_x2; scr_x += BLOCKSIZE_WIDTH)
+ {
+- /*
+- * Map some of this line
+- */
+- win = (FbBits *) (*pBuf->window) (pScreen,
+- scr_y,
+- scr_x << 2,
+- SHADOW_WINDOW_WRITE,
+- &winSize,
+- pBuf->closure);
+- i = (winSize >> 2);
+- if (i > w)
+- i = w;
+- w -= i;
+- scr_x += i;
+- /*
+- * Copy the portion of the line mapped
+- */
+- while (i--)
+- {
+- bits = 0;
+- p = pixelsPerBits;
+- /*
+- * Build one word of output from multiple inputs
+- *
+- * Note that for 90/270 rotations, this will walk
+- * down the shadow hitting each scanline once.
+- * This is probably not very efficient.
+- */
+- while (p--)
+- {
+- bits = FbScrLeft(bits, shaBpp);
+- bits |= FbScrRight (*sha, shaShift) & shaMask;
++ int h = BLOCKSIZE_HEIGHT;
++ int w = BLOCKSIZE_WIDTH;
+
+- shaShift -= shaStepOverX;
+- if (shaShift >= FB_UNIT)
+- {
+- shaShift -= FB_UNIT;
+- sha--;
+- }
+- else if (shaShift < 0)
+- {
+- shaShift += FB_UNIT;
+- sha++;
+- }
+- sha += shaStepOverY;
+- }
+- *win++ = bits;
+- }
+- }
+- scr_y++;
+- shaFirstShift -= shaStepDownX;
+- if (shaFirstShift >= FB_UNIT)
+- {
+- shaFirstShift -= FB_UNIT;
+- shaLine--;
+- }
+- else if (shaFirstShift < 0)
+- {
+- shaFirstShift += FB_UNIT;
+- shaLine++;
++ if (scr_y + h > scr_y2)
++ h = scr_y2 - scr_y;
++ if (scr_x + w > scr_x2)
++ w = scr_x2 - scr_x;
++ w = (w * shaBpp) >> FB_SHIFT;
++
++ shadowUpdateRotatePackedSubRectangle
++ (pBuf,
++ sha, shaShift,
++ shaStepOverX, shaStepOverY,
++ shaStepDownX, shaStepDownY,
++ shaBpp, shaMask,
++ pScreen,
++ scr_x, scr_y,
++ h, w,
++ pixelsPerBits);
++
++ shaShift -= BLOCKSIZE_WIDTH * shaStepOverX;
++ sha += BLOCKSIZE_WIDTH * shaStepOverY;
++ sha -= (shaShift >> FB_SHIFT);
++ shaShift &= FB_MASK;
+ }
+- shaLine += shaStepDownY;
++ shaFirstShift -= BLOCKSIZE_HEIGHT * shaStepDownX;
++ shaLine += BLOCKSIZE_HEIGHT * shaStepDownY;
++ shaLine -= (shaFirstShift >> FB_SHIFT);
++ shaFirstShift &= FB_MASK;
+ }
+ }
+ }
diff --git a/meta/packages/xserver/xserver-kdrive/fbdev-not-fix.patch b/meta/packages/xserver/xserver-kdrive/fbdev-not-fix.patch
new file mode 100644
index 0000000000..f87e7cc2cd
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/fbdev-not-fix.patch
@@ -0,0 +1,14 @@
+--- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100
++++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000
+@@ -198,6 +198,11 @@
+ return FALSE;
+ }
+
++ /* Re-get the "fixed" parameters since they might have changed */
++ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix);
++ if (k < 0)
++ perror ("FBIOGET_FSCREENINFO");
++
+ /* Now get the new screeninfo */
+ ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var);
+ depth = priv->var.bits_per_pixel;
diff --git a/meta/packages/xserver/xserver-kdrive/kdrive-evdev.patch b/meta/packages/xserver/xserver-kdrive/kdrive-evdev.patch
new file mode 100644
index 0000000000..2dc22bf50e
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/kdrive-evdev.patch
@@ -0,0 +1,515 @@
+# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at
+# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html
+diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/linux/evdev.c xserver/hw/kdrive/linux/evdev.c
+--- xserver.original/hw/kdrive/linux/evdev.c 2005-12-16 10:36:05.000000000 -0200
++++ xserver/hw/kdrive/linux/evdev.c 2005-12-16 10:40:51.077410192 -0200
+@@ -31,9 +31,11 @@
+ #include <X11/X.h>
+ #include <X11/Xproto.h>
+ #include <X11/Xpoll.h>
++#include <X11/keysym.h>
+ #include "inputstr.h"
+ #include "scrnintstr.h"
+ #include "kdrive.h"
++#include "kkeymap.h"
+
+ #define NUM_EVENTS 128
+ #define ABS_UNSET -65535
+@@ -105,9 +107,10 @@
+ {
+ KdMouseInfo *mi = closure;
+ Kevdev *ke = mi->driver;
+- int i;
++ int i, j;
+ struct input_event events[NUM_EVENTS];
+ int n;
++ int flags;
+
+ n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event));
+ if (n <= 0)
+@@ -115,22 +118,64 @@
+ n /= sizeof (struct input_event);
+ for (i = 0; i < n; i++)
+ {
++ flags = KD_MOUSE_DELTA | kdMouseInfo->buttonState;
+ switch (events[i].type) {
+ case EV_SYN:
+ break;
+ case EV_KEY:
+- EvdevMotion (mi);
+- ASSIGNBIT(ke->key,events[i].code, events[i].value);
+- if (events[i].code < 0x100)
+- ErrorF ("key %d %d\n", events[i].code, events[i].value);
+- else
+- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value);
++ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) {
++ switch (events[i].code) {
++ case BTN_LEFT:
++ if (events[i].value == 1)
++ flags |= KD_BUTTON_1;
++ else
++ flags &= ~KD_BUTTON_1;
++ break;
++ case BTN_MIDDLE:
++ if (events[i].value == 1)
++ flags |= KD_BUTTON_2;
++ else
++ flags &= ~KD_BUTTON_2;
++ break;
++ case BTN_RIGHT:
++ if (events[i].value == 1)
++ flags |= KD_BUTTON_3;
++ else
++ flags &= ~KD_BUTTON_3;
++ break;
++ default:
++ /* Unknow button */
++ break;
++ }
++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
++ }
+ break;
+ case EV_REL:
+- ke->rel[events[i].code] += events[i].value;
++ if (events[i].code == REL_X) {
++ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0);
++ }
++ else if (events[i].code == REL_Y) {
++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value);
++ }
++ else if (events[i].code == REL_WHEEL) {
++ for (j = 0; j < abs (events[i].value); j++) {
++ if (events[i].value > 0)
++ flags |= KD_BUTTON_4;
++ else
++ flags |= KD_BUTTON_5;
++
++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
++
++ if (events[i].value > 0)
++ flags &= ~KD_BUTTON_4;
++ else
++ flags &= ~KD_BUTTON_5;
++
++ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0);
++ } /* events[i].code == REL_WHEEL */
++ }
+ break;
+ case EV_ABS:
+- ke->abs[events[i].code] = events[i].value;
+ break;
+ }
+ }
+@@ -173,6 +218,12 @@
+ fd = open (kdefaultEvdev[i], 2);
+ if (fd >= 0)
+ {
++ if (ioctl (fd, EVIOCGRAB, 1) < 0)
++ {
++ close (fd);
++ continue;
++ }
++
+ mi->name = KdSaveString (kdefaultEvdev[i]);
+ break;
+ }
+@@ -287,7 +338,319 @@
+ EvdevFini,
+ };
+
+-#if 0
++/* Keyboard */
++
++int kbd_fd = -1;
++int EvdevInputType = 0;
++
++KeySym evdevKeymap[(194 - 1 + 1) * 2] = {
++/* These are directly mapped from DOS scanset 0 */
++/* 1 8 */ XK_Escape, NoSymbol,
++/* 2 9 */ XK_1, XK_exclam,
++/* 3 10 */ XK_2, XK_at,
++/* 4 11 */ XK_3, XK_numbersign,
++/* 5 12 */ XK_4, XK_dollar,
++/* 6 13 */ XK_5, XK_percent,
++/* 7 14 */ XK_6, XK_asciicircum,
++/* 8 15 */ XK_7, XK_ampersand,
++/* 9 16 */ XK_8, XK_asterisk,
++/* 10 17 */ XK_9, XK_parenleft,
++/* 11 18 */ XK_0, XK_parenright,
++/* 12 19 */ XK_minus, XK_underscore,
++/* 13 20 */ XK_equal, XK_plus,
++/* 14 21 */ XK_BackSpace, NoSymbol,
++/* 15 22 */ XK_Tab, NoSymbol,
++/* 16 23 */ XK_Q, NoSymbol,
++/* 17 24 */ XK_W, NoSymbol,
++/* 18 25 */ XK_E, NoSymbol,
++/* 19 26 */ XK_R, NoSymbol,
++/* 20 27 */ XK_T, NoSymbol,
++/* 21 28 */ XK_Y, NoSymbol,
++/* 22 29 */ XK_U, NoSymbol,
++/* 23 30 */ XK_I, NoSymbol,
++/* 24 31 */ XK_O, NoSymbol,
++/* 25 32 */ XK_P, NoSymbol,
++/* 26 33 */ XK_bracketleft, XK_braceleft,
++/* 27 34 */ XK_bracketright, XK_braceright,
++/* 28 35 */ XK_Return, NoSymbol,
++/* 29 36 */ XK_Control_L, NoSymbol,
++/* 30 37 */ XK_A, NoSymbol,
++/* 31 38 */ XK_S, NoSymbol,
++/* 32 39 */ XK_D, NoSymbol,
++/* 33 40 */ XK_F, NoSymbol,
++/* 34 41 */ XK_G, NoSymbol,
++/* 35 42 */ XK_H, NoSymbol,
++/* 36 43 */ XK_J, NoSymbol,
++/* 37 44 */ XK_K, NoSymbol,
++/* 38 45 */ XK_L, NoSymbol,
++/* 39 46 */ XK_semicolon, XK_colon,
++/* 40 47 */ XK_apostrophe, XK_quotedbl,
++/* 41 48 */ XK_grave, XK_asciitilde,
++/* 42 49 */ XK_Shift_L, NoSymbol,
++/* 43 50 */ XK_backslash, XK_bar,
++/* 44 51 */ XK_Z, NoSymbol,
++/* 45 52 */ XK_X, NoSymbol,
++/* 46 53 */ XK_C, NoSymbol,
++/* 47 54 */ XK_V, NoSymbol,
++/* 48 55 */ XK_B, NoSymbol,
++/* 49 56 */ XK_N, NoSymbol,
++/* 50 57 */ XK_M, NoSymbol,
++/* 51 58 */ XK_comma, XK_less,
++/* 52 59 */ XK_period, XK_greater,
++/* 53 60 */ XK_slash, XK_question,
++/* 54 61 */ XK_Shift_R, NoSymbol,
++/* 55 62 */ XK_KP_Multiply, NoSymbol,
++/* 56 63 */ XK_Alt_L, XK_Meta_L,
++/* 57 64 */ XK_space, NoSymbol,
++/* 58 65 */ XK_Caps_Lock, NoSymbol,
++/* 59 66 */ XK_F1, NoSymbol,
++/* 60 67 */ XK_F2, NoSymbol,
++/* 61 68 */ XK_F3, NoSymbol,
++/* 62 69 */ XK_F4, NoSymbol,
++/* 63 70 */ XK_F5, NoSymbol,
++/* 64 71 */ XK_F6, NoSymbol,
++/* 65 72 */ XK_F7, NoSymbol,
++/* 66 73 */ XK_F8, NoSymbol,
++/* 67 74 */ XK_F9, NoSymbol,
++/* 68 75 */ XK_F10, NoSymbol,
++/* 69 76 */ XK_Break, XK_Pause,
++/* 70 77 */ XK_Scroll_Lock, NoSymbol,
++/* 71 78 */ XK_KP_Home, XK_KP_7,
++/* 72 79 */ XK_KP_Up, XK_KP_8,
++/* 73 80 */ XK_KP_Page_Up, XK_KP_9,
++/* 74 81 */ XK_KP_Subtract, NoSymbol,
++/* 75 82 */ XK_KP_Left, XK_KP_4,
++/* 76 83 */ XK_KP_5, NoSymbol,
++/* 77 84 */ XK_KP_Right, XK_KP_6,
++/* 78 85 */ XK_KP_Add, NoSymbol,
++/* 79 86 */ XK_KP_End, XK_KP_1,
++/* 80 87 */ XK_KP_Down, XK_KP_2,
++/* 81 88 */ XK_KP_Page_Down, XK_KP_3,
++/* 82 89 */ XK_KP_Insert, XK_KP_0,
++/* 83 90 */ XK_KP_Delete, XK_KP_Decimal,
++/* 84 91 */ NoSymbol, NoSymbol,
++/* 85 92 */ NoSymbol, NoSymbol,
++/* 86 93 */ NoSymbol, NoSymbol,
++/* 87 94 */ XK_F11, NoSymbol,
++/* 88 95 */ XK_F12, NoSymbol,
++
++/* These are remapped from the extended set (using ExtendMap) */
++
++/* 89 96 */ XK_Control_R, NoSymbol,
++/* 90 97 */ XK_KP_Enter, NoSymbol,
++/* 91 98 */ XK_KP_Divide, NoSymbol,
++/* 92 99 */ XK_Sys_Req, XK_Print,
++/* 93 100 */ XK_Alt_R, XK_Meta_R,
++/* 94 101 */ XK_Num_Lock, NoSymbol,
++/* 95 102 */ XK_Home, NoSymbol,
++/* 96 103 */ XK_Up, NoSymbol,
++/* 97 104 */ XK_Page_Up, NoSymbol,
++/* 98 105 */ XK_Left, NoSymbol,
++/* 99 106 */ XK_Right, NoSymbol,
++/* 100 107 */ XK_End, NoSymbol,
++/* 101 108 */ XK_Down, NoSymbol,
++/* 102 109 */ XK_Page_Down, NoSymbol,
++/* 103 110 */ XK_Insert, NoSymbol,
++/* 104 111 */ XK_Delete, NoSymbol,
++/* 105 112 */ XK_Super_L, NoSymbol,
++/* 106 113 */ XK_Super_R, NoSymbol,
++/* 107 114 */ XK_Menu, NoSymbol,
++/* 108 115 */ NoSymbol, NoSymbol,
++/* 109 116 */ NoSymbol, NoSymbol,
++/* 110 117 */ NoSymbol, NoSymbol,
++/* 111 118 */ NoSymbol, NoSymbol,
++/* 112 119 */ NoSymbol, NoSymbol,
++
++/* 113 120 */ NoSymbol, NoSymbol,
++/* 114 121 */ NoSymbol, NoSymbol,
++/* 115 122 */ NoSymbol, NoSymbol,
++/* 116 123 */ NoSymbol, NoSymbol,
++/* 117 124 */ NoSymbol, NoSymbol,
++/* 118 125 */ NoSymbol, NoSymbol,
++/* 119 126 */ NoSymbol, NoSymbol,
++/* 120 127 */ NoSymbol, NoSymbol,
++/* 121 128 */ NoSymbol, NoSymbol,
++/* 122 129 */ NoSymbol, NoSymbol,
++/* 123 130 */ NoSymbol, NoSymbol,
++/* 124 131 */ NoSymbol, NoSymbol,
++/* 125 132 */ NoSymbol, NoSymbol,
++/* 126 133 */ NoSymbol, NoSymbol,
++/* 127 134 */ NoSymbol, NoSymbol,
++/* 128 135 */ NoSymbol, NoSymbol,
++/* 129 136 */ NoSymbol, NoSymbol,
++/* 130 137 */ NoSymbol, NoSymbol,
++/* 131 138 */ NoSymbol, NoSymbol,
++/* 132 139 */ NoSymbol, NoSymbol,
++/* 133 140 */ NoSymbol, NoSymbol,
++/* 134 141 */ NoSymbol, NoSymbol,
++/* 135 142 */ NoSymbol, NoSymbol,
++/* 136 143 */ NoSymbol, NoSymbol,
++/* 137 144 */ NoSymbol, NoSymbol,
++/* 138 145 */ NoSymbol, NoSymbol,
++/* 139 146 */ NoSymbol, NoSymbol,
++/* 140 147 */ NoSymbol, NoSymbol,
++/* 141 148 */ NoSymbol, NoSymbol,
++/* 142 149 */ NoSymbol, NoSymbol,
++/* 143 150 */ NoSymbol, NoSymbol,
++/* 144 151 */ NoSymbol, NoSymbol,
++/* 145 152 */ NoSymbol, NoSymbol,
++/* 146 153 */ NoSymbol, NoSymbol,
++/* 147 154 */ NoSymbol, NoSymbol,
++/* 148 155 */ NoSymbol, NoSymbol,
++/* 149 156 */ NoSymbol, NoSymbol,
++/* 150 157 */ NoSymbol, NoSymbol,
++/* 151 158 */ NoSymbol, NoSymbol,
++/* 152 159 */ NoSymbol, NoSymbol,
++/* 153 160 */ NoSymbol, NoSymbol,
++/* 154 161 */ NoSymbol, NoSymbol,
++/* 155 162 */ NoSymbol, NoSymbol,
++/* 156 163 */ NoSymbol, NoSymbol,
++/* 157 164 */ NoSymbol, NoSymbol,
++/* 158 165 */ NoSymbol, NoSymbol,
++/* 159 166 */ NoSymbol, NoSymbol,
++/* 160 167 */ NoSymbol, NoSymbol,
++/* 161 168 */ NoSymbol, NoSymbol,
++/* 162 169 */ NoSymbol, NoSymbol,
++/* 163 170 */ NoSymbol, NoSymbol,
++/* 164 171 */ NoSymbol, NoSymbol,
++/* 165 172 */ NoSymbol, NoSymbol,
++/* 166 173 */ NoSymbol, NoSymbol,
++/* 167 174 */ NoSymbol, NoSymbol,
++/* 168 175 */ NoSymbol, NoSymbol,
++/* 169 176 */ NoSymbol, NoSymbol,
++/* 170 177 */ NoSymbol, NoSymbol,
++/* 171 178 */ NoSymbol, NoSymbol,
++/* 172 179 */ NoSymbol, NoSymbol,
++/* 173 180 */ NoSymbol, NoSymbol,
++/* 174 181 */ NoSymbol, NoSymbol,
++/* 175 182 */ NoSymbol, NoSymbol,
++/* 176 183 */ NoSymbol, NoSymbol,
++/* 177 184 */ NoSymbol, NoSymbol,
++/* 178 185 */ NoSymbol, NoSymbol,
++/* 179 186 */ NoSymbol, NoSymbol,
++/* 180 187 */ NoSymbol, NoSymbol,
++/* 181 188 */ NoSymbol, NoSymbol,
++/* 182 189 */ NoSymbol, NoSymbol,
++/* 183 190 */ NoSymbol, NoSymbol,
++/* 184 191 */ NoSymbol, NoSymbol,
++/* 185 192 */ NoSymbol, NoSymbol,
++/* 186 193 */ NoSymbol, NoSymbol,
++/* 187 194 */ NoSymbol, NoSymbol,
++/* 188 195 */ NoSymbol, NoSymbol,
++/* 189 196 */ NoSymbol, NoSymbol,
++/* 190 197 */ NoSymbol, NoSymbol,
++/* 191 198 */ NoSymbol, NoSymbol,
++/* 192 199 */ NoSymbol, NoSymbol,
++/* 193 200 */ NoSymbol, NoSymbol,
++/* 194 201 */ NoSymbol, NoSymbol,
++};
++
++static void
++EvdevKbdRead (int fd, void *closure)
++{
++ int i, n;
++ struct input_event events[NUM_EVENTS];
++
++ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event));
++ if (n <= 0)
++ return;
++
++ n /= sizeof (struct input_event);
++
++ for (i = 0; i < n; i++)
++ {
++ if (events[i].type == EV_KEY)
++ KdEnqueueKeyboardEvent (events[i].code, !events[i].value);
++ }
++}
++
++static void
++EvdevKbdLoad (void)
++{
++ kdMinScanCode = 0;
++ kdMaxScanCode = 193;
++ kdKeymapWidth = 2;
++ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap));
++}
++
++static int
++EvdevKbdInit (void)
++{
++ int fd, i;
++
++ if (!EvdevInputType)
++ EvdevInputType = KdAllocInputType ();
++
++ if (!kdKeyboard)
++ {
++ for (i = 0; i < NUM_DEFAULT_EVDEV; i++)
++ {
++ fd = open (kdefaultEvdev[i], 2);
++ if (fd >= 0)
++ {
++ kdKeyboard = KdSaveString (kdefaultEvdev[i]);
++ break;
++ }
++ }
++ }
++ else
++ {
++ fd = open (kdKeyboard, O_RDWR);
++ if (fd < 0)
++ return FALSE;
++ }
++
++ if (ioctl (fd, EVIOCGRAB, 1) < 0)
++ {
++ close (fd);
++ return FALSE;
++ }
++
++ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL))
++ return FALSE;
++
++ kbd_fd = fd;
++ return TRUE;
++}
++
++static void
++EvdevKbdFini (void)
++{
++}
++
++static void
++EvdevKbdLeds (int leds)
++{
++ struct input_event event;
++
++ memset(&event, 0, sizeof(event));
++
++ event.type = EV_LED;
++ event.code = LED_CAPSL;
++ event.value = leds & (1 << 0) ? 1 : 0;
++ write(kbd_fd, (char *) &event, sizeof(event));
++
++ event.type = EV_LED;
++ event.code = LED_NUML;
++ event.value = leds & (1 << 1) ? 1 : 0;
++ write(kbd_fd, (char *) &event, sizeof(event));
++
++ event.type = EV_LED;
++ event.code = LED_SCROLLL;
++ event.value = leds & (1 << 2) ? 1 : 0;
++ write(kbd_fd, (char *) &event, sizeof(event));
++
++ event.type = EV_LED;
++ event.code = LED_COMPOSE;
++ event.value = leds & (1 << 3) ? 1 : 0;
++ write(kbd_fd, (char *) &event, sizeof(event));
++}
++
++static void
++EvdevKbdBell (int volume, int frequency, int duration)
++{
++}
++
+ KdKeyboardFuncs LinuxEvdevKeyboardFuncs = {
+ EvdevKbdLoad,
+ EvdevKbdInit,
+@@ -296,4 +659,4 @@
+ EvdevKbdFini,
+ 0,
+ };
+-#endif
++
+diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.c xserver/hw/kdrive/src/kdrive.c
+--- xserver.original/hw/kdrive/src/kdrive.c 2005-12-16 10:36:07.000000000 -0200
++++ xserver/hw/kdrive/src/kdrive.c 2005-12-16 10:37:09.000000000 -0200
+@@ -73,6 +73,7 @@
+ Bool kdEnabled;
+ int kdSubpixelOrder;
+ int kdVirtualTerminal = -1;
++char *kdKeyboard = 0;
+ Bool kdSwitchPending;
+ char *kdSwitchCmd;
+ DDXPointRec kdOrigin;
+@@ -795,6 +796,14 @@
+ UseMsg ();
+ return 2;
+ }
++ if (!strcmp (argv[i], "-keyboard"))
++ {
++ if ((i+1) < argc)
++ kdKeyboard = argv[i+1];
++ else
++ UseMsg ();
++ return 2;
++ }
+ if (!strcmp (argv[i], "-rgba"))
+ {
+ if ((i+1) < argc)
+diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kdrive.h xserver/hw/kdrive/src/kdrive.h
+--- xserver.original/hw/kdrive/src/kdrive.h 2005-12-16 10:36:07.000000000 -0200
++++ xserver/hw/kdrive/src/kdrive.h 2005-12-16 10:37:09.000000000 -0200
+@@ -416,6 +416,7 @@
+ extern Bool kdDisableZaphod;
+ extern Bool kdDontZap;
+ extern int kdVirtualTerminal;
++extern char *kdKeyboard;
+ extern char *kdSwitchCmd;
+ extern KdOsFuncs *kdOsFuncs;
+
+@@ -769,7 +770,7 @@
+ ProcessInputEvents (void);
+
+ extern KdMouseFuncs LinuxMouseFuncs;
+-extern KdMouseFuncs LinuxEvdevFuncs;
++extern KdMouseFuncs LinuxEvdevMouseFuncs;
+ extern KdMouseFuncs Ps2MouseFuncs;
+ extern KdMouseFuncs BusMouseFuncs;
+ extern KdMouseFuncs MsMouseFuncs;
+@@ -777,6 +778,7 @@
+ extern KdMouseFuncs TsFuncs;
+ #endif
+ extern KdKeyboardFuncs LinuxKeyboardFuncs;
++extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs;
+ extern KdOsFuncs LinuxFuncs;
+
+ extern KdMouseFuncs VxWorksMouseFuncs;
+diff -u -r --exclude=CVS --exclude=Makefile --exclude='*.o' --exclude=ephyr --exclude='*.Po' xserver.original/hw/kdrive/src/kinput.c xserver/hw/kdrive/src/kinput.c
+--- xserver.original/hw/kdrive/src/kinput.c 2005-12-16 10:36:07.000000000 -0200
++++ xserver/hw/kdrive/src/kinput.c 2005-12-16 10:37:09.000000000 -0200
+@@ -1300,6 +1300,7 @@
+ xE.u.u.type = KeyPress;
+ xE.u.u.detail = key_code;
+
++#ifndef XKB
+ switch (KEYCOL1(key_code))
+ {
+ case XK_Num_Lock:
+@@ -1313,6 +1314,7 @@
+ else
+ xE.u.u.type = KeyPress;
+ }
++#endif
+
+ /*
+ * Check pressed keys which are already down
diff --git a/meta/packages/xserver/xserver-kdrive/kdrive-use-evdev.patch b/meta/packages/xserver/xserver-kdrive/kdrive-use-evdev.patch
new file mode 100644
index 0000000000..d4f885ee26
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/kdrive-use-evdev.patch
@@ -0,0 +1,53 @@
+--- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100
++++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100
+@@ -28,6 +28,8 @@
+ #endif
+ #include <fbdev.h>
+
++extern int use_evdev;
++
+ void
+ InitCard (char *name)
+ {
+@@ -45,7 +47,10 @@
+ void
+ InitInput (int argc, char **argv)
+ {
+- KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
++ if (use_evdev)
++ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs);
++ else
++ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs);
+ #ifdef TOUCHSCREEN
+ KdAddMouseDriver (&TsFuncs);
+ #endif
+--- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100
++++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100
+@@ -44,6 +44,8 @@
+ #include "dpmsproc.h"
+ #endif
+
++int use_evdev = 0;
++
+ typedef struct _kdDepths {
+ CARD8 depth;
+ CARD8 bpp;
+@@ -687,6 +689,7 @@
+ ErrorF("-videoTest Start the server, pause momentarily and exit\n");
+ ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n");
+ ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n");
++ ErrorF("-use-evdev Use Linux evdev input\n");
+ ErrorF("-switchCmd Command to execute on vt switch\n");
+ ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n");
+ ErrorF("vtxx Use virtual terminal xx instead of the next available\n");
+@@ -796,6 +799,10 @@
+ UseMsg ();
+ return 2;
+ }
++ if (!strcmp (argv[i], "-use-evdev"))
++ {
++ use_evdev = 1;
++ }
+ if (!strcmp (argv[i], "-keyboard"))
+ {
+ if ((i+1) < argc)
diff --git a/meta/packages/xserver/xserver-kdrive/kmode.patch b/meta/packages/xserver/xserver-kdrive/kmode.patch
new file mode 100644
index 0000000000..5ad3e4e277
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/kmode.patch
@@ -0,0 +1,28 @@
+--- /tmp/kmode.c 2005-06-27 14:46:19.716843288 +0200
++++ xserver/hw/kdrive/src/kmode.c 2005-06-27 14:46:30.070269328 +0200
+@@ -41,6 +41,11 @@
+ 1, 11, 14, KdSyncNegative,
+ },
+
++ { 240, 320, 64, 0,
++ 0, 0, 0, KdSyncNegative,
++ 0, 0, 0, KdSyncNegative,
++ },
++
+ /* Other VESA modes */
+ { 640, 350, 85, 31500, /* VESA */
+ 32, 96, 192, KdSyncPositive, /* 26.413 */
+@@ -80,6 +85,13 @@
+ 16, 48, 160, KdSyncNegative, /* 31.469 */
+ 10, 33, 45, KdSyncNegative, /* 59.940 */
+ },
++
++
++ { 480, 640, 60, 0, /* VESA */
++ 0, 0, 0, KdSyncNegative, /* 31.469 */
++ 0, 0, 0, KdSyncNegative, /* 59.940 */
++ },
++
+
+ /* 800x600 modes */
+ { 800, 600, 85, 56250, /* VESA */
diff --git a/meta/packages/xserver/xserver-kdrive/no-serial-probing.patch b/meta/packages/xserver/xserver-kdrive/no-serial-probing.patch
new file mode 100644
index 0000000000..35ccadaa8d
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/no-serial-probing.patch
@@ -0,0 +1,13 @@
+--- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700
++++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700
+@@ -927,8 +927,10 @@ char *kdefaultMouse[] = {
+ "/dev/psaux",
+ "/dev/input/mice",
+ "/dev/adbmouse",
++#ifdef BREAK_MY_SERIAL_CONSOLE
+ "/dev/ttyS0",
+ "/dev/ttyS1",
++#endif
+ };
+
+ #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0]))
diff --git a/meta/packages/xserver/xserver-kdrive/onlyfb.patch b/meta/packages/xserver/xserver-kdrive/onlyfb.patch
new file mode 100644
index 0000000000..e773324981
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/onlyfb.patch
@@ -0,0 +1,21 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xserver/hw/kdrive/Makefile.am~onlyfb
++++ xserver/hw/kdrive/Makefile.am
+@@ -17,12 +17,4 @@
+ SUBDIRS = \
+ src \
+ linux \
+- $(XSDL_SUBDIRS) \
+- $(FBDEV_SUBDIRS) \
+- $(VESA_SUBDIRS) \
+- $(XEPHYR_SUBDIRS) \
+- ati \
+- fake \
+- ephyr \
+- i810 \
+- epson
++ $(FBDEV_SUBDIRS)
diff --git a/meta/packages/xserver/xserver-kdrive/xserver-kdrive-poodle.patch b/meta/packages/xserver/xserver-kdrive/xserver-kdrive-poodle.patch
new file mode 100644
index 0000000000..ce80a7e389
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive/xserver-kdrive-poodle.patch
@@ -0,0 +1,44 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xserver/hw/kdrive/fbdev/fbdev.c~xserver-kdrive-poodle.patch
++++ xserver/hw/kdrive/fbdev/fbdev.c
+@@ -190,6 +190,7 @@
+ var.nonstd = 0;
+ var.grayscale = 0;
+
++ /* commented out for poodle
+ k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &var);
+
+ if (k < 0)
+@@ -198,10 +199,11 @@
+ return FALSE;
+ }
+
+- /* Re-get the "fixed" parameters since they might have changed */
++ // Re-get the "fixed" parameters since they might have changed
+ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix);
+ if (k < 0)
+ perror ("FBIOGET_FSCREENINFO");
++ */
+
+ /* Now get the new screeninfo */
+ ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var);
+@@ -659,13 +661,14 @@
+ priv->var.activate = FB_ACTIVATE_NOW|FB_CHANGE_CMAP_VBL;
+
+ /* display it on the LCD */
++ /* commented out for poodle
+ k = ioctl (priv->fd, FBIOPUT_VSCREENINFO, &priv->var);
+ if (k < 0)
+ {
+ perror ("FBIOPUT_VSCREENINFO");
+ return FALSE;
+ }
+-
++ */
+ if (priv->fix.visual == FB_VISUAL_DIRECTCOLOR)
+ {
+ struct fb_cmap cmap;
diff --git a/meta/packages/xserver/xserver-kdrive_20050207.bb b/meta/packages/xserver/xserver-kdrive_20050207.bb
new file mode 100644
index 0000000000..32fdb82146
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive_20050207.bb
@@ -0,0 +1,74 @@
+PV = "0.0+cvs${FIXEDSRCDATE}"
+FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
+DEFAULT_PREFERENCE = "1"
+
+LICENSE = "MIT"
+DEPENDS = "tslib xproto libxdmcp xextensions-1.0.1 xtrans libxau libx11 libxext libxrandr fixesext damageext libxfont resourceext compositeext xcalibrateext recordext"
+
+# Uncomment the following DEPENDS line and the commented line in SRC_URI
+# to make this snapshot build against X11R7.0 xlibs.
+#DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto"
+
+PROVIDES = "virtual/xserver"
+RPROVIDES = "virtual/xserver"
+PACKAGES = "xserver-kdrive-mach64 xserver-kdrive-fbdev xserver-kdrive-vesa xserver-kdrive-mga xserver-kdrive-via xserver-kdrive-ati xserver-kdrive-fake xserver-kdrive-i810 xserver-kdrive-xephyr xserver-kdrive-epson ${PN}-doc ${PN}-dev ${PN}-locale"
+SECTION = "x11/base"
+DESCRIPTION = "X server from freedesktop.org"
+DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting i810 devices"
+DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
+DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting MGA devices"
+DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting generic VESA devices"
+DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting Mach64 devices"
+DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA CLE266 devices"
+DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
+DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
+DESCRIPTION_xserver-kdrive-fake = "Fake X server"
+DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
+
+PR = "r10"
+
+FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
+FILES_xserver-kdrive-ati = "${bindir}/Xati"
+FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
+FILES_xserver-kdrive-via = "${bindir}/Xvia"
+FILES_xserver-kdrive-mga = "${bindir}/Xmga"
+FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
+FILES_xserver-kdrive-fake = "${bindir}/Xfake"
+FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
+FILES_xserver-kdrive-epson = "${bindir}/Xepson"
+FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xserver;module=xserver;date=${FIXEDSRCDATE} \
+# file://build-20050207-against-X11R7.diff;patch=1 \
+ file://kmode.patch;patch=1 \
+ file://disable-apm.patch;patch=1 \
+ file://fbdev-not-fix.patch;patch=1 "
+
+SRC_URI_h3600 = "${FREEDESKTOP_CVS}/xserver;module=xserver;date=${FIXEDSRCDATE} \
+ file://kmode.patch;patch=1 \
+ file://faster-rotated.patch;patch=1 \
+ file://fbdev-not-fix.patch;patch=1 "
+
+
+SRC_URI_append_mnci = " file://onlyfb.patch;patch=1 \
+ file://faster-rotated.patch;patch=1 \
+ file://devfs.patch;patch=1"
+SRC_URI_append_collie = " file://faster-rotated.patch;patch=1"
+SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1 \
+ file://faster-rotated.patch;patch=1"
+SRC_URI_append_spitz = " file://faster-rotated.patch;patch=1"
+SRC_URI_append_akita = " file://faster-rotated.patch;patch=1"
+
+PACKAGE_ARCH_mnci = "mnci"
+PACKAGE_ARCH_collie = "collie"
+PACKAGE_ARCH_poodle = "poodle"
+PACKAGE_ARCH_h3600 = "h3600"
+PACKAGE_ARCH_spitz = "spitz"
+PACKAGE_ARCH_akita = "akita"
+
+S = "${WORKDIR}/xserver"
+
+inherit autotools pkgconfig
+
+LDFLAGS += " -lXfont -lXdmcp -lXau "
+EXTRA_OECONF = "--enable-static=no --disable-static --enable-composite --disable-xinerama"
diff --git a/meta/packages/xserver/xserver-kdrive_20050624.bb b/meta/packages/xserver/xserver-kdrive_20050624.bb
new file mode 100644
index 0000000000..c2e44f7837
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive_20050624.bb
@@ -0,0 +1,49 @@
+PV = "0.0+cvs${FIXEDSRCDATE}"
+FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
+
+LICENSE = "MIT"
+DEPENDS = "tslib xproto libxdmcp xextensions xtrans libxau libx11 libxext libxrandr fixesext damageext libxfont resourceext compositeext xcalibrateext recordext"
+PROVIDES = "virtual/xserver"
+RPROVIDES = "virtual/xserver"
+PACKAGES = "xserver-kdrive-mach64 xserver-kdrive-fbdev xserver-kdrive-vesa xserver-kdrive-mga xserver-kdrive-via xserver-kdrive-ati xserver-kdrive-fake xserver-kdrive-i810 xserver-kdrive-xephyr xserver-kdrive-epson ${PN}-doc ${PN}-dev ${PN}-locale"
+SECTION = "x11/base"
+DESCRIPTION = "X server from freedesktop.org"
+DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting i810 devices"
+DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
+DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting MGA devices"
+DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting generic VESA devices"
+DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting Mach64 devices"
+DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA CLE266 devices"
+DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
+DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
+DESCRIPTION_xserver-kdrive-fake = "Fake X server"
+DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
+
+PR = "r12"
+
+FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
+FILES_xserver-kdrive-ati = "${bindir}/Xati"
+FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
+FILES_xserver-kdrive-via = "${bindir}/Xvia"
+FILES_xserver-kdrive-mga = "${bindir}/Xmga"
+FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
+FILES_xserver-kdrive-fake = "${bindir}/Xfake"
+FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
+FILES_xserver-kdrive-epson = "${bindir}/Xepson"
+FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xserver;module=xserver;date=${FIXEDSRCDATE} \
+ file://kmode.patch;patch=1 \
+ file://no-serial-probing.patch;patch=1 \
+ file://fbdev-not-fix.patch;patch=1"
+
+SRC_URI_append_mnci = " file://onlyfb.patch;patch=1"
+SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
+PACKAGE_ARCH_poodle = "poodle"
+
+
+S = "${WORKDIR}/xserver"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-composite --disable-xinerama"
diff --git a/meta/packages/xserver/xserver-kdrive_20060312.bb b/meta/packages/xserver/xserver-kdrive_20060312.bb
new file mode 100644
index 0000000000..e5101a3579
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive_20060312.bb
@@ -0,0 +1,52 @@
+PV = "0.0+cvs${FIXEDSRCDATE}"
+FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
+DEFAULT_PREFERENCE = "1"
+
+LICENSE = "MIT"
+DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
+PROVIDES = "virtual/xserver"
+RPROVIDES = "virtual/xserver"
+PACKAGES = "xserver-kdrive-mach64 xserver-kdrive-fbdev xserver-kdrive-vesa xserver-kdrive-mga xserver-kdrive-via xserver-kdrive-ati xserver-kdrive-fake xserver-kdrive-i810 xserver-kdrive-xephyr xserver-kdrive-epson ${PN}-doc ${PN}-dev ${PN}-locale"
+SECTION = "x11/base"
+DESCRIPTION = "X server from freedesktop.org"
+DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting i810 devices"
+DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
+DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting MGA devices"
+DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting generic VESA devices"
+DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting Mach64 devices"
+DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA CLE266 devices"
+DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
+DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
+DESCRIPTION_xserver-kdrive-fake = "Fake X server"
+DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
+
+PR = "r11"
+
+FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
+FILES_xserver-kdrive-ati = "${bindir}/Xati"
+FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
+FILES_xserver-kdrive-via = "${bindir}/Xvia"
+FILES_xserver-kdrive-mga = "${bindir}/Xmga"
+FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
+FILES_xserver-kdrive-fake = "${bindir}/Xfake"
+FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
+FILES_xserver-kdrive-epson = "${bindir}/Xepson"
+FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xserver;module=xserver \
+ file://kmode.patch;patch=1 \
+ file://disable-apm.patch;patch=1 \
+ file://no-serial-probing.patch;patch=1 \
+ file://kdrive-evdev.patch;patch=1 \
+ file://kdrive-use-evdev.patch;patch=1 \
+ file://fbdev-not-fix.patch;patch=1"
+
+SRC_URI_append_mnci = " file://onlyfb.patch;patch=1"
+SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
+PACKAGE_ARCH_poodle = "poodle"
+
+S = "${WORKDIR}/xserver"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-composite --disable-xinerama"
diff --git a/meta/packages/xserver/xserver-kdrive_cvs.bb b/meta/packages/xserver/xserver-kdrive_cvs.bb
new file mode 100644
index 0000000000..f034fbfd73
--- /dev/null
+++ b/meta/packages/xserver/xserver-kdrive_cvs.bb
@@ -0,0 +1,47 @@
+PV = "0.0+cvs${SRCDATE}"
+DEFAULT_PREFERENCE = "-2"
+
+LICENSE = "MIT"
+DEPENDS = "tslib xproto libxdmcp xextensions xtrans libxau libx11 libxext libxrandr fixesext damageext libxfont resourceext compositeext xcalibrateext recordext"
+PROVIDES = "virtual/xserver"
+RPROVIDES = "virtual/xserver"
+PACKAGES = "xserver-kdrive-mach64 xserver-kdrive-fbdev xserver-kdrive-vesa xserver-kdrive-mga xserver-kdrive-via xserver-kdrive-ati xserver-kdrive-fake xserver-kdrive-i810 xserver-kdrive-xephyr xserver-kdrive-epson ${PN}-doc ${PN}-dev ${PN}-locale"
+SECTION = "x11/base"
+DESCRIPTION = "X server from freedesktop.org"
+DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting i810 devices"
+DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
+DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting MGA devices"
+DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting generic VESA devices"
+DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting Mach64 devices"
+DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA CLE266 devices"
+DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
+DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
+DESCRIPTION_xserver-kdrive-fake = "Fake X server"
+DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
+
+PR = "r10"
+
+FILES_xserver-kdrive-fbdev = "${bindir}/Xfbdev"
+FILES_xserver-kdrive-ati = "${bindir}/Xati"
+FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
+FILES_xserver-kdrive-via = "${bindir}/Xvia"
+FILES_xserver-kdrive-mga = "${bindir}/Xmga"
+FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
+FILES_xserver-kdrive-fake = "${bindir}/Xfake"
+FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
+FILES_xserver-kdrive-epson = "${bindir}/Xepson"
+FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xserver;module=xserver \
+ file://kmode.patch;patch=1 \
+ file://fbdev-not-fix.patch;patch=1"
+
+SRC_URI_append_mnci = " file://onlyfb.patch;patch=1"
+SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
+PACKAGE_ARCH_poodle = "poodle"
+
+S = "${WORKDIR}/xserver"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--enable-composite --disable-xinerama"
diff --git a/meta/packages/xserver/xserver-xorg/dri.patch b/meta/packages/xserver/xserver-xorg/dri.patch
new file mode 100644
index 0000000000..37d0407fe4
--- /dev/null
+++ b/meta/packages/xserver/xserver-xorg/dri.patch
@@ -0,0 +1,10 @@
+--- xc/extras/drm/shared/drm.h.old 2004-09-14 21:42:45.000000000 +0100
++++ xc/extras/drm/shared/drm.h 2004-09-14 21:42:47.000000000 +0100
+@@ -38,7 +38,6 @@
+ #define _DRM_H_
+
+ #if defined(__linux__)
+-#include <linux/config.h>
+ #include <asm/ioctl.h> /* For _IO* macros */
+ #define DRM_IOCTL_NR(n) _IOC_NR(n)
+ #define DRM_IOC_VOID _IOC_NONE
diff --git a/meta/packages/xserver/xserver-xorg/fontfile.patch b/meta/packages/xserver/xserver-xorg/fontfile.patch
new file mode 100644
index 0000000000..ed39bf45d0
--- /dev/null
+++ b/meta/packages/xserver/xserver-xorg/fontfile.patch
@@ -0,0 +1,11 @@
+--- xc/lib/font/fontfile/Imakefile.old 2005-06-03 20:09:53.000000000 +0100
++++ xc/lib/font/fontfile/Imakefile 2005-06-03 20:09:57.000000000 +0100
+@@ -14,7 +14,7 @@
+ #endif
+
+ INCLUDES = -I$(FONTINCSRC) -I../include -I$(SERVERSRC)/include \
+- -I$(INCLUDESRC)
++ -I$(INCLUDESRC) $(CC_STAGING)
+ HEADERS =
+ #ifdef FontFormatDefines
+ FORMAT_DEFS = FontFormatDefines
diff --git a/meta/packages/xserver/xserver-xorg/freetype.patch b/meta/packages/xserver/xserver-xorg/freetype.patch
new file mode 100644
index 0000000000..0ba3dd5627
--- /dev/null
+++ b/meta/packages/xserver/xserver-xorg/freetype.patch
@@ -0,0 +1,22 @@
+--- xc/lib/font/FreeType/Imakefile.old 2005-06-03 20:18:51.000000000 +0100
++++ xc/lib/font/FreeType/Imakefile 2005-06-03 20:18:52.000000000 +0100
+@@ -20,7 +20,7 @@
+
+ INCLUDES = $(FT2INCS) -I. -I$(FONTINCSRC) -I../include -I$(XINCLUDESRC) \
+ -I$(SERVERSRC)/include $(EXTRAINCLUDES) \
+- -I$(INCLUDESRC)
++ -I$(INCLUDESRC) $(CC_STAGING)
+
+ SRCS = xttcap.c ftfuncs.c ftenc.c fttools.c
+ OBJS = xttcap.o ftfuncs.o ftenc.o fttools.o
+--- xc/config/cf/X11.tmpl.old 2005-06-03 20:40:24.000000000 +0100
++++ xc/config/cf/X11.tmpl 2005-06-03 20:40:40.000000000 +0100
+@@ -3371,7 +3371,7 @@
+
+ #if BuildFreetype2Library || HasFreetype2
+ #if Freetype2IncDirStandard
+-FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config
++FREETYPE2INCLUDES = `pkg-config --cflags freetype2`
+ #else
+ FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR) -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config
+ #endif
diff --git a/meta/packages/xserver/xserver-xorg/imake-installed.patch b/meta/packages/xserver/xserver-xorg/imake-installed.patch
new file mode 100644
index 0000000000..57821075ef
--- /dev/null
+++ b/meta/packages/xserver/xserver-xorg/imake-installed.patch
@@ -0,0 +1,11 @@
+--- xc/config/cf/Imake.tmpl.old 2005-05-05 21:04:45.000000000 +0100
++++ xc/config/cf/Imake.tmpl 2005-05-05 21:04:49.000000000 +0100
+@@ -2058,7 +2058,7 @@
+ * INCLUDES contains client-specific includes set in Imakefile
+ * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
+ */
+- ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
++ ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
+ ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
+ CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES) $(CC_STAGING)
+ LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
diff --git a/meta/packages/xserver/xserver-xorg/imake-staging.patch b/meta/packages/xserver/xserver-xorg/imake-staging.patch
new file mode 100644
index 0000000000..bf2e350830
--- /dev/null
+++ b/meta/packages/xserver/xserver-xorg/imake-staging.patch
@@ -0,0 +1,38 @@
+--- xc/config/cf/Imake.tmpl.orig 2004-07-28 04:24:29.000000000 +0100
++++ xc/config/cf/Imake.tmpl 2004-09-14 21:03:06.000000000 +0100
+@@ -2038,11 +2038,11 @@
+ */
+ ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
+ ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
+- CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
++ CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES) $(CC_STAGING)
+ LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
+ LDPRELIB = LdPreLib $(INSTALLED_LIBS)
+ LDPOSTLIB = LdPostLib
+- LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
++ LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) $(LD_STAGING)
+ CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
+
+ LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+--- xc/config/cf/Library.tmpl~ 2004-05-24 20:06:57.000000000 +0100
++++ xc/config/cf/Library.tmpl 2004-09-14 21:10:29.000000000 +0100
+@@ -114,7 +114,7 @@
+ STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
+ CDEBUGFLAGS = LibraryCDebugFlags
+ CLIBDEBUGFLAGS = LibraryDebugOpt
+- CFLAGS = $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
++ CFLAGS = $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES) $(CC_STAGING)
+ # if defined(LargePICTable) && LargePICTable && defined(LargePositionIndependentCFlags)
+ PICFLAGS = LargePositionIndependentCFlags
+ # endif
+--- xc/config/cf/X11.tmpl~ 2004-09-03 17:18:18.000000000 +0100
++++ xc/config/cf/X11.tmpl 2004-09-14 21:30:30.000000000 +0100
+@@ -3359,7 +3359,7 @@
+ FREETYPE2LIBDIR = Freetype2LibDir
+ FREETYPE2INCDIR = Freetype2IncDir
+ #if Freetype2LibDirStandard
+-FREETYPE2LIB = -lfreetype
++FREETYPE2LIB = $(LD_STAGING) -lfreetype
+ #else
+ FREETYPE2LIB = -L$(FREETYPE2LIBDIR) LinkerRuntimeLibraryPathFlag($(FREETYPE2LIBDIR)) -lfreetype
+ #endif
diff --git a/meta/packages/xserver/xserver-xorg_6.8.99.10.bb b/meta/packages/xserver/xserver-xorg_6.8.99.10.bb
new file mode 100644
index 0000000000..37546fe1ee
--- /dev/null
+++ b/meta/packages/xserver/xserver-xorg_6.8.99.10.bb
@@ -0,0 +1,65 @@
+SECTION = "x11/base"
+RPROVIDES = "virtual/xserver"
+PROVIDES = "virtual/xserver"
+LICENSE = "Xorg"
+PR = "r2"
+
+DEPENDS = "fontconfig freetype libxi libxmu flex-native zlib"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc;method=pserver;tag=XORG-6_8_99_10 \
+ file://imake-staging.patch;patch=1 \
+ file://imake-installed.patch;patch=1 \
+ file://fontfile.patch;patch=1 file://freetype.patch;patch=1 \
+ file://dri.patch;patch=1"
+
+PACKAGES =+ "xserver-xorg-xprint xserver-xorg-xvfb xserver-xorg-utils"
+
+S = "${WORKDIR}/xc"
+
+FILES_xserver-xorg-xprint = "${bindir}/Xprt /etc/init.d/xprint /etc/rc.d/rc*.d/*xprint /etc/X11/Xsession.d/92xprint-xpserverlist.sh /etc/X11/xinit/xinitrc.d/92xprint-xpserverlist.sh /etc/X11/xserver/*/print ${sysconfdir}/profile.d/xprint.*"
+FILES_xserver-xorg-xvfb = "${bindir}/Xvfb"
+FILES_xserver-xorg-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
+FILES_${PN} += "${libdir}/modules/*.o "${libdir}/modules/*/*.o ${libdir}/X11/Options ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules"
+FILES_${PN}-doc += "${libdir}/X11/doc"
+
+do_configure() {
+ cat <<EOF > config/cf/host.def
+#define BuildServersOnly YES
+#define ProjectRoot ${prefix}
+#define XnestServer NO
+#define XdmxServer NO
+#define CcCmd gcc
+#define LdCmd ld
+#define HasFreetype2 YES
+#define HasFontconfig YES
+#define BuildDevelDRIDrivers YES
+#define BuildXF86DRI YES
+EOF
+ echo "" > config/cf/date.def
+ rm -f include/extensions/panoramiX.h
+ make -C config/imake -f Makefile.ini CC="${BUILD_CC}" BOOTSTRAPCFLAGS="${BUILD_CFLAGS}" CROSSCOMPILEDIR="${CROSS_DIR}/${TARGET_SYS}/bin" PREPROCESS_CMD="gcc -E" clean imake
+ make CC="${BUILD_CC}" xmakefile
+ make Makefiles
+ make clean
+}
+
+do_compile() {
+ #make depend
+ make includes
+ make -C config/util CC="${BUILD_CC}"
+ for l in font xtrans Xdmcp lbxutil; do make -C lib/$l CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}"; done
+ make -C programs/Xserver CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" CPP="${CC} -E"
+}
+
+do_install() {
+ make -C programs/Xserver DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
+ make -C lib/font DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/xserver-xorg
+ for i in i810 via; do
+ pushd ${S}/programs/Xserver/hw/xfree86/drivers/$i; install -m 0644 *.h ${STAGING_INCDIR}/xserver-xorg/; popd
+ done
+ install -m 0644 programs/Xserver/hw/xfree86/common/fourcc.h ${STAGING_INCDIR}/xserver-xorg/
+}
diff --git a/meta/packages/xserver/xserver-xorg_6.8.99.11.bb b/meta/packages/xserver/xserver-xorg_6.8.99.11.bb
new file mode 100644
index 0000000000..e60f62ef57
--- /dev/null
+++ b/meta/packages/xserver/xserver-xorg_6.8.99.11.bb
@@ -0,0 +1,65 @@
+SECTION = "x11/base"
+RPROVIDES = "virtual/xserver"
+PROVIDES = "virtual/xserver"
+LICENSE = "Xorg"
+PR = "r0"
+
+DEPENDS = "fontconfig freetype libxi libxmu flex-native zlib"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc;method=pserver;tag=XORG-6_8_99_11 \
+ file://imake-staging.patch;patch=1 \
+ file://imake-installed.patch;patch=1 \
+ file://fontfile.patch;patch=1 file://freetype.patch;patch=1 \
+ file://dri.patch;patch=1"
+
+PACKAGES =+ "xserver-xorg-xprint xserver-xorg-xvfb xserver-xorg-utils"
+
+S = "${WORKDIR}/xc"
+
+FILES_xserver-xorg-xprint = "${bindir}/Xprt /etc/init.d/xprint /etc/rc.d/rc*.d/*xprint /etc/X11/Xsession.d/92xprint-xpserverlist.sh /etc/X11/xinit/xinitrc.d/92xprint-xpserverlist.sh /etc/X11/xserver/*/print ${sysconfdir}/profile.d/xprint.*"
+FILES_xserver-xorg-xvfb = "${bindir}/Xvfb"
+FILES_xserver-xorg-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
+FILES_${PN} += "${libdir}/modules/*.o "${libdir}/modules/*/*.o ${libdir}/X11/Options ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules"
+FILES_${PN}-doc += "${libdir}/X11/doc"
+
+do_configure() {
+ cat <<EOF > config/cf/host.def
+#define BuildServersOnly YES
+#define ProjectRoot ${prefix}
+#define XnestServer NO
+#define XdmxServer NO
+#define CcCmd gcc
+#define LdCmd ld
+#define HasFreetype2 YES
+#define HasFontconfig YES
+#define BuildDevelDRIDrivers YES
+#define BuildXF86DRI YES
+EOF
+ echo "" > config/cf/date.def
+ rm -f include/extensions/panoramiX.h
+ make -C config/imake -f Makefile.ini CC="${BUILD_CC}" BOOTSTRAPCFLAGS="${BUILD_CFLAGS}" CROSSCOMPILEDIR="${CROSS_DIR}/${TARGET_SYS}/bin" PREPROCESS_CMD="gcc -E" clean imake
+ make CC="${BUILD_CC}" xmakefile
+ make Makefiles
+ make clean
+}
+
+do_compile() {
+ #make depend
+ make includes
+ make -C config/util CC="${BUILD_CC}"
+ for l in font xtrans Xdmcp lbxutil; do make -C lib/$l CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}"; done
+ make -C programs/Xserver CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" CPP="${CC} -E"
+}
+
+do_install() {
+ make -C programs/Xserver DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
+ make -C lib/font DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/xserver-xorg
+ for i in i810 via; do
+ pushd ${S}/programs/Xserver/hw/xfree86/drivers/$i; install -m 0644 *.h ${STAGING_INCDIR}/xserver-xorg/; popd
+ done
+ install -m 0644 programs/Xserver/hw/xfree86/common/fourcc.h ${STAGING_INCDIR}/xserver-xorg/
+}
diff --git a/meta/packages/xserver/xserver-xorg_cvs.bb b/meta/packages/xserver/xserver-xorg_cvs.bb
new file mode 100644
index 0000000000..e410581e17
--- /dev/null
+++ b/meta/packages/xserver/xserver-xorg_cvs.bb
@@ -0,0 +1,61 @@
+SECTION = "x11/base"
+LICENSE = "Xorg"
+RPROVIDES = "virtual/xserver"
+PROVIDES = "virtual/xserver"
+PR = "r3"
+PV = "6.8.1+cvs${SRCDATE}"
+
+DEPENDS = "fontconfig freetype libxi libxmu flex-2.5.4-native"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc;method=pserver \
+ file://imake-staging.patch;patch=1 \
+ file://dri.patch;patch=1"
+
+PACKAGES =+ "xserver-xorg-xprint xserver-xorg-xvfb xserver-xorg-utils"
+
+S = "${WORKDIR}/xc"
+
+FILES_xserver-xorg-xprint = "${bindir}/Xprt /etc/init.d/xprint /etc/rc.d/rc*.d/*xprint /etc/X11/Xsession.d/92xprint-xpserverlist.sh /etc/X11/xinit/xinitrc.d/92xprint-xpserverlist.sh /etc/X11/xserver/*/print"
+FILES_xserver-xorg-xvfb = "${bindir}/Xvfb"
+FILES_xserver-xorg-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
+FILES_${PN} += "${libdir}/modules/*.o "${libdir}/modules/*/*.o ${libdir}/X11/Options ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules"
+FILES_${PN}-doc += "${libdir}/X11/doc"
+
+do_configure() {
+ echo "#define BuildServersOnly YES" > config/cf/host.def
+ echo "#define ProjectRoot /usr" >> config/cf/host.def
+ echo "#define XnestServer NO" >> config/cf/host.def
+ echo "#define XdmxServer NO" >> config/cf/host.def
+ echo "#define CcCmd ${CC}" >> config/cf/host.def
+ echo "#define LdCmd ${LD}" >> config/cf/host.def
+ echo "#define HasFreetype2 YES" >> config/cf/host.def
+ echo "#define HasFontconfig YES" >> config/cf/host.def
+ echo "#define BuildDevelDRIDrivers YES" >>config/cf/host.def
+ echo "" > config/cf/date.def
+ rm -f include/extensions/panoramiX.h
+}
+
+do_compile() {
+ make -C config/imake -f Makefile.ini CC="${BUILD_CC}" BOOTSTRAPCFLAGS="${BUILD_CFLAGS}" clean imake
+ make CC="${BUILD_CC}" xmakefile
+ make Makefiles
+ make clean
+ #make depend
+ make includes
+ make -C config/util CC="${BUILD_CC}"
+ for l in font xtrans Xdmcp lbxutil; do make -C lib/$l CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}"; done
+ make -C programs/Xserver CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS=""
+}
+
+do_install() {
+ make -C programs/Xserver DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
+ make -C lib/font DESTDIR="${D}" CC="${CC}" LD="${LD}" CC_STAGING="-I${STAGING_INCDIR}" LD_STAGING="-L${STAGING_LIBDIR}" INSTALLED_LIBS="" install
+}
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/xserver-xorg
+ for i in i810 via; do
+ pushd ${S}/programs/Xserver/hw/xfree86/drivers/$i; install -m 0644 *.h ${STAGING_INCDIR}/xserver-xorg/; popd
+ done
+ install -m 0644 programs/Xserver/hw/xfree86/common/fourcc.h ${STAGING_INCDIR}/xserver-xorg/
+}
diff --git a/meta/packages/xset/xset/autofoo.patch b/meta/packages/xset/xset/autofoo.patch
new file mode 100644
index 0000000000..039d1319e3
--- /dev/null
+++ b/meta/packages/xset/xset/autofoo.patch
@@ -0,0 +1,109 @@
+diff -urN xset.orig/Makefile.am xset/Makefile.am
+--- xset.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ xset/Makefile.am 2004-08-14 16:32:10.000000000 +0200
+@@ -0,0 +1,53 @@
++#
++# $Id: Makefile.am,v 1.2 2004/06/25 19:38:50 markh Exp $
++#
++# 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 Keith Packard not be used in
++# advertising or publicity pertaining to distribution of the software without
++# specific, written prior permission. Keith Packard makes no
++# representations about the suitability of this software for any purpose. It
++# is provided "as is" without express or implied warranty.
++#
++# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++# EVENT SHALL KEITH PACKARD 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.
++#
++
++AUTOMAKE_OPTIONS = 1.7 foreign
++
++AM_CFLAGS = @XSET_CFLAGS@
++
++bin_PROGRAMS = xset
++
++xset_SOURCES = xset.c
++
++xset_LDADD = @XSET_LIBS@
++
++man5_MANS=xset.man
++
++EXTRA_DIST= $(man5_MANS)
++
++MAINTAINERCLEANFILES = configure \
++config.guess \
++config.sub \
++install-sh \
++ltmain.sh \
++missing \
++mkinstalldirs \
++aclocal.m4 \
++Makefile.in \
++depcomp \
++autoscan.log \
++configure.scan \
++config.h \
++config.h.in \
++$(man5_MANS)
+diff -urN xset.orig/autogen.sh xset/autogen.sh
+--- xset.orig/autogen.sh 1970-01-01 01:00:00.000000000 +0100
++++ xset/autogen.sh 2004-08-14 16:27:56.000000000 +0200
+@@ -0,0 +1,3 @@
++#! /bin/sh
++autoreconf -v --install || exit 1
++./configure --enable-maintainer-mode "$@"
+diff -urN xset.orig/configure.ac xset/configure.ac
+--- xset.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100
++++ xset/configure.ac 2004-08-17 14:21:25.000000000 +0200
+@@ -0,0 +1,41 @@
++dnl
++dnl $Id: configure.ac,v 1.1 2003/10/09 06:16:59 keithp Exp $
++dnl
++dnl Copyright © 2003 Keith Packard
++dnl
++dnl Permission to use, copy, modify, distribute, and sell this software and its
++dnl documentation for any purpose is hereby granted without fee, provided that
++dnl the above copyright notice appear in all copies and that both that
++dnl copyright notice and this permission notice appear in supporting
++dnl documentation, and that the name of Keith Packard not be used in
++dnl advertising or publicity pertaining to distribution of the software without
++dnl specific, written prior permission. Keith Packard makes no
++dnl representations about the suitability of this software for any purpose. It
++dnl is provided "as is" without express or implied warranty.
++dnl
++dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
++dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
++dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++dnl PERFORMANCE OF THIS SOFTWARE.
++dnl
++
++AC_PREREQ(2.57)
++AC_INIT([xset],4.4.0,[],xset)
++AC_CONFIG_SRCDIR([Makefile.am])
++AM_INIT_AUTOMAKE([dist-bzip2])
++AM_MAINTAINER_MODE
++AM_CONFIG_HEADER(config.h)
++
++AC_PROG_CC
++AC_PROG_INSTALL
++AC_PROG_LN_S
++AC_LIBTOOL_WIN32_DLL
++AM_PROG_LIBTOOL
++AC_PROG_MAKE_SET
++
++PKG_CHECK_MODULES(XSET, xext xextensions xmuu x11)
++
++AC_OUTPUT([Makefile])
diff --git a/meta/packages/xset/xset/disable-xkb.patch b/meta/packages/xset/xset/disable-xkb.patch
new file mode 100644
index 0000000000..6060fbb995
--- /dev/null
+++ b/meta/packages/xset/xset/disable-xkb.patch
@@ -0,0 +1,18 @@
+--- xset-1.0.1/configure.ac.orig 2006-03-08 19:46:59.000000000 +0100
++++ xset-1.0.1/configure.ac 2006-03-08 19:47:40.000000000 +0100
+@@ -42,11 +42,15 @@
+ AC_CHECK_HEADERS([X11/extensions/dpms.h X11/extensions/MITMisc.h],,,[#include <X11/Xlib.h>])
+ CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"])
+
++AC_ARG_ENABLE(xkb, AC_HELP_STRING([--disable-xkb], [Disable XKB support]),
++ XKB="$enableval", XKB="yes")
++if test "x$XKB" = "xyes" ; then
+ PKG_CHECK_MODULES(SET_XKB, x11,
+ [SAVE_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $SET_XKB_CFLAGS $SET_X11_CFLAGS"
+ AC_CHECK_HEADERS([X11/XKBlib.h],,,[#include <X11/Xlib.h>])
+ CPPFLAGS="$SAVE_CPPFLAGS"],[echo "not found"])
++fi
+
+ PKG_CHECK_MODULES(SET_XF86MISC, xxf86misc,
+ [SAVE_CPPFLAGS="$CPPFLAGS"
diff --git a/meta/packages/xset/xset_20040817.bb b/meta/packages/xset/xset_20040817.bb
new file mode 100644
index 0000000000..daf57d15c8
--- /dev/null
+++ b/meta/packages/xset/xset_20040817.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "user preference utility for X"
+LICENSE = "MIT"
+MAINTAINER = "Florian Boor <florian.boor@kernelconcepts.de>"
+FIXEDSRCDATE = "${@bb.data.getVar('FILE', d, 1).split('_')[-1].split('.')[0]}"
+PV = "0.0+cvs${FIXEDSRCDATE}"
+PR = "r1"
+
+DEPENDS = "libx11 libxext xextensions libxmu"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+SECTION = "x11/base"
+
+SRC_URI = "${FREEDESKTOP_CVS}/xorg;module=xc/programs/xset;date=${FIXEDSRCDATE} \
+ file://autofoo.patch;patch=1"
+S = "${WORKDIR}/xset"
+
+inherit autotools pkgconfig
diff --git a/meta/packages/xtscal/xtscal/xtscal-cxk.patch b/meta/packages/xtscal/xtscal/xtscal-cxk.patch
new file mode 100644
index 0000000000..1cab8efb57
--- /dev/null
+++ b/meta/packages/xtscal/xtscal/xtscal-cxk.patch
@@ -0,0 +1,11 @@
+--- xtscal-0.6.3/xtscal.in~ 2004-09-10 12:10:36.000000000 -0700
++++ xtscal-0.6.3/xtscal.in 2005-08-04 09:26:46.000000000 -0700
+@@ -8,7 +8,7 @@
+ case `module_id` in
+ "HP IPAQ H3100" | "HP IPAQ H3800" )
+ ARGS="-rotate 90" ;;
+- "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE)
++ "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE | *SPITZ | *AKITA | *BORZOI)
+ ARGS="-rotate 270" ;;
+ # H2200: works without rotation
+ esac
diff --git a/meta/packages/xtscal/xtscal/xtscal-poodle.patch b/meta/packages/xtscal/xtscal/xtscal-poodle.patch
new file mode 100644
index 0000000000..f9a1651691
--- /dev/null
+++ b/meta/packages/xtscal/xtscal/xtscal-poodle.patch
@@ -0,0 +1,12 @@
+diff -urN xtscal-0.5.1.orig/xtscal.in xtscal-0.5.1/xtscal.in
+--- xtscal-0.5.1.orig/xtscal.in 2004-06-13 07:59:37.000000000 -0400
++++ xtscal-0.5.1/xtscal.in 2004-09-08 20:24:10.000000000 -0400
+@@ -8,7 +8,7 @@
+ case `module_id` in
+ "HP IPAQ H3100" | "HP IPAQ H3800" )
+ ARGS="-rotate 90" ;;
+- "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE)
++ "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE)
+ ARGS="-rotate 270" ;;
+ # H2200: works without rotation
+ esac
diff --git a/meta/packages/xtscal/xtscal_0.6.3.bb b/meta/packages/xtscal/xtscal_0.6.3.bb
new file mode 100644
index 0000000000..70666f1fbf
--- /dev/null
+++ b/meta/packages/xtscal/xtscal_0.6.3.bb
@@ -0,0 +1,13 @@
+LICENSE = "GPL"
+DESCRIPTION = "Touchscreen calibration utility"
+MAINTAINER = "Phil Blundell <pb@handhelds.org>"
+SECTION = "x11/base"
+
+DEPENDS = "libx11 libxft libxrandr xcalibrate"
+
+PR = "r1"
+
+SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2 \
+ file://xtscal-cxk.patch;patch=1"
+
+inherit autotools
diff --git a/meta/packages/zaurus-updater/akita/updater.sh b/meta/packages/zaurus-updater/akita/updater.sh
new file mode 100644
index 0000000000..5399e5254e
--- /dev/null
+++ b/meta/packages/zaurus-updater/akita/updater.sh
@@ -0,0 +1,252 @@
+#!/bin/sh
+
+
+DATAPATH=$1
+TMPPATH=/tmp/update
+TMPDATA=$TMPPATH/tmpdata.bin
+TMPHEAD=$TMPPATH/tmphead.bin
+
+WFLG_KERNEL=0
+WFLG_INITRD=0
+WFLG_MVERSION=0
+
+RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
+if [ "$RO_MTD_LINE" = "" ]; then
+ RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`
+RO_MTD=/dev/mtd$RO_MTD_NO
+RO_MTDBLK=/dev/mtdblock$RO_MTD_NO
+RO_MTD_SIZE=`dc 0x$RO_MTD_SIZE_HEX 1024 /`
+
+RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
+if [ "$RW_MTD_LINE" = "" ]; then
+ RW_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
+RW_MTD=/dev/mtd$RW_MTD_NO
+RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
+RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
+
+LOGOCAL_MTD=/dev/mtd1
+
+VERBLOCK=0x48000
+MVRBLOCK=0x70000
+
+RESULT=0
+
+Cleanup(){
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ rm $CTRLPATH/* > /dev/null 2>&1
+ rm $DATAPATH/* > /dev/null 2>&1
+ exit $1
+}
+trap 'Cleanup 1' 1 15
+trap '' 2 3
+
+
+### Check model ###
+/sbin/writerominfo
+MODEL=`cat /proc/deviceinfo/product`
+echo 'MODEL:'$MODEL
+case "$MODEL" in
+ SL-C700) ;;
+ SL-C750) ;;
+ SL-C760) ;;
+ SL-C860) ;;
+ SL-C1000) ;;
+ SL-B500) ;;
+ SL-5600) ;;
+ *)
+ echo 'ERROR:Invalid model!'
+ echo 'Please reset'
+ while true
+ do
+ done
+ ;;
+esac
+
+mkdir -p $TMPPATH > /dev/null 2>&1
+
+cd $DATAPATH/
+
+for TARGETFILE in zImage.bin zimage.bin ZIMAGE.BIN initrd.bin INITRD.BIN mversion.bin MVERSION.BIN
+do
+ if [ -e $TARGETFILE ]
+ then
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+ DATASIZE=`wc -c $TARGETFILE`
+ DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
+
+ #echo $TARGETFILE':'$DATASIZE'bytes'
+ TARGETTYPE=Invalid
+ case "$TARGETFILE" in
+ zImage.bin) TARGETTYPE=Kernel;;
+ zimage.bin) TARGETTYPE=Kernel;;
+ ZIMAGE.BIN) TARGETTYPE=Kernel;;
+ initrd.bin) TARGETTYPE=RoFs;;
+ INITRD.BIN) TARGETTYPE=RoFs;;
+ mversion.bin) TARGETTYPE=MasterVer;;
+ MVERSION.BIN) TARGETTYPE=MasterVer;;
+ *)
+ continue
+ ;;
+ esac
+
+ case "$TARGETTYPE" in
+ Kernel)
+ if [ $WFLG_KERNEL != 0 ]
+ then
+ continue
+ fi
+ WFLG_KERNEL=1
+ echo 'kernel'
+ ISLOGICAL=1
+ MODULEID=5
+ MODULESIZE=0x13C000
+ ADDR=`dc 0xE0000`
+ ISFORMATTED=1
+ DATAPOS=0
+ ONESIZE=524288
+ HDTOP=`expr $DATASIZE - 16`
+ /sbin/bcut -a $HDTOP -s 16 -o $TMPHEAD $TARGETFILE
+ ;;
+ RoFs)
+ if [ $WFLG_INITRD != 0 ]
+ then
+ continue
+ fi
+ WFLG_INITRD=1
+ echo 'RO file system'
+ ISLOGICAL=0
+ MODULEID=6
+ MODULESIZE=0x1900000
+ ADDR=0
+ ISFORMATTED=0
+ TARGET_MTD=$RO_MTD
+ DATAPOS=16
+ ONESIZE=1048576
+ /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
+ ;;
+ MasterVer)
+ if [ $WFLG_MVERSION != 0 ]
+ then
+ continue
+ fi
+ WFLG_MVERSION=1
+ echo 'Master version'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TARGETFILE 0 0 > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ echo 'Success!'
+ continue
+ ;;
+ *)
+ continue
+ ;;
+ esac
+
+
+ #format?
+ if [ $ISFORMATTED = 0 ]
+ then
+ echo -n 'Flash erasing...'
+ /sbin/eraseall $TARGET_MTD 2> /dev/null > /dev/null
+ #/sbin/eraseall $TARGET_MTD 2
+ echo 'done'
+ ISFORMATTED=1
+ fi
+
+ echo ''
+ echo '0% 100%'
+ PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
+ PROGSTEP=`expr 25 / $PROGSTEP`
+ if [ $PROGSTEP = 0 ]
+ then
+ PROGSTEP=1
+ fi
+
+ #00 means header information
+ VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ #echo 'found header'
+ /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+
+ if [ "$MODEL" = "SL-C1000" ] && [ $TARGETTYPE = Kernel ]; then
+ echo $TARGETFILE':'$DATASIZE'bytes'
+ echo ' ' > /tmp/data
+ /sbin/nandlogical $LOGOCAL_MTD WRITE 0x60100 16 /tmp/data > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE 0xe0000 $DATASIZE $TARGETFILE > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE 0x21bff0 16 /tmp/data > /dev/null 2>&1
+ #loop
+ else
+ while [ $DATAPOS -lt $DATASIZE ]
+ do
+ #data create
+ bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
+ TMPSIZE=`wc -c $TMPDATA`
+ TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
+ DATAPOS=`expr $DATAPOS + $TMPSIZE`
+
+ #handle data file
+ #echo 'ADDR='$ADDR
+ #echo 'SIZE='$TMPSIZE
+ #echo 'TMPDATA='$TMPDATA
+ if [ $ISLOGICAL = 0 ]
+ then
+ next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD 2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
+ if [ "$next_addr" = "" ]; then
+ echo "ERROR:flash write"
+ rm $TMPDATA > /dev/null 2>&1
+ RESULT=3
+ break;
+ fi
+ ADDR=$next_addr
+ else
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $ADDR $DATASIZE $TMPDATA > /dev/null 2>&1
+ ADDR=`expr $ADDR + $TMPSIZE`
+ fi
+
+ rm $TMPDATA > /dev/null 2>&1
+
+ #progress
+ SPNUM=0
+ while [ $SPNUM -lt $PROGSTEP ]
+ do
+ echo -n '.'
+ SPNUM=`expr $SPNUM + 1`
+ done
+ done
+
+ fi
+
+ echo ''
+
+#finish
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+
+ if [ $RESULT = 0 ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ echo 'Success!'
+ else
+ echo 'Error!'
+ exit $RESULT
+ fi
+ fi
+done
+
+exit 0
diff --git a/meta/packages/zaurus-updater/c7x0/updater.sh b/meta/packages/zaurus-updater/c7x0/updater.sh
new file mode 100644
index 0000000000..290030ca2d
--- /dev/null
+++ b/meta/packages/zaurus-updater/c7x0/updater.sh
@@ -0,0 +1,242 @@
+#!/bin/sh
+
+
+DATAPATH=$1
+TMPPATH=/tmp/update
+TMPDATA=$TMPPATH/tmpdata.bin
+TMPHEAD=$TMPPATH/tmphead.bin
+
+WFLG_KERNEL=0
+WFLG_INITRD=0
+WFLG_MVERSION=0
+
+RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
+if [ "$RO_MTD_LINE" = "" ]; then
+ RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`
+RO_MTD=/dev/mtd$RO_MTD_NO
+RO_MTDBLK=/dev/mtdblock$RO_MTD_NO
+RO_MTD_SIZE=`dc 0x$RO_MTD_SIZE_HEX 1024 /`
+
+RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
+if [ "$RW_MTD_LINE" = "" ]; then
+ RW_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
+RW_MTD=/dev/mtd$RW_MTD_NO
+RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
+RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
+
+LOGOCAL_MTD=/dev/mtd1
+
+VERBLOCK=0x48000
+MVRBLOCK=0x70000
+
+RESULT=0
+
+Cleanup(){
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ rm $CTRLPATH/* > /dev/null 2>&1
+ rm $DATAPATH/* > /dev/null 2>&1
+ exit $1
+}
+trap 'Cleanup 1' 1 15
+trap '' 2 3
+
+
+### Check model ###
+/sbin/writerominfo
+MODEL=`cat /proc/deviceinfo/product`
+echo 'MODEL:'$MODEL
+case "$MODEL" in
+ SL-7500) ;;
+ SL-C700) ;;
+ SL-C750) ;;
+ SL-C760) ;;
+ SL-C860) ;;
+ SL-B500) ;;
+ SL-5600) ;;
+ *)
+ echo 'ERROR:Invalid model!'
+ echo 'Please reset'
+ while true
+ do
+ done
+ ;;
+esac
+
+mkdir -p $TMPPATH > /dev/null 2>&1
+
+cd $DATAPATH/
+
+for TARGETFILE in zImage.bin zimage.bin ZIMAGE.BIN initrd.bin INITRD.BIN mversion.bin MVERSION.BIN
+do
+ if [ -e $TARGETFILE ]
+ then
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+ DATASIZE=`wc -c $TARGETFILE`
+ DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
+
+ #echo $TARGETFILE':'$DATASIZE'bytes'
+ TARGETTYPE=Invalid
+ case "$TARGETFILE" in
+ zImage.bin) TARGETTYPE=Kernel;;
+ zimage.bin) TARGETTYPE=Kernel;;
+ ZIMAGE.BIN) TARGETTYPE=Kernel;;
+ initrd.bin) TARGETTYPE=RoFs;;
+ INITRD.BIN) TARGETTYPE=RoFs;;
+ mversion.bin) TARGETTYPE=MasterVer;;
+ MVERSION.BIN) TARGETTYPE=MasterVer;;
+ *)
+ continue
+ ;;
+ esac
+
+ case "$TARGETTYPE" in
+ Kernel)
+ if [ $WFLG_KERNEL != 0 ]
+ then
+ continue
+ fi
+ WFLG_KERNEL=1
+ echo 'kernel'
+ ISLOGICAL=1
+ MODULEID=5
+ MODULESIZE=0x13C000
+ ADDR=`dc 0xE0000`
+ ISFORMATTED=1
+ DATAPOS=0
+ ONESIZE=524288
+ HDTOP=`expr $DATASIZE - 16`
+ /sbin/bcut -a $HDTOP -s 16 -o $TMPHEAD $TARGETFILE
+ ;;
+ RoFs)
+ if [ $WFLG_INITRD != 0 ]
+ then
+ continue
+ fi
+ WFLG_INITRD=1
+ echo 'RO file system'
+ ISLOGICAL=0
+ MODULEID=6
+ MODULESIZE=0x1900000
+ ADDR=0
+ ISFORMATTED=0
+ TARGET_MTD=$RO_MTD
+ DATAPOS=16
+ ONESIZE=1048576
+ /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
+ ;;
+ MasterVer)
+ if [ $WFLG_MVERSION != 0 ]
+ then
+ continue
+ fi
+ WFLG_MVERSION=1
+ echo 'Master version'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TARGETFILE 0 0 > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ echo 'Success!'
+ continue
+ ;;
+ *)
+ continue
+ ;;
+ esac
+
+
+ #format?
+ if [ $ISFORMATTED = 0 ]
+ then
+ echo -n 'Flash erasing...'
+ /sbin/eraseall $TARGET_MTD 2> /dev/null > /dev/null
+ #/sbin/eraseall $TARGET_MTD 2
+ echo 'done'
+ ISFORMATTED=1
+ fi
+
+ echo ''
+ echo '0% 100%'
+ PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
+ PROGSTEP=`expr 25 / $PROGSTEP`
+ if [ $PROGSTEP = 0 ]
+ then
+ PROGSTEP=1
+ fi
+
+ #00 means header information
+ VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ #echo 'found header'
+ /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+
+ #loop
+ while [ $DATAPOS -lt $DATASIZE ]
+ do
+ #data create
+ bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
+ TMPSIZE=`wc -c $TMPDATA`
+ TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
+ DATAPOS=`expr $DATAPOS + $TMPSIZE`
+
+ #handle data file
+ #echo 'ADDR='$ADDR
+ #echo 'SIZE='$TMPSIZE
+ if [ $ISLOGICAL = 0 ]
+ then
+ next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD 2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
+ if [ "$next_addr" = "" ]; then
+ echo "ERROR:flash write"
+ rm $TMPDATA > /dev/null 2>&1
+ RESULT=3
+ break;
+ fi
+ ADDR=$next_addr
+ else
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $ADDR $DATASIZE $TMPDATA > /dev/null 2>&1
+ ADDR=`expr $ADDR + $TMPSIZE`
+ fi
+
+ rm $TMPDATA > /dev/null 2>&1
+
+ #progress
+ SPNUM=0
+ while [ $SPNUM -lt $PROGSTEP ]
+ do
+ echo -n '.'
+ SPNUM=`expr $SPNUM + 1`
+ done
+ done
+
+ echo ''
+
+#finish
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+
+ if [ $RESULT = 0 ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ echo 'Success!'
+ else
+ echo 'Error!'
+ exit $RESULT
+ fi
+ fi
+done
+
+exit 0
diff --git a/meta/packages/zaurus-updater/encdec-updater-native.bb b/meta/packages/zaurus-updater/encdec-updater-native.bb
new file mode 100644
index 0000000000..d6593193f7
--- /dev/null
+++ b/meta/packages/zaurus-updater/encdec-updater-native.bb
@@ -0,0 +1,6 @@
+include encdec-updater.bb
+inherit native
+
+do_stage() {
+ install -m 0755 encdec-updater ${STAGING_BINDIR}
+}
diff --git a/meta/packages/zaurus-updater/encdec-updater.bb b/meta/packages/zaurus-updater/encdec-updater.bb
new file mode 100644
index 0000000000..797a762ebf
--- /dev/null
+++ b/meta/packages/zaurus-updater/encdec-updater.bb
@@ -0,0 +1,16 @@
+SECTION = "console/utils"
+LICENSE = "GPL"
+DESCRIPTION = "A tool to encode and decode the Sharp Zaurus updater.sh skript"
+
+SRC_URI = "file://encdec-updater.c"
+
+COMPATIBLE_MACHINE = '(poodle|c7x0|spitz|akita|tosa)'
+
+do_compile() {
+ ${CC} -o encdec-updater ${WORKDIR}/encdec-updater.c
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 encdec-updater ${D}${bindir}/
+}
diff --git a/meta/packages/zaurus-updater/files/encdec-updater.c b/meta/packages/zaurus-updater/files/encdec-updater.c
new file mode 100644
index 0000000000..b894623c65
--- /dev/null
+++ b/meta/packages/zaurus-updater/files/encdec-updater.c
@@ -0,0 +1,80 @@
+//
+//
+// Sharp Zaurus SL-C7x0 updater.sh script encoder/decoder
+//
+// mailto:sash@cacko.biz
+//
+//
+
+#include <stdio.h>
+
+unsigned char enctab[] = {
+ 0x4a,0xf7,0x77,0x62,0xb0,0xe3,0xd8,0xf6,0xd1,0x98,0x09,0x2e,0x19,0x0c,0x0d,0x7c,
+ 0x04,0xe0,0x6b,0x22,0x10,0x08,0x15,0x16,0xb9,0x28,0x83,0x1f,0x91,0x06,0xfa,0xe8,
+ 0xbd,0xc6,0x21,0x32,0x23,0x6f,0x01,0x26,0x5f,0x03,0x33,0xb6,0x35,0xac,0x2d,0x0a,
+ 0x6e,0x6c,0xfc,0xc4,0x29,0x34,0x2b,0x42,0x25,0x66,0xc9,0x3e,0x87,0xb4,0x74,0xf2,
+ 0x11,0x20,0x41,0xb3,0x27,0x14,0xc1,0xcd,0x3d,0x80,0xd5,0x7f,0xcf,0x4c,0x4d,0xca,
+ 0x75,0x51,0xc8,0xa6,0x17,0xf0,0x55,0x82,0x79,0xdc,0x59,0x5a,0x5b,0xb8,0x5d,0x40,
+ 0x64,0x58,0xff,0xc5,0xab,0xc0,0xae,0xeb,0xa3,0xad,0xea,0x6a,0x37,0x3b,0x73,0x9a,
+ 0x88,0x3a,0xe1,0x68,0x0b,0xec,0xc7,0x76,0xf9,0x38,0x57,0xdd,0x49,0x96,0x95,0x7a,
+ 0x50,0x2a,0x4e,0xdb,0x00,0x48,0xd7,0x86,0x47,0x94,0xa0,0x1c,0x8b,0x8c,0x8d,0x92,
+ 0x45,0x90,0x7e,0x56,0x93,0xef,0x1a,0x52,0x97,0xbc,0x99,0xb5,0x7d,0x72,0x9d,0x9c,
+ 0xfb,0x24,0xa1,0xa2,0x07,0x46,0xa5,0x02,0x69,0xe6,0xa9,0xd3,0x30,0xba,0xd6,0x84,
+ 0x63,0x13,0x1b,0xb2,0x1d,0xaf,0x36,0x8e,0xb7,0x53,0x05,0xbb,0x12,0x78,0x8f,0xbe,
+ 0x71,0xbf,0xe4,0x1e,0x9e,0xa4,0xe5,0x2f,0x9b,0x31,0x67,0x4b,0xcb,0x43,0xc3,0xce,
+ 0x44,0x3c,0x0f,0xd2,0xaa,0xd4,0xed,0xa7,0x7b,0x18,0xd0,0xda,0x0e,0x54,0xf1,0xde,
+ 0xdf,0xa8,0x3f,0xe2,0x6d,0xcc,0xf8,0x70,0xe7,0x61,0xe9,0x85,0x65,0x2c,0x39,0xee,
+ 0x60,0x81,0x89,0xc2,0xf3,0xf4,0xf5,0x8a,0x5c,0x5e,0xd9,0x4f,0x9f,0xb1,0xfd,0xfe,
+};
+
+unsigned char decode_c(unsigned char c)
+{
+ int i;
+ for (i = 0; i < 256; i++) {
+ if (c == enctab[i]) return i;
+ }
+ printf("Internal bug: encode_c()\n");
+ exit(1);
+ return 0;
+}
+
+unsigned char encode_c(unsigned char c)
+{
+ int i;
+ return enctab[c];
+}
+
+int main(int argc, char *argv[])
+{
+ int i, decode;
+ int c;
+ FILE *inf, *outf;
+ char name[256];
+
+ if (argc < 3) {
+ printf("Decode file:\n\tencsh -d file.sh\nEncode file:\n\tencsh -c file.sh\n");
+ exit(1);
+ }
+
+ if (strcmp(argv[1], "-d")) decode = 1;
+ else decode = 0;
+
+ strcpy(name, argv[2]);
+ strcat(name, ".$$$$");
+
+ inf = fopen(argv[2], "rb");
+ outf = fopen(name, "wb");
+
+ while ((c = fgetc(inf)) >= 0) {
+ if (decode) c = decode_c(c);
+ else c = encode_c(c);
+ fputc(c, outf);
+ }
+
+ fclose(inf);
+ fclose(outf);
+
+ rename(name, argv[2]);
+
+ return 0;
+}
diff --git a/meta/packages/zaurus-updater/files/gnu-tar.gz b/meta/packages/zaurus-updater/files/gnu-tar.gz
new file mode 100644
index 0000000000..93d1a43704
--- /dev/null
+++ b/meta/packages/zaurus-updater/files/gnu-tar.gz
Binary files differ
diff --git a/meta/packages/zaurus-updater/poodle/updater.sh b/meta/packages/zaurus-updater/poodle/updater.sh
new file mode 100644
index 0000000000..a5e3f846ea
--- /dev/null
+++ b/meta/packages/zaurus-updater/poodle/updater.sh
@@ -0,0 +1,231 @@
+#!/bin/sh
+
+
+DATAPATH=$1
+TMPPATH=/tmp/update
+TMPDATA=$TMPPATH/tmpdata.bin
+TMPHEAD=$TMPPATH/tmphead.bin
+
+
+RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
+if [ "$RO_MTD_LINE" = "" ]; then
+ RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`
+RO_MTD=/dev/mtd$RO_MTD_NO
+RO_MTDBLK=/dev/mtdblock$RO_MTD_NO
+RO_MTD_SIZE=`dc 0x$RO_MTD_SIZE_HEX 1024 /`
+
+RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
+if [ "$RW_MTD_LINE" = "" ]; then
+ RW_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
+RW_MTD=/dev/mtd$RW_MTD_NO
+RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
+RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
+
+LOGOCAL_MTD=/dev/mtd1
+
+VERBLOCK=0x48000
+MVRBLOCK=0x70000
+
+RESULT=0
+
+Cleanup(){
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ rm $CTRLPATH/* > /dev/null 2>&1
+ rm $DATAPATH/* > /dev/null 2>&1
+ exit $1
+}
+trap 'Cleanup 1' 1 15
+trap '' 2 3
+
+
+### Check model ###
+/sbin/writerominfo
+MODEL=`cat /proc/deviceinfo/product`
+echo 'MODEL:'$MODEL
+case "$MODEL" in
+ SL-B500) ;;
+ SL-5600) ;;
+ *)
+ echo 'ERROR:Invalid model!'
+ echo 'Please reset'
+ while true
+ do
+ done
+ ;;
+esac
+
+mkdir -p $TMPPATH > /dev/null 2>&1
+
+cd $DATAPATH/
+
+if [ -e consolescroll ]
+then
+ ./consolescroll
+fi
+
+for TARGETFILE in zImage zimage zimage.bin initrd.bin mversion.bin
+do
+ if [ -e $TARGETFILE ]
+ then
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+ DATASIZE=`wc -c $TARGETFILE`
+ DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
+
+ #echo $TARGETFILE':'$DATASIZE'bytes'
+ case "$TARGETFILE" in
+ zImage|zimage|zimage.bin)
+ echo 'kernel'
+ ISLOGICAL=1
+ MODULEID=5
+ MODULESIZE=0x13C000
+ ADDR=`dc 0xE0000`
+ ISFORMATTED=1
+ DATAPOS=0
+ ONESIZE=524288
+ HDTOP=`expr $DATASIZE - 16`
+ /sbin/bcut -a $HDTOP -s 16 -o $TMPHEAD $TARGETFILE
+ ;;
+ initrd.bin)
+ echo 'RO file system'
+ ISLOGICAL=0
+ MODULEID=6
+ MODULESIZE=0x1600000
+ ADDR=0
+ ISFORMATTED=0
+ TARGET_MTD=$RO_MTD
+ DATAPOS=16
+ ONESIZE=1048576
+ /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
+ ;;
+ mversion.bin)
+ echo 'Master version'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TARGETFILE 0 0 > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ echo 'Success!'
+ continue
+ ;;
+ *)
+ continue;
+ ;;
+ esac
+
+ #check version
+ /sbin/bcut -s 6 -o $TMPDATA $TMPHEAD
+ if [ `cat $TMPDATA` != "SHARP!" ] > /dev/null 2>&1
+ then
+ #no version info...
+ rm -f $TMPHEAD > /dev/null 2>&1
+ DATAPOS=0
+ fi
+
+ #format?
+ if [ $ISFORMATTED = 0 ]
+ then
+ echo -n 'Flash erasing...'
+ /sbin/eraseall $TARGET_MTD 2> /dev/null > /dev/null
+ #/sbin/eraseall $TARGET_MTD 2
+ echo 'done'
+ ISFORMATTED=1
+ fi
+
+ echo ''
+ echo '0% 100%'
+ PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
+ PROGSTEP=`expr 25 / $PROGSTEP`
+ if [ $PROGSTEP = 0 ]
+ then
+ PROGSTEP=1
+ fi
+
+ #header information
+ if [ -e $TMPHEAD ]
+ then
+ VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ #echo 'found header'
+ /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+ fi
+
+ #loop
+ while [ $DATAPOS -lt $DATASIZE ]
+ do
+ #data create
+ bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
+ TMPSIZE=`wc -c $TMPDATA`
+ TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
+ DATAPOS=`expr $DATAPOS + $TMPSIZE`
+
+ #handle data file
+ #echo 'ADDR='$ADDR
+ #echo 'SIZE='$TMPSIZE
+ if [ $ISLOGICAL = 0 ]
+ then
+ next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD 2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
+ if [ "$next_addr" = "" ]; then
+ echo "ERROR:flash write"
+ rm $TMPDATA > /dev/null 2>&1
+ RESULT=3
+ break;
+ fi
+ ADDR=$next_addr
+ else
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $ADDR $DATASIZE $TMPDATA > /dev/null 2>&1
+ ADDR=`expr $ADDR + $TMPSIZE`
+ fi
+
+ rm $TMPDATA > /dev/null 2>&1
+
+ #progress
+ SPNUM=0
+ while [ $SPNUM -lt $PROGSTEP ]
+ do
+ echo -n '.'
+ SPNUM=`expr $SPNUM + 1`
+ done
+ done
+
+ echo ''
+
+#finish
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+
+ if [ $RESULT = 0 ]
+ then
+ if [ -e $VTMPNAME ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ rm -f $VTMPNAME > /dev/null 2>&1
+ fi
+ if [ -e $MTMPNAME ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ fi
+ echo 'Success!'
+ else
+ echo 'Error!'
+# exit $RESULT
+ fi
+ fi
+done
+
+#exit 0
+
+echo 'Please reset'
+while true
+do
+done
diff --git a/meta/packages/zaurus-updater/spitz/updater.sh b/meta/packages/zaurus-updater/spitz/updater.sh
new file mode 100755
index 0000000000..07d81b1bda
--- /dev/null
+++ b/meta/packages/zaurus-updater/spitz/updater.sh
@@ -0,0 +1,280 @@
+#!/bin/sh
+
+#
+# Noodles' simpler update script. SL-C3000 only for the moment.
+#
+
+DATAPATH=$1
+TMPPATH=/tmp/update
+TMPDATA=$TMPPATH/tmpdata.bin
+TMPHEAD=$TMPPATH/tmphead.bin
+
+WFLG_KERNEL=0
+WFLG_INITRD=0
+WFLG_HDD=0
+
+RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
+if [ "$RO_MTD_LINE" = "" ]; then
+ RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`
+RO_MTD=/dev/mtd$RO_MTD_NO
+RO_MTDBLK=/dev/mtdblock$RO_MTD_NO
+RO_MTD_SIZE=`dc 0x$RO_MTD_SIZE_HEX 1024 /`
+
+RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
+if [ "$RW_MTD_LINE" = "" ]; then
+ RW_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
+RW_MTD=/dev/mtd$RW_MTD_NO
+RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
+RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
+
+LOGOCAL_MTD=/dev/mtd1
+
+VERBLOCK=0x48000
+MVRBLOCK=0x70000
+
+RESULT=0
+
+Cleanup(){
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ rm $CTRLPATH/* > /dev/null 2>&1
+ exit $1
+}
+trap 'Cleanup 1' 1 15
+trap '' 2 3
+
+get_dev_pcmcia()
+{
+while read SOCKET CLASS DRIVER INSTANCE DEVS MAJOR MINOR;
+do
+ echo $DEVS
+done
+}
+get_dev_pcmcia_slot()
+{
+ grep "^$1" /var/lib/pcmcia/stab | get_dev_pcmcia
+}
+sleep 1
+IDE1=`get_dev_pcmcia_slot 1`
+if [ "$IDE1" = "" ]; then
+ echo "Error!! There is no HDD. Now retrying..."
+ while [ "$IDE1" = "" ]; do
+ IDE1=`get_dev_pcmcia_slot 1`
+ done
+ echo "Found HDD!!"
+fi
+
+#LINUXFMT=ext2
+LINUXFMT=ext3
+MKE2FSOPT=
+if [ "$LINUXFMT" = "ext3" ]; then
+ MKE2FSOPT=-j
+fi
+
+
+### Check model ###
+/sbin/writerominfo
+MODEL=`cat /proc/deviceinfo/product`
+if [ "$MODEL" != "SL-C3000" ] && [ "$MODEL" != "SL-C3100" ]
+then
+ echo 'MODEL:'$MODEL
+ echo 'ERROR:Invalid model!'
+ echo 'Please reset'
+ while true
+ do
+ done
+fi
+
+### Check that we have a valid tar
+for TARNAME in gnu-tar GNU-TAR
+do
+ if [ -e $DATAPATH/$TARNAME ]
+ then
+ TARBIN=$DATAPATH/$TARNAME
+ fi
+done
+
+if [ ! -e $TARBIN ]; then
+ echo 'Please place a valid copy of tar as "gnu-tar" on your card'
+ echo 'Please reset'
+ while true
+ do
+ done
+fi
+
+mkdir -p $TMPPATH > /dev/null 2>&1
+
+cd $DATAPATH/
+
+#
+# First do the kernel.
+#
+for TARGETFILE in zImage.bin zimage.bin ZIMAGE.BIN
+do
+ if [ -e $TARGETFILE -a $WFLG_KERNEL = 0 ]
+ then
+ # Get the size of the kernel.
+ DATASIZE=`wc -c $TARGETFILE`
+ DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
+
+ echo 'Updating kernel.'
+ echo $TARGETFILE':'$DATASIZE' bytes'
+ /sbin/nandlogical $LOGOCAL_MTD WRITE 0xe0000 $DATASIZE \
+ $TARGETFILE > /dev/null 2>&1
+
+ WFLG_KERNEL=1
+
+ fi
+done
+
+#
+# Now do the initrd.
+#
+for TARGETFILE in initrd.bin INITRD.BIN
+do
+ if [ -e $TARGETFILE -a $WFLG_INITRD = 0 ]
+ then
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+ DATASIZE=`wc -c $TARGETFILE`
+ DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
+
+ WFLG_INITRD=1
+ echo 'RO file system'
+ MODULEID=6
+ MODULESIZE=0x500000
+ ADDR=0
+ TARGET_MTD=$RO_MTD
+ DATAPOS=16
+ ONESIZE=1048576
+ /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
+
+ echo -n 'Flash erasing...'
+ /sbin/eraseall $TARGET_MTD 2> /dev/null > /dev/null
+ echo 'done'
+
+ echo ''
+ echo '0% 100%'
+ PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
+ PROGSTEP=`expr 28 / $PROGSTEP`
+ if [ $PROGSTEP = 0 ]
+ then
+ PROGSTEP=1
+ fi
+
+ #00 means header information
+ VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ #echo 'found header'
+ /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+
+ #loop
+ while [ $DATAPOS -lt $DATASIZE ]
+ do
+ #data create
+ bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
+ TMPSIZE=`wc -c $TMPDATA`
+ TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
+ DATAPOS=`expr $DATAPOS + $TMPSIZE`
+
+ #handle data file
+ #echo 'ADDR='$ADDR
+ #echo 'SIZE='$TMPSIZE
+ next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD 2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
+ if [ "$next_addr" = "" ]; then
+ echo "ERROR:flash write"
+ rm $TMPDATA > /dev/null 2>&1
+ RESULT=3
+ break;
+ fi
+ ADDR=$next_addr
+
+ rm $TMPDATA > /dev/null 2>&1
+
+ #progress
+ SPNUM=0
+ while [ $SPNUM -lt $PROGSTEP ]
+ do
+ echo -n '.'
+ SPNUM=`expr $SPNUM + 1`
+ done
+ done
+
+ echo ''
+
+ #finish
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+
+ if [ $RESULT = 0 ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ echo 'Success!'
+ else
+ echo 'Error!'
+ exit $RESULT
+ fi
+ fi
+done
+
+## HDD image
+for TARGETFILE in hdimage1.tgz HDIMAGE1.TGZ
+do
+ if [ -e $TARGETFILE ]; then
+ if [ $WFLG_HDD != 0 ]
+ then
+ continue
+ fi
+ WFLG_HDD=1
+ echo ''
+ echo 'HDD RO file system'
+ if [ ! -f /hdd1/NotAvailable ]; then
+ umount /hdd1
+ fi
+ echo 'Now formatting...'
+ mke2fs $MKE2FSOPT /dev/${IDE1}1 2> /dev/null > /dev/null
+ e2fsck -p /dev/${IDE1}1 > /dev/null
+ if [ "$?" != "0" ]; then
+ echo "Error!"
+ exit "$?"
+ fi
+
+ mount -t $LINUXFMT -o noatime /dev/${IDE1}1 /hdd1
+ if [ "$?" != "0" ]; then
+ echo "Error!"
+ exit "$?"
+ fi
+
+ cd /hdd1
+ echo 'Now extracting...'
+ gzip -dc $DATAPATH/$TARGETFILE | $TARBIN xf -
+ if [ "$?" != "0" ]; then
+ echo "Error!"
+ exit "$?"
+ fi
+
+ echo 'Success!'
+
+ #This can be useful for debugging
+ #/bin/sh -i
+
+ # remount as RO
+ cd /
+ umount /hdd1
+ mount -t $LINUXFMT -o ro,noatime /dev/${IDE1}1 /hdd1
+ fi
+done
+
+exit 0
diff --git a/meta/packages/zaurus-updater/tosa/updater.sh b/meta/packages/zaurus-updater/tosa/updater.sh
new file mode 100644
index 0000000000..6d30aba231
--- /dev/null
+++ b/meta/packages/zaurus-updater/tosa/updater.sh
@@ -0,0 +1,241 @@
+#!/bin/sh
+
+
+DATAPATH=$1
+TMPPATH=/tmp/update
+TMPDATA=$TMPPATH/tmpdata.bin
+TMPHEAD=$TMPPATH/tmphead.bin
+
+
+RO_MTD_LINE=`cat /proc/mtd | grep "root" | tail -n 1`
+if [ "$RO_MTD_LINE" = "" ]; then
+ RO_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RO_MTD_NO=`echo $RO_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RO_MTD_SIZE_HEX=`echo $RO_MTD_LINE | cut -d" " -f2`
+RO_MTD=/dev/mtd$RO_MTD_NO
+RO_MTDBLK=/dev/mtdblock$RO_MTD_NO
+RO_MTD_SIZE=`dc 0x$RO_MTD_SIZE_HEX 1024 /`
+
+RW_MTD_LINE=`cat /proc/mtd | grep "home" | tail -n 1`
+if [ "$RW_MTD_LINE" = "" ]; then
+ RW_MTD_LINE=`cat /proc/mtd | grep "\<NAND\>.*\<2\>" | tail -n 1`
+fi
+RW_MTD_NO=`echo $RW_MTD_LINE | cut -d: -f1 | cut -dd -f2`
+RW_MTD_SIZE_HEX=`echo $RW_MTD_LINE | cut -d" " -f2`
+RW_MTD=/dev/mtd$RW_MTD_NO
+RW_MTDBLK=/dev/mtdblock$RW_MTD_NO
+RW_MTD_SIZE=`dc 0x$RW_MTD_SIZE_HEX 1024 /`
+
+LOGOCAL_MTD=/dev/mtd1
+
+VERBLOCK=0x48000
+MVRBLOCK=0x70000
+
+RESULT=0
+
+Cleanup(){
+ rm -f $VTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ rm $CTRLPATH/* > /dev/null 2>&1
+ rm $DATAPATH/* > /dev/null 2>&1
+ exit $1
+}
+trap 'Cleanup 1' 1 15
+trap '' 2 3
+
+
+### Check model ###
+/sbin/writerominfo
+MODEL=`cat /proc/deviceinfo/product`
+if [ "$MODEL" != "SL-6000" ] > /dev/null 2>&1
+then
+ echo 'MODEL:'$MODEL
+ echo 'ERROR:Invalid model!'
+ echo 'Please reset'
+ while true
+ do
+ done
+fi
+
+mkdir -p $TMPPATH > /dev/null 2>&1
+
+cd $DATAPATH/
+
+if [ -e consolescroll ]
+then
+ ./consolescroll
+fi
+
+for TARGETFILE in zImage zImage.bin zimage.bin ZIMAGE ZIMAGE.BIN initrd.bin INITRD.BIN mversion.bin MVERSION.BIN
+do
+ if [ -e $TARGETFILE ]
+ then
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+ DATASIZE=`wc -c $TARGETFILE`
+ DATASIZE=`echo $DATASIZE | cut -d' ' -f1`
+
+ #echo $TARGETFILE':'$DATASIZE'bytes'
+ TARGETTYPE=Invalid
+ case "$TARGETFILE" in
+ zImage) TARGETTYPE=Kernel;;
+ zimage.bin) TARGETTYPE=Kernel;;
+ ZIMAGE) TARGETTYPE=Kernel;;
+ initrd.bin) TARGETTYPE=RoFs;;
+ INITRD.BIN) TARGETTYPE=RoFs;;
+ mversion.bin) TARGETTYPE=MasterVer;;
+ MVERSION.BIN) TARGETTYPE=MasterVer;;
+ *)
+ continue
+ ;;
+ esac
+ case "$TARGETTYPE" in
+ Kernel)
+ echo 'kernel'
+ ISLOGICAL=1
+ MODULEID=5
+ MODULESIZE=0x13C000
+ ADDR=`dc 0xE0000`
+ ISFORMATTED=1
+ DATAPOS=0
+ ONESIZE=524288
+ HDTOP=`expr $DATASIZE - 16`
+ /sbin/bcut -a $HDTOP -s 16 -o $TMPHEAD $TARGETFILE
+ ;;
+ RoFs)
+ echo 'RO file system'
+ ISLOGICAL=0
+ MODULEID=6
+ MODULESIZE=0x1E00000
+ ADDR=0
+ ISFORMATTED=0
+ TARGET_MTD=$RO_MTD
+ DATAPOS=16
+ ONESIZE=1048576
+ /sbin/bcut -s 16 -o $TMPHEAD $TARGETFILE
+ ;;
+ MasterVer)
+ echo 'Maser version'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TARGETFILE 0 0 > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ echo 'Success!'
+ continue
+ ;;
+ *)
+ continue;
+ ;;
+ esac
+
+ #check version
+ /sbin/bcut -s 6 -o $TMPDATA $TMPHEAD
+ if [ `cat $TMPDATA` != "SHARP!" ] > /dev/null 2>&1
+ then
+ #no version info...
+ rm -f $TMPHEAD > /dev/null 2>&1
+ DATAPOS=0
+ fi
+
+ #format?
+ if [ $ISFORMATTED = 0 ]
+ then
+ echo -n 'Flash erasing...'
+ /sbin/eraseall $TARGET_MTD 2> /dev/null > /dev/null
+ #/sbin/eraseall $TARGET_MTD 2
+ echo 'done'
+ ISFORMATTED=1
+ fi
+
+ echo ''
+ echo '0% 100%'
+ PROGSTEP=`expr $DATASIZE / $ONESIZE + 1`
+ PROGSTEP=`expr 28 / $PROGSTEP`
+ if [ $PROGSTEP = 0 ]
+ then
+ PROGSTEP=1
+ fi
+
+ #header information
+ if [ -e $TMPHEAD ]
+ then
+ VTMPNAME=$TMPPATH'/vtmp'`date '+%s'`'.tmp'
+ MTMPNAME=$TMPPATH'/mtmp'`date '+%s'`'.tmp'
+ /sbin/nandlogical $LOGOCAL_MTD READ $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ /sbin/nandlogical $LOGOCAL_MTD READ $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+
+ #echo 'found header'
+ /sbin/verchg -v $VTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+ /sbin/verchg -m $MTMPNAME $TMPHEAD $MODULEID $MODULESIZE > /dev/null 2>&1
+ fi
+
+ #loop
+ while [ $DATAPOS -lt $DATASIZE ]
+ do
+ #data create
+ bcut -a $DATAPOS -s $ONESIZE -o $TMPDATA $TARGETFILE
+ TMPSIZE=`wc -c $TMPDATA`
+ TMPSIZE=`echo $TMPSIZE | cut -d' ' -f1`
+ DATAPOS=`expr $DATAPOS + $TMPSIZE`
+
+ #handle data file
+ #echo 'ADDR='$ADDR
+ #echo 'SIZE='$TMPSIZE
+ if [ $ISLOGICAL = 0 ]
+ then
+ next_addr=`/sbin/nandcp -a $ADDR $TMPDATA $TARGET_MTD 2>/dev/null | fgrep "mtd address" | cut -d- -f2 | cut -d\( -f1`
+ if [ "$next_addr" = "" ]; then
+ echo "ERROR:flash write"
+ rm $TMPDATA > /dev/null 2>&1
+ RESULT=3
+ break;
+ fi
+ ADDR=$next_addr
+ else
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $ADDR $DATASIZE $TMPDATA > /dev/null 2>&1
+ ADDR=`expr $ADDR + $TMPSIZE`
+ fi
+
+ rm $TMPDATA > /dev/null 2>&1
+
+ #progress
+ SPNUM=0
+ while [ $SPNUM -lt $PROGSTEP ]
+ do
+ echo -n '.'
+ SPNUM=`expr $SPNUM + 1`
+ done
+ done
+
+ echo ''
+
+#finish
+ rm -f $TMPPATH/*.bin > /dev/null 2>&1
+
+ if [ $RESULT = 0 ]
+ then
+ if [ -e $VTMPNAME ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $VERBLOCK 0x4000 $VTMPNAME > /dev/null 2>&1
+ rm -f $VTMPNAME > /dev/null 2>&1
+ fi
+ if [ -e $MTMPNAME ]
+ then
+ /sbin/nandlogical $LOGOCAL_MTD WRITE $MVRBLOCK 0x4000 $MTMPNAME > /dev/null 2>&1
+ rm -f $MTMPNAME > /dev/null 2>&1
+ fi
+ echo 'Success!'
+ else
+ echo 'Error!'
+# exit $RESULT
+ fi
+ fi
+done
+
+#exit 0
+
+echo 'Please reset'
+while true
+do
+done
diff --git a/meta/packages/zaurus-updater/zaurus-updater.bb b/meta/packages/zaurus-updater/zaurus-updater.bb
new file mode 100644
index 0000000000..26cf1e5453
--- /dev/null
+++ b/meta/packages/zaurus-updater/zaurus-updater.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Encrypted shellscript for the Zaurus ROM update"
+DEPENDS = "encdec-updater-native"
+LICENSE = "zaurus-updater"
+PR = "r5"
+
+PACKAGES = ""
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = '(poodle|c7x0|spitz|akita|tosa)'
+
+SRC_URI = "file://updater.sh \
+ file://gnu-tar.gz"
+S = "${WORKDIR}"
+
+do_compile() {
+ encdec-updater -e updater.sh
+}
+
+do_deploy() {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install -m 0755 updater.sh ${DEPLOY_DIR_IMAGE}/updater.sh.${MACHINE}
+
+ case ${MACHINE} in
+ spitz )
+ install -m 0755 gnu-tar ${DEPLOY_DIR_IMAGE}/gnu-tar
+ ;;
+ *)
+ ;;
+ esac
+}
+
+addtask deploy before do_build after do_compile
diff --git a/meta/packages/zaurusd/zaurusd_svn.bb b/meta/packages/zaurusd/zaurusd_svn.bb
new file mode 100644
index 0000000000..d297c0eba0
--- /dev/null
+++ b/meta/packages/zaurusd/zaurusd_svn.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Daemon to handle device specifc features."
+SECTION = "base"
+MAINTAINER = "Richard Purdie <rpurdie@openedhand.com>"
+LICENSE = "GPL"
+DEPENDS = "tslib"
+PV = "0.0+svn${SRCDATE}"
+PR = "r4"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http"
+
+S = "${WORKDIR}/${PN}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit autotools pkgconfig update-rc.d
+
+INITSCRIPT_NAME = "zaurusd"
+INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
diff --git a/meta/packages/zeroconf/files/debian-zeroconf b/meta/packages/zeroconf/files/debian-zeroconf
new file mode 100644
index 0000000000..c3705d2788
--- /dev/null
+++ b/meta/packages/zeroconf/files/debian-zeroconf
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+if [ ! -x /usr/sbin/zeroconf ]; then
+ exit 0
+fi
+
+# IPv4 link-local addresses (zeroconf) are
+# only applicable on the 'inet' address family
+[ "X$ADDRFAM" != "Xinet" ] && exit 0
+
+# However there are some methods where it doesn't
+# make any sense to configure an IPv4LL address
+
+# not on loopback
+[ "X$METHOD" = "Xloopback" ] && exit 0
+
+# not on ppp or wvdial either
+[ "X$METHOD" = "Xppp" ] && exit 0
+[ "X$METHOD" = "Xwvdial" ] && exit 0
+
+# The administrator may have blacklisted interfaces
+# or only want zeroconf in a fallback situation
+[ -f /etc/default/zeroconf ] &&
+ . /etc/default/zeroconf
+
+[ -n "$DISABLE" ] && exit 0
+
+for BLACK in $IFBLACKLIST; do
+ case $IFACE in
+ $BLACK)
+ exit 0
+ ;;
+ esac
+done
+
+# should we only allocate an address if we do not already have one?
+if [ -n "$FALLBACK" ]; then
+ /bin/ip addr show $IFACE scope global | grep -q "inet"
+ IP=$?
+ if [ $IP -eq 0 ]; then
+ /bin/ip route add 169.254.0.0/16 dev $IFACE
+ exit 0
+ fi
+fi
+
+# otherwise, run if we aren't already going
+if [ ! -r /var/run/zeroconf.$IFACE.pid ]; then
+ /usr/sbin/zeroconf -i $IFACE
+fi
+
+exit 0
diff --git a/meta/packages/zeroconf/files/zeroconf-default b/meta/packages/zeroconf/files/zeroconf-default
new file mode 100644
index 0000000000..cc07b275f1
--- /dev/null
+++ b/meta/packages/zeroconf/files/zeroconf-default
@@ -0,0 +1,17 @@
+# Default for zeroconf
+
+# disable zeroconf
+# If you want to disable zeroconf completely, uncomment the following line
+# this may be useful if you are debugging zeroconf or starting it manually
+#DISABLE=yes
+
+# black-listed interfaces
+# Interfaces which you never wish to have zeroconf run on should
+# be listed here. e.g. "eth2 wlan1" in a space seperated string
+IFBLACKLIST=""
+
+# fallback only
+# If you would only like a link-local address if you were unable to
+# obtain an address via DHCP then uncomment the following line
+#FALLBACK=yes
+
diff --git a/meta/packages/zeroconf/zeroconf_0.9.bb b/meta/packages/zeroconf/zeroconf_0.9.bb
new file mode 100644
index 0000000000..c8f7ddfa3a
--- /dev/null
+++ b/meta/packages/zeroconf/zeroconf_0.9.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "IPv4 link-local address allocator"
+AUTHOR = "Anand Kumria <wildfire@progsoc.uts.edu.au>"
+HOMEPAGE = "http://www.progsoc.org/~wildfire/zeroconf/"
+LICENSE = "GPL"
+SECTION = "net"
+PRIORITY = "optional"
+
+PR = "r0"
+
+SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${PN}-${PV}.tar.gz \
+ file://zeroconf-default \
+ file://debian-zeroconf"
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -d ${D}${sysconfdir}/network/if-up.d
+ install -d ${D}${sysconfdir}/default
+ install -c -m 755 ${S}/zeroconf ${D}${sbindir}/zeroconf
+ install -c -m 755 ${WORKDIR}/debian-zeroconf ${D}${sysconfdir}/network/if-up.d/zeroconf
+ install -c ${WORKDIR}/zeroconf-default ${D}${sysconfdir}/default/zeroconf
+}
diff --git a/meta/packages/zile/files/for_build.patch b/meta/packages/zile/files/for_build.patch
new file mode 100644
index 0000000000..96380fa220
--- /dev/null
+++ b/meta/packages/zile/files/for_build.patch
@@ -0,0 +1,64 @@
+Index: zile-2.0beta6/acinclude.m4
+===================================================================
+--- zile-2.0beta6.orig/acinclude.m4 2004-12-20 19:13:07.000000000 -0500
++++ zile-2.0beta6/acinclude.m4 2005-01-21 20:38:28.982166344 -0500
+@@ -35,3 +35,29 @@
+ t}
+ fi
+ AC_SUBST(EXEEXT_FOR_BUILD)])dnl
++
++dnl Get a default for CFLAGS_FOR_BUILD to put into Makefile.
++AC_DEFUN([BFD_CFLAGS_FOR_BUILD],
++[ac_test_CFLAGS=${CFLAGS+set}
++# Put a plausible default for CFLAGS_FOR_BUILD in Makefile.
++if test -z "$CFLAGS_FOR_BUILD"; then
++ if test "x$cross_compiling" = "xyes"; then
++ CFLAGS_FOR_BUILD="-O2"
++ else
++ CFLAGS_FOR_BUILD='$(CFLAGS)'
++ fi
++fi
++AC_SUBST(CFLAGS_FOR_BUILD)])dnl
++
++dnl Get a default for LDFLAGS_FOR_BUILD to put into Makefile.
++AC_DEFUN([BFD_LDFLAGS_FOR_BUILD],
++[ac_test_LDFLAGS=${LDFLAGS+set}
++# Put a plausible default for LDFLAGS_FOR_BUILD in Makefile.
++if test -z "$LDFLAGS_FOR_BUILD"; then
++ if test "x$cross_compiling" = "xyes"; then
++ LDFLAGS_FOR_BUILD=""
++ else
++ LDFLAGS_FOR_BUILD='$(LDFLAGS)'
++ fi
++fi
++AC_SUBST(LDFLAGS_FOR_BUILD)])dnl
+Index: zile-2.0beta6/configure.ac
+===================================================================
+--- zile-2.0beta6.orig/configure.ac 2005-01-12 07:56:19.000000000 -0500
++++ zile-2.0beta6/configure.ac 2005-01-21 20:26:58.178184512 -0500
+@@ -19,6 +19,8 @@
+
+ AC_PROG_CC
+ BFD_CC_FOR_BUILD
++BFD_CFLAGS_FOR_BUILD
++BFD_LDFLAGS_FOR_BUILD
+ AC_C_INLINE
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+Index: zile-2.0beta6/doc/Makefile.am
+===================================================================
+--- zile-2.0beta6.orig/doc/Makefile.am 2005-01-03 06:11:32.000000000 -0500
++++ zile-2.0beta6/doc/Makefile.am 2005-01-21 20:27:17.271281920 -0500
+@@ -27,10 +27,10 @@
+ AM_CFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/src
+
+ mkdoc$(EXEEXT_FOR_BUILD): mkdoc.o config.h
+- $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o $@ mkdoc.o
++ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ mkdoc.o
+
+ mkdoc.o: mkdoc.c
+- $(CC_FOR_BUILD) -c -I$(top_srcdir)/doc -I$(top_srcdir) -I$(top_srcdir)/src $(CFLAGS) $(srcdir)/mkdoc.c
++ $(CC_FOR_BUILD) -c -I$(top_srcdir)/doc -I$(top_srcdir) -I$(top_srcdir)/src $(CFLAGS_FOR_BUILD) $(srcdir)/mkdoc.c
+
+ AUTODOC: $(AUTODOCSRCS) mkdoc
+ ./mkdoc $(AUTODOCSRCS) >AUTODOC
diff --git a/meta/packages/zile/zile_1.7+2.0beta6.bb b/meta/packages/zile/zile_1.7+2.0beta6.bb
new file mode 100644
index 0000000000..1a4f7955fb
--- /dev/null
+++ b/meta/packages/zile/zile_1.7+2.0beta6.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "Zile is a very small emacs-like editor."
+HOMEPAGE = "http://zile.sourceforge.net/"
+LICENSE = "GPL"
+DEPENDS = "ncurses"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+PRIORITY = "optional"
+SECTION = "console/editors"
+PR = "r1"
+
+UV = "${@bb.data.getVar('PV', d, 1).split('+')[1]}"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/zile/zile-${UV}.tar.gz \
+ file://for_build.patch;patch=1"
+S = "${WORKDIR}/zile-${UV}"
+
+inherit autotools
+
+export CC_FOR_BUILD = "${BUILD_CC}"
+export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS} -DHAVE_VASPRINTF"
+export LDFLAGS_FOR_BUILD = "${BUILD_LDFLAGS}"
diff --git a/meta/packages/zip/zip-native_2.31.bb b/meta/packages/zip/zip-native_2.31.bb
new file mode 100644
index 0000000000..7cd0261827
--- /dev/null
+++ b/meta/packages/zip/zip-native_2.31.bb
@@ -0,0 +1,9 @@
+SECTION = "console/utils"
+inherit native
+include zip_${PV}.bb
+S = "${WORKDIR}/zip-${PV}"
+
+do_stage() {
+ install -d ${STAGING_BINDIR}
+ install zip zipnote zipsplit zipcloak ${STAGING_BINDIR}
+}
diff --git a/meta/packages/zip/zip_2.31.bb b/meta/packages/zip/zip_2.31.bb
new file mode 100644
index 0000000000..6c588a55e5
--- /dev/null
+++ b/meta/packages/zip/zip_2.31.bb
@@ -0,0 +1,17 @@
+SECTION = "console/utils"
+SRC_URI = "http://ftp.info-zip.org/pub/infozip/src/zip231.tar.gz"
+LICENSE = "Info-ZIP"
+EXTRA_OEMAKE = "'CC=${CC}' 'BIND=${CC}' 'AS=${CC} -c' 'CPP=${CPP}' \
+ 'CFLAGS=-I. -DUNIX ${CFLAGS}' 'INSTALL=install' \
+ 'BINFLAGS=0755' 'INSTALL_D=install -d'"
+
+do_compile() {
+ oe_runmake -f unix/Makefile generic
+}
+
+do_install() {
+ oe_runmake -f unix/Makefile prefix=${D}${prefix} \
+ BINDIR=${D}${bindir} MANDIR=${D}${mandir}/man1 \
+ install
+}
+
diff --git a/meta/packages/zlib/files/visibility.patch b/meta/packages/zlib/files/visibility.patch
new file mode 100644
index 0000000000..ba1a2a6fef
--- /dev/null
+++ b/meta/packages/zlib/files/visibility.patch
@@ -0,0 +1,1022 @@
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/adler32.c 2003-11-17 15:24:27.000000000 -0600
++++ zlib-1.2.2/adler32.c 2005-02-28 19:04:09.000000000 -0600
+@@ -44,7 +44,7 @@
+ #endif
+
+ /* ========================================================================= */
+-uLong ZEXPORT adler32(adler, buf, len)
++ZEXPORT uLong adler32(adler, buf, len)
+ uLong adler;
+ const Bytef *buf;
+ uInt len;
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/compress.c 2003-07-07 00:37:56.000000000 -0500
++++ zlib-1.2.2/compress.c 2005-02-28 19:04:09.000000000 -0600
+@@ -19,7 +19,7 @@
+ memory, Z_BUF_ERROR if there was not enough room in the output buffer,
+ Z_STREAM_ERROR if the level parameter is invalid.
+ */
+-int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
++ZEXPORT int compress2 (dest, destLen, source, sourceLen, level)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+@@ -59,7 +59,7 @@
+
+ /* ===========================================================================
+ */
+-int ZEXPORT compress (dest, destLen, source, sourceLen)
++ZEXPORT int compress (dest, destLen, source, sourceLen)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+@@ -72,7 +72,7 @@
+ If the default memLevel or windowBits for deflateInit() is changed, then
+ this function needs to be updated.
+ */
+-uLong ZEXPORT compressBound (sourceLen)
++ZEXPORT uLong compressBound (sourceLen)
+ uLong sourceLen;
+ {
+ return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11;
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/crc32.c 2004-10-03 21:29:30.000000000 -0500
++++ zlib-1.2.2/crc32.c 2005-02-28 19:04:09.000000000 -0600
+@@ -198,7 +198,7 @@
+ /* =========================================================================
+ * This function can be used by asm versions of crc32()
+ */
+-const unsigned long FAR * ZEXPORT get_crc_table()
++ZEXPORT const unsigned long FAR * get_crc_table()
+ {
+ #ifdef DYNAMIC_CRC_TABLE
+ if (crc_table_empty)
+@@ -212,7 +212,7 @@
+ #define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
+
+ /* ========================================================================= */
+-unsigned long ZEXPORT crc32(crc, buf, len)
++ZEXPORT unsigned long crc32(crc, buf, len)
+ unsigned long crc;
+ const unsigned char FAR *buf;
+ unsigned len;
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/deflate.c 2004-09-15 09:28:14.000000000 -0500
++++ zlib-1.2.2/deflate.c 2005-02-28 19:04:09.000000000 -0600
+@@ -201,7 +201,7 @@
+ zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
+
+ /* ========================================================================= */
+-int ZEXPORT deflateInit_(strm, level, version, stream_size)
++ZEXPORT int deflateInit_(strm, level, version, stream_size)
+ z_streamp strm;
+ int level;
+ const char *version;
+@@ -213,7 +213,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
++ZEXPORT int deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
+ version, stream_size)
+ z_streamp strm;
+ int level;
+@@ -311,7 +311,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
++ZEXPORT int deflateSetDictionary (strm, dictionary, dictLength)
+ z_streamp strm;
+ const Bytef *dictionary;
+ uInt dictLength;
+@@ -355,7 +355,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateReset (strm)
++ZEXPORT int deflateReset (strm)
+ z_streamp strm;
+ {
+ deflate_state *s;
+@@ -391,7 +391,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflatePrime (strm, bits, value)
++ZEXPORT int deflatePrime (strm, bits, value)
+ z_streamp strm;
+ int bits;
+ int value;
+@@ -403,7 +403,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateParams(strm, level, strategy)
++ZEXPORT int deflateParams(strm, level, strategy)
+ z_streamp strm;
+ int level;
+ int strategy;
+@@ -457,7 +457,7 @@
+ * But even the conservative upper bound of about 14% expansion does not
+ * seem onerous for output buffer allocation.
+ */
+-uLong ZEXPORT deflateBound(strm, sourceLen)
++ZEXPORT uLong deflateBound(strm, sourceLen)
+ z_streamp strm;
+ uLong sourceLen;
+ {
+@@ -520,7 +520,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflate (strm, flush)
++ZEXPORT int deflate (strm, flush)
+ z_streamp strm;
+ int flush;
+ {
+@@ -696,7 +696,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateEnd (strm)
++ZEXPORT int deflateEnd (strm)
+ z_streamp strm;
+ {
+ int status;
+@@ -726,7 +726,7 @@
+ * To simplify the source, this is not supported for 16-bit MSDOS (which
+ * doesn't have enough memory anyway to duplicate compression states).
+ */
+-int ZEXPORT deflateCopy (dest, source)
++ZEXPORT int deflateCopy (dest, source)
+ z_streamp dest;
+ z_streamp source;
+ {
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/gzio.c 2004-10-03 21:30:37.000000000 -0500
++++ zlib-1.2.2/gzio.c 2005-02-28 19:06:11.000000000 -0600
+@@ -205,7 +205,7 @@
+ /* ===========================================================================
+ Opens a gzip (.gz) file for reading or writing.
+ */
+-gzFile ZEXPORT gzopen (path, mode)
++ZEXPORT gzFile gzopen (path, mode)
+ const char *path;
+ const char *mode;
+ {
+@@ -216,7 +216,7 @@
+ Associate a gzFile with the file descriptor fd. fd is not dup'ed here
+ to mimic the behavio(u)r of fdopen.
+ */
+-gzFile ZEXPORT gzdopen (fd, mode)
++ZEXPORT gzFile gzdopen (fd, mode)
+ int fd;
+ const char *mode;
+ {
+@@ -231,7 +231,7 @@
+ /* ===========================================================================
+ * Update the compression level and strategy
+ */
+-int ZEXPORT gzsetparams (file, level, strategy)
++ZEXPORT int gzsetparams (file, level, strategy)
+ gzFile file;
+ int level;
+ int strategy;
+@@ -391,7 +391,7 @@
+ Reads the given number of uncompressed bytes from the compressed file.
+ gzread returns the number of bytes actually read (0 for end of file).
+ */
+-int ZEXPORT gzread (file, buf, len)
++ZEXPORT int gzread (file, buf, len)
+ gzFile file;
+ voidp buf;
+ unsigned len;
+@@ -500,7 +500,7 @@
+ Reads one byte from the compressed file. gzgetc returns this byte
+ or -1 in case of end of file or error.
+ */
+-int ZEXPORT gzgetc(file)
++ZEXPORT int gzgetc(file)
+ gzFile file;
+ {
+ unsigned char c;
+@@ -512,7 +512,7 @@
+ /* ===========================================================================
+ Push one byte back onto the stream.
+ */
+-int ZEXPORT gzungetc(c, file)
++ZEXPORT int gzungetc(c, file)
+ int c;
+ gzFile file;
+ {
+@@ -537,7 +537,7 @@
+
+ The current implementation is not optimized at all.
+ */
+-char * ZEXPORT gzgets(file, buf, len)
++ZEXPORT char * gzgets(file, buf, len)
+ gzFile file;
+ char *buf;
+ int len;
+@@ -556,7 +556,7 @@
+ Writes the given number of uncompressed bytes into the compressed file.
+ gzwrite returns the number of bytes actually written (0 in case of error).
+ */
+-int ZEXPORT gzwrite (file, buf, len)
++ZEXPORT int gzwrite (file, buf, len)
+ gzFile file;
+ voidpc buf;
+ unsigned len;
+@@ -600,7 +600,7 @@
+ #ifdef STDC
+ #include <stdarg.h>
+
+-int ZEXPORTVA gzprintf (gzFile file, const char *format, /* args */ ...)
++ZEXPORTVA int gzprintf (gzFile file, const char *format, /* args */ ...)
+ {
+ char buf[Z_PRINTF_BUFSIZE];
+ va_list va;
+@@ -634,7 +634,7 @@
+ }
+ #else /* not ANSI C */
+
+-int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
++ZEXPORT intVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+ a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
+ gzFile file;
+ const char *format;
+@@ -675,7 +675,7 @@
+ Writes c, converted to an unsigned char, into the compressed file.
+ gzputc returns the value that was written, or -1 in case of error.
+ */
+-int ZEXPORT gzputc(file, c)
++ZEXPORT int gzputc(file, c)
+ gzFile file;
+ int c;
+ {
+@@ -690,7 +690,7 @@
+ the terminating null character.
+ gzputs returns the number of characters written, or -1 in case of error.
+ */
+-int ZEXPORT gzputs(file, s)
++ZEXPORT int gzputs(file, s)
+ gzFile file;
+ const char *s;
+ {
+@@ -743,7 +743,7 @@
+ return s->z_err == Z_STREAM_END ? Z_OK : s->z_err;
+ }
+
+-int ZEXPORT gzflush (file, flush)
++ZEXPORT int gzflush (file, flush)
+ gzFile file;
+ int flush;
+ {
+@@ -764,7 +764,7 @@
+ SEEK_END is not implemented, returns error.
+ In this version of the library, gzseek can be extremely slow.
+ */
+-z_off_t ZEXPORT gzseek (file, offset, whence)
++ZEXPORT z_off_t gzseek (file, offset, whence)
+ gzFile file;
+ z_off_t offset;
+ int whence;
+@@ -854,7 +854,7 @@
+ /* ===========================================================================
+ Rewinds input file.
+ */
+-int ZEXPORT gzrewind (file)
++ZEXPORT int gzrewind (file)
+ gzFile file;
+ {
+ gz_stream *s = (gz_stream*)file;
+@@ -878,7 +878,7 @@
+ given compressed file. This position represents a number of bytes in the
+ uncompressed data stream.
+ */
+-z_off_t ZEXPORT gztell (file)
++ZEXPORT z_off_t gztell (file)
+ gzFile file;
+ {
+ return gzseek(file, 0L, SEEK_CUR);
+@@ -888,7 +888,7 @@
+ Returns 1 when EOF has previously been detected reading the given
+ input stream, otherwise zero.
+ */
+-int ZEXPORT gzeof (file)
++ZEXPORT int gzeof (file)
+ gzFile file;
+ {
+ gz_stream *s = (gz_stream*)file;
+@@ -938,7 +938,7 @@
+ Flushes all pending output if necessary, closes the compressed file
+ and deallocates all the (de)compression state.
+ */
+-int ZEXPORT gzclose (file)
++ZEXPORT int gzclose (file)
+ gzFile file;
+ {
+ int err;
+@@ -967,7 +967,7 @@
+ errnum is set to Z_ERRNO and the application may consult errno
+ to get the exact error code.
+ */
+-const char * ZEXPORT gzerror (file, errnum)
++ZEXPORT const char * gzerror (file, errnum)
+ gzFile file;
+ int *errnum;
+ {
+@@ -997,7 +997,7 @@
+ /* ===========================================================================
+ Clear the error and end-of-file flags, and do the same for the real file.
+ */
+-void ZEXPORT gzclearerr (file)
++ZEXPORT void gzclearerr (file)
+ gzFile file;
+ {
+ gz_stream *s = (gz_stream*)file;
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/infback.c 2004-10-03 21:31:20.000000000 -0500
++++ zlib-1.2.2/infback.c 2005-02-28 19:04:09.000000000 -0600
+@@ -25,7 +25,7 @@
+ windowBits is in the range 8..15, and window is a user-supplied
+ window and output buffer that is 2**windowBits bytes.
+ */
+-int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size)
++ZEXPORT int inflateBackInit_(strm, windowBits, window, version, stream_size)
+ z_stream FAR *strm;
+ int windowBits;
+ unsigned char FAR *window;
+@@ -237,7 +237,7 @@
+ inflateBack() can also return Z_STREAM_ERROR if the input parameters
+ are not correct, i.e. strm is Z_NULL or the state was not initialized.
+ */
+-int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc)
++ZEXPORT int inflateBack(strm, in, in_desc, out, out_desc)
+ z_stream FAR *strm;
+ in_func in;
+ void FAR *in_desc;
+@@ -610,7 +610,7 @@
+ return ret;
+ }
+
+-int ZEXPORT inflateBackEnd(strm)
++ZEXPORT int inflateBackEnd(strm)
+ z_stream FAR *strm;
+ {
+ if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/inflate.c 2004-10-03 21:33:51.000000000 -0500
++++ zlib-1.2.2/inflate.c 2005-02-28 19:04:09.000000000 -0600
+@@ -100,7 +100,7 @@
+ local unsigned syncsearch OF((unsigned FAR *have, unsigned char FAR *buf,
+ unsigned len));
+
+-int ZEXPORT inflateReset(strm)
++ZEXPORT int inflateReset(strm)
+ z_streamp strm;
+ {
+ struct inflate_state FAR *state;
+@@ -122,7 +122,7 @@
+ return Z_OK;
+ }
+
+-int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size)
++ZEXPORT int inflateInit2_(strm, windowBits, version, stream_size)
+ z_streamp strm;
+ int windowBits;
+ const char *version;
+@@ -165,7 +165,7 @@
+ return inflateReset(strm);
+ }
+
+-int ZEXPORT inflateInit_(strm, version, stream_size)
++ZEXPORT int inflateInit_(strm, version, stream_size)
+ z_streamp strm;
+ const char *version;
+ int stream_size;
+@@ -532,7 +532,7 @@
+ will return Z_BUF_ERROR if it has not reached the end of the stream.
+ */
+
+-int ZEXPORT inflate(strm, flush)
++ZEXPORT int inflate(strm, flush)
+ z_streamp strm;
+ int flush;
+ {
+@@ -1085,7 +1085,7 @@
+ return ret;
+ }
+
+-int ZEXPORT inflateEnd(strm)
++ZEXPORT int inflateEnd(strm)
+ z_streamp strm;
+ {
+ struct inflate_state FAR *state;
+@@ -1099,7 +1099,7 @@
+ return Z_OK;
+ }
+
+-int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength)
++ZEXPORT int inflateSetDictionary(strm, dictionary, dictLength)
+ z_streamp strm;
+ const Bytef *dictionary;
+ uInt dictLength;
+@@ -1171,7 +1171,7 @@
+ return next;
+ }
+
+-int ZEXPORT inflateSync(strm)
++ZEXPORT int inflateSync(strm)
+ z_streamp strm;
+ {
+ unsigned len; /* number of bytes to look at or looked at */
+@@ -1222,7 +1222,7 @@
+ block. When decompressing, PPP checks that at the end of input packet,
+ inflate is waiting for these length bytes.
+ */
+-int ZEXPORT inflateSyncPoint(strm)
++ZEXPORT int inflateSyncPoint(strm)
+ z_streamp strm;
+ {
+ struct inflate_state FAR *state;
+@@ -1232,7 +1232,7 @@
+ return state->mode == STORED && state->bits == 0;
+ }
+
+-int ZEXPORT inflateCopy(dest, source)
++ZEXPORT int inflateCopy(dest, source)
+ z_streamp dest;
+ z_streamp source;
+ {
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/uncompr.c 2003-07-07 00:36:56.000000000 -0500
++++ zlib-1.2.2/uncompr.c 2005-02-28 19:04:09.000000000 -0600
+@@ -23,7 +23,7 @@
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer, or Z_DATA_ERROR if the input data was corrupted.
+ */
+-int ZEXPORT uncompress (dest, destLen, source, sourceLen)
++ZEXPORT int uncompress (dest, destLen, source, sourceLen)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/zconf.in.h 2004-05-30 15:38:00.000000000 -0500
++++ zlib-1.2.2/zconf.in.h 2005-02-28 19:04:09.000000000 -0600
+@@ -198,11 +198,9 @@
+ */
+ # ifdef ZLIB_DLL
+ # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
+-# ifdef ZLIB_INTERNAL
+-# define ZEXTERN extern __declspec(dllexport)
+-# else
+-# define ZEXTERN extern __declspec(dllimport)
+-# endif
++# define ZDLLLOCAL __declspec(dllimport)
++# define ZDLLPUBLIC __declspec(dllexport)
++# define ZEXTERN extern
+ # endif
+ # endif /* ZLIB_DLL */
+ /* If building or using zlib with the WINAPI/WINAPIV calling convention,
+@@ -223,30 +221,45 @@
+ # define ZEXPORTVA FAR CDECL
+ # endif
+ # endif
+-#endif
+-
+-#if defined (__BEOS__)
++#elif defined (__BEOS__)
+ # ifdef ZLIB_DLL
+-# ifdef ZLIB_INTERNAL
+-# define ZEXPORT __declspec(dllexport)
+-# define ZEXPORTVA __declspec(dllexport)
+-# else
+-# define ZEXPORT __declspec(dllimport)
+-# define ZEXPORTVA __declspec(dllimport)
+-# endif
++# define ZDLLIMPORT __declspec(dllimport)
++# define ZDLLPUBLIC __declspec(dllexport)
++# define ZDLLLOCAL
++# endif
++#else
++# define ZDLLIMPORT
++# ifdef GCC_HASCLASSVISIBILITY
++# define ZDLLLOCAL __attribute__ ((visibility("hidden")))
++# define ZDLLPUBLIC __attribute__ ((visibility("default")))
++# else
++# define ZDLLLOCAL
++# define ZDLLPUBLIC
+ # endif
+ #endif
+
+ #ifndef ZEXTERN
+ # define ZEXTERN extern
+ #endif
+-#ifndef ZEXPORT
+-# define ZEXPORT
+-#endif
+-#ifndef ZEXPORTVA
+-# define ZEXPORTVA
++#ifdef ZLIB_INTERNAL
++# ifndef ZLIB_DLL
++# define ZEXPORT
++# define ZEXPORTVA
++# endif
++# ifndef ZEXPORT
++# define ZEXPORT ZDLLPUBLIC
++# endif
++# ifndef ZEXPORTVA
++# define ZEXPORTVA ZDLLPUBLIC
++# endif
++#else
++# ifndef ZEXPORT
++# define ZEXPORT ZDLLIMPORT
++# endif
++# ifndef ZEXPORTVA
++# define ZEXPORTVA ZDLLIMPORT
++# endif
+ #endif
+-
+ #ifndef FAR
+ # define FAR
+ #endif
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/zlib.h 2004-10-03 21:57:26.000000000 -0500
++++ zlib-1.2.2/zlib.h 2005-02-28 19:04:09.000000000 -0600
+@@ -184,7 +184,7 @@
+
+ /* basic functions */
+
+-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
++ZEXTERN ZEXPORT const char * zlibVersion OF((void));
+ /* The application can compare zlibVersion and ZLIB_VERSION for consistency.
+ If the first character differs, the library code actually used is
+ not compatible with the zlib.h header file used by the application.
+@@ -192,7 +192,7 @@
+ */
+
+ /*
+-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
++ZEXTERN ZEXPORT int deflateInit OF((z_streamp strm, int level));
+
+ Initializes the internal stream state for compression. The fields
+ zalloc, zfree and opaque must be initialized before by the caller.
+@@ -214,7 +214,7 @@
+ */
+
+
+-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
++ZEXTERN ZEXPORT int deflate OF((z_streamp strm, int flush));
+ /*
+ deflate compresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce some
+@@ -296,7 +296,7 @@
+ */
+
+
+-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
++ZEXTERN ZEXPORT int deflateEnd OF((z_streamp strm));
+ /*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+@@ -311,7 +311,7 @@
+
+
+ /*
+-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateInit OF((z_streamp strm));
+
+ Initializes the internal stream state for decompression. The fields
+ next_in, avail_in, zalloc, zfree and opaque must be initialized before by
+@@ -331,7 +331,7 @@
+ */
+
+
+-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
++ZEXTERN ZEXPORT int inflate OF((z_streamp strm, int flush));
+ /*
+ inflate decompresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce
+@@ -430,7 +430,7 @@
+ */
+
+
+-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateEnd OF((z_streamp strm));
+ /*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+@@ -448,7 +448,7 @@
+ */
+
+ /*
+-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
++ZEXTERN ZEXPORT int deflateInit2 OF((z_streamp strm,
+ int level,
+ int method,
+ int windowBits,
+@@ -504,7 +504,7 @@
+ not perform any compression: this will be done by deflate().
+ */
+
+-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
++ZEXTERN ZEXPORT int deflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+ /*
+@@ -541,7 +541,7 @@
+ perform any compression: this will be done by deflate().
+ */
+
+-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
++ZEXTERN ZEXPORT int deflateCopy OF((z_streamp dest,
+ z_streamp source));
+ /*
+ Sets the destination stream as a complete copy of the source stream.
+@@ -559,7 +559,7 @@
+ destination.
+ */
+
+-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
++ZEXTERN ZEXPORT int deflateReset OF((z_streamp strm));
+ /*
+ This function is equivalent to deflateEnd followed by deflateInit,
+ but does not free and reallocate all the internal compression state.
+@@ -570,7 +570,7 @@
+ stream state was inconsistent (such as zalloc or state being NULL).
+ */
+
+-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
++ZEXTERN ZEXPORT int deflateParams OF((z_streamp strm,
+ int level,
+ int strategy));
+ /*
+@@ -591,7 +591,7 @@
+ if strm->avail_out was zero.
+ */
+
+-ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
++ZEXTERN ZEXPORT uLong deflateBound OF((z_streamp strm,
+ uLong sourceLen));
+ /*
+ deflateBound() returns an upper bound on the compressed size after
+@@ -600,7 +600,7 @@
+ for deflation in a single pass, and so would be called before deflate().
+ */
+
+-ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
++ZEXTERN ZEXPORT int deflatePrime OF((z_streamp strm,
+ int bits,
+ int value));
+ /*
+@@ -617,7 +617,7 @@
+ */
+
+ /*
+-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
++ZEXTERN ZEXPORT int inflateInit2 OF((z_streamp strm,
+ int windowBits));
+
+ This is another version of inflateInit with an extra parameter. The
+@@ -659,7 +659,7 @@
+ modified, but next_out and avail_out are unchanged.)
+ */
+
+-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
++ZEXTERN ZEXPORT int inflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+ /*
+@@ -678,7 +678,7 @@
+ inflate().
+ */
+
+-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateSync OF((z_streamp strm));
+ /*
+ Skips invalid compressed data until a full flush point (see above the
+ description of deflate with Z_FULL_FLUSH) can be found, or until all
+@@ -693,7 +693,7 @@
+ until success or end of the input data.
+ */
+
+-ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
++ZEXTERN ZEXPORT int inflateCopy OF((z_streamp dest,
+ z_streamp source));
+ /*
+ Sets the destination stream as a complete copy of the source stream.
+@@ -709,7 +709,7 @@
+ destination.
+ */
+
+-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateReset OF((z_streamp strm));
+ /*
+ This function is equivalent to inflateEnd followed by inflateInit,
+ but does not free and reallocate all the internal decompression state.
+@@ -720,7 +720,7 @@
+ */
+
+ /*
+-ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits,
++ZEXTERN ZEXPORT int inflateBackInit OF((z_stream FAR *strm, int windowBits,
+ unsigned char FAR *window));
+
+ Initialize the internal stream state for decompression using inflateBack()
+@@ -744,7 +744,7 @@
+ typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
+ typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
+
+-ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm,
++ZEXTERN ZEXPORT int inflateBack OF((z_stream FAR *strm,
+ in_func in, void FAR *in_desc,
+ out_func out, void FAR *out_desc));
+ /*
+@@ -813,7 +813,7 @@
+ that inflateBack() cannot return Z_OK.
+ */
+
+-ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm));
++ZEXTERN ZEXPORT int inflateBackEnd OF((z_stream FAR *strm));
+ /*
+ All memory allocated by inflateBackInit() is freed.
+
+@@ -821,7 +821,7 @@
+ state was inconsistent.
+ */
+
+-ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
++ZEXTERN ZEXPORT uLong zlibCompileFlags OF((void));
+ /* Return flags indicating compile-time options.
+
+ Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
+@@ -873,7 +873,7 @@
+ utility functions can easily be modified if you need special options.
+ */
+
+-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
++ZEXTERN ZEXPORT int compress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+ /*
+ Compresses the source buffer into the destination buffer. sourceLen is
+@@ -888,7 +888,7 @@
+ buffer.
+ */
+
+-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
++ZEXTERN ZEXPORT int compress2 OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int level));
+ /*
+@@ -904,14 +904,14 @@
+ Z_STREAM_ERROR if the level parameter is invalid.
+ */
+
+-ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
++ZEXTERN ZEXPORT uLong compressBound OF((uLong sourceLen));
+ /*
+ compressBound() returns an upper bound on the compressed size after
+ compress() or compress2() on sourceLen bytes. It would be used before
+ a compress() or compress2() call to allocate the destination buffer.
+ */
+
+-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
++ZEXTERN ZEXPORT int uncompress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+ /*
+ Decompresses the source buffer into the destination buffer. sourceLen is
+@@ -932,7 +932,7 @@
+
+ typedef voidp gzFile;
+
+-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
++ZEXTERN ZEXPORT gzFile gzopen OF((const char *path, const char *mode));
+ /*
+ Opens a gzip (.gz) file for reading or writing. The mode parameter
+ is as in fopen ("rb" or "wb") but can also include a compression level
+@@ -949,7 +949,7 @@
+ can be checked to distinguish the two cases (if errno is zero, the
+ zlib error is Z_MEM_ERROR). */
+
+-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
++ZEXTERN ZEXPORT gzFile gzdopen OF((int fd, const char *mode));
+ /*
+ gzdopen() associates a gzFile with the file descriptor fd. File
+ descriptors are obtained from calls like open, dup, creat, pipe or
+@@ -962,7 +962,7 @@
+ the (de)compression state.
+ */
+
+-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
++ZEXTERN ZEXPORT int gzsetparams OF((gzFile file, int level, int strategy));
+ /*
+ Dynamically update the compression level or strategy. See the description
+ of deflateInit2 for the meaning of these parameters.
+@@ -970,7 +970,7 @@
+ opened for writing.
+ */
+
+-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
++ZEXTERN ZEXPORT int gzread OF((gzFile file, voidp buf, unsigned len));
+ /*
+ Reads the given number of uncompressed bytes from the compressed file.
+ If the input file was not in gzip format, gzread copies the given number
+@@ -978,7 +978,7 @@
+ gzread returns the number of uncompressed bytes actually read (0 for
+ end of file, -1 for error). */
+
+-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
++ZEXTERN ZEXPORT int gzwrite OF((gzFile file,
+ voidpc buf, unsigned len));
+ /*
+ Writes the given number of uncompressed bytes into the compressed file.
+@@ -986,7 +986,7 @@
+ (0 in case of error).
+ */
+
+-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
++ZEXTERN ZEXPORTVA int gzprintf OF((gzFile file, const char *format, ...));
+ /*
+ Converts, formats, and writes the args to the compressed file under
+ control of the format string, as in fprintf. gzprintf returns the number of
+@@ -999,14 +999,14 @@
+ because the secure snprintf() or vsnprintf() functions were not available.
+ */
+
+-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
++ZEXTERN ZEXPORT int gzputs OF((gzFile file, const char *s));
+ /*
+ Writes the given null-terminated string to the compressed file, excluding
+ the terminating null character.
+ gzputs returns the number of characters written, or -1 in case of error.
+ */
+
+-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
++ZEXTERN ZEXPORT char * gzgets OF((gzFile file, char *buf, int len));
+ /*
+ Reads bytes from the compressed file until len-1 characters are read, or
+ a newline character is read and transferred to buf, or an end-of-file
+@@ -1015,19 +1015,19 @@
+ gzgets returns buf, or Z_NULL in case of error.
+ */
+
+-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
++ZEXTERN ZEXPORT int gzputc OF((gzFile file, int c));
+ /*
+ Writes c, converted to an unsigned char, into the compressed file.
+ gzputc returns the value that was written, or -1 in case of error.
+ */
+
+-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
++ZEXTERN ZEXPORT int gzgetc OF((gzFile file));
+ /*
+ Reads one byte from the compressed file. gzgetc returns this byte
+ or -1 in case of end of file or error.
+ */
+
+-ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
++ZEXTERN ZEXPORT int gzungetc OF((int c, gzFile file));
+ /*
+ Push one character back onto the stream to be read again later.
+ Only one character of push-back is allowed. gzungetc() returns the
+@@ -1037,7 +1037,7 @@
+ or gzrewind().
+ */
+
+-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
++ZEXTERN ZEXPORT int gzflush OF((gzFile file, int flush));
+ /*
+ Flushes all pending output into the compressed file. The parameter
+ flush is as in the deflate() function. The return value is the zlib
+@@ -1047,7 +1047,7 @@
+ degrade compression.
+ */
+
+-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
++ZEXTERN ZEXPORT z_off_t gzseek OF((gzFile file,
+ z_off_t offset, int whence));
+ /*
+ Sets the starting position for the next gzread or gzwrite on the
+@@ -1065,14 +1065,14 @@
+ would be before the current position.
+ */
+
+-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
++ZEXTERN ZEXPORT int gzrewind OF((gzFile file));
+ /*
+ Rewinds the given file. This function is supported only for reading.
+
+ gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
+ */
+
+-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
++ZEXTERN ZEXPORT z_off_t gztell OF((gzFile file));
+ /*
+ Returns the starting position for the next gzread or gzwrite on the
+ given compressed file. This position represents a number of bytes in the
+@@ -1081,20 +1081,20 @@
+ gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
+ */
+
+-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
++ZEXTERN ZEXPORT int gzeof OF((gzFile file));
+ /*
+ Returns 1 when EOF has previously been detected reading the given
+ input stream, otherwise zero.
+ */
+
+-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
++ZEXTERN ZEXPORT int gzclose OF((gzFile file));
+ /*
+ Flushes all pending output if necessary, closes the compressed file
+ and deallocates all the (de)compression state. The return value is the zlib
+ error number (see function gzerror below).
+ */
+
+-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
++ZEXTERN ZEXPORT const char * gzerror OF((gzFile file, int *errnum));
+ /*
+ Returns the error message for the last error which occurred on the
+ given compressed file. errnum is set to zlib error number. If an
+@@ -1103,7 +1103,7 @@
+ to get the exact error code.
+ */
+
+-ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
++ZEXTERN ZEXPORT void gzclearerr OF((gzFile file));
+ /*
+ Clears the error and end-of-file flags for file. This is analogous to the
+ clearerr() function in stdio. This is useful for continuing to read a gzip
+@@ -1118,7 +1118,7 @@
+ compression library.
+ */
+
+-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
++ZEXTERN ZEXPORT uLong adler32 OF((uLong adler, const Bytef *buf, uInt len));
+
+ /*
+ Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+@@ -1135,7 +1135,7 @@
+ if (adler != original_adler) error();
+ */
+
+-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
++ZEXTERN ZEXPORT uLong crc32 OF((uLong crc, const Bytef *buf, uInt len));
+ /*
+ Update a running crc with the bytes buf[0..len-1] and return the updated
+ crc. If buf is NULL, this function returns the required initial value
+@@ -1157,17 +1157,17 @@
+ /* deflateInit and inflateInit are macros to allow checking the zlib version
+ * and the compiler's view of z_stream:
+ */
+-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
++ZEXTERN ZEXPORT int deflateInit_ OF((z_streamp strm, int level,
+ const char *version, int stream_size));
+-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
++ZEXTERN ZEXPORT int inflateInit_ OF((z_streamp strm,
+ const char *version, int stream_size));
+-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
++ZEXTERN ZEXPORT int deflateInit2_ OF((z_streamp strm, int level, int method,
+ int windowBits, int memLevel,
+ int strategy, const char *version,
+ int stream_size));
+-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
++ZEXTERN ZEXPORT int inflateInit2_ OF((z_streamp strm, int windowBits,
+ const char *version, int stream_size));
+-ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits,
++ZEXTERN ZEXPORT int inflateBackInit_ OF((z_stream FAR *strm, int windowBits,
+ unsigned char FAR *window,
+ const char *version,
+ int stream_size));
+@@ -1189,9 +1189,9 @@
+ struct internal_state {int dummy;}; /* hack for buggy compilers */
+ #endif
+
+-ZEXTERN const char * ZEXPORT zError OF((int));
+-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
+-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
++ZEXTERN ZEXPORT const char * zError OF((int));
++ZEXTERN ZEXPORT int inflateSyncPoint OF((z_streamp z));
++ZEXTERN ZEXPORT const uLongf * get_crc_table OF((void));
+
+ #ifdef __cplusplus
+ }
+--- tmp/work/arm-linux-uclibc/zlib-1.2.2-r5/zlib-1.2.2/zutil.c 2003-08-27 21:34:34.000000000 -0500
++++ zlib-1.2.2/zutil.c 2005-02-28 19:04:09.000000000 -0600
+@@ -28,12 +28,12 @@
+ ""};
+
+
+-const char * ZEXPORT zlibVersion()
++ZEXPORT const char * zlibVersion()
+ {
+ return ZLIB_VERSION;
+ }
+
+-uLong ZEXPORT zlibCompileFlags()
++ZEXPORT uLong zlibCompileFlags()
+ {
+ uLong flags;
+
+@@ -134,7 +134,7 @@
+ /* exported to allow conversion of error code to string for compress() and
+ * uncompress()
+ */
+-const char * ZEXPORT zError(err)
++ZEXPORT const char * zError(err)
+ int err;
+ {
+ return ERR_MSG(err);
diff --git a/meta/packages/zlib/files/zlib_1.2.2-8.diff.gz b/meta/packages/zlib/files/zlib_1.2.2-8.diff.gz
new file mode 100644
index 0000000000..c850141973
--- /dev/null
+++ b/meta/packages/zlib/files/zlib_1.2.2-8.diff.gz
Binary files differ
diff --git a/meta/packages/zlib/zlib-1.2.3/visibility.patch b/meta/packages/zlib/zlib-1.2.3/visibility.patch
new file mode 100644
index 0000000000..a4e7ae907a
--- /dev/null
+++ b/meta/packages/zlib/zlib-1.2.3/visibility.patch
@@ -0,0 +1,1034 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- zlib-1.2.3-orig/adler32.c~visibility
++++ zlib-1.2.3-orig/adler32.c
+@@ -54,7 +54,7 @@
+ #endif
+
+ /* ========================================================================= */
+-uLong ZEXPORT adler32(adler, buf, len)
++ZEXPORT uLong adler32(adler, buf, len)
+ uLong adler;
+ const Bytef *buf;
+ uInt len;
+--- zlib-1.2.3-orig/compress.c~visibility
++++ zlib-1.2.3-orig/compress.c
+@@ -19,7 +19,7 @@
+ memory, Z_BUF_ERROR if there was not enough room in the output buffer,
+ Z_STREAM_ERROR if the level parameter is invalid.
+ */
+-int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
++ZEXPORT int compress2 (dest, destLen, source, sourceLen, level)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+@@ -59,7 +59,7 @@
+
+ /* ===========================================================================
+ */
+-int ZEXPORT compress (dest, destLen, source, sourceLen)
++ZEXPORT int compress (dest, destLen, source, sourceLen)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+@@ -72,7 +72,7 @@
+ If the default memLevel or windowBits for deflateInit() is changed, then
+ this function needs to be updated.
+ */
+-uLong ZEXPORT compressBound (sourceLen)
++ZEXPORT uLong compressBound (sourceLen)
+ uLong sourceLen;
+ {
+ return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11;
+--- zlib-1.2.3-orig/crc32.c~visibility
++++ zlib-1.2.3-orig/crc32.c
+@@ -202,7 +202,7 @@
+ /* =========================================================================
+ * This function can be used by asm versions of crc32()
+ */
+-const unsigned long FAR * ZEXPORT get_crc_table()
++ZEXPORT const unsigned long FAR * get_crc_table()
+ {
+ #ifdef DYNAMIC_CRC_TABLE
+ if (crc_table_empty)
+@@ -216,7 +216,7 @@
+ #define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
+
+ /* ========================================================================= */
+-unsigned long ZEXPORT crc32(crc, buf, len)
++ZEXPORT unsigned long crc32(crc, buf, len)
+ unsigned long crc;
+ const unsigned char FAR *buf;
+ unsigned len;
+--- zlib-1.2.3-orig/deflate.c~visibility
++++ zlib-1.2.3-orig/deflate.c
+@@ -201,7 +201,7 @@
+ zmemzero((Bytef *)s->head, (unsigned)(s->hash_size-1)*sizeof(*s->head));
+
+ /* ========================================================================= */
+-int ZEXPORT deflateInit_(strm, level, version, stream_size)
++ZEXPORT int deflateInit_(strm, level, version, stream_size)
+ z_streamp strm;
+ int level;
+ const char *version;
+@@ -213,7 +213,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
++ZEXPORT int deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
+ version, stream_size)
+ z_streamp strm;
+ int level;
+@@ -312,7 +312,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateSetDictionary (strm, dictionary, dictLength)
++ZEXPORT int deflateSetDictionary (strm, dictionary, dictLength)
+ z_streamp strm;
+ const Bytef *dictionary;
+ uInt dictLength;
+@@ -354,7 +354,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateReset (strm)
++ZEXPORT int deflateReset (strm)
+ z_streamp strm;
+ {
+ deflate_state *s;
+@@ -401,7 +401,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflatePrime (strm, bits, value)
++ZEXPORT int deflatePrime (strm, bits, value)
+ z_streamp strm;
+ int bits;
+ int value;
+@@ -413,7 +413,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateParams(strm, level, strategy)
++ZEXPORT int deflateParams(strm, level, strategy)
+ z_streamp strm;
+ int level;
+ int strategy;
+@@ -486,7 +486,7 @@
+ * But even the conservative upper bound of about 14% expansion does not
+ * seem onerous for output buffer allocation.
+ */
+-uLong ZEXPORT deflateBound(strm, sourceLen)
++ZEXPORT uLong deflateBound(strm, sourceLen)
+ z_streamp strm;
+ uLong sourceLen;
+ {
+@@ -549,7 +549,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflate (strm, flush)
++ZEXPORT int deflate (strm, flush)
+ z_streamp strm;
+ int flush;
+ {
+@@ -856,7 +856,7 @@
+ }
+
+ /* ========================================================================= */
+-int ZEXPORT deflateEnd (strm)
++ZEXPORT int deflateEnd (strm)
+ z_streamp strm;
+ {
+ int status;
+@@ -891,7 +891,7 @@
+ * To simplify the source, this is not supported for 16-bit MSDOS (which
+ * doesn't have enough memory anyway to duplicate compression states).
+ */
+-int ZEXPORT deflateCopy (dest, source)
++ZEXPORT int deflateCopy (dest, source)
+ z_streamp dest;
+ z_streamp source;
+ {
+--- zlib-1.2.3-orig/gzio.c~visibility
++++ zlib-1.2.3-orig/gzio.c
+@@ -205,7 +205,7 @@
+ /* ===========================================================================
+ Opens a gzip (.gz) file for reading or writing.
+ */
+-gzFile ZEXPORT gzopen (path, mode)
++ZEXPORT gzFile gzopen (path, mode)
+ const char *path;
+ const char *mode;
+ {
+@@ -216,7 +216,7 @@
+ Associate a gzFile with the file descriptor fd. fd is not dup'ed here
+ to mimic the behavio(u)r of fdopen.
+ */
+-gzFile ZEXPORT gzdopen (fd, mode)
++ZEXPORT gzFile gzdopen (fd, mode)
+ int fd;
+ const char *mode;
+ {
+@@ -231,7 +231,7 @@
+ /* ===========================================================================
+ * Update the compression level and strategy
+ */
+-int ZEXPORT gzsetparams (file, level, strategy)
++ZEXPORT int gzsetparams (file, level, strategy)
+ gzFile file;
+ int level;
+ int strategy;
+@@ -391,7 +391,7 @@
+ Reads the given number of uncompressed bytes from the compressed file.
+ gzread returns the number of bytes actually read (0 for end of file).
+ */
+-int ZEXPORT gzread (file, buf, len)
++ZEXPORT int gzread (file, buf, len)
+ gzFile file;
+ voidp buf;
+ unsigned len;
+@@ -500,7 +500,7 @@
+ Reads one byte from the compressed file. gzgetc returns this byte
+ or -1 in case of end of file or error.
+ */
+-int ZEXPORT gzgetc(file)
++ZEXPORT int gzgetc(file)
+ gzFile file;
+ {
+ unsigned char c;
+@@ -512,7 +512,7 @@
+ /* ===========================================================================
+ Push one byte back onto the stream.
+ */
+-int ZEXPORT gzungetc(c, file)
++ZEXPORT int gzungetc(c, file)
+ int c;
+ gzFile file;
+ {
+@@ -537,7 +537,7 @@
+
+ The current implementation is not optimized at all.
+ */
+-char * ZEXPORT gzgets(file, buf, len)
++ZEXPORT char * gzgets(file, buf, len)
+ gzFile file;
+ char *buf;
+ int len;
+@@ -556,7 +556,7 @@
+ Writes the given number of uncompressed bytes into the compressed file.
+ gzwrite returns the number of bytes actually written (0 in case of error).
+ */
+-int ZEXPORT gzwrite (file, buf, len)
++ZEXPORT int gzwrite (file, buf, len)
+ gzFile file;
+ voidpc buf;
+ unsigned len;
+@@ -600,7 +600,7 @@
+ #ifdef STDC
+ #include <stdarg.h>
+
+-int ZEXPORTVA gzprintf (gzFile file, const char *format, /* args */ ...)
++ZEXPORTVA int gzprintf (gzFile file, const char *format, /* args */ ...)
+ {
+ char buf[Z_PRINTF_BUFSIZE];
+ va_list va;
+@@ -634,7 +634,7 @@
+ }
+ #else /* not ANSI C */
+
+-int ZEXPORTVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
++ZEXPORT intVA gzprintf (file, format, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+ a11, a12, a13, a14, a15, a16, a17, a18, a19, a20)
+ gzFile file;
+ const char *format;
+@@ -675,7 +675,7 @@
+ Writes c, converted to an unsigned char, into the compressed file.
+ gzputc returns the value that was written, or -1 in case of error.
+ */
+-int ZEXPORT gzputc(file, c)
++ZEXPORT int gzputc(file, c)
+ gzFile file;
+ int c;
+ {
+@@ -690,7 +690,7 @@
+ the terminating null character.
+ gzputs returns the number of characters written, or -1 in case of error.
+ */
+-int ZEXPORT gzputs(file, s)
++ZEXPORT int gzputs(file, s)
+ gzFile file;
+ const char *s;
+ {
+@@ -743,7 +743,7 @@
+ return s->z_err == Z_STREAM_END ? Z_OK : s->z_err;
+ }
+
+-int ZEXPORT gzflush (file, flush)
++ZEXPORT int gzflush (file, flush)
+ gzFile file;
+ int flush;
+ {
+@@ -764,7 +764,7 @@
+ SEEK_END is not implemented, returns error.
+ In this version of the library, gzseek can be extremely slow.
+ */
+-z_off_t ZEXPORT gzseek (file, offset, whence)
++ZEXPORT z_off_t gzseek (file, offset, whence)
+ gzFile file;
+ z_off_t offset;
+ int whence;
+@@ -854,7 +854,7 @@
+ /* ===========================================================================
+ Rewinds input file.
+ */
+-int ZEXPORT gzrewind (file)
++ZEXPORT int gzrewind (file)
+ gzFile file;
+ {
+ gz_stream *s = (gz_stream*)file;
+@@ -878,7 +878,7 @@
+ given compressed file. This position represents a number of bytes in the
+ uncompressed data stream.
+ */
+-z_off_t ZEXPORT gztell (file)
++ZEXPORT z_off_t gztell (file)
+ gzFile file;
+ {
+ return gzseek(file, 0L, SEEK_CUR);
+@@ -888,7 +888,7 @@
+ Returns 1 when EOF has previously been detected reading the given
+ input stream, otherwise zero.
+ */
+-int ZEXPORT gzeof (file)
++ZEXPORT int gzeof (file)
+ gzFile file;
+ {
+ gz_stream *s = (gz_stream*)file;
+@@ -950,7 +950,7 @@
+ Flushes all pending output if necessary, closes the compressed file
+ and deallocates all the (de)compression state.
+ */
+-int ZEXPORT gzclose (file)
++ZEXPORT int gzclose (file)
+ gzFile file;
+ {
+ gz_stream *s = (gz_stream*)file;
+@@ -984,7 +984,7 @@
+ errnum is set to Z_ERRNO and the application may consult errno
+ to get the exact error code.
+ */
+-const char * ZEXPORT gzerror (file, errnum)
++ZEXPORT const char * gzerror (file, errnum)
+ gzFile file;
+ int *errnum;
+ {
+@@ -1014,7 +1014,7 @@
+ /* ===========================================================================
+ Clear the error and end-of-file flags, and do the same for the real file.
+ */
+-void ZEXPORT gzclearerr (file)
++ZEXPORT void gzclearerr (file)
+ gzFile file;
+ {
+ gz_stream *s = (gz_stream*)file;
+--- zlib-1.2.3-orig/infback.c~visibility
++++ zlib-1.2.3-orig/infback.c
+@@ -25,7 +25,7 @@
+ windowBits is in the range 8..15, and window is a user-supplied
+ window and output buffer that is 2**windowBits bytes.
+ */
+-int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size)
++ZEXPORT int inflateBackInit_(strm, windowBits, window, version, stream_size)
+ z_streamp strm;
+ int windowBits;
+ unsigned char FAR *window;
+@@ -238,7 +238,7 @@
+ inflateBack() can also return Z_STREAM_ERROR if the input parameters
+ are not correct, i.e. strm is Z_NULL or the state was not initialized.
+ */
+-int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc)
++ZEXPORT int inflateBack(strm, in, in_desc, out, out_desc)
+ z_streamp strm;
+ in_func in;
+ void FAR *in_desc;
+@@ -611,7 +611,7 @@
+ return ret;
+ }
+
+-int ZEXPORT inflateBackEnd(strm)
++ZEXPORT int inflateBackEnd(strm)
+ z_streamp strm;
+ {
+ if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
+--- zlib-1.2.3-orig/inflate.c~visibility
++++ zlib-1.2.3-orig/inflate.c
+@@ -100,7 +100,7 @@
+ local unsigned syncsearch OF((unsigned FAR *have, unsigned char FAR *buf,
+ unsigned len));
+
+-int ZEXPORT inflateReset(strm)
++ZEXPORT int inflateReset(strm)
+ z_streamp strm;
+ {
+ struct inflate_state FAR *state;
+@@ -141,7 +141,7 @@
+ return Z_OK;
+ }
+
+-int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size)
++ZEXPORT int inflateInit2_(strm, windowBits, version, stream_size)
+ z_streamp strm;
+ int windowBits;
+ const char *version;
+@@ -184,7 +184,7 @@
+ return inflateReset(strm);
+ }
+
+-int ZEXPORT inflateInit_(strm, version, stream_size)
++ZEXPORT int inflateInit_(strm, version, stream_size)
+ z_streamp strm;
+ const char *version;
+ int stream_size;
+@@ -551,7 +551,7 @@
+ will return Z_BUF_ERROR if it has not reached the end of the stream.
+ */
+
+-int ZEXPORT inflate(strm, flush)
++ZEXPORT int inflate(strm, flush)
+ z_streamp strm;
+ int flush;
+ {
+@@ -1152,7 +1152,7 @@
+ return ret;
+ }
+
+-int ZEXPORT inflateEnd(strm)
++ZEXPORT int inflateEnd(strm)
+ z_streamp strm;
+ {
+ struct inflate_state FAR *state;
+@@ -1166,7 +1166,7 @@
+ return Z_OK;
+ }
+
+-int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength)
++ZEXPORT int inflateSetDictionary(strm, dictionary, dictLength)
+ z_streamp strm;
+ const Bytef *dictionary;
+ uInt dictLength;
+@@ -1259,7 +1259,7 @@
+ return next;
+ }
+
+-int ZEXPORT inflateSync(strm)
++ZEXPORT int inflateSync(strm)
+ z_streamp strm;
+ {
+ unsigned len; /* number of bytes to look at or looked at */
+@@ -1310,7 +1310,7 @@
+ block. When decompressing, PPP checks that at the end of input packet,
+ inflate is waiting for these length bytes.
+ */
+-int ZEXPORT inflateSyncPoint(strm)
++ZEXPORT int inflateSyncPoint(strm)
+ z_streamp strm;
+ {
+ struct inflate_state FAR *state;
+@@ -1320,7 +1320,7 @@
+ return state->mode == STORED && state->bits == 0;
+ }
+
+-int ZEXPORT inflateCopy(dest, source)
++ZEXPORT int inflateCopy(dest, source)
+ z_streamp dest;
+ z_streamp source;
+ {
+--- zlib-1.2.3-orig/uncompr.c~visibility
++++ zlib-1.2.3-orig/uncompr.c
+@@ -23,7 +23,7 @@
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer, or Z_DATA_ERROR if the input data was corrupted.
+ */
+-int ZEXPORT uncompress (dest, destLen, source, sourceLen)
++ZEXPORT int uncompress (dest, destLen, source, sourceLen)
+ Bytef *dest;
+ uLongf *destLen;
+ const Bytef *source;
+--- zlib-1.2.3-orig/zconf.in.h~visibility
++++ zlib-1.2.3-orig/zconf.in.h
+@@ -204,11 +204,9 @@
+ */
+ # ifdef ZLIB_DLL
+ # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
+-# ifdef ZLIB_INTERNAL
+-# define ZEXTERN extern __declspec(dllexport)
+-# else
+-# define ZEXTERN extern __declspec(dllimport)
+-# endif
++# define ZDLLLOCAL __declspec(dllimport)
++# define ZDLLPUBLIC __declspec(dllexport)
++# define ZEXTERN extern
+ # endif
+ # endif /* ZLIB_DLL */
+ /* If building or using zlib with the WINAPI/WINAPIV calling convention,
+@@ -229,30 +227,45 @@
+ # define ZEXPORTVA FAR CDECL
+ # endif
+ # endif
+-#endif
+-
+-#if defined (__BEOS__)
++#elif defined (__BEOS__)
+ # ifdef ZLIB_DLL
+-# ifdef ZLIB_INTERNAL
+-# define ZEXPORT __declspec(dllexport)
+-# define ZEXPORTVA __declspec(dllexport)
+-# else
+-# define ZEXPORT __declspec(dllimport)
+-# define ZEXPORTVA __declspec(dllimport)
+-# endif
++# define ZDLLIMPORT __declspec(dllimport)
++# define ZDLLPUBLIC __declspec(dllexport)
++# define ZDLLLOCAL
++# endif
++#else
++# define ZDLLIMPORT
++# ifdef GCC_HASCLASSVISIBILITY
++# define ZDLLLOCAL __attribute__ ((visibility("hidden")))
++# define ZDLLPUBLIC __attribute__ ((visibility("default")))
++# else
++# define ZDLLLOCAL
++# define ZDLLPUBLIC
+ # endif
+ #endif
+
+ #ifndef ZEXTERN
+ # define ZEXTERN extern
+ #endif
+-#ifndef ZEXPORT
+-# define ZEXPORT
+-#endif
+-#ifndef ZEXPORTVA
+-# define ZEXPORTVA
++#ifdef ZLIB_INTERNAL
++# ifndef ZLIB_DLL
++# define ZEXPORT
++# define ZEXPORTVA
++# endif
++# ifndef ZEXPORT
++# define ZEXPORT ZDLLPUBLIC
++# endif
++# ifndef ZEXPORTVA
++# define ZEXPORTVA ZDLLPUBLIC
++# endif
++#else
++# ifndef ZEXPORT
++# define ZEXPORT ZDLLIMPORT
++# endif
++# ifndef ZEXPORTVA
++# define ZEXPORTVA ZDLLIMPORT
++# endif
+ #endif
+-
+ #ifndef FAR
+ # define FAR
+ #endif
+--- zlib-1.2.3-orig/zlib.h~visibility
++++ zlib-1.2.3-orig/zlib.h
+@@ -209,7 +209,7 @@
+
+ /* basic functions */
+
+-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
++ZEXTERN ZEXPORT const char * zlibVersion OF((void));
+ /* The application can compare zlibVersion and ZLIB_VERSION for consistency.
+ If the first character differs, the library code actually used is
+ not compatible with the zlib.h header file used by the application.
+@@ -217,7 +217,7 @@
+ */
+
+ /*
+-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
++ZEXTERN ZEXPORT int deflateInit OF((z_streamp strm, int level));
+
+ Initializes the internal stream state for compression. The fields
+ zalloc, zfree and opaque must be initialized before by the caller.
+@@ -239,7 +239,7 @@
+ */
+
+
+-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
++ZEXTERN ZEXPORT int deflate OF((z_streamp strm, int flush));
+ /*
+ deflate compresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce some
+@@ -325,7 +325,7 @@
+ */
+
+
+-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
++ZEXTERN ZEXPORT int deflateEnd OF((z_streamp strm));
+ /*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+@@ -340,7 +340,7 @@
+
+
+ /*
+-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateInit OF((z_streamp strm));
+
+ Initializes the internal stream state for decompression. The fields
+ next_in, avail_in, zalloc, zfree and opaque must be initialized before by
+@@ -360,7 +360,7 @@
+ */
+
+
+-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
++ZEXTERN ZEXPORT int inflate OF((z_streamp strm, int flush));
+ /*
+ inflate decompresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce
+@@ -459,7 +459,7 @@
+ */
+
+
+-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateEnd OF((z_streamp strm));
+ /*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any
+@@ -477,7 +477,7 @@
+ */
+
+ /*
+-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
++ZEXTERN ZEXPORT int deflateInit2 OF((z_streamp strm,
+ int level,
+ int method,
+ int windowBits,
+@@ -535,7 +535,7 @@
+ not perform any compression: this will be done by deflate().
+ */
+
+-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
++ZEXTERN ZEXPORT int deflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+ /*
+@@ -574,7 +574,7 @@
+ perform any compression: this will be done by deflate().
+ */
+
+-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
++ZEXTERN ZEXPORT int deflateCopy OF((z_streamp dest,
+ z_streamp source));
+ /*
+ Sets the destination stream as a complete copy of the source stream.
+@@ -592,7 +592,7 @@
+ destination.
+ */
+
+-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
++ZEXTERN ZEXPORT int deflateReset OF((z_streamp strm));
+ /*
+ This function is equivalent to deflateEnd followed by deflateInit,
+ but does not free and reallocate all the internal compression state.
+@@ -603,7 +603,7 @@
+ stream state was inconsistent (such as zalloc or state being NULL).
+ */
+
+-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
++ZEXTERN ZEXPORT int deflateParams OF((z_streamp strm,
+ int level,
+ int strategy));
+ /*
+@@ -641,7 +641,7 @@
+ returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
+ */
+
+-ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
++ZEXTERN ZEXPORT uLong deflateBound OF((z_streamp strm,
+ uLong sourceLen));
+ /*
+ deflateBound() returns an upper bound on the compressed size after
+@@ -650,7 +650,7 @@
+ for deflation in a single pass, and so would be called before deflate().
+ */
+
+-ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
++ZEXTERN ZEXPORT int deflatePrime OF((z_streamp strm,
+ int bits,
+ int value));
+ /*
+@@ -691,7 +691,7 @@
+ */
+
+ /*
+-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
++ZEXTERN ZEXPORT int inflateInit2 OF((z_streamp strm,
+ int windowBits));
+
+ This is another version of inflateInit with an extra parameter. The
+@@ -733,7 +733,7 @@
+ and avail_out are unchanged.)
+ */
+
+-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
++ZEXTERN ZEXPORT int inflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+ /*
+@@ -755,7 +755,7 @@
+ inflate().
+ */
+
+-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateSync OF((z_streamp strm));
+ /*
+ Skips invalid compressed data until a full flush point (see above the
+ description of deflate with Z_FULL_FLUSH) can be found, or until all
+@@ -770,7 +770,7 @@
+ until success or end of the input data.
+ */
+
+-ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
++ZEXTERN ZEXPORT int inflateCopy OF((z_streamp dest,
+ z_streamp source));
+ /*
+ Sets the destination stream as a complete copy of the source stream.
+@@ -786,7 +786,7 @@
+ destination.
+ */
+
+-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateReset OF((z_streamp strm));
+ /*
+ This function is equivalent to inflateEnd followed by inflateInit,
+ but does not free and reallocate all the internal decompression state.
+@@ -853,7 +853,7 @@
+ */
+
+ /*
+-ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
++ZEXTERN ZEXPORT int inflateBackInit OF((z_streamp strm, int windowBits,
+ unsigned char FAR *window));
+
+ Initialize the internal stream state for decompression using inflateBack()
+@@ -877,7 +877,7 @@
+ typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
+ typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
+
+-ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
++ZEXTERN ZEXPORT int inflateBack OF((z_streamp strm,
+ in_func in, void FAR *in_desc,
+ out_func out, void FAR *out_desc));
+ /*
+@@ -946,7 +946,7 @@
+ that inflateBack() cannot return Z_OK.
+ */
+
+-ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
++ZEXTERN ZEXPORT int inflateBackEnd OF((z_streamp strm));
+ /*
+ All memory allocated by inflateBackInit() is freed.
+
+@@ -954,7 +954,7 @@
+ state was inconsistent.
+ */
+
+-ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
++ZEXTERN ZEXPORT uLong zlibCompileFlags OF((void));
+ /* Return flags indicating compile-time options.
+
+ Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
+@@ -1006,7 +1006,7 @@
+ utility functions can easily be modified if you need special options.
+ */
+
+-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
++ZEXTERN ZEXPORT int compress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+ /*
+ Compresses the source buffer into the destination buffer. sourceLen is
+@@ -1021,7 +1021,7 @@
+ buffer.
+ */
+
+-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
++ZEXTERN ZEXPORT int compress2 OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int level));
+ /*
+@@ -1037,14 +1037,14 @@
+ Z_STREAM_ERROR if the level parameter is invalid.
+ */
+
+-ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
++ZEXTERN ZEXPORT uLong compressBound OF((uLong sourceLen));
+ /*
+ compressBound() returns an upper bound on the compressed size after
+ compress() or compress2() on sourceLen bytes. It would be used before
+ a compress() or compress2() call to allocate the destination buffer.
+ */
+
+-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
++ZEXTERN ZEXPORT int uncompress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+ /*
+ Decompresses the source buffer into the destination buffer. sourceLen is
+@@ -1065,7 +1065,7 @@
+
+ typedef voidp gzFile;
+
+-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
++ZEXTERN ZEXPORT gzFile gzopen OF((const char *path, const char *mode));
+ /*
+ Opens a gzip (.gz) file for reading or writing. The mode parameter
+ is as in fopen ("rb" or "wb") but can also include a compression level
+@@ -1082,7 +1082,7 @@
+ can be checked to distinguish the two cases (if errno is zero, the
+ zlib error is Z_MEM_ERROR). */
+
+-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
++ZEXTERN ZEXPORT gzFile gzdopen OF((int fd, const char *mode));
+ /*
+ gzdopen() associates a gzFile with the file descriptor fd. File
+ descriptors are obtained from calls like open, dup, creat, pipe or
+@@ -1095,7 +1095,7 @@
+ the (de)compression state.
+ */
+
+-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
++ZEXTERN ZEXPORT int gzsetparams OF((gzFile file, int level, int strategy));
+ /*
+ Dynamically update the compression level or strategy. See the description
+ of deflateInit2 for the meaning of these parameters.
+@@ -1103,7 +1103,7 @@
+ opened for writing.
+ */
+
+-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
++ZEXTERN ZEXPORT int gzread OF((gzFile file, voidp buf, unsigned len));
+ /*
+ Reads the given number of uncompressed bytes from the compressed file.
+ If the input file was not in gzip format, gzread copies the given number
+@@ -1111,7 +1111,7 @@
+ gzread returns the number of uncompressed bytes actually read (0 for
+ end of file, -1 for error). */
+
+-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
++ZEXTERN ZEXPORT int gzwrite OF((gzFile file,
+ voidpc buf, unsigned len));
+ /*
+ Writes the given number of uncompressed bytes into the compressed file.
+@@ -1119,7 +1119,7 @@
+ (0 in case of error).
+ */
+
+-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
++ZEXTERN ZEXPORTVA int gzprintf OF((gzFile file, const char *format, ...));
+ /*
+ Converts, formats, and writes the args to the compressed file under
+ control of the format string, as in fprintf. gzprintf returns the number of
+@@ -1132,14 +1132,14 @@
+ because the secure snprintf() or vsnprintf() functions were not available.
+ */
+
+-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
++ZEXTERN ZEXPORT int gzputs OF((gzFile file, const char *s));
+ /*
+ Writes the given null-terminated string to the compressed file, excluding
+ the terminating null character.
+ gzputs returns the number of characters written, or -1 in case of error.
+ */
+
+-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
++ZEXTERN ZEXPORT char * gzgets OF((gzFile file, char *buf, int len));
+ /*
+ Reads bytes from the compressed file until len-1 characters are read, or
+ a newline character is read and transferred to buf, or an end-of-file
+@@ -1148,19 +1148,19 @@
+ gzgets returns buf, or Z_NULL in case of error.
+ */
+
+-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
++ZEXTERN ZEXPORT int gzputc OF((gzFile file, int c));
+ /*
+ Writes c, converted to an unsigned char, into the compressed file.
+ gzputc returns the value that was written, or -1 in case of error.
+ */
+
+-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
++ZEXTERN ZEXPORT int gzgetc OF((gzFile file));
+ /*
+ Reads one byte from the compressed file. gzgetc returns this byte
+ or -1 in case of end of file or error.
+ */
+
+-ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
++ZEXTERN ZEXPORT int gzungetc OF((int c, gzFile file));
+ /*
+ Push one character back onto the stream to be read again later.
+ Only one character of push-back is allowed. gzungetc() returns the
+@@ -1170,7 +1170,7 @@
+ or gzrewind().
+ */
+
+-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
++ZEXTERN ZEXPORT int gzflush OF((gzFile file, int flush));
+ /*
+ Flushes all pending output into the compressed file. The parameter
+ flush is as in the deflate() function. The return value is the zlib
+@@ -1180,7 +1180,7 @@
+ degrade compression.
+ */
+
+-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
++ZEXTERN ZEXPORT z_off_t gzseek OF((gzFile file,
+ z_off_t offset, int whence));
+ /*
+ Sets the starting position for the next gzread or gzwrite on the
+@@ -1198,14 +1198,14 @@
+ would be before the current position.
+ */
+
+-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
++ZEXTERN ZEXPORT int gzrewind OF((gzFile file));
+ /*
+ Rewinds the given file. This function is supported only for reading.
+
+ gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
+ */
+
+-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
++ZEXTERN ZEXPORT z_off_t gztell OF((gzFile file));
+ /*
+ Returns the starting position for the next gzread or gzwrite on the
+ given compressed file. This position represents a number of bytes in the
+@@ -1214,26 +1214,26 @@
+ gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
+ */
+
+-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
++ZEXTERN ZEXPORT int gzeof OF((gzFile file));
+ /*
+ Returns 1 when EOF has previously been detected reading the given
+ input stream, otherwise zero.
+ */
+
+-ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
++ZEXTERN ZEXPORT int gzdirect OF((gzFile file));
+ /*
+ Returns 1 if file is being read directly without decompression, otherwise
+ zero.
+ */
+
+-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
++ZEXTERN ZEXPORT int gzclose OF((gzFile file));
+ /*
+ Flushes all pending output if necessary, closes the compressed file
+ and deallocates all the (de)compression state. The return value is the zlib
+ error number (see function gzerror below).
+ */
+
+-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
++ZEXTERN ZEXPORT const char * gzerror OF((gzFile file, int *errnum));
+ /*
+ Returns the error message for the last error which occurred on the
+ given compressed file. errnum is set to zlib error number. If an
+@@ -1242,7 +1242,7 @@
+ to get the exact error code.
+ */
+
+-ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
++ZEXTERN ZEXPORT void gzclearerr OF((gzFile file));
+ /*
+ Clears the error and end-of-file flags for file. This is analogous to the
+ clearerr() function in stdio. This is useful for continuing to read a gzip
+@@ -1257,7 +1257,7 @@
+ compression library.
+ */
+
+-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
++ZEXTERN ZEXPORT uLong adler32 OF((uLong adler, const Bytef *buf, uInt len));
+ /*
+ Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+ return the updated checksum. If buf is NULL, this function returns
+@@ -1282,7 +1282,7 @@
+ seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.
+ */
+
+-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
++ZEXTERN ZEXPORT uLong crc32 OF((uLong crc, const Bytef *buf, uInt len));
+ /*
+ Update a running CRC-32 with the bytes buf[0..len-1] and return the
+ updated CRC-32. If buf is NULL, this function returns the required initial
+@@ -1314,17 +1314,17 @@
+ /* deflateInit and inflateInit are macros to allow checking the zlib version
+ * and the compiler's view of z_stream:
+ */
+-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
++ZEXTERN ZEXPORT int deflateInit_ OF((z_streamp strm, int level,
+ const char *version, int stream_size));
+-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
++ZEXTERN ZEXPORT int inflateInit_ OF((z_streamp strm,
+ const char *version, int stream_size));
+-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
++ZEXTERN ZEXPORT int deflateInit2_ OF((z_streamp strm, int level, int method,
+ int windowBits, int memLevel,
+ int strategy, const char *version,
+ int stream_size));
+-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
++ZEXTERN ZEXPORT int inflateInit2_ OF((z_streamp strm, int windowBits,
+ const char *version, int stream_size));
+-ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
++ZEXTERN ZEXPORT int inflateBackInit_ OF((z_streamp strm, int windowBits,
+ unsigned char FAR *window,
+ const char *version,
+ int stream_size));
+@@ -1346,9 +1346,9 @@
+ struct internal_state {int dummy;}; /* hack for buggy compilers */
+ #endif
+
+-ZEXTERN const char * ZEXPORT zError OF((int));
+-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
+-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
++ZEXTERN ZEXPORT const char * zError OF((int));
++ZEXTERN ZEXPORT int inflateSyncPoint OF((z_streamp z));
++ZEXTERN ZEXPORT const uLongf * get_crc_table OF((void));
+
+ #ifdef __cplusplus
+ }
+--- zlib-1.2.3-orig/zutil.c~visibility
++++ zlib-1.2.3-orig/zutil.c
+@@ -24,12 +24,12 @@
+ ""};
+
+
+-const char * ZEXPORT zlibVersion()
++ZEXPORT const char * zlibVersion()
+ {
+ return ZLIB_VERSION;
+ }
+
+-uLong ZEXPORT zlibCompileFlags()
++ZEXPORT uLong zlibCompileFlags()
+ {
+ uLong flags;
+
+@@ -130,7 +130,7 @@
+ /* exported to allow conversion of error code to string for compress() and
+ * uncompress()
+ */
+-const char * ZEXPORT zError(err)
++ZEXPORT const char * zError(err)
+ int err;
+ {
+ return ERR_MSG(err);
diff --git a/meta/packages/zlib/zlib-native_1.1.4.bb b/meta/packages/zlib/zlib-native_1.1.4.bb
new file mode 100644
index 0000000000..5edd4b0b28
--- /dev/null
+++ b/meta/packages/zlib/zlib-native_1.1.4.bb
@@ -0,0 +1,4 @@
+SECTION = "libs"
+include zlib_${PV}.bb
+inherit native
+DEPENDS = ""
diff --git a/meta/packages/zlib/zlib-native_1.2.2.bb b/meta/packages/zlib/zlib-native_1.2.2.bb
new file mode 100644
index 0000000000..5edd4b0b28
--- /dev/null
+++ b/meta/packages/zlib/zlib-native_1.2.2.bb
@@ -0,0 +1,4 @@
+SECTION = "libs"
+include zlib_${PV}.bb
+inherit native
+DEPENDS = ""
diff --git a/meta/packages/zlib/zlib-native_1.2.3.bb b/meta/packages/zlib/zlib-native_1.2.3.bb
new file mode 100644
index 0000000000..14e1be63e1
--- /dev/null
+++ b/meta/packages/zlib/zlib-native_1.2.3.bb
@@ -0,0 +1,5 @@
+SECTION = "libs"
+include zlib_${PV}.bb
+inherit native
+DEPENDS = ""
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/zlib-${PV}', '${FILE_DIRNAME}/zlib', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
diff --git a/meta/packages/zlib/zlib_1.1.4.bb b/meta/packages/zlib/zlib_1.1.4.bb
new file mode 100644
index 0000000000..86066e77f5
--- /dev/null
+++ b/meta/packages/zlib/zlib_1.1.4.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Zlib Compression Library"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+HOMEPAGE = "http://www.gzip.org/zlib/"
+LICENSE = "zlib"
+PR = "r1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/zlib-${PV}.tar.gz"
+
+S = "${WORKDIR}/zlib-${PV}"
+
+export LDSHARED = "${CC} -shared -Wl,-soname,libz.so.1"
+LDFLAGS_append = " -L. -lz"
+CFLAGS_prepend = "-fPIC "
+AR_append = " rc"
+EXTRA_OEMAKE = ""
+
+do_compile() {
+ ./configure --prefix=${prefix} --exec_prefix=${exec_prefix} --shared --libdir=${libdir} --includedir=${includedir}
+ oe_runmake -e MAKEFLAGS="" libz.so.${PV} libz.a
+}
+
+do_stage() {
+ install -m 0644 zlib.h ${STAGING_INCDIR}/zlib.h
+ install -m 0644 zconf.h ${STAGING_INCDIR}/zconf.h
+ oe_libinstall -a -so libz ${STAGING_LIBDIR}
+}
+
+do_install() {
+ install -d ${D}${prefix} ${D}${includedir} ${D}${libdir}
+ oe_runmake "prefix=${D}${prefix}" "includedir=${D}${includedir}" \
+ "libdir=${D}${libdir}" install
+}
diff --git a/meta/packages/zlib/zlib_1.2.2.bb b/meta/packages/zlib/zlib_1.2.2.bb
new file mode 100644
index 0000000000..08c97c2f25
--- /dev/null
+++ b/meta/packages/zlib/zlib_1.2.2.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Zlib Compression Library"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+HOMEPAGE = "http://www.gzip.org/zlib/"
+LICENSE = "zlib"
+PR = "r6"
+
+SRC_URI = "http://www.libpng.org/pub/png/src/zlib-${PV}.tar.gz \
+ file://visibility.patch;patch=1 \
+ file://zlib_1.2.2-8.diff.gz;patch=1 "
+S = "${WORKDIR}/zlib-${PV}"
+
+export LDSHARED = "${CC} -shared -Wl,-soname,libz.so.1"
+LDFLAGS_append = " -L. -lz"
+CFLAGS_prepend = "-fPIC -DZLIB_DLL "
+AR_append = " rc"
+EXTRA_OEMAKE = ""
+
+do_compile() {
+ ./configure --prefix=${prefix} --exec_prefix=${exec_prefix} --shared --libdir=${libdir} --includedir=${includedir}
+ oe_runmake -e MAKEFLAGS="" libz.so.${PV} libz.a
+}
+
+do_stage() {
+ install -m 0644 zlib.h ${STAGING_INCDIR}/zlib.h
+ install -m 0644 zconf.h ${STAGING_INCDIR}/zconf.h
+ oe_libinstall -a -so libz ${STAGING_LIBDIR}
+}
+
+do_install() {
+ install -d ${D}${prefix} ${D}${includedir} ${D}${libdir}
+ oe_runmake "prefix=${D}${prefix}" \
+ "exec_prefix=${D}${exec_prefix}" \
+ "man3dir=${D}${mandir}/man3" \
+ "includedir=${D}${includedir}" \
+ "libdir=${D}${libdir}" install
+}
diff --git a/meta/packages/zlib/zlib_1.2.3.bb b/meta/packages/zlib/zlib_1.2.3.bb
new file mode 100644
index 0000000000..1d342f51d1
--- /dev/null
+++ b/meta/packages/zlib/zlib_1.2.3.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "Zlib Compression Library"
+SECTION = "libs"
+PRIORITY = "required"
+MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
+HOMEPAGE = "http://www.gzip.org/zlib/"
+LICENSE = "zlib"
+
+SRC_URI = "http://www.zlib.net/zlib-1.2.3.tar.bz2 \
+ file://visibility.patch;patch=1"
+
+S = "${WORKDIR}/zlib-${PV}"
+
+export LDSHARED = "${CC} -shared -Wl,-soname,libz.so.1"
+LDFLAGS_append = " -L. -lz"
+CFLAGS_prepend = "-fPIC -DZLIB_DLL "
+AR_append = " rc"
+EXTRA_OEMAKE = ""
+
+do_compile() {
+ ./configure --prefix=${prefix} --exec_prefix=${exec_prefix} --shared --libdir=${libdir} --includedir=${includedir}
+ oe_runmake -e MAKEFLAGS="" libz.so.${PV} libz.a
+}
+
+do_stage() {
+ install -m 0644 zlib.h ${STAGING_INCDIR}/zlib.h
+ install -m 0644 zconf.h ${STAGING_INCDIR}/zconf.h
+ oe_libinstall -a -so libz ${STAGING_LIBDIR}
+}
+
+do_install() {
+ install -d ${D}${prefix} ${D}${includedir} ${D}${libdir}
+ oe_runmake "prefix=${D}${prefix}" \
+ "exec_prefix=${D}${exec_prefix}" \
+ "man3dir=${D}${mandir}/man3" \
+ "includedir=${D}${includedir}" \
+ "libdir=${D}${libdir}" install
+}
diff --git a/meta/site/arm-linux b/meta/site/arm-linux
new file mode 100644
index 0000000000..1f6287abb5
--- /dev/null
+++ b/meta/site/arm-linux
@@ -0,0 +1,301 @@
+ac_cv_func_getpgrp_void=yes
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_wchar_t=${ac_cv_sizeof_wchar_t=1}
+ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1}
+ac_cv_sizeof_bool=${ac_cv_sizeof_bool=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
+ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2}
+ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4}
+ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4}
+ac_cv_sizeof_unsigned_long_long=${ac_cv_sizeof_unsigned_long_long=8}
+ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+
+# apache
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# coreutils
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# nano
+ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+
+# libnet
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# socat
+ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
+sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}
+
+# links
+ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
+samba_cv_HAVE_IFACE_IFREQ=${samba_cv_HAVE_IFACE_IFREQ=yes}
+samba_cv_USE_SETEUID=${samba_cv_USE_SETEUID=yes}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_USE_SETREUID=${samba_cv_USE_SETREUID=yes}
+samba_cv_USE_SETUIDX=${samba_cv_USE_SETUIDX=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=yes}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
+
+
+# sleepycat db
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# glib
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# libesmtp
+acx_working_snprintf=${acx_working_snprintf=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# glib 2.0
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
+
+glib_cv_strlcpy=${glib_cv_strlcpy=no}
+
+# httppc
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+
+# jikes
+ac_cv_sizeof_wchar_t=4
+
+# lftp
+ac_cv_file___dev_ptc_=yes
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# edb
+db_cv_spinlocks=${db_cv_spinlocks=no}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
+compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=no}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mono
+cv_mono_sizeof_sunpath=108
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# xffm
+jm_cv_func_working_readdir=yes
+
+# dpkg
+dpkg_cv_va_copy=${ac_cv_va_copy=no}
+dpkg_cv___va_copy=${ac_cv___va_copy=yes}
+
+# enca
+yeti_cv_func_scanf_modif_size_t=yes
diff --git a/meta/site/arm-linux-gnueabi b/meta/site/arm-linux-gnueabi
new file mode 100644
index 0000000000..ce15c881e8
--- /dev/null
+++ b/meta/site/arm-linux-gnueabi
@@ -0,0 +1,307 @@
+ac_cv_func_getpgrp_void=yes
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_wchar_t=${ac_cv_sizeof_wchar_t=1}
+ac_cv_sizeof_unsigned_char=${ac_cv_sizeof_unsigned_char=1}
+ac_cv_sizeof_bool=${ac_cv_sizeof_bool=1}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_int_p=4}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_int_p=${ac_cv_sizeof_int_p=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t=4}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
+ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+ac_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2}
+ac_cv_sizeof_unsigned=${ac_cv_sizeof_unsigned=4}
+ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4}
+ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4}
+ac_cv_sizeof_unsigned_long_long=${ac_cv_sizeof_unsigned_long_long=8}
+ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+
+# apache
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# coreutils
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# nano
+ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+
+# libnet
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# socat
+ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
+sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}
+
+# links
+ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
+samba_cv_HAVE_IFACE_IFREQ=${samba_cv_HAVE_IFACE_IFREQ=yes}
+samba_cv_USE_SETEUID=${samba_cv_USE_SETEUID=yes}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_USE_SETREUID=${samba_cv_USE_SETREUID=yes}
+samba_cv_USE_SETUIDX=${samba_cv_USE_SETUIDX=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=yes}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
+
+
+# sleepycat db
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# glib
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# libesmtp
+acx_working_snprintf=${acx_working_snprintf=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# glib 2.0
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
+
+glib_cv_strlcpy=${glib_cv_strlcpy=no}
+
+# httppc
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+
+# jikes
+ac_cv_sizeof_wchar_t=4
+
+# lftp
+ac_cv_file___dev_ptc_=yes
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# edb
+db_cv_spinlocks=${db_cv_spinlocks=no}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
+compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=no}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mono
+cv_mono_sizeof_sunpath=108
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# xffm
+jm_cv_func_working_readdir=yes
+
+# dpkg
+dpkg_cv_va_copy=${ac_cv_va_copy=no}
+dpkg_cv___va_copy=${ac_cv___va_copy=yes}
+
+# enca
+yeti_cv_func_scanf_modif_size_t=yes
+
diff --git a/meta/site/arm-linux-uclibc b/meta/site/arm-linux-uclibc
new file mode 100644
index 0000000000..76a93f0f67
--- /dev/null
+++ b/meta/site/arm-linux-uclibc
@@ -0,0 +1,348 @@
+ac_cv_func_getpgrp_void=yes
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+
+# apache
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# coreutils
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# nano
+ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+
+# libnet
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# socat
+ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
+sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}
+
+# links
+ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}
+
+# samba
+samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=${samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=yes}
+samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=${samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=no}
+samba_cv_FTRUNCATE_NEEDS_ROOT=${samba_cv_FTRUNCATE_NEEDS_ROOT=no}
+samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no}
+samba_cv_HAVE_BROKEN_GETGROUPS=${samba_cv_HAVE_BROKEN_GETGROUPS=no}
+samba_cv_HAVE_BROKEN_LINUX_SENDFILE=${samba_cv_HAVE_BROKEN_LINUX_SENDFILE=yes}
+samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=no}
+samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes}
+samba_cv_HAVE_DEV64_T=${samba_cv_HAVE_DEV64_T=no}
+samba_cv_HAVE_DEVICE_MAJOR_FN=${samba_cv_HAVE_DEVICE_MAJOR_FN=yes}
+samba_cv_HAVE_DEVICE_MINOR_FN=${samba_cv_HAVE_DEVICE_MINOR_FN=yes}
+samba_cv_HAVE_DQB_FSOFTLIMIT=${samba_cv_HAVE_DQB_FSOFTLIMIT=no}
+samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=${samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes}
+samba_cv_HAVE_FCNTL_LOCK=${samba_cv_HAVE_FCNTL_LOCK=yes}
+samba_cv_HAVE_FTRUNCATE_EXTEND=${samba_cv_HAVE_FTRUNCATE_EXTEND=yes}
+samba_cv_HAVE_FUNCTION_MACRO=${samba_cv_HAVE_FUNCTION_MACRO=yes}
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_IFACE_AIX=${samba_cv_HAVE_IFACE_AIX=no}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
+samba_cv_HAVE_INO64_T=${samba_cv_HAVE_INO64_T=no}
+samba_cv_HAVE_INT16_FROM_RPC_RPC_H=${samba_cv_HAVE_INT16_FROM_RPC_RPC_H=no}
+samba_cv_HAVE_INT32_FROM_RPC_RPC_H=${samba_cv_HAVE_INT32_FROM_RPC_RPC_H=no}
+samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=${samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=no}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=${samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=no}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_NATIVE_ICONV=${samba_cv_HAVE_NATIVE_ICONV=yes}
+samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=no}
+samba_cv_HAVE_QUOTACTL_4A=${samba_cv_HAVE_QUOTACTL_4A=yes}
+samba_cv_HAVE_ROOT=${samba_cv_HAVE_ROOT=no}
+samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=${samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=no}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=no}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=no}
+samba_cv_HAVE_SOCK_SIN_LEN=${samba_cv_HAVE_SOCK_SIN_LEN=no}
+samba_cv_HAVE_STAT_ST_BLKSIZE=${samba_cv_HAVE_STAT_ST_BLKSIZE=yes}
+samba_cv_HAVE_STAT_ST_BLOCKS=${samba_cv_HAVE_STAT_ST_BLOCKS=yes}
+samba_cv_HAVE_STRUCT_DIRENT64=${samba_cv_HAVE_STRUCT_DIRENT64=no}
+samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes}
+samba_cv_HAVE_STRUCT_IF_DQBLK=${samba_cv_HAVE_STRUCT_IF_DQBLK=no}
+samba_cv_HAVE_STRUCT_MEM_DQBLK=${samba_cv_HAVE_STRUCT_MEM_DQBLK=no}
+samba_cv_HAVE_TRUNCATED_SALT=${samba_cv_HAVE_TRUNCATED_SALT=no}
+samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=${samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=no}
+samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=${samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=no}
+samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=yes}
+samba_cv_HAVE_UTIMBUF=${samba_cv_HAVE_UTIMBUF=yes}
+samba_cv_HAVE_UT_UT_ADDR=${samba_cv_HAVE_UT_UT_ADDR=yes}
+samba_cv_HAVE_UT_UT_EXIT=${samba_cv_HAVE_UT_UT_EXIT=yes}
+samba_cv_HAVE_UT_UT_HOST=${samba_cv_HAVE_UT_UT_HOST=yes}
+samba_cv_HAVE_UT_UT_ID=${samba_cv_HAVE_UT_UT_ID=yes}
+samba_cv_HAVE_UT_UT_NAME=${samba_cv_HAVE_UT_UT_NAME=yes}
+samba_cv_HAVE_UT_UT_PID=${samba_cv_HAVE_UT_UT_PID=yes}
+samba_cv_HAVE_UT_UT_TIME=${samba_cv_HAVE_UT_UT_TIME=yes}
+samba_cv_HAVE_UT_UT_TV=${samba_cv_HAVE_UT_UT_TV=yes}
+samba_cv_HAVE_UT_UT_TYPE=${samba_cv_HAVE_UT_UT_TYPE=yes}
+samba_cv_HAVE_UT_UT_USER=${samba_cv_HAVE_UT_UT_USER=yes}
+samba_cv_HAVE_UX_UT_SYSLEN=${samba_cv_HAVE_UX_UT_SYSLEN=no}
+samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes}
+samba_cv_HAVE_WORKING_AF_LOCAL=${samba_cv_HAVE_WORKING_AF_LOCAL=no}
+samba_cv_HAVE_Werror=${samba_cv_HAVE_Werror=yes}
+samba_cv_PUTUTLINE_RETURNS_UTMP=${samba_cv_PUTUTLINE_RETURNS_UTMP=yes}
+samba_cv_QUOTA_WORKS=${samba_cv_QUOTA_WORKS=yes}
+samba_cv_REPLACE_GETPASS=${samba_cv_REPLACE_GETPASS=yes}
+samba_cv_REPLACE_INET_NTOA=${samba_cv_REPLACE_INET_NTOA=no}
+samba_cv_RUN_QUOTA_TESTS=${samba_cv_RUN_QUOTA_TESTS=auto}
+samba_cv_SEEKDIR_RETURNS_VOID=${samba_cv_SEEKDIR_RETURNS_VOID=yes}
+samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes}
+samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes}
+samba_cv_SYSCONF_SC_NGROUPS_MAX=${samba_cv_SYSCONF_SC_NGROUPS_MAX=yes}
+samba_cv_SYSQUOTA_FOUND=${samba_cv_SYSQUOTA_FOUND=yes}
+samba_cv_SYSQUOTA_WORKS=${samba_cv_SYSQUOTA_WORKS=yes}
+samba_cv_TRY_QUOTAS=${samba_cv_TRY_QUOTAS=no}
+samba_cv_TRY_SYS_QUOTAS=${samba_cv_TRY_SYS_QUOTAS=no}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_WITH_QUOTAS=${samba_cv_WITH_QUOTAS=auto}
+samba_cv_WITH_SYS_QUOTAS=${samba_cv_WITH_SYS_QUOTAS=auto}
+samba_cv_compiler_supports_ll=${samba_cv_compiler_supports_ll=yes}
+samba_cv_have_longlong=${samba_cv_have_longlong=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_immediate_structures=${samba_cv_immediate_structures=yes}
+samba_cv_optimize_out_funcation_calls=${samba_cv_optimize_out_funcation_calls=yes}
+samba_cv_sig_atomic_t=${samba_cv_sig_atomic_t=yes}
+samba_cv_socklen_t=${samba_cv_socklen_t=yes}
+samba_cv_unixsocket=${samba_cv_unixsocket=yes}
+samba_cv_volatile=${samba_cv_volatile=yes}
+
+# sleepycat db
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# glib
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# libesmtp
+acx_working_snprintf=${acx_working_snprintf=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# glib 2.0
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
+
+glib_cv_strlcpy=${glib_cv_strlcpy=no}
+
+# httppc
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+
+# lftp
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# edb
+db_cv_spinlocks=${db_cv_spinlocks=no}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
+compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=no}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# xffm
+jm_cv_func_working_readdir=yes
+
diff --git a/meta/site/armeb-linux b/meta/site/armeb-linux
new file mode 100644
index 0000000000..452e3abbf7
--- /dev/null
+++ b/meta/site/armeb-linux
@@ -0,0 +1,282 @@
+ac_cv_func_getpgrp_void=yes
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+
+# apache
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# coreutils
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# nano
+ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+
+# libnet
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=big}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# socat
+ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
+sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}
+
+# links
+ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
+samba_cv_HAVE_IFACE_IFREQ=${samba_cv_HAVE_IFACE_IFREQ=yes}
+samba_cv_USE_SETEUID=${samba_cv_USE_SETEUID=yes}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_USE_SETREUID=${samba_cv_USE_SETREUID=yes}
+samba_cv_USE_SETUIDX=${samba_cv_USE_SETUIDX=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=yes}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
+samba_cv_STAT_STATVFS64=${samba_cv_STAT_STATVFS64=yes}
+samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes}
+samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes}
+samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes}
+
+
+# sleepycat db
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# glib
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# libesmtp
+acx_working_snprintf=${acx_working_snprintf=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# glib 2.0
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
+
+glib_cv_strlcpy=${glib_cv_strlcpy=no}
+
+# httppc
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+
+# lftp
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# edb
+db_cv_spinlocks=${db_cv_spinlocks=no}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
+compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=no}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# xffm
+jm_cv_func_working_readdir=yes
+
diff --git a/meta/site/armeb-linux-uclibc b/meta/site/armeb-linux-uclibc
new file mode 100644
index 0000000000..89a2a3f104
--- /dev/null
+++ b/meta/site/armeb-linux-uclibc
@@ -0,0 +1,276 @@
+ac_cv_func_getpgrp_void=yes
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+
+# apache
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# coreutils
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# nano
+ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+
+# libnet
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=big}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# socat
+ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
+sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}
+
+# links
+ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
+samba_cv_HAVE_IFACE_IFREQ=${samba_cv_HAVE_IFACE_IFREQ=yes}
+samba_cv_USE_SETEUID=${samba_cv_USE_SETEUID=yes}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_USE_SETREUID=${samba_cv_USE_SETREUID=yes}
+samba_cv_USE_SETUIDX=${samba_cv_USE_SETUIDX=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=yes}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+
+# sleepycat db
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# glib
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# libesmtp
+acx_working_snprintf=${acx_working_snprintf=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# glib 2.0
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
+
+glib_cv_strlcpy=${glib_cv_strlcpy=no}
+
+# httppc
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+
+# lftp
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# edb
+db_cv_spinlocks=${db_cv_spinlocks=no}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
+compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=no}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# xffm
+jm_cv_func_working_readdir=yes
+
diff --git a/meta/site/i386-linux b/meta/site/i386-linux
new file mode 100644
index 0000000000..6acbf933af
--- /dev/null
+++ b/meta/site/i386-linux
@@ -0,0 +1,98 @@
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_sctp=${ac_cv_sctp=no}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=x86/gcc-assembly}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# xffm
+jm_cv_func_working_readdir=yes
diff --git a/meta/site/i386-linux-uclibc b/meta/site/i386-linux-uclibc
new file mode 100644
index 0000000000..83b62fa01c
--- /dev/null
+++ b/meta/site/i386-linux-uclibc
@@ -0,0 +1,65 @@
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_sctp=${ac_cv_sctp=no}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=x86/gcc-assembly}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
diff --git a/meta/site/i486-linux b/meta/site/i486-linux
new file mode 100644
index 0000000000..5ead29bb94
--- /dev/null
+++ b/meta/site/i486-linux
@@ -0,0 +1,131 @@
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_sctp=${ac_cv_sctp=no}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=x86/gcc-assembly}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# jikes-native
+ac_cv_sizeof_wchar_t=4
+-
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=yes}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=yes}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+ac_cv_path_ESD_CONFIG=no
+#ac_cv_path_SDL_CONFIG=no
+lf_cv_sane_realloc=yes
+jm_cv_func_gettimeofday_clobber=no
+samba_cv_HAVE_GETTIMEOFDAY_TZ=yes
+bf_lsbf=1
+
+#ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_type_struct_timespec=${ac_cv_type_struct_timespec=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# guile
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# xffm
+jm_cv_func_working_readdir=yes
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# intercom
+ac_cv_func_fnmatch_works=yes
diff --git a/meta/site/i586-linux b/meta/site/i586-linux
new file mode 100644
index 0000000000..3e0023609b
--- /dev/null
+++ b/meta/site/i586-linux
@@ -0,0 +1,117 @@
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_sctp=${ac_cv_sctp=no}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=x86/gcc-assembly}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# jikes-native
+ac_cv_sizeof_wchar_t=4
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=yes}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=yes}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# xffm
+jm_cv_func_working_readdir=yes
diff --git a/meta/site/i686-linux b/meta/site/i686-linux
new file mode 100644
index 0000000000..f5915e8e3a
--- /dev/null
+++ b/meta/site/i686-linux
@@ -0,0 +1,199 @@
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_sctp=${ac_cv_sctp=no}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=x86/gcc-assembly}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# jikes-native
+ac_cv_sizeof_wchar_t=4
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=yes}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=yes}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mono
+cv_mono_sizeof_sunpath=108
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# libxfce4util
+with_broken_putenv=${with_broken_putenv=no}
+
+# xffm
+jm_cv_func_working_readdir=yes
diff --git a/meta/site/i686-linux-uclibc b/meta/site/i686-linux-uclibc
new file mode 100644
index 0000000000..13289de687
--- /dev/null
+++ b/meta/site/i686-linux-uclibc
@@ -0,0 +1,192 @@
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_sctp=${ac_cv_sctp=no}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=x86/gcc-assembly}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# jikes-native
+ac_cv_sizeof_wchar_t=4
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=yes}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=yes}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mono
+cv_mono_sizeof_sunpath=108
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
diff --git a/meta/site/mipsel-linux b/meta/site/mipsel-linux
new file mode 100644
index 0000000000..fe0ee88c52
--- /dev/null
+++ b/meta/site/mipsel-linux
@@ -0,0 +1,116 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+
+# tslib, others
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# openssh
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no}
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+
+# glib
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=yes}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+
+# startup-notification
+lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ncftp
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
+wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
+wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes}
+
+# rp-pppoe
+rpppoe_cv_pack_bitfields=${rpppoe_cv_pack_bitfields=rev}
+
+# db3
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+
+# rrdtool
+rd_cv_ieee_works=${rd_cv_ieee_works=yes}
+# ac_cv_path_PERL=${ac_cv_path_PERL=no}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# vim
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+#intercom
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
diff --git a/meta/site/mipsel-linux-uclibc b/meta/site/mipsel-linux-uclibc
new file mode 100644
index 0000000000..cdf6fc5cf3
--- /dev/null
+++ b/meta/site/mipsel-linux-uclibc
@@ -0,0 +1,136 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+
+# tslib, others
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# openssh
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no}
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+
+# glib
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=yes}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+
+# startup-notification
+lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ncftp
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
+wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
+wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# samba
+# from samba 3.0.14a on 5/29/2005
+ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes}
+ac_cv_have_asprintf_decl=${ac_cv_have_asprintf_decl=yes}
+ac_cv_have_setresgid_decl=${ac_cv_have_setresgid_decl=yes}
+ac_cv_have_setresuid_decl=${ac_cv_have_setresuid_decl=yes}
+ac_cv_have_vasprintf_decl=${ac_cv_have_vasprintf_decl=yes}
+fu_cv_sys_stat_statvfs64=${fu_cv_sys_stat_statvfs64=yes}
+samba_cv_FTRUNCATE_NEEDS_ROOT=${samba_cv_FTRUNCATE_NEEDS_ROOT=no}
+samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no}
+samba_cv_HAVE_BROKEN_GETGROUPS=${samba_cv_HAVE_BROKEN_GETGROUPS=no}
+samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=no}
+samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes}
+samba_cv_HAVE_DEV64_T=${samba_cv_HAVE_DEV64_T=no}
+samba_cv_HAVE_DEVICE_MAJOR_FN=${samba_cv_HAVE_DEVICE_MAJOR_FN=yes}
+samba_cv_HAVE_DEVICE_MINOR_FN=${samba_cv_HAVE_DEVICE_MINOR_FN=yes}
+samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=${samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes}
+samba_cv_HAVE_FCNTL_LOCK=${samba_cv_HAVE_FCNTL_LOCK=yes}
+samba_cv_HAVE_FTRUNCATE_EXTEND=${samba_cv_HAVE_FTRUNCATE_EXTEND=yes}
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_IFACE_AIX=${samba_cv_HAVE_IFACE_AIX=no}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
+samba_cv_HAVE_INO64_T=${samba_cv_HAVE_INO64_T=no}
+samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=${samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=no}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+samba_cv_HAVE_MAKEDEV=${samba_cv_HAVE_MAKEDEV=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=no}
+samba_cv_HAVE_QUOTACTL_4A=${samba_cv_HAVE_QUOTACTL_4A=yes}
+samba_cv_HAVE_ROOT=${samba_cv_HAVE_ROOT=no}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes}
+samba_cv_HAVE_STRUCT_DIRENT64=${samba_cv_HAVE_STRUCT_DIRENT64=yes}
+samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes}
+samba_cv_HAVE_TRUNCATED_SALT=${samba_cv_HAVE_TRUNCATED_SALT=no}
+samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=no}
+samba_cv_HAVE_WORKING_AF_LOCAL=${samba_cv_HAVE_WORKING_AF_LOCAL=no}
+samba_cv_HAVE_Werror=${samba_cv_HAVE_Werror=yes}
+samba_cv_REALPATH_TAKES_NULL=${samba_cv_REALPATH_TAKES_NULL=no}
+samba_cv_REPLACE_INET_NTOA=${samba_cv_REPLACE_INET_NTOA=no}
+samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes}
+samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes}
+samba_cv_SYSCONF_SC_NGROUPS_MAX=${samba_cv_SYSCONF_SC_NGROUPS_MAX=yes}
+samba_cv_SYSCONF_SC_NPROC_ONLN=${samba_cv_SYSCONF_SC_NPROC_ONLN=no}
+samba_cv_SYSQUOTA_FOUND=${samba_cv_SYSQUOTA_FOUND=yes}
+samba_cv_SYSQUOTA_WORKS=${samba_cv_SYSQUOTA_WORKS=yes}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_have_longlong=${samba_cv_have_longlong=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_sysquotas_file=${samba_cv_sysquotas_file=lib/sysquotas_4A.c}
+# This cached value needs a local patch to pick it up, upstream 3.0.14a
+# doesn't cache it.
+samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
diff --git a/meta/site/powerpc-darwin b/meta/site/powerpc-darwin
new file mode 100644
index 0000000000..085f50b034
--- /dev/null
+++ b/meta/site/powerpc-darwin
@@ -0,0 +1,7 @@
+# pkgconfig-native for OS X buid
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
diff --git a/meta/site/powerpc-linux b/meta/site/powerpc-linux
new file mode 100644
index 0000000000..806c011f64
--- /dev/null
+++ b/meta/site/powerpc-linux
@@ -0,0 +1,236 @@
+ac_cv_func_getpgrp_void=yes
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_type___int64=${ac_cv_type___int64=no}
+ac_cv_type_size_t=${ac_cv_type_size_t=yes}
+ac_cv_type_void_p=${ac_cv_type_void_p=yes}
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+cookie_io_functions_use_off64_t=${cookie_io_functions_use_off64_t=yes}
+
+# libc
+libc_cv_ppc_machine=${libc_cv_ppc_machine=yes}
+
+# apache
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_type_struct_timespec=${ac_cv_type_struct_timespec=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# coreutils
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# nano
+ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+
+# libnet
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=big}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# socat
+ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
+sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}
+
+# links
+ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}
+
+# sleepycat db
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# glib
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# libesmtp
+acx_working_snprintf=${acx_working_snprintf=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# glib 2.0
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
+
+glib_cv_strlcpy=${glib_cv_strlcpy=no}
+
+# httppc
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+
+# lftp
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# edb
+db_cv_spinlocks=${db_cv_spinlocks=no}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
+compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=no}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# openssh
+ac_cv_have_broken_dirname=${ac_cv_have_broken_dirname='yes'}
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent='no'}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf='no'}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug='yes'}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr='no'}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr='yes'}
+
+# vim
+ac_cv_sizeof_int=${ac_cv_sizeof_int='4'}
diff --git a/meta/site/sh3-linux b/meta/site/sh3-linux
new file mode 100644
index 0000000000..8e0b89812d
--- /dev/null
+++ b/meta/site/sh3-linux
@@ -0,0 +1,360 @@
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2}
+ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4}
+ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4}
+ac_cv_sizeof_unsigned_long_long=${ac_cv_sizeof_unsigned_long_long=8}
+ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+
+
+# strace
+ac_cv_host=${ac_cv_host=sh-pc-linux-gnu}
+
+# apache
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# coreutils
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# nano
+ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+
+# libnet
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# socat
+ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
+sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}
+
+# links
+ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}
+
+# samba
+samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=${samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=yes}
+samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=${samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=no}
+samba_cv_FTRUNCATE_NEEDS_ROOT=${samba_cv_FTRUNCATE_NEEDS_ROOT=no}
+samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no}
+samba_cv_HAVE_BROKEN_GETGROUPS=${samba_cv_HAVE_BROKEN_GETGROUPS=no}
+samba_cv_HAVE_BROKEN_LINUX_SENDFILE=${samba_cv_HAVE_BROKEN_LINUX_SENDFILE=yes}
+samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=no}
+samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes}
+samba_cv_HAVE_DEV64_T=${samba_cv_HAVE_DEV64_T=no}
+samba_cv_HAVE_DEVICE_MAJOR_FN=${samba_cv_HAVE_DEVICE_MAJOR_FN=yes}
+samba_cv_HAVE_DEVICE_MINOR_FN=${samba_cv_HAVE_DEVICE_MINOR_FN=yes}
+samba_cv_HAVE_DQB_FSOFTLIMIT=${samba_cv_HAVE_DQB_FSOFTLIMIT=no}
+samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=${samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes}
+samba_cv_HAVE_FCNTL_LOCK=${samba_cv_HAVE_FCNTL_LOCK=yes}
+samba_cv_HAVE_FTRUNCATE_EXTEND=${samba_cv_HAVE_FTRUNCATE_EXTEND=yes}
+samba_cv_HAVE_FUNCTION_MACRO=${samba_cv_HAVE_FUNCTION_MACRO=yes}
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_IFACE_AIX=${samba_cv_HAVE_IFACE_AIX=no}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
+samba_cv_HAVE_INO64_T=${samba_cv_HAVE_INO64_T=no}
+samba_cv_HAVE_INT16_FROM_RPC_RPC_H=${samba_cv_HAVE_INT16_FROM_RPC_RPC_H=no}
+samba_cv_HAVE_INT32_FROM_RPC_RPC_H=${samba_cv_HAVE_INT32_FROM_RPC_RPC_H=no}
+samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=${samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=no}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=${samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=no}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_NATIVE_ICONV=${samba_cv_HAVE_NATIVE_ICONV=yes}
+samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=no}
+samba_cv_HAVE_QUOTACTL_4A=${samba_cv_HAVE_QUOTACTL_4A=yes}
+samba_cv_HAVE_ROOT=${samba_cv_HAVE_ROOT=no}
+samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=${samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=no}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=no}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=no}
+samba_cv_HAVE_SOCK_SIN_LEN=${samba_cv_HAVE_SOCK_SIN_LEN=no}
+samba_cv_HAVE_STAT_ST_BLKSIZE=${samba_cv_HAVE_STAT_ST_BLKSIZE=yes}
+samba_cv_HAVE_STAT_ST_BLOCKS=${samba_cv_HAVE_STAT_ST_BLOCKS=yes}
+samba_cv_HAVE_STRUCT_DIRENT64=${samba_cv_HAVE_STRUCT_DIRENT64=no}
+samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes}
+samba_cv_HAVE_STRUCT_IF_DQBLK=${samba_cv_HAVE_STRUCT_IF_DQBLK=no}
+samba_cv_HAVE_STRUCT_MEM_DQBLK=${samba_cv_HAVE_STRUCT_MEM_DQBLK=no}
+samba_cv_HAVE_TRUNCATED_SALT=${samba_cv_HAVE_TRUNCATED_SALT=no}
+samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=${samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=no}
+samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=${samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=no}
+samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=yes}
+samba_cv_HAVE_UTIMBUF=${samba_cv_HAVE_UTIMBUF=yes}
+samba_cv_HAVE_UT_UT_ADDR=${samba_cv_HAVE_UT_UT_ADDR=yes}
+samba_cv_HAVE_UT_UT_EXIT=${samba_cv_HAVE_UT_UT_EXIT=yes}
+samba_cv_HAVE_UT_UT_HOST=${samba_cv_HAVE_UT_UT_HOST=yes}
+samba_cv_HAVE_UT_UT_ID=${samba_cv_HAVE_UT_UT_ID=yes}
+samba_cv_HAVE_UT_UT_NAME=${samba_cv_HAVE_UT_UT_NAME=yes}
+samba_cv_HAVE_UT_UT_PID=${samba_cv_HAVE_UT_UT_PID=yes}
+samba_cv_HAVE_UT_UT_TIME=${samba_cv_HAVE_UT_UT_TIME=yes}
+samba_cv_HAVE_UT_UT_TV=${samba_cv_HAVE_UT_UT_TV=yes}
+samba_cv_HAVE_UT_UT_TYPE=${samba_cv_HAVE_UT_UT_TYPE=yes}
+samba_cv_HAVE_UT_UT_USER=${samba_cv_HAVE_UT_UT_USER=yes}
+samba_cv_HAVE_UX_UT_SYSLEN=${samba_cv_HAVE_UX_UT_SYSLEN=no}
+samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes}
+samba_cv_HAVE_WORKING_AF_LOCAL=${samba_cv_HAVE_WORKING_AF_LOCAL=no}
+samba_cv_HAVE_Werror=${samba_cv_HAVE_Werror=yes}
+samba_cv_PUTUTLINE_RETURNS_UTMP=${samba_cv_PUTUTLINE_RETURNS_UTMP=yes}
+samba_cv_QUOTA_WORKS=${samba_cv_QUOTA_WORKS=yes}
+samba_cv_REPLACE_GETPASS=${samba_cv_REPLACE_GETPASS=yes}
+samba_cv_REPLACE_INET_NTOA=${samba_cv_REPLACE_INET_NTOA=no}
+samba_cv_RUN_QUOTA_TESTS=${samba_cv_RUN_QUOTA_TESTS=auto}
+samba_cv_SEEKDIR_RETURNS_VOID=${samba_cv_SEEKDIR_RETURNS_VOID=yes}
+samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes}
+samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes}
+samba_cv_SYSCONF_SC_NGROUPS_MAX=${samba_cv_SYSCONF_SC_NGROUPS_MAX=yes}
+samba_cv_SYSQUOTA_FOUND=${samba_cv_SYSQUOTA_FOUND=yes}
+samba_cv_SYSQUOTA_WORKS=${samba_cv_SYSQUOTA_WORKS=yes}
+samba_cv_TRY_QUOTAS=${samba_cv_TRY_QUOTAS=no}
+samba_cv_TRY_SYS_QUOTAS=${samba_cv_TRY_SYS_QUOTAS=no}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_WITH_QUOTAS=${samba_cv_WITH_QUOTAS=auto}
+samba_cv_WITH_SYS_QUOTAS=${samba_cv_WITH_SYS_QUOTAS=auto}
+samba_cv_compiler_supports_ll=${samba_cv_compiler_supports_ll=yes}
+samba_cv_have_longlong=${samba_cv_have_longlong=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_immediate_structures=${samba_cv_immediate_structures=yes}
+samba_cv_optimize_out_funcation_calls=${samba_cv_optimize_out_funcation_calls=yes}
+samba_cv_sig_atomic_t=${samba_cv_sig_atomic_t=yes}
+samba_cv_socklen_t=${samba_cv_socklen_t=yes}
+samba_cv_unixsocket=${samba_cv_unixsocket=yes}
+samba_cv_volatile=${samba_cv_volatile=yes}
+
+# sleepycat db
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# glib
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# libesmtp
+acx_working_snprintf=${acx_working_snprintf=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# glib 2.0
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
+
+glib_cv_strlcpy=${glib_cv_strlcpy=no}
+
+# httppc
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+
+# jikes
+ac_cv_sizeof_wchar_t=4
+
+# lftp
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# edb
+db_cv_spinlocks=${db_cv_spinlocks=no}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
+compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=no}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mono
+cv_mono_sizeof_sunpath=108
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# minicom
+ac_cv_header_getopt_h=${ac_cv_header_getopt_h=xno}
+ac_cv_func_getopt_long=${ac_cv_func_getopt_long=xno}
+am_cv_sys_posix_termios=${ac_cv_sys_posix_termios=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
diff --git a/meta/site/sh4-linux b/meta/site/sh4-linux
new file mode 100644
index 0000000000..1e5fb38479
--- /dev/null
+++ b/meta/site/sh4-linux
@@ -0,0 +1,289 @@
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2}
+ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4}
+ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4}
+ac_cv_sizeof_unsigned_long_long=${ac_cv_sizeof_unsigned_long_long=8}
+ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+
+# apache
+ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}
+apr_cv_process_shared_works=${apr_cv_process_shared_works=no}
+ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t=4}
+
+ac_cv_header_netinet_sctp_h=${ac_cv_header_netinet_sctp_h=no}
+ac_cv_header_netinet_sctp_uio_h=${ac_cv_header_netinet_sctp_uio_h=no}
+ac_cv_sctp=${ac_cv_sctp=no}
+
+# ssh
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_dirent_have_space_d_name=yes}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=yes}
+
+# coreutils
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1019}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# nano
+ac_cv_regexec_segfault_emptystr=${ac_cv_regexec_segfault_emptystr=no}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+
+# libnet
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil}
+
+# screen
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+
+# socat
+ac_cv_ispeed_offset=${ac_cv_ispeed_offset=13}
+sc_cv_termios_ispeed=${sc_cv_termios_ispeed=yes}
+
+# links
+ac_cv_lib_png_png_create_info_struct=${ac_cv_lib_png_png_create_info_struct=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_IFACE_IFCONF=${samba_cv_HAVE_IFACE_IFCONF=yes}
+samba_cv_HAVE_IFACE_IFREQ=${samba_cv_HAVE_IFACE_IFREQ=yes}
+samba_cv_USE_SETEUID=${samba_cv_USE_SETEUID=yes}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_USE_SETREUID=${samba_cv_USE_SETREUID=yes}
+samba_cv_USE_SETUIDX=${samba_cv_USE_SETUIDX=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_HAVE_SENDFILE=${samba_cv_HAVE_SENDFILE=yes}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
+samba_cv_STAT_STATVFS64=${samba_cv_STAT_STATVFS64=yes}
+samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes}
+samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes}
+samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes}
+
+# sleepycat db
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+
+# php
+ac_cv_pread=${ac_cv_pread=no}
+ac_cv_pwrite=${ac_cv_pwrite=no}
+php_cv_lib_cookie_io_functions_use_off64_t=${php_cv_lib_cookie_io_functions_use_off64_t=yes}
+
+# glib
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+
+# ettercap
+ettercap_cv_type_socklen_t=${ettercap_cv_type_socklen_t=yes}
+
+# libesmtp
+acx_working_snprintf=${acx_working_snprintf=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# glib 2.0
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=4}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=4}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
+
+glib_cv_strlcpy=${glib_cv_strlcpy=no}
+
+# httppc
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+
+# jikes
+ac_cv_sizeof_wchar_t=4
+
+# lftp
+ac_cv_need_trio=${ac_cv_need_trio=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=no}
+lftp_cv_va_val_copy=${lftp_cv_va_val_copy=yes}
+lftp_cv___va_copy=${lftp_cv___va_copy=yes}
+
+# edb
+db_cv_spinlocks=${db_cv_spinlocks=no}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+compat_cv_func_basename_works=${compat_cv_func_basename_works=no}
+compat_cv_func_dirname_works=${compat_cv_func_dirname_works=no}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=no}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# startup-notification
+lf_cv_sane_realloc=yes
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ORBit2
+ac_cv_alignof_CORBA_boolean=1
+ac_cv_alignof_CORBA_char=1
+ac_cv_alignof_CORBA_double=4
+ac_cv_alignof_CORBA_float=4
+ac_cv_alignof_CORBA_long=4
+ac_cv_alignof_CORBA_long_double=4
+ac_cv_alignof_CORBA_long_long=4
+ac_cv_alignof_CORBA_octet=1
+ac_cv_alignof_CORBA_pointer=4
+ac_cv_alignof_CORBA_short=2
+ac_cv_alignof_CORBA_struct=4
+ac_cv_alignof_CORBA_wchar=2
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# cvs
+cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=yes}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=missing}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes}
+bash_cv_sys_siglist=${bash_cv_sys_siglist=yes}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes}
+
+# mono
+cv_mono_sizeof_sunpath=108
+
+# mysql
+mysql_cv_func_atomic_sub=${mysql_cv_func_atomic_sub=no}
+mysql_cv_func_atomic_add=${mysql_cv_func_atomic_add=no}
+ac_cv_conv_longlong_to_float=${ac_cv_conv_longlong_to_float=yes}
+
+# minicom
+ac_cv_header_getopt_h=${ac_cv_header_getopt_h=xno}
+ac_cv_func_getopt_long=${ac_cv_func_getopt_long=xno}
+am_cv_sys_posix_termios=${ac_cv_sys_posix_termios=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# fnmatch
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# rsync
+rsync_cv_HAVE_BROKEN_LARGEFILE=${rsync_cv_HAVE_BROKEN_LARGEFILE=no}
+rsync_cv_HAVE_SOCKETPAIR=${rsync_cv_HAVE_SOCKETPAIR=yes}
+rsync_cv_HAVE_LONGLONG=${rsync_cv_HAVE_LONGLONG=yes}
+rsync_cv_HAVE_OFF64_T=${rsync_cv_HAVE_OFF64_T=no}
+rsync_cv_HAVE_SHORT_INO_T=${rsync_cv_HAVE_SHORT_INO_T=no}
+rsync_cv_HAVE_UNSIGNED_CHAR=${rsync_cv_HAVE_UNSIGNED_CHAR=no}
+rsync_cv_HAVE_BROKEN_READDIR=${rsync_cv_HAVE_BROKEN_READDIR=no}
+rsync_cv_HAVE_GETTIMEOFDAY_TZ=${rsync_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+rsync_cv_HAVE_C99_VSNPRINTF=${rsync_cv_HAVE_C99_VSNPRINTF=yes}
+rsync_cv_HAVE_SECURE_MKSTEMP=${rsync_cv_HAVE_SECURE_MKSTEMP=yes}
+rsync_cv_REPLACE_INET_NTOA=${rsync_cv_REPLACE_INET_NTOA=no}
+rsync_cv_REPLACE_INET_ATON=${rsync_cv_REPLACE_INET_ATON=no}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+# ipsec-tools
+ac_cv_va_copy=${ac_cv_va_copy=no}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=yes}
+ac_cv___va_copy=${ac_cv___va_copy=yes}
+racoon_cv_bug_getaddrinfo=${racoon_cv_bug_getaddrinfo=no}
diff --git a/meta/site/sh4-linux-uclibc b/meta/site/sh4-linux-uclibc
new file mode 100644
index 0000000000..a64766fafa
--- /dev/null
+++ b/meta/site/sh4-linux-uclibc
@@ -0,0 +1,19 @@
+ac_cv_func_realloc_works=${ac_cv_func_realloc_works=yes}
+ac_cv_func_realloc_0_nonnull=${ac_cv_func_realloc_0_nonnull=yes}
+ac_cv_func_malloc_works=${ac_cv_func_malloc_works=yes}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# bash (mbstate needed for readline)
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# libnet
+ac_cv_lbl_unaligned_fail=${ac_cv_lbl_unaligned_fail=no}
+ac_libnet_have_packet_socket=${ac_libnet_have_packet_socket=yes}
+ac_cv_c_littleendian=${ac_cv_c_littleendian=yes}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
diff --git a/meta/site/sparc-linux b/meta/site/sparc-linux
new file mode 100644
index 0000000000..669677a0b1
--- /dev/null
+++ b/meta/site/sparc-linux
@@ -0,0 +1,43 @@
+ac_cv_func_getpgrp_void=yes
+ac_cv_func_setpgrp_void=yes
+ac_cv_func_setgrent_void=yes
+ac_cv_func_malloc_0_nonnull=yes
+ac_cv_func_malloc_works=yes
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setvbuf_reversed=no
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=4}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+ac_cv_sizeof_unsigned_short=${ac_cv_sizeof_unsigned_short=2}
+ac_cv_sizeof_unsigned_int=${ac_cv_sizeof_unsigned_int=4}
+ac_cv_sizeof_unsigned_long=${ac_cv_sizeof_unsigned_long=4}
+ac_cv_sizeof_unsigned_long_long=${ac_cv_sizeof_unsigned_long_long=8}
+ac_cv_sizeof_signed_char=${ac_cv_sizeof_signed_char=1}
+
+ac_cv_sys_restartable_syscalls=yes
+ac_cv_uchar=${ac_cv_uchar=no}
+ac_cv_uint=${ac_cv_uint=yes}
+ac_cv_ulong=${ac_cv_ulong=yes}
+ac_cv_ushort=${ac_cv_ushort=yes}
+
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
+cookie_io_functions_use_off64_t=${cookie_io_functions_use_off64_t=yes}
+
+# minicom
+am_cv_sys_posix_termios=${am_cv_sys_posix_termios=yes}
+
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
diff --git a/meta/site/x86_64-linux b/meta/site/x86_64-linux
new file mode 100644
index 0000000000..ba60564d0d
--- /dev/null
+++ b/meta/site/x86_64-linux
@@ -0,0 +1,80 @@
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_need_trio=${ac_cv_need_trio=no}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=8}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=8}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=8}
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=40}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=8}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=8}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=8}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=yes}
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes}
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
diff --git a/meta/site/x86_64-linux-uclibc b/meta/site/x86_64-linux-uclibc
new file mode 100644
index 0000000000..ba60564d0d
--- /dev/null
+++ b/meta/site/x86_64-linux-uclibc
@@ -0,0 +1,80 @@
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_getpwuid_r=${ac_cv_func_getpwuid_r=yes}
+ac_cv_func_lstat_dereferences_slashed_symlink=${ac_cv_func_lstat_dereferences_slashed_symlink=yes}
+ac_cv_func_lstat_empty_string_bug=${ac_cv_func_lstat_empty_string_bug=no}
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_stat_empty_string_bug=${ac_cv_func_stat_empty_string_bug=no}
+ac_cv_func_stat_ignores_trailing_slash=${ac_cv_func_stat_ignores_trailing_slash=no}
+ac_cv_libnet_endianess=${ac_cv_libnet_endianess=lil}
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_need_trio=${ac_cv_need_trio=no}
+ac_cv_sizeof_char=${ac_cv_sizeof_char=1}
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+ac_cv_sizeof___int64=${ac_cv_sizeof___int64=0}
+ac_cv_sizeof_long=${ac_cv_sizeof_long=8}
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
+ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8}
+ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
+ac_cv_sizeof_short=${ac_cv_sizeof_short=2}
+ac_cv_sizeof_short_int=${ac_cv_sizeof_short_int=2}
+ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t=8}
+ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=8}
+ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long long'}
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=yes}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=40}
+glib_cv_sizeof_intmax_t=${glib_cv_sizeof_intmax_t=8}
+glib_cv_sizeof_ptrdiff_t=${glib_cv_sizeof_ptrdiff_t=8}
+glib_cv_sizeof_size_t=${glib_cv_sizeof_size_t=8}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=8}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_sys_pthread_cond_timedwait_posix=${glib_cv_sys_pthread_cond_timedwait_posix=yes}
+glib_cv_sys_pthread_getspecific_posix=${glib_cv_sys_pthread_getspecific_posix=yes}
+glib_cv_sys_pthread_mutex_trylock_posix=${glib_cv_sys_pthread_mutex_trylock_posix=yes}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=no}
+lftp_cv_va_copy=${lftp_cv_va_copy=yes}
+mr_cv_target_elf=${mr_cv_target_elf=yes}
+nano_cv_func_regexec_segv_emptystr=${nano_cv_func_regexec_segv_emptystr=no}
+samba_cv_HAVE_VA_COPY=${samba_cv_HAVE_VA_COPY=yes}
+screen_cv_sys_bcopy_overlap=${screen_cv_sys_bcopy_overlap=no}
+screen_cv_sys_fifo_broken_impl=${screen_cv_sys_fifo_broken_impl=yes}
+screen_cv_sys_fifo_usable=${screen_cv_sys_fifo_usable=yes}
+screen_cv_sys_memcpy_overlap=${screen_cv_sys_memcpy_overlap=no}
+screen_cv_sys_memmove_overlap=${screen_cv_sys_memmove_overlap=no}
+screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no}
+screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no}
+screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes}
+screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}